diff --git a/.dockerignore b/.dockerignore index 9800ff244..04f90c210 100644 --- a/.dockerignore +++ b/.dockerignore @@ -7,6 +7,10 @@ /assets/facenet /assets/nasnet /assets/nsfw +/assets/efficientnet +/assets/imagenet +/assets/resnet +/assets/vision /storage /build /photoprism @@ -31,6 +35,10 @@ compose.*.yaml *.override.yaml *.tmp.yml *.tmp.yaml +*.tmp +*.img +*.img.xz +*.img.gz # Automatically generated files, e.g. by editors and operating systems .DS_Store diff --git a/.gitignore b/.gitignore index a1f991a92..a4b6675c4 100644 --- a/.gitignore +++ b/.gitignore @@ -18,6 +18,10 @@ *.dll *.so *.dylib +*.tmp +*.img +*.img.xz +*.img.gz /*.zip /coverage.* __pycache__ @@ -40,6 +44,7 @@ venv /frontend/src/locales/*.mo /frontend/tests_output frontend/coverage/ +**/__screenshots__/ /photoprism /photoprism-* /photos/originals/* diff --git a/Dockerfile b/Dockerfile index b87f65a7d..d15cb0e85 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # Ubuntu 25.04 (Plucky Puffin) -FROM photoprism/develop:250507-plucky +FROM photoprism/develop:250709-plucky ## Alternative Environments: # FROM photoprism/develop:armv7 # ARMv7 (32bit) @@ -20,3 +20,5 @@ WORKDIR "/go/src/github.com/photoprism/photoprism" # Copy source to image. COPY . . COPY --chown=root:root /scripts/dist/ /scripts/ + +RUN sudo /scripts/install-yt-dlp.sh \ No newline at end of file diff --git a/Makefile b/Makefile index 8217ab664..ee35950e5 100644 --- a/Makefile +++ b/Makefile @@ -74,6 +74,7 @@ test: test-js test-go test-go: reset-sqlite run-test-go test-pkg: reset-sqlite run-test-pkg test-api: reset-sqlite run-test-api +test-video: reset-sqlite run-test-video test-entity: reset-sqlite run-test-entity test-commands: reset-sqlite run-test-commands test-photoprism: reset-sqlite run-test-photoprism @@ -239,12 +240,15 @@ dep-npm: sudo npm install -g npm dep-js: (cd frontend && npm ci --no-update-notifier --no-audit) + # TODO: If in the future we want to test in a real browser environment, add this (Playwright) + # (cd frontend && npx playwright install chromium) dep-go: go build -v ./... dep-upgrade: go get -u -t ./... -dep-upgrade-js: - (cd frontend && npm update --legacy-peer-deps) +frontend-update: + make -C frontend update +dep-upgrade-js: frontend-update dep-tensorflow: scripts/download-facenet.sh scripts/download-nasnet.sh @@ -320,6 +324,9 @@ docker-tensorflow-arm64: terminal-tensorflow-arm64: mkdir -p ./build docker run --rm --pull missing -ti --platform=arm64 -v "./build:/build" -e BUILD_ARCH=arm64 -e SYSTEM_ARCH=arm64 photoprism/tensorflow:arm64 bash +build-setup: build-setup-nas-raspberry-pi +build-setup-nas-raspberry-pi: + ./scripts/setup/nas/raspberry-pi/build.sh watch-js: (cd frontend && env BUILD_ENV=development NODE_ENV=production npm run watch) test-js: @@ -343,6 +350,21 @@ acceptance-auth-short: acceptance-auth-firefox: $(info Running JS acceptance-auth tests in Firefox...) (cd frontend && npm run testcafe -- firefox:headless --test-grep "^(Common|Core)\:*" --test-meta mode=auth --config-file ./testcaferc.json --disable-native-automation "tests/acceptance") +vitest: + $(info Running Vitest unit tests...) + (cd frontend && npm run vitest) +vitest-watch: + $(info Running Vitest unit tests in watch mode...) + (cd frontend && npm run vitest-watch) +vitest-coverage: + $(info Running Vitest unit tests with coverage...) + (cd frontend && npm run vitest-coverage) +vitest-component: + $(info Running Vitest component tests...) + (cd frontend && npm run vitest-component) +vitest-ui: + $(info Opening Vitest UI...) + (cd frontend && npm run vitest-ui) reset-mariadb: $(info Resetting photoprism database...) mysql < scripts/sql/reset-photoprism.sql @@ -376,6 +398,9 @@ run-test-pkg: run-test-api: $(info Running all API tests...) $(GOTEST) -parallel 2 -count 1 -cpu 2 -tags="slow,develop" -timeout 20m ./internal/api/... +run-test-video: + $(info Running all video tests...) + $(GOTEST) -parallel 2 -count 1 -cpu 2 -tags="slow,develop" -timeout 20m ./internal/ffmpeg/... ./internal/photoprism/dl/... ./pkg/media/... run-test-entity: $(info Running all Entity tests...) $(GOTEST) -parallel 2 -count 1 -cpu 2 -tags="slow,develop" -timeout 20m ./internal/entity/... diff --git a/NOTICE b/NOTICE index aa156c0b0..ef5ac96d7 100644 --- a/NOTICE +++ b/NOTICE @@ -9,7 +9,7 @@ The following 3rd-party software packages may be used by or distributed with PhotoPrism. Any information relevant to third-party vendors listed below are collected using common, reasonable means. -Date generated: 2025-05-06 +Date generated: 2025-07-16 ================================================================================ @@ -408,8 +408,8 @@ SOFTWARE. -------------------------------------------------------------------------------- Package: github.com/cpuguy83/go-md2man/v2/md2man -Version: v2.0.6 -License: MIT (https://github.com/cpuguy83/go-md2man/blob/v2.0.6/LICENSE.md) +Version: v2.0.7 +License: MIT (https://github.com/cpuguy83/go-md2man/blob/v2.0.7/LICENSE.md) The MIT License (MIT) @@ -541,7 +541,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI Package: github.com/dsoprea/go-heic-exif-extractor/v2 Version: v2.0.0-20210512044107-62067e44c235 -License: MIT (https://github.com/dsoprea/go-heic-exif-extractor/blob/62067e44c235/LICENSE) +License: MIT (https://github.com/dsoprea/go-heic-exif-extractor/blob/62067e44c235/v2/LICENSE) MIT LICENSE @@ -585,7 +585,7 @@ SOFTWARE. Package: github.com/dsoprea/go-jpeg-image-structure/v2 Version: v2.0.0-20221012074422-4f3f7e934102 -License: MIT (https://github.com/dsoprea/go-jpeg-image-structure/blob/4f3f7e934102/LICENSE) +License: MIT (https://github.com/dsoprea/go-jpeg-image-structure/blob/4f3f7e934102/v2/LICENSE) MIT LICENSE @@ -661,7 +661,7 @@ SOFTWARE. Package: github.com/dsoprea/go-png-image-structure/v2 Version: v2.0.0-20210512210324-29b889a6093d -License: MIT (https://github.com/dsoprea/go-png-image-structure/blob/29b889a6093d/LICENSE) +License: MIT (https://github.com/dsoprea/go-png-image-structure/blob/29b889a6093d/v2/LICENSE) MIT LICENSE @@ -677,7 +677,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI Package: github.com/dsoprea/go-tiff-image-structure/v2 Version: v2.0.0-20221003165014-8ecc4f52edca -License: MIT (https://github.com/dsoprea/go-tiff-image-structure/blob/8ecc4f52edca/LICENSE) +License: MIT (https://github.com/dsoprea/go-tiff-image-structure/blob/8ecc4f52edca/v2/LICENSE) MIT License @@ -705,7 +705,7 @@ SOFTWARE. Package: github.com/dsoprea/go-utility/v2 Version: v2.0.0-20221003172846-a3e1774ef349 -License: MIT (https://github.com/dsoprea/go-utility/blob/a3e1774ef349/LICENSE) +License: MIT (https://github.com/dsoprea/go-utility/blob/a3e1774ef349/v2/LICENSE) Copyright 2019 Random Ingenuity InformationWorks @@ -1010,6 +1010,33 @@ SOFTWARE. -------------------------------------------------------------------------------- +Package: github.com/fatih/color +Version: v1.18.0 +License: MIT (https://github.com/fatih/color/blob/v1.18.0/LICENSE.md) + +The MIT License (MIT) + +Copyright (c) 2013 Fatih Arslan + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +-------------------------------------------------------------------------------- + Package: github.com/gabriel-vasile/mimetype Version: v1.4.9 License: MIT (https://github.com/gabriel-vasile/mimetype/blob/v1.4.9/LICENSE) @@ -1095,8 +1122,8 @@ THE SOFTWARE. -------------------------------------------------------------------------------- Package: github.com/gin-gonic/gin -Version: v1.10.0 -License: MIT (https://github.com/gin-gonic/gin/blob/v1.10.0/LICENSE) +Version: v1.10.1 +License: MIT (https://github.com/gin-gonic/gin/blob/v1.10.1/LICENSE) The MIT License (MIT) @@ -1123,8 +1150,8 @@ THE SOFTWARE. -------------------------------------------------------------------------------- Package: github.com/go-co-op/gocron/v2 -Version: v2.16.1 -License: MIT (https://github.com/go-co-op/gocron/blob/v2.16.1/LICENSE) +Version: v2.16.2 +License: MIT (https://github.com/go-co-op/gocron/blob/v2.16.2/LICENSE) MIT License @@ -2316,8 +2343,8 @@ SOFTWARE. -------------------------------------------------------------------------------- Package: github.com/golang/geo -Version: v0.0.0-20250505201543-5b58c72585db -License: Apache-2.0 (https://github.com/golang/geo/blob/5b58c72585db/LICENSE) +Version: v0.0.0-20250707181242-c5087ca84cf4 +License: Apache-2.0 (https://github.com/golang/geo/blob/c5087ca84cf4/LICENSE) Apache License @@ -2525,8 +2552,8 @@ License: Apache-2.0 (https://github.com/golang/geo/blob/5b58c72585db/LICENSE) -------------------------------------------------------------------------------- Package: github.com/google/open-location-code/go -Version: v0.0.0-20250415120251-fa6d7f9d4765 -License: Apache-2.0 (https://github.com/google/open-location-code/blob/fa6d7f9d4765/go/LICENSE) +Version: v0.0.0-20250620134813-83986da0156b +License: Apache-2.0 (https://github.com/google/open-location-code/blob/83986da0156b/go/LICENSE) Apache License @@ -3717,8 +3744,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- Package: github.com/klauspost/cpuid/v2 -Version: v2.2.10 -License: MIT (https://github.com/klauspost/cpuid/blob/v2.2.10/LICENSE) +Version: v2.3.0 +License: MIT (https://github.com/klauspost/cpuid/blob/v2.3.0/LICENSE) The MIT License (MIT) @@ -3982,8 +4009,8 @@ SOFTWARE. -------------------------------------------------------------------------------- Package: github.com/leonelquinteros/gotext -Version: v1.7.1 -License: MIT (https://github.com/leonelquinteros/gotext/blob/v1.7.1/LICENSE) +Version: v1.7.2 +License: MIT (https://github.com/leonelquinteros/gotext/blob/v1.7.2/LICENSE) The MIT License (MIT) @@ -4149,6 +4176,34 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- +Package: github.com/mattn/go-colorable +Version: v0.1.14 +License: MIT (https://github.com/mattn/go-colorable/blob/v0.1.14/LICENSE) + +The MIT License (MIT) + +Copyright (c) 2016 Yasuhiro Matsumoto + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +-------------------------------------------------------------------------------- + Package: github.com/mattn/go-isatty Version: v0.0.20 License: MIT (https://github.com/mattn/go-isatty/blob/v0.0.20/LICENSE) @@ -4318,9 +4373,65 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- +Package: github.com/olekukonko/errors +Version: v1.1.0 +License: MIT (https://github.com/olekukonko/errors/blob/v1.1.0/LICENSE) + +MIT License + +Copyright (c) 2025 Oleku Konko + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +-------------------------------------------------------------------------------- + +Package: github.com/olekukonko/ll +Version: v0.0.9 +License: MIT (https://github.com/olekukonko/ll/blob/v0.0.9/LICENSE) + +MIT License + +Copyright (c) 2025 Oleku Konko + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +-------------------------------------------------------------------------------- + Package: github.com/olekukonko/tablewriter -Version: v0.0.5 -License: MIT (https://github.com/olekukonko/tablewriter/blob/v0.0.5/LICENSE.md) +Version: v1.0.8 +License: MIT (https://github.com/olekukonko/tablewriter/blob/v1.0.8/LICENSE.md) Copyright (C) 2014 by Oleku Konko @@ -4461,8 +4572,8 @@ SOFTWARE. -------------------------------------------------------------------------------- Package: github.com/pquerna/otp -Version: v1.4.0 -License: Apache-2.0 (https://github.com/pquerna/otp/blob/v1.4.0/LICENSE) +Version: v1.5.0 +License: Apache-2.0 (https://github.com/pquerna/otp/blob/v1.5.0/LICENSE) Apache License @@ -4878,8 +4989,8 @@ License: Apache-2.0 (https://github.com/prometheus/client_golang/blob/v1.22.0/LI -------------------------------------------------------------------------------- Package: github.com/prometheus/client_model/go -Version: v0.6.1 -License: Apache-2.0 (https://github.com/prometheus/client_model/blob/v0.6.1/LICENSE) +Version: v0.6.2 +License: Apache-2.0 (https://github.com/prometheus/client_model/blob/v0.6.2/LICENSE) Apache License Version 2.0, January 2004 @@ -5086,8 +5197,8 @@ License: Apache-2.0 (https://github.com/prometheus/client_model/blob/v0.6.1/LICE -------------------------------------------------------------------------------- Package: github.com/prometheus/common -Version: v0.63.0 -License: Apache-2.0 (https://github.com/prometheus/common/blob/v0.63.0/LICENSE) +Version: v0.65.0 +License: Apache-2.0 (https://github.com/prometheus/common/blob/v0.65.0/LICENSE) Apache License Version 2.0, January 2004 @@ -5773,8 +5884,8 @@ SOFTWARE. -------------------------------------------------------------------------------- Package: github.com/ugorji/go/codec -Version: v1.2.12 -License: MIT (https://github.com/ugorji/go/blob/codec/v1.2.12/codec/LICENSE) +Version: v1.2.14 +License: MIT (https://github.com/ugorji/go/blob/codec/v1.2.14/codec/LICENSE) The MIT License (MIT) @@ -5831,8 +5942,8 @@ SOFTWARE. -------------------------------------------------------------------------------- Package: github.com/urfave/cli/v2 -Version: v2.27.6 -License: MIT (https://github.com/urfave/cli/blob/v2.27.6/LICENSE) +Version: v2.27.7 +License: MIT (https://github.com/urfave/cli/blob/v2.27.7/LICENSE) MIT License @@ -6302,9 +6413,9 @@ License: Apache-2.0 (https://github.com/zitadel/logging/blob/v0.6.2/LICENSE) -------------------------------------------------------------------------------- -Package: github.com/zitadel/oidc/v3/pkg -Version: v3.38.1 -License: Apache-2.0 (https://github.com/zitadel/oidc/blob/v3.38.1/LICENSE) +Package: github.com/zitadel/oidc/v3 +Version: v3.41.0 +License: Apache-2.0 (https://github.com/zitadel/oidc/blob/v3.41.0/LICENSE) Apache License Version 2.0, January 2004 @@ -7586,8 +7697,8 @@ License: Apache-2.0 (https://github.com/go4org/go4/blob/214862532bf5/LICENSE) -------------------------------------------------------------------------------- Package: golang.org/x/crypto -Version: v0.38.0 -License: BSD-3-Clause (https://cs.opensource.google/go/x/crypto/+/v0.38.0:LICENSE) +Version: v0.40.0 +License: BSD-3-Clause (https://cs.opensource.google/go/x/crypto/+/v0.40.0:LICENSE) Copyright 2009 The Go Authors. @@ -7620,8 +7731,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- Package: golang.org/x/image -Version: v0.27.0 -License: BSD-3-Clause (https://cs.opensource.google/go/x/image/+/v0.27.0:LICENSE) +Version: v0.29.0 +License: BSD-3-Clause (https://cs.opensource.google/go/x/image/+/v0.29.0:LICENSE) Copyright 2009 The Go Authors. @@ -7654,8 +7765,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- Package: golang.org/x/mod/semver -Version: v0.24.0 -License: BSD-3-Clause (https://cs.opensource.google/go/x/mod/+/v0.24.0:LICENSE) +Version: v0.26.0 +License: BSD-3-Clause (https://cs.opensource.google/go/x/mod/+/v0.26.0:LICENSE) Copyright 2009 The Go Authors. @@ -7688,8 +7799,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- Package: golang.org/x/net -Version: v0.40.0 -License: BSD-3-Clause (https://cs.opensource.google/go/x/net/+/v0.40.0:LICENSE) +Version: v0.42.0 +License: BSD-3-Clause (https://cs.opensource.google/go/x/net/+/v0.42.0:LICENSE) Copyright 2009 The Go Authors. @@ -7722,8 +7833,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- Package: golang.org/x/oauth2 -Version: v0.29.0 -License: BSD-3-Clause (https://cs.opensource.google/go/x/oauth2/+/v0.29.0:LICENSE) +Version: v0.30.0 +License: BSD-3-Clause (https://cs.opensource.google/go/x/oauth2/+/v0.30.0:LICENSE) Copyright 2009 The Go Authors. @@ -7756,8 +7867,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- Package: golang.org/x/sync/errgroup -Version: v0.14.0 -License: BSD-3-Clause (https://cs.opensource.google/go/x/sync/+/v0.14.0:LICENSE) +Version: v0.16.0 +License: BSD-3-Clause (https://cs.opensource.google/go/x/sync/+/v0.16.0:LICENSE) Copyright 2009 The Go Authors. @@ -7790,8 +7901,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- Package: golang.org/x/sys -Version: v0.33.0 -License: BSD-3-Clause (https://cs.opensource.google/go/x/sys/+/v0.33.0:LICENSE) +Version: v0.34.0 +License: BSD-3-Clause (https://cs.opensource.google/go/x/sys/+/v0.34.0:LICENSE) Copyright 2009 The Go Authors. @@ -7824,8 +7935,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- Package: golang.org/x/text -Version: v0.25.0 -License: BSD-3-Clause (https://cs.opensource.google/go/x/text/+/v0.25.0:LICENSE) +Version: v0.27.0 +License: BSD-3-Clause (https://cs.opensource.google/go/x/text/+/v0.27.0:LICENSE) Copyright 2009 The Go Authors. @@ -7858,8 +7969,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- Package: golang.org/x/time/rate -Version: v0.11.0 -License: BSD-3-Clause (https://cs.opensource.google/go/x/time/+/v0.11.0:LICENSE) +Version: v0.12.0 +License: BSD-3-Clause (https://cs.opensource.google/go/x/time/+/v0.12.0:LICENSE) Copyright 2009 The Go Authors. @@ -8241,10 +8352,13 @@ Package License Copyright @testing-library/jest-dom MIT Ernesto Garcia (http://gnapse.github.io) @testing-library/react MIT Kent C. Dodds (https://kentcdodds.com) @vitejs/plugin-react MIT Evan You +@vitejs/plugin-vue MIT Evan You +@vitest/browser MIT n/a @vitest/coverage-v8 MIT Anthony Fu @vitest/ui MIT n/a @vue/compiler-sfc MIT Evan You @vue/language-server MIT n/a +@vue/test-utils MIT Lachlan Miller lachlan.miller.1990@outlook.com @vvo/tzdb MIT Vincent Voyer axios MIT Matt Zabriskie axios-mock-adapter MIT Colin Timmermans @@ -8267,7 +8381,6 @@ eslint-plugin-html ISC n/a eslint-plugin-import MIT Ben Mosher eslint-plugin-node MIT Toru Nagashima eslint-plugin-prettier MIT Teddy Katz -eslint-plugin-promise ISC jden eslint-plugin-vue MIT Toru Nagashima (https://github.com/mysticatea) eslint-plugin-vuetify MIT Kael Watts-Deuchar eslint-webpack-plugin MIT Ricardo Gobbo de Souza @@ -8295,6 +8408,7 @@ mocha MIT TJ Holowaychuk photoswipe MIT Dmytro Semenov (https://dimsemenov.com) +playwright Apache-2.0 Microsoft Corporation postcss MIT Andrey Sitnik postcss-import MIT Maxime Thirouin postcss-loader MIT Andrey Sitnik diff --git a/SPONSORS.md b/SPONSORS.md index f9f179f99..eda46469c 100644 --- a/SPONSORS.md +++ b/SPONSORS.md @@ -30,6 +30,8 @@ You are [welcome to contact us](https://www.photoprism.app/contact) for change r **[Andreas Krizek](https://github.com/Cosmic314)** (January 2025) +**[Jason Grim](https://github.com/jgrim)** (June 2025) + ## Gold Sponsors ## [**Simen Eriksen**](https://github.com/dennorske) (GitHub Sponsors, December 2019) diff --git a/assets/.buildignore b/assets/.buildignore index d44e7b0fa..ce0f694df 100644 --- a/assets/.buildignore +++ b/assets/.buildignore @@ -1,4 +1,8 @@ examples +efficientnet +imagenet +resnet +vision README.md docs .* \ No newline at end of file diff --git a/assets/examples/bear.m2ts b/assets/examples/bear.m2ts new file mode 100644 index 000000000..4508dc463 Binary files /dev/null and b/assets/examples/bear.m2ts differ diff --git a/assets/examples/m2ts.mp4 b/assets/examples/m2ts.mp4 new file mode 100644 index 000000000..4508dc463 Binary files /dev/null and b/assets/examples/m2ts.mp4 differ diff --git a/assets/locales/es/default.po b/assets/locales/es/default.po index b8599a5d2..e50dd3b1b 100644 --- a/assets/locales/es/default.po +++ b/assets/locales/es/default.po @@ -294,7 +294,7 @@ msgstr "Importación cancelada" #: messages.go:172 #, c-format msgid "Indexing completed in %d s" -msgstr "Indexación completada em %d" +msgstr "Indexación completada en %d" #: messages.go:173 msgid "Indexing originals..." diff --git a/assets/locales/ja/default.po b/assets/locales/ja/default.po index 18d03cf40..63299b557 100644 --- a/assets/locales/ja/default.po +++ b/assets/locales/ja/default.po @@ -1,8 +1,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" -"Report-Msgid-Bugs-To: ci@photoprism.app\n" -"POT-Creation-Date: 2025-03-11 19:22+0000\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-03-15 12:54+0000\n" "PO-Revision-Date: 2025-05-12 23:50+0000\n" "Last-Translator: Admin \n" "Language-Team: Japanese (http://gnapse.github.io) @testing-library/react MIT Kent C. Dodds (https://kentcdodds.com) @vitejs/plugin-react MIT Evan You +@vitejs/plugin-vue MIT Evan You +@vitest/browser MIT n/a @vitest/coverage-v8 MIT Anthony Fu @vitest/ui MIT n/a @vue/compiler-sfc MIT Evan You @vue/language-server MIT n/a +@vue/test-utils MIT Lachlan Miller lachlan.miller.1990@outlook.com @vvo/tzdb MIT Vincent Voyer axios MIT Matt Zabriskie axios-mock-adapter MIT Colin Timmermans @@ -39,7 +42,6 @@ eslint-plugin-html ISC n/a eslint-plugin-import MIT Ben Mosher eslint-plugin-node MIT Toru Nagashima eslint-plugin-prettier MIT Teddy Katz -eslint-plugin-promise ISC jden eslint-plugin-vue MIT Toru Nagashima (https://github.com/mysticatea) eslint-plugin-vuetify MIT Kael Watts-Deuchar eslint-webpack-plugin MIT Ricardo Gobbo de Souza @@ -67,6 +69,7 @@ mocha MIT TJ Holowaychuk photoswipe MIT Dmytro Semenov (https://dimsemenov.com) +playwright Apache-2.0 Microsoft Corporation postcss MIT Andrey Sitnik postcss-import MIT Maxime Thirouin postcss-loader MIT Andrey Sitnik diff --git a/frontend/karma.conf.js b/frontend/karma.conf.js index 5fdb7cbe6..6138f25cc 100644 --- a/frontend/karma.conf.js +++ b/frontend/karma.conf.js @@ -170,5 +170,5 @@ module.exports = (config) => { }); // Set default timezone. - process.env.TZ = 'UTC'; + process.env.TZ = "UTC"; }; diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 8fc8013ad..ef6f061d2 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -9,57 +9,57 @@ "version": "1", "license": "AGPL-3.0", "dependencies": { - "@babel/cli": "^7.27.1", - "@babel/core": "^7.27.1", - "@babel/plugin-transform-runtime": "^7.27.1", - "@babel/preset-env": "^7.27.1", + "@babel/cli": "^7.28.0", + "@babel/core": "^7.28.0", + "@babel/plugin-transform-runtime": "^7.28.0", + "@babel/preset-env": "^7.28.0", "@babel/register": "^7.27.1", - "@babel/runtime": "^7.27.1", + "@babel/runtime": "^7.27.6", "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "^9.26.0", - "@lcdp/offline-plugin": "^5.1.1", + "@eslint/js": "9.31.0", + "@lcdp/offline-plugin": "^5.1.3", "@mdi/font": "^7.4.47", "@testing-library/jest-dom": "^6.6.3", "@testing-library/react": "^16.3.0", - "@vitejs/plugin-react": "^4.4.1", - "@vitejs/plugin-vue": "^5.2.4", - "@vitest/coverage-v8": "^3.1.3", - "@vitest/ui": "^3.1.3", - "@vue/compiler-sfc": "^3.5.13", - "@vue/language-server": "^2.2.10", + "@vitejs/plugin-react": "^4.6.0", + "@vitejs/plugin-vue": "^6.0.0", + "@vitest/browser": "^3.2.4", + "@vitest/coverage-v8": "^3.2.4", + "@vitest/ui": "^3.2.4", + "@vue/compiler-sfc": "^3.5.17", + "@vue/language-server": "^3.0.1", "@vue/test-utils": "^2.4.6", - "@vvo/tzdb": "^6.161.0", - "axios": "^1.9.0", + "@vvo/tzdb": "^6.178.0", + "axios": "^1.10.0", "axios-mock-adapter": "^2.1.0", "babel-loader": "^10.0.0", "babel-plugin-istanbul": "^7.0.0", - "babel-plugin-polyfill-corejs3": "^0.12.0", - "browserslist": "^4.24.5", - "chai": "^5.2.0", + "babel-plugin-polyfill-corejs3": "^0.13.0", + "browserslist": "^4.25.1", + "chai": "^5.2.1", "cheerio": "1.0.0-rc.12", "chrome-finder": "^1.0.7", - "core-js": "^3.42.0", + "core-js": "^3.44.0", "cross-env": "^7.0.3", "css-loader": "^7.1.2", - "cssnano": "^7.0.7", + "cssnano": "^7.1.0", "easygettext": "^2.17.0", - "eslint": "^9.26.0", - "eslint-config-prettier": "^10.1.3", + "eslint": "^9.31.0", + "eslint-config-prettier": "^10.1.5", "eslint-formatter-pretty": "^6.0.1", - "eslint-plugin-html": "^8.1.2", - "eslint-plugin-import": "^2.31.0", + "eslint-plugin-html": "^8.1.3", + "eslint-plugin-import": "^2.32.0", "eslint-plugin-node": "^11.1.0", - "eslint-plugin-prettier": "^5.4.0", - "eslint-plugin-promise": "^7.2.1", - "eslint-plugin-vue": "^10.1.0", + "eslint-plugin-prettier": "^5.5.1", + "eslint-plugin-vue": "^10.3.0", "eslint-plugin-vuetify": "^2.5.2", - "eslint-webpack-plugin": "^5.0.1", + "eslint-webpack-plugin": "^5.0.2", "eventsource-polyfill": "^0.9.6", "file-loader": "^6.2.0", "file-saver": "^2.0.5", "floating-vue": "^5.2.2", - "globals": "^16.0.1", - "hls.js": "^1.6.2", + "globals": "^16.3.0", + "hls.js": "^1.6.7", "i": "^0.3.7", "jsdom": "^26.1.0", "karma": "^6.4.4", @@ -69,29 +69,30 @@ "karma-mocha": "^2.0.1", "karma-verbose-reporter": "^0.0.8", "karma-webpack": "^5.0.1", - "luxon": "^3.6.1", - "maplibre-gl": "^5.5.0", + "luxon": "^3.7.1", + "maplibre-gl": "^5.6.1", "memoize-one": "^6.0.0", "mini-css-extract-plugin": "^2.9.2", - "minimist": ">=1.2.8", - "mocha": "^11.2.2", + "minimist": "^1.2.8", + "mocha": "^11.7.1", "node-storage-shim": "^2.0.1", "passive-events-support": "^1.1.0", "photoswipe": "^5.4.4", - "postcss": "^8.5.3", - "postcss-import": "^16.1.0", + "playwright": "^1.54.1", + "postcss": "^8.5.6", + "postcss-import": "^16.1.1", "postcss-loader": "^8.1.1", - "postcss-preset-env": "^10.1.6", + "postcss-preset-env": "^10.2.4", "postcss-reporter": "^7.1.0", "postcss-url": "^10.1.3", - "prettier": "^3.5.3", + "prettier": "^3.6.2", "pubsub-js": "^1.9.5", "regenerator-runtime": "^0.14.1", "resolve-url-loader": "^5.0.0", - "sanitize-html": "^2.16.0", - "sass": "^1.87.0", + "sanitize-html": "^2.17.0", + "sass": "^1.89.2", "sass-loader": "^16.0.5", - "server": "^1.0.41", + "server": "^1.0.42", "sockette": "^2.0.6", "style-loader": "^4.0.0", "svg-url-loader": "^8.0.0", @@ -99,8 +100,8 @@ "url-loader": "^4.1.1", "util": "^0.12.5", "vite-tsconfig-paths": "^5.1.4", - "vitest": "^3.1.3", - "vue": "^3.5.13", + "vitest": "^3.2.4", + "vue": "^3.5.17", "vue-3-sanitize": "^0.1.4", "vue-loader": "^17.4.2", "vue-loader-plugin": "^1.3.0", @@ -109,8 +110,8 @@ "vue-sanitize-directive": "^0.2.1", "vue-style-loader": "^4.1.3", "vue3-gettext": "^2.4.0", - "vuetify": "^3.8.4", - "webpack": "^5.99.8", + "vuetify": "^3.9.0", + "webpack": "^5.100.2", "webpack-bundle-analyzer": "^4.10.2", "webpack-cli": "^6.0.1", "webpack-hot-middleware": "^2.26.1", @@ -126,9 +127,9 @@ } }, "node_modules/@adobe/css-tools": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.2.tgz", - "integrity": "sha512-baYZExFpsdkBNuvGKTKWCwKH57HRZLVtycZS05WTQNVOiXVSeAki3nU35zlRbToeMW8aHlJfyS+1C4BOv27q0A==", + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.3.tgz", + "integrity": "sha512-VQKMkwriZbaOgVCby1UDY/LDk5fIjhQicCvVPFqfe+69fWaPWydbWJ3wRt59/YzIwda1I81loas3oCoHxnqvdA==", "license": "MIT" }, "node_modules/@ampproject/remapping": { @@ -145,9 +146,9 @@ } }, "node_modules/@asamuzakjp/css-color": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-3.1.7.tgz", - "integrity": "sha512-Ok5fYhtwdyJQmU1PpEv6Si7Y+A4cYb8yNM9oiIJC9TzXPMuN9fvdonKJqcnz9TbFqV6bQ8z0giRq0iaOpGZV2g==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-3.2.0.tgz", + "integrity": "sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw==", "license": "MIT", "dependencies": { "@csstools/css-calc": "^2.1.3", @@ -164,12 +165,12 @@ "license": "ISC" }, "node_modules/@babel/cli": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.27.2.tgz", - "integrity": "sha512-cfd7DnGlhH6OIyuPSSj3vcfIdnbXukhAyKY8NaZrFadC7pXyL9mOL5WgjcptiEJLi5k3j8aYvLIVCzezrWTaiA==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.28.0.tgz", + "integrity": "sha512-CYrZG7FagtE8ReKDBfItxnrEBf2khq2eTMnPuqO8UVN0wzhp1eMX1wfda8b1a32l2aqYLwRRIOGNovm8FVzmMw==", "license": "MIT", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.25", + "@jridgewell/trace-mapping": "^0.3.28", "commander": "^6.2.0", "convert-source-map": "^2.0.0", "fs-readdir-recursive": "^1.1.0", @@ -207,30 +208,30 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.27.2.tgz", - "integrity": "sha512-TUtMJYRPyUb/9aU8f3K0mjmjf6M9N5Woshn2CS6nqJSeJtTtQcpLUXjGt9vbF8ZGff0El99sWkLgzwW3VXnxZQ==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.0.tgz", + "integrity": "sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==", "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.27.1.tgz", - "integrity": "sha512-IaaGWsQqfsQWVLqMn9OB92MNN7zukfVA4s7KKAI0KfrrDsZ0yhi5uV4baBuLuN7n3vsZpwP8asPPcVwApxvjBQ==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.0.tgz", + "integrity": "sha512-UlLAnTPrFdNGoFtbSXwcGFQBtQZJCNjaN6hQNP3UPvuNXT1i82N26KL3dZeIpNalWywr9IuQuncaAfUaS1g6sQ==", "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.27.1", - "@babel/helper-compilation-targets": "^7.27.1", - "@babel/helper-module-transforms": "^7.27.1", - "@babel/helpers": "^7.27.1", - "@babel/parser": "^7.27.1", - "@babel/template": "^7.27.1", - "@babel/traverse": "^7.27.1", - "@babel/types": "^7.27.1", + "@babel/generator": "^7.28.0", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-module-transforms": "^7.27.3", + "@babel/helpers": "^7.27.6", + "@babel/parser": "^7.28.0", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.0", + "@babel/types": "^7.28.0", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -246,15 +247,15 @@ } }, "node_modules/@babel/generator": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.27.1.tgz", - "integrity": "sha512-UnJfnIpc/+JO0/+KRVQNGU+y5taA5vCbwN8+azkX6beii/ZF+enZJSOKo11ZSzGJjlNfJHfQtmQT8H+9TXPG2w==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.0.tgz", + "integrity": "sha512-lJjzvrbEeWrhB4P3QBsH7tey117PjLZnDbLiQEKjQ/fNJTjuq4HSqgFA+UNSwZT8D7dxxbnuSBMsa1lrWzKlQg==", "license": "MIT", "dependencies": { - "@babel/parser": "^7.27.1", - "@babel/types": "^7.27.1", - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25", + "@babel/parser": "^7.28.0", + "@babel/types": "^7.28.0", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" }, "engines": { @@ -262,12 +263,12 @@ } }, "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.1.tgz", - "integrity": "sha512-WnuuDILl9oOBbKnb4L+DyODx7iC47XfzmNCpTttFsSp6hTG7XZxu60+4IO+2/hPfcGOoKbFiwoI/+zwARbNQow==", + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", + "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", "license": "MIT", "dependencies": { - "@babel/types": "^7.27.1" + "@babel/types": "^7.27.3" }, "engines": { "node": ">=6.9.0" @@ -328,21 +329,30 @@ } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.4.tgz", - "integrity": "sha512-jljfR1rGnXXNWnmQg2K3+bvhkxB51Rl32QRaOTuwwjviGrHzIbSc8+x9CpraDtbT7mfyjXObULP4w/adunNwAw==", + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.5.tgz", + "integrity": "sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==", "license": "MIT", "dependencies": { - "@babel/helper-compilation-targets": "^7.22.6", - "@babel/helper-plugin-utils": "^7.22.5", - "debug": "^4.1.1", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-plugin-utils": "^7.27.1", + "debug": "^4.4.1", "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2" + "resolve": "^1.22.10" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-member-expression-to-functions": { "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.27.1.tgz", @@ -370,14 +380,14 @@ } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.27.1.tgz", - "integrity": "sha512-9yHn519/8KvTU5BjTVEEeIM3w9/2yXNKoD82JifINImhpKkARMJKPP59kLo+BafpdN5zgNeIcS4jsGDmd3l58g==", + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.27.3.tgz", + "integrity": "sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==", "license": "MIT", "dependencies": { "@babel/helper-module-imports": "^7.27.1", "@babel/helper-validator-identifier": "^7.27.1", - "@babel/traverse": "^7.27.1" + "@babel/traverse": "^7.27.3" }, "engines": { "node": ">=6.9.0" @@ -496,25 +506,25 @@ } }, "node_modules/@babel/helpers": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.1.tgz", - "integrity": "sha512-FCvFTm0sWV8Fxhpp2McP5/W53GPllQ9QeQ7SiqGWjMf/LVG07lFa5+pgK05IRhVwtvafT22KF+ZSnM9I545CvQ==", + "version": "7.27.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.6.tgz", + "integrity": "sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug==", "license": "MIT", "dependencies": { - "@babel/template": "^7.27.1", - "@babel/types": "^7.27.1" + "@babel/template": "^7.27.2", + "@babel/types": "^7.27.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.2.tgz", - "integrity": "sha512-QYLs8299NA7WM/bZAdp+CviYYkVoYXlDW2rzliy3chxd1PQjej7JORuMJDJXJUb9g0TT+B99EwaVLKmX+sPXWw==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.0.tgz", + "integrity": "sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g==", "license": "MIT", "dependencies": { - "@babel/types": "^7.27.1" + "@babel/types": "^7.28.0" }, "bin": { "parser": "bin/babel-parser.js" @@ -676,14 +686,14 @@ } }, "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.27.1.tgz", - "integrity": "sha512-eST9RrwlpaoJBDHShc+DS2SG4ATTi2MYNb4OxYkf3n+7eb49LWpnS+HSpVfW4x927qQwgk8A2hGNVaajAEw0EA==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.28.0.tgz", + "integrity": "sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==", "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.27.1", "@babel/helper-remap-async-to-generator": "^7.27.1", - "@babel/traverse": "^7.27.1" + "@babel/traverse": "^7.28.0" }, "engines": { "node": ">=6.9.0" @@ -725,9 +735,9 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.27.1.tgz", - "integrity": "sha512-QEcFlMl9nGTgh1rn2nIeU5bkfb9BAjaQcWbiP4LvKxUot52ABcTkpcyJ7f2Q2U2RuQ84BNLgts3jRme2dTx6Fw==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.0.tgz", + "integrity": "sha512-gKKnwjpdx5sER/wl0WN0efUBFzF/56YZO0RJrSYP4CljXnP31ByY7fol89AzomdlLNzI36AvOTmYHsnZTCkq8Q==", "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" @@ -772,17 +782,17 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.27.1.tgz", - "integrity": "sha512-7iLhfFAubmpeJe/Wo2TVuDrykh/zlWXLzPNdL0Jqn/Xu8R3QQ8h9ff8FQoISZOsw74/HFqFI7NX63HN7QFIHKA==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.0.tgz", + "integrity": "sha512-IjM1IoJNw72AZFlj33Cu8X0q2XK/6AaVC3jQu+cgQ5lThWD5ajnuUAml80dqRmOhmPkTH8uAwnpMu9Rvj0LTRA==", "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.27.1", - "@babel/helper-compilation-targets": "^7.27.1", + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-globals": "^7.28.0", "@babel/helper-plugin-utils": "^7.27.1", "@babel/helper-replace-supers": "^7.27.1", - "@babel/traverse": "^7.27.1", - "globals": "^11.1.0" + "@babel/traverse": "^7.28.0" }, "engines": { "node": ">=6.9.0" @@ -791,15 +801,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-classes/node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/@babel/plugin-transform-computed-properties": { "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz", @@ -817,12 +818,13 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.27.1.tgz", - "integrity": "sha512-ttDCqhfvpE9emVkXbPD8vyxxh4TWYACVybGkDj+oReOGwnp066ITEivDlLwe0b1R0+evJ13IXQuLNB5w1fhC5Q==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.0.tgz", + "integrity": "sha512-v1nrSMBiKcodhsyJ4Gf+Z0U/yawmJDBOTpEB3mcQY52r9RIyPneGyAS/yM6seP/8I+mWI3elOMtT5dB8GJVs+A==", "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.28.0" }, "engines": { "node": ">=6.9.0" @@ -893,6 +895,22 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-transform-explicit-resource-management": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.28.0.tgz", + "integrity": "sha512-K8nhUcn3f6iB+P3gwCv/no7OdzOZQcKchW6N389V6PD8NUWKZHzndOd9sPDVbMoBsbmjMqlB4L9fm+fEFNVlwQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-transform-destructuring": "^7.28.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-transform-exponentiation-operator": { "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.27.1.tgz", @@ -1144,15 +1162,16 @@ } }, "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.27.2.tgz", - "integrity": "sha512-AIUHD7xJ1mCrj3uPozvtngY3s0xpv7Nu7DoUSnzNY6Xam1Cy4rUznR//pvMHOhQ4AvbCexhbqXCtpxGHOGOO6g==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.0.tgz", + "integrity": "sha512-9VNGikXxzu5eCiQjdE4IZn8sb9q7Xsk5EXLDBKUYg1e/Tve8/05+KJEtcxGxAgCY5t/BpKQM+JEL/yT4tvgiUA==", "license": "MIT", "dependencies": { "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-plugin-utils": "^7.27.1", - "@babel/plugin-transform-destructuring": "^7.27.1", - "@babel/plugin-transform-parameters": "^7.27.1" + "@babel/plugin-transform-destructuring": "^7.28.0", + "@babel/plugin-transform-parameters": "^7.27.7", + "@babel/traverse": "^7.28.0" }, "engines": { "node": ">=6.9.0" @@ -1209,9 +1228,9 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.1.tgz", - "integrity": "sha512-018KRk76HWKeZ5l4oTj2zPpSh+NbGdt0st5S6x0pga6HgrjBOJb24mMDHorFopOOd6YHkLgOZ+zaCjZGPO4aKg==", + "version": "7.27.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz", + "integrity": "sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==", "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" @@ -1302,9 +1321,9 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.27.1.tgz", - "integrity": "sha512-B19lbbL7PMrKr52BNPjCqg1IyNUIjTcxKj8uX9zHO+PmWN93s19NDr/f69mIkEp2x9nmDJ08a7lgHaTTzvW7mw==", + "version": "7.28.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.28.1.tgz", + "integrity": "sha512-P0QiV/taaa3kXpLY+sXla5zec4E+4t4Aqc9ggHlfZ7a2cp8/x/Gv08jfwEtn9gnnYIMvHx6aoOZ8XJL8eU71Dg==", "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" @@ -1348,16 +1367,16 @@ } }, "node_modules/@babel/plugin-transform-runtime": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.27.1.tgz", - "integrity": "sha512-TqGF3desVsTcp3WrJGj4HfKokfCXCLcHpt4PJF0D8/iT6LPd9RS82Upw3KPeyr6B22Lfd3DO8MVrmp0oRkUDdw==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.28.0.tgz", + "integrity": "sha512-dGopk9nZrtCs2+nfIem25UuHyt5moSJamArzIoh9/vezUQPmYDOzjaHDCkAzuGJibCIkPup8rMT2+wYB6S73cA==", "license": "MIT", "dependencies": { "@babel/helper-module-imports": "^7.27.1", "@babel/helper-plugin-utils": "^7.27.1", - "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.11.0", - "babel-plugin-polyfill-regenerator": "^0.6.1", + "babel-plugin-polyfill-corejs2": "^0.4.14", + "babel-plugin-polyfill-corejs3": "^0.13.0", + "babel-plugin-polyfill-regenerator": "^0.6.5", "semver": "^6.3.1" }, "engines": { @@ -1367,19 +1386,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-runtime/node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.11.1.tgz", - "integrity": "sha512-yGCqvBT4rwMczo28xkH/noxJ6MZ4nJfkVYdoDaC/utLtWrXxv27HVrzAeSbqR8SxDsp46n0YF47EbHoixy6rXQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.3", - "core-js-compat": "^3.40.0" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, "node_modules/@babel/plugin-transform-shorthand-properties": { "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz", @@ -1520,12 +1526,12 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.27.2.tgz", - "integrity": "sha512-Ma4zSuYSlGNRlCLO+EAzLnCmJK2vdstgv+n7aUP+/IKZrOfWHOJVdSJtuub8RzHTj3ahD37k5OKJWvzf16TQyQ==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.28.0.tgz", + "integrity": "sha512-VmaxeGOwuDqzLl5JUkIRM1X2Qu2uKGxHEQWh+cvvbl7JuJRgKGJSfsEF/bUaxFhJl/XAyxBe7q7qSuTbKFuCyg==", "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.27.2", + "@babel/compat-data": "^7.28.0", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-plugin-utils": "^7.27.1", "@babel/helper-validator-option": "^7.27.1", @@ -1539,19 +1545,20 @@ "@babel/plugin-syntax-import-attributes": "^7.27.1", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", "@babel/plugin-transform-arrow-functions": "^7.27.1", - "@babel/plugin-transform-async-generator-functions": "^7.27.1", + "@babel/plugin-transform-async-generator-functions": "^7.28.0", "@babel/plugin-transform-async-to-generator": "^7.27.1", "@babel/plugin-transform-block-scoped-functions": "^7.27.1", - "@babel/plugin-transform-block-scoping": "^7.27.1", + "@babel/plugin-transform-block-scoping": "^7.28.0", "@babel/plugin-transform-class-properties": "^7.27.1", "@babel/plugin-transform-class-static-block": "^7.27.1", - "@babel/plugin-transform-classes": "^7.27.1", + "@babel/plugin-transform-classes": "^7.28.0", "@babel/plugin-transform-computed-properties": "^7.27.1", - "@babel/plugin-transform-destructuring": "^7.27.1", + "@babel/plugin-transform-destructuring": "^7.28.0", "@babel/plugin-transform-dotall-regex": "^7.27.1", "@babel/plugin-transform-duplicate-keys": "^7.27.1", "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.27.1", "@babel/plugin-transform-dynamic-import": "^7.27.1", + "@babel/plugin-transform-explicit-resource-management": "^7.28.0", "@babel/plugin-transform-exponentiation-operator": "^7.27.1", "@babel/plugin-transform-export-namespace-from": "^7.27.1", "@babel/plugin-transform-for-of": "^7.27.1", @@ -1568,15 +1575,15 @@ "@babel/plugin-transform-new-target": "^7.27.1", "@babel/plugin-transform-nullish-coalescing-operator": "^7.27.1", "@babel/plugin-transform-numeric-separator": "^7.27.1", - "@babel/plugin-transform-object-rest-spread": "^7.27.2", + "@babel/plugin-transform-object-rest-spread": "^7.28.0", "@babel/plugin-transform-object-super": "^7.27.1", "@babel/plugin-transform-optional-catch-binding": "^7.27.1", "@babel/plugin-transform-optional-chaining": "^7.27.1", - "@babel/plugin-transform-parameters": "^7.27.1", + "@babel/plugin-transform-parameters": "^7.27.7", "@babel/plugin-transform-private-methods": "^7.27.1", "@babel/plugin-transform-private-property-in-object": "^7.27.1", "@babel/plugin-transform-property-literals": "^7.27.1", - "@babel/plugin-transform-regenerator": "^7.27.1", + "@babel/plugin-transform-regenerator": "^7.28.0", "@babel/plugin-transform-regexp-modifiers": "^7.27.1", "@babel/plugin-transform-reserved-words": "^7.27.1", "@babel/plugin-transform-shorthand-properties": "^7.27.1", @@ -1589,10 +1596,10 @@ "@babel/plugin-transform-unicode-regex": "^7.27.1", "@babel/plugin-transform-unicode-sets-regex": "^7.27.1", "@babel/preset-modules": "0.1.6-no-external-plugins", - "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.11.0", - "babel-plugin-polyfill-regenerator": "^0.6.1", - "core-js-compat": "^3.40.0", + "babel-plugin-polyfill-corejs2": "^0.4.14", + "babel-plugin-polyfill-corejs3": "^0.13.0", + "babel-plugin-polyfill-regenerator": "^0.6.5", + "core-js-compat": "^3.43.0", "semver": "^6.3.1" }, "engines": { @@ -1602,19 +1609,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/preset-env/node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.11.1.tgz", - "integrity": "sha512-yGCqvBT4rwMczo28xkH/noxJ6MZ4nJfkVYdoDaC/utLtWrXxv27HVrzAeSbqR8SxDsp46n0YF47EbHoixy6rXQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.3", - "core-js-compat": "^3.40.0" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, "node_modules/@babel/preset-modules": { "version": "0.1.6-no-external-plugins", "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", @@ -1649,9 +1643,9 @@ } }, "node_modules/@babel/runtime": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.1.tgz", - "integrity": "sha512-1x3D2xEk2fRo3PAhwQwu5UubzgiVWSXTBfWpVd2Mx2AzRqJuDJCsgaDVZ7HB5iGzDW1Hl1sWN2mFyKjmR9uAog==", + "version": "7.27.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.6.tgz", + "integrity": "sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==", "license": "MIT", "engines": { "node": ">=6.9.0" @@ -1672,36 +1666,27 @@ } }, "node_modules/@babel/traverse": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.1.tgz", - "integrity": "sha512-ZCYtZciz1IWJB4U61UPu4KEaqyfj+r5T1Q5mqPo+IBpcG9kHv30Z0aD8LXPgC1trYa6rK0orRyAhqUgk4MjmEg==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.0.tgz", + "integrity": "sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==", "license": "MIT", "dependencies": { "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.27.1", - "@babel/parser": "^7.27.1", - "@babel/template": "^7.27.1", - "@babel/types": "^7.27.1", - "debug": "^4.3.1", - "globals": "^11.1.0" + "@babel/generator": "^7.28.0", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.28.0", + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.0", + "debug": "^4.3.1" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/traverse/node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/@babel/types": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.1.tgz", - "integrity": "sha512-+EzkxvLNfiUeKMgy/3luqfsCWFRXLb7U6wNQTk60tovuckwB15B191tJWvpp4HjiQWdJkCxO3Wbvc6jlk3Xb2Q==", + "version": "7.28.1", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.1.tgz", + "integrity": "sha512-x0LvFTekgSX+83TI28Y9wYPUfzrnl2aT5+5QLnO6v7mSJYtEEevuDRN0F0uSHRk1G1IWZC43o00Y0xDDrpBGPQ==", "license": "MIT", "dependencies": { "@babel/helper-string-parser": "^7.27.1", @@ -1730,9 +1715,9 @@ } }, "node_modules/@csstools/cascade-layer-name-parser": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@csstools/cascade-layer-name-parser/-/cascade-layer-name-parser-2.0.4.tgz", - "integrity": "sha512-7DFHlPuIxviKYZrOiwVU/PiHLm3lLUR23OMuEEtfEOQTOp9hzQ2JjdY6X5H18RVuUPJqSCI+qNnD5iOLMVE0bA==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@csstools/cascade-layer-name-parser/-/cascade-layer-name-parser-2.0.5.tgz", + "integrity": "sha512-p1ko5eHgV+MgXFVa4STPKpvPxr6ReS8oS2jzTukjR74i5zJNyWO1ZM1m8YKBXnzDKWfBN1ztLYlHxbVemDD88A==", "funding": [ { "type": "github", @@ -1748,8 +1733,8 @@ "node": ">=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3" + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" } }, "node_modules/@csstools/color-helpers": { @@ -1772,9 +1757,9 @@ } }, "node_modules/@csstools/css-calc": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.1.3.tgz", - "integrity": "sha512-XBG3talrhid44BY1x3MHzUx/aTG8+x/Zi57M4aTKK9RFB4aLlF3TTSzfzn8nWVHWL3FgAXAxmupmDd6VWww+pw==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.1.4.tgz", + "integrity": "sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==", "funding": [ { "type": "github", @@ -1790,14 +1775,14 @@ "node": ">=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3" + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" } }, "node_modules/@csstools/css-color-parser": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.0.9.tgz", - "integrity": "sha512-wILs5Zk7BU86UArYBJTPy/FMPPKVKHMj1ycCEyf3VUptol0JNRLFU/BZsJ4aiIHJEbSLiizzRrw8Pc1uAEDrXw==", + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.0.10.tgz", + "integrity": "sha512-TiJ5Ajr6WRd1r8HSiwJvZBiJOqtH86aHpUjq5aEKWHiII2Qfjqd/HCWKPOW8EP4vcspXbHnXrwIDlu5savQipg==", "funding": [ { "type": "github", @@ -1811,20 +1796,20 @@ "license": "MIT", "dependencies": { "@csstools/color-helpers": "^5.0.2", - "@csstools/css-calc": "^2.1.3" + "@csstools/css-calc": "^2.1.4" }, "engines": { "node": ">=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3" + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" } }, "node_modules/@csstools/css-parser-algorithms": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.4.tgz", - "integrity": "sha512-Up7rBoV77rv29d3uKHUIVubz1BTcgyUK72IvCQAbfbMv584xHcGKCKbWh7i8hPrRJ7qU4Y8IO3IY9m+iTB7P3A==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.5.tgz", + "integrity": "sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==", "funding": [ { "type": "github", @@ -1840,13 +1825,13 @@ "node": ">=18" }, "peerDependencies": { - "@csstools/css-tokenizer": "^3.0.3" + "@csstools/css-tokenizer": "^3.0.4" } }, "node_modules/@csstools/css-tokenizer": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.3.tgz", - "integrity": "sha512-UJnjoFsmxfKUdNYdWgOB0mWUypuLvAfQPH1+pyvRJs6euowbFkFC6P13w1l8mJyi3vxYMxc9kld5jZEGRQs6bw==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.4.tgz", + "integrity": "sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==", "funding": [ { "type": "github", @@ -1863,9 +1848,9 @@ } }, "node_modules/@csstools/media-query-list-parser": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-4.0.2.tgz", - "integrity": "sha512-EUos465uvVvMJehckATTlNqGj4UJWkTmdWuDMjqvSUkjGpmOyFZBVwb4knxCm/k2GMTXY+c/5RkdndzFYWeX5A==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-4.0.3.tgz", + "integrity": "sha512-HAYH7d3TLRHDOUQK4mZKf9k9Ph/m8Akstg66ywKR4SFAigjs3yBiUeZtFxywiTm5moZMAp/5W/ZuFnNXXYLuuQ==", "funding": [ { "type": "github", @@ -1881,14 +1866,14 @@ "node": ">=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3" + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" } }, "node_modules/@csstools/postcss-cascade-layers": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-5.0.1.tgz", - "integrity": "sha512-XOfhI7GShVcKiKwmPAnWSqd2tBR0uxt+runAxttbSp/LY2U16yAVPmAf7e9q4JJ0d+xMNmpwNDLBXnmRCl3HMQ==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-5.0.2.tgz", + "integrity": "sha512-nWBE08nhO8uWl6kSAeCx4im7QfVko3zLrtgWZY4/bP87zrSPpSyN/3W3TDqz1jJuH+kbKOHXg5rJnK+ZVYcFFg==", "funding": [ { "type": "github", @@ -1947,9 +1932,9 @@ } }, "node_modules/@csstools/postcss-color-function": { - "version": "4.0.9", - "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-4.0.9.tgz", - "integrity": "sha512-2UeQCGMO5+EeQsPQK2DqXp0dad+P6nIz6G2dI06APpBuYBKxZEq7CTH+UiztFQ8cB1f89dnO9+D/Kfr+JfI2hw==", + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-4.0.10.tgz", + "integrity": "sha512-4dY0NBu7NVIpzxZRgh/Q/0GPSz/jLSw0i/u3LTUor0BkQcz/fNhN10mSWBDsL0p9nDb0Ky1PD6/dcGbhACuFTQ==", "funding": [ { "type": "github", @@ -1962,10 +1947,10 @@ ], "license": "MIT-0", "dependencies": { - "@csstools/css-color-parser": "^3.0.9", - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3", - "@csstools/postcss-progressive-custom-properties": "^4.0.1", + "@csstools/css-color-parser": "^3.0.10", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/postcss-progressive-custom-properties": "^4.1.0", "@csstools/utilities": "^2.0.0" }, "engines": { @@ -1976,9 +1961,9 @@ } }, "node_modules/@csstools/postcss-color-mix-function": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@csstools/postcss-color-mix-function/-/postcss-color-mix-function-3.0.9.tgz", - "integrity": "sha512-Enj7ZIIkLD7zkGCN31SZFx4H1gKiCs2Y4taBo/v/cqaHN7p1qGrf5UTMNSjQFZ7MgClGufHx4pddwFTGL+ipug==", + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-mix-function/-/postcss-color-mix-function-3.0.10.tgz", + "integrity": "sha512-P0lIbQW9I4ShE7uBgZRib/lMTf9XMjJkFl/d6w4EMNHu2qvQ6zljJGEcBkw/NsBtq/6q3WrmgxSS8kHtPMkK4Q==", "funding": [ { "type": "github", @@ -1991,10 +1976,39 @@ ], "license": "MIT-0", "dependencies": { - "@csstools/css-color-parser": "^3.0.9", - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3", - "@csstools/postcss-progressive-custom-properties": "^4.0.1", + "@csstools/css-color-parser": "^3.0.10", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/postcss-progressive-custom-properties": "^4.1.0", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-color-mix-variadic-function-arguments": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-mix-variadic-function-arguments/-/postcss-color-mix-variadic-function-arguments-1.0.0.tgz", + "integrity": "sha512-Z5WhouTyD74dPFPrVE7KydgNS9VvnjB8qcdes9ARpCOItb4jTnm7cHp4FhxCRUoyhabD0WVv43wbkJ4p8hLAlQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^3.0.10", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/postcss-progressive-custom-properties": "^4.1.0", "@csstools/utilities": "^2.0.0" }, "engines": { @@ -2005,9 +2019,9 @@ } }, "node_modules/@csstools/postcss-content-alt-text": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@csstools/postcss-content-alt-text/-/postcss-content-alt-text-2.0.5.tgz", - "integrity": "sha512-9BOS535v6YmyOYk32jAHXeddRV+iyd4vRcbrEekpwxmueAXX5J8WgbceFnE4E4Pmw/ysnB9v+n/vSWoFmcLMcA==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@csstools/postcss-content-alt-text/-/postcss-content-alt-text-2.0.6.tgz", + "integrity": "sha512-eRjLbOjblXq+byyaedQRSrAejKGNAFued+LcbzT+LCL78fabxHkxYjBbxkroONxHHYu2qxhFK2dBStTLPG3jpQ==", "funding": [ { "type": "github", @@ -2020,9 +2034,9 @@ ], "license": "MIT-0", "dependencies": { - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3", - "@csstools/postcss-progressive-custom-properties": "^4.0.1", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/postcss-progressive-custom-properties": "^4.1.0", "@csstools/utilities": "^2.0.0" }, "engines": { @@ -2033,9 +2047,9 @@ } }, "node_modules/@csstools/postcss-exponential-functions": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/@csstools/postcss-exponential-functions/-/postcss-exponential-functions-2.0.8.tgz", - "integrity": "sha512-vHgDXtGIBPpFQnFNDftMQg4MOuXcWnK91L/7REjBNYzQ/p2Fa/6RcnehTqCRrNtQ46PNIolbRsiDdDuxiHolwQ==", + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/@csstools/postcss-exponential-functions/-/postcss-exponential-functions-2.0.9.tgz", + "integrity": "sha512-abg2W/PI3HXwS/CZshSa79kNWNZHdJPMBXeZNyPQFbbj8sKO3jXxOt/wF7juJVjyDTc6JrvaUZYFcSBZBhaxjw==", "funding": [ { "type": "github", @@ -2048,9 +2062,9 @@ ], "license": "MIT-0", "dependencies": { - "@csstools/css-calc": "^2.1.3", - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3" + "@csstools/css-calc": "^2.1.4", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" }, "engines": { "node": ">=18" @@ -2086,9 +2100,9 @@ } }, "node_modules/@csstools/postcss-gamut-mapping": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/@csstools/postcss-gamut-mapping/-/postcss-gamut-mapping-2.0.9.tgz", - "integrity": "sha512-quksIsFm3DGsf8Qbr9KiSGBF2w3RwxSfOfma5wbORDB1AFF15r4EVW7sUuWw3s5IAEGMqzel/dE2rQsI7Yb8mA==", + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@csstools/postcss-gamut-mapping/-/postcss-gamut-mapping-2.0.10.tgz", + "integrity": "sha512-QDGqhJlvFnDlaPAfCYPsnwVA6ze+8hhrwevYWlnUeSjkkZfBpcCO42SaUD8jiLlq7niouyLgvup5lh+f1qessg==", "funding": [ { "type": "github", @@ -2101,9 +2115,9 @@ ], "license": "MIT-0", "dependencies": { - "@csstools/css-color-parser": "^3.0.9", - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3" + "@csstools/css-color-parser": "^3.0.10", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" }, "engines": { "node": ">=18" @@ -2113,9 +2127,9 @@ } }, "node_modules/@csstools/postcss-gradients-interpolation-method": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-5.0.9.tgz", - "integrity": "sha512-duqTeUHF4ambUybAmhX9KonkicLM/WNp2JjMUbegRD4O8A/tb6fdZ7jUNdp/UUiO1FIdDkMwmNw6856bT0XF8Q==", + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-5.0.10.tgz", + "integrity": "sha512-HHPauB2k7Oits02tKFUeVFEU2ox/H3OQVrP3fSOKDxvloOikSal+3dzlyTZmYsb9FlY9p5EUpBtz0//XBmy+aw==", "funding": [ { "type": "github", @@ -2128,10 +2142,10 @@ ], "license": "MIT-0", "dependencies": { - "@csstools/css-color-parser": "^3.0.9", - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3", - "@csstools/postcss-progressive-custom-properties": "^4.0.1", + "@csstools/css-color-parser": "^3.0.10", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/postcss-progressive-custom-properties": "^4.1.0", "@csstools/utilities": "^2.0.0" }, "engines": { @@ -2142,9 +2156,9 @@ } }, "node_modules/@csstools/postcss-hwb-function": { - "version": "4.0.9", - "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-4.0.9.tgz", - "integrity": "sha512-sDpdPsoGAhYl/PMSYfu5Ez82wXb2bVkg1Cb8vsRLhpXhAk4OSlsJN+GodAql6tqc1B2G/WToxsFU6G74vkhPvA==", + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-4.0.10.tgz", + "integrity": "sha512-nOKKfp14SWcdEQ++S9/4TgRKchooLZL0TUFdun3nI4KPwCjETmhjta1QT4ICQcGVWQTvrsgMM/aLB5We+kMHhQ==", "funding": [ { "type": "github", @@ -2157,10 +2171,10 @@ ], "license": "MIT-0", "dependencies": { - "@csstools/css-color-parser": "^3.0.9", - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3", - "@csstools/postcss-progressive-custom-properties": "^4.0.1", + "@csstools/css-color-parser": "^3.0.10", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/postcss-progressive-custom-properties": "^4.1.0", "@csstools/utilities": "^2.0.0" }, "engines": { @@ -2171,9 +2185,9 @@ } }, "node_modules/@csstools/postcss-ic-unit": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-4.0.1.tgz", - "integrity": "sha512-lECc38i1w3qU9nhrUhP6F8y4BfcQJkR1cb8N6tZNf2llM6zPkxnqt04jRCwsUgNcB3UGKDy+zLenhOYGHqCV+Q==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-4.0.2.tgz", + "integrity": "sha512-lrK2jjyZwh7DbxaNnIUjkeDmU8Y6KyzRBk91ZkI5h8nb1ykEfZrtIVArdIjX4DHMIBGpdHrgP0n4qXDr7OHaKA==", "funding": [ { "type": "github", @@ -2186,7 +2200,7 @@ ], "license": "MIT-0", "dependencies": { - "@csstools/postcss-progressive-custom-properties": "^4.0.1", + "@csstools/postcss-progressive-custom-properties": "^4.1.0", "@csstools/utilities": "^2.0.0", "postcss-value-parser": "^4.2.0" }, @@ -2220,9 +2234,9 @@ } }, "node_modules/@csstools/postcss-is-pseudo-class": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-5.0.1.tgz", - "integrity": "sha512-JLp3POui4S1auhDR0n8wHd/zTOWmMsmK3nQd3hhL6FhWPaox5W7j1se6zXOG/aP07wV2ww0lxbKYGwbBszOtfQ==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-5.0.3.tgz", + "integrity": "sha512-jS/TY4SpG4gszAtIg7Qnf3AS2pjcUM5SzxpApOrlndMeGhIbaTzWBzzP/IApXoNWEW7OhcjkRT48jnAUIFXhAQ==", "funding": [ { "type": "github", @@ -2281,9 +2295,9 @@ } }, "node_modules/@csstools/postcss-light-dark-function": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/@csstools/postcss-light-dark-function/-/postcss-light-dark-function-2.0.8.tgz", - "integrity": "sha512-v8VU5WtrZIyEtk88WB4fkG22TGd8HyAfSFfZZQ1uNN0+arMJdZc++H3KYTfbYDpJRGy8GwADYH8ySXiILn+OyA==", + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/@csstools/postcss-light-dark-function/-/postcss-light-dark-function-2.0.9.tgz", + "integrity": "sha512-1tCZH5bla0EAkFAI2r0H33CDnIBeLUaJh1p+hvvsylJ4svsv2wOmJjJn+OXwUZLXef37GYbRIVKX+X+g6m+3CQ==", "funding": [ { "type": "github", @@ -2296,9 +2310,9 @@ ], "license": "MIT-0", "dependencies": { - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3", - "@csstools/postcss-progressive-custom-properties": "^4.0.1", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/postcss-progressive-custom-properties": "^4.1.0", "@csstools/utilities": "^2.0.0" }, "engines": { @@ -2400,9 +2414,9 @@ } }, "node_modules/@csstools/postcss-logical-viewport-units": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-viewport-units/-/postcss-logical-viewport-units-3.0.3.tgz", - "integrity": "sha512-OC1IlG/yoGJdi0Y+7duz/kU/beCwO+Gua01sD6GtOtLi7ByQUpcIqs7UE/xuRPay4cHgOMatWdnDdsIDjnWpPw==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-viewport-units/-/postcss-logical-viewport-units-3.0.4.tgz", + "integrity": "sha512-q+eHV1haXA4w9xBwZLKjVKAWn3W2CMqmpNpZUk5kRprvSiBEGMgrNH3/sJZ8UA3JgyHaOt3jwT9uFa4wLX4EqQ==", "funding": [ { "type": "github", @@ -2415,7 +2429,7 @@ ], "license": "MIT-0", "dependencies": { - "@csstools/css-tokenizer": "^3.0.3", + "@csstools/css-tokenizer": "^3.0.4", "@csstools/utilities": "^2.0.0" }, "engines": { @@ -2426,9 +2440,9 @@ } }, "node_modules/@csstools/postcss-media-minmax": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/@csstools/postcss-media-minmax/-/postcss-media-minmax-2.0.8.tgz", - "integrity": "sha512-Skum5wIXw2+NyCQWUyfstN3c1mfSh39DRAo+Uh2zzXOglBG8xB9hnArhYFScuMZkzeM+THVa//mrByKAfumc7w==", + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/@csstools/postcss-media-minmax/-/postcss-media-minmax-2.0.9.tgz", + "integrity": "sha512-af9Qw3uS3JhYLnCbqtZ9crTvvkR+0Se+bBqSr7ykAnl9yKhk6895z9rf+2F4dClIDJWxgn0iZZ1PSdkhrbs2ig==", "funding": [ { "type": "github", @@ -2441,10 +2455,10 @@ ], "license": "MIT", "dependencies": { - "@csstools/css-calc": "^2.1.3", - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3", - "@csstools/media-query-list-parser": "^4.0.2" + "@csstools/css-calc": "^2.1.4", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/media-query-list-parser": "^4.0.3" }, "engines": { "node": ">=18" @@ -2454,9 +2468,9 @@ } }, "node_modules/@csstools/postcss-media-queries-aspect-ratio-number-values": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@csstools/postcss-media-queries-aspect-ratio-number-values/-/postcss-media-queries-aspect-ratio-number-values-3.0.4.tgz", - "integrity": "sha512-AnGjVslHMm5xw9keusQYvjVWvuS7KWK+OJagaG0+m9QnIjZsrysD2kJP/tr/UJIyYtMCtu8OkUd+Rajb4DqtIQ==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@csstools/postcss-media-queries-aspect-ratio-number-values/-/postcss-media-queries-aspect-ratio-number-values-3.0.5.tgz", + "integrity": "sha512-zhAe31xaaXOY2Px8IYfoVTB3wglbJUVigGphFLj6exb7cjZRH9A6adyE22XfFK3P2PzwRk0VDeTJmaxpluyrDg==", "funding": [ { "type": "github", @@ -2469,9 +2483,9 @@ ], "license": "MIT-0", "dependencies": { - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3", - "@csstools/media-query-list-parser": "^4.0.2" + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/media-query-list-parser": "^4.0.3" }, "engines": { "node": ">=18" @@ -2532,9 +2546,9 @@ } }, "node_modules/@csstools/postcss-oklab-function": { - "version": "4.0.9", - "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-4.0.9.tgz", - "integrity": "sha512-UHrnujimwtdDw8BYDcWJtBXuJ13uc/BjAddPdfMc/RsWxhg8gG8UbvTF0tnMtHrZ4i7lwy85fPEzK1AiykMyRA==", + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-4.0.10.tgz", + "integrity": "sha512-ZzZUTDd0fgNdhv8UUjGCtObPD8LYxMH+MJsW9xlZaWTV8Ppr4PtxlHYNMmF4vVWGl0T6f8tyWAKjoI6vePSgAg==", "funding": [ { "type": "github", @@ -2547,10 +2561,10 @@ ], "license": "MIT-0", "dependencies": { - "@csstools/css-color-parser": "^3.0.9", - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3", - "@csstools/postcss-progressive-custom-properties": "^4.0.1", + "@csstools/css-color-parser": "^3.0.10", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/postcss-progressive-custom-properties": "^4.1.0", "@csstools/utilities": "^2.0.0" }, "engines": { @@ -2561,9 +2575,9 @@ } }, "node_modules/@csstools/postcss-progressive-custom-properties": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-4.0.1.tgz", - "integrity": "sha512-Ofz81HaY8mmbP8/Qr3PZlUzjsyV5WuxWmvtYn+jhYGvvjFazTmN9R2io5W5znY1tyk2CA9uM0IPWyY4ygDytCw==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-4.1.0.tgz", + "integrity": "sha512-YrkI9dx8U4R8Sz2EJaoeD9fI7s7kmeEBfmO+UURNeL6lQI7VxF6sBE+rSqdCBn4onwqmxFdBU3lTwyYb/lCmxA==", "funding": [ { "type": "github", @@ -2586,9 +2600,9 @@ } }, "node_modules/@csstools/postcss-random-function": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-random-function/-/postcss-random-function-2.0.0.tgz", - "integrity": "sha512-MYZKxSr4AKfjECL8vg49BbfNNzK+t3p2OWX+Xf7rXgMaTP44oy/e8VGWu4MLnJ3NUd9tFVkisLO/sg+5wMTNsg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-random-function/-/postcss-random-function-2.0.1.tgz", + "integrity": "sha512-q+FQaNiRBhnoSNo+GzqGOIBKoHQ43lYz0ICrV+UudfWnEF6ksS6DsBIJSISKQT2Bvu3g4k6r7t0zYrk5pDlo8w==", "funding": [ { "type": "github", @@ -2601,9 +2615,9 @@ ], "license": "MIT-0", "dependencies": { - "@csstools/css-calc": "^2.1.3", - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3" + "@csstools/css-calc": "^2.1.4", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" }, "engines": { "node": ">=18" @@ -2613,9 +2627,9 @@ } }, "node_modules/@csstools/postcss-relative-color-syntax": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@csstools/postcss-relative-color-syntax/-/postcss-relative-color-syntax-3.0.9.tgz", - "integrity": "sha512-+AGOcLF5PmMnTRPnOdCvY7AwvD5veIOhTWbJV6vC3hB1tt0ii/k6QOwhWfsGGg1ZPQ0JY15u+wqLR4ZTtB0luA==", + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@csstools/postcss-relative-color-syntax/-/postcss-relative-color-syntax-3.0.10.tgz", + "integrity": "sha512-8+0kQbQGg9yYG8hv0dtEpOMLwB9M+P7PhacgIzVzJpixxV4Eq9AUQtQw8adMmAJU1RBBmIlpmtmm3XTRd/T00g==", "funding": [ { "type": "github", @@ -2628,10 +2642,10 @@ ], "license": "MIT-0", "dependencies": { - "@csstools/css-color-parser": "^3.0.9", - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3", - "@csstools/postcss-progressive-custom-properties": "^4.0.1", + "@csstools/css-color-parser": "^3.0.10", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/postcss-progressive-custom-properties": "^4.1.0", "@csstools/utilities": "^2.0.0" }, "engines": { @@ -2680,9 +2694,9 @@ } }, "node_modules/@csstools/postcss-sign-functions": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@csstools/postcss-sign-functions/-/postcss-sign-functions-1.1.3.tgz", - "integrity": "sha512-4F4GRhj8xNkBtLZ+3ycIhReaDfKJByXI+cQGIps3AzCO8/CJOeoDPxpMnL5vqZrWKOceSATHEQJUO/Q/r2y7OQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@csstools/postcss-sign-functions/-/postcss-sign-functions-1.1.4.tgz", + "integrity": "sha512-P97h1XqRPcfcJndFdG95Gv/6ZzxUBBISem0IDqPZ7WMvc/wlO+yU0c5D/OCpZ5TJoTt63Ok3knGk64N+o6L2Pg==", "funding": [ { "type": "github", @@ -2695,9 +2709,9 @@ ], "license": "MIT-0", "dependencies": { - "@csstools/css-calc": "^2.1.3", - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3" + "@csstools/css-calc": "^2.1.4", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" }, "engines": { "node": ">=18" @@ -2707,9 +2721,9 @@ } }, "node_modules/@csstools/postcss-stepped-value-functions": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-4.0.8.tgz", - "integrity": "sha512-6Y4yhL4fNhgzbZ/wUMQ4EjFUfoNNMpEXZnDw1JrlcEBHUT15gplchtFsZGk7FNi8PhLHJfCUwVKrEHzhfhKK+g==", + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-4.0.9.tgz", + "integrity": "sha512-h9btycWrsex4dNLeQfyU3y3w40LMQooJWFMm/SK9lrKguHDcFl4VMkncKKoXi2z5rM9YGWbUQABI8BT2UydIcA==", "funding": [ { "type": "github", @@ -2722,9 +2736,9 @@ ], "license": "MIT-0", "dependencies": { - "@csstools/css-calc": "^2.1.3", - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3" + "@csstools/css-calc": "^2.1.4", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" }, "engines": { "node": ">=18" @@ -2760,9 +2774,9 @@ } }, "node_modules/@csstools/postcss-trigonometric-functions": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-4.0.8.tgz", - "integrity": "sha512-YcDvYTRu7f78/91B6bX+mE1WoAO91Su7/8KSRpuWbIGUB8hmaNSRu9wziaWSLJ1lOB1aQe+bvo9BIaLKqPOo/g==", + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-4.0.9.tgz", + "integrity": "sha512-Hnh5zJUdpNrJqK9v1/E3BbrQhaDTj5YiX7P61TOvUhoDHnUmsNNxcDAgkQ32RrcWx9GVUvfUNPcUkn8R3vIX6A==", "funding": [ { "type": "github", @@ -2775,9 +2789,9 @@ ], "license": "MIT-0", "dependencies": { - "@csstools/css-calc": "^2.1.3", - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3" + "@csstools/css-calc": "^2.1.4", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" }, "engines": { "node": ">=18" @@ -2859,8 +2873,7 @@ }, "node_modules/@emmetio/css-parser": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@emmetio/css-parser/-/css-parser-0.4.0.tgz", - "integrity": "sha512-z7wkxRSZgrQHXVzObGkXG+Vmj3uRlpM11oCZ9pbaz0nFejvCDmAiNDpY75+wgXOcffKpj4rzGtwGaZxfJKsJxw==", + "resolved": "git+ssh://git@github.com/ramya-rao-a/css-parser.git#370c480ac103bd17c7bcfb34bf5d577dc40d3660", "license": "MIT", "dependencies": { "@emmetio/stream-reader": "^2.2.0", @@ -2895,9 +2908,9 @@ "license": "MIT" }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.4.tgz", - "integrity": "sha512-1VCICWypeQKhVbE9oW/sJaAmjLxhVqacdkvPLEjwlttjfwENRSClS8EjBz0KzRyFSCPDIkuXW34Je/vk7zdB7Q==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.6.tgz", + "integrity": "sha512-ShbM/3XxwuxjFiuVBHA+d3j5dyac0aEVVq1oluIDf71hUw0aRF59dV/efUsIwFnR6m8JNM2FjZOzmaZ8yG61kw==", "cpu": [ "ppc64" ], @@ -2911,9 +2924,9 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.4.tgz", - "integrity": "sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.6.tgz", + "integrity": "sha512-S8ToEOVfg++AU/bHwdksHNnyLyVM+eMVAOf6yRKFitnwnbwwPNqKr3srzFRe7nzV69RQKb5DgchIX5pt3L53xg==", "cpu": [ "arm" ], @@ -2927,9 +2940,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.4.tgz", - "integrity": "sha512-bBy69pgfhMGtCnwpC/x5QhfxAz/cBgQ9enbtwjf6V9lnPI/hMyT9iWpR1arm0l3kttTr4L0KSLpKmLp/ilKS9A==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.6.tgz", + "integrity": "sha512-hd5zdUarsK6strW+3Wxi5qWws+rJhCCbMiC9QZyzoxfk5uHRIE8T287giQxzVpEvCwuJ9Qjg6bEjcRJcgfLqoA==", "cpu": [ "arm64" ], @@ -2943,9 +2956,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.4.tgz", - "integrity": "sha512-TVhdVtQIFuVpIIR282btcGC2oGQoSfZfmBdTip2anCaVYcqWlZXGcdcKIUklfX2wj0JklNYgz39OBqh2cqXvcQ==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.6.tgz", + "integrity": "sha512-0Z7KpHSr3VBIO9A/1wcT3NTy7EB4oNC4upJ5ye3R7taCc2GUdeynSLArnon5G8scPwaU866d3H4BCrE5xLW25A==", "cpu": [ "x64" ], @@ -2959,9 +2972,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.4.tgz", - "integrity": "sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.6.tgz", + "integrity": "sha512-FFCssz3XBavjxcFxKsGy2DYK5VSvJqa6y5HXljKzhRZ87LvEi13brPrf/wdyl/BbpbMKJNOr1Sd0jtW4Ge1pAA==", "cpu": [ "arm64" ], @@ -2975,9 +2988,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.4.tgz", - "integrity": "sha512-CJsry8ZGM5VFVeyUYB3cdKpd/H69PYez4eJh1W/t38vzutdjEjtP7hB6eLKBoOdxcAlCtEYHzQ/PJ/oU9I4u0A==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.6.tgz", + "integrity": "sha512-GfXs5kry/TkGM2vKqK2oyiLFygJRqKVhawu3+DOCk7OxLy/6jYkWXhlHwOoTb0WqGnWGAS7sooxbZowy+pK9Yg==", "cpu": [ "x64" ], @@ -2991,9 +3004,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.4.tgz", - "integrity": "sha512-yYq+39NlTRzU2XmoPW4l5Ifpl9fqSk0nAJYM/V/WUGPEFfek1epLHJIkTQM6bBs1swApjO5nWgvr843g6TjxuQ==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.6.tgz", + "integrity": "sha512-aoLF2c3OvDn2XDTRvn8hN6DRzVVpDlj2B/F66clWd/FHLiHaG3aVZjxQX2DYphA5y/evbdGvC6Us13tvyt4pWg==", "cpu": [ "arm64" ], @@ -3007,9 +3020,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.4.tgz", - "integrity": "sha512-0FgvOJ6UUMflsHSPLzdfDnnBBVoCDtBTVyn/MrWloUNvq/5SFmh13l3dvgRPkDihRxb77Y17MbqbCAa2strMQQ==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.6.tgz", + "integrity": "sha512-2SkqTjTSo2dYi/jzFbU9Plt1vk0+nNg8YC8rOXXea+iA3hfNJWebKYPs3xnOUf9+ZWhKAaxnQNUf2X9LOpeiMQ==", "cpu": [ "x64" ], @@ -3023,9 +3036,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.4.tgz", - "integrity": "sha512-kro4c0P85GMfFYqW4TWOpvmF8rFShbWGnrLqlzp4X1TNWjRY3JMYUfDCtOxPKOIY8B0WC8HN51hGP4I4hz4AaQ==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.6.tgz", + "integrity": "sha512-SZHQlzvqv4Du5PrKE2faN0qlbsaW/3QQfUUc6yO2EjFcA83xnwm91UbEEVx4ApZ9Z5oG8Bxz4qPE+HFwtVcfyw==", "cpu": [ "arm" ], @@ -3039,9 +3052,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.4.tgz", - "integrity": "sha512-+89UsQTfXdmjIvZS6nUnOOLoXnkUTB9hR5QAeLrQdzOSWZvNSAXAtcRDHWtqAUtAmv7ZM1WPOOeSxDzzzMogiQ==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.6.tgz", + "integrity": "sha512-b967hU0gqKd9Drsh/UuAm21Khpoh6mPBSgz8mKRq4P5mVK8bpA+hQzmm/ZwGVULSNBzKdZPQBRT3+WuVavcWsQ==", "cpu": [ "arm64" ], @@ -3055,9 +3068,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.4.tgz", - "integrity": "sha512-yTEjoapy8UP3rv8dB0ip3AfMpRbyhSN3+hY8mo/i4QXFeDxmiYbEKp3ZRjBKcOP862Ua4b1PDfwlvbuwY7hIGQ==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.6.tgz", + "integrity": "sha512-aHWdQ2AAltRkLPOsKdi3xv0mZ8fUGPdlKEjIEhxCPm5yKEThcUjHpWB1idN74lfXGnZ5SULQSgtr5Qos5B0bPw==", "cpu": [ "ia32" ], @@ -3071,9 +3084,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.4.tgz", - "integrity": "sha512-NeqqYkrcGzFwi6CGRGNMOjWGGSYOpqwCjS9fvaUlX5s3zwOtn1qwg1s2iE2svBe4Q/YOG1q6875lcAoQK/F4VA==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.6.tgz", + "integrity": "sha512-VgKCsHdXRSQ7E1+QXGdRPlQ/e08bN6WMQb27/TMfV+vPjjTImuT9PmLXupRlC90S1JeNNW5lzkAEO/McKeJ2yg==", "cpu": [ "loong64" ], @@ -3087,9 +3100,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.4.tgz", - "integrity": "sha512-IcvTlF9dtLrfL/M8WgNI/qJYBENP3ekgsHbYUIzEzq5XJzzVEV/fXY9WFPfEEXmu3ck2qJP8LG/p3Q8f7Zc2Xg==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.6.tgz", + "integrity": "sha512-WViNlpivRKT9/py3kCmkHnn44GkGXVdXfdc4drNmRl15zVQ2+D2uFwdlGh6IuK5AAnGTo2qPB1Djppj+t78rzw==", "cpu": [ "mips64el" ], @@ -3103,9 +3116,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.4.tgz", - "integrity": "sha512-HOy0aLTJTVtoTeGZh4HSXaO6M95qu4k5lJcH4gxv56iaycfz1S8GO/5Jh6X4Y1YiI0h7cRyLi+HixMR+88swag==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.6.tgz", + "integrity": "sha512-wyYKZ9NTdmAMb5730I38lBqVu6cKl4ZfYXIs31Baf8aoOtB4xSGi3THmDYt4BTFHk7/EcVixkOV2uZfwU3Q2Jw==", "cpu": [ "ppc64" ], @@ -3119,9 +3132,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.4.tgz", - "integrity": "sha512-i8JUDAufpz9jOzo4yIShCTcXzS07vEgWzyX3NH2G7LEFVgrLEhjwL3ajFE4fZI3I4ZgiM7JH3GQ7ReObROvSUA==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.6.tgz", + "integrity": "sha512-KZh7bAGGcrinEj4qzilJ4hqTY3Dg2U82c8bv+e1xqNqZCrCyc+TL9AUEn5WGKDzm3CfC5RODE/qc96OcbIe33w==", "cpu": [ "riscv64" ], @@ -3135,9 +3148,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.4.tgz", - "integrity": "sha512-jFnu+6UbLlzIjPQpWCNh5QtrcNfMLjgIavnwPQAfoGx4q17ocOU9MsQ2QVvFxwQoWpZT8DvTLooTvmOQXkO51g==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.6.tgz", + "integrity": "sha512-9N1LsTwAuE9oj6lHMyyAM+ucxGiVnEqUdp4v7IaMmrwb06ZTEVCIs3oPPplVsnjPfyjmxwHxHMF8b6vzUVAUGw==", "cpu": [ "s390x" ], @@ -3151,9 +3164,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.4.tgz", - "integrity": "sha512-6e0cvXwzOnVWJHq+mskP8DNSrKBr1bULBvnFLpc1KY+d+irZSgZ02TGse5FsafKS5jg2e4pbvK6TPXaF/A6+CA==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.6.tgz", + "integrity": "sha512-A6bJB41b4lKFWRKNrWoP2LHsjVzNiaurf7wyj/XtFNTsnPuxwEBWHLty+ZE0dWBKuSK1fvKgrKaNjBS7qbFKig==", "cpu": [ "x64" ], @@ -3167,9 +3180,9 @@ } }, "node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.4.tgz", - "integrity": "sha512-vUnkBYxZW4hL/ie91hSqaSNjulOnYXE1VSLusnvHg2u3jewJBz3YzB9+oCw8DABeVqZGg94t9tyZFoHma8gWZQ==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.6.tgz", + "integrity": "sha512-IjA+DcwoVpjEvyxZddDqBY+uJ2Snc6duLpjmkXm/v4xuS3H+3FkLZlDm9ZsAbF9rsfP3zeA0/ArNDORZgrxR/Q==", "cpu": [ "arm64" ], @@ -3183,9 +3196,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.4.tgz", - "integrity": "sha512-XAg8pIQn5CzhOB8odIcAm42QsOfa98SBeKUdo4xa8OvX8LbMZqEtgeWE9P/Wxt7MlG2QqvjGths+nq48TrUiKw==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.6.tgz", + "integrity": "sha512-dUXuZr5WenIDlMHdMkvDc1FAu4xdWixTCRgP7RQLBOkkGgwuuzaGSYcOpW4jFxzpzL1ejb8yF620UxAqnBrR9g==", "cpu": [ "x64" ], @@ -3199,9 +3212,9 @@ } }, "node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.4.tgz", - "integrity": "sha512-Ct2WcFEANlFDtp1nVAXSNBPDxyU+j7+tId//iHXU2f/lN5AmO4zLyhDcpR5Cz1r08mVxzt3Jpyt4PmXQ1O6+7A==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.6.tgz", + "integrity": "sha512-l8ZCvXP0tbTJ3iaqdNf3pjaOSd5ex/e6/omLIQCVBLmHTlfXW3zAxQ4fnDmPLOB1x9xrcSi/xtCWFwCZRIaEwg==", "cpu": [ "arm64" ], @@ -3215,9 +3228,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.4.tgz", - "integrity": "sha512-xAGGhyOQ9Otm1Xu8NT1ifGLnA6M3sJxZ6ixylb+vIUVzvvd6GOALpwQrYrtlPouMqd/vSbgehz6HaVk4+7Afhw==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.6.tgz", + "integrity": "sha512-hKrmDa0aOFOr71KQ/19JC7az1P0GWtCN1t2ahYAf4O007DHZt/dW8ym5+CUdJhQ/qkZmI1HAF8KkJbEFtCL7gw==", "cpu": [ "x64" ], @@ -3230,10 +3243,26 @@ "node": ">=18" } }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.6.tgz", + "integrity": "sha512-+SqBcAWoB1fYKmpWoQP4pGtx+pUUC//RNYhFdbcSA16617cchuryuhOCRpPsjCblKukAckWsV+aQ3UKT/RMPcA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, "node_modules/@esbuild/sunos-x64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.4.tgz", - "integrity": "sha512-Mw+tzy4pp6wZEK0+Lwr76pWLjrtjmJyUB23tHKqEDP74R3q95luY/bXqXZeYl4NYlvwOqoRKlInQialgCKy67Q==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.6.tgz", + "integrity": "sha512-dyCGxv1/Br7MiSC42qinGL8KkG4kX0pEsdb0+TKhmJZgCUDBGmyo1/ArCjNGiOLiIAgdbWgmWgib4HoCi5t7kA==", "cpu": [ "x64" ], @@ -3247,9 +3276,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.4.tgz", - "integrity": "sha512-AVUP428VQTSddguz9dO9ngb+E5aScyg7nOeJDrF1HPYu555gmza3bDGMPhmVXL8svDSoqPCsCPjb265yG/kLKQ==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.6.tgz", + "integrity": "sha512-42QOgcZeZOvXfsCBJF5Afw73t4veOId//XD3i+/9gSkhSV6Gk3VPlWncctI+JcOyERv85FUo7RxuxGy+z8A43Q==", "cpu": [ "arm64" ], @@ -3263,9 +3292,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.4.tgz", - "integrity": "sha512-i1sW+1i+oWvQzSgfRcxxG2k4I9n3O9NRqy8U+uugaT2Dy7kLO9Y7wI72haOahxceMX8hZAzgGou1FhndRldxRg==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.6.tgz", + "integrity": "sha512-4AWhgXmDuYN7rJI6ORB+uU9DHLq/erBbuMoAuB4VWJTu5KtCgcKYPynF0YI1VkBNuEfjNlLrFr9KZPJzrtLkrQ==", "cpu": [ "ia32" ], @@ -3279,9 +3308,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.4.tgz", - "integrity": "sha512-nOT2vZNw6hJ+z43oP1SPea/G/6AbN6X+bGNhNuq8NtRHy4wsMhw765IKLNmnjek7GvjWBYQ8Q5VBoYTFg9y1UQ==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.6.tgz", + "integrity": "sha512-NgJPHHbEpLQgDH2MjQu90pzW/5vvXIZ7KOnPyNBm92A6WgZ/7b6fJyUBjoumLqeOQQGqY2QjQxRo97ah4Sj0cA==", "cpu": [ "x64" ], @@ -3334,9 +3363,9 @@ } }, "node_modules/@eslint/config-array": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.20.0.tgz", - "integrity": "sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==", + "version": "0.21.0", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.0.tgz", + "integrity": "sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==", "license": "Apache-2.0", "dependencies": { "@eslint/object-schema": "^2.1.6", @@ -3348,18 +3377,18 @@ } }, "node_modules/@eslint/config-helpers": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.2.tgz", - "integrity": "sha512-+GPzk8PlG0sPpzdU5ZvIRMPidzAnZDl/s9L+y13iodqvb8leL53bTannOrQ/Im7UkpsmFU5Ily5U60LWixnmLg==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.3.0.tgz", + "integrity": "sha512-ViuymvFmcJi04qdZeDc2whTHryouGcDlaxPqarTD0ZE10ISpxGUVZGZDx4w01upyIynL3iu6IXH2bS1NhclQMw==", "license": "Apache-2.0", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, "node_modules/@eslint/core": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.13.0.tgz", - "integrity": "sha512-yfkgDw1KR66rkT5A8ci4irzDysN7FRpq3ttJolR88OqQikAWqwA8j5VZyas+vjyBNFIJ7MfybJ9plMILI2UrCw==", + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.15.1.tgz", + "integrity": "sha512-bkOp+iumZCCbt1K1CmWf0R9pM5yKpDv+ZXtvSyQpudrI9kuFLp+bM2WOPXImuD/ceQuaa8f5pj93Y7zyECIGNA==", "license": "Apache-2.0", "dependencies": { "@types/json-schema": "^7.0.15" @@ -3404,12 +3433,15 @@ } }, "node_modules/@eslint/js": { - "version": "9.26.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.26.0.tgz", - "integrity": "sha512-I9XlJawFdSMvWjDt6wksMCrgns5ggLNfFwFvnShsleWruvXM514Qxk8V246efTw+eo9JABvVz+u3q2RiAowKxQ==", + "version": "9.31.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.31.0.tgz", + "integrity": "sha512-LOm5OVt7D4qiKCqoiPbA7LWmI+tbw1VbTUowBcUMgQSuM6poJufkFkYDcQpo5KfgD39TnNySV26QjOh7VFpSyw==", "license": "MIT", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" } }, "node_modules/@eslint/object-schema": { @@ -3422,12 +3454,12 @@ } }, "node_modules/@eslint/plugin-kit": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.8.tgz", - "integrity": "sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.3.tgz", + "integrity": "sha512-1+WqvgNMhmlAambTvT3KPtCl/Ibr68VldY2XY40SL1CE0ZXiakFR/cbTspaF5HsnpDMvcYYoJHfl4980NBjGag==", "license": "Apache-2.0", "dependencies": { - "@eslint/core": "^0.13.0", + "@eslint/core": "^0.15.1", "levn": "^0.4.1" }, "engines": { @@ -3435,12 +3467,12 @@ } }, "node_modules/@floating-ui/core": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.0.tgz", - "integrity": "sha512-FRdBLykrPPA6P76GGGqlex/e7fbe0F1ykgxHYNXQsH/iTEtjMj/f9bpY5oQqbjt5VgZvgz/uKXbGuROijh3VLA==", + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.2.tgz", + "integrity": "sha512-wNB5ooIKHQc+Kui96jE/n69rHFWAVoxn5CAzL1Xdd8FG03cgY3MLO+GF9U3W737fYDSgPWA6MReKhBQBop6Pcw==", "license": "MIT", "dependencies": { - "@floating-ui/utils": "^0.2.9" + "@floating-ui/utils": "^0.2.10" } }, "node_modules/@floating-ui/dom": { @@ -3453,9 +3485,9 @@ } }, "node_modules/@floating-ui/utils": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.9.tgz", - "integrity": "sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==", + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.10.tgz", + "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==", "license": "MIT" }, "node_modules/@humanfs/core": { @@ -3525,6 +3557,27 @@ "integrity": "sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==", "license": "MIT" }, + "node_modules/@isaacs/balanced-match": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz", + "integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==", + "license": "MIT", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@isaacs/brace-expansion": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz", + "integrity": "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==", + "license": "MIT", + "dependencies": { + "@isaacs/balanced-match": "^4.0.1" + }, + "engines": { + "node": "20 || >=22" + } + }, "node_modules/@isaacs/cliui": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", @@ -3658,6 +3711,19 @@ "sprintf-js": "~1.0.2" } }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", @@ -3723,6 +3789,15 @@ "node": ">=8" } }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/@istanbuljs/schema": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", @@ -3768,17 +3843,13 @@ "license": "MIT" }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", - "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", + "version": "0.3.12", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.12.tgz", + "integrity": "sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==", "license": "MIT", "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/sourcemap-codec": "^1.5.0", "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" } }, "node_modules/@jridgewell/resolve-uri": { @@ -3790,19 +3861,10 @@ "node": ">=6.0.0" } }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/@jridgewell/source-map": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", - "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", + "version": "0.3.10", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.10.tgz", + "integrity": "sha512-0pPkgz9dY+bijgistcTTJ5mR+ocqRXLuhXHYdzoMmmoJ2C9S46RCm2GMUbatPEUK9Yjy26IrAy8D/M00lLkv+Q==", "license": "MIT", "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", @@ -3810,15 +3872,15 @@ } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.4.tgz", + "integrity": "sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==", "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "version": "0.3.29", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.29.tgz", + "integrity": "sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==", "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", @@ -3826,11 +3888,12 @@ } }, "node_modules/@lcdp/offline-plugin": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@lcdp/offline-plugin/-/offline-plugin-5.1.1.tgz", - "integrity": "sha512-TjLyneaRVHBNyzHHXeDfpejMqNYPZqs/hZqgEwPH5bgqDgh348dId/rOAHWkiGtujgv4ZejWZNM4derv0Mjdqw==", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/@lcdp/offline-plugin/-/offline-plugin-5.1.3.tgz", + "integrity": "sha512-D31Na19n7n4+bkByxYe+vl7sGzWJMF8LZ7sAiaM4VQcz24OJYVnCQ35jQZCNuy4gf6pGa2QKar/Pux61itb4/g==", "license": "MIT", "dependencies": { + "babel": "^5.8.38", "deep-extend": "^0.5.1", "ejs": "^3.1.6", "loader-utils": "0.2.x", @@ -3905,9 +3968,9 @@ } }, "node_modules/@maplibre/maplibre-gl-style-spec": { - "version": "23.2.2", - "resolved": "https://registry.npmjs.org/@maplibre/maplibre-gl-style-spec/-/maplibre-gl-style-spec-23.2.2.tgz", - "integrity": "sha512-kLcVlItPCULc20SM6pSVA7u8nST9xmQA8d7utc9j3KB0Tf/xhM4GgCn/QsZcmlbN/wW0ujyomDrvZ3/LbwvAmw==", + "version": "23.3.0", + "resolved": "https://registry.npmjs.org/@maplibre/maplibre-gl-style-spec/-/maplibre-gl-style-spec-23.3.0.tgz", + "integrity": "sha512-IGJtuBbaGzOUgODdBRg66p8stnwj9iDXkgbYKoYcNiiQmaez5WVRfXm4b03MCDwmZyX93csbfHFWEJJYHnn5oA==", "license": "ISC", "dependencies": { "@mapbox/jsonlint-lines-primitives": "~2.0.2", @@ -3930,27 +3993,6 @@ "integrity": "sha512-43MtGpd585SNzHZPcYowu/84Vz2a2g31TvPMTm9uTiCSWzaheQySUcSyUH/46fPnuPQWof2yd0pGBtzee/IQWw==", "license": "Apache-2.0" }, - "node_modules/@modelcontextprotocol/sdk": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.11.0.tgz", - "integrity": "sha512-k/1pb70eD638anoi0e8wUGAlbMJXyvdV4p62Ko+EZ7eBe1xMx8Uhak1R5DgfoofsK5IBBnRwsYGTaLZl+6/+RQ==", - "license": "MIT", - "dependencies": { - "content-type": "^1.0.5", - "cors": "^2.8.5", - "cross-spawn": "^7.0.3", - "eventsource": "^3.0.2", - "express": "^5.0.1", - "express-rate-limit": "^7.5.0", - "pkce-challenge": "^5.0.0", - "raw-body": "^3.0.0", - "zod": "^3.23.8", - "zod-to-json-schema": "^3.24.1" - }, - "engines": { - "node": ">=18" - } - }, "node_modules/@nicolo-ribaudo/chokidar-2": { "version": "2.1.8-no-fsevents.3", "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz", @@ -4292,9 +4334,9 @@ } }, "node_modules/@pkgr/core": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.2.4.tgz", - "integrity": "sha512-ROFF39F6ZrnzSUEmQQZUar0Jt4xVoP9WnDRdWwF4NNcXs3xBTLgBUDoOwW141y1jP+S8nahIbdxbFC7IShw9Iw==", + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.2.7.tgz", + "integrity": "sha512-YLT9Zo3oNPJoBjBc4q8G2mjU4tqIbf5CEOORbUUr48dCD9q3umJ3IPlVqOqDakPfd2HuwccBaqlGhN4Gmr5OWg==", "license": "MIT", "engines": { "node": "^12.20.0 || ^14.18.0 || >=16.0.0" @@ -4309,10 +4351,16 @@ "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==", "license": "MIT" }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-beta.19", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.19.tgz", + "integrity": "sha512-3FL3mnMbPu0muGOCaKAhhFEYmqv9eTfPSJRJmANrCwtgK8VuxpsZDGK+m0LYAGoyO8+0j5uRe4PeyPDK1yA/hA==", + "license": "MIT" + }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.40.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.40.2.tgz", - "integrity": "sha512-JkdNEq+DFxZfUwxvB58tHMHBHVgX23ew41g1OQinthJ+ryhdRk67O31S7sYw8u2lTjHUPFxwar07BBt1KHp/hg==", + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.45.1.tgz", + "integrity": "sha512-NEySIFvMY0ZQO+utJkgoMiCAjMrGvnbDLHvcmlA33UXJpYBCvlBEbMMtV837uCkS+plG2umfhn0T5mMAxGrlRA==", "cpu": [ "arm" ], @@ -4323,9 +4371,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.40.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.40.2.tgz", - "integrity": "sha512-13unNoZ8NzUmnndhPTkWPWbX3vtHodYmy+I9kuLxN+F+l+x3LdVF7UCu8TWVMt1POHLh6oDHhnOA04n8oJZhBw==", + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.45.1.tgz", + "integrity": "sha512-ujQ+sMXJkg4LRJaYreaVx7Z/VMgBBd89wGS4qMrdtfUFZ+TSY5Rs9asgjitLwzeIbhwdEhyj29zhst3L1lKsRQ==", "cpu": [ "arm64" ], @@ -4336,9 +4384,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.40.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.40.2.tgz", - "integrity": "sha512-Gzf1Hn2Aoe8VZzevHostPX23U7N5+4D36WJNHK88NZHCJr7aVMG4fadqkIf72eqVPGjGc0HJHNuUaUcxiR+N/w==", + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.45.1.tgz", + "integrity": "sha512-FSncqHvqTm3lC6Y13xncsdOYfxGSLnP+73k815EfNmpewPs+EyM49haPS105Rh4aF5mJKywk9X0ogzLXZzN9lA==", "cpu": [ "arm64" ], @@ -4349,9 +4397,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.40.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.40.2.tgz", - "integrity": "sha512-47N4hxa01a4x6XnJoskMKTS8XZ0CZMd8YTbINbi+w03A2w4j1RTlnGHOz/P0+Bg1LaVL6ufZyNprSg+fW5nYQQ==", + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.45.1.tgz", + "integrity": "sha512-2/vVn/husP5XI7Fsf/RlhDaQJ7x9zjvC81anIVbr4b/f0xtSmXQTFcGIQ/B1cXIYM6h2nAhJkdMHTnD7OtQ9Og==", "cpu": [ "x64" ], @@ -4362,9 +4410,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.40.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.40.2.tgz", - "integrity": "sha512-8t6aL4MD+rXSHHZUR1z19+9OFJ2rl1wGKvckN47XFRVO+QL/dUSpKA2SLRo4vMg7ELA8pzGpC+W9OEd1Z/ZqoQ==", + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.45.1.tgz", + "integrity": "sha512-4g1kaDxQItZsrkVTdYQ0bxu4ZIQ32cotoQbmsAnW1jAE4XCMbcBPDirX5fyUzdhVCKgPcrwWuucI8yrVRBw2+g==", "cpu": [ "arm64" ], @@ -4375,9 +4423,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.40.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.40.2.tgz", - "integrity": "sha512-C+AyHBzfpsOEYRFjztcYUFsH4S7UsE9cDtHCtma5BK8+ydOZYgMmWg1d/4KBytQspJCld8ZIujFMAdKG1xyr4Q==", + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.45.1.tgz", + "integrity": "sha512-L/6JsfiL74i3uK1Ti2ZFSNsp5NMiM4/kbbGEcOCps99aZx3g8SJMO1/9Y0n/qKlWZfn6sScf98lEOUe2mBvW9A==", "cpu": [ "x64" ], @@ -4388,9 +4436,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.40.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.40.2.tgz", - "integrity": "sha512-de6TFZYIvJwRNjmW3+gaXiZ2DaWL5D5yGmSYzkdzjBDS3W+B9JQ48oZEsmMvemqjtAFzE16DIBLqd6IQQRuG9Q==", + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.45.1.tgz", + "integrity": "sha512-RkdOTu2jK7brlu+ZwjMIZfdV2sSYHK2qR08FUWcIoqJC2eywHbXr0L8T/pONFwkGukQqERDheaGTeedG+rra6Q==", "cpu": [ "arm" ], @@ -4401,9 +4449,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.40.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.40.2.tgz", - "integrity": "sha512-urjaEZubdIkacKc930hUDOfQPysezKla/O9qV+O89enqsqUmQm8Xj8O/vh0gHg4LYfv7Y7UsE3QjzLQzDYN1qg==", + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.45.1.tgz", + "integrity": "sha512-3kJ8pgfBt6CIIr1o+HQA7OZ9mp/zDk3ctekGl9qn/pRBgrRgfwiffaUmqioUGN9hv0OHv2gxmvdKOkARCtRb8Q==", "cpu": [ "arm" ], @@ -4414,9 +4462,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.40.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.40.2.tgz", - "integrity": "sha512-KlE8IC0HFOC33taNt1zR8qNlBYHj31qGT1UqWqtvR/+NuCVhfufAq9fxO8BMFC22Wu0rxOwGVWxtCMvZVLmhQg==", + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.45.1.tgz", + "integrity": "sha512-k3dOKCfIVixWjG7OXTCOmDfJj3vbdhN0QYEqB+OuGArOChek22hn7Uy5A/gTDNAcCy5v2YcXRJ/Qcnm4/ma1xw==", "cpu": [ "arm64" ], @@ -4427,9 +4475,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.40.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.40.2.tgz", - "integrity": "sha512-j8CgxvfM0kbnhu4XgjnCWJQyyBOeBI1Zq91Z850aUddUmPeQvuAy6OiMdPS46gNFgy8gN1xkYyLgwLYZG3rBOg==", + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.45.1.tgz", + "integrity": "sha512-PmI1vxQetnM58ZmDFl9/Uk2lpBBby6B6rF4muJc65uZbxCs0EA7hhKCk2PKlmZKuyVSHAyIw3+/SiuMLxKxWog==", "cpu": [ "arm64" ], @@ -4440,9 +4488,9 @@ ] }, "node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.40.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.40.2.tgz", - "integrity": "sha512-Ybc/1qUampKuRF4tQXc7G7QY9YRyeVSykfK36Y5Qc5dmrIxwFhrOzqaVTNoZygqZ1ZieSWTibfFhQ5qK8jpWxw==", + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.45.1.tgz", + "integrity": "sha512-9UmI0VzGmNJ28ibHW2GpE2nF0PBQqsyiS4kcJ5vK+wuwGnV5RlqdczVocDSUfGX/Na7/XINRVoUgJyFIgipoRg==", "cpu": [ "loong64" ], @@ -4453,9 +4501,9 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.40.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.40.2.tgz", - "integrity": "sha512-3FCIrnrt03CCsZqSYAOW/k9n625pjpuMzVfeI+ZBUSDT3MVIFDSPfSUgIl9FqUftxcUXInvFah79hE1c9abD+Q==", + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.45.1.tgz", + "integrity": "sha512-7nR2KY8oEOUTD3pBAxIBBbZr0U7U+R9HDTPNy+5nVVHDXI4ikYniH1oxQz9VoB5PbBU1CZuDGHkLJkd3zLMWsg==", "cpu": [ "ppc64" ], @@ -4466,9 +4514,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.40.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.40.2.tgz", - "integrity": "sha512-QNU7BFHEvHMp2ESSY3SozIkBPaPBDTsfVNGx3Xhv+TdvWXFGOSH2NJvhD1zKAT6AyuuErJgbdvaJhYVhVqrWTg==", + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.45.1.tgz", + "integrity": "sha512-nlcl3jgUultKROfZijKjRQLUu9Ma0PeNv/VFHkZiKbXTBQXhpytS8CIj5/NfBeECZtY2FJQubm6ltIxm/ftxpw==", "cpu": [ "riscv64" ], @@ -4479,9 +4527,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.40.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.40.2.tgz", - "integrity": "sha512-5W6vNYkhgfh7URiXTO1E9a0cy4fSgfE4+Hl5agb/U1sa0kjOLMLC1wObxwKxecE17j0URxuTrYZZME4/VH57Hg==", + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.45.1.tgz", + "integrity": "sha512-HJV65KLS51rW0VY6rvZkiieiBnurSzpzore1bMKAhunQiECPuxsROvyeaot/tcK3A3aGnI+qTHqisrpSgQrpgA==", "cpu": [ "riscv64" ], @@ -4492,9 +4540,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.40.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.40.2.tgz", - "integrity": "sha512-B7LKIz+0+p348JoAL4X/YxGx9zOx3sR+o6Hj15Y3aaApNfAshK8+mWZEf759DXfRLeL2vg5LYJBB7DdcleYCoQ==", + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.45.1.tgz", + "integrity": "sha512-NITBOCv3Qqc6hhwFt7jLV78VEO/il4YcBzoMGGNxznLgRQf43VQDae0aAzKiBeEPIxnDrACiMgbqjuihx08OOw==", "cpu": [ "s390x" ], @@ -4505,9 +4553,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.40.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.40.2.tgz", - "integrity": "sha512-lG7Xa+BmBNwpjmVUbmyKxdQJ3Q6whHjMjzQplOs5Z+Gj7mxPtWakGHqzMqNER68G67kmCX9qX57aRsW5V0VOng==", + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.45.1.tgz", + "integrity": "sha512-+E/lYl6qu1zqgPEnTrs4WysQtvc/Sh4fC2nByfFExqgYrqkKWp1tWIbe+ELhixnenSpBbLXNi6vbEEJ8M7fiHw==", "cpu": [ "x64" ], @@ -4518,9 +4566,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.40.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.40.2.tgz", - "integrity": "sha512-tD46wKHd+KJvsmije4bUskNuvWKFcTOIM9tZ/RrmIvcXnbi0YK/cKS9FzFtAm7Oxi2EhV5N2OpfFB348vSQRXA==", + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.45.1.tgz", + "integrity": "sha512-a6WIAp89p3kpNoYStITT9RbTbTnqarU7D8N8F2CV+4Cl9fwCOZraLVuVFvlpsW0SbIiYtEnhCZBPLoNdRkjQFw==", "cpu": [ "x64" ], @@ -4531,9 +4579,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.40.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.40.2.tgz", - "integrity": "sha512-Bjv/HG8RRWLNkXwQQemdsWw4Mg+IJ29LK+bJPW2SCzPKOUaMmPEppQlu/Fqk1d7+DX3V7JbFdbkh/NMmurT6Pg==", + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.45.1.tgz", + "integrity": "sha512-T5Bi/NS3fQiJeYdGvRpTAP5P02kqSOpqiopwhj0uaXB6nzs5JVi2XMJb18JUSKhCOX8+UE1UKQufyD6Or48dJg==", "cpu": [ "arm64" ], @@ -4544,9 +4592,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.40.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.40.2.tgz", - "integrity": "sha512-dt1llVSGEsGKvzeIO76HToiYPNPYPkmjhMHhP00T9S4rDern8P2ZWvWAQUEJ+R1UdMWJ/42i/QqJ2WV765GZcA==", + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.45.1.tgz", + "integrity": "sha512-lxV2Pako3ujjuUe9jiU3/s7KSrDfH6IgTSQOnDWr9aJ92YsFd7EurmClK0ly/t8dzMkDtd04g60WX6yl0sGfdw==", "cpu": [ "ia32" ], @@ -4557,9 +4605,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.40.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.40.2.tgz", - "integrity": "sha512-bwspbWB04XJpeElvsp+DCylKfF4trJDa2Y9Go8O6A7YLX2LIKGcNK/CYImJN6ZP4DcuOHB4Utl3iCbnR62DudA==", + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.45.1.tgz", + "integrity": "sha512-M/fKi4sasCdM8i0aWJjCSFm2qEnYRR8AMLG2kxp6wD13+tMGA4Z1tVAuHkNRjud5SW2EM3naLuK35w9twvf6aA==", "cpu": [ "x64" ], @@ -4592,7 +4640,6 @@ "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.0.tgz", "integrity": "sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==", "license": "MIT", - "peer": true, "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", @@ -4673,21 +4720,24 @@ } } }, - "node_modules/@trysound/sax": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", - "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", - "license": "ISC", + "node_modules/@testing-library/user-event": { + "version": "14.6.1", + "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.6.1.tgz", + "integrity": "sha512-vq7fv0rnt+QTXgPxr5Hjc210p6YKq2kmdziLgnsZGgLJ9e6VAShx1pACLuRjd/AS/sr7phAR58OIIpf0LlmQNw==", + "license": "MIT", "engines": { - "node": ">=10.13.0" + "node": ">=12", + "npm": ">=6" + }, + "peerDependencies": { + "@testing-library/dom": ">=7.21.4" } }, "node_modules/@types/aria-query": { "version": "5.0.4", "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/@types/babel__core": { "version": "7.20.5", @@ -4730,15 +4780,30 @@ "@babel/types": "^7.20.7" } }, + "node_modules/@types/chai": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.2.tgz", + "integrity": "sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==", + "license": "MIT", + "dependencies": { + "@types/deep-eql": "*" + } + }, "node_modules/@types/cors": { - "version": "2.8.17", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.17.tgz", - "integrity": "sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==", + "version": "2.8.19", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.19.tgz", + "integrity": "sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg==", "license": "MIT", "dependencies": { "@types/node": "*" } }, + "node_modules/@types/deep-eql": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", + "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", + "license": "MIT" + }, "node_modules/@types/eslint": { "version": "8.56.12", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.12.tgz", @@ -4760,9 +4825,9 @@ } }, "node_modules/@types/estree": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz", - "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", "license": "MIT" }, "node_modules/@types/geojson": { @@ -4850,12 +4915,12 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.15.15", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.15.tgz", - "integrity": "sha512-R5muMcZob3/Jjchn5LcO8jdKwSCbzqmPB6ruBxMcf9kbxtniZHP327s6C37iOfuw8mbKK3cAQa7sEl7afLrQ8A==", + "version": "24.0.14", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.0.14.tgz", + "integrity": "sha512-4zXMWD91vBLGRtHK3YbIoFMia+1nqEz72coM42C5ETjnNCa/heoj7NT1G67iAfOqMmcfhuCZ4uNpyz8EjlAejw==", "license": "MIT", "dependencies": { - "undici-types": "~6.21.0" + "undici-types": "~7.8.0" } }, "node_modules/@types/parse-json": { @@ -4901,14 +4966,15 @@ "license": "MIT" }, "node_modules/@vitejs/plugin-react": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.4.1.tgz", - "integrity": "sha512-IpEm5ZmeXAP/osiBXVVP5KjFMzbWOonMs0NaQQl+xYnUAcq4oHUBsF2+p4MgKWG4YMmFYJU8A6sxRPuowllm6w==", + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.6.0.tgz", + "integrity": "sha512-5Kgff+m8e2PB+9j51eGHEpn5kUzRKH2Ry0qGoe8ItJg7pqnkPrYPkDQZGgGmTa0EGarHrkjLvOdU3b1fzI8otQ==", "license": "MIT", "dependencies": { - "@babel/core": "^7.26.10", - "@babel/plugin-transform-react-jsx-self": "^7.25.9", - "@babel/plugin-transform-react-jsx-source": "^7.25.9", + "@babel/core": "^7.27.4", + "@babel/plugin-transform-react-jsx-self": "^7.27.1", + "@babel/plugin-transform-react-jsx-source": "^7.27.1", + "@rolldown/pluginutils": "1.0.0-beta.19", "@types/babel__core": "^7.20.5", "react-refresh": "^0.17.0" }, @@ -4916,31 +4982,70 @@ "node": "^14.18.0 || >=16.0.0" }, "peerDependencies": { - "vite": "^4.2.0 || ^5.0.0 || ^6.0.0" + "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0" } }, "node_modules/@vitejs/plugin-vue": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.2.4.tgz", - "integrity": "sha512-7Yx/SXSOcQq5HiiV3orevHUFn+pmMB4cgbEkDYgnkUWb0WfeQ/wa2yFv6D5ICiCQOVpjA7vYDXrC7AGO8yjDHA==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-6.0.0.tgz", + "integrity": "sha512-iAliE72WsdhjzTOp2DtvKThq1VBC4REhwRcaA+zPAAph6I+OQhUXv+Xu2KS7ElxYtb7Zc/3R30Hwv1DxEo7NXQ==", "license": "MIT", + "dependencies": { + "@rolldown/pluginutils": "1.0.0-beta.19" + }, "engines": { - "node": "^18.0.0 || >=20.0.0" + "node": "^20.19.0 || >=22.12.0" }, "peerDependencies": { - "vite": "^5.0.0 || ^6.0.0", + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0", "vue": "^3.2.25" } }, + "node_modules/@vitest/browser": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/browser/-/browser-3.2.4.tgz", + "integrity": "sha512-tJxiPrWmzH8a+w9nLKlQMzAKX/7VjFs50MWgcAj7p9XQ7AQ9/35fByFYptgPELyLw+0aixTnC4pUWV+APcZ/kw==", + "license": "MIT", + "dependencies": { + "@testing-library/dom": "^10.4.0", + "@testing-library/user-event": "^14.6.1", + "@vitest/mocker": "3.2.4", + "@vitest/utils": "3.2.4", + "magic-string": "^0.30.17", + "sirv": "^3.0.1", + "tinyrainbow": "^2.0.0", + "ws": "^8.18.2" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "playwright": "*", + "vitest": "3.2.4", + "webdriverio": "^7.0.0 || ^8.0.0 || ^9.0.0" + }, + "peerDependenciesMeta": { + "playwright": { + "optional": true + }, + "safaridriver": { + "optional": true + }, + "webdriverio": { + "optional": true + } + } + }, "node_modules/@vitest/coverage-v8": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-3.1.3.tgz", - "integrity": "sha512-cj76U5gXCl3g88KSnf80kof6+6w+K4BjOflCl7t6yRJPDuCrHtVu0SgNYOUARJOL5TI8RScDbm5x4s1/P9bvpw==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-3.2.4.tgz", + "integrity": "sha512-EyF9SXU6kS5Ku/U82E259WSnvg6c8KTjppUncuNdm5QHpe17mwREHnjDzozC8x9MZ0xfBUFSaLkRv4TMA75ALQ==", "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.3.0", "@bcoe/v8-coverage": "^1.0.2", - "debug": "^4.4.0", + "ast-v8-to-istanbul": "^0.3.3", + "debug": "^4.4.1", "istanbul-lib-coverage": "^3.2.2", "istanbul-lib-report": "^3.0.1", "istanbul-lib-source-maps": "^5.0.6", @@ -4955,8 +5060,8 @@ "url": "https://opencollective.com/vitest" }, "peerDependencies": { - "@vitest/browser": "3.1.3", - "vitest": "3.1.3" + "@vitest/browser": "3.2.4", + "vitest": "3.2.4" }, "peerDependenciesMeta": { "@vitest/browser": { @@ -4965,13 +5070,14 @@ } }, "node_modules/@vitest/expect": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.1.3.tgz", - "integrity": "sha512-7FTQQuuLKmN1Ig/h+h/GO+44Q1IlglPlR2es4ab7Yvfx+Uk5xsv+Ykk+MEt/M2Yn/xGmzaLKxGw2lgy2bwuYqg==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.2.4.tgz", + "integrity": "sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==", "license": "MIT", "dependencies": { - "@vitest/spy": "3.1.3", - "@vitest/utils": "3.1.3", + "@types/chai": "^5.2.2", + "@vitest/spy": "3.2.4", + "@vitest/utils": "3.2.4", "chai": "^5.2.0", "tinyrainbow": "^2.0.0" }, @@ -4980,12 +5086,12 @@ } }, "node_modules/@vitest/mocker": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.1.3.tgz", - "integrity": "sha512-PJbLjonJK82uCWHjzgBJZuR7zmAOrSvKk1QBxrennDIgtH4uK0TB1PvYmc0XBCigxxtiAVPfWtAdy4lpz8SQGQ==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.4.tgz", + "integrity": "sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==", "license": "MIT", "dependencies": { - "@vitest/spy": "3.1.3", + "@vitest/spy": "3.2.4", "estree-walker": "^3.0.3", "magic-string": "^0.30.17" }, @@ -4994,7 +5100,7 @@ }, "peerDependencies": { "msw": "^2.4.9", - "vite": "^5.0.0 || ^6.0.0" + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0" }, "peerDependenciesMeta": { "msw": { @@ -5005,19 +5111,10 @@ } } }, - "node_modules/@vitest/mocker/node_modules/estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0" - } - }, "node_modules/@vitest/pretty-format": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.1.3.tgz", - "integrity": "sha512-i6FDiBeJUGLDKADw2Gb01UtUNb12yyXAqC/mmRWuYl+m/U9GS7s8us5ONmGkGpUUo7/iAYzI2ePVfOZTYvUifA==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz", + "integrity": "sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==", "license": "MIT", "dependencies": { "tinyrainbow": "^2.0.0" @@ -5027,25 +5124,26 @@ } }, "node_modules/@vitest/runner": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.1.3.tgz", - "integrity": "sha512-Tae+ogtlNfFei5DggOsSUvkIaSuVywujMj6HzR97AHK6XK8i3BuVyIifWAm/sE3a15lF5RH9yQIrbXYuo0IFyA==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.2.4.tgz", + "integrity": "sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==", "license": "MIT", "dependencies": { - "@vitest/utils": "3.1.3", - "pathe": "^2.0.3" + "@vitest/utils": "3.2.4", + "pathe": "^2.0.3", + "strip-literal": "^3.0.0" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/@vitest/snapshot": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.1.3.tgz", - "integrity": "sha512-XVa5OPNTYUsyqG9skuUkFzAeFnEzDp8hQu7kZ0N25B1+6KjGm4hWLtURyBbsIAOekfWQ7Wuz/N/XXzgYO3deWQ==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.4.tgz", + "integrity": "sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==", "license": "MIT", "dependencies": { - "@vitest/pretty-format": "3.1.3", + "@vitest/pretty-format": "3.2.4", "magic-string": "^0.30.17", "pathe": "^2.0.3" }, @@ -5054,46 +5152,46 @@ } }, "node_modules/@vitest/spy": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.1.3.tgz", - "integrity": "sha512-x6w+ctOEmEXdWaa6TO4ilb7l9DxPR5bwEb6hILKuxfU1NqWT2mpJD9NJN7t3OTfxmVlOMrvtoFJGdgyzZ605lQ==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.2.4.tgz", + "integrity": "sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==", "license": "MIT", "dependencies": { - "tinyspy": "^3.0.2" + "tinyspy": "^4.0.3" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/@vitest/ui": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@vitest/ui/-/ui-3.1.3.tgz", - "integrity": "sha512-IipSzX+8DptUdXN/GWq3hq5z18MwnpphYdOMm0WndkRGYELzfq7NDP8dMpZT7JGW1uXFrIGxOW2D0Xi++ulByg==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/ui/-/ui-3.2.4.tgz", + "integrity": "sha512-hGISOaP18plkzbWEcP/QvtRW1xDXF2+96HbEX6byqQhAUbiS5oH6/9JwW+QsQCIYON2bI6QZBF+2PvOmrRZ9wA==", "license": "MIT", "dependencies": { - "@vitest/utils": "3.1.3", + "@vitest/utils": "3.2.4", "fflate": "^0.8.2", "flatted": "^3.3.3", "pathe": "^2.0.3", "sirv": "^3.0.1", - "tinyglobby": "^0.2.13", + "tinyglobby": "^0.2.14", "tinyrainbow": "^2.0.0" }, "funding": { "url": "https://opencollective.com/vitest" }, "peerDependencies": { - "vitest": "3.1.3" + "vitest": "3.2.4" } }, "node_modules/@vitest/utils": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.1.3.tgz", - "integrity": "sha512-2Ltrpht4OmHO9+c/nmHtF09HWiyWdworqnHIwjfvDyWjuwKbdkcS9AnhsDn+8E2RM4x++foD1/tNuLPVvWG1Rg==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.2.4.tgz", + "integrity": "sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==", "license": "MIT", "dependencies": { - "@vitest/pretty-format": "3.1.3", - "loupe": "^3.1.3", + "@vitest/pretty-format": "3.2.4", + "loupe": "^3.1.4", "tinyrainbow": "^2.0.0" }, "funding": { @@ -5101,23 +5199,23 @@ } }, "node_modules/@volar/language-core": { - "version": "2.4.13", - "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.13.tgz", - "integrity": "sha512-MnQJ7eKchJx5Oz+YdbqyFUk8BN6jasdJv31n/7r6/WwlOOv7qzvot6B66887l2ST3bUW4Mewml54euzpJWA6bg==", + "version": "2.4.17", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.17.tgz", + "integrity": "sha512-chmRZMbKmcGpKMoO7Reb70uiLrzo0KWC2CkFttKUuKvrE+VYgi+fL9vWMJ07Fv5ulX0V1TAyyacN9q3nc5/ecA==", "license": "MIT", "dependencies": { - "@volar/source-map": "2.4.13" + "@volar/source-map": "2.4.17" } }, "node_modules/@volar/language-server": { - "version": "2.4.13", - "resolved": "https://registry.npmjs.org/@volar/language-server/-/language-server-2.4.13.tgz", - "integrity": "sha512-g8ucG5+FJgQT2r+Te1Pk+ppoPHCwzJ54gq/oN1utjtA3+iE9hp5E+M60Ks+hhGrexUPC/E3EABDQlCagmEal+Q==", + "version": "2.4.17", + "resolved": "https://registry.npmjs.org/@volar/language-server/-/language-server-2.4.17.tgz", + "integrity": "sha512-KUa0v5JjgbQ8hqDTJDoUFDcAfHoE34kd13qAldHst2+zCeOoAthDBg6ZU7d2cGQznCsx7Vm0k5dRrOxj8JG+dg==", "license": "MIT", "dependencies": { - "@volar/language-core": "2.4.13", - "@volar/language-service": "2.4.13", - "@volar/typescript": "2.4.13", + "@volar/language-core": "2.4.17", + "@volar/language-service": "2.4.17", + "@volar/typescript": "2.4.17", "path-browserify": "^1.0.1", "request-light": "^0.7.0", "vscode-languageserver": "^9.0.1", @@ -5127,42 +5225,30 @@ } }, "node_modules/@volar/language-service": { - "version": "2.4.13", - "resolved": "https://registry.npmjs.org/@volar/language-service/-/language-service-2.4.13.tgz", - "integrity": "sha512-yngNLIxt1w3S60YLTRAa7MSE1IRmXcxGA9ttLjndY0Jc3owCFjeAWSPeXBILZBJOtdT8rP07JY1ozwUls/gvRg==", + "version": "2.4.17", + "resolved": "https://registry.npmjs.org/@volar/language-service/-/language-service-2.4.17.tgz", + "integrity": "sha512-FPmLSJL5znBbfDANuemGeXY3WSLqACs8+NcC4BtATD77nQBx5zubsSXlU1lVJv005pzXqtyhd4dzICUTwo61CQ==", "license": "MIT", "dependencies": { - "@volar/language-core": "2.4.13", + "@volar/language-core": "2.4.17", "vscode-languageserver-protocol": "^3.17.5", "vscode-languageserver-textdocument": "^1.0.11", "vscode-uri": "^3.0.8" } }, "node_modules/@volar/source-map": { - "version": "2.4.13", - "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.13.tgz", - "integrity": "sha512-l/EBcc2FkvHgz2ZxV+OZK3kMSroMr7nN3sZLF2/f6kWW66q8+tEL4giiYyFjt0BcubqJhBt6soYIrAPhg/Yr+Q==", + "version": "2.4.17", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.17.tgz", + "integrity": "sha512-QDybtQyO3Ms/NjFqNHTC5tbDN2oK5VH7ZaKrcubtfHBDj63n2pizHC3wlMQ+iT55kQXZUUAbmBX5L1C8CHFeBw==", "license": "MIT" }, - "node_modules/@volar/test-utils": { - "version": "2.4.13", - "resolved": "https://registry.npmjs.org/@volar/test-utils/-/test-utils-2.4.13.tgz", - "integrity": "sha512-tb0PP1BQY0lPwVcT0qAs9N20iOxRHjmdQPEJfbJAJc38bvDhaC+XjZZjlAzEnhjU51dodcrZBAR/xt7wrwqffQ==", - "license": "MIT", - "dependencies": { - "@volar/language-core": "2.4.13", - "@volar/language-server": "2.4.13", - "vscode-languageserver-textdocument": "^1.0.11", - "vscode-uri": "^3.0.8" - } - }, "node_modules/@volar/typescript": { - "version": "2.4.13", - "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.13.tgz", - "integrity": "sha512-Ukz4xv84swJPupZeoFsQoeJEOm7U9pqsEnaGGgt5ni3SCTa22m8oJP5Nng3Wed7Uw5RBELdLxxORX8YhJPyOgQ==", + "version": "2.4.17", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.17.tgz", + "integrity": "sha512-3paEFNh4P5DkgNUB2YkTRrfUekN4brAXxd3Ow1syMqdIPtCZHbUy4AW99S5RO/7mzyTWPMdDSo3mqTpB/LPObQ==", "license": "MIT", "dependencies": { - "@volar/language-core": "2.4.13", + "@volar/language-core": "2.4.17", "path-browserify": "^1.0.1", "vscode-uri": "^3.0.8" } @@ -5187,53 +5273,65 @@ "license": "MIT" }, "node_modules/@vue/compiler-core": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.13.tgz", - "integrity": "sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==", + "version": "3.5.17", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.17.tgz", + "integrity": "sha512-Xe+AittLbAyV0pabcN7cP7/BenRBNcteM4aSDCtRvGw0d9OL+HG1u/XHLY/kt1q4fyMeZYXyIYrsHuPSiDPosA==", "license": "MIT", "dependencies": { - "@babel/parser": "^7.25.3", - "@vue/shared": "3.5.13", + "@babel/parser": "^7.27.5", + "@vue/shared": "3.5.17", "entities": "^4.5.0", "estree-walker": "^2.0.2", - "source-map-js": "^1.2.0" + "source-map-js": "^1.2.1" } }, + "node_modules/@vue/compiler-core/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, "node_modules/@vue/compiler-dom": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.13.tgz", - "integrity": "sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==", + "version": "3.5.17", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.17.tgz", + "integrity": "sha512-+2UgfLKoaNLhgfhV5Ihnk6wB4ljyW1/7wUIog2puUqajiC29Lp5R/IKDdkebh9jTbTogTbsgB+OY9cEWzG95JQ==", "license": "MIT", "dependencies": { - "@vue/compiler-core": "3.5.13", - "@vue/shared": "3.5.13" + "@vue/compiler-core": "3.5.17", + "@vue/shared": "3.5.17" } }, "node_modules/@vue/compiler-sfc": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.13.tgz", - "integrity": "sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==", + "version": "3.5.17", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.17.tgz", + "integrity": "sha512-rQQxbRJMgTqwRugtjw0cnyQv9cP4/4BxWfTdRBkqsTfLOHWykLzbOc3C4GGzAmdMDxhzU/1Ija5bTjMVrddqww==", "license": "MIT", "dependencies": { - "@babel/parser": "^7.25.3", - "@vue/compiler-core": "3.5.13", - "@vue/compiler-dom": "3.5.13", - "@vue/compiler-ssr": "3.5.13", - "@vue/shared": "3.5.13", + "@babel/parser": "^7.27.5", + "@vue/compiler-core": "3.5.17", + "@vue/compiler-dom": "3.5.17", + "@vue/compiler-ssr": "3.5.17", + "@vue/shared": "3.5.17", "estree-walker": "^2.0.2", - "magic-string": "^0.30.11", - "postcss": "^8.4.48", - "source-map-js": "^1.2.0" + "magic-string": "^0.30.17", + "postcss": "^8.5.6", + "source-map-js": "^1.2.1" } }, + "node_modules/@vue/compiler-sfc/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, "node_modules/@vue/compiler-ssr": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.13.tgz", - "integrity": "sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==", + "version": "3.5.17", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.17.tgz", + "integrity": "sha512-hkDbA0Q20ZzGgpj5uZjb9rBzQtIHLS78mMilwrlpWk2Ep37DYntUz0PonQ6kr113vfOEdM+zTBuJDaceNIW0tQ==", "license": "MIT", "dependencies": { - "@vue/compiler-dom": "3.5.13", - "@vue/shared": "3.5.13" + "@vue/compiler-dom": "3.5.17", + "@vue/shared": "3.5.17" } }, "node_modules/@vue/compiler-vue2": { @@ -5253,17 +5351,17 @@ "license": "MIT" }, "node_modules/@vue/language-core": { - "version": "2.2.10", - "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-2.2.10.tgz", - "integrity": "sha512-+yNoYx6XIKuAO8Mqh1vGytu8jkFEOH5C8iOv3i8Z/65A7x9iAOXA97Q+PqZ3nlm2lxf5rOJuIGI/wDtx/riNYw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-3.0.1.tgz", + "integrity": "sha512-sq+/Mc1IqIexWEQ+Q2XPiDb5SxSvY5JPqHnMOl/PlF5BekslzduX8dglSkpC17VeiAQB6dpS+4aiwNLJRduCNw==", "license": "MIT", "dependencies": { - "@volar/language-core": "~2.4.11", + "@volar/language-core": "2.4.17", "@vue/compiler-dom": "^3.5.0", "@vue/compiler-vue2": "^2.7.16", "@vue/shared": "^3.5.0", - "alien-signals": "^1.0.3", - "minimatch": "^9.0.3", + "alien-signals": "^2.0.5", + "minimatch": "^10.0.1", "muggle-string": "^0.4.1", "path-browserify": "^1.0.1" }, @@ -5276,126 +5374,110 @@ } } }, - "node_modules/@vue/language-core/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, "node_modules/@vue/language-core/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "version": "10.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.3.tgz", + "integrity": "sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==", "license": "ISC", "dependencies": { - "brace-expansion": "^2.0.1" + "@isaacs/brace-expansion": "^5.0.0" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": "20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/@vue/language-server": { - "version": "2.2.10", - "resolved": "https://registry.npmjs.org/@vue/language-server/-/language-server-2.2.10.tgz", - "integrity": "sha512-xNV7zmENTzTZdD9xRDpZK21S/cfwVBeIS7zEf8VIuBCkFEA21zgG/EmI6Q/vF3N7RJnNm1oCCyRCdyl6MI29tQ==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@vue/language-server/-/language-server-3.0.1.tgz", + "integrity": "sha512-xrSyL4QNc/7vR0A1QuKrFu36WhD+AJbEMfEE+dmyf7aTMmCqSwSpbhFEfEf9xdGmTSkBiGNzJfesTM6sOSFFmA==", "license": "MIT", "dependencies": { - "@volar/language-core": "~2.4.11", - "@volar/language-server": "~2.4.11", - "@volar/test-utils": "~2.4.11", - "@vue/language-core": "2.2.10", - "@vue/language-service": "2.2.10", - "@vue/typescript-plugin": "2.2.10", - "vscode-languageserver-protocol": "^3.17.5", + "@volar/language-server": "2.4.17", + "@vue/language-core": "3.0.1", + "@vue/language-service": "3.0.1", + "@vue/typescript-plugin": "3.0.1", "vscode-uri": "^3.0.8" }, "bin": { "vue-language-server": "bin/vue-language-server.js" + }, + "peerDependencies": { + "typescript": "*" } }, "node_modules/@vue/language-service": { - "version": "2.2.10", - "resolved": "https://registry.npmjs.org/@vue/language-service/-/language-service-2.2.10.tgz", - "integrity": "sha512-7ERgApCm65FnsSmOB9JmDk+DXBz4ReQdL9P1J9jo3ZSG5AFuyRCVD/mrLgqBh0k8xtPrVbcBnx5+rYvbI+KP/Q==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@vue/language-service/-/language-service-3.0.1.tgz", + "integrity": "sha512-1BnOMOFN6SChox7+kY13tW3eeGQGzB3VVHP50xLUqIHFSEss+DYmkmu9tkeR1Oeg0AsYnKUCckAwlEEPl57e3w==", "license": "MIT", "dependencies": { - "@volar/language-core": "~2.4.11", - "@volar/language-service": "~2.4.11", - "@volar/typescript": "~2.4.11", - "@vue/compiler-dom": "^3.5.0", - "@vue/language-core": "2.2.10", + "@volar/language-service": "2.4.17", + "@vue/language-core": "3.0.1", "@vue/shared": "^3.5.0", - "@vue/typescript-plugin": "2.2.10", - "alien-signals": "^1.0.3", "path-browserify": "^1.0.1", - "volar-service-css": "0.0.62", - "volar-service-emmet": "0.0.62", - "volar-service-html": "0.0.62", - "volar-service-json": "0.0.62", - "volar-service-pug": "0.0.62", - "volar-service-pug-beautify": "0.0.62", - "volar-service-typescript": "0.0.62", - "volar-service-typescript-twoslash-queries": "0.0.62", - "vscode-css-languageservice": "^6.3.1", + "volar-service-css": "0.0.64", + "volar-service-emmet": "0.0.64", + "volar-service-html": "0.0.64", + "volar-service-json": "0.0.64", + "volar-service-pug": "0.0.64", + "volar-service-pug-beautify": "0.0.64", + "volar-service-typescript": "0.0.64", + "volar-service-typescript-twoslash-queries": "0.0.64", "vscode-html-languageservice": "^5.2.0", - "vscode-languageserver-textdocument": "^1.0.11", "vscode-uri": "^3.0.8" } }, "node_modules/@vue/reactivity": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.13.tgz", - "integrity": "sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==", + "version": "3.5.17", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.17.tgz", + "integrity": "sha512-l/rmw2STIscWi7SNJp708FK4Kofs97zc/5aEPQh4bOsReD/8ICuBcEmS7KGwDj5ODQLYWVN2lNibKJL1z5b+Lw==", "license": "MIT", "dependencies": { - "@vue/shared": "3.5.13" + "@vue/shared": "3.5.17" } }, "node_modules/@vue/runtime-core": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.13.tgz", - "integrity": "sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==", + "version": "3.5.17", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.17.tgz", + "integrity": "sha512-QQLXa20dHg1R0ri4bjKeGFKEkJA7MMBxrKo2G+gJikmumRS7PTD4BOU9FKrDQWMKowz7frJJGqBffYMgQYS96Q==", "license": "MIT", "dependencies": { - "@vue/reactivity": "3.5.13", - "@vue/shared": "3.5.13" + "@vue/reactivity": "3.5.17", + "@vue/shared": "3.5.17" } }, "node_modules/@vue/runtime-dom": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.13.tgz", - "integrity": "sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==", + "version": "3.5.17", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.17.tgz", + "integrity": "sha512-8El0M60TcwZ1QMz4/os2MdlQECgGoVHPuLnQBU3m9h3gdNRW9xRmI8iLS4t/22OQlOE6aJvNNlBiCzPHur4H9g==", "license": "MIT", "dependencies": { - "@vue/reactivity": "3.5.13", - "@vue/runtime-core": "3.5.13", - "@vue/shared": "3.5.13", + "@vue/reactivity": "3.5.17", + "@vue/runtime-core": "3.5.17", + "@vue/shared": "3.5.17", "csstype": "^3.1.3" } }, "node_modules/@vue/server-renderer": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.13.tgz", - "integrity": "sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==", + "version": "3.5.17", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.17.tgz", + "integrity": "sha512-BOHhm8HalujY6lmC3DbqF6uXN/K00uWiEeF22LfEsm9Q93XeJ/plHTepGwf6tqFcF7GA5oGSSAAUock3VvzaCA==", "license": "MIT", "dependencies": { - "@vue/compiler-ssr": "3.5.13", - "@vue/shared": "3.5.13" + "@vue/compiler-ssr": "3.5.17", + "@vue/shared": "3.5.17" }, "peerDependencies": { - "vue": "3.5.13" + "vue": "3.5.17" } }, "node_modules/@vue/shared": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.13.tgz", - "integrity": "sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==", + "version": "3.5.17", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.17.tgz", + "integrity": "sha512-CabR+UN630VnsJO/jHWYBC1YVXyMq94KKp6iF5MQgZJs5I8cmjw6oVMO1oDbtBkENSHSSn/UadWlW/OAgdmKrg==", "license": "MIT" }, "node_modules/@vue/test-utils": { @@ -5409,14 +5491,15 @@ } }, "node_modules/@vue/typescript-plugin": { - "version": "2.2.10", - "resolved": "https://registry.npmjs.org/@vue/typescript-plugin/-/typescript-plugin-2.2.10.tgz", - "integrity": "sha512-niKMM8rvDep6AsZ+8FBnv5BjhkUFnxSkyVrihXkSKITGiz3UMLIvPBKRfgvWGtMdc+2a3yW7GEIo+eFJK+91ZA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@vue/typescript-plugin/-/typescript-plugin-3.0.1.tgz", + "integrity": "sha512-uumf1v6TxseOl3n5Zp+aFCFoBEEpu96r2acPO4chFJAKia8be8kTgomP4tWZDOMn/YwFF7L9rk3bNle8cFqSEw==", "license": "MIT", "dependencies": { - "@volar/typescript": "~2.4.11", - "@vue/language-core": "2.2.10", - "@vue/shared": "^3.5.0" + "@volar/typescript": "2.4.17", + "@vue/language-core": "3.0.1", + "@vue/shared": "^3.5.0", + "path-browserify": "^1.0.1" } }, "node_modules/@vuetify/loader-shared": { @@ -5433,9 +5516,9 @@ } }, "node_modules/@vvo/tzdb": { - "version": "6.161.0", - "resolved": "https://registry.npmjs.org/@vvo/tzdb/-/tzdb-6.161.0.tgz", - "integrity": "sha512-rvk2x77vnY87Tu1d8QuJk300WWzk8OP9/cDw2KgxEdjlYpLarJx82j2sPUpiy1wnjSuTTnYwpjBgZnNS5Iyb+w==", + "version": "6.178.0", + "resolved": "https://registry.npmjs.org/@vvo/tzdb/-/tzdb-6.178.0.tgz", + "integrity": "sha512-XH+cmmUhL2uTevyr2QOymBz319ln22/8I1heJA6JKq1Wl+ktkAjHYl1Ev4sY1W4zwe73JXwOnflqgZXOCM6opw==", "license": "MIT" }, "node_modules/@webassemblyjs/ast": { @@ -5650,18 +5733,27 @@ } }, "node_modules/accepts": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", - "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "license": "MIT", "dependencies": { - "mime-types": "^3.0.0", - "negotiator": "^1.0.0" + "mime-types": "~2.1.34", + "negotiator": "0.6.3" }, "engines": { "node": ">= 0.6" } }, + "node_modules/accepts/node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/acorn": { "version": "7.4.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", @@ -5770,9 +5862,9 @@ } }, "node_modules/acorn-walk/node_modules/acorn": { - "version": "8.14.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz", - "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "license": "MIT", "bin": { "acorn": "bin/acorn" @@ -5827,9 +5919,9 @@ } }, "node_modules/agent-base": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz", - "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==", + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", "license": "MIT", "engines": { "node": ">= 14" @@ -5900,11 +5992,61 @@ } }, "node_modules/alien-signals": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/alien-signals/-/alien-signals-1.0.13.tgz", - "integrity": "sha512-OGj9yyTnJEttvzhTUWuscOvtqxq5vrhF7vL9oS0xJ2mK0ItPYP1/y+vCFebfxoEyAz0++1AIwJ5CMr+Fk3nDmg==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/alien-signals/-/alien-signals-2.0.5.tgz", + "integrity": "sha512-PdJB6+06nUNAClInE3Dweq7/2xVAYM64vvvS1IHVHSJmgeOtEdrAGyp7Z2oJtYm0B342/Exd2NT0uMJaThcjLQ==", "license": "MIT" }, + "node_modules/align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha512-GrTZLRpmp6wIC2ztrWW9MjjTgSKccffgFagbNDOX95/dcjEcYZibYTeaOntySQLcdw1ztBoFkviiUvTMbb9MYg==", + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/align-text/node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "license": "MIT" + }, + "node_modules/align-text/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/alter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/alter/-/alter-0.2.0.tgz", + "integrity": "sha512-Wuss6JIZ6h4j2+NgU2t+9mSwS7gBSZJbU4Dg8xETguAD2veJUSuCrvTIiC78QgZE7/zX7h6OnXw2PiiCBirEGw==", + "license": "MIT", + "dependencies": { + "stable": "~0.1.3" + } + }, + "node_modules/amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==", + "license": "BSD-3-Clause OR MIT", + "engines": { + "node": ">=0.4.2" + } + }, "node_modules/ansi-escapes": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-6.2.1.tgz", @@ -5979,9 +6121,9 @@ "license": "BSD-2-Clause" }, "node_modules/aproba": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", - "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.1.0.tgz", + "integrity": "sha512-tLIEcj5GuR2RSTnxNKdkK0dJ/GrC7P38sUkiDmDuHfsHmbagTFAxDVIBltoklXEVIQ/f14IL8IMJ5pn9Hez1Ew==", "license": "ISC" }, "node_modules/are-we-there-yet": { @@ -6009,6 +6151,36 @@ "dequal": "^2.0.3" } }, + "node_modules/arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha512-dtXTVMkh6VkEEA7OhXnN1Ecb8aAGFdZ1LFxtOCoqj4qkyOJMt7+qs6Ahdy6p/NQCPYsRSXXivhSB/J5E9jmYKA==", + "license": "MIT", + "dependencies": { + "arr-flatten": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/array-back": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", @@ -6041,17 +6213,19 @@ "license": "MIT" }, "node_modules/array-includes": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", - "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz", + "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==", "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.4", - "is-string": "^1.0.7" + "es-abstract": "^1.24.0", + "es-object-atoms": "^1.1.1", + "get-intrinsic": "^1.3.0", + "is-string": "^1.1.1", + "math-intrinsics": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -6060,6 +6234,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha512-G2n5bG5fSUCpnsXz4+8FUkYsGPkNfLn9YvS66U5qbTIXI2Ynnlo4Bi42bWv+omKUCqz+ejzfClwne0alJWJPhg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/array.prototype.findlastindex": { "version": "1.2.6", "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", @@ -6159,12 +6342,65 @@ "node": ">=12" } }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ast-traverse": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ast-traverse/-/ast-traverse-0.1.1.tgz", + "integrity": "sha512-CPuE4BWIhJjsNMvFkrzjiBgOl56NJTuBPBkBqyRyfq/nZtx1Z1f5I+qx7G/Zt+FAOS+ABhghkEuWJrfW9Njjog==", + "license": "MIT" + }, + "node_modules/ast-types": { + "version": "0.8.12", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.8.12.tgz", + "integrity": "sha512-rWhsoD0aHKpx+aKIP0Sf92bai1HC5iZcB1n/HCnkIMR8Bhx0gYRQySo062Y65ND4oRgcuxpLcPrcco09I1shpg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/ast-v8-to-istanbul": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/ast-v8-to-istanbul/-/ast-v8-to-istanbul-0.3.3.tgz", + "integrity": "sha512-MuXMrSLVVoA6sYN/6Hke18vMzrT4TZNbZIj/hvh0fnYFpO+/kFXcLIaiPwXXWaQUPg4yJD8fj+lfJ7/1EBconw==", + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.25", + "estree-walker": "^3.0.3", + "js-tokens": "^9.0.1" + } + }, + "node_modules/ast-v8-to-istanbul/node_modules/js-tokens": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz", + "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==", + "license": "MIT" + }, "node_modules/async": { "version": "3.2.6", "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", "license": "MIT" }, + "node_modules/async-each": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz", + "integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT" + }, "node_modules/async-function": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", @@ -6180,6 +6416,18 @@ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", "license": "MIT" }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "license": "(MIT OR Apache-2.0)", + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, "node_modules/autoprefixer": { "version": "10.4.21", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.21.tgz", @@ -6233,9 +6481,9 @@ } }, "node_modules/axios": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.9.0.tgz", - "integrity": "sha512-re4CqKTJaURpzbLHtIi6XpDv20/CnpXOtjRY5/CU32L8gU8ek9UIivcfvSWvmKEngmVbrUtPpdDwWDWL7DNHvg==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.10.0.tgz", + "integrity": "sha512-/1xYAC4MP/HEG+3duIhFr4ZQXR4sQXOIe+o6sdqzeykGLx6Upp/1p8MHqhINOvGeP7xyNHe7tsiJByc4SSVUxw==", "license": "MIT", "dependencies": { "follow-redirects": "^1.15.6", @@ -6256,6 +6504,255 @@ "axios": ">= 0.17.0" } }, + "node_modules/babel": { + "version": "5.8.38", + "resolved": "https://registry.npmjs.org/babel/-/babel-5.8.38.tgz", + "integrity": "sha512-rQePF1+x/R8sQvWAvZjeQMyLZjw5Ky+9S6XTm5LKBNpOQ0d5XHBcIfXdHfJx63+92T1pITU4lz/ndTZko8mS5g==", + "license": "MIT", + "dependencies": { + "babel-core": "^5.6.21", + "chokidar": "^1.0.0", + "commander": "^2.6.0", + "convert-source-map": "^1.1.0", + "fs-readdir-recursive": "^0.1.0", + "glob": "^5.0.5", + "lodash": "^3.2.0", + "output-file-sync": "^1.1.0", + "path-exists": "^1.0.0", + "path-is-absolute": "^1.0.0", + "slash": "^1.0.0", + "source-map": "^0.5.0" + }, + "bin": { + "babel": "bin/babel.js", + "babel-external-helpers": "bin/babel-external-helpers.js", + "babel-node": "bin/babel-node.js", + "babel-plugin": "bin/babel-plugin.js" + } + }, + "node_modules/babel-core": { + "version": "5.8.38", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-5.8.38.tgz", + "integrity": "sha512-aVoPuaEiJJ/vqFpYuGp3kHOrKeKciCkjDE/e9va3VoSPAe37Qc0+9AZ+gBgIMTu8V8reCt2lW809e8k1KJQdaQ==", + "license": "MIT", + "dependencies": { + "babel-plugin-constant-folding": "^1.0.1", + "babel-plugin-dead-code-elimination": "^1.0.2", + "babel-plugin-eval": "^1.0.1", + "babel-plugin-inline-environment-variables": "^1.0.1", + "babel-plugin-jscript": "^1.0.4", + "babel-plugin-member-expression-literals": "^1.0.1", + "babel-plugin-property-literals": "^1.0.1", + "babel-plugin-proto-to-assign": "^1.0.3", + "babel-plugin-react-constant-elements": "^1.0.3", + "babel-plugin-react-display-name": "^1.0.3", + "babel-plugin-remove-console": "^1.0.1", + "babel-plugin-remove-debugger": "^1.0.1", + "babel-plugin-runtime": "^1.0.7", + "babel-plugin-undeclared-variables-check": "^1.0.2", + "babel-plugin-undefined-to-void": "^1.1.6", + "babylon": "^5.8.38", + "bluebird": "^2.9.33", + "chalk": "^1.0.0", + "convert-source-map": "^1.1.0", + "core-js": "^1.0.0", + "debug": "^2.1.1", + "detect-indent": "^3.0.0", + "esutils": "^2.0.0", + "fs-readdir-recursive": "^0.1.0", + "globals": "^6.4.0", + "home-or-tmp": "^1.0.0", + "is-integer": "^1.0.4", + "js-tokens": "1.0.1", + "json5": "^0.4.0", + "lodash": "^3.10.0", + "minimatch": "^2.0.3", + "output-file-sync": "^1.1.0", + "path-exists": "^1.0.0", + "path-is-absolute": "^1.0.0", + "private": "^0.1.6", + "regenerator": "0.8.40", + "regexpu": "^1.3.0", + "repeating": "^1.1.2", + "resolve": "^1.1.6", + "shebang-regex": "^1.0.0", + "slash": "^1.0.0", + "source-map": "^0.5.0", + "source-map-support": "^0.2.10", + "to-fast-properties": "^1.0.0", + "trim-right": "^1.0.0", + "try-resolve": "^1.0.0" + } + }, + "node_modules/babel-core/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-core/node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-core/node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-core/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "license": "MIT" + }, + "node_modules/babel-core/node_modules/core-js": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "integrity": "sha512-ZiPp9pZlgxpWRu0M+YWbm6+aQ84XEfH1JRXvfOc/fILWI0VKhLC2LX13X1NYq4fULzLMq7Hfh43CSo2/aIaUPA==", + "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", + "license": "MIT" + }, + "node_modules/babel-core/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/babel-core/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/babel-core/node_modules/fs-readdir-recursive": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-0.1.2.tgz", + "integrity": "sha512-//yfxmYAazrsyb/rgeYDNFXFTuPYTGYirp5QHFSH8h/LaNUoP5bQAa2ikstdK1PR/bFd1CIlQLpUq6/u6UVfSw==", + "license": "MIT" + }, + "node_modules/babel-core/node_modules/globals": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/globals/-/globals-6.4.1.tgz", + "integrity": "sha512-Lh7H0bYRNBMc2CapY+TYsCzcSM4HWHGFoQORuEcePk3y3IhpaZmFSJDirhNYSwq8QeHvaCqV/tHI2bdUhYryuw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-core/node_modules/js-tokens": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-1.0.1.tgz", + "integrity": "sha512-WKqed1YxjsT7sGqM2IdbkJHnA3rXHqFqN+4xUy973UeYNjSXZCKM3G/zUmPNYut/6D9QCUbqegDmUCQRdm0lnQ==", + "license": "MIT" + }, + "node_modules/babel-core/node_modules/json5": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.4.0.tgz", + "integrity": "sha512-5EEuuI7oad0d6c2PcrTRLoLH2JNuI/aJxHsVT2hVFK6fKHu+MXONdhzzzNAlb3JXMeuN1o+kDU78fV1YH6VmKQ==", + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/babel-core/node_modules/lodash": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha512-9mDDwqVIma6OZX79ZlDACZl8sBm0TEnkf99zV3iMA4GzkIT/9hiqP5mY0HoT1iNLCrKc/R1HByV+yJfRWVJryQ==", + "license": "MIT" + }, + "node_modules/babel-core/node_modules/minimatch": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz", + "integrity": "sha512-jQo6o1qSVLEWaw3l+bwYA2X0uLuK2KjNh2wjgO7Q/9UJnXr1Q3yQKR8BI0/Bt/rPg75e6SMW4hW/6cBHVTZUjA==", + "deprecated": "Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/babel-core/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/babel-core/node_modules/slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-core/node_modules/source-map-support": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.2.10.tgz", + "integrity": "sha512-gGKOSat73z0V8wBKo9AGxZZyekczBireh1hHktbt+kb9acsCB5OfVCF2DCWlztcQ3r5oNN7f2BL0B2xOcoJ/DQ==", + "dependencies": { + "source-map": "0.1.32" + } + }, + "node_modules/babel-core/node_modules/source-map-support/node_modules/source-map": { + "version": "0.1.32", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.32.tgz", + "integrity": "sha512-htQyLrrRLkQ87Zfrir4/yN+vAUd6DNjVayEjTSHXu29AYQJw57I4/xEL/M6p6E/woPNJwvZt6rVlzc7gFEJccQ==", + "dependencies": { + "amdefine": ">=0.0.4" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/babel-core/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-core/node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/babel-loader": { "version": "10.0.0", "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-10.0.0.tgz", @@ -6272,6 +6769,34 @@ "webpack": ">=5.61.0" } }, + "node_modules/babel-plugin-constant-folding": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-constant-folding/-/babel-plugin-constant-folding-1.0.1.tgz", + "integrity": "sha512-Rvhz9+o8/Bbqq6qTCO7FUPYxhrzqd/XkIY482DdYrXpFbhhqDu/xZZUd5/vYHV3oEE1poW+M10pjRZELDepwyQ==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "license": "MIT" + }, + "node_modules/babel-plugin-dead-code-elimination": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/babel-plugin-dead-code-elimination/-/babel-plugin-dead-code-elimination-1.0.2.tgz", + "integrity": "sha512-wbVXBByKqaaIL3+3a9bRSLAL0GYhQWYmQCWTaGTXOsqqe1Jhi+qaj8/H+yQ5GMiJhvYEQiawzOCjCS1dmjvE5g==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "license": "MIT" + }, + "node_modules/babel-plugin-eval": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-eval/-/babel-plugin-eval-1.0.1.tgz", + "integrity": "sha512-Yu9H5PbQKGVp/O/BFXUUbHVIUzBeZtEL+Yk+Io8ND4NobQYW8eg/ztToMkn+1/dQrQjaOeFtiBKtkYBwWLvFhw==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "license": "MIT" + }, + "node_modules/babel-plugin-inline-environment-variables": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-inline-environment-variables/-/babel-plugin-inline-environment-variables-1.0.1.tgz", + "integrity": "sha512-upNlt2GMmPkLMtJEQEqJB+Y1OeNs78W5+toLTYD/zotypPg0K2w79fFfmiee34ehvLwOZL7khxtkPU54IS1Kvw==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "license": "MIT" + }, "node_modules/babel-plugin-istanbul": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-7.0.0.tgz", @@ -6302,14 +6827,28 @@ "node": ">=8" } }, + "node_modules/babel-plugin-jscript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/babel-plugin-jscript/-/babel-plugin-jscript-1.0.4.tgz", + "integrity": "sha512-eMT10ilWqWvBtGL70fFVciexOcjfPaeOHsyfp5OuumTFPSxla2kJTZuDzIpTbKspHVFyzCGxY6NpGJolfVywgQ==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "license": "MIT" + }, + "node_modules/babel-plugin-member-expression-literals": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-member-expression-literals/-/babel-plugin-member-expression-literals-1.0.1.tgz", + "integrity": "sha512-Ql/UCGOaA0nQP/9H0MfhFSn2U1m2mLsJFo76NDVBQry5uCDbF8++Uv4VyAtyQ8s6UHcoIKxepzRbZGl//X569w==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "license": "MIT" + }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.13", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.13.tgz", - "integrity": "sha512-3sX/eOms8kd3q2KZ6DAhKPc0dgm525Gqq5NtWKZ7QYYZEv57OQ54KtblzJzH1lQF/eQxO8KjWGIK9IPUJNus5g==", + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz", + "integrity": "sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==", "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.6.4", + "@babel/compat-data": "^7.27.7", + "@babel/helper-define-polyfill-provider": "^0.6.5", "semver": "^6.3.1" }, "peerDependencies": { @@ -6317,30 +6856,104 @@ } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.12.0.tgz", - "integrity": "sha512-S95J8gvvIIBanFi/mHvZ6CIvkpHKPICgaDNfwpDZfl5xcNnmX4Y3T/+HnCRSddBkuFmX3DkBzzCI4anCl5Ql7w==", + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz", + "integrity": "sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==", "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.4", - "core-js-compat": "^3.41.0" + "@babel/helper-define-polyfill-provider": "^0.6.5", + "core-js-compat": "^3.43.0" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.4.tgz", - "integrity": "sha512-7gD3pRadPrbjhjLyxebmx/WrFYcuSjZ0XbdUujQMZ/fcE9oeewk2U/7PCvez84UeuK3oSjmPZ0Ch0dlupQvGzw==", + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.5.tgz", + "integrity": "sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==", "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.4" + "@babel/helper-define-polyfill-provider": "^0.6.5" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, + "node_modules/babel-plugin-property-literals": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-property-literals/-/babel-plugin-property-literals-1.0.1.tgz", + "integrity": "sha512-ZS1JuVJuo0j8IW2RRk8xA6MR/i14KIAhmDNHkipFn51uXe1S/hCH6u+V7TweF9aroT07F9PoxtENmuhFfVvq4g==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "license": "MIT" + }, + "node_modules/babel-plugin-proto-to-assign": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/babel-plugin-proto-to-assign/-/babel-plugin-proto-to-assign-1.0.4.tgz", + "integrity": "sha512-VY0VnODP15n5ORbJNFIQ0lzewhf+XqkcwbA5UpeeJ96/wIFmbvHK8fNAJoddHUuxl6b5hZtygVdSs3qwPAa/0A==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "license": "MIT", + "dependencies": { + "lodash": "^3.9.3" + } + }, + "node_modules/babel-plugin-proto-to-assign/node_modules/lodash": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha512-9mDDwqVIma6OZX79ZlDACZl8sBm0TEnkf99zV3iMA4GzkIT/9hiqP5mY0HoT1iNLCrKc/R1HByV+yJfRWVJryQ==", + "license": "MIT" + }, + "node_modules/babel-plugin-react-constant-elements": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/babel-plugin-react-constant-elements/-/babel-plugin-react-constant-elements-1.0.3.tgz", + "integrity": "sha512-5vv5DJ8NB5kKzjD5tqnkbm0znmKBzDDKFz82zJKn4hFxs1Vwk3WolLN8RypRzlDsddNQPLuDS/0xHq/u/J6i7w==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "license": "MIT" + }, + "node_modules/babel-plugin-react-display-name": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/babel-plugin-react-display-name/-/babel-plugin-react-display-name-1.0.3.tgz", + "integrity": "sha512-IMO+IEvFKzZgLbmO+lGcoPKeD+pBg48T9p+ZgMbKkXyFvHk1pKeHsnhjV45GRxVBQC+SLYkmG7EHbXDWxfThOA==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "license": "MIT" + }, + "node_modules/babel-plugin-remove-console": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-remove-console/-/babel-plugin-remove-console-1.0.1.tgz", + "integrity": "sha512-dNNqqYeRa0HpJbL+bXgSXeNnkgHbpLuU9o3040iyQjzHoTrIRUwltRWy1ZZgluuw/P0j1ukUOZsiudLLVRCmKw==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "license": "MIT" + }, + "node_modules/babel-plugin-remove-debugger": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-remove-debugger/-/babel-plugin-remove-debugger-1.0.1.tgz", + "integrity": "sha512-/rGQc8sgCVpTEeWQhHZShzQjANqWxpwxPlY3RkG9keK5+NKdA2U6ukfC/cySoSa1XmFwM6NBO67QWuOGR/DHrg==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "license": "MIT" + }, + "node_modules/babel-plugin-runtime": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/babel-plugin-runtime/-/babel-plugin-runtime-1.0.7.tgz", + "integrity": "sha512-tDVsSImhImOPIszO/6O4FhGW+o+PirMt53fkuBQ/plT41i2SRzTSnGvisrKtV/2jaAVSRnCiFwhN7v8dQ1Ymag==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "license": "MIT" + }, + "node_modules/babel-plugin-undeclared-variables-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/babel-plugin-undeclared-variables-check/-/babel-plugin-undeclared-variables-check-1.0.2.tgz", + "integrity": "sha512-NytRjvfh0DMsjUNaxOIROntf5c03PktIBQlTK6texdQZR7KhpeFxc2W8wGfF5LoJY13bHr2WnRY5xLZp6JXKOg==", + "license": "MIT", + "dependencies": { + "leven": "^1.0.2" + } + }, + "node_modules/babel-plugin-undefined-to-void": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/babel-plugin-undefined-to-void/-/babel-plugin-undefined-to-void-1.1.6.tgz", + "integrity": "sha512-YAi+mWX+Al08e6Isbv8g2UigZUoVnZuuF/JFmG5uAZKQ+6EYILBCFmS28BedM7Ts4QbAIpSqwXdMBzej+9tHUg==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "license": "MIT" + }, "node_modules/babel-walk": { "version": "3.0.0-canary-5", "resolved": "https://registry.npmjs.org/babel-walk/-/babel-walk-3.0.0-canary-5.tgz", @@ -6353,12 +6966,528 @@ "node": ">= 10.0.0" } }, + "node_modules/babel/node_modules/anymatch": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", + "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", + "license": "ISC", + "dependencies": { + "micromatch": "^2.1.5", + "normalize-path": "^2.0.0" + } + }, + "node_modules/babel/node_modules/binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel/node_modules/braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha512-xU7bpz2ytJl1bH9cgIurjpg/n8Gohy9GTw81heDYLJQ4RU60dlyJsa+atVF2pI0yMMvKxI9HkKwjePCj5XI1hw==", + "license": "MIT", + "dependencies": { + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel/node_modules/chokidar": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", + "integrity": "sha512-mk8fAWcRUOxY7btlLtitj3A45jOwSAxH4tOFOoEGbVsl6cL6pPMWUy7dwZ/canfj3QEdP6FHSnf/l1c6/WkzVg==", + "license": "MIT", + "dependencies": { + "anymatch": "^1.3.0", + "async-each": "^1.0.0", + "glob-parent": "^2.0.0", + "inherits": "^2.0.1", + "is-binary-path": "^1.0.0", + "is-glob": "^2.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.0.0" + }, + "optionalDependencies": { + "fsevents": "^1.0.0" + } + }, + "node_modules/babel/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "license": "MIT" + }, + "node_modules/babel/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "license": "MIT" + }, + "node_modules/babel/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/babel/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel/node_modules/fs-readdir-recursive": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-0.1.2.tgz", + "integrity": "sha512-//yfxmYAazrsyb/rgeYDNFXFTuPYTGYirp5QHFSH8h/LaNUoP5bQAa2ikstdK1PR/bFd1CIlQLpUq6/u6UVfSw==", + "license": "MIT" + }, + "node_modules/babel/node_modules/fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "deprecated": "Upgrade to fsevents v2 to mitigate potential security issues", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/babel/node_modules/glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", + "dependencies": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/babel/node_modules/glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha512-JDYOvfxio/t42HKdxkAYaCiBN7oYiuxykOxKxdaUW5Qn0zaYN3gRQWolrwdnf0shM9/EP0ebuuTmyoXNr1cC5w==", + "license": "ISC", + "dependencies": { + "is-glob": "^2.0.0" + } + }, + "node_modules/babel/node_modules/is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", + "license": "MIT", + "dependencies": { + "binary-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel/node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "license": "MIT" + }, + "node_modules/babel/node_modules/is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel/node_modules/is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==", + "license": "MIT", + "dependencies": { + "is-extglob": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel/node_modules/lodash": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha512-9mDDwqVIma6OZX79ZlDACZl8sBm0TEnkf99zV3iMA4GzkIT/9hiqP5mY0HoT1iNLCrKc/R1HByV+yJfRWVJryQ==", + "license": "MIT" + }, + "node_modules/babel/node_modules/micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha512-LnU2XFEk9xxSJ6rfgAry/ty5qwUTyHYOBU0g4R6tIw5ljwgGIBmiKhRWLw5NpMOnrgUNcDJ4WMp8rl3sYVHLNA==", + "license": "MIT", + "dependencies": { + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/babel/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "license": "MIT", + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel/node_modules/readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/babel/node_modules/readdirp/node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel/node_modules/readdirp/node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel/node_modules/readdirp/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "license": "MIT", + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel/node_modules/readdirp/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel/node_modules/readdirp/node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", + "license": "MIT", + "dependencies": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel/node_modules/readdirp/node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "license": "MIT", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel/node_modules/readdirp/node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel/node_modules/readdirp/node_modules/expand-brackets/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/babel/node_modules/readdirp/node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "license": "MIT", + "dependencies": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel/node_modules/readdirp/node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "license": "MIT", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel/node_modules/readdirp/node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel/node_modules/readdirp/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel/node_modules/readdirp/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "license": "MIT", + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel/node_modules/slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "license": "MIT", + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babylon": { + "version": "5.8.38", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-5.8.38.tgz", + "integrity": "sha512-jtLAtIWCbI17buqCVN4/DtuHf3N1w9ZvbwrTWIae+EBSu2N3sVGCwSJeiZdAkTH4KRwinfMQIyoovP/xZtRwXQ==", + "license": "MIT" + }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "license": "MIT" }, + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "license": "MIT", + "dependencies": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "license": "MIT", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/base64id": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", @@ -6395,26 +7524,61 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, + "node_modules/bluebird": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz", + "integrity": "sha512-UfFSr22dmHPQqPP9XWHRhq+gWnHCYguQGkXQlbyPtW5qTnhFWA8/iXg765tH0cAjy7l/zPJ1aBTO0g5XgA7kvQ==", + "license": "MIT" + }, "node_modules/body-parser": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.0.tgz", - "integrity": "sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==", + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", "license": "MIT", "dependencies": { - "bytes": "^3.1.2", - "content-type": "^1.0.5", - "debug": "^4.4.0", - "http-errors": "^2.0.0", - "iconv-lite": "^0.6.3", - "on-finished": "^2.4.1", - "qs": "^6.14.0", - "raw-body": "^3.0.0", - "type-is": "^2.0.0" + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.13.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" }, "engines": { - "node": ">=18" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, "node_modules/boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", @@ -6422,9 +7586,9 @@ "license": "ISC" }, "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", @@ -6443,6 +7607,12 @@ "node": ">=8" } }, + "node_modules/breakable": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/breakable/-/breakable-1.0.0.tgz", + "integrity": "sha512-+ityJqcjhozQNrezzTd2dtH/lkIXmE52HL+FohK2TOLQDl3QURTNkim+2C0xcso4Zehq/HM4Wkumcdz7Ue+XmA==", + "license": "MIT" + }, "node_modules/browser-stdout": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", @@ -6450,9 +7620,9 @@ "license": "ISC" }, "node_modules/browserslist": { - "version": "4.24.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.5.tgz", - "integrity": "sha512-FDToo4Wo82hIdgc1CQ+NQD0hEhmpPjrZ3hiUgwgOG6IuTdlpr8jdjyG24P6cNP1yJpTLzS5OcGgSw0xmDU1/Tw==", + "version": "4.25.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.1.tgz", + "integrity": "sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw==", "funding": [ { "type": "opencollective", @@ -6469,8 +7639,8 @@ ], "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001716", - "electron-to-chromium": "^1.5.149", + "caniuse-lite": "^1.0.30001726", + "electron-to-chromium": "^1.5.173", "node-releases": "^2.0.19", "update-browserslist-db": "^1.1.3" }, @@ -6511,6 +7681,26 @@ "node": ">=8" } }, + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "license": "MIT", + "dependencies": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/call-bind": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", @@ -6597,9 +7787,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001717", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001717.tgz", - "integrity": "sha512-auPpttCq6BDEG8ZAuHJIplGw6GODhjw+/11e7IjpnYCxZcW/ONgPs0KVBJ0d1bY3e2+7PRe5RCLyP+PfwVgkYw==", + "version": "1.0.30001727", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001727.tgz", + "integrity": "sha512-pB68nIHmbN6L/4C6MH1DokyR3bYqFwjaSs/sWDHGj4CTcFtQUQMuJftVwWkXq7mNWOybD3KhUv3oWHoGxgP14Q==", "funding": [ { "type": "opencollective", @@ -6616,10 +7806,23 @@ ], "license": "CC-BY-4.0" }, + "node_modules/center-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha512-Baz3aNe2gd2LP2qk5U+sDk/m4oSuwSDcBfayTCTBoWpfIGO5XFxPmjILQII4NGiZjD6DoDI6kf7gKaxkf7s3VQ==", + "license": "MIT", + "dependencies": { + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/chai": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/chai/-/chai-5.2.0.tgz", - "integrity": "sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-5.2.1.tgz", + "integrity": "sha512-5nFxhUrX0PqtyogoYOA8IPswy5sZFTOsBFl/9bNsmDLgsxYTzSZQJDPppDnZPTQbzSEm0hqGjWPzRemQCYbD6A==", "license": "MIT", "dependencies": { "assertion-error": "^2.0.1", @@ -6629,7 +7832,7 @@ "pathval": "^2.0.0" }, "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/chalk": { @@ -6779,6 +7982,46 @@ "node": ">=8" } }, + "node_modules/class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "license": "MIT", + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "license": "MIT", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", @@ -6833,6 +8076,19 @@ "node": ">=0.10.0" } }, + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", + "license": "MIT", + "dependencies": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -6929,6 +8185,98 @@ "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", "license": "MIT" }, + "node_modules/commoner": { + "version": "0.10.8", + "resolved": "https://registry.npmjs.org/commoner/-/commoner-0.10.8.tgz", + "integrity": "sha512-3/qHkNMM6o/KGXHITA14y78PcfmXh4+AOCJpSoF73h4VY1JpdGv3CHMS5+JW6SwLhfJt4RhNmLAa7+RRX/62EQ==", + "license": "MIT", + "dependencies": { + "commander": "^2.5.0", + "detective": "^4.3.1", + "glob": "^5.0.15", + "graceful-fs": "^4.1.2", + "iconv-lite": "^0.4.5", + "mkdirp": "^0.5.0", + "private": "^0.1.6", + "q": "^1.1.2", + "recast": "^0.11.17" + }, + "bin": { + "commonize": "bin/commonize" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commoner/node_modules/ast-types": { + "version": "0.9.6", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.9.6.tgz", + "integrity": "sha512-qEdtR2UH78yyHX/AUNfXmJTlM48XoFZKBdwi1nzkI1mJL21cmbu0cvjxjpkXJ5NENMq42H+hNs8VLJcqXLerBQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commoner/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "license": "MIT" + }, + "node_modules/commoner/node_modules/esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha512-AWwVMNxwhN8+NIPQzAQZCm7RkLC4RbM3B1OobMuyp3i+w73X57KCKaVIxaRZb+DYCojq7rspo+fmuQfAboyhFg==", + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/commoner/node_modules/glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", + "dependencies": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/commoner/node_modules/recast": { + "version": "0.11.23", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.11.23.tgz", + "integrity": "sha512-+nixG+3NugceyR8O1bLU45qs84JgI3+8EauyRZafLgC9XbdAOIVgwV1Pe2da0YzGo62KzWoZwUpVEQf6qNAXWA==", + "license": "MIT", + "dependencies": { + "ast-types": "0.9.6", + "esprima": "~3.1.0", + "private": "~0.1.5", + "source-map": "~0.5.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/component-emitter": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", + "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/compressible": { "version": "2.0.18", "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", @@ -6974,15 +8322,6 @@ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "license": "MIT" }, - "node_modules/compression/node_modules/negotiator": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", - "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -6999,12 +8338,6 @@ "proto-list": "~1.2.1" } }, - "node_modules/config-chain/node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "license": "ISC" - }, "node_modules/connect": { "version": "3.7.0", "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", @@ -7041,60 +8374,12 @@ "ms": "2.0.0" } }, - "node_modules/connect/node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/connect/node_modules/finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "license": "MIT", - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/connect/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "license": "MIT" }, - "node_modules/connect/node_modules/on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", - "license": "MIT", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/connect/node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, "node_modules/console-control-strings": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", @@ -7112,9 +8397,9 @@ } }, "node_modules/content-disposition": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.0.tgz", - "integrity": "sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==", + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "license": "MIT", "dependencies": { "safe-buffer": "5.2.1" @@ -7160,25 +8445,25 @@ "node": ">= 0.8.0" } }, - "node_modules/cookie-parser/node_modules/cookie-signature": { + "node_modules/cookie-signature": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", "license": "MIT" }, - "node_modules/cookie-signature": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", - "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", "license": "MIT", "engines": { - "node": ">=6.6.0" + "node": ">=0.10.0" } }, "node_modules/core-js": { - "version": "3.42.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.42.0.tgz", - "integrity": "sha512-Sz4PP4ZA+Rq4II21qkNqOEDTDrCvcANId3xpIgB34NDkWc3UduWj2dqEtN9yZIq8Dk3HyPI33x9sqqU5C8sr0g==", + "version": "3.44.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.44.0.tgz", + "integrity": "sha512-aFCtd4l6GvAXwVEh3XbbVqJGHDJt0OZRa+5ePGx3LLwi12WfexqQxcsohb2wgsa/92xtl19Hd66G/L+TaAxDMw==", "hasInstallScript": true, "license": "MIT", "funding": { @@ -7187,18 +8472,24 @@ } }, "node_modules/core-js-compat": { - "version": "3.42.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.42.0.tgz", - "integrity": "sha512-bQasjMfyDGyaeWKBIu33lHh9qlSR0MFE/Nmc6nMjf/iU9b3rSMdAYz1Baxrv4lPdGUsTqZudHA4jIGSJy0SWZQ==", + "version": "3.44.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.44.0.tgz", + "integrity": "sha512-JepmAj2zfl6ogy34qfWtcE7nHKAJnKsQFRn++scjVS2bZFllwptzw61BZcZFYBPpUznLfAvh0LGhxKppk04ClA==", "license": "MIT", "dependencies": { - "browserslist": "^4.24.4" + "browserslist": "^4.25.1" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/core-js" } }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "license": "MIT" + }, "node_modules/cors": { "version": "2.8.5", "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", @@ -7441,9 +8732,9 @@ } }, "node_modules/css-loader/node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -7475,9 +8766,9 @@ } }, "node_modules/css-select": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", - "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz", + "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==", "license": "BSD-2-Clause", "dependencies": { "boolbase": "^1.0.0", @@ -7497,12 +8788,12 @@ "license": "MIT" }, "node_modules/css-tree": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", - "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.1.0.tgz", + "integrity": "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==", "license": "MIT", "dependencies": { - "mdn-data": "2.0.30", + "mdn-data": "2.12.2", "source-map-js": "^1.0.1" }, "engines": { @@ -7510,9 +8801,9 @@ } }, "node_modules/css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz", + "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==", "license": "BSD-2-Clause", "engines": { "node": ">= 6" @@ -7528,9 +8819,9 @@ "license": "MIT" }, "node_modules/cssdb": { - "version": "8.2.5", - "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-8.2.5.tgz", - "integrity": "sha512-leAt8/hdTCtzql9ZZi86uYAmCLzVKpJMMdjbvOGVnXFXz/BWFpBmM1MHEHU/RqtPyRYmabVmEW1DtX3YGLuuLA==", + "version": "8.3.1", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-8.3.1.tgz", + "integrity": "sha512-XnDRQMXucLueX92yDe0LPKupXetWoFOgawr4O4X41l5TltgK2NVbJJVDnnOywDYfW1sTJ28AcXGKOqdRKwCcmQ==", "funding": [ { "type": "opencollective", @@ -7556,12 +8847,12 @@ } }, "node_modules/cssnano": { - "version": "7.0.7", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-7.0.7.tgz", - "integrity": "sha512-evKu7yiDIF7oS+EIpwFlMF730ijRyLFaM2o5cTxRGJR9OKHKkc+qP443ZEVR9kZG0syaAJJCPJyfv5pbrxlSng==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-7.1.0.tgz", + "integrity": "sha512-Pu3rlKkd0ZtlCUzBrKL1Z4YmhKppjC1H9jo7u1o4qaKqyhvixFgu5qLyNIAOjSTg9DjVPtUqdROq2EfpVMEe+w==", "license": "MIT", "dependencies": { - "cssnano-preset-default": "^7.0.7", + "cssnano-preset-default": "^7.0.8", "lilconfig": "^3.1.3" }, "engines": { @@ -7576,26 +8867,26 @@ } }, "node_modules/cssnano-preset-default": { - "version": "7.0.7", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-7.0.7.tgz", - "integrity": "sha512-jW6CG/7PNB6MufOrlovs1TvBTEVmhY45yz+bd0h6nw3h6d+1e+/TX+0fflZ+LzvZombbT5f+KC063w9VoHeHow==", + "version": "7.0.8", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-7.0.8.tgz", + "integrity": "sha512-d+3R2qwrUV3g4LEMOjnndognKirBZISylDZAF/TPeCWVjEwlXS2e4eN4ICkoobRe7pD3H6lltinKVyS1AJhdjQ==", "license": "MIT", "dependencies": { - "browserslist": "^4.24.5", + "browserslist": "^4.25.1", "css-declaration-sorter": "^7.2.0", "cssnano-utils": "^5.0.1", "postcss-calc": "^10.1.1", - "postcss-colormin": "^7.0.3", - "postcss-convert-values": "^7.0.5", + "postcss-colormin": "^7.0.4", + "postcss-convert-values": "^7.0.6", "postcss-discard-comments": "^7.0.4", "postcss-discard-duplicates": "^7.0.2", "postcss-discard-empty": "^7.0.1", "postcss-discard-overridden": "^7.0.1", "postcss-merge-longhand": "^7.0.5", - "postcss-merge-rules": "^7.0.5", + "postcss-merge-rules": "^7.0.6", "postcss-minify-font-values": "^7.0.1", "postcss-minify-gradients": "^7.0.1", - "postcss-minify-params": "^7.0.3", + "postcss-minify-params": "^7.0.4", "postcss-minify-selectors": "^7.0.5", "postcss-normalize-charset": "^7.0.1", "postcss-normalize-display-values": "^7.0.1", @@ -7603,13 +8894,13 @@ "postcss-normalize-repeat-style": "^7.0.1", "postcss-normalize-string": "^7.0.1", "postcss-normalize-timing-functions": "^7.0.1", - "postcss-normalize-unicode": "^7.0.3", + "postcss-normalize-unicode": "^7.0.4", "postcss-normalize-url": "^7.0.1", "postcss-normalize-whitespace": "^7.0.1", "postcss-ordered-values": "^7.0.2", - "postcss-reduce-initial": "^7.0.3", + "postcss-reduce-initial": "^7.0.4", "postcss-reduce-transforms": "^7.0.1", - "postcss-svgo": "^7.0.2", + "postcss-svgo": "^7.1.0", "postcss-unique-selectors": "^7.0.4" }, "engines": { @@ -7665,12 +8956,12 @@ "license": "CC0-1.0" }, "node_modules/cssstyle": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.3.1.tgz", - "integrity": "sha512-ZgW+Jgdd7i52AaLYCriF8Mxqft0gD/R9i9wi6RWBhs1pqdPEzPjym7rvRKi397WmQFf3SlyUsszhw+VVCbx79Q==", + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.6.0.tgz", + "integrity": "sha512-2z+rWdzbbSZv6/rhtvzvqeZQHrBaqgogqt85sqFNbabZOuFbCVFb8kPeEtZjiKkbrm395irpNKiYeFeLiQnFPg==", "license": "MIT", "dependencies": { - "@asamuzakjp/css-color": "^3.1.2", + "@asamuzakjp/css-color": "^3.2.0", "rrweb-cssom": "^0.8.0" }, "engines": { @@ -7687,7 +8978,7 @@ "version": "1.11.0", "resolved": "https://registry.npmjs.org/csurf/-/csurf-1.11.0.tgz", "integrity": "sha512-UCtehyEExKTxgiu8UHdGvHj4tnpE/Qctue03Giq5gPgMQ9cg/ciod5blZQ5a4uCEenNQjxyGuzygLdKUmee/bQ==", - "deprecated": "Please use another csrf package", + "deprecated": "This package is archived and no longer maintained. For support, visit https://github.com/expressjs/express/discussions", "license": "MIT", "dependencies": { "cookie": "0.4.0", @@ -7708,12 +8999,6 @@ "node": ">= 0.6" } }, - "node_modules/csurf/node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", - "license": "MIT" - }, "node_modules/csurf/node_modules/depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", @@ -7745,15 +9030,6 @@ "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", "license": "ISC" }, - "node_modules/csurf/node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, "node_modules/csurf/node_modules/toidentifier": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", @@ -7861,9 +9137,9 @@ "license": "MIT" }, "node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", "license": "MIT", "dependencies": { "ms": "^2.1.3" @@ -7899,11 +9175,20 @@ } }, "node_modules/decimal.js": { - "version": "10.5.0", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.5.0.tgz", - "integrity": "sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==", + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz", + "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==", "license": "MIT" }, + "node_modules/decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, "node_modules/deep-eql": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", @@ -7972,6 +9257,107 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "license": "MIT", + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/defined": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", + "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/defs": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/defs/-/defs-1.1.1.tgz", + "integrity": "sha512-KgGV1vmSa2UPKeDXaWE5FiXjix8BOtYMgiPGpYhd/42wxiC6YGwtscj/zU9gD5/xk4K2iLDpyGhGA5puZxaeMg==", + "license": "MIT", + "dependencies": { + "alter": "~0.2.0", + "ast-traverse": "~0.1.1", + "breakable": "~1.0.0", + "esprima-fb": "~15001.1001.0-dev-harmony-fb", + "simple-fmt": "~0.1.0", + "simple-is": "~0.2.0", + "stringmap": "~0.2.2", + "stringset": "~0.2.1", + "tryor": "~0.1.2", + "yargs": "~3.27.0" + }, + "bin": { + "defs": "build/es5/defs" + } + }, + "node_modules/defs/node_modules/camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha512-wzLkDa4K/mzI1OSITC+DUyjgIl/ETNHE9QvYgy6J6Jvqyyz4C0Xfd+lQhb19sX2jMpZV4IssUn0VDVmglV+s4g==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/defs/node_modules/cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha512-GIOYRizG+TGoc7Wgc1LiOTLare95R3mzKgoln+Q/lE4ceiYH19gUpl0l0Ffq4lJDEf3FxujMe6IBfOCs7pfqNA==", + "license": "ISC", + "dependencies": { + "center-align": "^0.1.1", + "right-align": "^0.1.1", + "wordwrap": "0.0.2" + } + }, + "node_modules/defs/node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/defs/node_modules/wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha512-xSBsCeh+g+dinoBv3GAOWM4LcVVO68wLXRanibtBSdUvkGWQRGeE9P7IwU9EmDDi4jA6L44lz15CGMwdw9N5+Q==", + "license": "MIT/X11", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/defs/node_modules/y18n": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", + "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==", + "license": "ISC" + }, + "node_modules/defs/node_modules/yargs": { + "version": "3.27.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.27.0.tgz", + "integrity": "sha512-6atYjGACjX/OYWico7LwdBx9eiGlkMnIw6OwqfBb+uJQpaT82tQ7oI+BI6Dvq62qZvSbzGzQCVLQdMd59tR2eA==", + "license": "MIT", + "dependencies": { + "camelcase": "^1.2.1", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "os-locale": "^1.4.0", + "window-size": "^0.1.2", + "y18n": "^3.2.0" + } + }, "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -8018,6 +9404,23 @@ "npm": "1.2.8000 || >= 1.4.16" } }, + "node_modules/detect-indent": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-3.0.1.tgz", + "integrity": "sha512-xo3WP66SNbr1Eim85s/qyH0ZL8PQUwp86HWm0S1l8WnJ/zjT6T3w1nwNA0yOZeuvOemupEYvpvF6BIdYRuERJQ==", + "license": "MIT", + "dependencies": { + "get-stdin": "^4.0.1", + "minimist": "^1.1.0", + "repeating": "^1.1.0" + }, + "bin": { + "detect-indent": "cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/detect-libc": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", @@ -8031,6 +9434,28 @@ "node": ">=0.10" } }, + "node_modules/detective": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz", + "integrity": "sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig==", + "license": "MIT", + "dependencies": { + "acorn": "^5.2.1", + "defined": "^1.0.0" + } + }, + "node_modules/detective/node_modules/acorn": { + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/dezalgo": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz", @@ -8048,9 +9473,9 @@ "license": "MIT" }, "node_modules/diff": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", - "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-7.0.0.tgz", + "integrity": "sha512-PJWHUb1RFevKCwaFA9RlG5tCd+FO5iRh9A8HEtkmBH2Li03iJriB6m6JIN4rGz3K3JLawI7/veA1xzRKP6ISBw==", "license": "BSD-3-Clause", "engines": { "node": ">=0.3.1" @@ -8078,8 +9503,7 @@ "version": "0.5.16", "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/dom-serialize": { "version": "2.2.1", @@ -8149,9 +9573,9 @@ } }, "node_modules/dotenv": { - "version": "16.5.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.5.0.tgz", - "integrity": "sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg==", + "version": "16.6.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz", + "integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==", "license": "BSD-2-Clause", "engines": { "node": ">=12" @@ -8221,6 +9645,12 @@ "pug": "^3.0.2" } }, + "node_modules/easygettext/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, "node_modules/editorconfig": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-1.0.4.tgz", @@ -8240,9 +9670,9 @@ } }, "node_modules/editorconfig/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" @@ -8273,9 +9703,9 @@ } }, "node_modules/editorconfig/node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -8306,9 +9736,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.150", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.150.tgz", - "integrity": "sha512-rOOkP2ZUMx1yL4fCxXQKDHQ8ZXwisb2OycOQVKHgvB3ZI4CvehOd4y2tfnnLDieJ3Zs1RL1Dlp3cMkyIn7nnXA==", + "version": "1.5.185", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.185.tgz", + "integrity": "sha512-dYOZfUk57hSMPePoIQ1fZWl1Fkj+OshhEVuPacNKWzC1efe56OsHY3l/jCfiAgIICOU3VgOIdoq7ahg7r7n6MQ==", "license": "ISC" }, "node_modules/emmet": { @@ -8343,9 +9773,9 @@ } }, "node_modules/encodeurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", - "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", "license": "MIT", "engines": { "node": ">= 0.8" @@ -8380,19 +9810,6 @@ "node": ">=10.0.0" } }, - "node_modules/engine.io/node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "license": "MIT", - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/engine.io/node_modules/debug": { "version": "4.3.7", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", @@ -8410,36 +9827,6 @@ } } }, - "node_modules/engine.io/node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/engine.io/node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/engine.io/node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, "node_modules/engine.io/node_modules/ws": { "version": "8.17.1", "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", @@ -8462,9 +9849,9 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.18.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz", - "integrity": "sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==", + "version": "5.18.2", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.2.tgz", + "integrity": "sha512-6Jw4sE1maoRJo3q8MsSIn2onJFbLTOjY9hlx4DZXmOKvLRd1Ok2kXmAGXaafL2+ijsJZ1ClYbl/pmqr9+k4iUQ==", "license": "MIT", "dependencies": { "graceful-fs": "^4.2.4", @@ -8532,27 +9919,27 @@ } }, "node_modules/es-abstract": { - "version": "1.23.9", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.9.tgz", - "integrity": "sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==", + "version": "1.24.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.0.tgz", + "integrity": "sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==", "license": "MIT", "dependencies": { "array-buffer-byte-length": "^1.0.2", "arraybuffer.prototype.slice": "^1.0.4", "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.8", - "call-bound": "^1.0.3", + "call-bound": "^1.0.4", "data-view-buffer": "^1.0.2", "data-view-byte-length": "^1.0.2", "data-view-byte-offset": "^1.0.1", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", + "es-object-atoms": "^1.1.1", "es-set-tostringtag": "^2.1.0", "es-to-primitive": "^1.3.0", "function.prototype.name": "^1.1.8", - "get-intrinsic": "^1.2.7", - "get-proto": "^1.0.0", + "get-intrinsic": "^1.3.0", + "get-proto": "^1.0.1", "get-symbol-description": "^1.1.0", "globalthis": "^1.0.4", "gopd": "^1.2.0", @@ -8564,21 +9951,24 @@ "is-array-buffer": "^3.0.5", "is-callable": "^1.2.7", "is-data-view": "^1.0.2", + "is-negative-zero": "^2.0.3", "is-regex": "^1.2.1", + "is-set": "^2.0.3", "is-shared-array-buffer": "^1.0.4", "is-string": "^1.1.1", "is-typed-array": "^1.1.15", - "is-weakref": "^1.1.0", + "is-weakref": "^1.1.1", "math-intrinsics": "^1.1.0", - "object-inspect": "^1.13.3", + "object-inspect": "^1.13.4", "object-keys": "^1.1.1", "object.assign": "^4.1.7", "own-keys": "^1.0.1", - "regexp.prototype.flags": "^1.5.3", + "regexp.prototype.flags": "^1.5.4", "safe-array-concat": "^1.1.3", "safe-push-apply": "^1.0.0", "safe-regex-test": "^1.1.0", "set-proto": "^1.0.0", + "stop-iteration-iterator": "^1.1.0", "string.prototype.trim": "^1.2.10", "string.prototype.trimend": "^1.0.9", "string.prototype.trimstart": "^1.0.8", @@ -8587,7 +9977,7 @@ "typed-array-byte-offset": "^1.0.4", "typed-array-length": "^1.0.7", "unbox-primitive": "^1.1.0", - "which-typed-array": "^1.1.18" + "which-typed-array": "^1.1.19" }, "engines": { "node": ">= 0.4" @@ -8677,9 +10067,9 @@ } }, "node_modules/esbuild": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.4.tgz", - "integrity": "sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q==", + "version": "0.25.6", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.6.tgz", + "integrity": "sha512-GVuzuUwtdsghE3ocJ9Bs8PNoF13HNQ5TXbEi2AhvVb8xU1Iwt9Fos9FEamfoee+u/TOsn7GUWc04lz46n2bbTg==", "hasInstallScript": true, "license": "MIT", "bin": { @@ -8689,31 +10079,32 @@ "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.4", - "@esbuild/android-arm": "0.25.4", - "@esbuild/android-arm64": "0.25.4", - "@esbuild/android-x64": "0.25.4", - "@esbuild/darwin-arm64": "0.25.4", - "@esbuild/darwin-x64": "0.25.4", - "@esbuild/freebsd-arm64": "0.25.4", - "@esbuild/freebsd-x64": "0.25.4", - "@esbuild/linux-arm": "0.25.4", - "@esbuild/linux-arm64": "0.25.4", - "@esbuild/linux-ia32": "0.25.4", - "@esbuild/linux-loong64": "0.25.4", - "@esbuild/linux-mips64el": "0.25.4", - "@esbuild/linux-ppc64": "0.25.4", - "@esbuild/linux-riscv64": "0.25.4", - "@esbuild/linux-s390x": "0.25.4", - "@esbuild/linux-x64": "0.25.4", - "@esbuild/netbsd-arm64": "0.25.4", - "@esbuild/netbsd-x64": "0.25.4", - "@esbuild/openbsd-arm64": "0.25.4", - "@esbuild/openbsd-x64": "0.25.4", - "@esbuild/sunos-x64": "0.25.4", - "@esbuild/win32-arm64": "0.25.4", - "@esbuild/win32-ia32": "0.25.4", - "@esbuild/win32-x64": "0.25.4" + "@esbuild/aix-ppc64": "0.25.6", + "@esbuild/android-arm": "0.25.6", + "@esbuild/android-arm64": "0.25.6", + "@esbuild/android-x64": "0.25.6", + "@esbuild/darwin-arm64": "0.25.6", + "@esbuild/darwin-x64": "0.25.6", + "@esbuild/freebsd-arm64": "0.25.6", + "@esbuild/freebsd-x64": "0.25.6", + "@esbuild/linux-arm": "0.25.6", + "@esbuild/linux-arm64": "0.25.6", + "@esbuild/linux-ia32": "0.25.6", + "@esbuild/linux-loong64": "0.25.6", + "@esbuild/linux-mips64el": "0.25.6", + "@esbuild/linux-ppc64": "0.25.6", + "@esbuild/linux-riscv64": "0.25.6", + "@esbuild/linux-s390x": "0.25.6", + "@esbuild/linux-x64": "0.25.6", + "@esbuild/netbsd-arm64": "0.25.6", + "@esbuild/netbsd-x64": "0.25.6", + "@esbuild/openbsd-arm64": "0.25.6", + "@esbuild/openbsd-x64": "0.25.6", + "@esbuild/openharmony-arm64": "0.25.6", + "@esbuild/sunos-x64": "0.25.6", + "@esbuild/win32-arm64": "0.25.6", + "@esbuild/win32-ia32": "0.25.6", + "@esbuild/win32-x64": "0.25.6" } }, "node_modules/escalade": { @@ -8744,23 +10135,22 @@ } }, "node_modules/eslint": { - "version": "9.26.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.26.0.tgz", - "integrity": "sha512-Hx0MOjPh6uK9oq9nVsATZKE/Wlbai7KFjfCuw9UHaguDW3x+HF0O5nIi3ud39TWgrTjTO5nHxmL3R1eANinWHQ==", + "version": "9.31.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.31.0.tgz", + "integrity": "sha512-QldCVh/ztyKJJZLr4jXNUByx3gR+TDYZCRXEktiZoUR3PGy4qCmSbkxcIle8GEwGpb5JBZazlaJ/CxLidXdEbQ==", "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.20.0", - "@eslint/config-helpers": "^0.2.1", - "@eslint/core": "^0.13.0", + "@eslint/config-array": "^0.21.0", + "@eslint/config-helpers": "^0.3.0", + "@eslint/core": "^0.15.0", "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.26.0", - "@eslint/plugin-kit": "^0.2.8", + "@eslint/js": "9.31.0", + "@eslint/plugin-kit": "^0.3.1", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", - "@modelcontextprotocol/sdk": "^1.8.0", "@types/estree": "^1.0.6", "@types/json-schema": "^7.0.15", "ajv": "^6.12.4", @@ -8768,9 +10158,9 @@ "cross-spawn": "^7.0.6", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.3.0", - "eslint-visitor-keys": "^4.2.0", - "espree": "^10.3.0", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", @@ -8784,8 +10174,7 @@ "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "zod": "^3.24.2" + "optionator": "^0.9.3" }, "bin": { "eslint": "bin/eslint.js" @@ -8806,13 +10195,16 @@ } }, "node_modules/eslint-config-prettier": { - "version": "10.1.3", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.3.tgz", - "integrity": "sha512-vDo4d9yQE+cS2tdIT4J02H/16veRvkHgiLDRpej+WL67oCfbOb97itZXn8wMPJ/GsiEBVjrjs//AVNw2Cp1EcA==", + "version": "10.1.5", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.5.tgz", + "integrity": "sha512-zc1UmCpNltmVY34vuLRV61r1K27sWuX39E+uyUnY8xS2Bex88VV9cugG+UZbRSRGtGyFboj+D8JODyme1plMpw==", "license": "MIT", "bin": { "eslint-config-prettier": "bin/cli.js" }, + "funding": { + "url": "https://opencollective.com/eslint-config-prettier" + }, "peerDependencies": { "eslint": ">=7.0.0" } @@ -8872,9 +10264,9 @@ } }, "node_modules/eslint-module-utils": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz", - "integrity": "sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==", + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz", + "integrity": "sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==", "license": "MIT", "dependencies": { "debug": "^3.2.7" @@ -8917,21 +10309,33 @@ } }, "node_modules/eslint-plugin-html": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-html/-/eslint-plugin-html-8.1.2.tgz", - "integrity": "sha512-pbRchDV2SmqbCi/Ev/q3aAikzG9BcFe0IjjqjtMn8eTLq71ZUggyJB6CDmuwGAXmYZHrXI12XTfCqvgcnPRqGw==", + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-html/-/eslint-plugin-html-8.1.3.tgz", + "integrity": "sha512-cnCdO7yb/jrvgSJJAfRkGDOwLu1AOvNdw8WCD6nh/2C4RnxuI4tz6QjMEAmmSiHSeugq/fXcIO8yBpIBQrMZCg==", "license": "ISC", "dependencies": { - "htmlparser2": "^9.1.0" + "htmlparser2": "^10.0.0" }, "engines": { "node": ">=16.0.0" } }, + "node_modules/eslint-plugin-html/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/eslint-plugin-html/node_modules/htmlparser2": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-9.1.0.tgz", - "integrity": "sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==", + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.0.0.tgz", + "integrity": "sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==", "funding": [ "https://github.com/fb55/htmlparser2?sponsor=1", { @@ -8943,34 +10347,34 @@ "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.3", - "domutils": "^3.1.0", - "entities": "^4.5.0" + "domutils": "^3.2.1", + "entities": "^6.0.0" } }, "node_modules/eslint-plugin-import": { - "version": "2.31.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz", - "integrity": "sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==", + "version": "2.32.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz", + "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", "license": "MIT", "dependencies": { "@rtsao/scc": "^1.1.0", - "array-includes": "^3.1.8", - "array.prototype.findlastindex": "^1.2.5", - "array.prototype.flat": "^1.3.2", - "array.prototype.flatmap": "^1.3.2", + "array-includes": "^3.1.9", + "array.prototype.findlastindex": "^1.2.6", + "array.prototype.flat": "^1.3.3", + "array.prototype.flatmap": "^1.3.3", "debug": "^3.2.7", "doctrine": "^2.1.0", "eslint-import-resolver-node": "^0.3.9", - "eslint-module-utils": "^2.12.0", + "eslint-module-utils": "^2.12.1", "hasown": "^2.0.2", - "is-core-module": "^2.15.1", + "is-core-module": "^2.16.1", "is-glob": "^4.0.3", "minimatch": "^3.1.2", "object.fromentries": "^2.0.8", "object.groupby": "^1.0.3", - "object.values": "^1.2.0", + "object.values": "^1.2.1", "semver": "^6.3.1", - "string.prototype.trimend": "^1.0.8", + "string.prototype.trimend": "^1.0.9", "tsconfig-paths": "^3.15.0" }, "engines": { @@ -9010,13 +10414,13 @@ } }, "node_modules/eslint-plugin-prettier": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.4.0.tgz", - "integrity": "sha512-BvQOvUhkVQM1i63iMETK9Hjud9QhqBnbtT1Zc642p9ynzBuCe5pybkOnvqZIBypXmMlsGcnU4HZ8sCTPfpAexA==", + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.5.1.tgz", + "integrity": "sha512-dobTkHT6XaEVOo8IO90Q4DOSxnm3Y151QxPJlM/vKC0bVy+d6cVWQZLlFiuZPP0wS6vZwSKeJgKkcS+KfMBlRw==", "license": "MIT", "dependencies": { "prettier-linter-helpers": "^1.0.0", - "synckit": "^0.11.0" + "synckit": "^0.11.7" }, "engines": { "node": "^14.18.0 || >=16.0.0" @@ -9039,28 +10443,10 @@ } } }, - "node_modules/eslint-plugin-promise": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-7.2.1.tgz", - "integrity": "sha512-SWKjd+EuvWkYaS+uN2csvj0KoP43YTu7+phKQ5v+xw6+A0gutVX2yqCeCkC3uLCJFiPfR2dD8Es5L7yUsmvEaA==", - "license": "ISC", - "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0 || ^9.0.0" - } - }, "node_modules/eslint-plugin-vue": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-10.1.0.tgz", - "integrity": "sha512-/VTiJ1eSfNLw6lvG9ENySbGmcVvz6wZ9nA7ZqXlLBY2RkaF15iViYKxglWiIch12KiLAj0j1iXPYU6W4wTROFA==", + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-10.3.0.tgz", + "integrity": "sha512-A0u9snqjCfYaPnqqOaH6MBLVWDUIN4trXn8J3x67uDcXvR7X6Ut8p16N+nYhMCQ9Y7edg2BIRGzfyZsY0IdqoQ==", "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", @@ -9074,14 +10460,20 @@ "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "peerDependencies": { + "@typescript-eslint/parser": "^7.0.0 || ^8.0.0", "eslint": "^8.57.0 || ^9.0.0", "vue-eslint-parser": "^10.0.0" + }, + "peerDependenciesMeta": { + "@typescript-eslint/parser": { + "optional": true + } } }, "node_modules/eslint-plugin-vue/node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -9111,9 +10503,9 @@ "license": "MIT" }, "node_modules/eslint-scope": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.3.0.tgz", - "integrity": "sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==", + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", @@ -9151,9 +10543,9 @@ } }, "node_modules/eslint-visitor-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", - "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", "license": "Apache-2.0", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -9163,12 +10555,13 @@ } }, "node_modules/eslint-webpack-plugin": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-5.0.1.tgz", - "integrity": "sha512-Ur100Vi+z0uP7j4Z8Ccah0pXmNHhl3f7P2hCYZj3mZCOSc33G5c1R/vZ4KCapwWikPgRyD4dkangx6JW3KaVFQ==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-5.0.2.tgz", + "integrity": "sha512-cB7EO2o+4gPUzK6zxgegSet8uu/hHwzOiG+2976MHWiwWFj9mmPbTrzlW0InFl6hl89S1D9MPKK5F7vNFpZc4g==", "license": "MIT", "dependencies": { "@types/eslint": "^9.6.1", + "flatted": "^3.3.3", "jest-worker": "^29.7.0", "micromatch": "^4.0.8", "normalize-path": "^3.0.0", @@ -9209,14 +10602,14 @@ } }, "node_modules/espree": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", - "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", "license": "BSD-2-Clause", "dependencies": { - "acorn": "^8.14.0", + "acorn": "^8.15.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.2.0" + "eslint-visitor-keys": "^4.2.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -9226,9 +10619,9 @@ } }, "node_modules/espree/node_modules/acorn": { - "version": "8.14.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz", - "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "license": "MIT", "bin": { "acorn": "bin/acorn" @@ -9238,16 +10631,28 @@ } }, "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A==", "license": "BSD-2-Clause", "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" }, "engines": { - "node": ">=4" + "node": ">=0.10.0" + } + }, + "node_modules/esprima-fb": { + "version": "15001.1001.0-dev-harmony-fb", + "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-15001.1001.0-dev-harmony-fb.tgz", + "integrity": "sha512-m7OsYzocA8OQ3+9CxmhIv7NPHtyDR2ixaLCO7kLZ+YH+xQ/BpaZmll9EXmc+kBxzWA8BRBXbNEuEQqQ6vfsgDw==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=0.4.0" } }, "node_modules/esquery": { @@ -9284,10 +10689,13 @@ } }, "node_modules/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "license": "MIT" + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } }, "node_modules/esutils": { "version": "2.0.3", @@ -9322,99 +10730,155 @@ "node": ">=0.8.x" } }, - "node_modules/eventsource": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-3.0.6.tgz", - "integrity": "sha512-l19WpE2m9hSuyP06+FbuUUf1G+R0SFLrtQfbRb9PRr+oimOfxQhgGCbVaXg5IvZyyTThJsxh6L/srkMiCeBPDA==", - "license": "MIT", - "dependencies": { - "eventsource-parser": "^3.0.1" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/eventsource-parser": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.1.tgz", - "integrity": "sha512-VARTJ9CYeuQYb0pZEPbzi740OWFgpHe7AYJ2WFZVnUDUQp5Dk2yJUgF36YsZ81cOyxT0QxmXD2EQpapAouzWVA==", - "license": "MIT", - "engines": { - "node": ">=18.0.0" - } - }, "node_modules/eventsource-polyfill": { "version": "0.9.6", "resolved": "https://registry.npmjs.org/eventsource-polyfill/-/eventsource-polyfill-0.9.6.tgz", "integrity": "sha512-LyMFp2oPDGhum2lMvkjqKZEwWd2/AoXyt8aoyftTBMWwPHNgU+2tdxhTHPluDxoz+z4gNj0uHAPR9nqevATMbg==", "license": "MIT" }, + "node_modules/expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha512-hxx03P2dJxss6ceIeri9cmYOT4SRs3Zk3afZwWpOsRqLqprhTR8u++SlC+sFGsQr7WGFPdMF7Gjc1njDLDK6UA==", + "license": "MIT", + "dependencies": { + "is-posix-bracket": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha512-AFASGfIlnIbkKPQwX1yHaDjFvh/1gyKJODme52V6IORh69uEYgZp0o9C+qsIGNVEiuuhQU0CSSl++Rlegg1qvA==", + "license": "MIT", + "dependencies": { + "fill-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-range/node_modules/fill-range": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", + "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", + "license": "MIT", + "dependencies": { + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^3.0.0", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-range/node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "license": "MIT" + }, + "node_modules/expand-range/node_modules/is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha512-QUzH43Gfb9+5yckcrSA0VBDwEtDUchrk4F6tfJZQuNzDJbEDB9cZNzSfXGQ1jqmdDY/kl41lUOWM9syA8z8jlg==", + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-range/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT" + }, + "node_modules/expand-range/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "license": "MIT", + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-range/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/expect-type": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.2.1.tgz", - "integrity": "sha512-/kP8CAwxzLVEeFrMm4kMmy4CCDlpipyA7MYLVrdJIkV0fYF0UaigQHRsxHiuY/GEea+bh4KSv3TIlgr+2UL6bw==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.2.2.tgz", + "integrity": "sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==", "license": "Apache-2.0", "engines": { "node": ">=12.0.0" } }, "node_modules/express": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/express/-/express-5.1.0.tgz", - "integrity": "sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", + "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", "license": "MIT", "dependencies": { - "accepts": "^2.0.0", - "body-parser": "^2.2.0", - "content-disposition": "^1.0.0", - "content-type": "^1.0.5", - "cookie": "^0.7.1", - "cookie-signature": "^1.2.1", - "debug": "^4.4.0", - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "etag": "^1.8.1", - "finalhandler": "^2.1.0", - "fresh": "^2.0.0", - "http-errors": "^2.0.0", - "merge-descriptors": "^2.0.0", - "mime-types": "^3.0.0", - "on-finished": "^2.4.1", - "once": "^1.4.0", - "parseurl": "^1.3.3", - "proxy-addr": "^2.0.7", - "qs": "^6.14.0", - "range-parser": "^1.2.1", - "router": "^2.2.0", - "send": "^1.1.0", - "serve-static": "^2.2.0", - "statuses": "^2.0.1", - "type-is": "^2.0.1", - "vary": "^1.1.2" + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.3", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.7.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.3.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.12", + "proxy-addr": "~2.0.7", + "qs": "6.13.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.19.0", + "serve-static": "1.16.2", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" }, "engines": { - "node": ">= 18" + "node": ">= 0.10.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/express" } }, - "node_modules/express-rate-limit": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-7.5.0.tgz", - "integrity": "sha512-eB5zbQh5h+VenMPM3fh+nw1YExi5nMr6HUCR62ELSP11huvxm/Uir1H1QEyTkk5QX6A58pX6NmaTMceKZ0Eodg==", - "license": "MIT", - "engines": { - "node": ">= 16" - }, - "funding": { - "url": "https://github.com/sponsors/express-rate-limit" - }, - "peerDependencies": { - "express": "^4.11 || 5 || ^5.0.0-beta.1" - } - }, "node_modules/express-session": { "version": "1.18.1", "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.18.1.tgz", @@ -9455,12 +10919,124 @@ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "license": "MIT" }, + "node_modules/express/node_modules/cookie": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", + "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/express/node_modules/finalhandler": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", + "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/express/node_modules/path-to-regexp": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", + "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", + "license": "MIT" + }, + "node_modules/express/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", "license": "MIT" }, + "node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "license": "MIT", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extend-shallow/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha512-1FOj1LOwn42TMrruOHGt18HemVnbwAmAak7krWk+wa93KXxGbK+2jpezm+ytJYDaBX0/SPLZFHKM7m+tKobWGg==", + "license": "MIT", + "dependencies": { + "is-extglob": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -9604,6 +11180,13 @@ "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==", "license": "MIT" }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "license": "MIT", + "optional": true + }, "node_modules/filelist": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", @@ -9614,9 +11197,9 @@ } }, "node_modules/filelist/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" @@ -9634,6 +11217,15 @@ "node": ">=10" } }, + "node_modules/filename-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", + "integrity": "sha512-BTCqyBaWBTsauvnHiE8i562+EdJj+oUpkqWp2R1iCoR8f6oo8STRu3of7WJJ0TqWtxN50a5YFpzYK4Jj9esYfQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/fill-range": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", @@ -9647,17 +11239,45 @@ } }, "node_modules/finalhandler": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.0.tgz", - "integrity": "sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", "license": "MIT", "dependencies": { - "debug": "^4.4.0", - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "on-finished": "^2.4.1", - "parseurl": "^1.3.3", - "statuses": "^2.0.1" + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/finalhandler/node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" }, "engines": { "node": ">= 0.8" @@ -9705,6 +11325,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/find-up/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/flat": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", @@ -9753,12 +11382,12 @@ } }, "node_modules/flow-remove-types": { - "version": "2.269.1", - "resolved": "https://registry.npmjs.org/flow-remove-types/-/flow-remove-types-2.269.1.tgz", - "integrity": "sha512-P46c3VI+2Bq/oFuQojatHISg0c+t0JQDnFhwwuSSraw+QtDVEvNYg3eEP+Cc/i4nKntt6qa22hbUb8dJ//LkBw==", + "version": "2.275.0", + "resolved": "https://registry.npmjs.org/flow-remove-types/-/flow-remove-types-2.275.0.tgz", + "integrity": "sha512-Wg+dT3QiB0cAB7yI68eIAM6oCyuu6ppT5N0ma9Z25M0Xhul2y4t4pGu7RVtC8SXptCM6lGOVBXH7/zFSYH4y7Q==", "license": "MIT", "dependencies": { - "hermes-parser": "0.28.0", + "hermes-parser": "0.29.1", "pirates": "^3.0.2", "vlq": "^0.2.1" }, @@ -9817,6 +11446,27 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha512-SKmowqGTJoPzLO1T0BBJpkfp3EMacCMOuH40hOUbrbzElVktk4DioXVM99QkLCyKoiuOmyjgcWMpVz2xjE7LZw==", + "license": "MIT", + "dependencies": { + "for-in": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/foreachasync": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/foreachasync/-/foreachasync-3.0.0.tgz", @@ -9840,41 +11490,21 @@ } }, "node_modules/form-data": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.2.tgz", - "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.3.tgz", + "integrity": "sha512-qsITQPfmvMOSAdeyZ+12I1c+CKSstAFAwu+97zrnWAbIr5u8wfsExUzCesVLC8NgHuRUqNN4Zy6UPWUTRGslcA==", "license": "MIT", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", "mime-types": "^2.1.12" }, "engines": { "node": ">= 6" } }, - "node_modules/form-data/node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/form-data/node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/formidable": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.1.5.tgz", @@ -9912,13 +11542,25 @@ "url": "https://github.com/sponsors/rawify" } }, + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", + "license": "MIT", + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", - "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "license": "MIT", "engines": { - "node": ">= 0.8" + "node": ">= 0.6" } }, "node_modules/fs-extra": { @@ -10121,6 +11763,15 @@ "node": ">= 0.4" } }, + "node_modules/get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", @@ -10150,6 +11801,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/gettext-extractor": { "version": "3.8.0", "resolved": "https://registry.npmjs.org/gettext-extractor/-/gettext-extractor-3.8.0.tgz", @@ -10206,6 +11866,49 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/glob-base": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha512-ab1S1g1EbO7YzauaJLkgLp7DZVAqj9M/dvKlTt8DkXA2tiOIcSMrlVI2J1RZyB5iJVccEscjGn+kpOG9788MHA==", + "license": "MIT", + "dependencies": { + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob-base/node_modules/glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha512-JDYOvfxio/t42HKdxkAYaCiBN7oYiuxykOxKxdaUW5Qn0zaYN3gRQWolrwdnf0shM9/EP0ebuuTmyoXNr1cC5w==", + "license": "ISC", + "dependencies": { + "is-glob": "^2.0.0" + } + }, + "node_modules/glob-base/node_modules/is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob-base/node_modules/is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==", + "license": "MIT", + "dependencies": { + "is-extglob": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/glob-parent": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", @@ -10238,6 +11941,15 @@ "node": ">=16" } }, + "node_modules/global-prefix/node_modules/ini": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.3.tgz", + "integrity": "sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==", + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, "node_modules/global-prefix/node_modules/isexe": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", @@ -10263,9 +11975,9 @@ } }, "node_modules/globals": { - "version": "16.1.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-16.1.0.tgz", - "integrity": "sha512-aibexHNbb/jiUSObBgpHLj+sIuUmJnYcgXBlrfsiDZ9rt4aF2TFRbyLgZ2iFQuVZ1K5Mx3FVkbKRSgKrbK3K2g==", + "version": "16.3.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-16.3.0.tgz", + "integrity": "sha512-bqWEnJ1Nt3neqx2q5SFfGS8r/ahumIakg3HcwtNlrVlwXIeNumWn/c7Pn/wKzGhf6SaW6H6uWXLqC30STCMchQ==", "license": "MIT", "engines": { "node": ">=18" @@ -10350,6 +12062,36 @@ "uglify-js": "^3.1.4" } }, + "node_modules/handlebars/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-ansi/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/has-bigints": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", @@ -10431,6 +12173,75 @@ "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", "license": "ISC" }, + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", + "license": "MIT", + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", + "license": "MIT", + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "license": "MIT" + }, + "node_modules/has-values/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/hash-sum": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz", @@ -10482,26 +12293,39 @@ } }, "node_modules/hermes-estree": { - "version": "0.28.0", - "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.28.0.tgz", - "integrity": "sha512-M5IFfnP4RCA2/Hv7VTIlZ1FV4qW33gresbv0SDaSBS/6lax23oV2sg4iE0fhYnpMeQL7Inob+jAeO+mV2T3bKA==", + "version": "0.29.1", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.29.1.tgz", + "integrity": "sha512-jl+x31n4/w+wEqm0I2r4CMimukLbLQEYpisys5oCre611CI5fc9TxhqkBBCJ1edDG4Kza0f7CgNz8xVMLZQOmQ==", "license": "MIT" }, "node_modules/hermes-parser": { - "version": "0.28.0", - "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.28.0.tgz", - "integrity": "sha512-PPtmoqyz4vv5SqVCYuvJLPKZt+SqCMviICVEygi6jHyfAvDd0cQTV2MfikDd8YXPOszR/9QvauWcGyluxej+rg==", + "version": "0.29.1", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.29.1.tgz", + "integrity": "sha512-xBHWmUtRC5e/UL0tI7Ivt2riA/YBq9+SiYFU7C1oBa/j2jYGlIF9043oak1F47ihuDIxQ5nbsKueYJDRY02UgA==", "license": "MIT", "dependencies": { - "hermes-estree": "0.28.0" + "hermes-estree": "0.29.1" } }, "node_modules/hls.js": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/hls.js/-/hls.js-1.6.2.tgz", - "integrity": "sha512-rx+pETSCJEDThm/JCm8CuadcAC410cVjb1XVXFNDKFuylaayHk1+tFxhkjvnMDAfqsJHxZXDAJ3Uc2d5xQyWlQ==", + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/hls.js/-/hls.js-1.6.7.tgz", + "integrity": "sha512-QW2fnwDGKGc9DwQUGLbmMOz8G48UZK7PVNJPcOUql1b8jubKx4/eMHNP5mGqr6tYlJNDG1g10Lx2U/qPzL6zwQ==", "license": "Apache-2.0" }, + "node_modules/home-or-tmp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-1.0.0.tgz", + "integrity": "sha512-6LKQZpR6gk8uJ3mXbBkyOumsA24BUk9CH/79ivZ8Kk1urzlXNGZBoAMuieC/YzwCyGBVqq+uCNUpA1JS6glrxg==", + "license": "MIT", + "dependencies": { + "os-tmpdir": "^1.0.1", + "user-home": "^1.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/html-encoding-sniffer": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz", @@ -10571,6 +12395,15 @@ "node": ">= 0.8" } }, + "node_modules/http-errors/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/http-proxy": { "version": "1.18.1", "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", @@ -10620,12 +12453,12 @@ } }, "node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "license": "MIT", "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" + "safer-buffer": ">= 2.1.2 < 3" }, "engines": { "node": ">=0.10.0" @@ -10673,9 +12506,9 @@ } }, "node_modules/immutable": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.2.tgz", - "integrity": "sha512-qHKXW1q6liAk1Oys6umoaZbDRqjcjgSrbnrifHsfsttza7zcvRAsL7mMV6xWcyhwQy7Xj5v4hhbr6b+iDYwlmQ==", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.3.tgz", + "integrity": "sha512-+chQdDfvscSF1SJqv2gn4SRO2ZyS3xL3r7IW/wWEEzrzLisnOlKiQu5ytC/BVNcS15C39WT2Hg/bjKjDMcu+zg==", "license": "MIT" }, "node_modules/import-fresh": { @@ -10774,6 +12607,15 @@ "node": ">=8" } }, + "node_modules/import-local/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/import-local/node_modules/pkg-dir": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", @@ -10822,13 +12664,10 @@ "license": "ISC" }, "node_modules/ini": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.3.tgz", - "integrity": "sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==", - "license": "ISC", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "license": "ISC" }, "node_modules/internal-slot": { "version": "1.1.0", @@ -10853,6 +12692,15 @@ "node": ">=10.13.0" } }, + "node_modules/invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/ioredis": { "version": "5.6.1", "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-5.6.1.tgz", @@ -10895,6 +12743,18 @@ "node": ">=8" } }, + "node_modules/is-accessor-descriptor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz", + "integrity": "sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==", + "license": "MIT", + "dependencies": { + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, "node_modules/is-arguments": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.2.0.tgz", @@ -11046,6 +12906,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-data-descriptor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz", + "integrity": "sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==", + "license": "MIT", + "dependencies": { + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/is-data-view": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", @@ -11079,6 +12951,40 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-descriptor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz", + "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==", + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-dotfile": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", + "integrity": "sha512-9YclgOGtN/f8zx0Pr4FQYMdibBiTaH3sn52vjYip4ZSf6C4/6RfTEZ+MR4GvKhCxdPh21Bg42/WL55f6KSnKpg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-equal-shallow": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", + "integrity": "sha512-0EygVC5qPvIyb+gSz7zdD5/AAoS6Qrx1e//6N4yv4oNm30kqvdmG66oZFWVlQHUWe5OjP08FuTw2IdT0EOTcYA==", + "license": "MIT", + "dependencies": { + "is-primitive": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-expression": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/is-expression/-/is-expression-4.0.0.tgz", @@ -11089,6 +12995,15 @@ "object-assign": "^4.1.1" } }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -11113,6 +13028,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-finite": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", @@ -11152,6 +13079,15 @@ "node": ">=0.10.0" } }, + "node_modules/is-integer": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-integer/-/is-integer-1.0.7.tgz", + "integrity": "sha512-RPQc/s9yBHSvpi+hs9dYiJ2cuFeU6x3TyyIp8O2H6SKEltIvJOzRj9ToyvcStDvPR/pS4rxgr1oBFajQjZ2Szg==", + "license": "WTFPL OR ISC", + "dependencies": { + "is-finite": "^1.0.0" + } + }, "node_modules/is-map": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", @@ -11164,6 +13100,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -11210,12 +13158,30 @@ "node": ">=0.10.0" } }, + "node_modules/is-posix-bracket": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", + "integrity": "sha512-Yu68oeXJ7LeWNmZ3Zov/xg/oDBnBK2RNxwYY1ilNJX+tKKZqgPK+qOn/Gs9jEu66KDY9Netf5XLKNGzas/vPfQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-potential-custom-element-name": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", "license": "MIT" }, + "node_modules/is-primitive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", + "integrity": "sha512-N3w1tFaRfk3UrPfqeRyD+GYDASU3W5VinKhlORy8EWVf/sIdDL9GAcew85XmktCfH+ngG7SRXEVDoO18WMdB/Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-promise": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", @@ -11370,6 +13336,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/isarray": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", @@ -11429,9 +13404,9 @@ } }, "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -11470,9 +13445,9 @@ } }, "node_modules/istanbul-lib-report/node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -11619,9 +13594,9 @@ } }, "node_modules/js-beautify/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" @@ -11935,6 +13910,15 @@ "rimraf": "bin.js" } }, + "node_modules/karma-coverage-istanbul-reporter/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/karma-htmlfile-reporter": { "version": "0.3.8", "resolved": "https://registry.npmjs.org/karma-htmlfile-reporter/-/karma-htmlfile-reporter-0.3.8.tgz", @@ -11986,9 +13970,9 @@ } }, "node_modules/karma-webpack/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" @@ -12018,130 +14002,15 @@ "lodash": "^4.17.15" } }, - "node_modules/karma/node_modules/body-parser": { - "version": "1.20.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", - "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", - "license": "MIT", - "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.5", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.13.0", - "raw-body": "2.5.2", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/karma/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/karma/node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, + "node_modules/karma/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, - "node_modules/karma/node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/karma/node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/karma/node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/karma/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" - }, - "node_modules/karma/node_modules/qs": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", - "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", - "license": "BSD-3-Clause", - "dependencies": { - "side-channel": "^1.0.6" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/karma/node_modules/raw-body": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", - "license": "MIT", - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/karma/node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "license": "MIT", - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/kdbush": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/kdbush/-/kdbush-4.0.2.tgz", @@ -12166,6 +14035,39 @@ "node": ">=0.10.0" } }, + "node_modules/lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha512-RE2g0b5VGZsOCFOCgP7omTRYFqydmZkBwl5oNnQ1lDYC57uyO9KqNnNVxT7COSHTxrRCWVcAVOcbjk+tvh/rgQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw==", + "license": "MIT", + "dependencies": { + "invert-kv": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/leven": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/leven/-/leven-1.0.2.tgz", + "integrity": "sha512-U3eIzC2mMAOMOuoJ25sA3eyraoBwndpQyYgBq5dyqrMTpvMg9l9X/ucFHxv622YcCg179WWqleoF7rSzfYrV+Q==", + "license": "MIT", + "bin": { + "leven": "cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -12343,10 +14245,19 @@ "node": ">=8.0" } }, + "node_modules/longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha512-k+yt5n3l48JU4k8ftnKG6V7u32wyH2NfKzeMto9F/QRE0amxy/LayxwlvjjkZEIzqR+19IrtFO8p5kB9QaYUFg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/loupe": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.3.tgz", - "integrity": "sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.4.tgz", + "integrity": "sha512-wJzkKwJrheKtknCOKNEtDK4iqg/MxmZheEMtSTYvnzRdEYaZzmgH976nenp8WdJRdx5Vc1X/9MO0Oszl6ezeXg==", "license": "MIT" }, "node_modules/lru-cache": { @@ -12359,9 +14270,9 @@ } }, "node_modules/luxon": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.6.1.tgz", - "integrity": "sha512-tJLxrKJhO2ukZ5z0gyjY1zPh3Rh88Ej9P7jNrZiHMUXHae1yvI2imgOZtL1TO8TW6biMMKfTtAOoEJANgtWBMQ==", + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.7.1.tgz", + "integrity": "sha512-RkRWjA926cTvz5rAb1BqyWkKbbjzCGchDUIKMCUvNi17j6f6j8uHGDV82Aqcqtzd+icoYpELmG3ksgGiFNNcNg==", "license": "MIT", "engines": { "node": ">=12" @@ -12372,7 +14283,6 @@ "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", "license": "MIT", - "peer": true, "bin": { "lz-string": "bin/bin.js" } @@ -12419,10 +14329,31 @@ "semver": "bin/semver" } }, + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", + "license": "MIT", + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/maplibre-gl": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/maplibre-gl/-/maplibre-gl-5.5.0.tgz", - "integrity": "sha512-p8AOPuzzqn1ZA9gcXxKw0IED715we/2Owa/YUr6PANmgMvNMe/JG+V/C1hRra43Wm62Biz+Aa8AgbOLJimA8tA==", + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/maplibre-gl/-/maplibre-gl-5.6.1.tgz", + "integrity": "sha512-TTSfoTaF7RqKUR9wR5qDxCHH2J1XfZ1E85luiLOx0h8r50T/LnwAwwfV0WVNh9o8dA7rwt57Ucivf1emyeukXg==", "license": "BSD-3-Clause", "dependencies": { "@mapbox/geojson-rewind": "^0.5.2", @@ -12432,7 +14363,7 @@ "@mapbox/unitbezier": "^0.0.1", "@mapbox/vector-tile": "^1.3.1", "@mapbox/whoots-js": "^3.1.0", - "@maplibre/maplibre-gl-style-spec": "^23.2.2", + "@maplibre/maplibre-gl-style-spec": "^23.3.0", "@types/geojson": "^7946.0.16", "@types/geojson-vt": "3.2.5", "@types/mapbox__point-geometry": "^0.1.4", @@ -12469,6 +14400,12 @@ "node": ">= 0.4" } }, + "node_modules/math-random": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz", + "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==", + "license": "MIT" + }, "node_modules/md5": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", @@ -12487,18 +14424,18 @@ "license": "MIT" }, "node_modules/mdn-data": { - "version": "2.0.30", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", - "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "version": "2.12.2", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.12.2.tgz", + "integrity": "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==", "license": "CC0-1.0" }, "node_modules/media-typer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", - "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", "license": "MIT", "engines": { - "node": ">= 0.8" + "node": ">= 0.6" } }, "node_modules/memoize-one": { @@ -12508,13 +14445,10 @@ "license": "MIT" }, "node_modules/merge-descriptors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", - "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", "license": "MIT", - "engines": { - "node": ">=18" - }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } @@ -12590,21 +14524,21 @@ } }, "node_modules/mime-db": { - "version": "1.54.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", - "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz", - "integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==", + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "license": "MIT", "dependencies": { - "mime-db": "^1.54.0" + "mime-db": "1.52.0" }, "engines": { "node": ">= 0.6" @@ -12681,6 +14615,31 @@ "node": ">= 18" } }, + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "license": "MIT", + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-deep/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/mkdirp": { "version": "0.5.6", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", @@ -12694,28 +14653,28 @@ } }, "node_modules/mocha": { - "version": "11.2.2", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-11.2.2.tgz", - "integrity": "sha512-VlSBxrPYHK4YNOEbFdkCxHQbZMoNzBkoPprqtZRW6311EUF/DlSxoycE2e/2NtRk4WKkIXzyrXDTrlikJMWgbw==", + "version": "11.7.1", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-11.7.1.tgz", + "integrity": "sha512-5EK+Cty6KheMS/YLPPMJC64g5V61gIR25KsRItHw6x4hEKT6Njp1n9LOlH4gpevuwMVS66SXaBBpg+RWZkza4A==", "license": "MIT", "dependencies": { "browser-stdout": "^1.3.1", "chokidar": "^4.0.1", "debug": "^4.3.5", - "diff": "^5.2.0", + "diff": "^7.0.0", "escape-string-regexp": "^4.0.0", "find-up": "^5.0.0", "glob": "^10.4.5", "he": "^1.2.0", "js-yaml": "^4.1.0", "log-symbols": "^4.1.0", - "minimatch": "^5.1.6", + "minimatch": "^9.0.5", "ms": "^2.1.3", "picocolors": "^1.1.1", "serialize-javascript": "^6.0.2", "strip-json-comments": "^3.1.1", "supports-color": "^8.1.1", - "workerpool": "^6.5.1", + "workerpool": "^9.2.0", "yargs": "^17.7.2", "yargs-parser": "^21.1.1", "yargs-unparser": "^2.0.0" @@ -12729,9 +14688,9 @@ } }, "node_modules/mocha/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" @@ -12792,21 +14751,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/mocha/node_modules/glob/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/mocha/node_modules/is-unicode-supported": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", @@ -12836,15 +14780,18 @@ } }, "node_modules/mocha/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=10" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/mocha/node_modules/readdirp": { @@ -12945,6 +14892,13 @@ "thenify-all": "^1.0.0" } }, + "node_modules/nan": { + "version": "2.23.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.23.0.tgz", + "integrity": "sha512-1UxuyYGdoQHcGg87Lkqm3FzefucTa0NAiOcuRsDmysep3c1LVCRK2krrUDafMWtjSG04htvAmvg96+SDknOmgQ==", + "license": "MIT", + "optional": true + }, "node_modules/nanoid": { "version": "3.3.11", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", @@ -12963,6 +14917,46 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "license": "MIT", + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nanomatch/node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nanomatch/node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -12970,9 +14964,9 @@ "license": "MIT" }, "node_modules/negotiator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", - "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", "license": "MIT", "engines": { "node": ">= 0.6" @@ -13161,6 +15155,63 @@ "node": ">=0.10.0" } }, + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "license": "MIT", + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "license": "MIT", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "license": "MIT" + }, + "node_modules/object-copy/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/object-inspect": { "version": "1.13.4", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", @@ -13182,6 +15233,18 @@ "node": ">= 0.4" } }, + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", + "license": "MIT", + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/object.assign": { "version": "4.1.7", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", @@ -13234,6 +15297,31 @@ "node": ">= 0.4" } }, + "node_modules/object.omit": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", + "integrity": "sha512-UiAM5mhmIuKLsOvrL+B0U2d1hXHF3bFYWIuH1LMpuV2EJEHG1Ntz06PgLEHjm6VFd87NpH8rastvPoyv6UW2fA==", + "license": "MIT", + "dependencies": { + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/object.values": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", @@ -13308,6 +15396,38 @@ "node": ">= 0.8.0" } }, + "node_modules/os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha512-PRT7ZORmwu2MEFt4/fv3Q+mEfN4zetKxufQrkShY2oGvUms9r8otu5HfdyIFHkYXjO7laNsoVGmM2MANfuTA8g==", + "license": "MIT", + "dependencies": { + "lcid": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/output-file-sync": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/output-file-sync/-/output-file-sync-1.1.2.tgz", + "integrity": "sha512-uQLlclru4xpCi+tfs80l3QF24KL81X57ELNMy7W/dox+JTtxUf1bLyQ8968fFCmSqqbokjW0kn+WBIlO+rSkNg==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.4", + "mkdirp": "^0.5.1", + "object-assign": "^4.1.0" + } + }, "node_modules/own-keys": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", @@ -13382,6 +15502,42 @@ "node": ">=6" } }, + "node_modules/parse-glob": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", + "integrity": "sha512-FC5TeK0AwXzq3tUBFtH74naWkPQCEWs4K+xMxWZBlKDWu0bVHXGZa+KKqxKidd7xwhdZ19ZNuF2uO1M/r196HA==", + "license": "MIT", + "dependencies": { + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parse-glob/node_modules/is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parse-glob/node_modules/is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==", + "license": "MIT", + "dependencies": { + "is-extglob": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -13432,9 +15588,9 @@ } }, "node_modules/parse5/node_modules/entities": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.0.tgz", - "integrity": "sha512-aKstq2TDOndCn4diEyp9Uq/Flu2i1GlLkc6XIDQSDMuaFE3OPW5OphLCyQ5SpSJZTb4reN+kTcYru5yIfXoRPw==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", "license": "BSD-2-Clause", "engines": { "node": ">=0.12" @@ -13452,6 +15608,15 @@ "node": ">= 0.8" } }, + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/passive-events-support": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/passive-events-support/-/passive-events-support-1.1.0.tgz", @@ -13465,12 +15630,12 @@ "license": "MIT" }, "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-1.0.0.tgz", + "integrity": "sha512-BD2vrQBPFI3VkVKzTrOmaG2WtPQoduNXu1A5tLYMOW8RN6G9CdhdSkmw+ljxUkJcj4pbXQGw0lzl7MFLnhba9Q==", "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, "node_modules/path-is-absolute": { @@ -13520,13 +15685,10 @@ "license": "ISC" }, "node_modules/path-to-regexp": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.2.0.tgz", - "integrity": "sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==", - "license": "MIT", - "engines": { - "node": ">=16" - } + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz", + "integrity": "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==", + "license": "MIT" }, "node_modules/path-type": { "version": "4.0.0", @@ -13544,9 +15706,9 @@ "license": "MIT" }, "node_modules/pathval": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz", - "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz", + "integrity": "sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==", "license": "MIT", "engines": { "node": ">= 14.16" @@ -13610,15 +15772,6 @@ "node": ">= 6" } }, - "node_modules/pkce-challenge": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pkce-challenge/-/pkce-challenge-5.0.0.tgz", - "integrity": "sha512-ueGLflrrnvwB3xuo/uGob5pd5FN7l0MsLf0Z87o/UQmRtwjvfylfc9MurIxRAWywCYTgrvpXBcqjV4OfCYGCIQ==", - "license": "MIT", - "engines": { - "node": ">=16.20.0" - } - }, "node_modules/pkg-dir": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", @@ -13692,6 +15845,50 @@ "node": ">=4" } }, + "node_modules/playwright": { + "version": "1.54.1", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.54.1.tgz", + "integrity": "sha512-peWpSwIBmSLi6aW2auvrUtf2DqY16YYcCMO8rTVx486jKmDTJg7UAhyrraP98GB8BoPURZP8+nxO7TSd4cPr5g==", + "license": "Apache-2.0", + "dependencies": { + "playwright-core": "1.54.1" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "fsevents": "2.3.2" + } + }, + "node_modules/playwright-core": { + "version": "1.54.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.54.1.tgz", + "integrity": "sha512-Nbjs2zjj0htNhzgiy5wu+3w09YetDx5pkrpI/kZotDlDUaYk0HVA5xrBVPdow4SAUIlhgKcJeJg4GRKW6xHusA==", + "license": "Apache-2.0", + "bin": { + "playwright-core": "cli.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/playwright/node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/plur": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/plur/-/plur-5.1.0.tgz", @@ -13713,6 +15910,15 @@ "integrity": "sha512-r6Q21sKsY1AjTVVjOuU02VYKVNQGJNQHjTIvs4dEbeuuYfxgYk/DGD2mqqq4RDaVkwdSq0VEtmQUOPe/wH8X3g==", "license": "MIT" }, + "node_modules/posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/possible-typed-array-names": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", @@ -13723,9 +15929,9 @@ } }, "node_modules/postcss": { - "version": "8.5.3", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", - "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", "funding": [ { "type": "opencollective", @@ -13742,7 +15948,7 @@ ], "license": "MIT", "dependencies": { - "nanoid": "^3.3.8", + "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" }, @@ -13833,9 +16039,9 @@ } }, "node_modules/postcss-color-functional-notation": { - "version": "7.0.9", - "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-7.0.9.tgz", - "integrity": "sha512-WScwD3pSsIz+QP97sPkGCeJm7xUH0J18k6zV5o8O2a4cQJyv15vLUx/WFQajuJVgZhmJL5awDu8zHnqzAzm4lw==", + "version": "7.0.10", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-7.0.10.tgz", + "integrity": "sha512-k9qX+aXHBiLTRrWoCJuUFI6F1iF6QJQUXNVWJVSbqZgj57jDhBlOvD8gNUGl35tgqDivbGLhZeW3Ongz4feuKA==", "funding": [ { "type": "github", @@ -13848,10 +16054,10 @@ ], "license": "MIT-0", "dependencies": { - "@csstools/css-color-parser": "^3.0.9", - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3", - "@csstools/postcss-progressive-custom-properties": "^4.0.1", + "@csstools/css-color-parser": "^3.0.10", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/postcss-progressive-custom-properties": "^4.1.0", "@csstools/utilities": "^2.0.0" }, "engines": { @@ -13914,12 +16120,12 @@ } }, "node_modules/postcss-colormin": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-7.0.3.tgz", - "integrity": "sha512-xZxQcSyIVZbSsl1vjoqZAcMYYdnJsIyG8OvqShuuqf12S88qQboxxEy0ohNCOLwVPXTU+hFHvJPACRL2B5ohTA==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-7.0.4.tgz", + "integrity": "sha512-ziQuVzQZBROpKpfeDwmrG+Vvlr0YWmY/ZAk99XD+mGEBuEojoFekL41NCsdhyNUtZI7DPOoIWIR7vQQK9xwluw==", "license": "MIT", "dependencies": { - "browserslist": "^4.24.5", + "browserslist": "^4.25.1", "caniuse-api": "^3.0.0", "colord": "^2.9.3", "postcss-value-parser": "^4.2.0" @@ -13932,12 +16138,12 @@ } }, "node_modules/postcss-convert-values": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-7.0.5.tgz", - "integrity": "sha512-0VFhH8nElpIs3uXKnVtotDJJNX0OGYSZmdt4XfSfvOMrFw1jKfpwpZxfC4iN73CTM/MWakDEmsHQXkISYj4BXw==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-7.0.6.tgz", + "integrity": "sha512-MD/eb39Mr60hvgrqpXsgbiqluawYg/8K4nKsqRsuDX9f+xN1j6awZCUv/5tLH8ak3vYp/EMXwdcnXvfZYiejCQ==", "license": "MIT", "dependencies": { - "browserslist": "^4.24.5", + "browserslist": "^4.25.1", "postcss-value-parser": "^4.2.0" }, "engines": { @@ -13948,9 +16154,9 @@ } }, "node_modules/postcss-custom-media": { - "version": "11.0.5", - "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-11.0.5.tgz", - "integrity": "sha512-SQHhayVNgDvSAdX9NQ/ygcDQGEY+aSF4b/96z7QUX6mqL5yl/JgG/DywcF6fW9XbnCRE+aVYk+9/nqGuzOPWeQ==", + "version": "11.0.6", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-11.0.6.tgz", + "integrity": "sha512-C4lD4b7mUIw+RZhtY7qUbf4eADmb7Ey8BFA2px9jUbwg7pjTZDl4KY4bvlUV+/vXQvzQRfiGEVJyAbtOsCMInw==", "funding": [ { "type": "github", @@ -13963,10 +16169,10 @@ ], "license": "MIT", "dependencies": { - "@csstools/cascade-layer-name-parser": "^2.0.4", - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3", - "@csstools/media-query-list-parser": "^4.0.2" + "@csstools/cascade-layer-name-parser": "^2.0.5", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/media-query-list-parser": "^4.0.3" }, "engines": { "node": ">=18" @@ -13976,9 +16182,9 @@ } }, "node_modules/postcss-custom-properties": { - "version": "14.0.4", - "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-14.0.4.tgz", - "integrity": "sha512-QnW8FCCK6q+4ierwjnmXF9Y9KF8q0JkbgVfvQEMa93x1GT8FvOiUevWCN2YLaOWyByeDX8S6VFbZEeWoAoXs2A==", + "version": "14.0.6", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-14.0.6.tgz", + "integrity": "sha512-fTYSp3xuk4BUeVhxCSJdIPhDLpJfNakZKoiTDx7yRGCdlZrSJR7mWKVOBS4sBF+5poPQFMj2YdXx1VHItBGihQ==", "funding": [ { "type": "github", @@ -13991,9 +16197,9 @@ ], "license": "MIT", "dependencies": { - "@csstools/cascade-layer-name-parser": "^2.0.4", - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3", + "@csstools/cascade-layer-name-parser": "^2.0.5", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", "@csstools/utilities": "^2.0.0", "postcss-value-parser": "^4.2.0" }, @@ -14005,9 +16211,9 @@ } }, "node_modules/postcss-custom-selectors": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-8.0.4.tgz", - "integrity": "sha512-ASOXqNvDCE0dAJ/5qixxPeL1aOVGHGW2JwSy7HyjWNbnWTQCl+fDc968HY1jCmZI0+BaYT5CxsOiUhavpG/7eg==", + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-8.0.5.tgz", + "integrity": "sha512-9PGmckHQswiB2usSO6XMSswO2yFWVoCAuih1yl9FVcwkscLjRKjwsjM3t+NIWpSU2Jx3eOiK2+t4vVTQaoCHHg==", "funding": [ { "type": "github", @@ -14020,9 +16226,9 @@ ], "license": "MIT", "dependencies": { - "@csstools/cascade-layer-name-parser": "^2.0.4", - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3", + "@csstools/cascade-layer-name-parser": "^2.0.5", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", "postcss-selector-parser": "^7.0.0" }, "engines": { @@ -14148,9 +16354,9 @@ } }, "node_modules/postcss-double-position-gradients": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-6.0.1.tgz", - "integrity": "sha512-ZitCwmvOR4JzXmKw6sZblTgwV1dcfLvClcyjADuqZ5hU0Uk4SVNpvSN9w8NcJ7XuxhRYxVA8m8AB3gy+HNBQOA==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-6.0.2.tgz", + "integrity": "sha512-7qTqnL7nfLRyJK/AHSVrrXOuvDDzettC+wGoienURV8v2svNbu6zJC52ruZtHaO6mfcagFmuTGFdzRsJKB3k5Q==", "funding": [ { "type": "github", @@ -14163,7 +16369,7 @@ ], "license": "MIT-0", "dependencies": { - "@csstools/postcss-progressive-custom-properties": "^4.0.1", + "@csstools/postcss-progressive-custom-properties": "^4.1.0", "@csstools/utilities": "^2.0.0", "postcss-value-parser": "^4.2.0" }, @@ -14308,9 +16514,9 @@ } }, "node_modules/postcss-import": { - "version": "16.1.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-16.1.0.tgz", - "integrity": "sha512-7hsAZ4xGXl4MW+OKEWCnF6T5jqBw80/EE9aXg1r2yyn1RsVEU8EtKXbijEODa+rg7iih4bKf7vlvTGYR4CnPNg==", + "version": "16.1.1", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-16.1.1.tgz", + "integrity": "sha512-2xVS1NCZAfjtVdvXiyegxzJ447GyqCeEI5V7ApgQVOWnros1p5lGNovJNapwPpMombyFBfqDwt7AD3n2l0KOfQ==", "license": "MIT", "dependencies": { "postcss-value-parser": "^4.0.0", @@ -14325,9 +16531,9 @@ } }, "node_modules/postcss-lab-function": { - "version": "7.0.9", - "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-7.0.9.tgz", - "integrity": "sha512-IGbsIXbqMDusymJAKYX+f9oakPo89wL9Pzd/qRBQOVf3EIQWT9hgvqC4Me6Dkzxp3KPuIBf6LPkjrLHe/6ZMIQ==", + "version": "7.0.10", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-7.0.10.tgz", + "integrity": "sha512-tqs6TCEv9tC1Riq6fOzHuHcZyhg4k3gIAMB8GGY/zA1ssGdm6puHMVE7t75aOSoFg7UD2wyrFFhbldiCMyyFTQ==", "funding": [ { "type": "github", @@ -14340,10 +16546,10 @@ ], "license": "MIT-0", "dependencies": { - "@csstools/css-color-parser": "^3.0.9", - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3", - "@csstools/postcss-progressive-custom-properties": "^4.0.1", + "@csstools/css-color-parser": "^3.0.10", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/postcss-progressive-custom-properties": "^4.1.0", "@csstools/utilities": "^2.0.0" }, "engines": { @@ -14385,9 +16591,9 @@ } }, "node_modules/postcss-loader/node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -14438,12 +16644,12 @@ } }, "node_modules/postcss-merge-rules": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-7.0.5.tgz", - "integrity": "sha512-ZonhuSwEaWA3+xYbOdJoEReKIBs5eDiBVLAGpYZpNFPzXZcEE5VKR7/qBEQvTZpiwjqhhqEQ+ax5O3VShBj9Wg==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-7.0.6.tgz", + "integrity": "sha512-2jIPT4Tzs8K87tvgCpSukRQ2jjd+hH6Bb8rEEOUDmmhOeTcqDg5fEFK8uKIu+Pvc3//sm3Uu6FRqfyv7YF7+BQ==", "license": "MIT", "dependencies": { - "browserslist": "^4.24.5", + "browserslist": "^4.25.1", "caniuse-api": "^3.0.0", "cssnano-utils": "^5.0.1", "postcss-selector-parser": "^7.1.0" @@ -14501,12 +16707,12 @@ } }, "node_modules/postcss-minify-params": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-7.0.3.tgz", - "integrity": "sha512-vUKV2+f5mtjewYieanLX0xemxIp1t0W0H/D11u+kQV/MWdygOO7xPMkbK+r9P6Lhms8MgzKARF/g5OPXhb8tgg==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-7.0.4.tgz", + "integrity": "sha512-3OqqUddfH8c2e7M35W6zIwv7jssM/3miF9cbCSb1iJiWvtguQjlxZGIHK9JRmc8XAKmE2PFGtHSM7g/VcW97sw==", "license": "MIT", "dependencies": { - "browserslist": "^4.24.5", + "browserslist": "^4.25.1", "cssnano-utils": "^5.0.1", "postcss-value-parser": "^4.2.0" }, @@ -14632,9 +16838,9 @@ } }, "node_modules/postcss-nesting": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-13.0.1.tgz", - "integrity": "sha512-VbqqHkOBOt4Uu3G8Dm8n6lU5+9cJFxiuty9+4rcoyRPO9zZS1JIs6td49VIoix3qYqELHlJIn46Oih9SAKo+yQ==", + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-13.0.2.tgz", + "integrity": "sha512-1YCI290TX+VP0U/K/aFxzHzQWHWURL+CtHMSbex1lCdpXD1SoR2sYuxDu5aNI9lPoXpKTCggFZiDJbwylU0LEQ==", "funding": [ { "type": "github", @@ -14647,7 +16853,7 @@ ], "license": "MIT-0", "dependencies": { - "@csstools/selector-resolve-nested": "^3.0.0", + "@csstools/selector-resolve-nested": "^3.1.0", "@csstools/selector-specificity": "^5.0.0", "postcss-selector-parser": "^7.0.0" }, @@ -14659,9 +16865,9 @@ } }, "node_modules/postcss-nesting/node_modules/@csstools/selector-resolve-nested": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@csstools/selector-resolve-nested/-/selector-resolve-nested-3.0.0.tgz", - "integrity": "sha512-ZoK24Yku6VJU1gS79a5PFmC8yn3wIapiKmPgun0hZgEI5AOqgH2kiPRsPz1qkGv4HL+wuDLH83yQyk6inMYrJQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-resolve-nested/-/selector-resolve-nested-3.1.0.tgz", + "integrity": "sha512-mf1LEW0tJLKfWyvn5KdDrhpxHyuxpbNwTIwOYLIvsTffeyOf85j5oIzfG0yosxDgx/sswlqBnESYUcQH0vgZ0g==", "funding": [ { "type": "github", @@ -14803,12 +17009,12 @@ } }, "node_modules/postcss-normalize-unicode": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-7.0.3.tgz", - "integrity": "sha512-EcoA29LvG3F+EpOh03iqu+tJY3uYYKzArqKJHxDhUYLa2u58aqGq16K6/AOsXD9yqLN8O6y9mmePKN5cx6krOw==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-7.0.4.tgz", + "integrity": "sha512-LvIURTi1sQoZqj8mEIE8R15yvM+OhbR1avynMtI9bUzj5gGKR/gfZFd8O7VMj0QgJaIFzxDwxGl/ASMYAkqO8g==", "license": "MIT", "dependencies": { - "browserslist": "^4.24.5", + "browserslist": "^4.25.1", "postcss-value-parser": "^4.2.0" }, "engines": { @@ -14946,9 +17152,9 @@ } }, "node_modules/postcss-preset-env": { - "version": "10.1.6", - "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-10.1.6.tgz", - "integrity": "sha512-1jRD7vttKLJ7o0mcmmYWKRLm7W14rI8K1I7Y41OeXUPEVc/CAzfTssNUeJ0zKbR+zMk4boqct/gwS/poIFF5Lg==", + "version": "10.2.4", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-10.2.4.tgz", + "integrity": "sha512-q+lXgqmTMdB0Ty+EQ31SuodhdfZetUlwCA/F0zRcd/XdxjzI+Rl2JhZNz5US2n/7t9ePsvuhCnEN4Bmu86zXlA==", "funding": [ { "type": "github", @@ -14961,62 +17167,63 @@ ], "license": "MIT-0", "dependencies": { - "@csstools/postcss-cascade-layers": "^5.0.1", - "@csstools/postcss-color-function": "^4.0.9", - "@csstools/postcss-color-mix-function": "^3.0.9", - "@csstools/postcss-content-alt-text": "^2.0.5", - "@csstools/postcss-exponential-functions": "^2.0.8", + "@csstools/postcss-cascade-layers": "^5.0.2", + "@csstools/postcss-color-function": "^4.0.10", + "@csstools/postcss-color-mix-function": "^3.0.10", + "@csstools/postcss-color-mix-variadic-function-arguments": "^1.0.0", + "@csstools/postcss-content-alt-text": "^2.0.6", + "@csstools/postcss-exponential-functions": "^2.0.9", "@csstools/postcss-font-format-keywords": "^4.0.0", - "@csstools/postcss-gamut-mapping": "^2.0.9", - "@csstools/postcss-gradients-interpolation-method": "^5.0.9", - "@csstools/postcss-hwb-function": "^4.0.9", - "@csstools/postcss-ic-unit": "^4.0.1", + "@csstools/postcss-gamut-mapping": "^2.0.10", + "@csstools/postcss-gradients-interpolation-method": "^5.0.10", + "@csstools/postcss-hwb-function": "^4.0.10", + "@csstools/postcss-ic-unit": "^4.0.2", "@csstools/postcss-initial": "^2.0.1", - "@csstools/postcss-is-pseudo-class": "^5.0.1", - "@csstools/postcss-light-dark-function": "^2.0.8", + "@csstools/postcss-is-pseudo-class": "^5.0.3", + "@csstools/postcss-light-dark-function": "^2.0.9", "@csstools/postcss-logical-float-and-clear": "^3.0.0", "@csstools/postcss-logical-overflow": "^2.0.0", "@csstools/postcss-logical-overscroll-behavior": "^2.0.0", "@csstools/postcss-logical-resize": "^3.0.0", - "@csstools/postcss-logical-viewport-units": "^3.0.3", - "@csstools/postcss-media-minmax": "^2.0.8", - "@csstools/postcss-media-queries-aspect-ratio-number-values": "^3.0.4", + "@csstools/postcss-logical-viewport-units": "^3.0.4", + "@csstools/postcss-media-minmax": "^2.0.9", + "@csstools/postcss-media-queries-aspect-ratio-number-values": "^3.0.5", "@csstools/postcss-nested-calc": "^4.0.0", "@csstools/postcss-normalize-display-values": "^4.0.0", - "@csstools/postcss-oklab-function": "^4.0.9", - "@csstools/postcss-progressive-custom-properties": "^4.0.1", - "@csstools/postcss-random-function": "^2.0.0", - "@csstools/postcss-relative-color-syntax": "^3.0.9", + "@csstools/postcss-oklab-function": "^4.0.10", + "@csstools/postcss-progressive-custom-properties": "^4.1.0", + "@csstools/postcss-random-function": "^2.0.1", + "@csstools/postcss-relative-color-syntax": "^3.0.10", "@csstools/postcss-scope-pseudo-class": "^4.0.1", - "@csstools/postcss-sign-functions": "^1.1.3", - "@csstools/postcss-stepped-value-functions": "^4.0.8", + "@csstools/postcss-sign-functions": "^1.1.4", + "@csstools/postcss-stepped-value-functions": "^4.0.9", "@csstools/postcss-text-decoration-shorthand": "^4.0.2", - "@csstools/postcss-trigonometric-functions": "^4.0.8", + "@csstools/postcss-trigonometric-functions": "^4.0.9", "@csstools/postcss-unset-value": "^4.0.0", "autoprefixer": "^10.4.21", - "browserslist": "^4.24.4", + "browserslist": "^4.25.0", "css-blank-pseudo": "^7.0.1", "css-has-pseudo": "^7.0.2", "css-prefers-color-scheme": "^10.0.0", - "cssdb": "^8.2.5", + "cssdb": "^8.3.0", "postcss-attribute-case-insensitive": "^7.0.1", "postcss-clamp": "^4.1.0", - "postcss-color-functional-notation": "^7.0.9", + "postcss-color-functional-notation": "^7.0.10", "postcss-color-hex-alpha": "^10.0.0", "postcss-color-rebeccapurple": "^10.0.0", - "postcss-custom-media": "^11.0.5", - "postcss-custom-properties": "^14.0.4", - "postcss-custom-selectors": "^8.0.4", + "postcss-custom-media": "^11.0.6", + "postcss-custom-properties": "^14.0.6", + "postcss-custom-selectors": "^8.0.5", "postcss-dir-pseudo-class": "^9.0.1", - "postcss-double-position-gradients": "^6.0.1", + "postcss-double-position-gradients": "^6.0.2", "postcss-focus-visible": "^10.0.1", "postcss-focus-within": "^9.0.1", "postcss-font-variant": "^5.0.0", "postcss-gap-properties": "^6.0.0", "postcss-image-set-function": "^7.0.0", - "postcss-lab-function": "^7.0.9", + "postcss-lab-function": "^7.0.10", "postcss-logical": "^8.1.0", - "postcss-nesting": "^13.0.1", + "postcss-nesting": "^13.0.2", "postcss-opacity-percentage": "^3.0.0", "postcss-overflow-shorthand": "^6.0.0", "postcss-page-break": "^3.0.4", @@ -15071,12 +17278,12 @@ } }, "node_modules/postcss-reduce-initial": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-7.0.3.tgz", - "integrity": "sha512-RFvkZaqiWtGMlVjlUHpaxGqEL27lgt+Q2Ixjf83CRAzqdo+TsDyGPtJUbPx2MuYIJ+sCQc2TrOvRnhcXQfgIVA==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-7.0.4.tgz", + "integrity": "sha512-rdIC9IlMBn7zJo6puim58Xd++0HdbvHeHaPgXsimMfG1ijC5A9ULvNLSE0rUKVJOvNMcwewW4Ga21ngyJjY/+Q==", "license": "MIT", "dependencies": { - "browserslist": "^4.24.5", + "browserslist": "^4.25.1", "caniuse-api": "^3.0.0" }, "engines": { @@ -15188,13 +17395,13 @@ } }, "node_modules/postcss-svgo": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-7.0.2.tgz", - "integrity": "sha512-5Dzy66JlnRM6pkdOTF8+cGsB1fnERTE8Nc+Eed++fOWo1hdsBptCsbG8UuJkgtZt75bRtMJIrPeZmtfANixdFA==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-7.1.0.tgz", + "integrity": "sha512-KnAlfmhtoLz6IuU3Sij2ycusNs4jPW+QoFE5kuuUOK8awR6tMxZQrs5Ey3BUz7nFCzT3eqyFgqkyrHiaU2xx3w==", "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0", - "svgo": "^3.3.2" + "svgo": "^4.0.0" }, "engines": { "node": "^18.12.0 || ^20.9.0 || >= 18" @@ -15295,9 +17502,9 @@ "license": "MIT" }, "node_modules/potpack": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/potpack/-/potpack-2.0.0.tgz", - "integrity": "sha512-Q+/tYsFU9r7xoOJ+y/ZTtdVQwTWfzjbiXBDMM/JKUux3+QPP02iUuIoeBQ+Ot6oEDlC+/PGjB/5A3K7KKb7hcw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/potpack/-/potpack-2.1.0.tgz", + "integrity": "sha512-pcaShQc1Shq0y+E7GqJqvZj8DTthWV1KeHGdi0Z6IAin2Oi3JnLCOfwnCo84qc+HAp52wT9nK9H7FAJp5a44GQ==", "license": "ISC" }, "node_modules/prelude-ls": { @@ -15309,10 +17516,19 @@ "node": ">= 0.8.0" } }, + "node_modules/preserve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha512-s/46sYeylUfHNjI+sA/78FAHlmIuKqI9wNnzEOGehAlUUYeObv5C2mOinXBjyUyWmJ2SfcS2/ydApH4hTF4WXQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/prettier": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.5.3.tgz", - "integrity": "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz", + "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==", "license": "MIT", "bin": { "prettier": "bin/prettier.cjs" @@ -15341,7 +17557,6 @@ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", "license": "MIT", - "peer": true, "dependencies": { "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", @@ -15356,7 +17571,6 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "license": "MIT", - "peer": true, "engines": { "node": ">=10" }, @@ -15364,6 +17578,21 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "license": "MIT" + }, "node_modules/promise": { "version": "7.3.1", "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", @@ -15549,6 +17778,17 @@ "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", "license": "MIT" }, + "node_modules/q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "deprecated": "You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other.\n\n(For a CapTP with native promises, see @endo/eventual-send and @endo/captp)", + "license": "MIT", + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, "node_modules/qjobs": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", @@ -15559,12 +17799,12 @@ } }, "node_modules/qs": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", - "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", "license": "BSD-3-Clause", "dependencies": { - "side-channel": "^1.1.0" + "side-channel": "^1.0.6" }, "engines": { "node": ">=0.6" @@ -15588,6 +17828,29 @@ "node": ">= 0.8" } }, + "node_modules/randomatic": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", + "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", + "license": "MIT", + "dependencies": { + "is-number": "^4.0.0", + "kind-of": "^6.0.0", + "math-random": "^1.0.1" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/randomatic/node_modules/is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -15607,14 +17870,14 @@ } }, "node_modules/raw-body": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.0.tgz", - "integrity": "sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", "license": "MIT", "dependencies": { "bytes": "3.1.2", "http-errors": "2.0.0", - "iconv-lite": "0.6.3", + "iconv-lite": "0.4.24", "unpipe": "1.0.0" }, "engines": { @@ -15648,8 +17911,7 @@ "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/react-refresh": { "version": "0.17.0", @@ -15678,6 +17940,33 @@ "node": ">=0.10.0" } }, + "node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/readable-stream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT" + }, + "node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, "node_modules/readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", @@ -15690,6 +17979,21 @@ "node": ">=8.10.0" } }, + "node_modules/recast": { + "version": "0.10.33", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.10.33.tgz", + "integrity": "sha512-RxAVgvgWGzfFYsdc3PB6TM4/cq8HMgBH8PC9r+SkO7j1MeHZvIMxLSVlUhin3sv9wbAy8CMAPXSGSGkWPovyKQ==", + "license": "MIT", + "dependencies": { + "ast-types": "0.8.12", + "esprima-fb": "~15001.1001.0-dev-harmony-fb", + "private": "~0.1.5", + "source-map": "~0.5.0" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/rechoir": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", @@ -15776,12 +18080,57 @@ "node": ">=4" } }, + "node_modules/regenerator": { + "version": "0.8.40", + "resolved": "https://registry.npmjs.org/regenerator/-/regenerator-0.8.40.tgz", + "integrity": "sha512-NsE91xz22nl5JsAwE5kZNmaMaK6g4HipZaGhrQJeVo8DsTwYYONx0TYEm8+7kFIODeuLNQpRsomV1CChmEY5Yg==", + "license": "BSD", + "dependencies": { + "commoner": "~0.10.3", + "defs": "~1.1.0", + "esprima-fb": "~15001.1001.0-dev-harmony-fb", + "private": "~0.1.5", + "recast": "0.10.33", + "through": "~2.3.8" + }, + "bin": { + "regenerator": "bin/regenerator" + }, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/regenerator-runtime": { "version": "0.14.1", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", "license": "MIT" }, + "node_modules/regex-cache": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", + "license": "MIT", + "dependencies": { + "is-equal-shallow": "^0.1.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "license": "MIT", + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/regex-parser": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.3.1.tgz", @@ -15820,6 +18169,22 @@ "url": "https://github.com/sponsors/mysticatea" } }, + "node_modules/regexpu": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/regexpu/-/regexpu-1.3.0.tgz", + "integrity": "sha512-OqpQCTCcVM6k9IbzxLjNN6TRj3NV7qF4L8zUqsNoeAmmIZp8wH1tdZnn0vNXE2tGNU4ho0xTZWk3FmahOtyMRA==", + "license": "MIT", + "dependencies": { + "esprima": "^2.6.0", + "recast": "^0.10.10", + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" + }, + "bin": { + "regexpu": "bin/regexpu" + } + }, "node_modules/regexpu-core": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.2.0.tgz", @@ -15837,13 +18202,25 @@ "node": ">=4" } }, - "node_modules/regjsgen": { + "node_modules/regexpu-core/node_modules/jsesc": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/regexpu-core/node_modules/regjsgen": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", "license": "MIT" }, - "node_modules/regjsparser": { + "node_modules/regexpu-core/node_modules/regjsparser": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.12.0.tgz", "integrity": "sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==", @@ -15855,16 +18232,69 @@ "regjsparser": "bin/parser" } }, + "node_modules/regjsgen": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "integrity": "sha512-x+Y3yA24uF68m5GA+tBjbGYo64xXVJpbToBaWCoSNSc1hdk6dfctaRWrNFTVJZIIhL5GxW8zwjoixbnifnK59g==", + "license": "MIT" + }, + "node_modules/regjsparser": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "integrity": "sha512-jlQ9gYLfk2p3V5Ag5fYhA7fv7OHzd1KUH0PRP46xc3TgwjwgROIW572AfYg/X9kaNq/LJnu6oJcFRXlIrGoTRw==", + "license": "BSD", + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, "node_modules/regjsparser/node_modules/jsesc": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", - "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", - "license": "MIT", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", "bin": { "jsesc": "bin/jsesc" + } + }, + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", + "license": "ISC" + }, + "node_modules/repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/repeating": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-1.1.3.tgz", + "integrity": "sha512-Nh30JLeMHdoI+AsQ5eblhZ7YlTsM9wiJQe/AHIunlK3KWzvXhXb36IJ7K1IOeRjIOtzMjdUHjwXUFxKJoPTSOg==", + "license": "MIT", + "dependencies": { + "is-finite": "^1.0.0" + }, + "bin": { + "repeating": "cli.js" }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, "node_modules/request-light": { @@ -15956,6 +18386,13 @@ "protocol-buffers-schema": "^3.3.1" } }, + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", + "deprecated": "https://github.com/lydell/resolve-url#deprecated", + "license": "MIT" + }, "node_modules/resolve-url-loader": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-5.0.0.tgz", @@ -16010,6 +18447,15 @@ "node": ">=8.9.0" } }, + "node_modules/resolve-url-loader/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/response-time": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/response-time/-/response-time-2.3.3.tgz", @@ -16023,12 +18469,33 @@ "node": ">= 0.8.0" } }, + "node_modules/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "license": "MIT", + "engines": { + "node": ">=0.12" + } + }, "node_modules/rfdc": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", "license": "MIT" }, + "node_modules/right-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha512-yqINtL/G7vs2v+dFIZmFUDbnVyFUJFKd6gK22Kgo6R4jfJGFtisKyncWDDULgjfqf4ASQuIQyjJ7XZ+3aWpsAg==", + "license": "MIT", + "dependencies": { + "align-text": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", @@ -16052,12 +18519,12 @@ "license": "MIT" }, "node_modules/rollup": { - "version": "4.40.2", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.40.2.tgz", - "integrity": "sha512-tfUOg6DTP4rhQ3VjOO6B4wyrJnGOX85requAXvqYTHsOgb2TFJdZ3aWpT8W2kPoypSGP7dZUyzxJ9ee4buM5Fg==", + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.45.1.tgz", + "integrity": "sha512-4iya7Jb76fVpQyLoiVpzUrsjQ12r3dM7fIVz+4NwoYvZOShknRmiv+iu9CClZml5ZLGb0XMcYLutK6w9tgxHDw==", "license": "MIT", "dependencies": { - "@types/estree": "1.0.7" + "@types/estree": "1.0.8" }, "bin": { "rollup": "dist/bin/rollup" @@ -16067,51 +18534,29 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.40.2", - "@rollup/rollup-android-arm64": "4.40.2", - "@rollup/rollup-darwin-arm64": "4.40.2", - "@rollup/rollup-darwin-x64": "4.40.2", - "@rollup/rollup-freebsd-arm64": "4.40.2", - "@rollup/rollup-freebsd-x64": "4.40.2", - "@rollup/rollup-linux-arm-gnueabihf": "4.40.2", - "@rollup/rollup-linux-arm-musleabihf": "4.40.2", - "@rollup/rollup-linux-arm64-gnu": "4.40.2", - "@rollup/rollup-linux-arm64-musl": "4.40.2", - "@rollup/rollup-linux-loongarch64-gnu": "4.40.2", - "@rollup/rollup-linux-powerpc64le-gnu": "4.40.2", - "@rollup/rollup-linux-riscv64-gnu": "4.40.2", - "@rollup/rollup-linux-riscv64-musl": "4.40.2", - "@rollup/rollup-linux-s390x-gnu": "4.40.2", - "@rollup/rollup-linux-x64-gnu": "4.40.2", - "@rollup/rollup-linux-x64-musl": "4.40.2", - "@rollup/rollup-win32-arm64-msvc": "4.40.2", - "@rollup/rollup-win32-ia32-msvc": "4.40.2", - "@rollup/rollup-win32-x64-msvc": "4.40.2", + "@rollup/rollup-android-arm-eabi": "4.45.1", + "@rollup/rollup-android-arm64": "4.45.1", + "@rollup/rollup-darwin-arm64": "4.45.1", + "@rollup/rollup-darwin-x64": "4.45.1", + "@rollup/rollup-freebsd-arm64": "4.45.1", + "@rollup/rollup-freebsd-x64": "4.45.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.45.1", + "@rollup/rollup-linux-arm-musleabihf": "4.45.1", + "@rollup/rollup-linux-arm64-gnu": "4.45.1", + "@rollup/rollup-linux-arm64-musl": "4.45.1", + "@rollup/rollup-linux-loongarch64-gnu": "4.45.1", + "@rollup/rollup-linux-powerpc64le-gnu": "4.45.1", + "@rollup/rollup-linux-riscv64-gnu": "4.45.1", + "@rollup/rollup-linux-riscv64-musl": "4.45.1", + "@rollup/rollup-linux-s390x-gnu": "4.45.1", + "@rollup/rollup-linux-x64-gnu": "4.45.1", + "@rollup/rollup-linux-x64-musl": "4.45.1", + "@rollup/rollup-win32-arm64-msvc": "4.45.1", + "@rollup/rollup-win32-ia32-msvc": "4.45.1", + "@rollup/rollup-win32-x64-msvc": "4.45.1", "fsevents": "~2.3.2" } }, - "node_modules/router": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", - "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.4.0", - "depd": "^2.0.0", - "is-promise": "^4.0.0", - "parseurl": "^1.3.3", - "path-to-regexp": "^8.0.0" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/router/node_modules/is-promise": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", - "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", - "license": "MIT" - }, "node_modules/rrweb-cssom": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.8.0.tgz", @@ -16179,6 +18624,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", + "license": "MIT", + "dependencies": { + "ret": "~0.1.10" + } + }, "node_modules/safe-regex-test": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", @@ -16203,9 +18657,9 @@ "license": "MIT" }, "node_modules/sanitize-html": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-2.16.0.tgz", - "integrity": "sha512-0s4caLuHHaZFVxFTG74oW91+j6vW7gKbGD6CD2+miP73CE6z6YtOBN0ArtLd2UGyi4IC7K47v3ENUbQX4jV3Mg==", + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-2.17.0.tgz", + "integrity": "sha512-dLAADUSS8rBwhaevT12yCezvioCA+bmUTPH/u57xKPT8d++voeYE6HeluA/bPbQ15TwDBG2ii+QZIEmYx8VdxA==", "license": "MIT", "dependencies": { "deepmerge": "^4.2.2", @@ -16226,9 +18680,9 @@ } }, "node_modules/sass": { - "version": "1.87.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.87.0.tgz", - "integrity": "sha512-d0NoFH4v6SjEK7BoX810Jsrhj7IQSYHAHLi/iSpgqKc7LaIDshFRlSg5LOymf9FqQhxEHs2W5ZQXlvy0KD45Uw==", + "version": "1.89.2", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.89.2.tgz", + "integrity": "sha512-xCmtksBKd/jdJ9Bt9p7nPKiuqrlBMBuuGkQlkhZjjQk3Ty48lv93k5Dq6OPkKt4XwxDJ7tvlfrTa1MPA9bf+QA==", "license": "MIT", "dependencies": { "chokidar": "^4.0.0", @@ -16313,6 +18767,12 @@ "url": "https://paulmillr.com/funding/" } }, + "node_modules/sax": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", + "license": "ISC" + }, "node_modules/saxes": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", @@ -16395,25 +18855,63 @@ } }, "node_modules/send": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/send/-/send-1.2.0.tgz", - "integrity": "sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", "license": "MIT", "dependencies": { - "debug": "^4.3.5", - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "etag": "^1.8.1", - "fresh": "^2.0.0", - "http-errors": "^2.0.0", - "mime-types": "^3.0.1", - "ms": "^2.1.3", - "on-finished": "^2.4.1", - "range-parser": "^1.2.1", - "statuses": "^2.0.1" + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" }, "engines": { - "node": ">= 18" + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/send/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/send/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" } }, "node_modules/serialize-javascript": { @@ -16426,42 +18924,21 @@ } }, "node_modules/serve-favicon": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.5.0.tgz", - "integrity": "sha512-FMW2RvqNr03x+C0WxTyu6sOv21oOjkq5j8tjquWccwa6ScNyGFOGJVpuS1NmTVGBAHS07xnSKotgf2ehQmf9iA==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.5.1.tgz", + "integrity": "sha512-JndLBslCLA/ebr7rS3d+/EKkzTsTi1jI2T9l+vHfAaGJ7A7NhtDpSZ0lx81HCNWnnE0yHncG+SSnVf9IMxOwXQ==", "license": "MIT", "dependencies": { "etag": "~1.8.1", - "fresh": "0.5.2", - "ms": "2.1.1", + "fresh": "~0.5.2", + "ms": "~2.1.3", "parseurl": "~1.3.2", - "safe-buffer": "5.1.1" + "safe-buffer": "~5.2.1" }, "engines": { "node": ">= 0.8.0" } }, - "node_modules/serve-favicon/node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-favicon/node_modules/ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "license": "MIT" - }, - "node_modules/serve-favicon/node_modules/safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", - "license": "MIT" - }, "node_modules/serve-index": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", @@ -16480,19 +18957,6 @@ "node": ">= 0.8.0" } }, - "node_modules/serve-index/node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "license": "MIT", - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/serve-index/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -16532,76 +18996,46 @@ "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", "license": "ISC" }, - "node_modules/serve-index/node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index/node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/serve-index/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "license": "MIT" }, - "node_modules/serve-index/node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, "node_modules/serve-index/node_modules/setprototypeof": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", "license": "ISC" }, - "node_modules/serve-index/node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, "node_modules/serve-static": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.0.tgz", - "integrity": "sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==", + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", "license": "MIT", "dependencies": { - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "parseurl": "^1.3.3", - "send": "^1.2.0" + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.19.0" }, "engines": { - "node": ">= 18" + "node": ">= 0.8.0" + } + }, + "node_modules/serve-static/node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" } }, "node_modules/server": { - "version": "1.0.41", - "resolved": "https://registry.npmjs.org/server/-/server-1.0.41.tgz", - "integrity": "sha512-KZ+fAkiU6BJlhmz949jd6NLPrypR6uxADtWmfnI+jcNhjn5aO8Eiexbd/qB++Vcs6RZww4yYydY/RQad43IGgA==", + "version": "1.0.42", + "resolved": "https://registry.npmjs.org/server/-/server-1.0.42.tgz", + "integrity": "sha512-MC1+ok7LPkgOfVgP1VdFwRMWjgNjdyVoBEQ/bkB5w+o5+FgthHjMbAJjJ5kTj/6LJdwM4NSvxp91n7vpx1pdeA==", "license": "MIT", "dependencies": { "body-parser": "^1.20.2", @@ -16635,339 +19069,6 @@ "url": "https://www.paypal.me/franciscopresencia/19" } }, - "node_modules/server/node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "license": "MIT", - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/server/node_modules/body-parser": { - "version": "1.20.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", - "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", - "license": "MIT", - "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.5", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.13.0", - "raw-body": "2.5.2", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/server/node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "license": "MIT", - "dependencies": { - "safe-buffer": "5.2.1" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/server/node_modules/cookie": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", - "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/server/node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", - "license": "MIT" - }, - "node_modules/server/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/server/node_modules/express": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", - "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", - "license": "MIT", - "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.3", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.7.1", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.3.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.3", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.12", - "proxy-addr": "~2.0.7", - "qs": "6.13.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.19.0", - "serve-static": "1.16.2", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/server/node_modules/express/node_modules/path-to-regexp": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", - "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", - "license": "MIT" - }, - "node_modules/server/node_modules/finalhandler": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", - "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", - "license": "MIT", - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/server/node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/server/node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/server/node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/server/node_modules/merge-descriptors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", - "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/server/node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "license": "MIT", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/server/node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/server/node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/server/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" - }, - "node_modules/server/node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/server/node_modules/path-to-regexp": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz", - "integrity": "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==", - "license": "MIT" - }, - "node_modules/server/node_modules/qs": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", - "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", - "license": "BSD-3-Clause", - "dependencies": { - "side-channel": "^1.0.6" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/server/node_modules/raw-body": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", - "license": "MIT", - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/server/node_modules/send": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", - "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", - "license": "MIT", - "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/server/node_modules/send/node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/server/node_modules/send/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT" - }, - "node_modules/server/node_modules/serve-static": { - "version": "1.16.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", - "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", - "license": "MIT", - "dependencies": { - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.19.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/server/node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "license": "MIT", - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", @@ -17020,6 +19121,33 @@ "node": ">= 0.4" } }, + "node_modules/set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", @@ -17050,7 +19178,7 @@ "node": ">=8" } }, - "node_modules/shebang-regex": { + "node_modules/shebang-command/node_modules/shebang-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", @@ -17059,6 +19187,15 @@ "node": ">=8" } }, + "node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/side-channel": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", @@ -17149,6 +19286,18 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/simple-fmt": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/simple-fmt/-/simple-fmt-0.1.0.tgz", + "integrity": "sha512-9a3zTDDh9LXbTR37qBhACWIQ/mP/ry5xtmbE98BJM8GR02sanCkfMzp7AdCTqYhkBZggK/w7hJtc8Pb9nmo16A==", + "license": "MIT" + }, + "node_modules/simple-is": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/simple-is/-/simple-is-0.2.0.tgz", + "integrity": "sha512-GJXhv3r5vdj5tGWO+rcrWgjU2azLB+fb7Ehh3SmZpXE0o4KrrFLti0w4mdDCbR29X/z0Ls20ApjZitlpAXhAeg==", + "license": "MIT" + }, "node_modules/sirv": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.1.tgz", @@ -17172,6 +19321,133 @@ "node": ">=6" } }, + "node_modules/snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "license": "MIT", + "dependencies": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "license": "MIT", + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "license": "MIT", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "license": "MIT", + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util/node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "license": "MIT" + }, + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "license": "MIT", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/snapdragon/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, "node_modules/socket.io": { "version": "4.8.1", "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.1.tgz", @@ -17268,19 +19544,6 @@ } } }, - "node_modules/socket.io/node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "license": "MIT", - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/socket.io/node_modules/debug": { "version": "4.3.7", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", @@ -17298,36 +19561,6 @@ } } }, - "node_modules/socket.io/node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/socket.io/node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/socket.io/node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, "node_modules/sockette": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/sockette/-/sockette-2.0.6.tgz", @@ -17341,9 +19574,9 @@ "license": "MIT" }, "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" @@ -17358,6 +19591,20 @@ "node": ">=0.10.0" } }, + "node_modules/source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "license": "MIT", + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, "node_modules/source-map-support": { "version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", @@ -17368,12 +19615,47 @@ "source-map": "^0.6.0" } }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "deprecated": "See https://github.com/lydell/source-map-url#deprecated", + "license": "MIT" + }, + "node_modules/split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "license": "MIT", + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "license": "BSD-3-Clause" }, + "node_modules/stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility", + "license": "MIT" + }, "node_modules/stackback": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", @@ -17386,13 +19668,51 @@ "integrity": "sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==", "license": "MIT" }, + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", + "license": "MIT", + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "license": "MIT", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", "license": "MIT", "engines": { - "node": ">= 0.8" + "node": ">= 0.6" } }, "node_modules/std-env": { @@ -17401,6 +19721,19 @@ "integrity": "sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==", "license": "MIT" }, + "node_modules/stop-iteration-iterator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", + "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "internal-slot": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/streamroller": { "version": "3.1.5", "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.5.tgz", @@ -17415,6 +19748,21 @@ "node": ">=8.0" } }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, "node_modules/string-width": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", @@ -17536,6 +19884,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/stringmap": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/stringmap/-/stringmap-0.2.2.tgz", + "integrity": "sha512-mR1LEHDw6TsHa+LwJeeBc9ZqZqEOm7bHidgxMmDg8HB/rbA1HhDeT08gS67CCCG/xrgIfQx5tW42pd8vFpLUow==", + "license": "MIT" + }, + "node_modules/stringset": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/stringset/-/stringset-0.2.1.tgz", + "integrity": "sha512-km3jeiRpmySChl1oLiBE2ESdG5k/4+6tjENVL6BB3mdmKBiUikI5ks4paad2WAKsxzpNiBqBBbXCC12QqlpLWA==", + "license": "MIT" + }, "node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -17594,6 +19954,24 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/strip-literal": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-3.0.0.tgz", + "integrity": "sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==", + "license": "MIT", + "dependencies": { + "js-tokens": "^9.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/strip-literal/node_modules/js-tokens": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz", + "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==", + "license": "MIT" + }, "node_modules/style-loader": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-4.0.0.tgz", @@ -17611,12 +19989,12 @@ } }, "node_modules/stylehacks": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-7.0.5.tgz", - "integrity": "sha512-5kNb7V37BNf0Q3w+1pxfa+oiNPS++/b4Jil9e/kPDgrk1zjEd6uR7SZeJiYaLYH6RRSC1XX2/37OTeU/4FvuIA==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-7.0.6.tgz", + "integrity": "sha512-iitguKivmsueOmTO0wmxURXBP8uqOO+zikLGZ7Mm9e/94R4w5T999Js2taS/KBOnQ/wdC3jN3vNSrkGDrlnqQg==", "license": "MIT", "dependencies": { - "browserslist": "^4.24.5", + "browserslist": "^4.25.1", "postcss-selector-parser": "^7.1.0" }, "engines": { @@ -17704,24 +20082,24 @@ } }, "node_modules/svgo": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", - "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-4.0.0.tgz", + "integrity": "sha512-VvrHQ+9uniE+Mvx3+C9IEe/lWasXCU0nXMY2kZeLrHNICuRiC8uMPyM14UEaMOFA5mhyQqEkB02VoQ16n3DLaw==", "license": "MIT", "dependencies": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", + "commander": "^11.1.0", "css-select": "^5.1.0", - "css-tree": "^2.3.1", + "css-tree": "^3.0.1", "css-what": "^6.1.0", "csso": "^5.0.5", - "picocolors": "^1.0.0" + "picocolors": "^1.1.1", + "sax": "^1.4.1" }, "bin": { - "svgo": "bin/svgo" + "svgo": "bin/svgo.js" }, "engines": { - "node": ">=14.0.0" + "node": ">=16" }, "funding": { "type": "opencollective", @@ -17729,12 +20107,12 @@ } }, "node_modules/svgo/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", "license": "MIT", "engines": { - "node": ">= 10" + "node": ">=16" } }, "node_modules/symbol-tree": { @@ -17744,13 +20122,12 @@ "license": "MIT" }, "node_modules/synckit": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.4.tgz", - "integrity": "sha512-Q/XQKRaJiLiFIBNN+mndW7S/RHxvwzuZS6ZwmRzUBqJBv/5QIKCEwkBC8GBf8EQJKYnaFs0wOZbKTXBPj8L9oQ==", + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.8.tgz", + "integrity": "sha512-+XZ+r1XGIJGeQk3VvXhT6xx/VpbHsRzsTkGgF6E5RX9TTXD0118l87puaEBZ566FhqblC6U0d4XnubznJDm30A==", "license": "MIT", "dependencies": { - "@pkgr/core": "^0.2.3", - "tslib": "^2.8.1" + "@pkgr/core": "^0.2.4" }, "engines": { "node": "^14.18.0 || >=16.0.0" @@ -17760,9 +20137,9 @@ } }, "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.2.tgz", + "integrity": "sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==", "license": "MIT", "engines": { "node": ">=6" @@ -17810,13 +20187,13 @@ } }, "node_modules/terser": { - "version": "5.39.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.39.0.tgz", - "integrity": "sha512-LBAhFyLho16harJoWMg/nZsQYgTrg5jXOn2nCYjRUcZZEdE3qa2zb8QEDRUGVZBW4rlazf2fxkg8tztybTaqWw==", + "version": "5.43.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.43.1.tgz", + "integrity": "sha512-+6erLbBm0+LROX2sPXlUYx/ux5PyE9K/a92Wrt6oA+WDAoFTdpHE5tCYCI5PNzq2y8df4rA+QgHLJuR4jNymsg==", "license": "BSD-2-Clause", "dependencies": { "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", + "acorn": "^8.14.0", "commander": "^2.20.0", "source-map-support": "~0.5.20" }, @@ -17891,9 +20268,9 @@ } }, "node_modules/terser/node_modules/acorn": { - "version": "8.14.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz", - "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "license": "MIT", "bin": { "acorn": "bin/acorn" @@ -17923,9 +20300,9 @@ } }, "node_modules/test-exclude/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" @@ -17993,6 +20370,12 @@ "node": ">=0.8" } }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "license": "MIT" + }, "node_modules/tinybench": { "version": "2.9.0", "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", @@ -18006,9 +20389,9 @@ "license": "MIT" }, "node_modules/tinyglobby": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.13.tgz", - "integrity": "sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==", + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", + "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==", "license": "MIT", "dependencies": { "fdir": "^6.4.4", @@ -18022,9 +20405,9 @@ } }, "node_modules/tinyglobby/node_modules/fdir": { - "version": "6.4.4", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz", - "integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==", + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", + "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==", "license": "MIT", "peerDependencies": { "picomatch": "^3 || ^4" @@ -18036,9 +20419,9 @@ } }, "node_modules/tinyglobby/node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "license": "MIT", "engines": { "node": ">=12" @@ -18048,9 +20431,9 @@ } }, "node_modules/tinypool": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.0.2.tgz", - "integrity": "sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz", + "integrity": "sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==", "license": "MIT", "engines": { "node": "^18.0.0 || >=20.0.0" @@ -18072,9 +20455,9 @@ } }, "node_modules/tinyspy": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.2.tgz", - "integrity": "sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-4.0.3.tgz", + "integrity": "sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A==", "license": "MIT", "engines": { "node": ">=14.0.0" @@ -18107,6 +20490,60 @@ "node": ">=14.14" } }, + "node_modules/to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha512-lxrWP8ejsq+7E3nNjwYmUBMAgjMTZoTI+sdBOpvNyijeDLa29LUn9QaoXAHv4+Z578hbmHHJKZknzxVtvo77og==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path/node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "license": "MIT" + }, + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "license": "MIT", + "dependencies": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -18176,10 +20613,32 @@ "node": ">=6" } }, + "node_modules/trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha512-WZGXGstmCWgeevgTL54hrCuw1dyMQIzWy7ZfqRJfSmJZBwklI15egmQytFP6bPidmw3M8d5yEowl1niq4vmqZw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/try-resolve": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/try-resolve/-/try-resolve-1.0.1.tgz", + "integrity": "sha512-yHeaPjCBzVaXwWl5IMUapTaTC2rn/eBYg2fsG2L+CvJd+ttFbk0ylDnpTO3wVhosmE1tQEvcebbBeKLCwScQSQ==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "license": "MIT" + }, + "node_modules/tryor": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/tryor/-/tryor-0.1.2.tgz", + "integrity": "sha512-2+ilNA00DGvbUYYbRrm3ux+snbo7I6uPXMw8I4p/QMl7HUOWBBZFbk+Mpr8/IAPDQE+LQ8vOdlI6xEzjc+e/BQ==", + "license": "MIT" + }, "node_modules/tsconfck": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.5.tgz", - "integrity": "sha512-CLDfGgUp7XPswWnezWwsCRxNmgQjhYq3VXHM0/XIRxhVrKw0M1if9agzryh1QS3nxjCROvV+xWxoJO1YctzzWg==", + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.6.tgz", + "integrity": "sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==", "license": "MIT", "bin": { "tsconfck": "bin/tsconfck.js" @@ -18248,14 +20707,13 @@ } }, "node_modules/type-is": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", - "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==", + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "license": "MIT", "dependencies": { - "content-type": "^1.0.5", - "media-typer": "^1.1.0", - "mime-types": "^3.0.0" + "media-typer": "0.3.0", + "mime-types": "~2.1.24" }, "engines": { "node": ">= 0.6" @@ -18349,18 +20807,18 @@ } }, "node_modules/typescript-auto-import-cache": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/typescript-auto-import-cache/-/typescript-auto-import-cache-0.3.5.tgz", - "integrity": "sha512-fAIveQKsoYj55CozUiBoj4b/7WpN0i4o74wiGY5JVUEoD0XiqDk1tJqTEjgzL2/AizKQrXxyRosSebyDzBZKjw==", + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/typescript-auto-import-cache/-/typescript-auto-import-cache-0.3.6.tgz", + "integrity": "sha512-RpuHXrknHdVdK7wv/8ug3Fr0WNsNi5l5aB8MYYuXhq2UH5lnEB1htJ1smhtD5VeCsGr2p8mUDtd83LCQDFVgjQ==", "license": "MIT", "dependencies": { "semver": "^7.3.8" } }, "node_modules/typescript-auto-import-cache/node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -18448,9 +20906,9 @@ } }, "node_modules/undici-types": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", - "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.8.0.tgz", + "integrity": "sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==", "license": "MIT" }, "node_modules/unicode-canonical-property-names-ecmascript": { @@ -18493,6 +20951,21 @@ "node": ">=4" } }, + "node_modules/union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "license": "MIT", + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", @@ -18511,6 +20984,60 @@ "node": ">= 0.8" } }, + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", + "license": "MIT", + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", + "license": "MIT", + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "license": "MIT", + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT" + }, "node_modules/upath": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/upath/-/upath-2.0.1.tgz", @@ -18581,6 +21108,13 @@ "node": ">=6" } }, + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", + "deprecated": "Please see https://github.com/lydell/urix#deprecated", + "license": "MIT" + }, "node_modules/url-loader": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", @@ -18640,27 +21174,6 @@ "node": ">=8.9.0" } }, - "node_modules/url-loader/node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/url-loader/node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/url-loader/node_modules/schema-utils": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", @@ -18679,6 +21192,27 @@ "url": "https://opencollective.com/webpack" } }, + "node_modules/use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/user-home": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz", + "integrity": "sha512-aggiKfEEubv3UwRNqTzLInZpAOmKzwdHqEBmW/hBA/mt99eg+b4VrX6i+IRLxU8+WJYfa33rGwRseg4eElUgsQ==", + "license": "MIT", + "bin": { + "user-home": "cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/util": { "version": "0.12.5", "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", @@ -18717,23 +21251,23 @@ } }, "node_modules/vite": { - "version": "6.3.5", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz", - "integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.0.4.tgz", + "integrity": "sha512-SkaSguuS7nnmV7mfJ8l81JGBFV7Gvzp8IzgE8A8t23+AxuNX61Q5H1Tpz5efduSN7NHC8nQXD3sKQKZAu5mNEA==", "license": "MIT", "dependencies": { "esbuild": "^0.25.0", - "fdir": "^6.4.4", + "fdir": "^6.4.6", "picomatch": "^4.0.2", - "postcss": "^8.5.3", - "rollup": "^4.34.9", - "tinyglobby": "^0.2.13" + "postcss": "^8.5.6", + "rollup": "^4.40.0", + "tinyglobby": "^0.2.14" }, "bin": { "vite": "bin/vite.js" }, "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + "node": "^20.19.0 || >=22.12.0" }, "funding": { "url": "https://github.com/vitejs/vite?sponsor=1" @@ -18742,14 +21276,14 @@ "fsevents": "~2.3.3" }, "peerDependencies": { - "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "@types/node": "^20.19.0 || >=22.12.0", "jiti": ">=1.21.0", - "less": "*", + "less": "^4.0.0", "lightningcss": "^1.21.0", - "sass": "*", - "sass-embedded": "*", - "stylus": "*", - "sugarss": "*", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" @@ -18791,16 +21325,16 @@ } }, "node_modules/vite-node": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.1.3.tgz", - "integrity": "sha512-uHV4plJ2IxCl4u1up1FQRrqclylKAogbtBfOTwcuJ28xFi+89PZ57BRh+naIRvH70HPwxy5QHYzg1OrEaC7AbA==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.2.4.tgz", + "integrity": "sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==", "license": "MIT", "dependencies": { "cac": "^6.7.14", - "debug": "^4.4.0", + "debug": "^4.4.1", "es-module-lexer": "^1.7.0", "pathe": "^2.0.3", - "vite": "^5.0.0 || ^6.0.0" + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0" }, "bin": { "vite-node": "vite-node.mjs" @@ -18832,9 +21366,9 @@ } }, "node_modules/vite/node_modules/fdir": { - "version": "6.4.4", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz", - "integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==", + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", + "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==", "license": "MIT", "peerDependencies": { "picomatch": "^3 || ^4" @@ -18846,9 +21380,9 @@ } }, "node_modules/vite/node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "license": "MIT", "engines": { "node": ">=12" @@ -18858,31 +21392,33 @@ } }, "node_modules/vitest": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.1.3.tgz", - "integrity": "sha512-188iM4hAHQ0km23TN/adso1q5hhwKqUpv+Sd6p5sOuh6FhQnRNW3IsiIpvxqahtBabsJ2SLZgmGSpcYK4wQYJw==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.2.4.tgz", + "integrity": "sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==", "license": "MIT", "dependencies": { - "@vitest/expect": "3.1.3", - "@vitest/mocker": "3.1.3", - "@vitest/pretty-format": "^3.1.3", - "@vitest/runner": "3.1.3", - "@vitest/snapshot": "3.1.3", - "@vitest/spy": "3.1.3", - "@vitest/utils": "3.1.3", + "@types/chai": "^5.2.2", + "@vitest/expect": "3.2.4", + "@vitest/mocker": "3.2.4", + "@vitest/pretty-format": "^3.2.4", + "@vitest/runner": "3.2.4", + "@vitest/snapshot": "3.2.4", + "@vitest/spy": "3.2.4", + "@vitest/utils": "3.2.4", "chai": "^5.2.0", - "debug": "^4.4.0", + "debug": "^4.4.1", "expect-type": "^1.2.1", "magic-string": "^0.30.17", "pathe": "^2.0.3", + "picomatch": "^4.0.2", "std-env": "^3.9.0", "tinybench": "^2.9.0", "tinyexec": "^0.3.2", - "tinyglobby": "^0.2.13", - "tinypool": "^1.0.2", + "tinyglobby": "^0.2.14", + "tinypool": "^1.1.1", "tinyrainbow": "^2.0.0", - "vite": "^5.0.0 || ^6.0.0", - "vite-node": "3.1.3", + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0", + "vite-node": "3.2.4", "why-is-node-running": "^2.3.0" }, "bin": { @@ -18898,8 +21434,8 @@ "@edge-runtime/vm": "*", "@types/debug": "^4.1.12", "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", - "@vitest/browser": "3.1.3", - "@vitest/ui": "3.1.3", + "@vitest/browser": "3.2.4", + "@vitest/ui": "3.2.4", "happy-dom": "*", "jsdom": "*" }, @@ -18927,6 +21463,18 @@ } } }, + "node_modules/vitest/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/vlq": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz", @@ -18943,9 +21491,9 @@ } }, "node_modules/volar-service-css": { - "version": "0.0.62", - "resolved": "https://registry.npmjs.org/volar-service-css/-/volar-service-css-0.0.62.tgz", - "integrity": "sha512-JwNyKsH3F8PuzZYuqPf+2e+4CTU8YoyUHEHVnoXNlrLe7wy9U3biomZ56llN69Ris7TTy/+DEX41yVxQpM4qvg==", + "version": "0.0.64", + "resolved": "https://registry.npmjs.org/volar-service-css/-/volar-service-css-0.0.64.tgz", + "integrity": "sha512-BtLq85adIft+Q0PZqllKXMVH7HHk6UmM7Opuj43IhR4AOVkqbNIcsiXhuh12ITVJGTkCGa9xXAPzClorPya6EQ==", "license": "MIT", "dependencies": { "vscode-css-languageservice": "^6.3.0", @@ -18962,12 +21510,12 @@ } }, "node_modules/volar-service-emmet": { - "version": "0.0.62", - "resolved": "https://registry.npmjs.org/volar-service-emmet/-/volar-service-emmet-0.0.62.tgz", - "integrity": "sha512-U4dxWDBWz7Pi4plpbXf4J4Z/ss6kBO3TYrACxWNsE29abu75QzVS0paxDDhI6bhqpbDFXlpsDhZ9aXVFpnfGRQ==", + "version": "0.0.64", + "resolved": "https://registry.npmjs.org/volar-service-emmet/-/volar-service-emmet-0.0.64.tgz", + "integrity": "sha512-cIGKpyOXKB9Dsqz3MJD1DF1GYEPfLE4VBoEtqewfx88qpf0dr/WbDnRhuljZ+VFlavkre4MvELzkCt8m9F6GqA==", "license": "MIT", "dependencies": { - "@emmetio/css-parser": "^0.4.0", + "@emmetio/css-parser": "ramya-rao-a/css-parser#vscode", "@emmetio/html-matcher": "^1.3.0", "@vscode/emmet-helper": "^2.9.3", "vscode-uri": "^3.0.8" @@ -18982,9 +21530,9 @@ } }, "node_modules/volar-service-html": { - "version": "0.0.62", - "resolved": "https://registry.npmjs.org/volar-service-html/-/volar-service-html-0.0.62.tgz", - "integrity": "sha512-Zw01aJsZRh4GTGUjveyfEzEqpULQUdQH79KNEiKVYHZyuGtdBRYCHlrus1sueSNMxwwkuF5WnOHfvBzafs8yyQ==", + "version": "0.0.64", + "resolved": "https://registry.npmjs.org/volar-service-html/-/volar-service-html-0.0.64.tgz", + "integrity": "sha512-5xknMYKmZBFzp2399RlsnGce25PfNu9ViXa1s63Q8NP6xeXcF3lInFsV+1o2DWBoXZdnXcuRvWOA+K+JIZLEcA==", "license": "MIT", "dependencies": { "vscode-html-languageservice": "^5.3.0", @@ -19001,9 +21549,9 @@ } }, "node_modules/volar-service-json": { - "version": "0.0.62", - "resolved": "https://registry.npmjs.org/volar-service-json/-/volar-service-json-0.0.62.tgz", - "integrity": "sha512-Ot+jP+/LzKcaGF7nzrn+gwpzAleb4ej5buO05M8KxfwfODte7o1blARKRoJ3Nv7ls0DBM38Dd5vjzvA9c/9Jtg==", + "version": "0.0.64", + "resolved": "https://registry.npmjs.org/volar-service-json/-/volar-service-json-0.0.64.tgz", + "integrity": "sha512-kZsqmeDR0w/iVkkoxfp4/DcblYmyFXBImVLzgIgyd685XZrb21wVmKcRsD/V+6l0N7/pGwN6m2scxt/mJmFkGQ==", "license": "MIT", "dependencies": { "vscode-json-languageservice": "^5.4.0", @@ -19019,24 +21567,24 @@ } }, "node_modules/volar-service-pug": { - "version": "0.0.62", - "resolved": "https://registry.npmjs.org/volar-service-pug/-/volar-service-pug-0.0.62.tgz", - "integrity": "sha512-C0/O8uGnRfijWKE0zFXxJ/o7BbLebzretsEaiMkvBDIxm5oe7HRDzQr6CgknV/WVgiohZ74v+0CwBPl2YmcPUQ==", + "version": "0.0.64", + "resolved": "https://registry.npmjs.org/volar-service-pug/-/volar-service-pug-0.0.64.tgz", + "integrity": "sha512-rVJ2ySENJFPzzEr4fVlC81ANR4dTh3Axr6Az56KyZ5GV0C9yRk5QqCj5+eOYb2GSoVtnEbzOyYpDTRSuH++lfA==", "license": "MIT", "dependencies": { "@volar/language-service": "~2.4.0", "muggle-string": "^0.4.1", "pug-lexer": "^5.0.1", "pug-parser": "^6.0.0", - "volar-service-html": "0.0.62", + "volar-service-html": "0.0.64", "vscode-html-languageservice": "^5.3.0", "vscode-languageserver-textdocument": "^1.0.11" } }, "node_modules/volar-service-pug-beautify": { - "version": "0.0.62", - "resolved": "https://registry.npmjs.org/volar-service-pug-beautify/-/volar-service-pug-beautify-0.0.62.tgz", - "integrity": "sha512-dAFNuNEwTnnVthYoNJhoStwhf/PojzglwCrdhOb2nBegTG3xXMWRFmQzb0JfIlt2wq2wfUq5j+JJswgSD3KluQ==", + "version": "0.0.64", + "resolved": "https://registry.npmjs.org/volar-service-pug-beautify/-/volar-service-pug-beautify-0.0.64.tgz", + "integrity": "sha512-HNVTYGjGKaUkvryCQvhN/kYZ6aP6I1ySECMA7I8SpMqraYN/BDKI185tsRsm5tGmPrEyCgRDKn/GGIAsSj7I7A==", "license": "MIT", "dependencies": { "@johnsoncodehk/pug-beautify": "^0.2.2" @@ -19051,14 +21599,14 @@ } }, "node_modules/volar-service-typescript": { - "version": "0.0.62", - "resolved": "https://registry.npmjs.org/volar-service-typescript/-/volar-service-typescript-0.0.62.tgz", - "integrity": "sha512-p7MPi71q7KOsH0eAbZwPBiKPp9B2+qrdHAd6VY5oTo9BUXatsOAdakTm9Yf0DUj6uWBAaOT01BSeVOPwucMV1g==", + "version": "0.0.64", + "resolved": "https://registry.npmjs.org/volar-service-typescript/-/volar-service-typescript-0.0.64.tgz", + "integrity": "sha512-FN2H97iqjR1id8AM4fH7lTXuTx2on9zD6QlUFllaiHKqgNrEITlQwm/9Ujrd9ST7MUzhgIKyUsa2WlanX9kkMg==", "license": "MIT", "dependencies": { "path-browserify": "^1.0.1", "semver": "^7.6.2", - "typescript-auto-import-cache": "^0.3.3", + "typescript-auto-import-cache": "^0.3.5", "vscode-languageserver-textdocument": "^1.0.11", "vscode-nls": "^5.2.0", "vscode-uri": "^3.0.8" @@ -19073,9 +21621,9 @@ } }, "node_modules/volar-service-typescript-twoslash-queries": { - "version": "0.0.62", - "resolved": "https://registry.npmjs.org/volar-service-typescript-twoslash-queries/-/volar-service-typescript-twoslash-queries-0.0.62.tgz", - "integrity": "sha512-KxFt4zydyJYYI0kFAcWPTh4u0Ha36TASPZkAnNY784GtgajerUqM80nX/W1d0wVhmcOFfAxkVsf/Ed+tiYU7ng==", + "version": "0.0.64", + "resolved": "https://registry.npmjs.org/volar-service-typescript-twoslash-queries/-/volar-service-typescript-twoslash-queries-0.0.64.tgz", + "integrity": "sha512-DQlArCVUwbH3Ym0Uc/qSrgus/ngQa4LbTNbLsIkWMovxwziPA1c2yCFFY7a6s4Qs8pPXO757ryu99IeX0UK+4w==", "license": "MIT", "dependencies": { "vscode-uri": "^3.0.8" @@ -19090,9 +21638,9 @@ } }, "node_modules/volar-service-typescript/node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -19102,9 +21650,9 @@ } }, "node_modules/vscode-css-languageservice": { - "version": "6.3.5", - "resolved": "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-6.3.5.tgz", - "integrity": "sha512-ehEIMXYPYEz/5Svi2raL9OKLpBt5dSAdoCFoLpo0TVFKrVpDemyuQwS3c3D552z/qQCg3pMp8oOLMObY6M3ajQ==", + "version": "6.3.7", + "resolved": "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-6.3.7.tgz", + "integrity": "sha512-5TmXHKllPzfkPhW4UE9sODV3E0bIOJPOk+EERKllf2SmAczjfTmYeq5txco+N3jpF8KIZ6loj/JptpHBQuVQRA==", "license": "MIT", "dependencies": { "@vscode/l10n": "^0.0.18", @@ -19114,9 +21662,9 @@ } }, "node_modules/vscode-html-languageservice": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-5.4.0.tgz", - "integrity": "sha512-9/cbc90BSYCghmHI7/VbWettHZdC7WYpz2g5gBK6UDUI1MkZbM773Q12uAYJx9jzAiNHPpyo6KzcwmcnugncAQ==", + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-5.5.1.tgz", + "integrity": "sha512-/ZdEtsZ3OiFSyL00kmmu7crFV9KwWR+MgpzjsxO60DQH7sIfHZM892C/E4iDd11EKocr+NYuvOA4Y7uc3QzLEA==", "license": "MIT", "dependencies": { "@vscode/l10n": "^0.0.18", @@ -19126,9 +21674,9 @@ } }, "node_modules/vscode-json-languageservice": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-5.5.0.tgz", - "integrity": "sha512-JchBzp8ArzhCVpRS/LT4wzEEvwHXIUEdZD064cGTI4RVs34rNCZXPUguIYSfGBcHH1GV79ufPcfy3Pd8+ukbKw==", + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-5.6.1.tgz", + "integrity": "sha512-IQIURBF2VMKBdWcMunbHSI3G2WmJ9H7613E1hRxIXX7YsAPSdBxnEiIUrTnsSW/3fk+QW1kfsvSigqgAFYIYtg==", "license": "MIT", "dependencies": { "@vscode/l10n": "^0.0.18", @@ -19211,16 +21759,16 @@ } }, "node_modules/vue": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.13.tgz", - "integrity": "sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==", + "version": "3.5.17", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.17.tgz", + "integrity": "sha512-LbHV3xPN9BeljML+Xctq4lbz2lVHCR6DtbpTf5XIO6gugpXUN49j2QQPcMj086r9+AkJ0FfUT8xjulKKBkkr9g==", "license": "MIT", "dependencies": { - "@vue/compiler-dom": "3.5.13", - "@vue/compiler-sfc": "3.5.13", - "@vue/runtime-dom": "3.5.13", - "@vue/server-renderer": "3.5.13", - "@vue/shared": "3.5.13" + "@vue/compiler-dom": "3.5.17", + "@vue/compiler-sfc": "3.5.17", + "@vue/runtime-dom": "3.5.17", + "@vue/server-renderer": "3.5.17", + "@vue/shared": "3.5.17" }, "peerDependencies": { "typescript": "*" @@ -19241,15 +21789,15 @@ } }, "node_modules/vue-component-type-helpers": { - "version": "2.2.10", - "resolved": "https://registry.npmjs.org/vue-component-type-helpers/-/vue-component-type-helpers-2.2.10.tgz", - "integrity": "sha512-iDUO7uQK+Sab2tYuiP9D1oLujCWlhHELHMgV/cB13cuGbG4qwkLHvtfWb6FzvxrIOPDnU0oHsz2MlQjhYDeaHA==", + "version": "2.2.12", + "resolved": "https://registry.npmjs.org/vue-component-type-helpers/-/vue-component-type-helpers-2.2.12.tgz", + "integrity": "sha512-YbGqHZ5/eW4SnkPNR44mKVc6ZKQoRs/Rux1sxC6rdwXb4qpbOSYfDr9DsTHolOTGmIKgM9j141mZbBeg05R1pw==", "license": "MIT" }, "node_modules/vue-eslint-parser": { - "version": "10.1.3", - "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-10.1.3.tgz", - "integrity": "sha512-dbCBnd2e02dYWsXoqX5yKUZlOt+ExIpq7hmHKPb5ZqKcjf++Eo0hMseFTZMLKThrUk61m+Uv6A2YSBve6ZvuDQ==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-10.2.0.tgz", + "integrity": "sha512-CydUvFOQKD928UzZhTp4pr2vWz1L+H99t7Pkln2QSPdvmURT0MoC4wUccfCnuEaihNsu9aYYyk+bep8rlfkUXw==", "license": "MIT", "peer": true, "dependencies": { @@ -19258,7 +21806,6 @@ "eslint-visitor-keys": "^4.2.0", "espree": "^10.3.0", "esquery": "^1.6.0", - "lodash": "^4.17.21", "semver": "^7.6.3" }, "engines": { @@ -19272,9 +21819,9 @@ } }, "node_modules/vue-eslint-parser/node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "license": "ISC", "peer": true, "bin": { @@ -19492,9 +22039,9 @@ } }, "node_modules/vuetify": { - "version": "3.8.4", - "resolved": "https://registry.npmjs.org/vuetify/-/vuetify-3.8.4.tgz", - "integrity": "sha512-hfA1eqA6vhrF5LF8Yfk0uHdNUmh8Uckxn5wREiThO82HW/9Vfreh+IpxPgEtCsAhV33KW+NVamltQCu3HczRKw==", + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/vuetify/-/vuetify-3.9.0.tgz", + "integrity": "sha512-vjqyHP5gBFH4x0BAjdRAcS3FXY5OfHaKnC6Hhgln8tePZtKc3AUhF7BEJtcrD3l6XwL8gaYx/wMt+UP7X5EZJw==", "license": "MIT", "engines": { "node": "^12.20 || >=14.13" @@ -19552,9 +22099,9 @@ } }, "node_modules/watchpack": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", - "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.4.tgz", + "integrity": "sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA==", "license": "MIT", "dependencies": { "glob-to-regexp": "^0.4.1", @@ -19574,21 +22121,22 @@ } }, "node_modules/webpack": { - "version": "5.99.8", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.99.8.tgz", - "integrity": "sha512-lQ3CPiSTpfOnrEGeXDwoq5hIGzSjmwD72GdfVzF7CQAI7t47rJG9eDWvcEkEn3CUQymAElVvDg3YNTlCYj+qUQ==", + "version": "5.100.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.100.2.tgz", + "integrity": "sha512-QaNKAvGCDRh3wW1dsDjeMdDXwZm2vqq3zn6Pvq4rHOEOGSaUMgOOjG2Y9ZbIGzpfkJk9ZYTHpDqgDfeBDcnLaw==", "license": "MIT", "dependencies": { "@types/eslint-scope": "^3.7.7", - "@types/estree": "^1.0.6", + "@types/estree": "^1.0.8", "@types/json-schema": "^7.0.15", "@webassemblyjs/ast": "^1.14.1", "@webassemblyjs/wasm-edit": "^1.14.1", "@webassemblyjs/wasm-parser": "^1.14.1", - "acorn": "^8.14.0", + "acorn": "^8.15.0", + "acorn-import-phases": "^1.0.3", "browserslist": "^4.24.0", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.17.1", + "enhanced-resolve": "^5.17.2", "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", @@ -19602,7 +22150,7 @@ "tapable": "^2.1.1", "terser-webpack-plugin": "^5.3.11", "watchpack": "^2.4.1", - "webpack-sources": "^3.2.3" + "webpack-sources": "^3.3.3" }, "bin": { "webpack": "bin/webpack.js" @@ -19647,9 +22195,9 @@ } }, "node_modules/webpack-bundle-analyzer/node_modules/acorn": { - "version": "8.14.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz", - "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "license": "MIT", "bin": { "acorn": "bin/acorn" @@ -19789,6 +22337,15 @@ "webpack": "^5.75.0" } }, + "node_modules/webpack-manifest-plugin/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/webpack-manifest-plugin/node_modules/webpack-sources": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.1.tgz", @@ -20008,18 +22565,18 @@ } }, "node_modules/webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.3.3.tgz", + "integrity": "sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==", "license": "MIT", "engines": { "node": ">=10.13.0" } }, "node_modules/webpack/node_modules/acorn": { - "version": "8.14.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz", - "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "license": "MIT", "bin": { "acorn": "bin/acorn" @@ -20028,6 +22585,18 @@ "node": ">=0.4.0" } }, + "node_modules/webpack/node_modules/acorn-import-phases": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz", + "integrity": "sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==", + "license": "MIT", + "engines": { + "node": ">=10.13.0" + }, + "peerDependencies": { + "acorn": "^8.14.0" + } + }, "node_modules/webpack/node_modules/eslint-scope": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", @@ -20050,27 +22619,6 @@ "node": ">=4.0" } }, - "node_modules/webpack/node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/webpack/node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/whatwg-encoding": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", @@ -20083,6 +22631,18 @@ "node": ">=18" } }, + "node_modules/whatwg-encoding/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/whatwg-mimetype": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", @@ -20256,6 +22816,18 @@ "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", "license": "MIT" }, + "node_modules/window-size": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz", + "integrity": "sha512-2thx4pB0cV3h+Bw7QmMXcEbdmOzv9t0HFplJH/Lz6yu60hXYy5RT8rUu+wlIreVxWsGN20mo+MHeCSfUpQBwPw==", + "license": "MIT", + "bin": { + "window-size": "cli.js" + }, + "engines": { + "node": ">= 0.10.0" + } + }, "node_modules/with": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/with/-/with-7.0.2.tgz", @@ -20287,9 +22859,9 @@ "license": "MIT" }, "node_modules/workerpool": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.5.1.tgz", - "integrity": "sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==", + "version": "9.3.3", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-9.3.3.tgz", + "integrity": "sha512-slxCaKbYjEdFT/o2rH9xS1hf4uRDch1w7Uo+apxhZ+sf/1d9e0ZVkn42kPNGP2dgjIx6YFvSevj0zHvbWe2jdw==", "license": "Apache-2.0" }, "node_modules/wrap-ansi": { @@ -20374,9 +22946,9 @@ "license": "ISC" }, "node_modules/ws": { - "version": "8.18.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.2.tgz", - "integrity": "sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==", + "version": "8.18.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", + "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", "license": "MIT", "engines": { "node": ">=10.0.0" @@ -20443,9 +23015,9 @@ "license": "ISC" }, "node_modules/yaml": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.1.tgz", - "integrity": "sha512-10ULxpnOCQXxJvBgxsn9ptjq6uviG/htZKk9veJGhlqn3w/DxQ631zFF+nlQXLwmImeS5amR2dl2U8sg6U9jsQ==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.0.tgz", + "integrity": "sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==", "license": "ISC", "optional": true, "peer": true, @@ -20453,7 +23025,7 @@ "yaml": "bin.mjs" }, "engines": { - "node": ">= 14" + "node": ">= 14.6" } }, "node_modules/yargs": { @@ -20550,24 +23122,6 @@ "funding": { "url": "https://github.com/sponsors/sindresorhus" } - }, - "node_modules/zod": { - "version": "3.24.4", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.24.4.tgz", - "integrity": "sha512-OdqJE9UDRPwWsrHjLN2F8bPxvwJBK22EHLWtanu0LSYr5YqzsaaW3RMgmjwr8Rypg5k+meEJdSPXJZXE/yqOMg==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/colinhacks" - } - }, - "node_modules/zod-to-json-schema": { - "version": "3.24.5", - "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.24.5.tgz", - "integrity": "sha512-/AuWwMP+YqiPbsJx5D6TfgRTc4kTLjsh5SOcd4bLsfUg2RcEXrFMJl1DGgdHy2aCfsIA/cr/1JM0xcB2GZji8g==", - "license": "ISC", - "peerDependencies": { - "zod": "^3.24.1" - } } } } diff --git a/frontend/package.json b/frontend/package.json index a47fc9b01..6f2d95eb7 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,10 +1,10 @@ { "name": "photoprism", + "description": "AI-Powered Photos App", + "author": "PhotoPrism UG", + "license": "AGPL-3.0", "version": "1", "private": true, - "description": "AI-Powered Photos App", - "license": "AGPL-3.0", - "author": "PhotoPrism UG", "scripts": { "acceptance-local": "testcafe chromium --selector-timeout 5000 -S -s tests/acceptance/screenshots tests/acceptance", "build": "webpack --node-env=production", @@ -18,69 +18,71 @@ "gettext-extract": "gettext-extract --output src/locales/translations.pot $(find ${SRC:-src} -type f \\( -iname \\*.vue -o -iname \\*.js \\) -not -path src/common/gettext.js)", "lint": "eslint --cache src/ *.js", "test": "karma start", - "test-vitest": "vitest run", - "test-vitest-watch": "vitest", - "test-vitest-coverage": "vitest run --coverage", - "test-vitest-component": "vitest run tests/vitest/component", - "test-vitest-ui": "vitest --ui", + "vitest": "env TZ=UTC vitest run", + "vitest-watch": "env TZ=UTC vitest --watch", + "vitest-coverage": "env TZ=UTC vitest run --coverage", + "vitest-component": "env TZ=UTC vitest run tests/vitest/component", + "vitest-ui": "env TZ=UTC vitest --ui --watch", "testcafe": "testcafe", "trace": "webpack --stats-children", - "upgrade": "npm update && npm audit fix", + "update": "npm update --save --package-lock && npm install --no-update-notifier --no-audit", "watch": "webpack --watch" }, "browserslist": [ ">0.25% and last 2 years" ], "dependencies": { - "@babel/cli": "^7.27.1", - "@babel/core": "^7.27.1", - "@babel/plugin-transform-runtime": "^7.27.1", - "@babel/preset-env": "^7.27.1", + "@babel/cli": "^7.28.0", + "@babel/core": "^7.28.0", + "@babel/plugin-transform-runtime": "^7.28.0", + "@babel/preset-env": "^7.28.0", "@babel/register": "^7.27.1", - "@babel/runtime": "^7.27.1", + "@babel/runtime": "^7.27.6", "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "^9.26.0", - "@lcdp/offline-plugin": "^5.1.1", + "@eslint/js": "9.31.0", + "@lcdp/offline-plugin": "^5.1.3", "@mdi/font": "^7.4.47", "@testing-library/jest-dom": "^6.6.3", "@testing-library/react": "^16.3.0", - "@vitejs/plugin-react": "^4.4.1", - "@vitest/coverage-v8": "^3.1.3", - "@vitest/ui": "^3.1.3", - "@vue/compiler-sfc": "^3.5.13", - "@vue/language-server": "^2.2.10", - "@vvo/tzdb": "^6.161.0", - "axios": "^1.9.0", + "@vitejs/plugin-react": "^4.6.0", + "@vitejs/plugin-vue": "^6.0.0", + "@vitest/browser": "^3.2.4", + "@vitest/coverage-v8": "^3.2.4", + "@vitest/ui": "^3.2.4", + "@vue/compiler-sfc": "^3.5.17", + "@vue/language-server": "^3.0.1", + "@vue/test-utils": "^2.4.6", + "@vvo/tzdb": "^6.178.0", + "axios": "^1.10.0", "axios-mock-adapter": "^2.1.0", "babel-loader": "^10.0.0", "babel-plugin-istanbul": "^7.0.0", - "babel-plugin-polyfill-corejs3": "^0.12.0", - "browserslist": "^4.24.5", - "chai": "^5.2.0", + "babel-plugin-polyfill-corejs3": "^0.13.0", + "browserslist": "^4.25.1", + "chai": "^5.2.1", "cheerio": "1.0.0-rc.12", "chrome-finder": "^1.0.7", - "core-js": "^3.42.0", + "core-js": "^3.44.0", "cross-env": "^7.0.3", "css-loader": "^7.1.2", - "cssnano": "^7.0.7", + "cssnano": "^7.1.0", "easygettext": "^2.17.0", - "eslint": "^9.26.0", - "eslint-config-prettier": "^10.1.3", + "eslint": "^9.31.0", + "eslint-config-prettier": "^10.1.5", "eslint-formatter-pretty": "^6.0.1", - "eslint-plugin-html": "^8.1.2", - "eslint-plugin-import": "^2.31.0", + "eslint-plugin-html": "^8.1.3", + "eslint-plugin-import": "^2.32.0", "eslint-plugin-node": "^11.1.0", - "eslint-plugin-prettier": "^5.4.0", - "eslint-plugin-promise": "^7.2.1", - "eslint-plugin-vue": "^10.1.0", + "eslint-plugin-prettier": "^5.5.1", + "eslint-plugin-vue": "^10.3.0", "eslint-plugin-vuetify": "^2.5.2", - "eslint-webpack-plugin": "^5.0.1", + "eslint-webpack-plugin": "^5.0.2", "eventsource-polyfill": "^0.9.6", "file-loader": "^6.2.0", "file-saver": "^2.0.5", "floating-vue": "^5.2.2", - "globals": "^16.0.1", - "hls.js": "^1.6.2", + "globals": "^16.3.0", + "hls.js": "^1.6.7", "i": "^0.3.7", "jsdom": "^26.1.0", "karma": "^6.4.4", @@ -90,29 +92,30 @@ "karma-mocha": "^2.0.1", "karma-verbose-reporter": "^0.0.8", "karma-webpack": "^5.0.1", - "luxon": "^3.6.1", - "maplibre-gl": "^5.5.0", + "luxon": "^3.7.1", + "maplibre-gl": "^5.6.1", "memoize-one": "^6.0.0", "mini-css-extract-plugin": "^2.9.2", - "minimist": ">=1.2.8", - "mocha": "^11.2.2", + "minimist": "^1.2.8", + "mocha": "^11.7.1", "node-storage-shim": "^2.0.1", "passive-events-support": "^1.1.0", "photoswipe": "^5.4.4", - "postcss": "^8.5.3", - "postcss-import": "^16.1.0", + "playwright": "^1.54.1", + "postcss": "^8.5.6", + "postcss-import": "^16.1.1", "postcss-loader": "^8.1.1", - "postcss-preset-env": "^10.1.6", + "postcss-preset-env": "^10.2.4", "postcss-reporter": "^7.1.0", "postcss-url": "^10.1.3", - "prettier": "^3.5.3", + "prettier": "^3.6.2", "pubsub-js": "^1.9.5", "regenerator-runtime": "^0.14.1", "resolve-url-loader": "^5.0.0", - "sanitize-html": "^2.16.0", - "sass": "^1.87.0", + "sanitize-html": "^2.17.0", + "sass": "^1.89.2", "sass-loader": "^16.0.5", - "server": "^1.0.41", + "server": "^1.0.42", "sockette": "^2.0.6", "style-loader": "^4.0.0", "svg-url-loader": "^8.0.0", @@ -120,8 +123,8 @@ "url-loader": "^4.1.1", "util": "^0.12.5", "vite-tsconfig-paths": "^5.1.4", - "vitest": "^3.1.3", - "vue": "^3.5.13", + "vitest": "^3.2.4", + "vue": "^3.5.17", "vue-3-sanitize": "^0.1.4", "vue-loader": "^17.4.2", "vue-loader-plugin": "^1.3.0", @@ -130,21 +133,19 @@ "vue-sanitize-directive": "^0.2.1", "vue-style-loader": "^4.1.3", "vue3-gettext": "^2.4.0", - "vuetify": "^3.8.4", - "webpack": "^5.99.8", + "vuetify": "^3.9.0", + "webpack": "^5.100.2", "webpack-bundle-analyzer": "^4.10.2", "webpack-cli": "^6.0.1", "webpack-hot-middleware": "^2.26.1", "webpack-manifest-plugin": "^5.0.1", "webpack-md5-hash": "^0.0.6", "webpack-merge": "^6.0.1", - "webpack-plugin-vuetify": "^3.1.1", - "@vitejs/plugin-vue": "^5.2.4", - "@vue/test-utils": "^2.4.6" + "webpack-plugin-vuetify": "^3.1.1" }, "engines": { "node": ">= 18.0.0", "npm": ">= 9.0.0", "yarn": "please use npm" } -} \ No newline at end of file +} diff --git a/frontend/src/app/routes.js b/frontend/src/app/routes.js index d22c5f800..8c81f865d 100644 --- a/frontend/src/app/routes.js +++ b/frontend/src/app/routes.js @@ -100,10 +100,18 @@ export default [ meta: { title: $gettext("Settings"), requiresAuth: true, - admin: true, settings: true, background: "background", }, + beforeEnter: (to, from, next) => { + if ($session.loginRequired()) { + next({ name: loginRoute }); + } else if ($config.deny("users", "access_all")) { + next({ name: $session.getDefaultRoute() }); + } else { + next(); + } + }, }, { name: "upgrade", diff --git a/frontend/src/common/media.js b/frontend/src/common/media.js index e8a1560b8..76db7ac60 100644 --- a/frontend/src/common/media.js +++ b/frontend/src/common/media.js @@ -38,6 +38,7 @@ export const FormatWebmAv1 = "webm_av1"; export const FormatMkvAv1 = "mkv_av1"; export const FormatTheora = "ogg"; export const FormatWebp = "webp"; +export const FormatM2TS = "m2t"; // Image file formats: export const FormatJpeg = "jpg"; @@ -51,6 +52,7 @@ export const FormatSVG = "svg"; // Content type strings for common media formats, see https://tools.woolyss.com/html5-canplaytype-tester/: export const ContentTypeMp4 = "video/mp4"; export const ContentTypeMp4AvcMain = ContentTypeMp4 + '; codecs="avc1.4d0028"'; // AVC High Profile Level 4 +export const ContentTypeMp4AvcHigh = ContentTypeMp4 + '; codecs="avc1.640028"'; // MPEG-4 AVC (H.264), High Level 4.0 export const ContentTypeMp4HvcMain = ContentTypeMp4 + '; codecs="hvc1.1.6.L93.B0"'; export const ContentTypeMp4HvcMain10 = ContentTypeMp4 + '; codecs="hvc1.2.4.L153.B0"'; export const ContentTypeMp4HevMain = ContentTypeMp4 + '; codecs="hev1.1.6.L93.B0"'; diff --git a/frontend/src/common/src.js b/frontend/src/common/src.js index 9d14f1066..600ba21d6 100644 --- a/frontend/src/common/src.js +++ b/frontend/src/common/src.js @@ -2,6 +2,7 @@ export const Auto = ""; export const Default = "default"; export const Manual = "manual"; export const Estimate = "estimate"; +export const File = "file"; export const Name = "name"; export const Meta = "meta"; export const Xmp = "xmp"; diff --git a/frontend/src/common/util.js b/frontend/src/common/util.js index 98b115eba..9fb1b1fc0 100644 --- a/frontend/src/common/util.js +++ b/frontend/src/common/util.js @@ -202,7 +202,7 @@ export default class $util { } static formatNs(d) { - if (!d || typeof d !== "number") { + if (!d || Number.isNaN(d)) { return ""; } @@ -423,8 +423,9 @@ export default class $util { return "Matroska Multimedia Container"; case "mts": return "Advanced Video Coding High Definition (AVCHD)"; + case "m2t": case "m2ts": - return "Blu-ray MPEG-2 Transport Stream"; + return "MPEG-2 Transport Stream (M2TS)"; case "webp": return "Google WebP"; case media.FormatWebm: @@ -524,6 +525,8 @@ export default class $util { case media.CodecVp09: case media.FormatVp9: return "VP9"; + case media.FormatM2TS: + return "M2TS"; case "extended webp": case media.FormatWebp: return "WebP"; @@ -578,6 +581,9 @@ export default class $util { return "Extended WebP"; case "webm": return "Google WebM"; + case "m2t": + case "m2ts": + return "MPEG-2 Transport Stream (M2TS)"; case "mpeg": return "Moving Picture Experts Group (MPEG)"; case "mjpg": @@ -825,6 +831,10 @@ export default class $util { static copyText(text) { if (!text) { + if (debug) { + console.warn("clipboard: missing text"); + } + return false; } @@ -847,15 +857,18 @@ export default class $util { }) .catch((err) => { if (debug && err) { - console.log("copy:", err); + console.error("clipboard:", err); } - $notify.error($gettext("Not allowed")); + $notify.error($gettext("Cannot copy to clipboard")); }); return true; + } else if (debug) { + console.warn("clipboard: window.navigator.clipboard is not an instance of EventTarget"); } - $notify.warn($gettext("Not supported")); + $notify.warn($gettext("Cannot copy to clipboard")); + return false; } } diff --git a/frontend/src/component/action/menu.vue b/frontend/src/component/action/menu.vue index 4a442bede..23e746371 100644 --- a/frontend/src/component/action/menu.vue +++ b/frontend/src/component/action/menu.vue @@ -18,26 +18,28 @@ - - - + diff --git a/frontend/src/component/album/delete/dialog.vue b/frontend/src/component/album/delete/dialog.vue index 4535af9f8..f451b3c3a 100644 --- a/frontend/src/component/album/delete/dialog.vue +++ b/frontend/src/component/album/delete/dialog.vue @@ -31,6 +31,7 @@ export default { default: false, }, }, + emits: ["close", "confirm"], data() { return {}; }, diff --git a/frontend/src/component/album/toolbar.vue b/frontend/src/component/album/toolbar.vue index c4306bce0..acac2c68f 100644 --- a/frontend/src/component/album/toolbar.vue +++ b/frontend/src/component/album/toolbar.vue @@ -67,19 +67,30 @@ @confirm="dialog.upload = false" > + diff --git a/frontend/src/component/lightbox.vue b/frontend/src/component/lightbox.vue index ff25647f8..3af21d7ef 100644 --- a/frontend/src/component/lightbox.vue +++ b/frontend/src/component/lightbox.vue @@ -1878,7 +1878,7 @@ export default { }, // Jumps to the specified time index when a video is loaded and seekable. seekVideo(seekTo) { - if (typeof seekTo !== "number") { + if (Number.isNaN(seekTo)) { return false; } @@ -1891,19 +1891,39 @@ export default { return; } - if (seekTo > video.duration) { - video.currentTime = video.duration; - } else if (seekTo <= 0) { - video.currentTime = 0; + // If possible, use the fastSeek() method to quickly jump to the new time index: + // https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/fastSeek + if (typeof video.fastSeek === "function") { + if (seekTo >= video.duration - 0.01) { + video.loop = false; + video.fastSeek(video.duration); + this.pauseVideo(video); + } else if (seekTo <= 0) { + video.loop = false; + video.fastSeek(0); + this.pauseVideo(video); + } else { + video.fastSeek(seekTo); + } } else { - video.currentTime = seekTo; + if (seekTo >= video.duration - 0.01) { + video.loop = false; + video.currentTime = video.duration; + this.pauseVideo(video); + } else if (seekTo <= 0) { + video.loop = false; + video.currentTime = 0; + this.pauseVideo(video); + } else { + video.currentTime = seekTo; + } } return true; }, // Skips the specified number of seconds when a video is loaded and seekable. seekVideoSeconds(seconds) { - if (!seconds || typeof seconds !== "number") { + if (!seconds || Number.isNaN(seconds)) { return false; } else if (!this.video.playing) { return false; diff --git a/frontend/src/component/loading-bar.vue b/frontend/src/component/loading-bar.vue index eb97cde4c..891ee6c51 100644 --- a/frontend/src/component/loading-bar.vue +++ b/frontend/src/component/loading-bar.vue @@ -243,7 +243,7 @@ export default { increase(amount) { let o = this.progress; - if (o < 100 && typeof amount !== "number") { + if (o < 100 && Number.isNaN(amount)) { if (o >= 0 && o < 25) { amount = Math.random() * 3 + 3; } else if (o >= 25 && o < 50) { diff --git a/frontend/src/component/location/dialog.vue b/frontend/src/component/location/dialog.vue new file mode 100644 index 000000000..15e0e50f4 --- /dev/null +++ b/frontend/src/component/location/dialog.vue @@ -0,0 +1,341 @@ + + + diff --git a/frontend/src/component/location/input.vue b/frontend/src/component/location/input.vue new file mode 100644 index 000000000..f4214e5da --- /dev/null +++ b/frontend/src/component/location/input.vue @@ -0,0 +1,252 @@ + + + diff --git a/frontend/src/component/map.vue b/frontend/src/component/map.vue index a4b9a3e7b..38f13b154 100644 --- a/frontend/src/component/map.vue +++ b/frontend/src/component/map.vue @@ -10,13 +10,10 @@ let maplibregl = null; export default { name: "PMap", props: { - lat: { - type: Number, - default: 0.0, - }, - lng: { - type: Number, - default: 0.0, + latlng: { + type: Array, + default: () => [0.0, 0.0], + validator: (value) => Array.isArray(value) && value.length === 2, }, zoom: { type: Number, @@ -26,12 +23,33 @@ export default { type: String, default: "embedded", }, + // Interactive mode props + interactive: { + type: Boolean, + default: false, + }, + draggable: { + type: Boolean, + default: false, + }, + showControls: { + type: Boolean, + default: false, + }, + clickable: { + type: Boolean, + default: false, + }, }, + emits: ["update:latlng", "marker-moved", "map-clicked"], data() { + const settings = this.$config.getSettings(); + return { map: null, marker: null, position: [0.0, 0.0], + animate: settings.maps.animate, options: { container: null, // Styles can be edited/created with https://maplibre.org/maputnik/. @@ -41,17 +59,14 @@ export default { style: `https://cdn.photoprism.app/maps/${this.style}.json`, glyphs: `https://cdn.photoprism.app/maps/font/{fontstack}/{range}.pbf`, zoom: this.zoom, - interactive: true, + interactive: this.interactive, attributionControl: false, }, loaded: false, }; }, watch: { - lat() { - this.updatePosition(); - }, - lng() { + latlng() { this.updatePosition(); }, }, @@ -74,52 +89,154 @@ export default { try { this.options.container = this.$refs.map; + + // Set center based on coordinates or default + if (!(this.latlng[0] && this.latlng[1] && !(this.latlng[0] === 0 && this.latlng[1] === 0))) { + this.options.zoom = 2; + this.options.center = [0, 20]; + } else { + this.options.center = [this.latlng[1], this.latlng[0]]; // Convert [lat, lng] to [lng, lat] for MapLibre + } + this.map = new maplibregl.Map(this.options); - // Add controls. - /* this.map.addControl( - new maplibregl.NavigationControl({ - showCompass: false, - showZoom: true, - visualizePitch: false, - }), - "top-right" - ); + // Add controls if requested + if (this.showControls) { + this.map.addControl( + new maplibregl.NavigationControl({ + showCompass: true, + showZoom: true, + visualizePitch: false, + }), + "top-right" + ); - this.map.addControl(new maplibregl.ScaleControl({ maxWidth: 80, unit: "metric" }), "bottom-left"); - */ + this.map.addControl(new maplibregl.ScaleControl({ maxWidth: 80, unit: "metric" }), "bottom-left"); + + this.map.addControl( + new maplibregl.GeolocateControl({ + positionOptions: { + enableHighAccuracy: true, + }, + trackUserLocation: true, + }), + "top-right" + ); + } this.map.on("error", (e) => { console.error("map:", e); }); + // Handle missing style images + this.map.on("styleimagemissing", (e) => { + const emptyImage = new ImageData(1, 1); + if (e && e.id) { + this.map.addImage(e.id, emptyImage); + } + }); + this.map.on("load", () => { this.loaded = true; this.updatePosition(); + this.map.resize(); }); + + // Add click handler for interactive mode + if (this.clickable) { + this.map.on("click", (e) => { + const lat = e.lngLat.lat; + const lng = e.lngLat.lng; + this.$emit("map-clicked", { lat, lng }); + this.$emit("update:latlng", [lat, lng]); + }); + } } catch (error) { console.error("map: initialization failed", error); this.loaded = false; } }, updatePosition() { - if (this.map && this.loaded) { - if (this.position[0] === this.lng && this.position[1] === this.lat) { - return; - } + if (!this.map || !this.loaded) { + return; + } - this.position = [this.lng, this.lat]; - this.map.setCenter(this.position); + if (this.position[0] === this.latlng[1] && this.position[1] === this.latlng[0] && this.marker) { + return; + } + // Skip invalid or empty coordinates + if (!(this.latlng[0] && this.latlng[1] && !(this.latlng[0] === 0 && this.latlng[1] === 0))) { if (this.marker) { - this.marker.setLngLat(this.position); + this.marker.remove(); + this.marker = null; + } + return; + } + + this.position = [this.latlng[1], this.latlng[0]]; // Convert [lat, lng] to [lng, lat] for MapLibre + + if (this.animate > 0) { + this.map.flyTo({ + center: this.position, + zoom: this.interactive ? this.zoom : undefined, // Only set zoom in interactive mode + duration: this.animate, + essential: true, // Respects prefers-reduced-motion + }); + } else { + // Use setCenter for instant positioning (no animation) + if (this.interactive) { + this.map.setCenter(this.position, { + zoom: this.zoom, + animate: false, + }); } else { - this.marker = new maplibregl.Marker({ - color: "#3fb4df", - draggable: false, - }) - .setLngLat(this.position) - .addTo(this.map); + this.map.setCenter(this.position); + } + } + + if (this.marker) { + this.marker.setLngLat(this.position); + } else { + this.marker = new maplibregl.Marker({ + color: "#3fb4df", + draggable: this.draggable, + }) + .setLngLat(this.position) + .addTo(this.map); + + // Add drag event listener for draggable markers + if (this.draggable) { + this.marker.on("dragend", () => { + const lngLat = this.marker.getLngLat(); + this.$emit("marker-moved", { lat: lngLat.lat, lng: lngLat.lng }); + this.$emit("update:latlng", [lngLat.lat, lngLat.lng]); + }); + } + } + }, + // Public method to remove marker + removeMarker() { + if (this.marker) { + this.marker.remove(); + this.marker = null; + } + }, + // Public method to fly to coordinates + flyTo(lat, lng, zoom = this.zoom) { + if (this.map) { + if (this.animate > 0) { + this.map.flyTo({ + center: [lng, lat], + zoom: zoom, + duration: this.animate, + essential: true, + }); + } else { + this.map.jumpTo({ + center: [lng, lat], + zoom: zoom, + }); } } }, diff --git a/frontend/src/component/navigation.vue b/frontend/src/component/navigation.vue index 10cc0ec4f..77843e6cb 100644 --- a/frontend/src/component/navigation.vue +++ b/frontend/src/component/navigation.vue @@ -351,11 +351,11 @@ v-show="config.count.animated > 0" :to="{ name: 'animated' }" variant="text" - class="nav-animated" + class="nav-animated nav-animations" @click.stop="" > - {{ $gettext(`Animated`) }} + {{ $gettext(`Animations`) }} {{ config.count.animated }} @@ -1007,7 +1007,7 @@ export default { canAccessPrivate: !isRestricted && this.$config.allow("photos", "access_private"), canManagePhotos: canManagePhotos, canManagePeople: this.$config.allow("people", "manage"), - canManageUsers: (!isPublic || isDemo) && this.$config.allow("users", "manage"), + canManageUsers: (!isPublic || isDemo) && this.$config.allow("users", "access_all"), appNameSuffix: appNameSuffix, appName: this.$config.getName(), appAbout: this.$config.getAbout(), diff --git a/frontend/src/component/photo/edit/details.vue b/frontend/src/component/photo/edit/details.vue index a1aa4d604..a37921321 100644 --- a/frontend/src/component/photo/edit/details.vue +++ b/frontend/src/component/photo/edit/details.vue @@ -146,20 +146,36 @@ @update:model-value="syncTime" > - + + + + - + - - - - - - @@ -432,6 +413,12 @@ + @@ -440,9 +427,15 @@ import countries from "options/countries.json"; import Thumb from "model/thumb"; import * as options from "options/options"; import { rules } from "common/form"; +import PLocationDialog from "component/location/dialog.vue"; +import PLocationInput from "component/location/input.vue"; export default { name: "PTabPhotoDetails", + components: { + PLocationDialog, + PLocationInput, + }, props: { uid: { type: String, @@ -467,8 +460,11 @@ export default { showTimePicker: false, invalidDate: false, time: "", + locationLabel: this.$gettext("Location"), + locationDialog: false, textRule: (v) => v.length <= this.$config.get("clip") || this.$gettext("Text too long"), rtl: this.$isRtl, + placesDisabled: !this.$config.feature("places"), }; }, computed: { @@ -484,11 +480,11 @@ export default { }, watch: { uid() { - this.syncTime(); + this.syncData(); }, }, created() { - this.syncTime(); + this.syncData(); }, methods: { setDay(v) { @@ -529,6 +525,22 @@ export default { this.updateModel(); } }, + syncData() { + this.syncLocation(); + this.syncTime(); + }, + syncLocation() { + if ( + this.view?.model?.hasId() && + this.view?.model?.Place?.PlaceID && + this.view?.model?.Place?.PlaceID !== "zz" && + this.view?.model?.Place?.Label + ) { + this.locationLabel = this.view.model.Place.Label; + } else { + this.locationLabel = this.$gettext("Location"); + } + }, syncTime() { if (!this.view?.model.hasId()) { return; @@ -537,36 +549,6 @@ export default { const taken = this.view.model.getDateTime(); this.time = taken.toFormat("HH:mm:ss"); }, - pastePosition(event) { - // Autofill the lat and lng fields if the text in the clipboard contains two float values. - const clipboard = event.clipboardData ? event.clipboardData : window.clipboardData; - - if (!clipboard) { - return; - } - - // Get values from browser clipboard. - const text = clipboard.getData("text"); - - // Trim spaces before splitting by whitespace and/or commas. - const val = text.trim().split(/[ ,]+/); - - // Two values found? - if (val.length >= 2) { - // Parse values. - const lat = parseFloat(val[0]); - const lng = parseFloat(val[1]); - - // Lat and long must be valid floating point numbers. - if (!isNaN(lat) && lat >= -90 && lat <= 90 && !isNaN(lng) && lng >= -180 && lng <= 180) { - // Update view.model values. - this.view.model.Lat = lat; - this.view.model.Lng = lng; - // Prevent default action. - event.preventDefault(); - } - } - }, updateModel() { if (!this.view?.model.hasId()) { return; @@ -620,12 +602,39 @@ export default { this.$emit("close"); } - this.syncTime(); + this.syncData(); }); }, close() { this.$emit("close"); }, + adjustLocation() { + this.locationDialog = true; + }, + confirmLocation(data) { + if (data && data.lat !== undefined && data.lng !== undefined) { + this.updateLatLng([data.lat, data.lng]); + this.onLocationChanged(data); + } + + this.locationDialog = false; + }, + updateLatLng(latlng) { + this.view.model.Lat = latlng[0]; + this.view.model.Lng = latlng[1]; + this.view.model.PlaceSrc = "manual"; + }, + onLocationChanged(data) { + if (data?.location?.country) { + this.view.model.Country = data.location.country; + } + + if (data?.location?.place?.label) { + this.locationLabel = data.location.place.label; + } else { + this.locationLabel = this.$gettext("Location"); + } + }, }, }; diff --git a/frontend/src/component/photo/edit/info.vue b/frontend/src/component/photo/edit/info.vue index 102c9ae69..196c2eb09 100644 --- a/frontend/src/component/photo/edit/info.vue +++ b/frontend/src/component/photo/edit/info.vue @@ -378,6 +378,8 @@ export default { return "XMP"; case "estimate": return this.$gettext("Estimate"); + case "file": + return this.$gettext("File"); case "name": return this.$gettext("Name"); case "title": diff --git a/frontend/src/component/settings/apps.vue b/frontend/src/component/settings/apps.vue index 75177cf78..33fa24874 100644 --- a/frontend/src/component/settings/apps.vue +++ b/frontend/src/component/settings/apps.vue @@ -357,7 +357,11 @@ export default { this.$view.leave(this); }, onCopyAppPassword() { + // Use the browser API to copy the app password to the clipboard. this.$util.copyText(this.appPassword); + + // Flag the password as copied to the clipboard even + // if the copyText() function returns an error. this.appPasswordCopied = true; }, formatDate(d) { diff --git a/frontend/src/component/settings/passcode.vue b/frontend/src/component/settings/passcode.vue index fbcd2c0b8..289b8b752 100644 --- a/frontend/src/component/settings/passcode.vue +++ b/frontend/src/component/settings/passcode.vue @@ -273,6 +273,7 @@ export default { default: () => this.$session.getUser(), }, }, + emits: ["updateUser", "close"], data() { return { busy: false, @@ -378,9 +379,12 @@ export default { }); }, onCopyRecoveryCode() { - if (this.$util.copyText(this.key.RecoveryCode)) { - this.recoveryCodeCopied = true; - } + // Use the browser API to copy the recovery code to the clipboard. + this.$util.copyText(this.key.RecoveryCode); + + // Flag the code as copied to the clipboard even + // if the copyText() function returns an error. + this.recoveryCodeCopied = true; }, onActivate() { if (this.busy) { diff --git a/frontend/src/component/sidebar/info.vue b/frontend/src/component/sidebar/info.vue index 74f4e1175..d71e0f569 100644 --- a/frontend/src/component/sidebar/info.vue +++ b/frontend/src/component/sidebar/info.vue @@ -66,7 +66,7 @@ > - + @@ -120,10 +120,14 @@ export default { return this.$gettext("Unknown"); } - if (model.TimeZone && model.TimeZone !== "Local") { - return DateTime.fromISO(model.TakenAtLocal, { zone: model.TimeZone }).toLocaleString(formats.DATETIME_MED_TZ); + // Always parse as UTC to avoid time shifts + const dateTime = DateTime.fromISO(model.TakenAtLocal, { zone: "UTC" }); + + if (model.TimeZone && model.TimeZone !== "Local" && model.TimeZone !== "UTC") { + // We use the real timezone just for display, but don't shift the time (prevents double timezone offset as backend already applied it) + return dateTime.setZone(model.TimeZone, { keepLocalTime: true }).toLocaleString(formats.DATETIME_MED_TZ); } else { - return DateTime.fromISO(model.TakenAtLocal, { zone: "UTC" }).toLocaleString(formats.DATETIME_MED); + return dateTime.toLocaleString(formats.DATETIME_MED); } }, }, diff --git a/frontend/src/css/layout.css b/frontend/src/css/layout.css index 172e83afd..e53c0636d 100644 --- a/frontend/src/css/layout.css +++ b/frontend/src/css/layout.css @@ -45,6 +45,13 @@ } } +/* Overflow */ + +.overflow-hidden { + overflow: hidden; + text-overflow: ellipsis; +} + /* Layout Widths */ .width-sm, .width-md, .width-lg { diff --git a/frontend/src/css/lightbox.css b/frontend/src/css/lightbox.css index 72cd24832..a1de1062a 100644 --- a/frontend/src/css/lightbox.css +++ b/frontend/src/css/lightbox.css @@ -126,16 +126,6 @@ hyphens: auto; } -.p-lightbox__container > .p-lightbox__sidebar .p-map { - display: block; - min-height: 259px; - aspect-ratio: 1; - width: auto; - margin: 0; - padding: 0; - overflow: hidden; -} - /* Media Content */ .pswp__content { diff --git a/frontend/src/css/places.css b/frontend/src/css/places.css index 40584a680..d02b4e362 100644 --- a/frontend/src/css/places.css +++ b/frontend/src/css/places.css @@ -224,6 +224,28 @@ } } +/* Embedded Map and Control Styles */ + +.p-map { + display: block; + margin: 0; + padding: 0; + overflow: hidden; +} + +.p-location-dialog .p-map { + height: 45vh; + min-height: 250px; + width: 100%; + border-radius: 4px; +} + +.p-lightbox__container > .p-lightbox__sidebar .p-map { + min-height: 259px; + aspect-ratio: 1; + width: auto; +} + /* Right-to-Left Language Support */ .is-rtl .map-control { @@ -262,3 +284,4 @@ float: left; margin: 0 0 10px 10px; } + diff --git a/frontend/src/css/vuetify.css b/frontend/src/css/vuetify.css index de41fdb71..8bc819e0c 100644 --- a/frontend/src/css/vuetify.css +++ b/frontend/src/css/vuetify.css @@ -233,13 +233,21 @@ div.v-dialog.v-dialog--fullscreen > div.v-card { justify-content: flex-end; } -/* Lists */ +/* Lists and Menus */ .v-menu > .v-overlay__content > .v-list:not(.v-list--nav) { padding: 0; opacity: 0.97; } +.v-menu > .v-overlay__content > .v-list > .v-list-item.v-list-item--density-compact.v-list-item--one-line { + line-height: 36px; + min-height: 36px; + padding-top: 6px; + padding-bottom: 6px; + padding-inline: 10px; +} + /* Progress */ .v-progress-linear, @@ -417,12 +425,8 @@ div.v-dialog.v-dialog--fullscreen > div.v-card { font-size: 0.75rem; } -.v-menu > .v-overlay__content > .v-list > .v-list-item.v-list-item--density-compact.v-list-item--one-line { - line-height: 36px; - min-height: 36px; - padding-top: 6px; - padding-bottom: 6px; - padding-inline: 10px; +.v-input--readonly .v-autocomplete__menu-icon { + display: none; } .p-clipboard > .v-speed-dial__content > .v-btn.v-btn--icon { @@ -557,6 +561,16 @@ form > .v-card > .v-card-text.dense { margin-inline-start: 12px; } +/* Divider */ + +hr.v-divider { + opacity: 0.1; +} + +.v-table hr { + opacity: 0.05; +} + .v-divider.v-divider--vertical { margin-left: 4px; margin-right: 4px; diff --git a/frontend/src/locales/af.po b/frontend/src/locales/af.po index 7e284d7c7..a35ad9a11 100644 --- a/frontend/src/locales/af.po +++ b/frontend/src/locales/af.po @@ -2,13 +2,13 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: ci@photoprism.app\n" -"PO-Revision-Date: 2025-04-04 08:03+0000\n" +"PO-Revision-Date: 2025-07-06 08:59+0000\n" "Last-Translator: Google Cloud Translation Basic \n" "Language: af\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.10.4\n" +"X-Generator: Weblate 5.12.2\n" "Generated-By: easygettext\n" #: src/locales.js:268 @@ -39,7 +39,7 @@ msgstr "{0} gekies" msgid "{0}-{1} of {2}" msgstr "{0}-{1} van {2}" -#: src/page/albums.vue:612 +#: src/page/albums.vue:617 msgid "%{n} albums found" msgstr "%{n} albums gevind" @@ -47,25 +47,25 @@ msgstr "%{n} albums gevind" msgid "%{n} files uploaded" msgstr "%{n} lêers opgelaai" -#: src/page/library/browse.vue:362 +#: src/page/library/browse.vue:364 msgid "%{n} folders found" msgstr "%{n} vouers gevind" -#: src/component/navigation.vue:1676 +#: src/component/navigation.vue:1707 msgid "%{n} GB of %{q} GB used" msgstr "%{n} GB van %{q} GB gebruik" -#: src/page/labels.vue:528 +#: src/page/labels.vue:533 msgid "%{n} labels found" msgstr "%{n} etikette gevind" -#: src/page/people/new.vue:350 src/page/people/new.vue:447 -#: src/page/people/recognized.vue:536 +#: src/page/people/new.vue:350 src/page/people/new.vue:450 +#: src/page/people/recognized.vue:541 msgid "%{n} people found" msgstr "%{n} mense gevind" -#: src/page/album/photos.vue:308 src/page/album/photos.vue:493 -#: src/page/photos.vue:441 src/page/photos.vue:631 +#: src/page/album/photos.vue:313 src/page/album/photos.vue:504 +#: src/page/photos.vue:446 src/page/photos.vue:641 msgid "%{n} pictures found" msgstr "%{n} fotos gevind" @@ -85,12 +85,12 @@ msgstr "1 uur" msgid "12 hours" msgstr "12 ure" -#: src/component/user/edit/dialog.vue:452 src/page/settings/account.vue:324 -#: src/component/settings/passcode.vue:75 +#: src/component/user/edit/dialog.vue:453 src/page/settings/account.vue:325 +#: src/component/settings/passcode.vue:78 msgid "2-Factor Authentication" msgstr "2-faktor-verifikasie" -#: src/component/user/edit/dialog.vue:451 src/options/auth.js:46 +#: src/component/user/edit/dialog.vue:452 src/options/auth.js:47 msgid "2FA" msgstr "2FA" @@ -106,20 +106,20 @@ msgstr "'n Klik sal dit na jou knipbord kopieer." msgid "A new version of %{s} is available:" msgstr "'n Nuwe weergawe van %{s} is beskikbaar:" -#: src/component/user/edit/dialog.vue:233 -#: src/component/user/edit/dialog.vue:234 src/page/about/about.vue:56 +#: src/component/user/edit/dialog.vue:234 +#: src/component/user/edit/dialog.vue:235 src/page/about/about.vue:56 #: src/page/settings/account.vue:248 src/page/settings/account.vue:249 -#: src/app/routes.js:63 src/component/navigation.vue:1521 -#: src/page/people/recognized.vue:292 +#: src/app/routes.js:63 src/component/navigation.vue:1547 +#: src/page/people/recognized.vue:296 msgid "About" msgstr "Oor" -#: src/options/auth.js:26 src/options/auth.js:44 +#: src/options/auth.js:27 src/options/auth.js:45 msgid "Access Token" msgstr "Toegang Token" -#: src/component/navigation.vue:87 src/component/navigation.vue:1788 -#: src/component/service/upload.vue:71 src/model/service.js:96 +#: src/component/navigation.vue:87 src/component/navigation.vue:1822 +#: src/component/service/upload.vue:72 src/model/service.js:96 #: src/model/user.js:171 src/page/settings.vue:85 #: src/page/settings/general.vue:582 msgid "Account" @@ -133,7 +133,7 @@ msgstr "Rekening geskep" msgid "Account deleted" msgstr "Rekening is uitgevee" -#: src/page/admin/users.vue:335 +#: src/page/admin/users.vue:337 msgid "Account restored" msgstr "Rekening is teruggestel" @@ -154,8 +154,8 @@ msgstr "Aksie" msgid "Actions" msgstr "Aksies" -#: src/page/connect.vue:294 src/component/settings/passcode.vue:346 -#: src/page/connect.vue:303 +#: src/page/connect.vue:296 src/component/settings/passcode.vue:349 +#: src/page/connect.vue:305 msgid "Activate" msgstr "Aktiveer" @@ -171,20 +171,20 @@ msgstr "Aktiveer om stygend te sorteer." msgid "Activate to sort descending." msgstr "Aktiveer om dalend te sorteer." -#: src/page/connect.vue:231 src/page/connect.vue:240 +#: src/page/connect.vue:233 src/page/connect.vue:242 msgid "Activation Code" msgstr "Aktiverings kode" -#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:83 -#: src/component/settings/apps.vue:448 +#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:92 +#: src/component/settings/apps.vue:451 msgid "Add" msgstr "Voeg by" -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:246 msgid "Add %{s}?" msgstr "Voeg %{s} by?" -#: src/component/user/add/dialog.vue:56 src/component/service/add.vue:49 +#: src/component/user/add/dialog.vue:57 src/component/service/add.vue:50 msgid "Add Account" msgstr "Voeg rekening" @@ -201,8 +201,8 @@ msgid "Add Link" msgstr "Voeg skakel by" #: src/component/photo/edit/people.vue:25 -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:57 -#: src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:57 +#: src/page/people/new.vue:246 msgid "Add person?" msgstr "Voeg persoon by?" @@ -218,10 +218,15 @@ msgstr "Voeg fotos by die soekresultate deur dit te kies." msgid "Add to album" msgstr "Voeg aan album" -#: src/component/photo/edit/files.vue:514 +#: src/component/photo/edit/files.vue:516 msgid "Added" msgstr "Bygevoeg" +#: src/component/location/dialog.vue:68 src/component/location/dialog.vue:90 +#: src/component/photo/edit/details.vue:246 +msgid "Adjust Location" +msgstr "Pas Ligging aan" + #: src/options/admin.js:6 src/options/auth.js:6 msgid "Admin" msgstr "admin" @@ -242,7 +247,7 @@ msgstr "Na 3 dae" msgid "After 7 days" msgstr "Na 7 dae" -#: src/component/settings/passcode.vue:93 +#: src/component/settings/passcode.vue:96 msgid "After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:" msgstr "Nadat u u wagwoord ingevoer het vir bevestiging, kan u twee-faktor-verifikasie met 'n versoenbare verifikasie-toepassing of -toestel opstel:" @@ -274,12 +279,16 @@ msgstr "Album" msgid "Album Backups" msgstr "Album Rugsteun" -#: src/page/albums.vue:674 +#: src/page/albums.vue:685 msgid "Album created" msgstr "Album geskep" -#: src/app/routes.js:176 src/component/album/toolbar.vue:51 -#: src/component/navigation.vue:604 src/component/navigation.vue:1882 +#: src/page/album/photos.vue:589 +msgid "Album deleted" +msgstr "Album uitgevee" + +#: src/app/routes.js:184 src/component/album/toolbar.vue:55 +#: src/component/navigation.vue:607 src/component/navigation.vue:1922 #: src/component/photo/edit/info.vue:220 src/options/options.js:198 msgid "Albums" msgstr "Albums" @@ -292,7 +301,7 @@ msgstr "Albums uitgevee" msgid "All" msgstr "Almal" -#: src/page/albums.vue:465 +#: src/page/albums.vue:470 msgid "All %{n} albums loaded" msgstr "Alle %{n} albums gelaai" @@ -308,8 +317,8 @@ msgstr "Alle %{n} mense is gelaai" msgid "All Cameras" msgstr "Alle kameras" -#: src/component/photo/toolbar.vue:74 src/page/albums.vue:44 -#: src/page/albums.vue:240 src/page/albums.vue:746 +#: src/component/photo/toolbar.vue:74 src/page/albums.vue:45 +#: src/page/albums.vue:242 src/page/albums.vue:757 msgid "All Categories" msgstr "Alle kategorieë" @@ -341,7 +350,7 @@ msgstr "Alle Maande" msgid "All originals" msgstr "Alle oorspronklikes" -#: src/component/photo/toolbar.vue:76 src/page/albums.vue:93 +#: src/component/photo/toolbar.vue:76 src/page/albums.vue:94 msgid "All Years" msgstr "Alle Jare" @@ -353,7 +362,7 @@ msgstr "Alternatiewelik kan u lêers direk na WebDAV-bedieners soos Nextcloud op msgid "Altitude" msgstr "Hoogte" -#: src/component/photo/edit/details.vue:272 +#: src/component/photo/edit/details.vue:297 msgid "Altitude (m)" msgstr "Hoogte (m)" @@ -361,8 +370,7 @@ msgstr "Hoogte (m)" msgid "AM" msgstr "AM" -#: src/app/routes.js:257 src/component/navigation.vue:791 -#: src/component/photo/edit/files.vue:364 +#: src/app/routes.js:265 src/component/photo/edit/files.vue:364 #: src/component/photo/view/cards.vue:327 #: src/component/photo/view/cards.vue:511 src/component/photo/view/list.vue:184 #: src/component/photo/view/mosaic.vue:171 src/options/options.js:301 @@ -373,43 +381,47 @@ msgstr "Geanimeerde" msgid "Animation" msgstr "Animasie" +#: src/component/navigation.vue:797 +msgid "Animations" +msgstr "Animasies" + #: src/component/share/dialog.vue:207 msgid "Any private photos and videos remain private and won't be shared." msgstr "Enige privaat foto's en video's bly privaat en sal nie gedeel word nie." -#: src/component/service/edit.vue:372 +#: src/component/service/edit.vue:373 msgid "API Key" msgstr "API-sleutel" -#: src/page/admin/sessions.vue:357 src/options/auth.js:25 +#: src/page/admin/sessions.vue:361 src/options/auth.js:26 msgid "Application" msgstr "Toepassing" -#: src/component/photo/edit/details.vue:641 +#: src/component/photo/edit/details.vue:615 msgid "Apply" msgstr "Doen aansoek" #: src/component/photo/clipboard.vue:64 -#: src/component/photo/edit/details.vue:640 +#: src/component/photo/edit/details.vue:614 #: src/component/photo/view/cards.vue:416 msgid "Approve" msgstr "Keur goed" -#: src/page/settings/account.vue:374 src/component/settings/apps.vue:91 +#: src/page/settings/account.vue:378 src/component/settings/apps.vue:94 msgid "Apps and Devices" msgstr "Toepassings en toestelle" -#: src/app/routes.js:287 src/component/lightbox.vue:1207 -#: src/component/navigation.vue:555 src/component/photo/clipboard.vue:142 +#: src/app/routes.js:295 src/component/lightbox.vue:1207 +#: src/component/navigation.vue:557 src/component/photo/clipboard.vue:142 #: src/component/photo/view/cards.vue:398 src/page/settings/general.vue:432 msgid "Archive" msgstr "Argief" -#: src/component/lightbox.vue:1982 src/component/photo/edit/info.vue:433 +#: src/component/lightbox.vue:2002 src/component/photo/edit/info.vue:433 msgid "Archived" msgstr "Geargiveer" -#: src/component/photo/archive/dialog.vue:34 +#: src/component/photo/archive/dialog.vue:35 msgid "Are you sure you want to archive the selection?" msgstr "Is jy seker jy wil die keuse argiveer?" @@ -417,19 +429,23 @@ msgstr "Is jy seker jy wil die keuse argiveer?" msgid "Are you sure you want to delete these albums?" msgstr "Is jy seker jy wil hierdie albums uitvee?" -#: src/component/label/delete/dialog.vue:34 +#: src/component/label/delete/dialog.vue:35 msgid "Are you sure you want to delete these labels?" msgstr "Is jy seker jy wil hierdie etikette uitvee?" -#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:36 +#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:37 msgid "Are you sure you want to delete this account?" msgstr "Is jy seker jy wil hierdie rekening uitvee?" +#: src/component/album/toolbar.vue:136 +msgid "Are you sure you want to delete this album?" +msgstr "Is jy seker jy wil hierdie album verwyder?" + #: src/component/photo/clipboard.vue:199 msgid "Are you sure you want to permanently delete these pictures?" msgstr "Is jy seker jy wil hierdie fotos permanent uitvee?" -#: src/component/file/delete/dialog.vue:34 +#: src/component/file/delete/dialog.vue:35 msgid "Are you sure you want to permanently delete this file?" msgstr "Is jy seker jy wil hierdie lêer permanent uitvee?" @@ -438,7 +454,7 @@ msgstr "Is jy seker jy wil hierdie lêer permanent uitvee?" msgid "Are you sure?" msgstr "Is jy seker?" -#: src/component/photo/edit/details.vue:537 +#: src/component/photo/edit/details.vue:511 msgid "Artist" msgstr "Kunstenaar" @@ -446,14 +462,14 @@ msgstr "Kunstenaar" msgid "Aspect Ratio" msgstr "Aspekverhouding" -#: src/app/routes.js:250 src/component/navigation.vue:770 +#: src/app/routes.js:258 src/component/navigation.vue:776 #: src/options/options.js:297 msgid "Audio" msgstr "Oudio" -#: src/component/user/add/dialog.vue:190 src/component/user/edit/dialog.vue:309 -#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:281 -#: src/page/admin/users.vue:75 +#: src/component/user/add/dialog.vue:191 src/component/user/edit/dialog.vue:310 +#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:282 +#: src/page/admin/users.vue:77 msgid "Authentication" msgstr "Stawing" @@ -461,11 +477,11 @@ msgstr "Stawing" msgid "Auto" msgstr "Outo" -#: src/component/settings/apps.vue:151 +#: src/component/settings/apps.vue:154 msgid "Back" msgstr "Terug" -#: src/component/scroll.vue:20 +#: src/component/scroll.vue:18 msgid "Back to top" msgstr "Terug na bo" @@ -477,26 +493,26 @@ msgstr "Ondersteuning" msgid "Badge" msgstr "Kenteken" -#: src/component/user/edit/dialog.vue:361 #: src/component/user/edit/dialog.vue:362 +#: src/component/user/edit/dialog.vue:363 msgid "Base Path" msgstr "Basispad" -#: src/page/about/about.vue:95 src/page/connect.vue:220 +#: src/page/about/about.vue:96 src/page/connect.vue:222 msgid "Become a member today, support our mission and enjoy our member benefits!" msgstr "Word vandag 'n lid, ondersteun ons missie en geniet ons ledevoordele!" -#: src/component/confirm/sponsor.vue:51 src/page/about/about.vue:99 +#: src/component/confirm/sponsor.vue:52 src/page/about/about.vue:100 msgid "Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services." msgstr "Omdat ons 100% selfbefonds en onafhanklik is, kan ons jou belowe dat ons nooit jou data sal verkoop nie en dat ons altyd deursigtig sal wees oor ons sagteware en dienste." -#: src/component/user/edit/dialog.vue:258 -#: src/component/user/edit/dialog.vue:259 src/page/settings/account.vue:227 +#: src/component/user/edit/dialog.vue:259 +#: src/component/user/edit/dialog.vue:260 src/page/settings/account.vue:227 #: src/page/settings/account.vue:228 msgid "Bio" msgstr "Bio" -#: src/page/settings/account.vue:431 +#: src/page/settings/account.vue:437 msgid "Birth Date" msgstr "Geboortedatum" @@ -517,7 +533,7 @@ msgid "Brown" msgstr "Bruin" #: src/component/photo/edit/files.vue:263 src/component/photo/toolbar.vue:141 -#: src/component/upload/dialog.vue:240 +#: src/component/upload/dialog.vue:242 msgid "Browse" msgstr "Snuffel" @@ -545,16 +561,16 @@ msgstr "Fout verslag" msgid "Busy, please wait…" msgstr "Besig, wag asseblief…" -#: src/page/connect.vue:317 +#: src/page/connect.vue:319 msgid "By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct." msgstr "Deur die sagteware en dienste wat ons verskaf te gebruik, stem jy in tot ons diensbepalings, privaatheidsbeleid en gedragskode." -#: src/app/routes.js:189 src/component/navigation.vue:1081 +#: src/app/routes.js:197 src/component/navigation.vue:1097 #: src/options/options.js:204 src/page/settings/general.vue:205 msgid "Calendar" msgstr "Kalender" -#: src/component/photo/edit/details.vue:346 src/component/photo/toolbar.vue:232 +#: src/component/photo/edit/details.vue:320 src/component/photo/toolbar.vue:234 #: src/component/photo/view/cards.vue:467 src/component/photo/view/list.vue:116 msgid "Camera" msgstr "Kamera" @@ -567,12 +583,12 @@ msgstr "Kamerareeks" msgid "Can't access your authenticator app or device?" msgstr "Kan jy nie toegang tot jou verifikasieprogram of toestel kry nie?" -#: src/page/album/photos.vue:317 src/page/photos.vue:450 +#: src/page/album/photos.vue:322 src/page/photos.vue:455 msgid "Can't load more, limit reached" msgstr "Kan nie meer laai nie, limiet bereik" #: src/common/clipboard.js:102 src/common/clipboard.js:139 -#: src/page/albums.vue:684 src/page/albums.vue:700 src/page/labels.vue:293 +#: src/page/albums.vue:695 src/page/albums.vue:711 src/page/labels.vue:293 #: src/page/labels.vue:313 src/page/library/browse.vue:233 #: src/page/library/browse.vue:249 src/page/people/new.vue:278 #: src/page/people/new.vue:294 src/page/people/recognized.vue:305 @@ -581,26 +597,31 @@ msgid "Can't select more items" msgstr "Kan nie meer items kies nie" #: src/component/session/remove/dialog.vue:45 -#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:473 -#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:119 +#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:474 +#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:120 #: src/component/album/delete/dialog.vue:43 -#: src/component/album/edit/dialog.vue:199 src/component/confirm/dialog.vue:43 -#: src/component/file/delete/dialog.vue:47 -#: src/component/label/delete/dialog.vue:47 -#: src/component/label/edit/dialog.vue:107 -#: src/component/people/edit/dialog.vue:120 +#: src/component/album/edit/dialog.vue:200 src/component/confirm/dialog.vue:43 +#: src/component/file/delete/dialog.vue:48 +#: src/component/label/delete/dialog.vue:48 +#: src/component/label/edit/dialog.vue:108 +#: src/component/location/dialog.vue:200 +#: src/component/people/edit/dialog.vue:121 #: src/component/photo/album/dialog.vue:78 src/component/service/add.vue:19 -#: src/component/service/edit.vue:455 src/component/service/remove.vue:49 -#: src/component/service/upload.vue:117 src/component/settings/apps.vue:352 -#: src/component/settings/passcode.vue:249 -#: src/component/settings/passcode.vue:333 -#: src/component/settings/password.vue:159 src/component/share/dialog.vue:28 -#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:123 +#: src/component/service/edit.vue:456 src/component/service/remove.vue:50 +#: src/component/service/upload.vue:118 src/component/settings/apps.vue:355 +#: src/component/settings/passcode.vue:252 +#: src/component/settings/passcode.vue:336 +#: src/component/settings/password.vue:160 src/component/share/dialog.vue:28 +#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:124 #: src/page/library/import.vue:119 src/page/library/index.vue:128 msgid "Cancel" msgstr "Kanselleer" -#: src/component/photo/edit/details.vue:87 src/component/photo/edit/info.vue:61 +#: src/common/util.js:863 src/common/util.js:870 +msgid "Cannot copy to clipboard" +msgstr "Kan nie na knipbord kopieer nie" + +#: src/component/photo/edit/details.vue:89 src/component/photo/edit/info.vue:63 #: src/component/photo/edit/labels.vue:42 #: src/component/photo/view/cards.vue:445 src/component/sidebar/info.vue:72 msgid "Caption" @@ -614,17 +635,17 @@ msgstr "Kaarte" msgid "Carousel slide {0} of {1}" msgstr "Karrouselskyfie {0} van {1}" -#: src/page/about/feedback.vue:82 src/page/about/feedback.vue:83 -#: src/component/album/edit/dialog.vue:128 src/component/photo/toolbar.vue:397 +#: src/page/about/feedback.vue:83 src/page/about/feedback.vue:84 +#: src/component/album/edit/dialog.vue:129 src/component/photo/toolbar.vue:399 #: src/page/albums.vue:187 msgid "Category" msgstr "Kategorie" -#: src/component/user/edit/dialog.vue:191 src/page/settings/account.vue:201 +#: src/component/user/edit/dialog.vue:192 src/page/settings/account.vue:201 msgid "Change Avatar" msgstr "Verander Avatar" -#: src/page/settings/account.vue:297 src/component/settings/password.vue:48 +#: src/page/settings/account.vue:297 src/component/settings/password.vue:49 msgid "Change Password" msgstr "Verander wagwoord" @@ -641,17 +662,17 @@ msgid "Change private flag" msgstr "Verander privaat vlag" #: src/component/user/add/dialog.vue:108 src/component/user/add/dialog.vue:113 -#: src/component/user/edit/dialog.vue:90 src/component/user/edit/dialog.vue:95 +#: src/component/user/edit/dialog.vue:91 src/component/user/edit/dialog.vue:96 #: src/page/settings/account.vue:121 src/page/settings/account.vue:126 msgid "Changes could not be saved" msgstr "Veranderinge kon nie gestoor word nie" -#: src/component/user/edit/dialog.vue:83 src/component/user/edit/dialog.vue:159 +#: src/component/user/edit/dialog.vue:84 src/component/user/edit/dialog.vue:160 #: src/component/album/edit/dialog.vue:73 -#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1941 +#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1961 #: src/component/photo/edit/files.vue:162 src/component/service/edit.vue:90 #: src/component/share/dialog.vue:92 src/component/share/dialog.vue:111 -#: src/page/albums.vue:677 src/page/people/recognized.vue:119 +#: src/page/albums.vue:688 src/page/people/recognized.vue:119 #: src/page/settings/advanced.vue:62 src/page/settings/content.vue:62 #: src/page/settings/general.vue:108 msgid "Changes successfully saved" @@ -665,7 +686,7 @@ msgstr "Veranderinge aan die gevorderde instellings vereis 'n herbegin om in wer msgid "Checked" msgstr "Gekontroleer" -#: src/component/photo/edit/files.vue:495 +#: src/component/photo/edit/files.vue:497 msgid "Chroma" msgstr "Chroma" @@ -681,24 +702,24 @@ msgstr "Maak skoon" msgid "Clear {0}" msgstr "Vee {0} uit" -#: src/options/auth.js:11 src/options/auth.js:23 src/options/auth.js:43 +#: src/options/auth.js:12 src/options/auth.js:24 src/options/auth.js:44 msgid "Client" msgstr "Kliënt" -#: src/options/auth.js:24 +#: src/options/auth.js:25 msgid "Client Credentials" msgstr "Kliënt geloofsbriewe" -#: src/page/admin/sessions.vue:529 src/component/lightbox.vue:284 -#: src/component/lightbox.vue:1009 src/component/lightbox.vue:1010 -#: src/component/photo/edit/details.vue:627 src/component/photo/toolbar.vue:160 -#: src/component/settings/apps.vue:224 src/component/settings/apps.vue:437 -#: src/component/settings/passcode.vue:148 -#: src/component/settings/passcode.vue:456 -#: src/component/settings/passcode.vue:497 -#: src/component/settings/webdav.vue:131 src/component/share/dialog.vue:231 +#: src/component/user/edit/dialog.vue:474 src/page/admin/sessions.vue:536 +#: src/component/lightbox.vue:284 src/component/lightbox.vue:1009 +#: src/component/lightbox.vue:1010 src/component/photo/edit/details.vue:601 +#: src/component/photo/toolbar.vue:161 src/component/settings/apps.vue:227 +#: src/component/settings/apps.vue:440 src/component/settings/passcode.vue:151 +#: src/component/settings/passcode.vue:459 +#: src/component/settings/passcode.vue:500 +#: src/component/settings/webdav.vue:132 src/component/share/dialog.vue:231 #: src/component/sidebar/info.vue:26 src/component/update.vue:57 -#: src/component/upload/dialog.vue:228 src/locales.js:206 +#: src/component/upload/dialog.vue:230 src/locales.js:206 #: src/page/library/errors.vue:253 msgid "Close" msgstr "Naby" @@ -707,11 +728,11 @@ msgstr "Naby" msgid "Codec" msgstr "Kodek" -#: src/component/photo/toolbar.vue:369 +#: src/component/photo/toolbar.vue:371 msgid "Color" msgstr "Kleur" -#: src/component/photo/edit/files.vue:483 +#: src/component/photo/edit/files.vue:485 msgid "Color Profile" msgstr "Kleur profiel" @@ -719,7 +740,7 @@ msgstr "Kleur profiel" msgid "Colors" msgstr "Kleure" -#: src/page/connect.vue:260 src/page/connect.vue:269 +#: src/page/connect.vue:262 src/page/connect.vue:271 msgid "Compare Editions" msgstr "Vergelyk uitgawes" @@ -732,17 +753,18 @@ msgstr "Voltooi herskandering" msgid "Confidence" msgstr "Vertroue" +#: src/component/location/dialog.vue:212 #: src/component/photo/album/dialog.vue:90 -#: src/component/settings/passcode.vue:261 +#: src/component/settings/passcode.vue:264 msgid "Confirm" msgstr "Bevestig" -#: src/component/service/add.vue:20 src/page/settings/services.vue:187 +#: src/component/service/add.vue:20 src/page/settings/services.vue:191 msgid "Connect" msgstr "Koppel" -#: src/page/settings/account.vue:401 src/component/settings/webdav.vue:45 -#: src/page/settings/services.vue:167 +#: src/page/settings/account.vue:406 src/component/settings/webdav.vue:46 +#: src/page/settings/services.vue:170 msgid "Connect via WebDAV" msgstr "Koppel via WebDAV" @@ -750,22 +772,22 @@ msgstr "Koppel via WebDAV" msgid "Connected" msgstr "Gekoppel" -#: src/page/settings/account.vue:640 src/page/settings/account.vue:532 +#: src/page/settings/account.vue:646 src/page/settings/account.vue:538 msgid "Contact Details" msgstr "Kontakbesonderhede" -#: src/page/about/feedback.vue:37 src/page/connect.vue:132 -#: src/page/connect.vue:136 +#: src/page/about/feedback.vue:37 src/page/connect.vue:133 +#: src/page/connect.vue:137 msgid "Contact Us" msgstr "Kontak Ons" #: src/page/albums.vue:433 src/page/labels.vue:237 -#: src/page/people/recognized.vue:306 +#: src/page/people/recognized.vue:310 msgid "Contains %{n} pictures." msgstr "Bevat %{n} fotos." #: src/page/albums.vue:427 src/page/labels.vue:231 -#: src/page/people/recognized.vue:300 +#: src/page/people/recognized.vue:304 msgid "Contains one picture." msgstr "Bevat een foto." @@ -773,7 +795,7 @@ msgstr "Bevat een foto." msgid "Content" msgstr "Inhoud" -#: src/component/settings/apps.vue:163 +#: src/component/settings/apps.vue:166 msgid "Continue" msgstr "Aanhou" @@ -781,7 +803,7 @@ msgstr "Aanhou" msgid "Continue with %{provider}" msgstr "Gaan voort met %{provider}" -#: src/options/admin.js:18 src/options/auth.js:9 +#: src/options/admin.js:22 src/options/auth.js:10 msgid "Contributor" msgstr "Bydraer" @@ -789,15 +811,15 @@ msgstr "Bydraer" msgid "Converting" msgstr "Omskakeling" -#: src/common/util.js:846 +#: src/common/util.js:856 msgid "Copied to clipboard" msgstr "Gekopieer na knipbord" -#: src/component/settings/apps.vue:250 src/component/settings/passcode.vue:358 +#: src/component/settings/apps.vue:253 src/component/settings/passcode.vue:361 msgid "Copy" msgstr "Kopieer" -#: src/component/photo/edit/details.vue:516 +#: src/component/photo/edit/details.vue:490 msgid "Copyright" msgstr "Kopiereg" @@ -805,8 +827,8 @@ msgstr "Kopiereg" msgid "Couldn't find anything." msgstr "Kon niks kry nie." -#: src/page/settings/account.vue:685 src/component/photo/edit/details.vue:242 -#: src/component/photo/toolbar.vue:203 src/page/settings/account.vue:577 +#: src/page/settings/account.vue:691 src/component/photo/edit/details.vue:268 +#: src/component/photo/toolbar.vue:205 src/page/settings/account.vue:583 msgid "Country" msgstr "Land" @@ -830,7 +852,7 @@ msgstr "Skep YAML-lêers om albummetadata te rugsteun." msgid "Create YAML sidecar files to back up picture metadata." msgstr "Skep YAML-syspanlêers om prentmetadata te rugsteun." -#: src/page/admin/sessions.vue:417 src/component/photo/edit/info.vue:412 +#: src/page/admin/sessions.vue:422 src/component/photo/edit/info.vue:412 msgid "Created" msgstr "Geskep" @@ -842,11 +864,11 @@ msgstr "Skep duimnaels vir" msgid "Cubic: Moderate Quality, Good Performance" msgstr "Kubus: Matige kwaliteit, goeie prestasie" -#: src/component/settings/password.vue:85 +#: src/component/settings/password.vue:86 msgid "Current Password" msgstr "huidige Sleutelwoord" -#: src/options/themes.js:919 src/options/themes.js:928 +#: src/options/themes.js:920 src/options/themes.js:929 msgid "Custom" msgstr "Pasgemaak" @@ -862,11 +884,11 @@ msgstr "Daagliks" msgid "Database Backups" msgstr "Rugsteun van databasis" -#: src/page/settings/account.vue:450 src/component/photo/edit/details.vue:110 +#: src/page/settings/account.vue:456 src/component/photo/edit/details.vue:112 msgid "Day" msgstr "Dag" -#: src/component/settings/passcode.vue:445 +#: src/component/settings/passcode.vue:448 msgid "Deactivate" msgstr "Deaktiveer" @@ -874,36 +896,40 @@ msgstr "Deaktiveer" msgid "Debug Logs" msgstr "Ontfout logs" -#: src/options/admin.js:31 src/page/admin/sessions.vue:136 -#: src/page/admin/users.vue:176 src/component/photo/edit/info.vue:47 +#: src/options/admin.js:35 src/page/admin/sessions.vue:136 +#: src/page/admin/users.vue:178 src/component/photo/edit/info.vue:47 #: src/component/photo/edit/info.vue:110 src/model/session.js:66 -#: src/model/user.js:246 src/options/auth.js:20 src/options/auth.js:21 -#: src/options/auth.js:39 src/options/auth.js:40 src/options/options.js:196 +#: src/model/user.js:246 src/options/auth.js:21 src/options/auth.js:22 +#: src/options/auth.js:40 src/options/auth.js:41 src/options/options.js:196 #: src/options/options.js:232 src/options/options.js:316 -#: src/options/themes.js:773 +#: src/options/themes.js:774 msgid "Default" msgstr "Verstek" -#: src/component/service/edit.vue:123 +#: src/component/service/edit.vue:124 msgid "Default Folder" msgstr "Verstek gids" #: src/component/session/remove/dialog.vue:56 #: src/component/user/remove/dialog.vue:56 src/component/album/clipboard.vue:97 -#: src/component/album/delete/dialog.vue:54 -#: src/component/file/delete/dialog.vue:58 src/component/label/clipboard.vue:58 -#: src/component/label/delete/dialog.vue:58 +#: src/component/album/delete/dialog.vue:54 src/component/album/toolbar.vue:137 +#: src/component/file/delete/dialog.vue:59 src/component/label/clipboard.vue:58 +#: src/component/label/delete/dialog.vue:59 #: src/component/photo/clipboard.vue:168 src/component/photo/edit/files.vue:238 -#: src/component/service/remove.vue:60 src/component/share/dialog.vue:170 +#: src/component/service/remove.vue:61 src/component/share/dialog.vue:170 #: src/page/settings/general.vue:457 msgid "Delete" msgstr "Vee uit" +#: src/component/album/toolbar.vue:133 +msgid "Delete Album" +msgstr "Vee Album Uit" + #: src/component/photo/toolbar.vue:119 src/page/library/errors.vue:95 msgid "Delete All" msgstr "Vee alles uit" -#: src/component/photo/toolbar.vue:433 src/page/library/errors.vue:193 +#: src/component/photo/toolbar.vue:435 src/page/library/errors.vue:193 msgid "Delete all?" msgstr "Vee alles uit?" @@ -911,16 +937,16 @@ msgstr "Vee alles uit?" msgid "Delete orphaned index entries, sidecar files and thumbnails." msgstr "Vee wees indeksinskrywings, syspanlêers en duimnaels uit." -#: src/component/album/edit/dialog.vue:107 src/page/albums.vue:411 +#: src/component/album/edit/dialog.vue:108 src/page/albums.vue:411 msgid "Description" msgstr "Beskrywing" -#: src/component/settings/webdav.vue:115 +#: src/component/settings/webdav.vue:116 msgid "Detailed instructions can be found in our User Guide." msgstr "Gedetailleerde instruksies kan gevind word in ons gebruikersgids." -#: src/component/photo/edit/dialog.vue:156 -#: src/component/photo/edit/dialog.vue:173 +#: src/component/photo/edit/dialog.vue:162 +#: src/component/photo/edit/dialog.vue:181 msgid "Details" msgstr "Besonderhede" @@ -984,8 +1010,8 @@ msgstr "Deaktiveer vektorgrafika-ondersteuning." msgid "Disables video transcoding and thumbnail extraction." msgstr "Deaktiveer video-transkodering en duimnael-onttrekking." -#: src/app/routes.js:558 src/app/routes.js:565 src/app/routes.js:572 -#: src/app/routes.js:579 +#: src/app/routes.js:566 src/app/routes.js:573 src/app/routes.js:580 +#: src/app/routes.js:587 msgid "Discover" msgstr "Ontdek" @@ -993,9 +1019,9 @@ msgstr "Ontdek" msgid "Dismiss" msgstr "Verwerp" -#: src/component/user/add/dialog.vue:133 src/component/user/add/dialog.vue:134 -#: src/component/user/edit/dialog.vue:163 -#: src/component/user/edit/dialog.vue:164 src/page/admin/users.vue:72 +#: src/component/user/add/dialog.vue:134 src/component/user/add/dialog.vue:135 +#: src/component/user/edit/dialog.vue:164 +#: src/component/user/edit/dialog.vue:165 src/page/admin/users.vue:74 #: src/page/settings/account.vue:149 src/page/settings/account.vue:151 msgid "Display Name" msgstr "Vertoon Naam" @@ -1010,12 +1036,12 @@ msgstr "Wys prenttitels in soekresultate." #: src/component/photo/view/cards.vue:339 #: src/component/photo/view/cards.vue:521 -#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:174 +#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:176 #: src/options/options.js:309 msgid "Document" msgstr "Dokument" -#: src/component/navigation.vue:480 +#: src/component/navigation.vue:482 msgid "Documents" msgstr "Dokumente" @@ -1031,16 +1057,16 @@ msgstr "Moenie ImageMagick gebruik om beelde om te skakel nie." msgid "Don't use RawTherapee to convert RAW images." msgstr "Moenie RawTherapee gebruik om RAW-beelde om te skakel nie." -#: src/component/settings/apps.vue:238 src/component/share/dialog.vue:29 +#: src/component/settings/apps.vue:241 src/component/share/dialog.vue:29 msgid "Done" msgstr "Klaar" -#: src/component/upload/dialog.vue:135 src/page/library/import.vue:46 +#: src/component/upload/dialog.vue:137 src/page/library/import.vue:46 #: src/page/library/index.vue:52 msgid "Done." msgstr "Klaar." -#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:118 +#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:123 #: src/component/file/clipboard.vue:48 src/component/lightbox.vue:1235 #: src/component/people/clipboard.vue:47 src/component/photo/clipboard.vue:116 #: src/component/photo/edit/files.vue:168 src/page/settings/content.vue:331 @@ -1052,7 +1078,7 @@ msgstr "Aflaai" msgid "Download only original media files, without any automatically generated files." msgstr "Laai slegs oorspronklike medialêers af, sonder enige outomaties gegenereerde lêers." -#: src/component/service/edit.vue:237 +#: src/component/service/edit.vue:238 msgid "Download remote files" msgstr "Laai afgeleë lêers af" @@ -1060,9 +1086,9 @@ msgstr "Laai afgeleë lêers af" msgid "Download single files and zip archives." msgstr "Laai enkele lêers en zip-argiewe af." -#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:157 +#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:172 #: src/component/file/clipboard.vue:61 src/component/label/clipboard.vue:86 -#: src/component/lightbox.vue:2021 src/component/people/clipboard.vue:59 +#: src/component/lightbox.vue:2041 src/component/people/clipboard.vue:59 #: src/component/photo/clipboard.vue:220 src/component/photo/edit/files.vue:119 #: src/component/photo/view/cards.vue:169 src/component/photo/view/list.vue:142 #: src/page/library/browse.vue:139 @@ -1077,7 +1103,7 @@ msgstr "Afskaal filter" msgid "Drag and drop files here" msgstr "Sleep en los lêers hier" -#: src/page/about/feedback.vue:61 +#: src/page/about/feedback.vue:62 msgid "Due to the high volume of emails we receive, our team may be unable to get back to you immediately." msgstr "Weens die groot aantal e-posse wat ons ontvang, kan ons span dalk nie dadelik na jou toe terugkom nie." @@ -1097,23 +1123,23 @@ msgstr "Dinamiese voorskoue" msgid "Dynamic Size Limit: %{n}px" msgstr "Dinamiese groottelimiet: %{n}px" -#: src/page/about/feedback.vue:141 src/page/about/feedback.vue:140 +#: src/page/about/feedback.vue:142 src/page/about/feedback.vue:141 msgid "E-Mail" msgstr "E-pos" -#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:89 +#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:94 #: src/component/lightbox.vue:1136 src/component/lightbox.vue:1137 #: src/component/photo/clipboard.vue:90 src/page/settings/general.vue:407 msgid "Edit" msgstr "Wysig" -#: src/component/album/edit/dialog.vue:54 -#: src/component/label/edit/dialog.vue:52 -#: src/component/people/edit/dialog.vue:52 +#: src/component/album/edit/dialog.vue:55 +#: src/component/label/edit/dialog.vue:53 +#: src/component/people/edit/dialog.vue:53 msgid "Edit %{s}" msgstr "Wysig %{s}" -#: src/component/user/edit/dialog.vue:61 src/component/service/edit.vue:79 +#: src/component/user/edit/dialog.vue:62 src/component/service/edit.vue:79 msgid "Edit Account" msgstr "Redigeer rekening" @@ -1125,8 +1151,8 @@ msgstr "Redigeer foto" msgid "Edited" msgstr "Geredigeer" -#: src/component/user/add/dialog.vue:151 src/component/user/edit/dialog.vue:213 -#: src/page/settings/account.vue:171 src/page/settings/account.vue:593 +#: src/component/user/add/dialog.vue:152 src/component/user/edit/dialog.vue:214 +#: src/page/settings/account.vue:171 src/page/settings/account.vue:599 msgid "Email" msgstr "E-pos" @@ -1142,7 +1168,7 @@ msgstr "Aktiveer nuwe kenmerke wat onvolledig of onstabiel kan wees." msgid "Enables RAW converter presets. May reduce performance." msgstr "Aktiveer RAW-omskakelaarvoorinstellings. Kan prestasie verminder." -#: src/component/settings/passcode.vue:127 +#: src/component/settings/passcode.vue:130 msgid "Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account." msgstr "Om tweefaktor-verifikasie te aktiveer beteken dat jy 'n lukraak gegenereerde verifikasiekode sal benodig om aan te meld, so selfs al kry iemand toegang tot jou wagwoord, sal hulle nie toegang tot jou rekening kan kry nie." @@ -1154,7 +1180,7 @@ msgstr "Voer datum in" msgid "Enter dates" msgstr "Voer datums in" -#: src/component/settings/passcode.vue:213 src/page/auth/login.vue:104 +#: src/component/settings/passcode.vue:216 src/page/auth/login.vue:104 msgid "Enter the code generated by your authenticator app:" msgstr "Voer die kode in wat deur jou authenticator-toepassing gegenereer word:" @@ -1162,7 +1188,7 @@ msgstr "Voer die kode in wat deur jou authenticator-toepassing gegenereer word:" msgid "Enter verification code" msgstr "Tik verifikasiekode" -#: src/component/settings/apps.vue:109 +#: src/component/settings/apps.vue:112 msgid "Enter your password to confirm the action and continue:" msgstr "Voer jou wagwoord in om die handeling te bevestig en gaan voort:" @@ -1171,7 +1197,7 @@ msgstr "Voer jou wagwoord in om die handeling te bevestig en gaan voort:" msgid "Error" msgstr "Fout" -#: src/app/routes.js:374 src/component/navigation.vue:1348 +#: src/app/routes.js:382 src/component/navigation.vue:1372 msgid "Errors" msgstr "Foute" @@ -1207,13 +1233,13 @@ msgstr "Metadata-onttrekking met ExifTool word vereis vir volledige video-, regs msgid "Experimental Features" msgstr "Eksperimentele kenmerke" -#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:453 -#: src/component/service/edit.vue:157 src/component/settings/apps.vue:73 -#: src/component/settings/apps.vue:326 src/component/share/dialog.vue:62 +#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:458 +#: src/component/service/edit.vue:158 src/component/settings/apps.vue:73 +#: src/component/settings/apps.vue:329 src/component/share/dialog.vue:62 msgid "Expires" msgstr "Verval" -#: src/component/photo/edit/details.vue:396 +#: src/component/photo/edit/details.vue:370 msgid "Exposure" msgstr "Blootstelling" @@ -1221,7 +1247,7 @@ msgstr "Blootstelling" msgid "Extract still images and generate thumbnails while indexing." msgstr "Onttrek stilbeelde en genereer duimnaels tydens indeksering." -#: src/component/photo/edit/details.vue:444 +#: src/component/photo/edit/details.vue:418 msgid "F Number" msgstr "F nommer" @@ -1237,7 +1263,7 @@ msgstr "Gesigte" msgid "Failed removing link" msgstr "Kon nie skakel verwyder nie" -#: src/page/connect.vue:106 src/page/connect.vue:110 +#: src/page/connect.vue:107 src/page/connect.vue:111 msgid "Failed to connect account." msgstr "Kon nie rekening koppel nie." @@ -1245,8 +1271,8 @@ msgstr "Kon nie rekening koppel nie." msgid "Failed updating link" msgstr "Kon nie skakel opdateer nie" -#: src/component/user/edit/dialog.vue:143 -#: src/component/user/edit/dialog.vue:144 src/page/settings/account.vue:128 +#: src/component/user/edit/dialog.vue:144 +#: src/component/user/edit/dialog.vue:145 src/page/settings/account.vue:128 #: src/page/settings/account.vue:130 msgid "Family Name" msgstr "Van" @@ -1255,15 +1281,15 @@ msgstr "Van" msgid "Fast" msgstr "Vinnig" -#: src/component/album/edit/dialog.vue:159 -#: src/component/label/edit/dialog.vue:85 -#: src/component/people/edit/dialog.vue:85 +#: src/component/album/edit/dialog.vue:160 +#: src/component/label/edit/dialog.vue:86 +#: src/component/people/edit/dialog.vue:86 #: src/component/photo/edit/info.vue:287 msgid "Favorite" msgstr "Gunsteling" -#: src/app/routes.js:222 src/component/navigation.vue:893 -#: src/options/options.js:202 src/page/albums.vue:97 +#: src/app/routes.js:230 src/component/navigation.vue:903 +#: src/options/options.js:202 src/page/albums.vue:98 msgid "Favorites" msgstr "Gunstelinge" @@ -1271,7 +1297,7 @@ msgstr "Gunstelinge" msgid "Feature Request" msgstr "Kenmerkversoek" -#: src/component/navigation.vue:1456 +#: src/component/navigation.vue:1482 msgid "Feedback" msgstr "Terugvoer" @@ -1279,11 +1305,12 @@ msgstr "Terugvoer" msgid "Female" msgstr "Vroulik" -#: src/component/photo/edit/info.vue:214 src/model/file.js:290 +#: src/component/photo/edit/info.vue:57 src/component/photo/edit/info.vue:214 +#: src/model/file.js:290 msgid "File" msgstr "lêer" -#: src/app/routes.js:343 +#: src/app/routes.js:351 msgid "File Browser" msgstr "Lêerblaaier" @@ -1306,8 +1333,8 @@ msgstr "Lêergrootte" msgid "Filename" msgstr "Lêernaam" -#: src/component/navigation.vue:1930 src/component/photo/edit/dialog.vue:267 -#: src/component/photo/edit/dialog.vue:284 +#: src/component/navigation.vue:1973 src/component/photo/edit/dialog.vue:279 +#: src/component/photo/edit/dialog.vue:298 msgid "Files" msgstr "Lêers" @@ -1319,26 +1346,26 @@ msgstr "Lêers met opeenvolgende name soos 'IMG_1234 (2)' en 'IMG_1234 (3)' beho msgid "First page" msgstr "Eerste bladsy" -#: src/component/photo/edit/details.vue:465 +#: src/component/photo/edit/details.vue:439 msgid "Focal Length" msgstr "Brandpuntsafstand" -#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:118 -#: src/component/service/edit.vue:189 src/component/service/edit.vue:194 -#: src/component/service/upload.vue:90 src/component/service/upload.vue:96 +#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:119 +#: src/component/service/edit.vue:190 src/component/service/edit.vue:195 +#: src/component/service/upload.vue:91 src/component/service/upload.vue:97 #: src/model/folder.js:199 src/page/library/browse.vue:182 msgid "Folder" msgstr "Folder" -#: src/page/library/browse.vue:365 +#: src/page/library/browse.vue:367 msgid "Folder contains %{n} files" msgstr "Gids bevat %{n} lêers" -#: src/page/library/browse.vue:356 +#: src/page/library/browse.vue:358 msgid "Folder is empty" msgstr "Voer is leeg" -#: src/app/routes.js:202 src/component/navigation.vue:1225 +#: src/app/routes.js:210 src/component/navigation.vue:1247 #: src/options/options.js:207 msgid "Folders" msgstr "Dopsies" @@ -1355,7 +1382,7 @@ msgstr "FPS" msgid "Frames" msgstr "Rame" -#: src/options/auth.js:54 src/options/auth.js:64 +#: src/options/auth.js:55 src/options/auth.js:65 msgid "Full Access" msgstr "Volle toegang" @@ -1367,7 +1394,7 @@ msgstr "Volskerm" msgid "General" msgstr "Algemeen" -#: src/component/settings/apps.vue:364 +#: src/component/settings/apps.vue:367 msgid "Generate" msgstr "Genereer" @@ -1387,8 +1414,8 @@ msgstr "Gegenereer" msgid "Get Started" msgstr "Begin" -#: src/component/user/edit/dialog.vue:120 -#: src/component/user/edit/dialog.vue:121 src/page/settings/account.vue:106 +#: src/component/user/edit/dialog.vue:121 +#: src/component/user/edit/dialog.vue:122 src/page/settings/account.vue:106 #: src/page/settings/account.vue:108 msgid "Given Name" msgstr "Noemnaam" @@ -1413,7 +1440,7 @@ msgstr "Groen" msgid "Grey" msgstr "Grys" -#: src/options/admin.js:22 src/options/auth.js:10 +#: src/options/admin.js:26 src/options/auth.js:11 msgid "Guest" msgstr "Gas" @@ -1429,15 +1456,15 @@ msgstr "Help" msgid "Help & Support" msgstr "Hulp en ondersteuning" -#: src/component/navigation.vue:1327 src/component/people/edit/dialog.vue:98 +#: src/component/navigation.vue:1351 src/component/people/edit/dialog.vue:99 msgid "Hidden" msgstr "Versteek" -#: src/app/routes.js:358 +#: src/app/routes.js:366 msgid "Hidden Files" msgstr "Versteekte lêers" -#: src/page/people/new.vue:165 src/page/people/recognized.vue:205 +#: src/page/people/new.vue:166 src/page/people/recognized.vue:206 msgid "Hide" msgstr "Versteek" @@ -1453,7 +1480,7 @@ msgstr "Hoog" msgid "High Dynamic Range (HDR)" msgstr "Hoë Dinamiese Omvang (HDR)" -#: src/page/about/feedback.vue:103 +#: src/page/about/feedback.vue:104 msgid "How can we help?" msgstr "Hoe kan ons help?" @@ -1461,11 +1488,11 @@ msgstr "Hoe kan ons help?" msgid "Hybrid" msgstr "Hibried" -#: src/component/settings/passcode.vue:389 +#: src/component/settings/passcode.vue:392 msgid "If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account." msgstr "As jy toegang tot jou staafprogram of toestel verloor, kan jy jou terugstellingkode gebruik om weer toegang tot jou rekening te kry." -#: src/component/photo/edit/info.vue:63 src/component/photo/edit/labels.vue:46 +#: src/component/photo/edit/info.vue:65 src/component/photo/edit/labels.vue:46 #: src/component/photo/view/cards.vue:532 src/model/file.js:218 #: src/options/options.js:281 msgid "Image" @@ -1475,7 +1502,7 @@ msgstr "Beeld" msgid "Image Quality" msgstr "Beeld kwaliteit" -#: src/page/library.vue:46 src/page/library/import.vue:152 +#: src/page/library.vue:46 src/page/library/import.vue:153 #: src/page/settings/general.vue:357 msgid "Import" msgstr "Invoer" @@ -1500,8 +1527,8 @@ msgstr "Voer tans %{s} in …" msgid "Importing files to originals…" msgstr "Voer tans lêers na oorspronklikes in …" -#: src/component/photo/edit/files.vue:515 -#: src/component/photo/edit/files.vue:520 +#: src/component/photo/edit/files.vue:517 +#: src/component/photo/edit/files.vue:522 msgid "in" msgstr "in" @@ -1519,11 +1546,11 @@ msgstr "Sluit RAW-beeldlêers in wanneer stapels en argiewe afgelaai word." msgid "Include sidecar files when downloading stacks and archives." msgstr "Sluit syspanlêers in wanneer stapels en argiewe afgelaai word." -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Increase storage size or delete files to continue." msgstr "Vergroot stoorgrootte of vee lêers uit om voort te gaan." -#: src/component/navigation.vue:1946 src/page/library.vue:36 +#: src/component/navigation.vue:1990 src/page/library.vue:36 #: src/page/settings/content.vue:34 msgid "Index" msgstr "Indeks" @@ -1553,11 +1580,11 @@ msgstr "Inligting" msgid "Instance ID" msgstr "Geval ID" -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Insufficient storage." msgstr "Onvoldoende berging." -#: src/component/service/edit.vue:209 +#: src/component/service/edit.vue:210 msgid "Interval" msgstr "Interval" @@ -1578,7 +1605,7 @@ msgstr "Ongeldige adres" msgid "Invalid country" msgstr "Ongeldige land" -#: src/component/photo/edit/details.vue:174 +#: src/component/photo/edit/details.vue:169 msgid "Invalid date" msgstr "Ongeldige datum" @@ -1587,7 +1614,7 @@ msgstr "Ongeldige datum" msgid "Invalid parameters" msgstr "Ongeldige parameters" -#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:197 +#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:199 msgid "Invalid photo selected" msgstr "Ongeldige foto gekies" @@ -1599,8 +1626,8 @@ msgstr "Ongeldige tyd" msgid "Invalid URL" msgstr "Ongeldige URL" -#: src/component/settings/passcode.vue:314 -#: src/component/settings/passcode.vue:391 +#: src/component/settings/passcode.vue:317 +#: src/component/settings/passcode.vue:394 msgid "It is a one-time use code that will disable 2FA for your account when you use it." msgstr "Dit is 'n eenmalige gebruikskode wat 2FA vir jou rekening sal deaktiveer wanneer jy dit gebruik." @@ -1624,7 +1651,7 @@ msgstr "JPEG-groottelimiet: %{n}px" msgid "JPEGs and thumbnails are automatically rendered as needed." msgstr "JPEG's en duimnaels word outomaties weergegee soos nodig." -#: src/component/photo/edit/details.vue:581 +#: src/component/photo/edit/details.vue:555 msgid "Keywords" msgstr "Sleutelwoorde" @@ -1633,9 +1660,9 @@ msgstr "Sleutelwoorde" msgid "Label" msgstr "Etiket" -#: src/app/routes.js:389 src/component/navigation.vue:1177 -#: src/component/photo/edit/dialog.vue:188 -#: src/component/photo/edit/dialog.vue:205 src/options/options.js:206 +#: src/app/routes.js:397 src/component/navigation.vue:1197 +#: src/component/photo/edit/dialog.vue:196 +#: src/component/photo/edit/dialog.vue:215 src/options/options.js:206 #: src/page/settings/general.vue:255 msgid "Labels" msgstr "Etikette" @@ -1652,11 +1679,11 @@ msgstr "Lanczos: Detailbewaring, minimale artefakte" msgid "Language" msgstr "Taal" -#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:435 +#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:440 msgid "Last Active" msgstr "Laas aktief" -#: src/page/admin/users.vue:81 +#: src/page/admin/users.vue:83 msgid "Last Login" msgstr "Laaste aanmelding" @@ -1672,42 +1699,41 @@ msgstr "Laaste sinkronisering" msgid "Last Used" msgstr "Laaste gebruik" -#: src/component/photo/edit/details.vue:298 #: src/component/photo/edit/info.vue:373 msgid "Latitude" msgstr "Breedtegraad" -#: src/options/admin.js:43 src/options/auth.js:29 +#: src/options/admin.js:47 src/options/auth.js:30 msgid "LDAP/AD" msgstr "LDAP/AD" -#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:86 -#: src/page/about/about.vue:62 src/page/about/about.vue:132 +#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:87 +#: src/page/about/about.vue:62 src/page/about/about.vue:133 #: src/page/connect.vue:67 src/page/help.vue:36 msgid "Learn more" msgstr "Leer meer" -#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:135 +#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:137 #: src/page/labels.vue:132 msgid "Learn More" msgstr "Kom meer te wete" -#: src/component/navigation.vue:2017 +#: src/component/navigation.vue:2066 msgid "Legal Information" msgstr "Regsinligting" -#: src/component/photo/edit/details.vue:417 +#: src/component/photo/edit/details.vue:391 #: src/component/photo/view/cards.vue:480 msgid "Lens" msgstr "Lens" -#: src/app/routes.js:443 src/app/routes.js:459 src/app/routes.js:475 -#: src/component/navigation.vue:1267 src/page/settings/general.vue:507 +#: src/app/routes.js:451 src/app/routes.js:467 src/app/routes.js:483 +#: src/component/navigation.vue:1290 src/page/settings/general.vue:507 msgid "Library" msgstr "Biblioteek" #: src/page/connect.vue:45 src/app/routes.js:69 -#: src/component/navigation.vue:1478 src/component/photo/edit/details.vue:559 +#: src/component/navigation.vue:1504 src/component/photo/edit/details.vue:533 #: src/page/about/license.vue:28 msgid "License" msgstr "Lisensie" @@ -1720,7 +1746,7 @@ msgstr "Soos" msgid "Lime" msgstr "Lemmetjie" -#: src/page/library/browse.vue:369 +#: src/page/library/browse.vue:371 msgid "Limit reached, showing first %{n} files" msgstr "Limiet bereik, wys eerste %{n} lêers" @@ -1728,7 +1754,7 @@ msgstr "Limiet bereik, wys eerste %{n} lêers" msgid "Linear: Very Smooth, Best Performance" msgstr "Lineêr: Baie glad, beste prestasie" -#: src/model/link.js:117 src/options/auth.js:30 src/options/auth.js:31 +#: src/model/link.js:117 src/options/auth.js:31 src/options/auth.js:32 msgid "Link" msgstr "Skakel" @@ -1746,7 +1772,7 @@ msgstr "Lys Aansig" msgid "Live" msgstr "Leef" -#: src/app/routes.js:236 src/component/navigation.vue:749 +#: src/app/routes.js:244 src/component/navigation.vue:755 msgid "Live Photos" msgstr "Regstreekse Foto's" @@ -1762,21 +1788,24 @@ msgstr "Laai tans items..." msgid "Loading..." msgstr "Laai tans..." -#: src/options/admin.js:35 src/options/auth.js:22 src/options/auth.js:27 +#: src/options/admin.js:39 src/options/auth.js:23 src/options/auth.js:28 #: src/options/options.js:38 src/page/settings/general.vue:107 msgid "Local" msgstr "Plaaslik" -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Local Time" msgstr "Plaaslike tyd" -#: src/page/settings/account.vue:665 src/page/settings/account.vue:667 -#: src/component/album/edit/dialog.vue:92 src/component/photo/edit/info.vue:65 -#: src/component/photo/edit/labels.vue:48 +#: src/page/settings/account.vue:671 src/page/settings/account.vue:673 +#: src/component/album/edit/dialog.vue:93 +#: src/component/photo/edit/details.vue:38 +#: src/component/photo/edit/details.vue:116 +#: src/component/photo/edit/details.vue:210 +#: src/component/photo/edit/info.vue:67 src/component/photo/edit/labels.vue:48 #: src/component/photo/view/cards.vue:555 src/component/photo/view/list.vue:117 -#: src/component/sidebar/info.vue:107 src/page/albums.vue:99 -#: src/page/settings/account.vue:557 src/page/settings/account.vue:559 +#: src/component/sidebar/info.vue:107 src/page/albums.vue:100 +#: src/page/settings/account.vue:563 src/page/settings/account.vue:565 msgid "Location" msgstr "Ligging" @@ -1784,20 +1813,19 @@ msgstr "Ligging" msgid "Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues." msgstr "Logboodskappe verskyn hier wanneer PhotoPrism gebreekte lêers teëkom of daar ander potensiële probleme is." -#: src/component/navigation.vue:1552 src/component/navigation.vue:1840 +#: src/component/navigation.vue:1579 src/component/navigation.vue:1877 msgid "Login" msgstr "Teken aan" -#: src/component/navigation.vue:1759 +#: src/component/navigation.vue:1791 msgid "Logout" msgstr "Teken uit" -#: src/component/navigation.vue:1962 src/page/library.vue:59 +#: src/component/navigation.vue:2007 src/page/library.vue:59 #: src/page/settings/general.vue:557 msgid "Logs" msgstr "Logs" -#: src/component/photo/edit/details.vue:324 #: src/component/photo/edit/info.vue:379 msgid "Longitude" msgstr "Lengtegraad" @@ -1810,7 +1838,7 @@ msgstr "Laag" msgid "Magenta" msgstr "Magenta" -#: src/component/photo/edit/files.vue:489 +#: src/component/photo/edit/files.vue:491 msgid "Main Color" msgstr "Hoofkleur" @@ -1818,12 +1846,16 @@ msgstr "Hoofkleur" msgid "Male" msgstr "Manlik" -#: src/page/connect.vue:164 src/page/connect.vue:246 -#: src/page/about/about.vue:171 src/page/connect.vue:168 -#: src/page/connect.vue:255 +#: src/page/connect.vue:165 src/page/connect.vue:248 +#: src/page/about/about.vue:173 src/page/connect.vue:169 +#: src/page/connect.vue:257 msgid "Manage Account" msgstr "Bestuur rekening" +#: src/options/admin.js:10 src/options/auth.js:7 +msgid "Manager" +msgstr "Bestuurder" + #: src/component/photo/edit/info.vue:49 src/component/photo/edit/labels.vue:38 msgid "Manual" msgstr "Handleiding" @@ -1840,11 +1872,11 @@ msgstr "Kaarte" msgid "Marker" msgstr "Merker" -#: src/component/user/add/dialog.vue:69 +#: src/component/user/add/dialog.vue:70 msgid "Maximum number of accounts has been reached." msgstr "Maksimum aantal rekeninge is bereik." -#: src/app/routes.js:229 src/component/navigation.vue:688 +#: src/app/routes.js:237 src/component/navigation.vue:693 #: src/options/options.js:199 msgid "Media" msgstr "Media" @@ -1861,7 +1893,7 @@ msgstr "Lidmaatskap" msgid "Merge %{a} with %{b}?" msgstr "Voeg %{a} saam met %{b}?" -#: src/page/about/feedback.vue:102 +#: src/page/about/feedback.vue:103 msgid "Message" msgstr "Boodskap" @@ -1873,7 +1905,7 @@ msgstr "Boodskap gestuur" msgid "Metadata" msgstr "Metadata" -#: src/options/auth.js:56 src/options/auth.js:72 +#: src/options/auth.js:57 src/options/auth.js:73 msgid "Metrics" msgstr "Metrieke" @@ -1881,7 +1913,7 @@ msgstr "Metrieke" msgid "Minimize" msgstr "Minimaliseer" -#: src/component/photo/edit/files.vue:509 src/component/photo/edit/info.vue:367 +#: src/component/photo/edit/files.vue:511 src/component/photo/edit/info.vue:367 msgid "Missing" msgstr "Vermis" @@ -1889,17 +1921,17 @@ msgstr "Vermis" msgid "Missing or invalid configuration" msgstr "Ontbrekende of ongeldige opstelling" -#: src/app/routes.js:163 src/component/navigation.vue:1129 +#: src/app/routes.js:171 src/component/navigation.vue:1147 #: src/options/options.js:205 src/page/settings/general.vue:230 msgid "Moments" msgstr "Oomblikke" -#: src/component/navigation.vue:383 +#: src/component/navigation.vue:385 msgid "Monochrome" msgstr "Monochroom" -#: src/page/settings/account.vue:475 src/component/photo/edit/details.vue:137 -#: src/component/photo/toolbar.vue:342 +#: src/page/settings/account.vue:481 src/component/photo/edit/details.vue:139 +#: src/component/photo/toolbar.vue:344 msgid "Month" msgstr "Maand" @@ -1919,7 +1951,7 @@ msgstr "Mees Relevant" msgid "Move Files" msgstr "Skuif lêers" -#: src/component/settings/password.vue:107 +#: src/component/settings/password.vue:108 msgid "Must have at least %{n} characters." msgstr "Moet ten minste %{n} karakters hê." @@ -1927,20 +1959,20 @@ msgstr "Moet ten minste %{n} karakters hê." msgid "Mute" msgstr "Demp" -#: src/page/about/feedback.vue:121 src/page/about/feedback.vue:122 -#: src/component/album/edit/dialog.vue:77 -#: src/component/label/edit/dialog.vue:71 -#: src/component/people/edit/dialog.vue:71 -#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:57 +#: src/page/about/feedback.vue:122 src/page/about/feedback.vue:123 +#: src/component/album/edit/dialog.vue:78 +#: src/component/label/edit/dialog.vue:72 +#: src/component/people/edit/dialog.vue:72 +#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:59 #: src/component/photo/edit/info.vue:125 src/component/photo/edit/people.vue:36 -#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:310 -#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:286 -#: src/page/albums.vue:98 src/page/auth/login.vue:168 +#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:311 +#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:289 +#: src/page/albums.vue:99 src/page/auth/login.vue:168 #: src/page/people/new.vue:68 src/page/settings/services.vue:37 msgid "Name" msgstr "Naam" -#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:60 +#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:65 #: src/component/label/edit/dialog.vue:19 #: src/component/people/edit/dialog.vue:19 #: src/component/photo/edit/labels.vue:30 @@ -1950,7 +1982,7 @@ msgstr "Naam" msgid "Name too long" msgstr "Naam te lank" -#: src/page/admin/users.vue:204 src/options/options.js:361 +#: src/page/admin/users.vue:206 src/options/options.js:361 #: src/options/options.js:371 src/page/settings/services.vue:75 msgid "Never" msgstr "Nooit nie" @@ -1959,13 +1991,13 @@ msgstr "Nooit nie" msgid "New" msgstr "Nuut" -#: src/component/settings/password.vue:106 +#: src/component/settings/password.vue:107 msgid "New Password" msgstr "Nuwe Wagwoord" #: src/component/album/edit/dialog.vue:24 src/component/photo/toolbar.vue:114 #: src/component/photo/toolbar.vue:126 src/component/photo/toolbar.vue:136 -#: src/page/albums.vue:100 +#: src/page/albums.vue:101 msgid "Newest First" msgstr "Nuutste Eerste" @@ -1981,15 +2013,15 @@ msgstr "Volgende bladsy" msgid "Next visual" msgstr "Volgende visuele" -#: src/component/people/merge/dialog.vue:47 -#: src/component/photo/archive/dialog.vue:47 +#: src/component/people/merge/dialog.vue:48 +#: src/component/photo/archive/dialog.vue:48 #: src/component/photo/edit/info.vue:281 src/component/photo/edit/info.vue:297 #: src/component/photo/edit/info.vue:313 src/component/photo/edit/info.vue:329 #: src/component/photo/edit/info.vue:344 msgid "No" msgstr "Geen" -#: src/page/albums.vue:607 src/page/albums.vue:282 +#: src/page/albums.vue:612 src/page/albums.vue:282 msgid "No albums found" msgstr "Geen albums gevind nie" @@ -1997,7 +2029,7 @@ msgstr "Geen albums gevind nie" msgid "No data available" msgstr "Geen data beskikbaar nie" -#: src/page/labels.vue:523 src/page/labels.vue:155 +#: src/page/labels.vue:528 src/page/labels.vue:155 msgid "No labels found" msgstr "Geen etikette gevind nie" @@ -2010,15 +2042,15 @@ msgid "No more" msgstr "Nie meer nie" #: src/component/photo/edit/people.vue:34 src/page/people/new.vue:346 -#: src/page/people/new.vue:443 src/page/people/new.vue:103 -#: src/page/people/recognized.vue:531 src/page/people/recognized.vue:146 +#: src/page/people/new.vue:446 src/page/people/new.vue:103 +#: src/page/people/recognized.vue:536 src/page/people/recognized.vue:146 msgid "No people found" msgstr "Geen mense gevind nie" #: src/component/lightbox.vue:365 src/component/photo/view/cards.vue:144 #: src/component/photo/view/list.vue:82 src/component/photo/view/mosaic.vue:68 -#: src/page/album/photos.vue:488 src/page/library/browse.vue:123 -#: src/page/photos.vue:626 src/page/places.vue:624 src/page/places.vue:730 +#: src/page/album/photos.vue:499 src/page/library/browse.vue:123 +#: src/page/photos.vue:636 src/page/places.vue:624 src/page/places.vue:730 msgid "No pictures found" msgstr "Geen foto's gevind nie" @@ -2027,7 +2059,11 @@ msgstr "Geen foto's gevind nie" msgid "No recently edited pictures" msgstr "Geen onlangs geredigeerde prente nie" -#: src/component/navigation.vue:1655 +#: src/component/location/dialog.vue:166 +msgid "No results" +msgstr "Geen resultate nie" + +#: src/component/navigation.vue:1686 msgid "No server connection" msgstr "Geen bedienerverbinding nie" @@ -2039,7 +2075,7 @@ msgstr "Geen bedieners is opgestel nie." msgid "No services configured." msgstr "Geen dienste opgestel nie." -#: src/component/confirm/sponsor.vue:72 +#: src/component/confirm/sponsor.vue:73 msgid "No thanks" msgstr "Nee dankie" @@ -2049,17 +2085,17 @@ msgstr "Geen waarskuwings of foute wat hierdie sleutelwoord bevat nie. Let daaro #: src/component/photo/view/cards.vue:154 src/component/photo/view/list.vue:59 #: src/component/photo/view/list.vue:92 src/component/photo/view/mosaic.vue:78 -#: src/component/upload/dialog.vue:208 +#: src/component/upload/dialog.vue:210 msgid "Non-photographic and low-quality images require a review before they appear in search results." msgstr "Nie-fotografiese en lae kwaliteit prente vereis 'n hersiening voordat dit in soekresultate verskyn." -#: src/options/admin.js:47 src/options/auth.js:32 src/options/options.js:212 +#: src/options/admin.js:51 src/options/auth.js:33 src/options/options.js:212 #: src/options/options.js:328 msgid "None" msgstr "Geen" -#: src/common/util.js:853 src/component/lightbox.vue:633 -#: src/component/service/upload.vue:75 src/component/service/upload.vue:87 +#: src/component/lightbox.vue:633 src/component/service/upload.vue:75 +#: src/component/service/upload.vue:87 msgid "Not allowed" msgstr "Nie toegelaat nie" @@ -2071,8 +2107,7 @@ msgstr "Nie gevind" msgid "Not sorted." msgstr "Nie gesorteer nie." -#: src/common/util.js:858 src/component/lightbox.vue:627 -#: src/component/lightbox.vue:744 +#: src/component/lightbox.vue:627 src/component/lightbox.vue:744 msgid "Not supported" msgstr "Nie ondersteun nie" @@ -2080,15 +2115,15 @@ msgstr "Nie ondersteun nie" msgid "Note you may manually manage your originals folder and importing is optional." msgstr "Let daarop dat u u oorspronklike lêergids met die hand kan bestuur en invoer is opsioneel." -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "Note:" msgstr "Let wel:" -#: src/component/service/add.vue:120 +#: src/component/service/add.vue:121 msgid "Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload." msgstr "Let wel: Slegs WebDAV-bedieners, soos Nextcloud of PhotoPrism, kan as afgeleë diens opgestel word vir rugsteun en lêeroplaai." -#: src/component/photo/edit/details.vue:603 +#: src/component/photo/edit/details.vue:577 msgid "Notes" msgstr "Notas" @@ -2096,8 +2131,8 @@ msgstr "Notas" msgid "Nothing to see here yet." msgstr "Nog niks om hier te sien nie." -#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:115 -#: src/component/settings/apps.vue:390 +#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:125 +#: src/component/settings/apps.vue:393 msgid "Nothing was found." msgstr "Niks is gevind nie." @@ -2105,7 +2140,7 @@ msgstr "Niks is gevind nie." msgid "Offline" msgstr "Vanlyn" -#: src/options/admin.js:39 src/options/auth.js:28 +#: src/options/admin.js:43 src/options/auth.js:29 msgid "OIDC" msgstr "OIDC" @@ -2115,11 +2150,11 @@ msgstr "OK" #: src/component/album/edit/dialog.vue:25 src/component/photo/toolbar.vue:115 #: src/component/photo/toolbar.vue:127 src/component/photo/toolbar.vue:137 -#: src/page/albums.vue:101 +#: src/page/albums.vue:102 msgid "Oldest First" msgstr "Oudste Eerste" -#: src/component/settings/webdav.vue:77 +#: src/component/settings/webdav.vue:78 msgid "On Windows, enter the following resource in the connection dialog:" msgstr "Op Windows, voer die volgende hulpbron in die verbindingsdialoog in:" @@ -2131,11 +2166,11 @@ msgstr "Op-aanvraag generering van duimnaels kan hoë SVE en geheuegebruik veroo msgid "Once a week" msgstr "Een keer 'n week" -#: src/page/albums.vue:609 +#: src/page/albums.vue:614 msgid "One album found" msgstr "Een album gevind" -#: src/page/library/browse.vue:358 +#: src/page/library/browse.vue:360 msgid "One file found" msgstr "Een lêer gevind" @@ -2143,24 +2178,24 @@ msgstr "Een lêer gevind" msgid "One file uploaded" msgstr "Een lêer opgelaai" -#: src/page/library/browse.vue:360 +#: src/page/library/browse.vue:362 msgid "One folder found" msgstr "Een vouer gevind" -#: src/page/labels.vue:525 +#: src/page/labels.vue:530 msgid "One label found" msgstr "Een etiket gevind" -#: src/page/people/new.vue:348 src/page/people/new.vue:445 -#: src/page/people/recognized.vue:533 +#: src/page/people/new.vue:348 src/page/people/new.vue:448 +#: src/page/people/recognized.vue:538 msgid "One person found" msgstr "Een persoon gevind" -#: src/page/album/photos.vue:490 src/page/photos.vue:628 +#: src/page/album/photos.vue:501 src/page/photos.vue:638 msgid "One picture found" msgstr "Een foto gevind" -#: src/component/settings/passcode.vue:478 +#: src/component/settings/passcode.vue:481 msgid "Only locally managed accounts can be set up for authentication with 2FA." msgstr "Slegs plaaslik bestuurde rekeninge kan opgestel word vir stawing met 2FA." @@ -2168,7 +2203,7 @@ msgstr "Slegs plaaslik bestuurde rekeninge kan opgestel word vir stawing met 2FA msgid "Open" msgstr "Maak oop" -#: src/component/service/add.vue:86 src/component/service/add.vue:107 +#: src/component/service/add.vue:87 src/component/service/add.vue:108 msgid "optional" msgstr "opsioneel" @@ -2180,7 +2215,7 @@ msgstr "of" msgid "Orange" msgstr "Oranje" -#: src/page/settings/account.vue:571 src/page/settings/account.vue:573 +#: src/page/settings/account.vue:577 src/page/settings/account.vue:579 msgid "Organization" msgstr "Organisasie" @@ -2196,7 +2231,7 @@ msgstr "Oorspronklike lêername sal gestoor en geïndekseer word." msgid "Original Name" msgstr "Oorspronklike naam" -#: src/component/navigation.vue:1304 src/model/file.js:196 +#: src/component/navigation.vue:1328 src/model/file.js:196 #: src/options/options.js:413 src/page/library/browse.vue:65 #: src/page/settings/content.vue:356 src/page/settings/general.vue:532 msgid "Originals" @@ -2207,7 +2242,7 @@ msgstr "Oorspronklikes" msgid "Other" msgstr "Ander" -#: src/page/about/about.vue:77 src/page/about/about.vue:83 +#: src/page/about/about.vue:78 src/page/about/about.vue:84 msgid "Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible." msgstr "Ons missie is om die mees gebruikers- en privaatheidsvriendelike oplossing te bied om jou foto's georganiseer en toeganklik te hou." @@ -2219,7 +2254,7 @@ msgstr "Buitelug" msgid "Page {0}, Current page" msgstr "Bladsy {0}, Huidige bladsy" -#: src/component/photo/edit/files.vue:352 src/model/photo.js:859 +#: src/component/photo/edit/files.vue:352 src/model/photo.js:896 msgid "Pages" msgstr "Bladsye" @@ -2231,15 +2266,15 @@ msgstr "Paginering navigasie" msgid "Panorama" msgstr "Panorama" -#: src/component/navigation.vue:402 +#: src/component/navigation.vue:404 msgid "Panoramas" msgstr "Panoramas" -#: src/component/user/add/dialog.vue:114 src/component/user/add/dialog.vue:115 -#: src/component/service/add.vue:106 src/component/service/edit.vue:352 -#: src/component/settings/apps.vue:121 src/component/settings/passcode.vue:106 -#: src/component/settings/passcode.vue:413 src/component/share/dialog.vue:27 -#: src/options/auth.js:91 src/page/auth/login.vue:196 +#: src/component/user/add/dialog.vue:115 src/component/user/add/dialog.vue:116 +#: src/component/service/add.vue:107 src/component/service/edit.vue:353 +#: src/component/settings/apps.vue:124 src/component/settings/passcode.vue:109 +#: src/component/settings/passcode.vue:416 src/component/share/dialog.vue:27 +#: src/options/auth.js:92 src/page/auth/login.vue:196 msgid "Password" msgstr "Wagwoord" @@ -2247,9 +2282,9 @@ msgstr "Wagwoord" msgid "Password changed" msgstr "Wagwoord verander" -#: src/app/routes.js:404 src/app/routes.js:428 src/component/navigation.vue:845 -#: src/component/navigation.vue:1898 src/component/photo/edit/dialog.vue:228 -#: src/component/photo/edit/dialog.vue:245 src/options/options.js:201 +#: src/app/routes.js:412 src/app/routes.js:436 src/component/navigation.vue:853 +#: src/component/navigation.vue:1939 src/component/photo/edit/dialog.vue:238 +#: src/component/photo/edit/dialog.vue:257 src/options/options.js:201 #: src/page/settings/general.vue:180 msgid "People" msgstr "Mense" @@ -2270,23 +2305,23 @@ msgstr "Verwyder lêers permanent om berging vry te maak." msgid "Person" msgstr "Persoon" -#: src/options/auth.js:42 +#: src/options/auth.js:43 msgid "Personal" msgstr "Persoonlik" -#: src/model/photo.js:1273 +#: src/model/photo.js:1310 msgid "Photo" msgstr "Foto" -#: src/page/about/about.vue:156 +#: src/page/about/about.vue:158 msgid "PhotoPrism is 100% self-funded and independent." msgstr "PhotoPrism is 100% selfbefonds en onafhanklik." -#: src/page/about/about.vue:92 +#: src/page/about/about.vue:93 msgid "PhotoPrism+ Membership" msgstr "PhotoPrism+ Lidmaatskap" -#: src/app/routes.js:156 +#: src/app/routes.js:164 msgid "Photos" msgstr "Foto's" @@ -2307,27 +2342,27 @@ msgstr "Plek" msgid "Place & Time" msgstr "Plek & Tyd" -#: src/app/routes.js:303 src/app/routes.js:309 src/app/routes.js:315 -#: src/app/routes.js:330 src/component/navigation.vue:986 -#: src/component/navigation.vue:1914 src/options/options.js:203 +#: src/app/routes.js:311 src/app/routes.js:317 src/app/routes.js:323 +#: src/app/routes.js:338 src/component/navigation.vue:999 +#: src/component/navigation.vue:1956 src/options/options.js:203 #: src/page/places.vue:51 src/page/settings/general.vue:609 #: src/page/settings/general.vue:638 msgid "Places" msgstr "Plekke" -#: src/component/settings/password.vue:129 +#: src/component/settings/password.vue:130 msgid "Please confirm your new password." msgstr "Bevestig asseblief jou nuwe wagwoord." -#: src/component/settings/apps.vue:185 +#: src/component/settings/apps.vue:188 msgid "Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:" msgstr "Kopieer asseblief die volgende lukraak gegenereerde programwagwoord en hou dit op 'n veilige plek, aangesien jy dit nie weer sal kan sien nie:" -#: src/component/upload/dialog.vue:203 +#: src/component/upload/dialog.vue:205 msgid "Please do not upload any private, unlawful or offensive pictures." msgstr "Moet asseblief geen privaat, onwettige of aanstootlike foto's oplaai nie." -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Please don't upload photos containing offensive content." msgstr "Moet asseblief nie foto's oplaai wat aanstootlike inhoud bevat nie." @@ -2335,11 +2370,11 @@ msgstr "Moet asseblief nie foto's oplaai wat aanstootlike inhoud bevat nie." msgid "Please enter OTP character {0}" msgstr "Voer asseblief OTP-karakter in {0}" -#: src/component/settings/password.vue:66 +#: src/component/settings/password.vue:67 msgid "Please note that changing your password will log you out on other devices and browsers." msgstr "Neem asseblief kennis dat die verandering van jou wagwoord jou op ander toestelle en blaaiers sal afmeld." -#: src/page/connect.vue:148 src/page/connect.vue:152 +#: src/page/connect.vue:149 src/page/connect.vue:153 msgid "Please restart your instance for the changes to take effect." msgstr "Herbegin asseblief jou instansie vir die veranderinge om in werking te tree." @@ -2359,11 +2394,11 @@ msgstr "PNG-groottelimiet: %{n}px" msgid "Portrait" msgstr "Portret" -#: src/component/service/edit.vue:273 +#: src/component/service/edit.vue:274 msgid "Preserve filenames" msgstr "Bewaar lêername" -#: src/component/upload/dialog.vue:162 +#: src/component/upload/dialog.vue:164 msgid "Press enter to create a new album." msgstr "Druk enter om 'n nuwe album te skep." @@ -2400,8 +2435,8 @@ msgstr "Vorige visuele" msgid "Primary" msgstr "Primêr" -#: src/app/routes.js:271 src/component/album/edit/dialog.vue:176 -#: src/component/navigation.vue:531 src/component/photo/edit/info.vue:303 +#: src/app/routes.js:279 src/component/album/edit/dialog.vue:177 +#: src/component/navigation.vue:533 src/component/photo/edit/info.vue:303 #: src/page/settings/general.vue:280 msgid "Private" msgstr "Privaat" @@ -2426,7 +2461,7 @@ msgstr "Kwaliteit filter" msgid "Quality Score" msgstr "Gehaltetelling" -#: src/page/admin/users.vue:169 +#: src/page/admin/users.vue:171 msgid "r" msgstr "r" @@ -2457,7 +2492,7 @@ msgstr "Leesalleen-modus" #: src/component/album/edit/dialog.vue:26 src/component/photo/toolbar.vue:116 #: src/component/photo/toolbar.vue:128 src/component/photo/toolbar.vue:138 -#: src/page/albums.vue:102 +#: src/page/albums.vue:103 msgid "Recently Added" msgstr "Onlangs bygevoeg" @@ -2465,7 +2500,7 @@ msgstr "Onlangs bygevoeg" msgid "Recently Archived" msgstr "Onlangs geargiveer" -#: src/component/photo/toolbar.vue:139 src/page/albums.vue:103 +#: src/component/photo/toolbar.vue:139 src/page/albums.vue:104 msgid "Recently Edited" msgstr "Onlangs geredigeer" @@ -2490,24 +2525,24 @@ msgstr "Herstel kode" msgid "Red" msgstr "Rooi" -#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:126 -#: src/component/album/toolbar.vue:79 src/component/photo/toolbar.vue:169 -#: src/page/albums.vue:173 src/page/labels.vue:112 +#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:128 +#: src/component/album/toolbar.vue:84 src/component/photo/toolbar.vue:169 +#: src/page/albums.vue:175 src/page/labels.vue:112 #: src/page/library/browse.vue:90 src/page/library/errors.vue:81 #: src/page/people/new.vue:54 src/page/people/recognized.vue:88 msgid "Refresh" msgstr "Verfris" -#: src/app/routes.js:337 src/component/navigation.vue:943 -#: src/component/navigation.vue:1026 +#: src/app/routes.js:345 src/component/navigation.vue:955 +#: src/component/navigation.vue:1040 msgid "Regions" msgstr "Streke" -#: src/page/connect.vue:275 src/page/connect.vue:284 +#: src/page/connect.vue:277 src/page/connect.vue:286 msgid "Register" msgstr "Registreer" -#: src/component/navigation.vue:1773 src/component/update.vue:68 +#: src/component/navigation.vue:1806 src/component/update.vue:68 msgid "Reload" msgstr "Herlaai" @@ -2552,34 +2587,34 @@ msgstr "Vereis dat nie-fotografiese en lae kwaliteit prente hersien word voordat msgid "Resolution" msgstr "Resolusie" -#: src/page/connect.vue:179 src/page/connect.vue:183 +#: src/page/connect.vue:180 src/page/connect.vue:184 #: src/page/settings/advanced.vue:782 msgid "Restart" msgstr "Begin oor" -#: src/component/user/edit/dialog.vue:485 src/component/lightbox.vue:1221 +#: src/component/user/edit/dialog.vue:488 src/component/lightbox.vue:1221 #: src/component/photo/clipboard.vue:77 msgid "Restore" msgstr "Herstel" -#: src/component/lightbox.vue:2000 +#: src/component/lightbox.vue:2020 msgid "Restored" msgstr "Herstel" -#: src/component/service/edit.vue:428 +#: src/component/service/edit.vue:429 msgid "Retry Limit" msgstr "Herprobeer Limiet" -#: src/component/settings/password.vue:128 +#: src/component/settings/password.vue:129 msgid "Retype Password" msgstr "Tik wagwoord weer in" -#: src/app/routes.js:264 src/component/navigation.vue:505 +#: src/app/routes.js:272 src/component/navigation.vue:507 msgid "Review" msgstr "Resensie" -#: src/component/user/add/dialog.vue:171 src/component/user/edit/dialog.vue:284 -#: src/page/admin/sessions.vue:262 src/page/admin/users.vue:73 +#: src/component/user/add/dialog.vue:172 src/component/user/edit/dialog.vue:285 +#: src/page/admin/sessions.vue:263 src/page/admin/users.vue:75 msgid "Role" msgstr "Rol" @@ -2591,11 +2626,11 @@ msgstr "Rye per bladsy:" msgid "Satellite" msgstr "Satelliet" -#: src/component/user/edit/dialog.vue:485 -#: src/component/album/edit/dialog.vue:211 -#: src/component/label/edit/dialog.vue:119 -#: src/component/people/edit/dialog.vue:132 src/component/service/edit.vue:466 -#: src/component/settings/password.vue:172 src/component/share/dialog.vue:181 +#: src/component/user/edit/dialog.vue:488 +#: src/component/album/edit/dialog.vue:212 +#: src/component/label/edit/dialog.vue:120 +#: src/component/people/edit/dialog.vue:133 src/component/service/edit.vue:467 +#: src/component/settings/password.vue:173 src/component/share/dialog.vue:181 msgid "Save" msgstr "Stoor" @@ -2603,23 +2638,23 @@ msgstr "Stoor" msgid "Scan" msgstr "Skandeer" -#: src/component/settings/passcode.vue:179 +#: src/component/settings/passcode.vue:182 msgid "Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:" msgstr "Skandeer die QR-kode met jou verifikasie-toepassing of gebruik die opstellingsleutel wat hieronder gewys word en voer dan die gegenereerde verifikasiekode in:" -#: src/component/navigation.vue:461 +#: src/component/navigation.vue:463 msgid "Scans" msgstr "Skanderings" -#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:377 -#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:310 +#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:381 +#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:313 msgid "Scope" msgstr "Omvang" -#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:62 -#: src/component/navigation.vue:342 src/component/navigation.vue:1866 -#: src/component/photo/toolbar.vue:57 src/options/options.js:197 -#: src/page/albums.vue:100 src/page/labels.vue:77 +#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:69 +#: src/component/location/dialog.vue:133 src/component/navigation.vue:343 +#: src/component/navigation.vue:1905 src/component/photo/toolbar.vue:57 +#: src/options/options.js:197 src/page/albums.vue:100 src/page/labels.vue:77 #: src/page/library/errors.vue:76 src/page/people/recognized.vue:66 #: src/page/places.vue:79 src/page/settings/content.vue:235 msgid "Search" @@ -2657,11 +2692,11 @@ msgstr "Kies datum" msgid "Select dates" msgstr "Kies datums" -#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:154 +#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:156 msgid "Select or create an album" msgstr "Kies of skep 'n album" -#: src/component/upload/dialog.vue:138 +#: src/component/upload/dialog.vue:140 msgid "Select the files to upload…" msgstr "Kies die lêers om op te laai…" @@ -2689,7 +2724,7 @@ msgstr "Seleksie herstel" msgid "Sequential Name" msgstr "Opeenvolgende naam" -#: src/component/service/add.vue:67 src/component/service/edit.vue:322 +#: src/component/service/add.vue:68 src/component/service/edit.vue:323 #: src/component/share/dialog.vue:25 msgid "Service URL" msgstr "Diens-URL" @@ -2698,7 +2733,7 @@ msgstr "Diens-URL" msgid "Services" msgstr "Dienste" -#: src/model/session.js:107 src/options/auth.js:41 src/options/auth.js:90 +#: src/model/session.js:107 src/options/auth.js:42 src/options/auth.js:91 msgid "Session" msgstr "Sessie" @@ -2706,7 +2741,7 @@ msgstr "Sessie" msgid "Session ID" msgstr "Sessie ID" -#: src/page/admin.vue:45 +#: src/page/admin.vue:44 msgid "Sessions" msgstr "Sessies" @@ -2714,22 +2749,22 @@ msgstr "Sessies" msgid "Set as Album Cover" msgstr "Stel as albumomslag" -#: src/app/routes.js:101 src/app/routes.js:492 src/app/routes.js:504 -#: src/app/routes.js:521 src/app/routes.js:534 src/app/routes.js:547 -#: src/component/navigation.vue:1394 src/component/navigation.vue:1806 +#: src/app/routes.js:101 src/app/routes.js:500 src/app/routes.js:512 +#: src/app/routes.js:529 src/app/routes.js:542 src/app/routes.js:555 +#: src/component/navigation.vue:1419 src/component/navigation.vue:1841 msgid "Settings" msgstr "Instellings" #: src/page/settings/account.vue:115 src/page/settings/account.vue:144 -#: src/component/settings/passcode.vue:147 +#: src/component/settings/passcode.vue:151 msgid "Settings saved" msgstr "Stellings gestoor" -#: src/component/service/upload.vue:131 src/component/settings/passcode.vue:160 +#: src/component/service/upload.vue:132 src/component/settings/passcode.vue:163 msgid "Setup" msgstr "Stel op" -#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:98 +#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:103 #: src/component/photo/clipboard.vue:51 src/page/settings/general.vue:382 msgid "Share" msgstr "Deel" @@ -2746,7 +2781,7 @@ msgstr "Deel jou foto's met ander programme en dienste." msgid "Show" msgstr "Wys" -#: src/page/people/new.vue:116 src/page/people/new.vue:233 +#: src/page/people/new.vue:116 src/page/people/new.vue:235 msgid "Show all new faces" msgstr "Wys alle nuwe gesigte" @@ -2791,7 +2826,7 @@ msgid "Similar" msgstr "Soortgelyk" #: src/component/photo/edit/files.vue:51 src/component/photo/edit/files.vue:341 -#: src/component/service/edit.vue:139 src/component/sidebar/info.vue:96 +#: src/component/service/edit.vue:140 src/component/sidebar/info.vue:96 msgid "Size" msgstr "Grootte" @@ -2819,7 +2854,7 @@ msgstr "Iets het verkeerd geloop, probeer weer" msgid "Sort by" msgstr "Sorteer volgens" -#: src/component/album/edit/dialog.vue:142 src/component/photo/toolbar.vue:288 +#: src/component/album/edit/dialog.vue:143 src/component/photo/toolbar.vue:290 #: src/page/albums.vue:214 msgid "Sort Order" msgstr "Sorteervolgorde" @@ -2854,7 +2889,7 @@ msgstr "Stapel foto's geneem op presies dieselfde tyd en plek gebaseer op hul me msgid "Stackable" msgstr "Stapelbaar" -#: src/component/navigation.vue:421 src/page/settings/content.vue:136 +#: src/component/navigation.vue:423 src/page/settings/content.vue:136 msgid "Stacks" msgstr "Stapels" @@ -2882,16 +2917,16 @@ msgstr "Berging" msgid "Streets" msgstr "Strate" -#: src/component/photo/edit/details.vue:494 +#: src/component/photo/edit/details.vue:468 #: src/component/photo/edit/labels.vue:44 msgid "Subject" msgstr "Onderwerp" -#: src/page/about/feedback.vue:162 src/page/about/feedback.vue:163 +#: src/page/about/feedback.vue:163 src/page/about/feedback.vue:164 msgid "Submit" msgstr "Dien in" -#: src/component/settings/passcode.vue:132 +#: src/component/settings/passcode.vue:136 msgid "Successfully activated" msgstr "Suksesvol geaktiveer" @@ -2900,23 +2935,23 @@ msgid "Successfully Connected" msgstr "Suksesvol gekoppel" #: src/component/session/remove/dialog.vue:32 -#: src/component/settings/apps.vue:218 +#: src/component/settings/apps.vue:222 msgid "Successfully deleted" msgstr "Suksesvol uitgevee" -#: src/component/settings/passcode.vue:107 +#: src/component/settings/passcode.vue:108 msgid "Successfully verified" msgstr "Suksesvol geverifieer" -#: src/component/user/edit/dialog.vue:398 src/page/admin/users.vue:163 +#: src/component/user/edit/dialog.vue:399 src/page/admin/users.vue:165 msgid "Super Admin" msgstr "Super Admin" -#: src/component/service/add.vue:122 +#: src/component/service/add.vue:123 msgid "Support for additional services, like Google Drive, will be added over time." msgstr "Ondersteuning vir bykomende dienste, soos Google Drive, sal mettertyd bygevoeg word." -#: src/component/confirm/sponsor.vue:37 src/component/navigation.vue:1629 +#: src/component/confirm/sponsor.vue:38 src/component/navigation.vue:1660 msgid "Support Our Mission" msgstr "Ondersteun ons missie" @@ -2924,7 +2959,7 @@ msgstr "Ondersteun ons missie" msgid "Sync" msgstr "Sinkroniseer" -#: src/component/service/edit.vue:289 +#: src/component/service/edit.vue:290 msgid "Sync raw and video files" msgstr "Sinkroniseer rou- en videolêers" @@ -2950,23 +2985,23 @@ msgstr "Terrein" msgid "Text" msgstr "Teks" -#: src/component/photo/edit/details.vue:32 src/page/people/new.vue:71 +#: src/component/photo/edit/details.vue:40 src/page/people/new.vue:71 msgid "Text too long" msgstr "Teks te lank" -#: src/page/about/about.vue:145 +#: src/page/about/about.vue:146 msgid "Thank You for Your Support!" msgstr "Dankie vir jou ondersteuning!" -#: src/page/about/about.vue:79 src/page/about/about.vue:85 +#: src/page/about/about.vue:80 src/page/about/about.vue:86 msgid "That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality." msgstr "Dit is hoekom PhotoPrism van die grond af gebou is om te werk waar jy dit ook al nodig het, sonder om vryheid, privaatheid of funksionaliteit in te boet." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "The index currently contains %{n} hidden files." msgstr "Die indeks bevat tans %{n} versteekte lêers." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates." msgstr "Hulle formaat word dalk nie ondersteun nie, hulle is nog nie na JPEG omgeskakel nie of daar is duplikate." @@ -2981,44 +3016,44 @@ msgstr "Tema" msgid "This field is required" msgstr "Hierdie veld word vereis" -#: src/component/settings/webdav.vue:100 src/page/settings/services.vue:144 +#: src/component/settings/webdav.vue:101 src/page/settings/services.vue:147 msgid "This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local." msgstr "Dit plaas die oorspronklike lêergids as 'n netwerkaandrywer en laat jou toe om lêers van jou rekenaar of slimfoon oop te maak, te redigeer en uit te vee asof dit plaaslik is." -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Time UTC" msgstr "Tyd UTC" -#: src/component/photo/edit/details.vue:219 src/page/settings/general.vue:108 +#: src/component/photo/edit/details.vue:221 src/page/settings/general.vue:108 msgid "Time Zone" msgstr "Tydsone" -#: src/component/service/edit.vue:408 +#: src/component/service/edit.vue:409 msgid "Timeout" msgstr "Uitteltyd" -#: src/component/user/edit/dialog.vue:98 src/component/user/edit/dialog.vue:99 +#: src/component/user/edit/dialog.vue:99 src/component/user/edit/dialog.vue:100 #: src/page/settings/account.vue:84 src/page/settings/account.vue:86 msgctxt "Account" msgid "Title" msgstr "Titel" -#: src/component/photo/edit/details.vue:73 +#: src/component/photo/edit/details.vue:75 msgctxt "Photo" msgid "Title" msgstr "Titel" -#: src/component/photo/edit/info.vue:59 src/component/photo/edit/info.vue:155 +#: src/component/photo/edit/info.vue:61 src/component/photo/edit/info.vue:155 #: src/component/photo/edit/labels.vue:40 src/component/photo/view/list.vue:114 #: src/component/sidebar/info.vue:57 msgid "Title" msgstr "Titel" -#: src/page/settings/account.vue:553 src/page/settings/account.vue:555 +#: src/page/settings/account.vue:559 src/page/settings/account.vue:561 msgid "Title / Position" msgstr "Titel / Posisie" -#: src/page/albums.vue:83 +#: src/page/albums.vue:84 msgid "Title too long" msgstr "Titel te lank" @@ -3026,19 +3061,19 @@ msgstr "Titel te lank" msgid "to" msgstr "aan" -#: src/component/settings/passcode.vue:312 +#: src/component/settings/passcode.vue:315 msgid "To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place." msgstr "Om te verhoed dat jy uit jou rekening gesluit word, laai asseblief hierdie herstelkode nou af, druk of kopieer dit en hou dit op 'n veilige plek." -#: src/component/settings/apps.vue:272 +#: src/component/settings/apps.vue:275 msgid "To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:" msgstr "Om 'n nuwe programspesifieke wagwoord te genereer, voer asseblief die naam en magtigingsomvang van die toepassing in en kies 'n vervaldatum:" -#: src/component/settings/passcode.vue:400 +#: src/component/settings/passcode.vue:403 msgid "To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:" msgstr "Om oor te skakel na 'n nuwe authenticator-toepassing of -toestel, deaktiveer eers twee-faktor-stawing en heraktiveer dit dan:" -#: src/page/connect.vue:221 src/page/connect.vue:230 +#: src/page/connect.vue:223 src/page/connect.vue:232 msgid "To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:" msgstr "Om op te gradeer, kan jy óf 'n aktiveringskode invoer óf \"Registreer\" klik om op ons webwerf aan te meld:" @@ -3046,7 +3081,7 @@ msgstr "Om op te gradeer, kan jy óf 'n aktiveringskode invoer óf \"Registreer\ msgid "Today" msgstr "Vandag" -#: src/component/album/toolbar.vue:70 src/component/photo/toolbar.vue:78 +#: src/component/album/toolbar.vue:71 src/component/photo/toolbar.vue:78 msgid "Toggle View" msgstr "Wissel aansig" @@ -3073,20 +3108,24 @@ msgstr "Probleemoplossing" msgid "Try again using other filters or keywords." msgstr "Probeer weer met ander filters of sleutelwoorde." -#: src/component/settings/passcode.vue:380 +#: src/component/settings/passcode.vue:383 msgid "Two-factor authentication has been enabled for your account." msgstr "Twee-faktor-stawing is vir jou rekening geaktiveer." #: src/component/photo/edit/files.vue:58 src/component/photo/edit/files.vue:330 -#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:388 +#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:389 msgid "Type" msgstr "Tik" -#: src/options/auth.js:13 +#: src/component/album/toolbar.vue:178 +msgid "Unable to delete" +msgstr "Kan nie verwyder nie" + +#: src/options/auth.js:14 msgid "Unauthorized" msgstr "Ongemagtig" -#: src/component/photo/edit/people.vue:94 +#: src/component/photo/edit/people.vue:95 msgid "Undo" msgstr "Ontdoen" @@ -3094,16 +3133,16 @@ msgstr "Ontdoen" msgid "Unique ID" msgstr "Unieke ID" -#: src/page/settings/account.vue:451 src/page/settings/account.vue:476 -#: src/page/settings/account.vue:501 src/common/util.js:487 -#: src/component/photo/edit/details.vue:21 -#: src/component/photo/edit/details.vue:111 -#: src/component/photo/edit/details.vue:138 -#: src/component/photo/edit/details.vue:164 src/component/sidebar/info.vue:43 -#: src/model/album.js:193 src/model/photo.js:323 src/model/photo.js:784 -#: src/model/photo.js:809 src/model/photo.js:832 src/model/photo.js:850 -#: src/model/photo.js:897 src/model/photo.js:905 src/model/photo.js:994 -#: src/model/photo.js:1016 src/model/photo.js:1061 src/model/photo.js:1074 +#: src/page/settings/account.vue:457 src/page/settings/account.vue:482 +#: src/page/settings/account.vue:507 src/common/util.js:488 +#: src/component/photo/edit/details.vue:27 +#: src/component/photo/edit/details.vue:113 +#: src/component/photo/edit/details.vue:140 +#: src/component/photo/edit/details.vue:166 src/component/sidebar/info.vue:43 +#: src/model/album.js:193 src/model/photo.js:331 src/model/photo.js:821 +#: src/model/photo.js:846 src/model/photo.js:869 src/model/photo.js:887 +#: src/model/photo.js:934 src/model/photo.js:942 src/model/photo.js:1031 +#: src/model/photo.js:1053 src/model/photo.js:1098 src/model/photo.js:1111 #: src/model/user.js:157 src/options/options.js:51 src/options/options.js:69 #: src/options/options.js:86 src/options/options.js:100 #: src/options/options.js:112 src/page/library/errors.vue:251 @@ -3116,7 +3155,7 @@ msgstr "Onbekend" msgid "Unregistered" msgstr "Ongeregistreer" -#: src/app/routes.js:215 src/component/navigation.vue:644 +#: src/app/routes.js:223 src/component/navigation.vue:648 msgid "Unsorted" msgstr "Ongesorteer" @@ -3124,7 +3163,7 @@ msgstr "Ongesorteer" msgid "Unstack" msgstr "Ontstapel" -#: src/component/photo/edit/files.vue:519 src/component/photo/edit/info.vue:416 +#: src/component/photo/edit/files.vue:521 src/component/photo/edit/info.vue:416 msgid "Updated" msgstr "Opgedateer" @@ -3140,7 +3179,7 @@ msgstr "Dateer indeks op" msgid "Updating moments" msgstr "Dateer tans oomblikke op" -#: src/component/user/edit/dialog.vue:154 +#: src/component/user/edit/dialog.vue:155 msgid "Updating picture…" msgstr "Dateer tans prent op …" @@ -3152,21 +3191,21 @@ msgstr "Opdatering van voorskoue" msgid "Updating stacks" msgstr "Dateer stapels op" -#: src/page/connect.vue:57 src/component/navigation.vue:1500 -#: src/component/navigation.vue:1614 src/component/navigation.vue:1999 +#: src/page/connect.vue:57 src/component/navigation.vue:1526 +#: src/component/navigation.vue:1644 src/component/navigation.vue:2047 #: src/page/connect.vue:58 msgid "Upgrade" msgstr "Gradeer op" -#: src/page/about/about.vue:123 src/page/connect.vue:202 -#: src/component/confirm/sponsor.vue:98 src/page/about/about.vue:113 -#: src/page/connect.vue:206 +#: src/page/about/about.vue:124 src/page/connect.vue:204 +#: src/component/confirm/sponsor.vue:99 src/page/about/about.vue:114 +#: src/page/connect.vue:208 msgid "Upgrade Now" msgstr "Gradeer nou op" -#: src/component/album/toolbar.vue:108 src/component/navigation.vue:1824 -#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:144 -#: src/component/upload/dialog.vue:51 src/page/albums.vue:183 +#: src/component/album/toolbar.vue:113 src/component/navigation.vue:1860 +#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:145 +#: src/component/upload/dialog.vue:51 src/page/albums.vue:185 #: src/page/labels.vue:122 src/page/library/import.vue:133 #: src/page/settings/general.vue:307 src/page/settings/services.vue:38 msgid "Upload" @@ -3176,21 +3215,21 @@ msgstr "Laai op" msgid "Upload complete" msgstr "Oplaai voltooi" -#: src/component/upload/dialog.vue:133 +#: src/component/upload/dialog.vue:135 msgid "Upload complete. Indexing…" msgstr "Oplaai voltooi. Indekseer tans …" #: src/component/upload/dialog.vue:296 src/component/upload/dialog.vue:315 -#: src/component/upload/dialog.vue:129 +#: src/component/upload/dialog.vue:131 msgid "Upload failed" msgstr "Oplegging misluk" -#: src/component/service/edit.vue:257 +#: src/component/service/edit.vue:258 msgid "Upload local files" msgstr "Laai plaaslike lêers op" -#: src/component/user/edit/dialog.vue:380 #: src/component/user/edit/dialog.vue:381 +#: src/component/user/edit/dialog.vue:382 msgid "Upload Path" msgstr "Oplaai pad" @@ -3198,7 +3237,7 @@ msgstr "Oplaai pad" msgid "Upload to WebDAV and share links with friends." msgstr "Laai op na WebDAV en deel skakels met vriende." -#: src/component/upload/dialog.vue:131 +#: src/component/upload/dialog.vue:133 msgid "Uploading %{n} of %{t}…" msgstr "Laai tans %{n} van %{t} op…" @@ -3211,7 +3250,7 @@ msgstr "Laai tans foto's op …" msgid "Uploading…" msgstr "Laai tans op …" -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Uploads that may contain such images will be rejected automatically." msgstr "Oplaaie wat sulke beelde kan bevat, sal outomaties verwerp word." @@ -3219,7 +3258,7 @@ msgstr "Oplaaie wat sulke beelde kan bevat, sal outomaties verwerp word." msgid "Use Presets" msgstr "Gebruik voorafinstellings" -#: src/component/settings/passcode.vue:283 +#: src/component/settings/passcode.vue:286 msgid "Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:" msgstr "Gebruik die volgende terugstellingkode om toegang tot jou rekening te kry wanneer jy nie 'n geldige verifikasiekode met jou staafmakerprogram kan genereer nie:" @@ -3227,12 +3266,12 @@ msgstr "Gebruik die volgende terugstellingkode om toegang tot jou rekening te kr msgid "Use your recovery code or contact an administrator for help." msgstr "Gebruik jou herstelkode of kontak 'n administrateur vir hulp." -#: src/options/admin.js:10 src/page/admin/sessions.vue:59 -#: src/page/admin/sessions.vue:242 src/model/user.js:361 src/options/auth.js:7 +#: src/options/admin.js:14 src/page/admin/sessions.vue:59 +#: src/page/admin/sessions.vue:243 src/model/user.js:361 src/options/auth.js:8 msgid "User" msgstr "Gebruiker" -#: src/component/navigation.vue:1979 +#: src/component/navigation.vue:2025 msgid "User Guide" msgstr "Handleiding" @@ -3240,14 +3279,14 @@ msgstr "Handleiding" msgid "User Interface" msgstr "Gebruikerskoppelvlak" -#: src/component/user/add/dialog.vue:87 src/component/user/add/dialog.vue:88 -#: src/page/admin/sessions.vue:220 src/page/admin/users.vue:71 -#: src/component/service/add.vue:85 src/component/service/edit.vue:337 +#: src/component/user/add/dialog.vue:88 src/component/user/add/dialog.vue:89 +#: src/page/admin/sessions.vue:221 src/page/admin/users.vue:73 +#: src/component/service/add.vue:86 src/component/service/edit.vue:338 #: src/component/share/dialog.vue:26 msgid "Username" msgstr "Gebruikersnaam" -#: src/component/navigation.vue:1435 +#: src/component/navigation.vue:1461 msgid "Users" msgstr "Gebruikers" @@ -3257,18 +3296,18 @@ msgstr "Gebruikers" msgid "Vector" msgstr "Vektor" -#: src/component/navigation.vue:440 +#: src/component/navigation.vue:442 msgid "Vectors" msgstr "Vektore" -#: src/component/settings/passcode.vue:227 src/page/auth/login.vue:144 +#: src/component/settings/passcode.vue:230 src/page/auth/login.vue:144 msgid "Verification Code" msgstr "Verifikasie kode" #: src/component/photo/view/cards.vue:363 #: src/component/photo/view/cards.vue:491 src/component/photo/view/list.vue:190 #: src/component/photo/view/mosaic.vue:207 src/model/file.js:221 -#: src/model/photo.js:921 src/model/photo.js:939 src/options/options.js:293 +#: src/model/photo.js:958 src/model/photo.js:976 src/options/options.js:293 msgid "Video" msgstr "Video" @@ -3277,12 +3316,12 @@ msgstr "Video" msgid "Video Duration" msgstr "Video Duur" -#: src/app/routes.js:243 src/component/navigation.vue:728 +#: src/app/routes.js:251 src/component/navigation.vue:734 #: src/options/options.js:200 msgid "Videos" msgstr "Video's" -#: src/component/photo/toolbar.vue:261 src/component/photo/view/cards.vue:350 +#: src/component/photo/toolbar.vue:263 src/component/photo/view/cards.vue:350 #: src/component/photo/view/mosaic.vue:194 msgid "View" msgstr "Beskou" @@ -3291,11 +3330,11 @@ msgstr "Beskou" msgid "View search results as a list." msgstr "Bekyk soekresultate as 'n lys." -#: src/options/admin.js:14 src/options/auth.js:8 +#: src/options/admin.js:18 src/options/auth.js:9 msgid "Viewer" msgstr "Kyker" -#: src/page/admin/sessions.vue:271 src/options/auth.js:12 +#: src/page/admin/sessions.vue:272 src/options/auth.js:13 msgid "Visitor" msgstr "Besoeker" @@ -3307,34 +3346,34 @@ msgstr "Visuele ooreenkoms" msgid "Warning" msgstr "Waarskuwing" -#: src/page/about/feedback.vue:60 +#: src/page/about/feedback.vue:61 msgid "We appreciate your feedback!" msgstr "Ons waardeer jou terugvoer!" -#: src/page/about/feedback.vue:63 +#: src/page/about/feedback.vue:64 msgid "We do our best to respond within five business days or less." msgstr "Ons doen ons bes om binne vyf werksdae of minder te reageer." -#: src/component/user/add/dialog.vue:235 src/component/user/edit/dialog.vue:415 -#: src/page/admin/users.vue:80 +#: src/component/user/add/dialog.vue:236 src/component/user/edit/dialog.vue:416 +#: src/page/admin/users.vue:82 msgid "Web Login" msgstr "Web aanmeld" -#: src/component/user/add/dialog.vue:248 src/component/user/edit/dialog.vue:432 -#: src/page/admin/users.vue:82 src/options/auth.js:55 src/options/auth.js:68 +#: src/component/user/add/dialog.vue:249 src/component/user/edit/dialog.vue:433 +#: src/page/admin/users.vue:84 src/options/auth.js:56 src/options/auth.js:69 #: src/options/options.js:444 msgid "WebDAV" msgstr "WebDAV" -#: src/component/settings/webdav.vue:51 +#: src/component/settings/webdav.vue:52 msgid "WebDAV clients can connect to PhotoPrism using the following URL:" msgstr "WebDAV-kliënte kan aan PhotoPrism koppel deur die volgende URL te gebruik:" -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism." msgstr "WebDAV-kliënte, soos Microsoft se Windows Explorer of Apple's Finder, kan direk aan PhotoPrism koppel." -#: src/component/service/upload.vue:50 src/component/share/dialog.vue:220 +#: src/component/service/upload.vue:51 src/component/share/dialog.vue:220 msgid "WebDAV Upload" msgstr "WebDAV oplaai" @@ -3342,8 +3381,8 @@ msgstr "WebDAV oplaai" msgid "WebGL support is disabled in your browser" msgstr "WebGL-ondersteuning is in jou blaaier gedeaktiveer" -#: src/page/settings/account.vue:615 src/page/settings/account.vue:709 -#: src/page/settings/account.vue:601 +#: src/page/settings/account.vue:621 src/page/settings/account.vue:715 +#: src/page/settings/account.vue:607 msgid "Website" msgstr "Webwerf" @@ -3351,12 +3390,12 @@ msgstr "Webwerf" msgid "White" msgstr "Wit" -#: src/page/settings/account.vue:532 +#: src/page/settings/account.vue:538 msgid "Work Details" msgstr "Werkbesonderhede" -#: src/page/settings/account.vue:500 src/component/photo/edit/details.vue:163 -#: src/component/photo/toolbar.vue:315 src/page/albums.vue:159 +#: src/page/settings/account.vue:506 src/component/photo/edit/details.vue:165 +#: src/component/photo/toolbar.vue:317 src/page/albums.vue:159 msgid "Year" msgstr "Jaar" @@ -3364,21 +3403,21 @@ msgstr "Jaar" msgid "Yellow" msgstr "Geel" -#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:58 -#: src/component/photo/archive/dialog.vue:58 +#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:59 +#: src/component/photo/archive/dialog.vue:59 #: src/component/photo/clipboard.vue:200 src/component/photo/edit/files.vue:365 #: src/component/photo/edit/files.vue:395 #: src/component/photo/edit/files.vue:401 #: src/component/photo/edit/files.vue:407 -#: src/component/photo/edit/files.vue:510 src/component/photo/edit/info.vue:281 +#: src/component/photo/edit/files.vue:512 src/component/photo/edit/info.vue:281 #: src/component/photo/edit/info.vue:297 src/component/photo/edit/info.vue:313 #: src/component/photo/edit/info.vue:329 src/component/photo/edit/info.vue:344 -#: src/component/photo/toolbar.vue:434 +#: src/component/photo/toolbar.vue:436 msgid "Yes" msgstr "Ja" -#: src/component/confirm/sponsor.vue:59 src/page/about/about.vue:158 -#: src/page/connect.vue:315 +#: src/component/confirm/sponsor.vue:60 src/page/about/about.vue:160 +#: src/page/connect.vue:317 msgid "You are welcome to contact us at membership@photoprism.app for questions regarding your membership." msgstr "Jy is welkom om ons te kontak by membership@photoprism.app vir vrae oor jou lidmaatskap." @@ -3390,7 +3429,11 @@ msgstr "Jy kan net een album aflaai" msgid "You can only download one label" msgstr "Jy kan net een etiket aflaai" -#: src/component/upload/dialog.vue:203 +#: src/component/location/dialog.vue:178 +msgid "You can search for a location or move the marker on the map to change the position:" +msgstr "Jy kan na 'n ligging soek of die merker op die kaart skuif om die posisie te verander:" + +#: src/component/upload/dialog.vue:205 msgid "You can upload up to %{n} files for test purposes." msgstr "Jy kan tot %{n} lêers oplaai vir toetsdoeleindes." @@ -3403,7 +3446,7 @@ msgstr "Jy mag net een item kies" msgid "You may rescan your library to find additional faces." msgstr "Jy kan jou biblioteek herskandeer om bykomende gesigte te vind." -#: src/page/connect.vue:146 src/page/connect.vue:150 +#: src/page/connect.vue:147 src/page/connect.vue:151 msgid "Your account has been successfully connected." msgstr "Jou rekening is suksesvol gekoppel." @@ -3411,8 +3454,8 @@ msgstr "Jou rekening is suksesvol gekoppel." msgid "Your browser does not support WebGL" msgstr "Jou blaaier ondersteun nie WebGL nie" -#: src/component/confirm/sponsor.vue:43 src/page/about/about.vue:97 -#: src/page/about/about.vue:156 src/page/connect.vue:220 +#: src/component/confirm/sponsor.vue:44 src/page/about/about.vue:98 +#: src/page/about/about.vue:158 src/page/connect.vue:222 msgid "Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy." msgstr "Jou volgehoue ondersteuning help ons om gereelde opdaterings te verskaf en onafhanklik te bly, sodat ons ons missie kan vervul en jou privaatheid kan beskerm." @@ -3493,9 +3536,6 @@ msgstr "Zoem in/uit" #~ msgid "Open Folder" #~ msgstr "Maak vouer oop" -#~ msgid "Cannot copy to clipboard" -#~ msgstr "Kan nie na knipbord kopieer nie" - #~ msgid "Sound" #~ msgstr "Klank" diff --git a/frontend/src/locales/ar.po b/frontend/src/locales/ar.po index 8edddc37a..58cead8d4 100644 --- a/frontend/src/locales/ar.po +++ b/frontend/src/locales/ar.po @@ -3,15 +3,15 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: ci@photoprism.app\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2025-04-18 00:02+0000\n" -"Last-Translator: NoufAM \n" +"PO-Revision-Date: 2025-07-06 08:58+0000\n" +"Last-Translator: DeepL \n" "Language-Team: \n" "Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" -"X-Generator: Weblate 5.10.4\n" +"X-Generator: Weblate 5.12.2\n" "Generated-By: easygettext\n" #: src/locales.js:268 @@ -42,7 +42,7 @@ msgstr "تم اختيار {0}" msgid "{0}-{1} of {2}" msgstr "{0}-{1} من {2}" -#: src/page/albums.vue:612 +#: src/page/albums.vue:617 msgid "%{n} albums found" msgstr "تم العثور على %{n} من الألبومات" @@ -50,25 +50,25 @@ msgstr "تم العثور على %{n} من الألبومات" msgid "%{n} files uploaded" msgstr "تم تحميل %{n} من الملفات" -#: src/page/library/browse.vue:362 +#: src/page/library/browse.vue:364 msgid "%{n} folders found" msgstr "تم العثور على %{n} من مجلدات" -#: src/component/navigation.vue:1676 +#: src/component/navigation.vue:1707 msgid "%{n} GB of %{q} GB used" msgstr "%{n} جيجابايت من %{q} جيجابايت مستخدمة" -#: src/page/labels.vue:528 +#: src/page/labels.vue:533 msgid "%{n} labels found" msgstr "تم العثور على %{n} من التصنيفات" -#: src/page/people/new.vue:350 src/page/people/new.vue:447 -#: src/page/people/recognized.vue:536 +#: src/page/people/new.vue:350 src/page/people/new.vue:450 +#: src/page/people/recognized.vue:541 msgid "%{n} people found" msgstr "تم العثور على %{n} من الأشخاص" -#: src/page/album/photos.vue:308 src/page/album/photos.vue:493 -#: src/page/photos.vue:441 src/page/photos.vue:631 +#: src/page/album/photos.vue:313 src/page/album/photos.vue:504 +#: src/page/photos.vue:446 src/page/photos.vue:641 msgid "%{n} pictures found" msgstr "تم العثور على %{n} صورة" @@ -88,12 +88,12 @@ msgstr "1 ساعة" msgid "12 hours" msgstr "12 ساعة" -#: src/component/user/edit/dialog.vue:452 src/page/settings/account.vue:324 -#: src/component/settings/passcode.vue:75 +#: src/component/user/edit/dialog.vue:453 src/page/settings/account.vue:325 +#: src/component/settings/passcode.vue:78 msgid "2-Factor Authentication" msgstr "المصادقة الثنائية" -#: src/component/user/edit/dialog.vue:451 src/options/auth.js:46 +#: src/component/user/edit/dialog.vue:452 src/options/auth.js:47 msgid "2FA" msgstr "2FA" @@ -109,20 +109,20 @@ msgstr "انقر للنسخ إلى الحافظة الخاصة بك." msgid "A new version of %{s} is available:" msgstr "يتوفر إصدار جديد من %{s}:" -#: src/component/user/edit/dialog.vue:233 -#: src/component/user/edit/dialog.vue:234 src/page/about/about.vue:56 +#: src/component/user/edit/dialog.vue:234 +#: src/component/user/edit/dialog.vue:235 src/page/about/about.vue:56 #: src/page/settings/account.vue:248 src/page/settings/account.vue:249 -#: src/app/routes.js:63 src/component/navigation.vue:1521 -#: src/page/people/recognized.vue:292 +#: src/app/routes.js:63 src/component/navigation.vue:1547 +#: src/page/people/recognized.vue:296 msgid "About" msgstr "عن" -#: src/options/auth.js:26 src/options/auth.js:44 +#: src/options/auth.js:27 src/options/auth.js:45 msgid "Access Token" msgstr "رمز وصول" -#: src/component/navigation.vue:87 src/component/navigation.vue:1788 -#: src/component/service/upload.vue:71 src/model/service.js:96 +#: src/component/navigation.vue:87 src/component/navigation.vue:1822 +#: src/component/service/upload.vue:72 src/model/service.js:96 #: src/model/user.js:171 src/page/settings.vue:85 #: src/page/settings/general.vue:582 msgid "Account" @@ -136,7 +136,7 @@ msgstr "تم إنشاء الحساب" msgid "Account deleted" msgstr "تم حذف الحساب" -#: src/page/admin/users.vue:335 +#: src/page/admin/users.vue:337 msgid "Account restored" msgstr "تم استعادة الحساب" @@ -157,8 +157,8 @@ msgstr "إجراء" msgid "Actions" msgstr "أجراءات" -#: src/page/connect.vue:294 src/component/settings/passcode.vue:346 -#: src/page/connect.vue:303 +#: src/page/connect.vue:296 src/component/settings/passcode.vue:349 +#: src/page/connect.vue:305 msgid "Activate" msgstr "تفعيل" @@ -174,20 +174,20 @@ msgstr "قم بالتفعيل للفرز تصاعديًا." msgid "Activate to sort descending." msgstr "قم بالتفعيل لفرز تنازليًا." -#: src/page/connect.vue:231 src/page/connect.vue:240 +#: src/page/connect.vue:233 src/page/connect.vue:242 msgid "Activation Code" msgstr "رمز التفعيل" -#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:83 -#: src/component/settings/apps.vue:448 +#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:92 +#: src/component/settings/apps.vue:451 msgid "Add" msgstr "إضافة" -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:246 msgid "Add %{s}?" msgstr "إضافة %{s}؟" -#: src/component/user/add/dialog.vue:56 src/component/service/add.vue:49 +#: src/component/user/add/dialog.vue:57 src/component/service/add.vue:50 msgid "Add Account" msgstr "إضافة حساب" @@ -204,8 +204,8 @@ msgid "Add Link" msgstr "إضافة رابط" #: src/component/photo/edit/people.vue:25 -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:57 -#: src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:57 +#: src/page/people/new.vue:246 msgid "Add person?" msgstr "إضافة شخص؟" @@ -221,10 +221,15 @@ msgstr "أضف الصور من نتائج البحث عن طريق تحديده msgid "Add to album" msgstr "أضف إلى الألبوم" -#: src/component/photo/edit/files.vue:514 +#: src/component/photo/edit/files.vue:516 msgid "Added" msgstr "مضاف" +#: src/component/location/dialog.vue:68 src/component/location/dialog.vue:90 +#: src/component/photo/edit/details.vue:246 +msgid "Adjust Location" +msgstr "ضبط الموقع" + #: src/options/admin.js:6 src/options/auth.js:6 msgid "Admin" msgstr "مسؤل" @@ -245,7 +250,7 @@ msgstr "بعد 3 ايام" msgid "After 7 days" msgstr "بعد 7 أيام" -#: src/component/settings/passcode.vue:93 +#: src/component/settings/passcode.vue:96 msgid "After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:" msgstr "بعد إدخال كلمة المرور الخاصة بك للتأكيد، يمكنك إعداد المصادقة الثنائية باستخدام تطبيق أو جهاز مصادقة متوافق:" @@ -277,12 +282,16 @@ msgstr "البوم" msgid "Album Backups" msgstr "النسخ الاحتياطية للألبوم" -#: src/page/albums.vue:674 +#: src/page/albums.vue:685 msgid "Album created" msgstr "تم إنشاء الألبوم" -#: src/app/routes.js:176 src/component/album/toolbar.vue:51 -#: src/component/navigation.vue:604 src/component/navigation.vue:1882 +#: src/page/album/photos.vue:589 +msgid "Album deleted" +msgstr "تم حذف الألبوم" + +#: src/app/routes.js:184 src/component/album/toolbar.vue:55 +#: src/component/navigation.vue:607 src/component/navigation.vue:1922 #: src/component/photo/edit/info.vue:220 src/options/options.js:198 msgid "Albums" msgstr "ألبومات" @@ -295,7 +304,7 @@ msgstr "تم حذف الألبومات" msgid "All" msgstr "الجميع" -#: src/page/albums.vue:465 +#: src/page/albums.vue:470 msgid "All %{n} albums loaded" msgstr "تم تحميل كافة الألبومات الـ %{n}" @@ -311,8 +320,8 @@ msgstr "تم تحميل جميع الأشخاص الـ %{n}" msgid "All Cameras" msgstr "جميع الكاميرات" -#: src/component/photo/toolbar.vue:74 src/page/albums.vue:44 -#: src/page/albums.vue:240 src/page/albums.vue:746 +#: src/component/photo/toolbar.vue:74 src/page/albums.vue:45 +#: src/page/albums.vue:242 src/page/albums.vue:757 msgid "All Categories" msgstr "جميع الفئات" @@ -344,7 +353,7 @@ msgstr "كل الشهور" msgid "All originals" msgstr "جميع النسخ الأصلية" -#: src/component/photo/toolbar.vue:76 src/page/albums.vue:93 +#: src/component/photo/toolbar.vue:76 src/page/albums.vue:94 msgid "All Years" msgstr "جميع السنوات" @@ -356,7 +365,7 @@ msgstr "بدلاً من ذلك ، يمكنك تحميل الملفات مباش msgid "Altitude" msgstr "ارتفاع" -#: src/component/photo/edit/details.vue:272 +#: src/component/photo/edit/details.vue:297 msgid "Altitude (m)" msgstr "الارتفاع (م)" @@ -364,8 +373,7 @@ msgstr "الارتفاع (م)" msgid "AM" msgstr "صباحاً" -#: src/app/routes.js:257 src/component/navigation.vue:791 -#: src/component/photo/edit/files.vue:364 +#: src/app/routes.js:265 src/component/photo/edit/files.vue:364 #: src/component/photo/view/cards.vue:327 #: src/component/photo/view/cards.vue:511 src/component/photo/view/list.vue:184 #: src/component/photo/view/mosaic.vue:171 src/options/options.js:301 @@ -376,43 +384,47 @@ msgstr "متحركة" msgid "Animation" msgstr "صور متحركة" +#: src/component/navigation.vue:797 +msgid "Animations" +msgstr "الرسوم المتحركة" + #: src/component/share/dialog.vue:207 msgid "Any private photos and videos remain private and won't be shared." msgstr "أي صور ومقاطع فيديو خاصة تبقى خاصة ولن تتم مشاركتها." -#: src/component/service/edit.vue:372 +#: src/component/service/edit.vue:373 msgid "API Key" msgstr "مفتاح API" -#: src/page/admin/sessions.vue:357 src/options/auth.js:25 +#: src/page/admin/sessions.vue:361 src/options/auth.js:26 msgid "Application" msgstr "طلب" -#: src/component/photo/edit/details.vue:641 +#: src/component/photo/edit/details.vue:615 msgid "Apply" msgstr "تقديم الطلب" #: src/component/photo/clipboard.vue:64 -#: src/component/photo/edit/details.vue:640 +#: src/component/photo/edit/details.vue:614 #: src/component/photo/view/cards.vue:416 msgid "Approve" msgstr "الموافقة" -#: src/page/settings/account.vue:374 src/component/settings/apps.vue:91 +#: src/page/settings/account.vue:378 src/component/settings/apps.vue:94 msgid "Apps and Devices" msgstr "التطبيقات والأجهزة" -#: src/app/routes.js:287 src/component/lightbox.vue:1207 -#: src/component/navigation.vue:555 src/component/photo/clipboard.vue:142 +#: src/app/routes.js:295 src/component/lightbox.vue:1207 +#: src/component/navigation.vue:557 src/component/photo/clipboard.vue:142 #: src/component/photo/view/cards.vue:398 src/page/settings/general.vue:432 msgid "Archive" msgstr "أرشيف" -#: src/component/lightbox.vue:1982 src/component/photo/edit/info.vue:433 +#: src/component/lightbox.vue:2002 src/component/photo/edit/info.vue:433 msgid "Archived" msgstr "مؤرشف" -#: src/component/photo/archive/dialog.vue:34 +#: src/component/photo/archive/dialog.vue:35 msgid "Are you sure you want to archive the selection?" msgstr "هل أنت متأكد أنك تريد أرشفة ما تم تحديده؟" @@ -420,19 +432,23 @@ msgstr "هل أنت متأكد أنك تريد أرشفة ما تم تحديده msgid "Are you sure you want to delete these albums?" msgstr "هل أنت متأكد أنك تريد حذف هذه الألبومات؟" -#: src/component/label/delete/dialog.vue:34 +#: src/component/label/delete/dialog.vue:35 msgid "Are you sure you want to delete these labels?" msgstr "هل أنت متأكد أنك تريد حذف هذه التصنيفات؟" -#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:36 +#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:37 msgid "Are you sure you want to delete this account?" msgstr "هل أنت متأكد أنك تريد حذف هذا الحساب؟" +#: src/component/album/toolbar.vue:136 +msgid "Are you sure you want to delete this album?" +msgstr "هل أنت متأكد من رغبتك في حذف هذا الألبوم؟" + #: src/component/photo/clipboard.vue:199 msgid "Are you sure you want to permanently delete these pictures?" msgstr "هل أنت متأكد أنك تريد حذف هذه الصور نهائيًا؟" -#: src/component/file/delete/dialog.vue:34 +#: src/component/file/delete/dialog.vue:35 msgid "Are you sure you want to permanently delete this file?" msgstr "هل أنت متأكد أنك تريد حذف هذا الملف نهائيًا؟" @@ -441,7 +457,7 @@ msgstr "هل أنت متأكد أنك تريد حذف هذا الملف نهائ msgid "Are you sure?" msgstr "هل أنت متأكد؟" -#: src/component/photo/edit/details.vue:537 +#: src/component/photo/edit/details.vue:511 msgid "Artist" msgstr "الفنان" @@ -449,14 +465,14 @@ msgstr "الفنان" msgid "Aspect Ratio" msgstr "نسبة العرض إلى الارتفاع" -#: src/app/routes.js:250 src/component/navigation.vue:770 +#: src/app/routes.js:258 src/component/navigation.vue:776 #: src/options/options.js:297 msgid "Audio" msgstr "صوتي" -#: src/component/user/add/dialog.vue:190 src/component/user/edit/dialog.vue:309 -#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:281 -#: src/page/admin/users.vue:75 +#: src/component/user/add/dialog.vue:191 src/component/user/edit/dialog.vue:310 +#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:282 +#: src/page/admin/users.vue:77 msgid "Authentication" msgstr "المصادقة" @@ -464,11 +480,11 @@ msgstr "المصادقة" msgid "Auto" msgstr "آلي" -#: src/component/settings/apps.vue:151 +#: src/component/settings/apps.vue:154 msgid "Back" msgstr "خلف" -#: src/component/scroll.vue:20 +#: src/component/scroll.vue:18 msgid "Back to top" msgstr "العودة إلى الأعلى" @@ -480,26 +496,26 @@ msgstr "دعم" msgid "Badge" msgstr "شارة" -#: src/component/user/edit/dialog.vue:361 #: src/component/user/edit/dialog.vue:362 +#: src/component/user/edit/dialog.vue:363 msgid "Base Path" msgstr "مسار القاعدة" -#: src/page/about/about.vue:95 src/page/connect.vue:220 +#: src/page/about/about.vue:96 src/page/connect.vue:222 msgid "Become a member today, support our mission and enjoy our member benefits!" msgstr "كن عضوًا اليوم ، وادعم مهمتنا واستمتع بمزايا أعضائنا!" -#: src/component/confirm/sponsor.vue:51 src/page/about/about.vue:99 +#: src/component/confirm/sponsor.vue:52 src/page/about/about.vue:100 msgid "Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services." msgstr "نظرًا لكوننا 100 % s ممولًا ومستقلًا ، يمكننا أن نعدك بأننا لن نبيع بياناتك أبدًا وأننا سنتحلى دائمًا بالشفافية بشأن برامجنا وخدماتنا." -#: src/component/user/edit/dialog.vue:258 -#: src/component/user/edit/dialog.vue:259 src/page/settings/account.vue:227 +#: src/component/user/edit/dialog.vue:259 +#: src/component/user/edit/dialog.vue:260 src/page/settings/account.vue:227 #: src/page/settings/account.vue:228 msgid "Bio" msgstr "السيرة الذاتية" -#: src/page/settings/account.vue:431 +#: src/page/settings/account.vue:437 msgid "Birth Date" msgstr "تاريخ الميلاد" @@ -520,7 +536,7 @@ msgid "Brown" msgstr "بني" #: src/component/photo/edit/files.vue:263 src/component/photo/toolbar.vue:141 -#: src/component/upload/dialog.vue:240 +#: src/component/upload/dialog.vue:242 msgid "Browse" msgstr "تصفح" @@ -548,16 +564,16 @@ msgstr "تقرير المشاكل" msgid "Busy, please wait…" msgstr "يتم العمل، الرجاء الانتظار …" -#: src/page/connect.vue:317 +#: src/page/connect.vue:319 msgid "By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct." msgstr "باستخدام البرامج والخدمات التي نقدمها ، فإنك توافق على شروط الخدمة وسياسة الخصوصية ومدونة قواعد السلوك الخاصة بنا." -#: src/app/routes.js:189 src/component/navigation.vue:1081 +#: src/app/routes.js:197 src/component/navigation.vue:1097 #: src/options/options.js:204 src/page/settings/general.vue:205 msgid "Calendar" msgstr "تقويم" -#: src/component/photo/edit/details.vue:346 src/component/photo/toolbar.vue:232 +#: src/component/photo/edit/details.vue:320 src/component/photo/toolbar.vue:234 #: src/component/photo/view/cards.vue:467 src/component/photo/view/list.vue:116 msgid "Camera" msgstr "آلة تصوير" @@ -570,12 +586,12 @@ msgstr "المسلسل الكاميرا" msgid "Can't access your authenticator app or device?" msgstr "لا يمكنك الوصول إلى تطبيق أو جهاز المصادقة الخاص بك؟" -#: src/page/album/photos.vue:317 src/page/photos.vue:450 +#: src/page/album/photos.vue:322 src/page/photos.vue:455 msgid "Can't load more, limit reached" msgstr "لا يمكن تحميل المزيد ، تم الوصول إلى الحد الأقصى" #: src/common/clipboard.js:102 src/common/clipboard.js:139 -#: src/page/albums.vue:684 src/page/albums.vue:700 src/page/labels.vue:293 +#: src/page/albums.vue:695 src/page/albums.vue:711 src/page/labels.vue:293 #: src/page/labels.vue:313 src/page/library/browse.vue:233 #: src/page/library/browse.vue:249 src/page/people/new.vue:278 #: src/page/people/new.vue:294 src/page/people/recognized.vue:305 @@ -584,26 +600,31 @@ msgid "Can't select more items" msgstr "لا يمكن تحديد المزيد من العناصر" #: src/component/session/remove/dialog.vue:45 -#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:473 -#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:119 +#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:474 +#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:120 #: src/component/album/delete/dialog.vue:43 -#: src/component/album/edit/dialog.vue:199 src/component/confirm/dialog.vue:43 -#: src/component/file/delete/dialog.vue:47 -#: src/component/label/delete/dialog.vue:47 -#: src/component/label/edit/dialog.vue:107 -#: src/component/people/edit/dialog.vue:120 +#: src/component/album/edit/dialog.vue:200 src/component/confirm/dialog.vue:43 +#: src/component/file/delete/dialog.vue:48 +#: src/component/label/delete/dialog.vue:48 +#: src/component/label/edit/dialog.vue:108 +#: src/component/location/dialog.vue:200 +#: src/component/people/edit/dialog.vue:121 #: src/component/photo/album/dialog.vue:78 src/component/service/add.vue:19 -#: src/component/service/edit.vue:455 src/component/service/remove.vue:49 -#: src/component/service/upload.vue:117 src/component/settings/apps.vue:352 -#: src/component/settings/passcode.vue:249 -#: src/component/settings/passcode.vue:333 -#: src/component/settings/password.vue:159 src/component/share/dialog.vue:28 -#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:123 +#: src/component/service/edit.vue:456 src/component/service/remove.vue:50 +#: src/component/service/upload.vue:118 src/component/settings/apps.vue:355 +#: src/component/settings/passcode.vue:252 +#: src/component/settings/passcode.vue:336 +#: src/component/settings/password.vue:160 src/component/share/dialog.vue:28 +#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:124 #: src/page/library/import.vue:119 src/page/library/index.vue:128 msgid "Cancel" msgstr "إلغاء" -#: src/component/photo/edit/details.vue:87 src/component/photo/edit/info.vue:61 +#: src/common/util.js:863 src/common/util.js:870 +msgid "Cannot copy to clipboard" +msgstr "لا يمكن النسخ إلى الحافظة" + +#: src/component/photo/edit/details.vue:89 src/component/photo/edit/info.vue:63 #: src/component/photo/edit/labels.vue:42 #: src/component/photo/view/cards.vue:445 src/component/sidebar/info.vue:72 msgid "Caption" @@ -617,17 +638,17 @@ msgstr "البطاقات" msgid "Carousel slide {0} of {1}" msgstr "شريحة دائرية {0} من {1}" -#: src/page/about/feedback.vue:82 src/page/about/feedback.vue:83 -#: src/component/album/edit/dialog.vue:128 src/component/photo/toolbar.vue:397 +#: src/page/about/feedback.vue:83 src/page/about/feedback.vue:84 +#: src/component/album/edit/dialog.vue:129 src/component/photo/toolbar.vue:399 #: src/page/albums.vue:187 msgid "Category" msgstr "فئة" -#: src/component/user/edit/dialog.vue:191 src/page/settings/account.vue:201 +#: src/component/user/edit/dialog.vue:192 src/page/settings/account.vue:201 msgid "Change Avatar" msgstr "تغيير الصورة الرمزية" -#: src/page/settings/account.vue:297 src/component/settings/password.vue:48 +#: src/page/settings/account.vue:297 src/component/settings/password.vue:49 msgid "Change Password" msgstr "تغيير كلمة المرور" @@ -644,17 +665,17 @@ msgid "Change private flag" msgstr "تغيير العلم الخاص" #: src/component/user/add/dialog.vue:108 src/component/user/add/dialog.vue:113 -#: src/component/user/edit/dialog.vue:90 src/component/user/edit/dialog.vue:95 +#: src/component/user/edit/dialog.vue:91 src/component/user/edit/dialog.vue:96 #: src/page/settings/account.vue:121 src/page/settings/account.vue:126 msgid "Changes could not be saved" msgstr "لا يمكن حفظ التغييرات" -#: src/component/user/edit/dialog.vue:83 src/component/user/edit/dialog.vue:159 +#: src/component/user/edit/dialog.vue:84 src/component/user/edit/dialog.vue:160 #: src/component/album/edit/dialog.vue:73 -#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1941 +#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1961 #: src/component/photo/edit/files.vue:162 src/component/service/edit.vue:90 #: src/component/share/dialog.vue:92 src/component/share/dialog.vue:111 -#: src/page/albums.vue:677 src/page/people/recognized.vue:119 +#: src/page/albums.vue:688 src/page/people/recognized.vue:119 #: src/page/settings/advanced.vue:62 src/page/settings/content.vue:62 #: src/page/settings/general.vue:108 msgid "Changes successfully saved" @@ -668,7 +689,7 @@ msgstr "تتطلب التغييرات في الإعدادات المتقدمة msgid "Checked" msgstr "التحقق" -#: src/component/photo/edit/files.vue:495 +#: src/component/photo/edit/files.vue:497 msgid "Chroma" msgstr "كروما" @@ -684,24 +705,24 @@ msgstr "تنظيف" msgid "Clear {0}" msgstr "مسح {0}" -#: src/options/auth.js:11 src/options/auth.js:23 src/options/auth.js:43 +#: src/options/auth.js:12 src/options/auth.js:24 src/options/auth.js:44 msgid "Client" msgstr "العميل" -#: src/options/auth.js:24 +#: src/options/auth.js:25 msgid "Client Credentials" msgstr "بيانات اعتماد العميل" -#: src/page/admin/sessions.vue:529 src/component/lightbox.vue:284 -#: src/component/lightbox.vue:1009 src/component/lightbox.vue:1010 -#: src/component/photo/edit/details.vue:627 src/component/photo/toolbar.vue:160 -#: src/component/settings/apps.vue:224 src/component/settings/apps.vue:437 -#: src/component/settings/passcode.vue:148 -#: src/component/settings/passcode.vue:456 -#: src/component/settings/passcode.vue:497 -#: src/component/settings/webdav.vue:131 src/component/share/dialog.vue:231 +#: src/component/user/edit/dialog.vue:474 src/page/admin/sessions.vue:536 +#: src/component/lightbox.vue:284 src/component/lightbox.vue:1009 +#: src/component/lightbox.vue:1010 src/component/photo/edit/details.vue:601 +#: src/component/photo/toolbar.vue:161 src/component/settings/apps.vue:227 +#: src/component/settings/apps.vue:440 src/component/settings/passcode.vue:151 +#: src/component/settings/passcode.vue:459 +#: src/component/settings/passcode.vue:500 +#: src/component/settings/webdav.vue:132 src/component/share/dialog.vue:231 #: src/component/sidebar/info.vue:26 src/component/update.vue:57 -#: src/component/upload/dialog.vue:228 src/locales.js:206 +#: src/component/upload/dialog.vue:230 src/locales.js:206 #: src/page/library/errors.vue:253 msgid "Close" msgstr "قريب" @@ -710,11 +731,11 @@ msgstr "قريب" msgid "Codec" msgstr "ترميز" -#: src/component/photo/toolbar.vue:369 +#: src/component/photo/toolbar.vue:371 msgid "Color" msgstr "اللون" -#: src/component/photo/edit/files.vue:483 +#: src/component/photo/edit/files.vue:485 msgid "Color Profile" msgstr "ملف تعريف اللون" @@ -722,7 +743,7 @@ msgstr "ملف تعريف اللون" msgid "Colors" msgstr "الألوان" -#: src/page/connect.vue:260 src/page/connect.vue:269 +#: src/page/connect.vue:262 src/page/connect.vue:271 msgid "Compare Editions" msgstr "قارن الإصدارات" @@ -735,17 +756,18 @@ msgstr "إعادة تفحص كاملة" msgid "Confidence" msgstr "الثقة" +#: src/component/location/dialog.vue:212 #: src/component/photo/album/dialog.vue:90 -#: src/component/settings/passcode.vue:261 +#: src/component/settings/passcode.vue:264 msgid "Confirm" msgstr "التأكيد" -#: src/component/service/add.vue:20 src/page/settings/services.vue:187 +#: src/component/service/add.vue:20 src/page/settings/services.vue:191 msgid "Connect" msgstr "الاتصال" -#: src/page/settings/account.vue:401 src/component/settings/webdav.vue:45 -#: src/page/settings/services.vue:167 +#: src/page/settings/account.vue:406 src/component/settings/webdav.vue:46 +#: src/page/settings/services.vue:170 msgid "Connect via WebDAV" msgstr "الاتصال عبر WebDAV" @@ -753,22 +775,22 @@ msgstr "الاتصال عبر WebDAV" msgid "Connected" msgstr "متصل" -#: src/page/settings/account.vue:640 src/page/settings/account.vue:532 +#: src/page/settings/account.vue:646 src/page/settings/account.vue:538 msgid "Contact Details" msgstr "معلومات الاتصال" -#: src/page/about/feedback.vue:37 src/page/connect.vue:132 -#: src/page/connect.vue:136 +#: src/page/about/feedback.vue:37 src/page/connect.vue:133 +#: src/page/connect.vue:137 msgid "Contact Us" msgstr "اتصل بنا" #: src/page/albums.vue:433 src/page/labels.vue:237 -#: src/page/people/recognized.vue:306 +#: src/page/people/recognized.vue:310 msgid "Contains %{n} pictures." msgstr "يحتوي على %{n} صورة." #: src/page/albums.vue:427 src/page/labels.vue:231 -#: src/page/people/recognized.vue:300 +#: src/page/people/recognized.vue:304 msgid "Contains one picture." msgstr "يحتوي على صورة واحدة." @@ -776,7 +798,7 @@ msgstr "يحتوي على صورة واحدة." msgid "Content" msgstr "محتوى" -#: src/component/settings/apps.vue:163 +#: src/component/settings/apps.vue:166 msgid "Continue" msgstr "المتابعة" @@ -784,7 +806,7 @@ msgstr "المتابعة" msgid "Continue with %{provider}" msgstr "المتابعة مع %{provider}" -#: src/options/admin.js:18 src/options/auth.js:9 +#: src/options/admin.js:22 src/options/auth.js:10 msgid "Contributor" msgstr "مساهم" @@ -792,15 +814,15 @@ msgstr "مساهم" msgid "Converting" msgstr "التحويل" -#: src/common/util.js:846 +#: src/common/util.js:856 msgid "Copied to clipboard" msgstr "نسخ إلى الحافظة" -#: src/component/settings/apps.vue:250 src/component/settings/passcode.vue:358 +#: src/component/settings/apps.vue:253 src/component/settings/passcode.vue:361 msgid "Copy" msgstr "نسخ" -#: src/component/photo/edit/details.vue:516 +#: src/component/photo/edit/details.vue:490 msgid "Copyright" msgstr "حقوق النشر" @@ -808,8 +830,8 @@ msgstr "حقوق النشر" msgid "Couldn't find anything." msgstr "لا يمكن العثور على أي شيء." -#: src/page/settings/account.vue:685 src/component/photo/edit/details.vue:242 -#: src/component/photo/toolbar.vue:203 src/page/settings/account.vue:577 +#: src/page/settings/account.vue:691 src/component/photo/edit/details.vue:268 +#: src/component/photo/toolbar.vue:205 src/page/settings/account.vue:583 msgid "Country" msgstr "دولة" @@ -833,7 +855,7 @@ msgstr "قم بإنشاء ملفات YAML لعمل نسخة احتياطية م msgid "Create YAML sidecar files to back up picture metadata." msgstr "قم بإنشاء ملفات YAML الجانبية لعمل نسخة احتياطية من بيانات تعريف الصورة." -#: src/page/admin/sessions.vue:417 src/component/photo/edit/info.vue:412 +#: src/page/admin/sessions.vue:422 src/component/photo/edit/info.vue:412 msgid "Created" msgstr "تم إنشاءه" @@ -845,11 +867,11 @@ msgstr "إنشاء صور مصغرة لـ" msgid "Cubic: Moderate Quality, Good Performance" msgstr "Cubic: جودة متوسطة ، أداء جيد" -#: src/component/settings/password.vue:85 +#: src/component/settings/password.vue:86 msgid "Current Password" msgstr "كلمة المرور الحالية" -#: src/options/themes.js:919 src/options/themes.js:928 +#: src/options/themes.js:920 src/options/themes.js:929 msgid "Custom" msgstr "مخصص" @@ -865,11 +887,11 @@ msgstr "اليومي" msgid "Database Backups" msgstr "النسخ الاحتياطية لقاعدة البيانات" -#: src/page/settings/account.vue:450 src/component/photo/edit/details.vue:110 +#: src/page/settings/account.vue:456 src/component/photo/edit/details.vue:112 msgid "Day" msgstr "يوم" -#: src/component/settings/passcode.vue:445 +#: src/component/settings/passcode.vue:448 msgid "Deactivate" msgstr "إلغاء التفعيل" @@ -877,36 +899,40 @@ msgstr "إلغاء التفعيل" msgid "Debug Logs" msgstr "سجلات التصحيح" -#: src/options/admin.js:31 src/page/admin/sessions.vue:136 -#: src/page/admin/users.vue:176 src/component/photo/edit/info.vue:47 +#: src/options/admin.js:35 src/page/admin/sessions.vue:136 +#: src/page/admin/users.vue:178 src/component/photo/edit/info.vue:47 #: src/component/photo/edit/info.vue:110 src/model/session.js:66 -#: src/model/user.js:246 src/options/auth.js:20 src/options/auth.js:21 -#: src/options/auth.js:39 src/options/auth.js:40 src/options/options.js:196 +#: src/model/user.js:246 src/options/auth.js:21 src/options/auth.js:22 +#: src/options/auth.js:40 src/options/auth.js:41 src/options/options.js:196 #: src/options/options.js:232 src/options/options.js:316 -#: src/options/themes.js:773 +#: src/options/themes.js:774 msgid "Default" msgstr "مبدئي" -#: src/component/service/edit.vue:123 +#: src/component/service/edit.vue:124 msgid "Default Folder" msgstr "المجلد المبدئي" #: src/component/session/remove/dialog.vue:56 #: src/component/user/remove/dialog.vue:56 src/component/album/clipboard.vue:97 -#: src/component/album/delete/dialog.vue:54 -#: src/component/file/delete/dialog.vue:58 src/component/label/clipboard.vue:58 -#: src/component/label/delete/dialog.vue:58 +#: src/component/album/delete/dialog.vue:54 src/component/album/toolbar.vue:137 +#: src/component/file/delete/dialog.vue:59 src/component/label/clipboard.vue:58 +#: src/component/label/delete/dialog.vue:59 #: src/component/photo/clipboard.vue:168 src/component/photo/edit/files.vue:238 -#: src/component/service/remove.vue:60 src/component/share/dialog.vue:170 +#: src/component/service/remove.vue:61 src/component/share/dialog.vue:170 #: src/page/settings/general.vue:457 msgid "Delete" msgstr "حذف" +#: src/component/album/toolbar.vue:133 +msgid "Delete Album" +msgstr "حذف الألبوم" + #: src/component/photo/toolbar.vue:119 src/page/library/errors.vue:95 msgid "Delete All" msgstr "حذف الكل" -#: src/component/photo/toolbar.vue:433 src/page/library/errors.vue:193 +#: src/component/photo/toolbar.vue:435 src/page/library/errors.vue:193 msgid "Delete all?" msgstr "حذف الكل؟" @@ -914,16 +940,16 @@ msgstr "حذف الكل؟" msgid "Delete orphaned index entries, sidecar files and thumbnails." msgstr "حذف إدخالات الفهرس المعزولة والملفات الجانبية والصور المصغرة." -#: src/component/album/edit/dialog.vue:107 src/page/albums.vue:411 +#: src/component/album/edit/dialog.vue:108 src/page/albums.vue:411 msgid "Description" msgstr "الوصف" -#: src/component/settings/webdav.vue:115 +#: src/component/settings/webdav.vue:116 msgid "Detailed instructions can be found in our User Guide." msgstr "يمكن العثور على تعليمات مفصلة في دليل المستخدم الخاص بنا." -#: src/component/photo/edit/dialog.vue:156 -#: src/component/photo/edit/dialog.vue:173 +#: src/component/photo/edit/dialog.vue:162 +#: src/component/photo/edit/dialog.vue:181 msgid "Details" msgstr "تفاصيل" @@ -987,8 +1013,8 @@ msgstr "تعطيل دعم رسومات ااتجاهات." msgid "Disables video transcoding and thumbnail extraction." msgstr "تعطيل تحويل ترميز الفيديو واستخراج الصور المصغرة." -#: src/app/routes.js:558 src/app/routes.js:565 src/app/routes.js:572 -#: src/app/routes.js:579 +#: src/app/routes.js:566 src/app/routes.js:573 src/app/routes.js:580 +#: src/app/routes.js:587 msgid "Discover" msgstr "اكتشف" @@ -996,9 +1022,9 @@ msgstr "اكتشف" msgid "Dismiss" msgstr "إغلاق" -#: src/component/user/add/dialog.vue:133 src/component/user/add/dialog.vue:134 -#: src/component/user/edit/dialog.vue:163 -#: src/component/user/edit/dialog.vue:164 src/page/admin/users.vue:72 +#: src/component/user/add/dialog.vue:134 src/component/user/add/dialog.vue:135 +#: src/component/user/edit/dialog.vue:164 +#: src/component/user/edit/dialog.vue:165 src/page/admin/users.vue:74 #: src/page/settings/account.vue:149 src/page/settings/account.vue:151 msgid "Display Name" msgstr "اسم العرض" @@ -1013,12 +1039,12 @@ msgstr "عرض عناوين الصور في نتائج البحث." #: src/component/photo/view/cards.vue:339 #: src/component/photo/view/cards.vue:521 -#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:174 +#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:176 #: src/options/options.js:309 msgid "Document" msgstr "وثيقة" -#: src/component/navigation.vue:480 +#: src/component/navigation.vue:482 msgid "Documents" msgstr "وثائق" @@ -1034,16 +1060,16 @@ msgstr "لا تستخدم ImageMagick لتحويل الصور." msgid "Don't use RawTherapee to convert RAW images." msgstr "لا تستخدم RawTherapee لتحويل ملفات RAW." -#: src/component/settings/apps.vue:238 src/component/share/dialog.vue:29 +#: src/component/settings/apps.vue:241 src/component/share/dialog.vue:29 msgid "Done" msgstr "تم الإنجاز" -#: src/component/upload/dialog.vue:135 src/page/library/import.vue:46 +#: src/component/upload/dialog.vue:137 src/page/library/import.vue:46 #: src/page/library/index.vue:52 msgid "Done." msgstr "تم الإنجاز." -#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:118 +#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:123 #: src/component/file/clipboard.vue:48 src/component/lightbox.vue:1235 #: src/component/people/clipboard.vue:47 src/component/photo/clipboard.vue:116 #: src/component/photo/edit/files.vue:168 src/page/settings/content.vue:331 @@ -1055,7 +1081,7 @@ msgstr "تحميل" msgid "Download only original media files, without any automatically generated files." msgstr "قم بتحميل ملفات الوسائط الأصلية فقط ، بدون أي ملفات تم إنشاؤها تلقائيًا." -#: src/component/service/edit.vue:237 +#: src/component/service/edit.vue:238 msgid "Download remote files" msgstr "تنزيل الملفات البعيدة" @@ -1063,9 +1089,9 @@ msgstr "تنزيل الملفات البعيدة" msgid "Download single files and zip archives." msgstr "تنزيل ملفات مفردة ومحفوظات مضغوطة." -#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:157 +#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:172 #: src/component/file/clipboard.vue:61 src/component/label/clipboard.vue:86 -#: src/component/lightbox.vue:2021 src/component/people/clipboard.vue:59 +#: src/component/lightbox.vue:2041 src/component/people/clipboard.vue:59 #: src/component/photo/clipboard.vue:220 src/component/photo/edit/files.vue:119 #: src/component/photo/view/cards.vue:169 src/component/photo/view/list.vue:142 #: src/page/library/browse.vue:139 @@ -1080,7 +1106,7 @@ msgstr "مرشح تصغير الحجم" msgid "Drag and drop files here" msgstr "اسحب الملفات هنا" -#: src/page/about/feedback.vue:61 +#: src/page/about/feedback.vue:62 msgid "Due to the high volume of emails we receive, our team may be unable to get back to you immediately." msgstr "نظرًا للكم الهائل من رسائل البريد الإلكتروني التي نتلقاها ، فقد يتعذر على فريقنا الرد عليك على الفور." @@ -1100,23 +1126,23 @@ msgstr "المعاينات الديناميكية" msgid "Dynamic Size Limit: %{n}px" msgstr "حد الحجم الديناميكي:%{n} بكسل" -#: src/page/about/feedback.vue:141 src/page/about/feedback.vue:140 +#: src/page/about/feedback.vue:142 src/page/about/feedback.vue:141 msgid "E-Mail" msgstr "البريد الإلكتروني" -#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:89 +#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:94 #: src/component/lightbox.vue:1136 src/component/lightbox.vue:1137 #: src/component/photo/clipboard.vue:90 src/page/settings/general.vue:407 msgid "Edit" msgstr "تعديل" -#: src/component/album/edit/dialog.vue:54 -#: src/component/label/edit/dialog.vue:52 -#: src/component/people/edit/dialog.vue:52 +#: src/component/album/edit/dialog.vue:55 +#: src/component/label/edit/dialog.vue:53 +#: src/component/people/edit/dialog.vue:53 msgid "Edit %{s}" msgstr "تعديل %{s}" -#: src/component/user/edit/dialog.vue:61 src/component/service/edit.vue:79 +#: src/component/user/edit/dialog.vue:62 src/component/service/edit.vue:79 msgid "Edit Account" msgstr "تعديل الحساب" @@ -1128,8 +1154,8 @@ msgstr "تعديل الصورة" msgid "Edited" msgstr "تم التعديل" -#: src/component/user/add/dialog.vue:151 src/component/user/edit/dialog.vue:213 -#: src/page/settings/account.vue:171 src/page/settings/account.vue:593 +#: src/component/user/add/dialog.vue:152 src/component/user/edit/dialog.vue:214 +#: src/page/settings/account.vue:171 src/page/settings/account.vue:599 msgid "Email" msgstr "البريد" @@ -1145,7 +1171,7 @@ msgstr "تمكين الميزات الجديدة التي قد تكون غير msgid "Enables RAW converter presets. May reduce performance." msgstr "لتمكين الإعدادات المسبقة لمحول RAW. قد يقلل من الأداء." -#: src/component/settings/passcode.vue:127 +#: src/component/settings/passcode.vue:130 msgid "Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account." msgstr "يعني تمكين المصادقة الثنائية أنك ستحتاج إلى رمز تحقق تم إنشاؤه عشوائيًا لتسجيل الدخول، لذلك حتى إذا تمكن شخص ما من الوصول إلى كلمة المرور الخاصة بك، فلن يتمكن من الوصول إلى حسابك." @@ -1157,7 +1183,7 @@ msgstr "أدخل التاريخ" msgid "Enter dates" msgstr "أدخل التواريخ" -#: src/component/settings/passcode.vue:213 src/page/auth/login.vue:104 +#: src/component/settings/passcode.vue:216 src/page/auth/login.vue:104 msgid "Enter the code generated by your authenticator app:" msgstr "أدخل الرمز الذي تم إنشاؤه بواسطة تطبيق المصادقة الخاص بك:" @@ -1165,7 +1191,7 @@ msgstr "أدخل الرمز الذي تم إنشاؤه بواسطة تطبيق msgid "Enter verification code" msgstr "أدخل رمز التحقق" -#: src/component/settings/apps.vue:109 +#: src/component/settings/apps.vue:112 msgid "Enter your password to confirm the action and continue:" msgstr "أدخل كلمة المرور الخاصة بك لتأكيد الإجراء والمتابعة:" @@ -1174,7 +1200,7 @@ msgstr "أدخل كلمة المرور الخاصة بك لتأكيد الإجر msgid "Error" msgstr "خطأ" -#: src/app/routes.js:374 src/component/navigation.vue:1348 +#: src/app/routes.js:382 src/component/navigation.vue:1372 msgid "Errors" msgstr "أخطاء" @@ -1210,13 +1236,13 @@ msgstr "يلزم استخراج البيانات التعريفية باستخد msgid "Experimental Features" msgstr "الميزات التجريبية" -#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:453 -#: src/component/service/edit.vue:157 src/component/settings/apps.vue:73 -#: src/component/settings/apps.vue:326 src/component/share/dialog.vue:62 +#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:458 +#: src/component/service/edit.vue:158 src/component/settings/apps.vue:73 +#: src/component/settings/apps.vue:329 src/component/share/dialog.vue:62 msgid "Expires" msgstr "تنتهي" -#: src/component/photo/edit/details.vue:396 +#: src/component/photo/edit/details.vue:370 msgid "Exposure" msgstr "التعرض" @@ -1224,7 +1250,7 @@ msgstr "التعرض" msgid "Extract still images and generate thumbnails while indexing." msgstr "استخراج الصور الثابتة وإنشاء الصور المصغرة أثناء الفهرسة." -#: src/component/photo/edit/details.vue:444 +#: src/component/photo/edit/details.vue:418 msgid "F Number" msgstr "رقم F" @@ -1240,7 +1266,7 @@ msgstr "وجوه" msgid "Failed removing link" msgstr "فشل إزالة الارتباط" -#: src/page/connect.vue:106 src/page/connect.vue:110 +#: src/page/connect.vue:107 src/page/connect.vue:111 msgid "Failed to connect account." msgstr "فشل في ربط الحساب." @@ -1248,8 +1274,8 @@ msgstr "فشل في ربط الحساب." msgid "Failed updating link" msgstr "فشل تحديث الارتباط" -#: src/component/user/edit/dialog.vue:143 -#: src/component/user/edit/dialog.vue:144 src/page/settings/account.vue:128 +#: src/component/user/edit/dialog.vue:144 +#: src/component/user/edit/dialog.vue:145 src/page/settings/account.vue:128 #: src/page/settings/account.vue:130 msgid "Family Name" msgstr "اسم العائلة" @@ -1258,15 +1284,15 @@ msgstr "اسم العائلة" msgid "Fast" msgstr "سريع" -#: src/component/album/edit/dialog.vue:159 -#: src/component/label/edit/dialog.vue:85 -#: src/component/people/edit/dialog.vue:85 +#: src/component/album/edit/dialog.vue:160 +#: src/component/label/edit/dialog.vue:86 +#: src/component/people/edit/dialog.vue:86 #: src/component/photo/edit/info.vue:287 msgid "Favorite" msgstr "مفضل" -#: src/app/routes.js:222 src/component/navigation.vue:893 -#: src/options/options.js:202 src/page/albums.vue:97 +#: src/app/routes.js:230 src/component/navigation.vue:903 +#: src/options/options.js:202 src/page/albums.vue:98 msgid "Favorites" msgstr "المفضلة" @@ -1274,7 +1300,7 @@ msgstr "المفضلة" msgid "Feature Request" msgstr "طلب المواصفات" -#: src/component/navigation.vue:1456 +#: src/component/navigation.vue:1482 msgid "Feedback" msgstr "استجابة" @@ -1282,11 +1308,12 @@ msgstr "استجابة" msgid "Female" msgstr "أنثى" -#: src/component/photo/edit/info.vue:214 src/model/file.js:290 +#: src/component/photo/edit/info.vue:57 src/component/photo/edit/info.vue:214 +#: src/model/file.js:290 msgid "File" msgstr "ملف" -#: src/app/routes.js:343 +#: src/app/routes.js:351 msgid "File Browser" msgstr "متصفح الملفات" @@ -1309,8 +1336,8 @@ msgstr "حجم الملف" msgid "Filename" msgstr "اسم الملف" -#: src/component/navigation.vue:1930 src/component/photo/edit/dialog.vue:267 -#: src/component/photo/edit/dialog.vue:284 +#: src/component/navigation.vue:1973 src/component/photo/edit/dialog.vue:279 +#: src/component/photo/edit/dialog.vue:298 msgid "Files" msgstr "الملفات" @@ -1322,26 +1349,26 @@ msgstr "الملفات ذات الأسماء المتسلسلة مثل \"IMG_123 msgid "First page" msgstr "الصفحة الاولى" -#: src/component/photo/edit/details.vue:465 +#: src/component/photo/edit/details.vue:439 msgid "Focal Length" msgstr "البعد البؤري" -#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:118 -#: src/component/service/edit.vue:189 src/component/service/edit.vue:194 -#: src/component/service/upload.vue:90 src/component/service/upload.vue:96 +#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:119 +#: src/component/service/edit.vue:190 src/component/service/edit.vue:195 +#: src/component/service/upload.vue:91 src/component/service/upload.vue:97 #: src/model/folder.js:199 src/page/library/browse.vue:182 msgid "Folder" msgstr "مجلد" -#: src/page/library/browse.vue:365 +#: src/page/library/browse.vue:367 msgid "Folder contains %{n} files" msgstr "يحتوي المجلد على %{n} من الملفات" -#: src/page/library/browse.vue:356 +#: src/page/library/browse.vue:358 msgid "Folder is empty" msgstr "مجلد فارغ" -#: src/app/routes.js:202 src/component/navigation.vue:1225 +#: src/app/routes.js:210 src/component/navigation.vue:1247 #: src/options/options.js:207 msgid "Folders" msgstr "المجلدات" @@ -1358,7 +1385,7 @@ msgstr "FPS" msgid "Frames" msgstr "الإطارات" -#: src/options/auth.js:54 src/options/auth.js:64 +#: src/options/auth.js:55 src/options/auth.js:65 msgid "Full Access" msgstr "الوصول الكامل" @@ -1370,7 +1397,7 @@ msgstr "شاشة كاملة" msgid "General" msgstr "عام" -#: src/component/settings/apps.vue:364 +#: src/component/settings/apps.vue:367 msgid "Generate" msgstr "يولد" @@ -1390,8 +1417,8 @@ msgstr "تم توليده" msgid "Get Started" msgstr "البدء" -#: src/component/user/edit/dialog.vue:120 -#: src/component/user/edit/dialog.vue:121 src/page/settings/account.vue:106 +#: src/component/user/edit/dialog.vue:121 +#: src/component/user/edit/dialog.vue:122 src/page/settings/account.vue:106 #: src/page/settings/account.vue:108 msgid "Given Name" msgstr "الاسم المعطى" @@ -1416,7 +1443,7 @@ msgstr "لون أخضر" msgid "Grey" msgstr "رمادي" -#: src/options/admin.js:22 src/options/auth.js:10 +#: src/options/admin.js:26 src/options/auth.js:11 msgid "Guest" msgstr "ضيف" @@ -1432,15 +1459,15 @@ msgstr "مساعدة" msgid "Help & Support" msgstr "ساعد لدعم" -#: src/component/navigation.vue:1327 src/component/people/edit/dialog.vue:98 +#: src/component/navigation.vue:1351 src/component/people/edit/dialog.vue:99 msgid "Hidden" msgstr "مختفي" -#: src/app/routes.js:358 +#: src/app/routes.js:366 msgid "Hidden Files" msgstr "الملفات المخفية" -#: src/page/people/new.vue:165 src/page/people/recognized.vue:205 +#: src/page/people/new.vue:166 src/page/people/recognized.vue:206 msgid "Hide" msgstr "يخفي" @@ -1456,7 +1483,7 @@ msgstr "عالٍ" msgid "High Dynamic Range (HDR)" msgstr "المدى الديناميكي العالي (HDR)" -#: src/page/about/feedback.vue:103 +#: src/page/about/feedback.vue:104 msgid "How can we help?" msgstr "كيف يمكن أن نساعد؟" @@ -1464,11 +1491,11 @@ msgstr "كيف يمكن أن نساعد؟" msgid "Hybrid" msgstr "هجين" -#: src/component/settings/passcode.vue:389 +#: src/component/settings/passcode.vue:392 msgid "If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account." msgstr "إذا فقدت الوصول إلى تطبيق أو جهاز المصادقة الخاص بك، فيمكنك استخدام رمز الاسترداد لاستعادة الوصول إلى حسابك." -#: src/component/photo/edit/info.vue:63 src/component/photo/edit/labels.vue:46 +#: src/component/photo/edit/info.vue:65 src/component/photo/edit/labels.vue:46 #: src/component/photo/view/cards.vue:532 src/model/file.js:218 #: src/options/options.js:281 msgid "Image" @@ -1478,7 +1505,7 @@ msgstr "صورة" msgid "Image Quality" msgstr "جودة الصورة" -#: src/page/library.vue:46 src/page/library/import.vue:152 +#: src/page/library.vue:46 src/page/library/import.vue:153 #: src/page/settings/general.vue:357 msgid "Import" msgstr "يستورد" @@ -1503,8 +1530,8 @@ msgstr "استيراد %{s}…" msgid "Importing files to originals…" msgstr "جارٍ استيراد الملفات إلى النسخ الأصلية …" -#: src/component/photo/edit/files.vue:515 -#: src/component/photo/edit/files.vue:520 +#: src/component/photo/edit/files.vue:517 +#: src/component/photo/edit/files.vue:522 msgid "in" msgstr "في" @@ -1522,11 +1549,11 @@ msgstr "قم بتضمين ملفات صور RAW عند تنزيل حزم وأر msgid "Include sidecar files when downloading stacks and archives." msgstr "قم بتضمين الملفات الجانبية عند تنزيل الحزم والمحفوظات." -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Increase storage size or delete files to continue." msgstr "قم بزيادة حجم التخزين أو حذف الملفات للاستمرار." -#: src/component/navigation.vue:1946 src/page/library.vue:36 +#: src/component/navigation.vue:1990 src/page/library.vue:36 #: src/page/settings/content.vue:34 msgid "Index" msgstr "فِهرِس" @@ -1556,11 +1583,11 @@ msgstr "المعلومات" msgid "Instance ID" msgstr "معرف المثيل" -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Insufficient storage." msgstr "مساحة تخزين غير كافية." -#: src/component/service/edit.vue:209 +#: src/component/service/edit.vue:210 msgid "Interval" msgstr "فترة" @@ -1581,7 +1608,7 @@ msgstr "عنوان غير صالح" msgid "Invalid country" msgstr "بلد غير صالح" -#: src/component/photo/edit/details.vue:174 +#: src/component/photo/edit/details.vue:169 msgid "Invalid date" msgstr "تاريخ غير صالح" @@ -1590,7 +1617,7 @@ msgstr "تاريخ غير صالح" msgid "Invalid parameters" msgstr "معلمات غير صالحة" -#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:197 +#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:199 msgid "Invalid photo selected" msgstr "تم تحديد صورة غير صالحة" @@ -1602,8 +1629,8 @@ msgstr "الوقت غير صالح" msgid "Invalid URL" msgstr "عنوان URL غير صالح" -#: src/component/settings/passcode.vue:314 -#: src/component/settings/passcode.vue:391 +#: src/component/settings/passcode.vue:317 +#: src/component/settings/passcode.vue:394 msgid "It is a one-time use code that will disable 2FA for your account when you use it." msgstr "إنه رمز للاستخدام لمرة واحدة والذي سيؤدي إلى تعطيل المصادقة الثنائية لحسابك عند استخدامه." @@ -1627,7 +1654,7 @@ msgstr "حد حجم JPEG: %{n} بكسل" msgid "JPEGs and thumbnails are automatically rendered as needed." msgstr "يتم تقديم ملفات JPEG والصور المصغرة تلقائيًا حسب الحاجة." -#: src/component/photo/edit/details.vue:581 +#: src/component/photo/edit/details.vue:555 msgid "Keywords" msgstr "الكلمات الدالة" @@ -1636,9 +1663,9 @@ msgstr "الكلمات الدالة" msgid "Label" msgstr "مُلصَق" -#: src/app/routes.js:389 src/component/navigation.vue:1177 -#: src/component/photo/edit/dialog.vue:188 -#: src/component/photo/edit/dialog.vue:205 src/options/options.js:206 +#: src/app/routes.js:397 src/component/navigation.vue:1197 +#: src/component/photo/edit/dialog.vue:196 +#: src/component/photo/edit/dialog.vue:215 src/options/options.js:206 #: src/page/settings/general.vue:255 msgid "Labels" msgstr "ملصقات" @@ -1655,11 +1682,11 @@ msgstr "Lanczos: الحفاظ على التفاصيل ، الحد الأدنى msgid "Language" msgstr "لغة" -#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:435 +#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:440 msgid "Last Active" msgstr "آخر نشاط" -#: src/page/admin/users.vue:81 +#: src/page/admin/users.vue:83 msgid "Last Login" msgstr "آخر تسجيل دخول" @@ -1675,42 +1702,41 @@ msgstr "آخر مزامنة" msgid "Last Used" msgstr "آخر أستخدام" -#: src/component/photo/edit/details.vue:298 #: src/component/photo/edit/info.vue:373 msgid "Latitude" msgstr "خط العرض" -#: src/options/admin.js:43 src/options/auth.js:29 +#: src/options/admin.js:47 src/options/auth.js:30 msgid "LDAP/AD" msgstr "LDAP / AD" -#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:86 -#: src/page/about/about.vue:62 src/page/about/about.vue:132 +#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:87 +#: src/page/about/about.vue:62 src/page/about/about.vue:133 #: src/page/connect.vue:67 src/page/help.vue:36 msgid "Learn more" msgstr "اعرف المزيد" -#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:135 +#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:137 #: src/page/labels.vue:132 msgid "Learn More" msgstr "اعرف المزيد" -#: src/component/navigation.vue:2017 +#: src/component/navigation.vue:2066 msgid "Legal Information" msgstr "المعلومات القانونية" -#: src/component/photo/edit/details.vue:417 +#: src/component/photo/edit/details.vue:391 #: src/component/photo/view/cards.vue:480 msgid "Lens" msgstr "عدسة" -#: src/app/routes.js:443 src/app/routes.js:459 src/app/routes.js:475 -#: src/component/navigation.vue:1267 src/page/settings/general.vue:507 +#: src/app/routes.js:451 src/app/routes.js:467 src/app/routes.js:483 +#: src/component/navigation.vue:1290 src/page/settings/general.vue:507 msgid "Library" msgstr "مكتبة" #: src/page/connect.vue:45 src/app/routes.js:69 -#: src/component/navigation.vue:1478 src/component/photo/edit/details.vue:559 +#: src/component/navigation.vue:1504 src/component/photo/edit/details.vue:533 #: src/page/about/license.vue:28 msgid "License" msgstr "رخصة" @@ -1723,7 +1749,7 @@ msgstr "المفضلة" msgid "Lime" msgstr "جير" -#: src/page/library/browse.vue:369 +#: src/page/library/browse.vue:371 msgid "Limit reached, showing first %{n} files" msgstr "تم بلوغ الحد ، عرض أول %{n} ملف" @@ -1731,7 +1757,7 @@ msgstr "تم بلوغ الحد ، عرض أول %{n} ملف" msgid "Linear: Very Smooth, Best Performance" msgstr "الخطي: سلس جدًا ، أفضل أداء" -#: src/model/link.js:117 src/options/auth.js:30 src/options/auth.js:31 +#: src/model/link.js:117 src/options/auth.js:31 src/options/auth.js:32 msgid "Link" msgstr "ربط" @@ -1749,7 +1775,7 @@ msgstr "عرض القائمة" msgid "Live" msgstr "يعيش" -#: src/app/routes.js:236 src/component/navigation.vue:749 +#: src/app/routes.js:244 src/component/navigation.vue:755 msgid "Live Photos" msgstr "Live Photos" @@ -1765,21 +1791,24 @@ msgstr "جاري تحميل المواد..." msgid "Loading..." msgstr "تحميل..." -#: src/options/admin.js:35 src/options/auth.js:22 src/options/auth.js:27 +#: src/options/admin.js:39 src/options/auth.js:23 src/options/auth.js:28 #: src/options/options.js:38 src/page/settings/general.vue:107 msgid "Local" msgstr "محلي" -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Local Time" msgstr "التوقيت المحلي" -#: src/page/settings/account.vue:665 src/page/settings/account.vue:667 -#: src/component/album/edit/dialog.vue:92 src/component/photo/edit/info.vue:65 -#: src/component/photo/edit/labels.vue:48 +#: src/page/settings/account.vue:671 src/page/settings/account.vue:673 +#: src/component/album/edit/dialog.vue:93 +#: src/component/photo/edit/details.vue:38 +#: src/component/photo/edit/details.vue:116 +#: src/component/photo/edit/details.vue:210 +#: src/component/photo/edit/info.vue:67 src/component/photo/edit/labels.vue:48 #: src/component/photo/view/cards.vue:555 src/component/photo/view/list.vue:117 -#: src/component/sidebar/info.vue:107 src/page/albums.vue:99 -#: src/page/settings/account.vue:557 src/page/settings/account.vue:559 +#: src/component/sidebar/info.vue:107 src/page/albums.vue:100 +#: src/page/settings/account.vue:563 src/page/settings/account.vue:565 msgid "Location" msgstr "موقع" @@ -1787,20 +1816,19 @@ msgstr "موقع" msgid "Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues." msgstr "تظهر السجلات هنا كلما صادف PhotoPrism ملفات معطلة ، أو كانت هناك مشكلات أخرى محتملة." -#: src/component/navigation.vue:1552 src/component/navigation.vue:1840 +#: src/component/navigation.vue:1579 src/component/navigation.vue:1877 msgid "Login" msgstr "تسجيل الدخول" -#: src/component/navigation.vue:1759 +#: src/component/navigation.vue:1791 msgid "Logout" msgstr "تسجيل خروج" -#: src/component/navigation.vue:1962 src/page/library.vue:59 +#: src/component/navigation.vue:2007 src/page/library.vue:59 #: src/page/settings/general.vue:557 msgid "Logs" msgstr "السجلات" -#: src/component/photo/edit/details.vue:324 #: src/component/photo/edit/info.vue:379 msgid "Longitude" msgstr "خط الطول" @@ -1813,7 +1841,7 @@ msgstr "قليل" msgid "Magenta" msgstr "أرجواني" -#: src/component/photo/edit/files.vue:489 +#: src/component/photo/edit/files.vue:491 msgid "Main Color" msgstr "اللون الأساسي" @@ -1821,12 +1849,16 @@ msgstr "اللون الأساسي" msgid "Male" msgstr "ذكر" -#: src/page/connect.vue:164 src/page/connect.vue:246 -#: src/page/about/about.vue:171 src/page/connect.vue:168 -#: src/page/connect.vue:255 +#: src/page/connect.vue:165 src/page/connect.vue:248 +#: src/page/about/about.vue:173 src/page/connect.vue:169 +#: src/page/connect.vue:257 msgid "Manage Account" msgstr "إدارة الحساب" +#: src/options/admin.js:10 src/options/auth.js:7 +msgid "Manager" +msgstr "المدير" + #: src/component/photo/edit/info.vue:49 src/component/photo/edit/labels.vue:38 msgid "Manual" msgstr "يدوي" @@ -1843,11 +1875,11 @@ msgstr "الخرائط" msgid "Marker" msgstr "علامة" -#: src/component/user/add/dialog.vue:69 +#: src/component/user/add/dialog.vue:70 msgid "Maximum number of accounts has been reached." msgstr "تم الوصول إلى الحد الأقصى لعدد الحسابات." -#: src/app/routes.js:229 src/component/navigation.vue:688 +#: src/app/routes.js:237 src/component/navigation.vue:693 #: src/options/options.js:199 msgid "Media" msgstr "وسائط" @@ -1864,7 +1896,7 @@ msgstr "عضوية" msgid "Merge %{a} with %{b}?" msgstr "هل تريد دمج %{a} مع %{b}؟" -#: src/page/about/feedback.vue:102 +#: src/page/about/feedback.vue:103 msgid "Message" msgstr "رسالة" @@ -1876,7 +1908,7 @@ msgstr "تم الارسال" msgid "Metadata" msgstr "البيانات الوصفية" -#: src/options/auth.js:56 src/options/auth.js:72 +#: src/options/auth.js:57 src/options/auth.js:73 msgid "Metrics" msgstr "المقاييس" @@ -1884,7 +1916,7 @@ msgstr "المقاييس" msgid "Minimize" msgstr "تصغير" -#: src/component/photo/edit/files.vue:509 src/component/photo/edit/info.vue:367 +#: src/component/photo/edit/files.vue:511 src/component/photo/edit/info.vue:367 msgid "Missing" msgstr "مفقود" @@ -1892,17 +1924,17 @@ msgstr "مفقود" msgid "Missing or invalid configuration" msgstr "تكوين مفقود أو غير صالح" -#: src/app/routes.js:163 src/component/navigation.vue:1129 +#: src/app/routes.js:171 src/component/navigation.vue:1147 #: src/options/options.js:205 src/page/settings/general.vue:230 msgid "Moments" msgstr "لحظات" -#: src/component/navigation.vue:383 +#: src/component/navigation.vue:385 msgid "Monochrome" msgstr "أحادي اللون" -#: src/page/settings/account.vue:475 src/component/photo/edit/details.vue:137 -#: src/component/photo/toolbar.vue:342 +#: src/page/settings/account.vue:481 src/component/photo/edit/details.vue:139 +#: src/component/photo/toolbar.vue:344 msgid "Month" msgstr "شهر" @@ -1922,7 +1954,7 @@ msgstr "الأكثر صلة" msgid "Move Files" msgstr "نقل الملفات" -#: src/component/settings/password.vue:107 +#: src/component/settings/password.vue:108 msgid "Must have at least %{n} characters." msgstr "يجب أن يحتوي على %{n} أحرف على الأقل." @@ -1930,20 +1962,20 @@ msgstr "يجب أن يحتوي على %{n} أحرف على الأقل." msgid "Mute" msgstr "صامت" -#: src/page/about/feedback.vue:121 src/page/about/feedback.vue:122 -#: src/component/album/edit/dialog.vue:77 -#: src/component/label/edit/dialog.vue:71 -#: src/component/people/edit/dialog.vue:71 -#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:57 +#: src/page/about/feedback.vue:122 src/page/about/feedback.vue:123 +#: src/component/album/edit/dialog.vue:78 +#: src/component/label/edit/dialog.vue:72 +#: src/component/people/edit/dialog.vue:72 +#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:59 #: src/component/photo/edit/info.vue:125 src/component/photo/edit/people.vue:36 -#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:310 -#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:286 -#: src/page/albums.vue:98 src/page/auth/login.vue:168 +#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:311 +#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:289 +#: src/page/albums.vue:99 src/page/auth/login.vue:168 #: src/page/people/new.vue:68 src/page/settings/services.vue:37 msgid "Name" msgstr "اسم" -#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:60 +#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:65 #: src/component/label/edit/dialog.vue:19 #: src/component/people/edit/dialog.vue:19 #: src/component/photo/edit/labels.vue:30 @@ -1953,7 +1985,7 @@ msgstr "اسم" msgid "Name too long" msgstr "الاسم طويل جدًا" -#: src/page/admin/users.vue:204 src/options/options.js:361 +#: src/page/admin/users.vue:206 src/options/options.js:361 #: src/options/options.js:371 src/page/settings/services.vue:75 msgid "Never" msgstr "أبداً" @@ -1962,13 +1994,13 @@ msgstr "أبداً" msgid "New" msgstr "جديد" -#: src/component/settings/password.vue:106 +#: src/component/settings/password.vue:107 msgid "New Password" msgstr "كلمة السر الجديدة" #: src/component/album/edit/dialog.vue:24 src/component/photo/toolbar.vue:114 #: src/component/photo/toolbar.vue:126 src/component/photo/toolbar.vue:136 -#: src/page/albums.vue:100 +#: src/page/albums.vue:101 msgid "Newest First" msgstr "الاحدث اولا" @@ -1984,15 +2016,15 @@ msgstr "الصفحة التالية" msgid "Next visual" msgstr "الصورة التالية" -#: src/component/people/merge/dialog.vue:47 -#: src/component/photo/archive/dialog.vue:47 +#: src/component/people/merge/dialog.vue:48 +#: src/component/photo/archive/dialog.vue:48 #: src/component/photo/edit/info.vue:281 src/component/photo/edit/info.vue:297 #: src/component/photo/edit/info.vue:313 src/component/photo/edit/info.vue:329 #: src/component/photo/edit/info.vue:344 msgid "No" msgstr "رقم" -#: src/page/albums.vue:607 src/page/albums.vue:282 +#: src/page/albums.vue:612 src/page/albums.vue:282 msgid "No albums found" msgstr "لم يتم العثور على ألبومات" @@ -2000,7 +2032,7 @@ msgstr "لم يتم العثور على ألبومات" msgid "No data available" msgstr "لا توجد بيانات متاحة" -#: src/page/labels.vue:523 src/page/labels.vue:155 +#: src/page/labels.vue:528 src/page/labels.vue:155 msgid "No labels found" msgstr "لم يتم العثور على تسميات" @@ -2013,15 +2045,15 @@ msgid "No more" msgstr "لا مزيد" #: src/component/photo/edit/people.vue:34 src/page/people/new.vue:346 -#: src/page/people/new.vue:443 src/page/people/new.vue:103 -#: src/page/people/recognized.vue:531 src/page/people/recognized.vue:146 +#: src/page/people/new.vue:446 src/page/people/new.vue:103 +#: src/page/people/recognized.vue:536 src/page/people/recognized.vue:146 msgid "No people found" msgstr "لم يتم العثور على أشخاص" #: src/component/lightbox.vue:365 src/component/photo/view/cards.vue:144 #: src/component/photo/view/list.vue:82 src/component/photo/view/mosaic.vue:68 -#: src/page/album/photos.vue:488 src/page/library/browse.vue:123 -#: src/page/photos.vue:626 src/page/places.vue:624 src/page/places.vue:730 +#: src/page/album/photos.vue:499 src/page/library/browse.vue:123 +#: src/page/photos.vue:636 src/page/places.vue:624 src/page/places.vue:730 msgid "No pictures found" msgstr "لم يتم العثور على صور" @@ -2030,7 +2062,11 @@ msgstr "لم يتم العثور على صور" msgid "No recently edited pictures" msgstr "لا توجد صور تم تحريرها مؤخرا" -#: src/component/navigation.vue:1655 +#: src/component/location/dialog.vue:166 +msgid "No results" +msgstr "لا توجد نتائج" + +#: src/component/navigation.vue:1686 msgid "No server connection" msgstr "لا يوجد اتصال بالخادم" @@ -2042,7 +2078,7 @@ msgstr "لم يتم تكوين أي خوادم." msgid "No services configured." msgstr "لم يتم تكوين أي خدمات." -#: src/component/confirm/sponsor.vue:72 +#: src/component/confirm/sponsor.vue:73 msgid "No thanks" msgstr "لا شكرا" @@ -2052,17 +2088,17 @@ msgstr "لا تحذيرات أو خطأ يحتوي على هذه الكلمة ا #: src/component/photo/view/cards.vue:154 src/component/photo/view/list.vue:59 #: src/component/photo/view/list.vue:92 src/component/photo/view/mosaic.vue:78 -#: src/component/upload/dialog.vue:208 +#: src/component/upload/dialog.vue:210 msgid "Non-photographic and low-quality images require a review before they appear in search results." msgstr "تتطلب الصور غير الفوتوغرافية وذات الجودة المنخفضة المراجعة قبل ظهورها في نتائج البحث." -#: src/options/admin.js:47 src/options/auth.js:32 src/options/options.js:212 +#: src/options/admin.js:51 src/options/auth.js:33 src/options/options.js:212 #: src/options/options.js:328 msgid "None" msgstr "لا أحد" -#: src/common/util.js:853 src/component/lightbox.vue:633 -#: src/component/service/upload.vue:75 src/component/service/upload.vue:87 +#: src/component/lightbox.vue:633 src/component/service/upload.vue:75 +#: src/component/service/upload.vue:87 msgid "Not allowed" msgstr "غير مسموح به" @@ -2074,8 +2110,7 @@ msgstr "لم يتم العثور على" msgid "Not sorted." msgstr "غير مرتب." -#: src/common/util.js:858 src/component/lightbox.vue:627 -#: src/component/lightbox.vue:744 +#: src/component/lightbox.vue:627 src/component/lightbox.vue:744 msgid "Not supported" msgstr "غير مدعوم" @@ -2083,15 +2118,15 @@ msgstr "غير مدعوم" msgid "Note you may manually manage your originals folder and importing is optional." msgstr "لاحظ أنه يمكنك إدارة مجلد الأصول يدويًا والاستيراد اختياري." -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "Note:" msgstr "ملحوظة:" -#: src/component/service/add.vue:120 +#: src/component/service/add.vue:121 msgid "Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload." msgstr "ملاحظة: يمكن تكوين خوادم WebDAV فقط ، مثل Nextcloud أو PhotoPrism ، كخدمة عن بُعد للنسخ الاحتياطي وتحميل الملفات." -#: src/component/photo/edit/details.vue:603 +#: src/component/photo/edit/details.vue:577 msgid "Notes" msgstr "ملحوظات" @@ -2099,8 +2134,8 @@ msgstr "ملحوظات" msgid "Nothing to see here yet." msgstr "لا شيء لتراه هنا حتى الآن. كن صبوراً." -#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:115 -#: src/component/settings/apps.vue:390 +#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:125 +#: src/component/settings/apps.vue:393 msgid "Nothing was found." msgstr "لم يتم العثور على شيء." @@ -2108,7 +2143,7 @@ msgstr "لم يتم العثور على شيء." msgid "Offline" msgstr "غير متصل على الانترنت" -#: src/options/admin.js:39 src/options/auth.js:28 +#: src/options/admin.js:43 src/options/auth.js:29 msgid "OIDC" msgstr "OIDC" @@ -2118,11 +2153,11 @@ msgstr "نعم" #: src/component/album/edit/dialog.vue:25 src/component/photo/toolbar.vue:115 #: src/component/photo/toolbar.vue:127 src/component/photo/toolbar.vue:137 -#: src/page/albums.vue:101 +#: src/page/albums.vue:102 msgid "Oldest First" msgstr "الاقدم اولا" -#: src/component/settings/webdav.vue:77 +#: src/component/settings/webdav.vue:78 msgid "On Windows, enter the following resource in the connection dialog:" msgstr "في نظام التشغيل Windows ، أدخل المورد التالي في مربع حوار الاتصال:" @@ -2134,11 +2169,11 @@ msgstr "قد يؤدي إنشاء الصور المصغرة عند الطلب إ msgid "Once a week" msgstr "مرة في الأسبوع" -#: src/page/albums.vue:609 +#: src/page/albums.vue:614 msgid "One album found" msgstr "تم العثور على ألبوم واحد" -#: src/page/library/browse.vue:358 +#: src/page/library/browse.vue:360 msgid "One file found" msgstr "تم العثور على ملف واحد" @@ -2146,24 +2181,24 @@ msgstr "تم العثور على ملف واحد" msgid "One file uploaded" msgstr "تم تحميل ملف واحد" -#: src/page/library/browse.vue:360 +#: src/page/library/browse.vue:362 msgid "One folder found" msgstr "تم العثور على مجلد واحد" -#: src/page/labels.vue:525 +#: src/page/labels.vue:530 msgid "One label found" msgstr "تم العثور على تسمية واحدة" -#: src/page/people/new.vue:348 src/page/people/new.vue:445 -#: src/page/people/recognized.vue:533 +#: src/page/people/new.vue:348 src/page/people/new.vue:448 +#: src/page/people/recognized.vue:538 msgid "One person found" msgstr "تم العثور على شخص واحد" -#: src/page/album/photos.vue:490 src/page/photos.vue:628 +#: src/page/album/photos.vue:501 src/page/photos.vue:638 msgid "One picture found" msgstr "تم العثور على صورة واحدة" -#: src/component/settings/passcode.vue:478 +#: src/component/settings/passcode.vue:481 msgid "Only locally managed accounts can be set up for authentication with 2FA." msgstr "يمكن إعداد الحسابات المُدارة محليًا فقط للمصادقة باستخدام المصادقة الثنائية (2FA)." @@ -2171,7 +2206,7 @@ msgstr "يمكن إعداد الحسابات المُدارة محليًا فق msgid "Open" msgstr "يفتح" -#: src/component/service/add.vue:86 src/component/service/add.vue:107 +#: src/component/service/add.vue:87 src/component/service/add.vue:108 msgid "optional" msgstr "خياري" @@ -2183,7 +2218,7 @@ msgstr "أو" msgid "Orange" msgstr "البرتقالي" -#: src/page/settings/account.vue:571 src/page/settings/account.vue:573 +#: src/page/settings/account.vue:577 src/page/settings/account.vue:579 msgid "Organization" msgstr "المنظمة" @@ -2199,7 +2234,7 @@ msgstr "سيتم تخزين أسماء الملفات الأصلية وفهرس msgid "Original Name" msgstr "الاسم الاصلي" -#: src/component/navigation.vue:1304 src/model/file.js:196 +#: src/component/navigation.vue:1328 src/model/file.js:196 #: src/options/options.js:413 src/page/library/browse.vue:65 #: src/page/settings/content.vue:356 src/page/settings/general.vue:532 msgid "Originals" @@ -2210,7 +2245,7 @@ msgstr "أصول" msgid "Other" msgstr "آخر" -#: src/page/about/about.vue:77 src/page/about/about.vue:83 +#: src/page/about/about.vue:78 src/page/about/about.vue:84 msgid "Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible." msgstr "مهمتنا هي توفير الحل الأكثر ملاءمة للمستخدم والخصوصية للحفاظ على صورك منظمة ويمكن الوصول إليها." @@ -2222,7 +2257,7 @@ msgstr "في الخارج" msgid "Page {0}, Current page" msgstr "الصفحة {0}، الصفحة الحالية" -#: src/component/photo/edit/files.vue:352 src/model/photo.js:859 +#: src/component/photo/edit/files.vue:352 src/model/photo.js:896 msgid "Pages" msgstr "الصفحات" @@ -2234,15 +2269,15 @@ msgstr "التنقل عبر الصفحات" msgid "Panorama" msgstr "بانوراما" -#: src/component/navigation.vue:402 +#: src/component/navigation.vue:404 msgid "Panoramas" msgstr "بانوراما" -#: src/component/user/add/dialog.vue:114 src/component/user/add/dialog.vue:115 -#: src/component/service/add.vue:106 src/component/service/edit.vue:352 -#: src/component/settings/apps.vue:121 src/component/settings/passcode.vue:106 -#: src/component/settings/passcode.vue:413 src/component/share/dialog.vue:27 -#: src/options/auth.js:91 src/page/auth/login.vue:196 +#: src/component/user/add/dialog.vue:115 src/component/user/add/dialog.vue:116 +#: src/component/service/add.vue:107 src/component/service/edit.vue:353 +#: src/component/settings/apps.vue:124 src/component/settings/passcode.vue:109 +#: src/component/settings/passcode.vue:416 src/component/share/dialog.vue:27 +#: src/options/auth.js:92 src/page/auth/login.vue:196 msgid "Password" msgstr "كلمة المرور" @@ -2250,9 +2285,9 @@ msgstr "كلمة المرور" msgid "Password changed" msgstr "تم تغيير كلمة السر" -#: src/app/routes.js:404 src/app/routes.js:428 src/component/navigation.vue:845 -#: src/component/navigation.vue:1898 src/component/photo/edit/dialog.vue:228 -#: src/component/photo/edit/dialog.vue:245 src/options/options.js:201 +#: src/app/routes.js:412 src/app/routes.js:436 src/component/navigation.vue:853 +#: src/component/navigation.vue:1939 src/component/photo/edit/dialog.vue:238 +#: src/component/photo/edit/dialog.vue:257 src/options/options.js:201 #: src/page/settings/general.vue:180 msgid "People" msgstr "الناس" @@ -2273,23 +2308,23 @@ msgstr "قم بإزالة الملفات بشكل دائم لتحرير مساح msgid "Person" msgstr "شخص" -#: src/options/auth.js:42 +#: src/options/auth.js:43 msgid "Personal" msgstr "شخصي" -#: src/model/photo.js:1273 +#: src/model/photo.js:1310 msgid "Photo" msgstr "صورة" -#: src/page/about/about.vue:156 +#: src/page/about/about.vue:158 msgid "PhotoPrism is 100% self-funded and independent." msgstr "PhotoPrism هو 100٪ مستقل وممول ذاتيًا." -#: src/page/about/about.vue:92 +#: src/page/about/about.vue:93 msgid "PhotoPrism+ Membership" msgstr "PhotoPrism + عضوية" -#: src/app/routes.js:156 +#: src/app/routes.js:164 msgid "Photos" msgstr "الصور" @@ -2310,27 +2345,27 @@ msgstr "مكان" msgid "Place & Time" msgstr "المكان والزمان" -#: src/app/routes.js:303 src/app/routes.js:309 src/app/routes.js:315 -#: src/app/routes.js:330 src/component/navigation.vue:986 -#: src/component/navigation.vue:1914 src/options/options.js:203 +#: src/app/routes.js:311 src/app/routes.js:317 src/app/routes.js:323 +#: src/app/routes.js:338 src/component/navigation.vue:999 +#: src/component/navigation.vue:1956 src/options/options.js:203 #: src/page/places.vue:51 src/page/settings/general.vue:609 #: src/page/settings/general.vue:638 msgid "Places" msgstr "أماكن" -#: src/component/settings/password.vue:129 +#: src/component/settings/password.vue:130 msgid "Please confirm your new password." msgstr "يرجى تأكيد كلمة المرور الجديدة الخاصة بك." -#: src/component/settings/apps.vue:185 +#: src/component/settings/apps.vue:188 msgid "Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:" msgstr "يرجى نسخ كلمة مرور التطبيق التالية التي تم إنشاؤها عشوائيًا والاحتفاظ بها في مكان آمن، حيث لن تتمكن من رؤيتها مرة أخرى:" -#: src/component/upload/dialog.vue:203 +#: src/component/upload/dialog.vue:205 msgid "Please do not upload any private, unlawful or offensive pictures." msgstr "يرجى عدم تحميل أي صور خاصة أو غير قانونية أو مسيئة." -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Please don't upload photos containing offensive content." msgstr "الرجاء عدم تحميل الصور التي تحتوي على محتوى مسيء." @@ -2338,11 +2373,11 @@ msgstr "الرجاء عدم تحميل الصور التي تحتوي على م msgid "Please enter OTP character {0}" msgstr "الرجاء إدخال حرف OTP {0}" -#: src/component/settings/password.vue:66 +#: src/component/settings/password.vue:67 msgid "Please note that changing your password will log you out on other devices and browsers." msgstr "يرجى ملاحظة أن تغيير كلمة المرور الخاصة بك سيؤدي إلى تسجيل خروجك على الأجهزة والمتصفحات الأخرى." -#: src/page/connect.vue:148 src/page/connect.vue:152 +#: src/page/connect.vue:149 src/page/connect.vue:153 msgid "Please restart your instance for the changes to take effect." msgstr "يرجى إعادة تشغيل المثيل الخاص بك لتصبح التغييرات سارية المفعول." @@ -2362,11 +2397,11 @@ msgstr "حد حجم PNG: %{n} بكسل" msgid "Portrait" msgstr "لَوحَة" -#: src/component/service/edit.vue:273 +#: src/component/service/edit.vue:274 msgid "Preserve filenames" msgstr "الاحتفاظ بأسماء الملفات" -#: src/component/upload/dialog.vue:162 +#: src/component/upload/dialog.vue:164 msgid "Press enter to create a new album." msgstr "اضغط على Enter لإنشاء ألبوم جديد." @@ -2403,8 +2438,8 @@ msgstr "الصورة السابقة" msgid "Primary" msgstr "الأولية" -#: src/app/routes.js:271 src/component/album/edit/dialog.vue:176 -#: src/component/navigation.vue:531 src/component/photo/edit/info.vue:303 +#: src/app/routes.js:279 src/component/album/edit/dialog.vue:177 +#: src/component/navigation.vue:533 src/component/photo/edit/info.vue:303 #: src/page/settings/general.vue:280 msgid "Private" msgstr "خاص" @@ -2429,7 +2464,7 @@ msgstr "مرشح الجودة" msgid "Quality Score" msgstr "نقاط الجودة" -#: src/page/admin/users.vue:169 +#: src/page/admin/users.vue:171 msgid "r" msgstr "ص" @@ -2460,7 +2495,7 @@ msgstr "وضع القراءة فقط" #: src/component/album/edit/dialog.vue:26 src/component/photo/toolbar.vue:116 #: src/component/photo/toolbar.vue:128 src/component/photo/toolbar.vue:138 -#: src/page/albums.vue:102 +#: src/page/albums.vue:103 msgid "Recently Added" msgstr "أضيف حديثا" @@ -2468,7 +2503,7 @@ msgstr "أضيف حديثا" msgid "Recently Archived" msgstr "مؤرشفة مؤخرا" -#: src/component/photo/toolbar.vue:139 src/page/albums.vue:103 +#: src/component/photo/toolbar.vue:139 src/page/albums.vue:104 msgid "Recently Edited" msgstr "تم تحريره مؤخرًا" @@ -2493,24 +2528,24 @@ msgstr "رمز الاسترداد" msgid "Red" msgstr "أحمر" -#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:126 -#: src/component/album/toolbar.vue:79 src/component/photo/toolbar.vue:169 -#: src/page/albums.vue:173 src/page/labels.vue:112 +#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:128 +#: src/component/album/toolbar.vue:84 src/component/photo/toolbar.vue:169 +#: src/page/albums.vue:175 src/page/labels.vue:112 #: src/page/library/browse.vue:90 src/page/library/errors.vue:81 #: src/page/people/new.vue:54 src/page/people/recognized.vue:88 msgid "Refresh" msgstr "ينعش" -#: src/app/routes.js:337 src/component/navigation.vue:943 -#: src/component/navigation.vue:1026 +#: src/app/routes.js:345 src/component/navigation.vue:955 +#: src/component/navigation.vue:1040 msgid "Regions" msgstr "المناطق" -#: src/page/connect.vue:275 src/page/connect.vue:284 +#: src/page/connect.vue:277 src/page/connect.vue:286 msgid "Register" msgstr "يسجل" -#: src/component/navigation.vue:1773 src/component/update.vue:68 +#: src/component/navigation.vue:1806 src/component/update.vue:68 msgid "Reload" msgstr "إعادة تحميل" @@ -2555,34 +2590,34 @@ msgstr "يجب مراجعة الصور الغير فوتوغرافية و الص msgid "Resolution" msgstr "الجودة" -#: src/page/connect.vue:179 src/page/connect.vue:183 +#: src/page/connect.vue:180 src/page/connect.vue:184 #: src/page/settings/advanced.vue:782 msgid "Restart" msgstr "إعادة التشغيل" -#: src/component/user/edit/dialog.vue:485 src/component/lightbox.vue:1221 +#: src/component/user/edit/dialog.vue:488 src/component/lightbox.vue:1221 #: src/component/photo/clipboard.vue:77 msgid "Restore" msgstr "استرجاع" -#: src/component/lightbox.vue:2000 +#: src/component/lightbox.vue:2020 msgid "Restored" msgstr "تم الاسترجاع" -#: src/component/service/edit.vue:428 +#: src/component/service/edit.vue:429 msgid "Retry Limit" msgstr "حد إعادة المحاولة" -#: src/component/settings/password.vue:128 +#: src/component/settings/password.vue:129 msgid "Retype Password" msgstr "اعد ادخال كلمة المرور" -#: src/app/routes.js:264 src/component/navigation.vue:505 +#: src/app/routes.js:272 src/component/navigation.vue:507 msgid "Review" msgstr "التدقيق" -#: src/component/user/add/dialog.vue:171 src/component/user/edit/dialog.vue:284 -#: src/page/admin/sessions.vue:262 src/page/admin/users.vue:73 +#: src/component/user/add/dialog.vue:172 src/component/user/edit/dialog.vue:285 +#: src/page/admin/sessions.vue:263 src/page/admin/users.vue:75 msgid "Role" msgstr "دور" @@ -2594,11 +2629,11 @@ msgstr "عدد الصفوف في الصفحة:" msgid "Satellite" msgstr "الأقمار الصناعية" -#: src/component/user/edit/dialog.vue:485 -#: src/component/album/edit/dialog.vue:211 -#: src/component/label/edit/dialog.vue:119 -#: src/component/people/edit/dialog.vue:132 src/component/service/edit.vue:466 -#: src/component/settings/password.vue:172 src/component/share/dialog.vue:181 +#: src/component/user/edit/dialog.vue:488 +#: src/component/album/edit/dialog.vue:212 +#: src/component/label/edit/dialog.vue:120 +#: src/component/people/edit/dialog.vue:133 src/component/service/edit.vue:467 +#: src/component/settings/password.vue:173 src/component/share/dialog.vue:181 msgid "Save" msgstr "حفظ" @@ -2606,23 +2641,23 @@ msgstr "حفظ" msgid "Scan" msgstr "مسح" -#: src/component/settings/passcode.vue:179 +#: src/component/settings/passcode.vue:182 msgid "Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:" msgstr "امسح رمز الاستجابة السريعة باستخدام تطبيق المصادقة الخاص بك أو استخدم مفتاح الإعداد الموضح أدناه ثم أدخل رمز التحقق الذي تم إنشاؤه:" -#: src/component/navigation.vue:461 +#: src/component/navigation.vue:463 msgid "Scans" msgstr "عمليات المسح" -#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:377 -#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:310 +#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:381 +#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:313 msgid "Scope" msgstr "نطاق" -#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:62 -#: src/component/navigation.vue:342 src/component/navigation.vue:1866 -#: src/component/photo/toolbar.vue:57 src/options/options.js:197 -#: src/page/albums.vue:100 src/page/labels.vue:77 +#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:69 +#: src/component/location/dialog.vue:133 src/component/navigation.vue:343 +#: src/component/navigation.vue:1905 src/component/photo/toolbar.vue:57 +#: src/options/options.js:197 src/page/albums.vue:100 src/page/labels.vue:77 #: src/page/library/errors.vue:76 src/page/people/recognized.vue:66 #: src/page/places.vue:79 src/page/settings/content.vue:235 msgid "Search" @@ -2660,11 +2695,11 @@ msgstr "حدد التاريخ" msgid "Select dates" msgstr "حدد التواريخ" -#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:154 +#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:156 msgid "Select or create an album" msgstr "حدد أو قم بإنشاء ألبوم" -#: src/component/upload/dialog.vue:138 +#: src/component/upload/dialog.vue:140 msgid "Select the files to upload…" msgstr "حدد الملفات التي تريد تحميلها…" @@ -2692,7 +2727,7 @@ msgstr "تمت استعادة المحتوى المحدد" msgid "Sequential Name" msgstr "الاسم المتسلسل" -#: src/component/service/add.vue:67 src/component/service/edit.vue:322 +#: src/component/service/add.vue:68 src/component/service/edit.vue:323 #: src/component/share/dialog.vue:25 msgid "Service URL" msgstr "رابط الخدمة" @@ -2701,7 +2736,7 @@ msgstr "رابط الخدمة" msgid "Services" msgstr "الخدمات" -#: src/model/session.js:107 src/options/auth.js:41 src/options/auth.js:90 +#: src/model/session.js:107 src/options/auth.js:42 src/options/auth.js:91 msgid "Session" msgstr "جلسة العمل" @@ -2709,7 +2744,7 @@ msgstr "جلسة العمل" msgid "Session ID" msgstr "معرف جلسة العمل" -#: src/page/admin.vue:45 +#: src/page/admin.vue:44 msgid "Sessions" msgstr "الجلسات" @@ -2717,22 +2752,22 @@ msgstr "الجلسات" msgid "Set as Album Cover" msgstr "تعيين كغلاف للألبوم" -#: src/app/routes.js:101 src/app/routes.js:492 src/app/routes.js:504 -#: src/app/routes.js:521 src/app/routes.js:534 src/app/routes.js:547 -#: src/component/navigation.vue:1394 src/component/navigation.vue:1806 +#: src/app/routes.js:101 src/app/routes.js:500 src/app/routes.js:512 +#: src/app/routes.js:529 src/app/routes.js:542 src/app/routes.js:555 +#: src/component/navigation.vue:1419 src/component/navigation.vue:1841 msgid "Settings" msgstr "الإعدادات" #: src/page/settings/account.vue:115 src/page/settings/account.vue:144 -#: src/component/settings/passcode.vue:147 +#: src/component/settings/passcode.vue:151 msgid "Settings saved" msgstr "تم حفظ الإعدادات" -#: src/component/service/upload.vue:131 src/component/settings/passcode.vue:160 +#: src/component/service/upload.vue:132 src/component/settings/passcode.vue:163 msgid "Setup" msgstr "تخصيص" -#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:98 +#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:103 #: src/component/photo/clipboard.vue:51 src/page/settings/general.vue:382 msgid "Share" msgstr "المشاركة" @@ -2749,7 +2784,7 @@ msgstr "شارك الصور مع التطبيقات والخدمات الأخر msgid "Show" msgstr "عرض" -#: src/page/people/new.vue:116 src/page/people/new.vue:233 +#: src/page/people/new.vue:116 src/page/people/new.vue:235 msgid "Show all new faces" msgstr "عرض كل الوجوه الجديدة" @@ -2794,7 +2829,7 @@ msgid "Similar" msgstr "مماثل" #: src/component/photo/edit/files.vue:51 src/component/photo/edit/files.vue:341 -#: src/component/service/edit.vue:139 src/component/sidebar/info.vue:96 +#: src/component/service/edit.vue:140 src/component/sidebar/info.vue:96 msgid "Size" msgstr "بحجم" @@ -2822,7 +2857,7 @@ msgstr "حدث خطأ ما حاول مرة أخرى" msgid "Sort by" msgstr "فرز حسب" -#: src/component/album/edit/dialog.vue:142 src/component/photo/toolbar.vue:288 +#: src/component/album/edit/dialog.vue:143 src/component/photo/toolbar.vue:290 #: src/page/albums.vue:214 msgid "Sort Order" msgstr "امر ترتيب" @@ -2857,7 +2892,7 @@ msgstr "قم بتجميع الصور الملتقطة في نفس الوقت و msgid "Stackable" msgstr "سهل التخزين" -#: src/component/navigation.vue:421 src/page/settings/content.vue:136 +#: src/component/navigation.vue:423 src/page/settings/content.vue:136 msgid "Stacks" msgstr "المجموعات" @@ -2885,16 +2920,16 @@ msgstr "المساحة" msgid "Streets" msgstr "الشوارع" -#: src/component/photo/edit/details.vue:494 +#: src/component/photo/edit/details.vue:468 #: src/component/photo/edit/labels.vue:44 msgid "Subject" msgstr "المواضيع" -#: src/page/about/feedback.vue:162 src/page/about/feedback.vue:163 +#: src/page/about/feedback.vue:163 src/page/about/feedback.vue:164 msgid "Submit" msgstr "اكمل الطلب" -#: src/component/settings/passcode.vue:132 +#: src/component/settings/passcode.vue:136 msgid "Successfully activated" msgstr "تم التفعيل بنجاح" @@ -2903,23 +2938,23 @@ msgid "Successfully Connected" msgstr "تم الاتصال بنجاح" #: src/component/session/remove/dialog.vue:32 -#: src/component/settings/apps.vue:218 +#: src/component/settings/apps.vue:222 msgid "Successfully deleted" msgstr "تم الحذف بنجاح" -#: src/component/settings/passcode.vue:107 +#: src/component/settings/passcode.vue:108 msgid "Successfully verified" msgstr "تم التحقق بنجاح" -#: src/component/user/edit/dialog.vue:398 src/page/admin/users.vue:163 +#: src/component/user/edit/dialog.vue:399 src/page/admin/users.vue:165 msgid "Super Admin" msgstr "Super Admin" -#: src/component/service/add.vue:122 +#: src/component/service/add.vue:123 msgid "Support for additional services, like Google Drive, will be added over time." msgstr "دعم الخدمات الإضافية ، مثل Google Drive ، ستتم إضافته بمرور الوقت." -#: src/component/confirm/sponsor.vue:37 src/component/navigation.vue:1629 +#: src/component/confirm/sponsor.vue:38 src/component/navigation.vue:1660 msgid "Support Our Mission" msgstr "دعم مهمتنا" @@ -2927,7 +2962,7 @@ msgstr "دعم مهمتنا" msgid "Sync" msgstr "مزامنة" -#: src/component/service/edit.vue:289 +#: src/component/service/edit.vue:290 msgid "Sync raw and video files" msgstr "مزامنة ملفات الفيديو الخام" @@ -2953,23 +2988,23 @@ msgstr "التضاريس" msgid "Text" msgstr "نص" -#: src/component/photo/edit/details.vue:32 src/page/people/new.vue:71 +#: src/component/photo/edit/details.vue:40 src/page/people/new.vue:71 msgid "Text too long" msgstr "نص طويل جدًا" -#: src/page/about/about.vue:145 +#: src/page/about/about.vue:146 msgid "Thank You for Your Support!" msgstr "شكرا لدعمك!" -#: src/page/about/about.vue:79 src/page/about/about.vue:85 +#: src/page/about/about.vue:80 src/page/about/about.vue:86 msgid "That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality." msgstr "لهذا السبب تم إنشاء PhotoPrism من الألف إلى الياء للتشغيل أينما تريد ، دون المساس بالحرية أو الخصوصية أو الوظيفة." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "The index currently contains %{n} hidden files." msgstr "يحتوي الفهرس حاليًا على %{n} من الملفات المخفية." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates." msgstr "قد لا يكون تنسيقها مدعومًا ، أو لم يتم تحويلها إلى JPEG بعد أو أن هناك نسخًا مكررة." @@ -2984,44 +3019,44 @@ msgstr "هوية التصميم" msgid "This field is required" msgstr "هذه الخانة مطلوبة" -#: src/component/settings/webdav.vue:100 src/page/settings/services.vue:144 +#: src/component/settings/webdav.vue:101 src/page/settings/services.vue:147 msgid "This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local." msgstr "يعمل هذا على تثبيت مجلد النسخ الأصلية كمحرك أقراص شبكة ويسمح لك بفتح الملفات وتعديلها وحذفها من جهاز الكمبيوتر أو الهاتف الذكي كما لو كانت محلية." -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Time UTC" msgstr "الوقت بالتوقيت العالمي المنسق" -#: src/component/photo/edit/details.vue:219 src/page/settings/general.vue:108 +#: src/component/photo/edit/details.vue:221 src/page/settings/general.vue:108 msgid "Time Zone" msgstr "وحدة زمنية" -#: src/component/service/edit.vue:408 +#: src/component/service/edit.vue:409 msgid "Timeout" msgstr "نفذ الوقت" -#: src/component/user/edit/dialog.vue:98 src/component/user/edit/dialog.vue:99 +#: src/component/user/edit/dialog.vue:99 src/component/user/edit/dialog.vue:100 #: src/page/settings/account.vue:84 src/page/settings/account.vue:86 msgctxt "Account" msgid "Title" msgstr "عنوان" -#: src/component/photo/edit/details.vue:73 +#: src/component/photo/edit/details.vue:75 msgctxt "Photo" msgid "Title" msgstr "عنوان" -#: src/component/photo/edit/info.vue:59 src/component/photo/edit/info.vue:155 +#: src/component/photo/edit/info.vue:61 src/component/photo/edit/info.vue:155 #: src/component/photo/edit/labels.vue:40 src/component/photo/view/list.vue:114 #: src/component/sidebar/info.vue:57 msgid "Title" msgstr "عنوان" -#: src/page/settings/account.vue:553 src/page/settings/account.vue:555 +#: src/page/settings/account.vue:559 src/page/settings/account.vue:561 msgid "Title / Position" msgstr "اللقب / المنصب" -#: src/page/albums.vue:83 +#: src/page/albums.vue:84 msgid "Title too long" msgstr "العنوان طويل جدًا" @@ -3029,19 +3064,19 @@ msgstr "العنوان طويل جدًا" msgid "to" msgstr "إلى" -#: src/component/settings/passcode.vue:312 +#: src/component/settings/passcode.vue:315 msgid "To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place." msgstr "لتجنب حظر دخولك إلى حسابك، يرجى تنزيل رمز الاسترداد هذا أو طباعته أو نسخه الآن والاحتفاظ به في مكان آمن." -#: src/component/settings/apps.vue:272 +#: src/component/settings/apps.vue:275 msgid "To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:" msgstr "لإنشاء كلمة مرور جديدة خاصة بالتطبيق، يرجى إدخال الاسم ونطاق الترخيص الخاص بالتطبيق وتحديد تاريخ انتهاء الصلاحية:" -#: src/component/settings/passcode.vue:400 +#: src/component/settings/passcode.vue:403 msgid "To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:" msgstr "للتبديل إلى تطبيق أو جهاز مصادقة جديد، قم أولاً بإلغاء تنشيط المصادقة الثنائية ثم أعد تنشيطها:" -#: src/page/connect.vue:221 src/page/connect.vue:230 +#: src/page/connect.vue:223 src/page/connect.vue:232 msgid "To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:" msgstr "للترقية ، يمكنك إما إدخال رمز التفعيل أو النقر فوق \"تسجيل\" للتسجيل على موقعنا الإلكتروني:" @@ -3049,7 +3084,7 @@ msgstr "للترقية ، يمكنك إما إدخال رمز التفعيل أ msgid "Today" msgstr "اليوم" -#: src/component/album/toolbar.vue:70 src/component/photo/toolbar.vue:78 +#: src/component/album/toolbar.vue:71 src/component/photo/toolbar.vue:78 msgid "Toggle View" msgstr "نظرة قوية" @@ -3076,20 +3111,24 @@ msgstr "استكشاف الأخطاء وإصلاحها" msgid "Try again using other filters or keywords." msgstr "حاول مرة أخرى باستخدام عوامل تصفية أو كلمات رئيسية أخرى." -#: src/component/settings/passcode.vue:380 +#: src/component/settings/passcode.vue:383 msgid "Two-factor authentication has been enabled for your account." msgstr "لقد تم تفعيل المصادقة الثنائية لحسابك." #: src/component/photo/edit/files.vue:58 src/component/photo/edit/files.vue:330 -#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:388 +#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:389 msgid "Type" msgstr "يكتب" -#: src/options/auth.js:13 +#: src/component/album/toolbar.vue:178 +msgid "Unable to delete" +msgstr "تعذر الحذف" + +#: src/options/auth.js:14 msgid "Unauthorized" msgstr "غير مصرح" -#: src/component/photo/edit/people.vue:94 +#: src/component/photo/edit/people.vue:95 msgid "Undo" msgstr "الغاء التحميل" @@ -3097,16 +3136,16 @@ msgstr "الغاء التحميل" msgid "Unique ID" msgstr "معرف مميز" -#: src/page/settings/account.vue:451 src/page/settings/account.vue:476 -#: src/page/settings/account.vue:501 src/common/util.js:487 -#: src/component/photo/edit/details.vue:21 -#: src/component/photo/edit/details.vue:111 -#: src/component/photo/edit/details.vue:138 -#: src/component/photo/edit/details.vue:164 src/component/sidebar/info.vue:43 -#: src/model/album.js:193 src/model/photo.js:323 src/model/photo.js:784 -#: src/model/photo.js:809 src/model/photo.js:832 src/model/photo.js:850 -#: src/model/photo.js:897 src/model/photo.js:905 src/model/photo.js:994 -#: src/model/photo.js:1016 src/model/photo.js:1061 src/model/photo.js:1074 +#: src/page/settings/account.vue:457 src/page/settings/account.vue:482 +#: src/page/settings/account.vue:507 src/common/util.js:488 +#: src/component/photo/edit/details.vue:27 +#: src/component/photo/edit/details.vue:113 +#: src/component/photo/edit/details.vue:140 +#: src/component/photo/edit/details.vue:166 src/component/sidebar/info.vue:43 +#: src/model/album.js:193 src/model/photo.js:331 src/model/photo.js:821 +#: src/model/photo.js:846 src/model/photo.js:869 src/model/photo.js:887 +#: src/model/photo.js:934 src/model/photo.js:942 src/model/photo.js:1031 +#: src/model/photo.js:1053 src/model/photo.js:1098 src/model/photo.js:1111 #: src/model/user.js:157 src/options/options.js:51 src/options/options.js:69 #: src/options/options.js:86 src/options/options.js:100 #: src/options/options.js:112 src/page/library/errors.vue:251 @@ -3119,7 +3158,7 @@ msgstr "مجهول" msgid "Unregistered" msgstr "غير مسجل" -#: src/app/routes.js:215 src/component/navigation.vue:644 +#: src/app/routes.js:223 src/component/navigation.vue:648 msgid "Unsorted" msgstr "غير مصنف" @@ -3127,7 +3166,7 @@ msgstr "غير مصنف" msgid "Unstack" msgstr "فصل المحتوى" -#: src/component/photo/edit/files.vue:519 src/component/photo/edit/info.vue:416 +#: src/component/photo/edit/files.vue:521 src/component/photo/edit/info.vue:416 msgid "Updated" msgstr "محدث" @@ -3143,7 +3182,7 @@ msgstr "تحديث الفهرس" msgid "Updating moments" msgstr "تحديث اللحظات" -#: src/component/user/edit/dialog.vue:154 +#: src/component/user/edit/dialog.vue:155 msgid "Updating picture…" msgstr "جارٍ تحديث الصورة ..." @@ -3155,21 +3194,21 @@ msgstr "تحديث المعاينات" msgid "Updating stacks" msgstr "تحديث المداخن" -#: src/page/connect.vue:57 src/component/navigation.vue:1500 -#: src/component/navigation.vue:1614 src/component/navigation.vue:1999 +#: src/page/connect.vue:57 src/component/navigation.vue:1526 +#: src/component/navigation.vue:1644 src/component/navigation.vue:2047 #: src/page/connect.vue:58 msgid "Upgrade" msgstr "رفع مستوى" -#: src/page/about/about.vue:123 src/page/connect.vue:202 -#: src/component/confirm/sponsor.vue:98 src/page/about/about.vue:113 -#: src/page/connect.vue:206 +#: src/page/about/about.vue:124 src/page/connect.vue:204 +#: src/component/confirm/sponsor.vue:99 src/page/about/about.vue:114 +#: src/page/connect.vue:208 msgid "Upgrade Now" msgstr "تحديث الآن" -#: src/component/album/toolbar.vue:108 src/component/navigation.vue:1824 -#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:144 -#: src/component/upload/dialog.vue:51 src/page/albums.vue:183 +#: src/component/album/toolbar.vue:113 src/component/navigation.vue:1860 +#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:145 +#: src/component/upload/dialog.vue:51 src/page/albums.vue:185 #: src/page/labels.vue:122 src/page/library/import.vue:133 #: src/page/settings/general.vue:307 src/page/settings/services.vue:38 msgid "Upload" @@ -3179,21 +3218,21 @@ msgstr "تحميل" msgid "Upload complete" msgstr "اكتمل التحميل" -#: src/component/upload/dialog.vue:133 +#: src/component/upload/dialog.vue:135 msgid "Upload complete. Indexing…" msgstr "اكتمل التحميل. جارٍ الفهرسة …" #: src/component/upload/dialog.vue:296 src/component/upload/dialog.vue:315 -#: src/component/upload/dialog.vue:129 +#: src/component/upload/dialog.vue:131 msgid "Upload failed" msgstr "فشل التحميل" -#: src/component/service/edit.vue:257 +#: src/component/service/edit.vue:258 msgid "Upload local files" msgstr "تحميل الملفات المحلية" -#: src/component/user/edit/dialog.vue:380 #: src/component/user/edit/dialog.vue:381 +#: src/component/user/edit/dialog.vue:382 msgid "Upload Path" msgstr "تحميل المسار" @@ -3201,7 +3240,7 @@ msgstr "تحميل المسار" msgid "Upload to WebDAV and share links with friends." msgstr "تحميل إلى WebDAV ومشاركة الروابط مع الأصدقاء." -#: src/component/upload/dialog.vue:131 +#: src/component/upload/dialog.vue:133 msgid "Uploading %{n} of %{t}…" msgstr "جارٍ تحميل %{n} من %{t}…" @@ -3214,7 +3253,7 @@ msgstr "جارٍ تحميل الصور …" msgid "Uploading…" msgstr "جارٍ الرفع..." -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Uploads that may contain such images will be rejected automatically." msgstr "سيتم رفض التحميلات التي قد تحتوي على مثل هذه الصور تلقائيًا." @@ -3222,7 +3261,7 @@ msgstr "سيتم رفض التحميلات التي قد تحتوي على مث msgid "Use Presets" msgstr "استخدم الإعدادات المسبقة" -#: src/component/settings/passcode.vue:283 +#: src/component/settings/passcode.vue:286 msgid "Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:" msgstr "استخدم رمز الاسترداد التالي للوصول إلى حسابك عندما لا تتمكن من إنشاء رمز تحقق صالح باستخدام تطبيق المصادقة الخاص بك:" @@ -3230,12 +3269,12 @@ msgstr "استخدم رمز الاسترداد التالي للوصول إلى msgid "Use your recovery code or contact an administrator for help." msgstr "استخدم رمز الاسترداد الخاص بك أو اتصل بالمسؤول للحصول على المساعدة." -#: src/options/admin.js:10 src/page/admin/sessions.vue:59 -#: src/page/admin/sessions.vue:242 src/model/user.js:361 src/options/auth.js:7 +#: src/options/admin.js:14 src/page/admin/sessions.vue:59 +#: src/page/admin/sessions.vue:243 src/model/user.js:361 src/options/auth.js:8 msgid "User" msgstr "المستعمل" -#: src/component/navigation.vue:1979 +#: src/component/navigation.vue:2025 msgid "User Guide" msgstr "دليل المستخدم" @@ -3243,14 +3282,14 @@ msgstr "دليل المستخدم" msgid "User Interface" msgstr "واجهة المستخدم" -#: src/component/user/add/dialog.vue:87 src/component/user/add/dialog.vue:88 -#: src/page/admin/sessions.vue:220 src/page/admin/users.vue:71 -#: src/component/service/add.vue:85 src/component/service/edit.vue:337 +#: src/component/user/add/dialog.vue:88 src/component/user/add/dialog.vue:89 +#: src/page/admin/sessions.vue:221 src/page/admin/users.vue:73 +#: src/component/service/add.vue:86 src/component/service/edit.vue:338 #: src/component/share/dialog.vue:26 msgid "Username" msgstr "اسم المستخدم" -#: src/component/navigation.vue:1435 +#: src/component/navigation.vue:1461 msgid "Users" msgstr "المستخدمون" @@ -3260,18 +3299,18 @@ msgstr "المستخدمون" msgid "Vector" msgstr "المتجه" -#: src/component/navigation.vue:440 +#: src/component/navigation.vue:442 msgid "Vectors" msgstr "الابعاد" -#: src/component/settings/passcode.vue:227 src/page/auth/login.vue:144 +#: src/component/settings/passcode.vue:230 src/page/auth/login.vue:144 msgid "Verification Code" msgstr "رمز التحقق" #: src/component/photo/view/cards.vue:363 #: src/component/photo/view/cards.vue:491 src/component/photo/view/list.vue:190 #: src/component/photo/view/mosaic.vue:207 src/model/file.js:221 -#: src/model/photo.js:921 src/model/photo.js:939 src/options/options.js:293 +#: src/model/photo.js:958 src/model/photo.js:976 src/options/options.js:293 msgid "Video" msgstr "فيديو" @@ -3280,12 +3319,12 @@ msgstr "فيديو" msgid "Video Duration" msgstr "مدة الفيديو" -#: src/app/routes.js:243 src/component/navigation.vue:728 +#: src/app/routes.js:251 src/component/navigation.vue:734 #: src/options/options.js:200 msgid "Videos" msgstr "أشرطة فيديو" -#: src/component/photo/toolbar.vue:261 src/component/photo/view/cards.vue:350 +#: src/component/photo/toolbar.vue:263 src/component/photo/view/cards.vue:350 #: src/component/photo/view/mosaic.vue:194 msgid "View" msgstr "العرض" @@ -3294,11 +3333,11 @@ msgstr "العرض" msgid "View search results as a list." msgstr "عرض نتائج البحث كقائمة." -#: src/options/admin.js:14 src/options/auth.js:8 +#: src/options/admin.js:18 src/options/auth.js:9 msgid "Viewer" msgstr "نافذة العرض" -#: src/page/admin/sessions.vue:271 src/options/auth.js:12 +#: src/page/admin/sessions.vue:272 src/options/auth.js:13 msgid "Visitor" msgstr "زائر" @@ -3310,34 +3349,34 @@ msgstr "التشابه البصري" msgid "Warning" msgstr "تحذير" -#: src/page/about/feedback.vue:60 +#: src/page/about/feedback.vue:61 msgid "We appreciate your feedback!" msgstr "نحن نقدر ملاحظاتك!" -#: src/page/about/feedback.vue:63 +#: src/page/about/feedback.vue:64 msgid "We do our best to respond within five business days or less." msgstr "نحن نبذل قصارى جهدنا للرد في غضون خمسة أيام عمل أو أقل." -#: src/component/user/add/dialog.vue:235 src/component/user/edit/dialog.vue:415 -#: src/page/admin/users.vue:80 +#: src/component/user/add/dialog.vue:236 src/component/user/edit/dialog.vue:416 +#: src/page/admin/users.vue:82 msgid "Web Login" msgstr "تسجيل الدخول عبر الويب" -#: src/component/user/add/dialog.vue:248 src/component/user/edit/dialog.vue:432 -#: src/page/admin/users.vue:82 src/options/auth.js:55 src/options/auth.js:68 +#: src/component/user/add/dialog.vue:249 src/component/user/edit/dialog.vue:433 +#: src/page/admin/users.vue:84 src/options/auth.js:56 src/options/auth.js:69 #: src/options/options.js:444 msgid "WebDAV" msgstr "WebDAV" -#: src/component/settings/webdav.vue:51 +#: src/component/settings/webdav.vue:52 msgid "WebDAV clients can connect to PhotoPrism using the following URL:" msgstr "يمكن لعملاء WebDAV الاتصال بـ PhotoPrism باستخدام عنوان URL التالي:" -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism." msgstr "يمكن لعملاء WebDAV، مثل Microsoft Windows Explorer أو Apple's Finder، الاتصال مباشرة بـ PhotoPrism." -#: src/component/service/upload.vue:50 src/component/share/dialog.vue:220 +#: src/component/service/upload.vue:51 src/component/share/dialog.vue:220 msgid "WebDAV Upload" msgstr "تحميل WebDAV" @@ -3345,8 +3384,8 @@ msgstr "تحميل WebDAV" msgid "WebGL support is disabled in your browser" msgstr "تم تعطيل دعم WebGL في متصفحك" -#: src/page/settings/account.vue:615 src/page/settings/account.vue:709 -#: src/page/settings/account.vue:601 +#: src/page/settings/account.vue:621 src/page/settings/account.vue:715 +#: src/page/settings/account.vue:607 msgid "Website" msgstr "الموقع الالكتروني" @@ -3354,12 +3393,12 @@ msgstr "الموقع الالكتروني" msgid "White" msgstr "أبيض" -#: src/page/settings/account.vue:532 +#: src/page/settings/account.vue:538 msgid "Work Details" msgstr "تفاصيل العمل" -#: src/page/settings/account.vue:500 src/component/photo/edit/details.vue:163 -#: src/component/photo/toolbar.vue:315 src/page/albums.vue:159 +#: src/page/settings/account.vue:506 src/component/photo/edit/details.vue:165 +#: src/component/photo/toolbar.vue:317 src/page/albums.vue:159 msgid "Year" msgstr "سنة" @@ -3367,21 +3406,21 @@ msgstr "سنة" msgid "Yellow" msgstr "اصفر" -#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:58 -#: src/component/photo/archive/dialog.vue:58 +#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:59 +#: src/component/photo/archive/dialog.vue:59 #: src/component/photo/clipboard.vue:200 src/component/photo/edit/files.vue:365 #: src/component/photo/edit/files.vue:395 #: src/component/photo/edit/files.vue:401 #: src/component/photo/edit/files.vue:407 -#: src/component/photo/edit/files.vue:510 src/component/photo/edit/info.vue:281 +#: src/component/photo/edit/files.vue:512 src/component/photo/edit/info.vue:281 #: src/component/photo/edit/info.vue:297 src/component/photo/edit/info.vue:313 #: src/component/photo/edit/info.vue:329 src/component/photo/edit/info.vue:344 -#: src/component/photo/toolbar.vue:434 +#: src/component/photo/toolbar.vue:436 msgid "Yes" msgstr "نعم" -#: src/component/confirm/sponsor.vue:59 src/page/about/about.vue:158 -#: src/page/connect.vue:315 +#: src/component/confirm/sponsor.vue:60 src/page/about/about.vue:160 +#: src/page/connect.vue:317 msgid "You are welcome to contact us at membership@photoprism.app for questions regarding your membership." msgstr "نرحب باتصالك بنا على membership@photoprism.app لطرح أسئلة بخصوص عضويتك." @@ -3393,7 +3432,11 @@ msgstr "يمكنك تنزيل ألبوم واحد فقط" msgid "You can only download one label" msgstr "يمكنك فقط تحميل تسمية واحدة" -#: src/component/upload/dialog.vue:203 +#: src/component/location/dialog.vue:178 +msgid "You can search for a location or move the marker on the map to change the position:" +msgstr "يمكنك البحث عن موقع أو تحريك العلامة على الخريطة لتغيير الموقع:" + +#: src/component/upload/dialog.vue:205 msgid "You can upload up to %{n} files for test purposes." msgstr "يمكنك تحميل ما يصل إلى %{n} من الملفات لأغراض الاختبار." @@ -3406,7 +3449,7 @@ msgstr "يمكنك اختيار عنصر واحد فقط" msgid "You may rescan your library to find additional faces." msgstr "يمكنك إعادة فحص مكتبتك للعثور على وجوه إضافية." -#: src/page/connect.vue:146 src/page/connect.vue:150 +#: src/page/connect.vue:147 src/page/connect.vue:151 msgid "Your account has been successfully connected." msgstr "تم ربط حسابك بنجاح." @@ -3414,8 +3457,8 @@ msgstr "تم ربط حسابك بنجاح." msgid "Your browser does not support WebGL" msgstr "متصفحك لا يدعم WebGL" -#: src/component/confirm/sponsor.vue:43 src/page/about/about.vue:97 -#: src/page/about/about.vue:156 src/page/connect.vue:220 +#: src/component/confirm/sponsor.vue:44 src/page/about/about.vue:98 +#: src/page/about/about.vue:158 src/page/connect.vue:222 msgid "Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy." msgstr "يساعدنا دعمك المستمر في توفير تحديثات منتظمة والبقاء مستقلين ، حتى نتمكن من تنفيذ مهمتنا وحماية خصوصيتك." @@ -3496,9 +3539,6 @@ msgstr "التكبير / التصغير" #~ msgid "Open Folder" #~ msgstr "فتح المجلد" -#~ msgid "Cannot copy to clipboard" -#~ msgstr "لا يمكن النسخ إلى الحافظة" - #~ msgid "Sound" #~ msgstr "صوت" diff --git a/frontend/src/locales/be.po b/frontend/src/locales/be.po index 0ff4694e8..232e5af91 100644 --- a/frontend/src/locales/be.po +++ b/frontend/src/locales/be.po @@ -2,13 +2,13 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: ci@photoprism.app\n" -"PO-Revision-Date: 2025-04-04 08:03+0000\n" +"PO-Revision-Date: 2025-07-06 08:59+0000\n" "Last-Translator: Google Cloud Translation Basic \n" "Language: be\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 5.10.4\n" +"X-Generator: Weblate 5.12.2\n" "Generated-By: easygettext\n" #: src/locales.js:268 @@ -39,7 +39,7 @@ msgstr "{0} выбрана" msgid "{0}-{1} of {2}" msgstr "{0}-{1} з {2}" -#: src/page/albums.vue:612 +#: src/page/albums.vue:617 msgid "%{n} albums found" msgstr "%{n} альбомаў знойдзена" @@ -47,25 +47,25 @@ msgstr "%{n} альбомаў знойдзена" msgid "%{n} files uploaded" msgstr "%{n} файлаў запампавана" -#: src/page/library/browse.vue:362 +#: src/page/library/browse.vue:364 msgid "%{n} folders found" msgstr "%{n} папак знойдзена" -#: src/component/navigation.vue:1676 +#: src/component/navigation.vue:1707 msgid "%{n} GB of %{q} GB used" msgstr "%{n} ГБ з %{q} ГБ выкарыстана" -#: src/page/labels.vue:528 +#: src/page/labels.vue:533 msgid "%{n} labels found" msgstr "%{n} метак знойдзена" -#: src/page/people/new.vue:350 src/page/people/new.vue:447 -#: src/page/people/recognized.vue:536 +#: src/page/people/new.vue:350 src/page/people/new.vue:450 +#: src/page/people/recognized.vue:541 msgid "%{n} people found" msgstr "Знойдзена %{n} чалавек" -#: src/page/album/photos.vue:308 src/page/album/photos.vue:493 -#: src/page/photos.vue:441 src/page/photos.vue:631 +#: src/page/album/photos.vue:313 src/page/album/photos.vue:504 +#: src/page/photos.vue:446 src/page/photos.vue:641 msgid "%{n} pictures found" msgstr "Знойдзена %{n} відарысаў" @@ -85,12 +85,12 @@ msgstr "1 гадзіна" msgid "12 hours" msgstr "12 гадзін" -#: src/component/user/edit/dialog.vue:452 src/page/settings/account.vue:324 -#: src/component/settings/passcode.vue:75 +#: src/component/user/edit/dialog.vue:453 src/page/settings/account.vue:325 +#: src/component/settings/passcode.vue:78 msgid "2-Factor Authentication" msgstr "2-фактарная аўтэнтыфікацыя" -#: src/component/user/edit/dialog.vue:451 src/options/auth.js:46 +#: src/component/user/edit/dialog.vue:452 src/options/auth.js:47 msgid "2FA" msgstr "2FA" @@ -106,20 +106,20 @@ msgstr "Клік скапіруе яго ў буфер абмену." msgid "A new version of %{s} is available:" msgstr "Даступная новая версія %{s}:" -#: src/component/user/edit/dialog.vue:233 -#: src/component/user/edit/dialog.vue:234 src/page/about/about.vue:56 +#: src/component/user/edit/dialog.vue:234 +#: src/component/user/edit/dialog.vue:235 src/page/about/about.vue:56 #: src/page/settings/account.vue:248 src/page/settings/account.vue:249 -#: src/app/routes.js:63 src/component/navigation.vue:1521 -#: src/page/people/recognized.vue:292 +#: src/app/routes.js:63 src/component/navigation.vue:1547 +#: src/page/people/recognized.vue:296 msgid "About" msgstr "Аб" -#: src/options/auth.js:26 src/options/auth.js:44 +#: src/options/auth.js:27 src/options/auth.js:45 msgid "Access Token" msgstr "Токен доступу" -#: src/component/navigation.vue:87 src/component/navigation.vue:1788 -#: src/component/service/upload.vue:71 src/model/service.js:96 +#: src/component/navigation.vue:87 src/component/navigation.vue:1822 +#: src/component/service/upload.vue:72 src/model/service.js:96 #: src/model/user.js:171 src/page/settings.vue:85 #: src/page/settings/general.vue:582 msgid "Account" @@ -133,7 +133,7 @@ msgstr "Уліковы запіс створаны" msgid "Account deleted" msgstr "Уліковы запіс выдалены" -#: src/page/admin/users.vue:335 +#: src/page/admin/users.vue:337 msgid "Account restored" msgstr "Уліковы запіс адноўлены" @@ -154,8 +154,8 @@ msgstr "Дзеянне" msgid "Actions" msgstr "Дзеянні" -#: src/page/connect.vue:294 src/component/settings/passcode.vue:346 -#: src/page/connect.vue:303 +#: src/page/connect.vue:296 src/component/settings/passcode.vue:349 +#: src/page/connect.vue:305 msgid "Activate" msgstr "Актываваць" @@ -171,20 +171,20 @@ msgstr "Уключыце для сартавання па ўзрастанні." msgid "Activate to sort descending." msgstr "Уключыце для сартавання па змяншэнні." -#: src/page/connect.vue:231 src/page/connect.vue:240 +#: src/page/connect.vue:233 src/page/connect.vue:242 msgid "Activation Code" msgstr "Код актывацыі" -#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:83 -#: src/component/settings/apps.vue:448 +#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:92 +#: src/component/settings/apps.vue:451 msgid "Add" msgstr "Дадаць" -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:246 msgid "Add %{s}?" msgstr "Дадаць %{s}?" -#: src/component/user/add/dialog.vue:56 src/component/service/add.vue:49 +#: src/component/user/add/dialog.vue:57 src/component/service/add.vue:50 msgid "Add Account" msgstr "Дадаць уліковы запіс" @@ -201,8 +201,8 @@ msgid "Add Link" msgstr "Дадаць спасылку" #: src/component/photo/edit/people.vue:25 -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:57 -#: src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:57 +#: src/page/people/new.vue:246 msgid "Add person?" msgstr "Дадаць чалавека?" @@ -218,10 +218,15 @@ msgstr "Дадайце выявы з вынікаў пошуку, выбраўш msgid "Add to album" msgstr "Дадаць у альбом" -#: src/component/photo/edit/files.vue:514 +#: src/component/photo/edit/files.vue:516 msgid "Added" msgstr "Дададзена" +#: src/component/location/dialog.vue:68 src/component/location/dialog.vue:90 +#: src/component/photo/edit/details.vue:246 +msgid "Adjust Location" +msgstr "Змяніць месцазнаходжанне" + #: src/options/admin.js:6 src/options/auth.js:6 msgid "Admin" msgstr "Адмін" @@ -242,7 +247,7 @@ msgstr "Праз 3 дні" msgid "After 7 days" msgstr "Праз 7 дзён" -#: src/component/settings/passcode.vue:93 +#: src/component/settings/passcode.vue:96 msgid "After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:" msgstr "Пасля ўводу пароля для пацверджання вы можаце наладзіць двухфактарную аўтэнтыфікацыю з дапамогай сумяшчальнай праграмы або прылады аўтэнтыфікатара:" @@ -274,12 +279,16 @@ msgstr "Альбом" msgid "Album Backups" msgstr "Рэзервовыя копіі альбомаў" -#: src/page/albums.vue:674 +#: src/page/albums.vue:685 msgid "Album created" msgstr "Альбом створаны" -#: src/app/routes.js:176 src/component/album/toolbar.vue:51 -#: src/component/navigation.vue:604 src/component/navigation.vue:1882 +#: src/page/album/photos.vue:589 +msgid "Album deleted" +msgstr "Альбом выдалены" + +#: src/app/routes.js:184 src/component/album/toolbar.vue:55 +#: src/component/navigation.vue:607 src/component/navigation.vue:1922 #: src/component/photo/edit/info.vue:220 src/options/options.js:198 msgid "Albums" msgstr "Альбомы" @@ -292,7 +301,7 @@ msgstr "Альбомы выдалены" msgid "All" msgstr "Усе" -#: src/page/albums.vue:465 +#: src/page/albums.vue:470 msgid "All %{n} albums loaded" msgstr "Усе %{n} альбомаў загружаны" @@ -308,8 +317,8 @@ msgstr "Усе %{n} чалавек загружаны" msgid "All Cameras" msgstr "Усе камеры" -#: src/component/photo/toolbar.vue:74 src/page/albums.vue:44 -#: src/page/albums.vue:240 src/page/albums.vue:746 +#: src/component/photo/toolbar.vue:74 src/page/albums.vue:45 +#: src/page/albums.vue:242 src/page/albums.vue:757 msgid "All Categories" msgstr "Усе катэгорыі" @@ -341,7 +350,7 @@ msgstr "Усе месяцы" msgid "All originals" msgstr "Усе арыгіналы" -#: src/component/photo/toolbar.vue:76 src/page/albums.vue:93 +#: src/component/photo/toolbar.vue:76 src/page/albums.vue:94 msgid "All Years" msgstr "Усе гады" @@ -353,7 +362,7 @@ msgstr "Акрамя таго, вы можаце запампаваць файл msgid "Altitude" msgstr "Вышыня над узроўнем мора" -#: src/component/photo/edit/details.vue:272 +#: src/component/photo/edit/details.vue:297 msgid "Altitude (m)" msgstr "Вышыня (м)" @@ -361,8 +370,7 @@ msgstr "Вышыня (м)" msgid "AM" msgstr "AM" -#: src/app/routes.js:257 src/component/navigation.vue:791 -#: src/component/photo/edit/files.vue:364 +#: src/app/routes.js:265 src/component/photo/edit/files.vue:364 #: src/component/photo/view/cards.vue:327 #: src/component/photo/view/cards.vue:511 src/component/photo/view/list.vue:184 #: src/component/photo/view/mosaic.vue:171 src/options/options.js:301 @@ -373,43 +381,47 @@ msgstr "Аніміраваныя" msgid "Animation" msgstr "Анімацыя" +#: src/component/navigation.vue:797 +msgid "Animations" +msgstr "Анімацыі" + #: src/component/share/dialog.vue:207 msgid "Any private photos and videos remain private and won't be shared." msgstr "Любыя прыватныя фатаграфіі і відэа застаюцца прыватнымі і не будуць перададзены." -#: src/component/service/edit.vue:372 +#: src/component/service/edit.vue:373 msgid "API Key" msgstr "Ключ API" -#: src/page/admin/sessions.vue:357 src/options/auth.js:25 +#: src/page/admin/sessions.vue:361 src/options/auth.js:26 msgid "Application" msgstr "Ужыванне" -#: src/component/photo/edit/details.vue:641 +#: src/component/photo/edit/details.vue:615 msgid "Apply" msgstr "Ужыць" #: src/component/photo/clipboard.vue:64 -#: src/component/photo/edit/details.vue:640 +#: src/component/photo/edit/details.vue:614 #: src/component/photo/view/cards.vue:416 msgid "Approve" msgstr "Зацвердзіць" -#: src/page/settings/account.vue:374 src/component/settings/apps.vue:91 +#: src/page/settings/account.vue:378 src/component/settings/apps.vue:94 msgid "Apps and Devices" msgstr "Праграмы і прылады" -#: src/app/routes.js:287 src/component/lightbox.vue:1207 -#: src/component/navigation.vue:555 src/component/photo/clipboard.vue:142 +#: src/app/routes.js:295 src/component/lightbox.vue:1207 +#: src/component/navigation.vue:557 src/component/photo/clipboard.vue:142 #: src/component/photo/view/cards.vue:398 src/page/settings/general.vue:432 msgid "Archive" msgstr "Архіў" -#: src/component/lightbox.vue:1982 src/component/photo/edit/info.vue:433 +#: src/component/lightbox.vue:2002 src/component/photo/edit/info.vue:433 msgid "Archived" msgstr "Заархівавана" -#: src/component/photo/archive/dialog.vue:34 +#: src/component/photo/archive/dialog.vue:35 msgid "Are you sure you want to archive the selection?" msgstr "Вы ўпэўнены, што хочаце заархіваваць выбар?" @@ -417,19 +429,23 @@ msgstr "Вы ўпэўнены, што хочаце заархіваваць вы msgid "Are you sure you want to delete these albums?" msgstr "Вы ўпэўнены, што хочаце выдаліць гэтыя альбомы?" -#: src/component/label/delete/dialog.vue:34 +#: src/component/label/delete/dialog.vue:35 msgid "Are you sure you want to delete these labels?" msgstr "Вы ўпэўнены, што жадаеце выдаліць гэтыя меткі?" -#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:36 +#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:37 msgid "Are you sure you want to delete this account?" msgstr "Вы ўпэўнены, што хочаце выдаліць гэты акаунт?" +#: src/component/album/toolbar.vue:136 +msgid "Are you sure you want to delete this album?" +msgstr "Вы ўпэўненыя, што хочаце выдаліць гэты альбом?" + #: src/component/photo/clipboard.vue:199 msgid "Are you sure you want to permanently delete these pictures?" msgstr "Вы ўпэўнены, што хочаце назаўсёды выдаліць гэтыя фатаграфіі?" -#: src/component/file/delete/dialog.vue:34 +#: src/component/file/delete/dialog.vue:35 msgid "Are you sure you want to permanently delete this file?" msgstr "Вы ўпэўнены, што хочаце назаўжды выдаліць гэты файл?" @@ -438,7 +454,7 @@ msgstr "Вы ўпэўнены, што хочаце назаўжды выдалі msgid "Are you sure?" msgstr "Вы ўпэўнены?" -#: src/component/photo/edit/details.vue:537 +#: src/component/photo/edit/details.vue:511 msgid "Artist" msgstr "Мастак" @@ -446,14 +462,14 @@ msgstr "Мастак" msgid "Aspect Ratio" msgstr "Суадносіны бакоў" -#: src/app/routes.js:250 src/component/navigation.vue:770 +#: src/app/routes.js:258 src/component/navigation.vue:776 #: src/options/options.js:297 msgid "Audio" msgstr "Аўдыё" -#: src/component/user/add/dialog.vue:190 src/component/user/edit/dialog.vue:309 -#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:281 -#: src/page/admin/users.vue:75 +#: src/component/user/add/dialog.vue:191 src/component/user/edit/dialog.vue:310 +#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:282 +#: src/page/admin/users.vue:77 msgid "Authentication" msgstr "Аўтэнтыфікацыя" @@ -461,11 +477,11 @@ msgstr "Аўтэнтыфікацыя" msgid "Auto" msgstr "Аўто" -#: src/component/settings/apps.vue:151 +#: src/component/settings/apps.vue:154 msgid "Back" msgstr "Назад" -#: src/component/scroll.vue:20 +#: src/component/scroll.vue:18 msgid "Back to top" msgstr "Вярнуцца да пачатку" @@ -477,26 +493,26 @@ msgstr "Рэзервовае капіраванне" msgid "Badge" msgstr "Значок" -#: src/component/user/edit/dialog.vue:361 #: src/component/user/edit/dialog.vue:362 +#: src/component/user/edit/dialog.vue:363 msgid "Base Path" msgstr "Базавы шлях" -#: src/page/about/about.vue:95 src/page/connect.vue:220 +#: src/page/about/about.vue:96 src/page/connect.vue:222 msgid "Become a member today, support our mission and enjoy our member benefits!" msgstr "Станьце членам сёння, падтрымайце нашу місію і атрымлівайце асалоду ад нашых пераваг для ўдзельнікаў!" -#: src/component/confirm/sponsor.vue:51 src/page/about/about.vue:99 +#: src/component/confirm/sponsor.vue:52 src/page/about/about.vue:100 msgid "Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services." msgstr "Будучы на 100% самафінансаваным і незалежным, мы можам паабяцаць вам, што ніколі не будзем прадаваць вашы даныя і што мы заўсёды будзем празрыстымі адносна нашага праграмнага забеспячэння і паслуг." -#: src/component/user/edit/dialog.vue:258 -#: src/component/user/edit/dialog.vue:259 src/page/settings/account.vue:227 +#: src/component/user/edit/dialog.vue:259 +#: src/component/user/edit/dialog.vue:260 src/page/settings/account.vue:227 #: src/page/settings/account.vue:228 msgid "Bio" msgstr "Біяграфія" -#: src/page/settings/account.vue:431 +#: src/page/settings/account.vue:437 msgid "Birth Date" msgstr "Дата нараджэння" @@ -517,7 +533,7 @@ msgid "Brown" msgstr "Карычневы" #: src/component/photo/edit/files.vue:263 src/component/photo/toolbar.vue:141 -#: src/component/upload/dialog.vue:240 +#: src/component/upload/dialog.vue:242 msgid "Browse" msgstr "Праглядзіце" @@ -545,16 +561,16 @@ msgstr "Справаздача пра памылку" msgid "Busy, please wait…" msgstr "Заняты, пачакайце…" -#: src/page/connect.vue:317 +#: src/page/connect.vue:319 msgid "By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct." msgstr "Выкарыстоўваючы праграмнае забеспячэнне і паслугі, якія мы прадстаўляем, вы згаджаецеся з нашымі ўмовамі абслугоўвання, палітыкай прыватнасці і кодэксам паводзін." -#: src/app/routes.js:189 src/component/navigation.vue:1081 +#: src/app/routes.js:197 src/component/navigation.vue:1097 #: src/options/options.js:204 src/page/settings/general.vue:205 msgid "Calendar" msgstr "Каляндар" -#: src/component/photo/edit/details.vue:346 src/component/photo/toolbar.vue:232 +#: src/component/photo/edit/details.vue:320 src/component/photo/toolbar.vue:234 #: src/component/photo/view/cards.vue:467 src/component/photo/view/list.vue:116 msgid "Camera" msgstr "Камера" @@ -567,12 +583,12 @@ msgstr "Серыял камеры" msgid "Can't access your authenticator app or device?" msgstr "Не можаце атрымаць доступ да праграмы або прылады аўтэнтыфікатара?" -#: src/page/album/photos.vue:317 src/page/photos.vue:450 +#: src/page/album/photos.vue:322 src/page/photos.vue:455 msgid "Can't load more, limit reached" msgstr "Немагчыма загрузіць больш, дасягнуты ліміт" #: src/common/clipboard.js:102 src/common/clipboard.js:139 -#: src/page/albums.vue:684 src/page/albums.vue:700 src/page/labels.vue:293 +#: src/page/albums.vue:695 src/page/albums.vue:711 src/page/labels.vue:293 #: src/page/labels.vue:313 src/page/library/browse.vue:233 #: src/page/library/browse.vue:249 src/page/people/new.vue:278 #: src/page/people/new.vue:294 src/page/people/recognized.vue:305 @@ -581,26 +597,31 @@ msgid "Can't select more items" msgstr "Немагчыма выбраць больш элементаў" #: src/component/session/remove/dialog.vue:45 -#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:473 -#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:119 +#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:474 +#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:120 #: src/component/album/delete/dialog.vue:43 -#: src/component/album/edit/dialog.vue:199 src/component/confirm/dialog.vue:43 -#: src/component/file/delete/dialog.vue:47 -#: src/component/label/delete/dialog.vue:47 -#: src/component/label/edit/dialog.vue:107 -#: src/component/people/edit/dialog.vue:120 +#: src/component/album/edit/dialog.vue:200 src/component/confirm/dialog.vue:43 +#: src/component/file/delete/dialog.vue:48 +#: src/component/label/delete/dialog.vue:48 +#: src/component/label/edit/dialog.vue:108 +#: src/component/location/dialog.vue:200 +#: src/component/people/edit/dialog.vue:121 #: src/component/photo/album/dialog.vue:78 src/component/service/add.vue:19 -#: src/component/service/edit.vue:455 src/component/service/remove.vue:49 -#: src/component/service/upload.vue:117 src/component/settings/apps.vue:352 -#: src/component/settings/passcode.vue:249 -#: src/component/settings/passcode.vue:333 -#: src/component/settings/password.vue:159 src/component/share/dialog.vue:28 -#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:123 +#: src/component/service/edit.vue:456 src/component/service/remove.vue:50 +#: src/component/service/upload.vue:118 src/component/settings/apps.vue:355 +#: src/component/settings/passcode.vue:252 +#: src/component/settings/passcode.vue:336 +#: src/component/settings/password.vue:160 src/component/share/dialog.vue:28 +#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:124 #: src/page/library/import.vue:119 src/page/library/index.vue:128 msgid "Cancel" msgstr "Адмяніць" -#: src/component/photo/edit/details.vue:87 src/component/photo/edit/info.vue:61 +#: src/common/util.js:863 src/common/util.js:870 +msgid "Cannot copy to clipboard" +msgstr "Немагчыма скапіраваць у буфер абмену" + +#: src/component/photo/edit/details.vue:89 src/component/photo/edit/info.vue:63 #: src/component/photo/edit/labels.vue:42 #: src/component/photo/view/cards.vue:445 src/component/sidebar/info.vue:72 msgid "Caption" @@ -614,17 +635,17 @@ msgstr "Карты" msgid "Carousel slide {0} of {1}" msgstr "Слайд каруселі {0} з {1}" -#: src/page/about/feedback.vue:82 src/page/about/feedback.vue:83 -#: src/component/album/edit/dialog.vue:128 src/component/photo/toolbar.vue:397 +#: src/page/about/feedback.vue:83 src/page/about/feedback.vue:84 +#: src/component/album/edit/dialog.vue:129 src/component/photo/toolbar.vue:399 #: src/page/albums.vue:187 msgid "Category" msgstr "Катэгорыя" -#: src/component/user/edit/dialog.vue:191 src/page/settings/account.vue:201 +#: src/component/user/edit/dialog.vue:192 src/page/settings/account.vue:201 msgid "Change Avatar" msgstr "Змяніць аватар" -#: src/page/settings/account.vue:297 src/component/settings/password.vue:48 +#: src/page/settings/account.vue:297 src/component/settings/password.vue:49 msgid "Change Password" msgstr "Змяніць пароль" @@ -641,17 +662,17 @@ msgid "Change private flag" msgstr "Змяніць прыватны тэг" #: src/component/user/add/dialog.vue:108 src/component/user/add/dialog.vue:113 -#: src/component/user/edit/dialog.vue:90 src/component/user/edit/dialog.vue:95 +#: src/component/user/edit/dialog.vue:91 src/component/user/edit/dialog.vue:96 #: src/page/settings/account.vue:121 src/page/settings/account.vue:126 msgid "Changes could not be saved" msgstr "Не ўдалося захаваць змены" -#: src/component/user/edit/dialog.vue:83 src/component/user/edit/dialog.vue:159 +#: src/component/user/edit/dialog.vue:84 src/component/user/edit/dialog.vue:160 #: src/component/album/edit/dialog.vue:73 -#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1941 +#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1961 #: src/component/photo/edit/files.vue:162 src/component/service/edit.vue:90 #: src/component/share/dialog.vue:92 src/component/share/dialog.vue:111 -#: src/page/albums.vue:677 src/page/people/recognized.vue:119 +#: src/page/albums.vue:688 src/page/people/recognized.vue:119 #: src/page/settings/advanced.vue:62 src/page/settings/content.vue:62 #: src/page/settings/general.vue:108 msgid "Changes successfully saved" @@ -665,7 +686,7 @@ msgstr "Каб змены ў дадатковых наладах уступіл msgid "Checked" msgstr "Праверана" -#: src/component/photo/edit/files.vue:495 +#: src/component/photo/edit/files.vue:497 msgid "Chroma" msgstr "Каляровасць" @@ -681,24 +702,24 @@ msgstr "Прыбіраць" msgid "Clear {0}" msgstr "Ачысціць {0}" -#: src/options/auth.js:11 src/options/auth.js:23 src/options/auth.js:43 +#: src/options/auth.js:12 src/options/auth.js:24 src/options/auth.js:44 msgid "Client" msgstr "Кліент" -#: src/options/auth.js:24 +#: src/options/auth.js:25 msgid "Client Credentials" msgstr "Уліковыя даныя кліента" -#: src/page/admin/sessions.vue:529 src/component/lightbox.vue:284 -#: src/component/lightbox.vue:1009 src/component/lightbox.vue:1010 -#: src/component/photo/edit/details.vue:627 src/component/photo/toolbar.vue:160 -#: src/component/settings/apps.vue:224 src/component/settings/apps.vue:437 -#: src/component/settings/passcode.vue:148 -#: src/component/settings/passcode.vue:456 -#: src/component/settings/passcode.vue:497 -#: src/component/settings/webdav.vue:131 src/component/share/dialog.vue:231 +#: src/component/user/edit/dialog.vue:474 src/page/admin/sessions.vue:536 +#: src/component/lightbox.vue:284 src/component/lightbox.vue:1009 +#: src/component/lightbox.vue:1010 src/component/photo/edit/details.vue:601 +#: src/component/photo/toolbar.vue:161 src/component/settings/apps.vue:227 +#: src/component/settings/apps.vue:440 src/component/settings/passcode.vue:151 +#: src/component/settings/passcode.vue:459 +#: src/component/settings/passcode.vue:500 +#: src/component/settings/webdav.vue:132 src/component/share/dialog.vue:231 #: src/component/sidebar/info.vue:26 src/component/update.vue:57 -#: src/component/upload/dialog.vue:228 src/locales.js:206 +#: src/component/upload/dialog.vue:230 src/locales.js:206 #: src/page/library/errors.vue:253 msgid "Close" msgstr "Закрыць" @@ -707,11 +728,11 @@ msgstr "Закрыць" msgid "Codec" msgstr "Кодэк" -#: src/component/photo/toolbar.vue:369 +#: src/component/photo/toolbar.vue:371 msgid "Color" msgstr "Колер" -#: src/component/photo/edit/files.vue:483 +#: src/component/photo/edit/files.vue:485 msgid "Color Profile" msgstr "Каляровы профіль" @@ -719,7 +740,7 @@ msgstr "Каляровы профіль" msgid "Colors" msgstr "Колеры" -#: src/page/connect.vue:260 src/page/connect.vue:269 +#: src/page/connect.vue:262 src/page/connect.vue:271 msgid "Compare Editions" msgstr "Параўнаць выданні" @@ -732,17 +753,18 @@ msgstr "Поўнае паўторнае сканаванне" msgid "Confidence" msgstr "Упэўненасць" +#: src/component/location/dialog.vue:212 #: src/component/photo/album/dialog.vue:90 -#: src/component/settings/passcode.vue:261 +#: src/component/settings/passcode.vue:264 msgid "Confirm" msgstr "Пацвердзіць" -#: src/component/service/add.vue:20 src/page/settings/services.vue:187 +#: src/component/service/add.vue:20 src/page/settings/services.vue:191 msgid "Connect" msgstr "Злучыць" -#: src/page/settings/account.vue:401 src/component/settings/webdav.vue:45 -#: src/page/settings/services.vue:167 +#: src/page/settings/account.vue:406 src/component/settings/webdav.vue:46 +#: src/page/settings/services.vue:170 msgid "Connect via WebDAV" msgstr "Злучэнне праз WebDAV" @@ -750,22 +772,22 @@ msgstr "Злучэнне праз WebDAV" msgid "Connected" msgstr "Падключана" -#: src/page/settings/account.vue:640 src/page/settings/account.vue:532 +#: src/page/settings/account.vue:646 src/page/settings/account.vue:538 msgid "Contact Details" msgstr "Кантактная інфармацыя" -#: src/page/about/feedback.vue:37 src/page/connect.vue:132 -#: src/page/connect.vue:136 +#: src/page/about/feedback.vue:37 src/page/connect.vue:133 +#: src/page/connect.vue:137 msgid "Contact Us" msgstr "Звяжыцеся з намі" #: src/page/albums.vue:433 src/page/labels.vue:237 -#: src/page/people/recognized.vue:306 +#: src/page/people/recognized.vue:310 msgid "Contains %{n} pictures." msgstr "Змяшчае %{n} відарысаў." #: src/page/albums.vue:427 src/page/labels.vue:231 -#: src/page/people/recognized.vue:300 +#: src/page/people/recognized.vue:304 msgid "Contains one picture." msgstr "Змяшчае адзін малюнак." @@ -773,7 +795,7 @@ msgstr "Змяшчае адзін малюнак." msgid "Content" msgstr "Змест" -#: src/component/settings/apps.vue:163 +#: src/component/settings/apps.vue:166 msgid "Continue" msgstr "Працягнуць" @@ -781,7 +803,7 @@ msgstr "Працягнуць" msgid "Continue with %{provider}" msgstr "Працягнуць з %{provider}" -#: src/options/admin.js:18 src/options/auth.js:9 +#: src/options/admin.js:22 src/options/auth.js:10 msgid "Contributor" msgstr "Укладальнік" @@ -789,15 +811,15 @@ msgstr "Укладальнік" msgid "Converting" msgstr "Пераўтварэнне" -#: src/common/util.js:846 +#: src/common/util.js:856 msgid "Copied to clipboard" msgstr "Скапіравана ў буфер абмену" -#: src/component/settings/apps.vue:250 src/component/settings/passcode.vue:358 +#: src/component/settings/apps.vue:253 src/component/settings/passcode.vue:361 msgid "Copy" msgstr "Копія" -#: src/component/photo/edit/details.vue:516 +#: src/component/photo/edit/details.vue:490 msgid "Copyright" msgstr "Аўтарскае права" @@ -805,8 +827,8 @@ msgstr "Аўтарскае права" msgid "Couldn't find anything." msgstr "Нічога не знайшоў." -#: src/page/settings/account.vue:685 src/component/photo/edit/details.vue:242 -#: src/component/photo/toolbar.vue:203 src/page/settings/account.vue:577 +#: src/page/settings/account.vue:691 src/component/photo/edit/details.vue:268 +#: src/component/photo/toolbar.vue:205 src/page/settings/account.vue:583 msgid "Country" msgstr "Краіна" @@ -830,7 +852,7 @@ msgstr "Стварыце файлы YAML для рэзервовага капі msgid "Create YAML sidecar files to back up picture metadata." msgstr "Стварыце пабочныя файлы YAML для рэзервовага капіравання метададзеных выявы." -#: src/page/admin/sessions.vue:417 src/component/photo/edit/info.vue:412 +#: src/page/admin/sessions.vue:422 src/component/photo/edit/info.vue:412 msgid "Created" msgstr "Створана" @@ -842,11 +864,11 @@ msgstr "Стварэнне мініяцюр для" msgid "Cubic: Moderate Quality, Good Performance" msgstr "Cubic: умераная якасць, добрая прадукцыйнасць" -#: src/component/settings/password.vue:85 +#: src/component/settings/password.vue:86 msgid "Current Password" msgstr "Бягучы пароль" -#: src/options/themes.js:919 src/options/themes.js:928 +#: src/options/themes.js:920 src/options/themes.js:929 msgid "Custom" msgstr "Прыстасаваныя" @@ -862,11 +884,11 @@ msgstr "Штодня" msgid "Database Backups" msgstr "Рэзервовыя копіі баз даных" -#: src/page/settings/account.vue:450 src/component/photo/edit/details.vue:110 +#: src/page/settings/account.vue:456 src/component/photo/edit/details.vue:112 msgid "Day" msgstr "Дзень" -#: src/component/settings/passcode.vue:445 +#: src/component/settings/passcode.vue:448 msgid "Deactivate" msgstr "Дэактываваць" @@ -874,36 +896,40 @@ msgstr "Дэактываваць" msgid "Debug Logs" msgstr "Журналы адладкі" -#: src/options/admin.js:31 src/page/admin/sessions.vue:136 -#: src/page/admin/users.vue:176 src/component/photo/edit/info.vue:47 +#: src/options/admin.js:35 src/page/admin/sessions.vue:136 +#: src/page/admin/users.vue:178 src/component/photo/edit/info.vue:47 #: src/component/photo/edit/info.vue:110 src/model/session.js:66 -#: src/model/user.js:246 src/options/auth.js:20 src/options/auth.js:21 -#: src/options/auth.js:39 src/options/auth.js:40 src/options/options.js:196 +#: src/model/user.js:246 src/options/auth.js:21 src/options/auth.js:22 +#: src/options/auth.js:40 src/options/auth.js:41 src/options/options.js:196 #: src/options/options.js:232 src/options/options.js:316 -#: src/options/themes.js:773 +#: src/options/themes.js:774 msgid "Default" msgstr "Па змаўчанні" -#: src/component/service/edit.vue:123 +#: src/component/service/edit.vue:124 msgid "Default Folder" msgstr "Папка па змаўчанні" #: src/component/session/remove/dialog.vue:56 #: src/component/user/remove/dialog.vue:56 src/component/album/clipboard.vue:97 -#: src/component/album/delete/dialog.vue:54 -#: src/component/file/delete/dialog.vue:58 src/component/label/clipboard.vue:58 -#: src/component/label/delete/dialog.vue:58 +#: src/component/album/delete/dialog.vue:54 src/component/album/toolbar.vue:137 +#: src/component/file/delete/dialog.vue:59 src/component/label/clipboard.vue:58 +#: src/component/label/delete/dialog.vue:59 #: src/component/photo/clipboard.vue:168 src/component/photo/edit/files.vue:238 -#: src/component/service/remove.vue:60 src/component/share/dialog.vue:170 +#: src/component/service/remove.vue:61 src/component/share/dialog.vue:170 #: src/page/settings/general.vue:457 msgid "Delete" msgstr "Выдаліць" +#: src/component/album/toolbar.vue:133 +msgid "Delete Album" +msgstr "Выдаліць альбом" + #: src/component/photo/toolbar.vue:119 src/page/library/errors.vue:95 msgid "Delete All" msgstr "Выдаліць усе" -#: src/component/photo/toolbar.vue:433 src/page/library/errors.vue:193 +#: src/component/photo/toolbar.vue:435 src/page/library/errors.vue:193 msgid "Delete all?" msgstr "Выдаліць усе?" @@ -911,16 +937,16 @@ msgstr "Выдаліць усе?" msgid "Delete orphaned index entries, sidecar files and thumbnails." msgstr "Выдаліць асірацелыя запісы індэкса, дапаможныя файлы і мініяцюры." -#: src/component/album/edit/dialog.vue:107 src/page/albums.vue:411 +#: src/component/album/edit/dialog.vue:108 src/page/albums.vue:411 msgid "Description" msgstr "Апісанне" -#: src/component/settings/webdav.vue:115 +#: src/component/settings/webdav.vue:116 msgid "Detailed instructions can be found in our User Guide." msgstr "Падрабязныя інструкцыі можна знайсці ў нашым Кіраўніцтве карыстальніка." -#: src/component/photo/edit/dialog.vue:156 -#: src/component/photo/edit/dialog.vue:173 +#: src/component/photo/edit/dialog.vue:162 +#: src/component/photo/edit/dialog.vue:181 msgid "Details" msgstr "Дэталі" @@ -984,8 +1010,8 @@ msgstr "Адключае падтрымку вектарнай графікі." msgid "Disables video transcoding and thumbnail extraction." msgstr "Адключае перакадзіраванне відэа і выманне мініяцюр." -#: src/app/routes.js:558 src/app/routes.js:565 src/app/routes.js:572 -#: src/app/routes.js:579 +#: src/app/routes.js:566 src/app/routes.js:573 src/app/routes.js:580 +#: src/app/routes.js:587 msgid "Discover" msgstr "Адкрыйце для сябе" @@ -993,9 +1019,9 @@ msgstr "Адкрыйце для сябе" msgid "Dismiss" msgstr "Звольніць" -#: src/component/user/add/dialog.vue:133 src/component/user/add/dialog.vue:134 -#: src/component/user/edit/dialog.vue:163 -#: src/component/user/edit/dialog.vue:164 src/page/admin/users.vue:72 +#: src/component/user/add/dialog.vue:134 src/component/user/add/dialog.vue:135 +#: src/component/user/edit/dialog.vue:164 +#: src/component/user/edit/dialog.vue:165 src/page/admin/users.vue:74 #: src/page/settings/account.vue:149 src/page/settings/account.vue:151 msgid "Display Name" msgstr "Адлюстраванае імя" @@ -1010,12 +1036,12 @@ msgstr "Паказаць назвы малюнкаў у выніках пошу #: src/component/photo/view/cards.vue:339 #: src/component/photo/view/cards.vue:521 -#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:174 +#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:176 #: src/options/options.js:309 msgid "Document" msgstr "Дакумент" -#: src/component/navigation.vue:480 +#: src/component/navigation.vue:482 msgid "Documents" msgstr "Дакументы" @@ -1031,16 +1057,16 @@ msgstr "Не выкарыстоўвайце ImageMagick для пераўтва msgid "Don't use RawTherapee to convert RAW images." msgstr "Не выкарыстоўвайце RawTherapee для пераўтварэння RAW відарысаў." -#: src/component/settings/apps.vue:238 src/component/share/dialog.vue:29 +#: src/component/settings/apps.vue:241 src/component/share/dialog.vue:29 msgid "Done" msgstr "Гатова" -#: src/component/upload/dialog.vue:135 src/page/library/import.vue:46 +#: src/component/upload/dialog.vue:137 src/page/library/import.vue:46 #: src/page/library/index.vue:52 msgid "Done." msgstr "Гатова." -#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:118 +#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:123 #: src/component/file/clipboard.vue:48 src/component/lightbox.vue:1235 #: src/component/people/clipboard.vue:47 src/component/photo/clipboard.vue:116 #: src/component/photo/edit/files.vue:168 src/page/settings/content.vue:331 @@ -1052,7 +1078,7 @@ msgstr "Спампаваць" msgid "Download only original media files, without any automatically generated files." msgstr "Спампоўваць толькі арыгінальныя мультымедыйныя файлы без аўтаматычна створаных файлаў." -#: src/component/service/edit.vue:237 +#: src/component/service/edit.vue:238 msgid "Download remote files" msgstr "Спампаваць выдаленыя файлы" @@ -1060,9 +1086,9 @@ msgstr "Спампаваць выдаленыя файлы" msgid "Download single files and zip archives." msgstr "Спампаваць асобныя файлы і zip-архівы." -#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:157 +#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:172 #: src/component/file/clipboard.vue:61 src/component/label/clipboard.vue:86 -#: src/component/lightbox.vue:2021 src/component/people/clipboard.vue:59 +#: src/component/lightbox.vue:2041 src/component/people/clipboard.vue:59 #: src/component/photo/clipboard.vue:220 src/component/photo/edit/files.vue:119 #: src/component/photo/view/cards.vue:169 src/component/photo/view/list.vue:142 #: src/page/library/browse.vue:139 @@ -1077,7 +1103,7 @@ msgstr "Фільтр памяншэння памеру" msgid "Drag and drop files here" msgstr "Перацягнуць файлы сюды" -#: src/page/about/feedback.vue:61 +#: src/page/about/feedback.vue:62 msgid "Due to the high volume of emails we receive, our team may be unable to get back to you immediately." msgstr "З-за вялікай колькасці электронных лістоў, якія мы атрымліваем, наша каманда можа не змагчы звязацца з вамі неадкладна." @@ -1097,23 +1123,23 @@ msgstr "Дынамічны папярэдні прагляд" msgid "Dynamic Size Limit: %{n}px" msgstr "Абмежаванне дынамічнага памеру: %{n}px" -#: src/page/about/feedback.vue:141 src/page/about/feedback.vue:140 +#: src/page/about/feedback.vue:142 src/page/about/feedback.vue:141 msgid "E-Mail" msgstr "Электронная пошта" -#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:89 +#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:94 #: src/component/lightbox.vue:1136 src/component/lightbox.vue:1137 #: src/component/photo/clipboard.vue:90 src/page/settings/general.vue:407 msgid "Edit" msgstr "Рэдагаваць" -#: src/component/album/edit/dialog.vue:54 -#: src/component/label/edit/dialog.vue:52 -#: src/component/people/edit/dialog.vue:52 +#: src/component/album/edit/dialog.vue:55 +#: src/component/label/edit/dialog.vue:53 +#: src/component/people/edit/dialog.vue:53 msgid "Edit %{s}" msgstr "Рэдагаваць %{s}" -#: src/component/user/edit/dialog.vue:61 src/component/service/edit.vue:79 +#: src/component/user/edit/dialog.vue:62 src/component/service/edit.vue:79 msgid "Edit Account" msgstr "Рэдагаваць уліковы запіс" @@ -1125,8 +1151,8 @@ msgstr "Рэдагаваць фота" msgid "Edited" msgstr "Адрэдагавана" -#: src/component/user/add/dialog.vue:151 src/component/user/edit/dialog.vue:213 -#: src/page/settings/account.vue:171 src/page/settings/account.vue:593 +#: src/component/user/add/dialog.vue:152 src/component/user/edit/dialog.vue:214 +#: src/page/settings/account.vue:171 src/page/settings/account.vue:599 msgid "Email" msgstr "Электронная пошта" @@ -1142,7 +1168,7 @@ msgstr "Уключыць новыя функцыі, якія могуць быц msgid "Enables RAW converter presets. May reduce performance." msgstr "Уключае прадусталяваныя налады канвертара RAW. Можа знізіць прадукцыйнасць." -#: src/component/settings/passcode.vue:127 +#: src/component/settings/passcode.vue:130 msgid "Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account." msgstr "Уключэнне двухфактарнай аўтэнтыфікацыі азначае, што вам спатрэбіцца выпадкова згенераваны код пацверджання для ўваходу, таму, нават калі хтосьці атрымае доступ да вашага пароля, ён не зможа атрымаць доступ да вашага ўліковага запісу." @@ -1154,7 +1180,7 @@ msgstr "Увядзіце дату" msgid "Enter dates" msgstr "Увядзіце даты" -#: src/component/settings/passcode.vue:213 src/page/auth/login.vue:104 +#: src/component/settings/passcode.vue:216 src/page/auth/login.vue:104 msgid "Enter the code generated by your authenticator app:" msgstr "Увядзіце код, створаны вашай праграмай аўтэнтыфікацыі:" @@ -1162,7 +1188,7 @@ msgstr "Увядзіце код, створаны вашай праграмай msgid "Enter verification code" msgstr "Увядзіце праверачны код" -#: src/component/settings/apps.vue:109 +#: src/component/settings/apps.vue:112 msgid "Enter your password to confirm the action and continue:" msgstr "Увядзіце пароль, каб пацвердзіць дзеянне і працягнуць:" @@ -1171,7 +1197,7 @@ msgstr "Увядзіце пароль, каб пацвердзіць дзеян msgid "Error" msgstr "Памылка" -#: src/app/routes.js:374 src/component/navigation.vue:1348 +#: src/app/routes.js:382 src/component/navigation.vue:1372 msgid "Errors" msgstr "Памылкі" @@ -1207,13 +1233,13 @@ msgstr "Выманне метаданых з дапамогай ExifTool пат msgid "Experimental Features" msgstr "Эксперыментальныя функцыі" -#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:453 -#: src/component/service/edit.vue:157 src/component/settings/apps.vue:73 -#: src/component/settings/apps.vue:326 src/component/share/dialog.vue:62 +#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:458 +#: src/component/service/edit.vue:158 src/component/settings/apps.vue:73 +#: src/component/settings/apps.vue:329 src/component/share/dialog.vue:62 msgid "Expires" msgstr "Заканчваецца тэрмін дзеяння" -#: src/component/photo/edit/details.vue:396 +#: src/component/photo/edit/details.vue:370 msgid "Exposure" msgstr "Уздзеянне" @@ -1221,7 +1247,7 @@ msgstr "Уздзеянне" msgid "Extract still images and generate thumbnails while indexing." msgstr "Выманне нерухомых малюнкаў і стварэнне мініяцюр падчас індэксацыі." -#: src/component/photo/edit/details.vue:444 +#: src/component/photo/edit/details.vue:418 msgid "F Number" msgstr "Нумар F" @@ -1237,7 +1263,7 @@ msgstr "Асобы" msgid "Failed removing link" msgstr "Не атрымалася выдаліць спасылку" -#: src/page/connect.vue:106 src/page/connect.vue:110 +#: src/page/connect.vue:107 src/page/connect.vue:111 msgid "Failed to connect account." msgstr "Не ўдалося падключыць уліковы запіс." @@ -1245,8 +1271,8 @@ msgstr "Не ўдалося падключыць уліковы запіс." msgid "Failed updating link" msgstr "Не ўдалося абнавіць спасылку" -#: src/component/user/edit/dialog.vue:143 -#: src/component/user/edit/dialog.vue:144 src/page/settings/account.vue:128 +#: src/component/user/edit/dialog.vue:144 +#: src/component/user/edit/dialog.vue:145 src/page/settings/account.vue:128 #: src/page/settings/account.vue:130 msgid "Family Name" msgstr "Прозвішча" @@ -1255,15 +1281,15 @@ msgstr "Прозвішча" msgid "Fast" msgstr "Хуткі" -#: src/component/album/edit/dialog.vue:159 -#: src/component/label/edit/dialog.vue:85 -#: src/component/people/edit/dialog.vue:85 +#: src/component/album/edit/dialog.vue:160 +#: src/component/label/edit/dialog.vue:86 +#: src/component/people/edit/dialog.vue:86 #: src/component/photo/edit/info.vue:287 msgid "Favorite" msgstr "Любімая" -#: src/app/routes.js:222 src/component/navigation.vue:893 -#: src/options/options.js:202 src/page/albums.vue:97 +#: src/app/routes.js:230 src/component/navigation.vue:903 +#: src/options/options.js:202 src/page/albums.vue:98 msgid "Favorites" msgstr "Абраныя" @@ -1271,7 +1297,7 @@ msgstr "Абраныя" msgid "Feature Request" msgstr "Запыт функцыі" -#: src/component/navigation.vue:1456 +#: src/component/navigation.vue:1482 msgid "Feedback" msgstr "Зваротная сувязь" @@ -1279,11 +1305,12 @@ msgstr "Зваротная сувязь" msgid "Female" msgstr "жаночы" -#: src/component/photo/edit/info.vue:214 src/model/file.js:290 +#: src/component/photo/edit/info.vue:57 src/component/photo/edit/info.vue:214 +#: src/model/file.js:290 msgid "File" msgstr "Файл" -#: src/app/routes.js:343 +#: src/app/routes.js:351 msgid "File Browser" msgstr "Файлавы браўзер" @@ -1306,8 +1333,8 @@ msgstr "Памер файла" msgid "Filename" msgstr "Імя файла" -#: src/component/navigation.vue:1930 src/component/photo/edit/dialog.vue:267 -#: src/component/photo/edit/dialog.vue:284 +#: src/component/navigation.vue:1973 src/component/photo/edit/dialog.vue:279 +#: src/component/photo/edit/dialog.vue:298 msgid "Files" msgstr "Файлы" @@ -1319,26 +1346,26 @@ msgstr "Файлы з такімі паслядоўнымі назвамі, як msgid "First page" msgstr "Першая старонка" -#: src/component/photo/edit/details.vue:465 +#: src/component/photo/edit/details.vue:439 msgid "Focal Length" msgstr "Фокусная адлегласць" -#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:118 -#: src/component/service/edit.vue:189 src/component/service/edit.vue:194 -#: src/component/service/upload.vue:90 src/component/service/upload.vue:96 +#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:119 +#: src/component/service/edit.vue:190 src/component/service/edit.vue:195 +#: src/component/service/upload.vue:91 src/component/service/upload.vue:97 #: src/model/folder.js:199 src/page/library/browse.vue:182 msgid "Folder" msgstr "Папка" -#: src/page/library/browse.vue:365 +#: src/page/library/browse.vue:367 msgid "Folder contains %{n} files" msgstr "Папка змяшчае %{n} файлаў" -#: src/page/library/browse.vue:356 +#: src/page/library/browse.vue:358 msgid "Folder is empty" msgstr "Папка пустая" -#: src/app/routes.js:202 src/component/navigation.vue:1225 +#: src/app/routes.js:210 src/component/navigation.vue:1247 #: src/options/options.js:207 msgid "Folders" msgstr "Папкі" @@ -1355,7 +1382,7 @@ msgstr "FPS" msgid "Frames" msgstr "Рамкі" -#: src/options/auth.js:54 src/options/auth.js:64 +#: src/options/auth.js:55 src/options/auth.js:65 msgid "Full Access" msgstr "Поўны доступ" @@ -1367,7 +1394,7 @@ msgstr "Поуны экран" msgid "General" msgstr "Агульныя" -#: src/component/settings/apps.vue:364 +#: src/component/settings/apps.vue:367 msgid "Generate" msgstr "Генераваць" @@ -1387,8 +1414,8 @@ msgstr "Згенераваны" msgid "Get Started" msgstr "Пачніце" -#: src/component/user/edit/dialog.vue:120 -#: src/component/user/edit/dialog.vue:121 src/page/settings/account.vue:106 +#: src/component/user/edit/dialog.vue:121 +#: src/component/user/edit/dialog.vue:122 src/page/settings/account.vue:106 #: src/page/settings/account.vue:108 msgid "Given Name" msgstr "Названае імя" @@ -1413,7 +1440,7 @@ msgstr "Зялёны" msgid "Grey" msgstr "Шэры" -#: src/options/admin.js:22 src/options/auth.js:10 +#: src/options/admin.js:26 src/options/auth.js:11 msgid "Guest" msgstr "Госць" @@ -1429,15 +1456,15 @@ msgstr "Даведка" msgid "Help & Support" msgstr "Даведка і падтрымка" -#: src/component/navigation.vue:1327 src/component/people/edit/dialog.vue:98 +#: src/component/navigation.vue:1351 src/component/people/edit/dialog.vue:99 msgid "Hidden" msgstr "Схаваныя" -#: src/app/routes.js:358 +#: src/app/routes.js:366 msgid "Hidden Files" msgstr "Схаваныя файлы" -#: src/page/people/new.vue:165 src/page/people/recognized.vue:205 +#: src/page/people/new.vue:166 src/page/people/recognized.vue:206 msgid "Hide" msgstr "Схаваць" @@ -1453,7 +1480,7 @@ msgstr "Высокі" msgid "High Dynamic Range (HDR)" msgstr "Пашыраны дынамічны дыяпазон (HDR)" -#: src/page/about/feedback.vue:103 +#: src/page/about/feedback.vue:104 msgid "How can we help?" msgstr "Як мы можам дапамагчы?" @@ -1461,11 +1488,11 @@ msgstr "Як мы можам дапамагчы?" msgid "Hybrid" msgstr "Гібрыд" -#: src/component/settings/passcode.vue:389 +#: src/component/settings/passcode.vue:392 msgid "If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account." msgstr "Калі вы страціце доступ да праграмы або прылады аўтэнтыфікатара, вы можаце скарыстацца кодам аднаўлення, каб аднавіць доступ да ўліковага запісу." -#: src/component/photo/edit/info.vue:63 src/component/photo/edit/labels.vue:46 +#: src/component/photo/edit/info.vue:65 src/component/photo/edit/labels.vue:46 #: src/component/photo/view/cards.vue:532 src/model/file.js:218 #: src/options/options.js:281 msgid "Image" @@ -1475,7 +1502,7 @@ msgstr "Малюнак" msgid "Image Quality" msgstr "Якасць выявы" -#: src/page/library.vue:46 src/page/library/import.vue:152 +#: src/page/library.vue:46 src/page/library/import.vue:153 #: src/page/settings/general.vue:357 msgid "Import" msgstr "Імпарт" @@ -1500,8 +1527,8 @@ msgstr "Імпарт %{s}…" msgid "Importing files to originals…" msgstr "Імпарт файлаў у арыгіналы…" -#: src/component/photo/edit/files.vue:515 -#: src/component/photo/edit/files.vue:520 +#: src/component/photo/edit/files.vue:517 +#: src/component/photo/edit/files.vue:522 msgid "in" msgstr "ст" @@ -1519,11 +1546,11 @@ msgstr "Уключайце файлы малюнкаў у фармаце RAW п msgid "Include sidecar files when downloading stacks and archives." msgstr "Уключаць дадатковыя файлы пры спампоўцы стэкаў і архіваў." -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Increase storage size or delete files to continue." msgstr "Каб працягнуць, павялічце памер сховішча або выдаліце файлы." -#: src/component/navigation.vue:1946 src/page/library.vue:36 +#: src/component/navigation.vue:1990 src/page/library.vue:36 #: src/page/settings/content.vue:34 msgid "Index" msgstr "Паказальнік" @@ -1553,11 +1580,11 @@ msgstr "інфармацыя" msgid "Instance ID" msgstr "Ідэнтыфікатар асобніка" -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Insufficient storage." msgstr "Недастаткова месца для захоўвання." -#: src/component/service/edit.vue:209 +#: src/component/service/edit.vue:210 msgid "Interval" msgstr "Інтэрвал" @@ -1578,7 +1605,7 @@ msgstr "Няправільны адрас" msgid "Invalid country" msgstr "Няправільная краіна" -#: src/component/photo/edit/details.vue:174 +#: src/component/photo/edit/details.vue:169 msgid "Invalid date" msgstr "Няправільная дата" @@ -1587,7 +1614,7 @@ msgstr "Няправільная дата" msgid "Invalid parameters" msgstr "Няправільныя параметры" -#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:197 +#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:199 msgid "Invalid photo selected" msgstr "Выбрана няправільнае фота" @@ -1599,8 +1626,8 @@ msgstr "Няправільны час" msgid "Invalid URL" msgstr "Няправільны URL" -#: src/component/settings/passcode.vue:314 -#: src/component/settings/passcode.vue:391 +#: src/component/settings/passcode.vue:317 +#: src/component/settings/passcode.vue:394 msgid "It is a one-time use code that will disable 2FA for your account when you use it." msgstr "Гэта аднаразовы код, які адключае 2FA для вашага ўліковага запісу, калі вы яго выкарыстоўваеце." @@ -1624,7 +1651,7 @@ msgstr "Абмежаванне памеру JPEG: %{n} пікс" msgid "JPEGs and thumbnails are automatically rendered as needed." msgstr "JPEG і мініяцюры аўтаматычна адлюстроўваюцца па меры неабходнасці." -#: src/component/photo/edit/details.vue:581 +#: src/component/photo/edit/details.vue:555 msgid "Keywords" msgstr "Ключавыя словы" @@ -1633,9 +1660,9 @@ msgstr "Ключавыя словы" msgid "Label" msgstr "Метка" -#: src/app/routes.js:389 src/component/navigation.vue:1177 -#: src/component/photo/edit/dialog.vue:188 -#: src/component/photo/edit/dialog.vue:205 src/options/options.js:206 +#: src/app/routes.js:397 src/component/navigation.vue:1197 +#: src/component/photo/edit/dialog.vue:196 +#: src/component/photo/edit/dialog.vue:215 src/options/options.js:206 #: src/page/settings/general.vue:255 msgid "Labels" msgstr "Меткі" @@ -1652,11 +1679,11 @@ msgstr "Lanczos: Захаванне дэталяў, мінімум артэфа msgid "Language" msgstr "мова" -#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:435 +#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:440 msgid "Last Active" msgstr "Апошні актыўны" -#: src/page/admin/users.vue:81 +#: src/page/admin/users.vue:83 msgid "Last Login" msgstr "Апошні ўваход" @@ -1672,42 +1699,41 @@ msgstr "Апошняя сінхранізацыя" msgid "Last Used" msgstr "Апошняе выкарыстанне" -#: src/component/photo/edit/details.vue:298 #: src/component/photo/edit/info.vue:373 msgid "Latitude" msgstr "Шырата" -#: src/options/admin.js:43 src/options/auth.js:29 +#: src/options/admin.js:47 src/options/auth.js:30 msgid "LDAP/AD" msgstr "LDAP/AD" -#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:86 -#: src/page/about/about.vue:62 src/page/about/about.vue:132 +#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:87 +#: src/page/about/about.vue:62 src/page/about/about.vue:133 #: src/page/connect.vue:67 src/page/help.vue:36 msgid "Learn more" msgstr "Даведайцеся больш" -#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:135 +#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:137 #: src/page/labels.vue:132 msgid "Learn More" msgstr "Даведайцеся больш" -#: src/component/navigation.vue:2017 +#: src/component/navigation.vue:2066 msgid "Legal Information" msgstr "Прававая інфармацыя" -#: src/component/photo/edit/details.vue:417 +#: src/component/photo/edit/details.vue:391 #: src/component/photo/view/cards.vue:480 msgid "Lens" msgstr "Аб'ектыў" -#: src/app/routes.js:443 src/app/routes.js:459 src/app/routes.js:475 -#: src/component/navigation.vue:1267 src/page/settings/general.vue:507 +#: src/app/routes.js:451 src/app/routes.js:467 src/app/routes.js:483 +#: src/component/navigation.vue:1290 src/page/settings/general.vue:507 msgid "Library" msgstr "Бібліятэка" #: src/page/connect.vue:45 src/app/routes.js:69 -#: src/component/navigation.vue:1478 src/component/photo/edit/details.vue:559 +#: src/component/navigation.vue:1504 src/component/photo/edit/details.vue:533 #: src/page/about/license.vue:28 msgid "License" msgstr "Ліцэнзія" @@ -1720,7 +1746,7 @@ msgstr "Падабаецца" msgid "Lime" msgstr "Вапна" -#: src/page/library/browse.vue:369 +#: src/page/library/browse.vue:371 msgid "Limit reached, showing first %{n} files" msgstr "Ліміт дасягнуты, паказваюцца першыя %{n} файлаў" @@ -1728,7 +1754,7 @@ msgstr "Ліміт дасягнуты, паказваюцца першыя %{n} msgid "Linear: Very Smooth, Best Performance" msgstr "Лінейны: вельмі гладкі, найлепшая прадукцыйнасць" -#: src/model/link.js:117 src/options/auth.js:30 src/options/auth.js:31 +#: src/model/link.js:117 src/options/auth.js:31 src/options/auth.js:32 msgid "Link" msgstr "Спасылка" @@ -1746,7 +1772,7 @@ msgstr "Спіс" msgid "Live" msgstr "жыць" -#: src/app/routes.js:236 src/component/navigation.vue:749 +#: src/app/routes.js:244 src/component/navigation.vue:755 msgid "Live Photos" msgstr "Жывыя фатаграфіі" @@ -1762,21 +1788,24 @@ msgstr "Загрузка элементаў..." msgid "Loading..." msgstr "Загрузка..." -#: src/options/admin.js:35 src/options/auth.js:22 src/options/auth.js:27 +#: src/options/admin.js:39 src/options/auth.js:23 src/options/auth.js:28 #: src/options/options.js:38 src/page/settings/general.vue:107 msgid "Local" msgstr "Мясцовы" -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Local Time" msgstr "Мясцовы час" -#: src/page/settings/account.vue:665 src/page/settings/account.vue:667 -#: src/component/album/edit/dialog.vue:92 src/component/photo/edit/info.vue:65 -#: src/component/photo/edit/labels.vue:48 +#: src/page/settings/account.vue:671 src/page/settings/account.vue:673 +#: src/component/album/edit/dialog.vue:93 +#: src/component/photo/edit/details.vue:38 +#: src/component/photo/edit/details.vue:116 +#: src/component/photo/edit/details.vue:210 +#: src/component/photo/edit/info.vue:67 src/component/photo/edit/labels.vue:48 #: src/component/photo/view/cards.vue:555 src/component/photo/view/list.vue:117 -#: src/component/sidebar/info.vue:107 src/page/albums.vue:99 -#: src/page/settings/account.vue:557 src/page/settings/account.vue:559 +#: src/component/sidebar/info.vue:107 src/page/albums.vue:100 +#: src/page/settings/account.vue:563 src/page/settings/account.vue:565 msgid "Location" msgstr "Месцазнаходжанне" @@ -1784,20 +1813,19 @@ msgstr "Месцазнаходжанне" msgid "Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues." msgstr "Паведамленні ў журнале з'яўляюцца тут кожны раз, калі PhotoPrism сустракае зламаныя файлы або ёсць іншыя магчымыя праблемы." -#: src/component/navigation.vue:1552 src/component/navigation.vue:1840 +#: src/component/navigation.vue:1579 src/component/navigation.vue:1877 msgid "Login" msgstr "Увайсці" -#: src/component/navigation.vue:1759 +#: src/component/navigation.vue:1791 msgid "Logout" msgstr "Выйсці з сістэмы" -#: src/component/navigation.vue:1962 src/page/library.vue:59 +#: src/component/navigation.vue:2007 src/page/library.vue:59 #: src/page/settings/general.vue:557 msgid "Logs" msgstr "Журналы" -#: src/component/photo/edit/details.vue:324 #: src/component/photo/edit/info.vue:379 msgid "Longitude" msgstr "Даўгата" @@ -1810,7 +1838,7 @@ msgstr "Нізкі" msgid "Magenta" msgstr "Пурпурны" -#: src/component/photo/edit/files.vue:489 +#: src/component/photo/edit/files.vue:491 msgid "Main Color" msgstr "Асноўны колер" @@ -1818,12 +1846,16 @@ msgstr "Асноўны колер" msgid "Male" msgstr "мужчынскі" -#: src/page/connect.vue:164 src/page/connect.vue:246 -#: src/page/about/about.vue:171 src/page/connect.vue:168 -#: src/page/connect.vue:255 +#: src/page/connect.vue:165 src/page/connect.vue:248 +#: src/page/about/about.vue:173 src/page/connect.vue:169 +#: src/page/connect.vue:257 msgid "Manage Account" msgstr "Кіраванне ўліковым запісам" +#: src/options/admin.js:10 src/options/auth.js:7 +msgid "Manager" +msgstr "Менеджар" + #: src/component/photo/edit/info.vue:49 src/component/photo/edit/labels.vue:38 msgid "Manual" msgstr "Дапаможнік" @@ -1840,11 +1872,11 @@ msgstr "Карты" msgid "Marker" msgstr "Маркер" -#: src/component/user/add/dialog.vue:69 +#: src/component/user/add/dialog.vue:70 msgid "Maximum number of accounts has been reached." msgstr "Дасягнута максімальная колькасць уліковых запісаў." -#: src/app/routes.js:229 src/component/navigation.vue:688 +#: src/app/routes.js:237 src/component/navigation.vue:693 #: src/options/options.js:199 msgid "Media" msgstr "СМІ" @@ -1861,7 +1893,7 @@ msgstr "Сяброўства" msgid "Merge %{a} with %{b}?" msgstr "Аб'яднаць %{a} з %{b}?" -#: src/page/about/feedback.vue:102 +#: src/page/about/feedback.vue:103 msgid "Message" msgstr "паведамленне" @@ -1873,7 +1905,7 @@ msgstr "Паведамленне адпраўлена" msgid "Metadata" msgstr "Метаданыя" -#: src/options/auth.js:56 src/options/auth.js:72 +#: src/options/auth.js:57 src/options/auth.js:73 msgid "Metrics" msgstr "Метрыка" @@ -1881,7 +1913,7 @@ msgstr "Метрыка" msgid "Minimize" msgstr "Мінімізаваць" -#: src/component/photo/edit/files.vue:509 src/component/photo/edit/info.vue:367 +#: src/component/photo/edit/files.vue:511 src/component/photo/edit/info.vue:367 msgid "Missing" msgstr "Прапаў без вестак" @@ -1889,17 +1921,17 @@ msgstr "Прапаў без вестак" msgid "Missing or invalid configuration" msgstr "Адсутнічае або няправільная канфігурацыя" -#: src/app/routes.js:163 src/component/navigation.vue:1129 +#: src/app/routes.js:171 src/component/navigation.vue:1147 #: src/options/options.js:205 src/page/settings/general.vue:230 msgid "Moments" msgstr "Моманты" -#: src/component/navigation.vue:383 +#: src/component/navigation.vue:385 msgid "Monochrome" msgstr "Манахромныя" -#: src/page/settings/account.vue:475 src/component/photo/edit/details.vue:137 -#: src/component/photo/toolbar.vue:342 +#: src/page/settings/account.vue:481 src/component/photo/edit/details.vue:139 +#: src/component/photo/toolbar.vue:344 msgid "Month" msgstr "Месяц" @@ -1919,7 +1951,7 @@ msgstr "Самы актуальны" msgid "Move Files" msgstr "Перамясціць файлы" -#: src/component/settings/password.vue:107 +#: src/component/settings/password.vue:108 msgid "Must have at least %{n} characters." msgstr "Павінна быць не менш за %{n} сімвалаў." @@ -1927,20 +1959,20 @@ msgstr "Павінна быць не менш за %{n} сімвалаў." msgid "Mute" msgstr "Адключыць гук" -#: src/page/about/feedback.vue:121 src/page/about/feedback.vue:122 -#: src/component/album/edit/dialog.vue:77 -#: src/component/label/edit/dialog.vue:71 -#: src/component/people/edit/dialog.vue:71 -#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:57 +#: src/page/about/feedback.vue:122 src/page/about/feedback.vue:123 +#: src/component/album/edit/dialog.vue:78 +#: src/component/label/edit/dialog.vue:72 +#: src/component/people/edit/dialog.vue:72 +#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:59 #: src/component/photo/edit/info.vue:125 src/component/photo/edit/people.vue:36 -#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:310 -#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:286 -#: src/page/albums.vue:98 src/page/auth/login.vue:168 +#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:311 +#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:289 +#: src/page/albums.vue:99 src/page/auth/login.vue:168 #: src/page/people/new.vue:68 src/page/settings/services.vue:37 msgid "Name" msgstr "Імя" -#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:60 +#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:65 #: src/component/label/edit/dialog.vue:19 #: src/component/people/edit/dialog.vue:19 #: src/component/photo/edit/labels.vue:30 @@ -1950,7 +1982,7 @@ msgstr "Імя" msgid "Name too long" msgstr "Назва занадта доўгая" -#: src/page/admin/users.vue:204 src/options/options.js:361 +#: src/page/admin/users.vue:206 src/options/options.js:361 #: src/options/options.js:371 src/page/settings/services.vue:75 msgid "Never" msgstr "ніколі" @@ -1959,13 +1991,13 @@ msgstr "ніколі" msgid "New" msgstr "Новыя" -#: src/component/settings/password.vue:106 +#: src/component/settings/password.vue:107 msgid "New Password" msgstr "Новы пароль" #: src/component/album/edit/dialog.vue:24 src/component/photo/toolbar.vue:114 #: src/component/photo/toolbar.vue:126 src/component/photo/toolbar.vue:136 -#: src/page/albums.vue:100 +#: src/page/albums.vue:101 msgid "Newest First" msgstr "Спачатку найноўшыя" @@ -1981,15 +2013,15 @@ msgstr "Наступная старонка" msgid "Next visual" msgstr "Наступны візуал" -#: src/component/people/merge/dialog.vue:47 -#: src/component/photo/archive/dialog.vue:47 +#: src/component/people/merge/dialog.vue:48 +#: src/component/photo/archive/dialog.vue:48 #: src/component/photo/edit/info.vue:281 src/component/photo/edit/info.vue:297 #: src/component/photo/edit/info.vue:313 src/component/photo/edit/info.vue:329 #: src/component/photo/edit/info.vue:344 msgid "No" msgstr "няма" -#: src/page/albums.vue:607 src/page/albums.vue:282 +#: src/page/albums.vue:612 src/page/albums.vue:282 msgid "No albums found" msgstr "Альбомы не знойдзены" @@ -1997,7 +2029,7 @@ msgstr "Альбомы не знойдзены" msgid "No data available" msgstr "Дадзеных няма" -#: src/page/labels.vue:523 src/page/labels.vue:155 +#: src/page/labels.vue:528 src/page/labels.vue:155 msgid "No labels found" msgstr "Меткі не знойдзены" @@ -2010,15 +2042,15 @@ msgid "No more" msgstr "Не больш" #: src/component/photo/edit/people.vue:34 src/page/people/new.vue:346 -#: src/page/people/new.vue:443 src/page/people/new.vue:103 -#: src/page/people/recognized.vue:531 src/page/people/recognized.vue:146 +#: src/page/people/new.vue:446 src/page/people/new.vue:103 +#: src/page/people/recognized.vue:536 src/page/people/recognized.vue:146 msgid "No people found" msgstr "Людзей не знойдзена" #: src/component/lightbox.vue:365 src/component/photo/view/cards.vue:144 #: src/component/photo/view/list.vue:82 src/component/photo/view/mosaic.vue:68 -#: src/page/album/photos.vue:488 src/page/library/browse.vue:123 -#: src/page/photos.vue:626 src/page/places.vue:624 src/page/places.vue:730 +#: src/page/album/photos.vue:499 src/page/library/browse.vue:123 +#: src/page/photos.vue:636 src/page/places.vue:624 src/page/places.vue:730 msgid "No pictures found" msgstr "Фота не знойдзена" @@ -2027,7 +2059,11 @@ msgstr "Фота не знойдзена" msgid "No recently edited pictures" msgstr "Няма нядаўна адрэдагаваных фота" -#: src/component/navigation.vue:1655 +#: src/component/location/dialog.vue:166 +msgid "No results" +msgstr "Няма вынікаў" + +#: src/component/navigation.vue:1686 msgid "No server connection" msgstr "Няма злучэння з серверам" @@ -2039,7 +2075,7 @@ msgstr "Серверы не настроены." msgid "No services configured." msgstr "Службы не настроены." -#: src/component/confirm/sponsor.vue:72 +#: src/component/confirm/sponsor.vue:73 msgid "No thanks" msgstr "Не, дзякуй" @@ -2049,17 +2085,17 @@ msgstr "Няма папярэджанняў або памылак з гэтым #: src/component/photo/view/cards.vue:154 src/component/photo/view/list.vue:59 #: src/component/photo/view/list.vue:92 src/component/photo/view/mosaic.vue:78 -#: src/component/upload/dialog.vue:208 +#: src/component/upload/dialog.vue:210 msgid "Non-photographic and low-quality images require a review before they appear in search results." msgstr "Нефатаграфічныя і нізкаякасныя выявы патрабуюць праверкі, перш чым яны з'явяцца ў выніках пошуку." -#: src/options/admin.js:47 src/options/auth.js:32 src/options/options.js:212 +#: src/options/admin.js:51 src/options/auth.js:33 src/options/options.js:212 #: src/options/options.js:328 msgid "None" msgstr "Няма" -#: src/common/util.js:853 src/component/lightbox.vue:633 -#: src/component/service/upload.vue:75 src/component/service/upload.vue:87 +#: src/component/lightbox.vue:633 src/component/service/upload.vue:75 +#: src/component/service/upload.vue:87 msgid "Not allowed" msgstr "Не дазволена" @@ -2071,8 +2107,7 @@ msgstr "Не знойдзена" msgid "Not sorted." msgstr "Не адсартаваны." -#: src/common/util.js:858 src/component/lightbox.vue:627 -#: src/component/lightbox.vue:744 +#: src/component/lightbox.vue:627 src/component/lightbox.vue:744 msgid "Not supported" msgstr "Не падтрымліваецца" @@ -2080,15 +2115,15 @@ msgstr "Не падтрымліваецца" msgid "Note you may manually manage your originals folder and importing is optional." msgstr "Звярніце ўвагу, што вы можаце ўручную кіраваць папкай арыгіналаў, а імпартаваць неабавязкова." -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "Note:" msgstr "нататка:" -#: src/component/service/add.vue:120 +#: src/component/service/add.vue:121 msgid "Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload." msgstr "Увага: толькі серверы WebDAV, такія як Nextcloud або PhotoPrism, могуць быць сканфігураваныя ў якасці аддаленага сэрвісу для рэзервовага капіравання і запампоўкі файлаў." -#: src/component/photo/edit/details.vue:603 +#: src/component/photo/edit/details.vue:577 msgid "Notes" msgstr "Заўвагі" @@ -2096,8 +2131,8 @@ msgstr "Заўвагі" msgid "Nothing to see here yet." msgstr "Тут пакуль няма чаго бачыць." -#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:115 -#: src/component/settings/apps.vue:390 +#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:125 +#: src/component/settings/apps.vue:393 msgid "Nothing was found." msgstr "Нічога не знайшлі." @@ -2105,7 +2140,7 @@ msgstr "Нічога не знайшлі." msgid "Offline" msgstr "У аўтаномным рэжыме" -#: src/options/admin.js:39 src/options/auth.js:28 +#: src/options/admin.js:43 src/options/auth.js:29 msgid "OIDC" msgstr "OIDC" @@ -2115,11 +2150,11 @@ msgstr "добра" #: src/component/album/edit/dialog.vue:25 src/component/photo/toolbar.vue:115 #: src/component/photo/toolbar.vue:127 src/component/photo/toolbar.vue:137 -#: src/page/albums.vue:101 +#: src/page/albums.vue:102 msgid "Oldest First" msgstr "Спачатку самыя старыя" -#: src/component/settings/webdav.vue:77 +#: src/component/settings/webdav.vue:78 msgid "On Windows, enter the following resource in the connection dialog:" msgstr "У Windows увядзіце наступны рэсурс у дыялогавым акне злучэння:" @@ -2131,11 +2166,11 @@ msgstr "Стварэнне мініяцюр па патрабаванні мож msgid "Once a week" msgstr "Раз на тыдзень" -#: src/page/albums.vue:609 +#: src/page/albums.vue:614 msgid "One album found" msgstr "Адзін альбом знойдзены" -#: src/page/library/browse.vue:358 +#: src/page/library/browse.vue:360 msgid "One file found" msgstr "Знойдзены адзін файл" @@ -2143,24 +2178,24 @@ msgstr "Знойдзены адзін файл" msgid "One file uploaded" msgstr "Запампаваны адзін файл" -#: src/page/library/browse.vue:360 +#: src/page/library/browse.vue:362 msgid "One folder found" msgstr "Знойдзена адна папка" -#: src/page/labels.vue:525 +#: src/page/labels.vue:530 msgid "One label found" msgstr "Знойдзена адна метка" -#: src/page/people/new.vue:348 src/page/people/new.vue:445 -#: src/page/people/recognized.vue:533 +#: src/page/people/new.vue:348 src/page/people/new.vue:448 +#: src/page/people/recognized.vue:538 msgid "One person found" msgstr "Знайшоўся адзін чалавек" -#: src/page/album/photos.vue:490 src/page/photos.vue:628 +#: src/page/album/photos.vue:501 src/page/photos.vue:638 msgid "One picture found" msgstr "Адзін здымак знойдзены" -#: src/component/settings/passcode.vue:478 +#: src/component/settings/passcode.vue:481 msgid "Only locally managed accounts can be set up for authentication with 2FA." msgstr "Для аўтэнтыфікацыі з дапамогай 2FA можна наладзіць толькі ўліковыя запісы, якія кіруюцца лакальна." @@ -2168,7 +2203,7 @@ msgstr "Для аўтэнтыфікацыі з дапамогай 2FA можна msgid "Open" msgstr "Адкрыты" -#: src/component/service/add.vue:86 src/component/service/add.vue:107 +#: src/component/service/add.vue:87 src/component/service/add.vue:108 msgid "optional" msgstr "неабавязковы" @@ -2180,7 +2215,7 @@ msgstr "або" msgid "Orange" msgstr "Аранжавы" -#: src/page/settings/account.vue:571 src/page/settings/account.vue:573 +#: src/page/settings/account.vue:577 src/page/settings/account.vue:579 msgid "Organization" msgstr "Арганізацыя" @@ -2196,7 +2231,7 @@ msgstr "Арыгінальныя назвы файлаў будуць захав msgid "Original Name" msgstr "Арыгінальная назва" -#: src/component/navigation.vue:1304 src/model/file.js:196 +#: src/component/navigation.vue:1328 src/model/file.js:196 #: src/options/options.js:413 src/page/library/browse.vue:65 #: src/page/settings/content.vue:356 src/page/settings/general.vue:532 msgid "Originals" @@ -2207,7 +2242,7 @@ msgstr "Арыгіналы" msgid "Other" msgstr "Іншае" -#: src/page/about/about.vue:77 src/page/about/about.vue:83 +#: src/page/about/about.vue:78 src/page/about/about.vue:84 msgid "Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible." msgstr "Наша місія складаецца ў тым, каб забяспечыць найбольш зручнае для карыстальнікаў і канфідэнцыяльнасць рашэнне, каб вашы фатаграфіі былі арганізаванымі і даступнымі." @@ -2219,7 +2254,7 @@ msgstr "На адкрытым паветры" msgid "Page {0}, Current page" msgstr "Старонка {0}, бягучая старонка" -#: src/component/photo/edit/files.vue:352 src/model/photo.js:859 +#: src/component/photo/edit/files.vue:352 src/model/photo.js:896 msgid "Pages" msgstr "старонкі" @@ -2231,15 +2266,15 @@ msgstr "Навігацыя па пагінацыі" msgid "Panorama" msgstr "Панарама" -#: src/component/navigation.vue:402 +#: src/component/navigation.vue:404 msgid "Panoramas" msgstr "Панарамы" -#: src/component/user/add/dialog.vue:114 src/component/user/add/dialog.vue:115 -#: src/component/service/add.vue:106 src/component/service/edit.vue:352 -#: src/component/settings/apps.vue:121 src/component/settings/passcode.vue:106 -#: src/component/settings/passcode.vue:413 src/component/share/dialog.vue:27 -#: src/options/auth.js:91 src/page/auth/login.vue:196 +#: src/component/user/add/dialog.vue:115 src/component/user/add/dialog.vue:116 +#: src/component/service/add.vue:107 src/component/service/edit.vue:353 +#: src/component/settings/apps.vue:124 src/component/settings/passcode.vue:109 +#: src/component/settings/passcode.vue:416 src/component/share/dialog.vue:27 +#: src/options/auth.js:92 src/page/auth/login.vue:196 msgid "Password" msgstr "Пароль" @@ -2247,9 +2282,9 @@ msgstr "Пароль" msgid "Password changed" msgstr "Пароль зменены" -#: src/app/routes.js:404 src/app/routes.js:428 src/component/navigation.vue:845 -#: src/component/navigation.vue:1898 src/component/photo/edit/dialog.vue:228 -#: src/component/photo/edit/dialog.vue:245 src/options/options.js:201 +#: src/app/routes.js:412 src/app/routes.js:436 src/component/navigation.vue:853 +#: src/component/navigation.vue:1939 src/component/photo/edit/dialog.vue:238 +#: src/component/photo/edit/dialog.vue:257 src/options/options.js:201 #: src/page/settings/general.vue:180 msgid "People" msgstr "Людзі" @@ -2270,23 +2305,23 @@ msgstr "Выдаліце файлы назаўсёды, каб вызваліц msgid "Person" msgstr "Асоба" -#: src/options/auth.js:42 +#: src/options/auth.js:43 msgid "Personal" msgstr "Асабісты" -#: src/model/photo.js:1273 +#: src/model/photo.js:1310 msgid "Photo" msgstr "Фота" -#: src/page/about/about.vue:156 +#: src/page/about/about.vue:158 msgid "PhotoPrism is 100% self-funded and independent." msgstr "PhotoPrism на 100% самастойна фінансуецца і не залежыць." -#: src/page/about/about.vue:92 +#: src/page/about/about.vue:93 msgid "PhotoPrism+ Membership" msgstr "Членства ў PhotoPrism+" -#: src/app/routes.js:156 +#: src/app/routes.js:164 msgid "Photos" msgstr "Фатаграфіі" @@ -2307,27 +2342,27 @@ msgstr "Месца" msgid "Place & Time" msgstr "Месца і час" -#: src/app/routes.js:303 src/app/routes.js:309 src/app/routes.js:315 -#: src/app/routes.js:330 src/component/navigation.vue:986 -#: src/component/navigation.vue:1914 src/options/options.js:203 +#: src/app/routes.js:311 src/app/routes.js:317 src/app/routes.js:323 +#: src/app/routes.js:338 src/component/navigation.vue:999 +#: src/component/navigation.vue:1956 src/options/options.js:203 #: src/page/places.vue:51 src/page/settings/general.vue:609 #: src/page/settings/general.vue:638 msgid "Places" msgstr "Месцы" -#: src/component/settings/password.vue:129 +#: src/component/settings/password.vue:130 msgid "Please confirm your new password." msgstr "Калі ласка, пацвердзіце свой новы пароль." -#: src/component/settings/apps.vue:185 +#: src/component/settings/apps.vue:188 msgid "Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:" msgstr "Калі ласка, скапіруйце наступны выпадкова згенераваны пароль праграмы і захавайце яго ў надзейным месцы, бо вы не зможаце ўбачыць яго зноў:" -#: src/component/upload/dialog.vue:203 +#: src/component/upload/dialog.vue:205 msgid "Please do not upload any private, unlawful or offensive pictures." msgstr "Калі ласка, не запампоўвайце прыватныя, незаконныя або абразлівыя фатаграфіі." -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Please don't upload photos containing offensive content." msgstr "Калі ласка, не запампоўвайце фатаграфіі з абразлівым зместам." @@ -2335,11 +2370,11 @@ msgstr "Калі ласка, не запампоўвайце фатаграфі msgid "Please enter OTP character {0}" msgstr "Увядзіце аднаразовы пароль {0}" -#: src/component/settings/password.vue:66 +#: src/component/settings/password.vue:67 msgid "Please note that changing your password will log you out on other devices and browsers." msgstr "Звярніце ўвагу, што змена пароля прывядзе да выхаду з сістэмы на іншых прыладах і браўзерах." -#: src/page/connect.vue:148 src/page/connect.vue:152 +#: src/page/connect.vue:149 src/page/connect.vue:153 msgid "Please restart your instance for the changes to take effect." msgstr "Перазапусціце асобнік, каб змены ўступілі ў сілу." @@ -2359,11 +2394,11 @@ msgstr "Ліміт памеру PNG: %{n}px" msgid "Portrait" msgstr "Партрэт" -#: src/component/service/edit.vue:273 +#: src/component/service/edit.vue:274 msgid "Preserve filenames" msgstr "Захаваць імёны файлаў" -#: src/component/upload/dialog.vue:162 +#: src/component/upload/dialog.vue:164 msgid "Press enter to create a new album." msgstr "Націсніце enter, каб стварыць новы альбом." @@ -2400,8 +2435,8 @@ msgstr "Папярэдні візуал" msgid "Primary" msgstr "Першасны" -#: src/app/routes.js:271 src/component/album/edit/dialog.vue:176 -#: src/component/navigation.vue:531 src/component/photo/edit/info.vue:303 +#: src/app/routes.js:279 src/component/album/edit/dialog.vue:177 +#: src/component/navigation.vue:533 src/component/photo/edit/info.vue:303 #: src/page/settings/general.vue:280 msgid "Private" msgstr "Прыватныя" @@ -2426,7 +2461,7 @@ msgstr "Фільтр якасці" msgid "Quality Score" msgstr "Паказчык якасці" -#: src/page/admin/users.vue:169 +#: src/page/admin/users.vue:171 msgid "r" msgstr "р" @@ -2457,7 +2492,7 @@ msgstr "Рэжым толькі для чытання" #: src/component/album/edit/dialog.vue:26 src/component/photo/toolbar.vue:116 #: src/component/photo/toolbar.vue:128 src/component/photo/toolbar.vue:138 -#: src/page/albums.vue:102 +#: src/page/albums.vue:103 msgid "Recently Added" msgstr "Нядаўна дададзены" @@ -2465,7 +2500,7 @@ msgstr "Нядаўна дададзены" msgid "Recently Archived" msgstr "Нядаўна заархівавана" -#: src/component/photo/toolbar.vue:139 src/page/albums.vue:103 +#: src/component/photo/toolbar.vue:139 src/page/albums.vue:104 msgid "Recently Edited" msgstr "Нядаўна адрэдагавана" @@ -2490,24 +2525,24 @@ msgstr "Код аднаўлення" msgid "Red" msgstr "Чырвоны" -#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:126 -#: src/component/album/toolbar.vue:79 src/component/photo/toolbar.vue:169 -#: src/page/albums.vue:173 src/page/labels.vue:112 +#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:128 +#: src/component/album/toolbar.vue:84 src/component/photo/toolbar.vue:169 +#: src/page/albums.vue:175 src/page/labels.vue:112 #: src/page/library/browse.vue:90 src/page/library/errors.vue:81 #: src/page/people/new.vue:54 src/page/people/recognized.vue:88 msgid "Refresh" msgstr "Абнавіць" -#: src/app/routes.js:337 src/component/navigation.vue:943 -#: src/component/navigation.vue:1026 +#: src/app/routes.js:345 src/component/navigation.vue:955 +#: src/component/navigation.vue:1040 msgid "Regions" msgstr "Рэгіёны" -#: src/page/connect.vue:275 src/page/connect.vue:284 +#: src/page/connect.vue:277 src/page/connect.vue:286 msgid "Register" msgstr "Зарэгіструйцеся" -#: src/component/navigation.vue:1773 src/component/update.vue:68 +#: src/component/navigation.vue:1806 src/component/update.vue:68 msgid "Reload" msgstr "Перазагрузіць" @@ -2552,34 +2587,34 @@ msgstr "Патрабаваць праверкі нефатаграфічных msgid "Resolution" msgstr "дазвол" -#: src/page/connect.vue:179 src/page/connect.vue:183 +#: src/page/connect.vue:180 src/page/connect.vue:184 #: src/page/settings/advanced.vue:782 msgid "Restart" msgstr "Перазапуск" -#: src/component/user/edit/dialog.vue:485 src/component/lightbox.vue:1221 +#: src/component/user/edit/dialog.vue:488 src/component/lightbox.vue:1221 #: src/component/photo/clipboard.vue:77 msgid "Restore" msgstr "Аднавіць" -#: src/component/lightbox.vue:2000 +#: src/component/lightbox.vue:2020 msgid "Restored" msgstr "Адноўлены" -#: src/component/service/edit.vue:428 +#: src/component/service/edit.vue:429 msgid "Retry Limit" msgstr "Ліміт паўтораў" -#: src/component/settings/password.vue:128 +#: src/component/settings/password.vue:129 msgid "Retype Password" msgstr "Паўтарыце пароль" -#: src/app/routes.js:264 src/component/navigation.vue:505 +#: src/app/routes.js:272 src/component/navigation.vue:507 msgid "Review" msgstr "Агляд" -#: src/component/user/add/dialog.vue:171 src/component/user/edit/dialog.vue:284 -#: src/page/admin/sessions.vue:262 src/page/admin/users.vue:73 +#: src/component/user/add/dialog.vue:172 src/component/user/edit/dialog.vue:285 +#: src/page/admin/sessions.vue:263 src/page/admin/users.vue:75 msgid "Role" msgstr "Роля" @@ -2591,11 +2626,11 @@ msgstr "Радкоў на старонцы:" msgid "Satellite" msgstr "Спадарожнік" -#: src/component/user/edit/dialog.vue:485 -#: src/component/album/edit/dialog.vue:211 -#: src/component/label/edit/dialog.vue:119 -#: src/component/people/edit/dialog.vue:132 src/component/service/edit.vue:466 -#: src/component/settings/password.vue:172 src/component/share/dialog.vue:181 +#: src/component/user/edit/dialog.vue:488 +#: src/component/album/edit/dialog.vue:212 +#: src/component/label/edit/dialog.vue:120 +#: src/component/people/edit/dialog.vue:133 src/component/service/edit.vue:467 +#: src/component/settings/password.vue:173 src/component/share/dialog.vue:181 msgid "Save" msgstr "Захаваць" @@ -2603,23 +2638,23 @@ msgstr "Захаваць" msgid "Scan" msgstr "сканаваць" -#: src/component/settings/passcode.vue:179 +#: src/component/settings/passcode.vue:182 msgid "Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:" msgstr "Адсканіруйце QR-код з дапамогай праграмы аўтэнтыфікацыі або выкарыстайце ключ наладкі, паказаны ніжэй, а затым увядзіце згенераваны код спраўджання:" -#: src/component/navigation.vue:461 +#: src/component/navigation.vue:463 msgid "Scans" msgstr "Сканы" -#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:377 -#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:310 +#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:381 +#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:313 msgid "Scope" msgstr "Вобласць прымянення" -#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:62 -#: src/component/navigation.vue:342 src/component/navigation.vue:1866 -#: src/component/photo/toolbar.vue:57 src/options/options.js:197 -#: src/page/albums.vue:100 src/page/labels.vue:77 +#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:69 +#: src/component/location/dialog.vue:133 src/component/navigation.vue:343 +#: src/component/navigation.vue:1905 src/component/photo/toolbar.vue:57 +#: src/options/options.js:197 src/page/albums.vue:100 src/page/labels.vue:77 #: src/page/library/errors.vue:76 src/page/people/recognized.vue:66 #: src/page/places.vue:79 src/page/settings/content.vue:235 msgid "Search" @@ -2657,11 +2692,11 @@ msgstr "Выберыце дату" msgid "Select dates" msgstr "Выберыце даты" -#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:154 +#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:156 msgid "Select or create an album" msgstr "Выберыце або стварыце альбом" -#: src/component/upload/dialog.vue:138 +#: src/component/upload/dialog.vue:140 msgid "Select the files to upload…" msgstr "Выберыце файлы для загрузкі…" @@ -2689,7 +2724,7 @@ msgstr "Выбар адноўлены" msgid "Sequential Name" msgstr "Паслядоўнае імя" -#: src/component/service/add.vue:67 src/component/service/edit.vue:322 +#: src/component/service/add.vue:68 src/component/service/edit.vue:323 #: src/component/share/dialog.vue:25 msgid "Service URL" msgstr "URL службы" @@ -2698,7 +2733,7 @@ msgstr "URL службы" msgid "Services" msgstr "Сэрвісы" -#: src/model/session.js:107 src/options/auth.js:41 src/options/auth.js:90 +#: src/model/session.js:107 src/options/auth.js:42 src/options/auth.js:91 msgid "Session" msgstr "сесія" @@ -2706,7 +2741,7 @@ msgstr "сесія" msgid "Session ID" msgstr "Ідэнтыфікатар сеансу" -#: src/page/admin.vue:45 +#: src/page/admin.vue:44 msgid "Sessions" msgstr "Сесіі" @@ -2714,22 +2749,22 @@ msgstr "Сесіі" msgid "Set as Album Cover" msgstr "Усталяваць у якасці вокладкі альбома" -#: src/app/routes.js:101 src/app/routes.js:492 src/app/routes.js:504 -#: src/app/routes.js:521 src/app/routes.js:534 src/app/routes.js:547 -#: src/component/navigation.vue:1394 src/component/navigation.vue:1806 +#: src/app/routes.js:101 src/app/routes.js:500 src/app/routes.js:512 +#: src/app/routes.js:529 src/app/routes.js:542 src/app/routes.js:555 +#: src/component/navigation.vue:1419 src/component/navigation.vue:1841 msgid "Settings" msgstr "Налады" #: src/page/settings/account.vue:115 src/page/settings/account.vue:144 -#: src/component/settings/passcode.vue:147 +#: src/component/settings/passcode.vue:151 msgid "Settings saved" msgstr "Налады захаваны" -#: src/component/service/upload.vue:131 src/component/settings/passcode.vue:160 +#: src/component/service/upload.vue:132 src/component/settings/passcode.vue:163 msgid "Setup" msgstr "Усталяваць" -#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:98 +#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:103 #: src/component/photo/clipboard.vue:51 src/page/settings/general.vue:382 msgid "Share" msgstr "падзяліцца" @@ -2746,7 +2781,7 @@ msgstr "Абагульвайце свае фатаграфіі з іншымі msgid "Show" msgstr "Паказаць" -#: src/page/people/new.vue:116 src/page/people/new.vue:233 +#: src/page/people/new.vue:116 src/page/people/new.vue:235 msgid "Show all new faces" msgstr "Паказаць усе новыя твары" @@ -2791,7 +2826,7 @@ msgid "Similar" msgstr "Падобныя" #: src/component/photo/edit/files.vue:51 src/component/photo/edit/files.vue:341 -#: src/component/service/edit.vue:139 src/component/sidebar/info.vue:96 +#: src/component/service/edit.vue:140 src/component/sidebar/info.vue:96 msgid "Size" msgstr "Памер" @@ -2819,7 +2854,7 @@ msgstr "Нешта пайшло не так, паўтарыце спробу" msgid "Sort by" msgstr "Сартаваць па" -#: src/component/album/edit/dialog.vue:142 src/component/photo/toolbar.vue:288 +#: src/component/album/edit/dialog.vue:143 src/component/photo/toolbar.vue:290 #: src/page/albums.vue:214 msgid "Sort Order" msgstr "Парадак сартавання" @@ -2854,7 +2889,7 @@ msgstr "Складайце здымкі, зробленыя ў адзін і т msgid "Stackable" msgstr "Штабельныя" -#: src/component/navigation.vue:421 src/page/settings/content.vue:136 +#: src/component/navigation.vue:423 src/page/settings/content.vue:136 msgid "Stacks" msgstr "Стэкі" @@ -2882,16 +2917,16 @@ msgstr "Захоўванне" msgid "Streets" msgstr "Вуліцы" -#: src/component/photo/edit/details.vue:494 +#: src/component/photo/edit/details.vue:468 #: src/component/photo/edit/labels.vue:44 msgid "Subject" msgstr "Прадмет" -#: src/page/about/feedback.vue:162 src/page/about/feedback.vue:163 +#: src/page/about/feedback.vue:163 src/page/about/feedback.vue:164 msgid "Submit" msgstr "Падаць" -#: src/component/settings/passcode.vue:132 +#: src/component/settings/passcode.vue:136 msgid "Successfully activated" msgstr "Паспяхова актывавана" @@ -2900,23 +2935,23 @@ msgid "Successfully Connected" msgstr "Паспяхова падключана" #: src/component/session/remove/dialog.vue:32 -#: src/component/settings/apps.vue:218 +#: src/component/settings/apps.vue:222 msgid "Successfully deleted" msgstr "Паспяхова выдалена" -#: src/component/settings/passcode.vue:107 +#: src/component/settings/passcode.vue:108 msgid "Successfully verified" msgstr "Паспяхова праверана" -#: src/component/user/edit/dialog.vue:398 src/page/admin/users.vue:163 +#: src/component/user/edit/dialog.vue:399 src/page/admin/users.vue:165 msgid "Super Admin" msgstr "Супер адміністратар" -#: src/component/service/add.vue:122 +#: src/component/service/add.vue:123 msgid "Support for additional services, like Google Drive, will be added over time." msgstr "Падтрымка дадатковых сэрвісаў, такіх як Google Drive, будзе дададзена з часам." -#: src/component/confirm/sponsor.vue:37 src/component/navigation.vue:1629 +#: src/component/confirm/sponsor.vue:38 src/component/navigation.vue:1660 msgid "Support Our Mission" msgstr "Падтрымайце нашу місію" @@ -2924,7 +2959,7 @@ msgstr "Падтрымайце нашу місію" msgid "Sync" msgstr "Сінхранізацыя" -#: src/component/service/edit.vue:289 +#: src/component/service/edit.vue:290 msgid "Sync raw and video files" msgstr "Сінхранізацыя неапрацаваных і відэафайлаў" @@ -2950,23 +2985,23 @@ msgstr "Рэльеф мясцовасці" msgid "Text" msgstr "Тэкст" -#: src/component/photo/edit/details.vue:32 src/page/people/new.vue:71 +#: src/component/photo/edit/details.vue:40 src/page/people/new.vue:71 msgid "Text too long" msgstr "Тэкст занадта доўгі" -#: src/page/about/about.vue:145 +#: src/page/about/about.vue:146 msgid "Thank You for Your Support!" msgstr "Дзякуй за вашу падтрымку!" -#: src/page/about/about.vue:79 src/page/about/about.vue:85 +#: src/page/about/about.vue:80 src/page/about/about.vue:86 msgid "That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality." msgstr "Вось чаму PhotoPrism быў створаны з нуля, каб працаваць там, дзе вам гэта трэба, без шкоды для свабоды, прыватнасці або функцыянальнасці." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "The index currently contains %{n} hidden files." msgstr "Зараз індэкс змяшчае %{n} схаваных файлаў." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates." msgstr "Магчыма, іх фармат не падтрымліваецца, яны яшчэ не былі пераўтвораны ў JPEG або ёсць дублікаты." @@ -2981,44 +3016,44 @@ msgstr "Тэма" msgid "This field is required" msgstr "Гэта поле абавязковае" -#: src/component/settings/webdav.vue:100 src/page/settings/services.vue:144 +#: src/component/settings/webdav.vue:101 src/page/settings/services.vue:147 msgid "This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local." msgstr "Гэта мантуе папку арыгіналаў у якасці сеткавага дыска і дазваляе адкрываць, рэдагаваць і выдаляць файлы з вашага камп'ютара або смартфона, як калі б яны былі лакальнымі." -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Time UTC" msgstr "Час UTC" -#: src/component/photo/edit/details.vue:219 src/page/settings/general.vue:108 +#: src/component/photo/edit/details.vue:221 src/page/settings/general.vue:108 msgid "Time Zone" msgstr "Часавы пояс" -#: src/component/service/edit.vue:408 +#: src/component/service/edit.vue:409 msgid "Timeout" msgstr "Тайм-аўт" -#: src/component/user/edit/dialog.vue:98 src/component/user/edit/dialog.vue:99 +#: src/component/user/edit/dialog.vue:99 src/component/user/edit/dialog.vue:100 #: src/page/settings/account.vue:84 src/page/settings/account.vue:86 msgctxt "Account" msgid "Title" msgstr "Назва" -#: src/component/photo/edit/details.vue:73 +#: src/component/photo/edit/details.vue:75 msgctxt "Photo" msgid "Title" msgstr "Назва" -#: src/component/photo/edit/info.vue:59 src/component/photo/edit/info.vue:155 +#: src/component/photo/edit/info.vue:61 src/component/photo/edit/info.vue:155 #: src/component/photo/edit/labels.vue:40 src/component/photo/view/list.vue:114 #: src/component/sidebar/info.vue:57 msgid "Title" msgstr "Назва" -#: src/page/settings/account.vue:553 src/page/settings/account.vue:555 +#: src/page/settings/account.vue:559 src/page/settings/account.vue:561 msgid "Title / Position" msgstr "Званне / Пасада" -#: src/page/albums.vue:83 +#: src/page/albums.vue:84 msgid "Title too long" msgstr "Назва занадта доўгая" @@ -3026,19 +3061,19 @@ msgstr "Назва занадта доўгая" msgid "to" msgstr "каб" -#: src/component/settings/passcode.vue:312 +#: src/component/settings/passcode.vue:315 msgid "To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place." msgstr "Каб пазбегнуць блакіроўкі доступу да вашага ўліковага запісу, спампуйце, раздрукуйце або скапіруйце гэты код аднаўлення і захавайце яго ў бяспечным месцы." -#: src/component/settings/apps.vue:272 +#: src/component/settings/apps.vue:275 msgid "To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:" msgstr "Каб згенераваць новы пароль для канкрэтнай праграмы, увядзіце назву і вобласць аўтарызацыі праграмы і абярыце тэрмін дзеяння:" -#: src/component/settings/passcode.vue:400 +#: src/component/settings/passcode.vue:403 msgid "To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:" msgstr "Каб пераключыцца на новую праграму або прыладу аўтэнтыфікатара, спачатку дэактывуйце двухфактарную аўтэнтыфікацыю, а затым зноў актывуйце яе:" -#: src/page/connect.vue:221 src/page/connect.vue:230 +#: src/page/connect.vue:223 src/page/connect.vue:232 msgid "To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:" msgstr "Каб абнавіць, вы можаце ўвесці код актывацыі або націснуць «Рэгістрацыя», каб зарэгістравацца на нашым сайце:" @@ -3046,7 +3081,7 @@ msgstr "Каб абнавіць, вы можаце ўвесці код акты msgid "Today" msgstr "сёння" -#: src/component/album/toolbar.vue:70 src/component/photo/toolbar.vue:78 +#: src/component/album/toolbar.vue:71 src/component/photo/toolbar.vue:78 msgid "Toggle View" msgstr "Пераключыць прагляд" @@ -3073,20 +3108,24 @@ msgstr "Ліквідацыю непаладак" msgid "Try again using other filters or keywords." msgstr "Паўтарыце спробу, выкарыстоўваючы іншыя фільтры або ключавыя словы." -#: src/component/settings/passcode.vue:380 +#: src/component/settings/passcode.vue:383 msgid "Two-factor authentication has been enabled for your account." msgstr "Для вашага ўліковага запісу ўключана двухфактарная аўтэнтыфікацыя." #: src/component/photo/edit/files.vue:58 src/component/photo/edit/files.vue:330 -#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:388 +#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:389 msgid "Type" msgstr "Тып" -#: src/options/auth.js:13 +#: src/component/album/toolbar.vue:178 +msgid "Unable to delete" +msgstr "Немагчыма выдаліць" + +#: src/options/auth.js:14 msgid "Unauthorized" msgstr "Несанкцыянаваны" -#: src/component/photo/edit/people.vue:94 +#: src/component/photo/edit/people.vue:95 msgid "Undo" msgstr "Адмяніць" @@ -3094,16 +3133,16 @@ msgstr "Адмяніць" msgid "Unique ID" msgstr "Унікальны ID" -#: src/page/settings/account.vue:451 src/page/settings/account.vue:476 -#: src/page/settings/account.vue:501 src/common/util.js:487 -#: src/component/photo/edit/details.vue:21 -#: src/component/photo/edit/details.vue:111 -#: src/component/photo/edit/details.vue:138 -#: src/component/photo/edit/details.vue:164 src/component/sidebar/info.vue:43 -#: src/model/album.js:193 src/model/photo.js:323 src/model/photo.js:784 -#: src/model/photo.js:809 src/model/photo.js:832 src/model/photo.js:850 -#: src/model/photo.js:897 src/model/photo.js:905 src/model/photo.js:994 -#: src/model/photo.js:1016 src/model/photo.js:1061 src/model/photo.js:1074 +#: src/page/settings/account.vue:457 src/page/settings/account.vue:482 +#: src/page/settings/account.vue:507 src/common/util.js:488 +#: src/component/photo/edit/details.vue:27 +#: src/component/photo/edit/details.vue:113 +#: src/component/photo/edit/details.vue:140 +#: src/component/photo/edit/details.vue:166 src/component/sidebar/info.vue:43 +#: src/model/album.js:193 src/model/photo.js:331 src/model/photo.js:821 +#: src/model/photo.js:846 src/model/photo.js:869 src/model/photo.js:887 +#: src/model/photo.js:934 src/model/photo.js:942 src/model/photo.js:1031 +#: src/model/photo.js:1053 src/model/photo.js:1098 src/model/photo.js:1111 #: src/model/user.js:157 src/options/options.js:51 src/options/options.js:69 #: src/options/options.js:86 src/options/options.js:100 #: src/options/options.js:112 src/page/library/errors.vue:251 @@ -3116,7 +3155,7 @@ msgstr "Невядомы" msgid "Unregistered" msgstr "Незарэгістраваны" -#: src/app/routes.js:215 src/component/navigation.vue:644 +#: src/app/routes.js:223 src/component/navigation.vue:648 msgid "Unsorted" msgstr "Ня адсартавана" @@ -3124,7 +3163,7 @@ msgstr "Ня адсартавана" msgid "Unstack" msgstr "Зняць стос" -#: src/component/photo/edit/files.vue:519 src/component/photo/edit/info.vue:416 +#: src/component/photo/edit/files.vue:521 src/component/photo/edit/info.vue:416 msgid "Updated" msgstr "Абноўлены" @@ -3140,7 +3179,7 @@ msgstr "Абнаўленне індэкса" msgid "Updating moments" msgstr "Абнаўленне момантаў" -#: src/component/user/edit/dialog.vue:154 +#: src/component/user/edit/dialog.vue:155 msgid "Updating picture…" msgstr "Абнаўленне выявы…" @@ -3152,21 +3191,21 @@ msgstr "Абнаўленне прэв'ю" msgid "Updating stacks" msgstr "Абнаўленне стэкаў" -#: src/page/connect.vue:57 src/component/navigation.vue:1500 -#: src/component/navigation.vue:1614 src/component/navigation.vue:1999 +#: src/page/connect.vue:57 src/component/navigation.vue:1526 +#: src/component/navigation.vue:1644 src/component/navigation.vue:2047 #: src/page/connect.vue:58 msgid "Upgrade" msgstr "Абнаўленне" -#: src/page/about/about.vue:123 src/page/connect.vue:202 -#: src/component/confirm/sponsor.vue:98 src/page/about/about.vue:113 -#: src/page/connect.vue:206 +#: src/page/about/about.vue:124 src/page/connect.vue:204 +#: src/component/confirm/sponsor.vue:99 src/page/about/about.vue:114 +#: src/page/connect.vue:208 msgid "Upgrade Now" msgstr "Абнавіце зараз" -#: src/component/album/toolbar.vue:108 src/component/navigation.vue:1824 -#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:144 -#: src/component/upload/dialog.vue:51 src/page/albums.vue:183 +#: src/component/album/toolbar.vue:113 src/component/navigation.vue:1860 +#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:145 +#: src/component/upload/dialog.vue:51 src/page/albums.vue:185 #: src/page/labels.vue:122 src/page/library/import.vue:133 #: src/page/settings/general.vue:307 src/page/settings/services.vue:38 msgid "Upload" @@ -3176,21 +3215,21 @@ msgstr "Загрузіць" msgid "Upload complete" msgstr "Запампоўка завершана" -#: src/component/upload/dialog.vue:133 +#: src/component/upload/dialog.vue:135 msgid "Upload complete. Indexing…" msgstr "Запампоўка завершана. Індэксацыя…" #: src/component/upload/dialog.vue:296 src/component/upload/dialog.vue:315 -#: src/component/upload/dialog.vue:129 +#: src/component/upload/dialog.vue:131 msgid "Upload failed" msgstr "Памылка загрузкі" -#: src/component/service/edit.vue:257 +#: src/component/service/edit.vue:258 msgid "Upload local files" msgstr "Загрузіць лакальныя файлы" -#: src/component/user/edit/dialog.vue:380 #: src/component/user/edit/dialog.vue:381 +#: src/component/user/edit/dialog.vue:382 msgid "Upload Path" msgstr "Шлях загрузкі" @@ -3198,7 +3237,7 @@ msgstr "Шлях загрузкі" msgid "Upload to WebDAV and share links with friends." msgstr "Загружайце ў WebDAV і дзяліцеся спасылкамі з сябрамі." -#: src/component/upload/dialog.vue:131 +#: src/component/upload/dialog.vue:133 msgid "Uploading %{n} of %{t}…" msgstr "Загрузка %{n} з %{t}…" @@ -3211,7 +3250,7 @@ msgstr "Загрузка фатаграфій…" msgid "Uploading…" msgstr "Загрузка…" -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Uploads that may contain such images will be rejected automatically." msgstr "Загрузкі, якія могуць утрымліваць такія выявы, будуць адхіляцца аўтаматычна." @@ -3219,7 +3258,7 @@ msgstr "Загрузкі, якія могуць утрымліваць такі msgid "Use Presets" msgstr "Выкарыстоўвайце налады" -#: src/component/settings/passcode.vue:283 +#: src/component/settings/passcode.vue:286 msgid "Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:" msgstr "Выкарыстоўвайце наступны код аднаўлення для доступу да вашага ўліковага запісу, калі вы не можаце стварыць сапраўдны код спраўджання з дапамогай праграмы аўтэнтыфікацыі:" @@ -3227,12 +3266,12 @@ msgstr "Выкарыстоўвайце наступны код аднаўлен msgid "Use your recovery code or contact an administrator for help." msgstr "Выкарыстоўвайце свой код аднаўлення або звярніцеся па дапамогу да адміністратара." -#: src/options/admin.js:10 src/page/admin/sessions.vue:59 -#: src/page/admin/sessions.vue:242 src/model/user.js:361 src/options/auth.js:7 +#: src/options/admin.js:14 src/page/admin/sessions.vue:59 +#: src/page/admin/sessions.vue:243 src/model/user.js:361 src/options/auth.js:8 msgid "User" msgstr "Карыстальнік" -#: src/component/navigation.vue:1979 +#: src/component/navigation.vue:2025 msgid "User Guide" msgstr "Кіраўніцтва карыстальніка" @@ -3240,14 +3279,14 @@ msgstr "Кіраўніцтва карыстальніка" msgid "User Interface" msgstr "Інтэрфейс карыстальніка" -#: src/component/user/add/dialog.vue:87 src/component/user/add/dialog.vue:88 -#: src/page/admin/sessions.vue:220 src/page/admin/users.vue:71 -#: src/component/service/add.vue:85 src/component/service/edit.vue:337 +#: src/component/user/add/dialog.vue:88 src/component/user/add/dialog.vue:89 +#: src/page/admin/sessions.vue:221 src/page/admin/users.vue:73 +#: src/component/service/add.vue:86 src/component/service/edit.vue:338 #: src/component/share/dialog.vue:26 msgid "Username" msgstr "Імя карыстальніка" -#: src/component/navigation.vue:1435 +#: src/component/navigation.vue:1461 msgid "Users" msgstr "Карыстальнікі" @@ -3257,18 +3296,18 @@ msgstr "Карыстальнікі" msgid "Vector" msgstr "вектар" -#: src/component/navigation.vue:440 +#: src/component/navigation.vue:442 msgid "Vectors" msgstr "Вектары" -#: src/component/settings/passcode.vue:227 src/page/auth/login.vue:144 +#: src/component/settings/passcode.vue:230 src/page/auth/login.vue:144 msgid "Verification Code" msgstr "Код верыфікацыі" #: src/component/photo/view/cards.vue:363 #: src/component/photo/view/cards.vue:491 src/component/photo/view/list.vue:190 #: src/component/photo/view/mosaic.vue:207 src/model/file.js:221 -#: src/model/photo.js:921 src/model/photo.js:939 src/options/options.js:293 +#: src/model/photo.js:958 src/model/photo.js:976 src/options/options.js:293 msgid "Video" msgstr "Відэа" @@ -3277,12 +3316,12 @@ msgstr "Відэа" msgid "Video Duration" msgstr "Працягласць відэа" -#: src/app/routes.js:243 src/component/navigation.vue:728 +#: src/app/routes.js:251 src/component/navigation.vue:734 #: src/options/options.js:200 msgid "Videos" msgstr "Відэа" -#: src/component/photo/toolbar.vue:261 src/component/photo/view/cards.vue:350 +#: src/component/photo/toolbar.vue:263 src/component/photo/view/cards.vue:350 #: src/component/photo/view/mosaic.vue:194 msgid "View" msgstr "Выгляд" @@ -3291,11 +3330,11 @@ msgstr "Выгляд" msgid "View search results as a list." msgstr "Праглядзець вынікі пошуку ў выглядзе спісу." -#: src/options/admin.js:14 src/options/auth.js:8 +#: src/options/admin.js:18 src/options/auth.js:9 msgid "Viewer" msgstr "Глядач" -#: src/page/admin/sessions.vue:271 src/options/auth.js:12 +#: src/page/admin/sessions.vue:272 src/options/auth.js:13 msgid "Visitor" msgstr "Наведвальнік" @@ -3307,34 +3346,34 @@ msgstr "Візуальнае падабенства" msgid "Warning" msgstr "Папярэджанне" -#: src/page/about/feedback.vue:60 +#: src/page/about/feedback.vue:61 msgid "We appreciate your feedback!" msgstr "Мы цэнім ваш водгук!" -#: src/page/about/feedback.vue:63 +#: src/page/about/feedback.vue:64 msgid "We do our best to respond within five business days or less." msgstr "Мы робім усё магчымае, каб адказаць на працягу пяці працоўных дзён ці менш." -#: src/component/user/add/dialog.vue:235 src/component/user/edit/dialog.vue:415 -#: src/page/admin/users.vue:80 +#: src/component/user/add/dialog.vue:236 src/component/user/edit/dialog.vue:416 +#: src/page/admin/users.vue:82 msgid "Web Login" msgstr "Інтэрнэт-уваход" -#: src/component/user/add/dialog.vue:248 src/component/user/edit/dialog.vue:432 -#: src/page/admin/users.vue:82 src/options/auth.js:55 src/options/auth.js:68 +#: src/component/user/add/dialog.vue:249 src/component/user/edit/dialog.vue:433 +#: src/page/admin/users.vue:84 src/options/auth.js:56 src/options/auth.js:69 #: src/options/options.js:444 msgid "WebDAV" msgstr "WebDAV" -#: src/component/settings/webdav.vue:51 +#: src/component/settings/webdav.vue:52 msgid "WebDAV clients can connect to PhotoPrism using the following URL:" msgstr "Кліенты WebDAV могуць падключыцца да PhotoPrism, выкарыстоўваючы наступны URL:" -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism." msgstr "Кліенты WebDAV, такія як Microsoft Windows Explorer або Apple Finder, могуць падключацца непасрэдна да PhotoPrism." -#: src/component/service/upload.vue:50 src/component/share/dialog.vue:220 +#: src/component/service/upload.vue:51 src/component/share/dialog.vue:220 msgid "WebDAV Upload" msgstr "Загрузка WebDAV" @@ -3342,8 +3381,8 @@ msgstr "Загрузка WebDAV" msgid "WebGL support is disabled in your browser" msgstr "Падтрымка WebGL адключана ў вашым браўзеры" -#: src/page/settings/account.vue:615 src/page/settings/account.vue:709 -#: src/page/settings/account.vue:601 +#: src/page/settings/account.vue:621 src/page/settings/account.vue:715 +#: src/page/settings/account.vue:607 msgid "Website" msgstr "Вэб-сайт" @@ -3351,12 +3390,12 @@ msgstr "Вэб-сайт" msgid "White" msgstr "Белы" -#: src/page/settings/account.vue:532 +#: src/page/settings/account.vue:538 msgid "Work Details" msgstr "Дэталі працы" -#: src/page/settings/account.vue:500 src/component/photo/edit/details.vue:163 -#: src/component/photo/toolbar.vue:315 src/page/albums.vue:159 +#: src/page/settings/account.vue:506 src/component/photo/edit/details.vue:165 +#: src/component/photo/toolbar.vue:317 src/page/albums.vue:159 msgid "Year" msgstr "год" @@ -3364,21 +3403,21 @@ msgstr "год" msgid "Yellow" msgstr "Жоўты" -#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:58 -#: src/component/photo/archive/dialog.vue:58 +#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:59 +#: src/component/photo/archive/dialog.vue:59 #: src/component/photo/clipboard.vue:200 src/component/photo/edit/files.vue:365 #: src/component/photo/edit/files.vue:395 #: src/component/photo/edit/files.vue:401 #: src/component/photo/edit/files.vue:407 -#: src/component/photo/edit/files.vue:510 src/component/photo/edit/info.vue:281 +#: src/component/photo/edit/files.vue:512 src/component/photo/edit/info.vue:281 #: src/component/photo/edit/info.vue:297 src/component/photo/edit/info.vue:313 #: src/component/photo/edit/info.vue:329 src/component/photo/edit/info.vue:344 -#: src/component/photo/toolbar.vue:434 +#: src/component/photo/toolbar.vue:436 msgid "Yes" msgstr "так" -#: src/component/confirm/sponsor.vue:59 src/page/about/about.vue:158 -#: src/page/connect.vue:315 +#: src/component/confirm/sponsor.vue:60 src/page/about/about.vue:160 +#: src/page/connect.vue:317 msgid "You are welcome to contact us at membership@photoprism.app for questions regarding your membership." msgstr "Вы можаце звязацца з намі па адрасе membership@photoprism.app па пытаннях аб вашым членстве." @@ -3390,7 +3429,11 @@ msgstr "Вы можаце спампаваць толькі адзін альб msgid "You can only download one label" msgstr "Вы можаце спампаваць толькі адну метку" -#: src/component/upload/dialog.vue:203 +#: src/component/location/dialog.vue:178 +msgid "You can search for a location or move the marker on the map to change the position:" +msgstr "Вы можаце шукаць месцазнаходжанне або перамяшчаць маркер на карце, каб змяніць яго становішча:" + +#: src/component/upload/dialog.vue:205 msgid "You can upload up to %{n} files for test purposes." msgstr "Вы можаце загрузіць да %{n} файлаў для тэставых мэт." @@ -3403,7 +3446,7 @@ msgstr "Вы можаце выбраць толькі адзін прадмет" msgid "You may rescan your library to find additional faces." msgstr "Вы можаце паўторна адсканіраваць сваю бібліятэку, каб знайсці дадатковыя твары." -#: src/page/connect.vue:146 src/page/connect.vue:150 +#: src/page/connect.vue:147 src/page/connect.vue:151 msgid "Your account has been successfully connected." msgstr "Ваш уліковы запіс быў паспяхова падключаны." @@ -3411,8 +3454,8 @@ msgstr "Ваш уліковы запіс быў паспяхова падклю msgid "Your browser does not support WebGL" msgstr "Ваш браўзер не падтрымлівае WebGL" -#: src/component/confirm/sponsor.vue:43 src/page/about/about.vue:97 -#: src/page/about/about.vue:156 src/page/connect.vue:220 +#: src/component/confirm/sponsor.vue:44 src/page/about/about.vue:98 +#: src/page/about/about.vue:158 src/page/connect.vue:222 msgid "Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy." msgstr "Ваша нязменная падтрымка дапамагае нам забяспечваць рэгулярныя абнаўленні і заставацца незалежнымі, каб мы маглі выконваць сваю місію і абараняць вашу канфідэнцыяльнасць." @@ -3493,9 +3536,6 @@ msgstr "Павелічэнне/памяншэнне" #~ msgid "Open Folder" #~ msgstr "Адкрыць тэчку" -#~ msgid "Cannot copy to clipboard" -#~ msgstr "Немагчыма скапіраваць у буфер абмену" - #~ msgid "Sound" #~ msgstr "Гук" diff --git a/frontend/src/locales/bg.po b/frontend/src/locales/bg.po index 86bcae7c9..220dee068 100644 --- a/frontend/src/locales/bg.po +++ b/frontend/src/locales/bg.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: ci@photoprism.app\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2025-04-04 08:03+0000\n" +"PO-Revision-Date: 2025-07-06 08:58+0000\n" "Last-Translator: DeepL \n" "Language-Team: Bulgarian \n" "Language: bg\n" @@ -11,7 +11,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.10.4\n" +"X-Generator: Weblate 5.12.2\n" "Generated-By: easygettext\n" #: src/locales.js:268 @@ -42,7 +42,7 @@ msgstr "{0} избран" msgid "{0}-{1} of {2}" msgstr "{0}-{1} от {2}" -#: src/page/albums.vue:612 +#: src/page/albums.vue:617 msgid "%{n} albums found" msgstr "%{n} намерени албума" @@ -50,25 +50,25 @@ msgstr "%{n} намерени албума" msgid "%{n} files uploaded" msgstr "%{n} качени файла" -#: src/page/library/browse.vue:362 +#: src/page/library/browse.vue:364 msgid "%{n} folders found" msgstr "%{n} намерени папки" -#: src/component/navigation.vue:1676 +#: src/component/navigation.vue:1707 msgid "%{n} GB of %{q} GB used" msgstr "%{n} GB от %{q} Използвани GB" -#: src/page/labels.vue:528 +#: src/page/labels.vue:533 msgid "%{n} labels found" msgstr "%{n} намерени етикети" -#: src/page/people/new.vue:350 src/page/people/new.vue:447 -#: src/page/people/recognized.vue:536 +#: src/page/people/new.vue:350 src/page/people/new.vue:450 +#: src/page/people/recognized.vue:541 msgid "%{n} people found" msgstr "%{n} намерени човека" -#: src/page/album/photos.vue:308 src/page/album/photos.vue:493 -#: src/page/photos.vue:441 src/page/photos.vue:631 +#: src/page/album/photos.vue:313 src/page/album/photos.vue:504 +#: src/page/photos.vue:446 src/page/photos.vue:641 msgid "%{n} pictures found" msgstr "%{n} намерени снимки" @@ -88,12 +88,12 @@ msgstr "1 час" msgid "12 hours" msgstr "12 часа" -#: src/component/user/edit/dialog.vue:452 src/page/settings/account.vue:324 -#: src/component/settings/passcode.vue:75 +#: src/component/user/edit/dialog.vue:453 src/page/settings/account.vue:325 +#: src/component/settings/passcode.vue:78 msgid "2-Factor Authentication" msgstr "Удостоверяване с 2 фактора" -#: src/component/user/edit/dialog.vue:451 src/options/auth.js:46 +#: src/component/user/edit/dialog.vue:452 src/options/auth.js:47 msgid "2FA" msgstr "2FA" @@ -109,20 +109,20 @@ msgstr "Едно кликване ще го копира в клипборда msgid "A new version of %{s} is available:" msgstr "Налична е нова версия на %{s}:" -#: src/component/user/edit/dialog.vue:233 -#: src/component/user/edit/dialog.vue:234 src/page/about/about.vue:56 +#: src/component/user/edit/dialog.vue:234 +#: src/component/user/edit/dialog.vue:235 src/page/about/about.vue:56 #: src/page/settings/account.vue:248 src/page/settings/account.vue:249 -#: src/app/routes.js:63 src/component/navigation.vue:1521 -#: src/page/people/recognized.vue:292 +#: src/app/routes.js:63 src/component/navigation.vue:1547 +#: src/page/people/recognized.vue:296 msgid "About" msgstr "За" -#: src/options/auth.js:26 src/options/auth.js:44 +#: src/options/auth.js:27 src/options/auth.js:45 msgid "Access Token" msgstr "Токен за достъп" -#: src/component/navigation.vue:87 src/component/navigation.vue:1788 -#: src/component/service/upload.vue:71 src/model/service.js:96 +#: src/component/navigation.vue:87 src/component/navigation.vue:1822 +#: src/component/service/upload.vue:72 src/model/service.js:96 #: src/model/user.js:171 src/page/settings.vue:85 #: src/page/settings/general.vue:582 msgid "Account" @@ -136,7 +136,7 @@ msgstr "Създаден акаунт" msgid "Account deleted" msgstr "Изтрит акаунт" -#: src/page/admin/users.vue:335 +#: src/page/admin/users.vue:337 msgid "Account restored" msgstr "Възстановена сметка" @@ -157,8 +157,8 @@ msgstr "Действие" msgid "Actions" msgstr "Действия" -#: src/page/connect.vue:294 src/component/settings/passcode.vue:346 -#: src/page/connect.vue:303 +#: src/page/connect.vue:296 src/component/settings/passcode.vue:349 +#: src/page/connect.vue:305 msgid "Activate" msgstr "Активиране на" @@ -174,20 +174,20 @@ msgstr "Активирайте, за да сортирате възходящо. msgid "Activate to sort descending." msgstr "Активирайте, за да сортирате в низходящ ред." -#: src/page/connect.vue:231 src/page/connect.vue:240 +#: src/page/connect.vue:233 src/page/connect.vue:242 msgid "Activation Code" msgstr "Код за активиране" -#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:83 -#: src/component/settings/apps.vue:448 +#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:92 +#: src/component/settings/apps.vue:451 msgid "Add" msgstr "Добавяне на" -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:246 msgid "Add %{s}?" msgstr "Добавяне на %{s}?" -#: src/component/user/add/dialog.vue:56 src/component/service/add.vue:49 +#: src/component/user/add/dialog.vue:57 src/component/service/add.vue:50 msgid "Add Account" msgstr "Добавяне на акаунт" @@ -204,8 +204,8 @@ msgid "Add Link" msgstr "Добавете линк" #: src/component/photo/edit/people.vue:25 -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:57 -#: src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:57 +#: src/page/people/new.vue:246 msgid "Add person?" msgstr "Добавяне на човек?" @@ -221,10 +221,15 @@ msgstr "Добавете снимки от резултатите от търс msgid "Add to album" msgstr "Добавете към албум" -#: src/component/photo/edit/files.vue:514 +#: src/component/photo/edit/files.vue:516 msgid "Added" msgstr "Добавено" +#: src/component/location/dialog.vue:68 src/component/location/dialog.vue:90 +#: src/component/photo/edit/details.vue:246 +msgid "Adjust Location" +msgstr "Регулиране на местоположението" + #: src/options/admin.js:6 src/options/auth.js:6 msgid "Admin" msgstr "Администратор" @@ -245,7 +250,7 @@ msgstr "След 3 дни" msgid "After 7 days" msgstr "След 7 дни" -#: src/component/settings/passcode.vue:93 +#: src/component/settings/passcode.vue:96 msgid "After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:" msgstr "След като въведете паролата си за потвърждение, можете да настроите двуфакторно удостоверяване със съвместимо приложение или устройство за удостоверяване:" @@ -277,12 +282,16 @@ msgstr "Албум" msgid "Album Backups" msgstr "Резервни копия на албуми" -#: src/page/albums.vue:674 +#: src/page/albums.vue:685 msgid "Album created" msgstr "Създаден албум" -#: src/app/routes.js:176 src/component/album/toolbar.vue:51 -#: src/component/navigation.vue:604 src/component/navigation.vue:1882 +#: src/page/album/photos.vue:589 +msgid "Album deleted" +msgstr "Изтрит албум" + +#: src/app/routes.js:184 src/component/album/toolbar.vue:55 +#: src/component/navigation.vue:607 src/component/navigation.vue:1922 #: src/component/photo/edit/info.vue:220 src/options/options.js:198 msgid "Albums" msgstr "Албуми" @@ -295,7 +304,7 @@ msgstr "Изтрити албуми" msgid "All" msgstr "Всички" -#: src/page/albums.vue:465 +#: src/page/albums.vue:470 msgid "All %{n} albums loaded" msgstr "Всички %{n} албуми са заредени" @@ -311,8 +320,8 @@ msgstr "Всички %{n} хора са заредени" msgid "All Cameras" msgstr "Всички камери" -#: src/component/photo/toolbar.vue:74 src/page/albums.vue:44 -#: src/page/albums.vue:240 src/page/albums.vue:746 +#: src/component/photo/toolbar.vue:74 src/page/albums.vue:45 +#: src/page/albums.vue:242 src/page/albums.vue:757 msgid "All Categories" msgstr "Всички категории" @@ -344,7 +353,7 @@ msgstr "Всички месеци" msgid "All originals" msgstr "Всички оригинали" -#: src/component/photo/toolbar.vue:76 src/page/albums.vue:93 +#: src/component/photo/toolbar.vue:76 src/page/albums.vue:94 msgid "All Years" msgstr "Всички години" @@ -356,7 +365,7 @@ msgstr "Освен това можете да качвате файлове ди msgid "Altitude" msgstr "Надморска височина" -#: src/component/photo/edit/details.vue:272 +#: src/component/photo/edit/details.vue:297 msgid "Altitude (m)" msgstr "Надморска височина (м)" @@ -364,8 +373,7 @@ msgstr "Надморска височина (м)" msgid "AM" msgstr "AM" -#: src/app/routes.js:257 src/component/navigation.vue:791 -#: src/component/photo/edit/files.vue:364 +#: src/app/routes.js:265 src/component/photo/edit/files.vue:364 #: src/component/photo/view/cards.vue:327 #: src/component/photo/view/cards.vue:511 src/component/photo/view/list.vue:184 #: src/component/photo/view/mosaic.vue:171 src/options/options.js:301 @@ -376,43 +384,47 @@ msgstr "Анимация" msgid "Animation" msgstr "Анимация" +#: src/component/navigation.vue:797 +msgid "Animations" +msgstr "Анимации" + #: src/component/share/dialog.vue:207 msgid "Any private photos and videos remain private and won't be shared." msgstr "Всички лични снимки и видеоклипове остават лични и няма да бъдат споделяни." -#: src/component/service/edit.vue:372 +#: src/component/service/edit.vue:373 msgid "API Key" msgstr "Ключ за API" -#: src/page/admin/sessions.vue:357 src/options/auth.js:25 +#: src/page/admin/sessions.vue:361 src/options/auth.js:26 msgid "Application" msgstr "Приложение" -#: src/component/photo/edit/details.vue:641 +#: src/component/photo/edit/details.vue:615 msgid "Apply" msgstr "Направете заявка на" #: src/component/photo/clipboard.vue:64 -#: src/component/photo/edit/details.vue:640 +#: src/component/photo/edit/details.vue:614 #: src/component/photo/view/cards.vue:416 msgid "Approve" msgstr "Одобряване на" -#: src/page/settings/account.vue:374 src/component/settings/apps.vue:91 +#: src/page/settings/account.vue:378 src/component/settings/apps.vue:94 msgid "Apps and Devices" msgstr "Приложения и устройства" -#: src/app/routes.js:287 src/component/lightbox.vue:1207 -#: src/component/navigation.vue:555 src/component/photo/clipboard.vue:142 +#: src/app/routes.js:295 src/component/lightbox.vue:1207 +#: src/component/navigation.vue:557 src/component/photo/clipboard.vue:142 #: src/component/photo/view/cards.vue:398 src/page/settings/general.vue:432 msgid "Archive" msgstr "Архив" -#: src/component/lightbox.vue:1982 src/component/photo/edit/info.vue:433 +#: src/component/lightbox.vue:2002 src/component/photo/edit/info.vue:433 msgid "Archived" msgstr "Архивирано" -#: src/component/photo/archive/dialog.vue:34 +#: src/component/photo/archive/dialog.vue:35 msgid "Are you sure you want to archive the selection?" msgstr "Сигурни ли сте, че искате да архивирате селекцията?" @@ -420,19 +432,23 @@ msgstr "Сигурни ли сте, че искате да архивирате msgid "Are you sure you want to delete these albums?" msgstr "Сигурни ли сте, че искате да изтриете тези албуми?" -#: src/component/label/delete/dialog.vue:34 +#: src/component/label/delete/dialog.vue:35 msgid "Are you sure you want to delete these labels?" msgstr "Сигурни ли сте, че искате да изтриете тези етикети?" -#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:36 +#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:37 msgid "Are you sure you want to delete this account?" msgstr "Сигурни ли сте, че искате да изтриете този акаунт?" +#: src/component/album/toolbar.vue:136 +msgid "Are you sure you want to delete this album?" +msgstr "Сигурни ли сте, че искате да изтриете този албум?" + #: src/component/photo/clipboard.vue:199 msgid "Are you sure you want to permanently delete these pictures?" msgstr "Сигурни ли сте, че искате да изтриете тези снимки за постоянно?" -#: src/component/file/delete/dialog.vue:34 +#: src/component/file/delete/dialog.vue:35 msgid "Are you sure you want to permanently delete this file?" msgstr "Сигурни ли сте, че искате да изтриете окончателно този файл?" @@ -441,7 +457,7 @@ msgstr "Сигурни ли сте, че искате да изтриете ок msgid "Are you sure?" msgstr "Сигурен ли сте?" -#: src/component/photo/edit/details.vue:537 +#: src/component/photo/edit/details.vue:511 msgid "Artist" msgstr "Художник" @@ -449,14 +465,14 @@ msgstr "Художник" msgid "Aspect Ratio" msgstr "Съотношение" -#: src/app/routes.js:250 src/component/navigation.vue:770 +#: src/app/routes.js:258 src/component/navigation.vue:776 #: src/options/options.js:297 msgid "Audio" msgstr "Аудио" -#: src/component/user/add/dialog.vue:190 src/component/user/edit/dialog.vue:309 -#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:281 -#: src/page/admin/users.vue:75 +#: src/component/user/add/dialog.vue:191 src/component/user/edit/dialog.vue:310 +#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:282 +#: src/page/admin/users.vue:77 msgid "Authentication" msgstr "Удостоверяване" @@ -464,11 +480,11 @@ msgstr "Удостоверяване" msgid "Auto" msgstr "Auto" -#: src/component/settings/apps.vue:151 +#: src/component/settings/apps.vue:154 msgid "Back" msgstr "обратно" -#: src/component/scroll.vue:20 +#: src/component/scroll.vue:18 msgid "Back to top" msgstr "Върнете се в началото" @@ -480,26 +496,26 @@ msgstr "Резервно копие" msgid "Badge" msgstr "Значка" -#: src/component/user/edit/dialog.vue:361 #: src/component/user/edit/dialog.vue:362 +#: src/component/user/edit/dialog.vue:363 msgid "Base Path" msgstr "Базов път" -#: src/page/about/about.vue:95 src/page/connect.vue:220 +#: src/page/about/about.vue:96 src/page/connect.vue:222 msgid "Become a member today, support our mission and enjoy our member benefits!" msgstr "Станете член днес, подкрепете нашата мисия и се възползвайте от нашите ползи за членовете!" -#: src/component/confirm/sponsor.vue:51 src/page/about/about.vue:99 +#: src/component/confirm/sponsor.vue:52 src/page/about/about.vue:100 msgid "Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services." msgstr "Тъй като сме 100% самофинансирани и независими, можем да ви обещаем, че никога няма да продадем вашите данни и че винаги ще бъдем прозрачни по отношение на нашия софтуер и услуги." -#: src/component/user/edit/dialog.vue:258 -#: src/component/user/edit/dialog.vue:259 src/page/settings/account.vue:227 +#: src/component/user/edit/dialog.vue:259 +#: src/component/user/edit/dialog.vue:260 src/page/settings/account.vue:227 #: src/page/settings/account.vue:228 msgid "Bio" msgstr "Биография" -#: src/page/settings/account.vue:431 +#: src/page/settings/account.vue:437 msgid "Birth Date" msgstr "Дата на раждане" @@ -520,7 +536,7 @@ msgid "Brown" msgstr "Кафяв" #: src/component/photo/edit/files.vue:263 src/component/photo/toolbar.vue:141 -#: src/component/upload/dialog.vue:240 +#: src/component/upload/dialog.vue:242 msgid "Browse" msgstr "Преглед на" @@ -548,16 +564,16 @@ msgstr "Доклад за грешка" msgid "Busy, please wait…" msgstr "Заето, моля, изчакайте…" -#: src/page/connect.vue:317 +#: src/page/connect.vue:319 msgid "By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct." msgstr "С използването на софтуера и услугите, които предоставяме, вие се съгласявате с нашите условия за ползване, политика за поверителност и кодекс на поведение." -#: src/app/routes.js:189 src/component/navigation.vue:1081 +#: src/app/routes.js:197 src/component/navigation.vue:1097 #: src/options/options.js:204 src/page/settings/general.vue:205 msgid "Calendar" msgstr "Календар" -#: src/component/photo/edit/details.vue:346 src/component/photo/toolbar.vue:232 +#: src/component/photo/edit/details.vue:320 src/component/photo/toolbar.vue:234 #: src/component/photo/view/cards.vue:467 src/component/photo/view/list.vue:116 msgid "Camera" msgstr "Камера" @@ -570,12 +586,12 @@ msgstr "Серийна камера" msgid "Can't access your authenticator app or device?" msgstr "Не можете да получите достъп до приложението или устройството си за удостоверяване?" -#: src/page/album/photos.vue:317 src/page/photos.vue:450 +#: src/page/album/photos.vue:322 src/page/photos.vue:455 msgid "Can't load more, limit reached" msgstr "Не мога да заредя повече, лимитът е достигнат" #: src/common/clipboard.js:102 src/common/clipboard.js:139 -#: src/page/albums.vue:684 src/page/albums.vue:700 src/page/labels.vue:293 +#: src/page/albums.vue:695 src/page/albums.vue:711 src/page/labels.vue:293 #: src/page/labels.vue:313 src/page/library/browse.vue:233 #: src/page/library/browse.vue:249 src/page/people/new.vue:278 #: src/page/people/new.vue:294 src/page/people/recognized.vue:305 @@ -584,26 +600,31 @@ msgid "Can't select more items" msgstr "Не мога да избера повече елементи" #: src/component/session/remove/dialog.vue:45 -#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:473 -#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:119 +#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:474 +#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:120 #: src/component/album/delete/dialog.vue:43 -#: src/component/album/edit/dialog.vue:199 src/component/confirm/dialog.vue:43 -#: src/component/file/delete/dialog.vue:47 -#: src/component/label/delete/dialog.vue:47 -#: src/component/label/edit/dialog.vue:107 -#: src/component/people/edit/dialog.vue:120 +#: src/component/album/edit/dialog.vue:200 src/component/confirm/dialog.vue:43 +#: src/component/file/delete/dialog.vue:48 +#: src/component/label/delete/dialog.vue:48 +#: src/component/label/edit/dialog.vue:108 +#: src/component/location/dialog.vue:200 +#: src/component/people/edit/dialog.vue:121 #: src/component/photo/album/dialog.vue:78 src/component/service/add.vue:19 -#: src/component/service/edit.vue:455 src/component/service/remove.vue:49 -#: src/component/service/upload.vue:117 src/component/settings/apps.vue:352 -#: src/component/settings/passcode.vue:249 -#: src/component/settings/passcode.vue:333 -#: src/component/settings/password.vue:159 src/component/share/dialog.vue:28 -#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:123 +#: src/component/service/edit.vue:456 src/component/service/remove.vue:50 +#: src/component/service/upload.vue:118 src/component/settings/apps.vue:355 +#: src/component/settings/passcode.vue:252 +#: src/component/settings/passcode.vue:336 +#: src/component/settings/password.vue:160 src/component/share/dialog.vue:28 +#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:124 #: src/page/library/import.vue:119 src/page/library/index.vue:128 msgid "Cancel" msgstr "Отмяна на" -#: src/component/photo/edit/details.vue:87 src/component/photo/edit/info.vue:61 +#: src/common/util.js:863 src/common/util.js:870 +msgid "Cannot copy to clipboard" +msgstr "Не мога да копирам в клипборда" + +#: src/component/photo/edit/details.vue:89 src/component/photo/edit/info.vue:63 #: src/component/photo/edit/labels.vue:42 #: src/component/photo/view/cards.vue:445 src/component/sidebar/info.vue:72 msgid "Caption" @@ -617,17 +638,17 @@ msgstr "Карти" msgid "Carousel slide {0} of {1}" msgstr "Въртележка, слайд {0} от {1}" -#: src/page/about/feedback.vue:82 src/page/about/feedback.vue:83 -#: src/component/album/edit/dialog.vue:128 src/component/photo/toolbar.vue:397 +#: src/page/about/feedback.vue:83 src/page/about/feedback.vue:84 +#: src/component/album/edit/dialog.vue:129 src/component/photo/toolbar.vue:399 #: src/page/albums.vue:187 msgid "Category" msgstr "Категория" -#: src/component/user/edit/dialog.vue:191 src/page/settings/account.vue:201 +#: src/component/user/edit/dialog.vue:192 src/page/settings/account.vue:201 msgid "Change Avatar" msgstr "Промяна на частния флаг" -#: src/page/settings/account.vue:297 src/component/settings/password.vue:48 +#: src/page/settings/account.vue:297 src/component/settings/password.vue:49 msgid "Change Password" msgstr "Нова парола" @@ -644,17 +665,17 @@ msgid "Change private flag" msgstr "Промяна на частния флаг" #: src/component/user/add/dialog.vue:108 src/component/user/add/dialog.vue:113 -#: src/component/user/edit/dialog.vue:90 src/component/user/edit/dialog.vue:95 +#: src/component/user/edit/dialog.vue:91 src/component/user/edit/dialog.vue:96 #: src/page/settings/account.vue:121 src/page/settings/account.vue:126 msgid "Changes could not be saved" msgstr "Промените не могат да бъдат запазени" -#: src/component/user/edit/dialog.vue:83 src/component/user/edit/dialog.vue:159 +#: src/component/user/edit/dialog.vue:84 src/component/user/edit/dialog.vue:160 #: src/component/album/edit/dialog.vue:73 -#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1941 +#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1961 #: src/component/photo/edit/files.vue:162 src/component/service/edit.vue:90 #: src/component/share/dialog.vue:92 src/component/share/dialog.vue:111 -#: src/page/albums.vue:677 src/page/people/recognized.vue:119 +#: src/page/albums.vue:688 src/page/people/recognized.vue:119 #: src/page/settings/advanced.vue:62 src/page/settings/content.vue:62 #: src/page/settings/general.vue:108 msgid "Changes successfully saved" @@ -668,7 +689,7 @@ msgstr "Промените в разширените настройки изис msgid "Checked" msgstr "Проверено" -#: src/component/photo/edit/files.vue:495 +#: src/component/photo/edit/files.vue:497 msgid "Chroma" msgstr "Chroma" @@ -684,24 +705,24 @@ msgstr "Почистване" msgid "Clear {0}" msgstr "Изчистване на {0}" -#: src/options/auth.js:11 src/options/auth.js:23 src/options/auth.js:43 +#: src/options/auth.js:12 src/options/auth.js:24 src/options/auth.js:44 msgid "Client" msgstr "Клиент" -#: src/options/auth.js:24 +#: src/options/auth.js:25 msgid "Client Credentials" msgstr "Удостоверения на клиента" -#: src/page/admin/sessions.vue:529 src/component/lightbox.vue:284 -#: src/component/lightbox.vue:1009 src/component/lightbox.vue:1010 -#: src/component/photo/edit/details.vue:627 src/component/photo/toolbar.vue:160 -#: src/component/settings/apps.vue:224 src/component/settings/apps.vue:437 -#: src/component/settings/passcode.vue:148 -#: src/component/settings/passcode.vue:456 -#: src/component/settings/passcode.vue:497 -#: src/component/settings/webdav.vue:131 src/component/share/dialog.vue:231 +#: src/component/user/edit/dialog.vue:474 src/page/admin/sessions.vue:536 +#: src/component/lightbox.vue:284 src/component/lightbox.vue:1009 +#: src/component/lightbox.vue:1010 src/component/photo/edit/details.vue:601 +#: src/component/photo/toolbar.vue:161 src/component/settings/apps.vue:227 +#: src/component/settings/apps.vue:440 src/component/settings/passcode.vue:151 +#: src/component/settings/passcode.vue:459 +#: src/component/settings/passcode.vue:500 +#: src/component/settings/webdav.vue:132 src/component/share/dialog.vue:231 #: src/component/sidebar/info.vue:26 src/component/update.vue:57 -#: src/component/upload/dialog.vue:228 src/locales.js:206 +#: src/component/upload/dialog.vue:230 src/locales.js:206 #: src/page/library/errors.vue:253 msgid "Close" msgstr "Затвори" @@ -710,11 +731,11 @@ msgstr "Затвори" msgid "Codec" msgstr "Кодек" -#: src/component/photo/toolbar.vue:369 +#: src/component/photo/toolbar.vue:371 msgid "Color" msgstr "Цвят" -#: src/component/photo/edit/files.vue:483 +#: src/component/photo/edit/files.vue:485 msgid "Color Profile" msgstr "Цветен профил" @@ -722,7 +743,7 @@ msgstr "Цветен профил" msgid "Colors" msgstr "Цветове" -#: src/page/connect.vue:260 src/page/connect.vue:269 +#: src/page/connect.vue:262 src/page/connect.vue:271 msgid "Compare Editions" msgstr "Сравняване на изданията" @@ -735,17 +756,18 @@ msgstr "Пълно повторно сканиране" msgid "Confidence" msgstr "Доверие" +#: src/component/location/dialog.vue:212 #: src/component/photo/album/dialog.vue:90 -#: src/component/settings/passcode.vue:261 +#: src/component/settings/passcode.vue:264 msgid "Confirm" msgstr "Потвърдете" -#: src/component/service/add.vue:20 src/page/settings/services.vue:187 +#: src/component/service/add.vue:20 src/page/settings/services.vue:191 msgid "Connect" msgstr "Свържете" -#: src/page/settings/account.vue:401 src/component/settings/webdav.vue:45 -#: src/page/settings/services.vue:167 +#: src/page/settings/account.vue:406 src/component/settings/webdav.vue:46 +#: src/page/settings/services.vue:170 msgid "Connect via WebDAV" msgstr "Свързване чрез WebDAV" @@ -753,22 +775,22 @@ msgstr "Свързване чрез WebDAV" msgid "Connected" msgstr "Свържете" -#: src/page/settings/account.vue:640 src/page/settings/account.vue:532 +#: src/page/settings/account.vue:646 src/page/settings/account.vue:538 msgid "Contact Details" msgstr "Свържете се с нас" -#: src/page/about/feedback.vue:37 src/page/connect.vue:132 -#: src/page/connect.vue:136 +#: src/page/about/feedback.vue:37 src/page/connect.vue:133 +#: src/page/connect.vue:137 msgid "Contact Us" msgstr "Свържете се с нас" #: src/page/albums.vue:433 src/page/labels.vue:237 -#: src/page/people/recognized.vue:306 +#: src/page/people/recognized.vue:310 msgid "Contains %{n} pictures." msgstr "Съдържа %{n} картинки." #: src/page/albums.vue:427 src/page/labels.vue:231 -#: src/page/people/recognized.vue:300 +#: src/page/people/recognized.vue:304 msgid "Contains one picture." msgstr "Съдържа една снимка." @@ -776,7 +798,7 @@ msgstr "Съдържа една снимка." msgid "Content" msgstr "Съдържание" -#: src/component/settings/apps.vue:163 +#: src/component/settings/apps.vue:166 msgid "Continue" msgstr "продължи" @@ -784,7 +806,7 @@ msgstr "продължи" msgid "Continue with %{provider}" msgstr "Продължете с %{provider}" -#: src/options/admin.js:18 src/options/auth.js:9 +#: src/options/admin.js:22 src/options/auth.js:10 msgid "Contributor" msgstr "Донор" @@ -792,15 +814,15 @@ msgstr "Донор" msgid "Converting" msgstr "Конвертиране на" -#: src/common/util.js:846 +#: src/common/util.js:856 msgid "Copied to clipboard" msgstr "Копиране в клипборда" -#: src/component/settings/apps.vue:250 src/component/settings/passcode.vue:358 +#: src/component/settings/apps.vue:253 src/component/settings/passcode.vue:361 msgid "Copy" msgstr "копие" -#: src/component/photo/edit/details.vue:516 +#: src/component/photo/edit/details.vue:490 msgid "Copyright" msgstr "Авторски права" @@ -808,8 +830,8 @@ msgstr "Авторски права" msgid "Couldn't find anything." msgstr "Не можах да намеря нищо." -#: src/page/settings/account.vue:685 src/component/photo/edit/details.vue:242 -#: src/component/photo/toolbar.vue:203 src/page/settings/account.vue:577 +#: src/page/settings/account.vue:691 src/component/photo/edit/details.vue:268 +#: src/component/photo/toolbar.vue:205 src/page/settings/account.vue:583 msgid "Country" msgstr "Страна" @@ -833,7 +855,7 @@ msgstr "Създаване на YAML файлове за архивиране н msgid "Create YAML sidecar files to back up picture metadata." msgstr "Създаване на странични файлове YAML за архивиране на метаданните на картината." -#: src/page/admin/sessions.vue:417 src/component/photo/edit/info.vue:412 +#: src/page/admin/sessions.vue:422 src/component/photo/edit/info.vue:412 msgid "Created" msgstr "Създаден" @@ -845,11 +867,11 @@ msgstr "Създаване на миниатюри за" msgid "Cubic: Moderate Quality, Good Performance" msgstr "Кубичен: Умерено качество, добра производителност" -#: src/component/settings/password.vue:85 +#: src/component/settings/password.vue:86 msgid "Current Password" msgstr "Текуща парола" -#: src/options/themes.js:919 src/options/themes.js:928 +#: src/options/themes.js:920 src/options/themes.js:929 msgid "Custom" msgstr "Потребителски" @@ -865,11 +887,11 @@ msgstr "Daily" msgid "Database Backups" msgstr "Резервни копия на бази данни" -#: src/page/settings/account.vue:450 src/component/photo/edit/details.vue:110 +#: src/page/settings/account.vue:456 src/component/photo/edit/details.vue:112 msgid "Day" msgstr "Ден" -#: src/component/settings/passcode.vue:445 +#: src/component/settings/passcode.vue:448 msgid "Deactivate" msgstr "Деактивирайте" @@ -877,36 +899,40 @@ msgstr "Деактивирайте" msgid "Debug Logs" msgstr "Протоколи за отработване" -#: src/options/admin.js:31 src/page/admin/sessions.vue:136 -#: src/page/admin/users.vue:176 src/component/photo/edit/info.vue:47 +#: src/options/admin.js:35 src/page/admin/sessions.vue:136 +#: src/page/admin/users.vue:178 src/component/photo/edit/info.vue:47 #: src/component/photo/edit/info.vue:110 src/model/session.js:66 -#: src/model/user.js:246 src/options/auth.js:20 src/options/auth.js:21 -#: src/options/auth.js:39 src/options/auth.js:40 src/options/options.js:196 +#: src/model/user.js:246 src/options/auth.js:21 src/options/auth.js:22 +#: src/options/auth.js:40 src/options/auth.js:41 src/options/options.js:196 #: src/options/options.js:232 src/options/options.js:316 -#: src/options/themes.js:773 +#: src/options/themes.js:774 msgid "Default" msgstr "По подразбиране" -#: src/component/service/edit.vue:123 +#: src/component/service/edit.vue:124 msgid "Default Folder" msgstr "Папка по подразбиране" #: src/component/session/remove/dialog.vue:56 #: src/component/user/remove/dialog.vue:56 src/component/album/clipboard.vue:97 -#: src/component/album/delete/dialog.vue:54 -#: src/component/file/delete/dialog.vue:58 src/component/label/clipboard.vue:58 -#: src/component/label/delete/dialog.vue:58 +#: src/component/album/delete/dialog.vue:54 src/component/album/toolbar.vue:137 +#: src/component/file/delete/dialog.vue:59 src/component/label/clipboard.vue:58 +#: src/component/label/delete/dialog.vue:59 #: src/component/photo/clipboard.vue:168 src/component/photo/edit/files.vue:238 -#: src/component/service/remove.vue:60 src/component/share/dialog.vue:170 +#: src/component/service/remove.vue:61 src/component/share/dialog.vue:170 #: src/page/settings/general.vue:457 msgid "Delete" msgstr "Изтриване на" +#: src/component/album/toolbar.vue:133 +msgid "Delete Album" +msgstr "Изтриване на албум" + #: src/component/photo/toolbar.vue:119 src/page/library/errors.vue:95 msgid "Delete All" msgstr "Изтриване на всички" -#: src/component/photo/toolbar.vue:433 src/page/library/errors.vue:193 +#: src/component/photo/toolbar.vue:435 src/page/library/errors.vue:193 msgid "Delete all?" msgstr "Изтриване на всички?" @@ -914,16 +940,16 @@ msgstr "Изтриване на всички?" msgid "Delete orphaned index entries, sidecar files and thumbnails." msgstr "Изтриване на осиротели записи в индекса, странични файлове и миниатюри." -#: src/component/album/edit/dialog.vue:107 src/page/albums.vue:411 +#: src/component/album/edit/dialog.vue:108 src/page/albums.vue:411 msgid "Description" msgstr "Описание" -#: src/component/settings/webdav.vue:115 +#: src/component/settings/webdav.vue:116 msgid "Detailed instructions can be found in our User Guide." msgstr "Подробни инструкции можете да намерите в нашето ръководство за потребителя." -#: src/component/photo/edit/dialog.vue:156 -#: src/component/photo/edit/dialog.vue:173 +#: src/component/photo/edit/dialog.vue:162 +#: src/component/photo/edit/dialog.vue:181 msgid "Details" msgstr "Подробности" @@ -987,8 +1013,8 @@ msgstr "Деактивира поддръжката на векторни гра msgid "Disables video transcoding and thumbnail extraction." msgstr "Деактивира транскодирането на видео и извличането на миниатюри." -#: src/app/routes.js:558 src/app/routes.js:565 src/app/routes.js:572 -#: src/app/routes.js:579 +#: src/app/routes.js:566 src/app/routes.js:573 src/app/routes.js:580 +#: src/app/routes.js:587 msgid "Discover" msgstr "Открийте" @@ -996,9 +1022,9 @@ msgstr "Открийте" msgid "Dismiss" msgstr "Отхвърляне на" -#: src/component/user/add/dialog.vue:133 src/component/user/add/dialog.vue:134 -#: src/component/user/edit/dialog.vue:163 -#: src/component/user/edit/dialog.vue:164 src/page/admin/users.vue:72 +#: src/component/user/add/dialog.vue:134 src/component/user/add/dialog.vue:135 +#: src/component/user/edit/dialog.vue:164 +#: src/component/user/edit/dialog.vue:165 src/page/admin/users.vue:74 #: src/page/settings/account.vue:149 src/page/settings/account.vue:151 msgid "Display Name" msgstr "Име на дисплея" @@ -1013,12 +1039,12 @@ msgstr "Показване на заглавия на снимки в резул #: src/component/photo/view/cards.vue:339 #: src/component/photo/view/cards.vue:521 -#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:174 +#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:176 #: src/options/options.js:309 msgid "Document" msgstr "Документ" -#: src/component/navigation.vue:480 +#: src/component/navigation.vue:482 msgid "Documents" msgstr "Документи" @@ -1034,16 +1060,16 @@ msgstr "Не използвайте ImageMagick за конвертиране н msgid "Don't use RawTherapee to convert RAW images." msgstr "Не използвайте RawTherapee за конвертиране на RAW изображения." -#: src/component/settings/apps.vue:238 src/component/share/dialog.vue:29 +#: src/component/settings/apps.vue:241 src/component/share/dialog.vue:29 msgid "Done" msgstr "Готово" -#: src/component/upload/dialog.vue:135 src/page/library/import.vue:46 +#: src/component/upload/dialog.vue:137 src/page/library/import.vue:46 #: src/page/library/index.vue:52 msgid "Done." msgstr "Изпълнено." -#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:118 +#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:123 #: src/component/file/clipboard.vue:48 src/component/lightbox.vue:1235 #: src/component/people/clipboard.vue:47 src/component/photo/clipboard.vue:116 #: src/component/photo/edit/files.vue:168 src/page/settings/content.vue:331 @@ -1055,7 +1081,7 @@ msgstr "Изтегляне" msgid "Download only original media files, without any automatically generated files." msgstr "Изтегляйте само оригинални мултимедийни файлове, без автоматично генерирани файлове." -#: src/component/service/edit.vue:237 +#: src/component/service/edit.vue:238 msgid "Download remote files" msgstr "Изтегляне на отдалечени файлове" @@ -1063,9 +1089,9 @@ msgstr "Изтегляне на отдалечени файлове" msgid "Download single files and zip archives." msgstr "Изтеглете единични файлове и архиви zip." -#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:157 +#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:172 #: src/component/file/clipboard.vue:61 src/component/label/clipboard.vue:86 -#: src/component/lightbox.vue:2021 src/component/people/clipboard.vue:59 +#: src/component/lightbox.vue:2041 src/component/people/clipboard.vue:59 #: src/component/photo/clipboard.vue:220 src/component/photo/edit/files.vue:119 #: src/component/photo/view/cards.vue:169 src/component/photo/view/list.vue:142 #: src/page/library/browse.vue:139 @@ -1080,7 +1106,7 @@ msgstr "Филтър за намаляване на мащаба" msgid "Drag and drop files here" msgstr "Влачете и пуснете файлове тук" -#: src/page/about/feedback.vue:61 +#: src/page/about/feedback.vue:62 msgid "Due to the high volume of emails we receive, our team may be unable to get back to you immediately." msgstr "Поради големия брой имейли, които получаваме, нашият екип може да не успее да ви отговори веднага." @@ -1100,23 +1126,23 @@ msgstr "Динамични прегледи" msgid "Dynamic Size Limit: %{n}px" msgstr "Ограничение на динамичния размер: %{n}px" -#: src/page/about/feedback.vue:141 src/page/about/feedback.vue:140 +#: src/page/about/feedback.vue:142 src/page/about/feedback.vue:141 msgid "E-Mail" msgstr "Електронна поща" -#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:89 +#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:94 #: src/component/lightbox.vue:1136 src/component/lightbox.vue:1137 #: src/component/photo/clipboard.vue:90 src/page/settings/general.vue:407 msgid "Edit" msgstr "Редактиране на" -#: src/component/album/edit/dialog.vue:54 -#: src/component/label/edit/dialog.vue:52 -#: src/component/people/edit/dialog.vue:52 +#: src/component/album/edit/dialog.vue:55 +#: src/component/label/edit/dialog.vue:53 +#: src/component/people/edit/dialog.vue:53 msgid "Edit %{s}" msgstr "Редактиране на %{s}" -#: src/component/user/edit/dialog.vue:61 src/component/service/edit.vue:79 +#: src/component/user/edit/dialog.vue:62 src/component/service/edit.vue:79 msgid "Edit Account" msgstr "Редактиране на акаунт" @@ -1128,8 +1154,8 @@ msgstr "Редактиране на снимка" msgid "Edited" msgstr "Редактиран" -#: src/component/user/add/dialog.vue:151 src/component/user/edit/dialog.vue:213 -#: src/page/settings/account.vue:171 src/page/settings/account.vue:593 +#: src/component/user/add/dialog.vue:152 src/component/user/edit/dialog.vue:214 +#: src/page/settings/account.vue:171 src/page/settings/account.vue:599 msgid "Email" msgstr "Имейл" @@ -1145,7 +1171,7 @@ msgstr "Разрешаване на нови функции, които може msgid "Enables RAW converter presets. May reduce performance." msgstr "Активира предварителните настройки на конвертора RAW. Може да намали производителността." -#: src/component/settings/passcode.vue:127 +#: src/component/settings/passcode.vue:130 msgid "Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account." msgstr "Активирането на двуфакторно удостоверяване означава, че ще ви трябва произволно генериран код за потвърждение, за да влезете, така че дори ако някой получи достъп до вашата парола, той няма да може да влезе в акаунта ви." @@ -1157,7 +1183,7 @@ msgstr "Въведете датата" msgid "Enter dates" msgstr "Въведете дати" -#: src/component/settings/passcode.vue:213 src/page/auth/login.vue:104 +#: src/component/settings/passcode.vue:216 src/page/auth/login.vue:104 msgid "Enter the code generated by your authenticator app:" msgstr "Въведете кода, генериран от приложението за удостоверяване:" @@ -1165,7 +1191,7 @@ msgstr "Въведете кода, генериран от приложение msgid "Enter verification code" msgstr "Въведете код за верификация" -#: src/component/settings/apps.vue:109 +#: src/component/settings/apps.vue:112 msgid "Enter your password to confirm the action and continue:" msgstr "Въведете паролата си, за да потвърдите действието и продължете:" @@ -1174,7 +1200,7 @@ msgstr "Въведете паролата си, за да потвърдите msgid "Error" msgstr "Грешка" -#: src/app/routes.js:374 src/component/navigation.vue:1348 +#: src/app/routes.js:382 src/component/navigation.vue:1372 msgid "Errors" msgstr "Грешки" @@ -1210,13 +1236,13 @@ msgstr "Извличането на метаданни с ExifTool е необх msgid "Experimental Features" msgstr "Експериментални функции" -#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:453 -#: src/component/service/edit.vue:157 src/component/settings/apps.vue:73 -#: src/component/settings/apps.vue:326 src/component/share/dialog.vue:62 +#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:458 +#: src/component/service/edit.vue:158 src/component/settings/apps.vue:73 +#: src/component/settings/apps.vue:329 src/component/share/dialog.vue:62 msgid "Expires" msgstr "Срокът на валидност изтича на" -#: src/component/photo/edit/details.vue:396 +#: src/component/photo/edit/details.vue:370 msgid "Exposure" msgstr "Експозиция" @@ -1224,7 +1250,7 @@ msgstr "Експозиция" msgid "Extract still images and generate thumbnails while indexing." msgstr "Извличане на неподвижни изображения и генериране на миниатюри по време на индексирането." -#: src/component/photo/edit/details.vue:444 +#: src/component/photo/edit/details.vue:418 msgid "F Number" msgstr "Номер F" @@ -1240,7 +1266,7 @@ msgstr "Лица" msgid "Failed removing link" msgstr "Неуспешно премахване на връзката" -#: src/page/connect.vue:106 src/page/connect.vue:110 +#: src/page/connect.vue:107 src/page/connect.vue:111 msgid "Failed to connect account." msgstr "Неуспешно свързване на акаунт." @@ -1248,8 +1274,8 @@ msgstr "Неуспешно свързване на акаунт." msgid "Failed updating link" msgstr "Неуспешно актуализиране на връзката" -#: src/component/user/edit/dialog.vue:143 -#: src/component/user/edit/dialog.vue:144 src/page/settings/account.vue:128 +#: src/component/user/edit/dialog.vue:144 +#: src/component/user/edit/dialog.vue:145 src/page/settings/account.vue:128 #: src/page/settings/account.vue:130 msgid "Family Name" msgstr "Фамилно име" @@ -1258,15 +1284,15 @@ msgstr "Фамилно име" msgid "Fast" msgstr "Бърз" -#: src/component/album/edit/dialog.vue:159 -#: src/component/label/edit/dialog.vue:85 -#: src/component/people/edit/dialog.vue:85 +#: src/component/album/edit/dialog.vue:160 +#: src/component/label/edit/dialog.vue:86 +#: src/component/people/edit/dialog.vue:86 #: src/component/photo/edit/info.vue:287 msgid "Favorite" msgstr "Любими" -#: src/app/routes.js:222 src/component/navigation.vue:893 -#: src/options/options.js:202 src/page/albums.vue:97 +#: src/app/routes.js:230 src/component/navigation.vue:903 +#: src/options/options.js:202 src/page/albums.vue:98 msgid "Favorites" msgstr "Любими" @@ -1274,7 +1300,7 @@ msgstr "Любими" msgid "Feature Request" msgstr "Заявка за функция" -#: src/component/navigation.vue:1456 +#: src/component/navigation.vue:1482 msgid "Feedback" msgstr "Обратна връзка" @@ -1282,11 +1308,12 @@ msgstr "Обратна връзка" msgid "Female" msgstr "Жена" -#: src/component/photo/edit/info.vue:214 src/model/file.js:290 +#: src/component/photo/edit/info.vue:57 src/component/photo/edit/info.vue:214 +#: src/model/file.js:290 msgid "File" msgstr "Файл" -#: src/app/routes.js:343 +#: src/app/routes.js:351 msgid "File Browser" msgstr "Файлов браузър" @@ -1309,8 +1336,8 @@ msgstr "Файл" msgid "Filename" msgstr "Файл" -#: src/component/navigation.vue:1930 src/component/photo/edit/dialog.vue:267 -#: src/component/photo/edit/dialog.vue:284 +#: src/component/navigation.vue:1973 src/component/photo/edit/dialog.vue:279 +#: src/component/photo/edit/dialog.vue:298 msgid "Files" msgstr "Файлове" @@ -1322,26 +1349,26 @@ msgstr "Файлове с последователни имена като 'IMG_ msgid "First page" msgstr "Първа страница" -#: src/component/photo/edit/details.vue:465 +#: src/component/photo/edit/details.vue:439 msgid "Focal Length" msgstr "Фокусно разстояние" -#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:118 -#: src/component/service/edit.vue:189 src/component/service/edit.vue:194 -#: src/component/service/upload.vue:90 src/component/service/upload.vue:96 +#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:119 +#: src/component/service/edit.vue:190 src/component/service/edit.vue:195 +#: src/component/service/upload.vue:91 src/component/service/upload.vue:97 #: src/model/folder.js:199 src/page/library/browse.vue:182 msgid "Folder" msgstr "Папка" -#: src/page/library/browse.vue:365 +#: src/page/library/browse.vue:367 msgid "Folder contains %{n} files" msgstr "Папката съдържа %{n} файлове" -#: src/page/library/browse.vue:356 +#: src/page/library/browse.vue:358 msgid "Folder is empty" msgstr "Папката е празна" -#: src/app/routes.js:202 src/component/navigation.vue:1225 +#: src/app/routes.js:210 src/component/navigation.vue:1247 #: src/options/options.js:207 msgid "Folders" msgstr "Папки" @@ -1358,7 +1385,7 @@ msgstr "Кадър в секунда" msgid "Frames" msgstr "Рамки" -#: src/options/auth.js:54 src/options/auth.js:64 +#: src/options/auth.js:55 src/options/auth.js:65 msgid "Full Access" msgstr "Пълен достъп" @@ -1370,7 +1397,7 @@ msgstr "Пълен екран" msgid "General" msgstr "Обща информация" -#: src/component/settings/apps.vue:364 +#: src/component/settings/apps.vue:367 msgid "Generate" msgstr "Генерирай" @@ -1390,8 +1417,8 @@ msgstr "Генериран" msgid "Get Started" msgstr "Започнете" -#: src/component/user/edit/dialog.vue:120 -#: src/component/user/edit/dialog.vue:121 src/page/settings/account.vue:106 +#: src/component/user/edit/dialog.vue:121 +#: src/component/user/edit/dialog.vue:122 src/page/settings/account.vue:106 #: src/page/settings/account.vue:108 msgid "Given Name" msgstr "Оригинално име" @@ -1416,7 +1443,7 @@ msgstr "Зелен" msgid "Grey" msgstr "Сив" -#: src/options/admin.js:22 src/options/auth.js:10 +#: src/options/admin.js:26 src/options/auth.js:11 msgid "Guest" msgstr "Гост" @@ -1432,15 +1459,15 @@ msgstr "Помощ" msgid "Help & Support" msgstr "Получаване на подкрепа" -#: src/component/navigation.vue:1327 src/component/people/edit/dialog.vue:98 +#: src/component/navigation.vue:1351 src/component/people/edit/dialog.vue:99 msgid "Hidden" msgstr "Скрит" -#: src/app/routes.js:358 +#: src/app/routes.js:366 msgid "Hidden Files" msgstr "Скрити файлове" -#: src/page/people/new.vue:165 src/page/people/recognized.vue:205 +#: src/page/people/new.vue:166 src/page/people/recognized.vue:206 msgid "Hide" msgstr "Скрий" @@ -1456,7 +1483,7 @@ msgstr "Висок" msgid "High Dynamic Range (HDR)" msgstr "Висок динамичен обхват (HDR)" -#: src/page/about/feedback.vue:103 +#: src/page/about/feedback.vue:104 msgid "How can we help?" msgstr "Как можем да помогнем?" @@ -1464,11 +1491,11 @@ msgstr "Как можем да помогнем?" msgid "Hybrid" msgstr "Хибрид" -#: src/component/settings/passcode.vue:389 +#: src/component/settings/passcode.vue:392 msgid "If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account." msgstr "Ако загубите достъп до приложението или устройството си за удостоверяване, можете да използвате своя код за възстановяване, за да си възвърнете достъпа до акаунта си." -#: src/component/photo/edit/info.vue:63 src/component/photo/edit/labels.vue:46 +#: src/component/photo/edit/info.vue:65 src/component/photo/edit/labels.vue:46 #: src/component/photo/view/cards.vue:532 src/model/file.js:218 #: src/options/options.js:281 msgid "Image" @@ -1478,7 +1505,7 @@ msgstr "Изображение" msgid "Image Quality" msgstr "Качество на изображението" -#: src/page/library.vue:46 src/page/library/import.vue:152 +#: src/page/library.vue:46 src/page/library/import.vue:153 #: src/page/settings/general.vue:357 msgid "Import" msgstr "Внос" @@ -1503,8 +1530,8 @@ msgstr "Импортиране на %{s}…" msgid "Importing files to originals…" msgstr "Импортиране на файлове в оригинали…" -#: src/component/photo/edit/files.vue:515 -#: src/component/photo/edit/files.vue:520 +#: src/component/photo/edit/files.vue:517 +#: src/component/photo/edit/files.vue:522 msgid "in" msgstr "в" @@ -1522,11 +1549,11 @@ msgstr "Включване на файлове с RAW изображения п msgid "Include sidecar files when downloading stacks and archives." msgstr "Включване на странични файлове при изтегляне на стекове и архиви." -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Increase storage size or delete files to continue." msgstr "Увеличете размера на паметта или изтрийте файловете, за да продължите." -#: src/component/navigation.vue:1946 src/page/library.vue:36 +#: src/component/navigation.vue:1990 src/page/library.vue:36 #: src/page/settings/content.vue:34 msgid "Index" msgstr "Индекс" @@ -1556,11 +1583,11 @@ msgstr "Информация" msgid "Instance ID" msgstr "Идентификатор на инстанцията" -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Insufficient storage." msgstr "Недостатъчно място за съхранение." -#: src/component/service/edit.vue:209 +#: src/component/service/edit.vue:210 msgid "Interval" msgstr "Интервал" @@ -1581,7 +1608,7 @@ msgstr "Невалиден адрес" msgid "Invalid country" msgstr "Невалидна държава" -#: src/component/photo/edit/details.vue:174 +#: src/component/photo/edit/details.vue:169 msgid "Invalid date" msgstr "Невалидна дата" @@ -1590,7 +1617,7 @@ msgstr "Невалидна дата" msgid "Invalid parameters" msgstr "Невалидна дата" -#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:197 +#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:199 msgid "Invalid photo selected" msgstr "Избрана е невалидна снимка" @@ -1602,8 +1629,8 @@ msgstr "Невалидно време" msgid "Invalid URL" msgstr "Невалиден URL адрес" -#: src/component/settings/passcode.vue:314 -#: src/component/settings/passcode.vue:391 +#: src/component/settings/passcode.vue:317 +#: src/component/settings/passcode.vue:394 msgid "It is a one-time use code that will disable 2FA for your account when you use it." msgstr "Това е код за еднократна употреба, който ще деактивира 2FA за вашия акаунт, когато го използвате." @@ -1627,7 +1654,7 @@ msgstr "Ограничение на размера на JPEG: %{n}px" msgid "JPEGs and thumbnails are automatically rendered as needed." msgstr "JPEG и миниатюрите се визуализират автоматично, когато е необходимо." -#: src/component/photo/edit/details.vue:581 +#: src/component/photo/edit/details.vue:555 msgid "Keywords" msgstr "Ключови думи" @@ -1636,9 +1663,9 @@ msgstr "Ключови думи" msgid "Label" msgstr "Етикет" -#: src/app/routes.js:389 src/component/navigation.vue:1177 -#: src/component/photo/edit/dialog.vue:188 -#: src/component/photo/edit/dialog.vue:205 src/options/options.js:206 +#: src/app/routes.js:397 src/component/navigation.vue:1197 +#: src/component/photo/edit/dialog.vue:196 +#: src/component/photo/edit/dialog.vue:215 src/options/options.js:206 #: src/page/settings/general.vue:255 msgid "Labels" msgstr "Етикети" @@ -1655,11 +1682,11 @@ msgstr "Lanczos: Запазване на детайлите, минимални msgid "Language" msgstr "Език" -#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:435 +#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:440 msgid "Last Active" msgstr "Последен активен" -#: src/page/admin/users.vue:81 +#: src/page/admin/users.vue:83 msgid "Last Login" msgstr "Последно влизане" @@ -1675,42 +1702,41 @@ msgstr "Синхронизиране" msgid "Last Used" msgstr "Последно използван" -#: src/component/photo/edit/details.vue:298 #: src/component/photo/edit/info.vue:373 msgid "Latitude" msgstr "Географска ширина" -#: src/options/admin.js:43 src/options/auth.js:29 +#: src/options/admin.js:47 src/options/auth.js:30 msgid "LDAP/AD" msgstr "LDAP/AD" -#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:86 -#: src/page/about/about.vue:62 src/page/about/about.vue:132 +#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:87 +#: src/page/about/about.vue:62 src/page/about/about.vue:133 #: src/page/connect.vue:67 src/page/help.vue:36 msgid "Learn more" msgstr "Научете повече" -#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:135 +#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:137 #: src/page/labels.vue:132 msgid "Learn More" msgstr "Научете повече" -#: src/component/navigation.vue:2017 +#: src/component/navigation.vue:2066 msgid "Legal Information" msgstr "Правна информация" -#: src/component/photo/edit/details.vue:417 +#: src/component/photo/edit/details.vue:391 #: src/component/photo/view/cards.vue:480 msgid "Lens" msgstr "Обектив" -#: src/app/routes.js:443 src/app/routes.js:459 src/app/routes.js:475 -#: src/component/navigation.vue:1267 src/page/settings/general.vue:507 +#: src/app/routes.js:451 src/app/routes.js:467 src/app/routes.js:483 +#: src/component/navigation.vue:1290 src/page/settings/general.vue:507 msgid "Library" msgstr "Библиотека" #: src/page/connect.vue:45 src/app/routes.js:69 -#: src/component/navigation.vue:1478 src/component/photo/edit/details.vue:559 +#: src/component/navigation.vue:1504 src/component/photo/edit/details.vue:533 #: src/page/about/license.vue:28 msgid "License" msgstr "Лиценз" @@ -1723,7 +1749,7 @@ msgstr "Като" msgid "Lime" msgstr "Lime" -#: src/page/library/browse.vue:369 +#: src/page/library/browse.vue:371 msgid "Limit reached, showing first %{n} files" msgstr "Лимитът е достигнат, показваме първите %{n} файлове" @@ -1731,7 +1757,7 @@ msgstr "Лимитът е достигнат, показваме първите msgid "Linear: Very Smooth, Best Performance" msgstr "Линейни: Много гладка, най-добра производителност" -#: src/model/link.js:117 src/options/auth.js:30 src/options/auth.js:31 +#: src/model/link.js:117 src/options/auth.js:31 src/options/auth.js:32 msgid "Link" msgstr "Връзка" @@ -1749,7 +1775,7 @@ msgstr "Преглед на списъка" msgid "Live" msgstr "На живо" -#: src/app/routes.js:236 src/component/navigation.vue:749 +#: src/app/routes.js:244 src/component/navigation.vue:755 msgid "Live Photos" msgstr "Снимки" @@ -1765,21 +1791,24 @@ msgstr "Зареждане на елементи..." msgid "Loading..." msgstr "Зареждане..." -#: src/options/admin.js:35 src/options/auth.js:22 src/options/auth.js:27 +#: src/options/admin.js:39 src/options/auth.js:23 src/options/auth.js:28 #: src/options/options.js:38 src/page/settings/general.vue:107 msgid "Local" msgstr "Местни" -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Local Time" msgstr "Местно време" -#: src/page/settings/account.vue:665 src/page/settings/account.vue:667 -#: src/component/album/edit/dialog.vue:92 src/component/photo/edit/info.vue:65 -#: src/component/photo/edit/labels.vue:48 +#: src/page/settings/account.vue:671 src/page/settings/account.vue:673 +#: src/component/album/edit/dialog.vue:93 +#: src/component/photo/edit/details.vue:38 +#: src/component/photo/edit/details.vue:116 +#: src/component/photo/edit/details.vue:210 +#: src/component/photo/edit/info.vue:67 src/component/photo/edit/labels.vue:48 #: src/component/photo/view/cards.vue:555 src/component/photo/view/list.vue:117 -#: src/component/sidebar/info.vue:107 src/page/albums.vue:99 -#: src/page/settings/account.vue:557 src/page/settings/account.vue:559 +#: src/component/sidebar/info.vue:107 src/page/albums.vue:100 +#: src/page/settings/account.vue:563 src/page/settings/account.vue:565 msgid "Location" msgstr "Местоположение" @@ -1787,20 +1816,19 @@ msgstr "Местоположение" msgid "Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues." msgstr "Съобщенията в дневника се появяват тук, когато PhotoPrism се натъкне на повредени файлове или има други потенциални проблеми." -#: src/component/navigation.vue:1552 src/component/navigation.vue:1840 +#: src/component/navigation.vue:1579 src/component/navigation.vue:1877 msgid "Login" msgstr "Вход" -#: src/component/navigation.vue:1759 +#: src/component/navigation.vue:1791 msgid "Logout" msgstr "Излизане от системата" -#: src/component/navigation.vue:1962 src/page/library.vue:59 +#: src/component/navigation.vue:2007 src/page/library.vue:59 #: src/page/settings/general.vue:557 msgid "Logs" msgstr "Дневници" -#: src/component/photo/edit/details.vue:324 #: src/component/photo/edit/info.vue:379 msgid "Longitude" msgstr "Дължина" @@ -1813,7 +1841,7 @@ msgstr "Нисък" msgid "Magenta" msgstr "Магента" -#: src/component/photo/edit/files.vue:489 +#: src/component/photo/edit/files.vue:491 msgid "Main Color" msgstr "Основен цвят" @@ -1821,12 +1849,16 @@ msgstr "Основен цвят" msgid "Male" msgstr "Мъжки" -#: src/page/connect.vue:164 src/page/connect.vue:246 -#: src/page/about/about.vue:171 src/page/connect.vue:168 -#: src/page/connect.vue:255 +#: src/page/connect.vue:165 src/page/connect.vue:248 +#: src/page/about/about.vue:173 src/page/connect.vue:169 +#: src/page/connect.vue:257 msgid "Manage Account" msgstr "Управление на акаунта" +#: src/options/admin.js:10 src/options/auth.js:7 +msgid "Manager" +msgstr "Мениджър" + #: src/component/photo/edit/info.vue:49 src/component/photo/edit/labels.vue:38 msgid "Manual" msgstr "Ръководство" @@ -1843,11 +1875,11 @@ msgstr "Карти" msgid "Marker" msgstr "Маркер" -#: src/component/user/add/dialog.vue:69 +#: src/component/user/add/dialog.vue:70 msgid "Maximum number of accounts has been reached." msgstr "Максималният брой акаунти е достигнат." -#: src/app/routes.js:229 src/component/navigation.vue:688 +#: src/app/routes.js:237 src/component/navigation.vue:693 #: src/options/options.js:199 msgid "Media" msgstr "Медии" @@ -1864,7 +1896,7 @@ msgstr "Членство" msgid "Merge %{a} with %{b}?" msgstr "Сливане на %{a} с %{b}?" -#: src/page/about/feedback.vue:102 +#: src/page/about/feedback.vue:103 msgid "Message" msgstr "Съобщение" @@ -1876,7 +1908,7 @@ msgstr "Изпратено съобщение" msgid "Metadata" msgstr "Метаданни" -#: src/options/auth.js:56 src/options/auth.js:72 +#: src/options/auth.js:57 src/options/auth.js:73 msgid "Metrics" msgstr "Метрика" @@ -1884,7 +1916,7 @@ msgstr "Метрика" msgid "Minimize" msgstr "Минимизиране на" -#: src/component/photo/edit/files.vue:509 src/component/photo/edit/info.vue:367 +#: src/component/photo/edit/files.vue:511 src/component/photo/edit/info.vue:367 msgid "Missing" msgstr "Липсващ" @@ -1892,17 +1924,17 @@ msgstr "Липсващ" msgid "Missing or invalid configuration" msgstr "Липсваща или невалидна конфигурация" -#: src/app/routes.js:163 src/component/navigation.vue:1129 +#: src/app/routes.js:171 src/component/navigation.vue:1147 #: src/options/options.js:205 src/page/settings/general.vue:230 msgid "Moments" msgstr "Моменти" -#: src/component/navigation.vue:383 +#: src/component/navigation.vue:385 msgid "Monochrome" msgstr "Монохромен" -#: src/page/settings/account.vue:475 src/component/photo/edit/details.vue:137 -#: src/component/photo/toolbar.vue:342 +#: src/page/settings/account.vue:481 src/component/photo/edit/details.vue:139 +#: src/component/photo/toolbar.vue:344 msgid "Month" msgstr "Месец" @@ -1922,7 +1954,7 @@ msgstr "Най-подходящи" msgid "Move Files" msgstr "Преместване на файлове" -#: src/component/settings/password.vue:107 +#: src/component/settings/password.vue:108 msgid "Must have at least %{n} characters." msgstr "Най-малко 6 символа." @@ -1930,20 +1962,20 @@ msgstr "Най-малко 6 символа." msgid "Mute" msgstr "Заглушаване на звука" -#: src/page/about/feedback.vue:121 src/page/about/feedback.vue:122 -#: src/component/album/edit/dialog.vue:77 -#: src/component/label/edit/dialog.vue:71 -#: src/component/people/edit/dialog.vue:71 -#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:57 +#: src/page/about/feedback.vue:122 src/page/about/feedback.vue:123 +#: src/component/album/edit/dialog.vue:78 +#: src/component/label/edit/dialog.vue:72 +#: src/component/people/edit/dialog.vue:72 +#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:59 #: src/component/photo/edit/info.vue:125 src/component/photo/edit/people.vue:36 -#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:310 -#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:286 -#: src/page/albums.vue:98 src/page/auth/login.vue:168 +#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:311 +#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:289 +#: src/page/albums.vue:99 src/page/auth/login.vue:168 #: src/page/people/new.vue:68 src/page/settings/services.vue:37 msgid "Name" msgstr "Име" -#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:60 +#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:65 #: src/component/label/edit/dialog.vue:19 #: src/component/people/edit/dialog.vue:19 #: src/component/photo/edit/labels.vue:30 @@ -1953,7 +1985,7 @@ msgstr "Име" msgid "Name too long" msgstr "Прекалено дълго име" -#: src/page/admin/users.vue:204 src/options/options.js:361 +#: src/page/admin/users.vue:206 src/options/options.js:361 #: src/options/options.js:371 src/page/settings/services.vue:75 msgid "Never" msgstr "Никога" @@ -1962,13 +1994,13 @@ msgstr "Никога" msgid "New" msgstr "Нов" -#: src/component/settings/password.vue:106 +#: src/component/settings/password.vue:107 msgid "New Password" msgstr "Нова парола" #: src/component/album/edit/dialog.vue:24 src/component/photo/toolbar.vue:114 #: src/component/photo/toolbar.vue:126 src/component/photo/toolbar.vue:136 -#: src/page/albums.vue:100 +#: src/page/albums.vue:101 msgid "Newest First" msgstr "Най-новият първи" @@ -1984,15 +2016,15 @@ msgstr "Следваща страница" msgid "Next visual" msgstr "Следваща визуална" -#: src/component/people/merge/dialog.vue:47 -#: src/component/photo/archive/dialog.vue:47 +#: src/component/people/merge/dialog.vue:48 +#: src/component/photo/archive/dialog.vue:48 #: src/component/photo/edit/info.vue:281 src/component/photo/edit/info.vue:297 #: src/component/photo/edit/info.vue:313 src/component/photo/edit/info.vue:329 #: src/component/photo/edit/info.vue:344 msgid "No" msgstr "Не" -#: src/page/albums.vue:607 src/page/albums.vue:282 +#: src/page/albums.vue:612 src/page/albums.vue:282 msgid "No albums found" msgstr "Не са намерени албуми" @@ -2000,7 +2032,7 @@ msgstr "Не са намерени албуми" msgid "No data available" msgstr "Няма налични данни" -#: src/page/labels.vue:523 src/page/labels.vue:155 +#: src/page/labels.vue:528 src/page/labels.vue:155 msgid "No labels found" msgstr "Не са намерени етикети" @@ -2013,15 +2045,15 @@ msgid "No more" msgstr "Не повече" #: src/component/photo/edit/people.vue:34 src/page/people/new.vue:346 -#: src/page/people/new.vue:443 src/page/people/new.vue:103 -#: src/page/people/recognized.vue:531 src/page/people/recognized.vue:146 +#: src/page/people/new.vue:446 src/page/people/new.vue:103 +#: src/page/people/recognized.vue:536 src/page/people/recognized.vue:146 msgid "No people found" msgstr "Не са намерени хора" #: src/component/lightbox.vue:365 src/component/photo/view/cards.vue:144 #: src/component/photo/view/list.vue:82 src/component/photo/view/mosaic.vue:68 -#: src/page/album/photos.vue:488 src/page/library/browse.vue:123 -#: src/page/photos.vue:626 src/page/places.vue:624 src/page/places.vue:730 +#: src/page/album/photos.vue:499 src/page/library/browse.vue:123 +#: src/page/photos.vue:636 src/page/places.vue:624 src/page/places.vue:730 msgid "No pictures found" msgstr "Не са намерени снимки" @@ -2030,7 +2062,11 @@ msgstr "Не са намерени снимки" msgid "No recently edited pictures" msgstr "Няма наскоро редактирани снимки" -#: src/component/navigation.vue:1655 +#: src/component/location/dialog.vue:166 +msgid "No results" +msgstr "Няма резултати" + +#: src/component/navigation.vue:1686 msgid "No server connection" msgstr "Няма връзка със сървъра" @@ -2042,7 +2078,7 @@ msgstr "Няма конфигурирани сървъри." msgid "No services configured." msgstr "Няма конфигурирани сървъри." -#: src/component/confirm/sponsor.vue:72 +#: src/component/confirm/sponsor.vue:73 msgid "No thanks" msgstr "Не, благодаря" @@ -2052,17 +2088,17 @@ msgstr "Няма предупреждения или грешки, съдърж #: src/component/photo/view/cards.vue:154 src/component/photo/view/list.vue:59 #: src/component/photo/view/list.vue:92 src/component/photo/view/mosaic.vue:78 -#: src/component/upload/dialog.vue:208 +#: src/component/upload/dialog.vue:210 msgid "Non-photographic and low-quality images require a review before they appear in search results." msgstr "Нефотографските изображения и изображенията с ниско качество изискват преглед, преди да се появят в резултатите от търсенето." -#: src/options/admin.js:47 src/options/auth.js:32 src/options/options.js:212 +#: src/options/admin.js:51 src/options/auth.js:33 src/options/options.js:212 #: src/options/options.js:328 msgid "None" msgstr "Няма" -#: src/common/util.js:853 src/component/lightbox.vue:633 -#: src/component/service/upload.vue:75 src/component/service/upload.vue:87 +#: src/component/lightbox.vue:633 src/component/service/upload.vue:75 +#: src/component/service/upload.vue:87 msgid "Not allowed" msgstr "Не е разрешено" @@ -2074,8 +2110,7 @@ msgstr "Не е намерен" msgid "Not sorted." msgstr "Не е сортирано." -#: src/common/util.js:858 src/component/lightbox.vue:627 -#: src/component/lightbox.vue:744 +#: src/component/lightbox.vue:627 src/component/lightbox.vue:744 msgid "Not supported" msgstr "Не се поддържа" @@ -2083,15 +2118,15 @@ msgstr "Не се поддържа" msgid "Note you may manually manage your originals folder and importing is optional." msgstr "Имайте предвид, че можете да управлявате ръчно папката с оригинали, а импортирането не е задължително." -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "Note:" msgstr "Забележка:" -#: src/component/service/add.vue:120 +#: src/component/service/add.vue:121 msgid "Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload." msgstr "Забележка: Само WebDAV сървъри, като Nextcloud или PhotoPrism, могат да бъдат конфигурирани като отдалечена услуга за архивиране и качване на файлове." -#: src/component/photo/edit/details.vue:603 +#: src/component/photo/edit/details.vue:577 msgid "Notes" msgstr "Бележки" @@ -2099,8 +2134,8 @@ msgstr "Бележки" msgid "Nothing to see here yet." msgstr "Все още няма нищо за гледане тук. Бъдете търпеливи." -#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:115 -#: src/component/settings/apps.vue:390 +#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:125 +#: src/component/settings/apps.vue:393 msgid "Nothing was found." msgstr "Нищо не беше намерено." @@ -2108,7 +2143,7 @@ msgstr "Нищо не беше намерено." msgid "Offline" msgstr "Офлайн" -#: src/options/admin.js:39 src/options/auth.js:28 +#: src/options/admin.js:43 src/options/auth.js:29 msgid "OIDC" msgstr "OIDC" @@ -2118,11 +2153,11 @@ msgstr "ОК" #: src/component/album/edit/dialog.vue:25 src/component/photo/toolbar.vue:115 #: src/component/photo/toolbar.vue:127 src/component/photo/toolbar.vue:137 -#: src/page/albums.vue:101 +#: src/page/albums.vue:102 msgid "Oldest First" msgstr "Най-старият първи" -#: src/component/settings/webdav.vue:77 +#: src/component/settings/webdav.vue:78 msgid "On Windows, enter the following resource in the connection dialog:" msgstr "В Windows въведете следния ресурс в диалоговия прозорец за връзка:" @@ -2134,11 +2169,11 @@ msgstr "Генерирането на миниатюри при поискван msgid "Once a week" msgstr "Веднъж седмично" -#: src/page/albums.vue:609 +#: src/page/albums.vue:614 msgid "One album found" msgstr "Намерен е един албум" -#: src/page/library/browse.vue:358 +#: src/page/library/browse.vue:360 msgid "One file found" msgstr "Намерен е един файл" @@ -2146,24 +2181,24 @@ msgstr "Намерен е един файл" msgid "One file uploaded" msgstr "Качен е един файл" -#: src/page/library/browse.vue:360 +#: src/page/library/browse.vue:362 msgid "One folder found" msgstr "Намерена е една папка" -#: src/page/labels.vue:525 +#: src/page/labels.vue:530 msgid "One label found" msgstr "Намерен е един етикет" -#: src/page/people/new.vue:348 src/page/people/new.vue:445 -#: src/page/people/recognized.vue:533 +#: src/page/people/new.vue:348 src/page/people/new.vue:448 +#: src/page/people/recognized.vue:538 msgid "One person found" msgstr "Един човек намери" -#: src/page/album/photos.vue:490 src/page/photos.vue:628 +#: src/page/album/photos.vue:501 src/page/photos.vue:638 msgid "One picture found" msgstr "Една намерена снимка" -#: src/component/settings/passcode.vue:478 +#: src/component/settings/passcode.vue:481 msgid "Only locally managed accounts can be set up for authentication with 2FA." msgstr "Само локално управлявани акаунти могат да бъдат настроени за удостоверяване с 2FA." @@ -2171,7 +2206,7 @@ msgstr "Само локално управлявани акаунти могат msgid "Open" msgstr "Отворете" -#: src/component/service/add.vue:86 src/component/service/add.vue:107 +#: src/component/service/add.vue:87 src/component/service/add.vue:108 msgid "optional" msgstr "по избор" @@ -2183,7 +2218,7 @@ msgstr "или" msgid "Orange" msgstr "Orange" -#: src/page/settings/account.vue:571 src/page/settings/account.vue:573 +#: src/page/settings/account.vue:577 src/page/settings/account.vue:579 msgid "Organization" msgstr "Ориентация" @@ -2199,7 +2234,7 @@ msgstr "Оригиналните имена на файловете ще бъд msgid "Original Name" msgstr "Оригинално име" -#: src/component/navigation.vue:1304 src/model/file.js:196 +#: src/component/navigation.vue:1328 src/model/file.js:196 #: src/options/options.js:413 src/page/library/browse.vue:65 #: src/page/settings/content.vue:356 src/page/settings/general.vue:532 msgid "Originals" @@ -2210,7 +2245,7 @@ msgstr "Оригинали" msgid "Other" msgstr "Други" -#: src/page/about/about.vue:77 src/page/about/about.vue:83 +#: src/page/about/about.vue:78 src/page/about/about.vue:84 msgid "Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible." msgstr "Нашата мисия е да предоставим най-удобното за потребителя и поверителността решение за организиране и достъп до вашите снимки." @@ -2222,7 +2257,7 @@ msgstr "На открито" msgid "Page {0}, Current page" msgstr "Страница {0}, Текуща страница" -#: src/component/photo/edit/files.vue:352 src/model/photo.js:859 +#: src/component/photo/edit/files.vue:352 src/model/photo.js:896 msgid "Pages" msgstr "Страници" @@ -2234,15 +2269,15 @@ msgstr "Навигация по страници" msgid "Panorama" msgstr "Панорама" -#: src/component/navigation.vue:402 +#: src/component/navigation.vue:404 msgid "Panoramas" msgstr "Панорами" -#: src/component/user/add/dialog.vue:114 src/component/user/add/dialog.vue:115 -#: src/component/service/add.vue:106 src/component/service/edit.vue:352 -#: src/component/settings/apps.vue:121 src/component/settings/passcode.vue:106 -#: src/component/settings/passcode.vue:413 src/component/share/dialog.vue:27 -#: src/options/auth.js:91 src/page/auth/login.vue:196 +#: src/component/user/add/dialog.vue:115 src/component/user/add/dialog.vue:116 +#: src/component/service/add.vue:107 src/component/service/edit.vue:353 +#: src/component/settings/apps.vue:124 src/component/settings/passcode.vue:109 +#: src/component/settings/passcode.vue:416 src/component/share/dialog.vue:27 +#: src/options/auth.js:92 src/page/auth/login.vue:196 msgid "Password" msgstr "Парола" @@ -2250,9 +2285,9 @@ msgstr "Парола" msgid "Password changed" msgstr "Паролата е променена" -#: src/app/routes.js:404 src/app/routes.js:428 src/component/navigation.vue:845 -#: src/component/navigation.vue:1898 src/component/photo/edit/dialog.vue:228 -#: src/component/photo/edit/dialog.vue:245 src/options/options.js:201 +#: src/app/routes.js:412 src/app/routes.js:436 src/component/navigation.vue:853 +#: src/component/navigation.vue:1939 src/component/photo/edit/dialog.vue:238 +#: src/component/photo/edit/dialog.vue:257 src/options/options.js:201 #: src/page/settings/general.vue:180 msgid "People" msgstr "Хора" @@ -2273,23 +2308,23 @@ msgstr "Постоянно премахване на файлове, за да msgid "Person" msgstr "Лице" -#: src/options/auth.js:42 +#: src/options/auth.js:43 msgid "Personal" msgstr "Лични" -#: src/model/photo.js:1273 +#: src/model/photo.js:1310 msgid "Photo" msgstr "Снимка" -#: src/page/about/about.vue:156 +#: src/page/about/about.vue:158 msgid "PhotoPrism is 100% self-funded and independent." msgstr "PhotoPrism е 100% независима и самофинансираща се компания." -#: src/page/about/about.vue:92 +#: src/page/about/about.vue:93 msgid "PhotoPrism+ Membership" msgstr "Членство в PhotoPrism+" -#: src/app/routes.js:156 +#: src/app/routes.js:164 msgid "Photos" msgstr "Снимки" @@ -2310,27 +2345,27 @@ msgstr "Място" msgid "Place & Time" msgstr "Място & Време" -#: src/app/routes.js:303 src/app/routes.js:309 src/app/routes.js:315 -#: src/app/routes.js:330 src/component/navigation.vue:986 -#: src/component/navigation.vue:1914 src/options/options.js:203 +#: src/app/routes.js:311 src/app/routes.js:317 src/app/routes.js:323 +#: src/app/routes.js:338 src/component/navigation.vue:999 +#: src/component/navigation.vue:1956 src/options/options.js:203 #: src/page/places.vue:51 src/page/settings/general.vue:609 #: src/page/settings/general.vue:638 msgid "Places" msgstr "Места" -#: src/component/settings/password.vue:129 +#: src/component/settings/password.vue:130 msgid "Please confirm your new password." msgstr "Моля, потвърдете новата си парола." -#: src/component/settings/apps.vue:185 +#: src/component/settings/apps.vue:188 msgid "Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:" msgstr "Моля, копирайте следната произволно генерирана парола за приложение и я запазете на сигурно място, тъй като няма да можете да я видите отново:" -#: src/component/upload/dialog.vue:203 +#: src/component/upload/dialog.vue:205 msgid "Please do not upload any private, unlawful or offensive pictures." msgstr "Моля, не качвайте лични, незаконни или обидни снимки." -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Please don't upload photos containing offensive content." msgstr "Моля, не качвайте снимки с обидно съдържание." @@ -2338,11 +2373,11 @@ msgstr "Моля, не качвайте снимки с обидно съдър msgid "Please enter OTP character {0}" msgstr "Моля, въведете OTP символ {0}" -#: src/component/settings/password.vue:66 +#: src/component/settings/password.vue:67 msgid "Please note that changing your password will log you out on other devices and browsers." msgstr "Моля, имайте предвид, че промяната на паролата ви ще доведе до излизане от системата на други устройства и браузъри." -#: src/page/connect.vue:148 src/page/connect.vue:152 +#: src/page/connect.vue:149 src/page/connect.vue:153 msgid "Please restart your instance for the changes to take effect." msgstr "Моля, рестартирайте инстанцията си, за да влязат в сила промените." @@ -2362,11 +2397,11 @@ msgstr "Ограничение на размера на PNG: %{n}px" msgid "Portrait" msgstr "Портрет" -#: src/component/service/edit.vue:273 +#: src/component/service/edit.vue:274 msgid "Preserve filenames" msgstr "Запазване на имената на файловете" -#: src/component/upload/dialog.vue:162 +#: src/component/upload/dialog.vue:164 msgid "Press enter to create a new album." msgstr "Натиснете Enter, за да създадете нов албум." @@ -2403,8 +2438,8 @@ msgstr "Предишна визуална" msgid "Primary" msgstr "Първичен" -#: src/app/routes.js:271 src/component/album/edit/dialog.vue:176 -#: src/component/navigation.vue:531 src/component/photo/edit/info.vue:303 +#: src/app/routes.js:279 src/component/album/edit/dialog.vue:177 +#: src/component/navigation.vue:533 src/component/photo/edit/info.vue:303 #: src/page/settings/general.vue:280 msgid "Private" msgstr "Частна" @@ -2429,7 +2464,7 @@ msgstr "Филтър за качество" msgid "Quality Score" msgstr "Оценка на качеството" -#: src/page/admin/users.vue:169 +#: src/page/admin/users.vue:171 msgid "r" msgstr "r" @@ -2460,7 +2495,7 @@ msgstr "Режим само за четене" #: src/component/album/edit/dialog.vue:26 src/component/photo/toolbar.vue:116 #: src/component/photo/toolbar.vue:128 src/component/photo/toolbar.vue:138 -#: src/page/albums.vue:102 +#: src/page/albums.vue:103 msgid "Recently Added" msgstr "Наскоро добавени" @@ -2468,7 +2503,7 @@ msgstr "Наскоро добавени" msgid "Recently Archived" msgstr "Наскоро архивирани" -#: src/component/photo/toolbar.vue:139 src/page/albums.vue:103 +#: src/component/photo/toolbar.vue:139 src/page/albums.vue:104 msgid "Recently Edited" msgstr "Наскоро редактирани" @@ -2493,24 +2528,24 @@ msgstr "Код за възстановяване" msgid "Red" msgstr "Червено" -#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:126 -#: src/component/album/toolbar.vue:79 src/component/photo/toolbar.vue:169 -#: src/page/albums.vue:173 src/page/labels.vue:112 +#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:128 +#: src/component/album/toolbar.vue:84 src/component/photo/toolbar.vue:169 +#: src/page/albums.vue:175 src/page/labels.vue:112 #: src/page/library/browse.vue:90 src/page/library/errors.vue:81 #: src/page/people/new.vue:54 src/page/people/recognized.vue:88 msgid "Refresh" msgstr "Обновяване" -#: src/app/routes.js:337 src/component/navigation.vue:943 -#: src/component/navigation.vue:1026 +#: src/app/routes.js:345 src/component/navigation.vue:955 +#: src/component/navigation.vue:1040 msgid "Regions" msgstr "Региони" -#: src/page/connect.vue:275 src/page/connect.vue:284 +#: src/page/connect.vue:277 src/page/connect.vue:286 msgid "Register" msgstr "Регистрация" -#: src/component/navigation.vue:1773 src/component/update.vue:68 +#: src/component/navigation.vue:1806 src/component/update.vue:68 msgid "Reload" msgstr "Презареждане" @@ -2555,34 +2590,34 @@ msgstr "Изискване за преглед на нефотографски msgid "Resolution" msgstr "Резолюция" -#: src/page/connect.vue:179 src/page/connect.vue:183 +#: src/page/connect.vue:180 src/page/connect.vue:184 #: src/page/settings/advanced.vue:782 msgid "Restart" msgstr "Рестартиране на" -#: src/component/user/edit/dialog.vue:485 src/component/lightbox.vue:1221 +#: src/component/user/edit/dialog.vue:488 src/component/lightbox.vue:1221 #: src/component/photo/clipboard.vue:77 msgid "Restore" msgstr "Възстановяване на" -#: src/component/lightbox.vue:2000 +#: src/component/lightbox.vue:2020 msgid "Restored" msgstr "Възстановен" -#: src/component/service/edit.vue:428 +#: src/component/service/edit.vue:429 msgid "Retry Limit" msgstr "Лимит на повторенията" -#: src/component/settings/password.vue:128 +#: src/component/settings/password.vue:129 msgid "Retype Password" msgstr "Повторно въвеждане на паролата" -#: src/app/routes.js:264 src/component/navigation.vue:505 +#: src/app/routes.js:272 src/component/navigation.vue:507 msgid "Review" msgstr "Преглед на" -#: src/component/user/add/dialog.vue:171 src/component/user/edit/dialog.vue:284 -#: src/page/admin/sessions.vue:262 src/page/admin/users.vue:73 +#: src/component/user/add/dialog.vue:172 src/component/user/edit/dialog.vue:285 +#: src/page/admin/sessions.vue:263 src/page/admin/users.vue:75 msgid "Role" msgstr "Роля" @@ -2594,11 +2629,11 @@ msgstr "Редове на страница:" msgid "Satellite" msgstr "Сателит" -#: src/component/user/edit/dialog.vue:485 -#: src/component/album/edit/dialog.vue:211 -#: src/component/label/edit/dialog.vue:119 -#: src/component/people/edit/dialog.vue:132 src/component/service/edit.vue:466 -#: src/component/settings/password.vue:172 src/component/share/dialog.vue:181 +#: src/component/user/edit/dialog.vue:488 +#: src/component/album/edit/dialog.vue:212 +#: src/component/label/edit/dialog.vue:120 +#: src/component/people/edit/dialog.vue:133 src/component/service/edit.vue:467 +#: src/component/settings/password.vue:173 src/component/share/dialog.vue:181 msgid "Save" msgstr "Запазете" @@ -2606,23 +2641,23 @@ msgstr "Запазете" msgid "Scan" msgstr "Сканиране" -#: src/component/settings/passcode.vue:179 +#: src/component/settings/passcode.vue:182 msgid "Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:" msgstr "Сканирайте QR кода с вашето приложение за удостоверяване или използвайте ключа за настройка, показан по-долу, и след това въведете генерирания код за потвърждение:" -#: src/component/navigation.vue:461 +#: src/component/navigation.vue:463 msgid "Scans" msgstr "Сканиране" -#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:377 -#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:310 +#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:381 +#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:313 msgid "Scope" msgstr "Обхват" -#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:62 -#: src/component/navigation.vue:342 src/component/navigation.vue:1866 -#: src/component/photo/toolbar.vue:57 src/options/options.js:197 -#: src/page/albums.vue:100 src/page/labels.vue:77 +#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:69 +#: src/component/location/dialog.vue:133 src/component/navigation.vue:343 +#: src/component/navigation.vue:1905 src/component/photo/toolbar.vue:57 +#: src/options/options.js:197 src/page/albums.vue:100 src/page/labels.vue:77 #: src/page/library/errors.vue:76 src/page/people/recognized.vue:66 #: src/page/places.vue:79 src/page/settings/content.vue:235 msgid "Search" @@ -2660,11 +2695,11 @@ msgstr "Изберете дата" msgid "Select dates" msgstr "Изберете дати" -#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:154 +#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:156 msgid "Select or create an album" msgstr "Изберете или създайте албум" -#: src/component/upload/dialog.vue:138 +#: src/component/upload/dialog.vue:140 msgid "Select the files to upload…" msgstr "Изберете файловете, които да качите…" @@ -2692,7 +2727,7 @@ msgstr "Възстановена селекция" msgid "Sequential Name" msgstr "Последователно име" -#: src/component/service/add.vue:67 src/component/service/edit.vue:322 +#: src/component/service/add.vue:68 src/component/service/edit.vue:323 #: src/component/share/dialog.vue:25 msgid "Service URL" msgstr "URL адрес на услугата" @@ -2701,7 +2736,7 @@ msgstr "URL адрес на услугата" msgid "Services" msgstr "URL адрес на услугата" -#: src/model/session.js:107 src/options/auth.js:41 src/options/auth.js:90 +#: src/model/session.js:107 src/options/auth.js:42 src/options/auth.js:91 msgid "Session" msgstr "Сесия" @@ -2709,7 +2744,7 @@ msgstr "Сесия" msgid "Session ID" msgstr "Идентификатор на сесията" -#: src/page/admin.vue:45 +#: src/page/admin.vue:44 msgid "Sessions" msgstr "Сесии" @@ -2717,22 +2752,22 @@ msgstr "Сесии" msgid "Set as Album Cover" msgstr "Задайте като корица на албум" -#: src/app/routes.js:101 src/app/routes.js:492 src/app/routes.js:504 -#: src/app/routes.js:521 src/app/routes.js:534 src/app/routes.js:547 -#: src/component/navigation.vue:1394 src/component/navigation.vue:1806 +#: src/app/routes.js:101 src/app/routes.js:500 src/app/routes.js:512 +#: src/app/routes.js:529 src/app/routes.js:542 src/app/routes.js:555 +#: src/component/navigation.vue:1419 src/component/navigation.vue:1841 msgid "Settings" msgstr "Настройки" #: src/page/settings/account.vue:115 src/page/settings/account.vue:144 -#: src/component/settings/passcode.vue:147 +#: src/component/settings/passcode.vue:151 msgid "Settings saved" msgstr "Запазени настройки" -#: src/component/service/upload.vue:131 src/component/settings/passcode.vue:160 +#: src/component/service/upload.vue:132 src/component/settings/passcode.vue:163 msgid "Setup" msgstr "Настройка" -#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:98 +#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:103 #: src/component/photo/clipboard.vue:51 src/page/settings/general.vue:382 msgid "Share" msgstr "Споделете" @@ -2749,7 +2784,7 @@ msgstr "Споделяйте снимките си с други приложе msgid "Show" msgstr "Покажи" -#: src/page/people/new.vue:116 src/page/people/new.vue:233 +#: src/page/people/new.vue:116 src/page/people/new.vue:235 msgid "Show all new faces" msgstr "Покажи всички нови лица" @@ -2794,7 +2829,7 @@ msgid "Similar" msgstr "Подобни" #: src/component/photo/edit/files.vue:51 src/component/photo/edit/files.vue:341 -#: src/component/service/edit.vue:139 src/component/sidebar/info.vue:96 +#: src/component/service/edit.vue:140 src/component/sidebar/info.vue:96 msgid "Size" msgstr "Размер" @@ -2822,7 +2857,7 @@ msgstr "Нещо се е объркало, опитайте отново" msgid "Sort by" msgstr "Сортиране по" -#: src/component/album/edit/dialog.vue:142 src/component/photo/toolbar.vue:288 +#: src/component/album/edit/dialog.vue:143 src/component/photo/toolbar.vue:290 #: src/page/albums.vue:214 msgid "Sort Order" msgstr "Ред на сортиране" @@ -2857,7 +2892,7 @@ msgstr "Подреждайте снимки, направени по едно и msgid "Stackable" msgstr "Подвижен за стифиране" -#: src/component/navigation.vue:421 src/page/settings/content.vue:136 +#: src/component/navigation.vue:423 src/page/settings/content.vue:136 msgid "Stacks" msgstr "Stacks" @@ -2885,16 +2920,16 @@ msgstr "Папка за съхранение" msgid "Streets" msgstr "Улици" -#: src/component/photo/edit/details.vue:494 +#: src/component/photo/edit/details.vue:468 #: src/component/photo/edit/labels.vue:44 msgid "Subject" msgstr "Тема" -#: src/page/about/feedback.vue:162 src/page/about/feedback.vue:163 +#: src/page/about/feedback.vue:163 src/page/about/feedback.vue:164 msgid "Submit" msgstr "Подаване на" -#: src/component/settings/passcode.vue:132 +#: src/component/settings/passcode.vue:136 msgid "Successfully activated" msgstr "Успешно активиран" @@ -2903,23 +2938,23 @@ msgid "Successfully Connected" msgstr "Успешно свързване" #: src/component/session/remove/dialog.vue:32 -#: src/component/settings/apps.vue:218 +#: src/component/settings/apps.vue:222 msgid "Successfully deleted" msgstr "Успешно изтрит" -#: src/component/settings/passcode.vue:107 +#: src/component/settings/passcode.vue:108 msgid "Successfully verified" msgstr "Успешно потвърдено" -#: src/component/user/edit/dialog.vue:398 src/page/admin/users.vue:163 +#: src/component/user/edit/dialog.vue:399 src/page/admin/users.vue:165 msgid "Super Admin" msgstr "Супер администратор" -#: src/component/service/add.vue:122 +#: src/component/service/add.vue:123 msgid "Support for additional services, like Google Drive, will be added over time." msgstr "Поддръжката на допълнителни услуги, като например Google Drive, ще бъде добавена с течение на времето." -#: src/component/confirm/sponsor.vue:37 src/component/navigation.vue:1629 +#: src/component/confirm/sponsor.vue:38 src/component/navigation.vue:1660 msgid "Support Our Mission" msgstr "Подкрепете нашата мисия" @@ -2927,7 +2962,7 @@ msgstr "Подкрепете нашата мисия" msgid "Sync" msgstr "Синхронизиране" -#: src/component/service/edit.vue:289 +#: src/component/service/edit.vue:290 msgid "Sync raw and video files" msgstr "Синхронизиране на необработени и видеофайлове" @@ -2953,23 +2988,23 @@ msgstr "Терен" msgid "Text" msgstr "Текст" -#: src/component/photo/edit/details.vue:32 src/page/people/new.vue:71 +#: src/component/photo/edit/details.vue:40 src/page/people/new.vue:71 msgid "Text too long" msgstr "Твърде дълъг текст" -#: src/page/about/about.vue:145 +#: src/page/about/about.vue:146 msgid "Thank You for Your Support!" msgstr "Благодарим ви за подкрепата!" -#: src/page/about/about.vue:79 src/page/about/about.vue:85 +#: src/page/about/about.vue:80 src/page/about/about.vue:86 msgid "That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality." msgstr "Ето защо PhotoPrism е създадена от самото начало, за да работи навсякъде, където ви е необходима, без да прави компромиси със свободата, поверителността или функционалността." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "The index currently contains %{n} hidden files." msgstr "Индексът в момента съдържа %{n} скрити файлове." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates." msgstr "Възможно е техният формат да не се поддържа, да не са били конвертирани в JPEG или да има дубликати." @@ -2984,44 +3019,44 @@ msgstr "Тема" msgid "This field is required" msgstr "Това поле е задължително" -#: src/component/settings/webdav.vue:100 src/page/settings/services.vue:144 +#: src/component/settings/webdav.vue:101 src/page/settings/services.vue:147 msgid "This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local." msgstr "Това монтира папката с оригинали като мрежово устройство и ви позволява да отваряте, редактирате и изтривате файлове от компютъра или смартфона си, сякаш са локални." -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Time UTC" msgstr "Време UTC" -#: src/component/photo/edit/details.vue:219 src/page/settings/general.vue:108 +#: src/component/photo/edit/details.vue:221 src/page/settings/general.vue:108 msgid "Time Zone" msgstr "Часова зона" -#: src/component/service/edit.vue:408 +#: src/component/service/edit.vue:409 msgid "Timeout" msgstr "Часова зона" -#: src/component/user/edit/dialog.vue:98 src/component/user/edit/dialog.vue:99 +#: src/component/user/edit/dialog.vue:99 src/component/user/edit/dialog.vue:100 #: src/page/settings/account.vue:84 src/page/settings/account.vue:86 msgctxt "Account" msgid "Title" msgstr "Заглавие" -#: src/component/photo/edit/details.vue:73 +#: src/component/photo/edit/details.vue:75 msgctxt "Photo" msgid "Title" msgstr "Заглавие" -#: src/component/photo/edit/info.vue:59 src/component/photo/edit/info.vue:155 +#: src/component/photo/edit/info.vue:61 src/component/photo/edit/info.vue:155 #: src/component/photo/edit/labels.vue:40 src/component/photo/view/list.vue:114 #: src/component/sidebar/info.vue:57 msgid "Title" msgstr "Заглавие" -#: src/page/settings/account.vue:553 src/page/settings/account.vue:555 +#: src/page/settings/account.vue:559 src/page/settings/account.vue:561 msgid "Title / Position" msgstr "Твърде дълго заглавие" -#: src/page/albums.vue:83 +#: src/page/albums.vue:84 msgid "Title too long" msgstr "Твърде дълго заглавие" @@ -3029,19 +3064,19 @@ msgstr "Твърде дълго заглавие" msgid "to" msgstr "към" -#: src/component/settings/passcode.vue:312 +#: src/component/settings/passcode.vue:315 msgid "To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place." msgstr "За да избегнете изключване на вашия акаунт, моля, изтеглете, отпечатайте или копирайте този код за възстановяване сега и го запазете на сигурно място." -#: src/component/settings/apps.vue:272 +#: src/component/settings/apps.vue:275 msgid "To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:" msgstr "За да генерирате нова парола за конкретно приложение, моля, въведете името и обхвата на разрешението на приложението и изберете дата на изтичане:" -#: src/component/settings/passcode.vue:400 +#: src/component/settings/passcode.vue:403 msgid "To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:" msgstr "За да превключите към ново приложение или устройство за удостоверяване, първо деактивирайте двуфакторното удостоверяване и след това го активирайте отново:" -#: src/page/connect.vue:221 src/page/connect.vue:230 +#: src/page/connect.vue:223 src/page/connect.vue:232 msgid "To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:" msgstr "За да надстроите, можете да въведете код за активиране или да кликнете върху \"Регистрация\", за да се регистрирате на нашия уебсайт:" @@ -3049,7 +3084,7 @@ msgstr "За да надстроите, можете да въведете ко msgid "Today" msgstr "Днес" -#: src/component/album/toolbar.vue:70 src/component/photo/toolbar.vue:78 +#: src/component/album/toolbar.vue:71 src/component/photo/toolbar.vue:78 msgid "Toggle View" msgstr "Превключване на изгледа" @@ -3076,20 +3111,24 @@ msgstr "Отстраняване на неизправности" msgid "Try again using other filters or keywords." msgstr "Опитайте отново, като използвате други филтри или ключови думи." -#: src/component/settings/passcode.vue:380 +#: src/component/settings/passcode.vue:383 msgid "Two-factor authentication has been enabled for your account." msgstr "Двуфакторното удостоверяване е активирано за вашия акаунт." #: src/component/photo/edit/files.vue:58 src/component/photo/edit/files.vue:330 -#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:388 +#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:389 msgid "Type" msgstr "Тип" -#: src/options/auth.js:13 +#: src/component/album/toolbar.vue:178 +msgid "Unable to delete" +msgstr "Невъзможно е да се изтрие" + +#: src/options/auth.js:14 msgid "Unauthorized" msgstr "Неоторизиран" -#: src/component/photo/edit/people.vue:94 +#: src/component/photo/edit/people.vue:95 msgid "Undo" msgstr "Отмяна на" @@ -3097,16 +3136,16 @@ msgstr "Отмяна на" msgid "Unique ID" msgstr "Уникален идентификатор" -#: src/page/settings/account.vue:451 src/page/settings/account.vue:476 -#: src/page/settings/account.vue:501 src/common/util.js:487 -#: src/component/photo/edit/details.vue:21 -#: src/component/photo/edit/details.vue:111 -#: src/component/photo/edit/details.vue:138 -#: src/component/photo/edit/details.vue:164 src/component/sidebar/info.vue:43 -#: src/model/album.js:193 src/model/photo.js:323 src/model/photo.js:784 -#: src/model/photo.js:809 src/model/photo.js:832 src/model/photo.js:850 -#: src/model/photo.js:897 src/model/photo.js:905 src/model/photo.js:994 -#: src/model/photo.js:1016 src/model/photo.js:1061 src/model/photo.js:1074 +#: src/page/settings/account.vue:457 src/page/settings/account.vue:482 +#: src/page/settings/account.vue:507 src/common/util.js:488 +#: src/component/photo/edit/details.vue:27 +#: src/component/photo/edit/details.vue:113 +#: src/component/photo/edit/details.vue:140 +#: src/component/photo/edit/details.vue:166 src/component/sidebar/info.vue:43 +#: src/model/album.js:193 src/model/photo.js:331 src/model/photo.js:821 +#: src/model/photo.js:846 src/model/photo.js:869 src/model/photo.js:887 +#: src/model/photo.js:934 src/model/photo.js:942 src/model/photo.js:1031 +#: src/model/photo.js:1053 src/model/photo.js:1098 src/model/photo.js:1111 #: src/model/user.js:157 src/options/options.js:51 src/options/options.js:69 #: src/options/options.js:86 src/options/options.js:100 #: src/options/options.js:112 src/page/library/errors.vue:251 @@ -3119,7 +3158,7 @@ msgstr "Неизвестно" msgid "Unregistered" msgstr "Нерегистриран" -#: src/app/routes.js:215 src/component/navigation.vue:644 +#: src/app/routes.js:223 src/component/navigation.vue:648 msgid "Unsorted" msgstr "Несортиран" @@ -3127,7 +3166,7 @@ msgstr "Несортиран" msgid "Unstack" msgstr "Разглобяване на стека" -#: src/component/photo/edit/files.vue:519 src/component/photo/edit/info.vue:416 +#: src/component/photo/edit/files.vue:521 src/component/photo/edit/info.vue:416 msgid "Updated" msgstr "Актуализиран" @@ -3143,7 +3182,7 @@ msgstr "Актуализиране на индекса" msgid "Updating moments" msgstr "Актуализиране на моменти" -#: src/component/user/edit/dialog.vue:154 +#: src/component/user/edit/dialog.vue:155 msgid "Updating picture…" msgstr "Актуализиране на визуализациите" @@ -3155,21 +3194,21 @@ msgstr "Актуализиране на визуализациите" msgid "Updating stacks" msgstr "Актуализиране на стекове" -#: src/page/connect.vue:57 src/component/navigation.vue:1500 -#: src/component/navigation.vue:1614 src/component/navigation.vue:1999 +#: src/page/connect.vue:57 src/component/navigation.vue:1526 +#: src/component/navigation.vue:1644 src/component/navigation.vue:2047 #: src/page/connect.vue:58 msgid "Upgrade" msgstr "Надграждане" -#: src/page/about/about.vue:123 src/page/connect.vue:202 -#: src/component/confirm/sponsor.vue:98 src/page/about/about.vue:113 -#: src/page/connect.vue:206 +#: src/page/about/about.vue:124 src/page/connect.vue:204 +#: src/component/confirm/sponsor.vue:99 src/page/about/about.vue:114 +#: src/page/connect.vue:208 msgid "Upgrade Now" msgstr "Актуализирайте сега" -#: src/component/album/toolbar.vue:108 src/component/navigation.vue:1824 -#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:144 -#: src/component/upload/dialog.vue:51 src/page/albums.vue:183 +#: src/component/album/toolbar.vue:113 src/component/navigation.vue:1860 +#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:145 +#: src/component/upload/dialog.vue:51 src/page/albums.vue:185 #: src/page/labels.vue:122 src/page/library/import.vue:133 #: src/page/settings/general.vue:307 src/page/settings/services.vue:38 msgid "Upload" @@ -3179,21 +3218,21 @@ msgstr "Качване на" msgid "Upload complete" msgstr "Качване на данни" -#: src/component/upload/dialog.vue:133 +#: src/component/upload/dialog.vue:135 msgid "Upload complete. Indexing…" msgstr "Качването е завършено. Индексиране…" #: src/component/upload/dialog.vue:296 src/component/upload/dialog.vue:315 -#: src/component/upload/dialog.vue:129 +#: src/component/upload/dialog.vue:131 msgid "Upload failed" msgstr "Качването е неуспешно" -#: src/component/service/edit.vue:257 +#: src/component/service/edit.vue:258 msgid "Upload local files" msgstr "Качване на локални файлове" -#: src/component/user/edit/dialog.vue:380 #: src/component/user/edit/dialog.vue:381 +#: src/component/user/edit/dialog.vue:382 msgid "Upload Path" msgstr "Път за качване" @@ -3201,7 +3240,7 @@ msgstr "Път за качване" msgid "Upload to WebDAV and share links with friends." msgstr "Качвайте в WebDAV и споделяйте връзки с приятели." -#: src/component/upload/dialog.vue:131 +#: src/component/upload/dialog.vue:133 msgid "Uploading %{n} of %{t}…" msgstr "Качване на %{n} от %{t}…" @@ -3214,7 +3253,7 @@ msgstr "Качване на снимки…" msgid "Uploading…" msgstr "Презареждане…" -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Uploads that may contain such images will be rejected automatically." msgstr "Качванията, които могат да съдържат такива изображения, ще бъдат отхвърлени автоматично." @@ -3222,7 +3261,7 @@ msgstr "Качванията, които могат да съдържат так msgid "Use Presets" msgstr "Използване на предварителни настройки" -#: src/component/settings/passcode.vue:283 +#: src/component/settings/passcode.vue:286 msgid "Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:" msgstr "Използвайте следния код за възстановяване за достъп до акаунта си, когато не можете да генерирате валиден код за потвърждение с вашето приложение за удостоверяване:" @@ -3230,12 +3269,12 @@ msgstr "Използвайте следния код за възстановяв msgid "Use your recovery code or contact an administrator for help." msgstr "Използвайте кода си за възстановяване или се свържете с администратор за помощ." -#: src/options/admin.js:10 src/page/admin/sessions.vue:59 -#: src/page/admin/sessions.vue:242 src/model/user.js:361 src/options/auth.js:7 +#: src/options/admin.js:14 src/page/admin/sessions.vue:59 +#: src/page/admin/sessions.vue:243 src/model/user.js:361 src/options/auth.js:8 msgid "User" msgstr "Потребител" -#: src/component/navigation.vue:1979 +#: src/component/navigation.vue:2025 msgid "User Guide" msgstr "Ръководство за потребителя" @@ -3243,14 +3282,14 @@ msgstr "Ръководство за потребителя" msgid "User Interface" msgstr "Потребителски интерфейс" -#: src/component/user/add/dialog.vue:87 src/component/user/add/dialog.vue:88 -#: src/page/admin/sessions.vue:220 src/page/admin/users.vue:71 -#: src/component/service/add.vue:85 src/component/service/edit.vue:337 +#: src/component/user/add/dialog.vue:88 src/component/user/add/dialog.vue:89 +#: src/page/admin/sessions.vue:221 src/page/admin/users.vue:73 +#: src/component/service/add.vue:86 src/component/service/edit.vue:338 #: src/component/share/dialog.vue:26 msgid "Username" msgstr "Потребителско име" -#: src/component/navigation.vue:1435 +#: src/component/navigation.vue:1461 msgid "Users" msgstr "Потребители" @@ -3260,18 +3299,18 @@ msgstr "Потребители" msgid "Vector" msgstr "Вектор" -#: src/component/navigation.vue:440 +#: src/component/navigation.vue:442 msgid "Vectors" msgstr "Вектори" -#: src/component/settings/passcode.vue:227 src/page/auth/login.vue:144 +#: src/component/settings/passcode.vue:230 src/page/auth/login.vue:144 msgid "Verification Code" msgstr "Код за потвърждение" #: src/component/photo/view/cards.vue:363 #: src/component/photo/view/cards.vue:491 src/component/photo/view/list.vue:190 #: src/component/photo/view/mosaic.vue:207 src/model/file.js:221 -#: src/model/photo.js:921 src/model/photo.js:939 src/options/options.js:293 +#: src/model/photo.js:958 src/model/photo.js:976 src/options/options.js:293 msgid "Video" msgstr "Видео" @@ -3280,12 +3319,12 @@ msgstr "Видео" msgid "Video Duration" msgstr "Дарения" -#: src/app/routes.js:243 src/component/navigation.vue:728 +#: src/app/routes.js:251 src/component/navigation.vue:734 #: src/options/options.js:200 msgid "Videos" msgstr "Видеоклипове" -#: src/component/photo/toolbar.vue:261 src/component/photo/view/cards.vue:350 +#: src/component/photo/toolbar.vue:263 src/component/photo/view/cards.vue:350 #: src/component/photo/view/mosaic.vue:194 msgid "View" msgstr "Вижте" @@ -3294,11 +3333,11 @@ msgstr "Вижте" msgid "View search results as a list." msgstr "Преглед на резултатите от търсенето като списък." -#: src/options/admin.js:14 src/options/auth.js:8 +#: src/options/admin.js:18 src/options/auth.js:9 msgid "Viewer" msgstr "Viewer" -#: src/page/admin/sessions.vue:271 src/options/auth.js:12 +#: src/page/admin/sessions.vue:272 src/options/auth.js:13 msgid "Visitor" msgstr "Посетител" @@ -3310,34 +3349,34 @@ msgstr "Групиране по сходство" msgid "Warning" msgstr "Предупреждение" -#: src/page/about/feedback.vue:60 +#: src/page/about/feedback.vue:61 msgid "We appreciate your feedback!" msgstr "Оценяваме обратната ви връзка!" -#: src/page/about/feedback.vue:63 +#: src/page/about/feedback.vue:64 msgid "We do our best to respond within five business days or less." msgstr "Стараем се да отговаряме в рамките на пет работни дни или по-малко." -#: src/component/user/add/dialog.vue:235 src/component/user/edit/dialog.vue:415 -#: src/page/admin/users.vue:80 +#: src/component/user/add/dialog.vue:236 src/component/user/edit/dialog.vue:416 +#: src/page/admin/users.vue:82 msgid "Web Login" msgstr "Уеб вход" -#: src/component/user/add/dialog.vue:248 src/component/user/edit/dialog.vue:432 -#: src/page/admin/users.vue:82 src/options/auth.js:55 src/options/auth.js:68 +#: src/component/user/add/dialog.vue:249 src/component/user/edit/dialog.vue:433 +#: src/page/admin/users.vue:84 src/options/auth.js:56 src/options/auth.js:69 #: src/options/options.js:444 msgid "WebDAV" msgstr "WebDAV" -#: src/component/settings/webdav.vue:51 +#: src/component/settings/webdav.vue:52 msgid "WebDAV clients can connect to PhotoPrism using the following URL:" msgstr "Клиентите на WebDAV могат да се свържат с PhotoPrism, като използват следния URL адрес:" -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism." msgstr "WebDAV клиенти, като Windows Explorer на Microsoft или Finder на Apple, могат да се свързват директно с PhotoPrism." -#: src/component/service/upload.vue:50 src/component/share/dialog.vue:220 +#: src/component/service/upload.vue:51 src/component/share/dialog.vue:220 msgid "WebDAV Upload" msgstr "Качване на WebDAV" @@ -3345,8 +3384,8 @@ msgstr "Качване на WebDAV" msgid "WebGL support is disabled in your browser" msgstr "Поддръжката на WebGL е деактивирана в браузъра ви" -#: src/page/settings/account.vue:615 src/page/settings/account.vue:709 -#: src/page/settings/account.vue:601 +#: src/page/settings/account.vue:621 src/page/settings/account.vue:715 +#: src/page/settings/account.vue:607 msgid "Website" msgstr "Уебсайт" @@ -3354,12 +3393,12 @@ msgstr "Уебсайт" msgid "White" msgstr "Бял" -#: src/page/settings/account.vue:532 +#: src/page/settings/account.vue:538 msgid "Work Details" msgstr "Подробности" -#: src/page/settings/account.vue:500 src/component/photo/edit/details.vue:163 -#: src/component/photo/toolbar.vue:315 src/page/albums.vue:159 +#: src/page/settings/account.vue:506 src/component/photo/edit/details.vue:165 +#: src/component/photo/toolbar.vue:317 src/page/albums.vue:159 msgid "Year" msgstr "Година" @@ -3367,21 +3406,21 @@ msgstr "Година" msgid "Yellow" msgstr "Жълт" -#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:58 -#: src/component/photo/archive/dialog.vue:58 +#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:59 +#: src/component/photo/archive/dialog.vue:59 #: src/component/photo/clipboard.vue:200 src/component/photo/edit/files.vue:365 #: src/component/photo/edit/files.vue:395 #: src/component/photo/edit/files.vue:401 #: src/component/photo/edit/files.vue:407 -#: src/component/photo/edit/files.vue:510 src/component/photo/edit/info.vue:281 +#: src/component/photo/edit/files.vue:512 src/component/photo/edit/info.vue:281 #: src/component/photo/edit/info.vue:297 src/component/photo/edit/info.vue:313 #: src/component/photo/edit/info.vue:329 src/component/photo/edit/info.vue:344 -#: src/component/photo/toolbar.vue:434 +#: src/component/photo/toolbar.vue:436 msgid "Yes" msgstr "Да" -#: src/component/confirm/sponsor.vue:59 src/page/about/about.vue:158 -#: src/page/connect.vue:315 +#: src/component/confirm/sponsor.vue:60 src/page/about/about.vue:160 +#: src/page/connect.vue:317 msgid "You are welcome to contact us at membership@photoprism.app for questions regarding your membership." msgstr "Можете да се свържете с нас на membership@photoprism.app за въпроси, свързани с членството ви." @@ -3393,7 +3432,11 @@ msgstr "Можете да изтеглите само един албум" msgid "You can only download one label" msgstr "Можете да изтеглите само един етикет" -#: src/component/upload/dialog.vue:203 +#: src/component/location/dialog.vue:178 +msgid "You can search for a location or move the marker on the map to change the position:" +msgstr "Можете да търсите местоположение или да преместите маркера на картата, за да промените позицията:" + +#: src/component/upload/dialog.vue:205 msgid "You can upload up to %{n} files for test purposes." msgstr "Можете да качвате до %{n} файлове за тестови цели." @@ -3406,7 +3449,7 @@ msgstr "Можете да изберете само един елемент." msgid "You may rescan your library to find additional faces." msgstr "Можете да сканирате отново библиотеката си, за да намерите допълнителни лица." -#: src/page/connect.vue:146 src/page/connect.vue:150 +#: src/page/connect.vue:147 src/page/connect.vue:151 msgid "Your account has been successfully connected." msgstr "Вашият акаунт е успешно свързан." @@ -3414,8 +3457,8 @@ msgstr "Вашият акаунт е успешно свързан." msgid "Your browser does not support WebGL" msgstr "Вашият браузър не поддържа WebGL" -#: src/component/confirm/sponsor.vue:43 src/page/about/about.vue:97 -#: src/page/about/about.vue:156 src/page/connect.vue:220 +#: src/component/confirm/sponsor.vue:44 src/page/about/about.vue:98 +#: src/page/about/about.vue:158 src/page/connect.vue:222 msgid "Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy." msgstr "Вашата постоянна подкрепа ни помага да предоставяме редовни актуализации и услуги като световни карти." @@ -3496,9 +3539,6 @@ msgstr "Увеличаване/намаляване на мащаба" #~ msgid "Open Folder" #~ msgstr "Отваряне на папка" -#~ msgid "Cannot copy to clipboard" -#~ msgstr "Не мога да копирам в клипборда" - #~ msgid "Sound" #~ msgstr "Звук" diff --git a/frontend/src/locales/ca.po b/frontend/src/locales/ca.po index 7ee866cb4..88236d6ce 100644 --- a/frontend/src/locales/ca.po +++ b/frontend/src/locales/ca.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: ci@photoprism.app\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2025-04-04 08:03+0000\n" +"PO-Revision-Date: 2025-07-06 08:59+0000\n" "Last-Translator: Google Cloud Translation Basic \n" "Language-Team: \n" "Language: ca\n" @@ -11,7 +11,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.10.4\n" +"X-Generator: Weblate 5.12.2\n" "Generated-By: easygettext\n" #: src/locales.js:268 @@ -42,7 +42,7 @@ msgstr "{0} seleccionats" msgid "{0}-{1} of {2}" msgstr "{0}-{1} de {2}" -#: src/page/albums.vue:612 +#: src/page/albums.vue:617 msgid "%{n} albums found" msgstr "%{n} àlbums trobats" @@ -50,25 +50,25 @@ msgstr "%{n} àlbums trobats" msgid "%{n} files uploaded" msgstr "%{n} arxius penjats" -#: src/page/library/browse.vue:362 +#: src/page/library/browse.vue:364 msgid "%{n} folders found" msgstr "%{n} carpetes trobades" -#: src/component/navigation.vue:1676 +#: src/component/navigation.vue:1707 msgid "%{n} GB of %{q} GB used" msgstr "%{n} GB de %{q} GB utilitzats" -#: src/page/labels.vue:528 +#: src/page/labels.vue:533 msgid "%{n} labels found" msgstr "%{n} etiquetes trobades" -#: src/page/people/new.vue:350 src/page/people/new.vue:447 -#: src/page/people/recognized.vue:536 +#: src/page/people/new.vue:350 src/page/people/new.vue:450 +#: src/page/people/recognized.vue:541 msgid "%{n} people found" msgstr "%{n} persones trobades" -#: src/page/album/photos.vue:308 src/page/album/photos.vue:493 -#: src/page/photos.vue:441 src/page/photos.vue:631 +#: src/page/album/photos.vue:313 src/page/album/photos.vue:504 +#: src/page/photos.vue:446 src/page/photos.vue:641 msgid "%{n} pictures found" msgstr "S'han trobat %{n} imatges" @@ -88,12 +88,12 @@ msgstr "1 hora" msgid "12 hours" msgstr "12 hores" -#: src/component/user/edit/dialog.vue:452 src/page/settings/account.vue:324 -#: src/component/settings/passcode.vue:75 +#: src/component/user/edit/dialog.vue:453 src/page/settings/account.vue:325 +#: src/component/settings/passcode.vue:78 msgid "2-Factor Authentication" msgstr "Autenticació de 2 factors" -#: src/component/user/edit/dialog.vue:451 src/options/auth.js:46 +#: src/component/user/edit/dialog.vue:452 src/options/auth.js:47 msgid "2FA" msgstr "2FA" @@ -109,20 +109,20 @@ msgstr "Un clic ho copiarà al porta-retalls." msgid "A new version of %{s} is available:" msgstr "Hi ha disponible una versió nova de %{s}:" -#: src/component/user/edit/dialog.vue:233 -#: src/component/user/edit/dialog.vue:234 src/page/about/about.vue:56 +#: src/component/user/edit/dialog.vue:234 +#: src/component/user/edit/dialog.vue:235 src/page/about/about.vue:56 #: src/page/settings/account.vue:248 src/page/settings/account.vue:249 -#: src/app/routes.js:63 src/component/navigation.vue:1521 -#: src/page/people/recognized.vue:292 +#: src/app/routes.js:63 src/component/navigation.vue:1547 +#: src/page/people/recognized.vue:296 msgid "About" msgstr "Quant a" -#: src/options/auth.js:26 src/options/auth.js:44 +#: src/options/auth.js:27 src/options/auth.js:45 msgid "Access Token" msgstr "Fitxa d'accés" -#: src/component/navigation.vue:87 src/component/navigation.vue:1788 -#: src/component/service/upload.vue:71 src/model/service.js:96 +#: src/component/navigation.vue:87 src/component/navigation.vue:1822 +#: src/component/service/upload.vue:72 src/model/service.js:96 #: src/model/user.js:171 src/page/settings.vue:85 #: src/page/settings/general.vue:582 msgid "Account" @@ -136,7 +136,7 @@ msgstr "Compte creat" msgid "Account deleted" msgstr "Compte suprimit" -#: src/page/admin/users.vue:335 +#: src/page/admin/users.vue:337 msgid "Account restored" msgstr "S'ha restaurat el compte" @@ -157,8 +157,8 @@ msgstr "Acció" msgid "Actions" msgstr "Accions" -#: src/page/connect.vue:294 src/component/settings/passcode.vue:346 -#: src/page/connect.vue:303 +#: src/page/connect.vue:296 src/component/settings/passcode.vue:349 +#: src/page/connect.vue:305 msgid "Activate" msgstr "Activar" @@ -174,20 +174,20 @@ msgstr "Activa per ordenar ascendent." msgid "Activate to sort descending." msgstr "Activa per ordenar descendent." -#: src/page/connect.vue:231 src/page/connect.vue:240 +#: src/page/connect.vue:233 src/page/connect.vue:242 msgid "Activation Code" msgstr "Codi d'activació" -#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:83 -#: src/component/settings/apps.vue:448 +#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:92 +#: src/component/settings/apps.vue:451 msgid "Add" msgstr "Afegeix" -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:246 msgid "Add %{s}?" msgstr "Afegiu %{s}?" -#: src/component/user/add/dialog.vue:56 src/component/service/add.vue:49 +#: src/component/user/add/dialog.vue:57 src/component/service/add.vue:50 msgid "Add Account" msgstr "Afegeix un compte" @@ -204,8 +204,8 @@ msgid "Add Link" msgstr "Afegeix un enllaç" #: src/component/photo/edit/people.vue:25 -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:57 -#: src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:57 +#: src/page/people/new.vue:246 msgid "Add person?" msgstr "Vols afegir una persona?" @@ -221,10 +221,15 @@ msgstr "Afegiu imatges dels resultats de la cerca seleccionant-les." msgid "Add to album" msgstr "Afegeix a l'àlbum" -#: src/component/photo/edit/files.vue:514 +#: src/component/photo/edit/files.vue:516 msgid "Added" msgstr "Afegit" +#: src/component/location/dialog.vue:68 src/component/location/dialog.vue:90 +#: src/component/photo/edit/details.vue:246 +msgid "Adjust Location" +msgstr "Ajusta la ubicació" + #: src/options/admin.js:6 src/options/auth.js:6 msgid "Admin" msgstr "Admin" @@ -245,7 +250,7 @@ msgstr "Després de 3 dies" msgid "After 7 days" msgstr "Després de 7 dies" -#: src/component/settings/passcode.vue:93 +#: src/component/settings/passcode.vue:96 msgid "After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:" msgstr "Després d'introduir la contrasenya per a la confirmació, podeu configurar l'autenticació de dos factors amb una aplicació o dispositiu d'autenticació compatible:" @@ -277,12 +282,16 @@ msgstr "Àlbum" msgid "Album Backups" msgstr "Còpies de seguretat d'àlbums" -#: src/page/albums.vue:674 +#: src/page/albums.vue:685 msgid "Album created" msgstr "Àlbum creat" -#: src/app/routes.js:176 src/component/album/toolbar.vue:51 -#: src/component/navigation.vue:604 src/component/navigation.vue:1882 +#: src/page/album/photos.vue:589 +msgid "Album deleted" +msgstr "Àlbum suprimit" + +#: src/app/routes.js:184 src/component/album/toolbar.vue:55 +#: src/component/navigation.vue:607 src/component/navigation.vue:1922 #: src/component/photo/edit/info.vue:220 src/options/options.js:198 msgid "Albums" msgstr "Àlbums" @@ -295,7 +304,7 @@ msgstr "Àlbums suprimits" msgid "All" msgstr "Tots" -#: src/page/albums.vue:465 +#: src/page/albums.vue:470 msgid "All %{n} albums loaded" msgstr "S'han carregat els %{n} àlbums" @@ -311,8 +320,8 @@ msgstr "S'han carregat les totes les persones (%{n})" msgid "All Cameras" msgstr "Totes les càmeres" -#: src/component/photo/toolbar.vue:74 src/page/albums.vue:44 -#: src/page/albums.vue:240 src/page/albums.vue:746 +#: src/component/photo/toolbar.vue:74 src/page/albums.vue:45 +#: src/page/albums.vue:242 src/page/albums.vue:757 msgid "All Categories" msgstr "Totes les Categories" @@ -344,7 +353,7 @@ msgstr "Tots els mesos" msgid "All originals" msgstr "Tots els originals" -#: src/component/photo/toolbar.vue:76 src/page/albums.vue:93 +#: src/component/photo/toolbar.vue:76 src/page/albums.vue:94 msgid "All Years" msgstr "Tots els anys" @@ -356,7 +365,7 @@ msgstr "Alternativament, podeu carregar fitxers directament als servidors WebDAV msgid "Altitude" msgstr "Altitud" -#: src/component/photo/edit/details.vue:272 +#: src/component/photo/edit/details.vue:297 msgid "Altitude (m)" msgstr "Altitud (m)" @@ -364,8 +373,7 @@ msgstr "Altitud (m)" msgid "AM" msgstr "AM" -#: src/app/routes.js:257 src/component/navigation.vue:791 -#: src/component/photo/edit/files.vue:364 +#: src/app/routes.js:265 src/component/photo/edit/files.vue:364 #: src/component/photo/view/cards.vue:327 #: src/component/photo/view/cards.vue:511 src/component/photo/view/list.vue:184 #: src/component/photo/view/mosaic.vue:171 src/options/options.js:301 @@ -376,43 +384,47 @@ msgstr "Animat" msgid "Animation" msgstr "Animació" +#: src/component/navigation.vue:797 +msgid "Animations" +msgstr "Animacions" + #: src/component/share/dialog.vue:207 msgid "Any private photos and videos remain private and won't be shared." msgstr "Les fotos i els vídeos privats romanen privats i no es compartiran." -#: src/component/service/edit.vue:372 +#: src/component/service/edit.vue:373 msgid "API Key" msgstr "Clau API" -#: src/page/admin/sessions.vue:357 src/options/auth.js:25 +#: src/page/admin/sessions.vue:361 src/options/auth.js:26 msgid "Application" msgstr "Aplicació" -#: src/component/photo/edit/details.vue:641 +#: src/component/photo/edit/details.vue:615 msgid "Apply" msgstr "Aplicar" #: src/component/photo/clipboard.vue:64 -#: src/component/photo/edit/details.vue:640 +#: src/component/photo/edit/details.vue:614 #: src/component/photo/view/cards.vue:416 msgid "Approve" msgstr "Aprovar" -#: src/page/settings/account.vue:374 src/component/settings/apps.vue:91 +#: src/page/settings/account.vue:378 src/component/settings/apps.vue:94 msgid "Apps and Devices" msgstr "Aplicacions i dispositius" -#: src/app/routes.js:287 src/component/lightbox.vue:1207 -#: src/component/navigation.vue:555 src/component/photo/clipboard.vue:142 +#: src/app/routes.js:295 src/component/lightbox.vue:1207 +#: src/component/navigation.vue:557 src/component/photo/clipboard.vue:142 #: src/component/photo/view/cards.vue:398 src/page/settings/general.vue:432 msgid "Archive" msgstr "Arxiu" -#: src/component/lightbox.vue:1982 src/component/photo/edit/info.vue:433 +#: src/component/lightbox.vue:2002 src/component/photo/edit/info.vue:433 msgid "Archived" msgstr "Arxivat" -#: src/component/photo/archive/dialog.vue:34 +#: src/component/photo/archive/dialog.vue:35 msgid "Are you sure you want to archive the selection?" msgstr "Esteu segur que voleu arxivar la selecció?" @@ -420,19 +432,23 @@ msgstr "Esteu segur que voleu arxivar la selecció?" msgid "Are you sure you want to delete these albums?" msgstr "Confirmes que vols suprimir aquests àlbums?" -#: src/component/label/delete/dialog.vue:34 +#: src/component/label/delete/dialog.vue:35 msgid "Are you sure you want to delete these labels?" msgstr "Esteu segur que voleu suprimir aquestes etiquetes?" -#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:36 +#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:37 msgid "Are you sure you want to delete this account?" msgstr "Esteu segur que voleu suprimir aquest compte?" +#: src/component/album/toolbar.vue:136 +msgid "Are you sure you want to delete this album?" +msgstr "Esteu segur que voleu suprimir aquest àlbum?" + #: src/component/photo/clipboard.vue:199 msgid "Are you sure you want to permanently delete these pictures?" msgstr "Esteu segur que voleu suprimir permanentment aquestes imatges?" -#: src/component/file/delete/dialog.vue:34 +#: src/component/file/delete/dialog.vue:35 msgid "Are you sure you want to permanently delete this file?" msgstr "Esteu segur que voleu suprimir permanentment aquest fitxer?" @@ -441,7 +457,7 @@ msgstr "Esteu segur que voleu suprimir permanentment aquest fitxer?" msgid "Are you sure?" msgstr "N'esteu segur?" -#: src/component/photo/edit/details.vue:537 +#: src/component/photo/edit/details.vue:511 msgid "Artist" msgstr "Artista" @@ -449,14 +465,14 @@ msgstr "Artista" msgid "Aspect Ratio" msgstr "Relació d'aspecte" -#: src/app/routes.js:250 src/component/navigation.vue:770 +#: src/app/routes.js:258 src/component/navigation.vue:776 #: src/options/options.js:297 msgid "Audio" msgstr "Àudio" -#: src/component/user/add/dialog.vue:190 src/component/user/edit/dialog.vue:309 -#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:281 -#: src/page/admin/users.vue:75 +#: src/component/user/add/dialog.vue:191 src/component/user/edit/dialog.vue:310 +#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:282 +#: src/page/admin/users.vue:77 msgid "Authentication" msgstr "Autenticació" @@ -464,11 +480,11 @@ msgstr "Autenticació" msgid "Auto" msgstr "Automàtic" -#: src/component/settings/apps.vue:151 +#: src/component/settings/apps.vue:154 msgid "Back" msgstr "esquena" -#: src/component/scroll.vue:20 +#: src/component/scroll.vue:18 msgid "Back to top" msgstr "Tornar a dalt" @@ -480,26 +496,26 @@ msgstr "Còpia de seguretat" msgid "Badge" msgstr "Insígnia" -#: src/component/user/edit/dialog.vue:361 #: src/component/user/edit/dialog.vue:362 +#: src/component/user/edit/dialog.vue:363 msgid "Base Path" msgstr "Camí base" -#: src/page/about/about.vue:95 src/page/connect.vue:220 +#: src/page/about/about.vue:96 src/page/connect.vue:222 msgid "Become a member today, support our mission and enjoy our member benefits!" msgstr "Fes-te soci avui, dóna suport a la nostra missió i gaudeix dels nostres avantatges per a membres!" -#: src/component/confirm/sponsor.vue:51 src/page/about/about.vue:99 +#: src/component/confirm/sponsor.vue:52 src/page/about/about.vue:100 msgid "Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services." msgstr "En ser 100% sautofinançats i independents, us podem prometre que mai vendrem les vostres dades i que sempre serem transparents sobre el nostre programari i serveis." -#: src/component/user/edit/dialog.vue:258 -#: src/component/user/edit/dialog.vue:259 src/page/settings/account.vue:227 +#: src/component/user/edit/dialog.vue:259 +#: src/component/user/edit/dialog.vue:260 src/page/settings/account.vue:227 #: src/page/settings/account.vue:228 msgid "Bio" msgstr "bio" -#: src/page/settings/account.vue:431 +#: src/page/settings/account.vue:437 msgid "Birth Date" msgstr "Data de naixement" @@ -520,7 +536,7 @@ msgid "Brown" msgstr "Marró" #: src/component/photo/edit/files.vue:263 src/component/photo/toolbar.vue:141 -#: src/component/upload/dialog.vue:240 +#: src/component/upload/dialog.vue:242 msgid "Browse" msgstr "Navega" @@ -548,16 +564,16 @@ msgstr "Informe d'error" msgid "Busy, please wait…" msgstr "Ocupat, si us plau, espera..." -#: src/page/connect.vue:317 +#: src/page/connect.vue:319 msgid "By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct." msgstr "En utilitzar el programari i els serveis que oferim, accepteu les nostres condicions de servei, política de privadesa i codi de conducta." -#: src/app/routes.js:189 src/component/navigation.vue:1081 +#: src/app/routes.js:197 src/component/navigation.vue:1097 #: src/options/options.js:204 src/page/settings/general.vue:205 msgid "Calendar" msgstr "Calendari" -#: src/component/photo/edit/details.vue:346 src/component/photo/toolbar.vue:232 +#: src/component/photo/edit/details.vue:320 src/component/photo/toolbar.vue:234 #: src/component/photo/view/cards.vue:467 src/component/photo/view/list.vue:116 msgid "Camera" msgstr "Càmera" @@ -570,12 +586,12 @@ msgstr "Càmera en sèrie" msgid "Can't access your authenticator app or device?" msgstr "No podeu accedir a la vostra aplicació o dispositiu d'autenticació?" -#: src/page/album/photos.vue:317 src/page/photos.vue:450 +#: src/page/album/photos.vue:322 src/page/photos.vue:455 msgid "Can't load more, limit reached" msgstr "No es pot carregar més, s'ha arribat al límit" #: src/common/clipboard.js:102 src/common/clipboard.js:139 -#: src/page/albums.vue:684 src/page/albums.vue:700 src/page/labels.vue:293 +#: src/page/albums.vue:695 src/page/albums.vue:711 src/page/labels.vue:293 #: src/page/labels.vue:313 src/page/library/browse.vue:233 #: src/page/library/browse.vue:249 src/page/people/new.vue:278 #: src/page/people/new.vue:294 src/page/people/recognized.vue:305 @@ -584,26 +600,31 @@ msgid "Can't select more items" msgstr "No es poden seleccionar més elements" #: src/component/session/remove/dialog.vue:45 -#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:473 -#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:119 +#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:474 +#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:120 #: src/component/album/delete/dialog.vue:43 -#: src/component/album/edit/dialog.vue:199 src/component/confirm/dialog.vue:43 -#: src/component/file/delete/dialog.vue:47 -#: src/component/label/delete/dialog.vue:47 -#: src/component/label/edit/dialog.vue:107 -#: src/component/people/edit/dialog.vue:120 +#: src/component/album/edit/dialog.vue:200 src/component/confirm/dialog.vue:43 +#: src/component/file/delete/dialog.vue:48 +#: src/component/label/delete/dialog.vue:48 +#: src/component/label/edit/dialog.vue:108 +#: src/component/location/dialog.vue:200 +#: src/component/people/edit/dialog.vue:121 #: src/component/photo/album/dialog.vue:78 src/component/service/add.vue:19 -#: src/component/service/edit.vue:455 src/component/service/remove.vue:49 -#: src/component/service/upload.vue:117 src/component/settings/apps.vue:352 -#: src/component/settings/passcode.vue:249 -#: src/component/settings/passcode.vue:333 -#: src/component/settings/password.vue:159 src/component/share/dialog.vue:28 -#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:123 +#: src/component/service/edit.vue:456 src/component/service/remove.vue:50 +#: src/component/service/upload.vue:118 src/component/settings/apps.vue:355 +#: src/component/settings/passcode.vue:252 +#: src/component/settings/passcode.vue:336 +#: src/component/settings/password.vue:160 src/component/share/dialog.vue:28 +#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:124 #: src/page/library/import.vue:119 src/page/library/index.vue:128 msgid "Cancel" msgstr "Cancel·lar" -#: src/component/photo/edit/details.vue:87 src/component/photo/edit/info.vue:61 +#: src/common/util.js:863 src/common/util.js:870 +msgid "Cannot copy to clipboard" +msgstr "No es pot copiar al porta-retalls" + +#: src/component/photo/edit/details.vue:89 src/component/photo/edit/info.vue:63 #: src/component/photo/edit/labels.vue:42 #: src/component/photo/view/cards.vue:445 src/component/sidebar/info.vue:72 msgid "Caption" @@ -617,17 +638,17 @@ msgstr "Targetes" msgid "Carousel slide {0} of {1}" msgstr "Diapositiva del carrusel {0} de {1}" -#: src/page/about/feedback.vue:82 src/page/about/feedback.vue:83 -#: src/component/album/edit/dialog.vue:128 src/component/photo/toolbar.vue:397 +#: src/page/about/feedback.vue:83 src/page/about/feedback.vue:84 +#: src/component/album/edit/dialog.vue:129 src/component/photo/toolbar.vue:399 #: src/page/albums.vue:187 msgid "Category" msgstr "Categoria" -#: src/component/user/edit/dialog.vue:191 src/page/settings/account.vue:201 +#: src/component/user/edit/dialog.vue:192 src/page/settings/account.vue:201 msgid "Change Avatar" msgstr "Canviar Avatar" -#: src/page/settings/account.vue:297 src/component/settings/password.vue:48 +#: src/page/settings/account.vue:297 src/component/settings/password.vue:49 msgid "Change Password" msgstr "Canviar contrasenya" @@ -644,17 +665,17 @@ msgid "Change private flag" msgstr "Canvia la bandera privada" #: src/component/user/add/dialog.vue:108 src/component/user/add/dialog.vue:113 -#: src/component/user/edit/dialog.vue:90 src/component/user/edit/dialog.vue:95 +#: src/component/user/edit/dialog.vue:91 src/component/user/edit/dialog.vue:96 #: src/page/settings/account.vue:121 src/page/settings/account.vue:126 msgid "Changes could not be saved" msgstr "No s'han pogut desar els canvis" -#: src/component/user/edit/dialog.vue:83 src/component/user/edit/dialog.vue:159 +#: src/component/user/edit/dialog.vue:84 src/component/user/edit/dialog.vue:160 #: src/component/album/edit/dialog.vue:73 -#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1941 +#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1961 #: src/component/photo/edit/files.vue:162 src/component/service/edit.vue:90 #: src/component/share/dialog.vue:92 src/component/share/dialog.vue:111 -#: src/page/albums.vue:677 src/page/people/recognized.vue:119 +#: src/page/albums.vue:688 src/page/people/recognized.vue:119 #: src/page/settings/advanced.vue:62 src/page/settings/content.vue:62 #: src/page/settings/general.vue:108 msgid "Changes successfully saved" @@ -668,7 +689,7 @@ msgstr "Els canvis a la configuració avançada requereixen un reinici perquè t msgid "Checked" msgstr "Seleccionat" -#: src/component/photo/edit/files.vue:495 +#: src/component/photo/edit/files.vue:497 msgid "Chroma" msgstr "Croma" @@ -684,24 +705,24 @@ msgstr "Netejar" msgid "Clear {0}" msgstr "Esborra {0}" -#: src/options/auth.js:11 src/options/auth.js:23 src/options/auth.js:43 +#: src/options/auth.js:12 src/options/auth.js:24 src/options/auth.js:44 msgid "Client" msgstr "Client" -#: src/options/auth.js:24 +#: src/options/auth.js:25 msgid "Client Credentials" msgstr "Credencials del client" -#: src/page/admin/sessions.vue:529 src/component/lightbox.vue:284 -#: src/component/lightbox.vue:1009 src/component/lightbox.vue:1010 -#: src/component/photo/edit/details.vue:627 src/component/photo/toolbar.vue:160 -#: src/component/settings/apps.vue:224 src/component/settings/apps.vue:437 -#: src/component/settings/passcode.vue:148 -#: src/component/settings/passcode.vue:456 -#: src/component/settings/passcode.vue:497 -#: src/component/settings/webdav.vue:131 src/component/share/dialog.vue:231 +#: src/component/user/edit/dialog.vue:474 src/page/admin/sessions.vue:536 +#: src/component/lightbox.vue:284 src/component/lightbox.vue:1009 +#: src/component/lightbox.vue:1010 src/component/photo/edit/details.vue:601 +#: src/component/photo/toolbar.vue:161 src/component/settings/apps.vue:227 +#: src/component/settings/apps.vue:440 src/component/settings/passcode.vue:151 +#: src/component/settings/passcode.vue:459 +#: src/component/settings/passcode.vue:500 +#: src/component/settings/webdav.vue:132 src/component/share/dialog.vue:231 #: src/component/sidebar/info.vue:26 src/component/update.vue:57 -#: src/component/upload/dialog.vue:228 src/locales.js:206 +#: src/component/upload/dialog.vue:230 src/locales.js:206 #: src/page/library/errors.vue:253 msgid "Close" msgstr "Tancar" @@ -710,11 +731,11 @@ msgstr "Tancar" msgid "Codec" msgstr "Còdec" -#: src/component/photo/toolbar.vue:369 +#: src/component/photo/toolbar.vue:371 msgid "Color" msgstr "Color" -#: src/component/photo/edit/files.vue:483 +#: src/component/photo/edit/files.vue:485 msgid "Color Profile" msgstr "Perfil de color" @@ -722,7 +743,7 @@ msgstr "Perfil de color" msgid "Colors" msgstr "Colors" -#: src/page/connect.vue:260 src/page/connect.vue:269 +#: src/page/connect.vue:262 src/page/connect.vue:271 msgid "Compare Editions" msgstr "Compara Edicions" @@ -735,17 +756,18 @@ msgstr "Rescaneig complet" msgid "Confidence" msgstr "Confiança" +#: src/component/location/dialog.vue:212 #: src/component/photo/album/dialog.vue:90 -#: src/component/settings/passcode.vue:261 +#: src/component/settings/passcode.vue:264 msgid "Confirm" msgstr "Confirmeu" -#: src/component/service/add.vue:20 src/page/settings/services.vue:187 +#: src/component/service/add.vue:20 src/page/settings/services.vue:191 msgid "Connect" msgstr "Connecta" -#: src/page/settings/account.vue:401 src/component/settings/webdav.vue:45 -#: src/page/settings/services.vue:167 +#: src/page/settings/account.vue:406 src/component/settings/webdav.vue:46 +#: src/page/settings/services.vue:170 msgid "Connect via WebDAV" msgstr "Connecteu-vos mitjançant WebDAV" @@ -753,22 +775,22 @@ msgstr "Connecteu-vos mitjançant WebDAV" msgid "Connected" msgstr "Connectat" -#: src/page/settings/account.vue:640 src/page/settings/account.vue:532 +#: src/page/settings/account.vue:646 src/page/settings/account.vue:538 msgid "Contact Details" msgstr "Dades de contacte" -#: src/page/about/feedback.vue:37 src/page/connect.vue:132 -#: src/page/connect.vue:136 +#: src/page/about/feedback.vue:37 src/page/connect.vue:133 +#: src/page/connect.vue:137 msgid "Contact Us" msgstr "Contacta'ns" #: src/page/albums.vue:433 src/page/labels.vue:237 -#: src/page/people/recognized.vue:306 +#: src/page/people/recognized.vue:310 msgid "Contains %{n} pictures." msgstr "Conté %{n} imatges." #: src/page/albums.vue:427 src/page/labels.vue:231 -#: src/page/people/recognized.vue:300 +#: src/page/people/recognized.vue:304 msgid "Contains one picture." msgstr "Conté una imatge." @@ -776,7 +798,7 @@ msgstr "Conté una imatge." msgid "Content" msgstr "Contingut" -#: src/component/settings/apps.vue:163 +#: src/component/settings/apps.vue:166 msgid "Continue" msgstr "Continua" @@ -784,7 +806,7 @@ msgstr "Continua" msgid "Continue with %{provider}" msgstr "Continua amb %{provider}" -#: src/options/admin.js:18 src/options/auth.js:9 +#: src/options/admin.js:22 src/options/auth.js:10 msgid "Contributor" msgstr "Col·laborador" @@ -792,15 +814,15 @@ msgstr "Col·laborador" msgid "Converting" msgstr "Convertint" -#: src/common/util.js:846 +#: src/common/util.js:856 msgid "Copied to clipboard" msgstr "S'ha copiat al porta-retalls" -#: src/component/settings/apps.vue:250 src/component/settings/passcode.vue:358 +#: src/component/settings/apps.vue:253 src/component/settings/passcode.vue:361 msgid "Copy" msgstr "Còpia" -#: src/component/photo/edit/details.vue:516 +#: src/component/photo/edit/details.vue:490 msgid "Copyright" msgstr "Copyright" @@ -808,8 +830,8 @@ msgstr "Copyright" msgid "Couldn't find anything." msgstr "No he pogut trobar res." -#: src/page/settings/account.vue:685 src/component/photo/edit/details.vue:242 -#: src/component/photo/toolbar.vue:203 src/page/settings/account.vue:577 +#: src/page/settings/account.vue:691 src/component/photo/edit/details.vue:268 +#: src/component/photo/toolbar.vue:205 src/page/settings/account.vue:583 msgid "Country" msgstr "País" @@ -833,7 +855,7 @@ msgstr "Creeu fitxers YAML per fer una còpia de seguretat de les metadades de l msgid "Create YAML sidecar files to back up picture metadata." msgstr "Creeu fitxers sidecar YAML per fer una còpia de seguretat de les metadades d'imatge." -#: src/page/admin/sessions.vue:417 src/component/photo/edit/info.vue:412 +#: src/page/admin/sessions.vue:422 src/component/photo/edit/info.vue:412 msgid "Created" msgstr "Creat" @@ -845,11 +867,11 @@ msgstr "Creació de miniatures per a" msgid "Cubic: Moderate Quality, Good Performance" msgstr "Cúbic: qualitat moderada, bon rendiment" -#: src/component/settings/password.vue:85 +#: src/component/settings/password.vue:86 msgid "Current Password" msgstr "Contrasenya actual" -#: src/options/themes.js:919 src/options/themes.js:928 +#: src/options/themes.js:920 src/options/themes.js:929 msgid "Custom" msgstr "Personalitzat" @@ -865,11 +887,11 @@ msgstr "Diari" msgid "Database Backups" msgstr "Còpies de seguretat de bases de dades" -#: src/page/settings/account.vue:450 src/component/photo/edit/details.vue:110 +#: src/page/settings/account.vue:456 src/component/photo/edit/details.vue:112 msgid "Day" msgstr "Dia" -#: src/component/settings/passcode.vue:445 +#: src/component/settings/passcode.vue:448 msgid "Deactivate" msgstr "Desactivar" @@ -877,36 +899,40 @@ msgstr "Desactivar" msgid "Debug Logs" msgstr "Registres de depuració" -#: src/options/admin.js:31 src/page/admin/sessions.vue:136 -#: src/page/admin/users.vue:176 src/component/photo/edit/info.vue:47 +#: src/options/admin.js:35 src/page/admin/sessions.vue:136 +#: src/page/admin/users.vue:178 src/component/photo/edit/info.vue:47 #: src/component/photo/edit/info.vue:110 src/model/session.js:66 -#: src/model/user.js:246 src/options/auth.js:20 src/options/auth.js:21 -#: src/options/auth.js:39 src/options/auth.js:40 src/options/options.js:196 +#: src/model/user.js:246 src/options/auth.js:21 src/options/auth.js:22 +#: src/options/auth.js:40 src/options/auth.js:41 src/options/options.js:196 #: src/options/options.js:232 src/options/options.js:316 -#: src/options/themes.js:773 +#: src/options/themes.js:774 msgid "Default" msgstr "Per defecte" -#: src/component/service/edit.vue:123 +#: src/component/service/edit.vue:124 msgid "Default Folder" msgstr "Carpeta per defecte" #: src/component/session/remove/dialog.vue:56 #: src/component/user/remove/dialog.vue:56 src/component/album/clipboard.vue:97 -#: src/component/album/delete/dialog.vue:54 -#: src/component/file/delete/dialog.vue:58 src/component/label/clipboard.vue:58 -#: src/component/label/delete/dialog.vue:58 +#: src/component/album/delete/dialog.vue:54 src/component/album/toolbar.vue:137 +#: src/component/file/delete/dialog.vue:59 src/component/label/clipboard.vue:58 +#: src/component/label/delete/dialog.vue:59 #: src/component/photo/clipboard.vue:168 src/component/photo/edit/files.vue:238 -#: src/component/service/remove.vue:60 src/component/share/dialog.vue:170 +#: src/component/service/remove.vue:61 src/component/share/dialog.vue:170 #: src/page/settings/general.vue:457 msgid "Delete" msgstr "Esborrar" +#: src/component/album/toolbar.vue:133 +msgid "Delete Album" +msgstr "Suprimeix l'àlbum" + #: src/component/photo/toolbar.vue:119 src/page/library/errors.vue:95 msgid "Delete All" msgstr "Eliminar tots" -#: src/component/photo/toolbar.vue:433 src/page/library/errors.vue:193 +#: src/component/photo/toolbar.vue:435 src/page/library/errors.vue:193 msgid "Delete all?" msgstr "Vols suprimir-ho tot?" @@ -914,16 +940,16 @@ msgstr "Vols suprimir-ho tot?" msgid "Delete orphaned index entries, sidecar files and thumbnails." msgstr "Suprimeix les entrades d'índex orfes, els fitxers de sidecar i les miniatures." -#: src/component/album/edit/dialog.vue:107 src/page/albums.vue:411 +#: src/component/album/edit/dialog.vue:108 src/page/albums.vue:411 msgid "Description" msgstr "Descripció" -#: src/component/settings/webdav.vue:115 +#: src/component/settings/webdav.vue:116 msgid "Detailed instructions can be found in our User Guide." msgstr "Podeu trobar instruccions detallades a la nostra Guia d'usuari." -#: src/component/photo/edit/dialog.vue:156 -#: src/component/photo/edit/dialog.vue:173 +#: src/component/photo/edit/dialog.vue:162 +#: src/component/photo/edit/dialog.vue:181 msgid "Details" msgstr "Detalls" @@ -987,8 +1013,8 @@ msgstr "Desactiva el suport de gràfics vectorials." msgid "Disables video transcoding and thumbnail extraction." msgstr "Desactiva la transcodificació de vídeo i l'extracció de miniatures." -#: src/app/routes.js:558 src/app/routes.js:565 src/app/routes.js:572 -#: src/app/routes.js:579 +#: src/app/routes.js:566 src/app/routes.js:573 src/app/routes.js:580 +#: src/app/routes.js:587 msgid "Discover" msgstr "Descobreix" @@ -996,9 +1022,9 @@ msgstr "Descobreix" msgid "Dismiss" msgstr "Descartar" -#: src/component/user/add/dialog.vue:133 src/component/user/add/dialog.vue:134 -#: src/component/user/edit/dialog.vue:163 -#: src/component/user/edit/dialog.vue:164 src/page/admin/users.vue:72 +#: src/component/user/add/dialog.vue:134 src/component/user/add/dialog.vue:135 +#: src/component/user/edit/dialog.vue:164 +#: src/component/user/edit/dialog.vue:165 src/page/admin/users.vue:74 #: src/page/settings/account.vue:149 src/page/settings/account.vue:151 msgid "Display Name" msgstr "Nom a mostrar" @@ -1013,12 +1039,12 @@ msgstr "Mostra els títols de les imatges als resultats de la cerca." #: src/component/photo/view/cards.vue:339 #: src/component/photo/view/cards.vue:521 -#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:174 +#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:176 #: src/options/options.js:309 msgid "Document" msgstr "Document" -#: src/component/navigation.vue:480 +#: src/component/navigation.vue:482 msgid "Documents" msgstr "Documents" @@ -1034,16 +1060,16 @@ msgstr "No utilitzeu ImageMagick per convertir imatges." msgid "Don't use RawTherapee to convert RAW images." msgstr "No utilitzeu RawTherapee per convertir fitxers RAW." -#: src/component/settings/apps.vue:238 src/component/share/dialog.vue:29 +#: src/component/settings/apps.vue:241 src/component/share/dialog.vue:29 msgid "Done" msgstr "Fet" -#: src/component/upload/dialog.vue:135 src/page/library/import.vue:46 +#: src/component/upload/dialog.vue:137 src/page/library/import.vue:46 #: src/page/library/index.vue:52 msgid "Done." msgstr "Fet." -#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:118 +#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:123 #: src/component/file/clipboard.vue:48 src/component/lightbox.vue:1235 #: src/component/people/clipboard.vue:47 src/component/photo/clipboard.vue:116 #: src/component/photo/edit/files.vue:168 src/page/settings/content.vue:331 @@ -1055,7 +1081,7 @@ msgstr "Descàrrega" msgid "Download only original media files, without any automatically generated files." msgstr "Baixeu només fitxers multimèdia originals, sense cap fitxer generat automàticament." -#: src/component/service/edit.vue:237 +#: src/component/service/edit.vue:238 msgid "Download remote files" msgstr "Descarrega fitxers remots" @@ -1063,9 +1089,9 @@ msgstr "Descarrega fitxers remots" msgid "Download single files and zip archives." msgstr "Baixeu fitxers únics i arxius zip." -#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:157 +#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:172 #: src/component/file/clipboard.vue:61 src/component/label/clipboard.vue:86 -#: src/component/lightbox.vue:2021 src/component/people/clipboard.vue:59 +#: src/component/lightbox.vue:2041 src/component/people/clipboard.vue:59 #: src/component/photo/clipboard.vue:220 src/component/photo/edit/files.vue:119 #: src/component/photo/view/cards.vue:169 src/component/photo/view/list.vue:142 #: src/page/library/browse.vue:139 @@ -1080,7 +1106,7 @@ msgstr "Filtre de reducció d'escala" msgid "Drag and drop files here" msgstr "Arrossegueu i deixeu anar els fitxers aquí" -#: src/page/about/feedback.vue:61 +#: src/page/about/feedback.vue:62 msgid "Due to the high volume of emails we receive, our team may be unable to get back to you immediately." msgstr "A causa de l'elevat volum de correus electrònics que rebem, és possible que el nostre equip no us pugui respondre immediatament." @@ -1100,23 +1126,23 @@ msgstr "Previsualitzacions dinàmiques" msgid "Dynamic Size Limit: %{n}px" msgstr "Límit de mida dinàmica: %{n}px" -#: src/page/about/feedback.vue:141 src/page/about/feedback.vue:140 +#: src/page/about/feedback.vue:142 src/page/about/feedback.vue:141 msgid "E-Mail" msgstr "Correu electrònic" -#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:89 +#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:94 #: src/component/lightbox.vue:1136 src/component/lightbox.vue:1137 #: src/component/photo/clipboard.vue:90 src/page/settings/general.vue:407 msgid "Edit" msgstr "Edita" -#: src/component/album/edit/dialog.vue:54 -#: src/component/label/edit/dialog.vue:52 -#: src/component/people/edit/dialog.vue:52 +#: src/component/album/edit/dialog.vue:55 +#: src/component/label/edit/dialog.vue:53 +#: src/component/people/edit/dialog.vue:53 msgid "Edit %{s}" msgstr "Edita %{s}" -#: src/component/user/edit/dialog.vue:61 src/component/service/edit.vue:79 +#: src/component/user/edit/dialog.vue:62 src/component/service/edit.vue:79 msgid "Edit Account" msgstr "Editar Compte" @@ -1128,8 +1154,8 @@ msgstr "Edita la foto" msgid "Edited" msgstr "Editat" -#: src/component/user/add/dialog.vue:151 src/component/user/edit/dialog.vue:213 -#: src/page/settings/account.vue:171 src/page/settings/account.vue:593 +#: src/component/user/add/dialog.vue:152 src/component/user/edit/dialog.vue:214 +#: src/page/settings/account.vue:171 src/page/settings/account.vue:599 msgid "Email" msgstr "Correu electrònic" @@ -1145,7 +1171,7 @@ msgstr "Activa les noves funcions que poden ser incompletes o inestables." msgid "Enables RAW converter presets. May reduce performance." msgstr "Habilita els valors predefinits del convertidor RAW. Pot reduir el rendiment." -#: src/component/settings/passcode.vue:127 +#: src/component/settings/passcode.vue:130 msgid "Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account." msgstr "Habilitar l'autenticació de dos factors significa que necessitareu un codi de verificació generat aleatòriament per iniciar sessió, de manera que fins i tot si algú accedeix a la vostra contrasenya, no podrà accedir al vostre compte." @@ -1157,7 +1183,7 @@ msgstr "Introduïu la data" msgid "Enter dates" msgstr "Introduïu dates" -#: src/component/settings/passcode.vue:213 src/page/auth/login.vue:104 +#: src/component/settings/passcode.vue:216 src/page/auth/login.vue:104 msgid "Enter the code generated by your authenticator app:" msgstr "Introduïu el codi generat per la vostra aplicació d'autenticació:" @@ -1165,7 +1191,7 @@ msgstr "Introduïu el codi generat per la vostra aplicació d'autenticació:" msgid "Enter verification code" msgstr "Introduïu el codi de verificació" -#: src/component/settings/apps.vue:109 +#: src/component/settings/apps.vue:112 msgid "Enter your password to confirm the action and continue:" msgstr "Introduïu la vostra contrasenya per confirmar l'acció i continueu:" @@ -1174,7 +1200,7 @@ msgstr "Introduïu la vostra contrasenya per confirmar l'acció i continueu:" msgid "Error" msgstr "Error" -#: src/app/routes.js:374 src/component/navigation.vue:1348 +#: src/app/routes.js:382 src/component/navigation.vue:1372 msgid "Errors" msgstr "Errors" @@ -1210,13 +1236,13 @@ msgstr "L'extracció de metadades amb ExifTool és necessària per a un suport c msgid "Experimental Features" msgstr "Característiques experimentals" -#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:453 -#: src/component/service/edit.vue:157 src/component/settings/apps.vue:73 -#: src/component/settings/apps.vue:326 src/component/share/dialog.vue:62 +#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:458 +#: src/component/service/edit.vue:158 src/component/settings/apps.vue:73 +#: src/component/settings/apps.vue:329 src/component/share/dialog.vue:62 msgid "Expires" msgstr "Caduca" -#: src/component/photo/edit/details.vue:396 +#: src/component/photo/edit/details.vue:370 msgid "Exposure" msgstr "Exposició" @@ -1224,7 +1250,7 @@ msgstr "Exposició" msgid "Extract still images and generate thumbnails while indexing." msgstr "Extraieu imatges fixes i genereu miniatures mentre indexeu." -#: src/component/photo/edit/details.vue:444 +#: src/component/photo/edit/details.vue:418 msgid "F Number" msgstr "Número F" @@ -1240,7 +1266,7 @@ msgstr "Cares" msgid "Failed removing link" msgstr "No s'ha pogut eliminar l'enllaç" -#: src/page/connect.vue:106 src/page/connect.vue:110 +#: src/page/connect.vue:107 src/page/connect.vue:111 msgid "Failed to connect account." msgstr "No s'ha pogut connectar el compte." @@ -1248,8 +1274,8 @@ msgstr "No s'ha pogut connectar el compte." msgid "Failed updating link" msgstr "No s'ha pogut actualitzar l'enllaç" -#: src/component/user/edit/dialog.vue:143 -#: src/component/user/edit/dialog.vue:144 src/page/settings/account.vue:128 +#: src/component/user/edit/dialog.vue:144 +#: src/component/user/edit/dialog.vue:145 src/page/settings/account.vue:128 #: src/page/settings/account.vue:130 msgid "Family Name" msgstr "Nom de familia" @@ -1258,15 +1284,15 @@ msgstr "Nom de familia" msgid "Fast" msgstr "Ràpida" -#: src/component/album/edit/dialog.vue:159 -#: src/component/label/edit/dialog.vue:85 -#: src/component/people/edit/dialog.vue:85 +#: src/component/album/edit/dialog.vue:160 +#: src/component/label/edit/dialog.vue:86 +#: src/component/people/edit/dialog.vue:86 #: src/component/photo/edit/info.vue:287 msgid "Favorite" msgstr "Favorit" -#: src/app/routes.js:222 src/component/navigation.vue:893 -#: src/options/options.js:202 src/page/albums.vue:97 +#: src/app/routes.js:230 src/component/navigation.vue:903 +#: src/options/options.js:202 src/page/albums.vue:98 msgid "Favorites" msgstr "Favorits" @@ -1274,7 +1300,7 @@ msgstr "Favorits" msgid "Feature Request" msgstr "Sol·licitud de funció" -#: src/component/navigation.vue:1456 +#: src/component/navigation.vue:1482 msgid "Feedback" msgstr "Opinions" @@ -1282,11 +1308,12 @@ msgstr "Opinions" msgid "Female" msgstr "Femení" -#: src/component/photo/edit/info.vue:214 src/model/file.js:290 +#: src/component/photo/edit/info.vue:57 src/component/photo/edit/info.vue:214 +#: src/model/file.js:290 msgid "File" msgstr "Fitxer" -#: src/app/routes.js:343 +#: src/app/routes.js:351 msgid "File Browser" msgstr "Navegador de fitxers" @@ -1309,8 +1336,8 @@ msgstr "Tamany arxiu" msgid "Filename" msgstr "Nom del fitxer" -#: src/component/navigation.vue:1930 src/component/photo/edit/dialog.vue:267 -#: src/component/photo/edit/dialog.vue:284 +#: src/component/navigation.vue:1973 src/component/photo/edit/dialog.vue:279 +#: src/component/photo/edit/dialog.vue:298 msgid "Files" msgstr "Arxius" @@ -1322,26 +1349,26 @@ msgstr "Els fitxers amb noms seqüencials com \"IMG_1234 (2)\" i \"IMG_1234 (3)\ msgid "First page" msgstr "Primera pàgina" -#: src/component/photo/edit/details.vue:465 +#: src/component/photo/edit/details.vue:439 msgid "Focal Length" msgstr "Longitud focal" -#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:118 -#: src/component/service/edit.vue:189 src/component/service/edit.vue:194 -#: src/component/service/upload.vue:90 src/component/service/upload.vue:96 +#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:119 +#: src/component/service/edit.vue:190 src/component/service/edit.vue:195 +#: src/component/service/upload.vue:91 src/component/service/upload.vue:97 #: src/model/folder.js:199 src/page/library/browse.vue:182 msgid "Folder" msgstr "Carpeta" -#: src/page/library/browse.vue:365 +#: src/page/library/browse.vue:367 msgid "Folder contains %{n} files" msgstr "La carpeta conté %{n} fitxers" -#: src/page/library/browse.vue:356 +#: src/page/library/browse.vue:358 msgid "Folder is empty" msgstr "La carpeta està buida" -#: src/app/routes.js:202 src/component/navigation.vue:1225 +#: src/app/routes.js:210 src/component/navigation.vue:1247 #: src/options/options.js:207 msgid "Folders" msgstr "Carpetes" @@ -1358,7 +1385,7 @@ msgstr "FPS" msgid "Frames" msgstr "Marcs" -#: src/options/auth.js:54 src/options/auth.js:64 +#: src/options/auth.js:55 src/options/auth.js:65 msgid "Full Access" msgstr "Accés complet" @@ -1370,7 +1397,7 @@ msgstr "Pantalla completa" msgid "General" msgstr "General" -#: src/component/settings/apps.vue:364 +#: src/component/settings/apps.vue:367 msgid "Generate" msgstr "Generar" @@ -1390,8 +1417,8 @@ msgstr "Generat" msgid "Get Started" msgstr "Comença" -#: src/component/user/edit/dialog.vue:120 -#: src/component/user/edit/dialog.vue:121 src/page/settings/account.vue:106 +#: src/component/user/edit/dialog.vue:121 +#: src/component/user/edit/dialog.vue:122 src/page/settings/account.vue:106 #: src/page/settings/account.vue:108 msgid "Given Name" msgstr "Nom de pila" @@ -1416,7 +1443,7 @@ msgstr "Verd" msgid "Grey" msgstr "Gris" -#: src/options/admin.js:22 src/options/auth.js:10 +#: src/options/admin.js:26 src/options/auth.js:11 msgid "Guest" msgstr "Convidat" @@ -1432,15 +1459,15 @@ msgstr "Ajuda" msgid "Help & Support" msgstr "Ajuda & Suport" -#: src/component/navigation.vue:1327 src/component/people/edit/dialog.vue:98 +#: src/component/navigation.vue:1351 src/component/people/edit/dialog.vue:99 msgid "Hidden" msgstr "Ocult" -#: src/app/routes.js:358 +#: src/app/routes.js:366 msgid "Hidden Files" msgstr "Fitxers ocults" -#: src/page/people/new.vue:165 src/page/people/recognized.vue:205 +#: src/page/people/new.vue:166 src/page/people/recognized.vue:206 msgid "Hide" msgstr "Amagar" @@ -1456,7 +1483,7 @@ msgstr "Alt" msgid "High Dynamic Range (HDR)" msgstr "Alt rang dinàmic (HDR)" -#: src/page/about/feedback.vue:103 +#: src/page/about/feedback.vue:104 msgid "How can we help?" msgstr "Com podem ajudar?" @@ -1464,11 +1491,11 @@ msgstr "Com podem ajudar?" msgid "Hybrid" msgstr "Híbrid" -#: src/component/settings/passcode.vue:389 +#: src/component/settings/passcode.vue:392 msgid "If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account." msgstr "Si perdeu l'accés a l'aplicació o al dispositiu d'autenticació, podeu utilitzar el codi de recuperació per recuperar l'accés al vostre compte." -#: src/component/photo/edit/info.vue:63 src/component/photo/edit/labels.vue:46 +#: src/component/photo/edit/info.vue:65 src/component/photo/edit/labels.vue:46 #: src/component/photo/view/cards.vue:532 src/model/file.js:218 #: src/options/options.js:281 msgid "Image" @@ -1478,7 +1505,7 @@ msgstr "Imatge" msgid "Image Quality" msgstr "Qualitat d'imatge" -#: src/page/library.vue:46 src/page/library/import.vue:152 +#: src/page/library.vue:46 src/page/library/import.vue:153 #: src/page/settings/general.vue:357 msgid "Import" msgstr "Importa" @@ -1503,8 +1530,8 @@ msgstr "S'està important %{s}..." msgid "Importing files to originals…" msgstr "S'estan important fitxers als originals..." -#: src/component/photo/edit/files.vue:515 -#: src/component/photo/edit/files.vue:520 +#: src/component/photo/edit/files.vue:517 +#: src/component/photo/edit/files.vue:522 msgid "in" msgstr "polçades" @@ -1522,11 +1549,11 @@ msgstr "Incloeu fitxers d'imatge RAW quan baixeu piles i arxius." msgid "Include sidecar files when downloading stacks and archives." msgstr "Incloeu fitxers sidecar quan baixeu piles i arxius." -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Increase storage size or delete files to continue." msgstr "Augmenta la mida d'emmagatzematge o suprimeix fitxers per continuar." -#: src/component/navigation.vue:1946 src/page/library.vue:36 +#: src/component/navigation.vue:1990 src/page/library.vue:36 #: src/page/settings/content.vue:34 msgid "Index" msgstr "Índex" @@ -1556,11 +1583,11 @@ msgstr "Informació" msgid "Instance ID" msgstr "ID de la instància" -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Insufficient storage." msgstr "Emmagatzematge insuficient." -#: src/component/service/edit.vue:209 +#: src/component/service/edit.vue:210 msgid "Interval" msgstr "Interval" @@ -1581,7 +1608,7 @@ msgstr "Adreça no vàlida" msgid "Invalid country" msgstr "País no vàlid" -#: src/component/photo/edit/details.vue:174 +#: src/component/photo/edit/details.vue:169 msgid "Invalid date" msgstr "Data no vàlida" @@ -1590,7 +1617,7 @@ msgstr "Data no vàlida" msgid "Invalid parameters" msgstr "Paràmetres no és vàlida" -#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:197 +#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:199 msgid "Invalid photo selected" msgstr "S'ha seleccionat una foto no vàlida" @@ -1602,8 +1629,8 @@ msgstr "Hora no vàlida" msgid "Invalid URL" msgstr "URL no vàlid" -#: src/component/settings/passcode.vue:314 -#: src/component/settings/passcode.vue:391 +#: src/component/settings/passcode.vue:317 +#: src/component/settings/passcode.vue:394 msgid "It is a one-time use code that will disable 2FA for your account when you use it." msgstr "És un codi d'ús únic que desactivarà 2FA per al vostre compte quan l'utilitzeu." @@ -1627,7 +1654,7 @@ msgstr "Límit de mida JPEG: %{n}px" msgid "JPEGs and thumbnails are automatically rendered as needed." msgstr "Els JPEG i les miniatures es representen automàticament segons sigui necessari." -#: src/component/photo/edit/details.vue:581 +#: src/component/photo/edit/details.vue:555 msgid "Keywords" msgstr "Paraules clau" @@ -1636,9 +1663,9 @@ msgstr "Paraules clau" msgid "Label" msgstr "Etiqueta" -#: src/app/routes.js:389 src/component/navigation.vue:1177 -#: src/component/photo/edit/dialog.vue:188 -#: src/component/photo/edit/dialog.vue:205 src/options/options.js:206 +#: src/app/routes.js:397 src/component/navigation.vue:1197 +#: src/component/photo/edit/dialog.vue:196 +#: src/component/photo/edit/dialog.vue:215 src/options/options.js:206 #: src/page/settings/general.vue:255 msgid "Labels" msgstr "Etiquetes" @@ -1655,11 +1682,11 @@ msgstr "Lanczos: Preservació de detalls, artefactes mínims" msgid "Language" msgstr "Idioma" -#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:435 +#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:440 msgid "Last Active" msgstr "Últim actiu" -#: src/page/admin/users.vue:81 +#: src/page/admin/users.vue:83 msgid "Last Login" msgstr "Últim inici de sessió" @@ -1675,42 +1702,41 @@ msgstr "Última sincronització" msgid "Last Used" msgstr "Últim utilitzat" -#: src/component/photo/edit/details.vue:298 #: src/component/photo/edit/info.vue:373 msgid "Latitude" msgstr "Latitud" -#: src/options/admin.js:43 src/options/auth.js:29 +#: src/options/admin.js:47 src/options/auth.js:30 msgid "LDAP/AD" msgstr "LDAP/AD" -#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:86 -#: src/page/about/about.vue:62 src/page/about/about.vue:132 +#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:87 +#: src/page/about/about.vue:62 src/page/about/about.vue:133 #: src/page/connect.vue:67 src/page/help.vue:36 msgid "Learn more" msgstr "Saber-ne més" -#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:135 +#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:137 #: src/page/labels.vue:132 msgid "Learn More" msgstr "Saber-ne més" -#: src/component/navigation.vue:2017 +#: src/component/navigation.vue:2066 msgid "Legal Information" msgstr "Informació legal" -#: src/component/photo/edit/details.vue:417 +#: src/component/photo/edit/details.vue:391 #: src/component/photo/view/cards.vue:480 msgid "Lens" msgstr "Lent" -#: src/app/routes.js:443 src/app/routes.js:459 src/app/routes.js:475 -#: src/component/navigation.vue:1267 src/page/settings/general.vue:507 +#: src/app/routes.js:451 src/app/routes.js:467 src/app/routes.js:483 +#: src/component/navigation.vue:1290 src/page/settings/general.vue:507 msgid "Library" msgstr "Biblioteca" #: src/page/connect.vue:45 src/app/routes.js:69 -#: src/component/navigation.vue:1478 src/component/photo/edit/details.vue:559 +#: src/component/navigation.vue:1504 src/component/photo/edit/details.vue:533 #: src/page/about/license.vue:28 msgid "License" msgstr "Llicència" @@ -1723,7 +1749,7 @@ msgstr "M'agrada" msgid "Lime" msgstr "Llima" -#: src/page/library/browse.vue:369 +#: src/page/library/browse.vue:371 msgid "Limit reached, showing first %{n} files" msgstr "S'ha assolit el límit, mostrant els primers %{n} fitxers" @@ -1731,7 +1757,7 @@ msgstr "S'ha assolit el límit, mostrant els primers %{n} fitxers" msgid "Linear: Very Smooth, Best Performance" msgstr "Lineal: molt suau, millor rendiment" -#: src/model/link.js:117 src/options/auth.js:30 src/options/auth.js:31 +#: src/model/link.js:117 src/options/auth.js:31 src/options/auth.js:32 msgid "Link" msgstr "Enllaç" @@ -1749,7 +1775,7 @@ msgstr "Vista de llista" msgid "Live" msgstr "En viu" -#: src/app/routes.js:236 src/component/navigation.vue:749 +#: src/app/routes.js:244 src/component/navigation.vue:755 msgid "Live Photos" msgstr "Fotos en directe" @@ -1765,21 +1791,24 @@ msgstr "S'estan carregant elements..." msgid "Loading..." msgstr "Carregant..." -#: src/options/admin.js:35 src/options/auth.js:22 src/options/auth.js:27 +#: src/options/admin.js:39 src/options/auth.js:23 src/options/auth.js:28 #: src/options/options.js:38 src/page/settings/general.vue:107 msgid "Local" msgstr "Local" -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Local Time" msgstr "Hora local" -#: src/page/settings/account.vue:665 src/page/settings/account.vue:667 -#: src/component/album/edit/dialog.vue:92 src/component/photo/edit/info.vue:65 -#: src/component/photo/edit/labels.vue:48 +#: src/page/settings/account.vue:671 src/page/settings/account.vue:673 +#: src/component/album/edit/dialog.vue:93 +#: src/component/photo/edit/details.vue:38 +#: src/component/photo/edit/details.vue:116 +#: src/component/photo/edit/details.vue:210 +#: src/component/photo/edit/info.vue:67 src/component/photo/edit/labels.vue:48 #: src/component/photo/view/cards.vue:555 src/component/photo/view/list.vue:117 -#: src/component/sidebar/info.vue:107 src/page/albums.vue:99 -#: src/page/settings/account.vue:557 src/page/settings/account.vue:559 +#: src/component/sidebar/info.vue:107 src/page/albums.vue:100 +#: src/page/settings/account.vue:563 src/page/settings/account.vue:565 msgid "Location" msgstr "Ubicació" @@ -1787,20 +1816,19 @@ msgstr "Ubicació" msgid "Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues." msgstr "Els missatges de registre apareixen aquí sempre que PhotoPrism troba fitxers trencats o hi ha altres problemes potencials." -#: src/component/navigation.vue:1552 src/component/navigation.vue:1840 +#: src/component/navigation.vue:1579 src/component/navigation.vue:1877 msgid "Login" msgstr "Iniciar sessió" -#: src/component/navigation.vue:1759 +#: src/component/navigation.vue:1791 msgid "Logout" msgstr "Tancar sessió" -#: src/component/navigation.vue:1962 src/page/library.vue:59 +#: src/component/navigation.vue:2007 src/page/library.vue:59 #: src/page/settings/general.vue:557 msgid "Logs" msgstr "Logs" -#: src/component/photo/edit/details.vue:324 #: src/component/photo/edit/info.vue:379 msgid "Longitude" msgstr "Longitut" @@ -1813,7 +1841,7 @@ msgstr "Baix" msgid "Magenta" msgstr "Magenta" -#: src/component/photo/edit/files.vue:489 +#: src/component/photo/edit/files.vue:491 msgid "Main Color" msgstr "Color principal" @@ -1821,12 +1849,16 @@ msgstr "Color principal" msgid "Male" msgstr "Home" -#: src/page/connect.vue:164 src/page/connect.vue:246 -#: src/page/about/about.vue:171 src/page/connect.vue:168 -#: src/page/connect.vue:255 +#: src/page/connect.vue:165 src/page/connect.vue:248 +#: src/page/about/about.vue:173 src/page/connect.vue:169 +#: src/page/connect.vue:257 msgid "Manage Account" msgstr "Gestiona el compte" +#: src/options/admin.js:10 src/options/auth.js:7 +msgid "Manager" +msgstr "Gerent" + #: src/component/photo/edit/info.vue:49 src/component/photo/edit/labels.vue:38 msgid "Manual" msgstr "Manual" @@ -1843,11 +1875,11 @@ msgstr "Mapes" msgid "Marker" msgstr "Marcador" -#: src/component/user/add/dialog.vue:69 +#: src/component/user/add/dialog.vue:70 msgid "Maximum number of accounts has been reached." msgstr "S'ha assolit el nombre màxim de comptes." -#: src/app/routes.js:229 src/component/navigation.vue:688 +#: src/app/routes.js:237 src/component/navigation.vue:693 #: src/options/options.js:199 msgid "Media" msgstr "Mitjans de comunicació" @@ -1864,7 +1896,7 @@ msgstr "Pertinença" msgid "Merge %{a} with %{b}?" msgstr "Combinar %{a} amb %{b}?" -#: src/page/about/feedback.vue:102 +#: src/page/about/feedback.vue:103 msgid "Message" msgstr "Missatge" @@ -1876,7 +1908,7 @@ msgstr "Missatge enviat" msgid "Metadata" msgstr "Metadades" -#: src/options/auth.js:56 src/options/auth.js:72 +#: src/options/auth.js:57 src/options/auth.js:73 msgid "Metrics" msgstr "Mètriques" @@ -1884,7 +1916,7 @@ msgstr "Mètriques" msgid "Minimize" msgstr "Minimitza" -#: src/component/photo/edit/files.vue:509 src/component/photo/edit/info.vue:367 +#: src/component/photo/edit/files.vue:511 src/component/photo/edit/info.vue:367 msgid "Missing" msgstr "Falta la pàgina d'enviament" @@ -1892,17 +1924,17 @@ msgstr "Falta la pàgina d'enviament" msgid "Missing or invalid configuration" msgstr "Falta la configuració o no és vàlida" -#: src/app/routes.js:163 src/component/navigation.vue:1129 +#: src/app/routes.js:171 src/component/navigation.vue:1147 #: src/options/options.js:205 src/page/settings/general.vue:230 msgid "Moments" msgstr "Moments" -#: src/component/navigation.vue:383 +#: src/component/navigation.vue:385 msgid "Monochrome" msgstr "Monocrom" -#: src/page/settings/account.vue:475 src/component/photo/edit/details.vue:137 -#: src/component/photo/toolbar.vue:342 +#: src/page/settings/account.vue:481 src/component/photo/edit/details.vue:139 +#: src/component/photo/toolbar.vue:344 msgid "Month" msgstr "Mes" @@ -1922,7 +1954,7 @@ msgstr "El més rellevant" msgid "Move Files" msgstr "Mou arxius" -#: src/component/settings/password.vue:107 +#: src/component/settings/password.vue:108 msgid "Must have at least %{n} characters." msgstr "Ha de tenir almenys %{n} caràcters." @@ -1930,20 +1962,20 @@ msgstr "Ha de tenir almenys %{n} caràcters." msgid "Mute" msgstr "Silenciar" -#: src/page/about/feedback.vue:121 src/page/about/feedback.vue:122 -#: src/component/album/edit/dialog.vue:77 -#: src/component/label/edit/dialog.vue:71 -#: src/component/people/edit/dialog.vue:71 -#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:57 +#: src/page/about/feedback.vue:122 src/page/about/feedback.vue:123 +#: src/component/album/edit/dialog.vue:78 +#: src/component/label/edit/dialog.vue:72 +#: src/component/people/edit/dialog.vue:72 +#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:59 #: src/component/photo/edit/info.vue:125 src/component/photo/edit/people.vue:36 -#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:310 -#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:286 -#: src/page/albums.vue:98 src/page/auth/login.vue:168 +#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:311 +#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:289 +#: src/page/albums.vue:99 src/page/auth/login.vue:168 #: src/page/people/new.vue:68 src/page/settings/services.vue:37 msgid "Name" msgstr "Nom" -#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:60 +#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:65 #: src/component/label/edit/dialog.vue:19 #: src/component/people/edit/dialog.vue:19 #: src/component/photo/edit/labels.vue:30 @@ -1953,7 +1985,7 @@ msgstr "Nom" msgid "Name too long" msgstr "Nom massa llarg" -#: src/page/admin/users.vue:204 src/options/options.js:361 +#: src/page/admin/users.vue:206 src/options/options.js:361 #: src/options/options.js:371 src/page/settings/services.vue:75 msgid "Never" msgstr "Mai" @@ -1962,13 +1994,13 @@ msgstr "Mai" msgid "New" msgstr "Nou" -#: src/component/settings/password.vue:106 +#: src/component/settings/password.vue:107 msgid "New Password" msgstr "Nova contrasenya" #: src/component/album/edit/dialog.vue:24 src/component/photo/toolbar.vue:114 #: src/component/photo/toolbar.vue:126 src/component/photo/toolbar.vue:136 -#: src/page/albums.vue:100 +#: src/page/albums.vue:101 msgid "Newest First" msgstr "El més nou primer" @@ -1984,15 +2016,15 @@ msgstr "Pàgina següent" msgid "Next visual" msgstr "Següent visual" -#: src/component/people/merge/dialog.vue:47 -#: src/component/photo/archive/dialog.vue:47 +#: src/component/people/merge/dialog.vue:48 +#: src/component/photo/archive/dialog.vue:48 #: src/component/photo/edit/info.vue:281 src/component/photo/edit/info.vue:297 #: src/component/photo/edit/info.vue:313 src/component/photo/edit/info.vue:329 #: src/component/photo/edit/info.vue:344 msgid "No" msgstr "No" -#: src/page/albums.vue:607 src/page/albums.vue:282 +#: src/page/albums.vue:612 src/page/albums.vue:282 msgid "No albums found" msgstr "No s'han trobat àlbums" @@ -2000,7 +2032,7 @@ msgstr "No s'han trobat àlbums" msgid "No data available" msgstr "No hi ha dades disponibles" -#: src/page/labels.vue:523 src/page/labels.vue:155 +#: src/page/labels.vue:528 src/page/labels.vue:155 msgid "No labels found" msgstr "No s'han trobat etiquetes" @@ -2013,15 +2045,15 @@ msgid "No more" msgstr "No més" #: src/component/photo/edit/people.vue:34 src/page/people/new.vue:346 -#: src/page/people/new.vue:443 src/page/people/new.vue:103 -#: src/page/people/recognized.vue:531 src/page/people/recognized.vue:146 +#: src/page/people/new.vue:446 src/page/people/new.vue:103 +#: src/page/people/recognized.vue:536 src/page/people/recognized.vue:146 msgid "No people found" msgstr "No s'han trobat persones" #: src/component/lightbox.vue:365 src/component/photo/view/cards.vue:144 #: src/component/photo/view/list.vue:82 src/component/photo/view/mosaic.vue:68 -#: src/page/album/photos.vue:488 src/page/library/browse.vue:123 -#: src/page/photos.vue:626 src/page/places.vue:624 src/page/places.vue:730 +#: src/page/album/photos.vue:499 src/page/library/browse.vue:123 +#: src/page/photos.vue:636 src/page/places.vue:624 src/page/places.vue:730 msgid "No pictures found" msgstr "No s'han trobat imatges" @@ -2030,7 +2062,11 @@ msgstr "No s'han trobat imatges" msgid "No recently edited pictures" msgstr "No hi ha imatges editades recentment" -#: src/component/navigation.vue:1655 +#: src/component/location/dialog.vue:166 +msgid "No results" +msgstr "Sense resultats" + +#: src/component/navigation.vue:1686 msgid "No server connection" msgstr "No hi ha connexió amb el servidor" @@ -2042,7 +2078,7 @@ msgstr "No s'ha configurat cap servidor." msgid "No services configured." msgstr "No s'ha configurat cap servei." -#: src/component/confirm/sponsor.vue:72 +#: src/component/confirm/sponsor.vue:73 msgid "No thanks" msgstr "No gràcies" @@ -2052,17 +2088,17 @@ msgstr "No hi ha cap advertiment ni error que contingui aquesta paraula clau. Ti #: src/component/photo/view/cards.vue:154 src/component/photo/view/list.vue:59 #: src/component/photo/view/list.vue:92 src/component/photo/view/mosaic.vue:78 -#: src/component/upload/dialog.vue:208 +#: src/component/upload/dialog.vue:210 msgid "Non-photographic and low-quality images require a review before they appear in search results." msgstr "Les imatges no fotogràfiques i de baixa qualitat requereixen una revisió abans que apareguin als resultats de la cerca." -#: src/options/admin.js:47 src/options/auth.js:32 src/options/options.js:212 +#: src/options/admin.js:51 src/options/auth.js:33 src/options/options.js:212 #: src/options/options.js:328 msgid "None" msgstr "Cap" -#: src/common/util.js:853 src/component/lightbox.vue:633 -#: src/component/service/upload.vue:75 src/component/service/upload.vue:87 +#: src/component/lightbox.vue:633 src/component/service/upload.vue:75 +#: src/component/service/upload.vue:87 msgid "Not allowed" msgstr "No es permet" @@ -2074,8 +2110,7 @@ msgstr "No trobat" msgid "Not sorted." msgstr "No ordenat." -#: src/common/util.js:858 src/component/lightbox.vue:627 -#: src/component/lightbox.vue:744 +#: src/component/lightbox.vue:627 src/component/lightbox.vue:744 msgid "Not supported" msgstr "No s'admet" @@ -2083,15 +2118,15 @@ msgstr "No s'admet" msgid "Note you may manually manage your originals folder and importing is optional." msgstr "Tingueu en compte que podeu gestionar manualment la vostra carpeta d'originals i la importació és opcional." -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "Note:" msgstr "Nota:" -#: src/component/service/add.vue:120 +#: src/component/service/add.vue:121 msgid "Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload." msgstr "Nota: només els servidors WebDAV, com Nextcloud o PhotoPrism, es poden configurar com a servei remot per a la còpia de seguretat i la càrrega de fitxers." -#: src/component/photo/edit/details.vue:603 +#: src/component/photo/edit/details.vue:577 msgid "Notes" msgstr "Notes" @@ -2099,8 +2134,8 @@ msgstr "Notes" msgid "Nothing to see here yet." msgstr "Encara no hi ha res a veure aquí." -#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:115 -#: src/component/settings/apps.vue:390 +#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:125 +#: src/component/settings/apps.vue:393 msgid "Nothing was found." msgstr "No es va trobar res." @@ -2108,7 +2143,7 @@ msgstr "No es va trobar res." msgid "Offline" msgstr "Offline" -#: src/options/admin.js:39 src/options/auth.js:28 +#: src/options/admin.js:43 src/options/auth.js:29 msgid "OIDC" msgstr "OIDC" @@ -2118,11 +2153,11 @@ msgstr "D'acord" #: src/component/album/edit/dialog.vue:25 src/component/photo/toolbar.vue:115 #: src/component/photo/toolbar.vue:127 src/component/photo/toolbar.vue:137 -#: src/page/albums.vue:101 +#: src/page/albums.vue:102 msgid "Oldest First" msgstr "El més vell primer" -#: src/component/settings/webdav.vue:77 +#: src/component/settings/webdav.vue:78 msgid "On Windows, enter the following resource in the connection dialog:" msgstr "A Windows, introduïu el recurs següent al diàleg de connexió:" @@ -2134,11 +2169,11 @@ msgstr "La generació de miniatures sota demanda pot provocar un ús elevat de l msgid "Once a week" msgstr "Una vegada per setmana" -#: src/page/albums.vue:609 +#: src/page/albums.vue:614 msgid "One album found" msgstr "S'ha trobat un àlbum" -#: src/page/library/browse.vue:358 +#: src/page/library/browse.vue:360 msgid "One file found" msgstr "S'ha trobat un fitxer" @@ -2146,24 +2181,24 @@ msgstr "S'ha trobat un fitxer" msgid "One file uploaded" msgstr "S'ha penjat un fitxer" -#: src/page/library/browse.vue:360 +#: src/page/library/browse.vue:362 msgid "One folder found" msgstr "S'ha trobat una carpeta" -#: src/page/labels.vue:525 +#: src/page/labels.vue:530 msgid "One label found" msgstr "S'ha trobat una etiqueta" -#: src/page/people/new.vue:348 src/page/people/new.vue:445 -#: src/page/people/recognized.vue:533 +#: src/page/people/new.vue:348 src/page/people/new.vue:448 +#: src/page/people/recognized.vue:538 msgid "One person found" msgstr "S'ha trobat una persona" -#: src/page/album/photos.vue:490 src/page/photos.vue:628 +#: src/page/album/photos.vue:501 src/page/photos.vue:638 msgid "One picture found" msgstr "S'ha trobat una imatge" -#: src/component/settings/passcode.vue:478 +#: src/component/settings/passcode.vue:481 msgid "Only locally managed accounts can be set up for authentication with 2FA." msgstr "Només els comptes gestionats localment es poden configurar per a l'autenticació amb 2FA." @@ -2171,7 +2206,7 @@ msgstr "Només els comptes gestionats localment es poden configurar per a l'aute msgid "Open" msgstr "Obert" -#: src/component/service/add.vue:86 src/component/service/add.vue:107 +#: src/component/service/add.vue:87 src/component/service/add.vue:108 msgid "optional" msgstr "opcional" @@ -2183,7 +2218,7 @@ msgstr "o" msgid "Orange" msgstr "Taronja" -#: src/page/settings/account.vue:571 src/page/settings/account.vue:573 +#: src/page/settings/account.vue:577 src/page/settings/account.vue:579 msgid "Organization" msgstr "Organització" @@ -2199,7 +2234,7 @@ msgstr "Els noms dels fitxers originals s'emmagatzemaran i s'indexaran." msgid "Original Name" msgstr "Nom original" -#: src/component/navigation.vue:1304 src/model/file.js:196 +#: src/component/navigation.vue:1328 src/model/file.js:196 #: src/options/options.js:413 src/page/library/browse.vue:65 #: src/page/settings/content.vue:356 src/page/settings/general.vue:532 msgid "Originals" @@ -2210,7 +2245,7 @@ msgstr "Originals" msgid "Other" msgstr "Altres" -#: src/page/about/about.vue:77 src/page/about/about.vue:83 +#: src/page/about/about.vue:78 src/page/about/about.vue:84 msgid "Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible." msgstr "La nostra missió és proporcionar la solució més fàcil d'utilitzar i de privadesa per mantenir les vostres imatges organitzades i accessibles." @@ -2222,7 +2257,7 @@ msgstr "A l'aire lliure" msgid "Page {0}, Current page" msgstr "Pàgina {0}, pàgina actual" -#: src/component/photo/edit/files.vue:352 src/model/photo.js:859 +#: src/component/photo/edit/files.vue:352 src/model/photo.js:896 msgid "Pages" msgstr "Pàgines" @@ -2234,15 +2269,15 @@ msgstr "Navegació de paginació" msgid "Panorama" msgstr "Panorama" -#: src/component/navigation.vue:402 +#: src/component/navigation.vue:404 msgid "Panoramas" msgstr "Panoràmiques" -#: src/component/user/add/dialog.vue:114 src/component/user/add/dialog.vue:115 -#: src/component/service/add.vue:106 src/component/service/edit.vue:352 -#: src/component/settings/apps.vue:121 src/component/settings/passcode.vue:106 -#: src/component/settings/passcode.vue:413 src/component/share/dialog.vue:27 -#: src/options/auth.js:91 src/page/auth/login.vue:196 +#: src/component/user/add/dialog.vue:115 src/component/user/add/dialog.vue:116 +#: src/component/service/add.vue:107 src/component/service/edit.vue:353 +#: src/component/settings/apps.vue:124 src/component/settings/passcode.vue:109 +#: src/component/settings/passcode.vue:416 src/component/share/dialog.vue:27 +#: src/options/auth.js:92 src/page/auth/login.vue:196 msgid "Password" msgstr "Contrasenya" @@ -2250,9 +2285,9 @@ msgstr "Contrasenya" msgid "Password changed" msgstr "S’ha canviat la contrasenya" -#: src/app/routes.js:404 src/app/routes.js:428 src/component/navigation.vue:845 -#: src/component/navigation.vue:1898 src/component/photo/edit/dialog.vue:228 -#: src/component/photo/edit/dialog.vue:245 src/options/options.js:201 +#: src/app/routes.js:412 src/app/routes.js:436 src/component/navigation.vue:853 +#: src/component/navigation.vue:1939 src/component/photo/edit/dialog.vue:238 +#: src/component/photo/edit/dialog.vue:257 src/options/options.js:201 #: src/page/settings/general.vue:180 msgid "People" msgstr "Gent" @@ -2273,23 +2308,23 @@ msgstr "Suprimeix els fitxers permanentment per alliberar emmagatzematge." msgid "Person" msgstr "Persona" -#: src/options/auth.js:42 +#: src/options/auth.js:43 msgid "Personal" msgstr "Personal" -#: src/model/photo.js:1273 +#: src/model/photo.js:1310 msgid "Photo" msgstr "Foto" -#: src/page/about/about.vue:156 +#: src/page/about/about.vue:158 msgid "PhotoPrism is 100% self-funded and independent." msgstr "PhotoPrism és 100% autofinançat i independent." -#: src/page/about/about.vue:92 +#: src/page/about/about.vue:93 msgid "PhotoPrism+ Membership" msgstr "Membre de PhotoPrism+" -#: src/app/routes.js:156 +#: src/app/routes.js:164 msgid "Photos" msgstr "Fotos" @@ -2310,27 +2345,27 @@ msgstr "Lloc" msgid "Place & Time" msgstr "Lloc i hora" -#: src/app/routes.js:303 src/app/routes.js:309 src/app/routes.js:315 -#: src/app/routes.js:330 src/component/navigation.vue:986 -#: src/component/navigation.vue:1914 src/options/options.js:203 +#: src/app/routes.js:311 src/app/routes.js:317 src/app/routes.js:323 +#: src/app/routes.js:338 src/component/navigation.vue:999 +#: src/component/navigation.vue:1956 src/options/options.js:203 #: src/page/places.vue:51 src/page/settings/general.vue:609 #: src/page/settings/general.vue:638 msgid "Places" msgstr "Llocs" -#: src/component/settings/password.vue:129 +#: src/component/settings/password.vue:130 msgid "Please confirm your new password." msgstr "Si us plau, confirmeu la vostra nova contrasenya." -#: src/component/settings/apps.vue:185 +#: src/component/settings/apps.vue:188 msgid "Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:" msgstr "Copieu la següent contrasenya de l'aplicació generada aleatòriament i guardeu-la en un lloc segur, ja que no la podreu tornar a veure:" -#: src/component/upload/dialog.vue:203 +#: src/component/upload/dialog.vue:205 msgid "Please do not upload any private, unlawful or offensive pictures." msgstr "Si us plau, no carregueu cap imatge privada, il·legal o ofensiva." -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Please don't upload photos containing offensive content." msgstr "Si us plau, no carregueu fotos que continguin contingut ofensiu." @@ -2338,11 +2373,11 @@ msgstr "Si us plau, no carregueu fotos que continguin contingut ofensiu." msgid "Please enter OTP character {0}" msgstr "Introduïu el caràcter OTP {0}" -#: src/component/settings/password.vue:66 +#: src/component/settings/password.vue:67 msgid "Please note that changing your password will log you out on other devices and browsers." msgstr "Tingueu en compte que si canvieu la contrasenya, tanqueu la sessió en altres dispositius i navegadors." -#: src/page/connect.vue:148 src/page/connect.vue:152 +#: src/page/connect.vue:149 src/page/connect.vue:153 msgid "Please restart your instance for the changes to take effect." msgstr "Si us plau, reinicieu la vostra instància perquè els canvis tinguin efecte." @@ -2362,11 +2397,11 @@ msgstr "Límit de mida del PNG: %{n}px" msgid "Portrait" msgstr "Retrat" -#: src/component/service/edit.vue:273 +#: src/component/service/edit.vue:274 msgid "Preserve filenames" msgstr "Conserva els noms de fitxers" -#: src/component/upload/dialog.vue:162 +#: src/component/upload/dialog.vue:164 msgid "Press enter to create a new album." msgstr "Premeu Intro per crear un àlbum nou." @@ -2403,8 +2438,8 @@ msgstr "Visual anterior" msgid "Primary" msgstr "Primari" -#: src/app/routes.js:271 src/component/album/edit/dialog.vue:176 -#: src/component/navigation.vue:531 src/component/photo/edit/info.vue:303 +#: src/app/routes.js:279 src/component/album/edit/dialog.vue:177 +#: src/component/navigation.vue:533 src/component/photo/edit/info.vue:303 #: src/page/settings/general.vue:280 msgid "Private" msgstr "Privada" @@ -2429,7 +2464,7 @@ msgstr "Filtre de qualitat" msgid "Quality Score" msgstr "Nivell de qualitat" -#: src/page/admin/users.vue:169 +#: src/page/admin/users.vue:171 msgid "r" msgstr "r" @@ -2460,7 +2495,7 @@ msgstr "Mode de només lectura" #: src/component/album/edit/dialog.vue:26 src/component/photo/toolbar.vue:116 #: src/component/photo/toolbar.vue:128 src/component/photo/toolbar.vue:138 -#: src/page/albums.vue:102 +#: src/page/albums.vue:103 msgid "Recently Added" msgstr "Recentment afegit" @@ -2468,7 +2503,7 @@ msgstr "Recentment afegit" msgid "Recently Archived" msgstr "Arxivat recentment" -#: src/component/photo/toolbar.vue:139 src/page/albums.vue:103 +#: src/component/photo/toolbar.vue:139 src/page/albums.vue:104 msgid "Recently Edited" msgstr "Editat recentment" @@ -2493,24 +2528,24 @@ msgstr "Codi de recuperació" msgid "Red" msgstr "Vermell" -#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:126 -#: src/component/album/toolbar.vue:79 src/component/photo/toolbar.vue:169 -#: src/page/albums.vue:173 src/page/labels.vue:112 +#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:128 +#: src/component/album/toolbar.vue:84 src/component/photo/toolbar.vue:169 +#: src/page/albums.vue:175 src/page/labels.vue:112 #: src/page/library/browse.vue:90 src/page/library/errors.vue:81 #: src/page/people/new.vue:54 src/page/people/recognized.vue:88 msgid "Refresh" msgstr "Actualitzar" -#: src/app/routes.js:337 src/component/navigation.vue:943 -#: src/component/navigation.vue:1026 +#: src/app/routes.js:345 src/component/navigation.vue:955 +#: src/component/navigation.vue:1040 msgid "Regions" msgstr "Regions" -#: src/page/connect.vue:275 src/page/connect.vue:284 +#: src/page/connect.vue:277 src/page/connect.vue:286 msgid "Register" msgstr "Registra't" -#: src/component/navigation.vue:1773 src/component/update.vue:68 +#: src/component/navigation.vue:1806 src/component/update.vue:68 msgid "Reload" msgstr "Recarrega" @@ -2555,34 +2590,34 @@ msgstr "Exigir que es revisin imatges no fotogràfiques i de baixa qualitat aban msgid "Resolution" msgstr "Resolució" -#: src/page/connect.vue:179 src/page/connect.vue:183 +#: src/page/connect.vue:180 src/page/connect.vue:184 #: src/page/settings/advanced.vue:782 msgid "Restart" msgstr "Reinicia" -#: src/component/user/edit/dialog.vue:485 src/component/lightbox.vue:1221 +#: src/component/user/edit/dialog.vue:488 src/component/lightbox.vue:1221 #: src/component/photo/clipboard.vue:77 msgid "Restore" msgstr "Restaura" -#: src/component/lightbox.vue:2000 +#: src/component/lightbox.vue:2020 msgid "Restored" msgstr "Restaurat" -#: src/component/service/edit.vue:428 +#: src/component/service/edit.vue:429 msgid "Retry Limit" msgstr "Límit de torna a intentar" -#: src/component/settings/password.vue:128 +#: src/component/settings/password.vue:129 msgid "Retype Password" msgstr "Torneu a escriure la contrasenya" -#: src/app/routes.js:264 src/component/navigation.vue:505 +#: src/app/routes.js:272 src/component/navigation.vue:507 msgid "Review" msgstr "Valoració" -#: src/component/user/add/dialog.vue:171 src/component/user/edit/dialog.vue:284 -#: src/page/admin/sessions.vue:262 src/page/admin/users.vue:73 +#: src/component/user/add/dialog.vue:172 src/component/user/edit/dialog.vue:285 +#: src/page/admin/sessions.vue:263 src/page/admin/users.vue:75 msgid "Role" msgstr "Rol" @@ -2594,11 +2629,11 @@ msgstr "Files per pàgina:" msgid "Satellite" msgstr "Satèl·lit" -#: src/component/user/edit/dialog.vue:485 -#: src/component/album/edit/dialog.vue:211 -#: src/component/label/edit/dialog.vue:119 -#: src/component/people/edit/dialog.vue:132 src/component/service/edit.vue:466 -#: src/component/settings/password.vue:172 src/component/share/dialog.vue:181 +#: src/component/user/edit/dialog.vue:488 +#: src/component/album/edit/dialog.vue:212 +#: src/component/label/edit/dialog.vue:120 +#: src/component/people/edit/dialog.vue:133 src/component/service/edit.vue:467 +#: src/component/settings/password.vue:173 src/component/share/dialog.vue:181 msgid "Save" msgstr "Desar" @@ -2606,23 +2641,23 @@ msgstr "Desar" msgid "Scan" msgstr "Escaneig" -#: src/component/settings/passcode.vue:179 +#: src/component/settings/passcode.vue:182 msgid "Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:" msgstr "Escanegeu el codi QR amb la vostra aplicació d'autenticació o utilitzeu la clau de configuració que es mostra a continuació i, a continuació, introduïu el codi de verificació generat:" -#: src/component/navigation.vue:461 +#: src/component/navigation.vue:463 msgid "Scans" msgstr "Escaneigs" -#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:377 -#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:310 +#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:381 +#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:313 msgid "Scope" msgstr "Àmbit" -#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:62 -#: src/component/navigation.vue:342 src/component/navigation.vue:1866 -#: src/component/photo/toolbar.vue:57 src/options/options.js:197 -#: src/page/albums.vue:100 src/page/labels.vue:77 +#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:69 +#: src/component/location/dialog.vue:133 src/component/navigation.vue:343 +#: src/component/navigation.vue:1905 src/component/photo/toolbar.vue:57 +#: src/options/options.js:197 src/page/albums.vue:100 src/page/labels.vue:77 #: src/page/library/errors.vue:76 src/page/people/recognized.vue:66 #: src/page/places.vue:79 src/page/settings/content.vue:235 msgid "Search" @@ -2660,11 +2695,11 @@ msgstr "Seleccioneu la data" msgid "Select dates" msgstr "Seleccioneu dates" -#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:154 +#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:156 msgid "Select or create an album" msgstr "Seleccioneu o creeu un àlbum" -#: src/component/upload/dialog.vue:138 +#: src/component/upload/dialog.vue:140 msgid "Select the files to upload…" msgstr "Seleccioneu els fitxers per carregar…" @@ -2692,7 +2727,7 @@ msgstr "S'ha restaurat la selecció" msgid "Sequential Name" msgstr "Nom seqüencial" -#: src/component/service/add.vue:67 src/component/service/edit.vue:322 +#: src/component/service/add.vue:68 src/component/service/edit.vue:323 #: src/component/share/dialog.vue:25 msgid "Service URL" msgstr "URL del servei" @@ -2701,7 +2736,7 @@ msgstr "URL del servei" msgid "Services" msgstr "Serveis" -#: src/model/session.js:107 src/options/auth.js:41 src/options/auth.js:90 +#: src/model/session.js:107 src/options/auth.js:42 src/options/auth.js:91 msgid "Session" msgstr "Sessió" @@ -2709,7 +2744,7 @@ msgstr "Sessió" msgid "Session ID" msgstr "ID de sessió" -#: src/page/admin.vue:45 +#: src/page/admin.vue:44 msgid "Sessions" msgstr "Sessions" @@ -2717,22 +2752,22 @@ msgstr "Sessions" msgid "Set as Album Cover" msgstr "Estableix com a portada de l'àlbum" -#: src/app/routes.js:101 src/app/routes.js:492 src/app/routes.js:504 -#: src/app/routes.js:521 src/app/routes.js:534 src/app/routes.js:547 -#: src/component/navigation.vue:1394 src/component/navigation.vue:1806 +#: src/app/routes.js:101 src/app/routes.js:500 src/app/routes.js:512 +#: src/app/routes.js:529 src/app/routes.js:542 src/app/routes.js:555 +#: src/component/navigation.vue:1419 src/component/navigation.vue:1841 msgid "Settings" msgstr "Configuració" #: src/page/settings/account.vue:115 src/page/settings/account.vue:144 -#: src/component/settings/passcode.vue:147 +#: src/component/settings/passcode.vue:151 msgid "Settings saved" msgstr "Configuració desada" -#: src/component/service/upload.vue:131 src/component/settings/passcode.vue:160 +#: src/component/service/upload.vue:132 src/component/settings/passcode.vue:163 msgid "Setup" msgstr "Configuració" -#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:98 +#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:103 #: src/component/photo/clipboard.vue:51 src/page/settings/general.vue:382 msgid "Share" msgstr "Compartir" @@ -2749,7 +2784,7 @@ msgstr "Comparteix les teves imatges amb altres aplicacions i serveis." msgid "Show" msgstr "Mostrar" -#: src/page/people/new.vue:116 src/page/people/new.vue:233 +#: src/page/people/new.vue:116 src/page/people/new.vue:235 msgid "Show all new faces" msgstr "Mostra totes les cares noves" @@ -2794,7 +2829,7 @@ msgid "Similar" msgstr "Similars" #: src/component/photo/edit/files.vue:51 src/component/photo/edit/files.vue:341 -#: src/component/service/edit.vue:139 src/component/sidebar/info.vue:96 +#: src/component/service/edit.vue:140 src/component/sidebar/info.vue:96 msgid "Size" msgstr "Mida" @@ -2822,7 +2857,7 @@ msgstr "S'ha produït un error, torna-ho a provar" msgid "Sort by" msgstr "Ordena per" -#: src/component/album/edit/dialog.vue:142 src/component/photo/toolbar.vue:288 +#: src/component/album/edit/dialog.vue:143 src/component/photo/toolbar.vue:290 #: src/page/albums.vue:214 msgid "Sort Order" msgstr "Criteri d’ordenació" @@ -2857,7 +2892,7 @@ msgstr "Apila imatges fetes a la mateixa hora i ubicació en funció de les seve msgid "Stackable" msgstr "Apilable" -#: src/component/navigation.vue:421 src/page/settings/content.vue:136 +#: src/component/navigation.vue:423 src/page/settings/content.vue:136 msgid "Stacks" msgstr "Piles" @@ -2885,16 +2920,16 @@ msgstr "Emmagatzematge" msgid "Streets" msgstr "Carrers" -#: src/component/photo/edit/details.vue:494 +#: src/component/photo/edit/details.vue:468 #: src/component/photo/edit/labels.vue:44 msgid "Subject" msgstr "Assumpte" -#: src/page/about/feedback.vue:162 src/page/about/feedback.vue:163 +#: src/page/about/feedback.vue:163 src/page/about/feedback.vue:164 msgid "Submit" msgstr "Envia" -#: src/component/settings/passcode.vue:132 +#: src/component/settings/passcode.vue:136 msgid "Successfully activated" msgstr "S'ha activat correctament" @@ -2903,23 +2938,23 @@ msgid "Successfully Connected" msgstr "Connectat correctament" #: src/component/session/remove/dialog.vue:32 -#: src/component/settings/apps.vue:218 +#: src/component/settings/apps.vue:222 msgid "Successfully deleted" msgstr "S'ha suprimit correctament" -#: src/component/settings/passcode.vue:107 +#: src/component/settings/passcode.vue:108 msgid "Successfully verified" msgstr "Verificat correctament" -#: src/component/user/edit/dialog.vue:398 src/page/admin/users.vue:163 +#: src/component/user/edit/dialog.vue:399 src/page/admin/users.vue:165 msgid "Super Admin" msgstr "Super Administrador" -#: src/component/service/add.vue:122 +#: src/component/service/add.vue:123 msgid "Support for additional services, like Google Drive, will be added over time." msgstr "Amb el temps s'afegirà suport per a serveis addicionals, com ara Google Drive." -#: src/component/confirm/sponsor.vue:37 src/component/navigation.vue:1629 +#: src/component/confirm/sponsor.vue:38 src/component/navigation.vue:1660 msgid "Support Our Mission" msgstr "Donar suport a la nostra missió" @@ -2927,7 +2962,7 @@ msgstr "Donar suport a la nostra missió" msgid "Sync" msgstr "Sincronitza" -#: src/component/service/edit.vue:289 +#: src/component/service/edit.vue:290 msgid "Sync raw and video files" msgstr "Sincronitza fitxers en brut i de vídeo" @@ -2953,23 +2988,23 @@ msgstr "Terreny" msgid "Text" msgstr "Text" -#: src/component/photo/edit/details.vue:32 src/page/people/new.vue:71 +#: src/component/photo/edit/details.vue:40 src/page/people/new.vue:71 msgid "Text too long" msgstr "Text massa llarg" -#: src/page/about/about.vue:145 +#: src/page/about/about.vue:146 msgid "Thank You for Your Support!" msgstr "Gràcies pel teu recolzament!" -#: src/page/about/about.vue:79 src/page/about/about.vue:85 +#: src/page/about/about.vue:80 src/page/about/about.vue:86 msgid "That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality." msgstr "És per això que PhotoPrism es va crear des de zero per funcionar allà on ho necessitis, sense comprometre la llibertat, la privadesa o la funcionalitat." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "The index currently contains %{n} hidden files." msgstr "Actualment, l'índex conté %{n} fitxers ocults." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates." msgstr "És possible que el seu format no sigui compatible, que encara no s'han convertit a JPEG o que hi hagi duplicats." @@ -2984,44 +3019,44 @@ msgstr "Tema" msgid "This field is required" msgstr "Aquest camp és obligatori" -#: src/component/settings/webdav.vue:100 src/page/settings/services.vue:144 +#: src/component/settings/webdav.vue:101 src/page/settings/services.vue:147 msgid "This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local." msgstr "Això munta la carpeta originals com a unitat de xarxa i us permet obrir, editar i suprimir fitxers del vostre ordinador o telèfon intel·ligent com si fossin locals." -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Time UTC" msgstr "Hora UTC" -#: src/component/photo/edit/details.vue:219 src/page/settings/general.vue:108 +#: src/component/photo/edit/details.vue:221 src/page/settings/general.vue:108 msgid "Time Zone" msgstr "Zona horària" -#: src/component/service/edit.vue:408 +#: src/component/service/edit.vue:409 msgid "Timeout" msgstr "Delsa" -#: src/component/user/edit/dialog.vue:98 src/component/user/edit/dialog.vue:99 +#: src/component/user/edit/dialog.vue:99 src/component/user/edit/dialog.vue:100 #: src/page/settings/account.vue:84 src/page/settings/account.vue:86 msgctxt "Account" msgid "Title" msgstr "Títol" -#: src/component/photo/edit/details.vue:73 +#: src/component/photo/edit/details.vue:75 msgctxt "Photo" msgid "Title" msgstr "Títol" -#: src/component/photo/edit/info.vue:59 src/component/photo/edit/info.vue:155 +#: src/component/photo/edit/info.vue:61 src/component/photo/edit/info.vue:155 #: src/component/photo/edit/labels.vue:40 src/component/photo/view/list.vue:114 #: src/component/sidebar/info.vue:57 msgid "Title" msgstr "Títol" -#: src/page/settings/account.vue:553 src/page/settings/account.vue:555 +#: src/page/settings/account.vue:559 src/page/settings/account.vue:561 msgid "Title / Position" msgstr "Títol / posició" -#: src/page/albums.vue:83 +#: src/page/albums.vue:84 msgid "Title too long" msgstr "Títol massa llarg" @@ -3029,19 +3064,19 @@ msgstr "Títol massa llarg" msgid "to" msgstr "a" -#: src/component/settings/passcode.vue:312 +#: src/component/settings/passcode.vue:315 msgid "To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place." msgstr "Per evitar que us bloquegi el vostre compte, baixeu, imprimiu o copieu aquest codi de recuperació ara i guardeu-lo en un lloc segur." -#: src/component/settings/apps.vue:272 +#: src/component/settings/apps.vue:275 msgid "To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:" msgstr "Per generar una nova contrasenya específica de l'aplicació, introduïu el nom i l'àmbit d'autorització de l'aplicació i seleccioneu una data de caducitat:" -#: src/component/settings/passcode.vue:400 +#: src/component/settings/passcode.vue:403 msgid "To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:" msgstr "Per canviar a una aplicació o dispositiu d'autenticació nous, primer desactiveu l'autenticació de dos factors i, a continuació, reactiveu-lo:" -#: src/page/connect.vue:221 src/page/connect.vue:230 +#: src/page/connect.vue:223 src/page/connect.vue:232 msgid "To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:" msgstr "Per actualitzar, podeu introduir un codi d'activació o fer clic a \"Registrar-vos\" per registrar-vos al nostre lloc web:" @@ -3049,7 +3084,7 @@ msgstr "Per actualitzar, podeu introduir un codi d'activació o fer clic a \"Reg msgid "Today" msgstr "Avui" -#: src/component/album/toolbar.vue:70 src/component/photo/toolbar.vue:78 +#: src/component/album/toolbar.vue:71 src/component/photo/toolbar.vue:78 msgid "Toggle View" msgstr "Canvia la vista" @@ -3076,20 +3111,24 @@ msgstr "Resolució de problemes" msgid "Try again using other filters or keywords." msgstr "Torna-ho a provar amb altres filtres o paraules clau." -#: src/component/settings/passcode.vue:380 +#: src/component/settings/passcode.vue:383 msgid "Two-factor authentication has been enabled for your account." msgstr "S'ha activat l'autenticació de dos factors per al vostre compte." #: src/component/photo/edit/files.vue:58 src/component/photo/edit/files.vue:330 -#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:388 +#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:389 msgid "Type" msgstr "Tipus" -#: src/options/auth.js:13 +#: src/component/album/toolbar.vue:178 +msgid "Unable to delete" +msgstr "No es pot suprimir" + +#: src/options/auth.js:14 msgid "Unauthorized" msgstr "No autoritzat" -#: src/component/photo/edit/people.vue:94 +#: src/component/photo/edit/people.vue:95 msgid "Undo" msgstr "Desfer" @@ -3097,16 +3136,16 @@ msgstr "Desfer" msgid "Unique ID" msgstr "ID únic" -#: src/page/settings/account.vue:451 src/page/settings/account.vue:476 -#: src/page/settings/account.vue:501 src/common/util.js:487 -#: src/component/photo/edit/details.vue:21 -#: src/component/photo/edit/details.vue:111 -#: src/component/photo/edit/details.vue:138 -#: src/component/photo/edit/details.vue:164 src/component/sidebar/info.vue:43 -#: src/model/album.js:193 src/model/photo.js:323 src/model/photo.js:784 -#: src/model/photo.js:809 src/model/photo.js:832 src/model/photo.js:850 -#: src/model/photo.js:897 src/model/photo.js:905 src/model/photo.js:994 -#: src/model/photo.js:1016 src/model/photo.js:1061 src/model/photo.js:1074 +#: src/page/settings/account.vue:457 src/page/settings/account.vue:482 +#: src/page/settings/account.vue:507 src/common/util.js:488 +#: src/component/photo/edit/details.vue:27 +#: src/component/photo/edit/details.vue:113 +#: src/component/photo/edit/details.vue:140 +#: src/component/photo/edit/details.vue:166 src/component/sidebar/info.vue:43 +#: src/model/album.js:193 src/model/photo.js:331 src/model/photo.js:821 +#: src/model/photo.js:846 src/model/photo.js:869 src/model/photo.js:887 +#: src/model/photo.js:934 src/model/photo.js:942 src/model/photo.js:1031 +#: src/model/photo.js:1053 src/model/photo.js:1098 src/model/photo.js:1111 #: src/model/user.js:157 src/options/options.js:51 src/options/options.js:69 #: src/options/options.js:86 src/options/options.js:100 #: src/options/options.js:112 src/page/library/errors.vue:251 @@ -3119,7 +3158,7 @@ msgstr "Desconegut" msgid "Unregistered" msgstr "No registrat" -#: src/app/routes.js:215 src/component/navigation.vue:644 +#: src/app/routes.js:223 src/component/navigation.vue:648 msgid "Unsorted" msgstr "SeneEthiopian month 11 - LongName" @@ -3127,7 +3166,7 @@ msgstr "SeneEthiopian month 11 - LongName" msgid "Unstack" msgstr "Desapilar" -#: src/component/photo/edit/files.vue:519 src/component/photo/edit/info.vue:416 +#: src/component/photo/edit/files.vue:521 src/component/photo/edit/info.vue:416 msgid "Updated" msgstr "Actualitzat" @@ -3143,7 +3182,7 @@ msgstr "S'està actualitzant l'índex" msgid "Updating moments" msgstr "Moments d'actualització" -#: src/component/user/edit/dialog.vue:154 +#: src/component/user/edit/dialog.vue:155 msgid "Updating picture…" msgstr "S'està actualitzant la imatge..." @@ -3155,21 +3194,21 @@ msgstr "S'estan actualitzant les previsualitzacions" msgid "Updating stacks" msgstr "Actualització de les piles" -#: src/page/connect.vue:57 src/component/navigation.vue:1500 -#: src/component/navigation.vue:1614 src/component/navigation.vue:1999 +#: src/page/connect.vue:57 src/component/navigation.vue:1526 +#: src/component/navigation.vue:1644 src/component/navigation.vue:2047 #: src/page/connect.vue:58 msgid "Upgrade" msgstr "Actualitza" -#: src/page/about/about.vue:123 src/page/connect.vue:202 -#: src/component/confirm/sponsor.vue:98 src/page/about/about.vue:113 -#: src/page/connect.vue:206 +#: src/page/about/about.vue:124 src/page/connect.vue:204 +#: src/component/confirm/sponsor.vue:99 src/page/about/about.vue:114 +#: src/page/connect.vue:208 msgid "Upgrade Now" msgstr "Actualitza ara" -#: src/component/album/toolbar.vue:108 src/component/navigation.vue:1824 -#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:144 -#: src/component/upload/dialog.vue:51 src/page/albums.vue:183 +#: src/component/album/toolbar.vue:113 src/component/navigation.vue:1860 +#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:145 +#: src/component/upload/dialog.vue:51 src/page/albums.vue:185 #: src/page/labels.vue:122 src/page/library/import.vue:133 #: src/page/settings/general.vue:307 src/page/settings/services.vue:38 msgid "Upload" @@ -3179,21 +3218,21 @@ msgstr "Pujar" msgid "Upload complete" msgstr "Càrrega completa" -#: src/component/upload/dialog.vue:133 +#: src/component/upload/dialog.vue:135 msgid "Upload complete. Indexing…" msgstr "Càrrega completa. S'està indexant..." #: src/component/upload/dialog.vue:296 src/component/upload/dialog.vue:315 -#: src/component/upload/dialog.vue:129 +#: src/component/upload/dialog.vue:131 msgid "Upload failed" msgstr "La càrrega ha fallat" -#: src/component/service/edit.vue:257 +#: src/component/service/edit.vue:258 msgid "Upload local files" msgstr "Carregueu fitxers locals" -#: src/component/user/edit/dialog.vue:380 #: src/component/user/edit/dialog.vue:381 +#: src/component/user/edit/dialog.vue:382 msgid "Upload Path" msgstr "Ruta de càrrega" @@ -3201,7 +3240,7 @@ msgstr "Ruta de càrrega" msgid "Upload to WebDAV and share links with friends." msgstr "Penja a WebDAV i comparteix enllaços amb amics." -#: src/component/upload/dialog.vue:131 +#: src/component/upload/dialog.vue:133 msgid "Uploading %{n} of %{t}…" msgstr "S'està penjant %{n} de %{t}..." @@ -3214,7 +3253,7 @@ msgstr "S'estan penjant fotos..." msgid "Uploading…" msgstr "S'està carregant…" -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Uploads that may contain such images will be rejected automatically." msgstr "Les càrregues que puguin contenir aquestes imatges seran rebutjades automàticament." @@ -3222,7 +3261,7 @@ msgstr "Les càrregues que puguin contenir aquestes imatges seran rebutjades aut msgid "Use Presets" msgstr "Utilitzeu presets" -#: src/component/settings/passcode.vue:283 +#: src/component/settings/passcode.vue:286 msgid "Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:" msgstr "Utilitzeu el codi de recuperació següent per accedir al vostre compte quan no pugueu generar un codi de verificació vàlid amb la vostra aplicació d'autenticació:" @@ -3230,12 +3269,12 @@ msgstr "Utilitzeu el codi de recuperació següent per accedir al vostre compte msgid "Use your recovery code or contact an administrator for help." msgstr "Utilitzeu el vostre codi de recuperació o poseu-vos en contacte amb un administrador per obtenir ajuda." -#: src/options/admin.js:10 src/page/admin/sessions.vue:59 -#: src/page/admin/sessions.vue:242 src/model/user.js:361 src/options/auth.js:7 +#: src/options/admin.js:14 src/page/admin/sessions.vue:59 +#: src/page/admin/sessions.vue:243 src/model/user.js:361 src/options/auth.js:8 msgid "User" msgstr "Usuari" -#: src/component/navigation.vue:1979 +#: src/component/navigation.vue:2025 msgid "User Guide" msgstr "Guia de l'usuari" @@ -3243,14 +3282,14 @@ msgstr "Guia de l'usuari" msgid "User Interface" msgstr "Interfície d'usuari" -#: src/component/user/add/dialog.vue:87 src/component/user/add/dialog.vue:88 -#: src/page/admin/sessions.vue:220 src/page/admin/users.vue:71 -#: src/component/service/add.vue:85 src/component/service/edit.vue:337 +#: src/component/user/add/dialog.vue:88 src/component/user/add/dialog.vue:89 +#: src/page/admin/sessions.vue:221 src/page/admin/users.vue:73 +#: src/component/service/add.vue:86 src/component/service/edit.vue:338 #: src/component/share/dialog.vue:26 msgid "Username" msgstr "Usuari" -#: src/component/navigation.vue:1435 +#: src/component/navigation.vue:1461 msgid "Users" msgstr "Usuaris" @@ -3260,18 +3299,18 @@ msgstr "Usuaris" msgid "Vector" msgstr "Vector" -#: src/component/navigation.vue:440 +#: src/component/navigation.vue:442 msgid "Vectors" msgstr "Vectors" -#: src/component/settings/passcode.vue:227 src/page/auth/login.vue:144 +#: src/component/settings/passcode.vue:230 src/page/auth/login.vue:144 msgid "Verification Code" msgstr "Codi de verificació" #: src/component/photo/view/cards.vue:363 #: src/component/photo/view/cards.vue:491 src/component/photo/view/list.vue:190 #: src/component/photo/view/mosaic.vue:207 src/model/file.js:221 -#: src/model/photo.js:921 src/model/photo.js:939 src/options/options.js:293 +#: src/model/photo.js:958 src/model/photo.js:976 src/options/options.js:293 msgid "Video" msgstr "Vídeo" @@ -3280,12 +3319,12 @@ msgstr "Vídeo" msgid "Video Duration" msgstr "Durada del vídeo" -#: src/app/routes.js:243 src/component/navigation.vue:728 +#: src/app/routes.js:251 src/component/navigation.vue:734 #: src/options/options.js:200 msgid "Videos" msgstr "Videos" -#: src/component/photo/toolbar.vue:261 src/component/photo/view/cards.vue:350 +#: src/component/photo/toolbar.vue:263 src/component/photo/view/cards.vue:350 #: src/component/photo/view/mosaic.vue:194 msgid "View" msgstr "Veure" @@ -3294,11 +3333,11 @@ msgstr "Veure" msgid "View search results as a list." msgstr "Veure els resultats de la cerca com una llista." -#: src/options/admin.js:14 src/options/auth.js:8 +#: src/options/admin.js:18 src/options/auth.js:9 msgid "Viewer" msgstr "Visor" -#: src/page/admin/sessions.vue:271 src/options/auth.js:12 +#: src/page/admin/sessions.vue:272 src/options/auth.js:13 msgid "Visitor" msgstr "Visitant" @@ -3310,36 +3349,36 @@ msgstr "Similitud visual" msgid "Warning" msgstr "Avís" -#: src/page/about/feedback.vue:60 +#: src/page/about/feedback.vue:61 msgid "We appreciate your feedback!" msgstr "Agraïm els vostres comentaris!" -#: src/page/about/feedback.vue:63 +#: src/page/about/feedback.vue:64 msgid "We do our best to respond within five business days or less." msgstr "Fem tot el possible per respondre en un termini de cinc dies laborables o menys." -#: src/component/user/add/dialog.vue:235 src/component/user/edit/dialog.vue:415 -#: src/page/admin/users.vue:80 +#: src/component/user/add/dialog.vue:236 src/component/user/edit/dialog.vue:416 +#: src/page/admin/users.vue:82 msgid "Web Login" msgstr "Inici de sessió web" -#: src/component/user/add/dialog.vue:248 src/component/user/edit/dialog.vue:432 -#: src/page/admin/users.vue:82 src/options/auth.js:55 src/options/auth.js:68 +#: src/component/user/add/dialog.vue:249 src/component/user/edit/dialog.vue:433 +#: src/page/admin/users.vue:84 src/options/auth.js:56 src/options/auth.js:69 #: src/options/options.js:444 msgid "WebDAV" msgstr "WebDAV" -#: src/component/settings/webdav.vue:51 +#: src/component/settings/webdav.vue:52 msgid "WebDAV clients can connect to PhotoPrism using the following URL:" msgstr "Els clients WebDAV es poden connectar a PhotoPrism mitjançant l'URL següent:" -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism." msgstr "" "Els clients WebDAV, com ara l'Explorador de Windows de Microsoft o el Finder d'Apple, es poden connectar directament\n" " FotoPrisma." -#: src/component/service/upload.vue:50 src/component/share/dialog.vue:220 +#: src/component/service/upload.vue:51 src/component/share/dialog.vue:220 msgid "WebDAV Upload" msgstr "Càrrega WebDAV" @@ -3347,8 +3386,8 @@ msgstr "Càrrega WebDAV" msgid "WebGL support is disabled in your browser" msgstr "El suport de WebGL està desactivat al vostre navegador" -#: src/page/settings/account.vue:615 src/page/settings/account.vue:709 -#: src/page/settings/account.vue:601 +#: src/page/settings/account.vue:621 src/page/settings/account.vue:715 +#: src/page/settings/account.vue:607 msgid "Website" msgstr "Pàgina web" @@ -3356,12 +3395,12 @@ msgstr "Pàgina web" msgid "White" msgstr "Blanc" -#: src/page/settings/account.vue:532 +#: src/page/settings/account.vue:538 msgid "Work Details" msgstr "Detalls del treball" -#: src/page/settings/account.vue:500 src/component/photo/edit/details.vue:163 -#: src/component/photo/toolbar.vue:315 src/page/albums.vue:159 +#: src/page/settings/account.vue:506 src/component/photo/edit/details.vue:165 +#: src/component/photo/toolbar.vue:317 src/page/albums.vue:159 msgid "Year" msgstr "Any" @@ -3369,21 +3408,21 @@ msgstr "Any" msgid "Yellow" msgstr "Groc" -#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:58 -#: src/component/photo/archive/dialog.vue:58 +#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:59 +#: src/component/photo/archive/dialog.vue:59 #: src/component/photo/clipboard.vue:200 src/component/photo/edit/files.vue:365 #: src/component/photo/edit/files.vue:395 #: src/component/photo/edit/files.vue:401 #: src/component/photo/edit/files.vue:407 -#: src/component/photo/edit/files.vue:510 src/component/photo/edit/info.vue:281 +#: src/component/photo/edit/files.vue:512 src/component/photo/edit/info.vue:281 #: src/component/photo/edit/info.vue:297 src/component/photo/edit/info.vue:313 #: src/component/photo/edit/info.vue:329 src/component/photo/edit/info.vue:344 -#: src/component/photo/toolbar.vue:434 +#: src/component/photo/toolbar.vue:436 msgid "Yes" msgstr "Si" -#: src/component/confirm/sponsor.vue:59 src/page/about/about.vue:158 -#: src/page/connect.vue:315 +#: src/component/confirm/sponsor.vue:60 src/page/about/about.vue:160 +#: src/page/connect.vue:317 msgid "You are welcome to contact us at membership@photoprism.app for questions regarding your membership." msgstr "Podeu posar-vos en contacte amb nosaltres a membership@photoprism.app per a preguntes sobre la vostra pertinença." @@ -3395,7 +3434,11 @@ msgstr "Només pots baixar un àlbum" msgid "You can only download one label" msgstr "Només podeu baixar una etiqueta" -#: src/component/upload/dialog.vue:203 +#: src/component/location/dialog.vue:178 +msgid "You can search for a location or move the marker on the map to change the position:" +msgstr "Podeu cercar una ubicació o moure el marcador al mapa per canviar-ne la posició:" + +#: src/component/upload/dialog.vue:205 msgid "You can upload up to %{n} files for test purposes." msgstr "Podeu penjar fins a %{n} fitxers amb finalitats de prova." @@ -3408,7 +3451,7 @@ msgstr "Només podeu seleccionar un element" msgid "You may rescan your library to find additional faces." msgstr "Podeu tornar a escanejar la vostra biblioteca per trobar cares addicionals." -#: src/page/connect.vue:146 src/page/connect.vue:150 +#: src/page/connect.vue:147 src/page/connect.vue:151 msgid "Your account has been successfully connected." msgstr "El vostre compte s'ha connectat correctament." @@ -3416,8 +3459,8 @@ msgstr "El vostre compte s'ha connectat correctament." msgid "Your browser does not support WebGL" msgstr "El vostre navegador no admet WebGL" -#: src/component/confirm/sponsor.vue:43 src/page/about/about.vue:97 -#: src/page/about/about.vue:156 src/page/connect.vue:220 +#: src/component/confirm/sponsor.vue:44 src/page/about/about.vue:98 +#: src/page/about/about.vue:158 src/page/connect.vue:222 msgid "Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy." msgstr "El vostre suport continuat ens ajuda a oferir actualitzacions periòdiques i a mantenir-nos independents, de manera que podem complir la nostra missió i protegir la vostra privadesa." @@ -3498,9 +3541,6 @@ msgstr "Apropa o redueix" #~ msgid "Open Folder" #~ msgstr "Obre la carpeta" -#~ msgid "Cannot copy to clipboard" -#~ msgstr "No es pot copiar al porta-retalls" - #~ msgid "Sound" #~ msgstr "So" diff --git a/frontend/src/locales/cs.po b/frontend/src/locales/cs.po index 52e517558..303005b56 100644 --- a/frontend/src/locales/cs.po +++ b/frontend/src/locales/cs.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: ci@photoprism.app\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2025-04-04 08:03+0000\n" +"PO-Revision-Date: 2025-07-06 08:58+0000\n" "Last-Translator: DeepL \n" "Language-Team: Czech \n" "Language: cs\n" @@ -11,7 +11,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -"X-Generator: Weblate 5.10.4\n" +"X-Generator: Weblate 5.12.2\n" "Generated-By: easygettext\n" #: src/locales.js:268 @@ -42,7 +42,7 @@ msgstr "{0} vybráno" msgid "{0}-{1} of {2}" msgstr "{0}-{1} z {2}" -#: src/page/albums.vue:612 +#: src/page/albums.vue:617 msgid "%{n} albums found" msgstr "%{n} nalezených alb" @@ -50,25 +50,25 @@ msgstr "%{n} nalezených alb" msgid "%{n} files uploaded" msgstr "%{n} nahraných souborů" -#: src/page/library/browse.vue:362 +#: src/page/library/browse.vue:364 msgid "%{n} folders found" msgstr "%{n} nalezených složek" -#: src/component/navigation.vue:1676 +#: src/component/navigation.vue:1707 msgid "%{n} GB of %{q} GB used" msgstr "%{n} GB z %{q} GB použito" -#: src/page/labels.vue:528 +#: src/page/labels.vue:533 msgid "%{n} labels found" msgstr "%{n} nalezených štítků" -#: src/page/people/new.vue:350 src/page/people/new.vue:447 -#: src/page/people/recognized.vue:536 +#: src/page/people/new.vue:350 src/page/people/new.vue:450 +#: src/page/people/recognized.vue:541 msgid "%{n} people found" msgstr "%{n} nalezeno lidí" -#: src/page/album/photos.vue:308 src/page/album/photos.vue:493 -#: src/page/photos.vue:441 src/page/photos.vue:631 +#: src/page/album/photos.vue:313 src/page/album/photos.vue:504 +#: src/page/photos.vue:446 src/page/photos.vue:641 msgid "%{n} pictures found" msgstr "%{n} nalezených obrázků" @@ -88,12 +88,12 @@ msgstr "1 hodina" msgid "12 hours" msgstr "12 hodin" -#: src/component/user/edit/dialog.vue:452 src/page/settings/account.vue:324 -#: src/component/settings/passcode.vue:75 +#: src/component/user/edit/dialog.vue:453 src/page/settings/account.vue:325 +#: src/component/settings/passcode.vue:78 msgid "2-Factor Authentication" msgstr "Dvoufaktorové ověřování" -#: src/component/user/edit/dialog.vue:451 src/options/auth.js:46 +#: src/component/user/edit/dialog.vue:452 src/options/auth.js:47 msgid "2FA" msgstr "2FA" @@ -109,20 +109,20 @@ msgstr "Kliknutím zkopírujete do schránky." msgid "A new version of %{s} is available:" msgstr "K dispozici je nová verze %{s}:" -#: src/component/user/edit/dialog.vue:233 -#: src/component/user/edit/dialog.vue:234 src/page/about/about.vue:56 +#: src/component/user/edit/dialog.vue:234 +#: src/component/user/edit/dialog.vue:235 src/page/about/about.vue:56 #: src/page/settings/account.vue:248 src/page/settings/account.vue:249 -#: src/app/routes.js:63 src/component/navigation.vue:1521 -#: src/page/people/recognized.vue:292 +#: src/app/routes.js:63 src/component/navigation.vue:1547 +#: src/page/people/recognized.vue:296 msgid "About" msgstr "O nás" -#: src/options/auth.js:26 src/options/auth.js:44 +#: src/options/auth.js:27 src/options/auth.js:45 msgid "Access Token" msgstr "Přístupový token" -#: src/component/navigation.vue:87 src/component/navigation.vue:1788 -#: src/component/service/upload.vue:71 src/model/service.js:96 +#: src/component/navigation.vue:87 src/component/navigation.vue:1822 +#: src/component/service/upload.vue:72 src/model/service.js:96 #: src/model/user.js:171 src/page/settings.vue:85 #: src/page/settings/general.vue:582 msgid "Account" @@ -136,7 +136,7 @@ msgstr "Účet vytvořen" msgid "Account deleted" msgstr "Účet vymazán" -#: src/page/admin/users.vue:335 +#: src/page/admin/users.vue:337 msgid "Account restored" msgstr "Obnovení účtu" @@ -157,8 +157,8 @@ msgstr "Akce" msgid "Actions" msgstr "Akce" -#: src/page/connect.vue:294 src/component/settings/passcode.vue:346 -#: src/page/connect.vue:303 +#: src/page/connect.vue:296 src/component/settings/passcode.vue:349 +#: src/page/connect.vue:305 msgid "Activate" msgstr "Aktivovat" @@ -174,20 +174,20 @@ msgstr "Aktivací seřadíte vzestupně." msgid "Activate to sort descending." msgstr "Aktivací seřadíte sestupně." -#: src/page/connect.vue:231 src/page/connect.vue:240 +#: src/page/connect.vue:233 src/page/connect.vue:242 msgid "Activation Code" msgstr "Aktivační kód" -#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:83 -#: src/component/settings/apps.vue:448 +#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:92 +#: src/component/settings/apps.vue:451 msgid "Add" msgstr "Přidat" -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:246 msgid "Add %{s}?" msgstr "Přidat %{s}?" -#: src/component/user/add/dialog.vue:56 src/component/service/add.vue:49 +#: src/component/user/add/dialog.vue:57 src/component/service/add.vue:50 msgid "Add Account" msgstr "Přidat účet" @@ -204,8 +204,8 @@ msgid "Add Link" msgstr "Přidat odkaz" #: src/component/photo/edit/people.vue:25 -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:57 -#: src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:57 +#: src/page/people/new.vue:246 msgid "Add person?" msgstr "Přidat osobu?" @@ -221,10 +221,15 @@ msgstr "Přidat obrázky z výsledků vyhledávání jejich výběrem." msgid "Add to album" msgstr "Přidat do alba" -#: src/component/photo/edit/files.vue:514 +#: src/component/photo/edit/files.vue:516 msgid "Added" msgstr "Přidáno" +#: src/component/location/dialog.vue:68 src/component/location/dialog.vue:90 +#: src/component/photo/edit/details.vue:246 +msgid "Adjust Location" +msgstr "Upravit umístění" + #: src/options/admin.js:6 src/options/auth.js:6 msgid "Admin" msgstr "Admin" @@ -245,7 +250,7 @@ msgstr "Po 3 dnech" msgid "After 7 days" msgstr "Po 7 dnech" -#: src/component/settings/passcode.vue:93 +#: src/component/settings/passcode.vue:96 msgid "After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:" msgstr "Po zadání hesla pro potvrzení můžete nastavit dvoufaktorové ověřování pomocí kompatibilní ověřovací aplikace nebo zařízení:" @@ -277,12 +282,16 @@ msgstr "Album" msgid "Album Backups" msgstr "Zálohy alb" -#: src/page/albums.vue:674 +#: src/page/albums.vue:685 msgid "Album created" msgstr "Album vytvořeno" -#: src/app/routes.js:176 src/component/album/toolbar.vue:51 -#: src/component/navigation.vue:604 src/component/navigation.vue:1882 +#: src/page/album/photos.vue:589 +msgid "Album deleted" +msgstr "Album smazáno" + +#: src/app/routes.js:184 src/component/album/toolbar.vue:55 +#: src/component/navigation.vue:607 src/component/navigation.vue:1922 #: src/component/photo/edit/info.vue:220 src/options/options.js:198 msgid "Albums" msgstr "Alba" @@ -295,7 +304,7 @@ msgstr "Alba vymazána" msgid "All" msgstr "Všechny" -#: src/page/albums.vue:465 +#: src/page/albums.vue:470 msgid "All %{n} albums loaded" msgstr "Všech %{n} alb načteno" @@ -311,8 +320,8 @@ msgstr "Všichni %{n} lidé načteni" msgid "All Cameras" msgstr "Všechny fotoaparáty" -#: src/component/photo/toolbar.vue:74 src/page/albums.vue:44 -#: src/page/albums.vue:240 src/page/albums.vue:746 +#: src/component/photo/toolbar.vue:74 src/page/albums.vue:45 +#: src/page/albums.vue:242 src/page/albums.vue:757 msgid "All Categories" msgstr "Všechny kategorie" @@ -344,7 +353,7 @@ msgstr "Všechny měsíce" msgid "All originals" msgstr "Všechny originály" -#: src/component/photo/toolbar.vue:76 src/page/albums.vue:93 +#: src/component/photo/toolbar.vue:76 src/page/albums.vue:94 msgid "All Years" msgstr "Všechny roky" @@ -356,7 +365,7 @@ msgstr "Alternativně lze nahrát soubory přímo do WebDAV serverů jako je Nex msgid "Altitude" msgstr "Nadmořská výška" -#: src/component/photo/edit/details.vue:272 +#: src/component/photo/edit/details.vue:297 msgid "Altitude (m)" msgstr "Nadmořská výška (m)" @@ -364,8 +373,7 @@ msgstr "Nadmořská výška (m)" msgid "AM" msgstr "AM" -#: src/app/routes.js:257 src/component/navigation.vue:791 -#: src/component/photo/edit/files.vue:364 +#: src/app/routes.js:265 src/component/photo/edit/files.vue:364 #: src/component/photo/view/cards.vue:327 #: src/component/photo/view/cards.vue:511 src/component/photo/view/list.vue:184 #: src/component/photo/view/mosaic.vue:171 src/options/options.js:301 @@ -376,43 +384,47 @@ msgstr "Animované" msgid "Animation" msgstr "Animace" +#: src/component/navigation.vue:797 +msgid "Animations" +msgstr "Animace" + #: src/component/share/dialog.vue:207 msgid "Any private photos and videos remain private and won't be shared." msgstr "Jakékoliv soukromé fotografie nebo videa zůstanou soukromé a nebudou sdílena." -#: src/component/service/edit.vue:372 +#: src/component/service/edit.vue:373 msgid "API Key" msgstr "API klíč" -#: src/page/admin/sessions.vue:357 src/options/auth.js:25 +#: src/page/admin/sessions.vue:361 src/options/auth.js:26 msgid "Application" msgstr "Aplikace" -#: src/component/photo/edit/details.vue:641 +#: src/component/photo/edit/details.vue:615 msgid "Apply" msgstr "Použít" #: src/component/photo/clipboard.vue:64 -#: src/component/photo/edit/details.vue:640 +#: src/component/photo/edit/details.vue:614 #: src/component/photo/view/cards.vue:416 msgid "Approve" msgstr "Potvrdit" -#: src/page/settings/account.vue:374 src/component/settings/apps.vue:91 +#: src/page/settings/account.vue:378 src/component/settings/apps.vue:94 msgid "Apps and Devices" msgstr "Aplikace a zařízení" -#: src/app/routes.js:287 src/component/lightbox.vue:1207 -#: src/component/navigation.vue:555 src/component/photo/clipboard.vue:142 +#: src/app/routes.js:295 src/component/lightbox.vue:1207 +#: src/component/navigation.vue:557 src/component/photo/clipboard.vue:142 #: src/component/photo/view/cards.vue:398 src/page/settings/general.vue:432 msgid "Archive" msgstr "Archivovat" -#: src/component/lightbox.vue:1982 src/component/photo/edit/info.vue:433 +#: src/component/lightbox.vue:2002 src/component/photo/edit/info.vue:433 msgid "Archived" msgstr "Archivováno" -#: src/component/photo/archive/dialog.vue:34 +#: src/component/photo/archive/dialog.vue:35 msgid "Are you sure you want to archive the selection?" msgstr "Jste si jisti, že chcete označené archivovat?" @@ -420,19 +432,23 @@ msgstr "Jste si jisti, že chcete označené archivovat?" msgid "Are you sure you want to delete these albums?" msgstr "Jste si jisti, že chcete tato alba vymazat?" -#: src/component/label/delete/dialog.vue:34 +#: src/component/label/delete/dialog.vue:35 msgid "Are you sure you want to delete these labels?" msgstr "Jste si jisti, že chcete tyto štítky vymazat?" -#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:36 +#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:37 msgid "Are you sure you want to delete this account?" msgstr "Jste si jisti, že chcete tento účet vymazat?" +#: src/component/album/toolbar.vue:136 +msgid "Are you sure you want to delete this album?" +msgstr "Opravdu chcete toto album odstranit?" + #: src/component/photo/clipboard.vue:199 msgid "Are you sure you want to permanently delete these pictures?" msgstr "Jste si jisti, že chcete tyto fotografie trvale odstranit?" -#: src/component/file/delete/dialog.vue:34 +#: src/component/file/delete/dialog.vue:35 msgid "Are you sure you want to permanently delete this file?" msgstr "Jste si jisti, že chcete tento soubor trvale odstranit?" @@ -441,7 +457,7 @@ msgstr "Jste si jisti, že chcete tento soubor trvale odstranit?" msgid "Are you sure?" msgstr "Jste si jistí?" -#: src/component/photo/edit/details.vue:537 +#: src/component/photo/edit/details.vue:511 msgid "Artist" msgstr "Umělec" @@ -449,14 +465,14 @@ msgstr "Umělec" msgid "Aspect Ratio" msgstr "Poměr stran" -#: src/app/routes.js:250 src/component/navigation.vue:770 +#: src/app/routes.js:258 src/component/navigation.vue:776 #: src/options/options.js:297 msgid "Audio" msgstr "Audio" -#: src/component/user/add/dialog.vue:190 src/component/user/edit/dialog.vue:309 -#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:281 -#: src/page/admin/users.vue:75 +#: src/component/user/add/dialog.vue:191 src/component/user/edit/dialog.vue:310 +#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:282 +#: src/page/admin/users.vue:77 msgid "Authentication" msgstr "Ověřování" @@ -464,11 +480,11 @@ msgstr "Ověřování" msgid "Auto" msgstr "Auto" -#: src/component/settings/apps.vue:151 +#: src/component/settings/apps.vue:154 msgid "Back" msgstr "Zpět" -#: src/component/scroll.vue:20 +#: src/component/scroll.vue:18 msgid "Back to top" msgstr "Zpět na začátek" @@ -480,26 +496,26 @@ msgstr "Záloha" msgid "Badge" msgstr "Odznak" -#: src/component/user/edit/dialog.vue:361 #: src/component/user/edit/dialog.vue:362 +#: src/component/user/edit/dialog.vue:363 msgid "Base Path" msgstr "Základní cesta" -#: src/page/about/about.vue:95 src/page/connect.vue:220 +#: src/page/about/about.vue:96 src/page/connect.vue:222 msgid "Become a member today, support our mission and enjoy our member benefits!" msgstr "Staňte se členem ještě dnes, podpořte naše poslání a využívejte naše členské výhody!" -#: src/component/confirm/sponsor.vue:51 src/page/about/about.vue:99 +#: src/component/confirm/sponsor.vue:52 src/page/about/about.vue:100 msgid "Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services." msgstr "Vzhledem k tomu, že jsme stoprocentně financováni z vlastních zdrojů a nezávislí, můžeme vám slíbit, že vaše údaje nikdy neprodáme a že budeme vždy transparentní, pokud jde o náš software a služby." -#: src/component/user/edit/dialog.vue:258 -#: src/component/user/edit/dialog.vue:259 src/page/settings/account.vue:227 +#: src/component/user/edit/dialog.vue:259 +#: src/component/user/edit/dialog.vue:260 src/page/settings/account.vue:227 #: src/page/settings/account.vue:228 msgid "Bio" msgstr "Biografie" -#: src/page/settings/account.vue:431 +#: src/page/settings/account.vue:437 msgid "Birth Date" msgstr "Datum narození" @@ -520,7 +536,7 @@ msgid "Brown" msgstr "Hnědá" #: src/component/photo/edit/files.vue:263 src/component/photo/toolbar.vue:141 -#: src/component/upload/dialog.vue:240 +#: src/component/upload/dialog.vue:242 msgid "Browse" msgstr "Procházet" @@ -548,16 +564,16 @@ msgstr "Nahlásit chybu" msgid "Busy, please wait…" msgstr "Zaneprázdněn, čekejte prosím…" -#: src/page/connect.vue:317 +#: src/page/connect.vue:319 msgid "By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct." msgstr "Používáním softwaru a služeb, které poskytujeme, souhlasíte s našimi podmínkami služby, zásadami ochrany osobních údajů a kodexem chování." -#: src/app/routes.js:189 src/component/navigation.vue:1081 +#: src/app/routes.js:197 src/component/navigation.vue:1097 #: src/options/options.js:204 src/page/settings/general.vue:205 msgid "Calendar" msgstr "Kalendář" -#: src/component/photo/edit/details.vue:346 src/component/photo/toolbar.vue:232 +#: src/component/photo/edit/details.vue:320 src/component/photo/toolbar.vue:234 #: src/component/photo/view/cards.vue:467 src/component/photo/view/list.vue:116 msgid "Camera" msgstr "Fotoaparát" @@ -570,12 +586,12 @@ msgstr "Sériové číslo kamery" msgid "Can't access your authenticator app or device?" msgstr "Nemůžete získat přístup k aplikaci nebo zařízení autentizátoru?" -#: src/page/album/photos.vue:317 src/page/photos.vue:450 +#: src/page/album/photos.vue:322 src/page/photos.vue:455 msgid "Can't load more, limit reached" msgstr "Nelze načíst více, dosaženo limitu" #: src/common/clipboard.js:102 src/common/clipboard.js:139 -#: src/page/albums.vue:684 src/page/albums.vue:700 src/page/labels.vue:293 +#: src/page/albums.vue:695 src/page/albums.vue:711 src/page/labels.vue:293 #: src/page/labels.vue:313 src/page/library/browse.vue:233 #: src/page/library/browse.vue:249 src/page/people/new.vue:278 #: src/page/people/new.vue:294 src/page/people/recognized.vue:305 @@ -584,30 +600,35 @@ msgid "Can't select more items" msgstr "Není možné vybrat více položek" #: src/component/session/remove/dialog.vue:45 -#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:473 -#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:119 +#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:474 +#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:120 #: src/component/album/delete/dialog.vue:43 -#: src/component/album/edit/dialog.vue:199 src/component/confirm/dialog.vue:43 -#: src/component/file/delete/dialog.vue:47 -#: src/component/label/delete/dialog.vue:47 -#: src/component/label/edit/dialog.vue:107 -#: src/component/people/edit/dialog.vue:120 +#: src/component/album/edit/dialog.vue:200 src/component/confirm/dialog.vue:43 +#: src/component/file/delete/dialog.vue:48 +#: src/component/label/delete/dialog.vue:48 +#: src/component/label/edit/dialog.vue:108 +#: src/component/location/dialog.vue:200 +#: src/component/people/edit/dialog.vue:121 #: src/component/photo/album/dialog.vue:78 src/component/service/add.vue:19 -#: src/component/service/edit.vue:455 src/component/service/remove.vue:49 -#: src/component/service/upload.vue:117 src/component/settings/apps.vue:352 -#: src/component/settings/passcode.vue:249 -#: src/component/settings/passcode.vue:333 -#: src/component/settings/password.vue:159 src/component/share/dialog.vue:28 -#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:123 +#: src/component/service/edit.vue:456 src/component/service/remove.vue:50 +#: src/component/service/upload.vue:118 src/component/settings/apps.vue:355 +#: src/component/settings/passcode.vue:252 +#: src/component/settings/passcode.vue:336 +#: src/component/settings/password.vue:160 src/component/share/dialog.vue:28 +#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:124 #: src/page/library/import.vue:119 src/page/library/index.vue:128 msgid "Cancel" msgstr "Zrušit" -#: src/component/photo/edit/details.vue:87 src/component/photo/edit/info.vue:61 +#: src/common/util.js:863 src/common/util.js:870 +msgid "Cannot copy to clipboard" +msgstr "Nelze zkopírovat do schránky" + +#: src/component/photo/edit/details.vue:89 src/component/photo/edit/info.vue:63 #: src/component/photo/edit/labels.vue:42 #: src/component/photo/view/cards.vue:445 src/component/sidebar/info.vue:72 msgid "Caption" -msgstr "Titulek" +msgstr "Popisek" #: src/component/photo/toolbar.vue:100 src/component/photo/toolbar.vue:106 msgid "Cards" @@ -617,17 +638,17 @@ msgstr "Karty" msgid "Carousel slide {0} of {1}" msgstr "Kolotočový snímek {0} z {1}" -#: src/page/about/feedback.vue:82 src/page/about/feedback.vue:83 -#: src/component/album/edit/dialog.vue:128 src/component/photo/toolbar.vue:397 +#: src/page/about/feedback.vue:83 src/page/about/feedback.vue:84 +#: src/component/album/edit/dialog.vue:129 src/component/photo/toolbar.vue:399 #: src/page/albums.vue:187 msgid "Category" msgstr "Kategorie" -#: src/component/user/edit/dialog.vue:191 src/page/settings/account.vue:201 +#: src/component/user/edit/dialog.vue:192 src/page/settings/account.vue:201 msgid "Change Avatar" msgstr "Změnit fotku" -#: src/page/settings/account.vue:297 src/component/settings/password.vue:48 +#: src/page/settings/account.vue:297 src/component/settings/password.vue:49 msgid "Change Password" msgstr "Změnit heslo" @@ -644,17 +665,17 @@ msgid "Change private flag" msgstr "Změnit soukromou vlaječku" #: src/component/user/add/dialog.vue:108 src/component/user/add/dialog.vue:113 -#: src/component/user/edit/dialog.vue:90 src/component/user/edit/dialog.vue:95 +#: src/component/user/edit/dialog.vue:91 src/component/user/edit/dialog.vue:96 #: src/page/settings/account.vue:121 src/page/settings/account.vue:126 msgid "Changes could not be saved" msgstr "Změny nemohly být uloženy" -#: src/component/user/edit/dialog.vue:83 src/component/user/edit/dialog.vue:159 +#: src/component/user/edit/dialog.vue:84 src/component/user/edit/dialog.vue:160 #: src/component/album/edit/dialog.vue:73 -#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1941 +#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1961 #: src/component/photo/edit/files.vue:162 src/component/service/edit.vue:90 #: src/component/share/dialog.vue:92 src/component/share/dialog.vue:111 -#: src/page/albums.vue:677 src/page/people/recognized.vue:119 +#: src/page/albums.vue:688 src/page/people/recognized.vue:119 #: src/page/settings/advanced.vue:62 src/page/settings/content.vue:62 #: src/page/settings/general.vue:108 msgid "Changes successfully saved" @@ -668,7 +689,7 @@ msgstr "Změny pokročilých nastavení vyžadují restart, aby se projevily." msgid "Checked" msgstr "Zkontrolováno" -#: src/component/photo/edit/files.vue:495 +#: src/component/photo/edit/files.vue:497 msgid "Chroma" msgstr "Sytost" @@ -684,24 +705,24 @@ msgstr "Čištění" msgid "Clear {0}" msgstr "Vymazat {0}" -#: src/options/auth.js:11 src/options/auth.js:23 src/options/auth.js:43 +#: src/options/auth.js:12 src/options/auth.js:24 src/options/auth.js:44 msgid "Client" msgstr "Klient" -#: src/options/auth.js:24 +#: src/options/auth.js:25 msgid "Client Credentials" msgstr "Pověření klienta" -#: src/page/admin/sessions.vue:529 src/component/lightbox.vue:284 -#: src/component/lightbox.vue:1009 src/component/lightbox.vue:1010 -#: src/component/photo/edit/details.vue:627 src/component/photo/toolbar.vue:160 -#: src/component/settings/apps.vue:224 src/component/settings/apps.vue:437 -#: src/component/settings/passcode.vue:148 -#: src/component/settings/passcode.vue:456 -#: src/component/settings/passcode.vue:497 -#: src/component/settings/webdav.vue:131 src/component/share/dialog.vue:231 +#: src/component/user/edit/dialog.vue:474 src/page/admin/sessions.vue:536 +#: src/component/lightbox.vue:284 src/component/lightbox.vue:1009 +#: src/component/lightbox.vue:1010 src/component/photo/edit/details.vue:601 +#: src/component/photo/toolbar.vue:161 src/component/settings/apps.vue:227 +#: src/component/settings/apps.vue:440 src/component/settings/passcode.vue:151 +#: src/component/settings/passcode.vue:459 +#: src/component/settings/passcode.vue:500 +#: src/component/settings/webdav.vue:132 src/component/share/dialog.vue:231 #: src/component/sidebar/info.vue:26 src/component/update.vue:57 -#: src/component/upload/dialog.vue:228 src/locales.js:206 +#: src/component/upload/dialog.vue:230 src/locales.js:206 #: src/page/library/errors.vue:253 msgid "Close" msgstr "Zavřít" @@ -710,11 +731,11 @@ msgstr "Zavřít" msgid "Codec" msgstr "Kodek" -#: src/component/photo/toolbar.vue:369 +#: src/component/photo/toolbar.vue:371 msgid "Color" msgstr "Barva" -#: src/component/photo/edit/files.vue:483 +#: src/component/photo/edit/files.vue:485 msgid "Color Profile" msgstr "Barevný profil" @@ -722,7 +743,7 @@ msgstr "Barevný profil" msgid "Colors" msgstr "Barvy" -#: src/page/connect.vue:260 src/page/connect.vue:269 +#: src/page/connect.vue:262 src/page/connect.vue:271 msgid "Compare Editions" msgstr "Porovnat edice" @@ -735,17 +756,18 @@ msgstr "Kompletní opětovné prohledání" msgid "Confidence" msgstr "Jistota" +#: src/component/location/dialog.vue:212 #: src/component/photo/album/dialog.vue:90 -#: src/component/settings/passcode.vue:261 +#: src/component/settings/passcode.vue:264 msgid "Confirm" msgstr "Potvrdit" -#: src/component/service/add.vue:20 src/page/settings/services.vue:187 +#: src/component/service/add.vue:20 src/page/settings/services.vue:191 msgid "Connect" msgstr "Připojit" -#: src/page/settings/account.vue:401 src/component/settings/webdav.vue:45 -#: src/page/settings/services.vue:167 +#: src/page/settings/account.vue:406 src/component/settings/webdav.vue:46 +#: src/page/settings/services.vue:170 msgid "Connect via WebDAV" msgstr "Připojit přes WebDAV" @@ -753,22 +775,22 @@ msgstr "Připojit přes WebDAV" msgid "Connected" msgstr "Připojeno" -#: src/page/settings/account.vue:640 src/page/settings/account.vue:532 +#: src/page/settings/account.vue:646 src/page/settings/account.vue:538 msgid "Contact Details" msgstr "Kontaktní údaje" -#: src/page/about/feedback.vue:37 src/page/connect.vue:132 -#: src/page/connect.vue:136 +#: src/page/about/feedback.vue:37 src/page/connect.vue:133 +#: src/page/connect.vue:137 msgid "Contact Us" msgstr "Kontaktujte nás" #: src/page/albums.vue:433 src/page/labels.vue:237 -#: src/page/people/recognized.vue:306 +#: src/page/people/recognized.vue:310 msgid "Contains %{n} pictures." msgstr "Obsahuje %{n} obrázků." #: src/page/albums.vue:427 src/page/labels.vue:231 -#: src/page/people/recognized.vue:300 +#: src/page/people/recognized.vue:304 msgid "Contains one picture." msgstr "Obsahuje jeden obrázek." @@ -776,7 +798,7 @@ msgstr "Obsahuje jeden obrázek." msgid "Content" msgstr "Obsah" -#: src/component/settings/apps.vue:163 +#: src/component/settings/apps.vue:166 msgid "Continue" msgstr "Pokračovat" @@ -784,7 +806,7 @@ msgstr "Pokračovat" msgid "Continue with %{provider}" msgstr "Pokračovat pomocí %{provider}" -#: src/options/admin.js:18 src/options/auth.js:9 +#: src/options/admin.js:22 src/options/auth.js:10 msgid "Contributor" msgstr "Přispěvatel" @@ -792,15 +814,15 @@ msgstr "Přispěvatel" msgid "Converting" msgstr "Převádí se" -#: src/common/util.js:846 +#: src/common/util.js:856 msgid "Copied to clipboard" msgstr "Zkopírováno do schránky" -#: src/component/settings/apps.vue:250 src/component/settings/passcode.vue:358 +#: src/component/settings/apps.vue:253 src/component/settings/passcode.vue:361 msgid "Copy" msgstr "Kopie" -#: src/component/photo/edit/details.vue:516 +#: src/component/photo/edit/details.vue:490 msgid "Copyright" msgstr "Autorská práva" @@ -808,8 +830,8 @@ msgstr "Autorská práva" msgid "Couldn't find anything." msgstr "Nebylo nic nalezeno." -#: src/page/settings/account.vue:685 src/component/photo/edit/details.vue:242 -#: src/component/photo/toolbar.vue:203 src/page/settings/account.vue:577 +#: src/page/settings/account.vue:691 src/component/photo/edit/details.vue:268 +#: src/component/photo/toolbar.vue:205 src/page/settings/account.vue:583 msgid "Country" msgstr "Země" @@ -833,7 +855,7 @@ msgstr "Vytvoření souborů YAML pro zálohování metadat alba." msgid "Create YAML sidecar files to back up picture metadata." msgstr "Vytvoření souborů YAML sidecar pro zálohování metadat obrázků." -#: src/page/admin/sessions.vue:417 src/component/photo/edit/info.vue:412 +#: src/page/admin/sessions.vue:422 src/component/photo/edit/info.vue:412 msgid "Created" msgstr "Vytvořeno" @@ -845,11 +867,11 @@ msgstr "Vytváření miniatur pro" msgid "Cubic: Moderate Quality, Good Performance" msgstr "Cubic: Střední kvalita, Dobrý výkon" -#: src/component/settings/password.vue:85 +#: src/component/settings/password.vue:86 msgid "Current Password" msgstr "Aktuální heslo" -#: src/options/themes.js:919 src/options/themes.js:928 +#: src/options/themes.js:920 src/options/themes.js:929 msgid "Custom" msgstr "Vlastní" @@ -865,11 +887,11 @@ msgstr "Denně" msgid "Database Backups" msgstr "Zálohování databáze" -#: src/page/settings/account.vue:450 src/component/photo/edit/details.vue:110 +#: src/page/settings/account.vue:456 src/component/photo/edit/details.vue:112 msgid "Day" msgstr "Den" -#: src/component/settings/passcode.vue:445 +#: src/component/settings/passcode.vue:448 msgid "Deactivate" msgstr "Deaktivovat" @@ -877,36 +899,40 @@ msgstr "Deaktivovat" msgid "Debug Logs" msgstr "Protokoly ladění" -#: src/options/admin.js:31 src/page/admin/sessions.vue:136 -#: src/page/admin/users.vue:176 src/component/photo/edit/info.vue:47 +#: src/options/admin.js:35 src/page/admin/sessions.vue:136 +#: src/page/admin/users.vue:178 src/component/photo/edit/info.vue:47 #: src/component/photo/edit/info.vue:110 src/model/session.js:66 -#: src/model/user.js:246 src/options/auth.js:20 src/options/auth.js:21 -#: src/options/auth.js:39 src/options/auth.js:40 src/options/options.js:196 +#: src/model/user.js:246 src/options/auth.js:21 src/options/auth.js:22 +#: src/options/auth.js:40 src/options/auth.js:41 src/options/options.js:196 #: src/options/options.js:232 src/options/options.js:316 -#: src/options/themes.js:773 +#: src/options/themes.js:774 msgid "Default" msgstr "Výchozí" -#: src/component/service/edit.vue:123 +#: src/component/service/edit.vue:124 msgid "Default Folder" msgstr "Výchozí složka" #: src/component/session/remove/dialog.vue:56 #: src/component/user/remove/dialog.vue:56 src/component/album/clipboard.vue:97 -#: src/component/album/delete/dialog.vue:54 -#: src/component/file/delete/dialog.vue:58 src/component/label/clipboard.vue:58 -#: src/component/label/delete/dialog.vue:58 +#: src/component/album/delete/dialog.vue:54 src/component/album/toolbar.vue:137 +#: src/component/file/delete/dialog.vue:59 src/component/label/clipboard.vue:58 +#: src/component/label/delete/dialog.vue:59 #: src/component/photo/clipboard.vue:168 src/component/photo/edit/files.vue:238 -#: src/component/service/remove.vue:60 src/component/share/dialog.vue:170 +#: src/component/service/remove.vue:61 src/component/share/dialog.vue:170 #: src/page/settings/general.vue:457 msgid "Delete" msgstr "Vymazat" +#: src/component/album/toolbar.vue:133 +msgid "Delete Album" +msgstr "Smazat album" + #: src/component/photo/toolbar.vue:119 src/page/library/errors.vue:95 msgid "Delete All" msgstr "Smazat vše" -#: src/component/photo/toolbar.vue:433 src/page/library/errors.vue:193 +#: src/component/photo/toolbar.vue:435 src/page/library/errors.vue:193 msgid "Delete all?" msgstr "Smazat vše?" @@ -914,16 +940,16 @@ msgstr "Smazat vše?" msgid "Delete orphaned index entries, sidecar files and thumbnails." msgstr "Odstranění osiřelých položek indexu, souborů postranních oddílů a miniatur." -#: src/component/album/edit/dialog.vue:107 src/page/albums.vue:411 +#: src/component/album/edit/dialog.vue:108 src/page/albums.vue:411 msgid "Description" msgstr "Popis" -#: src/component/settings/webdav.vue:115 +#: src/component/settings/webdav.vue:116 msgid "Detailed instructions can be found in our User Guide." msgstr "Detailnější instrukce naleznete v naší Uživatelské příručce." -#: src/component/photo/edit/dialog.vue:156 -#: src/component/photo/edit/dialog.vue:173 +#: src/component/photo/edit/dialog.vue:162 +#: src/component/photo/edit/dialog.vue:181 msgid "Details" msgstr "Detaily" @@ -987,8 +1013,8 @@ msgstr "Zakáže podporu vektorové grafiky." msgid "Disables video transcoding and thumbnail extraction." msgstr "Zakáže překódování videa a extrakci miniatur." -#: src/app/routes.js:558 src/app/routes.js:565 src/app/routes.js:572 -#: src/app/routes.js:579 +#: src/app/routes.js:566 src/app/routes.js:573 src/app/routes.js:580 +#: src/app/routes.js:587 msgid "Discover" msgstr "Objevit" @@ -996,9 +1022,9 @@ msgstr "Objevit" msgid "Dismiss" msgstr "Odmítnout" -#: src/component/user/add/dialog.vue:133 src/component/user/add/dialog.vue:134 -#: src/component/user/edit/dialog.vue:163 -#: src/component/user/edit/dialog.vue:164 src/page/admin/users.vue:72 +#: src/component/user/add/dialog.vue:134 src/component/user/add/dialog.vue:135 +#: src/component/user/edit/dialog.vue:164 +#: src/component/user/edit/dialog.vue:165 src/page/admin/users.vue:74 #: src/page/settings/account.vue:149 src/page/settings/account.vue:151 msgid "Display Name" msgstr "Zobrazované jméno" @@ -1013,12 +1039,12 @@ msgstr "Zobrazení názvů obrázků ve výsledcích vyhledávání." #: src/component/photo/view/cards.vue:339 #: src/component/photo/view/cards.vue:521 -#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:174 +#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:176 #: src/options/options.js:309 msgid "Document" msgstr "Dokument" -#: src/component/navigation.vue:480 +#: src/component/navigation.vue:482 msgid "Documents" msgstr "Dokumenty" @@ -1034,16 +1060,16 @@ msgstr "Nepoužívejte ImageMagick ke konverzi obrázků." msgid "Don't use RawTherapee to convert RAW images." msgstr "Nepoužívat RawTherapee ke konverzi souborů RAW." -#: src/component/settings/apps.vue:238 src/component/share/dialog.vue:29 +#: src/component/settings/apps.vue:241 src/component/share/dialog.vue:29 msgid "Done" msgstr "Hotovo" -#: src/component/upload/dialog.vue:135 src/page/library/import.vue:46 +#: src/component/upload/dialog.vue:137 src/page/library/import.vue:46 #: src/page/library/index.vue:52 msgid "Done." msgstr "Hotovo." -#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:118 +#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:123 #: src/component/file/clipboard.vue:48 src/component/lightbox.vue:1235 #: src/component/people/clipboard.vue:47 src/component/photo/clipboard.vue:116 #: src/component/photo/edit/files.vue:168 src/page/settings/content.vue:331 @@ -1055,7 +1081,7 @@ msgstr "Stáhnout" msgid "Download only original media files, without any automatically generated files." msgstr "Stahujte pouze originální mediální soubory bez automaticky generovaných souborů." -#: src/component/service/edit.vue:237 +#: src/component/service/edit.vue:238 msgid "Download remote files" msgstr "Stáhnout vzdálené soubory" @@ -1063,9 +1089,9 @@ msgstr "Stáhnout vzdálené soubory" msgid "Download single files and zip archives." msgstr "Stáhnout jednotlivé soubory a archivy zip." -#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:157 +#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:172 #: src/component/file/clipboard.vue:61 src/component/label/clipboard.vue:86 -#: src/component/lightbox.vue:2021 src/component/people/clipboard.vue:59 +#: src/component/lightbox.vue:2041 src/component/people/clipboard.vue:59 #: src/component/photo/clipboard.vue:220 src/component/photo/edit/files.vue:119 #: src/component/photo/view/cards.vue:169 src/component/photo/view/list.vue:142 #: src/page/library/browse.vue:139 @@ -1080,7 +1106,7 @@ msgstr "Filtr pro snížení měřítka" msgid "Drag and drop files here" msgstr "Přetáhněte sem soubory" -#: src/page/about/feedback.vue:61 +#: src/page/about/feedback.vue:62 msgid "Due to the high volume of emails we receive, our team may be unable to get back to you immediately." msgstr "Vzhledem k velkému množství e-mailů, které dostáváme, se může stát, že vám náš tým nebude schopen okamžitě odpovědět." @@ -1100,23 +1126,23 @@ msgstr "Dynamické náhledy" msgid "Dynamic Size Limit: %{n}px" msgstr "Dynamický limit velikosti: %{n}px" -#: src/page/about/feedback.vue:141 src/page/about/feedback.vue:140 +#: src/page/about/feedback.vue:142 src/page/about/feedback.vue:141 msgid "E-Mail" msgstr "E-Mail" -#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:89 +#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:94 #: src/component/lightbox.vue:1136 src/component/lightbox.vue:1137 #: src/component/photo/clipboard.vue:90 src/page/settings/general.vue:407 msgid "Edit" msgstr "Upravit" -#: src/component/album/edit/dialog.vue:54 -#: src/component/label/edit/dialog.vue:52 -#: src/component/people/edit/dialog.vue:52 +#: src/component/album/edit/dialog.vue:55 +#: src/component/label/edit/dialog.vue:53 +#: src/component/people/edit/dialog.vue:53 msgid "Edit %{s}" msgstr "Upravit %{s}" -#: src/component/user/edit/dialog.vue:61 src/component/service/edit.vue:79 +#: src/component/user/edit/dialog.vue:62 src/component/service/edit.vue:79 msgid "Edit Account" msgstr "Upravit účet" @@ -1128,8 +1154,8 @@ msgstr "Upravit fotografii" msgid "Edited" msgstr "Upraveno" -#: src/component/user/add/dialog.vue:151 src/component/user/edit/dialog.vue:213 -#: src/page/settings/account.vue:171 src/page/settings/account.vue:593 +#: src/component/user/add/dialog.vue:152 src/component/user/edit/dialog.vue:214 +#: src/page/settings/account.vue:171 src/page/settings/account.vue:599 msgid "Email" msgstr "Email" @@ -1145,7 +1171,7 @@ msgstr "Povolení nových funkcí, které mohou být neúplné nebo nestabilní. msgid "Enables RAW converter presets. May reduce performance." msgstr "Povolí předvolby konvertoru RAW. Může snížit výkon." -#: src/component/settings/passcode.vue:127 +#: src/component/settings/passcode.vue:130 msgid "Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account." msgstr "Povolení dvoufaktorové autentizace znamená, že k přihlášení budete potřebovat libovolně vygenerovaný kód, takže i když někdo získá přístup k vašemu heslu, nebude mít přístup k vašemu účtu." @@ -1157,7 +1183,7 @@ msgstr "Zadejte datum" msgid "Enter dates" msgstr "Zadejte data" -#: src/component/settings/passcode.vue:213 src/page/auth/login.vue:104 +#: src/component/settings/passcode.vue:216 src/page/auth/login.vue:104 msgid "Enter the code generated by your authenticator app:" msgstr "Zadejte kód vygenerovaný aplikací autentizátoru:" @@ -1165,7 +1191,7 @@ msgstr "Zadejte kód vygenerovaný aplikací autentizátoru:" msgid "Enter verification code" msgstr "Vložte ověřovací kód" -#: src/component/settings/apps.vue:109 +#: src/component/settings/apps.vue:112 msgid "Enter your password to confirm the action and continue:" msgstr "Pro potvrzení zadejte své heslo a pokračujte:" @@ -1174,7 +1200,7 @@ msgstr "Pro potvrzení zadejte své heslo a pokračujte:" msgid "Error" msgstr "Chyba" -#: src/app/routes.js:374 src/component/navigation.vue:1348 +#: src/app/routes.js:382 src/component/navigation.vue:1372 msgid "Errors" msgstr "Chyby" @@ -1210,13 +1236,13 @@ msgstr "Pro plnou podporu videa, živých fotografií a XMP je nutná extrakce m msgid "Experimental Features" msgstr "Experimentální funkce" -#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:453 -#: src/component/service/edit.vue:157 src/component/settings/apps.vue:73 -#: src/component/settings/apps.vue:326 src/component/share/dialog.vue:62 +#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:458 +#: src/component/service/edit.vue:158 src/component/settings/apps.vue:73 +#: src/component/settings/apps.vue:329 src/component/share/dialog.vue:62 msgid "Expires" msgstr "Vyprší" -#: src/component/photo/edit/details.vue:396 +#: src/component/photo/edit/details.vue:370 msgid "Exposure" msgstr "Expozice" @@ -1224,7 +1250,7 @@ msgstr "Expozice" msgid "Extract still images and generate thumbnails while indexing." msgstr "Extrakce statických snímků a generování miniatur při indexování." -#: src/component/photo/edit/details.vue:444 +#: src/component/photo/edit/details.vue:418 msgid "F Number" msgstr "Clonové číslo" @@ -1240,7 +1266,7 @@ msgstr "Tváře" msgid "Failed removing link" msgstr "Odstraňování odkazu selhalo" -#: src/page/connect.vue:106 src/page/connect.vue:110 +#: src/page/connect.vue:107 src/page/connect.vue:111 msgid "Failed to connect account." msgstr "Nepodařilo se připojit účet." @@ -1248,8 +1274,8 @@ msgstr "Nepodařilo se připojit účet." msgid "Failed updating link" msgstr "Aktualizace odkazu selhalo" -#: src/component/user/edit/dialog.vue:143 -#: src/component/user/edit/dialog.vue:144 src/page/settings/account.vue:128 +#: src/component/user/edit/dialog.vue:144 +#: src/component/user/edit/dialog.vue:145 src/page/settings/account.vue:128 #: src/page/settings/account.vue:130 msgid "Family Name" msgstr "Rodné jméno" @@ -1258,15 +1284,15 @@ msgstr "Rodné jméno" msgid "Fast" msgstr "Rychlé" -#: src/component/album/edit/dialog.vue:159 -#: src/component/label/edit/dialog.vue:85 -#: src/component/people/edit/dialog.vue:85 +#: src/component/album/edit/dialog.vue:160 +#: src/component/label/edit/dialog.vue:86 +#: src/component/people/edit/dialog.vue:86 #: src/component/photo/edit/info.vue:287 msgid "Favorite" msgstr "Oblíbené" -#: src/app/routes.js:222 src/component/navigation.vue:893 -#: src/options/options.js:202 src/page/albums.vue:97 +#: src/app/routes.js:230 src/component/navigation.vue:903 +#: src/options/options.js:202 src/page/albums.vue:98 msgid "Favorites" msgstr "Oblíbené" @@ -1274,7 +1300,7 @@ msgstr "Oblíbené" msgid "Feature Request" msgstr "Žádost o funkci" -#: src/component/navigation.vue:1456 +#: src/component/navigation.vue:1482 msgid "Feedback" msgstr "Zpětná vazba" @@ -1282,11 +1308,12 @@ msgstr "Zpětná vazba" msgid "Female" msgstr "Žena" -#: src/component/photo/edit/info.vue:214 src/model/file.js:290 +#: src/component/photo/edit/info.vue:57 src/component/photo/edit/info.vue:214 +#: src/model/file.js:290 msgid "File" msgstr "Soubor" -#: src/app/routes.js:343 +#: src/app/routes.js:351 msgid "File Browser" msgstr "Prohlížeč souborů" @@ -1309,8 +1336,8 @@ msgstr "Velikost souboru" msgid "Filename" msgstr "Název souboru" -#: src/component/navigation.vue:1930 src/component/photo/edit/dialog.vue:267 -#: src/component/photo/edit/dialog.vue:284 +#: src/component/navigation.vue:1973 src/component/photo/edit/dialog.vue:279 +#: src/component/photo/edit/dialog.vue:298 msgid "Files" msgstr "Soubory" @@ -1322,26 +1349,26 @@ msgstr "Soubory s pořadovými názvy jako 'IMG_1234 (2)' a 'IMG_1234 (3)' nále msgid "First page" msgstr "První strana" -#: src/component/photo/edit/details.vue:465 +#: src/component/photo/edit/details.vue:439 msgid "Focal Length" msgstr "Ohnisková vzdálenost" -#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:118 -#: src/component/service/edit.vue:189 src/component/service/edit.vue:194 -#: src/component/service/upload.vue:90 src/component/service/upload.vue:96 +#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:119 +#: src/component/service/edit.vue:190 src/component/service/edit.vue:195 +#: src/component/service/upload.vue:91 src/component/service/upload.vue:97 #: src/model/folder.js:199 src/page/library/browse.vue:182 msgid "Folder" msgstr "Složka" -#: src/page/library/browse.vue:365 +#: src/page/library/browse.vue:367 msgid "Folder contains %{n} files" msgstr "Složka obsahuje %{n} souborů" -#: src/page/library/browse.vue:356 +#: src/page/library/browse.vue:358 msgid "Folder is empty" msgstr "Složka je prázdná" -#: src/app/routes.js:202 src/component/navigation.vue:1225 +#: src/app/routes.js:210 src/component/navigation.vue:1247 #: src/options/options.js:207 msgid "Folders" msgstr "Složky" @@ -1358,7 +1385,7 @@ msgstr "FPS" msgid "Frames" msgstr "Frames" -#: src/options/auth.js:54 src/options/auth.js:64 +#: src/options/auth.js:55 src/options/auth.js:65 msgid "Full Access" msgstr "Volný přístup" @@ -1370,7 +1397,7 @@ msgstr "Celá obrazovka" msgid "General" msgstr "Obecné" -#: src/component/settings/apps.vue:364 +#: src/component/settings/apps.vue:367 msgid "Generate" msgstr "generovat" @@ -1390,8 +1417,8 @@ msgstr "Generováno" msgid "Get Started" msgstr "Začněte" -#: src/component/user/edit/dialog.vue:120 -#: src/component/user/edit/dialog.vue:121 src/page/settings/account.vue:106 +#: src/component/user/edit/dialog.vue:121 +#: src/component/user/edit/dialog.vue:122 src/page/settings/account.vue:106 #: src/page/settings/account.vue:108 msgid "Given Name" msgstr "Dané jméno" @@ -1416,7 +1443,7 @@ msgstr "Zelená" msgid "Grey" msgstr "Šedá" -#: src/options/admin.js:22 src/options/auth.js:10 +#: src/options/admin.js:26 src/options/auth.js:11 msgid "Guest" msgstr "Host" @@ -1432,15 +1459,15 @@ msgstr "Pomoc" msgid "Help & Support" msgstr "Nápověda & Podpora" -#: src/component/navigation.vue:1327 src/component/people/edit/dialog.vue:98 +#: src/component/navigation.vue:1351 src/component/people/edit/dialog.vue:99 msgid "Hidden" msgstr "Skryté" -#: src/app/routes.js:358 +#: src/app/routes.js:366 msgid "Hidden Files" msgstr "Skryté soubory" -#: src/page/people/new.vue:165 src/page/people/recognized.vue:205 +#: src/page/people/new.vue:166 src/page/people/recognized.vue:206 msgid "Hide" msgstr "Skrýt" @@ -1456,7 +1483,7 @@ msgstr "Vysoká" msgid "High Dynamic Range (HDR)" msgstr "Vysoký dynamický rozsah (HDR)" -#: src/page/about/feedback.vue:103 +#: src/page/about/feedback.vue:104 msgid "How can we help?" msgstr "Jak můžeme pomoci?" @@ -1464,11 +1491,11 @@ msgstr "Jak můžeme pomoci?" msgid "Hybrid" msgstr "Smíšeně" -#: src/component/settings/passcode.vue:389 +#: src/component/settings/passcode.vue:392 msgid "If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account." msgstr "Pokud ztratíte přístup ke své ověřovací aplikaci nebo zařízení, můžete pomocí kódu pro obnovení znovu získat přístup ke svému účtu." -#: src/component/photo/edit/info.vue:63 src/component/photo/edit/labels.vue:46 +#: src/component/photo/edit/info.vue:65 src/component/photo/edit/labels.vue:46 #: src/component/photo/view/cards.vue:532 src/model/file.js:218 #: src/options/options.js:281 msgid "Image" @@ -1478,7 +1505,7 @@ msgstr "Snímek" msgid "Image Quality" msgstr "Kvalita obrazu" -#: src/page/library.vue:46 src/page/library/import.vue:152 +#: src/page/library.vue:46 src/page/library/import.vue:153 #: src/page/settings/general.vue:357 msgid "Import" msgstr "Importovat" @@ -1503,8 +1530,8 @@ msgstr "Importování %{s}…" msgid "Importing files to originals…" msgstr "Importování souborů do originálů…" -#: src/component/photo/edit/files.vue:515 -#: src/component/photo/edit/files.vue:520 +#: src/component/photo/edit/files.vue:517 +#: src/component/photo/edit/files.vue:522 msgid "in" msgstr "v" @@ -1522,11 +1549,11 @@ msgstr "Zahrnout obrazové soubory RAW při stahování stohů a archivů." msgid "Include sidecar files when downloading stacks and archives." msgstr "Při stahování zásobníků a archivů zahrnout soubory sidecar." -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Increase storage size or delete files to continue." msgstr "Chcete-li pokračovat, zvětšete velikost úložiště nebo odstraňte soubory." -#: src/component/navigation.vue:1946 src/page/library.vue:36 +#: src/component/navigation.vue:1990 src/page/library.vue:36 #: src/page/settings/content.vue:34 msgid "Index" msgstr "Indexovat" @@ -1556,11 +1583,11 @@ msgstr "Informace" msgid "Instance ID" msgstr "ID instance" -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Insufficient storage." msgstr "Nedostatečné skladování." -#: src/component/service/edit.vue:209 +#: src/component/service/edit.vue:210 msgid "Interval" msgstr "Interval" @@ -1581,7 +1608,7 @@ msgstr "Neplatná adresa" msgid "Invalid country" msgstr "Neplatná země" -#: src/component/photo/edit/details.vue:174 +#: src/component/photo/edit/details.vue:169 msgid "Invalid date" msgstr "Neplatné datum" @@ -1590,7 +1617,7 @@ msgstr "Neplatné datum" msgid "Invalid parameters" msgstr "Neplatné parametry" -#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:197 +#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:199 msgid "Invalid photo selected" msgstr "Vybrána neplatná fotografie" @@ -1602,8 +1629,8 @@ msgstr "Neplatný čas" msgid "Invalid URL" msgstr "Neplatná adresa URL" -#: src/component/settings/passcode.vue:314 -#: src/component/settings/passcode.vue:391 +#: src/component/settings/passcode.vue:317 +#: src/component/settings/passcode.vue:394 msgid "It is a one-time use code that will disable 2FA for your account when you use it." msgstr "Jedná se o jednorázový kód, který deaktivuje 2FA pro váš účet, když jej použijete." @@ -1627,7 +1654,7 @@ msgstr "JPEG limit velikosti: %{n}px" msgid "JPEGs and thumbnails are automatically rendered as needed." msgstr "JPEG a miniatury se vykreslují automaticky dle potřeby." -#: src/component/photo/edit/details.vue:581 +#: src/component/photo/edit/details.vue:555 msgid "Keywords" msgstr "Klíčová slova" @@ -1636,9 +1663,9 @@ msgstr "Klíčová slova" msgid "Label" msgstr "Štítek" -#: src/app/routes.js:389 src/component/navigation.vue:1177 -#: src/component/photo/edit/dialog.vue:188 -#: src/component/photo/edit/dialog.vue:205 src/options/options.js:206 +#: src/app/routes.js:397 src/component/navigation.vue:1197 +#: src/component/photo/edit/dialog.vue:196 +#: src/component/photo/edit/dialog.vue:215 src/options/options.js:206 #: src/page/settings/general.vue:255 msgid "Labels" msgstr "Štítky" @@ -1655,11 +1682,11 @@ msgstr "Lanczos: Zachování detailů, Minimální artefakty" msgid "Language" msgstr "Jazyk" -#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:435 +#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:440 msgid "Last Active" msgstr "Poslední aktivní" -#: src/page/admin/users.vue:81 +#: src/page/admin/users.vue:83 msgid "Last Login" msgstr "Poslední přihlášení" @@ -1675,42 +1702,41 @@ msgstr "Poslední synchronizace" msgid "Last Used" msgstr "Naposledy použitý" -#: src/component/photo/edit/details.vue:298 #: src/component/photo/edit/info.vue:373 msgid "Latitude" msgstr "Zeměpisná šířka" -#: src/options/admin.js:43 src/options/auth.js:29 +#: src/options/admin.js:47 src/options/auth.js:30 msgid "LDAP/AD" msgstr "LDAP/AD" -#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:86 -#: src/page/about/about.vue:62 src/page/about/about.vue:132 +#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:87 +#: src/page/about/about.vue:62 src/page/about/about.vue:133 #: src/page/connect.vue:67 src/page/help.vue:36 msgid "Learn more" msgstr "Zjistěte více" -#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:135 +#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:137 #: src/page/labels.vue:132 msgid "Learn More" msgstr "Dozvědět se více" -#: src/component/navigation.vue:2017 +#: src/component/navigation.vue:2066 msgid "Legal Information" msgstr "Právní informace" -#: src/component/photo/edit/details.vue:417 +#: src/component/photo/edit/details.vue:391 #: src/component/photo/view/cards.vue:480 msgid "Lens" msgstr "Objektiv" -#: src/app/routes.js:443 src/app/routes.js:459 src/app/routes.js:475 -#: src/component/navigation.vue:1267 src/page/settings/general.vue:507 +#: src/app/routes.js:451 src/app/routes.js:467 src/app/routes.js:483 +#: src/component/navigation.vue:1290 src/page/settings/general.vue:507 msgid "Library" msgstr "Knihovna" #: src/page/connect.vue:45 src/app/routes.js:69 -#: src/component/navigation.vue:1478 src/component/photo/edit/details.vue:559 +#: src/component/navigation.vue:1504 src/component/photo/edit/details.vue:533 #: src/page/about/license.vue:28 msgid "License" msgstr "Licence" @@ -1723,7 +1749,7 @@ msgstr "Líbí se mi" msgid "Lime" msgstr "Limetková" -#: src/page/library/browse.vue:369 +#: src/page/library/browse.vue:371 msgid "Limit reached, showing first %{n} files" msgstr "Dosaženo limitu, zobrazeno prvních %{n} souborů" @@ -1731,7 +1757,7 @@ msgstr "Dosaženo limitu, zobrazeno prvních %{n} souborů" msgid "Linear: Very Smooth, Best Performance" msgstr "Linear: Velmi vyhlazené, Nejlepší výkon" -#: src/model/link.js:117 src/options/auth.js:30 src/options/auth.js:31 +#: src/model/link.js:117 src/options/auth.js:31 src/options/auth.js:32 msgid "Link" msgstr "Odkaz" @@ -1749,7 +1775,7 @@ msgstr "Zobrazení seznamu" msgid "Live" msgstr "Živé" -#: src/app/routes.js:236 src/component/navigation.vue:749 +#: src/app/routes.js:244 src/component/navigation.vue:755 msgid "Live Photos" msgstr "Živé fotografie" @@ -1765,21 +1791,24 @@ msgstr "Načítání položek..." msgid "Loading..." msgstr "Načítání..." -#: src/options/admin.js:35 src/options/auth.js:22 src/options/auth.js:27 +#: src/options/admin.js:39 src/options/auth.js:23 src/options/auth.js:28 #: src/options/options.js:38 src/page/settings/general.vue:107 msgid "Local" msgstr "Místní" -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Local Time" msgstr "Místní čas" -#: src/page/settings/account.vue:665 src/page/settings/account.vue:667 -#: src/component/album/edit/dialog.vue:92 src/component/photo/edit/info.vue:65 -#: src/component/photo/edit/labels.vue:48 +#: src/page/settings/account.vue:671 src/page/settings/account.vue:673 +#: src/component/album/edit/dialog.vue:93 +#: src/component/photo/edit/details.vue:38 +#: src/component/photo/edit/details.vue:116 +#: src/component/photo/edit/details.vue:210 +#: src/component/photo/edit/info.vue:67 src/component/photo/edit/labels.vue:48 #: src/component/photo/view/cards.vue:555 src/component/photo/view/list.vue:117 -#: src/component/sidebar/info.vue:107 src/page/albums.vue:99 -#: src/page/settings/account.vue:557 src/page/settings/account.vue:559 +#: src/component/sidebar/info.vue:107 src/page/albums.vue:100 +#: src/page/settings/account.vue:563 src/page/settings/account.vue:565 msgid "Location" msgstr "Lokalita" @@ -1787,20 +1816,19 @@ msgstr "Lokalita" msgid "Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues." msgstr "Zprávy logu se zde zobrazují vždy, když PhotoPrism narazí na poškozené soubory nebo se vyskytnou jiné potenciální problémy." -#: src/component/navigation.vue:1552 src/component/navigation.vue:1840 +#: src/component/navigation.vue:1579 src/component/navigation.vue:1877 msgid "Login" msgstr "Přihlášení" -#: src/component/navigation.vue:1759 +#: src/component/navigation.vue:1791 msgid "Logout" msgstr "Odhlásit se" -#: src/component/navigation.vue:1962 src/page/library.vue:59 +#: src/component/navigation.vue:2007 src/page/library.vue:59 #: src/page/settings/general.vue:557 msgid "Logs" msgstr "Logy" -#: src/component/photo/edit/details.vue:324 #: src/component/photo/edit/info.vue:379 msgid "Longitude" msgstr "Zeměpisná délka" @@ -1813,7 +1841,7 @@ msgstr "Nízká" msgid "Magenta" msgstr "Purpurová" -#: src/component/photo/edit/files.vue:489 +#: src/component/photo/edit/files.vue:491 msgid "Main Color" msgstr "Převažující barva" @@ -1821,12 +1849,16 @@ msgstr "Převažující barva" msgid "Male" msgstr "Muž" -#: src/page/connect.vue:164 src/page/connect.vue:246 -#: src/page/about/about.vue:171 src/page/connect.vue:168 -#: src/page/connect.vue:255 +#: src/page/connect.vue:165 src/page/connect.vue:248 +#: src/page/about/about.vue:173 src/page/connect.vue:169 +#: src/page/connect.vue:257 msgid "Manage Account" msgstr "Správa účtu" +#: src/options/admin.js:10 src/options/auth.js:7 +msgid "Manager" +msgstr "Manažer" + #: src/component/photo/edit/info.vue:49 src/component/photo/edit/labels.vue:38 msgid "Manual" msgstr "Manuální" @@ -1843,11 +1875,11 @@ msgstr "Mapy" msgid "Marker" msgstr "Značka" -#: src/component/user/add/dialog.vue:69 +#: src/component/user/add/dialog.vue:70 msgid "Maximum number of accounts has been reached." msgstr "Bylo dosaženo maximálního počtu účtů." -#: src/app/routes.js:229 src/component/navigation.vue:688 +#: src/app/routes.js:237 src/component/navigation.vue:693 #: src/options/options.js:199 msgid "Media" msgstr "Média" @@ -1864,7 +1896,7 @@ msgstr "Členství" msgid "Merge %{a} with %{b}?" msgstr "Sloučit %{a} s %{b}?" -#: src/page/about/feedback.vue:102 +#: src/page/about/feedback.vue:103 msgid "Message" msgstr "Zpráva" @@ -1876,7 +1908,7 @@ msgstr "Zpráva odeslána" msgid "Metadata" msgstr "Metadata" -#: src/options/auth.js:56 src/options/auth.js:72 +#: src/options/auth.js:57 src/options/auth.js:73 msgid "Metrics" msgstr "Metriky" @@ -1884,7 +1916,7 @@ msgstr "Metriky" msgid "Minimize" msgstr "Minimalizovat" -#: src/component/photo/edit/files.vue:509 src/component/photo/edit/info.vue:367 +#: src/component/photo/edit/files.vue:511 src/component/photo/edit/info.vue:367 msgid "Missing" msgstr "Chybějící" @@ -1892,17 +1924,17 @@ msgstr "Chybějící" msgid "Missing or invalid configuration" msgstr "Chybějící nebo neplatná konfigurace" -#: src/app/routes.js:163 src/component/navigation.vue:1129 +#: src/app/routes.js:171 src/component/navigation.vue:1147 #: src/options/options.js:205 src/page/settings/general.vue:230 msgid "Moments" msgstr "Okamžiky" -#: src/component/navigation.vue:383 +#: src/component/navigation.vue:385 msgid "Monochrome" msgstr "Monochromatické" -#: src/page/settings/account.vue:475 src/component/photo/edit/details.vue:137 -#: src/component/photo/toolbar.vue:342 +#: src/page/settings/account.vue:481 src/component/photo/edit/details.vue:139 +#: src/component/photo/toolbar.vue:344 msgid "Month" msgstr "Měsíc" @@ -1922,7 +1954,7 @@ msgstr "Nejrelevantnější" msgid "Move Files" msgstr "Přesunout soubory" -#: src/component/settings/password.vue:107 +#: src/component/settings/password.vue:108 msgid "Must have at least %{n} characters." msgstr "Musí mít alespoň %{n} znaků." @@ -1930,20 +1962,20 @@ msgstr "Musí mít alespoň %{n} znaků." msgid "Mute" msgstr "Ztlumit" -#: src/page/about/feedback.vue:121 src/page/about/feedback.vue:122 -#: src/component/album/edit/dialog.vue:77 -#: src/component/label/edit/dialog.vue:71 -#: src/component/people/edit/dialog.vue:71 -#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:57 +#: src/page/about/feedback.vue:122 src/page/about/feedback.vue:123 +#: src/component/album/edit/dialog.vue:78 +#: src/component/label/edit/dialog.vue:72 +#: src/component/people/edit/dialog.vue:72 +#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:59 #: src/component/photo/edit/info.vue:125 src/component/photo/edit/people.vue:36 -#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:310 -#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:286 -#: src/page/albums.vue:98 src/page/auth/login.vue:168 +#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:311 +#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:289 +#: src/page/albums.vue:99 src/page/auth/login.vue:168 #: src/page/people/new.vue:68 src/page/settings/services.vue:37 msgid "Name" msgstr "Název" -#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:60 +#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:65 #: src/component/label/edit/dialog.vue:19 #: src/component/people/edit/dialog.vue:19 #: src/component/photo/edit/labels.vue:30 @@ -1953,7 +1985,7 @@ msgstr "Název" msgid "Name too long" msgstr "Název je příliš dlouhý" -#: src/page/admin/users.vue:204 src/options/options.js:361 +#: src/page/admin/users.vue:206 src/options/options.js:361 #: src/options/options.js:371 src/page/settings/services.vue:75 msgid "Never" msgstr "Nikdy" @@ -1962,13 +1994,13 @@ msgstr "Nikdy" msgid "New" msgstr "Nový" -#: src/component/settings/password.vue:106 +#: src/component/settings/password.vue:107 msgid "New Password" msgstr "Nové heslo" #: src/component/album/edit/dialog.vue:24 src/component/photo/toolbar.vue:114 #: src/component/photo/toolbar.vue:126 src/component/photo/toolbar.vue:136 -#: src/page/albums.vue:100 +#: src/page/albums.vue:101 msgid "Newest First" msgstr "Od nejnovějších" @@ -1984,15 +2016,15 @@ msgstr "Další stránka" msgid "Next visual" msgstr "Další vizuální" -#: src/component/people/merge/dialog.vue:47 -#: src/component/photo/archive/dialog.vue:47 +#: src/component/people/merge/dialog.vue:48 +#: src/component/photo/archive/dialog.vue:48 #: src/component/photo/edit/info.vue:281 src/component/photo/edit/info.vue:297 #: src/component/photo/edit/info.vue:313 src/component/photo/edit/info.vue:329 #: src/component/photo/edit/info.vue:344 msgid "No" msgstr "Ne" -#: src/page/albums.vue:607 src/page/albums.vue:282 +#: src/page/albums.vue:612 src/page/albums.vue:282 msgid "No albums found" msgstr "Nenalezena žádná alba" @@ -2000,7 +2032,7 @@ msgstr "Nenalezena žádná alba" msgid "No data available" msgstr "Nejsou k dispozici žádné údaje" -#: src/page/labels.vue:523 src/page/labels.vue:155 +#: src/page/labels.vue:528 src/page/labels.vue:155 msgid "No labels found" msgstr "Nenalezeny žádné štítky" @@ -2013,15 +2045,15 @@ msgid "No more" msgstr "Ne více" #: src/component/photo/edit/people.vue:34 src/page/people/new.vue:346 -#: src/page/people/new.vue:443 src/page/people/new.vue:103 -#: src/page/people/recognized.vue:531 src/page/people/recognized.vue:146 +#: src/page/people/new.vue:446 src/page/people/new.vue:103 +#: src/page/people/recognized.vue:536 src/page/people/recognized.vue:146 msgid "No people found" msgstr "Nenalezeny žádné osoby" #: src/component/lightbox.vue:365 src/component/photo/view/cards.vue:144 #: src/component/photo/view/list.vue:82 src/component/photo/view/mosaic.vue:68 -#: src/page/album/photos.vue:488 src/page/library/browse.vue:123 -#: src/page/photos.vue:626 src/page/places.vue:624 src/page/places.vue:730 +#: src/page/album/photos.vue:499 src/page/library/browse.vue:123 +#: src/page/photos.vue:636 src/page/places.vue:624 src/page/places.vue:730 msgid "No pictures found" msgstr "Nenalezeny žádné obrázky" @@ -2030,7 +2062,11 @@ msgstr "Nenalezeny žádné obrázky" msgid "No recently edited pictures" msgstr "Žádné nedávno upravené obrázky" -#: src/component/navigation.vue:1655 +#: src/component/location/dialog.vue:166 +msgid "No results" +msgstr "Žádné výsledky" + +#: src/component/navigation.vue:1686 msgid "No server connection" msgstr "Žádné připojení k serveru" @@ -2042,7 +2078,7 @@ msgstr "Žádný server nebyl nakonfigurován." msgid "No services configured." msgstr "Nejsou nakonfigurovány žádné služby." -#: src/component/confirm/sponsor.vue:72 +#: src/component/confirm/sponsor.vue:73 msgid "No thanks" msgstr "Ne, děkuji" @@ -2052,17 +2088,17 @@ msgstr "Žádná varování nebo chyba obsahující toto klíčové slovo. Mějt #: src/component/photo/view/cards.vue:154 src/component/photo/view/list.vue:59 #: src/component/photo/view/list.vue:92 src/component/photo/view/mosaic.vue:78 -#: src/component/upload/dialog.vue:208 +#: src/component/upload/dialog.vue:210 msgid "Non-photographic and low-quality images require a review before they appear in search results." msgstr "Nefotografické obrázky a snímky nízké kvality vyžadují kontrolu, než se objeví ve výsledcích vyhledávání." -#: src/options/admin.js:47 src/options/auth.js:32 src/options/options.js:212 +#: src/options/admin.js:51 src/options/auth.js:33 src/options/options.js:212 #: src/options/options.js:328 msgid "None" msgstr "Žádné" -#: src/common/util.js:853 src/component/lightbox.vue:633 -#: src/component/service/upload.vue:75 src/component/service/upload.vue:87 +#: src/component/lightbox.vue:633 src/component/service/upload.vue:75 +#: src/component/service/upload.vue:87 msgid "Not allowed" msgstr "Není povoleno" @@ -2074,8 +2110,7 @@ msgstr "Nenalezeno" msgid "Not sorted." msgstr "Netřídí se." -#: src/common/util.js:858 src/component/lightbox.vue:627 -#: src/component/lightbox.vue:744 +#: src/component/lightbox.vue:627 src/component/lightbox.vue:744 msgid "Not supported" msgstr "Není podporováno" @@ -2083,15 +2118,15 @@ msgstr "Není podporováno" msgid "Note you may manually manage your originals folder and importing is optional." msgstr "Složku originálů můžete spravovat ručně a import je volitelný." -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "Note:" msgstr "Poznámka:" -#: src/component/service/add.vue:120 +#: src/component/service/add.vue:121 msgid "Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload." msgstr "Poznámka: Pouze WebDAV servery, jako Nextcloud nebo PhotoPrism, mohou být nakonfigurovány jako vzdálená služba pro zálohu a nahrávání souborů." -#: src/component/photo/edit/details.vue:603 +#: src/component/photo/edit/details.vue:577 msgid "Notes" msgstr "Poznámky" @@ -2099,8 +2134,8 @@ msgstr "Poznámky" msgid "Nothing to see here yet." msgstr "Není tu nic k vidění. Prosíme o trpělivost." -#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:115 -#: src/component/settings/apps.vue:390 +#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:125 +#: src/component/settings/apps.vue:393 msgid "Nothing was found." msgstr "Nic nebylo nalezeno." @@ -2108,7 +2143,7 @@ msgstr "Nic nebylo nalezeno." msgid "Offline" msgstr "Offline" -#: src/options/admin.js:39 src/options/auth.js:28 +#: src/options/admin.js:43 src/options/auth.js:29 msgid "OIDC" msgstr "OIDC" @@ -2118,11 +2153,11 @@ msgstr "OK" #: src/component/album/edit/dialog.vue:25 src/component/photo/toolbar.vue:115 #: src/component/photo/toolbar.vue:127 src/component/photo/toolbar.vue:137 -#: src/page/albums.vue:101 +#: src/page/albums.vue:102 msgid "Oldest First" msgstr "Od nejstarších" -#: src/component/settings/webdav.vue:77 +#: src/component/settings/webdav.vue:78 msgid "On Windows, enter the following resource in the connection dialog:" msgstr "V systému Windows zadejte do dialogového okna připojení následující prostředek:" @@ -2134,11 +2169,11 @@ msgstr "Generování miniatur na vyžádání může způsobit vysoké využití msgid "Once a week" msgstr "Jednou týdně" -#: src/page/albums.vue:609 +#: src/page/albums.vue:614 msgid "One album found" msgstr "Nalezeno jedno album" -#: src/page/library/browse.vue:358 +#: src/page/library/browse.vue:360 msgid "One file found" msgstr "Nalezen jeden soubor" @@ -2146,24 +2181,24 @@ msgstr "Nalezen jeden soubor" msgid "One file uploaded" msgstr "Nahrán jeden soubor" -#: src/page/library/browse.vue:360 +#: src/page/library/browse.vue:362 msgid "One folder found" msgstr "Nalezena jedna složka" -#: src/page/labels.vue:525 +#: src/page/labels.vue:530 msgid "One label found" msgstr "Nalezen jeden štítek" -#: src/page/people/new.vue:348 src/page/people/new.vue:445 -#: src/page/people/recognized.vue:533 +#: src/page/people/new.vue:348 src/page/people/new.vue:448 +#: src/page/people/recognized.vue:538 msgid "One person found" msgstr "Nalezena jedna osoba" -#: src/page/album/photos.vue:490 src/page/photos.vue:628 +#: src/page/album/photos.vue:501 src/page/photos.vue:638 msgid "One picture found" msgstr "Nalezen jeden obrázek" -#: src/component/settings/passcode.vue:478 +#: src/component/settings/passcode.vue:481 msgid "Only locally managed accounts can be set up for authentication with 2FA." msgstr "Pro ověřování pomocí 2FA lze nastavit pouze lokálně spravované účty." @@ -2171,7 +2206,7 @@ msgstr "Pro ověřování pomocí 2FA lze nastavit pouze lokálně spravované msgid "Open" msgstr "Otevřít" -#: src/component/service/add.vue:86 src/component/service/add.vue:107 +#: src/component/service/add.vue:87 src/component/service/add.vue:108 msgid "optional" msgstr "volitelné" @@ -2183,7 +2218,7 @@ msgstr "nebo" msgid "Orange" msgstr "Oranžová" -#: src/page/settings/account.vue:571 src/page/settings/account.vue:573 +#: src/page/settings/account.vue:577 src/page/settings/account.vue:579 msgid "Organization" msgstr "Organizace" @@ -2199,7 +2234,7 @@ msgstr "Původní názvy souborů budou uloženy a indexovány." msgid "Original Name" msgstr "Název originálu" -#: src/component/navigation.vue:1304 src/model/file.js:196 +#: src/component/navigation.vue:1328 src/model/file.js:196 #: src/options/options.js:413 src/page/library/browse.vue:65 #: src/page/settings/content.vue:356 src/page/settings/general.vue:532 msgid "Originals" @@ -2210,7 +2245,7 @@ msgstr "Originály" msgid "Other" msgstr "Jiné" -#: src/page/about/about.vue:77 src/page/about/about.vue:83 +#: src/page/about/about.vue:78 src/page/about/about.vue:84 msgid "Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible." msgstr "Naším posláním je poskytovat uživatelsky nejpřívětivější řešení pro uspořádání a zpřístupnění vašich fotografií." @@ -2222,7 +2257,7 @@ msgstr "Zeměpisně" msgid "Page {0}, Current page" msgstr "Stránka {0}, Aktuální stránka" -#: src/component/photo/edit/files.vue:352 src/model/photo.js:859 +#: src/component/photo/edit/files.vue:352 src/model/photo.js:896 msgid "Pages" msgstr "Stránky" @@ -2234,15 +2269,15 @@ msgstr "Stránkování Navigace" msgid "Panorama" msgstr "Panorama" -#: src/component/navigation.vue:402 +#: src/component/navigation.vue:404 msgid "Panoramas" msgstr "Panoramata" -#: src/component/user/add/dialog.vue:114 src/component/user/add/dialog.vue:115 -#: src/component/service/add.vue:106 src/component/service/edit.vue:352 -#: src/component/settings/apps.vue:121 src/component/settings/passcode.vue:106 -#: src/component/settings/passcode.vue:413 src/component/share/dialog.vue:27 -#: src/options/auth.js:91 src/page/auth/login.vue:196 +#: src/component/user/add/dialog.vue:115 src/component/user/add/dialog.vue:116 +#: src/component/service/add.vue:107 src/component/service/edit.vue:353 +#: src/component/settings/apps.vue:124 src/component/settings/passcode.vue:109 +#: src/component/settings/passcode.vue:416 src/component/share/dialog.vue:27 +#: src/options/auth.js:92 src/page/auth/login.vue:196 msgid "Password" msgstr "Heslo" @@ -2250,9 +2285,9 @@ msgstr "Heslo" msgid "Password changed" msgstr "Heslo změněno" -#: src/app/routes.js:404 src/app/routes.js:428 src/component/navigation.vue:845 -#: src/component/navigation.vue:1898 src/component/photo/edit/dialog.vue:228 -#: src/component/photo/edit/dialog.vue:245 src/options/options.js:201 +#: src/app/routes.js:412 src/app/routes.js:436 src/component/navigation.vue:853 +#: src/component/navigation.vue:1939 src/component/photo/edit/dialog.vue:238 +#: src/component/photo/edit/dialog.vue:257 src/options/options.js:201 #: src/page/settings/general.vue:180 msgid "People" msgstr "Lidé" @@ -2273,23 +2308,23 @@ msgstr "Trvale odstraňte soubory, abyste uvolnili úložiště." msgid "Person" msgstr "Osoba" -#: src/options/auth.js:42 +#: src/options/auth.js:43 msgid "Personal" msgstr "Osobní" -#: src/model/photo.js:1273 +#: src/model/photo.js:1310 msgid "Photo" msgstr "Fotografie" -#: src/page/about/about.vue:156 +#: src/page/about/about.vue:158 msgid "PhotoPrism is 100% self-funded and independent." msgstr "Společnost PhotoPrism je 100% nezávislá a financovaná z vlastních zdrojů." -#: src/page/about/about.vue:92 +#: src/page/about/about.vue:93 msgid "PhotoPrism+ Membership" msgstr "Členství v programu PhotoPrism+" -#: src/app/routes.js:156 +#: src/app/routes.js:164 msgid "Photos" msgstr "Fotografie" @@ -2310,27 +2345,27 @@ msgstr "Místo" msgid "Place & Time" msgstr "Místo a Čas" -#: src/app/routes.js:303 src/app/routes.js:309 src/app/routes.js:315 -#: src/app/routes.js:330 src/component/navigation.vue:986 -#: src/component/navigation.vue:1914 src/options/options.js:203 +#: src/app/routes.js:311 src/app/routes.js:317 src/app/routes.js:323 +#: src/app/routes.js:338 src/component/navigation.vue:999 +#: src/component/navigation.vue:1956 src/options/options.js:203 #: src/page/places.vue:51 src/page/settings/general.vue:609 #: src/page/settings/general.vue:638 msgid "Places" msgstr "Místa" -#: src/component/settings/password.vue:129 +#: src/component/settings/password.vue:130 msgid "Please confirm your new password." msgstr "Potvrďte prosím nové heslo." -#: src/component/settings/apps.vue:185 +#: src/component/settings/apps.vue:188 msgid "Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:" msgstr "Zkopírujte prosím následující náhodně vygenerované heslo aplikace a uschovejte je na bezpečném místě, protože je již neuvidíte:" -#: src/component/upload/dialog.vue:203 +#: src/component/upload/dialog.vue:205 msgid "Please do not upload any private, unlawful or offensive pictures." msgstr "Nevkládejte prosím žádné soukromé, nezákonné nebo urážlivé obrázky." -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Please don't upload photos containing offensive content." msgstr "Nenahrávejte prosím fotografie obsahující urážlivý obsah." @@ -2338,11 +2373,11 @@ msgstr "Nenahrávejte prosím fotografie obsahující urážlivý obsah." msgid "Please enter OTP character {0}" msgstr "Zadejte prosím znak OTP {0}" -#: src/component/settings/password.vue:66 +#: src/component/settings/password.vue:67 msgid "Please note that changing your password will log you out on other devices and browsers." msgstr "Vezměte prosím na vědomí, že změna hesla vás odhlásí i na jiných zařízeních a v jiných prohlížečích." -#: src/page/connect.vue:148 src/page/connect.vue:152 +#: src/page/connect.vue:149 src/page/connect.vue:153 msgid "Please restart your instance for the changes to take effect." msgstr "Aby se změny projevily, restartujte instanci." @@ -2362,11 +2397,11 @@ msgstr "PNG limit velikosti: %{n}px" msgid "Portrait" msgstr "Portrét" -#: src/component/service/edit.vue:273 +#: src/component/service/edit.vue:274 msgid "Preserve filenames" msgstr "Zachovat názvy souborů" -#: src/component/upload/dialog.vue:162 +#: src/component/upload/dialog.vue:164 msgid "Press enter to create a new album." msgstr "Stiskněte Enter pro vytvoření nového alba." @@ -2403,8 +2438,8 @@ msgstr "Předchozí vizuální" msgid "Primary" msgstr "Primární" -#: src/app/routes.js:271 src/component/album/edit/dialog.vue:176 -#: src/component/navigation.vue:531 src/component/photo/edit/info.vue:303 +#: src/app/routes.js:279 src/component/album/edit/dialog.vue:177 +#: src/component/navigation.vue:533 src/component/photo/edit/info.vue:303 #: src/page/settings/general.vue:280 msgid "Private" msgstr "Soukromé" @@ -2429,7 +2464,7 @@ msgstr "Filtr kvality" msgid "Quality Score" msgstr "Hodnocení kvality" -#: src/page/admin/users.vue:169 +#: src/page/admin/users.vue:171 msgid "r" msgstr "r" @@ -2460,7 +2495,7 @@ msgstr "Mód jen pro čtení" #: src/component/album/edit/dialog.vue:26 src/component/photo/toolbar.vue:116 #: src/component/photo/toolbar.vue:128 src/component/photo/toolbar.vue:138 -#: src/page/albums.vue:102 +#: src/page/albums.vue:103 msgid "Recently Added" msgstr "Nedávno přidané" @@ -2468,7 +2503,7 @@ msgstr "Nedávno přidané" msgid "Recently Archived" msgstr "Nedávno archivované" -#: src/component/photo/toolbar.vue:139 src/page/albums.vue:103 +#: src/component/photo/toolbar.vue:139 src/page/albums.vue:104 msgid "Recently Edited" msgstr "Nedávno upravené" @@ -2493,24 +2528,24 @@ msgstr "Kód obnovy" msgid "Red" msgstr "Červená" -#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:126 -#: src/component/album/toolbar.vue:79 src/component/photo/toolbar.vue:169 -#: src/page/albums.vue:173 src/page/labels.vue:112 +#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:128 +#: src/component/album/toolbar.vue:84 src/component/photo/toolbar.vue:169 +#: src/page/albums.vue:175 src/page/labels.vue:112 #: src/page/library/browse.vue:90 src/page/library/errors.vue:81 #: src/page/people/new.vue:54 src/page/people/recognized.vue:88 msgid "Refresh" msgstr "Obnovit" -#: src/app/routes.js:337 src/component/navigation.vue:943 -#: src/component/navigation.vue:1026 +#: src/app/routes.js:345 src/component/navigation.vue:955 +#: src/component/navigation.vue:1040 msgid "Regions" msgstr "Regiony" -#: src/page/connect.vue:275 src/page/connect.vue:284 +#: src/page/connect.vue:277 src/page/connect.vue:286 msgid "Register" msgstr "Registrace" -#: src/component/navigation.vue:1773 src/component/update.vue:68 +#: src/component/navigation.vue:1806 src/component/update.vue:68 msgid "Reload" msgstr "Znovu načíst" @@ -2555,34 +2590,34 @@ msgstr "Požadavek na kontrolu nefotografických a nekvalitních obrázků před msgid "Resolution" msgstr "Rozlišení" -#: src/page/connect.vue:179 src/page/connect.vue:183 +#: src/page/connect.vue:180 src/page/connect.vue:184 #: src/page/settings/advanced.vue:782 msgid "Restart" msgstr "Restartování" -#: src/component/user/edit/dialog.vue:485 src/component/lightbox.vue:1221 +#: src/component/user/edit/dialog.vue:488 src/component/lightbox.vue:1221 #: src/component/photo/clipboard.vue:77 msgid "Restore" msgstr "Obnovit" -#: src/component/lightbox.vue:2000 +#: src/component/lightbox.vue:2020 msgid "Restored" msgstr "Obnovené stránky" -#: src/component/service/edit.vue:428 +#: src/component/service/edit.vue:429 msgid "Retry Limit" msgstr "Limit opakování" -#: src/component/settings/password.vue:128 +#: src/component/settings/password.vue:129 msgid "Retype Password" msgstr "Znovu zadejte heslo" -#: src/app/routes.js:264 src/component/navigation.vue:505 +#: src/app/routes.js:272 src/component/navigation.vue:507 msgid "Review" msgstr "Kontrola" -#: src/component/user/add/dialog.vue:171 src/component/user/edit/dialog.vue:284 -#: src/page/admin/sessions.vue:262 src/page/admin/users.vue:73 +#: src/component/user/add/dialog.vue:172 src/component/user/edit/dialog.vue:285 +#: src/page/admin/sessions.vue:263 src/page/admin/users.vue:75 msgid "Role" msgstr "Role" @@ -2594,11 +2629,11 @@ msgstr "Řádky na stránku:" msgid "Satellite" msgstr "Satelitní" -#: src/component/user/edit/dialog.vue:485 -#: src/component/album/edit/dialog.vue:211 -#: src/component/label/edit/dialog.vue:119 -#: src/component/people/edit/dialog.vue:132 src/component/service/edit.vue:466 -#: src/component/settings/password.vue:172 src/component/share/dialog.vue:181 +#: src/component/user/edit/dialog.vue:488 +#: src/component/album/edit/dialog.vue:212 +#: src/component/label/edit/dialog.vue:120 +#: src/component/people/edit/dialog.vue:133 src/component/service/edit.vue:467 +#: src/component/settings/password.vue:173 src/component/share/dialog.vue:181 msgid "Save" msgstr "Uložit" @@ -2606,23 +2641,23 @@ msgstr "Uložit" msgid "Scan" msgstr "Sken" -#: src/component/settings/passcode.vue:179 +#: src/component/settings/passcode.vue:182 msgid "Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:" msgstr "Naskenujte QR kód pomocí své ověřovací aplikace nebo použijte klíč nastavení uvedený níže a poté zadejte vygenerovaný ověřovací kód:" -#: src/component/navigation.vue:461 +#: src/component/navigation.vue:463 msgid "Scans" msgstr "Skeny" -#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:377 -#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:310 +#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:381 +#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:313 msgid "Scope" msgstr "Oblast působnosti" -#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:62 -#: src/component/navigation.vue:342 src/component/navigation.vue:1866 -#: src/component/photo/toolbar.vue:57 src/options/options.js:197 -#: src/page/albums.vue:100 src/page/labels.vue:77 +#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:69 +#: src/component/location/dialog.vue:133 src/component/navigation.vue:343 +#: src/component/navigation.vue:1905 src/component/photo/toolbar.vue:57 +#: src/options/options.js:197 src/page/albums.vue:100 src/page/labels.vue:77 #: src/page/library/errors.vue:76 src/page/people/recognized.vue:66 #: src/page/places.vue:79 src/page/settings/content.vue:235 msgid "Search" @@ -2660,11 +2695,11 @@ msgstr "Zvolte datum" msgid "Select dates" msgstr "Zvolte data" -#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:154 +#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:156 msgid "Select or create an album" msgstr "Výběr nebo vytvoření alba" -#: src/component/upload/dialog.vue:138 +#: src/component/upload/dialog.vue:140 msgid "Select the files to upload…" msgstr "Vyberte soubory, které chcete nahrát…" @@ -2692,7 +2727,7 @@ msgstr "Výběr obnoven" msgid "Sequential Name" msgstr "Pořadový název" -#: src/component/service/add.vue:67 src/component/service/edit.vue:322 +#: src/component/service/add.vue:68 src/component/service/edit.vue:323 #: src/component/share/dialog.vue:25 msgid "Service URL" msgstr "URL služby" @@ -2701,7 +2736,7 @@ msgstr "URL služby" msgid "Services" msgstr "Služby" -#: src/model/session.js:107 src/options/auth.js:41 src/options/auth.js:90 +#: src/model/session.js:107 src/options/auth.js:42 src/options/auth.js:91 msgid "Session" msgstr "Relace" @@ -2709,7 +2744,7 @@ msgstr "Relace" msgid "Session ID" msgstr "ID relace" -#: src/page/admin.vue:45 +#: src/page/admin.vue:44 msgid "Sessions" msgstr "Relace" @@ -2717,22 +2752,22 @@ msgstr "Relace" msgid "Set as Album Cover" msgstr "Nastavit jako obal alba" -#: src/app/routes.js:101 src/app/routes.js:492 src/app/routes.js:504 -#: src/app/routes.js:521 src/app/routes.js:534 src/app/routes.js:547 -#: src/component/navigation.vue:1394 src/component/navigation.vue:1806 +#: src/app/routes.js:101 src/app/routes.js:500 src/app/routes.js:512 +#: src/app/routes.js:529 src/app/routes.js:542 src/app/routes.js:555 +#: src/component/navigation.vue:1419 src/component/navigation.vue:1841 msgid "Settings" msgstr "Nastavení" #: src/page/settings/account.vue:115 src/page/settings/account.vue:144 -#: src/component/settings/passcode.vue:147 +#: src/component/settings/passcode.vue:151 msgid "Settings saved" msgstr "Nastavení uloženo" -#: src/component/service/upload.vue:131 src/component/settings/passcode.vue:160 +#: src/component/service/upload.vue:132 src/component/settings/passcode.vue:163 msgid "Setup" msgstr "Prvotní nastavení" -#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:98 +#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:103 #: src/component/photo/clipboard.vue:51 src/page/settings/general.vue:382 msgid "Share" msgstr "Sdílet" @@ -2749,7 +2784,7 @@ msgstr "Sdílejte své obrázky s dalšími aplikacemi a službami." msgid "Show" msgstr "Zobrazit" -#: src/page/people/new.vue:116 src/page/people/new.vue:233 +#: src/page/people/new.vue:116 src/page/people/new.vue:235 msgid "Show all new faces" msgstr "Zobrazit všechny nové tváře" @@ -2794,7 +2829,7 @@ msgid "Similar" msgstr "Podobné" #: src/component/photo/edit/files.vue:51 src/component/photo/edit/files.vue:341 -#: src/component/service/edit.vue:139 src/component/sidebar/info.vue:96 +#: src/component/service/edit.vue:140 src/component/sidebar/info.vue:96 msgid "Size" msgstr "Velikost" @@ -2822,7 +2857,7 @@ msgstr "Něco se pokazilo, zkuste to znovu" msgid "Sort by" msgstr "Seřadit podle" -#: src/component/album/edit/dialog.vue:142 src/component/photo/toolbar.vue:288 +#: src/component/album/edit/dialog.vue:143 src/component/photo/toolbar.vue:290 #: src/page/albums.vue:214 msgid "Sort Order" msgstr "Pořadí řazení" @@ -2857,7 +2892,7 @@ msgstr "Stohovat snímky pořízené ve stejnou chvíli a ve stejné lokalitě n msgid "Stackable" msgstr "Stohovatelné" -#: src/component/navigation.vue:421 src/page/settings/content.vue:136 +#: src/component/navigation.vue:423 src/page/settings/content.vue:136 msgid "Stacks" msgstr "Stohy" @@ -2885,16 +2920,16 @@ msgstr "Úložiště" msgid "Streets" msgstr "Ulice" -#: src/component/photo/edit/details.vue:494 +#: src/component/photo/edit/details.vue:468 #: src/component/photo/edit/labels.vue:44 msgid "Subject" msgstr "Předmět" -#: src/page/about/feedback.vue:162 src/page/about/feedback.vue:163 +#: src/page/about/feedback.vue:163 src/page/about/feedback.vue:164 msgid "Submit" msgstr "Odeslat" -#: src/component/settings/passcode.vue:132 +#: src/component/settings/passcode.vue:136 msgid "Successfully activated" msgstr "Úspěšně aktivováno" @@ -2903,23 +2938,23 @@ msgid "Successfully Connected" msgstr "Úspěšně připojeno" #: src/component/session/remove/dialog.vue:32 -#: src/component/settings/apps.vue:218 +#: src/component/settings/apps.vue:222 msgid "Successfully deleted" msgstr "Úspěšně odstraněno" -#: src/component/settings/passcode.vue:107 +#: src/component/settings/passcode.vue:108 msgid "Successfully verified" msgstr "Úspěšně ověřeno" -#: src/component/user/edit/dialog.vue:398 src/page/admin/users.vue:163 +#: src/component/user/edit/dialog.vue:399 src/page/admin/users.vue:165 msgid "Super Admin" msgstr "Super administrátor" -#: src/component/service/add.vue:122 +#: src/component/service/add.vue:123 msgid "Support for additional services, like Google Drive, will be added over time." msgstr "Podpora dalších služeb, jako Google Disk, budou postupně přidávány." -#: src/component/confirm/sponsor.vue:37 src/component/navigation.vue:1629 +#: src/component/confirm/sponsor.vue:38 src/component/navigation.vue:1660 msgid "Support Our Mission" msgstr "Podpořte naše poslání" @@ -2927,7 +2962,7 @@ msgstr "Podpořte naše poslání" msgid "Sync" msgstr "Synchronizace" -#: src/component/service/edit.vue:289 +#: src/component/service/edit.vue:290 msgid "Sync raw and video files" msgstr "Synchronizovat raw a video soubory" @@ -2953,23 +2988,23 @@ msgstr "Terén" msgid "Text" msgstr "Text" -#: src/component/photo/edit/details.vue:32 src/page/people/new.vue:71 +#: src/component/photo/edit/details.vue:40 src/page/people/new.vue:71 msgid "Text too long" msgstr "Text je příliš dlouhý" -#: src/page/about/about.vue:145 +#: src/page/about/about.vue:146 msgid "Thank You for Your Support!" msgstr "Děkujeme za vaši podporu!" -#: src/page/about/about.vue:79 src/page/about/about.vue:85 +#: src/page/about/about.vue:80 src/page/about/about.vue:86 msgid "That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality." msgstr "Proto byl PhotoPrism od základu vytvořen tak, aby fungoval všude, kde ho potřebujete, aniž by byla ohrožena svoboda, soukromí nebo funkčnost." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "The index currently contains %{n} hidden files." msgstr "Index aktuálně obsahuje %{n} skrytých souborů." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates." msgstr "Jejich formát nemusí být podporován, nebyly dosud převedeny do JPEG nebo existují duplikáty." @@ -2984,44 +3019,44 @@ msgstr "Téma" msgid "This field is required" msgstr "Toto pole je povinné" -#: src/component/settings/webdav.vue:100 src/page/settings/services.vue:144 +#: src/component/settings/webdav.vue:101 src/page/settings/services.vue:147 msgid "This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local." msgstr "Toto nastaví složku originálů jako síťový disk a umožní vám otevírat, upravovat a mazat soubory prostřednictvím vašeho počítače nebo telefonu jako by byly lokálně." -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Time UTC" msgstr "Čas UTC" -#: src/component/photo/edit/details.vue:219 src/page/settings/general.vue:108 +#: src/component/photo/edit/details.vue:221 src/page/settings/general.vue:108 msgid "Time Zone" msgstr "Časová zóna" -#: src/component/service/edit.vue:408 +#: src/component/service/edit.vue:409 msgid "Timeout" msgstr "Časový limit" -#: src/component/user/edit/dialog.vue:98 src/component/user/edit/dialog.vue:99 +#: src/component/user/edit/dialog.vue:99 src/component/user/edit/dialog.vue:100 #: src/page/settings/account.vue:84 src/page/settings/account.vue:86 msgctxt "Account" msgid "Title" msgstr "Titulek" -#: src/component/photo/edit/details.vue:73 +#: src/component/photo/edit/details.vue:75 msgctxt "Photo" msgid "Title" msgstr "Titulek" -#: src/component/photo/edit/info.vue:59 src/component/photo/edit/info.vue:155 +#: src/component/photo/edit/info.vue:61 src/component/photo/edit/info.vue:155 #: src/component/photo/edit/labels.vue:40 src/component/photo/view/list.vue:114 #: src/component/sidebar/info.vue:57 msgid "Title" msgstr "Titulek" -#: src/page/settings/account.vue:553 src/page/settings/account.vue:555 +#: src/page/settings/account.vue:559 src/page/settings/account.vue:561 msgid "Title / Position" msgstr "Název / pozice" -#: src/page/albums.vue:83 +#: src/page/albums.vue:84 msgid "Title too long" msgstr "Titulek je příliš dlouhý" @@ -3029,19 +3064,19 @@ msgstr "Titulek je příliš dlouhý" msgid "to" msgstr "do" -#: src/component/settings/passcode.vue:312 +#: src/component/settings/passcode.vue:315 msgid "To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place." msgstr "Abyste se vyhnuli uzamčení svého účtu, stáhněte si, vytiskněte nebo zkopírujte tento kód pro obnovení a uschovejte jej na bezpečném místě." -#: src/component/settings/apps.vue:272 +#: src/component/settings/apps.vue:275 msgid "To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:" msgstr "Chcete-li vygenerovat nové heslo pro konkrétní aplikaci, zadejte název a rozsah oprávnění aplikace a vyberte datum vypršení platnosti:" -#: src/component/settings/passcode.vue:400 +#: src/component/settings/passcode.vue:403 msgid "To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:" msgstr "Chcete-li přepnout na novou ověřovací aplikaci nebo zařízení, nejprve deaktivujte dvoufaktorové ověřování a poté jej znovu aktivujte:" -#: src/page/connect.vue:221 src/page/connect.vue:230 +#: src/page/connect.vue:223 src/page/connect.vue:232 msgid "To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:" msgstr "Chcete-li provést aktualizaci, můžete zadat aktivační kód nebo se zaregistrovat kliknutím na tlačítko \"Registrovat\" na našich webových stránkách:" @@ -3049,7 +3084,7 @@ msgstr "Chcete-li provést aktualizaci, můžete zadat aktivační kód nebo se msgid "Today" msgstr "Dnes" -#: src/component/album/toolbar.vue:70 src/component/photo/toolbar.vue:78 +#: src/component/album/toolbar.vue:71 src/component/photo/toolbar.vue:78 msgid "Toggle View" msgstr "Přepnout zobrazení" @@ -3076,20 +3111,24 @@ msgstr "Řešení problémů" msgid "Try again using other filters or keywords." msgstr "Zkuste to znovu použitím jiného filtru nebo klíčového slova." -#: src/component/settings/passcode.vue:380 +#: src/component/settings/passcode.vue:383 msgid "Two-factor authentication has been enabled for your account." msgstr "Pro váš účet bylo povoleno dvoufaktorové ověřování." #: src/component/photo/edit/files.vue:58 src/component/photo/edit/files.vue:330 -#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:388 +#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:389 msgid "Type" msgstr "Typ" -#: src/options/auth.js:13 +#: src/component/album/toolbar.vue:178 +msgid "Unable to delete" +msgstr "Nelze odstranit" + +#: src/options/auth.js:14 msgid "Unauthorized" msgstr "Neoprávněné" -#: src/component/photo/edit/people.vue:94 +#: src/component/photo/edit/people.vue:95 msgid "Undo" msgstr "Vrátit" @@ -3097,16 +3136,16 @@ msgstr "Vrátit" msgid "Unique ID" msgstr "Jedinečné ID" -#: src/page/settings/account.vue:451 src/page/settings/account.vue:476 -#: src/page/settings/account.vue:501 src/common/util.js:487 -#: src/component/photo/edit/details.vue:21 -#: src/component/photo/edit/details.vue:111 -#: src/component/photo/edit/details.vue:138 -#: src/component/photo/edit/details.vue:164 src/component/sidebar/info.vue:43 -#: src/model/album.js:193 src/model/photo.js:323 src/model/photo.js:784 -#: src/model/photo.js:809 src/model/photo.js:832 src/model/photo.js:850 -#: src/model/photo.js:897 src/model/photo.js:905 src/model/photo.js:994 -#: src/model/photo.js:1016 src/model/photo.js:1061 src/model/photo.js:1074 +#: src/page/settings/account.vue:457 src/page/settings/account.vue:482 +#: src/page/settings/account.vue:507 src/common/util.js:488 +#: src/component/photo/edit/details.vue:27 +#: src/component/photo/edit/details.vue:113 +#: src/component/photo/edit/details.vue:140 +#: src/component/photo/edit/details.vue:166 src/component/sidebar/info.vue:43 +#: src/model/album.js:193 src/model/photo.js:331 src/model/photo.js:821 +#: src/model/photo.js:846 src/model/photo.js:869 src/model/photo.js:887 +#: src/model/photo.js:934 src/model/photo.js:942 src/model/photo.js:1031 +#: src/model/photo.js:1053 src/model/photo.js:1098 src/model/photo.js:1111 #: src/model/user.js:157 src/options/options.js:51 src/options/options.js:69 #: src/options/options.js:86 src/options/options.js:100 #: src/options/options.js:112 src/page/library/errors.vue:251 @@ -3119,7 +3158,7 @@ msgstr "Neznámé" msgid "Unregistered" msgstr "Neregistrovaný" -#: src/app/routes.js:215 src/component/navigation.vue:644 +#: src/app/routes.js:223 src/component/navigation.vue:648 msgid "Unsorted" msgstr "Neseřazeno" @@ -3127,7 +3166,7 @@ msgstr "Neseřazeno" msgid "Unstack" msgstr "Nestohovat" -#: src/component/photo/edit/files.vue:519 src/component/photo/edit/info.vue:416 +#: src/component/photo/edit/files.vue:521 src/component/photo/edit/info.vue:416 msgid "Updated" msgstr "Aktualizováno" @@ -3143,7 +3182,7 @@ msgstr "Aktualizace indexace" msgid "Updating moments" msgstr "Aktualizace okamžiků" -#: src/component/user/edit/dialog.vue:154 +#: src/component/user/edit/dialog.vue:155 msgid "Updating picture…" msgstr "Aktualizace obrázku…" @@ -3155,21 +3194,21 @@ msgstr "Aktualizace náhledů" msgid "Updating stacks" msgstr "Aktualizace stohování" -#: src/page/connect.vue:57 src/component/navigation.vue:1500 -#: src/component/navigation.vue:1614 src/component/navigation.vue:1999 +#: src/page/connect.vue:57 src/component/navigation.vue:1526 +#: src/component/navigation.vue:1644 src/component/navigation.vue:2047 #: src/page/connect.vue:58 msgid "Upgrade" msgstr "Upgrade" -#: src/page/about/about.vue:123 src/page/connect.vue:202 -#: src/component/confirm/sponsor.vue:98 src/page/about/about.vue:113 -#: src/page/connect.vue:206 +#: src/page/about/about.vue:124 src/page/connect.vue:204 +#: src/component/confirm/sponsor.vue:99 src/page/about/about.vue:114 +#: src/page/connect.vue:208 msgid "Upgrade Now" msgstr "Upgradujte nyní" -#: src/component/album/toolbar.vue:108 src/component/navigation.vue:1824 -#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:144 -#: src/component/upload/dialog.vue:51 src/page/albums.vue:183 +#: src/component/album/toolbar.vue:113 src/component/navigation.vue:1860 +#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:145 +#: src/component/upload/dialog.vue:51 src/page/albums.vue:185 #: src/page/labels.vue:122 src/page/library/import.vue:133 #: src/page/settings/general.vue:307 src/page/settings/services.vue:38 msgid "Upload" @@ -3179,21 +3218,21 @@ msgstr "Nahrát" msgid "Upload complete" msgstr "Nahrávání dokončeno" -#: src/component/upload/dialog.vue:133 +#: src/component/upload/dialog.vue:135 msgid "Upload complete. Indexing…" msgstr "Nahrávání dokončeno. Indexování…" #: src/component/upload/dialog.vue:296 src/component/upload/dialog.vue:315 -#: src/component/upload/dialog.vue:129 +#: src/component/upload/dialog.vue:131 msgid "Upload failed" msgstr "Nahrávání selhalo" -#: src/component/service/edit.vue:257 +#: src/component/service/edit.vue:258 msgid "Upload local files" msgstr "Nahrát lokální soubory" -#: src/component/user/edit/dialog.vue:380 #: src/component/user/edit/dialog.vue:381 +#: src/component/user/edit/dialog.vue:382 msgid "Upload Path" msgstr "Cesta k nahrávání" @@ -3201,7 +3240,7 @@ msgstr "Cesta k nahrávání" msgid "Upload to WebDAV and share links with friends." msgstr "Nahrát do WebDAV a sdílet odkazy s přáteli." -#: src/component/upload/dialog.vue:131 +#: src/component/upload/dialog.vue:133 msgid "Uploading %{n} of %{t}…" msgstr "Nahrávání %{n} z %{t}…" @@ -3214,7 +3253,7 @@ msgstr "Nahrávání fotografií…" msgid "Uploading…" msgstr "Nahrávání…" -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Uploads that may contain such images will be rejected automatically." msgstr "Nahrávání obsahující takovéto snímky budou automaticky odmítnuta." @@ -3222,7 +3261,7 @@ msgstr "Nahrávání obsahující takovéto snímky budou automaticky odmítnuta msgid "Use Presets" msgstr "Použít předvolby" -#: src/component/settings/passcode.vue:283 +#: src/component/settings/passcode.vue:286 msgid "Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:" msgstr "Pokud se vám nedaří vygenerovat platný ověřovací kód pomocí aplikace pro ověřování, použijte pro přístup k účtu následující kód pro obnovení:" @@ -3230,12 +3269,12 @@ msgstr "Pokud se vám nedaří vygenerovat platný ověřovací kód pomocí apl msgid "Use your recovery code or contact an administrator for help." msgstr "Použijte kód pro obnovení nebo se obraťte na správce." -#: src/options/admin.js:10 src/page/admin/sessions.vue:59 -#: src/page/admin/sessions.vue:242 src/model/user.js:361 src/options/auth.js:7 +#: src/options/admin.js:14 src/page/admin/sessions.vue:59 +#: src/page/admin/sessions.vue:243 src/model/user.js:361 src/options/auth.js:8 msgid "User" msgstr "Uživatel" -#: src/component/navigation.vue:1979 +#: src/component/navigation.vue:2025 msgid "User Guide" msgstr "Uživatelská příručka" @@ -3243,14 +3282,14 @@ msgstr "Uživatelská příručka" msgid "User Interface" msgstr "Uživatelské rozhraní" -#: src/component/user/add/dialog.vue:87 src/component/user/add/dialog.vue:88 -#: src/page/admin/sessions.vue:220 src/page/admin/users.vue:71 -#: src/component/service/add.vue:85 src/component/service/edit.vue:337 +#: src/component/user/add/dialog.vue:88 src/component/user/add/dialog.vue:89 +#: src/page/admin/sessions.vue:221 src/page/admin/users.vue:73 +#: src/component/service/add.vue:86 src/component/service/edit.vue:338 #: src/component/share/dialog.vue:26 msgid "Username" msgstr "Uživatelské jméno" -#: src/component/navigation.vue:1435 +#: src/component/navigation.vue:1461 msgid "Users" msgstr "Uživatelé" @@ -3260,18 +3299,18 @@ msgstr "Uživatelé" msgid "Vector" msgstr "Vektor" -#: src/component/navigation.vue:440 +#: src/component/navigation.vue:442 msgid "Vectors" msgstr "Vektory" -#: src/component/settings/passcode.vue:227 src/page/auth/login.vue:144 +#: src/component/settings/passcode.vue:230 src/page/auth/login.vue:144 msgid "Verification Code" msgstr "Ověřovací kód" #: src/component/photo/view/cards.vue:363 #: src/component/photo/view/cards.vue:491 src/component/photo/view/list.vue:190 #: src/component/photo/view/mosaic.vue:207 src/model/file.js:221 -#: src/model/photo.js:921 src/model/photo.js:939 src/options/options.js:293 +#: src/model/photo.js:958 src/model/photo.js:976 src/options/options.js:293 msgid "Video" msgstr "Video" @@ -3280,12 +3319,12 @@ msgstr "Video" msgid "Video Duration" msgstr "Délka videa" -#: src/app/routes.js:243 src/component/navigation.vue:728 +#: src/app/routes.js:251 src/component/navigation.vue:734 #: src/options/options.js:200 msgid "Videos" msgstr "Videa" -#: src/component/photo/toolbar.vue:261 src/component/photo/view/cards.vue:350 +#: src/component/photo/toolbar.vue:263 src/component/photo/view/cards.vue:350 #: src/component/photo/view/mosaic.vue:194 msgid "View" msgstr "Zobrazit" @@ -3294,11 +3333,11 @@ msgstr "Zobrazit" msgid "View search results as a list." msgstr "Zobrazení výsledků vyhledávání jako seznamu." -#: src/options/admin.js:14 src/options/auth.js:8 +#: src/options/admin.js:18 src/options/auth.js:9 msgid "Viewer" msgstr "Prohlížeč" -#: src/page/admin/sessions.vue:271 src/options/auth.js:12 +#: src/page/admin/sessions.vue:272 src/options/auth.js:13 msgid "Visitor" msgstr "Návštěvník" @@ -3310,34 +3349,34 @@ msgstr "Vizuální podobnost" msgid "Warning" msgstr "Varování" -#: src/page/about/feedback.vue:60 +#: src/page/about/feedback.vue:61 msgid "We appreciate your feedback!" msgstr "Vážíme si vaší zpětné vazby!" -#: src/page/about/feedback.vue:63 +#: src/page/about/feedback.vue:64 msgid "We do our best to respond within five business days or less." msgstr "Snažíme se odpovědět do pěti pracovních dnů nebo později." -#: src/component/user/add/dialog.vue:235 src/component/user/edit/dialog.vue:415 -#: src/page/admin/users.vue:80 +#: src/component/user/add/dialog.vue:236 src/component/user/edit/dialog.vue:416 +#: src/page/admin/users.vue:82 msgid "Web Login" msgstr "Webové přihlášení" -#: src/component/user/add/dialog.vue:248 src/component/user/edit/dialog.vue:432 -#: src/page/admin/users.vue:82 src/options/auth.js:55 src/options/auth.js:68 +#: src/component/user/add/dialog.vue:249 src/component/user/edit/dialog.vue:433 +#: src/page/admin/users.vue:84 src/options/auth.js:56 src/options/auth.js:69 #: src/options/options.js:444 msgid "WebDAV" msgstr "WebDAV" -#: src/component/settings/webdav.vue:51 +#: src/component/settings/webdav.vue:52 msgid "WebDAV clients can connect to PhotoPrism using the following URL:" msgstr "WebDAV klienti se mohou k PhotoPrism připojit pomocí následující URL:" -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism." msgstr "WebDAC klienti, jako Microsoftí Windows Exporer nebo Applovský Finder, se mohou k PhotoPrism připojit přímo." -#: src/component/service/upload.vue:50 src/component/share/dialog.vue:220 +#: src/component/service/upload.vue:51 src/component/share/dialog.vue:220 msgid "WebDAV Upload" msgstr "Nahrát přes WebDAV" @@ -3345,8 +3384,8 @@ msgstr "Nahrát přes WebDAV" msgid "WebGL support is disabled in your browser" msgstr "Podpora WebGL je ve vašem prohlížeči zakázána" -#: src/page/settings/account.vue:615 src/page/settings/account.vue:709 -#: src/page/settings/account.vue:601 +#: src/page/settings/account.vue:621 src/page/settings/account.vue:715 +#: src/page/settings/account.vue:607 msgid "Website" msgstr "Webová stránka" @@ -3354,12 +3393,12 @@ msgstr "Webová stránka" msgid "White" msgstr "Bílá" -#: src/page/settings/account.vue:532 +#: src/page/settings/account.vue:538 msgid "Work Details" msgstr "Podrobnosti o práci" -#: src/page/settings/account.vue:500 src/component/photo/edit/details.vue:163 -#: src/component/photo/toolbar.vue:315 src/page/albums.vue:159 +#: src/page/settings/account.vue:506 src/component/photo/edit/details.vue:165 +#: src/component/photo/toolbar.vue:317 src/page/albums.vue:159 msgid "Year" msgstr "Rok" @@ -3367,21 +3406,21 @@ msgstr "Rok" msgid "Yellow" msgstr "Žlutá" -#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:58 -#: src/component/photo/archive/dialog.vue:58 +#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:59 +#: src/component/photo/archive/dialog.vue:59 #: src/component/photo/clipboard.vue:200 src/component/photo/edit/files.vue:365 #: src/component/photo/edit/files.vue:395 #: src/component/photo/edit/files.vue:401 #: src/component/photo/edit/files.vue:407 -#: src/component/photo/edit/files.vue:510 src/component/photo/edit/info.vue:281 +#: src/component/photo/edit/files.vue:512 src/component/photo/edit/info.vue:281 #: src/component/photo/edit/info.vue:297 src/component/photo/edit/info.vue:313 #: src/component/photo/edit/info.vue:329 src/component/photo/edit/info.vue:344 -#: src/component/photo/toolbar.vue:434 +#: src/component/photo/toolbar.vue:436 msgid "Yes" msgstr "Ano" -#: src/component/confirm/sponsor.vue:59 src/page/about/about.vue:158 -#: src/page/connect.vue:315 +#: src/component/confirm/sponsor.vue:60 src/page/about/about.vue:160 +#: src/page/connect.vue:317 msgid "You are welcome to contact us at membership@photoprism.app for questions regarding your membership." msgstr "V případě dotazů týkajících se vašeho členství nás můžete kontaktovat na adrese membership@photoprism.app." @@ -3393,7 +3432,11 @@ msgstr "Stáhnout lze pouze jedno album" msgid "You can only download one label" msgstr "Stáhnout lze pouze jeden štítek" -#: src/component/upload/dialog.vue:203 +#: src/component/location/dialog.vue:178 +msgid "You can search for a location or move the marker on the map to change the position:" +msgstr "Můžete vyhledat místo nebo přesunout značku na mapě a změnit polohu:" + +#: src/component/upload/dialog.vue:205 msgid "You can upload up to %{n} files for test purposes." msgstr "Pro testovací účely můžete nahrát až %{n} souborů." @@ -3406,7 +3449,7 @@ msgstr "Vybrat lze pouze jednu položku" msgid "You may rescan your library to find additional faces." msgstr "Můžete znovu prohledat knihovnu a najít další tváře." -#: src/page/connect.vue:146 src/page/connect.vue:150 +#: src/page/connect.vue:147 src/page/connect.vue:151 msgid "Your account has been successfully connected." msgstr "Váš účet byl úspěšně připojen." @@ -3414,8 +3457,8 @@ msgstr "Váš účet byl úspěšně připojen." msgid "Your browser does not support WebGL" msgstr "Váš prohlížeč nepodporuje WebGL" -#: src/component/confirm/sponsor.vue:43 src/page/about/about.vue:97 -#: src/page/about/about.vue:156 src/page/connect.vue:220 +#: src/component/confirm/sponsor.vue:44 src/page/about/about.vue:98 +#: src/page/about/about.vue:158 src/page/connect.vue:222 msgid "Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy." msgstr "Vaše trvalá podpora nám pomáhá poskytovat pravidelné aktualizace a zůstat nezávislými, abychom mohli plnit naše poslání a chránit vaše soukromí." @@ -3496,9 +3539,6 @@ msgstr "Přiblížit/Oddálit" #~ msgid "Open Folder" #~ msgstr "Otevřít složku" -#~ msgid "Cannot copy to clipboard" -#~ msgstr "Nelze zkopírovat do schránky" - #~ msgid "Sound" #~ msgstr "Zvuk" @@ -4146,9 +4186,6 @@ msgstr "Přiblížit/Oddálit" #~ msgid "More than 50 results" #~ msgstr "Více než 50 výsledků" -#~ msgid "No results" -#~ msgstr "Žádné výsledky" - #~ msgid "Not implemented yet" #~ msgstr "Zatím neimplementováno" diff --git a/frontend/src/locales/da.po b/frontend/src/locales/da.po index 196d29dec..ac61d4510 100644 --- a/frontend/src/locales/da.po +++ b/frontend/src/locales/da.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: ci@photoprism.app\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2025-04-04 08:03+0000\n" +"PO-Revision-Date: 2025-07-06 08:58+0000\n" "Last-Translator: DeepL \n" "Language-Team: Danish \n" "Language: da\n" @@ -11,7 +11,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.10.4\n" +"X-Generator: Weblate 5.12.2\n" "Generated-By: easygettext\n" #: src/locales.js:268 @@ -42,7 +42,7 @@ msgstr "{0} valgt" msgid "{0}-{1} of {2}" msgstr "{0}-{1} af {2}" -#: src/page/albums.vue:612 +#: src/page/albums.vue:617 msgid "%{n} albums found" msgstr "%{n} album fundet" @@ -50,25 +50,25 @@ msgstr "%{n} album fundet" msgid "%{n} files uploaded" msgstr "%{n} filer uploadet" -#: src/page/library/browse.vue:362 +#: src/page/library/browse.vue:364 msgid "%{n} folders found" msgstr "%{n} mapper fundet" -#: src/component/navigation.vue:1676 +#: src/component/navigation.vue:1707 msgid "%{n} GB of %{q} GB used" msgstr "%{n} GB af %{q} GB brugt" -#: src/page/labels.vue:528 +#: src/page/labels.vue:533 msgid "%{n} labels found" msgstr "%{n} etiketter fundet" -#: src/page/people/new.vue:350 src/page/people/new.vue:447 -#: src/page/people/recognized.vue:536 +#: src/page/people/new.vue:350 src/page/people/new.vue:450 +#: src/page/people/recognized.vue:541 msgid "%{n} people found" msgstr "%{n} personer fundet" -#: src/page/album/photos.vue:308 src/page/album/photos.vue:493 -#: src/page/photos.vue:441 src/page/photos.vue:631 +#: src/page/album/photos.vue:313 src/page/album/photos.vue:504 +#: src/page/photos.vue:446 src/page/photos.vue:641 msgid "%{n} pictures found" msgstr "%{n} billeder fundet" @@ -88,12 +88,12 @@ msgstr "1 time" msgid "12 hours" msgstr "12 timer" -#: src/component/user/edit/dialog.vue:452 src/page/settings/account.vue:324 -#: src/component/settings/passcode.vue:75 +#: src/component/user/edit/dialog.vue:453 src/page/settings/account.vue:325 +#: src/component/settings/passcode.vue:78 msgid "2-Factor Authentication" msgstr "2-faktor-godkendelse" -#: src/component/user/edit/dialog.vue:451 src/options/auth.js:46 +#: src/component/user/edit/dialog.vue:452 src/options/auth.js:47 msgid "2FA" msgstr "2FA" @@ -109,20 +109,20 @@ msgstr "Et klik kopierer det til dit udklipsholder." msgid "A new version of %{s} is available:" msgstr "En ny version af %{s} er tilgængelig:" -#: src/component/user/edit/dialog.vue:233 -#: src/component/user/edit/dialog.vue:234 src/page/about/about.vue:56 +#: src/component/user/edit/dialog.vue:234 +#: src/component/user/edit/dialog.vue:235 src/page/about/about.vue:56 #: src/page/settings/account.vue:248 src/page/settings/account.vue:249 -#: src/app/routes.js:63 src/component/navigation.vue:1521 -#: src/page/people/recognized.vue:292 +#: src/app/routes.js:63 src/component/navigation.vue:1547 +#: src/page/people/recognized.vue:296 msgid "About" msgstr "Om" -#: src/options/auth.js:26 src/options/auth.js:44 +#: src/options/auth.js:27 src/options/auth.js:45 msgid "Access Token" msgstr "Adgangstoken" -#: src/component/navigation.vue:87 src/component/navigation.vue:1788 -#: src/component/service/upload.vue:71 src/model/service.js:96 +#: src/component/navigation.vue:87 src/component/navigation.vue:1822 +#: src/component/service/upload.vue:72 src/model/service.js:96 #: src/model/user.js:171 src/page/settings.vue:85 #: src/page/settings/general.vue:582 msgid "Account" @@ -136,7 +136,7 @@ msgstr "Konto oprettet" msgid "Account deleted" msgstr "Konto slettet" -#: src/page/admin/users.vue:335 +#: src/page/admin/users.vue:337 msgid "Account restored" msgstr "Konto gendannet" @@ -157,8 +157,8 @@ msgstr "Handling" msgid "Actions" msgstr "Handlinger" -#: src/page/connect.vue:294 src/component/settings/passcode.vue:346 -#: src/page/connect.vue:303 +#: src/page/connect.vue:296 src/component/settings/passcode.vue:349 +#: src/page/connect.vue:305 msgid "Activate" msgstr "Aktivér" @@ -174,20 +174,20 @@ msgstr "Aktivér for at sortere stigende." msgid "Activate to sort descending." msgstr "Aktivér for at sortere faldende." -#: src/page/connect.vue:231 src/page/connect.vue:240 +#: src/page/connect.vue:233 src/page/connect.vue:242 msgid "Activation Code" msgstr "Aktiveringskode" -#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:83 -#: src/component/settings/apps.vue:448 +#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:92 +#: src/component/settings/apps.vue:451 msgid "Add" msgstr "Tilføj" -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:246 msgid "Add %{s}?" msgstr "Tilføj %{s}?" -#: src/component/user/add/dialog.vue:56 src/component/service/add.vue:49 +#: src/component/user/add/dialog.vue:57 src/component/service/add.vue:50 msgid "Add Account" msgstr "Tilføj konto" @@ -204,8 +204,8 @@ msgid "Add Link" msgstr "Tilføj link" #: src/component/photo/edit/people.vue:25 -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:57 -#: src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:57 +#: src/page/people/new.vue:246 msgid "Add person?" msgstr "Tilføj person?" @@ -221,10 +221,15 @@ msgstr "Tilføj billeder fra søgeresultater ved at vælge dem." msgid "Add to album" msgstr "Føj til albummet" -#: src/component/photo/edit/files.vue:514 +#: src/component/photo/edit/files.vue:516 msgid "Added" msgstr "Tilføjet" +#: src/component/location/dialog.vue:68 src/component/location/dialog.vue:90 +#: src/component/photo/edit/details.vue:246 +msgid "Adjust Location" +msgstr "Juster placering" + #: src/options/admin.js:6 src/options/auth.js:6 msgid "Admin" msgstr "Admin" @@ -245,7 +250,7 @@ msgstr "Efter 3 dage" msgid "After 7 days" msgstr "Efter 7 dage" -#: src/component/settings/passcode.vue:93 +#: src/component/settings/passcode.vue:96 msgid "After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:" msgstr "Når du har indtastet din adgangskode til bekræftelse, kan du konfigurere to-faktor-godkendelse med en kompatibel godkendelsesapp eller enhed:" @@ -277,12 +282,16 @@ msgstr "Album" msgid "Album Backups" msgstr "Sikkerhedskopier af album" -#: src/page/albums.vue:674 +#: src/page/albums.vue:685 msgid "Album created" msgstr "Album oprettet" -#: src/app/routes.js:176 src/component/album/toolbar.vue:51 -#: src/component/navigation.vue:604 src/component/navigation.vue:1882 +#: src/page/album/photos.vue:589 +msgid "Album deleted" +msgstr "Albummet er slettet" + +#: src/app/routes.js:184 src/component/album/toolbar.vue:55 +#: src/component/navigation.vue:607 src/component/navigation.vue:1922 #: src/component/photo/edit/info.vue:220 src/options/options.js:198 msgid "Albums" msgstr "Album" @@ -295,7 +304,7 @@ msgstr "Albums slettet" msgid "All" msgstr "Alle" -#: src/page/albums.vue:465 +#: src/page/albums.vue:470 msgid "All %{n} albums loaded" msgstr "Alle %{n} album er indlæst" @@ -311,8 +320,8 @@ msgstr "Alle %{n} personer indlæst" msgid "All Cameras" msgstr "Alle kameraer" -#: src/component/photo/toolbar.vue:74 src/page/albums.vue:44 -#: src/page/albums.vue:240 src/page/albums.vue:746 +#: src/component/photo/toolbar.vue:74 src/page/albums.vue:45 +#: src/page/albums.vue:242 src/page/albums.vue:757 msgid "All Categories" msgstr "Alle kategorier" @@ -344,7 +353,7 @@ msgstr "Alle måneder" msgid "All originals" msgstr "Alle originaler" -#: src/component/photo/toolbar.vue:76 src/page/albums.vue:93 +#: src/component/photo/toolbar.vue:76 src/page/albums.vue:94 msgid "All Years" msgstr "Alle år" @@ -356,7 +365,7 @@ msgstr "Alternativt kan du uploade filer direkte til WebDAV-servere såsom Nextc msgid "Altitude" msgstr "Højde" -#: src/component/photo/edit/details.vue:272 +#: src/component/photo/edit/details.vue:297 msgid "Altitude (m)" msgstr "Højde (m)" @@ -364,8 +373,7 @@ msgstr "Højde (m)" msgid "AM" msgstr "AM" -#: src/app/routes.js:257 src/component/navigation.vue:791 -#: src/component/photo/edit/files.vue:364 +#: src/app/routes.js:265 src/component/photo/edit/files.vue:364 #: src/component/photo/view/cards.vue:327 #: src/component/photo/view/cards.vue:511 src/component/photo/view/list.vue:184 #: src/component/photo/view/mosaic.vue:171 src/options/options.js:301 @@ -376,43 +384,47 @@ msgstr "Animeret" msgid "Animation" msgstr "Animation" +#: src/component/navigation.vue:797 +msgid "Animations" +msgstr "Animationer" + #: src/component/share/dialog.vue:207 msgid "Any private photos and videos remain private and won't be shared." msgstr "Alle private fotos og videoer forbliver private og deles ikke." -#: src/component/service/edit.vue:372 +#: src/component/service/edit.vue:373 msgid "API Key" msgstr "API-nøgle" -#: src/page/admin/sessions.vue:357 src/options/auth.js:25 +#: src/page/admin/sessions.vue:361 src/options/auth.js:26 msgid "Application" msgstr "Applikation" -#: src/component/photo/edit/details.vue:641 +#: src/component/photo/edit/details.vue:615 msgid "Apply" msgstr "Anvend" #: src/component/photo/clipboard.vue:64 -#: src/component/photo/edit/details.vue:640 +#: src/component/photo/edit/details.vue:614 #: src/component/photo/view/cards.vue:416 msgid "Approve" msgstr "Godkend" -#: src/page/settings/account.vue:374 src/component/settings/apps.vue:91 +#: src/page/settings/account.vue:378 src/component/settings/apps.vue:94 msgid "Apps and Devices" msgstr "Apps og enheder" -#: src/app/routes.js:287 src/component/lightbox.vue:1207 -#: src/component/navigation.vue:555 src/component/photo/clipboard.vue:142 +#: src/app/routes.js:295 src/component/lightbox.vue:1207 +#: src/component/navigation.vue:557 src/component/photo/clipboard.vue:142 #: src/component/photo/view/cards.vue:398 src/page/settings/general.vue:432 msgid "Archive" msgstr "Arkiver" -#: src/component/lightbox.vue:1982 src/component/photo/edit/info.vue:433 +#: src/component/lightbox.vue:2002 src/component/photo/edit/info.vue:433 msgid "Archived" msgstr "Arkiveret" -#: src/component/photo/archive/dialog.vue:34 +#: src/component/photo/archive/dialog.vue:35 msgid "Are you sure you want to archive the selection?" msgstr "Er du sikker på, at du vil arkivere det markerede?" @@ -420,19 +432,23 @@ msgstr "Er du sikker på, at du vil arkivere det markerede?" msgid "Are you sure you want to delete these albums?" msgstr "Er du sikker på, at du vil slette disse album?" -#: src/component/label/delete/dialog.vue:34 +#: src/component/label/delete/dialog.vue:35 msgid "Are you sure you want to delete these labels?" msgstr "Er du sikker på, at du vil slette disse etiketter?" -#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:36 +#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:37 msgid "Are you sure you want to delete this account?" msgstr "Er du sikker på, at du vil slette denne konto?" +#: src/component/album/toolbar.vue:136 +msgid "Are you sure you want to delete this album?" +msgstr "Er du sikker på, at du vil slette dette album?" + #: src/component/photo/clipboard.vue:199 msgid "Are you sure you want to permanently delete these pictures?" msgstr "Er du sikker på, at du vil slette disse billeder permanent?" -#: src/component/file/delete/dialog.vue:34 +#: src/component/file/delete/dialog.vue:35 msgid "Are you sure you want to permanently delete this file?" msgstr "Er du sikker på, at du vil slette denne fil permanent?" @@ -441,7 +457,7 @@ msgstr "Er du sikker på, at du vil slette denne fil permanent?" msgid "Are you sure?" msgstr "Er du sikker?" -#: src/component/photo/edit/details.vue:537 +#: src/component/photo/edit/details.vue:511 msgid "Artist" msgstr "Kunstner" @@ -449,14 +465,14 @@ msgstr "Kunstner" msgid "Aspect Ratio" msgstr "Billedformat" -#: src/app/routes.js:250 src/component/navigation.vue:770 +#: src/app/routes.js:258 src/component/navigation.vue:776 #: src/options/options.js:297 msgid "Audio" msgstr "Lyd" -#: src/component/user/add/dialog.vue:190 src/component/user/edit/dialog.vue:309 -#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:281 -#: src/page/admin/users.vue:75 +#: src/component/user/add/dialog.vue:191 src/component/user/edit/dialog.vue:310 +#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:282 +#: src/page/admin/users.vue:77 msgid "Authentication" msgstr "Godkendelse" @@ -464,11 +480,11 @@ msgstr "Godkendelse" msgid "Auto" msgstr "Auto" -#: src/component/settings/apps.vue:151 +#: src/component/settings/apps.vue:154 msgid "Back" msgstr "Tilbage" -#: src/component/scroll.vue:20 +#: src/component/scroll.vue:18 msgid "Back to top" msgstr "Tilbage til toppen" @@ -480,26 +496,26 @@ msgstr "Backup" msgid "Badge" msgstr "Badge" -#: src/component/user/edit/dialog.vue:361 #: src/component/user/edit/dialog.vue:362 +#: src/component/user/edit/dialog.vue:363 msgid "Base Path" msgstr "Basis sti" -#: src/page/about/about.vue:95 src/page/connect.vue:220 +#: src/page/about/about.vue:96 src/page/connect.vue:222 msgid "Become a member today, support our mission and enjoy our member benefits!" msgstr "Bliv medlem i dag, støt vores mission og få glæde af vores medlemsfordele!" -#: src/component/confirm/sponsor.vue:51 src/page/about/about.vue:99 +#: src/component/confirm/sponsor.vue:52 src/page/about/about.vue:100 msgid "Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services." msgstr "Da vi er 100 % selvfinansierede og uafhængige, kan vi love dig, at vi aldrig vil sælge dine data, og at vi altid vil være gennemsigtige med hensyn til vores software og tjenester." -#: src/component/user/edit/dialog.vue:258 -#: src/component/user/edit/dialog.vue:259 src/page/settings/account.vue:227 +#: src/component/user/edit/dialog.vue:259 +#: src/component/user/edit/dialog.vue:260 src/page/settings/account.vue:227 #: src/page/settings/account.vue:228 msgid "Bio" msgstr "Biografi" -#: src/page/settings/account.vue:431 +#: src/page/settings/account.vue:437 msgid "Birth Date" msgstr "Fødselsdato" @@ -520,7 +536,7 @@ msgid "Brown" msgstr "Brun" #: src/component/photo/edit/files.vue:263 src/component/photo/toolbar.vue:141 -#: src/component/upload/dialog.vue:240 +#: src/component/upload/dialog.vue:242 msgid "Browse" msgstr "Gennemse" @@ -548,16 +564,16 @@ msgstr "Fejlrapport" msgid "Busy, please wait…" msgstr "Optaget, vent venligst …" -#: src/page/connect.vue:317 +#: src/page/connect.vue:319 msgid "By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct." msgstr "Ved at bruge den software og de tjenester, vi tilbyder, accepterer du vores servicevilkår, privatlivspolitik og adfærdskodeks." -#: src/app/routes.js:189 src/component/navigation.vue:1081 +#: src/app/routes.js:197 src/component/navigation.vue:1097 #: src/options/options.js:204 src/page/settings/general.vue:205 msgid "Calendar" msgstr "Kalender" -#: src/component/photo/edit/details.vue:346 src/component/photo/toolbar.vue:232 +#: src/component/photo/edit/details.vue:320 src/component/photo/toolbar.vue:234 #: src/component/photo/view/cards.vue:467 src/component/photo/view/list.vue:116 msgid "Camera" msgstr "Kamera" @@ -570,12 +586,12 @@ msgstr "Kamera serienummer" msgid "Can't access your authenticator app or device?" msgstr "Kan du ikke få adgang til din authenticator-app eller -enhed?" -#: src/page/album/photos.vue:317 src/page/photos.vue:450 +#: src/page/album/photos.vue:322 src/page/photos.vue:455 msgid "Can't load more, limit reached" msgstr "Kan ikke indlæse mere, grænsen nået" #: src/common/clipboard.js:102 src/common/clipboard.js:139 -#: src/page/albums.vue:684 src/page/albums.vue:700 src/page/labels.vue:293 +#: src/page/albums.vue:695 src/page/albums.vue:711 src/page/labels.vue:293 #: src/page/labels.vue:313 src/page/library/browse.vue:233 #: src/page/library/browse.vue:249 src/page/people/new.vue:278 #: src/page/people/new.vue:294 src/page/people/recognized.vue:305 @@ -584,26 +600,31 @@ msgid "Can't select more items" msgstr "Kan ikke vælge flere elementer" #: src/component/session/remove/dialog.vue:45 -#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:473 -#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:119 +#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:474 +#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:120 #: src/component/album/delete/dialog.vue:43 -#: src/component/album/edit/dialog.vue:199 src/component/confirm/dialog.vue:43 -#: src/component/file/delete/dialog.vue:47 -#: src/component/label/delete/dialog.vue:47 -#: src/component/label/edit/dialog.vue:107 -#: src/component/people/edit/dialog.vue:120 +#: src/component/album/edit/dialog.vue:200 src/component/confirm/dialog.vue:43 +#: src/component/file/delete/dialog.vue:48 +#: src/component/label/delete/dialog.vue:48 +#: src/component/label/edit/dialog.vue:108 +#: src/component/location/dialog.vue:200 +#: src/component/people/edit/dialog.vue:121 #: src/component/photo/album/dialog.vue:78 src/component/service/add.vue:19 -#: src/component/service/edit.vue:455 src/component/service/remove.vue:49 -#: src/component/service/upload.vue:117 src/component/settings/apps.vue:352 -#: src/component/settings/passcode.vue:249 -#: src/component/settings/passcode.vue:333 -#: src/component/settings/password.vue:159 src/component/share/dialog.vue:28 -#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:123 +#: src/component/service/edit.vue:456 src/component/service/remove.vue:50 +#: src/component/service/upload.vue:118 src/component/settings/apps.vue:355 +#: src/component/settings/passcode.vue:252 +#: src/component/settings/passcode.vue:336 +#: src/component/settings/password.vue:160 src/component/share/dialog.vue:28 +#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:124 #: src/page/library/import.vue:119 src/page/library/index.vue:128 msgid "Cancel" msgstr "Annullere" -#: src/component/photo/edit/details.vue:87 src/component/photo/edit/info.vue:61 +#: src/common/util.js:863 src/common/util.js:870 +msgid "Cannot copy to clipboard" +msgstr "Kan ikke kopiere til udklipsholder" + +#: src/component/photo/edit/details.vue:89 src/component/photo/edit/info.vue:63 #: src/component/photo/edit/labels.vue:42 #: src/component/photo/view/cards.vue:445 src/component/sidebar/info.vue:72 msgid "Caption" @@ -617,17 +638,17 @@ msgstr "Kort" msgid "Carousel slide {0} of {1}" msgstr "Karrusel-slide {0} af {1}." -#: src/page/about/feedback.vue:82 src/page/about/feedback.vue:83 -#: src/component/album/edit/dialog.vue:128 src/component/photo/toolbar.vue:397 +#: src/page/about/feedback.vue:83 src/page/about/feedback.vue:84 +#: src/component/album/edit/dialog.vue:129 src/component/photo/toolbar.vue:399 #: src/page/albums.vue:187 msgid "Category" msgstr "Kategori" -#: src/component/user/edit/dialog.vue:191 src/page/settings/account.vue:201 +#: src/component/user/edit/dialog.vue:192 src/page/settings/account.vue:201 msgid "Change Avatar" msgstr "Ændre Avatar" -#: src/page/settings/account.vue:297 src/component/settings/password.vue:48 +#: src/page/settings/account.vue:297 src/component/settings/password.vue:49 msgid "Change Password" msgstr "Ændre adgangskode" @@ -644,17 +665,17 @@ msgid "Change private flag" msgstr "Ændre privat flag" #: src/component/user/add/dialog.vue:108 src/component/user/add/dialog.vue:113 -#: src/component/user/edit/dialog.vue:90 src/component/user/edit/dialog.vue:95 +#: src/component/user/edit/dialog.vue:91 src/component/user/edit/dialog.vue:96 #: src/page/settings/account.vue:121 src/page/settings/account.vue:126 msgid "Changes could not be saved" msgstr "Ændringer kunne ikke gemmes" -#: src/component/user/edit/dialog.vue:83 src/component/user/edit/dialog.vue:159 +#: src/component/user/edit/dialog.vue:84 src/component/user/edit/dialog.vue:160 #: src/component/album/edit/dialog.vue:73 -#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1941 +#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1961 #: src/component/photo/edit/files.vue:162 src/component/service/edit.vue:90 #: src/component/share/dialog.vue:92 src/component/share/dialog.vue:111 -#: src/page/albums.vue:677 src/page/people/recognized.vue:119 +#: src/page/albums.vue:688 src/page/people/recognized.vue:119 #: src/page/settings/advanced.vue:62 src/page/settings/content.vue:62 #: src/page/settings/general.vue:108 msgid "Changes successfully saved" @@ -668,7 +689,7 @@ msgstr "Ændringer i de avancerede indstillinger kræver en genstart for at træ msgid "Checked" msgstr "Kontrolleret" -#: src/component/photo/edit/files.vue:495 +#: src/component/photo/edit/files.vue:497 msgid "Chroma" msgstr "Chroma" @@ -684,24 +705,24 @@ msgstr "Oprydning" msgid "Clear {0}" msgstr "Ryd {0}" -#: src/options/auth.js:11 src/options/auth.js:23 src/options/auth.js:43 +#: src/options/auth.js:12 src/options/auth.js:24 src/options/auth.js:44 msgid "Client" msgstr "Kunde" -#: src/options/auth.js:24 +#: src/options/auth.js:25 msgid "Client Credentials" msgstr "Kundens legitimationsoplysninger" -#: src/page/admin/sessions.vue:529 src/component/lightbox.vue:284 -#: src/component/lightbox.vue:1009 src/component/lightbox.vue:1010 -#: src/component/photo/edit/details.vue:627 src/component/photo/toolbar.vue:160 -#: src/component/settings/apps.vue:224 src/component/settings/apps.vue:437 -#: src/component/settings/passcode.vue:148 -#: src/component/settings/passcode.vue:456 -#: src/component/settings/passcode.vue:497 -#: src/component/settings/webdav.vue:131 src/component/share/dialog.vue:231 +#: src/component/user/edit/dialog.vue:474 src/page/admin/sessions.vue:536 +#: src/component/lightbox.vue:284 src/component/lightbox.vue:1009 +#: src/component/lightbox.vue:1010 src/component/photo/edit/details.vue:601 +#: src/component/photo/toolbar.vue:161 src/component/settings/apps.vue:227 +#: src/component/settings/apps.vue:440 src/component/settings/passcode.vue:151 +#: src/component/settings/passcode.vue:459 +#: src/component/settings/passcode.vue:500 +#: src/component/settings/webdav.vue:132 src/component/share/dialog.vue:231 #: src/component/sidebar/info.vue:26 src/component/update.vue:57 -#: src/component/upload/dialog.vue:228 src/locales.js:206 +#: src/component/upload/dialog.vue:230 src/locales.js:206 #: src/page/library/errors.vue:253 msgid "Close" msgstr "Luk" @@ -710,11 +731,11 @@ msgstr "Luk" msgid "Codec" msgstr "Codec" -#: src/component/photo/toolbar.vue:369 +#: src/component/photo/toolbar.vue:371 msgid "Color" msgstr "Farve" -#: src/component/photo/edit/files.vue:483 +#: src/component/photo/edit/files.vue:485 msgid "Color Profile" msgstr "Farveprofil" @@ -722,7 +743,7 @@ msgstr "Farveprofil" msgid "Colors" msgstr "Farver" -#: src/page/connect.vue:260 src/page/connect.vue:269 +#: src/page/connect.vue:262 src/page/connect.vue:271 msgid "Compare Editions" msgstr "Sammenlign udgaver" @@ -735,17 +756,18 @@ msgstr "Komplet scanning" msgid "Confidence" msgstr "Tillid" +#: src/component/location/dialog.vue:212 #: src/component/photo/album/dialog.vue:90 -#: src/component/settings/passcode.vue:261 +#: src/component/settings/passcode.vue:264 msgid "Confirm" msgstr "Bekræft" -#: src/component/service/add.vue:20 src/page/settings/services.vue:187 +#: src/component/service/add.vue:20 src/page/settings/services.vue:191 msgid "Connect" msgstr "Opret forbindelse" -#: src/page/settings/account.vue:401 src/component/settings/webdav.vue:45 -#: src/page/settings/services.vue:167 +#: src/page/settings/account.vue:406 src/component/settings/webdav.vue:46 +#: src/page/settings/services.vue:170 msgid "Connect via WebDAV" msgstr "Opret forbindelse via WebDAV" @@ -753,22 +775,22 @@ msgstr "Opret forbindelse via WebDAV" msgid "Connected" msgstr "Tilsluttet" -#: src/page/settings/account.vue:640 src/page/settings/account.vue:532 +#: src/page/settings/account.vue:646 src/page/settings/account.vue:538 msgid "Contact Details" msgstr "Kontaktoplysninger" -#: src/page/about/feedback.vue:37 src/page/connect.vue:132 -#: src/page/connect.vue:136 +#: src/page/about/feedback.vue:37 src/page/connect.vue:133 +#: src/page/connect.vue:137 msgid "Contact Us" msgstr "Kontakt os" #: src/page/albums.vue:433 src/page/labels.vue:237 -#: src/page/people/recognized.vue:306 +#: src/page/people/recognized.vue:310 msgid "Contains %{n} pictures." msgstr "Indeholder %{n} billeder." #: src/page/albums.vue:427 src/page/labels.vue:231 -#: src/page/people/recognized.vue:300 +#: src/page/people/recognized.vue:304 msgid "Contains one picture." msgstr "Indeholder et billede." @@ -776,7 +798,7 @@ msgstr "Indeholder et billede." msgid "Content" msgstr "Indhold" -#: src/component/settings/apps.vue:163 +#: src/component/settings/apps.vue:166 msgid "Continue" msgstr "Fortsæt" @@ -784,7 +806,7 @@ msgstr "Fortsæt" msgid "Continue with %{provider}" msgstr "Fortsæt med %{udbyder}" -#: src/options/admin.js:18 src/options/auth.js:9 +#: src/options/admin.js:22 src/options/auth.js:10 msgid "Contributor" msgstr "Bidragyder" @@ -792,15 +814,15 @@ msgstr "Bidragyder" msgid "Converting" msgstr "Konverterer" -#: src/common/util.js:846 +#: src/common/util.js:856 msgid "Copied to clipboard" msgstr "Kopieret til udklipsholderen" -#: src/component/settings/apps.vue:250 src/component/settings/passcode.vue:358 +#: src/component/settings/apps.vue:253 src/component/settings/passcode.vue:361 msgid "Copy" msgstr "Kopier" -#: src/component/photo/edit/details.vue:516 +#: src/component/photo/edit/details.vue:490 msgid "Copyright" msgstr "Ophavsret" @@ -808,8 +830,8 @@ msgstr "Ophavsret" msgid "Couldn't find anything." msgstr "Kunne ikke finde noget." -#: src/page/settings/account.vue:685 src/component/photo/edit/details.vue:242 -#: src/component/photo/toolbar.vue:203 src/page/settings/account.vue:577 +#: src/page/settings/account.vue:691 src/component/photo/edit/details.vue:268 +#: src/component/photo/toolbar.vue:205 src/page/settings/account.vue:583 msgid "Country" msgstr "Land" @@ -833,7 +855,7 @@ msgstr "Opret YAML-filer til sikkerhedskopiering af albummet." msgid "Create YAML sidecar files to back up picture metadata." msgstr "Opret YAML-sidevognsfiler til sikkerhedskopiering af billedmetadata." -#: src/page/admin/sessions.vue:417 src/component/photo/edit/info.vue:412 +#: src/page/admin/sessions.vue:422 src/component/photo/edit/info.vue:412 msgid "Created" msgstr "Oprettet" @@ -845,11 +867,11 @@ msgstr "Opretter miniaturer til" msgid "Cubic: Moderate Quality, Good Performance" msgstr "Cubic: Moderat Kvalitet, God Ydeevne" -#: src/component/settings/password.vue:85 +#: src/component/settings/password.vue:86 msgid "Current Password" msgstr "Nuværende kodeord" -#: src/options/themes.js:919 src/options/themes.js:928 +#: src/options/themes.js:920 src/options/themes.js:929 msgid "Custom" msgstr "Brugerdefineret" @@ -865,11 +887,11 @@ msgstr "Dagligt" msgid "Database Backups" msgstr "Sikkerhedskopiering af databaser" -#: src/page/settings/account.vue:450 src/component/photo/edit/details.vue:110 +#: src/page/settings/account.vue:456 src/component/photo/edit/details.vue:112 msgid "Day" msgstr "Dag" -#: src/component/settings/passcode.vue:445 +#: src/component/settings/passcode.vue:448 msgid "Deactivate" msgstr "Deaktiver" @@ -877,36 +899,40 @@ msgstr "Deaktiver" msgid "Debug Logs" msgstr "Fejlfindingslog" -#: src/options/admin.js:31 src/page/admin/sessions.vue:136 -#: src/page/admin/users.vue:176 src/component/photo/edit/info.vue:47 +#: src/options/admin.js:35 src/page/admin/sessions.vue:136 +#: src/page/admin/users.vue:178 src/component/photo/edit/info.vue:47 #: src/component/photo/edit/info.vue:110 src/model/session.js:66 -#: src/model/user.js:246 src/options/auth.js:20 src/options/auth.js:21 -#: src/options/auth.js:39 src/options/auth.js:40 src/options/options.js:196 +#: src/model/user.js:246 src/options/auth.js:21 src/options/auth.js:22 +#: src/options/auth.js:40 src/options/auth.js:41 src/options/options.js:196 #: src/options/options.js:232 src/options/options.js:316 -#: src/options/themes.js:773 +#: src/options/themes.js:774 msgid "Default" msgstr "Standard" -#: src/component/service/edit.vue:123 +#: src/component/service/edit.vue:124 msgid "Default Folder" msgstr "Standardmappe" #: src/component/session/remove/dialog.vue:56 #: src/component/user/remove/dialog.vue:56 src/component/album/clipboard.vue:97 -#: src/component/album/delete/dialog.vue:54 -#: src/component/file/delete/dialog.vue:58 src/component/label/clipboard.vue:58 -#: src/component/label/delete/dialog.vue:58 +#: src/component/album/delete/dialog.vue:54 src/component/album/toolbar.vue:137 +#: src/component/file/delete/dialog.vue:59 src/component/label/clipboard.vue:58 +#: src/component/label/delete/dialog.vue:59 #: src/component/photo/clipboard.vue:168 src/component/photo/edit/files.vue:238 -#: src/component/service/remove.vue:60 src/component/share/dialog.vue:170 +#: src/component/service/remove.vue:61 src/component/share/dialog.vue:170 #: src/page/settings/general.vue:457 msgid "Delete" msgstr "Slet" +#: src/component/album/toolbar.vue:133 +msgid "Delete Album" +msgstr "Slet album" + #: src/component/photo/toolbar.vue:119 src/page/library/errors.vue:95 msgid "Delete All" msgstr "Slet alle" -#: src/component/photo/toolbar.vue:433 src/page/library/errors.vue:193 +#: src/component/photo/toolbar.vue:435 src/page/library/errors.vue:193 msgid "Delete all?" msgstr "Slet alle?" @@ -914,16 +940,16 @@ msgstr "Slet alle?" msgid "Delete orphaned index entries, sidecar files and thumbnails." msgstr "Slet forældreløse indeksposter, sidevognsfiler og miniaturebilleder." -#: src/component/album/edit/dialog.vue:107 src/page/albums.vue:411 +#: src/component/album/edit/dialog.vue:108 src/page/albums.vue:411 msgid "Description" msgstr "Beskrivelse" -#: src/component/settings/webdav.vue:115 +#: src/component/settings/webdav.vue:116 msgid "Detailed instructions can be found in our User Guide." msgstr "Detaljerede instruktioner kan findes i vores brugervejledning." -#: src/component/photo/edit/dialog.vue:156 -#: src/component/photo/edit/dialog.vue:173 +#: src/component/photo/edit/dialog.vue:162 +#: src/component/photo/edit/dialog.vue:181 msgid "Details" msgstr "Detaljer" @@ -987,8 +1013,8 @@ msgstr "Deaktiverer understøttelse af vektorgrafik." msgid "Disables video transcoding and thumbnail extraction." msgstr "Deaktiverer video-omkodning og dannelse af miniaturebilleder." -#: src/app/routes.js:558 src/app/routes.js:565 src/app/routes.js:572 -#: src/app/routes.js:579 +#: src/app/routes.js:566 src/app/routes.js:573 src/app/routes.js:580 +#: src/app/routes.js:587 msgid "Discover" msgstr "Opdag" @@ -996,9 +1022,9 @@ msgstr "Opdag" msgid "Dismiss" msgstr "Afslå" -#: src/component/user/add/dialog.vue:133 src/component/user/add/dialog.vue:134 -#: src/component/user/edit/dialog.vue:163 -#: src/component/user/edit/dialog.vue:164 src/page/admin/users.vue:72 +#: src/component/user/add/dialog.vue:134 src/component/user/add/dialog.vue:135 +#: src/component/user/edit/dialog.vue:164 +#: src/component/user/edit/dialog.vue:165 src/page/admin/users.vue:74 #: src/page/settings/account.vue:149 src/page/settings/account.vue:151 msgid "Display Name" msgstr "Vis navn" @@ -1013,12 +1039,12 @@ msgstr "Vis billedtitler i søgeresultater." #: src/component/photo/view/cards.vue:339 #: src/component/photo/view/cards.vue:521 -#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:174 +#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:176 #: src/options/options.js:309 msgid "Document" msgstr "Dokument" -#: src/component/navigation.vue:480 +#: src/component/navigation.vue:482 msgid "Documents" msgstr "Dokumenter" @@ -1034,16 +1060,16 @@ msgstr "Brug ikke ImageMagick til at konvertere billeder." msgid "Don't use RawTherapee to convert RAW images." msgstr "Du må ikke bruge RawTherapee til at konvertere RAW-filer." -#: src/component/settings/apps.vue:238 src/component/share/dialog.vue:29 +#: src/component/settings/apps.vue:241 src/component/share/dialog.vue:29 msgid "Done" msgstr "Færdig" -#: src/component/upload/dialog.vue:135 src/page/library/import.vue:46 +#: src/component/upload/dialog.vue:137 src/page/library/import.vue:46 #: src/page/library/index.vue:52 msgid "Done." msgstr "Udført." -#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:118 +#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:123 #: src/component/file/clipboard.vue:48 src/component/lightbox.vue:1235 #: src/component/people/clipboard.vue:47 src/component/photo/clipboard.vue:116 #: src/component/photo/edit/files.vue:168 src/page/settings/content.vue:331 @@ -1055,7 +1081,7 @@ msgstr "Download" msgid "Download only original media files, without any automatically generated files." msgstr "Download kun originale mediefiler, uden automatisk genererede filer." -#: src/component/service/edit.vue:237 +#: src/component/service/edit.vue:238 msgid "Download remote files" msgstr "Download fjernfiler" @@ -1063,9 +1089,9 @@ msgstr "Download fjernfiler" msgid "Download single files and zip archives." msgstr "Download enkeltfiler og zip-arkiver." -#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:157 +#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:172 #: src/component/file/clipboard.vue:61 src/component/label/clipboard.vue:86 -#: src/component/lightbox.vue:2021 src/component/people/clipboard.vue:59 +#: src/component/lightbox.vue:2041 src/component/people/clipboard.vue:59 #: src/component/photo/clipboard.vue:220 src/component/photo/edit/files.vue:119 #: src/component/photo/view/cards.vue:169 src/component/photo/view/list.vue:142 #: src/page/library/browse.vue:139 @@ -1080,7 +1106,7 @@ msgstr "Nedskaleringsfilter" msgid "Drag and drop files here" msgstr "Træk og slip filer her" -#: src/page/about/feedback.vue:61 +#: src/page/about/feedback.vue:62 msgid "Due to the high volume of emails we receive, our team may be unable to get back to you immediately." msgstr "På grund af den store mængde e-mails, vi modtager, kan det være, at vores team ikke kan svare dig med det samme." @@ -1100,23 +1126,23 @@ msgstr "Dynamiske miniaturebilleder" msgid "Dynamic Size Limit: %{n}px" msgstr "Grænse for dynamisk størrelse: %{n}px" -#: src/page/about/feedback.vue:141 src/page/about/feedback.vue:140 +#: src/page/about/feedback.vue:142 src/page/about/feedback.vue:141 msgid "E-Mail" msgstr "E-mail" -#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:89 +#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:94 #: src/component/lightbox.vue:1136 src/component/lightbox.vue:1137 #: src/component/photo/clipboard.vue:90 src/page/settings/general.vue:407 msgid "Edit" msgstr "Redigere" -#: src/component/album/edit/dialog.vue:54 -#: src/component/label/edit/dialog.vue:52 -#: src/component/people/edit/dialog.vue:52 +#: src/component/album/edit/dialog.vue:55 +#: src/component/label/edit/dialog.vue:53 +#: src/component/people/edit/dialog.vue:53 msgid "Edit %{s}" msgstr "Rediger %{s}" -#: src/component/user/edit/dialog.vue:61 src/component/service/edit.vue:79 +#: src/component/user/edit/dialog.vue:62 src/component/service/edit.vue:79 msgid "Edit Account" msgstr "Rediger konto" @@ -1128,8 +1154,8 @@ msgstr "Rediger Billede" msgid "Edited" msgstr "Redigeret" -#: src/component/user/add/dialog.vue:151 src/component/user/edit/dialog.vue:213 -#: src/page/settings/account.vue:171 src/page/settings/account.vue:593 +#: src/component/user/add/dialog.vue:152 src/component/user/edit/dialog.vue:214 +#: src/page/settings/account.vue:171 src/page/settings/account.vue:599 msgid "Email" msgstr "E-mail" @@ -1145,7 +1171,7 @@ msgstr "Aktivér nye funktioner, der kan være ufuldstændige eller ustabile." msgid "Enables RAW converter presets. May reduce performance." msgstr "Aktiverer RAW-konverteringsindstillinger. Kan reducere ydeevnen." -#: src/component/settings/passcode.vue:127 +#: src/component/settings/passcode.vue:130 msgid "Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account." msgstr "Aktivering af to-faktor-godkendelse betyder, at du skal bruge en tilfældigt genereret bekræftelseskode for at logge ind, så selvom nogen får adgang til din adgangskode, vil de ikke kunne få adgang til din konto." @@ -1157,7 +1183,7 @@ msgstr "Indtast dato" msgid "Enter dates" msgstr "Indtast datoer" -#: src/component/settings/passcode.vue:213 src/page/auth/login.vue:104 +#: src/component/settings/passcode.vue:216 src/page/auth/login.vue:104 msgid "Enter the code generated by your authenticator app:" msgstr "Indtast den kode, der genereres af din autentificeringsapp:" @@ -1165,7 +1191,7 @@ msgstr "Indtast den kode, der genereres af din autentificeringsapp:" msgid "Enter verification code" msgstr "Indtast verifikations kode" -#: src/component/settings/apps.vue:109 +#: src/component/settings/apps.vue:112 msgid "Enter your password to confirm the action and continue:" msgstr "Indtast din adgangskode for at bekræfte handlingen og fortsæt:" @@ -1174,7 +1200,7 @@ msgstr "Indtast din adgangskode for at bekræfte handlingen og fortsæt:" msgid "Error" msgstr "Fejl" -#: src/app/routes.js:374 src/component/navigation.vue:1348 +#: src/app/routes.js:382 src/component/navigation.vue:1372 msgid "Errors" msgstr "Fejl" @@ -1210,13 +1236,13 @@ msgstr "Metadataudtræk med ExifTool er påkrævet for fuld understøttelse af v msgid "Experimental Features" msgstr "Eksperimentelle funktioner" -#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:453 -#: src/component/service/edit.vue:157 src/component/settings/apps.vue:73 -#: src/component/settings/apps.vue:326 src/component/share/dialog.vue:62 +#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:458 +#: src/component/service/edit.vue:158 src/component/settings/apps.vue:73 +#: src/component/settings/apps.vue:329 src/component/share/dialog.vue:62 msgid "Expires" msgstr "Udløber" -#: src/component/photo/edit/details.vue:396 +#: src/component/photo/edit/details.vue:370 msgid "Exposure" msgstr "Eksponering" @@ -1224,7 +1250,7 @@ msgstr "Eksponering" msgid "Extract still images and generate thumbnails while indexing." msgstr "Udtræk stillbilleder og generer thumbnails under indeksering." -#: src/component/photo/edit/details.vue:444 +#: src/component/photo/edit/details.vue:418 msgid "F Number" msgstr "F-nummer" @@ -1240,7 +1266,7 @@ msgstr "Ansigter" msgid "Failed removing link" msgstr "Linket kunne ikke fjernes" -#: src/page/connect.vue:106 src/page/connect.vue:110 +#: src/page/connect.vue:107 src/page/connect.vue:111 msgid "Failed to connect account." msgstr "Kunne ikke oprette forbindelse til konto." @@ -1248,8 +1274,8 @@ msgstr "Kunne ikke oprette forbindelse til konto." msgid "Failed updating link" msgstr "Linket kunne ikke opdateres" -#: src/component/user/edit/dialog.vue:143 -#: src/component/user/edit/dialog.vue:144 src/page/settings/account.vue:128 +#: src/component/user/edit/dialog.vue:144 +#: src/component/user/edit/dialog.vue:145 src/page/settings/account.vue:128 #: src/page/settings/account.vue:130 msgid "Family Name" msgstr "Efternavn" @@ -1258,15 +1284,15 @@ msgstr "Efternavn" msgid "Fast" msgstr "Hurtig" -#: src/component/album/edit/dialog.vue:159 -#: src/component/label/edit/dialog.vue:85 -#: src/component/people/edit/dialog.vue:85 +#: src/component/album/edit/dialog.vue:160 +#: src/component/label/edit/dialog.vue:86 +#: src/component/people/edit/dialog.vue:86 #: src/component/photo/edit/info.vue:287 msgid "Favorite" msgstr "Favorit" -#: src/app/routes.js:222 src/component/navigation.vue:893 -#: src/options/options.js:202 src/page/albums.vue:97 +#: src/app/routes.js:230 src/component/navigation.vue:903 +#: src/options/options.js:202 src/page/albums.vue:98 msgid "Favorites" msgstr "Favoritter" @@ -1274,7 +1300,7 @@ msgstr "Favoritter" msgid "Feature Request" msgstr "Funktionsanmodning" -#: src/component/navigation.vue:1456 +#: src/component/navigation.vue:1482 msgid "Feedback" msgstr "Tilbagemelding" @@ -1282,11 +1308,12 @@ msgstr "Tilbagemelding" msgid "Female" msgstr "Kvinde" -#: src/component/photo/edit/info.vue:214 src/model/file.js:290 +#: src/component/photo/edit/info.vue:57 src/component/photo/edit/info.vue:214 +#: src/model/file.js:290 msgid "File" msgstr "Fil" -#: src/app/routes.js:343 +#: src/app/routes.js:351 msgid "File Browser" msgstr "Filbrowser" @@ -1309,8 +1336,8 @@ msgstr "Filstørrelse" msgid "Filename" msgstr "Filnavn" -#: src/component/navigation.vue:1930 src/component/photo/edit/dialog.vue:267 -#: src/component/photo/edit/dialog.vue:284 +#: src/component/navigation.vue:1973 src/component/photo/edit/dialog.vue:279 +#: src/component/photo/edit/dialog.vue:298 msgid "Files" msgstr "Filer" @@ -1322,26 +1349,26 @@ msgstr "Filer med sekventielle navne som ‘IMG_1234 (2)’ og ‘IMG_1234 (3) msgid "First page" msgstr "Første side" -#: src/component/photo/edit/details.vue:465 +#: src/component/photo/edit/details.vue:439 msgid "Focal Length" msgstr "Brændvidde" -#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:118 -#: src/component/service/edit.vue:189 src/component/service/edit.vue:194 -#: src/component/service/upload.vue:90 src/component/service/upload.vue:96 +#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:119 +#: src/component/service/edit.vue:190 src/component/service/edit.vue:195 +#: src/component/service/upload.vue:91 src/component/service/upload.vue:97 #: src/model/folder.js:199 src/page/library/browse.vue:182 msgid "Folder" msgstr "Mappe" -#: src/page/library/browse.vue:365 +#: src/page/library/browse.vue:367 msgid "Folder contains %{n} files" msgstr "Mappen indeholder %{n} filer" -#: src/page/library/browse.vue:356 +#: src/page/library/browse.vue:358 msgid "Folder is empty" msgstr "Mappen er tom" -#: src/app/routes.js:202 src/component/navigation.vue:1225 +#: src/app/routes.js:210 src/component/navigation.vue:1247 #: src/options/options.js:207 msgid "Folders" msgstr "Mapper" @@ -1358,7 +1385,7 @@ msgstr "FPS" msgid "Frames" msgstr "Rammer" -#: src/options/auth.js:54 src/options/auth.js:64 +#: src/options/auth.js:55 src/options/auth.js:65 msgid "Full Access" msgstr "Fuld adgang" @@ -1370,7 +1397,7 @@ msgstr "Fuld skærm" msgid "General" msgstr "General" -#: src/component/settings/apps.vue:364 +#: src/component/settings/apps.vue:367 msgid "Generate" msgstr "Frembringe" @@ -1390,8 +1417,8 @@ msgstr "Genereret" msgid "Get Started" msgstr "Kom godt i gang" -#: src/component/user/edit/dialog.vue:120 -#: src/component/user/edit/dialog.vue:121 src/page/settings/account.vue:106 +#: src/component/user/edit/dialog.vue:121 +#: src/component/user/edit/dialog.vue:122 src/page/settings/account.vue:106 #: src/page/settings/account.vue:108 msgid "Given Name" msgstr "Fornavn" @@ -1416,7 +1443,7 @@ msgstr "Grøn" msgid "Grey" msgstr "Grå" -#: src/options/admin.js:22 src/options/auth.js:10 +#: src/options/admin.js:26 src/options/auth.js:11 msgid "Guest" msgstr "Gæster" @@ -1432,15 +1459,15 @@ msgstr "Hjælp" msgid "Help & Support" msgstr "Hjælp og Support" -#: src/component/navigation.vue:1327 src/component/people/edit/dialog.vue:98 +#: src/component/navigation.vue:1351 src/component/people/edit/dialog.vue:99 msgid "Hidden" msgstr "Skjult" -#: src/app/routes.js:358 +#: src/app/routes.js:366 msgid "Hidden Files" msgstr "Skjulte filer" -#: src/page/people/new.vue:165 src/page/people/recognized.vue:205 +#: src/page/people/new.vue:166 src/page/people/recognized.vue:206 msgid "Hide" msgstr "Skjul" @@ -1456,7 +1483,7 @@ msgstr "Høj" msgid "High Dynamic Range (HDR)" msgstr "Høj dynamisk rækkevidde (HDR)" -#: src/page/about/feedback.vue:103 +#: src/page/about/feedback.vue:104 msgid "How can we help?" msgstr "Hvordan kan vi hjælpe?" @@ -1464,11 +1491,11 @@ msgstr "Hvordan kan vi hjælpe?" msgid "Hybrid" msgstr "Hybrid" -#: src/component/settings/passcode.vue:389 +#: src/component/settings/passcode.vue:392 msgid "If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account." msgstr "Hvis du mister adgangen til din godkendelsesapp eller enhed, kan du bruge din gendannelseskode til at få adgang til din konto igen." -#: src/component/photo/edit/info.vue:63 src/component/photo/edit/labels.vue:46 +#: src/component/photo/edit/info.vue:65 src/component/photo/edit/labels.vue:46 #: src/component/photo/view/cards.vue:532 src/model/file.js:218 #: src/options/options.js:281 msgid "Image" @@ -1478,7 +1505,7 @@ msgstr "Billede" msgid "Image Quality" msgstr "Billedkvalitet" -#: src/page/library.vue:46 src/page/library/import.vue:152 +#: src/page/library.vue:46 src/page/library/import.vue:153 #: src/page/settings/general.vue:357 msgid "Import" msgstr "Importere" @@ -1503,8 +1530,8 @@ msgstr "Importerer %{s} …" msgid "Importing files to originals…" msgstr "Importerer filer til originaler …" -#: src/component/photo/edit/files.vue:515 -#: src/component/photo/edit/files.vue:520 +#: src/component/photo/edit/files.vue:517 +#: src/component/photo/edit/files.vue:522 msgid "in" msgstr "i" @@ -1522,11 +1549,11 @@ msgstr "Medtag RAW-billedfiler, når du downloader stakke og arkiver." msgid "Include sidecar files when downloading stacks and archives." msgstr "Medtag sidecar-filer, når du downloader stakke og arkiver." -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Increase storage size or delete files to continue." msgstr "Øg lagerstørrelsen eller slet filer for at fortsætte." -#: src/component/navigation.vue:1946 src/page/library.vue:36 +#: src/component/navigation.vue:1990 src/page/library.vue:36 #: src/page/settings/content.vue:34 msgid "Index" msgstr "Indeks" @@ -1556,11 +1583,11 @@ msgstr "Information" msgid "Instance ID" msgstr "Instans-id" -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Insufficient storage." msgstr "Utilstrækkelig opbevaring." -#: src/component/service/edit.vue:209 +#: src/component/service/edit.vue:210 msgid "Interval" msgstr "Interval" @@ -1581,7 +1608,7 @@ msgstr "Ugyldig adresse" msgid "Invalid country" msgstr "Ugyldigt land" -#: src/component/photo/edit/details.vue:174 +#: src/component/photo/edit/details.vue:169 msgid "Invalid date" msgstr "Ugyldig dato" @@ -1590,7 +1617,7 @@ msgstr "Ugyldig dato" msgid "Invalid parameters" msgstr "Ugyldige parametre" -#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:197 +#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:199 msgid "Invalid photo selected" msgstr "Ugyldigt foto valgt" @@ -1602,8 +1629,8 @@ msgstr "Ugyldig tid" msgid "Invalid URL" msgstr "Ugyldig URL" -#: src/component/settings/passcode.vue:314 -#: src/component/settings/passcode.vue:391 +#: src/component/settings/passcode.vue:317 +#: src/component/settings/passcode.vue:394 msgid "It is a one-time use code that will disable 2FA for your account when you use it." msgstr "Det er en engangskode, der vil deaktivere tofaktorgodkendelse for din konto, når du bruger den." @@ -1627,7 +1654,7 @@ msgstr "JPEG maks størrelse: %{n}px" msgid "JPEGs and thumbnails are automatically rendered as needed." msgstr "JPEG’er og miniaturer gengives automatisk efter behov." -#: src/component/photo/edit/details.vue:581 +#: src/component/photo/edit/details.vue:555 msgid "Keywords" msgstr "Nøgleord" @@ -1636,9 +1663,9 @@ msgstr "Nøgleord" msgid "Label" msgstr "Etiket" -#: src/app/routes.js:389 src/component/navigation.vue:1177 -#: src/component/photo/edit/dialog.vue:188 -#: src/component/photo/edit/dialog.vue:205 src/options/options.js:206 +#: src/app/routes.js:397 src/component/navigation.vue:1197 +#: src/component/photo/edit/dialog.vue:196 +#: src/component/photo/edit/dialog.vue:215 src/options/options.js:206 #: src/page/settings/general.vue:255 msgid "Labels" msgstr "Etiketter" @@ -1655,11 +1682,11 @@ msgstr "Lanczos: Bevaring af detaljer, minimale artefakter" msgid "Language" msgstr "Sprog" -#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:435 +#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:440 msgid "Last Active" msgstr "Sidst aktiv" -#: src/page/admin/users.vue:81 +#: src/page/admin/users.vue:83 msgid "Last Login" msgstr "Sidste login" @@ -1675,42 +1702,41 @@ msgstr "Seneste synkronisering" msgid "Last Used" msgstr "Sidst brugt" -#: src/component/photo/edit/details.vue:298 #: src/component/photo/edit/info.vue:373 msgid "Latitude" msgstr "Breddegrad" -#: src/options/admin.js:43 src/options/auth.js:29 +#: src/options/admin.js:47 src/options/auth.js:30 msgid "LDAP/AD" msgstr "LDAP/AD" -#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:86 -#: src/page/about/about.vue:62 src/page/about/about.vue:132 +#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:87 +#: src/page/about/about.vue:62 src/page/about/about.vue:133 #: src/page/connect.vue:67 src/page/help.vue:36 msgid "Learn more" msgstr "Få mere at vide" -#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:135 +#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:137 #: src/page/labels.vue:132 msgid "Learn More" msgstr "Få mere at vide" -#: src/component/navigation.vue:2017 +#: src/component/navigation.vue:2066 msgid "Legal Information" msgstr "Juridiske oplysninger" -#: src/component/photo/edit/details.vue:417 +#: src/component/photo/edit/details.vue:391 #: src/component/photo/view/cards.vue:480 msgid "Lens" msgstr "Linse" -#: src/app/routes.js:443 src/app/routes.js:459 src/app/routes.js:475 -#: src/component/navigation.vue:1267 src/page/settings/general.vue:507 +#: src/app/routes.js:451 src/app/routes.js:467 src/app/routes.js:483 +#: src/component/navigation.vue:1290 src/page/settings/general.vue:507 msgid "Library" msgstr "Bibliotek" #: src/page/connect.vue:45 src/app/routes.js:69 -#: src/component/navigation.vue:1478 src/component/photo/edit/details.vue:559 +#: src/component/navigation.vue:1504 src/component/photo/edit/details.vue:533 #: src/page/about/license.vue:28 msgid "License" msgstr "Licens" @@ -1723,7 +1749,7 @@ msgstr "Synes godt om" msgid "Lime" msgstr "Lime" -#: src/page/library/browse.vue:369 +#: src/page/library/browse.vue:371 msgid "Limit reached, showing first %{n} files" msgstr "Grænse nået, viser de første %{n} filer" @@ -1731,7 +1757,7 @@ msgstr "Grænse nået, viser de første %{n} filer" msgid "Linear: Very Smooth, Best Performance" msgstr "Lineær: Meget glat, bedste ydeevne" -#: src/model/link.js:117 src/options/auth.js:30 src/options/auth.js:31 +#: src/model/link.js:117 src/options/auth.js:31 src/options/auth.js:32 msgid "Link" msgstr "Link" @@ -1749,7 +1775,7 @@ msgstr "Listevisning" msgid "Live" msgstr "Direkte" -#: src/app/routes.js:236 src/component/navigation.vue:749 +#: src/app/routes.js:244 src/component/navigation.vue:755 msgid "Live Photos" msgstr "Live-fotos" @@ -1765,21 +1791,24 @@ msgstr "Indlæser varer..." msgid "Loading..." msgstr "Indlæser..." -#: src/options/admin.js:35 src/options/auth.js:22 src/options/auth.js:27 +#: src/options/admin.js:39 src/options/auth.js:23 src/options/auth.js:28 #: src/options/options.js:38 src/page/settings/general.vue:107 msgid "Local" msgstr "Lokal" -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Local Time" msgstr "Lokal tid" -#: src/page/settings/account.vue:665 src/page/settings/account.vue:667 -#: src/component/album/edit/dialog.vue:92 src/component/photo/edit/info.vue:65 -#: src/component/photo/edit/labels.vue:48 +#: src/page/settings/account.vue:671 src/page/settings/account.vue:673 +#: src/component/album/edit/dialog.vue:93 +#: src/component/photo/edit/details.vue:38 +#: src/component/photo/edit/details.vue:116 +#: src/component/photo/edit/details.vue:210 +#: src/component/photo/edit/info.vue:67 src/component/photo/edit/labels.vue:48 #: src/component/photo/view/cards.vue:555 src/component/photo/view/list.vue:117 -#: src/component/sidebar/info.vue:107 src/page/albums.vue:99 -#: src/page/settings/account.vue:557 src/page/settings/account.vue:559 +#: src/component/sidebar/info.vue:107 src/page/albums.vue:100 +#: src/page/settings/account.vue:563 src/page/settings/account.vue:565 msgid "Location" msgstr "Sted" @@ -1787,20 +1816,19 @@ msgstr "Sted" msgid "Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues." msgstr "Logbeskeder vises her, når PhotoPrism kommer på tværs af ødelagte filer, eller der er andre potentielle problemer." -#: src/component/navigation.vue:1552 src/component/navigation.vue:1840 +#: src/component/navigation.vue:1579 src/component/navigation.vue:1877 msgid "Login" msgstr "Log på" -#: src/component/navigation.vue:1759 +#: src/component/navigation.vue:1791 msgid "Logout" msgstr "Log ud" -#: src/component/navigation.vue:1962 src/page/library.vue:59 +#: src/component/navigation.vue:2007 src/page/library.vue:59 #: src/page/settings/general.vue:557 msgid "Logs" msgstr "Logfiler" -#: src/component/photo/edit/details.vue:324 #: src/component/photo/edit/info.vue:379 msgid "Longitude" msgstr "Længdegrad" @@ -1813,7 +1841,7 @@ msgstr "Lav" msgid "Magenta" msgstr "Magenta" -#: src/component/photo/edit/files.vue:489 +#: src/component/photo/edit/files.vue:491 msgid "Main Color" msgstr "Hovedfarve" @@ -1821,12 +1849,16 @@ msgstr "Hovedfarve" msgid "Male" msgstr "Mand" -#: src/page/connect.vue:164 src/page/connect.vue:246 -#: src/page/about/about.vue:171 src/page/connect.vue:168 -#: src/page/connect.vue:255 +#: src/page/connect.vue:165 src/page/connect.vue:248 +#: src/page/about/about.vue:173 src/page/connect.vue:169 +#: src/page/connect.vue:257 msgid "Manage Account" msgstr "Administrer konto" +#: src/options/admin.js:10 src/options/auth.js:7 +msgid "Manager" +msgstr "Leder" + #: src/component/photo/edit/info.vue:49 src/component/photo/edit/labels.vue:38 msgid "Manual" msgstr "Manuel" @@ -1843,11 +1875,11 @@ msgstr "Kort" msgid "Marker" msgstr "Markør" -#: src/component/user/add/dialog.vue:69 +#: src/component/user/add/dialog.vue:70 msgid "Maximum number of accounts has been reached." msgstr "Det maksimale antal konti er nået." -#: src/app/routes.js:229 src/component/navigation.vue:688 +#: src/app/routes.js:237 src/component/navigation.vue:693 #: src/options/options.js:199 msgid "Media" msgstr "Medier" @@ -1864,7 +1896,7 @@ msgstr "Medlemskab" msgid "Merge %{a} with %{b}?" msgstr "Sammenlægning af %{a} med %{b}?" -#: src/page/about/feedback.vue:102 +#: src/page/about/feedback.vue:103 msgid "Message" msgstr "Besked" @@ -1876,7 +1908,7 @@ msgstr "Besked sendt" msgid "Metadata" msgstr "Metadata" -#: src/options/auth.js:56 src/options/auth.js:72 +#: src/options/auth.js:57 src/options/auth.js:73 msgid "Metrics" msgstr "Metrikker" @@ -1884,7 +1916,7 @@ msgstr "Metrikker" msgid "Minimize" msgstr "Minimer" -#: src/component/photo/edit/files.vue:509 src/component/photo/edit/info.vue:367 +#: src/component/photo/edit/files.vue:511 src/component/photo/edit/info.vue:367 msgid "Missing" msgstr "Mangler" @@ -1892,17 +1924,17 @@ msgstr "Mangler" msgid "Missing or invalid configuration" msgstr "Manglende eller ugyldig konfiguration" -#: src/app/routes.js:163 src/component/navigation.vue:1129 +#: src/app/routes.js:171 src/component/navigation.vue:1147 #: src/options/options.js:205 src/page/settings/general.vue:230 msgid "Moments" msgstr "Øjeblikke" -#: src/component/navigation.vue:383 +#: src/component/navigation.vue:385 msgid "Monochrome" msgstr "Monokrom" -#: src/page/settings/account.vue:475 src/component/photo/edit/details.vue:137 -#: src/component/photo/toolbar.vue:342 +#: src/page/settings/account.vue:481 src/component/photo/edit/details.vue:139 +#: src/component/photo/toolbar.vue:344 msgid "Month" msgstr "Måned" @@ -1922,7 +1954,7 @@ msgstr "Mest relevante" msgid "Move Files" msgstr "Flyt filer" -#: src/component/settings/password.vue:107 +#: src/component/settings/password.vue:108 msgid "Must have at least %{n} characters." msgstr "Skal indeholde mindst %{n} tegn." @@ -1930,20 +1962,20 @@ msgstr "Skal indeholde mindst %{n} tegn." msgid "Mute" msgstr "Dæmpet" -#: src/page/about/feedback.vue:121 src/page/about/feedback.vue:122 -#: src/component/album/edit/dialog.vue:77 -#: src/component/label/edit/dialog.vue:71 -#: src/component/people/edit/dialog.vue:71 -#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:57 +#: src/page/about/feedback.vue:122 src/page/about/feedback.vue:123 +#: src/component/album/edit/dialog.vue:78 +#: src/component/label/edit/dialog.vue:72 +#: src/component/people/edit/dialog.vue:72 +#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:59 #: src/component/photo/edit/info.vue:125 src/component/photo/edit/people.vue:36 -#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:310 -#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:286 -#: src/page/albums.vue:98 src/page/auth/login.vue:168 +#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:311 +#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:289 +#: src/page/albums.vue:99 src/page/auth/login.vue:168 #: src/page/people/new.vue:68 src/page/settings/services.vue:37 msgid "Name" msgstr "Navn" -#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:60 +#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:65 #: src/component/label/edit/dialog.vue:19 #: src/component/people/edit/dialog.vue:19 #: src/component/photo/edit/labels.vue:30 @@ -1953,7 +1985,7 @@ msgstr "Navn" msgid "Name too long" msgstr "Navn for langt" -#: src/page/admin/users.vue:204 src/options/options.js:361 +#: src/page/admin/users.vue:206 src/options/options.js:361 #: src/options/options.js:371 src/page/settings/services.vue:75 msgid "Never" msgstr "Aldrig" @@ -1962,13 +1994,13 @@ msgstr "Aldrig" msgid "New" msgstr "Nyt" -#: src/component/settings/password.vue:106 +#: src/component/settings/password.vue:107 msgid "New Password" msgstr "Nyt kodeord" #: src/component/album/edit/dialog.vue:24 src/component/photo/toolbar.vue:114 #: src/component/photo/toolbar.vue:126 src/component/photo/toolbar.vue:136 -#: src/page/albums.vue:100 +#: src/page/albums.vue:101 msgid "Newest First" msgstr "Nyeste først" @@ -1984,15 +2016,15 @@ msgstr "Næste side" msgid "Next visual" msgstr "Næste billede" -#: src/component/people/merge/dialog.vue:47 -#: src/component/photo/archive/dialog.vue:47 +#: src/component/people/merge/dialog.vue:48 +#: src/component/photo/archive/dialog.vue:48 #: src/component/photo/edit/info.vue:281 src/component/photo/edit/info.vue:297 #: src/component/photo/edit/info.vue:313 src/component/photo/edit/info.vue:329 #: src/component/photo/edit/info.vue:344 msgid "No" msgstr "Nej" -#: src/page/albums.vue:607 src/page/albums.vue:282 +#: src/page/albums.vue:612 src/page/albums.vue:282 msgid "No albums found" msgstr "Ingen album fundet" @@ -2000,7 +2032,7 @@ msgstr "Ingen album fundet" msgid "No data available" msgstr "Ingen tilgængelige data" -#: src/page/labels.vue:523 src/page/labels.vue:155 +#: src/page/labels.vue:528 src/page/labels.vue:155 msgid "No labels found" msgstr "Ingen etiketter fundet" @@ -2013,15 +2045,15 @@ msgid "No more" msgstr "Ikke mere" #: src/component/photo/edit/people.vue:34 src/page/people/new.vue:346 -#: src/page/people/new.vue:443 src/page/people/new.vue:103 -#: src/page/people/recognized.vue:531 src/page/people/recognized.vue:146 +#: src/page/people/new.vue:446 src/page/people/new.vue:103 +#: src/page/people/recognized.vue:536 src/page/people/recognized.vue:146 msgid "No people found" msgstr "Ingen personer fundet" #: src/component/lightbox.vue:365 src/component/photo/view/cards.vue:144 #: src/component/photo/view/list.vue:82 src/component/photo/view/mosaic.vue:68 -#: src/page/album/photos.vue:488 src/page/library/browse.vue:123 -#: src/page/photos.vue:626 src/page/places.vue:624 src/page/places.vue:730 +#: src/page/album/photos.vue:499 src/page/library/browse.vue:123 +#: src/page/photos.vue:636 src/page/places.vue:624 src/page/places.vue:730 msgid "No pictures found" msgstr "Ingen billeder fundet" @@ -2030,7 +2062,11 @@ msgstr "Ingen billeder fundet" msgid "No recently edited pictures" msgstr "Ingen nyligt redigerede billeder" -#: src/component/navigation.vue:1655 +#: src/component/location/dialog.vue:166 +msgid "No results" +msgstr "Ingen resultater" + +#: src/component/navigation.vue:1686 msgid "No server connection" msgstr "Ingen serverforbindelse" @@ -2042,7 +2078,7 @@ msgstr "Ingen servere konfigureret." msgid "No services configured." msgstr "Ingen tjenester er konfigureret." -#: src/component/confirm/sponsor.vue:72 +#: src/component/confirm/sponsor.vue:73 msgid "No thanks" msgstr "Nej tak" @@ -2052,17 +2088,17 @@ msgstr "Ingen advarsler eller fejl, der indeholder dette nøgleord. Bemærk, at #: src/component/photo/view/cards.vue:154 src/component/photo/view/list.vue:59 #: src/component/photo/view/list.vue:92 src/component/photo/view/mosaic.vue:78 -#: src/component/upload/dialog.vue:208 +#: src/component/upload/dialog.vue:210 msgid "Non-photographic and low-quality images require a review before they appear in search results." msgstr "Ikke-fotografiske billeder af lav kvalitet kræver en gennemgang, før de vises i søgeresultaterne." -#: src/options/admin.js:47 src/options/auth.js:32 src/options/options.js:212 +#: src/options/admin.js:51 src/options/auth.js:33 src/options/options.js:212 #: src/options/options.js:328 msgid "None" msgstr "Ingen" -#: src/common/util.js:853 src/component/lightbox.vue:633 -#: src/component/service/upload.vue:75 src/component/service/upload.vue:87 +#: src/component/lightbox.vue:633 src/component/service/upload.vue:75 +#: src/component/service/upload.vue:87 msgid "Not allowed" msgstr "Ikke tilladt" @@ -2074,8 +2110,7 @@ msgstr "Ikke fundet" msgid "Not sorted." msgstr "Ikke sorteret." -#: src/common/util.js:858 src/component/lightbox.vue:627 -#: src/component/lightbox.vue:744 +#: src/component/lightbox.vue:627 src/component/lightbox.vue:744 msgid "Not supported" msgstr "Ikke understøttet" @@ -2083,15 +2118,15 @@ msgstr "Ikke understøttet" msgid "Note you may manually manage your originals folder and importing is optional." msgstr "Bemærk, at du kan administrere mappen med originaler manuelt, og at import er valgfri." -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "Note:" msgstr "Bemærk:" -#: src/component/service/add.vue:120 +#: src/component/service/add.vue:121 msgid "Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload." msgstr "Bemærk: Kun WebDAV-servere, som Nextcloud eller PhotoPrism, kan konfigureres som fjerntjeneste til sikkerhedskopiering og upload af filer." -#: src/component/photo/edit/details.vue:603 +#: src/component/photo/edit/details.vue:577 msgid "Notes" msgstr "Bemærkninger" @@ -2099,8 +2134,8 @@ msgstr "Bemærkninger" msgid "Nothing to see here yet." msgstr "Der er ikke noget at se her endnu." -#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:115 -#: src/component/settings/apps.vue:390 +#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:125 +#: src/component/settings/apps.vue:393 msgid "Nothing was found." msgstr "Intet fundet." @@ -2108,7 +2143,7 @@ msgstr "Intet fundet." msgid "Offline" msgstr "Offline" -#: src/options/admin.js:39 src/options/auth.js:28 +#: src/options/admin.js:43 src/options/auth.js:29 msgid "OIDC" msgstr "OIDC" @@ -2118,11 +2153,11 @@ msgstr "OK" #: src/component/album/edit/dialog.vue:25 src/component/photo/toolbar.vue:115 #: src/component/photo/toolbar.vue:127 src/component/photo/toolbar.vue:137 -#: src/page/albums.vue:101 +#: src/page/albums.vue:102 msgid "Oldest First" msgstr "Ældste først" -#: src/component/settings/webdav.vue:77 +#: src/component/settings/webdav.vue:78 msgid "On Windows, enter the following resource in the connection dialog:" msgstr "På Windows skal du indtaste følgende ressource i forbindelsesdialogboksen:" @@ -2134,11 +2169,11 @@ msgstr "Generering af miniaturebilleder efter behov kan medføre et højt CPU- o msgid "Once a week" msgstr "En gang om ugen" -#: src/page/albums.vue:609 +#: src/page/albums.vue:614 msgid "One album found" msgstr "Et album fundet" -#: src/page/library/browse.vue:358 +#: src/page/library/browse.vue:360 msgid "One file found" msgstr "En fil fundet" @@ -2146,24 +2181,24 @@ msgstr "En fil fundet" msgid "One file uploaded" msgstr "En fil uploadet" -#: src/page/library/browse.vue:360 +#: src/page/library/browse.vue:362 msgid "One folder found" msgstr "En mappe fundet" -#: src/page/labels.vue:525 +#: src/page/labels.vue:530 msgid "One label found" msgstr "En etiket fundet" -#: src/page/people/new.vue:348 src/page/people/new.vue:445 -#: src/page/people/recognized.vue:533 +#: src/page/people/new.vue:348 src/page/people/new.vue:448 +#: src/page/people/recognized.vue:538 msgid "One person found" msgstr "En person fandt" -#: src/page/album/photos.vue:490 src/page/photos.vue:628 +#: src/page/album/photos.vue:501 src/page/photos.vue:638 msgid "One picture found" msgstr "Et billede fundet" -#: src/component/settings/passcode.vue:478 +#: src/component/settings/passcode.vue:481 msgid "Only locally managed accounts can be set up for authentication with 2FA." msgstr "Kun lokalt administrerede konti kan konfigureres til godkendelse med 2FA." @@ -2171,7 +2206,7 @@ msgstr "Kun lokalt administrerede konti kan konfigureres til godkendelse med 2FA msgid "Open" msgstr "Åben" -#: src/component/service/add.vue:86 src/component/service/add.vue:107 +#: src/component/service/add.vue:87 src/component/service/add.vue:108 msgid "optional" msgstr "valgfri" @@ -2183,7 +2218,7 @@ msgstr "eller" msgid "Orange" msgstr "Orange" -#: src/page/settings/account.vue:571 src/page/settings/account.vue:573 +#: src/page/settings/account.vue:577 src/page/settings/account.vue:579 msgid "Organization" msgstr "Organisation" @@ -2199,7 +2234,7 @@ msgstr "Oprindelige filnavne gemmes og indekseres." msgid "Original Name" msgstr "Oprindeligt navn" -#: src/component/navigation.vue:1304 src/model/file.js:196 +#: src/component/navigation.vue:1328 src/model/file.js:196 #: src/options/options.js:413 src/page/library/browse.vue:65 #: src/page/settings/content.vue:356 src/page/settings/general.vue:532 msgid "Originals" @@ -2210,7 +2245,7 @@ msgstr "Originaler" msgid "Other" msgstr "Andre" -#: src/page/about/about.vue:77 src/page/about/about.vue:83 +#: src/page/about/about.vue:78 src/page/about/about.vue:84 msgid "Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible." msgstr "Vores mission er at levere den mest bruger- og privatlivsvenlige løsning til at holde dine billeder organiseret og tilgængelige." @@ -2222,7 +2257,7 @@ msgstr "Udendørs" msgid "Page {0}, Current page" msgstr "Side {0}, aktuel side" -#: src/component/photo/edit/files.vue:352 src/model/photo.js:859 +#: src/component/photo/edit/files.vue:352 src/model/photo.js:896 msgid "Pages" msgstr "Sider" @@ -2234,15 +2269,15 @@ msgstr "Paginering af navigation" msgid "Panorama" msgstr "Panorama" -#: src/component/navigation.vue:402 +#: src/component/navigation.vue:404 msgid "Panoramas" msgstr "Panoramaer" -#: src/component/user/add/dialog.vue:114 src/component/user/add/dialog.vue:115 -#: src/component/service/add.vue:106 src/component/service/edit.vue:352 -#: src/component/settings/apps.vue:121 src/component/settings/passcode.vue:106 -#: src/component/settings/passcode.vue:413 src/component/share/dialog.vue:27 -#: src/options/auth.js:91 src/page/auth/login.vue:196 +#: src/component/user/add/dialog.vue:115 src/component/user/add/dialog.vue:116 +#: src/component/service/add.vue:107 src/component/service/edit.vue:353 +#: src/component/settings/apps.vue:124 src/component/settings/passcode.vue:109 +#: src/component/settings/passcode.vue:416 src/component/share/dialog.vue:27 +#: src/options/auth.js:92 src/page/auth/login.vue:196 msgid "Password" msgstr "Adgangskode" @@ -2250,9 +2285,9 @@ msgstr "Adgangskode" msgid "Password changed" msgstr "Adgangskode ændret" -#: src/app/routes.js:404 src/app/routes.js:428 src/component/navigation.vue:845 -#: src/component/navigation.vue:1898 src/component/photo/edit/dialog.vue:228 -#: src/component/photo/edit/dialog.vue:245 src/options/options.js:201 +#: src/app/routes.js:412 src/app/routes.js:436 src/component/navigation.vue:853 +#: src/component/navigation.vue:1939 src/component/photo/edit/dialog.vue:238 +#: src/component/photo/edit/dialog.vue:257 src/options/options.js:201 #: src/page/settings/general.vue:180 msgid "People" msgstr "Mennesker" @@ -2273,23 +2308,23 @@ msgstr "Fjern filer permanent for at frigøre lagerplads." msgid "Person" msgstr "Person" -#: src/options/auth.js:42 +#: src/options/auth.js:43 msgid "Personal" msgstr "Personlig" -#: src/model/photo.js:1273 +#: src/model/photo.js:1310 msgid "Photo" msgstr "Foto" -#: src/page/about/about.vue:156 +#: src/page/about/about.vue:158 msgid "PhotoPrism is 100% self-funded and independent." msgstr "PhotoPrism er 100 % selvfinansieret og uafhængig." -#: src/page/about/about.vue:92 +#: src/page/about/about.vue:93 msgid "PhotoPrism+ Membership" msgstr "PhotoPrism+-medlemskab" -#: src/app/routes.js:156 +#: src/app/routes.js:164 msgid "Photos" msgstr "Fotos" @@ -2310,27 +2345,27 @@ msgstr "Sted" msgid "Place & Time" msgstr "Sted og tid" -#: src/app/routes.js:303 src/app/routes.js:309 src/app/routes.js:315 -#: src/app/routes.js:330 src/component/navigation.vue:986 -#: src/component/navigation.vue:1914 src/options/options.js:203 +#: src/app/routes.js:311 src/app/routes.js:317 src/app/routes.js:323 +#: src/app/routes.js:338 src/component/navigation.vue:999 +#: src/component/navigation.vue:1956 src/options/options.js:203 #: src/page/places.vue:51 src/page/settings/general.vue:609 #: src/page/settings/general.vue:638 msgid "Places" msgstr "Steder" -#: src/component/settings/password.vue:129 +#: src/component/settings/password.vue:130 msgid "Please confirm your new password." msgstr "Bekræft din nye adgangskode." -#: src/component/settings/apps.vue:185 +#: src/component/settings/apps.vue:188 msgid "Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:" msgstr "Kopier venligst følgende tilfældigt genererede app-adgangskode og opbevar det et sikkert sted, da du ikke får muligheden for at se den igen:" -#: src/component/upload/dialog.vue:203 +#: src/component/upload/dialog.vue:205 msgid "Please do not upload any private, unlawful or offensive pictures." msgstr "Upload venligst ikke private, ulovlige eller stødende billeder." -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Please don't upload photos containing offensive content." msgstr "Upload ikke billeder, der indeholder stødende indhold." @@ -2338,11 +2373,11 @@ msgstr "Upload ikke billeder, der indeholder stødende indhold." msgid "Please enter OTP character {0}" msgstr "Indtast venligst OTP-tegn {0}." -#: src/component/settings/password.vue:66 +#: src/component/settings/password.vue:67 msgid "Please note that changing your password will log you out on other devices and browsers." msgstr "Bemærk, at du ved at ændre din adgangskode bliver logget af på andre enheder og browsere." -#: src/page/connect.vue:148 src/page/connect.vue:152 +#: src/page/connect.vue:149 src/page/connect.vue:153 msgid "Please restart your instance for the changes to take effect." msgstr "Genstart din instans for at ændringerne kan træde i kraft." @@ -2362,11 +2397,11 @@ msgstr "PNG maks størrelse: %{n}px" msgid "Portrait" msgstr "Portræt" -#: src/component/service/edit.vue:273 +#: src/component/service/edit.vue:274 msgid "Preserve filenames" msgstr "Bevar filnavne" -#: src/component/upload/dialog.vue:162 +#: src/component/upload/dialog.vue:164 msgid "Press enter to create a new album." msgstr "Tryk på enter for at oprette et nyt album." @@ -2403,8 +2438,8 @@ msgstr "Tidligere visuel" msgid "Primary" msgstr "Primær" -#: src/app/routes.js:271 src/component/album/edit/dialog.vue:176 -#: src/component/navigation.vue:531 src/component/photo/edit/info.vue:303 +#: src/app/routes.js:279 src/component/album/edit/dialog.vue:177 +#: src/component/navigation.vue:533 src/component/photo/edit/info.vue:303 #: src/page/settings/general.vue:280 msgid "Private" msgstr "Privat" @@ -2429,7 +2464,7 @@ msgstr "Kvalitetsfilter" msgid "Quality Score" msgstr "Kvalitetsresultat" -#: src/page/admin/users.vue:169 +#: src/page/admin/users.vue:171 msgid "r" msgstr "r" @@ -2460,7 +2495,7 @@ msgstr "Skrivebeskyttet tilstand" #: src/component/album/edit/dialog.vue:26 src/component/photo/toolbar.vue:116 #: src/component/photo/toolbar.vue:128 src/component/photo/toolbar.vue:138 -#: src/page/albums.vue:102 +#: src/page/albums.vue:103 msgid "Recently Added" msgstr "Senest tilføjet" @@ -2468,7 +2503,7 @@ msgstr "Senest tilføjet" msgid "Recently Archived" msgstr "Arkiveret for nylig" -#: src/component/photo/toolbar.vue:139 src/page/albums.vue:103 +#: src/component/photo/toolbar.vue:139 src/page/albums.vue:104 msgid "Recently Edited" msgstr "Senest redigeret" @@ -2493,24 +2528,24 @@ msgstr "Genopretningskode" msgid "Red" msgstr "Rød" -#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:126 -#: src/component/album/toolbar.vue:79 src/component/photo/toolbar.vue:169 -#: src/page/albums.vue:173 src/page/labels.vue:112 +#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:128 +#: src/component/album/toolbar.vue:84 src/component/photo/toolbar.vue:169 +#: src/page/albums.vue:175 src/page/labels.vue:112 #: src/page/library/browse.vue:90 src/page/library/errors.vue:81 #: src/page/people/new.vue:54 src/page/people/recognized.vue:88 msgid "Refresh" msgstr "Opdatering" -#: src/app/routes.js:337 src/component/navigation.vue:943 -#: src/component/navigation.vue:1026 +#: src/app/routes.js:345 src/component/navigation.vue:955 +#: src/component/navigation.vue:1040 msgid "Regions" msgstr "Regioner" -#: src/page/connect.vue:275 src/page/connect.vue:284 +#: src/page/connect.vue:277 src/page/connect.vue:286 msgid "Register" msgstr "Registrer" -#: src/component/navigation.vue:1773 src/component/update.vue:68 +#: src/component/navigation.vue:1806 src/component/update.vue:68 msgid "Reload" msgstr "Genindlæs" @@ -2555,34 +2590,34 @@ msgstr "Kræv, at ikke-fotografiske billeder og billeder af lav kvalitet skal ge msgid "Resolution" msgstr "Opløsning" -#: src/page/connect.vue:179 src/page/connect.vue:183 +#: src/page/connect.vue:180 src/page/connect.vue:184 #: src/page/settings/advanced.vue:782 msgid "Restart" msgstr "Genstart" -#: src/component/user/edit/dialog.vue:485 src/component/lightbox.vue:1221 +#: src/component/user/edit/dialog.vue:488 src/component/lightbox.vue:1221 #: src/component/photo/clipboard.vue:77 msgid "Restore" msgstr "Gendan" -#: src/component/lightbox.vue:2000 +#: src/component/lightbox.vue:2020 msgid "Restored" msgstr "Genoprettet" -#: src/component/service/edit.vue:428 +#: src/component/service/edit.vue:429 msgid "Retry Limit" msgstr "Grænse for gentagelse" -#: src/component/settings/password.vue:128 +#: src/component/settings/password.vue:129 msgid "Retype Password" msgstr "Indtast adgangskoden igen" -#: src/app/routes.js:264 src/component/navigation.vue:505 +#: src/app/routes.js:272 src/component/navigation.vue:507 msgid "Review" msgstr "Gennemgang" -#: src/component/user/add/dialog.vue:171 src/component/user/edit/dialog.vue:284 -#: src/page/admin/sessions.vue:262 src/page/admin/users.vue:73 +#: src/component/user/add/dialog.vue:172 src/component/user/edit/dialog.vue:285 +#: src/page/admin/sessions.vue:263 src/page/admin/users.vue:75 msgid "Role" msgstr "Rolle" @@ -2594,11 +2629,11 @@ msgstr "Rækker pr. side:" msgid "Satellite" msgstr "Satellit" -#: src/component/user/edit/dialog.vue:485 -#: src/component/album/edit/dialog.vue:211 -#: src/component/label/edit/dialog.vue:119 -#: src/component/people/edit/dialog.vue:132 src/component/service/edit.vue:466 -#: src/component/settings/password.vue:172 src/component/share/dialog.vue:181 +#: src/component/user/edit/dialog.vue:488 +#: src/component/album/edit/dialog.vue:212 +#: src/component/label/edit/dialog.vue:120 +#: src/component/people/edit/dialog.vue:133 src/component/service/edit.vue:467 +#: src/component/settings/password.vue:173 src/component/share/dialog.vue:181 msgid "Save" msgstr "Gem" @@ -2606,23 +2641,23 @@ msgstr "Gem" msgid "Scan" msgstr "Scan" -#: src/component/settings/passcode.vue:179 +#: src/component/settings/passcode.vue:182 msgid "Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:" msgstr "Scan QR-koden med din autentificeringsapp eller brug opsætningsnøglen vist nedenfor, og indtast derefter den genererede bekræftelseskode:" -#: src/component/navigation.vue:461 +#: src/component/navigation.vue:463 msgid "Scans" msgstr "Scanninger" -#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:377 -#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:310 +#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:381 +#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:313 msgid "Scope" msgstr "Omfang" -#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:62 -#: src/component/navigation.vue:342 src/component/navigation.vue:1866 -#: src/component/photo/toolbar.vue:57 src/options/options.js:197 -#: src/page/albums.vue:100 src/page/labels.vue:77 +#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:69 +#: src/component/location/dialog.vue:133 src/component/navigation.vue:343 +#: src/component/navigation.vue:1905 src/component/photo/toolbar.vue:57 +#: src/options/options.js:197 src/page/albums.vue:100 src/page/labels.vue:77 #: src/page/library/errors.vue:76 src/page/people/recognized.vue:66 #: src/page/places.vue:79 src/page/settings/content.vue:235 msgid "Search" @@ -2660,11 +2695,11 @@ msgstr "Vælg dato" msgid "Select dates" msgstr "Vælg datoer" -#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:154 +#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:156 msgid "Select or create an album" msgstr "Vælg eller opret et album" -#: src/component/upload/dialog.vue:138 +#: src/component/upload/dialog.vue:140 msgid "Select the files to upload…" msgstr "Vælg de filer, der skal uploades…" @@ -2692,7 +2727,7 @@ msgstr "Udvalgte gendannet" msgid "Sequential Name" msgstr "Sekventielt navn" -#: src/component/service/add.vue:67 src/component/service/edit.vue:322 +#: src/component/service/add.vue:68 src/component/service/edit.vue:323 #: src/component/share/dialog.vue:25 msgid "Service URL" msgstr "Service-URL" @@ -2701,7 +2736,7 @@ msgstr "Service-URL" msgid "Services" msgstr "Tjenester" -#: src/model/session.js:107 src/options/auth.js:41 src/options/auth.js:90 +#: src/model/session.js:107 src/options/auth.js:42 src/options/auth.js:91 msgid "Session" msgstr "Session" @@ -2709,7 +2744,7 @@ msgstr "Session" msgid "Session ID" msgstr "Sessions-ID" -#: src/page/admin.vue:45 +#: src/page/admin.vue:44 msgid "Sessions" msgstr "Sessioner" @@ -2717,22 +2752,22 @@ msgstr "Sessioner" msgid "Set as Album Cover" msgstr "Set som albumcover" -#: src/app/routes.js:101 src/app/routes.js:492 src/app/routes.js:504 -#: src/app/routes.js:521 src/app/routes.js:534 src/app/routes.js:547 -#: src/component/navigation.vue:1394 src/component/navigation.vue:1806 +#: src/app/routes.js:101 src/app/routes.js:500 src/app/routes.js:512 +#: src/app/routes.js:529 src/app/routes.js:542 src/app/routes.js:555 +#: src/component/navigation.vue:1419 src/component/navigation.vue:1841 msgid "Settings" msgstr "Indstillinger" #: src/page/settings/account.vue:115 src/page/settings/account.vue:144 -#: src/component/settings/passcode.vue:147 +#: src/component/settings/passcode.vue:151 msgid "Settings saved" msgstr "Indstillinger gemt" -#: src/component/service/upload.vue:131 src/component/settings/passcode.vue:160 +#: src/component/service/upload.vue:132 src/component/settings/passcode.vue:163 msgid "Setup" msgstr "Opsætning" -#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:98 +#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:103 #: src/component/photo/clipboard.vue:51 src/page/settings/general.vue:382 msgid "Share" msgstr "Del" @@ -2749,7 +2784,7 @@ msgstr "Del dine billeder med andre apps og tjenester." msgid "Show" msgstr "Vis" -#: src/page/people/new.vue:116 src/page/people/new.vue:233 +#: src/page/people/new.vue:116 src/page/people/new.vue:235 msgid "Show all new faces" msgstr "Vis alle nye ansigter" @@ -2794,7 +2829,7 @@ msgid "Similar" msgstr "Lignende" #: src/component/photo/edit/files.vue:51 src/component/photo/edit/files.vue:341 -#: src/component/service/edit.vue:139 src/component/sidebar/info.vue:96 +#: src/component/service/edit.vue:140 src/component/sidebar/info.vue:96 msgid "Size" msgstr "Størrelse" @@ -2822,7 +2857,7 @@ msgstr "Noget gik galt, prøv igen" msgid "Sort by" msgstr "Sorter efter" -#: src/component/album/edit/dialog.vue:142 src/component/photo/toolbar.vue:288 +#: src/component/album/edit/dialog.vue:143 src/component/photo/toolbar.vue:290 #: src/page/albums.vue:214 msgid "Sort Order" msgstr "Sorteringsrækkefølge" @@ -2857,7 +2892,7 @@ msgstr "Samle billeder taget på nøjagtig samme tid og sted baseret på deres m msgid "Stackable" msgstr "Kan samles" -#: src/component/navigation.vue:421 src/page/settings/content.vue:136 +#: src/component/navigation.vue:423 src/page/settings/content.vue:136 msgid "Stacks" msgstr "Samlinger" @@ -2885,16 +2920,16 @@ msgstr "Diskplads" msgid "Streets" msgstr "Gader" -#: src/component/photo/edit/details.vue:494 +#: src/component/photo/edit/details.vue:468 #: src/component/photo/edit/labels.vue:44 msgid "Subject" msgstr "Emne" -#: src/page/about/feedback.vue:162 src/page/about/feedback.vue:163 +#: src/page/about/feedback.vue:163 src/page/about/feedback.vue:164 msgid "Submit" msgstr "Indsend" -#: src/component/settings/passcode.vue:132 +#: src/component/settings/passcode.vue:136 msgid "Successfully activated" msgstr "Aktivering lykkedes" @@ -2903,23 +2938,23 @@ msgid "Successfully Connected" msgstr "Succesfuldt tilsluttet" #: src/component/session/remove/dialog.vue:32 -#: src/component/settings/apps.vue:218 +#: src/component/settings/apps.vue:222 msgid "Successfully deleted" msgstr "Sletning lykkedes" -#: src/component/settings/passcode.vue:107 +#: src/component/settings/passcode.vue:108 msgid "Successfully verified" msgstr "Verifikation lykkedes" -#: src/component/user/edit/dialog.vue:398 src/page/admin/users.vue:163 +#: src/component/user/edit/dialog.vue:399 src/page/admin/users.vue:165 msgid "Super Admin" msgstr "Super Admin" -#: src/component/service/add.vue:122 +#: src/component/service/add.vue:123 msgid "Support for additional services, like Google Drive, will be added over time." msgstr "Support til yderligere tjenester, som f.eks. Google Drev, tilføjes over tid." -#: src/component/confirm/sponsor.vue:37 src/component/navigation.vue:1629 +#: src/component/confirm/sponsor.vue:38 src/component/navigation.vue:1660 msgid "Support Our Mission" msgstr "Støt vores mission" @@ -2927,7 +2962,7 @@ msgstr "Støt vores mission" msgid "Sync" msgstr "Synkronisere" -#: src/component/service/edit.vue:289 +#: src/component/service/edit.vue:290 msgid "Sync raw and video files" msgstr "Synkroniser raw og videofiler" @@ -2953,23 +2988,23 @@ msgstr "Terræn" msgid "Text" msgstr "Tekst" -#: src/component/photo/edit/details.vue:32 src/page/people/new.vue:71 +#: src/component/photo/edit/details.vue:40 src/page/people/new.vue:71 msgid "Text too long" msgstr "Teksten er for lang" -#: src/page/about/about.vue:145 +#: src/page/about/about.vue:146 msgid "Thank You for Your Support!" msgstr "Tak for din støtte!" -#: src/page/about/about.vue:79 src/page/about/about.vue:85 +#: src/page/about/about.vue:80 src/page/about/about.vue:86 msgid "That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality." msgstr "Derfor er PhotoPrism bygget helt fra bunden til at kunne køre hvor som helst, du har brug for det, uden at gå på kompromis med frihed, privatlivets fred eller funktionalitet." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "The index currently contains %{n} hidden files." msgstr "Indekset indeholder i øjeblikket %{n} skjulte filer." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates." msgstr "Deres format understøttes muligvis ikke, de er ikke konverteret til JPEG endnu, eller der er dubletter." @@ -2984,44 +3019,44 @@ msgstr "Tema" msgid "This field is required" msgstr "Dette felt er påkrævet" -#: src/component/settings/webdav.vue:100 src/page/settings/services.vue:144 +#: src/component/settings/webdav.vue:101 src/page/settings/services.vue:147 msgid "This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local." msgstr "Dette sætter originalmappen som et netværksdrev og giver dig mulighed for at åbne, redigere og slette filer fra din computer eller smartphone, som om de var lokale." -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Time UTC" msgstr "Tid UTC" -#: src/component/photo/edit/details.vue:219 src/page/settings/general.vue:108 +#: src/component/photo/edit/details.vue:221 src/page/settings/general.vue:108 msgid "Time Zone" msgstr "Tidszone" -#: src/component/service/edit.vue:408 +#: src/component/service/edit.vue:409 msgid "Timeout" msgstr "Timeout" -#: src/component/user/edit/dialog.vue:98 src/component/user/edit/dialog.vue:99 +#: src/component/user/edit/dialog.vue:99 src/component/user/edit/dialog.vue:100 #: src/page/settings/account.vue:84 src/page/settings/account.vue:86 msgctxt "Account" msgid "Title" msgstr "Titel" -#: src/component/photo/edit/details.vue:73 +#: src/component/photo/edit/details.vue:75 msgctxt "Photo" msgid "Title" msgstr "Titel" -#: src/component/photo/edit/info.vue:59 src/component/photo/edit/info.vue:155 +#: src/component/photo/edit/info.vue:61 src/component/photo/edit/info.vue:155 #: src/component/photo/edit/labels.vue:40 src/component/photo/view/list.vue:114 #: src/component/sidebar/info.vue:57 msgid "Title" msgstr "Titel" -#: src/page/settings/account.vue:553 src/page/settings/account.vue:555 +#: src/page/settings/account.vue:559 src/page/settings/account.vue:561 msgid "Title / Position" msgstr "Titel / stilling" -#: src/page/albums.vue:83 +#: src/page/albums.vue:84 msgid "Title too long" msgstr "Titlen er for lang" @@ -3029,19 +3064,19 @@ msgstr "Titlen er for lang" msgid "to" msgstr "til" -#: src/component/settings/passcode.vue:312 +#: src/component/settings/passcode.vue:315 msgid "To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place." msgstr "For at undgå at blive låst ude af din konto skal du downloade, udskrive eller kopiere denne gendannelseskode nu og opbevare den et sikkert sted." -#: src/component/settings/apps.vue:272 +#: src/component/settings/apps.vue:275 msgid "To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:" msgstr "For at generere en ny app-specifik adgangskode skal du indtaste navnet og godkendelsesomfanget for applikationen og vælge en udløbsdato:" -#: src/component/settings/passcode.vue:400 +#: src/component/settings/passcode.vue:403 msgid "To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:" msgstr "For at skifte til en ny autentificeringsapp eller enhed skal du først deaktivere tofaktorgodkendelse og derefter genaktivere den:" -#: src/page/connect.vue:221 src/page/connect.vue:230 +#: src/page/connect.vue:223 src/page/connect.vue:232 msgid "To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:" msgstr "For at opgradere kan du enten indtaste en aktiveringskode eller klikke på \"Registrer\" for at tilmelde dig på vores websted:" @@ -3049,7 +3084,7 @@ msgstr "For at opgradere kan du enten indtaste en aktiveringskode eller klikke p msgid "Today" msgstr "I dag" -#: src/component/album/toolbar.vue:70 src/component/photo/toolbar.vue:78 +#: src/component/album/toolbar.vue:71 src/component/photo/toolbar.vue:78 msgid "Toggle View" msgstr "Skift visning" @@ -3076,20 +3111,24 @@ msgstr "Fejlfinding" msgid "Try again using other filters or keywords." msgstr "Prøv igen ved hjælp af andre filtre eller nøgleord." -#: src/component/settings/passcode.vue:380 +#: src/component/settings/passcode.vue:383 msgid "Two-factor authentication has been enabled for your account." msgstr "To-faktor-godkendelse er blevet aktiveret for din konto." #: src/component/photo/edit/files.vue:58 src/component/photo/edit/files.vue:330 -#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:388 +#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:389 msgid "Type" msgstr "Type" -#: src/options/auth.js:13 +#: src/component/album/toolbar.vue:178 +msgid "Unable to delete" +msgstr "Kan ikke slette" + +#: src/options/auth.js:14 msgid "Unauthorized" msgstr "Uautoriseret" -#: src/component/photo/edit/people.vue:94 +#: src/component/photo/edit/people.vue:95 msgid "Undo" msgstr "Fortryd" @@ -3097,16 +3136,16 @@ msgstr "Fortryd" msgid "Unique ID" msgstr "Unikt ID" -#: src/page/settings/account.vue:451 src/page/settings/account.vue:476 -#: src/page/settings/account.vue:501 src/common/util.js:487 -#: src/component/photo/edit/details.vue:21 -#: src/component/photo/edit/details.vue:111 -#: src/component/photo/edit/details.vue:138 -#: src/component/photo/edit/details.vue:164 src/component/sidebar/info.vue:43 -#: src/model/album.js:193 src/model/photo.js:323 src/model/photo.js:784 -#: src/model/photo.js:809 src/model/photo.js:832 src/model/photo.js:850 -#: src/model/photo.js:897 src/model/photo.js:905 src/model/photo.js:994 -#: src/model/photo.js:1016 src/model/photo.js:1061 src/model/photo.js:1074 +#: src/page/settings/account.vue:457 src/page/settings/account.vue:482 +#: src/page/settings/account.vue:507 src/common/util.js:488 +#: src/component/photo/edit/details.vue:27 +#: src/component/photo/edit/details.vue:113 +#: src/component/photo/edit/details.vue:140 +#: src/component/photo/edit/details.vue:166 src/component/sidebar/info.vue:43 +#: src/model/album.js:193 src/model/photo.js:331 src/model/photo.js:821 +#: src/model/photo.js:846 src/model/photo.js:869 src/model/photo.js:887 +#: src/model/photo.js:934 src/model/photo.js:942 src/model/photo.js:1031 +#: src/model/photo.js:1053 src/model/photo.js:1098 src/model/photo.js:1111 #: src/model/user.js:157 src/options/options.js:51 src/options/options.js:69 #: src/options/options.js:86 src/options/options.js:100 #: src/options/options.js:112 src/page/library/errors.vue:251 @@ -3119,7 +3158,7 @@ msgstr "Ukendt" msgid "Unregistered" msgstr "Uregistreret" -#: src/app/routes.js:215 src/component/navigation.vue:644 +#: src/app/routes.js:223 src/component/navigation.vue:648 msgid "Unsorted" msgstr "Usorteret" @@ -3127,7 +3166,7 @@ msgstr "Usorteret" msgid "Unstack" msgstr "Fjern samling" -#: src/component/photo/edit/files.vue:519 src/component/photo/edit/info.vue:416 +#: src/component/photo/edit/files.vue:521 src/component/photo/edit/info.vue:416 msgid "Updated" msgstr "Opdateret" @@ -3143,7 +3182,7 @@ msgstr "Opdaterer indeks" msgid "Updating moments" msgstr "Opdaterer øjeblikke" -#: src/component/user/edit/dialog.vue:154 +#: src/component/user/edit/dialog.vue:155 msgid "Updating picture…" msgstr "Opdatering af billede…" @@ -3155,21 +3194,21 @@ msgstr "Opdatering af forhåndsvisninger" msgid "Updating stacks" msgstr "Opdatering af samlinger" -#: src/page/connect.vue:57 src/component/navigation.vue:1500 -#: src/component/navigation.vue:1614 src/component/navigation.vue:1999 +#: src/page/connect.vue:57 src/component/navigation.vue:1526 +#: src/component/navigation.vue:1644 src/component/navigation.vue:2047 #: src/page/connect.vue:58 msgid "Upgrade" msgstr "Opgradering" -#: src/page/about/about.vue:123 src/page/connect.vue:202 -#: src/component/confirm/sponsor.vue:98 src/page/about/about.vue:113 -#: src/page/connect.vue:206 +#: src/page/about/about.vue:124 src/page/connect.vue:204 +#: src/component/confirm/sponsor.vue:99 src/page/about/about.vue:114 +#: src/page/connect.vue:208 msgid "Upgrade Now" msgstr "Opgrader nu" -#: src/component/album/toolbar.vue:108 src/component/navigation.vue:1824 -#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:144 -#: src/component/upload/dialog.vue:51 src/page/albums.vue:183 +#: src/component/album/toolbar.vue:113 src/component/navigation.vue:1860 +#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:145 +#: src/component/upload/dialog.vue:51 src/page/albums.vue:185 #: src/page/labels.vue:122 src/page/library/import.vue:133 #: src/page/settings/general.vue:307 src/page/settings/services.vue:38 msgid "Upload" @@ -3179,21 +3218,21 @@ msgstr "Upload" msgid "Upload complete" msgstr "Upload fuldført" -#: src/component/upload/dialog.vue:133 +#: src/component/upload/dialog.vue:135 msgid "Upload complete. Indexing…" msgstr "Upload fuldført. Indekserer…" #: src/component/upload/dialog.vue:296 src/component/upload/dialog.vue:315 -#: src/component/upload/dialog.vue:129 +#: src/component/upload/dialog.vue:131 msgid "Upload failed" msgstr "Upload mislykkedes" -#: src/component/service/edit.vue:257 +#: src/component/service/edit.vue:258 msgid "Upload local files" msgstr "Upload lokale filer" -#: src/component/user/edit/dialog.vue:380 #: src/component/user/edit/dialog.vue:381 +#: src/component/user/edit/dialog.vue:382 msgid "Upload Path" msgstr "Upload sti" @@ -3201,7 +3240,7 @@ msgstr "Upload sti" msgid "Upload to WebDAV and share links with friends." msgstr "Upload til WebDAV og del links med venner." -#: src/component/upload/dialog.vue:131 +#: src/component/upload/dialog.vue:133 msgid "Uploading %{n} of %{t}…" msgstr "Uploader %{n} af %{t}…" @@ -3214,7 +3253,7 @@ msgstr "Uploader fotos…" msgid "Uploading…" msgstr "Overførsel af…" -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Uploads that may contain such images will be rejected automatically." msgstr "Uploads, der kan indeholde sådanne billeder, afvises automatisk." @@ -3222,7 +3261,7 @@ msgstr "Uploads, der kan indeholde sådanne billeder, afvises automatisk." msgid "Use Presets" msgstr "Brug forudindstillinger" -#: src/component/settings/passcode.vue:283 +#: src/component/settings/passcode.vue:286 msgid "Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:" msgstr "Brug følgende gendannelseskode til at få adgang til din konto, når du ikke er i stand til at generere en gyldig bekræftelseskode med din godkendelsesapp:" @@ -3230,12 +3269,12 @@ msgstr "Brug følgende gendannelseskode til at få adgang til din konto, når du msgid "Use your recovery code or contact an administrator for help." msgstr "Brug din gendannelseskode, eller kontakt en administrator for at få hjælp." -#: src/options/admin.js:10 src/page/admin/sessions.vue:59 -#: src/page/admin/sessions.vue:242 src/model/user.js:361 src/options/auth.js:7 +#: src/options/admin.js:14 src/page/admin/sessions.vue:59 +#: src/page/admin/sessions.vue:243 src/model/user.js:361 src/options/auth.js:8 msgid "User" msgstr "Bruger" -#: src/component/navigation.vue:1979 +#: src/component/navigation.vue:2025 msgid "User Guide" msgstr "Brugervejledning" @@ -3243,14 +3282,14 @@ msgstr "Brugervejledning" msgid "User Interface" msgstr "Brugergrænseflade" -#: src/component/user/add/dialog.vue:87 src/component/user/add/dialog.vue:88 -#: src/page/admin/sessions.vue:220 src/page/admin/users.vue:71 -#: src/component/service/add.vue:85 src/component/service/edit.vue:337 +#: src/component/user/add/dialog.vue:88 src/component/user/add/dialog.vue:89 +#: src/page/admin/sessions.vue:221 src/page/admin/users.vue:73 +#: src/component/service/add.vue:86 src/component/service/edit.vue:338 #: src/component/share/dialog.vue:26 msgid "Username" msgstr "Brugernavn" -#: src/component/navigation.vue:1435 +#: src/component/navigation.vue:1461 msgid "Users" msgstr "Brugere" @@ -3260,18 +3299,18 @@ msgstr "Brugere" msgid "Vector" msgstr "Vektor" -#: src/component/navigation.vue:440 +#: src/component/navigation.vue:442 msgid "Vectors" msgstr "Vektorer" -#: src/component/settings/passcode.vue:227 src/page/auth/login.vue:144 +#: src/component/settings/passcode.vue:230 src/page/auth/login.vue:144 msgid "Verification Code" msgstr "Verifikationskode" #: src/component/photo/view/cards.vue:363 #: src/component/photo/view/cards.vue:491 src/component/photo/view/list.vue:190 #: src/component/photo/view/mosaic.vue:207 src/model/file.js:221 -#: src/model/photo.js:921 src/model/photo.js:939 src/options/options.js:293 +#: src/model/photo.js:958 src/model/photo.js:976 src/options/options.js:293 msgid "Video" msgstr "Video" @@ -3280,12 +3319,12 @@ msgstr "Video" msgid "Video Duration" msgstr "Videoens varighed" -#: src/app/routes.js:243 src/component/navigation.vue:728 +#: src/app/routes.js:251 src/component/navigation.vue:734 #: src/options/options.js:200 msgid "Videos" msgstr "Videoer" -#: src/component/photo/toolbar.vue:261 src/component/photo/view/cards.vue:350 +#: src/component/photo/toolbar.vue:263 src/component/photo/view/cards.vue:350 #: src/component/photo/view/mosaic.vue:194 msgid "View" msgstr "Vis" @@ -3294,11 +3333,11 @@ msgstr "Vis" msgid "View search results as a list." msgstr "Se søgeresultater som en liste." -#: src/options/admin.js:14 src/options/auth.js:8 +#: src/options/admin.js:18 src/options/auth.js:9 msgid "Viewer" msgstr "Seer" -#: src/page/admin/sessions.vue:271 src/options/auth.js:12 +#: src/page/admin/sessions.vue:272 src/options/auth.js:13 msgid "Visitor" msgstr "Besøgende" @@ -3310,34 +3349,34 @@ msgstr "Visuel lighed" msgid "Warning" msgstr "Advarsel" -#: src/page/about/feedback.vue:60 +#: src/page/about/feedback.vue:61 msgid "We appreciate your feedback!" msgstr "Vi sætter pris på din feedback!" -#: src/page/about/feedback.vue:63 +#: src/page/about/feedback.vue:64 msgid "We do our best to respond within five business days or less." msgstr "Vi gør vores bedste for at svare inden for fem arbejdsdage eller mindre." -#: src/component/user/add/dialog.vue:235 src/component/user/edit/dialog.vue:415 -#: src/page/admin/users.vue:80 +#: src/component/user/add/dialog.vue:236 src/component/user/edit/dialog.vue:416 +#: src/page/admin/users.vue:82 msgid "Web Login" msgstr "Web-login" -#: src/component/user/add/dialog.vue:248 src/component/user/edit/dialog.vue:432 -#: src/page/admin/users.vue:82 src/options/auth.js:55 src/options/auth.js:68 +#: src/component/user/add/dialog.vue:249 src/component/user/edit/dialog.vue:433 +#: src/page/admin/users.vue:84 src/options/auth.js:56 src/options/auth.js:69 #: src/options/options.js:444 msgid "WebDAV" msgstr "WebDAV" -#: src/component/settings/webdav.vue:51 +#: src/component/settings/webdav.vue:52 msgid "WebDAV clients can connect to PhotoPrism using the following URL:" msgstr "WebDAV-klienter kan oprette forbindelse til PhotoPrism ved hjælp af følgende URL:" -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism." msgstr "WebDAV-klienter, som Microsofts Windows Stifinder eller Apples Finder, kan oprette forbindelse direkte til PhotoPrism." -#: src/component/service/upload.vue:50 src/component/share/dialog.vue:220 +#: src/component/service/upload.vue:51 src/component/share/dialog.vue:220 msgid "WebDAV Upload" msgstr "WebDAV-upload" @@ -3345,8 +3384,8 @@ msgstr "WebDAV-upload" msgid "WebGL support is disabled in your browser" msgstr "WebGL-understøttelse er deaktiveret i din browser" -#: src/page/settings/account.vue:615 src/page/settings/account.vue:709 -#: src/page/settings/account.vue:601 +#: src/page/settings/account.vue:621 src/page/settings/account.vue:715 +#: src/page/settings/account.vue:607 msgid "Website" msgstr "Websted" @@ -3354,12 +3393,12 @@ msgstr "Websted" msgid "White" msgstr "Hvid" -#: src/page/settings/account.vue:532 +#: src/page/settings/account.vue:538 msgid "Work Details" msgstr "Detaljer om arbejdet" -#: src/page/settings/account.vue:500 src/component/photo/edit/details.vue:163 -#: src/component/photo/toolbar.vue:315 src/page/albums.vue:159 +#: src/page/settings/account.vue:506 src/component/photo/edit/details.vue:165 +#: src/component/photo/toolbar.vue:317 src/page/albums.vue:159 msgid "Year" msgstr "År" @@ -3367,21 +3406,21 @@ msgstr "År" msgid "Yellow" msgstr "Gul" -#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:58 -#: src/component/photo/archive/dialog.vue:58 +#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:59 +#: src/component/photo/archive/dialog.vue:59 #: src/component/photo/clipboard.vue:200 src/component/photo/edit/files.vue:365 #: src/component/photo/edit/files.vue:395 #: src/component/photo/edit/files.vue:401 #: src/component/photo/edit/files.vue:407 -#: src/component/photo/edit/files.vue:510 src/component/photo/edit/info.vue:281 +#: src/component/photo/edit/files.vue:512 src/component/photo/edit/info.vue:281 #: src/component/photo/edit/info.vue:297 src/component/photo/edit/info.vue:313 #: src/component/photo/edit/info.vue:329 src/component/photo/edit/info.vue:344 -#: src/component/photo/toolbar.vue:434 +#: src/component/photo/toolbar.vue:436 msgid "Yes" msgstr "Ja" -#: src/component/confirm/sponsor.vue:59 src/page/about/about.vue:158 -#: src/page/connect.vue:315 +#: src/component/confirm/sponsor.vue:60 src/page/about/about.vue:160 +#: src/page/connect.vue:317 msgid "You are welcome to contact us at membership@photoprism.app for questions regarding your membership." msgstr "Du er velkommen til at kontakte os på membership@photoprism.app for at få svar på spørgsmål om dit medlemskab." @@ -3393,7 +3432,11 @@ msgstr "Du kan kun downloade et album" msgid "You can only download one label" msgstr "Du kan kun downloade en etiket" -#: src/component/upload/dialog.vue:203 +#: src/component/location/dialog.vue:178 +msgid "You can search for a location or move the marker on the map to change the position:" +msgstr "Du kan søge efter et sted eller flytte markøren på kortet for at ændre positionen:" + +#: src/component/upload/dialog.vue:205 msgid "You can upload up to %{n} files for test purposes." msgstr "Du kan uploade op til %{n} filer til testformål." @@ -3406,7 +3449,7 @@ msgstr "Du kan kun vælge et element" msgid "You may rescan your library to find additional faces." msgstr "Du kan scanne dit bibliotek igen for at finde flere ansigter." -#: src/page/connect.vue:146 src/page/connect.vue:150 +#: src/page/connect.vue:147 src/page/connect.vue:151 msgid "Your account has been successfully connected." msgstr "Din konto er blevet forbundet." @@ -3414,8 +3457,8 @@ msgstr "Din konto er blevet forbundet." msgid "Your browser does not support WebGL" msgstr "Din browser understøtter ikke WebGL" -#: src/component/confirm/sponsor.vue:43 src/page/about/about.vue:97 -#: src/page/about/about.vue:156 src/page/connect.vue:220 +#: src/component/confirm/sponsor.vue:44 src/page/about/about.vue:98 +#: src/page/about/about.vue:158 src/page/connect.vue:222 msgid "Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy." msgstr "Din fortsatte støtte hjælper os med at levere regelmæssige opdateringer og forblive uafhængige, så vi kan opfylde vores mission og beskytte dit privatliv." @@ -3496,9 +3539,6 @@ msgstr "Zoom ind/ud" #~ msgid "Open Folder" #~ msgstr "Åbn mappe" -#~ msgid "Cannot copy to clipboard" -#~ msgstr "Kan ikke kopiere til udklipsholder" - #~ msgid "Sound" #~ msgstr "Lyd" @@ -4151,9 +4191,6 @@ msgstr "Zoom ind/ud" #~ msgid "More than 50 results" #~ msgstr "Mere end 50 resultater" -#~ msgid "No results" -#~ msgstr "Ingen resultater" - #~ msgid "Not implemented yet" #~ msgstr "Ikke implementeret endnu" diff --git a/frontend/src/locales/de.po b/frontend/src/locales/de.po index 62e4de37c..406be86be 100644 --- a/frontend/src/locales/de.po +++ b/frontend/src/locales/de.po @@ -3,15 +3,15 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: ci@photoprism.app\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2025-04-04 08:03+0000\n" -"Last-Translator: Admin \n" +"PO-Revision-Date: 2025-07-06 08:58+0000\n" +"Last-Translator: DeepL \n" "Language-Team: German \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.10.4\n" +"X-Generator: Weblate 5.12.2\n" "Generated-By: easygettext\n" #: src/locales.js:268 @@ -42,7 +42,7 @@ msgstr "{0} ausgewählt" msgid "{0}-{1} of {2}" msgstr "{0}-{1} von {2}" -#: src/page/albums.vue:612 +#: src/page/albums.vue:617 msgid "%{n} albums found" msgstr "%{n} Alben gefunden" @@ -50,25 +50,25 @@ msgstr "%{n} Alben gefunden" msgid "%{n} files uploaded" msgstr "%{n} Dateien hochgeladen" -#: src/page/library/browse.vue:362 +#: src/page/library/browse.vue:364 msgid "%{n} folders found" msgstr "%{n} Ordner gefunden" -#: src/component/navigation.vue:1676 +#: src/component/navigation.vue:1707 msgid "%{n} GB of %{q} GB used" msgstr "%{n} GB von %{q} GB verwendet" -#: src/page/labels.vue:528 +#: src/page/labels.vue:533 msgid "%{n} labels found" msgstr "%{n} Kategorien gefunden" -#: src/page/people/new.vue:350 src/page/people/new.vue:447 -#: src/page/people/recognized.vue:536 +#: src/page/people/new.vue:350 src/page/people/new.vue:450 +#: src/page/people/recognized.vue:541 msgid "%{n} people found" msgstr "%{n} Personen gefunden" -#: src/page/album/photos.vue:308 src/page/album/photos.vue:493 -#: src/page/photos.vue:441 src/page/photos.vue:631 +#: src/page/album/photos.vue:313 src/page/album/photos.vue:504 +#: src/page/photos.vue:446 src/page/photos.vue:641 msgid "%{n} pictures found" msgstr "%{n} Bilder gefunden" @@ -88,12 +88,12 @@ msgstr "1 Stunde" msgid "12 hours" msgstr "12 Stunden" -#: src/component/user/edit/dialog.vue:452 src/page/settings/account.vue:324 -#: src/component/settings/passcode.vue:75 +#: src/component/user/edit/dialog.vue:453 src/page/settings/account.vue:325 +#: src/component/settings/passcode.vue:78 msgid "2-Factor Authentication" msgstr "2-Faktor-Authentifizierung" -#: src/component/user/edit/dialog.vue:451 src/options/auth.js:46 +#: src/component/user/edit/dialog.vue:452 src/options/auth.js:47 msgid "2FA" msgstr "2FA" @@ -109,20 +109,20 @@ msgstr "In die Zwischenablage kopieren." msgid "A new version of %{s} is available:" msgstr "Eine neue Version von %{s} ist verfügbar:" -#: src/component/user/edit/dialog.vue:233 -#: src/component/user/edit/dialog.vue:234 src/page/about/about.vue:56 +#: src/component/user/edit/dialog.vue:234 +#: src/component/user/edit/dialog.vue:235 src/page/about/about.vue:56 #: src/page/settings/account.vue:248 src/page/settings/account.vue:249 -#: src/app/routes.js:63 src/component/navigation.vue:1521 -#: src/page/people/recognized.vue:292 +#: src/app/routes.js:63 src/component/navigation.vue:1547 +#: src/page/people/recognized.vue:296 msgid "About" msgstr "Info" -#: src/options/auth.js:26 src/options/auth.js:44 +#: src/options/auth.js:27 src/options/auth.js:45 msgid "Access Token" msgstr "Zugangs-Token" -#: src/component/navigation.vue:87 src/component/navigation.vue:1788 -#: src/component/service/upload.vue:71 src/model/service.js:96 +#: src/component/navigation.vue:87 src/component/navigation.vue:1822 +#: src/component/service/upload.vue:72 src/model/service.js:96 #: src/model/user.js:171 src/page/settings.vue:85 #: src/page/settings/general.vue:582 msgid "Account" @@ -136,7 +136,7 @@ msgstr "Konto hinzugefügt" msgid "Account deleted" msgstr "Konto gelöscht" -#: src/page/admin/users.vue:335 +#: src/page/admin/users.vue:337 msgid "Account restored" msgstr "Konto wiederhergestellt" @@ -157,8 +157,8 @@ msgstr "Aktion" msgid "Actions" msgstr "Aktionen" -#: src/page/connect.vue:294 src/component/settings/passcode.vue:346 -#: src/page/connect.vue:303 +#: src/page/connect.vue:296 src/component/settings/passcode.vue:349 +#: src/page/connect.vue:305 msgid "Activate" msgstr "Aktivieren" @@ -174,20 +174,20 @@ msgstr "Aktivieren, um aufsteigend zu sortieren." msgid "Activate to sort descending." msgstr "Aktivieren, um absteigend zu sortieren." -#: src/page/connect.vue:231 src/page/connect.vue:240 +#: src/page/connect.vue:233 src/page/connect.vue:242 msgid "Activation Code" msgstr "Aktivierungscode" -#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:83 -#: src/component/settings/apps.vue:448 +#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:92 +#: src/component/settings/apps.vue:451 msgid "Add" msgstr "Hinzufügen" -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:246 msgid "Add %{s}?" msgstr "%{s} hinzufügen?" -#: src/component/user/add/dialog.vue:56 src/component/service/add.vue:49 +#: src/component/user/add/dialog.vue:57 src/component/service/add.vue:50 msgid "Add Account" msgstr "Konto hinzufügen" @@ -204,8 +204,8 @@ msgid "Add Link" msgstr "Link hinzufügen" #: src/component/photo/edit/people.vue:25 -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:57 -#: src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:57 +#: src/page/people/new.vue:246 msgid "Add person?" msgstr "Person hinzufügen?" @@ -221,10 +221,15 @@ msgstr "Ausgewählte Bilder können über das Kontextmenü hinzugefügt werden." msgid "Add to album" msgstr "Hinzufügen" -#: src/component/photo/edit/files.vue:514 +#: src/component/photo/edit/files.vue:516 msgid "Added" msgstr "Hinzugefügt" +#: src/component/location/dialog.vue:68 src/component/location/dialog.vue:90 +#: src/component/photo/edit/details.vue:246 +msgid "Adjust Location" +msgstr "Standort anpassen" + #: src/options/admin.js:6 src/options/auth.js:6 msgid "Admin" msgstr "Admin" @@ -245,7 +250,7 @@ msgstr "Nach 3 Tagen" msgid "After 7 days" msgstr "Nach 7 Tagen" -#: src/component/settings/passcode.vue:93 +#: src/component/settings/passcode.vue:96 msgid "After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:" msgstr "Nach der Bestätigung mit deinem Passwort kannst du die Zwei-Faktor-Authentifizierung mit einer kompatiblen Authenticator-App einrichten:" @@ -277,12 +282,16 @@ msgstr "Album" msgid "Album Backups" msgstr "Album-Backups" -#: src/page/albums.vue:674 +#: src/page/albums.vue:685 msgid "Album created" msgstr "Album erstellt" -#: src/app/routes.js:176 src/component/album/toolbar.vue:51 -#: src/component/navigation.vue:604 src/component/navigation.vue:1882 +#: src/page/album/photos.vue:589 +msgid "Album deleted" +msgstr "Album gelöscht" + +#: src/app/routes.js:184 src/component/album/toolbar.vue:55 +#: src/component/navigation.vue:607 src/component/navigation.vue:1922 #: src/component/photo/edit/info.vue:220 src/options/options.js:198 msgid "Albums" msgstr "Alben" @@ -295,7 +304,7 @@ msgstr "Alben gelöscht" msgid "All" msgstr "Alle" -#: src/page/albums.vue:465 +#: src/page/albums.vue:470 msgid "All %{n} albums loaded" msgstr "Alle %{n} Alben werden angezeigt" @@ -311,8 +320,8 @@ msgstr "Alle %{n} Personen geladen" msgid "All Cameras" msgstr "Alle Kameras" -#: src/component/photo/toolbar.vue:74 src/page/albums.vue:44 -#: src/page/albums.vue:240 src/page/albums.vue:746 +#: src/component/photo/toolbar.vue:74 src/page/albums.vue:45 +#: src/page/albums.vue:242 src/page/albums.vue:757 msgid "All Categories" msgstr "Alle Kategorien" @@ -344,7 +353,7 @@ msgstr "Alle Monate" msgid "All originals" msgstr "Alle Ordner durchsuchen" -#: src/component/photo/toolbar.vue:76 src/page/albums.vue:93 +#: src/component/photo/toolbar.vue:76 src/page/albums.vue:94 msgid "All Years" msgstr "Alle Jahre" @@ -356,7 +365,7 @@ msgstr "Alternativ können Dateien auch direkt auf kompatible WebDAV-Server z.B. msgid "Altitude" msgstr "Höhe" -#: src/component/photo/edit/details.vue:272 +#: src/component/photo/edit/details.vue:297 msgid "Altitude (m)" msgstr "Höhe (m)" @@ -364,8 +373,7 @@ msgstr "Höhe (m)" msgid "AM" msgstr "AM" -#: src/app/routes.js:257 src/component/navigation.vue:791 -#: src/component/photo/edit/files.vue:364 +#: src/app/routes.js:265 src/component/photo/edit/files.vue:364 #: src/component/photo/view/cards.vue:327 #: src/component/photo/view/cards.vue:511 src/component/photo/view/list.vue:184 #: src/component/photo/view/mosaic.vue:171 src/options/options.js:301 @@ -376,43 +384,47 @@ msgstr "Animiert" msgid "Animation" msgstr "Animation" +#: src/component/navigation.vue:797 +msgid "Animations" +msgstr "Animationen" + #: src/component/share/dialog.vue:207 msgid "Any private photos and videos remain private and won't be shared." msgstr "Als privat markierte Bilder und Videos bleiben privat und werden nicht geteilt." -#: src/component/service/edit.vue:372 +#: src/component/service/edit.vue:373 msgid "API Key" msgstr "API-Key" -#: src/page/admin/sessions.vue:357 src/options/auth.js:25 +#: src/page/admin/sessions.vue:361 src/options/auth.js:26 msgid "Application" msgstr "Anwendung" -#: src/component/photo/edit/details.vue:641 +#: src/component/photo/edit/details.vue:615 msgid "Apply" msgstr "Speichern" #: src/component/photo/clipboard.vue:64 -#: src/component/photo/edit/details.vue:640 +#: src/component/photo/edit/details.vue:614 #: src/component/photo/view/cards.vue:416 msgid "Approve" msgstr "Übernehmen" -#: src/page/settings/account.vue:374 src/component/settings/apps.vue:91 +#: src/page/settings/account.vue:378 src/component/settings/apps.vue:94 msgid "Apps and Devices" msgstr "Apps und Geräte" -#: src/app/routes.js:287 src/component/lightbox.vue:1207 -#: src/component/navigation.vue:555 src/component/photo/clipboard.vue:142 +#: src/app/routes.js:295 src/component/lightbox.vue:1207 +#: src/component/navigation.vue:557 src/component/photo/clipboard.vue:142 #: src/component/photo/view/cards.vue:398 src/page/settings/general.vue:432 msgid "Archive" msgstr "Archiv" -#: src/component/lightbox.vue:1982 src/component/photo/edit/info.vue:433 +#: src/component/lightbox.vue:2002 src/component/photo/edit/info.vue:433 msgid "Archived" msgstr "Archiviert" -#: src/component/photo/archive/dialog.vue:34 +#: src/component/photo/archive/dialog.vue:35 msgid "Are you sure you want to archive the selection?" msgstr "Auswahl wirklich archivieren?" @@ -420,19 +432,23 @@ msgstr "Auswahl wirklich archivieren?" msgid "Are you sure you want to delete these albums?" msgstr "Diese Alben wirklich löschen?" -#: src/component/label/delete/dialog.vue:34 +#: src/component/label/delete/dialog.vue:35 msgid "Are you sure you want to delete these labels?" msgstr "Diese Kategorien wirklich löschen?" -#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:36 +#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:37 msgid "Are you sure you want to delete this account?" msgstr "Dieses Konto wirklich löschen?" +#: src/component/album/toolbar.vue:136 +msgid "Are you sure you want to delete this album?" +msgstr "Bist du sicher, dass du dieses Album löschen willst?" + #: src/component/photo/clipboard.vue:199 msgid "Are you sure you want to permanently delete these pictures?" msgstr "Diese Bilder unwiderruflich löschen?" -#: src/component/file/delete/dialog.vue:34 +#: src/component/file/delete/dialog.vue:35 msgid "Are you sure you want to permanently delete this file?" msgstr "Diese Datei unwiderruflich löschen?" @@ -441,7 +457,7 @@ msgstr "Diese Datei unwiderruflich löschen?" msgid "Are you sure?" msgstr "Bist du sicher?" -#: src/component/photo/edit/details.vue:537 +#: src/component/photo/edit/details.vue:511 msgid "Artist" msgstr "Ersteller" @@ -449,14 +465,14 @@ msgstr "Ersteller" msgid "Aspect Ratio" msgstr "Seitenverhältnis" -#: src/app/routes.js:250 src/component/navigation.vue:770 +#: src/app/routes.js:258 src/component/navigation.vue:776 #: src/options/options.js:297 msgid "Audio" msgstr "Audio" -#: src/component/user/add/dialog.vue:190 src/component/user/edit/dialog.vue:309 -#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:281 -#: src/page/admin/users.vue:75 +#: src/component/user/add/dialog.vue:191 src/component/user/edit/dialog.vue:310 +#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:282 +#: src/page/admin/users.vue:77 msgid "Authentication" msgstr "Authentifizierung" @@ -464,11 +480,11 @@ msgstr "Authentifizierung" msgid "Auto" msgstr "Auto" -#: src/component/settings/apps.vue:151 +#: src/component/settings/apps.vue:154 msgid "Back" msgstr "Zurück" -#: src/component/scroll.vue:20 +#: src/component/scroll.vue:18 msgid "Back to top" msgstr "Zurück nach oben" @@ -480,26 +496,26 @@ msgstr "Datensicherung" msgid "Badge" msgstr "Abzeichen" -#: src/component/user/edit/dialog.vue:361 #: src/component/user/edit/dialog.vue:362 +#: src/component/user/edit/dialog.vue:363 msgid "Base Path" msgstr "Basis-Verzeichnis" -#: src/page/about/about.vue:95 src/page/connect.vue:220 +#: src/page/about/about.vue:96 src/page/connect.vue:222 msgid "Become a member today, support our mission and enjoy our member benefits!" msgstr "Werde noch heute Mitglied, unterstütze unsere Mission und genieße unsere Mitgliedsvorteile!" -#: src/component/confirm/sponsor.vue:51 src/page/about/about.vue:99 +#: src/component/confirm/sponsor.vue:52 src/page/about/about.vue:100 msgid "Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services." msgstr "Da wir uns zu 100% selbst finanzieren und unabhängig sind, können wir dir versprechen, dass wir deine Daten niemals verkaufen werden und immer transparent mit unserer Software und unseren Dienstleistungen umgehen." -#: src/component/user/edit/dialog.vue:258 -#: src/component/user/edit/dialog.vue:259 src/page/settings/account.vue:227 +#: src/component/user/edit/dialog.vue:259 +#: src/component/user/edit/dialog.vue:260 src/page/settings/account.vue:227 #: src/page/settings/account.vue:228 msgid "Bio" msgstr "Biographie" -#: src/page/settings/account.vue:431 +#: src/page/settings/account.vue:437 msgid "Birth Date" msgstr "Geburtsdatum" @@ -520,7 +536,7 @@ msgid "Brown" msgstr "Braun" #: src/component/photo/edit/files.vue:263 src/component/photo/toolbar.vue:141 -#: src/component/upload/dialog.vue:240 +#: src/component/upload/dialog.vue:242 msgid "Browse" msgstr "Durchsuchen" @@ -548,16 +564,16 @@ msgstr "Fehlerbericht" msgid "Busy, please wait…" msgstr "Bitte warten…" -#: src/page/connect.vue:317 +#: src/page/connect.vue:319 msgid "By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct." msgstr "Durch die Nutzung der von uns angebotenen Software und Dienstleistungen erklärst du dich mit unseren Nutzungsbedingungen, der Datenschutzerklärung und dem Verhaltenskodex einverstanden." -#: src/app/routes.js:189 src/component/navigation.vue:1081 +#: src/app/routes.js:197 src/component/navigation.vue:1097 #: src/options/options.js:204 src/page/settings/general.vue:205 msgid "Calendar" msgstr "Kalender" -#: src/component/photo/edit/details.vue:346 src/component/photo/toolbar.vue:232 +#: src/component/photo/edit/details.vue:320 src/component/photo/toolbar.vue:234 #: src/component/photo/view/cards.vue:467 src/component/photo/view/list.vue:116 msgid "Camera" msgstr "Kamera" @@ -570,12 +586,12 @@ msgstr "Kamera-Seriennummer" msgid "Can't access your authenticator app or device?" msgstr "Keinen Zugriff auf die Authenticator-App oder das Gerät?" -#: src/page/album/photos.vue:317 src/page/photos.vue:450 +#: src/page/album/photos.vue:322 src/page/photos.vue:455 msgid "Can't load more, limit reached" msgstr "Limit erreicht, bitte Suche eingrenzen" #: src/common/clipboard.js:102 src/common/clipboard.js:139 -#: src/page/albums.vue:684 src/page/albums.vue:700 src/page/labels.vue:293 +#: src/page/albums.vue:695 src/page/albums.vue:711 src/page/labels.vue:293 #: src/page/labels.vue:313 src/page/library/browse.vue:233 #: src/page/library/browse.vue:249 src/page/people/new.vue:278 #: src/page/people/new.vue:294 src/page/people/recognized.vue:305 @@ -584,26 +600,31 @@ msgid "Can't select more items" msgstr "Maximale Anzahl wurde selektiert" #: src/component/session/remove/dialog.vue:45 -#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:473 -#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:119 +#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:474 +#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:120 #: src/component/album/delete/dialog.vue:43 -#: src/component/album/edit/dialog.vue:199 src/component/confirm/dialog.vue:43 -#: src/component/file/delete/dialog.vue:47 -#: src/component/label/delete/dialog.vue:47 -#: src/component/label/edit/dialog.vue:107 -#: src/component/people/edit/dialog.vue:120 +#: src/component/album/edit/dialog.vue:200 src/component/confirm/dialog.vue:43 +#: src/component/file/delete/dialog.vue:48 +#: src/component/label/delete/dialog.vue:48 +#: src/component/label/edit/dialog.vue:108 +#: src/component/location/dialog.vue:200 +#: src/component/people/edit/dialog.vue:121 #: src/component/photo/album/dialog.vue:78 src/component/service/add.vue:19 -#: src/component/service/edit.vue:455 src/component/service/remove.vue:49 -#: src/component/service/upload.vue:117 src/component/settings/apps.vue:352 -#: src/component/settings/passcode.vue:249 -#: src/component/settings/passcode.vue:333 -#: src/component/settings/password.vue:159 src/component/share/dialog.vue:28 -#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:123 +#: src/component/service/edit.vue:456 src/component/service/remove.vue:50 +#: src/component/service/upload.vue:118 src/component/settings/apps.vue:355 +#: src/component/settings/passcode.vue:252 +#: src/component/settings/passcode.vue:336 +#: src/component/settings/password.vue:160 src/component/share/dialog.vue:28 +#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:124 #: src/page/library/import.vue:119 src/page/library/index.vue:128 msgid "Cancel" msgstr "Abbrechen" -#: src/component/photo/edit/details.vue:87 src/component/photo/edit/info.vue:61 +#: src/common/util.js:863 src/common/util.js:870 +msgid "Cannot copy to clipboard" +msgstr "Kann nicht in die Zwischenablage kopiert werden" + +#: src/component/photo/edit/details.vue:89 src/component/photo/edit/info.vue:63 #: src/component/photo/edit/labels.vue:42 #: src/component/photo/view/cards.vue:445 src/component/sidebar/info.vue:72 msgid "Caption" @@ -617,17 +638,17 @@ msgstr "Karteikarten" msgid "Carousel slide {0} of {1}" msgstr "Slide {0} von {1}" -#: src/page/about/feedback.vue:82 src/page/about/feedback.vue:83 -#: src/component/album/edit/dialog.vue:128 src/component/photo/toolbar.vue:397 +#: src/page/about/feedback.vue:83 src/page/about/feedback.vue:84 +#: src/component/album/edit/dialog.vue:129 src/component/photo/toolbar.vue:399 #: src/page/albums.vue:187 msgid "Category" msgstr "Kategorie" -#: src/component/user/edit/dialog.vue:191 src/page/settings/account.vue:201 +#: src/component/user/edit/dialog.vue:192 src/page/settings/account.vue:201 msgid "Change Avatar" msgstr "Avatar ändern" -#: src/page/settings/account.vue:297 src/component/settings/password.vue:48 +#: src/page/settings/account.vue:297 src/component/settings/password.vue:49 msgid "Change Password" msgstr "Passwort ändern" @@ -644,17 +665,17 @@ msgid "Change private flag" msgstr "Als privat markieren" #: src/component/user/add/dialog.vue:108 src/component/user/add/dialog.vue:113 -#: src/component/user/edit/dialog.vue:90 src/component/user/edit/dialog.vue:95 +#: src/component/user/edit/dialog.vue:91 src/component/user/edit/dialog.vue:96 #: src/page/settings/account.vue:121 src/page/settings/account.vue:126 msgid "Changes could not be saved" msgstr "Änderungen konnten nicht gespeichert werden" -#: src/component/user/edit/dialog.vue:83 src/component/user/edit/dialog.vue:159 +#: src/component/user/edit/dialog.vue:84 src/component/user/edit/dialog.vue:160 #: src/component/album/edit/dialog.vue:73 -#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1941 +#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1961 #: src/component/photo/edit/files.vue:162 src/component/service/edit.vue:90 #: src/component/share/dialog.vue:92 src/component/share/dialog.vue:111 -#: src/page/albums.vue:677 src/page/people/recognized.vue:119 +#: src/page/albums.vue:688 src/page/people/recognized.vue:119 #: src/page/settings/advanced.vue:62 src/page/settings/content.vue:62 #: src/page/settings/general.vue:108 msgid "Changes successfully saved" @@ -668,7 +689,7 @@ msgstr "Änderungen an den erweiterten Einstellungen erfordern einen Neustart, u msgid "Checked" msgstr "Geprüft" -#: src/component/photo/edit/files.vue:495 +#: src/component/photo/edit/files.vue:497 msgid "Chroma" msgstr "Farbsättigung" @@ -684,24 +705,24 @@ msgstr "Aufräumen" msgid "Clear {0}" msgstr "Löschen {0}" -#: src/options/auth.js:11 src/options/auth.js:23 src/options/auth.js:43 +#: src/options/auth.js:12 src/options/auth.js:24 src/options/auth.js:44 msgid "Client" msgstr "Kunde" -#: src/options/auth.js:24 +#: src/options/auth.js:25 msgid "Client Credentials" msgstr "Kundennachweise" -#: src/page/admin/sessions.vue:529 src/component/lightbox.vue:284 -#: src/component/lightbox.vue:1009 src/component/lightbox.vue:1010 -#: src/component/photo/edit/details.vue:627 src/component/photo/toolbar.vue:160 -#: src/component/settings/apps.vue:224 src/component/settings/apps.vue:437 -#: src/component/settings/passcode.vue:148 -#: src/component/settings/passcode.vue:456 -#: src/component/settings/passcode.vue:497 -#: src/component/settings/webdav.vue:131 src/component/share/dialog.vue:231 +#: src/component/user/edit/dialog.vue:474 src/page/admin/sessions.vue:536 +#: src/component/lightbox.vue:284 src/component/lightbox.vue:1009 +#: src/component/lightbox.vue:1010 src/component/photo/edit/details.vue:601 +#: src/component/photo/toolbar.vue:161 src/component/settings/apps.vue:227 +#: src/component/settings/apps.vue:440 src/component/settings/passcode.vue:151 +#: src/component/settings/passcode.vue:459 +#: src/component/settings/passcode.vue:500 +#: src/component/settings/webdav.vue:132 src/component/share/dialog.vue:231 #: src/component/sidebar/info.vue:26 src/component/update.vue:57 -#: src/component/upload/dialog.vue:228 src/locales.js:206 +#: src/component/upload/dialog.vue:230 src/locales.js:206 #: src/page/library/errors.vue:253 msgid "Close" msgstr "Schließen" @@ -710,11 +731,11 @@ msgstr "Schließen" msgid "Codec" msgstr "Codec" -#: src/component/photo/toolbar.vue:369 +#: src/component/photo/toolbar.vue:371 msgid "Color" msgstr "Farbe" -#: src/component/photo/edit/files.vue:483 +#: src/component/photo/edit/files.vue:485 msgid "Color Profile" msgstr "Farbprofil" @@ -722,7 +743,7 @@ msgstr "Farbprofil" msgid "Colors" msgstr "Farben" -#: src/page/connect.vue:260 src/page/connect.vue:269 +#: src/page/connect.vue:262 src/page/connect.vue:271 msgid "Compare Editions" msgstr "Editionen vergleichen" @@ -735,17 +756,18 @@ msgstr "Index vollständig aktualisieren" msgid "Confidence" msgstr "Wahrscheinlichkeit" +#: src/component/location/dialog.vue:212 #: src/component/photo/album/dialog.vue:90 -#: src/component/settings/passcode.vue:261 +#: src/component/settings/passcode.vue:264 msgid "Confirm" msgstr "Bestätigen" -#: src/component/service/add.vue:20 src/page/settings/services.vue:187 +#: src/component/service/add.vue:20 src/page/settings/services.vue:191 msgid "Connect" msgstr "Verbinden" -#: src/page/settings/account.vue:401 src/component/settings/webdav.vue:45 -#: src/page/settings/services.vue:167 +#: src/page/settings/account.vue:406 src/component/settings/webdav.vue:46 +#: src/page/settings/services.vue:170 msgid "Connect via WebDAV" msgstr "Mit WebDAV verbinden" @@ -753,22 +775,22 @@ msgstr "Mit WebDAV verbinden" msgid "Connected" msgstr "Verbunden" -#: src/page/settings/account.vue:640 src/page/settings/account.vue:532 +#: src/page/settings/account.vue:646 src/page/settings/account.vue:538 msgid "Contact Details" msgstr "Kontaktangaben" -#: src/page/about/feedback.vue:37 src/page/connect.vue:132 -#: src/page/connect.vue:136 +#: src/page/about/feedback.vue:37 src/page/connect.vue:133 +#: src/page/connect.vue:137 msgid "Contact Us" msgstr "Kontakt aufnehmen" #: src/page/albums.vue:433 src/page/labels.vue:237 -#: src/page/people/recognized.vue:306 +#: src/page/people/recognized.vue:310 msgid "Contains %{n} pictures." msgstr "Enthält %{n} Bilder." #: src/page/albums.vue:427 src/page/labels.vue:231 -#: src/page/people/recognized.vue:300 +#: src/page/people/recognized.vue:304 msgid "Contains one picture." msgstr "Enthält ein Bild." @@ -776,7 +798,7 @@ msgstr "Enthält ein Bild." msgid "Content" msgstr "Inhalte" -#: src/component/settings/apps.vue:163 +#: src/component/settings/apps.vue:166 msgid "Continue" msgstr "Fortfahren" @@ -784,7 +806,7 @@ msgstr "Fortfahren" msgid "Continue with %{provider}" msgstr "Mit %{provider} anmelden" -#: src/options/admin.js:18 src/options/auth.js:9 +#: src/options/admin.js:22 src/options/auth.js:10 msgid "Contributor" msgstr "Contributor" @@ -792,15 +814,15 @@ msgstr "Contributor" msgid "Converting" msgstr "Konvertiere" -#: src/common/util.js:846 +#: src/common/util.js:856 msgid "Copied to clipboard" msgstr "In Zwischenablage kopiert" -#: src/component/settings/apps.vue:250 src/component/settings/passcode.vue:358 +#: src/component/settings/apps.vue:253 src/component/settings/passcode.vue:361 msgid "Copy" msgstr "Kopieren" -#: src/component/photo/edit/details.vue:516 +#: src/component/photo/edit/details.vue:490 msgid "Copyright" msgstr "Copyright" @@ -808,8 +830,8 @@ msgstr "Copyright" msgid "Couldn't find anything." msgstr "Leider nichts gefunden." -#: src/page/settings/account.vue:685 src/component/photo/edit/details.vue:242 -#: src/component/photo/toolbar.vue:203 src/page/settings/account.vue:577 +#: src/page/settings/account.vue:691 src/component/photo/edit/details.vue:268 +#: src/component/photo/toolbar.vue:205 src/page/settings/account.vue:583 msgid "Country" msgstr "Land" @@ -833,7 +855,7 @@ msgstr "YAML-Dateien zum Sichern von Album-Metadaten verwenden." msgid "Create YAML sidecar files to back up picture metadata." msgstr "Bild-Metadaten in YAML-Sidecar-Dateien sichern." -#: src/page/admin/sessions.vue:417 src/component/photo/edit/info.vue:412 +#: src/page/admin/sessions.vue:422 src/component/photo/edit/info.vue:412 msgid "Created" msgstr "Hinzugefügt" @@ -845,11 +867,11 @@ msgstr "Erstelle Thumbnails für" msgid "Cubic: Moderate Quality, Good Performance" msgstr "Kubisch: Mittlere Qualität, gute Performance" -#: src/component/settings/password.vue:85 +#: src/component/settings/password.vue:86 msgid "Current Password" msgstr "Aktuelles Passwort" -#: src/options/themes.js:919 src/options/themes.js:928 +#: src/options/themes.js:920 src/options/themes.js:929 msgid "Custom" msgstr "Benutzerdefiniert" @@ -865,11 +887,11 @@ msgstr "Täglich" msgid "Database Backups" msgstr "Datenbank-Backups" -#: src/page/settings/account.vue:450 src/component/photo/edit/details.vue:110 +#: src/page/settings/account.vue:456 src/component/photo/edit/details.vue:112 msgid "Day" msgstr "Tag" -#: src/component/settings/passcode.vue:445 +#: src/component/settings/passcode.vue:448 msgid "Deactivate" msgstr "Deaktivieren" @@ -877,36 +899,40 @@ msgstr "Deaktivieren" msgid "Debug Logs" msgstr "Debug Logs" -#: src/options/admin.js:31 src/page/admin/sessions.vue:136 -#: src/page/admin/users.vue:176 src/component/photo/edit/info.vue:47 +#: src/options/admin.js:35 src/page/admin/sessions.vue:136 +#: src/page/admin/users.vue:178 src/component/photo/edit/info.vue:47 #: src/component/photo/edit/info.vue:110 src/model/session.js:66 -#: src/model/user.js:246 src/options/auth.js:20 src/options/auth.js:21 -#: src/options/auth.js:39 src/options/auth.js:40 src/options/options.js:196 +#: src/model/user.js:246 src/options/auth.js:21 src/options/auth.js:22 +#: src/options/auth.js:40 src/options/auth.js:41 src/options/options.js:196 #: src/options/options.js:232 src/options/options.js:316 -#: src/options/themes.js:773 +#: src/options/themes.js:774 msgid "Default" msgstr "Standard" -#: src/component/service/edit.vue:123 +#: src/component/service/edit.vue:124 msgid "Default Folder" msgstr "Standard Ordner" #: src/component/session/remove/dialog.vue:56 #: src/component/user/remove/dialog.vue:56 src/component/album/clipboard.vue:97 -#: src/component/album/delete/dialog.vue:54 -#: src/component/file/delete/dialog.vue:58 src/component/label/clipboard.vue:58 -#: src/component/label/delete/dialog.vue:58 +#: src/component/album/delete/dialog.vue:54 src/component/album/toolbar.vue:137 +#: src/component/file/delete/dialog.vue:59 src/component/label/clipboard.vue:58 +#: src/component/label/delete/dialog.vue:59 #: src/component/photo/clipboard.vue:168 src/component/photo/edit/files.vue:238 -#: src/component/service/remove.vue:60 src/component/share/dialog.vue:170 +#: src/component/service/remove.vue:61 src/component/share/dialog.vue:170 #: src/page/settings/general.vue:457 msgid "Delete" msgstr "Löschen" +#: src/component/album/toolbar.vue:133 +msgid "Delete Album" +msgstr "Album löschen" + #: src/component/photo/toolbar.vue:119 src/page/library/errors.vue:95 msgid "Delete All" msgstr "Alle löschen" -#: src/component/photo/toolbar.vue:433 src/page/library/errors.vue:193 +#: src/component/photo/toolbar.vue:435 src/page/library/errors.vue:193 msgid "Delete all?" msgstr "Alle löschen?" @@ -914,16 +940,16 @@ msgstr "Alle löschen?" msgid "Delete orphaned index entries, sidecar files and thumbnails." msgstr "Verwaiste Indexeinträge, Sidecar-Dateien und Thumbnails löschen." -#: src/component/album/edit/dialog.vue:107 src/page/albums.vue:411 +#: src/component/album/edit/dialog.vue:108 src/page/albums.vue:411 msgid "Description" msgstr "Beschreibung" -#: src/component/settings/webdav.vue:115 +#: src/component/settings/webdav.vue:116 msgid "Detailed instructions can be found in our User Guide." msgstr "Unser Benutzerhandbuch enthält eine detaillierte Anleitung." -#: src/component/photo/edit/dialog.vue:156 -#: src/component/photo/edit/dialog.vue:173 +#: src/component/photo/edit/dialog.vue:162 +#: src/component/photo/edit/dialog.vue:181 msgid "Details" msgstr "Details" @@ -987,8 +1013,8 @@ msgstr "Deaktiviert die Unterstützung von Vektorgrafiken." msgid "Disables video transcoding and thumbnail extraction." msgstr "Deaktiviert die Videotranskodierung und die Erstellung von Vorschaubildern." -#: src/app/routes.js:558 src/app/routes.js:565 src/app/routes.js:572 -#: src/app/routes.js:579 +#: src/app/routes.js:566 src/app/routes.js:573 src/app/routes.js:580 +#: src/app/routes.js:587 msgid "Discover" msgstr "Entdecken" @@ -996,9 +1022,9 @@ msgstr "Entdecken" msgid "Dismiss" msgstr "Verwerfen" -#: src/component/user/add/dialog.vue:133 src/component/user/add/dialog.vue:134 -#: src/component/user/edit/dialog.vue:163 -#: src/component/user/edit/dialog.vue:164 src/page/admin/users.vue:72 +#: src/component/user/add/dialog.vue:134 src/component/user/add/dialog.vue:135 +#: src/component/user/edit/dialog.vue:164 +#: src/component/user/edit/dialog.vue:165 src/page/admin/users.vue:74 #: src/page/settings/account.vue:149 src/page/settings/account.vue:151 msgid "Display Name" msgstr "Anzeigename" @@ -1013,12 +1039,12 @@ msgstr "Bildtitel in den Suchergebnissen anzeigen." #: src/component/photo/view/cards.vue:339 #: src/component/photo/view/cards.vue:521 -#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:174 +#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:176 #: src/options/options.js:309 msgid "Document" msgstr "Dokument" -#: src/component/navigation.vue:480 +#: src/component/navigation.vue:482 msgid "Documents" msgstr "Dokumente" @@ -1034,16 +1060,16 @@ msgstr "ImageMagick nicht zum Konvertieren von Bildern verwenden." msgid "Don't use RawTherapee to convert RAW images." msgstr "RawTherapee nicht zum Konvertieren von Bildern verwenden." -#: src/component/settings/apps.vue:238 src/component/share/dialog.vue:29 +#: src/component/settings/apps.vue:241 src/component/share/dialog.vue:29 msgid "Done" msgstr "Fertig" -#: src/component/upload/dialog.vue:135 src/page/library/import.vue:46 +#: src/component/upload/dialog.vue:137 src/page/library/import.vue:46 #: src/page/library/index.vue:52 msgid "Done." msgstr "Fertig." -#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:118 +#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:123 #: src/component/file/clipboard.vue:48 src/component/lightbox.vue:1235 #: src/component/people/clipboard.vue:47 src/component/photo/clipboard.vue:116 #: src/component/photo/edit/files.vue:168 src/page/settings/content.vue:331 @@ -1055,7 +1081,7 @@ msgstr "Download" msgid "Download only original media files, without any automatically generated files." msgstr "Lade nur Original-Mediendateien herunter, ohne automatisch generierte Dateien." -#: src/component/service/edit.vue:237 +#: src/component/service/edit.vue:238 msgid "Download remote files" msgstr "Dateien herunterladen" @@ -1063,9 +1089,9 @@ msgstr "Dateien herunterladen" msgid "Download single files and zip archives." msgstr "Einzelne Bilder, Videos sowie Zip-Archive können heruntergeladen werden." -#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:157 +#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:172 #: src/component/file/clipboard.vue:61 src/component/label/clipboard.vue:86 -#: src/component/lightbox.vue:2021 src/component/people/clipboard.vue:59 +#: src/component/lightbox.vue:2041 src/component/people/clipboard.vue:59 #: src/component/photo/clipboard.vue:220 src/component/photo/edit/files.vue:119 #: src/component/photo/view/cards.vue:169 src/component/photo/view/list.vue:142 #: src/page/library/browse.vue:139 @@ -1080,7 +1106,7 @@ msgstr "Skalierungsfilter" msgid "Drag and drop files here" msgstr "Dateien per Drag-and-Drop hier ablegen" -#: src/page/about/feedback.vue:61 +#: src/page/about/feedback.vue:62 msgid "Due to the high volume of emails we receive, our team may be unable to get back to you immediately." msgstr "Aufgrund der hohen Anzahl von E-Mails, die wir erhalten, kann es vorkommen, dass unser Team Ihnen nicht sofort antworten kann." @@ -1100,23 +1126,23 @@ msgstr "Dynamische Vorschaubilder" msgid "Dynamic Size Limit: %{n}px" msgstr "Dynamische Maximalgröße: %{n}px" -#: src/page/about/feedback.vue:141 src/page/about/feedback.vue:140 +#: src/page/about/feedback.vue:142 src/page/about/feedback.vue:141 msgid "E-Mail" msgstr "E-Mail" -#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:89 +#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:94 #: src/component/lightbox.vue:1136 src/component/lightbox.vue:1137 #: src/component/photo/clipboard.vue:90 src/page/settings/general.vue:407 msgid "Edit" msgstr "Bearbeiten" -#: src/component/album/edit/dialog.vue:54 -#: src/component/label/edit/dialog.vue:52 -#: src/component/people/edit/dialog.vue:52 +#: src/component/album/edit/dialog.vue:55 +#: src/component/label/edit/dialog.vue:53 +#: src/component/people/edit/dialog.vue:53 msgid "Edit %{s}" msgstr "%{s} bearbeiten" -#: src/component/user/edit/dialog.vue:61 src/component/service/edit.vue:79 +#: src/component/user/edit/dialog.vue:62 src/component/service/edit.vue:79 msgid "Edit Account" msgstr "Konto bearbeiten" @@ -1128,8 +1154,8 @@ msgstr "Bild bearbeiten" msgid "Edited" msgstr "Bearbeitet" -#: src/component/user/add/dialog.vue:151 src/component/user/edit/dialog.vue:213 -#: src/page/settings/account.vue:171 src/page/settings/account.vue:593 +#: src/component/user/add/dialog.vue:152 src/component/user/edit/dialog.vue:214 +#: src/page/settings/account.vue:171 src/page/settings/account.vue:599 msgid "Email" msgstr "E-Mail" @@ -1145,7 +1171,7 @@ msgstr "Aktiviert neue Funktionen, die möglicherweise unvollständig oder insta msgid "Enables RAW converter presets. May reduce performance." msgstr "Aktiviert benutzerdefinierte Voreinstellungen. Dateien werden möglicherweise langsamer konvertiert." -#: src/component/settings/passcode.vue:127 +#: src/component/settings/passcode.vue:130 msgid "Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account." msgstr "Wenn die Zwei-Faktor-Authentifizierung aktiviert ist, wird ein zufällig generierter Verifizierungscode benötigt, um sich anzumelden. Selbst wenn jemand Zugang zu deinem Passwort hat, kann er also nicht auf das Konto zugreifen." @@ -1157,7 +1183,7 @@ msgstr "Datum eingeben" msgid "Enter dates" msgstr "Daten eingeben" -#: src/component/settings/passcode.vue:213 src/page/auth/login.vue:104 +#: src/component/settings/passcode.vue:216 src/page/auth/login.vue:104 msgid "Enter the code generated by your authenticator app:" msgstr "Gib den von deiner Authenticator-App generierten Code ein:" @@ -1165,7 +1191,7 @@ msgstr "Gib den von deiner Authenticator-App generierten Code ein:" msgid "Enter verification code" msgstr "Verifizierungscode eingeben" -#: src/component/settings/apps.vue:109 +#: src/component/settings/apps.vue:112 msgid "Enter your password to confirm the action and continue:" msgstr "Bitte mit Passwort bestätigen, um fortzufahren:" @@ -1174,7 +1200,7 @@ msgstr "Bitte mit Passwort bestätigen, um fortzufahren:" msgid "Error" msgstr "Fehler" -#: src/app/routes.js:374 src/component/navigation.vue:1348 +#: src/app/routes.js:382 src/component/navigation.vue:1372 msgid "Errors" msgstr "Fehler" @@ -1210,13 +1236,13 @@ msgstr "ExifTool wird für die vollständige Unterstützung von XMP-Metadaten, V msgid "Experimental Features" msgstr "Experimentelle Funktionen" -#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:453 -#: src/component/service/edit.vue:157 src/component/settings/apps.vue:73 -#: src/component/settings/apps.vue:326 src/component/share/dialog.vue:62 +#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:458 +#: src/component/service/edit.vue:158 src/component/settings/apps.vue:73 +#: src/component/settings/apps.vue:329 src/component/share/dialog.vue:62 msgid "Expires" msgstr "Ablaufdatum" -#: src/component/photo/edit/details.vue:396 +#: src/component/photo/edit/details.vue:370 msgid "Exposure" msgstr "Belichtungszeit" @@ -1224,7 +1250,7 @@ msgstr "Belichtungszeit" msgid "Extract still images and generate thumbnails while indexing." msgstr "Extrahiere Standbilder und erstelle Miniaturansichten während der Indexierung." -#: src/component/photo/edit/details.vue:444 +#: src/component/photo/edit/details.vue:418 msgid "F Number" msgstr "Lichtstärke" @@ -1240,7 +1266,7 @@ msgstr "Gesichter" msgid "Failed removing link" msgstr "Der Link konnte nicht gelöscht werden" -#: src/page/connect.vue:106 src/page/connect.vue:110 +#: src/page/connect.vue:107 src/page/connect.vue:111 msgid "Failed to connect account." msgstr "Die Verbindung zum Konto ist fehlgeschlagen." @@ -1248,8 +1274,8 @@ msgstr "Die Verbindung zum Konto ist fehlgeschlagen." msgid "Failed updating link" msgstr "Der Link konnte nicht gespeichert werden" -#: src/component/user/edit/dialog.vue:143 -#: src/component/user/edit/dialog.vue:144 src/page/settings/account.vue:128 +#: src/component/user/edit/dialog.vue:144 +#: src/component/user/edit/dialog.vue:145 src/page/settings/account.vue:128 #: src/page/settings/account.vue:130 msgid "Family Name" msgstr "Nachname" @@ -1258,15 +1284,15 @@ msgstr "Nachname" msgid "Fast" msgstr "Schnell" -#: src/component/album/edit/dialog.vue:159 -#: src/component/label/edit/dialog.vue:85 -#: src/component/people/edit/dialog.vue:85 +#: src/component/album/edit/dialog.vue:160 +#: src/component/label/edit/dialog.vue:86 +#: src/component/people/edit/dialog.vue:86 #: src/component/photo/edit/info.vue:287 msgid "Favorite" msgstr "Favorit" -#: src/app/routes.js:222 src/component/navigation.vue:893 -#: src/options/options.js:202 src/page/albums.vue:97 +#: src/app/routes.js:230 src/component/navigation.vue:903 +#: src/options/options.js:202 src/page/albums.vue:98 msgid "Favorites" msgstr "Favoriten" @@ -1274,7 +1300,7 @@ msgstr "Favoriten" msgid "Feature Request" msgstr "Verbesserungsvorschlag" -#: src/component/navigation.vue:1456 +#: src/component/navigation.vue:1482 msgid "Feedback" msgstr "Feedback" @@ -1282,11 +1308,12 @@ msgstr "Feedback" msgid "Female" msgstr "Weiblich" -#: src/component/photo/edit/info.vue:214 src/model/file.js:290 +#: src/component/photo/edit/info.vue:57 src/component/photo/edit/info.vue:214 +#: src/model/file.js:290 msgid "File" msgstr "Datei" -#: src/app/routes.js:343 +#: src/app/routes.js:351 msgid "File Browser" msgstr "Datei-Browser" @@ -1309,8 +1336,8 @@ msgstr "Dateigröße" msgid "Filename" msgstr "Dateiname" -#: src/component/navigation.vue:1930 src/component/photo/edit/dialog.vue:267 -#: src/component/photo/edit/dialog.vue:284 +#: src/component/navigation.vue:1973 src/component/photo/edit/dialog.vue:279 +#: src/component/photo/edit/dialog.vue:298 msgid "Files" msgstr "Dateien" @@ -1322,26 +1349,26 @@ msgstr "Dateien mit fortlaufenden Namen wie ‘IMG_1234 (2)’ und ‘IMG_1234 ( msgid "First page" msgstr "Erste Seite" -#: src/component/photo/edit/details.vue:465 +#: src/component/photo/edit/details.vue:439 msgid "Focal Length" msgstr "Brennweite" -#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:118 -#: src/component/service/edit.vue:189 src/component/service/edit.vue:194 -#: src/component/service/upload.vue:90 src/component/service/upload.vue:96 +#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:119 +#: src/component/service/edit.vue:190 src/component/service/edit.vue:195 +#: src/component/service/upload.vue:91 src/component/service/upload.vue:97 #: src/model/folder.js:199 src/page/library/browse.vue:182 msgid "Folder" msgstr "Ordner" -#: src/page/library/browse.vue:365 +#: src/page/library/browse.vue:367 msgid "Folder contains %{n} files" msgstr "Ordner enthält %{n} Dateien" -#: src/page/library/browse.vue:356 +#: src/page/library/browse.vue:358 msgid "Folder is empty" msgstr "Ordner ist leer" -#: src/app/routes.js:202 src/component/navigation.vue:1225 +#: src/app/routes.js:210 src/component/navigation.vue:1247 #: src/options/options.js:207 msgid "Folders" msgstr "Ordner" @@ -1358,7 +1385,7 @@ msgstr "FPS" msgid "Frames" msgstr "Frames" -#: src/options/auth.js:54 src/options/auth.js:64 +#: src/options/auth.js:55 src/options/auth.js:65 msgid "Full Access" msgstr "Voller Zugriff" @@ -1370,7 +1397,7 @@ msgstr "Vollbildmodus" msgid "General" msgstr "Allgemein" -#: src/component/settings/apps.vue:364 +#: src/component/settings/apps.vue:367 msgid "Generate" msgstr "Generieren" @@ -1390,8 +1417,8 @@ msgstr "Generiert" msgid "Get Started" msgstr "Erste Schritte" -#: src/component/user/edit/dialog.vue:120 -#: src/component/user/edit/dialog.vue:121 src/page/settings/account.vue:106 +#: src/component/user/edit/dialog.vue:121 +#: src/component/user/edit/dialog.vue:122 src/page/settings/account.vue:106 #: src/page/settings/account.vue:108 msgid "Given Name" msgstr "Vorname" @@ -1416,7 +1443,7 @@ msgstr "Grün" msgid "Grey" msgstr "Grau" -#: src/options/admin.js:22 src/options/auth.js:10 +#: src/options/admin.js:26 src/options/auth.js:11 msgid "Guest" msgstr "Gast" @@ -1432,15 +1459,15 @@ msgstr "Hilfe" msgid "Help & Support" msgstr "Hilfe & Unterstützung" -#: src/component/navigation.vue:1327 src/component/people/edit/dialog.vue:98 +#: src/component/navigation.vue:1351 src/component/people/edit/dialog.vue:99 msgid "Hidden" msgstr "Verborgen" -#: src/app/routes.js:358 +#: src/app/routes.js:366 msgid "Hidden Files" msgstr "Verborgene Dateien" -#: src/page/people/new.vue:165 src/page/people/recognized.vue:205 +#: src/page/people/new.vue:166 src/page/people/recognized.vue:206 msgid "Hide" msgstr "Verbergen" @@ -1456,7 +1483,7 @@ msgstr "Hoch" msgid "High Dynamic Range (HDR)" msgstr "Hoher Dynamikumfang (HDR)" -#: src/page/about/feedback.vue:103 +#: src/page/about/feedback.vue:104 msgid "How can we help?" msgstr "Wie können wir helfen?" @@ -1464,11 +1491,11 @@ msgstr "Wie können wir helfen?" msgid "Hybrid" msgstr "Hybrid" -#: src/component/settings/passcode.vue:389 +#: src/component/settings/passcode.vue:392 msgid "If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account." msgstr "Falls die Authenticator-App bzw. das Gerät verloren geht, kannst du den Wiederherstellungscode verwenden, um wieder Zugang zu deinem Konto zu erhalten." -#: src/component/photo/edit/info.vue:63 src/component/photo/edit/labels.vue:46 +#: src/component/photo/edit/info.vue:65 src/component/photo/edit/labels.vue:46 #: src/component/photo/view/cards.vue:532 src/model/file.js:218 #: src/options/options.js:281 msgid "Image" @@ -1478,7 +1505,7 @@ msgstr "Bild" msgid "Image Quality" msgstr "Bildqualität" -#: src/page/library.vue:46 src/page/library/import.vue:152 +#: src/page/library.vue:46 src/page/library/import.vue:153 #: src/page/settings/general.vue:357 msgid "Import" msgstr "Import" @@ -1503,8 +1530,8 @@ msgstr "Importiere %{s}…" msgid "Importing files to originals…" msgstr "Importiere Dateien nach Originals…" -#: src/component/photo/edit/files.vue:515 -#: src/component/photo/edit/files.vue:520 +#: src/component/photo/edit/files.vue:517 +#: src/component/photo/edit/files.vue:522 msgid "in" msgstr "in" @@ -1522,11 +1549,11 @@ msgstr "RAW-Bilddateien beim Herunterladen von Stapeln und Archiven miteinbezieh msgid "Include sidecar files when downloading stacks and archives." msgstr "Sidecar-Dateien beim Herunterladen von Stapeln und Archiven miteinbeziehen." -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Increase storage size or delete files to continue." msgstr "Erhöhe die Speichergröße oder lösche Dateien, um fortzufahren." -#: src/component/navigation.vue:1946 src/page/library.vue:36 +#: src/component/navigation.vue:1990 src/page/library.vue:36 #: src/page/settings/content.vue:34 msgid "Index" msgstr "Index" @@ -1556,11 +1583,11 @@ msgstr "Informationen" msgid "Instance ID" msgstr "Instanz ID" -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Insufficient storage." msgstr "Zu wenig Speicherplatz." -#: src/component/service/edit.vue:209 +#: src/component/service/edit.vue:210 msgid "Interval" msgstr "Intervall" @@ -1581,7 +1608,7 @@ msgstr "Ungültige Adresse" msgid "Invalid country" msgstr "Ungültiges Land" -#: src/component/photo/edit/details.vue:174 +#: src/component/photo/edit/details.vue:169 msgid "Invalid date" msgstr "Ungültiges Datum" @@ -1590,7 +1617,7 @@ msgstr "Ungültiges Datum" msgid "Invalid parameters" msgstr "Ungültige Parameter" -#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:197 +#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:199 msgid "Invalid photo selected" msgstr "Ungültiges Foto ausgewählt" @@ -1602,8 +1629,8 @@ msgstr "Ungültige Zeit" msgid "Invalid URL" msgstr "Ungültige URL" -#: src/component/settings/passcode.vue:314 -#: src/component/settings/passcode.vue:391 +#: src/component/settings/passcode.vue:317 +#: src/component/settings/passcode.vue:394 msgid "It is a one-time use code that will disable 2FA for your account when you use it." msgstr "Es handelt sich um einen einmalig verwendbaren Code, der 2FA für dein Konto deaktiviert, wenn er verwendet wird." @@ -1627,7 +1654,7 @@ msgstr "Maximale JPEG-Größe: %{n}px" msgid "JPEGs and thumbnails are automatically rendered as needed." msgstr "JPEGs und Thumbnails werden bei Bedarf automatisch erstellt." -#: src/component/photo/edit/details.vue:581 +#: src/component/photo/edit/details.vue:555 msgid "Keywords" msgstr "Suchbegriffe" @@ -1636,9 +1663,9 @@ msgstr "Suchbegriffe" msgid "Label" msgstr "Kategorie" -#: src/app/routes.js:389 src/component/navigation.vue:1177 -#: src/component/photo/edit/dialog.vue:188 -#: src/component/photo/edit/dialog.vue:205 src/options/options.js:206 +#: src/app/routes.js:397 src/component/navigation.vue:1197 +#: src/component/photo/edit/dialog.vue:196 +#: src/component/photo/edit/dialog.vue:215 src/options/options.js:206 #: src/page/settings/general.vue:255 msgid "Labels" msgstr "Kategorien" @@ -1655,11 +1682,11 @@ msgstr "Lanczos: Sehr gute Detailerhaltung, minimale Artefakte" msgid "Language" msgstr "Sprache" -#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:435 +#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:440 msgid "Last Active" msgstr "Zuletzt aktiv" -#: src/page/admin/users.vue:81 +#: src/page/admin/users.vue:83 msgid "Last Login" msgstr "Letzter Login" @@ -1675,42 +1702,41 @@ msgstr "Letzte Synchronisation" msgid "Last Used" msgstr "Zuletzt verwendet" -#: src/component/photo/edit/details.vue:298 #: src/component/photo/edit/info.vue:373 msgid "Latitude" msgstr "Breitengrad" -#: src/options/admin.js:43 src/options/auth.js:29 +#: src/options/admin.js:47 src/options/auth.js:30 msgid "LDAP/AD" msgstr "LDAP/AD" -#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:86 -#: src/page/about/about.vue:62 src/page/about/about.vue:132 +#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:87 +#: src/page/about/about.vue:62 src/page/about/about.vue:133 #: src/page/connect.vue:67 src/page/help.vue:36 msgid "Learn more" msgstr "Mehr erfahren" -#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:135 +#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:137 #: src/page/labels.vue:132 msgid "Learn More" msgstr "Mehr erfahren" -#: src/component/navigation.vue:2017 +#: src/component/navigation.vue:2066 msgid "Legal Information" msgstr "Rechtliche Informationen" -#: src/component/photo/edit/details.vue:417 +#: src/component/photo/edit/details.vue:391 #: src/component/photo/view/cards.vue:480 msgid "Lens" msgstr "Objektiv" -#: src/app/routes.js:443 src/app/routes.js:459 src/app/routes.js:475 -#: src/component/navigation.vue:1267 src/page/settings/general.vue:507 +#: src/app/routes.js:451 src/app/routes.js:467 src/app/routes.js:483 +#: src/component/navigation.vue:1290 src/page/settings/general.vue:507 msgid "Library" msgstr "Dateien" #: src/page/connect.vue:45 src/app/routes.js:69 -#: src/component/navigation.vue:1478 src/component/photo/edit/details.vue:559 +#: src/component/navigation.vue:1504 src/component/photo/edit/details.vue:533 #: src/page/about/license.vue:28 msgid "License" msgstr "Lizenz" @@ -1723,7 +1749,7 @@ msgstr "Favorit" msgid "Lime" msgstr "Hellgrün" -#: src/page/library/browse.vue:369 +#: src/page/library/browse.vue:371 msgid "Limit reached, showing first %{n} files" msgstr "Limit erreicht, zeige die ersten %{n} Dateien" @@ -1731,7 +1757,7 @@ msgstr "Limit erreicht, zeige die ersten %{n} Dateien" msgid "Linear: Very Smooth, Best Performance" msgstr "Linear: Weicher Bildeindruck, sehr gute Performance" -#: src/model/link.js:117 src/options/auth.js:30 src/options/auth.js:31 +#: src/model/link.js:117 src/options/auth.js:31 src/options/auth.js:32 msgid "Link" msgstr "Link" @@ -1749,7 +1775,7 @@ msgstr "Listenansicht" msgid "Live" msgstr "Live" -#: src/app/routes.js:236 src/component/navigation.vue:749 +#: src/app/routes.js:244 src/component/navigation.vue:755 msgid "Live Photos" msgstr "Live Photos" @@ -1765,21 +1791,24 @@ msgstr "Ergebnisse laden..." msgid "Loading..." msgstr "Lädt..." -#: src/options/admin.js:35 src/options/auth.js:22 src/options/auth.js:27 +#: src/options/admin.js:39 src/options/auth.js:23 src/options/auth.js:28 #: src/options/options.js:38 src/page/settings/general.vue:107 msgid "Local" msgstr "Lokal" -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Local Time" msgstr "Ortszeit" -#: src/page/settings/account.vue:665 src/page/settings/account.vue:667 -#: src/component/album/edit/dialog.vue:92 src/component/photo/edit/info.vue:65 -#: src/component/photo/edit/labels.vue:48 +#: src/page/settings/account.vue:671 src/page/settings/account.vue:673 +#: src/component/album/edit/dialog.vue:93 +#: src/component/photo/edit/details.vue:38 +#: src/component/photo/edit/details.vue:116 +#: src/component/photo/edit/details.vue:210 +#: src/component/photo/edit/info.vue:67 src/component/photo/edit/labels.vue:48 #: src/component/photo/view/cards.vue:555 src/component/photo/view/list.vue:117 -#: src/component/sidebar/info.vue:107 src/page/albums.vue:99 -#: src/page/settings/account.vue:557 src/page/settings/account.vue:559 +#: src/component/sidebar/info.vue:107 src/page/albums.vue:100 +#: src/page/settings/account.vue:563 src/page/settings/account.vue:565 msgid "Location" msgstr "Ort" @@ -1787,20 +1816,19 @@ msgstr "Ort" msgid "Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues." msgstr "Warnungen und Fehler erscheinen hier, sobald PhotoPrism beschädigte Dateien findet oder andere Probleme aufgetreten sind." -#: src/component/navigation.vue:1552 src/component/navigation.vue:1840 +#: src/component/navigation.vue:1579 src/component/navigation.vue:1877 msgid "Login" msgstr "Anmelden" -#: src/component/navigation.vue:1759 +#: src/component/navigation.vue:1791 msgid "Logout" msgstr "Abmelden" -#: src/component/navigation.vue:1962 src/page/library.vue:59 +#: src/component/navigation.vue:2007 src/page/library.vue:59 #: src/page/settings/general.vue:557 msgid "Logs" msgstr "Logs" -#: src/component/photo/edit/details.vue:324 #: src/component/photo/edit/info.vue:379 msgid "Longitude" msgstr "Längengrad" @@ -1813,7 +1841,7 @@ msgstr "Niedrig" msgid "Magenta" msgstr "Magenta" -#: src/component/photo/edit/files.vue:489 +#: src/component/photo/edit/files.vue:491 msgid "Main Color" msgstr "Hauptfarbe" @@ -1821,12 +1849,16 @@ msgstr "Hauptfarbe" msgid "Male" msgstr "Männlich" -#: src/page/connect.vue:164 src/page/connect.vue:246 -#: src/page/about/about.vue:171 src/page/connect.vue:168 -#: src/page/connect.vue:255 +#: src/page/connect.vue:165 src/page/connect.vue:248 +#: src/page/about/about.vue:173 src/page/connect.vue:169 +#: src/page/connect.vue:257 msgid "Manage Account" msgstr "Konto verwalten" +#: src/options/admin.js:10 src/options/auth.js:7 +msgid "Manager" +msgstr "Manager" + #: src/component/photo/edit/info.vue:49 src/component/photo/edit/labels.vue:38 msgid "Manual" msgstr "Manuell" @@ -1843,11 +1875,11 @@ msgstr "Karten" msgid "Marker" msgstr "Bildbereich" -#: src/component/user/add/dialog.vue:69 +#: src/component/user/add/dialog.vue:70 msgid "Maximum number of accounts has been reached." msgstr "Die maximale Anzahl von Konten wurde erreicht." -#: src/app/routes.js:229 src/component/navigation.vue:688 +#: src/app/routes.js:237 src/component/navigation.vue:693 #: src/options/options.js:199 msgid "Media" msgstr "Medien" @@ -1864,7 +1896,7 @@ msgstr "Mitgliedschaft" msgid "Merge %{a} with %{b}?" msgstr "%{a} und %{b} zusammenfassen?" -#: src/page/about/feedback.vue:102 +#: src/page/about/feedback.vue:103 msgid "Message" msgstr "Feedback" @@ -1876,7 +1908,7 @@ msgstr "Nachricht versendet" msgid "Metadata" msgstr "Metadaten" -#: src/options/auth.js:56 src/options/auth.js:72 +#: src/options/auth.js:57 src/options/auth.js:73 msgid "Metrics" msgstr "Metriken" @@ -1884,7 +1916,7 @@ msgstr "Metriken" msgid "Minimize" msgstr "Minimieren" -#: src/component/photo/edit/files.vue:509 src/component/photo/edit/info.vue:367 +#: src/component/photo/edit/files.vue:511 src/component/photo/edit/info.vue:367 msgid "Missing" msgstr "Fehlend" @@ -1892,17 +1924,17 @@ msgstr "Fehlend" msgid "Missing or invalid configuration" msgstr "Fehlende oder ungültige Konfiguration" -#: src/app/routes.js:163 src/component/navigation.vue:1129 +#: src/app/routes.js:171 src/component/navigation.vue:1147 #: src/options/options.js:205 src/page/settings/general.vue:230 msgid "Moments" msgstr "Ereignisse" -#: src/component/navigation.vue:383 +#: src/component/navigation.vue:385 msgid "Monochrome" msgstr "Monochrom" -#: src/page/settings/account.vue:475 src/component/photo/edit/details.vue:137 -#: src/component/photo/toolbar.vue:342 +#: src/page/settings/account.vue:481 src/component/photo/edit/details.vue:139 +#: src/component/photo/toolbar.vue:344 msgid "Month" msgstr "Monat" @@ -1922,7 +1954,7 @@ msgstr "Am relevantesten" msgid "Move Files" msgstr "Dateien verschieben" -#: src/component/settings/password.vue:107 +#: src/component/settings/password.vue:108 msgid "Must have at least %{n} characters." msgstr "Muss mindestens %{n} Zeichen enthalten." @@ -1930,20 +1962,20 @@ msgstr "Muss mindestens %{n} Zeichen enthalten." msgid "Mute" msgstr "Stummschalten" -#: src/page/about/feedback.vue:121 src/page/about/feedback.vue:122 -#: src/component/album/edit/dialog.vue:77 -#: src/component/label/edit/dialog.vue:71 -#: src/component/people/edit/dialog.vue:71 -#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:57 +#: src/page/about/feedback.vue:122 src/page/about/feedback.vue:123 +#: src/component/album/edit/dialog.vue:78 +#: src/component/label/edit/dialog.vue:72 +#: src/component/people/edit/dialog.vue:72 +#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:59 #: src/component/photo/edit/info.vue:125 src/component/photo/edit/people.vue:36 -#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:310 -#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:286 -#: src/page/albums.vue:98 src/page/auth/login.vue:168 +#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:311 +#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:289 +#: src/page/albums.vue:99 src/page/auth/login.vue:168 #: src/page/people/new.vue:68 src/page/settings/services.vue:37 msgid "Name" msgstr "Name" -#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:60 +#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:65 #: src/component/label/edit/dialog.vue:19 #: src/component/people/edit/dialog.vue:19 #: src/component/photo/edit/labels.vue:30 @@ -1953,7 +1985,7 @@ msgstr "Name" msgid "Name too long" msgstr "Name zu lang" -#: src/page/admin/users.vue:204 src/options/options.js:361 +#: src/page/admin/users.vue:206 src/options/options.js:361 #: src/options/options.js:371 src/page/settings/services.vue:75 msgid "Never" msgstr "Nie" @@ -1962,13 +1994,13 @@ msgstr "Nie" msgid "New" msgstr "Neu" -#: src/component/settings/password.vue:106 +#: src/component/settings/password.vue:107 msgid "New Password" msgstr "Neues Passwort" #: src/component/album/edit/dialog.vue:24 src/component/photo/toolbar.vue:114 #: src/component/photo/toolbar.vue:126 src/component/photo/toolbar.vue:136 -#: src/page/albums.vue:100 +#: src/page/albums.vue:101 msgid "Newest First" msgstr "Neueste zuerst" @@ -1984,15 +2016,15 @@ msgstr "Nächste Seite" msgid "Next visual" msgstr "Nächstes Bild" -#: src/component/people/merge/dialog.vue:47 -#: src/component/photo/archive/dialog.vue:47 +#: src/component/people/merge/dialog.vue:48 +#: src/component/photo/archive/dialog.vue:48 #: src/component/photo/edit/info.vue:281 src/component/photo/edit/info.vue:297 #: src/component/photo/edit/info.vue:313 src/component/photo/edit/info.vue:329 #: src/component/photo/edit/info.vue:344 msgid "No" msgstr "Nein" -#: src/page/albums.vue:607 src/page/albums.vue:282 +#: src/page/albums.vue:612 src/page/albums.vue:282 msgid "No albums found" msgstr "Keine Alben gefunden" @@ -2000,7 +2032,7 @@ msgstr "Keine Alben gefunden" msgid "No data available" msgstr "Keine Daten verfügbar" -#: src/page/labels.vue:523 src/page/labels.vue:155 +#: src/page/labels.vue:528 src/page/labels.vue:155 msgid "No labels found" msgstr "Keine Kategorien gefunden" @@ -2013,15 +2045,15 @@ msgid "No more" msgstr "Keine weiteren" #: src/component/photo/edit/people.vue:34 src/page/people/new.vue:346 -#: src/page/people/new.vue:443 src/page/people/new.vue:103 -#: src/page/people/recognized.vue:531 src/page/people/recognized.vue:146 +#: src/page/people/new.vue:446 src/page/people/new.vue:103 +#: src/page/people/recognized.vue:536 src/page/people/recognized.vue:146 msgid "No people found" msgstr "Keine Personen gefunden" #: src/component/lightbox.vue:365 src/component/photo/view/cards.vue:144 #: src/component/photo/view/list.vue:82 src/component/photo/view/mosaic.vue:68 -#: src/page/album/photos.vue:488 src/page/library/browse.vue:123 -#: src/page/photos.vue:626 src/page/places.vue:624 src/page/places.vue:730 +#: src/page/album/photos.vue:499 src/page/library/browse.vue:123 +#: src/page/photos.vue:636 src/page/places.vue:624 src/page/places.vue:730 msgid "No pictures found" msgstr "Keine Bilder gefunden" @@ -2030,7 +2062,11 @@ msgstr "Keine Bilder gefunden" msgid "No recently edited pictures" msgstr "Keine kürzlich bearbeiteten Bilder" -#: src/component/navigation.vue:1655 +#: src/component/location/dialog.vue:166 +msgid "No results" +msgstr "Keine Ergebnisse" + +#: src/component/navigation.vue:1686 msgid "No server connection" msgstr "Keine Serververbindung" @@ -2042,7 +2078,7 @@ msgstr "Keine Server konfiguriert." msgid "No services configured." msgstr "Keine Dienste konfiguriert." -#: src/component/confirm/sponsor.vue:72 +#: src/component/confirm/sponsor.vue:73 msgid "No thanks" msgstr "Nein danke" @@ -2052,17 +2088,17 @@ msgstr "Keine Warnungen oder Fehler mit diesem Suchbegriff. Bei der Suche wird z #: src/component/photo/view/cards.vue:154 src/component/photo/view/list.vue:59 #: src/component/photo/view/list.vue:92 src/component/photo/view/mosaic.vue:78 -#: src/component/upload/dialog.vue:208 +#: src/component/upload/dialog.vue:210 msgid "Non-photographic and low-quality images require a review before they appear in search results." msgstr "Nicht-fotografische Inhalte oder Bilder mit geringer Qualität werden erst nach einer Bestätigung in der Suche angezeigt." -#: src/options/admin.js:47 src/options/auth.js:32 src/options/options.js:212 +#: src/options/admin.js:51 src/options/auth.js:33 src/options/options.js:212 #: src/options/options.js:328 msgid "None" msgstr "Keine" -#: src/common/util.js:853 src/component/lightbox.vue:633 -#: src/component/service/upload.vue:75 src/component/service/upload.vue:87 +#: src/component/lightbox.vue:633 src/component/service/upload.vue:75 +#: src/component/service/upload.vue:87 msgid "Not allowed" msgstr "Nicht erlaubt" @@ -2074,8 +2110,7 @@ msgstr "Nicht gefunden" msgid "Not sorted." msgstr "Nicht sortiert." -#: src/common/util.js:858 src/component/lightbox.vue:627 -#: src/component/lightbox.vue:744 +#: src/component/lightbox.vue:627 src/component/lightbox.vue:744 msgid "Not supported" msgstr "Nicht unterstützt" @@ -2083,15 +2118,15 @@ msgstr "Nicht unterstützt" msgid "Note you may manually manage your originals folder and importing is optional." msgstr "Die Verwaltung der Original-Dateien kann auch manuell erfolgen, der Import ist optional." -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "Note:" msgstr "Hinweis:" -#: src/component/service/add.vue:120 +#: src/component/service/add.vue:121 msgid "Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload." msgstr "Hinweis: Momentan können nur WebDAV-Server, wie Nextcloud oder PhotoPrism, für Backups oder zum Datei-Upload verwendet werden." -#: src/component/photo/edit/details.vue:603 +#: src/component/photo/edit/details.vue:577 msgid "Notes" msgstr "Notizen" @@ -2099,8 +2134,8 @@ msgstr "Notizen" msgid "Nothing to see here yet." msgstr "Hier gibt es noch nichts zu sehen." -#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:115 -#: src/component/settings/apps.vue:390 +#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:125 +#: src/component/settings/apps.vue:393 msgid "Nothing was found." msgstr "Es konnte nichts gefunden werden." @@ -2108,7 +2143,7 @@ msgstr "Es konnte nichts gefunden werden." msgid "Offline" msgstr "Offline" -#: src/options/admin.js:39 src/options/auth.js:28 +#: src/options/admin.js:43 src/options/auth.js:29 msgid "OIDC" msgstr "OIDC" @@ -2118,11 +2153,11 @@ msgstr "OK" #: src/component/album/edit/dialog.vue:25 src/component/photo/toolbar.vue:115 #: src/component/photo/toolbar.vue:127 src/component/photo/toolbar.vue:137 -#: src/page/albums.vue:101 +#: src/page/albums.vue:102 msgid "Oldest First" msgstr "Älteste zuerst" -#: src/component/settings/webdav.vue:77 +#: src/component/settings/webdav.vue:78 msgid "On Windows, enter the following resource in the connection dialog:" msgstr "Unter Windows gibst du die folgende Ressource in den Verbindungsdialog ein:" @@ -2134,11 +2169,11 @@ msgstr "Die On-Demand-Generierung von Vorschaubildern kann zu einer hohen CPU- u msgid "Once a week" msgstr "Einmal die Woche" -#: src/page/albums.vue:609 +#: src/page/albums.vue:614 msgid "One album found" msgstr "Ein Album gefunden" -#: src/page/library/browse.vue:358 +#: src/page/library/browse.vue:360 msgid "One file found" msgstr "Eine Datei gefunden" @@ -2146,24 +2181,24 @@ msgstr "Eine Datei gefunden" msgid "One file uploaded" msgstr "Eine Datei hochgeladen" -#: src/page/library/browse.vue:360 +#: src/page/library/browse.vue:362 msgid "One folder found" msgstr "Ein Ordner gefunden" -#: src/page/labels.vue:525 +#: src/page/labels.vue:530 msgid "One label found" msgstr "Eine Kategorie gefunden" -#: src/page/people/new.vue:348 src/page/people/new.vue:445 -#: src/page/people/recognized.vue:533 +#: src/page/people/new.vue:348 src/page/people/new.vue:448 +#: src/page/people/recognized.vue:538 msgid "One person found" msgstr "Eine Person gefunden" -#: src/page/album/photos.vue:490 src/page/photos.vue:628 +#: src/page/album/photos.vue:501 src/page/photos.vue:638 msgid "One picture found" msgstr "Ein Bild gefunden" -#: src/component/settings/passcode.vue:478 +#: src/component/settings/passcode.vue:481 msgid "Only locally managed accounts can be set up for authentication with 2FA." msgstr "Nur lokal verwaltete Konten können für die Authentifizierung mit 2FA eingerichtet werden." @@ -2171,7 +2206,7 @@ msgstr "Nur lokal verwaltete Konten können für die Authentifizierung mit 2FA e msgid "Open" msgstr "Öffnen" -#: src/component/service/add.vue:86 src/component/service/add.vue:107 +#: src/component/service/add.vue:87 src/component/service/add.vue:108 msgid "optional" msgstr "optional" @@ -2183,7 +2218,7 @@ msgstr "oder" msgid "Orange" msgstr "Orange" -#: src/page/settings/account.vue:571 src/page/settings/account.vue:573 +#: src/page/settings/account.vue:577 src/page/settings/account.vue:579 msgid "Organization" msgstr "Organisation" @@ -2199,7 +2234,7 @@ msgstr "Die ursprünglichen Dateinamen werden im Index gespeichert." msgid "Original Name" msgstr "Originalname" -#: src/component/navigation.vue:1304 src/model/file.js:196 +#: src/component/navigation.vue:1328 src/model/file.js:196 #: src/options/options.js:413 src/page/library/browse.vue:65 #: src/page/settings/content.vue:356 src/page/settings/general.vue:532 msgid "Originals" @@ -2210,7 +2245,7 @@ msgstr "Originale" msgid "Other" msgstr "Sonstiges" -#: src/page/about/about.vue:77 src/page/about/about.vue:83 +#: src/page/about/about.vue:78 src/page/about/about.vue:84 msgid "Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible." msgstr "Unser Ziel ist es, die benutzer- und datenschutzfreundlichste Lösung zu bieten, um Bilder zu organisieren und zugänglich zu machen." @@ -2222,7 +2257,7 @@ msgstr "Outdoor" msgid "Page {0}, Current page" msgstr "Seite {0}, Aktuelle Seite" -#: src/component/photo/edit/files.vue:352 src/model/photo.js:859 +#: src/component/photo/edit/files.vue:352 src/model/photo.js:896 msgid "Pages" msgstr "Seiten" @@ -2234,15 +2269,15 @@ msgstr "Paginierung Navigation" msgid "Panorama" msgstr "Panorama" -#: src/component/navigation.vue:402 +#: src/component/navigation.vue:404 msgid "Panoramas" msgstr "Panoramen" -#: src/component/user/add/dialog.vue:114 src/component/user/add/dialog.vue:115 -#: src/component/service/add.vue:106 src/component/service/edit.vue:352 -#: src/component/settings/apps.vue:121 src/component/settings/passcode.vue:106 -#: src/component/settings/passcode.vue:413 src/component/share/dialog.vue:27 -#: src/options/auth.js:91 src/page/auth/login.vue:196 +#: src/component/user/add/dialog.vue:115 src/component/user/add/dialog.vue:116 +#: src/component/service/add.vue:107 src/component/service/edit.vue:353 +#: src/component/settings/apps.vue:124 src/component/settings/passcode.vue:109 +#: src/component/settings/passcode.vue:416 src/component/share/dialog.vue:27 +#: src/options/auth.js:92 src/page/auth/login.vue:196 msgid "Password" msgstr "Passwort" @@ -2250,9 +2285,9 @@ msgstr "Passwort" msgid "Password changed" msgstr "Passwort geändert" -#: src/app/routes.js:404 src/app/routes.js:428 src/component/navigation.vue:845 -#: src/component/navigation.vue:1898 src/component/photo/edit/dialog.vue:228 -#: src/component/photo/edit/dialog.vue:245 src/options/options.js:201 +#: src/app/routes.js:412 src/app/routes.js:436 src/component/navigation.vue:853 +#: src/component/navigation.vue:1939 src/component/photo/edit/dialog.vue:238 +#: src/component/photo/edit/dialog.vue:257 src/options/options.js:201 #: src/page/settings/general.vue:180 msgid "People" msgstr "Personen" @@ -2273,23 +2308,23 @@ msgstr "Dauerhaftes Entfernen von Dateien, um Speicherplatz freizugeben." msgid "Person" msgstr "Person" -#: src/options/auth.js:42 +#: src/options/auth.js:43 msgid "Personal" msgstr "Persönlich" -#: src/model/photo.js:1273 +#: src/model/photo.js:1310 msgid "Photo" msgstr "Bild" -#: src/page/about/about.vue:156 +#: src/page/about/about.vue:158 msgid "PhotoPrism is 100% self-funded and independent." msgstr "PhotoPrism ist zu 100 % selbstfinanziert und unabhängig." -#: src/page/about/about.vue:92 +#: src/page/about/about.vue:93 msgid "PhotoPrism+ Membership" msgstr "PhotoPrism+ Mitgliedschaft" -#: src/app/routes.js:156 +#: src/app/routes.js:164 msgid "Photos" msgstr "Bilder" @@ -2310,27 +2345,27 @@ msgstr "Ort" msgid "Place & Time" msgstr "Ort & Zeit" -#: src/app/routes.js:303 src/app/routes.js:309 src/app/routes.js:315 -#: src/app/routes.js:330 src/component/navigation.vue:986 -#: src/component/navigation.vue:1914 src/options/options.js:203 +#: src/app/routes.js:311 src/app/routes.js:317 src/app/routes.js:323 +#: src/app/routes.js:338 src/component/navigation.vue:999 +#: src/component/navigation.vue:1956 src/options/options.js:203 #: src/page/places.vue:51 src/page/settings/general.vue:609 #: src/page/settings/general.vue:638 msgid "Places" msgstr "Orte" -#: src/component/settings/password.vue:129 +#: src/component/settings/password.vue:130 msgid "Please confirm your new password." msgstr "Neues Passwort bitte bestätigen." -#: src/component/settings/apps.vue:185 +#: src/component/settings/apps.vue:188 msgid "Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:" msgstr "Bitte kopiere das folgende, zufällig generierte App-Passwort und bewahre es an einem sicheren Ort auf, da es nicht noch einmal angezeigt werden kann:" -#: src/component/upload/dialog.vue:203 +#: src/component/upload/dialog.vue:205 msgid "Please do not upload any private, unlawful or offensive pictures." msgstr "Bitte lade keine privaten, illegalen oder anstößigen Bilder hoch." -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Please don't upload photos containing offensive content." msgstr "Bitte lade keine anstößigen Bilder hoch." @@ -2338,11 +2373,11 @@ msgstr "Bitte lade keine anstößigen Bilder hoch." msgid "Please enter OTP character {0}" msgstr "Bitte OTP-Zeichen eingeben {0}" -#: src/component/settings/password.vue:66 +#: src/component/settings/password.vue:67 msgid "Please note that changing your password will log you out on other devices and browsers." msgstr "Bitte beachte, dass du beim Ändern deines Passworts auf anderen Geräten und Browsern abgemeldet wirst." -#: src/page/connect.vue:148 src/page/connect.vue:152 +#: src/page/connect.vue:149 src/page/connect.vue:153 msgid "Please restart your instance for the changes to take effect." msgstr "Bitte starte deine Instanz neu, damit die Änderungen wirksam werden." @@ -2362,11 +2397,11 @@ msgstr "Maximale PNG-Größe: %{n}px" msgid "Portrait" msgstr "Portrait" -#: src/component/service/edit.vue:273 +#: src/component/service/edit.vue:274 msgid "Preserve filenames" msgstr "Namen beibehalten" -#: src/component/upload/dialog.vue:162 +#: src/component/upload/dialog.vue:164 msgid "Press enter to create a new album." msgstr "Enter drücken, um ein neues Album zu erstellen." @@ -2403,8 +2438,8 @@ msgstr "Voriges Bild" msgid "Primary" msgstr "Primärdatei" -#: src/app/routes.js:271 src/component/album/edit/dialog.vue:176 -#: src/component/navigation.vue:531 src/component/photo/edit/info.vue:303 +#: src/app/routes.js:279 src/component/album/edit/dialog.vue:177 +#: src/component/navigation.vue:533 src/component/photo/edit/info.vue:303 #: src/page/settings/general.vue:280 msgid "Private" msgstr "Privat" @@ -2429,7 +2464,7 @@ msgstr "Qualitätsfilter" msgid "Quality Score" msgstr "Qualität" -#: src/page/admin/users.vue:169 +#: src/page/admin/users.vue:171 msgid "r" msgstr "r" @@ -2460,7 +2495,7 @@ msgstr "Schreibgeschützter Modus" #: src/component/album/edit/dialog.vue:26 src/component/photo/toolbar.vue:116 #: src/component/photo/toolbar.vue:128 src/component/photo/toolbar.vue:138 -#: src/page/albums.vue:102 +#: src/page/albums.vue:103 msgid "Recently Added" msgstr "Kürzlich hinzugefügt" @@ -2468,7 +2503,7 @@ msgstr "Kürzlich hinzugefügt" msgid "Recently Archived" msgstr "Kürzlich archiviert" -#: src/component/photo/toolbar.vue:139 src/page/albums.vue:103 +#: src/component/photo/toolbar.vue:139 src/page/albums.vue:104 msgid "Recently Edited" msgstr "Zuletzt bearbeitet" @@ -2493,24 +2528,24 @@ msgstr "Wiederherstellungs-Code" msgid "Red" msgstr "Rot" -#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:126 -#: src/component/album/toolbar.vue:79 src/component/photo/toolbar.vue:169 -#: src/page/albums.vue:173 src/page/labels.vue:112 +#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:128 +#: src/component/album/toolbar.vue:84 src/component/photo/toolbar.vue:169 +#: src/page/albums.vue:175 src/page/labels.vue:112 #: src/page/library/browse.vue:90 src/page/library/errors.vue:81 #: src/page/people/new.vue:54 src/page/people/recognized.vue:88 msgid "Refresh" msgstr "Aktualisieren" -#: src/app/routes.js:337 src/component/navigation.vue:943 -#: src/component/navigation.vue:1026 +#: src/app/routes.js:345 src/component/navigation.vue:955 +#: src/component/navigation.vue:1040 msgid "Regions" msgstr "Regionen" -#: src/page/connect.vue:275 src/page/connect.vue:284 +#: src/page/connect.vue:277 src/page/connect.vue:286 msgid "Register" msgstr "Registrieren" -#: src/component/navigation.vue:1773 src/component/update.vue:68 +#: src/component/navigation.vue:1806 src/component/update.vue:68 msgid "Reload" msgstr "Neu laden" @@ -2555,34 +2590,34 @@ msgstr "Verlangt, dass nicht-fotografische und qualitativ schlechte Bilder gepr msgid "Resolution" msgstr "Auflösung" -#: src/page/connect.vue:179 src/page/connect.vue:183 +#: src/page/connect.vue:180 src/page/connect.vue:184 #: src/page/settings/advanced.vue:782 msgid "Restart" msgstr "Neustart" -#: src/component/user/edit/dialog.vue:485 src/component/lightbox.vue:1221 +#: src/component/user/edit/dialog.vue:488 src/component/lightbox.vue:1221 #: src/component/photo/clipboard.vue:77 msgid "Restore" msgstr "Wiederherstellen" -#: src/component/lightbox.vue:2000 +#: src/component/lightbox.vue:2020 msgid "Restored" msgstr "Wiederhergestellt" -#: src/component/service/edit.vue:428 +#: src/component/service/edit.vue:429 msgid "Retry Limit" msgstr "Wiederholungsversuche" -#: src/component/settings/password.vue:128 +#: src/component/settings/password.vue:129 msgid "Retype Password" msgstr "Passwort wiederholen" -#: src/app/routes.js:264 src/component/navigation.vue:505 +#: src/app/routes.js:272 src/component/navigation.vue:507 msgid "Review" msgstr "Überprüfen" -#: src/component/user/add/dialog.vue:171 src/component/user/edit/dialog.vue:284 -#: src/page/admin/sessions.vue:262 src/page/admin/users.vue:73 +#: src/component/user/add/dialog.vue:172 src/component/user/edit/dialog.vue:285 +#: src/page/admin/sessions.vue:263 src/page/admin/users.vue:75 msgid "Role" msgstr "Rolle" @@ -2594,11 +2629,11 @@ msgstr "Zeilen pro Seite:" msgid "Satellite" msgstr "Satellit" -#: src/component/user/edit/dialog.vue:485 -#: src/component/album/edit/dialog.vue:211 -#: src/component/label/edit/dialog.vue:119 -#: src/component/people/edit/dialog.vue:132 src/component/service/edit.vue:466 -#: src/component/settings/password.vue:172 src/component/share/dialog.vue:181 +#: src/component/user/edit/dialog.vue:488 +#: src/component/album/edit/dialog.vue:212 +#: src/component/label/edit/dialog.vue:120 +#: src/component/people/edit/dialog.vue:133 src/component/service/edit.vue:467 +#: src/component/settings/password.vue:173 src/component/share/dialog.vue:181 msgid "Save" msgstr "Speichern" @@ -2606,23 +2641,23 @@ msgstr "Speichern" msgid "Scan" msgstr "Scan" -#: src/component/settings/passcode.vue:179 +#: src/component/settings/passcode.vue:182 msgid "Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:" msgstr "Scanne den QR-Code mit deiner Authenticator-App oder verwende den unten gezeigten Schlüssel für die Einrichtung und gib dann den generierten Verifizierungscode ein:" -#: src/component/navigation.vue:461 +#: src/component/navigation.vue:463 msgid "Scans" msgstr "Scans" -#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:377 -#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:310 +#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:381 +#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:313 msgid "Scope" msgstr "Berechtigung" -#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:62 -#: src/component/navigation.vue:342 src/component/navigation.vue:1866 -#: src/component/photo/toolbar.vue:57 src/options/options.js:197 -#: src/page/albums.vue:100 src/page/labels.vue:77 +#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:69 +#: src/component/location/dialog.vue:133 src/component/navigation.vue:343 +#: src/component/navigation.vue:1905 src/component/photo/toolbar.vue:57 +#: src/options/options.js:197 src/page/albums.vue:100 src/page/labels.vue:77 #: src/page/library/errors.vue:76 src/page/people/recognized.vue:66 #: src/page/places.vue:79 src/page/settings/content.vue:235 msgid "Search" @@ -2660,11 +2695,11 @@ msgstr "Datum auswählen" msgid "Select dates" msgstr "Daten auswählen" -#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:154 +#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:156 msgid "Select or create an album" msgstr "Album auswählen oder erstellen" -#: src/component/upload/dialog.vue:138 +#: src/component/upload/dialog.vue:140 msgid "Select the files to upload…" msgstr "Wähle Dateien zum Hochladen aus…" @@ -2692,7 +2727,7 @@ msgstr "Auswahl wiederhergestellt" msgid "Sequential Name" msgstr "Fortlaufender Name" -#: src/component/service/add.vue:67 src/component/service/edit.vue:322 +#: src/component/service/add.vue:68 src/component/service/edit.vue:323 #: src/component/share/dialog.vue:25 msgid "Service URL" msgstr "Dienst-URL" @@ -2701,7 +2736,7 @@ msgstr "Dienst-URL" msgid "Services" msgstr "Dienste" -#: src/model/session.js:107 src/options/auth.js:41 src/options/auth.js:90 +#: src/model/session.js:107 src/options/auth.js:42 src/options/auth.js:91 msgid "Session" msgstr "Session" @@ -2709,7 +2744,7 @@ msgstr "Session" msgid "Session ID" msgstr "Session-ID" -#: src/page/admin.vue:45 +#: src/page/admin.vue:44 msgid "Sessions" msgstr "Sessions" @@ -2717,22 +2752,22 @@ msgstr "Sessions" msgid "Set as Album Cover" msgstr "Als Albumcover verwenden" -#: src/app/routes.js:101 src/app/routes.js:492 src/app/routes.js:504 -#: src/app/routes.js:521 src/app/routes.js:534 src/app/routes.js:547 -#: src/component/navigation.vue:1394 src/component/navigation.vue:1806 +#: src/app/routes.js:101 src/app/routes.js:500 src/app/routes.js:512 +#: src/app/routes.js:529 src/app/routes.js:542 src/app/routes.js:555 +#: src/component/navigation.vue:1419 src/component/navigation.vue:1841 msgid "Settings" msgstr "Einstellungen" #: src/page/settings/account.vue:115 src/page/settings/account.vue:144 -#: src/component/settings/passcode.vue:147 +#: src/component/settings/passcode.vue:151 msgid "Settings saved" msgstr "Einstellungen gespeichert" -#: src/component/service/upload.vue:131 src/component/settings/passcode.vue:160 +#: src/component/service/upload.vue:132 src/component/settings/passcode.vue:163 msgid "Setup" msgstr "Einrichten" -#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:98 +#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:103 #: src/component/photo/clipboard.vue:51 src/page/settings/general.vue:382 msgid "Share" msgstr "Teilen" @@ -2749,7 +2784,7 @@ msgstr "Teile Bilder mit anderen Anwendungen und Diensten." msgid "Show" msgstr "Anzeigen" -#: src/page/people/new.vue:116 src/page/people/new.vue:233 +#: src/page/people/new.vue:116 src/page/people/new.vue:235 msgid "Show all new faces" msgstr "Alle neuen Gesichter anzeigen" @@ -2794,7 +2829,7 @@ msgid "Similar" msgstr "Ähnlich" #: src/component/photo/edit/files.vue:51 src/component/photo/edit/files.vue:341 -#: src/component/service/edit.vue:139 src/component/sidebar/info.vue:96 +#: src/component/service/edit.vue:140 src/component/sidebar/info.vue:96 msgid "Size" msgstr "Größe" @@ -2822,7 +2857,7 @@ msgstr "Es ist ein Fehler aufgetreten, bitte erneut versuchen" msgid "Sort by" msgstr "Sortieren nach" -#: src/component/album/edit/dialog.vue:142 src/component/photo/toolbar.vue:288 +#: src/component/album/edit/dialog.vue:143 src/component/photo/toolbar.vue:290 #: src/page/albums.vue:214 msgid "Sort Order" msgstr "Sortierung" @@ -2857,7 +2892,7 @@ msgstr "Aufnahmen mit übereinstimmenden Metadaten gruppieren." msgid "Stackable" msgstr "Stapelbar" -#: src/component/navigation.vue:421 src/page/settings/content.vue:136 +#: src/component/navigation.vue:423 src/page/settings/content.vue:136 msgid "Stacks" msgstr "Bildstapel" @@ -2885,16 +2920,16 @@ msgstr "Speicherort" msgid "Streets" msgstr "Straßen" -#: src/component/photo/edit/details.vue:494 +#: src/component/photo/edit/details.vue:468 #: src/component/photo/edit/labels.vue:44 msgid "Subject" msgstr "Bildinhalt" -#: src/page/about/feedback.vue:162 src/page/about/feedback.vue:163 +#: src/page/about/feedback.vue:163 src/page/about/feedback.vue:164 msgid "Submit" msgstr "Absenden" -#: src/component/settings/passcode.vue:132 +#: src/component/settings/passcode.vue:136 msgid "Successfully activated" msgstr "Erfolgreich aktiviert" @@ -2903,23 +2938,23 @@ msgid "Successfully Connected" msgstr "Erfolgreich verbunden" #: src/component/session/remove/dialog.vue:32 -#: src/component/settings/apps.vue:218 +#: src/component/settings/apps.vue:222 msgid "Successfully deleted" msgstr "Erfolgreich gelöscht" -#: src/component/settings/passcode.vue:107 +#: src/component/settings/passcode.vue:108 msgid "Successfully verified" msgstr "Erfolgreich verifiziert" -#: src/component/user/edit/dialog.vue:398 src/page/admin/users.vue:163 +#: src/component/user/edit/dialog.vue:399 src/page/admin/users.vue:165 msgid "Super Admin" msgstr "Super-Admin" -#: src/component/service/add.vue:122 +#: src/component/service/add.vue:123 msgid "Support for additional services, like Google Drive, will be added over time." msgstr "Die Unterstützung weiterer Dienste, wie Google Drive, ist geplant." -#: src/component/confirm/sponsor.vue:37 src/component/navigation.vue:1629 +#: src/component/confirm/sponsor.vue:38 src/component/navigation.vue:1660 msgid "Support Our Mission" msgstr "Unterstütze unsere Mission" @@ -2927,7 +2962,7 @@ msgstr "Unterstütze unsere Mission" msgid "Sync" msgstr "Sync" -#: src/component/service/edit.vue:289 +#: src/component/service/edit.vue:290 msgid "Sync raw and video files" msgstr "RAWs und Videos kopieren" @@ -2953,23 +2988,23 @@ msgstr "Gelände" msgid "Text" msgstr "Text" -#: src/component/photo/edit/details.vue:32 src/page/people/new.vue:71 +#: src/component/photo/edit/details.vue:40 src/page/people/new.vue:71 msgid "Text too long" msgstr "Text ist zu lang" -#: src/page/about/about.vue:145 +#: src/page/about/about.vue:146 msgid "Thank You for Your Support!" msgstr "Vielen Dank für deine Unterstützung!" -#: src/page/about/about.vue:79 src/page/about/about.vue:85 +#: src/page/about/about.vue:80 src/page/about/about.vue:86 msgid "That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality." msgstr "Deshalb wurde PhotoPrism von Grund auf so entwickelt, dass es überall dort läuft, wo du es benötigst, ohne Kompromisse bei Freiheit, Privatsphäre oder Funktionalität einzugehen." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "The index currently contains %{n} hidden files." msgstr "Der Index enthält momentan %{n} verborgene Dateien." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates." msgstr "Ihr Format wird möglicherweise nicht unterstützt, es handelt sich um Duplikate oder sie wurden noch nicht nach JPEG konvertiert." @@ -2984,44 +3019,44 @@ msgstr "Theme" msgid "This field is required" msgstr "Dieses Feld ist erforderlich" -#: src/component/settings/webdav.vue:100 src/page/settings/services.vue:144 +#: src/component/settings/webdav.vue:101 src/page/settings/services.vue:147 msgid "This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local." msgstr "Dabei werden die Dateien als Netzwerk-Ordner auf deinem Computer oder Smartphone eingebunden, so dass sie lokal geöffnet, bearbeitet und gelöscht werden können." -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Time UTC" msgstr "Zeit UTC" -#: src/component/photo/edit/details.vue:219 src/page/settings/general.vue:108 +#: src/component/photo/edit/details.vue:221 src/page/settings/general.vue:108 msgid "Time Zone" msgstr "Zeitzone" -#: src/component/service/edit.vue:408 +#: src/component/service/edit.vue:409 msgid "Timeout" msgstr "Timeout" -#: src/component/user/edit/dialog.vue:98 src/component/user/edit/dialog.vue:99 +#: src/component/user/edit/dialog.vue:99 src/component/user/edit/dialog.vue:100 #: src/page/settings/account.vue:84 src/page/settings/account.vue:86 msgctxt "Account" msgid "Title" msgstr "Titel" -#: src/component/photo/edit/details.vue:73 +#: src/component/photo/edit/details.vue:75 msgctxt "Photo" msgid "Title" msgstr "Titel" -#: src/component/photo/edit/info.vue:59 src/component/photo/edit/info.vue:155 +#: src/component/photo/edit/info.vue:61 src/component/photo/edit/info.vue:155 #: src/component/photo/edit/labels.vue:40 src/component/photo/view/list.vue:114 #: src/component/sidebar/info.vue:57 msgid "Title" msgstr "Titel" -#: src/page/settings/account.vue:553 src/page/settings/account.vue:555 +#: src/page/settings/account.vue:559 src/page/settings/account.vue:561 msgid "Title / Position" msgstr "Titel / Position" -#: src/page/albums.vue:83 +#: src/page/albums.vue:84 msgid "Title too long" msgstr "Titel zu lang" @@ -3029,19 +3064,19 @@ msgstr "Titel zu lang" msgid "to" msgstr "nach" -#: src/component/settings/passcode.vue:312 +#: src/component/settings/passcode.vue:315 msgid "To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place." msgstr "Um zu verhindern, dass du den Zugriff auf dein Konto verlierst, lade bitte diesen Wiederherstellungscode jetzt herunter, drucke ihn aus oder kopiere ihn und bewahre ihn an einem sicheren Ort auf." -#: src/component/settings/apps.vue:272 +#: src/component/settings/apps.vue:275 msgid "To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:" msgstr "Zum Generieren eines neuen app-spezifischen Passworts gib bitte den Namen und den Berechtigungsumfang der Anwendung ein und wähle ein Ablaufdatum:" -#: src/component/settings/passcode.vue:400 +#: src/component/settings/passcode.vue:403 msgid "To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:" msgstr "Um zu einer neuen Authenticator-App bzw. einem neuen Gerät zu wechseln, deaktiviere zunächst die Zwei-Faktor-Authentifizierung und aktiviere sie dann wieder:" -#: src/page/connect.vue:221 src/page/connect.vue:230 +#: src/page/connect.vue:223 src/page/connect.vue:232 msgid "To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:" msgstr "Um ein Upgrade durchzuführen, kannst du entweder einen Aktivierungscode eingeben oder auf \"Registrieren\" klicken, um dich auf unserer Website anzumelden:" @@ -3049,7 +3084,7 @@ msgstr "Um ein Upgrade durchzuführen, kannst du entweder einen Aktivierungscode msgid "Today" msgstr "Heute" -#: src/component/album/toolbar.vue:70 src/component/photo/toolbar.vue:78 +#: src/component/album/toolbar.vue:71 src/component/photo/toolbar.vue:78 msgid "Toggle View" msgstr "Ansicht wechseln" @@ -3076,20 +3111,24 @@ msgstr "Fehlersuche" msgid "Try again using other filters or keywords." msgstr "Versuche es mit anderen Filtern oder Suchbegriffen." -#: src/component/settings/passcode.vue:380 +#: src/component/settings/passcode.vue:383 msgid "Two-factor authentication has been enabled for your account." msgstr "Die Zwei-Faktor-Authentifizierung wurde für dein Konto aktiviert." #: src/component/photo/edit/files.vue:58 src/component/photo/edit/files.vue:330 -#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:388 +#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:389 msgid "Type" msgstr "Typ" -#: src/options/auth.js:13 +#: src/component/album/toolbar.vue:178 +msgid "Unable to delete" +msgstr "Kann nicht gelöscht werden" + +#: src/options/auth.js:14 msgid "Unauthorized" msgstr "Unbefugte" -#: src/component/photo/edit/people.vue:94 +#: src/component/photo/edit/people.vue:95 msgid "Undo" msgstr "Rückgängig machen" @@ -3097,16 +3136,16 @@ msgstr "Rückgängig machen" msgid "Unique ID" msgstr "Eindeutige Bild-ID" -#: src/page/settings/account.vue:451 src/page/settings/account.vue:476 -#: src/page/settings/account.vue:501 src/common/util.js:487 -#: src/component/photo/edit/details.vue:21 -#: src/component/photo/edit/details.vue:111 -#: src/component/photo/edit/details.vue:138 -#: src/component/photo/edit/details.vue:164 src/component/sidebar/info.vue:43 -#: src/model/album.js:193 src/model/photo.js:323 src/model/photo.js:784 -#: src/model/photo.js:809 src/model/photo.js:832 src/model/photo.js:850 -#: src/model/photo.js:897 src/model/photo.js:905 src/model/photo.js:994 -#: src/model/photo.js:1016 src/model/photo.js:1061 src/model/photo.js:1074 +#: src/page/settings/account.vue:457 src/page/settings/account.vue:482 +#: src/page/settings/account.vue:507 src/common/util.js:488 +#: src/component/photo/edit/details.vue:27 +#: src/component/photo/edit/details.vue:113 +#: src/component/photo/edit/details.vue:140 +#: src/component/photo/edit/details.vue:166 src/component/sidebar/info.vue:43 +#: src/model/album.js:193 src/model/photo.js:331 src/model/photo.js:821 +#: src/model/photo.js:846 src/model/photo.js:869 src/model/photo.js:887 +#: src/model/photo.js:934 src/model/photo.js:942 src/model/photo.js:1031 +#: src/model/photo.js:1053 src/model/photo.js:1098 src/model/photo.js:1111 #: src/model/user.js:157 src/options/options.js:51 src/options/options.js:69 #: src/options/options.js:86 src/options/options.js:100 #: src/options/options.js:112 src/page/library/errors.vue:251 @@ -3119,7 +3158,7 @@ msgstr "Unbekannt" msgid "Unregistered" msgstr "Unregistriert" -#: src/app/routes.js:215 src/component/navigation.vue:644 +#: src/app/routes.js:223 src/component/navigation.vue:648 msgid "Unsorted" msgstr "Unsortiert" @@ -3127,7 +3166,7 @@ msgstr "Unsortiert" msgid "Unstack" msgstr "Nicht stapeln" -#: src/component/photo/edit/files.vue:519 src/component/photo/edit/info.vue:416 +#: src/component/photo/edit/files.vue:521 src/component/photo/edit/info.vue:416 msgid "Updated" msgstr "Geändert" @@ -3143,7 +3182,7 @@ msgstr "Aktualisiere Index" msgid "Updating moments" msgstr "Aktualisiere Ereignisse" -#: src/component/user/edit/dialog.vue:154 +#: src/component/user/edit/dialog.vue:155 msgid "Updating picture…" msgstr "Bild wird aktualisiert…" @@ -3155,21 +3194,21 @@ msgstr "Aktualisiere Vorschaubilder" msgid "Updating stacks" msgstr "Aktualisiere Bildstapel" -#: src/page/connect.vue:57 src/component/navigation.vue:1500 -#: src/component/navigation.vue:1614 src/component/navigation.vue:1999 +#: src/page/connect.vue:57 src/component/navigation.vue:1526 +#: src/component/navigation.vue:1644 src/component/navigation.vue:2047 #: src/page/connect.vue:58 msgid "Upgrade" msgstr "Upgraden" -#: src/page/about/about.vue:123 src/page/connect.vue:202 -#: src/component/confirm/sponsor.vue:98 src/page/about/about.vue:113 -#: src/page/connect.vue:206 +#: src/page/about/about.vue:124 src/page/connect.vue:204 +#: src/component/confirm/sponsor.vue:99 src/page/about/about.vue:114 +#: src/page/connect.vue:208 msgid "Upgrade Now" msgstr "Jetzt upgraden" -#: src/component/album/toolbar.vue:108 src/component/navigation.vue:1824 -#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:144 -#: src/component/upload/dialog.vue:51 src/page/albums.vue:183 +#: src/component/album/toolbar.vue:113 src/component/navigation.vue:1860 +#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:145 +#: src/component/upload/dialog.vue:51 src/page/albums.vue:185 #: src/page/labels.vue:122 src/page/library/import.vue:133 #: src/page/settings/general.vue:307 src/page/settings/services.vue:38 msgid "Upload" @@ -3179,21 +3218,21 @@ msgstr "Upload" msgid "Upload complete" msgstr "Vollständig hochgeladen" -#: src/component/upload/dialog.vue:133 +#: src/component/upload/dialog.vue:135 msgid "Upload complete. Indexing…" msgstr "Upload abgeschlossen. Indexiere…" #: src/component/upload/dialog.vue:296 src/component/upload/dialog.vue:315 -#: src/component/upload/dialog.vue:129 +#: src/component/upload/dialog.vue:131 msgid "Upload failed" msgstr "Upload fehlgeschlagen" -#: src/component/service/edit.vue:257 +#: src/component/service/edit.vue:258 msgid "Upload local files" msgstr "Dateien hochladen" -#: src/component/user/edit/dialog.vue:380 #: src/component/user/edit/dialog.vue:381 +#: src/component/user/edit/dialog.vue:382 msgid "Upload Path" msgstr "Upload-Verzeichnis" @@ -3201,7 +3240,7 @@ msgstr "Upload-Verzeichnis" msgid "Upload to WebDAV and share links with friends." msgstr "Teile Bilder, Videos und Alben mit Freunden." -#: src/component/upload/dialog.vue:131 +#: src/component/upload/dialog.vue:133 msgid "Uploading %{n} of %{t}…" msgstr "Datei %{n} von %{t} wird hochgeladen…" @@ -3214,7 +3253,7 @@ msgstr "Bilder werden hochgeladen…" msgid "Uploading…" msgstr "Wird hochgeladen…" -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Uploads that may contain such images will be rejected automatically." msgstr "Diese werden automatisch erkannt und gelöscht." @@ -3222,7 +3261,7 @@ msgstr "Diese werden automatisch erkannt und gelöscht." msgid "Use Presets" msgstr "Presets anwenden" -#: src/component/settings/passcode.vue:283 +#: src/component/settings/passcode.vue:286 msgid "Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:" msgstr "Verwende den folgenden Wiederherstellungscode, um auf dein Konto zuzugreifen, wenn du mit deinem Authenticator keinen gültigen Verifizierungscode generieren kannst:" @@ -3230,12 +3269,12 @@ msgstr "Verwende den folgenden Wiederherstellungscode, um auf dein Konto zuzugre msgid "Use your recovery code or contact an administrator for help." msgstr "Verwende deinen Wiederherstellungscode oder bitte einen Administrator um Hilfe." -#: src/options/admin.js:10 src/page/admin/sessions.vue:59 -#: src/page/admin/sessions.vue:242 src/model/user.js:361 src/options/auth.js:7 +#: src/options/admin.js:14 src/page/admin/sessions.vue:59 +#: src/page/admin/sessions.vue:243 src/model/user.js:361 src/options/auth.js:8 msgid "User" msgstr "Benutzer" -#: src/component/navigation.vue:1979 +#: src/component/navigation.vue:2025 msgid "User Guide" msgstr "Benutzerhandbuch" @@ -3243,14 +3282,14 @@ msgstr "Benutzerhandbuch" msgid "User Interface" msgstr "Benutzeroberfläche" -#: src/component/user/add/dialog.vue:87 src/component/user/add/dialog.vue:88 -#: src/page/admin/sessions.vue:220 src/page/admin/users.vue:71 -#: src/component/service/add.vue:85 src/component/service/edit.vue:337 +#: src/component/user/add/dialog.vue:88 src/component/user/add/dialog.vue:89 +#: src/page/admin/sessions.vue:221 src/page/admin/users.vue:73 +#: src/component/service/add.vue:86 src/component/service/edit.vue:338 #: src/component/share/dialog.vue:26 msgid "Username" msgstr "Benutzername" -#: src/component/navigation.vue:1435 +#: src/component/navigation.vue:1461 msgid "Users" msgstr "Benutzer" @@ -3260,18 +3299,18 @@ msgstr "Benutzer" msgid "Vector" msgstr "Vektor" -#: src/component/navigation.vue:440 +#: src/component/navigation.vue:442 msgid "Vectors" msgstr "Vektorgrafiken" -#: src/component/settings/passcode.vue:227 src/page/auth/login.vue:144 +#: src/component/settings/passcode.vue:230 src/page/auth/login.vue:144 msgid "Verification Code" msgstr "Verifizierungscode" #: src/component/photo/view/cards.vue:363 #: src/component/photo/view/cards.vue:491 src/component/photo/view/list.vue:190 #: src/component/photo/view/mosaic.vue:207 src/model/file.js:221 -#: src/model/photo.js:921 src/model/photo.js:939 src/options/options.js:293 +#: src/model/photo.js:958 src/model/photo.js:976 src/options/options.js:293 msgid "Video" msgstr "Video" @@ -3280,12 +3319,12 @@ msgstr "Video" msgid "Video Duration" msgstr "Videolänge" -#: src/app/routes.js:243 src/component/navigation.vue:728 +#: src/app/routes.js:251 src/component/navigation.vue:734 #: src/options/options.js:200 msgid "Videos" msgstr "Videos" -#: src/component/photo/toolbar.vue:261 src/component/photo/view/cards.vue:350 +#: src/component/photo/toolbar.vue:263 src/component/photo/view/cards.vue:350 #: src/component/photo/view/mosaic.vue:194 msgid "View" msgstr "Ansicht" @@ -3294,11 +3333,11 @@ msgstr "Ansicht" msgid "View search results as a list." msgstr "Suchergebnisse als Liste anzeigen." -#: src/options/admin.js:14 src/options/auth.js:8 +#: src/options/admin.js:18 src/options/auth.js:9 msgid "Viewer" msgstr "Betrachter" -#: src/page/admin/sessions.vue:271 src/options/auth.js:12 +#: src/page/admin/sessions.vue:272 src/options/auth.js:13 msgid "Visitor" msgstr "Besucher" @@ -3310,34 +3349,34 @@ msgstr "Visuelle Ähnlichkeit" msgid "Warning" msgstr "Warnung" -#: src/page/about/feedback.vue:60 +#: src/page/about/feedback.vue:61 msgid "We appreciate your feedback!" msgstr "Wir freuen uns über dein Feedback!" -#: src/page/about/feedback.vue:63 +#: src/page/about/feedback.vue:64 msgid "We do our best to respond within five business days or less." msgstr "Wir tun unser Bestes, um innerhalb von fünf Werktagen oder weniger zu antworten." -#: src/component/user/add/dialog.vue:235 src/component/user/edit/dialog.vue:415 -#: src/page/admin/users.vue:80 +#: src/component/user/add/dialog.vue:236 src/component/user/edit/dialog.vue:416 +#: src/page/admin/users.vue:82 msgid "Web Login" msgstr "Web-Login" -#: src/component/user/add/dialog.vue:248 src/component/user/edit/dialog.vue:432 -#: src/page/admin/users.vue:82 src/options/auth.js:55 src/options/auth.js:68 +#: src/component/user/add/dialog.vue:249 src/component/user/edit/dialog.vue:433 +#: src/page/admin/users.vue:84 src/options/auth.js:56 src/options/auth.js:69 #: src/options/options.js:444 msgid "WebDAV" msgstr "WebDAV" -#: src/component/settings/webdav.vue:51 +#: src/component/settings/webdav.vue:52 msgid "WebDAV clients can connect to PhotoPrism using the following URL:" msgstr "WebDAV-Clients können sich über die folgende URL mit PhotoPrism verbinden:" -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism." msgstr "WebDAV-Clients, wie der Windows Explorer von Microsoft oder der Finder von Apple, können sich direkt mit PhotoPrism verbinden." -#: src/component/service/upload.vue:50 src/component/share/dialog.vue:220 +#: src/component/service/upload.vue:51 src/component/share/dialog.vue:220 msgid "WebDAV Upload" msgstr "WebDAV Upload" @@ -3345,8 +3384,8 @@ msgstr "WebDAV Upload" msgid "WebGL support is disabled in your browser" msgstr "WebGL-Unterstützung ist in deinem Browser deaktiviert" -#: src/page/settings/account.vue:615 src/page/settings/account.vue:709 -#: src/page/settings/account.vue:601 +#: src/page/settings/account.vue:621 src/page/settings/account.vue:715 +#: src/page/settings/account.vue:607 msgid "Website" msgstr "Website" @@ -3354,12 +3393,12 @@ msgstr "Website" msgid "White" msgstr "Weiß" -#: src/page/settings/account.vue:532 +#: src/page/settings/account.vue:538 msgid "Work Details" msgstr "Berufliche Angaben" -#: src/page/settings/account.vue:500 src/component/photo/edit/details.vue:163 -#: src/component/photo/toolbar.vue:315 src/page/albums.vue:159 +#: src/page/settings/account.vue:506 src/component/photo/edit/details.vue:165 +#: src/component/photo/toolbar.vue:317 src/page/albums.vue:159 msgid "Year" msgstr "Jahr" @@ -3367,21 +3406,21 @@ msgstr "Jahr" msgid "Yellow" msgstr "Gelb" -#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:58 -#: src/component/photo/archive/dialog.vue:58 +#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:59 +#: src/component/photo/archive/dialog.vue:59 #: src/component/photo/clipboard.vue:200 src/component/photo/edit/files.vue:365 #: src/component/photo/edit/files.vue:395 #: src/component/photo/edit/files.vue:401 #: src/component/photo/edit/files.vue:407 -#: src/component/photo/edit/files.vue:510 src/component/photo/edit/info.vue:281 +#: src/component/photo/edit/files.vue:512 src/component/photo/edit/info.vue:281 #: src/component/photo/edit/info.vue:297 src/component/photo/edit/info.vue:313 #: src/component/photo/edit/info.vue:329 src/component/photo/edit/info.vue:344 -#: src/component/photo/toolbar.vue:434 +#: src/component/photo/toolbar.vue:436 msgid "Yes" msgstr "Ja" -#: src/component/confirm/sponsor.vue:59 src/page/about/about.vue:158 -#: src/page/connect.vue:315 +#: src/component/confirm/sponsor.vue:60 src/page/about/about.vue:160 +#: src/page/connect.vue:317 msgid "You are welcome to contact us at membership@photoprism.app for questions regarding your membership." msgstr "Bei Fragen zu deiner Mitgliedschaft kannst du uns gerne unter membership@photoprism.app kontaktieren." @@ -3393,7 +3432,11 @@ msgstr "Du kannst nur ein Album gleichzeitig downloaden" msgid "You can only download one label" msgstr "Es kann nur eine Kategorie gleichzeitig heruntergeladen werden" -#: src/component/upload/dialog.vue:203 +#: src/component/location/dialog.vue:178 +msgid "You can search for a location or move the marker on the map to change the position:" +msgstr "Du kannst nach einem Ort suchen oder die Markierung auf der Karte verschieben, um die Position zu ändern:" + +#: src/component/upload/dialog.vue:205 msgid "You can upload up to %{n} files for test purposes." msgstr "Du kannst bis zu %{n} Dateien für Testzwecke hochladen." @@ -3406,7 +3449,7 @@ msgstr "Es darf nur ein Eintrag ausgewählt werden" msgid "You may rescan your library to find additional faces." msgstr "Der Index kann aktualisiert werden, um weitere Gesichter zu finden." -#: src/page/connect.vue:146 src/page/connect.vue:150 +#: src/page/connect.vue:147 src/page/connect.vue:151 msgid "Your account has been successfully connected." msgstr "Dein Konto wurde erfolgreich verbunden." @@ -3414,8 +3457,8 @@ msgstr "Dein Konto wurde erfolgreich verbunden." msgid "Your browser does not support WebGL" msgstr "Dein Browser unterstützt kein WebGL" -#: src/component/confirm/sponsor.vue:43 src/page/about/about.vue:97 -#: src/page/about/about.vue:156 src/page/connect.vue:220 +#: src/component/confirm/sponsor.vue:44 src/page/about/about.vue:98 +#: src/page/about/about.vue:158 src/page/connect.vue:222 msgid "Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy." msgstr "Deine Unterstützung hilft uns, regelmäßige Updates bereitzustellen und unabhängig zu bleiben, damit wir unsere Mission erfüllen und deine Privatsphäre schützen können." @@ -3496,9 +3539,6 @@ msgstr "Herein/Herauszoomen" #~ msgid "Open Folder" #~ msgstr "Ordner öffnen" -#~ msgid "Cannot copy to clipboard" -#~ msgstr "Kann nicht in die Zwischenablage kopiert werden" - #~ msgid "Sound" #~ msgstr "Sound" @@ -4194,9 +4234,6 @@ msgstr "Herein/Herauszoomen" #~ msgid "No photos found" #~ msgstr "Keine Bilder gefunden" -#~ msgid "No results" -#~ msgstr "Keine Ergebnisse" - #~ msgid "One entry found" #~ msgstr "Ein Eintrag gefunden" diff --git a/frontend/src/locales/el.po b/frontend/src/locales/el.po index 6b686e9e0..b257cd87d 100644 --- a/frontend/src/locales/el.po +++ b/frontend/src/locales/el.po @@ -2,13 +2,13 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: ci@photoprism.app\n" -"PO-Revision-Date: 2025-04-04 08:03+0000\n" +"PO-Revision-Date: 2025-07-06 08:59+0000\n" "Last-Translator: DeepL \n" "Language: el\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.10.4\n" +"X-Generator: Weblate 5.12.2\n" "Generated-By: easygettext\n" #: src/locales.js:268 @@ -39,7 +39,7 @@ msgstr "{0} επιλεγμένο" msgid "{0}-{1} of {2}" msgstr "{0}-{1} του {2}" -#: src/page/albums.vue:612 +#: src/page/albums.vue:617 msgid "%{n} albums found" msgstr "%{n} συλλογές βρέθηκαν" @@ -47,25 +47,25 @@ msgstr "%{n} συλλογές βρέθηκαν" msgid "%{n} files uploaded" msgstr "%{n} αρχεία ανέβηκαν" -#: src/page/library/browse.vue:362 +#: src/page/library/browse.vue:364 msgid "%{n} folders found" msgstr "%{n} φάκελοι βρέθηκαν" -#: src/component/navigation.vue:1676 +#: src/component/navigation.vue:1707 msgid "%{n} GB of %{q} GB used" msgstr "%{n} GB του %{q} GB που χρησιμοποιήθηκαν" -#: src/page/labels.vue:528 +#: src/page/labels.vue:533 msgid "%{n} labels found" msgstr "%{n} ετικέτες βρέθηκαν" -#: src/page/people/new.vue:350 src/page/people/new.vue:447 -#: src/page/people/recognized.vue:536 +#: src/page/people/new.vue:350 src/page/people/new.vue:450 +#: src/page/people/recognized.vue:541 msgid "%{n} people found" msgstr "%{n} άνθρωποι βρέθηκαν" -#: src/page/album/photos.vue:308 src/page/album/photos.vue:493 -#: src/page/photos.vue:441 src/page/photos.vue:631 +#: src/page/album/photos.vue:313 src/page/album/photos.vue:504 +#: src/page/photos.vue:446 src/page/photos.vue:641 msgid "%{n} pictures found" msgstr "%{n} φωτογραφίες βρέθηκαν" @@ -85,12 +85,12 @@ msgstr "1 ώρα" msgid "12 hours" msgstr "12 ώρες" -#: src/component/user/edit/dialog.vue:452 src/page/settings/account.vue:324 -#: src/component/settings/passcode.vue:75 +#: src/component/user/edit/dialog.vue:453 src/page/settings/account.vue:325 +#: src/component/settings/passcode.vue:78 msgid "2-Factor Authentication" msgstr "Αυθεντικοποίηση 2 παραγόντων" -#: src/component/user/edit/dialog.vue:451 src/options/auth.js:46 +#: src/component/user/edit/dialog.vue:452 src/options/auth.js:47 msgid "2FA" msgstr "2FA" @@ -106,20 +106,20 @@ msgstr "Ένα κλικ θα το αντιγράψει στο πρόχειρο." msgid "A new version of %{s} is available:" msgstr "Μια νέα έκδοση του %{s} είναι διαθέσιμη:" -#: src/component/user/edit/dialog.vue:233 -#: src/component/user/edit/dialog.vue:234 src/page/about/about.vue:56 +#: src/component/user/edit/dialog.vue:234 +#: src/component/user/edit/dialog.vue:235 src/page/about/about.vue:56 #: src/page/settings/account.vue:248 src/page/settings/account.vue:249 -#: src/app/routes.js:63 src/component/navigation.vue:1521 -#: src/page/people/recognized.vue:292 +#: src/app/routes.js:63 src/component/navigation.vue:1547 +#: src/page/people/recognized.vue:296 msgid "About" msgstr "Σχετικά" -#: src/options/auth.js:26 src/options/auth.js:44 +#: src/options/auth.js:27 src/options/auth.js:45 msgid "Access Token" msgstr "Token πρόσβασης" -#: src/component/navigation.vue:87 src/component/navigation.vue:1788 -#: src/component/service/upload.vue:71 src/model/service.js:96 +#: src/component/navigation.vue:87 src/component/navigation.vue:1822 +#: src/component/service/upload.vue:72 src/model/service.js:96 #: src/model/user.js:171 src/page/settings.vue:85 #: src/page/settings/general.vue:582 msgid "Account" @@ -133,7 +133,7 @@ msgstr "Ο Λογαριασμός δημιουργήθηκε" msgid "Account deleted" msgstr "Ο Λογαριασμός διαγράφηκε" -#: src/page/admin/users.vue:335 +#: src/page/admin/users.vue:337 msgid "Account restored" msgstr "Επαναφορά λογαριασμού" @@ -154,8 +154,8 @@ msgstr "Ενέργεια" msgid "Actions" msgstr "Ενέργειες" -#: src/page/connect.vue:294 src/component/settings/passcode.vue:346 -#: src/page/connect.vue:303 +#: src/page/connect.vue:296 src/component/settings/passcode.vue:349 +#: src/page/connect.vue:305 msgid "Activate" msgstr "Ενεργοποίηση" @@ -171,20 +171,20 @@ msgstr "Ενεργοποιήστε για να ταξινομήσετε με α msgid "Activate to sort descending." msgstr "Ενεργοποιήστε για να ταξινομήσετε κατά φθίνουσα σειρά." -#: src/page/connect.vue:231 src/page/connect.vue:240 +#: src/page/connect.vue:233 src/page/connect.vue:242 msgid "Activation Code" msgstr "Κωδικός ενεργοποίησης" -#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:83 -#: src/component/settings/apps.vue:448 +#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:92 +#: src/component/settings/apps.vue:451 msgid "Add" msgstr "Προσθέστε" -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:246 msgid "Add %{s}?" msgstr "Προσθέστε %{s}?" -#: src/component/user/add/dialog.vue:56 src/component/service/add.vue:49 +#: src/component/user/add/dialog.vue:57 src/component/service/add.vue:50 msgid "Add Account" msgstr "Επεξεργασία Λογαριασμού" @@ -201,8 +201,8 @@ msgid "Add Link" msgstr "Προσθήκη Συνδέσμου" #: src/component/photo/edit/people.vue:25 -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:57 -#: src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:57 +#: src/page/people/new.vue:246 msgid "Add person?" msgstr "Προσθέστε άτομο;" @@ -218,10 +218,15 @@ msgstr "Προσθέστε εικόνες από τα αποτελέσματα msgid "Add to album" msgstr "Προσθήκη στο άλμπουμ" -#: src/component/photo/edit/files.vue:514 +#: src/component/photo/edit/files.vue:516 msgid "Added" msgstr "Προστέθηκε" +#: src/component/location/dialog.vue:68 src/component/location/dialog.vue:90 +#: src/component/photo/edit/details.vue:246 +msgid "Adjust Location" +msgstr "Ρυθμίστε την τοποθεσία" + #: src/options/admin.js:6 src/options/auth.js:6 msgid "Admin" msgstr "Διαχειριστής" @@ -242,7 +247,7 @@ msgstr "Μετά από 3 ημέρες" msgid "After 7 days" msgstr "Μετά από 7 ημέρες" -#: src/component/settings/passcode.vue:93 +#: src/component/settings/passcode.vue:96 msgid "After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:" msgstr "Αφού εισαγάγετε τον κωδικό πρόσβασής σας για επιβεβαίωση, μπορείτε να ρυθμίσετε τον έλεγχο ταυτότητας δύο παραγόντων με μια συμβατή εφαρμογή ή συσκευή ελέγχου ταυτότητας:" @@ -274,12 +279,16 @@ msgstr "Συλλογή" msgid "Album Backups" msgstr "Αντίγραφα ασφαλείας άλμπουμ" -#: src/page/albums.vue:674 +#: src/page/albums.vue:685 msgid "Album created" msgstr "Η Συλλογή δημιουργήθηκε" -#: src/app/routes.js:176 src/component/album/toolbar.vue:51 -#: src/component/navigation.vue:604 src/component/navigation.vue:1882 +#: src/page/album/photos.vue:589 +msgid "Album deleted" +msgstr "Άλμπουμ που διαγράφηκε" + +#: src/app/routes.js:184 src/component/album/toolbar.vue:55 +#: src/component/navigation.vue:607 src/component/navigation.vue:1922 #: src/component/photo/edit/info.vue:220 src/options/options.js:198 msgid "Albums" msgstr "Συλλογές" @@ -292,7 +301,7 @@ msgstr "Οι Συλλογές διαγράφηκαν" msgid "All" msgstr "Όλα" -#: src/page/albums.vue:465 +#: src/page/albums.vue:470 msgid "All %{n} albums loaded" msgstr "%{n} Συλλογές φορτώθηκαν" @@ -308,8 +317,8 @@ msgstr "%{n} άνθρωποι φορτώθηκαν" msgid "All Cameras" msgstr "Όλες οι Κάμερες" -#: src/component/photo/toolbar.vue:74 src/page/albums.vue:44 -#: src/page/albums.vue:240 src/page/albums.vue:746 +#: src/component/photo/toolbar.vue:74 src/page/albums.vue:45 +#: src/page/albums.vue:242 src/page/albums.vue:757 msgid "All Categories" msgstr "Όλες οι Κατηγορίες" @@ -341,7 +350,7 @@ msgstr "Όλοι οι Μήνες" msgid "All originals" msgstr "Όλα τα πρωτότυπα" -#: src/component/photo/toolbar.vue:76 src/page/albums.vue:93 +#: src/component/photo/toolbar.vue:76 src/page/albums.vue:94 msgid "All Years" msgstr "Όλα τα έτη" @@ -353,7 +362,7 @@ msgstr "Εναλλακτικά, μπορείτε να μεταφορτώσετε msgid "Altitude" msgstr "Υψόμετρο" -#: src/component/photo/edit/details.vue:272 +#: src/component/photo/edit/details.vue:297 msgid "Altitude (m)" msgstr "Υψόμετρο (m)" @@ -361,8 +370,7 @@ msgstr "Υψόμετρο (m)" msgid "AM" msgstr "AM" -#: src/app/routes.js:257 src/component/navigation.vue:791 -#: src/component/photo/edit/files.vue:364 +#: src/app/routes.js:265 src/component/photo/edit/files.vue:364 #: src/component/photo/view/cards.vue:327 #: src/component/photo/view/cards.vue:511 src/component/photo/view/list.vue:184 #: src/component/photo/view/mosaic.vue:171 src/options/options.js:301 @@ -373,43 +381,47 @@ msgstr "Κινούμενη εικόνα" msgid "Animation" msgstr "Κίνηση" +#: src/component/navigation.vue:797 +msgid "Animations" +msgstr "Κινούμενα σχέδια" + #: src/component/share/dialog.vue:207 msgid "Any private photos and videos remain private and won't be shared." msgstr "Οποιεσδήποτε ιδιωτικές φωτογραφίες και βίντεο παραμένουν ιδιωτικές και δεν θα κοινοποιηθούν." -#: src/component/service/edit.vue:372 +#: src/component/service/edit.vue:373 msgid "API Key" msgstr "Κλειδί API" -#: src/page/admin/sessions.vue:357 src/options/auth.js:25 +#: src/page/admin/sessions.vue:361 src/options/auth.js:26 msgid "Application" msgstr "Εφαρμογή" -#: src/component/photo/edit/details.vue:641 +#: src/component/photo/edit/details.vue:615 msgid "Apply" msgstr "Εφαρμογή" #: src/component/photo/clipboard.vue:64 -#: src/component/photo/edit/details.vue:640 +#: src/component/photo/edit/details.vue:614 #: src/component/photo/view/cards.vue:416 msgid "Approve" msgstr "Έγκριση" -#: src/page/settings/account.vue:374 src/component/settings/apps.vue:91 +#: src/page/settings/account.vue:378 src/component/settings/apps.vue:94 msgid "Apps and Devices" msgstr "Εφαρμογές και συσκευές" -#: src/app/routes.js:287 src/component/lightbox.vue:1207 -#: src/component/navigation.vue:555 src/component/photo/clipboard.vue:142 +#: src/app/routes.js:295 src/component/lightbox.vue:1207 +#: src/component/navigation.vue:557 src/component/photo/clipboard.vue:142 #: src/component/photo/view/cards.vue:398 src/page/settings/general.vue:432 msgid "Archive" msgstr "Αρχείο" -#: src/component/lightbox.vue:1982 src/component/photo/edit/info.vue:433 +#: src/component/lightbox.vue:2002 src/component/photo/edit/info.vue:433 msgid "Archived" msgstr "Αρχειοθετημένο" -#: src/component/photo/archive/dialog.vue:34 +#: src/component/photo/archive/dialog.vue:35 msgid "Are you sure you want to archive the selection?" msgstr "Είστε σίγουροι ότι θέλετε να αρχειοθετήσετε την επιλογή;" @@ -417,19 +429,23 @@ msgstr "Είστε σίγουροι ότι θέλετε να αρχειοθετ msgid "Are you sure you want to delete these albums?" msgstr "Είστε σίγουροι ότι θέλετε να διαγράψετε αυτές τις συλλογές;" -#: src/component/label/delete/dialog.vue:34 +#: src/component/label/delete/dialog.vue:35 msgid "Are you sure you want to delete these labels?" msgstr "Είστε σίγουροι ότι θέλετε να διαγράψετε αυτές τις ετικέτες;" -#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:36 +#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:37 msgid "Are you sure you want to delete this account?" msgstr "Είστε σίγουρος ότι θέλετε να διαγράψετε αυτόν τον λογαριασμό;" +#: src/component/album/toolbar.vue:136 +msgid "Are you sure you want to delete this album?" +msgstr "Είστε σίγουροι ότι θέλετε να διαγράψετε αυτό το άλμπουμ;" + #: src/component/photo/clipboard.vue:199 msgid "Are you sure you want to permanently delete these pictures?" msgstr "Είστε σίγουρος ότι θέλετε να διαγράψετε οριστικά αυτές τις φωτογραφίες;" -#: src/component/file/delete/dialog.vue:34 +#: src/component/file/delete/dialog.vue:35 msgid "Are you sure you want to permanently delete this file?" msgstr "Είστε σίγουροι ότι θέλετε να διαγράψετε οριστικά αυτό το αρχείο;" @@ -438,7 +454,7 @@ msgstr "Είστε σίγουροι ότι θέλετε να διαγράψετ msgid "Are you sure?" msgstr "Είσαι σίγουρος;" -#: src/component/photo/edit/details.vue:537 +#: src/component/photo/edit/details.vue:511 msgid "Artist" msgstr "Καλλιτέχνης" @@ -446,14 +462,14 @@ msgstr "Καλλιτέχνης" msgid "Aspect Ratio" msgstr "Αναλογία διαστάσεων" -#: src/app/routes.js:250 src/component/navigation.vue:770 +#: src/app/routes.js:258 src/component/navigation.vue:776 #: src/options/options.js:297 msgid "Audio" msgstr "Ήχος" -#: src/component/user/add/dialog.vue:190 src/component/user/edit/dialog.vue:309 -#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:281 -#: src/page/admin/users.vue:75 +#: src/component/user/add/dialog.vue:191 src/component/user/edit/dialog.vue:310 +#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:282 +#: src/page/admin/users.vue:77 msgid "Authentication" msgstr "Αυθεντικοποίηση" @@ -461,11 +477,11 @@ msgstr "Αυθεντικοποίηση" msgid "Auto" msgstr "Auto" -#: src/component/settings/apps.vue:151 +#: src/component/settings/apps.vue:154 msgid "Back" msgstr "Πίσω" -#: src/component/scroll.vue:20 +#: src/component/scroll.vue:18 msgid "Back to top" msgstr "Επιστροφή στην κορυφή" @@ -477,26 +493,26 @@ msgstr "Δημιουργία αντιγράφων ασφαλείας" msgid "Badge" msgstr "Κονκάρδα" -#: src/component/user/edit/dialog.vue:361 #: src/component/user/edit/dialog.vue:362 +#: src/component/user/edit/dialog.vue:363 msgid "Base Path" msgstr "Διαδρομή βάσης" -#: src/page/about/about.vue:95 src/page/connect.vue:220 +#: src/page/about/about.vue:96 src/page/connect.vue:222 msgid "Become a member today, support our mission and enjoy our member benefits!" msgstr "Γίνετε μέλος σήμερα, υποστηρίξτε την αποστολή μας και απολαύστε τα προνόμια των μελών μας!" -#: src/component/confirm/sponsor.vue:51 src/page/about/about.vue:99 +#: src/component/confirm/sponsor.vue:52 src/page/about/about.vue:100 msgid "Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services." msgstr "Όντας 100% αυτοχρηματοδοτούμενοι και ανεξάρτητοι, μπορούμε να σας υποσχεθούμε ότι δεν θα πουλήσουμε ποτέ τα δεδομένα σας και ότι θα είμαστε πάντα διαφανείς σχετικά με το λογισμικό και τις υπηρεσίες μας." -#: src/component/user/edit/dialog.vue:258 -#: src/component/user/edit/dialog.vue:259 src/page/settings/account.vue:227 +#: src/component/user/edit/dialog.vue:259 +#: src/component/user/edit/dialog.vue:260 src/page/settings/account.vue:227 #: src/page/settings/account.vue:228 msgid "Bio" msgstr "Βιογραφικό" -#: src/page/settings/account.vue:431 +#: src/page/settings/account.vue:437 msgid "Birth Date" msgstr "Ημερομηνία γέννησης" @@ -517,7 +533,7 @@ msgid "Brown" msgstr "Καφέ" #: src/component/photo/edit/files.vue:263 src/component/photo/toolbar.vue:141 -#: src/component/upload/dialog.vue:240 +#: src/component/upload/dialog.vue:242 msgid "Browse" msgstr "Περιήγηση στο" @@ -545,16 +561,16 @@ msgstr "Αναφορά σφάλματος" msgid "Busy, please wait…" msgstr "Απασχολημένος, παρακαλώ περιμένετε…" -#: src/page/connect.vue:317 +#: src/page/connect.vue:319 msgid "By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct." msgstr "Χρησιμοποιώντας το λογισμικό και τις υπηρεσίες που παρέχουμε, συμφωνείτε με τους όρους χρήσης, την πολιτική απορρήτου και τον κώδικα δεοντολογίας." -#: src/app/routes.js:189 src/component/navigation.vue:1081 +#: src/app/routes.js:197 src/component/navigation.vue:1097 #: src/options/options.js:204 src/page/settings/general.vue:205 msgid "Calendar" msgstr "Ημερολόγιο" -#: src/component/photo/edit/details.vue:346 src/component/photo/toolbar.vue:232 +#: src/component/photo/edit/details.vue:320 src/component/photo/toolbar.vue:234 #: src/component/photo/view/cards.vue:467 src/component/photo/view/list.vue:116 msgid "Camera" msgstr "Κάμερα" @@ -567,12 +583,12 @@ msgstr "Σειριακή κάμερα" msgid "Can't access your authenticator app or device?" msgstr "Δεν μπορείτε να αποκτήσετε πρόσβαση στην εφαρμογή ή τη συσκευή ελέγχου ταυτότητας;" -#: src/page/album/photos.vue:317 src/page/photos.vue:450 +#: src/page/album/photos.vue:322 src/page/photos.vue:455 msgid "Can't load more, limit reached" msgstr "Δεν μπορείτε να φορτώσετε περισσότερα διότι θα ξεπεράσετε το όριο" #: src/common/clipboard.js:102 src/common/clipboard.js:139 -#: src/page/albums.vue:684 src/page/albums.vue:700 src/page/labels.vue:293 +#: src/page/albums.vue:695 src/page/albums.vue:711 src/page/labels.vue:293 #: src/page/labels.vue:313 src/page/library/browse.vue:233 #: src/page/library/browse.vue:249 src/page/people/new.vue:278 #: src/page/people/new.vue:294 src/page/people/recognized.vue:305 @@ -581,26 +597,31 @@ msgid "Can't select more items" msgstr "Δεν μπορείτε να επιλέξετε περισσότερα αντικείμενα" #: src/component/session/remove/dialog.vue:45 -#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:473 -#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:119 +#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:474 +#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:120 #: src/component/album/delete/dialog.vue:43 -#: src/component/album/edit/dialog.vue:199 src/component/confirm/dialog.vue:43 -#: src/component/file/delete/dialog.vue:47 -#: src/component/label/delete/dialog.vue:47 -#: src/component/label/edit/dialog.vue:107 -#: src/component/people/edit/dialog.vue:120 +#: src/component/album/edit/dialog.vue:200 src/component/confirm/dialog.vue:43 +#: src/component/file/delete/dialog.vue:48 +#: src/component/label/delete/dialog.vue:48 +#: src/component/label/edit/dialog.vue:108 +#: src/component/location/dialog.vue:200 +#: src/component/people/edit/dialog.vue:121 #: src/component/photo/album/dialog.vue:78 src/component/service/add.vue:19 -#: src/component/service/edit.vue:455 src/component/service/remove.vue:49 -#: src/component/service/upload.vue:117 src/component/settings/apps.vue:352 -#: src/component/settings/passcode.vue:249 -#: src/component/settings/passcode.vue:333 -#: src/component/settings/password.vue:159 src/component/share/dialog.vue:28 -#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:123 +#: src/component/service/edit.vue:456 src/component/service/remove.vue:50 +#: src/component/service/upload.vue:118 src/component/settings/apps.vue:355 +#: src/component/settings/passcode.vue:252 +#: src/component/settings/passcode.vue:336 +#: src/component/settings/password.vue:160 src/component/share/dialog.vue:28 +#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:124 #: src/page/library/import.vue:119 src/page/library/index.vue:128 msgid "Cancel" msgstr "Ακύρωση" -#: src/component/photo/edit/details.vue:87 src/component/photo/edit/info.vue:61 +#: src/common/util.js:863 src/common/util.js:870 +msgid "Cannot copy to clipboard" +msgstr "Δεν είναι δυνατή η αντιγραφή στο πρόχειρο" + +#: src/component/photo/edit/details.vue:89 src/component/photo/edit/info.vue:63 #: src/component/photo/edit/labels.vue:42 #: src/component/photo/view/cards.vue:445 src/component/sidebar/info.vue:72 msgid "Caption" @@ -614,17 +635,17 @@ msgstr "Κάρτες" msgid "Carousel slide {0} of {1}" msgstr "Καρουσέλ διαφάνεια {0} του {1}" -#: src/page/about/feedback.vue:82 src/page/about/feedback.vue:83 -#: src/component/album/edit/dialog.vue:128 src/component/photo/toolbar.vue:397 +#: src/page/about/feedback.vue:83 src/page/about/feedback.vue:84 +#: src/component/album/edit/dialog.vue:129 src/component/photo/toolbar.vue:399 #: src/page/albums.vue:187 msgid "Category" msgstr "Κατηγορία" -#: src/component/user/edit/dialog.vue:191 src/page/settings/account.vue:201 +#: src/component/user/edit/dialog.vue:192 src/page/settings/account.vue:201 msgid "Change Avatar" msgstr "Αλλαγή Άβαταρ" -#: src/page/settings/account.vue:297 src/component/settings/password.vue:48 +#: src/page/settings/account.vue:297 src/component/settings/password.vue:49 msgid "Change Password" msgstr "Νέος κωδικός πρόσβασης" @@ -641,17 +662,17 @@ msgid "Change private flag" msgstr "Αλλαγή ιδιωτικής κατάστασης" #: src/component/user/add/dialog.vue:108 src/component/user/add/dialog.vue:113 -#: src/component/user/edit/dialog.vue:90 src/component/user/edit/dialog.vue:95 +#: src/component/user/edit/dialog.vue:91 src/component/user/edit/dialog.vue:96 #: src/page/settings/account.vue:121 src/page/settings/account.vue:126 msgid "Changes could not be saved" msgstr "Οι αλλαγές δεν μπόρεσαν να αποθηκευτούν" -#: src/component/user/edit/dialog.vue:83 src/component/user/edit/dialog.vue:159 +#: src/component/user/edit/dialog.vue:84 src/component/user/edit/dialog.vue:160 #: src/component/album/edit/dialog.vue:73 -#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1941 +#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1961 #: src/component/photo/edit/files.vue:162 src/component/service/edit.vue:90 #: src/component/share/dialog.vue:92 src/component/share/dialog.vue:111 -#: src/page/albums.vue:677 src/page/people/recognized.vue:119 +#: src/page/albums.vue:688 src/page/people/recognized.vue:119 #: src/page/settings/advanced.vue:62 src/page/settings/content.vue:62 #: src/page/settings/general.vue:108 msgid "Changes successfully saved" @@ -665,7 +686,7 @@ msgstr "Οι αλλαγές στις ρυθμίσεις για προχωρημ msgid "Checked" msgstr "Σημειωμένο" -#: src/component/photo/edit/files.vue:495 +#: src/component/photo/edit/files.vue:497 msgid "Chroma" msgstr "Χρώμα" @@ -681,24 +702,24 @@ msgstr "Καθαρισμός" msgid "Clear {0}" msgstr "Clear {0}" -#: src/options/auth.js:11 src/options/auth.js:23 src/options/auth.js:43 +#: src/options/auth.js:12 src/options/auth.js:24 src/options/auth.js:44 msgid "Client" msgstr "Πελάτης" -#: src/options/auth.js:24 +#: src/options/auth.js:25 msgid "Client Credentials" msgstr "Διαπιστευτήρια πελάτη" -#: src/page/admin/sessions.vue:529 src/component/lightbox.vue:284 -#: src/component/lightbox.vue:1009 src/component/lightbox.vue:1010 -#: src/component/photo/edit/details.vue:627 src/component/photo/toolbar.vue:160 -#: src/component/settings/apps.vue:224 src/component/settings/apps.vue:437 -#: src/component/settings/passcode.vue:148 -#: src/component/settings/passcode.vue:456 -#: src/component/settings/passcode.vue:497 -#: src/component/settings/webdav.vue:131 src/component/share/dialog.vue:231 +#: src/component/user/edit/dialog.vue:474 src/page/admin/sessions.vue:536 +#: src/component/lightbox.vue:284 src/component/lightbox.vue:1009 +#: src/component/lightbox.vue:1010 src/component/photo/edit/details.vue:601 +#: src/component/photo/toolbar.vue:161 src/component/settings/apps.vue:227 +#: src/component/settings/apps.vue:440 src/component/settings/passcode.vue:151 +#: src/component/settings/passcode.vue:459 +#: src/component/settings/passcode.vue:500 +#: src/component/settings/webdav.vue:132 src/component/share/dialog.vue:231 #: src/component/sidebar/info.vue:26 src/component/update.vue:57 -#: src/component/upload/dialog.vue:228 src/locales.js:206 +#: src/component/upload/dialog.vue:230 src/locales.js:206 #: src/page/library/errors.vue:253 msgid "Close" msgstr "Κλείσιμο" @@ -707,11 +728,11 @@ msgstr "Κλείσιμο" msgid "Codec" msgstr "Codec" -#: src/component/photo/toolbar.vue:369 +#: src/component/photo/toolbar.vue:371 msgid "Color" msgstr "Χρώμα" -#: src/component/photo/edit/files.vue:483 +#: src/component/photo/edit/files.vue:485 msgid "Color Profile" msgstr "Προφίλ χρώματος" @@ -719,7 +740,7 @@ msgstr "Προφίλ χρώματος" msgid "Colors" msgstr "Χρώματα" -#: src/page/connect.vue:260 src/page/connect.vue:269 +#: src/page/connect.vue:262 src/page/connect.vue:271 msgid "Compare Editions" msgstr "Σύγκριση εκδόσεων" @@ -732,17 +753,18 @@ msgstr "Πλήρης σάρωση" msgid "Confidence" msgstr "Εμπιστοσύνη" +#: src/component/location/dialog.vue:212 #: src/component/photo/album/dialog.vue:90 -#: src/component/settings/passcode.vue:261 +#: src/component/settings/passcode.vue:264 msgid "Confirm" msgstr "Επιβεβαιώνω" -#: src/component/service/add.vue:20 src/page/settings/services.vue:187 +#: src/component/service/add.vue:20 src/page/settings/services.vue:191 msgid "Connect" msgstr "Σύνδεση" -#: src/page/settings/account.vue:401 src/component/settings/webdav.vue:45 -#: src/page/settings/services.vue:167 +#: src/page/settings/account.vue:406 src/component/settings/webdav.vue:46 +#: src/page/settings/services.vue:170 msgid "Connect via WebDAV" msgstr "Σύνδεση μέσω WebDAV" @@ -750,22 +772,22 @@ msgstr "Σύνδεση μέσω WebDAV" msgid "Connected" msgstr "Σύνδεση" -#: src/page/settings/account.vue:640 src/page/settings/account.vue:532 +#: src/page/settings/account.vue:646 src/page/settings/account.vue:538 msgid "Contact Details" msgstr "Στοιχεία Επικοινωνίας" -#: src/page/about/feedback.vue:37 src/page/connect.vue:132 -#: src/page/connect.vue:136 +#: src/page/about/feedback.vue:37 src/page/connect.vue:133 +#: src/page/connect.vue:137 msgid "Contact Us" msgstr "Επικοινωνήστε μαζί μας" #: src/page/albums.vue:433 src/page/labels.vue:237 -#: src/page/people/recognized.vue:306 +#: src/page/people/recognized.vue:310 msgid "Contains %{n} pictures." msgstr "Περιέχει %{n} εικόνες." #: src/page/albums.vue:427 src/page/labels.vue:231 -#: src/page/people/recognized.vue:300 +#: src/page/people/recognized.vue:304 msgid "Contains one picture." msgstr "Περιέχει μία εικόνα." @@ -773,7 +795,7 @@ msgstr "Περιέχει μία εικόνα." msgid "Content" msgstr "Περιεχόμενο" -#: src/component/settings/apps.vue:163 +#: src/component/settings/apps.vue:166 msgid "Continue" msgstr "Να συνεχίσει" @@ -781,7 +803,7 @@ msgstr "Να συνεχίσει" msgid "Continue with %{provider}" msgstr "Συνεχίστε με %{provider}" -#: src/options/admin.js:18 src/options/auth.js:9 +#: src/options/admin.js:22 src/options/auth.js:10 msgid "Contributor" msgstr "Συντελεστής" @@ -789,15 +811,15 @@ msgstr "Συντελεστής" msgid "Converting" msgstr "Μετατροπή" -#: src/common/util.js:846 +#: src/common/util.js:856 msgid "Copied to clipboard" msgstr "Αντιγραφή στο πρόχειρο" -#: src/component/settings/apps.vue:250 src/component/settings/passcode.vue:358 +#: src/component/settings/apps.vue:253 src/component/settings/passcode.vue:361 msgid "Copy" msgstr "αντίγραφο" -#: src/component/photo/edit/details.vue:516 +#: src/component/photo/edit/details.vue:490 msgid "Copyright" msgstr "Πνευματικά δικαιώματα" @@ -805,8 +827,8 @@ msgstr "Πνευματικά δικαιώματα" msgid "Couldn't find anything." msgstr "Δεν μπόρεσα να βρω τίποτα." -#: src/page/settings/account.vue:685 src/component/photo/edit/details.vue:242 -#: src/component/photo/toolbar.vue:203 src/page/settings/account.vue:577 +#: src/page/settings/account.vue:691 src/component/photo/edit/details.vue:268 +#: src/component/photo/toolbar.vue:205 src/page/settings/account.vue:583 msgid "Country" msgstr "Χώρα" @@ -830,7 +852,7 @@ msgstr "Δημιουργήστε αρχεία YAML για τη δημιουργ msgid "Create YAML sidecar files to back up picture metadata." msgstr "Δημιουργία αρχείων YAML sidecar για τη δημιουργία αντιγράφων ασφαλείας μεταδεδομένων εικόνας." -#: src/page/admin/sessions.vue:417 src/component/photo/edit/info.vue:412 +#: src/page/admin/sessions.vue:422 src/component/photo/edit/info.vue:412 msgid "Created" msgstr "Δημιουργήθηκε" @@ -842,11 +864,11 @@ msgstr "Δημιουργία μικρογραφιών για" msgid "Cubic: Moderate Quality, Good Performance" msgstr "Κυβικό: Μέτρια ποιότητα, καλή επίδοση" -#: src/component/settings/password.vue:85 +#: src/component/settings/password.vue:86 msgid "Current Password" msgstr "Τρέχων κωδικός πρόσβασης" -#: src/options/themes.js:919 src/options/themes.js:928 +#: src/options/themes.js:920 src/options/themes.js:929 msgid "Custom" msgstr "Προσαρμοσμένο" @@ -862,11 +884,11 @@ msgstr "Καθημερινά" msgid "Database Backups" msgstr "Αντίγραφα ασφαλείας βάσης δεδομένων" -#: src/page/settings/account.vue:450 src/component/photo/edit/details.vue:110 +#: src/page/settings/account.vue:456 src/component/photo/edit/details.vue:112 msgid "Day" msgstr "Ημέρα" -#: src/component/settings/passcode.vue:445 +#: src/component/settings/passcode.vue:448 msgid "Deactivate" msgstr "Απενεργοποίηση" @@ -874,36 +896,40 @@ msgstr "Απενεργοποίηση" msgid "Debug Logs" msgstr "Αρχεία καταγραφής σφαλμάτων" -#: src/options/admin.js:31 src/page/admin/sessions.vue:136 -#: src/page/admin/users.vue:176 src/component/photo/edit/info.vue:47 +#: src/options/admin.js:35 src/page/admin/sessions.vue:136 +#: src/page/admin/users.vue:178 src/component/photo/edit/info.vue:47 #: src/component/photo/edit/info.vue:110 src/model/session.js:66 -#: src/model/user.js:246 src/options/auth.js:20 src/options/auth.js:21 -#: src/options/auth.js:39 src/options/auth.js:40 src/options/options.js:196 +#: src/model/user.js:246 src/options/auth.js:21 src/options/auth.js:22 +#: src/options/auth.js:40 src/options/auth.js:41 src/options/options.js:196 #: src/options/options.js:232 src/options/options.js:316 -#: src/options/themes.js:773 +#: src/options/themes.js:774 msgid "Default" msgstr "Προεπιλογή" -#: src/component/service/edit.vue:123 +#: src/component/service/edit.vue:124 msgid "Default Folder" msgstr "Προεπιλεγμένος φάκελος" #: src/component/session/remove/dialog.vue:56 #: src/component/user/remove/dialog.vue:56 src/component/album/clipboard.vue:97 -#: src/component/album/delete/dialog.vue:54 -#: src/component/file/delete/dialog.vue:58 src/component/label/clipboard.vue:58 -#: src/component/label/delete/dialog.vue:58 +#: src/component/album/delete/dialog.vue:54 src/component/album/toolbar.vue:137 +#: src/component/file/delete/dialog.vue:59 src/component/label/clipboard.vue:58 +#: src/component/label/delete/dialog.vue:59 #: src/component/photo/clipboard.vue:168 src/component/photo/edit/files.vue:238 -#: src/component/service/remove.vue:60 src/component/share/dialog.vue:170 +#: src/component/service/remove.vue:61 src/component/share/dialog.vue:170 #: src/page/settings/general.vue:457 msgid "Delete" msgstr "Διαγραφή" +#: src/component/album/toolbar.vue:133 +msgid "Delete Album" +msgstr "Διαγραφή άλμπουμ" + #: src/component/photo/toolbar.vue:119 src/page/library/errors.vue:95 msgid "Delete All" msgstr "Διαγραφή όλων" -#: src/component/photo/toolbar.vue:433 src/page/library/errors.vue:193 +#: src/component/photo/toolbar.vue:435 src/page/library/errors.vue:193 msgid "Delete all?" msgstr "Να τα διαγράψετε όλα;" @@ -911,16 +937,16 @@ msgstr "Να τα διαγράψετε όλα;" msgid "Delete orphaned index entries, sidecar files and thumbnails." msgstr "Διαγράψτε ορφανές καταχωρήσεις ευρετηρίου, αρχεία sidecar και μικρογραφίες." -#: src/component/album/edit/dialog.vue:107 src/page/albums.vue:411 +#: src/component/album/edit/dialog.vue:108 src/page/albums.vue:411 msgid "Description" msgstr "Περιγραφή" -#: src/component/settings/webdav.vue:115 +#: src/component/settings/webdav.vue:116 msgid "Detailed instructions can be found in our User Guide." msgstr "Λεπτομερείς οδηγίες μπορείτε να βρείτε στον Οδηγό Χρήσης." -#: src/component/photo/edit/dialog.vue:156 -#: src/component/photo/edit/dialog.vue:173 +#: src/component/photo/edit/dialog.vue:162 +#: src/component/photo/edit/dialog.vue:181 msgid "Details" msgstr "Λεπτομέρειες" @@ -984,8 +1010,8 @@ msgstr "Απενεργοποιεί την υποστήριξη διανυσμα msgid "Disables video transcoding and thumbnail extraction." msgstr "Απενεργοποιεί τη μετακωδικοποίηση βίντεο και την εξαγωγή μικρογραφιών." -#: src/app/routes.js:558 src/app/routes.js:565 src/app/routes.js:572 -#: src/app/routes.js:579 +#: src/app/routes.js:566 src/app/routes.js:573 src/app/routes.js:580 +#: src/app/routes.js:587 msgid "Discover" msgstr "Ανακαλύψτε το" @@ -993,9 +1019,9 @@ msgstr "Ανακαλύψτε το" msgid "Dismiss" msgstr "Απορρίψτε το" -#: src/component/user/add/dialog.vue:133 src/component/user/add/dialog.vue:134 -#: src/component/user/edit/dialog.vue:163 -#: src/component/user/edit/dialog.vue:164 src/page/admin/users.vue:72 +#: src/component/user/add/dialog.vue:134 src/component/user/add/dialog.vue:135 +#: src/component/user/edit/dialog.vue:164 +#: src/component/user/edit/dialog.vue:165 src/page/admin/users.vue:74 #: src/page/settings/account.vue:149 src/page/settings/account.vue:151 msgid "Display Name" msgstr "Όνομα οθόνης" @@ -1010,12 +1036,12 @@ msgstr "Εμφάνιση τίτλων εικόνων στα αποτελέσμα #: src/component/photo/view/cards.vue:339 #: src/component/photo/view/cards.vue:521 -#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:174 +#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:176 #: src/options/options.js:309 msgid "Document" msgstr "Έγγραφο" -#: src/component/navigation.vue:480 +#: src/component/navigation.vue:482 msgid "Documents" msgstr "Έγγραφα" @@ -1031,16 +1057,16 @@ msgstr "Μην χρησιμοποιείτε το ImageMagick για τη μετ msgid "Don't use RawTherapee to convert RAW images." msgstr "Μην χρησιμοποιείτε το RawTherapee για τη μετατροπή εικόνων RAW." -#: src/component/settings/apps.vue:238 src/component/share/dialog.vue:29 +#: src/component/settings/apps.vue:241 src/component/share/dialog.vue:29 msgid "Done" msgstr "Έγινε" -#: src/component/upload/dialog.vue:135 src/page/library/import.vue:46 +#: src/component/upload/dialog.vue:137 src/page/library/import.vue:46 #: src/page/library/index.vue:52 msgid "Done." msgstr "Έγινε." -#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:118 +#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:123 #: src/component/file/clipboard.vue:48 src/component/lightbox.vue:1235 #: src/component/people/clipboard.vue:47 src/component/photo/clipboard.vue:116 #: src/component/photo/edit/files.vue:168 src/page/settings/content.vue:331 @@ -1052,7 +1078,7 @@ msgstr "Λήψη" msgid "Download only original media files, without any automatically generated files." msgstr "Λήψη μόνο πρωτότυπων αρχείων πολυμέσων, χωρίς αυτόματα παραγόμενα αρχεία." -#: src/component/service/edit.vue:237 +#: src/component/service/edit.vue:238 msgid "Download remote files" msgstr "Λήψη απομακρυσμένων αρχείων" @@ -1060,9 +1086,9 @@ msgstr "Λήψη απομακρυσμένων αρχείων" msgid "Download single files and zip archives." msgstr "Λήψη μεμονωμένων αρχείων και αρχείων συμπίεσης." -#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:157 +#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:172 #: src/component/file/clipboard.vue:61 src/component/label/clipboard.vue:86 -#: src/component/lightbox.vue:2021 src/component/people/clipboard.vue:59 +#: src/component/lightbox.vue:2041 src/component/people/clipboard.vue:59 #: src/component/photo/clipboard.vue:220 src/component/photo/edit/files.vue:119 #: src/component/photo/view/cards.vue:169 src/component/photo/view/list.vue:142 #: src/page/library/browse.vue:139 @@ -1077,7 +1103,7 @@ msgstr "Φίλτρο υποβιβασμού κλίμακας" msgid "Drag and drop files here" msgstr "Σύρετε και αφήστε αρχεία εδώ" -#: src/page/about/feedback.vue:61 +#: src/page/about/feedback.vue:62 msgid "Due to the high volume of emails we receive, our team may be unable to get back to you immediately." msgstr "Λόγω του μεγάλου όγκου μηνυμάτων ηλεκτρονικού ταχυδρομείου που λαμβάνουμε, η ομάδα μας ενδέχεται να μην είναι σε θέση να σας απαντήσει αμέσως." @@ -1097,23 +1123,23 @@ msgstr "Δυναμικές προεπισκοπήσεις" msgid "Dynamic Size Limit: %{n}px" msgstr "Όριο δυναμικού μεγέθους: %{n}px" -#: src/page/about/feedback.vue:141 src/page/about/feedback.vue:140 +#: src/page/about/feedback.vue:142 src/page/about/feedback.vue:141 msgid "E-Mail" msgstr "E-Mail" -#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:89 +#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:94 #: src/component/lightbox.vue:1136 src/component/lightbox.vue:1137 #: src/component/photo/clipboard.vue:90 src/page/settings/general.vue:407 msgid "Edit" msgstr "Επεξεργασία" -#: src/component/album/edit/dialog.vue:54 -#: src/component/label/edit/dialog.vue:52 -#: src/component/people/edit/dialog.vue:52 +#: src/component/album/edit/dialog.vue:55 +#: src/component/label/edit/dialog.vue:53 +#: src/component/people/edit/dialog.vue:53 msgid "Edit %{s}" msgstr "Επεξεργασία %{s}" -#: src/component/user/edit/dialog.vue:61 src/component/service/edit.vue:79 +#: src/component/user/edit/dialog.vue:62 src/component/service/edit.vue:79 msgid "Edit Account" msgstr "Επεξεργασία Λογαριασμού" @@ -1125,8 +1151,8 @@ msgstr "Επεξεργασία Φωτογραφίας" msgid "Edited" msgstr "Επεξεργάστηκε" -#: src/component/user/add/dialog.vue:151 src/component/user/edit/dialog.vue:213 -#: src/page/settings/account.vue:171 src/page/settings/account.vue:593 +#: src/component/user/add/dialog.vue:152 src/component/user/edit/dialog.vue:214 +#: src/page/settings/account.vue:171 src/page/settings/account.vue:599 msgid "Email" msgstr "Ηλεκτρονικό ταχυδρομείο" @@ -1142,7 +1168,7 @@ msgstr "Ενεργοποίηση νέων λειτουργιών που μπορ msgid "Enables RAW converter presets. May reduce performance." msgstr "Ενεργοποιεί τις προεπιλογές μετατροπέα RAW. Μπορεί να μειώσει την απόδοση." -#: src/component/settings/passcode.vue:127 +#: src/component/settings/passcode.vue:130 msgid "Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account." msgstr "Η ενεργοποίηση του ελέγχου ταυτότητας δύο παραγόντων σημαίνει ότι θα χρειαστείτε έναν τυχαία δημιουργημένο κωδικό επαλήθευσης για να συνδεθείτε, επομένως ακόμα κι αν κάποιος αποκτήσει πρόσβαση στον κωδικό πρόσβασής σας, δεν θα μπορεί να έχει πρόσβαση στον λογαριασμό σας." @@ -1154,7 +1180,7 @@ msgstr "Πληκτρολογήστε την ημερομηνία" msgid "Enter dates" msgstr "Εισάγετε ημερομηνίες" -#: src/component/settings/passcode.vue:213 src/page/auth/login.vue:104 +#: src/component/settings/passcode.vue:216 src/page/auth/login.vue:104 msgid "Enter the code generated by your authenticator app:" msgstr "Εισάγετε τον κωδικό που δημιουργείται από την εφαρμογή ελέγχου ταυτότητας:" @@ -1162,7 +1188,7 @@ msgstr "Εισάγετε τον κωδικό που δημιουργείται msgid "Enter verification code" msgstr "βάλτε κωδικό επιβεβαίωσης" -#: src/component/settings/apps.vue:109 +#: src/component/settings/apps.vue:112 msgid "Enter your password to confirm the action and continue:" msgstr "Εισαγάγετε τον κωδικό πρόσβασής σας για να επιβεβαιώσετε την ενέργεια και συνεχίστε:" @@ -1171,7 +1197,7 @@ msgstr "Εισαγάγετε τον κωδικό πρόσβασής σας γι msgid "Error" msgstr "Σφάλμα" -#: src/app/routes.js:374 src/component/navigation.vue:1348 +#: src/app/routes.js:382 src/component/navigation.vue:1372 msgid "Errors" msgstr "Σφάλματα" @@ -1207,13 +1233,13 @@ msgstr "Η εξαγωγή μεταδεδομένων με το ExifTool απαι msgid "Experimental Features" msgstr "Πειραματικά Χαρακτηριστικά" -#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:453 -#: src/component/service/edit.vue:157 src/component/settings/apps.vue:73 -#: src/component/settings/apps.vue:326 src/component/share/dialog.vue:62 +#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:458 +#: src/component/service/edit.vue:158 src/component/settings/apps.vue:73 +#: src/component/settings/apps.vue:329 src/component/share/dialog.vue:62 msgid "Expires" msgstr "Λήξη" -#: src/component/photo/edit/details.vue:396 +#: src/component/photo/edit/details.vue:370 msgid "Exposure" msgstr "Έκθεση" @@ -1221,7 +1247,7 @@ msgstr "Έκθεση" msgid "Extract still images and generate thumbnails while indexing." msgstr "Εξαγωγή ακίνητων εικόνων και δημιουργία μικρογραφιών κατά την ευρετηρίαση." -#: src/component/photo/edit/details.vue:444 +#: src/component/photo/edit/details.vue:418 msgid "F Number" msgstr "Αριθμός F" @@ -1237,7 +1263,7 @@ msgstr "Πρόσωπα" msgid "Failed removing link" msgstr "Αποτυχία αφαίρεσης συνδέσμου" -#: src/page/connect.vue:106 src/page/connect.vue:110 +#: src/page/connect.vue:107 src/page/connect.vue:111 msgid "Failed to connect account." msgstr "Απέτυχε η σύνδεση λογαριασμού." @@ -1245,8 +1271,8 @@ msgstr "Απέτυχε η σύνδεση λογαριασμού." msgid "Failed updating link" msgstr "Αποτυχία ενημέρωσης συνδέσμου" -#: src/component/user/edit/dialog.vue:143 -#: src/component/user/edit/dialog.vue:144 src/page/settings/account.vue:128 +#: src/component/user/edit/dialog.vue:144 +#: src/component/user/edit/dialog.vue:145 src/page/settings/account.vue:128 #: src/page/settings/account.vue:130 msgid "Family Name" msgstr "Επίθετο" @@ -1255,15 +1281,15 @@ msgstr "Επίθετο" msgid "Fast" msgstr "Γρήγορα" -#: src/component/album/edit/dialog.vue:159 -#: src/component/label/edit/dialog.vue:85 -#: src/component/people/edit/dialog.vue:85 +#: src/component/album/edit/dialog.vue:160 +#: src/component/label/edit/dialog.vue:86 +#: src/component/people/edit/dialog.vue:86 #: src/component/photo/edit/info.vue:287 msgid "Favorite" msgstr "Αγαπημένο" -#: src/app/routes.js:222 src/component/navigation.vue:893 -#: src/options/options.js:202 src/page/albums.vue:97 +#: src/app/routes.js:230 src/component/navigation.vue:903 +#: src/options/options.js:202 src/page/albums.vue:98 msgid "Favorites" msgstr "Αγαπημένα" @@ -1271,7 +1297,7 @@ msgstr "Αγαπημένα" msgid "Feature Request" msgstr "Αίτηση χαρακτηριστικών" -#: src/component/navigation.vue:1456 +#: src/component/navigation.vue:1482 msgid "Feedback" msgstr "Ανατροφοδότηση" @@ -1279,11 +1305,12 @@ msgstr "Ανατροφοδότηση" msgid "Female" msgstr "Γυναίκα" -#: src/component/photo/edit/info.vue:214 src/model/file.js:290 +#: src/component/photo/edit/info.vue:57 src/component/photo/edit/info.vue:214 +#: src/model/file.js:290 msgid "File" msgstr "Αρχείο" -#: src/app/routes.js:343 +#: src/app/routes.js:351 msgid "File Browser" msgstr "Πρόγραμμα περιήγησης αρχείων" @@ -1306,8 +1333,8 @@ msgstr "Αρχείο" msgid "Filename" msgstr "Όνομα αρχείου" -#: src/component/navigation.vue:1930 src/component/photo/edit/dialog.vue:267 -#: src/component/photo/edit/dialog.vue:284 +#: src/component/navigation.vue:1973 src/component/photo/edit/dialog.vue:279 +#: src/component/photo/edit/dialog.vue:298 msgid "Files" msgstr "Αρχεία" @@ -1319,26 +1346,26 @@ msgstr "Αρχεία με διαδοχικά ονόματα όπως 'IMG_1234 ( msgid "First page" msgstr "Πρώτη σελίδα" -#: src/component/photo/edit/details.vue:465 +#: src/component/photo/edit/details.vue:439 msgid "Focal Length" msgstr "Εστιακό μήκος" -#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:118 -#: src/component/service/edit.vue:189 src/component/service/edit.vue:194 -#: src/component/service/upload.vue:90 src/component/service/upload.vue:96 +#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:119 +#: src/component/service/edit.vue:190 src/component/service/edit.vue:195 +#: src/component/service/upload.vue:91 src/component/service/upload.vue:97 #: src/model/folder.js:199 src/page/library/browse.vue:182 msgid "Folder" msgstr "Φάκελος" -#: src/page/library/browse.vue:365 +#: src/page/library/browse.vue:367 msgid "Folder contains %{n} files" msgstr "Ο φάκελος περιέχει %{n} αρχεία" -#: src/page/library/browse.vue:356 +#: src/page/library/browse.vue:358 msgid "Folder is empty" msgstr "Ο φάκελος είναι άδειος" -#: src/app/routes.js:202 src/component/navigation.vue:1225 +#: src/app/routes.js:210 src/component/navigation.vue:1247 #: src/options/options.js:207 msgid "Folders" msgstr "Φάκελοι" @@ -1355,7 +1382,7 @@ msgstr "FPS" msgid "Frames" msgstr "Πλαίσια" -#: src/options/auth.js:54 src/options/auth.js:64 +#: src/options/auth.js:55 src/options/auth.js:65 msgid "Full Access" msgstr "Πλήρης πρόσβαση" @@ -1367,7 +1394,7 @@ msgstr "Πλήρης οθόνη" msgid "General" msgstr "Γενικά" -#: src/component/settings/apps.vue:364 +#: src/component/settings/apps.vue:367 msgid "Generate" msgstr "Παράγω" @@ -1387,8 +1414,8 @@ msgstr "Παραγωγή" msgid "Get Started" msgstr "Ξεκινήστε" -#: src/component/user/edit/dialog.vue:120 -#: src/component/user/edit/dialog.vue:121 src/page/settings/account.vue:106 +#: src/component/user/edit/dialog.vue:121 +#: src/component/user/edit/dialog.vue:122 src/page/settings/account.vue:106 #: src/page/settings/account.vue:108 msgid "Given Name" msgstr "Όνομα" @@ -1413,7 +1440,7 @@ msgstr "Πράσινο" msgid "Grey" msgstr "Γκρι" -#: src/options/admin.js:22 src/options/auth.js:10 +#: src/options/admin.js:26 src/options/auth.js:11 msgid "Guest" msgstr "Επισκέπτης" @@ -1429,15 +1456,15 @@ msgstr "Βοήθεια" msgid "Help & Support" msgstr "Βοήθεια & Υποστήριξη" -#: src/component/navigation.vue:1327 src/component/people/edit/dialog.vue:98 +#: src/component/navigation.vue:1351 src/component/people/edit/dialog.vue:99 msgid "Hidden" msgstr "Κρυφό" -#: src/app/routes.js:358 +#: src/app/routes.js:366 msgid "Hidden Files" msgstr "Κρυμμένα αρχεία" -#: src/page/people/new.vue:165 src/page/people/recognized.vue:205 +#: src/page/people/new.vue:166 src/page/people/recognized.vue:206 msgid "Hide" msgstr "Απόκρυψη" @@ -1453,7 +1480,7 @@ msgstr "Υψηλή" msgid "High Dynamic Range (HDR)" msgstr "Υψηλό δυναμικό εύρος (HDR)" -#: src/page/about/feedback.vue:103 +#: src/page/about/feedback.vue:104 msgid "How can we help?" msgstr "Πώς μπορούμε να βοηθήσουμε;" @@ -1461,11 +1488,11 @@ msgstr "Πώς μπορούμε να βοηθήσουμε;" msgid "Hybrid" msgstr "Υβριδικό" -#: src/component/settings/passcode.vue:389 +#: src/component/settings/passcode.vue:392 msgid "If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account." msgstr "Εάν χάσετε την πρόσβαση στην εφαρμογή ή τη συσκευή ελέγχου ταυτότητας, μπορείτε να χρησιμοποιήσετε τον κωδικό ανάκτησης για να ανακτήσετε την πρόσβαση στον λογαριασμό σας." -#: src/component/photo/edit/info.vue:63 src/component/photo/edit/labels.vue:46 +#: src/component/photo/edit/info.vue:65 src/component/photo/edit/labels.vue:46 #: src/component/photo/view/cards.vue:532 src/model/file.js:218 #: src/options/options.js:281 msgid "Image" @@ -1475,7 +1502,7 @@ msgstr "Εικόνα" msgid "Image Quality" msgstr "Ποιότητα εικόνας" -#: src/page/library.vue:46 src/page/library/import.vue:152 +#: src/page/library.vue:46 src/page/library/import.vue:153 #: src/page/settings/general.vue:357 msgid "Import" msgstr "Εισαγωγή" @@ -1500,8 +1527,8 @@ msgstr "Εισαγωγή %{s}…" msgid "Importing files to originals…" msgstr "Εισαγωγή αρχείων σε πρωτότυπα…" -#: src/component/photo/edit/files.vue:515 -#: src/component/photo/edit/files.vue:520 +#: src/component/photo/edit/files.vue:517 +#: src/component/photo/edit/files.vue:522 msgid "in" msgstr "στο" @@ -1519,11 +1546,11 @@ msgstr "Συμπεριλάβετε αρχεία εικόνας RAW κατά τη msgid "Include sidecar files when downloading stacks and archives." msgstr "Συμπεριλάβετε αρχεία sidecar κατά τη λήψη στοίβων και αρχείων." -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Increase storage size or delete files to continue." msgstr "Αυξήστε το μέγεθος αποθήκευσης ή διαγράψτε αρχεία για να συνεχίσετε." -#: src/component/navigation.vue:1946 src/page/library.vue:36 +#: src/component/navigation.vue:1990 src/page/library.vue:36 #: src/page/settings/content.vue:34 msgid "Index" msgstr "Ευρετήριο" @@ -1553,11 +1580,11 @@ msgstr "Πληροφορίες" msgid "Instance ID" msgstr "Αναγνωριστικό περίπτωσης" -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Insufficient storage." msgstr "Ανεπαρκής αποθήκευση." -#: src/component/service/edit.vue:209 +#: src/component/service/edit.vue:210 msgid "Interval" msgstr "Διάστημα" @@ -1578,7 +1605,7 @@ msgstr "Μη έγκυρη διεύθυνση" msgid "Invalid country" msgstr "Μη έγκυρη χώρα" -#: src/component/photo/edit/details.vue:174 +#: src/component/photo/edit/details.vue:169 msgid "Invalid date" msgstr "Μη έγκυρη ημερομηνία" @@ -1587,7 +1614,7 @@ msgstr "Μη έγκυρη ημερομηνία" msgid "Invalid parameters" msgstr "Μη έγκυρη ημερομηνία" -#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:197 +#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:199 msgid "Invalid photo selected" msgstr "Επιλογή μη έγκυρης φωτογραφίας" @@ -1599,8 +1626,8 @@ msgstr "Μη έγκυρη ώρα" msgid "Invalid URL" msgstr "Μη έγκυρο URL" -#: src/component/settings/passcode.vue:314 -#: src/component/settings/passcode.vue:391 +#: src/component/settings/passcode.vue:317 +#: src/component/settings/passcode.vue:394 msgid "It is a one-time use code that will disable 2FA for your account when you use it." msgstr "Είναι ένας κωδικός μίας χρήσης που θα απενεργοποιήσει το 2FA για τον λογαριασμό σας όταν τον χρησιμοποιείτε." @@ -1624,7 +1651,7 @@ msgstr "Όριο μεγέθους JPEG: %{n}px" msgid "JPEGs and thumbnails are automatically rendered as needed." msgstr "Τα JPEG και οι μικρογραφίες αποδίδονται αυτόματα όπως απαιτείται." -#: src/component/photo/edit/details.vue:581 +#: src/component/photo/edit/details.vue:555 msgid "Keywords" msgstr "Λέξεις κλειδιά" @@ -1633,9 +1660,9 @@ msgstr "Λέξεις κλειδιά" msgid "Label" msgstr "Ετικέτα" -#: src/app/routes.js:389 src/component/navigation.vue:1177 -#: src/component/photo/edit/dialog.vue:188 -#: src/component/photo/edit/dialog.vue:205 src/options/options.js:206 +#: src/app/routes.js:397 src/component/navigation.vue:1197 +#: src/component/photo/edit/dialog.vue:196 +#: src/component/photo/edit/dialog.vue:215 src/options/options.js:206 #: src/page/settings/general.vue:255 msgid "Labels" msgstr "Ετικέτες" @@ -1652,11 +1679,11 @@ msgstr "Lanczos: Διατήρηση λεπτομερειών, ελάχιστα msgid "Language" msgstr "Γλώσσα" -#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:435 +#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:440 msgid "Last Active" msgstr "Τελευταία ενεργή" -#: src/page/admin/users.vue:81 +#: src/page/admin/users.vue:83 msgid "Last Login" msgstr "Τελευταία σύνδεση" @@ -1672,42 +1699,41 @@ msgstr "Τελευταίος συγχρονισμός" msgid "Last Used" msgstr "Τελευταία χρήση" -#: src/component/photo/edit/details.vue:298 #: src/component/photo/edit/info.vue:373 msgid "Latitude" msgstr "Γεωγραφικό πλάτος" -#: src/options/admin.js:43 src/options/auth.js:29 +#: src/options/admin.js:47 src/options/auth.js:30 msgid "LDAP/AD" msgstr "LDAP/AD" -#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:86 -#: src/page/about/about.vue:62 src/page/about/about.vue:132 +#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:87 +#: src/page/about/about.vue:62 src/page/about/about.vue:133 #: src/page/connect.vue:67 src/page/help.vue:36 msgid "Learn more" msgstr "Μάθετε περισσότερα" -#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:135 +#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:137 #: src/page/labels.vue:132 msgid "Learn More" msgstr "Μάθετε περισσότερα" -#: src/component/navigation.vue:2017 +#: src/component/navigation.vue:2066 msgid "Legal Information" msgstr "Νομικές πληροφορίες" -#: src/component/photo/edit/details.vue:417 +#: src/component/photo/edit/details.vue:391 #: src/component/photo/view/cards.vue:480 msgid "Lens" msgstr "Φακός" -#: src/app/routes.js:443 src/app/routes.js:459 src/app/routes.js:475 -#: src/component/navigation.vue:1267 src/page/settings/general.vue:507 +#: src/app/routes.js:451 src/app/routes.js:467 src/app/routes.js:483 +#: src/component/navigation.vue:1290 src/page/settings/general.vue:507 msgid "Library" msgstr "Βιβλιοθήκη" #: src/page/connect.vue:45 src/app/routes.js:69 -#: src/component/navigation.vue:1478 src/component/photo/edit/details.vue:559 +#: src/component/navigation.vue:1504 src/component/photo/edit/details.vue:533 #: src/page/about/license.vue:28 msgid "License" msgstr "Άδεια" @@ -1720,7 +1746,7 @@ msgstr "Όπως" msgid "Lime" msgstr "Ασβέστης" -#: src/page/library/browse.vue:369 +#: src/page/library/browse.vue:371 msgid "Limit reached, showing first %{n} files" msgstr "Επίτευξη ορίου, εμφάνιση των πρώτων %{n} αρχείων" @@ -1728,7 +1754,7 @@ msgstr "Επίτευξη ορίου, εμφάνιση των πρώτων %{n} msgid "Linear: Very Smooth, Best Performance" msgstr "Γραμμικό: Πολύ ομοιόμορφο, βέλτιστη επίδοση" -#: src/model/link.js:117 src/options/auth.js:30 src/options/auth.js:31 +#: src/model/link.js:117 src/options/auth.js:31 src/options/auth.js:32 msgid "Link" msgstr "Σύνδεσμος" @@ -1746,7 +1772,7 @@ msgstr "Προβολή λίστας" msgid "Live" msgstr "Ζωντανό" -#: src/app/routes.js:236 src/component/navigation.vue:749 +#: src/app/routes.js:244 src/component/navigation.vue:755 msgid "Live Photos" msgstr "Φωτογραφίες" @@ -1762,21 +1788,24 @@ msgstr "Στοιχεία φόρτωσης..." msgid "Loading..." msgstr "Φόρτωση..." -#: src/options/admin.js:35 src/options/auth.js:22 src/options/auth.js:27 +#: src/options/admin.js:39 src/options/auth.js:23 src/options/auth.js:28 #: src/options/options.js:38 src/page/settings/general.vue:107 msgid "Local" msgstr "Τοπικό" -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Local Time" msgstr "Τοπική ώρα" -#: src/page/settings/account.vue:665 src/page/settings/account.vue:667 -#: src/component/album/edit/dialog.vue:92 src/component/photo/edit/info.vue:65 -#: src/component/photo/edit/labels.vue:48 +#: src/page/settings/account.vue:671 src/page/settings/account.vue:673 +#: src/component/album/edit/dialog.vue:93 +#: src/component/photo/edit/details.vue:38 +#: src/component/photo/edit/details.vue:116 +#: src/component/photo/edit/details.vue:210 +#: src/component/photo/edit/info.vue:67 src/component/photo/edit/labels.vue:48 #: src/component/photo/view/cards.vue:555 src/component/photo/view/list.vue:117 -#: src/component/sidebar/info.vue:107 src/page/albums.vue:99 -#: src/page/settings/account.vue:557 src/page/settings/account.vue:559 +#: src/component/sidebar/info.vue:107 src/page/albums.vue:100 +#: src/page/settings/account.vue:563 src/page/settings/account.vue:565 msgid "Location" msgstr "Τοποθεσία" @@ -1784,20 +1813,19 @@ msgstr "Τοποθεσία" msgid "Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues." msgstr "Τα μηνύματα καταγραφής εμφανίζονται εδώ κάθε φορά που το PhotoPrism συναντά προβληματικά αρχεία ή υπάρχουν άλλα πιθανά προβλήματα." -#: src/component/navigation.vue:1552 src/component/navigation.vue:1840 +#: src/component/navigation.vue:1579 src/component/navigation.vue:1877 msgid "Login" msgstr "Σύνδεση" -#: src/component/navigation.vue:1759 +#: src/component/navigation.vue:1791 msgid "Logout" msgstr "Αποσύνδεση" -#: src/component/navigation.vue:1962 src/page/library.vue:59 +#: src/component/navigation.vue:2007 src/page/library.vue:59 #: src/page/settings/general.vue:557 msgid "Logs" msgstr "Αρχεία καταγραφής" -#: src/component/photo/edit/details.vue:324 #: src/component/photo/edit/info.vue:379 msgid "Longitude" msgstr "Γεωγραφικό μήκος" @@ -1810,7 +1838,7 @@ msgstr "Χαμηλή" msgid "Magenta" msgstr "Ματζέντα" -#: src/component/photo/edit/files.vue:489 +#: src/component/photo/edit/files.vue:491 msgid "Main Color" msgstr "Κύριο χρώμα" @@ -1818,12 +1846,16 @@ msgstr "Κύριο χρώμα" msgid "Male" msgstr "Άνδρας" -#: src/page/connect.vue:164 src/page/connect.vue:246 -#: src/page/about/about.vue:171 src/page/connect.vue:168 -#: src/page/connect.vue:255 +#: src/page/connect.vue:165 src/page/connect.vue:248 +#: src/page/about/about.vue:173 src/page/connect.vue:169 +#: src/page/connect.vue:257 msgid "Manage Account" msgstr "Διαχείριση λογαριασμού" +#: src/options/admin.js:10 src/options/auth.js:7 +msgid "Manager" +msgstr "Διευθυντής" + #: src/component/photo/edit/info.vue:49 src/component/photo/edit/labels.vue:38 msgid "Manual" msgstr "Χειροκίνητο" @@ -1840,11 +1872,11 @@ msgstr "Χάρτες" msgid "Marker" msgstr "Δείκτης" -#: src/component/user/add/dialog.vue:69 +#: src/component/user/add/dialog.vue:70 msgid "Maximum number of accounts has been reached." msgstr "Έχει επιτευχθεί ο μέγιστος αριθμός λογαριασμών." -#: src/app/routes.js:229 src/component/navigation.vue:688 +#: src/app/routes.js:237 src/component/navigation.vue:693 #: src/options/options.js:199 msgid "Media" msgstr "Μέσα ενημέρωσης" @@ -1861,7 +1893,7 @@ msgstr "Μέλη" msgid "Merge %{a} with %{b}?" msgstr "Συγχώνευση %{a} με %{b}?" -#: src/page/about/feedback.vue:102 +#: src/page/about/feedback.vue:103 msgid "Message" msgstr "Μήνυμα" @@ -1873,7 +1905,7 @@ msgstr "Αποστολή μηνύματος" msgid "Metadata" msgstr "Μεταδεδομένα" -#: src/options/auth.js:56 src/options/auth.js:72 +#: src/options/auth.js:57 src/options/auth.js:73 msgid "Metrics" msgstr "Μετρήσεις" @@ -1881,7 +1913,7 @@ msgstr "Μετρήσεις" msgid "Minimize" msgstr "Ελαχιστοποίηση" -#: src/component/photo/edit/files.vue:509 src/component/photo/edit/info.vue:367 +#: src/component/photo/edit/files.vue:511 src/component/photo/edit/info.vue:367 msgid "Missing" msgstr "Απουασιάζει" @@ -1889,17 +1921,17 @@ msgstr "Απουασιάζει" msgid "Missing or invalid configuration" msgstr "Λείπουν ή είναι άκυρη η διαμόρφωση" -#: src/app/routes.js:163 src/component/navigation.vue:1129 +#: src/app/routes.js:171 src/component/navigation.vue:1147 #: src/options/options.js:205 src/page/settings/general.vue:230 msgid "Moments" msgstr "Στιγμές" -#: src/component/navigation.vue:383 +#: src/component/navigation.vue:385 msgid "Monochrome" msgstr "Μονοχρωμία" -#: src/page/settings/account.vue:475 src/component/photo/edit/details.vue:137 -#: src/component/photo/toolbar.vue:342 +#: src/page/settings/account.vue:481 src/component/photo/edit/details.vue:139 +#: src/component/photo/toolbar.vue:344 msgid "Month" msgstr "Μήνας" @@ -1919,7 +1951,7 @@ msgstr "Το πιο σχετικό" msgid "Move Files" msgstr "Μετακίνηση αρχείων" -#: src/component/settings/password.vue:107 +#: src/component/settings/password.vue:108 msgid "Must have at least %{n} characters." msgstr "Πρέπει να έχει τουλάχιστον %{n} χαρακτήρες." @@ -1927,20 +1959,20 @@ msgstr "Πρέπει να έχει τουλάχιστον %{n} χαρακτήρ msgid "Mute" msgstr "Σίγαση" -#: src/page/about/feedback.vue:121 src/page/about/feedback.vue:122 -#: src/component/album/edit/dialog.vue:77 -#: src/component/label/edit/dialog.vue:71 -#: src/component/people/edit/dialog.vue:71 -#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:57 +#: src/page/about/feedback.vue:122 src/page/about/feedback.vue:123 +#: src/component/album/edit/dialog.vue:78 +#: src/component/label/edit/dialog.vue:72 +#: src/component/people/edit/dialog.vue:72 +#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:59 #: src/component/photo/edit/info.vue:125 src/component/photo/edit/people.vue:36 -#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:310 -#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:286 -#: src/page/albums.vue:98 src/page/auth/login.vue:168 +#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:311 +#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:289 +#: src/page/albums.vue:99 src/page/auth/login.vue:168 #: src/page/people/new.vue:68 src/page/settings/services.vue:37 msgid "Name" msgstr "Όνομα" -#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:60 +#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:65 #: src/component/label/edit/dialog.vue:19 #: src/component/people/edit/dialog.vue:19 #: src/component/photo/edit/labels.vue:30 @@ -1950,7 +1982,7 @@ msgstr "Όνομα" msgid "Name too long" msgstr "Όνομα πολύ μεγάλο" -#: src/page/admin/users.vue:204 src/options/options.js:361 +#: src/page/admin/users.vue:206 src/options/options.js:361 #: src/options/options.js:371 src/page/settings/services.vue:75 msgid "Never" msgstr "Ποτέ" @@ -1959,13 +1991,13 @@ msgstr "Ποτέ" msgid "New" msgstr "Νέο" -#: src/component/settings/password.vue:106 +#: src/component/settings/password.vue:107 msgid "New Password" msgstr "Νέος κωδικός πρόσβασης" #: src/component/album/edit/dialog.vue:24 src/component/photo/toolbar.vue:114 #: src/component/photo/toolbar.vue:126 src/component/photo/toolbar.vue:136 -#: src/page/albums.vue:100 +#: src/page/albums.vue:101 msgid "Newest First" msgstr "Το νεότερο πρώτα" @@ -1981,15 +2013,15 @@ msgstr "Επόμενη σελίδα" msgid "Next visual" msgstr "Επόμενο οπτικό υλικό" -#: src/component/people/merge/dialog.vue:47 -#: src/component/photo/archive/dialog.vue:47 +#: src/component/people/merge/dialog.vue:48 +#: src/component/photo/archive/dialog.vue:48 #: src/component/photo/edit/info.vue:281 src/component/photo/edit/info.vue:297 #: src/component/photo/edit/info.vue:313 src/component/photo/edit/info.vue:329 #: src/component/photo/edit/info.vue:344 msgid "No" msgstr "Όχι" -#: src/page/albums.vue:607 src/page/albums.vue:282 +#: src/page/albums.vue:612 src/page/albums.vue:282 msgid "No albums found" msgstr "Δεν βρέθηκαν συλλογές" @@ -1997,7 +2029,7 @@ msgstr "Δεν βρέθηκαν συλλογές" msgid "No data available" msgstr "Δεν υπάρχουν διαθέσιμα στοιχεία" -#: src/page/labels.vue:523 src/page/labels.vue:155 +#: src/page/labels.vue:528 src/page/labels.vue:155 msgid "No labels found" msgstr "Δεν βρέθηκαν ετικέτες" @@ -2010,15 +2042,15 @@ msgid "No more" msgstr "Όχι άλλο" #: src/component/photo/edit/people.vue:34 src/page/people/new.vue:346 -#: src/page/people/new.vue:443 src/page/people/new.vue:103 -#: src/page/people/recognized.vue:531 src/page/people/recognized.vue:146 +#: src/page/people/new.vue:446 src/page/people/new.vue:103 +#: src/page/people/recognized.vue:536 src/page/people/recognized.vue:146 msgid "No people found" msgstr "Δεν βρέθηκαν άτομα" #: src/component/lightbox.vue:365 src/component/photo/view/cards.vue:144 #: src/component/photo/view/list.vue:82 src/component/photo/view/mosaic.vue:68 -#: src/page/album/photos.vue:488 src/page/library/browse.vue:123 -#: src/page/photos.vue:626 src/page/places.vue:624 src/page/places.vue:730 +#: src/page/album/photos.vue:499 src/page/library/browse.vue:123 +#: src/page/photos.vue:636 src/page/places.vue:624 src/page/places.vue:730 msgid "No pictures found" msgstr "Δεν βρέθηκαν εικόνες" @@ -2027,7 +2059,11 @@ msgstr "Δεν βρέθηκαν εικόνες" msgid "No recently edited pictures" msgstr "Δεν υπάρχουν πρόσφατα επεξεργασμένες εικόνες" -#: src/component/navigation.vue:1655 +#: src/component/location/dialog.vue:166 +msgid "No results" +msgstr "Δεν υπάρχουν αποτελέσματα" + +#: src/component/navigation.vue:1686 msgid "No server connection" msgstr "Δεν υπάρχει σύνδεση διακομιστή" @@ -2039,7 +2075,7 @@ msgstr "Δεν έχουν ρυθμιστεί διακομιστές." msgid "No services configured." msgstr "Δεν έχουν ρυθμιστεί διακομιστές." -#: src/component/confirm/sponsor.vue:72 +#: src/component/confirm/sponsor.vue:73 msgid "No thanks" msgstr "Όχι ευχαριστώ" @@ -2049,17 +2085,17 @@ msgstr "Δεν υπάρχουν προειδοποιήσεις ή σφάλματ #: src/component/photo/view/cards.vue:154 src/component/photo/view/list.vue:59 #: src/component/photo/view/list.vue:92 src/component/photo/view/mosaic.vue:78 -#: src/component/upload/dialog.vue:208 +#: src/component/upload/dialog.vue:210 msgid "Non-photographic and low-quality images require a review before they appear in search results." msgstr "Οι μη φωτογραφικές εικόνες και οι εικόνες χαμηλής ποιότητας απαιτούν επανεξέταση προτού εμφανιστούν στα αποτελέσματα αναζήτησης." -#: src/options/admin.js:47 src/options/auth.js:32 src/options/options.js:212 +#: src/options/admin.js:51 src/options/auth.js:33 src/options/options.js:212 #: src/options/options.js:328 msgid "None" msgstr "Κανένα" -#: src/common/util.js:853 src/component/lightbox.vue:633 -#: src/component/service/upload.vue:75 src/component/service/upload.vue:87 +#: src/component/lightbox.vue:633 src/component/service/upload.vue:75 +#: src/component/service/upload.vue:87 msgid "Not allowed" msgstr "Δεν επιτρέπεται" @@ -2071,8 +2107,7 @@ msgstr "Δεν βρέθηκε" msgid "Not sorted." msgstr "Δεν έχει ταξινομηθεί." -#: src/common/util.js:858 src/component/lightbox.vue:627 -#: src/component/lightbox.vue:744 +#: src/component/lightbox.vue:627 src/component/lightbox.vue:744 msgid "Not supported" msgstr "Δεν υποστηρίζεται" @@ -2080,15 +2115,15 @@ msgstr "Δεν υποστηρίζεται" msgid "Note you may manually manage your originals folder and importing is optional." msgstr "Σημειώστε ότι μπορείτε να διαχειριστείτε χειροκίνητα το φάκελο πρωτοτύπων σας και η εισαγωγή είναι προαιρετική." -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "Note:" msgstr "Σημείωση:" -#: src/component/service/add.vue:120 +#: src/component/service/add.vue:121 msgid "Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload." msgstr "Σημείωση: Μόνο οι διακομιστές WebDAV, όπως το Nextcloud ή το PhotoPrism, μπορούν να ρυθμιστούν ως απομακρυσμένη υπηρεσία για τη δημιουργία αντιγράφων ασφαλείας και τη μεταφόρτωση αρχείων." -#: src/component/photo/edit/details.vue:603 +#: src/component/photo/edit/details.vue:577 msgid "Notes" msgstr "Σημειώσεις" @@ -2096,8 +2131,8 @@ msgstr "Σημειώσεις" msgid "Nothing to see here yet." msgstr "Δεν υπάρχει τίποτα να δείτε εδώ ακόμα. Κάντε υπομονή." -#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:115 -#: src/component/settings/apps.vue:390 +#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:125 +#: src/component/settings/apps.vue:393 msgid "Nothing was found." msgstr "Δεν βρέθηκε τίποτα." @@ -2105,7 +2140,7 @@ msgstr "Δεν βρέθηκε τίποτα." msgid "Offline" msgstr "Offline" -#: src/options/admin.js:39 src/options/auth.js:28 +#: src/options/admin.js:43 src/options/auth.js:29 msgid "OIDC" msgstr "OIDC" @@ -2115,11 +2150,11 @@ msgstr "OK" #: src/component/album/edit/dialog.vue:25 src/component/photo/toolbar.vue:115 #: src/component/photo/toolbar.vue:127 src/component/photo/toolbar.vue:137 -#: src/page/albums.vue:101 +#: src/page/albums.vue:102 msgid "Oldest First" msgstr "Ο παλαιότερος πρώτος" -#: src/component/settings/webdav.vue:77 +#: src/component/settings/webdav.vue:78 msgid "On Windows, enter the following resource in the connection dialog:" msgstr "Στα Windows, εισαγάγετε τον ακόλουθο πόρο στο παράθυρο διαλόγου σύνδεσης:" @@ -2131,11 +2166,11 @@ msgstr "Η κατά παραγγελία δημιουργία μικρογραφ msgid "Once a week" msgstr "Μία φορά την εβδομάδα" -#: src/page/albums.vue:609 +#: src/page/albums.vue:614 msgid "One album found" msgstr "Βρέθηκε μια συλλογή" -#: src/page/library/browse.vue:358 +#: src/page/library/browse.vue:360 msgid "One file found" msgstr "Βρέθηκε ένα αρχείο" @@ -2143,24 +2178,24 @@ msgstr "Βρέθηκε ένα αρχείο" msgid "One file uploaded" msgstr "Ένα αρχείο μεταφορτώθηκε" -#: src/page/library/browse.vue:360 +#: src/page/library/browse.vue:362 msgid "One folder found" msgstr "Βρέθηκε ένας φάκελος" -#: src/page/labels.vue:525 +#: src/page/labels.vue:530 msgid "One label found" msgstr "Μια ετικέτα βρέθηκε" -#: src/page/people/new.vue:348 src/page/people/new.vue:445 -#: src/page/people/recognized.vue:533 +#: src/page/people/new.vue:348 src/page/people/new.vue:448 +#: src/page/people/recognized.vue:538 msgid "One person found" msgstr "Ένα άτομο βρήκε" -#: src/page/album/photos.vue:490 src/page/photos.vue:628 +#: src/page/album/photos.vue:501 src/page/photos.vue:638 msgid "One picture found" msgstr "Μια εικόνα που βρέθηκε" -#: src/component/settings/passcode.vue:478 +#: src/component/settings/passcode.vue:481 msgid "Only locally managed accounts can be set up for authentication with 2FA." msgstr "Μόνο οι τοπικά διαχειριζόμενοι λογαριασμοί μπορούν να ρυθμιστούν για έλεγχο ταυτότητας με το 2FA." @@ -2168,7 +2203,7 @@ msgstr "Μόνο οι τοπικά διαχειριζόμενοι λογαρια msgid "Open" msgstr "Ανοίξτε το" -#: src/component/service/add.vue:86 src/component/service/add.vue:107 +#: src/component/service/add.vue:87 src/component/service/add.vue:108 msgid "optional" msgstr "προαιρετικό" @@ -2180,7 +2215,7 @@ msgstr "ή" msgid "Orange" msgstr "Πορτοκαλί" -#: src/page/settings/account.vue:571 src/page/settings/account.vue:573 +#: src/page/settings/account.vue:577 src/page/settings/account.vue:579 msgid "Organization" msgstr "Οργανισμός" @@ -2196,7 +2231,7 @@ msgstr "Τα αρχικά ονόματα αρχείων θα αποθηκεύο msgid "Original Name" msgstr "Αρχικό όνομα" -#: src/component/navigation.vue:1304 src/model/file.js:196 +#: src/component/navigation.vue:1328 src/model/file.js:196 #: src/options/options.js:413 src/page/library/browse.vue:65 #: src/page/settings/content.vue:356 src/page/settings/general.vue:532 msgid "Originals" @@ -2207,7 +2242,7 @@ msgstr "Πρωτότυπα" msgid "Other" msgstr "Άλλα" -#: src/page/about/about.vue:77 src/page/about/about.vue:83 +#: src/page/about/about.vue:78 src/page/about/about.vue:84 msgid "Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible." msgstr "Αποστολή μας είναι να παρέχουμε την πιο φιλική προς το χρήστη και την προστασία της ιδιωτικής ζωής λύση για να διατηρείτε τις φωτογραφίες σας οργανωμένες και προσβάσιμες." @@ -2219,7 +2254,7 @@ msgstr "Υπαίθρια" msgid "Page {0}, Current page" msgstr "Σελίδα {0}, Τρέχουσα σελίδα" -#: src/component/photo/edit/files.vue:352 src/model/photo.js:859 +#: src/component/photo/edit/files.vue:352 src/model/photo.js:896 msgid "Pages" msgstr "Σελίδες" @@ -2231,15 +2266,15 @@ msgstr "Πλοήγηση σελιδοποίησης" msgid "Panorama" msgstr "Πανόραμα" -#: src/component/navigation.vue:402 +#: src/component/navigation.vue:404 msgid "Panoramas" msgstr "Πανοράματα" -#: src/component/user/add/dialog.vue:114 src/component/user/add/dialog.vue:115 -#: src/component/service/add.vue:106 src/component/service/edit.vue:352 -#: src/component/settings/apps.vue:121 src/component/settings/passcode.vue:106 -#: src/component/settings/passcode.vue:413 src/component/share/dialog.vue:27 -#: src/options/auth.js:91 src/page/auth/login.vue:196 +#: src/component/user/add/dialog.vue:115 src/component/user/add/dialog.vue:116 +#: src/component/service/add.vue:107 src/component/service/edit.vue:353 +#: src/component/settings/apps.vue:124 src/component/settings/passcode.vue:109 +#: src/component/settings/passcode.vue:416 src/component/share/dialog.vue:27 +#: src/options/auth.js:92 src/page/auth/login.vue:196 msgid "Password" msgstr "Κωδικός πρόσβασης" @@ -2247,9 +2282,9 @@ msgstr "Κωδικός πρόσβασης" msgid "Password changed" msgstr "Ο κωδικός πρόσβασης άλλαξε" -#: src/app/routes.js:404 src/app/routes.js:428 src/component/navigation.vue:845 -#: src/component/navigation.vue:1898 src/component/photo/edit/dialog.vue:228 -#: src/component/photo/edit/dialog.vue:245 src/options/options.js:201 +#: src/app/routes.js:412 src/app/routes.js:436 src/component/navigation.vue:853 +#: src/component/navigation.vue:1939 src/component/photo/edit/dialog.vue:238 +#: src/component/photo/edit/dialog.vue:257 src/options/options.js:201 #: src/page/settings/general.vue:180 msgid "People" msgstr "Άνθρωποι" @@ -2270,23 +2305,23 @@ msgstr "Αφαιρέστε μόνιμα αρχεία για να ελευθερ msgid "Person" msgstr "Πρόσωπο" -#: src/options/auth.js:42 +#: src/options/auth.js:43 msgid "Personal" msgstr "Προσωπικό" -#: src/model/photo.js:1273 +#: src/model/photo.js:1310 msgid "Photo" msgstr "Φωτογραφία" -#: src/page/about/about.vue:156 +#: src/page/about/about.vue:158 msgid "PhotoPrism is 100% self-funded and independent." msgstr "Η PhotoPrism είναι 100% αυτοχρηματοδοτούμενη και ανεξάρτητη." -#: src/page/about/about.vue:92 +#: src/page/about/about.vue:93 msgid "PhotoPrism+ Membership" msgstr "PhotoPrism+ Μέλος" -#: src/app/routes.js:156 +#: src/app/routes.js:164 msgid "Photos" msgstr "Φωτογραφίες" @@ -2307,27 +2342,27 @@ msgstr "Τόπος" msgid "Place & Time" msgstr "Τόπος και χρόνος" -#: src/app/routes.js:303 src/app/routes.js:309 src/app/routes.js:315 -#: src/app/routes.js:330 src/component/navigation.vue:986 -#: src/component/navigation.vue:1914 src/options/options.js:203 +#: src/app/routes.js:311 src/app/routes.js:317 src/app/routes.js:323 +#: src/app/routes.js:338 src/component/navigation.vue:999 +#: src/component/navigation.vue:1956 src/options/options.js:203 #: src/page/places.vue:51 src/page/settings/general.vue:609 #: src/page/settings/general.vue:638 msgid "Places" msgstr "Μέρη" -#: src/component/settings/password.vue:129 +#: src/component/settings/password.vue:130 msgid "Please confirm your new password." msgstr "Επιβεβαιώστε τον νέο σας κωδικό πρόσβασης." -#: src/component/settings/apps.vue:185 +#: src/component/settings/apps.vue:188 msgid "Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:" msgstr "Αντιγράψτε τον ακόλουθο τυχαία δημιουργημένο κωδικό πρόσβασης εφαρμογής και διατηρήστε τον σε ασφαλές μέρος, καθώς δεν θα μπορείτε να τον δείτε ξανά:" -#: src/component/upload/dialog.vue:203 +#: src/component/upload/dialog.vue:205 msgid "Please do not upload any private, unlawful or offensive pictures." msgstr "Παρακαλούμε μην ανεβάζετε προσωπικές, παράνομες ή προσβλητικές φωτογραφίες." -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Please don't upload photos containing offensive content." msgstr "Παρακαλούμε μην ανεβάζετε φωτογραφίες που περιέχουν προσβλητικό περιεχόμενο." @@ -2335,11 +2370,11 @@ msgstr "Παρακαλούμε μην ανεβάζετε φωτογραφίες msgid "Please enter OTP character {0}" msgstr "Παρακαλώ εισάγετε χαρακτήρα OTP {0}" -#: src/component/settings/password.vue:66 +#: src/component/settings/password.vue:67 msgid "Please note that changing your password will log you out on other devices and browsers." msgstr "Λάβετε υπόψη ότι η αλλαγή του κωδικού πρόσβασής σας θα σας αποσυνδέσει από άλλες συσκευές και προγράμματα περιήγησης." -#: src/page/connect.vue:148 src/page/connect.vue:152 +#: src/page/connect.vue:149 src/page/connect.vue:153 msgid "Please restart your instance for the changes to take effect." msgstr "Παρακαλούμε επανεκκινήστε την περίπτωσή σας για να τεθούν σε ισχύ οι αλλαγές." @@ -2359,11 +2394,11 @@ msgstr "Όριο μεγέθους PNG: %{n}px" msgid "Portrait" msgstr "Πορτρέτο" -#: src/component/service/edit.vue:273 +#: src/component/service/edit.vue:274 msgid "Preserve filenames" msgstr "Διατήρηση ονομάτων αρχείων" -#: src/component/upload/dialog.vue:162 +#: src/component/upload/dialog.vue:164 msgid "Press enter to create a new album." msgstr "Πιέστε enter για να δημιουργήσετε ένα νέο άλμπουμ." @@ -2400,8 +2435,8 @@ msgstr "Προηγούμενο οπτικό υλικό" msgid "Primary" msgstr "Βασικό" -#: src/app/routes.js:271 src/component/album/edit/dialog.vue:176 -#: src/component/navigation.vue:531 src/component/photo/edit/info.vue:303 +#: src/app/routes.js:279 src/component/album/edit/dialog.vue:177 +#: src/component/navigation.vue:533 src/component/photo/edit/info.vue:303 #: src/page/settings/general.vue:280 msgid "Private" msgstr "Ιδιωτικό" @@ -2426,7 +2461,7 @@ msgstr "Φίλτρο ποιότητας" msgid "Quality Score" msgstr "Βαθμολογία ποιότητας" -#: src/page/admin/users.vue:169 +#: src/page/admin/users.vue:171 msgid "r" msgstr "r" @@ -2457,7 +2492,7 @@ msgstr "Λειτουργία μόνο για ανάγνωση" #: src/component/album/edit/dialog.vue:26 src/component/photo/toolbar.vue:116 #: src/component/photo/toolbar.vue:128 src/component/photo/toolbar.vue:138 -#: src/page/albums.vue:102 +#: src/page/albums.vue:103 msgid "Recently Added" msgstr "Πρόσφατα προστέθηκε" @@ -2465,7 +2500,7 @@ msgstr "Πρόσφατα προστέθηκε" msgid "Recently Archived" msgstr "Πρόσφατα αρχειοθετημένο" -#: src/component/photo/toolbar.vue:139 src/page/albums.vue:103 +#: src/component/photo/toolbar.vue:139 src/page/albums.vue:104 msgid "Recently Edited" msgstr "Πρόσφατη επεξεργασία" @@ -2490,24 +2525,24 @@ msgstr "Κωδικός ανάκτησης" msgid "Red" msgstr "Κόκκινο" -#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:126 -#: src/component/album/toolbar.vue:79 src/component/photo/toolbar.vue:169 -#: src/page/albums.vue:173 src/page/labels.vue:112 +#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:128 +#: src/component/album/toolbar.vue:84 src/component/photo/toolbar.vue:169 +#: src/page/albums.vue:175 src/page/labels.vue:112 #: src/page/library/browse.vue:90 src/page/library/errors.vue:81 #: src/page/people/new.vue:54 src/page/people/recognized.vue:88 msgid "Refresh" msgstr "Ανανέωση" -#: src/app/routes.js:337 src/component/navigation.vue:943 -#: src/component/navigation.vue:1026 +#: src/app/routes.js:345 src/component/navigation.vue:955 +#: src/component/navigation.vue:1040 msgid "Regions" msgstr "Περιφέρειες" -#: src/page/connect.vue:275 src/page/connect.vue:284 +#: src/page/connect.vue:277 src/page/connect.vue:286 msgid "Register" msgstr "Εγγραφή" -#: src/component/navigation.vue:1773 src/component/update.vue:68 +#: src/component/navigation.vue:1806 src/component/update.vue:68 msgid "Reload" msgstr "Επαναφόρτωση" @@ -2552,34 +2587,34 @@ msgstr "Απαιτείται η εξέταση μη φωτογραφικών κ msgid "Resolution" msgstr "Ανάλυση" -#: src/page/connect.vue:179 src/page/connect.vue:183 +#: src/page/connect.vue:180 src/page/connect.vue:184 #: src/page/settings/advanced.vue:782 msgid "Restart" msgstr "Επανεκκίνηση" -#: src/component/user/edit/dialog.vue:485 src/component/lightbox.vue:1221 +#: src/component/user/edit/dialog.vue:488 src/component/lightbox.vue:1221 #: src/component/photo/clipboard.vue:77 msgid "Restore" msgstr "Επαναφορά" -#: src/component/lightbox.vue:2000 +#: src/component/lightbox.vue:2020 msgid "Restored" msgstr "Αποκατεστημένο" -#: src/component/service/edit.vue:428 +#: src/component/service/edit.vue:429 msgid "Retry Limit" msgstr "Όριο επανάληψης" -#: src/component/settings/password.vue:128 +#: src/component/settings/password.vue:129 msgid "Retype Password" msgstr "Επαναλάβετε τον κωδικό πρόσβασης" -#: src/app/routes.js:264 src/component/navigation.vue:505 +#: src/app/routes.js:272 src/component/navigation.vue:507 msgid "Review" msgstr "Ανασκόπηση" -#: src/component/user/add/dialog.vue:171 src/component/user/edit/dialog.vue:284 -#: src/page/admin/sessions.vue:262 src/page/admin/users.vue:73 +#: src/component/user/add/dialog.vue:172 src/component/user/edit/dialog.vue:285 +#: src/page/admin/sessions.vue:263 src/page/admin/users.vue:75 msgid "Role" msgstr "Ρόλος" @@ -2591,11 +2626,11 @@ msgstr "Σειρές ανά σελίδα:" msgid "Satellite" msgstr "Δορυφόρος" -#: src/component/user/edit/dialog.vue:485 -#: src/component/album/edit/dialog.vue:211 -#: src/component/label/edit/dialog.vue:119 -#: src/component/people/edit/dialog.vue:132 src/component/service/edit.vue:466 -#: src/component/settings/password.vue:172 src/component/share/dialog.vue:181 +#: src/component/user/edit/dialog.vue:488 +#: src/component/album/edit/dialog.vue:212 +#: src/component/label/edit/dialog.vue:120 +#: src/component/people/edit/dialog.vue:133 src/component/service/edit.vue:467 +#: src/component/settings/password.vue:173 src/component/share/dialog.vue:181 msgid "Save" msgstr "Αποθήκευση" @@ -2603,23 +2638,23 @@ msgstr "Αποθήκευση" msgid "Scan" msgstr "Σάρωση" -#: src/component/settings/passcode.vue:179 +#: src/component/settings/passcode.vue:182 msgid "Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:" msgstr "Σαρώστε τον κωδικό QR με την εφαρμογή ελέγχου ταυτότητας ή χρησιμοποιήστε το κλειδί ρύθμισης που φαίνεται παρακάτω και, στη συνέχεια, εισαγάγετε τον κωδικό επαλήθευσης που δημιουργήθηκε:" -#: src/component/navigation.vue:461 +#: src/component/navigation.vue:463 msgid "Scans" msgstr "Σαρώσεις" -#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:377 -#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:310 +#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:381 +#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:313 msgid "Scope" msgstr "Πεδίο εφαρμογής" -#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:62 -#: src/component/navigation.vue:342 src/component/navigation.vue:1866 -#: src/component/photo/toolbar.vue:57 src/options/options.js:197 -#: src/page/albums.vue:100 src/page/labels.vue:77 +#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:69 +#: src/component/location/dialog.vue:133 src/component/navigation.vue:343 +#: src/component/navigation.vue:1905 src/component/photo/toolbar.vue:57 +#: src/options/options.js:197 src/page/albums.vue:100 src/page/labels.vue:77 #: src/page/library/errors.vue:76 src/page/people/recognized.vue:66 #: src/page/places.vue:79 src/page/settings/content.vue:235 msgid "Search" @@ -2657,11 +2692,11 @@ msgstr "Επιλέξτε ημερομηνία" msgid "Select dates" msgstr "Επιλέξτε ημερομηνίες" -#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:154 +#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:156 msgid "Select or create an album" msgstr "Επιλέξτε ή δημιουργήστε ένα άλμπουμ" -#: src/component/upload/dialog.vue:138 +#: src/component/upload/dialog.vue:140 msgid "Select the files to upload…" msgstr "Επιλέξτε τα αρχεία που θέλετε να φορτώσετε…" @@ -2689,7 +2724,7 @@ msgstr "Η επιλογή αποκαταστάθηκε" msgid "Sequential Name" msgstr "Διαδοχικό όνομα" -#: src/component/service/add.vue:67 src/component/service/edit.vue:322 +#: src/component/service/add.vue:68 src/component/service/edit.vue:323 #: src/component/share/dialog.vue:25 msgid "Service URL" msgstr "URL υπηρεσίας" @@ -2698,7 +2733,7 @@ msgstr "URL υπηρεσίας" msgid "Services" msgstr "URL υπηρεσίας" -#: src/model/session.js:107 src/options/auth.js:41 src/options/auth.js:90 +#: src/model/session.js:107 src/options/auth.js:42 src/options/auth.js:91 msgid "Session" msgstr "Σύνοδος" @@ -2706,7 +2741,7 @@ msgstr "Σύνοδος" msgid "Session ID" msgstr "Αναγνωριστικό συνεδρίας" -#: src/page/admin.vue:45 +#: src/page/admin.vue:44 msgid "Sessions" msgstr "Συνεδρίες" @@ -2714,22 +2749,22 @@ msgstr "Συνεδρίες" msgid "Set as Album Cover" msgstr "Ορίστε ως εξώφυλλο άλμπουμ" -#: src/app/routes.js:101 src/app/routes.js:492 src/app/routes.js:504 -#: src/app/routes.js:521 src/app/routes.js:534 src/app/routes.js:547 -#: src/component/navigation.vue:1394 src/component/navigation.vue:1806 +#: src/app/routes.js:101 src/app/routes.js:500 src/app/routes.js:512 +#: src/app/routes.js:529 src/app/routes.js:542 src/app/routes.js:555 +#: src/component/navigation.vue:1419 src/component/navigation.vue:1841 msgid "Settings" msgstr "Ρυθμίσεις" #: src/page/settings/account.vue:115 src/page/settings/account.vue:144 -#: src/component/settings/passcode.vue:147 +#: src/component/settings/passcode.vue:151 msgid "Settings saved" msgstr "Οι ρυθμίσεις αποθηκεύτηκαν" -#: src/component/service/upload.vue:131 src/component/settings/passcode.vue:160 +#: src/component/service/upload.vue:132 src/component/settings/passcode.vue:163 msgid "Setup" msgstr "Ρύθμιση" -#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:98 +#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:103 #: src/component/photo/clipboard.vue:51 src/page/settings/general.vue:382 msgid "Share" msgstr "Μοιραστείτε το" @@ -2746,7 +2781,7 @@ msgstr "Μοιραστείτε τις φωτογραφίες σας με άλλ msgid "Show" msgstr "Εμφάνιση" -#: src/page/people/new.vue:116 src/page/people/new.vue:233 +#: src/page/people/new.vue:116 src/page/people/new.vue:235 msgid "Show all new faces" msgstr "Εμφάνιση όλων των νέων προσώπων" @@ -2791,7 +2826,7 @@ msgid "Similar" msgstr "Παρόμοια" #: src/component/photo/edit/files.vue:51 src/component/photo/edit/files.vue:341 -#: src/component/service/edit.vue:139 src/component/sidebar/info.vue:96 +#: src/component/service/edit.vue:140 src/component/sidebar/info.vue:96 msgid "Size" msgstr "Μέγεθος" @@ -2819,7 +2854,7 @@ msgstr "Κάτι πήγε στραβά, δοκιμάστε ξανά" msgid "Sort by" msgstr "Ταξινόμηση κατά" -#: src/component/album/edit/dialog.vue:142 src/component/photo/toolbar.vue:288 +#: src/component/album/edit/dialog.vue:143 src/component/photo/toolbar.vue:290 #: src/page/albums.vue:214 msgid "Sort Order" msgstr "Σειρά ταξινόμησης" @@ -2854,7 +2889,7 @@ msgstr "Στοιβάζετε φωτογραφίες που τραβήχτηκα msgid "Stackable" msgstr "Στοιβαζόμενο" -#: src/component/navigation.vue:421 src/page/settings/content.vue:136 +#: src/component/navigation.vue:423 src/page/settings/content.vue:136 msgid "Stacks" msgstr "Στοίβες" @@ -2882,16 +2917,16 @@ msgstr "Αποθήκευση" msgid "Streets" msgstr "Δρόμοι" -#: src/component/photo/edit/details.vue:494 +#: src/component/photo/edit/details.vue:468 #: src/component/photo/edit/labels.vue:44 msgid "Subject" msgstr "Θέμα" -#: src/page/about/feedback.vue:162 src/page/about/feedback.vue:163 +#: src/page/about/feedback.vue:163 src/page/about/feedback.vue:164 msgid "Submit" msgstr "Υποβολή" -#: src/component/settings/passcode.vue:132 +#: src/component/settings/passcode.vue:136 msgid "Successfully activated" msgstr "Ενεργοποιήθηκε με επιτυχία" @@ -2900,23 +2935,23 @@ msgid "Successfully Connected" msgstr "Επιτυχής σύνδεση" #: src/component/session/remove/dialog.vue:32 -#: src/component/settings/apps.vue:218 +#: src/component/settings/apps.vue:222 msgid "Successfully deleted" msgstr "Διαγράφηκε επιτυχώς" -#: src/component/settings/passcode.vue:107 +#: src/component/settings/passcode.vue:108 msgid "Successfully verified" msgstr "Επαληθεύτηκε με επιτυχία" -#: src/component/user/edit/dialog.vue:398 src/page/admin/users.vue:163 +#: src/component/user/edit/dialog.vue:399 src/page/admin/users.vue:165 msgid "Super Admin" msgstr "Super Admin" -#: src/component/service/add.vue:122 +#: src/component/service/add.vue:123 msgid "Support for additional services, like Google Drive, will be added over time." msgstr "Η υποστήριξη για πρόσθετες υπηρεσίες, όπως το Google Drive, θα προστεθεί με την πάροδο του χρόνου." -#: src/component/confirm/sponsor.vue:37 src/component/navigation.vue:1629 +#: src/component/confirm/sponsor.vue:38 src/component/navigation.vue:1660 msgid "Support Our Mission" msgstr "Υποστηρίξτε την αποστολή μας" @@ -2924,7 +2959,7 @@ msgstr "Υποστηρίξτε την αποστολή μας" msgid "Sync" msgstr "Συγχρονισμός" -#: src/component/service/edit.vue:289 +#: src/component/service/edit.vue:290 msgid "Sync raw and video files" msgstr "Συγχρονισμός αρχείων raw και βίντεο" @@ -2950,23 +2985,23 @@ msgstr "Έδαφος" msgid "Text" msgstr "Κείμενο" -#: src/component/photo/edit/details.vue:32 src/page/people/new.vue:71 +#: src/component/photo/edit/details.vue:40 src/page/people/new.vue:71 msgid "Text too long" msgstr "Πολύ μεγάλο κείμενο" -#: src/page/about/about.vue:145 +#: src/page/about/about.vue:146 msgid "Thank You for Your Support!" msgstr "Ευχαριστούμε για την υποστήριξή σας!" -#: src/page/about/about.vue:79 src/page/about/about.vue:85 +#: src/page/about/about.vue:80 src/page/about/about.vue:86 msgid "That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality." msgstr "Γι' αυτό το λόγο το PhotoPrism δημιουργήθηκε από την αρχή για να λειτουργεί όπου το χρειάζεστε, χωρίς να διακυβεύεται η ελευθερία, η ιδιωτικότητα ή η λειτουργικότητα." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "The index currently contains %{n} hidden files." msgstr "Το ευρετήριο περιέχει επί του παρόντος %{n} κρυμμένα αρχεία." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates." msgstr "Μπορεί να μην υποστηρίζεται η μορφή τους, να μην έχουν μετατραπεί ακόμη σε JPEG ή να υπάρχουν αντίγραφα." @@ -2981,44 +3016,44 @@ msgstr "Θέμα" msgid "This field is required" msgstr "Το πεδίο αυτό είναι υποχρεωτικό" -#: src/component/settings/webdav.vue:100 src/page/settings/services.vue:144 +#: src/component/settings/webdav.vue:101 src/page/settings/services.vue:147 msgid "This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local." msgstr "Αυτό προσαρτά το φάκελο πρωτοτύπων ως μονάδα δίσκου δικτύου και σας επιτρέπει να ανοίγετε, να επεξεργάζεστε και να διαγράφετε αρχεία από τον υπολογιστή ή το smartphone σας σαν να ήταν τοπικά." -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Time UTC" msgstr "Ώρα UTC" -#: src/component/photo/edit/details.vue:219 src/page/settings/general.vue:108 +#: src/component/photo/edit/details.vue:221 src/page/settings/general.vue:108 msgid "Time Zone" msgstr "Ζώνη ώρας" -#: src/component/service/edit.vue:408 +#: src/component/service/edit.vue:409 msgid "Timeout" msgstr "Timeout" -#: src/component/user/edit/dialog.vue:98 src/component/user/edit/dialog.vue:99 +#: src/component/user/edit/dialog.vue:99 src/component/user/edit/dialog.vue:100 #: src/page/settings/account.vue:84 src/page/settings/account.vue:86 msgctxt "Account" msgid "Title" msgstr "Τίτλος" -#: src/component/photo/edit/details.vue:73 +#: src/component/photo/edit/details.vue:75 msgctxt "Photo" msgid "Title" msgstr "Τίτλος" -#: src/component/photo/edit/info.vue:59 src/component/photo/edit/info.vue:155 +#: src/component/photo/edit/info.vue:61 src/component/photo/edit/info.vue:155 #: src/component/photo/edit/labels.vue:40 src/component/photo/view/list.vue:114 #: src/component/sidebar/info.vue:57 msgid "Title" msgstr "Τίτλος" -#: src/page/settings/account.vue:553 src/page/settings/account.vue:555 +#: src/page/settings/account.vue:559 src/page/settings/account.vue:561 msgid "Title / Position" msgstr "Τίτλος / Θέση" -#: src/page/albums.vue:83 +#: src/page/albums.vue:84 msgid "Title too long" msgstr "Πολύ μεγάλος τίτλος" @@ -3026,19 +3061,19 @@ msgstr "Πολύ μεγάλος τίτλος" msgid "to" msgstr "στο" -#: src/component/settings/passcode.vue:312 +#: src/component/settings/passcode.vue:315 msgid "To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place." msgstr "Για να αποφύγετε τον αποκλεισμό του λογαριασμού σας, κάντε λήψη, εκτυπώστε ή αντιγράψτε αυτόν τον κωδικό ανάκτησης τώρα και φυλάξτε τον σε ασφαλές μέρος." -#: src/component/settings/apps.vue:272 +#: src/component/settings/apps.vue:275 msgid "To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:" msgstr "Για να δημιουργήσετε έναν νέο κωδικό πρόσβασης για συγκεκριμένη εφαρμογή, εισαγάγετε το όνομα και το εύρος εξουσιοδότησης της εφαρμογής και επιλέξτε μια ημερομηνία λήξης:" -#: src/component/settings/passcode.vue:400 +#: src/component/settings/passcode.vue:403 msgid "To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:" msgstr "Για να μεταβείτε σε μια νέα εφαρμογή ή συσκευή ελέγχου ταυτότητας, πρώτα απενεργοποιήστε τον έλεγχο ταυτότητας δύο παραγόντων και, στη συνέχεια, ενεργοποιήστε τον ξανά:" -#: src/page/connect.vue:221 src/page/connect.vue:230 +#: src/page/connect.vue:223 src/page/connect.vue:232 msgid "To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:" msgstr "Για να αναβαθμίσετε, μπορείτε είτε να εισαγάγετε έναν κωδικό ενεργοποίησης είτε να κάνετε κλικ στο κουμπί \"Εγγραφή\" για να εγγραφείτε στην ιστοσελίδα μας:" @@ -3046,7 +3081,7 @@ msgstr "Για να αναβαθμίσετε, μπορείτε είτε να ε msgid "Today" msgstr "Σήμερα" -#: src/component/album/toolbar.vue:70 src/component/photo/toolbar.vue:78 +#: src/component/album/toolbar.vue:71 src/component/photo/toolbar.vue:78 msgid "Toggle View" msgstr "Εναλλαγή προβολής" @@ -3073,20 +3108,24 @@ msgstr "Αντιμετώπιση προβλημάτων" msgid "Try again using other filters or keywords." msgstr "Δοκιμάστε ξανά χρησιμοποιώντας άλλα φίλτρα ή λέξεις-κλειδιά." -#: src/component/settings/passcode.vue:380 +#: src/component/settings/passcode.vue:383 msgid "Two-factor authentication has been enabled for your account." msgstr "Ο έλεγχος ταυτότητας δύο παραγόντων έχει ενεργοποιηθεί για τον λογαριασμό σας." #: src/component/photo/edit/files.vue:58 src/component/photo/edit/files.vue:330 -#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:388 +#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:389 msgid "Type" msgstr "Τύπος" -#: src/options/auth.js:13 +#: src/component/album/toolbar.vue:178 +msgid "Unable to delete" +msgstr "Αδυναμία διαγραφής" + +#: src/options/auth.js:14 msgid "Unauthorized" msgstr "Μη εξουσιοδοτημένο" -#: src/component/photo/edit/people.vue:94 +#: src/component/photo/edit/people.vue:95 msgid "Undo" msgstr "Αναίρεση" @@ -3094,16 +3133,16 @@ msgstr "Αναίρεση" msgid "Unique ID" msgstr "Μοναδικό αναγνωριστικό" -#: src/page/settings/account.vue:451 src/page/settings/account.vue:476 -#: src/page/settings/account.vue:501 src/common/util.js:487 -#: src/component/photo/edit/details.vue:21 -#: src/component/photo/edit/details.vue:111 -#: src/component/photo/edit/details.vue:138 -#: src/component/photo/edit/details.vue:164 src/component/sidebar/info.vue:43 -#: src/model/album.js:193 src/model/photo.js:323 src/model/photo.js:784 -#: src/model/photo.js:809 src/model/photo.js:832 src/model/photo.js:850 -#: src/model/photo.js:897 src/model/photo.js:905 src/model/photo.js:994 -#: src/model/photo.js:1016 src/model/photo.js:1061 src/model/photo.js:1074 +#: src/page/settings/account.vue:457 src/page/settings/account.vue:482 +#: src/page/settings/account.vue:507 src/common/util.js:488 +#: src/component/photo/edit/details.vue:27 +#: src/component/photo/edit/details.vue:113 +#: src/component/photo/edit/details.vue:140 +#: src/component/photo/edit/details.vue:166 src/component/sidebar/info.vue:43 +#: src/model/album.js:193 src/model/photo.js:331 src/model/photo.js:821 +#: src/model/photo.js:846 src/model/photo.js:869 src/model/photo.js:887 +#: src/model/photo.js:934 src/model/photo.js:942 src/model/photo.js:1031 +#: src/model/photo.js:1053 src/model/photo.js:1098 src/model/photo.js:1111 #: src/model/user.js:157 src/options/options.js:51 src/options/options.js:69 #: src/options/options.js:86 src/options/options.js:100 #: src/options/options.js:112 src/page/library/errors.vue:251 @@ -3116,7 +3155,7 @@ msgstr "Άγνωστος" msgid "Unregistered" msgstr "Μη εγγεγραμμένο" -#: src/app/routes.js:215 src/component/navigation.vue:644 +#: src/app/routes.js:223 src/component/navigation.vue:648 msgid "Unsorted" msgstr "Μη ταξινομημένο" @@ -3124,7 +3163,7 @@ msgstr "Μη ταξινομημένο" msgid "Unstack" msgstr "Αποσυσκευασία" -#: src/component/photo/edit/files.vue:519 src/component/photo/edit/info.vue:416 +#: src/component/photo/edit/files.vue:521 src/component/photo/edit/info.vue:416 msgid "Updated" msgstr "Ενημερωμένο" @@ -3140,7 +3179,7 @@ msgstr "Ενημέρωση ευρετηρίου" msgid "Updating moments" msgstr "Ενημέρωση στιγμών" -#: src/component/user/edit/dialog.vue:154 +#: src/component/user/edit/dialog.vue:155 msgid "Updating picture…" msgstr "Ενημέρωση εικόνας…" @@ -3152,21 +3191,21 @@ msgstr "Ενημέρωση προεπισκοπήσεων" msgid "Updating stacks" msgstr "Ενημέρωση στοίβας" -#: src/page/connect.vue:57 src/component/navigation.vue:1500 -#: src/component/navigation.vue:1614 src/component/navigation.vue:1999 +#: src/page/connect.vue:57 src/component/navigation.vue:1526 +#: src/component/navigation.vue:1644 src/component/navigation.vue:2047 #: src/page/connect.vue:58 msgid "Upgrade" msgstr "Αναβάθμιση" -#: src/page/about/about.vue:123 src/page/connect.vue:202 -#: src/component/confirm/sponsor.vue:98 src/page/about/about.vue:113 -#: src/page/connect.vue:206 +#: src/page/about/about.vue:124 src/page/connect.vue:204 +#: src/component/confirm/sponsor.vue:99 src/page/about/about.vue:114 +#: src/page/connect.vue:208 msgid "Upgrade Now" msgstr "Αναβάθμιση τώρα" -#: src/component/album/toolbar.vue:108 src/component/navigation.vue:1824 -#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:144 -#: src/component/upload/dialog.vue:51 src/page/albums.vue:183 +#: src/component/album/toolbar.vue:113 src/component/navigation.vue:1860 +#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:145 +#: src/component/upload/dialog.vue:51 src/page/albums.vue:185 #: src/page/labels.vue:122 src/page/library/import.vue:133 #: src/page/settings/general.vue:307 src/page/settings/services.vue:38 msgid "Upload" @@ -3176,21 +3215,21 @@ msgstr "Ανέβασμα" msgid "Upload complete" msgstr "Ανέβασμα ολοκληρωμένο" -#: src/component/upload/dialog.vue:133 +#: src/component/upload/dialog.vue:135 msgid "Upload complete. Indexing…" msgstr "Το ανέβασμα ολοκληρώθηκε. Δημιουργία ευρετηρίου…" #: src/component/upload/dialog.vue:296 src/component/upload/dialog.vue:315 -#: src/component/upload/dialog.vue:129 +#: src/component/upload/dialog.vue:131 msgid "Upload failed" msgstr "Αποτυχία αποστολής" -#: src/component/service/edit.vue:257 +#: src/component/service/edit.vue:258 msgid "Upload local files" msgstr "Ανέβασμα τοπικών αρχείων" -#: src/component/user/edit/dialog.vue:380 #: src/component/user/edit/dialog.vue:381 +#: src/component/user/edit/dialog.vue:382 msgid "Upload Path" msgstr "Διαδρομή φόρτωσης" @@ -3198,7 +3237,7 @@ msgstr "Διαδρομή φόρτωσης" msgid "Upload to WebDAV and share links with friends." msgstr "Ανεβάστε σε WebDAV και μοιραστείτε συνδέσμους με φίλους." -#: src/component/upload/dialog.vue:131 +#: src/component/upload/dialog.vue:133 msgid "Uploading %{n} of %{t}…" msgstr "Ανέβασμα %{n} του %{t}…" @@ -3211,7 +3250,7 @@ msgstr "Ανέβασμα φωτογραφιών…" msgid "Uploading…" msgstr "Επαναγέμισμα…" -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Uploads that may contain such images will be rejected automatically." msgstr "Οι μεταφορτώσεις που ενδέχεται να περιέχουν τέτοιες εικόνες θα απορρίπτονται αυτόματα." @@ -3219,7 +3258,7 @@ msgstr "Οι μεταφορτώσεις που ενδέχεται να περι msgid "Use Presets" msgstr "Χρήση Προεπιλογών" -#: src/component/settings/passcode.vue:283 +#: src/component/settings/passcode.vue:286 msgid "Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:" msgstr "Χρησιμοποιήστε τον ακόλουθο κωδικό ανάκτησης για να αποκτήσετε πρόσβαση στον λογαριασμό σας όταν δεν μπορείτε να δημιουργήσετε έναν έγκυρο κωδικό επαλήθευσης με την εφαρμογή ελέγχου ταυτότητας:" @@ -3227,12 +3266,12 @@ msgstr "Χρησιμοποιήστε τον ακόλουθο κωδικό ανά msgid "Use your recovery code or contact an administrator for help." msgstr "Χρησιμοποιήστε τον κωδικό ανάκτησης ή επικοινωνήστε με έναν διαχειριστή για βοήθεια." -#: src/options/admin.js:10 src/page/admin/sessions.vue:59 -#: src/page/admin/sessions.vue:242 src/model/user.js:361 src/options/auth.js:7 +#: src/options/admin.js:14 src/page/admin/sessions.vue:59 +#: src/page/admin/sessions.vue:243 src/model/user.js:361 src/options/auth.js:8 msgid "User" msgstr "Χρήστης" -#: src/component/navigation.vue:1979 +#: src/component/navigation.vue:2025 msgid "User Guide" msgstr "Οδηγός χρήσης" @@ -3240,14 +3279,14 @@ msgstr "Οδηγός χρήσης" msgid "User Interface" msgstr "Διεπαφή χρήστη" -#: src/component/user/add/dialog.vue:87 src/component/user/add/dialog.vue:88 -#: src/page/admin/sessions.vue:220 src/page/admin/users.vue:71 -#: src/component/service/add.vue:85 src/component/service/edit.vue:337 +#: src/component/user/add/dialog.vue:88 src/component/user/add/dialog.vue:89 +#: src/page/admin/sessions.vue:221 src/page/admin/users.vue:73 +#: src/component/service/add.vue:86 src/component/service/edit.vue:338 #: src/component/share/dialog.vue:26 msgid "Username" msgstr "Όνομα χρήστη" -#: src/component/navigation.vue:1435 +#: src/component/navigation.vue:1461 msgid "Users" msgstr "Χρήστες" @@ -3257,18 +3296,18 @@ msgstr "Χρήστες" msgid "Vector" msgstr "Διάνυσμα" -#: src/component/navigation.vue:440 +#: src/component/navigation.vue:442 msgid "Vectors" msgstr "Φορείς" -#: src/component/settings/passcode.vue:227 src/page/auth/login.vue:144 +#: src/component/settings/passcode.vue:230 src/page/auth/login.vue:144 msgid "Verification Code" msgstr "Κωδικός επαλήθευσης" #: src/component/photo/view/cards.vue:363 #: src/component/photo/view/cards.vue:491 src/component/photo/view/list.vue:190 #: src/component/photo/view/mosaic.vue:207 src/model/file.js:221 -#: src/model/photo.js:921 src/model/photo.js:939 src/options/options.js:293 +#: src/model/photo.js:958 src/model/photo.js:976 src/options/options.js:293 msgid "Video" msgstr "Βίντεο" @@ -3277,12 +3316,12 @@ msgstr "Βίντεο" msgid "Video Duration" msgstr "Διάρκεια Βίντεο" -#: src/app/routes.js:243 src/component/navigation.vue:728 +#: src/app/routes.js:251 src/component/navigation.vue:734 #: src/options/options.js:200 msgid "Videos" msgstr "Βίντεο" -#: src/component/photo/toolbar.vue:261 src/component/photo/view/cards.vue:350 +#: src/component/photo/toolbar.vue:263 src/component/photo/view/cards.vue:350 #: src/component/photo/view/mosaic.vue:194 msgid "View" msgstr "Προβολή" @@ -3291,11 +3330,11 @@ msgstr "Προβολή" msgid "View search results as a list." msgstr "Προβολή των αποτελεσμάτων της αναζήτησης σε μορφή λίστας." -#: src/options/admin.js:14 src/options/auth.js:8 +#: src/options/admin.js:18 src/options/auth.js:9 msgid "Viewer" msgstr "Θεατής" -#: src/page/admin/sessions.vue:271 src/options/auth.js:12 +#: src/page/admin/sessions.vue:272 src/options/auth.js:13 msgid "Visitor" msgstr "Επισκέπτης" @@ -3307,34 +3346,34 @@ msgstr "Ομαδοποίηση με βάση την ομοιότητα" msgid "Warning" msgstr "Προειδοποίηση" -#: src/page/about/feedback.vue:60 +#: src/page/about/feedback.vue:61 msgid "We appreciate your feedback!" msgstr "Εκτιμούμε τα σχόλιά σας!" -#: src/page/about/feedback.vue:63 +#: src/page/about/feedback.vue:64 msgid "We do our best to respond within five business days or less." msgstr "Κάνουμε ό,τι μπορούμε για να απαντήσουμε εντός πέντε εργάσιμων ημερών ή λιγότερο." -#: src/component/user/add/dialog.vue:235 src/component/user/edit/dialog.vue:415 -#: src/page/admin/users.vue:80 +#: src/component/user/add/dialog.vue:236 src/component/user/edit/dialog.vue:416 +#: src/page/admin/users.vue:82 msgid "Web Login" msgstr "Σύνδεση μέσω Web" -#: src/component/user/add/dialog.vue:248 src/component/user/edit/dialog.vue:432 -#: src/page/admin/users.vue:82 src/options/auth.js:55 src/options/auth.js:68 +#: src/component/user/add/dialog.vue:249 src/component/user/edit/dialog.vue:433 +#: src/page/admin/users.vue:84 src/options/auth.js:56 src/options/auth.js:69 #: src/options/options.js:444 msgid "WebDAV" msgstr "WebDAV" -#: src/component/settings/webdav.vue:51 +#: src/component/settings/webdav.vue:52 msgid "WebDAV clients can connect to PhotoPrism using the following URL:" msgstr "Οι πελάτες WebDAV μπορούν να συνδεθούν στο PhotoPrism χρησιμοποιώντας την ακόλουθη διεύθυνση URL:" -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism." msgstr "Οι πελάτες WebDAV, όπως ο Windows Explorer της Microsoft ή το Finder της Apple, μπορούν να συνδεθούν απευθείας στο PhotoPrism." -#: src/component/service/upload.vue:50 src/component/share/dialog.vue:220 +#: src/component/service/upload.vue:51 src/component/share/dialog.vue:220 msgid "WebDAV Upload" msgstr "Ανέβασμα WebDAV" @@ -3342,8 +3381,8 @@ msgstr "Ανέβασμα WebDAV" msgid "WebGL support is disabled in your browser" msgstr "Η υποστήριξη WebGL είναι απενεργοποιημένη στο πρόγραμμα περιήγησής σας" -#: src/page/settings/account.vue:615 src/page/settings/account.vue:709 -#: src/page/settings/account.vue:601 +#: src/page/settings/account.vue:621 src/page/settings/account.vue:715 +#: src/page/settings/account.vue:607 msgid "Website" msgstr "Ιστοσελίδα" @@ -3351,12 +3390,12 @@ msgstr "Ιστοσελίδα" msgid "White" msgstr "Λευκό" -#: src/page/settings/account.vue:532 +#: src/page/settings/account.vue:538 msgid "Work Details" msgstr "Λεπτομέρειες" -#: src/page/settings/account.vue:500 src/component/photo/edit/details.vue:163 -#: src/component/photo/toolbar.vue:315 src/page/albums.vue:159 +#: src/page/settings/account.vue:506 src/component/photo/edit/details.vue:165 +#: src/component/photo/toolbar.vue:317 src/page/albums.vue:159 msgid "Year" msgstr "Έτος" @@ -3364,21 +3403,21 @@ msgstr "Έτος" msgid "Yellow" msgstr "Κίτρινο" -#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:58 -#: src/component/photo/archive/dialog.vue:58 +#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:59 +#: src/component/photo/archive/dialog.vue:59 #: src/component/photo/clipboard.vue:200 src/component/photo/edit/files.vue:365 #: src/component/photo/edit/files.vue:395 #: src/component/photo/edit/files.vue:401 #: src/component/photo/edit/files.vue:407 -#: src/component/photo/edit/files.vue:510 src/component/photo/edit/info.vue:281 +#: src/component/photo/edit/files.vue:512 src/component/photo/edit/info.vue:281 #: src/component/photo/edit/info.vue:297 src/component/photo/edit/info.vue:313 #: src/component/photo/edit/info.vue:329 src/component/photo/edit/info.vue:344 -#: src/component/photo/toolbar.vue:434 +#: src/component/photo/toolbar.vue:436 msgid "Yes" msgstr "Ναι" -#: src/component/confirm/sponsor.vue:59 src/page/about/about.vue:158 -#: src/page/connect.vue:315 +#: src/component/confirm/sponsor.vue:60 src/page/about/about.vue:160 +#: src/page/connect.vue:317 msgid "You are welcome to contact us at membership@photoprism.app for questions regarding your membership." msgstr "Μπορείτε να επικοινωνήσετε μαζί μας στο membership@photoprism.app για ερωτήσεις σχετικά με τη συνδρομή σας." @@ -3390,7 +3429,11 @@ msgstr "Μπορείτε να κατεβάσετε μόνο μια συλλογ msgid "You can only download one label" msgstr "Μπορείτε να κατεβάσετε μόνο μία ετικέτα" -#: src/component/upload/dialog.vue:203 +#: src/component/location/dialog.vue:178 +msgid "You can search for a location or move the marker on the map to change the position:" +msgstr "Μπορείτε να αναζητήσετε μια τοποθεσία ή να μετακινήσετε το δείκτη στο χάρτη για να αλλάξετε τη θέση:" + +#: src/component/upload/dialog.vue:205 msgid "You can upload up to %{n} files for test purposes." msgstr "Μπορείτε να ανεβάσετε έως και %{n} αρχεία για δοκιμαστικούς σκοπούς." @@ -3403,7 +3446,7 @@ msgstr "Μπορείτε να επιλέξετε μόνο ένα στοιχεί msgid "You may rescan your library to find additional faces." msgstr "Μπορείτε να σαρώσετε εκ νέου τη βιβλιοθήκη σας για να βρείτε επιπλέον πρόσωπα." -#: src/page/connect.vue:146 src/page/connect.vue:150 +#: src/page/connect.vue:147 src/page/connect.vue:151 msgid "Your account has been successfully connected." msgstr "Ο λογαριασμός σας έχει συνδεθεί επιτυχώς." @@ -3411,8 +3454,8 @@ msgstr "Ο λογαριασμός σας έχει συνδεθεί επιτυχ msgid "Your browser does not support WebGL" msgstr "Το πρόγραμμα περιήγησής σας δεν υποστηρίζει WebGL" -#: src/component/confirm/sponsor.vue:43 src/page/about/about.vue:97 -#: src/page/about/about.vue:156 src/page/connect.vue:220 +#: src/component/confirm/sponsor.vue:44 src/page/about/about.vue:98 +#: src/page/about/about.vue:158 src/page/connect.vue:222 msgid "Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy." msgstr "Η συνεχής υποστήριξή σας μας βοηθά να παρέχουμε τακτικές ενημερώσεις και υπηρεσίες όπως οι παγκόσμιοι χάρτες." @@ -3493,9 +3536,6 @@ msgstr "Μεγέθυνση/ σμίκρυνση" #~ msgid "Open Folder" #~ msgstr "Άνοιγμα φακέλου" -#~ msgid "Cannot copy to clipboard" -#~ msgstr "Δεν είναι δυνατή η αντιγραφή στο πρόχειρο" - #~ msgid "Sound" #~ msgstr "Ήχος" diff --git a/frontend/src/locales/en.po b/frontend/src/locales/en.po index 197f1a74b..a4a62d099 100644 --- a/frontend/src/locales/en.po +++ b/frontend/src/locales/en.po @@ -41,7 +41,7 @@ msgstr "" msgid "{0}-{1} of {2}" msgstr "" -#: src/page/albums.vue:612 +#: src/page/albums.vue:617 msgid "%{n} albums found" msgstr "" @@ -49,25 +49,25 @@ msgstr "" msgid "%{n} files uploaded" msgstr "" -#: src/page/library/browse.vue:362 +#: src/page/library/browse.vue:364 msgid "%{n} folders found" msgstr "" -#: src/component/navigation.vue:1676 +#: src/component/navigation.vue:1707 msgid "%{n} GB of %{q} GB used" msgstr "" -#: src/page/labels.vue:528 +#: src/page/labels.vue:533 msgid "%{n} labels found" msgstr "" -#: src/page/people/new.vue:350 src/page/people/new.vue:447 -#: src/page/people/recognized.vue:536 +#: src/page/people/new.vue:350 src/page/people/new.vue:450 +#: src/page/people/recognized.vue:541 msgid "%{n} people found" msgstr "" -#: src/page/album/photos.vue:308 src/page/album/photos.vue:493 -#: src/page/photos.vue:441 src/page/photos.vue:631 +#: src/page/album/photos.vue:313 src/page/album/photos.vue:504 +#: src/page/photos.vue:446 src/page/photos.vue:641 msgid "%{n} pictures found" msgstr "" @@ -87,12 +87,12 @@ msgstr "" msgid "12 hours" msgstr "" -#: src/component/user/edit/dialog.vue:452 src/page/settings/account.vue:324 -#: src/component/settings/passcode.vue:75 +#: src/component/user/edit/dialog.vue:453 src/page/settings/account.vue:325 +#: src/component/settings/passcode.vue:78 msgid "2-Factor Authentication" msgstr "" -#: src/component/user/edit/dialog.vue:451 src/options/auth.js:46 +#: src/component/user/edit/dialog.vue:452 src/options/auth.js:47 msgid "2FA" msgstr "" @@ -108,20 +108,20 @@ msgstr "" msgid "A new version of %{s} is available:" msgstr "" -#: src/component/user/edit/dialog.vue:233 -#: src/component/user/edit/dialog.vue:234 src/page/about/about.vue:56 +#: src/component/user/edit/dialog.vue:234 +#: src/component/user/edit/dialog.vue:235 src/page/about/about.vue:56 #: src/page/settings/account.vue:248 src/page/settings/account.vue:249 -#: src/app/routes.js:63 src/component/navigation.vue:1521 -#: src/page/people/recognized.vue:292 +#: src/app/routes.js:63 src/component/navigation.vue:1547 +#: src/page/people/recognized.vue:296 msgid "About" msgstr "" -#: src/options/auth.js:26 src/options/auth.js:44 +#: src/options/auth.js:27 src/options/auth.js:45 msgid "Access Token" msgstr "" -#: src/component/navigation.vue:87 src/component/navigation.vue:1788 -#: src/component/service/upload.vue:71 src/model/service.js:96 +#: src/component/navigation.vue:87 src/component/navigation.vue:1822 +#: src/component/service/upload.vue:72 src/model/service.js:96 #: src/model/user.js:171 src/page/settings.vue:85 #: src/page/settings/general.vue:582 msgid "Account" @@ -135,7 +135,7 @@ msgstr "" msgid "Account deleted" msgstr "" -#: src/page/admin/users.vue:335 +#: src/page/admin/users.vue:337 msgid "Account restored" msgstr "" @@ -156,8 +156,8 @@ msgstr "" msgid "Actions" msgstr "" -#: src/page/connect.vue:294 src/component/settings/passcode.vue:346 -#: src/page/connect.vue:303 +#: src/page/connect.vue:296 src/component/settings/passcode.vue:349 +#: src/page/connect.vue:305 msgid "Activate" msgstr "" @@ -173,20 +173,20 @@ msgstr "" msgid "Activate to sort descending." msgstr "" -#: src/page/connect.vue:231 src/page/connect.vue:240 +#: src/page/connect.vue:233 src/page/connect.vue:242 msgid "Activation Code" msgstr "" -#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:83 -#: src/component/settings/apps.vue:448 +#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:92 +#: src/component/settings/apps.vue:451 msgid "Add" msgstr "" -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:246 msgid "Add %{s}?" msgstr "" -#: src/component/user/add/dialog.vue:56 src/component/service/add.vue:49 +#: src/component/user/add/dialog.vue:57 src/component/service/add.vue:50 msgid "Add Account" msgstr "" @@ -203,8 +203,8 @@ msgid "Add Link" msgstr "" #: src/component/photo/edit/people.vue:25 -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:57 -#: src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:57 +#: src/page/people/new.vue:246 msgid "Add person?" msgstr "" @@ -220,10 +220,15 @@ msgstr "" msgid "Add to album" msgstr "" -#: src/component/photo/edit/files.vue:514 +#: src/component/photo/edit/files.vue:516 msgid "Added" msgstr "" +#: src/component/location/dialog.vue:68 src/component/location/dialog.vue:90 +#: src/component/photo/edit/details.vue:246 +msgid "Adjust Location" +msgstr "" + #: src/options/admin.js:6 src/options/auth.js:6 msgid "Admin" msgstr "" @@ -244,7 +249,7 @@ msgstr "" msgid "After 7 days" msgstr "" -#: src/component/settings/passcode.vue:93 +#: src/component/settings/passcode.vue:96 msgid "After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:" msgstr "" @@ -276,12 +281,16 @@ msgstr "" msgid "Album Backups" msgstr "" -#: src/page/albums.vue:674 +#: src/page/albums.vue:685 msgid "Album created" msgstr "" -#: src/app/routes.js:176 src/component/album/toolbar.vue:51 -#: src/component/navigation.vue:604 src/component/navigation.vue:1882 +#: src/page/album/photos.vue:589 +msgid "Album deleted" +msgstr "" + +#: src/app/routes.js:184 src/component/album/toolbar.vue:55 +#: src/component/navigation.vue:607 src/component/navigation.vue:1922 #: src/component/photo/edit/info.vue:220 src/options/options.js:198 msgid "Albums" msgstr "" @@ -294,7 +303,7 @@ msgstr "" msgid "All" msgstr "" -#: src/page/albums.vue:465 +#: src/page/albums.vue:470 msgid "All %{n} albums loaded" msgstr "" @@ -310,8 +319,8 @@ msgstr "" msgid "All Cameras" msgstr "" -#: src/component/photo/toolbar.vue:74 src/page/albums.vue:44 -#: src/page/albums.vue:240 src/page/albums.vue:746 +#: src/component/photo/toolbar.vue:74 src/page/albums.vue:45 +#: src/page/albums.vue:242 src/page/albums.vue:757 msgid "All Categories" msgstr "" @@ -343,7 +352,7 @@ msgstr "" msgid "All originals" msgstr "" -#: src/component/photo/toolbar.vue:76 src/page/albums.vue:93 +#: src/component/photo/toolbar.vue:76 src/page/albums.vue:94 msgid "All Years" msgstr "" @@ -355,7 +364,7 @@ msgstr "" msgid "Altitude" msgstr "" -#: src/component/photo/edit/details.vue:272 +#: src/component/photo/edit/details.vue:297 msgid "Altitude (m)" msgstr "" @@ -363,8 +372,7 @@ msgstr "" msgid "AM" msgstr "" -#: src/app/routes.js:257 src/component/navigation.vue:791 -#: src/component/photo/edit/files.vue:364 +#: src/app/routes.js:265 src/component/photo/edit/files.vue:364 #: src/component/photo/view/cards.vue:327 #: src/component/photo/view/cards.vue:511 src/component/photo/view/list.vue:184 #: src/component/photo/view/mosaic.vue:171 src/options/options.js:301 @@ -375,43 +383,47 @@ msgstr "" msgid "Animation" msgstr "" +#: src/component/navigation.vue:797 +msgid "Animations" +msgstr "" + #: src/component/share/dialog.vue:207 msgid "Any private photos and videos remain private and won't be shared." msgstr "" -#: src/component/service/edit.vue:372 +#: src/component/service/edit.vue:373 msgid "API Key" msgstr "" -#: src/page/admin/sessions.vue:357 src/options/auth.js:25 +#: src/page/admin/sessions.vue:361 src/options/auth.js:26 msgid "Application" msgstr "" -#: src/component/photo/edit/details.vue:641 +#: src/component/photo/edit/details.vue:615 msgid "Apply" msgstr "" #: src/component/photo/clipboard.vue:64 -#: src/component/photo/edit/details.vue:640 +#: src/component/photo/edit/details.vue:614 #: src/component/photo/view/cards.vue:416 msgid "Approve" msgstr "" -#: src/page/settings/account.vue:374 src/component/settings/apps.vue:91 +#: src/page/settings/account.vue:378 src/component/settings/apps.vue:94 msgid "Apps and Devices" msgstr "" -#: src/app/routes.js:287 src/component/lightbox.vue:1207 -#: src/component/navigation.vue:555 src/component/photo/clipboard.vue:142 +#: src/app/routes.js:295 src/component/lightbox.vue:1207 +#: src/component/navigation.vue:557 src/component/photo/clipboard.vue:142 #: src/component/photo/view/cards.vue:398 src/page/settings/general.vue:432 msgid "Archive" msgstr "" -#: src/component/lightbox.vue:1982 src/component/photo/edit/info.vue:433 +#: src/component/lightbox.vue:2002 src/component/photo/edit/info.vue:433 msgid "Archived" msgstr "" -#: src/component/photo/archive/dialog.vue:34 +#: src/component/photo/archive/dialog.vue:35 msgid "Are you sure you want to archive the selection?" msgstr "" @@ -419,19 +431,23 @@ msgstr "" msgid "Are you sure you want to delete these albums?" msgstr "" -#: src/component/label/delete/dialog.vue:34 +#: src/component/label/delete/dialog.vue:35 msgid "Are you sure you want to delete these labels?" msgstr "" -#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:36 +#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:37 msgid "Are you sure you want to delete this account?" msgstr "" +#: src/component/album/toolbar.vue:136 +msgid "Are you sure you want to delete this album?" +msgstr "" + #: src/component/photo/clipboard.vue:199 msgid "Are you sure you want to permanently delete these pictures?" msgstr "" -#: src/component/file/delete/dialog.vue:34 +#: src/component/file/delete/dialog.vue:35 msgid "Are you sure you want to permanently delete this file?" msgstr "" @@ -440,7 +456,7 @@ msgstr "" msgid "Are you sure?" msgstr "" -#: src/component/photo/edit/details.vue:537 +#: src/component/photo/edit/details.vue:511 msgid "Artist" msgstr "" @@ -448,14 +464,14 @@ msgstr "" msgid "Aspect Ratio" msgstr "" -#: src/app/routes.js:250 src/component/navigation.vue:770 +#: src/app/routes.js:258 src/component/navigation.vue:776 #: src/options/options.js:297 msgid "Audio" msgstr "" -#: src/component/user/add/dialog.vue:190 src/component/user/edit/dialog.vue:309 -#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:281 -#: src/page/admin/users.vue:75 +#: src/component/user/add/dialog.vue:191 src/component/user/edit/dialog.vue:310 +#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:282 +#: src/page/admin/users.vue:77 msgid "Authentication" msgstr "" @@ -463,11 +479,11 @@ msgstr "" msgid "Auto" msgstr "" -#: src/component/settings/apps.vue:151 +#: src/component/settings/apps.vue:154 msgid "Back" msgstr "" -#: src/component/scroll.vue:20 +#: src/component/scroll.vue:18 msgid "Back to top" msgstr "" @@ -479,26 +495,26 @@ msgstr "" msgid "Badge" msgstr "" -#: src/component/user/edit/dialog.vue:361 #: src/component/user/edit/dialog.vue:362 +#: src/component/user/edit/dialog.vue:363 msgid "Base Path" msgstr "" -#: src/page/about/about.vue:95 src/page/connect.vue:220 +#: src/page/about/about.vue:96 src/page/connect.vue:222 msgid "Become a member today, support our mission and enjoy our member benefits!" msgstr "" -#: src/component/confirm/sponsor.vue:51 src/page/about/about.vue:99 +#: src/component/confirm/sponsor.vue:52 src/page/about/about.vue:100 msgid "Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services." msgstr "" -#: src/component/user/edit/dialog.vue:258 -#: src/component/user/edit/dialog.vue:259 src/page/settings/account.vue:227 +#: src/component/user/edit/dialog.vue:259 +#: src/component/user/edit/dialog.vue:260 src/page/settings/account.vue:227 #: src/page/settings/account.vue:228 msgid "Bio" msgstr "" -#: src/page/settings/account.vue:431 +#: src/page/settings/account.vue:437 msgid "Birth Date" msgstr "" @@ -519,7 +535,7 @@ msgid "Brown" msgstr "" #: src/component/photo/edit/files.vue:263 src/component/photo/toolbar.vue:141 -#: src/component/upload/dialog.vue:240 +#: src/component/upload/dialog.vue:242 msgid "Browse" msgstr "" @@ -547,16 +563,16 @@ msgstr "" msgid "Busy, please wait…" msgstr "" -#: src/page/connect.vue:317 +#: src/page/connect.vue:319 msgid "By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct." msgstr "" -#: src/app/routes.js:189 src/component/navigation.vue:1081 +#: src/app/routes.js:197 src/component/navigation.vue:1097 #: src/options/options.js:204 src/page/settings/general.vue:205 msgid "Calendar" msgstr "" -#: src/component/photo/edit/details.vue:346 src/component/photo/toolbar.vue:232 +#: src/component/photo/edit/details.vue:320 src/component/photo/toolbar.vue:234 #: src/component/photo/view/cards.vue:467 src/component/photo/view/list.vue:116 msgid "Camera" msgstr "" @@ -569,12 +585,12 @@ msgstr "" msgid "Can't access your authenticator app or device?" msgstr "" -#: src/page/album/photos.vue:317 src/page/photos.vue:450 +#: src/page/album/photos.vue:322 src/page/photos.vue:455 msgid "Can't load more, limit reached" msgstr "" #: src/common/clipboard.js:102 src/common/clipboard.js:139 -#: src/page/albums.vue:684 src/page/albums.vue:700 src/page/labels.vue:293 +#: src/page/albums.vue:695 src/page/albums.vue:711 src/page/labels.vue:293 #: src/page/labels.vue:313 src/page/library/browse.vue:233 #: src/page/library/browse.vue:249 src/page/people/new.vue:278 #: src/page/people/new.vue:294 src/page/people/recognized.vue:305 @@ -583,26 +599,31 @@ msgid "Can't select more items" msgstr "" #: src/component/session/remove/dialog.vue:45 -#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:473 -#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:119 +#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:474 +#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:120 #: src/component/album/delete/dialog.vue:43 -#: src/component/album/edit/dialog.vue:199 src/component/confirm/dialog.vue:43 -#: src/component/file/delete/dialog.vue:47 -#: src/component/label/delete/dialog.vue:47 -#: src/component/label/edit/dialog.vue:107 -#: src/component/people/edit/dialog.vue:120 +#: src/component/album/edit/dialog.vue:200 src/component/confirm/dialog.vue:43 +#: src/component/file/delete/dialog.vue:48 +#: src/component/label/delete/dialog.vue:48 +#: src/component/label/edit/dialog.vue:108 +#: src/component/location/dialog.vue:200 +#: src/component/people/edit/dialog.vue:121 #: src/component/photo/album/dialog.vue:78 src/component/service/add.vue:19 -#: src/component/service/edit.vue:455 src/component/service/remove.vue:49 -#: src/component/service/upload.vue:117 src/component/settings/apps.vue:352 -#: src/component/settings/passcode.vue:249 -#: src/component/settings/passcode.vue:333 -#: src/component/settings/password.vue:159 src/component/share/dialog.vue:28 -#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:123 +#: src/component/service/edit.vue:456 src/component/service/remove.vue:50 +#: src/component/service/upload.vue:118 src/component/settings/apps.vue:355 +#: src/component/settings/passcode.vue:252 +#: src/component/settings/passcode.vue:336 +#: src/component/settings/password.vue:160 src/component/share/dialog.vue:28 +#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:124 #: src/page/library/import.vue:119 src/page/library/index.vue:128 msgid "Cancel" msgstr "" -#: src/component/photo/edit/details.vue:87 src/component/photo/edit/info.vue:61 +#: src/common/util.js:863 src/common/util.js:870 +msgid "Cannot copy to clipboard" +msgstr "" + +#: src/component/photo/edit/details.vue:89 src/component/photo/edit/info.vue:63 #: src/component/photo/edit/labels.vue:42 #: src/component/photo/view/cards.vue:445 src/component/sidebar/info.vue:72 msgid "Caption" @@ -616,17 +637,17 @@ msgstr "" msgid "Carousel slide {0} of {1}" msgstr "" -#: src/page/about/feedback.vue:82 src/page/about/feedback.vue:83 -#: src/component/album/edit/dialog.vue:128 src/component/photo/toolbar.vue:397 +#: src/page/about/feedback.vue:83 src/page/about/feedback.vue:84 +#: src/component/album/edit/dialog.vue:129 src/component/photo/toolbar.vue:399 #: src/page/albums.vue:187 msgid "Category" msgstr "" -#: src/component/user/edit/dialog.vue:191 src/page/settings/account.vue:201 +#: src/component/user/edit/dialog.vue:192 src/page/settings/account.vue:201 msgid "Change Avatar" msgstr "" -#: src/page/settings/account.vue:297 src/component/settings/password.vue:48 +#: src/page/settings/account.vue:297 src/component/settings/password.vue:49 msgid "Change Password" msgstr "" @@ -643,17 +664,17 @@ msgid "Change private flag" msgstr "" #: src/component/user/add/dialog.vue:108 src/component/user/add/dialog.vue:113 -#: src/component/user/edit/dialog.vue:90 src/component/user/edit/dialog.vue:95 +#: src/component/user/edit/dialog.vue:91 src/component/user/edit/dialog.vue:96 #: src/page/settings/account.vue:121 src/page/settings/account.vue:126 msgid "Changes could not be saved" msgstr "" -#: src/component/user/edit/dialog.vue:83 src/component/user/edit/dialog.vue:159 +#: src/component/user/edit/dialog.vue:84 src/component/user/edit/dialog.vue:160 #: src/component/album/edit/dialog.vue:73 -#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1941 +#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1961 #: src/component/photo/edit/files.vue:162 src/component/service/edit.vue:90 #: src/component/share/dialog.vue:92 src/component/share/dialog.vue:111 -#: src/page/albums.vue:677 src/page/people/recognized.vue:119 +#: src/page/albums.vue:688 src/page/people/recognized.vue:119 #: src/page/settings/advanced.vue:62 src/page/settings/content.vue:62 #: src/page/settings/general.vue:108 msgid "Changes successfully saved" @@ -667,7 +688,7 @@ msgstr "" msgid "Checked" msgstr "" -#: src/component/photo/edit/files.vue:495 +#: src/component/photo/edit/files.vue:497 msgid "Chroma" msgstr "" @@ -683,24 +704,24 @@ msgstr "" msgid "Clear {0}" msgstr "" -#: src/options/auth.js:11 src/options/auth.js:23 src/options/auth.js:43 +#: src/options/auth.js:12 src/options/auth.js:24 src/options/auth.js:44 msgid "Client" msgstr "" -#: src/options/auth.js:24 +#: src/options/auth.js:25 msgid "Client Credentials" msgstr "" -#: src/page/admin/sessions.vue:529 src/component/lightbox.vue:284 -#: src/component/lightbox.vue:1009 src/component/lightbox.vue:1010 -#: src/component/photo/edit/details.vue:627 src/component/photo/toolbar.vue:160 -#: src/component/settings/apps.vue:224 src/component/settings/apps.vue:437 -#: src/component/settings/passcode.vue:148 -#: src/component/settings/passcode.vue:456 -#: src/component/settings/passcode.vue:497 -#: src/component/settings/webdav.vue:131 src/component/share/dialog.vue:231 +#: src/component/user/edit/dialog.vue:474 src/page/admin/sessions.vue:536 +#: src/component/lightbox.vue:284 src/component/lightbox.vue:1009 +#: src/component/lightbox.vue:1010 src/component/photo/edit/details.vue:601 +#: src/component/photo/toolbar.vue:161 src/component/settings/apps.vue:227 +#: src/component/settings/apps.vue:440 src/component/settings/passcode.vue:151 +#: src/component/settings/passcode.vue:459 +#: src/component/settings/passcode.vue:500 +#: src/component/settings/webdav.vue:132 src/component/share/dialog.vue:231 #: src/component/sidebar/info.vue:26 src/component/update.vue:57 -#: src/component/upload/dialog.vue:228 src/locales.js:206 +#: src/component/upload/dialog.vue:230 src/locales.js:206 #: src/page/library/errors.vue:253 msgid "Close" msgstr "" @@ -709,11 +730,11 @@ msgstr "" msgid "Codec" msgstr "" -#: src/component/photo/toolbar.vue:369 +#: src/component/photo/toolbar.vue:371 msgid "Color" msgstr "" -#: src/component/photo/edit/files.vue:483 +#: src/component/photo/edit/files.vue:485 msgid "Color Profile" msgstr "" @@ -721,7 +742,7 @@ msgstr "" msgid "Colors" msgstr "" -#: src/page/connect.vue:260 src/page/connect.vue:269 +#: src/page/connect.vue:262 src/page/connect.vue:271 msgid "Compare Editions" msgstr "" @@ -734,17 +755,18 @@ msgstr "" msgid "Confidence" msgstr "" +#: src/component/location/dialog.vue:212 #: src/component/photo/album/dialog.vue:90 -#: src/component/settings/passcode.vue:261 +#: src/component/settings/passcode.vue:264 msgid "Confirm" msgstr "" -#: src/component/service/add.vue:20 src/page/settings/services.vue:187 +#: src/component/service/add.vue:20 src/page/settings/services.vue:191 msgid "Connect" msgstr "" -#: src/page/settings/account.vue:401 src/component/settings/webdav.vue:45 -#: src/page/settings/services.vue:167 +#: src/page/settings/account.vue:406 src/component/settings/webdav.vue:46 +#: src/page/settings/services.vue:170 msgid "Connect via WebDAV" msgstr "" @@ -752,22 +774,22 @@ msgstr "" msgid "Connected" msgstr "" -#: src/page/settings/account.vue:640 src/page/settings/account.vue:532 +#: src/page/settings/account.vue:646 src/page/settings/account.vue:538 msgid "Contact Details" msgstr "" -#: src/page/about/feedback.vue:37 src/page/connect.vue:132 -#: src/page/connect.vue:136 +#: src/page/about/feedback.vue:37 src/page/connect.vue:133 +#: src/page/connect.vue:137 msgid "Contact Us" msgstr "" #: src/page/albums.vue:433 src/page/labels.vue:237 -#: src/page/people/recognized.vue:306 +#: src/page/people/recognized.vue:310 msgid "Contains %{n} pictures." msgstr "" #: src/page/albums.vue:427 src/page/labels.vue:231 -#: src/page/people/recognized.vue:300 +#: src/page/people/recognized.vue:304 msgid "Contains one picture." msgstr "" @@ -775,7 +797,7 @@ msgstr "" msgid "Content" msgstr "" -#: src/component/settings/apps.vue:163 +#: src/component/settings/apps.vue:166 msgid "Continue" msgstr "" @@ -783,7 +805,7 @@ msgstr "" msgid "Continue with %{provider}" msgstr "" -#: src/options/admin.js:18 src/options/auth.js:9 +#: src/options/admin.js:22 src/options/auth.js:10 msgid "Contributor" msgstr "" @@ -791,15 +813,15 @@ msgstr "" msgid "Converting" msgstr "" -#: src/common/util.js:846 +#: src/common/util.js:856 msgid "Copied to clipboard" msgstr "" -#: src/component/settings/apps.vue:250 src/component/settings/passcode.vue:358 +#: src/component/settings/apps.vue:253 src/component/settings/passcode.vue:361 msgid "Copy" msgstr "" -#: src/component/photo/edit/details.vue:516 +#: src/component/photo/edit/details.vue:490 msgid "Copyright" msgstr "" @@ -807,8 +829,8 @@ msgstr "" msgid "Couldn't find anything." msgstr "" -#: src/page/settings/account.vue:685 src/component/photo/edit/details.vue:242 -#: src/component/photo/toolbar.vue:203 src/page/settings/account.vue:577 +#: src/page/settings/account.vue:691 src/component/photo/edit/details.vue:268 +#: src/component/photo/toolbar.vue:205 src/page/settings/account.vue:583 msgid "Country" msgstr "" @@ -832,7 +854,7 @@ msgstr "" msgid "Create YAML sidecar files to back up picture metadata." msgstr "" -#: src/page/admin/sessions.vue:417 src/component/photo/edit/info.vue:412 +#: src/page/admin/sessions.vue:422 src/component/photo/edit/info.vue:412 msgid "Created" msgstr "" @@ -844,11 +866,11 @@ msgstr "" msgid "Cubic: Moderate Quality, Good Performance" msgstr "" -#: src/component/settings/password.vue:85 +#: src/component/settings/password.vue:86 msgid "Current Password" msgstr "" -#: src/options/themes.js:919 src/options/themes.js:928 +#: src/options/themes.js:920 src/options/themes.js:929 msgid "Custom" msgstr "" @@ -864,11 +886,11 @@ msgstr "" msgid "Database Backups" msgstr "" -#: src/page/settings/account.vue:450 src/component/photo/edit/details.vue:110 +#: src/page/settings/account.vue:456 src/component/photo/edit/details.vue:112 msgid "Day" msgstr "" -#: src/component/settings/passcode.vue:445 +#: src/component/settings/passcode.vue:448 msgid "Deactivate" msgstr "" @@ -876,36 +898,40 @@ msgstr "" msgid "Debug Logs" msgstr "" -#: src/options/admin.js:31 src/page/admin/sessions.vue:136 -#: src/page/admin/users.vue:176 src/component/photo/edit/info.vue:47 +#: src/options/admin.js:35 src/page/admin/sessions.vue:136 +#: src/page/admin/users.vue:178 src/component/photo/edit/info.vue:47 #: src/component/photo/edit/info.vue:110 src/model/session.js:66 -#: src/model/user.js:246 src/options/auth.js:20 src/options/auth.js:21 -#: src/options/auth.js:39 src/options/auth.js:40 src/options/options.js:196 +#: src/model/user.js:246 src/options/auth.js:21 src/options/auth.js:22 +#: src/options/auth.js:40 src/options/auth.js:41 src/options/options.js:196 #: src/options/options.js:232 src/options/options.js:316 -#: src/options/themes.js:773 +#: src/options/themes.js:774 msgid "Default" msgstr "" -#: src/component/service/edit.vue:123 +#: src/component/service/edit.vue:124 msgid "Default Folder" msgstr "" #: src/component/session/remove/dialog.vue:56 #: src/component/user/remove/dialog.vue:56 src/component/album/clipboard.vue:97 -#: src/component/album/delete/dialog.vue:54 -#: src/component/file/delete/dialog.vue:58 src/component/label/clipboard.vue:58 -#: src/component/label/delete/dialog.vue:58 +#: src/component/album/delete/dialog.vue:54 src/component/album/toolbar.vue:137 +#: src/component/file/delete/dialog.vue:59 src/component/label/clipboard.vue:58 +#: src/component/label/delete/dialog.vue:59 #: src/component/photo/clipboard.vue:168 src/component/photo/edit/files.vue:238 -#: src/component/service/remove.vue:60 src/component/share/dialog.vue:170 +#: src/component/service/remove.vue:61 src/component/share/dialog.vue:170 #: src/page/settings/general.vue:457 msgid "Delete" msgstr "" +#: src/component/album/toolbar.vue:133 +msgid "Delete Album" +msgstr "" + #: src/component/photo/toolbar.vue:119 src/page/library/errors.vue:95 msgid "Delete All" msgstr "" -#: src/component/photo/toolbar.vue:433 src/page/library/errors.vue:193 +#: src/component/photo/toolbar.vue:435 src/page/library/errors.vue:193 msgid "Delete all?" msgstr "" @@ -913,16 +939,16 @@ msgstr "" msgid "Delete orphaned index entries, sidecar files and thumbnails." msgstr "" -#: src/component/album/edit/dialog.vue:107 src/page/albums.vue:411 +#: src/component/album/edit/dialog.vue:108 src/page/albums.vue:411 msgid "Description" msgstr "" -#: src/component/settings/webdav.vue:115 +#: src/component/settings/webdav.vue:116 msgid "Detailed instructions can be found in our User Guide." msgstr "" -#: src/component/photo/edit/dialog.vue:156 -#: src/component/photo/edit/dialog.vue:173 +#: src/component/photo/edit/dialog.vue:162 +#: src/component/photo/edit/dialog.vue:181 msgid "Details" msgstr "" @@ -986,8 +1012,8 @@ msgstr "" msgid "Disables video transcoding and thumbnail extraction." msgstr "" -#: src/app/routes.js:558 src/app/routes.js:565 src/app/routes.js:572 -#: src/app/routes.js:579 +#: src/app/routes.js:566 src/app/routes.js:573 src/app/routes.js:580 +#: src/app/routes.js:587 msgid "Discover" msgstr "" @@ -995,9 +1021,9 @@ msgstr "" msgid "Dismiss" msgstr "" -#: src/component/user/add/dialog.vue:133 src/component/user/add/dialog.vue:134 -#: src/component/user/edit/dialog.vue:163 -#: src/component/user/edit/dialog.vue:164 src/page/admin/users.vue:72 +#: src/component/user/add/dialog.vue:134 src/component/user/add/dialog.vue:135 +#: src/component/user/edit/dialog.vue:164 +#: src/component/user/edit/dialog.vue:165 src/page/admin/users.vue:74 #: src/page/settings/account.vue:149 src/page/settings/account.vue:151 msgid "Display Name" msgstr "" @@ -1012,12 +1038,12 @@ msgstr "" #: src/component/photo/view/cards.vue:339 #: src/component/photo/view/cards.vue:521 -#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:174 +#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:176 #: src/options/options.js:309 msgid "Document" msgstr "" -#: src/component/navigation.vue:480 +#: src/component/navigation.vue:482 msgid "Documents" msgstr "" @@ -1033,16 +1059,16 @@ msgstr "" msgid "Don't use RawTherapee to convert RAW images." msgstr "" -#: src/component/settings/apps.vue:238 src/component/share/dialog.vue:29 +#: src/component/settings/apps.vue:241 src/component/share/dialog.vue:29 msgid "Done" msgstr "" -#: src/component/upload/dialog.vue:135 src/page/library/import.vue:46 +#: src/component/upload/dialog.vue:137 src/page/library/import.vue:46 #: src/page/library/index.vue:52 msgid "Done." msgstr "" -#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:118 +#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:123 #: src/component/file/clipboard.vue:48 src/component/lightbox.vue:1235 #: src/component/people/clipboard.vue:47 src/component/photo/clipboard.vue:116 #: src/component/photo/edit/files.vue:168 src/page/settings/content.vue:331 @@ -1054,7 +1080,7 @@ msgstr "" msgid "Download only original media files, without any automatically generated files." msgstr "" -#: src/component/service/edit.vue:237 +#: src/component/service/edit.vue:238 msgid "Download remote files" msgstr "" @@ -1062,9 +1088,9 @@ msgstr "" msgid "Download single files and zip archives." msgstr "" -#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:157 +#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:172 #: src/component/file/clipboard.vue:61 src/component/label/clipboard.vue:86 -#: src/component/lightbox.vue:2021 src/component/people/clipboard.vue:59 +#: src/component/lightbox.vue:2041 src/component/people/clipboard.vue:59 #: src/component/photo/clipboard.vue:220 src/component/photo/edit/files.vue:119 #: src/component/photo/view/cards.vue:169 src/component/photo/view/list.vue:142 #: src/page/library/browse.vue:139 @@ -1079,7 +1105,7 @@ msgstr "" msgid "Drag and drop files here" msgstr "" -#: src/page/about/feedback.vue:61 +#: src/page/about/feedback.vue:62 msgid "Due to the high volume of emails we receive, our team may be unable to get back to you immediately." msgstr "" @@ -1099,23 +1125,23 @@ msgstr "" msgid "Dynamic Size Limit: %{n}px" msgstr "" -#: src/page/about/feedback.vue:141 src/page/about/feedback.vue:140 +#: src/page/about/feedback.vue:142 src/page/about/feedback.vue:141 msgid "E-Mail" msgstr "" -#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:89 +#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:94 #: src/component/lightbox.vue:1136 src/component/lightbox.vue:1137 #: src/component/photo/clipboard.vue:90 src/page/settings/general.vue:407 msgid "Edit" msgstr "" -#: src/component/album/edit/dialog.vue:54 -#: src/component/label/edit/dialog.vue:52 -#: src/component/people/edit/dialog.vue:52 +#: src/component/album/edit/dialog.vue:55 +#: src/component/label/edit/dialog.vue:53 +#: src/component/people/edit/dialog.vue:53 msgid "Edit %{s}" msgstr "" -#: src/component/user/edit/dialog.vue:61 src/component/service/edit.vue:79 +#: src/component/user/edit/dialog.vue:62 src/component/service/edit.vue:79 msgid "Edit Account" msgstr "" @@ -1127,8 +1153,8 @@ msgstr "" msgid "Edited" msgstr "" -#: src/component/user/add/dialog.vue:151 src/component/user/edit/dialog.vue:213 -#: src/page/settings/account.vue:171 src/page/settings/account.vue:593 +#: src/component/user/add/dialog.vue:152 src/component/user/edit/dialog.vue:214 +#: src/page/settings/account.vue:171 src/page/settings/account.vue:599 msgid "Email" msgstr "" @@ -1144,7 +1170,7 @@ msgstr "" msgid "Enables RAW converter presets. May reduce performance." msgstr "" -#: src/component/settings/passcode.vue:127 +#: src/component/settings/passcode.vue:130 msgid "Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account." msgstr "" @@ -1156,7 +1182,7 @@ msgstr "" msgid "Enter dates" msgstr "" -#: src/component/settings/passcode.vue:213 src/page/auth/login.vue:104 +#: src/component/settings/passcode.vue:216 src/page/auth/login.vue:104 msgid "Enter the code generated by your authenticator app:" msgstr "" @@ -1164,7 +1190,7 @@ msgstr "" msgid "Enter verification code" msgstr "" -#: src/component/settings/apps.vue:109 +#: src/component/settings/apps.vue:112 msgid "Enter your password to confirm the action and continue:" msgstr "" @@ -1173,7 +1199,7 @@ msgstr "" msgid "Error" msgstr "" -#: src/app/routes.js:374 src/component/navigation.vue:1348 +#: src/app/routes.js:382 src/component/navigation.vue:1372 msgid "Errors" msgstr "" @@ -1209,13 +1235,13 @@ msgstr "" msgid "Experimental Features" msgstr "" -#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:453 -#: src/component/service/edit.vue:157 src/component/settings/apps.vue:73 -#: src/component/settings/apps.vue:326 src/component/share/dialog.vue:62 +#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:458 +#: src/component/service/edit.vue:158 src/component/settings/apps.vue:73 +#: src/component/settings/apps.vue:329 src/component/share/dialog.vue:62 msgid "Expires" msgstr "" -#: src/component/photo/edit/details.vue:396 +#: src/component/photo/edit/details.vue:370 msgid "Exposure" msgstr "" @@ -1223,7 +1249,7 @@ msgstr "" msgid "Extract still images and generate thumbnails while indexing." msgstr "" -#: src/component/photo/edit/details.vue:444 +#: src/component/photo/edit/details.vue:418 msgid "F Number" msgstr "" @@ -1239,7 +1265,7 @@ msgstr "" msgid "Failed removing link" msgstr "" -#: src/page/connect.vue:106 src/page/connect.vue:110 +#: src/page/connect.vue:107 src/page/connect.vue:111 msgid "Failed to connect account." msgstr "" @@ -1247,8 +1273,8 @@ msgstr "" msgid "Failed updating link" msgstr "" -#: src/component/user/edit/dialog.vue:143 -#: src/component/user/edit/dialog.vue:144 src/page/settings/account.vue:128 +#: src/component/user/edit/dialog.vue:144 +#: src/component/user/edit/dialog.vue:145 src/page/settings/account.vue:128 #: src/page/settings/account.vue:130 msgid "Family Name" msgstr "" @@ -1257,15 +1283,15 @@ msgstr "" msgid "Fast" msgstr "" -#: src/component/album/edit/dialog.vue:159 -#: src/component/label/edit/dialog.vue:85 -#: src/component/people/edit/dialog.vue:85 +#: src/component/album/edit/dialog.vue:160 +#: src/component/label/edit/dialog.vue:86 +#: src/component/people/edit/dialog.vue:86 #: src/component/photo/edit/info.vue:287 msgid "Favorite" msgstr "" -#: src/app/routes.js:222 src/component/navigation.vue:893 -#: src/options/options.js:202 src/page/albums.vue:97 +#: src/app/routes.js:230 src/component/navigation.vue:903 +#: src/options/options.js:202 src/page/albums.vue:98 msgid "Favorites" msgstr "" @@ -1273,7 +1299,7 @@ msgstr "" msgid "Feature Request" msgstr "" -#: src/component/navigation.vue:1456 +#: src/component/navigation.vue:1482 msgid "Feedback" msgstr "" @@ -1281,11 +1307,12 @@ msgstr "" msgid "Female" msgstr "" -#: src/component/photo/edit/info.vue:214 src/model/file.js:290 +#: src/component/photo/edit/info.vue:57 src/component/photo/edit/info.vue:214 +#: src/model/file.js:290 msgid "File" msgstr "" -#: src/app/routes.js:343 +#: src/app/routes.js:351 msgid "File Browser" msgstr "" @@ -1308,8 +1335,8 @@ msgstr "" msgid "Filename" msgstr "" -#: src/component/navigation.vue:1930 src/component/photo/edit/dialog.vue:267 -#: src/component/photo/edit/dialog.vue:284 +#: src/component/navigation.vue:1973 src/component/photo/edit/dialog.vue:279 +#: src/component/photo/edit/dialog.vue:298 msgid "Files" msgstr "" @@ -1321,26 +1348,26 @@ msgstr "" msgid "First page" msgstr "" -#: src/component/photo/edit/details.vue:465 +#: src/component/photo/edit/details.vue:439 msgid "Focal Length" msgstr "" -#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:118 -#: src/component/service/edit.vue:189 src/component/service/edit.vue:194 -#: src/component/service/upload.vue:90 src/component/service/upload.vue:96 +#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:119 +#: src/component/service/edit.vue:190 src/component/service/edit.vue:195 +#: src/component/service/upload.vue:91 src/component/service/upload.vue:97 #: src/model/folder.js:199 src/page/library/browse.vue:182 msgid "Folder" msgstr "" -#: src/page/library/browse.vue:365 +#: src/page/library/browse.vue:367 msgid "Folder contains %{n} files" msgstr "" -#: src/page/library/browse.vue:356 +#: src/page/library/browse.vue:358 msgid "Folder is empty" msgstr "" -#: src/app/routes.js:202 src/component/navigation.vue:1225 +#: src/app/routes.js:210 src/component/navigation.vue:1247 #: src/options/options.js:207 msgid "Folders" msgstr "" @@ -1357,7 +1384,7 @@ msgstr "" msgid "Frames" msgstr "" -#: src/options/auth.js:54 src/options/auth.js:64 +#: src/options/auth.js:55 src/options/auth.js:65 msgid "Full Access" msgstr "" @@ -1369,7 +1396,7 @@ msgstr "" msgid "General" msgstr "" -#: src/component/settings/apps.vue:364 +#: src/component/settings/apps.vue:367 msgid "Generate" msgstr "" @@ -1389,8 +1416,8 @@ msgstr "" msgid "Get Started" msgstr "" -#: src/component/user/edit/dialog.vue:120 -#: src/component/user/edit/dialog.vue:121 src/page/settings/account.vue:106 +#: src/component/user/edit/dialog.vue:121 +#: src/component/user/edit/dialog.vue:122 src/page/settings/account.vue:106 #: src/page/settings/account.vue:108 msgid "Given Name" msgstr "" @@ -1415,7 +1442,7 @@ msgstr "" msgid "Grey" msgstr "" -#: src/options/admin.js:22 src/options/auth.js:10 +#: src/options/admin.js:26 src/options/auth.js:11 msgid "Guest" msgstr "" @@ -1431,15 +1458,15 @@ msgstr "" msgid "Help & Support" msgstr "" -#: src/component/navigation.vue:1327 src/component/people/edit/dialog.vue:98 +#: src/component/navigation.vue:1351 src/component/people/edit/dialog.vue:99 msgid "Hidden" msgstr "" -#: src/app/routes.js:358 +#: src/app/routes.js:366 msgid "Hidden Files" msgstr "" -#: src/page/people/new.vue:165 src/page/people/recognized.vue:205 +#: src/page/people/new.vue:166 src/page/people/recognized.vue:206 msgid "Hide" msgstr "" @@ -1455,7 +1482,7 @@ msgstr "" msgid "High Dynamic Range (HDR)" msgstr "" -#: src/page/about/feedback.vue:103 +#: src/page/about/feedback.vue:104 msgid "How can we help?" msgstr "" @@ -1463,11 +1490,11 @@ msgstr "" msgid "Hybrid" msgstr "" -#: src/component/settings/passcode.vue:389 +#: src/component/settings/passcode.vue:392 msgid "If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account." msgstr "" -#: src/component/photo/edit/info.vue:63 src/component/photo/edit/labels.vue:46 +#: src/component/photo/edit/info.vue:65 src/component/photo/edit/labels.vue:46 #: src/component/photo/view/cards.vue:532 src/model/file.js:218 #: src/options/options.js:281 msgid "Image" @@ -1477,7 +1504,7 @@ msgstr "" msgid "Image Quality" msgstr "" -#: src/page/library.vue:46 src/page/library/import.vue:152 +#: src/page/library.vue:46 src/page/library/import.vue:153 #: src/page/settings/general.vue:357 msgid "Import" msgstr "" @@ -1502,8 +1529,8 @@ msgstr "" msgid "Importing files to originals…" msgstr "" -#: src/component/photo/edit/files.vue:515 -#: src/component/photo/edit/files.vue:520 +#: src/component/photo/edit/files.vue:517 +#: src/component/photo/edit/files.vue:522 msgid "in" msgstr "" @@ -1521,11 +1548,11 @@ msgstr "" msgid "Include sidecar files when downloading stacks and archives." msgstr "" -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Increase storage size or delete files to continue." msgstr "" -#: src/component/navigation.vue:1946 src/page/library.vue:36 +#: src/component/navigation.vue:1990 src/page/library.vue:36 #: src/page/settings/content.vue:34 msgid "Index" msgstr "" @@ -1555,11 +1582,11 @@ msgstr "" msgid "Instance ID" msgstr "" -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Insufficient storage." msgstr "" -#: src/component/service/edit.vue:209 +#: src/component/service/edit.vue:210 msgid "Interval" msgstr "" @@ -1580,7 +1607,7 @@ msgstr "" msgid "Invalid country" msgstr "" -#: src/component/photo/edit/details.vue:174 +#: src/component/photo/edit/details.vue:169 msgid "Invalid date" msgstr "" @@ -1589,7 +1616,7 @@ msgstr "" msgid "Invalid parameters" msgstr "" -#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:197 +#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:199 msgid "Invalid photo selected" msgstr "" @@ -1601,8 +1628,8 @@ msgstr "" msgid "Invalid URL" msgstr "" -#: src/component/settings/passcode.vue:314 -#: src/component/settings/passcode.vue:391 +#: src/component/settings/passcode.vue:317 +#: src/component/settings/passcode.vue:394 msgid "It is a one-time use code that will disable 2FA for your account when you use it." msgstr "" @@ -1626,7 +1653,7 @@ msgstr "" msgid "JPEGs and thumbnails are automatically rendered as needed." msgstr "" -#: src/component/photo/edit/details.vue:581 +#: src/component/photo/edit/details.vue:555 msgid "Keywords" msgstr "" @@ -1635,9 +1662,9 @@ msgstr "" msgid "Label" msgstr "" -#: src/app/routes.js:389 src/component/navigation.vue:1177 -#: src/component/photo/edit/dialog.vue:188 -#: src/component/photo/edit/dialog.vue:205 src/options/options.js:206 +#: src/app/routes.js:397 src/component/navigation.vue:1197 +#: src/component/photo/edit/dialog.vue:196 +#: src/component/photo/edit/dialog.vue:215 src/options/options.js:206 #: src/page/settings/general.vue:255 msgid "Labels" msgstr "" @@ -1654,11 +1681,11 @@ msgstr "" msgid "Language" msgstr "" -#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:435 +#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:440 msgid "Last Active" msgstr "" -#: src/page/admin/users.vue:81 +#: src/page/admin/users.vue:83 msgid "Last Login" msgstr "" @@ -1674,42 +1701,41 @@ msgstr "" msgid "Last Used" msgstr "" -#: src/component/photo/edit/details.vue:298 #: src/component/photo/edit/info.vue:373 msgid "Latitude" msgstr "" -#: src/options/admin.js:43 src/options/auth.js:29 +#: src/options/admin.js:47 src/options/auth.js:30 msgid "LDAP/AD" msgstr "" -#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:86 -#: src/page/about/about.vue:62 src/page/about/about.vue:132 +#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:87 +#: src/page/about/about.vue:62 src/page/about/about.vue:133 #: src/page/connect.vue:67 src/page/help.vue:36 msgid "Learn more" msgstr "" -#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:135 +#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:137 #: src/page/labels.vue:132 msgid "Learn More" msgstr "" -#: src/component/navigation.vue:2017 +#: src/component/navigation.vue:2066 msgid "Legal Information" msgstr "" -#: src/component/photo/edit/details.vue:417 +#: src/component/photo/edit/details.vue:391 #: src/component/photo/view/cards.vue:480 msgid "Lens" msgstr "" -#: src/app/routes.js:443 src/app/routes.js:459 src/app/routes.js:475 -#: src/component/navigation.vue:1267 src/page/settings/general.vue:507 +#: src/app/routes.js:451 src/app/routes.js:467 src/app/routes.js:483 +#: src/component/navigation.vue:1290 src/page/settings/general.vue:507 msgid "Library" msgstr "" #: src/page/connect.vue:45 src/app/routes.js:69 -#: src/component/navigation.vue:1478 src/component/photo/edit/details.vue:559 +#: src/component/navigation.vue:1504 src/component/photo/edit/details.vue:533 #: src/page/about/license.vue:28 msgid "License" msgstr "" @@ -1722,7 +1748,7 @@ msgstr "" msgid "Lime" msgstr "" -#: src/page/library/browse.vue:369 +#: src/page/library/browse.vue:371 msgid "Limit reached, showing first %{n} files" msgstr "" @@ -1730,7 +1756,7 @@ msgstr "" msgid "Linear: Very Smooth, Best Performance" msgstr "" -#: src/model/link.js:117 src/options/auth.js:30 src/options/auth.js:31 +#: src/model/link.js:117 src/options/auth.js:31 src/options/auth.js:32 msgid "Link" msgstr "" @@ -1748,7 +1774,7 @@ msgstr "" msgid "Live" msgstr "" -#: src/app/routes.js:236 src/component/navigation.vue:749 +#: src/app/routes.js:244 src/component/navigation.vue:755 msgid "Live Photos" msgstr "" @@ -1764,21 +1790,24 @@ msgstr "" msgid "Loading..." msgstr "" -#: src/options/admin.js:35 src/options/auth.js:22 src/options/auth.js:27 +#: src/options/admin.js:39 src/options/auth.js:23 src/options/auth.js:28 #: src/options/options.js:38 src/page/settings/general.vue:107 msgid "Local" msgstr "" -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Local Time" msgstr "" -#: src/page/settings/account.vue:665 src/page/settings/account.vue:667 -#: src/component/album/edit/dialog.vue:92 src/component/photo/edit/info.vue:65 -#: src/component/photo/edit/labels.vue:48 +#: src/page/settings/account.vue:671 src/page/settings/account.vue:673 +#: src/component/album/edit/dialog.vue:93 +#: src/component/photo/edit/details.vue:38 +#: src/component/photo/edit/details.vue:116 +#: src/component/photo/edit/details.vue:210 +#: src/component/photo/edit/info.vue:67 src/component/photo/edit/labels.vue:48 #: src/component/photo/view/cards.vue:555 src/component/photo/view/list.vue:117 -#: src/component/sidebar/info.vue:107 src/page/albums.vue:99 -#: src/page/settings/account.vue:557 src/page/settings/account.vue:559 +#: src/component/sidebar/info.vue:107 src/page/albums.vue:100 +#: src/page/settings/account.vue:563 src/page/settings/account.vue:565 msgid "Location" msgstr "" @@ -1786,20 +1815,19 @@ msgstr "" msgid "Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues." msgstr "" -#: src/component/navigation.vue:1552 src/component/navigation.vue:1840 +#: src/component/navigation.vue:1579 src/component/navigation.vue:1877 msgid "Login" msgstr "" -#: src/component/navigation.vue:1759 +#: src/component/navigation.vue:1791 msgid "Logout" msgstr "" -#: src/component/navigation.vue:1962 src/page/library.vue:59 +#: src/component/navigation.vue:2007 src/page/library.vue:59 #: src/page/settings/general.vue:557 msgid "Logs" msgstr "" -#: src/component/photo/edit/details.vue:324 #: src/component/photo/edit/info.vue:379 msgid "Longitude" msgstr "" @@ -1812,7 +1840,7 @@ msgstr "" msgid "Magenta" msgstr "" -#: src/component/photo/edit/files.vue:489 +#: src/component/photo/edit/files.vue:491 msgid "Main Color" msgstr "" @@ -1820,12 +1848,16 @@ msgstr "" msgid "Male" msgstr "" -#: src/page/connect.vue:164 src/page/connect.vue:246 -#: src/page/about/about.vue:171 src/page/connect.vue:168 -#: src/page/connect.vue:255 +#: src/page/connect.vue:165 src/page/connect.vue:248 +#: src/page/about/about.vue:173 src/page/connect.vue:169 +#: src/page/connect.vue:257 msgid "Manage Account" msgstr "" +#: src/options/admin.js:10 src/options/auth.js:7 +msgid "Manager" +msgstr "" + #: src/component/photo/edit/info.vue:49 src/component/photo/edit/labels.vue:38 msgid "Manual" msgstr "" @@ -1842,11 +1874,11 @@ msgstr "" msgid "Marker" msgstr "" -#: src/component/user/add/dialog.vue:69 +#: src/component/user/add/dialog.vue:70 msgid "Maximum number of accounts has been reached." msgstr "" -#: src/app/routes.js:229 src/component/navigation.vue:688 +#: src/app/routes.js:237 src/component/navigation.vue:693 #: src/options/options.js:199 msgid "Media" msgstr "" @@ -1863,7 +1895,7 @@ msgstr "" msgid "Merge %{a} with %{b}?" msgstr "" -#: src/page/about/feedback.vue:102 +#: src/page/about/feedback.vue:103 msgid "Message" msgstr "" @@ -1875,7 +1907,7 @@ msgstr "" msgid "Metadata" msgstr "" -#: src/options/auth.js:56 src/options/auth.js:72 +#: src/options/auth.js:57 src/options/auth.js:73 msgid "Metrics" msgstr "" @@ -1883,7 +1915,7 @@ msgstr "" msgid "Minimize" msgstr "" -#: src/component/photo/edit/files.vue:509 src/component/photo/edit/info.vue:367 +#: src/component/photo/edit/files.vue:511 src/component/photo/edit/info.vue:367 msgid "Missing" msgstr "" @@ -1891,17 +1923,17 @@ msgstr "" msgid "Missing or invalid configuration" msgstr "" -#: src/app/routes.js:163 src/component/navigation.vue:1129 +#: src/app/routes.js:171 src/component/navigation.vue:1147 #: src/options/options.js:205 src/page/settings/general.vue:230 msgid "Moments" msgstr "" -#: src/component/navigation.vue:383 +#: src/component/navigation.vue:385 msgid "Monochrome" msgstr "" -#: src/page/settings/account.vue:475 src/component/photo/edit/details.vue:137 -#: src/component/photo/toolbar.vue:342 +#: src/page/settings/account.vue:481 src/component/photo/edit/details.vue:139 +#: src/component/photo/toolbar.vue:344 msgid "Month" msgstr "" @@ -1921,7 +1953,7 @@ msgstr "" msgid "Move Files" msgstr "" -#: src/component/settings/password.vue:107 +#: src/component/settings/password.vue:108 msgid "Must have at least %{n} characters." msgstr "" @@ -1929,20 +1961,20 @@ msgstr "" msgid "Mute" msgstr "" -#: src/page/about/feedback.vue:121 src/page/about/feedback.vue:122 -#: src/component/album/edit/dialog.vue:77 -#: src/component/label/edit/dialog.vue:71 -#: src/component/people/edit/dialog.vue:71 -#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:57 +#: src/page/about/feedback.vue:122 src/page/about/feedback.vue:123 +#: src/component/album/edit/dialog.vue:78 +#: src/component/label/edit/dialog.vue:72 +#: src/component/people/edit/dialog.vue:72 +#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:59 #: src/component/photo/edit/info.vue:125 src/component/photo/edit/people.vue:36 -#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:310 -#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:286 -#: src/page/albums.vue:98 src/page/auth/login.vue:168 +#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:311 +#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:289 +#: src/page/albums.vue:99 src/page/auth/login.vue:168 #: src/page/people/new.vue:68 src/page/settings/services.vue:37 msgid "Name" msgstr "" -#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:60 +#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:65 #: src/component/label/edit/dialog.vue:19 #: src/component/people/edit/dialog.vue:19 #: src/component/photo/edit/labels.vue:30 @@ -1952,7 +1984,7 @@ msgstr "" msgid "Name too long" msgstr "" -#: src/page/admin/users.vue:204 src/options/options.js:361 +#: src/page/admin/users.vue:206 src/options/options.js:361 #: src/options/options.js:371 src/page/settings/services.vue:75 msgid "Never" msgstr "" @@ -1961,13 +1993,13 @@ msgstr "" msgid "New" msgstr "" -#: src/component/settings/password.vue:106 +#: src/component/settings/password.vue:107 msgid "New Password" msgstr "" #: src/component/album/edit/dialog.vue:24 src/component/photo/toolbar.vue:114 #: src/component/photo/toolbar.vue:126 src/component/photo/toolbar.vue:136 -#: src/page/albums.vue:100 +#: src/page/albums.vue:101 msgid "Newest First" msgstr "" @@ -1983,15 +2015,15 @@ msgstr "" msgid "Next visual" msgstr "" -#: src/component/people/merge/dialog.vue:47 -#: src/component/photo/archive/dialog.vue:47 +#: src/component/people/merge/dialog.vue:48 +#: src/component/photo/archive/dialog.vue:48 #: src/component/photo/edit/info.vue:281 src/component/photo/edit/info.vue:297 #: src/component/photo/edit/info.vue:313 src/component/photo/edit/info.vue:329 #: src/component/photo/edit/info.vue:344 msgid "No" msgstr "" -#: src/page/albums.vue:607 src/page/albums.vue:282 +#: src/page/albums.vue:612 src/page/albums.vue:282 msgid "No albums found" msgstr "" @@ -1999,7 +2031,7 @@ msgstr "" msgid "No data available" msgstr "" -#: src/page/labels.vue:523 src/page/labels.vue:155 +#: src/page/labels.vue:528 src/page/labels.vue:155 msgid "No labels found" msgstr "" @@ -2012,15 +2044,15 @@ msgid "No more" msgstr "" #: src/component/photo/edit/people.vue:34 src/page/people/new.vue:346 -#: src/page/people/new.vue:443 src/page/people/new.vue:103 -#: src/page/people/recognized.vue:531 src/page/people/recognized.vue:146 +#: src/page/people/new.vue:446 src/page/people/new.vue:103 +#: src/page/people/recognized.vue:536 src/page/people/recognized.vue:146 msgid "No people found" msgstr "" #: src/component/lightbox.vue:365 src/component/photo/view/cards.vue:144 #: src/component/photo/view/list.vue:82 src/component/photo/view/mosaic.vue:68 -#: src/page/album/photos.vue:488 src/page/library/browse.vue:123 -#: src/page/photos.vue:626 src/page/places.vue:624 src/page/places.vue:730 +#: src/page/album/photos.vue:499 src/page/library/browse.vue:123 +#: src/page/photos.vue:636 src/page/places.vue:624 src/page/places.vue:730 msgid "No pictures found" msgstr "" @@ -2029,7 +2061,11 @@ msgstr "" msgid "No recently edited pictures" msgstr "" -#: src/component/navigation.vue:1655 +#: src/component/location/dialog.vue:166 +msgid "No results" +msgstr "" + +#: src/component/navigation.vue:1686 msgid "No server connection" msgstr "" @@ -2041,7 +2077,7 @@ msgstr "" msgid "No services configured." msgstr "" -#: src/component/confirm/sponsor.vue:72 +#: src/component/confirm/sponsor.vue:73 msgid "No thanks" msgstr "" @@ -2051,17 +2087,17 @@ msgstr "" #: src/component/photo/view/cards.vue:154 src/component/photo/view/list.vue:59 #: src/component/photo/view/list.vue:92 src/component/photo/view/mosaic.vue:78 -#: src/component/upload/dialog.vue:208 +#: src/component/upload/dialog.vue:210 msgid "Non-photographic and low-quality images require a review before they appear in search results." msgstr "" -#: src/options/admin.js:47 src/options/auth.js:32 src/options/options.js:212 +#: src/options/admin.js:51 src/options/auth.js:33 src/options/options.js:212 #: src/options/options.js:328 msgid "None" msgstr "" -#: src/common/util.js:853 src/component/lightbox.vue:633 -#: src/component/service/upload.vue:75 src/component/service/upload.vue:87 +#: src/component/lightbox.vue:633 src/component/service/upload.vue:75 +#: src/component/service/upload.vue:87 msgid "Not allowed" msgstr "" @@ -2073,8 +2109,7 @@ msgstr "" msgid "Not sorted." msgstr "" -#: src/common/util.js:858 src/component/lightbox.vue:627 -#: src/component/lightbox.vue:744 +#: src/component/lightbox.vue:627 src/component/lightbox.vue:744 msgid "Not supported" msgstr "" @@ -2082,15 +2117,15 @@ msgstr "" msgid "Note you may manually manage your originals folder and importing is optional." msgstr "" -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "Note:" msgstr "" -#: src/component/service/add.vue:120 +#: src/component/service/add.vue:121 msgid "Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload." msgstr "" -#: src/component/photo/edit/details.vue:603 +#: src/component/photo/edit/details.vue:577 msgid "Notes" msgstr "" @@ -2098,8 +2133,8 @@ msgstr "" msgid "Nothing to see here yet." msgstr "" -#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:115 -#: src/component/settings/apps.vue:390 +#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:125 +#: src/component/settings/apps.vue:393 msgid "Nothing was found." msgstr "" @@ -2107,7 +2142,7 @@ msgstr "" msgid "Offline" msgstr "" -#: src/options/admin.js:39 src/options/auth.js:28 +#: src/options/admin.js:43 src/options/auth.js:29 msgid "OIDC" msgstr "" @@ -2117,11 +2152,11 @@ msgstr "" #: src/component/album/edit/dialog.vue:25 src/component/photo/toolbar.vue:115 #: src/component/photo/toolbar.vue:127 src/component/photo/toolbar.vue:137 -#: src/page/albums.vue:101 +#: src/page/albums.vue:102 msgid "Oldest First" msgstr "" -#: src/component/settings/webdav.vue:77 +#: src/component/settings/webdav.vue:78 msgid "On Windows, enter the following resource in the connection dialog:" msgstr "" @@ -2133,11 +2168,11 @@ msgstr "" msgid "Once a week" msgstr "" -#: src/page/albums.vue:609 +#: src/page/albums.vue:614 msgid "One album found" msgstr "" -#: src/page/library/browse.vue:358 +#: src/page/library/browse.vue:360 msgid "One file found" msgstr "" @@ -2145,24 +2180,24 @@ msgstr "" msgid "One file uploaded" msgstr "" -#: src/page/library/browse.vue:360 +#: src/page/library/browse.vue:362 msgid "One folder found" msgstr "" -#: src/page/labels.vue:525 +#: src/page/labels.vue:530 msgid "One label found" msgstr "" -#: src/page/people/new.vue:348 src/page/people/new.vue:445 -#: src/page/people/recognized.vue:533 +#: src/page/people/new.vue:348 src/page/people/new.vue:448 +#: src/page/people/recognized.vue:538 msgid "One person found" msgstr "" -#: src/page/album/photos.vue:490 src/page/photos.vue:628 +#: src/page/album/photos.vue:501 src/page/photos.vue:638 msgid "One picture found" msgstr "" -#: src/component/settings/passcode.vue:478 +#: src/component/settings/passcode.vue:481 msgid "Only locally managed accounts can be set up for authentication with 2FA." msgstr "" @@ -2170,7 +2205,7 @@ msgstr "" msgid "Open" msgstr "" -#: src/component/service/add.vue:86 src/component/service/add.vue:107 +#: src/component/service/add.vue:87 src/component/service/add.vue:108 msgid "optional" msgstr "" @@ -2182,7 +2217,7 @@ msgstr "" msgid "Orange" msgstr "" -#: src/page/settings/account.vue:571 src/page/settings/account.vue:573 +#: src/page/settings/account.vue:577 src/page/settings/account.vue:579 msgid "Organization" msgstr "" @@ -2198,7 +2233,7 @@ msgstr "" msgid "Original Name" msgstr "" -#: src/component/navigation.vue:1304 src/model/file.js:196 +#: src/component/navigation.vue:1328 src/model/file.js:196 #: src/options/options.js:413 src/page/library/browse.vue:65 #: src/page/settings/content.vue:356 src/page/settings/general.vue:532 msgid "Originals" @@ -2209,7 +2244,7 @@ msgstr "" msgid "Other" msgstr "" -#: src/page/about/about.vue:77 src/page/about/about.vue:83 +#: src/page/about/about.vue:78 src/page/about/about.vue:84 msgid "Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible." msgstr "" @@ -2221,7 +2256,7 @@ msgstr "" msgid "Page {0}, Current page" msgstr "" -#: src/component/photo/edit/files.vue:352 src/model/photo.js:859 +#: src/component/photo/edit/files.vue:352 src/model/photo.js:896 msgid "Pages" msgstr "" @@ -2233,15 +2268,15 @@ msgstr "" msgid "Panorama" msgstr "" -#: src/component/navigation.vue:402 +#: src/component/navigation.vue:404 msgid "Panoramas" msgstr "" -#: src/component/user/add/dialog.vue:114 src/component/user/add/dialog.vue:115 -#: src/component/service/add.vue:106 src/component/service/edit.vue:352 -#: src/component/settings/apps.vue:121 src/component/settings/passcode.vue:106 -#: src/component/settings/passcode.vue:413 src/component/share/dialog.vue:27 -#: src/options/auth.js:91 src/page/auth/login.vue:196 +#: src/component/user/add/dialog.vue:115 src/component/user/add/dialog.vue:116 +#: src/component/service/add.vue:107 src/component/service/edit.vue:353 +#: src/component/settings/apps.vue:124 src/component/settings/passcode.vue:109 +#: src/component/settings/passcode.vue:416 src/component/share/dialog.vue:27 +#: src/options/auth.js:92 src/page/auth/login.vue:196 msgid "Password" msgstr "" @@ -2249,9 +2284,9 @@ msgstr "" msgid "Password changed" msgstr "" -#: src/app/routes.js:404 src/app/routes.js:428 src/component/navigation.vue:845 -#: src/component/navigation.vue:1898 src/component/photo/edit/dialog.vue:228 -#: src/component/photo/edit/dialog.vue:245 src/options/options.js:201 +#: src/app/routes.js:412 src/app/routes.js:436 src/component/navigation.vue:853 +#: src/component/navigation.vue:1939 src/component/photo/edit/dialog.vue:238 +#: src/component/photo/edit/dialog.vue:257 src/options/options.js:201 #: src/page/settings/general.vue:180 msgid "People" msgstr "" @@ -2272,23 +2307,23 @@ msgstr "" msgid "Person" msgstr "" -#: src/options/auth.js:42 +#: src/options/auth.js:43 msgid "Personal" msgstr "" -#: src/model/photo.js:1273 +#: src/model/photo.js:1310 msgid "Photo" msgstr "" -#: src/page/about/about.vue:156 +#: src/page/about/about.vue:158 msgid "PhotoPrism is 100% self-funded and independent." msgstr "" -#: src/page/about/about.vue:92 +#: src/page/about/about.vue:93 msgid "PhotoPrism+ Membership" msgstr "" -#: src/app/routes.js:156 +#: src/app/routes.js:164 msgid "Photos" msgstr "" @@ -2309,27 +2344,27 @@ msgstr "" msgid "Place & Time" msgstr "" -#: src/app/routes.js:303 src/app/routes.js:309 src/app/routes.js:315 -#: src/app/routes.js:330 src/component/navigation.vue:986 -#: src/component/navigation.vue:1914 src/options/options.js:203 +#: src/app/routes.js:311 src/app/routes.js:317 src/app/routes.js:323 +#: src/app/routes.js:338 src/component/navigation.vue:999 +#: src/component/navigation.vue:1956 src/options/options.js:203 #: src/page/places.vue:51 src/page/settings/general.vue:609 #: src/page/settings/general.vue:638 msgid "Places" msgstr "" -#: src/component/settings/password.vue:129 +#: src/component/settings/password.vue:130 msgid "Please confirm your new password." msgstr "" -#: src/component/settings/apps.vue:185 +#: src/component/settings/apps.vue:188 msgid "Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:" msgstr "" -#: src/component/upload/dialog.vue:203 +#: src/component/upload/dialog.vue:205 msgid "Please do not upload any private, unlawful or offensive pictures." msgstr "" -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Please don't upload photos containing offensive content." msgstr "" @@ -2337,11 +2372,11 @@ msgstr "" msgid "Please enter OTP character {0}" msgstr "" -#: src/component/settings/password.vue:66 +#: src/component/settings/password.vue:67 msgid "Please note that changing your password will log you out on other devices and browsers." msgstr "" -#: src/page/connect.vue:148 src/page/connect.vue:152 +#: src/page/connect.vue:149 src/page/connect.vue:153 msgid "Please restart your instance for the changes to take effect." msgstr "" @@ -2361,11 +2396,11 @@ msgstr "" msgid "Portrait" msgstr "" -#: src/component/service/edit.vue:273 +#: src/component/service/edit.vue:274 msgid "Preserve filenames" msgstr "" -#: src/component/upload/dialog.vue:162 +#: src/component/upload/dialog.vue:164 msgid "Press enter to create a new album." msgstr "" @@ -2402,8 +2437,8 @@ msgstr "" msgid "Primary" msgstr "" -#: src/app/routes.js:271 src/component/album/edit/dialog.vue:176 -#: src/component/navigation.vue:531 src/component/photo/edit/info.vue:303 +#: src/app/routes.js:279 src/component/album/edit/dialog.vue:177 +#: src/component/navigation.vue:533 src/component/photo/edit/info.vue:303 #: src/page/settings/general.vue:280 msgid "Private" msgstr "" @@ -2428,7 +2463,7 @@ msgstr "" msgid "Quality Score" msgstr "" -#: src/page/admin/users.vue:169 +#: src/page/admin/users.vue:171 msgid "r" msgstr "" @@ -2459,7 +2494,7 @@ msgstr "" #: src/component/album/edit/dialog.vue:26 src/component/photo/toolbar.vue:116 #: src/component/photo/toolbar.vue:128 src/component/photo/toolbar.vue:138 -#: src/page/albums.vue:102 +#: src/page/albums.vue:103 msgid "Recently Added" msgstr "" @@ -2467,7 +2502,7 @@ msgstr "" msgid "Recently Archived" msgstr "" -#: src/component/photo/toolbar.vue:139 src/page/albums.vue:103 +#: src/component/photo/toolbar.vue:139 src/page/albums.vue:104 msgid "Recently Edited" msgstr "" @@ -2492,24 +2527,24 @@ msgstr "" msgid "Red" msgstr "" -#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:126 -#: src/component/album/toolbar.vue:79 src/component/photo/toolbar.vue:169 -#: src/page/albums.vue:173 src/page/labels.vue:112 +#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:128 +#: src/component/album/toolbar.vue:84 src/component/photo/toolbar.vue:169 +#: src/page/albums.vue:175 src/page/labels.vue:112 #: src/page/library/browse.vue:90 src/page/library/errors.vue:81 #: src/page/people/new.vue:54 src/page/people/recognized.vue:88 msgid "Refresh" msgstr "" -#: src/app/routes.js:337 src/component/navigation.vue:943 -#: src/component/navigation.vue:1026 +#: src/app/routes.js:345 src/component/navigation.vue:955 +#: src/component/navigation.vue:1040 msgid "Regions" msgstr "" -#: src/page/connect.vue:275 src/page/connect.vue:284 +#: src/page/connect.vue:277 src/page/connect.vue:286 msgid "Register" msgstr "" -#: src/component/navigation.vue:1773 src/component/update.vue:68 +#: src/component/navigation.vue:1806 src/component/update.vue:68 msgid "Reload" msgstr "" @@ -2554,34 +2589,34 @@ msgstr "" msgid "Resolution" msgstr "" -#: src/page/connect.vue:179 src/page/connect.vue:183 +#: src/page/connect.vue:180 src/page/connect.vue:184 #: src/page/settings/advanced.vue:782 msgid "Restart" msgstr "" -#: src/component/user/edit/dialog.vue:485 src/component/lightbox.vue:1221 +#: src/component/user/edit/dialog.vue:488 src/component/lightbox.vue:1221 #: src/component/photo/clipboard.vue:77 msgid "Restore" msgstr "" -#: src/component/lightbox.vue:2000 +#: src/component/lightbox.vue:2020 msgid "Restored" msgstr "" -#: src/component/service/edit.vue:428 +#: src/component/service/edit.vue:429 msgid "Retry Limit" msgstr "" -#: src/component/settings/password.vue:128 +#: src/component/settings/password.vue:129 msgid "Retype Password" msgstr "" -#: src/app/routes.js:264 src/component/navigation.vue:505 +#: src/app/routes.js:272 src/component/navigation.vue:507 msgid "Review" msgstr "" -#: src/component/user/add/dialog.vue:171 src/component/user/edit/dialog.vue:284 -#: src/page/admin/sessions.vue:262 src/page/admin/users.vue:73 +#: src/component/user/add/dialog.vue:172 src/component/user/edit/dialog.vue:285 +#: src/page/admin/sessions.vue:263 src/page/admin/users.vue:75 msgid "Role" msgstr "" @@ -2593,11 +2628,11 @@ msgstr "" msgid "Satellite" msgstr "" -#: src/component/user/edit/dialog.vue:485 -#: src/component/album/edit/dialog.vue:211 -#: src/component/label/edit/dialog.vue:119 -#: src/component/people/edit/dialog.vue:132 src/component/service/edit.vue:466 -#: src/component/settings/password.vue:172 src/component/share/dialog.vue:181 +#: src/component/user/edit/dialog.vue:488 +#: src/component/album/edit/dialog.vue:212 +#: src/component/label/edit/dialog.vue:120 +#: src/component/people/edit/dialog.vue:133 src/component/service/edit.vue:467 +#: src/component/settings/password.vue:173 src/component/share/dialog.vue:181 msgid "Save" msgstr "" @@ -2605,23 +2640,23 @@ msgstr "" msgid "Scan" msgstr "" -#: src/component/settings/passcode.vue:179 +#: src/component/settings/passcode.vue:182 msgid "Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:" msgstr "" -#: src/component/navigation.vue:461 +#: src/component/navigation.vue:463 msgid "Scans" msgstr "" -#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:377 -#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:310 +#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:381 +#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:313 msgid "Scope" msgstr "" -#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:62 -#: src/component/navigation.vue:342 src/component/navigation.vue:1866 -#: src/component/photo/toolbar.vue:57 src/options/options.js:197 -#: src/page/albums.vue:100 src/page/labels.vue:77 +#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:69 +#: src/component/location/dialog.vue:133 src/component/navigation.vue:343 +#: src/component/navigation.vue:1905 src/component/photo/toolbar.vue:57 +#: src/options/options.js:197 src/page/albums.vue:100 src/page/labels.vue:77 #: src/page/library/errors.vue:76 src/page/people/recognized.vue:66 #: src/page/places.vue:79 src/page/settings/content.vue:235 msgid "Search" @@ -2659,11 +2694,11 @@ msgstr "" msgid "Select dates" msgstr "" -#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:154 +#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:156 msgid "Select or create an album" msgstr "" -#: src/component/upload/dialog.vue:138 +#: src/component/upload/dialog.vue:140 msgid "Select the files to upload…" msgstr "" @@ -2691,7 +2726,7 @@ msgstr "" msgid "Sequential Name" msgstr "" -#: src/component/service/add.vue:67 src/component/service/edit.vue:322 +#: src/component/service/add.vue:68 src/component/service/edit.vue:323 #: src/component/share/dialog.vue:25 msgid "Service URL" msgstr "" @@ -2700,7 +2735,7 @@ msgstr "" msgid "Services" msgstr "" -#: src/model/session.js:107 src/options/auth.js:41 src/options/auth.js:90 +#: src/model/session.js:107 src/options/auth.js:42 src/options/auth.js:91 msgid "Session" msgstr "" @@ -2708,7 +2743,7 @@ msgstr "" msgid "Session ID" msgstr "" -#: src/page/admin.vue:45 +#: src/page/admin.vue:44 msgid "Sessions" msgstr "" @@ -2716,22 +2751,22 @@ msgstr "" msgid "Set as Album Cover" msgstr "" -#: src/app/routes.js:101 src/app/routes.js:492 src/app/routes.js:504 -#: src/app/routes.js:521 src/app/routes.js:534 src/app/routes.js:547 -#: src/component/navigation.vue:1394 src/component/navigation.vue:1806 +#: src/app/routes.js:101 src/app/routes.js:500 src/app/routes.js:512 +#: src/app/routes.js:529 src/app/routes.js:542 src/app/routes.js:555 +#: src/component/navigation.vue:1419 src/component/navigation.vue:1841 msgid "Settings" msgstr "" #: src/page/settings/account.vue:115 src/page/settings/account.vue:144 -#: src/component/settings/passcode.vue:147 +#: src/component/settings/passcode.vue:151 msgid "Settings saved" msgstr "" -#: src/component/service/upload.vue:131 src/component/settings/passcode.vue:160 +#: src/component/service/upload.vue:132 src/component/settings/passcode.vue:163 msgid "Setup" msgstr "" -#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:98 +#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:103 #: src/component/photo/clipboard.vue:51 src/page/settings/general.vue:382 msgid "Share" msgstr "" @@ -2748,7 +2783,7 @@ msgstr "" msgid "Show" msgstr "" -#: src/page/people/new.vue:116 src/page/people/new.vue:233 +#: src/page/people/new.vue:116 src/page/people/new.vue:235 msgid "Show all new faces" msgstr "" @@ -2793,7 +2828,7 @@ msgid "Similar" msgstr "" #: src/component/photo/edit/files.vue:51 src/component/photo/edit/files.vue:341 -#: src/component/service/edit.vue:139 src/component/sidebar/info.vue:96 +#: src/component/service/edit.vue:140 src/component/sidebar/info.vue:96 msgid "Size" msgstr "" @@ -2821,7 +2856,7 @@ msgstr "" msgid "Sort by" msgstr "" -#: src/component/album/edit/dialog.vue:142 src/component/photo/toolbar.vue:288 +#: src/component/album/edit/dialog.vue:143 src/component/photo/toolbar.vue:290 #: src/page/albums.vue:214 msgid "Sort Order" msgstr "" @@ -2856,7 +2891,7 @@ msgstr "" msgid "Stackable" msgstr "" -#: src/component/navigation.vue:421 src/page/settings/content.vue:136 +#: src/component/navigation.vue:423 src/page/settings/content.vue:136 msgid "Stacks" msgstr "" @@ -2884,16 +2919,16 @@ msgstr "" msgid "Streets" msgstr "" -#: src/component/photo/edit/details.vue:494 +#: src/component/photo/edit/details.vue:468 #: src/component/photo/edit/labels.vue:44 msgid "Subject" msgstr "" -#: src/page/about/feedback.vue:162 src/page/about/feedback.vue:163 +#: src/page/about/feedback.vue:163 src/page/about/feedback.vue:164 msgid "Submit" msgstr "" -#: src/component/settings/passcode.vue:132 +#: src/component/settings/passcode.vue:136 msgid "Successfully activated" msgstr "" @@ -2902,23 +2937,23 @@ msgid "Successfully Connected" msgstr "" #: src/component/session/remove/dialog.vue:32 -#: src/component/settings/apps.vue:218 +#: src/component/settings/apps.vue:222 msgid "Successfully deleted" msgstr "" -#: src/component/settings/passcode.vue:107 +#: src/component/settings/passcode.vue:108 msgid "Successfully verified" msgstr "" -#: src/component/user/edit/dialog.vue:398 src/page/admin/users.vue:163 +#: src/component/user/edit/dialog.vue:399 src/page/admin/users.vue:165 msgid "Super Admin" msgstr "" -#: src/component/service/add.vue:122 +#: src/component/service/add.vue:123 msgid "Support for additional services, like Google Drive, will be added over time." msgstr "" -#: src/component/confirm/sponsor.vue:37 src/component/navigation.vue:1629 +#: src/component/confirm/sponsor.vue:38 src/component/navigation.vue:1660 msgid "Support Our Mission" msgstr "" @@ -2926,7 +2961,7 @@ msgstr "" msgid "Sync" msgstr "" -#: src/component/service/edit.vue:289 +#: src/component/service/edit.vue:290 msgid "Sync raw and video files" msgstr "" @@ -2952,23 +2987,23 @@ msgstr "" msgid "Text" msgstr "" -#: src/component/photo/edit/details.vue:32 src/page/people/new.vue:71 +#: src/component/photo/edit/details.vue:40 src/page/people/new.vue:71 msgid "Text too long" msgstr "" -#: src/page/about/about.vue:145 +#: src/page/about/about.vue:146 msgid "Thank You for Your Support!" msgstr "" -#: src/page/about/about.vue:79 src/page/about/about.vue:85 +#: src/page/about/about.vue:80 src/page/about/about.vue:86 msgid "That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality." msgstr "" -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "The index currently contains %{n} hidden files." msgstr "" -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates." msgstr "" @@ -2983,44 +3018,44 @@ msgstr "" msgid "This field is required" msgstr "" -#: src/component/settings/webdav.vue:100 src/page/settings/services.vue:144 +#: src/component/settings/webdav.vue:101 src/page/settings/services.vue:147 msgid "This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local." msgstr "" -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Time UTC" msgstr "" -#: src/component/photo/edit/details.vue:219 src/page/settings/general.vue:108 +#: src/component/photo/edit/details.vue:221 src/page/settings/general.vue:108 msgid "Time Zone" msgstr "" -#: src/component/service/edit.vue:408 +#: src/component/service/edit.vue:409 msgid "Timeout" msgstr "" -#: src/component/user/edit/dialog.vue:98 src/component/user/edit/dialog.vue:99 +#: src/component/user/edit/dialog.vue:99 src/component/user/edit/dialog.vue:100 #: src/page/settings/account.vue:84 src/page/settings/account.vue:86 msgctxt "Account" msgid "Title" msgstr "" -#: src/component/photo/edit/details.vue:73 +#: src/component/photo/edit/details.vue:75 msgctxt "Photo" msgid "Title" msgstr "" -#: src/component/photo/edit/info.vue:59 src/component/photo/edit/info.vue:155 +#: src/component/photo/edit/info.vue:61 src/component/photo/edit/info.vue:155 #: src/component/photo/edit/labels.vue:40 src/component/photo/view/list.vue:114 #: src/component/sidebar/info.vue:57 msgid "Title" msgstr "" -#: src/page/settings/account.vue:553 src/page/settings/account.vue:555 +#: src/page/settings/account.vue:559 src/page/settings/account.vue:561 msgid "Title / Position" msgstr "" -#: src/page/albums.vue:83 +#: src/page/albums.vue:84 msgid "Title too long" msgstr "" @@ -3028,19 +3063,19 @@ msgstr "" msgid "to" msgstr "" -#: src/component/settings/passcode.vue:312 +#: src/component/settings/passcode.vue:315 msgid "To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place." msgstr "" -#: src/component/settings/apps.vue:272 +#: src/component/settings/apps.vue:275 msgid "To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:" msgstr "" -#: src/component/settings/passcode.vue:400 +#: src/component/settings/passcode.vue:403 msgid "To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:" msgstr "" -#: src/page/connect.vue:221 src/page/connect.vue:230 +#: src/page/connect.vue:223 src/page/connect.vue:232 msgid "To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:" msgstr "" @@ -3048,7 +3083,7 @@ msgstr "" msgid "Today" msgstr "" -#: src/component/album/toolbar.vue:70 src/component/photo/toolbar.vue:78 +#: src/component/album/toolbar.vue:71 src/component/photo/toolbar.vue:78 msgid "Toggle View" msgstr "" @@ -3075,20 +3110,24 @@ msgstr "" msgid "Try again using other filters or keywords." msgstr "" -#: src/component/settings/passcode.vue:380 +#: src/component/settings/passcode.vue:383 msgid "Two-factor authentication has been enabled for your account." msgstr "" #: src/component/photo/edit/files.vue:58 src/component/photo/edit/files.vue:330 -#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:388 +#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:389 msgid "Type" msgstr "" -#: src/options/auth.js:13 +#: src/component/album/toolbar.vue:178 +msgid "Unable to delete" +msgstr "" + +#: src/options/auth.js:14 msgid "Unauthorized" msgstr "" -#: src/component/photo/edit/people.vue:94 +#: src/component/photo/edit/people.vue:95 msgid "Undo" msgstr "" @@ -3096,16 +3135,16 @@ msgstr "" msgid "Unique ID" msgstr "" -#: src/page/settings/account.vue:451 src/page/settings/account.vue:476 -#: src/page/settings/account.vue:501 src/common/util.js:487 -#: src/component/photo/edit/details.vue:21 -#: src/component/photo/edit/details.vue:111 -#: src/component/photo/edit/details.vue:138 -#: src/component/photo/edit/details.vue:164 src/component/sidebar/info.vue:43 -#: src/model/album.js:193 src/model/photo.js:323 src/model/photo.js:784 -#: src/model/photo.js:809 src/model/photo.js:832 src/model/photo.js:850 -#: src/model/photo.js:897 src/model/photo.js:905 src/model/photo.js:994 -#: src/model/photo.js:1016 src/model/photo.js:1061 src/model/photo.js:1074 +#: src/page/settings/account.vue:457 src/page/settings/account.vue:482 +#: src/page/settings/account.vue:507 src/common/util.js:488 +#: src/component/photo/edit/details.vue:27 +#: src/component/photo/edit/details.vue:113 +#: src/component/photo/edit/details.vue:140 +#: src/component/photo/edit/details.vue:166 src/component/sidebar/info.vue:43 +#: src/model/album.js:193 src/model/photo.js:331 src/model/photo.js:821 +#: src/model/photo.js:846 src/model/photo.js:869 src/model/photo.js:887 +#: src/model/photo.js:934 src/model/photo.js:942 src/model/photo.js:1031 +#: src/model/photo.js:1053 src/model/photo.js:1098 src/model/photo.js:1111 #: src/model/user.js:157 src/options/options.js:51 src/options/options.js:69 #: src/options/options.js:86 src/options/options.js:100 #: src/options/options.js:112 src/page/library/errors.vue:251 @@ -3118,7 +3157,7 @@ msgstr "" msgid "Unregistered" msgstr "" -#: src/app/routes.js:215 src/component/navigation.vue:644 +#: src/app/routes.js:223 src/component/navigation.vue:648 msgid "Unsorted" msgstr "" @@ -3126,7 +3165,7 @@ msgstr "" msgid "Unstack" msgstr "" -#: src/component/photo/edit/files.vue:519 src/component/photo/edit/info.vue:416 +#: src/component/photo/edit/files.vue:521 src/component/photo/edit/info.vue:416 msgid "Updated" msgstr "" @@ -3142,7 +3181,7 @@ msgstr "" msgid "Updating moments" msgstr "" -#: src/component/user/edit/dialog.vue:154 +#: src/component/user/edit/dialog.vue:155 msgid "Updating picture…" msgstr "" @@ -3154,21 +3193,21 @@ msgstr "" msgid "Updating stacks" msgstr "" -#: src/page/connect.vue:57 src/component/navigation.vue:1500 -#: src/component/navigation.vue:1614 src/component/navigation.vue:1999 +#: src/page/connect.vue:57 src/component/navigation.vue:1526 +#: src/component/navigation.vue:1644 src/component/navigation.vue:2047 #: src/page/connect.vue:58 msgid "Upgrade" msgstr "" -#: src/page/about/about.vue:123 src/page/connect.vue:202 -#: src/component/confirm/sponsor.vue:98 src/page/about/about.vue:113 -#: src/page/connect.vue:206 +#: src/page/about/about.vue:124 src/page/connect.vue:204 +#: src/component/confirm/sponsor.vue:99 src/page/about/about.vue:114 +#: src/page/connect.vue:208 msgid "Upgrade Now" msgstr "" -#: src/component/album/toolbar.vue:108 src/component/navigation.vue:1824 -#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:144 -#: src/component/upload/dialog.vue:51 src/page/albums.vue:183 +#: src/component/album/toolbar.vue:113 src/component/navigation.vue:1860 +#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:145 +#: src/component/upload/dialog.vue:51 src/page/albums.vue:185 #: src/page/labels.vue:122 src/page/library/import.vue:133 #: src/page/settings/general.vue:307 src/page/settings/services.vue:38 msgid "Upload" @@ -3178,21 +3217,21 @@ msgstr "" msgid "Upload complete" msgstr "" -#: src/component/upload/dialog.vue:133 +#: src/component/upload/dialog.vue:135 msgid "Upload complete. Indexing…" msgstr "" #: src/component/upload/dialog.vue:296 src/component/upload/dialog.vue:315 -#: src/component/upload/dialog.vue:129 +#: src/component/upload/dialog.vue:131 msgid "Upload failed" msgstr "" -#: src/component/service/edit.vue:257 +#: src/component/service/edit.vue:258 msgid "Upload local files" msgstr "" -#: src/component/user/edit/dialog.vue:380 #: src/component/user/edit/dialog.vue:381 +#: src/component/user/edit/dialog.vue:382 msgid "Upload Path" msgstr "" @@ -3200,7 +3239,7 @@ msgstr "" msgid "Upload to WebDAV and share links with friends." msgstr "" -#: src/component/upload/dialog.vue:131 +#: src/component/upload/dialog.vue:133 msgid "Uploading %{n} of %{t}…" msgstr "" @@ -3213,7 +3252,7 @@ msgstr "" msgid "Uploading…" msgstr "" -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Uploads that may contain such images will be rejected automatically." msgstr "" @@ -3221,7 +3260,7 @@ msgstr "" msgid "Use Presets" msgstr "" -#: src/component/settings/passcode.vue:283 +#: src/component/settings/passcode.vue:286 msgid "Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:" msgstr "" @@ -3229,12 +3268,12 @@ msgstr "" msgid "Use your recovery code or contact an administrator for help." msgstr "" -#: src/options/admin.js:10 src/page/admin/sessions.vue:59 -#: src/page/admin/sessions.vue:242 src/model/user.js:361 src/options/auth.js:7 +#: src/options/admin.js:14 src/page/admin/sessions.vue:59 +#: src/page/admin/sessions.vue:243 src/model/user.js:361 src/options/auth.js:8 msgid "User" msgstr "" -#: src/component/navigation.vue:1979 +#: src/component/navigation.vue:2025 msgid "User Guide" msgstr "" @@ -3242,14 +3281,14 @@ msgstr "" msgid "User Interface" msgstr "" -#: src/component/user/add/dialog.vue:87 src/component/user/add/dialog.vue:88 -#: src/page/admin/sessions.vue:220 src/page/admin/users.vue:71 -#: src/component/service/add.vue:85 src/component/service/edit.vue:337 +#: src/component/user/add/dialog.vue:88 src/component/user/add/dialog.vue:89 +#: src/page/admin/sessions.vue:221 src/page/admin/users.vue:73 +#: src/component/service/add.vue:86 src/component/service/edit.vue:338 #: src/component/share/dialog.vue:26 msgid "Username" msgstr "" -#: src/component/navigation.vue:1435 +#: src/component/navigation.vue:1461 msgid "Users" msgstr "" @@ -3259,18 +3298,18 @@ msgstr "" msgid "Vector" msgstr "" -#: src/component/navigation.vue:440 +#: src/component/navigation.vue:442 msgid "Vectors" msgstr "" -#: src/component/settings/passcode.vue:227 src/page/auth/login.vue:144 +#: src/component/settings/passcode.vue:230 src/page/auth/login.vue:144 msgid "Verification Code" msgstr "" #: src/component/photo/view/cards.vue:363 #: src/component/photo/view/cards.vue:491 src/component/photo/view/list.vue:190 #: src/component/photo/view/mosaic.vue:207 src/model/file.js:221 -#: src/model/photo.js:921 src/model/photo.js:939 src/options/options.js:293 +#: src/model/photo.js:958 src/model/photo.js:976 src/options/options.js:293 msgid "Video" msgstr "" @@ -3279,12 +3318,12 @@ msgstr "" msgid "Video Duration" msgstr "" -#: src/app/routes.js:243 src/component/navigation.vue:728 +#: src/app/routes.js:251 src/component/navigation.vue:734 #: src/options/options.js:200 msgid "Videos" msgstr "" -#: src/component/photo/toolbar.vue:261 src/component/photo/view/cards.vue:350 +#: src/component/photo/toolbar.vue:263 src/component/photo/view/cards.vue:350 #: src/component/photo/view/mosaic.vue:194 msgid "View" msgstr "" @@ -3293,11 +3332,11 @@ msgstr "" msgid "View search results as a list." msgstr "" -#: src/options/admin.js:14 src/options/auth.js:8 +#: src/options/admin.js:18 src/options/auth.js:9 msgid "Viewer" msgstr "" -#: src/page/admin/sessions.vue:271 src/options/auth.js:12 +#: src/page/admin/sessions.vue:272 src/options/auth.js:13 msgid "Visitor" msgstr "" @@ -3309,34 +3348,34 @@ msgstr "" msgid "Warning" msgstr "" -#: src/page/about/feedback.vue:60 +#: src/page/about/feedback.vue:61 msgid "We appreciate your feedback!" msgstr "" -#: src/page/about/feedback.vue:63 +#: src/page/about/feedback.vue:64 msgid "We do our best to respond within five business days or less." msgstr "" -#: src/component/user/add/dialog.vue:235 src/component/user/edit/dialog.vue:415 -#: src/page/admin/users.vue:80 +#: src/component/user/add/dialog.vue:236 src/component/user/edit/dialog.vue:416 +#: src/page/admin/users.vue:82 msgid "Web Login" msgstr "" -#: src/component/user/add/dialog.vue:248 src/component/user/edit/dialog.vue:432 -#: src/page/admin/users.vue:82 src/options/auth.js:55 src/options/auth.js:68 +#: src/component/user/add/dialog.vue:249 src/component/user/edit/dialog.vue:433 +#: src/page/admin/users.vue:84 src/options/auth.js:56 src/options/auth.js:69 #: src/options/options.js:444 msgid "WebDAV" msgstr "" -#: src/component/settings/webdav.vue:51 +#: src/component/settings/webdav.vue:52 msgid "WebDAV clients can connect to PhotoPrism using the following URL:" msgstr "" -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism." msgstr "" -#: src/component/service/upload.vue:50 src/component/share/dialog.vue:220 +#: src/component/service/upload.vue:51 src/component/share/dialog.vue:220 msgid "WebDAV Upload" msgstr "" @@ -3344,8 +3383,8 @@ msgstr "" msgid "WebGL support is disabled in your browser" msgstr "" -#: src/page/settings/account.vue:615 src/page/settings/account.vue:709 -#: src/page/settings/account.vue:601 +#: src/page/settings/account.vue:621 src/page/settings/account.vue:715 +#: src/page/settings/account.vue:607 msgid "Website" msgstr "" @@ -3353,12 +3392,12 @@ msgstr "" msgid "White" msgstr "" -#: src/page/settings/account.vue:532 +#: src/page/settings/account.vue:538 msgid "Work Details" msgstr "" -#: src/page/settings/account.vue:500 src/component/photo/edit/details.vue:163 -#: src/component/photo/toolbar.vue:315 src/page/albums.vue:159 +#: src/page/settings/account.vue:506 src/component/photo/edit/details.vue:165 +#: src/component/photo/toolbar.vue:317 src/page/albums.vue:159 msgid "Year" msgstr "" @@ -3366,21 +3405,21 @@ msgstr "" msgid "Yellow" msgstr "" -#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:58 -#: src/component/photo/archive/dialog.vue:58 +#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:59 +#: src/component/photo/archive/dialog.vue:59 #: src/component/photo/clipboard.vue:200 src/component/photo/edit/files.vue:365 #: src/component/photo/edit/files.vue:395 #: src/component/photo/edit/files.vue:401 #: src/component/photo/edit/files.vue:407 -#: src/component/photo/edit/files.vue:510 src/component/photo/edit/info.vue:281 +#: src/component/photo/edit/files.vue:512 src/component/photo/edit/info.vue:281 #: src/component/photo/edit/info.vue:297 src/component/photo/edit/info.vue:313 #: src/component/photo/edit/info.vue:329 src/component/photo/edit/info.vue:344 -#: src/component/photo/toolbar.vue:434 +#: src/component/photo/toolbar.vue:436 msgid "Yes" msgstr "" -#: src/component/confirm/sponsor.vue:59 src/page/about/about.vue:158 -#: src/page/connect.vue:315 +#: src/component/confirm/sponsor.vue:60 src/page/about/about.vue:160 +#: src/page/connect.vue:317 msgid "You are welcome to contact us at membership@photoprism.app for questions regarding your membership." msgstr "" @@ -3392,7 +3431,11 @@ msgstr "" msgid "You can only download one label" msgstr "" -#: src/component/upload/dialog.vue:203 +#: src/component/location/dialog.vue:178 +msgid "You can search for a location or move the marker on the map to change the position:" +msgstr "" + +#: src/component/upload/dialog.vue:205 msgid "You can upload up to %{n} files for test purposes." msgstr "" @@ -3405,7 +3448,7 @@ msgstr "" msgid "You may rescan your library to find additional faces." msgstr "" -#: src/page/connect.vue:146 src/page/connect.vue:150 +#: src/page/connect.vue:147 src/page/connect.vue:151 msgid "Your account has been successfully connected." msgstr "" @@ -3413,8 +3456,8 @@ msgstr "" msgid "Your browser does not support WebGL" msgstr "" -#: src/component/confirm/sponsor.vue:43 src/page/about/about.vue:97 -#: src/page/about/about.vue:156 src/page/connect.vue:220 +#: src/component/confirm/sponsor.vue:44 src/page/about/about.vue:98 +#: src/page/about/about.vue:158 src/page/connect.vue:222 msgid "Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy." msgstr "" diff --git a/frontend/src/locales/es.po b/frontend/src/locales/es.po index 69da94372..bb81b8d5b 100644 --- a/frontend/src/locales/es.po +++ b/frontend/src/locales/es.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: ci@photoprism.app\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2025-04-04 08:03+0000\n" +"PO-Revision-Date: 2025-07-06 08:58+0000\n" "Last-Translator: DeepL \n" "Language-Team: Spanish \n" "Language: es\n" @@ -11,7 +11,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.10.4\n" +"X-Generator: Weblate 5.12.2\n" "Generated-By: easygettext\n" #: src/locales.js:268 @@ -42,7 +42,7 @@ msgstr "{0} seleccionado" msgid "{0}-{1} of {2}" msgstr "{0}-{1} de {2}" -#: src/page/albums.vue:612 +#: src/page/albums.vue:617 msgid "%{n} albums found" msgstr "%{n} álbumes encontrados" @@ -50,25 +50,25 @@ msgstr "%{n} álbumes encontrados" msgid "%{n} files uploaded" msgstr "%{n} archivos subidos" -#: src/page/library/browse.vue:362 +#: src/page/library/browse.vue:364 msgid "%{n} folders found" msgstr "%{n} carpetas encontradas" -#: src/component/navigation.vue:1676 +#: src/component/navigation.vue:1707 msgid "%{n} GB of %{q} GB used" msgstr "%{n} GB de %{q} GB utilizados" -#: src/page/labels.vue:528 +#: src/page/labels.vue:533 msgid "%{n} labels found" msgstr "%{n} etiquetas encontradas" -#: src/page/people/new.vue:350 src/page/people/new.vue:447 -#: src/page/people/recognized.vue:536 +#: src/page/people/new.vue:350 src/page/people/new.vue:450 +#: src/page/people/recognized.vue:541 msgid "%{n} people found" msgstr "%{n} personas encontradas" -#: src/page/album/photos.vue:308 src/page/album/photos.vue:493 -#: src/page/photos.vue:441 src/page/photos.vue:631 +#: src/page/album/photos.vue:313 src/page/album/photos.vue:504 +#: src/page/photos.vue:446 src/page/photos.vue:641 msgid "%{n} pictures found" msgstr "%{n} fotos encontradas" @@ -88,12 +88,12 @@ msgstr "1 hora" msgid "12 hours" msgstr "12 horas" -#: src/component/user/edit/dialog.vue:452 src/page/settings/account.vue:324 -#: src/component/settings/passcode.vue:75 +#: src/component/user/edit/dialog.vue:453 src/page/settings/account.vue:325 +#: src/component/settings/passcode.vue:78 msgid "2-Factor Authentication" msgstr "Autenticación de 2 factores" -#: src/component/user/edit/dialog.vue:451 src/options/auth.js:46 +#: src/component/user/edit/dialog.vue:452 src/options/auth.js:47 msgid "2FA" msgstr "2FA" @@ -109,20 +109,20 @@ msgstr "Un clic lo copiará al portapapeles." msgid "A new version of %{s} is available:" msgstr "Hay disponible una nueva versión de %{s}:" -#: src/component/user/edit/dialog.vue:233 -#: src/component/user/edit/dialog.vue:234 src/page/about/about.vue:56 +#: src/component/user/edit/dialog.vue:234 +#: src/component/user/edit/dialog.vue:235 src/page/about/about.vue:56 #: src/page/settings/account.vue:248 src/page/settings/account.vue:249 -#: src/app/routes.js:63 src/component/navigation.vue:1521 -#: src/page/people/recognized.vue:292 +#: src/app/routes.js:63 src/component/navigation.vue:1547 +#: src/page/people/recognized.vue:296 msgid "About" msgstr "Acerca de" -#: src/options/auth.js:26 src/options/auth.js:44 +#: src/options/auth.js:27 src/options/auth.js:45 msgid "Access Token" msgstr "Ficha de acceso" -#: src/component/navigation.vue:87 src/component/navigation.vue:1788 -#: src/component/service/upload.vue:71 src/model/service.js:96 +#: src/component/navigation.vue:87 src/component/navigation.vue:1822 +#: src/component/service/upload.vue:72 src/model/service.js:96 #: src/model/user.js:171 src/page/settings.vue:85 #: src/page/settings/general.vue:582 msgid "Account" @@ -136,7 +136,7 @@ msgstr "Cuenta creada" msgid "Account deleted" msgstr "Cuenta borrada" -#: src/page/admin/users.vue:335 +#: src/page/admin/users.vue:337 msgid "Account restored" msgstr "Cuenta restablecida" @@ -157,8 +157,8 @@ msgstr "Acción" msgid "Actions" msgstr "Acciones" -#: src/page/connect.vue:294 src/component/settings/passcode.vue:346 -#: src/page/connect.vue:303 +#: src/page/connect.vue:296 src/component/settings/passcode.vue:349 +#: src/page/connect.vue:305 msgid "Activate" msgstr "Activar" @@ -174,20 +174,20 @@ msgstr "Activar para ordenar de forma ascendente." msgid "Activate to sort descending." msgstr "Activar para ordenar descendentemente." -#: src/page/connect.vue:231 src/page/connect.vue:240 +#: src/page/connect.vue:233 src/page/connect.vue:242 msgid "Activation Code" msgstr "Código de activación" -#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:83 -#: src/component/settings/apps.vue:448 +#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:92 +#: src/component/settings/apps.vue:451 msgid "Add" msgstr "Añadir" -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:246 msgid "Add %{s}?" msgstr "¿Añadir %{s}?" -#: src/component/user/add/dialog.vue:56 src/component/service/add.vue:49 +#: src/component/user/add/dialog.vue:57 src/component/service/add.vue:50 msgid "Add Account" msgstr "Añadir cuenta" @@ -204,8 +204,8 @@ msgid "Add Link" msgstr "Añadir enlace" #: src/component/photo/edit/people.vue:25 -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:57 -#: src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:57 +#: src/page/people/new.vue:246 msgid "Add person?" msgstr "¿Añadir persona?" @@ -221,10 +221,15 @@ msgstr "Añade imágenes desde los resultados de búsqueda, seleccionándolas." msgid "Add to album" msgstr "Añadir al álbum" -#: src/component/photo/edit/files.vue:514 +#: src/component/photo/edit/files.vue:516 msgid "Added" msgstr "Añadido" +#: src/component/location/dialog.vue:68 src/component/location/dialog.vue:90 +#: src/component/photo/edit/details.vue:246 +msgid "Adjust Location" +msgstr "Ajustar la ubicación" + #: src/options/admin.js:6 src/options/auth.js:6 msgid "Admin" msgstr "Admin" @@ -245,7 +250,7 @@ msgstr "Después de 3 días" msgid "After 7 days" msgstr "Después de 7 días" -#: src/component/settings/passcode.vue:93 +#: src/component/settings/passcode.vue:96 msgid "After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:" msgstr "Después de introducir tu contraseña para confirmarla, puedes configurar la autenticación de dos factores con una aplicación o dispositivo autenticador compatible:" @@ -277,12 +282,16 @@ msgstr "Álbum" msgid "Album Backups" msgstr "Copias de seguridad de álbumes" -#: src/page/albums.vue:674 +#: src/page/albums.vue:685 msgid "Album created" msgstr "Álbum creado" -#: src/app/routes.js:176 src/component/album/toolbar.vue:51 -#: src/component/navigation.vue:604 src/component/navigation.vue:1882 +#: src/page/album/photos.vue:589 +msgid "Album deleted" +msgstr "Álbum borrado" + +#: src/app/routes.js:184 src/component/album/toolbar.vue:55 +#: src/component/navigation.vue:607 src/component/navigation.vue:1922 #: src/component/photo/edit/info.vue:220 src/options/options.js:198 msgid "Albums" msgstr "Álbumes" @@ -295,7 +304,7 @@ msgstr "Álbumes borrados" msgid "All" msgstr "Todos" -#: src/page/albums.vue:465 +#: src/page/albums.vue:470 msgid "All %{n} albums loaded" msgstr "Todos los %{n} álbumes cargados" @@ -311,8 +320,8 @@ msgstr "Todas las %{n} personas cargadas" msgid "All Cameras" msgstr "Todas las cámaras" -#: src/component/photo/toolbar.vue:74 src/page/albums.vue:44 -#: src/page/albums.vue:240 src/page/albums.vue:746 +#: src/component/photo/toolbar.vue:74 src/page/albums.vue:45 +#: src/page/albums.vue:242 src/page/albums.vue:757 msgid "All Categories" msgstr "Todas las categorías" @@ -344,7 +353,7 @@ msgstr "Todos los meses" msgid "All originals" msgstr "Todos los originales" -#: src/component/photo/toolbar.vue:76 src/page/albums.vue:93 +#: src/component/photo/toolbar.vue:76 src/page/albums.vue:94 msgid "All Years" msgstr "Todos los años" @@ -356,7 +365,7 @@ msgstr "Alternativamente, puedes subir los archivos directamente a servidores We msgid "Altitude" msgstr "Altitud" -#: src/component/photo/edit/details.vue:272 +#: src/component/photo/edit/details.vue:297 msgid "Altitude (m)" msgstr "Altitud (m)" @@ -364,8 +373,7 @@ msgstr "Altitud (m)" msgid "AM" msgstr "AM" -#: src/app/routes.js:257 src/component/navigation.vue:791 -#: src/component/photo/edit/files.vue:364 +#: src/app/routes.js:265 src/component/photo/edit/files.vue:364 #: src/component/photo/view/cards.vue:327 #: src/component/photo/view/cards.vue:511 src/component/photo/view/list.vue:184 #: src/component/photo/view/mosaic.vue:171 src/options/options.js:301 @@ -376,43 +384,47 @@ msgstr "Animado" msgid "Animation" msgstr "Animación" +#: src/component/navigation.vue:797 +msgid "Animations" +msgstr "Animaciones" + #: src/component/share/dialog.vue:207 msgid "Any private photos and videos remain private and won't be shared." msgstr "Todas las fotos y videos privados siguen privados y no serán compartidos." -#: src/component/service/edit.vue:372 +#: src/component/service/edit.vue:373 msgid "API Key" msgstr "Clave API" -#: src/page/admin/sessions.vue:357 src/options/auth.js:25 +#: src/page/admin/sessions.vue:361 src/options/auth.js:26 msgid "Application" msgstr "Aplicación" -#: src/component/photo/edit/details.vue:641 +#: src/component/photo/edit/details.vue:615 msgid "Apply" msgstr "Aplicar" #: src/component/photo/clipboard.vue:64 -#: src/component/photo/edit/details.vue:640 +#: src/component/photo/edit/details.vue:614 #: src/component/photo/view/cards.vue:416 msgid "Approve" msgstr "Aprobar" -#: src/page/settings/account.vue:374 src/component/settings/apps.vue:91 +#: src/page/settings/account.vue:378 src/component/settings/apps.vue:94 msgid "Apps and Devices" msgstr "Aplicaciones y dispositivos" -#: src/app/routes.js:287 src/component/lightbox.vue:1207 -#: src/component/navigation.vue:555 src/component/photo/clipboard.vue:142 +#: src/app/routes.js:295 src/component/lightbox.vue:1207 +#: src/component/navigation.vue:557 src/component/photo/clipboard.vue:142 #: src/component/photo/view/cards.vue:398 src/page/settings/general.vue:432 msgid "Archive" msgstr "Archivar" -#: src/component/lightbox.vue:1982 src/component/photo/edit/info.vue:433 +#: src/component/lightbox.vue:2002 src/component/photo/edit/info.vue:433 msgid "Archived" msgstr "Archivado" -#: src/component/photo/archive/dialog.vue:34 +#: src/component/photo/archive/dialog.vue:35 msgid "Are you sure you want to archive the selection?" msgstr "¿Estás seguro que quieres archivar la selección?" @@ -420,19 +432,23 @@ msgstr "¿Estás seguro que quieres archivar la selección?" msgid "Are you sure you want to delete these albums?" msgstr "¿Estás seguro que quieres borrar estos álbumes?" -#: src/component/label/delete/dialog.vue:34 +#: src/component/label/delete/dialog.vue:35 msgid "Are you sure you want to delete these labels?" msgstr "¿Seguro que desea borrar estas etiquetas?" -#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:36 +#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:37 msgid "Are you sure you want to delete this account?" msgstr "¿Estás seguro que quieres borrar esta cuenta?" +#: src/component/album/toolbar.vue:136 +msgid "Are you sure you want to delete this album?" +msgstr "¿Estás seguro de que quieres borrar este álbum?" + #: src/component/photo/clipboard.vue:199 msgid "Are you sure you want to permanently delete these pictures?" msgstr "¿Estás seguro de que quieres borrar permanentemente estas fotos?" -#: src/component/file/delete/dialog.vue:34 +#: src/component/file/delete/dialog.vue:35 msgid "Are you sure you want to permanently delete this file?" msgstr "¿Seguro que desea eliminar este fichero permanentemente?" @@ -441,7 +457,7 @@ msgstr "¿Seguro que desea eliminar este fichero permanentemente?" msgid "Are you sure?" msgstr "¿Estás seguro?" -#: src/component/photo/edit/details.vue:537 +#: src/component/photo/edit/details.vue:511 msgid "Artist" msgstr "Artista" @@ -449,14 +465,14 @@ msgstr "Artista" msgid "Aspect Ratio" msgstr "Relación de aspecto" -#: src/app/routes.js:250 src/component/navigation.vue:770 +#: src/app/routes.js:258 src/component/navigation.vue:776 #: src/options/options.js:297 msgid "Audio" msgstr "Audio" -#: src/component/user/add/dialog.vue:190 src/component/user/edit/dialog.vue:309 -#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:281 -#: src/page/admin/users.vue:75 +#: src/component/user/add/dialog.vue:191 src/component/user/edit/dialog.vue:310 +#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:282 +#: src/page/admin/users.vue:77 msgid "Authentication" msgstr "Autenticación" @@ -464,11 +480,11 @@ msgstr "Autenticación" msgid "Auto" msgstr "Auto" -#: src/component/settings/apps.vue:151 +#: src/component/settings/apps.vue:154 msgid "Back" msgstr "Volver" -#: src/component/scroll.vue:20 +#: src/component/scroll.vue:18 msgid "Back to top" msgstr "Volver arriba" @@ -480,26 +496,26 @@ msgstr "Copia de seguridad" msgid "Badge" msgstr "Placa" -#: src/component/user/edit/dialog.vue:361 #: src/component/user/edit/dialog.vue:362 +#: src/component/user/edit/dialog.vue:363 msgid "Base Path" msgstr "Ruta base" -#: src/page/about/about.vue:95 src/page/connect.vue:220 +#: src/page/about/about.vue:96 src/page/connect.vue:222 msgid "Become a member today, support our mission and enjoy our member benefits!" msgstr "Hágase socio hoy mismo, apoye nuestra misión y disfrute de nuestras ventajas." -#: src/component/confirm/sponsor.vue:51 src/page/about/about.vue:99 +#: src/component/confirm/sponsor.vue:52 src/page/about/about.vue:100 msgid "Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services." msgstr "Al ser 100% autofinanciados e independientes, podemos prometerte que nunca venderemos tus datos y que siempre seremos transparentes sobre nuestro software y servicios." -#: src/component/user/edit/dialog.vue:258 -#: src/component/user/edit/dialog.vue:259 src/page/settings/account.vue:227 +#: src/component/user/edit/dialog.vue:259 +#: src/component/user/edit/dialog.vue:260 src/page/settings/account.vue:227 #: src/page/settings/account.vue:228 msgid "Bio" msgstr "Biografía" -#: src/page/settings/account.vue:431 +#: src/page/settings/account.vue:437 msgid "Birth Date" msgstr "Fecha de nacimiento" @@ -520,7 +536,7 @@ msgid "Brown" msgstr "Marrón" #: src/component/photo/edit/files.vue:263 src/component/photo/toolbar.vue:141 -#: src/component/upload/dialog.vue:240 +#: src/component/upload/dialog.vue:242 msgid "Browse" msgstr "Visite" @@ -548,16 +564,16 @@ msgstr "Informe de errores" msgid "Busy, please wait…" msgstr "Ocupado, por favor espera…" -#: src/page/connect.vue:317 +#: src/page/connect.vue:319 msgid "By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct." msgstr "Al utilizar el software y los servicios que ofrecemos, usted acepta nuestras condiciones de servicio, política de privacidad y código de conducta." -#: src/app/routes.js:189 src/component/navigation.vue:1081 +#: src/app/routes.js:197 src/component/navigation.vue:1097 #: src/options/options.js:204 src/page/settings/general.vue:205 msgid "Calendar" msgstr "Calendario" -#: src/component/photo/edit/details.vue:346 src/component/photo/toolbar.vue:232 +#: src/component/photo/edit/details.vue:320 src/component/photo/toolbar.vue:234 #: src/component/photo/view/cards.vue:467 src/component/photo/view/list.vue:116 msgid "Camera" msgstr "Cámara" @@ -570,12 +586,12 @@ msgstr "Serial de cámara" msgid "Can't access your authenticator app or device?" msgstr "¿No puedes acceder a tu aplicación o dispositivo autenticador?" -#: src/page/album/photos.vue:317 src/page/photos.vue:450 +#: src/page/album/photos.vue:322 src/page/photos.vue:455 msgid "Can't load more, limit reached" msgstr "No se puede cargar más, límite alcanzado" #: src/common/clipboard.js:102 src/common/clipboard.js:139 -#: src/page/albums.vue:684 src/page/albums.vue:700 src/page/labels.vue:293 +#: src/page/albums.vue:695 src/page/albums.vue:711 src/page/labels.vue:293 #: src/page/labels.vue:313 src/page/library/browse.vue:233 #: src/page/library/browse.vue:249 src/page/people/new.vue:278 #: src/page/people/new.vue:294 src/page/people/recognized.vue:305 @@ -584,26 +600,31 @@ msgid "Can't select more items" msgstr "No puedes seleccionar más elementos" #: src/component/session/remove/dialog.vue:45 -#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:473 -#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:119 +#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:474 +#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:120 #: src/component/album/delete/dialog.vue:43 -#: src/component/album/edit/dialog.vue:199 src/component/confirm/dialog.vue:43 -#: src/component/file/delete/dialog.vue:47 -#: src/component/label/delete/dialog.vue:47 -#: src/component/label/edit/dialog.vue:107 -#: src/component/people/edit/dialog.vue:120 +#: src/component/album/edit/dialog.vue:200 src/component/confirm/dialog.vue:43 +#: src/component/file/delete/dialog.vue:48 +#: src/component/label/delete/dialog.vue:48 +#: src/component/label/edit/dialog.vue:108 +#: src/component/location/dialog.vue:200 +#: src/component/people/edit/dialog.vue:121 #: src/component/photo/album/dialog.vue:78 src/component/service/add.vue:19 -#: src/component/service/edit.vue:455 src/component/service/remove.vue:49 -#: src/component/service/upload.vue:117 src/component/settings/apps.vue:352 -#: src/component/settings/passcode.vue:249 -#: src/component/settings/passcode.vue:333 -#: src/component/settings/password.vue:159 src/component/share/dialog.vue:28 -#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:123 +#: src/component/service/edit.vue:456 src/component/service/remove.vue:50 +#: src/component/service/upload.vue:118 src/component/settings/apps.vue:355 +#: src/component/settings/passcode.vue:252 +#: src/component/settings/passcode.vue:336 +#: src/component/settings/password.vue:160 src/component/share/dialog.vue:28 +#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:124 #: src/page/library/import.vue:119 src/page/library/index.vue:128 msgid "Cancel" msgstr "Cancelar" -#: src/component/photo/edit/details.vue:87 src/component/photo/edit/info.vue:61 +#: src/common/util.js:863 src/common/util.js:870 +msgid "Cannot copy to clipboard" +msgstr "No se puede copiar al portapapeles" + +#: src/component/photo/edit/details.vue:89 src/component/photo/edit/info.vue:63 #: src/component/photo/edit/labels.vue:42 #: src/component/photo/view/cards.vue:445 src/component/sidebar/info.vue:72 msgid "Caption" @@ -617,17 +638,17 @@ msgstr "Tarjetas" msgid "Carousel slide {0} of {1}" msgstr "Carrusel diapositiva {0} de {1}" -#: src/page/about/feedback.vue:82 src/page/about/feedback.vue:83 -#: src/component/album/edit/dialog.vue:128 src/component/photo/toolbar.vue:397 +#: src/page/about/feedback.vue:83 src/page/about/feedback.vue:84 +#: src/component/album/edit/dialog.vue:129 src/component/photo/toolbar.vue:399 #: src/page/albums.vue:187 msgid "Category" msgstr "Categoría" -#: src/component/user/edit/dialog.vue:191 src/page/settings/account.vue:201 +#: src/component/user/edit/dialog.vue:192 src/page/settings/account.vue:201 msgid "Change Avatar" msgstr "Cambiar la imagen de perfil" -#: src/page/settings/account.vue:297 src/component/settings/password.vue:48 +#: src/page/settings/account.vue:297 src/component/settings/password.vue:49 msgid "Change Password" msgstr "Cambiar la contraseña" @@ -644,17 +665,17 @@ msgid "Change private flag" msgstr "Cambiar indicador de privado" #: src/component/user/add/dialog.vue:108 src/component/user/add/dialog.vue:113 -#: src/component/user/edit/dialog.vue:90 src/component/user/edit/dialog.vue:95 +#: src/component/user/edit/dialog.vue:91 src/component/user/edit/dialog.vue:96 #: src/page/settings/account.vue:121 src/page/settings/account.vue:126 msgid "Changes could not be saved" msgstr "No se pudieron guardar los cambios" -#: src/component/user/edit/dialog.vue:83 src/component/user/edit/dialog.vue:159 +#: src/component/user/edit/dialog.vue:84 src/component/user/edit/dialog.vue:160 #: src/component/album/edit/dialog.vue:73 -#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1941 +#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1961 #: src/component/photo/edit/files.vue:162 src/component/service/edit.vue:90 #: src/component/share/dialog.vue:92 src/component/share/dialog.vue:111 -#: src/page/albums.vue:677 src/page/people/recognized.vue:119 +#: src/page/albums.vue:688 src/page/people/recognized.vue:119 #: src/page/settings/advanced.vue:62 src/page/settings/content.vue:62 #: src/page/settings/general.vue:108 msgid "Changes successfully saved" @@ -668,7 +689,7 @@ msgstr "Los cambios en la configuración avanzada requieren un reinicio para que msgid "Checked" msgstr "Revisado" -#: src/component/photo/edit/files.vue:495 +#: src/component/photo/edit/files.vue:497 msgid "Chroma" msgstr "Croma" @@ -684,24 +705,24 @@ msgstr "Limpieza" msgid "Clear {0}" msgstr "Borrar {0}" -#: src/options/auth.js:11 src/options/auth.js:23 src/options/auth.js:43 +#: src/options/auth.js:12 src/options/auth.js:24 src/options/auth.js:44 msgid "Client" msgstr "Cliente" -#: src/options/auth.js:24 +#: src/options/auth.js:25 msgid "Client Credentials" msgstr "Credenciales del cliente" -#: src/page/admin/sessions.vue:529 src/component/lightbox.vue:284 -#: src/component/lightbox.vue:1009 src/component/lightbox.vue:1010 -#: src/component/photo/edit/details.vue:627 src/component/photo/toolbar.vue:160 -#: src/component/settings/apps.vue:224 src/component/settings/apps.vue:437 -#: src/component/settings/passcode.vue:148 -#: src/component/settings/passcode.vue:456 -#: src/component/settings/passcode.vue:497 -#: src/component/settings/webdav.vue:131 src/component/share/dialog.vue:231 +#: src/component/user/edit/dialog.vue:474 src/page/admin/sessions.vue:536 +#: src/component/lightbox.vue:284 src/component/lightbox.vue:1009 +#: src/component/lightbox.vue:1010 src/component/photo/edit/details.vue:601 +#: src/component/photo/toolbar.vue:161 src/component/settings/apps.vue:227 +#: src/component/settings/apps.vue:440 src/component/settings/passcode.vue:151 +#: src/component/settings/passcode.vue:459 +#: src/component/settings/passcode.vue:500 +#: src/component/settings/webdav.vue:132 src/component/share/dialog.vue:231 #: src/component/sidebar/info.vue:26 src/component/update.vue:57 -#: src/component/upload/dialog.vue:228 src/locales.js:206 +#: src/component/upload/dialog.vue:230 src/locales.js:206 #: src/page/library/errors.vue:253 msgid "Close" msgstr "Cerrar" @@ -710,11 +731,11 @@ msgstr "Cerrar" msgid "Codec" msgstr "Códec" -#: src/component/photo/toolbar.vue:369 +#: src/component/photo/toolbar.vue:371 msgid "Color" msgstr "Color" -#: src/component/photo/edit/files.vue:483 +#: src/component/photo/edit/files.vue:485 msgid "Color Profile" msgstr "Perfil de color" @@ -722,7 +743,7 @@ msgstr "Perfil de color" msgid "Colors" msgstr "Colores" -#: src/page/connect.vue:260 src/page/connect.vue:269 +#: src/page/connect.vue:262 src/page/connect.vue:271 msgid "Compare Editions" msgstr "Comparar ediciones" @@ -735,17 +756,18 @@ msgstr "Reescaneo completo" msgid "Confidence" msgstr "Confianza" +#: src/component/location/dialog.vue:212 #: src/component/photo/album/dialog.vue:90 -#: src/component/settings/passcode.vue:261 +#: src/component/settings/passcode.vue:264 msgid "Confirm" msgstr "Confirma" -#: src/component/service/add.vue:20 src/page/settings/services.vue:187 +#: src/component/service/add.vue:20 src/page/settings/services.vue:191 msgid "Connect" msgstr "Conectar" -#: src/page/settings/account.vue:401 src/component/settings/webdav.vue:45 -#: src/page/settings/services.vue:167 +#: src/page/settings/account.vue:406 src/component/settings/webdav.vue:46 +#: src/page/settings/services.vue:170 msgid "Connect via WebDAV" msgstr "Conectar através de WebDAV" @@ -753,22 +775,22 @@ msgstr "Conectar através de WebDAV" msgid "Connected" msgstr "Conectado" -#: src/page/settings/account.vue:640 src/page/settings/account.vue:532 +#: src/page/settings/account.vue:646 src/page/settings/account.vue:538 msgid "Contact Details" msgstr "Datos de contacto" -#: src/page/about/feedback.vue:37 src/page/connect.vue:132 -#: src/page/connect.vue:136 +#: src/page/about/feedback.vue:37 src/page/connect.vue:133 +#: src/page/connect.vue:137 msgid "Contact Us" msgstr "Contáctenos" #: src/page/albums.vue:433 src/page/labels.vue:237 -#: src/page/people/recognized.vue:306 +#: src/page/people/recognized.vue:310 msgid "Contains %{n} pictures." msgstr "Contiene %{n} imágenes." #: src/page/albums.vue:427 src/page/labels.vue:231 -#: src/page/people/recognized.vue:300 +#: src/page/people/recognized.vue:304 msgid "Contains one picture." msgstr "Contiene una imagen." @@ -776,7 +798,7 @@ msgstr "Contiene una imagen." msgid "Content" msgstr "Contenido" -#: src/component/settings/apps.vue:163 +#: src/component/settings/apps.vue:166 msgid "Continue" msgstr "Continúa en" @@ -784,7 +806,7 @@ msgstr "Continúa en" msgid "Continue with %{provider}" msgstr "Continúa con %{proveedor}" -#: src/options/admin.js:18 src/options/auth.js:9 +#: src/options/admin.js:22 src/options/auth.js:10 msgid "Contributor" msgstr "Colaborador" @@ -792,15 +814,15 @@ msgstr "Colaborador" msgid "Converting" msgstr "Conversión" -#: src/common/util.js:846 +#: src/common/util.js:856 msgid "Copied to clipboard" msgstr "Copiado al portapapeles" -#: src/component/settings/apps.vue:250 src/component/settings/passcode.vue:358 +#: src/component/settings/apps.vue:253 src/component/settings/passcode.vue:361 msgid "Copy" msgstr "Copiar" -#: src/component/photo/edit/details.vue:516 +#: src/component/photo/edit/details.vue:490 msgid "Copyright" msgstr "Copyright" @@ -808,8 +830,8 @@ msgstr "Copyright" msgid "Couldn't find anything." msgstr "No se ha encontrado nada." -#: src/page/settings/account.vue:685 src/component/photo/edit/details.vue:242 -#: src/component/photo/toolbar.vue:203 src/page/settings/account.vue:577 +#: src/page/settings/account.vue:691 src/component/photo/edit/details.vue:268 +#: src/component/photo/toolbar.vue:205 src/page/settings/account.vue:583 msgid "Country" msgstr "País" @@ -833,7 +855,7 @@ msgstr "Crea archivos YAML para hacer copias de seguridad de los metadatos de lo msgid "Create YAML sidecar files to back up picture metadata." msgstr "Crea archivos sidecar YAML para hacer copias de seguridad de los metadatos de las imágenes." -#: src/page/admin/sessions.vue:417 src/component/photo/edit/info.vue:412 +#: src/page/admin/sessions.vue:422 src/component/photo/edit/info.vue:412 msgid "Created" msgstr "Creado" @@ -845,11 +867,11 @@ msgstr "Creando miniaturas para" msgid "Cubic: Moderate Quality, Good Performance" msgstr "Cúbico: Calidad moderada, buen rendimiento" -#: src/component/settings/password.vue:85 +#: src/component/settings/password.vue:86 msgid "Current Password" msgstr "Contraseña actual" -#: src/options/themes.js:919 src/options/themes.js:928 +#: src/options/themes.js:920 src/options/themes.js:929 msgid "Custom" msgstr "Personalizado" @@ -865,11 +887,11 @@ msgstr "Diariamente" msgid "Database Backups" msgstr "Copias de seguridad de la base de datos" -#: src/page/settings/account.vue:450 src/component/photo/edit/details.vue:110 +#: src/page/settings/account.vue:456 src/component/photo/edit/details.vue:112 msgid "Day" msgstr "Día" -#: src/component/settings/passcode.vue:445 +#: src/component/settings/passcode.vue:448 msgid "Deactivate" msgstr "Desactiva" @@ -877,36 +899,40 @@ msgstr "Desactiva" msgid "Debug Logs" msgstr "Registros de depuración" -#: src/options/admin.js:31 src/page/admin/sessions.vue:136 -#: src/page/admin/users.vue:176 src/component/photo/edit/info.vue:47 +#: src/options/admin.js:35 src/page/admin/sessions.vue:136 +#: src/page/admin/users.vue:178 src/component/photo/edit/info.vue:47 #: src/component/photo/edit/info.vue:110 src/model/session.js:66 -#: src/model/user.js:246 src/options/auth.js:20 src/options/auth.js:21 -#: src/options/auth.js:39 src/options/auth.js:40 src/options/options.js:196 +#: src/model/user.js:246 src/options/auth.js:21 src/options/auth.js:22 +#: src/options/auth.js:40 src/options/auth.js:41 src/options/options.js:196 #: src/options/options.js:232 src/options/options.js:316 -#: src/options/themes.js:773 +#: src/options/themes.js:774 msgid "Default" msgstr "Por defecto" -#: src/component/service/edit.vue:123 +#: src/component/service/edit.vue:124 msgid "Default Folder" msgstr "Carpeta por Defecto" #: src/component/session/remove/dialog.vue:56 #: src/component/user/remove/dialog.vue:56 src/component/album/clipboard.vue:97 -#: src/component/album/delete/dialog.vue:54 -#: src/component/file/delete/dialog.vue:58 src/component/label/clipboard.vue:58 -#: src/component/label/delete/dialog.vue:58 +#: src/component/album/delete/dialog.vue:54 src/component/album/toolbar.vue:137 +#: src/component/file/delete/dialog.vue:59 src/component/label/clipboard.vue:58 +#: src/component/label/delete/dialog.vue:59 #: src/component/photo/clipboard.vue:168 src/component/photo/edit/files.vue:238 -#: src/component/service/remove.vue:60 src/component/share/dialog.vue:170 +#: src/component/service/remove.vue:61 src/component/share/dialog.vue:170 #: src/page/settings/general.vue:457 msgid "Delete" msgstr "Borrar" +#: src/component/album/toolbar.vue:133 +msgid "Delete Album" +msgstr "Eliminar Álbum" + #: src/component/photo/toolbar.vue:119 src/page/library/errors.vue:95 msgid "Delete All" msgstr "Borrar todo" -#: src/component/photo/toolbar.vue:433 src/page/library/errors.vue:193 +#: src/component/photo/toolbar.vue:435 src/page/library/errors.vue:193 msgid "Delete all?" msgstr "¿Borrar todo?" @@ -914,16 +940,16 @@ msgstr "¿Borrar todo?" msgid "Delete orphaned index entries, sidecar files and thumbnails." msgstr "Eliminar entradas de índice, archivos sidecar y miniaturas huérfanos." -#: src/component/album/edit/dialog.vue:107 src/page/albums.vue:411 +#: src/component/album/edit/dialog.vue:108 src/page/albums.vue:411 msgid "Description" msgstr "Descripción" -#: src/component/settings/webdav.vue:115 +#: src/component/settings/webdav.vue:116 msgid "Detailed instructions can be found in our User Guide." msgstr "Las instrucciones detalladas se encuentran en nuestra Guía de Usuario." -#: src/component/photo/edit/dialog.vue:156 -#: src/component/photo/edit/dialog.vue:173 +#: src/component/photo/edit/dialog.vue:162 +#: src/component/photo/edit/dialog.vue:181 msgid "Details" msgstr "Detalles" @@ -987,8 +1013,8 @@ msgstr "Desactiva el soporte de gráficos vectoriales." msgid "Disables video transcoding and thumbnail extraction." msgstr "Desactiva la transcodificación de vídeo y la extracción de miniaturas." -#: src/app/routes.js:558 src/app/routes.js:565 src/app/routes.js:572 -#: src/app/routes.js:579 +#: src/app/routes.js:566 src/app/routes.js:573 src/app/routes.js:580 +#: src/app/routes.js:587 msgid "Discover" msgstr "Descubrir" @@ -996,9 +1022,9 @@ msgstr "Descubrir" msgid "Dismiss" msgstr "Desestimar" -#: src/component/user/add/dialog.vue:133 src/component/user/add/dialog.vue:134 -#: src/component/user/edit/dialog.vue:163 -#: src/component/user/edit/dialog.vue:164 src/page/admin/users.vue:72 +#: src/component/user/add/dialog.vue:134 src/component/user/add/dialog.vue:135 +#: src/component/user/edit/dialog.vue:164 +#: src/component/user/edit/dialog.vue:165 src/page/admin/users.vue:74 #: src/page/settings/account.vue:149 src/page/settings/account.vue:151 msgid "Display Name" msgstr "Nombre para mostrar" @@ -1013,12 +1039,12 @@ msgstr "Mostrar los títulos de las imágenes en los resultados de búsqueda." #: src/component/photo/view/cards.vue:339 #: src/component/photo/view/cards.vue:521 -#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:174 +#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:176 #: src/options/options.js:309 msgid "Document" msgstr "Documento" -#: src/component/navigation.vue:480 +#: src/component/navigation.vue:482 msgid "Documents" msgstr "Documentos" @@ -1034,16 +1060,16 @@ msgstr "No utilice ImageMagick para convertir imágenes." msgid "Don't use RawTherapee to convert RAW images." msgstr "No utilices RawTherapee para convertir imágenes RAW." -#: src/component/settings/apps.vue:238 src/component/share/dialog.vue:29 +#: src/component/settings/apps.vue:241 src/component/share/dialog.vue:29 msgid "Done" msgstr "Hecho" -#: src/component/upload/dialog.vue:135 src/page/library/import.vue:46 +#: src/component/upload/dialog.vue:137 src/page/library/import.vue:46 #: src/page/library/index.vue:52 msgid "Done." msgstr "Hecho." -#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:118 +#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:123 #: src/component/file/clipboard.vue:48 src/component/lightbox.vue:1235 #: src/component/people/clipboard.vue:47 src/component/photo/clipboard.vue:116 #: src/component/photo/edit/files.vue:168 src/page/settings/content.vue:331 @@ -1055,7 +1081,7 @@ msgstr "Descargar" msgid "Download only original media files, without any automatically generated files." msgstr "Descargue sólo archivos multimedia originales, sin archivos generados automáticamente." -#: src/component/service/edit.vue:237 +#: src/component/service/edit.vue:238 msgid "Download remote files" msgstr "Descargar archivos remotos" @@ -1063,9 +1089,9 @@ msgstr "Descargar archivos remotos" msgid "Download single files and zip archives." msgstr "Descargar archivos individuales y zip." -#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:157 +#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:172 #: src/component/file/clipboard.vue:61 src/component/label/clipboard.vue:86 -#: src/component/lightbox.vue:2021 src/component/people/clipboard.vue:59 +#: src/component/lightbox.vue:2041 src/component/people/clipboard.vue:59 #: src/component/photo/clipboard.vue:220 src/component/photo/edit/files.vue:119 #: src/component/photo/view/cards.vue:169 src/component/photo/view/list.vue:142 #: src/page/library/browse.vue:139 @@ -1080,7 +1106,7 @@ msgstr "Filtro de calidad" msgid "Drag and drop files here" msgstr "Arrastra y suelta los archivos aquí" -#: src/page/about/feedback.vue:61 +#: src/page/about/feedback.vue:62 msgid "Due to the high volume of emails we receive, our team may be unable to get back to you immediately." msgstr "Debido al gran volumen de correos electrónicos que recibimos, es posible que nuestro equipo no pueda responderle inmediatamente." @@ -1100,23 +1126,23 @@ msgstr "Previsualizaciones dinámicas" msgid "Dynamic Size Limit: %{n}px" msgstr "Límite de tamaño dinámico: %{n}px" -#: src/page/about/feedback.vue:141 src/page/about/feedback.vue:140 +#: src/page/about/feedback.vue:142 src/page/about/feedback.vue:141 msgid "E-Mail" msgstr "E-Mail" -#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:89 +#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:94 #: src/component/lightbox.vue:1136 src/component/lightbox.vue:1137 #: src/component/photo/clipboard.vue:90 src/page/settings/general.vue:407 msgid "Edit" msgstr "Editar" -#: src/component/album/edit/dialog.vue:54 -#: src/component/label/edit/dialog.vue:52 -#: src/component/people/edit/dialog.vue:52 +#: src/component/album/edit/dialog.vue:55 +#: src/component/label/edit/dialog.vue:53 +#: src/component/people/edit/dialog.vue:53 msgid "Edit %{s}" msgstr "Editar %{s}" -#: src/component/user/edit/dialog.vue:61 src/component/service/edit.vue:79 +#: src/component/user/edit/dialog.vue:62 src/component/service/edit.vue:79 msgid "Edit Account" msgstr "Editar Cuenta" @@ -1128,8 +1154,8 @@ msgstr "Editar Foto" msgid "Edited" msgstr "Editado" -#: src/component/user/add/dialog.vue:151 src/component/user/edit/dialog.vue:213 -#: src/page/settings/account.vue:171 src/page/settings/account.vue:593 +#: src/component/user/add/dialog.vue:152 src/component/user/edit/dialog.vue:214 +#: src/page/settings/account.vue:171 src/page/settings/account.vue:599 msgid "Email" msgstr "Correo electrónico" @@ -1145,7 +1171,7 @@ msgstr "Habilitar nuevas funciones que pueden estar incompletas o ser inestables msgid "Enables RAW converter presets. May reduce performance." msgstr "Activa los preajustes del convertidor RAW. Puede reducir el rendimiento." -#: src/component/settings/passcode.vue:127 +#: src/component/settings/passcode.vue:130 msgid "Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account." msgstr "Activar la autenticación de dos factores significa que necesitarás un código de verificación generado aleatoriamente para iniciar sesión, de modo que aunque alguien acceda a tu contraseña, no podrá acceder a tu cuenta." @@ -1157,7 +1183,7 @@ msgstr "Introduce la fecha" msgid "Enter dates" msgstr "Introduce las fechas" -#: src/component/settings/passcode.vue:213 src/page/auth/login.vue:104 +#: src/component/settings/passcode.vue:216 src/page/auth/login.vue:104 msgid "Enter the code generated by your authenticator app:" msgstr "Introduce el código generado por tu aplicación de autenticación:" @@ -1165,7 +1191,7 @@ msgstr "Introduce el código generado por tu aplicación de autenticación:" msgid "Enter verification code" msgstr "Ingrese el código de verificación" -#: src/component/settings/apps.vue:109 +#: src/component/settings/apps.vue:112 msgid "Enter your password to confirm the action and continue:" msgstr "Introduce tu contraseña para confirmar la acción y continuar:" @@ -1174,7 +1200,7 @@ msgstr "Introduce tu contraseña para confirmar la acción y continuar:" msgid "Error" msgstr "Error" -#: src/app/routes.js:374 src/component/navigation.vue:1348 +#: src/app/routes.js:382 src/component/navigation.vue:1372 msgid "Errors" msgstr "Errores" @@ -1210,13 +1236,13 @@ msgstr "La extracción de metadatos con ExifTool es necesaria para la compatibil msgid "Experimental Features" msgstr "Características experimentales" -#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:453 -#: src/component/service/edit.vue:157 src/component/settings/apps.vue:73 -#: src/component/settings/apps.vue:326 src/component/share/dialog.vue:62 +#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:458 +#: src/component/service/edit.vue:158 src/component/settings/apps.vue:73 +#: src/component/settings/apps.vue:329 src/component/share/dialog.vue:62 msgid "Expires" msgstr "Expira" -#: src/component/photo/edit/details.vue:396 +#: src/component/photo/edit/details.vue:370 msgid "Exposure" msgstr "Exposición" @@ -1224,7 +1250,7 @@ msgstr "Exposición" msgid "Extract still images and generate thumbnails while indexing." msgstr "Extrae imágenes fijas y genera miniaturas mientras indexas." -#: src/component/photo/edit/details.vue:444 +#: src/component/photo/edit/details.vue:418 msgid "F Number" msgstr "Número F" @@ -1240,7 +1266,7 @@ msgstr "Caras" msgid "Failed removing link" msgstr "Falló al eliminar el enlace" -#: src/page/connect.vue:106 src/page/connect.vue:110 +#: src/page/connect.vue:107 src/page/connect.vue:111 msgid "Failed to connect account." msgstr "No se ha podido conectar la cuenta." @@ -1248,8 +1274,8 @@ msgstr "No se ha podido conectar la cuenta." msgid "Failed updating link" msgstr "Falló la actualización el enlace" -#: src/component/user/edit/dialog.vue:143 -#: src/component/user/edit/dialog.vue:144 src/page/settings/account.vue:128 +#: src/component/user/edit/dialog.vue:144 +#: src/component/user/edit/dialog.vue:145 src/page/settings/account.vue:128 #: src/page/settings/account.vue:130 msgid "Family Name" msgstr "Apellidos" @@ -1258,15 +1284,15 @@ msgstr "Apellidos" msgid "Fast" msgstr "Rápido" -#: src/component/album/edit/dialog.vue:159 -#: src/component/label/edit/dialog.vue:85 -#: src/component/people/edit/dialog.vue:85 +#: src/component/album/edit/dialog.vue:160 +#: src/component/label/edit/dialog.vue:86 +#: src/component/people/edit/dialog.vue:86 #: src/component/photo/edit/info.vue:287 msgid "Favorite" msgstr "Favorito" -#: src/app/routes.js:222 src/component/navigation.vue:893 -#: src/options/options.js:202 src/page/albums.vue:97 +#: src/app/routes.js:230 src/component/navigation.vue:903 +#: src/options/options.js:202 src/page/albums.vue:98 msgid "Favorites" msgstr "Favoritos" @@ -1274,7 +1300,7 @@ msgstr "Favoritos" msgid "Feature Request" msgstr "Solicitud de características" -#: src/component/navigation.vue:1456 +#: src/component/navigation.vue:1482 msgid "Feedback" msgstr "Comentarios" @@ -1282,11 +1308,12 @@ msgstr "Comentarios" msgid "Female" msgstr "Mujer" -#: src/component/photo/edit/info.vue:214 src/model/file.js:290 +#: src/component/photo/edit/info.vue:57 src/component/photo/edit/info.vue:214 +#: src/model/file.js:290 msgid "File" msgstr "Archivo" -#: src/app/routes.js:343 +#: src/app/routes.js:351 msgid "File Browser" msgstr "Explorador de Archivos" @@ -1309,8 +1336,8 @@ msgstr "Tamaño del archivo" msgid "Filename" msgstr "Nombre del archivo" -#: src/component/navigation.vue:1930 src/component/photo/edit/dialog.vue:267 -#: src/component/photo/edit/dialog.vue:284 +#: src/component/navigation.vue:1973 src/component/photo/edit/dialog.vue:279 +#: src/component/photo/edit/dialog.vue:298 msgid "Files" msgstr "Archivos" @@ -1322,26 +1349,26 @@ msgstr "Los archivos con nombres secuenciales como \"IMG_1234 (2)\" o \"IMG_1234 msgid "First page" msgstr "Primera página" -#: src/component/photo/edit/details.vue:465 +#: src/component/photo/edit/details.vue:439 msgid "Focal Length" msgstr "Distancia focal" -#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:118 -#: src/component/service/edit.vue:189 src/component/service/edit.vue:194 -#: src/component/service/upload.vue:90 src/component/service/upload.vue:96 +#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:119 +#: src/component/service/edit.vue:190 src/component/service/edit.vue:195 +#: src/component/service/upload.vue:91 src/component/service/upload.vue:97 #: src/model/folder.js:199 src/page/library/browse.vue:182 msgid "Folder" msgstr "Carpeta" -#: src/page/library/browse.vue:365 +#: src/page/library/browse.vue:367 msgid "Folder contains %{n} files" msgstr "La carpeta contiene %{n} archivos" -#: src/page/library/browse.vue:356 +#: src/page/library/browse.vue:358 msgid "Folder is empty" msgstr "Carpeta vacía" -#: src/app/routes.js:202 src/component/navigation.vue:1225 +#: src/app/routes.js:210 src/component/navigation.vue:1247 #: src/options/options.js:207 msgid "Folders" msgstr "Carpetas" @@ -1358,7 +1385,7 @@ msgstr "FPS" msgid "Frames" msgstr "Marcos" -#: src/options/auth.js:54 src/options/auth.js:64 +#: src/options/auth.js:55 src/options/auth.js:65 msgid "Full Access" msgstr "Acceso total" @@ -1370,7 +1397,7 @@ msgstr "Pantalla completa" msgid "General" msgstr "General" -#: src/component/settings/apps.vue:364 +#: src/component/settings/apps.vue:367 msgid "Generate" msgstr "Genera" @@ -1390,8 +1417,8 @@ msgstr "Generado" msgid "Get Started" msgstr "Empieza" -#: src/component/user/edit/dialog.vue:120 -#: src/component/user/edit/dialog.vue:121 src/page/settings/account.vue:106 +#: src/component/user/edit/dialog.vue:121 +#: src/component/user/edit/dialog.vue:122 src/page/settings/account.vue:106 #: src/page/settings/account.vue:108 msgid "Given Name" msgstr "Nombre" @@ -1416,7 +1443,7 @@ msgstr "Verde" msgid "Grey" msgstr "Gris" -#: src/options/admin.js:22 src/options/auth.js:10 +#: src/options/admin.js:26 src/options/auth.js:11 msgid "Guest" msgstr "Invitado" @@ -1432,15 +1459,15 @@ msgstr "Ayuda" msgid "Help & Support" msgstr "Ayuda y Soporte" -#: src/component/navigation.vue:1327 src/component/people/edit/dialog.vue:98 +#: src/component/navigation.vue:1351 src/component/people/edit/dialog.vue:99 msgid "Hidden" msgstr "Oculto" -#: src/app/routes.js:358 +#: src/app/routes.js:366 msgid "Hidden Files" msgstr "Archivos Ocultos" -#: src/page/people/new.vue:165 src/page/people/recognized.vue:205 +#: src/page/people/new.vue:166 src/page/people/recognized.vue:206 msgid "Hide" msgstr "Ocultar" @@ -1456,7 +1483,7 @@ msgstr "Alto" msgid "High Dynamic Range (HDR)" msgstr "Alto rango dinámico (HDR)" -#: src/page/about/feedback.vue:103 +#: src/page/about/feedback.vue:104 msgid "How can we help?" msgstr "¿Cómo podemos ayudarte?" @@ -1464,11 +1491,11 @@ msgstr "¿Cómo podemos ayudarte?" msgid "Hybrid" msgstr "Híbrido" -#: src/component/settings/passcode.vue:389 +#: src/component/settings/passcode.vue:392 msgid "If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account." msgstr "Si pierdes el acceso a tu aplicación o dispositivo autenticador, puedes utilizar tu código de recuperación para recuperar el acceso a tu cuenta." -#: src/component/photo/edit/info.vue:63 src/component/photo/edit/labels.vue:46 +#: src/component/photo/edit/info.vue:65 src/component/photo/edit/labels.vue:46 #: src/component/photo/view/cards.vue:532 src/model/file.js:218 #: src/options/options.js:281 msgid "Image" @@ -1478,7 +1505,7 @@ msgstr "Imagen" msgid "Image Quality" msgstr "Calidad de imagen" -#: src/page/library.vue:46 src/page/library/import.vue:152 +#: src/page/library.vue:46 src/page/library/import.vue:153 #: src/page/settings/general.vue:357 msgid "Import" msgstr "Importar" @@ -1503,8 +1530,8 @@ msgstr "Importando %{s}…" msgid "Importing files to originals…" msgstr "Importando archivos a originales…" -#: src/component/photo/edit/files.vue:515 -#: src/component/photo/edit/files.vue:520 +#: src/component/photo/edit/files.vue:517 +#: src/component/photo/edit/files.vue:522 msgid "in" msgstr "en" @@ -1522,11 +1549,11 @@ msgstr "Incluir archivos de imagen RAW al descargar pilas y archivos." msgid "Include sidecar files when downloading stacks and archives." msgstr "Incluir archivos sidecar al descargar pilas y archivos." -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Increase storage size or delete files to continue." msgstr "Aumenta el tamaño de almacenamiento o elimina archivos para continuar." -#: src/component/navigation.vue:1946 src/page/library.vue:36 +#: src/component/navigation.vue:1990 src/page/library.vue:36 #: src/page/settings/content.vue:34 msgid "Index" msgstr "Indexar" @@ -1556,11 +1583,11 @@ msgstr "Información" msgid "Instance ID" msgstr "ID de instancia" -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Insufficient storage." msgstr "Almacenamiento insuficiente." -#: src/component/service/edit.vue:209 +#: src/component/service/edit.vue:210 msgid "Interval" msgstr "Intervalo" @@ -1581,7 +1608,7 @@ msgstr "Dirección no válida" msgid "Invalid country" msgstr "País no válido" -#: src/component/photo/edit/details.vue:174 +#: src/component/photo/edit/details.vue:169 msgid "Invalid date" msgstr "Fecha inválida" @@ -1590,7 +1617,7 @@ msgstr "Fecha inválida" msgid "Invalid parameters" msgstr "Parámetros no válidos" -#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:197 +#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:199 msgid "Invalid photo selected" msgstr "Foto seleccionada no válida" @@ -1602,8 +1629,8 @@ msgstr "Hora no válida" msgid "Invalid URL" msgstr "URL no válida" -#: src/component/settings/passcode.vue:314 -#: src/component/settings/passcode.vue:391 +#: src/component/settings/passcode.vue:317 +#: src/component/settings/passcode.vue:394 msgid "It is a one-time use code that will disable 2FA for your account when you use it." msgstr "Es un código de un solo uso que desactivará la 2FA para tu cuenta cuando lo utilices." @@ -1627,7 +1654,7 @@ msgstr "Límite de tamaño del JPEG: %{n}px" msgid "JPEGs and thumbnails are automatically rendered as needed." msgstr "Los JPEG y las miniaturas se renderizan automáticamente según sea necesario." -#: src/component/photo/edit/details.vue:581 +#: src/component/photo/edit/details.vue:555 msgid "Keywords" msgstr "Palabras clave" @@ -1636,9 +1663,9 @@ msgstr "Palabras clave" msgid "Label" msgstr "Etiqueta" -#: src/app/routes.js:389 src/component/navigation.vue:1177 -#: src/component/photo/edit/dialog.vue:188 -#: src/component/photo/edit/dialog.vue:205 src/options/options.js:206 +#: src/app/routes.js:397 src/component/navigation.vue:1197 +#: src/component/photo/edit/dialog.vue:196 +#: src/component/photo/edit/dialog.vue:215 src/options/options.js:206 #: src/page/settings/general.vue:255 msgid "Labels" msgstr "Etiquetas" @@ -1655,11 +1682,11 @@ msgstr "Lanczos: Preservación de detalles, artefactos mínimos" msgid "Language" msgstr "Idioma" -#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:435 +#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:440 msgid "Last Active" msgstr "Último activo" -#: src/page/admin/users.vue:81 +#: src/page/admin/users.vue:83 msgid "Last Login" msgstr "Última conexión" @@ -1675,42 +1702,41 @@ msgstr "Última sincronización" msgid "Last Used" msgstr "Último usado" -#: src/component/photo/edit/details.vue:298 #: src/component/photo/edit/info.vue:373 msgid "Latitude" msgstr "Latitud" -#: src/options/admin.js:43 src/options/auth.js:29 +#: src/options/admin.js:47 src/options/auth.js:30 msgid "LDAP/AD" msgstr "LDAP/AD" -#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:86 -#: src/page/about/about.vue:62 src/page/about/about.vue:132 +#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:87 +#: src/page/about/about.vue:62 src/page/about/about.vue:133 #: src/page/connect.vue:67 src/page/help.vue:36 msgid "Learn more" msgstr "Más información" -#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:135 +#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:137 #: src/page/labels.vue:132 msgid "Learn More" msgstr "Saber más" -#: src/component/navigation.vue:2017 +#: src/component/navigation.vue:2066 msgid "Legal Information" msgstr "Información legal" -#: src/component/photo/edit/details.vue:417 +#: src/component/photo/edit/details.vue:391 #: src/component/photo/view/cards.vue:480 msgid "Lens" msgstr "Lente" -#: src/app/routes.js:443 src/app/routes.js:459 src/app/routes.js:475 -#: src/component/navigation.vue:1267 src/page/settings/general.vue:507 +#: src/app/routes.js:451 src/app/routes.js:467 src/app/routes.js:483 +#: src/component/navigation.vue:1290 src/page/settings/general.vue:507 msgid "Library" msgstr "Librería" #: src/page/connect.vue:45 src/app/routes.js:69 -#: src/component/navigation.vue:1478 src/component/photo/edit/details.vue:559 +#: src/component/navigation.vue:1504 src/component/photo/edit/details.vue:533 #: src/page/about/license.vue:28 msgid "License" msgstr "Licencia" @@ -1724,7 +1750,7 @@ msgstr "Me gusta" msgid "Lime" msgstr "Lima" -#: src/page/library/browse.vue:369 +#: src/page/library/browse.vue:371 msgid "Limit reached, showing first %{n} files" msgstr "Límite alcanzado, mostrando los primeros %{n} archivos" @@ -1732,7 +1758,7 @@ msgstr "Límite alcanzado, mostrando los primeros %{n} archivos" msgid "Linear: Very Smooth, Best Performance" msgstr "Lineal: Muy suave, el mejor rendimiento" -#: src/model/link.js:117 src/options/auth.js:30 src/options/auth.js:31 +#: src/model/link.js:117 src/options/auth.js:31 src/options/auth.js:32 msgid "Link" msgstr "Enlace" @@ -1750,7 +1776,7 @@ msgstr "Ver lista" msgid "Live" msgstr "En vivo" -#: src/app/routes.js:236 src/component/navigation.vue:749 +#: src/app/routes.js:244 src/component/navigation.vue:755 msgid "Live Photos" msgstr "Fotos en vivo" @@ -1766,21 +1792,24 @@ msgstr "Cargando artículos..." msgid "Loading..." msgstr "Cargando..." -#: src/options/admin.js:35 src/options/auth.js:22 src/options/auth.js:27 +#: src/options/admin.js:39 src/options/auth.js:23 src/options/auth.js:28 #: src/options/options.js:38 src/page/settings/general.vue:107 msgid "Local" msgstr "Local" -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Local Time" msgstr "Hora local" -#: src/page/settings/account.vue:665 src/page/settings/account.vue:667 -#: src/component/album/edit/dialog.vue:92 src/component/photo/edit/info.vue:65 -#: src/component/photo/edit/labels.vue:48 +#: src/page/settings/account.vue:671 src/page/settings/account.vue:673 +#: src/component/album/edit/dialog.vue:93 +#: src/component/photo/edit/details.vue:38 +#: src/component/photo/edit/details.vue:116 +#: src/component/photo/edit/details.vue:210 +#: src/component/photo/edit/info.vue:67 src/component/photo/edit/labels.vue:48 #: src/component/photo/view/cards.vue:555 src/component/photo/view/list.vue:117 -#: src/component/sidebar/info.vue:107 src/page/albums.vue:99 -#: src/page/settings/account.vue:557 src/page/settings/account.vue:559 +#: src/component/sidebar/info.vue:107 src/page/albums.vue:100 +#: src/page/settings/account.vue:563 src/page/settings/account.vue:565 msgid "Location" msgstr "Ubicación" @@ -1788,20 +1817,19 @@ msgstr "Ubicación" msgid "Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues." msgstr "Los mensajes de registro aparecen aquí cada vez que PhotoPrism se encuentra con archivos rotos, o hay otros problemas potenciales." -#: src/component/navigation.vue:1552 src/component/navigation.vue:1840 +#: src/component/navigation.vue:1579 src/component/navigation.vue:1877 msgid "Login" msgstr "Iniciar sesión" -#: src/component/navigation.vue:1759 +#: src/component/navigation.vue:1791 msgid "Logout" msgstr "Cerrar sesión" -#: src/component/navigation.vue:1962 src/page/library.vue:59 +#: src/component/navigation.vue:2007 src/page/library.vue:59 #: src/page/settings/general.vue:557 msgid "Logs" msgstr "Registro" -#: src/component/photo/edit/details.vue:324 #: src/component/photo/edit/info.vue:379 msgid "Longitude" msgstr "Longitud" @@ -1814,7 +1842,7 @@ msgstr "Bajo" msgid "Magenta" msgstr "Magenta" -#: src/component/photo/edit/files.vue:489 +#: src/component/photo/edit/files.vue:491 msgid "Main Color" msgstr "Color principal" @@ -1822,12 +1850,16 @@ msgstr "Color principal" msgid "Male" msgstr "Hombre" -#: src/page/connect.vue:164 src/page/connect.vue:246 -#: src/page/about/about.vue:171 src/page/connect.vue:168 -#: src/page/connect.vue:255 +#: src/page/connect.vue:165 src/page/connect.vue:248 +#: src/page/about/about.vue:173 src/page/connect.vue:169 +#: src/page/connect.vue:257 msgid "Manage Account" msgstr "Gestionar cuenta" +#: src/options/admin.js:10 src/options/auth.js:7 +msgid "Manager" +msgstr "Director" + #: src/component/photo/edit/info.vue:49 src/component/photo/edit/labels.vue:38 msgid "Manual" msgstr "Manual" @@ -1844,11 +1876,11 @@ msgstr "Mapas" msgid "Marker" msgstr "Marcador" -#: src/component/user/add/dialog.vue:69 +#: src/component/user/add/dialog.vue:70 msgid "Maximum number of accounts has been reached." msgstr "Se ha alcanzado el número máximo de cuentas." -#: src/app/routes.js:229 src/component/navigation.vue:688 +#: src/app/routes.js:237 src/component/navigation.vue:693 #: src/options/options.js:199 msgid "Media" msgstr "Medios de comunicación" @@ -1865,7 +1897,7 @@ msgstr "Membresía" msgid "Merge %{a} with %{b}?" msgstr "¿Fusionar %{a} con %{b}?" -#: src/page/about/feedback.vue:102 +#: src/page/about/feedback.vue:103 msgid "Message" msgstr "Mensaje" @@ -1877,7 +1909,7 @@ msgstr "Mensaje enviado" msgid "Metadata" msgstr "Metadatos" -#: src/options/auth.js:56 src/options/auth.js:72 +#: src/options/auth.js:57 src/options/auth.js:73 msgid "Metrics" msgstr "Métricas" @@ -1885,7 +1917,7 @@ msgstr "Métricas" msgid "Minimize" msgstr "Minimizar" -#: src/component/photo/edit/files.vue:509 src/component/photo/edit/info.vue:367 +#: src/component/photo/edit/files.vue:511 src/component/photo/edit/info.vue:367 msgid "Missing" msgstr "Desaparecido" @@ -1893,17 +1925,17 @@ msgstr "Desaparecido" msgid "Missing or invalid configuration" msgstr "Falta configuración o no es válida" -#: src/app/routes.js:163 src/component/navigation.vue:1129 +#: src/app/routes.js:171 src/component/navigation.vue:1147 #: src/options/options.js:205 src/page/settings/general.vue:230 msgid "Moments" msgstr "Momentos" -#: src/component/navigation.vue:383 +#: src/component/navigation.vue:385 msgid "Monochrome" msgstr "Monocromo" -#: src/page/settings/account.vue:475 src/component/photo/edit/details.vue:137 -#: src/component/photo/toolbar.vue:342 +#: src/page/settings/account.vue:481 src/component/photo/edit/details.vue:139 +#: src/component/photo/toolbar.vue:344 msgid "Month" msgstr "Mes" @@ -1923,7 +1955,7 @@ msgstr "Lo más relevante" msgid "Move Files" msgstr "Mover archivos" -#: src/component/settings/password.vue:107 +#: src/component/settings/password.vue:108 msgid "Must have at least %{n} characters." msgstr "Debe tener al menos %{n} caracteres." @@ -1931,20 +1963,20 @@ msgstr "Debe tener al menos %{n} caracteres." msgid "Mute" msgstr "Silenciar" -#: src/page/about/feedback.vue:121 src/page/about/feedback.vue:122 -#: src/component/album/edit/dialog.vue:77 -#: src/component/label/edit/dialog.vue:71 -#: src/component/people/edit/dialog.vue:71 -#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:57 +#: src/page/about/feedback.vue:122 src/page/about/feedback.vue:123 +#: src/component/album/edit/dialog.vue:78 +#: src/component/label/edit/dialog.vue:72 +#: src/component/people/edit/dialog.vue:72 +#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:59 #: src/component/photo/edit/info.vue:125 src/component/photo/edit/people.vue:36 -#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:310 -#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:286 -#: src/page/albums.vue:98 src/page/auth/login.vue:168 +#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:311 +#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:289 +#: src/page/albums.vue:99 src/page/auth/login.vue:168 #: src/page/people/new.vue:68 src/page/settings/services.vue:37 msgid "Name" msgstr "Nombre" -#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:60 +#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:65 #: src/component/label/edit/dialog.vue:19 #: src/component/people/edit/dialog.vue:19 #: src/component/photo/edit/labels.vue:30 @@ -1954,7 +1986,7 @@ msgstr "Nombre" msgid "Name too long" msgstr "Nombre demasiado largo" -#: src/page/admin/users.vue:204 src/options/options.js:361 +#: src/page/admin/users.vue:206 src/options/options.js:361 #: src/options/options.js:371 src/page/settings/services.vue:75 msgid "Never" msgstr "Nunca" @@ -1963,13 +1995,13 @@ msgstr "Nunca" msgid "New" msgstr "Nuevo" -#: src/component/settings/password.vue:106 +#: src/component/settings/password.vue:107 msgid "New Password" msgstr "Nueva contraseña" #: src/component/album/edit/dialog.vue:24 src/component/photo/toolbar.vue:114 #: src/component/photo/toolbar.vue:126 src/component/photo/toolbar.vue:136 -#: src/page/albums.vue:100 +#: src/page/albums.vue:101 msgid "Newest First" msgstr "Lo más nuevo primero" @@ -1985,15 +2017,15 @@ msgstr "Página siguiente" msgid "Next visual" msgstr "Siguiente visual" -#: src/component/people/merge/dialog.vue:47 -#: src/component/photo/archive/dialog.vue:47 +#: src/component/people/merge/dialog.vue:48 +#: src/component/photo/archive/dialog.vue:48 #: src/component/photo/edit/info.vue:281 src/component/photo/edit/info.vue:297 #: src/component/photo/edit/info.vue:313 src/component/photo/edit/info.vue:329 #: src/component/photo/edit/info.vue:344 msgid "No" msgstr "No" -#: src/page/albums.vue:607 src/page/albums.vue:282 +#: src/page/albums.vue:612 src/page/albums.vue:282 msgid "No albums found" msgstr "No se encontraron álbumes" @@ -2001,7 +2033,7 @@ msgstr "No se encontraron álbumes" msgid "No data available" msgstr "No hay datos disponibles" -#: src/page/labels.vue:523 src/page/labels.vue:155 +#: src/page/labels.vue:528 src/page/labels.vue:155 msgid "No labels found" msgstr "No se encontraron etiquetas" @@ -2014,15 +2046,15 @@ msgid "No more" msgstr "No más" #: src/component/photo/edit/people.vue:34 src/page/people/new.vue:346 -#: src/page/people/new.vue:443 src/page/people/new.vue:103 -#: src/page/people/recognized.vue:531 src/page/people/recognized.vue:146 +#: src/page/people/new.vue:446 src/page/people/new.vue:103 +#: src/page/people/recognized.vue:536 src/page/people/recognized.vue:146 msgid "No people found" msgstr "No hay personas" #: src/component/lightbox.vue:365 src/component/photo/view/cards.vue:144 #: src/component/photo/view/list.vue:82 src/component/photo/view/mosaic.vue:68 -#: src/page/album/photos.vue:488 src/page/library/browse.vue:123 -#: src/page/photos.vue:626 src/page/places.vue:624 src/page/places.vue:730 +#: src/page/album/photos.vue:499 src/page/library/browse.vue:123 +#: src/page/photos.vue:636 src/page/places.vue:624 src/page/places.vue:730 msgid "No pictures found" msgstr "No se han encontrado imágenes" @@ -2031,7 +2063,11 @@ msgstr "No se han encontrado imágenes" msgid "No recently edited pictures" msgstr "No hay imágenes editadas recientemente" -#: src/component/navigation.vue:1655 +#: src/component/location/dialog.vue:166 +msgid "No results" +msgstr "Sin resultados" + +#: src/component/navigation.vue:1686 msgid "No server connection" msgstr "No hay conexión con el servidor" @@ -2043,7 +2079,7 @@ msgstr "Sin servidores configurados." msgid "No services configured." msgstr "No hay servicios configurados." -#: src/component/confirm/sponsor.vue:72 +#: src/component/confirm/sponsor.vue:73 msgid "No thanks" msgstr "No gracias" @@ -2053,17 +2089,17 @@ msgstr "No hay advertencias ni errores que contengan esta palabra clave. Tenga e #: src/component/photo/view/cards.vue:154 src/component/photo/view/list.vue:59 #: src/component/photo/view/list.vue:92 src/component/photo/view/mosaic.vue:78 -#: src/component/upload/dialog.vue:208 +#: src/component/upload/dialog.vue:210 msgid "Non-photographic and low-quality images require a review before they appear in search results." msgstr "Las imágenes no fotográficas y de baja calidad requieren una revisión antes que aparezcan en los resultados de la búsqueda." -#: src/options/admin.js:47 src/options/auth.js:32 src/options/options.js:212 +#: src/options/admin.js:51 src/options/auth.js:33 src/options/options.js:212 #: src/options/options.js:328 msgid "None" msgstr "Ninguno" -#: src/common/util.js:853 src/component/lightbox.vue:633 -#: src/component/service/upload.vue:75 src/component/service/upload.vue:87 +#: src/component/lightbox.vue:633 src/component/service/upload.vue:75 +#: src/component/service/upload.vue:87 msgid "Not allowed" msgstr "No autorizado" @@ -2075,8 +2111,7 @@ msgstr "No encontrado" msgid "Not sorted." msgstr "No clasificado." -#: src/common/util.js:858 src/component/lightbox.vue:627 -#: src/component/lightbox.vue:744 +#: src/component/lightbox.vue:627 src/component/lightbox.vue:744 msgid "Not supported" msgstr "No se admite" @@ -2084,15 +2119,15 @@ msgstr "No se admite" msgid "Note you may manually manage your originals folder and importing is optional." msgstr "Tenga en cuenta que puede gestionar manualmente su carpeta de originales y que la importación es opcional." -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "Note:" msgstr "Nota:" -#: src/component/service/add.vue:120 +#: src/component/service/add.vue:121 msgid "Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload." msgstr "Nota: Sólo los servidores WebDAV, como Nextcloud o PhotoPrism, pueden ser configurados como servicio remoto para hacer copias de seguridad y subir archivos." -#: src/component/photo/edit/details.vue:603 +#: src/component/photo/edit/details.vue:577 msgid "Notes" msgstr "Notas" @@ -2100,8 +2135,8 @@ msgstr "Notas" msgid "Nothing to see here yet." msgstr "Todavía no hay nada que ver aquí." -#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:115 -#: src/component/settings/apps.vue:390 +#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:125 +#: src/component/settings/apps.vue:393 msgid "Nothing was found." msgstr "No se encontró nada." @@ -2109,7 +2144,7 @@ msgstr "No se encontró nada." msgid "Offline" msgstr "Desconectado" -#: src/options/admin.js:39 src/options/auth.js:28 +#: src/options/admin.js:43 src/options/auth.js:29 msgid "OIDC" msgstr "OIDC" @@ -2119,11 +2154,11 @@ msgstr "OK" #: src/component/album/edit/dialog.vue:25 src/component/photo/toolbar.vue:115 #: src/component/photo/toolbar.vue:127 src/component/photo/toolbar.vue:137 -#: src/page/albums.vue:101 +#: src/page/albums.vue:102 msgid "Oldest First" msgstr "El más antiguo primero" -#: src/component/settings/webdav.vue:77 +#: src/component/settings/webdav.vue:78 msgid "On Windows, enter the following resource in the connection dialog:" msgstr "En Windows, introduzca el siguiente recurso en el diálogo de conexión:" @@ -2135,11 +2170,11 @@ msgstr "La generación bajo demanda de miniaturas puede provocar un uso elevado msgid "Once a week" msgstr "Una vez a la semana" -#: src/page/albums.vue:609 +#: src/page/albums.vue:614 msgid "One album found" msgstr "Un álbum encontrado" -#: src/page/library/browse.vue:358 +#: src/page/library/browse.vue:360 msgid "One file found" msgstr "Un archivo encontrado" @@ -2147,24 +2182,24 @@ msgstr "Un archivo encontrado" msgid "One file uploaded" msgstr "Un archivo cargado" -#: src/page/library/browse.vue:360 +#: src/page/library/browse.vue:362 msgid "One folder found" msgstr "Una carpeta encontrada" -#: src/page/labels.vue:525 +#: src/page/labels.vue:530 msgid "One label found" msgstr "Una etiqueta encontrada" -#: src/page/people/new.vue:348 src/page/people/new.vue:445 -#: src/page/people/recognized.vue:533 +#: src/page/people/new.vue:348 src/page/people/new.vue:448 +#: src/page/people/recognized.vue:538 msgid "One person found" msgstr "Una persona encontrada" -#: src/page/album/photos.vue:490 src/page/photos.vue:628 +#: src/page/album/photos.vue:501 src/page/photos.vue:638 msgid "One picture found" msgstr "Una foto encontrada" -#: src/component/settings/passcode.vue:478 +#: src/component/settings/passcode.vue:481 msgid "Only locally managed accounts can be set up for authentication with 2FA." msgstr "Sólo las cuentas gestionadas localmente pueden configurarse para la autenticación con 2FA." @@ -2172,7 +2207,7 @@ msgstr "Sólo las cuentas gestionadas localmente pueden configurarse para la aut msgid "Open" msgstr "Abrir" -#: src/component/service/add.vue:86 src/component/service/add.vue:107 +#: src/component/service/add.vue:87 src/component/service/add.vue:108 msgid "optional" msgstr "opcional" @@ -2184,7 +2219,7 @@ msgstr "o" msgid "Orange" msgstr "Naranja" -#: src/page/settings/account.vue:571 src/page/settings/account.vue:573 +#: src/page/settings/account.vue:577 src/page/settings/account.vue:579 msgid "Organization" msgstr "Organización" @@ -2200,7 +2235,7 @@ msgstr "Los nombres originales de los archivos serán almacenados e indexados." msgid "Original Name" msgstr "Nombre original" -#: src/component/navigation.vue:1304 src/model/file.js:196 +#: src/component/navigation.vue:1328 src/model/file.js:196 #: src/options/options.js:413 src/page/library/browse.vue:65 #: src/page/settings/content.vue:356 src/page/settings/general.vue:532 msgid "Originals" @@ -2211,7 +2246,7 @@ msgstr "Originales" msgid "Other" msgstr "Otro" -#: src/page/about/about.vue:77 src/page/about/about.vue:83 +#: src/page/about/about.vue:78 src/page/about/about.vue:84 msgid "Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible." msgstr "Nuestra misión es ofrecer la solución más fácil de usar y de proteger la privacidad para mantener tus fotos organizadas y accesibles." @@ -2223,7 +2258,7 @@ msgstr "Al aire libre" msgid "Page {0}, Current page" msgstr "Página {0}, Página actual" -#: src/component/photo/edit/files.vue:352 src/model/photo.js:859 +#: src/component/photo/edit/files.vue:352 src/model/photo.js:896 msgid "Pages" msgstr "Páginas" @@ -2235,15 +2270,15 @@ msgstr "Paginación Navegación" msgid "Panorama" msgstr "Panorámica" -#: src/component/navigation.vue:402 +#: src/component/navigation.vue:404 msgid "Panoramas" msgstr "Panorámicas" -#: src/component/user/add/dialog.vue:114 src/component/user/add/dialog.vue:115 -#: src/component/service/add.vue:106 src/component/service/edit.vue:352 -#: src/component/settings/apps.vue:121 src/component/settings/passcode.vue:106 -#: src/component/settings/passcode.vue:413 src/component/share/dialog.vue:27 -#: src/options/auth.js:91 src/page/auth/login.vue:196 +#: src/component/user/add/dialog.vue:115 src/component/user/add/dialog.vue:116 +#: src/component/service/add.vue:107 src/component/service/edit.vue:353 +#: src/component/settings/apps.vue:124 src/component/settings/passcode.vue:109 +#: src/component/settings/passcode.vue:416 src/component/share/dialog.vue:27 +#: src/options/auth.js:92 src/page/auth/login.vue:196 msgid "Password" msgstr "Contraseña" @@ -2251,9 +2286,9 @@ msgstr "Contraseña" msgid "Password changed" msgstr "Contraseña cambiada" -#: src/app/routes.js:404 src/app/routes.js:428 src/component/navigation.vue:845 -#: src/component/navigation.vue:1898 src/component/photo/edit/dialog.vue:228 -#: src/component/photo/edit/dialog.vue:245 src/options/options.js:201 +#: src/app/routes.js:412 src/app/routes.js:436 src/component/navigation.vue:853 +#: src/component/navigation.vue:1939 src/component/photo/edit/dialog.vue:238 +#: src/component/photo/edit/dialog.vue:257 src/options/options.js:201 #: src/page/settings/general.vue:180 msgid "People" msgstr "Gente" @@ -2274,23 +2309,23 @@ msgstr "Elimina permanentemente los archivos para liberar almacenamiento." msgid "Person" msgstr "Persona" -#: src/options/auth.js:42 +#: src/options/auth.js:43 msgid "Personal" msgstr "Personal" -#: src/model/photo.js:1273 +#: src/model/photo.js:1310 msgid "Photo" msgstr "Foto" -#: src/page/about/about.vue:156 +#: src/page/about/about.vue:158 msgid "PhotoPrism is 100% self-funded and independent." msgstr "PhotoPrism es 100% autofinanciado e independiente." -#: src/page/about/about.vue:92 +#: src/page/about/about.vue:93 msgid "PhotoPrism+ Membership" msgstr "Membresía PhotoPrism+" -#: src/app/routes.js:156 +#: src/app/routes.js:164 msgid "Photos" msgstr "Fotos" @@ -2311,27 +2346,27 @@ msgstr "Lugar" msgid "Place & Time" msgstr "Lugar y tiempo" -#: src/app/routes.js:303 src/app/routes.js:309 src/app/routes.js:315 -#: src/app/routes.js:330 src/component/navigation.vue:986 -#: src/component/navigation.vue:1914 src/options/options.js:203 +#: src/app/routes.js:311 src/app/routes.js:317 src/app/routes.js:323 +#: src/app/routes.js:338 src/component/navigation.vue:999 +#: src/component/navigation.vue:1956 src/options/options.js:203 #: src/page/places.vue:51 src/page/settings/general.vue:609 #: src/page/settings/general.vue:638 msgid "Places" msgstr "Lugares" -#: src/component/settings/password.vue:129 +#: src/component/settings/password.vue:130 msgid "Please confirm your new password." msgstr "Por favor, confirma tu nueva contraseña." -#: src/component/settings/apps.vue:185 +#: src/component/settings/apps.vue:188 msgid "Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:" msgstr "Copia la siguiente contraseña de la aplicación generada aleatoriamente y guárdala en un lugar seguro, ya que no podrás volver a verla:" -#: src/component/upload/dialog.vue:203 +#: src/component/upload/dialog.vue:205 msgid "Please do not upload any private, unlawful or offensive pictures." msgstr "Por favor, no subas fotos privadas, ilegales u ofensivas." -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Please don't upload photos containing offensive content." msgstr "Por favor, no subas fotos con contenido ofensivo." @@ -2339,11 +2374,11 @@ msgstr "Por favor, no subas fotos con contenido ofensivo." msgid "Please enter OTP character {0}" msgstr "Por favor, introduce el carácter OTP {0}" -#: src/component/settings/password.vue:66 +#: src/component/settings/password.vue:67 msgid "Please note that changing your password will log you out on other devices and browsers." msgstr "Tenga en cuenta que al cambiar su contraseña se cerrará la sesión en otros dispositivos y navegadores." -#: src/page/connect.vue:148 src/page/connect.vue:152 +#: src/page/connect.vue:149 src/page/connect.vue:153 msgid "Please restart your instance for the changes to take effect." msgstr "Reinicie su instancia para que los cambios surtan efecto." @@ -2363,11 +2398,11 @@ msgstr "Límite de tamaño del PNG: %{n}px" msgid "Portrait" msgstr "Retrato" -#: src/component/service/edit.vue:273 +#: src/component/service/edit.vue:274 msgid "Preserve filenames" msgstr "Preservar nombres de archivo" -#: src/component/upload/dialog.vue:162 +#: src/component/upload/dialog.vue:164 msgid "Press enter to create a new album." msgstr "Presiona enter para crear un nuevo álbum." @@ -2404,8 +2439,8 @@ msgstr "Visual anterior" msgid "Primary" msgstr "Primario" -#: src/app/routes.js:271 src/component/album/edit/dialog.vue:176 -#: src/component/navigation.vue:531 src/component/photo/edit/info.vue:303 +#: src/app/routes.js:279 src/component/album/edit/dialog.vue:177 +#: src/component/navigation.vue:533 src/component/photo/edit/info.vue:303 #: src/page/settings/general.vue:280 msgid "Private" msgstr "Privado" @@ -2430,7 +2465,7 @@ msgstr "Filtro de calidad" msgid "Quality Score" msgstr "Puntuación de calidad" -#: src/page/admin/users.vue:169 +#: src/page/admin/users.vue:171 msgid "r" msgstr "r" @@ -2461,7 +2496,7 @@ msgstr "Modo de sólo lectura" #: src/component/album/edit/dialog.vue:26 src/component/photo/toolbar.vue:116 #: src/component/photo/toolbar.vue:128 src/component/photo/toolbar.vue:138 -#: src/page/albums.vue:102 +#: src/page/albums.vue:103 msgid "Recently Added" msgstr "Añadido recientemente" @@ -2469,7 +2504,7 @@ msgstr "Añadido recientemente" msgid "Recently Archived" msgstr "Recientemente archivado" -#: src/component/photo/toolbar.vue:139 src/page/albums.vue:103 +#: src/component/photo/toolbar.vue:139 src/page/albums.vue:104 msgid "Recently Edited" msgstr "Editado recientemente" @@ -2494,24 +2529,24 @@ msgstr "Código de recuperación" msgid "Red" msgstr "Rojo" -#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:126 -#: src/component/album/toolbar.vue:79 src/component/photo/toolbar.vue:169 -#: src/page/albums.vue:173 src/page/labels.vue:112 +#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:128 +#: src/component/album/toolbar.vue:84 src/component/photo/toolbar.vue:169 +#: src/page/albums.vue:175 src/page/labels.vue:112 #: src/page/library/browse.vue:90 src/page/library/errors.vue:81 #: src/page/people/new.vue:54 src/page/people/recognized.vue:88 msgid "Refresh" msgstr "Actualiza" -#: src/app/routes.js:337 src/component/navigation.vue:943 -#: src/component/navigation.vue:1026 +#: src/app/routes.js:345 src/component/navigation.vue:955 +#: src/component/navigation.vue:1040 msgid "Regions" msgstr "Regiones" -#: src/page/connect.vue:275 src/page/connect.vue:284 +#: src/page/connect.vue:277 src/page/connect.vue:286 msgid "Register" msgstr "Regístrese en" -#: src/component/navigation.vue:1773 src/component/update.vue:68 +#: src/component/navigation.vue:1806 src/component/update.vue:68 msgid "Reload" msgstr "Recargar" @@ -2556,34 +2591,34 @@ msgstr "Exige que las imágenes no fotográficas y de baja calidad sean revisada msgid "Resolution" msgstr "Resolución" -#: src/page/connect.vue:179 src/page/connect.vue:183 +#: src/page/connect.vue:180 src/page/connect.vue:184 #: src/page/settings/advanced.vue:782 msgid "Restart" msgstr "Reinicie" -#: src/component/user/edit/dialog.vue:485 src/component/lightbox.vue:1221 +#: src/component/user/edit/dialog.vue:488 src/component/lightbox.vue:1221 #: src/component/photo/clipboard.vue:77 msgid "Restore" msgstr "Restaurar" -#: src/component/lightbox.vue:2000 +#: src/component/lightbox.vue:2020 msgid "Restored" msgstr "Restaurado" -#: src/component/service/edit.vue:428 +#: src/component/service/edit.vue:429 msgid "Retry Limit" msgstr "Límite de reintentos" -#: src/component/settings/password.vue:128 +#: src/component/settings/password.vue:129 msgid "Retype Password" msgstr "Reescriba la contraseña" -#: src/app/routes.js:264 src/component/navigation.vue:505 +#: src/app/routes.js:272 src/component/navigation.vue:507 msgid "Review" msgstr "Revisar" -#: src/component/user/add/dialog.vue:171 src/component/user/edit/dialog.vue:284 -#: src/page/admin/sessions.vue:262 src/page/admin/users.vue:73 +#: src/component/user/add/dialog.vue:172 src/component/user/edit/dialog.vue:285 +#: src/page/admin/sessions.vue:263 src/page/admin/users.vue:75 msgid "Role" msgstr "Papel" @@ -2595,11 +2630,11 @@ msgstr "Filas por página:" msgid "Satellite" msgstr "Satélite" -#: src/component/user/edit/dialog.vue:485 -#: src/component/album/edit/dialog.vue:211 -#: src/component/label/edit/dialog.vue:119 -#: src/component/people/edit/dialog.vue:132 src/component/service/edit.vue:466 -#: src/component/settings/password.vue:172 src/component/share/dialog.vue:181 +#: src/component/user/edit/dialog.vue:488 +#: src/component/album/edit/dialog.vue:212 +#: src/component/label/edit/dialog.vue:120 +#: src/component/people/edit/dialog.vue:133 src/component/service/edit.vue:467 +#: src/component/settings/password.vue:173 src/component/share/dialog.vue:181 msgid "Save" msgstr "Guardar" @@ -2607,23 +2642,23 @@ msgstr "Guardar" msgid "Scan" msgstr "Escanear" -#: src/component/settings/passcode.vue:179 +#: src/component/settings/passcode.vue:182 msgid "Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:" msgstr "Escanea el código QR con tu aplicación de autenticación o utiliza la clave de configuración que se muestra a continuación e introduce el código de verificación generado:" -#: src/component/navigation.vue:461 +#: src/component/navigation.vue:463 msgid "Scans" msgstr "Escaneos" -#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:377 -#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:310 +#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:381 +#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:313 msgid "Scope" msgstr "Alcance" -#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:62 -#: src/component/navigation.vue:342 src/component/navigation.vue:1866 -#: src/component/photo/toolbar.vue:57 src/options/options.js:197 -#: src/page/albums.vue:100 src/page/labels.vue:77 +#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:69 +#: src/component/location/dialog.vue:133 src/component/navigation.vue:343 +#: src/component/navigation.vue:1905 src/component/photo/toolbar.vue:57 +#: src/options/options.js:197 src/page/albums.vue:100 src/page/labels.vue:77 #: src/page/library/errors.vue:76 src/page/people/recognized.vue:66 #: src/page/places.vue:79 src/page/settings/content.vue:235 msgid "Search" @@ -2661,11 +2696,11 @@ msgstr "Selecciona la fecha" msgid "Select dates" msgstr "Selecciona las fechas" -#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:154 +#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:156 msgid "Select or create an album" msgstr "Selecciona o crea un álbum" -#: src/component/upload/dialog.vue:138 +#: src/component/upload/dialog.vue:140 msgid "Select the files to upload…" msgstr "Selecciona los archivos que quieres subir…" @@ -2693,7 +2728,7 @@ msgstr "Selección restaurada" msgid "Sequential Name" msgstr "Nombre secuencial" -#: src/component/service/add.vue:67 src/component/service/edit.vue:322 +#: src/component/service/add.vue:68 src/component/service/edit.vue:323 #: src/component/share/dialog.vue:25 msgid "Service URL" msgstr "URL del servicio" @@ -2702,7 +2737,7 @@ msgstr "URL del servicio" msgid "Services" msgstr "Servicios" -#: src/model/session.js:107 src/options/auth.js:41 src/options/auth.js:90 +#: src/model/session.js:107 src/options/auth.js:42 src/options/auth.js:91 msgid "Session" msgstr "Sesión" @@ -2710,7 +2745,7 @@ msgstr "Sesión" msgid "Session ID" msgstr "ID de sesión" -#: src/page/admin.vue:45 +#: src/page/admin.vue:44 msgid "Sessions" msgstr "Sesiones" @@ -2718,22 +2753,22 @@ msgstr "Sesiones" msgid "Set as Album Cover" msgstr "Poner como Portada del Álbum" -#: src/app/routes.js:101 src/app/routes.js:492 src/app/routes.js:504 -#: src/app/routes.js:521 src/app/routes.js:534 src/app/routes.js:547 -#: src/component/navigation.vue:1394 src/component/navigation.vue:1806 +#: src/app/routes.js:101 src/app/routes.js:500 src/app/routes.js:512 +#: src/app/routes.js:529 src/app/routes.js:542 src/app/routes.js:555 +#: src/component/navigation.vue:1419 src/component/navigation.vue:1841 msgid "Settings" msgstr "Ajustes" #: src/page/settings/account.vue:115 src/page/settings/account.vue:144 -#: src/component/settings/passcode.vue:147 +#: src/component/settings/passcode.vue:151 msgid "Settings saved" msgstr "Ajustes guardados" -#: src/component/service/upload.vue:131 src/component/settings/passcode.vue:160 +#: src/component/service/upload.vue:132 src/component/settings/passcode.vue:163 msgid "Setup" msgstr "Configurar" -#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:98 +#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:103 #: src/component/photo/clipboard.vue:51 src/page/settings/general.vue:382 msgid "Share" msgstr "Compartir" @@ -2750,7 +2785,7 @@ msgstr "Comparte tus fotos con otras aplicaciones y servicios." msgid "Show" msgstr "Mostrar" -#: src/page/people/new.vue:116 src/page/people/new.vue:233 +#: src/page/people/new.vue:116 src/page/people/new.vue:235 msgid "Show all new faces" msgstr "Mostrar todas las caras nuevas" @@ -2795,7 +2830,7 @@ msgid "Similar" msgstr "Similares" #: src/component/photo/edit/files.vue:51 src/component/photo/edit/files.vue:341 -#: src/component/service/edit.vue:139 src/component/sidebar/info.vue:96 +#: src/component/service/edit.vue:140 src/component/sidebar/info.vue:96 msgid "Size" msgstr "Tamaño" @@ -2823,7 +2858,7 @@ msgstr "Algo ha ido mal, inténtalo de nuevo" msgid "Sort by" msgstr "Ordenar por" -#: src/component/album/edit/dialog.vue:142 src/component/photo/toolbar.vue:288 +#: src/component/album/edit/dialog.vue:143 src/component/photo/toolbar.vue:290 #: src/page/albums.vue:214 msgid "Sort Order" msgstr "Orden de Clasificación" @@ -2858,7 +2893,7 @@ msgstr "Apilar las imágenes tomadas en el mismo momento y lugar exactos basados msgid "Stackable" msgstr "Apilable" -#: src/component/navigation.vue:421 src/page/settings/content.vue:136 +#: src/component/navigation.vue:423 src/page/settings/content.vue:136 msgid "Stacks" msgstr "Secuencias" @@ -2886,16 +2921,16 @@ msgstr "Almacenes" msgid "Streets" msgstr "Calles" -#: src/component/photo/edit/details.vue:494 +#: src/component/photo/edit/details.vue:468 #: src/component/photo/edit/labels.vue:44 msgid "Subject" msgstr "Sujeto" -#: src/page/about/feedback.vue:162 src/page/about/feedback.vue:163 +#: src/page/about/feedback.vue:163 src/page/about/feedback.vue:164 msgid "Submit" msgstr "Envía" -#: src/component/settings/passcode.vue:132 +#: src/component/settings/passcode.vue:136 msgid "Successfully activated" msgstr "Activado exitosamente" @@ -2904,23 +2939,23 @@ msgid "Successfully Connected" msgstr "Conectado con éxito" #: src/component/session/remove/dialog.vue:32 -#: src/component/settings/apps.vue:218 +#: src/component/settings/apps.vue:222 msgid "Successfully deleted" msgstr "Eliminado con éxito" -#: src/component/settings/passcode.vue:107 +#: src/component/settings/passcode.vue:108 msgid "Successfully verified" msgstr "Verificado con éxito" -#: src/component/user/edit/dialog.vue:398 src/page/admin/users.vue:163 +#: src/component/user/edit/dialog.vue:399 src/page/admin/users.vue:165 msgid "Super Admin" msgstr "Super Admin" -#: src/component/service/add.vue:122 +#: src/component/service/add.vue:123 msgid "Support for additional services, like Google Drive, will be added over time." msgstr "El soporte para servicios adicionales, como Google Drive, se añadirá a futuro." -#: src/component/confirm/sponsor.vue:37 src/component/navigation.vue:1629 +#: src/component/confirm/sponsor.vue:38 src/component/navigation.vue:1660 msgid "Support Our Mission" msgstr "Apoye nuestra misión" @@ -2928,7 +2963,7 @@ msgstr "Apoye nuestra misión" msgid "Sync" msgstr "Sincronizar" -#: src/component/service/edit.vue:289 +#: src/component/service/edit.vue:290 msgid "Sync raw and video files" msgstr "Sincronizar imágenes raw y videos" @@ -2954,23 +2989,23 @@ msgstr "Terreno" msgid "Text" msgstr "Texto" -#: src/component/photo/edit/details.vue:32 src/page/people/new.vue:71 +#: src/component/photo/edit/details.vue:40 src/page/people/new.vue:71 msgid "Text too long" msgstr "Texto demasiado largo" -#: src/page/about/about.vue:145 +#: src/page/about/about.vue:146 msgid "Thank You for Your Support!" msgstr "¡Gracias por su apoyo!" -#: src/page/about/about.vue:79 src/page/about/about.vue:85 +#: src/page/about/about.vue:80 src/page/about/about.vue:86 msgid "That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality." msgstr "Por eso PhotoPrism se ha creado desde cero para que funcione donde lo necesites, sin comprometer la libertad, la privacidad ni la funcionalidad." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "The index currently contains %{n} hidden files." msgstr "El índice contiene actualmente %{n} archivos ocultos." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates." msgstr "Su formato puede no ser compatible, aún no se han convertido a JPEG o hay duplicados." @@ -2985,44 +3020,44 @@ msgstr "Tema" msgid "This field is required" msgstr "Este campo es obligatorio" -#: src/component/settings/webdav.vue:100 src/page/settings/services.vue:144 +#: src/component/settings/webdav.vue:101 src/page/settings/services.vue:147 msgid "This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local." msgstr "Esto monta la carpeta de originales como una unidad de red y le permite abrir, editar y eliminar archivos de su ordenador o smartphone como si fueran locales." -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Time UTC" msgstr "Hora UTC" -#: src/component/photo/edit/details.vue:219 src/page/settings/general.vue:108 +#: src/component/photo/edit/details.vue:221 src/page/settings/general.vue:108 msgid "Time Zone" msgstr "Zona horaria" -#: src/component/service/edit.vue:408 +#: src/component/service/edit.vue:409 msgid "Timeout" msgstr "Tiempo de espera" -#: src/component/user/edit/dialog.vue:98 src/component/user/edit/dialog.vue:99 +#: src/component/user/edit/dialog.vue:99 src/component/user/edit/dialog.vue:100 #: src/page/settings/account.vue:84 src/page/settings/account.vue:86 msgctxt "Account" msgid "Title" msgstr "Título" -#: src/component/photo/edit/details.vue:73 +#: src/component/photo/edit/details.vue:75 msgctxt "Photo" msgid "Title" msgstr "Título" -#: src/component/photo/edit/info.vue:59 src/component/photo/edit/info.vue:155 +#: src/component/photo/edit/info.vue:61 src/component/photo/edit/info.vue:155 #: src/component/photo/edit/labels.vue:40 src/component/photo/view/list.vue:114 #: src/component/sidebar/info.vue:57 msgid "Title" msgstr "Título" -#: src/page/settings/account.vue:553 src/page/settings/account.vue:555 +#: src/page/settings/account.vue:559 src/page/settings/account.vue:561 msgid "Title / Position" msgstr "Título / Cargo" -#: src/page/albums.vue:83 +#: src/page/albums.vue:84 msgid "Title too long" msgstr "Título demasiado largo" @@ -3030,19 +3065,19 @@ msgstr "Título demasiado largo" msgid "to" msgstr "para" -#: src/component/settings/passcode.vue:312 +#: src/component/settings/passcode.vue:315 msgid "To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place." msgstr "Para evitar que te bloqueen la cuenta, descarga, imprime o copia ahora este código de recuperación y guárdalo en un lugar seguro." -#: src/component/settings/apps.vue:272 +#: src/component/settings/apps.vue:275 msgid "To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:" msgstr "Para generar una nueva contraseña específica de la aplicación, introduce el nombre y el ámbito de autorización de la aplicación y selecciona una fecha de caducidad:" -#: src/component/settings/passcode.vue:400 +#: src/component/settings/passcode.vue:403 msgid "To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:" msgstr "Para cambiar a una nueva aplicación o dispositivo de autenticación, primero desactiva la autenticación de dos factores y luego reactívala:" -#: src/page/connect.vue:221 src/page/connect.vue:230 +#: src/page/connect.vue:223 src/page/connect.vue:232 msgid "To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:" msgstr "Para actualizar, puede introducir un código de activación o hacer clic en \"Registrarse\" para darse de alta en nuestro sitio web:" @@ -3050,7 +3085,7 @@ msgstr "Para actualizar, puede introducir un código de activación o hacer clic msgid "Today" msgstr "Hoy" -#: src/component/album/toolbar.vue:70 src/component/photo/toolbar.vue:78 +#: src/component/album/toolbar.vue:71 src/component/photo/toolbar.vue:78 msgid "Toggle View" msgstr "Cambiar Vista" @@ -3077,20 +3112,24 @@ msgstr "Solución de problemas" msgid "Try again using other filters or keywords." msgstr "Inténtalo de nuevo usando otros filtros o palabras." -#: src/component/settings/passcode.vue:380 +#: src/component/settings/passcode.vue:383 msgid "Two-factor authentication has been enabled for your account." msgstr "Se ha activado la autenticación de dos factores para tu cuenta." #: src/component/photo/edit/files.vue:58 src/component/photo/edit/files.vue:330 -#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:388 +#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:389 msgid "Type" msgstr "Tipo" -#: src/options/auth.js:13 +#: src/component/album/toolbar.vue:178 +msgid "Unable to delete" +msgstr "No se puede eliminar" + +#: src/options/auth.js:14 msgid "Unauthorized" msgstr "Sin autorización" -#: src/component/photo/edit/people.vue:94 +#: src/component/photo/edit/people.vue:95 msgid "Undo" msgstr "Deshacer" @@ -3098,16 +3137,16 @@ msgstr "Deshacer" msgid "Unique ID" msgstr "ID Única" -#: src/page/settings/account.vue:451 src/page/settings/account.vue:476 -#: src/page/settings/account.vue:501 src/common/util.js:487 -#: src/component/photo/edit/details.vue:21 -#: src/component/photo/edit/details.vue:111 -#: src/component/photo/edit/details.vue:138 -#: src/component/photo/edit/details.vue:164 src/component/sidebar/info.vue:43 -#: src/model/album.js:193 src/model/photo.js:323 src/model/photo.js:784 -#: src/model/photo.js:809 src/model/photo.js:832 src/model/photo.js:850 -#: src/model/photo.js:897 src/model/photo.js:905 src/model/photo.js:994 -#: src/model/photo.js:1016 src/model/photo.js:1061 src/model/photo.js:1074 +#: src/page/settings/account.vue:457 src/page/settings/account.vue:482 +#: src/page/settings/account.vue:507 src/common/util.js:488 +#: src/component/photo/edit/details.vue:27 +#: src/component/photo/edit/details.vue:113 +#: src/component/photo/edit/details.vue:140 +#: src/component/photo/edit/details.vue:166 src/component/sidebar/info.vue:43 +#: src/model/album.js:193 src/model/photo.js:331 src/model/photo.js:821 +#: src/model/photo.js:846 src/model/photo.js:869 src/model/photo.js:887 +#: src/model/photo.js:934 src/model/photo.js:942 src/model/photo.js:1031 +#: src/model/photo.js:1053 src/model/photo.js:1098 src/model/photo.js:1111 #: src/model/user.js:157 src/options/options.js:51 src/options/options.js:69 #: src/options/options.js:86 src/options/options.js:100 #: src/options/options.js:112 src/page/library/errors.vue:251 @@ -3120,7 +3159,7 @@ msgstr "Desconocido" msgid "Unregistered" msgstr "No registrado" -#: src/app/routes.js:215 src/component/navigation.vue:644 +#: src/app/routes.js:223 src/component/navigation.vue:648 msgid "Unsorted" msgstr "Sin clasificar" @@ -3128,7 +3167,7 @@ msgstr "Sin clasificar" msgid "Unstack" msgstr "Desagrupar" -#: src/component/photo/edit/files.vue:519 src/component/photo/edit/info.vue:416 +#: src/component/photo/edit/files.vue:521 src/component/photo/edit/info.vue:416 msgid "Updated" msgstr "Actualizado" @@ -3144,7 +3183,7 @@ msgstr "Actualizando índice" msgid "Updating moments" msgstr "Actualizando Momentos" -#: src/component/user/edit/dialog.vue:154 +#: src/component/user/edit/dialog.vue:155 msgid "Updating picture…" msgstr "Actualizando la imagen…" @@ -3156,21 +3195,21 @@ msgstr "Actualizando vistas previas" msgid "Updating stacks" msgstr "Actualizando pilas" -#: src/page/connect.vue:57 src/component/navigation.vue:1500 -#: src/component/navigation.vue:1614 src/component/navigation.vue:1999 +#: src/page/connect.vue:57 src/component/navigation.vue:1526 +#: src/component/navigation.vue:1644 src/component/navigation.vue:2047 #: src/page/connect.vue:58 msgid "Upgrade" msgstr "Subir de Categoría" -#: src/page/about/about.vue:123 src/page/connect.vue:202 -#: src/component/confirm/sponsor.vue:98 src/page/about/about.vue:113 -#: src/page/connect.vue:206 +#: src/page/about/about.vue:124 src/page/connect.vue:204 +#: src/component/confirm/sponsor.vue:99 src/page/about/about.vue:114 +#: src/page/connect.vue:208 msgid "Upgrade Now" msgstr "Mejore su plan ahora" -#: src/component/album/toolbar.vue:108 src/component/navigation.vue:1824 -#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:144 -#: src/component/upload/dialog.vue:51 src/page/albums.vue:183 +#: src/component/album/toolbar.vue:113 src/component/navigation.vue:1860 +#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:145 +#: src/component/upload/dialog.vue:51 src/page/albums.vue:185 #: src/page/labels.vue:122 src/page/library/import.vue:133 #: src/page/settings/general.vue:307 src/page/settings/services.vue:38 msgid "Upload" @@ -3180,21 +3219,21 @@ msgstr "Subir" msgid "Upload complete" msgstr "Subida completa" -#: src/component/upload/dialog.vue:133 +#: src/component/upload/dialog.vue:135 msgid "Upload complete. Indexing…" msgstr "Subida completa. Indexando…" #: src/component/upload/dialog.vue:296 src/component/upload/dialog.vue:315 -#: src/component/upload/dialog.vue:129 +#: src/component/upload/dialog.vue:131 msgid "Upload failed" msgstr "Carga fallida" -#: src/component/service/edit.vue:257 +#: src/component/service/edit.vue:258 msgid "Upload local files" msgstr "Subir archivos locales" -#: src/component/user/edit/dialog.vue:380 #: src/component/user/edit/dialog.vue:381 +#: src/component/user/edit/dialog.vue:382 msgid "Upload Path" msgstr "Cargar ruta" @@ -3202,7 +3241,7 @@ msgstr "Cargar ruta" msgid "Upload to WebDAV and share links with friends." msgstr "Subir a WebDAV y compartir los enlaces con amigos." -#: src/component/upload/dialog.vue:131 +#: src/component/upload/dialog.vue:133 msgid "Uploading %{n} of %{t}…" msgstr "Cargando %{n} de %{t}…" @@ -3215,7 +3254,7 @@ msgstr "Subiendo fotos…" msgid "Uploading…" msgstr "Subiendo…" -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Uploads that may contain such images will be rejected automatically." msgstr "Las subidas que puedan contener tales imágenes serán rechazadas automáticamente." @@ -3223,7 +3262,7 @@ msgstr "Las subidas que puedan contener tales imágenes serán rechazadas autom msgid "Use Presets" msgstr "Usar preselecciones" -#: src/component/settings/passcode.vue:283 +#: src/component/settings/passcode.vue:286 msgid "Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:" msgstr "Utiliza el siguiente código de recuperación para acceder a tu cuenta cuando no puedas generar un código de verificación válido con tu aplicación de autenticación:" @@ -3231,12 +3270,12 @@ msgstr "Utiliza el siguiente código de recuperación para acceder a tu cuenta c msgid "Use your recovery code or contact an administrator for help." msgstr "Utiliza tu código de recuperación o ponte en contacto con un administrador para que te ayude." -#: src/options/admin.js:10 src/page/admin/sessions.vue:59 -#: src/page/admin/sessions.vue:242 src/model/user.js:361 src/options/auth.js:7 +#: src/options/admin.js:14 src/page/admin/sessions.vue:59 +#: src/page/admin/sessions.vue:243 src/model/user.js:361 src/options/auth.js:8 msgid "User" msgstr "Usuario" -#: src/component/navigation.vue:1979 +#: src/component/navigation.vue:2025 msgid "User Guide" msgstr "Guía del usuario" @@ -3244,14 +3283,14 @@ msgstr "Guía del usuario" msgid "User Interface" msgstr "Interfaz de usuario" -#: src/component/user/add/dialog.vue:87 src/component/user/add/dialog.vue:88 -#: src/page/admin/sessions.vue:220 src/page/admin/users.vue:71 -#: src/component/service/add.vue:85 src/component/service/edit.vue:337 +#: src/component/user/add/dialog.vue:88 src/component/user/add/dialog.vue:89 +#: src/page/admin/sessions.vue:221 src/page/admin/users.vue:73 +#: src/component/service/add.vue:86 src/component/service/edit.vue:338 #: src/component/share/dialog.vue:26 msgid "Username" msgstr "Nombre de usuario" -#: src/component/navigation.vue:1435 +#: src/component/navigation.vue:1461 msgid "Users" msgstr "Usuarios" @@ -3261,18 +3300,18 @@ msgstr "Usuarios" msgid "Vector" msgstr "Vector" -#: src/component/navigation.vue:440 +#: src/component/navigation.vue:442 msgid "Vectors" msgstr "Vectores" -#: src/component/settings/passcode.vue:227 src/page/auth/login.vue:144 +#: src/component/settings/passcode.vue:230 src/page/auth/login.vue:144 msgid "Verification Code" msgstr "Código de verificación" #: src/component/photo/view/cards.vue:363 #: src/component/photo/view/cards.vue:491 src/component/photo/view/list.vue:190 #: src/component/photo/view/mosaic.vue:207 src/model/file.js:221 -#: src/model/photo.js:921 src/model/photo.js:939 src/options/options.js:293 +#: src/model/photo.js:958 src/model/photo.js:976 src/options/options.js:293 msgid "Video" msgstr "Vídeo" @@ -3281,12 +3320,12 @@ msgstr "Vídeo" msgid "Video Duration" msgstr "Duración del vídeo" -#: src/app/routes.js:243 src/component/navigation.vue:728 +#: src/app/routes.js:251 src/component/navigation.vue:734 #: src/options/options.js:200 msgid "Videos" msgstr "Vídeos" -#: src/component/photo/toolbar.vue:261 src/component/photo/view/cards.vue:350 +#: src/component/photo/toolbar.vue:263 src/component/photo/view/cards.vue:350 #: src/component/photo/view/mosaic.vue:194 msgid "View" msgstr "Ver" @@ -3295,11 +3334,11 @@ msgstr "Ver" msgid "View search results as a list." msgstr "Ver los resultados de la búsqueda como una lista." -#: src/options/admin.js:14 src/options/auth.js:8 +#: src/options/admin.js:18 src/options/auth.js:9 msgid "Viewer" msgstr "Visor" -#: src/page/admin/sessions.vue:271 src/options/auth.js:12 +#: src/page/admin/sessions.vue:272 src/options/auth.js:13 msgid "Visitor" msgstr "Visitante" @@ -3311,34 +3350,34 @@ msgstr "Similitud visual" msgid "Warning" msgstr "Advertencia" -#: src/page/about/feedback.vue:60 +#: src/page/about/feedback.vue:61 msgid "We appreciate your feedback!" msgstr "¡Agradecemos sus comentarios!" -#: src/page/about/feedback.vue:63 +#: src/page/about/feedback.vue:64 msgid "We do our best to respond within five business days or less." msgstr "Hacemos todo lo posible por responder en un plazo de cinco días hábiles o menos." -#: src/component/user/add/dialog.vue:235 src/component/user/edit/dialog.vue:415 -#: src/page/admin/users.vue:80 +#: src/component/user/add/dialog.vue:236 src/component/user/edit/dialog.vue:416 +#: src/page/admin/users.vue:82 msgid "Web Login" msgstr "Inicio de sesión web" -#: src/component/user/add/dialog.vue:248 src/component/user/edit/dialog.vue:432 -#: src/page/admin/users.vue:82 src/options/auth.js:55 src/options/auth.js:68 +#: src/component/user/add/dialog.vue:249 src/component/user/edit/dialog.vue:433 +#: src/page/admin/users.vue:84 src/options/auth.js:56 src/options/auth.js:69 #: src/options/options.js:444 msgid "WebDAV" msgstr "WebDAV" -#: src/component/settings/webdav.vue:51 +#: src/component/settings/webdav.vue:52 msgid "WebDAV clients can connect to PhotoPrism using the following URL:" msgstr "Los clientes de WebDAV pueden conectarse a PhotoPrism usando la siguiente URL:" -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism." msgstr "Los clientes de WebDAV, como Microsoft Windows Explorer o Finder de Apple, pueden conectarse directamente a PhotoPrism." -#: src/component/service/upload.vue:50 src/component/share/dialog.vue:220 +#: src/component/service/upload.vue:51 src/component/share/dialog.vue:220 msgid "WebDAV Upload" msgstr "Subida WebDAV" @@ -3346,8 +3385,8 @@ msgstr "Subida WebDAV" msgid "WebGL support is disabled in your browser" msgstr "El soporte WebGL está desactivado en tu navegador" -#: src/page/settings/account.vue:615 src/page/settings/account.vue:709 -#: src/page/settings/account.vue:601 +#: src/page/settings/account.vue:621 src/page/settings/account.vue:715 +#: src/page/settings/account.vue:607 msgid "Website" msgstr "Página web" @@ -3355,12 +3394,12 @@ msgstr "Página web" msgid "White" msgstr "Blanco" -#: src/page/settings/account.vue:532 +#: src/page/settings/account.vue:538 msgid "Work Details" msgstr "Detalles del trabajo" -#: src/page/settings/account.vue:500 src/component/photo/edit/details.vue:163 -#: src/component/photo/toolbar.vue:315 src/page/albums.vue:159 +#: src/page/settings/account.vue:506 src/component/photo/edit/details.vue:165 +#: src/component/photo/toolbar.vue:317 src/page/albums.vue:159 msgid "Year" msgstr "Año" @@ -3368,21 +3407,21 @@ msgstr "Año" msgid "Yellow" msgstr "Amarillo" -#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:58 -#: src/component/photo/archive/dialog.vue:58 +#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:59 +#: src/component/photo/archive/dialog.vue:59 #: src/component/photo/clipboard.vue:200 src/component/photo/edit/files.vue:365 #: src/component/photo/edit/files.vue:395 #: src/component/photo/edit/files.vue:401 #: src/component/photo/edit/files.vue:407 -#: src/component/photo/edit/files.vue:510 src/component/photo/edit/info.vue:281 +#: src/component/photo/edit/files.vue:512 src/component/photo/edit/info.vue:281 #: src/component/photo/edit/info.vue:297 src/component/photo/edit/info.vue:313 #: src/component/photo/edit/info.vue:329 src/component/photo/edit/info.vue:344 -#: src/component/photo/toolbar.vue:434 +#: src/component/photo/toolbar.vue:436 msgid "Yes" msgstr "Sí" -#: src/component/confirm/sponsor.vue:59 src/page/about/about.vue:158 -#: src/page/connect.vue:315 +#: src/component/confirm/sponsor.vue:60 src/page/about/about.vue:160 +#: src/page/connect.vue:317 msgid "You are welcome to contact us at membership@photoprism.app for questions regarding your membership." msgstr "Puede ponerse en contacto con nosotros en membership@photoprism.app si tiene preguntas sobre su afiliación." @@ -3394,7 +3433,11 @@ msgstr "Sólo puedes descargar un álbum" msgid "You can only download one label" msgstr "Sólo puedes descargar una etiqueta" -#: src/component/upload/dialog.vue:203 +#: src/component/location/dialog.vue:178 +msgid "You can search for a location or move the marker on the map to change the position:" +msgstr "Puedes buscar una ubicación o mover el marcador en el mapa para cambiar la posición:" + +#: src/component/upload/dialog.vue:205 msgid "You can upload up to %{n} files for test purposes." msgstr "Puede cargar hasta %{n} archivos para realizar pruebas." @@ -3407,7 +3450,7 @@ msgstr "Sólo puedes selecionar un elemento" msgid "You may rescan your library to find additional faces." msgstr "Puede volver a escanear su biblioteca para encontrar más caras." -#: src/page/connect.vue:146 src/page/connect.vue:150 +#: src/page/connect.vue:147 src/page/connect.vue:151 msgid "Your account has been successfully connected." msgstr "Su cuenta se ha conectado correctamente." @@ -3415,8 +3458,8 @@ msgstr "Su cuenta se ha conectado correctamente." msgid "Your browser does not support WebGL" msgstr "Tu navegador no soporta WebGL" -#: src/component/confirm/sponsor.vue:43 src/page/about/about.vue:97 -#: src/page/about/about.vue:156 src/page/connect.vue:220 +#: src/component/confirm/sponsor.vue:44 src/page/about/about.vue:98 +#: src/page/about/about.vue:158 src/page/connect.vue:222 msgid "Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy." msgstr "Su apoyo continuo nos ayuda a proporcionar actualizaciones periódicas y a seguir siendo independientes, para que podamos cumplir nuestra misión y proteger su privacidad." @@ -3497,9 +3540,6 @@ msgstr "Acercar/Alejar" #~ msgid "Open Folder" #~ msgstr "Abrir carpeta" -#~ msgid "Cannot copy to clipboard" -#~ msgstr "No se puede copiar al portapapeles" - #~ msgid "Sound" #~ msgstr "Sonido" @@ -4156,9 +4196,6 @@ msgstr "Acercar/Alejar" #~ msgid "More than 50 results" #~ msgstr "Más de 50 resultados" -#~ msgid "No results" -#~ msgstr "Sin resultados" - #~ msgid "Not implemented yet" #~ msgstr "No se ha implementado aún" diff --git a/frontend/src/locales/et.po b/frontend/src/locales/et.po index e8ba1dc7a..aa8fca1e6 100644 --- a/frontend/src/locales/et.po +++ b/frontend/src/locales/et.po @@ -2,13 +2,13 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: ci@photoprism.app\n" -"PO-Revision-Date: 2025-04-04 08:03+0000\n" +"PO-Revision-Date: 2025-07-06 08:59+0000\n" "Last-Translator: DeepL \n" "Language: et\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.10.4\n" +"X-Generator: Weblate 5.12.2\n" "Generated-By: easygettext\n" #: src/locales.js:268 @@ -39,7 +39,7 @@ msgstr "{0} valitud" msgid "{0}-{1} of {2}" msgstr "{0}-{1} of {2}" -#: src/page/albums.vue:612 +#: src/page/albums.vue:617 msgid "%{n} albums found" msgstr "%{n} albumit leitud" @@ -47,25 +47,25 @@ msgstr "%{n} albumit leitud" msgid "%{n} files uploaded" msgstr "%{n} faili üles laaditud" -#: src/page/library/browse.vue:362 +#: src/page/library/browse.vue:364 msgid "%{n} folders found" msgstr "%{n} kausta leitud" -#: src/component/navigation.vue:1676 +#: src/component/navigation.vue:1707 msgid "%{n} GB of %{q} GB used" msgstr "%{n} GB %{q} kasutatud GB" -#: src/page/labels.vue:528 +#: src/page/labels.vue:533 msgid "%{n} labels found" msgstr "%{n} silti leitud" -#: src/page/people/new.vue:350 src/page/people/new.vue:447 -#: src/page/people/recognized.vue:536 +#: src/page/people/new.vue:350 src/page/people/new.vue:450 +#: src/page/people/recognized.vue:541 msgid "%{n} people found" msgstr "%{n} inimest leitud" -#: src/page/album/photos.vue:308 src/page/album/photos.vue:493 -#: src/page/photos.vue:441 src/page/photos.vue:631 +#: src/page/album/photos.vue:313 src/page/album/photos.vue:504 +#: src/page/photos.vue:446 src/page/photos.vue:641 msgid "%{n} pictures found" msgstr "%{n} pilti leitud" @@ -85,12 +85,12 @@ msgstr "1 tund" msgid "12 hours" msgstr "12 tundi" -#: src/component/user/edit/dialog.vue:452 src/page/settings/account.vue:324 -#: src/component/settings/passcode.vue:75 +#: src/component/user/edit/dialog.vue:453 src/page/settings/account.vue:325 +#: src/component/settings/passcode.vue:78 msgid "2-Factor Authentication" msgstr "2-faktoriline autentimine" -#: src/component/user/edit/dialog.vue:451 src/options/auth.js:46 +#: src/component/user/edit/dialog.vue:452 src/options/auth.js:47 msgid "2FA" msgstr "2FA" @@ -106,20 +106,20 @@ msgstr "Klõpsamine kopeerib selle lõikelauale." msgid "A new version of %{s} is available:" msgstr "Rakenduse %{s} uus versioon on saadaval:" -#: src/component/user/edit/dialog.vue:233 -#: src/component/user/edit/dialog.vue:234 src/page/about/about.vue:56 +#: src/component/user/edit/dialog.vue:234 +#: src/component/user/edit/dialog.vue:235 src/page/about/about.vue:56 #: src/page/settings/account.vue:248 src/page/settings/account.vue:249 -#: src/app/routes.js:63 src/component/navigation.vue:1521 -#: src/page/people/recognized.vue:292 +#: src/app/routes.js:63 src/component/navigation.vue:1547 +#: src/page/people/recognized.vue:296 msgid "About" msgstr "Teave" -#: src/options/auth.js:26 src/options/auth.js:44 +#: src/options/auth.js:27 src/options/auth.js:45 msgid "Access Token" msgstr "Juurdepääsutunnus" -#: src/component/navigation.vue:87 src/component/navigation.vue:1788 -#: src/component/service/upload.vue:71 src/model/service.js:96 +#: src/component/navigation.vue:87 src/component/navigation.vue:1822 +#: src/component/service/upload.vue:72 src/model/service.js:96 #: src/model/user.js:171 src/page/settings.vue:85 #: src/page/settings/general.vue:582 msgid "Account" @@ -133,7 +133,7 @@ msgstr "Konto loodud" msgid "Account deleted" msgstr "Konto kustutatud" -#: src/page/admin/users.vue:335 +#: src/page/admin/users.vue:337 msgid "Account restored" msgstr "Konto taastatakse" @@ -154,8 +154,8 @@ msgstr "Tegevus" msgid "Actions" msgstr "Tegevused" -#: src/page/connect.vue:294 src/component/settings/passcode.vue:346 -#: src/page/connect.vue:303 +#: src/page/connect.vue:296 src/component/settings/passcode.vue:349 +#: src/page/connect.vue:305 msgid "Activate" msgstr "Aktiveeri" @@ -171,20 +171,20 @@ msgstr "Aktiveerige sorteerimine ülespoole." msgid "Activate to sort descending." msgstr "Aktiveerige sorteerimine kahanevas järjestuses." -#: src/page/connect.vue:231 src/page/connect.vue:240 +#: src/page/connect.vue:233 src/page/connect.vue:242 msgid "Activation Code" msgstr "Aktiveerimiskood" -#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:83 -#: src/component/settings/apps.vue:448 +#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:92 +#: src/component/settings/apps.vue:451 msgid "Add" msgstr "Lisa" -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:246 msgid "Add %{s}?" msgstr "Lisa %{s}?" -#: src/component/user/add/dialog.vue:56 src/component/service/add.vue:49 +#: src/component/user/add/dialog.vue:57 src/component/service/add.vue:50 msgid "Add Account" msgstr "Lisa konto" @@ -201,8 +201,8 @@ msgid "Add Link" msgstr "Lisa link" #: src/component/photo/edit/people.vue:25 -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:57 -#: src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:57 +#: src/page/people/new.vue:246 msgid "Add person?" msgstr "Lisa inimene?" @@ -218,10 +218,15 @@ msgstr "Lisa pilte otsingutulemustest neid valides." msgid "Add to album" msgstr "Lisa albumisse" -#: src/component/photo/edit/files.vue:514 +#: src/component/photo/edit/files.vue:516 msgid "Added" msgstr "Lisatud" +#: src/component/location/dialog.vue:68 src/component/location/dialog.vue:90 +#: src/component/photo/edit/details.vue:246 +msgid "Adjust Location" +msgstr "Kohandage asukohta" + #: src/options/admin.js:6 src/options/auth.js:6 msgid "Admin" msgstr "Admin" @@ -242,7 +247,7 @@ msgstr "3 päeva pärast" msgid "After 7 days" msgstr "7 päeva pärast" -#: src/component/settings/passcode.vue:93 +#: src/component/settings/passcode.vue:96 msgid "After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:" msgstr "Pärast parooli kinnitamiseks sisestamist saate seadistada kahefaktorilise autentimise ühilduva autentimisrakenduse või -seadmega." @@ -274,12 +279,16 @@ msgstr "Album" msgid "Album Backups" msgstr "Albumite varukoopiad" -#: src/page/albums.vue:674 +#: src/page/albums.vue:685 msgid "Album created" msgstr "Album lisatud" -#: src/app/routes.js:176 src/component/album/toolbar.vue:51 -#: src/component/navigation.vue:604 src/component/navigation.vue:1882 +#: src/page/album/photos.vue:589 +msgid "Album deleted" +msgstr "Album kustutatud" + +#: src/app/routes.js:184 src/component/album/toolbar.vue:55 +#: src/component/navigation.vue:607 src/component/navigation.vue:1922 #: src/component/photo/edit/info.vue:220 src/options/options.js:198 msgid "Albums" msgstr "Albumid" @@ -292,7 +301,7 @@ msgstr "Albumid kustutatud" msgid "All" msgstr "Kõik" -#: src/page/albums.vue:465 +#: src/page/albums.vue:470 msgid "All %{n} albums loaded" msgstr "Kõik %{n} albumit laaditud" @@ -308,8 +317,8 @@ msgstr "Kõik %{n} inimest laaditud" msgid "All Cameras" msgstr "Kõik kaamerad" -#: src/component/photo/toolbar.vue:74 src/page/albums.vue:44 -#: src/page/albums.vue:240 src/page/albums.vue:746 +#: src/component/photo/toolbar.vue:74 src/page/albums.vue:45 +#: src/page/albums.vue:242 src/page/albums.vue:757 msgid "All Categories" msgstr "Kõik kategooriad" @@ -341,7 +350,7 @@ msgstr "Kõik kuud" msgid "All originals" msgstr "Kõik originaalid" -#: src/component/photo/toolbar.vue:76 src/page/albums.vue:93 +#: src/component/photo/toolbar.vue:76 src/page/albums.vue:94 msgid "All Years" msgstr "Kõik aastad" @@ -353,7 +362,7 @@ msgstr "Alternatiivina saad faile üles laadida otse WebDAV serveritesse nagu Ne msgid "Altitude" msgstr "Kõrgus" -#: src/component/photo/edit/details.vue:272 +#: src/component/photo/edit/details.vue:297 msgid "Altitude (m)" msgstr "Kõrgus (m)" @@ -361,8 +370,7 @@ msgstr "Kõrgus (m)" msgid "AM" msgstr "AM" -#: src/app/routes.js:257 src/component/navigation.vue:791 -#: src/component/photo/edit/files.vue:364 +#: src/app/routes.js:265 src/component/photo/edit/files.vue:364 #: src/component/photo/view/cards.vue:327 #: src/component/photo/view/cards.vue:511 src/component/photo/view/list.vue:184 #: src/component/photo/view/mosaic.vue:171 src/options/options.js:301 @@ -373,43 +381,47 @@ msgstr "Animeeritud" msgid "Animation" msgstr "Animatsioon" +#: src/component/navigation.vue:797 +msgid "Animations" +msgstr "Animatsioonid" + #: src/component/share/dialog.vue:207 msgid "Any private photos and videos remain private and won't be shared." msgstr "Kõik isiklikud fotod ja videod jäävad isiklikuks ja neid ei jagata." -#: src/component/service/edit.vue:372 +#: src/component/service/edit.vue:373 msgid "API Key" msgstr "API võti" -#: src/page/admin/sessions.vue:357 src/options/auth.js:25 +#: src/page/admin/sessions.vue:361 src/options/auth.js:26 msgid "Application" msgstr "Taotlus" -#: src/component/photo/edit/details.vue:641 +#: src/component/photo/edit/details.vue:615 msgid "Apply" msgstr "Rakenda" #: src/component/photo/clipboard.vue:64 -#: src/component/photo/edit/details.vue:640 +#: src/component/photo/edit/details.vue:614 #: src/component/photo/view/cards.vue:416 msgid "Approve" msgstr "Kinnita" -#: src/page/settings/account.vue:374 src/component/settings/apps.vue:91 +#: src/page/settings/account.vue:378 src/component/settings/apps.vue:94 msgid "Apps and Devices" msgstr "Rakendused ja seadmed" -#: src/app/routes.js:287 src/component/lightbox.vue:1207 -#: src/component/navigation.vue:555 src/component/photo/clipboard.vue:142 +#: src/app/routes.js:295 src/component/lightbox.vue:1207 +#: src/component/navigation.vue:557 src/component/photo/clipboard.vue:142 #: src/component/photo/view/cards.vue:398 src/page/settings/general.vue:432 msgid "Archive" msgstr "Arhiiv" -#: src/component/lightbox.vue:1982 src/component/photo/edit/info.vue:433 +#: src/component/lightbox.vue:2002 src/component/photo/edit/info.vue:433 msgid "Archived" msgstr "Arhiveeritud" -#: src/component/photo/archive/dialog.vue:34 +#: src/component/photo/archive/dialog.vue:35 msgid "Are you sure you want to archive the selection?" msgstr "Kas oled kindel, et soovid valiku arhiveerida?" @@ -417,19 +429,23 @@ msgstr "Kas oled kindel, et soovid valiku arhiveerida?" msgid "Are you sure you want to delete these albums?" msgstr "Kas oled kindel, et soovid need albumid kustutada?" -#: src/component/label/delete/dialog.vue:34 +#: src/component/label/delete/dialog.vue:35 msgid "Are you sure you want to delete these labels?" msgstr "Kas oled kindel, et soovid need sildid kustutada?" -#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:36 +#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:37 msgid "Are you sure you want to delete this account?" msgstr "Kas oled kindel, et soovid selle konto kustutada?" +#: src/component/album/toolbar.vue:136 +msgid "Are you sure you want to delete this album?" +msgstr "Kas olete kindel, et soovite selle albumi kustutada?" + #: src/component/photo/clipboard.vue:199 msgid "Are you sure you want to permanently delete these pictures?" msgstr "Kas oled kindel, et soovid need pildid lõplikult kustutada?" -#: src/component/file/delete/dialog.vue:34 +#: src/component/file/delete/dialog.vue:35 msgid "Are you sure you want to permanently delete this file?" msgstr "Kas oled kindel, et soovid selle faili lõplikult kustutada?" @@ -438,7 +454,7 @@ msgstr "Kas oled kindel, et soovid selle faili lõplikult kustutada?" msgid "Are you sure?" msgstr "Kas sa oled kindel?" -#: src/component/photo/edit/details.vue:537 +#: src/component/photo/edit/details.vue:511 msgid "Artist" msgstr "Kunstnik" @@ -446,14 +462,14 @@ msgstr "Kunstnik" msgid "Aspect Ratio" msgstr "Küljesuhe" -#: src/app/routes.js:250 src/component/navigation.vue:770 +#: src/app/routes.js:258 src/component/navigation.vue:776 #: src/options/options.js:297 msgid "Audio" msgstr "Audio" -#: src/component/user/add/dialog.vue:190 src/component/user/edit/dialog.vue:309 -#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:281 -#: src/page/admin/users.vue:75 +#: src/component/user/add/dialog.vue:191 src/component/user/edit/dialog.vue:310 +#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:282 +#: src/page/admin/users.vue:77 msgid "Authentication" msgstr "Autentimine" @@ -461,11 +477,11 @@ msgstr "Autentimine" msgid "Auto" msgstr "Auto" -#: src/component/settings/apps.vue:151 +#: src/component/settings/apps.vue:154 msgid "Back" msgstr "tagasi" -#: src/component/scroll.vue:20 +#: src/component/scroll.vue:18 msgid "Back to top" msgstr "Tagasi üles" @@ -477,26 +493,26 @@ msgstr "Varukoopia" msgid "Badge" msgstr "Märgis" -#: src/component/user/edit/dialog.vue:361 #: src/component/user/edit/dialog.vue:362 +#: src/component/user/edit/dialog.vue:363 msgid "Base Path" msgstr "Baasirada" -#: src/page/about/about.vue:95 src/page/connect.vue:220 +#: src/page/about/about.vue:96 src/page/connect.vue:222 msgid "Become a member today, support our mission and enjoy our member benefits!" msgstr "Astu liikmeks juba täna, toeta meie missiooni ja naudi meie liikmete soodustusi!" -#: src/component/confirm/sponsor.vue:51 src/page/about/about.vue:99 +#: src/component/confirm/sponsor.vue:52 src/page/about/about.vue:100 msgid "Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services." msgstr "Kuna me oleme 100% isefinantseeritud ja sõltumatud, võime lubada, et me ei müü kunagi su andmeid ja et oleme oma tarkvara ja teenuste osas alati läbipaistvad." -#: src/component/user/edit/dialog.vue:258 -#: src/component/user/edit/dialog.vue:259 src/page/settings/account.vue:227 +#: src/component/user/edit/dialog.vue:259 +#: src/component/user/edit/dialog.vue:260 src/page/settings/account.vue:227 #: src/page/settings/account.vue:228 msgid "Bio" msgstr "Elulugu" -#: src/page/settings/account.vue:431 +#: src/page/settings/account.vue:437 msgid "Birth Date" msgstr "Sünnikuupäev" @@ -517,7 +533,7 @@ msgid "Brown" msgstr "Pruun" #: src/component/photo/edit/files.vue:263 src/component/photo/toolbar.vue:141 -#: src/component/upload/dialog.vue:240 +#: src/component/upload/dialog.vue:242 msgid "Browse" msgstr "Sirvi" @@ -545,16 +561,16 @@ msgstr "Vearaport" msgid "Busy, please wait…" msgstr "Hõivatud, palun oota…" -#: src/page/connect.vue:317 +#: src/page/connect.vue:319 msgid "By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct." msgstr "Meie poolt pakutavat tarkvara ja teenuseid kasutades nõustud kasutustingimuste, privaatsuspoliitika ja käitumiskoodeksiga." -#: src/app/routes.js:189 src/component/navigation.vue:1081 +#: src/app/routes.js:197 src/component/navigation.vue:1097 #: src/options/options.js:204 src/page/settings/general.vue:205 msgid "Calendar" msgstr "Kalender" -#: src/component/photo/edit/details.vue:346 src/component/photo/toolbar.vue:232 +#: src/component/photo/edit/details.vue:320 src/component/photo/toolbar.vue:234 #: src/component/photo/view/cards.vue:467 src/component/photo/view/list.vue:116 msgid "Camera" msgstr "Kaamera" @@ -567,12 +583,12 @@ msgstr "Kaamera seerianumber" msgid "Can't access your authenticator app or device?" msgstr "Ei saa juurdepääsu oma autentimisrakendusele või seadmele?" -#: src/page/album/photos.vue:317 src/page/photos.vue:450 +#: src/page/album/photos.vue:322 src/page/photos.vue:455 msgid "Can't load more, limit reached" msgstr "Rohkem ei saa laadida, limiit on saavutatud" #: src/common/clipboard.js:102 src/common/clipboard.js:139 -#: src/page/albums.vue:684 src/page/albums.vue:700 src/page/labels.vue:293 +#: src/page/albums.vue:695 src/page/albums.vue:711 src/page/labels.vue:293 #: src/page/labels.vue:313 src/page/library/browse.vue:233 #: src/page/library/browse.vue:249 src/page/people/new.vue:278 #: src/page/people/new.vue:294 src/page/people/recognized.vue:305 @@ -581,26 +597,31 @@ msgid "Can't select more items" msgstr "Rohkem objekte ei saa valida" #: src/component/session/remove/dialog.vue:45 -#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:473 -#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:119 +#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:474 +#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:120 #: src/component/album/delete/dialog.vue:43 -#: src/component/album/edit/dialog.vue:199 src/component/confirm/dialog.vue:43 -#: src/component/file/delete/dialog.vue:47 -#: src/component/label/delete/dialog.vue:47 -#: src/component/label/edit/dialog.vue:107 -#: src/component/people/edit/dialog.vue:120 +#: src/component/album/edit/dialog.vue:200 src/component/confirm/dialog.vue:43 +#: src/component/file/delete/dialog.vue:48 +#: src/component/label/delete/dialog.vue:48 +#: src/component/label/edit/dialog.vue:108 +#: src/component/location/dialog.vue:200 +#: src/component/people/edit/dialog.vue:121 #: src/component/photo/album/dialog.vue:78 src/component/service/add.vue:19 -#: src/component/service/edit.vue:455 src/component/service/remove.vue:49 -#: src/component/service/upload.vue:117 src/component/settings/apps.vue:352 -#: src/component/settings/passcode.vue:249 -#: src/component/settings/passcode.vue:333 -#: src/component/settings/password.vue:159 src/component/share/dialog.vue:28 -#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:123 +#: src/component/service/edit.vue:456 src/component/service/remove.vue:50 +#: src/component/service/upload.vue:118 src/component/settings/apps.vue:355 +#: src/component/settings/passcode.vue:252 +#: src/component/settings/passcode.vue:336 +#: src/component/settings/password.vue:160 src/component/share/dialog.vue:28 +#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:124 #: src/page/library/import.vue:119 src/page/library/index.vue:128 msgid "Cancel" msgstr "Katkesta" -#: src/component/photo/edit/details.vue:87 src/component/photo/edit/info.vue:61 +#: src/common/util.js:863 src/common/util.js:870 +msgid "Cannot copy to clipboard" +msgstr "Ei saa kopeerida lõikelauale" + +#: src/component/photo/edit/details.vue:89 src/component/photo/edit/info.vue:63 #: src/component/photo/edit/labels.vue:42 #: src/component/photo/view/cards.vue:445 src/component/sidebar/info.vue:72 msgid "Caption" @@ -614,17 +635,17 @@ msgstr "Kaardid" msgid "Carousel slide {0} of {1}" msgstr "Karussell slaid {0} of {1}" -#: src/page/about/feedback.vue:82 src/page/about/feedback.vue:83 -#: src/component/album/edit/dialog.vue:128 src/component/photo/toolbar.vue:397 +#: src/page/about/feedback.vue:83 src/page/about/feedback.vue:84 +#: src/component/album/edit/dialog.vue:129 src/component/photo/toolbar.vue:399 #: src/page/albums.vue:187 msgid "Category" msgstr "Kategooria" -#: src/component/user/edit/dialog.vue:191 src/page/settings/account.vue:201 +#: src/component/user/edit/dialog.vue:192 src/page/settings/account.vue:201 msgid "Change Avatar" msgstr "Muuda profiilipilti" -#: src/page/settings/account.vue:297 src/component/settings/password.vue:48 +#: src/page/settings/account.vue:297 src/component/settings/password.vue:49 msgid "Change Password" msgstr "Muuda parool" @@ -641,17 +662,17 @@ msgid "Change private flag" msgstr "Muuda isiklikkust" #: src/component/user/add/dialog.vue:108 src/component/user/add/dialog.vue:113 -#: src/component/user/edit/dialog.vue:90 src/component/user/edit/dialog.vue:95 +#: src/component/user/edit/dialog.vue:91 src/component/user/edit/dialog.vue:96 #: src/page/settings/account.vue:121 src/page/settings/account.vue:126 msgid "Changes could not be saved" msgstr "Muudatuste salvestamine ebaõnnestus" -#: src/component/user/edit/dialog.vue:83 src/component/user/edit/dialog.vue:159 +#: src/component/user/edit/dialog.vue:84 src/component/user/edit/dialog.vue:160 #: src/component/album/edit/dialog.vue:73 -#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1941 +#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1961 #: src/component/photo/edit/files.vue:162 src/component/service/edit.vue:90 #: src/component/share/dialog.vue:92 src/component/share/dialog.vue:111 -#: src/page/albums.vue:677 src/page/people/recognized.vue:119 +#: src/page/albums.vue:688 src/page/people/recognized.vue:119 #: src/page/settings/advanced.vue:62 src/page/settings/content.vue:62 #: src/page/settings/general.vue:108 msgid "Changes successfully saved" @@ -665,7 +686,7 @@ msgstr "Täiustatud seadete muutmine nõuab jõustumiseks taaskäivitamist." msgid "Checked" msgstr "Kontrollitud" -#: src/component/photo/edit/files.vue:495 +#: src/component/photo/edit/files.vue:497 msgid "Chroma" msgstr "Värviküllastus" @@ -681,24 +702,24 @@ msgstr "Puhastamine" msgid "Clear {0}" msgstr "Clear {0}" -#: src/options/auth.js:11 src/options/auth.js:23 src/options/auth.js:43 +#: src/options/auth.js:12 src/options/auth.js:24 src/options/auth.js:44 msgid "Client" msgstr "Klient" -#: src/options/auth.js:24 +#: src/options/auth.js:25 msgid "Client Credentials" msgstr "Kliendi volitused" -#: src/page/admin/sessions.vue:529 src/component/lightbox.vue:284 -#: src/component/lightbox.vue:1009 src/component/lightbox.vue:1010 -#: src/component/photo/edit/details.vue:627 src/component/photo/toolbar.vue:160 -#: src/component/settings/apps.vue:224 src/component/settings/apps.vue:437 -#: src/component/settings/passcode.vue:148 -#: src/component/settings/passcode.vue:456 -#: src/component/settings/passcode.vue:497 -#: src/component/settings/webdav.vue:131 src/component/share/dialog.vue:231 +#: src/component/user/edit/dialog.vue:474 src/page/admin/sessions.vue:536 +#: src/component/lightbox.vue:284 src/component/lightbox.vue:1009 +#: src/component/lightbox.vue:1010 src/component/photo/edit/details.vue:601 +#: src/component/photo/toolbar.vue:161 src/component/settings/apps.vue:227 +#: src/component/settings/apps.vue:440 src/component/settings/passcode.vue:151 +#: src/component/settings/passcode.vue:459 +#: src/component/settings/passcode.vue:500 +#: src/component/settings/webdav.vue:132 src/component/share/dialog.vue:231 #: src/component/sidebar/info.vue:26 src/component/update.vue:57 -#: src/component/upload/dialog.vue:228 src/locales.js:206 +#: src/component/upload/dialog.vue:230 src/locales.js:206 #: src/page/library/errors.vue:253 msgid "Close" msgstr "Sulge" @@ -707,11 +728,11 @@ msgstr "Sulge" msgid "Codec" msgstr "Koodek" -#: src/component/photo/toolbar.vue:369 +#: src/component/photo/toolbar.vue:371 msgid "Color" msgstr "Värv" -#: src/component/photo/edit/files.vue:483 +#: src/component/photo/edit/files.vue:485 msgid "Color Profile" msgstr "Värviprofiil" @@ -719,7 +740,7 @@ msgstr "Värviprofiil" msgid "Colors" msgstr "Värvid" -#: src/page/connect.vue:260 src/page/connect.vue:269 +#: src/page/connect.vue:262 src/page/connect.vue:271 msgid "Compare Editions" msgstr "Võrdle versioone" @@ -732,17 +753,18 @@ msgstr "Täielik taasskannimine" msgid "Confidence" msgstr "Kindlus" +#: src/component/location/dialog.vue:212 #: src/component/photo/album/dialog.vue:90 -#: src/component/settings/passcode.vue:261 +#: src/component/settings/passcode.vue:264 msgid "Confirm" msgstr "Kinnita" -#: src/component/service/add.vue:20 src/page/settings/services.vue:187 +#: src/component/service/add.vue:20 src/page/settings/services.vue:191 msgid "Connect" msgstr "Ühenda" -#: src/page/settings/account.vue:401 src/component/settings/webdav.vue:45 -#: src/page/settings/services.vue:167 +#: src/page/settings/account.vue:406 src/component/settings/webdav.vue:46 +#: src/page/settings/services.vue:170 msgid "Connect via WebDAV" msgstr "Ühenda WebDAV-i kaudu" @@ -750,22 +772,22 @@ msgstr "Ühenda WebDAV-i kaudu" msgid "Connected" msgstr "Ühendatud" -#: src/page/settings/account.vue:640 src/page/settings/account.vue:532 +#: src/page/settings/account.vue:646 src/page/settings/account.vue:538 msgid "Contact Details" msgstr "Kontaktandmed" -#: src/page/about/feedback.vue:37 src/page/connect.vue:132 -#: src/page/connect.vue:136 +#: src/page/about/feedback.vue:37 src/page/connect.vue:133 +#: src/page/connect.vue:137 msgid "Contact Us" msgstr "Võta meiega ühendust" #: src/page/albums.vue:433 src/page/labels.vue:237 -#: src/page/people/recognized.vue:306 +#: src/page/people/recognized.vue:310 msgid "Contains %{n} pictures." msgstr "Sisaldab %{n} pilti." #: src/page/albums.vue:427 src/page/labels.vue:231 -#: src/page/people/recognized.vue:300 +#: src/page/people/recognized.vue:304 msgid "Contains one picture." msgstr "Sisaldab ühte pilti." @@ -773,7 +795,7 @@ msgstr "Sisaldab ühte pilti." msgid "Content" msgstr "Sisu" -#: src/component/settings/apps.vue:163 +#: src/component/settings/apps.vue:166 msgid "Continue" msgstr "Jätka" @@ -781,7 +803,7 @@ msgstr "Jätka" msgid "Continue with %{provider}" msgstr "Jätka %{provider}" -#: src/options/admin.js:18 src/options/auth.js:9 +#: src/options/admin.js:22 src/options/auth.js:10 msgid "Contributor" msgstr "Toetaja" @@ -789,15 +811,15 @@ msgstr "Toetaja" msgid "Converting" msgstr "Konverteerimine" -#: src/common/util.js:846 +#: src/common/util.js:856 msgid "Copied to clipboard" msgstr "Kopeeritud lõikelauale" -#: src/component/settings/apps.vue:250 src/component/settings/passcode.vue:358 +#: src/component/settings/apps.vue:253 src/component/settings/passcode.vue:361 msgid "Copy" msgstr "Kopeeri" -#: src/component/photo/edit/details.vue:516 +#: src/component/photo/edit/details.vue:490 msgid "Copyright" msgstr "Autoriõigus" @@ -805,8 +827,8 @@ msgstr "Autoriõigus" msgid "Couldn't find anything." msgstr "Midagi ei leitud." -#: src/page/settings/account.vue:685 src/component/photo/edit/details.vue:242 -#: src/component/photo/toolbar.vue:203 src/page/settings/account.vue:577 +#: src/page/settings/account.vue:691 src/component/photo/edit/details.vue:268 +#: src/component/photo/toolbar.vue:205 src/page/settings/account.vue:583 msgid "Country" msgstr "Riik" @@ -830,7 +852,7 @@ msgstr "Loo YAML-failid albumite metaandmete varundamiseks." msgid "Create YAML sidecar files to back up picture metadata." msgstr "Loo YAML-sidekartiifailid pildi metaandmete varundamiseks." -#: src/page/admin/sessions.vue:417 src/component/photo/edit/info.vue:412 +#: src/page/admin/sessions.vue:422 src/component/photo/edit/info.vue:412 msgid "Created" msgstr "Lisatud" @@ -842,11 +864,11 @@ msgstr "Pisipiltide loomine:" msgid "Cubic: Moderate Quality, Good Performance" msgstr "Cubic: mõõdukas kvaliteet, hea jõudlus" -#: src/component/settings/password.vue:85 +#: src/component/settings/password.vue:86 msgid "Current Password" msgstr "Praegune parool" -#: src/options/themes.js:919 src/options/themes.js:928 +#: src/options/themes.js:920 src/options/themes.js:929 msgid "Custom" msgstr "Kohandatud" @@ -862,11 +884,11 @@ msgstr "Üks kord päevas" msgid "Database Backups" msgstr "Andmebaasi varukoopiad" -#: src/page/settings/account.vue:450 src/component/photo/edit/details.vue:110 +#: src/page/settings/account.vue:456 src/component/photo/edit/details.vue:112 msgid "Day" msgstr "Päev" -#: src/component/settings/passcode.vue:445 +#: src/component/settings/passcode.vue:448 msgid "Deactivate" msgstr "Deaktiveeri" @@ -874,36 +896,40 @@ msgstr "Deaktiveeri" msgid "Debug Logs" msgstr "Tõrkeotsingu logid" -#: src/options/admin.js:31 src/page/admin/sessions.vue:136 -#: src/page/admin/users.vue:176 src/component/photo/edit/info.vue:47 +#: src/options/admin.js:35 src/page/admin/sessions.vue:136 +#: src/page/admin/users.vue:178 src/component/photo/edit/info.vue:47 #: src/component/photo/edit/info.vue:110 src/model/session.js:66 -#: src/model/user.js:246 src/options/auth.js:20 src/options/auth.js:21 -#: src/options/auth.js:39 src/options/auth.js:40 src/options/options.js:196 +#: src/model/user.js:246 src/options/auth.js:21 src/options/auth.js:22 +#: src/options/auth.js:40 src/options/auth.js:41 src/options/options.js:196 #: src/options/options.js:232 src/options/options.js:316 -#: src/options/themes.js:773 +#: src/options/themes.js:774 msgid "Default" msgstr "Vaikimisi" -#: src/component/service/edit.vue:123 +#: src/component/service/edit.vue:124 msgid "Default Folder" msgstr "Vaikimisi kaust" #: src/component/session/remove/dialog.vue:56 #: src/component/user/remove/dialog.vue:56 src/component/album/clipboard.vue:97 -#: src/component/album/delete/dialog.vue:54 -#: src/component/file/delete/dialog.vue:58 src/component/label/clipboard.vue:58 -#: src/component/label/delete/dialog.vue:58 +#: src/component/album/delete/dialog.vue:54 src/component/album/toolbar.vue:137 +#: src/component/file/delete/dialog.vue:59 src/component/label/clipboard.vue:58 +#: src/component/label/delete/dialog.vue:59 #: src/component/photo/clipboard.vue:168 src/component/photo/edit/files.vue:238 -#: src/component/service/remove.vue:60 src/component/share/dialog.vue:170 +#: src/component/service/remove.vue:61 src/component/share/dialog.vue:170 #: src/page/settings/general.vue:457 msgid "Delete" msgstr "Kustuta" +#: src/component/album/toolbar.vue:133 +msgid "Delete Album" +msgstr "Kustuta album" + #: src/component/photo/toolbar.vue:119 src/page/library/errors.vue:95 msgid "Delete All" msgstr "Kustuta kõik" -#: src/component/photo/toolbar.vue:433 src/page/library/errors.vue:193 +#: src/component/photo/toolbar.vue:435 src/page/library/errors.vue:193 msgid "Delete all?" msgstr "Kustutada kõik?" @@ -911,16 +937,16 @@ msgstr "Kustutada kõik?" msgid "Delete orphaned index entries, sidecar files and thumbnails." msgstr "Kustutage orbude indeksikanded, külgmised failid ja pisipildid." -#: src/component/album/edit/dialog.vue:107 src/page/albums.vue:411 +#: src/component/album/edit/dialog.vue:108 src/page/albums.vue:411 msgid "Description" msgstr "Kirjeldus" -#: src/component/settings/webdav.vue:115 +#: src/component/settings/webdav.vue:116 msgid "Detailed instructions can be found in our User Guide." msgstr "Üksikasjalikud juhised leiad meie kasutajajuhendist." -#: src/component/photo/edit/dialog.vue:156 -#: src/component/photo/edit/dialog.vue:173 +#: src/component/photo/edit/dialog.vue:162 +#: src/component/photo/edit/dialog.vue:181 msgid "Details" msgstr "Üksikasjad" @@ -984,8 +1010,8 @@ msgstr "Lülitab vektorgraafika toetuse välja." msgid "Disables video transcoding and thumbnail extraction." msgstr "Lülitab välja video transkodeerimise ja pisipildi väljavõtte." -#: src/app/routes.js:558 src/app/routes.js:565 src/app/routes.js:572 -#: src/app/routes.js:579 +#: src/app/routes.js:566 src/app/routes.js:573 src/app/routes.js:580 +#: src/app/routes.js:587 msgid "Discover" msgstr "Avasta" @@ -993,9 +1019,9 @@ msgstr "Avasta" msgid "Dismiss" msgstr "Lase lahti" -#: src/component/user/add/dialog.vue:133 src/component/user/add/dialog.vue:134 -#: src/component/user/edit/dialog.vue:163 -#: src/component/user/edit/dialog.vue:164 src/page/admin/users.vue:72 +#: src/component/user/add/dialog.vue:134 src/component/user/add/dialog.vue:135 +#: src/component/user/edit/dialog.vue:164 +#: src/component/user/edit/dialog.vue:165 src/page/admin/users.vue:74 #: src/page/settings/account.vue:149 src/page/settings/account.vue:151 msgid "Display Name" msgstr "Esitusnimi" @@ -1010,12 +1036,12 @@ msgstr "Pildi pealkirjade kuvamine otsingutulemustes." #: src/component/photo/view/cards.vue:339 #: src/component/photo/view/cards.vue:521 -#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:174 +#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:176 #: src/options/options.js:309 msgid "Document" msgstr "Dokument" -#: src/component/navigation.vue:480 +#: src/component/navigation.vue:482 msgid "Documents" msgstr "Dokumendid" @@ -1031,16 +1057,16 @@ msgstr "Ärge kasutage ImageMagicki piltide teisendamiseks." msgid "Don't use RawTherapee to convert RAW images." msgstr "Ärge kasutage RawTherapee't RAW-piltide teisendamiseks." -#: src/component/settings/apps.vue:238 src/component/share/dialog.vue:29 +#: src/component/settings/apps.vue:241 src/component/share/dialog.vue:29 msgid "Done" msgstr "Tehtud" -#: src/component/upload/dialog.vue:135 src/page/library/import.vue:46 +#: src/component/upload/dialog.vue:137 src/page/library/import.vue:46 #: src/page/library/index.vue:52 msgid "Done." msgstr "Tehtud." -#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:118 +#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:123 #: src/component/file/clipboard.vue:48 src/component/lightbox.vue:1235 #: src/component/people/clipboard.vue:47 src/component/photo/clipboard.vue:116 #: src/component/photo/edit/files.vue:168 src/page/settings/content.vue:331 @@ -1052,7 +1078,7 @@ msgstr "Laadi alla" msgid "Download only original media files, without any automatically generated files." msgstr "Laadige alla ainult originaalsed meediafailid, ilma automaatselt genereeritud failideta." -#: src/component/service/edit.vue:237 +#: src/component/service/edit.vue:238 msgid "Download remote files" msgstr "Laadi alla kaugfailid" @@ -1060,9 +1086,9 @@ msgstr "Laadi alla kaugfailid" msgid "Download single files and zip archives." msgstr "Laadi alla üksikuid faile ja ZIP-arhiive." -#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:157 +#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:172 #: src/component/file/clipboard.vue:61 src/component/label/clipboard.vue:86 -#: src/component/lightbox.vue:2021 src/component/people/clipboard.vue:59 +#: src/component/lightbox.vue:2041 src/component/people/clipboard.vue:59 #: src/component/photo/clipboard.vue:220 src/component/photo/edit/files.vue:119 #: src/component/photo/view/cards.vue:169 src/component/photo/view/list.vue:142 #: src/page/library/browse.vue:139 @@ -1077,7 +1103,7 @@ msgstr "Skaleerimisfilter" msgid "Drag and drop files here" msgstr "Lohistage failid siia" -#: src/page/about/feedback.vue:61 +#: src/page/about/feedback.vue:62 msgid "Due to the high volume of emails we receive, our team may be unable to get back to you immediately." msgstr "Meile saabuvate e-kirjade suure hulga tõttu ei pruugi meie meeskond olla võimeline kohe vastama." @@ -1097,23 +1123,23 @@ msgstr "Dünaamilised eelvaated" msgid "Dynamic Size Limit: %{n}px" msgstr "Dünaamiline suuruse limiit: %{n}px" -#: src/page/about/feedback.vue:141 src/page/about/feedback.vue:140 +#: src/page/about/feedback.vue:142 src/page/about/feedback.vue:141 msgid "E-Mail" msgstr "E-post" -#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:89 +#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:94 #: src/component/lightbox.vue:1136 src/component/lightbox.vue:1137 #: src/component/photo/clipboard.vue:90 src/page/settings/general.vue:407 msgid "Edit" msgstr "Muuda" -#: src/component/album/edit/dialog.vue:54 -#: src/component/label/edit/dialog.vue:52 -#: src/component/people/edit/dialog.vue:52 +#: src/component/album/edit/dialog.vue:55 +#: src/component/label/edit/dialog.vue:53 +#: src/component/people/edit/dialog.vue:53 msgid "Edit %{s}" msgstr "Muuda %{s}" -#: src/component/user/edit/dialog.vue:61 src/component/service/edit.vue:79 +#: src/component/user/edit/dialog.vue:62 src/component/service/edit.vue:79 msgid "Edit Account" msgstr "Konto muutmine" @@ -1125,8 +1151,8 @@ msgstr "Foto muutmine" msgid "Edited" msgstr "Muudetud" -#: src/component/user/add/dialog.vue:151 src/component/user/edit/dialog.vue:213 -#: src/page/settings/account.vue:171 src/page/settings/account.vue:593 +#: src/component/user/add/dialog.vue:152 src/component/user/edit/dialog.vue:214 +#: src/page/settings/account.vue:171 src/page/settings/account.vue:599 msgid "Email" msgstr "E-post" @@ -1142,7 +1168,7 @@ msgstr "Võta kasutusele uued funktsioonid, mis võivad olla ebatäielikud või msgid "Enables RAW converter presets. May reduce performance." msgstr "Lubab RAW-konverteri eelseadistused. Võib vähendada jõudlust." -#: src/component/settings/passcode.vue:127 +#: src/component/settings/passcode.vue:130 msgid "Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account." msgstr "Kahefaktorilise autentimise lubamine tähendab, et sisselogimiseks vajate juhuslikult genereeritud kinnituskoodi, nii et isegi kui keegi saab juurdepääsu teie paroolile, ei pääse ta teie kontole juurde." @@ -1154,7 +1180,7 @@ msgstr "Sisestage kuupäev" msgid "Enter dates" msgstr "Sisestage kuupäevad" -#: src/component/settings/passcode.vue:213 src/page/auth/login.vue:104 +#: src/component/settings/passcode.vue:216 src/page/auth/login.vue:104 msgid "Enter the code generated by your authenticator app:" msgstr "Sisestage autentimisrakenduse poolt genereeritud kood:" @@ -1162,7 +1188,7 @@ msgstr "Sisestage autentimisrakenduse poolt genereeritud kood:" msgid "Enter verification code" msgstr "Sisesta kontrollkood" -#: src/component/settings/apps.vue:109 +#: src/component/settings/apps.vue:112 msgid "Enter your password to confirm the action and continue:" msgstr "Toimingu kinnitamiseks ja jätkamiseks sisestage oma parool:" @@ -1171,7 +1197,7 @@ msgstr "Toimingu kinnitamiseks ja jätkamiseks sisestage oma parool:" msgid "Error" msgstr "Viga" -#: src/app/routes.js:374 src/component/navigation.vue:1348 +#: src/app/routes.js:382 src/component/navigation.vue:1372 msgid "Errors" msgstr "Vead" @@ -1207,13 +1233,13 @@ msgstr "Metaandmete ekstraheerimine ExifTooliga on vajalik täieliku video-, liv msgid "Experimental Features" msgstr "Eksperimentaalsed funktsioonid" -#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:453 -#: src/component/service/edit.vue:157 src/component/settings/apps.vue:73 -#: src/component/settings/apps.vue:326 src/component/share/dialog.vue:62 +#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:458 +#: src/component/service/edit.vue:158 src/component/settings/apps.vue:73 +#: src/component/settings/apps.vue:329 src/component/share/dialog.vue:62 msgid "Expires" msgstr "Aegub" -#: src/component/photo/edit/details.vue:396 +#: src/component/photo/edit/details.vue:370 msgid "Exposure" msgstr "Säriaeg" @@ -1221,7 +1247,7 @@ msgstr "Säriaeg" msgid "Extract still images and generate thumbnails while indexing." msgstr "Väljavõte fotodest ja pisipiltide genereerimine indekseerimise ajal." -#: src/component/photo/edit/details.vue:444 +#: src/component/photo/edit/details.vue:418 msgid "F Number" msgstr "F-number" @@ -1237,7 +1263,7 @@ msgstr "Näod" msgid "Failed removing link" msgstr "Lingi eemaldamine ebaõnnestus" -#: src/page/connect.vue:106 src/page/connect.vue:110 +#: src/page/connect.vue:107 src/page/connect.vue:111 msgid "Failed to connect account." msgstr "Konto ühendamine ebaõnnestus." @@ -1245,8 +1271,8 @@ msgstr "Konto ühendamine ebaõnnestus." msgid "Failed updating link" msgstr "Lingi uuendamine ebaõnnestus" -#: src/component/user/edit/dialog.vue:143 -#: src/component/user/edit/dialog.vue:144 src/page/settings/account.vue:128 +#: src/component/user/edit/dialog.vue:144 +#: src/component/user/edit/dialog.vue:145 src/page/settings/account.vue:128 #: src/page/settings/account.vue:130 msgid "Family Name" msgstr "Perekonnanimi" @@ -1255,15 +1281,15 @@ msgstr "Perekonnanimi" msgid "Fast" msgstr "Kiire" -#: src/component/album/edit/dialog.vue:159 -#: src/component/label/edit/dialog.vue:85 -#: src/component/people/edit/dialog.vue:85 +#: src/component/album/edit/dialog.vue:160 +#: src/component/label/edit/dialog.vue:86 +#: src/component/people/edit/dialog.vue:86 #: src/component/photo/edit/info.vue:287 msgid "Favorite" msgstr "Lemmik" -#: src/app/routes.js:222 src/component/navigation.vue:893 -#: src/options/options.js:202 src/page/albums.vue:97 +#: src/app/routes.js:230 src/component/navigation.vue:903 +#: src/options/options.js:202 src/page/albums.vue:98 msgid "Favorites" msgstr "Lemmikud" @@ -1271,7 +1297,7 @@ msgstr "Lemmikud" msgid "Feature Request" msgstr "Funktsiooni taotlus" -#: src/component/navigation.vue:1456 +#: src/component/navigation.vue:1482 msgid "Feedback" msgstr "Tagasiside" @@ -1279,11 +1305,12 @@ msgstr "Tagasiside" msgid "Female" msgstr "Naine" -#: src/component/photo/edit/info.vue:214 src/model/file.js:290 +#: src/component/photo/edit/info.vue:57 src/component/photo/edit/info.vue:214 +#: src/model/file.js:290 msgid "File" msgstr "Fail" -#: src/app/routes.js:343 +#: src/app/routes.js:351 msgid "File Browser" msgstr "Failibrauser" @@ -1306,8 +1333,8 @@ msgstr "Faili suurus" msgid "Filename" msgstr "Failinimi" -#: src/component/navigation.vue:1930 src/component/photo/edit/dialog.vue:267 -#: src/component/photo/edit/dialog.vue:284 +#: src/component/navigation.vue:1973 src/component/photo/edit/dialog.vue:279 +#: src/component/photo/edit/dialog.vue:298 msgid "Files" msgstr "Failid" @@ -1319,26 +1346,26 @@ msgstr "Järjestikuste nimedega failid nagu 'IMG_1234 (2)' ja 'IMG_1234 (3)' kuu msgid "First page" msgstr "Esimene lehekülg" -#: src/component/photo/edit/details.vue:465 +#: src/component/photo/edit/details.vue:439 msgid "Focal Length" msgstr "Fookuskaugus" -#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:118 -#: src/component/service/edit.vue:189 src/component/service/edit.vue:194 -#: src/component/service/upload.vue:90 src/component/service/upload.vue:96 +#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:119 +#: src/component/service/edit.vue:190 src/component/service/edit.vue:195 +#: src/component/service/upload.vue:91 src/component/service/upload.vue:97 #: src/model/folder.js:199 src/page/library/browse.vue:182 msgid "Folder" msgstr "Kaust" -#: src/page/library/browse.vue:365 +#: src/page/library/browse.vue:367 msgid "Folder contains %{n} files" msgstr "Kaust sisaldab %{n} faili" -#: src/page/library/browse.vue:356 +#: src/page/library/browse.vue:358 msgid "Folder is empty" msgstr "Kaust on tühi" -#: src/app/routes.js:202 src/component/navigation.vue:1225 +#: src/app/routes.js:210 src/component/navigation.vue:1247 #: src/options/options.js:207 msgid "Folders" msgstr "Kaustad" @@ -1355,7 +1382,7 @@ msgstr "Kaadrisagedus" msgid "Frames" msgstr "Kaadrid" -#: src/options/auth.js:54 src/options/auth.js:64 +#: src/options/auth.js:55 src/options/auth.js:65 msgid "Full Access" msgstr "Täielik juurdepääs" @@ -1367,7 +1394,7 @@ msgstr "Täisekraan" msgid "General" msgstr "Üldised" -#: src/component/settings/apps.vue:364 +#: src/component/settings/apps.vue:367 msgid "Generate" msgstr "Genereeri" @@ -1387,8 +1414,8 @@ msgstr "Genereeritud" msgid "Get Started" msgstr "Alusta" -#: src/component/user/edit/dialog.vue:120 -#: src/component/user/edit/dialog.vue:121 src/page/settings/account.vue:106 +#: src/component/user/edit/dialog.vue:121 +#: src/component/user/edit/dialog.vue:122 src/page/settings/account.vue:106 #: src/page/settings/account.vue:108 msgid "Given Name" msgstr "Eesnimi" @@ -1413,7 +1440,7 @@ msgstr "Roheline" msgid "Grey" msgstr "Hall" -#: src/options/admin.js:22 src/options/auth.js:10 +#: src/options/admin.js:26 src/options/auth.js:11 msgid "Guest" msgstr "Külaline" @@ -1429,15 +1456,15 @@ msgstr "Abi" msgid "Help & Support" msgstr "Abi ja tugi" -#: src/component/navigation.vue:1327 src/component/people/edit/dialog.vue:98 +#: src/component/navigation.vue:1351 src/component/people/edit/dialog.vue:99 msgid "Hidden" msgstr "Peidetud" -#: src/app/routes.js:358 +#: src/app/routes.js:366 msgid "Hidden Files" msgstr "Peidetud failid" -#: src/page/people/new.vue:165 src/page/people/recognized.vue:205 +#: src/page/people/new.vue:166 src/page/people/recognized.vue:206 msgid "Hide" msgstr "Peida" @@ -1453,7 +1480,7 @@ msgstr "Kõrge" msgid "High Dynamic Range (HDR)" msgstr "Lai dünaamiline diapasoon (HDR)" -#: src/page/about/feedback.vue:103 +#: src/page/about/feedback.vue:104 msgid "How can we help?" msgstr "Kuidas me saame aidata?" @@ -1461,11 +1488,11 @@ msgstr "Kuidas me saame aidata?" msgid "Hybrid" msgstr "Hübriid" -#: src/component/settings/passcode.vue:389 +#: src/component/settings/passcode.vue:392 msgid "If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account." msgstr "Kui kaotate juurdepääsu autentimisrakendusele või -seadmele, saate oma kontole juurdepääsu taastamiseks kasutada taastekoodi." -#: src/component/photo/edit/info.vue:63 src/component/photo/edit/labels.vue:46 +#: src/component/photo/edit/info.vue:65 src/component/photo/edit/labels.vue:46 #: src/component/photo/view/cards.vue:532 src/model/file.js:218 #: src/options/options.js:281 msgid "Image" @@ -1475,7 +1502,7 @@ msgstr "Pilt" msgid "Image Quality" msgstr "Pildi kvaliteet" -#: src/page/library.vue:46 src/page/library/import.vue:152 +#: src/page/library.vue:46 src/page/library/import.vue:153 #: src/page/settings/general.vue:357 msgid "Import" msgstr "Import" @@ -1500,8 +1527,8 @@ msgstr "%{s} importimine…" msgid "Importing files to originals…" msgstr "Failide importimine originaalidesse…" -#: src/component/photo/edit/files.vue:515 -#: src/component/photo/edit/files.vue:520 +#: src/component/photo/edit/files.vue:517 +#: src/component/photo/edit/files.vue:522 msgid "in" msgstr "ajaga" @@ -1519,11 +1546,11 @@ msgstr "Kaasa RAW-pildifailid virnade ja arhiivide allalaadimisel." msgid "Include sidecar files when downloading stacks and archives." msgstr "Kaasa külgkorvifailid virnade ja arhiivide allalaadimisel." -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Increase storage size or delete files to continue." msgstr "Jätkamiseks suurendage salvestusruumi suurust või kustutage faile." -#: src/component/navigation.vue:1946 src/page/library.vue:36 +#: src/component/navigation.vue:1990 src/page/library.vue:36 #: src/page/settings/content.vue:34 msgid "Index" msgstr "Indeks" @@ -1553,11 +1580,11 @@ msgstr "Teave" msgid "Instance ID" msgstr "Eksemplari ID" -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Insufficient storage." msgstr "Ebapiisav ladustamine." -#: src/component/service/edit.vue:209 +#: src/component/service/edit.vue:210 msgid "Interval" msgstr "Intervall" @@ -1578,7 +1605,7 @@ msgstr "Vale aadress" msgid "Invalid country" msgstr "Vale riik" -#: src/component/photo/edit/details.vue:174 +#: src/component/photo/edit/details.vue:169 msgid "Invalid date" msgstr "Vigane kuupäev" @@ -1587,7 +1614,7 @@ msgstr "Vigane kuupäev" msgid "Invalid parameters" msgstr "Vigased parameetrid" -#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:197 +#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:199 msgid "Invalid photo selected" msgstr "Vigane foto valitud" @@ -1599,8 +1626,8 @@ msgstr "Vale aeg" msgid "Invalid URL" msgstr "Vale URL aadress" -#: src/component/settings/passcode.vue:314 -#: src/component/settings/passcode.vue:391 +#: src/component/settings/passcode.vue:317 +#: src/component/settings/passcode.vue:394 msgid "It is a one-time use code that will disable 2FA for your account when you use it." msgstr "See on ühekordne kood, mis keelab teie kontol 2FA, kui seda kasutate." @@ -1624,7 +1651,7 @@ msgstr "JPEG suuruse limiit: %{n}px" msgid "JPEGs and thumbnails are automatically rendered as needed." msgstr "JPEG- ja pisipildid renderdatakse automaatselt vastavalt vajadusele." -#: src/component/photo/edit/details.vue:581 +#: src/component/photo/edit/details.vue:555 msgid "Keywords" msgstr "Märksõnad" @@ -1633,9 +1660,9 @@ msgstr "Märksõnad" msgid "Label" msgstr "Silt" -#: src/app/routes.js:389 src/component/navigation.vue:1177 -#: src/component/photo/edit/dialog.vue:188 -#: src/component/photo/edit/dialog.vue:205 src/options/options.js:206 +#: src/app/routes.js:397 src/component/navigation.vue:1197 +#: src/component/photo/edit/dialog.vue:196 +#: src/component/photo/edit/dialog.vue:215 src/options/options.js:206 #: src/page/settings/general.vue:255 msgid "Labels" msgstr "Sildid" @@ -1652,11 +1679,11 @@ msgstr "Lanczos: detailide säilitamine, minimaalsed artefaktid" msgid "Language" msgstr "Keel" -#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:435 +#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:440 msgid "Last Active" msgstr "Viimane aktiivne" -#: src/page/admin/users.vue:81 +#: src/page/admin/users.vue:83 msgid "Last Login" msgstr "Viimane sisselogimine" @@ -1672,42 +1699,41 @@ msgstr "Viimane sünkroonimine" msgid "Last Used" msgstr "Viimati kasutatud" -#: src/component/photo/edit/details.vue:298 #: src/component/photo/edit/info.vue:373 msgid "Latitude" msgstr "Laiuskraad" -#: src/options/admin.js:43 src/options/auth.js:29 +#: src/options/admin.js:47 src/options/auth.js:30 msgid "LDAP/AD" msgstr "LDAP/AD" -#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:86 -#: src/page/about/about.vue:62 src/page/about/about.vue:132 +#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:87 +#: src/page/about/about.vue:62 src/page/about/about.vue:133 #: src/page/connect.vue:67 src/page/help.vue:36 msgid "Learn more" msgstr "Lisateave" -#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:135 +#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:137 #: src/page/labels.vue:132 msgid "Learn More" msgstr "Lisateave" -#: src/component/navigation.vue:2017 +#: src/component/navigation.vue:2066 msgid "Legal Information" msgstr "Õigusalane teave" -#: src/component/photo/edit/details.vue:417 +#: src/component/photo/edit/details.vue:391 #: src/component/photo/view/cards.vue:480 msgid "Lens" msgstr "Objektiiv" -#: src/app/routes.js:443 src/app/routes.js:459 src/app/routes.js:475 -#: src/component/navigation.vue:1267 src/page/settings/general.vue:507 +#: src/app/routes.js:451 src/app/routes.js:467 src/app/routes.js:483 +#: src/component/navigation.vue:1290 src/page/settings/general.vue:507 msgid "Library" msgstr "Fototeek" #: src/page/connect.vue:45 src/app/routes.js:69 -#: src/component/navigation.vue:1478 src/component/photo/edit/details.vue:559 +#: src/component/navigation.vue:1504 src/component/photo/edit/details.vue:533 #: src/page/about/license.vue:28 msgid "License" msgstr "Litsents" @@ -1720,7 +1746,7 @@ msgstr "Meeldib" msgid "Lime" msgstr "Laimiroheline" -#: src/page/library/browse.vue:369 +#: src/page/library/browse.vue:371 msgid "Limit reached, showing first %{n} files" msgstr "Limiit saavutatud, näidatakse esimest %{n} faili" @@ -1728,7 +1754,7 @@ msgstr "Limiit saavutatud, näidatakse esimest %{n} faili" msgid "Linear: Very Smooth, Best Performance" msgstr "Lineaarne: väga sujuv, parim jõudlus" -#: src/model/link.js:117 src/options/auth.js:30 src/options/auth.js:31 +#: src/model/link.js:117 src/options/auth.js:31 src/options/auth.js:32 msgid "Link" msgstr "Link" @@ -1746,7 +1772,7 @@ msgstr "Nimekirja vaade" msgid "Live" msgstr "Live" -#: src/app/routes.js:236 src/component/navigation.vue:749 +#: src/app/routes.js:244 src/component/navigation.vue:755 msgid "Live Photos" msgstr "Liikuvad fotod" @@ -1762,21 +1788,24 @@ msgstr "Laadimine..." msgid "Loading..." msgstr "Laadimine..." -#: src/options/admin.js:35 src/options/auth.js:22 src/options/auth.js:27 +#: src/options/admin.js:39 src/options/auth.js:23 src/options/auth.js:28 #: src/options/options.js:38 src/page/settings/general.vue:107 msgid "Local" msgstr "Kohalik" -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Local Time" msgstr "Kohalik aeg" -#: src/page/settings/account.vue:665 src/page/settings/account.vue:667 -#: src/component/album/edit/dialog.vue:92 src/component/photo/edit/info.vue:65 -#: src/component/photo/edit/labels.vue:48 +#: src/page/settings/account.vue:671 src/page/settings/account.vue:673 +#: src/component/album/edit/dialog.vue:93 +#: src/component/photo/edit/details.vue:38 +#: src/component/photo/edit/details.vue:116 +#: src/component/photo/edit/details.vue:210 +#: src/component/photo/edit/info.vue:67 src/component/photo/edit/labels.vue:48 #: src/component/photo/view/cards.vue:555 src/component/photo/view/list.vue:117 -#: src/component/sidebar/info.vue:107 src/page/albums.vue:99 -#: src/page/settings/account.vue:557 src/page/settings/account.vue:559 +#: src/component/sidebar/info.vue:107 src/page/albums.vue:100 +#: src/page/settings/account.vue:563 src/page/settings/account.vue:565 msgid "Location" msgstr "Asukoht" @@ -1784,20 +1813,19 @@ msgstr "Asukoht" msgid "Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues." msgstr "Siia ilmuvad logiteated, kui PhotoPrism leiab katkiseid faile või kui esineb muid probleeme." -#: src/component/navigation.vue:1552 src/component/navigation.vue:1840 +#: src/component/navigation.vue:1579 src/component/navigation.vue:1877 msgid "Login" msgstr "Logi sisse" -#: src/component/navigation.vue:1759 +#: src/component/navigation.vue:1791 msgid "Logout" msgstr "Logi välja" -#: src/component/navigation.vue:1962 src/page/library.vue:59 +#: src/component/navigation.vue:2007 src/page/library.vue:59 #: src/page/settings/general.vue:557 msgid "Logs" msgstr "Logid" -#: src/component/photo/edit/details.vue:324 #: src/component/photo/edit/info.vue:379 msgid "Longitude" msgstr "Pikkuskraad" @@ -1810,7 +1838,7 @@ msgstr "Madal" msgid "Magenta" msgstr "Magenta" -#: src/component/photo/edit/files.vue:489 +#: src/component/photo/edit/files.vue:491 msgid "Main Color" msgstr "Põhivärv" @@ -1818,12 +1846,16 @@ msgstr "Põhivärv" msgid "Male" msgstr "Mees" -#: src/page/connect.vue:164 src/page/connect.vue:246 -#: src/page/about/about.vue:171 src/page/connect.vue:168 -#: src/page/connect.vue:255 +#: src/page/connect.vue:165 src/page/connect.vue:248 +#: src/page/about/about.vue:173 src/page/connect.vue:169 +#: src/page/connect.vue:257 msgid "Manage Account" msgstr "Halda kontot" +#: src/options/admin.js:10 src/options/auth.js:7 +msgid "Manager" +msgstr "Juht" + #: src/component/photo/edit/info.vue:49 src/component/photo/edit/labels.vue:38 msgid "Manual" msgstr "Käsitsi" @@ -1840,11 +1872,11 @@ msgstr "Kaardid" msgid "Marker" msgstr "Märk" -#: src/component/user/add/dialog.vue:69 +#: src/component/user/add/dialog.vue:70 msgid "Maximum number of accounts has been reached." msgstr "Maksimaalne kontode arv on saavutatud." -#: src/app/routes.js:229 src/component/navigation.vue:688 +#: src/app/routes.js:237 src/component/navigation.vue:693 #: src/options/options.js:199 msgid "Media" msgstr "Meedia" @@ -1861,7 +1893,7 @@ msgstr "Liikmelisus" msgid "Merge %{a} with %{b}?" msgstr "Ühendada %{a} ja %{b}?" -#: src/page/about/feedback.vue:102 +#: src/page/about/feedback.vue:103 msgid "Message" msgstr "Sõnum" @@ -1873,7 +1905,7 @@ msgstr "Sõnum saadetud" msgid "Metadata" msgstr "Metaandmed" -#: src/options/auth.js:56 src/options/auth.js:72 +#: src/options/auth.js:57 src/options/auth.js:73 msgid "Metrics" msgstr "Mõõdikud" @@ -1881,7 +1913,7 @@ msgstr "Mõõdikud" msgid "Minimize" msgstr "Minimeeri" -#: src/component/photo/edit/files.vue:509 src/component/photo/edit/info.vue:367 +#: src/component/photo/edit/files.vue:511 src/component/photo/edit/info.vue:367 msgid "Missing" msgstr "Puudub" @@ -1889,17 +1921,17 @@ msgstr "Puudub" msgid "Missing or invalid configuration" msgstr "Puuduv või vigane konfiguratsioon" -#: src/app/routes.js:163 src/component/navigation.vue:1129 +#: src/app/routes.js:171 src/component/navigation.vue:1147 #: src/options/options.js:205 src/page/settings/general.vue:230 msgid "Moments" msgstr "Hetked" -#: src/component/navigation.vue:383 +#: src/component/navigation.vue:385 msgid "Monochrome" msgstr "Mustvalge" -#: src/page/settings/account.vue:475 src/component/photo/edit/details.vue:137 -#: src/component/photo/toolbar.vue:342 +#: src/page/settings/account.vue:481 src/component/photo/edit/details.vue:139 +#: src/component/photo/toolbar.vue:344 msgid "Month" msgstr "Kuu" @@ -1919,7 +1951,7 @@ msgstr "Asjakohasemad eespool" msgid "Move Files" msgstr "Liiguta failid" -#: src/component/settings/password.vue:107 +#: src/component/settings/password.vue:108 msgid "Must have at least %{n} characters." msgstr "Peab olema vähemalt %{n} tähemärki." @@ -1927,20 +1959,20 @@ msgstr "Peab olema vähemalt %{n} tähemärki." msgid "Mute" msgstr "Mute" -#: src/page/about/feedback.vue:121 src/page/about/feedback.vue:122 -#: src/component/album/edit/dialog.vue:77 -#: src/component/label/edit/dialog.vue:71 -#: src/component/people/edit/dialog.vue:71 -#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:57 +#: src/page/about/feedback.vue:122 src/page/about/feedback.vue:123 +#: src/component/album/edit/dialog.vue:78 +#: src/component/label/edit/dialog.vue:72 +#: src/component/people/edit/dialog.vue:72 +#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:59 #: src/component/photo/edit/info.vue:125 src/component/photo/edit/people.vue:36 -#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:310 -#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:286 -#: src/page/albums.vue:98 src/page/auth/login.vue:168 +#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:311 +#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:289 +#: src/page/albums.vue:99 src/page/auth/login.vue:168 #: src/page/people/new.vue:68 src/page/settings/services.vue:37 msgid "Name" msgstr "Nimi" -#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:60 +#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:65 #: src/component/label/edit/dialog.vue:19 #: src/component/people/edit/dialog.vue:19 #: src/component/photo/edit/labels.vue:30 @@ -1950,7 +1982,7 @@ msgstr "Nimi" msgid "Name too long" msgstr "Nimi on liiga pikk" -#: src/page/admin/users.vue:204 src/options/options.js:361 +#: src/page/admin/users.vue:206 src/options/options.js:361 #: src/options/options.js:371 src/page/settings/services.vue:75 msgid "Never" msgstr "Mitte kunagi" @@ -1959,13 +1991,13 @@ msgstr "Mitte kunagi" msgid "New" msgstr "Uus" -#: src/component/settings/password.vue:106 +#: src/component/settings/password.vue:107 msgid "New Password" msgstr "Uus parool" #: src/component/album/edit/dialog.vue:24 src/component/photo/toolbar.vue:114 #: src/component/photo/toolbar.vue:126 src/component/photo/toolbar.vue:136 -#: src/page/albums.vue:100 +#: src/page/albums.vue:101 msgid "Newest First" msgstr "Uuemad eespool" @@ -1981,15 +2013,15 @@ msgstr "Järgmine lehekülg" msgid "Next visual" msgstr "Järgmine visuaalne" -#: src/component/people/merge/dialog.vue:47 -#: src/component/photo/archive/dialog.vue:47 +#: src/component/people/merge/dialog.vue:48 +#: src/component/photo/archive/dialog.vue:48 #: src/component/photo/edit/info.vue:281 src/component/photo/edit/info.vue:297 #: src/component/photo/edit/info.vue:313 src/component/photo/edit/info.vue:329 #: src/component/photo/edit/info.vue:344 msgid "No" msgstr "Ei" -#: src/page/albums.vue:607 src/page/albums.vue:282 +#: src/page/albums.vue:612 src/page/albums.vue:282 msgid "No albums found" msgstr "Albumeid ei leitud" @@ -1997,7 +2029,7 @@ msgstr "Albumeid ei leitud" msgid "No data available" msgstr "Andmed puuduvad" -#: src/page/labels.vue:523 src/page/labels.vue:155 +#: src/page/labels.vue:528 src/page/labels.vue:155 msgid "No labels found" msgstr "Silte ei leitud" @@ -2010,15 +2042,15 @@ msgid "No more" msgstr "Enam ei ole" #: src/component/photo/edit/people.vue:34 src/page/people/new.vue:346 -#: src/page/people/new.vue:443 src/page/people/new.vue:103 -#: src/page/people/recognized.vue:531 src/page/people/recognized.vue:146 +#: src/page/people/new.vue:446 src/page/people/new.vue:103 +#: src/page/people/recognized.vue:536 src/page/people/recognized.vue:146 msgid "No people found" msgstr "Inimesi ei leitud" #: src/component/lightbox.vue:365 src/component/photo/view/cards.vue:144 #: src/component/photo/view/list.vue:82 src/component/photo/view/mosaic.vue:68 -#: src/page/album/photos.vue:488 src/page/library/browse.vue:123 -#: src/page/photos.vue:626 src/page/places.vue:624 src/page/places.vue:730 +#: src/page/album/photos.vue:499 src/page/library/browse.vue:123 +#: src/page/photos.vue:636 src/page/places.vue:624 src/page/places.vue:730 msgid "No pictures found" msgstr "Pilte ei leitud" @@ -2027,7 +2059,11 @@ msgstr "Pilte ei leitud" msgid "No recently edited pictures" msgstr "Hiljuti muudetud pilte ei ole" -#: src/component/navigation.vue:1655 +#: src/component/location/dialog.vue:166 +msgid "No results" +msgstr "Tulemusi ei ole" + +#: src/component/navigation.vue:1686 msgid "No server connection" msgstr "Serveriühendus puudub" @@ -2039,7 +2075,7 @@ msgstr "Ühtegi serverit pole seadistatud." msgid "No services configured." msgstr "Ühtegi teenust pole seadistatud." -#: src/component/confirm/sponsor.vue:72 +#: src/component/confirm/sponsor.vue:73 msgid "No thanks" msgstr "Ei aitäh" @@ -2049,17 +2085,17 @@ msgstr "Seda märksõna sisaldavaid hoiatusi või vigu ei ole. Pane tähele, et #: src/component/photo/view/cards.vue:154 src/component/photo/view/list.vue:59 #: src/component/photo/view/list.vue:92 src/component/photo/view/mosaic.vue:78 -#: src/component/upload/dialog.vue:208 +#: src/component/upload/dialog.vue:210 msgid "Non-photographic and low-quality images require a review before they appear in search results." msgstr "Mittefotograafilised ja madala kvaliteediga pildid tuleb üle vaadata, enne kui nad otsingutulemustes ilmuvad." -#: src/options/admin.js:47 src/options/auth.js:32 src/options/options.js:212 +#: src/options/admin.js:51 src/options/auth.js:33 src/options/options.js:212 #: src/options/options.js:328 msgid "None" msgstr "Puudub" -#: src/common/util.js:853 src/component/lightbox.vue:633 -#: src/component/service/upload.vue:75 src/component/service/upload.vue:87 +#: src/component/lightbox.vue:633 src/component/service/upload.vue:75 +#: src/component/service/upload.vue:87 msgid "Not allowed" msgstr "Ei ole lubatud" @@ -2071,8 +2107,7 @@ msgstr "Ei leitud" msgid "Not sorted." msgstr "Ei ole sorteeritud." -#: src/common/util.js:858 src/component/lightbox.vue:627 -#: src/component/lightbox.vue:744 +#: src/component/lightbox.vue:627 src/component/lightbox.vue:744 msgid "Not supported" msgstr "Ei toetata" @@ -2080,15 +2115,15 @@ msgstr "Ei toetata" msgid "Note you may manually manage your originals folder and importing is optional." msgstr "Pane tähele, et võid originaalide kausta käsitsi hallata, importimine on vabatahtlik." -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "Note:" msgstr "Märkus:" -#: src/component/service/add.vue:120 +#: src/component/service/add.vue:121 msgid "Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload." msgstr "Märkus: Ainult WebDAV servereid, nagu Nextcloud või PhotoPrism, saab seadistada kaugteenusena varundamiseks ja failide üleslaadimiseks." -#: src/component/photo/edit/details.vue:603 +#: src/component/photo/edit/details.vue:577 msgid "Notes" msgstr "Märkused" @@ -2096,8 +2131,8 @@ msgstr "Märkused" msgid "Nothing to see here yet." msgstr "Siin pole veel midagi näha." -#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:115 -#: src/component/settings/apps.vue:390 +#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:125 +#: src/component/settings/apps.vue:393 msgid "Nothing was found." msgstr "Midagi ei leitud." @@ -2105,7 +2140,7 @@ msgstr "Midagi ei leitud." msgid "Offline" msgstr "Võrguühenduseta" -#: src/options/admin.js:39 src/options/auth.js:28 +#: src/options/admin.js:43 src/options/auth.js:29 msgid "OIDC" msgstr "OIDC" @@ -2115,11 +2150,11 @@ msgstr "OK" #: src/component/album/edit/dialog.vue:25 src/component/photo/toolbar.vue:115 #: src/component/photo/toolbar.vue:127 src/component/photo/toolbar.vue:137 -#: src/page/albums.vue:101 +#: src/page/albums.vue:102 msgid "Oldest First" msgstr "Vanemad eespool" -#: src/component/settings/webdav.vue:77 +#: src/component/settings/webdav.vue:78 msgid "On Windows, enter the following resource in the connection dialog:" msgstr "Windowsis sisestage ühendusdialoogi järgmine ressurss:" @@ -2131,11 +2166,11 @@ msgstr "Väikepiltide nõudmisel genereerimine võib põhjustada suurt protsesso msgid "Once a week" msgstr "Üks kord nädalas" -#: src/page/albums.vue:609 +#: src/page/albums.vue:614 msgid "One album found" msgstr "Üks album leitud" -#: src/page/library/browse.vue:358 +#: src/page/library/browse.vue:360 msgid "One file found" msgstr "Üks fail leitud" @@ -2143,24 +2178,24 @@ msgstr "Üks fail leitud" msgid "One file uploaded" msgstr "Üks fail üles laaditud" -#: src/page/library/browse.vue:360 +#: src/page/library/browse.vue:362 msgid "One folder found" msgstr "Üks kaust leitud" -#: src/page/labels.vue:525 +#: src/page/labels.vue:530 msgid "One label found" msgstr "Üks silt leitud" -#: src/page/people/new.vue:348 src/page/people/new.vue:445 -#: src/page/people/recognized.vue:533 +#: src/page/people/new.vue:348 src/page/people/new.vue:448 +#: src/page/people/recognized.vue:538 msgid "One person found" msgstr "Üks inimene leitud" -#: src/page/album/photos.vue:490 src/page/photos.vue:628 +#: src/page/album/photos.vue:501 src/page/photos.vue:638 msgid "One picture found" msgstr "Üks pilt leitud" -#: src/component/settings/passcode.vue:478 +#: src/component/settings/passcode.vue:481 msgid "Only locally managed accounts can be set up for authentication with 2FA." msgstr "2FA-ga autentimiseks saab seadistada ainult lokaalselt hallatud kontosid." @@ -2168,7 +2203,7 @@ msgstr "2FA-ga autentimiseks saab seadistada ainult lokaalselt hallatud kontosid msgid "Open" msgstr "Avatud" -#: src/component/service/add.vue:86 src/component/service/add.vue:107 +#: src/component/service/add.vue:87 src/component/service/add.vue:108 msgid "optional" msgstr "vabatahtlik" @@ -2180,7 +2215,7 @@ msgstr "või" msgid "Orange" msgstr "Oranžikas" -#: src/page/settings/account.vue:571 src/page/settings/account.vue:573 +#: src/page/settings/account.vue:577 src/page/settings/account.vue:579 msgid "Organization" msgstr "Organisatsioon" @@ -2196,7 +2231,7 @@ msgstr "Failide algsed nimed salvestatakse ja indekseeritakse." msgid "Original Name" msgstr "Esialgne nimi" -#: src/component/navigation.vue:1304 src/model/file.js:196 +#: src/component/navigation.vue:1328 src/model/file.js:196 #: src/options/options.js:413 src/page/library/browse.vue:65 #: src/page/settings/content.vue:356 src/page/settings/general.vue:532 msgid "Originals" @@ -2207,7 +2242,7 @@ msgstr "Originaalid" msgid "Other" msgstr "Muu" -#: src/page/about/about.vue:77 src/page/about/about.vue:83 +#: src/page/about/about.vue:78 src/page/about/about.vue:84 msgid "Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible." msgstr "Meie eesmärk on pakkuda kõige kasutajasõbralikumat ja privaatsussõbralikumat lahendust, et hoida teie pilte korrastatuna ja kättesaadavana." @@ -2219,7 +2254,7 @@ msgstr "Loodus" msgid "Page {0}, Current page" msgstr "Lehekülg {0}, Praegune lehekülg" -#: src/component/photo/edit/files.vue:352 src/model/photo.js:859 +#: src/component/photo/edit/files.vue:352 src/model/photo.js:896 msgid "Pages" msgstr "Leheküljed" @@ -2231,15 +2266,15 @@ msgstr "Lehekülgede navigeerimine" msgid "Panorama" msgstr "Panoraam" -#: src/component/navigation.vue:402 +#: src/component/navigation.vue:404 msgid "Panoramas" msgstr "Panoraamid" -#: src/component/user/add/dialog.vue:114 src/component/user/add/dialog.vue:115 -#: src/component/service/add.vue:106 src/component/service/edit.vue:352 -#: src/component/settings/apps.vue:121 src/component/settings/passcode.vue:106 -#: src/component/settings/passcode.vue:413 src/component/share/dialog.vue:27 -#: src/options/auth.js:91 src/page/auth/login.vue:196 +#: src/component/user/add/dialog.vue:115 src/component/user/add/dialog.vue:116 +#: src/component/service/add.vue:107 src/component/service/edit.vue:353 +#: src/component/settings/apps.vue:124 src/component/settings/passcode.vue:109 +#: src/component/settings/passcode.vue:416 src/component/share/dialog.vue:27 +#: src/options/auth.js:92 src/page/auth/login.vue:196 msgid "Password" msgstr "Parool" @@ -2247,9 +2282,9 @@ msgstr "Parool" msgid "Password changed" msgstr "Parool muudetud" -#: src/app/routes.js:404 src/app/routes.js:428 src/component/navigation.vue:845 -#: src/component/navigation.vue:1898 src/component/photo/edit/dialog.vue:228 -#: src/component/photo/edit/dialog.vue:245 src/options/options.js:201 +#: src/app/routes.js:412 src/app/routes.js:436 src/component/navigation.vue:853 +#: src/component/navigation.vue:1939 src/component/photo/edit/dialog.vue:238 +#: src/component/photo/edit/dialog.vue:257 src/options/options.js:201 #: src/page/settings/general.vue:180 msgid "People" msgstr "Inimesed" @@ -2270,23 +2305,23 @@ msgstr "Kustuta failid lõplikult, et vabastada salvestusruumi." msgid "Person" msgstr "Isik" -#: src/options/auth.js:42 +#: src/options/auth.js:43 msgid "Personal" msgstr "Isiklik" -#: src/model/photo.js:1273 +#: src/model/photo.js:1310 msgid "Photo" msgstr "Foto" -#: src/page/about/about.vue:156 +#: src/page/about/about.vue:158 msgid "PhotoPrism is 100% self-funded and independent." msgstr "PhotoPrism on 100% omafinantseeringuline ja sõltumatu." -#: src/page/about/about.vue:92 +#: src/page/about/about.vue:93 msgid "PhotoPrism+ Membership" msgstr "PhotoPrism+ liikmelisus" -#: src/app/routes.js:156 +#: src/app/routes.js:164 msgid "Photos" msgstr "Fotod" @@ -2307,27 +2342,27 @@ msgstr "Koht" msgid "Place & Time" msgstr "Koht ja aeg" -#: src/app/routes.js:303 src/app/routes.js:309 src/app/routes.js:315 -#: src/app/routes.js:330 src/component/navigation.vue:986 -#: src/component/navigation.vue:1914 src/options/options.js:203 +#: src/app/routes.js:311 src/app/routes.js:317 src/app/routes.js:323 +#: src/app/routes.js:338 src/component/navigation.vue:999 +#: src/component/navigation.vue:1956 src/options/options.js:203 #: src/page/places.vue:51 src/page/settings/general.vue:609 #: src/page/settings/general.vue:638 msgid "Places" msgstr "Kohad" -#: src/component/settings/password.vue:129 +#: src/component/settings/password.vue:130 msgid "Please confirm your new password." msgstr "Palun kinnita oma uus parool." -#: src/component/settings/apps.vue:185 +#: src/component/settings/apps.vue:188 msgid "Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:" msgstr "Kopeerige järgmine juhuslikult loodud rakenduse parool ja hoidke seda kindlas kohas, kuna te ei saa seda enam näha." -#: src/component/upload/dialog.vue:203 +#: src/component/upload/dialog.vue:205 msgid "Please do not upload any private, unlawful or offensive pictures." msgstr "Palun ärge laadige üles privaatseid, ebaseaduslikke või solvavaid pilte." -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Please don't upload photos containing offensive content." msgstr "Palun ära laadi üles solvava sisuga fotosid." @@ -2335,11 +2370,11 @@ msgstr "Palun ära laadi üles solvava sisuga fotosid." msgid "Please enter OTP character {0}" msgstr "Palun sisestage OTP märk {0}" -#: src/component/settings/password.vue:66 +#: src/component/settings/password.vue:67 msgid "Please note that changing your password will log you out on other devices and browsers." msgstr "Pane tähele, et parooli muutmine logib sind teistes seadmetes ja brauserites välja." -#: src/page/connect.vue:148 src/page/connect.vue:152 +#: src/page/connect.vue:149 src/page/connect.vue:153 msgid "Please restart your instance for the changes to take effect." msgstr "Palun taaskäivitage oma instants, et muudatused jõustuksid." @@ -2359,11 +2394,11 @@ msgstr "PNG suuruse limiit: %{n}px" msgid "Portrait" msgstr "Püstformaat" -#: src/component/service/edit.vue:273 +#: src/component/service/edit.vue:274 msgid "Preserve filenames" msgstr "Säilita failinimed" -#: src/component/upload/dialog.vue:162 +#: src/component/upload/dialog.vue:164 msgid "Press enter to create a new album." msgstr "Uue albumi lisamiseks vajuta Enter." @@ -2400,8 +2435,8 @@ msgstr "Eelmine visuaalne" msgid "Primary" msgstr "Primaarne" -#: src/app/routes.js:271 src/component/album/edit/dialog.vue:176 -#: src/component/navigation.vue:531 src/component/photo/edit/info.vue:303 +#: src/app/routes.js:279 src/component/album/edit/dialog.vue:177 +#: src/component/navigation.vue:533 src/component/photo/edit/info.vue:303 #: src/page/settings/general.vue:280 msgid "Private" msgstr "Isiklik" @@ -2426,7 +2461,7 @@ msgstr "Kvaliteedifilter" msgid "Quality Score" msgstr "Kvaliteediskoor" -#: src/page/admin/users.vue:169 +#: src/page/admin/users.vue:171 msgid "r" msgstr "r" @@ -2457,7 +2492,7 @@ msgstr "Kirjutuskaitserežiim" #: src/component/album/edit/dialog.vue:26 src/component/photo/toolbar.vue:116 #: src/component/photo/toolbar.vue:128 src/component/photo/toolbar.vue:138 -#: src/page/albums.vue:102 +#: src/page/albums.vue:103 msgid "Recently Added" msgstr "Hiljuti lisatud" @@ -2465,7 +2500,7 @@ msgstr "Hiljuti lisatud" msgid "Recently Archived" msgstr "Hiljuti arhiveeritud" -#: src/component/photo/toolbar.vue:139 src/page/albums.vue:103 +#: src/component/photo/toolbar.vue:139 src/page/albums.vue:104 msgid "Recently Edited" msgstr "Hiljuti muudetud" @@ -2490,24 +2525,24 @@ msgstr "Taastamiskood" msgid "Red" msgstr "Punane" -#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:126 -#: src/component/album/toolbar.vue:79 src/component/photo/toolbar.vue:169 -#: src/page/albums.vue:173 src/page/labels.vue:112 +#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:128 +#: src/component/album/toolbar.vue:84 src/component/photo/toolbar.vue:169 +#: src/page/albums.vue:175 src/page/labels.vue:112 #: src/page/library/browse.vue:90 src/page/library/errors.vue:81 #: src/page/people/new.vue:54 src/page/people/recognized.vue:88 msgid "Refresh" msgstr "Värskenda" -#: src/app/routes.js:337 src/component/navigation.vue:943 -#: src/component/navigation.vue:1026 +#: src/app/routes.js:345 src/component/navigation.vue:955 +#: src/component/navigation.vue:1040 msgid "Regions" msgstr "Piirkonnad" -#: src/page/connect.vue:275 src/page/connect.vue:284 +#: src/page/connect.vue:277 src/page/connect.vue:286 msgid "Register" msgstr "Registreeri" -#: src/component/navigation.vue:1773 src/component/update.vue:68 +#: src/component/navigation.vue:1806 src/component/update.vue:68 msgid "Reload" msgstr "Laadi uuesti" @@ -2552,34 +2587,34 @@ msgstr "Nõuda mittefotograafiliste ja madala kvaliteediga piltide läbivaatamis msgid "Resolution" msgstr "Resolutsioon" -#: src/page/connect.vue:179 src/page/connect.vue:183 +#: src/page/connect.vue:180 src/page/connect.vue:184 #: src/page/settings/advanced.vue:782 msgid "Restart" msgstr "Restart" -#: src/component/user/edit/dialog.vue:485 src/component/lightbox.vue:1221 +#: src/component/user/edit/dialog.vue:488 src/component/lightbox.vue:1221 #: src/component/photo/clipboard.vue:77 msgid "Restore" msgstr "Taasta" -#: src/component/lightbox.vue:2000 +#: src/component/lightbox.vue:2020 msgid "Restored" msgstr "Taastatud" -#: src/component/service/edit.vue:428 +#: src/component/service/edit.vue:429 msgid "Retry Limit" msgstr "Korduvkatsete limiit" -#: src/component/settings/password.vue:128 +#: src/component/settings/password.vue:129 msgid "Retype Password" msgstr "Parool uuesti" -#: src/app/routes.js:264 src/component/navigation.vue:505 +#: src/app/routes.js:272 src/component/navigation.vue:507 msgid "Review" msgstr "Läbivaatamine" -#: src/component/user/add/dialog.vue:171 src/component/user/edit/dialog.vue:284 -#: src/page/admin/sessions.vue:262 src/page/admin/users.vue:73 +#: src/component/user/add/dialog.vue:172 src/component/user/edit/dialog.vue:285 +#: src/page/admin/sessions.vue:263 src/page/admin/users.vue:75 msgid "Role" msgstr "Role" @@ -2591,11 +2626,11 @@ msgstr "Rida lehekülje kohta:" msgid "Satellite" msgstr "Satelliit" -#: src/component/user/edit/dialog.vue:485 -#: src/component/album/edit/dialog.vue:211 -#: src/component/label/edit/dialog.vue:119 -#: src/component/people/edit/dialog.vue:132 src/component/service/edit.vue:466 -#: src/component/settings/password.vue:172 src/component/share/dialog.vue:181 +#: src/component/user/edit/dialog.vue:488 +#: src/component/album/edit/dialog.vue:212 +#: src/component/label/edit/dialog.vue:120 +#: src/component/people/edit/dialog.vue:133 src/component/service/edit.vue:467 +#: src/component/settings/password.vue:173 src/component/share/dialog.vue:181 msgid "Save" msgstr "Salvesta" @@ -2603,23 +2638,23 @@ msgstr "Salvesta" msgid "Scan" msgstr "Skannitud" -#: src/component/settings/passcode.vue:179 +#: src/component/settings/passcode.vue:182 msgid "Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:" msgstr "Skannige QR-kood oma autentimisrakendusega või kasutage allpool näidatud seadistusvõtit ja sisestage seejärel loodud kinnituskood:" -#: src/component/navigation.vue:461 +#: src/component/navigation.vue:463 msgid "Scans" msgstr "Skannid" -#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:377 -#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:310 +#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:381 +#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:313 msgid "Scope" msgstr "Reguleerimisala" -#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:62 -#: src/component/navigation.vue:342 src/component/navigation.vue:1866 -#: src/component/photo/toolbar.vue:57 src/options/options.js:197 -#: src/page/albums.vue:100 src/page/labels.vue:77 +#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:69 +#: src/component/location/dialog.vue:133 src/component/navigation.vue:343 +#: src/component/navigation.vue:1905 src/component/photo/toolbar.vue:57 +#: src/options/options.js:197 src/page/albums.vue:100 src/page/labels.vue:77 #: src/page/library/errors.vue:76 src/page/people/recognized.vue:66 #: src/page/places.vue:79 src/page/settings/content.vue:235 msgid "Search" @@ -2657,11 +2692,11 @@ msgstr "Valige kuupäev" msgid "Select dates" msgstr "Valige kuupäevad" -#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:154 +#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:156 msgid "Select or create an album" msgstr "Valige või looge album" -#: src/component/upload/dialog.vue:138 +#: src/component/upload/dialog.vue:140 msgid "Select the files to upload…" msgstr "Valige üleslaaditavad failid…" @@ -2689,7 +2724,7 @@ msgstr "Valik taastatud" msgid "Sequential Name" msgstr "Järjestikune nimi" -#: src/component/service/add.vue:67 src/component/service/edit.vue:322 +#: src/component/service/add.vue:68 src/component/service/edit.vue:323 #: src/component/share/dialog.vue:25 msgid "Service URL" msgstr "Teenuse URL" @@ -2698,7 +2733,7 @@ msgstr "Teenuse URL" msgid "Services" msgstr "Teenused" -#: src/model/session.js:107 src/options/auth.js:41 src/options/auth.js:90 +#: src/model/session.js:107 src/options/auth.js:42 src/options/auth.js:91 msgid "Session" msgstr "Sessioon" @@ -2706,7 +2741,7 @@ msgstr "Sessioon" msgid "Session ID" msgstr "Seansi ID" -#: src/page/admin.vue:45 +#: src/page/admin.vue:44 msgid "Sessions" msgstr "Sessioonid" @@ -2714,22 +2749,22 @@ msgstr "Sessioonid" msgid "Set as Album Cover" msgstr "Komplekt albumikaanena" -#: src/app/routes.js:101 src/app/routes.js:492 src/app/routes.js:504 -#: src/app/routes.js:521 src/app/routes.js:534 src/app/routes.js:547 -#: src/component/navigation.vue:1394 src/component/navigation.vue:1806 +#: src/app/routes.js:101 src/app/routes.js:500 src/app/routes.js:512 +#: src/app/routes.js:529 src/app/routes.js:542 src/app/routes.js:555 +#: src/component/navigation.vue:1419 src/component/navigation.vue:1841 msgid "Settings" msgstr "Seaded" #: src/page/settings/account.vue:115 src/page/settings/account.vue:144 -#: src/component/settings/passcode.vue:147 +#: src/component/settings/passcode.vue:151 msgid "Settings saved" msgstr "Seaded salvestatud" -#: src/component/service/upload.vue:131 src/component/settings/passcode.vue:160 +#: src/component/service/upload.vue:132 src/component/settings/passcode.vue:163 msgid "Setup" msgstr "Seadista" -#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:98 +#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:103 #: src/component/photo/clipboard.vue:51 src/page/settings/general.vue:382 msgid "Share" msgstr "Jaga" @@ -2746,7 +2781,7 @@ msgstr "Jaga oma pilte teiste rakenduste ja teenustega." msgid "Show" msgstr "Näita" -#: src/page/people/new.vue:116 src/page/people/new.vue:233 +#: src/page/people/new.vue:116 src/page/people/new.vue:235 msgid "Show all new faces" msgstr "Näita kõiki uusi nägusid" @@ -2791,7 +2826,7 @@ msgid "Similar" msgstr "Sarnased" #: src/component/photo/edit/files.vue:51 src/component/photo/edit/files.vue:341 -#: src/component/service/edit.vue:139 src/component/sidebar/info.vue:96 +#: src/component/service/edit.vue:140 src/component/sidebar/info.vue:96 msgid "Size" msgstr "Suurus" @@ -2819,7 +2854,7 @@ msgstr "Midagi läks valesti, proovige uuesti" msgid "Sort by" msgstr "Sorteerimine" -#: src/component/album/edit/dialog.vue:142 src/component/photo/toolbar.vue:288 +#: src/component/album/edit/dialog.vue:143 src/component/photo/toolbar.vue:290 #: src/page/albums.vue:214 msgid "Sort Order" msgstr "Järjekord" @@ -2854,7 +2889,7 @@ msgstr "Pane virna metaandmete alusel täpselt samal ajal ja samas kohas tehtud msgid "Stackable" msgstr "Virnastatav" -#: src/component/navigation.vue:421 src/page/settings/content.vue:136 +#: src/component/navigation.vue:423 src/page/settings/content.vue:136 msgid "Stacks" msgstr "Virnad" @@ -2882,16 +2917,16 @@ msgstr "Asukoht" msgid "Streets" msgstr "Tänavad" -#: src/component/photo/edit/details.vue:494 +#: src/component/photo/edit/details.vue:468 #: src/component/photo/edit/labels.vue:44 msgid "Subject" msgstr "Subjekt" -#: src/page/about/feedback.vue:162 src/page/about/feedback.vue:163 +#: src/page/about/feedback.vue:163 src/page/about/feedback.vue:164 msgid "Submit" msgstr "Esita" -#: src/component/settings/passcode.vue:132 +#: src/component/settings/passcode.vue:136 msgid "Successfully activated" msgstr "Edukalt aktiveeritud" @@ -2900,23 +2935,23 @@ msgid "Successfully Connected" msgstr "Edukalt ühendatud" #: src/component/session/remove/dialog.vue:32 -#: src/component/settings/apps.vue:218 +#: src/component/settings/apps.vue:222 msgid "Successfully deleted" msgstr "Edukalt kustutatud" -#: src/component/settings/passcode.vue:107 +#: src/component/settings/passcode.vue:108 msgid "Successfully verified" msgstr "Edukalt kinnitatud" -#: src/component/user/edit/dialog.vue:398 src/page/admin/users.vue:163 +#: src/component/user/edit/dialog.vue:399 src/page/admin/users.vue:165 msgid "Super Admin" msgstr "Super Admin" -#: src/component/service/add.vue:122 +#: src/component/service/add.vue:123 msgid "Support for additional services, like Google Drive, will be added over time." msgstr "Tugi täiendavatele teenustele nagu Google Drive lisandub aja jooksul." -#: src/component/confirm/sponsor.vue:37 src/component/navigation.vue:1629 +#: src/component/confirm/sponsor.vue:38 src/component/navigation.vue:1660 msgid "Support Our Mission" msgstr "Toeta meie missiooni" @@ -2924,7 +2959,7 @@ msgstr "Toeta meie missiooni" msgid "Sync" msgstr "Sünkroonimine" -#: src/component/service/edit.vue:289 +#: src/component/service/edit.vue:290 msgid "Sync raw and video files" msgstr "Sünkrooni RAW ja videofaile" @@ -2950,23 +2985,23 @@ msgstr "Maastik" msgid "Text" msgstr "Tekst" -#: src/component/photo/edit/details.vue:32 src/page/people/new.vue:71 +#: src/component/photo/edit/details.vue:40 src/page/people/new.vue:71 msgid "Text too long" msgstr "Tekst on liiga pikk" -#: src/page/about/about.vue:145 +#: src/page/about/about.vue:146 msgid "Thank You for Your Support!" msgstr "Täname teie toetuse eest!" -#: src/page/about/about.vue:79 src/page/about/about.vue:85 +#: src/page/about/about.vue:80 src/page/about/about.vue:86 msgid "That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality." msgstr "Seepärast on PhotoPrism loodud algusest peale nii, et see töötab kõikjal, kus te seda vajate, ilma et see ohustaks vabadust, privaatsust või funktsionaalsust." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "The index currently contains %{n} hidden files." msgstr "Indeks sisaldab praegu %{n} peidetud faili." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates." msgstr "Nende formaat ei pruugi olla toetatud, neid ei ole veel JPEG-vormingusse konverteeritud või on olemas duplikaadid." @@ -2981,44 +3016,44 @@ msgstr "Välimus" msgid "This field is required" msgstr "See väli on kohustuslik" -#: src/component/settings/webdav.vue:100 src/page/settings/services.vue:144 +#: src/component/settings/webdav.vue:101 src/page/settings/services.vue:147 msgid "This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local." msgstr "See ühendab originaalide kausta võrgukettana ja võimaldab avada, muuta ja kustutada faile arvutist või nutitelefonist, nagu oleksid need kohalikud." -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Time UTC" msgstr "UTC aeg" -#: src/component/photo/edit/details.vue:219 src/page/settings/general.vue:108 +#: src/component/photo/edit/details.vue:221 src/page/settings/general.vue:108 msgid "Time Zone" msgstr "Ajavöönd" -#: src/component/service/edit.vue:408 +#: src/component/service/edit.vue:409 msgid "Timeout" msgstr "Ajalõpp" -#: src/component/user/edit/dialog.vue:98 src/component/user/edit/dialog.vue:99 +#: src/component/user/edit/dialog.vue:99 src/component/user/edit/dialog.vue:100 #: src/page/settings/account.vue:84 src/page/settings/account.vue:86 msgctxt "Account" msgid "Title" msgstr "Tiitel" -#: src/component/photo/edit/details.vue:73 +#: src/component/photo/edit/details.vue:75 msgctxt "Photo" msgid "Title" msgstr "Pealkiri" -#: src/component/photo/edit/info.vue:59 src/component/photo/edit/info.vue:155 +#: src/component/photo/edit/info.vue:61 src/component/photo/edit/info.vue:155 #: src/component/photo/edit/labels.vue:40 src/component/photo/view/list.vue:114 #: src/component/sidebar/info.vue:57 msgid "Title" msgstr "Pealkiri" -#: src/page/settings/account.vue:553 src/page/settings/account.vue:555 +#: src/page/settings/account.vue:559 src/page/settings/account.vue:561 msgid "Title / Position" msgstr "Tiitel / ametikoht" -#: src/page/albums.vue:83 +#: src/page/albums.vue:84 msgid "Title too long" msgstr "Pealkiri on liiga pikk" @@ -3026,19 +3061,19 @@ msgstr "Pealkiri on liiga pikk" msgid "to" msgstr "aadressile" -#: src/component/settings/passcode.vue:312 +#: src/component/settings/passcode.vue:315 msgid "To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place." msgstr "Kontole juurdepääsu vältimiseks laadige see taastekood kohe alla, printige või kopeerige ja hoidke seda turvalises kohas." -#: src/component/settings/apps.vue:272 +#: src/component/settings/apps.vue:275 msgid "To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:" msgstr "Uue rakendusepõhise parooli loomiseks sisestage rakenduse nimi ja volituse ulatus ning valige aegumiskuupäev:" -#: src/component/settings/passcode.vue:400 +#: src/component/settings/passcode.vue:403 msgid "To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:" msgstr "Uuele autentimisrakendusele või seadmele lülitumiseks deaktiveerige esmalt kahefaktoriline autentimine ja seejärel taasaktiveerige." -#: src/page/connect.vue:221 src/page/connect.vue:230 +#: src/page/connect.vue:223 src/page/connect.vue:232 msgid "To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:" msgstr "Uuendamiseks saate kas sisestada aktiveerimiskoodi või klõpsata \"Registreeri\", et registreeruda meie veebisaidil:" @@ -3046,7 +3081,7 @@ msgstr "Uuendamiseks saate kas sisestada aktiveerimiskoodi või klõpsata \"Regi msgid "Today" msgstr "Täna" -#: src/component/album/toolbar.vue:70 src/component/photo/toolbar.vue:78 +#: src/component/album/toolbar.vue:71 src/component/photo/toolbar.vue:78 msgid "Toggle View" msgstr "Muuda vaadet" @@ -3073,20 +3108,24 @@ msgstr "Veaotsing" msgid "Try again using other filters or keywords." msgstr "Proovi uuesti, kasutades teisi filtreid või märksõnu." -#: src/component/settings/passcode.vue:380 +#: src/component/settings/passcode.vue:383 msgid "Two-factor authentication has been enabled for your account." msgstr "Teie konto jaoks on lubatud kahefaktoriline autentimine." #: src/component/photo/edit/files.vue:58 src/component/photo/edit/files.vue:330 -#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:388 +#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:389 msgid "Type" msgstr "Tüüp" -#: src/options/auth.js:13 +#: src/component/album/toolbar.vue:178 +msgid "Unable to delete" +msgstr "Ei saa kustutada" + +#: src/options/auth.js:14 msgid "Unauthorized" msgstr "Autoriseerimata" -#: src/component/photo/edit/people.vue:94 +#: src/component/photo/edit/people.vue:95 msgid "Undo" msgstr "Võta tagasi" @@ -3094,16 +3133,16 @@ msgstr "Võta tagasi" msgid "Unique ID" msgstr "Unikaalne ID" -#: src/page/settings/account.vue:451 src/page/settings/account.vue:476 -#: src/page/settings/account.vue:501 src/common/util.js:487 -#: src/component/photo/edit/details.vue:21 -#: src/component/photo/edit/details.vue:111 -#: src/component/photo/edit/details.vue:138 -#: src/component/photo/edit/details.vue:164 src/component/sidebar/info.vue:43 -#: src/model/album.js:193 src/model/photo.js:323 src/model/photo.js:784 -#: src/model/photo.js:809 src/model/photo.js:832 src/model/photo.js:850 -#: src/model/photo.js:897 src/model/photo.js:905 src/model/photo.js:994 -#: src/model/photo.js:1016 src/model/photo.js:1061 src/model/photo.js:1074 +#: src/page/settings/account.vue:457 src/page/settings/account.vue:482 +#: src/page/settings/account.vue:507 src/common/util.js:488 +#: src/component/photo/edit/details.vue:27 +#: src/component/photo/edit/details.vue:113 +#: src/component/photo/edit/details.vue:140 +#: src/component/photo/edit/details.vue:166 src/component/sidebar/info.vue:43 +#: src/model/album.js:193 src/model/photo.js:331 src/model/photo.js:821 +#: src/model/photo.js:846 src/model/photo.js:869 src/model/photo.js:887 +#: src/model/photo.js:934 src/model/photo.js:942 src/model/photo.js:1031 +#: src/model/photo.js:1053 src/model/photo.js:1098 src/model/photo.js:1111 #: src/model/user.js:157 src/options/options.js:51 src/options/options.js:69 #: src/options/options.js:86 src/options/options.js:100 #: src/options/options.js:112 src/page/library/errors.vue:251 @@ -3116,7 +3155,7 @@ msgstr "Teadmata" msgid "Unregistered" msgstr "Mitteregistreeritud" -#: src/app/routes.js:215 src/component/navigation.vue:644 +#: src/app/routes.js:223 src/component/navigation.vue:648 msgid "Unsorted" msgstr "Sorteerimata" @@ -3124,7 +3163,7 @@ msgstr "Sorteerimata" msgid "Unstack" msgstr "Unstack" -#: src/component/photo/edit/files.vue:519 src/component/photo/edit/info.vue:416 +#: src/component/photo/edit/files.vue:521 src/component/photo/edit/info.vue:416 msgid "Updated" msgstr "Uuendatud" @@ -3140,7 +3179,7 @@ msgstr "Indeksi uuendamine" msgid "Updating moments" msgstr "Hetkede uuendamine" -#: src/component/user/edit/dialog.vue:154 +#: src/component/user/edit/dialog.vue:155 msgid "Updating picture…" msgstr "Pildi uuendamine…" @@ -3152,21 +3191,21 @@ msgstr "Eelvaadete uuendamine" msgid "Updating stacks" msgstr "Virnade uuendamine" -#: src/page/connect.vue:57 src/component/navigation.vue:1500 -#: src/component/navigation.vue:1614 src/component/navigation.vue:1999 +#: src/page/connect.vue:57 src/component/navigation.vue:1526 +#: src/component/navigation.vue:1644 src/component/navigation.vue:2047 #: src/page/connect.vue:58 msgid "Upgrade" msgstr "Uuendamine" -#: src/page/about/about.vue:123 src/page/connect.vue:202 -#: src/component/confirm/sponsor.vue:98 src/page/about/about.vue:113 -#: src/page/connect.vue:206 +#: src/page/about/about.vue:124 src/page/connect.vue:204 +#: src/component/confirm/sponsor.vue:99 src/page/about/about.vue:114 +#: src/page/connect.vue:208 msgid "Upgrade Now" msgstr "Uuenda nüüd" -#: src/component/album/toolbar.vue:108 src/component/navigation.vue:1824 -#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:144 -#: src/component/upload/dialog.vue:51 src/page/albums.vue:183 +#: src/component/album/toolbar.vue:113 src/component/navigation.vue:1860 +#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:145 +#: src/component/upload/dialog.vue:51 src/page/albums.vue:185 #: src/page/labels.vue:122 src/page/library/import.vue:133 #: src/page/settings/general.vue:307 src/page/settings/services.vue:38 msgid "Upload" @@ -3176,21 +3215,21 @@ msgstr "Üleslaadimine" msgid "Upload complete" msgstr "Üleslaadimine lõpetatud" -#: src/component/upload/dialog.vue:133 +#: src/component/upload/dialog.vue:135 msgid "Upload complete. Indexing…" msgstr "Üleslaadimine lõpetatud. Indekseerimine…" #: src/component/upload/dialog.vue:296 src/component/upload/dialog.vue:315 -#: src/component/upload/dialog.vue:129 +#: src/component/upload/dialog.vue:131 msgid "Upload failed" msgstr "Üleslaadimine ebaõnnestus" -#: src/component/service/edit.vue:257 +#: src/component/service/edit.vue:258 msgid "Upload local files" msgstr "Laadi üles kohalikud failid" -#: src/component/user/edit/dialog.vue:380 #: src/component/user/edit/dialog.vue:381 +#: src/component/user/edit/dialog.vue:382 msgid "Upload Path" msgstr "Upload Path (üleslaadimise tee)" @@ -3198,7 +3237,7 @@ msgstr "Upload Path (üleslaadimise tee)" msgid "Upload to WebDAV and share links with friends." msgstr "Laadi üles WebDAV-i ja jaga linke sõpradega." -#: src/component/upload/dialog.vue:131 +#: src/component/upload/dialog.vue:133 msgid "Uploading %{n} of %{t}…" msgstr "Üleslaadimine %{n}/%{t}…" @@ -3211,7 +3250,7 @@ msgstr "Fotode üleslaadimine…" msgid "Uploading…" msgstr "Üleslaadimine…" -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Uploads that may contain such images will be rejected automatically." msgstr "Selliseid pilte sisaldavad üleslaadimised lükatakse automaatselt tagasi." @@ -3219,7 +3258,7 @@ msgstr "Selliseid pilte sisaldavad üleslaadimised lükatakse automaatselt tagas msgid "Use Presets" msgstr "Kasuta eelseadistusi" -#: src/component/settings/passcode.vue:283 +#: src/component/settings/passcode.vue:286 msgid "Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:" msgstr "Kui te ei saa autentimisrakendusega kehtivat kinnituskoodi luua, kasutage oma kontole juurdepääsuks järgmist taastekoodi." @@ -3227,12 +3266,12 @@ msgstr "Kui te ei saa autentimisrakendusega kehtivat kinnituskoodi luua, kasutag msgid "Use your recovery code or contact an administrator for help." msgstr "Kasutage oma taastamiskoodi või võtke abi saamiseks ühendust administraatoriga." -#: src/options/admin.js:10 src/page/admin/sessions.vue:59 -#: src/page/admin/sessions.vue:242 src/model/user.js:361 src/options/auth.js:7 +#: src/options/admin.js:14 src/page/admin/sessions.vue:59 +#: src/page/admin/sessions.vue:243 src/model/user.js:361 src/options/auth.js:8 msgid "User" msgstr "Kasutaja" -#: src/component/navigation.vue:1979 +#: src/component/navigation.vue:2025 msgid "User Guide" msgstr "Kasutajajuhend" @@ -3240,14 +3279,14 @@ msgstr "Kasutajajuhend" msgid "User Interface" msgstr "Kasutajaliides" -#: src/component/user/add/dialog.vue:87 src/component/user/add/dialog.vue:88 -#: src/page/admin/sessions.vue:220 src/page/admin/users.vue:71 -#: src/component/service/add.vue:85 src/component/service/edit.vue:337 +#: src/component/user/add/dialog.vue:88 src/component/user/add/dialog.vue:89 +#: src/page/admin/sessions.vue:221 src/page/admin/users.vue:73 +#: src/component/service/add.vue:86 src/component/service/edit.vue:338 #: src/component/share/dialog.vue:26 msgid "Username" msgstr "Kasutajanimi" -#: src/component/navigation.vue:1435 +#: src/component/navigation.vue:1461 msgid "Users" msgstr "Kasutajad" @@ -3257,18 +3296,18 @@ msgstr "Kasutajad" msgid "Vector" msgstr "Vektor" -#: src/component/navigation.vue:440 +#: src/component/navigation.vue:442 msgid "Vectors" msgstr "Vektorid" -#: src/component/settings/passcode.vue:227 src/page/auth/login.vue:144 +#: src/component/settings/passcode.vue:230 src/page/auth/login.vue:144 msgid "Verification Code" msgstr "Kinnituskood" #: src/component/photo/view/cards.vue:363 #: src/component/photo/view/cards.vue:491 src/component/photo/view/list.vue:190 #: src/component/photo/view/mosaic.vue:207 src/model/file.js:221 -#: src/model/photo.js:921 src/model/photo.js:939 src/options/options.js:293 +#: src/model/photo.js:958 src/model/photo.js:976 src/options/options.js:293 msgid "Video" msgstr "Video" @@ -3277,12 +3316,12 @@ msgstr "Video" msgid "Video Duration" msgstr "Video kestus" -#: src/app/routes.js:243 src/component/navigation.vue:728 +#: src/app/routes.js:251 src/component/navigation.vue:734 #: src/options/options.js:200 msgid "Videos" msgstr "Videod" -#: src/component/photo/toolbar.vue:261 src/component/photo/view/cards.vue:350 +#: src/component/photo/toolbar.vue:263 src/component/photo/view/cards.vue:350 #: src/component/photo/view/mosaic.vue:194 msgid "View" msgstr "Vaade" @@ -3291,11 +3330,11 @@ msgstr "Vaade" msgid "View search results as a list." msgstr "Vaadake otsingutulemusi nimekirjana." -#: src/options/admin.js:14 src/options/auth.js:8 +#: src/options/admin.js:18 src/options/auth.js:9 msgid "Viewer" msgstr "Vaataja" -#: src/page/admin/sessions.vue:271 src/options/auth.js:12 +#: src/page/admin/sessions.vue:272 src/options/auth.js:13 msgid "Visitor" msgstr "Külastaja" @@ -3307,36 +3346,36 @@ msgstr "Visuaalne sarnasus" msgid "Warning" msgstr "Hoiatus" -#: src/page/about/feedback.vue:60 +#: src/page/about/feedback.vue:61 msgid "We appreciate your feedback!" msgstr "Me hindame teie tagasisidet!" -#: src/page/about/feedback.vue:63 +#: src/page/about/feedback.vue:64 msgid "We do our best to respond within five business days or less." msgstr "Anname endast parima, et vastata viie tööpäeva jooksul või vähem." -#: src/component/user/add/dialog.vue:235 src/component/user/edit/dialog.vue:415 -#: src/page/admin/users.vue:80 +#: src/component/user/add/dialog.vue:236 src/component/user/edit/dialog.vue:416 +#: src/page/admin/users.vue:82 msgid "Web Login" msgstr "Veebisisene sisselogimine" -#: src/component/user/add/dialog.vue:248 src/component/user/edit/dialog.vue:432 -#: src/page/admin/users.vue:82 src/options/auth.js:55 src/options/auth.js:68 +#: src/component/user/add/dialog.vue:249 src/component/user/edit/dialog.vue:433 +#: src/page/admin/users.vue:84 src/options/auth.js:56 src/options/auth.js:69 #: src/options/options.js:444 msgid "WebDAV" msgstr "WebDAV" -#: src/component/settings/webdav.vue:51 +#: src/component/settings/webdav.vue:52 msgid "WebDAV clients can connect to PhotoPrism using the following URL:" msgstr "WebDAV kliendid saavad PhotoPrismiga ühenduda järgmise URL-i kaudu:" -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism." msgstr "" "WebDAV kliendid, nagu Microsofti Windows Explorer või Apple'i Finder, saavad \n" "PhotoPrismiga otse ühenduda." -#: src/component/service/upload.vue:50 src/component/share/dialog.vue:220 +#: src/component/service/upload.vue:51 src/component/share/dialog.vue:220 msgid "WebDAV Upload" msgstr "WebDAV üleslaadimine" @@ -3344,8 +3383,8 @@ msgstr "WebDAV üleslaadimine" msgid "WebGL support is disabled in your browser" msgstr "WebGL tugi on teie brauseris välja lülitatud" -#: src/page/settings/account.vue:615 src/page/settings/account.vue:709 -#: src/page/settings/account.vue:601 +#: src/page/settings/account.vue:621 src/page/settings/account.vue:715 +#: src/page/settings/account.vue:607 msgid "Website" msgstr "Veebileht" @@ -3353,12 +3392,12 @@ msgstr "Veebileht" msgid "White" msgstr "Valge" -#: src/page/settings/account.vue:532 +#: src/page/settings/account.vue:538 msgid "Work Details" msgstr "Töö üksikasjad" -#: src/page/settings/account.vue:500 src/component/photo/edit/details.vue:163 -#: src/component/photo/toolbar.vue:315 src/page/albums.vue:159 +#: src/page/settings/account.vue:506 src/component/photo/edit/details.vue:165 +#: src/component/photo/toolbar.vue:317 src/page/albums.vue:159 msgid "Year" msgstr "Aasta" @@ -3366,21 +3405,21 @@ msgstr "Aasta" msgid "Yellow" msgstr "Kollane" -#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:58 -#: src/component/photo/archive/dialog.vue:58 +#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:59 +#: src/component/photo/archive/dialog.vue:59 #: src/component/photo/clipboard.vue:200 src/component/photo/edit/files.vue:365 #: src/component/photo/edit/files.vue:395 #: src/component/photo/edit/files.vue:401 #: src/component/photo/edit/files.vue:407 -#: src/component/photo/edit/files.vue:510 src/component/photo/edit/info.vue:281 +#: src/component/photo/edit/files.vue:512 src/component/photo/edit/info.vue:281 #: src/component/photo/edit/info.vue:297 src/component/photo/edit/info.vue:313 #: src/component/photo/edit/info.vue:329 src/component/photo/edit/info.vue:344 -#: src/component/photo/toolbar.vue:434 +#: src/component/photo/toolbar.vue:436 msgid "Yes" msgstr "Jah" -#: src/component/confirm/sponsor.vue:59 src/page/about/about.vue:158 -#: src/page/connect.vue:315 +#: src/component/confirm/sponsor.vue:60 src/page/about/about.vue:160 +#: src/page/connect.vue:317 msgid "You are welcome to contact us at membership@photoprism.app for questions regarding your membership." msgstr "Olete oodatud meiega ühendust võtma aadressil membership@photoprism.app, kui teil on küsimusi seoses teie liikmelisusega." @@ -3392,7 +3431,11 @@ msgstr "Võid alla laadida ainult ühe albumi" msgid "You can only download one label" msgstr "Võid alla laadida ainult ühe sildi" -#: src/component/upload/dialog.vue:203 +#: src/component/location/dialog.vue:178 +msgid "You can search for a location or move the marker on the map to change the position:" +msgstr "Saate otsida asukohta või liigutada markerit kaardil, et muuta asukohta:" + +#: src/component/upload/dialog.vue:205 msgid "You can upload up to %{n} files for test purposes." msgstr "Saate testimiseks üles laadida kuni %{n} faili." @@ -3405,7 +3448,7 @@ msgstr "Võid valida ainult ühe objekti" msgid "You may rescan your library to find additional faces." msgstr "Võid oma fototeeki uuesti skaneerida, et veel nägusid leida." -#: src/page/connect.vue:146 src/page/connect.vue:150 +#: src/page/connect.vue:147 src/page/connect.vue:151 msgid "Your account has been successfully connected." msgstr "Teie konto on edukalt ühendatud." @@ -3413,8 +3456,8 @@ msgstr "Teie konto on edukalt ühendatud." msgid "Your browser does not support WebGL" msgstr "Teie brauser ei toeta WebGL-i" -#: src/component/confirm/sponsor.vue:43 src/page/about/about.vue:97 -#: src/page/about/about.vue:156 src/page/connect.vue:220 +#: src/component/confirm/sponsor.vue:44 src/page/about/about.vue:98 +#: src/page/about/about.vue:158 src/page/connect.vue:222 msgid "Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy." msgstr "Sinu jätkuv toetus aitab meil pakkuda regulaarseid uuendusi ja jääda sõltumatuks, et me saaksime täita oma missiooni ja kaitsta sinu privaatsust." @@ -3495,9 +3538,6 @@ msgstr "Suumi sisse/välja" #~ msgid "Open Folder" #~ msgstr "Avatud kaust" -#~ msgid "Cannot copy to clipboard" -#~ msgstr "Ei saa kopeerida lõikelauale" - #~ msgid "Sound" #~ msgstr "Heli" diff --git a/frontend/src/locales/eu.po b/frontend/src/locales/eu.po index 276faa985..45da14f7c 100644 --- a/frontend/src/locales/eu.po +++ b/frontend/src/locales/eu.po @@ -2,13 +2,13 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: ci@photoprism.app\n" -"PO-Revision-Date: 2025-04-04 08:03+0000\n" +"PO-Revision-Date: 2025-07-06 08:59+0000\n" "Last-Translator: Google Cloud Translation Basic \n" "Language: eu\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.10.4\n" +"X-Generator: Weblate 5.12.2\n" "Generated-By: easygettext\n" #: src/locales.js:268 @@ -39,7 +39,7 @@ msgstr "{0} hautatuta" msgid "{0}-{1} of {2}" msgstr "{0}-{1}/{2}" -#: src/page/albums.vue:612 +#: src/page/albums.vue:617 msgid "%{n} albums found" msgstr "%{n} album aurkitu dira" @@ -47,25 +47,25 @@ msgstr "%{n} album aurkitu dira" msgid "%{n} files uploaded" msgstr "%{n} fitxategi kargatu dira" -#: src/page/library/browse.vue:362 +#: src/page/library/browse.vue:364 msgid "%{n} folders found" msgstr "%{n} karpeta aurkitu dira" -#: src/component/navigation.vue:1676 +#: src/component/navigation.vue:1707 msgid "%{n} GB of %{q} GB used" msgstr "%{n} GB-tik %{q} GB erabilita" -#: src/page/labels.vue:528 +#: src/page/labels.vue:533 msgid "%{n} labels found" msgstr "%{n} etiketa aurkitu dira" -#: src/page/people/new.vue:350 src/page/people/new.vue:447 -#: src/page/people/recognized.vue:536 +#: src/page/people/new.vue:350 src/page/people/new.vue:450 +#: src/page/people/recognized.vue:541 msgid "%{n} people found" msgstr "%{n} pertsona aurkitu dira" -#: src/page/album/photos.vue:308 src/page/album/photos.vue:493 -#: src/page/photos.vue:441 src/page/photos.vue:631 +#: src/page/album/photos.vue:313 src/page/album/photos.vue:504 +#: src/page/photos.vue:446 src/page/photos.vue:641 msgid "%{n} pictures found" msgstr "%{n} argazki aurkitu dira" @@ -85,12 +85,12 @@ msgstr "1 ordu" msgid "12 hours" msgstr "12 ordu" -#: src/component/user/edit/dialog.vue:452 src/page/settings/account.vue:324 -#: src/component/settings/passcode.vue:75 +#: src/component/user/edit/dialog.vue:453 src/page/settings/account.vue:325 +#: src/component/settings/passcode.vue:78 msgid "2-Factor Authentication" msgstr "2 faktoreko autentifikazioa" -#: src/component/user/edit/dialog.vue:451 src/options/auth.js:46 +#: src/component/user/edit/dialog.vue:452 src/options/auth.js:47 msgid "2FA" msgstr "2FA" @@ -106,20 +106,20 @@ msgstr "Klik eginez gero, arbelean kopiatuko da." msgid "A new version of %{s} is available:" msgstr "%{s} bertsio berri bat dago eskuragarri:" -#: src/component/user/edit/dialog.vue:233 -#: src/component/user/edit/dialog.vue:234 src/page/about/about.vue:56 +#: src/component/user/edit/dialog.vue:234 +#: src/component/user/edit/dialog.vue:235 src/page/about/about.vue:56 #: src/page/settings/account.vue:248 src/page/settings/account.vue:249 -#: src/app/routes.js:63 src/component/navigation.vue:1521 -#: src/page/people/recognized.vue:292 +#: src/app/routes.js:63 src/component/navigation.vue:1547 +#: src/page/people/recognized.vue:296 msgid "About" msgstr "Buruz" -#: src/options/auth.js:26 src/options/auth.js:44 +#: src/options/auth.js:27 src/options/auth.js:45 msgid "Access Token" msgstr "Sarbide-tokena" -#: src/component/navigation.vue:87 src/component/navigation.vue:1788 -#: src/component/service/upload.vue:71 src/model/service.js:96 +#: src/component/navigation.vue:87 src/component/navigation.vue:1822 +#: src/component/service/upload.vue:72 src/model/service.js:96 #: src/model/user.js:171 src/page/settings.vue:85 #: src/page/settings/general.vue:582 msgid "Account" @@ -133,7 +133,7 @@ msgstr "Kontua sortu da" msgid "Account deleted" msgstr "Kontua ezabatu da" -#: src/page/admin/users.vue:335 +#: src/page/admin/users.vue:337 msgid "Account restored" msgstr "Kontua leheneratu da" @@ -154,8 +154,8 @@ msgstr "Ekintza" msgid "Actions" msgstr "Ekintzak" -#: src/page/connect.vue:294 src/component/settings/passcode.vue:346 -#: src/page/connect.vue:303 +#: src/page/connect.vue:296 src/component/settings/passcode.vue:349 +#: src/page/connect.vue:305 msgid "Activate" msgstr "Aktibatu" @@ -171,20 +171,20 @@ msgstr "Aktibatu goranzko ordenatzeko." msgid "Activate to sort descending." msgstr "Aktibatu beheranzko ordenatzeko." -#: src/page/connect.vue:231 src/page/connect.vue:240 +#: src/page/connect.vue:233 src/page/connect.vue:242 msgid "Activation Code" msgstr "Aktibazio kodea" -#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:83 -#: src/component/settings/apps.vue:448 +#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:92 +#: src/component/settings/apps.vue:451 msgid "Add" msgstr "Gehitu" -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:246 msgid "Add %{s}?" msgstr "%{s} gehitu?" -#: src/component/user/add/dialog.vue:56 src/component/service/add.vue:49 +#: src/component/user/add/dialog.vue:57 src/component/service/add.vue:50 msgid "Add Account" msgstr "Kontua gehitu" @@ -201,8 +201,8 @@ msgid "Add Link" msgstr "Gehitu esteka" #: src/component/photo/edit/people.vue:25 -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:57 -#: src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:57 +#: src/page/people/new.vue:246 msgid "Add person?" msgstr "Pertsona gehitu?" @@ -218,10 +218,15 @@ msgstr "Gehitu bilaketa-emaitzetan argazkiak hautatuta." msgid "Add to album" msgstr "Gehitu albumera" -#: src/component/photo/edit/files.vue:514 +#: src/component/photo/edit/files.vue:516 msgid "Added" msgstr "Gehituta" +#: src/component/location/dialog.vue:68 src/component/location/dialog.vue:90 +#: src/component/photo/edit/details.vue:246 +msgid "Adjust Location" +msgstr "Kokapena egokitu" + #: src/options/admin.js:6 src/options/auth.js:6 msgid "Admin" msgstr "Admin" @@ -242,7 +247,7 @@ msgstr "3 egun igaro ondoren" msgid "After 7 days" msgstr "7 egun igaro ondoren" -#: src/component/settings/passcode.vue:93 +#: src/component/settings/passcode.vue:96 msgid "After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:" msgstr "Pasahitza berresteko pasahitza sartu ondoren, bi faktoreko autentifikazioa konfigura dezakezu autentifikazio-aplikazio edo gailu bateragarri batekin:" @@ -274,12 +279,16 @@ msgstr "Albuma" msgid "Album Backups" msgstr "Albumen babeskopiak" -#: src/page/albums.vue:674 +#: src/page/albums.vue:685 msgid "Album created" msgstr "Sortu da albuma" -#: src/app/routes.js:176 src/component/album/toolbar.vue:51 -#: src/component/navigation.vue:604 src/component/navigation.vue:1882 +#: src/page/album/photos.vue:589 +msgid "Album deleted" +msgstr "Albuma ezabatuta" + +#: src/app/routes.js:184 src/component/album/toolbar.vue:55 +#: src/component/navigation.vue:607 src/component/navigation.vue:1922 #: src/component/photo/edit/info.vue:220 src/options/options.js:198 msgid "Albums" msgstr "Albumak" @@ -292,7 +301,7 @@ msgstr "Albumak ezabatu dira" msgid "All" msgstr "Denak" -#: src/page/albums.vue:465 +#: src/page/albums.vue:470 msgid "All %{n} albums loaded" msgstr "%{n} album guztiak kargatu dira" @@ -308,8 +317,8 @@ msgstr "%{n} pertsona guztiak kargatu dira" msgid "All Cameras" msgstr "Kamera guztiak" -#: src/component/photo/toolbar.vue:74 src/page/albums.vue:44 -#: src/page/albums.vue:240 src/page/albums.vue:746 +#: src/component/photo/toolbar.vue:74 src/page/albums.vue:45 +#: src/page/albums.vue:242 src/page/albums.vue:757 msgid "All Categories" msgstr "Kategoria guztiak" @@ -341,7 +350,7 @@ msgstr "Hilabete guztiak" msgid "All originals" msgstr "Jatorrizko guztiak" -#: src/component/photo/toolbar.vue:76 src/page/albums.vue:93 +#: src/component/photo/toolbar.vue:76 src/page/albums.vue:94 msgid "All Years" msgstr "Urte guztiak" @@ -353,7 +362,7 @@ msgstr "Bestela, fitxategiak zuzenean igo ditzakezu Nextcloud bezalako WebDAV ze msgid "Altitude" msgstr "Altuera" -#: src/component/photo/edit/details.vue:272 +#: src/component/photo/edit/details.vue:297 msgid "Altitude (m)" msgstr "Altuera (m)" @@ -361,8 +370,7 @@ msgstr "Altuera (m)" msgid "AM" msgstr "AM" -#: src/app/routes.js:257 src/component/navigation.vue:791 -#: src/component/photo/edit/files.vue:364 +#: src/app/routes.js:265 src/component/photo/edit/files.vue:364 #: src/component/photo/view/cards.vue:327 #: src/component/photo/view/cards.vue:511 src/component/photo/view/list.vue:184 #: src/component/photo/view/mosaic.vue:171 src/options/options.js:301 @@ -373,43 +381,47 @@ msgstr "Animatua" msgid "Animation" msgstr "Animazioa" +#: src/component/navigation.vue:797 +msgid "Animations" +msgstr "Animazioak" + #: src/component/share/dialog.vue:207 msgid "Any private photos and videos remain private and won't be shared." msgstr "Argazki eta bideo pribatu guztiak pribatuak izaten jarraitzen dute eta ez dira partekatuko." -#: src/component/service/edit.vue:372 +#: src/component/service/edit.vue:373 msgid "API Key" msgstr "API gakoa" -#: src/page/admin/sessions.vue:357 src/options/auth.js:25 +#: src/page/admin/sessions.vue:361 src/options/auth.js:26 msgid "Application" msgstr "Aplikazio" -#: src/component/photo/edit/details.vue:641 +#: src/component/photo/edit/details.vue:615 msgid "Apply" msgstr "Aplikatu" #: src/component/photo/clipboard.vue:64 -#: src/component/photo/edit/details.vue:640 +#: src/component/photo/edit/details.vue:614 #: src/component/photo/view/cards.vue:416 msgid "Approve" msgstr "Onartu" -#: src/page/settings/account.vue:374 src/component/settings/apps.vue:91 +#: src/page/settings/account.vue:378 src/component/settings/apps.vue:94 msgid "Apps and Devices" msgstr "Aplikazioak eta gailuak" -#: src/app/routes.js:287 src/component/lightbox.vue:1207 -#: src/component/navigation.vue:555 src/component/photo/clipboard.vue:142 +#: src/app/routes.js:295 src/component/lightbox.vue:1207 +#: src/component/navigation.vue:557 src/component/photo/clipboard.vue:142 #: src/component/photo/view/cards.vue:398 src/page/settings/general.vue:432 msgid "Archive" msgstr "Artxiboa" -#: src/component/lightbox.vue:1982 src/component/photo/edit/info.vue:433 +#: src/component/lightbox.vue:2002 src/component/photo/edit/info.vue:433 msgid "Archived" msgstr "Artxibatuta" -#: src/component/photo/archive/dialog.vue:34 +#: src/component/photo/archive/dialog.vue:35 msgid "Are you sure you want to archive the selection?" msgstr "Ziur hautapena artxibatu nahi duzula?" @@ -417,19 +429,23 @@ msgstr "Ziur hautapena artxibatu nahi duzula?" msgid "Are you sure you want to delete these albums?" msgstr "Ziur album hauek ezabatu nahi dituzula?" -#: src/component/label/delete/dialog.vue:34 +#: src/component/label/delete/dialog.vue:35 msgid "Are you sure you want to delete these labels?" msgstr "Ziur etiketa hauek ezabatu nahi dituzula?" -#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:36 +#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:37 msgid "Are you sure you want to delete this account?" msgstr "Ziur kontu hau ezabatu nahi duzula?" +#: src/component/album/toolbar.vue:136 +msgid "Are you sure you want to delete this album?" +msgstr "Ziur zaude album hau ezabatu nahi duzula?" + #: src/component/photo/clipboard.vue:199 msgid "Are you sure you want to permanently delete these pictures?" msgstr "Ziur argazki hauek betiko ezabatu nahi dituzula?" -#: src/component/file/delete/dialog.vue:34 +#: src/component/file/delete/dialog.vue:35 msgid "Are you sure you want to permanently delete this file?" msgstr "Ziur fitxategi hau betiko ezabatu nahi duzula?" @@ -438,7 +454,7 @@ msgstr "Ziur fitxategi hau betiko ezabatu nahi duzula?" msgid "Are you sure?" msgstr "Ziur zaude?" -#: src/component/photo/edit/details.vue:537 +#: src/component/photo/edit/details.vue:511 msgid "Artist" msgstr "Artista" @@ -446,14 +462,14 @@ msgstr "Artista" msgid "Aspect Ratio" msgstr "Aspektu-erlazioa" -#: src/app/routes.js:250 src/component/navigation.vue:770 +#: src/app/routes.js:258 src/component/navigation.vue:776 #: src/options/options.js:297 msgid "Audio" msgstr "Audioa" -#: src/component/user/add/dialog.vue:190 src/component/user/edit/dialog.vue:309 -#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:281 -#: src/page/admin/users.vue:75 +#: src/component/user/add/dialog.vue:191 src/component/user/edit/dialog.vue:310 +#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:282 +#: src/page/admin/users.vue:77 msgid "Authentication" msgstr "Autentifikazioa" @@ -461,11 +477,11 @@ msgstr "Autentifikazioa" msgid "Auto" msgstr "Autoa" -#: src/component/settings/apps.vue:151 +#: src/component/settings/apps.vue:154 msgid "Back" msgstr "Itzuli" -#: src/component/scroll.vue:20 +#: src/component/scroll.vue:18 msgid "Back to top" msgstr "Itzuli gora" @@ -477,26 +493,26 @@ msgstr "Babeskopia" msgid "Badge" msgstr "Txapa" -#: src/component/user/edit/dialog.vue:361 #: src/component/user/edit/dialog.vue:362 +#: src/component/user/edit/dialog.vue:363 msgid "Base Path" msgstr "Oinarrizko bidea" -#: src/page/about/about.vue:95 src/page/connect.vue:220 +#: src/page/about/about.vue:96 src/page/connect.vue:222 msgid "Become a member today, support our mission and enjoy our member benefits!" msgstr "Egin zaitez kide gaur, lagundu gure eginkizuna eta gozatu gure kideen abantailak!" -#: src/component/confirm/sponsor.vue:51 src/page/about/about.vue:99 +#: src/component/confirm/sponsor.vue:52 src/page/about/about.vue:100 msgid "Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services." msgstr "%100 autofinantziatua eta independentea izanik, zure datuak ez ditugula inoiz salduko eta gure softwareari eta zerbitzuei buruz gardenak izango garela agintzen dizugu." -#: src/component/user/edit/dialog.vue:258 -#: src/component/user/edit/dialog.vue:259 src/page/settings/account.vue:227 +#: src/component/user/edit/dialog.vue:259 +#: src/component/user/edit/dialog.vue:260 src/page/settings/account.vue:227 #: src/page/settings/account.vue:228 msgid "Bio" msgstr "Bio" -#: src/page/settings/account.vue:431 +#: src/page/settings/account.vue:437 msgid "Birth Date" msgstr "Urtebetetze data" @@ -517,7 +533,7 @@ msgid "Brown" msgstr "Marroia" #: src/component/photo/edit/files.vue:263 src/component/photo/toolbar.vue:141 -#: src/component/upload/dialog.vue:240 +#: src/component/upload/dialog.vue:242 msgid "Browse" msgstr "Arakatu" @@ -545,16 +561,16 @@ msgstr "Akatsen txostena" msgid "Busy, please wait…" msgstr "Lanpetuta, itxaron mesedez…" -#: src/page/connect.vue:317 +#: src/page/connect.vue:319 msgid "By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct." msgstr "Eskaintzen ditugun softwarea eta zerbitzuak erabiliz gero, gure zerbitzu-baldintzak, pribatutasun-politika eta jokabide-kodea onartzen dituzu." -#: src/app/routes.js:189 src/component/navigation.vue:1081 +#: src/app/routes.js:197 src/component/navigation.vue:1097 #: src/options/options.js:204 src/page/settings/general.vue:205 msgid "Calendar" msgstr "Egutegia" -#: src/component/photo/edit/details.vue:346 src/component/photo/toolbar.vue:232 +#: src/component/photo/edit/details.vue:320 src/component/photo/toolbar.vue:234 #: src/component/photo/view/cards.vue:467 src/component/photo/view/list.vue:116 msgid "Camera" msgstr "Kamera" @@ -567,12 +583,12 @@ msgstr "Kamera seriea" msgid "Can't access your authenticator app or device?" msgstr "Ezin duzu sartu autentifikatzaile-aplikazio edo gailuan?" -#: src/page/album/photos.vue:317 src/page/photos.vue:450 +#: src/page/album/photos.vue:322 src/page/photos.vue:455 msgid "Can't load more, limit reached" msgstr "Ezin da gehiago kargatu, mugara iritsi da" #: src/common/clipboard.js:102 src/common/clipboard.js:139 -#: src/page/albums.vue:684 src/page/albums.vue:700 src/page/labels.vue:293 +#: src/page/albums.vue:695 src/page/albums.vue:711 src/page/labels.vue:293 #: src/page/labels.vue:313 src/page/library/browse.vue:233 #: src/page/library/browse.vue:249 src/page/people/new.vue:278 #: src/page/people/new.vue:294 src/page/people/recognized.vue:305 @@ -581,26 +597,31 @@ msgid "Can't select more items" msgstr "Ezin dira elementu gehiago hautatu" #: src/component/session/remove/dialog.vue:45 -#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:473 -#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:119 +#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:474 +#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:120 #: src/component/album/delete/dialog.vue:43 -#: src/component/album/edit/dialog.vue:199 src/component/confirm/dialog.vue:43 -#: src/component/file/delete/dialog.vue:47 -#: src/component/label/delete/dialog.vue:47 -#: src/component/label/edit/dialog.vue:107 -#: src/component/people/edit/dialog.vue:120 +#: src/component/album/edit/dialog.vue:200 src/component/confirm/dialog.vue:43 +#: src/component/file/delete/dialog.vue:48 +#: src/component/label/delete/dialog.vue:48 +#: src/component/label/edit/dialog.vue:108 +#: src/component/location/dialog.vue:200 +#: src/component/people/edit/dialog.vue:121 #: src/component/photo/album/dialog.vue:78 src/component/service/add.vue:19 -#: src/component/service/edit.vue:455 src/component/service/remove.vue:49 -#: src/component/service/upload.vue:117 src/component/settings/apps.vue:352 -#: src/component/settings/passcode.vue:249 -#: src/component/settings/passcode.vue:333 -#: src/component/settings/password.vue:159 src/component/share/dialog.vue:28 -#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:123 +#: src/component/service/edit.vue:456 src/component/service/remove.vue:50 +#: src/component/service/upload.vue:118 src/component/settings/apps.vue:355 +#: src/component/settings/passcode.vue:252 +#: src/component/settings/passcode.vue:336 +#: src/component/settings/password.vue:160 src/component/share/dialog.vue:28 +#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:124 #: src/page/library/import.vue:119 src/page/library/index.vue:128 msgid "Cancel" msgstr "Utzi" -#: src/component/photo/edit/details.vue:87 src/component/photo/edit/info.vue:61 +#: src/common/util.js:863 src/common/util.js:870 +msgid "Cannot copy to clipboard" +msgstr "Ezin da kopiatu arbelean" + +#: src/component/photo/edit/details.vue:89 src/component/photo/edit/info.vue:63 #: src/component/photo/edit/labels.vue:42 #: src/component/photo/view/cards.vue:445 src/component/sidebar/info.vue:72 msgid "Caption" @@ -614,17 +635,17 @@ msgstr "Txartelak" msgid "Carousel slide {0} of {1}" msgstr "Karruselaren diapositiba {0}/{1}" -#: src/page/about/feedback.vue:82 src/page/about/feedback.vue:83 -#: src/component/album/edit/dialog.vue:128 src/component/photo/toolbar.vue:397 +#: src/page/about/feedback.vue:83 src/page/about/feedback.vue:84 +#: src/component/album/edit/dialog.vue:129 src/component/photo/toolbar.vue:399 #: src/page/albums.vue:187 msgid "Category" msgstr "Kategoria" -#: src/component/user/edit/dialog.vue:191 src/page/settings/account.vue:201 +#: src/component/user/edit/dialog.vue:192 src/page/settings/account.vue:201 msgid "Change Avatar" msgstr "Aldatu avatarra" -#: src/page/settings/account.vue:297 src/component/settings/password.vue:48 +#: src/page/settings/account.vue:297 src/component/settings/password.vue:49 msgid "Change Password" msgstr "Aldatu pasahitza" @@ -641,17 +662,17 @@ msgid "Change private flag" msgstr "Aldatu bandera pribatua" #: src/component/user/add/dialog.vue:108 src/component/user/add/dialog.vue:113 -#: src/component/user/edit/dialog.vue:90 src/component/user/edit/dialog.vue:95 +#: src/component/user/edit/dialog.vue:91 src/component/user/edit/dialog.vue:96 #: src/page/settings/account.vue:121 src/page/settings/account.vue:126 msgid "Changes could not be saved" msgstr "Ezin izan dira aldaketak gorde" -#: src/component/user/edit/dialog.vue:83 src/component/user/edit/dialog.vue:159 +#: src/component/user/edit/dialog.vue:84 src/component/user/edit/dialog.vue:160 #: src/component/album/edit/dialog.vue:73 -#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1941 +#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1961 #: src/component/photo/edit/files.vue:162 src/component/service/edit.vue:90 #: src/component/share/dialog.vue:92 src/component/share/dialog.vue:111 -#: src/page/albums.vue:677 src/page/people/recognized.vue:119 +#: src/page/albums.vue:688 src/page/people/recognized.vue:119 #: src/page/settings/advanced.vue:62 src/page/settings/content.vue:62 #: src/page/settings/general.vue:108 msgid "Changes successfully saved" @@ -665,7 +686,7 @@ msgstr "Ezarpen aurreratuen aldaketek berrabiarazi behar dute eragina izateko." msgid "Checked" msgstr "Egiaztatuta" -#: src/component/photo/edit/files.vue:495 +#: src/component/photo/edit/files.vue:497 msgid "Chroma" msgstr "Kroma" @@ -681,24 +702,24 @@ msgstr "Garbitu" msgid "Clear {0}" msgstr "Garbitu {0}" -#: src/options/auth.js:11 src/options/auth.js:23 src/options/auth.js:43 +#: src/options/auth.js:12 src/options/auth.js:24 src/options/auth.js:44 msgid "Client" msgstr "Bezeroa" -#: src/options/auth.js:24 +#: src/options/auth.js:25 msgid "Client Credentials" msgstr "Bezeroaren kredentzialak" -#: src/page/admin/sessions.vue:529 src/component/lightbox.vue:284 -#: src/component/lightbox.vue:1009 src/component/lightbox.vue:1010 -#: src/component/photo/edit/details.vue:627 src/component/photo/toolbar.vue:160 -#: src/component/settings/apps.vue:224 src/component/settings/apps.vue:437 -#: src/component/settings/passcode.vue:148 -#: src/component/settings/passcode.vue:456 -#: src/component/settings/passcode.vue:497 -#: src/component/settings/webdav.vue:131 src/component/share/dialog.vue:231 +#: src/component/user/edit/dialog.vue:474 src/page/admin/sessions.vue:536 +#: src/component/lightbox.vue:284 src/component/lightbox.vue:1009 +#: src/component/lightbox.vue:1010 src/component/photo/edit/details.vue:601 +#: src/component/photo/toolbar.vue:161 src/component/settings/apps.vue:227 +#: src/component/settings/apps.vue:440 src/component/settings/passcode.vue:151 +#: src/component/settings/passcode.vue:459 +#: src/component/settings/passcode.vue:500 +#: src/component/settings/webdav.vue:132 src/component/share/dialog.vue:231 #: src/component/sidebar/info.vue:26 src/component/update.vue:57 -#: src/component/upload/dialog.vue:228 src/locales.js:206 +#: src/component/upload/dialog.vue:230 src/locales.js:206 #: src/page/library/errors.vue:253 msgid "Close" msgstr "Itxi" @@ -707,11 +728,11 @@ msgstr "Itxi" msgid "Codec" msgstr "Kodeka" -#: src/component/photo/toolbar.vue:369 +#: src/component/photo/toolbar.vue:371 msgid "Color" msgstr "Kolore" -#: src/component/photo/edit/files.vue:483 +#: src/component/photo/edit/files.vue:485 msgid "Color Profile" msgstr "Kolore-profila" @@ -719,7 +740,7 @@ msgstr "Kolore-profila" msgid "Colors" msgstr "Koloreak" -#: src/page/connect.vue:260 src/page/connect.vue:269 +#: src/page/connect.vue:262 src/page/connect.vue:271 msgid "Compare Editions" msgstr "Edizioak alderatu" @@ -732,17 +753,18 @@ msgstr "Berriro eskaneatu osoa" msgid "Confidence" msgstr "Konfiantza" +#: src/component/location/dialog.vue:212 #: src/component/photo/album/dialog.vue:90 -#: src/component/settings/passcode.vue:261 +#: src/component/settings/passcode.vue:264 msgid "Confirm" msgstr "Berretsi" -#: src/component/service/add.vue:20 src/page/settings/services.vue:187 +#: src/component/service/add.vue:20 src/page/settings/services.vue:191 msgid "Connect" msgstr "Konektatu" -#: src/page/settings/account.vue:401 src/component/settings/webdav.vue:45 -#: src/page/settings/services.vue:167 +#: src/page/settings/account.vue:406 src/component/settings/webdav.vue:46 +#: src/page/settings/services.vue:170 msgid "Connect via WebDAV" msgstr "Konektatu WebDAV bidez" @@ -750,22 +772,22 @@ msgstr "Konektatu WebDAV bidez" msgid "Connected" msgstr "Konektatuta" -#: src/page/settings/account.vue:640 src/page/settings/account.vue:532 +#: src/page/settings/account.vue:646 src/page/settings/account.vue:538 msgid "Contact Details" msgstr "Harremanetarako datuak" -#: src/page/about/feedback.vue:37 src/page/connect.vue:132 -#: src/page/connect.vue:136 +#: src/page/about/feedback.vue:37 src/page/connect.vue:133 +#: src/page/connect.vue:137 msgid "Contact Us" msgstr "Jarri gurekin harremanetan" #: src/page/albums.vue:433 src/page/labels.vue:237 -#: src/page/people/recognized.vue:306 +#: src/page/people/recognized.vue:310 msgid "Contains %{n} pictures." msgstr "%{n} irudi ditu." #: src/page/albums.vue:427 src/page/labels.vue:231 -#: src/page/people/recognized.vue:300 +#: src/page/people/recognized.vue:304 msgid "Contains one picture." msgstr "Irudi bat dauka." @@ -773,7 +795,7 @@ msgstr "Irudi bat dauka." msgid "Content" msgstr "Edukia" -#: src/component/settings/apps.vue:163 +#: src/component/settings/apps.vue:166 msgid "Continue" msgstr "Jarraitu" @@ -781,7 +803,7 @@ msgstr "Jarraitu" msgid "Continue with %{provider}" msgstr "Jarraitu %{provider}-rekin" -#: src/options/admin.js:18 src/options/auth.js:9 +#: src/options/admin.js:22 src/options/auth.js:10 msgid "Contributor" msgstr "Laguntzailea" @@ -789,15 +811,15 @@ msgstr "Laguntzailea" msgid "Converting" msgstr "Bihurtzea" -#: src/common/util.js:846 +#: src/common/util.js:856 msgid "Copied to clipboard" msgstr "Arbelean kopiatu da" -#: src/component/settings/apps.vue:250 src/component/settings/passcode.vue:358 +#: src/component/settings/apps.vue:253 src/component/settings/passcode.vue:361 msgid "Copy" msgstr "Kopiatu" -#: src/component/photo/edit/details.vue:516 +#: src/component/photo/edit/details.vue:490 msgid "Copyright" msgstr "Copyright" @@ -805,8 +827,8 @@ msgstr "Copyright" msgid "Couldn't find anything." msgstr "Ezin izan da ezer aurkitu." -#: src/page/settings/account.vue:685 src/component/photo/edit/details.vue:242 -#: src/component/photo/toolbar.vue:203 src/page/settings/account.vue:577 +#: src/page/settings/account.vue:691 src/component/photo/edit/details.vue:268 +#: src/component/photo/toolbar.vue:205 src/page/settings/account.vue:583 msgid "Country" msgstr "Herrialdea" @@ -830,7 +852,7 @@ msgstr "Sortu YAML fitxategiak albumen metadatuen babeskopia egiteko." msgid "Create YAML sidecar files to back up picture metadata." msgstr "Sortu YAML sidecar fitxategiak argazkien metadatuen babeskopia egiteko." -#: src/page/admin/sessions.vue:417 src/component/photo/edit/info.vue:412 +#: src/page/admin/sessions.vue:422 src/component/photo/edit/info.vue:412 msgid "Created" msgstr "Sortu" @@ -842,11 +864,11 @@ msgstr "Miniaturak sortzen" msgid "Cubic: Moderate Quality, Good Performance" msgstr "Kubikoa: kalitate ertaina, errendimendu ona" -#: src/component/settings/password.vue:85 +#: src/component/settings/password.vue:86 msgid "Current Password" msgstr "oraingo pasahitza" -#: src/options/themes.js:919 src/options/themes.js:928 +#: src/options/themes.js:920 src/options/themes.js:929 msgid "Custom" msgstr "Pertsonalizatua" @@ -862,11 +884,11 @@ msgstr "Egunero" msgid "Database Backups" msgstr "Datu-basearen babeskopiak" -#: src/page/settings/account.vue:450 src/component/photo/edit/details.vue:110 +#: src/page/settings/account.vue:456 src/component/photo/edit/details.vue:112 msgid "Day" msgstr "Eguna" -#: src/component/settings/passcode.vue:445 +#: src/component/settings/passcode.vue:448 msgid "Deactivate" msgstr "Desaktibatu" @@ -874,36 +896,40 @@ msgstr "Desaktibatu" msgid "Debug Logs" msgstr "Arazte-erregistroak" -#: src/options/admin.js:31 src/page/admin/sessions.vue:136 -#: src/page/admin/users.vue:176 src/component/photo/edit/info.vue:47 +#: src/options/admin.js:35 src/page/admin/sessions.vue:136 +#: src/page/admin/users.vue:178 src/component/photo/edit/info.vue:47 #: src/component/photo/edit/info.vue:110 src/model/session.js:66 -#: src/model/user.js:246 src/options/auth.js:20 src/options/auth.js:21 -#: src/options/auth.js:39 src/options/auth.js:40 src/options/options.js:196 +#: src/model/user.js:246 src/options/auth.js:21 src/options/auth.js:22 +#: src/options/auth.js:40 src/options/auth.js:41 src/options/options.js:196 #: src/options/options.js:232 src/options/options.js:316 -#: src/options/themes.js:773 +#: src/options/themes.js:774 msgid "Default" msgstr "Lehenetsia" -#: src/component/service/edit.vue:123 +#: src/component/service/edit.vue:124 msgid "Default Folder" msgstr "Karpeta lehenetsia" #: src/component/session/remove/dialog.vue:56 #: src/component/user/remove/dialog.vue:56 src/component/album/clipboard.vue:97 -#: src/component/album/delete/dialog.vue:54 -#: src/component/file/delete/dialog.vue:58 src/component/label/clipboard.vue:58 -#: src/component/label/delete/dialog.vue:58 +#: src/component/album/delete/dialog.vue:54 src/component/album/toolbar.vue:137 +#: src/component/file/delete/dialog.vue:59 src/component/label/clipboard.vue:58 +#: src/component/label/delete/dialog.vue:59 #: src/component/photo/clipboard.vue:168 src/component/photo/edit/files.vue:238 -#: src/component/service/remove.vue:60 src/component/share/dialog.vue:170 +#: src/component/service/remove.vue:61 src/component/share/dialog.vue:170 #: src/page/settings/general.vue:457 msgid "Delete" msgstr "Ezabatu" +#: src/component/album/toolbar.vue:133 +msgid "Delete Album" +msgstr "Ezabatu albuma" + #: src/component/photo/toolbar.vue:119 src/page/library/errors.vue:95 msgid "Delete All" msgstr "Ezabatu guztiak" -#: src/component/photo/toolbar.vue:433 src/page/library/errors.vue:193 +#: src/component/photo/toolbar.vue:435 src/page/library/errors.vue:193 msgid "Delete all?" msgstr "Guztiak ezabatu?" @@ -911,16 +937,16 @@ msgstr "Guztiak ezabatu?" msgid "Delete orphaned index entries, sidecar files and thumbnails." msgstr "Ezabatu umezurtz indize-sarrerak, sidecar fitxategiak eta miniaturak." -#: src/component/album/edit/dialog.vue:107 src/page/albums.vue:411 +#: src/component/album/edit/dialog.vue:108 src/page/albums.vue:411 msgid "Description" msgstr "Deskribapena" -#: src/component/settings/webdav.vue:115 +#: src/component/settings/webdav.vue:116 msgid "Detailed instructions can be found in our User Guide." msgstr "Argibide zehatzak gure Erabiltzailearen Gidan aurki daitezke." -#: src/component/photo/edit/dialog.vue:156 -#: src/component/photo/edit/dialog.vue:173 +#: src/component/photo/edit/dialog.vue:162 +#: src/component/photo/edit/dialog.vue:181 msgid "Details" msgstr "Xehetasunak" @@ -984,8 +1010,8 @@ msgstr "Grafiko bektorialen euskarria desgaitzen du." msgid "Disables video transcoding and thumbnail extraction." msgstr "Bideoen transkodeketa eta irudi txikien erauzketa desgaitzen ditu." -#: src/app/routes.js:558 src/app/routes.js:565 src/app/routes.js:572 -#: src/app/routes.js:579 +#: src/app/routes.js:566 src/app/routes.js:573 src/app/routes.js:580 +#: src/app/routes.js:587 msgid "Discover" msgstr "Ezagutu" @@ -993,9 +1019,9 @@ msgstr "Ezagutu" msgid "Dismiss" msgstr "Baztertu" -#: src/component/user/add/dialog.vue:133 src/component/user/add/dialog.vue:134 -#: src/component/user/edit/dialog.vue:163 -#: src/component/user/edit/dialog.vue:164 src/page/admin/users.vue:72 +#: src/component/user/add/dialog.vue:134 src/component/user/add/dialog.vue:135 +#: src/component/user/edit/dialog.vue:164 +#: src/component/user/edit/dialog.vue:165 src/page/admin/users.vue:74 #: src/page/settings/account.vue:149 src/page/settings/account.vue:151 msgid "Display Name" msgstr "Bistaratzeko izena" @@ -1010,12 +1036,12 @@ msgstr "Bistaratu irudien izenburuak bilaketa-emaitzetan." #: src/component/photo/view/cards.vue:339 #: src/component/photo/view/cards.vue:521 -#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:174 +#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:176 #: src/options/options.js:309 msgid "Document" msgstr "Dokumentua" -#: src/component/navigation.vue:480 +#: src/component/navigation.vue:482 msgid "Documents" msgstr "Dokumentuak" @@ -1031,16 +1057,16 @@ msgstr "Ez erabili ImageMagick irudiak bihurtzeko." msgid "Don't use RawTherapee to convert RAW images." msgstr "Ez erabili RawTherapee RAW irudiak bihurtzeko." -#: src/component/settings/apps.vue:238 src/component/share/dialog.vue:29 +#: src/component/settings/apps.vue:241 src/component/share/dialog.vue:29 msgid "Done" msgstr "Eginda" -#: src/component/upload/dialog.vue:135 src/page/library/import.vue:46 +#: src/component/upload/dialog.vue:137 src/page/library/import.vue:46 #: src/page/library/index.vue:52 msgid "Done." msgstr "Eginda." -#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:118 +#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:123 #: src/component/file/clipboard.vue:48 src/component/lightbox.vue:1235 #: src/component/people/clipboard.vue:47 src/component/photo/clipboard.vue:116 #: src/component/photo/edit/files.vue:168 src/page/settings/content.vue:331 @@ -1052,7 +1078,7 @@ msgstr "Deskargatu" msgid "Download only original media files, without any automatically generated files." msgstr "Deskargatu jatorrizko multimedia fitxategiak soilik, automatikoki sortutako fitxategirik gabe." -#: src/component/service/edit.vue:237 +#: src/component/service/edit.vue:238 msgid "Download remote files" msgstr "Deskargatu urruneko fitxategiak" @@ -1060,9 +1086,9 @@ msgstr "Deskargatu urruneko fitxategiak" msgid "Download single files and zip archives." msgstr "Deskargatu fitxategi bakarrak eta zip artxiboak." -#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:157 +#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:172 #: src/component/file/clipboard.vue:61 src/component/label/clipboard.vue:86 -#: src/component/lightbox.vue:2021 src/component/people/clipboard.vue:59 +#: src/component/lightbox.vue:2041 src/component/people/clipboard.vue:59 #: src/component/photo/clipboard.vue:220 src/component/photo/edit/files.vue:119 #: src/component/photo/view/cards.vue:169 src/component/photo/view/list.vue:142 #: src/page/library/browse.vue:139 @@ -1077,7 +1103,7 @@ msgstr "Beherapen-iragazkia" msgid "Drag and drop files here" msgstr "Arrastatu eta jaregin fitxategiak hemen" -#: src/page/about/feedback.vue:61 +#: src/page/about/feedback.vue:62 msgid "Due to the high volume of emails we receive, our team may be unable to get back to you immediately." msgstr "Jasotzen ditugun mezu elektronikoen bolumen handia dela eta, baliteke gure taldeak ezin izatea zurekin berehala itzuli." @@ -1097,23 +1123,23 @@ msgstr "Aurrebista dinamikoak" msgid "Dynamic Size Limit: %{n}px" msgstr "Tamaina dinamikoaren muga: %{n}px" -#: src/page/about/feedback.vue:141 src/page/about/feedback.vue:140 +#: src/page/about/feedback.vue:142 src/page/about/feedback.vue:141 msgid "E-Mail" msgstr "Posta elektronikoa" -#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:89 +#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:94 #: src/component/lightbox.vue:1136 src/component/lightbox.vue:1137 #: src/component/photo/clipboard.vue:90 src/page/settings/general.vue:407 msgid "Edit" msgstr "Editatu" -#: src/component/album/edit/dialog.vue:54 -#: src/component/label/edit/dialog.vue:52 -#: src/component/people/edit/dialog.vue:52 +#: src/component/album/edit/dialog.vue:55 +#: src/component/label/edit/dialog.vue:53 +#: src/component/people/edit/dialog.vue:53 msgid "Edit %{s}" msgstr "Editatu %{s}" -#: src/component/user/edit/dialog.vue:61 src/component/service/edit.vue:79 +#: src/component/user/edit/dialog.vue:62 src/component/service/edit.vue:79 msgid "Edit Account" msgstr "Editatu kontua" @@ -1125,8 +1151,8 @@ msgstr "Editatu argazkia" msgid "Edited" msgstr "Editatua" -#: src/component/user/add/dialog.vue:151 src/component/user/edit/dialog.vue:213 -#: src/page/settings/account.vue:171 src/page/settings/account.vue:593 +#: src/component/user/add/dialog.vue:152 src/component/user/edit/dialog.vue:214 +#: src/page/settings/account.vue:171 src/page/settings/account.vue:599 msgid "Email" msgstr "Posta elektronikoa" @@ -1142,7 +1168,7 @@ msgstr "Gaitu osatugabeak edo ezegonkorrak izan daitezkeen eginbide berriak." msgid "Enables RAW converter presets. May reduce performance." msgstr "RAW bihurgailuaren aurrezarpenak gaitzen ditu. Errendimendua murriztu dezake." -#: src/component/settings/passcode.vue:127 +#: src/component/settings/passcode.vue:130 msgid "Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account." msgstr "Bi faktoreko autentifikazioa gaitzeak esan nahi du ausaz sortutako egiaztapen-kode bat beharko duzula saioa hasteko; beraz, norbaitek zure pasahitza atzitzen badu ere, ezin izango du zure kontuan sartu." @@ -1154,7 +1180,7 @@ msgstr "Sartu data" msgid "Enter dates" msgstr "Sartu datak" -#: src/component/settings/passcode.vue:213 src/page/auth/login.vue:104 +#: src/component/settings/passcode.vue:216 src/page/auth/login.vue:104 msgid "Enter the code generated by your authenticator app:" msgstr "Sartu zure autentifikazio-aplikazioak sortutako kodea:" @@ -1162,7 +1188,7 @@ msgstr "Sartu zure autentifikazio-aplikazioak sortutako kodea:" msgid "Enter verification code" msgstr "Sartu egiaztapen-kodea" -#: src/component/settings/apps.vue:109 +#: src/component/settings/apps.vue:112 msgid "Enter your password to confirm the action and continue:" msgstr "Sartu pasahitza ekintza berresteko eta jarraitu:" @@ -1171,7 +1197,7 @@ msgstr "Sartu pasahitza ekintza berresteko eta jarraitu:" msgid "Error" msgstr "Errorea" -#: src/app/routes.js:374 src/component/navigation.vue:1348 +#: src/app/routes.js:382 src/component/navigation.vue:1372 msgid "Errors" msgstr "Akatsak" @@ -1207,13 +1233,13 @@ msgstr "ExifTool-ekin metadatuak erauztea beharrezkoa da Bideo, Live Photo eta X msgid "Experimental Features" msgstr "Ezaugarri esperimentalak" -#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:453 -#: src/component/service/edit.vue:157 src/component/settings/apps.vue:73 -#: src/component/settings/apps.vue:326 src/component/share/dialog.vue:62 +#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:458 +#: src/component/service/edit.vue:158 src/component/settings/apps.vue:73 +#: src/component/settings/apps.vue:329 src/component/share/dialog.vue:62 msgid "Expires" msgstr "Iraungitzen da" -#: src/component/photo/edit/details.vue:396 +#: src/component/photo/edit/details.vue:370 msgid "Exposure" msgstr "Esposizio" @@ -1221,7 +1247,7 @@ msgstr "Esposizio" msgid "Extract still images and generate thumbnails while indexing." msgstr "Atera irudi finkoak eta sortu miniaturak indexatzen dituzun bitartean." -#: src/component/photo/edit/details.vue:444 +#: src/component/photo/edit/details.vue:418 msgid "F Number" msgstr "F Zenbakia" @@ -1237,7 +1263,7 @@ msgstr "Aurpegiak" msgid "Failed removing link" msgstr "Ezin izan da esteka kendu" -#: src/page/connect.vue:106 src/page/connect.vue:110 +#: src/page/connect.vue:107 src/page/connect.vue:111 msgid "Failed to connect account." msgstr "Ezin izan da konektatu kontua." @@ -1245,8 +1271,8 @@ msgstr "Ezin izan da konektatu kontua." msgid "Failed updating link" msgstr "Ezin izan da eguneratu esteka" -#: src/component/user/edit/dialog.vue:143 -#: src/component/user/edit/dialog.vue:144 src/page/settings/account.vue:128 +#: src/component/user/edit/dialog.vue:144 +#: src/component/user/edit/dialog.vue:145 src/page/settings/account.vue:128 #: src/page/settings/account.vue:130 msgid "Family Name" msgstr "Abizena" @@ -1255,15 +1281,15 @@ msgstr "Abizena" msgid "Fast" msgstr "Azkar" -#: src/component/album/edit/dialog.vue:159 -#: src/component/label/edit/dialog.vue:85 -#: src/component/people/edit/dialog.vue:85 +#: src/component/album/edit/dialog.vue:160 +#: src/component/label/edit/dialog.vue:86 +#: src/component/people/edit/dialog.vue:86 #: src/component/photo/edit/info.vue:287 msgid "Favorite" msgstr "Gogokoena" -#: src/app/routes.js:222 src/component/navigation.vue:893 -#: src/options/options.js:202 src/page/albums.vue:97 +#: src/app/routes.js:230 src/component/navigation.vue:903 +#: src/options/options.js:202 src/page/albums.vue:98 msgid "Favorites" msgstr "Gogokoak" @@ -1271,7 +1297,7 @@ msgstr "Gogokoak" msgid "Feature Request" msgstr "Ezaugarrien eskaera" -#: src/component/navigation.vue:1456 +#: src/component/navigation.vue:1482 msgid "Feedback" msgstr "Iritzia" @@ -1279,11 +1305,12 @@ msgstr "Iritzia" msgid "Female" msgstr "Emakumezkoa" -#: src/component/photo/edit/info.vue:214 src/model/file.js:290 +#: src/component/photo/edit/info.vue:57 src/component/photo/edit/info.vue:214 +#: src/model/file.js:290 msgid "File" msgstr "Fitxategia" -#: src/app/routes.js:343 +#: src/app/routes.js:351 msgid "File Browser" msgstr "Fitxategien arakatzailea" @@ -1306,8 +1333,8 @@ msgstr "Fitxategiaren Tamaina" msgid "Filename" msgstr "Fitxategi izena" -#: src/component/navigation.vue:1930 src/component/photo/edit/dialog.vue:267 -#: src/component/photo/edit/dialog.vue:284 +#: src/component/navigation.vue:1973 src/component/photo/edit/dialog.vue:279 +#: src/component/photo/edit/dialog.vue:298 msgid "Files" msgstr "Fitxategiak" @@ -1319,26 +1346,26 @@ msgstr "'IMG_1234 (2)' eta 'IMG_1234 (3)' bezalako izen sekuentzialak dituzten f msgid "First page" msgstr "Lehen orrialdea" -#: src/component/photo/edit/details.vue:465 +#: src/component/photo/edit/details.vue:439 msgid "Focal Length" msgstr "Fokua" -#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:118 -#: src/component/service/edit.vue:189 src/component/service/edit.vue:194 -#: src/component/service/upload.vue:90 src/component/service/upload.vue:96 +#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:119 +#: src/component/service/edit.vue:190 src/component/service/edit.vue:195 +#: src/component/service/upload.vue:91 src/component/service/upload.vue:97 #: src/model/folder.js:199 src/page/library/browse.vue:182 msgid "Folder" msgstr "Karpeta" -#: src/page/library/browse.vue:365 +#: src/page/library/browse.vue:367 msgid "Folder contains %{n} files" msgstr "Karpetak %{n} fitxategi ditu" -#: src/page/library/browse.vue:356 +#: src/page/library/browse.vue:358 msgid "Folder is empty" msgstr "Karpeta hutsik dago" -#: src/app/routes.js:202 src/component/navigation.vue:1225 +#: src/app/routes.js:210 src/component/navigation.vue:1247 #: src/options/options.js:207 msgid "Folders" msgstr "Karpetak" @@ -1355,7 +1382,7 @@ msgstr "FPS" msgid "Frames" msgstr "Markoak" -#: src/options/auth.js:54 src/options/auth.js:64 +#: src/options/auth.js:55 src/options/auth.js:65 msgid "Full Access" msgstr "Sarbide osoa" @@ -1367,7 +1394,7 @@ msgstr "Pantaila osoa" msgid "General" msgstr "Orokorra" -#: src/component/settings/apps.vue:364 +#: src/component/settings/apps.vue:367 msgid "Generate" msgstr "Sortu" @@ -1387,8 +1414,8 @@ msgstr "Sortutakoa" msgid "Get Started" msgstr "Hasi" -#: src/component/user/edit/dialog.vue:120 -#: src/component/user/edit/dialog.vue:121 src/page/settings/account.vue:106 +#: src/component/user/edit/dialog.vue:121 +#: src/component/user/edit/dialog.vue:122 src/page/settings/account.vue:106 #: src/page/settings/account.vue:108 msgid "Given Name" msgstr "Emandako izena" @@ -1413,7 +1440,7 @@ msgstr "Berdea" msgid "Grey" msgstr "Grisa" -#: src/options/admin.js:22 src/options/auth.js:10 +#: src/options/admin.js:26 src/options/auth.js:11 msgid "Guest" msgstr "Gonbidatua" @@ -1429,15 +1456,15 @@ msgstr "Laguntza" msgid "Help & Support" msgstr "Laguntza eta laguntza" -#: src/component/navigation.vue:1327 src/component/people/edit/dialog.vue:98 +#: src/component/navigation.vue:1351 src/component/people/edit/dialog.vue:99 msgid "Hidden" msgstr "Ezkutuan" -#: src/app/routes.js:358 +#: src/app/routes.js:366 msgid "Hidden Files" msgstr "Ezkutuko Fitxategiak" -#: src/page/people/new.vue:165 src/page/people/recognized.vue:205 +#: src/page/people/new.vue:166 src/page/people/recognized.vue:206 msgid "Hide" msgstr "Ezkutatu" @@ -1453,7 +1480,7 @@ msgstr "Alta" msgid "High Dynamic Range (HDR)" msgstr "Gama dinamiko handia (HDR)" -#: src/page/about/feedback.vue:103 +#: src/page/about/feedback.vue:104 msgid "How can we help?" msgstr "Nola lagundu dezakegu?" @@ -1461,11 +1488,11 @@ msgstr "Nola lagundu dezakegu?" msgid "Hybrid" msgstr "Hibridoa" -#: src/component/settings/passcode.vue:389 +#: src/component/settings/passcode.vue:392 msgid "If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account." msgstr "Zure autentifikazio-aplikaziorako edo gailurako sarbidea galtzen baduzu, berreskuratzeko kodea erabil dezakezu zure konturako sarbidea berreskuratzeko." -#: src/component/photo/edit/info.vue:63 src/component/photo/edit/labels.vue:46 +#: src/component/photo/edit/info.vue:65 src/component/photo/edit/labels.vue:46 #: src/component/photo/view/cards.vue:532 src/model/file.js:218 #: src/options/options.js:281 msgid "Image" @@ -1475,7 +1502,7 @@ msgstr "Irudia" msgid "Image Quality" msgstr "Irudiaren Kalitatea" -#: src/page/library.vue:46 src/page/library/import.vue:152 +#: src/page/library.vue:46 src/page/library/import.vue:153 #: src/page/settings/general.vue:357 msgid "Import" msgstr "Inportatu" @@ -1500,8 +1527,8 @@ msgstr "%{s} inportatzen…" msgid "Importing files to originals…" msgstr "Fitxategiak jatorrizkoetara inportatzen…" -#: src/component/photo/edit/files.vue:515 -#: src/component/photo/edit/files.vue:520 +#: src/component/photo/edit/files.vue:517 +#: src/component/photo/edit/files.vue:522 msgid "in" msgstr "urtean" @@ -1519,11 +1546,11 @@ msgstr "Sartu RAW irudi-fitxategiak pila eta artxiboak deskargatzean." msgid "Include sidecar files when downloading stacks and archives." msgstr "Sartu sidecar fitxategiak pilak eta artxiboak deskargatzean." -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Increase storage size or delete files to continue." msgstr "Aurrera egiteko, handitu biltegiratze-tamaina edo ezabatu fitxategiak." -#: src/component/navigation.vue:1946 src/page/library.vue:36 +#: src/component/navigation.vue:1990 src/page/library.vue:36 #: src/page/settings/content.vue:34 msgid "Index" msgstr "Aurkibidea" @@ -1553,11 +1580,11 @@ msgstr "Informazioa" msgid "Instance ID" msgstr "Instantziaren IDa" -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Insufficient storage." msgstr "Biltegiratze nahikoa ez." -#: src/component/service/edit.vue:209 +#: src/component/service/edit.vue:210 msgid "Interval" msgstr "Tartea" @@ -1578,7 +1605,7 @@ msgstr "Helbide baliogabea" msgid "Invalid country" msgstr "Herrialde baliogabea" -#: src/component/photo/edit/details.vue:174 +#: src/component/photo/edit/details.vue:169 msgid "Invalid date" msgstr "Data baliogabea" @@ -1587,7 +1614,7 @@ msgstr "Data baliogabea" msgid "Invalid parameters" msgstr "Parametro baliogabeak" -#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:197 +#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:199 msgid "Invalid photo selected" msgstr "Argazki baliogabea hautatu da" @@ -1599,8 +1626,8 @@ msgstr "Ordua baliogabea" msgid "Invalid URL" msgstr "URL baliogabea" -#: src/component/settings/passcode.vue:314 -#: src/component/settings/passcode.vue:391 +#: src/component/settings/passcode.vue:317 +#: src/component/settings/passcode.vue:394 msgid "It is a one-time use code that will disable 2FA for your account when you use it." msgstr "Erabilera bakarreko kodea da, erabiltzen duzunean zure konturako 2FA desgaituko duena." @@ -1624,7 +1651,7 @@ msgstr "JPEG tamaina muga: %{n}px" msgid "JPEGs and thumbnails are automatically rendered as needed." msgstr "JPEG eta miniaturak automatikoki errendatzen dira behar bezala." -#: src/component/photo/edit/details.vue:581 +#: src/component/photo/edit/details.vue:555 msgid "Keywords" msgstr "Gako-hitzak" @@ -1633,9 +1660,9 @@ msgstr "Gako-hitzak" msgid "Label" msgstr "Etiketa" -#: src/app/routes.js:389 src/component/navigation.vue:1177 -#: src/component/photo/edit/dialog.vue:188 -#: src/component/photo/edit/dialog.vue:205 src/options/options.js:206 +#: src/app/routes.js:397 src/component/navigation.vue:1197 +#: src/component/photo/edit/dialog.vue:196 +#: src/component/photo/edit/dialog.vue:215 src/options/options.js:206 #: src/page/settings/general.vue:255 msgid "Labels" msgstr "Etiketak" @@ -1652,11 +1679,11 @@ msgstr "Lanczos: Xehetasunen kontserbazioa, artefaktu minimoak" msgid "Language" msgstr "Hizkuntza" -#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:435 +#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:440 msgid "Last Active" msgstr "Azken Aktiboa" -#: src/page/admin/users.vue:81 +#: src/page/admin/users.vue:83 msgid "Last Login" msgstr "Azken saioa" @@ -1672,42 +1699,41 @@ msgstr "Azken sinkronizazioa" msgid "Last Used" msgstr "Azken erabilia" -#: src/component/photo/edit/details.vue:298 #: src/component/photo/edit/info.vue:373 msgid "Latitude" msgstr "Latitudea" -#: src/options/admin.js:43 src/options/auth.js:29 +#: src/options/admin.js:47 src/options/auth.js:30 msgid "LDAP/AD" msgstr "LDAP/AD" -#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:86 -#: src/page/about/about.vue:62 src/page/about/about.vue:132 +#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:87 +#: src/page/about/about.vue:62 src/page/about/about.vue:133 #: src/page/connect.vue:67 src/page/help.vue:36 msgid "Learn more" msgstr "Gehiago ikasi" -#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:135 +#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:137 #: src/page/labels.vue:132 msgid "Learn More" msgstr "Argibide gehiago" -#: src/component/navigation.vue:2017 +#: src/component/navigation.vue:2066 msgid "Legal Information" msgstr "Informazio juridikoa" -#: src/component/photo/edit/details.vue:417 +#: src/component/photo/edit/details.vue:391 #: src/component/photo/view/cards.vue:480 msgid "Lens" msgstr "Lentea" -#: src/app/routes.js:443 src/app/routes.js:459 src/app/routes.js:475 -#: src/component/navigation.vue:1267 src/page/settings/general.vue:507 +#: src/app/routes.js:451 src/app/routes.js:467 src/app/routes.js:483 +#: src/component/navigation.vue:1290 src/page/settings/general.vue:507 msgid "Library" msgstr "Liburutegia" #: src/page/connect.vue:45 src/app/routes.js:69 -#: src/component/navigation.vue:1478 src/component/photo/edit/details.vue:559 +#: src/component/navigation.vue:1504 src/component/photo/edit/details.vue:533 #: src/page/about/license.vue:28 msgid "License" msgstr "Lizentzia" @@ -1720,7 +1746,7 @@ msgstr "Atsegin dut" msgid "Lime" msgstr "Karea" -#: src/page/library/browse.vue:369 +#: src/page/library/browse.vue:371 msgid "Limit reached, showing first %{n} files" msgstr "Muga iritsi da, lehen %{n} fitxategi erakusten" @@ -1728,7 +1754,7 @@ msgstr "Muga iritsi da, lehen %{n} fitxategi erakusten" msgid "Linear: Very Smooth, Best Performance" msgstr "Lineala: oso leuna, errendimendu onena" -#: src/model/link.js:117 src/options/auth.js:30 src/options/auth.js:31 +#: src/model/link.js:117 src/options/auth.js:31 src/options/auth.js:32 msgid "Link" msgstr "Esteka" @@ -1746,7 +1772,7 @@ msgstr "Zerrenda Ikuspegia" msgid "Live" msgstr "Zuzenean" -#: src/app/routes.js:236 src/component/navigation.vue:749 +#: src/app/routes.js:244 src/component/navigation.vue:755 msgid "Live Photos" msgstr "Zuzeneko Argazkiak" @@ -1762,21 +1788,24 @@ msgstr "Elementuak kargatzen..." msgid "Loading..." msgstr "Kargatzen..." -#: src/options/admin.js:35 src/options/auth.js:22 src/options/auth.js:27 +#: src/options/admin.js:39 src/options/auth.js:23 src/options/auth.js:28 #: src/options/options.js:38 src/page/settings/general.vue:107 msgid "Local" msgstr "Tokikoa" -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Local Time" msgstr "Tokiko Ordua" -#: src/page/settings/account.vue:665 src/page/settings/account.vue:667 -#: src/component/album/edit/dialog.vue:92 src/component/photo/edit/info.vue:65 -#: src/component/photo/edit/labels.vue:48 +#: src/page/settings/account.vue:671 src/page/settings/account.vue:673 +#: src/component/album/edit/dialog.vue:93 +#: src/component/photo/edit/details.vue:38 +#: src/component/photo/edit/details.vue:116 +#: src/component/photo/edit/details.vue:210 +#: src/component/photo/edit/info.vue:67 src/component/photo/edit/labels.vue:48 #: src/component/photo/view/cards.vue:555 src/component/photo/view/list.vue:117 -#: src/component/sidebar/info.vue:107 src/page/albums.vue:99 -#: src/page/settings/account.vue:557 src/page/settings/account.vue:559 +#: src/component/sidebar/info.vue:107 src/page/albums.vue:100 +#: src/page/settings/account.vue:563 src/page/settings/account.vue:565 msgid "Location" msgstr "Kokapena" @@ -1784,20 +1813,19 @@ msgstr "Kokapena" msgid "Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues." msgstr "Erregistro-mezuak hemen agertzen dira PhotoPrism-ek hautsitako fitxategiak aurkitzen dituen bakoitzean edo beste arazo potentzial batzuk daudenean." -#: src/component/navigation.vue:1552 src/component/navigation.vue:1840 +#: src/component/navigation.vue:1579 src/component/navigation.vue:1877 msgid "Login" msgstr "Saioa hasi" -#: src/component/navigation.vue:1759 +#: src/component/navigation.vue:1791 msgid "Logout" msgstr "Saioa amaitu" -#: src/component/navigation.vue:1962 src/page/library.vue:59 +#: src/component/navigation.vue:2007 src/page/library.vue:59 #: src/page/settings/general.vue:557 msgid "Logs" msgstr "Erregistroak" -#: src/component/photo/edit/details.vue:324 #: src/component/photo/edit/info.vue:379 msgid "Longitude" msgstr "Luzera" @@ -1810,7 +1838,7 @@ msgstr "Baxua" msgid "Magenta" msgstr "Magenta" -#: src/component/photo/edit/files.vue:489 +#: src/component/photo/edit/files.vue:491 msgid "Main Color" msgstr "Kolore Nagusia" @@ -1818,12 +1846,16 @@ msgstr "Kolore Nagusia" msgid "Male" msgstr "Gizonezkoa" -#: src/page/connect.vue:164 src/page/connect.vue:246 -#: src/page/about/about.vue:171 src/page/connect.vue:168 -#: src/page/connect.vue:255 +#: src/page/connect.vue:165 src/page/connect.vue:248 +#: src/page/about/about.vue:173 src/page/connect.vue:169 +#: src/page/connect.vue:257 msgid "Manage Account" msgstr "Kudeatu kontua" +#: src/options/admin.js:10 src/options/auth.js:7 +msgid "Manager" +msgstr "Kudeatzailea" + #: src/component/photo/edit/info.vue:49 src/component/photo/edit/labels.vue:38 msgid "Manual" msgstr "Eskuliburua" @@ -1840,11 +1872,11 @@ msgstr "Mapak" msgid "Marker" msgstr "Markagailua" -#: src/component/user/add/dialog.vue:69 +#: src/component/user/add/dialog.vue:70 msgid "Maximum number of accounts has been reached." msgstr "Gehienezko kontu kopurura iritsi da." -#: src/app/routes.js:229 src/component/navigation.vue:688 +#: src/app/routes.js:237 src/component/navigation.vue:693 #: src/options/options.js:199 msgid "Media" msgstr "Komunikabideak" @@ -1861,7 +1893,7 @@ msgstr "Kidetza" msgid "Merge %{a} with %{b}?" msgstr "%{a} %{b}rekin bateratu?" -#: src/page/about/feedback.vue:102 +#: src/page/about/feedback.vue:103 msgid "Message" msgstr "Mezua" @@ -1873,7 +1905,7 @@ msgstr "Mezua bidali da" msgid "Metadata" msgstr "Metadatuak" -#: src/options/auth.js:56 src/options/auth.js:72 +#: src/options/auth.js:57 src/options/auth.js:73 msgid "Metrics" msgstr "Metrikak" @@ -1881,7 +1913,7 @@ msgstr "Metrikak" msgid "Minimize" msgstr "Minimizatu" -#: src/component/photo/edit/files.vue:509 src/component/photo/edit/info.vue:367 +#: src/component/photo/edit/files.vue:511 src/component/photo/edit/info.vue:367 msgid "Missing" msgstr "Falta" @@ -1889,17 +1921,17 @@ msgstr "Falta" msgid "Missing or invalid configuration" msgstr "Konfigurazioa falta edo baliogabea" -#: src/app/routes.js:163 src/component/navigation.vue:1129 +#: src/app/routes.js:171 src/component/navigation.vue:1147 #: src/options/options.js:205 src/page/settings/general.vue:230 msgid "Moments" msgstr "Momentuak" -#: src/component/navigation.vue:383 +#: src/component/navigation.vue:385 msgid "Monochrome" msgstr "Monokromoa" -#: src/page/settings/account.vue:475 src/component/photo/edit/details.vue:137 -#: src/component/photo/toolbar.vue:342 +#: src/page/settings/account.vue:481 src/component/photo/edit/details.vue:139 +#: src/component/photo/toolbar.vue:344 msgid "Month" msgstr "Hilabetea" @@ -1919,7 +1951,7 @@ msgstr "Garrantzitsuena" msgid "Move Files" msgstr "Mugitu fitxategiak" -#: src/component/settings/password.vue:107 +#: src/component/settings/password.vue:108 msgid "Must have at least %{n} characters." msgstr "Gutxienez %{n} karaktere izan behar ditu." @@ -1927,20 +1959,20 @@ msgstr "Gutxienez %{n} karaktere izan behar ditu." msgid "Mute" msgstr "Isildu" -#: src/page/about/feedback.vue:121 src/page/about/feedback.vue:122 -#: src/component/album/edit/dialog.vue:77 -#: src/component/label/edit/dialog.vue:71 -#: src/component/people/edit/dialog.vue:71 -#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:57 +#: src/page/about/feedback.vue:122 src/page/about/feedback.vue:123 +#: src/component/album/edit/dialog.vue:78 +#: src/component/label/edit/dialog.vue:72 +#: src/component/people/edit/dialog.vue:72 +#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:59 #: src/component/photo/edit/info.vue:125 src/component/photo/edit/people.vue:36 -#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:310 -#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:286 -#: src/page/albums.vue:98 src/page/auth/login.vue:168 +#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:311 +#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:289 +#: src/page/albums.vue:99 src/page/auth/login.vue:168 #: src/page/people/new.vue:68 src/page/settings/services.vue:37 msgid "Name" msgstr "Izena" -#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:60 +#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:65 #: src/component/label/edit/dialog.vue:19 #: src/component/people/edit/dialog.vue:19 #: src/component/photo/edit/labels.vue:30 @@ -1950,7 +1982,7 @@ msgstr "Izena" msgid "Name too long" msgstr "Izena luzeegia" -#: src/page/admin/users.vue:204 src/options/options.js:361 +#: src/page/admin/users.vue:206 src/options/options.js:361 #: src/options/options.js:371 src/page/settings/services.vue:75 msgid "Never" msgstr "Inoiz ez" @@ -1959,13 +1991,13 @@ msgstr "Inoiz ez" msgid "New" msgstr "Berria" -#: src/component/settings/password.vue:106 +#: src/component/settings/password.vue:107 msgid "New Password" msgstr "pasahitz berria" #: src/component/album/edit/dialog.vue:24 src/component/photo/toolbar.vue:114 #: src/component/photo/toolbar.vue:126 src/component/photo/toolbar.vue:136 -#: src/page/albums.vue:100 +#: src/page/albums.vue:101 msgid "Newest First" msgstr "Berriena Lehenengoa" @@ -1981,15 +2013,15 @@ msgstr "Hurrengo orrialdea" msgid "Next visual" msgstr "Hurrengo bisuala" -#: src/component/people/merge/dialog.vue:47 -#: src/component/photo/archive/dialog.vue:47 +#: src/component/people/merge/dialog.vue:48 +#: src/component/photo/archive/dialog.vue:48 #: src/component/photo/edit/info.vue:281 src/component/photo/edit/info.vue:297 #: src/component/photo/edit/info.vue:313 src/component/photo/edit/info.vue:329 #: src/component/photo/edit/info.vue:344 msgid "No" msgstr "Ez" -#: src/page/albums.vue:607 src/page/albums.vue:282 +#: src/page/albums.vue:612 src/page/albums.vue:282 msgid "No albums found" msgstr "Ez da albumik aurkitu" @@ -1997,7 +2029,7 @@ msgstr "Ez da albumik aurkitu" msgid "No data available" msgstr "Ez dago daturik eskuragarri" -#: src/page/labels.vue:523 src/page/labels.vue:155 +#: src/page/labels.vue:528 src/page/labels.vue:155 msgid "No labels found" msgstr "Ez da etiketarik aurkitu" @@ -2010,15 +2042,15 @@ msgid "No more" msgstr "Ez gehiago" #: src/component/photo/edit/people.vue:34 src/page/people/new.vue:346 -#: src/page/people/new.vue:443 src/page/people/new.vue:103 -#: src/page/people/recognized.vue:531 src/page/people/recognized.vue:146 +#: src/page/people/new.vue:446 src/page/people/new.vue:103 +#: src/page/people/recognized.vue:536 src/page/people/recognized.vue:146 msgid "No people found" msgstr "Ez da jenderik aurkitu" #: src/component/lightbox.vue:365 src/component/photo/view/cards.vue:144 #: src/component/photo/view/list.vue:82 src/component/photo/view/mosaic.vue:68 -#: src/page/album/photos.vue:488 src/page/library/browse.vue:123 -#: src/page/photos.vue:626 src/page/places.vue:624 src/page/places.vue:730 +#: src/page/album/photos.vue:499 src/page/library/browse.vue:123 +#: src/page/photos.vue:636 src/page/places.vue:624 src/page/places.vue:730 msgid "No pictures found" msgstr "Ez da argazkirik aurkitu" @@ -2027,7 +2059,11 @@ msgstr "Ez da argazkirik aurkitu" msgid "No recently edited pictures" msgstr "Ez dago duela gutxi editatutako argazkirik" -#: src/component/navigation.vue:1655 +#: src/component/location/dialog.vue:166 +msgid "No results" +msgstr "Emaitzarik ez" + +#: src/component/navigation.vue:1686 msgid "No server connection" msgstr "Ez dago zerbitzari konexiorik" @@ -2039,7 +2075,7 @@ msgstr "Ez dago zerbitzaririk konfiguratuta." msgid "No services configured." msgstr "Ez dago zerbitzurik konfiguratuta." -#: src/component/confirm/sponsor.vue:72 +#: src/component/confirm/sponsor.vue:73 msgid "No thanks" msgstr "Ez eskerrik asko" @@ -2049,17 +2085,17 @@ msgstr "Ez dago gako-hitz hau duen abisurik edo errorerik. Kontuan izan bilaketa #: src/component/photo/view/cards.vue:154 src/component/photo/view/list.vue:59 #: src/component/photo/view/list.vue:92 src/component/photo/view/mosaic.vue:78 -#: src/component/upload/dialog.vue:208 +#: src/component/upload/dialog.vue:210 msgid "Non-photographic and low-quality images require a review before they appear in search results." msgstr "Argazkiak ez diren eta kalitate baxuko irudiak berrikusi behar dira bilaketa-emaitzetan agertu aurretik." -#: src/options/admin.js:47 src/options/auth.js:32 src/options/options.js:212 +#: src/options/admin.js:51 src/options/auth.js:33 src/options/options.js:212 #: src/options/options.js:328 msgid "None" msgstr "Bat ere ez" -#: src/common/util.js:853 src/component/lightbox.vue:633 -#: src/component/service/upload.vue:75 src/component/service/upload.vue:87 +#: src/component/lightbox.vue:633 src/component/service/upload.vue:75 +#: src/component/service/upload.vue:87 msgid "Not allowed" msgstr "Ez da onartzen" @@ -2071,8 +2107,7 @@ msgstr "Ez da aurkitu" msgid "Not sorted." msgstr "Ez dago sailkatuta." -#: src/common/util.js:858 src/component/lightbox.vue:627 -#: src/component/lightbox.vue:744 +#: src/component/lightbox.vue:627 src/component/lightbox.vue:744 msgid "Not supported" msgstr "Ez da onartzen" @@ -2080,15 +2115,15 @@ msgstr "Ez da onartzen" msgid "Note you may manually manage your originals folder and importing is optional." msgstr "Kontuan izan jatorrizkoen karpeta eskuz kudea dezakezula eta inportatzea aukerakoa da." -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "Note:" msgstr "Ohar:" -#: src/component/service/add.vue:120 +#: src/component/service/add.vue:121 msgid "Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload." msgstr "Oharra: WebDAV zerbitzariak soilik, Nextcloud edo PhotoPrism bezalakoak, urruneko zerbitzu gisa konfigura daitezke babeskopia egiteko eta fitxategiak kargatzeko." -#: src/component/photo/edit/details.vue:603 +#: src/component/photo/edit/details.vue:577 msgid "Notes" msgstr "Oharrak" @@ -2096,8 +2131,8 @@ msgstr "Oharrak" msgid "Nothing to see here yet." msgstr "Hemen oraindik ez dago ezer ikusteko." -#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:115 -#: src/component/settings/apps.vue:390 +#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:125 +#: src/component/settings/apps.vue:393 msgid "Nothing was found." msgstr "Ez da ezer aurkitu." @@ -2105,7 +2140,7 @@ msgstr "Ez da ezer aurkitu." msgid "Offline" msgstr "Lineaz kanpo" -#: src/options/admin.js:39 src/options/auth.js:28 +#: src/options/admin.js:43 src/options/auth.js:29 msgid "OIDC" msgstr "OIDC" @@ -2115,11 +2150,11 @@ msgstr "Ados" #: src/component/album/edit/dialog.vue:25 src/component/photo/toolbar.vue:115 #: src/component/photo/toolbar.vue:127 src/component/photo/toolbar.vue:137 -#: src/page/albums.vue:101 +#: src/page/albums.vue:102 msgid "Oldest First" msgstr "Zaharrena Lehen" -#: src/component/settings/webdav.vue:77 +#: src/component/settings/webdav.vue:78 msgid "On Windows, enter the following resource in the connection dialog:" msgstr "Windows-en, sartu baliabide hau konexio-koadroan:" @@ -2131,11 +2166,11 @@ msgstr "Irudi txikiak eskatuz sortzeak CPU eta memoria erabilera handia eragin d msgid "Once a week" msgstr "Astean behin" -#: src/page/albums.vue:609 +#: src/page/albums.vue:614 msgid "One album found" msgstr "Album bat aurkitu da" -#: src/page/library/browse.vue:358 +#: src/page/library/browse.vue:360 msgid "One file found" msgstr "Fitxategi bat aurkitu da" @@ -2143,24 +2178,24 @@ msgstr "Fitxategi bat aurkitu da" msgid "One file uploaded" msgstr "Fitxategi bat kargatu da" -#: src/page/library/browse.vue:360 +#: src/page/library/browse.vue:362 msgid "One folder found" msgstr "Karpeta bat aurkitu da" -#: src/page/labels.vue:525 +#: src/page/labels.vue:530 msgid "One label found" msgstr "Etiketa bat aurkitu da" -#: src/page/people/new.vue:348 src/page/people/new.vue:445 -#: src/page/people/recognized.vue:533 +#: src/page/people/new.vue:348 src/page/people/new.vue:448 +#: src/page/people/recognized.vue:538 msgid "One person found" msgstr "Pertsona bat aurkitu du" -#: src/page/album/photos.vue:490 src/page/photos.vue:628 +#: src/page/album/photos.vue:501 src/page/photos.vue:638 msgid "One picture found" msgstr "Irudi bat aurkitu da" -#: src/component/settings/passcode.vue:478 +#: src/component/settings/passcode.vue:481 msgid "Only locally managed accounts can be set up for authentication with 2FA." msgstr "Lokalean kudeatutako kontuak soilik konfigura daitezke 2FA-rekin autentifikatzeko." @@ -2168,7 +2203,7 @@ msgstr "Lokalean kudeatutako kontuak soilik konfigura daitezke 2FA-rekin autenti msgid "Open" msgstr "Ireki" -#: src/component/service/add.vue:86 src/component/service/add.vue:107 +#: src/component/service/add.vue:87 src/component/service/add.vue:108 msgid "optional" msgstr "aukerakoa" @@ -2180,7 +2215,7 @@ msgstr "edo" msgid "Orange" msgstr "Laranja" -#: src/page/settings/account.vue:571 src/page/settings/account.vue:573 +#: src/page/settings/account.vue:577 src/page/settings/account.vue:579 msgid "Organization" msgstr "Antolaketa" @@ -2196,7 +2231,7 @@ msgstr "Jatorrizko fitxategi-izenak gorde eta indexatuko dira." msgid "Original Name" msgstr "Jatorrizko izena" -#: src/component/navigation.vue:1304 src/model/file.js:196 +#: src/component/navigation.vue:1328 src/model/file.js:196 #: src/options/options.js:413 src/page/library/browse.vue:65 #: src/page/settings/content.vue:356 src/page/settings/general.vue:532 msgid "Originals" @@ -2207,7 +2242,7 @@ msgstr "Jatorrizkoak" msgid "Other" msgstr "Bestela" -#: src/page/about/about.vue:77 src/page/about/about.vue:83 +#: src/page/about/about.vue:78 src/page/about/about.vue:84 msgid "Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible." msgstr "Gure eginkizuna da erabiltzaileentzako eta pribatutasunerako irtenbiderik egokiena eskaintzea zure argazkiak antolatuta eta eskuragarri mantentzeko." @@ -2219,7 +2254,7 @@ msgstr "Kanpoan" msgid "Page {0}, Current page" msgstr "{0} orria, uneko orria" -#: src/component/photo/edit/files.vue:352 src/model/photo.js:859 +#: src/component/photo/edit/files.vue:352 src/model/photo.js:896 msgid "Pages" msgstr "Orriak" @@ -2231,15 +2266,15 @@ msgstr "Pagination Nabigazioa" msgid "Panorama" msgstr "Panorama" -#: src/component/navigation.vue:402 +#: src/component/navigation.vue:404 msgid "Panoramas" msgstr "Panoramak" -#: src/component/user/add/dialog.vue:114 src/component/user/add/dialog.vue:115 -#: src/component/service/add.vue:106 src/component/service/edit.vue:352 -#: src/component/settings/apps.vue:121 src/component/settings/passcode.vue:106 -#: src/component/settings/passcode.vue:413 src/component/share/dialog.vue:27 -#: src/options/auth.js:91 src/page/auth/login.vue:196 +#: src/component/user/add/dialog.vue:115 src/component/user/add/dialog.vue:116 +#: src/component/service/add.vue:107 src/component/service/edit.vue:353 +#: src/component/settings/apps.vue:124 src/component/settings/passcode.vue:109 +#: src/component/settings/passcode.vue:416 src/component/share/dialog.vue:27 +#: src/options/auth.js:92 src/page/auth/login.vue:196 msgid "Password" msgstr "Pasahitza" @@ -2247,9 +2282,9 @@ msgstr "Pasahitza" msgid "Password changed" msgstr "Pasahitza aldatu da" -#: src/app/routes.js:404 src/app/routes.js:428 src/component/navigation.vue:845 -#: src/component/navigation.vue:1898 src/component/photo/edit/dialog.vue:228 -#: src/component/photo/edit/dialog.vue:245 src/options/options.js:201 +#: src/app/routes.js:412 src/app/routes.js:436 src/component/navigation.vue:853 +#: src/component/navigation.vue:1939 src/component/photo/edit/dialog.vue:238 +#: src/component/photo/edit/dialog.vue:257 src/options/options.js:201 #: src/page/settings/general.vue:180 msgid "People" msgstr "Jendea" @@ -2270,23 +2305,23 @@ msgstr "Kendu fitxategiak betiko biltegia askatzeko." msgid "Person" msgstr "Pertsona" -#: src/options/auth.js:42 +#: src/options/auth.js:43 msgid "Personal" msgstr "Pertsonalak" -#: src/model/photo.js:1273 +#: src/model/photo.js:1310 msgid "Photo" msgstr "Argazkia" -#: src/page/about/about.vue:156 +#: src/page/about/about.vue:158 msgid "PhotoPrism is 100% self-funded and independent." msgstr "PhotoPrism %100 autofinantziatua eta independentea da." -#: src/page/about/about.vue:92 +#: src/page/about/about.vue:93 msgid "PhotoPrism+ Membership" msgstr "PhotoPrism+ Kidetza" -#: src/app/routes.js:156 +#: src/app/routes.js:164 msgid "Photos" msgstr "Argazkiak" @@ -2307,27 +2342,27 @@ msgstr "Lekua" msgid "Place & Time" msgstr "Lekua eta Ordua" -#: src/app/routes.js:303 src/app/routes.js:309 src/app/routes.js:315 -#: src/app/routes.js:330 src/component/navigation.vue:986 -#: src/component/navigation.vue:1914 src/options/options.js:203 +#: src/app/routes.js:311 src/app/routes.js:317 src/app/routes.js:323 +#: src/app/routes.js:338 src/component/navigation.vue:999 +#: src/component/navigation.vue:1956 src/options/options.js:203 #: src/page/places.vue:51 src/page/settings/general.vue:609 #: src/page/settings/general.vue:638 msgid "Places" msgstr "Lekuak" -#: src/component/settings/password.vue:129 +#: src/component/settings/password.vue:130 msgid "Please confirm your new password." msgstr "Mesedez, berretsi pasahitz berria." -#: src/component/settings/apps.vue:185 +#: src/component/settings/apps.vue:188 msgid "Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:" msgstr "Mesedez, kopiatu ausaz sortutako aplikazioaren pasahitza eta gorde leku seguru batean, ezingo baituzu berriro ikusi:" -#: src/component/upload/dialog.vue:203 +#: src/component/upload/dialog.vue:205 msgid "Please do not upload any private, unlawful or offensive pictures." msgstr "Mesedez, ez igo argazki pribatu, legez kanpoko edo iraingarririk." -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Please don't upload photos containing offensive content." msgstr "Mesedez, ez kargatu eduki iraingarria duten argazkirik." @@ -2335,11 +2370,11 @@ msgstr "Mesedez, ez kargatu eduki iraingarria duten argazkirik." msgid "Please enter OTP character {0}" msgstr "Mesedez, idatzi OTP karakterea {0}" -#: src/component/settings/password.vue:66 +#: src/component/settings/password.vue:67 msgid "Please note that changing your password will log you out on other devices and browsers." msgstr "Kontuan izan pasahitza aldatzeak beste gailu eta arakatzaile batzuetan saioa amaituko duzula." -#: src/page/connect.vue:148 src/page/connect.vue:152 +#: src/page/connect.vue:149 src/page/connect.vue:153 msgid "Please restart your instance for the changes to take effect." msgstr "Mesedez, berrabiarazi zure instantzia aldaketak indarrean egon daitezen." @@ -2359,11 +2394,11 @@ msgstr "PNG Tamaina Muga: %{n}px" msgid "Portrait" msgstr "Erretratua" -#: src/component/service/edit.vue:273 +#: src/component/service/edit.vue:274 msgid "Preserve filenames" msgstr "Gorde fitxategi-izenak" -#: src/component/upload/dialog.vue:162 +#: src/component/upload/dialog.vue:164 msgid "Press enter to create a new album." msgstr "Sakatu Sartu album berri bat sortzeko." @@ -2400,8 +2435,8 @@ msgstr "Aurreko bisuala" msgid "Primary" msgstr "Lehen mailakoa" -#: src/app/routes.js:271 src/component/album/edit/dialog.vue:176 -#: src/component/navigation.vue:531 src/component/photo/edit/info.vue:303 +#: src/app/routes.js:279 src/component/album/edit/dialog.vue:177 +#: src/component/navigation.vue:533 src/component/photo/edit/info.vue:303 #: src/page/settings/general.vue:280 msgid "Private" msgstr "Pribatua" @@ -2426,7 +2461,7 @@ msgstr "Kalitate-iragazkia" msgid "Quality Score" msgstr "Kalitate-maila" -#: src/page/admin/users.vue:169 +#: src/page/admin/users.vue:171 msgid "r" msgstr "r" @@ -2457,7 +2492,7 @@ msgstr "Irakurtzeko soilik modua" #: src/component/album/edit/dialog.vue:26 src/component/photo/toolbar.vue:116 #: src/component/photo/toolbar.vue:128 src/component/photo/toolbar.vue:138 -#: src/page/albums.vue:102 +#: src/page/albums.vue:103 msgid "Recently Added" msgstr "Duela gutxi Gehitu" @@ -2465,7 +2500,7 @@ msgstr "Duela gutxi Gehitu" msgid "Recently Archived" msgstr "Duela gutxi artxibatua" -#: src/component/photo/toolbar.vue:139 src/page/albums.vue:103 +#: src/component/photo/toolbar.vue:139 src/page/albums.vue:104 msgid "Recently Edited" msgstr "Berriki editatua" @@ -2490,24 +2525,24 @@ msgstr "Berreskuratzeko Kodea" msgid "Red" msgstr "Gorria" -#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:126 -#: src/component/album/toolbar.vue:79 src/component/photo/toolbar.vue:169 -#: src/page/albums.vue:173 src/page/labels.vue:112 +#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:128 +#: src/component/album/toolbar.vue:84 src/component/photo/toolbar.vue:169 +#: src/page/albums.vue:175 src/page/labels.vue:112 #: src/page/library/browse.vue:90 src/page/library/errors.vue:81 #: src/page/people/new.vue:54 src/page/people/recognized.vue:88 msgid "Refresh" msgstr "Freskatu" -#: src/app/routes.js:337 src/component/navigation.vue:943 -#: src/component/navigation.vue:1026 +#: src/app/routes.js:345 src/component/navigation.vue:955 +#: src/component/navigation.vue:1040 msgid "Regions" msgstr "Eskualdeak" -#: src/page/connect.vue:275 src/page/connect.vue:284 +#: src/page/connect.vue:277 src/page/connect.vue:286 msgid "Register" msgstr "Izena eman" -#: src/component/navigation.vue:1773 src/component/update.vue:68 +#: src/component/navigation.vue:1806 src/component/update.vue:68 msgid "Reload" msgstr "Berriz kargatu" @@ -2552,34 +2587,34 @@ msgstr "Eskatu argazkirik gabeko eta kalitate baxuko irudiak berrikustea bilaket msgid "Resolution" msgstr "Ebazpena" -#: src/page/connect.vue:179 src/page/connect.vue:183 +#: src/page/connect.vue:180 src/page/connect.vue:184 #: src/page/settings/advanced.vue:782 msgid "Restart" msgstr "Berriro hasi" -#: src/component/user/edit/dialog.vue:485 src/component/lightbox.vue:1221 +#: src/component/user/edit/dialog.vue:488 src/component/lightbox.vue:1221 #: src/component/photo/clipboard.vue:77 msgid "Restore" msgstr "Berreskuratu" -#: src/component/lightbox.vue:2000 +#: src/component/lightbox.vue:2020 msgid "Restored" msgstr "Zaharberritua" -#: src/component/service/edit.vue:428 +#: src/component/service/edit.vue:429 msgid "Retry Limit" msgstr "Berriro saiatu muga" -#: src/component/settings/password.vue:128 +#: src/component/settings/password.vue:129 msgid "Retype Password" msgstr "Berriro idatzi pasahitza" -#: src/app/routes.js:264 src/component/navigation.vue:505 +#: src/app/routes.js:272 src/component/navigation.vue:507 msgid "Review" msgstr "Berrikuspena" -#: src/component/user/add/dialog.vue:171 src/component/user/edit/dialog.vue:284 -#: src/page/admin/sessions.vue:262 src/page/admin/users.vue:73 +#: src/component/user/add/dialog.vue:172 src/component/user/edit/dialog.vue:285 +#: src/page/admin/sessions.vue:263 src/page/admin/users.vue:75 msgid "Role" msgstr "Rola" @@ -2591,11 +2626,11 @@ msgstr "Orrialde bakoitzeko errenkadak:" msgid "Satellite" msgstr "Satelitea" -#: src/component/user/edit/dialog.vue:485 -#: src/component/album/edit/dialog.vue:211 -#: src/component/label/edit/dialog.vue:119 -#: src/component/people/edit/dialog.vue:132 src/component/service/edit.vue:466 -#: src/component/settings/password.vue:172 src/component/share/dialog.vue:181 +#: src/component/user/edit/dialog.vue:488 +#: src/component/album/edit/dialog.vue:212 +#: src/component/label/edit/dialog.vue:120 +#: src/component/people/edit/dialog.vue:133 src/component/service/edit.vue:467 +#: src/component/settings/password.vue:173 src/component/share/dialog.vue:181 msgid "Save" msgstr "Gorde" @@ -2603,23 +2638,23 @@ msgstr "Gorde" msgid "Scan" msgstr "Eskaneatu" -#: src/component/settings/passcode.vue:179 +#: src/component/settings/passcode.vue:182 msgid "Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:" msgstr "Eskaneatu QR kodea zure autentifikatzaile aplikazioarekin edo erabili behean agertzen den konfigurazio-gakoa eta idatzi sortutako egiaztapen-kodea:" -#: src/component/navigation.vue:461 +#: src/component/navigation.vue:463 msgid "Scans" msgstr "Eskaneatzea" -#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:377 -#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:310 +#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:381 +#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:313 msgid "Scope" msgstr "Eremua" -#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:62 -#: src/component/navigation.vue:342 src/component/navigation.vue:1866 -#: src/component/photo/toolbar.vue:57 src/options/options.js:197 -#: src/page/albums.vue:100 src/page/labels.vue:77 +#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:69 +#: src/component/location/dialog.vue:133 src/component/navigation.vue:343 +#: src/component/navigation.vue:1905 src/component/photo/toolbar.vue:57 +#: src/options/options.js:197 src/page/albums.vue:100 src/page/labels.vue:77 #: src/page/library/errors.vue:76 src/page/people/recognized.vue:66 #: src/page/places.vue:79 src/page/settings/content.vue:235 msgid "Search" @@ -2657,11 +2692,11 @@ msgstr "Hautatu data" msgid "Select dates" msgstr "Aukeratu datak" -#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:154 +#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:156 msgid "Select or create an album" msgstr "Hautatu edo sortu album bat" -#: src/component/upload/dialog.vue:138 +#: src/component/upload/dialog.vue:140 msgid "Select the files to upload…" msgstr "Hautatu kargatu beharreko fitxategiak…" @@ -2689,7 +2724,7 @@ msgstr "Hautaketa leheneratu da" msgid "Sequential Name" msgstr "Izena sekuentziala" -#: src/component/service/add.vue:67 src/component/service/edit.vue:322 +#: src/component/service/add.vue:68 src/component/service/edit.vue:323 #: src/component/share/dialog.vue:25 msgid "Service URL" msgstr "Zerbitzuaren URLa" @@ -2698,7 +2733,7 @@ msgstr "Zerbitzuaren URLa" msgid "Services" msgstr "Zerbitzuak" -#: src/model/session.js:107 src/options/auth.js:41 src/options/auth.js:90 +#: src/model/session.js:107 src/options/auth.js:42 src/options/auth.js:91 msgid "Session" msgstr "Saioa" @@ -2706,7 +2741,7 @@ msgstr "Saioa" msgid "Session ID" msgstr "Saioaren ID" -#: src/page/admin.vue:45 +#: src/page/admin.vue:44 msgid "Sessions" msgstr "Saioak" @@ -2714,22 +2749,22 @@ msgstr "Saioak" msgid "Set as Album Cover" msgstr "Ezarri albumaren azala" -#: src/app/routes.js:101 src/app/routes.js:492 src/app/routes.js:504 -#: src/app/routes.js:521 src/app/routes.js:534 src/app/routes.js:547 -#: src/component/navigation.vue:1394 src/component/navigation.vue:1806 +#: src/app/routes.js:101 src/app/routes.js:500 src/app/routes.js:512 +#: src/app/routes.js:529 src/app/routes.js:542 src/app/routes.js:555 +#: src/component/navigation.vue:1419 src/component/navigation.vue:1841 msgid "Settings" msgstr "Ezarpenak" #: src/page/settings/account.vue:115 src/page/settings/account.vue:144 -#: src/component/settings/passcode.vue:147 +#: src/component/settings/passcode.vue:151 msgid "Settings saved" msgstr "Ezarpenak gorde dira" -#: src/component/service/upload.vue:131 src/component/settings/passcode.vue:160 +#: src/component/service/upload.vue:132 src/component/settings/passcode.vue:163 msgid "Setup" msgstr "Konfigurazioa" -#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:98 +#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:103 #: src/component/photo/clipboard.vue:51 src/page/settings/general.vue:382 msgid "Share" msgstr "Partekatu" @@ -2746,7 +2781,7 @@ msgstr "Partekatu zure argazkiak beste aplikazio eta zerbitzuekin." msgid "Show" msgstr "Erakutsi" -#: src/page/people/new.vue:116 src/page/people/new.vue:233 +#: src/page/people/new.vue:116 src/page/people/new.vue:235 msgid "Show all new faces" msgstr "Erakutsi aurpegi berri guztiak" @@ -2791,7 +2826,7 @@ msgid "Similar" msgstr "Antzekoa" #: src/component/photo/edit/files.vue:51 src/component/photo/edit/files.vue:341 -#: src/component/service/edit.vue:139 src/component/sidebar/info.vue:96 +#: src/component/service/edit.vue:140 src/component/sidebar/info.vue:96 msgid "Size" msgstr "Tamaina" @@ -2819,7 +2854,7 @@ msgstr "Arazoren bat izan da. Saiatu berriro" msgid "Sort by" msgstr "Ordenatu" -#: src/component/album/edit/dialog.vue:142 src/component/photo/toolbar.vue:288 +#: src/component/album/edit/dialog.vue:143 src/component/photo/toolbar.vue:290 #: src/page/albums.vue:214 msgid "Sort Order" msgstr "Ordenatu ordena" @@ -2854,7 +2889,7 @@ msgstr "Metadatuetan oinarrituta, pilatu ordu eta kokapen berean ateratako argaz msgid "Stackable" msgstr "Pilagarria" -#: src/component/navigation.vue:421 src/page/settings/content.vue:136 +#: src/component/navigation.vue:423 src/page/settings/content.vue:136 msgid "Stacks" msgstr "Pilak" @@ -2882,16 +2917,16 @@ msgstr "Biltegiratzea" msgid "Streets" msgstr "Kaleak" -#: src/component/photo/edit/details.vue:494 +#: src/component/photo/edit/details.vue:468 #: src/component/photo/edit/labels.vue:44 msgid "Subject" msgstr "Gaia" -#: src/page/about/feedback.vue:162 src/page/about/feedback.vue:163 +#: src/page/about/feedback.vue:163 src/page/about/feedback.vue:164 msgid "Submit" msgstr "Bidali" -#: src/component/settings/passcode.vue:132 +#: src/component/settings/passcode.vue:136 msgid "Successfully activated" msgstr "Behar bezala aktibatu da" @@ -2900,23 +2935,23 @@ msgid "Successfully Connected" msgstr "Behar bezala konektatuta" #: src/component/session/remove/dialog.vue:32 -#: src/component/settings/apps.vue:218 +#: src/component/settings/apps.vue:222 msgid "Successfully deleted" msgstr "Behar bezala ezabatu da" -#: src/component/settings/passcode.vue:107 +#: src/component/settings/passcode.vue:108 msgid "Successfully verified" msgstr "Behar bezala egiaztatu da" -#: src/component/user/edit/dialog.vue:398 src/page/admin/users.vue:163 +#: src/component/user/edit/dialog.vue:399 src/page/admin/users.vue:165 msgid "Super Admin" msgstr "Super Administratzailea" -#: src/component/service/add.vue:122 +#: src/component/service/add.vue:123 msgid "Support for additional services, like Google Drive, will be added over time." msgstr "Zerbitzu gehigarrietarako laguntza gehituko da denborarekin, Google Drive adibidez." -#: src/component/confirm/sponsor.vue:37 src/component/navigation.vue:1629 +#: src/component/confirm/sponsor.vue:38 src/component/navigation.vue:1660 msgid "Support Our Mission" msgstr "Lagundu Gure Misioa" @@ -2924,7 +2959,7 @@ msgstr "Lagundu Gure Misioa" msgid "Sync" msgstr "Sinkronizatu" -#: src/component/service/edit.vue:289 +#: src/component/service/edit.vue:290 msgid "Sync raw and video files" msgstr "Sinkronizatu raw eta bideo fitxategiak" @@ -2950,23 +2985,23 @@ msgstr "Lurra" msgid "Text" msgstr "Testua" -#: src/component/photo/edit/details.vue:32 src/page/people/new.vue:71 +#: src/component/photo/edit/details.vue:40 src/page/people/new.vue:71 msgid "Text too long" msgstr "Testua luzeegia" -#: src/page/about/about.vue:145 +#: src/page/about/about.vue:146 msgid "Thank You for Your Support!" msgstr "Eskerrik asko zure laguntzagatik!" -#: src/page/about/about.vue:79 src/page/about/about.vue:85 +#: src/page/about/about.vue:80 src/page/about/about.vue:86 msgid "That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality." msgstr "Horregatik, PhotoPrism oinarritik sortu zen behar duzun tokian exekutatzeko, askatasuna, pribatutasuna edo funtzionaltasuna arriskuan jarri gabe." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "The index currently contains %{n} hidden files." msgstr "Une honetan indizeak ezkutuko %{n} fitxategi ditu." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates." msgstr "Baliteke haien formatua ez onartzea, oraindik ez dira JPEG bihurtu edo bikoiztuak daude." @@ -2981,44 +3016,44 @@ msgstr "Gaia" msgid "This field is required" msgstr "Eremu hau beharrezkoa da" -#: src/component/settings/webdav.vue:100 src/page/settings/services.vue:144 +#: src/component/settings/webdav.vue:101 src/page/settings/services.vue:147 msgid "This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local." msgstr "Honek jatorrizko karpeta sareko unitate gisa muntatzen du eta ordenagailutik edo telefonotik fitxategiak ireki, editatu eta ezaba ditzakezu lokalak balira bezala." -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Time UTC" msgstr "Ordua UTC" -#: src/component/photo/edit/details.vue:219 src/page/settings/general.vue:108 +#: src/component/photo/edit/details.vue:221 src/page/settings/general.vue:108 msgid "Time Zone" msgstr "Ordu eremu" -#: src/component/service/edit.vue:408 +#: src/component/service/edit.vue:409 msgid "Timeout" msgstr "Denboraz kanpo" -#: src/component/user/edit/dialog.vue:98 src/component/user/edit/dialog.vue:99 +#: src/component/user/edit/dialog.vue:99 src/component/user/edit/dialog.vue:100 #: src/page/settings/account.vue:84 src/page/settings/account.vue:86 msgctxt "Account" msgid "Title" msgstr "Izenburua" -#: src/component/photo/edit/details.vue:73 +#: src/component/photo/edit/details.vue:75 msgctxt "Photo" msgid "Title" msgstr "Izenburua" -#: src/component/photo/edit/info.vue:59 src/component/photo/edit/info.vue:155 +#: src/component/photo/edit/info.vue:61 src/component/photo/edit/info.vue:155 #: src/component/photo/edit/labels.vue:40 src/component/photo/view/list.vue:114 #: src/component/sidebar/info.vue:57 msgid "Title" msgstr "Izenburua" -#: src/page/settings/account.vue:553 src/page/settings/account.vue:555 +#: src/page/settings/account.vue:559 src/page/settings/account.vue:561 msgid "Title / Position" msgstr "Izenburua / Kargua" -#: src/page/albums.vue:83 +#: src/page/albums.vue:84 msgid "Title too long" msgstr "Izenburua luzeegia" @@ -3026,19 +3061,19 @@ msgstr "Izenburua luzeegia" msgid "to" msgstr "to" -#: src/component/settings/passcode.vue:312 +#: src/component/settings/passcode.vue:315 msgid "To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place." msgstr "Zure kontutik kanpo gelditzea saihesteko, deskargatu, inprimatu edo kopiatu berreskuratze-kode hau orain eta gorde leku seguru batean." -#: src/component/settings/apps.vue:272 +#: src/component/settings/apps.vue:275 msgid "To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:" msgstr "Aplikazioaren pasahitz espezifiko berri bat sortzeko, idatzi aplikazioaren izena eta baimen-esparrua eta hautatu iraungitze-data:" -#: src/component/settings/passcode.vue:400 +#: src/component/settings/passcode.vue:403 msgid "To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:" msgstr "Autentifikatzaileen aplikazio edo gailu berri batera aldatzeko, lehenik eta behin desaktibatu bi faktoreko autentifikazioa eta, ondoren, berriro aktibatu:" -#: src/page/connect.vue:221 src/page/connect.vue:230 +#: src/page/connect.vue:223 src/page/connect.vue:232 msgid "To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:" msgstr "Bertsio-berritzeko, aktibazio-kode bat sar dezakezu edo \"Erregistratu\" sakatu gure webgunean erregistratzeko:" @@ -3046,7 +3081,7 @@ msgstr "Bertsio-berritzeko, aktibazio-kode bat sar dezakezu edo \"Erregistratu\" msgid "Today" msgstr "Gaur" -#: src/component/album/toolbar.vue:70 src/component/photo/toolbar.vue:78 +#: src/component/album/toolbar.vue:71 src/component/photo/toolbar.vue:78 msgid "Toggle View" msgstr "Aldatu ikuspegia" @@ -3073,20 +3108,24 @@ msgstr "Arazoak konpontzea" msgid "Try again using other filters or keywords." msgstr "Saiatu berriro beste iragazki edo gako-hitz batzuk erabiliz." -#: src/component/settings/passcode.vue:380 +#: src/component/settings/passcode.vue:383 msgid "Two-factor authentication has been enabled for your account." msgstr "Bi faktoreko autentifikazioa gaitu da zure kontuan." #: src/component/photo/edit/files.vue:58 src/component/photo/edit/files.vue:330 -#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:388 +#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:389 msgid "Type" msgstr "Mota" -#: src/options/auth.js:13 +#: src/component/album/toolbar.vue:178 +msgid "Unable to delete" +msgstr "Ezin da ezabatu" + +#: src/options/auth.js:14 msgid "Unauthorized" msgstr "Baimenik gabe" -#: src/component/photo/edit/people.vue:94 +#: src/component/photo/edit/people.vue:95 msgid "Undo" msgstr "Desegin" @@ -3094,16 +3133,16 @@ msgstr "Desegin" msgid "Unique ID" msgstr "ID bakarra" -#: src/page/settings/account.vue:451 src/page/settings/account.vue:476 -#: src/page/settings/account.vue:501 src/common/util.js:487 -#: src/component/photo/edit/details.vue:21 -#: src/component/photo/edit/details.vue:111 -#: src/component/photo/edit/details.vue:138 -#: src/component/photo/edit/details.vue:164 src/component/sidebar/info.vue:43 -#: src/model/album.js:193 src/model/photo.js:323 src/model/photo.js:784 -#: src/model/photo.js:809 src/model/photo.js:832 src/model/photo.js:850 -#: src/model/photo.js:897 src/model/photo.js:905 src/model/photo.js:994 -#: src/model/photo.js:1016 src/model/photo.js:1061 src/model/photo.js:1074 +#: src/page/settings/account.vue:457 src/page/settings/account.vue:482 +#: src/page/settings/account.vue:507 src/common/util.js:488 +#: src/component/photo/edit/details.vue:27 +#: src/component/photo/edit/details.vue:113 +#: src/component/photo/edit/details.vue:140 +#: src/component/photo/edit/details.vue:166 src/component/sidebar/info.vue:43 +#: src/model/album.js:193 src/model/photo.js:331 src/model/photo.js:821 +#: src/model/photo.js:846 src/model/photo.js:869 src/model/photo.js:887 +#: src/model/photo.js:934 src/model/photo.js:942 src/model/photo.js:1031 +#: src/model/photo.js:1053 src/model/photo.js:1098 src/model/photo.js:1111 #: src/model/user.js:157 src/options/options.js:51 src/options/options.js:69 #: src/options/options.js:86 src/options/options.js:100 #: src/options/options.js:112 src/page/library/errors.vue:251 @@ -3116,7 +3155,7 @@ msgstr "Ezezaguna" msgid "Unregistered" msgstr "Erregistratu gabe" -#: src/app/routes.js:215 src/component/navigation.vue:644 +#: src/app/routes.js:223 src/component/navigation.vue:648 msgid "Unsorted" msgstr "Ordenatu gabe" @@ -3124,7 +3163,7 @@ msgstr "Ordenatu gabe" msgid "Unstack" msgstr "Despilatu" -#: src/component/photo/edit/files.vue:519 src/component/photo/edit/info.vue:416 +#: src/component/photo/edit/files.vue:521 src/component/photo/edit/info.vue:416 msgid "Updated" msgstr "Eguneratua" @@ -3140,7 +3179,7 @@ msgstr "Indizea eguneratzen" msgid "Updating moments" msgstr "Eguneratzea uneak" -#: src/component/user/edit/dialog.vue:154 +#: src/component/user/edit/dialog.vue:155 msgid "Updating picture…" msgstr "Irudia eguneratzen…" @@ -3152,21 +3191,21 @@ msgstr "Aurrebistak eguneratzen" msgid "Updating stacks" msgstr "Pilak eguneratzen" -#: src/page/connect.vue:57 src/component/navigation.vue:1500 -#: src/component/navigation.vue:1614 src/component/navigation.vue:1999 +#: src/page/connect.vue:57 src/component/navigation.vue:1526 +#: src/component/navigation.vue:1644 src/component/navigation.vue:2047 #: src/page/connect.vue:58 msgid "Upgrade" msgstr "Berritu" -#: src/page/about/about.vue:123 src/page/connect.vue:202 -#: src/component/confirm/sponsor.vue:98 src/page/about/about.vue:113 -#: src/page/connect.vue:206 +#: src/page/about/about.vue:124 src/page/connect.vue:204 +#: src/component/confirm/sponsor.vue:99 src/page/about/about.vue:114 +#: src/page/connect.vue:208 msgid "Upgrade Now" msgstr "Berritu orain" -#: src/component/album/toolbar.vue:108 src/component/navigation.vue:1824 -#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:144 -#: src/component/upload/dialog.vue:51 src/page/albums.vue:183 +#: src/component/album/toolbar.vue:113 src/component/navigation.vue:1860 +#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:145 +#: src/component/upload/dialog.vue:51 src/page/albums.vue:185 #: src/page/labels.vue:122 src/page/library/import.vue:133 #: src/page/settings/general.vue:307 src/page/settings/services.vue:38 msgid "Upload" @@ -3176,21 +3215,21 @@ msgstr "Kargatu" msgid "Upload complete" msgstr "Kargatzea osatuta" -#: src/component/upload/dialog.vue:133 +#: src/component/upload/dialog.vue:135 msgid "Upload complete. Indexing…" msgstr "Kargatzea osatuta. Indexatzen…" #: src/component/upload/dialog.vue:296 src/component/upload/dialog.vue:315 -#: src/component/upload/dialog.vue:129 +#: src/component/upload/dialog.vue:131 msgid "Upload failed" msgstr "Ezin izan da kargatu" -#: src/component/service/edit.vue:257 +#: src/component/service/edit.vue:258 msgid "Upload local files" msgstr "Kargatu tokiko fitxategiak" -#: src/component/user/edit/dialog.vue:380 #: src/component/user/edit/dialog.vue:381 +#: src/component/user/edit/dialog.vue:382 msgid "Upload Path" msgstr "Kargatu bidea" @@ -3198,7 +3237,7 @@ msgstr "Kargatu bidea" msgid "Upload to WebDAV and share links with friends." msgstr "Kargatu WebDAV-era eta partekatu estekak lagunekin." -#: src/component/upload/dialog.vue:131 +#: src/component/upload/dialog.vue:133 msgid "Uploading %{n} of %{t}…" msgstr "%{t}-tik %{n} kargatzen…" @@ -3211,7 +3250,7 @@ msgstr "Argazkiak kargatzen…" msgid "Uploading…" msgstr "Kargatzen…" -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Uploads that may contain such images will be rejected automatically." msgstr "Horrelako irudiak izan ditzaketen kargak automatikoki baztertuko dira." @@ -3219,7 +3258,7 @@ msgstr "Horrelako irudiak izan ditzaketen kargak automatikoki baztertuko dira." msgid "Use Presets" msgstr "Erabili aurrezarpenak" -#: src/component/settings/passcode.vue:283 +#: src/component/settings/passcode.vue:286 msgid "Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:" msgstr "Erabili berreskuratze-kode hau zure kontura atzitzeko zure autentifikazio-aplikazioarekin baliozko egiaztapen-koderik sortu ezin duzunean:" @@ -3227,12 +3266,12 @@ msgstr "Erabili berreskuratze-kode hau zure kontura atzitzeko zure autentifikazi msgid "Use your recovery code or contact an administrator for help." msgstr "Erabili zure berreskuratzeko kodea edo jarri harremanetan administratzaile batekin laguntza eskatzeko." -#: src/options/admin.js:10 src/page/admin/sessions.vue:59 -#: src/page/admin/sessions.vue:242 src/model/user.js:361 src/options/auth.js:7 +#: src/options/admin.js:14 src/page/admin/sessions.vue:59 +#: src/page/admin/sessions.vue:243 src/model/user.js:361 src/options/auth.js:8 msgid "User" msgstr "Erabiltzailea" -#: src/component/navigation.vue:1979 +#: src/component/navigation.vue:2025 msgid "User Guide" msgstr "Erabiltzailearen Gida" @@ -3240,14 +3279,14 @@ msgstr "Erabiltzailearen Gida" msgid "User Interface" msgstr "Erabiltzaile Interfazea" -#: src/component/user/add/dialog.vue:87 src/component/user/add/dialog.vue:88 -#: src/page/admin/sessions.vue:220 src/page/admin/users.vue:71 -#: src/component/service/add.vue:85 src/component/service/edit.vue:337 +#: src/component/user/add/dialog.vue:88 src/component/user/add/dialog.vue:89 +#: src/page/admin/sessions.vue:221 src/page/admin/users.vue:73 +#: src/component/service/add.vue:86 src/component/service/edit.vue:338 #: src/component/share/dialog.vue:26 msgid "Username" msgstr "Erabiltzaile izena" -#: src/component/navigation.vue:1435 +#: src/component/navigation.vue:1461 msgid "Users" msgstr "Erabiltzaileak" @@ -3257,18 +3296,18 @@ msgstr "Erabiltzaileak" msgid "Vector" msgstr "Bektorea" -#: src/component/navigation.vue:440 +#: src/component/navigation.vue:442 msgid "Vectors" msgstr "Bektoreak" -#: src/component/settings/passcode.vue:227 src/page/auth/login.vue:144 +#: src/component/settings/passcode.vue:230 src/page/auth/login.vue:144 msgid "Verification Code" msgstr "Egiaztapen Kodea" #: src/component/photo/view/cards.vue:363 #: src/component/photo/view/cards.vue:491 src/component/photo/view/list.vue:190 #: src/component/photo/view/mosaic.vue:207 src/model/file.js:221 -#: src/model/photo.js:921 src/model/photo.js:939 src/options/options.js:293 +#: src/model/photo.js:958 src/model/photo.js:976 src/options/options.js:293 msgid "Video" msgstr "Bideoa" @@ -3277,12 +3316,12 @@ msgstr "Bideoa" msgid "Video Duration" msgstr "Bideoaren Iraupena" -#: src/app/routes.js:243 src/component/navigation.vue:728 +#: src/app/routes.js:251 src/component/navigation.vue:734 #: src/options/options.js:200 msgid "Videos" msgstr "Bideoak" -#: src/component/photo/toolbar.vue:261 src/component/photo/view/cards.vue:350 +#: src/component/photo/toolbar.vue:263 src/component/photo/view/cards.vue:350 #: src/component/photo/view/mosaic.vue:194 msgid "View" msgstr "Ikusi" @@ -3291,11 +3330,11 @@ msgstr "Ikusi" msgid "View search results as a list." msgstr "Ikusi bilaketa-emaitzak zerrenda gisa." -#: src/options/admin.js:14 src/options/auth.js:8 +#: src/options/admin.js:18 src/options/auth.js:9 msgid "Viewer" msgstr "Ikusle" -#: src/page/admin/sessions.vue:271 src/options/auth.js:12 +#: src/page/admin/sessions.vue:272 src/options/auth.js:13 msgid "Visitor" msgstr "Bisitaria" @@ -3307,34 +3346,34 @@ msgstr "Antzekotasun bisuala" msgid "Warning" msgstr "Abisua" -#: src/page/about/feedback.vue:60 +#: src/page/about/feedback.vue:61 msgid "We appreciate your feedback!" msgstr "Zure iritzia eskertzen dugu!" -#: src/page/about/feedback.vue:63 +#: src/page/about/feedback.vue:64 msgid "We do our best to respond within five business days or less." msgstr "Gure onena egiten dugu bost lanegun edo gutxiagoko epean erantzuteko." -#: src/component/user/add/dialog.vue:235 src/component/user/edit/dialog.vue:415 -#: src/page/admin/users.vue:80 +#: src/component/user/add/dialog.vue:236 src/component/user/edit/dialog.vue:416 +#: src/page/admin/users.vue:82 msgid "Web Login" msgstr "Web Sarrera" -#: src/component/user/add/dialog.vue:248 src/component/user/edit/dialog.vue:432 -#: src/page/admin/users.vue:82 src/options/auth.js:55 src/options/auth.js:68 +#: src/component/user/add/dialog.vue:249 src/component/user/edit/dialog.vue:433 +#: src/page/admin/users.vue:84 src/options/auth.js:56 src/options/auth.js:69 #: src/options/options.js:444 msgid "WebDAV" msgstr "WebDAV" -#: src/component/settings/webdav.vue:51 +#: src/component/settings/webdav.vue:52 msgid "WebDAV clients can connect to PhotoPrism using the following URL:" msgstr "WebDAV bezeroak PhotoPrism-era konekta daitezke URL hau erabiliz:" -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism." msgstr "WebDAV bezeroak, Microsoft-en Windows Explorer edo Apple-ren Finder bezalakoak, zuzenean konekta daitezke PhotoPrism-era." -#: src/component/service/upload.vue:50 src/component/share/dialog.vue:220 +#: src/component/service/upload.vue:51 src/component/share/dialog.vue:220 msgid "WebDAV Upload" msgstr "WebDAV igoera" @@ -3342,8 +3381,8 @@ msgstr "WebDAV igoera" msgid "WebGL support is disabled in your browser" msgstr "WebGL laguntza desgaituta dago zure arakatzailean" -#: src/page/settings/account.vue:615 src/page/settings/account.vue:709 -#: src/page/settings/account.vue:601 +#: src/page/settings/account.vue:621 src/page/settings/account.vue:715 +#: src/page/settings/account.vue:607 msgid "Website" msgstr "Webgunea" @@ -3351,12 +3390,12 @@ msgstr "Webgunea" msgid "White" msgstr "Zuria" -#: src/page/settings/account.vue:532 +#: src/page/settings/account.vue:538 msgid "Work Details" msgstr "Lanaren xehetasunak" -#: src/page/settings/account.vue:500 src/component/photo/edit/details.vue:163 -#: src/component/photo/toolbar.vue:315 src/page/albums.vue:159 +#: src/page/settings/account.vue:506 src/component/photo/edit/details.vue:165 +#: src/component/photo/toolbar.vue:317 src/page/albums.vue:159 msgid "Year" msgstr "Urtea" @@ -3364,21 +3403,21 @@ msgstr "Urtea" msgid "Yellow" msgstr "Horia" -#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:58 -#: src/component/photo/archive/dialog.vue:58 +#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:59 +#: src/component/photo/archive/dialog.vue:59 #: src/component/photo/clipboard.vue:200 src/component/photo/edit/files.vue:365 #: src/component/photo/edit/files.vue:395 #: src/component/photo/edit/files.vue:401 #: src/component/photo/edit/files.vue:407 -#: src/component/photo/edit/files.vue:510 src/component/photo/edit/info.vue:281 +#: src/component/photo/edit/files.vue:512 src/component/photo/edit/info.vue:281 #: src/component/photo/edit/info.vue:297 src/component/photo/edit/info.vue:313 #: src/component/photo/edit/info.vue:329 src/component/photo/edit/info.vue:344 -#: src/component/photo/toolbar.vue:434 +#: src/component/photo/toolbar.vue:436 msgid "Yes" msgstr "Bai" -#: src/component/confirm/sponsor.vue:59 src/page/about/about.vue:158 -#: src/page/connect.vue:315 +#: src/component/confirm/sponsor.vue:60 src/page/about/about.vue:160 +#: src/page/connect.vue:317 msgid "You are welcome to contact us at membership@photoprism.app for questions regarding your membership." msgstr "Ongi etorri gurekin harremanetan jar zaitezke membership@photoprism.app helbidera zure kidetzari buruzko galderak egiteko." @@ -3390,7 +3429,11 @@ msgstr "Album bakarra deskarga dezakezu" msgid "You can only download one label" msgstr "Etiketa bakarra deskarga dezakezu" -#: src/component/upload/dialog.vue:203 +#: src/component/location/dialog.vue:178 +msgid "You can search for a location or move the marker on the map to change the position:" +msgstr "Kokapen bat bilatu edo markatzailea mapan mugitu dezakezu posizioa aldatzeko:" + +#: src/component/upload/dialog.vue:205 msgid "You can upload up to %{n} files for test purposes." msgstr "%{n} fitxategi karga ditzakezu proba helburuetarako." @@ -3403,7 +3446,7 @@ msgstr "Elementu bakarra hauta dezakezu" msgid "You may rescan your library to find additional faces." msgstr "Zure liburutegia berriro eskaneatu dezakezu aurpegi gehigarriak aurkitzeko." -#: src/page/connect.vue:146 src/page/connect.vue:150 +#: src/page/connect.vue:147 src/page/connect.vue:151 msgid "Your account has been successfully connected." msgstr "Zure kontua behar bezala konektatu da." @@ -3411,8 +3454,8 @@ msgstr "Zure kontua behar bezala konektatu da." msgid "Your browser does not support WebGL" msgstr "Zure arakatzaileak ez du WebGL onartzen" -#: src/component/confirm/sponsor.vue:43 src/page/about/about.vue:97 -#: src/page/about/about.vue:156 src/page/connect.vue:220 +#: src/component/confirm/sponsor.vue:44 src/page/about/about.vue:98 +#: src/page/about/about.vue:158 src/page/connect.vue:222 msgid "Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy." msgstr "Zure etengabeko laguntzak aldizkako eguneraketak eskaintzen eta independente izaten laguntzen digu, gure eginkizuna bete eta zure pribatutasuna babesteko." @@ -3493,9 +3536,6 @@ msgstr "Handitu/txikiagotu" #~ msgid "Open Folder" #~ msgstr "Ireki Karpeta" -#~ msgid "Cannot copy to clipboard" -#~ msgstr "Ezin da kopiatu arbelean" - #~ msgid "Sound" #~ msgstr "Soinua" diff --git a/frontend/src/locales/fa.po b/frontend/src/locales/fa.po index a05d80fed..f84f1a11e 100644 --- a/frontend/src/locales/fa.po +++ b/frontend/src/locales/fa.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: ci@photoprism.app\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2025-04-04 08:03+0000\n" +"PO-Revision-Date: 2025-07-06 08:59+0000\n" "Last-Translator: Google Cloud Translation Basic \n" "Language-Team: \n" "Language: fa\n" @@ -11,7 +11,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n==0 || n==1);\n" -"X-Generator: Weblate 5.10.4\n" +"X-Generator: Weblate 5.12.2\n" "Generated-By: easygettext\n" #: src/locales.js:268 @@ -42,7 +42,7 @@ msgstr "{0} انتخاب شد" msgid "{0}-{1} of {2}" msgstr "{0}-{1} از {2}" -#: src/page/albums.vue:612 +#: src/page/albums.vue:617 msgid "%{n} albums found" msgstr "%{n} آلبوم پیدا شد" @@ -50,25 +50,25 @@ msgstr "%{n} آلبوم پیدا شد" msgid "%{n} files uploaded" msgstr "%{n} فایل آپلود شد" -#: src/page/library/browse.vue:362 +#: src/page/library/browse.vue:364 msgid "%{n} folders found" msgstr "%{n} پوشه پیدا شد" -#: src/component/navigation.vue:1676 +#: src/component/navigation.vue:1707 msgid "%{n} GB of %{q} GB used" msgstr "%{n} گیگابایت از %{q} گیگابایت استفاده شده است" -#: src/page/labels.vue:528 +#: src/page/labels.vue:533 msgid "%{n} labels found" msgstr "%{n} برچسب پیدا شد" -#: src/page/people/new.vue:350 src/page/people/new.vue:447 -#: src/page/people/recognized.vue:536 +#: src/page/people/new.vue:350 src/page/people/new.vue:450 +#: src/page/people/recognized.vue:541 msgid "%{n} people found" msgstr "%{n} نفر پیدا شد" -#: src/page/album/photos.vue:308 src/page/album/photos.vue:493 -#: src/page/photos.vue:441 src/page/photos.vue:631 +#: src/page/album/photos.vue:313 src/page/album/photos.vue:504 +#: src/page/photos.vue:446 src/page/photos.vue:641 msgid "%{n} pictures found" msgstr "%{n} عکس پیدا شد" @@ -88,12 +88,12 @@ msgstr "1 ساعت" msgid "12 hours" msgstr "12 ساعت" -#: src/component/user/edit/dialog.vue:452 src/page/settings/account.vue:324 -#: src/component/settings/passcode.vue:75 +#: src/component/user/edit/dialog.vue:453 src/page/settings/account.vue:325 +#: src/component/settings/passcode.vue:78 msgid "2-Factor Authentication" msgstr "احراز هویت 2-عاملی" -#: src/component/user/edit/dialog.vue:451 src/options/auth.js:46 +#: src/component/user/edit/dialog.vue:452 src/options/auth.js:47 msgid "2FA" msgstr "2FA" @@ -109,20 +109,20 @@ msgstr "یک کلیک آن را در کلیپ بورد شما کپی می کند msgid "A new version of %{s} is available:" msgstr "نسخه جدیدی از %{s} موجود است:" -#: src/component/user/edit/dialog.vue:233 -#: src/component/user/edit/dialog.vue:234 src/page/about/about.vue:56 +#: src/component/user/edit/dialog.vue:234 +#: src/component/user/edit/dialog.vue:235 src/page/about/about.vue:56 #: src/page/settings/account.vue:248 src/page/settings/account.vue:249 -#: src/app/routes.js:63 src/component/navigation.vue:1521 -#: src/page/people/recognized.vue:292 +#: src/app/routes.js:63 src/component/navigation.vue:1547 +#: src/page/people/recognized.vue:296 msgid "About" msgstr "درباره" -#: src/options/auth.js:26 src/options/auth.js:44 +#: src/options/auth.js:27 src/options/auth.js:45 msgid "Access Token" msgstr "نشانه دسترسی" -#: src/component/navigation.vue:87 src/component/navigation.vue:1788 -#: src/component/service/upload.vue:71 src/model/service.js:96 +#: src/component/navigation.vue:87 src/component/navigation.vue:1822 +#: src/component/service/upload.vue:72 src/model/service.js:96 #: src/model/user.js:171 src/page/settings.vue:85 #: src/page/settings/general.vue:582 msgid "Account" @@ -136,7 +136,7 @@ msgstr "حساب کاربری ایجاد شد" msgid "Account deleted" msgstr "حساب کاربری حذف شد" -#: src/page/admin/users.vue:335 +#: src/page/admin/users.vue:337 msgid "Account restored" msgstr "حساب بازیابی شد" @@ -157,8 +157,8 @@ msgstr "عمل" msgid "Actions" msgstr "اقدامات" -#: src/page/connect.vue:294 src/component/settings/passcode.vue:346 -#: src/page/connect.vue:303 +#: src/page/connect.vue:296 src/component/settings/passcode.vue:349 +#: src/page/connect.vue:305 msgid "Activate" msgstr "فعال کنید" @@ -174,20 +174,20 @@ msgstr "برای مرتب سازی صعودی فعال کنید." msgid "Activate to sort descending." msgstr "برای مرتب سازی نزولی فعال کنید." -#: src/page/connect.vue:231 src/page/connect.vue:240 +#: src/page/connect.vue:233 src/page/connect.vue:242 msgid "Activation Code" msgstr "کد فعال سازی" -#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:83 -#: src/component/settings/apps.vue:448 +#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:92 +#: src/component/settings/apps.vue:451 msgid "Add" msgstr "اضافه کردن" -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:246 msgid "Add %{s}?" msgstr "%{s} اضافه شود؟" -#: src/component/user/add/dialog.vue:56 src/component/service/add.vue:49 +#: src/component/user/add/dialog.vue:57 src/component/service/add.vue:50 msgid "Add Account" msgstr "ویرایش حساب کاربری" @@ -204,8 +204,8 @@ msgid "Add Link" msgstr "اضافه کردن لینک" #: src/component/photo/edit/people.vue:25 -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:57 -#: src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:57 +#: src/page/people/new.vue:246 msgid "Add person?" msgstr "فرد اضافه شود؟" @@ -221,10 +221,15 @@ msgstr "با انتخاب آنها ، تصاویر را از نتایج جستج msgid "Add to album" msgstr "افزودن به آلبوم" -#: src/component/photo/edit/files.vue:514 +#: src/component/photo/edit/files.vue:516 msgid "Added" msgstr "اضافه شده" +#: src/component/location/dialog.vue:68 src/component/location/dialog.vue:90 +#: src/component/photo/edit/details.vue:246 +msgid "Adjust Location" +msgstr "تنظیم مکان" + #: src/options/admin.js:6 src/options/auth.js:6 msgid "Admin" msgstr "مدیر" @@ -245,7 +250,7 @@ msgstr "بعد از 3 روز" msgid "After 7 days" msgstr "بعد از 7 روز" -#: src/component/settings/passcode.vue:93 +#: src/component/settings/passcode.vue:96 msgid "After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:" msgstr "پس از وارد کردن رمز عبور خود برای تأیید، می توانید احراز هویت دو مرحله ای را با یک برنامه یا دستگاه تأیید کننده سازگار تنظیم کنید:" @@ -277,12 +282,16 @@ msgstr "آلبوم" msgid "Album Backups" msgstr "پشتیبان گیری از آلبوم" -#: src/page/albums.vue:674 +#: src/page/albums.vue:685 msgid "Album created" msgstr "آلبوم ایجاد شد" -#: src/app/routes.js:176 src/component/album/toolbar.vue:51 -#: src/component/navigation.vue:604 src/component/navigation.vue:1882 +#: src/page/album/photos.vue:589 +msgid "Album deleted" +msgstr "آلبوم حذف شد" + +#: src/app/routes.js:184 src/component/album/toolbar.vue:55 +#: src/component/navigation.vue:607 src/component/navigation.vue:1922 #: src/component/photo/edit/info.vue:220 src/options/options.js:198 msgid "Albums" msgstr "آلبوم ها" @@ -295,7 +304,7 @@ msgstr "آلبوم ها حذف شدند" msgid "All" msgstr "همه" -#: src/page/albums.vue:465 +#: src/page/albums.vue:470 msgid "All %{n} albums loaded" msgstr "همه %{n} آلبوم بارگیری شد" @@ -311,8 +320,8 @@ msgstr "همه %{n} نفر بارگیری شدند" msgid "All Cameras" msgstr "همه دوربین ها" -#: src/component/photo/toolbar.vue:74 src/page/albums.vue:44 -#: src/page/albums.vue:240 src/page/albums.vue:746 +#: src/component/photo/toolbar.vue:74 src/page/albums.vue:45 +#: src/page/albums.vue:242 src/page/albums.vue:757 msgid "All Categories" msgstr "همه دسته بندی ها" @@ -344,7 +353,7 @@ msgstr "همه ماه ها" msgid "All originals" msgstr "همه اصل" -#: src/component/photo/toolbar.vue:76 src/page/albums.vue:93 +#: src/component/photo/toolbar.vue:76 src/page/albums.vue:94 msgid "All Years" msgstr "همه سالها" @@ -356,7 +365,7 @@ msgstr "از طرف دیگر، می‌توانید فایل‌ها را مستق msgid "Altitude" msgstr "ارتفاع" -#: src/component/photo/edit/details.vue:272 +#: src/component/photo/edit/details.vue:297 msgid "Altitude (m)" msgstr "ارتفاع (M)" @@ -364,8 +373,7 @@ msgstr "ارتفاع (M)" msgid "AM" msgstr "AM" -#: src/app/routes.js:257 src/component/navigation.vue:791 -#: src/component/photo/edit/files.vue:364 +#: src/app/routes.js:265 src/component/photo/edit/files.vue:364 #: src/component/photo/view/cards.vue:327 #: src/component/photo/view/cards.vue:511 src/component/photo/view/list.vue:184 #: src/component/photo/view/mosaic.vue:171 src/options/options.js:301 @@ -376,43 +384,47 @@ msgstr "متحرک" msgid "Animation" msgstr "انیمیشن" +#: src/component/navigation.vue:797 +msgid "Animations" +msgstr "انیمیشن‌ها" + #: src/component/share/dialog.vue:207 msgid "Any private photos and videos remain private and won't be shared." msgstr "هر عکس و فیلم خصوصی خصوصی باقی می ماند و به اشتراک گذاشته نمی شود." -#: src/component/service/edit.vue:372 +#: src/component/service/edit.vue:373 msgid "API Key" msgstr "کلید API" -#: src/page/admin/sessions.vue:357 src/options/auth.js:25 +#: src/page/admin/sessions.vue:361 src/options/auth.js:26 msgid "Application" msgstr "کاربرد" -#: src/component/photo/edit/details.vue:641 +#: src/component/photo/edit/details.vue:615 msgid "Apply" msgstr "درخواست" #: src/component/photo/clipboard.vue:64 -#: src/component/photo/edit/details.vue:640 +#: src/component/photo/edit/details.vue:614 #: src/component/photo/view/cards.vue:416 msgid "Approve" msgstr "تأیید" -#: src/page/settings/account.vue:374 src/component/settings/apps.vue:91 +#: src/page/settings/account.vue:378 src/component/settings/apps.vue:94 msgid "Apps and Devices" msgstr "برنامه ها و دستگاه ها" -#: src/app/routes.js:287 src/component/lightbox.vue:1207 -#: src/component/navigation.vue:555 src/component/photo/clipboard.vue:142 +#: src/app/routes.js:295 src/component/lightbox.vue:1207 +#: src/component/navigation.vue:557 src/component/photo/clipboard.vue:142 #: src/component/photo/view/cards.vue:398 src/page/settings/general.vue:432 msgid "Archive" msgstr "بایگانی" -#: src/component/lightbox.vue:1982 src/component/photo/edit/info.vue:433 +#: src/component/lightbox.vue:2002 src/component/photo/edit/info.vue:433 msgid "Archived" msgstr "بایگانی شده" -#: src/component/photo/archive/dialog.vue:34 +#: src/component/photo/archive/dialog.vue:35 msgid "Are you sure you want to archive the selection?" msgstr "آیا مطمئن هستید که می خواهید انتخاب را بایگانی کنید؟" @@ -420,19 +432,23 @@ msgstr "آیا مطمئن هستید که می خواهید انتخاب را ب msgid "Are you sure you want to delete these albums?" msgstr "آیا مطمئن هستید که می خواهید این آلبوم ها را حذف کنید؟" -#: src/component/label/delete/dialog.vue:34 +#: src/component/label/delete/dialog.vue:35 msgid "Are you sure you want to delete these labels?" msgstr "آیا مطمئن هستید که می خواهید این برچسب ها را حذف کنید؟" -#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:36 +#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:37 msgid "Are you sure you want to delete this account?" msgstr "آیا مطمئن هستید که می خواهید این حساب را حذف کنید؟" +#: src/component/album/toolbar.vue:136 +msgid "Are you sure you want to delete this album?" +msgstr "آیا از حذف این آلبوم مطمئن هستید؟" + #: src/component/photo/clipboard.vue:199 msgid "Are you sure you want to permanently delete these pictures?" msgstr "آیا مطمئن هستید که می خواهید این تصاویر را به طور دائم حذف کنید؟" -#: src/component/file/delete/dialog.vue:34 +#: src/component/file/delete/dialog.vue:35 msgid "Are you sure you want to permanently delete this file?" msgstr "آیا مطمئن هستید که می خواهید این پرونده را به طور دائم حذف کنید؟" @@ -441,7 +457,7 @@ msgstr "آیا مطمئن هستید که می خواهید این پرونده msgid "Are you sure?" msgstr "مطمئن هستی؟" -#: src/component/photo/edit/details.vue:537 +#: src/component/photo/edit/details.vue:511 msgid "Artist" msgstr "هنرمند" @@ -449,14 +465,14 @@ msgstr "هنرمند" msgid "Aspect Ratio" msgstr "نسبت ابعاد" -#: src/app/routes.js:250 src/component/navigation.vue:770 +#: src/app/routes.js:258 src/component/navigation.vue:776 #: src/options/options.js:297 msgid "Audio" msgstr "صوتی" -#: src/component/user/add/dialog.vue:190 src/component/user/edit/dialog.vue:309 -#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:281 -#: src/page/admin/users.vue:75 +#: src/component/user/add/dialog.vue:191 src/component/user/edit/dialog.vue:310 +#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:282 +#: src/page/admin/users.vue:77 msgid "Authentication" msgstr "احراز هویت" @@ -464,11 +480,11 @@ msgstr "احراز هویت" msgid "Auto" msgstr "خودکار" -#: src/component/settings/apps.vue:151 +#: src/component/settings/apps.vue:154 msgid "Back" msgstr "بازگشت" -#: src/component/scroll.vue:20 +#: src/component/scroll.vue:18 msgid "Back to top" msgstr "بازگشت به بالا" @@ -480,26 +496,26 @@ msgstr "پشتیبان گیری" msgid "Badge" msgstr "نشان" -#: src/component/user/edit/dialog.vue:361 #: src/component/user/edit/dialog.vue:362 +#: src/component/user/edit/dialog.vue:363 msgid "Base Path" msgstr "مسیر پایه" -#: src/page/about/about.vue:95 src/page/connect.vue:220 +#: src/page/about/about.vue:96 src/page/connect.vue:222 msgid "Become a member today, support our mission and enjoy our member benefits!" msgstr "همین امروز عضو شوید، از ماموریت ما حمایت کنید و از مزایای عضویت ما لذت ببرید!" -#: src/component/confirm/sponsor.vue:51 src/page/about/about.vue:99 +#: src/component/confirm/sponsor.vue:52 src/page/about/about.vue:100 msgid "Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services." msgstr "ما با تامین مالی مستقل و 100% خود، می توانیم به شما قول بدهیم که هرگز داده های شما را نمی فروشیم و همیشه در مورد نرم افزار و خدمات خود شفاف خواهیم بود." -#: src/component/user/edit/dialog.vue:258 -#: src/component/user/edit/dialog.vue:259 src/page/settings/account.vue:227 +#: src/component/user/edit/dialog.vue:259 +#: src/component/user/edit/dialog.vue:260 src/page/settings/account.vue:227 #: src/page/settings/account.vue:228 msgid "Bio" msgstr "بود" -#: src/page/settings/account.vue:431 +#: src/page/settings/account.vue:437 msgid "Birth Date" msgstr "تاریخ تولد" @@ -520,7 +536,7 @@ msgid "Brown" msgstr "قهوه ای" #: src/component/photo/edit/files.vue:263 src/component/photo/toolbar.vue:141 -#: src/component/upload/dialog.vue:240 +#: src/component/upload/dialog.vue:242 msgid "Browse" msgstr "مرور کردن" @@ -548,16 +564,16 @@ msgstr "گزارش اشکال" msgid "Busy, please wait…" msgstr "مشغول است ، لطفا صبر کنید…" -#: src/page/connect.vue:317 +#: src/page/connect.vue:319 msgid "By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct." msgstr "با استفاده از نرم‌افزار و خدماتی که ما ارائه می‌کنیم، با شرایط خدمات، خط‌مشی رازداری و آیین‌نامه رفتار ما موافقت می‌کنید." -#: src/app/routes.js:189 src/component/navigation.vue:1081 +#: src/app/routes.js:197 src/component/navigation.vue:1097 #: src/options/options.js:204 src/page/settings/general.vue:205 msgid "Calendar" msgstr "تقویم" -#: src/component/photo/edit/details.vue:346 src/component/photo/toolbar.vue:232 +#: src/component/photo/edit/details.vue:320 src/component/photo/toolbar.vue:234 #: src/component/photo/view/cards.vue:467 src/component/photo/view/list.vue:116 msgid "Camera" msgstr "دوربین" @@ -570,12 +586,12 @@ msgstr "سریال دوربین" msgid "Can't access your authenticator app or device?" msgstr "نمی توانید به برنامه یا دستگاه احراز هویت خود دسترسی پیدا کنید؟" -#: src/page/album/photos.vue:317 src/page/photos.vue:450 +#: src/page/album/photos.vue:322 src/page/photos.vue:455 msgid "Can't load more, limit reached" msgstr "نمی تواند بار بیشتری بارگیری کند ، محدود شود" #: src/common/clipboard.js:102 src/common/clipboard.js:139 -#: src/page/albums.vue:684 src/page/albums.vue:700 src/page/labels.vue:293 +#: src/page/albums.vue:695 src/page/albums.vue:711 src/page/labels.vue:293 #: src/page/labels.vue:313 src/page/library/browse.vue:233 #: src/page/library/browse.vue:249 src/page/people/new.vue:278 #: src/page/people/new.vue:294 src/page/people/recognized.vue:305 @@ -584,26 +600,31 @@ msgid "Can't select more items" msgstr "موارد بیشتری را انتخاب نمی کند" #: src/component/session/remove/dialog.vue:45 -#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:473 -#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:119 +#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:474 +#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:120 #: src/component/album/delete/dialog.vue:43 -#: src/component/album/edit/dialog.vue:199 src/component/confirm/dialog.vue:43 -#: src/component/file/delete/dialog.vue:47 -#: src/component/label/delete/dialog.vue:47 -#: src/component/label/edit/dialog.vue:107 -#: src/component/people/edit/dialog.vue:120 +#: src/component/album/edit/dialog.vue:200 src/component/confirm/dialog.vue:43 +#: src/component/file/delete/dialog.vue:48 +#: src/component/label/delete/dialog.vue:48 +#: src/component/label/edit/dialog.vue:108 +#: src/component/location/dialog.vue:200 +#: src/component/people/edit/dialog.vue:121 #: src/component/photo/album/dialog.vue:78 src/component/service/add.vue:19 -#: src/component/service/edit.vue:455 src/component/service/remove.vue:49 -#: src/component/service/upload.vue:117 src/component/settings/apps.vue:352 -#: src/component/settings/passcode.vue:249 -#: src/component/settings/passcode.vue:333 -#: src/component/settings/password.vue:159 src/component/share/dialog.vue:28 -#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:123 +#: src/component/service/edit.vue:456 src/component/service/remove.vue:50 +#: src/component/service/upload.vue:118 src/component/settings/apps.vue:355 +#: src/component/settings/passcode.vue:252 +#: src/component/settings/passcode.vue:336 +#: src/component/settings/password.vue:160 src/component/share/dialog.vue:28 +#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:124 #: src/page/library/import.vue:119 src/page/library/index.vue:128 msgid "Cancel" msgstr "لغو" -#: src/component/photo/edit/details.vue:87 src/component/photo/edit/info.vue:61 +#: src/common/util.js:863 src/common/util.js:870 +msgid "Cannot copy to clipboard" +msgstr "نمی توان در کلیپ بورد کپی کرد" + +#: src/component/photo/edit/details.vue:89 src/component/photo/edit/info.vue:63 #: src/component/photo/edit/labels.vue:42 #: src/component/photo/view/cards.vue:445 src/component/sidebar/info.vue:72 msgid "Caption" @@ -617,17 +638,17 @@ msgstr "کارت ها" msgid "Carousel slide {0} of {1}" msgstr "اسلاید چرخ فلک {0} از {1}" -#: src/page/about/feedback.vue:82 src/page/about/feedback.vue:83 -#: src/component/album/edit/dialog.vue:128 src/component/photo/toolbar.vue:397 +#: src/page/about/feedback.vue:83 src/page/about/feedback.vue:84 +#: src/component/album/edit/dialog.vue:129 src/component/photo/toolbar.vue:399 #: src/page/albums.vue:187 msgid "Category" msgstr "دسته" -#: src/component/user/edit/dialog.vue:191 src/page/settings/account.vue:201 +#: src/component/user/edit/dialog.vue:192 src/page/settings/account.vue:201 msgid "Change Avatar" msgstr "تغییر پرچم خصوصی" -#: src/page/settings/account.vue:297 src/component/settings/password.vue:48 +#: src/page/settings/account.vue:297 src/component/settings/password.vue:49 msgid "Change Password" msgstr "رمزعبور جدید" @@ -644,17 +665,17 @@ msgid "Change private flag" msgstr "تغییر پرچم خصوصی" #: src/component/user/add/dialog.vue:108 src/component/user/add/dialog.vue:113 -#: src/component/user/edit/dialog.vue:90 src/component/user/edit/dialog.vue:95 +#: src/component/user/edit/dialog.vue:91 src/component/user/edit/dialog.vue:96 #: src/page/settings/account.vue:121 src/page/settings/account.vue:126 msgid "Changes could not be saved" msgstr "تغییرات را نمی توان ذخیره کرد" -#: src/component/user/edit/dialog.vue:83 src/component/user/edit/dialog.vue:159 +#: src/component/user/edit/dialog.vue:84 src/component/user/edit/dialog.vue:160 #: src/component/album/edit/dialog.vue:73 -#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1941 +#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1961 #: src/component/photo/edit/files.vue:162 src/component/service/edit.vue:90 #: src/component/share/dialog.vue:92 src/component/share/dialog.vue:111 -#: src/page/albums.vue:677 src/page/people/recognized.vue:119 +#: src/page/albums.vue:688 src/page/people/recognized.vue:119 #: src/page/settings/advanced.vue:62 src/page/settings/content.vue:62 #: src/page/settings/general.vue:108 msgid "Changes successfully saved" @@ -668,7 +689,7 @@ msgstr "برای اعمال تغییرات در تنظیمات پیشرفته، msgid "Checked" msgstr "بررسی شده" -#: src/component/photo/edit/files.vue:495 +#: src/component/photo/edit/files.vue:497 msgid "Chroma" msgstr "کروما" @@ -684,24 +705,24 @@ msgstr "پاک کردن" msgid "Clear {0}" msgstr "پاک کردن {0}" -#: src/options/auth.js:11 src/options/auth.js:23 src/options/auth.js:43 +#: src/options/auth.js:12 src/options/auth.js:24 src/options/auth.js:44 msgid "Client" msgstr "مشتری" -#: src/options/auth.js:24 +#: src/options/auth.js:25 msgid "Client Credentials" msgstr "اعتبار مشتری" -#: src/page/admin/sessions.vue:529 src/component/lightbox.vue:284 -#: src/component/lightbox.vue:1009 src/component/lightbox.vue:1010 -#: src/component/photo/edit/details.vue:627 src/component/photo/toolbar.vue:160 -#: src/component/settings/apps.vue:224 src/component/settings/apps.vue:437 -#: src/component/settings/passcode.vue:148 -#: src/component/settings/passcode.vue:456 -#: src/component/settings/passcode.vue:497 -#: src/component/settings/webdav.vue:131 src/component/share/dialog.vue:231 +#: src/component/user/edit/dialog.vue:474 src/page/admin/sessions.vue:536 +#: src/component/lightbox.vue:284 src/component/lightbox.vue:1009 +#: src/component/lightbox.vue:1010 src/component/photo/edit/details.vue:601 +#: src/component/photo/toolbar.vue:161 src/component/settings/apps.vue:227 +#: src/component/settings/apps.vue:440 src/component/settings/passcode.vue:151 +#: src/component/settings/passcode.vue:459 +#: src/component/settings/passcode.vue:500 +#: src/component/settings/webdav.vue:132 src/component/share/dialog.vue:231 #: src/component/sidebar/info.vue:26 src/component/update.vue:57 -#: src/component/upload/dialog.vue:228 src/locales.js:206 +#: src/component/upload/dialog.vue:230 src/locales.js:206 #: src/page/library/errors.vue:253 msgid "Close" msgstr "نزدیک" @@ -710,11 +731,11 @@ msgstr "نزدیک" msgid "Codec" msgstr "کدک" -#: src/component/photo/toolbar.vue:369 +#: src/component/photo/toolbar.vue:371 msgid "Color" msgstr "رنگ" -#: src/component/photo/edit/files.vue:483 +#: src/component/photo/edit/files.vue:485 msgid "Color Profile" msgstr "مشخصات رنگ" @@ -722,7 +743,7 @@ msgstr "مشخصات رنگ" msgid "Colors" msgstr "رنگ ها" -#: src/page/connect.vue:260 src/page/connect.vue:269 +#: src/page/connect.vue:262 src/page/connect.vue:271 msgid "Compare Editions" msgstr "مقایسه نسخه ها" @@ -735,17 +756,18 @@ msgstr "اسکن کامل" msgid "Confidence" msgstr "اعتماد" +#: src/component/location/dialog.vue:212 #: src/component/photo/album/dialog.vue:90 -#: src/component/settings/passcode.vue:261 +#: src/component/settings/passcode.vue:264 msgid "Confirm" msgstr "تایید" -#: src/component/service/add.vue:20 src/page/settings/services.vue:187 +#: src/component/service/add.vue:20 src/page/settings/services.vue:191 msgid "Connect" msgstr "اتصال" -#: src/page/settings/account.vue:401 src/component/settings/webdav.vue:45 -#: src/page/settings/services.vue:167 +#: src/page/settings/account.vue:406 src/component/settings/webdav.vue:46 +#: src/page/settings/services.vue:170 msgid "Connect via WebDAV" msgstr "از طریق WebDav وصل کنید" @@ -753,22 +775,22 @@ msgstr "از طریق WebDav وصل کنید" msgid "Connected" msgstr "متصل" -#: src/page/settings/account.vue:640 src/page/settings/account.vue:532 +#: src/page/settings/account.vue:646 src/page/settings/account.vue:538 msgid "Contact Details" msgstr "با ما تماس بگیرید" -#: src/page/about/feedback.vue:37 src/page/connect.vue:132 -#: src/page/connect.vue:136 +#: src/page/about/feedback.vue:37 src/page/connect.vue:133 +#: src/page/connect.vue:137 msgid "Contact Us" msgstr "با ما تماس بگیرید" #: src/page/albums.vue:433 src/page/labels.vue:237 -#: src/page/people/recognized.vue:306 +#: src/page/people/recognized.vue:310 msgid "Contains %{n} pictures." msgstr "حاوی %{n} عکس است." #: src/page/albums.vue:427 src/page/labels.vue:231 -#: src/page/people/recognized.vue:300 +#: src/page/people/recognized.vue:304 msgid "Contains one picture." msgstr "حاوی یک تصویر است." @@ -776,7 +798,7 @@ msgstr "حاوی یک تصویر است." msgid "Content" msgstr "محتوا" -#: src/component/settings/apps.vue:163 +#: src/component/settings/apps.vue:166 msgid "Continue" msgstr "ادامه هید" @@ -784,7 +806,7 @@ msgstr "ادامه هید" msgid "Continue with %{provider}" msgstr "ادامه با %{provider}" -#: src/options/admin.js:18 src/options/auth.js:9 +#: src/options/admin.js:22 src/options/auth.js:10 msgid "Contributor" msgstr "مشارکت کننده" @@ -792,15 +814,15 @@ msgstr "مشارکت کننده" msgid "Converting" msgstr "تبدیل" -#: src/common/util.js:846 +#: src/common/util.js:856 msgid "Copied to clipboard" msgstr "کپی شده در کلیپ بورد" -#: src/component/settings/apps.vue:250 src/component/settings/passcode.vue:358 +#: src/component/settings/apps.vue:253 src/component/settings/passcode.vue:361 msgid "Copy" msgstr "کپی 🀄" -#: src/component/photo/edit/details.vue:516 +#: src/component/photo/edit/details.vue:490 msgid "Copyright" msgstr "حق چاپ" @@ -808,8 +830,8 @@ msgstr "حق چاپ" msgid "Couldn't find anything." msgstr "نتوانست چیزی پیدا کند." -#: src/page/settings/account.vue:685 src/component/photo/edit/details.vue:242 -#: src/component/photo/toolbar.vue:203 src/page/settings/account.vue:577 +#: src/page/settings/account.vue:691 src/component/photo/edit/details.vue:268 +#: src/component/photo/toolbar.vue:205 src/page/settings/account.vue:583 msgid "Country" msgstr "کشور" @@ -833,7 +855,7 @@ msgstr "فایل های YAML را برای پشتیبان گیری از فراد msgid "Create YAML sidecar files to back up picture metadata." msgstr "فایل های YAML sidecar را برای پشتیبان گیری از متادیتای تصویر ایجاد کنید." -#: src/page/admin/sessions.vue:417 src/component/photo/edit/info.vue:412 +#: src/page/admin/sessions.vue:422 src/component/photo/edit/info.vue:412 msgid "Created" msgstr "ایجاد شده" @@ -845,11 +867,11 @@ msgstr "ایجاد تصاویر کوچک برای" msgid "Cubic: Moderate Quality, Good Performance" msgstr "مکعب: کیفیت متوسط ، عملکرد خوب" -#: src/component/settings/password.vue:85 +#: src/component/settings/password.vue:86 msgid "Current Password" msgstr "رمز عبور فعلی" -#: src/options/themes.js:919 src/options/themes.js:928 +#: src/options/themes.js:920 src/options/themes.js:929 msgid "Custom" msgstr "سفارشی" @@ -865,11 +887,11 @@ msgstr "روزانه" msgid "Database Backups" msgstr "پشتیبان گیری از پایگاه داده" -#: src/page/settings/account.vue:450 src/component/photo/edit/details.vue:110 +#: src/page/settings/account.vue:456 src/component/photo/edit/details.vue:112 msgid "Day" msgstr "روز" -#: src/component/settings/passcode.vue:445 +#: src/component/settings/passcode.vue:448 msgid "Deactivate" msgstr "از کار انداختن" @@ -877,36 +899,40 @@ msgstr "از کار انداختن" msgid "Debug Logs" msgstr "گزارش‌های اشکال زدایی" -#: src/options/admin.js:31 src/page/admin/sessions.vue:136 -#: src/page/admin/users.vue:176 src/component/photo/edit/info.vue:47 +#: src/options/admin.js:35 src/page/admin/sessions.vue:136 +#: src/page/admin/users.vue:178 src/component/photo/edit/info.vue:47 #: src/component/photo/edit/info.vue:110 src/model/session.js:66 -#: src/model/user.js:246 src/options/auth.js:20 src/options/auth.js:21 -#: src/options/auth.js:39 src/options/auth.js:40 src/options/options.js:196 +#: src/model/user.js:246 src/options/auth.js:21 src/options/auth.js:22 +#: src/options/auth.js:40 src/options/auth.js:41 src/options/options.js:196 #: src/options/options.js:232 src/options/options.js:316 -#: src/options/themes.js:773 +#: src/options/themes.js:774 msgid "Default" msgstr "پیشفرض" -#: src/component/service/edit.vue:123 +#: src/component/service/edit.vue:124 msgid "Default Folder" msgstr "پوشه پیشفرض" #: src/component/session/remove/dialog.vue:56 #: src/component/user/remove/dialog.vue:56 src/component/album/clipboard.vue:97 -#: src/component/album/delete/dialog.vue:54 -#: src/component/file/delete/dialog.vue:58 src/component/label/clipboard.vue:58 -#: src/component/label/delete/dialog.vue:58 +#: src/component/album/delete/dialog.vue:54 src/component/album/toolbar.vue:137 +#: src/component/file/delete/dialog.vue:59 src/component/label/clipboard.vue:58 +#: src/component/label/delete/dialog.vue:59 #: src/component/photo/clipboard.vue:168 src/component/photo/edit/files.vue:238 -#: src/component/service/remove.vue:60 src/component/share/dialog.vue:170 +#: src/component/service/remove.vue:61 src/component/share/dialog.vue:170 #: src/page/settings/general.vue:457 msgid "Delete" msgstr "حذف" +#: src/component/album/toolbar.vue:133 +msgid "Delete Album" +msgstr "حذف آلبوم" + #: src/component/photo/toolbar.vue:119 src/page/library/errors.vue:95 msgid "Delete All" msgstr "حذف همه" -#: src/component/photo/toolbar.vue:433 src/page/library/errors.vue:193 +#: src/component/photo/toolbar.vue:435 src/page/library/errors.vue:193 msgid "Delete all?" msgstr "همه حذف شود؟" @@ -914,16 +940,16 @@ msgstr "همه حذف شود؟" msgid "Delete orphaned index entries, sidecar files and thumbnails." msgstr "ورودی های فهرست یتیم، فایل های کناری و تصاویر کوچک را حذف کنید." -#: src/component/album/edit/dialog.vue:107 src/page/albums.vue:411 +#: src/component/album/edit/dialog.vue:108 src/page/albums.vue:411 msgid "Description" msgstr "توضیحات" -#: src/component/settings/webdav.vue:115 +#: src/component/settings/webdav.vue:116 msgid "Detailed instructions can be found in our User Guide." msgstr "دستورالعمل های دقیق را می توانید در راهنمای کاربر پیدا کنید." -#: src/component/photo/edit/dialog.vue:156 -#: src/component/photo/edit/dialog.vue:173 +#: src/component/photo/edit/dialog.vue:162 +#: src/component/photo/edit/dialog.vue:181 msgid "Details" msgstr "جزئیات" @@ -987,8 +1013,8 @@ msgstr "پشتیبانی از گرافیک برداری را غیرفعال می msgid "Disables video transcoding and thumbnail extraction." msgstr "رمزگذاری ویدیو و استخراج تصاویر کوچک را غیرفعال می کند." -#: src/app/routes.js:558 src/app/routes.js:565 src/app/routes.js:572 -#: src/app/routes.js:579 +#: src/app/routes.js:566 src/app/routes.js:573 src/app/routes.js:580 +#: src/app/routes.js:587 msgid "Discover" msgstr "کشف" @@ -996,9 +1022,9 @@ msgstr "کشف" msgid "Dismiss" msgstr "رد کردن" -#: src/component/user/add/dialog.vue:133 src/component/user/add/dialog.vue:134 -#: src/component/user/edit/dialog.vue:163 -#: src/component/user/edit/dialog.vue:164 src/page/admin/users.vue:72 +#: src/component/user/add/dialog.vue:134 src/component/user/add/dialog.vue:135 +#: src/component/user/edit/dialog.vue:164 +#: src/component/user/edit/dialog.vue:165 src/page/admin/users.vue:74 #: src/page/settings/account.vue:149 src/page/settings/account.vue:151 msgid "Display Name" msgstr "نام نمایشی" @@ -1013,12 +1039,12 @@ msgstr "نمایش عناوین تصاویر در نتایج جستجو" #: src/component/photo/view/cards.vue:339 #: src/component/photo/view/cards.vue:521 -#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:174 +#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:176 #: src/options/options.js:309 msgid "Document" msgstr "سند" -#: src/component/navigation.vue:480 +#: src/component/navigation.vue:482 msgid "Documents" msgstr "اسناد" @@ -1034,16 +1060,16 @@ msgstr "برای تبدیل تصاویر از ImageMagick استفاده نکن msgid "Don't use RawTherapee to convert RAW images." msgstr "از rawtherapee برای تبدیل پرونده های خام استفاده نکنید." -#: src/component/settings/apps.vue:238 src/component/share/dialog.vue:29 +#: src/component/settings/apps.vue:241 src/component/share/dialog.vue:29 msgid "Done" msgstr "انجام شده" -#: src/component/upload/dialog.vue:135 src/page/library/import.vue:46 +#: src/component/upload/dialog.vue:137 src/page/library/import.vue:46 #: src/page/library/index.vue:52 msgid "Done." msgstr "انجام شده است." -#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:118 +#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:123 #: src/component/file/clipboard.vue:48 src/component/lightbox.vue:1235 #: src/component/people/clipboard.vue:47 src/component/photo/clipboard.vue:116 #: src/component/photo/edit/files.vue:168 src/page/settings/content.vue:331 @@ -1055,7 +1081,7 @@ msgstr "بارگیری" msgid "Download only original media files, without any automatically generated files." msgstr "فقط فایل های رسانه ای اصلی را دانلود کنید، بدون هیچ فایلی که به طور خودکار تولید می شود." -#: src/component/service/edit.vue:237 +#: src/component/service/edit.vue:238 msgid "Download remote files" msgstr "بارگیری پرونده های از راه دور" @@ -1063,9 +1089,9 @@ msgstr "بارگیری پرونده های از راه دور" msgid "Download single files and zip archives." msgstr "بارگیری پرونده های تک و بایگانی زیپ." -#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:157 +#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:172 #: src/component/file/clipboard.vue:61 src/component/label/clipboard.vue:86 -#: src/component/lightbox.vue:2021 src/component/people/clipboard.vue:59 +#: src/component/lightbox.vue:2041 src/component/people/clipboard.vue:59 #: src/component/photo/clipboard.vue:220 src/component/photo/edit/files.vue:119 #: src/component/photo/view/cards.vue:169 src/component/photo/view/list.vue:142 #: src/page/library/browse.vue:139 @@ -1080,7 +1106,7 @@ msgstr "فیلتر کاهش مقیاس" msgid "Drag and drop files here" msgstr "فایل ها را در اینجا بکشید و رها کنید" -#: src/page/about/feedback.vue:61 +#: src/page/about/feedback.vue:62 msgid "Due to the high volume of emails we receive, our team may be unable to get back to you immediately." msgstr "به دلیل حجم بالای ایمیل‌هایی که دریافت می‌کنیم، تیم ما ممکن است نتواند فوراً با شما تماس بگیرد." @@ -1100,23 +1126,23 @@ msgstr "پیش نمایش پویا" msgid "Dynamic Size Limit: %{n}px" msgstr "محدودیت اندازه پویا: %{n}px" -#: src/page/about/feedback.vue:141 src/page/about/feedback.vue:140 +#: src/page/about/feedback.vue:142 src/page/about/feedback.vue:141 msgid "E-Mail" msgstr "ایمیل" -#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:89 +#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:94 #: src/component/lightbox.vue:1136 src/component/lightbox.vue:1137 #: src/component/photo/clipboard.vue:90 src/page/settings/general.vue:407 msgid "Edit" msgstr "ویرایش" -#: src/component/album/edit/dialog.vue:54 -#: src/component/label/edit/dialog.vue:52 -#: src/component/people/edit/dialog.vue:52 +#: src/component/album/edit/dialog.vue:55 +#: src/component/label/edit/dialog.vue:53 +#: src/component/people/edit/dialog.vue:53 msgid "Edit %{s}" msgstr "ویرایش %{s}" -#: src/component/user/edit/dialog.vue:61 src/component/service/edit.vue:79 +#: src/component/user/edit/dialog.vue:62 src/component/service/edit.vue:79 msgid "Edit Account" msgstr "ویرایش حساب کاربری" @@ -1128,8 +1154,8 @@ msgstr "ویرایش تصویر" msgid "Edited" msgstr "ویرایش شده" -#: src/component/user/add/dialog.vue:151 src/component/user/edit/dialog.vue:213 -#: src/page/settings/account.vue:171 src/page/settings/account.vue:593 +#: src/component/user/add/dialog.vue:152 src/component/user/edit/dialog.vue:214 +#: src/page/settings/account.vue:171 src/page/settings/account.vue:599 msgid "Email" msgstr "پست الکترونیک" @@ -1145,7 +1171,7 @@ msgstr "ویژگی های جدیدی را فعال کنید که ممکن است msgid "Enables RAW converter presets. May reduce performance." msgstr "فعال کردن RAW converter presets . ممکن است عملکرد را کاهش دهد." -#: src/component/settings/passcode.vue:127 +#: src/component/settings/passcode.vue:130 msgid "Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account." msgstr "فعال کردن احراز هویت دو مرحله‌ای به این معنی است که برای ورود به سیستم به یک کد تأیید تصادفی تولید شده نیاز دارید، بنابراین حتی اگر شخصی به رمز عبور شما دسترسی پیدا کند، نمی‌تواند به حساب شما دسترسی پیدا کند." @@ -1157,7 +1183,7 @@ msgstr "تاریخ را وارد کنید" msgid "Enter dates" msgstr "تاریخ ها را وارد کنید" -#: src/component/settings/passcode.vue:213 src/page/auth/login.vue:104 +#: src/component/settings/passcode.vue:216 src/page/auth/login.vue:104 msgid "Enter the code generated by your authenticator app:" msgstr "کد ایجاد شده توسط برنامه احراز هویت خود را وارد کنید:" @@ -1165,7 +1191,7 @@ msgstr "کد ایجاد شده توسط برنامه احراز هویت خود msgid "Enter verification code" msgstr "کد تایید را وارد کنید" -#: src/component/settings/apps.vue:109 +#: src/component/settings/apps.vue:112 msgid "Enter your password to confirm the action and continue:" msgstr "رمز عبور خود را برای تایید عمل وارد کنید و ادامه دهید:" @@ -1174,7 +1200,7 @@ msgstr "رمز عبور خود را برای تایید عمل وارد کنید msgid "Error" msgstr "خطا" -#: src/app/routes.js:374 src/component/navigation.vue:1348 +#: src/app/routes.js:382 src/component/navigation.vue:1372 msgid "Errors" msgstr "خطا ها" @@ -1210,13 +1236,13 @@ msgstr "استخراج فراداده با ExifTool برای پشتیبانی ک msgid "Experimental Features" msgstr "ویژگی های تجربی" -#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:453 -#: src/component/service/edit.vue:157 src/component/settings/apps.vue:73 -#: src/component/settings/apps.vue:326 src/component/share/dialog.vue:62 +#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:458 +#: src/component/service/edit.vue:158 src/component/settings/apps.vue:73 +#: src/component/settings/apps.vue:329 src/component/share/dialog.vue:62 msgid "Expires" msgstr "منقضی می شود" -#: src/component/photo/edit/details.vue:396 +#: src/component/photo/edit/details.vue:370 msgid "Exposure" msgstr "قرارگیری در معرض" @@ -1224,7 +1250,7 @@ msgstr "قرارگیری در معرض" msgid "Extract still images and generate thumbnails while indexing." msgstr "در حین نمایه سازی، تصاویر ثابت را استخراج کنید و تصاویر کوچک تولید کنید." -#: src/component/photo/edit/details.vue:444 +#: src/component/photo/edit/details.vue:418 msgid "F Number" msgstr "شماره F" @@ -1240,7 +1266,7 @@ msgstr "صورت ها" msgid "Failed removing link" msgstr "پیوند حذف نشد" -#: src/page/connect.vue:106 src/page/connect.vue:110 +#: src/page/connect.vue:107 src/page/connect.vue:111 msgid "Failed to connect account." msgstr "اتصال حساب انجام نشد." @@ -1248,8 +1274,8 @@ msgstr "اتصال حساب انجام نشد." msgid "Failed updating link" msgstr "پیوند به روز نشد" -#: src/component/user/edit/dialog.vue:143 -#: src/component/user/edit/dialog.vue:144 src/page/settings/account.vue:128 +#: src/component/user/edit/dialog.vue:144 +#: src/component/user/edit/dialog.vue:145 src/page/settings/account.vue:128 #: src/page/settings/account.vue:130 msgid "Family Name" msgstr "خانواده" @@ -1258,15 +1284,15 @@ msgstr "خانواده" msgid "Fast" msgstr "سریع" -#: src/component/album/edit/dialog.vue:159 -#: src/component/label/edit/dialog.vue:85 -#: src/component/people/edit/dialog.vue:85 +#: src/component/album/edit/dialog.vue:160 +#: src/component/label/edit/dialog.vue:86 +#: src/component/people/edit/dialog.vue:86 #: src/component/photo/edit/info.vue:287 msgid "Favorite" msgstr "موردعلاقه" -#: src/app/routes.js:222 src/component/navigation.vue:893 -#: src/options/options.js:202 src/page/albums.vue:97 +#: src/app/routes.js:230 src/component/navigation.vue:903 +#: src/options/options.js:202 src/page/albums.vue:98 msgid "Favorites" msgstr "موارد دلخواه" @@ -1274,7 +1300,7 @@ msgstr "موارد دلخواه" msgid "Feature Request" msgstr "درخواست ویژگی" -#: src/component/navigation.vue:1456 +#: src/component/navigation.vue:1482 msgid "Feedback" msgstr "بازخورد" @@ -1282,11 +1308,12 @@ msgstr "بازخورد" msgid "Female" msgstr "زن" -#: src/component/photo/edit/info.vue:214 src/model/file.js:290 +#: src/component/photo/edit/info.vue:57 src/component/photo/edit/info.vue:214 +#: src/model/file.js:290 msgid "File" msgstr "فایل" -#: src/app/routes.js:343 +#: src/app/routes.js:351 msgid "File Browser" msgstr "مرورگر فایل" @@ -1309,8 +1336,8 @@ msgstr "فایل" msgid "Filename" msgstr "نام فایل" -#: src/component/navigation.vue:1930 src/component/photo/edit/dialog.vue:267 -#: src/component/photo/edit/dialog.vue:284 +#: src/component/navigation.vue:1973 src/component/photo/edit/dialog.vue:279 +#: src/component/photo/edit/dialog.vue:298 msgid "Files" msgstr "فایل ها" @@ -1322,26 +1349,26 @@ msgstr "فایل‌هایی با نام‌های متوالی مانند «IMG_1 msgid "First page" msgstr "صفحه اول" -#: src/component/photo/edit/details.vue:465 +#: src/component/photo/edit/details.vue:439 msgid "Focal Length" msgstr "فاصله کانونی" -#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:118 -#: src/component/service/edit.vue:189 src/component/service/edit.vue:194 -#: src/component/service/upload.vue:90 src/component/service/upload.vue:96 +#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:119 +#: src/component/service/edit.vue:190 src/component/service/edit.vue:195 +#: src/component/service/upload.vue:91 src/component/service/upload.vue:97 #: src/model/folder.js:199 src/page/library/browse.vue:182 msgid "Folder" msgstr "پوشه" -#: src/page/library/browse.vue:365 +#: src/page/library/browse.vue:367 msgid "Folder contains %{n} files" msgstr "پوشه حاوی %{n} فایل است" -#: src/page/library/browse.vue:356 +#: src/page/library/browse.vue:358 msgid "Folder is empty" msgstr "پوشه خالی است" -#: src/app/routes.js:202 src/component/navigation.vue:1225 +#: src/app/routes.js:210 src/component/navigation.vue:1247 #: src/options/options.js:207 msgid "Folders" msgstr "پوشه ها" @@ -1358,7 +1385,7 @@ msgstr "FPS" msgid "Frames" msgstr "قاب‌ها" -#: src/options/auth.js:54 src/options/auth.js:64 +#: src/options/auth.js:55 src/options/auth.js:65 msgid "Full Access" msgstr "دسترسی کامل" @@ -1370,7 +1397,7 @@ msgstr "تمام صفحه" msgid "General" msgstr "عمومی" -#: src/component/settings/apps.vue:364 +#: src/component/settings/apps.vue:367 msgid "Generate" msgstr "تولید می کنند" @@ -1390,8 +1417,8 @@ msgstr "تولید شده است" msgid "Get Started" msgstr "شروع کنید" -#: src/component/user/edit/dialog.vue:120 -#: src/component/user/edit/dialog.vue:121 src/page/settings/account.vue:106 +#: src/component/user/edit/dialog.vue:121 +#: src/component/user/edit/dialog.vue:122 src/page/settings/account.vue:106 #: src/page/settings/account.vue:108 msgid "Given Name" msgstr "اسم اصلی" @@ -1416,7 +1443,7 @@ msgstr "سبز" msgid "Grey" msgstr "خاکستری" -#: src/options/admin.js:22 src/options/auth.js:10 +#: src/options/admin.js:26 src/options/auth.js:11 msgid "Guest" msgstr "مهمان" @@ -1432,15 +1459,15 @@ msgstr "راهنما" msgid "Help & Support" msgstr "راهنما و پشتیبانی" -#: src/component/navigation.vue:1327 src/component/people/edit/dialog.vue:98 +#: src/component/navigation.vue:1351 src/component/people/edit/dialog.vue:99 msgid "Hidden" msgstr "مخفی" -#: src/app/routes.js:358 +#: src/app/routes.js:366 msgid "Hidden Files" msgstr "فایل های مخفی" -#: src/page/people/new.vue:165 src/page/people/recognized.vue:205 +#: src/page/people/new.vue:166 src/page/people/recognized.vue:206 msgid "Hide" msgstr "مخفی" @@ -1456,7 +1483,7 @@ msgstr "بالا" msgid "High Dynamic Range (HDR)" msgstr "محدوده دینامیکی بالا (HDR)" -#: src/page/about/feedback.vue:103 +#: src/page/about/feedback.vue:104 msgid "How can we help?" msgstr "چطور میتوانیم کمک کنیم؟" @@ -1464,11 +1491,11 @@ msgstr "چطور میتوانیم کمک کنیم؟" msgid "Hybrid" msgstr "ترکیبی" -#: src/component/settings/passcode.vue:389 +#: src/component/settings/passcode.vue:392 msgid "If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account." msgstr "اگر دسترسی به برنامه یا دستگاه احراز هویت خود را از دست دادید، می‌توانید از کد بازیابی برای دسترسی مجدد به حساب خود استفاده کنید." -#: src/component/photo/edit/info.vue:63 src/component/photo/edit/labels.vue:46 +#: src/component/photo/edit/info.vue:65 src/component/photo/edit/labels.vue:46 #: src/component/photo/view/cards.vue:532 src/model/file.js:218 #: src/options/options.js:281 msgid "Image" @@ -1478,7 +1505,7 @@ msgstr "تصویر" msgid "Image Quality" msgstr "کیفیت تصویر" -#: src/page/library.vue:46 src/page/library/import.vue:152 +#: src/page/library.vue:46 src/page/library/import.vue:153 #: src/page/settings/general.vue:357 msgid "Import" msgstr "وارد کردن" @@ -1503,8 +1530,8 @@ msgstr "وارد کردن %{s}…" msgid "Importing files to originals…" msgstr "در حال وارد کردن فایل‌ها به نسخه اصلی…" -#: src/component/photo/edit/files.vue:515 -#: src/component/photo/edit/files.vue:520 +#: src/component/photo/edit/files.vue:517 +#: src/component/photo/edit/files.vue:522 msgid "in" msgstr "به" @@ -1522,11 +1549,11 @@ msgstr "هنگام بارگیری پشته ها و بایگانی ها، فای msgid "Include sidecar files when downloading stacks and archives." msgstr "هنگام بارگیری پشته ها و بایگانی ها، فایل های sidecar را اضافه کنید." -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Increase storage size or delete files to continue." msgstr "برای ادامه، حجم فضای ذخیره‌سازی را افزایش دهید یا فایل‌ها را حذف کنید." -#: src/component/navigation.vue:1946 src/page/library.vue:36 +#: src/component/navigation.vue:1990 src/page/library.vue:36 #: src/page/settings/content.vue:34 msgid "Index" msgstr "نمایه" @@ -1556,11 +1583,11 @@ msgstr "اطلاعات" msgid "Instance ID" msgstr "ID نمونه" -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Insufficient storage." msgstr "ذخیره سازی ناکافی." -#: src/component/service/edit.vue:209 +#: src/component/service/edit.vue:210 msgid "Interval" msgstr "وقفه" @@ -1581,7 +1608,7 @@ msgstr "آدرس نامعتبر است" msgid "Invalid country" msgstr "کشور نامعتبر" -#: src/component/photo/edit/details.vue:174 +#: src/component/photo/edit/details.vue:169 msgid "Invalid date" msgstr "تاریخ نامعتبر است" @@ -1590,7 +1617,7 @@ msgstr "تاریخ نامعتبر است" msgid "Invalid parameters" msgstr "پارامترهای نامعتبر" -#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:197 +#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:199 msgid "Invalid photo selected" msgstr "عکس نامعتبر انتخاب شد" @@ -1602,8 +1629,8 @@ msgstr "زمان نامعتبر" msgid "Invalid URL" msgstr "URL نامعتبر است" -#: src/component/settings/passcode.vue:314 -#: src/component/settings/passcode.vue:391 +#: src/component/settings/passcode.vue:317 +#: src/component/settings/passcode.vue:394 msgid "It is a one-time use code that will disable 2FA for your account when you use it." msgstr "این یک کد یکبار مصرف است که هنگام استفاده از آن، 2FA را برای حساب شما غیرفعال می کند." @@ -1627,7 +1654,7 @@ msgstr "محدودیت اندازه JPEG: %{n}px" msgid "JPEGs and thumbnails are automatically rendered as needed." msgstr "JPEG ها و تامبنیل ها به صورت خودکار در صورت نیاز ارائه می شوند." -#: src/component/photo/edit/details.vue:581 +#: src/component/photo/edit/details.vue:555 msgid "Keywords" msgstr "کلید واژه ها" @@ -1636,9 +1663,9 @@ msgstr "کلید واژه ها" msgid "Label" msgstr "برچسب" -#: src/app/routes.js:389 src/component/navigation.vue:1177 -#: src/component/photo/edit/dialog.vue:188 -#: src/component/photo/edit/dialog.vue:205 src/options/options.js:206 +#: src/app/routes.js:397 src/component/navigation.vue:1197 +#: src/component/photo/edit/dialog.vue:196 +#: src/component/photo/edit/dialog.vue:215 src/options/options.js:206 #: src/page/settings/general.vue:255 msgid "Labels" msgstr "برچسب ها" @@ -1655,11 +1682,11 @@ msgstr "Lanczos: حفظ جزئیات، حداقل مصنوعات" msgid "Language" msgstr "زبان" -#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:435 +#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:440 msgid "Last Active" msgstr "آخرین فعالیت" -#: src/page/admin/users.vue:81 +#: src/page/admin/users.vue:83 msgid "Last Login" msgstr "آخرین ورود" @@ -1675,42 +1702,41 @@ msgstr "آخرین همگام سازی" msgid "Last Used" msgstr "آخرین استفاده" -#: src/component/photo/edit/details.vue:298 #: src/component/photo/edit/info.vue:373 msgid "Latitude" msgstr "عرض جغرافیایی" -#: src/options/admin.js:43 src/options/auth.js:29 +#: src/options/admin.js:47 src/options/auth.js:30 msgid "LDAP/AD" msgstr "LDAP/AD" -#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:86 -#: src/page/about/about.vue:62 src/page/about/about.vue:132 +#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:87 +#: src/page/about/about.vue:62 src/page/about/about.vue:133 #: src/page/connect.vue:67 src/page/help.vue:36 msgid "Learn more" msgstr "بیشتر بدانید" -#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:135 +#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:137 #: src/page/labels.vue:132 msgid "Learn More" msgstr "بیشتر بدانید" -#: src/component/navigation.vue:2017 +#: src/component/navigation.vue:2066 msgid "Legal Information" msgstr "اطلاعات حقوقی" -#: src/component/photo/edit/details.vue:417 +#: src/component/photo/edit/details.vue:391 #: src/component/photo/view/cards.vue:480 msgid "Lens" msgstr "لنز" -#: src/app/routes.js:443 src/app/routes.js:459 src/app/routes.js:475 -#: src/component/navigation.vue:1267 src/page/settings/general.vue:507 +#: src/app/routes.js:451 src/app/routes.js:467 src/app/routes.js:483 +#: src/component/navigation.vue:1290 src/page/settings/general.vue:507 msgid "Library" msgstr "کتابخانه" #: src/page/connect.vue:45 src/app/routes.js:69 -#: src/component/navigation.vue:1478 src/component/photo/edit/details.vue:559 +#: src/component/navigation.vue:1504 src/component/photo/edit/details.vue:533 #: src/page/about/license.vue:28 msgid "License" msgstr "مجوز" @@ -1723,7 +1749,7 @@ msgstr "پسندیدن" msgid "Lime" msgstr "اهک" -#: src/page/library/browse.vue:369 +#: src/page/library/browse.vue:371 msgid "Limit reached, showing first %{n} files" msgstr "به حد مجاز رسیده است، اولین %{n} فایل را نشان می دهد" @@ -1731,7 +1757,7 @@ msgstr "به حد مجاز رسیده است، اولین %{n} فایل را ن msgid "Linear: Very Smooth, Best Performance" msgstr "خطی: بسیار روان، بهترین عملکرد" -#: src/model/link.js:117 src/options/auth.js:30 src/options/auth.js:31 +#: src/model/link.js:117 src/options/auth.js:31 src/options/auth.js:32 msgid "Link" msgstr "لینک" @@ -1749,7 +1775,7 @@ msgstr "نمایش لیست" msgid "Live" msgstr "زنده" -#: src/app/routes.js:236 src/component/navigation.vue:749 +#: src/app/routes.js:244 src/component/navigation.vue:755 msgid "Live Photos" msgstr "تصاویر" @@ -1765,21 +1791,24 @@ msgstr "در حال بارگیری موارد..." msgid "Loading..." msgstr "در حال بارگیری..." -#: src/options/admin.js:35 src/options/auth.js:22 src/options/auth.js:27 +#: src/options/admin.js:39 src/options/auth.js:23 src/options/auth.js:28 #: src/options/options.js:38 src/page/settings/general.vue:107 msgid "Local" msgstr "محلی" -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Local Time" msgstr "زمان محلی" -#: src/page/settings/account.vue:665 src/page/settings/account.vue:667 -#: src/component/album/edit/dialog.vue:92 src/component/photo/edit/info.vue:65 -#: src/component/photo/edit/labels.vue:48 +#: src/page/settings/account.vue:671 src/page/settings/account.vue:673 +#: src/component/album/edit/dialog.vue:93 +#: src/component/photo/edit/details.vue:38 +#: src/component/photo/edit/details.vue:116 +#: src/component/photo/edit/details.vue:210 +#: src/component/photo/edit/info.vue:67 src/component/photo/edit/labels.vue:48 #: src/component/photo/view/cards.vue:555 src/component/photo/view/list.vue:117 -#: src/component/sidebar/info.vue:107 src/page/albums.vue:99 -#: src/page/settings/account.vue:557 src/page/settings/account.vue:559 +#: src/component/sidebar/info.vue:107 src/page/albums.vue:100 +#: src/page/settings/account.vue:563 src/page/settings/account.vue:565 msgid "Location" msgstr "محل" @@ -1787,20 +1816,19 @@ msgstr "محل" msgid "Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues." msgstr "هر زمان که PhotoPrism با فایل های شکسته مواجه می شود یا مشکلات احتمالی دیگری وجود دارد، پیام های گزارش در اینجا ظاهر می شوند." -#: src/component/navigation.vue:1552 src/component/navigation.vue:1840 +#: src/component/navigation.vue:1579 src/component/navigation.vue:1877 msgid "Login" msgstr "وارد شدن" -#: src/component/navigation.vue:1759 +#: src/component/navigation.vue:1791 msgid "Logout" msgstr "خارج شدن" -#: src/component/navigation.vue:1962 src/page/library.vue:59 +#: src/component/navigation.vue:2007 src/page/library.vue:59 #: src/page/settings/general.vue:557 msgid "Logs" msgstr "گزارش ها" -#: src/component/photo/edit/details.vue:324 #: src/component/photo/edit/info.vue:379 msgid "Longitude" msgstr "طول جغرافیایی" @@ -1813,7 +1841,7 @@ msgstr "کم" msgid "Magenta" msgstr "ارغوانی" -#: src/component/photo/edit/files.vue:489 +#: src/component/photo/edit/files.vue:491 msgid "Main Color" msgstr "رنگ اصلی" @@ -1821,12 +1849,16 @@ msgstr "رنگ اصلی" msgid "Male" msgstr "نر" -#: src/page/connect.vue:164 src/page/connect.vue:246 -#: src/page/about/about.vue:171 src/page/connect.vue:168 -#: src/page/connect.vue:255 +#: src/page/connect.vue:165 src/page/connect.vue:248 +#: src/page/about/about.vue:173 src/page/connect.vue:169 +#: src/page/connect.vue:257 msgid "Manage Account" msgstr "مدیریت حساب" +#: src/options/admin.js:10 src/options/auth.js:7 +msgid "Manager" +msgstr "مدیر" + #: src/component/photo/edit/info.vue:49 src/component/photo/edit/labels.vue:38 msgid "Manual" msgstr "دستی" @@ -1843,11 +1875,11 @@ msgstr "نقشه ها" msgid "Marker" msgstr "نشانگر" -#: src/component/user/add/dialog.vue:69 +#: src/component/user/add/dialog.vue:70 msgid "Maximum number of accounts has been reached." msgstr "به حداکثر تعداد حساب ها رسیده است." -#: src/app/routes.js:229 src/component/navigation.vue:688 +#: src/app/routes.js:237 src/component/navigation.vue:693 #: src/options/options.js:199 msgid "Media" msgstr "رسانه ها" @@ -1864,7 +1896,7 @@ msgstr "عضویت" msgid "Merge %{a} with %{b}?" msgstr "%{a} با %{b} ادغام شود؟" -#: src/page/about/feedback.vue:102 +#: src/page/about/feedback.vue:103 msgid "Message" msgstr "پیام" @@ -1876,7 +1908,7 @@ msgstr "پیغام فرستاده شد" msgid "Metadata" msgstr "فراداده" -#: src/options/auth.js:56 src/options/auth.js:72 +#: src/options/auth.js:57 src/options/auth.js:73 msgid "Metrics" msgstr "معیارهای" @@ -1884,7 +1916,7 @@ msgstr "معیارهای" msgid "Minimize" msgstr "کوچک کردن" -#: src/component/photo/edit/files.vue:509 src/component/photo/edit/info.vue:367 +#: src/component/photo/edit/files.vue:511 src/component/photo/edit/info.vue:367 msgid "Missing" msgstr "گم شده" @@ -1892,17 +1924,17 @@ msgstr "گم شده" msgid "Missing or invalid configuration" msgstr "پیکربندی موجود نیست یا نامعتبر است" -#: src/app/routes.js:163 src/component/navigation.vue:1129 +#: src/app/routes.js:171 src/component/navigation.vue:1147 #: src/options/options.js:205 src/page/settings/general.vue:230 msgid "Moments" msgstr "لحظه ها" -#: src/component/navigation.vue:383 +#: src/component/navigation.vue:385 msgid "Monochrome" msgstr "تک رنگ" -#: src/page/settings/account.vue:475 src/component/photo/edit/details.vue:137 -#: src/component/photo/toolbar.vue:342 +#: src/page/settings/account.vue:481 src/component/photo/edit/details.vue:139 +#: src/component/photo/toolbar.vue:344 msgid "Month" msgstr "ماه" @@ -1922,7 +1954,7 @@ msgstr "بسیار مرتبط" msgid "Move Files" msgstr "جابجایی فایل ها" -#: src/component/settings/password.vue:107 +#: src/component/settings/password.vue:108 msgid "Must have at least %{n} characters." msgstr "باید حداقل %{n} حرف داشته باشد." @@ -1930,20 +1962,20 @@ msgstr "باید حداقل %{n} حرف داشته باشد." msgid "Mute" msgstr "بی صدا" -#: src/page/about/feedback.vue:121 src/page/about/feedback.vue:122 -#: src/component/album/edit/dialog.vue:77 -#: src/component/label/edit/dialog.vue:71 -#: src/component/people/edit/dialog.vue:71 -#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:57 +#: src/page/about/feedback.vue:122 src/page/about/feedback.vue:123 +#: src/component/album/edit/dialog.vue:78 +#: src/component/label/edit/dialog.vue:72 +#: src/component/people/edit/dialog.vue:72 +#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:59 #: src/component/photo/edit/info.vue:125 src/component/photo/edit/people.vue:36 -#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:310 -#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:286 -#: src/page/albums.vue:98 src/page/auth/login.vue:168 +#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:311 +#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:289 +#: src/page/albums.vue:99 src/page/auth/login.vue:168 #: src/page/people/new.vue:68 src/page/settings/services.vue:37 msgid "Name" msgstr "نام" -#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:60 +#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:65 #: src/component/label/edit/dialog.vue:19 #: src/component/people/edit/dialog.vue:19 #: src/component/photo/edit/labels.vue:30 @@ -1953,7 +1985,7 @@ msgstr "نام" msgid "Name too long" msgstr "نام خیلی طولانی است" -#: src/page/admin/users.vue:204 src/options/options.js:361 +#: src/page/admin/users.vue:206 src/options/options.js:361 #: src/options/options.js:371 src/page/settings/services.vue:75 msgid "Never" msgstr "هرگز" @@ -1962,13 +1994,13 @@ msgstr "هرگز" msgid "New" msgstr "جدید" -#: src/component/settings/password.vue:106 +#: src/component/settings/password.vue:107 msgid "New Password" msgstr "رمزعبور جدید" #: src/component/album/edit/dialog.vue:24 src/component/photo/toolbar.vue:114 #: src/component/photo/toolbar.vue:126 src/component/photo/toolbar.vue:136 -#: src/page/albums.vue:100 +#: src/page/albums.vue:101 msgid "Newest First" msgstr "اول جدیدترین ها" @@ -1984,15 +2016,15 @@ msgstr "صفحه بعدی" msgid "Next visual" msgstr "تصویری بعدی" -#: src/component/people/merge/dialog.vue:47 -#: src/component/photo/archive/dialog.vue:47 +#: src/component/people/merge/dialog.vue:48 +#: src/component/photo/archive/dialog.vue:48 #: src/component/photo/edit/info.vue:281 src/component/photo/edit/info.vue:297 #: src/component/photo/edit/info.vue:313 src/component/photo/edit/info.vue:329 #: src/component/photo/edit/info.vue:344 msgid "No" msgstr "خیر" -#: src/page/albums.vue:607 src/page/albums.vue:282 +#: src/page/albums.vue:612 src/page/albums.vue:282 msgid "No albums found" msgstr "هیچ آلبومی پیدا نشد" @@ -2000,7 +2032,7 @@ msgstr "هیچ آلبومی پیدا نشد" msgid "No data available" msgstr "هیچ داده ای در دسترس نیست" -#: src/page/labels.vue:523 src/page/labels.vue:155 +#: src/page/labels.vue:528 src/page/labels.vue:155 msgid "No labels found" msgstr "هیچ برچسبی پیدا نشد" @@ -2013,15 +2045,15 @@ msgid "No more" msgstr "دیگر نه" #: src/component/photo/edit/people.vue:34 src/page/people/new.vue:346 -#: src/page/people/new.vue:443 src/page/people/new.vue:103 -#: src/page/people/recognized.vue:531 src/page/people/recognized.vue:146 +#: src/page/people/new.vue:446 src/page/people/new.vue:103 +#: src/page/people/recognized.vue:536 src/page/people/recognized.vue:146 msgid "No people found" msgstr "هیچ فردی پیدا نشد" #: src/component/lightbox.vue:365 src/component/photo/view/cards.vue:144 #: src/component/photo/view/list.vue:82 src/component/photo/view/mosaic.vue:68 -#: src/page/album/photos.vue:488 src/page/library/browse.vue:123 -#: src/page/photos.vue:626 src/page/places.vue:624 src/page/places.vue:730 +#: src/page/album/photos.vue:499 src/page/library/browse.vue:123 +#: src/page/photos.vue:636 src/page/places.vue:624 src/page/places.vue:730 msgid "No pictures found" msgstr "هیچ تصویری پیدا نشد" @@ -2030,7 +2062,11 @@ msgstr "هیچ تصویری پیدا نشد" msgid "No recently edited pictures" msgstr "هیچ عکسی اخیراً ویرایش نشده" -#: src/component/navigation.vue:1655 +#: src/component/location/dialog.vue:166 +msgid "No results" +msgstr "هیچ نتیجه‌ای حاصل نشد" + +#: src/component/navigation.vue:1686 msgid "No server connection" msgstr "بدون اتصال به سرور" @@ -2042,7 +2078,7 @@ msgstr "هیچ سروری پیکربندی نشده است." msgid "No services configured." msgstr "هیچ سروری پیکربندی نشده است." -#: src/component/confirm/sponsor.vue:72 +#: src/component/confirm/sponsor.vue:73 msgid "No thanks" msgstr "نه، ممنون" @@ -2052,17 +2088,17 @@ msgstr "هیچ هشدار یا خطایی حاوی این کلمه کلیدی ن #: src/component/photo/view/cards.vue:154 src/component/photo/view/list.vue:59 #: src/component/photo/view/list.vue:92 src/component/photo/view/mosaic.vue:78 -#: src/component/upload/dialog.vue:208 +#: src/component/upload/dialog.vue:210 msgid "Non-photographic and low-quality images require a review before they appear in search results." msgstr "تصاویر غیرعکاسی و با کیفیت پایین قبل از اینکه در نتایج جستجو ظاهر شوند نیاز به بررسی دارند." -#: src/options/admin.js:47 src/options/auth.js:32 src/options/options.js:212 +#: src/options/admin.js:51 src/options/auth.js:33 src/options/options.js:212 #: src/options/options.js:328 msgid "None" msgstr "هیچ یک" -#: src/common/util.js:853 src/component/lightbox.vue:633 -#: src/component/service/upload.vue:75 src/component/service/upload.vue:87 +#: src/component/lightbox.vue:633 src/component/service/upload.vue:75 +#: src/component/service/upload.vue:87 msgid "Not allowed" msgstr "مجاز نیست" @@ -2074,8 +2110,7 @@ msgstr "پیدا نشد" msgid "Not sorted." msgstr "مرتب نشده است." -#: src/common/util.js:858 src/component/lightbox.vue:627 -#: src/component/lightbox.vue:744 +#: src/component/lightbox.vue:627 src/component/lightbox.vue:744 msgid "Not supported" msgstr "پشتیبانی نمی شود" @@ -2083,15 +2118,15 @@ msgstr "پشتیبانی نمی شود" msgid "Note you may manually manage your originals folder and importing is optional." msgstr "توجه داشته باشید که می توانید به صورت دستی پوشه اصلی خود را مدیریت کنید و وارد کردن اختیاری است." -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "Note:" msgstr "یادداشت:" -#: src/component/service/add.vue:120 +#: src/component/service/add.vue:121 msgid "Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload." msgstr "توجه: فقط سرورهای WebDAV، مانند Nextcloud یا PhotoPrism، می توانند به عنوان سرویس راه دور برای پشتیبان گیری و آپلود فایل پیکربندی شوند." -#: src/component/photo/edit/details.vue:603 +#: src/component/photo/edit/details.vue:577 msgid "Notes" msgstr "یادداشت" @@ -2099,8 +2134,8 @@ msgstr "یادداشت" msgid "Nothing to see here yet." msgstr "هنوز چیزی برای دیدن اینجا وجود ندارد." -#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:115 -#: src/component/settings/apps.vue:390 +#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:125 +#: src/component/settings/apps.vue:393 msgid "Nothing was found." msgstr "چیزی پیدا نشد." @@ -2108,7 +2143,7 @@ msgstr "چیزی پیدا نشد." msgid "Offline" msgstr "آفلاین" -#: src/options/admin.js:39 src/options/auth.js:28 +#: src/options/admin.js:43 src/options/auth.js:29 msgid "OIDC" msgstr "OIDC" @@ -2118,11 +2153,11 @@ msgstr "باشه" #: src/component/album/edit/dialog.vue:25 src/component/photo/toolbar.vue:115 #: src/component/photo/toolbar.vue:127 src/component/photo/toolbar.vue:137 -#: src/page/albums.vue:101 +#: src/page/albums.vue:102 msgid "Oldest First" msgstr "اول قدیمی‌تر ها" -#: src/component/settings/webdav.vue:77 +#: src/component/settings/webdav.vue:78 msgid "On Windows, enter the following resource in the connection dialog:" msgstr "در ویندوز، منبع زیر را در گفتگوی اتصال وارد کنید:" @@ -2134,11 +2169,11 @@ msgstr "تولید تصاویر بندانگشتی بر اساس تقاضا مم msgid "Once a week" msgstr "یک بار در هفته" -#: src/page/albums.vue:609 +#: src/page/albums.vue:614 msgid "One album found" msgstr "یک آلبوم پیدا شد" -#: src/page/library/browse.vue:358 +#: src/page/library/browse.vue:360 msgid "One file found" msgstr "یک فایل پیدا شد" @@ -2146,24 +2181,24 @@ msgstr "یک فایل پیدا شد" msgid "One file uploaded" msgstr "یک فایل آپلود شد" -#: src/page/library/browse.vue:360 +#: src/page/library/browse.vue:362 msgid "One folder found" msgstr "یک پوشه پیدا شد" -#: src/page/labels.vue:525 +#: src/page/labels.vue:530 msgid "One label found" msgstr "یک برچسب پیدا شد" -#: src/page/people/new.vue:348 src/page/people/new.vue:445 -#: src/page/people/recognized.vue:533 +#: src/page/people/new.vue:348 src/page/people/new.vue:448 +#: src/page/people/recognized.vue:538 msgid "One person found" msgstr "یک شخص پیدا شد" -#: src/page/album/photos.vue:490 src/page/photos.vue:628 +#: src/page/album/photos.vue:501 src/page/photos.vue:638 msgid "One picture found" msgstr "یک تصویر پیدا شد" -#: src/component/settings/passcode.vue:478 +#: src/component/settings/passcode.vue:481 msgid "Only locally managed accounts can be set up for authentication with 2FA." msgstr "فقط حساب های مدیریت شده محلی را می توان برای احراز هویت با 2FA تنظیم کرد." @@ -2171,7 +2206,7 @@ msgstr "فقط حساب های مدیریت شده محلی را می توان msgid "Open" msgstr "باز کن" -#: src/component/service/add.vue:86 src/component/service/add.vue:107 +#: src/component/service/add.vue:87 src/component/service/add.vue:108 msgid "optional" msgstr "اختیاری" @@ -2183,7 +2218,7 @@ msgstr "یا" msgid "Orange" msgstr "نارنجی" -#: src/page/settings/account.vue:571 src/page/settings/account.vue:573 +#: src/page/settings/account.vue:577 src/page/settings/account.vue:579 msgid "Organization" msgstr "گرایش" @@ -2199,7 +2234,7 @@ msgstr "نام فایل های اصلی ذخیره و نمایه می شود." msgid "Original Name" msgstr "اسم اصلی" -#: src/component/navigation.vue:1304 src/model/file.js:196 +#: src/component/navigation.vue:1328 src/model/file.js:196 #: src/options/options.js:413 src/page/library/browse.vue:65 #: src/page/settings/content.vue:356 src/page/settings/general.vue:532 msgid "Originals" @@ -2210,7 +2245,7 @@ msgstr "اصلی ها" msgid "Other" msgstr "دیگر" -#: src/page/about/about.vue:77 src/page/about/about.vue:83 +#: src/page/about/about.vue:78 src/page/about/about.vue:84 msgid "Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible." msgstr "ماموریت ما ارائه کاربرپسندترین راه حل برای حفظ حریم خصوصی برای سازماندهی و در دسترس نگه داشتن تصاویر شماست." @@ -2222,7 +2257,7 @@ msgstr "بیرون" msgid "Page {0}, Current page" msgstr "صفحه {0}، صفحه فعلی" -#: src/component/photo/edit/files.vue:352 src/model/photo.js:859 +#: src/component/photo/edit/files.vue:352 src/model/photo.js:896 msgid "Pages" msgstr "صفحات" @@ -2234,15 +2269,15 @@ msgstr "پیمایش صفحه بندی" msgid "Panorama" msgstr "پانوراما" -#: src/component/navigation.vue:402 +#: src/component/navigation.vue:404 msgid "Panoramas" msgstr "پانوراما" -#: src/component/user/add/dialog.vue:114 src/component/user/add/dialog.vue:115 -#: src/component/service/add.vue:106 src/component/service/edit.vue:352 -#: src/component/settings/apps.vue:121 src/component/settings/passcode.vue:106 -#: src/component/settings/passcode.vue:413 src/component/share/dialog.vue:27 -#: src/options/auth.js:91 src/page/auth/login.vue:196 +#: src/component/user/add/dialog.vue:115 src/component/user/add/dialog.vue:116 +#: src/component/service/add.vue:107 src/component/service/edit.vue:353 +#: src/component/settings/apps.vue:124 src/component/settings/passcode.vue:109 +#: src/component/settings/passcode.vue:416 src/component/share/dialog.vue:27 +#: src/options/auth.js:92 src/page/auth/login.vue:196 msgid "Password" msgstr "رمزعبور" @@ -2250,9 +2285,9 @@ msgstr "رمزعبور" msgid "Password changed" msgstr "رمز عبور تغییر کرد" -#: src/app/routes.js:404 src/app/routes.js:428 src/component/navigation.vue:845 -#: src/component/navigation.vue:1898 src/component/photo/edit/dialog.vue:228 -#: src/component/photo/edit/dialog.vue:245 src/options/options.js:201 +#: src/app/routes.js:412 src/app/routes.js:436 src/component/navigation.vue:853 +#: src/component/navigation.vue:1939 src/component/photo/edit/dialog.vue:238 +#: src/component/photo/edit/dialog.vue:257 src/options/options.js:201 #: src/page/settings/general.vue:180 msgid "People" msgstr "مردم" @@ -2273,23 +2308,23 @@ msgstr "برای آزاد کردن فضای ذخیره سازی، فایل ها msgid "Person" msgstr "شخص" -#: src/options/auth.js:42 +#: src/options/auth.js:43 msgid "Personal" msgstr "شخصی" -#: src/model/photo.js:1273 +#: src/model/photo.js:1310 msgid "Photo" msgstr "تصویر" -#: src/page/about/about.vue:156 +#: src/page/about/about.vue:158 msgid "PhotoPrism is 100% self-funded and independent." msgstr "PhotoPrism 100٪ با بودجه شخصی و مستقل است." -#: src/page/about/about.vue:92 +#: src/page/about/about.vue:93 msgid "PhotoPrism+ Membership" msgstr "عضویت PhotoPrism+" -#: src/app/routes.js:156 +#: src/app/routes.js:164 msgid "Photos" msgstr "تصاویر" @@ -2310,27 +2345,27 @@ msgstr "مکان" msgid "Place & Time" msgstr "مکان و زمان" -#: src/app/routes.js:303 src/app/routes.js:309 src/app/routes.js:315 -#: src/app/routes.js:330 src/component/navigation.vue:986 -#: src/component/navigation.vue:1914 src/options/options.js:203 +#: src/app/routes.js:311 src/app/routes.js:317 src/app/routes.js:323 +#: src/app/routes.js:338 src/component/navigation.vue:999 +#: src/component/navigation.vue:1956 src/options/options.js:203 #: src/page/places.vue:51 src/page/settings/general.vue:609 #: src/page/settings/general.vue:638 msgid "Places" msgstr "مکان ها" -#: src/component/settings/password.vue:129 +#: src/component/settings/password.vue:130 msgid "Please confirm your new password." msgstr "لطفا رمز عبور جدید خود را تایید کنید." -#: src/component/settings/apps.vue:185 +#: src/component/settings/apps.vue:188 msgid "Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:" msgstr "لطفاً رمز عبور برنامه زیر را که به‌طور تصادفی تولید شده است کپی کنید و آن را در مکانی امن نگه دارید، زیرا دیگر نمی‌توانید آن را ببینید:" -#: src/component/upload/dialog.vue:203 +#: src/component/upload/dialog.vue:205 msgid "Please do not upload any private, unlawful or offensive pictures." msgstr "لطفا هیچ عکس خصوصی، غیرقانونی یا توهین آمیزی را آپلود نکنید." -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Please don't upload photos containing offensive content." msgstr "لطفا عکس های حاوی محتوای توهین آمیز آپلود نکنید." @@ -2338,11 +2373,11 @@ msgstr "لطفا عکس های حاوی محتوای توهین آمیز آپل msgid "Please enter OTP character {0}" msgstr "لطفاً نویسه OTP {0} را وارد کنید" -#: src/component/settings/password.vue:66 +#: src/component/settings/password.vue:67 msgid "Please note that changing your password will log you out on other devices and browsers." msgstr "لطفاً توجه داشته باشید که تغییر رمز عبور شما را از سایر دستگاه ها و مرورگرها خارج می کند." -#: src/page/connect.vue:148 src/page/connect.vue:152 +#: src/page/connect.vue:149 src/page/connect.vue:153 msgid "Please restart your instance for the changes to take effect." msgstr "لطفاً نمونه خود را مجدداً راه اندازی کنید تا تغییرات اعمال شوند." @@ -2362,11 +2397,11 @@ msgstr "محدودیت اندازه PNG: %{n}px" msgid "Portrait" msgstr "پرتره" -#: src/component/service/edit.vue:273 +#: src/component/service/edit.vue:274 msgid "Preserve filenames" msgstr "حفظ نام فایل ها" -#: src/component/upload/dialog.vue:162 +#: src/component/upload/dialog.vue:164 msgid "Press enter to create a new album." msgstr "برای ایجاد یک آلبوم جدید، اینتر را فشار دهید." @@ -2403,8 +2438,8 @@ msgstr "تصویری قبلی" msgid "Primary" msgstr "اولیه" -#: src/app/routes.js:271 src/component/album/edit/dialog.vue:176 -#: src/component/navigation.vue:531 src/component/photo/edit/info.vue:303 +#: src/app/routes.js:279 src/component/album/edit/dialog.vue:177 +#: src/component/navigation.vue:533 src/component/photo/edit/info.vue:303 #: src/page/settings/general.vue:280 msgid "Private" msgstr "خصوصی" @@ -2429,7 +2464,7 @@ msgstr "فیلتر کیفیت" msgid "Quality Score" msgstr "امتیاز کیفیت" -#: src/page/admin/users.vue:169 +#: src/page/admin/users.vue:171 msgid "r" msgstr "r" @@ -2460,7 +2495,7 @@ msgstr "حالت فقط خواندنی" #: src/component/album/edit/dialog.vue:26 src/component/photo/toolbar.vue:116 #: src/component/photo/toolbar.vue:128 src/component/photo/toolbar.vue:138 -#: src/page/albums.vue:102 +#: src/page/albums.vue:103 msgid "Recently Added" msgstr "به تازگی اضافه شده" @@ -2468,7 +2503,7 @@ msgstr "به تازگی اضافه شده" msgid "Recently Archived" msgstr "اخیراً بایگانی شده است" -#: src/component/photo/toolbar.vue:139 src/page/albums.vue:103 +#: src/component/photo/toolbar.vue:139 src/page/albums.vue:104 msgid "Recently Edited" msgstr "به تازگی ویرایش شده است" @@ -2493,24 +2528,24 @@ msgstr "کد بازیابی" msgid "Red" msgstr "قرمز" -#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:126 -#: src/component/album/toolbar.vue:79 src/component/photo/toolbar.vue:169 -#: src/page/albums.vue:173 src/page/labels.vue:112 +#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:128 +#: src/component/album/toolbar.vue:84 src/component/photo/toolbar.vue:169 +#: src/page/albums.vue:175 src/page/labels.vue:112 #: src/page/library/browse.vue:90 src/page/library/errors.vue:81 #: src/page/people/new.vue:54 src/page/people/recognized.vue:88 msgid "Refresh" msgstr "تازه کردن" -#: src/app/routes.js:337 src/component/navigation.vue:943 -#: src/component/navigation.vue:1026 +#: src/app/routes.js:345 src/component/navigation.vue:955 +#: src/component/navigation.vue:1040 msgid "Regions" msgstr "مناطق" -#: src/page/connect.vue:275 src/page/connect.vue:284 +#: src/page/connect.vue:277 src/page/connect.vue:286 msgid "Register" msgstr "ثبت نام" -#: src/component/navigation.vue:1773 src/component/update.vue:68 +#: src/component/navigation.vue:1806 src/component/update.vue:68 msgid "Reload" msgstr "بارگذاری مجدد" @@ -2555,34 +2590,34 @@ msgstr "لازم است تصاویر غیرعکاسی و با کیفیت پای msgid "Resolution" msgstr "رزولوشن" -#: src/page/connect.vue:179 src/page/connect.vue:183 +#: src/page/connect.vue:180 src/page/connect.vue:184 #: src/page/settings/advanced.vue:782 msgid "Restart" msgstr "راه اندازی مجدد" -#: src/component/user/edit/dialog.vue:485 src/component/lightbox.vue:1221 +#: src/component/user/edit/dialog.vue:488 src/component/lightbox.vue:1221 #: src/component/photo/clipboard.vue:77 msgid "Restore" msgstr "بازگرداندن" -#: src/component/lightbox.vue:2000 +#: src/component/lightbox.vue:2020 msgid "Restored" msgstr "بازسازی شد" -#: src/component/service/edit.vue:428 +#: src/component/service/edit.vue:429 msgid "Retry Limit" msgstr "محدودیت تلاش" -#: src/component/settings/password.vue:128 +#: src/component/settings/password.vue:129 msgid "Retype Password" msgstr "رمز عبور را دوباره تایپ کنید" -#: src/app/routes.js:264 src/component/navigation.vue:505 +#: src/app/routes.js:272 src/component/navigation.vue:507 msgid "Review" msgstr "بازبینی" -#: src/component/user/add/dialog.vue:171 src/component/user/edit/dialog.vue:284 -#: src/page/admin/sessions.vue:262 src/page/admin/users.vue:73 +#: src/component/user/add/dialog.vue:172 src/component/user/edit/dialog.vue:285 +#: src/page/admin/sessions.vue:263 src/page/admin/users.vue:75 msgid "Role" msgstr "نقش" @@ -2594,11 +2629,11 @@ msgstr "ردیف در هر صفحه:" msgid "Satellite" msgstr "ماهواره" -#: src/component/user/edit/dialog.vue:485 -#: src/component/album/edit/dialog.vue:211 -#: src/component/label/edit/dialog.vue:119 -#: src/component/people/edit/dialog.vue:132 src/component/service/edit.vue:466 -#: src/component/settings/password.vue:172 src/component/share/dialog.vue:181 +#: src/component/user/edit/dialog.vue:488 +#: src/component/album/edit/dialog.vue:212 +#: src/component/label/edit/dialog.vue:120 +#: src/component/people/edit/dialog.vue:133 src/component/service/edit.vue:467 +#: src/component/settings/password.vue:173 src/component/share/dialog.vue:181 msgid "Save" msgstr "ذخیره" @@ -2606,23 +2641,23 @@ msgstr "ذخیره" msgid "Scan" msgstr "اسکن" -#: src/component/settings/passcode.vue:179 +#: src/component/settings/passcode.vue:182 msgid "Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:" msgstr "کد QR را با برنامه احراز هویت خود اسکن کنید یا از کلید راه اندازی نشان داده شده در زیر استفاده کنید و سپس کد تأیید تولید شده را وارد کنید:" -#: src/component/navigation.vue:461 +#: src/component/navigation.vue:463 msgid "Scans" msgstr "اسکن ها" -#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:377 -#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:310 +#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:381 +#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:313 msgid "Scope" msgstr "محدوده" -#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:62 -#: src/component/navigation.vue:342 src/component/navigation.vue:1866 -#: src/component/photo/toolbar.vue:57 src/options/options.js:197 -#: src/page/albums.vue:100 src/page/labels.vue:77 +#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:69 +#: src/component/location/dialog.vue:133 src/component/navigation.vue:343 +#: src/component/navigation.vue:1905 src/component/photo/toolbar.vue:57 +#: src/options/options.js:197 src/page/albums.vue:100 src/page/labels.vue:77 #: src/page/library/errors.vue:76 src/page/people/recognized.vue:66 #: src/page/places.vue:79 src/page/settings/content.vue:235 msgid "Search" @@ -2660,11 +2695,11 @@ msgstr "تاریخ را انتخاب کنید" msgid "Select dates" msgstr "تاریخ ها را انتخاب کنید" -#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:154 +#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:156 msgid "Select or create an album" msgstr "آلبومی را انتخاب یا ایجاد کنید" -#: src/component/upload/dialog.vue:138 +#: src/component/upload/dialog.vue:140 msgid "Select the files to upload…" msgstr "انتخاب فایل برای آپلود…" @@ -2692,7 +2727,7 @@ msgstr "انتخاب بازگردانده شد" msgid "Sequential Name" msgstr "نام ترتیبی" -#: src/component/service/add.vue:67 src/component/service/edit.vue:322 +#: src/component/service/add.vue:68 src/component/service/edit.vue:323 #: src/component/share/dialog.vue:25 msgid "Service URL" msgstr "URL سرویس" @@ -2701,7 +2736,7 @@ msgstr "URL سرویس" msgid "Services" msgstr "URL سرویس" -#: src/model/session.js:107 src/options/auth.js:41 src/options/auth.js:90 +#: src/model/session.js:107 src/options/auth.js:42 src/options/auth.js:91 msgid "Session" msgstr "جلسه" @@ -2709,7 +2744,7 @@ msgstr "جلسه" msgid "Session ID" msgstr "شناسه جلسه" -#: src/page/admin.vue:45 +#: src/page/admin.vue:44 msgid "Sessions" msgstr "جلسات" @@ -2717,22 +2752,22 @@ msgstr "جلسات" msgid "Set as Album Cover" msgstr "تنظیم به عنوان جلد آلبوم" -#: src/app/routes.js:101 src/app/routes.js:492 src/app/routes.js:504 -#: src/app/routes.js:521 src/app/routes.js:534 src/app/routes.js:547 -#: src/component/navigation.vue:1394 src/component/navigation.vue:1806 +#: src/app/routes.js:101 src/app/routes.js:500 src/app/routes.js:512 +#: src/app/routes.js:529 src/app/routes.js:542 src/app/routes.js:555 +#: src/component/navigation.vue:1419 src/component/navigation.vue:1841 msgid "Settings" msgstr "تنظیمات" #: src/page/settings/account.vue:115 src/page/settings/account.vue:144 -#: src/component/settings/passcode.vue:147 +#: src/component/settings/passcode.vue:151 msgid "Settings saved" msgstr "تنظیمات ذخیره شد" -#: src/component/service/upload.vue:131 src/component/settings/passcode.vue:160 +#: src/component/service/upload.vue:132 src/component/settings/passcode.vue:163 msgid "Setup" msgstr "راه اندازی" -#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:98 +#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:103 #: src/component/photo/clipboard.vue:51 src/page/settings/general.vue:382 msgid "Share" msgstr "اشتراک گذاری" @@ -2749,7 +2784,7 @@ msgstr "تصاویر خود را با سایر برنامه ها و سرویس msgid "Show" msgstr "نمایش" -#: src/page/people/new.vue:116 src/page/people/new.vue:233 +#: src/page/people/new.vue:116 src/page/people/new.vue:235 msgid "Show all new faces" msgstr "نمایش همه صورت ها" @@ -2794,7 +2829,7 @@ msgid "Similar" msgstr "مشابه" #: src/component/photo/edit/files.vue:51 src/component/photo/edit/files.vue:341 -#: src/component/service/edit.vue:139 src/component/sidebar/info.vue:96 +#: src/component/service/edit.vue:140 src/component/sidebar/info.vue:96 msgid "Size" msgstr "سایز" @@ -2822,7 +2857,7 @@ msgstr "یه چیزی اشتباه شد دوباره تلاش کن" msgid "Sort by" msgstr "مرتب سازی بر اساس" -#: src/component/album/edit/dialog.vue:142 src/component/photo/toolbar.vue:288 +#: src/component/album/edit/dialog.vue:143 src/component/photo/toolbar.vue:290 #: src/page/albums.vue:214 msgid "Sort Order" msgstr "ترتیب مرتب سازی" @@ -2857,7 +2892,7 @@ msgstr "عکس‌هایی را که دقیقاً در همان زمان و مک msgid "Stackable" msgstr "قابل انباشته شدن" -#: src/component/navigation.vue:421 src/page/settings/content.vue:136 +#: src/component/navigation.vue:423 src/page/settings/content.vue:136 msgid "Stacks" msgstr "پشته ها" @@ -2885,16 +2920,16 @@ msgstr "ذخیره سازی" msgid "Streets" msgstr "خیابان ها" -#: src/component/photo/edit/details.vue:494 +#: src/component/photo/edit/details.vue:468 #: src/component/photo/edit/labels.vue:44 msgid "Subject" msgstr "موضوع" -#: src/page/about/feedback.vue:162 src/page/about/feedback.vue:163 +#: src/page/about/feedback.vue:163 src/page/about/feedback.vue:164 msgid "Submit" msgstr "ارسال کنید" -#: src/component/settings/passcode.vue:132 +#: src/component/settings/passcode.vue:136 msgid "Successfully activated" msgstr "با موفقیت فعال شد" @@ -2903,23 +2938,23 @@ msgid "Successfully Connected" msgstr "با موفقیت وصل شد" #: src/component/session/remove/dialog.vue:32 -#: src/component/settings/apps.vue:218 +#: src/component/settings/apps.vue:222 msgid "Successfully deleted" msgstr "با موفقیت حذف شد" -#: src/component/settings/passcode.vue:107 +#: src/component/settings/passcode.vue:108 msgid "Successfully verified" msgstr "با موفقیت تأیید شد" -#: src/component/user/edit/dialog.vue:398 src/page/admin/users.vue:163 +#: src/component/user/edit/dialog.vue:399 src/page/admin/users.vue:165 msgid "Super Admin" msgstr "سوپر ادمین" -#: src/component/service/add.vue:122 +#: src/component/service/add.vue:123 msgid "Support for additional services, like Google Drive, will be added over time." msgstr "پشتیبانی از خدمات اضافی، مانند Google Drive، به مرور اضافه خواهد شد." -#: src/component/confirm/sponsor.vue:37 src/component/navigation.vue:1629 +#: src/component/confirm/sponsor.vue:38 src/component/navigation.vue:1660 msgid "Support Our Mission" msgstr "از ماموریت ما حمایت کنید" @@ -2927,7 +2962,7 @@ msgstr "از ماموریت ما حمایت کنید" msgid "Sync" msgstr "همگام سازی" -#: src/component/service/edit.vue:289 +#: src/component/service/edit.vue:290 msgid "Sync raw and video files" msgstr "همگام سازی فایل های خام و ویدیویی" @@ -2953,23 +2988,23 @@ msgstr "زمین" msgid "Text" msgstr "متن" -#: src/component/photo/edit/details.vue:32 src/page/people/new.vue:71 +#: src/component/photo/edit/details.vue:40 src/page/people/new.vue:71 msgid "Text too long" msgstr "متن خیلی طولانی است" -#: src/page/about/about.vue:145 +#: src/page/about/about.vue:146 msgid "Thank You for Your Support!" msgstr "از حمایت شما متشکرم!" -#: src/page/about/about.vue:79 src/page/about/about.vue:85 +#: src/page/about/about.vue:80 src/page/about/about.vue:86 msgid "That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality." msgstr "به همین دلیل است که PhotoPrism از ابتدا ساخته شده است تا در هر کجا که به آن نیاز دارید اجرا شود، بدون اینکه آزادی، حریم خصوصی یا عملکرد به خطر بیفتد." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "The index currently contains %{n} hidden files." msgstr "این فهرست در حال حاضر حاوی %{n} فایل پنهان است." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates." msgstr "ممکن است فرمت آنها پشتیبانی نشود، هنوز به JPEG تبدیل نشده اند یا موارد تکراری وجود دارد." @@ -2984,44 +3019,44 @@ msgstr "قالب" msgid "This field is required" msgstr "این فیلد الزامی است" -#: src/component/settings/webdav.vue:100 src/page/settings/services.vue:144 +#: src/component/settings/webdav.vue:101 src/page/settings/services.vue:147 msgid "This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local." msgstr "این پوشه اصلی را به عنوان درایو شبکه نصب می کند و به شما امکان می دهد فایل ها را از رایانه یا تلفن هوشمند خود باز، ویرایش و حذف کنید، گویی محلی هستند." -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Time UTC" msgstr "زمان UTC" -#: src/component/photo/edit/details.vue:219 src/page/settings/general.vue:108 +#: src/component/photo/edit/details.vue:221 src/page/settings/general.vue:108 msgid "Time Zone" msgstr "منطقه زمانی" -#: src/component/service/edit.vue:408 +#: src/component/service/edit.vue:409 msgid "Timeout" msgstr "تایم اوت" -#: src/component/user/edit/dialog.vue:98 src/component/user/edit/dialog.vue:99 +#: src/component/user/edit/dialog.vue:99 src/component/user/edit/dialog.vue:100 #: src/page/settings/account.vue:84 src/page/settings/account.vue:86 msgctxt "Account" msgid "Title" msgstr "عنوان" -#: src/component/photo/edit/details.vue:73 +#: src/component/photo/edit/details.vue:75 msgctxt "Photo" msgid "Title" msgstr "عنوان" -#: src/component/photo/edit/info.vue:59 src/component/photo/edit/info.vue:155 +#: src/component/photo/edit/info.vue:61 src/component/photo/edit/info.vue:155 #: src/component/photo/edit/labels.vue:40 src/component/photo/view/list.vue:114 #: src/component/sidebar/info.vue:57 msgid "Title" msgstr "عنوان" -#: src/page/settings/account.vue:553 src/page/settings/account.vue:555 +#: src/page/settings/account.vue:559 src/page/settings/account.vue:561 msgid "Title / Position" msgstr "عنوان خیلی طولانی است" -#: src/page/albums.vue:83 +#: src/page/albums.vue:84 msgid "Title too long" msgstr "عنوان خیلی طولانی است" @@ -3029,19 +3064,19 @@ msgstr "عنوان خیلی طولانی است" msgid "to" msgstr "به" -#: src/component/settings/passcode.vue:312 +#: src/component/settings/passcode.vue:315 msgid "To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place." msgstr "برای جلوگیری از قفل شدن حساب خود، لطفاً این کد بازیابی را دانلود، چاپ یا کپی کنید و آن را در مکانی امن نگهداری کنید." -#: src/component/settings/apps.vue:272 +#: src/component/settings/apps.vue:275 msgid "To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:" msgstr "برای ایجاد یک رمز عبور جدید خاص، لطفاً نام و محدوده مجوز برنامه را وارد کنید و تاریخ انقضا را انتخاب کنید:" -#: src/component/settings/passcode.vue:400 +#: src/component/settings/passcode.vue:403 msgid "To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:" msgstr "برای جابه‌جایی به یک برنامه یا دستگاه احراز هویت جدید، ابتدا احراز هویت دو مرحله‌ای را غیرفعال کنید و سپس دوباره فعال کنید:" -#: src/page/connect.vue:221 src/page/connect.vue:230 +#: src/page/connect.vue:223 src/page/connect.vue:232 msgid "To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:" msgstr "برای ارتقا، می‌توانید کد فعال‌سازی را وارد کنید یا روی «ثبت‌نام» کلیک کنید تا در وب‌سایت ما ثبت‌نام کنید:" @@ -3049,7 +3084,7 @@ msgstr "برای ارتقا، می‌توانید کد فعال‌سازی را msgid "Today" msgstr "امروز" -#: src/component/album/toolbar.vue:70 src/component/photo/toolbar.vue:78 +#: src/component/album/toolbar.vue:71 src/component/photo/toolbar.vue:78 msgid "Toggle View" msgstr "تغییر حالت نمایش" @@ -3076,20 +3111,24 @@ msgstr "عیب یابی" msgid "Try again using other filters or keywords." msgstr "دوباره با استفاده از فیلترها یا کلمات کلیدی دیگر امتحان کنید." -#: src/component/settings/passcode.vue:380 +#: src/component/settings/passcode.vue:383 msgid "Two-factor authentication has been enabled for your account." msgstr "احراز هویت دو مرحله ای برای حساب شما فعال شده است." #: src/component/photo/edit/files.vue:58 src/component/photo/edit/files.vue:330 -#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:388 +#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:389 msgid "Type" msgstr "نوع" -#: src/options/auth.js:13 +#: src/component/album/toolbar.vue:178 +msgid "Unable to delete" +msgstr "قابل حذف نیست" + +#: src/options/auth.js:14 msgid "Unauthorized" msgstr "غیرمجاز" -#: src/component/photo/edit/people.vue:94 +#: src/component/photo/edit/people.vue:95 msgid "Undo" msgstr "باطل کردن" @@ -3097,16 +3136,16 @@ msgstr "باطل کردن" msgid "Unique ID" msgstr "شناسه منحصربفرد" -#: src/page/settings/account.vue:451 src/page/settings/account.vue:476 -#: src/page/settings/account.vue:501 src/common/util.js:487 -#: src/component/photo/edit/details.vue:21 -#: src/component/photo/edit/details.vue:111 -#: src/component/photo/edit/details.vue:138 -#: src/component/photo/edit/details.vue:164 src/component/sidebar/info.vue:43 -#: src/model/album.js:193 src/model/photo.js:323 src/model/photo.js:784 -#: src/model/photo.js:809 src/model/photo.js:832 src/model/photo.js:850 -#: src/model/photo.js:897 src/model/photo.js:905 src/model/photo.js:994 -#: src/model/photo.js:1016 src/model/photo.js:1061 src/model/photo.js:1074 +#: src/page/settings/account.vue:457 src/page/settings/account.vue:482 +#: src/page/settings/account.vue:507 src/common/util.js:488 +#: src/component/photo/edit/details.vue:27 +#: src/component/photo/edit/details.vue:113 +#: src/component/photo/edit/details.vue:140 +#: src/component/photo/edit/details.vue:166 src/component/sidebar/info.vue:43 +#: src/model/album.js:193 src/model/photo.js:331 src/model/photo.js:821 +#: src/model/photo.js:846 src/model/photo.js:869 src/model/photo.js:887 +#: src/model/photo.js:934 src/model/photo.js:942 src/model/photo.js:1031 +#: src/model/photo.js:1053 src/model/photo.js:1098 src/model/photo.js:1111 #: src/model/user.js:157 src/options/options.js:51 src/options/options.js:69 #: src/options/options.js:86 src/options/options.js:100 #: src/options/options.js:112 src/page/library/errors.vue:251 @@ -3119,7 +3158,7 @@ msgstr "ناشناس" msgid "Unregistered" msgstr "ثبت نشده" -#: src/app/routes.js:215 src/component/navigation.vue:644 +#: src/app/routes.js:223 src/component/navigation.vue:648 msgid "Unsorted" msgstr "مرتب نشده است" @@ -3127,7 +3166,7 @@ msgstr "مرتب نشده است" msgid "Unstack" msgstr "باز کردن پشته" -#: src/component/photo/edit/files.vue:519 src/component/photo/edit/info.vue:416 +#: src/component/photo/edit/files.vue:521 src/component/photo/edit/info.vue:416 msgid "Updated" msgstr "به روز شد" @@ -3143,7 +3182,7 @@ msgstr "به روزرسانی نمایه ها" msgid "Updating moments" msgstr "به روزرسانی لحظه ها" -#: src/component/user/edit/dialog.vue:154 +#: src/component/user/edit/dialog.vue:155 msgid "Updating picture…" msgstr "به روزرسانی پیش نمایش ها" @@ -3155,21 +3194,21 @@ msgstr "به روزرسانی پیش نمایش ها" msgid "Updating stacks" msgstr "به روزرسانی پشته ها" -#: src/page/connect.vue:57 src/component/navigation.vue:1500 -#: src/component/navigation.vue:1614 src/component/navigation.vue:1999 +#: src/page/connect.vue:57 src/component/navigation.vue:1526 +#: src/component/navigation.vue:1644 src/component/navigation.vue:2047 #: src/page/connect.vue:58 msgid "Upgrade" msgstr "ارتقا دهید" -#: src/page/about/about.vue:123 src/page/connect.vue:202 -#: src/component/confirm/sponsor.vue:98 src/page/about/about.vue:113 -#: src/page/connect.vue:206 +#: src/page/about/about.vue:124 src/page/connect.vue:204 +#: src/component/confirm/sponsor.vue:99 src/page/about/about.vue:114 +#: src/page/connect.vue:208 msgid "Upgrade Now" msgstr "اکنون ارتقا دهید" -#: src/component/album/toolbar.vue:108 src/component/navigation.vue:1824 -#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:144 -#: src/component/upload/dialog.vue:51 src/page/albums.vue:183 +#: src/component/album/toolbar.vue:113 src/component/navigation.vue:1860 +#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:145 +#: src/component/upload/dialog.vue:51 src/page/albums.vue:185 #: src/page/labels.vue:122 src/page/library/import.vue:133 #: src/page/settings/general.vue:307 src/page/settings/services.vue:38 msgid "Upload" @@ -3179,21 +3218,21 @@ msgstr "آپلود" msgid "Upload complete" msgstr "آپلود کامل شد" -#: src/component/upload/dialog.vue:133 +#: src/component/upload/dialog.vue:135 msgid "Upload complete. Indexing…" msgstr "آپلود کامل شد. در حال نمایه سازی…" #: src/component/upload/dialog.vue:296 src/component/upload/dialog.vue:315 -#: src/component/upload/dialog.vue:129 +#: src/component/upload/dialog.vue:131 msgid "Upload failed" msgstr "آپلود انجام نشد" -#: src/component/service/edit.vue:257 +#: src/component/service/edit.vue:258 msgid "Upload local files" msgstr "فایل های محلی را آپلود کنید" -#: src/component/user/edit/dialog.vue:380 #: src/component/user/edit/dialog.vue:381 +#: src/component/user/edit/dialog.vue:382 msgid "Upload Path" msgstr "مسیر آپلود" @@ -3201,7 +3240,7 @@ msgstr "مسیر آپلود" msgid "Upload to WebDAV and share links with friends." msgstr "در WebDAV آپلود کنید و پیوندها را با دوستان خود به اشتراک بگذارید." -#: src/component/upload/dialog.vue:131 +#: src/component/upload/dialog.vue:133 msgid "Uploading %{n} of %{t}…" msgstr "در حال آپلود %{n} از %{t}…" @@ -3214,7 +3253,7 @@ msgstr "در حال آپلود تصاویر…" msgid "Uploading…" msgstr "در حال بارگیری مجدد…" -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Uploads that may contain such images will be rejected automatically." msgstr "آپلودهایی که ممکن است حاوی چنین تصاویری باشند به طور خودکار رد می شوند." @@ -3222,7 +3261,7 @@ msgstr "آپلودهایی که ممکن است حاوی چنین تصاویری msgid "Use Presets" msgstr "از Presets استفاده کنید" -#: src/component/settings/passcode.vue:283 +#: src/component/settings/passcode.vue:286 msgid "Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:" msgstr "وقتی نمی‌توانید یک کد تأیید معتبر با برنامه احراز هویت خود ایجاد کنید، از کد بازیابی زیر برای دسترسی به حساب خود استفاده کنید:" @@ -3230,12 +3269,12 @@ msgstr "وقتی نمی‌توانید یک کد تأیید معتبر با بر msgid "Use your recovery code or contact an administrator for help." msgstr "از کد بازیابی خود استفاده کنید یا برای راهنمایی با یک سرپرست تماس بگیرید." -#: src/options/admin.js:10 src/page/admin/sessions.vue:59 -#: src/page/admin/sessions.vue:242 src/model/user.js:361 src/options/auth.js:7 +#: src/options/admin.js:14 src/page/admin/sessions.vue:59 +#: src/page/admin/sessions.vue:243 src/model/user.js:361 src/options/auth.js:8 msgid "User" msgstr "کاربر" -#: src/component/navigation.vue:1979 +#: src/component/navigation.vue:2025 msgid "User Guide" msgstr "راهنمای کاربر" @@ -3243,14 +3282,14 @@ msgstr "راهنمای کاربر" msgid "User Interface" msgstr "رابط کاربری" -#: src/component/user/add/dialog.vue:87 src/component/user/add/dialog.vue:88 -#: src/page/admin/sessions.vue:220 src/page/admin/users.vue:71 -#: src/component/service/add.vue:85 src/component/service/edit.vue:337 +#: src/component/user/add/dialog.vue:88 src/component/user/add/dialog.vue:89 +#: src/page/admin/sessions.vue:221 src/page/admin/users.vue:73 +#: src/component/service/add.vue:86 src/component/service/edit.vue:338 #: src/component/share/dialog.vue:26 msgid "Username" msgstr "نام کاربری" -#: src/component/navigation.vue:1435 +#: src/component/navigation.vue:1461 msgid "Users" msgstr "کاربران" @@ -3260,18 +3299,18 @@ msgstr "کاربران" msgid "Vector" msgstr "بردار" -#: src/component/navigation.vue:440 +#: src/component/navigation.vue:442 msgid "Vectors" msgstr "بردارها" -#: src/component/settings/passcode.vue:227 src/page/auth/login.vue:144 +#: src/component/settings/passcode.vue:230 src/page/auth/login.vue:144 msgid "Verification Code" msgstr "کد تایید" #: src/component/photo/view/cards.vue:363 #: src/component/photo/view/cards.vue:491 src/component/photo/view/list.vue:190 #: src/component/photo/view/mosaic.vue:207 src/model/file.js:221 -#: src/model/photo.js:921 src/model/photo.js:939 src/options/options.js:293 +#: src/model/photo.js:958 src/model/photo.js:976 src/options/options.js:293 msgid "Video" msgstr "ویدیو" @@ -3280,12 +3319,12 @@ msgstr "ویدیو" msgid "Video Duration" msgstr "مدت" -#: src/app/routes.js:243 src/component/navigation.vue:728 +#: src/app/routes.js:251 src/component/navigation.vue:734 #: src/options/options.js:200 msgid "Videos" msgstr "ویدیو ها" -#: src/component/photo/toolbar.vue:261 src/component/photo/view/cards.vue:350 +#: src/component/photo/toolbar.vue:263 src/component/photo/view/cards.vue:350 #: src/component/photo/view/mosaic.vue:194 msgid "View" msgstr "نمایش" @@ -3294,11 +3333,11 @@ msgstr "نمایش" msgid "View search results as a list." msgstr "نتایج جستجو را به صورت لیست مشاهده کنید." -#: src/options/admin.js:14 src/options/auth.js:8 +#: src/options/admin.js:18 src/options/auth.js:9 msgid "Viewer" msgstr "بیننده" -#: src/page/admin/sessions.vue:271 src/options/auth.js:12 +#: src/page/admin/sessions.vue:272 src/options/auth.js:13 msgid "Visitor" msgstr "بازدید کننده" @@ -3310,36 +3349,36 @@ msgstr "گروه بندی بر اساس شباهت" msgid "Warning" msgstr "هشدار" -#: src/page/about/feedback.vue:60 +#: src/page/about/feedback.vue:61 msgid "We appreciate your feedback!" msgstr "ما از بازخورد شما قدردانی می کنیم!" -#: src/page/about/feedback.vue:63 +#: src/page/about/feedback.vue:64 msgid "We do our best to respond within five business days or less." msgstr "ما تمام تلاش خود را می کنیم تا ظرف پنج روز کاری یا کمتر پاسخ دهیم." -#: src/component/user/add/dialog.vue:235 src/component/user/edit/dialog.vue:415 -#: src/page/admin/users.vue:80 +#: src/component/user/add/dialog.vue:236 src/component/user/edit/dialog.vue:416 +#: src/page/admin/users.vue:82 msgid "Web Login" msgstr "ورود به وب" -#: src/component/user/add/dialog.vue:248 src/component/user/edit/dialog.vue:432 -#: src/page/admin/users.vue:82 src/options/auth.js:55 src/options/auth.js:68 +#: src/component/user/add/dialog.vue:249 src/component/user/edit/dialog.vue:433 +#: src/page/admin/users.vue:84 src/options/auth.js:56 src/options/auth.js:69 #: src/options/options.js:444 msgid "WebDAV" msgstr "WebDAV" -#: src/component/settings/webdav.vue:51 +#: src/component/settings/webdav.vue:52 msgid "WebDAV clients can connect to PhotoPrism using the following URL:" msgstr "کلاینت های WebDAV می توانند با استفاده از URL زیر به PhotoPrism متصل شوند:" -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism." msgstr "" "کلاینت های WebDAV، مانند Windows Explorer مایکروسافت یا Apple's Finder، می توانند مستقیماً به آن متصل شوند\n" " PhotoPrism." -#: src/component/service/upload.vue:50 src/component/share/dialog.vue:220 +#: src/component/service/upload.vue:51 src/component/share/dialog.vue:220 msgid "WebDAV Upload" msgstr "آپلود WebDAV" @@ -3347,8 +3386,8 @@ msgstr "آپلود WebDAV" msgid "WebGL support is disabled in your browser" msgstr "پشتیبانی WebGL در مرورگر شما غیرفعال است" -#: src/page/settings/account.vue:615 src/page/settings/account.vue:709 -#: src/page/settings/account.vue:601 +#: src/page/settings/account.vue:621 src/page/settings/account.vue:715 +#: src/page/settings/account.vue:607 msgid "Website" msgstr "سایت اینترنتی" @@ -3356,12 +3395,12 @@ msgstr "سایت اینترنتی" msgid "White" msgstr "سفید" -#: src/page/settings/account.vue:532 +#: src/page/settings/account.vue:538 msgid "Work Details" msgstr "جزئیات" -#: src/page/settings/account.vue:500 src/component/photo/edit/details.vue:163 -#: src/component/photo/toolbar.vue:315 src/page/albums.vue:159 +#: src/page/settings/account.vue:506 src/component/photo/edit/details.vue:165 +#: src/component/photo/toolbar.vue:317 src/page/albums.vue:159 msgid "Year" msgstr "سال" @@ -3369,21 +3408,21 @@ msgstr "سال" msgid "Yellow" msgstr "زرد" -#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:58 -#: src/component/photo/archive/dialog.vue:58 +#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:59 +#: src/component/photo/archive/dialog.vue:59 #: src/component/photo/clipboard.vue:200 src/component/photo/edit/files.vue:365 #: src/component/photo/edit/files.vue:395 #: src/component/photo/edit/files.vue:401 #: src/component/photo/edit/files.vue:407 -#: src/component/photo/edit/files.vue:510 src/component/photo/edit/info.vue:281 +#: src/component/photo/edit/files.vue:512 src/component/photo/edit/info.vue:281 #: src/component/photo/edit/info.vue:297 src/component/photo/edit/info.vue:313 #: src/component/photo/edit/info.vue:329 src/component/photo/edit/info.vue:344 -#: src/component/photo/toolbar.vue:434 +#: src/component/photo/toolbar.vue:436 msgid "Yes" msgstr "بله" -#: src/component/confirm/sponsor.vue:59 src/page/about/about.vue:158 -#: src/page/connect.vue:315 +#: src/component/confirm/sponsor.vue:60 src/page/about/about.vue:160 +#: src/page/connect.vue:317 msgid "You are welcome to contact us at membership@photoprism.app for questions regarding your membership." msgstr "می توانید برای سؤالات در مورد عضویت خود با ما به آدرس Member@photoprism.app تماس بگیرید." @@ -3395,7 +3434,11 @@ msgstr "شما فقط می توانید یک آلبوم را دانلود کنی msgid "You can only download one label" msgstr "شما فقط می توانید یک برچسب را دانلود کنید" -#: src/component/upload/dialog.vue:203 +#: src/component/location/dialog.vue:178 +msgid "You can search for a location or move the marker on the map to change the position:" +msgstr "می‌توانید مکانی را جستجو کنید یا نشانگر را روی نقشه جابجا کنید تا موقعیت تغییر کند:" + +#: src/component/upload/dialog.vue:205 msgid "You can upload up to %{n} files for test purposes." msgstr "می توانید حداکثر %{n} فایل را برای اهداف آزمایشی آپلود کنید." @@ -3408,7 +3451,7 @@ msgstr "شما فقط می توانید یک مورد را انتخاب کنید msgid "You may rescan your library to find additional faces." msgstr "می‌توانید کتابخانه خود را مجدداً اسکن کنید تا چهره‌های دیگری را پیدا کنید." -#: src/page/connect.vue:146 src/page/connect.vue:150 +#: src/page/connect.vue:147 src/page/connect.vue:151 msgid "Your account has been successfully connected." msgstr "حساب شما با موفقیت متصل شد." @@ -3416,8 +3459,8 @@ msgstr "حساب شما با موفقیت متصل شد." msgid "Your browser does not support WebGL" msgstr "مرورگر شما از WebGL پشتیبانی نمی کند" -#: src/component/confirm/sponsor.vue:43 src/page/about/about.vue:97 -#: src/page/about/about.vue:156 src/page/connect.vue:220 +#: src/component/confirm/sponsor.vue:44 src/page/about/about.vue:98 +#: src/page/about/about.vue:158 src/page/connect.vue:222 msgid "Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy." msgstr "پشتیبانی مستمر شما به ما کمک می‌کند تا به‌روزرسانی‌های منظم را ارائه کنیم و مستقل بمانیم، بنابراین می‌توانیم مأموریت خود را انجام دهیم و از حریم خصوصی شما محافظت کنیم." @@ -3498,9 +3541,6 @@ msgstr "بزرگنمایی/کوچک کردن" #~ msgid "Open Folder" #~ msgstr "پوشه را باز کنید" -#~ msgid "Cannot copy to clipboard" -#~ msgstr "نمی توان در کلیپ بورد کپی کرد" - #~ msgid "Sound" #~ msgstr "صدا" diff --git a/frontend/src/locales/fi.po b/frontend/src/locales/fi.po index d2e7453bd..fc8ac15a7 100644 --- a/frontend/src/locales/fi.po +++ b/frontend/src/locales/fi.po @@ -2,13 +2,13 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: ci@photoprism.app\n" -"PO-Revision-Date: 2025-04-04 08:03+0000\n" +"PO-Revision-Date: 2025-07-06 08:59+0000\n" "Last-Translator: DeepL \n" "Language: fi\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.10.4\n" +"X-Generator: Weblate 5.12.2\n" "Generated-By: easygettext\n" #: src/locales.js:268 @@ -39,7 +39,7 @@ msgstr "{0} valittu" msgid "{0}-{1} of {2}" msgstr "{0}-{1} of {2}" -#: src/page/albums.vue:612 +#: src/page/albums.vue:617 msgid "%{n} albums found" msgstr "%{n} albumia löydetty" @@ -47,25 +47,25 @@ msgstr "%{n} albumia löydetty" msgid "%{n} files uploaded" msgstr "%{n} tiedostoa lähetetty" -#: src/page/library/browse.vue:362 +#: src/page/library/browse.vue:364 msgid "%{n} folders found" msgstr "%{n} kansiota löydetty" -#: src/component/navigation.vue:1676 +#: src/component/navigation.vue:1707 msgid "%{n} GB of %{q} GB used" msgstr "%{n} GB %{q} Käytetty GB" -#: src/page/labels.vue:528 +#: src/page/labels.vue:533 msgid "%{n} labels found" msgstr "%{n} tunnistetta löydetty" -#: src/page/people/new.vue:350 src/page/people/new.vue:447 -#: src/page/people/recognized.vue:536 +#: src/page/people/new.vue:350 src/page/people/new.vue:450 +#: src/page/people/recognized.vue:541 msgid "%{n} people found" msgstr "%{n} ihmistä löydetty" -#: src/page/album/photos.vue:308 src/page/album/photos.vue:493 -#: src/page/photos.vue:441 src/page/photos.vue:631 +#: src/page/album/photos.vue:313 src/page/album/photos.vue:504 +#: src/page/photos.vue:446 src/page/photos.vue:641 msgid "%{n} pictures found" msgstr "%{n} kuvaa löydetty" @@ -85,12 +85,12 @@ msgstr "1 tunti" msgid "12 hours" msgstr "12 tuntia" -#: src/component/user/edit/dialog.vue:452 src/page/settings/account.vue:324 -#: src/component/settings/passcode.vue:75 +#: src/component/user/edit/dialog.vue:453 src/page/settings/account.vue:325 +#: src/component/settings/passcode.vue:78 msgid "2-Factor Authentication" msgstr "2-tekijätodennus" -#: src/component/user/edit/dialog.vue:451 src/options/auth.js:46 +#: src/component/user/edit/dialog.vue:452 src/options/auth.js:47 msgid "2FA" msgstr "2FA" @@ -106,20 +106,20 @@ msgstr "Napsauttamalla sitä voit kopioida sen leikepöydälle." msgid "A new version of %{s} is available:" msgstr "Uusi versio %{s}:stä on saatavilla:" -#: src/component/user/edit/dialog.vue:233 -#: src/component/user/edit/dialog.vue:234 src/page/about/about.vue:56 +#: src/component/user/edit/dialog.vue:234 +#: src/component/user/edit/dialog.vue:235 src/page/about/about.vue:56 #: src/page/settings/account.vue:248 src/page/settings/account.vue:249 -#: src/app/routes.js:63 src/component/navigation.vue:1521 -#: src/page/people/recognized.vue:292 +#: src/app/routes.js:63 src/component/navigation.vue:1547 +#: src/page/people/recognized.vue:296 msgid "About" msgstr "Tietoja" -#: src/options/auth.js:26 src/options/auth.js:44 +#: src/options/auth.js:27 src/options/auth.js:45 msgid "Access Token" msgstr "Access Token" -#: src/component/navigation.vue:87 src/component/navigation.vue:1788 -#: src/component/service/upload.vue:71 src/model/service.js:96 +#: src/component/navigation.vue:87 src/component/navigation.vue:1822 +#: src/component/service/upload.vue:72 src/model/service.js:96 #: src/model/user.js:171 src/page/settings.vue:85 #: src/page/settings/general.vue:582 msgid "Account" @@ -133,7 +133,7 @@ msgstr "Tili luotu" msgid "Account deleted" msgstr "Tili poistettu" -#: src/page/admin/users.vue:335 +#: src/page/admin/users.vue:337 msgid "Account restored" msgstr "Tili palautettu" @@ -154,8 +154,8 @@ msgstr "Toiminnot" msgid "Actions" msgstr "Toiminnot" -#: src/page/connect.vue:294 src/component/settings/passcode.vue:346 -#: src/page/connect.vue:303 +#: src/page/connect.vue:296 src/component/settings/passcode.vue:349 +#: src/page/connect.vue:305 msgid "Activate" msgstr "Aktivoi" @@ -171,20 +171,20 @@ msgstr "Aktivoi lajittelu nousevaan suuntaan." msgid "Activate to sort descending." msgstr "Aktivoi lajittelemaan alenevasti." -#: src/page/connect.vue:231 src/page/connect.vue:240 +#: src/page/connect.vue:233 src/page/connect.vue:242 msgid "Activation Code" msgstr "Aktivointikoodi" -#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:83 -#: src/component/settings/apps.vue:448 +#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:92 +#: src/component/settings/apps.vue:451 msgid "Add" msgstr "Lisää" -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:246 msgid "Add %{s}?" msgstr "Lisää %{s}?" -#: src/component/user/add/dialog.vue:56 src/component/service/add.vue:49 +#: src/component/user/add/dialog.vue:57 src/component/service/add.vue:50 msgid "Add Account" msgstr "Muokkaa tiliä" @@ -201,8 +201,8 @@ msgid "Add Link" msgstr "Lisää linkki" #: src/component/photo/edit/people.vue:25 -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:57 -#: src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:57 +#: src/page/people/new.vue:246 msgid "Add person?" msgstr "Lisää henkilö?" @@ -218,10 +218,15 @@ msgstr "Lisää kuvia hakutuloksista valitsemalla ne." msgid "Add to album" msgstr "Lisää albumiin" -#: src/component/photo/edit/files.vue:514 +#: src/component/photo/edit/files.vue:516 msgid "Added" msgstr "Lisätty" +#: src/component/location/dialog.vue:68 src/component/location/dialog.vue:90 +#: src/component/photo/edit/details.vue:246 +msgid "Adjust Location" +msgstr "Säädä sijaintia" + #: src/options/admin.js:6 src/options/auth.js:6 msgid "Admin" msgstr "Admin" @@ -242,7 +247,7 @@ msgstr "3 päivän kuluttua" msgid "After 7 days" msgstr "7 päivän kuluttua" -#: src/component/settings/passcode.vue:93 +#: src/component/settings/passcode.vue:96 msgid "After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:" msgstr "Kun olet antanut salasanasi vahvistusta varten, voit määrittää kaksivaiheisen todennuksen yhteensopivalla todennussovelluksella tai -laitteella:" @@ -274,12 +279,16 @@ msgstr "Albumi" msgid "Album Backups" msgstr "Albumin varmuuskopiot" -#: src/page/albums.vue:674 +#: src/page/albums.vue:685 msgid "Album created" msgstr "Albumi luotu" -#: src/app/routes.js:176 src/component/album/toolbar.vue:51 -#: src/component/navigation.vue:604 src/component/navigation.vue:1882 +#: src/page/album/photos.vue:589 +msgid "Album deleted" +msgstr "Albumi poistettu" + +#: src/app/routes.js:184 src/component/album/toolbar.vue:55 +#: src/component/navigation.vue:607 src/component/navigation.vue:1922 #: src/component/photo/edit/info.vue:220 src/options/options.js:198 msgid "Albums" msgstr "Albumit" @@ -292,7 +301,7 @@ msgstr "Albumit poistettu" msgid "All" msgstr "Kaikki" -#: src/page/albums.vue:465 +#: src/page/albums.vue:470 msgid "All %{n} albums loaded" msgstr "Kaikki %{n} albumia ladattu" @@ -308,8 +317,8 @@ msgstr "Kaikki %{n} ihmistä ladattu" msgid "All Cameras" msgstr "Kaikki kamerat" -#: src/component/photo/toolbar.vue:74 src/page/albums.vue:44 -#: src/page/albums.vue:240 src/page/albums.vue:746 +#: src/component/photo/toolbar.vue:74 src/page/albums.vue:45 +#: src/page/albums.vue:242 src/page/albums.vue:757 msgid "All Categories" msgstr "Kaikki kategoriat" @@ -341,7 +350,7 @@ msgstr "Kaikki kuukaudet" msgid "All originals" msgstr "Kaikki alkuperäiset" -#: src/component/photo/toolbar.vue:76 src/page/albums.vue:93 +#: src/component/photo/toolbar.vue:76 src/page/albums.vue:94 msgid "All Years" msgstr "Kaikki vuodet" @@ -353,7 +362,7 @@ msgstr "Vaihtoehtoisesti voit ladata tiedostoja suoraan WebDAV-palvelimille, kut msgid "Altitude" msgstr "Korkeus" -#: src/component/photo/edit/details.vue:272 +#: src/component/photo/edit/details.vue:297 msgid "Altitude (m)" msgstr "Korkeus (m)" @@ -361,8 +370,7 @@ msgstr "Korkeus (m)" msgid "AM" msgstr "AM" -#: src/app/routes.js:257 src/component/navigation.vue:791 -#: src/component/photo/edit/files.vue:364 +#: src/app/routes.js:265 src/component/photo/edit/files.vue:364 #: src/component/photo/view/cards.vue:327 #: src/component/photo/view/cards.vue:511 src/component/photo/view/list.vue:184 #: src/component/photo/view/mosaic.vue:171 src/options/options.js:301 @@ -373,43 +381,47 @@ msgstr "Animoitu" msgid "Animation" msgstr "Animaatio" +#: src/component/navigation.vue:797 +msgid "Animations" +msgstr "Animaatiot" + #: src/component/share/dialog.vue:207 msgid "Any private photos and videos remain private and won't be shared." msgstr "Kaikki yksityiset kuvat ja videot pysyvät yksityisinä, eikä niitä jaeta." -#: src/component/service/edit.vue:372 +#: src/component/service/edit.vue:373 msgid "API Key" msgstr "API-avain" -#: src/page/admin/sessions.vue:357 src/options/auth.js:25 +#: src/page/admin/sessions.vue:361 src/options/auth.js:26 msgid "Application" msgstr "Hakemus" -#: src/component/photo/edit/details.vue:641 +#: src/component/photo/edit/details.vue:615 msgid "Apply" msgstr "Käytä" #: src/component/photo/clipboard.vue:64 -#: src/component/photo/edit/details.vue:640 +#: src/component/photo/edit/details.vue:614 #: src/component/photo/view/cards.vue:416 msgid "Approve" msgstr "Hyväksy" -#: src/page/settings/account.vue:374 src/component/settings/apps.vue:91 +#: src/page/settings/account.vue:378 src/component/settings/apps.vue:94 msgid "Apps and Devices" msgstr "Sovellukset ja laitteet" -#: src/app/routes.js:287 src/component/lightbox.vue:1207 -#: src/component/navigation.vue:555 src/component/photo/clipboard.vue:142 +#: src/app/routes.js:295 src/component/lightbox.vue:1207 +#: src/component/navigation.vue:557 src/component/photo/clipboard.vue:142 #: src/component/photo/view/cards.vue:398 src/page/settings/general.vue:432 msgid "Archive" msgstr "Arkisto" -#: src/component/lightbox.vue:1982 src/component/photo/edit/info.vue:433 +#: src/component/lightbox.vue:2002 src/component/photo/edit/info.vue:433 msgid "Archived" msgstr "Arkistoitu" -#: src/component/photo/archive/dialog.vue:34 +#: src/component/photo/archive/dialog.vue:35 msgid "Are you sure you want to archive the selection?" msgstr "Oletko varma, että haluat arkistoida valinnan?" @@ -417,19 +429,23 @@ msgstr "Oletko varma, että haluat arkistoida valinnan?" msgid "Are you sure you want to delete these albums?" msgstr "Haluatko varmasti poistaa nämä albumit?" -#: src/component/label/delete/dialog.vue:34 +#: src/component/label/delete/dialog.vue:35 msgid "Are you sure you want to delete these labels?" msgstr "Haluatko varmasti poistaa nämä tunnisteet?" -#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:36 +#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:37 msgid "Are you sure you want to delete this account?" msgstr "Haluatko varmasti poistaa tämän tilin?" +#: src/component/album/toolbar.vue:136 +msgid "Are you sure you want to delete this album?" +msgstr "Haluatko varmasti poistaa tämän albumin?" + #: src/component/photo/clipboard.vue:199 msgid "Are you sure you want to permanently delete these pictures?" msgstr "Haluatko varmasti poistaa nämä kuvat pysyvästi?" -#: src/component/file/delete/dialog.vue:34 +#: src/component/file/delete/dialog.vue:35 msgid "Are you sure you want to permanently delete this file?" msgstr "Haluatko varmasti poistaa tämän tiedoston pysyvästi?" @@ -438,7 +454,7 @@ msgstr "Haluatko varmasti poistaa tämän tiedoston pysyvästi?" msgid "Are you sure?" msgstr "Oletko varma?" -#: src/component/photo/edit/details.vue:537 +#: src/component/photo/edit/details.vue:511 msgid "Artist" msgstr "Tekijä" @@ -446,14 +462,14 @@ msgstr "Tekijä" msgid "Aspect Ratio" msgstr "Kuvasuhde" -#: src/app/routes.js:250 src/component/navigation.vue:770 +#: src/app/routes.js:258 src/component/navigation.vue:776 #: src/options/options.js:297 msgid "Audio" msgstr "Audio" -#: src/component/user/add/dialog.vue:190 src/component/user/edit/dialog.vue:309 -#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:281 -#: src/page/admin/users.vue:75 +#: src/component/user/add/dialog.vue:191 src/component/user/edit/dialog.vue:310 +#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:282 +#: src/page/admin/users.vue:77 msgid "Authentication" msgstr "Tunnistus" @@ -461,11 +477,11 @@ msgstr "Tunnistus" msgid "Auto" msgstr "Auto" -#: src/component/settings/apps.vue:151 +#: src/component/settings/apps.vue:154 msgid "Back" msgstr "Takaisin" -#: src/component/scroll.vue:20 +#: src/component/scroll.vue:18 msgid "Back to top" msgstr "Takaisin alkuun" @@ -477,26 +493,26 @@ msgstr "Varmuuskopiointi" msgid "Badge" msgstr "Merkki" -#: src/component/user/edit/dialog.vue:361 #: src/component/user/edit/dialog.vue:362 +#: src/component/user/edit/dialog.vue:363 msgid "Base Path" msgstr "Peruspolku" -#: src/page/about/about.vue:95 src/page/connect.vue:220 +#: src/page/about/about.vue:96 src/page/connect.vue:222 msgid "Become a member today, support our mission and enjoy our member benefits!" msgstr "Liity jäseneksi tänään, tue tehtäviämme ja nauti jäseneduistamme!" -#: src/component/confirm/sponsor.vue:51 src/page/about/about.vue:99 +#: src/component/confirm/sponsor.vue:52 src/page/about/about.vue:100 msgid "Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services." msgstr "Koska olemme 100-prosenttisesti omarahoitteisia ja riippumattomia, voimme luvata, ettemme koskaan myy tietojasi ja että ohjelmistomme ja palvelumme ovat aina avoimia." -#: src/component/user/edit/dialog.vue:258 -#: src/component/user/edit/dialog.vue:259 src/page/settings/account.vue:227 +#: src/component/user/edit/dialog.vue:259 +#: src/component/user/edit/dialog.vue:260 src/page/settings/account.vue:227 #: src/page/settings/account.vue:228 msgid "Bio" msgstr "Biografia" -#: src/page/settings/account.vue:431 +#: src/page/settings/account.vue:437 msgid "Birth Date" msgstr "Syntymäaika" @@ -517,7 +533,7 @@ msgid "Brown" msgstr "Ruskea" #: src/component/photo/edit/files.vue:263 src/component/photo/toolbar.vue:141 -#: src/component/upload/dialog.vue:240 +#: src/component/upload/dialog.vue:242 msgid "Browse" msgstr "Selaa" @@ -545,16 +561,16 @@ msgstr "Ilmoita virheestä" msgid "Busy, please wait…" msgstr "Odota hetki…" -#: src/page/connect.vue:317 +#: src/page/connect.vue:319 msgid "By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct." msgstr "Käyttämällä tarjoamiamme ohjelmistoja ja palveluita hyväksyt käyttöehtomme, tietosuojakäytäntömme ja käytännesääntömme." -#: src/app/routes.js:189 src/component/navigation.vue:1081 +#: src/app/routes.js:197 src/component/navigation.vue:1097 #: src/options/options.js:204 src/page/settings/general.vue:205 msgid "Calendar" msgstr "Kalenteri" -#: src/component/photo/edit/details.vue:346 src/component/photo/toolbar.vue:232 +#: src/component/photo/edit/details.vue:320 src/component/photo/toolbar.vue:234 #: src/component/photo/view/cards.vue:467 src/component/photo/view/list.vue:116 msgid "Camera" msgstr "Kamera" @@ -567,12 +583,12 @@ msgstr "Kameran sarjanumero" msgid "Can't access your authenticator app or device?" msgstr "Etkö pääse autentikointisovellukseen tai -laitteeseen?" -#: src/page/album/photos.vue:317 src/page/photos.vue:450 +#: src/page/album/photos.vue:322 src/page/photos.vue:455 msgid "Can't load more, limit reached" msgstr "Ei voi ladata enempää, raja saavutettu" #: src/common/clipboard.js:102 src/common/clipboard.js:139 -#: src/page/albums.vue:684 src/page/albums.vue:700 src/page/labels.vue:293 +#: src/page/albums.vue:695 src/page/albums.vue:711 src/page/labels.vue:293 #: src/page/labels.vue:313 src/page/library/browse.vue:233 #: src/page/library/browse.vue:249 src/page/people/new.vue:278 #: src/page/people/new.vue:294 src/page/people/recognized.vue:305 @@ -581,26 +597,31 @@ msgid "Can't select more items" msgstr "Ei voi valita enempää kohteita" #: src/component/session/remove/dialog.vue:45 -#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:473 -#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:119 +#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:474 +#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:120 #: src/component/album/delete/dialog.vue:43 -#: src/component/album/edit/dialog.vue:199 src/component/confirm/dialog.vue:43 -#: src/component/file/delete/dialog.vue:47 -#: src/component/label/delete/dialog.vue:47 -#: src/component/label/edit/dialog.vue:107 -#: src/component/people/edit/dialog.vue:120 +#: src/component/album/edit/dialog.vue:200 src/component/confirm/dialog.vue:43 +#: src/component/file/delete/dialog.vue:48 +#: src/component/label/delete/dialog.vue:48 +#: src/component/label/edit/dialog.vue:108 +#: src/component/location/dialog.vue:200 +#: src/component/people/edit/dialog.vue:121 #: src/component/photo/album/dialog.vue:78 src/component/service/add.vue:19 -#: src/component/service/edit.vue:455 src/component/service/remove.vue:49 -#: src/component/service/upload.vue:117 src/component/settings/apps.vue:352 -#: src/component/settings/passcode.vue:249 -#: src/component/settings/passcode.vue:333 -#: src/component/settings/password.vue:159 src/component/share/dialog.vue:28 -#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:123 +#: src/component/service/edit.vue:456 src/component/service/remove.vue:50 +#: src/component/service/upload.vue:118 src/component/settings/apps.vue:355 +#: src/component/settings/passcode.vue:252 +#: src/component/settings/passcode.vue:336 +#: src/component/settings/password.vue:160 src/component/share/dialog.vue:28 +#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:124 #: src/page/library/import.vue:119 src/page/library/index.vue:128 msgid "Cancel" msgstr "Peruuta" -#: src/component/photo/edit/details.vue:87 src/component/photo/edit/info.vue:61 +#: src/common/util.js:863 src/common/util.js:870 +msgid "Cannot copy to clipboard" +msgstr "Ei voi kopioida leikepöydälle" + +#: src/component/photo/edit/details.vue:89 src/component/photo/edit/info.vue:63 #: src/component/photo/edit/labels.vue:42 #: src/component/photo/view/cards.vue:445 src/component/sidebar/info.vue:72 msgid "Caption" @@ -614,17 +635,17 @@ msgstr "Kortit" msgid "Carousel slide {0} of {1}" msgstr "Karusellin slide {0} of {1}" -#: src/page/about/feedback.vue:82 src/page/about/feedback.vue:83 -#: src/component/album/edit/dialog.vue:128 src/component/photo/toolbar.vue:397 +#: src/page/about/feedback.vue:83 src/page/about/feedback.vue:84 +#: src/component/album/edit/dialog.vue:129 src/component/photo/toolbar.vue:399 #: src/page/albums.vue:187 msgid "Category" msgstr "Kategoria" -#: src/component/user/edit/dialog.vue:191 src/page/settings/account.vue:201 +#: src/component/user/edit/dialog.vue:192 src/page/settings/account.vue:201 msgid "Change Avatar" msgstr "Muuta yksityisyyden tilaa" -#: src/page/settings/account.vue:297 src/component/settings/password.vue:48 +#: src/page/settings/account.vue:297 src/component/settings/password.vue:49 msgid "Change Password" msgstr "Uusi salasana" @@ -641,17 +662,17 @@ msgid "Change private flag" msgstr "Muuta yksityisyyden tilaa" #: src/component/user/add/dialog.vue:108 src/component/user/add/dialog.vue:113 -#: src/component/user/edit/dialog.vue:90 src/component/user/edit/dialog.vue:95 +#: src/component/user/edit/dialog.vue:91 src/component/user/edit/dialog.vue:96 #: src/page/settings/account.vue:121 src/page/settings/account.vue:126 msgid "Changes could not be saved" msgstr "Muutoksia ei voitu tallentaa" -#: src/component/user/edit/dialog.vue:83 src/component/user/edit/dialog.vue:159 +#: src/component/user/edit/dialog.vue:84 src/component/user/edit/dialog.vue:160 #: src/component/album/edit/dialog.vue:73 -#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1941 +#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1961 #: src/component/photo/edit/files.vue:162 src/component/service/edit.vue:90 #: src/component/share/dialog.vue:92 src/component/share/dialog.vue:111 -#: src/page/albums.vue:677 src/page/people/recognized.vue:119 +#: src/page/albums.vue:688 src/page/people/recognized.vue:119 #: src/page/settings/advanced.vue:62 src/page/settings/content.vue:62 #: src/page/settings/general.vue:108 msgid "Changes successfully saved" @@ -665,7 +686,7 @@ msgstr "Lisäasetusten muutokset vaativat uudelleenkäynnistyksen tullakseen voi msgid "Checked" msgstr "Tarkistettu" -#: src/component/photo/edit/files.vue:495 +#: src/component/photo/edit/files.vue:497 msgid "Chroma" msgstr "Värikylläisyys" @@ -681,24 +702,24 @@ msgstr "Siivous" msgid "Clear {0}" msgstr "Tyhjennä {0}" -#: src/options/auth.js:11 src/options/auth.js:23 src/options/auth.js:43 +#: src/options/auth.js:12 src/options/auth.js:24 src/options/auth.js:44 msgid "Client" msgstr "Asiakas" -#: src/options/auth.js:24 +#: src/options/auth.js:25 msgid "Client Credentials" msgstr "Asiakkaan valtakirjat" -#: src/page/admin/sessions.vue:529 src/component/lightbox.vue:284 -#: src/component/lightbox.vue:1009 src/component/lightbox.vue:1010 -#: src/component/photo/edit/details.vue:627 src/component/photo/toolbar.vue:160 -#: src/component/settings/apps.vue:224 src/component/settings/apps.vue:437 -#: src/component/settings/passcode.vue:148 -#: src/component/settings/passcode.vue:456 -#: src/component/settings/passcode.vue:497 -#: src/component/settings/webdav.vue:131 src/component/share/dialog.vue:231 +#: src/component/user/edit/dialog.vue:474 src/page/admin/sessions.vue:536 +#: src/component/lightbox.vue:284 src/component/lightbox.vue:1009 +#: src/component/lightbox.vue:1010 src/component/photo/edit/details.vue:601 +#: src/component/photo/toolbar.vue:161 src/component/settings/apps.vue:227 +#: src/component/settings/apps.vue:440 src/component/settings/passcode.vue:151 +#: src/component/settings/passcode.vue:459 +#: src/component/settings/passcode.vue:500 +#: src/component/settings/webdav.vue:132 src/component/share/dialog.vue:231 #: src/component/sidebar/info.vue:26 src/component/update.vue:57 -#: src/component/upload/dialog.vue:228 src/locales.js:206 +#: src/component/upload/dialog.vue:230 src/locales.js:206 #: src/page/library/errors.vue:253 msgid "Close" msgstr "Sulje" @@ -707,11 +728,11 @@ msgstr "Sulje" msgid "Codec" msgstr "Koodekki" -#: src/component/photo/toolbar.vue:369 +#: src/component/photo/toolbar.vue:371 msgid "Color" msgstr "Väri" -#: src/component/photo/edit/files.vue:483 +#: src/component/photo/edit/files.vue:485 msgid "Color Profile" msgstr "Väriprofiili" @@ -719,7 +740,7 @@ msgstr "Väriprofiili" msgid "Colors" msgstr "Värit" -#: src/page/connect.vue:260 src/page/connect.vue:269 +#: src/page/connect.vue:262 src/page/connect.vue:271 msgid "Compare Editions" msgstr "Vertaa painoksia" @@ -732,17 +753,18 @@ msgstr "Täydellinen uudelleentarkistus" msgid "Confidence" msgstr "Varmuus" +#: src/component/location/dialog.vue:212 #: src/component/photo/album/dialog.vue:90 -#: src/component/settings/passcode.vue:261 +#: src/component/settings/passcode.vue:264 msgid "Confirm" msgstr "Vahvistaa" -#: src/component/service/add.vue:20 src/page/settings/services.vue:187 +#: src/component/service/add.vue:20 src/page/settings/services.vue:191 msgid "Connect" msgstr "Yhdistä" -#: src/page/settings/account.vue:401 src/component/settings/webdav.vue:45 -#: src/page/settings/services.vue:167 +#: src/page/settings/account.vue:406 src/component/settings/webdav.vue:46 +#: src/page/settings/services.vue:170 msgid "Connect via WebDAV" msgstr "Yhdistä WebDAV:n kautta" @@ -750,22 +772,22 @@ msgstr "Yhdistä WebDAV:n kautta" msgid "Connected" msgstr "Yhdistä" -#: src/page/settings/account.vue:640 src/page/settings/account.vue:532 +#: src/page/settings/account.vue:646 src/page/settings/account.vue:538 msgid "Contact Details" msgstr "Ota yhteyttä" -#: src/page/about/feedback.vue:37 src/page/connect.vue:132 -#: src/page/connect.vue:136 +#: src/page/about/feedback.vue:37 src/page/connect.vue:133 +#: src/page/connect.vue:137 msgid "Contact Us" msgstr "Ota yhteyttä" #: src/page/albums.vue:433 src/page/labels.vue:237 -#: src/page/people/recognized.vue:306 +#: src/page/people/recognized.vue:310 msgid "Contains %{n} pictures." msgstr "Sisältää %{n} kuvaa." #: src/page/albums.vue:427 src/page/labels.vue:231 -#: src/page/people/recognized.vue:300 +#: src/page/people/recognized.vue:304 msgid "Contains one picture." msgstr "Sisältää yhden kuvan." @@ -773,7 +795,7 @@ msgstr "Sisältää yhden kuvan." msgid "Content" msgstr "Sisältö" -#: src/component/settings/apps.vue:163 +#: src/component/settings/apps.vue:166 msgid "Continue" msgstr "Jatkaa" @@ -781,7 +803,7 @@ msgstr "Jatkaa" msgid "Continue with %{provider}" msgstr "Jatka %{provider}" -#: src/options/admin.js:18 src/options/auth.js:9 +#: src/options/admin.js:22 src/options/auth.js:10 msgid "Contributor" msgstr "Avustaja" @@ -789,15 +811,15 @@ msgstr "Avustaja" msgid "Converting" msgstr "Muunnetaan" -#: src/common/util.js:846 +#: src/common/util.js:856 msgid "Copied to clipboard" msgstr "Kopioitu leikepöydälle" -#: src/component/settings/apps.vue:250 src/component/settings/passcode.vue:358 +#: src/component/settings/apps.vue:253 src/component/settings/passcode.vue:361 msgid "Copy" msgstr "Kopio" -#: src/component/photo/edit/details.vue:516 +#: src/component/photo/edit/details.vue:490 msgid "Copyright" msgstr "Tekijänoikeus" @@ -805,8 +827,8 @@ msgstr "Tekijänoikeus" msgid "Couldn't find anything." msgstr "En löytänyt mitään." -#: src/page/settings/account.vue:685 src/component/photo/edit/details.vue:242 -#: src/component/photo/toolbar.vue:203 src/page/settings/account.vue:577 +#: src/page/settings/account.vue:691 src/component/photo/edit/details.vue:268 +#: src/component/photo/toolbar.vue:205 src/page/settings/account.vue:583 msgid "Country" msgstr "Maa" @@ -830,7 +852,7 @@ msgstr "Luo YAML-tiedostoja albumin metatietojen varmuuskopiointia varten." msgid "Create YAML sidecar files to back up picture metadata." msgstr "Luo YAML-sivutiedostoja kuvien metatietojen varmuuskopiointia varten." -#: src/page/admin/sessions.vue:417 src/component/photo/edit/info.vue:412 +#: src/page/admin/sessions.vue:422 src/component/photo/edit/info.vue:412 msgid "Created" msgstr "Luotu" @@ -842,11 +864,11 @@ msgstr "Luodaan pikkukuvia kohteelle" msgid "Cubic: Moderate Quality, Good Performance" msgstr "Kuutio: Kohtalainen laatu, hyvä suorituskyky" -#: src/component/settings/password.vue:85 +#: src/component/settings/password.vue:86 msgid "Current Password" msgstr "Nykyinen salasana" -#: src/options/themes.js:919 src/options/themes.js:928 +#: src/options/themes.js:920 src/options/themes.js:929 msgid "Custom" msgstr "Custom" @@ -862,11 +884,11 @@ msgstr "Päivittäin" msgid "Database Backups" msgstr "Tietokannan varmuuskopiot" -#: src/page/settings/account.vue:450 src/component/photo/edit/details.vue:110 +#: src/page/settings/account.vue:456 src/component/photo/edit/details.vue:112 msgid "Day" msgstr "Päivä" -#: src/component/settings/passcode.vue:445 +#: src/component/settings/passcode.vue:448 msgid "Deactivate" msgstr "Poista käytöstä" @@ -874,36 +896,40 @@ msgstr "Poista käytöstä" msgid "Debug Logs" msgstr "Vianmäärityslokit" -#: src/options/admin.js:31 src/page/admin/sessions.vue:136 -#: src/page/admin/users.vue:176 src/component/photo/edit/info.vue:47 +#: src/options/admin.js:35 src/page/admin/sessions.vue:136 +#: src/page/admin/users.vue:178 src/component/photo/edit/info.vue:47 #: src/component/photo/edit/info.vue:110 src/model/session.js:66 -#: src/model/user.js:246 src/options/auth.js:20 src/options/auth.js:21 -#: src/options/auth.js:39 src/options/auth.js:40 src/options/options.js:196 +#: src/model/user.js:246 src/options/auth.js:21 src/options/auth.js:22 +#: src/options/auth.js:40 src/options/auth.js:41 src/options/options.js:196 #: src/options/options.js:232 src/options/options.js:316 -#: src/options/themes.js:773 +#: src/options/themes.js:774 msgid "Default" msgstr "Oletus" -#: src/component/service/edit.vue:123 +#: src/component/service/edit.vue:124 msgid "Default Folder" msgstr "Oletuskansio" #: src/component/session/remove/dialog.vue:56 #: src/component/user/remove/dialog.vue:56 src/component/album/clipboard.vue:97 -#: src/component/album/delete/dialog.vue:54 -#: src/component/file/delete/dialog.vue:58 src/component/label/clipboard.vue:58 -#: src/component/label/delete/dialog.vue:58 +#: src/component/album/delete/dialog.vue:54 src/component/album/toolbar.vue:137 +#: src/component/file/delete/dialog.vue:59 src/component/label/clipboard.vue:58 +#: src/component/label/delete/dialog.vue:59 #: src/component/photo/clipboard.vue:168 src/component/photo/edit/files.vue:238 -#: src/component/service/remove.vue:60 src/component/share/dialog.vue:170 +#: src/component/service/remove.vue:61 src/component/share/dialog.vue:170 #: src/page/settings/general.vue:457 msgid "Delete" msgstr "Poista" +#: src/component/album/toolbar.vue:133 +msgid "Delete Album" +msgstr "Poista albumi" + #: src/component/photo/toolbar.vue:119 src/page/library/errors.vue:95 msgid "Delete All" msgstr "Poista kaikki" -#: src/component/photo/toolbar.vue:433 src/page/library/errors.vue:193 +#: src/component/photo/toolbar.vue:435 src/page/library/errors.vue:193 msgid "Delete all?" msgstr "Poista kaikki?" @@ -911,16 +937,16 @@ msgstr "Poista kaikki?" msgid "Delete orphaned index entries, sidecar files and thumbnails." msgstr "Poistaa orpoja indeksimerkintöjä, sivutiedostoja ja pikkukuvia." -#: src/component/album/edit/dialog.vue:107 src/page/albums.vue:411 +#: src/component/album/edit/dialog.vue:108 src/page/albums.vue:411 msgid "Description" msgstr "Kuvaus" -#: src/component/settings/webdav.vue:115 +#: src/component/settings/webdav.vue:116 msgid "Detailed instructions can be found in our User Guide." msgstr "Tarkemmat ohjeet löytyvät käyttöoppaastamme." -#: src/component/photo/edit/dialog.vue:156 -#: src/component/photo/edit/dialog.vue:173 +#: src/component/photo/edit/dialog.vue:162 +#: src/component/photo/edit/dialog.vue:181 msgid "Details" msgstr "Tarkemmat tiedot" @@ -984,8 +1010,8 @@ msgstr "Poistaa vektorigrafiikan tuen käytöstä." msgid "Disables video transcoding and thumbnail extraction." msgstr "Poistaa videon transkoodauksen ja pikkukuvien poiston käytöstä." -#: src/app/routes.js:558 src/app/routes.js:565 src/app/routes.js:572 -#: src/app/routes.js:579 +#: src/app/routes.js:566 src/app/routes.js:573 src/app/routes.js:580 +#: src/app/routes.js:587 msgid "Discover" msgstr "Tutustu" @@ -993,9 +1019,9 @@ msgstr "Tutustu" msgid "Dismiss" msgstr "Vapauttakaa" -#: src/component/user/add/dialog.vue:133 src/component/user/add/dialog.vue:134 -#: src/component/user/edit/dialog.vue:163 -#: src/component/user/edit/dialog.vue:164 src/page/admin/users.vue:72 +#: src/component/user/add/dialog.vue:134 src/component/user/add/dialog.vue:135 +#: src/component/user/edit/dialog.vue:164 +#: src/component/user/edit/dialog.vue:165 src/page/admin/users.vue:74 #: src/page/settings/account.vue:149 src/page/settings/account.vue:151 msgid "Display Name" msgstr "Näytön nimi" @@ -1010,12 +1036,12 @@ msgstr "Näytä kuvien otsikot hakutuloksissa." #: src/component/photo/view/cards.vue:339 #: src/component/photo/view/cards.vue:521 -#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:174 +#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:176 #: src/options/options.js:309 msgid "Document" msgstr "Asiakirja" -#: src/component/navigation.vue:480 +#: src/component/navigation.vue:482 msgid "Documents" msgstr "Asiakirjat" @@ -1031,16 +1057,16 @@ msgstr "Älä käytä ImageMagickia kuvien muuntamiseen." msgid "Don't use RawTherapee to convert RAW images." msgstr "Älä käytä RawTherapeeta RAW-tiedostojen muuntamiseen." -#: src/component/settings/apps.vue:238 src/component/share/dialog.vue:29 +#: src/component/settings/apps.vue:241 src/component/share/dialog.vue:29 msgid "Done" msgstr "Valmis" -#: src/component/upload/dialog.vue:135 src/page/library/import.vue:46 +#: src/component/upload/dialog.vue:137 src/page/library/import.vue:46 #: src/page/library/index.vue:52 msgid "Done." msgstr "Tehty." -#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:118 +#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:123 #: src/component/file/clipboard.vue:48 src/component/lightbox.vue:1235 #: src/component/people/clipboard.vue:47 src/component/photo/clipboard.vue:116 #: src/component/photo/edit/files.vue:168 src/page/settings/content.vue:331 @@ -1052,7 +1078,7 @@ msgstr "Lataa" msgid "Download only original media files, without any automatically generated files." msgstr "Lataa vain alkuperäisiä mediatiedostoja ilman automaattisesti luotuja tiedostoja." -#: src/component/service/edit.vue:237 +#: src/component/service/edit.vue:238 msgid "Download remote files" msgstr "Lataa etätiedostoja" @@ -1060,9 +1086,9 @@ msgstr "Lataa etätiedostoja" msgid "Download single files and zip archives." msgstr "Lataa yksittäisiä tiedostoja ja zip-arkistoja." -#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:157 +#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:172 #: src/component/file/clipboard.vue:61 src/component/label/clipboard.vue:86 -#: src/component/lightbox.vue:2021 src/component/people/clipboard.vue:59 +#: src/component/lightbox.vue:2041 src/component/people/clipboard.vue:59 #: src/component/photo/clipboard.vue:220 src/component/photo/edit/files.vue:119 #: src/component/photo/view/cards.vue:169 src/component/photo/view/list.vue:142 #: src/page/library/browse.vue:139 @@ -1077,7 +1103,7 @@ msgstr "Skaalaussuodatin" msgid "Drag and drop files here" msgstr "Vedä ja pudota tiedostot tänne" -#: src/page/about/feedback.vue:61 +#: src/page/about/feedback.vue:62 msgid "Due to the high volume of emails we receive, our team may be unable to get back to you immediately." msgstr "Koska saamiemme sähköpostiviestien määrä on suuri, tiimimme ei välttämättä pysty vastaamaan sinulle välittömästi." @@ -1097,23 +1123,23 @@ msgstr "Dynaamiset esikatselut" msgid "Dynamic Size Limit: %{n}px" msgstr "Dynaaminen kokorajoitus: %{n}px" -#: src/page/about/feedback.vue:141 src/page/about/feedback.vue:140 +#: src/page/about/feedback.vue:142 src/page/about/feedback.vue:141 msgid "E-Mail" msgstr "Sähköposti" -#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:89 +#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:94 #: src/component/lightbox.vue:1136 src/component/lightbox.vue:1137 #: src/component/photo/clipboard.vue:90 src/page/settings/general.vue:407 msgid "Edit" msgstr "Muokkaa" -#: src/component/album/edit/dialog.vue:54 -#: src/component/label/edit/dialog.vue:52 -#: src/component/people/edit/dialog.vue:52 +#: src/component/album/edit/dialog.vue:55 +#: src/component/label/edit/dialog.vue:53 +#: src/component/people/edit/dialog.vue:53 msgid "Edit %{s}" msgstr "Muokkaa %{s}" -#: src/component/user/edit/dialog.vue:61 src/component/service/edit.vue:79 +#: src/component/user/edit/dialog.vue:62 src/component/service/edit.vue:79 msgid "Edit Account" msgstr "Muokkaa tiliä" @@ -1125,8 +1151,8 @@ msgstr "Muokkaa kuvaa" msgid "Edited" msgstr "Muokattu" -#: src/component/user/add/dialog.vue:151 src/component/user/edit/dialog.vue:213 -#: src/page/settings/account.vue:171 src/page/settings/account.vue:593 +#: src/component/user/add/dialog.vue:152 src/component/user/edit/dialog.vue:214 +#: src/page/settings/account.vue:171 src/page/settings/account.vue:599 msgid "Email" msgstr "Sähköposti" @@ -1142,7 +1168,7 @@ msgstr "Ota käyttöön uusia ominaisuuksia, jotka voivat olla epätäydellisiä msgid "Enables RAW converter presets. May reduce performance." msgstr "Ottaa käyttöön RAW-muuntimen esiasetukset. Saattaa heikentää suorituskykyä." -#: src/component/settings/passcode.vue:127 +#: src/component/settings/passcode.vue:130 msgid "Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account." msgstr "Kaksivaiheisen todennuksen ottaminen käyttöön tarkoittaa, että tarvitset satunnaisesti luodun vahvistuskoodin kirjautuaksesi sisään, joten vaikka joku pääsisikin käsiksi salasanaasi, hän ei pääse tilillesi." @@ -1154,7 +1180,7 @@ msgstr "Syötä päivämäärä" msgid "Enter dates" msgstr "Syötä päivämäärät" -#: src/component/settings/passcode.vue:213 src/page/auth/login.vue:104 +#: src/component/settings/passcode.vue:216 src/page/auth/login.vue:104 msgid "Enter the code generated by your authenticator app:" msgstr "Kirjoita tunnistautumissovelluksen luoma koodi:" @@ -1162,7 +1188,7 @@ msgstr "Kirjoita tunnistautumissovelluksen luoma koodi:" msgid "Enter verification code" msgstr "syötä vahvistus koodi" -#: src/component/settings/apps.vue:109 +#: src/component/settings/apps.vue:112 msgid "Enter your password to confirm the action and continue:" msgstr "Vahvista toiminto antamalla salasanasi ja jatka:" @@ -1171,7 +1197,7 @@ msgstr "Vahvista toiminto antamalla salasanasi ja jatka:" msgid "Error" msgstr "Virhe" -#: src/app/routes.js:374 src/component/navigation.vue:1348 +#: src/app/routes.js:382 src/component/navigation.vue:1372 msgid "Errors" msgstr "Virheet" @@ -1207,13 +1233,13 @@ msgstr "Metatietojen poiminta ExifToolilla vaaditaan täydellistä Video-, Live msgid "Experimental Features" msgstr "Kokeelliset ominaisuudet" -#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:453 -#: src/component/service/edit.vue:157 src/component/settings/apps.vue:73 -#: src/component/settings/apps.vue:326 src/component/share/dialog.vue:62 +#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:458 +#: src/component/service/edit.vue:158 src/component/settings/apps.vue:73 +#: src/component/settings/apps.vue:329 src/component/share/dialog.vue:62 msgid "Expires" msgstr "Vanhenee" -#: src/component/photo/edit/details.vue:396 +#: src/component/photo/edit/details.vue:370 msgid "Exposure" msgstr "Valotus" @@ -1221,7 +1247,7 @@ msgstr "Valotus" msgid "Extract still images and generate thumbnails while indexing." msgstr "Poimi still-kuvat ja luo pikkukuvia indeksoinnin aikana." -#: src/component/photo/edit/details.vue:444 +#: src/component/photo/edit/details.vue:418 msgid "F Number" msgstr "Aukko" @@ -1237,7 +1263,7 @@ msgstr "Kasvot" msgid "Failed removing link" msgstr "Linkin poistaminen epäonnistui" -#: src/page/connect.vue:106 src/page/connect.vue:110 +#: src/page/connect.vue:107 src/page/connect.vue:111 msgid "Failed to connect account." msgstr "Tilin yhdistäminen epäonnistui." @@ -1245,8 +1271,8 @@ msgstr "Tilin yhdistäminen epäonnistui." msgid "Failed updating link" msgstr "Linkin päivittäminen epäonnistui" -#: src/component/user/edit/dialog.vue:143 -#: src/component/user/edit/dialog.vue:144 src/page/settings/account.vue:128 +#: src/component/user/edit/dialog.vue:144 +#: src/component/user/edit/dialog.vue:145 src/page/settings/account.vue:128 #: src/page/settings/account.vue:130 msgid "Family Name" msgstr "Sukunimi" @@ -1255,15 +1281,15 @@ msgstr "Sukunimi" msgid "Fast" msgstr "Nopea" -#: src/component/album/edit/dialog.vue:159 -#: src/component/label/edit/dialog.vue:85 -#: src/component/people/edit/dialog.vue:85 +#: src/component/album/edit/dialog.vue:160 +#: src/component/label/edit/dialog.vue:86 +#: src/component/people/edit/dialog.vue:86 #: src/component/photo/edit/info.vue:287 msgid "Favorite" msgstr "Suosikki" -#: src/app/routes.js:222 src/component/navigation.vue:893 -#: src/options/options.js:202 src/page/albums.vue:97 +#: src/app/routes.js:230 src/component/navigation.vue:903 +#: src/options/options.js:202 src/page/albums.vue:98 msgid "Favorites" msgstr "Suosikit" @@ -1271,7 +1297,7 @@ msgstr "Suosikit" msgid "Feature Request" msgstr "Ominaisuuspyyntö" -#: src/component/navigation.vue:1456 +#: src/component/navigation.vue:1482 msgid "Feedback" msgstr "Palaute" @@ -1279,11 +1305,12 @@ msgstr "Palaute" msgid "Female" msgstr "Nainen" -#: src/component/photo/edit/info.vue:214 src/model/file.js:290 +#: src/component/photo/edit/info.vue:57 src/component/photo/edit/info.vue:214 +#: src/model/file.js:290 msgid "File" msgstr "Tiedosto" -#: src/app/routes.js:343 +#: src/app/routes.js:351 msgid "File Browser" msgstr "Tiedostoselain" @@ -1306,8 +1333,8 @@ msgstr "Tiedosto" msgid "Filename" msgstr "Tiedoston nimi" -#: src/component/navigation.vue:1930 src/component/photo/edit/dialog.vue:267 -#: src/component/photo/edit/dialog.vue:284 +#: src/component/navigation.vue:1973 src/component/photo/edit/dialog.vue:279 +#: src/component/photo/edit/dialog.vue:298 msgid "Files" msgstr "Tiedostot" @@ -1319,26 +1346,26 @@ msgstr "Tiedostot, joilla on peräkkäiset nimet, kuten 'IMG_1234 (2)' ja 'IMG_1 msgid "First page" msgstr "Ensimmäinen sivu" -#: src/component/photo/edit/details.vue:465 +#: src/component/photo/edit/details.vue:439 msgid "Focal Length" msgstr "Polttoväli" -#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:118 -#: src/component/service/edit.vue:189 src/component/service/edit.vue:194 -#: src/component/service/upload.vue:90 src/component/service/upload.vue:96 +#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:119 +#: src/component/service/edit.vue:190 src/component/service/edit.vue:195 +#: src/component/service/upload.vue:91 src/component/service/upload.vue:97 #: src/model/folder.js:199 src/page/library/browse.vue:182 msgid "Folder" msgstr "Kansio" -#: src/page/library/browse.vue:365 +#: src/page/library/browse.vue:367 msgid "Folder contains %{n} files" msgstr "Kansio sisältää %{n} tiedostoa" -#: src/page/library/browse.vue:356 +#: src/page/library/browse.vue:358 msgid "Folder is empty" msgstr "Kansio on tyhjä" -#: src/app/routes.js:202 src/component/navigation.vue:1225 +#: src/app/routes.js:210 src/component/navigation.vue:1247 #: src/options/options.js:207 msgid "Folders" msgstr "Kansiot" @@ -1355,7 +1382,7 @@ msgstr "Ruutunopeus (FPS)" msgid "Frames" msgstr "Ruudut" -#: src/options/auth.js:54 src/options/auth.js:64 +#: src/options/auth.js:55 src/options/auth.js:65 msgid "Full Access" msgstr "Täysi pääsy" @@ -1367,7 +1394,7 @@ msgstr "Koko näyttö" msgid "General" msgstr "Yleinen" -#: src/component/settings/apps.vue:364 +#: src/component/settings/apps.vue:367 msgid "Generate" msgstr "Tuottaa" @@ -1387,8 +1414,8 @@ msgstr "Generoitu" msgid "Get Started" msgstr "Aloita" -#: src/component/user/edit/dialog.vue:120 -#: src/component/user/edit/dialog.vue:121 src/page/settings/account.vue:106 +#: src/component/user/edit/dialog.vue:121 +#: src/component/user/edit/dialog.vue:122 src/page/settings/account.vue:106 #: src/page/settings/account.vue:108 msgid "Given Name" msgstr "Alkuperäinen nimi" @@ -1413,7 +1440,7 @@ msgstr "Vihreä" msgid "Grey" msgstr "Harmaa" -#: src/options/admin.js:22 src/options/auth.js:10 +#: src/options/admin.js:26 src/options/auth.js:11 msgid "Guest" msgstr "Vieras" @@ -1429,15 +1456,15 @@ msgstr "Apua" msgid "Help & Support" msgstr "Apu ja tuki" -#: src/component/navigation.vue:1327 src/component/people/edit/dialog.vue:98 +#: src/component/navigation.vue:1351 src/component/people/edit/dialog.vue:99 msgid "Hidden" msgstr "Piilotettu" -#: src/app/routes.js:358 +#: src/app/routes.js:366 msgid "Hidden Files" msgstr "Piilotetut tiedostot" -#: src/page/people/new.vue:165 src/page/people/recognized.vue:205 +#: src/page/people/new.vue:166 src/page/people/recognized.vue:206 msgid "Hide" msgstr "Piilota" @@ -1453,7 +1480,7 @@ msgstr "Korkea" msgid "High Dynamic Range (HDR)" msgstr "Korkea dynaaminen alue (HDR)" -#: src/page/about/feedback.vue:103 +#: src/page/about/feedback.vue:104 msgid "How can we help?" msgstr "Kuinka voimme auttaa?" @@ -1461,11 +1488,11 @@ msgstr "Kuinka voimme auttaa?" msgid "Hybrid" msgstr "Hybridi" -#: src/component/settings/passcode.vue:389 +#: src/component/settings/passcode.vue:392 msgid "If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account." msgstr "Jos menetät käyttöoikeuden todennussovellukseen tai -laitteeseen, voit palauttaa tilisi käyttöoikeuden palautuskoodillasi." -#: src/component/photo/edit/info.vue:63 src/component/photo/edit/labels.vue:46 +#: src/component/photo/edit/info.vue:65 src/component/photo/edit/labels.vue:46 #: src/component/photo/view/cards.vue:532 src/model/file.js:218 #: src/options/options.js:281 msgid "Image" @@ -1475,7 +1502,7 @@ msgstr "Kuva" msgid "Image Quality" msgstr "Kuvan laatu" -#: src/page/library.vue:46 src/page/library/import.vue:152 +#: src/page/library.vue:46 src/page/library/import.vue:153 #: src/page/settings/general.vue:357 msgid "Import" msgstr "Tuo" @@ -1500,8 +1527,8 @@ msgstr "Tuodaan %{s}…" msgid "Importing files to originals…" msgstr "Tuodaan tiedostoja alkuperäisiin…" -#: src/component/photo/edit/files.vue:515 -#: src/component/photo/edit/files.vue:520 +#: src/component/photo/edit/files.vue:517 +#: src/component/photo/edit/files.vue:522 msgid "in" msgstr "osoitteessa" @@ -1519,11 +1546,11 @@ msgstr "Sisällytä RAW-kuvatiedostot pinoja ja arkistoja ladattaessa." msgid "Include sidecar files when downloading stacks and archives." msgstr "Sisällytä sidecar-tiedostot, kun lataat pinoja ja arkistoja." -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Increase storage size or delete files to continue." msgstr "Lisää tallennuskokoa tai poista tiedostoja jatkaaksesi." -#: src/component/navigation.vue:1946 src/page/library.vue:36 +#: src/component/navigation.vue:1990 src/page/library.vue:36 #: src/page/settings/content.vue:34 msgid "Index" msgstr "Indeksi" @@ -1553,11 +1580,11 @@ msgstr "Tiedot" msgid "Instance ID" msgstr "Ilmentymän tunnus" -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Insufficient storage." msgstr "Riittämätön varastointi." -#: src/component/service/edit.vue:209 +#: src/component/service/edit.vue:210 msgid "Interval" msgstr "Intervalli" @@ -1578,7 +1605,7 @@ msgstr "Virheellinen osoite" msgid "Invalid country" msgstr "Virheellinen maa" -#: src/component/photo/edit/details.vue:174 +#: src/component/photo/edit/details.vue:169 msgid "Invalid date" msgstr "Virheellinen päivämäärä" @@ -1587,7 +1614,7 @@ msgstr "Virheellinen päivämäärä" msgid "Invalid parameters" msgstr "Virheellinen päivämäärä" -#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:197 +#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:199 msgid "Invalid photo selected" msgstr "Virheellinen kuva valittu" @@ -1599,8 +1626,8 @@ msgstr "Virheellinen aika" msgid "Invalid URL" msgstr "Virheellinen URL-osoite" -#: src/component/settings/passcode.vue:314 -#: src/component/settings/passcode.vue:391 +#: src/component/settings/passcode.vue:317 +#: src/component/settings/passcode.vue:394 msgid "It is a one-time use code that will disable 2FA for your account when you use it." msgstr "Se on kertakäyttöinen koodi, joka poistaa 2FA:n käytöstä tililtäsi, kun käytät sitä." @@ -1624,7 +1651,7 @@ msgstr "JPEG-kokorajoitus: %{n}px" msgid "JPEGs and thumbnails are automatically rendered as needed." msgstr "JPEG-tiedostot ja pikkukuvat renderöidään automaattisesti tarpeen mukaan." -#: src/component/photo/edit/details.vue:581 +#: src/component/photo/edit/details.vue:555 msgid "Keywords" msgstr "Avainsanat" @@ -1633,9 +1660,9 @@ msgstr "Avainsanat" msgid "Label" msgstr "Tunniste" -#: src/app/routes.js:389 src/component/navigation.vue:1177 -#: src/component/photo/edit/dialog.vue:188 -#: src/component/photo/edit/dialog.vue:205 src/options/options.js:206 +#: src/app/routes.js:397 src/component/navigation.vue:1197 +#: src/component/photo/edit/dialog.vue:196 +#: src/component/photo/edit/dialog.vue:215 src/options/options.js:206 #: src/page/settings/general.vue:255 msgid "Labels" msgstr "Tunnisteet" @@ -1652,11 +1679,11 @@ msgstr "Lanczos: Yksityiskohtien säilyttäminen, minimaaliset artefaktit" msgid "Language" msgstr "Kieli" -#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:435 +#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:440 msgid "Last Active" msgstr "Viimeisin aktiivinen" -#: src/page/admin/users.vue:81 +#: src/page/admin/users.vue:83 msgid "Last Login" msgstr "Viimeisin kirjautuminen" @@ -1672,42 +1699,41 @@ msgstr "Viimeisin synkronointi" msgid "Last Used" msgstr "Viimeksi käytetty" -#: src/component/photo/edit/details.vue:298 #: src/component/photo/edit/info.vue:373 msgid "Latitude" msgstr "Leveysaste" -#: src/options/admin.js:43 src/options/auth.js:29 +#: src/options/admin.js:47 src/options/auth.js:30 msgid "LDAP/AD" msgstr "LDAP/AD" -#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:86 -#: src/page/about/about.vue:62 src/page/about/about.vue:132 +#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:87 +#: src/page/about/about.vue:62 src/page/about/about.vue:133 #: src/page/connect.vue:67 src/page/help.vue:36 msgid "Learn more" msgstr "Lue lisää" -#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:135 +#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:137 #: src/page/labels.vue:132 msgid "Learn More" msgstr "Lue lisää" -#: src/component/navigation.vue:2017 +#: src/component/navigation.vue:2066 msgid "Legal Information" msgstr "Oikeudelliset tiedot" -#: src/component/photo/edit/details.vue:417 +#: src/component/photo/edit/details.vue:391 #: src/component/photo/view/cards.vue:480 msgid "Lens" msgstr "Objektiivi" -#: src/app/routes.js:443 src/app/routes.js:459 src/app/routes.js:475 -#: src/component/navigation.vue:1267 src/page/settings/general.vue:507 +#: src/app/routes.js:451 src/app/routes.js:467 src/app/routes.js:483 +#: src/component/navigation.vue:1290 src/page/settings/general.vue:507 msgid "Library" msgstr "Kirjasto" #: src/page/connect.vue:45 src/app/routes.js:69 -#: src/component/navigation.vue:1478 src/component/photo/edit/details.vue:559 +#: src/component/navigation.vue:1504 src/component/photo/edit/details.vue:533 #: src/page/about/license.vue:28 msgid "License" msgstr "Lisenssi" @@ -1720,7 +1746,7 @@ msgstr "Tykkää" msgid "Lime" msgstr "Lime" -#: src/page/library/browse.vue:369 +#: src/page/library/browse.vue:371 msgid "Limit reached, showing first %{n} files" msgstr "Raja saavutettu, näytetään ensimmäiset %{n} tiedostoa" @@ -1728,7 +1754,7 @@ msgstr "Raja saavutettu, näytetään ensimmäiset %{n} tiedostoa" msgid "Linear: Very Smooth, Best Performance" msgstr "Lineaarinen: Erittäin tasainen, paras suorituskyky" -#: src/model/link.js:117 src/options/auth.js:30 src/options/auth.js:31 +#: src/model/link.js:117 src/options/auth.js:31 src/options/auth.js:32 msgid "Link" msgstr "Linkki" @@ -1746,7 +1772,7 @@ msgstr "Luettelonäkymä" msgid "Live" msgstr "Live Photo -kuva" -#: src/app/routes.js:236 src/component/navigation.vue:749 +#: src/app/routes.js:244 src/component/navigation.vue:755 msgid "Live Photos" msgstr "Kuvat" @@ -1762,21 +1788,24 @@ msgstr "Ladataan kohteita..." msgid "Loading..." msgstr "Ladataan..." -#: src/options/admin.js:35 src/options/auth.js:22 src/options/auth.js:27 +#: src/options/admin.js:39 src/options/auth.js:23 src/options/auth.js:28 #: src/options/options.js:38 src/page/settings/general.vue:107 msgid "Local" msgstr "Paikallinen" -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Local Time" msgstr "Paikallinen aika" -#: src/page/settings/account.vue:665 src/page/settings/account.vue:667 -#: src/component/album/edit/dialog.vue:92 src/component/photo/edit/info.vue:65 -#: src/component/photo/edit/labels.vue:48 +#: src/page/settings/account.vue:671 src/page/settings/account.vue:673 +#: src/component/album/edit/dialog.vue:93 +#: src/component/photo/edit/details.vue:38 +#: src/component/photo/edit/details.vue:116 +#: src/component/photo/edit/details.vue:210 +#: src/component/photo/edit/info.vue:67 src/component/photo/edit/labels.vue:48 #: src/component/photo/view/cards.vue:555 src/component/photo/view/list.vue:117 -#: src/component/sidebar/info.vue:107 src/page/albums.vue:99 -#: src/page/settings/account.vue:557 src/page/settings/account.vue:559 +#: src/component/sidebar/info.vue:107 src/page/albums.vue:100 +#: src/page/settings/account.vue:563 src/page/settings/account.vue:565 msgid "Location" msgstr "Sijainti" @@ -1784,20 +1813,19 @@ msgstr "Sijainti" msgid "Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues." msgstr "Lokiviestit näkyvät täällä aina, kun PhotoPrism löytää rikkinäisiä tiedostoja tai muita mahdollisia ongelmia." -#: src/component/navigation.vue:1552 src/component/navigation.vue:1840 +#: src/component/navigation.vue:1579 src/component/navigation.vue:1877 msgid "Login" msgstr "Kirjaudu sisään" -#: src/component/navigation.vue:1759 +#: src/component/navigation.vue:1791 msgid "Logout" msgstr "Kirjaudu ulos" -#: src/component/navigation.vue:1962 src/page/library.vue:59 +#: src/component/navigation.vue:2007 src/page/library.vue:59 #: src/page/settings/general.vue:557 msgid "Logs" msgstr "Lokit" -#: src/component/photo/edit/details.vue:324 #: src/component/photo/edit/info.vue:379 msgid "Longitude" msgstr "Pituusaste" @@ -1810,7 +1838,7 @@ msgstr "Matala" msgid "Magenta" msgstr "Magenta" -#: src/component/photo/edit/files.vue:489 +#: src/component/photo/edit/files.vue:491 msgid "Main Color" msgstr "Pääväri" @@ -1818,12 +1846,16 @@ msgstr "Pääväri" msgid "Male" msgstr "Mies" -#: src/page/connect.vue:164 src/page/connect.vue:246 -#: src/page/about/about.vue:171 src/page/connect.vue:168 -#: src/page/connect.vue:255 +#: src/page/connect.vue:165 src/page/connect.vue:248 +#: src/page/about/about.vue:173 src/page/connect.vue:169 +#: src/page/connect.vue:257 msgid "Manage Account" msgstr "Hallitse tiliä" +#: src/options/admin.js:10 src/options/auth.js:7 +msgid "Manager" +msgstr "Johtaja" + #: src/component/photo/edit/info.vue:49 src/component/photo/edit/labels.vue:38 msgid "Manual" msgstr "Manuaalinen" @@ -1840,11 +1872,11 @@ msgstr "Kartat" msgid "Marker" msgstr "Merkki" -#: src/component/user/add/dialog.vue:69 +#: src/component/user/add/dialog.vue:70 msgid "Maximum number of accounts has been reached." msgstr "Tilien enimmäismäärä on saavutettu." -#: src/app/routes.js:229 src/component/navigation.vue:688 +#: src/app/routes.js:237 src/component/navigation.vue:693 #: src/options/options.js:199 msgid "Media" msgstr "Media" @@ -1861,7 +1893,7 @@ msgstr "Jäsenyys" msgid "Merge %{a} with %{b}?" msgstr "Yhdistetäänkö %{a} ja %{b}?" -#: src/page/about/feedback.vue:102 +#: src/page/about/feedback.vue:103 msgid "Message" msgstr "Viesti" @@ -1873,7 +1905,7 @@ msgstr "Viesti lähetetty" msgid "Metadata" msgstr "Metatiedot" -#: src/options/auth.js:56 src/options/auth.js:72 +#: src/options/auth.js:57 src/options/auth.js:73 msgid "Metrics" msgstr "Mittarit" @@ -1881,7 +1913,7 @@ msgstr "Mittarit" msgid "Minimize" msgstr "Minimoi" -#: src/component/photo/edit/files.vue:509 src/component/photo/edit/info.vue:367 +#: src/component/photo/edit/files.vue:511 src/component/photo/edit/info.vue:367 msgid "Missing" msgstr "Puuttuva" @@ -1889,17 +1921,17 @@ msgstr "Puuttuva" msgid "Missing or invalid configuration" msgstr "Puuttuva tai virheellinen konfiguraatio" -#: src/app/routes.js:163 src/component/navigation.vue:1129 +#: src/app/routes.js:171 src/component/navigation.vue:1147 #: src/options/options.js:205 src/page/settings/general.vue:230 msgid "Moments" msgstr "Hetket" -#: src/component/navigation.vue:383 +#: src/component/navigation.vue:385 msgid "Monochrome" msgstr "Yksivärinen" -#: src/page/settings/account.vue:475 src/component/photo/edit/details.vue:137 -#: src/component/photo/toolbar.vue:342 +#: src/page/settings/account.vue:481 src/component/photo/edit/details.vue:139 +#: src/component/photo/toolbar.vue:344 msgid "Month" msgstr "Kuukausi" @@ -1919,7 +1951,7 @@ msgstr "Tärkein" msgid "Move Files" msgstr "Siirrä tiedostoja" -#: src/component/settings/password.vue:107 +#: src/component/settings/password.vue:108 msgid "Must have at least %{n} characters." msgstr "Vähintään %{n} merkkiä." @@ -1927,20 +1959,20 @@ msgstr "Vähintään %{n} merkkiä." msgid "Mute" msgstr "Mykistä" -#: src/page/about/feedback.vue:121 src/page/about/feedback.vue:122 -#: src/component/album/edit/dialog.vue:77 -#: src/component/label/edit/dialog.vue:71 -#: src/component/people/edit/dialog.vue:71 -#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:57 +#: src/page/about/feedback.vue:122 src/page/about/feedback.vue:123 +#: src/component/album/edit/dialog.vue:78 +#: src/component/label/edit/dialog.vue:72 +#: src/component/people/edit/dialog.vue:72 +#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:59 #: src/component/photo/edit/info.vue:125 src/component/photo/edit/people.vue:36 -#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:310 -#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:286 -#: src/page/albums.vue:98 src/page/auth/login.vue:168 +#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:311 +#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:289 +#: src/page/albums.vue:99 src/page/auth/login.vue:168 #: src/page/people/new.vue:68 src/page/settings/services.vue:37 msgid "Name" msgstr "Nimi" -#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:60 +#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:65 #: src/component/label/edit/dialog.vue:19 #: src/component/people/edit/dialog.vue:19 #: src/component/photo/edit/labels.vue:30 @@ -1950,7 +1982,7 @@ msgstr "Nimi" msgid "Name too long" msgstr "Nimi liian pitkä" -#: src/page/admin/users.vue:204 src/options/options.js:361 +#: src/page/admin/users.vue:206 src/options/options.js:361 #: src/options/options.js:371 src/page/settings/services.vue:75 msgid "Never" msgstr "Ei koskaan" @@ -1959,13 +1991,13 @@ msgstr "Ei koskaan" msgid "New" msgstr "Uusi" -#: src/component/settings/password.vue:106 +#: src/component/settings/password.vue:107 msgid "New Password" msgstr "Uusi salasana" #: src/component/album/edit/dialog.vue:24 src/component/photo/toolbar.vue:114 #: src/component/photo/toolbar.vue:126 src/component/photo/toolbar.vue:136 -#: src/page/albums.vue:100 +#: src/page/albums.vue:101 msgid "Newest First" msgstr "Uusin ensin" @@ -1981,15 +2013,15 @@ msgstr "Seuraava sivu" msgid "Next visual" msgstr "Seuraava kuva" -#: src/component/people/merge/dialog.vue:47 -#: src/component/photo/archive/dialog.vue:47 +#: src/component/people/merge/dialog.vue:48 +#: src/component/photo/archive/dialog.vue:48 #: src/component/photo/edit/info.vue:281 src/component/photo/edit/info.vue:297 #: src/component/photo/edit/info.vue:313 src/component/photo/edit/info.vue:329 #: src/component/photo/edit/info.vue:344 msgid "No" msgstr "Ei" -#: src/page/albums.vue:607 src/page/albums.vue:282 +#: src/page/albums.vue:612 src/page/albums.vue:282 msgid "No albums found" msgstr "Albumeja ei löytynyt" @@ -1997,7 +2029,7 @@ msgstr "Albumeja ei löytynyt" msgid "No data available" msgstr "Tietoja ei ole saatavilla" -#: src/page/labels.vue:523 src/page/labels.vue:155 +#: src/page/labels.vue:528 src/page/labels.vue:155 msgid "No labels found" msgstr "Tunnisteita ei löytynyt" @@ -2010,15 +2042,15 @@ msgid "No more" msgstr "Ei enää" #: src/component/photo/edit/people.vue:34 src/page/people/new.vue:346 -#: src/page/people/new.vue:443 src/page/people/new.vue:103 -#: src/page/people/recognized.vue:531 src/page/people/recognized.vue:146 +#: src/page/people/new.vue:446 src/page/people/new.vue:103 +#: src/page/people/recognized.vue:536 src/page/people/recognized.vue:146 msgid "No people found" msgstr "Ihmisiä ei löytynyt" #: src/component/lightbox.vue:365 src/component/photo/view/cards.vue:144 #: src/component/photo/view/list.vue:82 src/component/photo/view/mosaic.vue:68 -#: src/page/album/photos.vue:488 src/page/library/browse.vue:123 -#: src/page/photos.vue:626 src/page/places.vue:624 src/page/places.vue:730 +#: src/page/album/photos.vue:499 src/page/library/browse.vue:123 +#: src/page/photos.vue:636 src/page/places.vue:624 src/page/places.vue:730 msgid "No pictures found" msgstr "Kuvia ei löytynyt" @@ -2027,7 +2059,11 @@ msgstr "Kuvia ei löytynyt" msgid "No recently edited pictures" msgstr "Ei äskettäin muokattuja kuvia" -#: src/component/navigation.vue:1655 +#: src/component/location/dialog.vue:166 +msgid "No results" +msgstr "Ei tuloksia" + +#: src/component/navigation.vue:1686 msgid "No server connection" msgstr "Ei palvelinyhteyttä" @@ -2039,7 +2075,7 @@ msgstr "Palvelimia ei ole määritetty." msgid "No services configured." msgstr "Palvelimia ei ole määritetty." -#: src/component/confirm/sponsor.vue:72 +#: src/component/confirm/sponsor.vue:73 msgid "No thanks" msgstr "Ei kiitos" @@ -2049,17 +2085,17 @@ msgstr "Ei varoituksia tai virheitä, jotka sisältävät tämän avainsanan. Hu #: src/component/photo/view/cards.vue:154 src/component/photo/view/list.vue:59 #: src/component/photo/view/list.vue:92 src/component/photo/view/mosaic.vue:78 -#: src/component/upload/dialog.vue:208 +#: src/component/upload/dialog.vue:210 msgid "Non-photographic and low-quality images require a review before they appear in search results." msgstr "Muut kuin valokuvat ja heikkolaatuiset kuvat edellyttävät tarkistusta, ennen kuin ne näkyvät hakutuloksissa." -#: src/options/admin.js:47 src/options/auth.js:32 src/options/options.js:212 +#: src/options/admin.js:51 src/options/auth.js:33 src/options/options.js:212 #: src/options/options.js:328 msgid "None" msgstr "Ei mitään" -#: src/common/util.js:853 src/component/lightbox.vue:633 -#: src/component/service/upload.vue:75 src/component/service/upload.vue:87 +#: src/component/lightbox.vue:633 src/component/service/upload.vue:75 +#: src/component/service/upload.vue:87 msgid "Not allowed" msgstr "Ei sallittu" @@ -2071,8 +2107,7 @@ msgstr "Ei löytynyt" msgid "Not sorted." msgstr "Ei lajiteltu." -#: src/common/util.js:858 src/component/lightbox.vue:627 -#: src/component/lightbox.vue:744 +#: src/component/lightbox.vue:627 src/component/lightbox.vue:744 msgid "Not supported" msgstr "Ei tuettu" @@ -2080,15 +2115,15 @@ msgstr "Ei tuettu" msgid "Note you may manually manage your originals folder and importing is optional." msgstr "Huomaa, että voit hallita alkuperäisiä kansioita manuaalisesti, ja tuonti on valinnaista." -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "Note:" msgstr "Huomautus:" -#: src/component/service/add.vue:120 +#: src/component/service/add.vue:121 msgid "Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload." msgstr "Huomautus: Vain WebDAV-palvelimet, kuten Nextcloud tai PhotoPrism, voidaan määrittää etäpalveluiksi varmuuskopiointia ja tiedostojen lataamista varten." -#: src/component/photo/edit/details.vue:603 +#: src/component/photo/edit/details.vue:577 msgid "Notes" msgstr "Huomautukset" @@ -2096,8 +2131,8 @@ msgstr "Huomautukset" msgid "Nothing to see here yet." msgstr "Täällä ei ole vielä mitään nähtävää. Ole kärsivällinen." -#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:115 -#: src/component/settings/apps.vue:390 +#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:125 +#: src/component/settings/apps.vue:393 msgid "Nothing was found." msgstr "Mitään ei löytynyt." @@ -2105,7 +2140,7 @@ msgstr "Mitään ei löytynyt." msgid "Offline" msgstr "Offline-tilassa" -#: src/options/admin.js:39 src/options/auth.js:28 +#: src/options/admin.js:43 src/options/auth.js:29 msgid "OIDC" msgstr "OIDC" @@ -2115,11 +2150,11 @@ msgstr "OK" #: src/component/album/edit/dialog.vue:25 src/component/photo/toolbar.vue:115 #: src/component/photo/toolbar.vue:127 src/component/photo/toolbar.vue:137 -#: src/page/albums.vue:101 +#: src/page/albums.vue:102 msgid "Oldest First" msgstr "Vanhin ensin" -#: src/component/settings/webdav.vue:77 +#: src/component/settings/webdav.vue:78 msgid "On Windows, enter the following resource in the connection dialog:" msgstr "Kirjoita Windowsissa seuraava resurssi yhteysvalintaikkunaan:" @@ -2131,11 +2166,11 @@ msgstr "Pienoiskuvien luominen tilauksesta voi aiheuttaa suurta suorittimen ja m msgid "Once a week" msgstr "Kerran viikossa" -#: src/page/albums.vue:609 +#: src/page/albums.vue:614 msgid "One album found" msgstr "Yksi albumi löytyi" -#: src/page/library/browse.vue:358 +#: src/page/library/browse.vue:360 msgid "One file found" msgstr "Yksi tiedosto löytyi" @@ -2143,24 +2178,24 @@ msgstr "Yksi tiedosto löytyi" msgid "One file uploaded" msgstr "Yksi tiedosto ladattu" -#: src/page/library/browse.vue:360 +#: src/page/library/browse.vue:362 msgid "One folder found" msgstr "Yksi kansio löytyi" -#: src/page/labels.vue:525 +#: src/page/labels.vue:530 msgid "One label found" msgstr "Yksi tunniste löytyi" -#: src/page/people/new.vue:348 src/page/people/new.vue:445 -#: src/page/people/recognized.vue:533 +#: src/page/people/new.vue:348 src/page/people/new.vue:448 +#: src/page/people/recognized.vue:538 msgid "One person found" msgstr "Yksi henkilö löytyi" -#: src/page/album/photos.vue:490 src/page/photos.vue:628 +#: src/page/album/photos.vue:501 src/page/photos.vue:638 msgid "One picture found" msgstr "Yksi kuva löytyi" -#: src/component/settings/passcode.vue:478 +#: src/component/settings/passcode.vue:481 msgid "Only locally managed accounts can be set up for authentication with 2FA." msgstr "Vain paikallisesti hallinnoidut tilit voidaan määrittää 2FA-todennusta varten." @@ -2168,7 +2203,7 @@ msgstr "Vain paikallisesti hallinnoidut tilit voidaan määrittää 2FA-todennus msgid "Open" msgstr "Avaa" -#: src/component/service/add.vue:86 src/component/service/add.vue:107 +#: src/component/service/add.vue:87 src/component/service/add.vue:108 msgid "optional" msgstr "valinnainen" @@ -2180,7 +2215,7 @@ msgstr "tai" msgid "Orange" msgstr "Oranssi" -#: src/page/settings/account.vue:571 src/page/settings/account.vue:573 +#: src/page/settings/account.vue:577 src/page/settings/account.vue:579 msgid "Organization" msgstr "Suunta" @@ -2196,7 +2231,7 @@ msgstr "Alkuperäiset tiedostonimet tallennetaan ja indeksoidaan." msgid "Original Name" msgstr "Alkuperäinen nimi" -#: src/component/navigation.vue:1304 src/model/file.js:196 +#: src/component/navigation.vue:1328 src/model/file.js:196 #: src/options/options.js:413 src/page/library/browse.vue:65 #: src/page/settings/content.vue:356 src/page/settings/general.vue:532 msgid "Originals" @@ -2207,7 +2242,7 @@ msgstr "Alkuperäiset" msgid "Other" msgstr "Muut" -#: src/page/about/about.vue:77 src/page/about/about.vue:83 +#: src/page/about/about.vue:78 src/page/about/about.vue:84 msgid "Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible." msgstr "Tehtävämme on tarjota käyttäjä- ja yksityisyydensuojaystävällisin ratkaisu, jonka avulla kuvasi pysyvät järjestyksessä ja saatavilla." @@ -2219,7 +2254,7 @@ msgstr "Ulkona" msgid "Page {0}, Current page" msgstr "Sivu {0}, Nykyinen sivu" -#: src/component/photo/edit/files.vue:352 src/model/photo.js:859 +#: src/component/photo/edit/files.vue:352 src/model/photo.js:896 msgid "Pages" msgstr "Sivut" @@ -2231,15 +2266,15 @@ msgstr "Sivukohtainen navigointi" msgid "Panorama" msgstr "Panoraama" -#: src/component/navigation.vue:402 +#: src/component/navigation.vue:404 msgid "Panoramas" msgstr "Panoraamat" -#: src/component/user/add/dialog.vue:114 src/component/user/add/dialog.vue:115 -#: src/component/service/add.vue:106 src/component/service/edit.vue:352 -#: src/component/settings/apps.vue:121 src/component/settings/passcode.vue:106 -#: src/component/settings/passcode.vue:413 src/component/share/dialog.vue:27 -#: src/options/auth.js:91 src/page/auth/login.vue:196 +#: src/component/user/add/dialog.vue:115 src/component/user/add/dialog.vue:116 +#: src/component/service/add.vue:107 src/component/service/edit.vue:353 +#: src/component/settings/apps.vue:124 src/component/settings/passcode.vue:109 +#: src/component/settings/passcode.vue:416 src/component/share/dialog.vue:27 +#: src/options/auth.js:92 src/page/auth/login.vue:196 msgid "Password" msgstr "Salasana" @@ -2247,9 +2282,9 @@ msgstr "Salasana" msgid "Password changed" msgstr "Salasana vaihdettu" -#: src/app/routes.js:404 src/app/routes.js:428 src/component/navigation.vue:845 -#: src/component/navigation.vue:1898 src/component/photo/edit/dialog.vue:228 -#: src/component/photo/edit/dialog.vue:245 src/options/options.js:201 +#: src/app/routes.js:412 src/app/routes.js:436 src/component/navigation.vue:853 +#: src/component/navigation.vue:1939 src/component/photo/edit/dialog.vue:238 +#: src/component/photo/edit/dialog.vue:257 src/options/options.js:201 #: src/page/settings/general.vue:180 msgid "People" msgstr "Ihmiset" @@ -2270,23 +2305,23 @@ msgstr "Poista tiedostot pysyvästi vapauttaaksesi tallennustilaa." msgid "Person" msgstr "Henkilö" -#: src/options/auth.js:42 +#: src/options/auth.js:43 msgid "Personal" msgstr "Henkilökohtainen" -#: src/model/photo.js:1273 +#: src/model/photo.js:1310 msgid "Photo" msgstr "Kuva" -#: src/page/about/about.vue:156 +#: src/page/about/about.vue:158 msgid "PhotoPrism is 100% self-funded and independent." msgstr "PhotoPrism on 100-prosenttisesti omarahoitteinen ja riippumaton." -#: src/page/about/about.vue:92 +#: src/page/about/about.vue:93 msgid "PhotoPrism+ Membership" msgstr "PhotoPrism+ jäsenyys" -#: src/app/routes.js:156 +#: src/app/routes.js:164 msgid "Photos" msgstr "Kuvat" @@ -2307,27 +2342,27 @@ msgstr "Paikka" msgid "Place & Time" msgstr "Paikka ja aika" -#: src/app/routes.js:303 src/app/routes.js:309 src/app/routes.js:315 -#: src/app/routes.js:330 src/component/navigation.vue:986 -#: src/component/navigation.vue:1914 src/options/options.js:203 +#: src/app/routes.js:311 src/app/routes.js:317 src/app/routes.js:323 +#: src/app/routes.js:338 src/component/navigation.vue:999 +#: src/component/navigation.vue:1956 src/options/options.js:203 #: src/page/places.vue:51 src/page/settings/general.vue:609 #: src/page/settings/general.vue:638 msgid "Places" msgstr "Paikat" -#: src/component/settings/password.vue:129 +#: src/component/settings/password.vue:130 msgid "Please confirm your new password." msgstr "Vahvista uusi salasanasi." -#: src/component/settings/apps.vue:185 +#: src/component/settings/apps.vue:188 msgid "Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:" msgstr "Kopioi seuraava satunnaisesti luotu sovelluksen salasana ja säilytä se turvallisessa paikassa, koska et näe sitä enää:" -#: src/component/upload/dialog.vue:203 +#: src/component/upload/dialog.vue:205 msgid "Please do not upload any private, unlawful or offensive pictures." msgstr "Älä lataa yksityisiä, laittomia tai loukkaavia kuvia." -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Please don't upload photos containing offensive content." msgstr "Älä lataa kuvia, jotka sisältävät loukkaavaa sisältöä." @@ -2335,11 +2370,11 @@ msgstr "Älä lataa kuvia, jotka sisältävät loukkaavaa sisältöä." msgid "Please enter OTP character {0}" msgstr "Syötä OTP-merkki {0}" -#: src/component/settings/password.vue:66 +#: src/component/settings/password.vue:67 msgid "Please note that changing your password will log you out on other devices and browsers." msgstr "Huomaa, että salasanan vaihtaminen kirjautuu ulos muilla laitteilla ja selaimilla." -#: src/page/connect.vue:148 src/page/connect.vue:152 +#: src/page/connect.vue:149 src/page/connect.vue:153 msgid "Please restart your instance for the changes to take effect." msgstr "Käynnistä instanssisi uudelleen, jotta muutokset tulevat voimaan." @@ -2359,11 +2394,11 @@ msgstr "PNG-kokorajoitus: %{n}px" msgid "Portrait" msgstr "Muotokuva" -#: src/component/service/edit.vue:273 +#: src/component/service/edit.vue:274 msgid "Preserve filenames" msgstr "Säilytä tiedostonimet" -#: src/component/upload/dialog.vue:162 +#: src/component/upload/dialog.vue:164 msgid "Press enter to create a new album." msgstr "Luo uusi albumi painamalla enteriä." @@ -2400,8 +2435,8 @@ msgstr "Edellinen kuva" msgid "Primary" msgstr "Ensisijainen" -#: src/app/routes.js:271 src/component/album/edit/dialog.vue:176 -#: src/component/navigation.vue:531 src/component/photo/edit/info.vue:303 +#: src/app/routes.js:279 src/component/album/edit/dialog.vue:177 +#: src/component/navigation.vue:533 src/component/photo/edit/info.vue:303 #: src/page/settings/general.vue:280 msgid "Private" msgstr "Yksityinen" @@ -2426,7 +2461,7 @@ msgstr "Laatusuodatin" msgid "Quality Score" msgstr "Laatupisteet" -#: src/page/admin/users.vue:169 +#: src/page/admin/users.vue:171 msgid "r" msgstr "r" @@ -2457,7 +2492,7 @@ msgstr "Vain luku -tila" #: src/component/album/edit/dialog.vue:26 src/component/photo/toolbar.vue:116 #: src/component/photo/toolbar.vue:128 src/component/photo/toolbar.vue:138 -#: src/page/albums.vue:102 +#: src/page/albums.vue:103 msgid "Recently Added" msgstr "Äskettäin lisätty" @@ -2465,7 +2500,7 @@ msgstr "Äskettäin lisätty" msgid "Recently Archived" msgstr "Äskettäin arkistoitu" -#: src/component/photo/toolbar.vue:139 src/page/albums.vue:103 +#: src/component/photo/toolbar.vue:139 src/page/albums.vue:104 msgid "Recently Edited" msgstr "Äskettäin muokattu" @@ -2490,24 +2525,24 @@ msgstr "Elvytyskoodi" msgid "Red" msgstr "Punainen" -#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:126 -#: src/component/album/toolbar.vue:79 src/component/photo/toolbar.vue:169 -#: src/page/albums.vue:173 src/page/labels.vue:112 +#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:128 +#: src/component/album/toolbar.vue:84 src/component/photo/toolbar.vue:169 +#: src/page/albums.vue:175 src/page/labels.vue:112 #: src/page/library/browse.vue:90 src/page/library/errors.vue:81 #: src/page/people/new.vue:54 src/page/people/recognized.vue:88 msgid "Refresh" msgstr "Päivitä" -#: src/app/routes.js:337 src/component/navigation.vue:943 -#: src/component/navigation.vue:1026 +#: src/app/routes.js:345 src/component/navigation.vue:955 +#: src/component/navigation.vue:1040 msgid "Regions" msgstr "Alueet" -#: src/page/connect.vue:275 src/page/connect.vue:284 +#: src/page/connect.vue:277 src/page/connect.vue:286 msgid "Register" msgstr "Rekisteröi" -#: src/component/navigation.vue:1773 src/component/update.vue:68 +#: src/component/navigation.vue:1806 src/component/update.vue:68 msgid "Reload" msgstr "Lataa uudelleen" @@ -2552,34 +2587,34 @@ msgstr "Vaaditaan, että muut kuin valokuvat ja heikkolaatuiset kuvat tarkisteta msgid "Resolution" msgstr "Resoluutio" -#: src/page/connect.vue:179 src/page/connect.vue:183 +#: src/page/connect.vue:180 src/page/connect.vue:184 #: src/page/settings/advanced.vue:782 msgid "Restart" msgstr "Käynnistä uudelleen" -#: src/component/user/edit/dialog.vue:485 src/component/lightbox.vue:1221 +#: src/component/user/edit/dialog.vue:488 src/component/lightbox.vue:1221 #: src/component/photo/clipboard.vue:77 msgid "Restore" msgstr "Palauta" -#: src/component/lightbox.vue:2000 +#: src/component/lightbox.vue:2020 msgid "Restored" msgstr "Palautettu" -#: src/component/service/edit.vue:428 +#: src/component/service/edit.vue:429 msgid "Retry Limit" msgstr "Uudelleenyrittämisen raja" -#: src/component/settings/password.vue:128 +#: src/component/settings/password.vue:129 msgid "Retype Password" msgstr "Kirjoita salasana uudelleen" -#: src/app/routes.js:264 src/component/navigation.vue:505 +#: src/app/routes.js:272 src/component/navigation.vue:507 msgid "Review" msgstr "Arvostelu" -#: src/component/user/add/dialog.vue:171 src/component/user/edit/dialog.vue:284 -#: src/page/admin/sessions.vue:262 src/page/admin/users.vue:73 +#: src/component/user/add/dialog.vue:172 src/component/user/edit/dialog.vue:285 +#: src/page/admin/sessions.vue:263 src/page/admin/users.vue:75 msgid "Role" msgstr "Rooli" @@ -2591,11 +2626,11 @@ msgstr "Rivit per sivu:" msgid "Satellite" msgstr "Satelliitti" -#: src/component/user/edit/dialog.vue:485 -#: src/component/album/edit/dialog.vue:211 -#: src/component/label/edit/dialog.vue:119 -#: src/component/people/edit/dialog.vue:132 src/component/service/edit.vue:466 -#: src/component/settings/password.vue:172 src/component/share/dialog.vue:181 +#: src/component/user/edit/dialog.vue:488 +#: src/component/album/edit/dialog.vue:212 +#: src/component/label/edit/dialog.vue:120 +#: src/component/people/edit/dialog.vue:133 src/component/service/edit.vue:467 +#: src/component/settings/password.vue:173 src/component/share/dialog.vue:181 msgid "Save" msgstr "Tallenna" @@ -2603,23 +2638,23 @@ msgstr "Tallenna" msgid "Scan" msgstr "Skannaa" -#: src/component/settings/passcode.vue:179 +#: src/component/settings/passcode.vue:182 msgid "Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:" msgstr "Skannaa QR-koodi todennussovelluksellasi tai käytä alla näkyvää asennusavainta ja anna sitten luotu vahvistuskoodi:" -#: src/component/navigation.vue:461 +#: src/component/navigation.vue:463 msgid "Scans" msgstr "Skannaukset" -#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:377 -#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:310 +#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:381 +#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:313 msgid "Scope" msgstr "Laajuus" -#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:62 -#: src/component/navigation.vue:342 src/component/navigation.vue:1866 -#: src/component/photo/toolbar.vue:57 src/options/options.js:197 -#: src/page/albums.vue:100 src/page/labels.vue:77 +#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:69 +#: src/component/location/dialog.vue:133 src/component/navigation.vue:343 +#: src/component/navigation.vue:1905 src/component/photo/toolbar.vue:57 +#: src/options/options.js:197 src/page/albums.vue:100 src/page/labels.vue:77 #: src/page/library/errors.vue:76 src/page/people/recognized.vue:66 #: src/page/places.vue:79 src/page/settings/content.vue:235 msgid "Search" @@ -2657,11 +2692,11 @@ msgstr "Valitse päivämäärä" msgid "Select dates" msgstr "Valitse päivämäärät" -#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:154 +#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:156 msgid "Select or create an album" msgstr "Valitse tai luo albumi" -#: src/component/upload/dialog.vue:138 +#: src/component/upload/dialog.vue:140 msgid "Select the files to upload…" msgstr "Valitse ladattavat tiedostot…" @@ -2689,7 +2724,7 @@ msgstr "Valinta palautettu" msgid "Sequential Name" msgstr "Peräkkäinen nimi" -#: src/component/service/add.vue:67 src/component/service/edit.vue:322 +#: src/component/service/add.vue:68 src/component/service/edit.vue:323 #: src/component/share/dialog.vue:25 msgid "Service URL" msgstr "Palvelun URL-osoite" @@ -2698,7 +2733,7 @@ msgstr "Palvelun URL-osoite" msgid "Services" msgstr "Palvelun URL-osoite" -#: src/model/session.js:107 src/options/auth.js:41 src/options/auth.js:90 +#: src/model/session.js:107 src/options/auth.js:42 src/options/auth.js:91 msgid "Session" msgstr "Istunto" @@ -2706,7 +2741,7 @@ msgstr "Istunto" msgid "Session ID" msgstr "Istunnon ID" -#: src/page/admin.vue:45 +#: src/page/admin.vue:44 msgid "Sessions" msgstr "Istunnot" @@ -2714,22 +2749,22 @@ msgstr "Istunnot" msgid "Set as Album Cover" msgstr "Aseta albumin kanneksi" -#: src/app/routes.js:101 src/app/routes.js:492 src/app/routes.js:504 -#: src/app/routes.js:521 src/app/routes.js:534 src/app/routes.js:547 -#: src/component/navigation.vue:1394 src/component/navigation.vue:1806 +#: src/app/routes.js:101 src/app/routes.js:500 src/app/routes.js:512 +#: src/app/routes.js:529 src/app/routes.js:542 src/app/routes.js:555 +#: src/component/navigation.vue:1419 src/component/navigation.vue:1841 msgid "Settings" msgstr "Asetukset" #: src/page/settings/account.vue:115 src/page/settings/account.vue:144 -#: src/component/settings/passcode.vue:147 +#: src/component/settings/passcode.vue:151 msgid "Settings saved" msgstr "Asetukset tallennettu" -#: src/component/service/upload.vue:131 src/component/settings/passcode.vue:160 +#: src/component/service/upload.vue:132 src/component/settings/passcode.vue:163 msgid "Setup" msgstr "Määritä" -#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:98 +#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:103 #: src/component/photo/clipboard.vue:51 src/page/settings/general.vue:382 msgid "Share" msgstr "Jaa" @@ -2746,7 +2781,7 @@ msgstr "Jaa kuvasi muiden sovellusten ja palveluiden kanssa." msgid "Show" msgstr "Näytä" -#: src/page/people/new.vue:116 src/page/people/new.vue:233 +#: src/page/people/new.vue:116 src/page/people/new.vue:235 msgid "Show all new faces" msgstr "Näytä kaikki uudet kasvot" @@ -2791,7 +2826,7 @@ msgid "Similar" msgstr "Samanlainen" #: src/component/photo/edit/files.vue:51 src/component/photo/edit/files.vue:341 -#: src/component/service/edit.vue:139 src/component/sidebar/info.vue:96 +#: src/component/service/edit.vue:140 src/component/sidebar/info.vue:96 msgid "Size" msgstr "Koko" @@ -2819,7 +2854,7 @@ msgstr "Jokin meni pieleen, yritä uudelleen" msgid "Sort by" msgstr "Lajittelu" -#: src/component/album/edit/dialog.vue:142 src/component/photo/toolbar.vue:288 +#: src/component/album/edit/dialog.vue:143 src/component/photo/toolbar.vue:290 #: src/page/albums.vue:214 msgid "Sort Order" msgstr "Lajittelujärjestys" @@ -2854,7 +2889,7 @@ msgstr "Pinoaa täsmälleen samaan aikaan ja samassa paikassa otettuja kuvia nii msgid "Stackable" msgstr "Pinottava" -#: src/component/navigation.vue:421 src/page/settings/content.vue:136 +#: src/component/navigation.vue:423 src/page/settings/content.vue:136 msgid "Stacks" msgstr "Pinot" @@ -2882,16 +2917,16 @@ msgstr "Tallennus" msgid "Streets" msgstr "Kadut" -#: src/component/photo/edit/details.vue:494 +#: src/component/photo/edit/details.vue:468 #: src/component/photo/edit/labels.vue:44 msgid "Subject" msgstr "Aihe" -#: src/page/about/feedback.vue:162 src/page/about/feedback.vue:163 +#: src/page/about/feedback.vue:163 src/page/about/feedback.vue:164 msgid "Submit" msgstr "Lähetä" -#: src/component/settings/passcode.vue:132 +#: src/component/settings/passcode.vue:136 msgid "Successfully activated" msgstr "Aktivointi onnistui" @@ -2900,23 +2935,23 @@ msgid "Successfully Connected" msgstr "Onnistuneesti yhdistetty" #: src/component/session/remove/dialog.vue:32 -#: src/component/settings/apps.vue:218 +#: src/component/settings/apps.vue:222 msgid "Successfully deleted" msgstr "Poistettu onnistuneesti" -#: src/component/settings/passcode.vue:107 +#: src/component/settings/passcode.vue:108 msgid "Successfully verified" msgstr "Vahvistettu onnistuneesti" -#: src/component/user/edit/dialog.vue:398 src/page/admin/users.vue:163 +#: src/component/user/edit/dialog.vue:399 src/page/admin/users.vue:165 msgid "Super Admin" msgstr "Super Admin" -#: src/component/service/add.vue:122 +#: src/component/service/add.vue:123 msgid "Support for additional services, like Google Drive, will be added over time." msgstr "Tuki lisäpalveluille, kuten Google Drivelle lisätään myöhemmin." -#: src/component/confirm/sponsor.vue:37 src/component/navigation.vue:1629 +#: src/component/confirm/sponsor.vue:38 src/component/navigation.vue:1660 msgid "Support Our Mission" msgstr "Tue missiotamme" @@ -2924,7 +2959,7 @@ msgstr "Tue missiotamme" msgid "Sync" msgstr "Synkronoi" -#: src/component/service/edit.vue:289 +#: src/component/service/edit.vue:290 msgid "Sync raw and video files" msgstr "Synkronoi raaka- ja videotiedostot" @@ -2950,23 +2985,23 @@ msgstr "Maasto" msgid "Text" msgstr "Teksti" -#: src/component/photo/edit/details.vue:32 src/page/people/new.vue:71 +#: src/component/photo/edit/details.vue:40 src/page/people/new.vue:71 msgid "Text too long" msgstr "Liian pitkä teksti" -#: src/page/about/about.vue:145 +#: src/page/about/about.vue:146 msgid "Thank You for Your Support!" msgstr "Kiitos tuestasi!" -#: src/page/about/about.vue:79 src/page/about/about.vue:85 +#: src/page/about/about.vue:80 src/page/about/about.vue:86 msgid "That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality." msgstr "Siksi PhotoPrism rakennettiin alusta alkaen toimimaan siellä, missä sitä tarvitset, tinkimättä vapaudesta, yksityisyydestä tai toiminnallisuudesta." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "The index currently contains %{n} hidden files." msgstr "Hakemisto sisältää tällä hetkellä %{n} piilotettua tiedostoa." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates." msgstr "Niiden muotoa ei ehkä tueta, niitä ei ole vielä muunnettu JPEG-muotoon tai niissä on kaksoiskappaleita." @@ -2981,44 +3016,44 @@ msgstr "Teema" msgid "This field is required" msgstr "Tämä kenttä on pakollinen" -#: src/component/settings/webdav.vue:100 src/page/settings/services.vue:144 +#: src/component/settings/webdav.vue:101 src/page/settings/services.vue:147 msgid "This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local." msgstr "Tämä liittää alkuperäiskansion verkkoasemaksi ja antaa sinun avata, muokata ja poistaa tiedostoja tietokoneeltasi tai älypuhelimelta ikään kuin ne olisivat paikallisia." -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Time UTC" msgstr "Aika UTC-muodossa" -#: src/component/photo/edit/details.vue:219 src/page/settings/general.vue:108 +#: src/component/photo/edit/details.vue:221 src/page/settings/general.vue:108 msgid "Time Zone" msgstr "Aikavyöhyke" -#: src/component/service/edit.vue:408 +#: src/component/service/edit.vue:409 msgid "Timeout" msgstr "Aikakatkaisu" -#: src/component/user/edit/dialog.vue:98 src/component/user/edit/dialog.vue:99 +#: src/component/user/edit/dialog.vue:99 src/component/user/edit/dialog.vue:100 #: src/page/settings/account.vue:84 src/page/settings/account.vue:86 msgctxt "Account" msgid "Title" msgstr "Otsikko" -#: src/component/photo/edit/details.vue:73 +#: src/component/photo/edit/details.vue:75 msgctxt "Photo" msgid "Title" msgstr "Otsikko" -#: src/component/photo/edit/info.vue:59 src/component/photo/edit/info.vue:155 +#: src/component/photo/edit/info.vue:61 src/component/photo/edit/info.vue:155 #: src/component/photo/edit/labels.vue:40 src/component/photo/view/list.vue:114 #: src/component/sidebar/info.vue:57 msgid "Title" msgstr "Otsikko" -#: src/page/settings/account.vue:553 src/page/settings/account.vue:555 +#: src/page/settings/account.vue:559 src/page/settings/account.vue:561 msgid "Title / Position" msgstr "Otsikko liian pitkä" -#: src/page/albums.vue:83 +#: src/page/albums.vue:84 msgid "Title too long" msgstr "Otsikko liian pitkä" @@ -3026,19 +3061,19 @@ msgstr "Otsikko liian pitkä" msgid "to" msgstr "kohde" -#: src/component/settings/passcode.vue:312 +#: src/component/settings/passcode.vue:315 msgid "To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place." msgstr "Lataa, tulosta tai kopioi tämä palautuskoodi nyt ja säilytä se turvallisessa paikassa, jotta et pääse kirjautumaan tiliisi." -#: src/component/settings/apps.vue:272 +#: src/component/settings/apps.vue:275 msgid "To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:" msgstr "Luo uusi sovelluskohtainen salasana kirjoittamalla sovelluksen nimi ja valtuutusalue ja valitsemalla viimeinen voimassaolopäivä:" -#: src/component/settings/passcode.vue:400 +#: src/component/settings/passcode.vue:403 msgid "To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:" msgstr "Jos haluat vaihtaa uuteen todennussovellukseen tai -laitteeseen, deaktivoi ensin kaksivaiheinen todennus ja aktivoi se sitten uudelleen:" -#: src/page/connect.vue:221 src/page/connect.vue:230 +#: src/page/connect.vue:223 src/page/connect.vue:232 msgid "To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:" msgstr "Päivittääksesi voit joko syöttää aktivointikoodin tai rekisteröityä verkkosivustollamme klikkaamalla \"Rekisteröidy\":" @@ -3046,7 +3081,7 @@ msgstr "Päivittääksesi voit joko syöttää aktivointikoodin tai rekisteröit msgid "Today" msgstr "Tänään" -#: src/component/album/toolbar.vue:70 src/component/photo/toolbar.vue:78 +#: src/component/album/toolbar.vue:71 src/component/photo/toolbar.vue:78 msgid "Toggle View" msgstr "Vaihda näkymää" @@ -3073,20 +3108,24 @@ msgstr "Vianmääritys" msgid "Try again using other filters or keywords." msgstr "Yritä uudelleen käyttämällä muita suodattimia tai avainsanoja." -#: src/component/settings/passcode.vue:380 +#: src/component/settings/passcode.vue:383 msgid "Two-factor authentication has been enabled for your account." msgstr "Kaksivaiheinen todennus on otettu käyttöön tilissäsi." #: src/component/photo/edit/files.vue:58 src/component/photo/edit/files.vue:330 -#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:388 +#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:389 msgid "Type" msgstr "Tyyppi" -#: src/options/auth.js:13 +#: src/component/album/toolbar.vue:178 +msgid "Unable to delete" +msgstr "Poistaminen ei onnistu" + +#: src/options/auth.js:14 msgid "Unauthorized" msgstr "Luvaton" -#: src/component/photo/edit/people.vue:94 +#: src/component/photo/edit/people.vue:95 msgid "Undo" msgstr "Kumoa" @@ -3094,16 +3133,16 @@ msgstr "Kumoa" msgid "Unique ID" msgstr "Yksilöllinen tunnus" -#: src/page/settings/account.vue:451 src/page/settings/account.vue:476 -#: src/page/settings/account.vue:501 src/common/util.js:487 -#: src/component/photo/edit/details.vue:21 -#: src/component/photo/edit/details.vue:111 -#: src/component/photo/edit/details.vue:138 -#: src/component/photo/edit/details.vue:164 src/component/sidebar/info.vue:43 -#: src/model/album.js:193 src/model/photo.js:323 src/model/photo.js:784 -#: src/model/photo.js:809 src/model/photo.js:832 src/model/photo.js:850 -#: src/model/photo.js:897 src/model/photo.js:905 src/model/photo.js:994 -#: src/model/photo.js:1016 src/model/photo.js:1061 src/model/photo.js:1074 +#: src/page/settings/account.vue:457 src/page/settings/account.vue:482 +#: src/page/settings/account.vue:507 src/common/util.js:488 +#: src/component/photo/edit/details.vue:27 +#: src/component/photo/edit/details.vue:113 +#: src/component/photo/edit/details.vue:140 +#: src/component/photo/edit/details.vue:166 src/component/sidebar/info.vue:43 +#: src/model/album.js:193 src/model/photo.js:331 src/model/photo.js:821 +#: src/model/photo.js:846 src/model/photo.js:869 src/model/photo.js:887 +#: src/model/photo.js:934 src/model/photo.js:942 src/model/photo.js:1031 +#: src/model/photo.js:1053 src/model/photo.js:1098 src/model/photo.js:1111 #: src/model/user.js:157 src/options/options.js:51 src/options/options.js:69 #: src/options/options.js:86 src/options/options.js:100 #: src/options/options.js:112 src/page/library/errors.vue:251 @@ -3116,7 +3155,7 @@ msgstr "Tuntematon" msgid "Unregistered" msgstr "Rekisteröimätön" -#: src/app/routes.js:215 src/component/navigation.vue:644 +#: src/app/routes.js:223 src/component/navigation.vue:648 msgid "Unsorted" msgstr "Lajittelematon" @@ -3124,7 +3163,7 @@ msgstr "Lajittelematon" msgid "Unstack" msgstr "Pura pino" -#: src/component/photo/edit/files.vue:519 src/component/photo/edit/info.vue:416 +#: src/component/photo/edit/files.vue:521 src/component/photo/edit/info.vue:416 msgid "Updated" msgstr "Päivitetty" @@ -3140,7 +3179,7 @@ msgstr "Päivitetään indeksiä" msgid "Updating moments" msgstr "Päivitetään hetkiä" -#: src/component/user/edit/dialog.vue:154 +#: src/component/user/edit/dialog.vue:155 msgid "Updating picture…" msgstr "Päivitetään esikatseluita" @@ -3152,21 +3191,21 @@ msgstr "Päivitetään esikatseluita" msgid "Updating stacks" msgstr "Päivitetään pinoja" -#: src/page/connect.vue:57 src/component/navigation.vue:1500 -#: src/component/navigation.vue:1614 src/component/navigation.vue:1999 +#: src/page/connect.vue:57 src/component/navigation.vue:1526 +#: src/component/navigation.vue:1644 src/component/navigation.vue:2047 #: src/page/connect.vue:58 msgid "Upgrade" msgstr "Päivitys" -#: src/page/about/about.vue:123 src/page/connect.vue:202 -#: src/component/confirm/sponsor.vue:98 src/page/about/about.vue:113 -#: src/page/connect.vue:206 +#: src/page/about/about.vue:124 src/page/connect.vue:204 +#: src/component/confirm/sponsor.vue:99 src/page/about/about.vue:114 +#: src/page/connect.vue:208 msgid "Upgrade Now" msgstr "Päivitä nyt" -#: src/component/album/toolbar.vue:108 src/component/navigation.vue:1824 -#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:144 -#: src/component/upload/dialog.vue:51 src/page/albums.vue:183 +#: src/component/album/toolbar.vue:113 src/component/navigation.vue:1860 +#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:145 +#: src/component/upload/dialog.vue:51 src/page/albums.vue:185 #: src/page/labels.vue:122 src/page/library/import.vue:133 #: src/page/settings/general.vue:307 src/page/settings/services.vue:38 msgid "Upload" @@ -3176,21 +3215,21 @@ msgstr "Lähetä" msgid "Upload complete" msgstr "Lähetys valmis" -#: src/component/upload/dialog.vue:133 +#: src/component/upload/dialog.vue:135 msgid "Upload complete. Indexing…" msgstr "Lähetys valmis. Indeksoidaan…" #: src/component/upload/dialog.vue:296 src/component/upload/dialog.vue:315 -#: src/component/upload/dialog.vue:129 +#: src/component/upload/dialog.vue:131 msgid "Upload failed" msgstr "Lähetys epäonnistui" -#: src/component/service/edit.vue:257 +#: src/component/service/edit.vue:258 msgid "Upload local files" msgstr "Lähetä paikallisia tiedostoja" -#: src/component/user/edit/dialog.vue:380 #: src/component/user/edit/dialog.vue:381 +#: src/component/user/edit/dialog.vue:382 msgid "Upload Path" msgstr "Lataa polku" @@ -3198,7 +3237,7 @@ msgstr "Lataa polku" msgid "Upload to WebDAV and share links with friends." msgstr "Lähetä WebDAV:iin ja jaa linkkejä ystävien kanssa." -#: src/component/upload/dialog.vue:131 +#: src/component/upload/dialog.vue:133 msgid "Uploading %{n} of %{t}…" msgstr "Lähetetään %{n}/%{t}…" @@ -3211,7 +3250,7 @@ msgstr "Lähetetään kuvia…" msgid "Uploading…" msgstr "Ladataan uudelleen…" -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Uploads that may contain such images will be rejected automatically." msgstr "Tällaisia kuvia mahdollisesti sisältävät lataukset hylätään automaattisesti." @@ -3219,7 +3258,7 @@ msgstr "Tällaisia kuvia mahdollisesti sisältävät lataukset hylätään autom msgid "Use Presets" msgstr "Käytä esiasetuksia" -#: src/component/settings/passcode.vue:283 +#: src/component/settings/passcode.vue:286 msgid "Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:" msgstr "Käytä seuraavaa palautuskoodia päästäksesi tilillesi, kun et pysty luomaan kelvollista vahvistuskoodia todennussovelluksellasi:" @@ -3227,12 +3266,12 @@ msgstr "Käytä seuraavaa palautuskoodia päästäksesi tilillesi, kun et pysty msgid "Use your recovery code or contact an administrator for help." msgstr "Käytä palautuskoodia tai pyydä apua järjestelmänvalvojalta." -#: src/options/admin.js:10 src/page/admin/sessions.vue:59 -#: src/page/admin/sessions.vue:242 src/model/user.js:361 src/options/auth.js:7 +#: src/options/admin.js:14 src/page/admin/sessions.vue:59 +#: src/page/admin/sessions.vue:243 src/model/user.js:361 src/options/auth.js:8 msgid "User" msgstr "Käyttäjä" -#: src/component/navigation.vue:1979 +#: src/component/navigation.vue:2025 msgid "User Guide" msgstr "Käyttöopas" @@ -3240,14 +3279,14 @@ msgstr "Käyttöopas" msgid "User Interface" msgstr "Käyttöliittymä" -#: src/component/user/add/dialog.vue:87 src/component/user/add/dialog.vue:88 -#: src/page/admin/sessions.vue:220 src/page/admin/users.vue:71 -#: src/component/service/add.vue:85 src/component/service/edit.vue:337 +#: src/component/user/add/dialog.vue:88 src/component/user/add/dialog.vue:89 +#: src/page/admin/sessions.vue:221 src/page/admin/users.vue:73 +#: src/component/service/add.vue:86 src/component/service/edit.vue:338 #: src/component/share/dialog.vue:26 msgid "Username" msgstr "Käyttäjätunnus" -#: src/component/navigation.vue:1435 +#: src/component/navigation.vue:1461 msgid "Users" msgstr "Käyttäjät" @@ -3257,18 +3296,18 @@ msgstr "Käyttäjät" msgid "Vector" msgstr "Vektori" -#: src/component/navigation.vue:440 +#: src/component/navigation.vue:442 msgid "Vectors" msgstr "Vektorit" -#: src/component/settings/passcode.vue:227 src/page/auth/login.vue:144 +#: src/component/settings/passcode.vue:230 src/page/auth/login.vue:144 msgid "Verification Code" msgstr "Vahvistuskoodi" #: src/component/photo/view/cards.vue:363 #: src/component/photo/view/cards.vue:491 src/component/photo/view/list.vue:190 #: src/component/photo/view/mosaic.vue:207 src/model/file.js:221 -#: src/model/photo.js:921 src/model/photo.js:939 src/options/options.js:293 +#: src/model/photo.js:958 src/model/photo.js:976 src/options/options.js:293 msgid "Video" msgstr "Video" @@ -3277,12 +3316,12 @@ msgstr "Video" msgid "Video Duration" msgstr "Kesto" -#: src/app/routes.js:243 src/component/navigation.vue:728 +#: src/app/routes.js:251 src/component/navigation.vue:734 #: src/options/options.js:200 msgid "Videos" msgstr "Videot" -#: src/component/photo/toolbar.vue:261 src/component/photo/view/cards.vue:350 +#: src/component/photo/toolbar.vue:263 src/component/photo/view/cards.vue:350 #: src/component/photo/view/mosaic.vue:194 msgid "View" msgstr "Näytä" @@ -3291,11 +3330,11 @@ msgstr "Näytä" msgid "View search results as a list." msgstr "Näytä hakutulokset luettelona." -#: src/options/admin.js:14 src/options/auth.js:8 +#: src/options/admin.js:18 src/options/auth.js:9 msgid "Viewer" msgstr "Katseluohjelma" -#: src/page/admin/sessions.vue:271 src/options/auth.js:12 +#: src/page/admin/sessions.vue:272 src/options/auth.js:13 msgid "Visitor" msgstr "Vierailija" @@ -3307,34 +3346,34 @@ msgstr "Ryhmittele samankaltaisuuden mukaan" msgid "Warning" msgstr "Varoitus" -#: src/page/about/feedback.vue:60 +#: src/page/about/feedback.vue:61 msgid "We appreciate your feedback!" msgstr "Arvostamme palautettasi!" -#: src/page/about/feedback.vue:63 +#: src/page/about/feedback.vue:64 msgid "We do our best to respond within five business days or less." msgstr "Pyrimme parhaamme mukaan vastaamaan viiden arkipäivän tai lyhyemmän ajan kuluessa." -#: src/component/user/add/dialog.vue:235 src/component/user/edit/dialog.vue:415 -#: src/page/admin/users.vue:80 +#: src/component/user/add/dialog.vue:236 src/component/user/edit/dialog.vue:416 +#: src/page/admin/users.vue:82 msgid "Web Login" msgstr "Web-kirjautuminen" -#: src/component/user/add/dialog.vue:248 src/component/user/edit/dialog.vue:432 -#: src/page/admin/users.vue:82 src/options/auth.js:55 src/options/auth.js:68 +#: src/component/user/add/dialog.vue:249 src/component/user/edit/dialog.vue:433 +#: src/page/admin/users.vue:84 src/options/auth.js:56 src/options/auth.js:69 #: src/options/options.js:444 msgid "WebDAV" msgstr "WebDAV" -#: src/component/settings/webdav.vue:51 +#: src/component/settings/webdav.vue:52 msgid "WebDAV clients can connect to PhotoPrism using the following URL:" msgstr "WebDAV-ohjelmat voivat muodostaa yhteyden PhotoPrismiin käyttämällä seuraavaa URL-osoitetta:" -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism." msgstr "WebDAV-ohjelmat, kuten Microsoftin Windows Explorer tai Applen Finder, voivat muodostaa yhteyden suoraan PhotoPrismiin." -#: src/component/service/upload.vue:50 src/component/share/dialog.vue:220 +#: src/component/service/upload.vue:51 src/component/share/dialog.vue:220 msgid "WebDAV Upload" msgstr "WebDAV-lähetys" @@ -3342,8 +3381,8 @@ msgstr "WebDAV-lähetys" msgid "WebGL support is disabled in your browser" msgstr "WebGL-tuki ei ole käytössä selaimessasi" -#: src/page/settings/account.vue:615 src/page/settings/account.vue:709 -#: src/page/settings/account.vue:601 +#: src/page/settings/account.vue:621 src/page/settings/account.vue:715 +#: src/page/settings/account.vue:607 msgid "Website" msgstr "Verkkosivusto" @@ -3351,12 +3390,12 @@ msgstr "Verkkosivusto" msgid "White" msgstr "Valkoinen" -#: src/page/settings/account.vue:532 +#: src/page/settings/account.vue:538 msgid "Work Details" msgstr "Tarkemmat tiedot" -#: src/page/settings/account.vue:500 src/component/photo/edit/details.vue:163 -#: src/component/photo/toolbar.vue:315 src/page/albums.vue:159 +#: src/page/settings/account.vue:506 src/component/photo/edit/details.vue:165 +#: src/component/photo/toolbar.vue:317 src/page/albums.vue:159 msgid "Year" msgstr "Vuosi" @@ -3364,21 +3403,21 @@ msgstr "Vuosi" msgid "Yellow" msgstr "Keltainen" -#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:58 -#: src/component/photo/archive/dialog.vue:58 +#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:59 +#: src/component/photo/archive/dialog.vue:59 #: src/component/photo/clipboard.vue:200 src/component/photo/edit/files.vue:365 #: src/component/photo/edit/files.vue:395 #: src/component/photo/edit/files.vue:401 #: src/component/photo/edit/files.vue:407 -#: src/component/photo/edit/files.vue:510 src/component/photo/edit/info.vue:281 +#: src/component/photo/edit/files.vue:512 src/component/photo/edit/info.vue:281 #: src/component/photo/edit/info.vue:297 src/component/photo/edit/info.vue:313 #: src/component/photo/edit/info.vue:329 src/component/photo/edit/info.vue:344 -#: src/component/photo/toolbar.vue:434 +#: src/component/photo/toolbar.vue:436 msgid "Yes" msgstr "Kyllä" -#: src/component/confirm/sponsor.vue:59 src/page/about/about.vue:158 -#: src/page/connect.vue:315 +#: src/component/confirm/sponsor.vue:60 src/page/about/about.vue:160 +#: src/page/connect.vue:317 msgid "You are welcome to contact us at membership@photoprism.app for questions regarding your membership." msgstr "Voit ottaa meihin yhteyttä osoitteeseen membership@photoprism.app, jos sinulla on jäsenyyttäsi koskevia kysymyksiä." @@ -3390,7 +3429,11 @@ msgstr "Voit ladata vain yhden albumin" msgid "You can only download one label" msgstr "Voit ladata vain yhden tunnisteen" -#: src/component/upload/dialog.vue:203 +#: src/component/location/dialog.vue:178 +msgid "You can search for a location or move the marker on the map to change the position:" +msgstr "Voit etsiä sijaintia tai siirtää merkkiä kartalla vaihtaaksesi sijaintia:" + +#: src/component/upload/dialog.vue:205 msgid "You can upload up to %{n} files for test purposes." msgstr "Voit ladata enintään %{n} tiedostoa testitarkoituksiin." @@ -3403,7 +3446,7 @@ msgstr "Voit valita vain yhden kohteen" msgid "You may rescan your library to find additional faces." msgstr "Voit skannata kirjastosi uudelleen löytääksesi lisää kasvoja." -#: src/page/connect.vue:146 src/page/connect.vue:150 +#: src/page/connect.vue:147 src/page/connect.vue:151 msgid "Your account has been successfully connected." msgstr "Tilisi on yhdistetty onnistuneesti." @@ -3411,8 +3454,8 @@ msgstr "Tilisi on yhdistetty onnistuneesti." msgid "Your browser does not support WebGL" msgstr "Selaimesi ei tue WebGL:ää" -#: src/component/confirm/sponsor.vue:43 src/page/about/about.vue:97 -#: src/page/about/about.vue:156 src/page/connect.vue:220 +#: src/component/confirm/sponsor.vue:44 src/page/about/about.vue:98 +#: src/page/about/about.vue:158 src/page/connect.vue:222 msgid "Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy." msgstr "Jatkuva tukesi auttaa meitä tarjoamaan säännöllisiä päivityksiä ja palveluja, kuten maailmankarttoja." @@ -3493,9 +3536,6 @@ msgstr "Lähennä/loitonna" #~ msgid "Open Folder" #~ msgstr "Avaa kansio" -#~ msgid "Cannot copy to clipboard" -#~ msgstr "Ei voi kopioida leikepöydälle" - #~ msgid "Sound" #~ msgstr "Ääni" diff --git a/frontend/src/locales/fr.po b/frontend/src/locales/fr.po index 9228faf31..a3b117f4e 100644 --- a/frontend/src/locales/fr.po +++ b/frontend/src/locales/fr.po @@ -3,15 +3,15 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: ci@photoprism.app\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2025-05-06 01:02+0000\n" -"Last-Translator: jean-louis67 \n" +"PO-Revision-Date: 2025-07-06 08:58+0000\n" +"Last-Translator: DeepL \n" "Language-Team: French \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 5.11.1\n" +"X-Generator: Weblate 5.12.2\n" "Generated-By: easygettext\n" #: src/locales.js:268 @@ -42,7 +42,7 @@ msgstr "{0} sélectionnée(s)" msgid "{0}-{1} of {2}" msgstr "{0}-{1} de {2}" -#: src/page/albums.vue:612 +#: src/page/albums.vue:617 msgid "%{n} albums found" msgstr "%{n} album(s) trouvé(s)" @@ -50,25 +50,25 @@ msgstr "%{n} album(s) trouvé(s)" msgid "%{n} files uploaded" msgstr "%{n} fichier(s) chargé(s)" -#: src/page/library/browse.vue:362 +#: src/page/library/browse.vue:364 msgid "%{n} folders found" msgstr "%{n} dossier(s) trouvé(s)" -#: src/component/navigation.vue:1676 +#: src/component/navigation.vue:1707 msgid "%{n} GB of %{q} GB used" msgstr "%{n} Go de %{q} Go utilisés" -#: src/page/labels.vue:528 +#: src/page/labels.vue:533 msgid "%{n} labels found" msgstr "%{n} étiquette(s) trouvée(s)" -#: src/page/people/new.vue:350 src/page/people/new.vue:447 -#: src/page/people/recognized.vue:536 +#: src/page/people/new.vue:350 src/page/people/new.vue:450 +#: src/page/people/recognized.vue:541 msgid "%{n} people found" msgstr "%{n} personne(s) trouvée(s)" -#: src/page/album/photos.vue:308 src/page/album/photos.vue:493 -#: src/page/photos.vue:441 src/page/photos.vue:631 +#: src/page/album/photos.vue:313 src/page/album/photos.vue:504 +#: src/page/photos.vue:446 src/page/photos.vue:641 msgid "%{n} pictures found" msgstr "%{n} image(s) trouvée(s)" @@ -88,12 +88,12 @@ msgstr "1 heure" msgid "12 hours" msgstr "12 heures" -#: src/component/user/edit/dialog.vue:452 src/page/settings/account.vue:324 -#: src/component/settings/passcode.vue:75 +#: src/component/user/edit/dialog.vue:453 src/page/settings/account.vue:325 +#: src/component/settings/passcode.vue:78 msgid "2-Factor Authentication" msgstr "Authentification à 2 facteurs" -#: src/component/user/edit/dialog.vue:451 src/options/auth.js:46 +#: src/component/user/edit/dialog.vue:452 src/options/auth.js:47 msgid "2FA" msgstr "2FA" @@ -109,20 +109,20 @@ msgstr "Cliquez pour copier vers votre presse-papier." msgid "A new version of %{s} is available:" msgstr "Une nouvelle version de %{s} est disponible :" -#: src/component/user/edit/dialog.vue:233 -#: src/component/user/edit/dialog.vue:234 src/page/about/about.vue:56 +#: src/component/user/edit/dialog.vue:234 +#: src/component/user/edit/dialog.vue:235 src/page/about/about.vue:56 #: src/page/settings/account.vue:248 src/page/settings/account.vue:249 -#: src/app/routes.js:63 src/component/navigation.vue:1521 -#: src/page/people/recognized.vue:292 +#: src/app/routes.js:63 src/component/navigation.vue:1547 +#: src/page/people/recognized.vue:296 msgid "About" msgstr "À propos" -#: src/options/auth.js:26 src/options/auth.js:44 +#: src/options/auth.js:27 src/options/auth.js:45 msgid "Access Token" msgstr "Jeton d'accès" -#: src/component/navigation.vue:87 src/component/navigation.vue:1788 -#: src/component/service/upload.vue:71 src/model/service.js:96 +#: src/component/navigation.vue:87 src/component/navigation.vue:1822 +#: src/component/service/upload.vue:72 src/model/service.js:96 #: src/model/user.js:171 src/page/settings.vue:85 #: src/page/settings/general.vue:582 msgid "Account" @@ -136,7 +136,7 @@ msgstr "Compte créé" msgid "Account deleted" msgstr "Compte supprimé" -#: src/page/admin/users.vue:335 +#: src/page/admin/users.vue:337 msgid "Account restored" msgstr "Compte restauré" @@ -157,8 +157,8 @@ msgstr "Action" msgid "Actions" msgstr "Actions" -#: src/page/connect.vue:294 src/component/settings/passcode.vue:346 -#: src/page/connect.vue:303 +#: src/page/connect.vue:296 src/component/settings/passcode.vue:349 +#: src/page/connect.vue:305 msgid "Activate" msgstr "Activer" @@ -174,20 +174,20 @@ msgstr "Activer pour trier par ordre croissant." msgid "Activate to sort descending." msgstr "Activer pour trier par ordre décroissant." -#: src/page/connect.vue:231 src/page/connect.vue:240 +#: src/page/connect.vue:233 src/page/connect.vue:242 msgid "Activation Code" msgstr "Code d'activation" -#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:83 -#: src/component/settings/apps.vue:448 +#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:92 +#: src/component/settings/apps.vue:451 msgid "Add" msgstr "Ajouter" -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:246 msgid "Add %{s}?" msgstr "Ajouter %{s} ?" -#: src/component/user/add/dialog.vue:56 src/component/service/add.vue:49 +#: src/component/user/add/dialog.vue:57 src/component/service/add.vue:50 msgid "Add Account" msgstr "Ajouter un compte" @@ -204,8 +204,8 @@ msgid "Add Link" msgstr "Ajouter un lien" #: src/component/photo/edit/people.vue:25 -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:57 -#: src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:57 +#: src/page/people/new.vue:246 msgid "Add person?" msgstr "Ajouter une personne ?" @@ -221,10 +221,15 @@ msgstr "Ajouter des images à partir des résultats de recherche en les sélecti msgid "Add to album" msgstr "Ajouter à l'album" -#: src/component/photo/edit/files.vue:514 +#: src/component/photo/edit/files.vue:516 msgid "Added" msgstr "Ajouté" +#: src/component/location/dialog.vue:68 src/component/location/dialog.vue:90 +#: src/component/photo/edit/details.vue:246 +msgid "Adjust Location" +msgstr "Ajuster l'emplacement" + #: src/options/admin.js:6 src/options/auth.js:6 msgid "Admin" msgstr "Administrateur" @@ -245,7 +250,7 @@ msgstr "Après 3 jours" msgid "After 7 days" msgstr "Après 7 jours" -#: src/component/settings/passcode.vue:93 +#: src/component/settings/passcode.vue:96 msgid "After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:" msgstr "Après avoir saisi votre mot de passe pour confirmation, vous pourrez configurer l'authentification à deux facteurs à l'aide d'une application ou d'un dispositif d'authentification compatible :" @@ -277,12 +282,16 @@ msgstr "Album" msgid "Album Backups" msgstr "Sauvegardes d'albums" -#: src/page/albums.vue:674 +#: src/page/albums.vue:685 msgid "Album created" msgstr "Album créé" -#: src/app/routes.js:176 src/component/album/toolbar.vue:51 -#: src/component/navigation.vue:604 src/component/navigation.vue:1882 +#: src/page/album/photos.vue:589 +msgid "Album deleted" +msgstr "Album supprimé" + +#: src/app/routes.js:184 src/component/album/toolbar.vue:55 +#: src/component/navigation.vue:607 src/component/navigation.vue:1922 #: src/component/photo/edit/info.vue:220 src/options/options.js:198 msgid "Albums" msgstr "Albums" @@ -295,7 +304,7 @@ msgstr "Albums supprimés" msgid "All" msgstr "Tous" -#: src/page/albums.vue:465 +#: src/page/albums.vue:470 msgid "All %{n} albums loaded" msgstr "Les %{n} album(s) ont été chargé(s)" @@ -311,8 +320,8 @@ msgstr "Les %{n} personnes ont été chargées" msgid "All Cameras" msgstr "Tous les appareils photo" -#: src/component/photo/toolbar.vue:74 src/page/albums.vue:44 -#: src/page/albums.vue:240 src/page/albums.vue:746 +#: src/component/photo/toolbar.vue:74 src/page/albums.vue:45 +#: src/page/albums.vue:242 src/page/albums.vue:757 msgid "All Categories" msgstr "Toutes les catégories" @@ -344,7 +353,7 @@ msgstr "Tous les mois" msgid "All originals" msgstr "Tous les fichiers originaux" -#: src/component/photo/toolbar.vue:76 src/page/albums.vue:93 +#: src/component/photo/toolbar.vue:76 src/page/albums.vue:94 msgid "All Years" msgstr "Toutes les années" @@ -356,7 +365,7 @@ msgstr "Vous pouvez également envoyer les fichiers directement vers un serveur msgid "Altitude" msgstr "Altitude" -#: src/component/photo/edit/details.vue:272 +#: src/component/photo/edit/details.vue:297 msgid "Altitude (m)" msgstr "Altitude (m)" @@ -364,8 +373,7 @@ msgstr "Altitude (m)" msgid "AM" msgstr "AM" -#: src/app/routes.js:257 src/component/navigation.vue:791 -#: src/component/photo/edit/files.vue:364 +#: src/app/routes.js:265 src/component/photo/edit/files.vue:364 #: src/component/photo/view/cards.vue:327 #: src/component/photo/view/cards.vue:511 src/component/photo/view/list.vue:184 #: src/component/photo/view/mosaic.vue:171 src/options/options.js:301 @@ -376,43 +384,47 @@ msgstr "Animé" msgid "Animation" msgstr "Animation" +#: src/component/navigation.vue:797 +msgid "Animations" +msgstr "Animations" + #: src/component/share/dialog.vue:207 msgid "Any private photos and videos remain private and won't be shared." msgstr "Une photo ou vidéo privée restera privée et ne sera pas partagée." -#: src/component/service/edit.vue:372 +#: src/component/service/edit.vue:373 msgid "API Key" msgstr "Clé d'API" -#: src/page/admin/sessions.vue:357 src/options/auth.js:25 +#: src/page/admin/sessions.vue:361 src/options/auth.js:26 msgid "Application" msgstr "Application" -#: src/component/photo/edit/details.vue:641 +#: src/component/photo/edit/details.vue:615 msgid "Apply" msgstr "Appliquer" #: src/component/photo/clipboard.vue:64 -#: src/component/photo/edit/details.vue:640 +#: src/component/photo/edit/details.vue:614 #: src/component/photo/view/cards.vue:416 msgid "Approve" msgstr "Approuver" -#: src/page/settings/account.vue:374 src/component/settings/apps.vue:91 +#: src/page/settings/account.vue:378 src/component/settings/apps.vue:94 msgid "Apps and Devices" msgstr "Applications et appareils" -#: src/app/routes.js:287 src/component/lightbox.vue:1207 -#: src/component/navigation.vue:555 src/component/photo/clipboard.vue:142 +#: src/app/routes.js:295 src/component/lightbox.vue:1207 +#: src/component/navigation.vue:557 src/component/photo/clipboard.vue:142 #: src/component/photo/view/cards.vue:398 src/page/settings/general.vue:432 msgid "Archive" msgstr "Archives" -#: src/component/lightbox.vue:1982 src/component/photo/edit/info.vue:433 +#: src/component/lightbox.vue:2002 src/component/photo/edit/info.vue:433 msgid "Archived" msgstr "Archivé" -#: src/component/photo/archive/dialog.vue:34 +#: src/component/photo/archive/dialog.vue:35 msgid "Are you sure you want to archive the selection?" msgstr "Êtes-vous sûr de vouloir archiver la sélection ?" @@ -420,19 +432,23 @@ msgstr "Êtes-vous sûr de vouloir archiver la sélection ?" msgid "Are you sure you want to delete these albums?" msgstr "Êtes-vous sûr de vouloir supprimer ces albums ?" -#: src/component/label/delete/dialog.vue:34 +#: src/component/label/delete/dialog.vue:35 msgid "Are you sure you want to delete these labels?" msgstr "Êtes-vous sûr de vouloir supprimer ces étiquettes ?" -#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:36 +#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:37 msgid "Are you sure you want to delete this account?" msgstr "Êtes-vous sûr de vouloir supprimer ce compte ?" +#: src/component/album/toolbar.vue:136 +msgid "Are you sure you want to delete this album?" +msgstr "Êtes-vous sûr de vouloir supprimer cet album ?" + #: src/component/photo/clipboard.vue:199 msgid "Are you sure you want to permanently delete these pictures?" msgstr "Êtes-vous sûr de vouloir supprimer définitivement ces photos ?" -#: src/component/file/delete/dialog.vue:34 +#: src/component/file/delete/dialog.vue:35 msgid "Are you sure you want to permanently delete this file?" msgstr "Êtes-vous sûr de vouloir supprimer définitivement ce fichier ?" @@ -441,7 +457,7 @@ msgstr "Êtes-vous sûr de vouloir supprimer définitivement ce fichier ?" msgid "Are you sure?" msgstr "Êtes-vous sûr ?" -#: src/component/photo/edit/details.vue:537 +#: src/component/photo/edit/details.vue:511 msgid "Artist" msgstr "Auteur" @@ -449,14 +465,14 @@ msgstr "Auteur" msgid "Aspect Ratio" msgstr "Format d'image" -#: src/app/routes.js:250 src/component/navigation.vue:770 +#: src/app/routes.js:258 src/component/navigation.vue:776 #: src/options/options.js:297 msgid "Audio" msgstr "Audio" -#: src/component/user/add/dialog.vue:190 src/component/user/edit/dialog.vue:309 -#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:281 -#: src/page/admin/users.vue:75 +#: src/component/user/add/dialog.vue:191 src/component/user/edit/dialog.vue:310 +#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:282 +#: src/page/admin/users.vue:77 msgid "Authentication" msgstr "Authentification" @@ -464,11 +480,11 @@ msgstr "Authentification" msgid "Auto" msgstr "Auto" -#: src/component/settings/apps.vue:151 +#: src/component/settings/apps.vue:154 msgid "Back" msgstr "Retour" -#: src/component/scroll.vue:20 +#: src/component/scroll.vue:18 msgid "Back to top" msgstr "Retour en haut de la page" @@ -480,26 +496,26 @@ msgstr "Sauvegarde" msgid "Badge" msgstr "Badge" -#: src/component/user/edit/dialog.vue:361 #: src/component/user/edit/dialog.vue:362 +#: src/component/user/edit/dialog.vue:363 msgid "Base Path" msgstr "Chemin de base" -#: src/page/about/about.vue:95 src/page/connect.vue:220 +#: src/page/about/about.vue:96 src/page/connect.vue:222 msgid "Become a member today, support our mission and enjoy our member benefits!" msgstr "Devenez membre aujourd'hui, soutenez notre mission et profitez de nos avantages !" -#: src/component/confirm/sponsor.vue:51 src/page/about/about.vue:99 +#: src/component/confirm/sponsor.vue:52 src/page/about/about.vue:100 msgid "Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services." msgstr "Étant 100% autofinancés et indépendants, nous pouvons vous promettre que nous ne vendrons jamais vos données et que nous serons toujours transparents sur nos logiciels et services." -#: src/component/user/edit/dialog.vue:258 -#: src/component/user/edit/dialog.vue:259 src/page/settings/account.vue:227 +#: src/component/user/edit/dialog.vue:259 +#: src/component/user/edit/dialog.vue:260 src/page/settings/account.vue:227 #: src/page/settings/account.vue:228 msgid "Bio" msgstr "Biographie" -#: src/page/settings/account.vue:431 +#: src/page/settings/account.vue:437 msgid "Birth Date" msgstr "Date de naissance" @@ -520,7 +536,7 @@ msgid "Brown" msgstr "Marron" #: src/component/photo/edit/files.vue:263 src/component/photo/toolbar.vue:141 -#: src/component/upload/dialog.vue:240 +#: src/component/upload/dialog.vue:242 msgid "Browse" msgstr "Parcourir" @@ -548,16 +564,16 @@ msgstr "Signaler une erreur" msgid "Busy, please wait…" msgstr "Veuillez patienter…" -#: src/page/connect.vue:317 +#: src/page/connect.vue:319 msgid "By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct." msgstr "En utilisant le logiciel et les services que nous fournissons, vous acceptez nos conditions d'utilisation, notre politique de confidentialité et notre code de conduite." -#: src/app/routes.js:189 src/component/navigation.vue:1081 +#: src/app/routes.js:197 src/component/navigation.vue:1097 #: src/options/options.js:204 src/page/settings/general.vue:205 msgid "Calendar" msgstr "Calendrier" -#: src/component/photo/edit/details.vue:346 src/component/photo/toolbar.vue:232 +#: src/component/photo/edit/details.vue:320 src/component/photo/toolbar.vue:234 #: src/component/photo/view/cards.vue:467 src/component/photo/view/list.vue:116 msgid "Camera" msgstr "Appareil photo" @@ -570,12 +586,12 @@ msgstr "N° de série de l'appareil photo" msgid "Can't access your authenticator app or device?" msgstr "Vous n'avez pas accès à votre application ou votre appareil d'authentification ?" -#: src/page/album/photos.vue:317 src/page/photos.vue:450 +#: src/page/album/photos.vue:322 src/page/photos.vue:455 msgid "Can't load more, limit reached" msgstr "Impossible de charger plus, limite atteinte" #: src/common/clipboard.js:102 src/common/clipboard.js:139 -#: src/page/albums.vue:684 src/page/albums.vue:700 src/page/labels.vue:293 +#: src/page/albums.vue:695 src/page/albums.vue:711 src/page/labels.vue:293 #: src/page/labels.vue:313 src/page/library/browse.vue:233 #: src/page/library/browse.vue:249 src/page/people/new.vue:278 #: src/page/people/new.vue:294 src/page/people/recognized.vue:305 @@ -584,26 +600,31 @@ msgid "Can't select more items" msgstr "Impossible de sélectionner plus d’éléments" #: src/component/session/remove/dialog.vue:45 -#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:473 -#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:119 +#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:474 +#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:120 #: src/component/album/delete/dialog.vue:43 -#: src/component/album/edit/dialog.vue:199 src/component/confirm/dialog.vue:43 -#: src/component/file/delete/dialog.vue:47 -#: src/component/label/delete/dialog.vue:47 -#: src/component/label/edit/dialog.vue:107 -#: src/component/people/edit/dialog.vue:120 +#: src/component/album/edit/dialog.vue:200 src/component/confirm/dialog.vue:43 +#: src/component/file/delete/dialog.vue:48 +#: src/component/label/delete/dialog.vue:48 +#: src/component/label/edit/dialog.vue:108 +#: src/component/location/dialog.vue:200 +#: src/component/people/edit/dialog.vue:121 #: src/component/photo/album/dialog.vue:78 src/component/service/add.vue:19 -#: src/component/service/edit.vue:455 src/component/service/remove.vue:49 -#: src/component/service/upload.vue:117 src/component/settings/apps.vue:352 -#: src/component/settings/passcode.vue:249 -#: src/component/settings/passcode.vue:333 -#: src/component/settings/password.vue:159 src/component/share/dialog.vue:28 -#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:123 +#: src/component/service/edit.vue:456 src/component/service/remove.vue:50 +#: src/component/service/upload.vue:118 src/component/settings/apps.vue:355 +#: src/component/settings/passcode.vue:252 +#: src/component/settings/passcode.vue:336 +#: src/component/settings/password.vue:160 src/component/share/dialog.vue:28 +#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:124 #: src/page/library/import.vue:119 src/page/library/index.vue:128 msgid "Cancel" msgstr "Annuler" -#: src/component/photo/edit/details.vue:87 src/component/photo/edit/info.vue:61 +#: src/common/util.js:863 src/common/util.js:870 +msgid "Cannot copy to clipboard" +msgstr "Impossible de copier dans le presse-papiers" + +#: src/component/photo/edit/details.vue:89 src/component/photo/edit/info.vue:63 #: src/component/photo/edit/labels.vue:42 #: src/component/photo/view/cards.vue:445 src/component/sidebar/info.vue:72 msgid "Caption" @@ -617,17 +638,17 @@ msgstr "Cartes" msgid "Carousel slide {0} of {1}" msgstr "Page {0} sur {1} du carrousel" -#: src/page/about/feedback.vue:82 src/page/about/feedback.vue:83 -#: src/component/album/edit/dialog.vue:128 src/component/photo/toolbar.vue:397 +#: src/page/about/feedback.vue:83 src/page/about/feedback.vue:84 +#: src/component/album/edit/dialog.vue:129 src/component/photo/toolbar.vue:399 #: src/page/albums.vue:187 msgid "Category" msgstr "Catégorie" -#: src/component/user/edit/dialog.vue:191 src/page/settings/account.vue:201 +#: src/component/user/edit/dialog.vue:192 src/page/settings/account.vue:201 msgid "Change Avatar" msgstr "Changer d'avatar" -#: src/page/settings/account.vue:297 src/component/settings/password.vue:48 +#: src/page/settings/account.vue:297 src/component/settings/password.vue:49 msgid "Change Password" msgstr "Changer le mot de passe" @@ -644,17 +665,17 @@ msgid "Change private flag" msgstr "Modifier le statut privé" #: src/component/user/add/dialog.vue:108 src/component/user/add/dialog.vue:113 -#: src/component/user/edit/dialog.vue:90 src/component/user/edit/dialog.vue:95 +#: src/component/user/edit/dialog.vue:91 src/component/user/edit/dialog.vue:96 #: src/page/settings/account.vue:121 src/page/settings/account.vue:126 msgid "Changes could not be saved" msgstr "Les modifications n'ont pu être sauvegardées" -#: src/component/user/edit/dialog.vue:83 src/component/user/edit/dialog.vue:159 +#: src/component/user/edit/dialog.vue:84 src/component/user/edit/dialog.vue:160 #: src/component/album/edit/dialog.vue:73 -#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1941 +#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1961 #: src/component/photo/edit/files.vue:162 src/component/service/edit.vue:90 #: src/component/share/dialog.vue:92 src/component/share/dialog.vue:111 -#: src/page/albums.vue:677 src/page/people/recognized.vue:119 +#: src/page/albums.vue:688 src/page/people/recognized.vue:119 #: src/page/settings/advanced.vue:62 src/page/settings/content.vue:62 #: src/page/settings/general.vue:108 msgid "Changes successfully saved" @@ -668,7 +689,7 @@ msgstr "Un redémarrage est nécessaire pour que les modifications apportées au msgid "Checked" msgstr "Vérifié" -#: src/component/photo/edit/files.vue:495 +#: src/component/photo/edit/files.vue:497 msgid "Chroma" msgstr "Saturation" @@ -684,24 +705,24 @@ msgstr "Nettoyage" msgid "Clear {0}" msgstr "Effacer {0}" -#: src/options/auth.js:11 src/options/auth.js:23 src/options/auth.js:43 +#: src/options/auth.js:12 src/options/auth.js:24 src/options/auth.js:44 msgid "Client" msgstr "Client" -#: src/options/auth.js:24 +#: src/options/auth.js:25 msgid "Client Credentials" msgstr "Identifiants du client" -#: src/page/admin/sessions.vue:529 src/component/lightbox.vue:284 -#: src/component/lightbox.vue:1009 src/component/lightbox.vue:1010 -#: src/component/photo/edit/details.vue:627 src/component/photo/toolbar.vue:160 -#: src/component/settings/apps.vue:224 src/component/settings/apps.vue:437 -#: src/component/settings/passcode.vue:148 -#: src/component/settings/passcode.vue:456 -#: src/component/settings/passcode.vue:497 -#: src/component/settings/webdav.vue:131 src/component/share/dialog.vue:231 +#: src/component/user/edit/dialog.vue:474 src/page/admin/sessions.vue:536 +#: src/component/lightbox.vue:284 src/component/lightbox.vue:1009 +#: src/component/lightbox.vue:1010 src/component/photo/edit/details.vue:601 +#: src/component/photo/toolbar.vue:161 src/component/settings/apps.vue:227 +#: src/component/settings/apps.vue:440 src/component/settings/passcode.vue:151 +#: src/component/settings/passcode.vue:459 +#: src/component/settings/passcode.vue:500 +#: src/component/settings/webdav.vue:132 src/component/share/dialog.vue:231 #: src/component/sidebar/info.vue:26 src/component/update.vue:57 -#: src/component/upload/dialog.vue:228 src/locales.js:206 +#: src/component/upload/dialog.vue:230 src/locales.js:206 #: src/page/library/errors.vue:253 msgid "Close" msgstr "Fermer" @@ -710,11 +731,11 @@ msgstr "Fermer" msgid "Codec" msgstr "Codec" -#: src/component/photo/toolbar.vue:369 +#: src/component/photo/toolbar.vue:371 msgid "Color" msgstr "Couleur" -#: src/component/photo/edit/files.vue:483 +#: src/component/photo/edit/files.vue:485 msgid "Color Profile" msgstr "Profil de couleur" @@ -722,7 +743,7 @@ msgstr "Profil de couleur" msgid "Colors" msgstr "Couleurs" -#: src/page/connect.vue:260 src/page/connect.vue:269 +#: src/page/connect.vue:262 src/page/connect.vue:271 msgid "Compare Editions" msgstr "Comparer les éditions" @@ -735,17 +756,18 @@ msgstr "Réanalyse complète" msgid "Confidence" msgstr "Confiance" +#: src/component/location/dialog.vue:212 #: src/component/photo/album/dialog.vue:90 -#: src/component/settings/passcode.vue:261 +#: src/component/settings/passcode.vue:264 msgid "Confirm" msgstr "Confirmer" -#: src/component/service/add.vue:20 src/page/settings/services.vue:187 +#: src/component/service/add.vue:20 src/page/settings/services.vue:191 msgid "Connect" msgstr "Connecter" -#: src/page/settings/account.vue:401 src/component/settings/webdav.vue:45 -#: src/page/settings/services.vue:167 +#: src/page/settings/account.vue:406 src/component/settings/webdav.vue:46 +#: src/page/settings/services.vue:170 msgid "Connect via WebDAV" msgstr "Se connecter via le protocole WebDAV" @@ -753,22 +775,22 @@ msgstr "Se connecter via le protocole WebDAV" msgid "Connected" msgstr "Connecté" -#: src/page/settings/account.vue:640 src/page/settings/account.vue:532 +#: src/page/settings/account.vue:646 src/page/settings/account.vue:538 msgid "Contact Details" msgstr "Coordonnées" -#: src/page/about/feedback.vue:37 src/page/connect.vue:132 -#: src/page/connect.vue:136 +#: src/page/about/feedback.vue:37 src/page/connect.vue:133 +#: src/page/connect.vue:137 msgid "Contact Us" msgstr "Nous contacter" #: src/page/albums.vue:433 src/page/labels.vue:237 -#: src/page/people/recognized.vue:306 +#: src/page/people/recognized.vue:310 msgid "Contains %{n} pictures." msgstr "Contient %{n} images." #: src/page/albums.vue:427 src/page/labels.vue:231 -#: src/page/people/recognized.vue:300 +#: src/page/people/recognized.vue:304 msgid "Contains one picture." msgstr "Contient une image." @@ -776,7 +798,7 @@ msgstr "Contient une image." msgid "Content" msgstr "Contenu" -#: src/component/settings/apps.vue:163 +#: src/component/settings/apps.vue:166 msgid "Continue" msgstr "Poursuivre" @@ -784,7 +806,7 @@ msgstr "Poursuivre" msgid "Continue with %{provider}" msgstr "Continuer avec %{fournisseur}" -#: src/options/admin.js:18 src/options/auth.js:9 +#: src/options/admin.js:22 src/options/auth.js:10 msgid "Contributor" msgstr "Contributeur" @@ -792,15 +814,15 @@ msgstr "Contributeur" msgid "Converting" msgstr "Conversion en cours" -#: src/common/util.js:846 +#: src/common/util.js:856 msgid "Copied to clipboard" msgstr "Copié vers le presse-papier" -#: src/component/settings/apps.vue:250 src/component/settings/passcode.vue:358 +#: src/component/settings/apps.vue:253 src/component/settings/passcode.vue:361 msgid "Copy" msgstr "Copier" -#: src/component/photo/edit/details.vue:516 +#: src/component/photo/edit/details.vue:490 msgid "Copyright" msgstr "Copyright" @@ -808,8 +830,8 @@ msgstr "Copyright" msgid "Couldn't find anything." msgstr "Aucun élément trouvé." -#: src/page/settings/account.vue:685 src/component/photo/edit/details.vue:242 -#: src/component/photo/toolbar.vue:203 src/page/settings/account.vue:577 +#: src/page/settings/account.vue:691 src/component/photo/edit/details.vue:268 +#: src/component/photo/toolbar.vue:205 src/page/settings/account.vue:583 msgid "Country" msgstr "Pays" @@ -833,7 +855,7 @@ msgstr "Utiliser des fichiers YAML pour sauvegarder les métadonnées des albums msgid "Create YAML sidecar files to back up picture metadata." msgstr "Utiliser des fichiers side-car YAML pour sauvegarder les métadonnées des images." -#: src/page/admin/sessions.vue:417 src/component/photo/edit/info.vue:412 +#: src/page/admin/sessions.vue:422 src/component/photo/edit/info.vue:412 msgid "Created" msgstr "Créé" @@ -845,11 +867,11 @@ msgstr "Création des miniatures pour" msgid "Cubic: Moderate Quality, Good Performance" msgstr "Cubique : Qualité modérée, bonne performance" -#: src/component/settings/password.vue:85 +#: src/component/settings/password.vue:86 msgid "Current Password" msgstr "Mot de passe actuel" -#: src/options/themes.js:919 src/options/themes.js:928 +#: src/options/themes.js:920 src/options/themes.js:929 msgid "Custom" msgstr "Sur mesure" @@ -865,11 +887,11 @@ msgstr "Quotidien" msgid "Database Backups" msgstr "Sauvegarde de la base de données" -#: src/page/settings/account.vue:450 src/component/photo/edit/details.vue:110 +#: src/page/settings/account.vue:456 src/component/photo/edit/details.vue:112 msgid "Day" msgstr "Jour" -#: src/component/settings/passcode.vue:445 +#: src/component/settings/passcode.vue:448 msgid "Deactivate" msgstr "Désactiver" @@ -877,36 +899,40 @@ msgstr "Désactiver" msgid "Debug Logs" msgstr "Journaux de débogage" -#: src/options/admin.js:31 src/page/admin/sessions.vue:136 -#: src/page/admin/users.vue:176 src/component/photo/edit/info.vue:47 +#: src/options/admin.js:35 src/page/admin/sessions.vue:136 +#: src/page/admin/users.vue:178 src/component/photo/edit/info.vue:47 #: src/component/photo/edit/info.vue:110 src/model/session.js:66 -#: src/model/user.js:246 src/options/auth.js:20 src/options/auth.js:21 -#: src/options/auth.js:39 src/options/auth.js:40 src/options/options.js:196 +#: src/model/user.js:246 src/options/auth.js:21 src/options/auth.js:22 +#: src/options/auth.js:40 src/options/auth.js:41 src/options/options.js:196 #: src/options/options.js:232 src/options/options.js:316 -#: src/options/themes.js:773 +#: src/options/themes.js:774 msgid "Default" msgstr "Valeur par défaut" -#: src/component/service/edit.vue:123 +#: src/component/service/edit.vue:124 msgid "Default Folder" msgstr "Dossier par défaut" #: src/component/session/remove/dialog.vue:56 #: src/component/user/remove/dialog.vue:56 src/component/album/clipboard.vue:97 -#: src/component/album/delete/dialog.vue:54 -#: src/component/file/delete/dialog.vue:58 src/component/label/clipboard.vue:58 -#: src/component/label/delete/dialog.vue:58 +#: src/component/album/delete/dialog.vue:54 src/component/album/toolbar.vue:137 +#: src/component/file/delete/dialog.vue:59 src/component/label/clipboard.vue:58 +#: src/component/label/delete/dialog.vue:59 #: src/component/photo/clipboard.vue:168 src/component/photo/edit/files.vue:238 -#: src/component/service/remove.vue:60 src/component/share/dialog.vue:170 +#: src/component/service/remove.vue:61 src/component/share/dialog.vue:170 #: src/page/settings/general.vue:457 msgid "Delete" msgstr "Supprimer" +#: src/component/album/toolbar.vue:133 +msgid "Delete Album" +msgstr "Supprimer l'album" + #: src/component/photo/toolbar.vue:119 src/page/library/errors.vue:95 msgid "Delete All" msgstr "Tout supprimer" -#: src/component/photo/toolbar.vue:433 src/page/library/errors.vue:193 +#: src/component/photo/toolbar.vue:435 src/page/library/errors.vue:193 msgid "Delete all?" msgstr "Tout supprimer ?" @@ -914,16 +940,16 @@ msgstr "Tout supprimer ?" msgid "Delete orphaned index entries, sidecar files and thumbnails." msgstr "Supprimer les entrées d'index, les vignettes, et les fichiers side-car orphelins." -#: src/component/album/edit/dialog.vue:107 src/page/albums.vue:411 +#: src/component/album/edit/dialog.vue:108 src/page/albums.vue:411 msgid "Description" msgstr "Description" -#: src/component/settings/webdav.vue:115 +#: src/component/settings/webdav.vue:116 msgid "Detailed instructions can be found in our User Guide." msgstr "Vous trouverez des instructions détaillées dans notre guide de l’utilisateur." -#: src/component/photo/edit/dialog.vue:156 -#: src/component/photo/edit/dialog.vue:173 +#: src/component/photo/edit/dialog.vue:162 +#: src/component/photo/edit/dialog.vue:181 msgid "Details" msgstr "Détails" @@ -987,8 +1013,8 @@ msgstr "Désactive la prise en charge des images vectorielles." msgid "Disables video transcoding and thumbnail extraction." msgstr "Désactive le transcodage vidéo et l'extraction des vignettes." -#: src/app/routes.js:558 src/app/routes.js:565 src/app/routes.js:572 -#: src/app/routes.js:579 +#: src/app/routes.js:566 src/app/routes.js:573 src/app/routes.js:580 +#: src/app/routes.js:587 msgid "Discover" msgstr "Découvrir" @@ -996,9 +1022,9 @@ msgstr "Découvrir" msgid "Dismiss" msgstr "Rejeter" -#: src/component/user/add/dialog.vue:133 src/component/user/add/dialog.vue:134 -#: src/component/user/edit/dialog.vue:163 -#: src/component/user/edit/dialog.vue:164 src/page/admin/users.vue:72 +#: src/component/user/add/dialog.vue:134 src/component/user/add/dialog.vue:135 +#: src/component/user/edit/dialog.vue:164 +#: src/component/user/edit/dialog.vue:165 src/page/admin/users.vue:74 #: src/page/settings/account.vue:149 src/page/settings/account.vue:151 msgid "Display Name" msgstr "Nom affiché" @@ -1013,12 +1039,12 @@ msgstr "Afficher les titres des images dans les résultats de recherche." #: src/component/photo/view/cards.vue:339 #: src/component/photo/view/cards.vue:521 -#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:174 +#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:176 #: src/options/options.js:309 msgid "Document" msgstr "Document" -#: src/component/navigation.vue:480 +#: src/component/navigation.vue:482 msgid "Documents" msgstr "Documents" @@ -1034,16 +1060,16 @@ msgstr "Ne pas utiliser ImageMagick pour convertir les images." msgid "Don't use RawTherapee to convert RAW images." msgstr "Ne pas utiliser RawTherapee pour convertir les fichiers RAW." -#: src/component/settings/apps.vue:238 src/component/share/dialog.vue:29 +#: src/component/settings/apps.vue:241 src/component/share/dialog.vue:29 msgid "Done" msgstr "Terminé" -#: src/component/upload/dialog.vue:135 src/page/library/import.vue:46 +#: src/component/upload/dialog.vue:137 src/page/library/import.vue:46 #: src/page/library/index.vue:52 msgid "Done." msgstr "Terminé." -#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:118 +#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:123 #: src/component/file/clipboard.vue:48 src/component/lightbox.vue:1235 #: src/component/people/clipboard.vue:47 src/component/photo/clipboard.vue:116 #: src/component/photo/edit/files.vue:168 src/page/settings/content.vue:331 @@ -1055,7 +1081,7 @@ msgstr "Télécharger" msgid "Download only original media files, without any automatically generated files." msgstr "Télécharger uniquement les fichiers multimédias originaux, sans fichiers générés automatiquement." -#: src/component/service/edit.vue:237 +#: src/component/service/edit.vue:238 msgid "Download remote files" msgstr "Télécharger les fichiers distants" @@ -1063,9 +1089,9 @@ msgstr "Télécharger les fichiers distants" msgid "Download single files and zip archives." msgstr "Téléchargement de fichiers et d'archives zip." -#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:157 +#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:172 #: src/component/file/clipboard.vue:61 src/component/label/clipboard.vue:86 -#: src/component/lightbox.vue:2021 src/component/people/clipboard.vue:59 +#: src/component/lightbox.vue:2041 src/component/people/clipboard.vue:59 #: src/component/photo/clipboard.vue:220 src/component/photo/edit/files.vue:119 #: src/component/photo/view/cards.vue:169 src/component/photo/view/list.vue:142 #: src/page/library/browse.vue:139 @@ -1080,7 +1106,7 @@ msgstr "Filtre de qualité" msgid "Drag and drop files here" msgstr "Glisser et déposer les fichiers ici" -#: src/page/about/feedback.vue:61 +#: src/page/about/feedback.vue:62 msgid "Due to the high volume of emails we receive, our team may be unable to get back to you immediately." msgstr "En raison du volume élevé d'e-mails que nous recevons, notre équipe peut être dans l'incapacité de vous répondre immédiatement." @@ -1100,23 +1126,23 @@ msgstr "Avant-premières non cachées" msgid "Dynamic Size Limit: %{n}px" msgstr "Limite de taille non cachée : %{n}px" -#: src/page/about/feedback.vue:141 src/page/about/feedback.vue:140 +#: src/page/about/feedback.vue:142 src/page/about/feedback.vue:141 msgid "E-Mail" msgstr "Courriel" -#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:89 +#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:94 #: src/component/lightbox.vue:1136 src/component/lightbox.vue:1137 #: src/component/photo/clipboard.vue:90 src/page/settings/general.vue:407 msgid "Edit" msgstr "Modifier" -#: src/component/album/edit/dialog.vue:54 -#: src/component/label/edit/dialog.vue:52 -#: src/component/people/edit/dialog.vue:52 +#: src/component/album/edit/dialog.vue:55 +#: src/component/label/edit/dialog.vue:53 +#: src/component/people/edit/dialog.vue:53 msgid "Edit %{s}" msgstr "Modifier %{s}" -#: src/component/user/edit/dialog.vue:61 src/component/service/edit.vue:79 +#: src/component/user/edit/dialog.vue:62 src/component/service/edit.vue:79 msgid "Edit Account" msgstr "Modifier le compte" @@ -1128,8 +1154,8 @@ msgstr "Modifier la photo" msgid "Edited" msgstr "Modifié" -#: src/component/user/add/dialog.vue:151 src/component/user/edit/dialog.vue:213 -#: src/page/settings/account.vue:171 src/page/settings/account.vue:593 +#: src/component/user/add/dialog.vue:152 src/component/user/edit/dialog.vue:214 +#: src/page/settings/account.vue:171 src/page/settings/account.vue:599 msgid "Email" msgstr "Email" @@ -1145,7 +1171,7 @@ msgstr "Activer les nouvelles fonctionnalités, potentiellement incomplètes ou msgid "Enables RAW converter presets. May reduce performance." msgstr "Active les préréglages du convertisseur RAW. Cela peut réduire les performances." -#: src/component/settings/passcode.vue:127 +#: src/component/settings/passcode.vue:130 msgid "Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account." msgstr "Avec l'authentification à deux facteurs, il faut un code de vérification généré de manière aléatoire pour se connecter, si bien que personne, même connaissant votre mot de passe, ne pourra se connecter à votre compte." @@ -1157,7 +1183,7 @@ msgstr "Saisir la date" msgid "Enter dates" msgstr "Saisir les dates" -#: src/component/settings/passcode.vue:213 src/page/auth/login.vue:104 +#: src/component/settings/passcode.vue:216 src/page/auth/login.vue:104 msgid "Enter the code generated by your authenticator app:" msgstr "Entrez le code généré par votre application d'authentification :" @@ -1165,7 +1191,7 @@ msgstr "Entrez le code généré par votre application d'authentification :" msgid "Enter verification code" msgstr "Entrer le code de vérification" -#: src/component/settings/apps.vue:109 +#: src/component/settings/apps.vue:112 msgid "Enter your password to confirm the action and continue:" msgstr "Saisissez votre mot de passe pour confirmer l'action et continuer :" @@ -1174,7 +1200,7 @@ msgstr "Saisissez votre mot de passe pour confirmer l'action et continuer :" msgid "Error" msgstr "Erreur" -#: src/app/routes.js:374 src/component/navigation.vue:1348 +#: src/app/routes.js:382 src/component/navigation.vue:1372 msgid "Errors" msgstr "Erreurs" @@ -1210,13 +1236,13 @@ msgstr "ExifTool est requis pour la prise en charge complète des métadonnées msgid "Experimental Features" msgstr "Fonctions Expérimentales" -#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:453 -#: src/component/service/edit.vue:157 src/component/settings/apps.vue:73 -#: src/component/settings/apps.vue:326 src/component/share/dialog.vue:62 +#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:458 +#: src/component/service/edit.vue:158 src/component/settings/apps.vue:73 +#: src/component/settings/apps.vue:329 src/component/share/dialog.vue:62 msgid "Expires" msgstr "Expire" -#: src/component/photo/edit/details.vue:396 +#: src/component/photo/edit/details.vue:370 msgid "Exposure" msgstr "Exposition" @@ -1224,7 +1250,7 @@ msgstr "Exposition" msgid "Extract still images and generate thumbnails while indexing." msgstr "Extrait les images fixes et génère des vignettes lors de l'indexation." -#: src/component/photo/edit/details.vue:444 +#: src/component/photo/edit/details.vue:418 msgid "F Number" msgstr "Ouverture" @@ -1240,7 +1266,7 @@ msgstr "Visages" msgid "Failed removing link" msgstr "Échec de la suppression du lien" -#: src/page/connect.vue:106 src/page/connect.vue:110 +#: src/page/connect.vue:107 src/page/connect.vue:111 msgid "Failed to connect account." msgstr "Échec de la connexion au compte." @@ -1248,8 +1274,8 @@ msgstr "Échec de la connexion au compte." msgid "Failed updating link" msgstr "Échec de la mise à jour du lien" -#: src/component/user/edit/dialog.vue:143 -#: src/component/user/edit/dialog.vue:144 src/page/settings/account.vue:128 +#: src/component/user/edit/dialog.vue:144 +#: src/component/user/edit/dialog.vue:145 src/page/settings/account.vue:128 #: src/page/settings/account.vue:130 msgid "Family Name" msgstr "Nom de famille" @@ -1258,15 +1284,15 @@ msgstr "Nom de famille" msgid "Fast" msgstr "Rapide" -#: src/component/album/edit/dialog.vue:159 -#: src/component/label/edit/dialog.vue:85 -#: src/component/people/edit/dialog.vue:85 +#: src/component/album/edit/dialog.vue:160 +#: src/component/label/edit/dialog.vue:86 +#: src/component/people/edit/dialog.vue:86 #: src/component/photo/edit/info.vue:287 msgid "Favorite" msgstr "Favori" -#: src/app/routes.js:222 src/component/navigation.vue:893 -#: src/options/options.js:202 src/page/albums.vue:97 +#: src/app/routes.js:230 src/component/navigation.vue:903 +#: src/options/options.js:202 src/page/albums.vue:98 msgid "Favorites" msgstr "Favoris" @@ -1274,7 +1300,7 @@ msgstr "Favoris" msgid "Feature Request" msgstr "Demander une fonctionnalité" -#: src/component/navigation.vue:1456 +#: src/component/navigation.vue:1482 msgid "Feedback" msgstr "Retour d'information" @@ -1282,11 +1308,12 @@ msgstr "Retour d'information" msgid "Female" msgstr "Femme" -#: src/component/photo/edit/info.vue:214 src/model/file.js:290 +#: src/component/photo/edit/info.vue:57 src/component/photo/edit/info.vue:214 +#: src/model/file.js:290 msgid "File" msgstr "Fichier" -#: src/app/routes.js:343 +#: src/app/routes.js:351 msgid "File Browser" msgstr "Explorateur de fichiers" @@ -1309,8 +1336,8 @@ msgstr "Taille du fichier" msgid "Filename" msgstr "Nom du fichier" -#: src/component/navigation.vue:1930 src/component/photo/edit/dialog.vue:267 -#: src/component/photo/edit/dialog.vue:284 +#: src/component/navigation.vue:1973 src/component/photo/edit/dialog.vue:279 +#: src/component/photo/edit/dialog.vue:298 msgid "Files" msgstr "Fichiers" @@ -1322,26 +1349,26 @@ msgstr "Des fichiers ayant des noms séquentiels tels que 'IMG_1234 (2)' et 'IMG msgid "First page" msgstr "Première page" -#: src/component/photo/edit/details.vue:465 +#: src/component/photo/edit/details.vue:439 msgid "Focal Length" msgstr "Longueur focale" -#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:118 -#: src/component/service/edit.vue:189 src/component/service/edit.vue:194 -#: src/component/service/upload.vue:90 src/component/service/upload.vue:96 +#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:119 +#: src/component/service/edit.vue:190 src/component/service/edit.vue:195 +#: src/component/service/upload.vue:91 src/component/service/upload.vue:97 #: src/model/folder.js:199 src/page/library/browse.vue:182 msgid "Folder" msgstr "Dossier" -#: src/page/library/browse.vue:365 +#: src/page/library/browse.vue:367 msgid "Folder contains %{n} files" msgstr "Dossier contenant %{n} fichiers" -#: src/page/library/browse.vue:356 +#: src/page/library/browse.vue:358 msgid "Folder is empty" msgstr "Le dossier est vide" -#: src/app/routes.js:202 src/component/navigation.vue:1225 +#: src/app/routes.js:210 src/component/navigation.vue:1247 #: src/options/options.js:207 msgid "Folders" msgstr "Dossiers" @@ -1358,7 +1385,7 @@ msgstr "FPS" msgid "Frames" msgstr "Cadres" -#: src/options/auth.js:54 src/options/auth.js:64 +#: src/options/auth.js:55 src/options/auth.js:65 msgid "Full Access" msgstr "Accès intégral" @@ -1370,7 +1397,7 @@ msgstr "Plein écran" msgid "General" msgstr "Général" -#: src/component/settings/apps.vue:364 +#: src/component/settings/apps.vue:367 msgid "Generate" msgstr "Générer" @@ -1390,8 +1417,8 @@ msgstr "Généré" msgid "Get Started" msgstr "Commencer" -#: src/component/user/edit/dialog.vue:120 -#: src/component/user/edit/dialog.vue:121 src/page/settings/account.vue:106 +#: src/component/user/edit/dialog.vue:121 +#: src/component/user/edit/dialog.vue:122 src/page/settings/account.vue:106 #: src/page/settings/account.vue:108 msgid "Given Name" msgstr "Prénom" @@ -1416,7 +1443,7 @@ msgstr "Vert" msgid "Grey" msgstr "Gris" -#: src/options/admin.js:22 src/options/auth.js:10 +#: src/options/admin.js:26 src/options/auth.js:11 msgid "Guest" msgstr "Invité" @@ -1432,15 +1459,15 @@ msgstr "Aide" msgid "Help & Support" msgstr "Aide & Support" -#: src/component/navigation.vue:1327 src/component/people/edit/dialog.vue:98 +#: src/component/navigation.vue:1351 src/component/people/edit/dialog.vue:99 msgid "Hidden" msgstr "Caché" -#: src/app/routes.js:358 +#: src/app/routes.js:366 msgid "Hidden Files" msgstr "Fichiers cachés" -#: src/page/people/new.vue:165 src/page/people/recognized.vue:205 +#: src/page/people/new.vue:166 src/page/people/recognized.vue:206 msgid "Hide" msgstr "Cacher" @@ -1456,7 +1483,7 @@ msgstr "Élevé" msgid "High Dynamic Range (HDR)" msgstr "Gamme dynamique élevée (HDR)" -#: src/page/about/feedback.vue:103 +#: src/page/about/feedback.vue:104 msgid "How can we help?" msgstr "Comment pouvons nous vous aider ?" @@ -1464,11 +1491,11 @@ msgstr "Comment pouvons nous vous aider ?" msgid "Hybrid" msgstr "Hybride" -#: src/component/settings/passcode.vue:389 +#: src/component/settings/passcode.vue:392 msgid "If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account." msgstr "En cas de perte d'accès à votre application ou votre appareil d'authentification, vous pourrez utiliser votre code de récupération pour accéder à nouveau à votre compte." -#: src/component/photo/edit/info.vue:63 src/component/photo/edit/labels.vue:46 +#: src/component/photo/edit/info.vue:65 src/component/photo/edit/labels.vue:46 #: src/component/photo/view/cards.vue:532 src/model/file.js:218 #: src/options/options.js:281 msgid "Image" @@ -1478,7 +1505,7 @@ msgstr "Image" msgid "Image Quality" msgstr "Qualité de l'image" -#: src/page/library.vue:46 src/page/library/import.vue:152 +#: src/page/library.vue:46 src/page/library/import.vue:153 #: src/page/settings/general.vue:357 msgid "Import" msgstr "Importer" @@ -1503,8 +1530,8 @@ msgstr "Importation de %{s} en cours…" msgid "Importing files to originals…" msgstr "Importation des fichiers vers le dossier des originaux…" -#: src/component/photo/edit/files.vue:515 -#: src/component/photo/edit/files.vue:520 +#: src/component/photo/edit/files.vue:517 +#: src/component/photo/edit/files.vue:522 msgid "in" msgstr "en" @@ -1522,11 +1549,11 @@ msgstr "Inclure les fichiers d'images RAW lors du téléchargement de piles et d msgid "Include sidecar files when downloading stacks and archives." msgstr "Inclure les fichiers side-car lors du téléchargement de piles et d'archives." -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Increase storage size or delete files to continue." msgstr "Augmentez l'espace de stockage ou supprimez des fichiers pour continuer." -#: src/component/navigation.vue:1946 src/page/library.vue:36 +#: src/component/navigation.vue:1990 src/page/library.vue:36 #: src/page/settings/content.vue:34 msgid "Index" msgstr "Index" @@ -1556,11 +1583,11 @@ msgstr "Informations" msgid "Instance ID" msgstr "ID de l'instance" -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Insufficient storage." msgstr "Espace de stockage insuffisant." -#: src/component/service/edit.vue:209 +#: src/component/service/edit.vue:210 msgid "Interval" msgstr "Intervalle" @@ -1581,7 +1608,7 @@ msgstr "Adresse incorrecte" msgid "Invalid country" msgstr "Pays non valide" -#: src/component/photo/edit/details.vue:174 +#: src/component/photo/edit/details.vue:169 msgid "Invalid date" msgstr "Date incorrecte" @@ -1590,7 +1617,7 @@ msgstr "Date incorrecte" msgid "Invalid parameters" msgstr "Paramètres invalides" -#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:197 +#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:199 msgid "Invalid photo selected" msgstr "Photo non valide sélectionnée" @@ -1602,8 +1629,8 @@ msgstr "Heure incorrecte" msgid "Invalid URL" msgstr "URL incorrecte" -#: src/component/settings/passcode.vue:314 -#: src/component/settings/passcode.vue:391 +#: src/component/settings/passcode.vue:317 +#: src/component/settings/passcode.vue:394 msgid "It is a one-time use code that will disable 2FA for your account when you use it." msgstr "Il s'agit d'un code à usage unique qui désactivera l'authentification à deux facteurs (2FA) lors de l'usage de votre compte." @@ -1627,7 +1654,7 @@ msgstr "Limite de taille des JPEGs : %{n}px" msgid "JPEGs and thumbnails are automatically rendered as needed." msgstr "Les JPEGs et miniatures sont automatiquement affichés selon les besoins." -#: src/component/photo/edit/details.vue:581 +#: src/component/photo/edit/details.vue:555 msgid "Keywords" msgstr "Mots-clés" @@ -1636,9 +1663,9 @@ msgstr "Mots-clés" msgid "Label" msgstr "Etiquette" -#: src/app/routes.js:389 src/component/navigation.vue:1177 -#: src/component/photo/edit/dialog.vue:188 -#: src/component/photo/edit/dialog.vue:205 src/options/options.js:206 +#: src/app/routes.js:397 src/component/navigation.vue:1197 +#: src/component/photo/edit/dialog.vue:196 +#: src/component/photo/edit/dialog.vue:215 src/options/options.js:206 #: src/page/settings/general.vue:255 msgid "Labels" msgstr "Étiquettes" @@ -1655,11 +1682,11 @@ msgstr "Lanczos : Préservation des détails, artefacts minimaux" msgid "Language" msgstr "Langue" -#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:435 +#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:440 msgid "Last Active" msgstr "Dernière activité" -#: src/page/admin/users.vue:81 +#: src/page/admin/users.vue:83 msgid "Last Login" msgstr "Dernière connexion" @@ -1675,42 +1702,41 @@ msgstr "Dernière synchro" msgid "Last Used" msgstr "Dernière utilisation" -#: src/component/photo/edit/details.vue:298 #: src/component/photo/edit/info.vue:373 msgid "Latitude" msgstr "Latitude" -#: src/options/admin.js:43 src/options/auth.js:29 +#: src/options/admin.js:47 src/options/auth.js:30 msgid "LDAP/AD" msgstr "LDAP/AD" -#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:86 -#: src/page/about/about.vue:62 src/page/about/about.vue:132 +#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:87 +#: src/page/about/about.vue:62 src/page/about/about.vue:133 #: src/page/connect.vue:67 src/page/help.vue:36 msgid "Learn more" msgstr "En savoir plus" -#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:135 +#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:137 #: src/page/labels.vue:132 msgid "Learn More" msgstr "En savoir plus" -#: src/component/navigation.vue:2017 +#: src/component/navigation.vue:2066 msgid "Legal Information" msgstr "Informations légales" -#: src/component/photo/edit/details.vue:417 +#: src/component/photo/edit/details.vue:391 #: src/component/photo/view/cards.vue:480 msgid "Lens" msgstr "Objectif" -#: src/app/routes.js:443 src/app/routes.js:459 src/app/routes.js:475 -#: src/component/navigation.vue:1267 src/page/settings/general.vue:507 +#: src/app/routes.js:451 src/app/routes.js:467 src/app/routes.js:483 +#: src/component/navigation.vue:1290 src/page/settings/general.vue:507 msgid "Library" msgstr "Bibliothèque" #: src/page/connect.vue:45 src/app/routes.js:69 -#: src/component/navigation.vue:1478 src/component/photo/edit/details.vue:559 +#: src/component/navigation.vue:1504 src/component/photo/edit/details.vue:533 #: src/page/about/license.vue:28 msgid "License" msgstr "Licence" @@ -1723,7 +1749,7 @@ msgstr "Préféré" msgid "Lime" msgstr "Citron" -#: src/page/library/browse.vue:369 +#: src/page/library/browse.vue:371 msgid "Limit reached, showing first %{n} files" msgstr "Limite atteinte, affichage des %{n} premiers fichiers" @@ -1731,7 +1757,7 @@ msgstr "Limite atteinte, affichage des %{n} premiers fichiers" msgid "Linear: Very Smooth, Best Performance" msgstr "Linéaire : Très lisse, meilleure performance" -#: src/model/link.js:117 src/options/auth.js:30 src/options/auth.js:31 +#: src/model/link.js:117 src/options/auth.js:31 src/options/auth.js:32 msgid "Link" msgstr "Lien" @@ -1749,7 +1775,7 @@ msgstr "Vue en liste" msgid "Live" msgstr "Live" -#: src/app/routes.js:236 src/component/navigation.vue:749 +#: src/app/routes.js:244 src/component/navigation.vue:755 msgid "Live Photos" msgstr "Photos en direct" @@ -1765,21 +1791,24 @@ msgstr "Chargement des articles…" msgid "Loading..." msgstr "Chargement…" -#: src/options/admin.js:35 src/options/auth.js:22 src/options/auth.js:27 +#: src/options/admin.js:39 src/options/auth.js:23 src/options/auth.js:28 #: src/options/options.js:38 src/page/settings/general.vue:107 msgid "Local" msgstr "Locale" -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Local Time" msgstr "Heure locale" -#: src/page/settings/account.vue:665 src/page/settings/account.vue:667 -#: src/component/album/edit/dialog.vue:92 src/component/photo/edit/info.vue:65 -#: src/component/photo/edit/labels.vue:48 +#: src/page/settings/account.vue:671 src/page/settings/account.vue:673 +#: src/component/album/edit/dialog.vue:93 +#: src/component/photo/edit/details.vue:38 +#: src/component/photo/edit/details.vue:116 +#: src/component/photo/edit/details.vue:210 +#: src/component/photo/edit/info.vue:67 src/component/photo/edit/labels.vue:48 #: src/component/photo/view/cards.vue:555 src/component/photo/view/list.vue:117 -#: src/component/sidebar/info.vue:107 src/page/albums.vue:99 -#: src/page/settings/account.vue:557 src/page/settings/account.vue:559 +#: src/component/sidebar/info.vue:107 src/page/albums.vue:100 +#: src/page/settings/account.vue:563 src/page/settings/account.vue:565 msgid "Location" msgstr "Emplacement" @@ -1787,20 +1816,19 @@ msgstr "Emplacement" msgid "Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues." msgstr "Les messages des journaux s'affichent ici si PhotoPrism rencontre un fichier corrompu ou s'il y a un autre problème potentiel." -#: src/component/navigation.vue:1552 src/component/navigation.vue:1840 +#: src/component/navigation.vue:1579 src/component/navigation.vue:1877 msgid "Login" msgstr "Connexion" -#: src/component/navigation.vue:1759 +#: src/component/navigation.vue:1791 msgid "Logout" msgstr "Déconnexion" -#: src/component/navigation.vue:1962 src/page/library.vue:59 +#: src/component/navigation.vue:2007 src/page/library.vue:59 #: src/page/settings/general.vue:557 msgid "Logs" msgstr "Journaux" -#: src/component/photo/edit/details.vue:324 #: src/component/photo/edit/info.vue:379 msgid "Longitude" msgstr "Longitude" @@ -1813,7 +1841,7 @@ msgstr "Basse" msgid "Magenta" msgstr "Magenta" -#: src/component/photo/edit/files.vue:489 +#: src/component/photo/edit/files.vue:491 msgid "Main Color" msgstr "Couleur principale" @@ -1821,12 +1849,16 @@ msgstr "Couleur principale" msgid "Male" msgstr "Homme" -#: src/page/connect.vue:164 src/page/connect.vue:246 -#: src/page/about/about.vue:171 src/page/connect.vue:168 -#: src/page/connect.vue:255 +#: src/page/connect.vue:165 src/page/connect.vue:248 +#: src/page/about/about.vue:173 src/page/connect.vue:169 +#: src/page/connect.vue:257 msgid "Manage Account" msgstr "Gérer le compte" +#: src/options/admin.js:10 src/options/auth.js:7 +msgid "Manager" +msgstr "Gestionnaire" + #: src/component/photo/edit/info.vue:49 src/component/photo/edit/labels.vue:38 msgid "Manual" msgstr "Manuel" @@ -1843,11 +1875,11 @@ msgstr "Cartes" msgid "Marker" msgstr "Marqueur" -#: src/component/user/add/dialog.vue:69 +#: src/component/user/add/dialog.vue:70 msgid "Maximum number of accounts has been reached." msgstr "Le nombre maximum de comptes a été atteint." -#: src/app/routes.js:229 src/component/navigation.vue:688 +#: src/app/routes.js:237 src/component/navigation.vue:693 #: src/options/options.js:199 msgid "Media" msgstr "Les médias" @@ -1864,7 +1896,7 @@ msgstr "Adhésion" msgid "Merge %{a} with %{b}?" msgstr "Fusionner %{a} avec %{b} ?" -#: src/page/about/feedback.vue:102 +#: src/page/about/feedback.vue:103 msgid "Message" msgstr "Message" @@ -1876,7 +1908,7 @@ msgstr "Message envoyé" msgid "Metadata" msgstr "Métadonnées" -#: src/options/auth.js:56 src/options/auth.js:72 +#: src/options/auth.js:57 src/options/auth.js:73 msgid "Metrics" msgstr "Métriques" @@ -1884,7 +1916,7 @@ msgstr "Métriques" msgid "Minimize" msgstr "Minimiser" -#: src/component/photo/edit/files.vue:509 src/component/photo/edit/info.vue:367 +#: src/component/photo/edit/files.vue:511 src/component/photo/edit/info.vue:367 msgid "Missing" msgstr "Manquant" @@ -1892,17 +1924,17 @@ msgstr "Manquant" msgid "Missing or invalid configuration" msgstr "Configuration manquante ou incorrecte" -#: src/app/routes.js:163 src/component/navigation.vue:1129 +#: src/app/routes.js:171 src/component/navigation.vue:1147 #: src/options/options.js:205 src/page/settings/general.vue:230 msgid "Moments" msgstr "Moments" -#: src/component/navigation.vue:383 +#: src/component/navigation.vue:385 msgid "Monochrome" msgstr "Monochrome" -#: src/page/settings/account.vue:475 src/component/photo/edit/details.vue:137 -#: src/component/photo/toolbar.vue:342 +#: src/page/settings/account.vue:481 src/component/photo/edit/details.vue:139 +#: src/component/photo/toolbar.vue:344 msgid "Month" msgstr "Mois" @@ -1922,7 +1954,7 @@ msgstr "Le plus pertinent" msgid "Move Files" msgstr "Déplacer les fichiers" -#: src/component/settings/password.vue:107 +#: src/component/settings/password.vue:108 msgid "Must have at least %{n} characters." msgstr "Doit comporter au moins %{n} caractères." @@ -1930,20 +1962,20 @@ msgstr "Doit comporter au moins %{n} caractères." msgid "Mute" msgstr "Muet" -#: src/page/about/feedback.vue:121 src/page/about/feedback.vue:122 -#: src/component/album/edit/dialog.vue:77 -#: src/component/label/edit/dialog.vue:71 -#: src/component/people/edit/dialog.vue:71 -#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:57 +#: src/page/about/feedback.vue:122 src/page/about/feedback.vue:123 +#: src/component/album/edit/dialog.vue:78 +#: src/component/label/edit/dialog.vue:72 +#: src/component/people/edit/dialog.vue:72 +#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:59 #: src/component/photo/edit/info.vue:125 src/component/photo/edit/people.vue:36 -#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:310 -#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:286 -#: src/page/albums.vue:98 src/page/auth/login.vue:168 +#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:311 +#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:289 +#: src/page/albums.vue:99 src/page/auth/login.vue:168 #: src/page/people/new.vue:68 src/page/settings/services.vue:37 msgid "Name" msgstr "Nom" -#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:60 +#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:65 #: src/component/label/edit/dialog.vue:19 #: src/component/people/edit/dialog.vue:19 #: src/component/photo/edit/labels.vue:30 @@ -1953,7 +1985,7 @@ msgstr "Nom" msgid "Name too long" msgstr "Nom trop long" -#: src/page/admin/users.vue:204 src/options/options.js:361 +#: src/page/admin/users.vue:206 src/options/options.js:361 #: src/options/options.js:371 src/page/settings/services.vue:75 msgid "Never" msgstr "Jamais" @@ -1962,13 +1994,13 @@ msgstr "Jamais" msgid "New" msgstr "Nouvelles" -#: src/component/settings/password.vue:106 +#: src/component/settings/password.vue:107 msgid "New Password" msgstr "Nouveau mot de passe" #: src/component/album/edit/dialog.vue:24 src/component/photo/toolbar.vue:114 #: src/component/photo/toolbar.vue:126 src/component/photo/toolbar.vue:136 -#: src/page/albums.vue:100 +#: src/page/albums.vue:101 msgid "Newest First" msgstr "La plus récente d'abord" @@ -1984,15 +2016,15 @@ msgstr "Page suivante" msgid "Next visual" msgstr "Visuel suivant" -#: src/component/people/merge/dialog.vue:47 -#: src/component/photo/archive/dialog.vue:47 +#: src/component/people/merge/dialog.vue:48 +#: src/component/photo/archive/dialog.vue:48 #: src/component/photo/edit/info.vue:281 src/component/photo/edit/info.vue:297 #: src/component/photo/edit/info.vue:313 src/component/photo/edit/info.vue:329 #: src/component/photo/edit/info.vue:344 msgid "No" msgstr "Non" -#: src/page/albums.vue:607 src/page/albums.vue:282 +#: src/page/albums.vue:612 src/page/albums.vue:282 msgid "No albums found" msgstr "Aucun album trouvé" @@ -2000,7 +2032,7 @@ msgstr "Aucun album trouvé" msgid "No data available" msgstr "Pas de données disponibles" -#: src/page/labels.vue:523 src/page/labels.vue:155 +#: src/page/labels.vue:528 src/page/labels.vue:155 msgid "No labels found" msgstr "Aucune étiquette trouvée" @@ -2013,15 +2045,15 @@ msgid "No more" msgstr "Pas plus" #: src/component/photo/edit/people.vue:34 src/page/people/new.vue:346 -#: src/page/people/new.vue:443 src/page/people/new.vue:103 -#: src/page/people/recognized.vue:531 src/page/people/recognized.vue:146 +#: src/page/people/new.vue:446 src/page/people/new.vue:103 +#: src/page/people/recognized.vue:536 src/page/people/recognized.vue:146 msgid "No people found" msgstr "Aucune personne trouvée" #: src/component/lightbox.vue:365 src/component/photo/view/cards.vue:144 #: src/component/photo/view/list.vue:82 src/component/photo/view/mosaic.vue:68 -#: src/page/album/photos.vue:488 src/page/library/browse.vue:123 -#: src/page/photos.vue:626 src/page/places.vue:624 src/page/places.vue:730 +#: src/page/album/photos.vue:499 src/page/library/browse.vue:123 +#: src/page/photos.vue:636 src/page/places.vue:624 src/page/places.vue:730 msgid "No pictures found" msgstr "Aucune image trouvée" @@ -2030,7 +2062,11 @@ msgstr "Aucune image trouvée" msgid "No recently edited pictures" msgstr "Aucune image modifiée récemment" -#: src/component/navigation.vue:1655 +#: src/component/location/dialog.vue:166 +msgid "No results" +msgstr "Aucun résultat" + +#: src/component/navigation.vue:1686 msgid "No server connection" msgstr "Pas de connexion au serveur" @@ -2042,7 +2078,7 @@ msgstr "Aucun serveur configuré." msgid "No services configured." msgstr "Aucun service n'est configuré." -#: src/component/confirm/sponsor.vue:72 +#: src/component/confirm/sponsor.vue:73 msgid "No thanks" msgstr "Non merci" @@ -2052,17 +2088,17 @@ msgstr "Aucun avertissement ou erreur contenant ce mot-clé. Notez que la recher #: src/component/photo/view/cards.vue:154 src/component/photo/view/list.vue:59 #: src/component/photo/view/list.vue:92 src/component/photo/view/mosaic.vue:78 -#: src/component/upload/dialog.vue:208 +#: src/component/upload/dialog.vue:210 msgid "Non-photographic and low-quality images require a review before they appear in search results." msgstr "Les images non photographiques ou de mauvaise qualité doivent faire l'objet d'un examen avant d'apparaître dans les résultats de recherche." -#: src/options/admin.js:47 src/options/auth.js:32 src/options/options.js:212 +#: src/options/admin.js:51 src/options/auth.js:33 src/options/options.js:212 #: src/options/options.js:328 msgid "None" msgstr "Aucun" -#: src/common/util.js:853 src/component/lightbox.vue:633 -#: src/component/service/upload.vue:75 src/component/service/upload.vue:87 +#: src/component/lightbox.vue:633 src/component/service/upload.vue:75 +#: src/component/service/upload.vue:87 msgid "Not allowed" msgstr "Non autorisé" @@ -2074,8 +2110,7 @@ msgstr "Non trouvé" msgid "Not sorted." msgstr "Non trié." -#: src/common/util.js:858 src/component/lightbox.vue:627 -#: src/component/lightbox.vue:744 +#: src/component/lightbox.vue:627 src/component/lightbox.vue:744 msgid "Not supported" msgstr "Non pris en charge" @@ -2083,15 +2118,15 @@ msgstr "Non pris en charge" msgid "Note you may manually manage your originals folder and importing is optional." msgstr "Notez que vous pouvez gérer manuellement votre dossier d'originaux et que l'importation est facultative." -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "Note:" msgstr "Remarque :" -#: src/component/service/add.vue:120 +#: src/component/service/add.vue:121 msgid "Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload." msgstr "Note : Seuls les serveurs WebDAV, comme Nextcloud ou PhotoPrism, peuvent être configurés comme service à distance pour la sauvegarde et le chargement de fichiers." -#: src/component/photo/edit/details.vue:603 +#: src/component/photo/edit/details.vue:577 msgid "Notes" msgstr "Remarques" @@ -2099,8 +2134,8 @@ msgstr "Remarques" msgid "Nothing to see here yet." msgstr "Rien à voir ici pour le moment." -#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:115 -#: src/component/settings/apps.vue:390 +#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:125 +#: src/component/settings/apps.vue:393 msgid "Nothing was found." msgstr "Rien n'a été trouvé." @@ -2108,7 +2143,7 @@ msgstr "Rien n'a été trouvé." msgid "Offline" msgstr "Hors-ligne" -#: src/options/admin.js:39 src/options/auth.js:28 +#: src/options/admin.js:43 src/options/auth.js:29 msgid "OIDC" msgstr "OIDC" @@ -2118,11 +2153,11 @@ msgstr "OK" #: src/component/album/edit/dialog.vue:25 src/component/photo/toolbar.vue:115 #: src/component/photo/toolbar.vue:127 src/component/photo/toolbar.vue:137 -#: src/page/albums.vue:101 +#: src/page/albums.vue:102 msgid "Oldest First" msgstr "La plus ancienne d'abord" -#: src/component/settings/webdav.vue:77 +#: src/component/settings/webdav.vue:78 msgid "On Windows, enter the following resource in the connection dialog:" msgstr "Sous Windows, saisissez la ressource suivante dans la boîte de dialogue de connexion :" @@ -2134,11 +2169,11 @@ msgstr "La génération de vignettes à la demande peut entraîner une charge é msgid "Once a week" msgstr "Une fois par semaine" -#: src/page/albums.vue:609 +#: src/page/albums.vue:614 msgid "One album found" msgstr "Un album trouvé" -#: src/page/library/browse.vue:358 +#: src/page/library/browse.vue:360 msgid "One file found" msgstr "Un fichier trouvé" @@ -2146,24 +2181,24 @@ msgstr "Un fichier trouvé" msgid "One file uploaded" msgstr "Un fichier téléchargé" -#: src/page/library/browse.vue:360 +#: src/page/library/browse.vue:362 msgid "One folder found" msgstr "Un dossier trouvé" -#: src/page/labels.vue:525 +#: src/page/labels.vue:530 msgid "One label found" msgstr "Une étiquette trouvée" -#: src/page/people/new.vue:348 src/page/people/new.vue:445 -#: src/page/people/recognized.vue:533 +#: src/page/people/new.vue:348 src/page/people/new.vue:448 +#: src/page/people/recognized.vue:538 msgid "One person found" msgstr "Une personne trouvée" -#: src/page/album/photos.vue:490 src/page/photos.vue:628 +#: src/page/album/photos.vue:501 src/page/photos.vue:638 msgid "One picture found" msgstr "Une image trouvée" -#: src/component/settings/passcode.vue:478 +#: src/component/settings/passcode.vue:481 msgid "Only locally managed accounts can be set up for authentication with 2FA." msgstr "L'authentification à deux facteurs (2FA) ne peut être activée que pour les comptes gérés localement." @@ -2171,7 +2206,7 @@ msgstr "L'authentification à deux facteurs (2FA) ne peut être activée que pou msgid "Open" msgstr "Ouvrir" -#: src/component/service/add.vue:86 src/component/service/add.vue:107 +#: src/component/service/add.vue:87 src/component/service/add.vue:108 msgid "optional" msgstr "optionnel" @@ -2183,7 +2218,7 @@ msgstr "ou" msgid "Orange" msgstr "Orange" -#: src/page/settings/account.vue:571 src/page/settings/account.vue:573 +#: src/page/settings/account.vue:577 src/page/settings/account.vue:579 msgid "Organization" msgstr "Organisation" @@ -2199,7 +2234,7 @@ msgstr "Les noms des fichier originaux seront sauvegardés et indexés." msgid "Original Name" msgstr "Nom original" -#: src/component/navigation.vue:1304 src/model/file.js:196 +#: src/component/navigation.vue:1328 src/model/file.js:196 #: src/options/options.js:413 src/page/library/browse.vue:65 #: src/page/settings/content.vue:356 src/page/settings/general.vue:532 msgid "Originals" @@ -2210,7 +2245,7 @@ msgstr "Originaux" msgid "Other" msgstr "Autre" -#: src/page/about/about.vue:77 src/page/about/about.vue:83 +#: src/page/about/about.vue:78 src/page/about/about.vue:84 msgid "Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible." msgstr "Notre mission est de fournir la solution la plus conviviale et la plus respectueuse de la vie privée pour que vos photos soient organisées et accessibles." @@ -2222,7 +2257,7 @@ msgstr "Extérieur" msgid "Page {0}, Current page" msgstr "Page {0}, page en cours" -#: src/component/photo/edit/files.vue:352 src/model/photo.js:859 +#: src/component/photo/edit/files.vue:352 src/model/photo.js:896 msgid "Pages" msgstr "Pages" @@ -2234,15 +2269,15 @@ msgstr "Navigation par pagination" msgid "Panorama" msgstr "Panorama" -#: src/component/navigation.vue:402 +#: src/component/navigation.vue:404 msgid "Panoramas" msgstr "Panoramas" -#: src/component/user/add/dialog.vue:114 src/component/user/add/dialog.vue:115 -#: src/component/service/add.vue:106 src/component/service/edit.vue:352 -#: src/component/settings/apps.vue:121 src/component/settings/passcode.vue:106 -#: src/component/settings/passcode.vue:413 src/component/share/dialog.vue:27 -#: src/options/auth.js:91 src/page/auth/login.vue:196 +#: src/component/user/add/dialog.vue:115 src/component/user/add/dialog.vue:116 +#: src/component/service/add.vue:107 src/component/service/edit.vue:353 +#: src/component/settings/apps.vue:124 src/component/settings/passcode.vue:109 +#: src/component/settings/passcode.vue:416 src/component/share/dialog.vue:27 +#: src/options/auth.js:92 src/page/auth/login.vue:196 msgid "Password" msgstr "Mot de passe" @@ -2250,9 +2285,9 @@ msgstr "Mot de passe" msgid "Password changed" msgstr "Mot de passe modifié" -#: src/app/routes.js:404 src/app/routes.js:428 src/component/navigation.vue:845 -#: src/component/navigation.vue:1898 src/component/photo/edit/dialog.vue:228 -#: src/component/photo/edit/dialog.vue:245 src/options/options.js:201 +#: src/app/routes.js:412 src/app/routes.js:436 src/component/navigation.vue:853 +#: src/component/navigation.vue:1939 src/component/photo/edit/dialog.vue:238 +#: src/component/photo/edit/dialog.vue:257 src/options/options.js:201 #: src/page/settings/general.vue:180 msgid "People" msgstr "Personnes" @@ -2273,23 +2308,23 @@ msgstr "Supprimer définitivement les fichiers pour récupérer de la place de s msgid "Person" msgstr "Personne" -#: src/options/auth.js:42 +#: src/options/auth.js:43 msgid "Personal" msgstr "Personnel" -#: src/model/photo.js:1273 +#: src/model/photo.js:1310 msgid "Photo" msgstr "Photo" -#: src/page/about/about.vue:156 +#: src/page/about/about.vue:158 msgid "PhotoPrism is 100% self-funded and independent." msgstr "PhotoPrism est autofinancé à 100% et indépendant." -#: src/page/about/about.vue:92 +#: src/page/about/about.vue:93 msgid "PhotoPrism+ Membership" msgstr "Adhésion à PhotoPrism" -#: src/app/routes.js:156 +#: src/app/routes.js:164 msgid "Photos" msgstr "Photos" @@ -2310,27 +2345,27 @@ msgstr "Lieu" msgid "Place & Time" msgstr "Unité de lieu et de temps" -#: src/app/routes.js:303 src/app/routes.js:309 src/app/routes.js:315 -#: src/app/routes.js:330 src/component/navigation.vue:986 -#: src/component/navigation.vue:1914 src/options/options.js:203 +#: src/app/routes.js:311 src/app/routes.js:317 src/app/routes.js:323 +#: src/app/routes.js:338 src/component/navigation.vue:999 +#: src/component/navigation.vue:1956 src/options/options.js:203 #: src/page/places.vue:51 src/page/settings/general.vue:609 #: src/page/settings/general.vue:638 msgid "Places" msgstr "Lieux" -#: src/component/settings/password.vue:129 +#: src/component/settings/password.vue:130 msgid "Please confirm your new password." msgstr "Veuillez confirmer votre nouveau mot de passe." -#: src/component/settings/apps.vue:185 +#: src/component/settings/apps.vue:188 msgid "Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:" msgstr "Veuillez copier le mot de passe suivant, généré de manière aléatoire, et le conserver dans un endroit sûr, car vous ne pourrez plus le voir :" -#: src/component/upload/dialog.vue:203 +#: src/component/upload/dialog.vue:205 msgid "Please do not upload any private, unlawful or offensive pictures." msgstr "Attention à ne pas envoyer de photos privées, illégales ou offensantes." -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Please don't upload photos containing offensive content." msgstr "Veuillez ne pas envoyer de photos choquantes." @@ -2338,11 +2373,11 @@ msgstr "Veuillez ne pas envoyer de photos choquantes." msgid "Please enter OTP character {0}" msgstr "Saisir le caractère OTP {0}" -#: src/component/settings/password.vue:66 +#: src/component/settings/password.vue:67 msgid "Please note that changing your password will log you out on other devices and browsers." msgstr "Veuillez noter que la modification de votre mot de passe vous déconnectera sur d'autres appareils et navigateurs." -#: src/page/connect.vue:148 src/page/connect.vue:152 +#: src/page/connect.vue:149 src/page/connect.vue:153 msgid "Please restart your instance for the changes to take effect." msgstr "Veuillez redémarrer votre instance pour que les changements prennent effet." @@ -2362,11 +2397,11 @@ msgstr "Limite de taille PNG : %{n}px" msgid "Portrait" msgstr "Portrait" -#: src/component/service/edit.vue:273 +#: src/component/service/edit.vue:274 msgid "Preserve filenames" msgstr "Conserver les noms de fichiers" -#: src/component/upload/dialog.vue:162 +#: src/component/upload/dialog.vue:164 msgid "Press enter to create a new album." msgstr "Appuyer sur la touche entrée pour créer un nouvel album." @@ -2403,8 +2438,8 @@ msgstr "Visuel précédent" msgid "Primary" msgstr "Primaire" -#: src/app/routes.js:271 src/component/album/edit/dialog.vue:176 -#: src/component/navigation.vue:531 src/component/photo/edit/info.vue:303 +#: src/app/routes.js:279 src/component/album/edit/dialog.vue:177 +#: src/component/navigation.vue:533 src/component/photo/edit/info.vue:303 #: src/page/settings/general.vue:280 msgid "Private" msgstr "Privée" @@ -2429,7 +2464,7 @@ msgstr "Filtre de qualité" msgid "Quality Score" msgstr "Score de qualité" -#: src/page/admin/users.vue:169 +#: src/page/admin/users.vue:171 msgid "r" msgstr "r" @@ -2460,7 +2495,7 @@ msgstr "Accès en lecture seule" #: src/component/album/edit/dialog.vue:26 src/component/photo/toolbar.vue:116 #: src/component/photo/toolbar.vue:128 src/component/photo/toolbar.vue:138 -#: src/page/albums.vue:102 +#: src/page/albums.vue:103 msgid "Recently Added" msgstr "Ajoutées récemment" @@ -2468,7 +2503,7 @@ msgstr "Ajoutées récemment" msgid "Recently Archived" msgstr "Archivées récemment" -#: src/component/photo/toolbar.vue:139 src/page/albums.vue:103 +#: src/component/photo/toolbar.vue:139 src/page/albums.vue:104 msgid "Recently Edited" msgstr "Modifiées récemment" @@ -2493,24 +2528,24 @@ msgstr "Code de récupération" msgid "Red" msgstr "Rouge" -#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:126 -#: src/component/album/toolbar.vue:79 src/component/photo/toolbar.vue:169 -#: src/page/albums.vue:173 src/page/labels.vue:112 +#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:128 +#: src/component/album/toolbar.vue:84 src/component/photo/toolbar.vue:169 +#: src/page/albums.vue:175 src/page/labels.vue:112 #: src/page/library/browse.vue:90 src/page/library/errors.vue:81 #: src/page/people/new.vue:54 src/page/people/recognized.vue:88 msgid "Refresh" msgstr "Rafraîchir" -#: src/app/routes.js:337 src/component/navigation.vue:943 -#: src/component/navigation.vue:1026 +#: src/app/routes.js:345 src/component/navigation.vue:955 +#: src/component/navigation.vue:1040 msgid "Regions" msgstr "Les régions" -#: src/page/connect.vue:275 src/page/connect.vue:284 +#: src/page/connect.vue:277 src/page/connect.vue:286 msgid "Register" msgstr "S'inscrire" -#: src/component/navigation.vue:1773 src/component/update.vue:68 +#: src/component/navigation.vue:1806 src/component/update.vue:68 msgid "Reload" msgstr "Recharger" @@ -2555,34 +2590,34 @@ msgstr "Impose un examen préalable des images non photographiques ou de faible msgid "Resolution" msgstr "Résolution" -#: src/page/connect.vue:179 src/page/connect.vue:183 +#: src/page/connect.vue:180 src/page/connect.vue:184 #: src/page/settings/advanced.vue:782 msgid "Restart" msgstr "Redémarrer" -#: src/component/user/edit/dialog.vue:485 src/component/lightbox.vue:1221 +#: src/component/user/edit/dialog.vue:488 src/component/lightbox.vue:1221 #: src/component/photo/clipboard.vue:77 msgid "Restore" msgstr "Restaurer" -#: src/component/lightbox.vue:2000 +#: src/component/lightbox.vue:2020 msgid "Restored" msgstr "Restauré" -#: src/component/service/edit.vue:428 +#: src/component/service/edit.vue:429 msgid "Retry Limit" msgstr "Limite de réessai" -#: src/component/settings/password.vue:128 +#: src/component/settings/password.vue:129 msgid "Retype Password" msgstr "Ressaisir le mot de passe" -#: src/app/routes.js:264 src/component/navigation.vue:505 +#: src/app/routes.js:272 src/component/navigation.vue:507 msgid "Review" msgstr "Examen" -#: src/component/user/add/dialog.vue:171 src/component/user/edit/dialog.vue:284 -#: src/page/admin/sessions.vue:262 src/page/admin/users.vue:73 +#: src/component/user/add/dialog.vue:172 src/component/user/edit/dialog.vue:285 +#: src/page/admin/sessions.vue:263 src/page/admin/users.vue:75 msgid "Role" msgstr "Rôle" @@ -2594,11 +2629,11 @@ msgstr "Lignes par page :" msgid "Satellite" msgstr "Satellite" -#: src/component/user/edit/dialog.vue:485 -#: src/component/album/edit/dialog.vue:211 -#: src/component/label/edit/dialog.vue:119 -#: src/component/people/edit/dialog.vue:132 src/component/service/edit.vue:466 -#: src/component/settings/password.vue:172 src/component/share/dialog.vue:181 +#: src/component/user/edit/dialog.vue:488 +#: src/component/album/edit/dialog.vue:212 +#: src/component/label/edit/dialog.vue:120 +#: src/component/people/edit/dialog.vue:133 src/component/service/edit.vue:467 +#: src/component/settings/password.vue:173 src/component/share/dialog.vue:181 msgid "Save" msgstr "Sauvegarder" @@ -2606,23 +2641,23 @@ msgstr "Sauvegarder" msgid "Scan" msgstr "Numérisée" -#: src/component/settings/passcode.vue:179 +#: src/component/settings/passcode.vue:182 msgid "Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:" msgstr "Scannez le code QR avec votre application d'authentification ou utilisez la clé d'installation indiquée ci-dessous, puis saisissez le code de vérification généré :" -#: src/component/navigation.vue:461 +#: src/component/navigation.vue:463 msgid "Scans" msgstr "Numérisées" -#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:377 -#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:310 +#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:381 +#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:313 msgid "Scope" msgstr "Portée" -#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:62 -#: src/component/navigation.vue:342 src/component/navigation.vue:1866 -#: src/component/photo/toolbar.vue:57 src/options/options.js:197 -#: src/page/albums.vue:100 src/page/labels.vue:77 +#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:69 +#: src/component/location/dialog.vue:133 src/component/navigation.vue:343 +#: src/component/navigation.vue:1905 src/component/photo/toolbar.vue:57 +#: src/options/options.js:197 src/page/albums.vue:100 src/page/labels.vue:77 #: src/page/library/errors.vue:76 src/page/people/recognized.vue:66 #: src/page/places.vue:79 src/page/settings/content.vue:235 msgid "Search" @@ -2660,11 +2695,11 @@ msgstr "Sélectionner la date" msgid "Select dates" msgstr "Sélectionner les dates" -#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:154 +#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:156 msgid "Select or create an album" msgstr "Sélectionner ou créer un album" -#: src/component/upload/dialog.vue:138 +#: src/component/upload/dialog.vue:140 msgid "Select the files to upload…" msgstr "Sélectionner les fichiers à charger…" @@ -2692,7 +2727,7 @@ msgstr "Sélection restaurée" msgid "Sequential Name" msgstr "Suite logique de noms" -#: src/component/service/add.vue:67 src/component/service/edit.vue:322 +#: src/component/service/add.vue:68 src/component/service/edit.vue:323 #: src/component/share/dialog.vue:25 msgid "Service URL" msgstr "URL du service" @@ -2701,7 +2736,7 @@ msgstr "URL du service" msgid "Services" msgstr "Services" -#: src/model/session.js:107 src/options/auth.js:41 src/options/auth.js:90 +#: src/model/session.js:107 src/options/auth.js:42 src/options/auth.js:91 msgid "Session" msgstr "Session" @@ -2709,30 +2744,30 @@ msgstr "Session" msgid "Session ID" msgstr "Identifiant de session" -#: src/page/admin.vue:45 +#: src/page/admin.vue:44 msgid "Sessions" msgstr "Sessions" #: src/component/lightbox.vue:1177 msgid "Set as Album Cover" -msgstr "Utiliser comme couverture de l'album" +msgstr "Utiliser cette photo comme couverture de l'album" -#: src/app/routes.js:101 src/app/routes.js:492 src/app/routes.js:504 -#: src/app/routes.js:521 src/app/routes.js:534 src/app/routes.js:547 -#: src/component/navigation.vue:1394 src/component/navigation.vue:1806 +#: src/app/routes.js:101 src/app/routes.js:500 src/app/routes.js:512 +#: src/app/routes.js:529 src/app/routes.js:542 src/app/routes.js:555 +#: src/component/navigation.vue:1419 src/component/navigation.vue:1841 msgid "Settings" msgstr "Paramètres" #: src/page/settings/account.vue:115 src/page/settings/account.vue:144 -#: src/component/settings/passcode.vue:147 +#: src/component/settings/passcode.vue:151 msgid "Settings saved" msgstr "Paramètres sauvegardés" -#: src/component/service/upload.vue:131 src/component/settings/passcode.vue:160 +#: src/component/service/upload.vue:132 src/component/settings/passcode.vue:163 msgid "Setup" msgstr "Configurer" -#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:98 +#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:103 #: src/component/photo/clipboard.vue:51 src/page/settings/general.vue:382 msgid "Share" msgstr "Partager" @@ -2749,7 +2784,7 @@ msgstr "Partagez vos photos avec d'autres applications et services." msgid "Show" msgstr "Afficher" -#: src/page/people/new.vue:116 src/page/people/new.vue:233 +#: src/page/people/new.vue:116 src/page/people/new.vue:235 msgid "Show all new faces" msgstr "Montrer tous les nouveaux visages" @@ -2794,7 +2829,7 @@ msgid "Similar" msgstr "Similaire" #: src/component/photo/edit/files.vue:51 src/component/photo/edit/files.vue:341 -#: src/component/service/edit.vue:139 src/component/sidebar/info.vue:96 +#: src/component/service/edit.vue:140 src/component/sidebar/info.vue:96 msgid "Size" msgstr "Taille" @@ -2822,7 +2857,7 @@ msgstr "Quelque chose s'est mal passé, réessayez" msgid "Sort by" msgstr "Trier par" -#: src/component/album/edit/dialog.vue:142 src/component/photo/toolbar.vue:288 +#: src/component/album/edit/dialog.vue:143 src/component/photo/toolbar.vue:290 #: src/page/albums.vue:214 msgid "Sort Order" msgstr "Ordre de tri" @@ -2857,7 +2892,7 @@ msgstr "Images prises exactement au même moment et au même endroit, en se fond msgid "Stackable" msgstr "Groupable" -#: src/component/navigation.vue:421 src/page/settings/content.vue:136 +#: src/component/navigation.vue:423 src/page/settings/content.vue:136 msgid "Stacks" msgstr "Groupes" @@ -2885,16 +2920,16 @@ msgstr "Stockage" msgid "Streets" msgstr "Rues" -#: src/component/photo/edit/details.vue:494 +#: src/component/photo/edit/details.vue:468 #: src/component/photo/edit/labels.vue:44 msgid "Subject" msgstr "Sujet" -#: src/page/about/feedback.vue:162 src/page/about/feedback.vue:163 +#: src/page/about/feedback.vue:163 src/page/about/feedback.vue:164 msgid "Submit" msgstr "Soumettre" -#: src/component/settings/passcode.vue:132 +#: src/component/settings/passcode.vue:136 msgid "Successfully activated" msgstr "Activation réussie" @@ -2903,23 +2938,23 @@ msgid "Successfully Connected" msgstr "Bien connecté" #: src/component/session/remove/dialog.vue:32 -#: src/component/settings/apps.vue:218 +#: src/component/settings/apps.vue:222 msgid "Successfully deleted" msgstr "Suppression réussie" -#: src/component/settings/passcode.vue:107 +#: src/component/settings/passcode.vue:108 msgid "Successfully verified" msgstr "Vérifié avec succès" -#: src/component/user/edit/dialog.vue:398 src/page/admin/users.vue:163 +#: src/component/user/edit/dialog.vue:399 src/page/admin/users.vue:165 msgid "Super Admin" msgstr "Super Admin" -#: src/component/service/add.vue:122 +#: src/component/service/add.vue:123 msgid "Support for additional services, like Google Drive, will be added over time." msgstr "La prise en charge de services supplémentaires tels que Google Drive sera ajoutée ultérieurement." -#: src/component/confirm/sponsor.vue:37 src/component/navigation.vue:1629 +#: src/component/confirm/sponsor.vue:38 src/component/navigation.vue:1660 msgid "Support Our Mission" msgstr "Soutenez notre mission" @@ -2927,7 +2962,7 @@ msgstr "Soutenez notre mission" msgid "Sync" msgstr "Synchronisation" -#: src/component/service/edit.vue:289 +#: src/component/service/edit.vue:290 msgid "Sync raw and video files" msgstr "Synchroniser les fichiers raw et les vidéos" @@ -2953,23 +2988,23 @@ msgstr "Terrain" msgid "Text" msgstr "Texte" -#: src/component/photo/edit/details.vue:32 src/page/people/new.vue:71 +#: src/component/photo/edit/details.vue:40 src/page/people/new.vue:71 msgid "Text too long" msgstr "Texte trop long" -#: src/page/about/about.vue:145 +#: src/page/about/about.vue:146 msgid "Thank You for Your Support!" msgstr "Merci pour votre soutien !" -#: src/page/about/about.vue:79 src/page/about/about.vue:85 +#: src/page/about/about.vue:80 src/page/about/about.vue:86 msgid "That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality." msgstr "C'est pourquoi PhotoPrism a été conçu dès le départ pour fonctionner partout où vous en avez besoin, sans compromettre la liberté, la confidentialité ou la fonctionnalité." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "The index currently contains %{n} hidden files." msgstr "L'index contient actuellement %{n} fichiers cachés." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates." msgstr "Leur format n'est peut-être pas pris en charge, ils n'ont pas encore été convertis en JPEG ou ce sont des doublons." @@ -2984,44 +3019,44 @@ msgstr "Thème" msgid "This field is required" msgstr "Ce champ est obligatoire" -#: src/component/settings/webdav.vue:100 src/page/settings/services.vue:144 +#: src/component/settings/webdav.vue:101 src/page/settings/services.vue:147 msgid "This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local." msgstr "Cela monte le dossier des originaux en tant que lecteur réseau et vous permet d'ouvrir, modifier et supprimer des fichiers de votre ordinateur ou smartphone comme s'ils étaient locaux." -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Time UTC" msgstr "Heure UTC" -#: src/component/photo/edit/details.vue:219 src/page/settings/general.vue:108 +#: src/component/photo/edit/details.vue:221 src/page/settings/general.vue:108 msgid "Time Zone" msgstr "Fuseau horaire" -#: src/component/service/edit.vue:408 +#: src/component/service/edit.vue:409 msgid "Timeout" msgstr "Délai" -#: src/component/user/edit/dialog.vue:98 src/component/user/edit/dialog.vue:99 +#: src/component/user/edit/dialog.vue:99 src/component/user/edit/dialog.vue:100 #: src/page/settings/account.vue:84 src/page/settings/account.vue:86 msgctxt "Account" msgid "Title" msgstr "Titre" -#: src/component/photo/edit/details.vue:73 +#: src/component/photo/edit/details.vue:75 msgctxt "Photo" msgid "Title" msgstr "Titre" -#: src/component/photo/edit/info.vue:59 src/component/photo/edit/info.vue:155 +#: src/component/photo/edit/info.vue:61 src/component/photo/edit/info.vue:155 #: src/component/photo/edit/labels.vue:40 src/component/photo/view/list.vue:114 #: src/component/sidebar/info.vue:57 msgid "Title" msgstr "Titre" -#: src/page/settings/account.vue:553 src/page/settings/account.vue:555 +#: src/page/settings/account.vue:559 src/page/settings/account.vue:561 msgid "Title / Position" msgstr "Titre / Poste" -#: src/page/albums.vue:83 +#: src/page/albums.vue:84 msgid "Title too long" msgstr "Titre trop long" @@ -3029,19 +3064,19 @@ msgstr "Titre trop long" msgid "to" msgstr "à" -#: src/component/settings/passcode.vue:312 +#: src/component/settings/passcode.vue:315 msgid "To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place." msgstr "Pour éviter le blocage de votre compte, téléchargez, imprimez ou copiez maintenant ce code de récupération, et conservez-le dans un endroit sûr." -#: src/component/settings/apps.vue:272 +#: src/component/settings/apps.vue:275 msgid "To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:" msgstr "Pour générer un nouveau mot de passe spécifique à l'application, veuillez saisir le nom et la portée de l'autorisation de l'application ainsi que sélectionner une date d'expiration :" -#: src/component/settings/passcode.vue:400 +#: src/component/settings/passcode.vue:403 msgid "To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:" msgstr "Pour changer d'application ou de dispositif d'authentification, commencez par désactiver l'authentification à deux facteurs, puis réactivez-la :" -#: src/page/connect.vue:221 src/page/connect.vue:230 +#: src/page/connect.vue:223 src/page/connect.vue:232 msgid "To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:" msgstr "Pour effectuer une mise à niveau, vous pouvez soit saisir un code d'activation, soit cliquer sur «S'inscrire» pour vous inscrire sur notre site web :" @@ -3049,7 +3084,7 @@ msgstr "Pour effectuer une mise à niveau, vous pouvez soit saisir un code d'act msgid "Today" msgstr "Aujourd'hui" -#: src/component/album/toolbar.vue:70 src/component/photo/toolbar.vue:78 +#: src/component/album/toolbar.vue:71 src/component/photo/toolbar.vue:78 msgid "Toggle View" msgstr "Basculer la vue" @@ -3076,20 +3111,24 @@ msgstr "Résolution des problèmes" msgid "Try again using other filters or keywords." msgstr "Réessayez en utilisant d'autres filtres ou mots-clés." -#: src/component/settings/passcode.vue:380 +#: src/component/settings/passcode.vue:383 msgid "Two-factor authentication has been enabled for your account." msgstr "L'authentification à deux facteurs de votre compte est désormais activée." #: src/component/photo/edit/files.vue:58 src/component/photo/edit/files.vue:330 -#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:388 +#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:389 msgid "Type" msgstr "Type" -#: src/options/auth.js:13 +#: src/component/album/toolbar.vue:178 +msgid "Unable to delete" +msgstr "Impossible de supprimer" + +#: src/options/auth.js:14 msgid "Unauthorized" msgstr "Non autorisé" -#: src/component/photo/edit/people.vue:94 +#: src/component/photo/edit/people.vue:95 msgid "Undo" msgstr "Annuler" @@ -3097,16 +3136,16 @@ msgstr "Annuler" msgid "Unique ID" msgstr "Identifiant unique" -#: src/page/settings/account.vue:451 src/page/settings/account.vue:476 -#: src/page/settings/account.vue:501 src/common/util.js:487 -#: src/component/photo/edit/details.vue:21 -#: src/component/photo/edit/details.vue:111 -#: src/component/photo/edit/details.vue:138 -#: src/component/photo/edit/details.vue:164 src/component/sidebar/info.vue:43 -#: src/model/album.js:193 src/model/photo.js:323 src/model/photo.js:784 -#: src/model/photo.js:809 src/model/photo.js:832 src/model/photo.js:850 -#: src/model/photo.js:897 src/model/photo.js:905 src/model/photo.js:994 -#: src/model/photo.js:1016 src/model/photo.js:1061 src/model/photo.js:1074 +#: src/page/settings/account.vue:457 src/page/settings/account.vue:482 +#: src/page/settings/account.vue:507 src/common/util.js:488 +#: src/component/photo/edit/details.vue:27 +#: src/component/photo/edit/details.vue:113 +#: src/component/photo/edit/details.vue:140 +#: src/component/photo/edit/details.vue:166 src/component/sidebar/info.vue:43 +#: src/model/album.js:193 src/model/photo.js:331 src/model/photo.js:821 +#: src/model/photo.js:846 src/model/photo.js:869 src/model/photo.js:887 +#: src/model/photo.js:934 src/model/photo.js:942 src/model/photo.js:1031 +#: src/model/photo.js:1053 src/model/photo.js:1098 src/model/photo.js:1111 #: src/model/user.js:157 src/options/options.js:51 src/options/options.js:69 #: src/options/options.js:86 src/options/options.js:100 #: src/options/options.js:112 src/page/library/errors.vue:251 @@ -3119,7 +3158,7 @@ msgstr "Inconnu" msgid "Unregistered" msgstr "Non enregistré" -#: src/app/routes.js:215 src/component/navigation.vue:644 +#: src/app/routes.js:223 src/component/navigation.vue:648 msgid "Unsorted" msgstr "Non trié" @@ -3127,7 +3166,7 @@ msgstr "Non trié" msgid "Unstack" msgstr "Dégrouper" -#: src/component/photo/edit/files.vue:519 src/component/photo/edit/info.vue:416 +#: src/component/photo/edit/files.vue:521 src/component/photo/edit/info.vue:416 msgid "Updated" msgstr "Mis à jour" @@ -3143,7 +3182,7 @@ msgstr "Mise à jour de l'index" msgid "Updating moments" msgstr "Mise à jour des moments" -#: src/component/user/edit/dialog.vue:154 +#: src/component/user/edit/dialog.vue:155 msgid "Updating picture…" msgstr "Mise à jour de l'image…" @@ -3155,21 +3194,21 @@ msgstr "Mise à jour des aperçus" msgid "Updating stacks" msgstr "Mise à jour des groupes" -#: src/page/connect.vue:57 src/component/navigation.vue:1500 -#: src/component/navigation.vue:1614 src/component/navigation.vue:1999 +#: src/page/connect.vue:57 src/component/navigation.vue:1526 +#: src/component/navigation.vue:1644 src/component/navigation.vue:2047 #: src/page/connect.vue:58 msgid "Upgrade" msgstr "Mise à niveau" -#: src/page/about/about.vue:123 src/page/connect.vue:202 -#: src/component/confirm/sponsor.vue:98 src/page/about/about.vue:113 -#: src/page/connect.vue:206 +#: src/page/about/about.vue:124 src/page/connect.vue:204 +#: src/component/confirm/sponsor.vue:99 src/page/about/about.vue:114 +#: src/page/connect.vue:208 msgid "Upgrade Now" msgstr "Mettre à niveau maintenant" -#: src/component/album/toolbar.vue:108 src/component/navigation.vue:1824 -#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:144 -#: src/component/upload/dialog.vue:51 src/page/albums.vue:183 +#: src/component/album/toolbar.vue:113 src/component/navigation.vue:1860 +#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:145 +#: src/component/upload/dialog.vue:51 src/page/albums.vue:185 #: src/page/labels.vue:122 src/page/library/import.vue:133 #: src/page/settings/general.vue:307 src/page/settings/services.vue:38 msgid "Upload" @@ -3179,21 +3218,21 @@ msgstr "Chargement" msgid "Upload complete" msgstr "Chargement terminé" -#: src/component/upload/dialog.vue:133 +#: src/component/upload/dialog.vue:135 msgid "Upload complete. Indexing…" msgstr "Chargement terminé. Indexation en cours…" #: src/component/upload/dialog.vue:296 src/component/upload/dialog.vue:315 -#: src/component/upload/dialog.vue:129 +#: src/component/upload/dialog.vue:131 msgid "Upload failed" msgstr "Échec du chargement" -#: src/component/service/edit.vue:257 +#: src/component/service/edit.vue:258 msgid "Upload local files" msgstr "Envoyer des fichiers locaux" -#: src/component/user/edit/dialog.vue:380 #: src/component/user/edit/dialog.vue:381 +#: src/component/user/edit/dialog.vue:382 msgid "Upload Path" msgstr "Chemin d'accès" @@ -3201,7 +3240,7 @@ msgstr "Chemin d'accès" msgid "Upload to WebDAV and share links with friends." msgstr "Envoyer via le protocole WebDAV et partager des liens avec des amis." -#: src/component/upload/dialog.vue:131 +#: src/component/upload/dialog.vue:133 msgid "Uploading %{n} of %{t}…" msgstr "Chargement de %{n} sur %{t}…" @@ -3214,7 +3253,7 @@ msgstr "Chargement des photos en cours…" msgid "Uploading…" msgstr "Téléchargement…" -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Uploads that may contain such images will be rejected automatically." msgstr "Les fichiers chargés qui contiendraient de telles images seront automatiquement rejetés." @@ -3222,7 +3261,7 @@ msgstr "Les fichiers chargés qui contiendraient de telles images seront automat msgid "Use Presets" msgstr "Utiliser les préréglages" -#: src/component/settings/passcode.vue:283 +#: src/component/settings/passcode.vue:286 msgid "Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:" msgstr "Utilisez le code de récupération suivant pour accéder à votre compte lorsque vous ne pouvez pas générer un code de vérification valide avec l'application d'identification :" @@ -3230,12 +3269,12 @@ msgstr "Utilisez le code de récupération suivant pour accéder à votre compte msgid "Use your recovery code or contact an administrator for help." msgstr "Utilisez votre code de récupération ou contactez un administrateur pour obtenir de l'aide." -#: src/options/admin.js:10 src/page/admin/sessions.vue:59 -#: src/page/admin/sessions.vue:242 src/model/user.js:361 src/options/auth.js:7 +#: src/options/admin.js:14 src/page/admin/sessions.vue:59 +#: src/page/admin/sessions.vue:243 src/model/user.js:361 src/options/auth.js:8 msgid "User" msgstr "Utilisateur" -#: src/component/navigation.vue:1979 +#: src/component/navigation.vue:2025 msgid "User Guide" msgstr "Guide de l'utilisateur" @@ -3243,14 +3282,14 @@ msgstr "Guide de l'utilisateur" msgid "User Interface" msgstr "Interface utilisateur" -#: src/component/user/add/dialog.vue:87 src/component/user/add/dialog.vue:88 -#: src/page/admin/sessions.vue:220 src/page/admin/users.vue:71 -#: src/component/service/add.vue:85 src/component/service/edit.vue:337 +#: src/component/user/add/dialog.vue:88 src/component/user/add/dialog.vue:89 +#: src/page/admin/sessions.vue:221 src/page/admin/users.vue:73 +#: src/component/service/add.vue:86 src/component/service/edit.vue:338 #: src/component/share/dialog.vue:26 msgid "Username" msgstr "Identifiant" -#: src/component/navigation.vue:1435 +#: src/component/navigation.vue:1461 msgid "Users" msgstr "Utilisateurs" @@ -3260,18 +3299,18 @@ msgstr "Utilisateurs" msgid "Vector" msgstr "Vectoriel" -#: src/component/navigation.vue:440 +#: src/component/navigation.vue:442 msgid "Vectors" msgstr "Vectoriels" -#: src/component/settings/passcode.vue:227 src/page/auth/login.vue:144 +#: src/component/settings/passcode.vue:230 src/page/auth/login.vue:144 msgid "Verification Code" msgstr "Code de vérification" #: src/component/photo/view/cards.vue:363 #: src/component/photo/view/cards.vue:491 src/component/photo/view/list.vue:190 #: src/component/photo/view/mosaic.vue:207 src/model/file.js:221 -#: src/model/photo.js:921 src/model/photo.js:939 src/options/options.js:293 +#: src/model/photo.js:958 src/model/photo.js:976 src/options/options.js:293 msgid "Video" msgstr "Vidéo" @@ -3280,12 +3319,12 @@ msgstr "Vidéo" msgid "Video Duration" msgstr "Durée de la vidéo" -#: src/app/routes.js:243 src/component/navigation.vue:728 +#: src/app/routes.js:251 src/component/navigation.vue:734 #: src/options/options.js:200 msgid "Videos" msgstr "Vidéos" -#: src/component/photo/toolbar.vue:261 src/component/photo/view/cards.vue:350 +#: src/component/photo/toolbar.vue:263 src/component/photo/view/cards.vue:350 #: src/component/photo/view/mosaic.vue:194 msgid "View" msgstr "Voir" @@ -3294,11 +3333,11 @@ msgstr "Voir" msgid "View search results as a list." msgstr "Afficher les résultats de la recherche sous forme de liste." -#: src/options/admin.js:14 src/options/auth.js:8 +#: src/options/admin.js:18 src/options/auth.js:9 msgid "Viewer" msgstr "Visionneuse" -#: src/page/admin/sessions.vue:271 src/options/auth.js:12 +#: src/page/admin/sessions.vue:272 src/options/auth.js:13 msgid "Visitor" msgstr "Visiteur" @@ -3310,34 +3349,34 @@ msgstr "Similitude visuelle" msgid "Warning" msgstr "Avertissement" -#: src/page/about/feedback.vue:60 +#: src/page/about/feedback.vue:61 msgid "We appreciate your feedback!" msgstr "Nous apprécions vos commentaires !" -#: src/page/about/feedback.vue:63 +#: src/page/about/feedback.vue:64 msgid "We do our best to respond within five business days or less." msgstr "Nous faisons de notre mieux pour répondre dans un délai de cinq jours ouvrables ou moins." -#: src/component/user/add/dialog.vue:235 src/component/user/edit/dialog.vue:415 -#: src/page/admin/users.vue:80 +#: src/component/user/add/dialog.vue:236 src/component/user/edit/dialog.vue:416 +#: src/page/admin/users.vue:82 msgid "Web Login" msgstr "Connexion Web" -#: src/component/user/add/dialog.vue:248 src/component/user/edit/dialog.vue:432 -#: src/page/admin/users.vue:82 src/options/auth.js:55 src/options/auth.js:68 +#: src/component/user/add/dialog.vue:249 src/component/user/edit/dialog.vue:433 +#: src/page/admin/users.vue:84 src/options/auth.js:56 src/options/auth.js:69 #: src/options/options.js:444 msgid "WebDAV" msgstr "WebDAV" -#: src/component/settings/webdav.vue:51 +#: src/component/settings/webdav.vue:52 msgid "WebDAV clients can connect to PhotoPrism using the following URL:" msgstr "Les clients WebDAV peuvent se connecter à PhotoPrism en utilisant l'URL suivante :" -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism." msgstr "Les clients WebDAV, comme par exemple l'explorateur Windows de Microsoft ou le Finder d'Apple, peuvent se connecter directement à PhotoPrism." -#: src/component/service/upload.vue:50 src/component/share/dialog.vue:220 +#: src/component/service/upload.vue:51 src/component/share/dialog.vue:220 msgid "WebDAV Upload" msgstr "Chargement via le protocole WebDAV" @@ -3345,8 +3384,8 @@ msgstr "Chargement via le protocole WebDAV" msgid "WebGL support is disabled in your browser" msgstr "La prise en charge de WebGL est désactivée dans votre navigateur" -#: src/page/settings/account.vue:615 src/page/settings/account.vue:709 -#: src/page/settings/account.vue:601 +#: src/page/settings/account.vue:621 src/page/settings/account.vue:715 +#: src/page/settings/account.vue:607 msgid "Website" msgstr "Site web" @@ -3354,12 +3393,12 @@ msgstr "Site web" msgid "White" msgstr "Blanc" -#: src/page/settings/account.vue:532 +#: src/page/settings/account.vue:538 msgid "Work Details" msgstr "Détails sur le poste" -#: src/page/settings/account.vue:500 src/component/photo/edit/details.vue:163 -#: src/component/photo/toolbar.vue:315 src/page/albums.vue:159 +#: src/page/settings/account.vue:506 src/component/photo/edit/details.vue:165 +#: src/component/photo/toolbar.vue:317 src/page/albums.vue:159 msgid "Year" msgstr "Année" @@ -3367,21 +3406,21 @@ msgstr "Année" msgid "Yellow" msgstr "Jaune" -#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:58 -#: src/component/photo/archive/dialog.vue:58 +#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:59 +#: src/component/photo/archive/dialog.vue:59 #: src/component/photo/clipboard.vue:200 src/component/photo/edit/files.vue:365 #: src/component/photo/edit/files.vue:395 #: src/component/photo/edit/files.vue:401 #: src/component/photo/edit/files.vue:407 -#: src/component/photo/edit/files.vue:510 src/component/photo/edit/info.vue:281 +#: src/component/photo/edit/files.vue:512 src/component/photo/edit/info.vue:281 #: src/component/photo/edit/info.vue:297 src/component/photo/edit/info.vue:313 #: src/component/photo/edit/info.vue:329 src/component/photo/edit/info.vue:344 -#: src/component/photo/toolbar.vue:434 +#: src/component/photo/toolbar.vue:436 msgid "Yes" msgstr "Oui" -#: src/component/confirm/sponsor.vue:59 src/page/about/about.vue:158 -#: src/page/connect.vue:315 +#: src/component/confirm/sponsor.vue:60 src/page/about/about.vue:160 +#: src/page/connect.vue:317 msgid "You are welcome to contact us at membership@photoprism.app for questions regarding your membership." msgstr "Vous pouvez nous contacter à l'adresse membership@photoprism.app pour toute question concernant votre adhésion." @@ -3393,7 +3432,11 @@ msgstr "Vous ne pouvez télécharger qu'un seul album" msgid "You can only download one label" msgstr "Vous ne pouvez télécharger qu'une seule étiquette" -#: src/component/upload/dialog.vue:203 +#: src/component/location/dialog.vue:178 +msgid "You can search for a location or move the marker on the map to change the position:" +msgstr "Vous pouvez rechercher un lieu ou déplacer le marqueur sur la carte pour changer de position :" + +#: src/component/upload/dialog.vue:205 msgid "You can upload up to %{n} files for test purposes." msgstr "Vous pouvez déposer jusqu'à %{n} fichiers à des fins de test." @@ -3406,7 +3449,7 @@ msgstr "Vous ne pouvez sélectionner qu'un seul élément" msgid "You may rescan your library to find additional faces." msgstr "Vous pouvez réanalyser votre bibliothèque pour trouver plus de visages." -#: src/page/connect.vue:146 src/page/connect.vue:150 +#: src/page/connect.vue:147 src/page/connect.vue:151 msgid "Your account has been successfully connected." msgstr "Votre compte a été connecté avec succès." @@ -3414,8 +3457,8 @@ msgstr "Votre compte a été connecté avec succès." msgid "Your browser does not support WebGL" msgstr "Votre navigateur ne prend pas en charge WebGL" -#: src/component/confirm/sponsor.vue:43 src/page/about/about.vue:97 -#: src/page/about/about.vue:156 src/page/connect.vue:220 +#: src/component/confirm/sponsor.vue:44 src/page/about/about.vue:98 +#: src/page/about/about.vue:158 src/page/connect.vue:222 msgid "Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy." msgstr "Votre soutien continu nous aide à fournir des mises à jour régulières et à rester indépendants, afin que nous puissions remplir notre mission et protéger votre vie privée." @@ -3496,9 +3539,6 @@ msgstr "Agrandir/Dézoomer" #~ msgid "Open Folder" #~ msgstr "Ouvrir le dossier" -#~ msgid "Cannot copy to clipboard" -#~ msgstr "Impossible de copier dans le presse-papiers" - #~ msgid "Sound" #~ msgstr "Son" @@ -4184,9 +4224,6 @@ msgstr "Agrandir/Dézoomer" #~ msgid "No photos found" #~ msgstr "Aucune photo trouvée" -#~ msgid "No results" -#~ msgstr "Aucun résultat" - #~ msgid "One entry found" #~ msgstr "Un élément trouvé" diff --git a/frontend/src/locales/ga.po b/frontend/src/locales/ga.po index ff011ff8c..24aba6189 100644 --- a/frontend/src/locales/ga.po +++ b/frontend/src/locales/ga.po @@ -2,13 +2,13 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: ci@photoprism.app\n" -"PO-Revision-Date: 2025-04-04 08:03+0000\n" +"PO-Revision-Date: 2025-07-06 08:59+0000\n" "Last-Translator: Google Cloud Translation Basic \n" "Language: ga\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : (n>2 && n<7) ? 2 :(n>6 && n<11) ? 3 : 4;\n" -"X-Generator: Weblate 5.10.4\n" +"X-Generator: Weblate 5.12.2\n" "Generated-By: easygettext\n" #: src/locales.js:268 @@ -39,7 +39,7 @@ msgstr "{0} roghnaithe" msgid "{0}-{1} of {2}" msgstr "{0}-{1} de {2}" -#: src/page/albums.vue:612 +#: src/page/albums.vue:617 msgid "%{n} albums found" msgstr "Aimsíodh %{n} albam" @@ -47,25 +47,25 @@ msgstr "Aimsíodh %{n} albam" msgid "%{n} files uploaded" msgstr "%{n} comhad uaslódála" -#: src/page/library/browse.vue:362 +#: src/page/library/browse.vue:364 msgid "%{n} folders found" msgstr "Aimsíodh %{n} fillteán" -#: src/component/navigation.vue:1676 +#: src/component/navigation.vue:1707 msgid "%{n} GB of %{q} GB used" msgstr "Úsáideadh %{n} GB as %{q} GB" -#: src/page/labels.vue:528 +#: src/page/labels.vue:533 msgid "%{n} labels found" msgstr "Aimsíodh %{n} lipéad" -#: src/page/people/new.vue:350 src/page/people/new.vue:447 -#: src/page/people/recognized.vue:536 +#: src/page/people/new.vue:350 src/page/people/new.vue:450 +#: src/page/people/recognized.vue:541 msgid "%{n} people found" msgstr "Aimsíodh %{n} duine" -#: src/page/album/photos.vue:308 src/page/album/photos.vue:493 -#: src/page/photos.vue:441 src/page/photos.vue:631 +#: src/page/album/photos.vue:313 src/page/album/photos.vue:504 +#: src/page/photos.vue:446 src/page/photos.vue:641 msgid "%{n} pictures found" msgstr "Aimsíodh %{n} pictiúr" @@ -85,12 +85,12 @@ msgstr "1 uair" msgid "12 hours" msgstr "12 uair an chloig" -#: src/component/user/edit/dialog.vue:452 src/page/settings/account.vue:324 -#: src/component/settings/passcode.vue:75 +#: src/component/user/edit/dialog.vue:453 src/page/settings/account.vue:325 +#: src/component/settings/passcode.vue:78 msgid "2-Factor Authentication" msgstr "Fíordheimhniú 2-Fachtóir" -#: src/component/user/edit/dialog.vue:451 src/options/auth.js:46 +#: src/component/user/edit/dialog.vue:452 src/options/auth.js:47 msgid "2FA" msgstr "2FA" @@ -106,20 +106,20 @@ msgstr "Déanfaidh cliceáil é a chóipeáil chuig do ghearrthaisce." msgid "A new version of %{s} is available:" msgstr "Tá leagan nua de %{s} ar fáil:" -#: src/component/user/edit/dialog.vue:233 -#: src/component/user/edit/dialog.vue:234 src/page/about/about.vue:56 +#: src/component/user/edit/dialog.vue:234 +#: src/component/user/edit/dialog.vue:235 src/page/about/about.vue:56 #: src/page/settings/account.vue:248 src/page/settings/account.vue:249 -#: src/app/routes.js:63 src/component/navigation.vue:1521 -#: src/page/people/recognized.vue:292 +#: src/app/routes.js:63 src/component/navigation.vue:1547 +#: src/page/people/recognized.vue:296 msgid "About" msgstr "Maidir" -#: src/options/auth.js:26 src/options/auth.js:44 +#: src/options/auth.js:27 src/options/auth.js:45 msgid "Access Token" msgstr "Comhartha Rochtana" -#: src/component/navigation.vue:87 src/component/navigation.vue:1788 -#: src/component/service/upload.vue:71 src/model/service.js:96 +#: src/component/navigation.vue:87 src/component/navigation.vue:1822 +#: src/component/service/upload.vue:72 src/model/service.js:96 #: src/model/user.js:171 src/page/settings.vue:85 #: src/page/settings/general.vue:582 msgid "Account" @@ -133,7 +133,7 @@ msgstr "Cuntas cruthaithe" msgid "Account deleted" msgstr "Scriosadh an cuntas" -#: src/page/admin/users.vue:335 +#: src/page/admin/users.vue:337 msgid "Account restored" msgstr "Cuntas athchóirithe" @@ -154,8 +154,8 @@ msgstr "Gníomh" msgid "Actions" msgstr "Gníomhartha" -#: src/page/connect.vue:294 src/component/settings/passcode.vue:346 -#: src/page/connect.vue:303 +#: src/page/connect.vue:296 src/component/settings/passcode.vue:349 +#: src/page/connect.vue:305 msgid "Activate" msgstr "Gníomhachtaigh" @@ -171,20 +171,20 @@ msgstr "Gníomhachtaigh chun dul suas a shórtáil." msgid "Activate to sort descending." msgstr "Gníomhachtaigh chun íslitheach a shórtáil." -#: src/page/connect.vue:231 src/page/connect.vue:240 +#: src/page/connect.vue:233 src/page/connect.vue:242 msgid "Activation Code" msgstr "Cód gníomhachtúcháin" -#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:83 -#: src/component/settings/apps.vue:448 +#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:92 +#: src/component/settings/apps.vue:451 msgid "Add" msgstr "Cuir" -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:246 msgid "Add %{s}?" msgstr "Cuir %{s} leis?" -#: src/component/user/add/dialog.vue:56 src/component/service/add.vue:49 +#: src/component/user/add/dialog.vue:57 src/component/service/add.vue:50 msgid "Add Account" msgstr "Cuir Cuntas leis" @@ -201,8 +201,8 @@ msgid "Add Link" msgstr "Cuir Nasc leis" #: src/component/photo/edit/people.vue:25 -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:57 -#: src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:57 +#: src/page/people/new.vue:246 msgid "Add person?" msgstr "Cuir duine leis?" @@ -218,10 +218,15 @@ msgstr "Cuir pictiúir ó thorthaí cuardaigh leis trína roghnú." msgid "Add to album" msgstr "Cuir leis an albam" -#: src/component/photo/edit/files.vue:514 +#: src/component/photo/edit/files.vue:516 msgid "Added" msgstr "Curtha leis" +#: src/component/location/dialog.vue:68 src/component/location/dialog.vue:90 +#: src/component/photo/edit/details.vue:246 +msgid "Adjust Location" +msgstr "Coigeartaigh an Suíomh" + #: src/options/admin.js:6 src/options/auth.js:6 msgid "Admin" msgstr "Riarachán" @@ -242,7 +247,7 @@ msgstr "Tar éis 3 lá" msgid "After 7 days" msgstr "Tar éis 7 lá" -#: src/component/settings/passcode.vue:93 +#: src/component/settings/passcode.vue:96 msgid "After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:" msgstr "Tar éis duit do phasfhocal a chur isteach lena dheimhniú, is féidir leat fíordheimhniú dhá fhachtóir a shocrú le haip nó gléas fíordheimhneora comhoiriúnach:" @@ -274,12 +279,16 @@ msgstr "Albam" msgid "Album Backups" msgstr "Cúltaca Albam" -#: src/page/albums.vue:674 +#: src/page/albums.vue:685 msgid "Album created" msgstr "Albam cruthaithe" -#: src/app/routes.js:176 src/component/album/toolbar.vue:51 -#: src/component/navigation.vue:604 src/component/navigation.vue:1882 +#: src/page/album/photos.vue:589 +msgid "Album deleted" +msgstr "Scriosadh an t-albam" + +#: src/app/routes.js:184 src/component/album/toolbar.vue:55 +#: src/component/navigation.vue:607 src/component/navigation.vue:1922 #: src/component/photo/edit/info.vue:220 src/options/options.js:198 msgid "Albums" msgstr "Albaim" @@ -292,7 +301,7 @@ msgstr "Albaim scriosta" msgid "All" msgstr "Gach" -#: src/page/albums.vue:465 +#: src/page/albums.vue:470 msgid "All %{n} albums loaded" msgstr "Gach %{n} albam luchtaithe" @@ -308,8 +317,8 @@ msgstr "Gach %{n} duine luchtaithe" msgid "All Cameras" msgstr "Gach ceamaraí" -#: src/component/photo/toolbar.vue:74 src/page/albums.vue:44 -#: src/page/albums.vue:240 src/page/albums.vue:746 +#: src/component/photo/toolbar.vue:74 src/page/albums.vue:45 +#: src/page/albums.vue:242 src/page/albums.vue:757 msgid "All Categories" msgstr "Gach Catagóir" @@ -341,7 +350,7 @@ msgstr "Gach Míonna" msgid "All originals" msgstr "Gach bunleagan" -#: src/component/photo/toolbar.vue:76 src/page/albums.vue:93 +#: src/component/photo/toolbar.vue:76 src/page/albums.vue:94 msgid "All Years" msgstr "Gach Bliain" @@ -353,7 +362,7 @@ msgstr "Nó, is féidir leat comhaid a uaslódáil go díreach chuig freastalait msgid "Altitude" msgstr "Airde" -#: src/component/photo/edit/details.vue:272 +#: src/component/photo/edit/details.vue:297 msgid "Altitude (m)" msgstr "airde (m)" @@ -361,8 +370,7 @@ msgstr "airde (m)" msgid "AM" msgstr "AM" -#: src/app/routes.js:257 src/component/navigation.vue:791 -#: src/component/photo/edit/files.vue:364 +#: src/app/routes.js:265 src/component/photo/edit/files.vue:364 #: src/component/photo/view/cards.vue:327 #: src/component/photo/view/cards.vue:511 src/component/photo/view/list.vue:184 #: src/component/photo/view/mosaic.vue:171 src/options/options.js:301 @@ -373,43 +381,47 @@ msgstr "Beoite" msgid "Animation" msgstr "Beochan" +#: src/component/navigation.vue:797 +msgid "Animations" +msgstr "Beochana" + #: src/component/share/dialog.vue:207 msgid "Any private photos and videos remain private and won't be shared." msgstr "Fanann aon ghrianghraif agus físeáin phríobháideacha príobháideach agus ní roinnfear iad." -#: src/component/service/edit.vue:372 +#: src/component/service/edit.vue:373 msgid "API Key" msgstr "Eochair API" -#: src/page/admin/sessions.vue:357 src/options/auth.js:25 +#: src/page/admin/sessions.vue:361 src/options/auth.js:26 msgid "Application" msgstr "Iarratas" -#: src/component/photo/edit/details.vue:641 +#: src/component/photo/edit/details.vue:615 msgid "Apply" msgstr "Cuir iarratas isteach" #: src/component/photo/clipboard.vue:64 -#: src/component/photo/edit/details.vue:640 +#: src/component/photo/edit/details.vue:614 #: src/component/photo/view/cards.vue:416 msgid "Approve" msgstr "Cheadaigh" -#: src/page/settings/account.vue:374 src/component/settings/apps.vue:91 +#: src/page/settings/account.vue:378 src/component/settings/apps.vue:94 msgid "Apps and Devices" msgstr "Aipeanna agus Gléasanna" -#: src/app/routes.js:287 src/component/lightbox.vue:1207 -#: src/component/navigation.vue:555 src/component/photo/clipboard.vue:142 +#: src/app/routes.js:295 src/component/lightbox.vue:1207 +#: src/component/navigation.vue:557 src/component/photo/clipboard.vue:142 #: src/component/photo/view/cards.vue:398 src/page/settings/general.vue:432 msgid "Archive" msgstr "Cartlann" -#: src/component/lightbox.vue:1982 src/component/photo/edit/info.vue:433 +#: src/component/lightbox.vue:2002 src/component/photo/edit/info.vue:433 msgid "Archived" msgstr "Cartlannaithe" -#: src/component/photo/archive/dialog.vue:34 +#: src/component/photo/archive/dialog.vue:35 msgid "Are you sure you want to archive the selection?" msgstr "An bhfuil tú cinnte gur mhaith leat an rogha a chur sa chartlann?" @@ -417,19 +429,23 @@ msgstr "An bhfuil tú cinnte gur mhaith leat an rogha a chur sa chartlann?" msgid "Are you sure you want to delete these albums?" msgstr "An bhfuil tú cinnte gur mhaith leat na halbaim seo a scriosadh?" -#: src/component/label/delete/dialog.vue:34 +#: src/component/label/delete/dialog.vue:35 msgid "Are you sure you want to delete these labels?" msgstr "An bhfuil tú cinnte gur mhaith leat na lipéid seo a scriosadh?" -#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:36 +#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:37 msgid "Are you sure you want to delete this account?" msgstr "An bhfuil tú cinnte gur mhaith leat an cuntas seo a scriosadh?" +#: src/component/album/toolbar.vue:136 +msgid "Are you sure you want to delete this album?" +msgstr "An bhfuil tú cinnte gur mian leat an t-albam seo a scriosadh?" + #: src/component/photo/clipboard.vue:199 msgid "Are you sure you want to permanently delete these pictures?" msgstr "An bhfuil tú cinnte gur mhaith leat na pictiúir seo a scriosadh go buan?" -#: src/component/file/delete/dialog.vue:34 +#: src/component/file/delete/dialog.vue:35 msgid "Are you sure you want to permanently delete this file?" msgstr "An bhfuil tú cinnte gur mian leat an comhad seo a scriosadh go buan?" @@ -438,7 +454,7 @@ msgstr "An bhfuil tú cinnte gur mian leat an comhad seo a scriosadh go buan?" msgid "Are you sure?" msgstr "An bhfuil tú cinnte?" -#: src/component/photo/edit/details.vue:537 +#: src/component/photo/edit/details.vue:511 msgid "Artist" msgstr "Ealaíontóir" @@ -446,14 +462,14 @@ msgstr "Ealaíontóir" msgid "Aspect Ratio" msgstr "Cóimheas Gné" -#: src/app/routes.js:250 src/component/navigation.vue:770 +#: src/app/routes.js:258 src/component/navigation.vue:776 #: src/options/options.js:297 msgid "Audio" msgstr "Fuaime" -#: src/component/user/add/dialog.vue:190 src/component/user/edit/dialog.vue:309 -#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:281 -#: src/page/admin/users.vue:75 +#: src/component/user/add/dialog.vue:191 src/component/user/edit/dialog.vue:310 +#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:282 +#: src/page/admin/users.vue:77 msgid "Authentication" msgstr "Fíordheimhniú" @@ -461,11 +477,11 @@ msgstr "Fíordheimhniú" msgid "Auto" msgstr "Auto" -#: src/component/settings/apps.vue:151 +#: src/component/settings/apps.vue:154 msgid "Back" msgstr "Ar ais" -#: src/component/scroll.vue:20 +#: src/component/scroll.vue:18 msgid "Back to top" msgstr "Ar ais go barr" @@ -477,26 +493,26 @@ msgstr "Cúltaca" msgid "Badge" msgstr "Suaitheantas" -#: src/component/user/edit/dialog.vue:361 #: src/component/user/edit/dialog.vue:362 +#: src/component/user/edit/dialog.vue:363 msgid "Base Path" msgstr "Conair Bhun" -#: src/page/about/about.vue:95 src/page/connect.vue:220 +#: src/page/about/about.vue:96 src/page/connect.vue:222 msgid "Become a member today, support our mission and enjoy our member benefits!" msgstr "Bí i do bhall inniu, tacaigh lenár misean agus bain taitneamh as ár mbuntáistí ball!" -#: src/component/confirm/sponsor.vue:51 src/page/about/about.vue:99 +#: src/component/confirm/sponsor.vue:52 src/page/about/about.vue:100 msgid "Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services." msgstr "Agus sinn 100% féinmhaoinithe agus neamhspleách, is féidir linn geallúint a thabhairt duit nach ndíolfaimid do shonraí choíche agus go mbeimid trédhearcach i gcónaí maidir lenár mbogearraí agus ár seirbhísí." -#: src/component/user/edit/dialog.vue:258 -#: src/component/user/edit/dialog.vue:259 src/page/settings/account.vue:227 +#: src/component/user/edit/dialog.vue:259 +#: src/component/user/edit/dialog.vue:260 src/page/settings/account.vue:227 #: src/page/settings/account.vue:228 msgid "Bio" msgstr "Bith" -#: src/page/settings/account.vue:431 +#: src/page/settings/account.vue:437 msgid "Birth Date" msgstr "Dáta Breithe" @@ -517,7 +533,7 @@ msgid "Brown" msgstr "Donn" #: src/component/photo/edit/files.vue:263 src/component/photo/toolbar.vue:141 -#: src/component/upload/dialog.vue:240 +#: src/component/upload/dialog.vue:242 msgid "Browse" msgstr "Brabhsáil" @@ -545,16 +561,16 @@ msgstr "Tuairisc ar Fhabht" msgid "Busy, please wait…" msgstr "Gnóthach, fan go fóill…" -#: src/page/connect.vue:317 +#: src/page/connect.vue:319 msgid "By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct." msgstr "Trí úsáid a bhaint as na bogearraí agus na seirbhísí a chuirimid ar fáil, aontaíonn tú lenár dtéarmaí seirbhíse, ár mbeartas príobháideachta, agus ár gcód iompair." -#: src/app/routes.js:189 src/component/navigation.vue:1081 +#: src/app/routes.js:197 src/component/navigation.vue:1097 #: src/options/options.js:204 src/page/settings/general.vue:205 msgid "Calendar" msgstr "Féilire" -#: src/component/photo/edit/details.vue:346 src/component/photo/toolbar.vue:232 +#: src/component/photo/edit/details.vue:320 src/component/photo/toolbar.vue:234 #: src/component/photo/view/cards.vue:467 src/component/photo/view/list.vue:116 msgid "Camera" msgstr "Ceamara" @@ -567,12 +583,12 @@ msgstr "Sraith ceamara" msgid "Can't access your authenticator app or device?" msgstr "Ní féidir rochtain a fháil ar d'aip nó gléas fíordheimhnitheora?" -#: src/page/album/photos.vue:317 src/page/photos.vue:450 +#: src/page/album/photos.vue:322 src/page/photos.vue:455 msgid "Can't load more, limit reached" msgstr "Ní féidir níos mó a lódáil, shroich an teorainn" #: src/common/clipboard.js:102 src/common/clipboard.js:139 -#: src/page/albums.vue:684 src/page/albums.vue:700 src/page/labels.vue:293 +#: src/page/albums.vue:695 src/page/albums.vue:711 src/page/labels.vue:293 #: src/page/labels.vue:313 src/page/library/browse.vue:233 #: src/page/library/browse.vue:249 src/page/people/new.vue:278 #: src/page/people/new.vue:294 src/page/people/recognized.vue:305 @@ -581,26 +597,31 @@ msgid "Can't select more items" msgstr "Ní féidir níos mó míreanna a roghnú" #: src/component/session/remove/dialog.vue:45 -#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:473 -#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:119 +#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:474 +#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:120 #: src/component/album/delete/dialog.vue:43 -#: src/component/album/edit/dialog.vue:199 src/component/confirm/dialog.vue:43 -#: src/component/file/delete/dialog.vue:47 -#: src/component/label/delete/dialog.vue:47 -#: src/component/label/edit/dialog.vue:107 -#: src/component/people/edit/dialog.vue:120 +#: src/component/album/edit/dialog.vue:200 src/component/confirm/dialog.vue:43 +#: src/component/file/delete/dialog.vue:48 +#: src/component/label/delete/dialog.vue:48 +#: src/component/label/edit/dialog.vue:108 +#: src/component/location/dialog.vue:200 +#: src/component/people/edit/dialog.vue:121 #: src/component/photo/album/dialog.vue:78 src/component/service/add.vue:19 -#: src/component/service/edit.vue:455 src/component/service/remove.vue:49 -#: src/component/service/upload.vue:117 src/component/settings/apps.vue:352 -#: src/component/settings/passcode.vue:249 -#: src/component/settings/passcode.vue:333 -#: src/component/settings/password.vue:159 src/component/share/dialog.vue:28 -#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:123 +#: src/component/service/edit.vue:456 src/component/service/remove.vue:50 +#: src/component/service/upload.vue:118 src/component/settings/apps.vue:355 +#: src/component/settings/passcode.vue:252 +#: src/component/settings/passcode.vue:336 +#: src/component/settings/password.vue:160 src/component/share/dialog.vue:28 +#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:124 #: src/page/library/import.vue:119 src/page/library/index.vue:128 msgid "Cancel" msgstr "Cealaigh" -#: src/component/photo/edit/details.vue:87 src/component/photo/edit/info.vue:61 +#: src/common/util.js:863 src/common/util.js:870 +msgid "Cannot copy to clipboard" +msgstr "Ní féidir cóip a dhéanamh chuig an ngearrthaisce" + +#: src/component/photo/edit/details.vue:89 src/component/photo/edit/info.vue:63 #: src/component/photo/edit/labels.vue:42 #: src/component/photo/view/cards.vue:445 src/component/sidebar/info.vue:72 msgid "Caption" @@ -614,17 +635,17 @@ msgstr "Cártaí" msgid "Carousel slide {0} of {1}" msgstr "Sleamhnán timpealláin {0} de {1}" -#: src/page/about/feedback.vue:82 src/page/about/feedback.vue:83 -#: src/component/album/edit/dialog.vue:128 src/component/photo/toolbar.vue:397 +#: src/page/about/feedback.vue:83 src/page/about/feedback.vue:84 +#: src/component/album/edit/dialog.vue:129 src/component/photo/toolbar.vue:399 #: src/page/albums.vue:187 msgid "Category" msgstr "Catagóir" -#: src/component/user/edit/dialog.vue:191 src/page/settings/account.vue:201 +#: src/component/user/edit/dialog.vue:192 src/page/settings/account.vue:201 msgid "Change Avatar" msgstr "Athrú avatar" -#: src/page/settings/account.vue:297 src/component/settings/password.vue:48 +#: src/page/settings/account.vue:297 src/component/settings/password.vue:49 msgid "Change Password" msgstr "Athraigh Pasfhocal" @@ -641,17 +662,17 @@ msgid "Change private flag" msgstr "Athraigh bratach phríobháideach" #: src/component/user/add/dialog.vue:108 src/component/user/add/dialog.vue:113 -#: src/component/user/edit/dialog.vue:90 src/component/user/edit/dialog.vue:95 +#: src/component/user/edit/dialog.vue:91 src/component/user/edit/dialog.vue:96 #: src/page/settings/account.vue:121 src/page/settings/account.vue:126 msgid "Changes could not be saved" msgstr "Níorbh fhéidir na hathruithe a shábháil" -#: src/component/user/edit/dialog.vue:83 src/component/user/edit/dialog.vue:159 +#: src/component/user/edit/dialog.vue:84 src/component/user/edit/dialog.vue:160 #: src/component/album/edit/dialog.vue:73 -#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1941 +#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1961 #: src/component/photo/edit/files.vue:162 src/component/service/edit.vue:90 #: src/component/share/dialog.vue:92 src/component/share/dialog.vue:111 -#: src/page/albums.vue:677 src/page/people/recognized.vue:119 +#: src/page/albums.vue:688 src/page/people/recognized.vue:119 #: src/page/settings/advanced.vue:62 src/page/settings/content.vue:62 #: src/page/settings/general.vue:108 msgid "Changes successfully saved" @@ -665,7 +686,7 @@ msgstr "Teastaíonn atosú chun athruithe a dhéanamh ar na hardsocruithe chun d msgid "Checked" msgstr "Seiceáilte" -#: src/component/photo/edit/files.vue:495 +#: src/component/photo/edit/files.vue:497 msgid "Chroma" msgstr "Chroma" @@ -681,24 +702,24 @@ msgstr "Glanta" msgid "Clear {0}" msgstr "Glan {0}" -#: src/options/auth.js:11 src/options/auth.js:23 src/options/auth.js:43 +#: src/options/auth.js:12 src/options/auth.js:24 src/options/auth.js:44 msgid "Client" msgstr "Cliant" -#: src/options/auth.js:24 +#: src/options/auth.js:25 msgid "Client Credentials" msgstr "Dintiúir Cliant" -#: src/page/admin/sessions.vue:529 src/component/lightbox.vue:284 -#: src/component/lightbox.vue:1009 src/component/lightbox.vue:1010 -#: src/component/photo/edit/details.vue:627 src/component/photo/toolbar.vue:160 -#: src/component/settings/apps.vue:224 src/component/settings/apps.vue:437 -#: src/component/settings/passcode.vue:148 -#: src/component/settings/passcode.vue:456 -#: src/component/settings/passcode.vue:497 -#: src/component/settings/webdav.vue:131 src/component/share/dialog.vue:231 +#: src/component/user/edit/dialog.vue:474 src/page/admin/sessions.vue:536 +#: src/component/lightbox.vue:284 src/component/lightbox.vue:1009 +#: src/component/lightbox.vue:1010 src/component/photo/edit/details.vue:601 +#: src/component/photo/toolbar.vue:161 src/component/settings/apps.vue:227 +#: src/component/settings/apps.vue:440 src/component/settings/passcode.vue:151 +#: src/component/settings/passcode.vue:459 +#: src/component/settings/passcode.vue:500 +#: src/component/settings/webdav.vue:132 src/component/share/dialog.vue:231 #: src/component/sidebar/info.vue:26 src/component/update.vue:57 -#: src/component/upload/dialog.vue:228 src/locales.js:206 +#: src/component/upload/dialog.vue:230 src/locales.js:206 #: src/page/library/errors.vue:253 msgid "Close" msgstr "Dún" @@ -707,11 +728,11 @@ msgstr "Dún" msgid "Codec" msgstr "Codec" -#: src/component/photo/toolbar.vue:369 +#: src/component/photo/toolbar.vue:371 msgid "Color" msgstr "Dath" -#: src/component/photo/edit/files.vue:483 +#: src/component/photo/edit/files.vue:485 msgid "Color Profile" msgstr "Próifíl Datha" @@ -719,7 +740,7 @@ msgstr "Próifíl Datha" msgid "Colors" msgstr "Dathanna" -#: src/page/connect.vue:260 src/page/connect.vue:269 +#: src/page/connect.vue:262 src/page/connect.vue:271 msgid "Compare Editions" msgstr "Déan comparáid idir Eagráin" @@ -732,17 +753,18 @@ msgstr "Críochnaigh Athscanadh" msgid "Confidence" msgstr "Muinín" +#: src/component/location/dialog.vue:212 #: src/component/photo/album/dialog.vue:90 -#: src/component/settings/passcode.vue:261 +#: src/component/settings/passcode.vue:264 msgid "Confirm" msgstr "Deimhnigh" -#: src/component/service/add.vue:20 src/page/settings/services.vue:187 +#: src/component/service/add.vue:20 src/page/settings/services.vue:191 msgid "Connect" msgstr "Ceangail" -#: src/page/settings/account.vue:401 src/component/settings/webdav.vue:45 -#: src/page/settings/services.vue:167 +#: src/page/settings/account.vue:406 src/component/settings/webdav.vue:46 +#: src/page/settings/services.vue:170 msgid "Connect via WebDAV" msgstr "Ceangail trí WebDAV" @@ -750,22 +772,22 @@ msgstr "Ceangail trí WebDAV" msgid "Connected" msgstr "Ceangailte" -#: src/page/settings/account.vue:640 src/page/settings/account.vue:532 +#: src/page/settings/account.vue:646 src/page/settings/account.vue:538 msgid "Contact Details" msgstr "Sonraí Teagmhála" -#: src/page/about/feedback.vue:37 src/page/connect.vue:132 -#: src/page/connect.vue:136 +#: src/page/about/feedback.vue:37 src/page/connect.vue:133 +#: src/page/connect.vue:137 msgid "Contact Us" msgstr "Déan Teagmháil Linn" #: src/page/albums.vue:433 src/page/labels.vue:237 -#: src/page/people/recognized.vue:306 +#: src/page/people/recognized.vue:310 msgid "Contains %{n} pictures." msgstr "Tá %{n} pictiúr ann." #: src/page/albums.vue:427 src/page/labels.vue:231 -#: src/page/people/recognized.vue:300 +#: src/page/people/recognized.vue:304 msgid "Contains one picture." msgstr "Tá pictiúr amháin ann." @@ -773,7 +795,7 @@ msgstr "Tá pictiúr amháin ann." msgid "Content" msgstr "Ábhar" -#: src/component/settings/apps.vue:163 +#: src/component/settings/apps.vue:166 msgid "Continue" msgstr "Lean ort" @@ -781,7 +803,7 @@ msgstr "Lean ort" msgid "Continue with %{provider}" msgstr "Lean ar aghaidh le %{provider}" -#: src/options/admin.js:18 src/options/auth.js:9 +#: src/options/admin.js:22 src/options/auth.js:10 msgid "Contributor" msgstr "ranníocóir" @@ -789,15 +811,15 @@ msgstr "ranníocóir" msgid "Converting" msgstr "Tiontú" -#: src/common/util.js:846 +#: src/common/util.js:856 msgid "Copied to clipboard" msgstr "Cóipeáladh chuig an ngearrthaisce" -#: src/component/settings/apps.vue:250 src/component/settings/passcode.vue:358 +#: src/component/settings/apps.vue:253 src/component/settings/passcode.vue:361 msgid "Copy" msgstr "Cóip" -#: src/component/photo/edit/details.vue:516 +#: src/component/photo/edit/details.vue:490 msgid "Copyright" msgstr "Cóipcheart" @@ -805,8 +827,8 @@ msgstr "Cóipcheart" msgid "Couldn't find anything." msgstr "Níorbh fhéidir aon rud a aimsiú." -#: src/page/settings/account.vue:685 src/component/photo/edit/details.vue:242 -#: src/component/photo/toolbar.vue:203 src/page/settings/account.vue:577 +#: src/page/settings/account.vue:691 src/component/photo/edit/details.vue:268 +#: src/component/photo/toolbar.vue:205 src/page/settings/account.vue:583 msgid "Country" msgstr "Tír" @@ -830,7 +852,7 @@ msgstr "Cruthaigh comhaid YAML chun meiteashonraí albam a chúltaca." msgid "Create YAML sidecar files to back up picture metadata." msgstr "Cruthaigh comhaid taobhcharr YAML chun meiteashonraí pictiúir a chúltaca." -#: src/page/admin/sessions.vue:417 src/component/photo/edit/info.vue:412 +#: src/page/admin/sessions.vue:422 src/component/photo/edit/info.vue:412 msgid "Created" msgstr "Cruthaithe" @@ -842,11 +864,11 @@ msgstr "Mionsamhlacha a chruthú le haghaidh" msgid "Cubic: Moderate Quality, Good Performance" msgstr "Ciúbach: Cáilíocht Measartha, Dea-Fheidhmíocht" -#: src/component/settings/password.vue:85 +#: src/component/settings/password.vue:86 msgid "Current Password" msgstr "Pasfhocal Reatha" -#: src/options/themes.js:919 src/options/themes.js:928 +#: src/options/themes.js:920 src/options/themes.js:929 msgid "Custom" msgstr "Saincheaptha" @@ -862,11 +884,11 @@ msgstr "laethúil" msgid "Database Backups" msgstr "Cúltaca Bunachar Sonraí" -#: src/page/settings/account.vue:450 src/component/photo/edit/details.vue:110 +#: src/page/settings/account.vue:456 src/component/photo/edit/details.vue:112 msgid "Day" msgstr "Lá" -#: src/component/settings/passcode.vue:445 +#: src/component/settings/passcode.vue:448 msgid "Deactivate" msgstr "Díghníomhachtaigh" @@ -874,36 +896,40 @@ msgstr "Díghníomhachtaigh" msgid "Debug Logs" msgstr "Logchomhaid Dífhabhtaithe" -#: src/options/admin.js:31 src/page/admin/sessions.vue:136 -#: src/page/admin/users.vue:176 src/component/photo/edit/info.vue:47 +#: src/options/admin.js:35 src/page/admin/sessions.vue:136 +#: src/page/admin/users.vue:178 src/component/photo/edit/info.vue:47 #: src/component/photo/edit/info.vue:110 src/model/session.js:66 -#: src/model/user.js:246 src/options/auth.js:20 src/options/auth.js:21 -#: src/options/auth.js:39 src/options/auth.js:40 src/options/options.js:196 +#: src/model/user.js:246 src/options/auth.js:21 src/options/auth.js:22 +#: src/options/auth.js:40 src/options/auth.js:41 src/options/options.js:196 #: src/options/options.js:232 src/options/options.js:316 -#: src/options/themes.js:773 +#: src/options/themes.js:774 msgid "Default" msgstr "Réamhshocrú" -#: src/component/service/edit.vue:123 +#: src/component/service/edit.vue:124 msgid "Default Folder" msgstr "Fillteán Réamhshocraithe" #: src/component/session/remove/dialog.vue:56 #: src/component/user/remove/dialog.vue:56 src/component/album/clipboard.vue:97 -#: src/component/album/delete/dialog.vue:54 -#: src/component/file/delete/dialog.vue:58 src/component/label/clipboard.vue:58 -#: src/component/label/delete/dialog.vue:58 +#: src/component/album/delete/dialog.vue:54 src/component/album/toolbar.vue:137 +#: src/component/file/delete/dialog.vue:59 src/component/label/clipboard.vue:58 +#: src/component/label/delete/dialog.vue:59 #: src/component/photo/clipboard.vue:168 src/component/photo/edit/files.vue:238 -#: src/component/service/remove.vue:60 src/component/share/dialog.vue:170 +#: src/component/service/remove.vue:61 src/component/share/dialog.vue:170 #: src/page/settings/general.vue:457 msgid "Delete" msgstr "Scrios" +#: src/component/album/toolbar.vue:133 +msgid "Delete Album" +msgstr "Scrios Albam" + #: src/component/photo/toolbar.vue:119 src/page/library/errors.vue:95 msgid "Delete All" msgstr "Scrios Uile" -#: src/component/photo/toolbar.vue:433 src/page/library/errors.vue:193 +#: src/component/photo/toolbar.vue:435 src/page/library/errors.vue:193 msgid "Delete all?" msgstr "Scrios gach rud?" @@ -911,16 +937,16 @@ msgstr "Scrios gach rud?" msgid "Delete orphaned index entries, sidecar files and thumbnails." msgstr "Scrios iontrálacha innéacs dílleachta, comhaid taobhcharr agus mionsamhlacha." -#: src/component/album/edit/dialog.vue:107 src/page/albums.vue:411 +#: src/component/album/edit/dialog.vue:108 src/page/albums.vue:411 msgid "Description" msgstr "Cur síos" -#: src/component/settings/webdav.vue:115 +#: src/component/settings/webdav.vue:116 msgid "Detailed instructions can be found in our User Guide." msgstr "Is féidir treoracha mionsonraithe a fháil inár dTreoir Úsáideora." -#: src/component/photo/edit/dialog.vue:156 -#: src/component/photo/edit/dialog.vue:173 +#: src/component/photo/edit/dialog.vue:162 +#: src/component/photo/edit/dialog.vue:181 msgid "Details" msgstr "Sonraí" @@ -984,8 +1010,8 @@ msgstr "Díchumasaigh tacaíocht grafaicí veicteora." msgid "Disables video transcoding and thumbnail extraction." msgstr "Díchumasaítear traschódú físeáin agus eastóscadh mionsamhlacha." -#: src/app/routes.js:558 src/app/routes.js:565 src/app/routes.js:572 -#: src/app/routes.js:579 +#: src/app/routes.js:566 src/app/routes.js:573 src/app/routes.js:580 +#: src/app/routes.js:587 msgid "Discover" msgstr "Faigh amach" @@ -993,9 +1019,9 @@ msgstr "Faigh amach" msgid "Dismiss" msgstr "Díbhe" -#: src/component/user/add/dialog.vue:133 src/component/user/add/dialog.vue:134 -#: src/component/user/edit/dialog.vue:163 -#: src/component/user/edit/dialog.vue:164 src/page/admin/users.vue:72 +#: src/component/user/add/dialog.vue:134 src/component/user/add/dialog.vue:135 +#: src/component/user/edit/dialog.vue:164 +#: src/component/user/edit/dialog.vue:165 src/page/admin/users.vue:74 #: src/page/settings/account.vue:149 src/page/settings/account.vue:151 msgid "Display Name" msgstr "Ainm Taispeána" @@ -1010,12 +1036,12 @@ msgstr "Taispeáin teidil pictiúir sna torthaí cuardaigh." #: src/component/photo/view/cards.vue:339 #: src/component/photo/view/cards.vue:521 -#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:174 +#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:176 #: src/options/options.js:309 msgid "Document" msgstr "Doiciméad" -#: src/component/navigation.vue:480 +#: src/component/navigation.vue:482 msgid "Documents" msgstr "Doiciméid" @@ -1031,16 +1057,16 @@ msgstr "Ná húsáid ImageMagick chun íomhánna a thiontú." msgid "Don't use RawTherapee to convert RAW images." msgstr "Ná húsáid RawTherapee chun íomhánna RAW a thiontú." -#: src/component/settings/apps.vue:238 src/component/share/dialog.vue:29 +#: src/component/settings/apps.vue:241 src/component/share/dialog.vue:29 msgid "Done" msgstr "Déanta" -#: src/component/upload/dialog.vue:135 src/page/library/import.vue:46 +#: src/component/upload/dialog.vue:137 src/page/library/import.vue:46 #: src/page/library/index.vue:52 msgid "Done." msgstr "Déanta." -#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:118 +#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:123 #: src/component/file/clipboard.vue:48 src/component/lightbox.vue:1235 #: src/component/people/clipboard.vue:47 src/component/photo/clipboard.vue:116 #: src/component/photo/edit/files.vue:168 src/page/settings/content.vue:331 @@ -1052,7 +1078,7 @@ msgstr "Íosluchtaigh" msgid "Download only original media files, without any automatically generated files." msgstr "Íoslódáil comhaid meán bunaidh amháin, gan aon chomhaid a ghintear go huathoibríoch." -#: src/component/service/edit.vue:237 +#: src/component/service/edit.vue:238 msgid "Download remote files" msgstr "Íoslódáil comhaid iargúlta" @@ -1060,9 +1086,9 @@ msgstr "Íoslódáil comhaid iargúlta" msgid "Download single files and zip archives." msgstr "Íoslódáil comhaid aonair agus cartlanna zip." -#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:157 +#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:172 #: src/component/file/clipboard.vue:61 src/component/label/clipboard.vue:86 -#: src/component/lightbox.vue:2021 src/component/people/clipboard.vue:59 +#: src/component/lightbox.vue:2041 src/component/people/clipboard.vue:59 #: src/component/photo/clipboard.vue:220 src/component/photo/edit/files.vue:119 #: src/component/photo/view/cards.vue:169 src/component/photo/view/list.vue:142 #: src/page/library/browse.vue:139 @@ -1077,7 +1103,7 @@ msgstr "Scagaire Íoslaghdaithe" msgid "Drag and drop files here" msgstr "Tarraing agus scaoil comhaid anseo" -#: src/page/about/feedback.vue:61 +#: src/page/about/feedback.vue:62 msgid "Due to the high volume of emails we receive, our team may be unable to get back to you immediately." msgstr "Mar gheall ar an líon ard ríomhphost a fhaighimid, seans nach mbeidh ár bhfoireann in ann teagmháil a dhéanamh leat láithreach." @@ -1097,23 +1123,23 @@ msgstr "Réamhamhairc Dinimiciúla" msgid "Dynamic Size Limit: %{n}px" msgstr "Teorainn Mhéid Dinimiciúla: %{n}px" -#: src/page/about/feedback.vue:141 src/page/about/feedback.vue:140 +#: src/page/about/feedback.vue:142 src/page/about/feedback.vue:141 msgid "E-Mail" msgstr "R-phost" -#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:89 +#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:94 #: src/component/lightbox.vue:1136 src/component/lightbox.vue:1137 #: src/component/photo/clipboard.vue:90 src/page/settings/general.vue:407 msgid "Edit" msgstr "Cuir in eagar" -#: src/component/album/edit/dialog.vue:54 -#: src/component/label/edit/dialog.vue:52 -#: src/component/people/edit/dialog.vue:52 +#: src/component/album/edit/dialog.vue:55 +#: src/component/label/edit/dialog.vue:53 +#: src/component/people/edit/dialog.vue:53 msgid "Edit %{s}" msgstr "Cuir %{s} in eagar" -#: src/component/user/edit/dialog.vue:61 src/component/service/edit.vue:79 +#: src/component/user/edit/dialog.vue:62 src/component/service/edit.vue:79 msgid "Edit Account" msgstr "Cuir Cuntas in Eagar" @@ -1125,8 +1151,8 @@ msgstr "Cuir Grianghraf in Eagar" msgid "Edited" msgstr "Curtha in eagar" -#: src/component/user/add/dialog.vue:151 src/component/user/edit/dialog.vue:213 -#: src/page/settings/account.vue:171 src/page/settings/account.vue:593 +#: src/component/user/add/dialog.vue:152 src/component/user/edit/dialog.vue:214 +#: src/page/settings/account.vue:171 src/page/settings/account.vue:599 msgid "Email" msgstr "Ríomhphost" @@ -1142,7 +1168,7 @@ msgstr "Cumasaigh gnéithe nua a d'fhéadfadh a bheith neamhiomlán nó éagobhs msgid "Enables RAW converter presets. May reduce performance." msgstr "Cumasaíonn sé réamhshocruithe tiontaire RAW. D'fhéadfadh sé feidhmíocht a laghdú." -#: src/component/settings/passcode.vue:127 +#: src/component/settings/passcode.vue:130 msgid "Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account." msgstr "Má chumasaíonn tú fíordheimhniú dhá fhachtóir beidh cód fíorúcháin randamach de dhíth ort chun logáil isteach, mar sin fiú má fhaigheann duine éigin rochtain ar do phasfhocal, ní bheidh siad in ann rochtain a fháil ar do chuntas." @@ -1154,7 +1180,7 @@ msgstr "Cuir isteach an dáta" msgid "Enter dates" msgstr "Cuir isteach dátaí" -#: src/component/settings/passcode.vue:213 src/page/auth/login.vue:104 +#: src/component/settings/passcode.vue:216 src/page/auth/login.vue:104 msgid "Enter the code generated by your authenticator app:" msgstr "Cuir isteach an cód ginte ag d'aip fíordheimhneora:" @@ -1162,7 +1188,7 @@ msgstr "Cuir isteach an cód ginte ag d'aip fíordheimhneora:" msgid "Enter verification code" msgstr "Cuir isteach cód fíorúcháin" -#: src/component/settings/apps.vue:109 +#: src/component/settings/apps.vue:112 msgid "Enter your password to confirm the action and continue:" msgstr "Cuir isteach do phasfhocal chun an gníomh a dhearbhú agus lean ar aghaidh:" @@ -1171,7 +1197,7 @@ msgstr "Cuir isteach do phasfhocal chun an gníomh a dhearbhú agus lean ar agha msgid "Error" msgstr "Earráid" -#: src/app/routes.js:374 src/component/navigation.vue:1348 +#: src/app/routes.js:382 src/component/navigation.vue:1372 msgid "Errors" msgstr "Earráidí" @@ -1207,13 +1233,13 @@ msgstr "Tá ExifTool ag teastáil chun tacaíocht iomlán a thabhairt do mheitea msgid "Experimental Features" msgstr "Gnéithe Turgnamhach" -#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:453 -#: src/component/service/edit.vue:157 src/component/settings/apps.vue:73 -#: src/component/settings/apps.vue:326 src/component/share/dialog.vue:62 +#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:458 +#: src/component/service/edit.vue:158 src/component/settings/apps.vue:73 +#: src/component/settings/apps.vue:329 src/component/share/dialog.vue:62 msgid "Expires" msgstr "In éag" -#: src/component/photo/edit/details.vue:396 +#: src/component/photo/edit/details.vue:370 msgid "Exposure" msgstr "Nochtadh" @@ -1221,7 +1247,7 @@ msgstr "Nochtadh" msgid "Extract still images and generate thumbnails while indexing." msgstr "Sliocht íomhánna fósta agus mionsamhlacha a ghiniúint agus tú ag innéacsú." -#: src/component/photo/edit/details.vue:444 +#: src/component/photo/edit/details.vue:418 msgid "F Number" msgstr "F Uimhir" @@ -1237,7 +1263,7 @@ msgstr "Aghaidheanna" msgid "Failed removing link" msgstr "Theip ar bhaint an nasc" -#: src/page/connect.vue:106 src/page/connect.vue:110 +#: src/page/connect.vue:107 src/page/connect.vue:111 msgid "Failed to connect account." msgstr "Theip ar an gcuntas a nascadh." @@ -1245,8 +1271,8 @@ msgstr "Theip ar an gcuntas a nascadh." msgid "Failed updating link" msgstr "Theip ar an nasc a nuashonrú" -#: src/component/user/edit/dialog.vue:143 -#: src/component/user/edit/dialog.vue:144 src/page/settings/account.vue:128 +#: src/component/user/edit/dialog.vue:144 +#: src/component/user/edit/dialog.vue:145 src/page/settings/account.vue:128 #: src/page/settings/account.vue:130 msgid "Family Name" msgstr "Ainm an Teaghlaigh" @@ -1255,15 +1281,15 @@ msgstr "Ainm an Teaghlaigh" msgid "Fast" msgstr "Go tapa" -#: src/component/album/edit/dialog.vue:159 -#: src/component/label/edit/dialog.vue:85 -#: src/component/people/edit/dialog.vue:85 +#: src/component/album/edit/dialog.vue:160 +#: src/component/label/edit/dialog.vue:86 +#: src/component/people/edit/dialog.vue:86 #: src/component/photo/edit/info.vue:287 msgid "Favorite" msgstr "is fearr leat" -#: src/app/routes.js:222 src/component/navigation.vue:893 -#: src/options/options.js:202 src/page/albums.vue:97 +#: src/app/routes.js:230 src/component/navigation.vue:903 +#: src/options/options.js:202 src/page/albums.vue:98 msgid "Favorites" msgstr "Ceanáin" @@ -1271,7 +1297,7 @@ msgstr "Ceanáin" msgid "Feature Request" msgstr "Iarratas Gné" -#: src/component/navigation.vue:1456 +#: src/component/navigation.vue:1482 msgid "Feedback" msgstr "Aiseolas" @@ -1279,11 +1305,12 @@ msgstr "Aiseolas" msgid "Female" msgstr "Mná" -#: src/component/photo/edit/info.vue:214 src/model/file.js:290 +#: src/component/photo/edit/info.vue:57 src/component/photo/edit/info.vue:214 +#: src/model/file.js:290 msgid "File" msgstr "Comhad" -#: src/app/routes.js:343 +#: src/app/routes.js:351 msgid "File Browser" msgstr "Brabhsálaí Comhad" @@ -1306,8 +1333,8 @@ msgstr "Méid an Chomhaid" msgid "Filename" msgstr "Ainm comhaid" -#: src/component/navigation.vue:1930 src/component/photo/edit/dialog.vue:267 -#: src/component/photo/edit/dialog.vue:284 +#: src/component/navigation.vue:1973 src/component/photo/edit/dialog.vue:279 +#: src/component/photo/edit/dialog.vue:298 msgid "Files" msgstr "Comhaid" @@ -1319,26 +1346,26 @@ msgstr "Baineann comhaid a bhfuil ainmneacha seicheamhacha orthu mar 'IMG_1234 ( msgid "First page" msgstr "An chéad leathanach" -#: src/component/photo/edit/details.vue:465 +#: src/component/photo/edit/details.vue:439 msgid "Focal Length" msgstr "Fad Fócasach" -#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:118 -#: src/component/service/edit.vue:189 src/component/service/edit.vue:194 -#: src/component/service/upload.vue:90 src/component/service/upload.vue:96 +#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:119 +#: src/component/service/edit.vue:190 src/component/service/edit.vue:195 +#: src/component/service/upload.vue:91 src/component/service/upload.vue:97 #: src/model/folder.js:199 src/page/library/browse.vue:182 msgid "Folder" msgstr "Fillteán" -#: src/page/library/browse.vue:365 +#: src/page/library/browse.vue:367 msgid "Folder contains %{n} files" msgstr "Tá %{n} comhad san fhillteán" -#: src/page/library/browse.vue:356 +#: src/page/library/browse.vue:358 msgid "Folder is empty" msgstr "Tá an fillteán folamh" -#: src/app/routes.js:202 src/component/navigation.vue:1225 +#: src/app/routes.js:210 src/component/navigation.vue:1247 #: src/options/options.js:207 msgid "Folders" msgstr "Fillteáin" @@ -1355,7 +1382,7 @@ msgstr "CCT" msgid "Frames" msgstr "Frámaí" -#: src/options/auth.js:54 src/options/auth.js:64 +#: src/options/auth.js:55 src/options/auth.js:65 msgid "Full Access" msgstr "Rochtain Iomlán" @@ -1367,7 +1394,7 @@ msgstr "Lánscáileán" msgid "General" msgstr "Ginearálta" -#: src/component/settings/apps.vue:364 +#: src/component/settings/apps.vue:367 msgid "Generate" msgstr "Gin" @@ -1387,8 +1414,8 @@ msgstr "Gineadh" msgid "Get Started" msgstr "Faigh Tosaigh" -#: src/component/user/edit/dialog.vue:120 -#: src/component/user/edit/dialog.vue:121 src/page/settings/account.vue:106 +#: src/component/user/edit/dialog.vue:121 +#: src/component/user/edit/dialog.vue:122 src/page/settings/account.vue:106 #: src/page/settings/account.vue:108 msgid "Given Name" msgstr "Ainm tugtha" @@ -1413,7 +1440,7 @@ msgstr "Glas" msgid "Grey" msgstr "Liath" -#: src/options/admin.js:22 src/options/auth.js:10 +#: src/options/admin.js:26 src/options/auth.js:11 msgid "Guest" msgstr "Aoi" @@ -1429,15 +1456,15 @@ msgstr "Cabhrú" msgid "Help & Support" msgstr "Cabhair & Tacaíocht" -#: src/component/navigation.vue:1327 src/component/people/edit/dialog.vue:98 +#: src/component/navigation.vue:1351 src/component/people/edit/dialog.vue:99 msgid "Hidden" msgstr "i bhfolach" -#: src/app/routes.js:358 +#: src/app/routes.js:366 msgid "Hidden Files" msgstr "Comhaid Cheilte" -#: src/page/people/new.vue:165 src/page/people/recognized.vue:205 +#: src/page/people/new.vue:166 src/page/people/recognized.vue:206 msgid "Hide" msgstr "Folaigh" @@ -1453,7 +1480,7 @@ msgstr "Ard" msgid "High Dynamic Range (HDR)" msgstr "Raon Ard Dinimiciúla (HDR)" -#: src/page/about/feedback.vue:103 +#: src/page/about/feedback.vue:104 msgid "How can we help?" msgstr "Conas is féidir linn cabhrú?" @@ -1461,11 +1488,11 @@ msgstr "Conas is féidir linn cabhrú?" msgid "Hybrid" msgstr "hibrideach" -#: src/component/settings/passcode.vue:389 +#: src/component/settings/passcode.vue:392 msgid "If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account." msgstr "Má chailleann tú rochtain ar d'aip nó gléas fíordheimhnitheora, is féidir leat do chód athshlánaithe a úsáid chun rochtain a fháil ar do chuntas arís." -#: src/component/photo/edit/info.vue:63 src/component/photo/edit/labels.vue:46 +#: src/component/photo/edit/info.vue:65 src/component/photo/edit/labels.vue:46 #: src/component/photo/view/cards.vue:532 src/model/file.js:218 #: src/options/options.js:281 msgid "Image" @@ -1475,7 +1502,7 @@ msgstr "Íomhá" msgid "Image Quality" msgstr "Cáilíocht Íomhá" -#: src/page/library.vue:46 src/page/library/import.vue:152 +#: src/page/library.vue:46 src/page/library/import.vue:153 #: src/page/settings/general.vue:357 msgid "Import" msgstr "Iompórtáil" @@ -1500,8 +1527,8 @@ msgstr "%{s} á iompórtáil…" msgid "Importing files to originals…" msgstr "Comhaid á n-iompórtáil go bunleagan…" -#: src/component/photo/edit/files.vue:515 -#: src/component/photo/edit/files.vue:520 +#: src/component/photo/edit/files.vue:517 +#: src/component/photo/edit/files.vue:522 msgid "in" msgstr "isteach" @@ -1519,11 +1546,11 @@ msgstr "Cuir comhaid íomhá RAW san áireamh agus stoic agus cartlanna á n-ío msgid "Include sidecar files when downloading stacks and archives." msgstr "Cuir comhaid taobhcharr san áireamh agus stoic agus cartlanna á n-íoslódáil." -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Increase storage size or delete files to continue." msgstr "Méadaigh méid na stórála nó scrios comhaid chun leanúint ar aghaidh." -#: src/component/navigation.vue:1946 src/page/library.vue:36 +#: src/component/navigation.vue:1990 src/page/library.vue:36 #: src/page/settings/content.vue:34 msgid "Index" msgstr "Innéacs" @@ -1553,11 +1580,11 @@ msgstr "Eolas" msgid "Instance ID" msgstr "Aitheantas an Cháis" -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Insufficient storage." msgstr "Stóráil neamhleor." -#: src/component/service/edit.vue:209 +#: src/component/service/edit.vue:210 msgid "Interval" msgstr "Eatramh" @@ -1578,7 +1605,7 @@ msgstr "Seoladh neamhbhailí" msgid "Invalid country" msgstr "Tír neamhbhailí" -#: src/component/photo/edit/details.vue:174 +#: src/component/photo/edit/details.vue:169 msgid "Invalid date" msgstr "Dáta neamhbhailí" @@ -1587,7 +1614,7 @@ msgstr "Dáta neamhbhailí" msgid "Invalid parameters" msgstr "Paraiméadair neamhbhailí" -#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:197 +#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:199 msgid "Invalid photo selected" msgstr "Grianghraf neamhbhailí roghnaithe" @@ -1599,8 +1626,8 @@ msgstr "Am neamhbhailí" msgid "Invalid URL" msgstr "URL neamhbhailí" -#: src/component/settings/passcode.vue:314 -#: src/component/settings/passcode.vue:391 +#: src/component/settings/passcode.vue:317 +#: src/component/settings/passcode.vue:394 msgid "It is a one-time use code that will disable 2FA for your account when you use it." msgstr "Is cód úsáide aonuaire é a dhíchumasóidh 2FA do do chuntas nuair a úsáideann tú é." @@ -1624,7 +1651,7 @@ msgstr "Teorainn Méid JPEG: %{n}px" msgid "JPEGs and thumbnails are automatically rendered as needed." msgstr "Déantar JPEG agus mionsamhlacha a rindreáil go huathoibríoch de réir mar is gá." -#: src/component/photo/edit/details.vue:581 +#: src/component/photo/edit/details.vue:555 msgid "Keywords" msgstr "Eochairfhocail" @@ -1633,9 +1660,9 @@ msgstr "Eochairfhocail" msgid "Label" msgstr "Lipéad" -#: src/app/routes.js:389 src/component/navigation.vue:1177 -#: src/component/photo/edit/dialog.vue:188 -#: src/component/photo/edit/dialog.vue:205 src/options/options.js:206 +#: src/app/routes.js:397 src/component/navigation.vue:1197 +#: src/component/photo/edit/dialog.vue:196 +#: src/component/photo/edit/dialog.vue:215 src/options/options.js:206 #: src/page/settings/general.vue:255 msgid "Labels" msgstr "Lipéid" @@ -1652,11 +1679,11 @@ msgstr "Lanczos: Caomhnú Mionsonraithe, Déantáin Íosráta" msgid "Language" msgstr "Teanga" -#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:435 +#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:440 msgid "Last Active" msgstr "Gníomhach Deiridh" -#: src/page/admin/users.vue:81 +#: src/page/admin/users.vue:83 msgid "Last Login" msgstr "Logáil Isteach Deiridh" @@ -1672,42 +1699,41 @@ msgstr "Sync Last" msgid "Last Used" msgstr "Úsáidte is déanaí" -#: src/component/photo/edit/details.vue:298 #: src/component/photo/edit/info.vue:373 msgid "Latitude" msgstr "Domhanleithead" -#: src/options/admin.js:43 src/options/auth.js:29 +#: src/options/admin.js:47 src/options/auth.js:30 msgid "LDAP/AD" msgstr "LDAP/AD" -#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:86 -#: src/page/about/about.vue:62 src/page/about/about.vue:132 +#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:87 +#: src/page/about/about.vue:62 src/page/about/about.vue:133 #: src/page/connect.vue:67 src/page/help.vue:36 msgid "Learn more" msgstr "Foghlaim níos mó" -#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:135 +#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:137 #: src/page/labels.vue:132 msgid "Learn More" msgstr "Foghlaim níos mó" -#: src/component/navigation.vue:2017 +#: src/component/navigation.vue:2066 msgid "Legal Information" msgstr "Eolas Dlí" -#: src/component/photo/edit/details.vue:417 +#: src/component/photo/edit/details.vue:391 #: src/component/photo/view/cards.vue:480 msgid "Lens" msgstr "Lionsa" -#: src/app/routes.js:443 src/app/routes.js:459 src/app/routes.js:475 -#: src/component/navigation.vue:1267 src/page/settings/general.vue:507 +#: src/app/routes.js:451 src/app/routes.js:467 src/app/routes.js:483 +#: src/component/navigation.vue:1290 src/page/settings/general.vue:507 msgid "Library" msgstr "Leabharlann" #: src/page/connect.vue:45 src/app/routes.js:69 -#: src/component/navigation.vue:1478 src/component/photo/edit/details.vue:559 +#: src/component/navigation.vue:1504 src/component/photo/edit/details.vue:533 #: src/page/about/license.vue:28 msgid "License" msgstr "Ceadúnas" @@ -1720,7 +1746,7 @@ msgstr "Cosúil" msgid "Lime" msgstr "Aoil" -#: src/page/library/browse.vue:369 +#: src/page/library/browse.vue:371 msgid "Limit reached, showing first %{n} files" msgstr "Baineadh an teorainn amach, ag taispeáint na chéad %{n} comhad" @@ -1728,7 +1754,7 @@ msgstr "Baineadh an teorainn amach, ag taispeáint na chéad %{n} comhad" msgid "Linear: Very Smooth, Best Performance" msgstr "Líneach: An-réidh, Feidhmíocht is Fearr" -#: src/model/link.js:117 src/options/auth.js:30 src/options/auth.js:31 +#: src/model/link.js:117 src/options/auth.js:31 src/options/auth.js:32 msgid "Link" msgstr "Nasc" @@ -1746,7 +1772,7 @@ msgstr "Amharc Liosta" msgid "Live" msgstr "Beo" -#: src/app/routes.js:236 src/component/navigation.vue:749 +#: src/app/routes.js:244 src/component/navigation.vue:755 msgid "Live Photos" msgstr "Grianghraif Beo" @@ -1762,21 +1788,24 @@ msgstr "Míreanna á lódáil..." msgid "Loading..." msgstr "Á lódáil..." -#: src/options/admin.js:35 src/options/auth.js:22 src/options/auth.js:27 +#: src/options/admin.js:39 src/options/auth.js:23 src/options/auth.js:28 #: src/options/options.js:38 src/page/settings/general.vue:107 msgid "Local" msgstr "Áitiúil" -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Local Time" msgstr "Am Áitiúil" -#: src/page/settings/account.vue:665 src/page/settings/account.vue:667 -#: src/component/album/edit/dialog.vue:92 src/component/photo/edit/info.vue:65 -#: src/component/photo/edit/labels.vue:48 +#: src/page/settings/account.vue:671 src/page/settings/account.vue:673 +#: src/component/album/edit/dialog.vue:93 +#: src/component/photo/edit/details.vue:38 +#: src/component/photo/edit/details.vue:116 +#: src/component/photo/edit/details.vue:210 +#: src/component/photo/edit/info.vue:67 src/component/photo/edit/labels.vue:48 #: src/component/photo/view/cards.vue:555 src/component/photo/view/list.vue:117 -#: src/component/sidebar/info.vue:107 src/page/albums.vue:99 -#: src/page/settings/account.vue:557 src/page/settings/account.vue:559 +#: src/component/sidebar/info.vue:107 src/page/albums.vue:100 +#: src/page/settings/account.vue:563 src/page/settings/account.vue:565 msgid "Location" msgstr "Suíomh" @@ -1784,20 +1813,19 @@ msgstr "Suíomh" msgid "Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues." msgstr "Tá teachtaireachtaí logála le feiceáil anseo aon uair a thagann PhotoPrim ar chomhaid briste, nó nuair a bhíonn fadhbanna eile ann." -#: src/component/navigation.vue:1552 src/component/navigation.vue:1840 +#: src/component/navigation.vue:1579 src/component/navigation.vue:1877 msgid "Login" msgstr "Logáil isteach" -#: src/component/navigation.vue:1759 +#: src/component/navigation.vue:1791 msgid "Logout" msgstr "Lógó amach" -#: src/component/navigation.vue:1962 src/page/library.vue:59 +#: src/component/navigation.vue:2007 src/page/library.vue:59 #: src/page/settings/general.vue:557 msgid "Logs" msgstr "Logs" -#: src/component/photo/edit/details.vue:324 #: src/component/photo/edit/info.vue:379 msgid "Longitude" msgstr "Domhanfhad" @@ -1810,7 +1838,7 @@ msgstr "Íseal" msgid "Magenta" msgstr "Mageanta" -#: src/component/photo/edit/files.vue:489 +#: src/component/photo/edit/files.vue:491 msgid "Main Color" msgstr "Príomh Dath" @@ -1818,12 +1846,16 @@ msgstr "Príomh Dath" msgid "Male" msgstr "Fireann" -#: src/page/connect.vue:164 src/page/connect.vue:246 -#: src/page/about/about.vue:171 src/page/connect.vue:168 -#: src/page/connect.vue:255 +#: src/page/connect.vue:165 src/page/connect.vue:248 +#: src/page/about/about.vue:173 src/page/connect.vue:169 +#: src/page/connect.vue:257 msgid "Manage Account" msgstr "Bainistigh Cuntas" +#: src/options/admin.js:10 src/options/auth.js:7 +msgid "Manager" +msgstr "Bainisteoir" + #: src/component/photo/edit/info.vue:49 src/component/photo/edit/labels.vue:38 msgid "Manual" msgstr "Lámhleabhar" @@ -1840,11 +1872,11 @@ msgstr "Léarscáileanna" msgid "Marker" msgstr "Marcóir" -#: src/component/user/add/dialog.vue:69 +#: src/component/user/add/dialog.vue:70 msgid "Maximum number of accounts has been reached." msgstr "Tá uaslíon na gcuntas sroichte." -#: src/app/routes.js:229 src/component/navigation.vue:688 +#: src/app/routes.js:237 src/component/navigation.vue:693 #: src/options/options.js:199 msgid "Media" msgstr "Meáin" @@ -1861,7 +1893,7 @@ msgstr "Ballraíocht" msgid "Merge %{a} with %{b}?" msgstr "An bhfuil fonn ort %{a} a chumasc le %{b}?" -#: src/page/about/feedback.vue:102 +#: src/page/about/feedback.vue:103 msgid "Message" msgstr "Teachtaireacht" @@ -1873,7 +1905,7 @@ msgstr "Teachtaireacht seolta" msgid "Metadata" msgstr "Meiteashonraí" -#: src/options/auth.js:56 src/options/auth.js:72 +#: src/options/auth.js:57 src/options/auth.js:73 msgid "Metrics" msgstr "Méadracht" @@ -1881,7 +1913,7 @@ msgstr "Méadracht" msgid "Minimize" msgstr "Íoslaghdaigh" -#: src/component/photo/edit/files.vue:509 src/component/photo/edit/info.vue:367 +#: src/component/photo/edit/files.vue:511 src/component/photo/edit/info.vue:367 msgid "Missing" msgstr "Ar iarraidh" @@ -1889,17 +1921,17 @@ msgstr "Ar iarraidh" msgid "Missing or invalid configuration" msgstr "Cumraíocht in easnamh nó cumraíocht neamhbhailí" -#: src/app/routes.js:163 src/component/navigation.vue:1129 +#: src/app/routes.js:171 src/component/navigation.vue:1147 #: src/options/options.js:205 src/page/settings/general.vue:230 msgid "Moments" msgstr "Chuimhneacháin" -#: src/component/navigation.vue:383 +#: src/component/navigation.vue:385 msgid "Monochrome" msgstr "Monacrómach" -#: src/page/settings/account.vue:475 src/component/photo/edit/details.vue:137 -#: src/component/photo/toolbar.vue:342 +#: src/page/settings/account.vue:481 src/component/photo/edit/details.vue:139 +#: src/component/photo/toolbar.vue:344 msgid "Month" msgstr "Mí" @@ -1919,7 +1951,7 @@ msgstr "Is Ábhartha" msgid "Move Files" msgstr "Bog Comhaid" -#: src/component/settings/password.vue:107 +#: src/component/settings/password.vue:108 msgid "Must have at least %{n} characters." msgstr "Caithfidh %{n} carachtar ar a laghad a bheith ann." @@ -1927,20 +1959,20 @@ msgstr "Caithfidh %{n} carachtar ar a laghad a bheith ann." msgid "Mute" msgstr "Balbhaigh" -#: src/page/about/feedback.vue:121 src/page/about/feedback.vue:122 -#: src/component/album/edit/dialog.vue:77 -#: src/component/label/edit/dialog.vue:71 -#: src/component/people/edit/dialog.vue:71 -#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:57 +#: src/page/about/feedback.vue:122 src/page/about/feedback.vue:123 +#: src/component/album/edit/dialog.vue:78 +#: src/component/label/edit/dialog.vue:72 +#: src/component/people/edit/dialog.vue:72 +#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:59 #: src/component/photo/edit/info.vue:125 src/component/photo/edit/people.vue:36 -#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:310 -#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:286 -#: src/page/albums.vue:98 src/page/auth/login.vue:168 +#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:311 +#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:289 +#: src/page/albums.vue:99 src/page/auth/login.vue:168 #: src/page/people/new.vue:68 src/page/settings/services.vue:37 msgid "Name" msgstr "Ainm" -#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:60 +#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:65 #: src/component/label/edit/dialog.vue:19 #: src/component/people/edit/dialog.vue:19 #: src/component/photo/edit/labels.vue:30 @@ -1950,7 +1982,7 @@ msgstr "Ainm" msgid "Name too long" msgstr "Ainm ró-fhada" -#: src/page/admin/users.vue:204 src/options/options.js:361 +#: src/page/admin/users.vue:206 src/options/options.js:361 #: src/options/options.js:371 src/page/settings/services.vue:75 msgid "Never" msgstr "Riamh" @@ -1959,13 +1991,13 @@ msgstr "Riamh" msgid "New" msgstr "Nua" -#: src/component/settings/password.vue:106 +#: src/component/settings/password.vue:107 msgid "New Password" msgstr "Pasfhocal Nua" #: src/component/album/edit/dialog.vue:24 src/component/photo/toolbar.vue:114 #: src/component/photo/toolbar.vue:126 src/component/photo/toolbar.vue:136 -#: src/page/albums.vue:100 +#: src/page/albums.vue:101 msgid "Newest First" msgstr "Is Déanaí ar dtús" @@ -1981,15 +2013,15 @@ msgstr "An chéad leathanach eile" msgid "Next visual" msgstr "Amhairc seo chugainn" -#: src/component/people/merge/dialog.vue:47 -#: src/component/photo/archive/dialog.vue:47 +#: src/component/people/merge/dialog.vue:48 +#: src/component/photo/archive/dialog.vue:48 #: src/component/photo/edit/info.vue:281 src/component/photo/edit/info.vue:297 #: src/component/photo/edit/info.vue:313 src/component/photo/edit/info.vue:329 #: src/component/photo/edit/info.vue:344 msgid "No" msgstr "Níl" -#: src/page/albums.vue:607 src/page/albums.vue:282 +#: src/page/albums.vue:612 src/page/albums.vue:282 msgid "No albums found" msgstr "Níor aimsíodh albam" @@ -1997,7 +2029,7 @@ msgstr "Níor aimsíodh albam" msgid "No data available" msgstr "Níl aon sonraí ar fáil" -#: src/page/labels.vue:523 src/page/labels.vue:155 +#: src/page/labels.vue:528 src/page/labels.vue:155 msgid "No labels found" msgstr "Níor aimsíodh aon lipéid" @@ -2010,15 +2042,15 @@ msgid "No more" msgstr "Níl níos mó" #: src/component/photo/edit/people.vue:34 src/page/people/new.vue:346 -#: src/page/people/new.vue:443 src/page/people/new.vue:103 -#: src/page/people/recognized.vue:531 src/page/people/recognized.vue:146 +#: src/page/people/new.vue:446 src/page/people/new.vue:103 +#: src/page/people/recognized.vue:536 src/page/people/recognized.vue:146 msgid "No people found" msgstr "Níor aimsíodh daoine" #: src/component/lightbox.vue:365 src/component/photo/view/cards.vue:144 #: src/component/photo/view/list.vue:82 src/component/photo/view/mosaic.vue:68 -#: src/page/album/photos.vue:488 src/page/library/browse.vue:123 -#: src/page/photos.vue:626 src/page/places.vue:624 src/page/places.vue:730 +#: src/page/album/photos.vue:499 src/page/library/browse.vue:123 +#: src/page/photos.vue:636 src/page/places.vue:624 src/page/places.vue:730 msgid "No pictures found" msgstr "Níor aimsíodh aon phictiúir" @@ -2027,7 +2059,11 @@ msgstr "Níor aimsíodh aon phictiúir" msgid "No recently edited pictures" msgstr "Níl aon phictiúir curtha in eagar le déanaí" -#: src/component/navigation.vue:1655 +#: src/component/location/dialog.vue:166 +msgid "No results" +msgstr "Gan aon torthaí" + +#: src/component/navigation.vue:1686 msgid "No server connection" msgstr "Gan nasc freastalaí" @@ -2039,7 +2075,7 @@ msgstr "Níl aon fhreastalaí cumraithe." msgid "No services configured." msgstr "Níl aon seirbhísí cumraithe." -#: src/component/confirm/sponsor.vue:72 +#: src/component/confirm/sponsor.vue:73 msgid "No thanks" msgstr "Níl go raibh maith agat" @@ -2049,17 +2085,17 @@ msgstr "Níl aon rabhadh nó earráid ina bhfuil an eochairfhocal seo. Tabhair f #: src/component/photo/view/cards.vue:154 src/component/photo/view/list.vue:59 #: src/component/photo/view/list.vue:92 src/component/photo/view/mosaic.vue:78 -#: src/component/upload/dialog.vue:208 +#: src/component/upload/dialog.vue:210 msgid "Non-photographic and low-quality images require a review before they appear in search results." msgstr "Teastaíonn athbhreithniú ar íomhánna nach bhfuil grianghrafadóireachta agus ar cháilíocht íseal sula bhfeictear iad i dtorthaí cuardaigh." -#: src/options/admin.js:47 src/options/auth.js:32 src/options/options.js:212 +#: src/options/admin.js:51 src/options/auth.js:33 src/options/options.js:212 #: src/options/options.js:328 msgid "None" msgstr "Dada" -#: src/common/util.js:853 src/component/lightbox.vue:633 -#: src/component/service/upload.vue:75 src/component/service/upload.vue:87 +#: src/component/lightbox.vue:633 src/component/service/upload.vue:75 +#: src/component/service/upload.vue:87 msgid "Not allowed" msgstr "Ní cheadaítear" @@ -2071,8 +2107,7 @@ msgstr "Ní bhfuarthas" msgid "Not sorted." msgstr "Gan sórtáilte." -#: src/common/util.js:858 src/component/lightbox.vue:627 -#: src/component/lightbox.vue:744 +#: src/component/lightbox.vue:627 src/component/lightbox.vue:744 msgid "Not supported" msgstr "Ní thacaítear leis" @@ -2080,15 +2115,15 @@ msgstr "Ní thacaítear leis" msgid "Note you may manually manage your originals folder and importing is optional." msgstr "Tabhair faoi deara gur féidir leat d’fhillteán bunleagan a bhainistiú de láimh agus go bhfuil sé roghnach iompórtáil." -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "Note:" msgstr "Nóta:" -#: src/component/service/add.vue:120 +#: src/component/service/add.vue:121 msgid "Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload." msgstr "Nóta: Ní féidir ach freastalaithe WebDAV, cosúil le Nextcloud nó PhotoPrim, a chumrú mar chianseirbhís le haghaidh cúltaca agus uaslódáil comhad." -#: src/component/photo/edit/details.vue:603 +#: src/component/photo/edit/details.vue:577 msgid "Notes" msgstr "Nótaí" @@ -2096,8 +2131,8 @@ msgstr "Nótaí" msgid "Nothing to see here yet." msgstr "Níl faic le feiceáil anseo fós." -#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:115 -#: src/component/settings/apps.vue:390 +#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:125 +#: src/component/settings/apps.vue:393 msgid "Nothing was found." msgstr "Ní bhfuarthas aon rud." @@ -2105,7 +2140,7 @@ msgstr "Ní bhfuarthas aon rud." msgid "Offline" msgstr "As líne" -#: src/options/admin.js:39 src/options/auth.js:28 +#: src/options/admin.js:43 src/options/auth.js:29 msgid "OIDC" msgstr "OIDC" @@ -2115,11 +2150,11 @@ msgstr "ceart go leor" #: src/component/album/edit/dialog.vue:25 src/component/photo/toolbar.vue:115 #: src/component/photo/toolbar.vue:127 src/component/photo/toolbar.vue:137 -#: src/page/albums.vue:101 +#: src/page/albums.vue:102 msgid "Oldest First" msgstr "Is sine ar dtús" -#: src/component/settings/webdav.vue:77 +#: src/component/settings/webdav.vue:78 msgid "On Windows, enter the following resource in the connection dialog:" msgstr "Ar Windows, cuir isteach an acmhainn seo a leanas sa dialóg naisc:" @@ -2131,11 +2166,11 @@ msgstr "D'fhéadfadh úsáid ard LAP agus cuimhne a bheith mar chúis le giniúi msgid "Once a week" msgstr "Uair sa tseachtain" -#: src/page/albums.vue:609 +#: src/page/albums.vue:614 msgid "One album found" msgstr "Aimsíodh albam amháin" -#: src/page/library/browse.vue:358 +#: src/page/library/browse.vue:360 msgid "One file found" msgstr "Fuarthas comhad amháin" @@ -2143,24 +2178,24 @@ msgstr "Fuarthas comhad amháin" msgid "One file uploaded" msgstr "Uaslódáladh comhad amháin" -#: src/page/library/browse.vue:360 +#: src/page/library/browse.vue:362 msgid "One folder found" msgstr "Fuarthas fillteán amháin" -#: src/page/labels.vue:525 +#: src/page/labels.vue:530 msgid "One label found" msgstr "Fuarthas lipéad amháin" -#: src/page/people/new.vue:348 src/page/people/new.vue:445 -#: src/page/people/recognized.vue:533 +#: src/page/people/new.vue:348 src/page/people/new.vue:448 +#: src/page/people/recognized.vue:538 msgid "One person found" msgstr "Fuair duine amháin" -#: src/page/album/photos.vue:490 src/page/photos.vue:628 +#: src/page/album/photos.vue:501 src/page/photos.vue:638 msgid "One picture found" msgstr "Fuarthas pictiúr amháin" -#: src/component/settings/passcode.vue:478 +#: src/component/settings/passcode.vue:481 msgid "Only locally managed accounts can be set up for authentication with 2FA." msgstr "Ní féidir ach cuntais a bhainistítear go háitiúil a bhunú le haghaidh fíordheimhnithe le 2FA." @@ -2168,7 +2203,7 @@ msgstr "Ní féidir ach cuntais a bhainistítear go háitiúil a bhunú le hagha msgid "Open" msgstr "Oscail" -#: src/component/service/add.vue:86 src/component/service/add.vue:107 +#: src/component/service/add.vue:87 src/component/service/add.vue:108 msgid "optional" msgstr "roghnach" @@ -2180,7 +2215,7 @@ msgstr "nó" msgid "Orange" msgstr "Oráiste" -#: src/page/settings/account.vue:571 src/page/settings/account.vue:573 +#: src/page/settings/account.vue:577 src/page/settings/account.vue:579 msgid "Organization" msgstr "Eagraíocht" @@ -2196,7 +2231,7 @@ msgstr "Déanfar bunainmneacha na gcomhad a stóráil agus a innéacsú." msgid "Original Name" msgstr "Ainm Bunaidh" -#: src/component/navigation.vue:1304 src/model/file.js:196 +#: src/component/navigation.vue:1328 src/model/file.js:196 #: src/options/options.js:413 src/page/library/browse.vue:65 #: src/page/settings/content.vue:356 src/page/settings/general.vue:532 msgid "Originals" @@ -2207,7 +2242,7 @@ msgstr "Bunábhair" msgid "Other" msgstr "Eile" -#: src/page/about/about.vue:77 src/page/about/about.vue:83 +#: src/page/about/about.vue:78 src/page/about/about.vue:84 msgid "Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible." msgstr "Is é an misean atá againn ná an réiteach is cairdiúla don úsáideoir agus don phríobháideacht a sholáthar chun do phictiúr a choinneáil eagraithe agus inrochtana." @@ -2219,7 +2254,7 @@ msgstr "Amuigh faoin aer" msgid "Page {0}, Current page" msgstr "Leathanach {0}, leathanach reatha" -#: src/component/photo/edit/files.vue:352 src/model/photo.js:859 +#: src/component/photo/edit/files.vue:352 src/model/photo.js:896 msgid "Pages" msgstr "Leathanaigh" @@ -2231,15 +2266,15 @@ msgstr "Nascleanúint Leathanaigh" msgid "Panorama" msgstr "Lánléargas" -#: src/component/navigation.vue:402 +#: src/component/navigation.vue:404 msgid "Panoramas" msgstr "Lánléargas" -#: src/component/user/add/dialog.vue:114 src/component/user/add/dialog.vue:115 -#: src/component/service/add.vue:106 src/component/service/edit.vue:352 -#: src/component/settings/apps.vue:121 src/component/settings/passcode.vue:106 -#: src/component/settings/passcode.vue:413 src/component/share/dialog.vue:27 -#: src/options/auth.js:91 src/page/auth/login.vue:196 +#: src/component/user/add/dialog.vue:115 src/component/user/add/dialog.vue:116 +#: src/component/service/add.vue:107 src/component/service/edit.vue:353 +#: src/component/settings/apps.vue:124 src/component/settings/passcode.vue:109 +#: src/component/settings/passcode.vue:416 src/component/share/dialog.vue:27 +#: src/options/auth.js:92 src/page/auth/login.vue:196 msgid "Password" msgstr "Pasfhocal" @@ -2247,9 +2282,9 @@ msgstr "Pasfhocal" msgid "Password changed" msgstr "Athraíodh an pasfhocal" -#: src/app/routes.js:404 src/app/routes.js:428 src/component/navigation.vue:845 -#: src/component/navigation.vue:1898 src/component/photo/edit/dialog.vue:228 -#: src/component/photo/edit/dialog.vue:245 src/options/options.js:201 +#: src/app/routes.js:412 src/app/routes.js:436 src/component/navigation.vue:853 +#: src/component/navigation.vue:1939 src/component/photo/edit/dialog.vue:238 +#: src/component/photo/edit/dialog.vue:257 src/options/options.js:201 #: src/page/settings/general.vue:180 msgid "People" msgstr "Daoine" @@ -2270,23 +2305,23 @@ msgstr "Bain comhaid go buan chun stóráil a shaoradh." msgid "Person" msgstr "Duine" -#: src/options/auth.js:42 +#: src/options/auth.js:43 msgid "Personal" msgstr "Pearsanta" -#: src/model/photo.js:1273 +#: src/model/photo.js:1310 msgid "Photo" msgstr "Grianghraf" -#: src/page/about/about.vue:156 +#: src/page/about/about.vue:158 msgid "PhotoPrism is 100% self-funded and independent." msgstr "Tá PhotoPrism 100% féinmhaoinithe agus neamhspleách." -#: src/page/about/about.vue:92 +#: src/page/about/about.vue:93 msgid "PhotoPrism+ Membership" msgstr "Ballraíocht PhotoPrism+" -#: src/app/routes.js:156 +#: src/app/routes.js:164 msgid "Photos" msgstr "Grianghraif" @@ -2307,27 +2342,27 @@ msgstr "Áit" msgid "Place & Time" msgstr "Áit & Am" -#: src/app/routes.js:303 src/app/routes.js:309 src/app/routes.js:315 -#: src/app/routes.js:330 src/component/navigation.vue:986 -#: src/component/navigation.vue:1914 src/options/options.js:203 +#: src/app/routes.js:311 src/app/routes.js:317 src/app/routes.js:323 +#: src/app/routes.js:338 src/component/navigation.vue:999 +#: src/component/navigation.vue:1956 src/options/options.js:203 #: src/page/places.vue:51 src/page/settings/general.vue:609 #: src/page/settings/general.vue:638 msgid "Places" msgstr "Áiteanna" -#: src/component/settings/password.vue:129 +#: src/component/settings/password.vue:130 msgid "Please confirm your new password." msgstr "Deimhnigh do phasfhocal nua le do thoil." -#: src/component/settings/apps.vue:185 +#: src/component/settings/apps.vue:188 msgid "Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:" msgstr "Cóipeáil an pasfhocal aipe a gineadh go randamach agus coinnigh in áit shábháilte é, mar ní bheidh tú in ann é a fheiceáil arís:" -#: src/component/upload/dialog.vue:203 +#: src/component/upload/dialog.vue:205 msgid "Please do not upload any private, unlawful or offensive pictures." msgstr "Ná huaslódáil aon pictiúir phríobháideacha, neamhdhleathacha nó maslacha." -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Please don't upload photos containing offensive content." msgstr "Ná huaslódáil grianghraif a bhfuil ábhar maslach iontu." @@ -2335,11 +2370,11 @@ msgstr "Ná huaslódáil grianghraif a bhfuil ábhar maslach iontu." msgid "Please enter OTP character {0}" msgstr "Cuir isteach carachtar OTP {0}" -#: src/component/settings/password.vue:66 +#: src/component/settings/password.vue:67 msgid "Please note that changing your password will log you out on other devices and browsers." msgstr "Tabhair faoi deara le do thoil go ndéanfaidh athrú ar do phasfhocal tú a logáil amach ar ghléasanna agus brabhsálaithe eile." -#: src/page/connect.vue:148 src/page/connect.vue:152 +#: src/page/connect.vue:149 src/page/connect.vue:153 msgid "Please restart your instance for the changes to take effect." msgstr "Atosaigh do chás le go dtiocfaidh na hathruithe i bhfeidhm." @@ -2359,11 +2394,11 @@ msgstr "Teorainn Méid PNG: %{n}px" msgid "Portrait" msgstr "Portráid" -#: src/component/service/edit.vue:273 +#: src/component/service/edit.vue:274 msgid "Preserve filenames" msgstr "Caomhnaigh ainmneacha comhaid" -#: src/component/upload/dialog.vue:162 +#: src/component/upload/dialog.vue:164 msgid "Press enter to create a new album." msgstr "Brúigh Enter chun albam nua a chruthú." @@ -2400,8 +2435,8 @@ msgstr "Amhairc roimhe seo" msgid "Primary" msgstr "Bunscoile" -#: src/app/routes.js:271 src/component/album/edit/dialog.vue:176 -#: src/component/navigation.vue:531 src/component/photo/edit/info.vue:303 +#: src/app/routes.js:279 src/component/album/edit/dialog.vue:177 +#: src/component/navigation.vue:533 src/component/photo/edit/info.vue:303 #: src/page/settings/general.vue:280 msgid "Private" msgstr "Príobháideach" @@ -2426,7 +2461,7 @@ msgstr "Scagaire Cáilíochta" msgid "Quality Score" msgstr "Scór Cáilíochta" -#: src/page/admin/users.vue:169 +#: src/page/admin/users.vue:171 msgid "r" msgstr "r" @@ -2457,7 +2492,7 @@ msgstr "Mód Inléite Amháin" #: src/component/album/edit/dialog.vue:26 src/component/photo/toolbar.vue:116 #: src/component/photo/toolbar.vue:128 src/component/photo/toolbar.vue:138 -#: src/page/albums.vue:102 +#: src/page/albums.vue:103 msgid "Recently Added" msgstr "Curtha leis le déanaí" @@ -2465,7 +2500,7 @@ msgstr "Curtha leis le déanaí" msgid "Recently Archived" msgstr "Cartlannaithe le déanaí" -#: src/component/photo/toolbar.vue:139 src/page/albums.vue:103 +#: src/component/photo/toolbar.vue:139 src/page/albums.vue:104 msgid "Recently Edited" msgstr "Curtha in eagar le déanaí" @@ -2490,24 +2525,24 @@ msgstr "Cód Aisghabháil" msgid "Red" msgstr "Dearg" -#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:126 -#: src/component/album/toolbar.vue:79 src/component/photo/toolbar.vue:169 -#: src/page/albums.vue:173 src/page/labels.vue:112 +#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:128 +#: src/component/album/toolbar.vue:84 src/component/photo/toolbar.vue:169 +#: src/page/albums.vue:175 src/page/labels.vue:112 #: src/page/library/browse.vue:90 src/page/library/errors.vue:81 #: src/page/people/new.vue:54 src/page/people/recognized.vue:88 msgid "Refresh" msgstr "Athnuaigh" -#: src/app/routes.js:337 src/component/navigation.vue:943 -#: src/component/navigation.vue:1026 +#: src/app/routes.js:345 src/component/navigation.vue:955 +#: src/component/navigation.vue:1040 msgid "Regions" msgstr "Réigiúin" -#: src/page/connect.vue:275 src/page/connect.vue:284 +#: src/page/connect.vue:277 src/page/connect.vue:286 msgid "Register" msgstr "Clár" -#: src/component/navigation.vue:1773 src/component/update.vue:68 +#: src/component/navigation.vue:1806 src/component/update.vue:68 msgid "Reload" msgstr "Athlódáil" @@ -2552,34 +2587,34 @@ msgstr "A éileamh go ndéanfaí athbhreithniú ar íomhánna neamh-ghrianghrafa msgid "Resolution" msgstr "Rún" -#: src/page/connect.vue:179 src/page/connect.vue:183 +#: src/page/connect.vue:180 src/page/connect.vue:184 #: src/page/settings/advanced.vue:782 msgid "Restart" msgstr "Atosaigh" -#: src/component/user/edit/dialog.vue:485 src/component/lightbox.vue:1221 +#: src/component/user/edit/dialog.vue:488 src/component/lightbox.vue:1221 #: src/component/photo/clipboard.vue:77 msgid "Restore" msgstr "Athchóirigh" -#: src/component/lightbox.vue:2000 +#: src/component/lightbox.vue:2020 msgid "Restored" msgstr "Athchóiríodh" -#: src/component/service/edit.vue:428 +#: src/component/service/edit.vue:429 msgid "Retry Limit" msgstr "Atriail Teorainn" -#: src/component/settings/password.vue:128 +#: src/component/settings/password.vue:129 msgid "Retype Password" msgstr "Athchlóscríobh Pasfhocal" -#: src/app/routes.js:264 src/component/navigation.vue:505 +#: src/app/routes.js:272 src/component/navigation.vue:507 msgid "Review" msgstr "Léirmheas" -#: src/component/user/add/dialog.vue:171 src/component/user/edit/dialog.vue:284 -#: src/page/admin/sessions.vue:262 src/page/admin/users.vue:73 +#: src/component/user/add/dialog.vue:172 src/component/user/edit/dialog.vue:285 +#: src/page/admin/sessions.vue:263 src/page/admin/users.vue:75 msgid "Role" msgstr "Ról" @@ -2591,11 +2626,11 @@ msgstr "Sraitheanna in aghaidh an leathanaigh:" msgid "Satellite" msgstr "Satailít" -#: src/component/user/edit/dialog.vue:485 -#: src/component/album/edit/dialog.vue:211 -#: src/component/label/edit/dialog.vue:119 -#: src/component/people/edit/dialog.vue:132 src/component/service/edit.vue:466 -#: src/component/settings/password.vue:172 src/component/share/dialog.vue:181 +#: src/component/user/edit/dialog.vue:488 +#: src/component/album/edit/dialog.vue:212 +#: src/component/label/edit/dialog.vue:120 +#: src/component/people/edit/dialog.vue:133 src/component/service/edit.vue:467 +#: src/component/settings/password.vue:173 src/component/share/dialog.vue:181 msgid "Save" msgstr "Sábháil" @@ -2603,23 +2638,23 @@ msgstr "Sábháil" msgid "Scan" msgstr "Scanadh" -#: src/component/settings/passcode.vue:179 +#: src/component/settings/passcode.vue:182 msgid "Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:" msgstr "Scan an cód QR le d'aip fíordheimhnitheora nó bain úsáid as an eochair socraithe a thaispeántar thíos agus ansin cuir isteach an cód fíoraithe ginte:" -#: src/component/navigation.vue:461 +#: src/component/navigation.vue:463 msgid "Scans" msgstr "Scananna" -#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:377 -#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:310 +#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:381 +#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:313 msgid "Scope" msgstr "Raon feidhme" -#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:62 -#: src/component/navigation.vue:342 src/component/navigation.vue:1866 -#: src/component/photo/toolbar.vue:57 src/options/options.js:197 -#: src/page/albums.vue:100 src/page/labels.vue:77 +#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:69 +#: src/component/location/dialog.vue:133 src/component/navigation.vue:343 +#: src/component/navigation.vue:1905 src/component/photo/toolbar.vue:57 +#: src/options/options.js:197 src/page/albums.vue:100 src/page/labels.vue:77 #: src/page/library/errors.vue:76 src/page/people/recognized.vue:66 #: src/page/places.vue:79 src/page/settings/content.vue:235 msgid "Search" @@ -2657,11 +2692,11 @@ msgstr "Roghnaigh dáta" msgid "Select dates" msgstr "Roghnaigh dátaí" -#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:154 +#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:156 msgid "Select or create an album" msgstr "Roghnaigh nó cruthaigh albam" -#: src/component/upload/dialog.vue:138 +#: src/component/upload/dialog.vue:140 msgid "Select the files to upload…" msgstr "Roghnaigh na comhaid le huaslódáil…" @@ -2689,7 +2724,7 @@ msgstr "Athchóiríodh an roghnúchán" msgid "Sequential Name" msgstr "Ainm Seicheamhach" -#: src/component/service/add.vue:67 src/component/service/edit.vue:322 +#: src/component/service/add.vue:68 src/component/service/edit.vue:323 #: src/component/share/dialog.vue:25 msgid "Service URL" msgstr "URL seirbhíse" @@ -2698,7 +2733,7 @@ msgstr "URL seirbhíse" msgid "Services" msgstr "Seirbhísí" -#: src/model/session.js:107 src/options/auth.js:41 src/options/auth.js:90 +#: src/model/session.js:107 src/options/auth.js:42 src/options/auth.js:91 msgid "Session" msgstr "Seisiún" @@ -2706,7 +2741,7 @@ msgstr "Seisiún" msgid "Session ID" msgstr "Aitheantas an tseisiúin" -#: src/page/admin.vue:45 +#: src/page/admin.vue:44 msgid "Sessions" msgstr "Seisiúin" @@ -2714,22 +2749,22 @@ msgstr "Seisiúin" msgid "Set as Album Cover" msgstr "Socraigh mar Chlúdach Albam" -#: src/app/routes.js:101 src/app/routes.js:492 src/app/routes.js:504 -#: src/app/routes.js:521 src/app/routes.js:534 src/app/routes.js:547 -#: src/component/navigation.vue:1394 src/component/navigation.vue:1806 +#: src/app/routes.js:101 src/app/routes.js:500 src/app/routes.js:512 +#: src/app/routes.js:529 src/app/routes.js:542 src/app/routes.js:555 +#: src/component/navigation.vue:1419 src/component/navigation.vue:1841 msgid "Settings" msgstr "Socruithe" #: src/page/settings/account.vue:115 src/page/settings/account.vue:144 -#: src/component/settings/passcode.vue:147 +#: src/component/settings/passcode.vue:151 msgid "Settings saved" msgstr "Socruithe sábháilte" -#: src/component/service/upload.vue:131 src/component/settings/passcode.vue:160 +#: src/component/service/upload.vue:132 src/component/settings/passcode.vue:163 msgid "Setup" msgstr "Socrú" -#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:98 +#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:103 #: src/component/photo/clipboard.vue:51 src/page/settings/general.vue:382 msgid "Share" msgstr "Comhroinn" @@ -2746,7 +2781,7 @@ msgstr "Roinn do chuid pictiúr le haipeanna agus seirbhísí eile." msgid "Show" msgstr "Taispeáin" -#: src/page/people/new.vue:116 src/page/people/new.vue:233 +#: src/page/people/new.vue:116 src/page/people/new.vue:235 msgid "Show all new faces" msgstr "Taispeáin gach aghaidh nua" @@ -2791,7 +2826,7 @@ msgid "Similar" msgstr "Cosúil" #: src/component/photo/edit/files.vue:51 src/component/photo/edit/files.vue:341 -#: src/component/service/edit.vue:139 src/component/sidebar/info.vue:96 +#: src/component/service/edit.vue:140 src/component/sidebar/info.vue:96 msgid "Size" msgstr "Méid" @@ -2819,7 +2854,7 @@ msgstr "Chuaigh rud éigin mícheart, bain triail eile as" msgid "Sort by" msgstr "Sórtáil de réir" -#: src/component/album/edit/dialog.vue:142 src/component/photo/toolbar.vue:288 +#: src/component/album/edit/dialog.vue:143 src/component/photo/toolbar.vue:290 #: src/page/albums.vue:214 msgid "Sort Order" msgstr "Ordú Sórtála" @@ -2854,7 +2889,7 @@ msgstr "Stack pictiúir a tógadh ag an am céanna agus an suíomh céanna bunai msgid "Stackable" msgstr "Cruachta" -#: src/component/navigation.vue:421 src/page/settings/content.vue:136 +#: src/component/navigation.vue:423 src/page/settings/content.vue:136 msgid "Stacks" msgstr "Cruacha" @@ -2882,16 +2917,16 @@ msgstr "Stóráil" msgid "Streets" msgstr "Sráideanna" -#: src/component/photo/edit/details.vue:494 +#: src/component/photo/edit/details.vue:468 #: src/component/photo/edit/labels.vue:44 msgid "Subject" msgstr "Ábhar" -#: src/page/about/feedback.vue:162 src/page/about/feedback.vue:163 +#: src/page/about/feedback.vue:163 src/page/about/feedback.vue:164 msgid "Submit" msgstr "Cuir isteach" -#: src/component/settings/passcode.vue:132 +#: src/component/settings/passcode.vue:136 msgid "Successfully activated" msgstr "Cuireadh i ngníomh go rathúil" @@ -2900,23 +2935,23 @@ msgid "Successfully Connected" msgstr "D'éirigh leis Ceangailte" #: src/component/session/remove/dialog.vue:32 -#: src/component/settings/apps.vue:218 +#: src/component/settings/apps.vue:222 msgid "Successfully deleted" msgstr "Scriosadh go rathúil" -#: src/component/settings/passcode.vue:107 +#: src/component/settings/passcode.vue:108 msgid "Successfully verified" msgstr "D'éirigh leis a fhíorú" -#: src/component/user/edit/dialog.vue:398 src/page/admin/users.vue:163 +#: src/component/user/edit/dialog.vue:399 src/page/admin/users.vue:165 msgid "Super Admin" msgstr "Sár-Riarachán" -#: src/component/service/add.vue:122 +#: src/component/service/add.vue:123 msgid "Support for additional services, like Google Drive, will be added over time." msgstr "Cuirfear tacaíocht le haghaidh seirbhísí breise, amhail Google Drive, leis in imeacht ama." -#: src/component/confirm/sponsor.vue:37 src/component/navigation.vue:1629 +#: src/component/confirm/sponsor.vue:38 src/component/navigation.vue:1660 msgid "Support Our Mission" msgstr "Tacaigh lenár Misean" @@ -2924,7 +2959,7 @@ msgstr "Tacaigh lenár Misean" msgid "Sync" msgstr "Sioncrónaigh" -#: src/component/service/edit.vue:289 +#: src/component/service/edit.vue:290 msgid "Sync raw and video files" msgstr "Sioncronaigh comhaid amh agus físe" @@ -2950,23 +2985,23 @@ msgstr "tír-raon" msgid "Text" msgstr "Téacs" -#: src/component/photo/edit/details.vue:32 src/page/people/new.vue:71 +#: src/component/photo/edit/details.vue:40 src/page/people/new.vue:71 msgid "Text too long" msgstr "Téacs ró-fhada" -#: src/page/about/about.vue:145 +#: src/page/about/about.vue:146 msgid "Thank You for Your Support!" msgstr "Go raibh maith agat as do Thacaíocht!" -#: src/page/about/about.vue:79 src/page/about/about.vue:85 +#: src/page/about/about.vue:80 src/page/about/about.vue:86 msgid "That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality." msgstr "Sin an fáth a tógadh PhotoPrim ón talamh aníos le rith cibé áit a dteastaíonn uait é, gan cur isteach ar shaoirse, ar phríobháideachas ná ar fheidhmiúlacht." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "The index currently contains %{n} hidden files." msgstr "Tá %{n} comhad folaithe san innéacs faoi láthair." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates." msgstr "Seans nach dtacaítear lena bhformáid, níor tiontaigh go JPEG iad go fóill nó go bhfuil dúbailt ann." @@ -2981,44 +3016,44 @@ msgstr "Téama" msgid "This field is required" msgstr "Tá an réimse seo ag teastáil" -#: src/component/settings/webdav.vue:100 src/page/settings/services.vue:144 +#: src/component/settings/webdav.vue:101 src/page/settings/services.vue:147 msgid "This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local." msgstr "Gléasann sé seo an bunfhillteán mar thiomántán líonra agus ligeann sé duit comhaid a oscailt, a chur in eagar agus a scriosadh ó do ríomhaire nó ó do ghuthán cliste amhail is go raibh siad áitiúil." -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Time UTC" msgstr "Am UTC" -#: src/component/photo/edit/details.vue:219 src/page/settings/general.vue:108 +#: src/component/photo/edit/details.vue:221 src/page/settings/general.vue:108 msgid "Time Zone" msgstr "Crios Ama" -#: src/component/service/edit.vue:408 +#: src/component/service/edit.vue:409 msgid "Timeout" msgstr "Teorainn Ama" -#: src/component/user/edit/dialog.vue:98 src/component/user/edit/dialog.vue:99 +#: src/component/user/edit/dialog.vue:99 src/component/user/edit/dialog.vue:100 #: src/page/settings/account.vue:84 src/page/settings/account.vue:86 msgctxt "Account" msgid "Title" msgstr "Teideal" -#: src/component/photo/edit/details.vue:73 +#: src/component/photo/edit/details.vue:75 msgctxt "Photo" msgid "Title" msgstr "Teideal" -#: src/component/photo/edit/info.vue:59 src/component/photo/edit/info.vue:155 +#: src/component/photo/edit/info.vue:61 src/component/photo/edit/info.vue:155 #: src/component/photo/edit/labels.vue:40 src/component/photo/view/list.vue:114 #: src/component/sidebar/info.vue:57 msgid "Title" msgstr "Teideal" -#: src/page/settings/account.vue:553 src/page/settings/account.vue:555 +#: src/page/settings/account.vue:559 src/page/settings/account.vue:561 msgid "Title / Position" msgstr "Teideal / Post" -#: src/page/albums.vue:83 +#: src/page/albums.vue:84 msgid "Title too long" msgstr "Teideal ró-fhada" @@ -3026,19 +3061,19 @@ msgstr "Teideal ró-fhada" msgid "to" msgstr "chuig" -#: src/component/settings/passcode.vue:312 +#: src/component/settings/passcode.vue:315 msgid "To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place." msgstr "Chun a sheachaint a bheith glasáilte amach ó do chuntas, íoslódáil, priontáil nó cóipeáil an cód athshlánaithe seo anois agus coinnigh in áit shábháilte é." -#: src/component/settings/apps.vue:272 +#: src/component/settings/apps.vue:275 msgid "To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:" msgstr "Chun pasfhocal nua a bhaineann go sonrach le haip a ghiniúint, cuir isteach ainm agus raon feidhme údaraithe an fheidhmchláir agus roghnaigh dáta éaga:" -#: src/component/settings/passcode.vue:400 +#: src/component/settings/passcode.vue:403 msgid "To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:" msgstr "Chun athrú go haip nó gléas fíordheimhneora nua, díghníomhachtaigh fíordheimhniú dhá fhachtóir ar dtús agus ansin athghníomhaigh é:" -#: src/page/connect.vue:221 src/page/connect.vue:230 +#: src/page/connect.vue:223 src/page/connect.vue:232 msgid "To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:" msgstr "Chun uasghrádú a dhéanamh, is féidir leat cód gníomhachtúcháin a chur isteach nó cliceáil \"Cláraigh\" chun clárú ar ár suíomh Gréasáin:" @@ -3046,7 +3081,7 @@ msgstr "Chun uasghrádú a dhéanamh, is féidir leat cód gníomhachtúcháin a msgid "Today" msgstr "Inniu" -#: src/component/album/toolbar.vue:70 src/component/photo/toolbar.vue:78 +#: src/component/album/toolbar.vue:71 src/component/photo/toolbar.vue:78 msgid "Toggle View" msgstr "Scoránaigh Amharc" @@ -3073,20 +3108,24 @@ msgstr "Fabhtcheartú" msgid "Try again using other filters or keywords." msgstr "Bain triail eile as scagairí nó eochairfhocail eile." -#: src/component/settings/passcode.vue:380 +#: src/component/settings/passcode.vue:383 msgid "Two-factor authentication has been enabled for your account." msgstr "Cumasaíodh fíordheimhniú dhá fhachtóir do do chuntas." #: src/component/photo/edit/files.vue:58 src/component/photo/edit/files.vue:330 -#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:388 +#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:389 msgid "Type" msgstr "Cineál" -#: src/options/auth.js:13 +#: src/component/album/toolbar.vue:178 +msgid "Unable to delete" +msgstr "Ní féidir scriosadh" + +#: src/options/auth.js:14 msgid "Unauthorized" msgstr "Neamhúdaraithe" -#: src/component/photo/edit/people.vue:94 +#: src/component/photo/edit/people.vue:95 msgid "Undo" msgstr "Cealaigh" @@ -3094,16 +3133,16 @@ msgstr "Cealaigh" msgid "Unique ID" msgstr "Aitheantas uathúil" -#: src/page/settings/account.vue:451 src/page/settings/account.vue:476 -#: src/page/settings/account.vue:501 src/common/util.js:487 -#: src/component/photo/edit/details.vue:21 -#: src/component/photo/edit/details.vue:111 -#: src/component/photo/edit/details.vue:138 -#: src/component/photo/edit/details.vue:164 src/component/sidebar/info.vue:43 -#: src/model/album.js:193 src/model/photo.js:323 src/model/photo.js:784 -#: src/model/photo.js:809 src/model/photo.js:832 src/model/photo.js:850 -#: src/model/photo.js:897 src/model/photo.js:905 src/model/photo.js:994 -#: src/model/photo.js:1016 src/model/photo.js:1061 src/model/photo.js:1074 +#: src/page/settings/account.vue:457 src/page/settings/account.vue:482 +#: src/page/settings/account.vue:507 src/common/util.js:488 +#: src/component/photo/edit/details.vue:27 +#: src/component/photo/edit/details.vue:113 +#: src/component/photo/edit/details.vue:140 +#: src/component/photo/edit/details.vue:166 src/component/sidebar/info.vue:43 +#: src/model/album.js:193 src/model/photo.js:331 src/model/photo.js:821 +#: src/model/photo.js:846 src/model/photo.js:869 src/model/photo.js:887 +#: src/model/photo.js:934 src/model/photo.js:942 src/model/photo.js:1031 +#: src/model/photo.js:1053 src/model/photo.js:1098 src/model/photo.js:1111 #: src/model/user.js:157 src/options/options.js:51 src/options/options.js:69 #: src/options/options.js:86 src/options/options.js:100 #: src/options/options.js:112 src/page/library/errors.vue:251 @@ -3116,7 +3155,7 @@ msgstr "Anaithnid" msgid "Unregistered" msgstr "Neamhchláraithe" -#: src/app/routes.js:215 src/component/navigation.vue:644 +#: src/app/routes.js:223 src/component/navigation.vue:648 msgid "Unsorted" msgstr "Neamhshórtáilte" @@ -3124,7 +3163,7 @@ msgstr "Neamhshórtáilte" msgid "Unstack" msgstr "Díscrios" -#: src/component/photo/edit/files.vue:519 src/component/photo/edit/info.vue:416 +#: src/component/photo/edit/files.vue:521 src/component/photo/edit/info.vue:416 msgid "Updated" msgstr "Nuashonraithe" @@ -3140,7 +3179,7 @@ msgstr "Innéacs á nuashonrú" msgid "Updating moments" msgstr "Nóiméid á nuashonrú" -#: src/component/user/edit/dialog.vue:154 +#: src/component/user/edit/dialog.vue:155 msgid "Updating picture…" msgstr "Pictiúr á nuashonrú…" @@ -3152,21 +3191,21 @@ msgstr "Réamhamhairc á nuashonrú" msgid "Updating stacks" msgstr "Stoic á nuashonrú" -#: src/page/connect.vue:57 src/component/navigation.vue:1500 -#: src/component/navigation.vue:1614 src/component/navigation.vue:1999 +#: src/page/connect.vue:57 src/component/navigation.vue:1526 +#: src/component/navigation.vue:1644 src/component/navigation.vue:2047 #: src/page/connect.vue:58 msgid "Upgrade" msgstr "Uasghrádú" -#: src/page/about/about.vue:123 src/page/connect.vue:202 -#: src/component/confirm/sponsor.vue:98 src/page/about/about.vue:113 -#: src/page/connect.vue:206 +#: src/page/about/about.vue:124 src/page/connect.vue:204 +#: src/component/confirm/sponsor.vue:99 src/page/about/about.vue:114 +#: src/page/connect.vue:208 msgid "Upgrade Now" msgstr "Uasghrádaigh Anois" -#: src/component/album/toolbar.vue:108 src/component/navigation.vue:1824 -#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:144 -#: src/component/upload/dialog.vue:51 src/page/albums.vue:183 +#: src/component/album/toolbar.vue:113 src/component/navigation.vue:1860 +#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:145 +#: src/component/upload/dialog.vue:51 src/page/albums.vue:185 #: src/page/labels.vue:122 src/page/library/import.vue:133 #: src/page/settings/general.vue:307 src/page/settings/services.vue:38 msgid "Upload" @@ -3176,21 +3215,21 @@ msgstr "Uaslódáil" msgid "Upload complete" msgstr "Uaslódáil iomlán" -#: src/component/upload/dialog.vue:133 +#: src/component/upload/dialog.vue:135 msgid "Upload complete. Indexing…" msgstr "Uaslódáil iomlán. Innéacsú…" #: src/component/upload/dialog.vue:296 src/component/upload/dialog.vue:315 -#: src/component/upload/dialog.vue:129 +#: src/component/upload/dialog.vue:131 msgid "Upload failed" msgstr "Theip ar an uaslódáil" -#: src/component/service/edit.vue:257 +#: src/component/service/edit.vue:258 msgid "Upload local files" msgstr "Íoslódáil comhaid áitiúla" -#: src/component/user/edit/dialog.vue:380 #: src/component/user/edit/dialog.vue:381 +#: src/component/user/edit/dialog.vue:382 msgid "Upload Path" msgstr "Bealach Uaslódáil" @@ -3198,7 +3237,7 @@ msgstr "Bealach Uaslódáil" msgid "Upload to WebDAV and share links with friends." msgstr "Uaslódáil chuig WebDAV agus roinn naisc le cairde." -#: src/component/upload/dialog.vue:131 +#: src/component/upload/dialog.vue:133 msgid "Uploading %{n} of %{t}…" msgstr "%{n} de %{t} á uaslódáil…" @@ -3211,7 +3250,7 @@ msgstr "Grianghraif á n-uaslódáil…" msgid "Uploading…" msgstr "Á uaslódáil…" -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Uploads that may contain such images will be rejected automatically." msgstr "Diúltófar go huathoibríoch d’uaslódálacha a bhféadfadh íomhánna den sórt sin a bheith iontu." @@ -3219,7 +3258,7 @@ msgstr "Diúltófar go huathoibríoch d’uaslódálacha a bhféadfadh íomhánn msgid "Use Presets" msgstr "Úsáid Réamhshocruithe" -#: src/component/settings/passcode.vue:283 +#: src/component/settings/passcode.vue:286 msgid "Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:" msgstr "Úsáid an cód athshlánaithe seo a leanas chun rochtain a fháil ar do chuntas nuair nach bhfuil tú in ann cód fíoraithe bailí a ghiniúint le d’aip fíordheimhneora:" @@ -3227,12 +3266,12 @@ msgstr "Úsáid an cód athshlánaithe seo a leanas chun rochtain a fháil ar do msgid "Use your recovery code or contact an administrator for help." msgstr "Bain úsáid as do chód athshlánaithe nó déan teagmháil le riarthóir chun cabhair a fháil." -#: src/options/admin.js:10 src/page/admin/sessions.vue:59 -#: src/page/admin/sessions.vue:242 src/model/user.js:361 src/options/auth.js:7 +#: src/options/admin.js:14 src/page/admin/sessions.vue:59 +#: src/page/admin/sessions.vue:243 src/model/user.js:361 src/options/auth.js:8 msgid "User" msgstr "Úsáideoir" -#: src/component/navigation.vue:1979 +#: src/component/navigation.vue:2025 msgid "User Guide" msgstr "Treoir Úsáideora" @@ -3240,14 +3279,14 @@ msgstr "Treoir Úsáideora" msgid "User Interface" msgstr "Comhéadan Úsáideora" -#: src/component/user/add/dialog.vue:87 src/component/user/add/dialog.vue:88 -#: src/page/admin/sessions.vue:220 src/page/admin/users.vue:71 -#: src/component/service/add.vue:85 src/component/service/edit.vue:337 +#: src/component/user/add/dialog.vue:88 src/component/user/add/dialog.vue:89 +#: src/page/admin/sessions.vue:221 src/page/admin/users.vue:73 +#: src/component/service/add.vue:86 src/component/service/edit.vue:338 #: src/component/share/dialog.vue:26 msgid "Username" msgstr "Ainm úsáideora" -#: src/component/navigation.vue:1435 +#: src/component/navigation.vue:1461 msgid "Users" msgstr "Úsáideoirí" @@ -3257,18 +3296,18 @@ msgstr "Úsáideoirí" msgid "Vector" msgstr "Veicteoir" -#: src/component/navigation.vue:440 +#: src/component/navigation.vue:442 msgid "Vectors" msgstr "Veicteoirí" -#: src/component/settings/passcode.vue:227 src/page/auth/login.vue:144 +#: src/component/settings/passcode.vue:230 src/page/auth/login.vue:144 msgid "Verification Code" msgstr "Cód Fíoraithe" #: src/component/photo/view/cards.vue:363 #: src/component/photo/view/cards.vue:491 src/component/photo/view/list.vue:190 #: src/component/photo/view/mosaic.vue:207 src/model/file.js:221 -#: src/model/photo.js:921 src/model/photo.js:939 src/options/options.js:293 +#: src/model/photo.js:958 src/model/photo.js:976 src/options/options.js:293 msgid "Video" msgstr "Físeán" @@ -3277,12 +3316,12 @@ msgstr "Físeán" msgid "Video Duration" msgstr "Fad Físeáin" -#: src/app/routes.js:243 src/component/navigation.vue:728 +#: src/app/routes.js:251 src/component/navigation.vue:734 #: src/options/options.js:200 msgid "Videos" msgstr "Físeáin" -#: src/component/photo/toolbar.vue:261 src/component/photo/view/cards.vue:350 +#: src/component/photo/toolbar.vue:263 src/component/photo/view/cards.vue:350 #: src/component/photo/view/mosaic.vue:194 msgid "View" msgstr "Amharc" @@ -3291,11 +3330,11 @@ msgstr "Amharc" msgid "View search results as a list." msgstr "Féach ar thorthaí cuardaigh mar liosta." -#: src/options/admin.js:14 src/options/auth.js:8 +#: src/options/admin.js:18 src/options/auth.js:9 msgid "Viewer" msgstr "Amharcóir" -#: src/page/admin/sessions.vue:271 src/options/auth.js:12 +#: src/page/admin/sessions.vue:272 src/options/auth.js:13 msgid "Visitor" msgstr "Cuairteoir" @@ -3307,34 +3346,34 @@ msgstr "Cosúlacht Amharc" msgid "Warning" msgstr "Rabhadh" -#: src/page/about/feedback.vue:60 +#: src/page/about/feedback.vue:61 msgid "We appreciate your feedback!" msgstr "Táimid buíoch as do chuid aiseolais!" -#: src/page/about/feedback.vue:63 +#: src/page/about/feedback.vue:64 msgid "We do our best to respond within five business days or less." msgstr "Déanaimid ár ndícheall freagra a thabhairt laistigh de chúig lá gnó nó níos lú." -#: src/component/user/add/dialog.vue:235 src/component/user/edit/dialog.vue:415 -#: src/page/admin/users.vue:80 +#: src/component/user/add/dialog.vue:236 src/component/user/edit/dialog.vue:416 +#: src/page/admin/users.vue:82 msgid "Web Login" msgstr "Logáil Isteach Gréasáin" -#: src/component/user/add/dialog.vue:248 src/component/user/edit/dialog.vue:432 -#: src/page/admin/users.vue:82 src/options/auth.js:55 src/options/auth.js:68 +#: src/component/user/add/dialog.vue:249 src/component/user/edit/dialog.vue:433 +#: src/page/admin/users.vue:84 src/options/auth.js:56 src/options/auth.js:69 #: src/options/options.js:444 msgid "WebDAV" msgstr "WebDAV" -#: src/component/settings/webdav.vue:51 +#: src/component/settings/webdav.vue:52 msgid "WebDAV clients can connect to PhotoPrism using the following URL:" msgstr "Is féidir le cliaint WebDAV ceangal le PhotoPrim leis an URL seo a leanas:" -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism." msgstr "Is féidir le cliaint WebDAV, cosúil le Windows Explorer nó Aimsitheoir Apple de chuid Microsoft, nascadh go díreach le PhotoPrism." -#: src/component/service/upload.vue:50 src/component/share/dialog.vue:220 +#: src/component/service/upload.vue:51 src/component/share/dialog.vue:220 msgid "WebDAV Upload" msgstr "Uaslódáil WebDAV" @@ -3342,8 +3381,8 @@ msgstr "Uaslódáil WebDAV" msgid "WebGL support is disabled in your browser" msgstr "Tá tacaíocht WebGL díchumasaithe i do bhrabhsálaí" -#: src/page/settings/account.vue:615 src/page/settings/account.vue:709 -#: src/page/settings/account.vue:601 +#: src/page/settings/account.vue:621 src/page/settings/account.vue:715 +#: src/page/settings/account.vue:607 msgid "Website" msgstr "Suíomh Gréasáin" @@ -3351,12 +3390,12 @@ msgstr "Suíomh Gréasáin" msgid "White" msgstr "Bán" -#: src/page/settings/account.vue:532 +#: src/page/settings/account.vue:538 msgid "Work Details" msgstr "Sonraí Oibre" -#: src/page/settings/account.vue:500 src/component/photo/edit/details.vue:163 -#: src/component/photo/toolbar.vue:315 src/page/albums.vue:159 +#: src/page/settings/account.vue:506 src/component/photo/edit/details.vue:165 +#: src/component/photo/toolbar.vue:317 src/page/albums.vue:159 msgid "Year" msgstr "Bliain" @@ -3364,21 +3403,21 @@ msgstr "Bliain" msgid "Yellow" msgstr "Buí" -#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:58 -#: src/component/photo/archive/dialog.vue:58 +#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:59 +#: src/component/photo/archive/dialog.vue:59 #: src/component/photo/clipboard.vue:200 src/component/photo/edit/files.vue:365 #: src/component/photo/edit/files.vue:395 #: src/component/photo/edit/files.vue:401 #: src/component/photo/edit/files.vue:407 -#: src/component/photo/edit/files.vue:510 src/component/photo/edit/info.vue:281 +#: src/component/photo/edit/files.vue:512 src/component/photo/edit/info.vue:281 #: src/component/photo/edit/info.vue:297 src/component/photo/edit/info.vue:313 #: src/component/photo/edit/info.vue:329 src/component/photo/edit/info.vue:344 -#: src/component/photo/toolbar.vue:434 +#: src/component/photo/toolbar.vue:436 msgid "Yes" msgstr "Tá" -#: src/component/confirm/sponsor.vue:59 src/page/about/about.vue:158 -#: src/page/connect.vue:315 +#: src/component/confirm/sponsor.vue:60 src/page/about/about.vue:160 +#: src/page/connect.vue:317 msgid "You are welcome to contact us at membership@photoprism.app for questions regarding your membership." msgstr "Tá fáilte romhat teagmháil a dhéanamh linn ag membership@photoprism.app le haghaidh ceisteanna maidir le do bhallraíocht." @@ -3390,7 +3429,11 @@ msgstr "Is féidir leat a íoslódáil albam amháin" msgid "You can only download one label" msgstr "Ní féidir leat ach lipéad amháin a íoslódáil" -#: src/component/upload/dialog.vue:203 +#: src/component/location/dialog.vue:178 +msgid "You can search for a location or move the marker on the map to change the position:" +msgstr "Is féidir leat suíomh a chuardach nó an marcóir a bhogadh ar an léarscáil chun an suíomh a athrú:" + +#: src/component/upload/dialog.vue:205 msgid "You can upload up to %{n} files for test purposes." msgstr "Is féidir leat suas le %{n} comhad a uaslódáil chun críocha tástála." @@ -3403,7 +3446,7 @@ msgstr "Ní féidir leat ach mír amháin a roghnú" msgid "You may rescan your library to find additional faces." msgstr "Is féidir leat do leabharlann a athscanadh chun aghaidheanna breise a fháil." -#: src/page/connect.vue:146 src/page/connect.vue:150 +#: src/page/connect.vue:147 src/page/connect.vue:151 msgid "Your account has been successfully connected." msgstr "D'éirigh le do chuntas a nascadh." @@ -3411,8 +3454,8 @@ msgstr "D'éirigh le do chuntas a nascadh." msgid "Your browser does not support WebGL" msgstr "Ní thacaíonn do bhrabhsálaí le WebGL" -#: src/component/confirm/sponsor.vue:43 src/page/about/about.vue:97 -#: src/page/about/about.vue:156 src/page/connect.vue:220 +#: src/component/confirm/sponsor.vue:44 src/page/about/about.vue:98 +#: src/page/about/about.vue:158 src/page/connect.vue:222 msgid "Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy." msgstr "Cuidíonn do thacaíocht leanúnach linn nuashonruithe rialta a sholáthar agus fanacht neamhspleách, ionas gur féidir linn ár misean a chomhlíonadh agus do phríobháideachas a chosaint." @@ -3493,9 +3536,6 @@ msgstr "Súmáil isteach/amach" #~ msgid "Open Folder" #~ msgstr "Fillteán Oscailte" -#~ msgid "Cannot copy to clipboard" -#~ msgstr "Ní féidir cóip a dhéanamh chuig an ngearrthaisce" - #~ msgid "Sound" #~ msgstr "Fuaim" diff --git a/frontend/src/locales/he.po b/frontend/src/locales/he.po index 925229e3f..1c3e23479 100644 --- a/frontend/src/locales/he.po +++ b/frontend/src/locales/he.po @@ -3,15 +3,15 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: ci@photoprism.app\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2025-04-21 10:52+0000\n" -"Last-Translator: Admin \n" +"PO-Revision-Date: 2025-07-06 08:58+0000\n" +"Last-Translator: Google Cloud Translation Basic \n" "Language-Team: Hebrew \n" "Language: he\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 && n % 10 == 0) ? 2 : 3));\n" -"X-Generator: Weblate 5.11\n" +"X-Generator: Weblate 5.12.2\n" "Generated-By: easygettext\n" #: src/locales.js:268 @@ -42,7 +42,7 @@ msgstr "נבחרו {0}" msgid "{0}-{1} of {2}" msgstr "{0}-{1} מתוך {2}" -#: src/page/albums.vue:612 +#: src/page/albums.vue:617 msgid "%{n} albums found" msgstr "%{n} אלבומים נמצאו" @@ -50,25 +50,25 @@ msgstr "%{n} אלבומים נמצאו" msgid "%{n} files uploaded" msgstr "%{n} קבצים הועלו" -#: src/page/library/browse.vue:362 +#: src/page/library/browse.vue:364 msgid "%{n} folders found" msgstr "%{n} תיקיות הועלו" -#: src/component/navigation.vue:1676 +#: src/component/navigation.vue:1707 msgid "%{n} GB of %{q} GB used" msgstr "%{n} GB מתוך %{q} GB בשימוש" -#: src/page/labels.vue:528 +#: src/page/labels.vue:533 msgid "%{n} labels found" msgstr "%{n} תוויות נמצאו" -#: src/page/people/new.vue:350 src/page/people/new.vue:447 -#: src/page/people/recognized.vue:536 +#: src/page/people/new.vue:350 src/page/people/new.vue:450 +#: src/page/people/recognized.vue:541 msgid "%{n} people found" msgstr "%{n} אנשים מצאו" -#: src/page/album/photos.vue:308 src/page/album/photos.vue:493 -#: src/page/photos.vue:441 src/page/photos.vue:631 +#: src/page/album/photos.vue:313 src/page/album/photos.vue:504 +#: src/page/photos.vue:446 src/page/photos.vue:641 msgid "%{n} pictures found" msgstr "נמצאו %{n} תמונות" @@ -88,12 +88,12 @@ msgstr "שעה" msgid "12 hours" msgstr "12 שעות" -#: src/component/user/edit/dialog.vue:452 src/page/settings/account.vue:324 -#: src/component/settings/passcode.vue:75 +#: src/component/user/edit/dialog.vue:453 src/page/settings/account.vue:325 +#: src/component/settings/passcode.vue:78 msgid "2-Factor Authentication" msgstr "אימות דו-גורמי" -#: src/component/user/edit/dialog.vue:451 src/options/auth.js:46 +#: src/component/user/edit/dialog.vue:452 src/options/auth.js:47 msgid "2FA" msgstr "2FA" @@ -109,20 +109,20 @@ msgstr "לחיצה תעתיק את זה." msgid "A new version of %{s} is available:" msgstr "גרסה חדשה של %{s} זמינה:" -#: src/component/user/edit/dialog.vue:233 -#: src/component/user/edit/dialog.vue:234 src/page/about/about.vue:56 +#: src/component/user/edit/dialog.vue:234 +#: src/component/user/edit/dialog.vue:235 src/page/about/about.vue:56 #: src/page/settings/account.vue:248 src/page/settings/account.vue:249 -#: src/app/routes.js:63 src/component/navigation.vue:1521 -#: src/page/people/recognized.vue:292 +#: src/app/routes.js:63 src/component/navigation.vue:1547 +#: src/page/people/recognized.vue:296 msgid "About" msgstr "אודות" -#: src/options/auth.js:26 src/options/auth.js:44 +#: src/options/auth.js:27 src/options/auth.js:45 msgid "Access Token" msgstr "אסימון גישה" -#: src/component/navigation.vue:87 src/component/navigation.vue:1788 -#: src/component/service/upload.vue:71 src/model/service.js:96 +#: src/component/navigation.vue:87 src/component/navigation.vue:1822 +#: src/component/service/upload.vue:72 src/model/service.js:96 #: src/model/user.js:171 src/page/settings.vue:85 #: src/page/settings/general.vue:582 msgid "Account" @@ -136,7 +136,7 @@ msgstr "החשבון נוצר" msgid "Account deleted" msgstr "החשבון נמחק" -#: src/page/admin/users.vue:335 +#: src/page/admin/users.vue:337 msgid "Account restored" msgstr "החשבון שוחזר" @@ -157,8 +157,8 @@ msgstr "פעולה" msgid "Actions" msgstr "פעולות" -#: src/page/connect.vue:294 src/component/settings/passcode.vue:346 -#: src/page/connect.vue:303 +#: src/page/connect.vue:296 src/component/settings/passcode.vue:349 +#: src/page/connect.vue:305 msgid "Activate" msgstr "הפעלה" @@ -174,20 +174,20 @@ msgstr "הפעל כדי למיין עולה." msgid "Activate to sort descending." msgstr "הפעל כדי למיין יורד." -#: src/page/connect.vue:231 src/page/connect.vue:240 +#: src/page/connect.vue:233 src/page/connect.vue:242 msgid "Activation Code" msgstr "קוד הפעלה" -#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:83 -#: src/component/settings/apps.vue:448 +#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:92 +#: src/component/settings/apps.vue:451 msgid "Add" msgstr "הוספה" -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:246 msgid "Add %{s}?" msgstr "להוסיף %{s}?" -#: src/component/user/add/dialog.vue:56 src/component/service/add.vue:49 +#: src/component/user/add/dialog.vue:57 src/component/service/add.vue:50 msgid "Add Account" msgstr "הוספת חשבון" @@ -204,8 +204,8 @@ msgid "Add Link" msgstr "הוספת קישור" #: src/component/photo/edit/people.vue:25 -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:57 -#: src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:57 +#: src/page/people/new.vue:246 msgid "Add person?" msgstr "להוסיף אדם?" @@ -221,10 +221,15 @@ msgstr "הוסף תמונות מתוצאות החיפוש על ידי בחירת msgid "Add to album" msgstr "הוספה לאלבום" -#: src/component/photo/edit/files.vue:514 +#: src/component/photo/edit/files.vue:516 msgid "Added" msgstr "נוסף" +#: src/component/location/dialog.vue:68 src/component/location/dialog.vue:90 +#: src/component/photo/edit/details.vue:246 +msgid "Adjust Location" +msgstr "התאם מיקום" + #: src/options/admin.js:6 src/options/auth.js:6 msgid "Admin" msgstr "מנהל מערכת" @@ -245,7 +250,7 @@ msgstr "אחרי 3 ימים" msgid "After 7 days" msgstr "אחרי 7 ימים" -#: src/component/settings/passcode.vue:93 +#: src/component/settings/passcode.vue:96 msgid "After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:" msgstr "לאחר הזנת הסיסמה שלך לאישור, תוכל להגדיר אימות דו-שלבי באמצעות אפליקציית אימות תואמת או מכשיר:" @@ -277,12 +282,16 @@ msgstr "אלבום" msgid "Album Backups" msgstr "גיבויי אלבומים" -#: src/page/albums.vue:674 +#: src/page/albums.vue:685 msgid "Album created" msgstr "האלבום נוצר" -#: src/app/routes.js:176 src/component/album/toolbar.vue:51 -#: src/component/navigation.vue:604 src/component/navigation.vue:1882 +#: src/page/album/photos.vue:589 +msgid "Album deleted" +msgstr "האלבום נמחק" + +#: src/app/routes.js:184 src/component/album/toolbar.vue:55 +#: src/component/navigation.vue:607 src/component/navigation.vue:1922 #: src/component/photo/edit/info.vue:220 src/options/options.js:198 msgid "Albums" msgstr "אלבומים" @@ -295,7 +304,7 @@ msgstr "אלבומים נמחקו" msgid "All" msgstr "כֹּל" -#: src/page/albums.vue:465 +#: src/page/albums.vue:470 msgid "All %{n} albums loaded" msgstr "כל %{n} האלבומים נטענו" @@ -311,8 +320,8 @@ msgstr "כל %{n} האנשים נטענו" msgid "All Cameras" msgstr "כל המצלמות" -#: src/component/photo/toolbar.vue:74 src/page/albums.vue:44 -#: src/page/albums.vue:240 src/page/albums.vue:746 +#: src/component/photo/toolbar.vue:74 src/page/albums.vue:45 +#: src/page/albums.vue:242 src/page/albums.vue:757 msgid "All Categories" msgstr "כל הקטגוריות" @@ -344,7 +353,7 @@ msgstr "כל החודשים" msgid "All originals" msgstr "כל המקורות" -#: src/component/photo/toolbar.vue:76 src/page/albums.vue:93 +#: src/component/photo/toolbar.vue:76 src/page/albums.vue:94 msgid "All Years" msgstr "כל השנים" @@ -356,7 +365,7 @@ msgstr "לחלופין, ניתן להעלות קבצים ישירות דרך ש msgid "Altitude" msgstr "גובה" -#: src/component/photo/edit/details.vue:272 +#: src/component/photo/edit/details.vue:297 msgid "Altitude (m)" msgstr "גובה (מ')" @@ -364,8 +373,7 @@ msgstr "גובה (מ')" msgid "AM" msgstr "AM" -#: src/app/routes.js:257 src/component/navigation.vue:791 -#: src/component/photo/edit/files.vue:364 +#: src/app/routes.js:265 src/component/photo/edit/files.vue:364 #: src/component/photo/view/cards.vue:327 #: src/component/photo/view/cards.vue:511 src/component/photo/view/list.vue:184 #: src/component/photo/view/mosaic.vue:171 src/options/options.js:301 @@ -376,43 +384,47 @@ msgstr "מונפש" msgid "Animation" msgstr "אנימציה" +#: src/component/navigation.vue:797 +msgid "Animations" +msgstr "אנימציות" + #: src/component/share/dialog.vue:207 msgid "Any private photos and videos remain private and won't be shared." msgstr "כל התמונות והסרטונים הפרטיים יישארו פרטיים ולא ישותפו." -#: src/component/service/edit.vue:372 +#: src/component/service/edit.vue:373 msgid "API Key" msgstr "מפתח API" -#: src/page/admin/sessions.vue:357 src/options/auth.js:25 +#: src/page/admin/sessions.vue:361 src/options/auth.js:26 msgid "Application" msgstr "יישום" -#: src/component/photo/edit/details.vue:641 +#: src/component/photo/edit/details.vue:615 msgid "Apply" msgstr "החל" #: src/component/photo/clipboard.vue:64 -#: src/component/photo/edit/details.vue:640 +#: src/component/photo/edit/details.vue:614 #: src/component/photo/view/cards.vue:416 msgid "Approve" msgstr "לאשר" -#: src/page/settings/account.vue:374 src/component/settings/apps.vue:91 +#: src/page/settings/account.vue:378 src/component/settings/apps.vue:94 msgid "Apps and Devices" msgstr "אפליקציות והתקנים" -#: src/app/routes.js:287 src/component/lightbox.vue:1207 -#: src/component/navigation.vue:555 src/component/photo/clipboard.vue:142 +#: src/app/routes.js:295 src/component/lightbox.vue:1207 +#: src/component/navigation.vue:557 src/component/photo/clipboard.vue:142 #: src/component/photo/view/cards.vue:398 src/page/settings/general.vue:432 msgid "Archive" msgstr "ארכיון" -#: src/component/lightbox.vue:1982 src/component/photo/edit/info.vue:433 +#: src/component/lightbox.vue:2002 src/component/photo/edit/info.vue:433 msgid "Archived" msgstr "אורכב" -#: src/component/photo/archive/dialog.vue:34 +#: src/component/photo/archive/dialog.vue:35 msgid "Are you sure you want to archive the selection?" msgstr "בטוח לארכב את הבחירה?" @@ -420,19 +432,23 @@ msgstr "בטוח לארכב את הבחירה?" msgid "Are you sure you want to delete these albums?" msgstr "בטוח למחוק את האלבומים האלו?" -#: src/component/label/delete/dialog.vue:34 +#: src/component/label/delete/dialog.vue:35 msgid "Are you sure you want to delete these labels?" msgstr "בטוח למחוק את התוויות האלו?" -#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:36 +#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:37 msgid "Are you sure you want to delete this account?" msgstr "בטוח למחוק את החשבונות?" +#: src/component/album/toolbar.vue:136 +msgid "Are you sure you want to delete this album?" +msgstr "האם אתה בטוח שאתה רוצה למחוק את האלבום הזה?" + #: src/component/photo/clipboard.vue:199 msgid "Are you sure you want to permanently delete these pictures?" msgstr "אתה בטוח שברצונך למחוק את התמונות לצמיתות?" -#: src/component/file/delete/dialog.vue:34 +#: src/component/file/delete/dialog.vue:35 msgid "Are you sure you want to permanently delete this file?" msgstr "בטוח למחוק לצמיתות את הקבצים?" @@ -441,7 +457,7 @@ msgstr "בטוח למחוק לצמיתות את הקבצים?" msgid "Are you sure?" msgstr "האם אתה בטוח?" -#: src/component/photo/edit/details.vue:537 +#: src/component/photo/edit/details.vue:511 msgid "Artist" msgstr "אמן" @@ -449,14 +465,14 @@ msgstr "אמן" msgid "Aspect Ratio" msgstr "יחס גובה-רוחב" -#: src/app/routes.js:250 src/component/navigation.vue:770 +#: src/app/routes.js:258 src/component/navigation.vue:776 #: src/options/options.js:297 msgid "Audio" msgstr "שֶׁמַע" -#: src/component/user/add/dialog.vue:190 src/component/user/edit/dialog.vue:309 -#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:281 -#: src/page/admin/users.vue:75 +#: src/component/user/add/dialog.vue:191 src/component/user/edit/dialog.vue:310 +#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:282 +#: src/page/admin/users.vue:77 msgid "Authentication" msgstr "אימות" @@ -464,11 +480,11 @@ msgstr "אימות" msgid "Auto" msgstr "אוטומטי" -#: src/component/settings/apps.vue:151 +#: src/component/settings/apps.vue:154 msgid "Back" msgstr "חזור" -#: src/component/scroll.vue:20 +#: src/component/scroll.vue:18 msgid "Back to top" msgstr "חזרה למעלה" @@ -480,26 +496,26 @@ msgstr "גיבוי" msgid "Badge" msgstr "תָג" -#: src/component/user/edit/dialog.vue:361 #: src/component/user/edit/dialog.vue:362 +#: src/component/user/edit/dialog.vue:363 msgid "Base Path" msgstr "נתיב בסיס" -#: src/page/about/about.vue:95 src/page/connect.vue:220 +#: src/page/about/about.vue:96 src/page/connect.vue:222 msgid "Become a member today, support our mission and enjoy our member benefits!" msgstr "הפוך לחבר עוד היום, תמכו במשימתנו ותיהנו מהטבות החברים שלנו!" -#: src/component/confirm/sponsor.vue:51 src/page/about/about.vue:99 +#: src/component/confirm/sponsor.vue:52 src/page/about/about.vue:100 msgid "Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services." msgstr "בהיותנו 100% sממומנים עצמאיים ועצמאיים, אנו יכולים להבטיח לך שלעולם לא נמכור את הנתונים שלך ושתמיד נהיה שקופים לגבי התוכנה והשירותים שלנו." -#: src/component/user/edit/dialog.vue:258 -#: src/component/user/edit/dialog.vue:259 src/page/settings/account.vue:227 +#: src/component/user/edit/dialog.vue:259 +#: src/component/user/edit/dialog.vue:260 src/page/settings/account.vue:227 #: src/page/settings/account.vue:228 msgid "Bio" msgstr "אודותיך" -#: src/page/settings/account.vue:431 +#: src/page/settings/account.vue:437 msgid "Birth Date" msgstr "תאריך לידה" @@ -520,7 +536,7 @@ msgid "Brown" msgstr "חום" #: src/component/photo/edit/files.vue:263 src/component/photo/toolbar.vue:141 -#: src/component/upload/dialog.vue:240 +#: src/component/upload/dialog.vue:242 msgid "Browse" msgstr "לְדַפדֵף" @@ -548,16 +564,16 @@ msgstr "דיווח באג" msgid "Busy, please wait…" msgstr "עסוק, בבקשה המתן…" -#: src/page/connect.vue:317 +#: src/page/connect.vue:319 msgid "By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct." msgstr "על ידי שימוש בתוכנה ובשירותים שאנו מספקים, אתה מסכים לתנאי השירות, מדיניות הפרטיות וקוד ההתנהגות שלנו." -#: src/app/routes.js:189 src/component/navigation.vue:1081 +#: src/app/routes.js:197 src/component/navigation.vue:1097 #: src/options/options.js:204 src/page/settings/general.vue:205 msgid "Calendar" msgstr "לוח שנה" -#: src/component/photo/edit/details.vue:346 src/component/photo/toolbar.vue:232 +#: src/component/photo/edit/details.vue:320 src/component/photo/toolbar.vue:234 #: src/component/photo/view/cards.vue:467 src/component/photo/view/list.vue:116 msgid "Camera" msgstr "מצלמה" @@ -570,12 +586,12 @@ msgstr "מזהה מצלמה" msgid "Can't access your authenticator app or device?" msgstr "לא מצליח לגשת לאפליקציית המאמת או למכשיר שלך?" -#: src/page/album/photos.vue:317 src/page/photos.vue:450 +#: src/page/album/photos.vue:322 src/page/photos.vue:455 msgid "Can't load more, limit reached" msgstr "לא ניתן לטעון יותר, הגעת למגבלה" #: src/common/clipboard.js:102 src/common/clipboard.js:139 -#: src/page/albums.vue:684 src/page/albums.vue:700 src/page/labels.vue:293 +#: src/page/albums.vue:695 src/page/albums.vue:711 src/page/labels.vue:293 #: src/page/labels.vue:313 src/page/library/browse.vue:233 #: src/page/library/browse.vue:249 src/page/people/new.vue:278 #: src/page/people/new.vue:294 src/page/people/recognized.vue:305 @@ -584,26 +600,31 @@ msgid "Can't select more items" msgstr "לא ניתן לבחור עוד פרטים" #: src/component/session/remove/dialog.vue:45 -#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:473 -#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:119 +#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:474 +#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:120 #: src/component/album/delete/dialog.vue:43 -#: src/component/album/edit/dialog.vue:199 src/component/confirm/dialog.vue:43 -#: src/component/file/delete/dialog.vue:47 -#: src/component/label/delete/dialog.vue:47 -#: src/component/label/edit/dialog.vue:107 -#: src/component/people/edit/dialog.vue:120 +#: src/component/album/edit/dialog.vue:200 src/component/confirm/dialog.vue:43 +#: src/component/file/delete/dialog.vue:48 +#: src/component/label/delete/dialog.vue:48 +#: src/component/label/edit/dialog.vue:108 +#: src/component/location/dialog.vue:200 +#: src/component/people/edit/dialog.vue:121 #: src/component/photo/album/dialog.vue:78 src/component/service/add.vue:19 -#: src/component/service/edit.vue:455 src/component/service/remove.vue:49 -#: src/component/service/upload.vue:117 src/component/settings/apps.vue:352 -#: src/component/settings/passcode.vue:249 -#: src/component/settings/passcode.vue:333 -#: src/component/settings/password.vue:159 src/component/share/dialog.vue:28 -#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:123 +#: src/component/service/edit.vue:456 src/component/service/remove.vue:50 +#: src/component/service/upload.vue:118 src/component/settings/apps.vue:355 +#: src/component/settings/passcode.vue:252 +#: src/component/settings/passcode.vue:336 +#: src/component/settings/password.vue:160 src/component/share/dialog.vue:28 +#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:124 #: src/page/library/import.vue:119 src/page/library/index.vue:128 msgid "Cancel" msgstr "ביטול" -#: src/component/photo/edit/details.vue:87 src/component/photo/edit/info.vue:61 +#: src/common/util.js:863 src/common/util.js:870 +msgid "Cannot copy to clipboard" +msgstr "לא ניתן להעתיק ללוח" + +#: src/component/photo/edit/details.vue:89 src/component/photo/edit/info.vue:63 #: src/component/photo/edit/labels.vue:42 #: src/component/photo/view/cards.vue:445 src/component/sidebar/info.vue:72 msgid "Caption" @@ -617,17 +638,17 @@ msgstr "כרטיסים" msgid "Carousel slide {0} of {1}" msgstr "שקופית קרוסלה {0} מתוך {1}" -#: src/page/about/feedback.vue:82 src/page/about/feedback.vue:83 -#: src/component/album/edit/dialog.vue:128 src/component/photo/toolbar.vue:397 +#: src/page/about/feedback.vue:83 src/page/about/feedback.vue:84 +#: src/component/album/edit/dialog.vue:129 src/component/photo/toolbar.vue:399 #: src/page/albums.vue:187 msgid "Category" msgstr "קטגוריה" -#: src/component/user/edit/dialog.vue:191 src/page/settings/account.vue:201 +#: src/component/user/edit/dialog.vue:192 src/page/settings/account.vue:201 msgid "Change Avatar" msgstr "שינוי האווטר" -#: src/page/settings/account.vue:297 src/component/settings/password.vue:48 +#: src/page/settings/account.vue:297 src/component/settings/password.vue:49 msgid "Change Password" msgstr "שנה סיסמה" @@ -644,17 +665,17 @@ msgid "Change private flag" msgstr "שינוי דגל הפרטיות" #: src/component/user/add/dialog.vue:108 src/component/user/add/dialog.vue:113 -#: src/component/user/edit/dialog.vue:90 src/component/user/edit/dialog.vue:95 +#: src/component/user/edit/dialog.vue:91 src/component/user/edit/dialog.vue:96 #: src/page/settings/account.vue:121 src/page/settings/account.vue:126 msgid "Changes could not be saved" msgstr "לא ניתן לשמור שינויים" -#: src/component/user/edit/dialog.vue:83 src/component/user/edit/dialog.vue:159 +#: src/component/user/edit/dialog.vue:84 src/component/user/edit/dialog.vue:160 #: src/component/album/edit/dialog.vue:73 -#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1941 +#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1961 #: src/component/photo/edit/files.vue:162 src/component/service/edit.vue:90 #: src/component/share/dialog.vue:92 src/component/share/dialog.vue:111 -#: src/page/albums.vue:677 src/page/people/recognized.vue:119 +#: src/page/albums.vue:688 src/page/people/recognized.vue:119 #: src/page/settings/advanced.vue:62 src/page/settings/content.vue:62 #: src/page/settings/general.vue:108 msgid "Changes successfully saved" @@ -668,7 +689,7 @@ msgstr "שינויים בהגדרות המתקדמות דורשים הפעלה msgid "Checked" msgstr "נבחר" -#: src/component/photo/edit/files.vue:495 +#: src/component/photo/edit/files.vue:497 msgid "Chroma" msgstr "Chroma" @@ -684,24 +705,24 @@ msgstr "לנקות" msgid "Clear {0}" msgstr "נקה {0}" -#: src/options/auth.js:11 src/options/auth.js:23 src/options/auth.js:43 +#: src/options/auth.js:12 src/options/auth.js:24 src/options/auth.js:44 msgid "Client" msgstr "לָקוּחַ" -#: src/options/auth.js:24 +#: src/options/auth.js:25 msgid "Client Credentials" msgstr "אישורי לקוח" -#: src/page/admin/sessions.vue:529 src/component/lightbox.vue:284 -#: src/component/lightbox.vue:1009 src/component/lightbox.vue:1010 -#: src/component/photo/edit/details.vue:627 src/component/photo/toolbar.vue:160 -#: src/component/settings/apps.vue:224 src/component/settings/apps.vue:437 -#: src/component/settings/passcode.vue:148 -#: src/component/settings/passcode.vue:456 -#: src/component/settings/passcode.vue:497 -#: src/component/settings/webdav.vue:131 src/component/share/dialog.vue:231 +#: src/component/user/edit/dialog.vue:474 src/page/admin/sessions.vue:536 +#: src/component/lightbox.vue:284 src/component/lightbox.vue:1009 +#: src/component/lightbox.vue:1010 src/component/photo/edit/details.vue:601 +#: src/component/photo/toolbar.vue:161 src/component/settings/apps.vue:227 +#: src/component/settings/apps.vue:440 src/component/settings/passcode.vue:151 +#: src/component/settings/passcode.vue:459 +#: src/component/settings/passcode.vue:500 +#: src/component/settings/webdav.vue:132 src/component/share/dialog.vue:231 #: src/component/sidebar/info.vue:26 src/component/update.vue:57 -#: src/component/upload/dialog.vue:228 src/locales.js:206 +#: src/component/upload/dialog.vue:230 src/locales.js:206 #: src/page/library/errors.vue:253 msgid "Close" msgstr "סגור" @@ -710,11 +731,11 @@ msgstr "סגור" msgid "Codec" msgstr "קודק" -#: src/component/photo/toolbar.vue:369 +#: src/component/photo/toolbar.vue:371 msgid "Color" msgstr "צבע" -#: src/component/photo/edit/files.vue:483 +#: src/component/photo/edit/files.vue:485 msgid "Color Profile" msgstr "פרופיל צבע" @@ -722,7 +743,7 @@ msgstr "פרופיל צבע" msgid "Colors" msgstr "צבעים" -#: src/page/connect.vue:260 src/page/connect.vue:269 +#: src/page/connect.vue:262 src/page/connect.vue:271 msgid "Compare Editions" msgstr "השווה מהדורות" @@ -735,17 +756,18 @@ msgstr "השלם סריקה מחדש" msgid "Confidence" msgstr "אמון" +#: src/component/location/dialog.vue:212 #: src/component/photo/album/dialog.vue:90 -#: src/component/settings/passcode.vue:261 +#: src/component/settings/passcode.vue:264 msgid "Confirm" msgstr "לְאַשֵׁר" -#: src/component/service/add.vue:20 src/page/settings/services.vue:187 +#: src/component/service/add.vue:20 src/page/settings/services.vue:191 msgid "Connect" msgstr "התחבר" -#: src/page/settings/account.vue:401 src/component/settings/webdav.vue:45 -#: src/page/settings/services.vue:167 +#: src/page/settings/account.vue:406 src/component/settings/webdav.vue:46 +#: src/page/settings/services.vue:170 msgid "Connect via WebDAV" msgstr "התחבר באמצעות WebDAV" @@ -753,22 +775,22 @@ msgstr "התחבר באמצעות WebDAV" msgid "Connected" msgstr "מחובר" -#: src/page/settings/account.vue:640 src/page/settings/account.vue:532 +#: src/page/settings/account.vue:646 src/page/settings/account.vue:538 msgid "Contact Details" msgstr "פרטי התקשרות" -#: src/page/about/feedback.vue:37 src/page/connect.vue:132 -#: src/page/connect.vue:136 +#: src/page/about/feedback.vue:37 src/page/connect.vue:133 +#: src/page/connect.vue:137 msgid "Contact Us" msgstr "צור קשר" #: src/page/albums.vue:433 src/page/labels.vue:237 -#: src/page/people/recognized.vue:306 +#: src/page/people/recognized.vue:310 msgid "Contains %{n} pictures." msgstr "מכיל %{n} תמונות." #: src/page/albums.vue:427 src/page/labels.vue:231 -#: src/page/people/recognized.vue:300 +#: src/page/people/recognized.vue:304 msgid "Contains one picture." msgstr "מכיל תמונה אחת." @@ -776,7 +798,7 @@ msgstr "מכיל תמונה אחת." msgid "Content" msgstr "תוֹכֶן" -#: src/component/settings/apps.vue:163 +#: src/component/settings/apps.vue:166 msgid "Continue" msgstr "לְהַמשִׁיך" @@ -784,7 +806,7 @@ msgstr "לְהַמשִׁיך" msgid "Continue with %{provider}" msgstr "המשך עם %{provider}" -#: src/options/admin.js:18 src/options/auth.js:9 +#: src/options/admin.js:22 src/options/auth.js:10 msgid "Contributor" msgstr "תוֹרֵם" @@ -792,15 +814,15 @@ msgstr "תוֹרֵם" msgid "Converting" msgstr "ממיר" -#: src/common/util.js:846 +#: src/common/util.js:856 msgid "Copied to clipboard" msgstr "הועתק ללוח" -#: src/component/settings/apps.vue:250 src/component/settings/passcode.vue:358 +#: src/component/settings/apps.vue:253 src/component/settings/passcode.vue:361 msgid "Copy" msgstr "עותק" -#: src/component/photo/edit/details.vue:516 +#: src/component/photo/edit/details.vue:490 msgid "Copyright" msgstr "זכויות יוצרים" @@ -808,8 +830,8 @@ msgstr "זכויות יוצרים" msgid "Couldn't find anything." msgstr "לא נמצא דבר." -#: src/page/settings/account.vue:685 src/component/photo/edit/details.vue:242 -#: src/component/photo/toolbar.vue:203 src/page/settings/account.vue:577 +#: src/page/settings/account.vue:691 src/component/photo/edit/details.vue:268 +#: src/component/photo/toolbar.vue:205 src/page/settings/account.vue:583 msgid "Country" msgstr "מדינה" @@ -833,7 +855,7 @@ msgstr "צור קובצי YAML כדי לגבות מטא נתונים של אלב msgid "Create YAML sidecar files to back up picture metadata." msgstr "צור קבצי YAML Sidecar כדי לגבות מטא נתונים של תמונה." -#: src/page/admin/sessions.vue:417 src/component/photo/edit/info.vue:412 +#: src/page/admin/sessions.vue:422 src/component/photo/edit/info.vue:412 msgid "Created" msgstr "נוצר" @@ -845,11 +867,11 @@ msgstr "יותר תמונות מקדימות עבור" msgid "Cubic: Moderate Quality, Good Performance" msgstr "מעוקב: איכות בינונית, ביצועים טובים" -#: src/component/settings/password.vue:85 +#: src/component/settings/password.vue:86 msgid "Current Password" msgstr "צור סיסמה" -#: src/options/themes.js:919 src/options/themes.js:928 +#: src/options/themes.js:920 src/options/themes.js:929 msgid "Custom" msgstr "מִנְהָג" @@ -865,11 +887,11 @@ msgstr "יומי" msgid "Database Backups" msgstr "גיבויים של מסדי נתונים" -#: src/page/settings/account.vue:450 src/component/photo/edit/details.vue:110 +#: src/page/settings/account.vue:456 src/component/photo/edit/details.vue:112 msgid "Day" msgstr "יום" -#: src/component/settings/passcode.vue:445 +#: src/component/settings/passcode.vue:448 msgid "Deactivate" msgstr "השבת" @@ -877,36 +899,40 @@ msgstr "השבת" msgid "Debug Logs" msgstr "Debug Logs" -#: src/options/admin.js:31 src/page/admin/sessions.vue:136 -#: src/page/admin/users.vue:176 src/component/photo/edit/info.vue:47 +#: src/options/admin.js:35 src/page/admin/sessions.vue:136 +#: src/page/admin/users.vue:178 src/component/photo/edit/info.vue:47 #: src/component/photo/edit/info.vue:110 src/model/session.js:66 -#: src/model/user.js:246 src/options/auth.js:20 src/options/auth.js:21 -#: src/options/auth.js:39 src/options/auth.js:40 src/options/options.js:196 +#: src/model/user.js:246 src/options/auth.js:21 src/options/auth.js:22 +#: src/options/auth.js:40 src/options/auth.js:41 src/options/options.js:196 #: src/options/options.js:232 src/options/options.js:316 -#: src/options/themes.js:773 +#: src/options/themes.js:774 msgid "Default" msgstr "ברירת מחדל" -#: src/component/service/edit.vue:123 +#: src/component/service/edit.vue:124 msgid "Default Folder" msgstr "תיקיית ברירת מחדל" #: src/component/session/remove/dialog.vue:56 #: src/component/user/remove/dialog.vue:56 src/component/album/clipboard.vue:97 -#: src/component/album/delete/dialog.vue:54 -#: src/component/file/delete/dialog.vue:58 src/component/label/clipboard.vue:58 -#: src/component/label/delete/dialog.vue:58 +#: src/component/album/delete/dialog.vue:54 src/component/album/toolbar.vue:137 +#: src/component/file/delete/dialog.vue:59 src/component/label/clipboard.vue:58 +#: src/component/label/delete/dialog.vue:59 #: src/component/photo/clipboard.vue:168 src/component/photo/edit/files.vue:238 -#: src/component/service/remove.vue:60 src/component/share/dialog.vue:170 +#: src/component/service/remove.vue:61 src/component/share/dialog.vue:170 #: src/page/settings/general.vue:457 msgid "Delete" msgstr "מחק" +#: src/component/album/toolbar.vue:133 +msgid "Delete Album" +msgstr "מחיקת אלבום" + #: src/component/photo/toolbar.vue:119 src/page/library/errors.vue:95 msgid "Delete All" msgstr "מחק הכל" -#: src/component/photo/toolbar.vue:433 src/page/library/errors.vue:193 +#: src/component/photo/toolbar.vue:435 src/page/library/errors.vue:193 msgid "Delete all?" msgstr "למחוק הכל?" @@ -914,16 +940,16 @@ msgstr "למחוק הכל?" msgid "Delete orphaned index entries, sidecar files and thumbnails." msgstr "מחק ערכי אינדקס יתומים, קבצי צדדיות ותמונות ממוזערות." -#: src/component/album/edit/dialog.vue:107 src/page/albums.vue:411 +#: src/component/album/edit/dialog.vue:108 src/page/albums.vue:411 msgid "Description" msgstr "תיאור" -#: src/component/settings/webdav.vue:115 +#: src/component/settings/webdav.vue:116 msgid "Detailed instructions can be found in our User Guide." msgstr "הוראות מפורטות ניתן למצוא במדריך למשתמש שלנו." -#: src/component/photo/edit/dialog.vue:156 -#: src/component/photo/edit/dialog.vue:173 +#: src/component/photo/edit/dialog.vue:162 +#: src/component/photo/edit/dialog.vue:181 msgid "Details" msgstr "פרטים" @@ -987,8 +1013,8 @@ msgstr "משבית תמיכה בגרפיקה וקטורית." msgid "Disables video transcoding and thumbnail extraction." msgstr "משבית את המרת קידוד וידאו וחילוץ תמונות ממוזערות." -#: src/app/routes.js:558 src/app/routes.js:565 src/app/routes.js:572 -#: src/app/routes.js:579 +#: src/app/routes.js:566 src/app/routes.js:573 src/app/routes.js:580 +#: src/app/routes.js:587 msgid "Discover" msgstr "גלה" @@ -996,9 +1022,9 @@ msgstr "גלה" msgid "Dismiss" msgstr "לְפַטֵר" -#: src/component/user/add/dialog.vue:133 src/component/user/add/dialog.vue:134 -#: src/component/user/edit/dialog.vue:163 -#: src/component/user/edit/dialog.vue:164 src/page/admin/users.vue:72 +#: src/component/user/add/dialog.vue:134 src/component/user/add/dialog.vue:135 +#: src/component/user/edit/dialog.vue:164 +#: src/component/user/edit/dialog.vue:165 src/page/admin/users.vue:74 #: src/page/settings/account.vue:149 src/page/settings/account.vue:151 msgid "Display Name" msgstr "שם תצוגה" @@ -1013,12 +1039,12 @@ msgstr "הצג כותרות של תמונות בתוצאות החיפוש." #: src/component/photo/view/cards.vue:339 #: src/component/photo/view/cards.vue:521 -#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:174 +#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:176 #: src/options/options.js:309 msgid "Document" msgstr "מִסְמָך" -#: src/component/navigation.vue:480 +#: src/component/navigation.vue:482 msgid "Documents" msgstr "מסמכים" @@ -1034,16 +1060,16 @@ msgstr "אל תשתמש ב-ImageMagick כדי להמיר תמונות." msgid "Don't use RawTherapee to convert RAW images." msgstr "אל תשתמש ב- RawTherapee להמרת קבצי RAW." -#: src/component/settings/apps.vue:238 src/component/share/dialog.vue:29 +#: src/component/settings/apps.vue:241 src/component/share/dialog.vue:29 msgid "Done" msgstr "בוצע" -#: src/component/upload/dialog.vue:135 src/page/library/import.vue:46 +#: src/component/upload/dialog.vue:137 src/page/library/import.vue:46 #: src/page/library/index.vue:52 msgid "Done." msgstr "בוצע." -#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:118 +#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:123 #: src/component/file/clipboard.vue:48 src/component/lightbox.vue:1235 #: src/component/people/clipboard.vue:47 src/component/photo/clipboard.vue:116 #: src/component/photo/edit/files.vue:168 src/page/settings/content.vue:331 @@ -1055,7 +1081,7 @@ msgstr "הורד" msgid "Download only original media files, without any automatically generated files." msgstr "הורד רק קבצי מדיה מקוריים, ללא קבצים שנוצרו אוטומטית." -#: src/component/service/edit.vue:237 +#: src/component/service/edit.vue:238 msgid "Download remote files" msgstr "הורד קבצים מרוחקים" @@ -1063,9 +1089,9 @@ msgstr "הורד קבצים מרוחקים" msgid "Download single files and zip archives." msgstr "הורד קבצים בודדים וארכיוני zip." -#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:157 +#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:172 #: src/component/file/clipboard.vue:61 src/component/label/clipboard.vue:86 -#: src/component/lightbox.vue:2021 src/component/people/clipboard.vue:59 +#: src/component/lightbox.vue:2041 src/component/people/clipboard.vue:59 #: src/component/photo/clipboard.vue:220 src/component/photo/edit/files.vue:119 #: src/component/photo/view/cards.vue:169 src/component/photo/view/list.vue:142 #: src/page/library/browse.vue:139 @@ -1080,7 +1106,7 @@ msgstr "פילטר (אלגוריתם) שנמוך" msgid "Drag and drop files here" msgstr "גרור ושחרר קבצים כאן" -#: src/page/about/feedback.vue:61 +#: src/page/about/feedback.vue:62 msgid "Due to the high volume of emails we receive, our team may be unable to get back to you immediately." msgstr "בשל כמות המיילים הגבוהה שאנו מקבלים, ייתכן שהצוות שלנו לא יוכל לחזור אליך באופן מיידי." @@ -1100,23 +1126,23 @@ msgstr "תצוגות מקדימות דינמיות" msgid "Dynamic Size Limit: %{n}px" msgstr "גודל דינמי מקסימלי לשמירה במטמון: %{n} פיקסלים" -#: src/page/about/feedback.vue:141 src/page/about/feedback.vue:140 +#: src/page/about/feedback.vue:142 src/page/about/feedback.vue:141 msgid "E-Mail" msgstr "דוא\"ל" -#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:89 +#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:94 #: src/component/lightbox.vue:1136 src/component/lightbox.vue:1137 #: src/component/photo/clipboard.vue:90 src/page/settings/general.vue:407 msgid "Edit" msgstr "ערוך" -#: src/component/album/edit/dialog.vue:54 -#: src/component/label/edit/dialog.vue:52 -#: src/component/people/edit/dialog.vue:52 +#: src/component/album/edit/dialog.vue:55 +#: src/component/label/edit/dialog.vue:53 +#: src/component/people/edit/dialog.vue:53 msgid "Edit %{s}" msgstr "ערוך %{s}" -#: src/component/user/edit/dialog.vue:61 src/component/service/edit.vue:79 +#: src/component/user/edit/dialog.vue:62 src/component/service/edit.vue:79 msgid "Edit Account" msgstr "ערוך חשבון" @@ -1128,8 +1154,8 @@ msgstr "ערוך תמונה" msgid "Edited" msgstr "ערוך" -#: src/component/user/add/dialog.vue:151 src/component/user/edit/dialog.vue:213 -#: src/page/settings/account.vue:171 src/page/settings/account.vue:593 +#: src/component/user/add/dialog.vue:152 src/component/user/edit/dialog.vue:214 +#: src/page/settings/account.vue:171 src/page/settings/account.vue:599 msgid "Email" msgstr "אימייל" @@ -1145,7 +1171,7 @@ msgstr "אפשר תכונות חדשות שעשויות להיות לא שלמו msgid "Enables RAW converter presets. May reduce performance." msgstr "מאפשר הגדרות קבועות מראש של ממיר RAW. עשוי להפחית את הביצועים." -#: src/component/settings/passcode.vue:127 +#: src/component/settings/passcode.vue:130 msgid "Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account." msgstr "הפעלת אימות דו-גורמי פירושה שתזדקק לקוד אימות שנוצר באקראי כדי להיכנס, כך שגם אם מישהו יקבל גישה לסיסמה שלך, הוא לא יוכל לגשת לחשבון שלך." @@ -1157,7 +1183,7 @@ msgstr "הזן תאריך" msgid "Enter dates" msgstr "הזן תאריכים" -#: src/component/settings/passcode.vue:213 src/page/auth/login.vue:104 +#: src/component/settings/passcode.vue:216 src/page/auth/login.vue:104 msgid "Enter the code generated by your authenticator app:" msgstr "הזן את הקוד שנוצר על ידי אפליקציית המאמת שלך:" @@ -1165,7 +1191,7 @@ msgstr "הזן את הקוד שנוצר על ידי אפליקציית המאמ msgid "Enter verification code" msgstr "הכנס קוד אימות" -#: src/component/settings/apps.vue:109 +#: src/component/settings/apps.vue:112 msgid "Enter your password to confirm the action and continue:" msgstr "הזן את הסיסמה שלך כדי לאשר את הפעולה והמשך:" @@ -1174,7 +1200,7 @@ msgstr "הזן את הסיסמה שלך כדי לאשר את הפעולה והמ msgid "Error" msgstr "שגיאה" -#: src/app/routes.js:374 src/component/navigation.vue:1348 +#: src/app/routes.js:382 src/component/navigation.vue:1372 msgid "Errors" msgstr "שגיאות" @@ -1210,13 +1236,13 @@ msgstr "חילוץ מטא נתונים עם ExifTool נדרש לתמיכה מל msgid "Experimental Features" msgstr "תכונות ניסיוניות" -#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:453 -#: src/component/service/edit.vue:157 src/component/settings/apps.vue:73 -#: src/component/settings/apps.vue:326 src/component/share/dialog.vue:62 +#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:458 +#: src/component/service/edit.vue:158 src/component/settings/apps.vue:73 +#: src/component/settings/apps.vue:329 src/component/share/dialog.vue:62 msgid "Expires" msgstr "תפוגה" -#: src/component/photo/edit/details.vue:396 +#: src/component/photo/edit/details.vue:370 msgid "Exposure" msgstr "חשיפה" @@ -1224,7 +1250,7 @@ msgstr "חשיפה" msgid "Extract still images and generate thumbnails while indexing." msgstr "חלץ תמונות סטילס וצור תמונות ממוזערות תוך כדי אינדקס." -#: src/component/photo/edit/details.vue:444 +#: src/component/photo/edit/details.vue:418 msgid "F Number" msgstr "ערך ה-F (יחס אורך מוקד העדשה)" @@ -1240,7 +1266,7 @@ msgstr "פנים" msgid "Failed removing link" msgstr "הסרת הקישור נכשלה" -#: src/page/connect.vue:106 src/page/connect.vue:110 +#: src/page/connect.vue:107 src/page/connect.vue:111 msgid "Failed to connect account." msgstr "חיבור החשבון נכשל." @@ -1248,8 +1274,8 @@ msgstr "חיבור החשבון נכשל." msgid "Failed updating link" msgstr "העלאת הקישור נכשלה" -#: src/component/user/edit/dialog.vue:143 -#: src/component/user/edit/dialog.vue:144 src/page/settings/account.vue:128 +#: src/component/user/edit/dialog.vue:144 +#: src/component/user/edit/dialog.vue:145 src/page/settings/account.vue:128 #: src/page/settings/account.vue:130 msgid "Family Name" msgstr "שם משפחה" @@ -1258,15 +1284,15 @@ msgstr "שם משפחה" msgid "Fast" msgstr "מהיר" -#: src/component/album/edit/dialog.vue:159 -#: src/component/label/edit/dialog.vue:85 -#: src/component/people/edit/dialog.vue:85 +#: src/component/album/edit/dialog.vue:160 +#: src/component/label/edit/dialog.vue:86 +#: src/component/people/edit/dialog.vue:86 #: src/component/photo/edit/info.vue:287 msgid "Favorite" msgstr "מועדף" -#: src/app/routes.js:222 src/component/navigation.vue:893 -#: src/options/options.js:202 src/page/albums.vue:97 +#: src/app/routes.js:230 src/component/navigation.vue:903 +#: src/options/options.js:202 src/page/albums.vue:98 msgid "Favorites" msgstr "מועדפים" @@ -1274,7 +1300,7 @@ msgstr "מועדפים" msgid "Feature Request" msgstr "בקשת תכונה" -#: src/component/navigation.vue:1456 +#: src/component/navigation.vue:1482 msgid "Feedback" msgstr "משוב" @@ -1282,11 +1308,12 @@ msgstr "משוב" msgid "Female" msgstr "נקבה" -#: src/component/photo/edit/info.vue:214 src/model/file.js:290 +#: src/component/photo/edit/info.vue:57 src/component/photo/edit/info.vue:214 +#: src/model/file.js:290 msgid "File" msgstr "קובץ" -#: src/app/routes.js:343 +#: src/app/routes.js:351 msgid "File Browser" msgstr "סייר קבצים" @@ -1309,8 +1336,8 @@ msgstr "גודל הקובץ" msgid "Filename" msgstr "שם קובץ" -#: src/component/navigation.vue:1930 src/component/photo/edit/dialog.vue:267 -#: src/component/photo/edit/dialog.vue:284 +#: src/component/navigation.vue:1973 src/component/photo/edit/dialog.vue:279 +#: src/component/photo/edit/dialog.vue:298 msgid "Files" msgstr "קבצים" @@ -1322,26 +1349,26 @@ msgstr "קבצים עם שמות עוקבים כמו 'IMG_1234 (2)' ו- 'IMG_123 msgid "First page" msgstr "עמוד ראשון" -#: src/component/photo/edit/details.vue:465 +#: src/component/photo/edit/details.vue:439 msgid "Focal Length" msgstr "אורך המוקד" -#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:118 -#: src/component/service/edit.vue:189 src/component/service/edit.vue:194 -#: src/component/service/upload.vue:90 src/component/service/upload.vue:96 +#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:119 +#: src/component/service/edit.vue:190 src/component/service/edit.vue:195 +#: src/component/service/upload.vue:91 src/component/service/upload.vue:97 #: src/model/folder.js:199 src/page/library/browse.vue:182 msgid "Folder" msgstr "תיקייה" -#: src/page/library/browse.vue:365 +#: src/page/library/browse.vue:367 msgid "Folder contains %{n} files" msgstr "התיקייה מכילה %{n} קבצים" -#: src/page/library/browse.vue:356 +#: src/page/library/browse.vue:358 msgid "Folder is empty" msgstr "התיקייה ריקה" -#: src/app/routes.js:202 src/component/navigation.vue:1225 +#: src/app/routes.js:210 src/component/navigation.vue:1247 #: src/options/options.js:207 msgid "Folders" msgstr "תיקייות" @@ -1358,7 +1385,7 @@ msgstr "FPS" msgid "Frames" msgstr "מסגרות" -#: src/options/auth.js:54 src/options/auth.js:64 +#: src/options/auth.js:55 src/options/auth.js:65 msgid "Full Access" msgstr "גישה מלאה" @@ -1370,7 +1397,7 @@ msgstr "מסך מלא" msgid "General" msgstr "כללי" -#: src/component/settings/apps.vue:364 +#: src/component/settings/apps.vue:367 msgid "Generate" msgstr "לִיצוֹר" @@ -1390,8 +1417,8 @@ msgstr "נוצר" msgid "Get Started" msgstr "התחל" -#: src/component/user/edit/dialog.vue:120 -#: src/component/user/edit/dialog.vue:121 src/page/settings/account.vue:106 +#: src/component/user/edit/dialog.vue:121 +#: src/component/user/edit/dialog.vue:122 src/page/settings/account.vue:106 #: src/page/settings/account.vue:108 msgid "Given Name" msgstr "שם פרטי" @@ -1416,7 +1443,7 @@ msgstr "ירוק" msgid "Grey" msgstr "אפור" -#: src/options/admin.js:22 src/options/auth.js:10 +#: src/options/admin.js:26 src/options/auth.js:11 msgid "Guest" msgstr "אוֹרֵחַ" @@ -1432,15 +1459,15 @@ msgstr "עזרה" msgid "Help & Support" msgstr "עזרה ותמיכה" -#: src/component/navigation.vue:1327 src/component/people/edit/dialog.vue:98 +#: src/component/navigation.vue:1351 src/component/people/edit/dialog.vue:99 msgid "Hidden" msgstr "מוסתר" -#: src/app/routes.js:358 +#: src/app/routes.js:366 msgid "Hidden Files" msgstr "קבצים מוסתרים" -#: src/page/people/new.vue:165 src/page/people/recognized.vue:205 +#: src/page/people/new.vue:166 src/page/people/recognized.vue:206 msgid "Hide" msgstr "הסתר" @@ -1456,7 +1483,7 @@ msgstr "גבוה" msgid "High Dynamic Range (HDR)" msgstr "טווח דינמי גבוה (HDR)" -#: src/page/about/feedback.vue:103 +#: src/page/about/feedback.vue:104 msgid "How can we help?" msgstr "איך אפשר לעזור?" @@ -1464,11 +1491,11 @@ msgstr "איך אפשר לעזור?" msgid "Hybrid" msgstr "משולב" -#: src/component/settings/passcode.vue:389 +#: src/component/settings/passcode.vue:392 msgid "If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account." msgstr "אם תאבד את הגישה לאפליקציית המאמת או למכשיר שלך, תוכל להשתמש בקוד השחזור שלך כדי לקבל חזרה גישה לחשבון שלך." -#: src/component/photo/edit/info.vue:63 src/component/photo/edit/labels.vue:46 +#: src/component/photo/edit/info.vue:65 src/component/photo/edit/labels.vue:46 #: src/component/photo/view/cards.vue:532 src/model/file.js:218 #: src/options/options.js:281 msgid "Image" @@ -1478,7 +1505,7 @@ msgstr "תמונה" msgid "Image Quality" msgstr "איכות תמונה" -#: src/page/library.vue:46 src/page/library/import.vue:152 +#: src/page/library.vue:46 src/page/library/import.vue:153 #: src/page/settings/general.vue:357 msgid "Import" msgstr "ייבוא" @@ -1503,8 +1530,8 @@ msgstr "מייבא את %{s}…" msgid "Importing files to originals…" msgstr "מייבא קבצים למקורות…" -#: src/component/photo/edit/files.vue:515 -#: src/component/photo/edit/files.vue:520 +#: src/component/photo/edit/files.vue:517 +#: src/component/photo/edit/files.vue:522 msgid "in" msgstr "ב" @@ -1522,11 +1549,11 @@ msgstr "כלול קובצי תמונה RAW בעת הורדת ערימות ואר msgid "Include sidecar files when downloading stacks and archives." msgstr "כלול קבצי Sidecar בעת הורדת ערימות וארכיונים." -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Increase storage size or delete files to continue." msgstr "הגדל את נפח האחסון או מחק קבצים כדי להמשיך." -#: src/component/navigation.vue:1946 src/page/library.vue:36 +#: src/component/navigation.vue:1990 src/page/library.vue:36 #: src/page/settings/content.vue:34 msgid "Index" msgstr "אינדקס" @@ -1556,11 +1583,11 @@ msgstr "מֵידָע" msgid "Instance ID" msgstr "מזהה מופע" -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Insufficient storage." msgstr "אחסון לא מספיק." -#: src/component/service/edit.vue:209 +#: src/component/service/edit.vue:210 msgid "Interval" msgstr "הפוגה" @@ -1581,7 +1608,7 @@ msgstr "כתובת לא חוקית" msgid "Invalid country" msgstr "מדינה לא חוקית" -#: src/component/photo/edit/details.vue:174 +#: src/component/photo/edit/details.vue:169 msgid "Invalid date" msgstr "תאריך לא תקין" @@ -1590,7 +1617,7 @@ msgstr "תאריך לא תקין" msgid "Invalid parameters" msgstr "פרמטרים שגויים" -#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:197 +#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:199 msgid "Invalid photo selected" msgstr "נבחרה תמונה לא חוקית" @@ -1602,8 +1629,8 @@ msgstr "זמן לא חוקי" msgid "Invalid URL" msgstr "כתובת אתר לא חוקית" -#: src/component/settings/passcode.vue:314 -#: src/component/settings/passcode.vue:391 +#: src/component/settings/passcode.vue:317 +#: src/component/settings/passcode.vue:394 msgid "It is a one-time use code that will disable 2FA for your account when you use it." msgstr "זהו קוד לשימוש חד פעמי שישבית את 2FA עבור חשבונך כאשר אתה משתמש בו." @@ -1627,7 +1654,7 @@ msgstr "מגבלת גודל קבצי ה-JPEG %{n} פיקסלים" msgid "JPEGs and thumbnails are automatically rendered as needed." msgstr "קבצי JPEG וקבצי תצוגה מקדימה נוצרים אוטומטית לפי הצורך." -#: src/component/photo/edit/details.vue:581 +#: src/component/photo/edit/details.vue:555 msgid "Keywords" msgstr "מילות מפתח" @@ -1636,9 +1663,9 @@ msgstr "מילות מפתח" msgid "Label" msgstr "תווית" -#: src/app/routes.js:389 src/component/navigation.vue:1177 -#: src/component/photo/edit/dialog.vue:188 -#: src/component/photo/edit/dialog.vue:205 src/options/options.js:206 +#: src/app/routes.js:397 src/component/navigation.vue:1197 +#: src/component/photo/edit/dialog.vue:196 +#: src/component/photo/edit/dialog.vue:215 src/options/options.js:206 #: src/page/settings/general.vue:255 msgid "Labels" msgstr "תוויות" @@ -1655,11 +1682,11 @@ msgstr "Lanczos: שימור פרטים, חפצים מינימליים" msgid "Language" msgstr "שפה" -#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:435 +#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:440 msgid "Last Active" msgstr "פעיל אחרון" -#: src/page/admin/users.vue:81 +#: src/page/admin/users.vue:83 msgid "Last Login" msgstr "כניסה אחרונה" @@ -1675,42 +1702,41 @@ msgstr "סנכרון אחרון" msgid "Last Used" msgstr "בשימוש אחרון" -#: src/component/photo/edit/details.vue:298 #: src/component/photo/edit/info.vue:373 msgid "Latitude" msgstr "קו רוחב" -#: src/options/admin.js:43 src/options/auth.js:29 +#: src/options/admin.js:47 src/options/auth.js:30 msgid "LDAP/AD" msgstr "LDAP/AD" -#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:86 -#: src/page/about/about.vue:62 src/page/about/about.vue:132 +#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:87 +#: src/page/about/about.vue:62 src/page/about/about.vue:133 #: src/page/connect.vue:67 src/page/help.vue:36 msgid "Learn more" msgstr "הצג עוד" -#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:135 +#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:137 #: src/page/labels.vue:132 msgid "Learn More" msgstr "הצג עוד" -#: src/component/navigation.vue:2017 +#: src/component/navigation.vue:2066 msgid "Legal Information" msgstr "מידע משפטי" -#: src/component/photo/edit/details.vue:417 +#: src/component/photo/edit/details.vue:391 #: src/component/photo/view/cards.vue:480 msgid "Lens" msgstr "עדשה" -#: src/app/routes.js:443 src/app/routes.js:459 src/app/routes.js:475 -#: src/component/navigation.vue:1267 src/page/settings/general.vue:507 +#: src/app/routes.js:451 src/app/routes.js:467 src/app/routes.js:483 +#: src/component/navigation.vue:1290 src/page/settings/general.vue:507 msgid "Library" msgstr "ספריה" #: src/page/connect.vue:45 src/app/routes.js:69 -#: src/component/navigation.vue:1478 src/component/photo/edit/details.vue:559 +#: src/component/navigation.vue:1504 src/component/photo/edit/details.vue:533 #: src/page/about/license.vue:28 msgid "License" msgstr "רשיון" @@ -1723,7 +1749,7 @@ msgstr "אהבתי" msgid "Lime" msgstr "ליים" -#: src/page/library/browse.vue:369 +#: src/page/library/browse.vue:371 msgid "Limit reached, showing first %{n} files" msgstr "לא ניתן להציג יותר, מציג את ה-%{n} קבצים הראשונים" @@ -1731,7 +1757,7 @@ msgstr "לא ניתן להציג יותר, מציג את ה-%{n} קבצים הר msgid "Linear: Very Smooth, Best Performance" msgstr "ליניארי: חלק מאוד, הביצועים הטובים ביותר" -#: src/model/link.js:117 src/options/auth.js:30 src/options/auth.js:31 +#: src/model/link.js:117 src/options/auth.js:31 src/options/auth.js:32 msgid "Link" msgstr "קישור" @@ -1749,7 +1775,7 @@ msgstr "תצוגת רשימה" msgid "Live" msgstr "חי" -#: src/app/routes.js:236 src/component/navigation.vue:749 +#: src/app/routes.js:244 src/component/navigation.vue:755 msgid "Live Photos" msgstr "תמונות חיות" @@ -1765,21 +1791,24 @@ msgstr "טוען פריטים..." msgid "Loading..." msgstr "טְעִינָה..." -#: src/options/admin.js:35 src/options/auth.js:22 src/options/auth.js:27 +#: src/options/admin.js:39 src/options/auth.js:23 src/options/auth.js:28 #: src/options/options.js:38 src/page/settings/general.vue:107 msgid "Local" msgstr "מְקוֹמִי" -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Local Time" msgstr "זמן מוקמי" -#: src/page/settings/account.vue:665 src/page/settings/account.vue:667 -#: src/component/album/edit/dialog.vue:92 src/component/photo/edit/info.vue:65 -#: src/component/photo/edit/labels.vue:48 +#: src/page/settings/account.vue:671 src/page/settings/account.vue:673 +#: src/component/album/edit/dialog.vue:93 +#: src/component/photo/edit/details.vue:38 +#: src/component/photo/edit/details.vue:116 +#: src/component/photo/edit/details.vue:210 +#: src/component/photo/edit/info.vue:67 src/component/photo/edit/labels.vue:48 #: src/component/photo/view/cards.vue:555 src/component/photo/view/list.vue:117 -#: src/component/sidebar/info.vue:107 src/page/albums.vue:99 -#: src/page/settings/account.vue:557 src/page/settings/account.vue:559 +#: src/component/sidebar/info.vue:107 src/page/albums.vue:100 +#: src/page/settings/account.vue:563 src/page/settings/account.vue:565 msgid "Location" msgstr "מיקום" @@ -1787,20 +1816,19 @@ msgstr "מיקום" msgid "Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues." msgstr "הודעות יומן מופיעות כאן בכל פעם ש- PhotoPrism נתקל בקבצים שבורים, או שיש בעיות פוטנציאליות אחרות." -#: src/component/navigation.vue:1552 src/component/navigation.vue:1840 +#: src/component/navigation.vue:1579 src/component/navigation.vue:1877 msgid "Login" msgstr "התחברות" -#: src/component/navigation.vue:1759 +#: src/component/navigation.vue:1791 msgid "Logout" msgstr "התנתקות" -#: src/component/navigation.vue:1962 src/page/library.vue:59 +#: src/component/navigation.vue:2007 src/page/library.vue:59 #: src/page/settings/general.vue:557 msgid "Logs" msgstr "יומן" -#: src/component/photo/edit/details.vue:324 #: src/component/photo/edit/info.vue:379 msgid "Longitude" msgstr "קו אורך" @@ -1813,7 +1841,7 @@ msgstr "נמוך" msgid "Magenta" msgstr "ארגמן" -#: src/component/photo/edit/files.vue:489 +#: src/component/photo/edit/files.vue:491 msgid "Main Color" msgstr "צבע עיקרי" @@ -1821,12 +1849,16 @@ msgstr "צבע עיקרי" msgid "Male" msgstr "זכר" -#: src/page/connect.vue:164 src/page/connect.vue:246 -#: src/page/about/about.vue:171 src/page/connect.vue:168 -#: src/page/connect.vue:255 +#: src/page/connect.vue:165 src/page/connect.vue:248 +#: src/page/about/about.vue:173 src/page/connect.vue:169 +#: src/page/connect.vue:257 msgid "Manage Account" msgstr "נהל חשבון" +#: src/options/admin.js:10 src/options/auth.js:7 +msgid "Manager" +msgstr "מְנַהֵל" + #: src/component/photo/edit/info.vue:49 src/component/photo/edit/labels.vue:38 msgid "Manual" msgstr "יָדָנִי" @@ -1843,11 +1875,11 @@ msgstr "מפות" msgid "Marker" msgstr "סמן" -#: src/component/user/add/dialog.vue:69 +#: src/component/user/add/dialog.vue:70 msgid "Maximum number of accounts has been reached." msgstr "הגעת למספר המקסימלי של חשבונות." -#: src/app/routes.js:229 src/component/navigation.vue:688 +#: src/app/routes.js:237 src/component/navigation.vue:693 #: src/options/options.js:199 msgid "Media" msgstr "כְּלֵי תִקְשׁוֹרֶת" @@ -1864,7 +1896,7 @@ msgstr "חֲבֵרוּת" msgid "Merge %{a} with %{b}?" msgstr "למזג %{a} עם %{b}?" -#: src/page/about/feedback.vue:102 +#: src/page/about/feedback.vue:103 msgid "Message" msgstr "הוֹדָעָה" @@ -1876,7 +1908,7 @@ msgstr "ההודעה נשלחה" msgid "Metadata" msgstr "מטא נתונים" -#: src/options/auth.js:56 src/options/auth.js:72 +#: src/options/auth.js:57 src/options/auth.js:73 msgid "Metrics" msgstr "מדדים" @@ -1884,7 +1916,7 @@ msgstr "מדדים" msgid "Minimize" msgstr "הקטנה" -#: src/component/photo/edit/files.vue:509 src/component/photo/edit/info.vue:367 +#: src/component/photo/edit/files.vue:511 src/component/photo/edit/info.vue:367 msgid "Missing" msgstr "חסר" @@ -1892,17 +1924,17 @@ msgstr "חסר" msgid "Missing or invalid configuration" msgstr "תצורה חסרה או לא חוקית" -#: src/app/routes.js:163 src/component/navigation.vue:1129 +#: src/app/routes.js:171 src/component/navigation.vue:1147 #: src/options/options.js:205 src/page/settings/general.vue:230 msgid "Moments" msgstr "רגעים" -#: src/component/navigation.vue:383 +#: src/component/navigation.vue:385 msgid "Monochrome" msgstr "שקפים" -#: src/page/settings/account.vue:475 src/component/photo/edit/details.vue:137 -#: src/component/photo/toolbar.vue:342 +#: src/page/settings/account.vue:481 src/component/photo/edit/details.vue:139 +#: src/component/photo/toolbar.vue:344 msgid "Month" msgstr "חודש" @@ -1922,7 +1954,7 @@ msgstr "הכי רלוונטי" msgid "Move Files" msgstr "העבר קבצים" -#: src/component/settings/password.vue:107 +#: src/component/settings/password.vue:108 msgid "Must have at least %{n} characters." msgstr "חייב להכיל לפחות %{n} תווים." @@ -1930,20 +1962,20 @@ msgstr "חייב להכיל לפחות %{n} תווים." msgid "Mute" msgstr "לְהַשְׁתִיק" -#: src/page/about/feedback.vue:121 src/page/about/feedback.vue:122 -#: src/component/album/edit/dialog.vue:77 -#: src/component/label/edit/dialog.vue:71 -#: src/component/people/edit/dialog.vue:71 -#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:57 +#: src/page/about/feedback.vue:122 src/page/about/feedback.vue:123 +#: src/component/album/edit/dialog.vue:78 +#: src/component/label/edit/dialog.vue:72 +#: src/component/people/edit/dialog.vue:72 +#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:59 #: src/component/photo/edit/info.vue:125 src/component/photo/edit/people.vue:36 -#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:310 -#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:286 -#: src/page/albums.vue:98 src/page/auth/login.vue:168 +#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:311 +#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:289 +#: src/page/albums.vue:99 src/page/auth/login.vue:168 #: src/page/people/new.vue:68 src/page/settings/services.vue:37 msgid "Name" msgstr "שם" -#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:60 +#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:65 #: src/component/label/edit/dialog.vue:19 #: src/component/people/edit/dialog.vue:19 #: src/component/photo/edit/labels.vue:30 @@ -1953,7 +1985,7 @@ msgstr "שם" msgid "Name too long" msgstr "שם ארוך מדי" -#: src/page/admin/users.vue:204 src/options/options.js:361 +#: src/page/admin/users.vue:206 src/options/options.js:361 #: src/options/options.js:371 src/page/settings/services.vue:75 msgid "Never" msgstr "לעולם לא" @@ -1962,13 +1994,13 @@ msgstr "לעולם לא" msgid "New" msgstr "חדש" -#: src/component/settings/password.vue:106 +#: src/component/settings/password.vue:107 msgid "New Password" msgstr "סיסמה חדשה" #: src/component/album/edit/dialog.vue:24 src/component/photo/toolbar.vue:114 #: src/component/photo/toolbar.vue:126 src/component/photo/toolbar.vue:136 -#: src/page/albums.vue:100 +#: src/page/albums.vue:101 msgid "Newest First" msgstr "הכי חדש ראשון" @@ -1984,15 +2016,15 @@ msgstr "העמוד הבא" msgid "Next visual" msgstr "הוויזואלי הבא" -#: src/component/people/merge/dialog.vue:47 -#: src/component/photo/archive/dialog.vue:47 +#: src/component/people/merge/dialog.vue:48 +#: src/component/photo/archive/dialog.vue:48 #: src/component/photo/edit/info.vue:281 src/component/photo/edit/info.vue:297 #: src/component/photo/edit/info.vue:313 src/component/photo/edit/info.vue:329 #: src/component/photo/edit/info.vue:344 msgid "No" msgstr "לא" -#: src/page/albums.vue:607 src/page/albums.vue:282 +#: src/page/albums.vue:612 src/page/albums.vue:282 msgid "No albums found" msgstr "לא נמצאו אלבומים" @@ -2000,7 +2032,7 @@ msgstr "לא נמצאו אלבומים" msgid "No data available" msgstr "אין נתונים זמינים" -#: src/page/labels.vue:523 src/page/labels.vue:155 +#: src/page/labels.vue:528 src/page/labels.vue:155 msgid "No labels found" msgstr "לא נמצאו תוויות" @@ -2013,15 +2045,15 @@ msgid "No more" msgstr "לא יותר" #: src/component/photo/edit/people.vue:34 src/page/people/new.vue:346 -#: src/page/people/new.vue:443 src/page/people/new.vue:103 -#: src/page/people/recognized.vue:531 src/page/people/recognized.vue:146 +#: src/page/people/new.vue:446 src/page/people/new.vue:103 +#: src/page/people/recognized.vue:536 src/page/people/recognized.vue:146 msgid "No people found" msgstr "לא נמצאו אנשים" #: src/component/lightbox.vue:365 src/component/photo/view/cards.vue:144 #: src/component/photo/view/list.vue:82 src/component/photo/view/mosaic.vue:68 -#: src/page/album/photos.vue:488 src/page/library/browse.vue:123 -#: src/page/photos.vue:626 src/page/places.vue:624 src/page/places.vue:730 +#: src/page/album/photos.vue:499 src/page/library/browse.vue:123 +#: src/page/photos.vue:636 src/page/places.vue:624 src/page/places.vue:730 msgid "No pictures found" msgstr "לא נמצאו תמונות" @@ -2030,7 +2062,11 @@ msgstr "לא נמצאו תמונות" msgid "No recently edited pictures" msgstr "אין תמונות שערכו לאחרונה" -#: src/component/navigation.vue:1655 +#: src/component/location/dialog.vue:166 +msgid "No results" +msgstr "אין תוצאות" + +#: src/component/navigation.vue:1686 msgid "No server connection" msgstr "אין חיבור לשרת" @@ -2042,7 +2078,7 @@ msgstr "לא הוגדר שרת." msgid "No services configured." msgstr "לא הוגדרו שירותים." -#: src/component/confirm/sponsor.vue:72 +#: src/component/confirm/sponsor.vue:73 msgid "No thanks" msgstr "לא תודה" @@ -2052,17 +2088,17 @@ msgstr "אין אזהרות או שגיאות המכילות מילת מפתח #: src/component/photo/view/cards.vue:154 src/component/photo/view/list.vue:59 #: src/component/photo/view/list.vue:92 src/component/photo/view/mosaic.vue:78 -#: src/component/upload/dialog.vue:208 +#: src/component/upload/dialog.vue:210 msgid "Non-photographic and low-quality images require a review before they appear in search results." msgstr "תמונות שאינן נראות צילום או באיכות נמוכה דורשות בדיקה לפני שהן מופיעות בתוצאות החיפוש." -#: src/options/admin.js:47 src/options/auth.js:32 src/options/options.js:212 +#: src/options/admin.js:51 src/options/auth.js:33 src/options/options.js:212 #: src/options/options.js:328 msgid "None" msgstr "ללא" -#: src/common/util.js:853 src/component/lightbox.vue:633 -#: src/component/service/upload.vue:75 src/component/service/upload.vue:87 +#: src/component/lightbox.vue:633 src/component/service/upload.vue:75 +#: src/component/service/upload.vue:87 msgid "Not allowed" msgstr "אסור" @@ -2074,8 +2110,7 @@ msgstr "לא נמצא" msgid "Not sorted." msgstr "לא ממוין." -#: src/common/util.js:858 src/component/lightbox.vue:627 -#: src/component/lightbox.vue:744 +#: src/component/lightbox.vue:627 src/component/lightbox.vue:744 msgid "Not supported" msgstr "לא נתמך" @@ -2083,15 +2118,15 @@ msgstr "לא נתמך" msgid "Note you may manually manage your originals folder and importing is optional." msgstr "שים לב שאתה יכול לנהל ידנית את תיקיית המקור והייבוא הוא אופציונלי." -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "Note:" msgstr "הערה:" -#: src/component/service/add.vue:120 +#: src/component/service/add.vue:121 msgid "Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload." msgstr "הערה: רק שרתי WebDAV, כמו Nextcloud או PhotoPrism, ניתנים להגדרה כשירות מרוחק לצורך גיבוי והעלאת קבצים." -#: src/component/photo/edit/details.vue:603 +#: src/component/photo/edit/details.vue:577 msgid "Notes" msgstr "הערות" @@ -2099,8 +2134,8 @@ msgstr "הערות" msgid "Nothing to see here yet." msgstr "אין מה לראות כאן עדיין. התאזר בסבלנות." -#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:115 -#: src/component/settings/apps.vue:390 +#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:125 +#: src/component/settings/apps.vue:393 msgid "Nothing was found." msgstr "לא נמצא דבר." @@ -2108,7 +2143,7 @@ msgstr "לא נמצא דבר." msgid "Offline" msgstr "לא מקוון" -#: src/options/admin.js:39 src/options/auth.js:28 +#: src/options/admin.js:43 src/options/auth.js:29 msgid "OIDC" msgstr "OIDC" @@ -2118,11 +2153,11 @@ msgstr "בְּסֵדֶר" #: src/component/album/edit/dialog.vue:25 src/component/photo/toolbar.vue:115 #: src/component/photo/toolbar.vue:127 src/component/photo/toolbar.vue:137 -#: src/page/albums.vue:101 +#: src/page/albums.vue:102 msgid "Oldest First" msgstr "הישן ראשון" -#: src/component/settings/webdav.vue:77 +#: src/component/settings/webdav.vue:78 msgid "On Windows, enter the following resource in the connection dialog:" msgstr "ב-Windows, הזן את המשאב הבא בתיבת הדו-שיח של החיבור:" @@ -2134,11 +2169,11 @@ msgstr "יצירת תמונות ממוזערות לפי דרישה עשויה ל msgid "Once a week" msgstr "פעם בשבוע" -#: src/page/albums.vue:609 +#: src/page/albums.vue:614 msgid "One album found" msgstr "אלבום אחד נמצא" -#: src/page/library/browse.vue:358 +#: src/page/library/browse.vue:360 msgid "One file found" msgstr "קובץ אחד נמצא" @@ -2146,24 +2181,24 @@ msgstr "קובץ אחד נמצא" msgid "One file uploaded" msgstr "קובץ אחד הועלה" -#: src/page/library/browse.vue:360 +#: src/page/library/browse.vue:362 msgid "One folder found" msgstr "תיקייה אחת נמצאה" -#: src/page/labels.vue:525 +#: src/page/labels.vue:530 msgid "One label found" msgstr "נמצאה תווית אחת" -#: src/page/people/new.vue:348 src/page/people/new.vue:445 -#: src/page/people/recognized.vue:533 +#: src/page/people/new.vue:348 src/page/people/new.vue:448 +#: src/page/people/recognized.vue:538 msgid "One person found" msgstr "אדם אחד נמצא" -#: src/page/album/photos.vue:490 src/page/photos.vue:628 +#: src/page/album/photos.vue:501 src/page/photos.vue:638 msgid "One picture found" msgstr "תמונה אחת נמצאה" -#: src/component/settings/passcode.vue:478 +#: src/component/settings/passcode.vue:481 msgid "Only locally managed accounts can be set up for authentication with 2FA." msgstr "ניתן להגדיר רק חשבונות בניהול מקומי לאימות עם 2FA." @@ -2171,7 +2206,7 @@ msgstr "ניתן להגדיר רק חשבונות בניהול מקומי לאי msgid "Open" msgstr "לִפְתוֹחַ" -#: src/component/service/add.vue:86 src/component/service/add.vue:107 +#: src/component/service/add.vue:87 src/component/service/add.vue:108 msgid "optional" msgstr "אופציונלי" @@ -2183,7 +2218,7 @@ msgstr "אוֹ" msgid "Orange" msgstr "כתום" -#: src/page/settings/account.vue:571 src/page/settings/account.vue:573 +#: src/page/settings/account.vue:577 src/page/settings/account.vue:579 msgid "Organization" msgstr "ארגון" @@ -2199,7 +2234,7 @@ msgstr "שמות הקבצים המקוריים יישמרו באינדקס." msgid "Original Name" msgstr "השם המקורי" -#: src/component/navigation.vue:1304 src/model/file.js:196 +#: src/component/navigation.vue:1328 src/model/file.js:196 #: src/options/options.js:413 src/page/library/browse.vue:65 #: src/page/settings/content.vue:356 src/page/settings/general.vue:532 msgid "Originals" @@ -2210,7 +2245,7 @@ msgstr "קבצי מקור" msgid "Other" msgstr "אחר" -#: src/page/about/about.vue:77 src/page/about/about.vue:83 +#: src/page/about/about.vue:78 src/page/about/about.vue:84 msgid "Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible." msgstr "המשימה שלנו היא לספק את הפתרון הכי ידידותי למשתמש ולפרטיות כדי לשמור על התמונות שלך מאורגנות ונגישות." @@ -2222,7 +2257,7 @@ msgstr "באוויר הפתוח" msgid "Page {0}, Current page" msgstr "עמוד {0}, דף נוכחי" -#: src/component/photo/edit/files.vue:352 src/model/photo.js:859 +#: src/component/photo/edit/files.vue:352 src/model/photo.js:896 msgid "Pages" msgstr "דפים" @@ -2234,15 +2269,15 @@ msgstr "ניווט עימוד" msgid "Panorama" msgstr "פנורמה" -#: src/component/navigation.vue:402 +#: src/component/navigation.vue:404 msgid "Panoramas" msgstr "פנורמות" -#: src/component/user/add/dialog.vue:114 src/component/user/add/dialog.vue:115 -#: src/component/service/add.vue:106 src/component/service/edit.vue:352 -#: src/component/settings/apps.vue:121 src/component/settings/passcode.vue:106 -#: src/component/settings/passcode.vue:413 src/component/share/dialog.vue:27 -#: src/options/auth.js:91 src/page/auth/login.vue:196 +#: src/component/user/add/dialog.vue:115 src/component/user/add/dialog.vue:116 +#: src/component/service/add.vue:107 src/component/service/edit.vue:353 +#: src/component/settings/apps.vue:124 src/component/settings/passcode.vue:109 +#: src/component/settings/passcode.vue:416 src/component/share/dialog.vue:27 +#: src/options/auth.js:92 src/page/auth/login.vue:196 msgid "Password" msgstr "סיסמה" @@ -2250,9 +2285,9 @@ msgstr "סיסמה" msgid "Password changed" msgstr "סיסמא שונתה" -#: src/app/routes.js:404 src/app/routes.js:428 src/component/navigation.vue:845 -#: src/component/navigation.vue:1898 src/component/photo/edit/dialog.vue:228 -#: src/component/photo/edit/dialog.vue:245 src/options/options.js:201 +#: src/app/routes.js:412 src/app/routes.js:436 src/component/navigation.vue:853 +#: src/component/navigation.vue:1939 src/component/photo/edit/dialog.vue:238 +#: src/component/photo/edit/dialog.vue:257 src/options/options.js:201 #: src/page/settings/general.vue:180 msgid "People" msgstr "אנשים" @@ -2273,23 +2308,23 @@ msgstr "מחק קבצים לצמיתות בכדי לשחרר נפח אחסון" msgid "Person" msgstr "אָדָם" -#: src/options/auth.js:42 +#: src/options/auth.js:43 msgid "Personal" msgstr "אישי" -#: src/model/photo.js:1273 +#: src/model/photo.js:1310 msgid "Photo" msgstr "תמונה" -#: src/page/about/about.vue:156 +#: src/page/about/about.vue:158 msgid "PhotoPrism is 100% self-funded and independent." msgstr "PhotoPrism הוא 100% מימון עצמי ועצמאי." -#: src/page/about/about.vue:92 +#: src/page/about/about.vue:93 msgid "PhotoPrism+ Membership" msgstr "חברות PhotoPrism+" -#: src/app/routes.js:156 +#: src/app/routes.js:164 msgid "Photos" msgstr "תמונות" @@ -2310,27 +2345,27 @@ msgstr "מקום" msgid "Place & Time" msgstr "מקום וזמן" -#: src/app/routes.js:303 src/app/routes.js:309 src/app/routes.js:315 -#: src/app/routes.js:330 src/component/navigation.vue:986 -#: src/component/navigation.vue:1914 src/options/options.js:203 +#: src/app/routes.js:311 src/app/routes.js:317 src/app/routes.js:323 +#: src/app/routes.js:338 src/component/navigation.vue:999 +#: src/component/navigation.vue:1956 src/options/options.js:203 #: src/page/places.vue:51 src/page/settings/general.vue:609 #: src/page/settings/general.vue:638 msgid "Places" msgstr "מקומות" -#: src/component/settings/password.vue:129 +#: src/component/settings/password.vue:130 msgid "Please confirm your new password." msgstr "אנא אשר את הסיסמה החדשה שלך." -#: src/component/settings/apps.vue:185 +#: src/component/settings/apps.vue:188 msgid "Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:" msgstr "אנא העתק את סיסמת האפליקציה הבאה שנוצרה באופן אקראי ושמור אותה במקום בטוח, מכיוון שלא תוכל לראות אותה שוב:" -#: src/component/upload/dialog.vue:203 +#: src/component/upload/dialog.vue:205 msgid "Please do not upload any private, unlawful or offensive pictures." msgstr "נא לא להעלות תמונות פרטיות, לא חוקיות או פוגעניות." -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Please don't upload photos containing offensive content." msgstr "נא לא להעלות תמונות המכילות תוכן פוגעני." @@ -2338,11 +2373,11 @@ msgstr "נא לא להעלות תמונות המכילות תוכן פוגעני msgid "Please enter OTP character {0}" msgstr "אנא הזן תו OTP {0}" -#: src/component/settings/password.vue:66 +#: src/component/settings/password.vue:67 msgid "Please note that changing your password will log you out on other devices and browsers." msgstr "שים לב ששינוי הסיסמה שלך יגרום לך להתנתק ממכשירים ודפדפנים אחרים." -#: src/page/connect.vue:148 src/page/connect.vue:152 +#: src/page/connect.vue:149 src/page/connect.vue:153 msgid "Please restart your instance for the changes to take effect." msgstr "הפעל מחדש את המופע שלך כדי שהשינויים ייכנסו לתוקף." @@ -2362,11 +2397,11 @@ msgstr "מגבלת גודל קבצי ה-PNG %{n} פיקסלים" msgid "Portrait" msgstr "דיוקן" -#: src/component/service/edit.vue:273 +#: src/component/service/edit.vue:274 msgid "Preserve filenames" msgstr "שמור שמות קבצים" -#: src/component/upload/dialog.vue:162 +#: src/component/upload/dialog.vue:164 msgid "Press enter to create a new album." msgstr "לחץ על Enter בכדי ליצור אלבום חדש." @@ -2403,8 +2438,8 @@ msgstr "חזותית קודמת" msgid "Primary" msgstr "ראשי" -#: src/app/routes.js:271 src/component/album/edit/dialog.vue:176 -#: src/component/navigation.vue:531 src/component/photo/edit/info.vue:303 +#: src/app/routes.js:279 src/component/album/edit/dialog.vue:177 +#: src/component/navigation.vue:533 src/component/photo/edit/info.vue:303 #: src/page/settings/general.vue:280 msgid "Private" msgstr "פרטי" @@ -2429,7 +2464,7 @@ msgstr "מסנן איכות" msgid "Quality Score" msgstr "ציון איכות" -#: src/page/admin/users.vue:169 +#: src/page/admin/users.vue:171 msgid "r" msgstr "ר" @@ -2460,7 +2495,7 @@ msgstr "מצב קריאה בלבד" #: src/component/album/edit/dialog.vue:26 src/component/photo/toolbar.vue:116 #: src/component/photo/toolbar.vue:128 src/component/photo/toolbar.vue:138 -#: src/page/albums.vue:102 +#: src/page/albums.vue:103 msgid "Recently Added" msgstr "נוסף לאחרונה" @@ -2468,7 +2503,7 @@ msgstr "נוסף לאחרונה" msgid "Recently Archived" msgstr "הועבר לארכיון לאחרונה" -#: src/component/photo/toolbar.vue:139 src/page/albums.vue:103 +#: src/component/photo/toolbar.vue:139 src/page/albums.vue:104 msgid "Recently Edited" msgstr "נערך לאחרונה" @@ -2493,24 +2528,24 @@ msgstr "קוד שחזור" msgid "Red" msgstr "אדום" -#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:126 -#: src/component/album/toolbar.vue:79 src/component/photo/toolbar.vue:169 -#: src/page/albums.vue:173 src/page/labels.vue:112 +#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:128 +#: src/component/album/toolbar.vue:84 src/component/photo/toolbar.vue:169 +#: src/page/albums.vue:175 src/page/labels.vue:112 #: src/page/library/browse.vue:90 src/page/library/errors.vue:81 #: src/page/people/new.vue:54 src/page/people/recognized.vue:88 msgid "Refresh" msgstr "לְרַעֲנֵן" -#: src/app/routes.js:337 src/component/navigation.vue:943 -#: src/component/navigation.vue:1026 +#: src/app/routes.js:345 src/component/navigation.vue:955 +#: src/component/navigation.vue:1040 msgid "Regions" msgstr "אזורים" -#: src/page/connect.vue:275 src/page/connect.vue:284 +#: src/page/connect.vue:277 src/page/connect.vue:286 msgid "Register" msgstr "הירשם" -#: src/component/navigation.vue:1773 src/component/update.vue:68 +#: src/component/navigation.vue:1806 src/component/update.vue:68 msgid "Reload" msgstr "טען מחדש" @@ -2555,34 +2590,34 @@ msgstr "דרוש בדיקה של תמונות שאינן צילומיות ובא msgid "Resolution" msgstr "רזולוציה" -#: src/page/connect.vue:179 src/page/connect.vue:183 +#: src/page/connect.vue:180 src/page/connect.vue:184 #: src/page/settings/advanced.vue:782 msgid "Restart" msgstr "איתחול" -#: src/component/user/edit/dialog.vue:485 src/component/lightbox.vue:1221 +#: src/component/user/edit/dialog.vue:488 src/component/lightbox.vue:1221 #: src/component/photo/clipboard.vue:77 msgid "Restore" msgstr "לשחזר" -#: src/component/lightbox.vue:2000 +#: src/component/lightbox.vue:2020 msgid "Restored" msgstr "מְשׁוּחזָר" -#: src/component/service/edit.vue:428 +#: src/component/service/edit.vue:429 msgid "Retry Limit" msgstr "נסה שוב מגבלת" -#: src/component/settings/password.vue:128 +#: src/component/settings/password.vue:129 msgid "Retype Password" msgstr "הזן שוב את הסיסמה" -#: src/app/routes.js:264 src/component/navigation.vue:505 +#: src/app/routes.js:272 src/component/navigation.vue:507 msgid "Review" msgstr "סקירה" -#: src/component/user/add/dialog.vue:171 src/component/user/edit/dialog.vue:284 -#: src/page/admin/sessions.vue:262 src/page/admin/users.vue:73 +#: src/component/user/add/dialog.vue:172 src/component/user/edit/dialog.vue:285 +#: src/page/admin/sessions.vue:263 src/page/admin/users.vue:75 msgid "Role" msgstr "תַפְקִיד" @@ -2594,11 +2629,11 @@ msgstr "שורות בעמוד:" msgid "Satellite" msgstr "לוויין" -#: src/component/user/edit/dialog.vue:485 -#: src/component/album/edit/dialog.vue:211 -#: src/component/label/edit/dialog.vue:119 -#: src/component/people/edit/dialog.vue:132 src/component/service/edit.vue:466 -#: src/component/settings/password.vue:172 src/component/share/dialog.vue:181 +#: src/component/user/edit/dialog.vue:488 +#: src/component/album/edit/dialog.vue:212 +#: src/component/label/edit/dialog.vue:120 +#: src/component/people/edit/dialog.vue:133 src/component/service/edit.vue:467 +#: src/component/settings/password.vue:173 src/component/share/dialog.vue:181 msgid "Save" msgstr "שמור" @@ -2606,23 +2641,23 @@ msgstr "שמור" msgid "Scan" msgstr "סרוק" -#: src/component/settings/passcode.vue:179 +#: src/component/settings/passcode.vue:182 msgid "Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:" msgstr "סרוק את קוד ה-QR עם אפליקציית המאמת שלך או השתמש במפתח ההגדרה המוצג למטה ולאחר מכן הזן את קוד האימות שנוצר:" -#: src/component/navigation.vue:461 +#: src/component/navigation.vue:463 msgid "Scans" msgstr "סריקות" -#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:377 -#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:310 +#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:381 +#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:313 msgid "Scope" msgstr "תְחוּם" -#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:62 -#: src/component/navigation.vue:342 src/component/navigation.vue:1866 -#: src/component/photo/toolbar.vue:57 src/options/options.js:197 -#: src/page/albums.vue:100 src/page/labels.vue:77 +#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:69 +#: src/component/location/dialog.vue:133 src/component/navigation.vue:343 +#: src/component/navigation.vue:1905 src/component/photo/toolbar.vue:57 +#: src/options/options.js:197 src/page/albums.vue:100 src/page/labels.vue:77 #: src/page/library/errors.vue:76 src/page/people/recognized.vue:66 #: src/page/places.vue:79 src/page/settings/content.vue:235 msgid "Search" @@ -2660,11 +2695,11 @@ msgstr "בחר תאריך" msgid "Select dates" msgstr "בחר תאריכים" -#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:154 +#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:156 msgid "Select or create an album" msgstr "בחר או צור אלבום" -#: src/component/upload/dialog.vue:138 +#: src/component/upload/dialog.vue:140 msgid "Select the files to upload…" msgstr "בחר את הקבצים להעלאה…" @@ -2692,7 +2727,7 @@ msgstr "הבחירה שוחזרה" msgid "Sequential Name" msgstr "שמות סדרתיים" -#: src/component/service/add.vue:67 src/component/service/edit.vue:322 +#: src/component/service/add.vue:68 src/component/service/edit.vue:323 #: src/component/share/dialog.vue:25 msgid "Service URL" msgstr "נתיב השרות" @@ -2701,7 +2736,7 @@ msgstr "נתיב השרות" msgid "Services" msgstr "שירותים" -#: src/model/session.js:107 src/options/auth.js:41 src/options/auth.js:90 +#: src/model/session.js:107 src/options/auth.js:42 src/options/auth.js:91 msgid "Session" msgstr "מוֹשָׁב" @@ -2709,7 +2744,7 @@ msgstr "מוֹשָׁב" msgid "Session ID" msgstr "מזהה הפעלה" -#: src/page/admin.vue:45 +#: src/page/admin.vue:44 msgid "Sessions" msgstr "הפעלות" @@ -2717,22 +2752,22 @@ msgstr "הפעלות" msgid "Set as Album Cover" msgstr "מוגדר ככריכת אלבום" -#: src/app/routes.js:101 src/app/routes.js:492 src/app/routes.js:504 -#: src/app/routes.js:521 src/app/routes.js:534 src/app/routes.js:547 -#: src/component/navigation.vue:1394 src/component/navigation.vue:1806 +#: src/app/routes.js:101 src/app/routes.js:500 src/app/routes.js:512 +#: src/app/routes.js:529 src/app/routes.js:542 src/app/routes.js:555 +#: src/component/navigation.vue:1419 src/component/navigation.vue:1841 msgid "Settings" msgstr "הגדרות" #: src/page/settings/account.vue:115 src/page/settings/account.vue:144 -#: src/component/settings/passcode.vue:147 +#: src/component/settings/passcode.vue:151 msgid "Settings saved" msgstr "ההגדרות נשמרו" -#: src/component/service/upload.vue:131 src/component/settings/passcode.vue:160 +#: src/component/service/upload.vue:132 src/component/settings/passcode.vue:163 msgid "Setup" msgstr "הגדר" -#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:98 +#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:103 #: src/component/photo/clipboard.vue:51 src/page/settings/general.vue:382 msgid "Share" msgstr "שתף" @@ -2749,7 +2784,7 @@ msgstr "שתף את התמונות שלך עם אפליקציות ושירותי msgid "Show" msgstr "הצג" -#: src/page/people/new.vue:116 src/page/people/new.vue:233 +#: src/page/people/new.vue:116 src/page/people/new.vue:235 msgid "Show all new faces" msgstr "הצג את כל הפרצופים החדשים" @@ -2794,7 +2829,7 @@ msgid "Similar" msgstr "דומה" #: src/component/photo/edit/files.vue:51 src/component/photo/edit/files.vue:341 -#: src/component/service/edit.vue:139 src/component/sidebar/info.vue:96 +#: src/component/service/edit.vue:140 src/component/sidebar/info.vue:96 msgid "Size" msgstr "גודל" @@ -2822,7 +2857,7 @@ msgstr "קרתה תקלה נסה שוב" msgid "Sort by" msgstr "מיין לפי" -#: src/component/album/edit/dialog.vue:142 src/component/photo/toolbar.vue:288 +#: src/component/album/edit/dialog.vue:143 src/component/photo/toolbar.vue:290 #: src/page/albums.vue:214 msgid "Sort Order" msgstr "סדר המיון" @@ -2857,7 +2892,7 @@ msgstr "איחוד תמונות שצולמו באותו זמן ומיקום מד msgid "Stackable" msgstr "ניתן לקיבוץ" -#: src/component/navigation.vue:421 src/page/settings/content.vue:136 +#: src/component/navigation.vue:423 src/page/settings/content.vue:136 msgid "Stacks" msgstr "איחודים" @@ -2885,16 +2920,16 @@ msgstr "אחסון" msgid "Streets" msgstr "רחובות" -#: src/component/photo/edit/details.vue:494 +#: src/component/photo/edit/details.vue:468 #: src/component/photo/edit/labels.vue:44 msgid "Subject" msgstr "נושא" -#: src/page/about/feedback.vue:162 src/page/about/feedback.vue:163 +#: src/page/about/feedback.vue:163 src/page/about/feedback.vue:164 msgid "Submit" msgstr "לְהַגִישׁ" -#: src/component/settings/passcode.vue:132 +#: src/component/settings/passcode.vue:136 msgid "Successfully activated" msgstr "הופעל בהצלחה" @@ -2903,23 +2938,23 @@ msgid "Successfully Connected" msgstr "מחובר בהצלחה" #: src/component/session/remove/dialog.vue:32 -#: src/component/settings/apps.vue:218 +#: src/component/settings/apps.vue:222 msgid "Successfully deleted" msgstr "נמחק בהצלחה" -#: src/component/settings/passcode.vue:107 +#: src/component/settings/passcode.vue:108 msgid "Successfully verified" msgstr "אומת בהצלחה" -#: src/component/user/edit/dialog.vue:398 src/page/admin/users.vue:163 +#: src/component/user/edit/dialog.vue:399 src/page/admin/users.vue:165 msgid "Super Admin" msgstr "סופר אדמין" -#: src/component/service/add.vue:122 +#: src/component/service/add.vue:123 msgid "Support for additional services, like Google Drive, will be added over time." msgstr "תמיכה בשירותים נוספים, כמו Google Drive, תתווסף בהמשך." -#: src/component/confirm/sponsor.vue:37 src/component/navigation.vue:1629 +#: src/component/confirm/sponsor.vue:38 src/component/navigation.vue:1660 msgid "Support Our Mission" msgstr "תמכו במשימה שלנו" @@ -2927,7 +2962,7 @@ msgstr "תמכו במשימה שלנו" msgid "Sync" msgstr "סינכרון" -#: src/component/service/edit.vue:289 +#: src/component/service/edit.vue:290 msgid "Sync raw and video files" msgstr "סנכרן קבצי תמונה גולמיים וסרטונים" @@ -2953,23 +2988,23 @@ msgstr "פְּנֵי הַשֵׁטַח" msgid "Text" msgstr "טֶקסט" -#: src/component/photo/edit/details.vue:32 src/page/people/new.vue:71 +#: src/component/photo/edit/details.vue:40 src/page/people/new.vue:71 msgid "Text too long" msgstr "טקסט ארוך מדי" -#: src/page/about/about.vue:145 +#: src/page/about/about.vue:146 msgid "Thank You for Your Support!" msgstr "תודה על תמיכתך!" -#: src/page/about/about.vue:79 src/page/about/about.vue:85 +#: src/page/about/about.vue:80 src/page/about/about.vue:86 msgid "That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality." msgstr "זו הסיבה ש-PhotoPrism נבנתה מהיסוד לרוץ בכל מקום שתזדקק לו, מבלי להתפשר על חופש, פרטיות או פונקציונליות." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "The index currently contains %{n} hidden files." msgstr "האינדקס מכיל כרגע %{n} קבצים מוסתרים." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates." msgstr "ייתכן שהפורמט שלהם לא נתמך, עדיין לא הומרו ל-JPEG או שיש כפילויות." @@ -2984,44 +3019,44 @@ msgstr "ערכת נושא" msgid "This field is required" msgstr "שדה זה חובה" -#: src/component/settings/webdav.vue:100 src/page/settings/services.vue:144 +#: src/component/settings/webdav.vue:101 src/page/settings/services.vue:147 msgid "This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local." msgstr "זה מגדיר את תיקיית המקור ככונן רשת ומאפשר לך לפתוח, לערוך ולמחוק קבצים מהמחשב או מהסמארטפון כל עוד מחוברים לרשת המקומית." -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Time UTC" msgstr "זמן UTC" -#: src/component/photo/edit/details.vue:219 src/page/settings/general.vue:108 +#: src/component/photo/edit/details.vue:221 src/page/settings/general.vue:108 msgid "Time Zone" msgstr "אזור זמן" -#: src/component/service/edit.vue:408 +#: src/component/service/edit.vue:409 msgid "Timeout" msgstr "פסק זמן" -#: src/component/user/edit/dialog.vue:98 src/component/user/edit/dialog.vue:99 +#: src/component/user/edit/dialog.vue:99 src/component/user/edit/dialog.vue:100 #: src/page/settings/account.vue:84 src/page/settings/account.vue:86 msgctxt "Account" msgid "Title" msgstr "כותרת" -#: src/component/photo/edit/details.vue:73 +#: src/component/photo/edit/details.vue:75 msgctxt "Photo" msgid "Title" msgstr "כותרת" -#: src/component/photo/edit/info.vue:59 src/component/photo/edit/info.vue:155 +#: src/component/photo/edit/info.vue:61 src/component/photo/edit/info.vue:155 #: src/component/photo/edit/labels.vue:40 src/component/photo/view/list.vue:114 #: src/component/sidebar/info.vue:57 msgid "Title" msgstr "כותרת" -#: src/page/settings/account.vue:553 src/page/settings/account.vue:555 +#: src/page/settings/account.vue:559 src/page/settings/account.vue:561 msgid "Title / Position" msgstr "שם / מיקום" -#: src/page/albums.vue:83 +#: src/page/albums.vue:84 msgid "Title too long" msgstr "הכותרת ארוכה מדי" @@ -3029,19 +3064,19 @@ msgstr "הכותרת ארוכה מדי" msgid "to" msgstr "ל" -#: src/component/settings/passcode.vue:312 +#: src/component/settings/passcode.vue:315 msgid "To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place." msgstr "כדי להימנע מנעילת החשבון שלך, אנא הורד, הדפס או העתק את קוד השחזור הזה כעת ושמור אותו במקום בטוח." -#: src/component/settings/apps.vue:272 +#: src/component/settings/apps.vue:275 msgid "To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:" msgstr "כדי ליצור סיסמה חדשה ספציפית לאפליקציה, הזן את השם והיקף ההרשאה של האפליקציה ובחר תאריך תפוגה:" -#: src/component/settings/passcode.vue:400 +#: src/component/settings/passcode.vue:403 msgid "To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:" msgstr "כדי לעבור לאפליקציית אימות או מכשיר חדש, תחילה השבת את האימות הדו-שלבי ולאחר מכן הפעל אותו מחדש:" -#: src/page/connect.vue:221 src/page/connect.vue:230 +#: src/page/connect.vue:223 src/page/connect.vue:232 msgid "To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:" msgstr "כדי לשדרג, אתה יכול להזין קוד הפעלה או ללחוץ על \"הירשם\" כדי להירשם לאתר שלנו:" @@ -3049,7 +3084,7 @@ msgstr "כדי לשדרג, אתה יכול להזין קוד הפעלה או ל msgid "Today" msgstr "הַיוֹם" -#: src/component/album/toolbar.vue:70 src/component/photo/toolbar.vue:78 +#: src/component/album/toolbar.vue:71 src/component/photo/toolbar.vue:78 msgid "Toggle View" msgstr "החלף תצוגה" @@ -3076,20 +3111,24 @@ msgstr "פתרון בעיות" msgid "Try again using other filters or keywords." msgstr "נסה שוב להשתמש בסינון או במילת מפתח שונה." -#: src/component/settings/passcode.vue:380 +#: src/component/settings/passcode.vue:383 msgid "Two-factor authentication has been enabled for your account." msgstr "אימות דו-שלבי הופעל עבור חשבונך." #: src/component/photo/edit/files.vue:58 src/component/photo/edit/files.vue:330 -#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:388 +#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:389 msgid "Type" msgstr "סוג" -#: src/options/auth.js:13 +#: src/component/album/toolbar.vue:178 +msgid "Unable to delete" +msgstr "לא ניתן למחוק" + +#: src/options/auth.js:14 msgid "Unauthorized" msgstr "לא מורשה" -#: src/component/photo/edit/people.vue:94 +#: src/component/photo/edit/people.vue:95 msgid "Undo" msgstr "בטל" @@ -3097,16 +3136,16 @@ msgstr "בטל" msgid "Unique ID" msgstr "מזהה ייחודי" -#: src/page/settings/account.vue:451 src/page/settings/account.vue:476 -#: src/page/settings/account.vue:501 src/common/util.js:487 -#: src/component/photo/edit/details.vue:21 -#: src/component/photo/edit/details.vue:111 -#: src/component/photo/edit/details.vue:138 -#: src/component/photo/edit/details.vue:164 src/component/sidebar/info.vue:43 -#: src/model/album.js:193 src/model/photo.js:323 src/model/photo.js:784 -#: src/model/photo.js:809 src/model/photo.js:832 src/model/photo.js:850 -#: src/model/photo.js:897 src/model/photo.js:905 src/model/photo.js:994 -#: src/model/photo.js:1016 src/model/photo.js:1061 src/model/photo.js:1074 +#: src/page/settings/account.vue:457 src/page/settings/account.vue:482 +#: src/page/settings/account.vue:507 src/common/util.js:488 +#: src/component/photo/edit/details.vue:27 +#: src/component/photo/edit/details.vue:113 +#: src/component/photo/edit/details.vue:140 +#: src/component/photo/edit/details.vue:166 src/component/sidebar/info.vue:43 +#: src/model/album.js:193 src/model/photo.js:331 src/model/photo.js:821 +#: src/model/photo.js:846 src/model/photo.js:869 src/model/photo.js:887 +#: src/model/photo.js:934 src/model/photo.js:942 src/model/photo.js:1031 +#: src/model/photo.js:1053 src/model/photo.js:1098 src/model/photo.js:1111 #: src/model/user.js:157 src/options/options.js:51 src/options/options.js:69 #: src/options/options.js:86 src/options/options.js:100 #: src/options/options.js:112 src/page/library/errors.vue:251 @@ -3119,7 +3158,7 @@ msgstr "לא ידוע" msgid "Unregistered" msgstr "משתמש לא רשום" -#: src/app/routes.js:215 src/component/navigation.vue:644 +#: src/app/routes.js:223 src/component/navigation.vue:648 msgid "Unsorted" msgstr "לא ממוין" @@ -3127,7 +3166,7 @@ msgstr "לא ממוין" msgid "Unstack" msgstr "לא מקובץ" -#: src/component/photo/edit/files.vue:519 src/component/photo/edit/info.vue:416 +#: src/component/photo/edit/files.vue:521 src/component/photo/edit/info.vue:416 msgid "Updated" msgstr "מעודכן" @@ -3143,7 +3182,7 @@ msgstr "מעדכן אינדקס" msgid "Updating moments" msgstr "מעדכן רגעים" -#: src/component/user/edit/dialog.vue:154 +#: src/component/user/edit/dialog.vue:155 msgid "Updating picture…" msgstr "מעדכן תמונה..." @@ -3155,21 +3194,21 @@ msgstr "מעדכן תצוגות מקדימות" msgid "Updating stacks" msgstr "מעדכן קיבוצים" -#: src/page/connect.vue:57 src/component/navigation.vue:1500 -#: src/component/navigation.vue:1614 src/component/navigation.vue:1999 +#: src/page/connect.vue:57 src/component/navigation.vue:1526 +#: src/component/navigation.vue:1644 src/component/navigation.vue:2047 #: src/page/connect.vue:58 msgid "Upgrade" msgstr "שדרוג" -#: src/page/about/about.vue:123 src/page/connect.vue:202 -#: src/component/confirm/sponsor.vue:98 src/page/about/about.vue:113 -#: src/page/connect.vue:206 +#: src/page/about/about.vue:124 src/page/connect.vue:204 +#: src/component/confirm/sponsor.vue:99 src/page/about/about.vue:114 +#: src/page/connect.vue:208 msgid "Upgrade Now" msgstr "שדרג עכשיו" -#: src/component/album/toolbar.vue:108 src/component/navigation.vue:1824 -#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:144 -#: src/component/upload/dialog.vue:51 src/page/albums.vue:183 +#: src/component/album/toolbar.vue:113 src/component/navigation.vue:1860 +#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:145 +#: src/component/upload/dialog.vue:51 src/page/albums.vue:185 #: src/page/labels.vue:122 src/page/library/import.vue:133 #: src/page/settings/general.vue:307 src/page/settings/services.vue:38 msgid "Upload" @@ -3179,21 +3218,21 @@ msgstr "העלה" msgid "Upload complete" msgstr "העלאה הושלמה" -#: src/component/upload/dialog.vue:133 +#: src/component/upload/dialog.vue:135 msgid "Upload complete. Indexing…" msgstr "העלאה הושלמה, מאנדקס…" #: src/component/upload/dialog.vue:296 src/component/upload/dialog.vue:315 -#: src/component/upload/dialog.vue:129 +#: src/component/upload/dialog.vue:131 msgid "Upload failed" msgstr "העלאה נכשלה" -#: src/component/service/edit.vue:257 +#: src/component/service/edit.vue:258 msgid "Upload local files" msgstr "העלה קבצים מקומיים" -#: src/component/user/edit/dialog.vue:380 #: src/component/user/edit/dialog.vue:381 +#: src/component/user/edit/dialog.vue:382 msgid "Upload Path" msgstr "נתיב העלאה" @@ -3201,7 +3240,7 @@ msgstr "נתיב העלאה" msgid "Upload to WebDAV and share links with friends." msgstr "העלה ל- WebDAV ושתף קישורים עם חברים." -#: src/component/upload/dialog.vue:131 +#: src/component/upload/dialog.vue:133 msgid "Uploading %{n} of %{t}…" msgstr "מעלה %{n} מתוך %{t}…" @@ -3214,7 +3253,7 @@ msgstr "מעלה תמונות…" msgid "Uploading…" msgstr "מעלה..." -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Uploads that may contain such images will be rejected automatically." msgstr "העלאות שעשויות להכיל תמונות כאלה יידחו אוטומטית." @@ -3222,7 +3261,7 @@ msgstr "העלאות שעשויות להכיל תמונות כאלה יידחו msgid "Use Presets" msgstr "השתמש בהגדרות קבועות מראש" -#: src/component/settings/passcode.vue:283 +#: src/component/settings/passcode.vue:286 msgid "Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:" msgstr "השתמש בקוד השחזור הבא כדי לגשת לחשבון שלך כאשר אינך יכול ליצור קוד אימות חוקי עם אפליקציית המאמת שלך:" @@ -3230,12 +3269,12 @@ msgstr "השתמש בקוד השחזור הבא כדי לגשת לחשבון ש msgid "Use your recovery code or contact an administrator for help." msgstr "השתמש בקוד השחזור שלך או פנה למנהל מערכת לקבלת עזרה." -#: src/options/admin.js:10 src/page/admin/sessions.vue:59 -#: src/page/admin/sessions.vue:242 src/model/user.js:361 src/options/auth.js:7 +#: src/options/admin.js:14 src/page/admin/sessions.vue:59 +#: src/page/admin/sessions.vue:243 src/model/user.js:361 src/options/auth.js:8 msgid "User" msgstr "משתמש" -#: src/component/navigation.vue:1979 +#: src/component/navigation.vue:2025 msgid "User Guide" msgstr "מדריך למשתמש" @@ -3243,14 +3282,14 @@ msgstr "מדריך למשתמש" msgid "User Interface" msgstr "ממשק משתמש" -#: src/component/user/add/dialog.vue:87 src/component/user/add/dialog.vue:88 -#: src/page/admin/sessions.vue:220 src/page/admin/users.vue:71 -#: src/component/service/add.vue:85 src/component/service/edit.vue:337 +#: src/component/user/add/dialog.vue:88 src/component/user/add/dialog.vue:89 +#: src/page/admin/sessions.vue:221 src/page/admin/users.vue:73 +#: src/component/service/add.vue:86 src/component/service/edit.vue:338 #: src/component/share/dialog.vue:26 msgid "Username" msgstr "שם משתמש" -#: src/component/navigation.vue:1435 +#: src/component/navigation.vue:1461 msgid "Users" msgstr "משתמשים" @@ -3260,18 +3299,18 @@ msgstr "משתמשים" msgid "Vector" msgstr "וֶקטוֹר" -#: src/component/navigation.vue:440 +#: src/component/navigation.vue:442 msgid "Vectors" msgstr "וקטורים" -#: src/component/settings/passcode.vue:227 src/page/auth/login.vue:144 +#: src/component/settings/passcode.vue:230 src/page/auth/login.vue:144 msgid "Verification Code" msgstr "קוד אימות" #: src/component/photo/view/cards.vue:363 #: src/component/photo/view/cards.vue:491 src/component/photo/view/list.vue:190 #: src/component/photo/view/mosaic.vue:207 src/model/file.js:221 -#: src/model/photo.js:921 src/model/photo.js:939 src/options/options.js:293 +#: src/model/photo.js:958 src/model/photo.js:976 src/options/options.js:293 msgid "Video" msgstr "סרטון" @@ -3280,12 +3319,12 @@ msgstr "סרטון" msgid "Video Duration" msgstr "משך הסרטון" -#: src/app/routes.js:243 src/component/navigation.vue:728 +#: src/app/routes.js:251 src/component/navigation.vue:734 #: src/options/options.js:200 msgid "Videos" msgstr "סרטונים" -#: src/component/photo/toolbar.vue:261 src/component/photo/view/cards.vue:350 +#: src/component/photo/toolbar.vue:263 src/component/photo/view/cards.vue:350 #: src/component/photo/view/mosaic.vue:194 msgid "View" msgstr "תצוגה" @@ -3294,11 +3333,11 @@ msgstr "תצוגה" msgid "View search results as a list." msgstr "הצג את תוצאות החיפוש כרשימה." -#: src/options/admin.js:14 src/options/auth.js:8 +#: src/options/admin.js:18 src/options/auth.js:9 msgid "Viewer" msgstr "צוֹפֶה" -#: src/page/admin/sessions.vue:271 src/options/auth.js:12 +#: src/page/admin/sessions.vue:272 src/options/auth.js:13 msgid "Visitor" msgstr "אורח" @@ -3310,34 +3349,34 @@ msgstr "דמיון חזותי" msgid "Warning" msgstr "אַזהָרָה" -#: src/page/about/feedback.vue:60 +#: src/page/about/feedback.vue:61 msgid "We appreciate your feedback!" msgstr "אנו מעריכים את המשוב שלך!" -#: src/page/about/feedback.vue:63 +#: src/page/about/feedback.vue:64 msgid "We do our best to respond within five business days or less." msgstr "אנו עושים כמיטב יכולתנו להשיב תוך חמישה ימי עסקים או פחות." -#: src/component/user/add/dialog.vue:235 src/component/user/edit/dialog.vue:415 -#: src/page/admin/users.vue:80 +#: src/component/user/add/dialog.vue:236 src/component/user/edit/dialog.vue:416 +#: src/page/admin/users.vue:82 msgid "Web Login" msgstr "התחברות לאינטרנט" -#: src/component/user/add/dialog.vue:248 src/component/user/edit/dialog.vue:432 -#: src/page/admin/users.vue:82 src/options/auth.js:55 src/options/auth.js:68 +#: src/component/user/add/dialog.vue:249 src/component/user/edit/dialog.vue:433 +#: src/page/admin/users.vue:84 src/options/auth.js:56 src/options/auth.js:69 #: src/options/options.js:444 msgid "WebDAV" msgstr "WebDAV" -#: src/component/settings/webdav.vue:51 +#: src/component/settings/webdav.vue:52 msgid "WebDAV clients can connect to PhotoPrism using the following URL:" msgstr "שירותי WebDAV יכולים להתחבר ל-PhotoPrism באמצעות כתובת ה-URL הבאה:" -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism." msgstr "שירותי WebDAV, כמו סייר Windows של מיקרוסופט או Finder של אפל, יכולים להתחבר ישירות ל-PhotoPrism." -#: src/component/service/upload.vue:50 src/component/share/dialog.vue:220 +#: src/component/service/upload.vue:51 src/component/share/dialog.vue:220 msgid "WebDAV Upload" msgstr "העלאת WebDAV" @@ -3345,8 +3384,8 @@ msgstr "העלאת WebDAV" msgid "WebGL support is disabled in your browser" msgstr "תמיכת WebGL מושבתת בדפדפן שלך" -#: src/page/settings/account.vue:615 src/page/settings/account.vue:709 -#: src/page/settings/account.vue:601 +#: src/page/settings/account.vue:621 src/page/settings/account.vue:715 +#: src/page/settings/account.vue:607 msgid "Website" msgstr "אתר" @@ -3354,12 +3393,12 @@ msgstr "אתר" msgid "White" msgstr "לבן" -#: src/page/settings/account.vue:532 +#: src/page/settings/account.vue:538 msgid "Work Details" msgstr "פרטי העבודה" -#: src/page/settings/account.vue:500 src/component/photo/edit/details.vue:163 -#: src/component/photo/toolbar.vue:315 src/page/albums.vue:159 +#: src/page/settings/account.vue:506 src/component/photo/edit/details.vue:165 +#: src/component/photo/toolbar.vue:317 src/page/albums.vue:159 msgid "Year" msgstr "שנה" @@ -3367,21 +3406,21 @@ msgstr "שנה" msgid "Yellow" msgstr "צהוב" -#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:58 -#: src/component/photo/archive/dialog.vue:58 +#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:59 +#: src/component/photo/archive/dialog.vue:59 #: src/component/photo/clipboard.vue:200 src/component/photo/edit/files.vue:365 #: src/component/photo/edit/files.vue:395 #: src/component/photo/edit/files.vue:401 #: src/component/photo/edit/files.vue:407 -#: src/component/photo/edit/files.vue:510 src/component/photo/edit/info.vue:281 +#: src/component/photo/edit/files.vue:512 src/component/photo/edit/info.vue:281 #: src/component/photo/edit/info.vue:297 src/component/photo/edit/info.vue:313 #: src/component/photo/edit/info.vue:329 src/component/photo/edit/info.vue:344 -#: src/component/photo/toolbar.vue:434 +#: src/component/photo/toolbar.vue:436 msgid "Yes" msgstr "כן" -#: src/component/confirm/sponsor.vue:59 src/page/about/about.vue:158 -#: src/page/connect.vue:315 +#: src/component/confirm/sponsor.vue:60 src/page/about/about.vue:160 +#: src/page/connect.vue:317 msgid "You are welcome to contact us at membership@photoprism.app for questions regarding your membership." msgstr "אתה מוזמן לפנות אלינו בכתובת membership@photoprism.app לשאלות בנוגע לחברות שלך." @@ -3393,7 +3432,11 @@ msgstr "ניתן להוריד רק אלבום אחד" msgid "You can only download one label" msgstr "ניתן להוריד רק תווית אחת" -#: src/component/upload/dialog.vue:203 +#: src/component/location/dialog.vue:178 +msgid "You can search for a location or move the marker on the map to change the position:" +msgstr "ניתן לחפש מיקום או להזיז את הסמן על המפה כדי לשנות את המיקום:" + +#: src/component/upload/dialog.vue:205 msgid "You can upload up to %{n} files for test purposes." msgstr "אתה יכול להעלות עד %{n} קבצים למטרות בדיקה." @@ -3406,7 +3449,7 @@ msgstr "ניתן לבחור רק פריט אחד" msgid "You may rescan your library to find additional faces." msgstr "תוכל לסרוק מחדש את הספרייה שלך כדי למצוא פנים נוספות." -#: src/page/connect.vue:146 src/page/connect.vue:150 +#: src/page/connect.vue:147 src/page/connect.vue:151 msgid "Your account has been successfully connected." msgstr "החשבון שלך חובר בהצלחה." @@ -3414,8 +3457,8 @@ msgstr "החשבון שלך חובר בהצלחה." msgid "Your browser does not support WebGL" msgstr "הדפדפן שלך אינו תומך ב-WebGL" -#: src/component/confirm/sponsor.vue:43 src/page/about/about.vue:97 -#: src/page/about/about.vue:156 src/page/connect.vue:220 +#: src/component/confirm/sponsor.vue:44 src/page/about/about.vue:98 +#: src/page/about/about.vue:158 src/page/connect.vue:222 msgid "Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy." msgstr "התמיכה המתמשכת שלך עוזרת לנו לספק עדכונים שוטפים ולהישאר עצמאיים, כדי שנוכל למלא את המשימה שלנו ולהגן על פרטיותך." @@ -3496,9 +3539,6 @@ msgstr "זום פנימה\\החוצה" #~ msgid "Open Folder" #~ msgstr "פתח תיקייה" -#~ msgid "Cannot copy to clipboard" -#~ msgstr "לא ניתן להעתיק ללוח" - #~ msgid "Sound" #~ msgstr "קוֹל" @@ -4162,9 +4202,6 @@ msgstr "זום פנימה\\החוצה" #~ msgid "More than 50 results" #~ msgstr "יותר מ-50 תוצאות" -#~ msgid "No results" -#~ msgstr "אין תוצאות" - #~ msgid "Not implemented yet" #~ msgstr "לא מומש עדיין" diff --git a/frontend/src/locales/hi.po b/frontend/src/locales/hi.po index 07cc0f6b6..6308a4ec8 100644 --- a/frontend/src/locales/hi.po +++ b/frontend/src/locales/hi.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: ci@photoprism.app\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2025-04-04 08:03+0000\n" +"PO-Revision-Date: 2025-07-06 08:58+0000\n" "Last-Translator: Google Cloud Translation Basic \n" "Language-Team: Hindi \n" "Language: hi\n" @@ -11,7 +11,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n==0 || n==1);\n" -"X-Generator: Weblate 5.10.4\n" +"X-Generator: Weblate 5.12.2\n" "Generated-By: easygettext\n" #: src/locales.js:268 @@ -42,7 +42,7 @@ msgstr "{0} चयनित" msgid "{0}-{1} of {2}" msgstr "{0}-{1} में से {2}" -#: src/page/albums.vue:612 +#: src/page/albums.vue:617 msgid "%{n} albums found" msgstr "%{n} एल्बम मिले" @@ -50,25 +50,25 @@ msgstr "%{n} एल्बम मिले" msgid "%{n} files uploaded" msgstr "%{n} फ़ाइलें अपलोड की गईं" -#: src/page/library/browse.vue:362 +#: src/page/library/browse.vue:364 msgid "%{n} folders found" msgstr "%{n} फ़ोल्डर मिले" -#: src/component/navigation.vue:1676 +#: src/component/navigation.vue:1707 msgid "%{n} GB of %{q} GB used" msgstr "%{q} GB में से %{n} GB उपयोग किया गया" -#: src/page/labels.vue:528 +#: src/page/labels.vue:533 msgid "%{n} labels found" msgstr "%{n} लेबल मिले" -#: src/page/people/new.vue:350 src/page/people/new.vue:447 -#: src/page/people/recognized.vue:536 +#: src/page/people/new.vue:350 src/page/people/new.vue:450 +#: src/page/people/recognized.vue:541 msgid "%{n} people found" msgstr "%{n} लोग मिले" -#: src/page/album/photos.vue:308 src/page/album/photos.vue:493 -#: src/page/photos.vue:441 src/page/photos.vue:631 +#: src/page/album/photos.vue:313 src/page/album/photos.vue:504 +#: src/page/photos.vue:446 src/page/photos.vue:641 msgid "%{n} pictures found" msgstr "%{n} चित्र मिले" @@ -88,12 +88,12 @@ msgstr "1 घंटा" msgid "12 hours" msgstr "12 घंटा" -#: src/component/user/edit/dialog.vue:452 src/page/settings/account.vue:324 -#: src/component/settings/passcode.vue:75 +#: src/component/user/edit/dialog.vue:453 src/page/settings/account.vue:325 +#: src/component/settings/passcode.vue:78 msgid "2-Factor Authentication" msgstr "2-कारक प्रमाणीकरण" -#: src/component/user/edit/dialog.vue:451 src/options/auth.js:46 +#: src/component/user/edit/dialog.vue:452 src/options/auth.js:47 msgid "2FA" msgstr "2एफए" @@ -109,20 +109,20 @@ msgstr "एक क्लिक इसे आपके क्लिपबोर msgid "A new version of %{s} is available:" msgstr "%{s} का नया संस्करण उपलब्ध है:" -#: src/component/user/edit/dialog.vue:233 -#: src/component/user/edit/dialog.vue:234 src/page/about/about.vue:56 +#: src/component/user/edit/dialog.vue:234 +#: src/component/user/edit/dialog.vue:235 src/page/about/about.vue:56 #: src/page/settings/account.vue:248 src/page/settings/account.vue:249 -#: src/app/routes.js:63 src/component/navigation.vue:1521 -#: src/page/people/recognized.vue:292 +#: src/app/routes.js:63 src/component/navigation.vue:1547 +#: src/page/people/recognized.vue:296 msgid "About" msgstr "के बारे में" -#: src/options/auth.js:26 src/options/auth.js:44 +#: src/options/auth.js:27 src/options/auth.js:45 msgid "Access Token" msgstr "एक्सेस टोकन" -#: src/component/navigation.vue:87 src/component/navigation.vue:1788 -#: src/component/service/upload.vue:71 src/model/service.js:96 +#: src/component/navigation.vue:87 src/component/navigation.vue:1822 +#: src/component/service/upload.vue:72 src/model/service.js:96 #: src/model/user.js:171 src/page/settings.vue:85 #: src/page/settings/general.vue:582 msgid "Account" @@ -136,7 +136,7 @@ msgstr "खाता बन गया" msgid "Account deleted" msgstr "खाता हटाया गया" -#: src/page/admin/users.vue:335 +#: src/page/admin/users.vue:337 msgid "Account restored" msgstr "खाता बहाल किया गया" @@ -157,8 +157,8 @@ msgstr "कार्य" msgid "Actions" msgstr "क्रिया" -#: src/page/connect.vue:294 src/component/settings/passcode.vue:346 -#: src/page/connect.vue:303 +#: src/page/connect.vue:296 src/component/settings/passcode.vue:349 +#: src/page/connect.vue:305 msgid "Activate" msgstr "सक्रिय" @@ -174,20 +174,20 @@ msgstr "आरोही क्रम में क्रमबद्ध कर msgid "Activate to sort descending." msgstr "अवरोही क्रम में क्रमबद्ध करने के लिए सक्रिय करें।" -#: src/page/connect.vue:231 src/page/connect.vue:240 +#: src/page/connect.vue:233 src/page/connect.vue:242 msgid "Activation Code" msgstr "एक्टिवेशन कोड" -#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:83 -#: src/component/settings/apps.vue:448 +#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:92 +#: src/component/settings/apps.vue:451 msgid "Add" msgstr "जोड़ना" -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:246 msgid "Add %{s}?" msgstr "%{s} जोड़ें?" -#: src/component/user/add/dialog.vue:56 src/component/service/add.vue:49 +#: src/component/user/add/dialog.vue:57 src/component/service/add.vue:50 msgid "Add Account" msgstr "खाता जोड़ो" @@ -204,8 +204,8 @@ msgid "Add Link" msgstr "लिंक जोड़ें" #: src/component/photo/edit/people.vue:25 -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:57 -#: src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:57 +#: src/page/people/new.vue:246 msgid "Add person?" msgstr "व्यक्ति जोड़ें?" @@ -221,10 +221,15 @@ msgstr "खोज परिणामों से चित्रों का msgid "Add to album" msgstr "एल्बम में जोड़ें" -#: src/component/photo/edit/files.vue:514 +#: src/component/photo/edit/files.vue:516 msgid "Added" msgstr "जोड़ा गया" +#: src/component/location/dialog.vue:68 src/component/location/dialog.vue:90 +#: src/component/photo/edit/details.vue:246 +msgid "Adjust Location" +msgstr "स्थान समायोजित करें" + #: src/options/admin.js:6 src/options/auth.js:6 msgid "Admin" msgstr "व्यवस्थापक" @@ -245,7 +250,7 @@ msgstr "3 दिन बाद" msgid "After 7 days" msgstr "7 दिन बाद" -#: src/component/settings/passcode.vue:93 +#: src/component/settings/passcode.vue:96 msgid "After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:" msgstr "पुष्टि के लिए अपना पासवर्ड दर्ज करने के बाद, आप संगत प्रमाणक ऐप या डिवाइस के साथ दो-कारक प्रमाणीकरण सेट कर सकते हैं:" @@ -277,12 +282,16 @@ msgstr "एल्बम" msgid "Album Backups" msgstr "एल्बम बैकअप" -#: src/page/albums.vue:674 +#: src/page/albums.vue:685 msgid "Album created" msgstr "एल्बम बनाया गया" -#: src/app/routes.js:176 src/component/album/toolbar.vue:51 -#: src/component/navigation.vue:604 src/component/navigation.vue:1882 +#: src/page/album/photos.vue:589 +msgid "Album deleted" +msgstr "एल्बम हटा दिया गया" + +#: src/app/routes.js:184 src/component/album/toolbar.vue:55 +#: src/component/navigation.vue:607 src/component/navigation.vue:1922 #: src/component/photo/edit/info.vue:220 src/options/options.js:198 msgid "Albums" msgstr "एल्बम" @@ -295,7 +304,7 @@ msgstr "एल्बम हटाए गए" msgid "All" msgstr "सभी" -#: src/page/albums.vue:465 +#: src/page/albums.vue:470 msgid "All %{n} albums loaded" msgstr "सभी %{n} एल्बम लोड किए गए" @@ -311,8 +320,8 @@ msgstr "सभी %{n} लोग लोड हुए" msgid "All Cameras" msgstr "सभी कैमरे" -#: src/component/photo/toolbar.vue:74 src/page/albums.vue:44 -#: src/page/albums.vue:240 src/page/albums.vue:746 +#: src/component/photo/toolbar.vue:74 src/page/albums.vue:45 +#: src/page/albums.vue:242 src/page/albums.vue:757 msgid "All Categories" msgstr "सब वर्ग" @@ -344,7 +353,7 @@ msgstr "सभी महीने" msgid "All originals" msgstr "सभी मूल" -#: src/component/photo/toolbar.vue:76 src/page/albums.vue:93 +#: src/component/photo/toolbar.vue:76 src/page/albums.vue:94 msgid "All Years" msgstr "सभी वर्ष" @@ -356,7 +365,7 @@ msgstr "वैकल्पिक रूप से, आप Nextcloud की त msgid "Altitude" msgstr "ऊंचाई" -#: src/component/photo/edit/details.vue:272 +#: src/component/photo/edit/details.vue:297 msgid "Altitude (m)" msgstr "ऊंचाई (एम)" @@ -364,8 +373,7 @@ msgstr "ऊंचाई (एम)" msgid "AM" msgstr "पूर्वाह्न" -#: src/app/routes.js:257 src/component/navigation.vue:791 -#: src/component/photo/edit/files.vue:364 +#: src/app/routes.js:265 src/component/photo/edit/files.vue:364 #: src/component/photo/view/cards.vue:327 #: src/component/photo/view/cards.vue:511 src/component/photo/view/list.vue:184 #: src/component/photo/view/mosaic.vue:171 src/options/options.js:301 @@ -376,43 +384,47 @@ msgstr "एनिमेटेड" msgid "Animation" msgstr "एनीमेशन" +#: src/component/navigation.vue:797 +msgid "Animations" +msgstr "एनिमेशन" + #: src/component/share/dialog.vue:207 msgid "Any private photos and videos remain private and won't be shared." msgstr "कोई भी निजी फ़ोटो और वीडियो निजी रहेंगे और उन्हें साझा नहीं किया जाएगा।" -#: src/component/service/edit.vue:372 +#: src/component/service/edit.vue:373 msgid "API Key" msgstr "एपीआई कुंजी" -#: src/page/admin/sessions.vue:357 src/options/auth.js:25 +#: src/page/admin/sessions.vue:361 src/options/auth.js:26 msgid "Application" msgstr "आवेदन" -#: src/component/photo/edit/details.vue:641 +#: src/component/photo/edit/details.vue:615 msgid "Apply" msgstr "लागू" #: src/component/photo/clipboard.vue:64 -#: src/component/photo/edit/details.vue:640 +#: src/component/photo/edit/details.vue:614 #: src/component/photo/view/cards.vue:416 msgid "Approve" msgstr "मंजूर" -#: src/page/settings/account.vue:374 src/component/settings/apps.vue:91 +#: src/page/settings/account.vue:378 src/component/settings/apps.vue:94 msgid "Apps and Devices" msgstr "ऐप्स और डिवाइस" -#: src/app/routes.js:287 src/component/lightbox.vue:1207 -#: src/component/navigation.vue:555 src/component/photo/clipboard.vue:142 +#: src/app/routes.js:295 src/component/lightbox.vue:1207 +#: src/component/navigation.vue:557 src/component/photo/clipboard.vue:142 #: src/component/photo/view/cards.vue:398 src/page/settings/general.vue:432 msgid "Archive" msgstr "पुरालेख" -#: src/component/lightbox.vue:1982 src/component/photo/edit/info.vue:433 +#: src/component/lightbox.vue:2002 src/component/photo/edit/info.vue:433 msgid "Archived" msgstr "संग्रहीत" -#: src/component/photo/archive/dialog.vue:34 +#: src/component/photo/archive/dialog.vue:35 msgid "Are you sure you want to archive the selection?" msgstr "क्या आप वाकई चयन को संग्रहीत करना चाहते हैं?" @@ -420,19 +432,23 @@ msgstr "क्या आप वाकई चयन को संग्रही msgid "Are you sure you want to delete these albums?" msgstr "क्या आप वाकई इन एल्बम को हटाना चाहते हैं?" -#: src/component/label/delete/dialog.vue:34 +#: src/component/label/delete/dialog.vue:35 msgid "Are you sure you want to delete these labels?" msgstr "क्या आप वाकई इन लेबल को हटाना चाहते हैं?" -#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:36 +#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:37 msgid "Are you sure you want to delete this account?" msgstr "क्या आप वाकई इस खाते को हटाना चाहते हैं?" +#: src/component/album/toolbar.vue:136 +msgid "Are you sure you want to delete this album?" +msgstr "क्या आप वाकई इस एल्बम को हटाना चाहते हैं?" + #: src/component/photo/clipboard.vue:199 msgid "Are you sure you want to permanently delete these pictures?" msgstr "क्या आप वाकई इन चित्रों को स्थायी रूप से हटाना चाहते हैं?" -#: src/component/file/delete/dialog.vue:34 +#: src/component/file/delete/dialog.vue:35 msgid "Are you sure you want to permanently delete this file?" msgstr "क्या आप वाकई इस फ़ाइल को स्थायी रूप से हटाना चाहते हैं?" @@ -441,7 +457,7 @@ msgstr "क्या आप वाकई इस फ़ाइल को स्थ msgid "Are you sure?" msgstr "क्या आपको यकीन है?" -#: src/component/photo/edit/details.vue:537 +#: src/component/photo/edit/details.vue:511 msgid "Artist" msgstr "कलाकार" @@ -449,14 +465,14 @@ msgstr "कलाकार" msgid "Aspect Ratio" msgstr "आस्पेक्ट अनुपात" -#: src/app/routes.js:250 src/component/navigation.vue:770 +#: src/app/routes.js:258 src/component/navigation.vue:776 #: src/options/options.js:297 msgid "Audio" msgstr "ऑडियो" -#: src/component/user/add/dialog.vue:190 src/component/user/edit/dialog.vue:309 -#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:281 -#: src/page/admin/users.vue:75 +#: src/component/user/add/dialog.vue:191 src/component/user/edit/dialog.vue:310 +#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:282 +#: src/page/admin/users.vue:77 msgid "Authentication" msgstr "प्रमाणीकरण" @@ -464,11 +480,11 @@ msgstr "प्रमाणीकरण" msgid "Auto" msgstr "ऑटो" -#: src/component/settings/apps.vue:151 +#: src/component/settings/apps.vue:154 msgid "Back" msgstr "पीछे" -#: src/component/scroll.vue:20 +#: src/component/scroll.vue:18 msgid "Back to top" msgstr "शीर्ष पर वापस जाएं" @@ -480,26 +496,26 @@ msgstr "बैकअप" msgid "Badge" msgstr "बिल्ला" -#: src/component/user/edit/dialog.vue:361 #: src/component/user/edit/dialog.vue:362 +#: src/component/user/edit/dialog.vue:363 msgid "Base Path" msgstr "बेस पथ" -#: src/page/about/about.vue:95 src/page/connect.vue:220 +#: src/page/about/about.vue:96 src/page/connect.vue:222 msgid "Become a member today, support our mission and enjoy our member benefits!" msgstr "आज ही सदस्य बनें, हमारे मिशन का समर्थन करें और हमारे सदस्य लाभों का आनंद लें!" -#: src/component/confirm/sponsor.vue:51 src/page/about/about.vue:99 +#: src/component/confirm/sponsor.vue:52 src/page/about/about.vue:100 msgid "Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services." msgstr "100% स्व-वित्त पोषित और स्वतंत्र होने के नाते, हम आपसे वादा कर सकते हैं कि हम आपका डेटा कभी नहीं बेचेंगे और हम अपने सॉफ़्टवेयर और सेवाओं के बारे में हमेशा पारदर्शी रहेंगे।" -#: src/component/user/edit/dialog.vue:258 -#: src/component/user/edit/dialog.vue:259 src/page/settings/account.vue:227 +#: src/component/user/edit/dialog.vue:259 +#: src/component/user/edit/dialog.vue:260 src/page/settings/account.vue:227 #: src/page/settings/account.vue:228 msgid "Bio" msgstr "जैव" -#: src/page/settings/account.vue:431 +#: src/page/settings/account.vue:437 msgid "Birth Date" msgstr "जन्म तिथि" @@ -520,7 +536,7 @@ msgid "Brown" msgstr "भूरा" #: src/component/photo/edit/files.vue:263 src/component/photo/toolbar.vue:141 -#: src/component/upload/dialog.vue:240 +#: src/component/upload/dialog.vue:242 msgid "Browse" msgstr "ब्राउज़" @@ -548,16 +564,16 @@ msgstr "बग रिपोर्ट" msgid "Busy, please wait…" msgstr "व्यस्त, कृपया प्रतीक्षा करें …" -#: src/page/connect.vue:317 +#: src/page/connect.vue:319 msgid "By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct." msgstr "हमारे द्वारा प्रदान किए जाने वाले सॉफ़्टवेयर और सेवाओं का उपयोग करके, आप हमारी सेवा की शर्तों, गोपनीयता नीति और आचार संहिता से सहमत होते हैं।" -#: src/app/routes.js:189 src/component/navigation.vue:1081 +#: src/app/routes.js:197 src/component/navigation.vue:1097 #: src/options/options.js:204 src/page/settings/general.vue:205 msgid "Calendar" msgstr "पंचांग" -#: src/component/photo/edit/details.vue:346 src/component/photo/toolbar.vue:232 +#: src/component/photo/edit/details.vue:320 src/component/photo/toolbar.vue:234 #: src/component/photo/view/cards.vue:467 src/component/photo/view/list.vue:116 msgid "Camera" msgstr "कैमरा" @@ -570,12 +586,12 @@ msgstr "कैमरा सीरियल" msgid "Can't access your authenticator app or device?" msgstr "क्या आप अपने प्रमाणक ऐप या डिवाइस तक नहीं पहुंच पा रहे हैं?" -#: src/page/album/photos.vue:317 src/page/photos.vue:450 +#: src/page/album/photos.vue:322 src/page/photos.vue:455 msgid "Can't load more, limit reached" msgstr "अधिक लोड नहीं किया जा सकता, सीमा तक पहुंच गया" #: src/common/clipboard.js:102 src/common/clipboard.js:139 -#: src/page/albums.vue:684 src/page/albums.vue:700 src/page/labels.vue:293 +#: src/page/albums.vue:695 src/page/albums.vue:711 src/page/labels.vue:293 #: src/page/labels.vue:313 src/page/library/browse.vue:233 #: src/page/library/browse.vue:249 src/page/people/new.vue:278 #: src/page/people/new.vue:294 src/page/people/recognized.vue:305 @@ -584,26 +600,31 @@ msgid "Can't select more items" msgstr "अधिक आइटम का चयन नहीं किया जा सकता" #: src/component/session/remove/dialog.vue:45 -#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:473 -#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:119 +#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:474 +#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:120 #: src/component/album/delete/dialog.vue:43 -#: src/component/album/edit/dialog.vue:199 src/component/confirm/dialog.vue:43 -#: src/component/file/delete/dialog.vue:47 -#: src/component/label/delete/dialog.vue:47 -#: src/component/label/edit/dialog.vue:107 -#: src/component/people/edit/dialog.vue:120 +#: src/component/album/edit/dialog.vue:200 src/component/confirm/dialog.vue:43 +#: src/component/file/delete/dialog.vue:48 +#: src/component/label/delete/dialog.vue:48 +#: src/component/label/edit/dialog.vue:108 +#: src/component/location/dialog.vue:200 +#: src/component/people/edit/dialog.vue:121 #: src/component/photo/album/dialog.vue:78 src/component/service/add.vue:19 -#: src/component/service/edit.vue:455 src/component/service/remove.vue:49 -#: src/component/service/upload.vue:117 src/component/settings/apps.vue:352 -#: src/component/settings/passcode.vue:249 -#: src/component/settings/passcode.vue:333 -#: src/component/settings/password.vue:159 src/component/share/dialog.vue:28 -#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:123 +#: src/component/service/edit.vue:456 src/component/service/remove.vue:50 +#: src/component/service/upload.vue:118 src/component/settings/apps.vue:355 +#: src/component/settings/passcode.vue:252 +#: src/component/settings/passcode.vue:336 +#: src/component/settings/password.vue:160 src/component/share/dialog.vue:28 +#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:124 #: src/page/library/import.vue:119 src/page/library/index.vue:128 msgid "Cancel" msgstr "रद्द करना" -#: src/component/photo/edit/details.vue:87 src/component/photo/edit/info.vue:61 +#: src/common/util.js:863 src/common/util.js:870 +msgid "Cannot copy to clipboard" +msgstr "क्लिपबोर्ड पर कॉपी नहीं किया जा सकता" + +#: src/component/photo/edit/details.vue:89 src/component/photo/edit/info.vue:63 #: src/component/photo/edit/labels.vue:42 #: src/component/photo/view/cards.vue:445 src/component/sidebar/info.vue:72 msgid "Caption" @@ -617,17 +638,17 @@ msgstr "पत्ते" msgid "Carousel slide {0} of {1}" msgstr "{1} में से {0} कैरोसेल स्लाइड" -#: src/page/about/feedback.vue:82 src/page/about/feedback.vue:83 -#: src/component/album/edit/dialog.vue:128 src/component/photo/toolbar.vue:397 +#: src/page/about/feedback.vue:83 src/page/about/feedback.vue:84 +#: src/component/album/edit/dialog.vue:129 src/component/photo/toolbar.vue:399 #: src/page/albums.vue:187 msgid "Category" msgstr "वर्ग" -#: src/component/user/edit/dialog.vue:191 src/page/settings/account.vue:201 +#: src/component/user/edit/dialog.vue:192 src/page/settings/account.vue:201 msgid "Change Avatar" msgstr "अवतार परिवर्तन" -#: src/page/settings/account.vue:297 src/component/settings/password.vue:48 +#: src/page/settings/account.vue:297 src/component/settings/password.vue:49 msgid "Change Password" msgstr "पासवर्ड बदलें" @@ -644,17 +665,17 @@ msgid "Change private flag" msgstr "निजी ध्वज बदलें" #: src/component/user/add/dialog.vue:108 src/component/user/add/dialog.vue:113 -#: src/component/user/edit/dialog.vue:90 src/component/user/edit/dialog.vue:95 +#: src/component/user/edit/dialog.vue:91 src/component/user/edit/dialog.vue:96 #: src/page/settings/account.vue:121 src/page/settings/account.vue:126 msgid "Changes could not be saved" msgstr "परिवर्तन सहेजा नहीं जा सका" -#: src/component/user/edit/dialog.vue:83 src/component/user/edit/dialog.vue:159 +#: src/component/user/edit/dialog.vue:84 src/component/user/edit/dialog.vue:160 #: src/component/album/edit/dialog.vue:73 -#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1941 +#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1961 #: src/component/photo/edit/files.vue:162 src/component/service/edit.vue:90 #: src/component/share/dialog.vue:92 src/component/share/dialog.vue:111 -#: src/page/albums.vue:677 src/page/people/recognized.vue:119 +#: src/page/albums.vue:688 src/page/people/recognized.vue:119 #: src/page/settings/advanced.vue:62 src/page/settings/content.vue:62 #: src/page/settings/general.vue:108 msgid "Changes successfully saved" @@ -668,7 +689,7 @@ msgstr "उन्नत सेटिंग्स में परिवर्त msgid "Checked" msgstr "चेक किए गए" -#: src/component/photo/edit/files.vue:495 +#: src/component/photo/edit/files.vue:497 msgid "Chroma" msgstr "क्रोमा" @@ -684,24 +705,24 @@ msgstr "साफ - सफाई" msgid "Clear {0}" msgstr "साफ़ करें {0}" -#: src/options/auth.js:11 src/options/auth.js:23 src/options/auth.js:43 +#: src/options/auth.js:12 src/options/auth.js:24 src/options/auth.js:44 msgid "Client" msgstr "ग्राहक" -#: src/options/auth.js:24 +#: src/options/auth.js:25 msgid "Client Credentials" msgstr "ग्राहक क्रेडेंशियल" -#: src/page/admin/sessions.vue:529 src/component/lightbox.vue:284 -#: src/component/lightbox.vue:1009 src/component/lightbox.vue:1010 -#: src/component/photo/edit/details.vue:627 src/component/photo/toolbar.vue:160 -#: src/component/settings/apps.vue:224 src/component/settings/apps.vue:437 -#: src/component/settings/passcode.vue:148 -#: src/component/settings/passcode.vue:456 -#: src/component/settings/passcode.vue:497 -#: src/component/settings/webdav.vue:131 src/component/share/dialog.vue:231 +#: src/component/user/edit/dialog.vue:474 src/page/admin/sessions.vue:536 +#: src/component/lightbox.vue:284 src/component/lightbox.vue:1009 +#: src/component/lightbox.vue:1010 src/component/photo/edit/details.vue:601 +#: src/component/photo/toolbar.vue:161 src/component/settings/apps.vue:227 +#: src/component/settings/apps.vue:440 src/component/settings/passcode.vue:151 +#: src/component/settings/passcode.vue:459 +#: src/component/settings/passcode.vue:500 +#: src/component/settings/webdav.vue:132 src/component/share/dialog.vue:231 #: src/component/sidebar/info.vue:26 src/component/update.vue:57 -#: src/component/upload/dialog.vue:228 src/locales.js:206 +#: src/component/upload/dialog.vue:230 src/locales.js:206 #: src/page/library/errors.vue:253 msgid "Close" msgstr "बंद करे" @@ -710,11 +731,11 @@ msgstr "बंद करे" msgid "Codec" msgstr "कोडेक" -#: src/component/photo/toolbar.vue:369 +#: src/component/photo/toolbar.vue:371 msgid "Color" msgstr "रंग" -#: src/component/photo/edit/files.vue:483 +#: src/component/photo/edit/files.vue:485 msgid "Color Profile" msgstr "रंग प्रोफ़ाइल" @@ -722,7 +743,7 @@ msgstr "रंग प्रोफ़ाइल" msgid "Colors" msgstr "रंग की" -#: src/page/connect.vue:260 src/page/connect.vue:269 +#: src/page/connect.vue:262 src/page/connect.vue:271 msgid "Compare Editions" msgstr "संस्करणों की तुलना करें" @@ -735,17 +756,18 @@ msgstr "पूरा रेसकान" msgid "Confidence" msgstr "आत्मविश्वास" +#: src/component/location/dialog.vue:212 #: src/component/photo/album/dialog.vue:90 -#: src/component/settings/passcode.vue:261 +#: src/component/settings/passcode.vue:264 msgid "Confirm" msgstr "पुष्टि करना" -#: src/component/service/add.vue:20 src/page/settings/services.vue:187 +#: src/component/service/add.vue:20 src/page/settings/services.vue:191 msgid "Connect" msgstr "जुडिये" -#: src/page/settings/account.vue:401 src/component/settings/webdav.vue:45 -#: src/page/settings/services.vue:167 +#: src/page/settings/account.vue:406 src/component/settings/webdav.vue:46 +#: src/page/settings/services.vue:170 msgid "Connect via WebDAV" msgstr "WebDAV के माध्यम से कनेक्ट करें" @@ -753,22 +775,22 @@ msgstr "WebDAV के माध्यम से कनेक्ट करें" msgid "Connected" msgstr "जुड़े हुए" -#: src/page/settings/account.vue:640 src/page/settings/account.vue:532 +#: src/page/settings/account.vue:646 src/page/settings/account.vue:538 msgid "Contact Details" msgstr "सम्पर्क करने का विवरण" -#: src/page/about/feedback.vue:37 src/page/connect.vue:132 -#: src/page/connect.vue:136 +#: src/page/about/feedback.vue:37 src/page/connect.vue:133 +#: src/page/connect.vue:137 msgid "Contact Us" msgstr "संपर्क करें" #: src/page/albums.vue:433 src/page/labels.vue:237 -#: src/page/people/recognized.vue:306 +#: src/page/people/recognized.vue:310 msgid "Contains %{n} pictures." msgstr "इसमें %{n} चित्र हैं।" #: src/page/albums.vue:427 src/page/labels.vue:231 -#: src/page/people/recognized.vue:300 +#: src/page/people/recognized.vue:304 msgid "Contains one picture." msgstr "एक तस्वीर शामिल है।" @@ -776,7 +798,7 @@ msgstr "एक तस्वीर शामिल है।" msgid "Content" msgstr "सामग्री" -#: src/component/settings/apps.vue:163 +#: src/component/settings/apps.vue:166 msgid "Continue" msgstr "जारी रखना" @@ -784,7 +806,7 @@ msgstr "जारी रखना" msgid "Continue with %{provider}" msgstr "%{provider} के साथ जारी रखें" -#: src/options/admin.js:18 src/options/auth.js:9 +#: src/options/admin.js:22 src/options/auth.js:10 msgid "Contributor" msgstr "योगदान देने वाला" @@ -792,15 +814,15 @@ msgstr "योगदान देने वाला" msgid "Converting" msgstr "परिवर्तित" -#: src/common/util.js:846 +#: src/common/util.js:856 msgid "Copied to clipboard" msgstr "क्लिपबोर्ड पर नकल" -#: src/component/settings/apps.vue:250 src/component/settings/passcode.vue:358 +#: src/component/settings/apps.vue:253 src/component/settings/passcode.vue:361 msgid "Copy" msgstr "प्रतिलिपि" -#: src/component/photo/edit/details.vue:516 +#: src/component/photo/edit/details.vue:490 msgid "Copyright" msgstr "कॉपीराइट" @@ -808,8 +830,8 @@ msgstr "कॉपीराइट" msgid "Couldn't find anything." msgstr "कुछ नहीं मिला।" -#: src/page/settings/account.vue:685 src/component/photo/edit/details.vue:242 -#: src/component/photo/toolbar.vue:203 src/page/settings/account.vue:577 +#: src/page/settings/account.vue:691 src/component/photo/edit/details.vue:268 +#: src/component/photo/toolbar.vue:205 src/page/settings/account.vue:583 msgid "Country" msgstr "देश" @@ -833,7 +855,7 @@ msgstr "एल्बम मेटाडेटा का बैकअप ले msgid "Create YAML sidecar files to back up picture metadata." msgstr "चित्र मेटाडेटा का बैकअप लेने के लिए YAML साइडकार फ़ाइलें बनाएँ।" -#: src/page/admin/sessions.vue:417 src/component/photo/edit/info.vue:412 +#: src/page/admin/sessions.vue:422 src/component/photo/edit/info.vue:412 msgid "Created" msgstr "बनाया था" @@ -845,11 +867,11 @@ msgstr "के लिए थंबनेल बनाना" msgid "Cubic: Moderate Quality, Good Performance" msgstr "घन: मध्यम गुणवत्ता, अच्छा प्रदर्शन" -#: src/component/settings/password.vue:85 +#: src/component/settings/password.vue:86 msgid "Current Password" msgstr "वर्तमान पासवर्ड" -#: src/options/themes.js:919 src/options/themes.js:928 +#: src/options/themes.js:920 src/options/themes.js:929 msgid "Custom" msgstr "रिवाज़" @@ -865,11 +887,11 @@ msgstr "रोज" msgid "Database Backups" msgstr "डेटाबेस बैकअप" -#: src/page/settings/account.vue:450 src/component/photo/edit/details.vue:110 +#: src/page/settings/account.vue:456 src/component/photo/edit/details.vue:112 msgid "Day" msgstr "दिन" -#: src/component/settings/passcode.vue:445 +#: src/component/settings/passcode.vue:448 msgid "Deactivate" msgstr "निष्क्रिय करें" @@ -877,36 +899,40 @@ msgstr "निष्क्रिय करें" msgid "Debug Logs" msgstr "दोषमार्जन लॉग" -#: src/options/admin.js:31 src/page/admin/sessions.vue:136 -#: src/page/admin/users.vue:176 src/component/photo/edit/info.vue:47 +#: src/options/admin.js:35 src/page/admin/sessions.vue:136 +#: src/page/admin/users.vue:178 src/component/photo/edit/info.vue:47 #: src/component/photo/edit/info.vue:110 src/model/session.js:66 -#: src/model/user.js:246 src/options/auth.js:20 src/options/auth.js:21 -#: src/options/auth.js:39 src/options/auth.js:40 src/options/options.js:196 +#: src/model/user.js:246 src/options/auth.js:21 src/options/auth.js:22 +#: src/options/auth.js:40 src/options/auth.js:41 src/options/options.js:196 #: src/options/options.js:232 src/options/options.js:316 -#: src/options/themes.js:773 +#: src/options/themes.js:774 msgid "Default" msgstr "चूक" -#: src/component/service/edit.vue:123 +#: src/component/service/edit.vue:124 msgid "Default Folder" msgstr "डिफ़ॉल्ट फ़ोल्डर" #: src/component/session/remove/dialog.vue:56 #: src/component/user/remove/dialog.vue:56 src/component/album/clipboard.vue:97 -#: src/component/album/delete/dialog.vue:54 -#: src/component/file/delete/dialog.vue:58 src/component/label/clipboard.vue:58 -#: src/component/label/delete/dialog.vue:58 +#: src/component/album/delete/dialog.vue:54 src/component/album/toolbar.vue:137 +#: src/component/file/delete/dialog.vue:59 src/component/label/clipboard.vue:58 +#: src/component/label/delete/dialog.vue:59 #: src/component/photo/clipboard.vue:168 src/component/photo/edit/files.vue:238 -#: src/component/service/remove.vue:60 src/component/share/dialog.vue:170 +#: src/component/service/remove.vue:61 src/component/share/dialog.vue:170 #: src/page/settings/general.vue:457 msgid "Delete" msgstr "हटाएं" +#: src/component/album/toolbar.vue:133 +msgid "Delete Album" +msgstr "एल्बम हटाएं" + #: src/component/photo/toolbar.vue:119 src/page/library/errors.vue:95 msgid "Delete All" msgstr "सभी हटा दो" -#: src/component/photo/toolbar.vue:433 src/page/library/errors.vue:193 +#: src/component/photo/toolbar.vue:435 src/page/library/errors.vue:193 msgid "Delete all?" msgstr "सभी हटा दो?" @@ -914,16 +940,16 @@ msgstr "सभी हटा दो?" msgid "Delete orphaned index entries, sidecar files and thumbnails." msgstr "अनाथ अनुक्रमणिका प्रविष्टियाँ, साइडकार फ़ाइलें और थंबनेल हटाएँ।" -#: src/component/album/edit/dialog.vue:107 src/page/albums.vue:411 +#: src/component/album/edit/dialog.vue:108 src/page/albums.vue:411 msgid "Description" msgstr "विवरण" -#: src/component/settings/webdav.vue:115 +#: src/component/settings/webdav.vue:116 msgid "Detailed instructions can be found in our User Guide." msgstr "विस्तृत निर्देश हमारे उपयोगकर्ता गाइड में पाए जा सकते हैं।" -#: src/component/photo/edit/dialog.vue:156 -#: src/component/photo/edit/dialog.vue:173 +#: src/component/photo/edit/dialog.vue:162 +#: src/component/photo/edit/dialog.vue:181 msgid "Details" msgstr "विवरण" @@ -987,8 +1013,8 @@ msgstr "वेक्टर ग्राफ़िक्स समर्थन अ msgid "Disables video transcoding and thumbnail extraction." msgstr "वीडियो ट्रांसकोडिंग और थंबनेल निष्कर्षण अक्षम करता है।" -#: src/app/routes.js:558 src/app/routes.js:565 src/app/routes.js:572 -#: src/app/routes.js:579 +#: src/app/routes.js:566 src/app/routes.js:573 src/app/routes.js:580 +#: src/app/routes.js:587 msgid "Discover" msgstr "डिस्कवर" @@ -996,9 +1022,9 @@ msgstr "डिस्कवर" msgid "Dismiss" msgstr "नकार देना" -#: src/component/user/add/dialog.vue:133 src/component/user/add/dialog.vue:134 -#: src/component/user/edit/dialog.vue:163 -#: src/component/user/edit/dialog.vue:164 src/page/admin/users.vue:72 +#: src/component/user/add/dialog.vue:134 src/component/user/add/dialog.vue:135 +#: src/component/user/edit/dialog.vue:164 +#: src/component/user/edit/dialog.vue:165 src/page/admin/users.vue:74 #: src/page/settings/account.vue:149 src/page/settings/account.vue:151 msgid "Display Name" msgstr "प्रदर्शित होने वाला नाम" @@ -1013,12 +1039,12 @@ msgstr "खोज परिणामों में चित्र शीर #: src/component/photo/view/cards.vue:339 #: src/component/photo/view/cards.vue:521 -#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:174 +#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:176 #: src/options/options.js:309 msgid "Document" msgstr "दस्तावेज़" -#: src/component/navigation.vue:480 +#: src/component/navigation.vue:482 msgid "Documents" msgstr "दस्तावेज़" @@ -1034,16 +1060,16 @@ msgstr "छवियों को परिवर्तित करने क msgid "Don't use RawTherapee to convert RAW images." msgstr "RAW फ़ाइलों को कनवर्ट करने के लिए RawTherapee का उपयोग न करें।" -#: src/component/settings/apps.vue:238 src/component/share/dialog.vue:29 +#: src/component/settings/apps.vue:241 src/component/share/dialog.vue:29 msgid "Done" msgstr "किया हुआ" -#: src/component/upload/dialog.vue:135 src/page/library/import.vue:46 +#: src/component/upload/dialog.vue:137 src/page/library/import.vue:46 #: src/page/library/index.vue:52 msgid "Done." msgstr "किया हुआ |" -#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:118 +#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:123 #: src/component/file/clipboard.vue:48 src/component/lightbox.vue:1235 #: src/component/people/clipboard.vue:47 src/component/photo/clipboard.vue:116 #: src/component/photo/edit/files.vue:168 src/page/settings/content.vue:331 @@ -1055,7 +1081,7 @@ msgstr "डाउनलोड" msgid "Download only original media files, without any automatically generated files." msgstr "बिना किसी स्वचालित रूप से जेनरेट की गई फ़ाइलों के केवल मूल मीडिया फ़ाइलें डाउनलोड करें।" -#: src/component/service/edit.vue:237 +#: src/component/service/edit.vue:238 msgid "Download remote files" msgstr "दूरस्थ फ़ाइलें डाउनलोड करें" @@ -1063,9 +1089,9 @@ msgstr "दूरस्थ फ़ाइलें डाउनलोड करे msgid "Download single files and zip archives." msgstr "एकल फाइलें और ज़िप अभिलेखागार डाउनलोड करें।" -#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:157 +#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:172 #: src/component/file/clipboard.vue:61 src/component/label/clipboard.vue:86 -#: src/component/lightbox.vue:2021 src/component/people/clipboard.vue:59 +#: src/component/lightbox.vue:2041 src/component/people/clipboard.vue:59 #: src/component/photo/clipboard.vue:220 src/component/photo/edit/files.vue:119 #: src/component/photo/view/cards.vue:169 src/component/photo/view/list.vue:142 #: src/page/library/browse.vue:139 @@ -1080,7 +1106,7 @@ msgstr "गुणवत्ता फ़िल्टर" msgid "Drag and drop files here" msgstr "फ़ाइलों को यहां खींचें और छोड़ें" -#: src/page/about/feedback.vue:61 +#: src/page/about/feedback.vue:62 msgid "Due to the high volume of emails we receive, our team may be unable to get back to you immediately." msgstr "हमें प्राप्त होने वाले ईमेल की अधिक मात्रा के कारण, हमारी टीम आपसे तुरंत संपर्क करने में असमर्थ हो सकती है।" @@ -1100,23 +1126,23 @@ msgstr "बिना पढ़े हुए पूर्वावलोकन" msgid "Dynamic Size Limit: %{n}px" msgstr "बिना आकार की सीमा: %{n} px" -#: src/page/about/feedback.vue:141 src/page/about/feedback.vue:140 +#: src/page/about/feedback.vue:142 src/page/about/feedback.vue:141 msgid "E-Mail" msgstr "ईमेल" -#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:89 +#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:94 #: src/component/lightbox.vue:1136 src/component/lightbox.vue:1137 #: src/component/photo/clipboard.vue:90 src/page/settings/general.vue:407 msgid "Edit" msgstr "संपादित करें" -#: src/component/album/edit/dialog.vue:54 -#: src/component/label/edit/dialog.vue:52 -#: src/component/people/edit/dialog.vue:52 +#: src/component/album/edit/dialog.vue:55 +#: src/component/label/edit/dialog.vue:53 +#: src/component/people/edit/dialog.vue:53 msgid "Edit %{s}" msgstr "%{s} संपादित करें" -#: src/component/user/edit/dialog.vue:61 src/component/service/edit.vue:79 +#: src/component/user/edit/dialog.vue:62 src/component/service/edit.vue:79 msgid "Edit Account" msgstr "खाता संपादित करें" @@ -1128,8 +1154,8 @@ msgstr "फ़ोटो संपादित करें" msgid "Edited" msgstr "संपादित" -#: src/component/user/add/dialog.vue:151 src/component/user/edit/dialog.vue:213 -#: src/page/settings/account.vue:171 src/page/settings/account.vue:593 +#: src/component/user/add/dialog.vue:152 src/component/user/edit/dialog.vue:214 +#: src/page/settings/account.vue:171 src/page/settings/account.vue:599 msgid "Email" msgstr "ईमेल" @@ -1145,7 +1171,7 @@ msgstr "ऐसी नई सुविधाएँ सक्षम करें msgid "Enables RAW converter presets. May reduce performance." msgstr "रॉ कनवर्टर प्रीसेट सक्षम करता है। प्रदर्शन को कम कर सकता है।" -#: src/component/settings/passcode.vue:127 +#: src/component/settings/passcode.vue:130 msgid "Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account." msgstr "दो-कारक प्रमाणीकरण सक्षम करने का अर्थ है कि आपको लॉग इन करने के लिए एक यादृच्छिक रूप से उत्पन्न सत्यापन कोड की आवश्यकता होगी, इसलिए यदि कोई आपके पासवर्ड तक पहुंच प्राप्त भी कर लेता है, तो वह आपके खाते तक नहीं पहुंच पाएगा।" @@ -1157,7 +1183,7 @@ msgstr "तारीख दर्ज करें" msgid "Enter dates" msgstr "तारीखें दर्ज करें" -#: src/component/settings/passcode.vue:213 src/page/auth/login.vue:104 +#: src/component/settings/passcode.vue:216 src/page/auth/login.vue:104 msgid "Enter the code generated by your authenticator app:" msgstr "अपने प्रमाणक ऐप द्वारा जनरेट किया गया कोड दर्ज करें:" @@ -1165,7 +1191,7 @@ msgstr "अपने प्रमाणक ऐप द्वारा जनर msgid "Enter verification code" msgstr "सत्यापन कोड दर्ज करें" -#: src/component/settings/apps.vue:109 +#: src/component/settings/apps.vue:112 msgid "Enter your password to confirm the action and continue:" msgstr "कार्रवाई की पुष्टि करने और जारी रखने के लिए अपना पासवर्ड दर्ज करें:" @@ -1174,7 +1200,7 @@ msgstr "कार्रवाई की पुष्टि करने और msgid "Error" msgstr "त्रुटि" -#: src/app/routes.js:374 src/component/navigation.vue:1348 +#: src/app/routes.js:382 src/component/navigation.vue:1372 msgid "Errors" msgstr "त्रुटियाँ" @@ -1210,13 +1236,13 @@ msgstr "पूर्ण वीडियो, लाइव फोटो और XMP msgid "Experimental Features" msgstr "प्रायोगिक विशेषताएं" -#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:453 -#: src/component/service/edit.vue:157 src/component/settings/apps.vue:73 -#: src/component/settings/apps.vue:326 src/component/share/dialog.vue:62 +#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:458 +#: src/component/service/edit.vue:158 src/component/settings/apps.vue:73 +#: src/component/settings/apps.vue:329 src/component/share/dialog.vue:62 msgid "Expires" msgstr "समय-सीमा समाप्त" -#: src/component/photo/edit/details.vue:396 +#: src/component/photo/edit/details.vue:370 msgid "Exposure" msgstr "संसर्ग" @@ -1224,7 +1250,7 @@ msgstr "संसर्ग" msgid "Extract still images and generate thumbnails while indexing." msgstr "अनुक्रमण करते समय स्थिर चित्र निकालें और थम्बनेल उत्पन्न करें।" -#: src/component/photo/edit/details.vue:444 +#: src/component/photo/edit/details.vue:418 msgid "F Number" msgstr "एफ नंबर" @@ -1240,7 +1266,7 @@ msgstr "चेहरे के" msgid "Failed removing link" msgstr "लिंक हटाने में विफल" -#: src/page/connect.vue:106 src/page/connect.vue:110 +#: src/page/connect.vue:107 src/page/connect.vue:111 msgid "Failed to connect account." msgstr "खाता कनेक्ट करने में विफल।" @@ -1248,8 +1274,8 @@ msgstr "खाता कनेक्ट करने में विफल।" msgid "Failed updating link" msgstr "लिंक अपडेट करने में विफल" -#: src/component/user/edit/dialog.vue:143 -#: src/component/user/edit/dialog.vue:144 src/page/settings/account.vue:128 +#: src/component/user/edit/dialog.vue:144 +#: src/component/user/edit/dialog.vue:145 src/page/settings/account.vue:128 #: src/page/settings/account.vue:130 msgid "Family Name" msgstr "परिवार का नाम" @@ -1258,15 +1284,15 @@ msgstr "परिवार का नाम" msgid "Fast" msgstr "तेज" -#: src/component/album/edit/dialog.vue:159 -#: src/component/label/edit/dialog.vue:85 -#: src/component/people/edit/dialog.vue:85 +#: src/component/album/edit/dialog.vue:160 +#: src/component/label/edit/dialog.vue:86 +#: src/component/people/edit/dialog.vue:86 #: src/component/photo/edit/info.vue:287 msgid "Favorite" msgstr "पसंदीदा" -#: src/app/routes.js:222 src/component/navigation.vue:893 -#: src/options/options.js:202 src/page/albums.vue:97 +#: src/app/routes.js:230 src/component/navigation.vue:903 +#: src/options/options.js:202 src/page/albums.vue:98 msgid "Favorites" msgstr "पसंदीदा" @@ -1274,7 +1300,7 @@ msgstr "पसंदीदा" msgid "Feature Request" msgstr "महत्वपूर्ण लेख मांगना" -#: src/component/navigation.vue:1456 +#: src/component/navigation.vue:1482 msgid "Feedback" msgstr "प्रतिपुष्टि" @@ -1282,11 +1308,12 @@ msgstr "प्रतिपुष्टि" msgid "Female" msgstr "मादा" -#: src/component/photo/edit/info.vue:214 src/model/file.js:290 +#: src/component/photo/edit/info.vue:57 src/component/photo/edit/info.vue:214 +#: src/model/file.js:290 msgid "File" msgstr "फ़ाइल" -#: src/app/routes.js:343 +#: src/app/routes.js:351 msgid "File Browser" msgstr "फ़ाइल ब्राउज़र" @@ -1309,8 +1336,8 @@ msgstr "फ़ाइल का साइज़" msgid "Filename" msgstr "फ़ाइल का नाम" -#: src/component/navigation.vue:1930 src/component/photo/edit/dialog.vue:267 -#: src/component/photo/edit/dialog.vue:284 +#: src/component/navigation.vue:1973 src/component/photo/edit/dialog.vue:279 +#: src/component/photo/edit/dialog.vue:298 msgid "Files" msgstr "फ़ाइलें" @@ -1322,26 +1349,26 @@ msgstr "क्रमिक नाम वाली फाइलें जैस msgid "First page" msgstr "पहला पृष्ठ" -#: src/component/photo/edit/details.vue:465 +#: src/component/photo/edit/details.vue:439 msgid "Focal Length" msgstr "फोकल लम्बाई" -#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:118 -#: src/component/service/edit.vue:189 src/component/service/edit.vue:194 -#: src/component/service/upload.vue:90 src/component/service/upload.vue:96 +#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:119 +#: src/component/service/edit.vue:190 src/component/service/edit.vue:195 +#: src/component/service/upload.vue:91 src/component/service/upload.vue:97 #: src/model/folder.js:199 src/page/library/browse.vue:182 msgid "Folder" msgstr "फ़ोल्डर" -#: src/page/library/browse.vue:365 +#: src/page/library/browse.vue:367 msgid "Folder contains %{n} files" msgstr "फ़ोल्डर में %{n} फाइलें हैं" -#: src/page/library/browse.vue:356 +#: src/page/library/browse.vue:358 msgid "Folder is empty" msgstr "फ़ोल्डर खाली है" -#: src/app/routes.js:202 src/component/navigation.vue:1225 +#: src/app/routes.js:210 src/component/navigation.vue:1247 #: src/options/options.js:207 msgid "Folders" msgstr "फ़ोल्डर" @@ -1358,7 +1385,7 @@ msgstr "एफपीएस" msgid "Frames" msgstr "फ्रेम्स" -#: src/options/auth.js:54 src/options/auth.js:64 +#: src/options/auth.js:55 src/options/auth.js:65 msgid "Full Access" msgstr "पूर्ण पहुँच" @@ -1370,7 +1397,7 @@ msgstr "पूर्ण स्क्रीन" msgid "General" msgstr "सामान्य" -#: src/component/settings/apps.vue:364 +#: src/component/settings/apps.vue:367 msgid "Generate" msgstr "उत्पन्न" @@ -1390,8 +1417,8 @@ msgstr "जनरेट किया गया" msgid "Get Started" msgstr "शुरू हो जाओ" -#: src/component/user/edit/dialog.vue:120 -#: src/component/user/edit/dialog.vue:121 src/page/settings/account.vue:106 +#: src/component/user/edit/dialog.vue:121 +#: src/component/user/edit/dialog.vue:122 src/page/settings/account.vue:106 #: src/page/settings/account.vue:108 msgid "Given Name" msgstr "प्रदत्त नाम" @@ -1416,7 +1443,7 @@ msgstr "हरा" msgid "Grey" msgstr "धूसर" -#: src/options/admin.js:22 src/options/auth.js:10 +#: src/options/admin.js:26 src/options/auth.js:11 msgid "Guest" msgstr "अतिथि" @@ -1432,15 +1459,15 @@ msgstr "मदद" msgid "Help & Support" msgstr "मदद समर्थन" -#: src/component/navigation.vue:1327 src/component/people/edit/dialog.vue:98 +#: src/component/navigation.vue:1351 src/component/people/edit/dialog.vue:99 msgid "Hidden" msgstr "छिपा हुआ" -#: src/app/routes.js:358 +#: src/app/routes.js:366 msgid "Hidden Files" msgstr "छिपी हुई फाइलें" -#: src/page/people/new.vue:165 src/page/people/recognized.vue:205 +#: src/page/people/new.vue:166 src/page/people/recognized.vue:206 msgid "Hide" msgstr "छिपाना" @@ -1456,7 +1483,7 @@ msgstr "उच्च" msgid "High Dynamic Range (HDR)" msgstr "उच्च गतिशील रेंज (एचडीआर)" -#: src/page/about/feedback.vue:103 +#: src/page/about/feedback.vue:104 msgid "How can we help?" msgstr "हम आपकी सहायता किस तरह से कर सकते है?" @@ -1464,11 +1491,11 @@ msgstr "हम आपकी सहायता किस तरह से कर msgid "Hybrid" msgstr "संकर" -#: src/component/settings/passcode.vue:389 +#: src/component/settings/passcode.vue:392 msgid "If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account." msgstr "यदि आप अपने प्रमाणक ऐप या डिवाइस तक पहुंच खो देते हैं, तो आप अपने खाते तक पहुंच पुनः प्राप्त करने के लिए अपने पुनर्प्राप्ति कोड का उपयोग कर सकते हैं।" -#: src/component/photo/edit/info.vue:63 src/component/photo/edit/labels.vue:46 +#: src/component/photo/edit/info.vue:65 src/component/photo/edit/labels.vue:46 #: src/component/photo/view/cards.vue:532 src/model/file.js:218 #: src/options/options.js:281 msgid "Image" @@ -1478,7 +1505,7 @@ msgstr "छवि" msgid "Image Quality" msgstr "छवि के गुणवत्ता" -#: src/page/library.vue:46 src/page/library/import.vue:152 +#: src/page/library.vue:46 src/page/library/import.vue:153 #: src/page/settings/general.vue:357 msgid "Import" msgstr "आयात" @@ -1503,8 +1530,8 @@ msgstr "%{s} आयात किया जा रहा है…" msgid "Importing files to originals…" msgstr "मूल करने के लिए फ़ाइलें आयात कर रहा है …" -#: src/component/photo/edit/files.vue:515 -#: src/component/photo/edit/files.vue:520 +#: src/component/photo/edit/files.vue:517 +#: src/component/photo/edit/files.vue:522 msgid "in" msgstr "में" @@ -1522,11 +1549,11 @@ msgstr "ढेर और संग्रह डाउनलोड करते msgid "Include sidecar files when downloading stacks and archives." msgstr "ढेर और संग्रह डाउनलोड करते समय साइडकार फ़ाइलें शामिल करें।" -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Increase storage size or delete files to continue." msgstr "जारी रखने के लिए संग्रहण आकार बढ़ाएँ या फ़ाइलें हटाएँ।" -#: src/component/navigation.vue:1946 src/page/library.vue:36 +#: src/component/navigation.vue:1990 src/page/library.vue:36 #: src/page/settings/content.vue:34 msgid "Index" msgstr "सूची" @@ -1556,11 +1583,11 @@ msgstr "जानकारी" msgid "Instance ID" msgstr "इंस्टेंस आईडी" -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Insufficient storage." msgstr "अपर्याप्त भंडारण।" -#: src/component/service/edit.vue:209 +#: src/component/service/edit.vue:210 msgid "Interval" msgstr "मध्यान्तर" @@ -1581,7 +1608,7 @@ msgstr "अमान्य पता" msgid "Invalid country" msgstr "अमान्य देश" -#: src/component/photo/edit/details.vue:174 +#: src/component/photo/edit/details.vue:169 msgid "Invalid date" msgstr "अमान्य तिथि" @@ -1590,7 +1617,7 @@ msgstr "अमान्य तिथि" msgid "Invalid parameters" msgstr "अमान्य मापदण्ड" -#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:197 +#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:199 msgid "Invalid photo selected" msgstr "अमान्य फ़ोटो चयनित" @@ -1602,8 +1629,8 @@ msgstr "अमान्य समय" msgid "Invalid URL" msgstr "असामान्य यूआरएल" -#: src/component/settings/passcode.vue:314 -#: src/component/settings/passcode.vue:391 +#: src/component/settings/passcode.vue:317 +#: src/component/settings/passcode.vue:394 msgid "It is a one-time use code that will disable 2FA for your account when you use it." msgstr "यह एक बार उपयोग होने वाला कोड है जो आपके द्वारा इसका उपयोग करने पर आपके खाते के लिए 2FA को अक्षम कर देगा।" @@ -1627,7 +1654,7 @@ msgstr "JPEG आकार सीमा: %{n} px" msgid "JPEGs and thumbnails are automatically rendered as needed." msgstr "JPEG और थंबनेल स्वचालित रूप से आवश्यकतानुसार प्रस्तुत किए जाते हैं।" -#: src/component/photo/edit/details.vue:581 +#: src/component/photo/edit/details.vue:555 msgid "Keywords" msgstr "कीवर्ड" @@ -1636,9 +1663,9 @@ msgstr "कीवर्ड" msgid "Label" msgstr "लेबल" -#: src/app/routes.js:389 src/component/navigation.vue:1177 -#: src/component/photo/edit/dialog.vue:188 -#: src/component/photo/edit/dialog.vue:205 src/options/options.js:206 +#: src/app/routes.js:397 src/component/navigation.vue:1197 +#: src/component/photo/edit/dialog.vue:196 +#: src/component/photo/edit/dialog.vue:215 src/options/options.js:206 #: src/page/settings/general.vue:255 msgid "Labels" msgstr "लेबल" @@ -1655,11 +1682,11 @@ msgstr "लैंक्ज़ोस: विस्तार संरक्षण msgid "Language" msgstr "भाषा" -#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:435 +#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:440 msgid "Last Active" msgstr "अंतिम सक्रिय" -#: src/page/admin/users.vue:81 +#: src/page/admin/users.vue:83 msgid "Last Login" msgstr "आखरी लॉगइन" @@ -1675,42 +1702,41 @@ msgstr "अंतिम सिंक" msgid "Last Used" msgstr "अंतिम समय प्रयोग हुआ" -#: src/component/photo/edit/details.vue:298 #: src/component/photo/edit/info.vue:373 msgid "Latitude" msgstr "अक्षांश" -#: src/options/admin.js:43 src/options/auth.js:29 +#: src/options/admin.js:47 src/options/auth.js:30 msgid "LDAP/AD" msgstr "एलडीएपी/एडी" -#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:86 -#: src/page/about/about.vue:62 src/page/about/about.vue:132 +#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:87 +#: src/page/about/about.vue:62 src/page/about/about.vue:133 #: src/page/connect.vue:67 src/page/help.vue:36 msgid "Learn more" msgstr "और अधिक जानें" -#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:135 +#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:137 #: src/page/labels.vue:132 msgid "Learn More" msgstr "और अधिक जानें" -#: src/component/navigation.vue:2017 +#: src/component/navigation.vue:2066 msgid "Legal Information" msgstr "कानूनी जानकारी" -#: src/component/photo/edit/details.vue:417 +#: src/component/photo/edit/details.vue:391 #: src/component/photo/view/cards.vue:480 msgid "Lens" msgstr "लेंस" -#: src/app/routes.js:443 src/app/routes.js:459 src/app/routes.js:475 -#: src/component/navigation.vue:1267 src/page/settings/general.vue:507 +#: src/app/routes.js:451 src/app/routes.js:467 src/app/routes.js:483 +#: src/component/navigation.vue:1290 src/page/settings/general.vue:507 msgid "Library" msgstr "पुस्तकालय" #: src/page/connect.vue:45 src/app/routes.js:69 -#: src/component/navigation.vue:1478 src/component/photo/edit/details.vue:559 +#: src/component/navigation.vue:1504 src/component/photo/edit/details.vue:533 #: src/page/about/license.vue:28 msgid "License" msgstr "लाइसेंस" @@ -1723,7 +1749,7 @@ msgstr "पसंद" msgid "Lime" msgstr "चूना" -#: src/page/library/browse.vue:369 +#: src/page/library/browse.vue:371 msgid "Limit reached, showing first %{n} files" msgstr "पहले %{n} फ़ाइलों को दिखाते हुए, सीमा समाप्त हो गई" @@ -1731,7 +1757,7 @@ msgstr "पहले %{n} फ़ाइलों को दिखाते हु msgid "Linear: Very Smooth, Best Performance" msgstr "रैखिक: बहुत चिकना, सर्वश्रेष्ठ प्रदर्शन" -#: src/model/link.js:117 src/options/auth.js:30 src/options/auth.js:31 +#: src/model/link.js:117 src/options/auth.js:31 src/options/auth.js:32 msgid "Link" msgstr "संपर्क" @@ -1749,7 +1775,7 @@ msgstr "लिस्ट व्यू" msgid "Live" msgstr "लाइव" -#: src/app/routes.js:236 src/component/navigation.vue:749 +#: src/app/routes.js:244 src/component/navigation.vue:755 msgid "Live Photos" msgstr "लाइव तस्वीरें" @@ -1765,21 +1791,24 @@ msgstr "आइटम लोड हो रहे हैं..।" msgid "Loading..." msgstr "लोड हो रहा है..।" -#: src/options/admin.js:35 src/options/auth.js:22 src/options/auth.js:27 +#: src/options/admin.js:39 src/options/auth.js:23 src/options/auth.js:28 #: src/options/options.js:38 src/page/settings/general.vue:107 msgid "Local" msgstr "स्थानीय" -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Local Time" msgstr "स्थानीय समय" -#: src/page/settings/account.vue:665 src/page/settings/account.vue:667 -#: src/component/album/edit/dialog.vue:92 src/component/photo/edit/info.vue:65 -#: src/component/photo/edit/labels.vue:48 +#: src/page/settings/account.vue:671 src/page/settings/account.vue:673 +#: src/component/album/edit/dialog.vue:93 +#: src/component/photo/edit/details.vue:38 +#: src/component/photo/edit/details.vue:116 +#: src/component/photo/edit/details.vue:210 +#: src/component/photo/edit/info.vue:67 src/component/photo/edit/labels.vue:48 #: src/component/photo/view/cards.vue:555 src/component/photo/view/list.vue:117 -#: src/component/sidebar/info.vue:107 src/page/albums.vue:99 -#: src/page/settings/account.vue:557 src/page/settings/account.vue:559 +#: src/component/sidebar/info.vue:107 src/page/albums.vue:100 +#: src/page/settings/account.vue:563 src/page/settings/account.vue:565 msgid "Location" msgstr "स्थान" @@ -1787,20 +1816,19 @@ msgstr "स्थान" msgid "Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues." msgstr "जब भी PhotoPrism टूटी हुई फ़ाइलों में आता है, या अन्य संभावित मुद्दे हैं, तो लॉग संदेश यहां दिखाई देते हैं।" -#: src/component/navigation.vue:1552 src/component/navigation.vue:1840 +#: src/component/navigation.vue:1579 src/component/navigation.vue:1877 msgid "Login" msgstr "लॉग इन करें" -#: src/component/navigation.vue:1759 +#: src/component/navigation.vue:1791 msgid "Logout" msgstr "लॉग आउट" -#: src/component/navigation.vue:1962 src/page/library.vue:59 +#: src/component/navigation.vue:2007 src/page/library.vue:59 #: src/page/settings/general.vue:557 msgid "Logs" msgstr "लॉग्स" -#: src/component/photo/edit/details.vue:324 #: src/component/photo/edit/info.vue:379 msgid "Longitude" msgstr "देशान्तर" @@ -1813,7 +1841,7 @@ msgstr "कम" msgid "Magenta" msgstr "मैजेंटा" -#: src/component/photo/edit/files.vue:489 +#: src/component/photo/edit/files.vue:491 msgid "Main Color" msgstr "मुखय रंग" @@ -1821,12 +1849,16 @@ msgstr "मुखय रंग" msgid "Male" msgstr "पुरुष" -#: src/page/connect.vue:164 src/page/connect.vue:246 -#: src/page/about/about.vue:171 src/page/connect.vue:168 -#: src/page/connect.vue:255 +#: src/page/connect.vue:165 src/page/connect.vue:248 +#: src/page/about/about.vue:173 src/page/connect.vue:169 +#: src/page/connect.vue:257 msgid "Manage Account" msgstr "खाते का प्रबंधन करें" +#: src/options/admin.js:10 src/options/auth.js:7 +msgid "Manager" +msgstr "प्रबंधक" + #: src/component/photo/edit/info.vue:49 src/component/photo/edit/labels.vue:38 msgid "Manual" msgstr "नियमावली" @@ -1843,11 +1875,11 @@ msgstr "एमएपीएस" msgid "Marker" msgstr "निशान" -#: src/component/user/add/dialog.vue:69 +#: src/component/user/add/dialog.vue:70 msgid "Maximum number of accounts has been reached." msgstr "खातों की अधिकतम संख्या पहुँच गई है।" -#: src/app/routes.js:229 src/component/navigation.vue:688 +#: src/app/routes.js:237 src/component/navigation.vue:693 #: src/options/options.js:199 msgid "Media" msgstr "मिडिया" @@ -1864,7 +1896,7 @@ msgstr "सदस्यता" msgid "Merge %{a} with %{b}?" msgstr "%{a} को %{b} के साथ मिलाएं?" -#: src/page/about/feedback.vue:102 +#: src/page/about/feedback.vue:103 msgid "Message" msgstr "संदेश" @@ -1876,7 +1908,7 @@ msgstr "मैसेज बेजा गया" msgid "Metadata" msgstr "मेटाडाटा" -#: src/options/auth.js:56 src/options/auth.js:72 +#: src/options/auth.js:57 src/options/auth.js:73 msgid "Metrics" msgstr "मेट्रिक्स" @@ -1884,7 +1916,7 @@ msgstr "मेट्रिक्स" msgid "Minimize" msgstr "छोटा करना" -#: src/component/photo/edit/files.vue:509 src/component/photo/edit/info.vue:367 +#: src/component/photo/edit/files.vue:511 src/component/photo/edit/info.vue:367 msgid "Missing" msgstr "लापता" @@ -1892,17 +1924,17 @@ msgstr "लापता" msgid "Missing or invalid configuration" msgstr "गुम या अमान्य कॉन्फ़िगरेशन" -#: src/app/routes.js:163 src/component/navigation.vue:1129 +#: src/app/routes.js:171 src/component/navigation.vue:1147 #: src/options/options.js:205 src/page/settings/general.vue:230 msgid "Moments" msgstr "लम्हें" -#: src/component/navigation.vue:383 +#: src/component/navigation.vue:385 msgid "Monochrome" msgstr "एक रंग का" -#: src/page/settings/account.vue:475 src/component/photo/edit/details.vue:137 -#: src/component/photo/toolbar.vue:342 +#: src/page/settings/account.vue:481 src/component/photo/edit/details.vue:139 +#: src/component/photo/toolbar.vue:344 msgid "Month" msgstr "महीना" @@ -1922,7 +1954,7 @@ msgstr "सबसे अधिक प्रासंगिक" msgid "Move Files" msgstr "फ़ाइलें ले जाएँ" -#: src/component/settings/password.vue:107 +#: src/component/settings/password.vue:108 msgid "Must have at least %{n} characters." msgstr "कम से कम %{n} अक्षर होने चाहिए।" @@ -1930,20 +1962,20 @@ msgstr "कम से कम %{n} अक्षर होने चाहिए msgid "Mute" msgstr "आवाज़ बंद करना" -#: src/page/about/feedback.vue:121 src/page/about/feedback.vue:122 -#: src/component/album/edit/dialog.vue:77 -#: src/component/label/edit/dialog.vue:71 -#: src/component/people/edit/dialog.vue:71 -#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:57 +#: src/page/about/feedback.vue:122 src/page/about/feedback.vue:123 +#: src/component/album/edit/dialog.vue:78 +#: src/component/label/edit/dialog.vue:72 +#: src/component/people/edit/dialog.vue:72 +#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:59 #: src/component/photo/edit/info.vue:125 src/component/photo/edit/people.vue:36 -#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:310 -#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:286 -#: src/page/albums.vue:98 src/page/auth/login.vue:168 +#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:311 +#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:289 +#: src/page/albums.vue:99 src/page/auth/login.vue:168 #: src/page/people/new.vue:68 src/page/settings/services.vue:37 msgid "Name" msgstr "नाम" -#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:60 +#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:65 #: src/component/label/edit/dialog.vue:19 #: src/component/people/edit/dialog.vue:19 #: src/component/photo/edit/labels.vue:30 @@ -1953,7 +1985,7 @@ msgstr "नाम" msgid "Name too long" msgstr "नाम बहुत लंबा" -#: src/page/admin/users.vue:204 src/options/options.js:361 +#: src/page/admin/users.vue:206 src/options/options.js:361 #: src/options/options.js:371 src/page/settings/services.vue:75 msgid "Never" msgstr "कभी नहीँ" @@ -1962,13 +1994,13 @@ msgstr "कभी नहीँ" msgid "New" msgstr "नई" -#: src/component/settings/password.vue:106 +#: src/component/settings/password.vue:107 msgid "New Password" msgstr "नया पासवर्ड" #: src/component/album/edit/dialog.vue:24 src/component/photo/toolbar.vue:114 #: src/component/photo/toolbar.vue:126 src/component/photo/toolbar.vue:136 -#: src/page/albums.vue:100 +#: src/page/albums.vue:101 msgid "Newest First" msgstr "नवीनतम पहले" @@ -1984,15 +2016,15 @@ msgstr "अगला पृष्ठ" msgid "Next visual" msgstr "अगला दृश्य" -#: src/component/people/merge/dialog.vue:47 -#: src/component/photo/archive/dialog.vue:47 +#: src/component/people/merge/dialog.vue:48 +#: src/component/photo/archive/dialog.vue:48 #: src/component/photo/edit/info.vue:281 src/component/photo/edit/info.vue:297 #: src/component/photo/edit/info.vue:313 src/component/photo/edit/info.vue:329 #: src/component/photo/edit/info.vue:344 msgid "No" msgstr "नहीं" -#: src/page/albums.vue:607 src/page/albums.vue:282 +#: src/page/albums.vue:612 src/page/albums.vue:282 msgid "No albums found" msgstr "कोई एल्बम नहीं मिला" @@ -2000,7 +2032,7 @@ msgstr "कोई एल्बम नहीं मिला" msgid "No data available" msgstr "कोई डेटा मौजूद नहीं" -#: src/page/labels.vue:523 src/page/labels.vue:155 +#: src/page/labels.vue:528 src/page/labels.vue:155 msgid "No labels found" msgstr "कोई लेबल नहीं मिला" @@ -2013,15 +2045,15 @@ msgid "No more" msgstr "अब और नहीं" #: src/component/photo/edit/people.vue:34 src/page/people/new.vue:346 -#: src/page/people/new.vue:443 src/page/people/new.vue:103 -#: src/page/people/recognized.vue:531 src/page/people/recognized.vue:146 +#: src/page/people/new.vue:446 src/page/people/new.vue:103 +#: src/page/people/recognized.vue:536 src/page/people/recognized.vue:146 msgid "No people found" msgstr "कोई व्यक्ति नहीं मिला" #: src/component/lightbox.vue:365 src/component/photo/view/cards.vue:144 #: src/component/photo/view/list.vue:82 src/component/photo/view/mosaic.vue:68 -#: src/page/album/photos.vue:488 src/page/library/browse.vue:123 -#: src/page/photos.vue:626 src/page/places.vue:624 src/page/places.vue:730 +#: src/page/album/photos.vue:499 src/page/library/browse.vue:123 +#: src/page/photos.vue:636 src/page/places.vue:624 src/page/places.vue:730 msgid "No pictures found" msgstr "कोई चित्र नहीं मिला" @@ -2030,7 +2062,11 @@ msgstr "कोई चित्र नहीं मिला" msgid "No recently edited pictures" msgstr "हाल ही में संपादित कोई चित्र नहीं" -#: src/component/navigation.vue:1655 +#: src/component/location/dialog.vue:166 +msgid "No results" +msgstr "कोई परिणाम नहीं" + +#: src/component/navigation.vue:1686 msgid "No server connection" msgstr "कोई सर्वर कनेक्शन नहीं" @@ -2042,7 +2078,7 @@ msgstr "कोई सर्वर कॉन्फ़िगर नहीं क msgid "No services configured." msgstr "कोई सेवा कॉन्फ़िगर नहीं की गई है।" -#: src/component/confirm/sponsor.vue:72 +#: src/component/confirm/sponsor.vue:73 msgid "No thanks" msgstr "जी नहीं, धन्यवाद" @@ -2052,17 +2088,17 @@ msgstr "इस कीवर्ड से कोई चेतावनी या #: src/component/photo/view/cards.vue:154 src/component/photo/view/list.vue:59 #: src/component/photo/view/list.vue:92 src/component/photo/view/mosaic.vue:78 -#: src/component/upload/dialog.vue:208 +#: src/component/upload/dialog.vue:210 msgid "Non-photographic and low-quality images require a review before they appear in search results." msgstr "गैर-फोटोग्राफिक और निम्न-गुणवत्ता वाली छवियों को खोज परिणामों में प्रदर्शित होने से पहले समीक्षा की आवश्यकता होती है।" -#: src/options/admin.js:47 src/options/auth.js:32 src/options/options.js:212 +#: src/options/admin.js:51 src/options/auth.js:33 src/options/options.js:212 #: src/options/options.js:328 msgid "None" msgstr "कोई नहीं" -#: src/common/util.js:853 src/component/lightbox.vue:633 -#: src/component/service/upload.vue:75 src/component/service/upload.vue:87 +#: src/component/lightbox.vue:633 src/component/service/upload.vue:75 +#: src/component/service/upload.vue:87 msgid "Not allowed" msgstr "अनुमति नहीं" @@ -2074,8 +2110,7 @@ msgstr "नहीं मिला" msgid "Not sorted." msgstr "क्रमबद्ध नहीं।" -#: src/common/util.js:858 src/component/lightbox.vue:627 -#: src/component/lightbox.vue:744 +#: src/component/lightbox.vue:627 src/component/lightbox.vue:744 msgid "Not supported" msgstr "समर्थित नहीं" @@ -2083,15 +2118,15 @@ msgstr "समर्थित नहीं" msgid "Note you may manually manage your originals folder and importing is optional." msgstr "ध्यान दें कि आप अपने मूल फ़ोल्डर को मैन्युअल रूप से प्रबंधित कर सकते हैं और आयात करना वैकल्पिक है।" -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "Note:" msgstr "ध्यान दें:" -#: src/component/service/add.vue:120 +#: src/component/service/add.vue:121 msgid "Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload." msgstr "नोट: केवल WebDAV सर्वर, जैसे Nextcloud या PhotoPrism, को बैकअप और फ़ाइल अपलोड के लिए दूरस्थ सेवा के रूप में कॉन्फ़िगर किया जा सकता है।" -#: src/component/photo/edit/details.vue:603 +#: src/component/photo/edit/details.vue:577 msgid "Notes" msgstr "नोट्स" @@ -2099,8 +2134,8 @@ msgstr "नोट्स" msgid "Nothing to see here yet." msgstr "यहां देखने के लिए अभी कुछ भी नहीं है।" -#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:115 -#: src/component/settings/apps.vue:390 +#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:125 +#: src/component/settings/apps.vue:393 msgid "Nothing was found." msgstr "कुछ न मिला।" @@ -2108,7 +2143,7 @@ msgstr "कुछ न मिला।" msgid "Offline" msgstr "ऑफलाइन" -#: src/options/admin.js:39 src/options/auth.js:28 +#: src/options/admin.js:43 src/options/auth.js:29 msgid "OIDC" msgstr "ओआईडीसी" @@ -2118,11 +2153,11 @@ msgstr "ठीक है" #: src/component/album/edit/dialog.vue:25 src/component/photo/toolbar.vue:115 #: src/component/photo/toolbar.vue:127 src/component/photo/toolbar.vue:137 -#: src/page/albums.vue:101 +#: src/page/albums.vue:102 msgid "Oldest First" msgstr "सबसे पुराना पहले" -#: src/component/settings/webdav.vue:77 +#: src/component/settings/webdav.vue:78 msgid "On Windows, enter the following resource in the connection dialog:" msgstr "विंडोज़ पर, कनेक्शन संवाद में निम्न संसाधन दर्ज करें:" @@ -2134,11 +2169,11 @@ msgstr "ऑन-डिमांड थंबनेल बनाने से CPU msgid "Once a week" msgstr "सप्ताह मेँ एक बार" -#: src/page/albums.vue:609 +#: src/page/albums.vue:614 msgid "One album found" msgstr "एक एल्बम मिला" -#: src/page/library/browse.vue:358 +#: src/page/library/browse.vue:360 msgid "One file found" msgstr "एक फ़ाइल मिली" @@ -2146,24 +2181,24 @@ msgstr "एक फ़ाइल मिली" msgid "One file uploaded" msgstr "एक फ़ाइल अपलोड की गई" -#: src/page/library/browse.vue:360 +#: src/page/library/browse.vue:362 msgid "One folder found" msgstr "एक फ़ोल्डर मिला" -#: src/page/labels.vue:525 +#: src/page/labels.vue:530 msgid "One label found" msgstr "एक लेबल मिला" -#: src/page/people/new.vue:348 src/page/people/new.vue:445 -#: src/page/people/recognized.vue:533 +#: src/page/people/new.vue:348 src/page/people/new.vue:448 +#: src/page/people/recognized.vue:538 msgid "One person found" msgstr "एक व्यक्ति मिला" -#: src/page/album/photos.vue:490 src/page/photos.vue:628 +#: src/page/album/photos.vue:501 src/page/photos.vue:638 msgid "One picture found" msgstr "एक तस्वीर मिली" -#: src/component/settings/passcode.vue:478 +#: src/component/settings/passcode.vue:481 msgid "Only locally managed accounts can be set up for authentication with 2FA." msgstr "केवल स्थानीय रूप से प्रबंधित खातों को ही 2FA प्रमाणीकरण के लिए सेट किया जा सकता है।" @@ -2171,7 +2206,7 @@ msgstr "केवल स्थानीय रूप से प्रबंध msgid "Open" msgstr "खुला" -#: src/component/service/add.vue:86 src/component/service/add.vue:107 +#: src/component/service/add.vue:87 src/component/service/add.vue:108 msgid "optional" msgstr "वैकल्पिक" @@ -2183,7 +2218,7 @@ msgstr "या" msgid "Orange" msgstr "संतरा" -#: src/page/settings/account.vue:571 src/page/settings/account.vue:573 +#: src/page/settings/account.vue:577 src/page/settings/account.vue:579 msgid "Organization" msgstr "संगठन" @@ -2199,7 +2234,7 @@ msgstr "मूल फ़ाइल नाम संग्रहीत और अ msgid "Original Name" msgstr "मूल नाम" -#: src/component/navigation.vue:1304 src/model/file.js:196 +#: src/component/navigation.vue:1328 src/model/file.js:196 #: src/options/options.js:413 src/page/library/browse.vue:65 #: src/page/settings/content.vue:356 src/page/settings/general.vue:532 msgid "Originals" @@ -2210,7 +2245,7 @@ msgstr "मूल" msgid "Other" msgstr "अन्य" -#: src/page/about/about.vue:77 src/page/about/about.vue:83 +#: src/page/about/about.vue:78 src/page/about/about.vue:84 msgid "Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible." msgstr "हमारा मिशन आपके चित्रों को व्यवस्थित और सुलभ रखने के लिए सबसे अधिक उपयोगकर्ता- और गोपनीयता के अनुकूल समाधान प्रदान करना है।" @@ -2222,7 +2257,7 @@ msgstr "घर के बाहर" msgid "Page {0}, Current page" msgstr "पृष्ठ {0}, वर्तमान पृष्ठ" -#: src/component/photo/edit/files.vue:352 src/model/photo.js:859 +#: src/component/photo/edit/files.vue:352 src/model/photo.js:896 msgid "Pages" msgstr "पृष्ठों" @@ -2234,15 +2269,15 @@ msgstr "पृष्ठांकन नेविगेशन" msgid "Panorama" msgstr "चित्रमाला" -#: src/component/navigation.vue:402 +#: src/component/navigation.vue:404 msgid "Panoramas" msgstr "पैनोरामा" -#: src/component/user/add/dialog.vue:114 src/component/user/add/dialog.vue:115 -#: src/component/service/add.vue:106 src/component/service/edit.vue:352 -#: src/component/settings/apps.vue:121 src/component/settings/passcode.vue:106 -#: src/component/settings/passcode.vue:413 src/component/share/dialog.vue:27 -#: src/options/auth.js:91 src/page/auth/login.vue:196 +#: src/component/user/add/dialog.vue:115 src/component/user/add/dialog.vue:116 +#: src/component/service/add.vue:107 src/component/service/edit.vue:353 +#: src/component/settings/apps.vue:124 src/component/settings/passcode.vue:109 +#: src/component/settings/passcode.vue:416 src/component/share/dialog.vue:27 +#: src/options/auth.js:92 src/page/auth/login.vue:196 msgid "Password" msgstr "कुंजिका" @@ -2250,9 +2285,9 @@ msgstr "कुंजिका" msgid "Password changed" msgstr "पासवर्ड बदला गया" -#: src/app/routes.js:404 src/app/routes.js:428 src/component/navigation.vue:845 -#: src/component/navigation.vue:1898 src/component/photo/edit/dialog.vue:228 -#: src/component/photo/edit/dialog.vue:245 src/options/options.js:201 +#: src/app/routes.js:412 src/app/routes.js:436 src/component/navigation.vue:853 +#: src/component/navigation.vue:1939 src/component/photo/edit/dialog.vue:238 +#: src/component/photo/edit/dialog.vue:257 src/options/options.js:201 #: src/page/settings/general.vue:180 msgid "People" msgstr "लोग" @@ -2273,23 +2308,23 @@ msgstr "मेमोरी खाली करने के लिए फ़ा msgid "Person" msgstr "व्यक्ति" -#: src/options/auth.js:42 +#: src/options/auth.js:43 msgid "Personal" msgstr "निजी" -#: src/model/photo.js:1273 +#: src/model/photo.js:1310 msgid "Photo" msgstr "तस्वीर" -#: src/page/about/about.vue:156 +#: src/page/about/about.vue:158 msgid "PhotoPrism is 100% self-funded and independent." msgstr "PhotoPrism 100% स्व-वित्तपोषित और स्वतंत्र है।" -#: src/page/about/about.vue:92 +#: src/page/about/about.vue:93 msgid "PhotoPrism+ Membership" msgstr "फोटोप्रिज्म+ सदस्यता" -#: src/app/routes.js:156 +#: src/app/routes.js:164 msgid "Photos" msgstr "तस्वीरें" @@ -2310,27 +2345,27 @@ msgstr "स्थान" msgid "Place & Time" msgstr "स्थान और समय" -#: src/app/routes.js:303 src/app/routes.js:309 src/app/routes.js:315 -#: src/app/routes.js:330 src/component/navigation.vue:986 -#: src/component/navigation.vue:1914 src/options/options.js:203 +#: src/app/routes.js:311 src/app/routes.js:317 src/app/routes.js:323 +#: src/app/routes.js:338 src/component/navigation.vue:999 +#: src/component/navigation.vue:1956 src/options/options.js:203 #: src/page/places.vue:51 src/page/settings/general.vue:609 #: src/page/settings/general.vue:638 msgid "Places" msgstr "स्थान" -#: src/component/settings/password.vue:129 +#: src/component/settings/password.vue:130 msgid "Please confirm your new password." msgstr "कृपया अपने नए पासवर्ड की पुष्टि करें।" -#: src/component/settings/apps.vue:185 +#: src/component/settings/apps.vue:188 msgid "Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:" msgstr "कृपया निम्नलिखित यादृच्छिक रूप से उत्पन्न ऐप पासवर्ड को कॉपी करें और इसे सुरक्षित स्थान पर रखें, क्योंकि आप इसे दोबारा नहीं देख पाएंगे:" -#: src/component/upload/dialog.vue:203 +#: src/component/upload/dialog.vue:205 msgid "Please do not upload any private, unlawful or offensive pictures." msgstr "कृपया कोई भी निजी, गैरकानूनी या आपत्तिजनक चित्र अपलोड न करें।" -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Please don't upload photos containing offensive content." msgstr "कृपया आक्रामक सामग्री वाले फ़ोटो अपलोड न करें।" @@ -2338,11 +2373,11 @@ msgstr "कृपया आक्रामक सामग्री वाले msgid "Please enter OTP character {0}" msgstr "कृपया OTP वर्ण {0} दर्ज करें" -#: src/component/settings/password.vue:66 +#: src/component/settings/password.vue:67 msgid "Please note that changing your password will log you out on other devices and browsers." msgstr "कृपया ध्यान दें कि अपना पासवर्ड बदलने से आप अन्य उपकरणों और ब्राउज़रों पर लॉग आउट हो जाएंगे।" -#: src/page/connect.vue:148 src/page/connect.vue:152 +#: src/page/connect.vue:149 src/page/connect.vue:153 msgid "Please restart your instance for the changes to take effect." msgstr "परिवर्तनों को प्रभावी करने के लिए कृपया अपना इंस्टेंस पुनः प्रारंभ करें।" @@ -2362,11 +2397,11 @@ msgstr "PNG आकार सीमा: %{n} px" msgid "Portrait" msgstr "चित्र" -#: src/component/service/edit.vue:273 +#: src/component/service/edit.vue:274 msgid "Preserve filenames" msgstr "फ़ाइल नाम संरक्षित करें" -#: src/component/upload/dialog.vue:162 +#: src/component/upload/dialog.vue:164 msgid "Press enter to create a new album." msgstr "एक नया एल्बम बनाने के लिए एंटर दबाएं।" @@ -2403,8 +2438,8 @@ msgstr "पिछला दृश्य" msgid "Primary" msgstr "मुख्य" -#: src/app/routes.js:271 src/component/album/edit/dialog.vue:176 -#: src/component/navigation.vue:531 src/component/photo/edit/info.vue:303 +#: src/app/routes.js:279 src/component/album/edit/dialog.vue:177 +#: src/component/navigation.vue:533 src/component/photo/edit/info.vue:303 #: src/page/settings/general.vue:280 msgid "Private" msgstr "निजी" @@ -2429,7 +2464,7 @@ msgstr "गुणवत्ता फ़िल्टर" msgid "Quality Score" msgstr "गुणवत्ता स्कोर" -#: src/page/admin/users.vue:169 +#: src/page/admin/users.vue:171 msgid "r" msgstr "आर" @@ -2460,7 +2495,7 @@ msgstr "पढ़ें- केवल मोड" #: src/component/album/edit/dialog.vue:26 src/component/photo/toolbar.vue:116 #: src/component/photo/toolbar.vue:128 src/component/photo/toolbar.vue:138 -#: src/page/albums.vue:102 +#: src/page/albums.vue:103 msgid "Recently Added" msgstr "हाल ही में जोड़ा" @@ -2468,7 +2503,7 @@ msgstr "हाल ही में जोड़ा" msgid "Recently Archived" msgstr "हाल ही में संग्रहीत" -#: src/component/photo/toolbar.vue:139 src/page/albums.vue:103 +#: src/component/photo/toolbar.vue:139 src/page/albums.vue:104 msgid "Recently Edited" msgstr "हाल ही में संपादित" @@ -2493,24 +2528,24 @@ msgstr "पुनःप्राप्ति सांकेतिक अंक" msgid "Red" msgstr "लाल" -#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:126 -#: src/component/album/toolbar.vue:79 src/component/photo/toolbar.vue:169 -#: src/page/albums.vue:173 src/page/labels.vue:112 +#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:128 +#: src/component/album/toolbar.vue:84 src/component/photo/toolbar.vue:169 +#: src/page/albums.vue:175 src/page/labels.vue:112 #: src/page/library/browse.vue:90 src/page/library/errors.vue:81 #: src/page/people/new.vue:54 src/page/people/recognized.vue:88 msgid "Refresh" msgstr "ताज़ा करना" -#: src/app/routes.js:337 src/component/navigation.vue:943 -#: src/component/navigation.vue:1026 +#: src/app/routes.js:345 src/component/navigation.vue:955 +#: src/component/navigation.vue:1040 msgid "Regions" msgstr "क्षेत्रों" -#: src/page/connect.vue:275 src/page/connect.vue:284 +#: src/page/connect.vue:277 src/page/connect.vue:286 msgid "Register" msgstr "पंजीकरण करवाना" -#: src/component/navigation.vue:1773 src/component/update.vue:68 +#: src/component/navigation.vue:1806 src/component/update.vue:68 msgid "Reload" msgstr "पुनः लोड करें" @@ -2556,34 +2591,34 @@ msgstr "खोज परिणामों में प्रदर्शित msgid "Resolution" msgstr "रिज़ॉल्यूशन" -#: src/page/connect.vue:179 src/page/connect.vue:183 +#: src/page/connect.vue:180 src/page/connect.vue:184 #: src/page/settings/advanced.vue:782 msgid "Restart" msgstr "पुनः आरंभ करें" -#: src/component/user/edit/dialog.vue:485 src/component/lightbox.vue:1221 +#: src/component/user/edit/dialog.vue:488 src/component/lightbox.vue:1221 #: src/component/photo/clipboard.vue:77 msgid "Restore" msgstr "पुनर्स्थापित" -#: src/component/lightbox.vue:2000 +#: src/component/lightbox.vue:2020 msgid "Restored" msgstr "पुनः स्थापित किए गए" -#: src/component/service/edit.vue:428 +#: src/component/service/edit.vue:429 msgid "Retry Limit" msgstr "पुनः प्रयास सीमा" -#: src/component/settings/password.vue:128 +#: src/component/settings/password.vue:129 msgid "Retype Password" msgstr "पासवर्ड फिर से लिखें" -#: src/app/routes.js:264 src/component/navigation.vue:505 +#: src/app/routes.js:272 src/component/navigation.vue:507 msgid "Review" msgstr "समीक्षा" -#: src/component/user/add/dialog.vue:171 src/component/user/edit/dialog.vue:284 -#: src/page/admin/sessions.vue:262 src/page/admin/users.vue:73 +#: src/component/user/add/dialog.vue:172 src/component/user/edit/dialog.vue:285 +#: src/page/admin/sessions.vue:263 src/page/admin/users.vue:75 msgid "Role" msgstr "भूमिका" @@ -2595,11 +2630,11 @@ msgstr "प्रति पृष्ठ पंक्तियाँ:" msgid "Satellite" msgstr "उपग्रह" -#: src/component/user/edit/dialog.vue:485 -#: src/component/album/edit/dialog.vue:211 -#: src/component/label/edit/dialog.vue:119 -#: src/component/people/edit/dialog.vue:132 src/component/service/edit.vue:466 -#: src/component/settings/password.vue:172 src/component/share/dialog.vue:181 +#: src/component/user/edit/dialog.vue:488 +#: src/component/album/edit/dialog.vue:212 +#: src/component/label/edit/dialog.vue:120 +#: src/component/people/edit/dialog.vue:133 src/component/service/edit.vue:467 +#: src/component/settings/password.vue:173 src/component/share/dialog.vue:181 msgid "Save" msgstr "सहेजें" @@ -2607,23 +2642,23 @@ msgstr "सहेजें" msgid "Scan" msgstr "स्कैन" -#: src/component/settings/passcode.vue:179 +#: src/component/settings/passcode.vue:182 msgid "Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:" msgstr "अपने प्रमाणक ऐप से QR कोड को स्कैन करें या नीचे दिखाए गए सेटअप कुंजी का उपयोग करें और फिर जनरेट किया गया सत्यापन कोड दर्ज करें:" -#: src/component/navigation.vue:461 +#: src/component/navigation.vue:463 msgid "Scans" msgstr "स्कैन" -#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:377 -#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:310 +#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:381 +#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:313 msgid "Scope" msgstr "दायरा" -#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:62 -#: src/component/navigation.vue:342 src/component/navigation.vue:1866 -#: src/component/photo/toolbar.vue:57 src/options/options.js:197 -#: src/page/albums.vue:100 src/page/labels.vue:77 +#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:69 +#: src/component/location/dialog.vue:133 src/component/navigation.vue:343 +#: src/component/navigation.vue:1905 src/component/photo/toolbar.vue:57 +#: src/options/options.js:197 src/page/albums.vue:100 src/page/labels.vue:77 #: src/page/library/errors.vue:76 src/page/people/recognized.vue:66 #: src/page/places.vue:79 src/page/settings/content.vue:235 msgid "Search" @@ -2661,11 +2696,11 @@ msgstr "तारीख़ चुनें" msgid "Select dates" msgstr "तिथियाँ चुनें" -#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:154 +#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:156 msgid "Select or create an album" msgstr "एल्बम चुनें या बनाएँ" -#: src/component/upload/dialog.vue:138 +#: src/component/upload/dialog.vue:140 msgid "Select the files to upload…" msgstr "अपलोड करने के लिए फ़ाइलें चुनें…" @@ -2693,7 +2728,7 @@ msgstr "चयन बहाल" msgid "Sequential Name" msgstr "अनुक्रमिक नाम" -#: src/component/service/add.vue:67 src/component/service/edit.vue:322 +#: src/component/service/add.vue:68 src/component/service/edit.vue:323 #: src/component/share/dialog.vue:25 msgid "Service URL" msgstr "सेवा URL" @@ -2702,7 +2737,7 @@ msgstr "सेवा URL" msgid "Services" msgstr "सेवाएं" -#: src/model/session.js:107 src/options/auth.js:41 src/options/auth.js:90 +#: src/model/session.js:107 src/options/auth.js:42 src/options/auth.js:91 msgid "Session" msgstr "सत्र" @@ -2710,7 +2745,7 @@ msgstr "सत्र" msgid "Session ID" msgstr "सत्र आईडी" -#: src/page/admin.vue:45 +#: src/page/admin.vue:44 msgid "Sessions" msgstr "सत्र" @@ -2718,22 +2753,22 @@ msgstr "सत्र" msgid "Set as Album Cover" msgstr "एल्बम कवर के रूप में सेट करें" -#: src/app/routes.js:101 src/app/routes.js:492 src/app/routes.js:504 -#: src/app/routes.js:521 src/app/routes.js:534 src/app/routes.js:547 -#: src/component/navigation.vue:1394 src/component/navigation.vue:1806 +#: src/app/routes.js:101 src/app/routes.js:500 src/app/routes.js:512 +#: src/app/routes.js:529 src/app/routes.js:542 src/app/routes.js:555 +#: src/component/navigation.vue:1419 src/component/navigation.vue:1841 msgid "Settings" msgstr "समायोजन" #: src/page/settings/account.vue:115 src/page/settings/account.vue:144 -#: src/component/settings/passcode.vue:147 +#: src/component/settings/passcode.vue:151 msgid "Settings saved" msgstr "सेटिंग्स को सहेजा गया" -#: src/component/service/upload.vue:131 src/component/settings/passcode.vue:160 +#: src/component/service/upload.vue:132 src/component/settings/passcode.vue:163 msgid "Setup" msgstr "सेट अप" -#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:98 +#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:103 #: src/component/photo/clipboard.vue:51 src/page/settings/general.vue:382 msgid "Share" msgstr "शेयर" @@ -2750,7 +2785,7 @@ msgstr "अन्य ऐप्स और सेवाओं के साथ अ msgid "Show" msgstr "दिखाना" -#: src/page/people/new.vue:116 src/page/people/new.vue:233 +#: src/page/people/new.vue:116 src/page/people/new.vue:235 msgid "Show all new faces" msgstr "सभी नए चेहरे दिखाएं" @@ -2795,7 +2830,7 @@ msgid "Similar" msgstr "समान" #: src/component/photo/edit/files.vue:51 src/component/photo/edit/files.vue:341 -#: src/component/service/edit.vue:139 src/component/sidebar/info.vue:96 +#: src/component/service/edit.vue:140 src/component/sidebar/info.vue:96 msgid "Size" msgstr "आकार" @@ -2823,7 +2858,7 @@ msgstr "कुछ गलत हुआ है, दोबारा कोशिश msgid "Sort by" msgstr "इसके अनुसार क्रमबद्ध करें" -#: src/component/album/edit/dialog.vue:142 src/component/photo/toolbar.vue:288 +#: src/component/album/edit/dialog.vue:143 src/component/photo/toolbar.vue:290 #: src/page/albums.vue:214 msgid "Sort Order" msgstr "क्रमबद्ध आदेश" @@ -2858,7 +2893,7 @@ msgstr "उनके मेटाडेटा के आधार पर ठी msgid "Stackable" msgstr "ढेर" -#: src/component/navigation.vue:421 src/page/settings/content.vue:136 +#: src/component/navigation.vue:423 src/page/settings/content.vue:136 msgid "Stacks" msgstr "ढेर" @@ -2886,16 +2921,16 @@ msgstr "भंडारण" msgid "Streets" msgstr "सड़कें" -#: src/component/photo/edit/details.vue:494 +#: src/component/photo/edit/details.vue:468 #: src/component/photo/edit/labels.vue:44 msgid "Subject" msgstr "विषय" -#: src/page/about/feedback.vue:162 src/page/about/feedback.vue:163 +#: src/page/about/feedback.vue:163 src/page/about/feedback.vue:164 msgid "Submit" msgstr "जमा करना" -#: src/component/settings/passcode.vue:132 +#: src/component/settings/passcode.vue:136 msgid "Successfully activated" msgstr "सफलतापूर्वक सक्रिय किया गया" @@ -2904,23 +2939,23 @@ msgid "Successfully Connected" msgstr "सफलतापूर्वक कनेक्ट किया गया" #: src/component/session/remove/dialog.vue:32 -#: src/component/settings/apps.vue:218 +#: src/component/settings/apps.vue:222 msgid "Successfully deleted" msgstr "सफलतापूर्वक हटा दिया गया" -#: src/component/settings/passcode.vue:107 +#: src/component/settings/passcode.vue:108 msgid "Successfully verified" msgstr "सफलतापूर्वक सत्यापित" -#: src/component/user/edit/dialog.vue:398 src/page/admin/users.vue:163 +#: src/component/user/edit/dialog.vue:399 src/page/admin/users.vue:165 msgid "Super Admin" msgstr "सुपर एडमिन" -#: src/component/service/add.vue:122 +#: src/component/service/add.vue:123 msgid "Support for additional services, like Google Drive, will be added over time." msgstr "अतिरिक्त सेवाओं के लिए समर्थन, जैसे Google ड्राइव, समय के साथ जोड़ा जाएगा।" -#: src/component/confirm/sponsor.vue:37 src/component/navigation.vue:1629 +#: src/component/confirm/sponsor.vue:38 src/component/navigation.vue:1660 msgid "Support Our Mission" msgstr "हमारे मिशन का समर्थन करें" @@ -2928,7 +2963,7 @@ msgstr "हमारे मिशन का समर्थन करें" msgid "Sync" msgstr "सिंक" -#: src/component/service/edit.vue:289 +#: src/component/service/edit.vue:290 msgid "Sync raw and video files" msgstr "कच्ची छवियों को सिंक करें" @@ -2954,23 +2989,23 @@ msgstr "इलाके" msgid "Text" msgstr "मूलपाठ" -#: src/component/photo/edit/details.vue:32 src/page/people/new.vue:71 +#: src/component/photo/edit/details.vue:40 src/page/people/new.vue:71 msgid "Text too long" msgstr "बहुत लंबा पाठ" -#: src/page/about/about.vue:145 +#: src/page/about/about.vue:146 msgid "Thank You for Your Support!" msgstr "आपके समर्थन के लिए धन्यवाद!" -#: src/page/about/about.vue:79 src/page/about/about.vue:85 +#: src/page/about/about.vue:80 src/page/about/about.vue:86 msgid "That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality." msgstr "यही कारण है कि PhotoPrism को स्वतंत्रता, गोपनीयता, या कार्यक्षमता से समझौता किए बिना, जहाँ भी आपको इसकी आवश्यकता हो, चलाने के लिए जमीन से बनाया गया था।" -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "The index currently contains %{n} hidden files." msgstr "सूचकांक में वर्तमान में %{n} छिपी हुई फाइलें हैं।" -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates." msgstr "उनके प्रारूप का समर्थन नहीं किया जा सकता है, वे अभी तक जेपीईजी में परिवर्तित नहीं हुए हैं या डुप्लिकेट हैं।" @@ -2985,44 +3020,44 @@ msgstr "विषय" msgid "This field is required" msgstr "यह फ़ील्ड आवश्यक है" -#: src/component/settings/webdav.vue:100 src/page/settings/services.vue:144 +#: src/component/settings/webdav.vue:101 src/page/settings/services.vue:147 msgid "This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local." msgstr "यह मूल फ़ोल्डर को नेटवर्क ड्राइव के रूप में मापता है और आपको अपने कंप्यूटर या स्मार्टफोन से फ़ाइलों को खोलने, संपादित करने और हटाने की अनुमति देता है जैसे कि वे स्थानीय थे।" -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Time UTC" msgstr "समय यूटीसी" -#: src/component/photo/edit/details.vue:219 src/page/settings/general.vue:108 +#: src/component/photo/edit/details.vue:221 src/page/settings/general.vue:108 msgid "Time Zone" msgstr "समय क्षेत्र" -#: src/component/service/edit.vue:408 +#: src/component/service/edit.vue:409 msgid "Timeout" msgstr "समय समाप्त" -#: src/component/user/edit/dialog.vue:98 src/component/user/edit/dialog.vue:99 +#: src/component/user/edit/dialog.vue:99 src/component/user/edit/dialog.vue:100 #: src/page/settings/account.vue:84 src/page/settings/account.vue:86 msgctxt "Account" msgid "Title" msgstr "शीर्षक" -#: src/component/photo/edit/details.vue:73 +#: src/component/photo/edit/details.vue:75 msgctxt "Photo" msgid "Title" msgstr "शीर्षक" -#: src/component/photo/edit/info.vue:59 src/component/photo/edit/info.vue:155 +#: src/component/photo/edit/info.vue:61 src/component/photo/edit/info.vue:155 #: src/component/photo/edit/labels.vue:40 src/component/photo/view/list.vue:114 #: src/component/sidebar/info.vue:57 msgid "Title" msgstr "शीर्षक" -#: src/page/settings/account.vue:553 src/page/settings/account.vue:555 +#: src/page/settings/account.vue:559 src/page/settings/account.vue:561 msgid "Title / Position" msgstr "शीर्षक स्थिति" -#: src/page/albums.vue:83 +#: src/page/albums.vue:84 msgid "Title too long" msgstr "शीर्षक बहुत लंबा है" @@ -3030,19 +3065,19 @@ msgstr "शीर्षक बहुत लंबा है" msgid "to" msgstr "सेवा" -#: src/component/settings/passcode.vue:312 +#: src/component/settings/passcode.vue:315 msgid "To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place." msgstr "अपने खाते को लॉक होने से बचाने के लिए, कृपया इस पुनर्प्राप्ति कोड को अभी डाउनलोड, प्रिंट या कॉपी करें और इसे सुरक्षित स्थान पर रखें।" -#: src/component/settings/apps.vue:272 +#: src/component/settings/apps.vue:275 msgid "To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:" msgstr "नया ऐप-विशिष्ट पासवर्ड बनाने के लिए, कृपया एप्लिकेशन का नाम और प्राधिकरण दायरा दर्ज करें और समाप्ति तिथि चुनें:" -#: src/component/settings/passcode.vue:400 +#: src/component/settings/passcode.vue:403 msgid "To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:" msgstr "किसी नए प्रमाणक ऐप या डिवाइस पर स्विच करने के लिए, पहले दो-कारक प्रमाणीकरण को निष्क्रिय करें और फिर उसे पुनः सक्रिय करें:" -#: src/page/connect.vue:221 src/page/connect.vue:230 +#: src/page/connect.vue:223 src/page/connect.vue:232 msgid "To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:" msgstr "अपग्रेड करने के लिए, आप या तो एक सक्रियण कोड दर्ज कर सकते हैं या हमारी वेबसाइट पर साइन अप करने के लिए \"रजिस्टर\" पर क्लिक कर सकते हैं:" @@ -3050,7 +3085,7 @@ msgstr "अपग्रेड करने के लिए, आप या त msgid "Today" msgstr "आज" -#: src/component/album/toolbar.vue:70 src/component/photo/toolbar.vue:78 +#: src/component/album/toolbar.vue:71 src/component/photo/toolbar.vue:78 msgid "Toggle View" msgstr "टॉगल दृश्य" @@ -3077,20 +3112,24 @@ msgstr "समस्या निवारण" msgid "Try again using other filters or keywords." msgstr "अन्य फ़िल्टर या कीवर्ड का उपयोग करके फिर से प्रयास करें।" -#: src/component/settings/passcode.vue:380 +#: src/component/settings/passcode.vue:383 msgid "Two-factor authentication has been enabled for your account." msgstr "आपके खाते के लिए दो-कारक प्रमाणीकरण सक्षम कर दिया गया है।" #: src/component/photo/edit/files.vue:58 src/component/photo/edit/files.vue:330 -#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:388 +#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:389 msgid "Type" msgstr "प्रकार" -#: src/options/auth.js:13 +#: src/component/album/toolbar.vue:178 +msgid "Unable to delete" +msgstr "हटाने में असमर्थ" + +#: src/options/auth.js:14 msgid "Unauthorized" msgstr "अनधिकृत" -#: src/component/photo/edit/people.vue:94 +#: src/component/photo/edit/people.vue:95 msgid "Undo" msgstr "पहले जैसा" @@ -3098,16 +3137,16 @@ msgstr "पहले जैसा" msgid "Unique ID" msgstr "एक अलग पहचान" -#: src/page/settings/account.vue:451 src/page/settings/account.vue:476 -#: src/page/settings/account.vue:501 src/common/util.js:487 -#: src/component/photo/edit/details.vue:21 -#: src/component/photo/edit/details.vue:111 -#: src/component/photo/edit/details.vue:138 -#: src/component/photo/edit/details.vue:164 src/component/sidebar/info.vue:43 -#: src/model/album.js:193 src/model/photo.js:323 src/model/photo.js:784 -#: src/model/photo.js:809 src/model/photo.js:832 src/model/photo.js:850 -#: src/model/photo.js:897 src/model/photo.js:905 src/model/photo.js:994 -#: src/model/photo.js:1016 src/model/photo.js:1061 src/model/photo.js:1074 +#: src/page/settings/account.vue:457 src/page/settings/account.vue:482 +#: src/page/settings/account.vue:507 src/common/util.js:488 +#: src/component/photo/edit/details.vue:27 +#: src/component/photo/edit/details.vue:113 +#: src/component/photo/edit/details.vue:140 +#: src/component/photo/edit/details.vue:166 src/component/sidebar/info.vue:43 +#: src/model/album.js:193 src/model/photo.js:331 src/model/photo.js:821 +#: src/model/photo.js:846 src/model/photo.js:869 src/model/photo.js:887 +#: src/model/photo.js:934 src/model/photo.js:942 src/model/photo.js:1031 +#: src/model/photo.js:1053 src/model/photo.js:1098 src/model/photo.js:1111 #: src/model/user.js:157 src/options/options.js:51 src/options/options.js:69 #: src/options/options.js:86 src/options/options.js:100 #: src/options/options.js:112 src/page/library/errors.vue:251 @@ -3120,7 +3159,7 @@ msgstr "अनजान" msgid "Unregistered" msgstr "अपंजीकृत" -#: src/app/routes.js:215 src/component/navigation.vue:644 +#: src/app/routes.js:223 src/component/navigation.vue:648 msgid "Unsorted" msgstr "अवर्गीकृत" @@ -3128,7 +3167,7 @@ msgstr "अवर्गीकृत" msgid "Unstack" msgstr "अनस्टैक" -#: src/component/photo/edit/files.vue:519 src/component/photo/edit/info.vue:416 +#: src/component/photo/edit/files.vue:521 src/component/photo/edit/info.vue:416 msgid "Updated" msgstr "अपडेट किया गया" @@ -3144,7 +3183,7 @@ msgstr "इंडेक्स अपडेट कर रहा है" msgid "Updating moments" msgstr "पल-पल का अपडेट" -#: src/component/user/edit/dialog.vue:154 +#: src/component/user/edit/dialog.vue:155 msgid "Updating picture…" msgstr "चित्र अपडेट किया जा रहा है…" @@ -3156,21 +3195,21 @@ msgstr "पूर्वावलोकन अपडेट करना" msgid "Updating stacks" msgstr "ढेर अद्यतन कर रहा है" -#: src/page/connect.vue:57 src/component/navigation.vue:1500 -#: src/component/navigation.vue:1614 src/component/navigation.vue:1999 +#: src/page/connect.vue:57 src/component/navigation.vue:1526 +#: src/component/navigation.vue:1644 src/component/navigation.vue:2047 #: src/page/connect.vue:58 msgid "Upgrade" msgstr "उन्नत करना" -#: src/page/about/about.vue:123 src/page/connect.vue:202 -#: src/component/confirm/sponsor.vue:98 src/page/about/about.vue:113 -#: src/page/connect.vue:206 +#: src/page/about/about.vue:124 src/page/connect.vue:204 +#: src/component/confirm/sponsor.vue:99 src/page/about/about.vue:114 +#: src/page/connect.vue:208 msgid "Upgrade Now" msgstr "अभी अपग्रेड करें" -#: src/component/album/toolbar.vue:108 src/component/navigation.vue:1824 -#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:144 -#: src/component/upload/dialog.vue:51 src/page/albums.vue:183 +#: src/component/album/toolbar.vue:113 src/component/navigation.vue:1860 +#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:145 +#: src/component/upload/dialog.vue:51 src/page/albums.vue:185 #: src/page/labels.vue:122 src/page/library/import.vue:133 #: src/page/settings/general.vue:307 src/page/settings/services.vue:38 msgid "Upload" @@ -3180,21 +3219,21 @@ msgstr "डालना" msgid "Upload complete" msgstr "अपलोड पूरा हुआ" -#: src/component/upload/dialog.vue:133 +#: src/component/upload/dialog.vue:135 msgid "Upload complete. Indexing…" msgstr "अपलोड पूरा हुआ। अनुक्रमण …" #: src/component/upload/dialog.vue:296 src/component/upload/dialog.vue:315 -#: src/component/upload/dialog.vue:129 +#: src/component/upload/dialog.vue:131 msgid "Upload failed" msgstr "अपलोड विफल" -#: src/component/service/edit.vue:257 +#: src/component/service/edit.vue:258 msgid "Upload local files" msgstr "स्थानीय फ़ाइलें अपलोड करें" -#: src/component/user/edit/dialog.vue:380 #: src/component/user/edit/dialog.vue:381 +#: src/component/user/edit/dialog.vue:382 msgid "Upload Path" msgstr "अपलोड पथ" @@ -3202,7 +3241,7 @@ msgstr "अपलोड पथ" msgid "Upload to WebDAV and share links with friends." msgstr "WebDAV पर अपलोड करें और दोस्तों के साथ लिंक साझा करें।" -#: src/component/upload/dialog.vue:131 +#: src/component/upload/dialog.vue:133 msgid "Uploading %{n} of %{t}…" msgstr "%{t} का %{n} अपलोड हो रहा है…" @@ -3215,7 +3254,7 @@ msgstr "फ़ोटो अपलोड हो रही हैं…" msgid "Uploading…" msgstr "अपलोड हो रहा है…" -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Uploads that may contain such images will be rejected automatically." msgstr "ऐसे चित्र शामिल होने वाले अपलोड स्वचालित रूप से अस्वीकार कर दिए जाएंगे।" @@ -3223,7 +3262,7 @@ msgstr "ऐसे चित्र शामिल होने वाले अ msgid "Use Presets" msgstr "प्रीसेट का उपयोग करें" -#: src/component/settings/passcode.vue:283 +#: src/component/settings/passcode.vue:286 msgid "Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:" msgstr "जब आप अपने प्रमाणक ऐप के साथ वैध सत्यापन कोड जनरेट करने में असमर्थ हों, तो अपने खाते तक पहुंचने के लिए निम्नलिखित पुनर्प्राप्ति कोड का उपयोग करें:" @@ -3231,12 +3270,12 @@ msgstr "जब आप अपने प्रमाणक ऐप के साथ msgid "Use your recovery code or contact an administrator for help." msgstr "सहायता के लिए अपना पुनर्प्राप्ति कोड उपयोग करें या किसी व्यवस्थापक से संपर्क करें।" -#: src/options/admin.js:10 src/page/admin/sessions.vue:59 -#: src/page/admin/sessions.vue:242 src/model/user.js:361 src/options/auth.js:7 +#: src/options/admin.js:14 src/page/admin/sessions.vue:59 +#: src/page/admin/sessions.vue:243 src/model/user.js:361 src/options/auth.js:8 msgid "User" msgstr "उपयोगकर्ता" -#: src/component/navigation.vue:1979 +#: src/component/navigation.vue:2025 msgid "User Guide" msgstr "उपयोगकर्ता गाइड" @@ -3244,14 +3283,14 @@ msgstr "उपयोगकर्ता गाइड" msgid "User Interface" msgstr "प्रयोक्ता इंटरफ़ेस" -#: src/component/user/add/dialog.vue:87 src/component/user/add/dialog.vue:88 -#: src/page/admin/sessions.vue:220 src/page/admin/users.vue:71 -#: src/component/service/add.vue:85 src/component/service/edit.vue:337 +#: src/component/user/add/dialog.vue:88 src/component/user/add/dialog.vue:89 +#: src/page/admin/sessions.vue:221 src/page/admin/users.vue:73 +#: src/component/service/add.vue:86 src/component/service/edit.vue:338 #: src/component/share/dialog.vue:26 msgid "Username" msgstr "उपयोगकर्ता नाम" -#: src/component/navigation.vue:1435 +#: src/component/navigation.vue:1461 msgid "Users" msgstr "उपयोगकर्ताओं" @@ -3261,18 +3300,18 @@ msgstr "उपयोगकर्ताओं" msgid "Vector" msgstr "वेक्टर" -#: src/component/navigation.vue:440 +#: src/component/navigation.vue:442 msgid "Vectors" msgstr "वैक्टर" -#: src/component/settings/passcode.vue:227 src/page/auth/login.vue:144 +#: src/component/settings/passcode.vue:230 src/page/auth/login.vue:144 msgid "Verification Code" msgstr "सत्यापन कोड" #: src/component/photo/view/cards.vue:363 #: src/component/photo/view/cards.vue:491 src/component/photo/view/list.vue:190 #: src/component/photo/view/mosaic.vue:207 src/model/file.js:221 -#: src/model/photo.js:921 src/model/photo.js:939 src/options/options.js:293 +#: src/model/photo.js:958 src/model/photo.js:976 src/options/options.js:293 msgid "Video" msgstr "वीडियो" @@ -3281,12 +3320,12 @@ msgstr "वीडियो" msgid "Video Duration" msgstr "वीडियो अवधि" -#: src/app/routes.js:243 src/component/navigation.vue:728 +#: src/app/routes.js:251 src/component/navigation.vue:734 #: src/options/options.js:200 msgid "Videos" msgstr "वीडियो" -#: src/component/photo/toolbar.vue:261 src/component/photo/view/cards.vue:350 +#: src/component/photo/toolbar.vue:263 src/component/photo/view/cards.vue:350 #: src/component/photo/view/mosaic.vue:194 msgid "View" msgstr "राय" @@ -3295,11 +3334,11 @@ msgstr "राय" msgid "View search results as a list." msgstr "खोज परिणामों को सूची के रूप में देखें।" -#: src/options/admin.js:14 src/options/auth.js:8 +#: src/options/admin.js:18 src/options/auth.js:9 msgid "Viewer" msgstr "दर्शक" -#: src/page/admin/sessions.vue:271 src/options/auth.js:12 +#: src/page/admin/sessions.vue:272 src/options/auth.js:13 msgid "Visitor" msgstr "आगंतुक" @@ -3311,34 +3350,34 @@ msgstr "दृश्य समानता" msgid "Warning" msgstr "चेतावनी" -#: src/page/about/feedback.vue:60 +#: src/page/about/feedback.vue:61 msgid "We appreciate your feedback!" msgstr "हम आपके फ़ीडबैक की सराहना करते हैं!" -#: src/page/about/feedback.vue:63 +#: src/page/about/feedback.vue:64 msgid "We do our best to respond within five business days or less." msgstr "हम पांच व्यावसायिक दिनों या उससे कम समय में जवाब देने की पूरी कोशिश करते हैं।" -#: src/component/user/add/dialog.vue:235 src/component/user/edit/dialog.vue:415 -#: src/page/admin/users.vue:80 +#: src/component/user/add/dialog.vue:236 src/component/user/edit/dialog.vue:416 +#: src/page/admin/users.vue:82 msgid "Web Login" msgstr "वेब लॉगिन" -#: src/component/user/add/dialog.vue:248 src/component/user/edit/dialog.vue:432 -#: src/page/admin/users.vue:82 src/options/auth.js:55 src/options/auth.js:68 +#: src/component/user/add/dialog.vue:249 src/component/user/edit/dialog.vue:433 +#: src/page/admin/users.vue:84 src/options/auth.js:56 src/options/auth.js:69 #: src/options/options.js:444 msgid "WebDAV" msgstr "WebDAV" -#: src/component/settings/webdav.vue:51 +#: src/component/settings/webdav.vue:52 msgid "WebDAV clients can connect to PhotoPrism using the following URL:" msgstr "WebDAV क्लाइंट निम्न URL का उपयोग करके PhotoPrism से जुड़ सकते हैं:" -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism." msgstr "Microsoft के Windows Explorer या Apple के खोजक जैसे WebDAV क्लाइंट सीधे PhotoPrism से जुड़ सकते हैं।" -#: src/component/service/upload.vue:50 src/component/share/dialog.vue:220 +#: src/component/service/upload.vue:51 src/component/share/dialog.vue:220 msgid "WebDAV Upload" msgstr "WebDAV अपलोड करें" @@ -3346,8 +3385,8 @@ msgstr "WebDAV अपलोड करें" msgid "WebGL support is disabled in your browser" msgstr "आपके ब्राउज़र में WebGL समर्थन अक्षम है" -#: src/page/settings/account.vue:615 src/page/settings/account.vue:709 -#: src/page/settings/account.vue:601 +#: src/page/settings/account.vue:621 src/page/settings/account.vue:715 +#: src/page/settings/account.vue:607 msgid "Website" msgstr "वेबसाइट" @@ -3355,12 +3394,12 @@ msgstr "वेबसाइट" msgid "White" msgstr "सफेद" -#: src/page/settings/account.vue:532 +#: src/page/settings/account.vue:538 msgid "Work Details" msgstr "कार्य विवरण" -#: src/page/settings/account.vue:500 src/component/photo/edit/details.vue:163 -#: src/component/photo/toolbar.vue:315 src/page/albums.vue:159 +#: src/page/settings/account.vue:506 src/component/photo/edit/details.vue:165 +#: src/component/photo/toolbar.vue:317 src/page/albums.vue:159 msgid "Year" msgstr "साल" @@ -3368,21 +3407,21 @@ msgstr "साल" msgid "Yellow" msgstr "पीला" -#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:58 -#: src/component/photo/archive/dialog.vue:58 +#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:59 +#: src/component/photo/archive/dialog.vue:59 #: src/component/photo/clipboard.vue:200 src/component/photo/edit/files.vue:365 #: src/component/photo/edit/files.vue:395 #: src/component/photo/edit/files.vue:401 #: src/component/photo/edit/files.vue:407 -#: src/component/photo/edit/files.vue:510 src/component/photo/edit/info.vue:281 +#: src/component/photo/edit/files.vue:512 src/component/photo/edit/info.vue:281 #: src/component/photo/edit/info.vue:297 src/component/photo/edit/info.vue:313 #: src/component/photo/edit/info.vue:329 src/component/photo/edit/info.vue:344 -#: src/component/photo/toolbar.vue:434 +#: src/component/photo/toolbar.vue:436 msgid "Yes" msgstr "हाँ" -#: src/component/confirm/sponsor.vue:59 src/page/about/about.vue:158 -#: src/page/connect.vue:315 +#: src/component/confirm/sponsor.vue:60 src/page/about/about.vue:160 +#: src/page/connect.vue:317 msgid "You are welcome to contact us at membership@photoprism.app for questions regarding your membership." msgstr "अपनी सदस्यता से संबंधित प्रश्नों के लिए Member@photoprism.app पर हमसे संपर्क करने के लिए आपका स्वागत है।" @@ -3394,7 +3433,11 @@ msgstr "आप केवल एक एल्बम डाउनलोड कर msgid "You can only download one label" msgstr "आप केवल एक लेबल डाउनलोड कर सकते हैं" -#: src/component/upload/dialog.vue:203 +#: src/component/location/dialog.vue:178 +msgid "You can search for a location or move the marker on the map to change the position:" +msgstr "आप किसी स्थान को खोज सकते हैं या स्थिति बदलने के लिए मानचित्र पर मार्कर को स्थानांतरित कर सकते हैं:" + +#: src/component/upload/dialog.vue:205 msgid "You can upload up to %{n} files for test purposes." msgstr "आप परीक्षण उद्देश्यों के लिए %{n} तक फ़ाइलें अपलोड कर सकते हैं।" @@ -3407,7 +3450,7 @@ msgstr "आप केवल एक आइटम का चयन कर सक msgid "You may rescan your library to find additional faces." msgstr "अतिरिक्त चेहरों को खोजने के लिए आप अपनी लाइब्रेरी को फिर से स्कैन कर सकते हैं।" -#: src/page/connect.vue:146 src/page/connect.vue:150 +#: src/page/connect.vue:147 src/page/connect.vue:151 msgid "Your account has been successfully connected." msgstr "आपका खाता सफलतापूर्वक कनेक्ट कर दिया गया है।" @@ -3415,8 +3458,8 @@ msgstr "आपका खाता सफलतापूर्वक कनेक msgid "Your browser does not support WebGL" msgstr "आपका ब्राउज़र WebGL का समर्थन नहीं करता है" -#: src/component/confirm/sponsor.vue:43 src/page/about/about.vue:97 -#: src/page/about/about.vue:156 src/page/connect.vue:220 +#: src/component/confirm/sponsor.vue:44 src/page/about/about.vue:98 +#: src/page/about/about.vue:158 src/page/connect.vue:222 msgid "Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy." msgstr "आपका निरंतर समर्थन हमें नियमित अपडेट प्रदान करने और स्वतंत्र रहने में मदद करता है, इसलिए हम अपने मिशन को पूरा कर सकते हैं और आपकी गोपनीयता की रक्षा कर सकते हैं।" @@ -3497,9 +3540,6 @@ msgstr "ज़ूम इन / आउट करें" #~ msgid "Open Folder" #~ msgstr "फोल्डर खोलें" -#~ msgid "Cannot copy to clipboard" -#~ msgstr "क्लिपबोर्ड पर कॉपी नहीं किया जा सकता" - #~ msgid "Sound" #~ msgstr "आवाज़" @@ -4171,9 +4211,6 @@ msgstr "ज़ूम इन / आउट करें" #~ msgid "More than 50 results" #~ msgstr "50 से अधिक परिणाम" -#~ msgid "No results" -#~ msgstr "कोई परिणाम नहीं" - #~ msgid "Not implemented yet" #~ msgstr "अभी तक लागु नहीं किया" diff --git a/frontend/src/locales/hr.po b/frontend/src/locales/hr.po index 7a09c33c7..001838db3 100644 --- a/frontend/src/locales/hr.po +++ b/frontend/src/locales/hr.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: ci@photoprism.app\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2025-04-04 08:03+0000\n" +"PO-Revision-Date: 2025-07-06 08:58+0000\n" "Last-Translator: Google Cloud Translation Basic \n" "Language-Team: \n" "Language: hr\n" @@ -11,7 +11,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 5.10.4\n" +"X-Generator: Weblate 5.12.2\n" "Generated-By: easygettext\n" #: src/locales.js:268 @@ -42,7 +42,7 @@ msgstr "{0} odabrano" msgid "{0}-{1} of {2}" msgstr "{0}-{1} od {2}" -#: src/page/albums.vue:612 +#: src/page/albums.vue:617 msgid "%{n} albums found" msgstr "Pronađeno je %{n} albuma" @@ -50,25 +50,25 @@ msgstr "Pronađeno je %{n} albuma" msgid "%{n} files uploaded" msgstr "Preneseno je %{n} datoteka" -#: src/page/library/browse.vue:362 +#: src/page/library/browse.vue:364 msgid "%{n} folders found" msgstr "Pronađeno je %{n} mapa" -#: src/component/navigation.vue:1676 +#: src/component/navigation.vue:1707 msgid "%{n} GB of %{q} GB used" msgstr "Iskorišteno %{n} GB od %{q} GB" -#: src/page/labels.vue:528 +#: src/page/labels.vue:533 msgid "%{n} labels found" msgstr "Pronađeno je %{n} oznaka" -#: src/page/people/new.vue:350 src/page/people/new.vue:447 -#: src/page/people/recognized.vue:536 +#: src/page/people/new.vue:350 src/page/people/new.vue:450 +#: src/page/people/recognized.vue:541 msgid "%{n} people found" msgstr "Pronađeno je %{n} osoba" -#: src/page/album/photos.vue:308 src/page/album/photos.vue:493 -#: src/page/photos.vue:441 src/page/photos.vue:631 +#: src/page/album/photos.vue:313 src/page/album/photos.vue:504 +#: src/page/photos.vue:446 src/page/photos.vue:641 msgid "%{n} pictures found" msgstr "Pronađeno je %{n} slika" @@ -88,12 +88,12 @@ msgstr "1 sat" msgid "12 hours" msgstr "12 sati" -#: src/component/user/edit/dialog.vue:452 src/page/settings/account.vue:324 -#: src/component/settings/passcode.vue:75 +#: src/component/user/edit/dialog.vue:453 src/page/settings/account.vue:325 +#: src/component/settings/passcode.vue:78 msgid "2-Factor Authentication" msgstr "2-faktorska autentifikacija" -#: src/component/user/edit/dialog.vue:451 src/options/auth.js:46 +#: src/component/user/edit/dialog.vue:452 src/options/auth.js:47 msgid "2FA" msgstr "2FA" @@ -109,20 +109,20 @@ msgstr "Klik će kopirati u međuspremnik." msgid "A new version of %{s} is available:" msgstr "Dostupna je nova verzija %{s}:" -#: src/component/user/edit/dialog.vue:233 -#: src/component/user/edit/dialog.vue:234 src/page/about/about.vue:56 +#: src/component/user/edit/dialog.vue:234 +#: src/component/user/edit/dialog.vue:235 src/page/about/about.vue:56 #: src/page/settings/account.vue:248 src/page/settings/account.vue:249 -#: src/app/routes.js:63 src/component/navigation.vue:1521 -#: src/page/people/recognized.vue:292 +#: src/app/routes.js:63 src/component/navigation.vue:1547 +#: src/page/people/recognized.vue:296 msgid "About" msgstr "O programu" -#: src/options/auth.js:26 src/options/auth.js:44 +#: src/options/auth.js:27 src/options/auth.js:45 msgid "Access Token" msgstr "Pristupni token" -#: src/component/navigation.vue:87 src/component/navigation.vue:1788 -#: src/component/service/upload.vue:71 src/model/service.js:96 +#: src/component/navigation.vue:87 src/component/navigation.vue:1822 +#: src/component/service/upload.vue:72 src/model/service.js:96 #: src/model/user.js:171 src/page/settings.vue:85 #: src/page/settings/general.vue:582 msgid "Account" @@ -136,7 +136,7 @@ msgstr "Račun kreiran" msgid "Account deleted" msgstr "Račun je izbrisan" -#: src/page/admin/users.vue:335 +#: src/page/admin/users.vue:337 msgid "Account restored" msgstr "Račun vraćen" @@ -157,8 +157,8 @@ msgstr "Radnja" msgid "Actions" msgstr "Radnje" -#: src/page/connect.vue:294 src/component/settings/passcode.vue:346 -#: src/page/connect.vue:303 +#: src/page/connect.vue:296 src/component/settings/passcode.vue:349 +#: src/page/connect.vue:305 msgid "Activate" msgstr "Aktivirati" @@ -174,20 +174,20 @@ msgstr "Aktivirajte za sortiranje uzlazno." msgid "Activate to sort descending." msgstr "Aktivirajte za sortiranje silazno." -#: src/page/connect.vue:231 src/page/connect.vue:240 +#: src/page/connect.vue:233 src/page/connect.vue:242 msgid "Activation Code" msgstr "Aktivacijski kod" -#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:83 -#: src/component/settings/apps.vue:448 +#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:92 +#: src/component/settings/apps.vue:451 msgid "Add" msgstr "Dodati" -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:246 msgid "Add %{s}?" msgstr "Dodati %{s}?" -#: src/component/user/add/dialog.vue:56 src/component/service/add.vue:49 +#: src/component/user/add/dialog.vue:57 src/component/service/add.vue:50 msgid "Add Account" msgstr "Uredite korisnički račun" @@ -204,8 +204,8 @@ msgid "Add Link" msgstr "Dodaj poveznicu" #: src/component/photo/edit/people.vue:25 -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:57 -#: src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:57 +#: src/page/people/new.vue:246 msgid "Add person?" msgstr "Dodati osobu?" @@ -221,10 +221,15 @@ msgstr "Dodajte slike iz rezultata pretraživanja tako da ih odaberete." msgid "Add to album" msgstr "Dodaj u album" -#: src/component/photo/edit/files.vue:514 +#: src/component/photo/edit/files.vue:516 msgid "Added" msgstr "Dodano" +#: src/component/location/dialog.vue:68 src/component/location/dialog.vue:90 +#: src/component/photo/edit/details.vue:246 +msgid "Adjust Location" +msgstr "Prilagodi lokaciju" + #: src/options/admin.js:6 src/options/auth.js:6 msgid "Admin" msgstr "Administrator" @@ -245,7 +250,7 @@ msgstr "Nakon 3 dana" msgid "After 7 days" msgstr "Nakon 7 dana" -#: src/component/settings/passcode.vue:93 +#: src/component/settings/passcode.vue:96 msgid "After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:" msgstr "Nakon što unesete zaporku za potvrdu, možete postaviti dvofaktorsku autentifikaciju pomoću kompatibilne aplikacije ili uređaja za autentifikaciju:" @@ -277,12 +282,16 @@ msgstr "Album" msgid "Album Backups" msgstr "Sigurnosne kopije albuma" -#: src/page/albums.vue:674 +#: src/page/albums.vue:685 msgid "Album created" msgstr "Album stvoren" -#: src/app/routes.js:176 src/component/album/toolbar.vue:51 -#: src/component/navigation.vue:604 src/component/navigation.vue:1882 +#: src/page/album/photos.vue:589 +msgid "Album deleted" +msgstr "Album je izbrisan" + +#: src/app/routes.js:184 src/component/album/toolbar.vue:55 +#: src/component/navigation.vue:607 src/component/navigation.vue:1922 #: src/component/photo/edit/info.vue:220 src/options/options.js:198 msgid "Albums" msgstr "Albumi" @@ -295,7 +304,7 @@ msgstr "Albumi su izbrisani" msgid "All" msgstr "Sve" -#: src/page/albums.vue:465 +#: src/page/albums.vue:470 msgid "All %{n} albums loaded" msgstr "Učitano je svih %{n} albuma" @@ -311,8 +320,8 @@ msgstr "Učitano je svih %{n} osoba" msgid "All Cameras" msgstr "Sve kamere" -#: src/component/photo/toolbar.vue:74 src/page/albums.vue:44 -#: src/page/albums.vue:240 src/page/albums.vue:746 +#: src/component/photo/toolbar.vue:74 src/page/albums.vue:45 +#: src/page/albums.vue:242 src/page/albums.vue:757 msgid "All Categories" msgstr "Sve kategorije" @@ -344,7 +353,7 @@ msgstr "Svi mjeseci" msgid "All originals" msgstr "Svi originali" -#: src/component/photo/toolbar.vue:76 src/page/albums.vue:93 +#: src/component/photo/toolbar.vue:76 src/page/albums.vue:94 msgid "All Years" msgstr "Sve godine" @@ -356,7 +365,7 @@ msgstr "Alternativno, možete prenijeti datoteke izravno na WebDAV poslužitelje msgid "Altitude" msgstr "Nadmorska visina" -#: src/component/photo/edit/details.vue:272 +#: src/component/photo/edit/details.vue:297 msgid "Altitude (m)" msgstr "Nadmorska visina (m)" @@ -364,8 +373,7 @@ msgstr "Nadmorska visina (m)" msgid "AM" msgstr "AM" -#: src/app/routes.js:257 src/component/navigation.vue:791 -#: src/component/photo/edit/files.vue:364 +#: src/app/routes.js:265 src/component/photo/edit/files.vue:364 #: src/component/photo/view/cards.vue:327 #: src/component/photo/view/cards.vue:511 src/component/photo/view/list.vue:184 #: src/component/photo/view/mosaic.vue:171 src/options/options.js:301 @@ -376,43 +384,47 @@ msgstr "Animirano" msgid "Animation" msgstr "Animacija" +#: src/component/navigation.vue:797 +msgid "Animations" +msgstr "Animacije" + #: src/component/share/dialog.vue:207 msgid "Any private photos and videos remain private and won't be shared." msgstr "Sve privatne fotografije i videozapisi ostaju privatni i neće biti dijeljeni." -#: src/component/service/edit.vue:372 +#: src/component/service/edit.vue:373 msgid "API Key" msgstr "API ključ" -#: src/page/admin/sessions.vue:357 src/options/auth.js:25 +#: src/page/admin/sessions.vue:361 src/options/auth.js:26 msgid "Application" msgstr "Primjena" -#: src/component/photo/edit/details.vue:641 +#: src/component/photo/edit/details.vue:615 msgid "Apply" msgstr "Primijeni" #: src/component/photo/clipboard.vue:64 -#: src/component/photo/edit/details.vue:640 +#: src/component/photo/edit/details.vue:614 #: src/component/photo/view/cards.vue:416 msgid "Approve" msgstr "Odobri" -#: src/page/settings/account.vue:374 src/component/settings/apps.vue:91 +#: src/page/settings/account.vue:378 src/component/settings/apps.vue:94 msgid "Apps and Devices" msgstr "Aplikacije i uređaji" -#: src/app/routes.js:287 src/component/lightbox.vue:1207 -#: src/component/navigation.vue:555 src/component/photo/clipboard.vue:142 +#: src/app/routes.js:295 src/component/lightbox.vue:1207 +#: src/component/navigation.vue:557 src/component/photo/clipboard.vue:142 #: src/component/photo/view/cards.vue:398 src/page/settings/general.vue:432 msgid "Archive" msgstr "Arhiva" -#: src/component/lightbox.vue:1982 src/component/photo/edit/info.vue:433 +#: src/component/lightbox.vue:2002 src/component/photo/edit/info.vue:433 msgid "Archived" msgstr "Arhivirano" -#: src/component/photo/archive/dialog.vue:34 +#: src/component/photo/archive/dialog.vue:35 msgid "Are you sure you want to archive the selection?" msgstr "Jeste li sigurni da želite arhivirati odabir?" @@ -420,19 +432,23 @@ msgstr "Jeste li sigurni da želite arhivirati odabir?" msgid "Are you sure you want to delete these albums?" msgstr "Jeste li sigurni da želite izbrisati ove albume?" -#: src/component/label/delete/dialog.vue:34 +#: src/component/label/delete/dialog.vue:35 msgid "Are you sure you want to delete these labels?" msgstr "Jeste li sigurni da želite izbrisati ove oznake?" -#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:36 +#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:37 msgid "Are you sure you want to delete this account?" msgstr "Jeste li sigurni da želite izbrisati ovaj račun?" +#: src/component/album/toolbar.vue:136 +msgid "Are you sure you want to delete this album?" +msgstr "Jeste li sigurni da želite izbrisati ovaj album?" + #: src/component/photo/clipboard.vue:199 msgid "Are you sure you want to permanently delete these pictures?" msgstr "Jeste li sigurni da želite trajno izbrisati ove slike?" -#: src/component/file/delete/dialog.vue:34 +#: src/component/file/delete/dialog.vue:35 msgid "Are you sure you want to permanently delete this file?" msgstr "Jeste li sigurni da želite trajno izbrisati ovu datoteku?" @@ -441,7 +457,7 @@ msgstr "Jeste li sigurni da želite trajno izbrisati ovu datoteku?" msgid "Are you sure?" msgstr "Jeste li sigurni?" -#: src/component/photo/edit/details.vue:537 +#: src/component/photo/edit/details.vue:511 msgid "Artist" msgstr "Umjetnik" @@ -449,14 +465,14 @@ msgstr "Umjetnik" msgid "Aspect Ratio" msgstr "Razmjer proporcija" -#: src/app/routes.js:250 src/component/navigation.vue:770 +#: src/app/routes.js:258 src/component/navigation.vue:776 #: src/options/options.js:297 msgid "Audio" msgstr "Audio" -#: src/component/user/add/dialog.vue:190 src/component/user/edit/dialog.vue:309 -#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:281 -#: src/page/admin/users.vue:75 +#: src/component/user/add/dialog.vue:191 src/component/user/edit/dialog.vue:310 +#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:282 +#: src/page/admin/users.vue:77 msgid "Authentication" msgstr "Ovjera" @@ -464,11 +480,11 @@ msgstr "Ovjera" msgid "Auto" msgstr "Auto" -#: src/component/settings/apps.vue:151 +#: src/component/settings/apps.vue:154 msgid "Back" msgstr "leđa" -#: src/component/scroll.vue:20 +#: src/component/scroll.vue:18 msgid "Back to top" msgstr "Povratak na vrh" @@ -480,26 +496,26 @@ msgstr "Sigurnosna kopija" msgid "Badge" msgstr "Značka" -#: src/component/user/edit/dialog.vue:361 #: src/component/user/edit/dialog.vue:362 +#: src/component/user/edit/dialog.vue:363 msgid "Base Path" msgstr "Osnovni put" -#: src/page/about/about.vue:95 src/page/connect.vue:220 +#: src/page/about/about.vue:96 src/page/connect.vue:222 msgid "Become a member today, support our mission and enjoy our member benefits!" msgstr "Postanite član već danas, podržite našu misiju i uživajte u pogodnostima za članove!" -#: src/component/confirm/sponsor.vue:51 src/page/about/about.vue:99 +#: src/component/confirm/sponsor.vue:52 src/page/about/about.vue:100 msgid "Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services." msgstr "Budući da smo 100% sami financirani i neovisni, možemo vam obećati da nikada nećemo prodati vaše podatke i da ćemo uvijek biti transparentni u vezi s našim softverom i uslugama." -#: src/component/user/edit/dialog.vue:258 -#: src/component/user/edit/dialog.vue:259 src/page/settings/account.vue:227 +#: src/component/user/edit/dialog.vue:259 +#: src/component/user/edit/dialog.vue:260 src/page/settings/account.vue:227 #: src/page/settings/account.vue:228 msgid "Bio" msgstr "bio" -#: src/page/settings/account.vue:431 +#: src/page/settings/account.vue:437 msgid "Birth Date" msgstr "Datum rođenja" @@ -520,7 +536,7 @@ msgid "Brown" msgstr "Smeđa" #: src/component/photo/edit/files.vue:263 src/component/photo/toolbar.vue:141 -#: src/component/upload/dialog.vue:240 +#: src/component/upload/dialog.vue:242 msgid "Browse" msgstr "pretraživati" @@ -548,16 +564,16 @@ msgstr "Izvješće o greškama" msgid "Busy, please wait…" msgstr "Zauzeto, pričekajte…" -#: src/page/connect.vue:317 +#: src/page/connect.vue:319 msgid "By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct." msgstr "Korištenjem softvera i usluga koje pružamo, slažete se s našim uvjetima pružanja usluge, politikom privatnosti i kodeksom ponašanja." -#: src/app/routes.js:189 src/component/navigation.vue:1081 +#: src/app/routes.js:197 src/component/navigation.vue:1097 #: src/options/options.js:204 src/page/settings/general.vue:205 msgid "Calendar" msgstr "Kalendar" -#: src/component/photo/edit/details.vue:346 src/component/photo/toolbar.vue:232 +#: src/component/photo/edit/details.vue:320 src/component/photo/toolbar.vue:234 #: src/component/photo/view/cards.vue:467 src/component/photo/view/list.vue:116 msgid "Camera" msgstr "Fotoaparat" @@ -570,12 +586,12 @@ msgstr "Serijski fotoaparat" msgid "Can't access your authenticator app or device?" msgstr "Ne možete pristupiti aplikaciji ili uređaju za autentifikaciju?" -#: src/page/album/photos.vue:317 src/page/photos.vue:450 +#: src/page/album/photos.vue:322 src/page/photos.vue:455 msgid "Can't load more, limit reached" msgstr "Nije moguće učitati više, dosegnuto je ograničenje" #: src/common/clipboard.js:102 src/common/clipboard.js:139 -#: src/page/albums.vue:684 src/page/albums.vue:700 src/page/labels.vue:293 +#: src/page/albums.vue:695 src/page/albums.vue:711 src/page/labels.vue:293 #: src/page/labels.vue:313 src/page/library/browse.vue:233 #: src/page/library/browse.vue:249 src/page/people/new.vue:278 #: src/page/people/new.vue:294 src/page/people/recognized.vue:305 @@ -584,26 +600,31 @@ msgid "Can't select more items" msgstr "Nije moguće odabrati više stavki" #: src/component/session/remove/dialog.vue:45 -#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:473 -#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:119 +#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:474 +#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:120 #: src/component/album/delete/dialog.vue:43 -#: src/component/album/edit/dialog.vue:199 src/component/confirm/dialog.vue:43 -#: src/component/file/delete/dialog.vue:47 -#: src/component/label/delete/dialog.vue:47 -#: src/component/label/edit/dialog.vue:107 -#: src/component/people/edit/dialog.vue:120 +#: src/component/album/edit/dialog.vue:200 src/component/confirm/dialog.vue:43 +#: src/component/file/delete/dialog.vue:48 +#: src/component/label/delete/dialog.vue:48 +#: src/component/label/edit/dialog.vue:108 +#: src/component/location/dialog.vue:200 +#: src/component/people/edit/dialog.vue:121 #: src/component/photo/album/dialog.vue:78 src/component/service/add.vue:19 -#: src/component/service/edit.vue:455 src/component/service/remove.vue:49 -#: src/component/service/upload.vue:117 src/component/settings/apps.vue:352 -#: src/component/settings/passcode.vue:249 -#: src/component/settings/passcode.vue:333 -#: src/component/settings/password.vue:159 src/component/share/dialog.vue:28 -#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:123 +#: src/component/service/edit.vue:456 src/component/service/remove.vue:50 +#: src/component/service/upload.vue:118 src/component/settings/apps.vue:355 +#: src/component/settings/passcode.vue:252 +#: src/component/settings/passcode.vue:336 +#: src/component/settings/password.vue:160 src/component/share/dialog.vue:28 +#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:124 #: src/page/library/import.vue:119 src/page/library/index.vue:128 msgid "Cancel" msgstr "Otkazati" -#: src/component/photo/edit/details.vue:87 src/component/photo/edit/info.vue:61 +#: src/common/util.js:863 src/common/util.js:870 +msgid "Cannot copy to clipboard" +msgstr "Nije moguće kopirati u međuspremnik" + +#: src/component/photo/edit/details.vue:89 src/component/photo/edit/info.vue:63 #: src/component/photo/edit/labels.vue:42 #: src/component/photo/view/cards.vue:445 src/component/sidebar/info.vue:72 msgid "Caption" @@ -617,17 +638,17 @@ msgstr "Kartice" msgid "Carousel slide {0} of {1}" msgstr "Tobogan karusela {0} od {1}" -#: src/page/about/feedback.vue:82 src/page/about/feedback.vue:83 -#: src/component/album/edit/dialog.vue:128 src/component/photo/toolbar.vue:397 +#: src/page/about/feedback.vue:83 src/page/about/feedback.vue:84 +#: src/component/album/edit/dialog.vue:129 src/component/photo/toolbar.vue:399 #: src/page/albums.vue:187 msgid "Category" msgstr "Kategorija" -#: src/component/user/edit/dialog.vue:191 src/page/settings/account.vue:201 +#: src/component/user/edit/dialog.vue:192 src/page/settings/account.vue:201 msgid "Change Avatar" msgstr "Promijenite privatnu zastavu" -#: src/page/settings/account.vue:297 src/component/settings/password.vue:48 +#: src/page/settings/account.vue:297 src/component/settings/password.vue:49 msgid "Change Password" msgstr "Nova lozinka" @@ -644,17 +665,17 @@ msgid "Change private flag" msgstr "Promijenite privatnu zastavu" #: src/component/user/add/dialog.vue:108 src/component/user/add/dialog.vue:113 -#: src/component/user/edit/dialog.vue:90 src/component/user/edit/dialog.vue:95 +#: src/component/user/edit/dialog.vue:91 src/component/user/edit/dialog.vue:96 #: src/page/settings/account.vue:121 src/page/settings/account.vue:126 msgid "Changes could not be saved" msgstr "Promjene se nisu mogle spremiti" -#: src/component/user/edit/dialog.vue:83 src/component/user/edit/dialog.vue:159 +#: src/component/user/edit/dialog.vue:84 src/component/user/edit/dialog.vue:160 #: src/component/album/edit/dialog.vue:73 -#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1941 +#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1961 #: src/component/photo/edit/files.vue:162 src/component/service/edit.vue:90 #: src/component/share/dialog.vue:92 src/component/share/dialog.vue:111 -#: src/page/albums.vue:677 src/page/people/recognized.vue:119 +#: src/page/albums.vue:688 src/page/people/recognized.vue:119 #: src/page/settings/advanced.vue:62 src/page/settings/content.vue:62 #: src/page/settings/general.vue:108 msgid "Changes successfully saved" @@ -668,7 +689,7 @@ msgstr "Promjene naprednih postavki zahtijevaju ponovno pokretanje kako bi stupi msgid "Checked" msgstr "Provjereno" -#: src/component/photo/edit/files.vue:495 +#: src/component/photo/edit/files.vue:497 msgid "Chroma" msgstr "Chroma" @@ -684,24 +705,24 @@ msgstr "Počistiti" msgid "Clear {0}" msgstr "Obriši {0}" -#: src/options/auth.js:11 src/options/auth.js:23 src/options/auth.js:43 +#: src/options/auth.js:12 src/options/auth.js:24 src/options/auth.js:44 msgid "Client" msgstr "Klijent" -#: src/options/auth.js:24 +#: src/options/auth.js:25 msgid "Client Credentials" msgstr "vjerodajnice klijenta" -#: src/page/admin/sessions.vue:529 src/component/lightbox.vue:284 -#: src/component/lightbox.vue:1009 src/component/lightbox.vue:1010 -#: src/component/photo/edit/details.vue:627 src/component/photo/toolbar.vue:160 -#: src/component/settings/apps.vue:224 src/component/settings/apps.vue:437 -#: src/component/settings/passcode.vue:148 -#: src/component/settings/passcode.vue:456 -#: src/component/settings/passcode.vue:497 -#: src/component/settings/webdav.vue:131 src/component/share/dialog.vue:231 +#: src/component/user/edit/dialog.vue:474 src/page/admin/sessions.vue:536 +#: src/component/lightbox.vue:284 src/component/lightbox.vue:1009 +#: src/component/lightbox.vue:1010 src/component/photo/edit/details.vue:601 +#: src/component/photo/toolbar.vue:161 src/component/settings/apps.vue:227 +#: src/component/settings/apps.vue:440 src/component/settings/passcode.vue:151 +#: src/component/settings/passcode.vue:459 +#: src/component/settings/passcode.vue:500 +#: src/component/settings/webdav.vue:132 src/component/share/dialog.vue:231 #: src/component/sidebar/info.vue:26 src/component/update.vue:57 -#: src/component/upload/dialog.vue:228 src/locales.js:206 +#: src/component/upload/dialog.vue:230 src/locales.js:206 #: src/page/library/errors.vue:253 msgid "Close" msgstr "Zatvoriti" @@ -710,11 +731,11 @@ msgstr "Zatvoriti" msgid "Codec" msgstr "kodek" -#: src/component/photo/toolbar.vue:369 +#: src/component/photo/toolbar.vue:371 msgid "Color" msgstr "Boja" -#: src/component/photo/edit/files.vue:483 +#: src/component/photo/edit/files.vue:485 msgid "Color Profile" msgstr "Profil boje" @@ -722,7 +743,7 @@ msgstr "Profil boje" msgid "Colors" msgstr "Boje" -#: src/page/connect.vue:260 src/page/connect.vue:269 +#: src/page/connect.vue:262 src/page/connect.vue:271 msgid "Compare Editions" msgstr "Usporedite izdanja" @@ -735,17 +756,18 @@ msgstr "Dovrši ponovno skeniranje" msgid "Confidence" msgstr "Samouvjerenost" +#: src/component/location/dialog.vue:212 #: src/component/photo/album/dialog.vue:90 -#: src/component/settings/passcode.vue:261 +#: src/component/settings/passcode.vue:264 msgid "Confirm" msgstr "Potvrdi" -#: src/component/service/add.vue:20 src/page/settings/services.vue:187 +#: src/component/service/add.vue:20 src/page/settings/services.vue:191 msgid "Connect" msgstr "Spojiti" -#: src/page/settings/account.vue:401 src/component/settings/webdav.vue:45 -#: src/page/settings/services.vue:167 +#: src/page/settings/account.vue:406 src/component/settings/webdav.vue:46 +#: src/page/settings/services.vue:170 msgid "Connect via WebDAV" msgstr "Povežite se putem WebDAV-a" @@ -753,22 +775,22 @@ msgstr "Povežite se putem WebDAV-a" msgid "Connected" msgstr "Spojiti" -#: src/page/settings/account.vue:640 src/page/settings/account.vue:532 +#: src/page/settings/account.vue:646 src/page/settings/account.vue:538 msgid "Contact Details" msgstr "Kontaktirajte nas" -#: src/page/about/feedback.vue:37 src/page/connect.vue:132 -#: src/page/connect.vue:136 +#: src/page/about/feedback.vue:37 src/page/connect.vue:133 +#: src/page/connect.vue:137 msgid "Contact Us" msgstr "Kontaktirajte nas" #: src/page/albums.vue:433 src/page/labels.vue:237 -#: src/page/people/recognized.vue:306 +#: src/page/people/recognized.vue:310 msgid "Contains %{n} pictures." msgstr "Sadrži %{n} slika." #: src/page/albums.vue:427 src/page/labels.vue:231 -#: src/page/people/recognized.vue:300 +#: src/page/people/recognized.vue:304 msgid "Contains one picture." msgstr "Sadrži jednu sliku." @@ -776,7 +798,7 @@ msgstr "Sadrži jednu sliku." msgid "Content" msgstr "Sadržaj" -#: src/component/settings/apps.vue:163 +#: src/component/settings/apps.vue:166 msgid "Continue" msgstr "Nastaviti" @@ -784,7 +806,7 @@ msgstr "Nastaviti" msgid "Continue with %{provider}" msgstr "Nastavite s %{provider}" -#: src/options/admin.js:18 src/options/auth.js:9 +#: src/options/admin.js:22 src/options/auth.js:10 msgid "Contributor" msgstr "Suradnik" @@ -792,15 +814,15 @@ msgstr "Suradnik" msgid "Converting" msgstr "Pretvaranje" -#: src/common/util.js:846 +#: src/common/util.js:856 msgid "Copied to clipboard" msgstr "Kopirano u međuspremnik" -#: src/component/settings/apps.vue:250 src/component/settings/passcode.vue:358 +#: src/component/settings/apps.vue:253 src/component/settings/passcode.vue:361 msgid "Copy" msgstr "Kopirati" -#: src/component/photo/edit/details.vue:516 +#: src/component/photo/edit/details.vue:490 msgid "Copyright" msgstr "Autorsko pravo" @@ -808,8 +830,8 @@ msgstr "Autorsko pravo" msgid "Couldn't find anything." msgstr "Nisam mogao pronaći ništa." -#: src/page/settings/account.vue:685 src/component/photo/edit/details.vue:242 -#: src/component/photo/toolbar.vue:203 src/page/settings/account.vue:577 +#: src/page/settings/account.vue:691 src/component/photo/edit/details.vue:268 +#: src/component/photo/toolbar.vue:205 src/page/settings/account.vue:583 msgid "Country" msgstr "Država" @@ -833,7 +855,7 @@ msgstr "Izradite YAML datoteke za sigurnosno kopiranje metapodataka albuma." msgid "Create YAML sidecar files to back up picture metadata." msgstr "Stvorite YAML sidecar datoteke za sigurnosno kopiranje metapodataka slika." -#: src/page/admin/sessions.vue:417 src/component/photo/edit/info.vue:412 +#: src/page/admin/sessions.vue:422 src/component/photo/edit/info.vue:412 msgid "Created" msgstr "Kreirano" @@ -845,11 +867,11 @@ msgstr "Izrada minijatura za" msgid "Cubic: Moderate Quality, Good Performance" msgstr "Kubik: umjerena kvaliteta, dobre performanse" -#: src/component/settings/password.vue:85 +#: src/component/settings/password.vue:86 msgid "Current Password" msgstr "Trenutna lozinka" -#: src/options/themes.js:919 src/options/themes.js:928 +#: src/options/themes.js:920 src/options/themes.js:929 msgid "Custom" msgstr "Običaj" @@ -865,11 +887,11 @@ msgstr "Dnevno" msgid "Database Backups" msgstr "Sigurnosne kopije baze podataka" -#: src/page/settings/account.vue:450 src/component/photo/edit/details.vue:110 +#: src/page/settings/account.vue:456 src/component/photo/edit/details.vue:112 msgid "Day" msgstr "Dan" -#: src/component/settings/passcode.vue:445 +#: src/component/settings/passcode.vue:448 msgid "Deactivate" msgstr "Deaktiviraj" @@ -877,36 +899,40 @@ msgstr "Deaktiviraj" msgid "Debug Logs" msgstr "Zapisnici otklanjanja pogrešaka" -#: src/options/admin.js:31 src/page/admin/sessions.vue:136 -#: src/page/admin/users.vue:176 src/component/photo/edit/info.vue:47 +#: src/options/admin.js:35 src/page/admin/sessions.vue:136 +#: src/page/admin/users.vue:178 src/component/photo/edit/info.vue:47 #: src/component/photo/edit/info.vue:110 src/model/session.js:66 -#: src/model/user.js:246 src/options/auth.js:20 src/options/auth.js:21 -#: src/options/auth.js:39 src/options/auth.js:40 src/options/options.js:196 +#: src/model/user.js:246 src/options/auth.js:21 src/options/auth.js:22 +#: src/options/auth.js:40 src/options/auth.js:41 src/options/options.js:196 #: src/options/options.js:232 src/options/options.js:316 -#: src/options/themes.js:773 +#: src/options/themes.js:774 msgid "Default" msgstr "Zadano" -#: src/component/service/edit.vue:123 +#: src/component/service/edit.vue:124 msgid "Default Folder" msgstr "Zadana mapa" #: src/component/session/remove/dialog.vue:56 #: src/component/user/remove/dialog.vue:56 src/component/album/clipboard.vue:97 -#: src/component/album/delete/dialog.vue:54 -#: src/component/file/delete/dialog.vue:58 src/component/label/clipboard.vue:58 -#: src/component/label/delete/dialog.vue:58 +#: src/component/album/delete/dialog.vue:54 src/component/album/toolbar.vue:137 +#: src/component/file/delete/dialog.vue:59 src/component/label/clipboard.vue:58 +#: src/component/label/delete/dialog.vue:59 #: src/component/photo/clipboard.vue:168 src/component/photo/edit/files.vue:238 -#: src/component/service/remove.vue:60 src/component/share/dialog.vue:170 +#: src/component/service/remove.vue:61 src/component/share/dialog.vue:170 #: src/page/settings/general.vue:457 msgid "Delete" msgstr "Izbriši" +#: src/component/album/toolbar.vue:133 +msgid "Delete Album" +msgstr "Izbriši album" + #: src/component/photo/toolbar.vue:119 src/page/library/errors.vue:95 msgid "Delete All" msgstr "Izbrisati sve" -#: src/component/photo/toolbar.vue:433 src/page/library/errors.vue:193 +#: src/component/photo/toolbar.vue:435 src/page/library/errors.vue:193 msgid "Delete all?" msgstr "Izbrisati sve?" @@ -914,16 +940,16 @@ msgstr "Izbrisati sve?" msgid "Delete orphaned index entries, sidecar files and thumbnails." msgstr "Izbrišite zapuštene unose indeksa, pomoćne datoteke i sličice." -#: src/component/album/edit/dialog.vue:107 src/page/albums.vue:411 +#: src/component/album/edit/dialog.vue:108 src/page/albums.vue:411 msgid "Description" msgstr "Opis" -#: src/component/settings/webdav.vue:115 +#: src/component/settings/webdav.vue:116 msgid "Detailed instructions can be found in our User Guide." msgstr "Detaljne upute možete pronaći u našem korisničkom priručniku." -#: src/component/photo/edit/dialog.vue:156 -#: src/component/photo/edit/dialog.vue:173 +#: src/component/photo/edit/dialog.vue:162 +#: src/component/photo/edit/dialog.vue:181 msgid "Details" msgstr "Detalji" @@ -987,8 +1013,8 @@ msgstr "Onemogućuje podršku za vektorsku grafiku." msgid "Disables video transcoding and thumbnail extraction." msgstr "Onemogućuje video transkodiranje i izdvajanje minijatura." -#: src/app/routes.js:558 src/app/routes.js:565 src/app/routes.js:572 -#: src/app/routes.js:579 +#: src/app/routes.js:566 src/app/routes.js:573 src/app/routes.js:580 +#: src/app/routes.js:587 msgid "Discover" msgstr "Otkrij" @@ -996,9 +1022,9 @@ msgstr "Otkrij" msgid "Dismiss" msgstr "Odbaciti" -#: src/component/user/add/dialog.vue:133 src/component/user/add/dialog.vue:134 -#: src/component/user/edit/dialog.vue:163 -#: src/component/user/edit/dialog.vue:164 src/page/admin/users.vue:72 +#: src/component/user/add/dialog.vue:134 src/component/user/add/dialog.vue:135 +#: src/component/user/edit/dialog.vue:164 +#: src/component/user/edit/dialog.vue:165 src/page/admin/users.vue:74 #: src/page/settings/account.vue:149 src/page/settings/account.vue:151 msgid "Display Name" msgstr "Ime za prikaz" @@ -1013,12 +1039,12 @@ msgstr "Prikaz naslova slika u rezultatima pretraživanja." #: src/component/photo/view/cards.vue:339 #: src/component/photo/view/cards.vue:521 -#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:174 +#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:176 #: src/options/options.js:309 msgid "Document" msgstr "Dokument" -#: src/component/navigation.vue:480 +#: src/component/navigation.vue:482 msgid "Documents" msgstr "Dokumenti" @@ -1034,16 +1060,16 @@ msgstr "Nemojte koristiti ImageMagick za pretvaranje slika." msgid "Don't use RawTherapee to convert RAW images." msgstr "Nemojte koristiti RawTherapee za pretvaranje RAW slika." -#: src/component/settings/apps.vue:238 src/component/share/dialog.vue:29 +#: src/component/settings/apps.vue:241 src/component/share/dialog.vue:29 msgid "Done" msgstr "Gotovo" -#: src/component/upload/dialog.vue:135 src/page/library/import.vue:46 +#: src/component/upload/dialog.vue:137 src/page/library/import.vue:46 #: src/page/library/index.vue:52 msgid "Done." msgstr "Gotovo." -#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:118 +#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:123 #: src/component/file/clipboard.vue:48 src/component/lightbox.vue:1235 #: src/component/people/clipboard.vue:47 src/component/photo/clipboard.vue:116 #: src/component/photo/edit/files.vue:168 src/page/settings/content.vue:331 @@ -1055,7 +1081,7 @@ msgstr "Preuzimanja" msgid "Download only original media files, without any automatically generated files." msgstr "Preuzmite samo izvorne medijske datoteke, bez automatski generiranih datoteka." -#: src/component/service/edit.vue:237 +#: src/component/service/edit.vue:238 msgid "Download remote files" msgstr "Preuzmite udaljene datoteke" @@ -1063,9 +1089,9 @@ msgstr "Preuzmite udaljene datoteke" msgid "Download single files and zip archives." msgstr "Preuzmite pojedinačne datoteke i zip arhive." -#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:157 +#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:172 #: src/component/file/clipboard.vue:61 src/component/label/clipboard.vue:86 -#: src/component/lightbox.vue:2021 src/component/people/clipboard.vue:59 +#: src/component/lightbox.vue:2041 src/component/people/clipboard.vue:59 #: src/component/photo/clipboard.vue:220 src/component/photo/edit/files.vue:119 #: src/component/photo/view/cards.vue:169 src/component/photo/view/list.vue:142 #: src/page/library/browse.vue:139 @@ -1080,7 +1106,7 @@ msgstr "Filter za smanjenje" msgid "Drag and drop files here" msgstr "Ovdje povucite i ispustite datoteke" -#: src/page/about/feedback.vue:61 +#: src/page/about/feedback.vue:62 msgid "Due to the high volume of emails we receive, our team may be unable to get back to you immediately." msgstr "Zbog velike količine e-poruka koje primamo, naš tim vam se možda neće moći odmah javiti." @@ -1100,23 +1126,23 @@ msgstr "Dinamički pregledi" msgid "Dynamic Size Limit: %{n}px" msgstr "Ograničenje dinamičke veličine: %{n}px" -#: src/page/about/feedback.vue:141 src/page/about/feedback.vue:140 +#: src/page/about/feedback.vue:142 src/page/about/feedback.vue:141 msgid "E-Mail" msgstr "E-Mail" -#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:89 +#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:94 #: src/component/lightbox.vue:1136 src/component/lightbox.vue:1137 #: src/component/photo/clipboard.vue:90 src/page/settings/general.vue:407 msgid "Edit" msgstr "Uredi" -#: src/component/album/edit/dialog.vue:54 -#: src/component/label/edit/dialog.vue:52 -#: src/component/people/edit/dialog.vue:52 +#: src/component/album/edit/dialog.vue:55 +#: src/component/label/edit/dialog.vue:53 +#: src/component/people/edit/dialog.vue:53 msgid "Edit %{s}" msgstr "Uredi %{s}" -#: src/component/user/edit/dialog.vue:61 src/component/service/edit.vue:79 +#: src/component/user/edit/dialog.vue:62 src/component/service/edit.vue:79 msgid "Edit Account" msgstr "Uredite korisnički račun" @@ -1128,8 +1154,8 @@ msgstr "Uredi fotografiju" msgid "Edited" msgstr "Uređeno" -#: src/component/user/add/dialog.vue:151 src/component/user/edit/dialog.vue:213 -#: src/page/settings/account.vue:171 src/page/settings/account.vue:593 +#: src/component/user/add/dialog.vue:152 src/component/user/edit/dialog.vue:214 +#: src/page/settings/account.vue:171 src/page/settings/account.vue:599 msgid "Email" msgstr "E-mail" @@ -1145,7 +1171,7 @@ msgstr "Omogućite nove značajke koje mogu biti nepotpune ili nestabilne." msgid "Enables RAW converter presets. May reduce performance." msgstr "Omogućuje unaprijed postavljene postavke RAW pretvarača. Može smanjiti performanse." -#: src/component/settings/passcode.vue:127 +#: src/component/settings/passcode.vue:130 msgid "Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account." msgstr "Omogućavanje dvofaktorske autentifikacije znači da ćete trebati nasumično generirani kontrolni kod za prijavu, pa čak i ako netko dobije pristup vašoj lozinci, neće moći pristupiti vašem računu." @@ -1157,7 +1183,7 @@ msgstr "Unesite datum" msgid "Enter dates" msgstr "Unesite datume" -#: src/component/settings/passcode.vue:213 src/page/auth/login.vue:104 +#: src/component/settings/passcode.vue:216 src/page/auth/login.vue:104 msgid "Enter the code generated by your authenticator app:" msgstr "Unesite kod koji je generirala vaša aplikacija za autentifikaciju:" @@ -1165,7 +1191,7 @@ msgstr "Unesite kod koji je generirala vaša aplikacija za autentifikaciju:" msgid "Enter verification code" msgstr "Unesite kontrolni kod" -#: src/component/settings/apps.vue:109 +#: src/component/settings/apps.vue:112 msgid "Enter your password to confirm the action and continue:" msgstr "Unesite svoju lozinku za potvrdu akcije i nastavite:" @@ -1174,7 +1200,7 @@ msgstr "Unesite svoju lozinku za potvrdu akcije i nastavite:" msgid "Error" msgstr "Greška" -#: src/app/routes.js:374 src/component/navigation.vue:1348 +#: src/app/routes.js:382 src/component/navigation.vue:1372 msgid "Errors" msgstr "Greške" @@ -1210,13 +1236,13 @@ msgstr "Izdvajanje metapodataka s ExifTool-om potrebno je za potpunu podršku za msgid "Experimental Features" msgstr "Eksperimentalne značajke" -#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:453 -#: src/component/service/edit.vue:157 src/component/settings/apps.vue:73 -#: src/component/settings/apps.vue:326 src/component/share/dialog.vue:62 +#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:458 +#: src/component/service/edit.vue:158 src/component/settings/apps.vue:73 +#: src/component/settings/apps.vue:329 src/component/share/dialog.vue:62 msgid "Expires" msgstr "Ističe" -#: src/component/photo/edit/details.vue:396 +#: src/component/photo/edit/details.vue:370 msgid "Exposure" msgstr "Izlaganje" @@ -1224,7 +1250,7 @@ msgstr "Izlaganje" msgid "Extract still images and generate thumbnails while indexing." msgstr "Izdvojite fotografije i generirajte minijature tijekom indeksiranja." -#: src/component/photo/edit/details.vue:444 +#: src/component/photo/edit/details.vue:418 msgid "F Number" msgstr "F broj" @@ -1240,7 +1266,7 @@ msgstr "Lica" msgid "Failed removing link" msgstr "Uklanjanje veze nije uspjelo" -#: src/page/connect.vue:106 src/page/connect.vue:110 +#: src/page/connect.vue:107 src/page/connect.vue:111 msgid "Failed to connect account." msgstr "Povezivanje računa nije uspjelo." @@ -1248,8 +1274,8 @@ msgstr "Povezivanje računa nije uspjelo." msgid "Failed updating link" msgstr "Neuspješno ažuriranje veze" -#: src/component/user/edit/dialog.vue:143 -#: src/component/user/edit/dialog.vue:144 src/page/settings/account.vue:128 +#: src/component/user/edit/dialog.vue:144 +#: src/component/user/edit/dialog.vue:145 src/page/settings/account.vue:128 #: src/page/settings/account.vue:130 msgid "Family Name" msgstr "Prezime" @@ -1258,15 +1284,15 @@ msgstr "Prezime" msgid "Fast" msgstr "brzo" -#: src/component/album/edit/dialog.vue:159 -#: src/component/label/edit/dialog.vue:85 -#: src/component/people/edit/dialog.vue:85 +#: src/component/album/edit/dialog.vue:160 +#: src/component/label/edit/dialog.vue:86 +#: src/component/people/edit/dialog.vue:86 #: src/component/photo/edit/info.vue:287 msgid "Favorite" msgstr "Favorit" -#: src/app/routes.js:222 src/component/navigation.vue:893 -#: src/options/options.js:202 src/page/albums.vue:97 +#: src/app/routes.js:230 src/component/navigation.vue:903 +#: src/options/options.js:202 src/page/albums.vue:98 msgid "Favorites" msgstr "Favoriti" @@ -1274,7 +1300,7 @@ msgstr "Favoriti" msgid "Feature Request" msgstr "Zahtjev za značajku" -#: src/component/navigation.vue:1456 +#: src/component/navigation.vue:1482 msgid "Feedback" msgstr "Povratne informacije" @@ -1282,11 +1308,12 @@ msgstr "Povratne informacije" msgid "Female" msgstr "Žena" -#: src/component/photo/edit/info.vue:214 src/model/file.js:290 +#: src/component/photo/edit/info.vue:57 src/component/photo/edit/info.vue:214 +#: src/model/file.js:290 msgid "File" msgstr "Datoteka" -#: src/app/routes.js:343 +#: src/app/routes.js:351 msgid "File Browser" msgstr "Preglednik datoteka" @@ -1309,8 +1336,8 @@ msgstr "Datoteka" msgid "Filename" msgstr "Datoteka" -#: src/component/navigation.vue:1930 src/component/photo/edit/dialog.vue:267 -#: src/component/photo/edit/dialog.vue:284 +#: src/component/navigation.vue:1973 src/component/photo/edit/dialog.vue:279 +#: src/component/photo/edit/dialog.vue:298 msgid "Files" msgstr "Datoteke" @@ -1322,26 +1349,26 @@ msgstr "Datoteke s uzastopnim nazivima poput 'IMG_1234 (2)' i 'IMG_1234 (3)' pri msgid "First page" msgstr "Prva stranica" -#: src/component/photo/edit/details.vue:465 +#: src/component/photo/edit/details.vue:439 msgid "Focal Length" msgstr "Žarišna duljina" -#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:118 -#: src/component/service/edit.vue:189 src/component/service/edit.vue:194 -#: src/component/service/upload.vue:90 src/component/service/upload.vue:96 +#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:119 +#: src/component/service/edit.vue:190 src/component/service/edit.vue:195 +#: src/component/service/upload.vue:91 src/component/service/upload.vue:97 #: src/model/folder.js:199 src/page/library/browse.vue:182 msgid "Folder" msgstr "Mapa" -#: src/page/library/browse.vue:365 +#: src/page/library/browse.vue:367 msgid "Folder contains %{n} files" msgstr "Mapa sadrži sljedeći broj datoteka: %{n}" -#: src/page/library/browse.vue:356 +#: src/page/library/browse.vue:358 msgid "Folder is empty" msgstr "Mapa je prazna" -#: src/app/routes.js:202 src/component/navigation.vue:1225 +#: src/app/routes.js:210 src/component/navigation.vue:1247 #: src/options/options.js:207 msgid "Folders" msgstr "Mape" @@ -1358,7 +1385,7 @@ msgstr "FPS" msgid "Frames" msgstr "Okviri" -#: src/options/auth.js:54 src/options/auth.js:64 +#: src/options/auth.js:55 src/options/auth.js:65 msgid "Full Access" msgstr "Puni pristup" @@ -1370,7 +1397,7 @@ msgstr "Puni zaslon" msgid "General" msgstr "Općenito" -#: src/component/settings/apps.vue:364 +#: src/component/settings/apps.vue:367 msgid "Generate" msgstr "Generirati" @@ -1390,8 +1417,8 @@ msgstr "Generirano" msgid "Get Started" msgstr "Započnite" -#: src/component/user/edit/dialog.vue:120 -#: src/component/user/edit/dialog.vue:121 src/page/settings/account.vue:106 +#: src/component/user/edit/dialog.vue:121 +#: src/component/user/edit/dialog.vue:122 src/page/settings/account.vue:106 #: src/page/settings/account.vue:108 msgid "Given Name" msgstr "Originalno ime" @@ -1416,7 +1443,7 @@ msgstr "Zelena" msgid "Grey" msgstr "Siva" -#: src/options/admin.js:22 src/options/auth.js:10 +#: src/options/admin.js:26 src/options/auth.js:11 msgid "Guest" msgstr "Gost" @@ -1432,15 +1459,15 @@ msgstr "Pomoć" msgid "Help & Support" msgstr "Pomoć i podrška" -#: src/component/navigation.vue:1327 src/component/people/edit/dialog.vue:98 +#: src/component/navigation.vue:1351 src/component/people/edit/dialog.vue:99 msgid "Hidden" msgstr "Skriveno" -#: src/app/routes.js:358 +#: src/app/routes.js:366 msgid "Hidden Files" msgstr "Skrivene datoteke" -#: src/page/people/new.vue:165 src/page/people/recognized.vue:205 +#: src/page/people/new.vue:166 src/page/people/recognized.vue:206 msgid "Hide" msgstr "Sakriti" @@ -1456,7 +1483,7 @@ msgstr "Visoko" msgid "High Dynamic Range (HDR)" msgstr "Visoki dinamički raspon (HDR)" -#: src/page/about/feedback.vue:103 +#: src/page/about/feedback.vue:104 msgid "How can we help?" msgstr "Kako možemo pomoći?" @@ -1464,11 +1491,11 @@ msgstr "Kako možemo pomoći?" msgid "Hybrid" msgstr "Hibrid" -#: src/component/settings/passcode.vue:389 +#: src/component/settings/passcode.vue:392 msgid "If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account." msgstr "Ako izgubite pristup aplikaciji ili uređaju za autentifikaciju, možete upotrijebiti svoj kod za oporavak kako biste ponovno dobili pristup svom računu." -#: src/component/photo/edit/info.vue:63 src/component/photo/edit/labels.vue:46 +#: src/component/photo/edit/info.vue:65 src/component/photo/edit/labels.vue:46 #: src/component/photo/view/cards.vue:532 src/model/file.js:218 #: src/options/options.js:281 msgid "Image" @@ -1478,7 +1505,7 @@ msgstr "Slika" msgid "Image Quality" msgstr "Kvaliteta slike" -#: src/page/library.vue:46 src/page/library/import.vue:152 +#: src/page/library.vue:46 src/page/library/import.vue:153 #: src/page/settings/general.vue:357 msgid "Import" msgstr "Uvoz" @@ -1503,8 +1530,8 @@ msgstr "Uvoz %{s}…" msgid "Importing files to originals…" msgstr "Uvoz datoteka u originale…" -#: src/component/photo/edit/files.vue:515 -#: src/component/photo/edit/files.vue:520 +#: src/component/photo/edit/files.vue:517 +#: src/component/photo/edit/files.vue:522 msgid "in" msgstr "u" @@ -1522,11 +1549,11 @@ msgstr "Uključite RAW slikovne datoteke prilikom preuzimanja nizova i arhiva." msgid "Include sidecar files when downloading stacks and archives." msgstr "Uključite pomoćne datoteke prilikom preuzimanja nizova i arhiva." -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Increase storage size or delete files to continue." msgstr "Povećajte veličinu pohrane ili izbrišite datoteke za nastavak." -#: src/component/navigation.vue:1946 src/page/library.vue:36 +#: src/component/navigation.vue:1990 src/page/library.vue:36 #: src/page/settings/content.vue:34 msgid "Index" msgstr "Početna" @@ -1556,11 +1583,11 @@ msgstr "Informacija" msgid "Instance ID" msgstr "ID instance" -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Insufficient storage." msgstr "Nedovoljno prostora za pohranu." -#: src/component/service/edit.vue:209 +#: src/component/service/edit.vue:210 msgid "Interval" msgstr "Interval" @@ -1581,7 +1608,7 @@ msgstr "Nevažeća adresa" msgid "Invalid country" msgstr "Nevažeća država" -#: src/component/photo/edit/details.vue:174 +#: src/component/photo/edit/details.vue:169 msgid "Invalid date" msgstr "Nevažeći datum" @@ -1590,7 +1617,7 @@ msgstr "Nevažeći datum" msgid "Invalid parameters" msgstr "Nevažeći datum" -#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:197 +#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:199 msgid "Invalid photo selected" msgstr "Odabrana je nevažeća fotografija" @@ -1602,8 +1629,8 @@ msgstr "Nevažeće vrijeme" msgid "Invalid URL" msgstr "Nevažeći URL" -#: src/component/settings/passcode.vue:314 -#: src/component/settings/passcode.vue:391 +#: src/component/settings/passcode.vue:317 +#: src/component/settings/passcode.vue:394 msgid "It is a one-time use code that will disable 2FA for your account when you use it." msgstr "To je jednokratni kod koji će onemogućiti 2FA za vaš račun kada ga koristite." @@ -1627,7 +1654,7 @@ msgstr "Ograničenje veličine JPEG-a: %{n}px" msgid "JPEGs and thumbnails are automatically rendered as needed." msgstr "JPEG i sličice se automatski prikazuju prema potrebi." -#: src/component/photo/edit/details.vue:581 +#: src/component/photo/edit/details.vue:555 msgid "Keywords" msgstr "Ključne riječi" @@ -1636,9 +1663,9 @@ msgstr "Ključne riječi" msgid "Label" msgstr "Oznaka" -#: src/app/routes.js:389 src/component/navigation.vue:1177 -#: src/component/photo/edit/dialog.vue:188 -#: src/component/photo/edit/dialog.vue:205 src/options/options.js:206 +#: src/app/routes.js:397 src/component/navigation.vue:1197 +#: src/component/photo/edit/dialog.vue:196 +#: src/component/photo/edit/dialog.vue:215 src/options/options.js:206 #: src/page/settings/general.vue:255 msgid "Labels" msgstr "Oznake" @@ -1655,11 +1682,11 @@ msgstr "Lanczos: očuvanje detalja, minimalni artefakti" msgid "Language" msgstr "Jezik" -#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:435 +#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:440 msgid "Last Active" msgstr "Zadnje aktivno" -#: src/page/admin/users.vue:81 +#: src/page/admin/users.vue:83 msgid "Last Login" msgstr "Zadnja prijava" @@ -1675,42 +1702,41 @@ msgstr "Zadnja sinkronizacija" msgid "Last Used" msgstr "Zadnje korišteno" -#: src/component/photo/edit/details.vue:298 #: src/component/photo/edit/info.vue:373 msgid "Latitude" msgstr "Zemljopisna širina" -#: src/options/admin.js:43 src/options/auth.js:29 +#: src/options/admin.js:47 src/options/auth.js:30 msgid "LDAP/AD" msgstr "LDAP/AD" -#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:86 -#: src/page/about/about.vue:62 src/page/about/about.vue:132 +#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:87 +#: src/page/about/about.vue:62 src/page/about/about.vue:133 #: src/page/connect.vue:67 src/page/help.vue:36 msgid "Learn more" msgstr "Saznajte više" -#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:135 +#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:137 #: src/page/labels.vue:132 msgid "Learn More" msgstr "Saznajte više" -#: src/component/navigation.vue:2017 +#: src/component/navigation.vue:2066 msgid "Legal Information" msgstr "Legalna informacija" -#: src/component/photo/edit/details.vue:417 +#: src/component/photo/edit/details.vue:391 #: src/component/photo/view/cards.vue:480 msgid "Lens" msgstr "Leće" -#: src/app/routes.js:443 src/app/routes.js:459 src/app/routes.js:475 -#: src/component/navigation.vue:1267 src/page/settings/general.vue:507 +#: src/app/routes.js:451 src/app/routes.js:467 src/app/routes.js:483 +#: src/component/navigation.vue:1290 src/page/settings/general.vue:507 msgid "Library" msgstr "Zbirka" #: src/page/connect.vue:45 src/app/routes.js:69 -#: src/component/navigation.vue:1478 src/component/photo/edit/details.vue:559 +#: src/component/navigation.vue:1504 src/component/photo/edit/details.vue:533 #: src/page/about/license.vue:28 msgid "License" msgstr "Licenca" @@ -1723,7 +1749,7 @@ msgstr "Sviđa mi se" msgid "Lime" msgstr "Vapno" -#: src/page/library/browse.vue:369 +#: src/page/library/browse.vue:371 msgid "Limit reached, showing first %{n} files" msgstr "Dosegnuto je ograničenje, prikazuje prvih %{n} datoteka" @@ -1731,7 +1757,7 @@ msgstr "Dosegnuto je ograničenje, prikazuje prvih %{n} datoteka" msgid "Linear: Very Smooth, Best Performance" msgstr "Linearno: vrlo glatko, najbolja izvedba" -#: src/model/link.js:117 src/options/auth.js:30 src/options/auth.js:31 +#: src/model/link.js:117 src/options/auth.js:31 src/options/auth.js:32 msgid "Link" msgstr "Poveznica" @@ -1749,7 +1775,7 @@ msgstr "Prikaz popisa" msgid "Live" msgstr "Uživo" -#: src/app/routes.js:236 src/component/navigation.vue:749 +#: src/app/routes.js:244 src/component/navigation.vue:755 msgid "Live Photos" msgstr "Slike" @@ -1765,21 +1791,24 @@ msgstr "Učitavanje stavki..." msgid "Loading..." msgstr "Učitavanje..." -#: src/options/admin.js:35 src/options/auth.js:22 src/options/auth.js:27 +#: src/options/admin.js:39 src/options/auth.js:23 src/options/auth.js:28 #: src/options/options.js:38 src/page/settings/general.vue:107 msgid "Local" msgstr "Lokalni" -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Local Time" msgstr "Lokalno vrijeme" -#: src/page/settings/account.vue:665 src/page/settings/account.vue:667 -#: src/component/album/edit/dialog.vue:92 src/component/photo/edit/info.vue:65 -#: src/component/photo/edit/labels.vue:48 +#: src/page/settings/account.vue:671 src/page/settings/account.vue:673 +#: src/component/album/edit/dialog.vue:93 +#: src/component/photo/edit/details.vue:38 +#: src/component/photo/edit/details.vue:116 +#: src/component/photo/edit/details.vue:210 +#: src/component/photo/edit/info.vue:67 src/component/photo/edit/labels.vue:48 #: src/component/photo/view/cards.vue:555 src/component/photo/view/list.vue:117 -#: src/component/sidebar/info.vue:107 src/page/albums.vue:99 -#: src/page/settings/account.vue:557 src/page/settings/account.vue:559 +#: src/component/sidebar/info.vue:107 src/page/albums.vue:100 +#: src/page/settings/account.vue:563 src/page/settings/account.vue:565 msgid "Location" msgstr "Lokacija" @@ -1787,20 +1816,19 @@ msgstr "Lokacija" msgid "Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues." msgstr "Poruke dnevnika pojavljuju se ovdje kad god PhotoPrism naiđe na pokvarene datoteke ili postoje drugi potencijalni problemi." -#: src/component/navigation.vue:1552 src/component/navigation.vue:1840 +#: src/component/navigation.vue:1579 src/component/navigation.vue:1877 msgid "Login" msgstr "Prijava" -#: src/component/navigation.vue:1759 +#: src/component/navigation.vue:1791 msgid "Logout" msgstr "Odjava" -#: src/component/navigation.vue:1962 src/page/library.vue:59 +#: src/component/navigation.vue:2007 src/page/library.vue:59 #: src/page/settings/general.vue:557 msgid "Logs" msgstr "Dnevnici" -#: src/component/photo/edit/details.vue:324 #: src/component/photo/edit/info.vue:379 msgid "Longitude" msgstr "Zemljopisna dužina" @@ -1813,7 +1841,7 @@ msgstr "Nisko" msgid "Magenta" msgstr "Magenta" -#: src/component/photo/edit/files.vue:489 +#: src/component/photo/edit/files.vue:491 msgid "Main Color" msgstr "Glavna Boja" @@ -1821,12 +1849,16 @@ msgstr "Glavna Boja" msgid "Male" msgstr "Muški" -#: src/page/connect.vue:164 src/page/connect.vue:246 -#: src/page/about/about.vue:171 src/page/connect.vue:168 -#: src/page/connect.vue:255 +#: src/page/connect.vue:165 src/page/connect.vue:248 +#: src/page/about/about.vue:173 src/page/connect.vue:169 +#: src/page/connect.vue:257 msgid "Manage Account" msgstr "Upravljaj računom" +#: src/options/admin.js:10 src/options/auth.js:7 +msgid "Manager" +msgstr "Menadžer" + #: src/component/photo/edit/info.vue:49 src/component/photo/edit/labels.vue:38 msgid "Manual" msgstr "Priručnik" @@ -1843,11 +1875,11 @@ msgstr "Karte" msgid "Marker" msgstr "Marker" -#: src/component/user/add/dialog.vue:69 +#: src/component/user/add/dialog.vue:70 msgid "Maximum number of accounts has been reached." msgstr "Dosegnut je maksimalan broj računa." -#: src/app/routes.js:229 src/component/navigation.vue:688 +#: src/app/routes.js:237 src/component/navigation.vue:693 #: src/options/options.js:199 msgid "Media" msgstr "Mediji" @@ -1864,7 +1896,7 @@ msgstr "Članstvo" msgid "Merge %{a} with %{b}?" msgstr "Spojiti %{a} s %{b}?" -#: src/page/about/feedback.vue:102 +#: src/page/about/feedback.vue:103 msgid "Message" msgstr "Poruka" @@ -1876,7 +1908,7 @@ msgstr "Poruka je poslana" msgid "Metadata" msgstr "Metapodaci" -#: src/options/auth.js:56 src/options/auth.js:72 +#: src/options/auth.js:57 src/options/auth.js:73 msgid "Metrics" msgstr "Metrika" @@ -1884,7 +1916,7 @@ msgstr "Metrika" msgid "Minimize" msgstr "Minimiziraj" -#: src/component/photo/edit/files.vue:509 src/component/photo/edit/info.vue:367 +#: src/component/photo/edit/files.vue:511 src/component/photo/edit/info.vue:367 msgid "Missing" msgstr "Nedostaje" @@ -1892,17 +1924,17 @@ msgstr "Nedostaje" msgid "Missing or invalid configuration" msgstr "Konfiguracija nedostaje ili nije valjana" -#: src/app/routes.js:163 src/component/navigation.vue:1129 +#: src/app/routes.js:171 src/component/navigation.vue:1147 #: src/options/options.js:205 src/page/settings/general.vue:230 msgid "Moments" msgstr "Trenuci" -#: src/component/navigation.vue:383 +#: src/component/navigation.vue:385 msgid "Monochrome" msgstr "Jednobojna" -#: src/page/settings/account.vue:475 src/component/photo/edit/details.vue:137 -#: src/component/photo/toolbar.vue:342 +#: src/page/settings/account.vue:481 src/component/photo/edit/details.vue:139 +#: src/component/photo/toolbar.vue:344 msgid "Month" msgstr "Mjesec" @@ -1922,7 +1954,7 @@ msgstr "Najvažnije" msgid "Move Files" msgstr "Premjesti datoteke" -#: src/component/settings/password.vue:107 +#: src/component/settings/password.vue:108 msgid "Must have at least %{n} characters." msgstr "Mora imati najmanje %{n} znakova." @@ -1930,20 +1962,20 @@ msgstr "Mora imati najmanje %{n} znakova." msgid "Mute" msgstr "Isključi zvuk" -#: src/page/about/feedback.vue:121 src/page/about/feedback.vue:122 -#: src/component/album/edit/dialog.vue:77 -#: src/component/label/edit/dialog.vue:71 -#: src/component/people/edit/dialog.vue:71 -#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:57 +#: src/page/about/feedback.vue:122 src/page/about/feedback.vue:123 +#: src/component/album/edit/dialog.vue:78 +#: src/component/label/edit/dialog.vue:72 +#: src/component/people/edit/dialog.vue:72 +#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:59 #: src/component/photo/edit/info.vue:125 src/component/photo/edit/people.vue:36 -#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:310 -#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:286 -#: src/page/albums.vue:98 src/page/auth/login.vue:168 +#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:311 +#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:289 +#: src/page/albums.vue:99 src/page/auth/login.vue:168 #: src/page/people/new.vue:68 src/page/settings/services.vue:37 msgid "Name" msgstr "Ime" -#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:60 +#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:65 #: src/component/label/edit/dialog.vue:19 #: src/component/people/edit/dialog.vue:19 #: src/component/photo/edit/labels.vue:30 @@ -1953,7 +1985,7 @@ msgstr "Ime" msgid "Name too long" msgstr "Ime predugo" -#: src/page/admin/users.vue:204 src/options/options.js:361 +#: src/page/admin/users.vue:206 src/options/options.js:361 #: src/options/options.js:371 src/page/settings/services.vue:75 msgid "Never" msgstr "Nikad" @@ -1962,13 +1994,13 @@ msgstr "Nikad" msgid "New" msgstr "Novi" -#: src/component/settings/password.vue:106 +#: src/component/settings/password.vue:107 msgid "New Password" msgstr "Nova lozinka" #: src/component/album/edit/dialog.vue:24 src/component/photo/toolbar.vue:114 #: src/component/photo/toolbar.vue:126 src/component/photo/toolbar.vue:136 -#: src/page/albums.vue:100 +#: src/page/albums.vue:101 msgid "Newest First" msgstr "Prvo najnovije" @@ -1984,15 +2016,15 @@ msgstr "Sljedeća stranica" msgid "Next visual" msgstr "Sljedeći vizual" -#: src/component/people/merge/dialog.vue:47 -#: src/component/photo/archive/dialog.vue:47 +#: src/component/people/merge/dialog.vue:48 +#: src/component/photo/archive/dialog.vue:48 #: src/component/photo/edit/info.vue:281 src/component/photo/edit/info.vue:297 #: src/component/photo/edit/info.vue:313 src/component/photo/edit/info.vue:329 #: src/component/photo/edit/info.vue:344 msgid "No" msgstr "Ne" -#: src/page/albums.vue:607 src/page/albums.vue:282 +#: src/page/albums.vue:612 src/page/albums.vue:282 msgid "No albums found" msgstr "Nije pronađen nijedan album" @@ -2000,7 +2032,7 @@ msgstr "Nije pronađen nijedan album" msgid "No data available" msgstr "Nema dostupnih podataka" -#: src/page/labels.vue:523 src/page/labels.vue:155 +#: src/page/labels.vue:528 src/page/labels.vue:155 msgid "No labels found" msgstr "Nije pronađena nijedna oznaka" @@ -2013,15 +2045,15 @@ msgid "No more" msgstr "Nema više" #: src/component/photo/edit/people.vue:34 src/page/people/new.vue:346 -#: src/page/people/new.vue:443 src/page/people/new.vue:103 -#: src/page/people/recognized.vue:531 src/page/people/recognized.vue:146 +#: src/page/people/new.vue:446 src/page/people/new.vue:103 +#: src/page/people/recognized.vue:536 src/page/people/recognized.vue:146 msgid "No people found" msgstr "Nisu pronađeni ljudi" #: src/component/lightbox.vue:365 src/component/photo/view/cards.vue:144 #: src/component/photo/view/list.vue:82 src/component/photo/view/mosaic.vue:68 -#: src/page/album/photos.vue:488 src/page/library/browse.vue:123 -#: src/page/photos.vue:626 src/page/places.vue:624 src/page/places.vue:730 +#: src/page/album/photos.vue:499 src/page/library/browse.vue:123 +#: src/page/photos.vue:636 src/page/places.vue:624 src/page/places.vue:730 msgid "No pictures found" msgstr "Nema pronađenih slika" @@ -2030,7 +2062,11 @@ msgstr "Nema pronađenih slika" msgid "No recently edited pictures" msgstr "Nema nedavno uređenih slika" -#: src/component/navigation.vue:1655 +#: src/component/location/dialog.vue:166 +msgid "No results" +msgstr "Nema rezultata" + +#: src/component/navigation.vue:1686 msgid "No server connection" msgstr "Nema veze s poslužiteljem" @@ -2042,7 +2078,7 @@ msgstr "Nema konfiguriranih poslužitelja." msgid "No services configured." msgstr "Nema konfiguriranih poslužitelja." -#: src/component/confirm/sponsor.vue:72 +#: src/component/confirm/sponsor.vue:73 msgid "No thanks" msgstr "Ne hvala" @@ -2052,17 +2088,17 @@ msgstr "Nema upozorenja ili pogreške koje sadrže ovu ključnu riječ. Imajte n #: src/component/photo/view/cards.vue:154 src/component/photo/view/list.vue:59 #: src/component/photo/view/list.vue:92 src/component/photo/view/mosaic.vue:78 -#: src/component/upload/dialog.vue:208 +#: src/component/upload/dialog.vue:210 msgid "Non-photographic and low-quality images require a review before they appear in search results." msgstr "Nefotografske slike i slike niske kvalitete zahtijevaju pregled prije nego što se pojave u rezultatima pretraživanja." -#: src/options/admin.js:47 src/options/auth.js:32 src/options/options.js:212 +#: src/options/admin.js:51 src/options/auth.js:33 src/options/options.js:212 #: src/options/options.js:328 msgid "None" msgstr "Nijedan" -#: src/common/util.js:853 src/component/lightbox.vue:633 -#: src/component/service/upload.vue:75 src/component/service/upload.vue:87 +#: src/component/lightbox.vue:633 src/component/service/upload.vue:75 +#: src/component/service/upload.vue:87 msgid "Not allowed" msgstr "Nije dopušteno" @@ -2074,8 +2110,7 @@ msgstr "Nije pronađeno" msgid "Not sorted." msgstr "Nije sortirano." -#: src/common/util.js:858 src/component/lightbox.vue:627 -#: src/component/lightbox.vue:744 +#: src/component/lightbox.vue:627 src/component/lightbox.vue:744 msgid "Not supported" msgstr "Nije podržano" @@ -2083,15 +2118,15 @@ msgstr "Nije podržano" msgid "Note you may manually manage your originals folder and importing is optional." msgstr "Imajte na umu da svoju mapu izvornika možete ručno upravljati, a uvoz nije obavezan." -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "Note:" msgstr "Bilješka:" -#: src/component/service/add.vue:120 +#: src/component/service/add.vue:121 msgid "Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload." msgstr "Napomena: Samo WebDAV poslužitelji, kao što su Nextcloud ili PhotoPrism, mogu se konfigurirati kao udaljeni servis za sigurnosno kopiranje i prijenos datoteka." -#: src/component/photo/edit/details.vue:603 +#: src/component/photo/edit/details.vue:577 msgid "Notes" msgstr "Napomene" @@ -2099,8 +2134,8 @@ msgstr "Napomene" msgid "Nothing to see here yet." msgstr "Ovdje se još nema što vidjeti. Budi strpljiv." -#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:115 -#: src/component/settings/apps.vue:390 +#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:125 +#: src/component/settings/apps.vue:393 msgid "Nothing was found." msgstr "Ništa nije pronađeno." @@ -2108,7 +2143,7 @@ msgstr "Ništa nije pronađeno." msgid "Offline" msgstr "Offline" -#: src/options/admin.js:39 src/options/auth.js:28 +#: src/options/admin.js:43 src/options/auth.js:29 msgid "OIDC" msgstr "OIDC" @@ -2118,11 +2153,11 @@ msgstr "U REDU" #: src/component/album/edit/dialog.vue:25 src/component/photo/toolbar.vue:115 #: src/component/photo/toolbar.vue:127 src/component/photo/toolbar.vue:137 -#: src/page/albums.vue:101 +#: src/page/albums.vue:102 msgid "Oldest First" msgstr "Prvo najstariji" -#: src/component/settings/webdav.vue:77 +#: src/component/settings/webdav.vue:78 msgid "On Windows, enter the following resource in the connection dialog:" msgstr "U sustavu Windows unesite sljedeći resurs u dijaloški okvir za povezivanje:" @@ -2134,11 +2169,11 @@ msgstr "Generiranje minijatura na zahtjev može uzrokovati visoku upotrebu proce msgid "Once a week" msgstr "Jednom tjedno" -#: src/page/albums.vue:609 +#: src/page/albums.vue:614 msgid "One album found" msgstr "Pronađen jedan album" -#: src/page/library/browse.vue:358 +#: src/page/library/browse.vue:360 msgid "One file found" msgstr "Pronađena je jedna datoteka" @@ -2146,24 +2181,24 @@ msgstr "Pronađena je jedna datoteka" msgid "One file uploaded" msgstr "Prenesena je jedna datoteka" -#: src/page/library/browse.vue:360 +#: src/page/library/browse.vue:362 msgid "One folder found" msgstr "Pronađena je jedna mapa" -#: src/page/labels.vue:525 +#: src/page/labels.vue:530 msgid "One label found" msgstr "Pronađena je jedna oznaka" -#: src/page/people/new.vue:348 src/page/people/new.vue:445 -#: src/page/people/recognized.vue:533 +#: src/page/people/new.vue:348 src/page/people/new.vue:448 +#: src/page/people/recognized.vue:538 msgid "One person found" msgstr "Pronađena jedna osoba" -#: src/page/album/photos.vue:490 src/page/photos.vue:628 +#: src/page/album/photos.vue:501 src/page/photos.vue:638 msgid "One picture found" msgstr "Pronađena jedna slika" -#: src/component/settings/passcode.vue:478 +#: src/component/settings/passcode.vue:481 msgid "Only locally managed accounts can be set up for authentication with 2FA." msgstr "Samo lokalno upravljani računi mogu se postaviti za autentifikaciju s 2FA." @@ -2171,7 +2206,7 @@ msgstr "Samo lokalno upravljani računi mogu se postaviti za autentifikaciju s 2 msgid "Open" msgstr "Otvoren" -#: src/component/service/add.vue:86 src/component/service/add.vue:107 +#: src/component/service/add.vue:87 src/component/service/add.vue:108 msgid "optional" msgstr "neobavezan" @@ -2183,7 +2218,7 @@ msgstr "ili" msgid "Orange" msgstr "Narančasta" -#: src/page/settings/account.vue:571 src/page/settings/account.vue:573 +#: src/page/settings/account.vue:577 src/page/settings/account.vue:579 msgid "Organization" msgstr "Usmjerenje" @@ -2199,7 +2234,7 @@ msgstr "Izvorni nazivi datoteka bit će pohranjeni i indeksirani." msgid "Original Name" msgstr "Originalno ime" -#: src/component/navigation.vue:1304 src/model/file.js:196 +#: src/component/navigation.vue:1328 src/model/file.js:196 #: src/options/options.js:413 src/page/library/browse.vue:65 #: src/page/settings/content.vue:356 src/page/settings/general.vue:532 msgid "Originals" @@ -2210,7 +2245,7 @@ msgstr "Originali" msgid "Other" msgstr "Ostalo" -#: src/page/about/about.vue:77 src/page/about/about.vue:83 +#: src/page/about/about.vue:78 src/page/about/about.vue:84 msgid "Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible." msgstr "Naša misija je pružiti rješenje koje najviše odgovara korisnicima i privatnosti kako bi vaše slike bile organizirane i dostupne." @@ -2222,7 +2257,7 @@ msgstr "Vanjski" msgid "Page {0}, Current page" msgstr "Stranica {0}, trenutna stranica" -#: src/component/photo/edit/files.vue:352 src/model/photo.js:859 +#: src/component/photo/edit/files.vue:352 src/model/photo.js:896 msgid "Pages" msgstr "Stranice" @@ -2234,15 +2269,15 @@ msgstr "Navigacija po stranicama" msgid "Panorama" msgstr "Panorama" -#: src/component/navigation.vue:402 +#: src/component/navigation.vue:404 msgid "Panoramas" msgstr "Panorame" -#: src/component/user/add/dialog.vue:114 src/component/user/add/dialog.vue:115 -#: src/component/service/add.vue:106 src/component/service/edit.vue:352 -#: src/component/settings/apps.vue:121 src/component/settings/passcode.vue:106 -#: src/component/settings/passcode.vue:413 src/component/share/dialog.vue:27 -#: src/options/auth.js:91 src/page/auth/login.vue:196 +#: src/component/user/add/dialog.vue:115 src/component/user/add/dialog.vue:116 +#: src/component/service/add.vue:107 src/component/service/edit.vue:353 +#: src/component/settings/apps.vue:124 src/component/settings/passcode.vue:109 +#: src/component/settings/passcode.vue:416 src/component/share/dialog.vue:27 +#: src/options/auth.js:92 src/page/auth/login.vue:196 msgid "Password" msgstr "Lozinka" @@ -2250,9 +2285,9 @@ msgstr "Lozinka" msgid "Password changed" msgstr "Lozinka je promijenjena" -#: src/app/routes.js:404 src/app/routes.js:428 src/component/navigation.vue:845 -#: src/component/navigation.vue:1898 src/component/photo/edit/dialog.vue:228 -#: src/component/photo/edit/dialog.vue:245 src/options/options.js:201 +#: src/app/routes.js:412 src/app/routes.js:436 src/component/navigation.vue:853 +#: src/component/navigation.vue:1939 src/component/photo/edit/dialog.vue:238 +#: src/component/photo/edit/dialog.vue:257 src/options/options.js:201 #: src/page/settings/general.vue:180 msgid "People" msgstr "Ljudi" @@ -2273,23 +2308,23 @@ msgstr "Trajno uklonite datoteke da biste oslobodili prostor za pohranu." msgid "Person" msgstr "Osoba" -#: src/options/auth.js:42 +#: src/options/auth.js:43 msgid "Personal" msgstr "Osobno" -#: src/model/photo.js:1273 +#: src/model/photo.js:1310 msgid "Photo" msgstr "Fotografija" -#: src/page/about/about.vue:156 +#: src/page/about/about.vue:158 msgid "PhotoPrism is 100% self-funded and independent." msgstr "PhotoPrism je 100% samofinancirajući i neovisan." -#: src/page/about/about.vue:92 +#: src/page/about/about.vue:93 msgid "PhotoPrism+ Membership" msgstr "Članstvo u PhotoPrism+" -#: src/app/routes.js:156 +#: src/app/routes.js:164 msgid "Photos" msgstr "Slike" @@ -2310,27 +2345,27 @@ msgstr "Mjesto" msgid "Place & Time" msgstr "Mjesto i vrijeme" -#: src/app/routes.js:303 src/app/routes.js:309 src/app/routes.js:315 -#: src/app/routes.js:330 src/component/navigation.vue:986 -#: src/component/navigation.vue:1914 src/options/options.js:203 +#: src/app/routes.js:311 src/app/routes.js:317 src/app/routes.js:323 +#: src/app/routes.js:338 src/component/navigation.vue:999 +#: src/component/navigation.vue:1956 src/options/options.js:203 #: src/page/places.vue:51 src/page/settings/general.vue:609 #: src/page/settings/general.vue:638 msgid "Places" msgstr "Mjesta" -#: src/component/settings/password.vue:129 +#: src/component/settings/password.vue:130 msgid "Please confirm your new password." msgstr "Molimo potvrdite svoju novu lozinku." -#: src/component/settings/apps.vue:185 +#: src/component/settings/apps.vue:188 msgid "Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:" msgstr "Kopirajte sljedeću nasumično generiranu lozinku aplikacije i čuvajte je na sigurnom mjestu jer je više nećete moći vidjeti:" -#: src/component/upload/dialog.vue:203 +#: src/component/upload/dialog.vue:205 msgid "Please do not upload any private, unlawful or offensive pictures." msgstr "Molimo nemojte postavljati nikakve privatne, nezakonite ili uvredljive slike." -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Please don't upload photos containing offensive content." msgstr "Nemojte učitavati fotografije koje sadrže uvredljiv sadržaj." @@ -2338,11 +2373,11 @@ msgstr "Nemojte učitavati fotografije koje sadrže uvredljiv sadržaj." msgid "Please enter OTP character {0}" msgstr "Unesite OTP znak {0}" -#: src/component/settings/password.vue:66 +#: src/component/settings/password.vue:67 msgid "Please note that changing your password will log you out on other devices and browsers." msgstr "Imajte na umu da ćete se promjenom lozinke odjaviti s drugih uređaja i preglednika." -#: src/page/connect.vue:148 src/page/connect.vue:152 +#: src/page/connect.vue:149 src/page/connect.vue:153 msgid "Please restart your instance for the changes to take effect." msgstr "Ponovno pokrenite svoju instancu kako bi promjene stupile na snagu." @@ -2362,11 +2397,11 @@ msgstr "Ograničenje veličine PNG-a: %{n}px" msgid "Portrait" msgstr "Portret" -#: src/component/service/edit.vue:273 +#: src/component/service/edit.vue:274 msgid "Preserve filenames" msgstr "Sačuvajte nazive datoteka" -#: src/component/upload/dialog.vue:162 +#: src/component/upload/dialog.vue:164 msgid "Press enter to create a new album." msgstr "Pritisnite enter za stvaranje novog albuma." @@ -2403,8 +2438,8 @@ msgstr "Prethodni vizualni prikaz" msgid "Primary" msgstr "Glavni" -#: src/app/routes.js:271 src/component/album/edit/dialog.vue:176 -#: src/component/navigation.vue:531 src/component/photo/edit/info.vue:303 +#: src/app/routes.js:279 src/component/album/edit/dialog.vue:177 +#: src/component/navigation.vue:533 src/component/photo/edit/info.vue:303 #: src/page/settings/general.vue:280 msgid "Private" msgstr "Privatno" @@ -2429,7 +2464,7 @@ msgstr "Filter kvalitete" msgid "Quality Score" msgstr "Ocjena kvalitete" -#: src/page/admin/users.vue:169 +#: src/page/admin/users.vue:171 msgid "r" msgstr "r" @@ -2460,7 +2495,7 @@ msgstr "Način samo za čitanje" #: src/component/album/edit/dialog.vue:26 src/component/photo/toolbar.vue:116 #: src/component/photo/toolbar.vue:128 src/component/photo/toolbar.vue:138 -#: src/page/albums.vue:102 +#: src/page/albums.vue:103 msgid "Recently Added" msgstr "Nedavno dodano" @@ -2468,7 +2503,7 @@ msgstr "Nedavno dodano" msgid "Recently Archived" msgstr "Nedavno arhivirano" -#: src/component/photo/toolbar.vue:139 src/page/albums.vue:103 +#: src/component/photo/toolbar.vue:139 src/page/albums.vue:104 msgid "Recently Edited" msgstr "Nedavno uređeno" @@ -2493,24 +2528,24 @@ msgstr "Kod za oporavak" msgid "Red" msgstr "Crvena" -#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:126 -#: src/component/album/toolbar.vue:79 src/component/photo/toolbar.vue:169 -#: src/page/albums.vue:173 src/page/labels.vue:112 +#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:128 +#: src/component/album/toolbar.vue:84 src/component/photo/toolbar.vue:169 +#: src/page/albums.vue:175 src/page/labels.vue:112 #: src/page/library/browse.vue:90 src/page/library/errors.vue:81 #: src/page/people/new.vue:54 src/page/people/recognized.vue:88 msgid "Refresh" msgstr "Osvježiti" -#: src/app/routes.js:337 src/component/navigation.vue:943 -#: src/component/navigation.vue:1026 +#: src/app/routes.js:345 src/component/navigation.vue:955 +#: src/component/navigation.vue:1040 msgid "Regions" msgstr "regije" -#: src/page/connect.vue:275 src/page/connect.vue:284 +#: src/page/connect.vue:277 src/page/connect.vue:286 msgid "Register" msgstr "Registar" -#: src/component/navigation.vue:1773 src/component/update.vue:68 +#: src/component/navigation.vue:1806 src/component/update.vue:68 msgid "Reload" msgstr "Ponovno učitaj" @@ -2555,34 +2590,34 @@ msgstr "Zahtijevati pregled slika koje nisu fotografije i niske kvalitete prije msgid "Resolution" msgstr "Rezolucija" -#: src/page/connect.vue:179 src/page/connect.vue:183 +#: src/page/connect.vue:180 src/page/connect.vue:184 #: src/page/settings/advanced.vue:782 msgid "Restart" msgstr "Ponovno pokretanje" -#: src/component/user/edit/dialog.vue:485 src/component/lightbox.vue:1221 +#: src/component/user/edit/dialog.vue:488 src/component/lightbox.vue:1221 #: src/component/photo/clipboard.vue:77 msgid "Restore" msgstr "Obnova" -#: src/component/lightbox.vue:2000 +#: src/component/lightbox.vue:2020 msgid "Restored" msgstr "Obnovljena" -#: src/component/service/edit.vue:428 +#: src/component/service/edit.vue:429 msgid "Retry Limit" msgstr "Ograničenje ponovnog pokušaja" -#: src/component/settings/password.vue:128 +#: src/component/settings/password.vue:129 msgid "Retype Password" msgstr "Ponovno upišite lozinku" -#: src/app/routes.js:264 src/component/navigation.vue:505 +#: src/app/routes.js:272 src/component/navigation.vue:507 msgid "Review" msgstr "Recenzija" -#: src/component/user/add/dialog.vue:171 src/component/user/edit/dialog.vue:284 -#: src/page/admin/sessions.vue:262 src/page/admin/users.vue:73 +#: src/component/user/add/dialog.vue:172 src/component/user/edit/dialog.vue:285 +#: src/page/admin/sessions.vue:263 src/page/admin/users.vue:75 msgid "Role" msgstr "Uloga" @@ -2594,11 +2629,11 @@ msgstr "Redovi po stranici:" msgid "Satellite" msgstr "Satelit" -#: src/component/user/edit/dialog.vue:485 -#: src/component/album/edit/dialog.vue:211 -#: src/component/label/edit/dialog.vue:119 -#: src/component/people/edit/dialog.vue:132 src/component/service/edit.vue:466 -#: src/component/settings/password.vue:172 src/component/share/dialog.vue:181 +#: src/component/user/edit/dialog.vue:488 +#: src/component/album/edit/dialog.vue:212 +#: src/component/label/edit/dialog.vue:120 +#: src/component/people/edit/dialog.vue:133 src/component/service/edit.vue:467 +#: src/component/settings/password.vue:173 src/component/share/dialog.vue:181 msgid "Save" msgstr "Spremi" @@ -2606,23 +2641,23 @@ msgstr "Spremi" msgid "Scan" msgstr "Skeniraj" -#: src/component/settings/passcode.vue:179 +#: src/component/settings/passcode.vue:182 msgid "Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:" msgstr "Skenirajte QR kod pomoću aplikacije za autentifikaciju ili upotrijebite ključ za postavljanje prikazan u nastavku, a zatim unesite generirani kontrolni kod:" -#: src/component/navigation.vue:461 +#: src/component/navigation.vue:463 msgid "Scans" msgstr "Skenira" -#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:377 -#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:310 +#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:381 +#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:313 msgid "Scope" msgstr "Opseg" -#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:62 -#: src/component/navigation.vue:342 src/component/navigation.vue:1866 -#: src/component/photo/toolbar.vue:57 src/options/options.js:197 -#: src/page/albums.vue:100 src/page/labels.vue:77 +#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:69 +#: src/component/location/dialog.vue:133 src/component/navigation.vue:343 +#: src/component/navigation.vue:1905 src/component/photo/toolbar.vue:57 +#: src/options/options.js:197 src/page/albums.vue:100 src/page/labels.vue:77 #: src/page/library/errors.vue:76 src/page/people/recognized.vue:66 #: src/page/places.vue:79 src/page/settings/content.vue:235 msgid "Search" @@ -2660,11 +2695,11 @@ msgstr "Odaberite datum" msgid "Select dates" msgstr "Odaberite datume" -#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:154 +#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:156 msgid "Select or create an album" msgstr "Odaberite ili izradite album" -#: src/component/upload/dialog.vue:138 +#: src/component/upload/dialog.vue:140 msgid "Select the files to upload…" msgstr "Odaberite datoteke za prijenos…" @@ -2692,7 +2727,7 @@ msgstr "Odabir je vraćen" msgid "Sequential Name" msgstr "Sekvencijalni naziv" -#: src/component/service/add.vue:67 src/component/service/edit.vue:322 +#: src/component/service/add.vue:68 src/component/service/edit.vue:323 #: src/component/share/dialog.vue:25 msgid "Service URL" msgstr "URL usluge" @@ -2701,7 +2736,7 @@ msgstr "URL usluge" msgid "Services" msgstr "URL usluge" -#: src/model/session.js:107 src/options/auth.js:41 src/options/auth.js:90 +#: src/model/session.js:107 src/options/auth.js:42 src/options/auth.js:91 msgid "Session" msgstr "Sjednica" @@ -2709,7 +2744,7 @@ msgstr "Sjednica" msgid "Session ID" msgstr "ID sesije" -#: src/page/admin.vue:45 +#: src/page/admin.vue:44 msgid "Sessions" msgstr "Sjednice" @@ -2717,22 +2752,22 @@ msgstr "Sjednice" msgid "Set as Album Cover" msgstr "Postavi kao omot albuma" -#: src/app/routes.js:101 src/app/routes.js:492 src/app/routes.js:504 -#: src/app/routes.js:521 src/app/routes.js:534 src/app/routes.js:547 -#: src/component/navigation.vue:1394 src/component/navigation.vue:1806 +#: src/app/routes.js:101 src/app/routes.js:500 src/app/routes.js:512 +#: src/app/routes.js:529 src/app/routes.js:542 src/app/routes.js:555 +#: src/component/navigation.vue:1419 src/component/navigation.vue:1841 msgid "Settings" msgstr "Postavke" #: src/page/settings/account.vue:115 src/page/settings/account.vue:144 -#: src/component/settings/passcode.vue:147 +#: src/component/settings/passcode.vue:151 msgid "Settings saved" msgstr "Postavke spremljene" -#: src/component/service/upload.vue:131 src/component/settings/passcode.vue:160 +#: src/component/service/upload.vue:132 src/component/settings/passcode.vue:163 msgid "Setup" msgstr "Postavke" -#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:98 +#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:103 #: src/component/photo/clipboard.vue:51 src/page/settings/general.vue:382 msgid "Share" msgstr "Podijeli" @@ -2749,7 +2784,7 @@ msgstr "Dijelite svoje slike s drugim aplikacijama i uslugama." msgid "Show" msgstr "Prikaži" -#: src/page/people/new.vue:116 src/page/people/new.vue:233 +#: src/page/people/new.vue:116 src/page/people/new.vue:235 msgid "Show all new faces" msgstr "Pokažite sva nova lica" @@ -2794,7 +2829,7 @@ msgid "Similar" msgstr "Sličan" #: src/component/photo/edit/files.vue:51 src/component/photo/edit/files.vue:341 -#: src/component/service/edit.vue:139 src/component/sidebar/info.vue:96 +#: src/component/service/edit.vue:140 src/component/sidebar/info.vue:96 msgid "Size" msgstr "Veličina" @@ -2822,7 +2857,7 @@ msgstr "Nešto nije u redu, pokušajte ponovno" msgid "Sort by" msgstr "Poredaj po" -#: src/component/album/edit/dialog.vue:142 src/component/photo/toolbar.vue:288 +#: src/component/album/edit/dialog.vue:143 src/component/photo/toolbar.vue:290 #: src/page/albums.vue:214 msgid "Sort Order" msgstr "Redoslijed sortiranja" @@ -2857,7 +2892,7 @@ msgstr "Složite slike snimljene u točno isto vrijeme i na istom mjestu na teme msgid "Stackable" msgstr "Slaganje" -#: src/component/navigation.vue:421 src/page/settings/content.vue:136 +#: src/component/navigation.vue:423 src/page/settings/content.vue:136 msgid "Stacks" msgstr "Stogovi" @@ -2885,16 +2920,16 @@ msgstr "Pohrana" msgid "Streets" msgstr "Ulice" -#: src/component/photo/edit/details.vue:494 +#: src/component/photo/edit/details.vue:468 #: src/component/photo/edit/labels.vue:44 msgid "Subject" msgstr "Predmet" -#: src/page/about/feedback.vue:162 src/page/about/feedback.vue:163 +#: src/page/about/feedback.vue:163 src/page/about/feedback.vue:164 msgid "Submit" msgstr "Pošalji" -#: src/component/settings/passcode.vue:132 +#: src/component/settings/passcode.vue:136 msgid "Successfully activated" msgstr "Uspješno aktiviran" @@ -2903,23 +2938,23 @@ msgid "Successfully Connected" msgstr "Uspješno spojen" #: src/component/session/remove/dialog.vue:32 -#: src/component/settings/apps.vue:218 +#: src/component/settings/apps.vue:222 msgid "Successfully deleted" msgstr "Uspješno izbrisano" -#: src/component/settings/passcode.vue:107 +#: src/component/settings/passcode.vue:108 msgid "Successfully verified" msgstr "Uspješno potvrđeno" -#: src/component/user/edit/dialog.vue:398 src/page/admin/users.vue:163 +#: src/component/user/edit/dialog.vue:399 src/page/admin/users.vue:165 msgid "Super Admin" msgstr "Super Administrator" -#: src/component/service/add.vue:122 +#: src/component/service/add.vue:123 msgid "Support for additional services, like Google Drive, will be added over time." msgstr "Podrška za dodatne usluge, poput Google diska, bit će dodana s vremenom." -#: src/component/confirm/sponsor.vue:37 src/component/navigation.vue:1629 +#: src/component/confirm/sponsor.vue:38 src/component/navigation.vue:1660 msgid "Support Our Mission" msgstr "Podržite našu misiju" @@ -2927,7 +2962,7 @@ msgstr "Podržite našu misiju" msgid "Sync" msgstr "Sinkronizacija" -#: src/component/service/edit.vue:289 +#: src/component/service/edit.vue:290 msgid "Sync raw and video files" msgstr "Sinkronizirajte sirove i video datoteke" @@ -2953,23 +2988,23 @@ msgstr "Teren" msgid "Text" msgstr "Tekst" -#: src/component/photo/edit/details.vue:32 src/page/people/new.vue:71 +#: src/component/photo/edit/details.vue:40 src/page/people/new.vue:71 msgid "Text too long" msgstr "Predugačak tekst" -#: src/page/about/about.vue:145 +#: src/page/about/about.vue:146 msgid "Thank You for Your Support!" msgstr "Hvala na podršci!" -#: src/page/about/about.vue:79 src/page/about/about.vue:85 +#: src/page/about/about.vue:80 src/page/about/about.vue:86 msgid "That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality." msgstr "Zato je PhotoPrism napravljen od temelja da radi gdje god vam je potreban, bez ugrožavanja slobode, privatnosti ili funkcionalnosti." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "The index currently contains %{n} hidden files." msgstr "Indeks trenutno sadrži %{n} skrivenih datoteka." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates." msgstr "Njihov format možda nije podržan, još nisu pretvoreni u JPEG ili postoje duplikati." @@ -2984,44 +3019,44 @@ msgstr "Tema" msgid "This field is required" msgstr "Ovo polje je obavezno" -#: src/component/settings/webdav.vue:100 src/page/settings/services.vue:144 +#: src/component/settings/webdav.vue:101 src/page/settings/services.vue:147 msgid "This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local." msgstr "Time se mapa originala montira kao mrežni pogon i omogućuje vam otvaranje, uređivanje i brisanje datoteka s računala ili pametnog telefona kao da su lokalne." -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Time UTC" msgstr "Vrijeme UTC" -#: src/component/photo/edit/details.vue:219 src/page/settings/general.vue:108 +#: src/component/photo/edit/details.vue:221 src/page/settings/general.vue:108 msgid "Time Zone" msgstr "Vremenska zona" -#: src/component/service/edit.vue:408 +#: src/component/service/edit.vue:409 msgid "Timeout" msgstr "Pauza" -#: src/component/user/edit/dialog.vue:98 src/component/user/edit/dialog.vue:99 +#: src/component/user/edit/dialog.vue:99 src/component/user/edit/dialog.vue:100 #: src/page/settings/account.vue:84 src/page/settings/account.vue:86 msgctxt "Account" msgid "Title" msgstr "Naslov" -#: src/component/photo/edit/details.vue:73 +#: src/component/photo/edit/details.vue:75 msgctxt "Photo" msgid "Title" msgstr "Naslov" -#: src/component/photo/edit/info.vue:59 src/component/photo/edit/info.vue:155 +#: src/component/photo/edit/info.vue:61 src/component/photo/edit/info.vue:155 #: src/component/photo/edit/labels.vue:40 src/component/photo/view/list.vue:114 #: src/component/sidebar/info.vue:57 msgid "Title" msgstr "Naslov" -#: src/page/settings/account.vue:553 src/page/settings/account.vue:555 +#: src/page/settings/account.vue:559 src/page/settings/account.vue:561 msgid "Title / Position" msgstr "Naslov predug" -#: src/page/albums.vue:83 +#: src/page/albums.vue:84 msgid "Title too long" msgstr "Naslov predug" @@ -3029,19 +3064,19 @@ msgstr "Naslov predug" msgid "to" msgstr "do" -#: src/component/settings/passcode.vue:312 +#: src/component/settings/passcode.vue:315 msgid "To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place." msgstr "Kako biste izbjegli gubitak pristupa svom računu, sada preuzmite, ispišite ili kopirajte ovaj kod za oporavak i čuvajte ga na sigurnom mjestu." -#: src/component/settings/apps.vue:272 +#: src/component/settings/apps.vue:275 msgid "To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:" msgstr "Da biste generirali novu zaporku za određenu aplikaciju, unesite naziv i opseg autorizacije aplikacije i odaberite datum isteka:" -#: src/component/settings/passcode.vue:400 +#: src/component/settings/passcode.vue:403 msgid "To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:" msgstr "Da biste se prebacili na novu aplikaciju ili uređaj za autentifikaciju, najprije deaktivirajte dvofaktorsku autentifikaciju, a zatim je ponovno aktivirajte:" -#: src/page/connect.vue:221 src/page/connect.vue:230 +#: src/page/connect.vue:223 src/page/connect.vue:232 msgid "To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:" msgstr "Za nadogradnju možete unijeti aktivacijski kod ili kliknuti \"Registriraj se\" da biste se prijavili na našoj web stranici:" @@ -3049,7 +3084,7 @@ msgstr "Za nadogradnju možete unijeti aktivacijski kod ili kliknuti \"Registrir msgid "Today" msgstr "Danas" -#: src/component/album/toolbar.vue:70 src/component/photo/toolbar.vue:78 +#: src/component/album/toolbar.vue:71 src/component/photo/toolbar.vue:78 msgid "Toggle View" msgstr "Uključi/isključi prikaz" @@ -3076,20 +3111,24 @@ msgstr "Rješavanje problema" msgid "Try again using other filters or keywords." msgstr "Pokušajte ponovno pomoću drugih filtara ili ključnih riječi." -#: src/component/settings/passcode.vue:380 +#: src/component/settings/passcode.vue:383 msgid "Two-factor authentication has been enabled for your account." msgstr "Dvofaktorska autentifikacija je omogućena za vaš račun." #: src/component/photo/edit/files.vue:58 src/component/photo/edit/files.vue:330 -#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:388 +#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:389 msgid "Type" msgstr "Vrsta" -#: src/options/auth.js:13 +#: src/component/album/toolbar.vue:178 +msgid "Unable to delete" +msgstr "Nije moguće izbrisati" + +#: src/options/auth.js:14 msgid "Unauthorized" msgstr "Neovlašteno" -#: src/component/photo/edit/people.vue:94 +#: src/component/photo/edit/people.vue:95 msgid "Undo" msgstr "Poništi" @@ -3097,16 +3136,16 @@ msgstr "Poništi" msgid "Unique ID" msgstr "Jedinstveni ID" -#: src/page/settings/account.vue:451 src/page/settings/account.vue:476 -#: src/page/settings/account.vue:501 src/common/util.js:487 -#: src/component/photo/edit/details.vue:21 -#: src/component/photo/edit/details.vue:111 -#: src/component/photo/edit/details.vue:138 -#: src/component/photo/edit/details.vue:164 src/component/sidebar/info.vue:43 -#: src/model/album.js:193 src/model/photo.js:323 src/model/photo.js:784 -#: src/model/photo.js:809 src/model/photo.js:832 src/model/photo.js:850 -#: src/model/photo.js:897 src/model/photo.js:905 src/model/photo.js:994 -#: src/model/photo.js:1016 src/model/photo.js:1061 src/model/photo.js:1074 +#: src/page/settings/account.vue:457 src/page/settings/account.vue:482 +#: src/page/settings/account.vue:507 src/common/util.js:488 +#: src/component/photo/edit/details.vue:27 +#: src/component/photo/edit/details.vue:113 +#: src/component/photo/edit/details.vue:140 +#: src/component/photo/edit/details.vue:166 src/component/sidebar/info.vue:43 +#: src/model/album.js:193 src/model/photo.js:331 src/model/photo.js:821 +#: src/model/photo.js:846 src/model/photo.js:869 src/model/photo.js:887 +#: src/model/photo.js:934 src/model/photo.js:942 src/model/photo.js:1031 +#: src/model/photo.js:1053 src/model/photo.js:1098 src/model/photo.js:1111 #: src/model/user.js:157 src/options/options.js:51 src/options/options.js:69 #: src/options/options.js:86 src/options/options.js:100 #: src/options/options.js:112 src/page/library/errors.vue:251 @@ -3119,7 +3158,7 @@ msgstr "Nepoznato" msgid "Unregistered" msgstr "Neregistriran" -#: src/app/routes.js:215 src/component/navigation.vue:644 +#: src/app/routes.js:223 src/component/navigation.vue:648 msgid "Unsorted" msgstr "Nerazvrstano" @@ -3127,7 +3166,7 @@ msgstr "Nerazvrstano" msgid "Unstack" msgstr "Odložite" -#: src/component/photo/edit/files.vue:519 src/component/photo/edit/info.vue:416 +#: src/component/photo/edit/files.vue:521 src/component/photo/edit/info.vue:416 msgid "Updated" msgstr "Ažurirano" @@ -3143,7 +3182,7 @@ msgstr "Ažuriranje indeksa" msgid "Updating moments" msgstr "Trenuci ažuriranja" -#: src/component/user/edit/dialog.vue:154 +#: src/component/user/edit/dialog.vue:155 msgid "Updating picture…" msgstr "Ažuriranje pregleda" @@ -3155,21 +3194,21 @@ msgstr "Ažuriranje pregleda" msgid "Updating stacks" msgstr "Ažuriranje hrpa" -#: src/page/connect.vue:57 src/component/navigation.vue:1500 -#: src/component/navigation.vue:1614 src/component/navigation.vue:1999 +#: src/page/connect.vue:57 src/component/navigation.vue:1526 +#: src/component/navigation.vue:1644 src/component/navigation.vue:2047 #: src/page/connect.vue:58 msgid "Upgrade" msgstr "Nadogradnja" -#: src/page/about/about.vue:123 src/page/connect.vue:202 -#: src/component/confirm/sponsor.vue:98 src/page/about/about.vue:113 -#: src/page/connect.vue:206 +#: src/page/about/about.vue:124 src/page/connect.vue:204 +#: src/component/confirm/sponsor.vue:99 src/page/about/about.vue:114 +#: src/page/connect.vue:208 msgid "Upgrade Now" msgstr "Nadograditi sada" -#: src/component/album/toolbar.vue:108 src/component/navigation.vue:1824 -#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:144 -#: src/component/upload/dialog.vue:51 src/page/albums.vue:183 +#: src/component/album/toolbar.vue:113 src/component/navigation.vue:1860 +#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:145 +#: src/component/upload/dialog.vue:51 src/page/albums.vue:185 #: src/page/labels.vue:122 src/page/library/import.vue:133 #: src/page/settings/general.vue:307 src/page/settings/services.vue:38 msgid "Upload" @@ -3179,21 +3218,21 @@ msgstr "Učitaj" msgid "Upload complete" msgstr "Prijenos je završen" -#: src/component/upload/dialog.vue:133 +#: src/component/upload/dialog.vue:135 msgid "Upload complete. Indexing…" msgstr "Prijenos je završen. Indeksiranje…" #: src/component/upload/dialog.vue:296 src/component/upload/dialog.vue:315 -#: src/component/upload/dialog.vue:129 +#: src/component/upload/dialog.vue:131 msgid "Upload failed" msgstr "Prijenos nije uspio" -#: src/component/service/edit.vue:257 +#: src/component/service/edit.vue:258 msgid "Upload local files" msgstr "Prenesite lokalne datoteke" -#: src/component/user/edit/dialog.vue:380 #: src/component/user/edit/dialog.vue:381 +#: src/component/user/edit/dialog.vue:382 msgid "Upload Path" msgstr "Učitaj put" @@ -3201,7 +3240,7 @@ msgstr "Učitaj put" msgid "Upload to WebDAV and share links with friends." msgstr "Prenesite na WebDAV i podijelite veze s prijateljima." -#: src/component/upload/dialog.vue:131 +#: src/component/upload/dialog.vue:133 msgid "Uploading %{n} of %{t}…" msgstr "Prijenos %{n} od %{t}…" @@ -3214,7 +3253,7 @@ msgstr "Prijenos fotografija…" msgid "Uploading…" msgstr "Pretovar…" -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Uploads that may contain such images will be rejected automatically." msgstr "Prijenosi koji mogu sadržavati takve slike bit će automatski odbijeni." @@ -3222,7 +3261,7 @@ msgstr "Prijenosi koji mogu sadržavati takve slike bit će automatski odbijeni. msgid "Use Presets" msgstr "Koristite unaprijed postavljene postavke" -#: src/component/settings/passcode.vue:283 +#: src/component/settings/passcode.vue:286 msgid "Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:" msgstr "Upotrijebite sljedeći kod za oporavak za pristup svom računu kada ne možete generirati važeći kod za provjeru pomoću aplikacije za autentifikaciju:" @@ -3230,12 +3269,12 @@ msgstr "Upotrijebite sljedeći kod za oporavak za pristup svom računu kada ne m msgid "Use your recovery code or contact an administrator for help." msgstr "Koristite svoj kod za oporavak ili kontaktirajte administratora za pomoć." -#: src/options/admin.js:10 src/page/admin/sessions.vue:59 -#: src/page/admin/sessions.vue:242 src/model/user.js:361 src/options/auth.js:7 +#: src/options/admin.js:14 src/page/admin/sessions.vue:59 +#: src/page/admin/sessions.vue:243 src/model/user.js:361 src/options/auth.js:8 msgid "User" msgstr "Korisnik" -#: src/component/navigation.vue:1979 +#: src/component/navigation.vue:2025 msgid "User Guide" msgstr "Korisnički vodič" @@ -3243,14 +3282,14 @@ msgstr "Korisnički vodič" msgid "User Interface" msgstr "Korisničko sučelje" -#: src/component/user/add/dialog.vue:87 src/component/user/add/dialog.vue:88 -#: src/page/admin/sessions.vue:220 src/page/admin/users.vue:71 -#: src/component/service/add.vue:85 src/component/service/edit.vue:337 +#: src/component/user/add/dialog.vue:88 src/component/user/add/dialog.vue:89 +#: src/page/admin/sessions.vue:221 src/page/admin/users.vue:73 +#: src/component/service/add.vue:86 src/component/service/edit.vue:338 #: src/component/share/dialog.vue:26 msgid "Username" msgstr "Korisničko ime" -#: src/component/navigation.vue:1435 +#: src/component/navigation.vue:1461 msgid "Users" msgstr "Korisnici" @@ -3260,18 +3299,18 @@ msgstr "Korisnici" msgid "Vector" msgstr "Vektor" -#: src/component/navigation.vue:440 +#: src/component/navigation.vue:442 msgid "Vectors" msgstr "Vektori" -#: src/component/settings/passcode.vue:227 src/page/auth/login.vue:144 +#: src/component/settings/passcode.vue:230 src/page/auth/login.vue:144 msgid "Verification Code" msgstr "Kontrolni kod" #: src/component/photo/view/cards.vue:363 #: src/component/photo/view/cards.vue:491 src/component/photo/view/list.vue:190 #: src/component/photo/view/mosaic.vue:207 src/model/file.js:221 -#: src/model/photo.js:921 src/model/photo.js:939 src/options/options.js:293 +#: src/model/photo.js:958 src/model/photo.js:976 src/options/options.js:293 msgid "Video" msgstr "Video" @@ -3280,12 +3319,12 @@ msgstr "Video" msgid "Video Duration" msgstr "Trajanje" -#: src/app/routes.js:243 src/component/navigation.vue:728 +#: src/app/routes.js:251 src/component/navigation.vue:734 #: src/options/options.js:200 msgid "Videos" msgstr "Video" -#: src/component/photo/toolbar.vue:261 src/component/photo/view/cards.vue:350 +#: src/component/photo/toolbar.vue:263 src/component/photo/view/cards.vue:350 #: src/component/photo/view/mosaic.vue:194 msgid "View" msgstr "Pregled" @@ -3294,11 +3333,11 @@ msgstr "Pregled" msgid "View search results as a list." msgstr "Pregledajte rezultate pretraživanja kao popis." -#: src/options/admin.js:14 src/options/auth.js:8 +#: src/options/admin.js:18 src/options/auth.js:9 msgid "Viewer" msgstr "Gledatelj" -#: src/page/admin/sessions.vue:271 src/options/auth.js:12 +#: src/page/admin/sessions.vue:272 src/options/auth.js:13 msgid "Visitor" msgstr "Posjetitelj" @@ -3310,34 +3349,34 @@ msgstr "Grupirajte po sličnosti" msgid "Warning" msgstr "Upozorenje" -#: src/page/about/feedback.vue:60 +#: src/page/about/feedback.vue:61 msgid "We appreciate your feedback!" msgstr "Cijenimo vaše povratne informacije!" -#: src/page/about/feedback.vue:63 +#: src/page/about/feedback.vue:64 msgid "We do our best to respond within five business days or less." msgstr "Dajemo sve od sebe da odgovorimo u roku od pet radnih dana ili manje." -#: src/component/user/add/dialog.vue:235 src/component/user/edit/dialog.vue:415 -#: src/page/admin/users.vue:80 +#: src/component/user/add/dialog.vue:236 src/component/user/edit/dialog.vue:416 +#: src/page/admin/users.vue:82 msgid "Web Login" msgstr "Web prijava" -#: src/component/user/add/dialog.vue:248 src/component/user/edit/dialog.vue:432 -#: src/page/admin/users.vue:82 src/options/auth.js:55 src/options/auth.js:68 +#: src/component/user/add/dialog.vue:249 src/component/user/edit/dialog.vue:433 +#: src/page/admin/users.vue:84 src/options/auth.js:56 src/options/auth.js:69 #: src/options/options.js:444 msgid "WebDAV" msgstr "WebDAV" -#: src/component/settings/webdav.vue:51 +#: src/component/settings/webdav.vue:52 msgid "WebDAV clients can connect to PhotoPrism using the following URL:" msgstr "WebDAV klijenti mogu se povezati s PhotoPrismom koristeći sljedeći URL:" -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism." msgstr "WebDAV klijenti, poput Microsoftovog Windows Explorera ili Appleovog Findera, mogu se spojiti izravno na PhotoPrism." -#: src/component/service/upload.vue:50 src/component/share/dialog.vue:220 +#: src/component/service/upload.vue:51 src/component/share/dialog.vue:220 msgid "WebDAV Upload" msgstr "WebDAV Upload" @@ -3345,8 +3384,8 @@ msgstr "WebDAV Upload" msgid "WebGL support is disabled in your browser" msgstr "WebGL podrška je onemogućena u vašem pregledniku" -#: src/page/settings/account.vue:615 src/page/settings/account.vue:709 -#: src/page/settings/account.vue:601 +#: src/page/settings/account.vue:621 src/page/settings/account.vue:715 +#: src/page/settings/account.vue:607 msgid "Website" msgstr "Web stranica" @@ -3354,12 +3393,12 @@ msgstr "Web stranica" msgid "White" msgstr "Bijelo" -#: src/page/settings/account.vue:532 +#: src/page/settings/account.vue:538 msgid "Work Details" msgstr "Detalji" -#: src/page/settings/account.vue:500 src/component/photo/edit/details.vue:163 -#: src/component/photo/toolbar.vue:315 src/page/albums.vue:159 +#: src/page/settings/account.vue:506 src/component/photo/edit/details.vue:165 +#: src/component/photo/toolbar.vue:317 src/page/albums.vue:159 msgid "Year" msgstr "Godina" @@ -3367,21 +3406,21 @@ msgstr "Godina" msgid "Yellow" msgstr "Žuta boja" -#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:58 -#: src/component/photo/archive/dialog.vue:58 +#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:59 +#: src/component/photo/archive/dialog.vue:59 #: src/component/photo/clipboard.vue:200 src/component/photo/edit/files.vue:365 #: src/component/photo/edit/files.vue:395 #: src/component/photo/edit/files.vue:401 #: src/component/photo/edit/files.vue:407 -#: src/component/photo/edit/files.vue:510 src/component/photo/edit/info.vue:281 +#: src/component/photo/edit/files.vue:512 src/component/photo/edit/info.vue:281 #: src/component/photo/edit/info.vue:297 src/component/photo/edit/info.vue:313 #: src/component/photo/edit/info.vue:329 src/component/photo/edit/info.vue:344 -#: src/component/photo/toolbar.vue:434 +#: src/component/photo/toolbar.vue:436 msgid "Yes" msgstr "Da" -#: src/component/confirm/sponsor.vue:59 src/page/about/about.vue:158 -#: src/page/connect.vue:315 +#: src/component/confirm/sponsor.vue:60 src/page/about/about.vue:160 +#: src/page/connect.vue:317 msgid "You are welcome to contact us at membership@photoprism.app for questions regarding your membership." msgstr "Slobodno nam se obratite na membership@photoprism.app za pitanja u vezi s vašim članstvom." @@ -3393,7 +3432,11 @@ msgstr "Možete preuzeti samo jedan album" msgid "You can only download one label" msgstr "Možete preuzeti samo jednu naljepnicu" -#: src/component/upload/dialog.vue:203 +#: src/component/location/dialog.vue:178 +msgid "You can search for a location or move the marker on the map to change the position:" +msgstr "Možete pretraživati lokaciju ili pomicati marker na karti da biste promijenili položaj:" + +#: src/component/upload/dialog.vue:205 msgid "You can upload up to %{n} files for test purposes." msgstr "Možete prenijeti do %{n} datoteka u testne svrhe." @@ -3406,7 +3449,7 @@ msgstr "Možete odabrati samo jednu stavku" msgid "You may rescan your library to find additional faces." msgstr "Možete ponovno skenirati svoju biblioteku kako biste pronašli dodatna lica." -#: src/page/connect.vue:146 src/page/connect.vue:150 +#: src/page/connect.vue:147 src/page/connect.vue:151 msgid "Your account has been successfully connected." msgstr "Vaš račun je uspješno povezan." @@ -3414,8 +3457,8 @@ msgstr "Vaš račun je uspješno povezan." msgid "Your browser does not support WebGL" msgstr "Vaš preglednik ne podržava WebGL" -#: src/component/confirm/sponsor.vue:43 src/page/about/about.vue:97 -#: src/page/about/about.vue:156 src/page/connect.vue:220 +#: src/component/confirm/sponsor.vue:44 src/page/about/about.vue:98 +#: src/page/about/about.vue:158 src/page/connect.vue:222 msgid "Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy." msgstr "Vaša stalna podrška pomaže nam pružiti redovita ažuriranja i usluge kao što su karte svijeta." @@ -3496,9 +3539,6 @@ msgstr "Povećavanje/smanjivanje" #~ msgid "Open Folder" #~ msgstr "Otvori mapu" -#~ msgid "Cannot copy to clipboard" -#~ msgstr "Nije moguće kopirati u međuspremnik" - #~ msgid "Sound" #~ msgstr "Zvuk" diff --git a/frontend/src/locales/hu.po b/frontend/src/locales/hu.po index 61e7d1dd8..d0d4354ba 100644 --- a/frontend/src/locales/hu.po +++ b/frontend/src/locales/hu.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: photoprism\n" "Report-Msgid-Bugs-To: ci@photoprism.app\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2025-04-04 08:03+0000\n" +"PO-Revision-Date: 2025-07-06 08:58+0000\n" "Last-Translator: DeepL \n" "Language-Team: Hungarian \n" "Language: hu\n" @@ -11,7 +11,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.10.4\n" +"X-Generator: Weblate 5.12.2\n" #: src/locales.js:268 msgid "{0} appended action" @@ -41,7 +41,7 @@ msgstr "{0} kiválasztott" msgid "{0}-{1} of {2}" msgstr "{0}-{1} of {2}" -#: src/page/albums.vue:612 +#: src/page/albums.vue:617 msgid "%{n} albums found" msgstr "%{n} album találat" @@ -49,25 +49,25 @@ msgstr "%{n} album találat" msgid "%{n} files uploaded" msgstr "%{n} fájl feltöltve" -#: src/page/library/browse.vue:362 +#: src/page/library/browse.vue:364 msgid "%{n} folders found" msgstr "%{n} mappa találat" -#: src/component/navigation.vue:1676 +#: src/component/navigation.vue:1707 msgid "%{n} GB of %{q} GB used" msgstr "%{n} GB %{q} GB használt" -#: src/page/labels.vue:528 +#: src/page/labels.vue:533 msgid "%{n} labels found" msgstr "%{n} címke találat" -#: src/page/people/new.vue:350 src/page/people/new.vue:447 -#: src/page/people/recognized.vue:536 +#: src/page/people/new.vue:350 src/page/people/new.vue:450 +#: src/page/people/recognized.vue:541 msgid "%{n} people found" msgstr "%{n} ember találat" -#: src/page/album/photos.vue:308 src/page/album/photos.vue:493 -#: src/page/photos.vue:441 src/page/photos.vue:631 +#: src/page/album/photos.vue:313 src/page/album/photos.vue:504 +#: src/page/photos.vue:446 src/page/photos.vue:641 msgid "%{n} pictures found" msgstr "%{n} kép találat" @@ -87,12 +87,12 @@ msgstr "1 óra" msgid "12 hours" msgstr "12 óra" -#: src/component/user/edit/dialog.vue:452 src/page/settings/account.vue:324 -#: src/component/settings/passcode.vue:75 +#: src/component/user/edit/dialog.vue:453 src/page/settings/account.vue:325 +#: src/component/settings/passcode.vue:78 msgid "2-Factor Authentication" msgstr "2-faktoros hitelesítés" -#: src/component/user/edit/dialog.vue:451 src/options/auth.js:46 +#: src/component/user/edit/dialog.vue:452 src/options/auth.js:47 msgid "2FA" msgstr "2FA" @@ -108,20 +108,20 @@ msgstr "A kattintás egy másolatot helyez a vágólapra." msgid "A new version of %{s} is available:" msgstr "A %{s} új verziója elérhető:" -#: src/component/user/edit/dialog.vue:233 -#: src/component/user/edit/dialog.vue:234 src/page/about/about.vue:56 +#: src/component/user/edit/dialog.vue:234 +#: src/component/user/edit/dialog.vue:235 src/page/about/about.vue:56 #: src/page/settings/account.vue:248 src/page/settings/account.vue:249 -#: src/app/routes.js:63 src/component/navigation.vue:1521 -#: src/page/people/recognized.vue:292 +#: src/app/routes.js:63 src/component/navigation.vue:1547 +#: src/page/people/recognized.vue:296 msgid "About" msgstr "Rólunk" -#: src/options/auth.js:26 src/options/auth.js:44 +#: src/options/auth.js:27 src/options/auth.js:45 msgid "Access Token" msgstr "Hozzáférési jelszó" -#: src/component/navigation.vue:87 src/component/navigation.vue:1788 -#: src/component/service/upload.vue:71 src/model/service.js:96 +#: src/component/navigation.vue:87 src/component/navigation.vue:1822 +#: src/component/service/upload.vue:72 src/model/service.js:96 #: src/model/user.js:171 src/page/settings.vue:85 #: src/page/settings/general.vue:582 msgid "Account" @@ -135,13 +135,13 @@ msgstr "Fiók létrehozva" msgid "Account deleted" msgstr "Fiók törölve" -#: src/page/admin/users.vue:335 +#: src/page/admin/users.vue:337 msgid "Account restored" -msgstr "Számla visszaállítva" +msgstr "Fiók visszaállítva" #: src/page/admin.vue:33 msgid "Accounts" -msgstr "Számlák" +msgstr "Fiókok" #: src/component/photo/edit/info.vue:391 msgid "Accuracy" @@ -156,8 +156,8 @@ msgstr "Művelet" msgid "Actions" msgstr "Műveletek" -#: src/page/connect.vue:294 src/component/settings/passcode.vue:346 -#: src/page/connect.vue:303 +#: src/page/connect.vue:296 src/component/settings/passcode.vue:349 +#: src/page/connect.vue:305 msgid "Activate" msgstr "Aktiválja a címet." @@ -173,20 +173,20 @@ msgstr "Aktiválja a növekvő rendezéshez." msgid "Activate to sort descending." msgstr "Aktiválja a csökkenő rendezéshez." -#: src/page/connect.vue:231 src/page/connect.vue:240 +#: src/page/connect.vue:233 src/page/connect.vue:242 msgid "Activation Code" msgstr "Aktiválási kód" -#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:83 -#: src/component/settings/apps.vue:448 +#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:92 +#: src/component/settings/apps.vue:451 msgid "Add" msgstr "Add" -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:246 msgid "Add %{s}?" msgstr "Add %{s}?" -#: src/component/user/add/dialog.vue:56 src/component/service/add.vue:49 +#: src/component/user/add/dialog.vue:57 src/component/service/add.vue:50 msgid "Add Account" msgstr "Fiók hozzáadása" @@ -203,8 +203,8 @@ msgid "Add Link" msgstr "Hivatkozás hozzáadása" #: src/component/photo/edit/people.vue:25 -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:57 -#: src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:57 +#: src/page/people/new.vue:246 msgid "Add person?" msgstr "Személyt hozzáadni?" @@ -220,10 +220,15 @@ msgstr "Képek hozzáadása a találok közül kiválasztás segítéségével." msgid "Add to album" msgstr "Hozzáadás albumhoz" -#: src/component/photo/edit/files.vue:514 +#: src/component/photo/edit/files.vue:516 msgid "Added" msgstr "Hozzáadva" +#: src/component/location/dialog.vue:68 src/component/location/dialog.vue:90 +#: src/component/photo/edit/details.vue:246 +msgid "Adjust Location" +msgstr "Helyszín beállítása" + #: src/options/admin.js:6 src/options/auth.js:6 msgid "Admin" msgstr "Admin" @@ -244,7 +249,7 @@ msgstr "Három nap után" msgid "After 7 days" msgstr "Hét nap után" -#: src/component/settings/passcode.vue:93 +#: src/component/settings/passcode.vue:96 msgid "After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:" msgstr "Miután megerősítésképpen megadta jelszavát, beállíthat kétfaktoros hitelesítést egy kompatibilis hitelesítő alkalmazással vagy eszközzel:" @@ -276,12 +281,16 @@ msgstr "Album" msgid "Album Backups" msgstr "Album biztonsági mentések" -#: src/page/albums.vue:674 +#: src/page/albums.vue:685 msgid "Album created" msgstr "Album létrehozva" -#: src/app/routes.js:176 src/component/album/toolbar.vue:51 -#: src/component/navigation.vue:604 src/component/navigation.vue:1882 +#: src/page/album/photos.vue:589 +msgid "Album deleted" +msgstr "Album törölve" + +#: src/app/routes.js:184 src/component/album/toolbar.vue:55 +#: src/component/navigation.vue:607 src/component/navigation.vue:1922 #: src/component/photo/edit/info.vue:220 src/options/options.js:198 msgid "Albums" msgstr "Albumok" @@ -294,7 +303,7 @@ msgstr "Albumok törölve" msgid "All" msgstr "Minden" -#: src/page/albums.vue:465 +#: src/page/albums.vue:470 msgid "All %{n} albums loaded" msgstr "Összesen %{n} album betöltve" @@ -310,8 +319,8 @@ msgstr "Összesen %{n} ember betöltve" msgid "All Cameras" msgstr "Összes kamera" -#: src/component/photo/toolbar.vue:74 src/page/albums.vue:44 -#: src/page/albums.vue:240 src/page/albums.vue:746 +#: src/component/photo/toolbar.vue:74 src/page/albums.vue:45 +#: src/page/albums.vue:242 src/page/albums.vue:757 msgid "All Categories" msgstr "Összes kategória" @@ -343,7 +352,7 @@ msgstr "Összes hónap" msgid "All originals" msgstr "Összes eredeti" -#: src/component/photo/toolbar.vue:76 src/page/albums.vue:93 +#: src/component/photo/toolbar.vue:76 src/page/albums.vue:94 msgid "All Years" msgstr "Összes év" @@ -355,7 +364,7 @@ msgstr "Alternatívaként a fájlok feltölthetők WebDAV szerverekre is, mint p msgid "Altitude" msgstr "Magasság" -#: src/component/photo/edit/details.vue:272 +#: src/component/photo/edit/details.vue:297 msgid "Altitude (m)" msgstr "Magasság (m)" @@ -363,8 +372,7 @@ msgstr "Magasság (m)" msgid "AM" msgstr "AM" -#: src/app/routes.js:257 src/component/navigation.vue:791 -#: src/component/photo/edit/files.vue:364 +#: src/app/routes.js:265 src/component/photo/edit/files.vue:364 #: src/component/photo/view/cards.vue:327 #: src/component/photo/view/cards.vue:511 src/component/photo/view/list.vue:184 #: src/component/photo/view/mosaic.vue:171 src/options/options.js:301 @@ -375,43 +383,47 @@ msgstr "Mozgó" msgid "Animation" msgstr "Animáció" +#: src/component/navigation.vue:797 +msgid "Animations" +msgstr "Animációk" + #: src/component/share/dialog.vue:207 msgid "Any private photos and videos remain private and won't be shared." msgstr "Bármilyen privát fotó és videó privát marad és nem kerül megosztásra." -#: src/component/service/edit.vue:372 +#: src/component/service/edit.vue:373 msgid "API Key" msgstr "API Kulcs" -#: src/page/admin/sessions.vue:357 src/options/auth.js:25 +#: src/page/admin/sessions.vue:361 src/options/auth.js:26 msgid "Application" msgstr "Alkalmazás" -#: src/component/photo/edit/details.vue:641 +#: src/component/photo/edit/details.vue:615 msgid "Apply" msgstr "Alkalmaz" #: src/component/photo/clipboard.vue:64 -#: src/component/photo/edit/details.vue:640 +#: src/component/photo/edit/details.vue:614 #: src/component/photo/view/cards.vue:416 msgid "Approve" msgstr "Jóváhagy" -#: src/page/settings/account.vue:374 src/component/settings/apps.vue:91 +#: src/page/settings/account.vue:378 src/component/settings/apps.vue:94 msgid "Apps and Devices" msgstr "Alkalmazások és eszközök" -#: src/app/routes.js:287 src/component/lightbox.vue:1207 -#: src/component/navigation.vue:555 src/component/photo/clipboard.vue:142 +#: src/app/routes.js:295 src/component/lightbox.vue:1207 +#: src/component/navigation.vue:557 src/component/photo/clipboard.vue:142 #: src/component/photo/view/cards.vue:398 src/page/settings/general.vue:432 msgid "Archive" msgstr "Archívum" -#: src/component/lightbox.vue:1982 src/component/photo/edit/info.vue:433 +#: src/component/lightbox.vue:2002 src/component/photo/edit/info.vue:433 msgid "Archived" msgstr "Archíválva" -#: src/component/photo/archive/dialog.vue:34 +#: src/component/photo/archive/dialog.vue:35 msgid "Are you sure you want to archive the selection?" msgstr "Biztos benne, hogy archíválja a kiválasztott fájlokat?" @@ -419,19 +431,23 @@ msgstr "Biztos benne, hogy archíválja a kiválasztott fájlokat?" msgid "Are you sure you want to delete these albums?" msgstr "Biztos benne, hogy törli a kiválasztott fájlokat?" -#: src/component/label/delete/dialog.vue:34 +#: src/component/label/delete/dialog.vue:35 msgid "Are you sure you want to delete these labels?" msgstr "Biztos benne, hogy törli a kiválasztott címkéket?" -#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:36 +#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:37 msgid "Are you sure you want to delete this account?" msgstr "Biztos benne, hogy törli ezt a felhasználói fiókot?" +#: src/component/album/toolbar.vue:136 +msgid "Are you sure you want to delete this album?" +msgstr "Biztos, hogy törölni szeretné ezt az albumot?" + #: src/component/photo/clipboard.vue:199 msgid "Are you sure you want to permanently delete these pictures?" msgstr "Biztos benne, hogy véglegesen törli a kiválasztott képeket?" -#: src/component/file/delete/dialog.vue:34 +#: src/component/file/delete/dialog.vue:35 msgid "Are you sure you want to permanently delete this file?" msgstr "Biztos benne, hogy véglegesen törli a kiválasztott fájlokat?" @@ -440,7 +456,7 @@ msgstr "Biztos benne, hogy véglegesen törli a kiválasztott fájlokat?" msgid "Are you sure?" msgstr "Biztos benne?" -#: src/component/photo/edit/details.vue:537 +#: src/component/photo/edit/details.vue:511 msgid "Artist" msgstr "Művész" @@ -448,14 +464,14 @@ msgstr "Művész" msgid "Aspect Ratio" msgstr "Képarány" -#: src/app/routes.js:250 src/component/navigation.vue:770 +#: src/app/routes.js:258 src/component/navigation.vue:776 #: src/options/options.js:297 msgid "Audio" msgstr "Audio" -#: src/component/user/add/dialog.vue:190 src/component/user/edit/dialog.vue:309 -#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:281 -#: src/page/admin/users.vue:75 +#: src/component/user/add/dialog.vue:191 src/component/user/edit/dialog.vue:310 +#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:282 +#: src/page/admin/users.vue:77 msgid "Authentication" msgstr "Hitelesítés" @@ -463,11 +479,11 @@ msgstr "Hitelesítés" msgid "Auto" msgstr "Auto" -#: src/component/settings/apps.vue:151 +#: src/component/settings/apps.vue:154 msgid "Back" msgstr "Vissza" -#: src/component/scroll.vue:20 +#: src/component/scroll.vue:18 msgid "Back to top" msgstr "Vissza a tetejére" @@ -479,26 +495,26 @@ msgstr "Biztonsági mentés" msgid "Badge" msgstr "Jelvény" -#: src/component/user/edit/dialog.vue:361 #: src/component/user/edit/dialog.vue:362 +#: src/component/user/edit/dialog.vue:363 msgid "Base Path" msgstr "Bázis útvonal" -#: src/page/about/about.vue:95 src/page/connect.vue:220 +#: src/page/about/about.vue:96 src/page/connect.vue:222 msgid "Become a member today, support our mission and enjoy our member benefits!" msgstr "Legyen tag még ma, támogassa küldetésünket és élvezze tagi előnyeinket!" -#: src/component/confirm/sponsor.vue:51 src/page/about/about.vue:99 +#: src/component/confirm/sponsor.vue:52 src/page/about/about.vue:100 msgid "Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services." msgstr "Mivel 100%-ban önfinanszírozók és függetlenek vagyunk, megígérhetjük, hogy soha nem adjuk el az adatait, és mindig átláthatóak leszünk a szoftverünkkel és szolgáltatásainkkal kapcsolatban." -#: src/component/user/edit/dialog.vue:258 -#: src/component/user/edit/dialog.vue:259 src/page/settings/account.vue:227 +#: src/component/user/edit/dialog.vue:259 +#: src/component/user/edit/dialog.vue:260 src/page/settings/account.vue:227 #: src/page/settings/account.vue:228 msgid "Bio" msgstr "Bio" -#: src/page/settings/account.vue:431 +#: src/page/settings/account.vue:437 msgid "Birth Date" msgstr "Születési dátum" @@ -519,7 +535,7 @@ msgid "Brown" msgstr "Barna" #: src/component/photo/edit/files.vue:263 src/component/photo/toolbar.vue:141 -#: src/component/upload/dialog.vue:240 +#: src/component/upload/dialog.vue:242 msgid "Browse" msgstr "Böngésszen a oldalon." @@ -547,16 +563,16 @@ msgstr "Hibajelentés" msgid "Busy, please wait…" msgstr "Elfoglalt, kérem, várjon…" -#: src/page/connect.vue:317 +#: src/page/connect.vue:319 msgid "By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct." msgstr "Az általunk biztosított szoftver és szolgáltatások használatával Ön elfogadja szolgáltatási feltételeinket, adatvédelmi szabályzatunkat és magatartási kódexünket." -#: src/app/routes.js:189 src/component/navigation.vue:1081 +#: src/app/routes.js:197 src/component/navigation.vue:1097 #: src/options/options.js:204 src/page/settings/general.vue:205 msgid "Calendar" msgstr "Naptár" -#: src/component/photo/edit/details.vue:346 src/component/photo/toolbar.vue:232 +#: src/component/photo/edit/details.vue:320 src/component/photo/toolbar.vue:234 #: src/component/photo/view/cards.vue:467 src/component/photo/view/list.vue:116 msgid "Camera" msgstr "Kamera" @@ -569,12 +585,12 @@ msgstr "Kamera sorozat" msgid "Can't access your authenticator app or device?" msgstr "Nem tud hozzáférni az autentikátor alkalmazásához vagy eszközéhez?" -#: src/page/album/photos.vue:317 src/page/photos.vue:450 +#: src/page/album/photos.vue:322 src/page/photos.vue:455 msgid "Can't load more, limit reached" msgstr "Nem tölthet be többet, elérte a korlátot" #: src/common/clipboard.js:102 src/common/clipboard.js:139 -#: src/page/albums.vue:684 src/page/albums.vue:700 src/page/labels.vue:293 +#: src/page/albums.vue:695 src/page/albums.vue:711 src/page/labels.vue:293 #: src/page/labels.vue:313 src/page/library/browse.vue:233 #: src/page/library/browse.vue:249 src/page/people/new.vue:278 #: src/page/people/new.vue:294 src/page/people/recognized.vue:305 @@ -583,26 +599,31 @@ msgid "Can't select more items" msgstr "Nem lehet több elemet kiválasztani" #: src/component/session/remove/dialog.vue:45 -#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:473 -#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:119 +#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:474 +#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:120 #: src/component/album/delete/dialog.vue:43 -#: src/component/album/edit/dialog.vue:199 src/component/confirm/dialog.vue:43 -#: src/component/file/delete/dialog.vue:47 -#: src/component/label/delete/dialog.vue:47 -#: src/component/label/edit/dialog.vue:107 -#: src/component/people/edit/dialog.vue:120 +#: src/component/album/edit/dialog.vue:200 src/component/confirm/dialog.vue:43 +#: src/component/file/delete/dialog.vue:48 +#: src/component/label/delete/dialog.vue:48 +#: src/component/label/edit/dialog.vue:108 +#: src/component/location/dialog.vue:200 +#: src/component/people/edit/dialog.vue:121 #: src/component/photo/album/dialog.vue:78 src/component/service/add.vue:19 -#: src/component/service/edit.vue:455 src/component/service/remove.vue:49 -#: src/component/service/upload.vue:117 src/component/settings/apps.vue:352 -#: src/component/settings/passcode.vue:249 -#: src/component/settings/passcode.vue:333 -#: src/component/settings/password.vue:159 src/component/share/dialog.vue:28 -#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:123 +#: src/component/service/edit.vue:456 src/component/service/remove.vue:50 +#: src/component/service/upload.vue:118 src/component/settings/apps.vue:355 +#: src/component/settings/passcode.vue:252 +#: src/component/settings/passcode.vue:336 +#: src/component/settings/password.vue:160 src/component/share/dialog.vue:28 +#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:124 #: src/page/library/import.vue:119 src/page/library/index.vue:128 msgid "Cancel" msgstr "Mégsem" -#: src/component/photo/edit/details.vue:87 src/component/photo/edit/info.vue:61 +#: src/common/util.js:863 src/common/util.js:870 +msgid "Cannot copy to clipboard" +msgstr "Nem lehet a vágólapra másolni" + +#: src/component/photo/edit/details.vue:89 src/component/photo/edit/info.vue:63 #: src/component/photo/edit/labels.vue:42 #: src/component/photo/view/cards.vue:445 src/component/sidebar/info.vue:72 msgid "Caption" @@ -616,17 +637,17 @@ msgstr "Kártyák" msgid "Carousel slide {0} of {1}" msgstr "{0} körhinta {0} a {1}-től" -#: src/page/about/feedback.vue:82 src/page/about/feedback.vue:83 -#: src/component/album/edit/dialog.vue:128 src/component/photo/toolbar.vue:397 +#: src/page/about/feedback.vue:83 src/page/about/feedback.vue:84 +#: src/component/album/edit/dialog.vue:129 src/component/photo/toolbar.vue:399 #: src/page/albums.vue:187 msgid "Category" msgstr "Kategória" -#: src/component/user/edit/dialog.vue:191 src/page/settings/account.vue:201 +#: src/component/user/edit/dialog.vue:192 src/page/settings/account.vue:201 msgid "Change Avatar" msgstr "Profilkép változtatása" -#: src/page/settings/account.vue:297 src/component/settings/password.vue:48 +#: src/page/settings/account.vue:297 src/component/settings/password.vue:49 msgid "Change Password" msgstr "Új jelszó" @@ -643,17 +664,17 @@ msgid "Change private flag" msgstr "Privát fotóként jelölés" #: src/component/user/add/dialog.vue:108 src/component/user/add/dialog.vue:113 -#: src/component/user/edit/dialog.vue:90 src/component/user/edit/dialog.vue:95 +#: src/component/user/edit/dialog.vue:91 src/component/user/edit/dialog.vue:96 #: src/page/settings/account.vue:121 src/page/settings/account.vue:126 msgid "Changes could not be saved" msgstr "Módosításokat nem sikerült menteni" -#: src/component/user/edit/dialog.vue:83 src/component/user/edit/dialog.vue:159 +#: src/component/user/edit/dialog.vue:84 src/component/user/edit/dialog.vue:160 #: src/component/album/edit/dialog.vue:73 -#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1941 +#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1961 #: src/component/photo/edit/files.vue:162 src/component/service/edit.vue:90 #: src/component/share/dialog.vue:92 src/component/share/dialog.vue:111 -#: src/page/albums.vue:677 src/page/people/recognized.vue:119 +#: src/page/albums.vue:688 src/page/people/recognized.vue:119 #: src/page/settings/advanced.vue:62 src/page/settings/content.vue:62 #: src/page/settings/general.vue:108 msgid "Changes successfully saved" @@ -667,7 +688,7 @@ msgstr "A speciális beállítások módosításához újraindításra van szük msgid "Checked" msgstr "Ellenőrizve" -#: src/component/photo/edit/files.vue:495 +#: src/component/photo/edit/files.vue:497 msgid "Chroma" msgstr "Chroma" @@ -683,24 +704,24 @@ msgstr "Tisztítás" msgid "Clear {0}" msgstr "Clear {0}" -#: src/options/auth.js:11 src/options/auth.js:23 src/options/auth.js:43 +#: src/options/auth.js:12 src/options/auth.js:24 src/options/auth.js:44 msgid "Client" msgstr "Ügyfél" -#: src/options/auth.js:24 +#: src/options/auth.js:25 msgid "Client Credentials" msgstr "Ügyfél hitelesítő adatok" -#: src/page/admin/sessions.vue:529 src/component/lightbox.vue:284 -#: src/component/lightbox.vue:1009 src/component/lightbox.vue:1010 -#: src/component/photo/edit/details.vue:627 src/component/photo/toolbar.vue:160 -#: src/component/settings/apps.vue:224 src/component/settings/apps.vue:437 -#: src/component/settings/passcode.vue:148 -#: src/component/settings/passcode.vue:456 -#: src/component/settings/passcode.vue:497 -#: src/component/settings/webdav.vue:131 src/component/share/dialog.vue:231 +#: src/component/user/edit/dialog.vue:474 src/page/admin/sessions.vue:536 +#: src/component/lightbox.vue:284 src/component/lightbox.vue:1009 +#: src/component/lightbox.vue:1010 src/component/photo/edit/details.vue:601 +#: src/component/photo/toolbar.vue:161 src/component/settings/apps.vue:227 +#: src/component/settings/apps.vue:440 src/component/settings/passcode.vue:151 +#: src/component/settings/passcode.vue:459 +#: src/component/settings/passcode.vue:500 +#: src/component/settings/webdav.vue:132 src/component/share/dialog.vue:231 #: src/component/sidebar/info.vue:26 src/component/update.vue:57 -#: src/component/upload/dialog.vue:228 src/locales.js:206 +#: src/component/upload/dialog.vue:230 src/locales.js:206 #: src/page/library/errors.vue:253 msgid "Close" msgstr "Bezárás" @@ -709,11 +730,11 @@ msgstr "Bezárás" msgid "Codec" msgstr "Codec" -#: src/component/photo/toolbar.vue:369 +#: src/component/photo/toolbar.vue:371 msgid "Color" msgstr "Szín" -#: src/component/photo/edit/files.vue:483 +#: src/component/photo/edit/files.vue:485 msgid "Color Profile" msgstr "Színprofil" @@ -721,7 +742,7 @@ msgstr "Színprofil" msgid "Colors" msgstr "Színek" -#: src/page/connect.vue:260 src/page/connect.vue:269 +#: src/page/connect.vue:262 src/page/connect.vue:271 msgid "Compare Editions" msgstr "Edíciók összehasonlítása" @@ -734,17 +755,18 @@ msgstr "Teljes újraolvasás" msgid "Confidence" msgstr "Pontosság" +#: src/component/location/dialog.vue:212 #: src/component/photo/album/dialog.vue:90 -#: src/component/settings/passcode.vue:261 +#: src/component/settings/passcode.vue:264 msgid "Confirm" msgstr "megerősít" -#: src/component/service/add.vue:20 src/page/settings/services.vue:187 +#: src/component/service/add.vue:20 src/page/settings/services.vue:191 msgid "Connect" msgstr "Csatlakozás" -#: src/page/settings/account.vue:401 src/component/settings/webdav.vue:45 -#: src/page/settings/services.vue:167 +#: src/page/settings/account.vue:406 src/component/settings/webdav.vue:46 +#: src/page/settings/services.vue:170 msgid "Connect via WebDAV" msgstr "Csatlakozás WebDAV-on keresztül" @@ -752,22 +774,22 @@ msgstr "Csatlakozás WebDAV-on keresztül" msgid "Connected" msgstr "Csatlakozva" -#: src/page/settings/account.vue:640 src/page/settings/account.vue:532 +#: src/page/settings/account.vue:646 src/page/settings/account.vue:538 msgid "Contact Details" msgstr "Elérhetőségek" -#: src/page/about/feedback.vue:37 src/page/connect.vue:132 -#: src/page/connect.vue:136 +#: src/page/about/feedback.vue:37 src/page/connect.vue:133 +#: src/page/connect.vue:137 msgid "Contact Us" msgstr "Lépjen kapcsolatba velünk" #: src/page/albums.vue:433 src/page/labels.vue:237 -#: src/page/people/recognized.vue:306 +#: src/page/people/recognized.vue:310 msgid "Contains %{n} pictures." msgstr "%{n} képet tartalmaz." #: src/page/albums.vue:427 src/page/labels.vue:231 -#: src/page/people/recognized.vue:300 +#: src/page/people/recognized.vue:304 msgid "Contains one picture." msgstr "Egy képet tartalmaz." @@ -775,7 +797,7 @@ msgstr "Egy képet tartalmaz." msgid "Content" msgstr "Tartalom" -#: src/component/settings/apps.vue:163 +#: src/component/settings/apps.vue:166 msgid "Continue" msgstr "Folytatni" @@ -783,7 +805,7 @@ msgstr "Folytatni" msgid "Continue with %{provider}" msgstr "Folytassa a %{provider}" -#: src/options/admin.js:18 src/options/auth.js:9 +#: src/options/admin.js:22 src/options/auth.js:10 msgid "Contributor" msgstr "Hozzájáruló" @@ -791,15 +813,15 @@ msgstr "Hozzájáruló" msgid "Converting" msgstr "Konvertálás" -#: src/common/util.js:846 +#: src/common/util.js:856 msgid "Copied to clipboard" msgstr "Vágólapra másolva" -#: src/component/settings/apps.vue:250 src/component/settings/passcode.vue:358 +#: src/component/settings/apps.vue:253 src/component/settings/passcode.vue:361 msgid "Copy" msgstr "Másolat" -#: src/component/photo/edit/details.vue:516 +#: src/component/photo/edit/details.vue:490 msgid "Copyright" msgstr "Szerzői jog" @@ -807,8 +829,8 @@ msgstr "Szerzői jog" msgid "Couldn't find anything." msgstr "Nem találtunk semmit." -#: src/page/settings/account.vue:685 src/component/photo/edit/details.vue:242 -#: src/component/photo/toolbar.vue:203 src/page/settings/account.vue:577 +#: src/page/settings/account.vue:691 src/component/photo/edit/details.vue:268 +#: src/component/photo/toolbar.vue:205 src/page/settings/account.vue:583 msgid "Country" msgstr "Ország" @@ -832,7 +854,7 @@ msgstr "YAML fájlok létrehozása az album metaadatok biztonsági mentéséhez. msgid "Create YAML sidecar files to back up picture metadata." msgstr "YAML oldalkocsis fájlok létrehozása a képek metaadatainak mentéséhez." -#: src/page/admin/sessions.vue:417 src/component/photo/edit/info.vue:412 +#: src/page/admin/sessions.vue:422 src/component/photo/edit/info.vue:412 msgid "Created" msgstr "Létrehozva" @@ -844,11 +866,11 @@ msgstr "Miniatűrök létrehozása a következőhöz" msgid "Cubic: Moderate Quality, Good Performance" msgstr "Köbös: Közepes minőség, jó teljesítmény" -#: src/component/settings/password.vue:85 +#: src/component/settings/password.vue:86 msgid "Current Password" msgstr "Jelenlegi jelszó" -#: src/options/themes.js:919 src/options/themes.js:928 +#: src/options/themes.js:920 src/options/themes.js:929 msgid "Custom" msgstr "Custom" @@ -864,11 +886,11 @@ msgstr "Napi" msgid "Database Backups" msgstr "Adatbázis biztonsági mentések" -#: src/page/settings/account.vue:450 src/component/photo/edit/details.vue:110 +#: src/page/settings/account.vue:456 src/component/photo/edit/details.vue:112 msgid "Day" msgstr "Nap" -#: src/component/settings/passcode.vue:445 +#: src/component/settings/passcode.vue:448 msgid "Deactivate" msgstr "Deaktiválás" @@ -876,36 +898,40 @@ msgstr "Deaktiválás" msgid "Debug Logs" msgstr "Hibakeresési naplók" -#: src/options/admin.js:31 src/page/admin/sessions.vue:136 -#: src/page/admin/users.vue:176 src/component/photo/edit/info.vue:47 +#: src/options/admin.js:35 src/page/admin/sessions.vue:136 +#: src/page/admin/users.vue:178 src/component/photo/edit/info.vue:47 #: src/component/photo/edit/info.vue:110 src/model/session.js:66 -#: src/model/user.js:246 src/options/auth.js:20 src/options/auth.js:21 -#: src/options/auth.js:39 src/options/auth.js:40 src/options/options.js:196 +#: src/model/user.js:246 src/options/auth.js:21 src/options/auth.js:22 +#: src/options/auth.js:40 src/options/auth.js:41 src/options/options.js:196 #: src/options/options.js:232 src/options/options.js:316 -#: src/options/themes.js:773 +#: src/options/themes.js:774 msgid "Default" msgstr "Alapértelmezett" -#: src/component/service/edit.vue:123 +#: src/component/service/edit.vue:124 msgid "Default Folder" msgstr "Alapértelmezett mappa" #: src/component/session/remove/dialog.vue:56 #: src/component/user/remove/dialog.vue:56 src/component/album/clipboard.vue:97 -#: src/component/album/delete/dialog.vue:54 -#: src/component/file/delete/dialog.vue:58 src/component/label/clipboard.vue:58 -#: src/component/label/delete/dialog.vue:58 +#: src/component/album/delete/dialog.vue:54 src/component/album/toolbar.vue:137 +#: src/component/file/delete/dialog.vue:59 src/component/label/clipboard.vue:58 +#: src/component/label/delete/dialog.vue:59 #: src/component/photo/clipboard.vue:168 src/component/photo/edit/files.vue:238 -#: src/component/service/remove.vue:60 src/component/share/dialog.vue:170 +#: src/component/service/remove.vue:61 src/component/share/dialog.vue:170 #: src/page/settings/general.vue:457 msgid "Delete" msgstr "Törlés" +#: src/component/album/toolbar.vue:133 +msgid "Delete Album" +msgstr "Album törlése" + #: src/component/photo/toolbar.vue:119 src/page/library/errors.vue:95 msgid "Delete All" msgstr "Mindent törölni" -#: src/component/photo/toolbar.vue:433 src/page/library/errors.vue:193 +#: src/component/photo/toolbar.vue:435 src/page/library/errors.vue:193 msgid "Delete all?" msgstr "Mindent törölni?" @@ -913,16 +939,16 @@ msgstr "Mindent törölni?" msgid "Delete orphaned index entries, sidecar files and thumbnails." msgstr "Törli az elárvult indexbejegyzéseket, oldalkocsis fájlokat és miniatűröket." -#: src/component/album/edit/dialog.vue:107 src/page/albums.vue:411 +#: src/component/album/edit/dialog.vue:108 src/page/albums.vue:411 msgid "Description" msgstr "Leírás" -#: src/component/settings/webdav.vue:115 +#: src/component/settings/webdav.vue:116 msgid "Detailed instructions can be found in our User Guide." msgstr "A részletes utasításokat a Felhasználói kézikönyvben találja." -#: src/component/photo/edit/dialog.vue:156 -#: src/component/photo/edit/dialog.vue:173 +#: src/component/photo/edit/dialog.vue:162 +#: src/component/photo/edit/dialog.vue:181 msgid "Details" msgstr "Részletek" @@ -986,8 +1012,8 @@ msgstr "Letiltja a vektorgrafika támogatását." msgid "Disables video transcoding and thumbnail extraction." msgstr "Letiltja a videó átkódolását és a miniatűrök kinyerését." -#: src/app/routes.js:558 src/app/routes.js:565 src/app/routes.js:572 -#: src/app/routes.js:579 +#: src/app/routes.js:566 src/app/routes.js:573 src/app/routes.js:580 +#: src/app/routes.js:587 msgid "Discover" msgstr "Felfedez" @@ -995,9 +1021,9 @@ msgstr "Felfedez" msgid "Dismiss" msgstr "Elutasíthatod" -#: src/component/user/add/dialog.vue:133 src/component/user/add/dialog.vue:134 -#: src/component/user/edit/dialog.vue:163 -#: src/component/user/edit/dialog.vue:164 src/page/admin/users.vue:72 +#: src/component/user/add/dialog.vue:134 src/component/user/add/dialog.vue:135 +#: src/component/user/edit/dialog.vue:164 +#: src/component/user/edit/dialog.vue:165 src/page/admin/users.vue:74 #: src/page/settings/account.vue:149 src/page/settings/account.vue:151 msgid "Display Name" msgstr "Megjelenített név" @@ -1012,12 +1038,12 @@ msgstr "Képcímek megjelenítése a keresési eredményekben." #: src/component/photo/view/cards.vue:339 #: src/component/photo/view/cards.vue:521 -#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:174 +#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:176 #: src/options/options.js:309 msgid "Document" msgstr "Dokumentum" -#: src/component/navigation.vue:480 +#: src/component/navigation.vue:482 msgid "Documents" msgstr "Dokumentumok" @@ -1033,16 +1059,16 @@ msgstr "Ne használd az ImageMagick programot képek konvertálására." msgid "Don't use RawTherapee to convert RAW images." msgstr "Ne használja a RawTherapee-t RAW képek konvertálására." -#: src/component/settings/apps.vue:238 src/component/share/dialog.vue:29 +#: src/component/settings/apps.vue:241 src/component/share/dialog.vue:29 msgid "Done" msgstr "Kész" -#: src/component/upload/dialog.vue:135 src/page/library/import.vue:46 +#: src/component/upload/dialog.vue:137 src/page/library/import.vue:46 #: src/page/library/index.vue:52 msgid "Done." msgstr "Kész." -#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:118 +#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:123 #: src/component/file/clipboard.vue:48 src/component/lightbox.vue:1235 #: src/component/people/clipboard.vue:47 src/component/photo/clipboard.vue:116 #: src/component/photo/edit/files.vue:168 src/page/settings/content.vue:331 @@ -1054,7 +1080,7 @@ msgstr "Letöltés" msgid "Download only original media files, without any automatically generated files." msgstr "Csak eredeti médiafájlok letöltése, automatikusan generált fájlok nélkül." -#: src/component/service/edit.vue:237 +#: src/component/service/edit.vue:238 msgid "Download remote files" msgstr "Távoli fájlok letöltése" @@ -1062,9 +1088,9 @@ msgstr "Távoli fájlok letöltése" msgid "Download single files and zip archives." msgstr "Egyedi fájlok és zip-archívumok letöltése." -#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:157 +#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:172 #: src/component/file/clipboard.vue:61 src/component/label/clipboard.vue:86 -#: src/component/lightbox.vue:2021 src/component/people/clipboard.vue:59 +#: src/component/lightbox.vue:2041 src/component/people/clipboard.vue:59 #: src/component/photo/clipboard.vue:220 src/component/photo/edit/files.vue:119 #: src/component/photo/view/cards.vue:169 src/component/photo/view/list.vue:142 #: src/page/library/browse.vue:139 @@ -1079,7 +1105,7 @@ msgstr "Lekicsinyítési szűrő" msgid "Drag and drop files here" msgstr "Húzza ide a fájlokat" -#: src/page/about/feedback.vue:61 +#: src/page/about/feedback.vue:62 msgid "Due to the high volume of emails we receive, our team may be unable to get back to you immediately." msgstr "A beérkező e-mailek nagy száma miatt előfordulhat, hogy csapatunk nem tud azonnal válaszolni Önnek." @@ -1099,23 +1125,23 @@ msgstr "Dinamikus előnézetek" msgid "Dynamic Size Limit: %{n}px" msgstr "Dinamikus méretkorlát: %{n}px" -#: src/page/about/feedback.vue:141 src/page/about/feedback.vue:140 +#: src/page/about/feedback.vue:142 src/page/about/feedback.vue:141 msgid "E-Mail" msgstr "Email" -#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:89 +#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:94 #: src/component/lightbox.vue:1136 src/component/lightbox.vue:1137 #: src/component/photo/clipboard.vue:90 src/page/settings/general.vue:407 msgid "Edit" msgstr "Szerkesztés" -#: src/component/album/edit/dialog.vue:54 -#: src/component/label/edit/dialog.vue:52 -#: src/component/people/edit/dialog.vue:52 +#: src/component/album/edit/dialog.vue:55 +#: src/component/label/edit/dialog.vue:53 +#: src/component/people/edit/dialog.vue:53 msgid "Edit %{s}" msgstr "%{s} szerkesztése" -#: src/component/user/edit/dialog.vue:61 src/component/service/edit.vue:79 +#: src/component/user/edit/dialog.vue:62 src/component/service/edit.vue:79 msgid "Edit Account" msgstr "Fiók szerkesztése" @@ -1127,8 +1153,8 @@ msgstr "Fénykép szerkesztése" msgid "Edited" msgstr "Szerkesztette" -#: src/component/user/add/dialog.vue:151 src/component/user/edit/dialog.vue:213 -#: src/page/settings/account.vue:171 src/page/settings/account.vue:593 +#: src/component/user/add/dialog.vue:152 src/component/user/edit/dialog.vue:214 +#: src/page/settings/account.vue:171 src/page/settings/account.vue:599 msgid "Email" msgstr "E-mail" @@ -1144,7 +1170,7 @@ msgstr "Engedélyezze az új funkciókat, amelyek hiányosak vagy instabilak leh msgid "Enables RAW converter presets. May reduce performance." msgstr "Engedélyezi a RAW konverter előbeállításait. Csökkentheti a teljesítményt." -#: src/component/settings/passcode.vue:127 +#: src/component/settings/passcode.vue:130 msgid "Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account." msgstr "A kéttényezős hitelesítés engedélyezése azt jelenti, hogy a bejelentkezéshez véletlenszerűen generált ellenőrző kódra lesz szüksége, így még ha valaki hozzáfér a jelszavához, nem férhet hozzá fiókjához." @@ -1156,7 +1182,7 @@ msgstr "Adja meg a dátumot" msgid "Enter dates" msgstr "Adja meg a dátumokat" -#: src/component/settings/passcode.vue:213 src/page/auth/login.vue:104 +#: src/component/settings/passcode.vue:216 src/page/auth/login.vue:104 msgid "Enter the code generated by your authenticator app:" msgstr "Írja be a hitelesítési alkalmazás által generált kódot:" @@ -1164,7 +1190,7 @@ msgstr "Írja be a hitelesítési alkalmazás által generált kódot:" msgid "Enter verification code" msgstr "Adja meg a megerősítő kódot" -#: src/component/settings/apps.vue:109 +#: src/component/settings/apps.vue:112 msgid "Enter your password to confirm the action and continue:" msgstr "Adja meg jelszavát a művelet megerősítéséhez, és folytassa:" @@ -1173,7 +1199,7 @@ msgstr "Adja meg jelszavát a művelet megerősítéséhez, és folytassa:" msgid "Error" msgstr "Hiba" -#: src/app/routes.js:374 src/component/navigation.vue:1348 +#: src/app/routes.js:382 src/component/navigation.vue:1372 msgid "Errors" msgstr "Hibák" @@ -1209,13 +1235,13 @@ msgstr "Az ExifTool segítségével történő metaadat-kivonatolás szükséges msgid "Experimental Features" msgstr "Kísérleti jellemzők" -#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:453 -#: src/component/service/edit.vue:157 src/component/settings/apps.vue:73 -#: src/component/settings/apps.vue:326 src/component/share/dialog.vue:62 +#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:458 +#: src/component/service/edit.vue:158 src/component/settings/apps.vue:73 +#: src/component/settings/apps.vue:329 src/component/share/dialog.vue:62 msgid "Expires" msgstr "Lejár" -#: src/component/photo/edit/details.vue:396 +#: src/component/photo/edit/details.vue:370 msgid "Exposure" msgstr "Kitettség" @@ -1223,7 +1249,7 @@ msgstr "Kitettség" msgid "Extract still images and generate thumbnails while indexing." msgstr "Állóképek kivonása és miniatűrök készítése indexelés közben." -#: src/component/photo/edit/details.vue:444 +#: src/component/photo/edit/details.vue:418 msgid "F Number" msgstr "F Szám" @@ -1239,7 +1265,7 @@ msgstr "Arcok" msgid "Failed removing link" msgstr "Nem sikerült eltávolítani a linket" -#: src/page/connect.vue:106 src/page/connect.vue:110 +#: src/page/connect.vue:107 src/page/connect.vue:111 msgid "Failed to connect account." msgstr "Nem sikerült csatlakoztatni a fiókot." @@ -1247,8 +1273,8 @@ msgstr "Nem sikerült csatlakoztatni a fiókot." msgid "Failed updating link" msgstr "Nem sikerült frissíteni a linket" -#: src/component/user/edit/dialog.vue:143 -#: src/component/user/edit/dialog.vue:144 src/page/settings/account.vue:128 +#: src/component/user/edit/dialog.vue:144 +#: src/component/user/edit/dialog.vue:145 src/page/settings/account.vue:128 #: src/page/settings/account.vue:130 msgid "Family Name" msgstr "Családnév" @@ -1257,15 +1283,15 @@ msgstr "Családnév" msgid "Fast" msgstr "Gyors" -#: src/component/album/edit/dialog.vue:159 -#: src/component/label/edit/dialog.vue:85 -#: src/component/people/edit/dialog.vue:85 +#: src/component/album/edit/dialog.vue:160 +#: src/component/label/edit/dialog.vue:86 +#: src/component/people/edit/dialog.vue:86 #: src/component/photo/edit/info.vue:287 msgid "Favorite" msgstr "Kedvenc" -#: src/app/routes.js:222 src/component/navigation.vue:893 -#: src/options/options.js:202 src/page/albums.vue:97 +#: src/app/routes.js:230 src/component/navigation.vue:903 +#: src/options/options.js:202 src/page/albums.vue:98 msgid "Favorites" msgstr "Kedvencek" @@ -1273,7 +1299,7 @@ msgstr "Kedvencek" msgid "Feature Request" msgstr "Funkciókérés" -#: src/component/navigation.vue:1456 +#: src/component/navigation.vue:1482 msgid "Feedback" msgstr "Visszacsatolás" @@ -1281,11 +1307,12 @@ msgstr "Visszacsatolás" msgid "Female" msgstr "Női" -#: src/component/photo/edit/info.vue:214 src/model/file.js:290 +#: src/component/photo/edit/info.vue:57 src/component/photo/edit/info.vue:214 +#: src/model/file.js:290 msgid "File" msgstr "Fájl" -#: src/app/routes.js:343 +#: src/app/routes.js:351 msgid "File Browser" msgstr "Fájl böngésző" @@ -1308,8 +1335,8 @@ msgstr "Fájl méret" msgid "Filename" msgstr "Fájlnév" -#: src/component/navigation.vue:1930 src/component/photo/edit/dialog.vue:267 -#: src/component/photo/edit/dialog.vue:284 +#: src/component/navigation.vue:1973 src/component/photo/edit/dialog.vue:279 +#: src/component/photo/edit/dialog.vue:298 msgid "Files" msgstr "Fájlok" @@ -1321,26 +1348,26 @@ msgstr "Az olyan szekvenciális nevű fájlok, mint az „IMG_1234 (2)” és msgid "First page" msgstr "Első oldal" -#: src/component/photo/edit/details.vue:465 +#: src/component/photo/edit/details.vue:439 msgid "Focal Length" msgstr "Gyújtótávolság" -#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:118 -#: src/component/service/edit.vue:189 src/component/service/edit.vue:194 -#: src/component/service/upload.vue:90 src/component/service/upload.vue:96 +#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:119 +#: src/component/service/edit.vue:190 src/component/service/edit.vue:195 +#: src/component/service/upload.vue:91 src/component/service/upload.vue:97 #: src/model/folder.js:199 src/page/library/browse.vue:182 msgid "Folder" msgstr "Mappa" -#: src/page/library/browse.vue:365 +#: src/page/library/browse.vue:367 msgid "Folder contains %{n} files" msgstr "A mappa %{n} fájlt tartalmaz" -#: src/page/library/browse.vue:356 +#: src/page/library/browse.vue:358 msgid "Folder is empty" msgstr "A mappa üres" -#: src/app/routes.js:202 src/component/navigation.vue:1225 +#: src/app/routes.js:210 src/component/navigation.vue:1247 #: src/options/options.js:207 msgid "Folders" msgstr "Mappák" @@ -1357,7 +1384,7 @@ msgstr "FPS" msgid "Frames" msgstr "Keretek" -#: src/options/auth.js:54 src/options/auth.js:64 +#: src/options/auth.js:55 src/options/auth.js:65 msgid "Full Access" msgstr "Teljes hozzáférés" @@ -1369,7 +1396,7 @@ msgstr "Teljes képernyő" msgid "General" msgstr "Általános" -#: src/component/settings/apps.vue:364 +#: src/component/settings/apps.vue:367 msgid "Generate" msgstr "generál" @@ -1389,8 +1416,8 @@ msgstr "Generált" msgid "Get Started" msgstr "Kezdje el" -#: src/component/user/edit/dialog.vue:120 -#: src/component/user/edit/dialog.vue:121 src/page/settings/account.vue:106 +#: src/component/user/edit/dialog.vue:121 +#: src/component/user/edit/dialog.vue:122 src/page/settings/account.vue:106 #: src/page/settings/account.vue:108 msgid "Given Name" msgstr "Keresztnév" @@ -1415,7 +1442,7 @@ msgstr "Zöld" msgid "Grey" msgstr "Szürke" -#: src/options/admin.js:22 src/options/auth.js:10 +#: src/options/admin.js:26 src/options/auth.js:11 msgid "Guest" msgstr "Vendég" @@ -1431,15 +1458,15 @@ msgstr "Segítség" msgid "Help & Support" msgstr "Segítség & Támogatás" -#: src/component/navigation.vue:1327 src/component/people/edit/dialog.vue:98 +#: src/component/navigation.vue:1351 src/component/people/edit/dialog.vue:99 msgid "Hidden" msgstr "Rejtett" -#: src/app/routes.js:358 +#: src/app/routes.js:366 msgid "Hidden Files" msgstr "Rejtett fájlok" -#: src/page/people/new.vue:165 src/page/people/recognized.vue:205 +#: src/page/people/new.vue:166 src/page/people/recognized.vue:206 msgid "Hide" msgstr "Elrejt" @@ -1455,7 +1482,7 @@ msgstr "Magas" msgid "High Dynamic Range (HDR)" msgstr "Nagy dinamikatartomány (HDR)" -#: src/page/about/feedback.vue:103 +#: src/page/about/feedback.vue:104 msgid "How can we help?" msgstr "Hogyan segíthetünk?" @@ -1463,11 +1490,11 @@ msgstr "Hogyan segíthetünk?" msgid "Hybrid" msgstr "Hibrid" -#: src/component/settings/passcode.vue:389 +#: src/component/settings/passcode.vue:392 msgid "If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account." msgstr "Ha elveszíti hozzáférését hitelesítő alkalmazásához vagy eszközéhez, a helyreállítási kód segítségével visszaszerezheti a hozzáférést fiókjához." -#: src/component/photo/edit/info.vue:63 src/component/photo/edit/labels.vue:46 +#: src/component/photo/edit/info.vue:65 src/component/photo/edit/labels.vue:46 #: src/component/photo/view/cards.vue:532 src/model/file.js:218 #: src/options/options.js:281 msgid "Image" @@ -1477,7 +1504,7 @@ msgstr "Kép" msgid "Image Quality" msgstr "Képminőség" -#: src/page/library.vue:46 src/page/library/import.vue:152 +#: src/page/library.vue:46 src/page/library/import.vue:153 #: src/page/settings/general.vue:357 msgid "Import" msgstr "Importálás" @@ -1502,8 +1529,8 @@ msgstr "%{s} importálása…" msgid "Importing files to originals…" msgstr "Fájlok importálása eredetibe…" -#: src/component/photo/edit/files.vue:515 -#: src/component/photo/edit/files.vue:520 +#: src/component/photo/edit/files.vue:517 +#: src/component/photo/edit/files.vue:522 msgid "in" msgstr "-ban/-ben" @@ -1521,11 +1548,11 @@ msgstr "RAW képfájlok felvétele a verem és az archívumok letöltésekor." msgid "Include sidecar files when downloading stacks and archives." msgstr "Oldalkocsis fájlok bevonása a verem és az archívumok letöltésekor." -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Increase storage size or delete files to continue." msgstr "A folytatáshoz növelje a tároló méretét vagy törölje a fájlokat." -#: src/component/navigation.vue:1946 src/page/library.vue:36 +#: src/component/navigation.vue:1990 src/page/library.vue:36 #: src/page/settings/content.vue:34 msgid "Index" msgstr "Index" @@ -1555,11 +1582,11 @@ msgstr "Információ" msgid "Instance ID" msgstr "Példányazonosító" -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Insufficient storage." msgstr "Elégtelen tárolás." -#: src/component/service/edit.vue:209 +#: src/component/service/edit.vue:210 msgid "Interval" msgstr "Intervallum" @@ -1580,7 +1607,7 @@ msgstr "Érvénytelen cím" msgid "Invalid country" msgstr "Érvénytelen ország" -#: src/component/photo/edit/details.vue:174 +#: src/component/photo/edit/details.vue:169 msgid "Invalid date" msgstr "Érvénytelen dátum" @@ -1589,7 +1616,7 @@ msgstr "Érvénytelen dátum" msgid "Invalid parameters" msgstr "Érvénytelen paraméterek" -#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:197 +#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:199 msgid "Invalid photo selected" msgstr "Érvénytelen fénykép kiválasztva" @@ -1601,8 +1628,8 @@ msgstr "Érvénytelen idő" msgid "Invalid URL" msgstr "Érvénytelen URL" -#: src/component/settings/passcode.vue:314 -#: src/component/settings/passcode.vue:391 +#: src/component/settings/passcode.vue:317 +#: src/component/settings/passcode.vue:394 msgid "It is a one-time use code that will disable 2FA for your account when you use it." msgstr "Ez egy egyszer használatos kód, amely letiltja a 2FA-t a fiókjában, amikor azt használja." @@ -1626,7 +1653,7 @@ msgstr "JPEG méretkorlát: %{n}px" msgid "JPEGs and thumbnails are automatically rendered as needed." msgstr "A JPEG-fájlok és miniatűrök szükség szerint automatikusan megjelennek." -#: src/component/photo/edit/details.vue:581 +#: src/component/photo/edit/details.vue:555 msgid "Keywords" msgstr "Kulcsszavak" @@ -1635,9 +1662,9 @@ msgstr "Kulcsszavak" msgid "Label" msgstr "Címke" -#: src/app/routes.js:389 src/component/navigation.vue:1177 -#: src/component/photo/edit/dialog.vue:188 -#: src/component/photo/edit/dialog.vue:205 src/options/options.js:206 +#: src/app/routes.js:397 src/component/navigation.vue:1197 +#: src/component/photo/edit/dialog.vue:196 +#: src/component/photo/edit/dialog.vue:215 src/options/options.js:206 #: src/page/settings/general.vue:255 msgid "Labels" msgstr "Címkék" @@ -1654,11 +1681,11 @@ msgstr "Lanczos: Részletmegőrzés, minimális műtárgyak" msgid "Language" msgstr "Nyelv" -#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:435 +#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:440 msgid "Last Active" msgstr "Utolsó aktív" -#: src/page/admin/users.vue:81 +#: src/page/admin/users.vue:83 msgid "Last Login" msgstr "Utolsó bejelentkezés" @@ -1674,42 +1701,41 @@ msgstr "Utolsó szinkronizálás" msgid "Last Used" msgstr "Utoljára használt" -#: src/component/photo/edit/details.vue:298 #: src/component/photo/edit/info.vue:373 msgid "Latitude" msgstr "Szélességi kör" -#: src/options/admin.js:43 src/options/auth.js:29 +#: src/options/admin.js:47 src/options/auth.js:30 msgid "LDAP/AD" msgstr "LDAP/AD" -#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:86 -#: src/page/about/about.vue:62 src/page/about/about.vue:132 +#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:87 +#: src/page/about/about.vue:62 src/page/about/about.vue:133 #: src/page/connect.vue:67 src/page/help.vue:36 msgid "Learn more" msgstr "Tudjon meg többet" -#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:135 +#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:137 #: src/page/labels.vue:132 msgid "Learn More" msgstr "Tudjon meg többet" -#: src/component/navigation.vue:2017 +#: src/component/navigation.vue:2066 msgid "Legal Information" msgstr "Jogi információk" -#: src/component/photo/edit/details.vue:417 +#: src/component/photo/edit/details.vue:391 #: src/component/photo/view/cards.vue:480 msgid "Lens" msgstr "Lencse" -#: src/app/routes.js:443 src/app/routes.js:459 src/app/routes.js:475 -#: src/component/navigation.vue:1267 src/page/settings/general.vue:507 +#: src/app/routes.js:451 src/app/routes.js:467 src/app/routes.js:483 +#: src/component/navigation.vue:1290 src/page/settings/general.vue:507 msgid "Library" msgstr "Könyvtár" #: src/page/connect.vue:45 src/app/routes.js:69 -#: src/component/navigation.vue:1478 src/component/photo/edit/details.vue:559 +#: src/component/navigation.vue:1504 src/component/photo/edit/details.vue:533 #: src/page/about/license.vue:28 msgid "License" msgstr "Engedély" @@ -1722,7 +1748,7 @@ msgstr "Kedvelés" msgid "Lime" msgstr "Mész" -#: src/page/library/browse.vue:369 +#: src/page/library/browse.vue:371 msgid "Limit reached, showing first %{n} files" msgstr "Elérte a korlátot, az első %{n} fájl látható" @@ -1730,7 +1756,7 @@ msgstr "Elérte a korlátot, az első %{n} fájl látható" msgid "Linear: Very Smooth, Best Performance" msgstr "Lineáris: Nagyon sima, a legjobb teljesítmény" -#: src/model/link.js:117 src/options/auth.js:30 src/options/auth.js:31 +#: src/model/link.js:117 src/options/auth.js:31 src/options/auth.js:32 msgid "Link" msgstr "Link" @@ -1748,7 +1774,7 @@ msgstr "Lista nézet" msgid "Live" msgstr "Élő" -#: src/app/routes.js:236 src/component/navigation.vue:749 +#: src/app/routes.js:244 src/component/navigation.vue:755 msgid "Live Photos" msgstr "Fényképek" @@ -1764,21 +1790,24 @@ msgstr "Tételek betöltése..." msgid "Loading..." msgstr "Betöltés..." -#: src/options/admin.js:35 src/options/auth.js:22 src/options/auth.js:27 +#: src/options/admin.js:39 src/options/auth.js:23 src/options/auth.js:28 #: src/options/options.js:38 src/page/settings/general.vue:107 msgid "Local" msgstr "Helyi" -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Local Time" msgstr "Helyi idő" -#: src/page/settings/account.vue:665 src/page/settings/account.vue:667 -#: src/component/album/edit/dialog.vue:92 src/component/photo/edit/info.vue:65 -#: src/component/photo/edit/labels.vue:48 +#: src/page/settings/account.vue:671 src/page/settings/account.vue:673 +#: src/component/album/edit/dialog.vue:93 +#: src/component/photo/edit/details.vue:38 +#: src/component/photo/edit/details.vue:116 +#: src/component/photo/edit/details.vue:210 +#: src/component/photo/edit/info.vue:67 src/component/photo/edit/labels.vue:48 #: src/component/photo/view/cards.vue:555 src/component/photo/view/list.vue:117 -#: src/component/sidebar/info.vue:107 src/page/albums.vue:99 -#: src/page/settings/account.vue:557 src/page/settings/account.vue:559 +#: src/component/sidebar/info.vue:107 src/page/albums.vue:100 +#: src/page/settings/account.vue:563 src/page/settings/account.vue:565 msgid "Location" msgstr "Elhelyezkedés" @@ -1786,20 +1815,19 @@ msgstr "Elhelyezkedés" msgid "Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues." msgstr "Naplóüzenetek jelennek meg itt, ha a PhotoPrism hibás fájlokat talál, vagy más lehetséges problémák merülnek fel." -#: src/component/navigation.vue:1552 src/component/navigation.vue:1840 +#: src/component/navigation.vue:1579 src/component/navigation.vue:1877 msgid "Login" msgstr "Belépés" -#: src/component/navigation.vue:1759 +#: src/component/navigation.vue:1791 msgid "Logout" msgstr "Kijelentkezés" -#: src/component/navigation.vue:1962 src/page/library.vue:59 +#: src/component/navigation.vue:2007 src/page/library.vue:59 #: src/page/settings/general.vue:557 msgid "Logs" msgstr "Naplók" -#: src/component/photo/edit/details.vue:324 #: src/component/photo/edit/info.vue:379 msgid "Longitude" msgstr "Hosszúság" @@ -1812,7 +1840,7 @@ msgstr "Alacsony" msgid "Magenta" msgstr "Bíborvörös" -#: src/component/photo/edit/files.vue:489 +#: src/component/photo/edit/files.vue:491 msgid "Main Color" msgstr "Fő szín" @@ -1820,12 +1848,16 @@ msgstr "Fő szín" msgid "Male" msgstr "Férfi" -#: src/page/connect.vue:164 src/page/connect.vue:246 -#: src/page/about/about.vue:171 src/page/connect.vue:168 -#: src/page/connect.vue:255 +#: src/page/connect.vue:165 src/page/connect.vue:248 +#: src/page/about/about.vue:173 src/page/connect.vue:169 +#: src/page/connect.vue:257 msgid "Manage Account" msgstr "Számla kezelése" +#: src/options/admin.js:10 src/options/auth.js:7 +msgid "Manager" +msgstr "Menedzser" + #: src/component/photo/edit/info.vue:49 src/component/photo/edit/labels.vue:38 msgid "Manual" msgstr "Kézi" @@ -1842,11 +1874,11 @@ msgstr "Térképek" msgid "Marker" msgstr "Jelző" -#: src/component/user/add/dialog.vue:69 +#: src/component/user/add/dialog.vue:70 msgid "Maximum number of accounts has been reached." msgstr "A számlák maximális száma elérte a határt." -#: src/app/routes.js:229 src/component/navigation.vue:688 +#: src/app/routes.js:237 src/component/navigation.vue:693 #: src/options/options.js:199 msgid "Media" msgstr "Média" @@ -1863,7 +1895,7 @@ msgstr "Tagság" msgid "Merge %{a} with %{b}?" msgstr "Összevonja %{a}-t a %{b}-val?" -#: src/page/about/feedback.vue:102 +#: src/page/about/feedback.vue:103 msgid "Message" msgstr "Üzenet" @@ -1875,7 +1907,7 @@ msgstr "Üzenet elküldve" msgid "Metadata" msgstr "Metaadatok" -#: src/options/auth.js:56 src/options/auth.js:72 +#: src/options/auth.js:57 src/options/auth.js:73 msgid "Metrics" msgstr "Metrikák" @@ -1883,7 +1915,7 @@ msgstr "Metrikák" msgid "Minimize" msgstr "Minimalizálja" -#: src/component/photo/edit/files.vue:509 src/component/photo/edit/info.vue:367 +#: src/component/photo/edit/files.vue:511 src/component/photo/edit/info.vue:367 msgid "Missing" msgstr "Hiányzó" @@ -1891,17 +1923,17 @@ msgstr "Hiányzó" msgid "Missing or invalid configuration" msgstr "Hiányzó vagy érvénytelen konfiguráció" -#: src/app/routes.js:163 src/component/navigation.vue:1129 +#: src/app/routes.js:171 src/component/navigation.vue:1147 #: src/options/options.js:205 src/page/settings/general.vue:230 msgid "Moments" msgstr "Pillanatok" -#: src/component/navigation.vue:383 +#: src/component/navigation.vue:385 msgid "Monochrome" msgstr "Monokróm" -#: src/page/settings/account.vue:475 src/component/photo/edit/details.vue:137 -#: src/component/photo/toolbar.vue:342 +#: src/page/settings/account.vue:481 src/component/photo/edit/details.vue:139 +#: src/component/photo/toolbar.vue:344 msgid "Month" msgstr "Hónap" @@ -1921,7 +1953,7 @@ msgstr "Legrelevánsabb" msgid "Move Files" msgstr "Fájlok áthelyezése" -#: src/component/settings/password.vue:107 +#: src/component/settings/password.vue:108 msgid "Must have at least %{n} characters." msgstr "Legalább %{n} karakteresnek kell lennie." @@ -1929,20 +1961,20 @@ msgstr "Legalább %{n} karakteresnek kell lennie." msgid "Mute" msgstr "Mute" -#: src/page/about/feedback.vue:121 src/page/about/feedback.vue:122 -#: src/component/album/edit/dialog.vue:77 -#: src/component/label/edit/dialog.vue:71 -#: src/component/people/edit/dialog.vue:71 -#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:57 +#: src/page/about/feedback.vue:122 src/page/about/feedback.vue:123 +#: src/component/album/edit/dialog.vue:78 +#: src/component/label/edit/dialog.vue:72 +#: src/component/people/edit/dialog.vue:72 +#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:59 #: src/component/photo/edit/info.vue:125 src/component/photo/edit/people.vue:36 -#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:310 -#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:286 -#: src/page/albums.vue:98 src/page/auth/login.vue:168 +#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:311 +#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:289 +#: src/page/albums.vue:99 src/page/auth/login.vue:168 #: src/page/people/new.vue:68 src/page/settings/services.vue:37 msgid "Name" msgstr "Név" -#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:60 +#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:65 #: src/component/label/edit/dialog.vue:19 #: src/component/people/edit/dialog.vue:19 #: src/component/photo/edit/labels.vue:30 @@ -1952,7 +1984,7 @@ msgstr "Név" msgid "Name too long" msgstr "A név túl hosszú" -#: src/page/admin/users.vue:204 src/options/options.js:361 +#: src/page/admin/users.vue:206 src/options/options.js:361 #: src/options/options.js:371 src/page/settings/services.vue:75 msgid "Never" msgstr "Soha" @@ -1961,13 +1993,13 @@ msgstr "Soha" msgid "New" msgstr "Új" -#: src/component/settings/password.vue:106 +#: src/component/settings/password.vue:107 msgid "New Password" msgstr "Új jelszó" #: src/component/album/edit/dialog.vue:24 src/component/photo/toolbar.vue:114 #: src/component/photo/toolbar.vue:126 src/component/photo/toolbar.vue:136 -#: src/page/albums.vue:100 +#: src/page/albums.vue:101 msgid "Newest First" msgstr "Először a legújabb" @@ -1983,15 +2015,15 @@ msgstr "Következő oldal" msgid "Next visual" msgstr "Következő vizuális" -#: src/component/people/merge/dialog.vue:47 -#: src/component/photo/archive/dialog.vue:47 +#: src/component/people/merge/dialog.vue:48 +#: src/component/photo/archive/dialog.vue:48 #: src/component/photo/edit/info.vue:281 src/component/photo/edit/info.vue:297 #: src/component/photo/edit/info.vue:313 src/component/photo/edit/info.vue:329 #: src/component/photo/edit/info.vue:344 msgid "No" msgstr "Nem" -#: src/page/albums.vue:607 src/page/albums.vue:282 +#: src/page/albums.vue:612 src/page/albums.vue:282 msgid "No albums found" msgstr "Nem találhatók albumok" @@ -1999,7 +2031,7 @@ msgstr "Nem találhatók albumok" msgid "No data available" msgstr "Nincs adat" -#: src/page/labels.vue:523 src/page/labels.vue:155 +#: src/page/labels.vue:528 src/page/labels.vue:155 msgid "No labels found" msgstr "Nem találhatók címkék" @@ -2012,15 +2044,15 @@ msgid "No more" msgstr "Nem több" #: src/component/photo/edit/people.vue:34 src/page/people/new.vue:346 -#: src/page/people/new.vue:443 src/page/people/new.vue:103 -#: src/page/people/recognized.vue:531 src/page/people/recognized.vue:146 +#: src/page/people/new.vue:446 src/page/people/new.vue:103 +#: src/page/people/recognized.vue:536 src/page/people/recognized.vue:146 msgid "No people found" msgstr "Nem találhatók személyek" #: src/component/lightbox.vue:365 src/component/photo/view/cards.vue:144 #: src/component/photo/view/list.vue:82 src/component/photo/view/mosaic.vue:68 -#: src/page/album/photos.vue:488 src/page/library/browse.vue:123 -#: src/page/photos.vue:626 src/page/places.vue:624 src/page/places.vue:730 +#: src/page/album/photos.vue:499 src/page/library/browse.vue:123 +#: src/page/photos.vue:636 src/page/places.vue:624 src/page/places.vue:730 msgid "No pictures found" msgstr "Nem találhatók képek" @@ -2029,7 +2061,11 @@ msgstr "Nem találhatók képek" msgid "No recently edited pictures" msgstr "Nincsenek nemrég szerkesztett képek" -#: src/component/navigation.vue:1655 +#: src/component/location/dialog.vue:166 +msgid "No results" +msgstr "Nincs eredmény" + +#: src/component/navigation.vue:1686 msgid "No server connection" msgstr "Nincs szerverkapcsolat" @@ -2041,7 +2077,7 @@ msgstr "Nincsenek konfigurálva szerverek." msgid "No services configured." msgstr "Nincsenek konfigurálva szolgáltatások." -#: src/component/confirm/sponsor.vue:72 +#: src/component/confirm/sponsor.vue:73 msgid "No thanks" msgstr "Nem köszönöm" @@ -2051,17 +2087,17 @@ msgstr "Nincsenek figyelmeztetések vagy hibák, amelyek ezt a kulcsszót tartal #: src/component/photo/view/cards.vue:154 src/component/photo/view/list.vue:59 #: src/component/photo/view/list.vue:92 src/component/photo/view/mosaic.vue:78 -#: src/component/upload/dialog.vue:208 +#: src/component/upload/dialog.vue:210 msgid "Non-photographic and low-quality images require a review before they appear in search results." msgstr "A rossz minőségű képek ellenörzésre kerülnek, mielőtt megjelennének a keresési eredmények között." -#: src/options/admin.js:47 src/options/auth.js:32 src/options/options.js:212 +#: src/options/admin.js:51 src/options/auth.js:33 src/options/options.js:212 #: src/options/options.js:328 msgid "None" msgstr "Egyik sem" -#: src/common/util.js:853 src/component/lightbox.vue:633 -#: src/component/service/upload.vue:75 src/component/service/upload.vue:87 +#: src/component/lightbox.vue:633 src/component/service/upload.vue:75 +#: src/component/service/upload.vue:87 msgid "Not allowed" msgstr "Nem megengedett" @@ -2073,8 +2109,7 @@ msgstr "Nem található" msgid "Not sorted." msgstr "Nem rendezett." -#: src/common/util.js:858 src/component/lightbox.vue:627 -#: src/component/lightbox.vue:744 +#: src/component/lightbox.vue:627 src/component/lightbox.vue:744 msgid "Not supported" msgstr "Nem támogatott" @@ -2082,15 +2117,15 @@ msgstr "Nem támogatott" msgid "Note you may manually manage your originals folder and importing is optional." msgstr "Vegye figyelembe, hogy manuálisan is kezelheti az eredeti mappát, és az importálás nem kötelező." -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "Note:" msgstr "Megjegyzés:" -#: src/component/service/add.vue:120 +#: src/component/service/add.vue:121 msgid "Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload." msgstr "Megjegyzés: Csak a WebDAV-kiszolgálók, például a Nextcloud vagy a PhotoPrism konfigurálhatók távoli szolgáltatásként biztonsági mentéshez és fájlfeltöltéshez." -#: src/component/photo/edit/details.vue:603 +#: src/component/photo/edit/details.vue:577 msgid "Notes" msgstr "Megjegyzések" @@ -2098,8 +2133,8 @@ msgstr "Megjegyzések" msgid "Nothing to see here yet." msgstr "Itt még nincs látnivaló. Legyél türelmes." -#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:115 -#: src/component/settings/apps.vue:390 +#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:125 +#: src/component/settings/apps.vue:393 msgid "Nothing was found." msgstr "Semmit sem találtak." @@ -2107,7 +2142,7 @@ msgstr "Semmit sem találtak." msgid "Offline" msgstr "Offline" -#: src/options/admin.js:39 src/options/auth.js:28 +#: src/options/admin.js:43 src/options/auth.js:29 msgid "OIDC" msgstr "OIDC" @@ -2117,11 +2152,11 @@ msgstr "OK" #: src/component/album/edit/dialog.vue:25 src/component/photo/toolbar.vue:115 #: src/component/photo/toolbar.vue:127 src/component/photo/toolbar.vue:137 -#: src/page/albums.vue:101 +#: src/page/albums.vue:102 msgid "Oldest First" msgstr "Először a legidősebb" -#: src/component/settings/webdav.vue:77 +#: src/component/settings/webdav.vue:78 msgid "On Windows, enter the following resource in the connection dialog:" msgstr "Windows alatt adja meg a következő erőforrást a kapcsolat párbeszédpanelen:" @@ -2133,11 +2168,11 @@ msgstr "A miniatűrök igény szerinti generálása magas CPU- és memóriahaszn msgid "Once a week" msgstr "Hetente egyszer" -#: src/page/albums.vue:609 +#: src/page/albums.vue:614 msgid "One album found" msgstr "Egy albumot találtunk" -#: src/page/library/browse.vue:358 +#: src/page/library/browse.vue:360 msgid "One file found" msgstr "Egy fájl található" @@ -2145,24 +2180,24 @@ msgstr "Egy fájl található" msgid "One file uploaded" msgstr "Egy feltöltött fájl" -#: src/page/library/browse.vue:360 +#: src/page/library/browse.vue:362 msgid "One folder found" msgstr "Egy mappa található" -#: src/page/labels.vue:525 +#: src/page/labels.vue:530 msgid "One label found" msgstr "Egy címkét találtunk" -#: src/page/people/new.vue:348 src/page/people/new.vue:445 -#: src/page/people/recognized.vue:533 +#: src/page/people/new.vue:348 src/page/people/new.vue:448 +#: src/page/people/recognized.vue:538 msgid "One person found" msgstr "Egy személyt találtak" -#: src/page/album/photos.vue:490 src/page/photos.vue:628 +#: src/page/album/photos.vue:501 src/page/photos.vue:638 msgid "One picture found" msgstr "Egy kép található" -#: src/component/settings/passcode.vue:478 +#: src/component/settings/passcode.vue:481 msgid "Only locally managed accounts can be set up for authentication with 2FA." msgstr "Csak helyileg kezelt fiókok állíthatók be a 2FA-val történő hitelesítéshez." @@ -2170,7 +2205,7 @@ msgstr "Csak helyileg kezelt fiókok állíthatók be a 2FA-val történő hitel msgid "Open" msgstr "Nyissa meg a címet." -#: src/component/service/add.vue:86 src/component/service/add.vue:107 +#: src/component/service/add.vue:87 src/component/service/add.vue:108 msgid "optional" msgstr "opcionális" @@ -2182,7 +2217,7 @@ msgstr "vagy" msgid "Orange" msgstr "Narancssárga" -#: src/page/settings/account.vue:571 src/page/settings/account.vue:573 +#: src/page/settings/account.vue:577 src/page/settings/account.vue:579 msgid "Organization" msgstr "Orientáció" @@ -2198,7 +2233,7 @@ msgstr "Az eredeti fájlneveket a rendszer tárolja és indexeli." msgid "Original Name" msgstr "Eredeti Név" -#: src/component/navigation.vue:1304 src/model/file.js:196 +#: src/component/navigation.vue:1328 src/model/file.js:196 #: src/options/options.js:413 src/page/library/browse.vue:65 #: src/page/settings/content.vue:356 src/page/settings/general.vue:532 msgid "Originals" @@ -2209,7 +2244,7 @@ msgstr "Eredetiek" msgid "Other" msgstr "Egyéb" -#: src/page/about/about.vue:77 src/page/about/about.vue:83 +#: src/page/about/about.vue:78 src/page/about/about.vue:84 msgid "Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible." msgstr "Küldetésünk, hogy a legfelhasználó- és adatvédelmi szempontból legkedvezőbb megoldást nyújtsuk képeinek rendszerezésére és elérhetőségére." @@ -2221,7 +2256,7 @@ msgstr "Szabadtéri" msgid "Page {0}, Current page" msgstr "Oldal {0}, Jelenlegi oldal" -#: src/component/photo/edit/files.vue:352 src/model/photo.js:859 +#: src/component/photo/edit/files.vue:352 src/model/photo.js:896 msgid "Pages" msgstr "Oldalak" @@ -2233,15 +2268,15 @@ msgstr "Oldalszámozás Navigáció" msgid "Panorama" msgstr "Panoráma" -#: src/component/navigation.vue:402 +#: src/component/navigation.vue:404 msgid "Panoramas" msgstr "Panorámák" -#: src/component/user/add/dialog.vue:114 src/component/user/add/dialog.vue:115 -#: src/component/service/add.vue:106 src/component/service/edit.vue:352 -#: src/component/settings/apps.vue:121 src/component/settings/passcode.vue:106 -#: src/component/settings/passcode.vue:413 src/component/share/dialog.vue:27 -#: src/options/auth.js:91 src/page/auth/login.vue:196 +#: src/component/user/add/dialog.vue:115 src/component/user/add/dialog.vue:116 +#: src/component/service/add.vue:107 src/component/service/edit.vue:353 +#: src/component/settings/apps.vue:124 src/component/settings/passcode.vue:109 +#: src/component/settings/passcode.vue:416 src/component/share/dialog.vue:27 +#: src/options/auth.js:92 src/page/auth/login.vue:196 msgid "Password" msgstr "Jelszó" @@ -2249,9 +2284,9 @@ msgstr "Jelszó" msgid "Password changed" msgstr "A jelszó megváltozott" -#: src/app/routes.js:404 src/app/routes.js:428 src/component/navigation.vue:845 -#: src/component/navigation.vue:1898 src/component/photo/edit/dialog.vue:228 -#: src/component/photo/edit/dialog.vue:245 src/options/options.js:201 +#: src/app/routes.js:412 src/app/routes.js:436 src/component/navigation.vue:853 +#: src/component/navigation.vue:1939 src/component/photo/edit/dialog.vue:238 +#: src/component/photo/edit/dialog.vue:257 src/options/options.js:201 #: src/page/settings/general.vue:180 msgid "People" msgstr "Személyek" @@ -2272,23 +2307,23 @@ msgstr "A tárhely felszabadításához távolítsa el véglegesen a fájlokat." msgid "Person" msgstr "Személy" -#: src/options/auth.js:42 +#: src/options/auth.js:43 msgid "Personal" msgstr "Személyes" -#: src/model/photo.js:1273 +#: src/model/photo.js:1310 msgid "Photo" msgstr "Fénykép" -#: src/page/about/about.vue:156 +#: src/page/about/about.vue:158 msgid "PhotoPrism is 100% self-funded and independent." msgstr "A PhotoPrism 100%-ban önfinanszírozó és független." -#: src/page/about/about.vue:92 +#: src/page/about/about.vue:93 msgid "PhotoPrism+ Membership" msgstr "PhotoPrism+ tagság" -#: src/app/routes.js:156 +#: src/app/routes.js:164 msgid "Photos" msgstr "Fényképek" @@ -2309,27 +2344,27 @@ msgstr "Hely" msgid "Place & Time" msgstr "Hely és idő" -#: src/app/routes.js:303 src/app/routes.js:309 src/app/routes.js:315 -#: src/app/routes.js:330 src/component/navigation.vue:986 -#: src/component/navigation.vue:1914 src/options/options.js:203 +#: src/app/routes.js:311 src/app/routes.js:317 src/app/routes.js:323 +#: src/app/routes.js:338 src/component/navigation.vue:999 +#: src/component/navigation.vue:1956 src/options/options.js:203 #: src/page/places.vue:51 src/page/settings/general.vue:609 #: src/page/settings/general.vue:638 msgid "Places" msgstr "Helyek" -#: src/component/settings/password.vue:129 +#: src/component/settings/password.vue:130 msgid "Please confirm your new password." msgstr "Kérjük, erősítse meg új jelszavát." -#: src/component/settings/apps.vue:185 +#: src/component/settings/apps.vue:188 msgid "Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:" msgstr "Kérjük, másolja ki a következő véletlenszerűen generált alkalmazásjelszót, és tartsa biztonságos helyen, mert nem fogja többé látni:" -#: src/component/upload/dialog.vue:203 +#: src/component/upload/dialog.vue:205 msgid "Please do not upload any private, unlawful or offensive pictures." msgstr "Kérjük, ne töltsön fel magánjellegű, jogellenes vagy sértő képeket." -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Please don't upload photos containing offensive content." msgstr "Kérjük, ne töltsön fel sértő tartalmat tartalmazó fotókat." @@ -2337,11 +2372,11 @@ msgstr "Kérjük, ne töltsön fel sértő tartalmat tartalmazó fotókat." msgid "Please enter OTP character {0}" msgstr "Kérjük, adja meg az OTP karaktert {0}" -#: src/component/settings/password.vue:66 +#: src/component/settings/password.vue:67 msgid "Please note that changing your password will log you out on other devices and browsers." msgstr "Felhívjuk figyelmét, hogy a jelszó megváltoztatása más eszközökön és böngészőkben is kijelentkezik." -#: src/page/connect.vue:148 src/page/connect.vue:152 +#: src/page/connect.vue:149 src/page/connect.vue:153 msgid "Please restart your instance for the changes to take effect." msgstr "Kérjük, indítsa újra a példányt, hogy a módosítások hatályba lépjenek." @@ -2361,11 +2396,11 @@ msgstr "PNG méretkorlát: %{n}px" msgid "Portrait" msgstr "Portré" -#: src/component/service/edit.vue:273 +#: src/component/service/edit.vue:274 msgid "Preserve filenames" msgstr "Fájlnevek megőrzése" -#: src/component/upload/dialog.vue:162 +#: src/component/upload/dialog.vue:164 msgid "Press enter to create a new album." msgstr "Új album létrehozásához nyomja meg az Enter billentyűt." @@ -2402,8 +2437,8 @@ msgstr "Előző kép" msgid "Primary" msgstr "Elsődleges" -#: src/app/routes.js:271 src/component/album/edit/dialog.vue:176 -#: src/component/navigation.vue:531 src/component/photo/edit/info.vue:303 +#: src/app/routes.js:279 src/component/album/edit/dialog.vue:177 +#: src/component/navigation.vue:533 src/component/photo/edit/info.vue:303 #: src/page/settings/general.vue:280 msgid "Private" msgstr "Privát" @@ -2428,7 +2463,7 @@ msgstr "Minőségi szűrő" msgid "Quality Score" msgstr "Minőségi mutató" -#: src/page/admin/users.vue:169 +#: src/page/admin/users.vue:171 msgid "r" msgstr "r" @@ -2459,7 +2494,7 @@ msgstr "Csak olvasható mód" #: src/component/album/edit/dialog.vue:26 src/component/photo/toolbar.vue:116 #: src/component/photo/toolbar.vue:128 src/component/photo/toolbar.vue:138 -#: src/page/albums.vue:102 +#: src/page/albums.vue:103 msgid "Recently Added" msgstr "Nemrég hozzáadott" @@ -2467,7 +2502,7 @@ msgstr "Nemrég hozzáadott" msgid "Recently Archived" msgstr "Nemrégiben archiválva" -#: src/component/photo/toolbar.vue:139 src/page/albums.vue:103 +#: src/component/photo/toolbar.vue:139 src/page/albums.vue:104 msgid "Recently Edited" msgstr "Nemrég szerkesztve" @@ -2492,24 +2527,24 @@ msgstr "Helyreállítási kód" msgid "Red" msgstr "Piros" -#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:126 -#: src/component/album/toolbar.vue:79 src/component/photo/toolbar.vue:169 -#: src/page/albums.vue:173 src/page/labels.vue:112 +#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:128 +#: src/component/album/toolbar.vue:84 src/component/photo/toolbar.vue:169 +#: src/page/albums.vue:175 src/page/labels.vue:112 #: src/page/library/browse.vue:90 src/page/library/errors.vue:81 #: src/page/people/new.vue:54 src/page/people/recognized.vue:88 msgid "Refresh" msgstr "Frissítés" -#: src/app/routes.js:337 src/component/navigation.vue:943 -#: src/component/navigation.vue:1026 +#: src/app/routes.js:345 src/component/navigation.vue:955 +#: src/component/navigation.vue:1040 msgid "Regions" msgstr "Régiók" -#: src/page/connect.vue:275 src/page/connect.vue:284 +#: src/page/connect.vue:277 src/page/connect.vue:286 msgid "Register" msgstr "Regisztráció" -#: src/component/navigation.vue:1773 src/component/update.vue:68 +#: src/component/navigation.vue:1806 src/component/update.vue:68 msgid "Reload" msgstr "Újratöltés" @@ -2554,34 +2589,34 @@ msgstr "A nem fényképes és gyenge minőségű képeket a keresési eredménye msgid "Resolution" msgstr "Felbontás" -#: src/page/connect.vue:179 src/page/connect.vue:183 +#: src/page/connect.vue:180 src/page/connect.vue:184 #: src/page/settings/advanced.vue:782 msgid "Restart" msgstr "Újraindítás" -#: src/component/user/edit/dialog.vue:485 src/component/lightbox.vue:1221 +#: src/component/user/edit/dialog.vue:488 src/component/lightbox.vue:1221 #: src/component/photo/clipboard.vue:77 msgid "Restore" msgstr "Visszaállítás" -#: src/component/lightbox.vue:2000 +#: src/component/lightbox.vue:2020 msgid "Restored" msgstr "Visszaállított" -#: src/component/service/edit.vue:428 +#: src/component/service/edit.vue:429 msgid "Retry Limit" msgstr "Újrapróbálkozási korlát" -#: src/component/settings/password.vue:128 +#: src/component/settings/password.vue:129 msgid "Retype Password" msgstr "Gépelje be újra a jelszót" -#: src/app/routes.js:264 src/component/navigation.vue:505 +#: src/app/routes.js:272 src/component/navigation.vue:507 msgid "Review" msgstr "Felülvizsgálat" -#: src/component/user/add/dialog.vue:171 src/component/user/edit/dialog.vue:284 -#: src/page/admin/sessions.vue:262 src/page/admin/users.vue:73 +#: src/component/user/add/dialog.vue:172 src/component/user/edit/dialog.vue:285 +#: src/page/admin/sessions.vue:263 src/page/admin/users.vue:75 msgid "Role" msgstr "Szerepvállalás" @@ -2593,35 +2628,35 @@ msgstr "Sorok oldalanként:" msgid "Satellite" msgstr "Műholdas" -#: src/component/user/edit/dialog.vue:485 -#: src/component/album/edit/dialog.vue:211 -#: src/component/label/edit/dialog.vue:119 -#: src/component/people/edit/dialog.vue:132 src/component/service/edit.vue:466 -#: src/component/settings/password.vue:172 src/component/share/dialog.vue:181 +#: src/component/user/edit/dialog.vue:488 +#: src/component/album/edit/dialog.vue:212 +#: src/component/label/edit/dialog.vue:120 +#: src/component/people/edit/dialog.vue:133 src/component/service/edit.vue:467 +#: src/component/settings/password.vue:173 src/component/share/dialog.vue:181 msgid "Save" msgstr "Mentés" #: src/component/photo/edit/info.vue:319 msgid "Scan" -msgstr "Felderítés" +msgstr "Szkennelt" -#: src/component/settings/passcode.vue:179 +#: src/component/settings/passcode.vue:182 msgid "Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:" msgstr "Olvassa be a QR-kódot a hitelesítő alkalmazással, vagy használja az alább látható beállítási kulcsot, majd írja be a generált ellenőrző kódot:" -#: src/component/navigation.vue:461 +#: src/component/navigation.vue:463 msgid "Scans" msgstr "Szkennel" -#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:377 -#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:310 +#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:381 +#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:313 msgid "Scope" msgstr "Terjedelem" -#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:62 -#: src/component/navigation.vue:342 src/component/navigation.vue:1866 -#: src/component/photo/toolbar.vue:57 src/options/options.js:197 -#: src/page/albums.vue:100 src/page/labels.vue:77 +#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:69 +#: src/component/location/dialog.vue:133 src/component/navigation.vue:343 +#: src/component/navigation.vue:1905 src/component/photo/toolbar.vue:57 +#: src/options/options.js:197 src/page/albums.vue:100 src/page/labels.vue:77 #: src/page/library/errors.vue:76 src/page/people/recognized.vue:66 #: src/page/places.vue:79 src/page/settings/content.vue:235 msgid "Search" @@ -2659,11 +2694,11 @@ msgstr "Válassza ki a dátumot" msgid "Select dates" msgstr "Válassza ki a dátumokat" -#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:154 +#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:156 msgid "Select or create an album" msgstr "Album kiválasztása vagy létrehozása" -#: src/component/upload/dialog.vue:138 +#: src/component/upload/dialog.vue:140 msgid "Select the files to upload…" msgstr "Válassza ki a feltölteni kívánt fájlokat…" @@ -2691,7 +2726,7 @@ msgstr "Kiválasztás visszaállítva" msgid "Sequential Name" msgstr "Sorozati név" -#: src/component/service/add.vue:67 src/component/service/edit.vue:322 +#: src/component/service/add.vue:68 src/component/service/edit.vue:323 #: src/component/share/dialog.vue:25 msgid "Service URL" msgstr "Szolgáltatás URL-je" @@ -2700,7 +2735,7 @@ msgstr "Szolgáltatás URL-je" msgid "Services" msgstr "Szolgáltatások" -#: src/model/session.js:107 src/options/auth.js:41 src/options/auth.js:90 +#: src/model/session.js:107 src/options/auth.js:42 src/options/auth.js:91 msgid "Session" msgstr "Ülés" @@ -2708,7 +2743,7 @@ msgstr "Ülés" msgid "Session ID" msgstr "Munkamenet azonosítója" -#: src/page/admin.vue:45 +#: src/page/admin.vue:44 msgid "Sessions" msgstr "Ülések" @@ -2716,22 +2751,22 @@ msgstr "Ülések" msgid "Set as Album Cover" msgstr "Album borítóként beállítva" -#: src/app/routes.js:101 src/app/routes.js:492 src/app/routes.js:504 -#: src/app/routes.js:521 src/app/routes.js:534 src/app/routes.js:547 -#: src/component/navigation.vue:1394 src/component/navigation.vue:1806 +#: src/app/routes.js:101 src/app/routes.js:500 src/app/routes.js:512 +#: src/app/routes.js:529 src/app/routes.js:542 src/app/routes.js:555 +#: src/component/navigation.vue:1419 src/component/navigation.vue:1841 msgid "Settings" msgstr "Beállítások" #: src/page/settings/account.vue:115 src/page/settings/account.vue:144 -#: src/component/settings/passcode.vue:147 +#: src/component/settings/passcode.vue:151 msgid "Settings saved" msgstr "Beállítások elmentve" -#: src/component/service/upload.vue:131 src/component/settings/passcode.vue:160 +#: src/component/service/upload.vue:132 src/component/settings/passcode.vue:163 msgid "Setup" msgstr "Beállít" -#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:98 +#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:103 #: src/component/photo/clipboard.vue:51 src/page/settings/general.vue:382 msgid "Share" msgstr "Megosztás" @@ -2748,7 +2783,7 @@ msgstr "Ossza meg képeit más alkalmazásokkal és szolgáltatásokkal." msgid "Show" msgstr "Előadás" -#: src/page/people/new.vue:116 src/page/people/new.vue:233 +#: src/page/people/new.vue:116 src/page/people/new.vue:235 msgid "Show all new faces" msgstr "Az összes új arc megjelenítése" @@ -2793,7 +2828,7 @@ msgid "Similar" msgstr "Hasonló" #: src/component/photo/edit/files.vue:51 src/component/photo/edit/files.vue:341 -#: src/component/service/edit.vue:139 src/component/sidebar/info.vue:96 +#: src/component/service/edit.vue:140 src/component/sidebar/info.vue:96 msgid "Size" msgstr "Méret" @@ -2821,7 +2856,7 @@ msgstr "Valami rosszul ment, próbálja újra" msgid "Sort by" msgstr "Rendezés" -#: src/component/album/edit/dialog.vue:142 src/component/photo/toolbar.vue:288 +#: src/component/album/edit/dialog.vue:143 src/component/photo/toolbar.vue:290 #: src/page/albums.vue:214 msgid "Sort Order" msgstr "Sorrend" @@ -2832,7 +2867,7 @@ msgstr "Növekvő sorrendben." #: src/locales.js:220 msgid "Sorted descending." -msgstr "Lefelé rendezve." +msgstr "Csökkenő sorrendben." #: src/component/photo/edit/labels.vue:21 #: src/component/photo/edit/labels.vue:106 @@ -2856,7 +2891,7 @@ msgstr "A metaadataik alapján csoportosítsa a pontosan ugyanabban az időben msgid "Stackable" msgstr "Egymásra rakható" -#: src/component/navigation.vue:421 src/page/settings/content.vue:136 +#: src/component/navigation.vue:423 src/page/settings/content.vue:136 msgid "Stacks" msgstr "Stackek" @@ -2884,16 +2919,16 @@ msgstr "Tárhely" msgid "Streets" msgstr "Utcák" -#: src/component/photo/edit/details.vue:494 +#: src/component/photo/edit/details.vue:468 #: src/component/photo/edit/labels.vue:44 msgid "Subject" -msgstr "Tantárgy" +msgstr "Tárgy" -#: src/page/about/feedback.vue:162 src/page/about/feedback.vue:163 +#: src/page/about/feedback.vue:163 src/page/about/feedback.vue:164 msgid "Submit" msgstr "Küldje be a" -#: src/component/settings/passcode.vue:132 +#: src/component/settings/passcode.vue:136 msgid "Successfully activated" msgstr "Sikeres aktiválás" @@ -2902,23 +2937,23 @@ msgid "Successfully Connected" msgstr "Sikeresen csatlakoztatva" #: src/component/session/remove/dialog.vue:32 -#: src/component/settings/apps.vue:218 +#: src/component/settings/apps.vue:222 msgid "Successfully deleted" msgstr "Sikeresen törölve" -#: src/component/settings/passcode.vue:107 +#: src/component/settings/passcode.vue:108 msgid "Successfully verified" msgstr "Sikeresen ellenőrizve" -#: src/component/user/edit/dialog.vue:398 src/page/admin/users.vue:163 +#: src/component/user/edit/dialog.vue:399 src/page/admin/users.vue:165 msgid "Super Admin" msgstr "Super Admin" -#: src/component/service/add.vue:122 +#: src/component/service/add.vue:123 msgid "Support for additional services, like Google Drive, will be added over time." msgstr "A további szolgáltatások, például a Google Drive támogatása jelenleg fejlesztés alatt áll." -#: src/component/confirm/sponsor.vue:37 src/component/navigation.vue:1629 +#: src/component/confirm/sponsor.vue:38 src/component/navigation.vue:1660 msgid "Support Our Mission" msgstr "Támogassa küldetésünket" @@ -2926,7 +2961,7 @@ msgstr "Támogassa küldetésünket" msgid "Sync" msgstr "Szinkronizálás" -#: src/component/service/edit.vue:289 +#: src/component/service/edit.vue:290 msgid "Sync raw and video files" msgstr "Nyers és videofájlok szinkronizálása" @@ -2952,23 +2987,23 @@ msgstr "Terep" msgid "Text" msgstr "Szöveg" -#: src/component/photo/edit/details.vue:32 src/page/people/new.vue:71 +#: src/component/photo/edit/details.vue:40 src/page/people/new.vue:71 msgid "Text too long" msgstr "A szöveg túl hosszú" -#: src/page/about/about.vue:145 +#: src/page/about/about.vue:146 msgid "Thank You for Your Support!" msgstr "Köszönjük a támogatást!" -#: src/page/about/about.vue:79 src/page/about/about.vue:85 +#: src/page/about/about.vue:80 src/page/about/about.vue:86 msgid "That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality." msgstr "Ezért a PhotoPrismet az alapoktól kezdve úgy építették fel, hogy bárhol fusson, ahol csak szüksége van rá, anélkül, hogy a szabadság, a magánélet vagy a funkcionalitás sérülne." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "The index currently contains %{n} hidden files." msgstr "Az index jelenleg %{n} rejtett fájlt tartalmaz." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates." msgstr "Előfordulhat, hogy a formátumuk nem támogatott, még nem konvertálták JPEG formátumba, vagy ismétlődők vannak." @@ -2983,44 +3018,44 @@ msgstr "Téma" msgid "This field is required" msgstr "Ez a mező kötelező" -#: src/component/settings/webdav.vue:100 src/page/settings/services.vue:144 +#: src/component/settings/webdav.vue:101 src/page/settings/services.vue:147 msgid "This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local." msgstr "Ez hálózati meghajtóként csatlakoztatja az eredeti mappát, és lehetővé teszi a fájlok megnyitását, szerkesztését és törlését számítógépéről vagy okostelefonjáról, mintha azok helyi lennének." -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Time UTC" msgstr "Idő UTC" -#: src/component/photo/edit/details.vue:219 src/page/settings/general.vue:108 +#: src/component/photo/edit/details.vue:221 src/page/settings/general.vue:108 msgid "Time Zone" msgstr "Időzóna" -#: src/component/service/edit.vue:408 +#: src/component/service/edit.vue:409 msgid "Timeout" msgstr "Időtúllépés" -#: src/component/user/edit/dialog.vue:98 src/component/user/edit/dialog.vue:99 +#: src/component/user/edit/dialog.vue:99 src/component/user/edit/dialog.vue:100 #: src/page/settings/account.vue:84 src/page/settings/account.vue:86 msgctxt "Account" msgid "Title" msgstr "Cím" -#: src/component/photo/edit/details.vue:73 +#: src/component/photo/edit/details.vue:75 msgctxt "Photo" msgid "Title" msgstr "Cím" -#: src/component/photo/edit/info.vue:59 src/component/photo/edit/info.vue:155 +#: src/component/photo/edit/info.vue:61 src/component/photo/edit/info.vue:155 #: src/component/photo/edit/labels.vue:40 src/component/photo/view/list.vue:114 #: src/component/sidebar/info.vue:57 msgid "Title" msgstr "Cím" -#: src/page/settings/account.vue:553 src/page/settings/account.vue:555 +#: src/page/settings/account.vue:559 src/page/settings/account.vue:561 msgid "Title / Position" msgstr "Cím / Pozíció" -#: src/page/albums.vue:83 +#: src/page/albums.vue:84 msgid "Title too long" msgstr "A cím túl hosszú" @@ -3028,19 +3063,19 @@ msgstr "A cím túl hosszú" msgid "to" msgstr "nak nek" -#: src/component/settings/passcode.vue:312 +#: src/component/settings/passcode.vue:315 msgid "To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place." msgstr "Annak elkerülése érdekében, hogy ne zárjon ki fiókjából, kérjük, töltse le, nyomtassa ki vagy másolja ki ezt a helyreállítási kódot most, és tartsa biztonságos helyen." -#: src/component/settings/apps.vue:272 +#: src/component/settings/apps.vue:275 msgid "To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:" msgstr "Új alkalmazásspecifikus jelszó generálásához adja meg az alkalmazás nevét és engedélyezési hatókörét, és válasszon egy lejárati dátumot:" -#: src/component/settings/passcode.vue:400 +#: src/component/settings/passcode.vue:403 msgid "To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:" msgstr "Ha új hitelesítő alkalmazásra vagy eszközre szeretne váltani, először deaktiválja a kéttényezős hitelesítést, majd aktiválja újra:" -#: src/page/connect.vue:221 src/page/connect.vue:230 +#: src/page/connect.vue:223 src/page/connect.vue:232 msgid "To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:" msgstr "A frissítéshez vagy megadhat egy aktiváló kódot, vagy a \"Regisztráció\" gombra kattintva regisztrálhat a weboldalunkon:" @@ -3048,7 +3083,7 @@ msgstr "A frissítéshez vagy megadhat egy aktiváló kódot, vagy a \"Regisztr msgid "Today" msgstr "Ma" -#: src/component/album/toolbar.vue:70 src/component/photo/toolbar.vue:78 +#: src/component/album/toolbar.vue:71 src/component/photo/toolbar.vue:78 msgid "Toggle View" msgstr "Nézet váltása" @@ -3075,20 +3110,24 @@ msgstr "Hibaelhárítás" msgid "Try again using other filters or keywords." msgstr "Próbálja újra más szűrők vagy kulcsszavak használatával." -#: src/component/settings/passcode.vue:380 +#: src/component/settings/passcode.vue:383 msgid "Two-factor authentication has been enabled for your account." msgstr "A kétlépcsős hitelesítés engedélyezve van fiókjában." #: src/component/photo/edit/files.vue:58 src/component/photo/edit/files.vue:330 -#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:388 +#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:389 msgid "Type" msgstr "Típus" -#: src/options/auth.js:13 +#: src/component/album/toolbar.vue:178 +msgid "Unable to delete" +msgstr "Törlés nem lehetséges" + +#: src/options/auth.js:14 msgid "Unauthorized" msgstr "Jogosulatlan" -#: src/component/photo/edit/people.vue:94 +#: src/component/photo/edit/people.vue:95 msgid "Undo" msgstr "Visszavonás" @@ -3096,16 +3135,16 @@ msgstr "Visszavonás" msgid "Unique ID" msgstr "Egyéni azonosító" -#: src/page/settings/account.vue:451 src/page/settings/account.vue:476 -#: src/page/settings/account.vue:501 src/common/util.js:487 -#: src/component/photo/edit/details.vue:21 -#: src/component/photo/edit/details.vue:111 -#: src/component/photo/edit/details.vue:138 -#: src/component/photo/edit/details.vue:164 src/component/sidebar/info.vue:43 -#: src/model/album.js:193 src/model/photo.js:323 src/model/photo.js:784 -#: src/model/photo.js:809 src/model/photo.js:832 src/model/photo.js:850 -#: src/model/photo.js:897 src/model/photo.js:905 src/model/photo.js:994 -#: src/model/photo.js:1016 src/model/photo.js:1061 src/model/photo.js:1074 +#: src/page/settings/account.vue:457 src/page/settings/account.vue:482 +#: src/page/settings/account.vue:507 src/common/util.js:488 +#: src/component/photo/edit/details.vue:27 +#: src/component/photo/edit/details.vue:113 +#: src/component/photo/edit/details.vue:140 +#: src/component/photo/edit/details.vue:166 src/component/sidebar/info.vue:43 +#: src/model/album.js:193 src/model/photo.js:331 src/model/photo.js:821 +#: src/model/photo.js:846 src/model/photo.js:869 src/model/photo.js:887 +#: src/model/photo.js:934 src/model/photo.js:942 src/model/photo.js:1031 +#: src/model/photo.js:1053 src/model/photo.js:1098 src/model/photo.js:1111 #: src/model/user.js:157 src/options/options.js:51 src/options/options.js:69 #: src/options/options.js:86 src/options/options.js:100 #: src/options/options.js:112 src/page/library/errors.vue:251 @@ -3118,7 +3157,7 @@ msgstr "Ismeretlen" msgid "Unregistered" msgstr "Nem regisztrált" -#: src/app/routes.js:215 src/component/navigation.vue:644 +#: src/app/routes.js:223 src/component/navigation.vue:648 msgid "Unsorted" msgstr "Rendezés nélkül" @@ -3126,7 +3165,7 @@ msgstr "Rendezés nélkül" msgid "Unstack" msgstr "Bontsa ki" -#: src/component/photo/edit/files.vue:519 src/component/photo/edit/info.vue:416 +#: src/component/photo/edit/files.vue:521 src/component/photo/edit/info.vue:416 msgid "Updated" msgstr "Frissítve" @@ -3142,7 +3181,7 @@ msgstr "Index frissítése" msgid "Updating moments" msgstr "Frissítő pillanatok" -#: src/component/user/edit/dialog.vue:154 +#: src/component/user/edit/dialog.vue:155 msgid "Updating picture…" msgstr "Kép frissítése…" @@ -3154,21 +3193,21 @@ msgstr "Előnézetek frissítése" msgid "Updating stacks" msgstr "Csoportosítások frissítése" -#: src/page/connect.vue:57 src/component/navigation.vue:1500 -#: src/component/navigation.vue:1614 src/component/navigation.vue:1999 +#: src/page/connect.vue:57 src/component/navigation.vue:1526 +#: src/component/navigation.vue:1644 src/component/navigation.vue:2047 #: src/page/connect.vue:58 msgid "Upgrade" msgstr "Frissítés" -#: src/page/about/about.vue:123 src/page/connect.vue:202 -#: src/component/confirm/sponsor.vue:98 src/page/about/about.vue:113 -#: src/page/connect.vue:206 +#: src/page/about/about.vue:124 src/page/connect.vue:204 +#: src/component/confirm/sponsor.vue:99 src/page/about/about.vue:114 +#: src/page/connect.vue:208 msgid "Upgrade Now" msgstr "Frissítés most" -#: src/component/album/toolbar.vue:108 src/component/navigation.vue:1824 -#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:144 -#: src/component/upload/dialog.vue:51 src/page/albums.vue:183 +#: src/component/album/toolbar.vue:113 src/component/navigation.vue:1860 +#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:145 +#: src/component/upload/dialog.vue:51 src/page/albums.vue:185 #: src/page/labels.vue:122 src/page/library/import.vue:133 #: src/page/settings/general.vue:307 src/page/settings/services.vue:38 msgid "Upload" @@ -3178,21 +3217,21 @@ msgstr "Feltöltés" msgid "Upload complete" msgstr "Feltöltés kész" -#: src/component/upload/dialog.vue:133 +#: src/component/upload/dialog.vue:135 msgid "Upload complete. Indexing…" msgstr "Feltöltés kész. Indexelés…" #: src/component/upload/dialog.vue:296 src/component/upload/dialog.vue:315 -#: src/component/upload/dialog.vue:129 +#: src/component/upload/dialog.vue:131 msgid "Upload failed" msgstr "Feltöltés sikertelen" -#: src/component/service/edit.vue:257 +#: src/component/service/edit.vue:258 msgid "Upload local files" msgstr "Helyi fájlok feltöltése" -#: src/component/user/edit/dialog.vue:380 #: src/component/user/edit/dialog.vue:381 +#: src/component/user/edit/dialog.vue:382 msgid "Upload Path" msgstr "Feltöltési útvonal" @@ -3200,7 +3239,7 @@ msgstr "Feltöltési útvonal" msgid "Upload to WebDAV and share links with friends." msgstr "Töltse fel a WebDAV-ba, és ossza meg hivatkozásait barátaival." -#: src/component/upload/dialog.vue:131 +#: src/component/upload/dialog.vue:133 msgid "Uploading %{n} of %{t}…" msgstr "%{n}/%{t} feltöltése…" @@ -3213,7 +3252,7 @@ msgstr "Fényképek feltöltése…" msgid "Uploading…" msgstr "Feltöltés…" -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Uploads that may contain such images will be rejected automatically." msgstr "Az esetlegesen ilyen képeket tartalmazó feltöltések automatikusan elutasításra kerülnek." @@ -3221,7 +3260,7 @@ msgstr "Az esetlegesen ilyen képeket tartalmazó feltöltések automatikusan el msgid "Use Presets" msgstr "Előbeállítások használata" -#: src/component/settings/passcode.vue:283 +#: src/component/settings/passcode.vue:286 msgid "Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:" msgstr "Ha nem tud érvényes ellenőrző kódot generálni a hitelesítő alkalmazással, használja a következő helyreállítási kódot a fiók eléréséhez:" @@ -3229,12 +3268,12 @@ msgstr "Ha nem tud érvényes ellenőrző kódot generálni a hitelesítő alkal msgid "Use your recovery code or contact an administrator for help." msgstr "Használja a helyreállítási kódot, vagy forduljon a rendszergazdához segítségért." -#: src/options/admin.js:10 src/page/admin/sessions.vue:59 -#: src/page/admin/sessions.vue:242 src/model/user.js:361 src/options/auth.js:7 +#: src/options/admin.js:14 src/page/admin/sessions.vue:59 +#: src/page/admin/sessions.vue:243 src/model/user.js:361 src/options/auth.js:8 msgid "User" msgstr "Felhasználó" -#: src/component/navigation.vue:1979 +#: src/component/navigation.vue:2025 msgid "User Guide" msgstr "Felhasználói útmutató" @@ -3242,14 +3281,14 @@ msgstr "Felhasználói útmutató" msgid "User Interface" msgstr "Felhasználói felület" -#: src/component/user/add/dialog.vue:87 src/component/user/add/dialog.vue:88 -#: src/page/admin/sessions.vue:220 src/page/admin/users.vue:71 -#: src/component/service/add.vue:85 src/component/service/edit.vue:337 +#: src/component/user/add/dialog.vue:88 src/component/user/add/dialog.vue:89 +#: src/page/admin/sessions.vue:221 src/page/admin/users.vue:73 +#: src/component/service/add.vue:86 src/component/service/edit.vue:338 #: src/component/share/dialog.vue:26 msgid "Username" msgstr "Felhasználónév" -#: src/component/navigation.vue:1435 +#: src/component/navigation.vue:1461 msgid "Users" msgstr "Felhasználók" @@ -3259,18 +3298,18 @@ msgstr "Felhasználók" msgid "Vector" msgstr "Vektor" -#: src/component/navigation.vue:440 +#: src/component/navigation.vue:442 msgid "Vectors" msgstr "Vektorok" -#: src/component/settings/passcode.vue:227 src/page/auth/login.vue:144 +#: src/component/settings/passcode.vue:230 src/page/auth/login.vue:144 msgid "Verification Code" msgstr "Ellenőrző kód" #: src/component/photo/view/cards.vue:363 #: src/component/photo/view/cards.vue:491 src/component/photo/view/list.vue:190 #: src/component/photo/view/mosaic.vue:207 src/model/file.js:221 -#: src/model/photo.js:921 src/model/photo.js:939 src/options/options.js:293 +#: src/model/photo.js:958 src/model/photo.js:976 src/options/options.js:293 msgid "Video" msgstr "Videó" @@ -3279,12 +3318,12 @@ msgstr "Videó" msgid "Video Duration" msgstr "Időtartam" -#: src/app/routes.js:243 src/component/navigation.vue:728 +#: src/app/routes.js:251 src/component/navigation.vue:734 #: src/options/options.js:200 msgid "Videos" msgstr "Videók" -#: src/component/photo/toolbar.vue:261 src/component/photo/view/cards.vue:350 +#: src/component/photo/toolbar.vue:263 src/component/photo/view/cards.vue:350 #: src/component/photo/view/mosaic.vue:194 msgid "View" msgstr "Kilátás" @@ -3293,11 +3332,11 @@ msgstr "Kilátás" msgid "View search results as a list." msgstr "A keresési eredmények listaként történő megtekintése." -#: src/options/admin.js:14 src/options/auth.js:8 +#: src/options/admin.js:18 src/options/auth.js:9 msgid "Viewer" msgstr "Viewer" -#: src/page/admin/sessions.vue:271 src/options/auth.js:12 +#: src/page/admin/sessions.vue:272 src/options/auth.js:13 msgid "Visitor" msgstr "Látogató" @@ -3309,34 +3348,34 @@ msgstr "Csoportosítás hasonlóság szerint" msgid "Warning" msgstr "Figyelmeztetés" -#: src/page/about/feedback.vue:60 +#: src/page/about/feedback.vue:61 msgid "We appreciate your feedback!" msgstr "Nagyra értékeljük visszajelzéseit!" -#: src/page/about/feedback.vue:63 +#: src/page/about/feedback.vue:64 msgid "We do our best to respond within five business days or less." msgstr "Igyekszünk öt munkanapon belül vagy annál rövidebb időn belül válaszolni." -#: src/component/user/add/dialog.vue:235 src/component/user/edit/dialog.vue:415 -#: src/page/admin/users.vue:80 +#: src/component/user/add/dialog.vue:236 src/component/user/edit/dialog.vue:416 +#: src/page/admin/users.vue:82 msgid "Web Login" msgstr "Webes bejelentkezés" -#: src/component/user/add/dialog.vue:248 src/component/user/edit/dialog.vue:432 -#: src/page/admin/users.vue:82 src/options/auth.js:55 src/options/auth.js:68 +#: src/component/user/add/dialog.vue:249 src/component/user/edit/dialog.vue:433 +#: src/page/admin/users.vue:84 src/options/auth.js:56 src/options/auth.js:69 #: src/options/options.js:444 msgid "WebDAV" msgstr "WebDAV" -#: src/component/settings/webdav.vue:51 +#: src/component/settings/webdav.vue:52 msgid "WebDAV clients can connect to PhotoPrism using the following URL:" msgstr "A WebDAV-kliensek a következő URL-címen csatlakozhatnak a PhotoPrism-hez:" -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism." msgstr "A WebDAV-kliensek, mint például a Microsoft Windows Intézője vagy az Apple Finder, közvetlenül csatlakozhatnak a PhotoPrism-hez." -#: src/component/service/upload.vue:50 src/component/share/dialog.vue:220 +#: src/component/service/upload.vue:51 src/component/share/dialog.vue:220 msgid "WebDAV Upload" msgstr "WebDAV feltöltés" @@ -3344,8 +3383,8 @@ msgstr "WebDAV feltöltés" msgid "WebGL support is disabled in your browser" msgstr "A WebGL-támogatás le van tiltva a böngésződben" -#: src/page/settings/account.vue:615 src/page/settings/account.vue:709 -#: src/page/settings/account.vue:601 +#: src/page/settings/account.vue:621 src/page/settings/account.vue:715 +#: src/page/settings/account.vue:607 msgid "Website" msgstr "Weboldal" @@ -3353,12 +3392,12 @@ msgstr "Weboldal" msgid "White" msgstr "Fehér" -#: src/page/settings/account.vue:532 +#: src/page/settings/account.vue:538 msgid "Work Details" msgstr "Részletek" -#: src/page/settings/account.vue:500 src/component/photo/edit/details.vue:163 -#: src/component/photo/toolbar.vue:315 src/page/albums.vue:159 +#: src/page/settings/account.vue:506 src/component/photo/edit/details.vue:165 +#: src/component/photo/toolbar.vue:317 src/page/albums.vue:159 msgid "Year" msgstr "Év" @@ -3366,21 +3405,21 @@ msgstr "Év" msgid "Yellow" msgstr "Sárga" -#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:58 -#: src/component/photo/archive/dialog.vue:58 +#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:59 +#: src/component/photo/archive/dialog.vue:59 #: src/component/photo/clipboard.vue:200 src/component/photo/edit/files.vue:365 #: src/component/photo/edit/files.vue:395 #: src/component/photo/edit/files.vue:401 #: src/component/photo/edit/files.vue:407 -#: src/component/photo/edit/files.vue:510 src/component/photo/edit/info.vue:281 +#: src/component/photo/edit/files.vue:512 src/component/photo/edit/info.vue:281 #: src/component/photo/edit/info.vue:297 src/component/photo/edit/info.vue:313 #: src/component/photo/edit/info.vue:329 src/component/photo/edit/info.vue:344 -#: src/component/photo/toolbar.vue:434 +#: src/component/photo/toolbar.vue:436 msgid "Yes" msgstr "Igen" -#: src/component/confirm/sponsor.vue:59 src/page/about/about.vue:158 -#: src/page/connect.vue:315 +#: src/component/confirm/sponsor.vue:60 src/page/about/about.vue:160 +#: src/page/connect.vue:317 msgid "You are welcome to contact us at membership@photoprism.app for questions regarding your membership." msgstr "A tagsággal kapcsolatos kérdésekkel kapcsolatban szívesen állunk rendelkezésére a membership@photoprism.app e-mail címen." @@ -3392,7 +3431,11 @@ msgstr "Csak egy albumot tölthet le" msgid "You can only download one label" msgstr "Csak egy címkét tölthet le" -#: src/component/upload/dialog.vue:203 +#: src/component/location/dialog.vue:178 +msgid "You can search for a location or move the marker on the map to change the position:" +msgstr "Kereshet egy helyszínt, vagy a térképen mozgathatja a jelölőt a pozíció megváltoztatásához:" + +#: src/component/upload/dialog.vue:205 msgid "You can upload up to %{n} files for test purposes." msgstr "Legfeljebb %{n} fájlt tölthet fel tesztelés céljából." @@ -3405,7 +3448,7 @@ msgstr "Csak egy elemet választhat ki" msgid "You may rescan your library to find additional faces." msgstr "Újra beolvashatja könyvtárát, hogy további arcokat találjon." -#: src/page/connect.vue:146 src/page/connect.vue:150 +#: src/page/connect.vue:147 src/page/connect.vue:151 msgid "Your account has been successfully connected." msgstr "A fiókját sikeresen csatlakoztattuk." @@ -3413,8 +3456,8 @@ msgstr "A fiókját sikeresen csatlakoztattuk." msgid "Your browser does not support WebGL" msgstr "A böngésző nem támogatja a WebGL-t" -#: src/component/confirm/sponsor.vue:43 src/page/about/about.vue:97 -#: src/page/about/about.vue:156 src/page/connect.vue:220 +#: src/component/confirm/sponsor.vue:44 src/page/about/about.vue:98 +#: src/page/about/about.vue:158 src/page/connect.vue:222 msgid "Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy." msgstr "Folyamatos támogatása segít nekünk olyan szolgáltatásokat nyújtani, mint a műholdas térképek és új funkciók fejlesztése." @@ -3495,9 +3538,6 @@ msgstr "Nagyítás/kicsinyítés" #~ msgid "Open Folder" #~ msgstr "Mappa megnyitása" -#~ msgid "Cannot copy to clipboard" -#~ msgstr "Nem lehet a vágólapra másolni" - #~ msgid "Sound" #~ msgstr "Hang" diff --git a/frontend/src/locales/id.po b/frontend/src/locales/id.po index 1b7fb0676..a3abc2038 100644 --- a/frontend/src/locales/id.po +++ b/frontend/src/locales/id.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: ci@photoprism.app\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2025-04-04 08:03+0000\n" +"PO-Revision-Date: 2025-07-06 08:58+0000\n" "Last-Translator: DeepL \n" "Language-Team: Indonesian \n" "Language: id\n" @@ -11,7 +11,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.10.4\n" +"X-Generator: Weblate 5.12.2\n" "Generated-By: easygettext\n" #: src/locales.js:268 @@ -42,7 +42,7 @@ msgstr "{0} dipilih" msgid "{0}-{1} of {2}" msgstr "{0}-{1} dari {2}" -#: src/page/albums.vue:612 +#: src/page/albums.vue:617 msgid "%{n} albums found" msgstr "%{n} album ditemukan" @@ -50,25 +50,25 @@ msgstr "%{n} album ditemukan" msgid "%{n} files uploaded" msgstr "%{n} berkas yang diunggah" -#: src/page/library/browse.vue:362 +#: src/page/library/browse.vue:364 msgid "%{n} folders found" msgstr "%{n} folder ditemukan" -#: src/component/navigation.vue:1676 +#: src/component/navigation.vue:1707 msgid "%{n} GB of %{q} GB used" msgstr "%{n} GB dari %{q} GB yang digunakan" -#: src/page/labels.vue:528 +#: src/page/labels.vue:533 msgid "%{n} labels found" msgstr "%{n} label yang ditemukan" -#: src/page/people/new.vue:350 src/page/people/new.vue:447 -#: src/page/people/recognized.vue:536 +#: src/page/people/new.vue:350 src/page/people/new.vue:450 +#: src/page/people/recognized.vue:541 msgid "%{n} people found" msgstr "%{n} orang yang ditemukan" -#: src/page/album/photos.vue:308 src/page/album/photos.vue:493 -#: src/page/photos.vue:441 src/page/photos.vue:631 +#: src/page/album/photos.vue:313 src/page/album/photos.vue:504 +#: src/page/photos.vue:446 src/page/photos.vue:641 msgid "%{n} pictures found" msgstr "%{n} gambar yang ditemukan" @@ -88,12 +88,12 @@ msgstr "1 jam" msgid "12 hours" msgstr "12 jam" -#: src/component/user/edit/dialog.vue:452 src/page/settings/account.vue:324 -#: src/component/settings/passcode.vue:75 +#: src/component/user/edit/dialog.vue:453 src/page/settings/account.vue:325 +#: src/component/settings/passcode.vue:78 msgid "2-Factor Authentication" msgstr "Autentikasi 2 Faktor" -#: src/component/user/edit/dialog.vue:451 src/options/auth.js:46 +#: src/component/user/edit/dialog.vue:452 src/options/auth.js:47 msgid "2FA" msgstr "2FA" @@ -109,20 +109,20 @@ msgstr "Satu klik akan menyalinnya ke clipboard Anda." msgid "A new version of %{s} is available:" msgstr "Versi baru dari %{s} telah tersedia:" -#: src/component/user/edit/dialog.vue:233 -#: src/component/user/edit/dialog.vue:234 src/page/about/about.vue:56 +#: src/component/user/edit/dialog.vue:234 +#: src/component/user/edit/dialog.vue:235 src/page/about/about.vue:56 #: src/page/settings/account.vue:248 src/page/settings/account.vue:249 -#: src/app/routes.js:63 src/component/navigation.vue:1521 -#: src/page/people/recognized.vue:292 +#: src/app/routes.js:63 src/component/navigation.vue:1547 +#: src/page/people/recognized.vue:296 msgid "About" msgstr "Tentang" -#: src/options/auth.js:26 src/options/auth.js:44 +#: src/options/auth.js:27 src/options/auth.js:45 msgid "Access Token" msgstr "Token Akses" -#: src/component/navigation.vue:87 src/component/navigation.vue:1788 -#: src/component/service/upload.vue:71 src/model/service.js:96 +#: src/component/navigation.vue:87 src/component/navigation.vue:1822 +#: src/component/service/upload.vue:72 src/model/service.js:96 #: src/model/user.js:171 src/page/settings.vue:85 #: src/page/settings/general.vue:582 msgid "Account" @@ -136,7 +136,7 @@ msgstr "Akun dibuat" msgid "Account deleted" msgstr "Akun dihapus" -#: src/page/admin/users.vue:335 +#: src/page/admin/users.vue:337 msgid "Account restored" msgstr "Akun dipulihkan" @@ -157,8 +157,8 @@ msgstr "Tindakan" msgid "Actions" msgstr "Tindakan" -#: src/page/connect.vue:294 src/component/settings/passcode.vue:346 -#: src/page/connect.vue:303 +#: src/page/connect.vue:296 src/component/settings/passcode.vue:349 +#: src/page/connect.vue:305 msgid "Activate" msgstr "Aktifkan" @@ -174,20 +174,20 @@ msgstr "Aktifkan untuk mengurutkan menaik." msgid "Activate to sort descending." msgstr "Aktifkan untuk mengurutkan menurun." -#: src/page/connect.vue:231 src/page/connect.vue:240 +#: src/page/connect.vue:233 src/page/connect.vue:242 msgid "Activation Code" msgstr "Kode Aktivasi" -#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:83 -#: src/component/settings/apps.vue:448 +#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:92 +#: src/component/settings/apps.vue:451 msgid "Add" msgstr "Menambahkan" -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:246 msgid "Add %{s}?" msgstr "Tambahkan %{s}?" -#: src/component/user/add/dialog.vue:56 src/component/service/add.vue:49 +#: src/component/user/add/dialog.vue:57 src/component/service/add.vue:50 msgid "Add Account" msgstr "Mengedit Akun" @@ -204,8 +204,8 @@ msgid "Add Link" msgstr "Tambah tautan" #: src/component/photo/edit/people.vue:25 -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:57 -#: src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:57 +#: src/page/people/new.vue:246 msgid "Add person?" msgstr "Tambah orang?" @@ -221,10 +221,15 @@ msgstr "Tambahkan gambar dari hasil pencarian dengan memilihnya." msgid "Add to album" msgstr "Tambahkan ke album" -#: src/component/photo/edit/files.vue:514 +#: src/component/photo/edit/files.vue:516 msgid "Added" msgstr "Sudah ditambahkan" +#: src/component/location/dialog.vue:68 src/component/location/dialog.vue:90 +#: src/component/photo/edit/details.vue:246 +msgid "Adjust Location" +msgstr "Sesuaikan Lokasi" + #: src/options/admin.js:6 src/options/auth.js:6 msgid "Admin" msgstr "Admin" @@ -245,7 +250,7 @@ msgstr "Setelah 3 hari" msgid "After 7 days" msgstr "Setelah 7 hari" -#: src/component/settings/passcode.vue:93 +#: src/component/settings/passcode.vue:96 msgid "After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:" msgstr "Setelah memasukkan kata sandi untuk konfirmasi, Anda dapat mengatur autentikasi dua faktor dengan aplikasi atau perangkat pengautentikasi yang kompatibel:" @@ -277,12 +282,16 @@ msgstr "Album" msgid "Album Backups" msgstr "Cadangan Album" -#: src/page/albums.vue:674 +#: src/page/albums.vue:685 msgid "Album created" msgstr "Album dibuat" -#: src/app/routes.js:176 src/component/album/toolbar.vue:51 -#: src/component/navigation.vue:604 src/component/navigation.vue:1882 +#: src/page/album/photos.vue:589 +msgid "Album deleted" +msgstr "Album dihapus" + +#: src/app/routes.js:184 src/component/album/toolbar.vue:55 +#: src/component/navigation.vue:607 src/component/navigation.vue:1922 #: src/component/photo/edit/info.vue:220 src/options/options.js:198 msgid "Albums" msgstr "Koleksi Album" @@ -295,7 +304,7 @@ msgstr "Koleksi album dihapus" msgid "All" msgstr "Semua" -#: src/page/albums.vue:465 +#: src/page/albums.vue:470 msgid "All %{n} albums loaded" msgstr "%{n} album telah dimuat" @@ -311,8 +320,8 @@ msgstr "%{n} orang telah dimuat" msgid "All Cameras" msgstr "Semua Kamera" -#: src/component/photo/toolbar.vue:74 src/page/albums.vue:44 -#: src/page/albums.vue:240 src/page/albums.vue:746 +#: src/component/photo/toolbar.vue:74 src/page/albums.vue:45 +#: src/page/albums.vue:242 src/page/albums.vue:757 msgid "All Categories" msgstr "Semua Kategori" @@ -344,7 +353,7 @@ msgstr "Dalam semua bulan" msgid "All originals" msgstr "Semua yang asli" -#: src/component/photo/toolbar.vue:76 src/page/albums.vue:93 +#: src/component/photo/toolbar.vue:76 src/page/albums.vue:94 msgid "All Years" msgstr "Dalam semua tahun" @@ -356,7 +365,7 @@ msgstr "Sebagai kemungkinan lain, Anda dapat mengunggah berkas langsung ke WebDA msgid "Altitude" msgstr "Ketinggian" -#: src/component/photo/edit/details.vue:272 +#: src/component/photo/edit/details.vue:297 msgid "Altitude (m)" msgstr "Ketinggian (m)" @@ -364,8 +373,7 @@ msgstr "Ketinggian (m)" msgid "AM" msgstr "AM" -#: src/app/routes.js:257 src/component/navigation.vue:791 -#: src/component/photo/edit/files.vue:364 +#: src/app/routes.js:265 src/component/photo/edit/files.vue:364 #: src/component/photo/view/cards.vue:327 #: src/component/photo/view/cards.vue:511 src/component/photo/view/list.vue:184 #: src/component/photo/view/mosaic.vue:171 src/options/options.js:301 @@ -376,43 +384,47 @@ msgstr "Animasi" msgid "Animation" msgstr "Animasi" +#: src/component/navigation.vue:797 +msgid "Animations" +msgstr "Animasi" + #: src/component/share/dialog.vue:207 msgid "Any private photos and videos remain private and won't be shared." msgstr "Semua foto dan video pribadi tetap pribadi dan tidak akan dibagikan." -#: src/component/service/edit.vue:372 +#: src/component/service/edit.vue:373 msgid "API Key" msgstr "Kunci API" -#: src/page/admin/sessions.vue:357 src/options/auth.js:25 +#: src/page/admin/sessions.vue:361 src/options/auth.js:26 msgid "Application" msgstr "Aplikasi" -#: src/component/photo/edit/details.vue:641 +#: src/component/photo/edit/details.vue:615 msgid "Apply" msgstr "Terapkan" #: src/component/photo/clipboard.vue:64 -#: src/component/photo/edit/details.vue:640 +#: src/component/photo/edit/details.vue:614 #: src/component/photo/view/cards.vue:416 msgid "Approve" msgstr "Setujui" -#: src/page/settings/account.vue:374 src/component/settings/apps.vue:91 +#: src/page/settings/account.vue:378 src/component/settings/apps.vue:94 msgid "Apps and Devices" msgstr "Aplikasi dan Perangkat" -#: src/app/routes.js:287 src/component/lightbox.vue:1207 -#: src/component/navigation.vue:555 src/component/photo/clipboard.vue:142 +#: src/app/routes.js:295 src/component/lightbox.vue:1207 +#: src/component/navigation.vue:557 src/component/photo/clipboard.vue:142 #: src/component/photo/view/cards.vue:398 src/page/settings/general.vue:432 msgid "Archive" msgstr "Arsip" -#: src/component/lightbox.vue:1982 src/component/photo/edit/info.vue:433 +#: src/component/lightbox.vue:2002 src/component/photo/edit/info.vue:433 msgid "Archived" msgstr "Diarsipkan" -#: src/component/photo/archive/dialog.vue:34 +#: src/component/photo/archive/dialog.vue:35 msgid "Are you sure you want to archive the selection?" msgstr "Apakah Anda yakin untuk mengarsipkan pilihan ini?" @@ -420,19 +432,23 @@ msgstr "Apakah Anda yakin untuk mengarsipkan pilihan ini?" msgid "Are you sure you want to delete these albums?" msgstr "Apakah Anda yakin untuk menghapus album - album ini?" -#: src/component/label/delete/dialog.vue:34 +#: src/component/label/delete/dialog.vue:35 msgid "Are you sure you want to delete these labels?" msgstr "Apakah Anda yakin untuk menghapus label - label ini?" -#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:36 +#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:37 msgid "Are you sure you want to delete this account?" msgstr "Apakah Anda yakin untuk menghapus akun ini?" +#: src/component/album/toolbar.vue:136 +msgid "Are you sure you want to delete this album?" +msgstr "Apakah Anda yakin ingin menghapus album ini?" + #: src/component/photo/clipboard.vue:199 msgid "Are you sure you want to permanently delete these pictures?" msgstr "Apakah Anda yakin ingin mengapus gambar ini secara permanen?" -#: src/component/file/delete/dialog.vue:34 +#: src/component/file/delete/dialog.vue:35 msgid "Are you sure you want to permanently delete this file?" msgstr "Apakah Anda yakin untuk menghapus berkas ini secara permanen?" @@ -441,7 +457,7 @@ msgstr "Apakah Anda yakin untuk menghapus berkas ini secara permanen?" msgid "Are you sure?" msgstr "Apakah Anda yakin?" -#: src/component/photo/edit/details.vue:537 +#: src/component/photo/edit/details.vue:511 msgid "Artist" msgstr "Artis" @@ -449,14 +465,14 @@ msgstr "Artis" msgid "Aspect Ratio" msgstr "Rasio Aspek" -#: src/app/routes.js:250 src/component/navigation.vue:770 +#: src/app/routes.js:258 src/component/navigation.vue:776 #: src/options/options.js:297 msgid "Audio" msgstr "Audio" -#: src/component/user/add/dialog.vue:190 src/component/user/edit/dialog.vue:309 -#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:281 -#: src/page/admin/users.vue:75 +#: src/component/user/add/dialog.vue:191 src/component/user/edit/dialog.vue:310 +#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:282 +#: src/page/admin/users.vue:77 msgid "Authentication" msgstr "Otentikasi" @@ -464,11 +480,11 @@ msgstr "Otentikasi" msgid "Auto" msgstr "Otomatis" -#: src/component/settings/apps.vue:151 +#: src/component/settings/apps.vue:154 msgid "Back" msgstr "Kembali" -#: src/component/scroll.vue:20 +#: src/component/scroll.vue:18 msgid "Back to top" msgstr "Kembali ke atas" @@ -480,26 +496,26 @@ msgstr "Cadangan" msgid "Badge" msgstr "Lencana" -#: src/component/user/edit/dialog.vue:361 #: src/component/user/edit/dialog.vue:362 +#: src/component/user/edit/dialog.vue:363 msgid "Base Path" msgstr "Jalur Dasar" -#: src/page/about/about.vue:95 src/page/connect.vue:220 +#: src/page/about/about.vue:96 src/page/connect.vue:222 msgid "Become a member today, support our mission and enjoy our member benefits!" msgstr "Jadilah anggota hari ini, dukung misi kami dan nikmati manfaat anggota kami!" -#: src/component/confirm/sponsor.vue:51 src/page/about/about.vue:99 +#: src/component/confirm/sponsor.vue:52 src/page/about/about.vue:100 msgid "Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services." msgstr "Karena 100% didanai sendiri dan independen, kami bisa menjanjikan kepada Anda bahwa kami tidak akan pernah menjual data Anda dan kami akan selalu transparan tentang perangkat lunak dan layanan kami." -#: src/component/user/edit/dialog.vue:258 -#: src/component/user/edit/dialog.vue:259 src/page/settings/account.vue:227 +#: src/component/user/edit/dialog.vue:259 +#: src/component/user/edit/dialog.vue:260 src/page/settings/account.vue:227 #: src/page/settings/account.vue:228 msgid "Bio" msgstr "Bio" -#: src/page/settings/account.vue:431 +#: src/page/settings/account.vue:437 msgid "Birth Date" msgstr "Tanggal Lahir" @@ -520,7 +536,7 @@ msgid "Brown" msgstr "Coklat" #: src/component/photo/edit/files.vue:263 src/component/photo/toolbar.vue:141 -#: src/component/upload/dialog.vue:240 +#: src/component/upload/dialog.vue:242 msgid "Browse" msgstr "Jelajahi" @@ -548,16 +564,16 @@ msgstr "Laporan Bug" msgid "Busy, please wait…" msgstr "Sibuk, harap tunggu…" -#: src/page/connect.vue:317 +#: src/page/connect.vue:319 msgid "By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct." msgstr "Dengan menggunakan perangkat lunak dan layanan yang kami sediakan, Anda menyetujui ketentuan layanan, kebijakan privasi, dan kode etik kami." -#: src/app/routes.js:189 src/component/navigation.vue:1081 +#: src/app/routes.js:197 src/component/navigation.vue:1097 #: src/options/options.js:204 src/page/settings/general.vue:205 msgid "Calendar" msgstr "Kalender" -#: src/component/photo/edit/details.vue:346 src/component/photo/toolbar.vue:232 +#: src/component/photo/edit/details.vue:320 src/component/photo/toolbar.vue:234 #: src/component/photo/view/cards.vue:467 src/component/photo/view/list.vue:116 msgid "Camera" msgstr "Kamera" @@ -570,12 +586,12 @@ msgstr "Serial Kamera" msgid "Can't access your authenticator app or device?" msgstr "Tidak dapat mengakses aplikasi atau perangkat autentikator Anda?" -#: src/page/album/photos.vue:317 src/page/photos.vue:450 +#: src/page/album/photos.vue:322 src/page/photos.vue:455 msgid "Can't load more, limit reached" msgstr "Tidak dapat memuat lebih banyak, batas tercapai" #: src/common/clipboard.js:102 src/common/clipboard.js:139 -#: src/page/albums.vue:684 src/page/albums.vue:700 src/page/labels.vue:293 +#: src/page/albums.vue:695 src/page/albums.vue:711 src/page/labels.vue:293 #: src/page/labels.vue:313 src/page/library/browse.vue:233 #: src/page/library/browse.vue:249 src/page/people/new.vue:278 #: src/page/people/new.vue:294 src/page/people/recognized.vue:305 @@ -584,26 +600,31 @@ msgid "Can't select more items" msgstr "Tidak dapat memilih item lainnya" #: src/component/session/remove/dialog.vue:45 -#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:473 -#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:119 +#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:474 +#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:120 #: src/component/album/delete/dialog.vue:43 -#: src/component/album/edit/dialog.vue:199 src/component/confirm/dialog.vue:43 -#: src/component/file/delete/dialog.vue:47 -#: src/component/label/delete/dialog.vue:47 -#: src/component/label/edit/dialog.vue:107 -#: src/component/people/edit/dialog.vue:120 +#: src/component/album/edit/dialog.vue:200 src/component/confirm/dialog.vue:43 +#: src/component/file/delete/dialog.vue:48 +#: src/component/label/delete/dialog.vue:48 +#: src/component/label/edit/dialog.vue:108 +#: src/component/location/dialog.vue:200 +#: src/component/people/edit/dialog.vue:121 #: src/component/photo/album/dialog.vue:78 src/component/service/add.vue:19 -#: src/component/service/edit.vue:455 src/component/service/remove.vue:49 -#: src/component/service/upload.vue:117 src/component/settings/apps.vue:352 -#: src/component/settings/passcode.vue:249 -#: src/component/settings/passcode.vue:333 -#: src/component/settings/password.vue:159 src/component/share/dialog.vue:28 -#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:123 +#: src/component/service/edit.vue:456 src/component/service/remove.vue:50 +#: src/component/service/upload.vue:118 src/component/settings/apps.vue:355 +#: src/component/settings/passcode.vue:252 +#: src/component/settings/passcode.vue:336 +#: src/component/settings/password.vue:160 src/component/share/dialog.vue:28 +#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:124 #: src/page/library/import.vue:119 src/page/library/index.vue:128 msgid "Cancel" msgstr "Batal" -#: src/component/photo/edit/details.vue:87 src/component/photo/edit/info.vue:61 +#: src/common/util.js:863 src/common/util.js:870 +msgid "Cannot copy to clipboard" +msgstr "Tidak dapat menyalin ke papan klip" + +#: src/component/photo/edit/details.vue:89 src/component/photo/edit/info.vue:63 #: src/component/photo/edit/labels.vue:42 #: src/component/photo/view/cards.vue:445 src/component/sidebar/info.vue:72 msgid "Caption" @@ -617,17 +638,17 @@ msgstr "Kartu" msgid "Carousel slide {0} of {1}" msgstr "Geser korsel {0} dari {1}" -#: src/page/about/feedback.vue:82 src/page/about/feedback.vue:83 -#: src/component/album/edit/dialog.vue:128 src/component/photo/toolbar.vue:397 +#: src/page/about/feedback.vue:83 src/page/about/feedback.vue:84 +#: src/component/album/edit/dialog.vue:129 src/component/photo/toolbar.vue:399 #: src/page/albums.vue:187 msgid "Category" msgstr "Kategori" -#: src/component/user/edit/dialog.vue:191 src/page/settings/account.vue:201 +#: src/component/user/edit/dialog.vue:192 src/page/settings/account.vue:201 msgid "Change Avatar" msgstr "Ubah bendera pribadi" -#: src/page/settings/account.vue:297 src/component/settings/password.vue:48 +#: src/page/settings/account.vue:297 src/component/settings/password.vue:49 msgid "Change Password" msgstr "Kata sandi baru" @@ -644,17 +665,17 @@ msgid "Change private flag" msgstr "Ubah bendera pribadi" #: src/component/user/add/dialog.vue:108 src/component/user/add/dialog.vue:113 -#: src/component/user/edit/dialog.vue:90 src/component/user/edit/dialog.vue:95 +#: src/component/user/edit/dialog.vue:91 src/component/user/edit/dialog.vue:96 #: src/page/settings/account.vue:121 src/page/settings/account.vue:126 msgid "Changes could not be saved" msgstr "Perubahan tidak dapat disimpan" -#: src/component/user/edit/dialog.vue:83 src/component/user/edit/dialog.vue:159 +#: src/component/user/edit/dialog.vue:84 src/component/user/edit/dialog.vue:160 #: src/component/album/edit/dialog.vue:73 -#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1941 +#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1961 #: src/component/photo/edit/files.vue:162 src/component/service/edit.vue:90 #: src/component/share/dialog.vue:92 src/component/share/dialog.vue:111 -#: src/page/albums.vue:677 src/page/people/recognized.vue:119 +#: src/page/albums.vue:688 src/page/people/recognized.vue:119 #: src/page/settings/advanced.vue:62 src/page/settings/content.vue:62 #: src/page/settings/general.vue:108 msgid "Changes successfully saved" @@ -668,7 +689,7 @@ msgstr "Perubahan pada pengaturan lanjutan memerlukan pengaktifan ulang untuk me msgid "Checked" msgstr "Diperiksa" -#: src/component/photo/edit/files.vue:495 +#: src/component/photo/edit/files.vue:497 msgid "Chroma" msgstr "Kroma" @@ -684,24 +705,24 @@ msgstr "Pembersihan" msgid "Clear {0}" msgstr "Hapus {0}" -#: src/options/auth.js:11 src/options/auth.js:23 src/options/auth.js:43 +#: src/options/auth.js:12 src/options/auth.js:24 src/options/auth.js:44 msgid "Client" msgstr "Klien" -#: src/options/auth.js:24 +#: src/options/auth.js:25 msgid "Client Credentials" msgstr "Kredensial Klien" -#: src/page/admin/sessions.vue:529 src/component/lightbox.vue:284 -#: src/component/lightbox.vue:1009 src/component/lightbox.vue:1010 -#: src/component/photo/edit/details.vue:627 src/component/photo/toolbar.vue:160 -#: src/component/settings/apps.vue:224 src/component/settings/apps.vue:437 -#: src/component/settings/passcode.vue:148 -#: src/component/settings/passcode.vue:456 -#: src/component/settings/passcode.vue:497 -#: src/component/settings/webdav.vue:131 src/component/share/dialog.vue:231 +#: src/component/user/edit/dialog.vue:474 src/page/admin/sessions.vue:536 +#: src/component/lightbox.vue:284 src/component/lightbox.vue:1009 +#: src/component/lightbox.vue:1010 src/component/photo/edit/details.vue:601 +#: src/component/photo/toolbar.vue:161 src/component/settings/apps.vue:227 +#: src/component/settings/apps.vue:440 src/component/settings/passcode.vue:151 +#: src/component/settings/passcode.vue:459 +#: src/component/settings/passcode.vue:500 +#: src/component/settings/webdav.vue:132 src/component/share/dialog.vue:231 #: src/component/sidebar/info.vue:26 src/component/update.vue:57 -#: src/component/upload/dialog.vue:228 src/locales.js:206 +#: src/component/upload/dialog.vue:230 src/locales.js:206 #: src/page/library/errors.vue:253 msgid "Close" msgstr "Tutup" @@ -710,11 +731,11 @@ msgstr "Tutup" msgid "Codec" msgstr "Codec" -#: src/component/photo/toolbar.vue:369 +#: src/component/photo/toolbar.vue:371 msgid "Color" msgstr "Warna" -#: src/component/photo/edit/files.vue:483 +#: src/component/photo/edit/files.vue:485 msgid "Color Profile" msgstr "Profil Warna" @@ -722,7 +743,7 @@ msgstr "Profil Warna" msgid "Colors" msgstr "Warna" -#: src/page/connect.vue:260 src/page/connect.vue:269 +#: src/page/connect.vue:262 src/page/connect.vue:271 msgid "Compare Editions" msgstr "Bandingkan Edisi" @@ -735,17 +756,18 @@ msgstr "Selesaikan Pemindaian Ulang" msgid "Confidence" msgstr "Keyakinan" +#: src/component/location/dialog.vue:212 #: src/component/photo/album/dialog.vue:90 -#: src/component/settings/passcode.vue:261 +#: src/component/settings/passcode.vue:264 msgid "Confirm" msgstr "Mengonfirmasi" -#: src/component/service/add.vue:20 src/page/settings/services.vue:187 +#: src/component/service/add.vue:20 src/page/settings/services.vue:191 msgid "Connect" msgstr "Hubungkan" -#: src/page/settings/account.vue:401 src/component/settings/webdav.vue:45 -#: src/page/settings/services.vue:167 +#: src/page/settings/account.vue:406 src/component/settings/webdav.vue:46 +#: src/page/settings/services.vue:170 msgid "Connect via WebDAV" msgstr "Terhubung melalui WebDAV" @@ -753,22 +775,22 @@ msgstr "Terhubung melalui WebDAV" msgid "Connected" msgstr "Hubungkan" -#: src/page/settings/account.vue:640 src/page/settings/account.vue:532 +#: src/page/settings/account.vue:646 src/page/settings/account.vue:538 msgid "Contact Details" msgstr "Hubungi Kami" -#: src/page/about/feedback.vue:37 src/page/connect.vue:132 -#: src/page/connect.vue:136 +#: src/page/about/feedback.vue:37 src/page/connect.vue:133 +#: src/page/connect.vue:137 msgid "Contact Us" msgstr "Hubungi Kami" #: src/page/albums.vue:433 src/page/labels.vue:237 -#: src/page/people/recognized.vue:306 +#: src/page/people/recognized.vue:310 msgid "Contains %{n} pictures." msgstr "Berisi %{n} gambar." #: src/page/albums.vue:427 src/page/labels.vue:231 -#: src/page/people/recognized.vue:300 +#: src/page/people/recognized.vue:304 msgid "Contains one picture." msgstr "Berisi satu gambar." @@ -776,7 +798,7 @@ msgstr "Berisi satu gambar." msgid "Content" msgstr "Konten" -#: src/component/settings/apps.vue:163 +#: src/component/settings/apps.vue:166 msgid "Continue" msgstr "Melanjutkan" @@ -784,7 +806,7 @@ msgstr "Melanjutkan" msgid "Continue with %{provider}" msgstr "Lanjutkan dengan %{penyedia}" -#: src/options/admin.js:18 src/options/auth.js:9 +#: src/options/admin.js:22 src/options/auth.js:10 msgid "Contributor" msgstr "Kontributor" @@ -792,15 +814,15 @@ msgstr "Kontributor" msgid "Converting" msgstr "Mengubah" -#: src/common/util.js:846 +#: src/common/util.js:856 msgid "Copied to clipboard" msgstr "Disalin ke papan klip" -#: src/component/settings/apps.vue:250 src/component/settings/passcode.vue:358 +#: src/component/settings/apps.vue:253 src/component/settings/passcode.vue:361 msgid "Copy" msgstr "Menyalin" -#: src/component/photo/edit/details.vue:516 +#: src/component/photo/edit/details.vue:490 msgid "Copyright" msgstr "Hak Cipta" @@ -808,8 +830,8 @@ msgstr "Hak Cipta" msgid "Couldn't find anything." msgstr "Tidak dapat menemukan apa pun." -#: src/page/settings/account.vue:685 src/component/photo/edit/details.vue:242 -#: src/component/photo/toolbar.vue:203 src/page/settings/account.vue:577 +#: src/page/settings/account.vue:691 src/component/photo/edit/details.vue:268 +#: src/component/photo/toolbar.vue:205 src/page/settings/account.vue:583 msgid "Country" msgstr "Negara" @@ -833,7 +855,7 @@ msgstr "Buat file YAML untuk mencadangkan metadata album." msgid "Create YAML sidecar files to back up picture metadata." msgstr "Buat file sespan YAML untuk mencadangkan metadata gambar." -#: src/page/admin/sessions.vue:417 src/component/photo/edit/info.vue:412 +#: src/page/admin/sessions.vue:422 src/component/photo/edit/info.vue:412 msgid "Created" msgstr "Dibuat" @@ -845,11 +867,11 @@ msgstr "Membuat thumbnail untuk" msgid "Cubic: Moderate Quality, Good Performance" msgstr "Kubik: Kualitas Sedang, Performa Bagus" -#: src/component/settings/password.vue:85 +#: src/component/settings/password.vue:86 msgid "Current Password" msgstr "Kata Sandi Saat Ini" -#: src/options/themes.js:919 src/options/themes.js:928 +#: src/options/themes.js:920 src/options/themes.js:929 msgid "Custom" msgstr "Kustom" @@ -865,11 +887,11 @@ msgstr "Harian" msgid "Database Backups" msgstr "Pencadangan Basis Data" -#: src/page/settings/account.vue:450 src/component/photo/edit/details.vue:110 +#: src/page/settings/account.vue:456 src/component/photo/edit/details.vue:112 msgid "Day" msgstr "Hari" -#: src/component/settings/passcode.vue:445 +#: src/component/settings/passcode.vue:448 msgid "Deactivate" msgstr "Menonaktifkan" @@ -877,36 +899,40 @@ msgstr "Menonaktifkan" msgid "Debug Logs" msgstr "Log Debug" -#: src/options/admin.js:31 src/page/admin/sessions.vue:136 -#: src/page/admin/users.vue:176 src/component/photo/edit/info.vue:47 +#: src/options/admin.js:35 src/page/admin/sessions.vue:136 +#: src/page/admin/users.vue:178 src/component/photo/edit/info.vue:47 #: src/component/photo/edit/info.vue:110 src/model/session.js:66 -#: src/model/user.js:246 src/options/auth.js:20 src/options/auth.js:21 -#: src/options/auth.js:39 src/options/auth.js:40 src/options/options.js:196 +#: src/model/user.js:246 src/options/auth.js:21 src/options/auth.js:22 +#: src/options/auth.js:40 src/options/auth.js:41 src/options/options.js:196 #: src/options/options.js:232 src/options/options.js:316 -#: src/options/themes.js:773 +#: src/options/themes.js:774 msgid "Default" msgstr "Bawaan" -#: src/component/service/edit.vue:123 +#: src/component/service/edit.vue:124 msgid "Default Folder" msgstr "Folder Default" #: src/component/session/remove/dialog.vue:56 #: src/component/user/remove/dialog.vue:56 src/component/album/clipboard.vue:97 -#: src/component/album/delete/dialog.vue:54 -#: src/component/file/delete/dialog.vue:58 src/component/label/clipboard.vue:58 -#: src/component/label/delete/dialog.vue:58 +#: src/component/album/delete/dialog.vue:54 src/component/album/toolbar.vue:137 +#: src/component/file/delete/dialog.vue:59 src/component/label/clipboard.vue:58 +#: src/component/label/delete/dialog.vue:59 #: src/component/photo/clipboard.vue:168 src/component/photo/edit/files.vue:238 -#: src/component/service/remove.vue:60 src/component/share/dialog.vue:170 +#: src/component/service/remove.vue:61 src/component/share/dialog.vue:170 #: src/page/settings/general.vue:457 msgid "Delete" msgstr "Hapus" +#: src/component/album/toolbar.vue:133 +msgid "Delete Album" +msgstr "Menghapus Album" + #: src/component/photo/toolbar.vue:119 src/page/library/errors.vue:95 msgid "Delete All" msgstr "Hapus Semua" -#: src/component/photo/toolbar.vue:433 src/page/library/errors.vue:193 +#: src/component/photo/toolbar.vue:435 src/page/library/errors.vue:193 msgid "Delete all?" msgstr "Hapus semua?" @@ -914,16 +940,16 @@ msgstr "Hapus semua?" msgid "Delete orphaned index entries, sidecar files and thumbnails." msgstr "Menghapus entri indeks, file sidebar, dan gambar mini." -#: src/component/album/edit/dialog.vue:107 src/page/albums.vue:411 +#: src/component/album/edit/dialog.vue:108 src/page/albums.vue:411 msgid "Description" msgstr "Deskripsi" -#: src/component/settings/webdav.vue:115 +#: src/component/settings/webdav.vue:116 msgid "Detailed instructions can be found in our User Guide." msgstr "Petunjuk rinci dapat ditemukan di Panduan Pengguna kami." -#: src/component/photo/edit/dialog.vue:156 -#: src/component/photo/edit/dialog.vue:173 +#: src/component/photo/edit/dialog.vue:162 +#: src/component/photo/edit/dialog.vue:181 msgid "Details" msgstr "Detail" @@ -987,8 +1013,8 @@ msgstr "Menonaktifkan dukungan grafis vektor." msgid "Disables video transcoding and thumbnail extraction." msgstr "Menonaktifkan transkode video dan ekstraksi gambar mini." -#: src/app/routes.js:558 src/app/routes.js:565 src/app/routes.js:572 -#: src/app/routes.js:579 +#: src/app/routes.js:566 src/app/routes.js:573 src/app/routes.js:580 +#: src/app/routes.js:587 msgid "Discover" msgstr "Temukan" @@ -996,9 +1022,9 @@ msgstr "Temukan" msgid "Dismiss" msgstr "Bubarkan." -#: src/component/user/add/dialog.vue:133 src/component/user/add/dialog.vue:134 -#: src/component/user/edit/dialog.vue:163 -#: src/component/user/edit/dialog.vue:164 src/page/admin/users.vue:72 +#: src/component/user/add/dialog.vue:134 src/component/user/add/dialog.vue:135 +#: src/component/user/edit/dialog.vue:164 +#: src/component/user/edit/dialog.vue:165 src/page/admin/users.vue:74 #: src/page/settings/account.vue:149 src/page/settings/account.vue:151 msgid "Display Name" msgstr "Nama Tampilan" @@ -1013,12 +1039,12 @@ msgstr "Menampilkan judul gambar dalam hasil pencarian." #: src/component/photo/view/cards.vue:339 #: src/component/photo/view/cards.vue:521 -#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:174 +#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:176 #: src/options/options.js:309 msgid "Document" msgstr "Dokumen" -#: src/component/navigation.vue:480 +#: src/component/navigation.vue:482 msgid "Documents" msgstr "Dokumen" @@ -1034,16 +1060,16 @@ msgstr "Jangan gunakan ImageMagick untuk mengonversi gambar." msgid "Don't use RawTherapee to convert RAW images." msgstr "Jangan gunakan RawTherapee untuk mengonversi file RAW." -#: src/component/settings/apps.vue:238 src/component/share/dialog.vue:29 +#: src/component/settings/apps.vue:241 src/component/share/dialog.vue:29 msgid "Done" msgstr "Selesai" -#: src/component/upload/dialog.vue:135 src/page/library/import.vue:46 +#: src/component/upload/dialog.vue:137 src/page/library/import.vue:46 #: src/page/library/index.vue:52 msgid "Done." msgstr "Selesai." -#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:118 +#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:123 #: src/component/file/clipboard.vue:48 src/component/lightbox.vue:1235 #: src/component/people/clipboard.vue:47 src/component/photo/clipboard.vue:116 #: src/component/photo/edit/files.vue:168 src/page/settings/content.vue:331 @@ -1055,7 +1081,7 @@ msgstr "Unduh" msgid "Download only original media files, without any automatically generated files." msgstr "Unduh hanya file media asli, tanpa file yang dibuat secara otomatis." -#: src/component/service/edit.vue:237 +#: src/component/service/edit.vue:238 msgid "Download remote files" msgstr "Unduh file jarak jauh" @@ -1063,9 +1089,9 @@ msgstr "Unduh file jarak jauh" msgid "Download single files and zip archives." msgstr "Unduh file tunggal dan arsip zip." -#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:157 +#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:172 #: src/component/file/clipboard.vue:61 src/component/label/clipboard.vue:86 -#: src/component/lightbox.vue:2021 src/component/people/clipboard.vue:59 +#: src/component/lightbox.vue:2041 src/component/people/clipboard.vue:59 #: src/component/photo/clipboard.vue:220 src/component/photo/edit/files.vue:119 #: src/component/photo/view/cards.vue:169 src/component/photo/view/list.vue:142 #: src/page/library/browse.vue:139 @@ -1080,7 +1106,7 @@ msgstr "Filter Penurunan Skala" msgid "Drag and drop files here" msgstr "Seret dan jatuhkan file di sini" -#: src/page/about/feedback.vue:61 +#: src/page/about/feedback.vue:62 msgid "Due to the high volume of emails we receive, our team may be unable to get back to you immediately." msgstr "Karena tingginya volume email yang kami terima, tim kami mungkin tidak dapat segera menghubungi Anda." @@ -1100,23 +1126,23 @@ msgstr "Pratinjau Dinamis" msgid "Dynamic Size Limit: %{n}px" msgstr "Batas Ukuran Dinamis: %{n}px" -#: src/page/about/feedback.vue:141 src/page/about/feedback.vue:140 +#: src/page/about/feedback.vue:142 src/page/about/feedback.vue:141 msgid "E-Mail" msgstr "Email" -#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:89 +#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:94 #: src/component/lightbox.vue:1136 src/component/lightbox.vue:1137 #: src/component/photo/clipboard.vue:90 src/page/settings/general.vue:407 msgid "Edit" msgstr "Sunting" -#: src/component/album/edit/dialog.vue:54 -#: src/component/label/edit/dialog.vue:52 -#: src/component/people/edit/dialog.vue:52 +#: src/component/album/edit/dialog.vue:55 +#: src/component/label/edit/dialog.vue:53 +#: src/component/people/edit/dialog.vue:53 msgid "Edit %{s}" msgstr "Sunting %{s}" -#: src/component/user/edit/dialog.vue:61 src/component/service/edit.vue:79 +#: src/component/user/edit/dialog.vue:62 src/component/service/edit.vue:79 msgid "Edit Account" msgstr "Mengedit Akun" @@ -1128,8 +1154,8 @@ msgstr "Mengedit Foto" msgid "Edited" msgstr "Diedit" -#: src/component/user/add/dialog.vue:151 src/component/user/edit/dialog.vue:213 -#: src/page/settings/account.vue:171 src/page/settings/account.vue:593 +#: src/component/user/add/dialog.vue:152 src/component/user/edit/dialog.vue:214 +#: src/page/settings/account.vue:171 src/page/settings/account.vue:599 msgid "Email" msgstr "Email" @@ -1145,7 +1171,7 @@ msgstr "Mengaktifkan fitur baru yang mungkin tidak lengkap atau tidak stabil." msgid "Enables RAW converter presets. May reduce performance." msgstr "Aktifkan preset untuk RAW konverter. Memungkinkan adanya penurunan performa." -#: src/component/settings/passcode.vue:127 +#: src/component/settings/passcode.vue:130 msgid "Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account." msgstr "Mengaktifkan autentikasi dua faktor berarti Anda memerlukan kode verifikasi yang dibuat secara acak untuk masuk, jadi meskipun seseorang mendapatkan akses ke kata sandi Anda, mereka tidak akan dapat mengakses akun Anda." @@ -1157,7 +1183,7 @@ msgstr "Masukkan tanggal" msgid "Enter dates" msgstr "Masukkan tanggal" -#: src/component/settings/passcode.vue:213 src/page/auth/login.vue:104 +#: src/component/settings/passcode.vue:216 src/page/auth/login.vue:104 msgid "Enter the code generated by your authenticator app:" msgstr "Masukkan kode yang dihasilkan oleh aplikasi autentikator Anda:" @@ -1165,7 +1191,7 @@ msgstr "Masukkan kode yang dihasilkan oleh aplikasi autentikator Anda:" msgid "Enter verification code" msgstr "Masukkan kode verifikasi" -#: src/component/settings/apps.vue:109 +#: src/component/settings/apps.vue:112 msgid "Enter your password to confirm the action and continue:" msgstr "Masukkan kata sandi Anda untuk mengonfirmasi tindakan dan melanjutkan:" @@ -1174,7 +1200,7 @@ msgstr "Masukkan kata sandi Anda untuk mengonfirmasi tindakan dan melanjutkan:" msgid "Error" msgstr "Kesalahan" -#: src/app/routes.js:374 src/component/navigation.vue:1348 +#: src/app/routes.js:382 src/component/navigation.vue:1372 msgid "Errors" msgstr "Kesalahan" @@ -1210,13 +1236,13 @@ msgstr "Ekstraksi metadata dengan ExifTool diperlukan untuk dukungan penuh Video msgid "Experimental Features" msgstr "Fitur Eksperimental" -#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:453 -#: src/component/service/edit.vue:157 src/component/settings/apps.vue:73 -#: src/component/settings/apps.vue:326 src/component/share/dialog.vue:62 +#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:458 +#: src/component/service/edit.vue:158 src/component/settings/apps.vue:73 +#: src/component/settings/apps.vue:329 src/component/share/dialog.vue:62 msgid "Expires" msgstr "Kedaluwarsa" -#: src/component/photo/edit/details.vue:396 +#: src/component/photo/edit/details.vue:370 msgid "Exposure" msgstr "Eksposur" @@ -1224,7 +1250,7 @@ msgstr "Eksposur" msgid "Extract still images and generate thumbnails while indexing." msgstr "Mengekstrak gambar diam dan menghasilkan gambar mini sewaktu mengindeks." -#: src/component/photo/edit/details.vue:444 +#: src/component/photo/edit/details.vue:418 msgid "F Number" msgstr "Nilai F" @@ -1240,7 +1266,7 @@ msgstr "Wajah" msgid "Failed removing link" msgstr "Gagal menghapus tautan" -#: src/page/connect.vue:106 src/page/connect.vue:110 +#: src/page/connect.vue:107 src/page/connect.vue:111 msgid "Failed to connect account." msgstr "Gagal menghubungkan akun." @@ -1248,8 +1274,8 @@ msgstr "Gagal menghubungkan akun." msgid "Failed updating link" msgstr "Gagal memperbarui tautan" -#: src/component/user/edit/dialog.vue:143 -#: src/component/user/edit/dialog.vue:144 src/page/settings/account.vue:128 +#: src/component/user/edit/dialog.vue:144 +#: src/component/user/edit/dialog.vue:145 src/page/settings/account.vue:128 #: src/page/settings/account.vue:130 msgid "Family Name" msgstr "Nama Keluarga" @@ -1258,15 +1284,15 @@ msgstr "Nama Keluarga" msgid "Fast" msgstr "Cepat" -#: src/component/album/edit/dialog.vue:159 -#: src/component/label/edit/dialog.vue:85 -#: src/component/people/edit/dialog.vue:85 +#: src/component/album/edit/dialog.vue:160 +#: src/component/label/edit/dialog.vue:86 +#: src/component/people/edit/dialog.vue:86 #: src/component/photo/edit/info.vue:287 msgid "Favorite" msgstr "Favorit" -#: src/app/routes.js:222 src/component/navigation.vue:893 -#: src/options/options.js:202 src/page/albums.vue:97 +#: src/app/routes.js:230 src/component/navigation.vue:903 +#: src/options/options.js:202 src/page/albums.vue:98 msgid "Favorites" msgstr "Favorit" @@ -1274,7 +1300,7 @@ msgstr "Favorit" msgid "Feature Request" msgstr "Permintaan Fitur" -#: src/component/navigation.vue:1456 +#: src/component/navigation.vue:1482 msgid "Feedback" msgstr "Umpan Balik" @@ -1282,11 +1308,12 @@ msgstr "Umpan Balik" msgid "Female" msgstr "Perempuan" -#: src/component/photo/edit/info.vue:214 src/model/file.js:290 +#: src/component/photo/edit/info.vue:57 src/component/photo/edit/info.vue:214 +#: src/model/file.js:290 msgid "File" msgstr "Berkas" -#: src/app/routes.js:343 +#: src/app/routes.js:351 msgid "File Browser" msgstr "Peramban Berkas" @@ -1309,8 +1336,8 @@ msgstr "Berkas" msgid "Filename" msgstr "Nama Berkas" -#: src/component/navigation.vue:1930 src/component/photo/edit/dialog.vue:267 -#: src/component/photo/edit/dialog.vue:284 +#: src/component/navigation.vue:1973 src/component/photo/edit/dialog.vue:279 +#: src/component/photo/edit/dialog.vue:298 msgid "Files" msgstr "Berkas" @@ -1322,26 +1349,26 @@ msgstr "File dengan nama berurutan seperti 'IMG_1234 (2)' dan 'IMG_1234 (3)' mil msgid "First page" msgstr "Halaman pertama" -#: src/component/photo/edit/details.vue:465 +#: src/component/photo/edit/details.vue:439 msgid "Focal Length" msgstr "Panjang Fokus" -#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:118 -#: src/component/service/edit.vue:189 src/component/service/edit.vue:194 -#: src/component/service/upload.vue:90 src/component/service/upload.vue:96 +#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:119 +#: src/component/service/edit.vue:190 src/component/service/edit.vue:195 +#: src/component/service/upload.vue:91 src/component/service/upload.vue:97 #: src/model/folder.js:199 src/page/library/browse.vue:182 msgid "Folder" msgstr "Folder" -#: src/page/library/browse.vue:365 +#: src/page/library/browse.vue:367 msgid "Folder contains %{n} files" msgstr "Folder berisi %{n} berkas" -#: src/page/library/browse.vue:356 +#: src/page/library/browse.vue:358 msgid "Folder is empty" msgstr "Folder kosong" -#: src/app/routes.js:202 src/component/navigation.vue:1225 +#: src/app/routes.js:210 src/component/navigation.vue:1247 #: src/options/options.js:207 msgid "Folders" msgstr "Folder" @@ -1358,7 +1385,7 @@ msgstr "FPS" msgid "Frames" msgstr "Bingkai" -#: src/options/auth.js:54 src/options/auth.js:64 +#: src/options/auth.js:55 src/options/auth.js:65 msgid "Full Access" msgstr "Akses penuh" @@ -1370,7 +1397,7 @@ msgstr "Layar Penuh" msgid "General" msgstr "Umum" -#: src/component/settings/apps.vue:364 +#: src/component/settings/apps.vue:367 msgid "Generate" msgstr "Menghasilkan" @@ -1390,8 +1417,8 @@ msgstr "Dihasilkan" msgid "Get Started" msgstr "Memulai" -#: src/component/user/edit/dialog.vue:120 -#: src/component/user/edit/dialog.vue:121 src/page/settings/account.vue:106 +#: src/component/user/edit/dialog.vue:121 +#: src/component/user/edit/dialog.vue:122 src/page/settings/account.vue:106 #: src/page/settings/account.vue:108 msgid "Given Name" msgstr "Nama Asli" @@ -1416,7 +1443,7 @@ msgstr "Hijau" msgid "Grey" msgstr "Abu-abu" -#: src/options/admin.js:22 src/options/auth.js:10 +#: src/options/admin.js:26 src/options/auth.js:11 msgid "Guest" msgstr "Tamu" @@ -1432,15 +1459,15 @@ msgstr "Bantuan" msgid "Help & Support" msgstr "Bantuan & Dukungan" -#: src/component/navigation.vue:1327 src/component/people/edit/dialog.vue:98 +#: src/component/navigation.vue:1351 src/component/people/edit/dialog.vue:99 msgid "Hidden" msgstr "Tersembunyi" -#: src/app/routes.js:358 +#: src/app/routes.js:366 msgid "Hidden Files" msgstr "Berkas tersembunyi" -#: src/page/people/new.vue:165 src/page/people/recognized.vue:205 +#: src/page/people/new.vue:166 src/page/people/recognized.vue:206 msgid "Hide" msgstr "Sembunyikan" @@ -1456,7 +1483,7 @@ msgstr "Tinggi" msgid "High Dynamic Range (HDR)" msgstr "Rentang Dinamis Tinggi (HDR)" -#: src/page/about/feedback.vue:103 +#: src/page/about/feedback.vue:104 msgid "How can we help?" msgstr "Bagaimana kami bisa membantu?" @@ -1464,11 +1491,11 @@ msgstr "Bagaimana kami bisa membantu?" msgid "Hybrid" msgstr "Hybrid" -#: src/component/settings/passcode.vue:389 +#: src/component/settings/passcode.vue:392 msgid "If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account." msgstr "Jika Anda kehilangan akses ke aplikasi atau perangkat pengautentikasi, Anda dapat menggunakan kode pemulihan untuk mendapatkan kembali akses ke akun Anda." -#: src/component/photo/edit/info.vue:63 src/component/photo/edit/labels.vue:46 +#: src/component/photo/edit/info.vue:65 src/component/photo/edit/labels.vue:46 #: src/component/photo/view/cards.vue:532 src/model/file.js:218 #: src/options/options.js:281 msgid "Image" @@ -1478,7 +1505,7 @@ msgstr "Gambar" msgid "Image Quality" msgstr "Kualitas Gambar" -#: src/page/library.vue:46 src/page/library/import.vue:152 +#: src/page/library.vue:46 src/page/library/import.vue:153 #: src/page/settings/general.vue:357 msgid "Import" msgstr "Impor" @@ -1503,8 +1530,8 @@ msgstr "Mengimpor %{s}…" msgid "Importing files to originals…" msgstr "Mengimpor file ke aslinya…" -#: src/component/photo/edit/files.vue:515 -#: src/component/photo/edit/files.vue:520 +#: src/component/photo/edit/files.vue:517 +#: src/component/photo/edit/files.vue:522 msgid "in" msgstr "dalam" @@ -1522,11 +1549,11 @@ msgstr "Sertakan file gambar RAW apabila mengunduh tumpukan dan arsip." msgid "Include sidecar files when downloading stacks and archives." msgstr "Sertakan file sespan saat mengunduh tumpukan dan arsip." -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Increase storage size or delete files to continue." msgstr "Menambah ukuran penyimpanan atau menghapus file untuk melanjutkan." -#: src/component/navigation.vue:1946 src/page/library.vue:36 +#: src/component/navigation.vue:1990 src/page/library.vue:36 #: src/page/settings/content.vue:34 msgid "Index" msgstr "Indeks" @@ -1556,11 +1583,11 @@ msgstr "Informasi" msgid "Instance ID" msgstr "ID Instance" -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Insufficient storage." msgstr "Penyimpanan yang tidak memadai." -#: src/component/service/edit.vue:209 +#: src/component/service/edit.vue:210 msgid "Interval" msgstr "Selang" @@ -1581,7 +1608,7 @@ msgstr "Alamat tidak valid" msgid "Invalid country" msgstr "Negara tidak valid" -#: src/component/photo/edit/details.vue:174 +#: src/component/photo/edit/details.vue:169 msgid "Invalid date" msgstr "Tanggal tidak valid" @@ -1590,7 +1617,7 @@ msgstr "Tanggal tidak valid" msgid "Invalid parameters" msgstr "Tanggal tidak valid" -#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:197 +#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:199 msgid "Invalid photo selected" msgstr "Foto yang dipilih tidak valid" @@ -1602,8 +1629,8 @@ msgstr "Waktu tidak valid" msgid "Invalid URL" msgstr "URL tidak valid" -#: src/component/settings/passcode.vue:314 -#: src/component/settings/passcode.vue:391 +#: src/component/settings/passcode.vue:317 +#: src/component/settings/passcode.vue:394 msgid "It is a one-time use code that will disable 2FA for your account when you use it." msgstr "Ini adalah kode sekali pakai yang akan menonaktifkan 2FA untuk akun Anda saat Anda menggunakannya." @@ -1627,7 +1654,7 @@ msgstr "Batas Ukuran JPEG: %{n}px" msgid "JPEGs and thumbnails are automatically rendered as needed." msgstr "JPEG dan thumbnail secara otomatis dirender sesuai dengan kebutuhan." -#: src/component/photo/edit/details.vue:581 +#: src/component/photo/edit/details.vue:555 msgid "Keywords" msgstr "Kata kunci" @@ -1636,9 +1663,9 @@ msgstr "Kata kunci" msgid "Label" msgstr "Label" -#: src/app/routes.js:389 src/component/navigation.vue:1177 -#: src/component/photo/edit/dialog.vue:188 -#: src/component/photo/edit/dialog.vue:205 src/options/options.js:206 +#: src/app/routes.js:397 src/component/navigation.vue:1197 +#: src/component/photo/edit/dialog.vue:196 +#: src/component/photo/edit/dialog.vue:215 src/options/options.js:206 #: src/page/settings/general.vue:255 msgid "Labels" msgstr "Label" @@ -1655,11 +1682,11 @@ msgstr "Lanczos: Pelestarian Detail, Artefak Minimal" msgid "Language" msgstr "Bahasa" -#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:435 +#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:440 msgid "Last Active" msgstr "Terakhir Aktif" -#: src/page/admin/users.vue:81 +#: src/page/admin/users.vue:83 msgid "Last Login" msgstr "Login Terakhir" @@ -1675,42 +1702,41 @@ msgstr "Sinkronisasi Terakhir" msgid "Last Used" msgstr "Terakhir digunakan" -#: src/component/photo/edit/details.vue:298 #: src/component/photo/edit/info.vue:373 msgid "Latitude" msgstr "Lintang" -#: src/options/admin.js:43 src/options/auth.js:29 +#: src/options/admin.js:47 src/options/auth.js:30 msgid "LDAP/AD" msgstr "LDAP/AD" -#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:86 -#: src/page/about/about.vue:62 src/page/about/about.vue:132 +#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:87 +#: src/page/about/about.vue:62 src/page/about/about.vue:133 #: src/page/connect.vue:67 src/page/help.vue:36 msgid "Learn more" msgstr "Pelajari lebih lanjut" -#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:135 +#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:137 #: src/page/labels.vue:132 msgid "Learn More" msgstr "Pelajari Lebih Lanjut" -#: src/component/navigation.vue:2017 +#: src/component/navigation.vue:2066 msgid "Legal Information" msgstr "Informasi Hukum" -#: src/component/photo/edit/details.vue:417 +#: src/component/photo/edit/details.vue:391 #: src/component/photo/view/cards.vue:480 msgid "Lens" msgstr "Lensa" -#: src/app/routes.js:443 src/app/routes.js:459 src/app/routes.js:475 -#: src/component/navigation.vue:1267 src/page/settings/general.vue:507 +#: src/app/routes.js:451 src/app/routes.js:467 src/app/routes.js:483 +#: src/component/navigation.vue:1290 src/page/settings/general.vue:507 msgid "Library" msgstr "Perpustakaan" #: src/page/connect.vue:45 src/app/routes.js:69 -#: src/component/navigation.vue:1478 src/component/photo/edit/details.vue:559 +#: src/component/navigation.vue:1504 src/component/photo/edit/details.vue:533 #: src/page/about/license.vue:28 msgid "License" msgstr "Lisensi" @@ -1723,7 +1749,7 @@ msgstr "Suka" msgid "Lime" msgstr "Lime" -#: src/page/library/browse.vue:369 +#: src/page/library/browse.vue:371 msgid "Limit reached, showing first %{n} files" msgstr "Batas tercapai, menampilkan %{n} file pertama" @@ -1731,7 +1757,7 @@ msgstr "Batas tercapai, menampilkan %{n} file pertama" msgid "Linear: Very Smooth, Best Performance" msgstr "Linear: Sangat Halus, Performa Terbaik" -#: src/model/link.js:117 src/options/auth.js:30 src/options/auth.js:31 +#: src/model/link.js:117 src/options/auth.js:31 src/options/auth.js:32 msgid "Link" msgstr "Tautan" @@ -1749,7 +1775,7 @@ msgstr "Tampilan Daftar" msgid "Live" msgstr "Langsung" -#: src/app/routes.js:236 src/component/navigation.vue:749 +#: src/app/routes.js:244 src/component/navigation.vue:755 msgid "Live Photos" msgstr "Foto" @@ -1765,21 +1791,24 @@ msgstr "Memuat item..." msgid "Loading..." msgstr "Memuat..." -#: src/options/admin.js:35 src/options/auth.js:22 src/options/auth.js:27 +#: src/options/admin.js:39 src/options/auth.js:23 src/options/auth.js:28 #: src/options/options.js:38 src/page/settings/general.vue:107 msgid "Local" msgstr "Lokal" -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Local Time" msgstr "Waktu Setempat" -#: src/page/settings/account.vue:665 src/page/settings/account.vue:667 -#: src/component/album/edit/dialog.vue:92 src/component/photo/edit/info.vue:65 -#: src/component/photo/edit/labels.vue:48 +#: src/page/settings/account.vue:671 src/page/settings/account.vue:673 +#: src/component/album/edit/dialog.vue:93 +#: src/component/photo/edit/details.vue:38 +#: src/component/photo/edit/details.vue:116 +#: src/component/photo/edit/details.vue:210 +#: src/component/photo/edit/info.vue:67 src/component/photo/edit/labels.vue:48 #: src/component/photo/view/cards.vue:555 src/component/photo/view/list.vue:117 -#: src/component/sidebar/info.vue:107 src/page/albums.vue:99 -#: src/page/settings/account.vue:557 src/page/settings/account.vue:559 +#: src/component/sidebar/info.vue:107 src/page/albums.vue:100 +#: src/page/settings/account.vue:563 src/page/settings/account.vue:565 msgid "Location" msgstr "Lokasi" @@ -1787,20 +1816,19 @@ msgstr "Lokasi" msgid "Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues." msgstr "Pesan log muncul di sini setiap kali PhotoPrism menemukan file yang rusak, atau ada masalah potensial lainnya." -#: src/component/navigation.vue:1552 src/component/navigation.vue:1840 +#: src/component/navigation.vue:1579 src/component/navigation.vue:1877 msgid "Login" msgstr "Masuk" -#: src/component/navigation.vue:1759 +#: src/component/navigation.vue:1791 msgid "Logout" msgstr "Keluar" -#: src/component/navigation.vue:1962 src/page/library.vue:59 +#: src/component/navigation.vue:2007 src/page/library.vue:59 #: src/page/settings/general.vue:557 msgid "Logs" msgstr "Log" -#: src/component/photo/edit/details.vue:324 #: src/component/photo/edit/info.vue:379 msgid "Longitude" msgstr "Bujur" @@ -1813,7 +1841,7 @@ msgstr "Rendah" msgid "Magenta" msgstr "Magenta" -#: src/component/photo/edit/files.vue:489 +#: src/component/photo/edit/files.vue:491 msgid "Main Color" msgstr "Warna Utama" @@ -1821,12 +1849,16 @@ msgstr "Warna Utama" msgid "Male" msgstr "Laki-laki" -#: src/page/connect.vue:164 src/page/connect.vue:246 -#: src/page/about/about.vue:171 src/page/connect.vue:168 -#: src/page/connect.vue:255 +#: src/page/connect.vue:165 src/page/connect.vue:248 +#: src/page/about/about.vue:173 src/page/connect.vue:169 +#: src/page/connect.vue:257 msgid "Manage Account" msgstr "Kelola Akun" +#: src/options/admin.js:10 src/options/auth.js:7 +msgid "Manager" +msgstr "Manajer" + #: src/component/photo/edit/info.vue:49 src/component/photo/edit/labels.vue:38 msgid "Manual" msgstr "Manual" @@ -1843,11 +1875,11 @@ msgstr "Peta" msgid "Marker" msgstr "PenAnda" -#: src/component/user/add/dialog.vue:69 +#: src/component/user/add/dialog.vue:70 msgid "Maximum number of accounts has been reached." msgstr "Jumlah maksimum akun telah tercapai." -#: src/app/routes.js:229 src/component/navigation.vue:688 +#: src/app/routes.js:237 src/component/navigation.vue:693 #: src/options/options.js:199 msgid "Media" msgstr "Media" @@ -1864,7 +1896,7 @@ msgstr "Keanggotaan" msgid "Merge %{a} with %{b}?" msgstr "Gabungkan %{a} dengan %{b}?" -#: src/page/about/feedback.vue:102 +#: src/page/about/feedback.vue:103 msgid "Message" msgstr "Pesan" @@ -1876,7 +1908,7 @@ msgstr "Pesan terkirim" msgid "Metadata" msgstr "Metadata" -#: src/options/auth.js:56 src/options/auth.js:72 +#: src/options/auth.js:57 src/options/auth.js:73 msgid "Metrics" msgstr "Metrik" @@ -1884,7 +1916,7 @@ msgstr "Metrik" msgid "Minimize" msgstr "Perkecil" -#: src/component/photo/edit/files.vue:509 src/component/photo/edit/info.vue:367 +#: src/component/photo/edit/files.vue:511 src/component/photo/edit/info.vue:367 msgid "Missing" msgstr "Hilang" @@ -1892,17 +1924,17 @@ msgstr "Hilang" msgid "Missing or invalid configuration" msgstr "Konfigurasi yang hilang atau tidak valid" -#: src/app/routes.js:163 src/component/navigation.vue:1129 +#: src/app/routes.js:171 src/component/navigation.vue:1147 #: src/options/options.js:205 src/page/settings/general.vue:230 msgid "Moments" msgstr "Momen" -#: src/component/navigation.vue:383 +#: src/component/navigation.vue:385 msgid "Monochrome" msgstr "Monokrom" -#: src/page/settings/account.vue:475 src/component/photo/edit/details.vue:137 -#: src/component/photo/toolbar.vue:342 +#: src/page/settings/account.vue:481 src/component/photo/edit/details.vue:139 +#: src/component/photo/toolbar.vue:344 msgid "Month" msgstr "Setelah 1 bulanBulan" @@ -1922,7 +1954,7 @@ msgstr "Paling relevan" msgid "Move Files" msgstr "Pindahkan File" -#: src/component/settings/password.vue:107 +#: src/component/settings/password.vue:108 msgid "Must have at least %{n} characters." msgstr "Harus memiliki setidaknya %{n} karakter." @@ -1930,20 +1962,20 @@ msgstr "Harus memiliki setidaknya %{n} karakter." msgid "Mute" msgstr "Bisu" -#: src/page/about/feedback.vue:121 src/page/about/feedback.vue:122 -#: src/component/album/edit/dialog.vue:77 -#: src/component/label/edit/dialog.vue:71 -#: src/component/people/edit/dialog.vue:71 -#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:57 +#: src/page/about/feedback.vue:122 src/page/about/feedback.vue:123 +#: src/component/album/edit/dialog.vue:78 +#: src/component/label/edit/dialog.vue:72 +#: src/component/people/edit/dialog.vue:72 +#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:59 #: src/component/photo/edit/info.vue:125 src/component/photo/edit/people.vue:36 -#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:310 -#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:286 -#: src/page/albums.vue:98 src/page/auth/login.vue:168 +#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:311 +#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:289 +#: src/page/albums.vue:99 src/page/auth/login.vue:168 #: src/page/people/new.vue:68 src/page/settings/services.vue:37 msgid "Name" msgstr "Nama" -#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:60 +#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:65 #: src/component/label/edit/dialog.vue:19 #: src/component/people/edit/dialog.vue:19 #: src/component/photo/edit/labels.vue:30 @@ -1953,7 +1985,7 @@ msgstr "Nama" msgid "Name too long" msgstr "Nama terlalu panjang" -#: src/page/admin/users.vue:204 src/options/options.js:361 +#: src/page/admin/users.vue:206 src/options/options.js:361 #: src/options/options.js:371 src/page/settings/services.vue:75 msgid "Never" msgstr "Tidak Pernah" @@ -1962,13 +1994,13 @@ msgstr "Tidak Pernah" msgid "New" msgstr "Baru" -#: src/component/settings/password.vue:106 +#: src/component/settings/password.vue:107 msgid "New Password" msgstr "Kata sandi baru" #: src/component/album/edit/dialog.vue:24 src/component/photo/toolbar.vue:114 #: src/component/photo/toolbar.vue:126 src/component/photo/toolbar.vue:136 -#: src/page/albums.vue:100 +#: src/page/albums.vue:101 msgid "Newest First" msgstr "Terbaru terlebih dahulu" @@ -1984,15 +2016,15 @@ msgstr "Halaman berikutnya" msgid "Next visual" msgstr "Visual berikutnya" -#: src/component/people/merge/dialog.vue:47 -#: src/component/photo/archive/dialog.vue:47 +#: src/component/people/merge/dialog.vue:48 +#: src/component/photo/archive/dialog.vue:48 #: src/component/photo/edit/info.vue:281 src/component/photo/edit/info.vue:297 #: src/component/photo/edit/info.vue:313 src/component/photo/edit/info.vue:329 #: src/component/photo/edit/info.vue:344 msgid "No" msgstr "Tidak" -#: src/page/albums.vue:607 src/page/albums.vue:282 +#: src/page/albums.vue:612 src/page/albums.vue:282 msgid "No albums found" msgstr "Tidak ada album yang ditemukan" @@ -2000,7 +2032,7 @@ msgstr "Tidak ada album yang ditemukan" msgid "No data available" msgstr "Tidak ada data yang tersedia" -#: src/page/labels.vue:523 src/page/labels.vue:155 +#: src/page/labels.vue:528 src/page/labels.vue:155 msgid "No labels found" msgstr "Tidak ada label yang ditemukan" @@ -2013,15 +2045,15 @@ msgid "No more" msgstr "Tidak ada lagi." #: src/component/photo/edit/people.vue:34 src/page/people/new.vue:346 -#: src/page/people/new.vue:443 src/page/people/new.vue:103 -#: src/page/people/recognized.vue:531 src/page/people/recognized.vue:146 +#: src/page/people/new.vue:446 src/page/people/new.vue:103 +#: src/page/people/recognized.vue:536 src/page/people/recognized.vue:146 msgid "No people found" msgstr "Tidak ada orang yang ditemukan" #: src/component/lightbox.vue:365 src/component/photo/view/cards.vue:144 #: src/component/photo/view/list.vue:82 src/component/photo/view/mosaic.vue:68 -#: src/page/album/photos.vue:488 src/page/library/browse.vue:123 -#: src/page/photos.vue:626 src/page/places.vue:624 src/page/places.vue:730 +#: src/page/album/photos.vue:499 src/page/library/browse.vue:123 +#: src/page/photos.vue:636 src/page/places.vue:624 src/page/places.vue:730 msgid "No pictures found" msgstr "Tidak ada gambar yang ditemukan" @@ -2030,7 +2062,11 @@ msgstr "Tidak ada gambar yang ditemukan" msgid "No recently edited pictures" msgstr "Tidak ada gambar yang baru saja diedit" -#: src/component/navigation.vue:1655 +#: src/component/location/dialog.vue:166 +msgid "No results" +msgstr "Tidak ada hasil" + +#: src/component/navigation.vue:1686 msgid "No server connection" msgstr "Tidak ada koneksi server" @@ -2042,7 +2078,7 @@ msgstr "Tidak ada server yang dikonfigurasi." msgid "No services configured." msgstr "Tidak ada server yang dikonfigurasi." -#: src/component/confirm/sponsor.vue:72 +#: src/component/confirm/sponsor.vue:73 msgid "No thanks" msgstr "Tidak, terima kasih" @@ -2052,17 +2088,17 @@ msgstr "Tidak ada peringatan atau kesalahan yang mengandung kata kunci ini. Perh #: src/component/photo/view/cards.vue:154 src/component/photo/view/list.vue:59 #: src/component/photo/view/list.vue:92 src/component/photo/view/mosaic.vue:78 -#: src/component/upload/dialog.vue:208 +#: src/component/upload/dialog.vue:210 msgid "Non-photographic and low-quality images require a review before they appear in search results." msgstr "Gambar non-fotografis dan berkualitas rendah memerlukan peninjauan sebelum muncul di hasil pencarian." -#: src/options/admin.js:47 src/options/auth.js:32 src/options/options.js:212 +#: src/options/admin.js:51 src/options/auth.js:33 src/options/options.js:212 #: src/options/options.js:328 msgid "None" msgstr "Tidak ada" -#: src/common/util.js:853 src/component/lightbox.vue:633 -#: src/component/service/upload.vue:75 src/component/service/upload.vue:87 +#: src/component/lightbox.vue:633 src/component/service/upload.vue:75 +#: src/component/service/upload.vue:87 msgid "Not allowed" msgstr "Tidak diperbolehkan" @@ -2074,8 +2110,7 @@ msgstr "Tidak ditemukan" msgid "Not sorted." msgstr "Tidak diurutkan." -#: src/common/util.js:858 src/component/lightbox.vue:627 -#: src/component/lightbox.vue:744 +#: src/component/lightbox.vue:627 src/component/lightbox.vue:744 msgid "Not supported" msgstr "Tidak didukung" @@ -2083,15 +2118,15 @@ msgstr "Tidak didukung" msgid "Note you may manually manage your originals folder and importing is optional." msgstr "Perhatikan bahwa Anda dapat mengelola folder asli secara manual dan mengimpor adalah opsional." -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "Note:" msgstr "Catatan:" -#: src/component/service/add.vue:120 +#: src/component/service/add.vue:121 msgid "Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload." msgstr "Catatan: Hanya server WebDAV, seperti Nextcloud atau PhotoPrism, yang dapat dikonfigurasi sebagai layanan jarak jauh untuk pencadangan dan pengunggahan file." -#: src/component/photo/edit/details.vue:603 +#: src/component/photo/edit/details.vue:577 msgid "Notes" msgstr "Catatan" @@ -2099,8 +2134,8 @@ msgstr "Catatan" msgid "Nothing to see here yet." msgstr "Belum ada yang bisa dilihat di sini. Bersabarlah." -#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:115 -#: src/component/settings/apps.vue:390 +#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:125 +#: src/component/settings/apps.vue:393 msgid "Nothing was found." msgstr "Tidak ada yang ditemukan." @@ -2108,7 +2143,7 @@ msgstr "Tidak ada yang ditemukan." msgid "Offline" msgstr "Offline" -#: src/options/admin.js:39 src/options/auth.js:28 +#: src/options/admin.js:43 src/options/auth.js:29 msgid "OIDC" msgstr "OIDC" @@ -2118,11 +2153,11 @@ msgstr "BAIKLAH." #: src/component/album/edit/dialog.vue:25 src/component/photo/toolbar.vue:115 #: src/component/photo/toolbar.vue:127 src/component/photo/toolbar.vue:137 -#: src/page/albums.vue:101 +#: src/page/albums.vue:102 msgid "Oldest First" msgstr "Paling lama" -#: src/component/settings/webdav.vue:77 +#: src/component/settings/webdav.vue:78 msgid "On Windows, enter the following resource in the connection dialog:" msgstr "Pada Windows, masukkan sumber daya berikut ini dalam dialog connection:" @@ -2134,11 +2169,11 @@ msgstr "Pembuatan gambar mini berdasarkan permintaan dapat menyebabkan penggunaa msgid "Once a week" msgstr "Seminggu sekali" -#: src/page/albums.vue:609 +#: src/page/albums.vue:614 msgid "One album found" msgstr "Satu album ditemukan" -#: src/page/library/browse.vue:358 +#: src/page/library/browse.vue:360 msgid "One file found" msgstr "Satu file ditemukan" @@ -2146,24 +2181,24 @@ msgstr "Satu file ditemukan" msgid "One file uploaded" msgstr "Satu file yang diunggah" -#: src/page/library/browse.vue:360 +#: src/page/library/browse.vue:362 msgid "One folder found" msgstr "Satu folder ditemukan" -#: src/page/labels.vue:525 +#: src/page/labels.vue:530 msgid "One label found" msgstr "Satu label ditemukan" -#: src/page/people/new.vue:348 src/page/people/new.vue:445 -#: src/page/people/recognized.vue:533 +#: src/page/people/new.vue:348 src/page/people/new.vue:448 +#: src/page/people/recognized.vue:538 msgid "One person found" msgstr "Satu orang ditemukan" -#: src/page/album/photos.vue:490 src/page/photos.vue:628 +#: src/page/album/photos.vue:501 src/page/photos.vue:638 msgid "One picture found" msgstr "Satu gambar ditemukan" -#: src/component/settings/passcode.vue:478 +#: src/component/settings/passcode.vue:481 msgid "Only locally managed accounts can be set up for authentication with 2FA." msgstr "Hanya akun yang dikelola secara lokal yang dapat diatur untuk autentikasi dengan 2FA." @@ -2171,7 +2206,7 @@ msgstr "Hanya akun yang dikelola secara lokal yang dapat diatur untuk autentikas msgid "Open" msgstr "Buka" -#: src/component/service/add.vue:86 src/component/service/add.vue:107 +#: src/component/service/add.vue:87 src/component/service/add.vue:108 msgid "optional" msgstr "opsional" @@ -2183,7 +2218,7 @@ msgstr "atau" msgid "Orange" msgstr "Oranye" -#: src/page/settings/account.vue:571 src/page/settings/account.vue:573 +#: src/page/settings/account.vue:577 src/page/settings/account.vue:579 msgid "Organization" msgstr "Orientasi" @@ -2199,7 +2234,7 @@ msgstr "Nama file asli akan disimpan dan diindeks." msgid "Original Name" msgstr "Nama Asli" -#: src/component/navigation.vue:1304 src/model/file.js:196 +#: src/component/navigation.vue:1328 src/model/file.js:196 #: src/options/options.js:413 src/page/library/browse.vue:65 #: src/page/settings/content.vue:356 src/page/settings/general.vue:532 msgid "Originals" @@ -2210,7 +2245,7 @@ msgstr "Asli" msgid "Other" msgstr "Lainnya" -#: src/page/about/about.vue:77 src/page/about/about.vue:83 +#: src/page/about/about.vue:78 src/page/about/about.vue:84 msgid "Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible." msgstr "Misi kami adalah menyediakan solusi yang paling ramah pengguna dan privasi untuk menjaga gambar Anda tetap teratur dan mudah diakses." @@ -2222,7 +2257,7 @@ msgstr "Luar ruangan" msgid "Page {0}, Current page" msgstr "Halaman {0}, Halaman saat ini" -#: src/component/photo/edit/files.vue:352 src/model/photo.js:859 +#: src/component/photo/edit/files.vue:352 src/model/photo.js:896 msgid "Pages" msgstr "Halaman" @@ -2234,15 +2269,15 @@ msgstr "Navigasi Pagination (Penomoran Halaman)" msgid "Panorama" msgstr "Panorama" -#: src/component/navigation.vue:402 +#: src/component/navigation.vue:404 msgid "Panoramas" msgstr "Panorama" -#: src/component/user/add/dialog.vue:114 src/component/user/add/dialog.vue:115 -#: src/component/service/add.vue:106 src/component/service/edit.vue:352 -#: src/component/settings/apps.vue:121 src/component/settings/passcode.vue:106 -#: src/component/settings/passcode.vue:413 src/component/share/dialog.vue:27 -#: src/options/auth.js:91 src/page/auth/login.vue:196 +#: src/component/user/add/dialog.vue:115 src/component/user/add/dialog.vue:116 +#: src/component/service/add.vue:107 src/component/service/edit.vue:353 +#: src/component/settings/apps.vue:124 src/component/settings/passcode.vue:109 +#: src/component/settings/passcode.vue:416 src/component/share/dialog.vue:27 +#: src/options/auth.js:92 src/page/auth/login.vue:196 msgid "Password" msgstr "Kata sandi" @@ -2250,9 +2285,9 @@ msgstr "Kata sandi" msgid "Password changed" msgstr "Kata sandi diubah" -#: src/app/routes.js:404 src/app/routes.js:428 src/component/navigation.vue:845 -#: src/component/navigation.vue:1898 src/component/photo/edit/dialog.vue:228 -#: src/component/photo/edit/dialog.vue:245 src/options/options.js:201 +#: src/app/routes.js:412 src/app/routes.js:436 src/component/navigation.vue:853 +#: src/component/navigation.vue:1939 src/component/photo/edit/dialog.vue:238 +#: src/component/photo/edit/dialog.vue:257 src/options/options.js:201 #: src/page/settings/general.vue:180 msgid "People" msgstr "Orang" @@ -2273,23 +2308,23 @@ msgstr "Hapus file secara permanen untuk mengosongkan penyimpanan." msgid "Person" msgstr "Orang" -#: src/options/auth.js:42 +#: src/options/auth.js:43 msgid "Personal" msgstr "Pribadi" -#: src/model/photo.js:1273 +#: src/model/photo.js:1310 msgid "Photo" msgstr "Foto" -#: src/page/about/about.vue:156 +#: src/page/about/about.vue:158 msgid "PhotoPrism is 100% self-funded and independent." msgstr "PhotoPrism 100% didanai sendiri dan independen." -#: src/page/about/about.vue:92 +#: src/page/about/about.vue:93 msgid "PhotoPrism+ Membership" msgstr "Keanggotaan PhotoPrism+" -#: src/app/routes.js:156 +#: src/app/routes.js:164 msgid "Photos" msgstr "Foto" @@ -2310,27 +2345,27 @@ msgstr "Tempat" msgid "Place & Time" msgstr "Tempat & Waktu" -#: src/app/routes.js:303 src/app/routes.js:309 src/app/routes.js:315 -#: src/app/routes.js:330 src/component/navigation.vue:986 -#: src/component/navigation.vue:1914 src/options/options.js:203 +#: src/app/routes.js:311 src/app/routes.js:317 src/app/routes.js:323 +#: src/app/routes.js:338 src/component/navigation.vue:999 +#: src/component/navigation.vue:1956 src/options/options.js:203 #: src/page/places.vue:51 src/page/settings/general.vue:609 #: src/page/settings/general.vue:638 msgid "Places" msgstr "Tempat" -#: src/component/settings/password.vue:129 +#: src/component/settings/password.vue:130 msgid "Please confirm your new password." msgstr "Harap konfirmasi kata sandi baru Anda." -#: src/component/settings/apps.vue:185 +#: src/component/settings/apps.vue:188 msgid "Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:" msgstr "Silakan salin kata sandi aplikasi yang dibuat secara acak berikut dan simpan di tempat yang aman, karena Anda tidak akan dapat melihatnya lagi:" -#: src/component/upload/dialog.vue:203 +#: src/component/upload/dialog.vue:205 msgid "Please do not upload any private, unlawful or offensive pictures." msgstr "Mohon untuk tidak mengunggah gambar yang bersifat pribadi, melanggar hukum, atau menyinggung." -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Please don't upload photos containing offensive content." msgstr "Jangan mengunggah foto yang mengandung konten SARA." @@ -2338,11 +2373,11 @@ msgstr "Jangan mengunggah foto yang mengandung konten SARA." msgid "Please enter OTP character {0}" msgstr "Masukkan karakter OTP {0}" -#: src/component/settings/password.vue:66 +#: src/component/settings/password.vue:67 msgid "Please note that changing your password will log you out on other devices and browsers." msgstr "Harap diperhatikan bahwa mengubah kata sandi Anda akan membuat Anda log out pada perangkat dan browser lain." -#: src/page/connect.vue:148 src/page/connect.vue:152 +#: src/page/connect.vue:149 src/page/connect.vue:153 msgid "Please restart your instance for the changes to take effect." msgstr "Mulai ulang instance Anda agar perubahan diterapkan." @@ -2362,11 +2397,11 @@ msgstr "Batas Ukuran PNG: %{n}px" msgid "Portrait" msgstr "Potret" -#: src/component/service/edit.vue:273 +#: src/component/service/edit.vue:274 msgid "Preserve filenames" msgstr "Pertahankan nama file" -#: src/component/upload/dialog.vue:162 +#: src/component/upload/dialog.vue:164 msgid "Press enter to create a new album." msgstr "Tekan enter untuk membuat album baru." @@ -2403,8 +2438,8 @@ msgstr "Visual sebelumnya" msgid "Primary" msgstr "Utama" -#: src/app/routes.js:271 src/component/album/edit/dialog.vue:176 -#: src/component/navigation.vue:531 src/component/photo/edit/info.vue:303 +#: src/app/routes.js:279 src/component/album/edit/dialog.vue:177 +#: src/component/navigation.vue:533 src/component/photo/edit/info.vue:303 #: src/page/settings/general.vue:280 msgid "Private" msgstr "Pribadi" @@ -2429,7 +2464,7 @@ msgstr "Filter Kualitas" msgid "Quality Score" msgstr "Angka Mutu" -#: src/page/admin/users.vue:169 +#: src/page/admin/users.vue:171 msgid "r" msgstr "r" @@ -2460,7 +2495,7 @@ msgstr "Mode Baca" #: src/component/album/edit/dialog.vue:26 src/component/photo/toolbar.vue:116 #: src/component/photo/toolbar.vue:128 src/component/photo/toolbar.vue:138 -#: src/page/albums.vue:102 +#: src/page/albums.vue:103 msgid "Recently Added" msgstr "Baru saja ditambahkan" @@ -2468,7 +2503,7 @@ msgstr "Baru saja ditambahkan" msgid "Recently Archived" msgstr "Baru-baru ini Diarsipkan" -#: src/component/photo/toolbar.vue:139 src/page/albums.vue:103 +#: src/component/photo/toolbar.vue:139 src/page/albums.vue:104 msgid "Recently Edited" msgstr "Baru diedit" @@ -2493,24 +2528,24 @@ msgstr "Kode Pemulihan" msgid "Red" msgstr "Merah" -#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:126 -#: src/component/album/toolbar.vue:79 src/component/photo/toolbar.vue:169 -#: src/page/albums.vue:173 src/page/labels.vue:112 +#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:128 +#: src/component/album/toolbar.vue:84 src/component/photo/toolbar.vue:169 +#: src/page/albums.vue:175 src/page/labels.vue:112 #: src/page/library/browse.vue:90 src/page/library/errors.vue:81 #: src/page/people/new.vue:54 src/page/people/recognized.vue:88 msgid "Refresh" msgstr "Menyegarkan" -#: src/app/routes.js:337 src/component/navigation.vue:943 -#: src/component/navigation.vue:1026 +#: src/app/routes.js:345 src/component/navigation.vue:955 +#: src/component/navigation.vue:1040 msgid "Regions" msgstr "Wilayah" -#: src/page/connect.vue:275 src/page/connect.vue:284 +#: src/page/connect.vue:277 src/page/connect.vue:286 msgid "Register" msgstr "Daftar" -#: src/component/navigation.vue:1773 src/component/update.vue:68 +#: src/component/navigation.vue:1806 src/component/update.vue:68 msgid "Reload" msgstr "Muat ulang" @@ -2555,34 +2590,34 @@ msgstr "Mewajibkan gambar non-fotografi dan gambar berkualitas rendah untuk diti msgid "Resolution" msgstr "Resolusi" -#: src/page/connect.vue:179 src/page/connect.vue:183 +#: src/page/connect.vue:180 src/page/connect.vue:184 #: src/page/settings/advanced.vue:782 msgid "Restart" msgstr "Mulai ulang" -#: src/component/user/edit/dialog.vue:485 src/component/lightbox.vue:1221 +#: src/component/user/edit/dialog.vue:488 src/component/lightbox.vue:1221 #: src/component/photo/clipboard.vue:77 msgid "Restore" msgstr "Pulihkan" -#: src/component/lightbox.vue:2000 +#: src/component/lightbox.vue:2020 msgid "Restored" msgstr "Dipulihkan" -#: src/component/service/edit.vue:428 +#: src/component/service/edit.vue:429 msgid "Retry Limit" msgstr "Batas Percobaan Ulang" -#: src/component/settings/password.vue:128 +#: src/component/settings/password.vue:129 msgid "Retype Password" msgstr "Kata sandiKetik Ulang Kata Sandi" -#: src/app/routes.js:264 src/component/navigation.vue:505 +#: src/app/routes.js:272 src/component/navigation.vue:507 msgid "Review" msgstr "Ulasan" -#: src/component/user/add/dialog.vue:171 src/component/user/edit/dialog.vue:284 -#: src/page/admin/sessions.vue:262 src/page/admin/users.vue:73 +#: src/component/user/add/dialog.vue:172 src/component/user/edit/dialog.vue:285 +#: src/page/admin/sessions.vue:263 src/page/admin/users.vue:75 msgid "Role" msgstr "Peran" @@ -2594,11 +2629,11 @@ msgstr "Baris per halaman:" msgid "Satellite" msgstr "Satelit" -#: src/component/user/edit/dialog.vue:485 -#: src/component/album/edit/dialog.vue:211 -#: src/component/label/edit/dialog.vue:119 -#: src/component/people/edit/dialog.vue:132 src/component/service/edit.vue:466 -#: src/component/settings/password.vue:172 src/component/share/dialog.vue:181 +#: src/component/user/edit/dialog.vue:488 +#: src/component/album/edit/dialog.vue:212 +#: src/component/label/edit/dialog.vue:120 +#: src/component/people/edit/dialog.vue:133 src/component/service/edit.vue:467 +#: src/component/settings/password.vue:173 src/component/share/dialog.vue:181 msgid "Save" msgstr "Simpan" @@ -2606,23 +2641,23 @@ msgstr "Simpan" msgid "Scan" msgstr "Pindai" -#: src/component/settings/passcode.vue:179 +#: src/component/settings/passcode.vue:182 msgid "Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:" msgstr "Pindai kode QR dengan aplikasi autentikator Anda atau gunakan kunci pengaturan yang ditunjukkan di bawah, lalu masukkan kode verifikasi yang dihasilkan:" -#: src/component/navigation.vue:461 +#: src/component/navigation.vue:463 msgid "Scans" msgstr "Pindai" -#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:377 -#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:310 +#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:381 +#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:313 msgid "Scope" msgstr "Cakupan" -#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:62 -#: src/component/navigation.vue:342 src/component/navigation.vue:1866 -#: src/component/photo/toolbar.vue:57 src/options/options.js:197 -#: src/page/albums.vue:100 src/page/labels.vue:77 +#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:69 +#: src/component/location/dialog.vue:133 src/component/navigation.vue:343 +#: src/component/navigation.vue:1905 src/component/photo/toolbar.vue:57 +#: src/options/options.js:197 src/page/albums.vue:100 src/page/labels.vue:77 #: src/page/library/errors.vue:76 src/page/people/recognized.vue:66 #: src/page/places.vue:79 src/page/settings/content.vue:235 msgid "Search" @@ -2660,11 +2695,11 @@ msgstr "Pilih tanggal" msgid "Select dates" msgstr "Pilih tanggal" -#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:154 +#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:156 msgid "Select or create an album" msgstr "Memilih atau membuat album" -#: src/component/upload/dialog.vue:138 +#: src/component/upload/dialog.vue:140 msgid "Select the files to upload…" msgstr "Pilih file yang akan diunggah…" @@ -2692,7 +2727,7 @@ msgstr "Pilihan dipulihkan" msgid "Sequential Name" msgstr "Nama Urutan" -#: src/component/service/add.vue:67 src/component/service/edit.vue:322 +#: src/component/service/add.vue:68 src/component/service/edit.vue:323 #: src/component/share/dialog.vue:25 msgid "Service URL" msgstr "URL Layanan" @@ -2701,7 +2736,7 @@ msgstr "URL Layanan" msgid "Services" msgstr "URL Layanan" -#: src/model/session.js:107 src/options/auth.js:41 src/options/auth.js:90 +#: src/model/session.js:107 src/options/auth.js:42 src/options/auth.js:91 msgid "Session" msgstr "Sesi" @@ -2709,7 +2744,7 @@ msgstr "Sesi" msgid "Session ID" msgstr "ID Sesi" -#: src/page/admin.vue:45 +#: src/page/admin.vue:44 msgid "Sessions" msgstr "Sesi" @@ -2717,22 +2752,22 @@ msgstr "Sesi" msgid "Set as Album Cover" msgstr "Tetapkan sebagai Sampul Album" -#: src/app/routes.js:101 src/app/routes.js:492 src/app/routes.js:504 -#: src/app/routes.js:521 src/app/routes.js:534 src/app/routes.js:547 -#: src/component/navigation.vue:1394 src/component/navigation.vue:1806 +#: src/app/routes.js:101 src/app/routes.js:500 src/app/routes.js:512 +#: src/app/routes.js:529 src/app/routes.js:542 src/app/routes.js:555 +#: src/component/navigation.vue:1419 src/component/navigation.vue:1841 msgid "Settings" msgstr "Pengaturan" #: src/page/settings/account.vue:115 src/page/settings/account.vue:144 -#: src/component/settings/passcode.vue:147 +#: src/component/settings/passcode.vue:151 msgid "Settings saved" msgstr "Pengaturan disimpan" -#: src/component/service/upload.vue:131 src/component/settings/passcode.vue:160 +#: src/component/service/upload.vue:132 src/component/settings/passcode.vue:163 msgid "Setup" msgstr "Setelan" -#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:98 +#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:103 #: src/component/photo/clipboard.vue:51 src/page/settings/general.vue:382 msgid "Share" msgstr "Bagikan" @@ -2749,7 +2784,7 @@ msgstr "Bagikan gambar Anda dengan aplikasi dan layanan lain." msgid "Show" msgstr "Tampilkan" -#: src/page/people/new.vue:116 src/page/people/new.vue:233 +#: src/page/people/new.vue:116 src/page/people/new.vue:235 msgid "Show all new faces" msgstr "Tampilkan semua wajah baru" @@ -2794,7 +2829,7 @@ msgid "Similar" msgstr "Serupa" #: src/component/photo/edit/files.vue:51 src/component/photo/edit/files.vue:341 -#: src/component/service/edit.vue:139 src/component/sidebar/info.vue:96 +#: src/component/service/edit.vue:140 src/component/sidebar/info.vue:96 msgid "Size" msgstr "Ukuran" @@ -2822,7 +2857,7 @@ msgstr "Ada yang salah, coba lagi" msgid "Sort by" msgstr "Urutkan berdasarkan" -#: src/component/album/edit/dialog.vue:142 src/component/photo/toolbar.vue:288 +#: src/component/album/edit/dialog.vue:143 src/component/photo/toolbar.vue:290 #: src/page/albums.vue:214 msgid "Sort Order" msgstr "Urutkan" @@ -2857,7 +2892,7 @@ msgstr "Stack gambar yang diambil pada waktu dan lokasi yang sama persis berdasa msgid "Stackable" msgstr "Dapat ditumpuk" -#: src/component/navigation.vue:421 src/page/settings/content.vue:136 +#: src/component/navigation.vue:423 src/page/settings/content.vue:136 msgid "Stacks" msgstr "Tumpukan" @@ -2885,16 +2920,16 @@ msgstr "Penyimpanan" msgid "Streets" msgstr "Jalan" -#: src/component/photo/edit/details.vue:494 +#: src/component/photo/edit/details.vue:468 #: src/component/photo/edit/labels.vue:44 msgid "Subject" msgstr "Subjek" -#: src/page/about/feedback.vue:162 src/page/about/feedback.vue:163 +#: src/page/about/feedback.vue:163 src/page/about/feedback.vue:164 msgid "Submit" msgstr "Kirim" -#: src/component/settings/passcode.vue:132 +#: src/component/settings/passcode.vue:136 msgid "Successfully activated" msgstr "Berhasil diaktifkan" @@ -2903,23 +2938,23 @@ msgid "Successfully Connected" msgstr "Berhasil Terhubung" #: src/component/session/remove/dialog.vue:32 -#: src/component/settings/apps.vue:218 +#: src/component/settings/apps.vue:222 msgid "Successfully deleted" msgstr "Berhasil dihapus" -#: src/component/settings/passcode.vue:107 +#: src/component/settings/passcode.vue:108 msgid "Successfully verified" msgstr "Berhasil diverifikasi" -#: src/component/user/edit/dialog.vue:398 src/page/admin/users.vue:163 +#: src/component/user/edit/dialog.vue:399 src/page/admin/users.vue:165 msgid "Super Admin" msgstr "Super Admin" -#: src/component/service/add.vue:122 +#: src/component/service/add.vue:123 msgid "Support for additional services, like Google Drive, will be added over time." msgstr "Dukungan untuk layanan tambahan, seperti Google Drive, akan ditambahkan seiring waktu." -#: src/component/confirm/sponsor.vue:37 src/component/navigation.vue:1629 +#: src/component/confirm/sponsor.vue:38 src/component/navigation.vue:1660 msgid "Support Our Mission" msgstr "Dukung Misi Kami" @@ -2927,7 +2962,7 @@ msgstr "Dukung Misi Kami" msgid "Sync" msgstr "Sinkronisasi" -#: src/component/service/edit.vue:289 +#: src/component/service/edit.vue:290 msgid "Sync raw and video files" msgstr "Sinkronkan file mentah dan video" @@ -2953,23 +2988,23 @@ msgstr "Medan" msgid "Text" msgstr "Teks" -#: src/component/photo/edit/details.vue:32 src/page/people/new.vue:71 +#: src/component/photo/edit/details.vue:40 src/page/people/new.vue:71 msgid "Text too long" msgstr "Teks terlalu panjang" -#: src/page/about/about.vue:145 +#: src/page/about/about.vue:146 msgid "Thank You for Your Support!" msgstr "Terima kasih atas Dukungan Anda!" -#: src/page/about/about.vue:79 src/page/about/about.vue:85 +#: src/page/about/about.vue:80 src/page/about/about.vue:86 msgid "That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality." msgstr "Itulah mengapa PhotoPrism dibangun dari nol untuk berjalan di mana pun Anda membutuhkannya, tanpa mengorbankan kebebasan, privasi, atau fungsionalitas." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "The index currently contains %{n} hidden files." msgstr "Indeks saat ini berisi %{n} file tersembunyi." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates." msgstr "Format mereka mungkin tidak didukung, mereka belum dikonversi ke JPEG atau ada duplikat." @@ -2984,44 +3019,44 @@ msgstr "Tema" msgid "This field is required" msgstr "Bidang ini wajib diisi" -#: src/component/settings/webdav.vue:100 src/page/settings/services.vue:144 +#: src/component/settings/webdav.vue:101 src/page/settings/services.vue:147 msgid "This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local." msgstr "Ini memasang folder asli sebagai drive tersambung dan memungkinkan Anda untuk membuka, mengubah, dan menghapus file dari komputer atau ponsel cerdas Anda." -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Time UTC" msgstr "Waktu UTC" -#: src/component/photo/edit/details.vue:219 src/page/settings/general.vue:108 +#: src/component/photo/edit/details.vue:221 src/page/settings/general.vue:108 msgid "Time Zone" msgstr "Zona Waktu" -#: src/component/service/edit.vue:408 +#: src/component/service/edit.vue:409 msgid "Timeout" msgstr "Tenggat waktu" -#: src/component/user/edit/dialog.vue:98 src/component/user/edit/dialog.vue:99 +#: src/component/user/edit/dialog.vue:99 src/component/user/edit/dialog.vue:100 #: src/page/settings/account.vue:84 src/page/settings/account.vue:86 msgctxt "Account" msgid "Title" msgstr "Judul" -#: src/component/photo/edit/details.vue:73 +#: src/component/photo/edit/details.vue:75 msgctxt "Photo" msgid "Title" msgstr "Judul" -#: src/component/photo/edit/info.vue:59 src/component/photo/edit/info.vue:155 +#: src/component/photo/edit/info.vue:61 src/component/photo/edit/info.vue:155 #: src/component/photo/edit/labels.vue:40 src/component/photo/view/list.vue:114 #: src/component/sidebar/info.vue:57 msgid "Title" msgstr "Judul" -#: src/page/settings/account.vue:553 src/page/settings/account.vue:555 +#: src/page/settings/account.vue:559 src/page/settings/account.vue:561 msgid "Title / Position" msgstr "Judul terlalu panjang" -#: src/page/albums.vue:83 +#: src/page/albums.vue:84 msgid "Title too long" msgstr "Judul terlalu panjang" @@ -3029,19 +3064,19 @@ msgstr "Judul terlalu panjang" msgid "to" msgstr "ke" -#: src/component/settings/passcode.vue:312 +#: src/component/settings/passcode.vue:315 msgid "To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place." msgstr "Untuk menghindari akun Anda terkunci, silakan unduh, cetak, atau salin kode pemulihan ini sekarang dan simpan di tempat yang aman." -#: src/component/settings/apps.vue:272 +#: src/component/settings/apps.vue:275 msgid "To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:" msgstr "Untuk membuat kata sandi khusus aplikasi yang baru, masukkan nama dan cakupan otorisasi aplikasi dan pilih tanggal kedaluwarsa:" -#: src/component/settings/passcode.vue:400 +#: src/component/settings/passcode.vue:403 msgid "To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:" msgstr "Untuk beralih ke aplikasi atau perangkat pengautentikasi baru, nonaktifkan autentikasi dua faktor terlebih dahulu, lalu aktifkan kembali:" -#: src/page/connect.vue:221 src/page/connect.vue:230 +#: src/page/connect.vue:223 src/page/connect.vue:232 msgid "To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:" msgstr "Untuk meningkatkan, Anda dapat memasukkan kode aktivasi atau klik \"Daftar\" untuk mendaftar di situs web kami:" @@ -3049,7 +3084,7 @@ msgstr "Untuk meningkatkan, Anda dapat memasukkan kode aktivasi atau klik \"Daft msgid "Today" msgstr "Hari ini" -#: src/component/album/toolbar.vue:70 src/component/photo/toolbar.vue:78 +#: src/component/album/toolbar.vue:71 src/component/photo/toolbar.vue:78 msgid "Toggle View" msgstr "Beralih Tampilan" @@ -3076,20 +3111,24 @@ msgstr "Pemecahan masalah" msgid "Try again using other filters or keywords." msgstr "Coba lagi menggunakan filter atau kata kunci lain." -#: src/component/settings/passcode.vue:380 +#: src/component/settings/passcode.vue:383 msgid "Two-factor authentication has been enabled for your account." msgstr "Otentikasi dua faktor telah diaktifkan untuk akun Anda." #: src/component/photo/edit/files.vue:58 src/component/photo/edit/files.vue:330 -#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:388 +#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:389 msgid "Type" msgstr "Ketik" -#: src/options/auth.js:13 +#: src/component/album/toolbar.vue:178 +msgid "Unable to delete" +msgstr "Tidak dapat menghapus" + +#: src/options/auth.js:14 msgid "Unauthorized" msgstr "Tidak sah" -#: src/component/photo/edit/people.vue:94 +#: src/component/photo/edit/people.vue:95 msgid "Undo" msgstr "Batalkan" @@ -3097,16 +3136,16 @@ msgstr "Batalkan" msgid "Unique ID" msgstr "ID Unik" -#: src/page/settings/account.vue:451 src/page/settings/account.vue:476 -#: src/page/settings/account.vue:501 src/common/util.js:487 -#: src/component/photo/edit/details.vue:21 -#: src/component/photo/edit/details.vue:111 -#: src/component/photo/edit/details.vue:138 -#: src/component/photo/edit/details.vue:164 src/component/sidebar/info.vue:43 -#: src/model/album.js:193 src/model/photo.js:323 src/model/photo.js:784 -#: src/model/photo.js:809 src/model/photo.js:832 src/model/photo.js:850 -#: src/model/photo.js:897 src/model/photo.js:905 src/model/photo.js:994 -#: src/model/photo.js:1016 src/model/photo.js:1061 src/model/photo.js:1074 +#: src/page/settings/account.vue:457 src/page/settings/account.vue:482 +#: src/page/settings/account.vue:507 src/common/util.js:488 +#: src/component/photo/edit/details.vue:27 +#: src/component/photo/edit/details.vue:113 +#: src/component/photo/edit/details.vue:140 +#: src/component/photo/edit/details.vue:166 src/component/sidebar/info.vue:43 +#: src/model/album.js:193 src/model/photo.js:331 src/model/photo.js:821 +#: src/model/photo.js:846 src/model/photo.js:869 src/model/photo.js:887 +#: src/model/photo.js:934 src/model/photo.js:942 src/model/photo.js:1031 +#: src/model/photo.js:1053 src/model/photo.js:1098 src/model/photo.js:1111 #: src/model/user.js:157 src/options/options.js:51 src/options/options.js:69 #: src/options/options.js:86 src/options/options.js:100 #: src/options/options.js:112 src/page/library/errors.vue:251 @@ -3119,7 +3158,7 @@ msgstr "Tidak diketahui" msgid "Unregistered" msgstr "Tidak terdaftar" -#: src/app/routes.js:215 src/component/navigation.vue:644 +#: src/app/routes.js:223 src/component/navigation.vue:648 msgid "Unsorted" msgstr "Tidak disortir" @@ -3127,7 +3166,7 @@ msgstr "Tidak disortir" msgid "Unstack" msgstr "Buang tumpukan" -#: src/component/photo/edit/files.vue:519 src/component/photo/edit/info.vue:416 +#: src/component/photo/edit/files.vue:521 src/component/photo/edit/info.vue:416 msgid "Updated" msgstr "Telah diperbarui" @@ -3143,7 +3182,7 @@ msgstr "Memperbarui indeks" msgid "Updating moments" msgstr "Memperbarui momen" -#: src/component/user/edit/dialog.vue:154 +#: src/component/user/edit/dialog.vue:155 msgid "Updating picture…" msgstr "Memperbarui pratinjau" @@ -3155,21 +3194,21 @@ msgstr "Memperbarui pratinjau" msgid "Updating stacks" msgstr "Memperbarui tumpukan" -#: src/page/connect.vue:57 src/component/navigation.vue:1500 -#: src/component/navigation.vue:1614 src/component/navigation.vue:1999 +#: src/page/connect.vue:57 src/component/navigation.vue:1526 +#: src/component/navigation.vue:1644 src/component/navigation.vue:2047 #: src/page/connect.vue:58 msgid "Upgrade" msgstr "Tingkatkan" -#: src/page/about/about.vue:123 src/page/connect.vue:202 -#: src/component/confirm/sponsor.vue:98 src/page/about/about.vue:113 -#: src/page/connect.vue:206 +#: src/page/about/about.vue:124 src/page/connect.vue:204 +#: src/component/confirm/sponsor.vue:99 src/page/about/about.vue:114 +#: src/page/connect.vue:208 msgid "Upgrade Now" msgstr "Tingkatkan Sekarang" -#: src/component/album/toolbar.vue:108 src/component/navigation.vue:1824 -#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:144 -#: src/component/upload/dialog.vue:51 src/page/albums.vue:183 +#: src/component/album/toolbar.vue:113 src/component/navigation.vue:1860 +#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:145 +#: src/component/upload/dialog.vue:51 src/page/albums.vue:185 #: src/page/labels.vue:122 src/page/library/import.vue:133 #: src/page/settings/general.vue:307 src/page/settings/services.vue:38 msgid "Upload" @@ -3179,21 +3218,21 @@ msgstr "Unggah" msgid "Upload complete" msgstr "Ungahan selesai" -#: src/component/upload/dialog.vue:133 +#: src/component/upload/dialog.vue:135 msgid "Upload complete. Indexing…" msgstr "Unggahan selesai. Melakukan pengindeksan…" #: src/component/upload/dialog.vue:296 src/component/upload/dialog.vue:315 -#: src/component/upload/dialog.vue:129 +#: src/component/upload/dialog.vue:131 msgid "Upload failed" msgstr "Unggahan gagal" -#: src/component/service/edit.vue:257 +#: src/component/service/edit.vue:258 msgid "Upload local files" msgstr "Unggah berkas lokal" -#: src/component/user/edit/dialog.vue:380 #: src/component/user/edit/dialog.vue:381 +#: src/component/user/edit/dialog.vue:382 msgid "Upload Path" msgstr "Jalur Unggah" @@ -3201,7 +3240,7 @@ msgstr "Jalur Unggah" msgid "Upload to WebDAV and share links with friends." msgstr "Unggah ke WebDAV dan bagikan tautan kepada teman." -#: src/component/upload/dialog.vue:131 +#: src/component/upload/dialog.vue:133 msgid "Uploading %{n} of %{t}…" msgstr "Mengunggah %{n} dari %{t}…" @@ -3214,7 +3253,7 @@ msgstr "Mengunggah foto…" msgid "Uploading…" msgstr "Memuat ulang…" -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Uploads that may contain such images will be rejected automatically." msgstr "Unggahan yang mungkin berisi gambar seperti itu akan ditolak secara otomatis." @@ -3222,7 +3261,7 @@ msgstr "Unggahan yang mungkin berisi gambar seperti itu akan ditolak secara otom msgid "Use Presets" msgstr "Gunakan Preset" -#: src/component/settings/passcode.vue:283 +#: src/component/settings/passcode.vue:286 msgid "Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:" msgstr "Gunakan kode pemulihan berikut untuk mengakses akun Anda ketika Anda tidak dapat membuat kode verifikasi yang valid dengan aplikasi autentikator Anda:" @@ -3230,12 +3269,12 @@ msgstr "Gunakan kode pemulihan berikut untuk mengakses akun Anda ketika Anda tid msgid "Use your recovery code or contact an administrator for help." msgstr "Gunakan kode pemulihan Anda atau hubungi administrator untuk mendapatkan bantuan." -#: src/options/admin.js:10 src/page/admin/sessions.vue:59 -#: src/page/admin/sessions.vue:242 src/model/user.js:361 src/options/auth.js:7 +#: src/options/admin.js:14 src/page/admin/sessions.vue:59 +#: src/page/admin/sessions.vue:243 src/model/user.js:361 src/options/auth.js:8 msgid "User" msgstr "Pengguna" -#: src/component/navigation.vue:1979 +#: src/component/navigation.vue:2025 msgid "User Guide" msgstr "Panduan Pengguna" @@ -3243,14 +3282,14 @@ msgstr "Panduan Pengguna" msgid "User Interface" msgstr "Tampilan Pengguna" -#: src/component/user/add/dialog.vue:87 src/component/user/add/dialog.vue:88 -#: src/page/admin/sessions.vue:220 src/page/admin/users.vue:71 -#: src/component/service/add.vue:85 src/component/service/edit.vue:337 +#: src/component/user/add/dialog.vue:88 src/component/user/add/dialog.vue:89 +#: src/page/admin/sessions.vue:221 src/page/admin/users.vue:73 +#: src/component/service/add.vue:86 src/component/service/edit.vue:338 #: src/component/share/dialog.vue:26 msgid "Username" msgstr "Nama pengguna" -#: src/component/navigation.vue:1435 +#: src/component/navigation.vue:1461 msgid "Users" msgstr "Pengguna" @@ -3260,18 +3299,18 @@ msgstr "Pengguna" msgid "Vector" msgstr "Vektor" -#: src/component/navigation.vue:440 +#: src/component/navigation.vue:442 msgid "Vectors" msgstr "Vektor" -#: src/component/settings/passcode.vue:227 src/page/auth/login.vue:144 +#: src/component/settings/passcode.vue:230 src/page/auth/login.vue:144 msgid "Verification Code" msgstr "Kode verifikasi" #: src/component/photo/view/cards.vue:363 #: src/component/photo/view/cards.vue:491 src/component/photo/view/list.vue:190 #: src/component/photo/view/mosaic.vue:207 src/model/file.js:221 -#: src/model/photo.js:921 src/model/photo.js:939 src/options/options.js:293 +#: src/model/photo.js:958 src/model/photo.js:976 src/options/options.js:293 msgid "Video" msgstr "Video" @@ -3280,12 +3319,12 @@ msgstr "Video" msgid "Video Duration" msgstr "Durasi" -#: src/app/routes.js:243 src/component/navigation.vue:728 +#: src/app/routes.js:251 src/component/navigation.vue:734 #: src/options/options.js:200 msgid "Videos" msgstr "Koleksi Video" -#: src/component/photo/toolbar.vue:261 src/component/photo/view/cards.vue:350 +#: src/component/photo/toolbar.vue:263 src/component/photo/view/cards.vue:350 #: src/component/photo/view/mosaic.vue:194 msgid "View" msgstr "Melihat" @@ -3294,11 +3333,11 @@ msgstr "Melihat" msgid "View search results as a list." msgstr "Melihat hasil pencarian sebagai daftar." -#: src/options/admin.js:14 src/options/auth.js:8 +#: src/options/admin.js:18 src/options/auth.js:9 msgid "Viewer" msgstr "Penampil" -#: src/page/admin/sessions.vue:271 src/options/auth.js:12 +#: src/page/admin/sessions.vue:272 src/options/auth.js:13 msgid "Visitor" msgstr "Pengunjung" @@ -3310,34 +3349,34 @@ msgstr "Kelompokkan menurut kesamaan" msgid "Warning" msgstr "Peringatan" -#: src/page/about/feedback.vue:60 +#: src/page/about/feedback.vue:61 msgid "We appreciate your feedback!" msgstr "Kami menghargai umpan balik Anda!" -#: src/page/about/feedback.vue:63 +#: src/page/about/feedback.vue:64 msgid "We do our best to respond within five business days or less." msgstr "Kami melakukan yang terbaik untuk merespons dalam waktu lima hari kerja atau kurang." -#: src/component/user/add/dialog.vue:235 src/component/user/edit/dialog.vue:415 -#: src/page/admin/users.vue:80 +#: src/component/user/add/dialog.vue:236 src/component/user/edit/dialog.vue:416 +#: src/page/admin/users.vue:82 msgid "Web Login" msgstr "Login Web" -#: src/component/user/add/dialog.vue:248 src/component/user/edit/dialog.vue:432 -#: src/page/admin/users.vue:82 src/options/auth.js:55 src/options/auth.js:68 +#: src/component/user/add/dialog.vue:249 src/component/user/edit/dialog.vue:433 +#: src/page/admin/users.vue:84 src/options/auth.js:56 src/options/auth.js:69 #: src/options/options.js:444 msgid "WebDAV" msgstr "WebDAV" -#: src/component/settings/webdav.vue:51 +#: src/component/settings/webdav.vue:52 msgid "WebDAV clients can connect to PhotoPrism using the following URL:" msgstr "Klien WebDAV dapat terhubung ke PhotoPrism menggunakan URL berikut:" -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism." msgstr "Klien WebDAV, seperti Microsoft Windows Explorer atau Apple's Finder, dapat terhubung langsung ke PhotoPrism." -#: src/component/service/upload.vue:50 src/component/share/dialog.vue:220 +#: src/component/service/upload.vue:51 src/component/share/dialog.vue:220 msgid "WebDAV Upload" msgstr "Unggah WebDAV" @@ -3345,8 +3384,8 @@ msgstr "Unggah WebDAV" msgid "WebGL support is disabled in your browser" msgstr "Dukungan WebGL dinonaktifkan di browser Anda" -#: src/page/settings/account.vue:615 src/page/settings/account.vue:709 -#: src/page/settings/account.vue:601 +#: src/page/settings/account.vue:621 src/page/settings/account.vue:715 +#: src/page/settings/account.vue:607 msgid "Website" msgstr "Situs web" @@ -3354,12 +3393,12 @@ msgstr "Situs web" msgid "White" msgstr "Putih" -#: src/page/settings/account.vue:532 +#: src/page/settings/account.vue:538 msgid "Work Details" msgstr "Detail" -#: src/page/settings/account.vue:500 src/component/photo/edit/details.vue:163 -#: src/component/photo/toolbar.vue:315 src/page/albums.vue:159 +#: src/page/settings/account.vue:506 src/component/photo/edit/details.vue:165 +#: src/component/photo/toolbar.vue:317 src/page/albums.vue:159 msgid "Year" msgstr "Tahun" @@ -3367,21 +3406,21 @@ msgstr "Tahun" msgid "Yellow" msgstr "Kuning" -#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:58 -#: src/component/photo/archive/dialog.vue:58 +#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:59 +#: src/component/photo/archive/dialog.vue:59 #: src/component/photo/clipboard.vue:200 src/component/photo/edit/files.vue:365 #: src/component/photo/edit/files.vue:395 #: src/component/photo/edit/files.vue:401 #: src/component/photo/edit/files.vue:407 -#: src/component/photo/edit/files.vue:510 src/component/photo/edit/info.vue:281 +#: src/component/photo/edit/files.vue:512 src/component/photo/edit/info.vue:281 #: src/component/photo/edit/info.vue:297 src/component/photo/edit/info.vue:313 #: src/component/photo/edit/info.vue:329 src/component/photo/edit/info.vue:344 -#: src/component/photo/toolbar.vue:434 +#: src/component/photo/toolbar.vue:436 msgid "Yes" msgstr "Ya" -#: src/component/confirm/sponsor.vue:59 src/page/about/about.vue:158 -#: src/page/connect.vue:315 +#: src/component/confirm/sponsor.vue:60 src/page/about/about.vue:160 +#: src/page/connect.vue:317 msgid "You are welcome to contact us at membership@photoprism.app for questions regarding your membership." msgstr "Anda dapat menghubungi kami di membership@photoprism.app untuk pertanyaan mengenai keanggotaan Anda." @@ -3393,7 +3432,11 @@ msgstr "Anda hanya dapat mengunduh satu album" msgid "You can only download one label" msgstr "Anda hanya dapat mengunduh satu label" -#: src/component/upload/dialog.vue:203 +#: src/component/location/dialog.vue:178 +msgid "You can search for a location or move the marker on the map to change the position:" +msgstr "Anda dapat mencari lokasi atau memindahkan penanda pada peta untuk mengubah posisi:" + +#: src/component/upload/dialog.vue:205 msgid "You can upload up to %{n} files for test purposes." msgstr "Anda dapat mengunggah hingga %{n} file untuk tujuan pengujian." @@ -3406,7 +3449,7 @@ msgstr "Anda hanya dapat memilih satu item" msgid "You may rescan your library to find additional faces." msgstr "Anda dapat memindai ulang perpustakaan Anda untuk menemukan wajah tambahan." -#: src/page/connect.vue:146 src/page/connect.vue:150 +#: src/page/connect.vue:147 src/page/connect.vue:151 msgid "Your account has been successfully connected." msgstr "Akun Anda telah berhasil terhubung." @@ -3414,8 +3457,8 @@ msgstr "Akun Anda telah berhasil terhubung." msgid "Your browser does not support WebGL" msgstr "Browser Anda tidak mendukung WebGL" -#: src/component/confirm/sponsor.vue:43 src/page/about/about.vue:97 -#: src/page/about/about.vue:156 src/page/connect.vue:220 +#: src/component/confirm/sponsor.vue:44 src/page/about/about.vue:98 +#: src/page/about/about.vue:158 src/page/connect.vue:222 msgid "Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy." msgstr "Dukungan Anda yang berkelanjutan membantu kami menyediakan layanan seperti peta satelit dan mengembangkan fitur-fitur terbaru." @@ -3496,9 +3539,6 @@ msgstr "Memperbesar/memperkecil" #~ msgid "Open Folder" #~ msgstr "Buka Folder" -#~ msgid "Cannot copy to clipboard" -#~ msgstr "Tidak dapat menyalin ke papan klip" - #~ msgid "Sound" #~ msgstr "Suara" diff --git a/frontend/src/locales/it.po b/frontend/src/locales/it.po index 97dfc782a..75ad2f623 100644 --- a/frontend/src/locales/it.po +++ b/frontend/src/locales/it.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: ci@photoprism.app\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2025-04-04 08:03+0000\n" +"PO-Revision-Date: 2025-07-06 08:58+0000\n" "Last-Translator: DeepL \n" "Language-Team: Italian \n" "Language: it\n" @@ -11,7 +11,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.10.4\n" +"X-Generator: Weblate 5.12.2\n" "Generated-By: easygettext\n" #: src/locales.js:268 @@ -42,7 +42,7 @@ msgstr "{0} selezionato" msgid "{0}-{1} of {2}" msgstr "{0}-{1} di {2}" -#: src/page/albums.vue:612 +#: src/page/albums.vue:617 msgid "%{n} albums found" msgstr "%{n} album trovati" @@ -50,25 +50,25 @@ msgstr "%{n} album trovati" msgid "%{n} files uploaded" msgstr "%{n} file caricati" -#: src/page/library/browse.vue:362 +#: src/page/library/browse.vue:364 msgid "%{n} folders found" msgstr "%{n} cartelle trovate" -#: src/component/navigation.vue:1676 +#: src/component/navigation.vue:1707 msgid "%{n} GB of %{q} GB used" msgstr "%{n} GB di %{q} GB utilizzati" -#: src/page/labels.vue:528 +#: src/page/labels.vue:533 msgid "%{n} labels found" msgstr "%{n} etichette trovate" -#: src/page/people/new.vue:350 src/page/people/new.vue:447 -#: src/page/people/recognized.vue:536 +#: src/page/people/new.vue:350 src/page/people/new.vue:450 +#: src/page/people/recognized.vue:541 msgid "%{n} people found" msgstr "%{n} persone trovate" -#: src/page/album/photos.vue:308 src/page/album/photos.vue:493 -#: src/page/photos.vue:441 src/page/photos.vue:631 +#: src/page/album/photos.vue:313 src/page/album/photos.vue:504 +#: src/page/photos.vue:446 src/page/photos.vue:641 msgid "%{n} pictures found" msgstr "%{n} immagini trovate" @@ -88,12 +88,12 @@ msgstr "1 ora" msgid "12 hours" msgstr "12 ore" -#: src/component/user/edit/dialog.vue:452 src/page/settings/account.vue:324 -#: src/component/settings/passcode.vue:75 +#: src/component/user/edit/dialog.vue:453 src/page/settings/account.vue:325 +#: src/component/settings/passcode.vue:78 msgid "2-Factor Authentication" msgstr "Autenticazione a 2 fattori" -#: src/component/user/edit/dialog.vue:451 src/options/auth.js:46 +#: src/component/user/edit/dialog.vue:452 src/options/auth.js:47 msgid "2FA" msgstr "2FA" @@ -109,20 +109,20 @@ msgstr "Un click lo copierà negli appunti." msgid "A new version of %{s} is available:" msgstr "È disponibile una nuova versione di %{s}:" -#: src/component/user/edit/dialog.vue:233 -#: src/component/user/edit/dialog.vue:234 src/page/about/about.vue:56 +#: src/component/user/edit/dialog.vue:234 +#: src/component/user/edit/dialog.vue:235 src/page/about/about.vue:56 #: src/page/settings/account.vue:248 src/page/settings/account.vue:249 -#: src/app/routes.js:63 src/component/navigation.vue:1521 -#: src/page/people/recognized.vue:292 +#: src/app/routes.js:63 src/component/navigation.vue:1547 +#: src/page/people/recognized.vue:296 msgid "About" msgstr "Informazioni" -#: src/options/auth.js:26 src/options/auth.js:44 +#: src/options/auth.js:27 src/options/auth.js:45 msgid "Access Token" msgstr "Gettone di accesso" -#: src/component/navigation.vue:87 src/component/navigation.vue:1788 -#: src/component/service/upload.vue:71 src/model/service.js:96 +#: src/component/navigation.vue:87 src/component/navigation.vue:1822 +#: src/component/service/upload.vue:72 src/model/service.js:96 #: src/model/user.js:171 src/page/settings.vue:85 #: src/page/settings/general.vue:582 msgid "Account" @@ -136,7 +136,7 @@ msgstr "Account creato" msgid "Account deleted" msgstr "Account eliminato" -#: src/page/admin/users.vue:335 +#: src/page/admin/users.vue:337 msgid "Account restored" msgstr "Account ripristinato" @@ -157,8 +157,8 @@ msgstr "Azione" msgid "Actions" msgstr "Azioni" -#: src/page/connect.vue:294 src/component/settings/passcode.vue:346 -#: src/page/connect.vue:303 +#: src/page/connect.vue:296 src/component/settings/passcode.vue:349 +#: src/page/connect.vue:305 msgid "Activate" msgstr "Attiva" @@ -174,20 +174,20 @@ msgstr "Attiva per ordinare in ordine crescente." msgid "Activate to sort descending." msgstr "Attiva per ordinare in modo decrescente." -#: src/page/connect.vue:231 src/page/connect.vue:240 +#: src/page/connect.vue:233 src/page/connect.vue:242 msgid "Activation Code" msgstr "Codice di attivazione" -#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:83 -#: src/component/settings/apps.vue:448 +#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:92 +#: src/component/settings/apps.vue:451 msgid "Add" msgstr "Aggiungi" -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:246 msgid "Add %{s}?" msgstr "Aggiungi %{s}?" -#: src/component/user/add/dialog.vue:56 src/component/service/add.vue:49 +#: src/component/user/add/dialog.vue:57 src/component/service/add.vue:50 msgid "Add Account" msgstr "Aggiungi account" @@ -204,8 +204,8 @@ msgid "Add Link" msgstr "Aggiungi Link" #: src/component/photo/edit/people.vue:25 -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:57 -#: src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:57 +#: src/page/people/new.vue:246 msgid "Add person?" msgstr "Aggiungi una persona?" @@ -221,10 +221,15 @@ msgstr "Aggiungi immagini dai risultati della ricerca selezionandole." msgid "Add to album" msgstr "Aggiungi all'album" -#: src/component/photo/edit/files.vue:514 +#: src/component/photo/edit/files.vue:516 msgid "Added" msgstr "Aggiunto" +#: src/component/location/dialog.vue:68 src/component/location/dialog.vue:90 +#: src/component/photo/edit/details.vue:246 +msgid "Adjust Location" +msgstr "Regola la posizione" + #: src/options/admin.js:6 src/options/auth.js:6 msgid "Admin" msgstr "Admin" @@ -245,7 +250,7 @@ msgstr "Dopo 3 giorni" msgid "After 7 days" msgstr "Dopo 7 giorni" -#: src/component/settings/passcode.vue:93 +#: src/component/settings/passcode.vue:96 msgid "After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:" msgstr "Dopo aver re inserito la password, potrai attivare l’autenticazione a due fattori con un’applicazione di autenticazione o un dispositivo compatibile" @@ -277,12 +282,16 @@ msgstr "Album" msgid "Album Backups" msgstr "Backup degli album" -#: src/page/albums.vue:674 +#: src/page/albums.vue:685 msgid "Album created" msgstr "Album creato" -#: src/app/routes.js:176 src/component/album/toolbar.vue:51 -#: src/component/navigation.vue:604 src/component/navigation.vue:1882 +#: src/page/album/photos.vue:589 +msgid "Album deleted" +msgstr "Album cancellato" + +#: src/app/routes.js:184 src/component/album/toolbar.vue:55 +#: src/component/navigation.vue:607 src/component/navigation.vue:1922 #: src/component/photo/edit/info.vue:220 src/options/options.js:198 msgid "Albums" msgstr "Album" @@ -295,7 +304,7 @@ msgstr "Album eliminati" msgid "All" msgstr "Tutti" -#: src/page/albums.vue:465 +#: src/page/albums.vue:470 msgid "All %{n} albums loaded" msgstr "Tutti i %{n} album sono stati caricati" @@ -311,8 +320,8 @@ msgstr "Tutte le %{n} persone caricate" msgid "All Cameras" msgstr "Tutte le Fotocamere" -#: src/component/photo/toolbar.vue:74 src/page/albums.vue:44 -#: src/page/albums.vue:240 src/page/albums.vue:746 +#: src/component/photo/toolbar.vue:74 src/page/albums.vue:45 +#: src/page/albums.vue:242 src/page/albums.vue:757 msgid "All Categories" msgstr "Tutte le Categorie" @@ -344,7 +353,7 @@ msgstr "Tutti i Mesi" msgid "All originals" msgstr "Tutti gli originali" -#: src/component/photo/toolbar.vue:76 src/page/albums.vue:93 +#: src/component/photo/toolbar.vue:76 src/page/albums.vue:94 msgid "All Years" msgstr "Tutti gli Anni" @@ -356,7 +365,7 @@ msgstr "Alternativamente, puoi caricare i file direttamente a server WebDAV come msgid "Altitude" msgstr "Altitudine" -#: src/component/photo/edit/details.vue:272 +#: src/component/photo/edit/details.vue:297 msgid "Altitude (m)" msgstr "Altitudine (m)" @@ -364,8 +373,7 @@ msgstr "Altitudine (m)" msgid "AM" msgstr "AM" -#: src/app/routes.js:257 src/component/navigation.vue:791 -#: src/component/photo/edit/files.vue:364 +#: src/app/routes.js:265 src/component/photo/edit/files.vue:364 #: src/component/photo/view/cards.vue:327 #: src/component/photo/view/cards.vue:511 src/component/photo/view/list.vue:184 #: src/component/photo/view/mosaic.vue:171 src/options/options.js:301 @@ -376,43 +384,47 @@ msgstr "Animato" msgid "Animation" msgstr "Animazione" +#: src/component/navigation.vue:797 +msgid "Animations" +msgstr "Animazioni" + #: src/component/share/dialog.vue:207 msgid "Any private photos and videos remain private and won't be shared." msgstr "Tutte le foto e i video privati rimarranno privati e non verranno condivisi." -#: src/component/service/edit.vue:372 +#: src/component/service/edit.vue:373 msgid "API Key" msgstr "Chiave API" -#: src/page/admin/sessions.vue:357 src/options/auth.js:25 +#: src/page/admin/sessions.vue:361 src/options/auth.js:26 msgid "Application" msgstr "Applicazione" -#: src/component/photo/edit/details.vue:641 +#: src/component/photo/edit/details.vue:615 msgid "Apply" msgstr "Applica" #: src/component/photo/clipboard.vue:64 -#: src/component/photo/edit/details.vue:640 +#: src/component/photo/edit/details.vue:614 #: src/component/photo/view/cards.vue:416 msgid "Approve" msgstr "Approva" -#: src/page/settings/account.vue:374 src/component/settings/apps.vue:91 +#: src/page/settings/account.vue:378 src/component/settings/apps.vue:94 msgid "Apps and Devices" msgstr "Applicazioni e dispositivi" -#: src/app/routes.js:287 src/component/lightbox.vue:1207 -#: src/component/navigation.vue:555 src/component/photo/clipboard.vue:142 +#: src/app/routes.js:295 src/component/lightbox.vue:1207 +#: src/component/navigation.vue:557 src/component/photo/clipboard.vue:142 #: src/component/photo/view/cards.vue:398 src/page/settings/general.vue:432 msgid "Archive" msgstr "Archivio" -#: src/component/lightbox.vue:1982 src/component/photo/edit/info.vue:433 +#: src/component/lightbox.vue:2002 src/component/photo/edit/info.vue:433 msgid "Archived" msgstr "Archiviato" -#: src/component/photo/archive/dialog.vue:34 +#: src/component/photo/archive/dialog.vue:35 msgid "Are you sure you want to archive the selection?" msgstr "Sei sicuro di voler archiviare la selezione?" @@ -420,19 +432,23 @@ msgstr "Sei sicuro di voler archiviare la selezione?" msgid "Are you sure you want to delete these albums?" msgstr "Vuoi veramente eliminare questi album?" -#: src/component/label/delete/dialog.vue:34 +#: src/component/label/delete/dialog.vue:35 msgid "Are you sure you want to delete these labels?" msgstr "Vuoi veramente eliminare queste etichette?" -#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:36 +#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:37 msgid "Are you sure you want to delete this account?" msgstr "Vuoi veramente eliminare questo account?" +#: src/component/album/toolbar.vue:136 +msgid "Are you sure you want to delete this album?" +msgstr "Sei sicuro di voler cancellare questo album?" + #: src/component/photo/clipboard.vue:199 msgid "Are you sure you want to permanently delete these pictures?" msgstr "Vuoi veramente eliminare in modo permanente queste immagini?" -#: src/component/file/delete/dialog.vue:34 +#: src/component/file/delete/dialog.vue:35 msgid "Are you sure you want to permanently delete this file?" msgstr "Vuoi veramente eliminare in modo permanente questi file?" @@ -441,7 +457,7 @@ msgstr "Vuoi veramente eliminare in modo permanente questi file?" msgid "Are you sure?" msgstr "Sei sicuro?" -#: src/component/photo/edit/details.vue:537 +#: src/component/photo/edit/details.vue:511 msgid "Artist" msgstr "Artista" @@ -449,14 +465,14 @@ msgstr "Artista" msgid "Aspect Ratio" msgstr "Proporzione" -#: src/app/routes.js:250 src/component/navigation.vue:770 +#: src/app/routes.js:258 src/component/navigation.vue:776 #: src/options/options.js:297 msgid "Audio" msgstr "Audio" -#: src/component/user/add/dialog.vue:190 src/component/user/edit/dialog.vue:309 -#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:281 -#: src/page/admin/users.vue:75 +#: src/component/user/add/dialog.vue:191 src/component/user/edit/dialog.vue:310 +#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:282 +#: src/page/admin/users.vue:77 msgid "Authentication" msgstr "Autenticazione" @@ -464,11 +480,11 @@ msgstr "Autenticazione" msgid "Auto" msgstr "Auto" -#: src/component/settings/apps.vue:151 +#: src/component/settings/apps.vue:154 msgid "Back" msgstr "Indietro" -#: src/component/scroll.vue:20 +#: src/component/scroll.vue:18 msgid "Back to top" msgstr "Torna all'inizio" @@ -480,26 +496,26 @@ msgstr "Backup" msgid "Badge" msgstr "Distintivo" -#: src/component/user/edit/dialog.vue:361 #: src/component/user/edit/dialog.vue:362 +#: src/component/user/edit/dialog.vue:363 msgid "Base Path" msgstr "Percorso base" -#: src/page/about/about.vue:95 src/page/connect.vue:220 +#: src/page/about/about.vue:96 src/page/connect.vue:222 msgid "Become a member today, support our mission and enjoy our member benefits!" msgstr "Diventate membri oggi stesso, sostenete la nostra missione e godete dei nostri vantaggi per i membri!" -#: src/component/confirm/sponsor.vue:51 src/page/about/about.vue:99 +#: src/component/confirm/sponsor.vue:52 src/page/about/about.vue:100 msgid "Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services." msgstr "Essendo autofinanziati ed indipendenti, possiamo prometterti che non venderemo mai i tuoi dati e che saremo sempre trasparenti riguardo al nostro software e ai nostri servizi." -#: src/component/user/edit/dialog.vue:258 -#: src/component/user/edit/dialog.vue:259 src/page/settings/account.vue:227 +#: src/component/user/edit/dialog.vue:259 +#: src/component/user/edit/dialog.vue:260 src/page/settings/account.vue:227 #: src/page/settings/account.vue:228 msgid "Bio" msgstr "Biografia" -#: src/page/settings/account.vue:431 +#: src/page/settings/account.vue:437 msgid "Birth Date" msgstr "Data di nascita" @@ -520,7 +536,7 @@ msgid "Brown" msgstr "Marrone" #: src/component/photo/edit/files.vue:263 src/component/photo/toolbar.vue:141 -#: src/component/upload/dialog.vue:240 +#: src/component/upload/dialog.vue:242 msgid "Browse" msgstr "Sfogliare" @@ -548,16 +564,16 @@ msgstr "Segnala Bug" msgid "Busy, please wait…" msgstr "Occupato, attendere prego…" -#: src/page/connect.vue:317 +#: src/page/connect.vue:319 msgid "By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct." msgstr "Utilizzando il software e i servizi, accetti i nostri temini di servizio, privacy policy e codice di condotta." -#: src/app/routes.js:189 src/component/navigation.vue:1081 +#: src/app/routes.js:197 src/component/navigation.vue:1097 #: src/options/options.js:204 src/page/settings/general.vue:205 msgid "Calendar" msgstr "Calendario" -#: src/component/photo/edit/details.vue:346 src/component/photo/toolbar.vue:232 +#: src/component/photo/edit/details.vue:320 src/component/photo/toolbar.vue:234 #: src/component/photo/view/cards.vue:467 src/component/photo/view/list.vue:116 msgid "Camera" msgstr "Fotocamera" @@ -570,12 +586,12 @@ msgstr "Seriale Fotocamera" msgid "Can't access your authenticator app or device?" msgstr "Non riesci ad accedere alla tua app o al tuo dispositivo Authenticator?" -#: src/page/album/photos.vue:317 src/page/photos.vue:450 +#: src/page/album/photos.vue:322 src/page/photos.vue:455 msgid "Can't load more, limit reached" msgstr "Impossibile caricare ancora, limite raggiunto" #: src/common/clipboard.js:102 src/common/clipboard.js:139 -#: src/page/albums.vue:684 src/page/albums.vue:700 src/page/labels.vue:293 +#: src/page/albums.vue:695 src/page/albums.vue:711 src/page/labels.vue:293 #: src/page/labels.vue:313 src/page/library/browse.vue:233 #: src/page/library/browse.vue:249 src/page/people/new.vue:278 #: src/page/people/new.vue:294 src/page/people/recognized.vue:305 @@ -584,26 +600,31 @@ msgid "Can't select more items" msgstr "Impossibile selezionare ulteriori elementi" #: src/component/session/remove/dialog.vue:45 -#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:473 -#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:119 +#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:474 +#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:120 #: src/component/album/delete/dialog.vue:43 -#: src/component/album/edit/dialog.vue:199 src/component/confirm/dialog.vue:43 -#: src/component/file/delete/dialog.vue:47 -#: src/component/label/delete/dialog.vue:47 -#: src/component/label/edit/dialog.vue:107 -#: src/component/people/edit/dialog.vue:120 +#: src/component/album/edit/dialog.vue:200 src/component/confirm/dialog.vue:43 +#: src/component/file/delete/dialog.vue:48 +#: src/component/label/delete/dialog.vue:48 +#: src/component/label/edit/dialog.vue:108 +#: src/component/location/dialog.vue:200 +#: src/component/people/edit/dialog.vue:121 #: src/component/photo/album/dialog.vue:78 src/component/service/add.vue:19 -#: src/component/service/edit.vue:455 src/component/service/remove.vue:49 -#: src/component/service/upload.vue:117 src/component/settings/apps.vue:352 -#: src/component/settings/passcode.vue:249 -#: src/component/settings/passcode.vue:333 -#: src/component/settings/password.vue:159 src/component/share/dialog.vue:28 -#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:123 +#: src/component/service/edit.vue:456 src/component/service/remove.vue:50 +#: src/component/service/upload.vue:118 src/component/settings/apps.vue:355 +#: src/component/settings/passcode.vue:252 +#: src/component/settings/passcode.vue:336 +#: src/component/settings/password.vue:160 src/component/share/dialog.vue:28 +#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:124 #: src/page/library/import.vue:119 src/page/library/index.vue:128 msgid "Cancel" msgstr "Annulla" -#: src/component/photo/edit/details.vue:87 src/component/photo/edit/info.vue:61 +#: src/common/util.js:863 src/common/util.js:870 +msgid "Cannot copy to clipboard" +msgstr "Impossibile copiare negli appunti" + +#: src/component/photo/edit/details.vue:89 src/component/photo/edit/info.vue:63 #: src/component/photo/edit/labels.vue:42 #: src/component/photo/view/cards.vue:445 src/component/sidebar/info.vue:72 msgid "Caption" @@ -617,17 +638,17 @@ msgstr "Carte" msgid "Carousel slide {0} of {1}" msgstr "Carosello di diapositive {0} di {1}" -#: src/page/about/feedback.vue:82 src/page/about/feedback.vue:83 -#: src/component/album/edit/dialog.vue:128 src/component/photo/toolbar.vue:397 +#: src/page/about/feedback.vue:83 src/page/about/feedback.vue:84 +#: src/component/album/edit/dialog.vue:129 src/component/photo/toolbar.vue:399 #: src/page/albums.vue:187 msgid "Category" msgstr "Categoria" -#: src/component/user/edit/dialog.vue:191 src/page/settings/account.vue:201 +#: src/component/user/edit/dialog.vue:192 src/page/settings/account.vue:201 msgid "Change Avatar" msgstr "Cambia Avatar" -#: src/page/settings/account.vue:297 src/component/settings/password.vue:48 +#: src/page/settings/account.vue:297 src/component/settings/password.vue:49 msgid "Change Password" msgstr "Cambia password" @@ -644,17 +665,17 @@ msgid "Change private flag" msgstr "Cambiare la bandiera privata" #: src/component/user/add/dialog.vue:108 src/component/user/add/dialog.vue:113 -#: src/component/user/edit/dialog.vue:90 src/component/user/edit/dialog.vue:95 +#: src/component/user/edit/dialog.vue:91 src/component/user/edit/dialog.vue:96 #: src/page/settings/account.vue:121 src/page/settings/account.vue:126 msgid "Changes could not be saved" msgstr "Le modifiche non possono essere salvate" -#: src/component/user/edit/dialog.vue:83 src/component/user/edit/dialog.vue:159 +#: src/component/user/edit/dialog.vue:84 src/component/user/edit/dialog.vue:160 #: src/component/album/edit/dialog.vue:73 -#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1941 +#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1961 #: src/component/photo/edit/files.vue:162 src/component/service/edit.vue:90 #: src/component/share/dialog.vue:92 src/component/share/dialog.vue:111 -#: src/page/albums.vue:677 src/page/people/recognized.vue:119 +#: src/page/albums.vue:688 src/page/people/recognized.vue:119 #: src/page/settings/advanced.vue:62 src/page/settings/content.vue:62 #: src/page/settings/general.vue:108 msgid "Changes successfully saved" @@ -668,7 +689,7 @@ msgstr "Le modifiche alle impostazioni avanzate richiedono un riavvio per avere msgid "Checked" msgstr "Selezionato" -#: src/component/photo/edit/files.vue:495 +#: src/component/photo/edit/files.vue:497 msgid "Chroma" msgstr "Croma" @@ -684,24 +705,24 @@ msgstr "Pulizia" msgid "Clear {0}" msgstr "Cancella {0}" -#: src/options/auth.js:11 src/options/auth.js:23 src/options/auth.js:43 +#: src/options/auth.js:12 src/options/auth.js:24 src/options/auth.js:44 msgid "Client" msgstr "Cliente" -#: src/options/auth.js:24 +#: src/options/auth.js:25 msgid "Client Credentials" msgstr "Credenziali del cliente" -#: src/page/admin/sessions.vue:529 src/component/lightbox.vue:284 -#: src/component/lightbox.vue:1009 src/component/lightbox.vue:1010 -#: src/component/photo/edit/details.vue:627 src/component/photo/toolbar.vue:160 -#: src/component/settings/apps.vue:224 src/component/settings/apps.vue:437 -#: src/component/settings/passcode.vue:148 -#: src/component/settings/passcode.vue:456 -#: src/component/settings/passcode.vue:497 -#: src/component/settings/webdav.vue:131 src/component/share/dialog.vue:231 +#: src/component/user/edit/dialog.vue:474 src/page/admin/sessions.vue:536 +#: src/component/lightbox.vue:284 src/component/lightbox.vue:1009 +#: src/component/lightbox.vue:1010 src/component/photo/edit/details.vue:601 +#: src/component/photo/toolbar.vue:161 src/component/settings/apps.vue:227 +#: src/component/settings/apps.vue:440 src/component/settings/passcode.vue:151 +#: src/component/settings/passcode.vue:459 +#: src/component/settings/passcode.vue:500 +#: src/component/settings/webdav.vue:132 src/component/share/dialog.vue:231 #: src/component/sidebar/info.vue:26 src/component/update.vue:57 -#: src/component/upload/dialog.vue:228 src/locales.js:206 +#: src/component/upload/dialog.vue:230 src/locales.js:206 #: src/page/library/errors.vue:253 msgid "Close" msgstr "Chiudi" @@ -710,11 +731,11 @@ msgstr "Chiudi" msgid "Codec" msgstr "Codec" -#: src/component/photo/toolbar.vue:369 +#: src/component/photo/toolbar.vue:371 msgid "Color" msgstr "Colore" -#: src/component/photo/edit/files.vue:483 +#: src/component/photo/edit/files.vue:485 msgid "Color Profile" msgstr "Profilo del colore" @@ -722,7 +743,7 @@ msgstr "Profilo del colore" msgid "Colors" msgstr "Colori" -#: src/page/connect.vue:260 src/page/connect.vue:269 +#: src/page/connect.vue:262 src/page/connect.vue:271 msgid "Compare Editions" msgstr "Confronta le edizioni" @@ -735,17 +756,18 @@ msgstr "Scansione completa" msgid "Confidence" msgstr "Confidenza" +#: src/component/location/dialog.vue:212 #: src/component/photo/album/dialog.vue:90 -#: src/component/settings/passcode.vue:261 +#: src/component/settings/passcode.vue:264 msgid "Confirm" msgstr "Conferma" -#: src/component/service/add.vue:20 src/page/settings/services.vue:187 +#: src/component/service/add.vue:20 src/page/settings/services.vue:191 msgid "Connect" msgstr "Connetti" -#: src/page/settings/account.vue:401 src/component/settings/webdav.vue:45 -#: src/page/settings/services.vue:167 +#: src/page/settings/account.vue:406 src/component/settings/webdav.vue:46 +#: src/page/settings/services.vue:170 msgid "Connect via WebDAV" msgstr "Connetti via WebDAV" @@ -753,22 +775,22 @@ msgstr "Connetti via WebDAV" msgid "Connected" msgstr "Connesso" -#: src/page/settings/account.vue:640 src/page/settings/account.vue:532 +#: src/page/settings/account.vue:646 src/page/settings/account.vue:538 msgid "Contact Details" msgstr "Dettagli di contatto" -#: src/page/about/feedback.vue:37 src/page/connect.vue:132 -#: src/page/connect.vue:136 +#: src/page/about/feedback.vue:37 src/page/connect.vue:133 +#: src/page/connect.vue:137 msgid "Contact Us" msgstr "Contattaci" #: src/page/albums.vue:433 src/page/labels.vue:237 -#: src/page/people/recognized.vue:306 +#: src/page/people/recognized.vue:310 msgid "Contains %{n} pictures." msgstr "Contiene %{n} immagini." #: src/page/albums.vue:427 src/page/labels.vue:231 -#: src/page/people/recognized.vue:300 +#: src/page/people/recognized.vue:304 msgid "Contains one picture." msgstr "Contiene una foto." @@ -776,7 +798,7 @@ msgstr "Contiene una foto." msgid "Content" msgstr "Contenuto" -#: src/component/settings/apps.vue:163 +#: src/component/settings/apps.vue:166 msgid "Continue" msgstr "Continua" @@ -784,7 +806,7 @@ msgstr "Continua" msgid "Continue with %{provider}" msgstr "Continua con %{provider}" -#: src/options/admin.js:18 src/options/auth.js:9 +#: src/options/admin.js:22 src/options/auth.js:10 msgid "Contributor" msgstr "Collaboratore" @@ -792,15 +814,15 @@ msgstr "Collaboratore" msgid "Converting" msgstr "Conversione in corso" -#: src/common/util.js:846 +#: src/common/util.js:856 msgid "Copied to clipboard" msgstr "Copiato negli appunti" -#: src/component/settings/apps.vue:250 src/component/settings/passcode.vue:358 +#: src/component/settings/apps.vue:253 src/component/settings/passcode.vue:361 msgid "Copy" msgstr "Copia" -#: src/component/photo/edit/details.vue:516 +#: src/component/photo/edit/details.vue:490 msgid "Copyright" msgstr "Copyright" @@ -808,8 +830,8 @@ msgstr "Copyright" msgid "Couldn't find anything." msgstr "Impossibile trovare alcunché." -#: src/page/settings/account.vue:685 src/component/photo/edit/details.vue:242 -#: src/component/photo/toolbar.vue:203 src/page/settings/account.vue:577 +#: src/page/settings/account.vue:691 src/component/photo/edit/details.vue:268 +#: src/component/photo/toolbar.vue:205 src/page/settings/account.vue:583 msgid "Country" msgstr "Nazione" @@ -833,7 +855,7 @@ msgstr "Crea file YAML per il backup dei metadati degli album." msgid "Create YAML sidecar files to back up picture metadata." msgstr "Crea file sidecar YAML per il backup dei metadati delle immagini." -#: src/page/admin/sessions.vue:417 src/component/photo/edit/info.vue:412 +#: src/page/admin/sessions.vue:422 src/component/photo/edit/info.vue:412 msgid "Created" msgstr "Creato" @@ -845,11 +867,11 @@ msgstr "Creazione anteprima per" msgid "Cubic: Moderate Quality, Good Performance" msgstr "Cubico: Qualità moderata, buone prestazioni" -#: src/component/settings/password.vue:85 +#: src/component/settings/password.vue:86 msgid "Current Password" msgstr "Password Corrente" -#: src/options/themes.js:919 src/options/themes.js:928 +#: src/options/themes.js:920 src/options/themes.js:929 msgid "Custom" msgstr "Personalizzato" @@ -865,11 +887,11 @@ msgstr "Giornalmente" msgid "Database Backups" msgstr "Backup del database" -#: src/page/settings/account.vue:450 src/component/photo/edit/details.vue:110 +#: src/page/settings/account.vue:456 src/component/photo/edit/details.vue:112 msgid "Day" msgstr "Giorni" -#: src/component/settings/passcode.vue:445 +#: src/component/settings/passcode.vue:448 msgid "Deactivate" msgstr "Disattiva" @@ -877,36 +899,40 @@ msgstr "Disattiva" msgid "Debug Logs" msgstr "Registri di debug" -#: src/options/admin.js:31 src/page/admin/sessions.vue:136 -#: src/page/admin/users.vue:176 src/component/photo/edit/info.vue:47 +#: src/options/admin.js:35 src/page/admin/sessions.vue:136 +#: src/page/admin/users.vue:178 src/component/photo/edit/info.vue:47 #: src/component/photo/edit/info.vue:110 src/model/session.js:66 -#: src/model/user.js:246 src/options/auth.js:20 src/options/auth.js:21 -#: src/options/auth.js:39 src/options/auth.js:40 src/options/options.js:196 +#: src/model/user.js:246 src/options/auth.js:21 src/options/auth.js:22 +#: src/options/auth.js:40 src/options/auth.js:41 src/options/options.js:196 #: src/options/options.js:232 src/options/options.js:316 -#: src/options/themes.js:773 +#: src/options/themes.js:774 msgid "Default" msgstr "Predefinito" -#: src/component/service/edit.vue:123 +#: src/component/service/edit.vue:124 msgid "Default Folder" msgstr "Cartella Predefinita" #: src/component/session/remove/dialog.vue:56 #: src/component/user/remove/dialog.vue:56 src/component/album/clipboard.vue:97 -#: src/component/album/delete/dialog.vue:54 -#: src/component/file/delete/dialog.vue:58 src/component/label/clipboard.vue:58 -#: src/component/label/delete/dialog.vue:58 +#: src/component/album/delete/dialog.vue:54 src/component/album/toolbar.vue:137 +#: src/component/file/delete/dialog.vue:59 src/component/label/clipboard.vue:58 +#: src/component/label/delete/dialog.vue:59 #: src/component/photo/clipboard.vue:168 src/component/photo/edit/files.vue:238 -#: src/component/service/remove.vue:60 src/component/share/dialog.vue:170 +#: src/component/service/remove.vue:61 src/component/share/dialog.vue:170 #: src/page/settings/general.vue:457 msgid "Delete" msgstr "Elimina" +#: src/component/album/toolbar.vue:133 +msgid "Delete Album" +msgstr "Elimina l'album" + #: src/component/photo/toolbar.vue:119 src/page/library/errors.vue:95 msgid "Delete All" msgstr "Cancella tutto" -#: src/component/photo/toolbar.vue:433 src/page/library/errors.vue:193 +#: src/component/photo/toolbar.vue:435 src/page/library/errors.vue:193 msgid "Delete all?" msgstr "Cancellare tutto?" @@ -914,16 +940,16 @@ msgstr "Cancellare tutto?" msgid "Delete orphaned index entries, sidecar files and thumbnails." msgstr "Elimina le voci di indice orfane, i file sidecar e le miniature." -#: src/component/album/edit/dialog.vue:107 src/page/albums.vue:411 +#: src/component/album/edit/dialog.vue:108 src/page/albums.vue:411 msgid "Description" msgstr "Descizione" -#: src/component/settings/webdav.vue:115 +#: src/component/settings/webdav.vue:116 msgid "Detailed instructions can be found in our User Guide." msgstr "È possibile trovare informazioni dettagliate nella nostra Guida Utente." -#: src/component/photo/edit/dialog.vue:156 -#: src/component/photo/edit/dialog.vue:173 +#: src/component/photo/edit/dialog.vue:162 +#: src/component/photo/edit/dialog.vue:181 msgid "Details" msgstr "Dettagli" @@ -987,8 +1013,8 @@ msgstr "Disattiva il supporto della grafica vettoriale." msgid "Disables video transcoding and thumbnail extraction." msgstr "Disattiva la transcodifica video e l'estrazione delle miniature." -#: src/app/routes.js:558 src/app/routes.js:565 src/app/routes.js:572 -#: src/app/routes.js:579 +#: src/app/routes.js:566 src/app/routes.js:573 src/app/routes.js:580 +#: src/app/routes.js:587 msgid "Discover" msgstr "Scopri" @@ -996,9 +1022,9 @@ msgstr "Scopri" msgid "Dismiss" msgstr "Congedo" -#: src/component/user/add/dialog.vue:133 src/component/user/add/dialog.vue:134 -#: src/component/user/edit/dialog.vue:163 -#: src/component/user/edit/dialog.vue:164 src/page/admin/users.vue:72 +#: src/component/user/add/dialog.vue:134 src/component/user/add/dialog.vue:135 +#: src/component/user/edit/dialog.vue:164 +#: src/component/user/edit/dialog.vue:165 src/page/admin/users.vue:74 #: src/page/settings/account.vue:149 src/page/settings/account.vue:151 msgid "Display Name" msgstr "Nome visualizzato" @@ -1013,12 +1039,12 @@ msgstr "Visualizza i titoli delle immagini nei risultati della ricerca." #: src/component/photo/view/cards.vue:339 #: src/component/photo/view/cards.vue:521 -#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:174 +#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:176 #: src/options/options.js:309 msgid "Document" msgstr "Documento" -#: src/component/navigation.vue:480 +#: src/component/navigation.vue:482 msgid "Documents" msgstr "Documenti" @@ -1034,16 +1060,16 @@ msgstr "Non utilizzare ImageMagick per convertire le immagini." msgid "Don't use RawTherapee to convert RAW images." msgstr "Non usare RawTherapee per convertire i file RAW." -#: src/component/settings/apps.vue:238 src/component/share/dialog.vue:29 +#: src/component/settings/apps.vue:241 src/component/share/dialog.vue:29 msgid "Done" msgstr "Fatto" -#: src/component/upload/dialog.vue:135 src/page/library/import.vue:46 +#: src/component/upload/dialog.vue:137 src/page/library/import.vue:46 #: src/page/library/index.vue:52 msgid "Done." msgstr "Fatto." -#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:118 +#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:123 #: src/component/file/clipboard.vue:48 src/component/lightbox.vue:1235 #: src/component/people/clipboard.vue:47 src/component/photo/clipboard.vue:116 #: src/component/photo/edit/files.vue:168 src/page/settings/content.vue:331 @@ -1055,7 +1081,7 @@ msgstr "Download" msgid "Download only original media files, without any automatically generated files." msgstr "Scarica solo i file multimediali originali, senza file generati automaticamente." -#: src/component/service/edit.vue:237 +#: src/component/service/edit.vue:238 msgid "Download remote files" msgstr "Scarica file remoti" @@ -1063,9 +1089,9 @@ msgstr "Scarica file remoti" msgid "Download single files and zip archives." msgstr "Scarica singoli file e archivi zip." -#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:157 +#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:172 #: src/component/file/clipboard.vue:61 src/component/label/clipboard.vue:86 -#: src/component/lightbox.vue:2021 src/component/people/clipboard.vue:59 +#: src/component/lightbox.vue:2041 src/component/people/clipboard.vue:59 #: src/component/photo/clipboard.vue:220 src/component/photo/edit/files.vue:119 #: src/component/photo/view/cards.vue:169 src/component/photo/view/list.vue:142 #: src/page/library/browse.vue:139 @@ -1080,7 +1106,7 @@ msgstr "Filtro di downscaling" msgid "Drag and drop files here" msgstr "Trascina i file qui" -#: src/page/about/feedback.vue:61 +#: src/page/about/feedback.vue:62 msgid "Due to the high volume of emails we receive, our team may be unable to get back to you immediately." msgstr "A causa dell'elevato numero di email che riceviamo, il nostro team potrebbe non essere in grado di risponderti immediatamente." @@ -1100,23 +1126,23 @@ msgstr "Anteprime Dinamiche" msgid "Dynamic Size Limit: %{n}px" msgstr "Limite Dimensioni Dinamiche: %{n}px" -#: src/page/about/feedback.vue:141 src/page/about/feedback.vue:140 +#: src/page/about/feedback.vue:142 src/page/about/feedback.vue:141 msgid "E-Mail" msgstr "E-Mail" -#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:89 +#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:94 #: src/component/lightbox.vue:1136 src/component/lightbox.vue:1137 #: src/component/photo/clipboard.vue:90 src/page/settings/general.vue:407 msgid "Edit" msgstr "Modifica" -#: src/component/album/edit/dialog.vue:54 -#: src/component/label/edit/dialog.vue:52 -#: src/component/people/edit/dialog.vue:52 +#: src/component/album/edit/dialog.vue:55 +#: src/component/label/edit/dialog.vue:53 +#: src/component/people/edit/dialog.vue:53 msgid "Edit %{s}" msgstr "Modifica %{s}" -#: src/component/user/edit/dialog.vue:61 src/component/service/edit.vue:79 +#: src/component/user/edit/dialog.vue:62 src/component/service/edit.vue:79 msgid "Edit Account" msgstr "Modifica Account" @@ -1128,8 +1154,8 @@ msgstr "Modifica Foto" msgid "Edited" msgstr "Modificato" -#: src/component/user/add/dialog.vue:151 src/component/user/edit/dialog.vue:213 -#: src/page/settings/account.vue:171 src/page/settings/account.vue:593 +#: src/component/user/add/dialog.vue:152 src/component/user/edit/dialog.vue:214 +#: src/page/settings/account.vue:171 src/page/settings/account.vue:599 msgid "Email" msgstr "Email" @@ -1145,7 +1171,7 @@ msgstr "Abilitare nuove funzionalità che potrebbero essere incomplete o instabi msgid "Enables RAW converter presets. May reduce performance." msgstr "Abilita i preset del convertitore RAW. Può ridurre le prestazioni." -#: src/component/settings/passcode.vue:127 +#: src/component/settings/passcode.vue:130 msgid "Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account." msgstr "Abilitare l’autenticazione a due fattori (2FA) significa che per accedere necessiterai di un codice di verifica generato casualmente, perciò, anche se qualcuno avesse la tua password, non potrebbe accedere al tuo account." @@ -1157,7 +1183,7 @@ msgstr "Inserisci la data" msgid "Enter dates" msgstr "Inserisci le date" -#: src/component/settings/passcode.vue:213 src/page/auth/login.vue:104 +#: src/component/settings/passcode.vue:216 src/page/auth/login.vue:104 msgid "Enter the code generated by your authenticator app:" msgstr "Inserisci il codice generato dalla tua app Autenticatore:" @@ -1165,7 +1191,7 @@ msgstr "Inserisci il codice generato dalla tua app Autenticatore:" msgid "Enter verification code" msgstr "Inserisci codice di verifica" -#: src/component/settings/apps.vue:109 +#: src/component/settings/apps.vue:112 msgid "Enter your password to confirm the action and continue:" msgstr "Inserisci la password per confermare l'azione e continuare:" @@ -1174,7 +1200,7 @@ msgstr "Inserisci la password per confermare l'azione e continuare:" msgid "Error" msgstr "Errore" -#: src/app/routes.js:374 src/component/navigation.vue:1348 +#: src/app/routes.js:382 src/component/navigation.vue:1372 msgid "Errors" msgstr "Errori" @@ -1210,13 +1236,13 @@ msgstr "L'estrazione dei metadati con ExifTool è necessaria per il supporto com msgid "Experimental Features" msgstr "Funzionalità Sperimentali" -#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:453 -#: src/component/service/edit.vue:157 src/component/settings/apps.vue:73 -#: src/component/settings/apps.vue:326 src/component/share/dialog.vue:62 +#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:458 +#: src/component/service/edit.vue:158 src/component/settings/apps.vue:73 +#: src/component/settings/apps.vue:329 src/component/share/dialog.vue:62 msgid "Expires" msgstr "Scade" -#: src/component/photo/edit/details.vue:396 +#: src/component/photo/edit/details.vue:370 msgid "Exposure" msgstr "Esposizione" @@ -1224,7 +1250,7 @@ msgstr "Esposizione" msgid "Extract still images and generate thumbnails while indexing." msgstr "Estrai le immagini fisse e genera miniature durante l'indicizzazione." -#: src/component/photo/edit/details.vue:444 +#: src/component/photo/edit/details.vue:418 msgid "F Number" msgstr "Numero F" @@ -1240,7 +1266,7 @@ msgstr "Volti" msgid "Failed removing link" msgstr "Impossibile rimuovere il link" -#: src/page/connect.vue:106 src/page/connect.vue:110 +#: src/page/connect.vue:107 src/page/connect.vue:111 msgid "Failed to connect account." msgstr "Impossibile connettere l'account." @@ -1248,8 +1274,8 @@ msgstr "Impossibile connettere l'account." msgid "Failed updating link" msgstr "Impossibile aggiornare il link" -#: src/component/user/edit/dialog.vue:143 -#: src/component/user/edit/dialog.vue:144 src/page/settings/account.vue:128 +#: src/component/user/edit/dialog.vue:144 +#: src/component/user/edit/dialog.vue:145 src/page/settings/account.vue:128 #: src/page/settings/account.vue:130 msgid "Family Name" msgstr "Cognome" @@ -1258,15 +1284,15 @@ msgstr "Cognome" msgid "Fast" msgstr "Veloce" -#: src/component/album/edit/dialog.vue:159 -#: src/component/label/edit/dialog.vue:85 -#: src/component/people/edit/dialog.vue:85 +#: src/component/album/edit/dialog.vue:160 +#: src/component/label/edit/dialog.vue:86 +#: src/component/people/edit/dialog.vue:86 #: src/component/photo/edit/info.vue:287 msgid "Favorite" msgstr "Preferito" -#: src/app/routes.js:222 src/component/navigation.vue:893 -#: src/options/options.js:202 src/page/albums.vue:97 +#: src/app/routes.js:230 src/component/navigation.vue:903 +#: src/options/options.js:202 src/page/albums.vue:98 msgid "Favorites" msgstr "Preferiti" @@ -1274,7 +1300,7 @@ msgstr "Preferiti" msgid "Feature Request" msgstr "Richiesta Funzionalità" -#: src/component/navigation.vue:1456 +#: src/component/navigation.vue:1482 msgid "Feedback" msgstr "Feedback" @@ -1282,11 +1308,12 @@ msgstr "Feedback" msgid "Female" msgstr "Donna" -#: src/component/photo/edit/info.vue:214 src/model/file.js:290 +#: src/component/photo/edit/info.vue:57 src/component/photo/edit/info.vue:214 +#: src/model/file.js:290 msgid "File" msgstr "File" -#: src/app/routes.js:343 +#: src/app/routes.js:351 msgid "File Browser" msgstr "Esplora File" @@ -1309,8 +1336,8 @@ msgstr "Dimensione del file" msgid "Filename" msgstr "Nome del file" -#: src/component/navigation.vue:1930 src/component/photo/edit/dialog.vue:267 -#: src/component/photo/edit/dialog.vue:284 +#: src/component/navigation.vue:1973 src/component/photo/edit/dialog.vue:279 +#: src/component/photo/edit/dialog.vue:298 msgid "Files" msgstr "File" @@ -1322,26 +1349,26 @@ msgstr "File con un nome sequenziale come 'IMG_1234 (2)' e 'IMG_1234 (3)' appart msgid "First page" msgstr "Prima pagina" -#: src/component/photo/edit/details.vue:465 +#: src/component/photo/edit/details.vue:439 msgid "Focal Length" msgstr "Lunghezza Focale" -#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:118 -#: src/component/service/edit.vue:189 src/component/service/edit.vue:194 -#: src/component/service/upload.vue:90 src/component/service/upload.vue:96 +#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:119 +#: src/component/service/edit.vue:190 src/component/service/edit.vue:195 +#: src/component/service/upload.vue:91 src/component/service/upload.vue:97 #: src/model/folder.js:199 src/page/library/browse.vue:182 msgid "Folder" msgstr "Cartella" -#: src/page/library/browse.vue:365 +#: src/page/library/browse.vue:367 msgid "Folder contains %{n} files" msgstr "La cartella contiene %{n} file" -#: src/page/library/browse.vue:356 +#: src/page/library/browse.vue:358 msgid "Folder is empty" msgstr "La cartella è vuota" -#: src/app/routes.js:202 src/component/navigation.vue:1225 +#: src/app/routes.js:210 src/component/navigation.vue:1247 #: src/options/options.js:207 msgid "Folders" msgstr "Cartelle" @@ -1358,7 +1385,7 @@ msgstr "FPS" msgid "Frames" msgstr "Fotogrammi" -#: src/options/auth.js:54 src/options/auth.js:64 +#: src/options/auth.js:55 src/options/auth.js:65 msgid "Full Access" msgstr "Accesso Totale" @@ -1370,7 +1397,7 @@ msgstr "Schermo intero" msgid "General" msgstr "Generale" -#: src/component/settings/apps.vue:364 +#: src/component/settings/apps.vue:367 msgid "Generate" msgstr "Genera" @@ -1390,8 +1417,8 @@ msgstr "Generato" msgid "Get Started" msgstr "Iniziare" -#: src/component/user/edit/dialog.vue:120 -#: src/component/user/edit/dialog.vue:121 src/page/settings/account.vue:106 +#: src/component/user/edit/dialog.vue:121 +#: src/component/user/edit/dialog.vue:122 src/page/settings/account.vue:106 #: src/page/settings/account.vue:108 msgid "Given Name" msgstr "Nome" @@ -1416,7 +1443,7 @@ msgstr "Verde" msgid "Grey" msgstr "Grigio" -#: src/options/admin.js:22 src/options/auth.js:10 +#: src/options/admin.js:26 src/options/auth.js:11 msgid "Guest" msgstr "Ospite" @@ -1432,15 +1459,15 @@ msgstr "Aiuto" msgid "Help & Support" msgstr "Aiuto e Supporto" -#: src/component/navigation.vue:1327 src/component/people/edit/dialog.vue:98 +#: src/component/navigation.vue:1351 src/component/people/edit/dialog.vue:99 msgid "Hidden" msgstr "Nascosto" -#: src/app/routes.js:358 +#: src/app/routes.js:366 msgid "Hidden Files" msgstr "File Nascosti" -#: src/page/people/new.vue:165 src/page/people/recognized.vue:205 +#: src/page/people/new.vue:166 src/page/people/recognized.vue:206 msgid "Hide" msgstr "Nascondi" @@ -1456,7 +1483,7 @@ msgstr "Alta" msgid "High Dynamic Range (HDR)" msgstr "Alta gamma dinamica (HDR)" -#: src/page/about/feedback.vue:103 +#: src/page/about/feedback.vue:104 msgid "How can we help?" msgstr "Come possiamo aiutarti?" @@ -1464,11 +1491,11 @@ msgstr "Come possiamo aiutarti?" msgid "Hybrid" msgstr "Ibrido" -#: src/component/settings/passcode.vue:389 +#: src/component/settings/passcode.vue:392 msgid "If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account." msgstr "Se perdessi l’accesso alla tua app o al tuo dispositivo di autenticazione, puoi usare il tuo codice di recupero per riottenere l’accesso al tuo account." -#: src/component/photo/edit/info.vue:63 src/component/photo/edit/labels.vue:46 +#: src/component/photo/edit/info.vue:65 src/component/photo/edit/labels.vue:46 #: src/component/photo/view/cards.vue:532 src/model/file.js:218 #: src/options/options.js:281 msgid "Image" @@ -1478,7 +1505,7 @@ msgstr "Immagine" msgid "Image Quality" msgstr "Qualità dell'immagine" -#: src/page/library.vue:46 src/page/library/import.vue:152 +#: src/page/library.vue:46 src/page/library/import.vue:153 #: src/page/settings/general.vue:357 msgid "Import" msgstr "Importa" @@ -1503,8 +1530,8 @@ msgstr "Importando %{s}…" msgid "Importing files to originals…" msgstr "Importando file ad originali…" -#: src/component/photo/edit/files.vue:515 -#: src/component/photo/edit/files.vue:520 +#: src/component/photo/edit/files.vue:517 +#: src/component/photo/edit/files.vue:522 msgid "in" msgstr "in" @@ -1522,11 +1549,11 @@ msgstr "Includere i file immagine RAW quando si scaricano pile e archivi." msgid "Include sidecar files when downloading stacks and archives." msgstr "Includere i file sidecar durante il download di stack e archivi." -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Increase storage size or delete files to continue." msgstr "Aumenta la dimensione dell'archivio o elimina i file per continuare." -#: src/component/navigation.vue:1946 src/page/library.vue:36 +#: src/component/navigation.vue:1990 src/page/library.vue:36 #: src/page/settings/content.vue:34 msgid "Index" msgstr "Indice" @@ -1556,11 +1583,11 @@ msgstr "Informazioni" msgid "Instance ID" msgstr "ID Istanza" -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Insufficient storage." msgstr "Stoccaggio insufficiente." -#: src/component/service/edit.vue:209 +#: src/component/service/edit.vue:210 msgid "Interval" msgstr "Intervallo" @@ -1581,7 +1608,7 @@ msgstr "Indirizzo non valido" msgid "Invalid country" msgstr "Paese non valido" -#: src/component/photo/edit/details.vue:174 +#: src/component/photo/edit/details.vue:169 msgid "Invalid date" msgstr "Data non valida" @@ -1590,7 +1617,7 @@ msgstr "Data non valida" msgid "Invalid parameters" msgstr "Parametri non validi" -#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:197 +#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:199 msgid "Invalid photo selected" msgstr "Foto non valida selezionata" @@ -1602,8 +1629,8 @@ msgstr "Orario non valido" msgid "Invalid URL" msgstr "URL non valido" -#: src/component/settings/passcode.vue:314 -#: src/component/settings/passcode.vue:391 +#: src/component/settings/passcode.vue:317 +#: src/component/settings/passcode.vue:394 msgid "It is a one-time use code that will disable 2FA for your account when you use it." msgstr "Questo è un codice a utilizzo unico che disabiliterà l’autenticazione a due fattori (2FA) per il tuo account quando lo usi." @@ -1627,7 +1654,7 @@ msgstr "Limite Dimensione JPEG: %{n}px" msgid "JPEGs and thumbnails are automatically rendered as needed." msgstr "I JPEG e le miniature sono renderizzati automaticamente a seconda delle necessità." -#: src/component/photo/edit/details.vue:581 +#: src/component/photo/edit/details.vue:555 msgid "Keywords" msgstr "Parole chiave" @@ -1636,9 +1663,9 @@ msgstr "Parole chiave" msgid "Label" msgstr "Etichetta" -#: src/app/routes.js:389 src/component/navigation.vue:1177 -#: src/component/photo/edit/dialog.vue:188 -#: src/component/photo/edit/dialog.vue:205 src/options/options.js:206 +#: src/app/routes.js:397 src/component/navigation.vue:1197 +#: src/component/photo/edit/dialog.vue:196 +#: src/component/photo/edit/dialog.vue:215 src/options/options.js:206 #: src/page/settings/general.vue:255 msgid "Labels" msgstr "Etichette" @@ -1655,11 +1682,11 @@ msgstr "Lanczos: conservazione dei dettagli, artefatti minimi" msgid "Language" msgstr "Lingua" -#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:435 +#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:440 msgid "Last Active" msgstr "Ultimo attivo" -#: src/page/admin/users.vue:81 +#: src/page/admin/users.vue:83 msgid "Last Login" msgstr "Ultimo accesso" @@ -1675,42 +1702,41 @@ msgstr "Ultima sincronizzazione" msgid "Last Used" msgstr "Ultimo utilizzo" -#: src/component/photo/edit/details.vue:298 #: src/component/photo/edit/info.vue:373 msgid "Latitude" msgstr "Latitudine" -#: src/options/admin.js:43 src/options/auth.js:29 +#: src/options/admin.js:47 src/options/auth.js:30 msgid "LDAP/AD" msgstr "LDAP/AD" -#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:86 -#: src/page/about/about.vue:62 src/page/about/about.vue:132 +#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:87 +#: src/page/about/about.vue:62 src/page/about/about.vue:133 #: src/page/connect.vue:67 src/page/help.vue:36 msgid "Learn more" msgstr "Scopri di più" -#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:135 +#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:137 #: src/page/labels.vue:132 msgid "Learn More" msgstr "Per saperne di più" -#: src/component/navigation.vue:2017 +#: src/component/navigation.vue:2066 msgid "Legal Information" msgstr "Informazioni legali" -#: src/component/photo/edit/details.vue:417 +#: src/component/photo/edit/details.vue:391 #: src/component/photo/view/cards.vue:480 msgid "Lens" msgstr "Lenti" -#: src/app/routes.js:443 src/app/routes.js:459 src/app/routes.js:475 -#: src/component/navigation.vue:1267 src/page/settings/general.vue:507 +#: src/app/routes.js:451 src/app/routes.js:467 src/app/routes.js:483 +#: src/component/navigation.vue:1290 src/page/settings/general.vue:507 msgid "Library" msgstr "Libreria" #: src/page/connect.vue:45 src/app/routes.js:69 -#: src/component/navigation.vue:1478 src/component/photo/edit/details.vue:559 +#: src/component/navigation.vue:1504 src/component/photo/edit/details.vue:533 #: src/page/about/license.vue:28 msgid "License" msgstr "Licenza" @@ -1723,7 +1749,7 @@ msgstr "Mi Piace" msgid "Lime" msgstr "Lime" -#: src/page/library/browse.vue:369 +#: src/page/library/browse.vue:371 msgid "Limit reached, showing first %{n} files" msgstr "Limite raggiunto, vengono mostrati i primi %{n} file" @@ -1731,7 +1757,7 @@ msgstr "Limite raggiunto, vengono mostrati i primi %{n} file" msgid "Linear: Very Smooth, Best Performance" msgstr "Lineare: Molto uniforme, migliori prestazioni" -#: src/model/link.js:117 src/options/auth.js:30 src/options/auth.js:31 +#: src/model/link.js:117 src/options/auth.js:31 src/options/auth.js:32 msgid "Link" msgstr "Link" @@ -1749,7 +1775,7 @@ msgstr "Vista elenco" msgid "Live" msgstr "Live" -#: src/app/routes.js:236 src/component/navigation.vue:749 +#: src/app/routes.js:244 src/component/navigation.vue:755 msgid "Live Photos" msgstr "Foto dal vivo" @@ -1765,21 +1791,24 @@ msgstr "Caricamento articoli..." msgid "Loading..." msgstr "Caricamento..." -#: src/options/admin.js:35 src/options/auth.js:22 src/options/auth.js:27 +#: src/options/admin.js:39 src/options/auth.js:23 src/options/auth.js:28 #: src/options/options.js:38 src/page/settings/general.vue:107 msgid "Local" msgstr "Locale" -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Local Time" msgstr "Orario Locale" -#: src/page/settings/account.vue:665 src/page/settings/account.vue:667 -#: src/component/album/edit/dialog.vue:92 src/component/photo/edit/info.vue:65 -#: src/component/photo/edit/labels.vue:48 +#: src/page/settings/account.vue:671 src/page/settings/account.vue:673 +#: src/component/album/edit/dialog.vue:93 +#: src/component/photo/edit/details.vue:38 +#: src/component/photo/edit/details.vue:116 +#: src/component/photo/edit/details.vue:210 +#: src/component/photo/edit/info.vue:67 src/component/photo/edit/labels.vue:48 #: src/component/photo/view/cards.vue:555 src/component/photo/view/list.vue:117 -#: src/component/sidebar/info.vue:107 src/page/albums.vue:99 -#: src/page/settings/account.vue:557 src/page/settings/account.vue:559 +#: src/component/sidebar/info.vue:107 src/page/albums.vue:100 +#: src/page/settings/account.vue:563 src/page/settings/account.vue:565 msgid "Location" msgstr "Luogo" @@ -1787,20 +1816,19 @@ msgstr "Luogo" msgid "Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues." msgstr "I messaggi log vengono visualizzati qui ogni volta che PhotoPrism rileva file danneggiati o si verificano altri potenziali problemi." -#: src/component/navigation.vue:1552 src/component/navigation.vue:1840 +#: src/component/navigation.vue:1579 src/component/navigation.vue:1877 msgid "Login" msgstr "Login" -#: src/component/navigation.vue:1759 +#: src/component/navigation.vue:1791 msgid "Logout" msgstr "Esci" -#: src/component/navigation.vue:1962 src/page/library.vue:59 +#: src/component/navigation.vue:2007 src/page/library.vue:59 #: src/page/settings/general.vue:557 msgid "Logs" msgstr "Log" -#: src/component/photo/edit/details.vue:324 #: src/component/photo/edit/info.vue:379 msgid "Longitude" msgstr "Longitudine" @@ -1813,7 +1841,7 @@ msgstr "Bassa" msgid "Magenta" msgstr "Magenta" -#: src/component/photo/edit/files.vue:489 +#: src/component/photo/edit/files.vue:491 msgid "Main Color" msgstr "Colore Principale" @@ -1821,12 +1849,16 @@ msgstr "Colore Principale" msgid "Male" msgstr "Uomo" -#: src/page/connect.vue:164 src/page/connect.vue:246 -#: src/page/about/about.vue:171 src/page/connect.vue:168 -#: src/page/connect.vue:255 +#: src/page/connect.vue:165 src/page/connect.vue:248 +#: src/page/about/about.vue:173 src/page/connect.vue:169 +#: src/page/connect.vue:257 msgid "Manage Account" msgstr "Gestione account" +#: src/options/admin.js:10 src/options/auth.js:7 +msgid "Manager" +msgstr "Manager" + #: src/component/photo/edit/info.vue:49 src/component/photo/edit/labels.vue:38 msgid "Manual" msgstr "Manuale" @@ -1843,11 +1875,11 @@ msgstr "Mappe" msgid "Marker" msgstr "Segnaposto" -#: src/component/user/add/dialog.vue:69 +#: src/component/user/add/dialog.vue:70 msgid "Maximum number of accounts has been reached." msgstr "È stato raggiunto il numero massimo di account." -#: src/app/routes.js:229 src/component/navigation.vue:688 +#: src/app/routes.js:237 src/component/navigation.vue:693 #: src/options/options.js:199 msgid "Media" msgstr "Media" @@ -1864,7 +1896,7 @@ msgstr "Adesione" msgid "Merge %{a} with %{b}?" msgstr "Unire %{a} con %{b}?" -#: src/page/about/feedback.vue:102 +#: src/page/about/feedback.vue:103 msgid "Message" msgstr "Messaggio" @@ -1876,7 +1908,7 @@ msgstr "Messaggio inviato" msgid "Metadata" msgstr "Metadati" -#: src/options/auth.js:56 src/options/auth.js:72 +#: src/options/auth.js:57 src/options/auth.js:73 msgid "Metrics" msgstr "Metriche" @@ -1884,7 +1916,7 @@ msgstr "Metriche" msgid "Minimize" msgstr "Minimizza" -#: src/component/photo/edit/files.vue:509 src/component/photo/edit/info.vue:367 +#: src/component/photo/edit/files.vue:511 src/component/photo/edit/info.vue:367 msgid "Missing" msgstr "Mancante" @@ -1892,17 +1924,17 @@ msgstr "Mancante" msgid "Missing or invalid configuration" msgstr "Configurazione mancante o non valida" -#: src/app/routes.js:163 src/component/navigation.vue:1129 +#: src/app/routes.js:171 src/component/navigation.vue:1147 #: src/options/options.js:205 src/page/settings/general.vue:230 msgid "Moments" msgstr "Momenti" -#: src/component/navigation.vue:383 +#: src/component/navigation.vue:385 msgid "Monochrome" msgstr "Monocromo" -#: src/page/settings/account.vue:475 src/component/photo/edit/details.vue:137 -#: src/component/photo/toolbar.vue:342 +#: src/page/settings/account.vue:481 src/component/photo/edit/details.vue:139 +#: src/component/photo/toolbar.vue:344 msgid "Month" msgstr "Mese" @@ -1922,7 +1954,7 @@ msgstr "Più rilevante" msgid "Move Files" msgstr "Sposta File" -#: src/component/settings/password.vue:107 +#: src/component/settings/password.vue:108 msgid "Must have at least %{n} characters." msgstr "Minimo %{n} caratteri obbligatori." @@ -1930,20 +1962,20 @@ msgstr "Minimo %{n} caratteri obbligatori." msgid "Mute" msgstr "Muto" -#: src/page/about/feedback.vue:121 src/page/about/feedback.vue:122 -#: src/component/album/edit/dialog.vue:77 -#: src/component/label/edit/dialog.vue:71 -#: src/component/people/edit/dialog.vue:71 -#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:57 +#: src/page/about/feedback.vue:122 src/page/about/feedback.vue:123 +#: src/component/album/edit/dialog.vue:78 +#: src/component/label/edit/dialog.vue:72 +#: src/component/people/edit/dialog.vue:72 +#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:59 #: src/component/photo/edit/info.vue:125 src/component/photo/edit/people.vue:36 -#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:310 -#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:286 -#: src/page/albums.vue:98 src/page/auth/login.vue:168 +#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:311 +#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:289 +#: src/page/albums.vue:99 src/page/auth/login.vue:168 #: src/page/people/new.vue:68 src/page/settings/services.vue:37 msgid "Name" msgstr "Nome" -#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:60 +#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:65 #: src/component/label/edit/dialog.vue:19 #: src/component/people/edit/dialog.vue:19 #: src/component/photo/edit/labels.vue:30 @@ -1953,7 +1985,7 @@ msgstr "Nome" msgid "Name too long" msgstr "Nome troppo lungo" -#: src/page/admin/users.vue:204 src/options/options.js:361 +#: src/page/admin/users.vue:206 src/options/options.js:361 #: src/options/options.js:371 src/page/settings/services.vue:75 msgid "Never" msgstr "Mai" @@ -1962,13 +1994,13 @@ msgstr "Mai" msgid "New" msgstr "Nuovo" -#: src/component/settings/password.vue:106 +#: src/component/settings/password.vue:107 msgid "New Password" msgstr "Nuova Password" #: src/component/album/edit/dialog.vue:24 src/component/photo/toolbar.vue:114 #: src/component/photo/toolbar.vue:126 src/component/photo/toolbar.vue:136 -#: src/page/albums.vue:100 +#: src/page/albums.vue:101 msgid "Newest First" msgstr "Prima più Recenti" @@ -1984,15 +2016,15 @@ msgstr "Pagina successiva" msgid "Next visual" msgstr "Prossima visualizzazione" -#: src/component/people/merge/dialog.vue:47 -#: src/component/photo/archive/dialog.vue:47 +#: src/component/people/merge/dialog.vue:48 +#: src/component/photo/archive/dialog.vue:48 #: src/component/photo/edit/info.vue:281 src/component/photo/edit/info.vue:297 #: src/component/photo/edit/info.vue:313 src/component/photo/edit/info.vue:329 #: src/component/photo/edit/info.vue:344 msgid "No" msgstr "No" -#: src/page/albums.vue:607 src/page/albums.vue:282 +#: src/page/albums.vue:612 src/page/albums.vue:282 msgid "No albums found" msgstr "Nessun album trovato" @@ -2000,7 +2032,7 @@ msgstr "Nessun album trovato" msgid "No data available" msgstr "Nessun dato disponibile" -#: src/page/labels.vue:523 src/page/labels.vue:155 +#: src/page/labels.vue:528 src/page/labels.vue:155 msgid "No labels found" msgstr "Nessuna etichetta trovata" @@ -2013,15 +2045,15 @@ msgid "No more" msgstr "Non di più" #: src/component/photo/edit/people.vue:34 src/page/people/new.vue:346 -#: src/page/people/new.vue:443 src/page/people/new.vue:103 -#: src/page/people/recognized.vue:531 src/page/people/recognized.vue:146 +#: src/page/people/new.vue:446 src/page/people/new.vue:103 +#: src/page/people/recognized.vue:536 src/page/people/recognized.vue:146 msgid "No people found" msgstr "Nessuna persona trovata" #: src/component/lightbox.vue:365 src/component/photo/view/cards.vue:144 #: src/component/photo/view/list.vue:82 src/component/photo/view/mosaic.vue:68 -#: src/page/album/photos.vue:488 src/page/library/browse.vue:123 -#: src/page/photos.vue:626 src/page/places.vue:624 src/page/places.vue:730 +#: src/page/album/photos.vue:499 src/page/library/browse.vue:123 +#: src/page/photos.vue:636 src/page/places.vue:624 src/page/places.vue:730 msgid "No pictures found" msgstr "Nessuna immagine trovata" @@ -2030,7 +2062,11 @@ msgstr "Nessuna immagine trovata" msgid "No recently edited pictures" msgstr "Nessuna foto modificata di recente" -#: src/component/navigation.vue:1655 +#: src/component/location/dialog.vue:166 +msgid "No results" +msgstr "Nessun risultato" + +#: src/component/navigation.vue:1686 msgid "No server connection" msgstr "Nessuna connessione al server" @@ -2042,7 +2078,7 @@ msgstr "Nessun server configurato." msgid "No services configured." msgstr "Nessun servizio configurato." -#: src/component/confirm/sponsor.vue:72 +#: src/component/confirm/sponsor.vue:73 msgid "No thanks" msgstr "No grazie" @@ -2052,17 +2088,17 @@ msgstr "Nessun warning o errore contiene questa parola chiave. Tieni presente ch #: src/component/photo/view/cards.vue:154 src/component/photo/view/list.vue:59 #: src/component/photo/view/list.vue:92 src/component/photo/view/mosaic.vue:78 -#: src/component/upload/dialog.vue:208 +#: src/component/upload/dialog.vue:210 msgid "Non-photographic and low-quality images require a review before they appear in search results." msgstr "Le immagini non fotografiche e di bassa qualità richiedono una revisione prima di essere visualizzate nei risultati di ricerca." -#: src/options/admin.js:47 src/options/auth.js:32 src/options/options.js:212 +#: src/options/admin.js:51 src/options/auth.js:33 src/options/options.js:212 #: src/options/options.js:328 msgid "None" msgstr "Nessuno" -#: src/common/util.js:853 src/component/lightbox.vue:633 -#: src/component/service/upload.vue:75 src/component/service/upload.vue:87 +#: src/component/lightbox.vue:633 src/component/service/upload.vue:75 +#: src/component/service/upload.vue:87 msgid "Not allowed" msgstr "Non è consentito" @@ -2074,8 +2110,7 @@ msgstr "Non trovato" msgid "Not sorted." msgstr "Non è stato selezionato." -#: src/common/util.js:858 src/component/lightbox.vue:627 -#: src/component/lightbox.vue:744 +#: src/component/lightbox.vue:627 src/component/lightbox.vue:744 msgid "Not supported" msgstr "Non supportato" @@ -2083,15 +2118,15 @@ msgstr "Non supportato" msgid "Note you may manually manage your originals folder and importing is optional." msgstr "Nota che puoi gestire manualmente la tua cartella degli originali e che l'importazione è opzionale." -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "Note:" msgstr "Nota:" -#: src/component/service/add.vue:120 +#: src/component/service/add.vue:121 msgid "Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload." msgstr "Nota: solo i server WebDAV, come Nextcloud o PhotoPrism, possono essere configurati come servizio remoto per il backup e il caricamento dei file." -#: src/component/photo/edit/details.vue:603 +#: src/component/photo/edit/details.vue:577 msgid "Notes" msgstr "Note" @@ -2099,8 +2134,8 @@ msgstr "Note" msgid "Nothing to see here yet." msgstr "Niente da vedere qui. Sii paziente." -#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:115 -#: src/component/settings/apps.vue:390 +#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:125 +#: src/component/settings/apps.vue:393 msgid "Nothing was found." msgstr "Non è stato trovato nulla." @@ -2108,7 +2143,7 @@ msgstr "Non è stato trovato nulla." msgid "Offline" msgstr "Offline" -#: src/options/admin.js:39 src/options/auth.js:28 +#: src/options/admin.js:43 src/options/auth.js:29 msgid "OIDC" msgstr "OIDC" @@ -2118,11 +2153,11 @@ msgstr "OK" #: src/component/album/edit/dialog.vue:25 src/component/photo/toolbar.vue:115 #: src/component/photo/toolbar.vue:127 src/component/photo/toolbar.vue:137 -#: src/page/albums.vue:101 +#: src/page/albums.vue:102 msgid "Oldest First" msgstr "Più vecchi prima" -#: src/component/settings/webdav.vue:77 +#: src/component/settings/webdav.vue:78 msgid "On Windows, enter the following resource in the connection dialog:" msgstr "In Windows, inserire la seguente risorsa nella finestra di dialogo della connessione:" @@ -2134,11 +2169,11 @@ msgstr "La generazione di miniature su richiesta può causare un elevato utilizz msgid "Once a week" msgstr "Una volta a settimana" -#: src/page/albums.vue:609 +#: src/page/albums.vue:614 msgid "One album found" msgstr "Un album trovato" -#: src/page/library/browse.vue:358 +#: src/page/library/browse.vue:360 msgid "One file found" msgstr "Un file trovato" @@ -2146,24 +2181,24 @@ msgstr "Un file trovato" msgid "One file uploaded" msgstr "Un file caricato" -#: src/page/library/browse.vue:360 +#: src/page/library/browse.vue:362 msgid "One folder found" msgstr "Una cartella trovata" -#: src/page/labels.vue:525 +#: src/page/labels.vue:530 msgid "One label found" msgstr "Un'etichetta trovata" -#: src/page/people/new.vue:348 src/page/people/new.vue:445 -#: src/page/people/recognized.vue:533 +#: src/page/people/new.vue:348 src/page/people/new.vue:448 +#: src/page/people/recognized.vue:538 msgid "One person found" msgstr "Una persona trovata" -#: src/page/album/photos.vue:490 src/page/photos.vue:628 +#: src/page/album/photos.vue:501 src/page/photos.vue:638 msgid "One picture found" msgstr "Una foto trovata" -#: src/component/settings/passcode.vue:478 +#: src/component/settings/passcode.vue:481 msgid "Only locally managed accounts can be set up for authentication with 2FA." msgstr "Solamente gli account gestiti localmente possono essere configurati con autenticazione a due fattori." @@ -2171,7 +2206,7 @@ msgstr "Solamente gli account gestiti localmente possono essere configurati con msgid "Open" msgstr "Aperto" -#: src/component/service/add.vue:86 src/component/service/add.vue:107 +#: src/component/service/add.vue:87 src/component/service/add.vue:108 msgid "optional" msgstr "opzionale" @@ -2183,7 +2218,7 @@ msgstr "o" msgid "Orange" msgstr "Arancione" -#: src/page/settings/account.vue:571 src/page/settings/account.vue:573 +#: src/page/settings/account.vue:577 src/page/settings/account.vue:579 msgid "Organization" msgstr "Organizzazione" @@ -2199,7 +2234,7 @@ msgstr "I nomi dei file originali verranno memorizzati e indicizzati." msgid "Original Name" msgstr "Nome Originale" -#: src/component/navigation.vue:1304 src/model/file.js:196 +#: src/component/navigation.vue:1328 src/model/file.js:196 #: src/options/options.js:413 src/page/library/browse.vue:65 #: src/page/settings/content.vue:356 src/page/settings/general.vue:532 msgid "Originals" @@ -2210,7 +2245,7 @@ msgstr "Originali" msgid "Other" msgstr "Altro" -#: src/page/about/about.vue:77 src/page/about/about.vue:83 +#: src/page/about/about.vue:78 src/page/about/about.vue:84 msgid "Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible." msgstr "La nostra missione è fornire la soluzione più semplice per l'utente e la privacy per mantenere le vostre immagini organizzate e accessibili." @@ -2222,7 +2257,7 @@ msgstr "All'aperto" msgid "Page {0}, Current page" msgstr "Pagina {0}, Pagina corrente" -#: src/component/photo/edit/files.vue:352 src/model/photo.js:859 +#: src/component/photo/edit/files.vue:352 src/model/photo.js:896 msgid "Pages" msgstr "Pagine" @@ -2234,15 +2269,15 @@ msgstr "Navigazione a paginazione" msgid "Panorama" msgstr "Panorama" -#: src/component/navigation.vue:402 +#: src/component/navigation.vue:404 msgid "Panoramas" msgstr "Panorami" -#: src/component/user/add/dialog.vue:114 src/component/user/add/dialog.vue:115 -#: src/component/service/add.vue:106 src/component/service/edit.vue:352 -#: src/component/settings/apps.vue:121 src/component/settings/passcode.vue:106 -#: src/component/settings/passcode.vue:413 src/component/share/dialog.vue:27 -#: src/options/auth.js:91 src/page/auth/login.vue:196 +#: src/component/user/add/dialog.vue:115 src/component/user/add/dialog.vue:116 +#: src/component/service/add.vue:107 src/component/service/edit.vue:353 +#: src/component/settings/apps.vue:124 src/component/settings/passcode.vue:109 +#: src/component/settings/passcode.vue:416 src/component/share/dialog.vue:27 +#: src/options/auth.js:92 src/page/auth/login.vue:196 msgid "Password" msgstr "Password" @@ -2250,9 +2285,9 @@ msgstr "Password" msgid "Password changed" msgstr "Password cambiata" -#: src/app/routes.js:404 src/app/routes.js:428 src/component/navigation.vue:845 -#: src/component/navigation.vue:1898 src/component/photo/edit/dialog.vue:228 -#: src/component/photo/edit/dialog.vue:245 src/options/options.js:201 +#: src/app/routes.js:412 src/app/routes.js:436 src/component/navigation.vue:853 +#: src/component/navigation.vue:1939 src/component/photo/edit/dialog.vue:238 +#: src/component/photo/edit/dialog.vue:257 src/options/options.js:201 #: src/page/settings/general.vue:180 msgid "People" msgstr "Persone" @@ -2273,23 +2308,23 @@ msgstr "Elimina permanentemente i file per liberare spazio." msgid "Person" msgstr "Persona" -#: src/options/auth.js:42 +#: src/options/auth.js:43 msgid "Personal" msgstr "Personale" -#: src/model/photo.js:1273 +#: src/model/photo.js:1310 msgid "Photo" msgstr "Foto" -#: src/page/about/about.vue:156 +#: src/page/about/about.vue:158 msgid "PhotoPrism is 100% self-funded and independent." msgstr "PhotoPrism è al 100% autofinanziato e indipendente." -#: src/page/about/about.vue:92 +#: src/page/about/about.vue:93 msgid "PhotoPrism+ Membership" msgstr "Iscrizione a PhotoPrism+" -#: src/app/routes.js:156 +#: src/app/routes.js:164 msgid "Photos" msgstr "Foto" @@ -2310,27 +2345,27 @@ msgstr "Luogo" msgid "Place & Time" msgstr "Luogo e Ora" -#: src/app/routes.js:303 src/app/routes.js:309 src/app/routes.js:315 -#: src/app/routes.js:330 src/component/navigation.vue:986 -#: src/component/navigation.vue:1914 src/options/options.js:203 +#: src/app/routes.js:311 src/app/routes.js:317 src/app/routes.js:323 +#: src/app/routes.js:338 src/component/navigation.vue:999 +#: src/component/navigation.vue:1956 src/options/options.js:203 #: src/page/places.vue:51 src/page/settings/general.vue:609 #: src/page/settings/general.vue:638 msgid "Places" msgstr "Luoghi" -#: src/component/settings/password.vue:129 +#: src/component/settings/password.vue:130 msgid "Please confirm your new password." msgstr "Conferma la nuova password." -#: src/component/settings/apps.vue:185 +#: src/component/settings/apps.vue:188 msgid "Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:" msgstr "Copia la seguente password generata casualmente e salvala in un posto sicuro, in quanto non potrai visualizzarla mai più:" -#: src/component/upload/dialog.vue:203 +#: src/component/upload/dialog.vue:205 msgid "Please do not upload any private, unlawful or offensive pictures." msgstr "Non caricare immagini private, illegali o offensive." -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Please don't upload photos containing offensive content." msgstr "Non caricare foto che contengono contenuto offensivo." @@ -2338,11 +2373,11 @@ msgstr "Non caricare foto che contengono contenuto offensivo." msgid "Please enter OTP character {0}" msgstr "Inserisci il carattere OTP {0}" -#: src/component/settings/password.vue:66 +#: src/component/settings/password.vue:67 msgid "Please note that changing your password will log you out on other devices and browsers." msgstr "Tieni presente che la modifica della password ti farà uscire su altri dispositivi e browser." -#: src/page/connect.vue:148 src/page/connect.vue:152 +#: src/page/connect.vue:149 src/page/connect.vue:153 msgid "Please restart your instance for the changes to take effect." msgstr "Per rendere effettive le modifiche, riavviare l'istanza." @@ -2362,11 +2397,11 @@ msgstr "Limite Dimensione PNG: %{n}px" msgid "Portrait" msgstr "Ritratto" -#: src/component/service/edit.vue:273 +#: src/component/service/edit.vue:274 msgid "Preserve filenames" msgstr "Mantieni nomi dei file" -#: src/component/upload/dialog.vue:162 +#: src/component/upload/dialog.vue:164 msgid "Press enter to create a new album." msgstr "Premi invio per creare un nuovo album." @@ -2403,8 +2438,8 @@ msgstr "Visuale precedente" msgid "Primary" msgstr "Primario" -#: src/app/routes.js:271 src/component/album/edit/dialog.vue:176 -#: src/component/navigation.vue:531 src/component/photo/edit/info.vue:303 +#: src/app/routes.js:279 src/component/album/edit/dialog.vue:177 +#: src/component/navigation.vue:533 src/component/photo/edit/info.vue:303 #: src/page/settings/general.vue:280 msgid "Private" msgstr "Privato" @@ -2429,7 +2464,7 @@ msgstr "Filtro Qualità" msgid "Quality Score" msgstr "Punteggio Qualità" -#: src/page/admin/users.vue:169 +#: src/page/admin/users.vue:171 msgid "r" msgstr "r" @@ -2460,7 +2495,7 @@ msgstr "Modalità Sola Lettura" #: src/component/album/edit/dialog.vue:26 src/component/photo/toolbar.vue:116 #: src/component/photo/toolbar.vue:128 src/component/photo/toolbar.vue:138 -#: src/page/albums.vue:102 +#: src/page/albums.vue:103 msgid "Recently Added" msgstr "Aggiunto Recentemente" @@ -2468,7 +2503,7 @@ msgstr "Aggiunto Recentemente" msgid "Recently Archived" msgstr "Archiviato di recente" -#: src/component/photo/toolbar.vue:139 src/page/albums.vue:103 +#: src/component/photo/toolbar.vue:139 src/page/albums.vue:104 msgid "Recently Edited" msgstr "Modificato di recente" @@ -2493,24 +2528,24 @@ msgstr "Codice di recupero" msgid "Red" msgstr "Rosso" -#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:126 -#: src/component/album/toolbar.vue:79 src/component/photo/toolbar.vue:169 -#: src/page/albums.vue:173 src/page/labels.vue:112 +#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:128 +#: src/component/album/toolbar.vue:84 src/component/photo/toolbar.vue:169 +#: src/page/albums.vue:175 src/page/labels.vue:112 #: src/page/library/browse.vue:90 src/page/library/errors.vue:81 #: src/page/people/new.vue:54 src/page/people/recognized.vue:88 msgid "Refresh" msgstr "Aggiorna" -#: src/app/routes.js:337 src/component/navigation.vue:943 -#: src/component/navigation.vue:1026 +#: src/app/routes.js:345 src/component/navigation.vue:955 +#: src/component/navigation.vue:1040 msgid "Regions" msgstr "Regioni" -#: src/page/connect.vue:275 src/page/connect.vue:284 +#: src/page/connect.vue:277 src/page/connect.vue:286 msgid "Register" msgstr "Registro" -#: src/component/navigation.vue:1773 src/component/update.vue:68 +#: src/component/navigation.vue:1806 src/component/update.vue:68 msgid "Reload" msgstr "Ricarica" @@ -2555,34 +2590,34 @@ msgstr "Richiedere che le immagini non fotografiche e di bassa qualità vengano msgid "Resolution" msgstr "Risoluzione" -#: src/page/connect.vue:179 src/page/connect.vue:183 +#: src/page/connect.vue:180 src/page/connect.vue:184 #: src/page/settings/advanced.vue:782 msgid "Restart" msgstr "Riavvio" -#: src/component/user/edit/dialog.vue:485 src/component/lightbox.vue:1221 +#: src/component/user/edit/dialog.vue:488 src/component/lightbox.vue:1221 #: src/component/photo/clipboard.vue:77 msgid "Restore" msgstr "Ripristina" -#: src/component/lightbox.vue:2000 +#: src/component/lightbox.vue:2020 msgid "Restored" msgstr "Ripristinato" -#: src/component/service/edit.vue:428 +#: src/component/service/edit.vue:429 msgid "Retry Limit" msgstr "Limite di tentativi" -#: src/component/settings/password.vue:128 +#: src/component/settings/password.vue:129 msgid "Retype Password" msgstr "Digitare nuovamente la Password" -#: src/app/routes.js:264 src/component/navigation.vue:505 +#: src/app/routes.js:272 src/component/navigation.vue:507 msgid "Review" msgstr "Revisione" -#: src/component/user/add/dialog.vue:171 src/component/user/edit/dialog.vue:284 -#: src/page/admin/sessions.vue:262 src/page/admin/users.vue:73 +#: src/component/user/add/dialog.vue:172 src/component/user/edit/dialog.vue:285 +#: src/page/admin/sessions.vue:263 src/page/admin/users.vue:75 msgid "Role" msgstr "Ruolo" @@ -2594,11 +2629,11 @@ msgstr "Righe per pagina:" msgid "Satellite" msgstr "Satellite" -#: src/component/user/edit/dialog.vue:485 -#: src/component/album/edit/dialog.vue:211 -#: src/component/label/edit/dialog.vue:119 -#: src/component/people/edit/dialog.vue:132 src/component/service/edit.vue:466 -#: src/component/settings/password.vue:172 src/component/share/dialog.vue:181 +#: src/component/user/edit/dialog.vue:488 +#: src/component/album/edit/dialog.vue:212 +#: src/component/label/edit/dialog.vue:120 +#: src/component/people/edit/dialog.vue:133 src/component/service/edit.vue:467 +#: src/component/settings/password.vue:173 src/component/share/dialog.vue:181 msgid "Save" msgstr "Salva" @@ -2606,23 +2641,23 @@ msgstr "Salva" msgid "Scan" msgstr "Scansione" -#: src/component/settings/passcode.vue:179 +#: src/component/settings/passcode.vue:182 msgid "Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:" msgstr "Scansiona il codice QR con l'app di autenticazione o utilizza la chiave di configurazione mostrata di seguito, quindi inserisci il codice di verifica generato:" -#: src/component/navigation.vue:461 +#: src/component/navigation.vue:463 msgid "Scans" msgstr "Scansioni" -#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:377 -#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:310 +#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:381 +#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:313 msgid "Scope" msgstr "Ambito di applicazione" -#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:62 -#: src/component/navigation.vue:342 src/component/navigation.vue:1866 -#: src/component/photo/toolbar.vue:57 src/options/options.js:197 -#: src/page/albums.vue:100 src/page/labels.vue:77 +#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:69 +#: src/component/location/dialog.vue:133 src/component/navigation.vue:343 +#: src/component/navigation.vue:1905 src/component/photo/toolbar.vue:57 +#: src/options/options.js:197 src/page/albums.vue:100 src/page/labels.vue:77 #: src/page/library/errors.vue:76 src/page/people/recognized.vue:66 #: src/page/places.vue:79 src/page/settings/content.vue:235 msgid "Search" @@ -2660,11 +2695,11 @@ msgstr "Seleziona la data" msgid "Select dates" msgstr "Seleziona le date" -#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:154 +#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:156 msgid "Select or create an album" msgstr "Seleziona o crea un album" -#: src/component/upload/dialog.vue:138 +#: src/component/upload/dialog.vue:140 msgid "Select the files to upload…" msgstr "Seleziona i file da caricare…" @@ -2692,7 +2727,7 @@ msgstr "Selezione ripristinata" msgid "Sequential Name" msgstr "Nome Sequenziale" -#: src/component/service/add.vue:67 src/component/service/edit.vue:322 +#: src/component/service/add.vue:68 src/component/service/edit.vue:323 #: src/component/share/dialog.vue:25 msgid "Service URL" msgstr "URL Servizio" @@ -2701,7 +2736,7 @@ msgstr "URL Servizio" msgid "Services" msgstr "Servizi" -#: src/model/session.js:107 src/options/auth.js:41 src/options/auth.js:90 +#: src/model/session.js:107 src/options/auth.js:42 src/options/auth.js:91 msgid "Session" msgstr "Sessione" @@ -2709,7 +2744,7 @@ msgstr "Sessione" msgid "Session ID" msgstr "ID sessione" -#: src/page/admin.vue:45 +#: src/page/admin.vue:44 msgid "Sessions" msgstr "Sessioni" @@ -2717,22 +2752,22 @@ msgstr "Sessioni" msgid "Set as Album Cover" msgstr "Imposta come copertina dell'album" -#: src/app/routes.js:101 src/app/routes.js:492 src/app/routes.js:504 -#: src/app/routes.js:521 src/app/routes.js:534 src/app/routes.js:547 -#: src/component/navigation.vue:1394 src/component/navigation.vue:1806 +#: src/app/routes.js:101 src/app/routes.js:500 src/app/routes.js:512 +#: src/app/routes.js:529 src/app/routes.js:542 src/app/routes.js:555 +#: src/component/navigation.vue:1419 src/component/navigation.vue:1841 msgid "Settings" msgstr "Impostazioni" #: src/page/settings/account.vue:115 src/page/settings/account.vue:144 -#: src/component/settings/passcode.vue:147 +#: src/component/settings/passcode.vue:151 msgid "Settings saved" msgstr "Impostazioni salvate" -#: src/component/service/upload.vue:131 src/component/settings/passcode.vue:160 +#: src/component/service/upload.vue:132 src/component/settings/passcode.vue:163 msgid "Setup" msgstr "Setup" -#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:98 +#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:103 #: src/component/photo/clipboard.vue:51 src/page/settings/general.vue:382 msgid "Share" msgstr "Condividi" @@ -2749,7 +2784,7 @@ msgstr "Condividi le tue foto con altre app e servizi." msgid "Show" msgstr "Mostra" -#: src/page/people/new.vue:116 src/page/people/new.vue:233 +#: src/page/people/new.vue:116 src/page/people/new.vue:235 msgid "Show all new faces" msgstr "Mostra tutti i volti nuovi" @@ -2794,7 +2829,7 @@ msgid "Similar" msgstr "Simile" #: src/component/photo/edit/files.vue:51 src/component/photo/edit/files.vue:341 -#: src/component/service/edit.vue:139 src/component/sidebar/info.vue:96 +#: src/component/service/edit.vue:140 src/component/sidebar/info.vue:96 msgid "Size" msgstr "Dimensione" @@ -2822,7 +2857,7 @@ msgstr "Qualcosa è andato storto, riprovare" msgid "Sort by" msgstr "Ordina per" -#: src/component/album/edit/dialog.vue:142 src/component/photo/toolbar.vue:288 +#: src/component/album/edit/dialog.vue:143 src/component/photo/toolbar.vue:290 #: src/page/albums.vue:214 msgid "Sort Order" msgstr "Ordinamento" @@ -2857,7 +2892,7 @@ msgstr "Impila le foto scattate nello stesso momento e luogo in base ai loro met msgid "Stackable" msgstr "Impilabile" -#: src/component/navigation.vue:421 src/page/settings/content.vue:136 +#: src/component/navigation.vue:423 src/page/settings/content.vue:136 msgid "Stacks" msgstr "Pile" @@ -2885,16 +2920,16 @@ msgstr "Spazio d’archiviazione" msgid "Streets" msgstr "Strade" -#: src/component/photo/edit/details.vue:494 +#: src/component/photo/edit/details.vue:468 #: src/component/photo/edit/labels.vue:44 msgid "Subject" msgstr "Oggetto" -#: src/page/about/feedback.vue:162 src/page/about/feedback.vue:163 +#: src/page/about/feedback.vue:163 src/page/about/feedback.vue:164 msgid "Submit" msgstr "Invia" -#: src/component/settings/passcode.vue:132 +#: src/component/settings/passcode.vue:136 msgid "Successfully activated" msgstr "Attivazione avvenuta con successo" @@ -2903,23 +2938,23 @@ msgid "Successfully Connected" msgstr "Collegato con successo" #: src/component/session/remove/dialog.vue:32 -#: src/component/settings/apps.vue:218 +#: src/component/settings/apps.vue:222 msgid "Successfully deleted" msgstr "Eliminato con successo" -#: src/component/settings/passcode.vue:107 +#: src/component/settings/passcode.vue:108 msgid "Successfully verified" msgstr "Verifica avvenuta con successo" -#: src/component/user/edit/dialog.vue:398 src/page/admin/users.vue:163 +#: src/component/user/edit/dialog.vue:399 src/page/admin/users.vue:165 msgid "Super Admin" msgstr "Super amministratore" -#: src/component/service/add.vue:122 +#: src/component/service/add.vue:123 msgid "Support for additional services, like Google Drive, will be added over time." msgstr "Il supporto ad altri servizi, come Google Drive, verrà aggiunto in futuro." -#: src/component/confirm/sponsor.vue:37 src/component/navigation.vue:1629 +#: src/component/confirm/sponsor.vue:38 src/component/navigation.vue:1660 msgid "Support Our Mission" msgstr "Sostienici nella nostra missione" @@ -2927,7 +2962,7 @@ msgstr "Sostienici nella nostra missione" msgid "Sync" msgstr "Sincronizza" -#: src/component/service/edit.vue:289 +#: src/component/service/edit.vue:290 msgid "Sync raw and video files" msgstr "Sincronizzazione di file raw e video" @@ -2953,23 +2988,23 @@ msgstr "Terreno" msgid "Text" msgstr "Testo" -#: src/component/photo/edit/details.vue:32 src/page/people/new.vue:71 +#: src/component/photo/edit/details.vue:40 src/page/people/new.vue:71 msgid "Text too long" msgstr "Testo troppo lungo" -#: src/page/about/about.vue:145 +#: src/page/about/about.vue:146 msgid "Thank You for Your Support!" msgstr "Grazie per il vostro sostegno!" -#: src/page/about/about.vue:79 src/page/about/about.vue:85 +#: src/page/about/about.vue:80 src/page/about/about.vue:86 msgid "That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality." msgstr "Ecco perché PhotoPrism è stato costruito da zero per funzionare ovunque sia necessario, senza compromettere la libertà, la privacy o la funzionalità." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "The index currently contains %{n} hidden files." msgstr "L'indice contiene attualmente %{n} file nascosti." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates." msgstr "Il loro formato potrebbe non essere supportato, non sono stati ancora convertiti in JPEG oppure ci sono duplicati." @@ -2984,44 +3019,44 @@ msgstr "Tema" msgid "This field is required" msgstr "Questo campo è obbligatorio" -#: src/component/settings/webdav.vue:100 src/page/settings/services.vue:144 +#: src/component/settings/webdav.vue:101 src/page/settings/services.vue:147 msgid "This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local." msgstr "Questo monta la cartella degli originali come un'unità di rete e ti permette di aprire, modificare e cancellare i file dal tuo computer o smartphone come se fossero locali." -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Time UTC" msgstr "Orario UTC" -#: src/component/photo/edit/details.vue:219 src/page/settings/general.vue:108 +#: src/component/photo/edit/details.vue:221 src/page/settings/general.vue:108 msgid "Time Zone" msgstr "Fuso Orario" -#: src/component/service/edit.vue:408 +#: src/component/service/edit.vue:409 msgid "Timeout" msgstr "Timeout" -#: src/component/user/edit/dialog.vue:98 src/component/user/edit/dialog.vue:99 +#: src/component/user/edit/dialog.vue:99 src/component/user/edit/dialog.vue:100 #: src/page/settings/account.vue:84 src/page/settings/account.vue:86 msgctxt "Account" msgid "Title" msgstr "Titolo" -#: src/component/photo/edit/details.vue:73 +#: src/component/photo/edit/details.vue:75 msgctxt "Photo" msgid "Title" msgstr "Titolo" -#: src/component/photo/edit/info.vue:59 src/component/photo/edit/info.vue:155 +#: src/component/photo/edit/info.vue:61 src/component/photo/edit/info.vue:155 #: src/component/photo/edit/labels.vue:40 src/component/photo/view/list.vue:114 #: src/component/sidebar/info.vue:57 msgid "Title" msgstr "Titolo" -#: src/page/settings/account.vue:553 src/page/settings/account.vue:555 +#: src/page/settings/account.vue:559 src/page/settings/account.vue:561 msgid "Title / Position" msgstr "Titolo / Posizione" -#: src/page/albums.vue:83 +#: src/page/albums.vue:84 msgid "Title too long" msgstr "Titolo troppo lungo" @@ -3029,19 +3064,19 @@ msgstr "Titolo troppo lungo" msgid "to" msgstr "a" -#: src/component/settings/passcode.vue:312 +#: src/component/settings/passcode.vue:315 msgid "To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place." msgstr "Per evitare di essere bloccatə fuori dal tuo account, scarica, stampa o copua questo codice di recupero e conservalo in un luogo sicuro." -#: src/component/settings/apps.vue:272 +#: src/component/settings/apps.vue:275 msgid "To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:" msgstr "Per generare una nuova password per l'app inserisci il nome e l'ambito di autorizzazione dell'applicazione e imposta una data di scadenza:" -#: src/component/settings/passcode.vue:400 +#: src/component/settings/passcode.vue:403 msgid "To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:" msgstr "Per cambiare app o dispositivo di autenticazione, disattiva prima l’autenticazione a due fattori, poi riattivala:" -#: src/page/connect.vue:221 src/page/connect.vue:230 +#: src/page/connect.vue:223 src/page/connect.vue:232 msgid "To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:" msgstr "Per effettuare l'aggiornamento, è possibile inserire un codice di attivazione o fare clic su \"Registrati\" per iscriversi al nostro sito web:" @@ -3049,7 +3084,7 @@ msgstr "Per effettuare l'aggiornamento, è possibile inserire un codice di attiv msgid "Today" msgstr "Oggi" -#: src/component/album/toolbar.vue:70 src/component/photo/toolbar.vue:78 +#: src/component/album/toolbar.vue:71 src/component/photo/toolbar.vue:78 msgid "Toggle View" msgstr "Cambia Vista" @@ -3076,20 +3111,24 @@ msgstr "Risoluzione dei problemi" msgid "Try again using other filters or keywords." msgstr "Riprova usando altri filtri o parole chiave." -#: src/component/settings/passcode.vue:380 +#: src/component/settings/passcode.vue:383 msgid "Two-factor authentication has been enabled for your account." msgstr "L’autenticazione a due fattori (2FA) è stata attivata sul tuo account" #: src/component/photo/edit/files.vue:58 src/component/photo/edit/files.vue:330 -#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:388 +#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:389 msgid "Type" msgstr "Tipo" -#: src/options/auth.js:13 +#: src/component/album/toolbar.vue:178 +msgid "Unable to delete" +msgstr "Impossibile eliminare" + +#: src/options/auth.js:14 msgid "Unauthorized" msgstr "Non autorizzato" -#: src/component/photo/edit/people.vue:94 +#: src/component/photo/edit/people.vue:95 msgid "Undo" msgstr "Annulla" @@ -3097,16 +3136,16 @@ msgstr "Annulla" msgid "Unique ID" msgstr "ID Unico" -#: src/page/settings/account.vue:451 src/page/settings/account.vue:476 -#: src/page/settings/account.vue:501 src/common/util.js:487 -#: src/component/photo/edit/details.vue:21 -#: src/component/photo/edit/details.vue:111 -#: src/component/photo/edit/details.vue:138 -#: src/component/photo/edit/details.vue:164 src/component/sidebar/info.vue:43 -#: src/model/album.js:193 src/model/photo.js:323 src/model/photo.js:784 -#: src/model/photo.js:809 src/model/photo.js:832 src/model/photo.js:850 -#: src/model/photo.js:897 src/model/photo.js:905 src/model/photo.js:994 -#: src/model/photo.js:1016 src/model/photo.js:1061 src/model/photo.js:1074 +#: src/page/settings/account.vue:457 src/page/settings/account.vue:482 +#: src/page/settings/account.vue:507 src/common/util.js:488 +#: src/component/photo/edit/details.vue:27 +#: src/component/photo/edit/details.vue:113 +#: src/component/photo/edit/details.vue:140 +#: src/component/photo/edit/details.vue:166 src/component/sidebar/info.vue:43 +#: src/model/album.js:193 src/model/photo.js:331 src/model/photo.js:821 +#: src/model/photo.js:846 src/model/photo.js:869 src/model/photo.js:887 +#: src/model/photo.js:934 src/model/photo.js:942 src/model/photo.js:1031 +#: src/model/photo.js:1053 src/model/photo.js:1098 src/model/photo.js:1111 #: src/model/user.js:157 src/options/options.js:51 src/options/options.js:69 #: src/options/options.js:86 src/options/options.js:100 #: src/options/options.js:112 src/page/library/errors.vue:251 @@ -3119,7 +3158,7 @@ msgstr "Sconosciuto" msgid "Unregistered" msgstr "Non registrato" -#: src/app/routes.js:215 src/component/navigation.vue:644 +#: src/app/routes.js:223 src/component/navigation.vue:648 msgid "Unsorted" msgstr "Non Ordinato" @@ -3127,7 +3166,7 @@ msgstr "Non Ordinato" msgid "Unstack" msgstr "Separa" -#: src/component/photo/edit/files.vue:519 src/component/photo/edit/info.vue:416 +#: src/component/photo/edit/files.vue:521 src/component/photo/edit/info.vue:416 msgid "Updated" msgstr "Aggiornato" @@ -3143,7 +3182,7 @@ msgstr "Aggiornamento indici in corso" msgid "Updating moments" msgstr "Aggiornamento momenti in corso" -#: src/component/user/edit/dialog.vue:154 +#: src/component/user/edit/dialog.vue:155 msgid "Updating picture…" msgstr "Aggiornamento dell'immagine…" @@ -3155,21 +3194,21 @@ msgstr "Aggiornamento delle anteprime" msgid "Updating stacks" msgstr "Aggiornamento delle pile" -#: src/page/connect.vue:57 src/component/navigation.vue:1500 -#: src/component/navigation.vue:1614 src/component/navigation.vue:1999 +#: src/page/connect.vue:57 src/component/navigation.vue:1526 +#: src/component/navigation.vue:1644 src/component/navigation.vue:2047 #: src/page/connect.vue:58 msgid "Upgrade" msgstr "Aggiornamento" -#: src/page/about/about.vue:123 src/page/connect.vue:202 -#: src/component/confirm/sponsor.vue:98 src/page/about/about.vue:113 -#: src/page/connect.vue:206 +#: src/page/about/about.vue:124 src/page/connect.vue:204 +#: src/component/confirm/sponsor.vue:99 src/page/about/about.vue:114 +#: src/page/connect.vue:208 msgid "Upgrade Now" msgstr "Aggiorna ora" -#: src/component/album/toolbar.vue:108 src/component/navigation.vue:1824 -#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:144 -#: src/component/upload/dialog.vue:51 src/page/albums.vue:183 +#: src/component/album/toolbar.vue:113 src/component/navigation.vue:1860 +#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:145 +#: src/component/upload/dialog.vue:51 src/page/albums.vue:185 #: src/page/labels.vue:122 src/page/library/import.vue:133 #: src/page/settings/general.vue:307 src/page/settings/services.vue:38 msgid "Upload" @@ -3179,21 +3218,21 @@ msgstr "Upload" msgid "Upload complete" msgstr "Upload completato" -#: src/component/upload/dialog.vue:133 +#: src/component/upload/dialog.vue:135 msgid "Upload complete. Indexing…" msgstr "Upload completato. Indicizzazione in corso…" #: src/component/upload/dialog.vue:296 src/component/upload/dialog.vue:315 -#: src/component/upload/dialog.vue:129 +#: src/component/upload/dialog.vue:131 msgid "Upload failed" msgstr "Upload fallito" -#: src/component/service/edit.vue:257 +#: src/component/service/edit.vue:258 msgid "Upload local files" msgstr "Upload file locali" -#: src/component/user/edit/dialog.vue:380 #: src/component/user/edit/dialog.vue:381 +#: src/component/user/edit/dialog.vue:382 msgid "Upload Path" msgstr "Percorso di caricamento" @@ -3201,7 +3240,7 @@ msgstr "Percorso di caricamento" msgid "Upload to WebDAV and share links with friends." msgstr "Upload a WebDAV e condividi link con i tuoi amici." -#: src/component/upload/dialog.vue:131 +#: src/component/upload/dialog.vue:133 msgid "Uploading %{n} of %{t}…" msgstr "Caricamento %{n} su %{t}…" @@ -3214,7 +3253,7 @@ msgstr "Caricamento foto…" msgid "Uploading…" msgstr "Caricamento in corso…" -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Uploads that may contain such images will be rejected automatically." msgstr "I file caricato che potrebbero contenere queste immagini verranno rifiutati automaticamente." @@ -3222,7 +3261,7 @@ msgstr "I file caricato che potrebbero contenere queste immagini verranno rifiut msgid "Use Presets" msgstr "Utilizzare le preimpostazioni" -#: src/component/settings/passcode.vue:283 +#: src/component/settings/passcode.vue:286 msgid "Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:" msgstr "Utilizza il seguente codice di recupero per accedere al tuo account quando non riesci a generare un codice di verifica valido con l'app di autenticazione:" @@ -3230,12 +3269,12 @@ msgstr "Utilizza il seguente codice di recupero per accedere al tuo account quan msgid "Use your recovery code or contact an administrator for help." msgstr "Usa il tuo codice di recupero o contatta un amministratore per chiedere aiuto." -#: src/options/admin.js:10 src/page/admin/sessions.vue:59 -#: src/page/admin/sessions.vue:242 src/model/user.js:361 src/options/auth.js:7 +#: src/options/admin.js:14 src/page/admin/sessions.vue:59 +#: src/page/admin/sessions.vue:243 src/model/user.js:361 src/options/auth.js:8 msgid "User" msgstr "Utente" -#: src/component/navigation.vue:1979 +#: src/component/navigation.vue:2025 msgid "User Guide" msgstr "Guida per l'utente" @@ -3243,14 +3282,14 @@ msgstr "Guida per l'utente" msgid "User Interface" msgstr "Interfaccia Utente" -#: src/component/user/add/dialog.vue:87 src/component/user/add/dialog.vue:88 -#: src/page/admin/sessions.vue:220 src/page/admin/users.vue:71 -#: src/component/service/add.vue:85 src/component/service/edit.vue:337 +#: src/component/user/add/dialog.vue:88 src/component/user/add/dialog.vue:89 +#: src/page/admin/sessions.vue:221 src/page/admin/users.vue:73 +#: src/component/service/add.vue:86 src/component/service/edit.vue:338 #: src/component/share/dialog.vue:26 msgid "Username" msgstr "Nome utente" -#: src/component/navigation.vue:1435 +#: src/component/navigation.vue:1461 msgid "Users" msgstr "Utenti" @@ -3260,18 +3299,18 @@ msgstr "Utenti" msgid "Vector" msgstr "Vettore" -#: src/component/navigation.vue:440 +#: src/component/navigation.vue:442 msgid "Vectors" msgstr "Vettori" -#: src/component/settings/passcode.vue:227 src/page/auth/login.vue:144 +#: src/component/settings/passcode.vue:230 src/page/auth/login.vue:144 msgid "Verification Code" msgstr "Codice di verifica" #: src/component/photo/view/cards.vue:363 #: src/component/photo/view/cards.vue:491 src/component/photo/view/list.vue:190 #: src/component/photo/view/mosaic.vue:207 src/model/file.js:221 -#: src/model/photo.js:921 src/model/photo.js:939 src/options/options.js:293 +#: src/model/photo.js:958 src/model/photo.js:976 src/options/options.js:293 msgid "Video" msgstr "Video" @@ -3280,12 +3319,12 @@ msgstr "Video" msgid "Video Duration" msgstr "Durata Video" -#: src/app/routes.js:243 src/component/navigation.vue:728 +#: src/app/routes.js:251 src/component/navigation.vue:734 #: src/options/options.js:200 msgid "Videos" msgstr "Video" -#: src/component/photo/toolbar.vue:261 src/component/photo/view/cards.vue:350 +#: src/component/photo/toolbar.vue:263 src/component/photo/view/cards.vue:350 #: src/component/photo/view/mosaic.vue:194 msgid "View" msgstr "Visualizza" @@ -3294,11 +3333,11 @@ msgstr "Visualizza" msgid "View search results as a list." msgstr "Visualizza i risultati della ricerca come elenco." -#: src/options/admin.js:14 src/options/auth.js:8 +#: src/options/admin.js:18 src/options/auth.js:9 msgid "Viewer" msgstr "Visualizzatore" -#: src/page/admin/sessions.vue:271 src/options/auth.js:12 +#: src/page/admin/sessions.vue:272 src/options/auth.js:13 msgid "Visitor" msgstr "Visitatore" @@ -3310,34 +3349,34 @@ msgstr "Somiglianza visiva" msgid "Warning" msgstr "Avvertenze" -#: src/page/about/feedback.vue:60 +#: src/page/about/feedback.vue:61 msgid "We appreciate your feedback!" msgstr "Grazie per il tuo feedback!" -#: src/page/about/feedback.vue:63 +#: src/page/about/feedback.vue:64 msgid "We do our best to respond within five business days or less." msgstr "Facciamo del nostro meglio per rispondere entro cinque giorni lavorativi o meno." -#: src/component/user/add/dialog.vue:235 src/component/user/edit/dialog.vue:415 -#: src/page/admin/users.vue:80 +#: src/component/user/add/dialog.vue:236 src/component/user/edit/dialog.vue:416 +#: src/page/admin/users.vue:82 msgid "Web Login" msgstr "Accesso Web" -#: src/component/user/add/dialog.vue:248 src/component/user/edit/dialog.vue:432 -#: src/page/admin/users.vue:82 src/options/auth.js:55 src/options/auth.js:68 +#: src/component/user/add/dialog.vue:249 src/component/user/edit/dialog.vue:433 +#: src/page/admin/users.vue:84 src/options/auth.js:56 src/options/auth.js:69 #: src/options/options.js:444 msgid "WebDAV" msgstr "WebDAV" -#: src/component/settings/webdav.vue:51 +#: src/component/settings/webdav.vue:52 msgid "WebDAV clients can connect to PhotoPrism using the following URL:" msgstr "I client WebDAV possono connettersi a PhotoPrism usando il seguente URL:" -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism." msgstr "Client WebDAV, come Windows Explorer di Microsoft o Finder di Apple, possono connettersi direttamente a PhotoPrism." -#: src/component/service/upload.vue:50 src/component/share/dialog.vue:220 +#: src/component/service/upload.vue:51 src/component/share/dialog.vue:220 msgid "WebDAV Upload" msgstr "Upload WebDAV" @@ -3345,8 +3384,8 @@ msgstr "Upload WebDAV" msgid "WebGL support is disabled in your browser" msgstr "Il supporto WebGL è disabilitato nel tuo browser" -#: src/page/settings/account.vue:615 src/page/settings/account.vue:709 -#: src/page/settings/account.vue:601 +#: src/page/settings/account.vue:621 src/page/settings/account.vue:715 +#: src/page/settings/account.vue:607 msgid "Website" msgstr "Sito web" @@ -3354,12 +3393,12 @@ msgstr "Sito web" msgid "White" msgstr "Bianco" -#: src/page/settings/account.vue:532 +#: src/page/settings/account.vue:538 msgid "Work Details" msgstr "Dettagli Opera" -#: src/page/settings/account.vue:500 src/component/photo/edit/details.vue:163 -#: src/component/photo/toolbar.vue:315 src/page/albums.vue:159 +#: src/page/settings/account.vue:506 src/component/photo/edit/details.vue:165 +#: src/component/photo/toolbar.vue:317 src/page/albums.vue:159 msgid "Year" msgstr "Anno" @@ -3367,21 +3406,21 @@ msgstr "Anno" msgid "Yellow" msgstr "Giallo" -#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:58 -#: src/component/photo/archive/dialog.vue:58 +#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:59 +#: src/component/photo/archive/dialog.vue:59 #: src/component/photo/clipboard.vue:200 src/component/photo/edit/files.vue:365 #: src/component/photo/edit/files.vue:395 #: src/component/photo/edit/files.vue:401 #: src/component/photo/edit/files.vue:407 -#: src/component/photo/edit/files.vue:510 src/component/photo/edit/info.vue:281 +#: src/component/photo/edit/files.vue:512 src/component/photo/edit/info.vue:281 #: src/component/photo/edit/info.vue:297 src/component/photo/edit/info.vue:313 #: src/component/photo/edit/info.vue:329 src/component/photo/edit/info.vue:344 -#: src/component/photo/toolbar.vue:434 +#: src/component/photo/toolbar.vue:436 msgid "Yes" msgstr "Sì" -#: src/component/confirm/sponsor.vue:59 src/page/about/about.vue:158 -#: src/page/connect.vue:315 +#: src/component/confirm/sponsor.vue:60 src/page/about/about.vue:160 +#: src/page/connect.vue:317 msgid "You are welcome to contact us at membership@photoprism.app for questions regarding your membership." msgstr "Potete contattarci all'indirizzo membership@photoprism.app per domande relative alla vostra iscrizione." @@ -3393,7 +3432,11 @@ msgstr "Puoi scaricare solo un album" msgid "You can only download one label" msgstr "Puoi scaricare solo un'etichetta" -#: src/component/upload/dialog.vue:203 +#: src/component/location/dialog.vue:178 +msgid "You can search for a location or move the marker on the map to change the position:" +msgstr "Puoi cercare una località o spostare il segnalino sulla mappa per cambiare la posizione:" + +#: src/component/upload/dialog.vue:205 msgid "You can upload up to %{n} files for test purposes." msgstr "È possibile caricare fino a %{n} file a scopo di test." @@ -3406,7 +3449,7 @@ msgstr "Puoi selezionare un solo elemento" msgid "You may rescan your library to find additional faces." msgstr "Puoi scansionare nuovamente la tua libreria per trovare altri volti." -#: src/page/connect.vue:146 src/page/connect.vue:150 +#: src/page/connect.vue:147 src/page/connect.vue:151 msgid "Your account has been successfully connected." msgstr "Il vostro account è stato collegato con successo." @@ -3414,8 +3457,8 @@ msgstr "Il vostro account è stato collegato con successo." msgid "Your browser does not support WebGL" msgstr "Il tuo browser non supporta WebGL" -#: src/component/confirm/sponsor.vue:43 src/page/about/about.vue:97 -#: src/page/about/about.vue:156 src/page/connect.vue:220 +#: src/component/confirm/sponsor.vue:44 src/page/about/about.vue:98 +#: src/page/about/about.vue:158 src/page/connect.vue:222 msgid "Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy." msgstr "Il tuo continuo supporto ci aiuta a fornire aggiornamenti regolari e a rimanere indipendenti, in modo da poter adempiere alla nostra missione e proteggere la tua privacy." @@ -3496,9 +3539,6 @@ msgstr "Zoom avanti/indietro" #~ msgid "Open Folder" #~ msgstr "Aprire la cartella" -#~ msgid "Cannot copy to clipboard" -#~ msgstr "Impossibile copiare negli appunti" - #~ msgid "Sound" #~ msgstr "Suono" @@ -4165,9 +4205,6 @@ msgstr "Zoom avanti/indietro" #~ msgid "More than 50 results" #~ msgstr "Più di 50 risultati" -#~ msgid "No results" -#~ msgstr "Nessun risultato" - #~ msgid "Not implemented yet" #~ msgstr "Non ancora implementato" diff --git a/frontend/src/locales/ja.po b/frontend/src/locales/ja.po index 6a1b6a92c..fec2da05f 100644 --- a/frontend/src/locales/ja.po +++ b/frontend/src/locales/ja.po @@ -3,15 +3,15 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: ci@photoprism.app\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2025-05-12 23:02+0000\n" -"Last-Translator: Admin \n" +"PO-Revision-Date: 2025-07-06 08:58+0000\n" +"Last-Translator: DeepL \n" "Language-Team: Japanese \n" "Language: ja\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 5.11.1\n" +"X-Generator: Weblate 5.12.2\n" "Generated-By: easygettext\n" #: src/locales.js:268 @@ -42,7 +42,7 @@ msgstr "{0} 件選択済み" msgid "{0}-{1} of {2}" msgstr "{2} 件中 {0}-{1}" -#: src/page/albums.vue:612 +#: src/page/albums.vue:617 msgid "%{n} albums found" msgstr "%{n} 件のアルバムが見つかりました" @@ -50,25 +50,25 @@ msgstr "%{n} 件のアルバムが見つかりました" msgid "%{n} files uploaded" msgstr "%{n} 件のファイルをアップロードしました" -#: src/page/library/browse.vue:362 +#: src/page/library/browse.vue:364 msgid "%{n} folders found" msgstr "%{n} 個のフォルダが見つかりました" -#: src/component/navigation.vue:1676 +#: src/component/navigation.vue:1707 msgid "%{n} GB of %{q} GB used" msgstr "%{n}q}のGBGB使用した" -#: src/page/labels.vue:528 +#: src/page/labels.vue:533 msgid "%{n} labels found" msgstr "%{n} 個のラベルが見つかりました" -#: src/page/people/new.vue:350 src/page/people/new.vue:447 -#: src/page/people/recognized.vue:536 +#: src/page/people/new.vue:350 src/page/people/new.vue:450 +#: src/page/people/recognized.vue:541 msgid "%{n} people found" msgstr "%{n} 人が見つかりました" -#: src/page/album/photos.vue:308 src/page/album/photos.vue:493 -#: src/page/photos.vue:441 src/page/photos.vue:631 +#: src/page/album/photos.vue:313 src/page/album/photos.vue:504 +#: src/page/photos.vue:446 src/page/photos.vue:641 msgid "%{n} pictures found" msgstr "%{n} 枚の写真が見つかりました" @@ -88,12 +88,12 @@ msgstr "1 時間" msgid "12 hours" msgstr "12 時間" -#: src/component/user/edit/dialog.vue:452 src/page/settings/account.vue:324 -#: src/component/settings/passcode.vue:75 +#: src/component/user/edit/dialog.vue:453 src/page/settings/account.vue:325 +#: src/component/settings/passcode.vue:78 msgid "2-Factor Authentication" msgstr "2要素認証" -#: src/component/user/edit/dialog.vue:451 src/options/auth.js:46 +#: src/component/user/edit/dialog.vue:452 src/options/auth.js:47 msgid "2FA" msgstr "2FA" @@ -109,20 +109,20 @@ msgstr "クリックするとクリップボードにコピーされます。" msgid "A new version of %{s} is available:" msgstr "新しいバージョン %{s} が利用可能です:" -#: src/component/user/edit/dialog.vue:233 -#: src/component/user/edit/dialog.vue:234 src/page/about/about.vue:56 +#: src/component/user/edit/dialog.vue:234 +#: src/component/user/edit/dialog.vue:235 src/page/about/about.vue:56 #: src/page/settings/account.vue:248 src/page/settings/account.vue:249 -#: src/app/routes.js:63 src/component/navigation.vue:1521 -#: src/page/people/recognized.vue:292 +#: src/app/routes.js:63 src/component/navigation.vue:1547 +#: src/page/people/recognized.vue:296 msgid "About" msgstr "概要" -#: src/options/auth.js:26 src/options/auth.js:44 +#: src/options/auth.js:27 src/options/auth.js:45 msgid "Access Token" msgstr "アクセストークン" -#: src/component/navigation.vue:87 src/component/navigation.vue:1788 -#: src/component/service/upload.vue:71 src/model/service.js:96 +#: src/component/navigation.vue:87 src/component/navigation.vue:1822 +#: src/component/service/upload.vue:72 src/model/service.js:96 #: src/model/user.js:171 src/page/settings.vue:85 #: src/page/settings/general.vue:582 msgid "Account" @@ -136,7 +136,7 @@ msgstr "アカウントが作成されました" msgid "Account deleted" msgstr "アカウントが削除されました" -#: src/page/admin/users.vue:335 +#: src/page/admin/users.vue:337 msgid "Account restored" msgstr "アカウントが復元されました" @@ -157,8 +157,8 @@ msgstr "アクション" msgid "Actions" msgstr "アクション" -#: src/page/connect.vue:294 src/component/settings/passcode.vue:346 -#: src/page/connect.vue:303 +#: src/page/connect.vue:296 src/component/settings/passcode.vue:349 +#: src/page/connect.vue:305 msgid "Activate" msgstr "アクティベート" @@ -174,20 +174,20 @@ msgstr "昇順に並び替える。" msgid "Activate to sort descending." msgstr "降順に並び替える。" -#: src/page/connect.vue:231 src/page/connect.vue:240 +#: src/page/connect.vue:233 src/page/connect.vue:242 msgid "Activation Code" msgstr "アクティベーションコード" -#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:83 -#: src/component/settings/apps.vue:448 +#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:92 +#: src/component/settings/apps.vue:451 msgid "Add" msgstr "追加" -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:246 msgid "Add %{s}?" msgstr "%{s} を追加しますか?" -#: src/component/user/add/dialog.vue:56 src/component/service/add.vue:49 +#: src/component/user/add/dialog.vue:57 src/component/service/add.vue:50 msgid "Add Account" msgstr "アカウントを追加" @@ -204,8 +204,8 @@ msgid "Add Link" msgstr "リンクを追加" #: src/component/photo/edit/people.vue:25 -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:57 -#: src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:57 +#: src/page/people/new.vue:246 msgid "Add person?" msgstr "人を加えるか?" @@ -221,10 +221,15 @@ msgstr "検索結果から写真を選択して追加することができます msgid "Add to album" msgstr "アルバムに追加" -#: src/component/photo/edit/files.vue:514 +#: src/component/photo/edit/files.vue:516 msgid "Added" msgstr "追加済み" +#: src/component/location/dialog.vue:68 src/component/location/dialog.vue:90 +#: src/component/photo/edit/details.vue:246 +msgid "Adjust Location" +msgstr "場所を調整する" + #: src/options/admin.js:6 src/options/auth.js:6 msgid "Admin" msgstr "管理者" @@ -245,7 +250,7 @@ msgstr "3 日後" msgid "After 7 days" msgstr "1 週間後" -#: src/component/settings/passcode.vue:93 +#: src/component/settings/passcode.vue:96 msgid "After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:" msgstr "確認のためにパスワードを入力した後、互換性のある認証アプリまたはデバイスを使用して2要素認証を設定できます:" @@ -277,12 +282,16 @@ msgstr "アルバム" msgid "Album Backups" msgstr "アルバムのバックアップ" -#: src/page/albums.vue:674 +#: src/page/albums.vue:685 msgid "Album created" msgstr "アルバムが作成されました" -#: src/app/routes.js:176 src/component/album/toolbar.vue:51 -#: src/component/navigation.vue:604 src/component/navigation.vue:1882 +#: src/page/album/photos.vue:589 +msgid "Album deleted" +msgstr "アルバム削除" + +#: src/app/routes.js:184 src/component/album/toolbar.vue:55 +#: src/component/navigation.vue:607 src/component/navigation.vue:1922 #: src/component/photo/edit/info.vue:220 src/options/options.js:198 msgid "Albums" msgstr "アルバム" @@ -295,7 +304,7 @@ msgstr "アルバムが削除されました" msgid "All" msgstr "すべて" -#: src/page/albums.vue:465 +#: src/page/albums.vue:470 msgid "All %{n} albums loaded" msgstr "%{n} 個のアルバムをすべて読み込みました" @@ -311,8 +320,8 @@ msgstr "%{n} 人をすべて読み込みました" msgid "All Cameras" msgstr "すべてのカメラ" -#: src/component/photo/toolbar.vue:74 src/page/albums.vue:44 -#: src/page/albums.vue:240 src/page/albums.vue:746 +#: src/component/photo/toolbar.vue:74 src/page/albums.vue:45 +#: src/page/albums.vue:242 src/page/albums.vue:757 msgid "All Categories" msgstr "すべてのカテゴリ" @@ -344,7 +353,7 @@ msgstr "すべての月" msgid "All originals" msgstr "すべての originals" -#: src/component/photo/toolbar.vue:76 src/page/albums.vue:93 +#: src/component/photo/toolbar.vue:76 src/page/albums.vue:94 msgid "All Years" msgstr "すべての年" @@ -356,7 +365,7 @@ msgstr "代わりに、Nextcloud などの WebDAV サーバから直接ファイ msgid "Altitude" msgstr "高度" -#: src/component/photo/edit/details.vue:272 +#: src/component/photo/edit/details.vue:297 msgid "Altitude (m)" msgstr "高度 (m)" @@ -364,8 +373,7 @@ msgstr "高度 (m)" msgid "AM" msgstr "AM" -#: src/app/routes.js:257 src/component/navigation.vue:791 -#: src/component/photo/edit/files.vue:364 +#: src/app/routes.js:265 src/component/photo/edit/files.vue:364 #: src/component/photo/view/cards.vue:327 #: src/component/photo/view/cards.vue:511 src/component/photo/view/list.vue:184 #: src/component/photo/view/mosaic.vue:171 src/options/options.js:301 @@ -376,43 +384,47 @@ msgstr "アニメーション" msgid "Animation" msgstr "アニメーション" +#: src/component/navigation.vue:797 +msgid "Animations" +msgstr "アニメーション" + #: src/component/share/dialog.vue:207 msgid "Any private photos and videos remain private and won't be shared." msgstr "すべてのプライベートな写真や動画はプライベートのまま保管され、共有されることはありません。" -#: src/component/service/edit.vue:372 +#: src/component/service/edit.vue:373 msgid "API Key" msgstr "API キー" -#: src/page/admin/sessions.vue:357 src/options/auth.js:25 +#: src/page/admin/sessions.vue:361 src/options/auth.js:26 msgid "Application" msgstr "アプリケーション" -#: src/component/photo/edit/details.vue:641 +#: src/component/photo/edit/details.vue:615 msgid "Apply" msgstr "適用" #: src/component/photo/clipboard.vue:64 -#: src/component/photo/edit/details.vue:640 +#: src/component/photo/edit/details.vue:614 #: src/component/photo/view/cards.vue:416 msgid "Approve" msgstr "承認" -#: src/page/settings/account.vue:374 src/component/settings/apps.vue:91 +#: src/page/settings/account.vue:378 src/component/settings/apps.vue:94 msgid "Apps and Devices" msgstr "アプリとデバイス" -#: src/app/routes.js:287 src/component/lightbox.vue:1207 -#: src/component/navigation.vue:555 src/component/photo/clipboard.vue:142 +#: src/app/routes.js:295 src/component/lightbox.vue:1207 +#: src/component/navigation.vue:557 src/component/photo/clipboard.vue:142 #: src/component/photo/view/cards.vue:398 src/page/settings/general.vue:432 msgid "Archive" msgstr "アーカイブ" -#: src/component/lightbox.vue:1982 src/component/photo/edit/info.vue:433 +#: src/component/lightbox.vue:2002 src/component/photo/edit/info.vue:433 msgid "Archived" msgstr "アーカイブ済み" -#: src/component/photo/archive/dialog.vue:34 +#: src/component/photo/archive/dialog.vue:35 msgid "Are you sure you want to archive the selection?" msgstr "本当に選択した項目をアーカイブしますか?" @@ -420,19 +432,23 @@ msgstr "本当に選択した項目をアーカイブしますか?" msgid "Are you sure you want to delete these albums?" msgstr "本当にこれらのアルバムを削除しますか?" -#: src/component/label/delete/dialog.vue:34 +#: src/component/label/delete/dialog.vue:35 msgid "Are you sure you want to delete these labels?" msgstr "本当にこれらのラベルを削除しますか?" -#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:36 +#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:37 msgid "Are you sure you want to delete this account?" msgstr "本当にこのアカウントを削除しますか?" +#: src/component/album/toolbar.vue:136 +msgid "Are you sure you want to delete this album?" +msgstr "本当にこのアルバムを削除したいのか?" + #: src/component/photo/clipboard.vue:199 msgid "Are you sure you want to permanently delete these pictures?" msgstr "本当にこの写真を永久に削除しますか?" -#: src/component/file/delete/dialog.vue:34 +#: src/component/file/delete/dialog.vue:35 msgid "Are you sure you want to permanently delete this file?" msgstr "本当にこのファイルを完全に削除しますか?" @@ -441,7 +457,7 @@ msgstr "本当にこのファイルを完全に削除しますか?" msgid "Are you sure?" msgstr "本当に実行しますか ?" -#: src/component/photo/edit/details.vue:537 +#: src/component/photo/edit/details.vue:511 msgid "Artist" msgstr "アーティスト" @@ -449,14 +465,14 @@ msgstr "アーティスト" msgid "Aspect Ratio" msgstr "アスペクト比" -#: src/app/routes.js:250 src/component/navigation.vue:770 +#: src/app/routes.js:258 src/component/navigation.vue:776 #: src/options/options.js:297 msgid "Audio" msgstr "オーディオ" -#: src/component/user/add/dialog.vue:190 src/component/user/edit/dialog.vue:309 -#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:281 -#: src/page/admin/users.vue:75 +#: src/component/user/add/dialog.vue:191 src/component/user/edit/dialog.vue:310 +#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:282 +#: src/page/admin/users.vue:77 msgid "Authentication" msgstr "認証" @@ -464,11 +480,11 @@ msgstr "認証" msgid "Auto" msgstr "自動" -#: src/component/settings/apps.vue:151 +#: src/component/settings/apps.vue:154 msgid "Back" msgstr "戻る" -#: src/component/scroll.vue:20 +#: src/component/scroll.vue:18 msgid "Back to top" msgstr "トップに戻る" @@ -480,26 +496,26 @@ msgstr "バックアップ" msgid "Badge" msgstr "バッジ" -#: src/component/user/edit/dialog.vue:361 #: src/component/user/edit/dialog.vue:362 +#: src/component/user/edit/dialog.vue:363 msgid "Base Path" msgstr "ベースパス" -#: src/page/about/about.vue:95 src/page/connect.vue:220 +#: src/page/about/about.vue:96 src/page/connect.vue:222 msgid "Become a member today, support our mission and enjoy our member benefits!" msgstr "今すぐ会員になって、私たちのミッションをサポートし、会員特典を楽しんでください!" -#: src/component/confirm/sponsor.vue:51 src/page/about/about.vue:99 +#: src/component/confirm/sponsor.vue:52 src/page/about/about.vue:100 msgid "Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services." msgstr "100%自己資金で運営しているため、私たちはお客様のデータを決して販売せず、私たちのソフトウェアとサービスについて常に透明性を保つことをお約束できます。" -#: src/component/user/edit/dialog.vue:258 -#: src/component/user/edit/dialog.vue:259 src/page/settings/account.vue:227 +#: src/component/user/edit/dialog.vue:259 +#: src/component/user/edit/dialog.vue:260 src/page/settings/account.vue:227 #: src/page/settings/account.vue:228 msgid "Bio" msgstr "自己紹介" -#: src/page/settings/account.vue:431 +#: src/page/settings/account.vue:437 msgid "Birth Date" msgstr "生年月日" @@ -520,7 +536,7 @@ msgid "Brown" msgstr "茶" #: src/component/photo/edit/files.vue:263 src/component/photo/toolbar.vue:141 -#: src/component/upload/dialog.vue:240 +#: src/component/upload/dialog.vue:242 msgid "Browse" msgstr "ブラウズ" @@ -548,16 +564,16 @@ msgstr "バグ報告" msgid "Busy, please wait…" msgstr "処理中です。しばらくお待ちください…" -#: src/page/connect.vue:317 +#: src/page/connect.vue:319 msgid "By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct." msgstr "当社が提供するソフトウェアおよびサービスを利用することにより、お客様は当社の利用規約、プライバシーポリシー、および行動規範に同意したものとみなされます。" -#: src/app/routes.js:189 src/component/navigation.vue:1081 +#: src/app/routes.js:197 src/component/navigation.vue:1097 #: src/options/options.js:204 src/page/settings/general.vue:205 msgid "Calendar" msgstr "カレンダー" -#: src/component/photo/edit/details.vue:346 src/component/photo/toolbar.vue:232 +#: src/component/photo/edit/details.vue:320 src/component/photo/toolbar.vue:234 #: src/component/photo/view/cards.vue:467 src/component/photo/view/list.vue:116 msgid "Camera" msgstr "カメラ" @@ -570,12 +586,12 @@ msgstr "カメラのシリアル" msgid "Can't access your authenticator app or device?" msgstr "認証アプリやデバイスにアクセスできませんか?" -#: src/page/album/photos.vue:317 src/page/photos.vue:450 +#: src/page/album/photos.vue:322 src/page/photos.vue:455 msgid "Can't load more, limit reached" msgstr "制限に達したため、これ以上読み込めません" #: src/common/clipboard.js:102 src/common/clipboard.js:139 -#: src/page/albums.vue:684 src/page/albums.vue:700 src/page/labels.vue:293 +#: src/page/albums.vue:695 src/page/albums.vue:711 src/page/labels.vue:293 #: src/page/labels.vue:313 src/page/library/browse.vue:233 #: src/page/library/browse.vue:249 src/page/people/new.vue:278 #: src/page/people/new.vue:294 src/page/people/recognized.vue:305 @@ -584,26 +600,31 @@ msgid "Can't select more items" msgstr "これ以上項目を選択することはできません" #: src/component/session/remove/dialog.vue:45 -#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:473 -#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:119 +#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:474 +#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:120 #: src/component/album/delete/dialog.vue:43 -#: src/component/album/edit/dialog.vue:199 src/component/confirm/dialog.vue:43 -#: src/component/file/delete/dialog.vue:47 -#: src/component/label/delete/dialog.vue:47 -#: src/component/label/edit/dialog.vue:107 -#: src/component/people/edit/dialog.vue:120 +#: src/component/album/edit/dialog.vue:200 src/component/confirm/dialog.vue:43 +#: src/component/file/delete/dialog.vue:48 +#: src/component/label/delete/dialog.vue:48 +#: src/component/label/edit/dialog.vue:108 +#: src/component/location/dialog.vue:200 +#: src/component/people/edit/dialog.vue:121 #: src/component/photo/album/dialog.vue:78 src/component/service/add.vue:19 -#: src/component/service/edit.vue:455 src/component/service/remove.vue:49 -#: src/component/service/upload.vue:117 src/component/settings/apps.vue:352 -#: src/component/settings/passcode.vue:249 -#: src/component/settings/passcode.vue:333 -#: src/component/settings/password.vue:159 src/component/share/dialog.vue:28 -#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:123 +#: src/component/service/edit.vue:456 src/component/service/remove.vue:50 +#: src/component/service/upload.vue:118 src/component/settings/apps.vue:355 +#: src/component/settings/passcode.vue:252 +#: src/component/settings/passcode.vue:336 +#: src/component/settings/password.vue:160 src/component/share/dialog.vue:28 +#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:124 #: src/page/library/import.vue:119 src/page/library/index.vue:128 msgid "Cancel" msgstr "キャンセル" -#: src/component/photo/edit/details.vue:87 src/component/photo/edit/info.vue:61 +#: src/common/util.js:863 src/common/util.js:870 +msgid "Cannot copy to clipboard" +msgstr "クリップボードにコピーできない" + +#: src/component/photo/edit/details.vue:89 src/component/photo/edit/info.vue:63 #: src/component/photo/edit/labels.vue:42 #: src/component/photo/view/cards.vue:445 src/component/sidebar/info.vue:72 msgid "Caption" @@ -617,17 +638,17 @@ msgstr "カード" msgid "Carousel slide {0} of {1}" msgstr "カルーセルスライド {1} 中の {0}" -#: src/page/about/feedback.vue:82 src/page/about/feedback.vue:83 -#: src/component/album/edit/dialog.vue:128 src/component/photo/toolbar.vue:397 +#: src/page/about/feedback.vue:83 src/page/about/feedback.vue:84 +#: src/component/album/edit/dialog.vue:129 src/component/photo/toolbar.vue:399 #: src/page/albums.vue:187 msgid "Category" msgstr "カテゴリ" -#: src/component/user/edit/dialog.vue:191 src/page/settings/account.vue:201 +#: src/component/user/edit/dialog.vue:192 src/page/settings/account.vue:201 msgid "Change Avatar" msgstr "アバターを変更" -#: src/page/settings/account.vue:297 src/component/settings/password.vue:48 +#: src/page/settings/account.vue:297 src/component/settings/password.vue:49 msgid "Change Password" msgstr "パスワードの変更" @@ -644,17 +665,17 @@ msgid "Change private flag" msgstr "プライベート状態を変更" #: src/component/user/add/dialog.vue:108 src/component/user/add/dialog.vue:113 -#: src/component/user/edit/dialog.vue:90 src/component/user/edit/dialog.vue:95 +#: src/component/user/edit/dialog.vue:91 src/component/user/edit/dialog.vue:96 #: src/page/settings/account.vue:121 src/page/settings/account.vue:126 msgid "Changes could not be saved" msgstr "変更を保存できませんでした" -#: src/component/user/edit/dialog.vue:83 src/component/user/edit/dialog.vue:159 +#: src/component/user/edit/dialog.vue:84 src/component/user/edit/dialog.vue:160 #: src/component/album/edit/dialog.vue:73 -#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1941 +#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1961 #: src/component/photo/edit/files.vue:162 src/component/service/edit.vue:90 #: src/component/share/dialog.vue:92 src/component/share/dialog.vue:111 -#: src/page/albums.vue:677 src/page/people/recognized.vue:119 +#: src/page/albums.vue:688 src/page/people/recognized.vue:119 #: src/page/settings/advanced.vue:62 src/page/settings/content.vue:62 #: src/page/settings/general.vue:108 msgid "Changes successfully saved" @@ -668,7 +689,7 @@ msgstr "詳細設定の変更を反映するには再起動が必要です。" msgid "Checked" msgstr "選択済み" -#: src/component/photo/edit/files.vue:495 +#: src/component/photo/edit/files.vue:497 msgid "Chroma" msgstr "彩度" @@ -684,24 +705,24 @@ msgstr "クリーンアップ" msgid "Clear {0}" msgstr "{0} をクリア" -#: src/options/auth.js:11 src/options/auth.js:23 src/options/auth.js:43 +#: src/options/auth.js:12 src/options/auth.js:24 src/options/auth.js:44 msgid "Client" msgstr "クライアント" -#: src/options/auth.js:24 +#: src/options/auth.js:25 msgid "Client Credentials" msgstr "クライアント資格情報" -#: src/page/admin/sessions.vue:529 src/component/lightbox.vue:284 -#: src/component/lightbox.vue:1009 src/component/lightbox.vue:1010 -#: src/component/photo/edit/details.vue:627 src/component/photo/toolbar.vue:160 -#: src/component/settings/apps.vue:224 src/component/settings/apps.vue:437 -#: src/component/settings/passcode.vue:148 -#: src/component/settings/passcode.vue:456 -#: src/component/settings/passcode.vue:497 -#: src/component/settings/webdav.vue:131 src/component/share/dialog.vue:231 +#: src/component/user/edit/dialog.vue:474 src/page/admin/sessions.vue:536 +#: src/component/lightbox.vue:284 src/component/lightbox.vue:1009 +#: src/component/lightbox.vue:1010 src/component/photo/edit/details.vue:601 +#: src/component/photo/toolbar.vue:161 src/component/settings/apps.vue:227 +#: src/component/settings/apps.vue:440 src/component/settings/passcode.vue:151 +#: src/component/settings/passcode.vue:459 +#: src/component/settings/passcode.vue:500 +#: src/component/settings/webdav.vue:132 src/component/share/dialog.vue:231 #: src/component/sidebar/info.vue:26 src/component/update.vue:57 -#: src/component/upload/dialog.vue:228 src/locales.js:206 +#: src/component/upload/dialog.vue:230 src/locales.js:206 #: src/page/library/errors.vue:253 msgid "Close" msgstr "閉じる" @@ -710,11 +731,11 @@ msgstr "閉じる" msgid "Codec" msgstr "コーデック" -#: src/component/photo/toolbar.vue:369 +#: src/component/photo/toolbar.vue:371 msgid "Color" msgstr "色" -#: src/component/photo/edit/files.vue:483 +#: src/component/photo/edit/files.vue:485 msgid "Color Profile" msgstr "カラープロファイル" @@ -722,7 +743,7 @@ msgstr "カラープロファイル" msgid "Colors" msgstr "色" -#: src/page/connect.vue:260 src/page/connect.vue:269 +#: src/page/connect.vue:262 src/page/connect.vue:271 msgid "Compare Editions" msgstr "エディションを比較" @@ -735,17 +756,18 @@ msgstr "完全に再スキャン" msgid "Confidence" msgstr "信頼度" +#: src/component/location/dialog.vue:212 #: src/component/photo/album/dialog.vue:90 -#: src/component/settings/passcode.vue:261 +#: src/component/settings/passcode.vue:264 msgid "Confirm" msgstr "確認" -#: src/component/service/add.vue:20 src/page/settings/services.vue:187 +#: src/component/service/add.vue:20 src/page/settings/services.vue:191 msgid "Connect" msgstr "接続" -#: src/page/settings/account.vue:401 src/component/settings/webdav.vue:45 -#: src/page/settings/services.vue:167 +#: src/page/settings/account.vue:406 src/component/settings/webdav.vue:46 +#: src/page/settings/services.vue:170 msgid "Connect via WebDAV" msgstr "WebDAV 経由で接続" @@ -753,22 +775,22 @@ msgstr "WebDAV 経由で接続" msgid "Connected" msgstr "接続済み" -#: src/page/settings/account.vue:640 src/page/settings/account.vue:532 +#: src/page/settings/account.vue:646 src/page/settings/account.vue:538 msgid "Contact Details" msgstr "お問い合わせ詳細" -#: src/page/about/feedback.vue:37 src/page/connect.vue:132 -#: src/page/connect.vue:136 +#: src/page/about/feedback.vue:37 src/page/connect.vue:133 +#: src/page/connect.vue:137 msgid "Contact Us" msgstr "お問い合わせ" #: src/page/albums.vue:433 src/page/labels.vue:237 -#: src/page/people/recognized.vue:306 +#: src/page/people/recognized.vue:310 msgid "Contains %{n} pictures." msgstr "%{n} 枚の写真が含まれています。" #: src/page/albums.vue:427 src/page/labels.vue:231 -#: src/page/people/recognized.vue:300 +#: src/page/people/recognized.vue:304 msgid "Contains one picture." msgstr "1 枚の写真が含まれています。" @@ -776,7 +798,7 @@ msgstr "1 枚の写真が含まれています。" msgid "Content" msgstr "内容" -#: src/component/settings/apps.vue:163 +#: src/component/settings/apps.vue:166 msgid "Continue" msgstr "続行" @@ -784,7 +806,7 @@ msgstr "続行" msgid "Continue with %{provider}" msgstr "プロバイダー %{provider} で続行" -#: src/options/admin.js:18 src/options/auth.js:9 +#: src/options/admin.js:22 src/options/auth.js:10 msgid "Contributor" msgstr "貢献者" @@ -792,15 +814,15 @@ msgstr "貢献者" msgid "Converting" msgstr "変換しています" -#: src/common/util.js:846 +#: src/common/util.js:856 msgid "Copied to clipboard" msgstr "クリップボードにコピーしました" -#: src/component/settings/apps.vue:250 src/component/settings/passcode.vue:358 +#: src/component/settings/apps.vue:253 src/component/settings/passcode.vue:361 msgid "Copy" msgstr "コピー" -#: src/component/photo/edit/details.vue:516 +#: src/component/photo/edit/details.vue:490 msgid "Copyright" msgstr "著作権" @@ -808,8 +830,8 @@ msgstr "著作権" msgid "Couldn't find anything." msgstr "何も見つかりませんでした。" -#: src/page/settings/account.vue:685 src/component/photo/edit/details.vue:242 -#: src/component/photo/toolbar.vue:203 src/page/settings/account.vue:577 +#: src/page/settings/account.vue:691 src/component/photo/edit/details.vue:268 +#: src/component/photo/toolbar.vue:205 src/page/settings/account.vue:583 msgid "Country" msgstr "国" @@ -833,7 +855,7 @@ msgstr "アルバムのメタデータをバックアップする YAML ファイ msgid "Create YAML sidecar files to back up picture metadata." msgstr "画像のメタデータをバックアップするために YAML サイドカーファイルを作成します。" -#: src/page/admin/sessions.vue:417 src/component/photo/edit/info.vue:412 +#: src/page/admin/sessions.vue:422 src/component/photo/edit/info.vue:412 msgid "Created" msgstr "作成日時" @@ -845,11 +867,11 @@ msgstr "次の項目のサムネイルを作成しています" msgid "Cubic: Moderate Quality, Good Performance" msgstr "Cubic: 適度な品質、良いパフォーマンス" -#: src/component/settings/password.vue:85 +#: src/component/settings/password.vue:86 msgid "Current Password" msgstr "現在のパスワード" -#: src/options/themes.js:919 src/options/themes.js:928 +#: src/options/themes.js:920 src/options/themes.js:929 msgid "Custom" msgstr "カスタム" @@ -865,11 +887,11 @@ msgstr "毎日" msgid "Database Backups" msgstr "データベースのバックアップ" -#: src/page/settings/account.vue:450 src/component/photo/edit/details.vue:110 +#: src/page/settings/account.vue:456 src/component/photo/edit/details.vue:112 msgid "Day" msgstr "日" -#: src/component/settings/passcode.vue:445 +#: src/component/settings/passcode.vue:448 msgid "Deactivate" msgstr "無効化" @@ -877,36 +899,40 @@ msgstr "無効化" msgid "Debug Logs" msgstr "デバッグログ" -#: src/options/admin.js:31 src/page/admin/sessions.vue:136 -#: src/page/admin/users.vue:176 src/component/photo/edit/info.vue:47 +#: src/options/admin.js:35 src/page/admin/sessions.vue:136 +#: src/page/admin/users.vue:178 src/component/photo/edit/info.vue:47 #: src/component/photo/edit/info.vue:110 src/model/session.js:66 -#: src/model/user.js:246 src/options/auth.js:20 src/options/auth.js:21 -#: src/options/auth.js:39 src/options/auth.js:40 src/options/options.js:196 +#: src/model/user.js:246 src/options/auth.js:21 src/options/auth.js:22 +#: src/options/auth.js:40 src/options/auth.js:41 src/options/options.js:196 #: src/options/options.js:232 src/options/options.js:316 -#: src/options/themes.js:773 +#: src/options/themes.js:774 msgid "Default" msgstr "既定" -#: src/component/service/edit.vue:123 +#: src/component/service/edit.vue:124 msgid "Default Folder" msgstr "既定のフォルダ" #: src/component/session/remove/dialog.vue:56 #: src/component/user/remove/dialog.vue:56 src/component/album/clipboard.vue:97 -#: src/component/album/delete/dialog.vue:54 -#: src/component/file/delete/dialog.vue:58 src/component/label/clipboard.vue:58 -#: src/component/label/delete/dialog.vue:58 +#: src/component/album/delete/dialog.vue:54 src/component/album/toolbar.vue:137 +#: src/component/file/delete/dialog.vue:59 src/component/label/clipboard.vue:58 +#: src/component/label/delete/dialog.vue:59 #: src/component/photo/clipboard.vue:168 src/component/photo/edit/files.vue:238 -#: src/component/service/remove.vue:60 src/component/share/dialog.vue:170 +#: src/component/service/remove.vue:61 src/component/share/dialog.vue:170 #: src/page/settings/general.vue:457 msgid "Delete" msgstr "削除" +#: src/component/album/toolbar.vue:133 +msgid "Delete Album" +msgstr "アルバムを削除する" + #: src/component/photo/toolbar.vue:119 src/page/library/errors.vue:95 msgid "Delete All" msgstr "すべて削除" -#: src/component/photo/toolbar.vue:433 src/page/library/errors.vue:193 +#: src/component/photo/toolbar.vue:435 src/page/library/errors.vue:193 msgid "Delete all?" msgstr "すべて削除しますか?" @@ -914,16 +940,16 @@ msgstr "すべて削除しますか?" msgid "Delete orphaned index entries, sidecar files and thumbnails." msgstr "孤立したインデックスエントリ、サイドカーファイル、サムネイルを削除します。" -#: src/component/album/edit/dialog.vue:107 src/page/albums.vue:411 +#: src/component/album/edit/dialog.vue:108 src/page/albums.vue:411 msgid "Description" msgstr "概要" -#: src/component/settings/webdav.vue:115 +#: src/component/settings/webdav.vue:116 msgid "Detailed instructions can be found in our User Guide." msgstr "詳しい手順についてはユーザーガイドを参照してください。" -#: src/component/photo/edit/dialog.vue:156 -#: src/component/photo/edit/dialog.vue:173 +#: src/component/photo/edit/dialog.vue:162 +#: src/component/photo/edit/dialog.vue:181 msgid "Details" msgstr "詳細" @@ -987,8 +1013,8 @@ msgstr "ベクターグラフィックのサポートを無効にします。" msgid "Disables video transcoding and thumbnail extraction." msgstr "ビデオのトランスコーディングとサムネイル抽出を無効にします。" -#: src/app/routes.js:558 src/app/routes.js:565 src/app/routes.js:572 -#: src/app/routes.js:579 +#: src/app/routes.js:566 src/app/routes.js:573 src/app/routes.js:580 +#: src/app/routes.js:587 msgid "Discover" msgstr "発見" @@ -996,9 +1022,9 @@ msgstr "発見" msgid "Dismiss" msgstr "解任する" -#: src/component/user/add/dialog.vue:133 src/component/user/add/dialog.vue:134 -#: src/component/user/edit/dialog.vue:163 -#: src/component/user/edit/dialog.vue:164 src/page/admin/users.vue:72 +#: src/component/user/add/dialog.vue:134 src/component/user/add/dialog.vue:135 +#: src/component/user/edit/dialog.vue:164 +#: src/component/user/edit/dialog.vue:165 src/page/admin/users.vue:74 #: src/page/settings/account.vue:149 src/page/settings/account.vue:151 msgid "Display Name" msgstr "表示名" @@ -1013,12 +1039,12 @@ msgstr "検索結果に画像のタイトルを表示する。" #: src/component/photo/view/cards.vue:339 #: src/component/photo/view/cards.vue:521 -#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:174 +#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:176 #: src/options/options.js:309 msgid "Document" msgstr "ドキュメント" -#: src/component/navigation.vue:480 +#: src/component/navigation.vue:482 msgid "Documents" msgstr "ドキュメント" @@ -1034,16 +1060,16 @@ msgstr "画像の変換に ImageMagick を使用しないようにします。" msgid "Don't use RawTherapee to convert RAW images." msgstr "RAW ファイルの変換に RawTherapee を使用しないようにします。" -#: src/component/settings/apps.vue:238 src/component/share/dialog.vue:29 +#: src/component/settings/apps.vue:241 src/component/share/dialog.vue:29 msgid "Done" msgstr "完了" -#: src/component/upload/dialog.vue:135 src/page/library/import.vue:46 +#: src/component/upload/dialog.vue:137 src/page/library/import.vue:46 #: src/page/library/index.vue:52 msgid "Done." msgstr "完了しました。" -#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:118 +#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:123 #: src/component/file/clipboard.vue:48 src/component/lightbox.vue:1235 #: src/component/people/clipboard.vue:47 src/component/photo/clipboard.vue:116 #: src/component/photo/edit/files.vue:168 src/page/settings/content.vue:331 @@ -1055,7 +1081,7 @@ msgstr "ダウンロード" msgid "Download only original media files, without any automatically generated files." msgstr "自動生成されたファイルを使用せず、オリジナルのメディアファイルのみをダウンロードするようにします。" -#: src/component/service/edit.vue:237 +#: src/component/service/edit.vue:238 msgid "Download remote files" msgstr "リモートにあるファイルをダウンロード" @@ -1063,9 +1089,9 @@ msgstr "リモートにあるファイルをダウンロード" msgid "Download single files and zip archives." msgstr "単一のファイルと zip アーカイブをダウンロードします。" -#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:157 +#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:172 #: src/component/file/clipboard.vue:61 src/component/label/clipboard.vue:86 -#: src/component/lightbox.vue:2021 src/component/people/clipboard.vue:59 +#: src/component/lightbox.vue:2041 src/component/people/clipboard.vue:59 #: src/component/photo/clipboard.vue:220 src/component/photo/edit/files.vue:119 #: src/component/photo/view/cards.vue:169 src/component/photo/view/list.vue:142 #: src/page/library/browse.vue:139 @@ -1080,7 +1106,7 @@ msgstr "ダウンスケーリングフィルター" msgid "Drag and drop files here" msgstr "ここにファイルをドラッグ&ドロップしてください" -#: src/page/about/feedback.vue:61 +#: src/page/about/feedback.vue:62 msgid "Due to the high volume of emails we receive, our team may be unable to get back to you immediately." msgstr "大量のメールを受信しているため、すぐにお返事できない場合があります。" @@ -1100,23 +1126,23 @@ msgstr "動的プレビュー" msgid "Dynamic Size Limit: %{n}px" msgstr "動的サイズの制限: %{n} px" -#: src/page/about/feedback.vue:141 src/page/about/feedback.vue:140 +#: src/page/about/feedback.vue:142 src/page/about/feedback.vue:141 msgid "E-Mail" msgstr "メール" -#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:89 +#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:94 #: src/component/lightbox.vue:1136 src/component/lightbox.vue:1137 #: src/component/photo/clipboard.vue:90 src/page/settings/general.vue:407 msgid "Edit" msgstr "編集" -#: src/component/album/edit/dialog.vue:54 -#: src/component/label/edit/dialog.vue:52 -#: src/component/people/edit/dialog.vue:52 +#: src/component/album/edit/dialog.vue:55 +#: src/component/label/edit/dialog.vue:53 +#: src/component/people/edit/dialog.vue:53 msgid "Edit %{s}" msgstr "%{s} を編集" -#: src/component/user/edit/dialog.vue:61 src/component/service/edit.vue:79 +#: src/component/user/edit/dialog.vue:62 src/component/service/edit.vue:79 msgid "Edit Account" msgstr "アカウントを編集" @@ -1128,8 +1154,8 @@ msgstr "写真を編集" msgid "Edited" msgstr "編集済み" -#: src/component/user/add/dialog.vue:151 src/component/user/edit/dialog.vue:213 -#: src/page/settings/account.vue:171 src/page/settings/account.vue:593 +#: src/component/user/add/dialog.vue:152 src/component/user/edit/dialog.vue:214 +#: src/page/settings/account.vue:171 src/page/settings/account.vue:599 msgid "Email" msgstr "メールアドレス" @@ -1145,7 +1171,7 @@ msgstr "不完全または不安定な新機能を有効にします。" msgid "Enables RAW converter presets. May reduce performance." msgstr "RAW 現像機のプリセットを有効にします。パフォーマンスが低下する場合があります。" -#: src/component/settings/passcode.vue:127 +#: src/component/settings/passcode.vue:130 msgid "Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account." msgstr "2要素認証を有効にすると、ログイン時にランダムに生成された確認コードが必要になるため、誰かがパスワードを使っても、アカウントにアクセスできなくなります。" @@ -1157,7 +1183,7 @@ msgstr "日付入力" msgid "Enter dates" msgstr "日付入力" -#: src/component/settings/passcode.vue:213 src/page/auth/login.vue:104 +#: src/component/settings/passcode.vue:216 src/page/auth/login.vue:104 msgid "Enter the code generated by your authenticator app:" msgstr "認証アプリが生成したコードを入力してください:" @@ -1165,7 +1191,7 @@ msgstr "認証アプリが生成したコードを入力してください:" msgid "Enter verification code" msgstr "認証コードを入力してください" -#: src/component/settings/apps.vue:109 +#: src/component/settings/apps.vue:112 msgid "Enter your password to confirm the action and continue:" msgstr "パスワードを入力して操作を確認し、続行します:" @@ -1174,7 +1200,7 @@ msgstr "パスワードを入力して操作を確認し、続行します:" msgid "Error" msgstr "エラー" -#: src/app/routes.js:374 src/component/navigation.vue:1348 +#: src/app/routes.js:382 src/component/navigation.vue:1372 msgid "Errors" msgstr "エラー" @@ -1210,13 +1236,13 @@ msgstr "ビデオ、ライブフォト、XMP を完全にサポートするに msgid "Experimental Features" msgstr "実験的な機能" -#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:453 -#: src/component/service/edit.vue:157 src/component/settings/apps.vue:73 -#: src/component/settings/apps.vue:326 src/component/share/dialog.vue:62 +#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:458 +#: src/component/service/edit.vue:158 src/component/settings/apps.vue:73 +#: src/component/settings/apps.vue:329 src/component/share/dialog.vue:62 msgid "Expires" msgstr "有効期限" -#: src/component/photo/edit/details.vue:396 +#: src/component/photo/edit/details.vue:370 msgid "Exposure" msgstr "露出" @@ -1224,7 +1250,7 @@ msgstr "露出" msgid "Extract still images and generate thumbnails while indexing." msgstr "インデックス作成中に静止画像を抽出し、サムネイルを生成します。" -#: src/component/photo/edit/details.vue:444 +#: src/component/photo/edit/details.vue:418 msgid "F Number" msgstr "F値" @@ -1240,7 +1266,7 @@ msgstr "顔" msgid "Failed removing link" msgstr "リンクを削除できませんでした" -#: src/page/connect.vue:106 src/page/connect.vue:110 +#: src/page/connect.vue:107 src/page/connect.vue:111 msgid "Failed to connect account." msgstr "アカウントの接続に失敗しました。" @@ -1248,8 +1274,8 @@ msgstr "アカウントの接続に失敗しました。" msgid "Failed updating link" msgstr "リンクを更新できませんでした" -#: src/component/user/edit/dialog.vue:143 -#: src/component/user/edit/dialog.vue:144 src/page/settings/account.vue:128 +#: src/component/user/edit/dialog.vue:144 +#: src/component/user/edit/dialog.vue:145 src/page/settings/account.vue:128 #: src/page/settings/account.vue:130 msgid "Family Name" msgstr "姓" @@ -1258,15 +1284,15 @@ msgstr "姓" msgid "Fast" msgstr "高速" -#: src/component/album/edit/dialog.vue:159 -#: src/component/label/edit/dialog.vue:85 -#: src/component/people/edit/dialog.vue:85 +#: src/component/album/edit/dialog.vue:160 +#: src/component/label/edit/dialog.vue:86 +#: src/component/people/edit/dialog.vue:86 #: src/component/photo/edit/info.vue:287 msgid "Favorite" msgstr "お気に入り" -#: src/app/routes.js:222 src/component/navigation.vue:893 -#: src/options/options.js:202 src/page/albums.vue:97 +#: src/app/routes.js:230 src/component/navigation.vue:903 +#: src/options/options.js:202 src/page/albums.vue:98 msgid "Favorites" msgstr "お気に入り" @@ -1274,7 +1300,7 @@ msgstr "お気に入り" msgid "Feature Request" msgstr "機能のリクエスト" -#: src/component/navigation.vue:1456 +#: src/component/navigation.vue:1482 msgid "Feedback" msgstr "フィードバック" @@ -1282,11 +1308,12 @@ msgstr "フィードバック" msgid "Female" msgstr "女性" -#: src/component/photo/edit/info.vue:214 src/model/file.js:290 +#: src/component/photo/edit/info.vue:57 src/component/photo/edit/info.vue:214 +#: src/model/file.js:290 msgid "File" msgstr "ファイル" -#: src/app/routes.js:343 +#: src/app/routes.js:351 msgid "File Browser" msgstr "ファイルブラウザ" @@ -1309,8 +1336,8 @@ msgstr "ファイルサイズ" msgid "Filename" msgstr "ファイル名" -#: src/component/navigation.vue:1930 src/component/photo/edit/dialog.vue:267 -#: src/component/photo/edit/dialog.vue:284 +#: src/component/navigation.vue:1973 src/component/photo/edit/dialog.vue:279 +#: src/component/photo/edit/dialog.vue:298 msgid "Files" msgstr "ファイル" @@ -1322,26 +1349,26 @@ msgstr "「IMG_1234 (2)」や「IMG_1234 (3)」のような連名のファイル msgid "First page" msgstr "最初のページ" -#: src/component/photo/edit/details.vue:465 +#: src/component/photo/edit/details.vue:439 msgid "Focal Length" msgstr "焦点距離" -#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:118 -#: src/component/service/edit.vue:189 src/component/service/edit.vue:194 -#: src/component/service/upload.vue:90 src/component/service/upload.vue:96 +#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:119 +#: src/component/service/edit.vue:190 src/component/service/edit.vue:195 +#: src/component/service/upload.vue:91 src/component/service/upload.vue:97 #: src/model/folder.js:199 src/page/library/browse.vue:182 msgid "Folder" msgstr "フォルダ" -#: src/page/library/browse.vue:365 +#: src/page/library/browse.vue:367 msgid "Folder contains %{n} files" msgstr "フォルダには %{n} 件のファイルがあります" -#: src/page/library/browse.vue:356 +#: src/page/library/browse.vue:358 msgid "Folder is empty" msgstr "フォルダは空です" -#: src/app/routes.js:202 src/component/navigation.vue:1225 +#: src/app/routes.js:210 src/component/navigation.vue:1247 #: src/options/options.js:207 msgid "Folders" msgstr "フォルダ" @@ -1358,7 +1385,7 @@ msgstr "FPS" msgid "Frames" msgstr "フレーム" -#: src/options/auth.js:54 src/options/auth.js:64 +#: src/options/auth.js:55 src/options/auth.js:65 msgid "Full Access" msgstr "フルアクセス" @@ -1370,7 +1397,7 @@ msgstr "全画面" msgid "General" msgstr "一般" -#: src/component/settings/apps.vue:364 +#: src/component/settings/apps.vue:367 msgid "Generate" msgstr "生成" @@ -1390,8 +1417,8 @@ msgstr "生成済み" msgid "Get Started" msgstr "始める" -#: src/component/user/edit/dialog.vue:120 -#: src/component/user/edit/dialog.vue:121 src/page/settings/account.vue:106 +#: src/component/user/edit/dialog.vue:121 +#: src/component/user/edit/dialog.vue:122 src/page/settings/account.vue:106 #: src/page/settings/account.vue:108 msgid "Given Name" msgstr "名" @@ -1416,7 +1443,7 @@ msgstr "緑" msgid "Grey" msgstr "グレー" -#: src/options/admin.js:22 src/options/auth.js:10 +#: src/options/admin.js:26 src/options/auth.js:11 msgid "Guest" msgstr "ゲスト" @@ -1432,15 +1459,15 @@ msgstr "ヘルプ" msgid "Help & Support" msgstr "ヘルプ&サポート" -#: src/component/navigation.vue:1327 src/component/people/edit/dialog.vue:98 +#: src/component/navigation.vue:1351 src/component/people/edit/dialog.vue:99 msgid "Hidden" msgstr "隠し項目" -#: src/app/routes.js:358 +#: src/app/routes.js:366 msgid "Hidden Files" msgstr "隠しファイル" -#: src/page/people/new.vue:165 src/page/people/recognized.vue:205 +#: src/page/people/new.vue:166 src/page/people/recognized.vue:206 msgid "Hide" msgstr "非表示" @@ -1456,7 +1483,7 @@ msgstr "高" msgid "High Dynamic Range (HDR)" msgstr "ハイダイナミックレンジ(HDR)" -#: src/page/about/feedback.vue:103 +#: src/page/about/feedback.vue:104 msgid "How can we help?" msgstr "私達にできることはありますか?" @@ -1464,11 +1491,11 @@ msgstr "私達にできることはありますか?" msgid "Hybrid" msgstr "ハイブリッド" -#: src/component/settings/passcode.vue:389 +#: src/component/settings/passcode.vue:392 msgid "If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account." msgstr "認証アプリまたはデバイスにアクセスできなくなった場合は、回復コードを使用してアカウントに再度アクセスできます。" -#: src/component/photo/edit/info.vue:63 src/component/photo/edit/labels.vue:46 +#: src/component/photo/edit/info.vue:65 src/component/photo/edit/labels.vue:46 #: src/component/photo/view/cards.vue:532 src/model/file.js:218 #: src/options/options.js:281 msgid "Image" @@ -1478,7 +1505,7 @@ msgstr "写真" msgid "Image Quality" msgstr "画質" -#: src/page/library.vue:46 src/page/library/import.vue:152 +#: src/page/library.vue:46 src/page/library/import.vue:153 #: src/page/settings/general.vue:357 msgid "Import" msgstr "インポート" @@ -1503,8 +1530,8 @@ msgstr "%{s} をインポートしています…" msgid "Importing files to originals…" msgstr "originals にファイルをインポートしています…" -#: src/component/photo/edit/files.vue:515 -#: src/component/photo/edit/files.vue:520 +#: src/component/photo/edit/files.vue:517 +#: src/component/photo/edit/files.vue:522 msgid "in" msgstr "次の場所で" @@ -1522,11 +1549,11 @@ msgstr "スタックやアーカイブのダウンロード時に、RAW 画像 msgid "Include sidecar files when downloading stacks and archives." msgstr "スタックやアーカイブをダウンロードする際に、サイドカーファイルを含めます。" -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Increase storage size or delete files to continue." msgstr "続行するには、ストレージサイズを増やすか、ファイルを削除してください。" -#: src/component/navigation.vue:1946 src/page/library.vue:36 +#: src/component/navigation.vue:1990 src/page/library.vue:36 #: src/page/settings/content.vue:34 msgid "Index" msgstr "インデックス" @@ -1556,11 +1583,11 @@ msgstr "インフォメーション" msgid "Instance ID" msgstr "インスタンス ID" -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Insufficient storage." msgstr "ストレージが不足しています。" -#: src/component/service/edit.vue:209 +#: src/component/service/edit.vue:210 msgid "Interval" msgstr "間隔" @@ -1581,7 +1608,7 @@ msgstr "無効なアドレス" msgid "Invalid country" msgstr "無効な国" -#: src/component/photo/edit/details.vue:174 +#: src/component/photo/edit/details.vue:169 msgid "Invalid date" msgstr "無効な日付" @@ -1590,7 +1617,7 @@ msgstr "無効な日付" msgid "Invalid parameters" msgstr "無効なパラメータ" -#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:197 +#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:199 msgid "Invalid photo selected" msgstr "無効な写真が選択されました" @@ -1602,8 +1629,8 @@ msgstr "無効な時間" msgid "Invalid URL" msgstr "無効なURL" -#: src/component/settings/passcode.vue:314 -#: src/component/settings/passcode.vue:391 +#: src/component/settings/passcode.vue:317 +#: src/component/settings/passcode.vue:394 msgid "It is a one-time use code that will disable 2FA for your account when you use it." msgstr "これは1回のみ使えるコードであり、使用するとアカウントの 2FA が無効になります。" @@ -1627,7 +1654,7 @@ msgstr "JPEG サイズの制限: %{n} px" msgid "JPEGs and thumbnails are automatically rendered as needed." msgstr "JPEG とサムネイルは必要な場合に自動的に生成されます。" -#: src/component/photo/edit/details.vue:581 +#: src/component/photo/edit/details.vue:555 msgid "Keywords" msgstr "キーワード" @@ -1636,9 +1663,9 @@ msgstr "キーワード" msgid "Label" msgstr "ラベル" -#: src/app/routes.js:389 src/component/navigation.vue:1177 -#: src/component/photo/edit/dialog.vue:188 -#: src/component/photo/edit/dialog.vue:205 src/options/options.js:206 +#: src/app/routes.js:397 src/component/navigation.vue:1197 +#: src/component/photo/edit/dialog.vue:196 +#: src/component/photo/edit/dialog.vue:215 src/options/options.js:206 #: src/page/settings/general.vue:255 msgid "Labels" msgstr "ラベル" @@ -1655,11 +1682,11 @@ msgstr "ランチョス法: 鮮明な細部、最小限のノイズ" msgid "Language" msgstr "言語" -#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:435 +#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:440 msgid "Last Active" msgstr "最終アクティブ" -#: src/page/admin/users.vue:81 +#: src/page/admin/users.vue:83 msgid "Last Login" msgstr "最終ログイン" @@ -1675,42 +1702,41 @@ msgstr "最終同期" msgid "Last Used" msgstr "最終利用" -#: src/component/photo/edit/details.vue:298 #: src/component/photo/edit/info.vue:373 msgid "Latitude" msgstr "緯度" -#: src/options/admin.js:43 src/options/auth.js:29 +#: src/options/admin.js:47 src/options/auth.js:30 msgid "LDAP/AD" msgstr "LDAP/AD" -#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:86 -#: src/page/about/about.vue:62 src/page/about/about.vue:132 +#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:87 +#: src/page/about/about.vue:62 src/page/about/about.vue:133 #: src/page/connect.vue:67 src/page/help.vue:36 msgid "Learn more" msgstr "詳細はこちら" -#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:135 +#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:137 #: src/page/labels.vue:132 msgid "Learn More" msgstr "詳細はこちら" -#: src/component/navigation.vue:2017 +#: src/component/navigation.vue:2066 msgid "Legal Information" msgstr "法的情報" -#: src/component/photo/edit/details.vue:417 +#: src/component/photo/edit/details.vue:391 #: src/component/photo/view/cards.vue:480 msgid "Lens" msgstr "レンズ" -#: src/app/routes.js:443 src/app/routes.js:459 src/app/routes.js:475 -#: src/component/navigation.vue:1267 src/page/settings/general.vue:507 +#: src/app/routes.js:451 src/app/routes.js:467 src/app/routes.js:483 +#: src/component/navigation.vue:1290 src/page/settings/general.vue:507 msgid "Library" msgstr "ライブラリ" #: src/page/connect.vue:45 src/app/routes.js:69 -#: src/component/navigation.vue:1478 src/component/photo/edit/details.vue:559 +#: src/component/navigation.vue:1504 src/component/photo/edit/details.vue:533 #: src/page/about/license.vue:28 msgid "License" msgstr "ライセンス" @@ -1723,7 +1749,7 @@ msgstr "お気に入り" msgid "Lime" msgstr "黄緑" -#: src/page/library/browse.vue:369 +#: src/page/library/browse.vue:371 msgid "Limit reached, showing first %{n} files" msgstr "制限に達しました。最初の %{n} 個のファイルを表示しています" @@ -1731,7 +1757,7 @@ msgstr "制限に達しました。最初の %{n} 個のファイルを表示し msgid "Linear: Very Smooth, Best Performance" msgstr "リニア: とても滑らか、ベストパフォーマンス" -#: src/model/link.js:117 src/options/auth.js:30 src/options/auth.js:31 +#: src/model/link.js:117 src/options/auth.js:31 src/options/auth.js:32 msgid "Link" msgstr "リンク" @@ -1749,7 +1775,7 @@ msgstr "リスト表示" msgid "Live" msgstr "ライブ" -#: src/app/routes.js:236 src/component/navigation.vue:749 +#: src/app/routes.js:244 src/component/navigation.vue:755 msgid "Live Photos" msgstr "ライブ写真" @@ -1765,21 +1791,24 @@ msgstr "項目を読み込んでいます..." msgid "Loading..." msgstr "読み込み中..." -#: src/options/admin.js:35 src/options/auth.js:22 src/options/auth.js:27 +#: src/options/admin.js:39 src/options/auth.js:23 src/options/auth.js:28 #: src/options/options.js:38 src/page/settings/general.vue:107 msgid "Local" msgstr "ローカル" -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Local Time" msgstr "現地時間" -#: src/page/settings/account.vue:665 src/page/settings/account.vue:667 -#: src/component/album/edit/dialog.vue:92 src/component/photo/edit/info.vue:65 -#: src/component/photo/edit/labels.vue:48 +#: src/page/settings/account.vue:671 src/page/settings/account.vue:673 +#: src/component/album/edit/dialog.vue:93 +#: src/component/photo/edit/details.vue:38 +#: src/component/photo/edit/details.vue:116 +#: src/component/photo/edit/details.vue:210 +#: src/component/photo/edit/info.vue:67 src/component/photo/edit/labels.vue:48 #: src/component/photo/view/cards.vue:555 src/component/photo/view/list.vue:117 -#: src/component/sidebar/info.vue:107 src/page/albums.vue:99 -#: src/page/settings/account.vue:557 src/page/settings/account.vue:559 +#: src/component/sidebar/info.vue:107 src/page/albums.vue:100 +#: src/page/settings/account.vue:563 src/page/settings/account.vue:565 msgid "Location" msgstr "場所" @@ -1787,20 +1816,19 @@ msgstr "場所" msgid "Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues." msgstr "PhotoPrism が壊れたファイルを見つけたり、潜在的な問題が見つかったときはここにログメッセージが表示されます。" -#: src/component/navigation.vue:1552 src/component/navigation.vue:1840 +#: src/component/navigation.vue:1579 src/component/navigation.vue:1877 msgid "Login" msgstr "ログイン" -#: src/component/navigation.vue:1759 +#: src/component/navigation.vue:1791 msgid "Logout" msgstr "ログアウト" -#: src/component/navigation.vue:1962 src/page/library.vue:59 +#: src/component/navigation.vue:2007 src/page/library.vue:59 #: src/page/settings/general.vue:557 msgid "Logs" msgstr "ログ" -#: src/component/photo/edit/details.vue:324 #: src/component/photo/edit/info.vue:379 msgid "Longitude" msgstr "経度" @@ -1813,7 +1841,7 @@ msgstr "低" msgid "Magenta" msgstr "マゼンタ" -#: src/component/photo/edit/files.vue:489 +#: src/component/photo/edit/files.vue:491 msgid "Main Color" msgstr "メインカラー" @@ -1821,12 +1849,16 @@ msgstr "メインカラー" msgid "Male" msgstr "男性" -#: src/page/connect.vue:164 src/page/connect.vue:246 -#: src/page/about/about.vue:171 src/page/connect.vue:168 -#: src/page/connect.vue:255 +#: src/page/connect.vue:165 src/page/connect.vue:248 +#: src/page/about/about.vue:173 src/page/connect.vue:169 +#: src/page/connect.vue:257 msgid "Manage Account" msgstr "アカウント管理" +#: src/options/admin.js:10 src/options/auth.js:7 +msgid "Manager" +msgstr "マネージャー" + #: src/component/photo/edit/info.vue:49 src/component/photo/edit/labels.vue:38 msgid "Manual" msgstr "マニュアル" @@ -1843,11 +1875,11 @@ msgstr "地図" msgid "Marker" msgstr "マーカー" -#: src/component/user/add/dialog.vue:69 +#: src/component/user/add/dialog.vue:70 msgid "Maximum number of accounts has been reached." msgstr "アカウント数が上限に達しました。" -#: src/app/routes.js:229 src/component/navigation.vue:688 +#: src/app/routes.js:237 src/component/navigation.vue:693 #: src/options/options.js:199 msgid "Media" msgstr "メディア" @@ -1864,7 +1896,7 @@ msgstr "メンバーシップ" msgid "Merge %{a} with %{b}?" msgstr "%{a} を %{b} に統合しますか?" -#: src/page/about/feedback.vue:102 +#: src/page/about/feedback.vue:103 msgid "Message" msgstr "メッセージ" @@ -1876,7 +1908,7 @@ msgstr "メッセージを送信しました" msgid "Metadata" msgstr "メタデータ" -#: src/options/auth.js:56 src/options/auth.js:72 +#: src/options/auth.js:57 src/options/auth.js:73 msgid "Metrics" msgstr "メトリクス" @@ -1884,7 +1916,7 @@ msgstr "メトリクス" msgid "Minimize" msgstr "最小化" -#: src/component/photo/edit/files.vue:509 src/component/photo/edit/info.vue:367 +#: src/component/photo/edit/files.vue:511 src/component/photo/edit/info.vue:367 msgid "Missing" msgstr "紛失" @@ -1892,17 +1924,17 @@ msgstr "紛失" msgid "Missing or invalid configuration" msgstr "設定が見つからない、もしくは無効です" -#: src/app/routes.js:163 src/component/navigation.vue:1129 +#: src/app/routes.js:171 src/component/navigation.vue:1147 #: src/options/options.js:205 src/page/settings/general.vue:230 msgid "Moments" msgstr "モーメント" -#: src/component/navigation.vue:383 +#: src/component/navigation.vue:385 msgid "Monochrome" msgstr "モノクロ" -#: src/page/settings/account.vue:475 src/component/photo/edit/details.vue:137 -#: src/component/photo/toolbar.vue:342 +#: src/page/settings/account.vue:481 src/component/photo/edit/details.vue:139 +#: src/component/photo/toolbar.vue:344 msgid "Month" msgstr "月" @@ -1922,7 +1954,7 @@ msgstr "最も関連性が高い" msgid "Move Files" msgstr "ファイルを移動" -#: src/component/settings/password.vue:107 +#: src/component/settings/password.vue:108 msgid "Must have at least %{n} characters." msgstr "少なくとも %{n} 文字必要です。" @@ -1930,20 +1962,20 @@ msgstr "少なくとも %{n} 文字必要です。" msgid "Mute" msgstr "ミュート" -#: src/page/about/feedback.vue:121 src/page/about/feedback.vue:122 -#: src/component/album/edit/dialog.vue:77 -#: src/component/label/edit/dialog.vue:71 -#: src/component/people/edit/dialog.vue:71 -#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:57 +#: src/page/about/feedback.vue:122 src/page/about/feedback.vue:123 +#: src/component/album/edit/dialog.vue:78 +#: src/component/label/edit/dialog.vue:72 +#: src/component/people/edit/dialog.vue:72 +#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:59 #: src/component/photo/edit/info.vue:125 src/component/photo/edit/people.vue:36 -#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:310 -#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:286 -#: src/page/albums.vue:98 src/page/auth/login.vue:168 +#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:311 +#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:289 +#: src/page/albums.vue:99 src/page/auth/login.vue:168 #: src/page/people/new.vue:68 src/page/settings/services.vue:37 msgid "Name" msgstr "名前" -#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:60 +#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:65 #: src/component/label/edit/dialog.vue:19 #: src/component/people/edit/dialog.vue:19 #: src/component/photo/edit/labels.vue:30 @@ -1953,7 +1985,7 @@ msgstr "名前" msgid "Name too long" msgstr "名前が長すぎます" -#: src/page/admin/users.vue:204 src/options/options.js:361 +#: src/page/admin/users.vue:206 src/options/options.js:361 #: src/options/options.js:371 src/page/settings/services.vue:75 msgid "Never" msgstr "なし" @@ -1962,13 +1994,13 @@ msgstr "なし" msgid "New" msgstr "新規" -#: src/component/settings/password.vue:106 +#: src/component/settings/password.vue:107 msgid "New Password" msgstr "新しいパスワード" #: src/component/album/edit/dialog.vue:24 src/component/photo/toolbar.vue:114 #: src/component/photo/toolbar.vue:126 src/component/photo/toolbar.vue:136 -#: src/page/albums.vue:100 +#: src/page/albums.vue:101 msgid "Newest First" msgstr "新しい順" @@ -1984,15 +2016,15 @@ msgstr "次のページ" msgid "Next visual" msgstr "次のビジュアル" -#: src/component/people/merge/dialog.vue:47 -#: src/component/photo/archive/dialog.vue:47 +#: src/component/people/merge/dialog.vue:48 +#: src/component/photo/archive/dialog.vue:48 #: src/component/photo/edit/info.vue:281 src/component/photo/edit/info.vue:297 #: src/component/photo/edit/info.vue:313 src/component/photo/edit/info.vue:329 #: src/component/photo/edit/info.vue:344 msgid "No" msgstr "いいえ" -#: src/page/albums.vue:607 src/page/albums.vue:282 +#: src/page/albums.vue:612 src/page/albums.vue:282 msgid "No albums found" msgstr "アルバムが見つかりませんでした" @@ -2000,7 +2032,7 @@ msgstr "アルバムが見つかりませんでした" msgid "No data available" msgstr "データが見つかりませんでした" -#: src/page/labels.vue:523 src/page/labels.vue:155 +#: src/page/labels.vue:528 src/page/labels.vue:155 msgid "No labels found" msgstr "ラベルが見つかりませんでした" @@ -2013,15 +2045,15 @@ msgid "No more" msgstr "これ以上ありません" #: src/component/photo/edit/people.vue:34 src/page/people/new.vue:346 -#: src/page/people/new.vue:443 src/page/people/new.vue:103 -#: src/page/people/recognized.vue:531 src/page/people/recognized.vue:146 +#: src/page/people/new.vue:446 src/page/people/new.vue:103 +#: src/page/people/recognized.vue:536 src/page/people/recognized.vue:146 msgid "No people found" msgstr "人が見つかりませんでした" #: src/component/lightbox.vue:365 src/component/photo/view/cards.vue:144 #: src/component/photo/view/list.vue:82 src/component/photo/view/mosaic.vue:68 -#: src/page/album/photos.vue:488 src/page/library/browse.vue:123 -#: src/page/photos.vue:626 src/page/places.vue:624 src/page/places.vue:730 +#: src/page/album/photos.vue:499 src/page/library/browse.vue:123 +#: src/page/photos.vue:636 src/page/places.vue:624 src/page/places.vue:730 msgid "No pictures found" msgstr "写真はありません" @@ -2030,7 +2062,11 @@ msgstr "写真はありません" msgid "No recently edited pictures" msgstr "最近編集した写真はありません" -#: src/component/navigation.vue:1655 +#: src/component/location/dialog.vue:166 +msgid "No results" +msgstr "結果なし" + +#: src/component/navigation.vue:1686 msgid "No server connection" msgstr "サーバーに接続できません" @@ -2042,7 +2078,7 @@ msgstr "サーバーが設定されていません。" msgid "No services configured." msgstr "接続されているサービスはありません。" -#: src/component/confirm/sponsor.vue:72 +#: src/component/confirm/sponsor.vue:73 msgid "No thanks" msgstr "いいえ、結構です" @@ -2052,17 +2088,17 @@ msgstr "このキーワードを含む警告やエラーが見つかりません #: src/component/photo/view/cards.vue:154 src/component/photo/view/list.vue:59 #: src/component/photo/view/list.vue:92 src/component/photo/view/mosaic.vue:78 -#: src/component/upload/dialog.vue:208 +#: src/component/upload/dialog.vue:210 msgid "Non-photographic and low-quality images require a review before they appear in search results." msgstr "写真ではないものや、低品質な画像は検索結果に表示される前にレビューが必要です。" -#: src/options/admin.js:47 src/options/auth.js:32 src/options/options.js:212 +#: src/options/admin.js:51 src/options/auth.js:33 src/options/options.js:212 #: src/options/options.js:328 msgid "None" msgstr "なし" -#: src/common/util.js:853 src/component/lightbox.vue:633 -#: src/component/service/upload.vue:75 src/component/service/upload.vue:87 +#: src/component/lightbox.vue:633 src/component/service/upload.vue:75 +#: src/component/service/upload.vue:87 msgid "Not allowed" msgstr "許可されていません" @@ -2074,8 +2110,7 @@ msgstr "見つかりませんでした" msgid "Not sorted." msgstr "並び替えられていません。" -#: src/common/util.js:858 src/component/lightbox.vue:627 -#: src/component/lightbox.vue:744 +#: src/component/lightbox.vue:627 src/component/lightbox.vue:744 msgid "Not supported" msgstr "サポートされていません" @@ -2083,15 +2118,15 @@ msgstr "サポートされていません" msgid "Note you may manually manage your originals folder and importing is optional." msgstr "なお、オリジナルフォルダは手動で管理することができ、インポートは任意です。" -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "Note:" msgstr "メモ:" -#: src/component/service/add.vue:120 +#: src/component/service/add.vue:121 msgid "Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload." msgstr "メモ: Nextcloud や PhotoPrism といった WebDAV サーバのみがバックアップやファイルアップロードのサービスとして設定できます。" -#: src/component/photo/edit/details.vue:603 +#: src/component/photo/edit/details.vue:577 msgid "Notes" msgstr "メモ" @@ -2099,8 +2134,8 @@ msgstr "メモ" msgid "Nothing to see here yet." msgstr "まだ何もありません。" -#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:115 -#: src/component/settings/apps.vue:390 +#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:125 +#: src/component/settings/apps.vue:393 msgid "Nothing was found." msgstr "何も見つかりませんでした。" @@ -2108,7 +2143,7 @@ msgstr "何も見つかりませんでした。" msgid "Offline" msgstr "オフライン" -#: src/options/admin.js:39 src/options/auth.js:28 +#: src/options/admin.js:43 src/options/auth.js:29 msgid "OIDC" msgstr "OIDC" @@ -2118,11 +2153,11 @@ msgstr "OK" #: src/component/album/edit/dialog.vue:25 src/component/photo/toolbar.vue:115 #: src/component/photo/toolbar.vue:127 src/component/photo/toolbar.vue:137 -#: src/page/albums.vue:101 +#: src/page/albums.vue:102 msgid "Oldest First" msgstr "古い順" -#: src/component/settings/webdav.vue:77 +#: src/component/settings/webdav.vue:78 msgid "On Windows, enter the following resource in the connection dialog:" msgstr "Windowsの場合、接続ダイアログに以下の内容を入力します:" @@ -2134,11 +2169,11 @@ msgstr "サムネイルのオンデマンド生成は、CPU とメモリの使 msgid "Once a week" msgstr "1週間に1度" -#: src/page/albums.vue:609 +#: src/page/albums.vue:614 msgid "One album found" msgstr "1 つのアルバムが見つかりました" -#: src/page/library/browse.vue:358 +#: src/page/library/browse.vue:360 msgid "One file found" msgstr "1 個のファイルが見つかりました" @@ -2146,24 +2181,24 @@ msgstr "1 個のファイルが見つかりました" msgid "One file uploaded" msgstr "1 個のファイルをアップロードしました" -#: src/page/library/browse.vue:360 +#: src/page/library/browse.vue:362 msgid "One folder found" msgstr "1 個のフォルダが見つかりました" -#: src/page/labels.vue:525 +#: src/page/labels.vue:530 msgid "One label found" msgstr "1 個のラベルが見つかりました" -#: src/page/people/new.vue:348 src/page/people/new.vue:445 -#: src/page/people/recognized.vue:533 +#: src/page/people/new.vue:348 src/page/people/new.vue:448 +#: src/page/people/recognized.vue:538 msgid "One person found" msgstr "1 人が見つかりました" -#: src/page/album/photos.vue:490 src/page/photos.vue:628 +#: src/page/album/photos.vue:501 src/page/photos.vue:638 msgid "One picture found" msgstr "1 枚の写真が見つかりました" -#: src/component/settings/passcode.vue:478 +#: src/component/settings/passcode.vue:481 msgid "Only locally managed accounts can be set up for authentication with 2FA." msgstr "2FA による認証を設定できるのは、ローカルで管理されているアカウントのみです。" @@ -2171,7 +2206,7 @@ msgstr "2FA による認証を設定できるのは、ローカルで管理さ msgid "Open" msgstr "オープン" -#: src/component/service/add.vue:86 src/component/service/add.vue:107 +#: src/component/service/add.vue:87 src/component/service/add.vue:108 msgid "optional" msgstr "任意" @@ -2183,7 +2218,7 @@ msgstr "または" msgid "Orange" msgstr "オレンジ" -#: src/page/settings/account.vue:571 src/page/settings/account.vue:573 +#: src/page/settings/account.vue:577 src/page/settings/account.vue:579 msgid "Organization" msgstr "組織" @@ -2199,7 +2234,7 @@ msgstr "オリジナルのファイル名は保存され、インデックスさ msgid "Original Name" msgstr "オリジナル名" -#: src/component/navigation.vue:1304 src/model/file.js:196 +#: src/component/navigation.vue:1328 src/model/file.js:196 #: src/options/options.js:413 src/page/library/browse.vue:65 #: src/page/settings/content.vue:356 src/page/settings/general.vue:532 msgid "Originals" @@ -2210,7 +2245,7 @@ msgstr "オリジナル" msgid "Other" msgstr "他" -#: src/page/about/about.vue:77 src/page/about/about.vue:83 +#: src/page/about/about.vue:78 src/page/about/about.vue:84 msgid "Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible." msgstr "私たちのミッションは、プライバシーに配慮してあなたの写真を整理し、容易にアクセスするための最もユーザーフレンドリーなソリューションを提供することです。" @@ -2222,7 +2257,7 @@ msgstr "アウトドア" msgid "Page {0}, Current page" msgstr "ページ {0}、現在のページ" -#: src/component/photo/edit/files.vue:352 src/model/photo.js:859 +#: src/component/photo/edit/files.vue:352 src/model/photo.js:896 msgid "Pages" msgstr "ページ" @@ -2234,15 +2269,15 @@ msgstr "ページネーション・ナビゲーション" msgid "Panorama" msgstr "パノラマ" -#: src/component/navigation.vue:402 +#: src/component/navigation.vue:404 msgid "Panoramas" msgstr "パノラマ" -#: src/component/user/add/dialog.vue:114 src/component/user/add/dialog.vue:115 -#: src/component/service/add.vue:106 src/component/service/edit.vue:352 -#: src/component/settings/apps.vue:121 src/component/settings/passcode.vue:106 -#: src/component/settings/passcode.vue:413 src/component/share/dialog.vue:27 -#: src/options/auth.js:91 src/page/auth/login.vue:196 +#: src/component/user/add/dialog.vue:115 src/component/user/add/dialog.vue:116 +#: src/component/service/add.vue:107 src/component/service/edit.vue:353 +#: src/component/settings/apps.vue:124 src/component/settings/passcode.vue:109 +#: src/component/settings/passcode.vue:416 src/component/share/dialog.vue:27 +#: src/options/auth.js:92 src/page/auth/login.vue:196 msgid "Password" msgstr "パスワード" @@ -2250,9 +2285,9 @@ msgstr "パスワード" msgid "Password changed" msgstr "パスワードが変更されました" -#: src/app/routes.js:404 src/app/routes.js:428 src/component/navigation.vue:845 -#: src/component/navigation.vue:1898 src/component/photo/edit/dialog.vue:228 -#: src/component/photo/edit/dialog.vue:245 src/options/options.js:201 +#: src/app/routes.js:412 src/app/routes.js:436 src/component/navigation.vue:853 +#: src/component/navigation.vue:1939 src/component/photo/edit/dialog.vue:238 +#: src/component/photo/edit/dialog.vue:257 src/options/options.js:201 #: src/page/settings/general.vue:180 msgid "People" msgstr "人" @@ -2273,23 +2308,23 @@ msgstr "ファイルを完全に削除して、ストレージを空けること msgid "Person" msgstr "人物" -#: src/options/auth.js:42 +#: src/options/auth.js:43 msgid "Personal" msgstr "個人" -#: src/model/photo.js:1273 +#: src/model/photo.js:1310 msgid "Photo" msgstr "写真" -#: src/page/about/about.vue:156 +#: src/page/about/about.vue:158 msgid "PhotoPrism is 100% self-funded and independent." msgstr "PhotoPrism は100%自己資金で運営されている独立系企業です。" -#: src/page/about/about.vue:92 +#: src/page/about/about.vue:93 msgid "PhotoPrism+ Membership" msgstr "PhotoPrism+ メンバーシップ" -#: src/app/routes.js:156 +#: src/app/routes.js:164 msgid "Photos" msgstr "写真" @@ -2310,27 +2345,27 @@ msgstr "場所" msgid "Place & Time" msgstr "場所と時間" -#: src/app/routes.js:303 src/app/routes.js:309 src/app/routes.js:315 -#: src/app/routes.js:330 src/component/navigation.vue:986 -#: src/component/navigation.vue:1914 src/options/options.js:203 +#: src/app/routes.js:311 src/app/routes.js:317 src/app/routes.js:323 +#: src/app/routes.js:338 src/component/navigation.vue:999 +#: src/component/navigation.vue:1956 src/options/options.js:203 #: src/page/places.vue:51 src/page/settings/general.vue:609 #: src/page/settings/general.vue:638 msgid "Places" msgstr "場所" -#: src/component/settings/password.vue:129 +#: src/component/settings/password.vue:130 msgid "Please confirm your new password." msgstr "新しいパスワードを再入力してください。" -#: src/component/settings/apps.vue:185 +#: src/component/settings/apps.vue:188 msgid "Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:" msgstr "ランダムに生成された次のアプリパスワードをコピーして安全な場所に保存してください。このパスワードは再表示できません:" -#: src/component/upload/dialog.vue:203 +#: src/component/upload/dialog.vue:205 msgid "Please do not upload any private, unlawful or offensive pictures." msgstr "私的、違法、不快な写真はアップロードしないでください。" -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Please don't upload photos containing offensive content." msgstr "過激な内容を含む写真はアップロードしないでください。" @@ -2338,11 +2373,11 @@ msgstr "過激な内容を含む写真はアップロードしないでくださ msgid "Please enter OTP character {0}" msgstr "OTP {0} を入力してください" -#: src/component/settings/password.vue:66 +#: src/component/settings/password.vue:67 msgid "Please note that changing your password will log you out on other devices and browsers." msgstr "パスワードを変更すると、他のデバイスやブラウザでログアウトされますのでご注意ください。" -#: src/page/connect.vue:148 src/page/connect.vue:152 +#: src/page/connect.vue:149 src/page/connect.vue:153 msgid "Please restart your instance for the changes to take effect." msgstr "変更を反映するために、インスタンスを再起動してください。" @@ -2362,11 +2397,11 @@ msgstr "PNG サイズ制限: %{n} px" msgid "Portrait" msgstr "ポートレート" -#: src/component/service/edit.vue:273 +#: src/component/service/edit.vue:274 msgid "Preserve filenames" msgstr "ファイル名を保持" -#: src/component/upload/dialog.vue:162 +#: src/component/upload/dialog.vue:164 msgid "Press enter to create a new album." msgstr "Enter キーを押して新しいアルバムを作成します。" @@ -2403,8 +2438,8 @@ msgstr "以前のビジュアル" msgid "Primary" msgstr "プライマリ" -#: src/app/routes.js:271 src/component/album/edit/dialog.vue:176 -#: src/component/navigation.vue:531 src/component/photo/edit/info.vue:303 +#: src/app/routes.js:279 src/component/album/edit/dialog.vue:177 +#: src/component/navigation.vue:533 src/component/photo/edit/info.vue:303 #: src/page/settings/general.vue:280 msgid "Private" msgstr "プライベート" @@ -2429,7 +2464,7 @@ msgstr "品質フィルター" msgid "Quality Score" msgstr "品質スコア" -#: src/page/admin/users.vue:169 +#: src/page/admin/users.vue:171 msgid "r" msgstr "r" @@ -2460,7 +2495,7 @@ msgstr "読み込み専用モード" #: src/component/album/edit/dialog.vue:26 src/component/photo/toolbar.vue:116 #: src/component/photo/toolbar.vue:128 src/component/photo/toolbar.vue:138 -#: src/page/albums.vue:102 +#: src/page/albums.vue:103 msgid "Recently Added" msgstr "最近追加" @@ -2468,7 +2503,7 @@ msgstr "最近追加" msgid "Recently Archived" msgstr "最近アーカイブ" -#: src/component/photo/toolbar.vue:139 src/page/albums.vue:103 +#: src/component/photo/toolbar.vue:139 src/page/albums.vue:104 msgid "Recently Edited" msgstr "最近編集" @@ -2493,24 +2528,24 @@ msgstr "リカバリーコード" msgid "Red" msgstr "赤" -#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:126 -#: src/component/album/toolbar.vue:79 src/component/photo/toolbar.vue:169 -#: src/page/albums.vue:173 src/page/labels.vue:112 +#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:128 +#: src/component/album/toolbar.vue:84 src/component/photo/toolbar.vue:169 +#: src/page/albums.vue:175 src/page/labels.vue:112 #: src/page/library/browse.vue:90 src/page/library/errors.vue:81 #: src/page/people/new.vue:54 src/page/people/recognized.vue:88 msgid "Refresh" msgstr "リフレッシュ" -#: src/app/routes.js:337 src/component/navigation.vue:943 -#: src/component/navigation.vue:1026 +#: src/app/routes.js:345 src/component/navigation.vue:955 +#: src/component/navigation.vue:1040 msgid "Regions" msgstr "地域" -#: src/page/connect.vue:275 src/page/connect.vue:284 +#: src/page/connect.vue:277 src/page/connect.vue:286 msgid "Register" msgstr "登録" -#: src/component/navigation.vue:1773 src/component/update.vue:68 +#: src/component/navigation.vue:1806 src/component/update.vue:68 msgid "Reload" msgstr "再読み込み" @@ -2555,34 +2590,34 @@ msgstr "写真以外の画像や低品質の画像は、検索結果に表示さ msgid "Resolution" msgstr "解像度" -#: src/page/connect.vue:179 src/page/connect.vue:183 +#: src/page/connect.vue:180 src/page/connect.vue:184 #: src/page/settings/advanced.vue:782 msgid "Restart" msgstr "再起動" -#: src/component/user/edit/dialog.vue:485 src/component/lightbox.vue:1221 +#: src/component/user/edit/dialog.vue:488 src/component/lightbox.vue:1221 #: src/component/photo/clipboard.vue:77 msgid "Restore" msgstr "復元" -#: src/component/lightbox.vue:2000 +#: src/component/lightbox.vue:2020 msgid "Restored" msgstr "復元されました" -#: src/component/service/edit.vue:428 +#: src/component/service/edit.vue:429 msgid "Retry Limit" msgstr "リトライ回数制限" -#: src/component/settings/password.vue:128 +#: src/component/settings/password.vue:129 msgid "Retype Password" msgstr "パスワード再入力" -#: src/app/routes.js:264 src/component/navigation.vue:505 +#: src/app/routes.js:272 src/component/navigation.vue:507 msgid "Review" msgstr "レビュー" -#: src/component/user/add/dialog.vue:171 src/component/user/edit/dialog.vue:284 -#: src/page/admin/sessions.vue:262 src/page/admin/users.vue:73 +#: src/component/user/add/dialog.vue:172 src/component/user/edit/dialog.vue:285 +#: src/page/admin/sessions.vue:263 src/page/admin/users.vue:75 msgid "Role" msgstr "役割" @@ -2594,11 +2629,11 @@ msgstr "ページあたりの行数:" msgid "Satellite" msgstr "衛星" -#: src/component/user/edit/dialog.vue:485 -#: src/component/album/edit/dialog.vue:211 -#: src/component/label/edit/dialog.vue:119 -#: src/component/people/edit/dialog.vue:132 src/component/service/edit.vue:466 -#: src/component/settings/password.vue:172 src/component/share/dialog.vue:181 +#: src/component/user/edit/dialog.vue:488 +#: src/component/album/edit/dialog.vue:212 +#: src/component/label/edit/dialog.vue:120 +#: src/component/people/edit/dialog.vue:133 src/component/service/edit.vue:467 +#: src/component/settings/password.vue:173 src/component/share/dialog.vue:181 msgid "Save" msgstr "保存" @@ -2606,23 +2641,23 @@ msgstr "保存" msgid "Scan" msgstr "スキャン" -#: src/component/settings/passcode.vue:179 +#: src/component/settings/passcode.vue:182 msgid "Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:" msgstr "認証アプリで QR コードをスキャンするか、以下のセットアップキーを使用して、生成された確認コードを入力してください:" -#: src/component/navigation.vue:461 +#: src/component/navigation.vue:463 msgid "Scans" msgstr "スキャン" -#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:377 -#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:310 +#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:381 +#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:313 msgid "Scope" msgstr "スコープ" -#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:62 -#: src/component/navigation.vue:342 src/component/navigation.vue:1866 -#: src/component/photo/toolbar.vue:57 src/options/options.js:197 -#: src/page/albums.vue:100 src/page/labels.vue:77 +#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:69 +#: src/component/location/dialog.vue:133 src/component/navigation.vue:343 +#: src/component/navigation.vue:1905 src/component/photo/toolbar.vue:57 +#: src/options/options.js:197 src/page/albums.vue:100 src/page/labels.vue:77 #: src/page/library/errors.vue:76 src/page/people/recognized.vue:66 #: src/page/places.vue:79 src/page/settings/content.vue:235 msgid "Search" @@ -2660,11 +2695,11 @@ msgstr "日付選択" msgid "Select dates" msgstr "日付選択" -#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:154 +#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:156 msgid "Select or create an album" msgstr "アルバム選択または作成" -#: src/component/upload/dialog.vue:138 +#: src/component/upload/dialog.vue:140 msgid "Select the files to upload…" msgstr "アップロードするファイルを選択する…" @@ -2692,7 +2727,7 @@ msgstr "選択した項目が復元されました" msgid "Sequential Name" msgstr "連名" -#: src/component/service/add.vue:67 src/component/service/edit.vue:322 +#: src/component/service/add.vue:68 src/component/service/edit.vue:323 #: src/component/share/dialog.vue:25 msgid "Service URL" msgstr "サービス URL" @@ -2701,7 +2736,7 @@ msgstr "サービス URL" msgid "Services" msgstr "サービス" -#: src/model/session.js:107 src/options/auth.js:41 src/options/auth.js:90 +#: src/model/session.js:107 src/options/auth.js:42 src/options/auth.js:91 msgid "Session" msgstr "セッション" @@ -2709,7 +2744,7 @@ msgstr "セッション" msgid "Session ID" msgstr "セッション ID" -#: src/page/admin.vue:45 +#: src/page/admin.vue:44 msgid "Sessions" msgstr "セッション" @@ -2717,22 +2752,22 @@ msgstr "セッション" msgid "Set as Album Cover" msgstr "アルバムカバーに設定する" -#: src/app/routes.js:101 src/app/routes.js:492 src/app/routes.js:504 -#: src/app/routes.js:521 src/app/routes.js:534 src/app/routes.js:547 -#: src/component/navigation.vue:1394 src/component/navigation.vue:1806 +#: src/app/routes.js:101 src/app/routes.js:500 src/app/routes.js:512 +#: src/app/routes.js:529 src/app/routes.js:542 src/app/routes.js:555 +#: src/component/navigation.vue:1419 src/component/navigation.vue:1841 msgid "Settings" msgstr "設定" #: src/page/settings/account.vue:115 src/page/settings/account.vue:144 -#: src/component/settings/passcode.vue:147 +#: src/component/settings/passcode.vue:151 msgid "Settings saved" msgstr "設定が保存されました" -#: src/component/service/upload.vue:131 src/component/settings/passcode.vue:160 +#: src/component/service/upload.vue:132 src/component/settings/passcode.vue:163 msgid "Setup" msgstr "セットアップ" -#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:98 +#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:103 #: src/component/photo/clipboard.vue:51 src/page/settings/general.vue:382 msgid "Share" msgstr "共有" @@ -2749,7 +2784,7 @@ msgstr "他のアプリやサービスと写真を共有することができま msgid "Show" msgstr "表示" -#: src/page/people/new.vue:116 src/page/people/new.vue:233 +#: src/page/people/new.vue:116 src/page/people/new.vue:235 msgid "Show all new faces" msgstr "すべての新しい顔を表示" @@ -2794,7 +2829,7 @@ msgid "Similar" msgstr "似ている項目" #: src/component/photo/edit/files.vue:51 src/component/photo/edit/files.vue:341 -#: src/component/service/edit.vue:139 src/component/sidebar/info.vue:96 +#: src/component/service/edit.vue:140 src/component/sidebar/info.vue:96 msgid "Size" msgstr "サイズ" @@ -2822,7 +2857,7 @@ msgstr "何かが間違っています。もう一度やり直してください msgid "Sort by" msgstr "並び替え" -#: src/component/album/edit/dialog.vue:142 src/component/photo/toolbar.vue:288 +#: src/component/album/edit/dialog.vue:143 src/component/photo/toolbar.vue:290 #: src/page/albums.vue:214 msgid "Sort Order" msgstr "並び替え順" @@ -2857,7 +2892,7 @@ msgstr "メタデータを元に、全く同じ時間と場所で撮影された msgid "Stackable" msgstr "スタック可能" -#: src/component/navigation.vue:421 src/page/settings/content.vue:136 +#: src/component/navigation.vue:423 src/page/settings/content.vue:136 msgid "Stacks" msgstr "スタック" @@ -2885,16 +2920,16 @@ msgstr "ストレージ" msgid "Streets" msgstr "市街" -#: src/component/photo/edit/details.vue:494 +#: src/component/photo/edit/details.vue:468 #: src/component/photo/edit/labels.vue:44 msgid "Subject" msgstr "件名" -#: src/page/about/feedback.vue:162 src/page/about/feedback.vue:163 +#: src/page/about/feedback.vue:163 src/page/about/feedback.vue:164 msgid "Submit" msgstr "送信" -#: src/component/settings/passcode.vue:132 +#: src/component/settings/passcode.vue:136 msgid "Successfully activated" msgstr "正常に有効化されました" @@ -2903,23 +2938,23 @@ msgid "Successfully Connected" msgstr "接続に成功しました" #: src/component/session/remove/dialog.vue:32 -#: src/component/settings/apps.vue:218 +#: src/component/settings/apps.vue:222 msgid "Successfully deleted" msgstr "削除に成功しました" -#: src/component/settings/passcode.vue:107 +#: src/component/settings/passcode.vue:108 msgid "Successfully verified" msgstr "検証に成功しました" -#: src/component/user/edit/dialog.vue:398 src/page/admin/users.vue:163 +#: src/component/user/edit/dialog.vue:399 src/page/admin/users.vue:165 msgid "Super Admin" msgstr "スーパーアドミン" -#: src/component/service/add.vue:122 +#: src/component/service/add.vue:123 msgid "Support for additional services, like Google Drive, will be added over time." msgstr "Google ドライブなどの追加のサービスのサポートが順次追加される予定です。" -#: src/component/confirm/sponsor.vue:37 src/component/navigation.vue:1629 +#: src/component/confirm/sponsor.vue:38 src/component/navigation.vue:1660 msgid "Support Our Mission" msgstr "私たちのミッションを支援" @@ -2927,7 +2962,7 @@ msgstr "私たちのミッションを支援" msgid "Sync" msgstr "同期" -#: src/component/service/edit.vue:289 +#: src/component/service/edit.vue:290 msgid "Sync raw and video files" msgstr "Raw ファイルや動画ファイルを同期" @@ -2953,23 +2988,23 @@ msgstr "地形" msgid "Text" msgstr "テキスト" -#: src/component/photo/edit/details.vue:32 src/page/people/new.vue:71 +#: src/component/photo/edit/details.vue:40 src/page/people/new.vue:71 msgid "Text too long" msgstr "テキストが長すぎます" -#: src/page/about/about.vue:145 +#: src/page/about/about.vue:146 msgid "Thank You for Your Support!" msgstr "ご支援ありがとうございます!" -#: src/page/about/about.vue:79 src/page/about/about.vue:85 +#: src/page/about/about.vue:80 src/page/about/about.vue:86 msgid "That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality." msgstr "そのため、PhotoPrism は自由、プライバシー、機能性を損なうことなく、必要なときに使えるように一から作り上げました。" -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "The index currently contains %{n} hidden files." msgstr "インデックスには現在 %{n} 件の隠しファイルがあります。" -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates." msgstr "それらの形式がサポートされていないか、まだ JPEG に変換されていないか、重複している可能性があります。" @@ -2984,44 +3019,44 @@ msgstr "テーマ" msgid "This field is required" msgstr "このフィールドは必須です" -#: src/component/settings/webdav.vue:100 src/page/settings/services.vue:144 +#: src/component/settings/webdav.vue:101 src/page/settings/services.vue:147 msgid "This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local." msgstr "オリジナルフォルダをネットワークドライブとしてマウントし、あなたのコンピュータまたはスマートフォンからまるでローカルのようにファイルを開き、編集、削除できるようにします。" -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Time UTC" msgstr "UTC 時間" -#: src/component/photo/edit/details.vue:219 src/page/settings/general.vue:108 +#: src/component/photo/edit/details.vue:221 src/page/settings/general.vue:108 msgid "Time Zone" msgstr "タイムゾーン" -#: src/component/service/edit.vue:408 +#: src/component/service/edit.vue:409 msgid "Timeout" msgstr "タイムアウト" -#: src/component/user/edit/dialog.vue:98 src/component/user/edit/dialog.vue:99 +#: src/component/user/edit/dialog.vue:99 src/component/user/edit/dialog.vue:100 #: src/page/settings/account.vue:84 src/page/settings/account.vue:86 msgctxt "Account" msgid "Title" msgstr "タイトル" -#: src/component/photo/edit/details.vue:73 +#: src/component/photo/edit/details.vue:75 msgctxt "Photo" msgid "Title" msgstr "タイトル" -#: src/component/photo/edit/info.vue:59 src/component/photo/edit/info.vue:155 +#: src/component/photo/edit/info.vue:61 src/component/photo/edit/info.vue:155 #: src/component/photo/edit/labels.vue:40 src/component/photo/view/list.vue:114 #: src/component/sidebar/info.vue:57 msgid "Title" msgstr "タイトル" -#: src/page/settings/account.vue:553 src/page/settings/account.vue:555 +#: src/page/settings/account.vue:559 src/page/settings/account.vue:561 msgid "Title / Position" msgstr "タイトル / 位置" -#: src/page/albums.vue:83 +#: src/page/albums.vue:84 msgid "Title too long" msgstr "タイトルが長すぎます" @@ -3029,19 +3064,19 @@ msgstr "タイトルが長すぎます" msgid "to" msgstr "対象" -#: src/component/settings/passcode.vue:312 +#: src/component/settings/passcode.vue:315 msgid "To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place." msgstr "アカウントがロックアウトされないようにするには、今すぐこの回復コードをダウンロード、印刷、コピーして、安全な場所に保管してください。" -#: src/component/settings/apps.vue:272 +#: src/component/settings/apps.vue:275 msgid "To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:" msgstr "新しいアプリ固有のパスワードを生成するには、アプリケーションの名前と承認範囲を入力し、有効期限を選択してください:" -#: src/component/settings/passcode.vue:400 +#: src/component/settings/passcode.vue:403 msgid "To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:" msgstr "新しい認証アプリまたはデバイスに切り替えるには、まず2要素認証を無効にしてから再度有効にします:" -#: src/page/connect.vue:221 src/page/connect.vue:230 +#: src/page/connect.vue:223 src/page/connect.vue:232 msgid "To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:" msgstr "アップグレードするには、アクティベーションコードを入力するか、「登録」をクリックして当社ウェブサイトからサインアップしてください:" @@ -3049,7 +3084,7 @@ msgstr "アップグレードするには、アクティベーションコード msgid "Today" msgstr "今日" -#: src/component/album/toolbar.vue:70 src/component/photo/toolbar.vue:78 +#: src/component/album/toolbar.vue:71 src/component/photo/toolbar.vue:78 msgid "Toggle View" msgstr "表示切り替え" @@ -3076,20 +3111,24 @@ msgstr "トラブルシューティング" msgid "Try again using other filters or keywords." msgstr "他のフィルターまたはキーワードで試してみてください。" -#: src/component/settings/passcode.vue:380 +#: src/component/settings/passcode.vue:383 msgid "Two-factor authentication has been enabled for your account." msgstr "あなたのアカウントでは2要素認証が有効になっています。" #: src/component/photo/edit/files.vue:58 src/component/photo/edit/files.vue:330 -#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:388 +#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:389 msgid "Type" msgstr "種類" -#: src/options/auth.js:13 +#: src/component/album/toolbar.vue:178 +msgid "Unable to delete" +msgstr "削除できない" + +#: src/options/auth.js:14 msgid "Unauthorized" msgstr "未承認" -#: src/component/photo/edit/people.vue:94 +#: src/component/photo/edit/people.vue:95 msgid "Undo" msgstr "取り消し" @@ -3097,16 +3136,16 @@ msgstr "取り消し" msgid "Unique ID" msgstr "一意の ID" -#: src/page/settings/account.vue:451 src/page/settings/account.vue:476 -#: src/page/settings/account.vue:501 src/common/util.js:487 -#: src/component/photo/edit/details.vue:21 -#: src/component/photo/edit/details.vue:111 -#: src/component/photo/edit/details.vue:138 -#: src/component/photo/edit/details.vue:164 src/component/sidebar/info.vue:43 -#: src/model/album.js:193 src/model/photo.js:323 src/model/photo.js:784 -#: src/model/photo.js:809 src/model/photo.js:832 src/model/photo.js:850 -#: src/model/photo.js:897 src/model/photo.js:905 src/model/photo.js:994 -#: src/model/photo.js:1016 src/model/photo.js:1061 src/model/photo.js:1074 +#: src/page/settings/account.vue:457 src/page/settings/account.vue:482 +#: src/page/settings/account.vue:507 src/common/util.js:488 +#: src/component/photo/edit/details.vue:27 +#: src/component/photo/edit/details.vue:113 +#: src/component/photo/edit/details.vue:140 +#: src/component/photo/edit/details.vue:166 src/component/sidebar/info.vue:43 +#: src/model/album.js:193 src/model/photo.js:331 src/model/photo.js:821 +#: src/model/photo.js:846 src/model/photo.js:869 src/model/photo.js:887 +#: src/model/photo.js:934 src/model/photo.js:942 src/model/photo.js:1031 +#: src/model/photo.js:1053 src/model/photo.js:1098 src/model/photo.js:1111 #: src/model/user.js:157 src/options/options.js:51 src/options/options.js:69 #: src/options/options.js:86 src/options/options.js:100 #: src/options/options.js:112 src/page/library/errors.vue:251 @@ -3119,7 +3158,7 @@ msgstr "不明" msgid "Unregistered" msgstr "未登録" -#: src/app/routes.js:215 src/component/navigation.vue:644 +#: src/app/routes.js:223 src/component/navigation.vue:648 msgid "Unsorted" msgstr "未分類" @@ -3127,7 +3166,7 @@ msgstr "未分類" msgid "Unstack" msgstr "スタック解除" -#: src/component/photo/edit/files.vue:519 src/component/photo/edit/info.vue:416 +#: src/component/photo/edit/files.vue:521 src/component/photo/edit/info.vue:416 msgid "Updated" msgstr "更新日" @@ -3143,7 +3182,7 @@ msgstr "インデックスを更新しています" msgid "Updating moments" msgstr "モーメントを更新しています" -#: src/component/user/edit/dialog.vue:154 +#: src/component/user/edit/dialog.vue:155 msgid "Updating picture…" msgstr "写真を更新しています…" @@ -3155,21 +3194,21 @@ msgstr "プレビューを更新しています" msgid "Updating stacks" msgstr "スタックを更新しています" -#: src/page/connect.vue:57 src/component/navigation.vue:1500 -#: src/component/navigation.vue:1614 src/component/navigation.vue:1999 +#: src/page/connect.vue:57 src/component/navigation.vue:1526 +#: src/component/navigation.vue:1644 src/component/navigation.vue:2047 #: src/page/connect.vue:58 msgid "Upgrade" msgstr "アップグレード" -#: src/page/about/about.vue:123 src/page/connect.vue:202 -#: src/component/confirm/sponsor.vue:98 src/page/about/about.vue:113 -#: src/page/connect.vue:206 +#: src/page/about/about.vue:124 src/page/connect.vue:204 +#: src/component/confirm/sponsor.vue:99 src/page/about/about.vue:114 +#: src/page/connect.vue:208 msgid "Upgrade Now" msgstr "今すぐアップグレード" -#: src/component/album/toolbar.vue:108 src/component/navigation.vue:1824 -#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:144 -#: src/component/upload/dialog.vue:51 src/page/albums.vue:183 +#: src/component/album/toolbar.vue:113 src/component/navigation.vue:1860 +#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:145 +#: src/component/upload/dialog.vue:51 src/page/albums.vue:185 #: src/page/labels.vue:122 src/page/library/import.vue:133 #: src/page/settings/general.vue:307 src/page/settings/services.vue:38 msgid "Upload" @@ -3179,21 +3218,21 @@ msgstr "アップロード" msgid "Upload complete" msgstr "アップロード完了" -#: src/component/upload/dialog.vue:133 +#: src/component/upload/dialog.vue:135 msgid "Upload complete. Indexing…" msgstr "アップロードが完了しました。インデックスしています…" #: src/component/upload/dialog.vue:296 src/component/upload/dialog.vue:315 -#: src/component/upload/dialog.vue:129 +#: src/component/upload/dialog.vue:131 msgid "Upload failed" msgstr "アップロードに失敗しました" -#: src/component/service/edit.vue:257 +#: src/component/service/edit.vue:258 msgid "Upload local files" msgstr "ローカルファイルをアップロード" -#: src/component/user/edit/dialog.vue:380 #: src/component/user/edit/dialog.vue:381 +#: src/component/user/edit/dialog.vue:382 msgid "Upload Path" msgstr "アップロードパス" @@ -3201,7 +3240,7 @@ msgstr "アップロードパス" msgid "Upload to WebDAV and share links with friends." msgstr "WebDAV にアップロードして、友達とリンクを共有できます。" -#: src/component/upload/dialog.vue:131 +#: src/component/upload/dialog.vue:133 msgid "Uploading %{n} of %{t}…" msgstr "%{t} 件中 %{n} 件目をアップロードしています…" @@ -3214,7 +3253,7 @@ msgstr "写真をアップロードしています…" msgid "Uploading…" msgstr "アップロード中…" -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Uploads that may contain such images will be rejected automatically." msgstr "そのような画像を含むアップロードは自動的に拒否されます。" @@ -3222,7 +3261,7 @@ msgstr "そのような画像を含むアップロードは自動的に拒否さ msgid "Use Presets" msgstr "プリセットを使用" -#: src/component/settings/passcode.vue:283 +#: src/component/settings/passcode.vue:286 msgid "Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:" msgstr "認証アプリで有効な確認コードを生成できない場合は、次の回復コードを使用してアカウントにアクセスしてください:" @@ -3230,12 +3269,12 @@ msgstr "認証アプリで有効な確認コードを生成できない場合は msgid "Use your recovery code or contact an administrator for help." msgstr "リカバリーコードを使用するか、管理者に問い合わせてください。" -#: src/options/admin.js:10 src/page/admin/sessions.vue:59 -#: src/page/admin/sessions.vue:242 src/model/user.js:361 src/options/auth.js:7 +#: src/options/admin.js:14 src/page/admin/sessions.vue:59 +#: src/page/admin/sessions.vue:243 src/model/user.js:361 src/options/auth.js:8 msgid "User" msgstr "ユーザー" -#: src/component/navigation.vue:1979 +#: src/component/navigation.vue:2025 msgid "User Guide" msgstr "ユーザーガイド" @@ -3243,14 +3282,14 @@ msgstr "ユーザーガイド" msgid "User Interface" msgstr "ユーザーインターフェース" -#: src/component/user/add/dialog.vue:87 src/component/user/add/dialog.vue:88 -#: src/page/admin/sessions.vue:220 src/page/admin/users.vue:71 -#: src/component/service/add.vue:85 src/component/service/edit.vue:337 +#: src/component/user/add/dialog.vue:88 src/component/user/add/dialog.vue:89 +#: src/page/admin/sessions.vue:221 src/page/admin/users.vue:73 +#: src/component/service/add.vue:86 src/component/service/edit.vue:338 #: src/component/share/dialog.vue:26 msgid "Username" msgstr "ユーザー名" -#: src/component/navigation.vue:1435 +#: src/component/navigation.vue:1461 msgid "Users" msgstr "ユーザー" @@ -3260,18 +3299,18 @@ msgstr "ユーザー" msgid "Vector" msgstr "ベクター" -#: src/component/navigation.vue:440 +#: src/component/navigation.vue:442 msgid "Vectors" msgstr "ベクター" -#: src/component/settings/passcode.vue:227 src/page/auth/login.vue:144 +#: src/component/settings/passcode.vue:230 src/page/auth/login.vue:144 msgid "Verification Code" msgstr "検証コード" #: src/component/photo/view/cards.vue:363 #: src/component/photo/view/cards.vue:491 src/component/photo/view/list.vue:190 #: src/component/photo/view/mosaic.vue:207 src/model/file.js:221 -#: src/model/photo.js:921 src/model/photo.js:939 src/options/options.js:293 +#: src/model/photo.js:958 src/model/photo.js:976 src/options/options.js:293 msgid "Video" msgstr "動画" @@ -3280,12 +3319,12 @@ msgstr "動画" msgid "Video Duration" msgstr "動画の長さ" -#: src/app/routes.js:243 src/component/navigation.vue:728 +#: src/app/routes.js:251 src/component/navigation.vue:734 #: src/options/options.js:200 msgid "Videos" msgstr "動画" -#: src/component/photo/toolbar.vue:261 src/component/photo/view/cards.vue:350 +#: src/component/photo/toolbar.vue:263 src/component/photo/view/cards.vue:350 #: src/component/photo/view/mosaic.vue:194 msgid "View" msgstr "表示" @@ -3294,11 +3333,11 @@ msgstr "表示" msgid "View search results as a list." msgstr "検索結果を一覧表示します。" -#: src/options/admin.js:14 src/options/auth.js:8 +#: src/options/admin.js:18 src/options/auth.js:9 msgid "Viewer" msgstr "ビューア" -#: src/page/admin/sessions.vue:271 src/options/auth.js:12 +#: src/page/admin/sessions.vue:272 src/options/auth.js:13 msgid "Visitor" msgstr "ビジター" @@ -3310,34 +3349,34 @@ msgstr "視覚的類似性" msgid "Warning" msgstr "警告" -#: src/page/about/feedback.vue:60 +#: src/page/about/feedback.vue:61 msgid "We appreciate your feedback!" msgstr "ご感想をお寄せいただきありがとうございました!" -#: src/page/about/feedback.vue:63 +#: src/page/about/feedback.vue:64 msgid "We do our best to respond within five business days or less." msgstr "5営業日以内に対応できるよう、最善を尽くします。" -#: src/component/user/add/dialog.vue:235 src/component/user/edit/dialog.vue:415 -#: src/page/admin/users.vue:80 +#: src/component/user/add/dialog.vue:236 src/component/user/edit/dialog.vue:416 +#: src/page/admin/users.vue:82 msgid "Web Login" msgstr "ウェブログイン" -#: src/component/user/add/dialog.vue:248 src/component/user/edit/dialog.vue:432 -#: src/page/admin/users.vue:82 src/options/auth.js:55 src/options/auth.js:68 +#: src/component/user/add/dialog.vue:249 src/component/user/edit/dialog.vue:433 +#: src/page/admin/users.vue:84 src/options/auth.js:56 src/options/auth.js:69 #: src/options/options.js:444 msgid "WebDAV" msgstr "WebDAV" -#: src/component/settings/webdav.vue:51 +#: src/component/settings/webdav.vue:52 msgid "WebDAV clients can connect to PhotoPrism using the following URL:" msgstr "WebDAV クライアントは PhotoPrism に次の URL で接続することができます:" -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism." msgstr "Microsoft Windows エクスプローラや Apple Finder のような WebDAV クライアントは、直接 PhotoPrism に接続できます。" -#: src/component/service/upload.vue:50 src/component/share/dialog.vue:220 +#: src/component/service/upload.vue:51 src/component/share/dialog.vue:220 msgid "WebDAV Upload" msgstr "WebDAV アップロード" @@ -3345,8 +3384,8 @@ msgstr "WebDAV アップロード" msgid "WebGL support is disabled in your browser" msgstr "お使いのブラウザで WebGL のサポートが無効化されています" -#: src/page/settings/account.vue:615 src/page/settings/account.vue:709 -#: src/page/settings/account.vue:601 +#: src/page/settings/account.vue:621 src/page/settings/account.vue:715 +#: src/page/settings/account.vue:607 msgid "Website" msgstr "ウェブサイト" @@ -3354,12 +3393,12 @@ msgstr "ウェブサイト" msgid "White" msgstr "白" -#: src/page/settings/account.vue:532 +#: src/page/settings/account.vue:538 msgid "Work Details" msgstr "業務内容" -#: src/page/settings/account.vue:500 src/component/photo/edit/details.vue:163 -#: src/component/photo/toolbar.vue:315 src/page/albums.vue:159 +#: src/page/settings/account.vue:506 src/component/photo/edit/details.vue:165 +#: src/component/photo/toolbar.vue:317 src/page/albums.vue:159 msgid "Year" msgstr "年" @@ -3367,21 +3406,21 @@ msgstr "年" msgid "Yellow" msgstr "黄" -#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:58 -#: src/component/photo/archive/dialog.vue:58 +#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:59 +#: src/component/photo/archive/dialog.vue:59 #: src/component/photo/clipboard.vue:200 src/component/photo/edit/files.vue:365 #: src/component/photo/edit/files.vue:395 #: src/component/photo/edit/files.vue:401 #: src/component/photo/edit/files.vue:407 -#: src/component/photo/edit/files.vue:510 src/component/photo/edit/info.vue:281 +#: src/component/photo/edit/files.vue:512 src/component/photo/edit/info.vue:281 #: src/component/photo/edit/info.vue:297 src/component/photo/edit/info.vue:313 #: src/component/photo/edit/info.vue:329 src/component/photo/edit/info.vue:344 -#: src/component/photo/toolbar.vue:434 +#: src/component/photo/toolbar.vue:436 msgid "Yes" msgstr "はい" -#: src/component/confirm/sponsor.vue:59 src/page/about/about.vue:158 -#: src/page/connect.vue:315 +#: src/component/confirm/sponsor.vue:60 src/page/about/about.vue:160 +#: src/page/connect.vue:317 msgid "You are welcome to contact us at membership@photoprism.app for questions regarding your membership." msgstr "メンバーシップに関するご質問は、membership@photoprism.app までご連絡ください。" @@ -3393,7 +3432,11 @@ msgstr "1 件のアルバムのみダウンロードできます" msgid "You can only download one label" msgstr "1 件のラベルのみダウンロードできます" -#: src/component/upload/dialog.vue:203 +#: src/component/location/dialog.vue:178 +msgid "You can search for a location or move the marker on the map to change the position:" +msgstr "場所を検索したり、地図上のマーカーを動かして位置を変えることができる:" + +#: src/component/upload/dialog.vue:205 msgid "You can upload up to %{n} files for test purposes." msgstr "テスト用に最大 %{n} 件のファイルをアップロードできます。" @@ -3406,7 +3449,7 @@ msgstr "1 件だけ選択してください" msgid "You may rescan your library to find additional faces." msgstr "さらに顔を見つけるには、ライブラリを再スキャンしてください。" -#: src/page/connect.vue:146 src/page/connect.vue:150 +#: src/page/connect.vue:147 src/page/connect.vue:151 msgid "Your account has been successfully connected." msgstr "アカウントが正常に接続されました。" @@ -3414,8 +3457,8 @@ msgstr "アカウントが正常に接続されました。" msgid "Your browser does not support WebGL" msgstr "お使いのブラウザでは WebGL を利用できません" -#: src/component/confirm/sponsor.vue:43 src/page/about/about.vue:97 -#: src/page/about/about.vue:156 src/page/connect.vue:220 +#: src/component/confirm/sponsor.vue:44 src/page/about/about.vue:98 +#: src/page/about/about.vue:158 src/page/connect.vue:222 msgid "Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy." msgstr "皆様の継続的なご支援により、私たちは定期的なアップデートを提供し、独立性を保ち、使命を果たし、お客様のプライバシーを保護することができます。" @@ -3496,9 +3539,6 @@ msgstr "ズームイン/アウト" #~ msgid "Open Folder" #~ msgstr "フォルダを開く" -#~ msgid "Cannot copy to clipboard" -#~ msgstr "クリップボードにコピーできない" - #~ msgid "Sound" #~ msgstr "サウンド" @@ -4145,9 +4185,6 @@ msgstr "ズームイン/アウト" #~ msgid "More than 50 results" #~ msgstr "50 件の結果" -#~ msgid "No results" -#~ msgstr "結果なし" - #~ msgid "Not implemented yet" #~ msgstr "まだ実装されていません" diff --git a/frontend/src/locales/json/af.json b/frontend/src/locales/json/af.json index bc0334ab5..1d6a5bf21 100644 --- a/frontend/src/locales/json/af.json +++ b/frontend/src/locales/json/af.json @@ -1 +1 @@ -{"af":{"{0} appended action":"{0} aangehegte handeling","{0} files":"{0} lêers","{0} files ({1} in total)":"{0} lêers ({1} in totaal)","{0} more":"{0} meer","{0} prepended action":"{0} voorgeskrewe handeling","{0} selected":"{0} gekies","{0}-{1} of {2}":"{0}-{1} van {2}","%{n} albums found":"%{n} albums gevind","%{n} files uploaded":"%{n} lêers opgelaai","%{n} folders found":"%{n} vouers gevind","%{n} GB of %{q} GB used":"%{n} GB van %{q} GB gebruik","%{n} labels found":"%{n} etikette gevind","%{n} people found":"%{n} mense gevind","%{n} pictures found":"%{n} fotos gevind","%{s} is too long":"%{s} is te lank","%{s} is too short":"%{s} is te kort","1 hour":"1 uur","12 hours":"12 ure","2-Factor Authentication":"2-faktor-verifikasie","2FA":"2FA","4 hours":"4 ure","A click will copy it to your clipboard.":"'n Klik sal dit na jou knipbord kopieer.","A new version of %{s} is available:":"'n Nuwe weergawe van %{s} is beskikbaar:","About":"Oor","Access Token":"Toegang Token","Account":"Rekening","Account created":"Rekening geskep","Account deleted":"Rekening is uitgevee","Account restored":"Rekening is teruggestel","Accounts":"Rekeninge","Accuracy":"Akkuraatheid","Action":"Aksie","Actions":"Aksies","Activate":"Aktiveer","Activate to remove sorting.":"Aktiveer om sortering te verwyder.","Activate to sort ascending.":"Aktiveer om stygend te sorteer.","Activate to sort descending.":"Aktiveer om dalend te sorteer.","Activation Code":"Aktiverings kode","Add":"Voeg by","Add %{s}?":"Voeg %{s} by?","Add Account":"Voeg rekening","Add Album":"Voeg album by","Add files to your library via Web Upload.":"Voeg lêers by jou biblioteek via Weboplaai.","Add Link":"Voeg skakel by","Add person?":"Voeg persoon by?","Add pictures from search results by selecting them.":"Voeg fotos by die soekresultate deur dit te kies.","Add to album":"Voeg aan album","Added":"Bygevoeg","Admin":"admin","Advanced":"Gevorderd","After 1 day":"Na 1 dag","After 3 days":"Na 3 dae","After 7 days":"Na 7 dae","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Nadat u u wagwoord ingevoer het vir bevestiging, kan u twee-faktor-verifikasie met 'n versoenbare verifikasie-toepassing of -toestel opstel:","After one month":"Na een maand","After one year":"Na een jaar","After selecting pictures from search results, you can add them to an album using the context menu.":"Nadat u fotos uit soekresultate gekies het, kan u dit aan 'n album voeg deur die kontekskieslys te gebruik.","After two months":"Na twee maande","After two weeks":"Na twee weke","Album":"Album","Album Backups":"Album Rugsteun","Album created":"Album geskep","Albums":"Albums","Albums deleted":"Albums uitgevee","All":"Almal","All %{n} albums loaded":"Alle %{n} albums gelaai","All %{n} labels loaded":"Alle %{n} etikette is gelaai","All %{n} people loaded":"Alle %{n} mense is gelaai","All Cameras":"Alle kameras","All Categories":"Alle kategorieë","All Colors":"Alle kleure","All Countries":"Alle lande","All fields are required":"Alle velde word vereis","All files from import folder":"Alle lêers vanaf invoergids","All Lenses":"Alle lense","All Months":"Alle Maande","All originals":"Alle oorspronklikes","All Years":"Alle Jare","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Alternatiewelik kan u lêers direk na WebDAV-bedieners soos Nextcloud oplaai.","Altitude":"Hoogte","Altitude (m)":"Hoogte (m)","AM":"AM","Animated":"Geanimeerde","Animation":"Animasie","Any private photos and videos remain private and won't be shared.":"Enige privaat foto's en video's bly privaat en sal nie gedeel word nie.","API Key":"API-sleutel","Application":"Toepassing","Apply":"Doen aansoek","Approve":"Keur goed","Apps and Devices":"Toepassings en toestelle","Archive":"Argief","Archived":"Geargiveer","Are you sure you want to archive the selection?":"Is jy seker jy wil die keuse argiveer?","Are you sure you want to delete these albums?":"Is jy seker jy wil hierdie albums uitvee?","Are you sure you want to delete these labels?":"Is jy seker jy wil hierdie etikette uitvee?","Are you sure you want to delete this account?":"Is jy seker jy wil hierdie rekening uitvee?","Are you sure you want to permanently delete these pictures?":"Is jy seker jy wil hierdie fotos permanent uitvee?","Are you sure you want to permanently delete this file?":"Is jy seker jy wil hierdie lêer permanent uitvee?","Are you sure?":"Is jy seker?","Artist":"Kunstenaar","Aspect Ratio":"Aspekverhouding","Audio":"Oudio","Authentication":"Stawing","Auto":"Outo","Back":"Terug","Back to top":"Terug na bo","Backup":"Ondersteuning","Badge":"Kenteken","Base Path":"Basispad","Become a member today, support our mission and enjoy our member benefits!":"Word vandag 'n lid, ondersteun ons missie en geniet ons ledevoordele!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Omdat ons 100% selfbefonds en onafhanklik is, kan ons jou belowe dat ons nooit jou data sal verkoop nie en dat ons altyd deursigtig sal wees oor ons sagteware en dienste.","Bio":"Bio","Birth Date":"Geboortedatum","Black":"Swart","Blackman: Lanczos Modification, Less Ringing Artifacts":"Swartman: Lanczos-wysiging, minder lui-artefakte","Blue":"Blou","Brown":"Bruin","Browse":"Snuffel","Browse and edit image classification labels.":"Blaai deur en wysig beeldklassifikasie-etikette.","Browse and share your pictures organized into monthly albums.":"Blaai deur en deel jou foto's wat in maandelikse albums georganiseer is.","Browse Files":"Blaai deur lêers","Browse indexed files and folders in Library.":"Blaai deur geïndekseerde lêers en dopgehou in Biblioteek.","Bug Report":"Fout verslag","Busy, please wait…":"Besig, wag asseblief…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Deur die sagteware en dienste wat ons verskaf te gebruik, stem jy in tot ons diensbepalings, privaatheidsbeleid en gedragskode.","Calendar":"Kalender","Camera":"Kamera","Camera Serial":"Kamerareeks","Can't access your authenticator app or device?":"Kan jy nie toegang tot jou verifikasieprogram of toestel kry nie?","Can't load more, limit reached":"Kan nie meer laai nie, limiet bereik","Can't select more items":"Kan nie meer items kies nie","Cancel":"Kanselleer","Caption":"Byskrif","Cards":"Kaarte","Carousel slide {0} of {1}":"Karrouselskyfie {0} van {1}","Category":"Kategorie","Change Avatar":"Verander Avatar","Change Password":"Verander wagwoord","Change personal profile and security settings.":"Verander persoonlike profiel en sekuriteitinstellings.","Change photo titles, locations, and other metadata.":"Verander fototitels, liggings en ander metadata.","Change private flag":"Verander privaat vlag","Changes could not be saved":"Veranderinge kon nie gestoor word nie","Changes successfully saved":"Veranderinge suksesvol gestoor","Changes to the advanced settings require a restart to take effect.":"Veranderinge aan die gevorderde instellings vereis 'n herbegin om in werking te tree.","Checked":"Gekontroleer","Chroma":"Chroma","Cleaning index and cache":"Skoonmaak indeks en kas","Cleanup":"Maak skoon","Clear {0}":"Vee {0} uit","Client":"Kliënt","Client Credentials":"Kliënt geloofsbriewe","Close":"Naby","Codec":"Kodek","Color":"Kleur","Color Profile":"Kleur profiel","Colors":"Kleure","Compare Editions":"Vergelyk uitgawes","Complete Rescan":"Voltooi herskandering","Confidence":"Vertroue","Confirm":"Bevestig","Connect":"Koppel","Connect via WebDAV":"Koppel via WebDAV","Connected":"Gekoppel","Contact Details":"Kontakbesonderhede","Contact Us":"Kontak Ons","Contains %{n} pictures.":"Bevat %{n} fotos.","Contains one picture.":"Bevat een foto.","Content":"Inhoud","Continue":"Aanhou","Continue with %{provider}":"Gaan voort met %{provider}","Contributor":"Bydraer","Converting":"Omskakeling","Copied to clipboard":"Gekopieer na knipbord","Copy":"Kopieer","Copyright":"Kopiereg","Couldn't find anything.":"Kon niks kry nie.","Country":"Land","Create Account":"Skep rekening","Create album":"Skep album","Create regular backups based on the configured schedule.":"Skep indeks rugsteun gebaseer op die gekonfigureerde skedule.","Create YAML files to back up album metadata.":"Skep YAML-lêers om albummetadata te rugsteun.","Create YAML sidecar files to back up picture metadata.":"Skep YAML-syspanlêers om prentmetadata te rugsteun.","Created":"Geskep","Creating thumbnails for":"Skep duimnaels vir","Cubic: Moderate Quality, Good Performance":"Kubus: Matige kwaliteit, goeie prestasie","Current Password":"huidige Sleutelwoord","Custom":"Pasgemaak","Cyan":"Siaan","Daily":"Daagliks","Database Backups":"Rugsteun van databasis","Day":"Dag","Deactivate":"Deaktiveer","Debug Logs":"Ontfout logs","Default":"Verstek","Default Folder":"Verstek gids","Delete":"Vee uit","Delete All":"Vee alles uit","Delete all?":"Vee alles uit?","Delete orphaned index entries, sidecar files and thumbnails.":"Vee wees indeksinskrywings, syspanlêers en duimnaels uit.","Description":"Beskrywing","Detailed instructions can be found in our User Guide.":"Gedetailleerde instruksies kan gevind word in ons gebruikersgids.","Details":"Besonderhede","Dimensions":"Afmetings","Disable Backups":"Deaktiveer rugsteun","Disable Darktable":"Deaktiveer Darktable","Disable ExifTool":"Deaktiveer ExifTool","Disable features that require write permission for the originals folder.":"Deaktiveer kenmerke wat skryftoestemming vir die oorspronklike lêergids vereis.","Disable FFmpeg":"Deaktiveer FFmpeg","Disable ImageMagick":"Deaktiveer ImageMagick","Disable interactive world maps and reverse geocoding.":"Deaktiveer interaktiewe wêreldkaarte en omgekeerde geokodering.","Disable Places":"Deaktiveer Plekke","Disable RawTherapee":"Deaktiveer RawTherapee","Disable TensorFlow":"Deaktiveer TensorFlow","Disable Vectors":"Deaktiveer vektore","Disable WebDAV":"Deaktiveer WebDAV","Disables vector graphics support.":"Deaktiveer vektorgrafika-ondersteuning.","Disables video transcoding and thumbnail extraction.":"Deaktiveer video-transkodering en duimnael-onttrekking.","Discover":"Ontdek","Dismiss":"Verwerp","Display Name":"Vertoon Naam","Display picture captions in search results.":"Wys prentbyskrifte in soekresultate.","Display picture titles in search results.":"Wys prenttitels in soekresultate.","Document":"Dokument","Documents":"Dokumente","Don't use Darktable to convert RAW images.":"Moenie Darktable gebruik om RAW-beelde om te skakel nie.","Don't use ImageMagick to convert images.":"Moenie ImageMagick gebruik om beelde om te skakel nie.","Don't use RawTherapee to convert RAW images.":"Moenie RawTherapee gebruik om RAW-beelde om te skakel nie.","Done":"Klaar","Done.":"Klaar.","Download":"Aflaai","Download only original media files, without any automatically generated files.":"Laai slegs oorspronklike medialêers af, sonder enige outomaties gegenereerde lêers.","Download remote files":"Laai afgeleë lêers af","Download single files and zip archives.":"Laai enkele lêers en zip-argiewe af.","Downloading…":"Laai tans af …","Downscaling Filter":"Afskaal filter","Drag and drop files here":"Sleep en los lêers hier","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"Weens die groot aantal e-posse wat ons ontvang, kan ons span dalk nie dadelik na jou toe terugkom nie.","Duplicates will be skipped and only appear once.":"Duplikate sal oorgeslaan word en slegs net een keer verskyn.","Duration":"Duur","Dynamic Previews":"Dinamiese voorskoue","Dynamic Size Limit: %{n}px":"Dinamiese groottelimiet: %{n}px","E-Mail":"E-pos","Edit":"Wysig","Edit %{s}":"Wysig %{s}","Edit Account":"Redigeer rekening","Edit Photo":"Redigeer foto","Edited":"Geredigeer","Email":"E-pos","Enable debug mode to display additional logs and help with troubleshooting.":"Aktiveer ontfoutmodus om bykomende logs te vertoon en help met foutsporing.","Enable new features that may be incomplete or unstable.":"Aktiveer nuwe kenmerke wat onvolledig of onstabiel kan wees.","Enables RAW converter presets. May reduce performance.":"Aktiveer RAW-omskakelaarvoorinstellings. Kan prestasie verminder.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Om tweefaktor-verifikasie te aktiveer beteken dat jy 'n lukraak gegenereerde verifikasiekode sal benodig om aan te meld, so selfs al kry iemand toegang tot jou wagwoord, sal hulle nie toegang tot jou rekening kan kry nie.","Enter date":"Voer datum in","Enter dates":"Voer datums in","Enter the code generated by your authenticator app:":"Voer die kode in wat deur jou authenticator-toepassing gegenereer word:","Enter verification code":"Tik verifikasiekode","Enter your password to confirm the action and continue:":"Voer jou wagwoord in om die handeling te bevestig en gaan voort:","Error":"Fout","Errors":"Foute","Estimate":"Skat","Estimate Locations":"Skat liggings","Estimate the approximate location of pictures without GPS coordinates.":"Skat die benaderde ligging van prente sonder GPS-koördinate.","Every two days":"Elke twee dae","Exclude content marked as private from search results, shared albums, labels, and places.":"Sluit inhoud wat as privaat gemerk is uit soekresultate, gedeelde albums, etikette en plekke uit.","Exclude hidden":"Sluit versteekte uit","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"Metadata-onttrekking met ExifTool word vereis vir volledige video-, regstreekse foto- en XMP-ondersteuning.","Experimental Features":"Eksperimentele kenmerke","Expires":"Verval","Exposure":"Blootstelling","Extract still images and generate thumbnails while indexing.":"Onttrek stilbeelde en genereer duimnaels tydens indeksering.","F Number":"F nommer","Face":"Gesig","Faces":"Gesigte","Failed removing link":"Kon nie skakel verwyder nie","Failed to connect account.":"Kon nie rekening koppel nie.","Failed updating link":"Kon nie skakel opdateer nie","Family Name":"Van","Fast":"Vinnig","Favorite":"Gunsteling","Favorites":"Gunstelinge","Feature Request":"Kenmerkversoek","Feedback":"Terugvoer","Female":"Vroulik","File":"lêer","File Browser":"Lêerblaaier","File Conversion":"Lêer-omskakeling","File Name":"Lêernaam","File Size":"Lêergrootte","Filename":"Lêernaam","Files":"Lêers","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Lêers met opeenvolgende name soos 'IMG_1234 (2)' en 'IMG_1234 (3)' behoort aan dieselfde prent.","First page":"Eerste bladsy","Focal Length":"Brandpuntsafstand","Folder":"Folder","Folder contains %{n} files":"Gids bevat %{n} lêers","Folder is empty":"Voer is leeg","Folders":"Dopsies","Forgot password?":"Wagwoord vergeet?","FPS":"FPS","Frames":"Rame","Full Access":"Volle toegang","Fullscreen":"Volskerm","General":"Algemeen","Generate":"Genereer","Generate albums of special moments, journeys, and places.":"Skep outomaties albums van spesiale oomblikke, reise en plekke.","Generate Previews":"Genereer voorskoue","Generated":"Gegenereer","Get Started":"Begin","Given Name":"Noemnaam","Global Options":"Globale Opsies","Go to page {0}":"Gaan na bladsy {0}","Gold":"Goud","Green":"Groen","Grey":"Grys","Guest":"Gas","Hash":"Hash","Help":"Help","Help & Support":"Hulp en ondersteuning","Hidden":"Versteek","Hidden Files":"Versteekte lêers","Hide":"Versteek","Hide photos that have been moved to archive.":"Versteek foto's wat na die argief geskuif is.","High":"Hoog","High Dynamic Range (HDR)":"Hoë Dinamiese Omvang (HDR)","How can we help?":"Hoe kan ons help?","Hybrid":"Hibried","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"As jy toegang tot jou staafprogram of toestel verloor, kan jy jou terugstellingkode gebruik om weer toegang tot jou rekening te kry.","Image":"Beeld","Image Quality":"Beeld kwaliteit","Import":"Invoer","Import failed":"Invoer het misluk","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Ingevoerde lêers sal volgens datum gesorteer word en 'n unieke naam gegee word om duplikate te vermy.","Imported files will be sorted by date and given a unique name.":"Ingevoerde lêers sal volgens datum gesorteer word en 'n unieke naam kry.","Importing %{s}…":"Voer tans %{s} in …","Importing files to originals…":"Voer tans lêers na oorspronklikes in …","in":"in","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"Indien prente wat jy verwag ontbreek, skandeer asseblief jou biblioteek en wag totdat indeksering voltooi is.","Include RAW image files when downloading stacks and archives.":"Sluit RAW-beeldlêers in wanneer stapels en argiewe afgelaai word.","Include sidecar files when downloading stacks and archives.":"Sluit syspanlêers in wanneer stapels en argiewe afgelaai word.","Increase storage size or delete files to continue.":"Vergroot stoorgrootte of vee lêers uit om voort te gaan.","Index":"Indeks","Index and import files through the user interface.":"Indekseer en voer lêers in deur die gebruikerskoppelvlak.","Indexing":"Indeksering","Indexing failed":"Kon nie indekseer nie","Indexing media and sidecar files…":"Indekseer tans media- en syspanlêers …","Information":"Inligting","Instance ID":"Geval ID","Insufficient storage.":"Onvoldoende berging.","Interval":"Interval","Invalid":"Ongeldig","Invalid address":"Ongeldige adres","Invalid country":"Ongeldige land","Invalid date":"Ongeldige datum","Invalid parameters":"Ongeldige parameters","Invalid photo selected":"Ongeldige foto gekies","Invalid time":"Ongeldige tyd","Invalid URL":"Ongeldige URL","It is a one-time use code that will disable 2FA for your account when you use it.":"Dit is 'n eenmalige gebruikskode wat 2FA vir jou rekening sal deaktiveer wanneer jy dit gebruik.","Item":"Item","Items per page:":"Items per bladsy:","JPEG Quality: %{n}":"JPEG-gehalte: %{n}","JPEG Size Limit: %{n}px":"JPEG-groottelimiet: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"JPEG's en duimnaels word outomaties weergegee soos nodig.","Keywords":"Sleutelwoorde","Label":"Etiket","Labels":"Etikette","Labels deleted":"Merkers uitgevee","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: Detailbewaring, minimale artefakte","Language":"Taal","Last Active":"Laas aktief","Last Login":"Laaste aanmelding","Last page":"Laaste bladsy","Last Sync":"Laaste sinkronisering","Last Used":"Laaste gebruik","Latitude":"Breedtegraad","LDAP/AD":"LDAP/AD","Learn more":"Leer meer","Learn More":"Kom meer te wete","Legal Information":"Regsinligting","Lens":"Lens","Library":"Biblioteek","License":"Lisensie","Like":"Soos","Lime":"Lemmetjie","Limit reached, showing first %{n} files":"Limiet bereik, wys eerste %{n} lêers","Linear: Very Smooth, Best Performance":"Lineêr: Baie glad, beste prestasie","Link":"Skakel","List":"Lys","List View":"Lys Aansig","Live":"Leef","Live Photos":"Regstreekse Foto's","Load more":"Laai meer","Loading items...":"Laai tans items...","Loading...":"Laai tans...","Local":"Plaaslik","Local Time":"Plaaslike tyd","Location":"Ligging","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Logboodskappe verskyn hier wanneer PhotoPrism gebreekte lêers teëkom of daar ander potensiële probleme is.","Login":"Teken aan","Logout":"Teken uit","Logs":"Logs","Longitude":"Lengtegraad","Low":"Laag","Magenta":"Magenta","Main Color":"Hoofkleur","Male":"Manlik","Manage Account":"Bestuur rekening","Manual":"Handleiding","Manual Upload":"Handmatige oplaai","Maps":"Kaarte","Marker":"Merker","Maximum number of accounts has been reached.":"Maksimum aantal rekeninge is bereik.","Media":"Media","Medium":"Medium","Membership":"Lidmaatskap","Merge %{a} with %{b}?":"Voeg %{a} saam met %{b}?","Message":"Boodskap","Message sent":"Boodskap gestuur","Metadata":"Metadata","Metrics":"Metrieke","Minimize":"Minimaliseer","Missing":"Vermis","Missing or invalid configuration":"Ontbrekende of ongeldige opstelling","Moments":"Oomblikke","Monochrome":"Monochroom","Month":"Maand","More options":"Meer opsies","Mosaic":"Mosaïek","Most Relevant":"Mees Relevant","Move Files":"Skuif lêers","Must have at least %{n} characters.":"Moet ten minste %{n} karakters hê.","Mute":"Demp","Name":"Naam","Name too long":"Naam te lank","Never":"Nooit nie","New":"Nuut","New Password":"Nuwe Wagwoord","Newest First":"Nuutste Eerste","Next":"Volgende","Next page":"Volgende bladsy","Next visual":"Volgende visuele","No":"Geen","No albums found":"Geen albums gevind nie","No data available":"Geen data beskikbaar nie","No labels found":"Geen etikette gevind nie","No matching records found":"Geen ooreenstemmende rekords gevind nie","No more":"Nie meer nie","No people found":"Geen mense gevind nie","No pictures found":"Geen foto's gevind nie","No recently edited pictures":"Geen onlangs geredigeerde prente nie","No server connection":"Geen bedienerverbinding nie","No servers configured.":"Geen bedieners is opgestel nie.","No services configured.":"Geen dienste opgestel nie.","No thanks":"Nee dankie","No warnings or error containing this keyword. Note that search is case-sensitive.":"Geen waarskuwings of foute wat hierdie sleutelwoord bevat nie. Let daarop dat soektog hooflettergevoelig is.","Non-photographic and low-quality images require a review before they appear in search results.":"Nie-fotografiese en lae kwaliteit prente vereis 'n hersiening voordat dit in soekresultate verskyn.","None":"Geen","Not allowed":"Nie toegelaat nie","Not found":"Nie gevind","Not sorted.":"Nie gesorteer nie.","Not supported":"Nie ondersteun nie","Note you may manually manage your originals folder and importing is optional.":"Let daarop dat u u oorspronklike lêergids met die hand kan bestuur en invoer is opsioneel.","Note:":"Let wel:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Let wel: Slegs WebDAV-bedieners, soos Nextcloud of PhotoPrism, kan as afgeleë diens opgestel word vir rugsteun en lêeroplaai.","Notes":"Notas","Nothing to see here yet.":"Nog niks om hier te sien nie.","Nothing was found.":"Niks is gevind nie.","Offline":"Vanlyn","OIDC":"OIDC","OK":"OK","Oldest First":"Oudste Eerste","On Windows, enter the following resource in the connection dialog:":"Op Windows, voer die volgende hulpbron in die verbindingsdialoog in:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"Op-aanvraag generering van duimnaels kan hoë SVE en geheuegebruik veroorsaak. Dit word nie aanbeveel vir hulpbronbeperkte bedieners en NAS-toestelle nie.","Once a week":"Een keer 'n week","One album found":"Een album gevind","One file found":"Een lêer gevind","One file uploaded":"Een lêer opgelaai","One folder found":"Een vouer gevind","One label found":"Een etiket gevind","One person found":"Een persoon gevind","One picture found":"Een foto gevind","Only locally managed accounts can be set up for authentication with 2FA.":"Slegs plaaslik bestuurde rekeninge kan opgestel word vir stawing met 2FA.","Open":"Maak oop","optional":"opsioneel","or":"of","Orange":"Oranje","Organization":"Organisasie","Orientation":"Oriëntering","Original file names will be stored and indexed.":"Oorspronklike lêername sal gestoor en geïndekseer word.","Original Name":"Oorspronklike naam","Originals":"Oorspronklikes","Other":"Ander","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Ons missie is om die mees gebruikers- en privaatheidsvriendelike oplossing te bied om jou foto's georganiseer en toeganklik te hou.","Outdoor":"Buitelug","Page {0}, Current page":"Bladsy {0}, Huidige bladsy","Pages":"Bladsye","Pagination Navigation":"Paginering navigasie","Panorama":"Panorama","Panoramas":"Panoramas","Password":"Wagwoord","Password changed":"Wagwoord verander","People":"Mense","People you share a link with will be able to view public contents.":"Mense met wie jy 'n skakel deel, sal publieke inhoud kan bekyk.","Permanently deleted":"Permanent uitgevee","Permanently remove files to free up storage.":"Verwyder lêers permanent om berging vry te maak.","Person":"Persoon","Personal":"Persoonlik","Photo":"Foto","PhotoPrism is 100% self-funded and independent.":"PhotoPrism is 100% selfbefonds en onafhanklik.","PhotoPrism+ Membership":"PhotoPrism+ Lidmaatskap","Photos":"Foto's","Picture Title":"Foto titel","Pink":"Pienk","Place":"Plek","Place & Time":"Plek & Tyd","Places":"Plekke","Please confirm your new password.":"Bevestig asseblief jou nuwe wagwoord.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Kopieer asseblief die volgende lukraak gegenereerde programwagwoord en hou dit op 'n veilige plek, aangesien jy dit nie weer sal kan sien nie:","Please do not upload any private, unlawful or offensive pictures.":"Moet asseblief geen privaat, onwettige of aanstootlike foto's oplaai nie.","Please don't upload photos containing offensive content.":"Moet asseblief nie foto's oplaai wat aanstootlike inhoud bevat nie.","Please enter OTP character {0}":"Voer asseblief OTP-karakter in {0}","Please note that changing your password will log you out on other devices and browsers.":"Neem asseblief kennis dat die verandering van jou wagwoord jou op ander toestelle en blaaiers sal afmeld.","Please restart your instance for the changes to take effect.":"Herbegin asseblief jou instansie vir die veranderinge om in werking te tree.","Please wait…":"Wag asseblief…","PM":"PM","PNG Size Limit: %{n}px":"PNG-groottelimiet: %{n}px","Portrait":"Portret","Preserve filenames":"Bewaar lêername","Press enter to create a new album.":"Druk enter om 'n nuwe album te skep.","Prevent database and album backups as well as YAML sidecar files from being created.":"Verhoed dat databasis- en albumrugsteun sowel as YAML-syspanlêers geskep word.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Verhoed dat ander programme toegang tot PhotoPrism as 'n gedeelde netwerkaandrywer verkry.","Preview":"Voorskou","Preview Images":"Voorskou prente","Previous":"Vorige","Previous page":"Vorige bladsy","Previous visual":"Vorige visuele","Primary":"Primêr","Private":"Privaat","Product Feedback":"Produkterugvoer","Projection":"Projeksie","Purple":"Pers","Quality Filter":"Kwaliteit filter","Quality Score":"Gehaltetelling","r":"r","Random":"Willekeurig","Rating {0} of {1}":"Gradering {0} van {1}","Raw":"Rou","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Herindekseer alle oorspronklikes, insluitend reeds geïndekseer en onveranderde lêers.","Read-Only Mode":"Leesalleen-modus","Recently Added":"Onlangs bygevoeg","Recently Archived":"Onlangs geargiveer","Recently Edited":"Onlangs geredigeer","Recognition starts after indexing has been completed.":"Erkenning begin nadat indeksering voltooi is.","Recognize faces so people can be assigned and found.":"Herken gesigte sodat spesifieke mense gevind kan word.","Recognized":"Herken","Recovery Code":"Herstel kode","Red":"Rooi","Refresh":"Verfris","Regions":"Streke","Register":"Registreer","Reload":"Herlaai","Reloading…":"Herlaai tans …","Remote Sync":"Afstandsinkronisering","Remove":"Verwyder","remove failed: unknown album":"verwyder misluk: onbekende album","Remove from Album":"Verwyder uit album","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Verwyder ingevoerde lêers om berging te bespaar. Nie-ondersteunde lêertipes sal nooit uitgevee word nie, hulle bly in hul huidige ligging.","Request failed - are you offline?":"Versoek het misluk - is jy vanlyn?","Request failed - invalid response":"Versoek het misluk – ongeldige antwoord","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Vereis dat nie-fotografiese en lae kwaliteit prente hersien word voordat dit in soekresultate verskyn.","Resolution":"Resolusie","Restart":"Begin oor","Restore":"Herstel","Restored":"Herstel","Retry Limit":"Herprobeer Limiet","Retype Password":"Tik wagwoord weer in","Review":"Resensie","Role":"Rol","Rows per page:":"Rye per bladsy:","Satellite":"Satelliet","Save":"Stoor","Scan":"Skandeer","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Skandeer die QR-kode met jou verifikasie-toepassing of gebruik die opstellingsleutel wat hieronder gewys word en voer dan die gegenereerde verifikasiekode in:","Scans":"Skanderings","Scope":"Omvang","Search":"Soek","Search and display photos on a map.":"Soek en vertoon foto's op 'n kaart.","Season":"Seisoen","Secret":"Geheim","Security and Access":"Sekuriteit en toegang","Select":"Kies","Select a source folder to import files…":"Kies 'n bronvouer om lêers in te voer…","Select date":"Kies datum","Select dates":"Kies datums","Select or create an album":"Kies of skep 'n album","Select the files to upload…":"Kies die lêers om op te laai…","Select the folder to be indexed…":"Kies die vouer om te indekseer…","Select Time":"Kies Tyd","Selection approved":"Seleksie goedgekeur","Selection archived":"Seleksie geargiveer","Selection restored":"Seleksie herstel","Sequential Name":"Opeenvolgende naam","Service URL":"Diens-URL","Services":"Dienste","Session":"Sessie","Session ID":"Sessie ID","Sessions":"Sessies","Set as Album Cover":"Stel as albumomslag","Settings":"Instellings","Settings saved":"Stellings gestoor","Setup":"Stel op","Share":"Deel","Share %{s}":"Deel %{s}","Share your pictures with other apps and services.":"Deel jou foto's met ander programme en dienste.","Show":"Wys","Show all new faces":"Wys alle nuwe gesigte","Show Captions":"Wys onderskrifte","Show hidden":"Wys versteek","Show less":"Wys minder","Show more":"Wys meer","Show server logs in Library.":"Wys bedienerlogboeke in Biblioteek.","Show Titles":"Wys titels","Sidecar":"Syspan","Sidecar Files":"Syspan lêers","Sign in":"Meld aan","Similar":"Soortgelyk","Size":"Grootte","Slideshow":"Skyfievertoning","Slow":"Stadig","Software":"Sagteware","Software Update":"Sagteware-opdatering","Something went wrong, try again":"Iets het verkeerd geloop, probeer weer","Sort by":"Sorteer volgens","Sort Order":"Sorteervolgorde","Sorted ascending.":"Oplopend gesorteer.","Sorted descending.":"Aflopend gesorteer.","Source":"Bron","Stack":"Stapel","Stack files sharing the same unique image or instance identifier.":"Stapel lêers wat dieselfde unieke beeld of instansie identifiseerder deel.","Stack pictures taken at the exact same time and location based on their metadata.":"Stapel foto's geneem op presies dieselfde tyd en plek gebaseer op hul metadata.","Stackable":"Stapelbaar","Stacks":"Stapels","Start":"Begin","Start Page":"Begin bladsy","Static Size Limit: %{n}px":"Statiese groottelimiet: %{n}px","Status":"Status","Storage":"Berging","Streets":"Strate","Subject":"Onderwerp","Submit":"Dien in","Successfully activated":"Suksesvol geaktiveer","Successfully Connected":"Suksesvol gekoppel","Successfully deleted":"Suksesvol uitgevee","Successfully verified":"Suksesvol geverifieer","Super Admin":"Super Admin","Support for additional services, like Google Drive, will be added over time.":"Ondersteuning vir bykomende dienste, soos Google Drive, sal mettertyd bygevoeg word.","Support Our Mission":"Ondersteun ons missie","Sync":"Sinkroniseer","Sync raw and video files":"Sinkroniseer rou- en videolêers","Taken":"Geneem","Teal":"Blauwgroen","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow word vereis vir beeldklassifikasie, gesigsherkenning en die opsporing van onveilige inhoud.","Terrain":"Terrein","Text":"Teks","Text too long":"Teks te lank","Thank You for Your Support!":"Dankie vir jou ondersteuning!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Dit is hoekom PhotoPrism van die grond af gebou is om te werk waar jy dit ook al nodig het, sonder om vryheid, privaatheid of funksionaliteit in te boet.","The index currently contains %{n} hidden files.":"Die indeks bevat tans %{n} versteekte lêers.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Hulle formaat word dalk nie ondersteun nie, hulle is nog nie na JPEG omgeskakel nie of daar is duplikate.","Theme":"Tema","This field is required":"Hierdie veld word vereis","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Dit plaas die oorspronklike lêergids as 'n netwerkaandrywer en laat jou toe om lêers van jou rekenaar of slimfoon oop te maak, te redigeer en uit te vee asof dit plaaslik is.","Time UTC":"Tyd UTC","Time Zone":"Tydsone","Timeout":"Uitteltyd","Title":{"Account":"Titel","Photo":"Titel","":"Titel"},"Title / Position":"Titel / Posisie","Title too long":"Titel te lank","to":"aan","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Om te verhoed dat jy uit jou rekening gesluit word, laai asseblief hierdie herstelkode nou af, druk of kopieer dit en hou dit op 'n veilige plek.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Om 'n nuwe programspesifieke wagwoord te genereer, voer asseblief die naam en magtigingsomvang van die toepassing in en kies 'n vervaldatum:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Om oor te skakel na 'n nuwe authenticator-toepassing of -toestel, deaktiveer eers twee-faktor-stawing en heraktiveer dit dan:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Om op te gradeer, kan jy óf 'n aktiveringskode invoer óf \"Registreer\" klik om op ons webwerf aan te meld:","Today":"Vandag","Toggle View":"Wissel aansig","Token":"Teken","Too many files selected":"Te veel lêers gekies","Too many requests":"Te veel versoeke","Troubleshooting":"Probleemoplossing","Try again using other filters or keywords.":"Probeer weer met ander filters of sleutelwoorde.","Two-factor authentication has been enabled for your account.":"Twee-faktor-stawing is vir jou rekening geaktiveer.","Type":"Tik","Unauthorized":"Ongemagtig","Undo":"Ontdoen","Unique ID":"Unieke ID","Unknown":"Onbekend","Unregistered":"Ongeregistreer","Unsorted":"Ongesorteer","Unstack":"Ontstapel","Updated":"Opgedateer","Updating faces":"Dateer tans gesigte op","Updating index":"Dateer indeks op","Updating moments":"Dateer tans oomblikke op","Updating picture…":"Dateer tans prent op …","Updating previews":"Opdatering van voorskoue","Updating stacks":"Dateer stapels op","Upgrade":"Gradeer op","Upgrade Now":"Gradeer nou op","Upload":"Laai op","Upload complete":"Oplaai voltooi","Upload complete. Indexing…":"Oplaai voltooi. Indekseer tans …","Upload failed":"Oplegging misluk","Upload local files":"Laai plaaslike lêers op","Upload Path":"Oplaai pad","Upload to WebDAV and share links with friends.":"Laai op na WebDAV en deel skakels met vriende.","Uploading %{n} of %{t}…":"Laai tans %{n} van %{t} op…","Uploading photos…":"Laai tans foto's op …","Uploading…":"Laai tans op …","Uploads that may contain such images will be rejected automatically.":"Oplaaie wat sulke beelde kan bevat, sal outomaties verwerp word.","Use Presets":"Gebruik voorafinstellings","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Gebruik die volgende terugstellingkode om toegang tot jou rekening te kry wanneer jy nie 'n geldige verifikasiekode met jou staafmakerprogram kan genereer nie:","Use your recovery code or contact an administrator for help.":"Gebruik jou herstelkode of kontak 'n administrateur vir hulp.","User":"Gebruiker","User Guide":"Handleiding","User Interface":"Gebruikerskoppelvlak","Username":"Gebruikersnaam","Users":"Gebruikers","Vector":"Vektor","Vectors":"Vektore","Verification Code":"Verifikasie kode","Video":"Video","Video Duration":"Video Duur","Videos":"Video's","View":"Beskou","View search results as a list.":"Bekyk soekresultate as 'n lys.","Viewer":"Kyker","Visitor":"Besoeker","Visual Similarity":"Visuele ooreenkoms","Warning":"Waarskuwing","We appreciate your feedback!":"Ons waardeer jou terugvoer!","We do our best to respond within five business days or less.":"Ons doen ons bes om binne vyf werksdae of minder te reageer.","Web Login":"Web aanmeld","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"WebDAV-kliënte kan aan PhotoPrism koppel deur die volgende URL te gebruik:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"WebDAV-kliënte, soos Microsoft se Windows Explorer of Apple's Finder, kan direk aan PhotoPrism koppel.","WebDAV Upload":"WebDAV oplaai","WebGL support is disabled in your browser":"WebGL-ondersteuning is in jou blaaier gedeaktiveer","Website":"Webwerf","White":"Wit","Work Details":"Werkbesonderhede","Year":"Jaar","Yellow":"Geel","Yes":"Ja","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Jy is welkom om ons te kontak by membership@photoprism.app vir vrae oor jou lidmaatskap.","You can only download one album":"Jy kan net een album aflaai","You can only download one label":"Jy kan net een etiket aflaai","You can upload up to %{n} files for test purposes.":"Jy kan tot %{n} lêers oplaai vir toetsdoeleindes.","You may only select one item":"Jy mag net een item kies","You may rescan your library to find additional faces.":"Jy kan jou biblioteek herskandeer om bykomende gesigte te vind.","Your account has been successfully connected.":"Jou rekening is suksesvol gekoppel.","Your browser does not support WebGL":"Jou blaaier ondersteun nie WebGL nie","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Jou volgehoue ondersteuning help ons om gereelde opdaterings te verskaf en onafhanklik te bly, sodat ons ons missie kan vervul en jou privaatheid kan beskerm.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Jou biblioteek word voortdurend ontleed om outomaties albums van spesiale oomblikke, reise en plekke te skep.","Zoom in/out":"Zoem in/uit"}} \ No newline at end of file +{"af":{"{0} appended action":"{0} aangehegte handeling","{0} files":"{0} lêers","{0} files ({1} in total)":"{0} lêers ({1} in totaal)","{0} more":"{0} meer","{0} prepended action":"{0} voorgeskrewe handeling","{0} selected":"{0} gekies","{0}-{1} of {2}":"{0}-{1} van {2}","%{n} albums found":"%{n} albums gevind","%{n} files uploaded":"%{n} lêers opgelaai","%{n} folders found":"%{n} vouers gevind","%{n} GB of %{q} GB used":"%{n} GB van %{q} GB gebruik","%{n} labels found":"%{n} etikette gevind","%{n} people found":"%{n} mense gevind","%{n} pictures found":"%{n} fotos gevind","%{s} is too long":"%{s} is te lank","%{s} is too short":"%{s} is te kort","1 hour":"1 uur","12 hours":"12 ure","2-Factor Authentication":"2-faktor-verifikasie","2FA":"2FA","4 hours":"4 ure","A click will copy it to your clipboard.":"'n Klik sal dit na jou knipbord kopieer.","A new version of %{s} is available:":"'n Nuwe weergawe van %{s} is beskikbaar:","About":"Oor","Access Token":"Toegang Token","Account":"Rekening","Account created":"Rekening geskep","Account deleted":"Rekening is uitgevee","Account restored":"Rekening is teruggestel","Accounts":"Rekeninge","Accuracy":"Akkuraatheid","Action":"Aksie","Actions":"Aksies","Activate":"Aktiveer","Activate to remove sorting.":"Aktiveer om sortering te verwyder.","Activate to sort ascending.":"Aktiveer om stygend te sorteer.","Activate to sort descending.":"Aktiveer om dalend te sorteer.","Activation Code":"Aktiverings kode","Add":"Voeg by","Add %{s}?":"Voeg %{s} by?","Add Account":"Voeg rekening","Add Album":"Voeg album by","Add files to your library via Web Upload.":"Voeg lêers by jou biblioteek via Weboplaai.","Add Link":"Voeg skakel by","Add person?":"Voeg persoon by?","Add pictures from search results by selecting them.":"Voeg fotos by die soekresultate deur dit te kies.","Add to album":"Voeg aan album","Added":"Bygevoeg","Adjust Location":"Pas Ligging aan","Admin":"admin","Advanced":"Gevorderd","After 1 day":"Na 1 dag","After 3 days":"Na 3 dae","After 7 days":"Na 7 dae","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Nadat u u wagwoord ingevoer het vir bevestiging, kan u twee-faktor-verifikasie met 'n versoenbare verifikasie-toepassing of -toestel opstel:","After one month":"Na een maand","After one year":"Na een jaar","After selecting pictures from search results, you can add them to an album using the context menu.":"Nadat u fotos uit soekresultate gekies het, kan u dit aan 'n album voeg deur die kontekskieslys te gebruik.","After two months":"Na twee maande","After two weeks":"Na twee weke","Album":"Album","Album Backups":"Album Rugsteun","Album created":"Album geskep","Album deleted":"Album uitgevee","Albums":"Albums","Albums deleted":"Albums uitgevee","All":"Almal","All %{n} albums loaded":"Alle %{n} albums gelaai","All %{n} labels loaded":"Alle %{n} etikette is gelaai","All %{n} people loaded":"Alle %{n} mense is gelaai","All Cameras":"Alle kameras","All Categories":"Alle kategorieë","All Colors":"Alle kleure","All Countries":"Alle lande","All fields are required":"Alle velde word vereis","All files from import folder":"Alle lêers vanaf invoergids","All Lenses":"Alle lense","All Months":"Alle Maande","All originals":"Alle oorspronklikes","All Years":"Alle Jare","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Alternatiewelik kan u lêers direk na WebDAV-bedieners soos Nextcloud oplaai.","Altitude":"Hoogte","Altitude (m)":"Hoogte (m)","AM":"AM","Animated":"Geanimeerde","Animation":"Animasie","Animations":"Animasies","Any private photos and videos remain private and won't be shared.":"Enige privaat foto's en video's bly privaat en sal nie gedeel word nie.","API Key":"API-sleutel","Application":"Toepassing","Apply":"Doen aansoek","Approve":"Keur goed","Apps and Devices":"Toepassings en toestelle","Archive":"Argief","Archived":"Geargiveer","Are you sure you want to archive the selection?":"Is jy seker jy wil die keuse argiveer?","Are you sure you want to delete these albums?":"Is jy seker jy wil hierdie albums uitvee?","Are you sure you want to delete these labels?":"Is jy seker jy wil hierdie etikette uitvee?","Are you sure you want to delete this account?":"Is jy seker jy wil hierdie rekening uitvee?","Are you sure you want to delete this album?":"Is jy seker jy wil hierdie album verwyder?","Are you sure you want to permanently delete these pictures?":"Is jy seker jy wil hierdie fotos permanent uitvee?","Are you sure you want to permanently delete this file?":"Is jy seker jy wil hierdie lêer permanent uitvee?","Are you sure?":"Is jy seker?","Artist":"Kunstenaar","Aspect Ratio":"Aspekverhouding","Audio":"Oudio","Authentication":"Stawing","Auto":"Outo","Back":"Terug","Back to top":"Terug na bo","Backup":"Ondersteuning","Badge":"Kenteken","Base Path":"Basispad","Become a member today, support our mission and enjoy our member benefits!":"Word vandag 'n lid, ondersteun ons missie en geniet ons ledevoordele!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Omdat ons 100% selfbefonds en onafhanklik is, kan ons jou belowe dat ons nooit jou data sal verkoop nie en dat ons altyd deursigtig sal wees oor ons sagteware en dienste.","Bio":"Bio","Birth Date":"Geboortedatum","Black":"Swart","Blackman: Lanczos Modification, Less Ringing Artifacts":"Swartman: Lanczos-wysiging, minder lui-artefakte","Blue":"Blou","Brown":"Bruin","Browse":"Snuffel","Browse and edit image classification labels.":"Blaai deur en wysig beeldklassifikasie-etikette.","Browse and share your pictures organized into monthly albums.":"Blaai deur en deel jou foto's wat in maandelikse albums georganiseer is.","Browse Files":"Blaai deur lêers","Browse indexed files and folders in Library.":"Blaai deur geïndekseerde lêers en dopgehou in Biblioteek.","Bug Report":"Fout verslag","Busy, please wait…":"Besig, wag asseblief…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Deur die sagteware en dienste wat ons verskaf te gebruik, stem jy in tot ons diensbepalings, privaatheidsbeleid en gedragskode.","Calendar":"Kalender","Camera":"Kamera","Camera Serial":"Kamerareeks","Can't access your authenticator app or device?":"Kan jy nie toegang tot jou verifikasieprogram of toestel kry nie?","Can't load more, limit reached":"Kan nie meer laai nie, limiet bereik","Can't select more items":"Kan nie meer items kies nie","Cancel":"Kanselleer","Cannot copy to clipboard":"Kan nie na knipbord kopieer nie","Caption":"Byskrif","Cards":"Kaarte","Carousel slide {0} of {1}":"Karrouselskyfie {0} van {1}","Category":"Kategorie","Change Avatar":"Verander Avatar","Change Password":"Verander wagwoord","Change personal profile and security settings.":"Verander persoonlike profiel en sekuriteitinstellings.","Change photo titles, locations, and other metadata.":"Verander fototitels, liggings en ander metadata.","Change private flag":"Verander privaat vlag","Changes could not be saved":"Veranderinge kon nie gestoor word nie","Changes successfully saved":"Veranderinge suksesvol gestoor","Changes to the advanced settings require a restart to take effect.":"Veranderinge aan die gevorderde instellings vereis 'n herbegin om in werking te tree.","Checked":"Gekontroleer","Chroma":"Chroma","Cleaning index and cache":"Skoonmaak indeks en kas","Cleanup":"Maak skoon","Clear {0}":"Vee {0} uit","Client":"Kliënt","Client Credentials":"Kliënt geloofsbriewe","Close":"Naby","Codec":"Kodek","Color":"Kleur","Color Profile":"Kleur profiel","Colors":"Kleure","Compare Editions":"Vergelyk uitgawes","Complete Rescan":"Voltooi herskandering","Confidence":"Vertroue","Confirm":"Bevestig","Connect":"Koppel","Connect via WebDAV":"Koppel via WebDAV","Connected":"Gekoppel","Contact Details":"Kontakbesonderhede","Contact Us":"Kontak Ons","Contains %{n} pictures.":"Bevat %{n} fotos.","Contains one picture.":"Bevat een foto.","Content":"Inhoud","Continue":"Aanhou","Continue with %{provider}":"Gaan voort met %{provider}","Contributor":"Bydraer","Converting":"Omskakeling","Copied to clipboard":"Gekopieer na knipbord","Copy":"Kopieer","Copyright":"Kopiereg","Couldn't find anything.":"Kon niks kry nie.","Country":"Land","Create Account":"Skep rekening","Create album":"Skep album","Create regular backups based on the configured schedule.":"Skep indeks rugsteun gebaseer op die gekonfigureerde skedule.","Create YAML files to back up album metadata.":"Skep YAML-lêers om albummetadata te rugsteun.","Create YAML sidecar files to back up picture metadata.":"Skep YAML-syspanlêers om prentmetadata te rugsteun.","Created":"Geskep","Creating thumbnails for":"Skep duimnaels vir","Cubic: Moderate Quality, Good Performance":"Kubus: Matige kwaliteit, goeie prestasie","Current Password":"huidige Sleutelwoord","Custom":"Pasgemaak","Cyan":"Siaan","Daily":"Daagliks","Database Backups":"Rugsteun van databasis","Day":"Dag","Deactivate":"Deaktiveer","Debug Logs":"Ontfout logs","Default":"Verstek","Default Folder":"Verstek gids","Delete":"Vee uit","Delete Album":"Vee Album Uit","Delete All":"Vee alles uit","Delete all?":"Vee alles uit?","Delete orphaned index entries, sidecar files and thumbnails.":"Vee wees indeksinskrywings, syspanlêers en duimnaels uit.","Description":"Beskrywing","Detailed instructions can be found in our User Guide.":"Gedetailleerde instruksies kan gevind word in ons gebruikersgids.","Details":"Besonderhede","Dimensions":"Afmetings","Disable Backups":"Deaktiveer rugsteun","Disable Darktable":"Deaktiveer Darktable","Disable ExifTool":"Deaktiveer ExifTool","Disable features that require write permission for the originals folder.":"Deaktiveer kenmerke wat skryftoestemming vir die oorspronklike lêergids vereis.","Disable FFmpeg":"Deaktiveer FFmpeg","Disable ImageMagick":"Deaktiveer ImageMagick","Disable interactive world maps and reverse geocoding.":"Deaktiveer interaktiewe wêreldkaarte en omgekeerde geokodering.","Disable Places":"Deaktiveer Plekke","Disable RawTherapee":"Deaktiveer RawTherapee","Disable TensorFlow":"Deaktiveer TensorFlow","Disable Vectors":"Deaktiveer vektore","Disable WebDAV":"Deaktiveer WebDAV","Disables vector graphics support.":"Deaktiveer vektorgrafika-ondersteuning.","Disables video transcoding and thumbnail extraction.":"Deaktiveer video-transkodering en duimnael-onttrekking.","Discover":"Ontdek","Dismiss":"Verwerp","Display Name":"Vertoon Naam","Display picture captions in search results.":"Wys prentbyskrifte in soekresultate.","Display picture titles in search results.":"Wys prenttitels in soekresultate.","Document":"Dokument","Documents":"Dokumente","Don't use Darktable to convert RAW images.":"Moenie Darktable gebruik om RAW-beelde om te skakel nie.","Don't use ImageMagick to convert images.":"Moenie ImageMagick gebruik om beelde om te skakel nie.","Don't use RawTherapee to convert RAW images.":"Moenie RawTherapee gebruik om RAW-beelde om te skakel nie.","Done":"Klaar","Done.":"Klaar.","Download":"Aflaai","Download only original media files, without any automatically generated files.":"Laai slegs oorspronklike medialêers af, sonder enige outomaties gegenereerde lêers.","Download remote files":"Laai afgeleë lêers af","Download single files and zip archives.":"Laai enkele lêers en zip-argiewe af.","Downloading…":"Laai tans af …","Downscaling Filter":"Afskaal filter","Drag and drop files here":"Sleep en los lêers hier","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"Weens die groot aantal e-posse wat ons ontvang, kan ons span dalk nie dadelik na jou toe terugkom nie.","Duplicates will be skipped and only appear once.":"Duplikate sal oorgeslaan word en slegs net een keer verskyn.","Duration":"Duur","Dynamic Previews":"Dinamiese voorskoue","Dynamic Size Limit: %{n}px":"Dinamiese groottelimiet: %{n}px","E-Mail":"E-pos","Edit":"Wysig","Edit %{s}":"Wysig %{s}","Edit Account":"Redigeer rekening","Edit Photo":"Redigeer foto","Edited":"Geredigeer","Email":"E-pos","Enable debug mode to display additional logs and help with troubleshooting.":"Aktiveer ontfoutmodus om bykomende logs te vertoon en help met foutsporing.","Enable new features that may be incomplete or unstable.":"Aktiveer nuwe kenmerke wat onvolledig of onstabiel kan wees.","Enables RAW converter presets. May reduce performance.":"Aktiveer RAW-omskakelaarvoorinstellings. Kan prestasie verminder.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Om tweefaktor-verifikasie te aktiveer beteken dat jy 'n lukraak gegenereerde verifikasiekode sal benodig om aan te meld, so selfs al kry iemand toegang tot jou wagwoord, sal hulle nie toegang tot jou rekening kan kry nie.","Enter date":"Voer datum in","Enter dates":"Voer datums in","Enter the code generated by your authenticator app:":"Voer die kode in wat deur jou authenticator-toepassing gegenereer word:","Enter verification code":"Tik verifikasiekode","Enter your password to confirm the action and continue:":"Voer jou wagwoord in om die handeling te bevestig en gaan voort:","Error":"Fout","Errors":"Foute","Estimate":"Skat","Estimate Locations":"Skat liggings","Estimate the approximate location of pictures without GPS coordinates.":"Skat die benaderde ligging van prente sonder GPS-koördinate.","Every two days":"Elke twee dae","Exclude content marked as private from search results, shared albums, labels, and places.":"Sluit inhoud wat as privaat gemerk is uit soekresultate, gedeelde albums, etikette en plekke uit.","Exclude hidden":"Sluit versteekte uit","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"Metadata-onttrekking met ExifTool word vereis vir volledige video-, regstreekse foto- en XMP-ondersteuning.","Experimental Features":"Eksperimentele kenmerke","Expires":"Verval","Exposure":"Blootstelling","Extract still images and generate thumbnails while indexing.":"Onttrek stilbeelde en genereer duimnaels tydens indeksering.","F Number":"F nommer","Face":"Gesig","Faces":"Gesigte","Failed removing link":"Kon nie skakel verwyder nie","Failed to connect account.":"Kon nie rekening koppel nie.","Failed updating link":"Kon nie skakel opdateer nie","Family Name":"Van","Fast":"Vinnig","Favorite":"Gunsteling","Favorites":"Gunstelinge","Feature Request":"Kenmerkversoek","Feedback":"Terugvoer","Female":"Vroulik","File":"lêer","File Browser":"Lêerblaaier","File Conversion":"Lêer-omskakeling","File Name":"Lêernaam","File Size":"Lêergrootte","Filename":"Lêernaam","Files":"Lêers","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Lêers met opeenvolgende name soos 'IMG_1234 (2)' en 'IMG_1234 (3)' behoort aan dieselfde prent.","First page":"Eerste bladsy","Focal Length":"Brandpuntsafstand","Folder":"Folder","Folder contains %{n} files":"Gids bevat %{n} lêers","Folder is empty":"Voer is leeg","Folders":"Dopsies","Forgot password?":"Wagwoord vergeet?","FPS":"FPS","Frames":"Rame","Full Access":"Volle toegang","Fullscreen":"Volskerm","General":"Algemeen","Generate":"Genereer","Generate albums of special moments, journeys, and places.":"Skep outomaties albums van spesiale oomblikke, reise en plekke.","Generate Previews":"Genereer voorskoue","Generated":"Gegenereer","Get Started":"Begin","Given Name":"Noemnaam","Global Options":"Globale Opsies","Go to page {0}":"Gaan na bladsy {0}","Gold":"Goud","Green":"Groen","Grey":"Grys","Guest":"Gas","Hash":"Hash","Help":"Help","Help & Support":"Hulp en ondersteuning","Hidden":"Versteek","Hidden Files":"Versteekte lêers","Hide":"Versteek","Hide photos that have been moved to archive.":"Versteek foto's wat na die argief geskuif is.","High":"Hoog","High Dynamic Range (HDR)":"Hoë Dinamiese Omvang (HDR)","How can we help?":"Hoe kan ons help?","Hybrid":"Hibried","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"As jy toegang tot jou staafprogram of toestel verloor, kan jy jou terugstellingkode gebruik om weer toegang tot jou rekening te kry.","Image":"Beeld","Image Quality":"Beeld kwaliteit","Import":"Invoer","Import failed":"Invoer het misluk","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Ingevoerde lêers sal volgens datum gesorteer word en 'n unieke naam gegee word om duplikate te vermy.","Imported files will be sorted by date and given a unique name.":"Ingevoerde lêers sal volgens datum gesorteer word en 'n unieke naam kry.","Importing %{s}…":"Voer tans %{s} in …","Importing files to originals…":"Voer tans lêers na oorspronklikes in …","in":"in","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"Indien prente wat jy verwag ontbreek, skandeer asseblief jou biblioteek en wag totdat indeksering voltooi is.","Include RAW image files when downloading stacks and archives.":"Sluit RAW-beeldlêers in wanneer stapels en argiewe afgelaai word.","Include sidecar files when downloading stacks and archives.":"Sluit syspanlêers in wanneer stapels en argiewe afgelaai word.","Increase storage size or delete files to continue.":"Vergroot stoorgrootte of vee lêers uit om voort te gaan.","Index":"Indeks","Index and import files through the user interface.":"Indekseer en voer lêers in deur die gebruikerskoppelvlak.","Indexing":"Indeksering","Indexing failed":"Kon nie indekseer nie","Indexing media and sidecar files…":"Indekseer tans media- en syspanlêers …","Information":"Inligting","Instance ID":"Geval ID","Insufficient storage.":"Onvoldoende berging.","Interval":"Interval","Invalid":"Ongeldig","Invalid address":"Ongeldige adres","Invalid country":"Ongeldige land","Invalid date":"Ongeldige datum","Invalid parameters":"Ongeldige parameters","Invalid photo selected":"Ongeldige foto gekies","Invalid time":"Ongeldige tyd","Invalid URL":"Ongeldige URL","It is a one-time use code that will disable 2FA for your account when you use it.":"Dit is 'n eenmalige gebruikskode wat 2FA vir jou rekening sal deaktiveer wanneer jy dit gebruik.","Item":"Item","Items per page:":"Items per bladsy:","JPEG Quality: %{n}":"JPEG-gehalte: %{n}","JPEG Size Limit: %{n}px":"JPEG-groottelimiet: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"JPEG's en duimnaels word outomaties weergegee soos nodig.","Keywords":"Sleutelwoorde","Label":"Etiket","Labels":"Etikette","Labels deleted":"Merkers uitgevee","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: Detailbewaring, minimale artefakte","Language":"Taal","Last Active":"Laas aktief","Last Login":"Laaste aanmelding","Last page":"Laaste bladsy","Last Sync":"Laaste sinkronisering","Last Used":"Laaste gebruik","Latitude":"Breedtegraad","LDAP/AD":"LDAP/AD","Learn more":"Leer meer","Learn More":"Kom meer te wete","Legal Information":"Regsinligting","Lens":"Lens","Library":"Biblioteek","License":"Lisensie","Like":"Soos","Lime":"Lemmetjie","Limit reached, showing first %{n} files":"Limiet bereik, wys eerste %{n} lêers","Linear: Very Smooth, Best Performance":"Lineêr: Baie glad, beste prestasie","Link":"Skakel","List":"Lys","List View":"Lys Aansig","Live":"Leef","Live Photos":"Regstreekse Foto's","Load more":"Laai meer","Loading items...":"Laai tans items...","Loading...":"Laai tans...","Local":"Plaaslik","Local Time":"Plaaslike tyd","Location":"Ligging","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Logboodskappe verskyn hier wanneer PhotoPrism gebreekte lêers teëkom of daar ander potensiële probleme is.","Login":"Teken aan","Logout":"Teken uit","Logs":"Logs","Longitude":"Lengtegraad","Low":"Laag","Magenta":"Magenta","Main Color":"Hoofkleur","Male":"Manlik","Manage Account":"Bestuur rekening","Manager":"Bestuurder","Manual":"Handleiding","Manual Upload":"Handmatige oplaai","Maps":"Kaarte","Marker":"Merker","Maximum number of accounts has been reached.":"Maksimum aantal rekeninge is bereik.","Media":"Media","Medium":"Medium","Membership":"Lidmaatskap","Merge %{a} with %{b}?":"Voeg %{a} saam met %{b}?","Message":"Boodskap","Message sent":"Boodskap gestuur","Metadata":"Metadata","Metrics":"Metrieke","Minimize":"Minimaliseer","Missing":"Vermis","Missing or invalid configuration":"Ontbrekende of ongeldige opstelling","Moments":"Oomblikke","Monochrome":"Monochroom","Month":"Maand","More options":"Meer opsies","Mosaic":"Mosaïek","Most Relevant":"Mees Relevant","Move Files":"Skuif lêers","Must have at least %{n} characters.":"Moet ten minste %{n} karakters hê.","Mute":"Demp","Name":"Naam","Name too long":"Naam te lank","Never":"Nooit nie","New":"Nuut","New Password":"Nuwe Wagwoord","Newest First":"Nuutste Eerste","Next":"Volgende","Next page":"Volgende bladsy","Next visual":"Volgende visuele","No":"Geen","No albums found":"Geen albums gevind nie","No data available":"Geen data beskikbaar nie","No labels found":"Geen etikette gevind nie","No matching records found":"Geen ooreenstemmende rekords gevind nie","No more":"Nie meer nie","No people found":"Geen mense gevind nie","No pictures found":"Geen foto's gevind nie","No recently edited pictures":"Geen onlangs geredigeerde prente nie","No results":"Geen resultate nie","No server connection":"Geen bedienerverbinding nie","No servers configured.":"Geen bedieners is opgestel nie.","No services configured.":"Geen dienste opgestel nie.","No thanks":"Nee dankie","No warnings or error containing this keyword. Note that search is case-sensitive.":"Geen waarskuwings of foute wat hierdie sleutelwoord bevat nie. Let daarop dat soektog hooflettergevoelig is.","Non-photographic and low-quality images require a review before they appear in search results.":"Nie-fotografiese en lae kwaliteit prente vereis 'n hersiening voordat dit in soekresultate verskyn.","None":"Geen","Not allowed":"Nie toegelaat nie","Not found":"Nie gevind","Not sorted.":"Nie gesorteer nie.","Not supported":"Nie ondersteun nie","Note you may manually manage your originals folder and importing is optional.":"Let daarop dat u u oorspronklike lêergids met die hand kan bestuur en invoer is opsioneel.","Note:":"Let wel:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Let wel: Slegs WebDAV-bedieners, soos Nextcloud of PhotoPrism, kan as afgeleë diens opgestel word vir rugsteun en lêeroplaai.","Notes":"Notas","Nothing to see here yet.":"Nog niks om hier te sien nie.","Nothing was found.":"Niks is gevind nie.","Offline":"Vanlyn","OIDC":"OIDC","OK":"OK","Oldest First":"Oudste Eerste","On Windows, enter the following resource in the connection dialog:":"Op Windows, voer die volgende hulpbron in die verbindingsdialoog in:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"Op-aanvraag generering van duimnaels kan hoë SVE en geheuegebruik veroorsaak. Dit word nie aanbeveel vir hulpbronbeperkte bedieners en NAS-toestelle nie.","Once a week":"Een keer 'n week","One album found":"Een album gevind","One file found":"Een lêer gevind","One file uploaded":"Een lêer opgelaai","One folder found":"Een vouer gevind","One label found":"Een etiket gevind","One person found":"Een persoon gevind","One picture found":"Een foto gevind","Only locally managed accounts can be set up for authentication with 2FA.":"Slegs plaaslik bestuurde rekeninge kan opgestel word vir stawing met 2FA.","Open":"Maak oop","optional":"opsioneel","or":"of","Orange":"Oranje","Organization":"Organisasie","Orientation":"Oriëntering","Original file names will be stored and indexed.":"Oorspronklike lêername sal gestoor en geïndekseer word.","Original Name":"Oorspronklike naam","Originals":"Oorspronklikes","Other":"Ander","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Ons missie is om die mees gebruikers- en privaatheidsvriendelike oplossing te bied om jou foto's georganiseer en toeganklik te hou.","Outdoor":"Buitelug","Page {0}, Current page":"Bladsy {0}, Huidige bladsy","Pages":"Bladsye","Pagination Navigation":"Paginering navigasie","Panorama":"Panorama","Panoramas":"Panoramas","Password":"Wagwoord","Password changed":"Wagwoord verander","People":"Mense","People you share a link with will be able to view public contents.":"Mense met wie jy 'n skakel deel, sal publieke inhoud kan bekyk.","Permanently deleted":"Permanent uitgevee","Permanently remove files to free up storage.":"Verwyder lêers permanent om berging vry te maak.","Person":"Persoon","Personal":"Persoonlik","Photo":"Foto","PhotoPrism is 100% self-funded and independent.":"PhotoPrism is 100% selfbefonds en onafhanklik.","PhotoPrism+ Membership":"PhotoPrism+ Lidmaatskap","Photos":"Foto's","Picture Title":"Foto titel","Pink":"Pienk","Place":"Plek","Place & Time":"Plek & Tyd","Places":"Plekke","Please confirm your new password.":"Bevestig asseblief jou nuwe wagwoord.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Kopieer asseblief die volgende lukraak gegenereerde programwagwoord en hou dit op 'n veilige plek, aangesien jy dit nie weer sal kan sien nie:","Please do not upload any private, unlawful or offensive pictures.":"Moet asseblief geen privaat, onwettige of aanstootlike foto's oplaai nie.","Please don't upload photos containing offensive content.":"Moet asseblief nie foto's oplaai wat aanstootlike inhoud bevat nie.","Please enter OTP character {0}":"Voer asseblief OTP-karakter in {0}","Please note that changing your password will log you out on other devices and browsers.":"Neem asseblief kennis dat die verandering van jou wagwoord jou op ander toestelle en blaaiers sal afmeld.","Please restart your instance for the changes to take effect.":"Herbegin asseblief jou instansie vir die veranderinge om in werking te tree.","Please wait…":"Wag asseblief…","PM":"PM","PNG Size Limit: %{n}px":"PNG-groottelimiet: %{n}px","Portrait":"Portret","Preserve filenames":"Bewaar lêername","Press enter to create a new album.":"Druk enter om 'n nuwe album te skep.","Prevent database and album backups as well as YAML sidecar files from being created.":"Verhoed dat databasis- en albumrugsteun sowel as YAML-syspanlêers geskep word.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Verhoed dat ander programme toegang tot PhotoPrism as 'n gedeelde netwerkaandrywer verkry.","Preview":"Voorskou","Preview Images":"Voorskou prente","Previous":"Vorige","Previous page":"Vorige bladsy","Previous visual":"Vorige visuele","Primary":"Primêr","Private":"Privaat","Product Feedback":"Produkterugvoer","Projection":"Projeksie","Purple":"Pers","Quality Filter":"Kwaliteit filter","Quality Score":"Gehaltetelling","r":"r","Random":"Willekeurig","Rating {0} of {1}":"Gradering {0} van {1}","Raw":"Rou","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Herindekseer alle oorspronklikes, insluitend reeds geïndekseer en onveranderde lêers.","Read-Only Mode":"Leesalleen-modus","Recently Added":"Onlangs bygevoeg","Recently Archived":"Onlangs geargiveer","Recently Edited":"Onlangs geredigeer","Recognition starts after indexing has been completed.":"Erkenning begin nadat indeksering voltooi is.","Recognize faces so people can be assigned and found.":"Herken gesigte sodat spesifieke mense gevind kan word.","Recognized":"Herken","Recovery Code":"Herstel kode","Red":"Rooi","Refresh":"Verfris","Regions":"Streke","Register":"Registreer","Reload":"Herlaai","Reloading…":"Herlaai tans …","Remote Sync":"Afstandsinkronisering","Remove":"Verwyder","remove failed: unknown album":"verwyder misluk: onbekende album","Remove from Album":"Verwyder uit album","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Verwyder ingevoerde lêers om berging te bespaar. Nie-ondersteunde lêertipes sal nooit uitgevee word nie, hulle bly in hul huidige ligging.","Request failed - are you offline?":"Versoek het misluk - is jy vanlyn?","Request failed - invalid response":"Versoek het misluk – ongeldige antwoord","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Vereis dat nie-fotografiese en lae kwaliteit prente hersien word voordat dit in soekresultate verskyn.","Resolution":"Resolusie","Restart":"Begin oor","Restore":"Herstel","Restored":"Herstel","Retry Limit":"Herprobeer Limiet","Retype Password":"Tik wagwoord weer in","Review":"Resensie","Role":"Rol","Rows per page:":"Rye per bladsy:","Satellite":"Satelliet","Save":"Stoor","Scan":"Skandeer","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Skandeer die QR-kode met jou verifikasie-toepassing of gebruik die opstellingsleutel wat hieronder gewys word en voer dan die gegenereerde verifikasiekode in:","Scans":"Skanderings","Scope":"Omvang","Search":"Soek","Search and display photos on a map.":"Soek en vertoon foto's op 'n kaart.","Season":"Seisoen","Secret":"Geheim","Security and Access":"Sekuriteit en toegang","Select":"Kies","Select a source folder to import files…":"Kies 'n bronvouer om lêers in te voer…","Select date":"Kies datum","Select dates":"Kies datums","Select or create an album":"Kies of skep 'n album","Select the files to upload…":"Kies die lêers om op te laai…","Select the folder to be indexed…":"Kies die vouer om te indekseer…","Select Time":"Kies Tyd","Selection approved":"Seleksie goedgekeur","Selection archived":"Seleksie geargiveer","Selection restored":"Seleksie herstel","Sequential Name":"Opeenvolgende naam","Service URL":"Diens-URL","Services":"Dienste","Session":"Sessie","Session ID":"Sessie ID","Sessions":"Sessies","Set as Album Cover":"Stel as albumomslag","Settings":"Instellings","Settings saved":"Stellings gestoor","Setup":"Stel op","Share":"Deel","Share %{s}":"Deel %{s}","Share your pictures with other apps and services.":"Deel jou foto's met ander programme en dienste.","Show":"Wys","Show all new faces":"Wys alle nuwe gesigte","Show Captions":"Wys onderskrifte","Show hidden":"Wys versteek","Show less":"Wys minder","Show more":"Wys meer","Show server logs in Library.":"Wys bedienerlogboeke in Biblioteek.","Show Titles":"Wys titels","Sidecar":"Syspan","Sidecar Files":"Syspan lêers","Sign in":"Meld aan","Similar":"Soortgelyk","Size":"Grootte","Slideshow":"Skyfievertoning","Slow":"Stadig","Software":"Sagteware","Software Update":"Sagteware-opdatering","Something went wrong, try again":"Iets het verkeerd geloop, probeer weer","Sort by":"Sorteer volgens","Sort Order":"Sorteervolgorde","Sorted ascending.":"Oplopend gesorteer.","Sorted descending.":"Aflopend gesorteer.","Source":"Bron","Stack":"Stapel","Stack files sharing the same unique image or instance identifier.":"Stapel lêers wat dieselfde unieke beeld of instansie identifiseerder deel.","Stack pictures taken at the exact same time and location based on their metadata.":"Stapel foto's geneem op presies dieselfde tyd en plek gebaseer op hul metadata.","Stackable":"Stapelbaar","Stacks":"Stapels","Start":"Begin","Start Page":"Begin bladsy","Static Size Limit: %{n}px":"Statiese groottelimiet: %{n}px","Status":"Status","Storage":"Berging","Streets":"Strate","Subject":"Onderwerp","Submit":"Dien in","Successfully activated":"Suksesvol geaktiveer","Successfully Connected":"Suksesvol gekoppel","Successfully deleted":"Suksesvol uitgevee","Successfully verified":"Suksesvol geverifieer","Super Admin":"Super Admin","Support for additional services, like Google Drive, will be added over time.":"Ondersteuning vir bykomende dienste, soos Google Drive, sal mettertyd bygevoeg word.","Support Our Mission":"Ondersteun ons missie","Sync":"Sinkroniseer","Sync raw and video files":"Sinkroniseer rou- en videolêers","Taken":"Geneem","Teal":"Blauwgroen","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow word vereis vir beeldklassifikasie, gesigsherkenning en die opsporing van onveilige inhoud.","Terrain":"Terrein","Text":"Teks","Text too long":"Teks te lank","Thank You for Your Support!":"Dankie vir jou ondersteuning!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Dit is hoekom PhotoPrism van die grond af gebou is om te werk waar jy dit ook al nodig het, sonder om vryheid, privaatheid of funksionaliteit in te boet.","The index currently contains %{n} hidden files.":"Die indeks bevat tans %{n} versteekte lêers.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Hulle formaat word dalk nie ondersteun nie, hulle is nog nie na JPEG omgeskakel nie of daar is duplikate.","Theme":"Tema","This field is required":"Hierdie veld word vereis","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Dit plaas die oorspronklike lêergids as 'n netwerkaandrywer en laat jou toe om lêers van jou rekenaar of slimfoon oop te maak, te redigeer en uit te vee asof dit plaaslik is.","Time UTC":"Tyd UTC","Time Zone":"Tydsone","Timeout":"Uitteltyd","Title":{"Account":"Titel","Photo":"Titel","":"Titel"},"Title / Position":"Titel / Posisie","Title too long":"Titel te lank","to":"aan","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Om te verhoed dat jy uit jou rekening gesluit word, laai asseblief hierdie herstelkode nou af, druk of kopieer dit en hou dit op 'n veilige plek.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Om 'n nuwe programspesifieke wagwoord te genereer, voer asseblief die naam en magtigingsomvang van die toepassing in en kies 'n vervaldatum:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Om oor te skakel na 'n nuwe authenticator-toepassing of -toestel, deaktiveer eers twee-faktor-stawing en heraktiveer dit dan:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Om op te gradeer, kan jy óf 'n aktiveringskode invoer óf \"Registreer\" klik om op ons webwerf aan te meld:","Today":"Vandag","Toggle View":"Wissel aansig","Token":"Teken","Too many files selected":"Te veel lêers gekies","Too many requests":"Te veel versoeke","Troubleshooting":"Probleemoplossing","Try again using other filters or keywords.":"Probeer weer met ander filters of sleutelwoorde.","Two-factor authentication has been enabled for your account.":"Twee-faktor-stawing is vir jou rekening geaktiveer.","Type":"Tik","Unable to delete":"Kan nie verwyder nie","Unauthorized":"Ongemagtig","Undo":"Ontdoen","Unique ID":"Unieke ID","Unknown":"Onbekend","Unregistered":"Ongeregistreer","Unsorted":"Ongesorteer","Unstack":"Ontstapel","Updated":"Opgedateer","Updating faces":"Dateer tans gesigte op","Updating index":"Dateer indeks op","Updating moments":"Dateer tans oomblikke op","Updating picture…":"Dateer tans prent op …","Updating previews":"Opdatering van voorskoue","Updating stacks":"Dateer stapels op","Upgrade":"Gradeer op","Upgrade Now":"Gradeer nou op","Upload":"Laai op","Upload complete":"Oplaai voltooi","Upload complete. Indexing…":"Oplaai voltooi. Indekseer tans …","Upload failed":"Oplegging misluk","Upload local files":"Laai plaaslike lêers op","Upload Path":"Oplaai pad","Upload to WebDAV and share links with friends.":"Laai op na WebDAV en deel skakels met vriende.","Uploading %{n} of %{t}…":"Laai tans %{n} van %{t} op…","Uploading photos…":"Laai tans foto's op …","Uploading…":"Laai tans op …","Uploads that may contain such images will be rejected automatically.":"Oplaaie wat sulke beelde kan bevat, sal outomaties verwerp word.","Use Presets":"Gebruik voorafinstellings","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Gebruik die volgende terugstellingkode om toegang tot jou rekening te kry wanneer jy nie 'n geldige verifikasiekode met jou staafmakerprogram kan genereer nie:","Use your recovery code or contact an administrator for help.":"Gebruik jou herstelkode of kontak 'n administrateur vir hulp.","User":"Gebruiker","User Guide":"Handleiding","User Interface":"Gebruikerskoppelvlak","Username":"Gebruikersnaam","Users":"Gebruikers","Vector":"Vektor","Vectors":"Vektore","Verification Code":"Verifikasie kode","Video":"Video","Video Duration":"Video Duur","Videos":"Video's","View":"Beskou","View search results as a list.":"Bekyk soekresultate as 'n lys.","Viewer":"Kyker","Visitor":"Besoeker","Visual Similarity":"Visuele ooreenkoms","Warning":"Waarskuwing","We appreciate your feedback!":"Ons waardeer jou terugvoer!","We do our best to respond within five business days or less.":"Ons doen ons bes om binne vyf werksdae of minder te reageer.","Web Login":"Web aanmeld","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"WebDAV-kliënte kan aan PhotoPrism koppel deur die volgende URL te gebruik:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"WebDAV-kliënte, soos Microsoft se Windows Explorer of Apple's Finder, kan direk aan PhotoPrism koppel.","WebDAV Upload":"WebDAV oplaai","WebGL support is disabled in your browser":"WebGL-ondersteuning is in jou blaaier gedeaktiveer","Website":"Webwerf","White":"Wit","Work Details":"Werkbesonderhede","Year":"Jaar","Yellow":"Geel","Yes":"Ja","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Jy is welkom om ons te kontak by membership@photoprism.app vir vrae oor jou lidmaatskap.","You can only download one album":"Jy kan net een album aflaai","You can only download one label":"Jy kan net een etiket aflaai","You can search for a location or move the marker on the map to change the position:":"Jy kan na 'n ligging soek of die merker op die kaart skuif om die posisie te verander:","You can upload up to %{n} files for test purposes.":"Jy kan tot %{n} lêers oplaai vir toetsdoeleindes.","You may only select one item":"Jy mag net een item kies","You may rescan your library to find additional faces.":"Jy kan jou biblioteek herskandeer om bykomende gesigte te vind.","Your account has been successfully connected.":"Jou rekening is suksesvol gekoppel.","Your browser does not support WebGL":"Jou blaaier ondersteun nie WebGL nie","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Jou volgehoue ondersteuning help ons om gereelde opdaterings te verskaf en onafhanklik te bly, sodat ons ons missie kan vervul en jou privaatheid kan beskerm.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Jou biblioteek word voortdurend ontleed om outomaties albums van spesiale oomblikke, reise en plekke te skep.","Zoom in/out":"Zoem in/uit"}} \ No newline at end of file diff --git a/frontend/src/locales/json/ar.json b/frontend/src/locales/json/ar.json index 786792fe1..9ff115886 100644 --- a/frontend/src/locales/json/ar.json +++ b/frontend/src/locales/json/ar.json @@ -1 +1 @@ -{"ar":{"{0} appended action":"{0} تم إضافة إجراء","{0} files":"{0} ملفات","{0} files ({1} in total)":"{0} ملفات ({1} في المجموع)","{0} more":"{0} المزيد","{0} prepended action":"{0} تم إضافة الإجراء مسبقًا","{0} selected":"تم اختيار {0}","{0}-{1} of {2}":"{0}-{1} من {2}","%{n} albums found":"تم العثور على %{n} من الألبومات","%{n} files uploaded":"تم تحميل %{n} من الملفات","%{n} folders found":"تم العثور على %{n} من مجلدات","%{n} GB of %{q} GB used":"%{n} جيجابايت من %{q} جيجابايت مستخدمة","%{n} labels found":"تم العثور على %{n} من التصنيفات","%{n} people found":"تم العثور على %{n} من الأشخاص","%{n} pictures found":"تم العثور على %{n} صورة","%{s} is too long":"%{s} طويل جدًا","%{s} is too short":"%{s} قصير جدًا","1 hour":"1 ساعة","12 hours":"12 ساعة","2-Factor Authentication":"المصادقة الثنائية","2FA":"2FA","4 hours":"4 ساعات","A click will copy it to your clipboard.":"انقر للنسخ إلى الحافظة الخاصة بك.","A new version of %{s} is available:":"يتوفر إصدار جديد من %{s}:","About":"عن","Access Token":"رمز وصول","Account":"الحساب","Account created":"تم إنشاء الحساب","Account deleted":"تم حذف الحساب","Account restored":"تم استعادة الحساب","Accounts":"حسابات","Accuracy":"دقة","Action":"إجراء","Actions":"أجراءات","Activate":"تفعيل","Activate to remove sorting.":"قم بالتفعيل لإزالة الفرز.","Activate to sort ascending.":"قم بالتفعيل للفرز تصاعديًا.","Activate to sort descending.":"قم بالتفعيل لفرز تنازليًا.","Activation Code":"رمز التفعيل","Add":"إضافة","Add %{s}?":"إضافة %{s}؟","Add Account":"إضافة حساب","Add Album":"أضف البوم","Add files to your library via Web Upload.":"إضافة ملفات إلى المكتبة عبر تحميل الويب.","Add Link":"إضافة رابط","Add person?":"إضافة شخص؟","Add pictures from search results by selecting them.":"أضف الصور من نتائج البحث عن طريق تحديدها.","Add to album":"أضف إلى الألبوم","Added":"مضاف","Admin":"مسؤل","Advanced":"متقدم","After 1 day":"بعد يوم واحد","After 3 days":"بعد 3 ايام","After 7 days":"بعد 7 أيام","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"بعد إدخال كلمة المرور الخاصة بك للتأكيد، يمكنك إعداد المصادقة الثنائية باستخدام تطبيق أو جهاز مصادقة متوافق:","After one month":"بعد شهر واحد","After one year":"بعد سنة","After selecting pictures from search results, you can add them to an album using the context menu.":"بعد تحديد الصور من نتائج البحث ، يمكنك إضافتها إلى ألبوم باستخدام قائمة السياق.","After two months":"بعد شهرين","After two weeks":"بعد أسبوعين","Album":"البوم","Album Backups":"النسخ الاحتياطية للألبوم","Album created":"تم إنشاء الألبوم","Albums":"ألبومات","Albums deleted":"تم حذف الألبومات","All":"الجميع","All %{n} albums loaded":"تم تحميل كافة الألبومات الـ %{n}","All %{n} labels loaded":"تم تحميل كافة التسميات الـ %{n}","All %{n} people loaded":"تم تحميل جميع الأشخاص الـ %{n}","All Cameras":"جميع الكاميرات","All Categories":"جميع الفئات","All Colors":"جميع الالوان","All Countries":"كل البلدان","All fields are required":"جميع الحقول مطلوبة","All files from import folder":"جميع الملفات من مجلد الاستيراد","All Lenses":"جميع العدسات","All Months":"كل الشهور","All originals":"جميع النسخ الأصلية","All Years":"جميع السنوات","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"بدلاً من ذلك ، يمكنك تحميل الملفات مباشرة إلى خوادم WebDAV مثل Nextcloud.","Altitude":"ارتفاع","Altitude (m)":"الارتفاع (م)","AM":"صباحاً","Animated":"متحركة","Animation":"صور متحركة","Any private photos and videos remain private and won't be shared.":"أي صور ومقاطع فيديو خاصة تبقى خاصة ولن تتم مشاركتها.","API Key":"مفتاح API","Application":"طلب","Apply":"تقديم الطلب","Approve":"الموافقة","Apps and Devices":"التطبيقات والأجهزة","Archive":"أرشيف","Archived":"مؤرشف","Are you sure you want to archive the selection?":"هل أنت متأكد أنك تريد أرشفة ما تم تحديده؟","Are you sure you want to delete these albums?":"هل أنت متأكد أنك تريد حذف هذه الألبومات؟","Are you sure you want to delete these labels?":"هل أنت متأكد أنك تريد حذف هذه التصنيفات؟","Are you sure you want to delete this account?":"هل أنت متأكد أنك تريد حذف هذا الحساب؟","Are you sure you want to permanently delete these pictures?":"هل أنت متأكد أنك تريد حذف هذه الصور نهائيًا؟","Are you sure you want to permanently delete this file?":"هل أنت متأكد أنك تريد حذف هذا الملف نهائيًا؟","Are you sure?":"هل أنت متأكد؟","Artist":"الفنان","Aspect Ratio":"نسبة العرض إلى الارتفاع","Audio":"صوتي","Authentication":"المصادقة","Auto":"آلي","Back":"خلف","Back to top":"العودة إلى الأعلى","Backup":"دعم","Badge":"شارة","Base Path":"مسار القاعدة","Become a member today, support our mission and enjoy our member benefits!":"كن عضوًا اليوم ، وادعم مهمتنا واستمتع بمزايا أعضائنا!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"نظرًا لكوننا 100 % s ممولًا ومستقلًا ، يمكننا أن نعدك بأننا لن نبيع بياناتك أبدًا وأننا سنتحلى دائمًا بالشفافية بشأن برامجنا وخدماتنا.","Bio":"السيرة الذاتية","Birth Date":"تاريخ الميلاد","Black":"أسود","Blackman: Lanczos Modification, Less Ringing Artifacts":"بلاكمان: تعديل Lanczos ، قطع أثرية أقل رنين","Blue":"أزرق","Brown":"بني","Browse":"تصفح","Browse and edit image classification labels.":"التصفح لتغيير تسميات تصنيف الصورة.","Browse and share your pictures organized into monthly albums.":"تصفح وشارك صورك المنظمة في ألبومات شهرية.","Browse Files":"تصفح الملفات","Browse indexed files and folders in Library.":"تصفح الملفات والمجلدات المفهرسة في المكتبة.","Bug Report":"تقرير المشاكل","Busy, please wait…":"يتم العمل، الرجاء الانتظار …","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"باستخدام البرامج والخدمات التي نقدمها ، فإنك توافق على شروط الخدمة وسياسة الخصوصية ومدونة قواعد السلوك الخاصة بنا.","Calendar":"تقويم","Camera":"آلة تصوير","Camera Serial":"المسلسل الكاميرا","Can't access your authenticator app or device?":"لا يمكنك الوصول إلى تطبيق أو جهاز المصادقة الخاص بك؟","Can't load more, limit reached":"لا يمكن تحميل المزيد ، تم الوصول إلى الحد الأقصى","Can't select more items":"لا يمكن تحديد المزيد من العناصر","Cancel":"إلغاء","Caption":"التسمية التوضيحية","Cards":"البطاقات","Carousel slide {0} of {1}":"شريحة دائرية {0} من {1}","Category":"فئة","Change Avatar":"تغيير الصورة الرمزية","Change Password":"تغيير كلمة المرور","Change personal profile and security settings.":"تغيير ملف التعريف الشخصي وإعدادات الأمان.","Change photo titles, locations, and other metadata.":"قم بتغيير عناوين الصور والمواقع والبيانات الوصفية الأخرى.","Change private flag":"تغيير العلم الخاص","Changes could not be saved":"لا يمكن حفظ التغييرات","Changes successfully saved":"تم حفظ التغييرات بنجاح","Changes to the advanced settings require a restart to take effect.":"تتطلب التغييرات في الإعدادات المتقدمة إعادة التشغيل لتصبح سارية المفعول.","Checked":"التحقق","Chroma":"كروما","Cleaning index and cache":"تنظيف الفهرس وذاكرة التخزين المؤقت","Cleanup":"تنظيف","Clear {0}":"مسح {0}","Client":"العميل","Client Credentials":"بيانات اعتماد العميل","Close":"قريب","Codec":"ترميز","Color":"اللون","Color Profile":"ملف تعريف اللون","Colors":"الألوان","Compare Editions":"قارن الإصدارات","Complete Rescan":"إعادة تفحص كاملة","Confidence":"الثقة","Confirm":"التأكيد","Connect":"الاتصال","Connect via WebDAV":"الاتصال عبر WebDAV","Connected":"متصل","Contact Details":"معلومات الاتصال","Contact Us":"اتصل بنا","Contains %{n} pictures.":"يحتوي على %{n} صورة.","Contains one picture.":"يحتوي على صورة واحدة.","Content":"محتوى","Continue":"المتابعة","Continue with %{provider}":"المتابعة مع %{provider}","Contributor":"مساهم","Converting":"التحويل","Copied to clipboard":"نسخ إلى الحافظة","Copy":"نسخ","Copyright":"حقوق النشر","Couldn't find anything.":"لا يمكن العثور على أي شيء.","Country":"دولة","Create Account":"إنشاء حساب","Create album":"إنشاء ألبوم","Create regular backups based on the configured schedule.":"إنشاء نسخ احتياطية للفهرس بناءً على الجدول الزمني الذي تم تكوينه.","Create YAML files to back up album metadata.":"قم بإنشاء ملفات YAML لعمل نسخة احتياطية من بيانات تعريف الألبوم.","Create YAML sidecar files to back up picture metadata.":"قم بإنشاء ملفات YAML الجانبية لعمل نسخة احتياطية من بيانات تعريف الصورة.","Created":"تم إنشاءه","Creating thumbnails for":"إنشاء صور مصغرة لـ","Cubic: Moderate Quality, Good Performance":"Cubic: جودة متوسطة ، أداء جيد","Current Password":"كلمة المرور الحالية","Custom":"مخصص","Cyan":"ازرق سماوي","Daily":"اليومي","Database Backups":"النسخ الاحتياطية لقاعدة البيانات","Day":"يوم","Deactivate":"إلغاء التفعيل","Debug Logs":"سجلات التصحيح","Default":"مبدئي","Default Folder":"المجلد المبدئي","Delete":"حذف","Delete All":"حذف الكل","Delete all?":"حذف الكل؟","Delete orphaned index entries, sidecar files and thumbnails.":"حذف إدخالات الفهرس المعزولة والملفات الجانبية والصور المصغرة.","Description":"الوصف","Detailed instructions can be found in our User Guide.":"يمكن العثور على تعليمات مفصلة في دليل المستخدم الخاص بنا.","Details":"تفاصيل","Dimensions":"أبعاد","Disable Backups":"تعطيل النسخ الاحتياطية","Disable Darktable":"تعطيل Darktable","Disable ExifTool":"تعطيل ExifTool","Disable features that require write permission for the originals folder.":"قم بتعطيل الميزات التي تتطلب إذن الكتابة لمجلد النسخ الأصلية.","Disable FFmpeg":"تعطيل FFmpeg","Disable ImageMagick":"تعطيل ImageMagick","Disable interactive world maps and reverse geocoding.":"تعطيل خرائط العالم التفاعلية والترميز الجغرافي العكسي.","Disable Places":"تعطيل الأماكن","Disable RawTherapee":"تعطيل RawTherapee","Disable TensorFlow":"تعطيل TensorFlow","Disable Vectors":"تعطيل النواقل","Disable WebDAV":"تعطيل WebDAV","Disables vector graphics support.":"تعطيل دعم رسومات ااتجاهات.","Disables video transcoding and thumbnail extraction.":"تعطيل تحويل ترميز الفيديو واستخراج الصور المصغرة.","Discover":"اكتشف","Dismiss":"إغلاق","Display Name":"اسم العرض","Display picture captions in search results.":"عرض تعليقات الصور في نتائج البحث.","Display picture titles in search results.":"عرض عناوين الصور في نتائج البحث.","Document":"وثيقة","Documents":"وثائق","Don't use Darktable to convert RAW images.":"لا تستخدم Darktable لتحويل ملفات RAW.","Don't use ImageMagick to convert images.":"لا تستخدم ImageMagick لتحويل الصور.","Don't use RawTherapee to convert RAW images.":"لا تستخدم RawTherapee لتحويل ملفات RAW.","Done":"تم الإنجاز","Done.":"تم الإنجاز.","Download":"تحميل","Download only original media files, without any automatically generated files.":"قم بتحميل ملفات الوسائط الأصلية فقط ، بدون أي ملفات تم إنشاؤها تلقائيًا.","Download remote files":"تنزيل الملفات البعيدة","Download single files and zip archives.":"تنزيل ملفات مفردة ومحفوظات مضغوطة.","Downloading…":"جارى التحميل…","Downscaling Filter":"مرشح تصغير الحجم","Drag and drop files here":"اسحب الملفات هنا","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"نظرًا للكم الهائل من رسائل البريد الإلكتروني التي نتلقاها ، فقد يتعذر على فريقنا الرد عليك على الفور.","Duplicates will be skipped and only appear once.":"سيتم تخطي المحتوى المكرر وسيعرض مرة واحدة فقط.","Duration":"مدة","Dynamic Previews":"المعاينات الديناميكية","Dynamic Size Limit: %{n}px":"حد الحجم الديناميكي:%{n} بكسل","E-Mail":"البريد الإلكتروني","Edit":"تعديل","Edit %{s}":"تعديل %{s}","Edit Account":"تعديل الحساب","Edit Photo":"تعديل الصورة","Edited":"تم التعديل","Email":"البريد","Enable debug mode to display additional logs and help with troubleshooting.":"قم بتمكين وضع التصحيح لعرض سجلات إضافية التي تساعد على اكتشاف الأخطاء وإصلاحها.","Enable new features that may be incomplete or unstable.":"تمكين الميزات الجديدة التي قد تكون غير كاملة أو غير مستقرة.","Enables RAW converter presets. May reduce performance.":"لتمكين الإعدادات المسبقة لمحول RAW. قد يقلل من الأداء.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"يعني تمكين المصادقة الثنائية أنك ستحتاج إلى رمز تحقق تم إنشاؤه عشوائيًا لتسجيل الدخول، لذلك حتى إذا تمكن شخص ما من الوصول إلى كلمة المرور الخاصة بك، فلن يتمكن من الوصول إلى حسابك.","Enter date":"أدخل التاريخ","Enter dates":"أدخل التواريخ","Enter the code generated by your authenticator app:":"أدخل الرمز الذي تم إنشاؤه بواسطة تطبيق المصادقة الخاص بك:","Enter verification code":"أدخل رمز التحقق","Enter your password to confirm the action and continue:":"أدخل كلمة المرور الخاصة بك لتأكيد الإجراء والمتابعة:","Error":"خطأ","Errors":"أخطاء","Estimate":"تقدير","Estimate Locations":"تقدير المواقع","Estimate the approximate location of pictures without GPS coordinates.":"قم بتقدير الموقع التقريبي للصور دون إحداثيات GPS.","Every two days":"كل يومين","Exclude content marked as private from search results, shared albums, labels, and places.":"استبعاد المحتوى المحدد على أنه خاص من نتائج البحث والألبومات المشتركة والعلامات والأماكن.","Exclude hidden":"استبعاد مخفي","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"يلزم استخراج البيانات التعريفية باستخدام ExifTool للحصول على دعم كامل للفيديو والصور المباشرة وXMP.","Experimental Features":"الميزات التجريبية","Expires":"تنتهي","Exposure":"التعرض","Extract still images and generate thumbnails while indexing.":"استخراج الصور الثابتة وإنشاء الصور المصغرة أثناء الفهرسة.","F Number":"رقم F","Face":"وجه","Faces":"وجوه","Failed removing link":"فشل إزالة الارتباط","Failed to connect account.":"فشل في ربط الحساب.","Failed updating link":"فشل تحديث الارتباط","Family Name":"اسم العائلة","Fast":"سريع","Favorite":"مفضل","Favorites":"المفضلة","Feature Request":"طلب المواصفات","Feedback":"استجابة","Female":"أنثى","File":"ملف","File Browser":"متصفح الملفات","File Conversion":"تحويل الملف","File Name":"اسم الملف","File Size":"حجم الملف","Filename":"اسم الملف","Files":"الملفات","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"الملفات ذات الأسماء المتسلسلة مثل \"IMG_1234 (2)\" و \"IMG_1234 (3)\" تنتمي إلى نفس الصورة.","First page":"الصفحة الاولى","Focal Length":"البعد البؤري","Folder":"مجلد","Folder contains %{n} files":"يحتوي المجلد على %{n} من الملفات","Folder is empty":"مجلد فارغ","Folders":"المجلدات","Forgot password?":"هل نسيت كلمة السر؟","FPS":"FPS","Frames":"الإطارات","Full Access":"الوصول الكامل","Fullscreen":"شاشة كاملة","General":"عام","Generate":"يولد","Generate albums of special moments, journeys, and places.":"يقوم تلقائيًا بإنشاء ألبومات للحظات الخاصة والرحلات والأماكن.","Generate Previews":"إنشاء معاينات","Generated":"تم توليده","Get Started":"البدء","Given Name":"الاسم المعطى","Global Options":"خيارات عالمية","Go to page {0}":"انتقل إلى الصفحة {0}","Gold":"ذهب","Green":"لون أخضر","Grey":"رمادي","Guest":"ضيف","Hash":"تجزئة","Help":"مساعدة","Help & Support":"ساعد لدعم","Hidden":"مختفي","Hidden Files":"الملفات المخفية","Hide":"يخفي","Hide photos that have been moved to archive.":"إخفاء الصور التي تم نقلها إلى الأرشيف.","High":"عالٍ","High Dynamic Range (HDR)":"المدى الديناميكي العالي (HDR)","How can we help?":"كيف يمكن أن نساعد؟","Hybrid":"هجين","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"إذا فقدت الوصول إلى تطبيق أو جهاز المصادقة الخاص بك، فيمكنك استخدام رمز الاسترداد لاستعادة الوصول إلى حسابك.","Image":"صورة","Image Quality":"جودة الصورة","Import":"يستورد","Import failed":"فشل الاستيراد","Imported files will be sorted by date and given a unique name to avoid duplicates.":"سيتم فرز الملفات المستوردة حسب التاريخ وإعطاء اسم فريد لتجنب التكرار.","Imported files will be sorted by date and given a unique name.":"سيتم فرز الملفات المستوردة حسب التاريخ وإعطاء اسم فريد.","Importing %{s}…":"استيراد %{s}…","Importing files to originals…":"جارٍ استيراد الملفات إلى النسخ الأصلية …","in":"في","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"في حالة الصور التي تتوقعها مفقودة ، يرجى إعادة فحص مكتبتك وانتظر حتى تكتمل الفهرسة.","Include RAW image files when downloading stacks and archives.":"قم بتضمين ملفات صور RAW عند تنزيل حزم وأرشيفات.","Include sidecar files when downloading stacks and archives.":"قم بتضمين الملفات الجانبية عند تنزيل الحزم والمحفوظات.","Increase storage size or delete files to continue.":"قم بزيادة حجم التخزين أو حذف الملفات للاستمرار.","Index":"فِهرِس","Index and import files through the user interface.":"قم بفهرسة واستيراد الملفات من خلال واجهة المستخدم.","Indexing":"الفهرسة","Indexing failed":"فشلت الفهرسة","Indexing media and sidecar files…":"جارٍ فهرسة الوسائط والملفات الجانبية …","Information":"المعلومات","Instance ID":"معرف المثيل","Insufficient storage.":"مساحة تخزين غير كافية.","Interval":"فترة","Invalid":"غير صالح","Invalid address":"عنوان غير صالح","Invalid country":"بلد غير صالح","Invalid date":"تاريخ غير صالح","Invalid parameters":"معلمات غير صالحة","Invalid photo selected":"تم تحديد صورة غير صالحة","Invalid time":"الوقت غير صالح","Invalid URL":"عنوان URL غير صالح","It is a one-time use code that will disable 2FA for your account when you use it.":"إنه رمز للاستخدام لمرة واحدة والذي سيؤدي إلى تعطيل المصادقة الثنائية لحسابك عند استخدامه.","Item":"العنصر","Items per page:":"العناصر لكل صفحة:","JPEG Quality: %{n}":"جودة JPEG: %{n}","JPEG Size Limit: %{n}px":"حد حجم JPEG: %{n} بكسل","JPEGs and thumbnails are automatically rendered as needed.":"يتم تقديم ملفات JPEG والصور المصغرة تلقائيًا حسب الحاجة.","Keywords":"الكلمات الدالة","Label":"مُلصَق","Labels":"ملصقات","Labels deleted":"تم حذف التصنيفات","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: الحفاظ على التفاصيل ، الحد الأدنى من القطع الأثرية","Language":"لغة","Last Active":"آخر نشاط","Last Login":"آخر تسجيل دخول","Last page":"الصفحة الاخيرة","Last Sync":"آخر مزامنة","Last Used":"آخر أستخدام","Latitude":"خط العرض","LDAP/AD":"LDAP / AD","Learn more":"اعرف المزيد","Learn More":"اعرف المزيد","Legal Information":"المعلومات القانونية","Lens":"عدسة","Library":"مكتبة","License":"رخصة","Like":"المفضلة","Lime":"جير","Limit reached, showing first %{n} files":"تم بلوغ الحد ، عرض أول %{n} ملف","Linear: Very Smooth, Best Performance":"الخطي: سلس جدًا ، أفضل أداء","Link":"ربط","List":"قائمة","List View":"عرض القائمة","Live":"يعيش","Live Photos":"Live Photos","Load more":"تحميل المزيد","Loading items...":"جاري تحميل المواد...","Loading...":"تحميل...","Local":"محلي","Local Time":"التوقيت المحلي","Location":"موقع","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"تظهر السجلات هنا كلما صادف PhotoPrism ملفات معطلة ، أو كانت هناك مشكلات أخرى محتملة.","Login":"تسجيل الدخول","Logout":"تسجيل خروج","Logs":"السجلات","Longitude":"خط الطول","Low":"قليل","Magenta":"أرجواني","Main Color":"اللون الأساسي","Male":"ذكر","Manage Account":"إدارة الحساب","Manual":"يدوي","Manual Upload":"تحميل يدوي","Maps":"الخرائط","Marker":"علامة","Maximum number of accounts has been reached.":"تم الوصول إلى الحد الأقصى لعدد الحسابات.","Media":"وسائط","Medium":"متوسط","Membership":"عضوية","Merge %{a} with %{b}?":"هل تريد دمج %{a} مع %{b}؟","Message":"رسالة","Message sent":"تم الارسال","Metadata":"البيانات الوصفية","Metrics":"المقاييس","Minimize":"تصغير","Missing":"مفقود","Missing or invalid configuration":"تكوين مفقود أو غير صالح","Moments":"لحظات","Monochrome":"أحادي اللون","Month":"شهر","More options":"مزيد من الخيارات","Mosaic":"فسيفساء","Most Relevant":"الأكثر صلة","Move Files":"نقل الملفات","Must have at least %{n} characters.":"يجب أن يحتوي على %{n} أحرف على الأقل.","Mute":"صامت","Name":"اسم","Name too long":"الاسم طويل جدًا","Never":"أبداً","New":"جديد","New Password":"كلمة السر الجديدة","Newest First":"الاحدث اولا","Next":"التالي","Next page":"الصفحة التالية","Next visual":"الصورة التالية","No":"رقم","No albums found":"لم يتم العثور على ألبومات","No data available":"لا توجد بيانات متاحة","No labels found":"لم يتم العثور على تسميات","No matching records found":"لم يتم العثور على سجلات مطابقة","No more":"لا مزيد","No people found":"لم يتم العثور على أشخاص","No pictures found":"لم يتم العثور على صور","No recently edited pictures":"لا توجد صور تم تحريرها مؤخرا","No server connection":"لا يوجد اتصال بالخادم","No servers configured.":"لم يتم تكوين أي خوادم.","No services configured.":"لم يتم تكوين أي خدمات.","No thanks":"لا شكرا","No warnings or error containing this keyword. Note that search is case-sensitive.":"لا تحذيرات أو خطأ يحتوي على هذه الكلمة الأساسية. لاحظ أن البحث حساس لحالة الأحرف.","Non-photographic and low-quality images require a review before they appear in search results.":"تتطلب الصور غير الفوتوغرافية وذات الجودة المنخفضة المراجعة قبل ظهورها في نتائج البحث.","None":"لا أحد","Not allowed":"غير مسموح به","Not found":"لم يتم العثور على","Not sorted.":"غير مرتب.","Not supported":"غير مدعوم","Note you may manually manage your originals folder and importing is optional.":"لاحظ أنه يمكنك إدارة مجلد الأصول يدويًا والاستيراد اختياري.","Note:":"ملحوظة:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"ملاحظة: يمكن تكوين خوادم WebDAV فقط ، مثل Nextcloud أو PhotoPrism ، كخدمة عن بُعد للنسخ الاحتياطي وتحميل الملفات.","Notes":"ملحوظات","Nothing to see here yet.":"لا شيء لتراه هنا حتى الآن. كن صبوراً.","Nothing was found.":"لم يتم العثور على شيء.","Offline":"غير متصل على الانترنت","OIDC":"OIDC","OK":"نعم","Oldest First":"الاقدم اولا","On Windows, enter the following resource in the connection dialog:":"في نظام التشغيل Windows ، أدخل المورد التالي في مربع حوار الاتصال:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"قد يؤدي إنشاء الصور المصغرة عند الطلب إلى زيادة استخدام وحدة المعالجة المركزية والذاكرة. لا يُنصح باستخدامه مع الخوادم ذات الموارد المحدودة وأجهزة NAS.","Once a week":"مرة في الأسبوع","One album found":"تم العثور على ألبوم واحد","One file found":"تم العثور على ملف واحد","One file uploaded":"تم تحميل ملف واحد","One folder found":"تم العثور على مجلد واحد","One label found":"تم العثور على تسمية واحدة","One person found":"تم العثور على شخص واحد","One picture found":"تم العثور على صورة واحدة","Only locally managed accounts can be set up for authentication with 2FA.":"يمكن إعداد الحسابات المُدارة محليًا فقط للمصادقة باستخدام المصادقة الثنائية (2FA).","Open":"يفتح","optional":"خياري","or":"أو","Orange":"البرتقالي","Organization":"المنظمة","Orientation":"توجيه","Original file names will be stored and indexed.":"سيتم تخزين أسماء الملفات الأصلية وفهرستها.","Original Name":"الاسم الاصلي","Originals":"أصول","Other":"آخر","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"مهمتنا هي توفير الحل الأكثر ملاءمة للمستخدم والخصوصية للحفاظ على صورك منظمة ويمكن الوصول إليها.","Outdoor":"في الخارج","Page {0}, Current page":"الصفحة {0}، الصفحة الحالية","Pages":"الصفحات","Pagination Navigation":"التنقل عبر الصفحات","Panorama":"بانوراما","Panoramas":"بانوراما","Password":"كلمة المرور","Password changed":"تم تغيير كلمة السر","People":"الناس","People you share a link with will be able to view public contents.":"سيتمكن الأشخاص الذين تشارك الرابط معهم من عرض المحتويات العامة.","Permanently deleted":"حذف نهائيًا","Permanently remove files to free up storage.":"قم بإزالة الملفات بشكل دائم لتحرير مساحة التخزين.","Person":"شخص","Personal":"شخصي","Photo":"صورة","PhotoPrism is 100% self-funded and independent.":"PhotoPrism هو 100٪ مستقل وممول ذاتيًا.","PhotoPrism+ Membership":"PhotoPrism + عضوية","Photos":"الصور","Picture Title":"عنوان الصورة","Pink":"لون القرنفل","Place":"مكان","Place & Time":"المكان والزمان","Places":"أماكن","Please confirm your new password.":"يرجى تأكيد كلمة المرور الجديدة الخاصة بك.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"يرجى نسخ كلمة مرور التطبيق التالية التي تم إنشاؤها عشوائيًا والاحتفاظ بها في مكان آمن، حيث لن تتمكن من رؤيتها مرة أخرى:","Please do not upload any private, unlawful or offensive pictures.":"يرجى عدم تحميل أي صور خاصة أو غير قانونية أو مسيئة.","Please don't upload photos containing offensive content.":"الرجاء عدم تحميل الصور التي تحتوي على محتوى مسيء.","Please enter OTP character {0}":"الرجاء إدخال حرف OTP {0}","Please note that changing your password will log you out on other devices and browsers.":"يرجى ملاحظة أن تغيير كلمة المرور الخاصة بك سيؤدي إلى تسجيل خروجك على الأجهزة والمتصفحات الأخرى.","Please restart your instance for the changes to take effect.":"يرجى إعادة تشغيل المثيل الخاص بك لتصبح التغييرات سارية المفعول.","Please wait…":"انتظر من فضلك…","PM":"مساءً","PNG Size Limit: %{n}px":"حد حجم PNG: %{n} بكسل","Portrait":"لَوحَة","Preserve filenames":"الاحتفاظ بأسماء الملفات","Press enter to create a new album.":"اضغط على Enter لإنشاء ألبوم جديد.","Prevent database and album backups as well as YAML sidecar files from being created.":"منع إنشاء النسخ الاحتياطية لقاعدة البيانات والألبومات وكذلك ملفات YAML الجانبية.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"منع التطبيقات الأخرى من الوصول إلى PhotoPrism كمحرك أقراص شبكة مشترك.","Preview":"معاينة","Preview Images":"معاينة الصور","Previous":"سابق","Previous page":"الصفحة السابقة","Previous visual":"الصورة السابقة","Primary":"الأولية","Private":"خاص","Product Feedback":"ملاحظات المنتج","Projection":"تنبؤ","Purple":"أرجواني","Quality Filter":"مرشح الجودة","Quality Score":"نقاط الجودة","r":"ص","Random":"عشوائي","Rating {0} of {1}":"التقييم {0} من {1}","Raw":"خام","RAW":"الخام","Re-index all originals, including already indexed and unchanged files.":"أعد فهرسة جميع الأصول ، بما في ذلك الملفات المفهرسة بالفعل والتي لم يتم تغييرها.","Read-Only Mode":"وضع القراءة فقط","Recently Added":"أضيف حديثا","Recently Archived":"مؤرشفة مؤخرا","Recently Edited":"تم تحريره مؤخرًا","Recognition starts after indexing has been completed.":"يبدأ التعرف بعد اكتمال الفهرسة.","Recognize faces so people can be assigned and found.":"يتعرف على الوجوه بحيث يمكن العثور على أشخاص محددين.","Recognized":"معروف","Recovery Code":"رمز الاسترداد","Red":"أحمر","Refresh":"ينعش","Regions":"المناطق","Register":"يسجل","Reload":"إعادة تحميل","Reloading…":"جارٍ إعادة التحميل…","Remote Sync":"مزامنة عن بعد","Remove":"إزالة","remove failed: unknown album":"فشل الإزالة: ألبوم غير معروف","Remove from Album":"إزالة من الألبوم","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"إزالة الملفات المستوردة لحفظ المساحة. لن يتم حذف أنواع الملفات الغير مدعومة مطلقًا ، وستظل في موقعها الحالي.","Request failed - are you offline?":"فشل الطلب - هل أنت غير متصل؟","Request failed - invalid response":"فشل الطلب - استجابة غير صالحة","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"يجب مراجعة الصور الغير فوتوغرافية و الصور ذات الجودة المنخفضة قبل ظهورها في نتائج البحث.","Resolution":"الجودة","Restart":"إعادة التشغيل","Restore":"استرجاع","Restored":"تم الاسترجاع","Retry Limit":"حد إعادة المحاولة","Retype Password":"اعد ادخال كلمة المرور","Review":"التدقيق","Role":"دور","Rows per page:":"عدد الصفوف في الصفحة:","Satellite":"الأقمار الصناعية","Save":"حفظ","Scan":"مسح","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"امسح رمز الاستجابة السريعة باستخدام تطبيق المصادقة الخاص بك أو استخدم مفتاح الإعداد الموضح أدناه ثم أدخل رمز التحقق الذي تم إنشاؤه:","Scans":"عمليات المسح","Scope":"نطاق","Search":"بحث","Search and display photos on a map.":"البحث عن الصور وعرضها على الخريطة.","Season":"الموسم","Secret":"سر","Security and Access":"الأمن والوصول","Select":"اختار","Select a source folder to import files…":"حدد ملف المصدر لاستيراد الملفات…","Select date":"حدد التاريخ","Select dates":"حدد التواريخ","Select or create an album":"حدد أو قم بإنشاء ألبوم","Select the files to upload…":"حدد الملفات التي تريد تحميلها…","Select the folder to be indexed…":"حدد المجلد الذي تريد فهرسته…","Select Time":"حدد الوقت","Selection approved":"تمت الموافقة على الاختيار","Selection archived":"تمت أرشفة المحتوى المحدد","Selection restored":"تمت استعادة المحتوى المحدد","Sequential Name":"الاسم المتسلسل","Service URL":"رابط الخدمة","Services":"الخدمات","Session":"جلسة العمل","Session ID":"معرف جلسة العمل","Sessions":"الجلسات","Set as Album Cover":"تعيين كغلاف للألبوم","Settings":"الإعدادات","Settings saved":"تم حفظ الإعدادات","Setup":"تخصيص","Share":"المشاركة","Share %{s}":"مشاركة %{s}","Share your pictures with other apps and services.":"شارك الصور مع التطبيقات والخدمات الأخرى.","Show":"عرض","Show all new faces":"عرض كل الوجوه الجديدة","Show Captions":"إظهار التسميات التوضيحية","Show hidden":"أظهر المخفي","Show less":"عرض أقل","Show more":"أظهر المزيد","Show server logs in Library.":"إظهار سجلات الخادم في المكتبة.","Show Titles":"إظهار العناوين","Sidecar":"Sidecar","Sidecar Files":"ملفات Sidecar","Sign in":"تسجيل الدخول","Similar":"مماثل","Size":"بحجم","Slideshow":"عرض الشرائح","Slow":"بطيء","Software":"برمجة","Software Update":"تحديث البرنامج","Something went wrong, try again":"حدث خطأ ما حاول مرة أخرى","Sort by":"فرز حسب","Sort Order":"امر ترتيب","Sorted ascending.":"مرتبة تصاعديًا.","Sorted descending.":"مرتبة تنازليا.","Source":"مصدر","Stack":"كومة","Stack files sharing the same unique image or instance identifier.":"تكديس الملفات التي تشترك في نفس الصورة الفريدة أو معرّف المثيل.","Stack pictures taken at the exact same time and location based on their metadata.":"قم بتجميع الصور الملتقطة في نفس الوقت والمكان بالضبط بناءً على البيانات الوصفية الخاصة بها.","Stackable":"سهل التخزين","Stacks":"المجموعات","Start":"بداية","Start Page":"صفحة البداية","Static Size Limit: %{n}px":"حد الحجم الثابت: %{n} بكسل","Status":"الحالة","Storage":"المساحة","Streets":"الشوارع","Subject":"المواضيع","Submit":"اكمل الطلب","Successfully activated":"تم التفعيل بنجاح","Successfully Connected":"تم الاتصال بنجاح","Successfully deleted":"تم الحذف بنجاح","Successfully verified":"تم التحقق بنجاح","Super Admin":"Super Admin","Support for additional services, like Google Drive, will be added over time.":"دعم الخدمات الإضافية ، مثل Google Drive ، ستتم إضافته بمرور الوقت.","Support Our Mission":"دعم مهمتنا","Sync":"مزامنة","Sync raw and video files":"مزامنة ملفات الفيديو الخام","Taken":"مأخوذ","Teal":"بط نهري صغير","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow مطلوب لتصنيف الصور والتعرف على الوجه واكتشاف المحتوى غير الآمن.","Terrain":"التضاريس","Text":"نص","Text too long":"نص طويل جدًا","Thank You for Your Support!":"شكرا لدعمك!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"لهذا السبب تم إنشاء PhotoPrism من الألف إلى الياء للتشغيل أينما تريد ، دون المساس بالحرية أو الخصوصية أو الوظيفة.","The index currently contains %{n} hidden files.":"يحتوي الفهرس حاليًا على %{n} من الملفات المخفية.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"قد لا يكون تنسيقها مدعومًا ، أو لم يتم تحويلها إلى JPEG بعد أو أن هناك نسخًا مكررة.","Theme":"هوية التصميم","This field is required":"هذه الخانة مطلوبة","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"يعمل هذا على تثبيت مجلد النسخ الأصلية كمحرك أقراص شبكة ويسمح لك بفتح الملفات وتعديلها وحذفها من جهاز الكمبيوتر أو الهاتف الذكي كما لو كانت محلية.","Time UTC":"الوقت بالتوقيت العالمي المنسق","Time Zone":"وحدة زمنية","Timeout":"نفذ الوقت","Title":{"Account":"عنوان","Photo":"عنوان","":"عنوان"},"Title / Position":"اللقب / المنصب","Title too long":"العنوان طويل جدًا","to":"إلى","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"لتجنب حظر دخولك إلى حسابك، يرجى تنزيل رمز الاسترداد هذا أو طباعته أو نسخه الآن والاحتفاظ به في مكان آمن.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"لإنشاء كلمة مرور جديدة خاصة بالتطبيق، يرجى إدخال الاسم ونطاق الترخيص الخاص بالتطبيق وتحديد تاريخ انتهاء الصلاحية:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"للتبديل إلى تطبيق أو جهاز مصادقة جديد، قم أولاً بإلغاء تنشيط المصادقة الثنائية ثم أعد تنشيطها:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"للترقية ، يمكنك إما إدخال رمز التفعيل أو النقر فوق \"تسجيل\" للتسجيل على موقعنا الإلكتروني:","Today":"اليوم","Toggle View":"نظرة قوية","Token":"رمز","Too many files selected":"تم تحديد عدد كبير جدًا من الملفات","Too many requests":"طلبات كثيرة جدا","Troubleshooting":"استكشاف الأخطاء وإصلاحها","Try again using other filters or keywords.":"حاول مرة أخرى باستخدام عوامل تصفية أو كلمات رئيسية أخرى.","Two-factor authentication has been enabled for your account.":"لقد تم تفعيل المصادقة الثنائية لحسابك.","Type":"يكتب","Unauthorized":"غير مصرح","Undo":"الغاء التحميل","Unique ID":"معرف مميز","Unknown":"مجهول","Unregistered":"غير مسجل","Unsorted":"غير مصنف","Unstack":"فصل المحتوى","Updated":"محدث","Updating faces":"تحديث الوجوه","Updating index":"تحديث الفهرس","Updating moments":"تحديث اللحظات","Updating picture…":"جارٍ تحديث الصورة ...","Updating previews":"تحديث المعاينات","Updating stacks":"تحديث المداخن","Upgrade":"رفع مستوى","Upgrade Now":"تحديث الآن","Upload":"تحميل","Upload complete":"اكتمل التحميل","Upload complete. Indexing…":"اكتمل التحميل. جارٍ الفهرسة …","Upload failed":"فشل التحميل","Upload local files":"تحميل الملفات المحلية","Upload Path":"تحميل المسار","Upload to WebDAV and share links with friends.":"تحميل إلى WebDAV ومشاركة الروابط مع الأصدقاء.","Uploading %{n} of %{t}…":"جارٍ تحميل %{n} من %{t}…","Uploading photos…":"جارٍ تحميل الصور …","Uploading…":"جارٍ الرفع...","Uploads that may contain such images will be rejected automatically.":"سيتم رفض التحميلات التي قد تحتوي على مثل هذه الصور تلقائيًا.","Use Presets":"استخدم الإعدادات المسبقة","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"استخدم رمز الاسترداد التالي للوصول إلى حسابك عندما لا تتمكن من إنشاء رمز تحقق صالح باستخدام تطبيق المصادقة الخاص بك:","Use your recovery code or contact an administrator for help.":"استخدم رمز الاسترداد الخاص بك أو اتصل بالمسؤول للحصول على المساعدة.","User":"المستعمل","User Guide":"دليل المستخدم","User Interface":"واجهة المستخدم","Username":"اسم المستخدم","Users":"المستخدمون","Vector":"المتجه","Vectors":"الابعاد","Verification Code":"رمز التحقق","Video":"فيديو","Video Duration":"مدة الفيديو","Videos":"أشرطة فيديو","View":"العرض","View search results as a list.":"عرض نتائج البحث كقائمة.","Viewer":"نافذة العرض","Visitor":"زائر","Visual Similarity":"التشابه البصري","Warning":"تحذير","We appreciate your feedback!":"نحن نقدر ملاحظاتك!","We do our best to respond within five business days or less.":"نحن نبذل قصارى جهدنا للرد في غضون خمسة أيام عمل أو أقل.","Web Login":"تسجيل الدخول عبر الويب","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"يمكن لعملاء WebDAV الاتصال بـ PhotoPrism باستخدام عنوان URL التالي:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"يمكن لعملاء WebDAV، مثل Microsoft Windows Explorer أو Apple's Finder، الاتصال مباشرة بـ PhotoPrism.","WebDAV Upload":"تحميل WebDAV","WebGL support is disabled in your browser":"تم تعطيل دعم WebGL في متصفحك","Website":"الموقع الالكتروني","White":"أبيض","Work Details":"تفاصيل العمل","Year":"سنة","Yellow":"اصفر","Yes":"نعم","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"نرحب باتصالك بنا على membership@photoprism.app لطرح أسئلة بخصوص عضويتك.","You can only download one album":"يمكنك تنزيل ألبوم واحد فقط","You can only download one label":"يمكنك فقط تحميل تسمية واحدة","You can upload up to %{n} files for test purposes.":"يمكنك تحميل ما يصل إلى %{n} من الملفات لأغراض الاختبار.","You may only select one item":"يمكنك اختيار عنصر واحد فقط","You may rescan your library to find additional faces.":"يمكنك إعادة فحص مكتبتك للعثور على وجوه إضافية.","Your account has been successfully connected.":"تم ربط حسابك بنجاح.","Your browser does not support WebGL":"متصفحك لا يدعم WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"يساعدنا دعمك المستمر في توفير تحديثات منتظمة والبقاء مستقلين ، حتى نتمكن من تنفيذ مهمتنا وحماية خصوصيتك.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"يتم تحليل مكتبتك بشكل مستمر لإنشاء ألبومات الحظات الخاصة والرحلات والأماكن تلقائيًا.","Zoom in/out":"التكبير / التصغير"}} \ No newline at end of file +{"ar":{"{0} appended action":"{0} تم إضافة إجراء","{0} files":"{0} ملفات","{0} files ({1} in total)":"{0} ملفات ({1} في المجموع)","{0} more":"{0} المزيد","{0} prepended action":"{0} تم إضافة الإجراء مسبقًا","{0} selected":"تم اختيار {0}","{0}-{1} of {2}":"{0}-{1} من {2}","%{n} albums found":"تم العثور على %{n} من الألبومات","%{n} files uploaded":"تم تحميل %{n} من الملفات","%{n} folders found":"تم العثور على %{n} من مجلدات","%{n} GB of %{q} GB used":"%{n} جيجابايت من %{q} جيجابايت مستخدمة","%{n} labels found":"تم العثور على %{n} من التصنيفات","%{n} people found":"تم العثور على %{n} من الأشخاص","%{n} pictures found":"تم العثور على %{n} صورة","%{s} is too long":"%{s} طويل جدًا","%{s} is too short":"%{s} قصير جدًا","1 hour":"1 ساعة","12 hours":"12 ساعة","2-Factor Authentication":"المصادقة الثنائية","2FA":"2FA","4 hours":"4 ساعات","A click will copy it to your clipboard.":"انقر للنسخ إلى الحافظة الخاصة بك.","A new version of %{s} is available:":"يتوفر إصدار جديد من %{s}:","About":"عن","Access Token":"رمز وصول","Account":"الحساب","Account created":"تم إنشاء الحساب","Account deleted":"تم حذف الحساب","Account restored":"تم استعادة الحساب","Accounts":"حسابات","Accuracy":"دقة","Action":"إجراء","Actions":"أجراءات","Activate":"تفعيل","Activate to remove sorting.":"قم بالتفعيل لإزالة الفرز.","Activate to sort ascending.":"قم بالتفعيل للفرز تصاعديًا.","Activate to sort descending.":"قم بالتفعيل لفرز تنازليًا.","Activation Code":"رمز التفعيل","Add":"إضافة","Add %{s}?":"إضافة %{s}؟","Add Account":"إضافة حساب","Add Album":"أضف البوم","Add files to your library via Web Upload.":"إضافة ملفات إلى المكتبة عبر تحميل الويب.","Add Link":"إضافة رابط","Add person?":"إضافة شخص؟","Add pictures from search results by selecting them.":"أضف الصور من نتائج البحث عن طريق تحديدها.","Add to album":"أضف إلى الألبوم","Added":"مضاف","Adjust Location":"ضبط الموقع","Admin":"مسؤل","Advanced":"متقدم","After 1 day":"بعد يوم واحد","After 3 days":"بعد 3 ايام","After 7 days":"بعد 7 أيام","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"بعد إدخال كلمة المرور الخاصة بك للتأكيد، يمكنك إعداد المصادقة الثنائية باستخدام تطبيق أو جهاز مصادقة متوافق:","After one month":"بعد شهر واحد","After one year":"بعد سنة","After selecting pictures from search results, you can add them to an album using the context menu.":"بعد تحديد الصور من نتائج البحث ، يمكنك إضافتها إلى ألبوم باستخدام قائمة السياق.","After two months":"بعد شهرين","After two weeks":"بعد أسبوعين","Album":"البوم","Album Backups":"النسخ الاحتياطية للألبوم","Album created":"تم إنشاء الألبوم","Album deleted":"تم حذف الألبوم","Albums":"ألبومات","Albums deleted":"تم حذف الألبومات","All":"الجميع","All %{n} albums loaded":"تم تحميل كافة الألبومات الـ %{n}","All %{n} labels loaded":"تم تحميل كافة التسميات الـ %{n}","All %{n} people loaded":"تم تحميل جميع الأشخاص الـ %{n}","All Cameras":"جميع الكاميرات","All Categories":"جميع الفئات","All Colors":"جميع الالوان","All Countries":"كل البلدان","All fields are required":"جميع الحقول مطلوبة","All files from import folder":"جميع الملفات من مجلد الاستيراد","All Lenses":"جميع العدسات","All Months":"كل الشهور","All originals":"جميع النسخ الأصلية","All Years":"جميع السنوات","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"بدلاً من ذلك ، يمكنك تحميل الملفات مباشرة إلى خوادم WebDAV مثل Nextcloud.","Altitude":"ارتفاع","Altitude (m)":"الارتفاع (م)","AM":"صباحاً","Animated":"متحركة","Animation":"صور متحركة","Animations":"الرسوم المتحركة","Any private photos and videos remain private and won't be shared.":"أي صور ومقاطع فيديو خاصة تبقى خاصة ولن تتم مشاركتها.","API Key":"مفتاح API","Application":"طلب","Apply":"تقديم الطلب","Approve":"الموافقة","Apps and Devices":"التطبيقات والأجهزة","Archive":"أرشيف","Archived":"مؤرشف","Are you sure you want to archive the selection?":"هل أنت متأكد أنك تريد أرشفة ما تم تحديده؟","Are you sure you want to delete these albums?":"هل أنت متأكد أنك تريد حذف هذه الألبومات؟","Are you sure you want to delete these labels?":"هل أنت متأكد أنك تريد حذف هذه التصنيفات؟","Are you sure you want to delete this account?":"هل أنت متأكد أنك تريد حذف هذا الحساب؟","Are you sure you want to delete this album?":"هل أنت متأكد من رغبتك في حذف هذا الألبوم؟","Are you sure you want to permanently delete these pictures?":"هل أنت متأكد أنك تريد حذف هذه الصور نهائيًا؟","Are you sure you want to permanently delete this file?":"هل أنت متأكد أنك تريد حذف هذا الملف نهائيًا؟","Are you sure?":"هل أنت متأكد؟","Artist":"الفنان","Aspect Ratio":"نسبة العرض إلى الارتفاع","Audio":"صوتي","Authentication":"المصادقة","Auto":"آلي","Back":"خلف","Back to top":"العودة إلى الأعلى","Backup":"دعم","Badge":"شارة","Base Path":"مسار القاعدة","Become a member today, support our mission and enjoy our member benefits!":"كن عضوًا اليوم ، وادعم مهمتنا واستمتع بمزايا أعضائنا!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"نظرًا لكوننا 100 % s ممولًا ومستقلًا ، يمكننا أن نعدك بأننا لن نبيع بياناتك أبدًا وأننا سنتحلى دائمًا بالشفافية بشأن برامجنا وخدماتنا.","Bio":"السيرة الذاتية","Birth Date":"تاريخ الميلاد","Black":"أسود","Blackman: Lanczos Modification, Less Ringing Artifacts":"بلاكمان: تعديل Lanczos ، قطع أثرية أقل رنين","Blue":"أزرق","Brown":"بني","Browse":"تصفح","Browse and edit image classification labels.":"التصفح لتغيير تسميات تصنيف الصورة.","Browse and share your pictures organized into monthly albums.":"تصفح وشارك صورك المنظمة في ألبومات شهرية.","Browse Files":"تصفح الملفات","Browse indexed files and folders in Library.":"تصفح الملفات والمجلدات المفهرسة في المكتبة.","Bug Report":"تقرير المشاكل","Busy, please wait…":"يتم العمل، الرجاء الانتظار …","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"باستخدام البرامج والخدمات التي نقدمها ، فإنك توافق على شروط الخدمة وسياسة الخصوصية ومدونة قواعد السلوك الخاصة بنا.","Calendar":"تقويم","Camera":"آلة تصوير","Camera Serial":"المسلسل الكاميرا","Can't access your authenticator app or device?":"لا يمكنك الوصول إلى تطبيق أو جهاز المصادقة الخاص بك؟","Can't load more, limit reached":"لا يمكن تحميل المزيد ، تم الوصول إلى الحد الأقصى","Can't select more items":"لا يمكن تحديد المزيد من العناصر","Cancel":"إلغاء","Cannot copy to clipboard":"لا يمكن النسخ إلى الحافظة","Caption":"التسمية التوضيحية","Cards":"البطاقات","Carousel slide {0} of {1}":"شريحة دائرية {0} من {1}","Category":"فئة","Change Avatar":"تغيير الصورة الرمزية","Change Password":"تغيير كلمة المرور","Change personal profile and security settings.":"تغيير ملف التعريف الشخصي وإعدادات الأمان.","Change photo titles, locations, and other metadata.":"قم بتغيير عناوين الصور والمواقع والبيانات الوصفية الأخرى.","Change private flag":"تغيير العلم الخاص","Changes could not be saved":"لا يمكن حفظ التغييرات","Changes successfully saved":"تم حفظ التغييرات بنجاح","Changes to the advanced settings require a restart to take effect.":"تتطلب التغييرات في الإعدادات المتقدمة إعادة التشغيل لتصبح سارية المفعول.","Checked":"التحقق","Chroma":"كروما","Cleaning index and cache":"تنظيف الفهرس وذاكرة التخزين المؤقت","Cleanup":"تنظيف","Clear {0}":"مسح {0}","Client":"العميل","Client Credentials":"بيانات اعتماد العميل","Close":"قريب","Codec":"ترميز","Color":"اللون","Color Profile":"ملف تعريف اللون","Colors":"الألوان","Compare Editions":"قارن الإصدارات","Complete Rescan":"إعادة تفحص كاملة","Confidence":"الثقة","Confirm":"التأكيد","Connect":"الاتصال","Connect via WebDAV":"الاتصال عبر WebDAV","Connected":"متصل","Contact Details":"معلومات الاتصال","Contact Us":"اتصل بنا","Contains %{n} pictures.":"يحتوي على %{n} صورة.","Contains one picture.":"يحتوي على صورة واحدة.","Content":"محتوى","Continue":"المتابعة","Continue with %{provider}":"المتابعة مع %{provider}","Contributor":"مساهم","Converting":"التحويل","Copied to clipboard":"نسخ إلى الحافظة","Copy":"نسخ","Copyright":"حقوق النشر","Couldn't find anything.":"لا يمكن العثور على أي شيء.","Country":"دولة","Create Account":"إنشاء حساب","Create album":"إنشاء ألبوم","Create regular backups based on the configured schedule.":"إنشاء نسخ احتياطية للفهرس بناءً على الجدول الزمني الذي تم تكوينه.","Create YAML files to back up album metadata.":"قم بإنشاء ملفات YAML لعمل نسخة احتياطية من بيانات تعريف الألبوم.","Create YAML sidecar files to back up picture metadata.":"قم بإنشاء ملفات YAML الجانبية لعمل نسخة احتياطية من بيانات تعريف الصورة.","Created":"تم إنشاءه","Creating thumbnails for":"إنشاء صور مصغرة لـ","Cubic: Moderate Quality, Good Performance":"Cubic: جودة متوسطة ، أداء جيد","Current Password":"كلمة المرور الحالية","Custom":"مخصص","Cyan":"ازرق سماوي","Daily":"اليومي","Database Backups":"النسخ الاحتياطية لقاعدة البيانات","Day":"يوم","Deactivate":"إلغاء التفعيل","Debug Logs":"سجلات التصحيح","Default":"مبدئي","Default Folder":"المجلد المبدئي","Delete":"حذف","Delete Album":"حذف الألبوم","Delete All":"حذف الكل","Delete all?":"حذف الكل؟","Delete orphaned index entries, sidecar files and thumbnails.":"حذف إدخالات الفهرس المعزولة والملفات الجانبية والصور المصغرة.","Description":"الوصف","Detailed instructions can be found in our User Guide.":"يمكن العثور على تعليمات مفصلة في دليل المستخدم الخاص بنا.","Details":"تفاصيل","Dimensions":"أبعاد","Disable Backups":"تعطيل النسخ الاحتياطية","Disable Darktable":"تعطيل Darktable","Disable ExifTool":"تعطيل ExifTool","Disable features that require write permission for the originals folder.":"قم بتعطيل الميزات التي تتطلب إذن الكتابة لمجلد النسخ الأصلية.","Disable FFmpeg":"تعطيل FFmpeg","Disable ImageMagick":"تعطيل ImageMagick","Disable interactive world maps and reverse geocoding.":"تعطيل خرائط العالم التفاعلية والترميز الجغرافي العكسي.","Disable Places":"تعطيل الأماكن","Disable RawTherapee":"تعطيل RawTherapee","Disable TensorFlow":"تعطيل TensorFlow","Disable Vectors":"تعطيل النواقل","Disable WebDAV":"تعطيل WebDAV","Disables vector graphics support.":"تعطيل دعم رسومات ااتجاهات.","Disables video transcoding and thumbnail extraction.":"تعطيل تحويل ترميز الفيديو واستخراج الصور المصغرة.","Discover":"اكتشف","Dismiss":"إغلاق","Display Name":"اسم العرض","Display picture captions in search results.":"عرض تعليقات الصور في نتائج البحث.","Display picture titles in search results.":"عرض عناوين الصور في نتائج البحث.","Document":"وثيقة","Documents":"وثائق","Don't use Darktable to convert RAW images.":"لا تستخدم Darktable لتحويل ملفات RAW.","Don't use ImageMagick to convert images.":"لا تستخدم ImageMagick لتحويل الصور.","Don't use RawTherapee to convert RAW images.":"لا تستخدم RawTherapee لتحويل ملفات RAW.","Done":"تم الإنجاز","Done.":"تم الإنجاز.","Download":"تحميل","Download only original media files, without any automatically generated files.":"قم بتحميل ملفات الوسائط الأصلية فقط ، بدون أي ملفات تم إنشاؤها تلقائيًا.","Download remote files":"تنزيل الملفات البعيدة","Download single files and zip archives.":"تنزيل ملفات مفردة ومحفوظات مضغوطة.","Downloading…":"جارى التحميل…","Downscaling Filter":"مرشح تصغير الحجم","Drag and drop files here":"اسحب الملفات هنا","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"نظرًا للكم الهائل من رسائل البريد الإلكتروني التي نتلقاها ، فقد يتعذر على فريقنا الرد عليك على الفور.","Duplicates will be skipped and only appear once.":"سيتم تخطي المحتوى المكرر وسيعرض مرة واحدة فقط.","Duration":"مدة","Dynamic Previews":"المعاينات الديناميكية","Dynamic Size Limit: %{n}px":"حد الحجم الديناميكي:%{n} بكسل","E-Mail":"البريد الإلكتروني","Edit":"تعديل","Edit %{s}":"تعديل %{s}","Edit Account":"تعديل الحساب","Edit Photo":"تعديل الصورة","Edited":"تم التعديل","Email":"البريد","Enable debug mode to display additional logs and help with troubleshooting.":"قم بتمكين وضع التصحيح لعرض سجلات إضافية التي تساعد على اكتشاف الأخطاء وإصلاحها.","Enable new features that may be incomplete or unstable.":"تمكين الميزات الجديدة التي قد تكون غير كاملة أو غير مستقرة.","Enables RAW converter presets. May reduce performance.":"لتمكين الإعدادات المسبقة لمحول RAW. قد يقلل من الأداء.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"يعني تمكين المصادقة الثنائية أنك ستحتاج إلى رمز تحقق تم إنشاؤه عشوائيًا لتسجيل الدخول، لذلك حتى إذا تمكن شخص ما من الوصول إلى كلمة المرور الخاصة بك، فلن يتمكن من الوصول إلى حسابك.","Enter date":"أدخل التاريخ","Enter dates":"أدخل التواريخ","Enter the code generated by your authenticator app:":"أدخل الرمز الذي تم إنشاؤه بواسطة تطبيق المصادقة الخاص بك:","Enter verification code":"أدخل رمز التحقق","Enter your password to confirm the action and continue:":"أدخل كلمة المرور الخاصة بك لتأكيد الإجراء والمتابعة:","Error":"خطأ","Errors":"أخطاء","Estimate":"تقدير","Estimate Locations":"تقدير المواقع","Estimate the approximate location of pictures without GPS coordinates.":"قم بتقدير الموقع التقريبي للصور دون إحداثيات GPS.","Every two days":"كل يومين","Exclude content marked as private from search results, shared albums, labels, and places.":"استبعاد المحتوى المحدد على أنه خاص من نتائج البحث والألبومات المشتركة والعلامات والأماكن.","Exclude hidden":"استبعاد مخفي","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"يلزم استخراج البيانات التعريفية باستخدام ExifTool للحصول على دعم كامل للفيديو والصور المباشرة وXMP.","Experimental Features":"الميزات التجريبية","Expires":"تنتهي","Exposure":"التعرض","Extract still images and generate thumbnails while indexing.":"استخراج الصور الثابتة وإنشاء الصور المصغرة أثناء الفهرسة.","F Number":"رقم F","Face":"وجه","Faces":"وجوه","Failed removing link":"فشل إزالة الارتباط","Failed to connect account.":"فشل في ربط الحساب.","Failed updating link":"فشل تحديث الارتباط","Family Name":"اسم العائلة","Fast":"سريع","Favorite":"مفضل","Favorites":"المفضلة","Feature Request":"طلب المواصفات","Feedback":"استجابة","Female":"أنثى","File":"ملف","File Browser":"متصفح الملفات","File Conversion":"تحويل الملف","File Name":"اسم الملف","File Size":"حجم الملف","Filename":"اسم الملف","Files":"الملفات","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"الملفات ذات الأسماء المتسلسلة مثل \"IMG_1234 (2)\" و \"IMG_1234 (3)\" تنتمي إلى نفس الصورة.","First page":"الصفحة الاولى","Focal Length":"البعد البؤري","Folder":"مجلد","Folder contains %{n} files":"يحتوي المجلد على %{n} من الملفات","Folder is empty":"مجلد فارغ","Folders":"المجلدات","Forgot password?":"هل نسيت كلمة السر؟","FPS":"FPS","Frames":"الإطارات","Full Access":"الوصول الكامل","Fullscreen":"شاشة كاملة","General":"عام","Generate":"يولد","Generate albums of special moments, journeys, and places.":"يقوم تلقائيًا بإنشاء ألبومات للحظات الخاصة والرحلات والأماكن.","Generate Previews":"إنشاء معاينات","Generated":"تم توليده","Get Started":"البدء","Given Name":"الاسم المعطى","Global Options":"خيارات عالمية","Go to page {0}":"انتقل إلى الصفحة {0}","Gold":"ذهب","Green":"لون أخضر","Grey":"رمادي","Guest":"ضيف","Hash":"تجزئة","Help":"مساعدة","Help & Support":"ساعد لدعم","Hidden":"مختفي","Hidden Files":"الملفات المخفية","Hide":"يخفي","Hide photos that have been moved to archive.":"إخفاء الصور التي تم نقلها إلى الأرشيف.","High":"عالٍ","High Dynamic Range (HDR)":"المدى الديناميكي العالي (HDR)","How can we help?":"كيف يمكن أن نساعد؟","Hybrid":"هجين","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"إذا فقدت الوصول إلى تطبيق أو جهاز المصادقة الخاص بك، فيمكنك استخدام رمز الاسترداد لاستعادة الوصول إلى حسابك.","Image":"صورة","Image Quality":"جودة الصورة","Import":"يستورد","Import failed":"فشل الاستيراد","Imported files will be sorted by date and given a unique name to avoid duplicates.":"سيتم فرز الملفات المستوردة حسب التاريخ وإعطاء اسم فريد لتجنب التكرار.","Imported files will be sorted by date and given a unique name.":"سيتم فرز الملفات المستوردة حسب التاريخ وإعطاء اسم فريد.","Importing %{s}…":"استيراد %{s}…","Importing files to originals…":"جارٍ استيراد الملفات إلى النسخ الأصلية …","in":"في","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"في حالة الصور التي تتوقعها مفقودة ، يرجى إعادة فحص مكتبتك وانتظر حتى تكتمل الفهرسة.","Include RAW image files when downloading stacks and archives.":"قم بتضمين ملفات صور RAW عند تنزيل حزم وأرشيفات.","Include sidecar files when downloading stacks and archives.":"قم بتضمين الملفات الجانبية عند تنزيل الحزم والمحفوظات.","Increase storage size or delete files to continue.":"قم بزيادة حجم التخزين أو حذف الملفات للاستمرار.","Index":"فِهرِس","Index and import files through the user interface.":"قم بفهرسة واستيراد الملفات من خلال واجهة المستخدم.","Indexing":"الفهرسة","Indexing failed":"فشلت الفهرسة","Indexing media and sidecar files…":"جارٍ فهرسة الوسائط والملفات الجانبية …","Information":"المعلومات","Instance ID":"معرف المثيل","Insufficient storage.":"مساحة تخزين غير كافية.","Interval":"فترة","Invalid":"غير صالح","Invalid address":"عنوان غير صالح","Invalid country":"بلد غير صالح","Invalid date":"تاريخ غير صالح","Invalid parameters":"معلمات غير صالحة","Invalid photo selected":"تم تحديد صورة غير صالحة","Invalid time":"الوقت غير صالح","Invalid URL":"عنوان URL غير صالح","It is a one-time use code that will disable 2FA for your account when you use it.":"إنه رمز للاستخدام لمرة واحدة والذي سيؤدي إلى تعطيل المصادقة الثنائية لحسابك عند استخدامه.","Item":"العنصر","Items per page:":"العناصر لكل صفحة:","JPEG Quality: %{n}":"جودة JPEG: %{n}","JPEG Size Limit: %{n}px":"حد حجم JPEG: %{n} بكسل","JPEGs and thumbnails are automatically rendered as needed.":"يتم تقديم ملفات JPEG والصور المصغرة تلقائيًا حسب الحاجة.","Keywords":"الكلمات الدالة","Label":"مُلصَق","Labels":"ملصقات","Labels deleted":"تم حذف التصنيفات","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: الحفاظ على التفاصيل ، الحد الأدنى من القطع الأثرية","Language":"لغة","Last Active":"آخر نشاط","Last Login":"آخر تسجيل دخول","Last page":"الصفحة الاخيرة","Last Sync":"آخر مزامنة","Last Used":"آخر أستخدام","Latitude":"خط العرض","LDAP/AD":"LDAP / AD","Learn more":"اعرف المزيد","Learn More":"اعرف المزيد","Legal Information":"المعلومات القانونية","Lens":"عدسة","Library":"مكتبة","License":"رخصة","Like":"المفضلة","Lime":"جير","Limit reached, showing first %{n} files":"تم بلوغ الحد ، عرض أول %{n} ملف","Linear: Very Smooth, Best Performance":"الخطي: سلس جدًا ، أفضل أداء","Link":"ربط","List":"قائمة","List View":"عرض القائمة","Live":"يعيش","Live Photos":"Live Photos","Load more":"تحميل المزيد","Loading items...":"جاري تحميل المواد...","Loading...":"تحميل...","Local":"محلي","Local Time":"التوقيت المحلي","Location":"موقع","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"تظهر السجلات هنا كلما صادف PhotoPrism ملفات معطلة ، أو كانت هناك مشكلات أخرى محتملة.","Login":"تسجيل الدخول","Logout":"تسجيل خروج","Logs":"السجلات","Longitude":"خط الطول","Low":"قليل","Magenta":"أرجواني","Main Color":"اللون الأساسي","Male":"ذكر","Manage Account":"إدارة الحساب","Manager":"المدير","Manual":"يدوي","Manual Upload":"تحميل يدوي","Maps":"الخرائط","Marker":"علامة","Maximum number of accounts has been reached.":"تم الوصول إلى الحد الأقصى لعدد الحسابات.","Media":"وسائط","Medium":"متوسط","Membership":"عضوية","Merge %{a} with %{b}?":"هل تريد دمج %{a} مع %{b}؟","Message":"رسالة","Message sent":"تم الارسال","Metadata":"البيانات الوصفية","Metrics":"المقاييس","Minimize":"تصغير","Missing":"مفقود","Missing or invalid configuration":"تكوين مفقود أو غير صالح","Moments":"لحظات","Monochrome":"أحادي اللون","Month":"شهر","More options":"مزيد من الخيارات","Mosaic":"فسيفساء","Most Relevant":"الأكثر صلة","Move Files":"نقل الملفات","Must have at least %{n} characters.":"يجب أن يحتوي على %{n} أحرف على الأقل.","Mute":"صامت","Name":"اسم","Name too long":"الاسم طويل جدًا","Never":"أبداً","New":"جديد","New Password":"كلمة السر الجديدة","Newest First":"الاحدث اولا","Next":"التالي","Next page":"الصفحة التالية","Next visual":"الصورة التالية","No":"رقم","No albums found":"لم يتم العثور على ألبومات","No data available":"لا توجد بيانات متاحة","No labels found":"لم يتم العثور على تسميات","No matching records found":"لم يتم العثور على سجلات مطابقة","No more":"لا مزيد","No people found":"لم يتم العثور على أشخاص","No pictures found":"لم يتم العثور على صور","No recently edited pictures":"لا توجد صور تم تحريرها مؤخرا","No results":"لا توجد نتائج","No server connection":"لا يوجد اتصال بالخادم","No servers configured.":"لم يتم تكوين أي خوادم.","No services configured.":"لم يتم تكوين أي خدمات.","No thanks":"لا شكرا","No warnings or error containing this keyword. Note that search is case-sensitive.":"لا تحذيرات أو خطأ يحتوي على هذه الكلمة الأساسية. لاحظ أن البحث حساس لحالة الأحرف.","Non-photographic and low-quality images require a review before they appear in search results.":"تتطلب الصور غير الفوتوغرافية وذات الجودة المنخفضة المراجعة قبل ظهورها في نتائج البحث.","None":"لا أحد","Not allowed":"غير مسموح به","Not found":"لم يتم العثور على","Not sorted.":"غير مرتب.","Not supported":"غير مدعوم","Note you may manually manage your originals folder and importing is optional.":"لاحظ أنه يمكنك إدارة مجلد الأصول يدويًا والاستيراد اختياري.","Note:":"ملحوظة:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"ملاحظة: يمكن تكوين خوادم WebDAV فقط ، مثل Nextcloud أو PhotoPrism ، كخدمة عن بُعد للنسخ الاحتياطي وتحميل الملفات.","Notes":"ملحوظات","Nothing to see here yet.":"لا شيء لتراه هنا حتى الآن. كن صبوراً.","Nothing was found.":"لم يتم العثور على شيء.","Offline":"غير متصل على الانترنت","OIDC":"OIDC","OK":"نعم","Oldest First":"الاقدم اولا","On Windows, enter the following resource in the connection dialog:":"في نظام التشغيل Windows ، أدخل المورد التالي في مربع حوار الاتصال:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"قد يؤدي إنشاء الصور المصغرة عند الطلب إلى زيادة استخدام وحدة المعالجة المركزية والذاكرة. لا يُنصح باستخدامه مع الخوادم ذات الموارد المحدودة وأجهزة NAS.","Once a week":"مرة في الأسبوع","One album found":"تم العثور على ألبوم واحد","One file found":"تم العثور على ملف واحد","One file uploaded":"تم تحميل ملف واحد","One folder found":"تم العثور على مجلد واحد","One label found":"تم العثور على تسمية واحدة","One person found":"تم العثور على شخص واحد","One picture found":"تم العثور على صورة واحدة","Only locally managed accounts can be set up for authentication with 2FA.":"يمكن إعداد الحسابات المُدارة محليًا فقط للمصادقة باستخدام المصادقة الثنائية (2FA).","Open":"يفتح","optional":"خياري","or":"أو","Orange":"البرتقالي","Organization":"المنظمة","Orientation":"توجيه","Original file names will be stored and indexed.":"سيتم تخزين أسماء الملفات الأصلية وفهرستها.","Original Name":"الاسم الاصلي","Originals":"أصول","Other":"آخر","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"مهمتنا هي توفير الحل الأكثر ملاءمة للمستخدم والخصوصية للحفاظ على صورك منظمة ويمكن الوصول إليها.","Outdoor":"في الخارج","Page {0}, Current page":"الصفحة {0}، الصفحة الحالية","Pages":"الصفحات","Pagination Navigation":"التنقل عبر الصفحات","Panorama":"بانوراما","Panoramas":"بانوراما","Password":"كلمة المرور","Password changed":"تم تغيير كلمة السر","People":"الناس","People you share a link with will be able to view public contents.":"سيتمكن الأشخاص الذين تشارك الرابط معهم من عرض المحتويات العامة.","Permanently deleted":"حذف نهائيًا","Permanently remove files to free up storage.":"قم بإزالة الملفات بشكل دائم لتحرير مساحة التخزين.","Person":"شخص","Personal":"شخصي","Photo":"صورة","PhotoPrism is 100% self-funded and independent.":"PhotoPrism هو 100٪ مستقل وممول ذاتيًا.","PhotoPrism+ Membership":"PhotoPrism + عضوية","Photos":"الصور","Picture Title":"عنوان الصورة","Pink":"لون القرنفل","Place":"مكان","Place & Time":"المكان والزمان","Places":"أماكن","Please confirm your new password.":"يرجى تأكيد كلمة المرور الجديدة الخاصة بك.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"يرجى نسخ كلمة مرور التطبيق التالية التي تم إنشاؤها عشوائيًا والاحتفاظ بها في مكان آمن، حيث لن تتمكن من رؤيتها مرة أخرى:","Please do not upload any private, unlawful or offensive pictures.":"يرجى عدم تحميل أي صور خاصة أو غير قانونية أو مسيئة.","Please don't upload photos containing offensive content.":"الرجاء عدم تحميل الصور التي تحتوي على محتوى مسيء.","Please enter OTP character {0}":"الرجاء إدخال حرف OTP {0}","Please note that changing your password will log you out on other devices and browsers.":"يرجى ملاحظة أن تغيير كلمة المرور الخاصة بك سيؤدي إلى تسجيل خروجك على الأجهزة والمتصفحات الأخرى.","Please restart your instance for the changes to take effect.":"يرجى إعادة تشغيل المثيل الخاص بك لتصبح التغييرات سارية المفعول.","Please wait…":"انتظر من فضلك…","PM":"مساءً","PNG Size Limit: %{n}px":"حد حجم PNG: %{n} بكسل","Portrait":"لَوحَة","Preserve filenames":"الاحتفاظ بأسماء الملفات","Press enter to create a new album.":"اضغط على Enter لإنشاء ألبوم جديد.","Prevent database and album backups as well as YAML sidecar files from being created.":"منع إنشاء النسخ الاحتياطية لقاعدة البيانات والألبومات وكذلك ملفات YAML الجانبية.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"منع التطبيقات الأخرى من الوصول إلى PhotoPrism كمحرك أقراص شبكة مشترك.","Preview":"معاينة","Preview Images":"معاينة الصور","Previous":"سابق","Previous page":"الصفحة السابقة","Previous visual":"الصورة السابقة","Primary":"الأولية","Private":"خاص","Product Feedback":"ملاحظات المنتج","Projection":"تنبؤ","Purple":"أرجواني","Quality Filter":"مرشح الجودة","Quality Score":"نقاط الجودة","r":"ص","Random":"عشوائي","Rating {0} of {1}":"التقييم {0} من {1}","Raw":"خام","RAW":"الخام","Re-index all originals, including already indexed and unchanged files.":"أعد فهرسة جميع الأصول ، بما في ذلك الملفات المفهرسة بالفعل والتي لم يتم تغييرها.","Read-Only Mode":"وضع القراءة فقط","Recently Added":"أضيف حديثا","Recently Archived":"مؤرشفة مؤخرا","Recently Edited":"تم تحريره مؤخرًا","Recognition starts after indexing has been completed.":"يبدأ التعرف بعد اكتمال الفهرسة.","Recognize faces so people can be assigned and found.":"يتعرف على الوجوه بحيث يمكن العثور على أشخاص محددين.","Recognized":"معروف","Recovery Code":"رمز الاسترداد","Red":"أحمر","Refresh":"ينعش","Regions":"المناطق","Register":"يسجل","Reload":"إعادة تحميل","Reloading…":"جارٍ إعادة التحميل…","Remote Sync":"مزامنة عن بعد","Remove":"إزالة","remove failed: unknown album":"فشل الإزالة: ألبوم غير معروف","Remove from Album":"إزالة من الألبوم","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"إزالة الملفات المستوردة لحفظ المساحة. لن يتم حذف أنواع الملفات الغير مدعومة مطلقًا ، وستظل في موقعها الحالي.","Request failed - are you offline?":"فشل الطلب - هل أنت غير متصل؟","Request failed - invalid response":"فشل الطلب - استجابة غير صالحة","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"يجب مراجعة الصور الغير فوتوغرافية و الصور ذات الجودة المنخفضة قبل ظهورها في نتائج البحث.","Resolution":"الجودة","Restart":"إعادة التشغيل","Restore":"استرجاع","Restored":"تم الاسترجاع","Retry Limit":"حد إعادة المحاولة","Retype Password":"اعد ادخال كلمة المرور","Review":"التدقيق","Role":"دور","Rows per page:":"عدد الصفوف في الصفحة:","Satellite":"الأقمار الصناعية","Save":"حفظ","Scan":"مسح","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"امسح رمز الاستجابة السريعة باستخدام تطبيق المصادقة الخاص بك أو استخدم مفتاح الإعداد الموضح أدناه ثم أدخل رمز التحقق الذي تم إنشاؤه:","Scans":"عمليات المسح","Scope":"نطاق","Search":"بحث","Search and display photos on a map.":"البحث عن الصور وعرضها على الخريطة.","Season":"الموسم","Secret":"سر","Security and Access":"الأمن والوصول","Select":"اختار","Select a source folder to import files…":"حدد ملف المصدر لاستيراد الملفات…","Select date":"حدد التاريخ","Select dates":"حدد التواريخ","Select or create an album":"حدد أو قم بإنشاء ألبوم","Select the files to upload…":"حدد الملفات التي تريد تحميلها…","Select the folder to be indexed…":"حدد المجلد الذي تريد فهرسته…","Select Time":"حدد الوقت","Selection approved":"تمت الموافقة على الاختيار","Selection archived":"تمت أرشفة المحتوى المحدد","Selection restored":"تمت استعادة المحتوى المحدد","Sequential Name":"الاسم المتسلسل","Service URL":"رابط الخدمة","Services":"الخدمات","Session":"جلسة العمل","Session ID":"معرف جلسة العمل","Sessions":"الجلسات","Set as Album Cover":"تعيين كغلاف للألبوم","Settings":"الإعدادات","Settings saved":"تم حفظ الإعدادات","Setup":"تخصيص","Share":"المشاركة","Share %{s}":"مشاركة %{s}","Share your pictures with other apps and services.":"شارك الصور مع التطبيقات والخدمات الأخرى.","Show":"عرض","Show all new faces":"عرض كل الوجوه الجديدة","Show Captions":"إظهار التسميات التوضيحية","Show hidden":"أظهر المخفي","Show less":"عرض أقل","Show more":"أظهر المزيد","Show server logs in Library.":"إظهار سجلات الخادم في المكتبة.","Show Titles":"إظهار العناوين","Sidecar":"Sidecar","Sidecar Files":"ملفات Sidecar","Sign in":"تسجيل الدخول","Similar":"مماثل","Size":"بحجم","Slideshow":"عرض الشرائح","Slow":"بطيء","Software":"برمجة","Software Update":"تحديث البرنامج","Something went wrong, try again":"حدث خطأ ما حاول مرة أخرى","Sort by":"فرز حسب","Sort Order":"امر ترتيب","Sorted ascending.":"مرتبة تصاعديًا.","Sorted descending.":"مرتبة تنازليا.","Source":"مصدر","Stack":"كومة","Stack files sharing the same unique image or instance identifier.":"تكديس الملفات التي تشترك في نفس الصورة الفريدة أو معرّف المثيل.","Stack pictures taken at the exact same time and location based on their metadata.":"قم بتجميع الصور الملتقطة في نفس الوقت والمكان بالضبط بناءً على البيانات الوصفية الخاصة بها.","Stackable":"سهل التخزين","Stacks":"المجموعات","Start":"بداية","Start Page":"صفحة البداية","Static Size Limit: %{n}px":"حد الحجم الثابت: %{n} بكسل","Status":"الحالة","Storage":"المساحة","Streets":"الشوارع","Subject":"المواضيع","Submit":"اكمل الطلب","Successfully activated":"تم التفعيل بنجاح","Successfully Connected":"تم الاتصال بنجاح","Successfully deleted":"تم الحذف بنجاح","Successfully verified":"تم التحقق بنجاح","Super Admin":"Super Admin","Support for additional services, like Google Drive, will be added over time.":"دعم الخدمات الإضافية ، مثل Google Drive ، ستتم إضافته بمرور الوقت.","Support Our Mission":"دعم مهمتنا","Sync":"مزامنة","Sync raw and video files":"مزامنة ملفات الفيديو الخام","Taken":"مأخوذ","Teal":"بط نهري صغير","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow مطلوب لتصنيف الصور والتعرف على الوجه واكتشاف المحتوى غير الآمن.","Terrain":"التضاريس","Text":"نص","Text too long":"نص طويل جدًا","Thank You for Your Support!":"شكرا لدعمك!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"لهذا السبب تم إنشاء PhotoPrism من الألف إلى الياء للتشغيل أينما تريد ، دون المساس بالحرية أو الخصوصية أو الوظيفة.","The index currently contains %{n} hidden files.":"يحتوي الفهرس حاليًا على %{n} من الملفات المخفية.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"قد لا يكون تنسيقها مدعومًا ، أو لم يتم تحويلها إلى JPEG بعد أو أن هناك نسخًا مكررة.","Theme":"هوية التصميم","This field is required":"هذه الخانة مطلوبة","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"يعمل هذا على تثبيت مجلد النسخ الأصلية كمحرك أقراص شبكة ويسمح لك بفتح الملفات وتعديلها وحذفها من جهاز الكمبيوتر أو الهاتف الذكي كما لو كانت محلية.","Time UTC":"الوقت بالتوقيت العالمي المنسق","Time Zone":"وحدة زمنية","Timeout":"نفذ الوقت","Title":{"Account":"عنوان","Photo":"عنوان","":"عنوان"},"Title / Position":"اللقب / المنصب","Title too long":"العنوان طويل جدًا","to":"إلى","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"لتجنب حظر دخولك إلى حسابك، يرجى تنزيل رمز الاسترداد هذا أو طباعته أو نسخه الآن والاحتفاظ به في مكان آمن.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"لإنشاء كلمة مرور جديدة خاصة بالتطبيق، يرجى إدخال الاسم ونطاق الترخيص الخاص بالتطبيق وتحديد تاريخ انتهاء الصلاحية:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"للتبديل إلى تطبيق أو جهاز مصادقة جديد، قم أولاً بإلغاء تنشيط المصادقة الثنائية ثم أعد تنشيطها:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"للترقية ، يمكنك إما إدخال رمز التفعيل أو النقر فوق \"تسجيل\" للتسجيل على موقعنا الإلكتروني:","Today":"اليوم","Toggle View":"نظرة قوية","Token":"رمز","Too many files selected":"تم تحديد عدد كبير جدًا من الملفات","Too many requests":"طلبات كثيرة جدا","Troubleshooting":"استكشاف الأخطاء وإصلاحها","Try again using other filters or keywords.":"حاول مرة أخرى باستخدام عوامل تصفية أو كلمات رئيسية أخرى.","Two-factor authentication has been enabled for your account.":"لقد تم تفعيل المصادقة الثنائية لحسابك.","Type":"يكتب","Unable to delete":"تعذر الحذف","Unauthorized":"غير مصرح","Undo":"الغاء التحميل","Unique ID":"معرف مميز","Unknown":"مجهول","Unregistered":"غير مسجل","Unsorted":"غير مصنف","Unstack":"فصل المحتوى","Updated":"محدث","Updating faces":"تحديث الوجوه","Updating index":"تحديث الفهرس","Updating moments":"تحديث اللحظات","Updating picture…":"جارٍ تحديث الصورة ...","Updating previews":"تحديث المعاينات","Updating stacks":"تحديث المداخن","Upgrade":"رفع مستوى","Upgrade Now":"تحديث الآن","Upload":"تحميل","Upload complete":"اكتمل التحميل","Upload complete. Indexing…":"اكتمل التحميل. جارٍ الفهرسة …","Upload failed":"فشل التحميل","Upload local files":"تحميل الملفات المحلية","Upload Path":"تحميل المسار","Upload to WebDAV and share links with friends.":"تحميل إلى WebDAV ومشاركة الروابط مع الأصدقاء.","Uploading %{n} of %{t}…":"جارٍ تحميل %{n} من %{t}…","Uploading photos…":"جارٍ تحميل الصور …","Uploading…":"جارٍ الرفع...","Uploads that may contain such images will be rejected automatically.":"سيتم رفض التحميلات التي قد تحتوي على مثل هذه الصور تلقائيًا.","Use Presets":"استخدم الإعدادات المسبقة","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"استخدم رمز الاسترداد التالي للوصول إلى حسابك عندما لا تتمكن من إنشاء رمز تحقق صالح باستخدام تطبيق المصادقة الخاص بك:","Use your recovery code or contact an administrator for help.":"استخدم رمز الاسترداد الخاص بك أو اتصل بالمسؤول للحصول على المساعدة.","User":"المستعمل","User Guide":"دليل المستخدم","User Interface":"واجهة المستخدم","Username":"اسم المستخدم","Users":"المستخدمون","Vector":"المتجه","Vectors":"الابعاد","Verification Code":"رمز التحقق","Video":"فيديو","Video Duration":"مدة الفيديو","Videos":"أشرطة فيديو","View":"العرض","View search results as a list.":"عرض نتائج البحث كقائمة.","Viewer":"نافذة العرض","Visitor":"زائر","Visual Similarity":"التشابه البصري","Warning":"تحذير","We appreciate your feedback!":"نحن نقدر ملاحظاتك!","We do our best to respond within five business days or less.":"نحن نبذل قصارى جهدنا للرد في غضون خمسة أيام عمل أو أقل.","Web Login":"تسجيل الدخول عبر الويب","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"يمكن لعملاء WebDAV الاتصال بـ PhotoPrism باستخدام عنوان URL التالي:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"يمكن لعملاء WebDAV، مثل Microsoft Windows Explorer أو Apple's Finder، الاتصال مباشرة بـ PhotoPrism.","WebDAV Upload":"تحميل WebDAV","WebGL support is disabled in your browser":"تم تعطيل دعم WebGL في متصفحك","Website":"الموقع الالكتروني","White":"أبيض","Work Details":"تفاصيل العمل","Year":"سنة","Yellow":"اصفر","Yes":"نعم","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"نرحب باتصالك بنا على membership@photoprism.app لطرح أسئلة بخصوص عضويتك.","You can only download one album":"يمكنك تنزيل ألبوم واحد فقط","You can only download one label":"يمكنك فقط تحميل تسمية واحدة","You can search for a location or move the marker on the map to change the position:":"يمكنك البحث عن موقع أو تحريك العلامة على الخريطة لتغيير الموقع:","You can upload up to %{n} files for test purposes.":"يمكنك تحميل ما يصل إلى %{n} من الملفات لأغراض الاختبار.","You may only select one item":"يمكنك اختيار عنصر واحد فقط","You may rescan your library to find additional faces.":"يمكنك إعادة فحص مكتبتك للعثور على وجوه إضافية.","Your account has been successfully connected.":"تم ربط حسابك بنجاح.","Your browser does not support WebGL":"متصفحك لا يدعم WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"يساعدنا دعمك المستمر في توفير تحديثات منتظمة والبقاء مستقلين ، حتى نتمكن من تنفيذ مهمتنا وحماية خصوصيتك.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"يتم تحليل مكتبتك بشكل مستمر لإنشاء ألبومات الحظات الخاصة والرحلات والأماكن تلقائيًا.","Zoom in/out":"التكبير / التصغير"}} \ No newline at end of file diff --git a/frontend/src/locales/json/be.json b/frontend/src/locales/json/be.json index 9a2e6655c..b94b26fb8 100644 --- a/frontend/src/locales/json/be.json +++ b/frontend/src/locales/json/be.json @@ -1 +1 @@ -{"be":{"{0} appended action":"{0} дададзена дзеянне","{0} files":"Файлаў: {0}","{0} files ({1} in total)":"{0} файлаў (усяго {1})","{0} more":"яшчэ {0}","{0} prepended action":"{0} дададзенае дзеянне","{0} selected":"{0} выбрана","{0}-{1} of {2}":"{0}-{1} з {2}","%{n} albums found":"%{n} альбомаў знойдзена","%{n} files uploaded":"%{n} файлаў запампавана","%{n} folders found":"%{n} папак знойдзена","%{n} GB of %{q} GB used":"%{n} ГБ з %{q} ГБ выкарыстана","%{n} labels found":"%{n} метак знойдзена","%{n} people found":"Знойдзена %{n} чалавек","%{n} pictures found":"Знойдзена %{n} відарысаў","%{s} is too long":"%{s} занадта доўга","%{s} is too short":"%{s} занадта кароткі","1 hour":"1 гадзіна","12 hours":"12 гадзін","2-Factor Authentication":"2-фактарная аўтэнтыфікацыя","2FA":"2FA","4 hours":"4 гадзіны","A click will copy it to your clipboard.":"Клік скапіруе яго ў буфер абмену.","A new version of %{s} is available:":"Даступная новая версія %{s}:","About":"Аб","Access Token":"Токен доступу","Account":"Уліковы запіс","Account created":"Уліковы запіс створаны","Account deleted":"Уліковы запіс выдалены","Account restored":"Уліковы запіс адноўлены","Accounts":"Уліковыя запісы","Accuracy":"Дакладнасць","Action":"Дзеянне","Actions":"Дзеянні","Activate":"Актываваць","Activate to remove sorting.":"Уключыце, каб выдаліць сартаванне.","Activate to sort ascending.":"Уключыце для сартавання па ўзрастанні.","Activate to sort descending.":"Уключыце для сартавання па змяншэнні.","Activation Code":"Код актывацыі","Add":"Дадаць","Add %{s}?":"Дадаць %{s}?","Add Account":"Дадаць уліковы запіс","Add Album":"Дадаць альбом","Add files to your library via Web Upload.":"Дадайце файлы ў сваю бібліятэку праз вэб запампоўку.","Add Link":"Дадаць спасылку","Add person?":"Дадаць чалавека?","Add pictures from search results by selecting them.":"Дадайце выявы з вынікаў пошуку, выбраўшы іх.","Add to album":"Дадаць у альбом","Added":"Дададзена","Admin":"Адмін","Advanced":"Пашыраныя","After 1 day":"Праз 1 дзень","After 3 days":"Праз 3 дні","After 7 days":"Праз 7 дзён","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Пасля ўводу пароля для пацверджання вы можаце наладзіць двухфактарную аўтэнтыфікацыю з дапамогай сумяшчальнай праграмы або прылады аўтэнтыфікатара:","After one month":"Праз месяц","After one year":"Праз год","After selecting pictures from search results, you can add them to an album using the context menu.":"Пасля выбару відарысаў з вынікаў пошуку вы можаце дадаць іх у альбом з дапамогай кантэкстнага меню.","After two months":"Праз два месяцы","After two weeks":"Праз два тыдні","Album":"Альбом","Album Backups":"Рэзервовыя копіі альбомаў","Album created":"Альбом створаны","Albums":"Альбомы","Albums deleted":"Альбомы выдалены","All":"Усе","All %{n} albums loaded":"Усе %{n} альбомаў загружаны","All %{n} labels loaded":"Усе %{n} меткі загружаны","All %{n} people loaded":"Усе %{n} чалавек загружаны","All Cameras":"Усе камеры","All Categories":"Усе катэгорыі","All Colors":"Усе колеры","All Countries":"Усе краіны","All fields are required":"Усе палі абавязковыя для запаўнення","All files from import folder":"Усе файлы з папкі імпарту","All Lenses":"Усе лінзы","All Months":"Усе месяцы","All originals":"Усе арыгіналы","All Years":"Усе гады","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Акрамя таго, вы можаце запампаваць файлы непасрэдна на серверы WebDAV, такія як Nextcloud.","Altitude":"Вышыня над узроўнем мора","Altitude (m)":"Вышыня (м)","AM":"AM","Animated":"Аніміраваныя","Animation":"Анімацыя","Any private photos and videos remain private and won't be shared.":"Любыя прыватныя фатаграфіі і відэа застаюцца прыватнымі і не будуць перададзены.","API Key":"Ключ API","Application":"Ужыванне","Apply":"Ужыць","Approve":"Зацвердзіць","Apps and Devices":"Праграмы і прылады","Archive":"Архіў","Archived":"Заархівавана","Are you sure you want to archive the selection?":"Вы ўпэўнены, што хочаце заархіваваць выбар?","Are you sure you want to delete these albums?":"Вы ўпэўнены, што хочаце выдаліць гэтыя альбомы?","Are you sure you want to delete these labels?":"Вы ўпэўнены, што жадаеце выдаліць гэтыя меткі?","Are you sure you want to delete this account?":"Вы ўпэўнены, што хочаце выдаліць гэты акаунт?","Are you sure you want to permanently delete these pictures?":"Вы ўпэўнены, што хочаце назаўсёды выдаліць гэтыя фатаграфіі?","Are you sure you want to permanently delete this file?":"Вы ўпэўнены, што хочаце назаўжды выдаліць гэты файл?","Are you sure?":"Вы ўпэўнены?","Artist":"Мастак","Aspect Ratio":"Суадносіны бакоў","Audio":"Аўдыё","Authentication":"Аўтэнтыфікацыя","Auto":"Аўто","Back":"Назад","Back to top":"Вярнуцца да пачатку","Backup":"Рэзервовае капіраванне","Badge":"Значок","Base Path":"Базавы шлях","Become a member today, support our mission and enjoy our member benefits!":"Станьце членам сёння, падтрымайце нашу місію і атрымлівайце асалоду ад нашых пераваг для ўдзельнікаў!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Будучы на 100% самафінансаваным і незалежным, мы можам паабяцаць вам, што ніколі не будзем прадаваць вашы даныя і што мы заўсёды будзем празрыстымі адносна нашага праграмнага забеспячэння і паслуг.","Bio":"Біяграфія","Birth Date":"Дата нараджэння","Black":"Чорны","Blackman: Lanczos Modification, Less Ringing Artifacts":"Блэкмэн: мадыфікацыя Lanczos, менш звонкія артэфакты","Blue":"Сіні","Brown":"Карычневы","Browse":"Праглядзіце","Browse and edit image classification labels.":"Прагляд і рэдагаванне метак класіфікацыі відарысаў.","Browse and share your pictures organized into monthly albums.":"Праглядайце і дзяліцеся сваімі фотаздымкамі, упарадкаванымі ў штомесячныя альбомы.","Browse Files":"Прагляд файлаў","Browse indexed files and folders in Library.":"Прагляд праіндэксаваных файлаў і папак у бібліятэцы.","Bug Report":"Справаздача пра памылку","Busy, please wait…":"Заняты, пачакайце…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Выкарыстоўваючы праграмнае забеспячэнне і паслугі, якія мы прадстаўляем, вы згаджаецеся з нашымі ўмовамі абслугоўвання, палітыкай прыватнасці і кодэксам паводзін.","Calendar":"Каляндар","Camera":"Камера","Camera Serial":"Серыял камеры","Can't access your authenticator app or device?":"Не можаце атрымаць доступ да праграмы або прылады аўтэнтыфікатара?","Can't load more, limit reached":"Немагчыма загрузіць больш, дасягнуты ліміт","Can't select more items":"Немагчыма выбраць больш элементаў","Cancel":"Адмяніць","Caption":"Надпіс","Cards":"Карты","Carousel slide {0} of {1}":"Слайд каруселі {0} з {1}","Category":"Катэгорыя","Change Avatar":"Змяніць аватар","Change Password":"Змяніць пароль","Change personal profile and security settings.":"Змяніць асабісты профіль і параметры бяспекі.","Change photo titles, locations, and other metadata.":"Змяніць назвы фатаграфій, месцы і іншыя метаданыя.","Change private flag":"Змяніць прыватны тэг","Changes could not be saved":"Не ўдалося захаваць змены","Changes successfully saved":"Змены паспяхова захаваны","Changes to the advanced settings require a restart to take effect.":"Каб змены ў дадатковых наладах уступілі ў сілу, патрабуецца перазапуск.","Checked":"Праверана","Chroma":"Каляровасць","Cleaning index and cache":"Ачыстка індэкса і кэша","Cleanup":"Прыбіраць","Clear {0}":"Ачысціць {0}","Client":"Кліент","Client Credentials":"Уліковыя даныя кліента","Close":"Закрыць","Codec":"Кодэк","Color":"Колер","Color Profile":"Каляровы профіль","Colors":"Колеры","Compare Editions":"Параўнаць выданні","Complete Rescan":"Поўнае паўторнае сканаванне","Confidence":"Упэўненасць","Confirm":"Пацвердзіць","Connect":"Злучыць","Connect via WebDAV":"Злучэнне праз WebDAV","Connected":"Падключана","Contact Details":"Кантактная інфармацыя","Contact Us":"Звяжыцеся з намі","Contains %{n} pictures.":"Змяшчае %{n} відарысаў.","Contains one picture.":"Змяшчае адзін малюнак.","Content":"Змест","Continue":"Працягнуць","Continue with %{provider}":"Працягнуць з %{provider}","Contributor":"Укладальнік","Converting":"Пераўтварэнне","Copied to clipboard":"Скапіравана ў буфер абмену","Copy":"Копія","Copyright":"Аўтарскае права","Couldn't find anything.":"Нічога не знайшоў.","Country":"Краіна","Create Account":"Стварыць акаунт","Create album":"Стварыць альбом","Create regular backups based on the configured schedule.":"Стварэнне рэзервовых копій індэксаў на аснове наладжанага раскладу.","Create YAML files to back up album metadata.":"Стварыце файлы YAML для рэзервовага капіравання метаданых альбома.","Create YAML sidecar files to back up picture metadata.":"Стварыце пабочныя файлы YAML для рэзервовага капіравання метададзеных выявы.","Created":"Створана","Creating thumbnails for":"Стварэнне мініяцюр для","Cubic: Moderate Quality, Good Performance":"Cubic: умераная якасць, добрая прадукцыйнасць","Current Password":"Бягучы пароль","Custom":"Прыстасаваныя","Cyan":"Блакітны","Daily":"Штодня","Database Backups":"Рэзервовыя копіі баз даных","Day":"Дзень","Deactivate":"Дэактываваць","Debug Logs":"Журналы адладкі","Default":"Па змаўчанні","Default Folder":"Папка па змаўчанні","Delete":"Выдаліць","Delete All":"Выдаліць усе","Delete all?":"Выдаліць усе?","Delete orphaned index entries, sidecar files and thumbnails.":"Выдаліць асірацелыя запісы індэкса, дапаможныя файлы і мініяцюры.","Description":"Апісанне","Detailed instructions can be found in our User Guide.":"Падрабязныя інструкцыі можна знайсці ў нашым Кіраўніцтве карыстальніка.","Details":"Дэталі","Dimensions":"Памеры","Disable Backups":"Адключыць рэзервовае капіраванне","Disable Darktable":"Адключыць Darktable","Disable ExifTool":"Адключыць ExifTool","Disable features that require write permission for the originals folder.":"Адключыце функцыі, якія патрабуюць дазволу на запіс для папкі арыгіналаў.","Disable FFmpeg":"Адключыць FFmpeg","Disable ImageMagick":"Адключыць ImageMagick","Disable interactive world maps and reverse geocoding.":"Адключыць інтэрактыўныя карты свету і адваротнае геакадзіраванне.","Disable Places":"Адключыць Месцы","Disable RawTherapee":"Адключыць RawTherapee","Disable TensorFlow":"Адключыць TensorFlow","Disable Vectors":"Адключыць вектары","Disable WebDAV":"Адключыць WebDAV","Disables vector graphics support.":"Адключае падтрымку вектарнай графікі.","Disables video transcoding and thumbnail extraction.":"Адключае перакадзіраванне відэа і выманне мініяцюр.","Discover":"Адкрыйце для сябе","Dismiss":"Звольніць","Display Name":"Адлюстраванае імя","Display picture captions in search results.":"Паказваць подпісы да малюнкаў у выніках пошуку.","Display picture titles in search results.":"Паказаць назвы малюнкаў у выніках пошуку.","Document":"Дакумент","Documents":"Дакументы","Don't use Darktable to convert RAW images.":"Не выкарыстоўвайце Darktable для пераўтварэння RAW відарысаў.","Don't use ImageMagick to convert images.":"Не выкарыстоўвайце ImageMagick для пераўтварэння відарысаў.","Don't use RawTherapee to convert RAW images.":"Не выкарыстоўвайце RawTherapee для пераўтварэння RAW відарысаў.","Done":"Гатова","Done.":"Гатова.","Download":"Спампаваць","Download only original media files, without any automatically generated files.":"Спампоўваць толькі арыгінальныя мультымедыйныя файлы без аўтаматычна створаных файлаў.","Download remote files":"Спампаваць выдаленыя файлы","Download single files and zip archives.":"Спампаваць асобныя файлы і zip-архівы.","Downloading…":"Спампоўка…","Downscaling Filter":"Фільтр памяншэння памеру","Drag and drop files here":"Перацягнуць файлы сюды","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"З-за вялікай колькасці электронных лістоў, якія мы атрымліваем, наша каманда можа не змагчы звязацца з вамі неадкладна.","Duplicates will be skipped and only appear once.":"Дублікаты будуць прапушчаны і з'явяцца толькі адзін раз.","Duration":"Працягласць","Dynamic Previews":"Дынамічны папярэдні прагляд","Dynamic Size Limit: %{n}px":"Абмежаванне дынамічнага памеру: %{n}px","E-Mail":"Электронная пошта","Edit":"Рэдагаваць","Edit %{s}":"Рэдагаваць %{s}","Edit Account":"Рэдагаваць уліковы запіс","Edit Photo":"Рэдагаваць фота","Edited":"Адрэдагавана","Email":"Электронная пошта","Enable debug mode to display additional logs and help with troubleshooting.":"Уключыце рэжым адладкі, каб паказаць дадатковыя журналы і дапамагчы ў ліквідацыі непаладак.","Enable new features that may be incomplete or unstable.":"Уключыць новыя функцыі, якія могуць быць няпоўнымі або нестабільнымі.","Enables RAW converter presets. May reduce performance.":"Уключае прадусталяваныя налады канвертара RAW. Можа знізіць прадукцыйнасць.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Уключэнне двухфактарнай аўтэнтыфікацыі азначае, што вам спатрэбіцца выпадкова згенераваны код пацверджання для ўваходу, таму, нават калі хтосьці атрымае доступ да вашага пароля, ён не зможа атрымаць доступ да вашага ўліковага запісу.","Enter date":"Увядзіце дату","Enter dates":"Увядзіце даты","Enter the code generated by your authenticator app:":"Увядзіце код, створаны вашай праграмай аўтэнтыфікацыі:","Enter verification code":"Увядзіце праверачны код","Enter your password to confirm the action and continue:":"Увядзіце пароль, каб пацвердзіць дзеянне і працягнуць:","Error":"Памылка","Errors":"Памылкі","Estimate":"Каштарыс","Estimate Locations":"Ацэнка месцаў","Estimate the approximate location of pictures without GPS coordinates.":"Ацаніце прыблізнае месцазнаходжанне здымкаў без GPS-каардынатаў.","Every two days":"Кожныя два дні","Exclude content marked as private from search results, shared albums, labels, and places.":"Выключыць змесціва, пазначанае як прыватнае, з вынікаў пошуку, агульных альбомаў, метак і месцаў.","Exclude hidden":"Выключыць схаванае","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"Выманне метаданых з дапамогай ExifTool патрабуецца для поўнай падтрымкі відэа, жывых фота і XMP.","Experimental Features":"Эксперыментальныя функцыі","Expires":"Заканчваецца тэрмін дзеяння","Exposure":"Уздзеянне","Extract still images and generate thumbnails while indexing.":"Выманне нерухомых малюнкаў і стварэнне мініяцюр падчас індэксацыі.","F Number":"Нумар F","Face":"Твар","Faces":"Асобы","Failed removing link":"Не атрымалася выдаліць спасылку","Failed to connect account.":"Не ўдалося падключыць уліковы запіс.","Failed updating link":"Не ўдалося абнавіць спасылку","Family Name":"Прозвішча","Fast":"Хуткі","Favorite":"Любімая","Favorites":"Абраныя","Feature Request":"Запыт функцыі","Feedback":"Зваротная сувязь","Female":"жаночы","File":"Файл","File Browser":"Файлавы браўзер","File Conversion":"Канвертацыя файлаў","File Name":"Імя файла","File Size":"Памер файла","Filename":"Імя файла","Files":"Файлы","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Файлы з такімі паслядоўнымі назвамі, як \"IMG_1234 (2)\" і \"IMG_1234 (3)\", належаць да аднаго малюнка.","First page":"Першая старонка","Focal Length":"Фокусная адлегласць","Folder":"Папка","Folder contains %{n} files":"Папка змяшчае %{n} файлаў","Folder is empty":"Папка пустая","Folders":"Папкі","Forgot password?":"Забыліся на пароль?","FPS":"FPS","Frames":"Рамкі","Full Access":"Поўны доступ","Fullscreen":"Поуны экран","General":"Агульныя","Generate":"Генераваць","Generate albums of special moments, journeys, and places.":"Аўтаматычна стварае альбомы асаблівых момантаў, паездак і месцаў.","Generate Previews":"Стварыць прэв'ю","Generated":"Згенераваны","Get Started":"Пачніце","Given Name":"Названае імя","Global Options":"Глабальныя параметры","Go to page {0}":"Перайсці на старонку {0}","Gold":"золата","Green":"Зялёны","Grey":"Шэры","Guest":"Госць","Hash":"Хэш","Help":"Даведка","Help & Support":"Даведка і падтрымка","Hidden":"Схаваныя","Hidden Files":"Схаваныя файлы","Hide":"Схаваць","Hide photos that have been moved to archive.":"Схаваць фатаграфіі, якія былі перамешчаны ў архіў.","High":"Высокі","High Dynamic Range (HDR)":"Пашыраны дынамічны дыяпазон (HDR)","How can we help?":"Як мы можам дапамагчы?","Hybrid":"Гібрыд","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Калі вы страціце доступ да праграмы або прылады аўтэнтыфікатара, вы можаце скарыстацца кодам аднаўлення, каб аднавіць доступ да ўліковага запісу.","Image":"Малюнак","Image Quality":"Якасць выявы","Import":"Імпарт","Import failed":"Памылка імпарту","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Імпартаваныя файлы будуць адсартаваны па даце і атрымаюць унікальную назву, каб пазбегнуць дублікатаў.","Imported files will be sorted by date and given a unique name.":"Імпартаваныя файлы будуць адсартаваны па даце і атрымаюць унікальную назву.","Importing %{s}…":"Імпарт %{s}…","Importing files to originals…":"Імпарт файлаў у арыгіналы…","in":"ст","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"У выпадку, калі фатаграфіі, якія вы чакаеце, адсутнічаюць, адсканіруйце сваю бібліятэку яшчэ раз і дачакайцеся завяршэння індэксацыі.","Include RAW image files when downloading stacks and archives.":"Уключайце файлы малюнкаў у фармаце RAW пры спампоўцы стэкаў і архіваў.","Include sidecar files when downloading stacks and archives.":"Уключаць дадатковыя файлы пры спампоўцы стэкаў і архіваў.","Increase storage size or delete files to continue.":"Каб працягнуць, павялічце памер сховішча або выдаліце файлы.","Index":"Паказальнік","Index and import files through the user interface.":"Індэксуйце і імпартуйце файлы праз карыстацкі інтэрфейс.","Indexing":"Індэксацыя","Indexing failed":"Збой індэксацыі","Indexing media and sidecar files…":"Ідзе індэксацыя мультымедыйных і дадатковых файлаў…","Information":"інфармацыя","Instance ID":"Ідэнтыфікатар асобніка","Insufficient storage.":"Недастаткова месца для захоўвання.","Interval":"Інтэрвал","Invalid":"Несапраўдны","Invalid address":"Няправільны адрас","Invalid country":"Няправільная краіна","Invalid date":"Няправільная дата","Invalid parameters":"Няправільныя параметры","Invalid photo selected":"Выбрана няправільнае фота","Invalid time":"Няправільны час","Invalid URL":"Няправільны URL","It is a one-time use code that will disable 2FA for your account when you use it.":"Гэта аднаразовы код, які адключае 2FA для вашага ўліковага запісу, калі вы яго выкарыстоўваеце.","Item":"Пункт","Items per page:":"Элементаў на старонцы:","JPEG Quality: %{n}":"Якасць JPEG: %{n}","JPEG Size Limit: %{n}px":"Абмежаванне памеру JPEG: %{n} пікс","JPEGs and thumbnails are automatically rendered as needed.":"JPEG і мініяцюры аўтаматычна адлюстроўваюцца па меры неабходнасці.","Keywords":"Ключавыя словы","Label":"Метка","Labels":"Меткі","Labels deleted":"Меткі выдалены","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: Захаванне дэталяў, мінімум артэфактаў","Language":"мова","Last Active":"Апошні актыўны","Last Login":"Апошні ўваход","Last page":"Апошняя старонка","Last Sync":"Апошняя сінхранізацыя","Last Used":"Апошняе выкарыстанне","Latitude":"Шырата","LDAP/AD":"LDAP/AD","Learn more":"Даведайцеся больш","Learn More":"Даведайцеся больш","Legal Information":"Прававая інфармацыя","Lens":"Аб'ектыў","Library":"Бібліятэка","License":"Ліцэнзія","Like":"Падабаецца","Lime":"Вапна","Limit reached, showing first %{n} files":"Ліміт дасягнуты, паказваюцца першыя %{n} файлаў","Linear: Very Smooth, Best Performance":"Лінейны: вельмі гладкі, найлепшая прадукцыйнасць","Link":"Спасылка","List":"Спіс","List View":"Спіс","Live":"жыць","Live Photos":"Жывыя фатаграфіі","Load more":"Загрузіць больш","Loading items...":"Загрузка элементаў...","Loading...":"Загрузка...","Local":"Мясцовы","Local Time":"Мясцовы час","Location":"Месцазнаходжанне","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Паведамленні ў журнале з'яўляюцца тут кожны раз, калі PhotoPrism сустракае зламаныя файлы або ёсць іншыя магчымыя праблемы.","Login":"Увайсці","Logout":"Выйсці з сістэмы","Logs":"Журналы","Longitude":"Даўгата","Low":"Нізкі","Magenta":"Пурпурны","Main Color":"Асноўны колер","Male":"мужчынскі","Manage Account":"Кіраванне ўліковым запісам","Manual":"Дапаможнік","Manual Upload":"Ручная запампоўка","Maps":"Карты","Marker":"Маркер","Maximum number of accounts has been reached.":"Дасягнута максімальная колькасць уліковых запісаў.","Media":"СМІ","Medium":"Сярэдні","Membership":"Сяброўства","Merge %{a} with %{b}?":"Аб'яднаць %{a} з %{b}?","Message":"паведамленне","Message sent":"Паведамленне адпраўлена","Metadata":"Метаданыя","Metrics":"Метрыка","Minimize":"Мінімізаваць","Missing":"Прапаў без вестак","Missing or invalid configuration":"Адсутнічае або няправільная канфігурацыя","Moments":"Моманты","Monochrome":"Манахромныя","Month":"Месяц","More options":"Больш варыянтаў","Mosaic":"Мазаіка","Most Relevant":"Самы актуальны","Move Files":"Перамясціць файлы","Must have at least %{n} characters.":"Павінна быць не менш за %{n} сімвалаў.","Mute":"Адключыць гук","Name":"Імя","Name too long":"Назва занадта доўгая","Never":"ніколі","New":"Новыя","New Password":"Новы пароль","Newest First":"Спачатку найноўшыя","Next":"Далей","Next page":"Наступная старонка","Next visual":"Наступны візуал","No":"няма","No albums found":"Альбомы не знойдзены","No data available":"Дадзеных няма","No labels found":"Меткі не знойдзены","No matching records found":"Адпаведныя запісы не знойдзены","No more":"Не больш","No people found":"Людзей не знойдзена","No pictures found":"Фота не знойдзена","No recently edited pictures":"Няма нядаўна адрэдагаваных фота","No server connection":"Няма злучэння з серверам","No servers configured.":"Серверы не настроены.","No services configured.":"Службы не настроены.","No thanks":"Не, дзякуй","No warnings or error containing this keyword. Note that search is case-sensitive.":"Няма папярэджанняў або памылак з гэтым ключавым словам. Звярніце ўвагу, што пошук адчувальны да рэгістра.","Non-photographic and low-quality images require a review before they appear in search results.":"Нефатаграфічныя і нізкаякасныя выявы патрабуюць праверкі, перш чым яны з'явяцца ў выніках пошуку.","None":"Няма","Not allowed":"Не дазволена","Not found":"Не знойдзена","Not sorted.":"Не адсартаваны.","Not supported":"Не падтрымліваецца","Note you may manually manage your originals folder and importing is optional.":"Звярніце ўвагу, што вы можаце ўручную кіраваць папкай арыгіналаў, а імпартаваць неабавязкова.","Note:":"нататка:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Увага: толькі серверы WebDAV, такія як Nextcloud або PhotoPrism, могуць быць сканфігураваныя ў якасці аддаленага сэрвісу для рэзервовага капіравання і запампоўкі файлаў.","Notes":"Заўвагі","Nothing to see here yet.":"Тут пакуль няма чаго бачыць.","Nothing was found.":"Нічога не знайшлі.","Offline":"У аўтаномным рэжыме","OIDC":"OIDC","OK":"добра","Oldest First":"Спачатку самыя старыя","On Windows, enter the following resource in the connection dialog:":"У Windows увядзіце наступны рэсурс у дыялогавым акне злучэння:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"Стварэнне мініяцюр па патрабаванні можа выклікаць высокую загрузку працэсара і памяці. Не рэкамендуецца для сервераў з абмежаванымі рэсурсамі і прылад NAS.","Once a week":"Раз на тыдзень","One album found":"Адзін альбом знойдзены","One file found":"Знойдзены адзін файл","One file uploaded":"Запампаваны адзін файл","One folder found":"Знойдзена адна папка","One label found":"Знойдзена адна метка","One person found":"Знайшоўся адзін чалавек","One picture found":"Адзін здымак знойдзены","Only locally managed accounts can be set up for authentication with 2FA.":"Для аўтэнтыфікацыі з дапамогай 2FA можна наладзіць толькі ўліковыя запісы, якія кіруюцца лакальна.","Open":"Адкрыты","optional":"неабавязковы","or":"або","Orange":"Аранжавы","Organization":"Арганізацыя","Orientation":"Арыентацыя","Original file names will be stored and indexed.":"Арыгінальныя назвы файлаў будуць захаваны і праіндэксаваны.","Original Name":"Арыгінальная назва","Originals":"Арыгіналы","Other":"Іншае","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Наша місія складаецца ў тым, каб забяспечыць найбольш зручнае для карыстальнікаў і канфідэнцыяльнасць рашэнне, каб вашы фатаграфіі былі арганізаванымі і даступнымі.","Outdoor":"На адкрытым паветры","Page {0}, Current page":"Старонка {0}, бягучая старонка","Pages":"старонкі","Pagination Navigation":"Навігацыя па пагінацыі","Panorama":"Панарама","Panoramas":"Панарамы","Password":"Пароль","Password changed":"Пароль зменены","People":"Людзі","People you share a link with will be able to view public contents.":"Людзі, з якімі вы абагульваеце спасылку, змогуць праглядаць агульнадаступнае змесціва.","Permanently deleted":"Выдалены назаўсёды","Permanently remove files to free up storage.":"Выдаліце файлы назаўсёды, каб вызваліць сховішча.","Person":"Асоба","Personal":"Асабісты","Photo":"Фота","PhotoPrism is 100% self-funded and independent.":"PhotoPrism на 100% самастойна фінансуецца і не залежыць.","PhotoPrism+ Membership":"Членства ў PhotoPrism+","Photos":"Фатаграфіі","Picture Title":"Назва выявы","Pink":"Ружовы","Place":"Месца","Place & Time":"Месца і час","Places":"Месцы","Please confirm your new password.":"Калі ласка, пацвердзіце свой новы пароль.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Калі ласка, скапіруйце наступны выпадкова згенераваны пароль праграмы і захавайце яго ў надзейным месцы, бо вы не зможаце ўбачыць яго зноў:","Please do not upload any private, unlawful or offensive pictures.":"Калі ласка, не запампоўвайце прыватныя, незаконныя або абразлівыя фатаграфіі.","Please don't upload photos containing offensive content.":"Калі ласка, не запампоўвайце фатаграфіі з абразлівым зместам.","Please enter OTP character {0}":"Увядзіце аднаразовы пароль {0}","Please note that changing your password will log you out on other devices and browsers.":"Звярніце ўвагу, што змена пароля прывядзе да выхаду з сістэмы на іншых прыладах і браўзерах.","Please restart your instance for the changes to take effect.":"Перазапусціце асобнік, каб змены ўступілі ў сілу.","Please wait…":"Калі ласка пачакай…","PM":"PM","PNG Size Limit: %{n}px":"Ліміт памеру PNG: %{n}px","Portrait":"Партрэт","Preserve filenames":"Захаваць імёны файлаў","Press enter to create a new album.":"Націсніце enter, каб стварыць новы альбом.","Prevent database and album backups as well as YAML sidecar files from being created.":"Забараніць стварэнне рэзервовых копій базы дадзеных і альбомаў, а таксама файлаў YAML.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Забараніць іншым праграмам доступ да PhotoPrism як да агульнага сеткавага дыска.","Preview":"Папярэдні прагляд","Preview Images":"Папярэдні прагляд відарысаў","Previous":"Папярэдні","Previous page":"Папярэдняя старонка","Previous visual":"Папярэдні візуал","Primary":"Першасны","Private":"Прыватныя","Product Feedback":"Водгук аб прадукце","Projection":"Праекцыя","Purple":"Фіялетавы","Quality Filter":"Фільтр якасці","Quality Score":"Паказчык якасці","r":"р","Random":"Выпадковы","Rating {0} of {1}":"Рэйтынг {0} з {1}","Raw":"Сыравіна","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Паўторна праіндэксаваць усе арыгіналы, уключаючы ўжо праіндэксаваныя і нязмененыя файлы.","Read-Only Mode":"Рэжым толькі для чытання","Recently Added":"Нядаўна дададзены","Recently Archived":"Нядаўна заархівавана","Recently Edited":"Нядаўна адрэдагавана","Recognition starts after indexing has been completed.":"Распазнаванне пачынаецца пасля завяршэння індэксацыі.","Recognize faces so people can be assigned and found.":"Распазнае твары, каб можна было знайсці канкрэтных людзей.","Recognized":"Прызналі","Recovery Code":"Код аднаўлення","Red":"Чырвоны","Refresh":"Абнавіць","Regions":"Рэгіёны","Register":"Зарэгіструйцеся","Reload":"Перазагрузіць","Reloading…":"Перазагрузка…","Remote Sync":"Аддаленая сінхранізацыя","Remove":"Выдаліць","remove failed: unknown album":"выдаліць не атрымалася: невядомы альбом","Remove from Album":"Выдаліць з альбома","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Выдаліце імпартаваныя файлы, каб зэканоміць памяць. Непадтрымоўваныя тыпы файлаў ніколі не выдаляюцца, яны застаюцца ў сваім бягучым месцы.","Request failed - are you offline?":"Запыт не выкананы - вы па-за сеткай?","Request failed - invalid response":"Запыт не выкананы - няправільны адказ","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Патрабаваць праверкі нефатаграфічных і нізкаякасных малюнкаў перад тым, як яны з'явяцца ў выніках пошуку.","Resolution":"дазвол","Restart":"Перазапуск","Restore":"Аднавіць","Restored":"Адноўлены","Retry Limit":"Ліміт паўтораў","Retype Password":"Паўтарыце пароль","Review":"Агляд","Role":"Роля","Rows per page:":"Радкоў на старонцы:","Satellite":"Спадарожнік","Save":"Захаваць","Scan":"сканаваць","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Адсканіруйце QR-код з дапамогай праграмы аўтэнтыфікацыі або выкарыстайце ключ наладкі, паказаны ніжэй, а затым увядзіце згенераваны код спраўджання:","Scans":"Сканы","Scope":"Вобласць прымянення","Search":"Пошук","Search and display photos on a map.":"Пошук і адлюстраванне фатаграфій на карце.","Season":"Сезон","Secret":"сакрэт","Security and Access":"Бяспека і доступ","Select":"Выберыце","Select a source folder to import files…":"Выберыце зыходную папку для імпарту файлаў…","Select date":"Выберыце дату","Select dates":"Выберыце даты","Select or create an album":"Выберыце або стварыце альбом","Select the files to upload…":"Выберыце файлы для загрузкі…","Select the folder to be indexed…":"Выберыце папку для індэксацыі…","Select Time":"Выберыце Час","Selection approved":"Выбар ухвалены","Selection archived":"Выбранае заархівавана","Selection restored":"Выбар адноўлены","Sequential Name":"Паслядоўнае імя","Service URL":"URL службы","Services":"Сэрвісы","Session":"сесія","Session ID":"Ідэнтыфікатар сеансу","Sessions":"Сесіі","Set as Album Cover":"Усталяваць у якасці вокладкі альбома","Settings":"Налады","Settings saved":"Налады захаваны","Setup":"Усталяваць","Share":"падзяліцца","Share %{s}":"Падзяліцца %{s}","Share your pictures with other apps and services.":"Абагульвайце свае фатаграфіі з іншымі праграмамі і службамі.","Show":"Паказаць","Show all new faces":"Паказаць усе новыя твары","Show Captions":"Паказаць субцітры","Show hidden":"Паказаць схаванае","Show less":"Паказваць менш","Show more":"Паказаць больш","Show server logs in Library.":"Паказаць журналы сервера ў бібліятэцы.","Show Titles":"Паказаць загалоўкі","Sidecar":"Спадарожны файл","Sidecar Files":"Sidecar Files","Sign in":"Увайсці","Similar":"Падобныя","Size":"Памер","Slideshow":"Слайд-шоў","Slow":"павольна","Software":"праграмнае забеспячэнне","Software Update":"Абнаўленне праграмнага забеспячэння","Something went wrong, try again":"Нешта пайшло не так, паўтарыце спробу","Sort by":"Сартаваць па","Sort Order":"Парадак сартавання","Sorted ascending.":"Адсартавана па ўзрастанні.","Sorted descending.":"Адсартавана па змяншэнні.","Source":"Крыніца","Stack":"Стэк","Stack files sharing the same unique image or instance identifier.":"Стэк файлаў, якія маюць адзін і той жа унікальны відарыс або ідэнтыфікатар асобніка.","Stack pictures taken at the exact same time and location based on their metadata.":"Складайце здымкі, зробленыя ў адзін і той жа час і ў адным і тым жа месцы, на аснове іх метаданых.","Stackable":"Штабельныя","Stacks":"Стэкі","Start":"Пачаць","Start Page":"Пачатковая старонка","Static Size Limit: %{n}px":"Ліміт статычнага памеру: %{n}px","Status":"Статус","Storage":"Захоўванне","Streets":"Вуліцы","Subject":"Прадмет","Submit":"Падаць","Successfully activated":"Паспяхова актывавана","Successfully Connected":"Паспяхова падключана","Successfully deleted":"Паспяхова выдалена","Successfully verified":"Паспяхова праверана","Super Admin":"Супер адміністратар","Support for additional services, like Google Drive, will be added over time.":"Падтрымка дадатковых сэрвісаў, такіх як Google Drive, будзе дададзена з часам.","Support Our Mission":"Падтрымайце нашу місію","Sync":"Сінхранізацыя","Sync raw and video files":"Сінхранізацыя неапрацаваных і відэафайлаў","Taken":"Узяты","Teal":"Чыркаваты","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow патрабуецца для класіфікацыі відарысаў, распазнання твараў і выяўлення небяспечнага кантэнту.","Terrain":"Рэльеф мясцовасці","Text":"Тэкст","Text too long":"Тэкст занадта доўгі","Thank You for Your Support!":"Дзякуй за вашу падтрымку!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Вось чаму PhotoPrism быў створаны з нуля, каб працаваць там, дзе вам гэта трэба, без шкоды для свабоды, прыватнасці або функцыянальнасці.","The index currently contains %{n} hidden files.":"Зараз індэкс змяшчае %{n} схаваных файлаў.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Магчыма, іх фармат не падтрымліваецца, яны яшчэ не былі пераўтвораны ў JPEG або ёсць дублікаты.","Theme":"Тэма","This field is required":"Гэта поле абавязковае","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Гэта мантуе папку арыгіналаў у якасці сеткавага дыска і дазваляе адкрываць, рэдагаваць і выдаляць файлы з вашага камп'ютара або смартфона, як калі б яны былі лакальнымі.","Time UTC":"Час UTC","Time Zone":"Часавы пояс","Timeout":"Тайм-аўт","Title":{"Account":"Назва","Photo":"Назва","":"Назва"},"Title / Position":"Званне / Пасада","Title too long":"Назва занадта доўгая","to":"каб","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Каб пазбегнуць блакіроўкі доступу да вашага ўліковага запісу, спампуйце, раздрукуйце або скапіруйце гэты код аднаўлення і захавайце яго ў бяспечным месцы.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Каб згенераваць новы пароль для канкрэтнай праграмы, увядзіце назву і вобласць аўтарызацыі праграмы і абярыце тэрмін дзеяння:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Каб пераключыцца на новую праграму або прыладу аўтэнтыфікатара, спачатку дэактывуйце двухфактарную аўтэнтыфікацыю, а затым зноў актывуйце яе:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Каб абнавіць, вы можаце ўвесці код актывацыі або націснуць «Рэгістрацыя», каб зарэгістравацца на нашым сайце:","Today":"сёння","Toggle View":"Пераключыць прагляд","Token":"Жэтон","Too many files selected":"Выбрана занадта шмат файлаў","Too many requests":"Занадта шмат запытаў","Troubleshooting":"Ліквідацыю непаладак","Try again using other filters or keywords.":"Паўтарыце спробу, выкарыстоўваючы іншыя фільтры або ключавыя словы.","Two-factor authentication has been enabled for your account.":"Для вашага ўліковага запісу ўключана двухфактарная аўтэнтыфікацыя.","Type":"Тып","Unauthorized":"Несанкцыянаваны","Undo":"Адмяніць","Unique ID":"Унікальны ID","Unknown":"Невядомы","Unregistered":"Незарэгістраваны","Unsorted":"Ня адсартавана","Unstack":"Зняць стос","Updated":"Абноўлены","Updating faces":"Абнаўленне твараў","Updating index":"Абнаўленне індэкса","Updating moments":"Абнаўленне момантаў","Updating picture…":"Абнаўленне выявы…","Updating previews":"Абнаўленне прэв'ю","Updating stacks":"Абнаўленне стэкаў","Upgrade":"Абнаўленне","Upgrade Now":"Абнавіце зараз","Upload":"Загрузіць","Upload complete":"Запампоўка завершана","Upload complete. Indexing…":"Запампоўка завершана. Індэксацыя…","Upload failed":"Памылка загрузкі","Upload local files":"Загрузіць лакальныя файлы","Upload Path":"Шлях загрузкі","Upload to WebDAV and share links with friends.":"Загружайце ў WebDAV і дзяліцеся спасылкамі з сябрамі.","Uploading %{n} of %{t}…":"Загрузка %{n} з %{t}…","Uploading photos…":"Загрузка фатаграфій…","Uploading…":"Загрузка…","Uploads that may contain such images will be rejected automatically.":"Загрузкі, якія могуць утрымліваць такія выявы, будуць адхіляцца аўтаматычна.","Use Presets":"Выкарыстоўвайце налады","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Выкарыстоўвайце наступны код аднаўлення для доступу да вашага ўліковага запісу, калі вы не можаце стварыць сапраўдны код спраўджання з дапамогай праграмы аўтэнтыфікацыі:","Use your recovery code or contact an administrator for help.":"Выкарыстоўвайце свой код аднаўлення або звярніцеся па дапамогу да адміністратара.","User":"Карыстальнік","User Guide":"Кіраўніцтва карыстальніка","User Interface":"Інтэрфейс карыстальніка","Username":"Імя карыстальніка","Users":"Карыстальнікі","Vector":"вектар","Vectors":"Вектары","Verification Code":"Код верыфікацыі","Video":"Відэа","Video Duration":"Працягласць відэа","Videos":"Відэа","View":"Выгляд","View search results as a list.":"Праглядзець вынікі пошуку ў выглядзе спісу.","Viewer":"Глядач","Visitor":"Наведвальнік","Visual Similarity":"Візуальнае падабенства","Warning":"Папярэджанне","We appreciate your feedback!":"Мы цэнім ваш водгук!","We do our best to respond within five business days or less.":"Мы робім усё магчымае, каб адказаць на працягу пяці працоўных дзён ці менш.","Web Login":"Інтэрнэт-уваход","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"Кліенты WebDAV могуць падключыцца да PhotoPrism, выкарыстоўваючы наступны URL:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"Кліенты WebDAV, такія як Microsoft Windows Explorer або Apple Finder, могуць падключацца непасрэдна да PhotoPrism.","WebDAV Upload":"Загрузка WebDAV","WebGL support is disabled in your browser":"Падтрымка WebGL адключана ў вашым браўзеры","Website":"Вэб-сайт","White":"Белы","Work Details":"Дэталі працы","Year":"год","Yellow":"Жоўты","Yes":"так","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Вы можаце звязацца з намі па адрасе membership@photoprism.app па пытаннях аб вашым членстве.","You can only download one album":"Вы можаце спампаваць толькі адзін альбом","You can only download one label":"Вы можаце спампаваць толькі адну метку","You can upload up to %{n} files for test purposes.":"Вы можаце загрузіць да %{n} файлаў для тэставых мэт.","You may only select one item":"Вы можаце выбраць толькі адзін прадмет","You may rescan your library to find additional faces.":"Вы можаце паўторна адсканіраваць сваю бібліятэку, каб знайсці дадатковыя твары.","Your account has been successfully connected.":"Ваш уліковы запіс быў паспяхова падключаны.","Your browser does not support WebGL":"Ваш браўзер не падтрымлівае WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Ваша нязменная падтрымка дапамагае нам забяспечваць рэгулярныя абнаўленні і заставацца незалежнымі, каб мы маглі выконваць сваю місію і абараняць вашу канфідэнцыяльнасць.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Ваша бібліятэка пастаянна аналізуецца для аўтаматычнага стварэння альбомаў асаблівых момантаў, паездак і месцаў.","Zoom in/out":"Павелічэнне/памяншэнне"}} \ No newline at end of file +{"be":{"{0} appended action":"{0} дададзена дзеянне","{0} files":"Файлаў: {0}","{0} files ({1} in total)":"{0} файлаў (усяго {1})","{0} more":"яшчэ {0}","{0} prepended action":"{0} дададзенае дзеянне","{0} selected":"{0} выбрана","{0}-{1} of {2}":"{0}-{1} з {2}","%{n} albums found":"%{n} альбомаў знойдзена","%{n} files uploaded":"%{n} файлаў запампавана","%{n} folders found":"%{n} папак знойдзена","%{n} GB of %{q} GB used":"%{n} ГБ з %{q} ГБ выкарыстана","%{n} labels found":"%{n} метак знойдзена","%{n} people found":"Знойдзена %{n} чалавек","%{n} pictures found":"Знойдзена %{n} відарысаў","%{s} is too long":"%{s} занадта доўга","%{s} is too short":"%{s} занадта кароткі","1 hour":"1 гадзіна","12 hours":"12 гадзін","2-Factor Authentication":"2-фактарная аўтэнтыфікацыя","2FA":"2FA","4 hours":"4 гадзіны","A click will copy it to your clipboard.":"Клік скапіруе яго ў буфер абмену.","A new version of %{s} is available:":"Даступная новая версія %{s}:","About":"Аб","Access Token":"Токен доступу","Account":"Уліковы запіс","Account created":"Уліковы запіс створаны","Account deleted":"Уліковы запіс выдалены","Account restored":"Уліковы запіс адноўлены","Accounts":"Уліковыя запісы","Accuracy":"Дакладнасць","Action":"Дзеянне","Actions":"Дзеянні","Activate":"Актываваць","Activate to remove sorting.":"Уключыце, каб выдаліць сартаванне.","Activate to sort ascending.":"Уключыце для сартавання па ўзрастанні.","Activate to sort descending.":"Уключыце для сартавання па змяншэнні.","Activation Code":"Код актывацыі","Add":"Дадаць","Add %{s}?":"Дадаць %{s}?","Add Account":"Дадаць уліковы запіс","Add Album":"Дадаць альбом","Add files to your library via Web Upload.":"Дадайце файлы ў сваю бібліятэку праз вэб запампоўку.","Add Link":"Дадаць спасылку","Add person?":"Дадаць чалавека?","Add pictures from search results by selecting them.":"Дадайце выявы з вынікаў пошуку, выбраўшы іх.","Add to album":"Дадаць у альбом","Added":"Дададзена","Adjust Location":"Змяніць месцазнаходжанне","Admin":"Адмін","Advanced":"Пашыраныя","After 1 day":"Праз 1 дзень","After 3 days":"Праз 3 дні","After 7 days":"Праз 7 дзён","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Пасля ўводу пароля для пацверджання вы можаце наладзіць двухфактарную аўтэнтыфікацыю з дапамогай сумяшчальнай праграмы або прылады аўтэнтыфікатара:","After one month":"Праз месяц","After one year":"Праз год","After selecting pictures from search results, you can add them to an album using the context menu.":"Пасля выбару відарысаў з вынікаў пошуку вы можаце дадаць іх у альбом з дапамогай кантэкстнага меню.","After two months":"Праз два месяцы","After two weeks":"Праз два тыдні","Album":"Альбом","Album Backups":"Рэзервовыя копіі альбомаў","Album created":"Альбом створаны","Album deleted":"Альбом выдалены","Albums":"Альбомы","Albums deleted":"Альбомы выдалены","All":"Усе","All %{n} albums loaded":"Усе %{n} альбомаў загружаны","All %{n} labels loaded":"Усе %{n} меткі загружаны","All %{n} people loaded":"Усе %{n} чалавек загружаны","All Cameras":"Усе камеры","All Categories":"Усе катэгорыі","All Colors":"Усе колеры","All Countries":"Усе краіны","All fields are required":"Усе палі абавязковыя для запаўнення","All files from import folder":"Усе файлы з папкі імпарту","All Lenses":"Усе лінзы","All Months":"Усе месяцы","All originals":"Усе арыгіналы","All Years":"Усе гады","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Акрамя таго, вы можаце запампаваць файлы непасрэдна на серверы WebDAV, такія як Nextcloud.","Altitude":"Вышыня над узроўнем мора","Altitude (m)":"Вышыня (м)","AM":"AM","Animated":"Аніміраваныя","Animation":"Анімацыя","Animations":"Анімацыі","Any private photos and videos remain private and won't be shared.":"Любыя прыватныя фатаграфіі і відэа застаюцца прыватнымі і не будуць перададзены.","API Key":"Ключ API","Application":"Ужыванне","Apply":"Ужыць","Approve":"Зацвердзіць","Apps and Devices":"Праграмы і прылады","Archive":"Архіў","Archived":"Заархівавана","Are you sure you want to archive the selection?":"Вы ўпэўнены, што хочаце заархіваваць выбар?","Are you sure you want to delete these albums?":"Вы ўпэўнены, што хочаце выдаліць гэтыя альбомы?","Are you sure you want to delete these labels?":"Вы ўпэўнены, што жадаеце выдаліць гэтыя меткі?","Are you sure you want to delete this account?":"Вы ўпэўнены, што хочаце выдаліць гэты акаунт?","Are you sure you want to delete this album?":"Вы ўпэўненыя, што хочаце выдаліць гэты альбом?","Are you sure you want to permanently delete these pictures?":"Вы ўпэўнены, што хочаце назаўсёды выдаліць гэтыя фатаграфіі?","Are you sure you want to permanently delete this file?":"Вы ўпэўнены, што хочаце назаўжды выдаліць гэты файл?","Are you sure?":"Вы ўпэўнены?","Artist":"Мастак","Aspect Ratio":"Суадносіны бакоў","Audio":"Аўдыё","Authentication":"Аўтэнтыфікацыя","Auto":"Аўто","Back":"Назад","Back to top":"Вярнуцца да пачатку","Backup":"Рэзервовае капіраванне","Badge":"Значок","Base Path":"Базавы шлях","Become a member today, support our mission and enjoy our member benefits!":"Станьце членам сёння, падтрымайце нашу місію і атрымлівайце асалоду ад нашых пераваг для ўдзельнікаў!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Будучы на 100% самафінансаваным і незалежным, мы можам паабяцаць вам, што ніколі не будзем прадаваць вашы даныя і што мы заўсёды будзем празрыстымі адносна нашага праграмнага забеспячэння і паслуг.","Bio":"Біяграфія","Birth Date":"Дата нараджэння","Black":"Чорны","Blackman: Lanczos Modification, Less Ringing Artifacts":"Блэкмэн: мадыфікацыя Lanczos, менш звонкія артэфакты","Blue":"Сіні","Brown":"Карычневы","Browse":"Праглядзіце","Browse and edit image classification labels.":"Прагляд і рэдагаванне метак класіфікацыі відарысаў.","Browse and share your pictures organized into monthly albums.":"Праглядайце і дзяліцеся сваімі фотаздымкамі, упарадкаванымі ў штомесячныя альбомы.","Browse Files":"Прагляд файлаў","Browse indexed files and folders in Library.":"Прагляд праіндэксаваных файлаў і папак у бібліятэцы.","Bug Report":"Справаздача пра памылку","Busy, please wait…":"Заняты, пачакайце…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Выкарыстоўваючы праграмнае забеспячэнне і паслугі, якія мы прадстаўляем, вы згаджаецеся з нашымі ўмовамі абслугоўвання, палітыкай прыватнасці і кодэксам паводзін.","Calendar":"Каляндар","Camera":"Камера","Camera Serial":"Серыял камеры","Can't access your authenticator app or device?":"Не можаце атрымаць доступ да праграмы або прылады аўтэнтыфікатара?","Can't load more, limit reached":"Немагчыма загрузіць больш, дасягнуты ліміт","Can't select more items":"Немагчыма выбраць больш элементаў","Cancel":"Адмяніць","Cannot copy to clipboard":"Немагчыма скапіраваць у буфер абмену","Caption":"Надпіс","Cards":"Карты","Carousel slide {0} of {1}":"Слайд каруселі {0} з {1}","Category":"Катэгорыя","Change Avatar":"Змяніць аватар","Change Password":"Змяніць пароль","Change personal profile and security settings.":"Змяніць асабісты профіль і параметры бяспекі.","Change photo titles, locations, and other metadata.":"Змяніць назвы фатаграфій, месцы і іншыя метаданыя.","Change private flag":"Змяніць прыватны тэг","Changes could not be saved":"Не ўдалося захаваць змены","Changes successfully saved":"Змены паспяхова захаваны","Changes to the advanced settings require a restart to take effect.":"Каб змены ў дадатковых наладах уступілі ў сілу, патрабуецца перазапуск.","Checked":"Праверана","Chroma":"Каляровасць","Cleaning index and cache":"Ачыстка індэкса і кэша","Cleanup":"Прыбіраць","Clear {0}":"Ачысціць {0}","Client":"Кліент","Client Credentials":"Уліковыя даныя кліента","Close":"Закрыць","Codec":"Кодэк","Color":"Колер","Color Profile":"Каляровы профіль","Colors":"Колеры","Compare Editions":"Параўнаць выданні","Complete Rescan":"Поўнае паўторнае сканаванне","Confidence":"Упэўненасць","Confirm":"Пацвердзіць","Connect":"Злучыць","Connect via WebDAV":"Злучэнне праз WebDAV","Connected":"Падключана","Contact Details":"Кантактная інфармацыя","Contact Us":"Звяжыцеся з намі","Contains %{n} pictures.":"Змяшчае %{n} відарысаў.","Contains one picture.":"Змяшчае адзін малюнак.","Content":"Змест","Continue":"Працягнуць","Continue with %{provider}":"Працягнуць з %{provider}","Contributor":"Укладальнік","Converting":"Пераўтварэнне","Copied to clipboard":"Скапіравана ў буфер абмену","Copy":"Копія","Copyright":"Аўтарскае права","Couldn't find anything.":"Нічога не знайшоў.","Country":"Краіна","Create Account":"Стварыць акаунт","Create album":"Стварыць альбом","Create regular backups based on the configured schedule.":"Стварэнне рэзервовых копій індэксаў на аснове наладжанага раскладу.","Create YAML files to back up album metadata.":"Стварыце файлы YAML для рэзервовага капіравання метаданых альбома.","Create YAML sidecar files to back up picture metadata.":"Стварыце пабочныя файлы YAML для рэзервовага капіравання метададзеных выявы.","Created":"Створана","Creating thumbnails for":"Стварэнне мініяцюр для","Cubic: Moderate Quality, Good Performance":"Cubic: умераная якасць, добрая прадукцыйнасць","Current Password":"Бягучы пароль","Custom":"Прыстасаваныя","Cyan":"Блакітны","Daily":"Штодня","Database Backups":"Рэзервовыя копіі баз даных","Day":"Дзень","Deactivate":"Дэактываваць","Debug Logs":"Журналы адладкі","Default":"Па змаўчанні","Default Folder":"Папка па змаўчанні","Delete":"Выдаліць","Delete Album":"Выдаліць альбом","Delete All":"Выдаліць усе","Delete all?":"Выдаліць усе?","Delete orphaned index entries, sidecar files and thumbnails.":"Выдаліць асірацелыя запісы індэкса, дапаможныя файлы і мініяцюры.","Description":"Апісанне","Detailed instructions can be found in our User Guide.":"Падрабязныя інструкцыі можна знайсці ў нашым Кіраўніцтве карыстальніка.","Details":"Дэталі","Dimensions":"Памеры","Disable Backups":"Адключыць рэзервовае капіраванне","Disable Darktable":"Адключыць Darktable","Disable ExifTool":"Адключыць ExifTool","Disable features that require write permission for the originals folder.":"Адключыце функцыі, якія патрабуюць дазволу на запіс для папкі арыгіналаў.","Disable FFmpeg":"Адключыць FFmpeg","Disable ImageMagick":"Адключыць ImageMagick","Disable interactive world maps and reverse geocoding.":"Адключыць інтэрактыўныя карты свету і адваротнае геакадзіраванне.","Disable Places":"Адключыць Месцы","Disable RawTherapee":"Адключыць RawTherapee","Disable TensorFlow":"Адключыць TensorFlow","Disable Vectors":"Адключыць вектары","Disable WebDAV":"Адключыць WebDAV","Disables vector graphics support.":"Адключае падтрымку вектарнай графікі.","Disables video transcoding and thumbnail extraction.":"Адключае перакадзіраванне відэа і выманне мініяцюр.","Discover":"Адкрыйце для сябе","Dismiss":"Звольніць","Display Name":"Адлюстраванае імя","Display picture captions in search results.":"Паказваць подпісы да малюнкаў у выніках пошуку.","Display picture titles in search results.":"Паказаць назвы малюнкаў у выніках пошуку.","Document":"Дакумент","Documents":"Дакументы","Don't use Darktable to convert RAW images.":"Не выкарыстоўвайце Darktable для пераўтварэння RAW відарысаў.","Don't use ImageMagick to convert images.":"Не выкарыстоўвайце ImageMagick для пераўтварэння відарысаў.","Don't use RawTherapee to convert RAW images.":"Не выкарыстоўвайце RawTherapee для пераўтварэння RAW відарысаў.","Done":"Гатова","Done.":"Гатова.","Download":"Спампаваць","Download only original media files, without any automatically generated files.":"Спампоўваць толькі арыгінальныя мультымедыйныя файлы без аўтаматычна створаных файлаў.","Download remote files":"Спампаваць выдаленыя файлы","Download single files and zip archives.":"Спампаваць асобныя файлы і zip-архівы.","Downloading…":"Спампоўка…","Downscaling Filter":"Фільтр памяншэння памеру","Drag and drop files here":"Перацягнуць файлы сюды","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"З-за вялікай колькасці электронных лістоў, якія мы атрымліваем, наша каманда можа не змагчы звязацца з вамі неадкладна.","Duplicates will be skipped and only appear once.":"Дублікаты будуць прапушчаны і з'явяцца толькі адзін раз.","Duration":"Працягласць","Dynamic Previews":"Дынамічны папярэдні прагляд","Dynamic Size Limit: %{n}px":"Абмежаванне дынамічнага памеру: %{n}px","E-Mail":"Электронная пошта","Edit":"Рэдагаваць","Edit %{s}":"Рэдагаваць %{s}","Edit Account":"Рэдагаваць уліковы запіс","Edit Photo":"Рэдагаваць фота","Edited":"Адрэдагавана","Email":"Электронная пошта","Enable debug mode to display additional logs and help with troubleshooting.":"Уключыце рэжым адладкі, каб паказаць дадатковыя журналы і дапамагчы ў ліквідацыі непаладак.","Enable new features that may be incomplete or unstable.":"Уключыць новыя функцыі, якія могуць быць няпоўнымі або нестабільнымі.","Enables RAW converter presets. May reduce performance.":"Уключае прадусталяваныя налады канвертара RAW. Можа знізіць прадукцыйнасць.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Уключэнне двухфактарнай аўтэнтыфікацыі азначае, што вам спатрэбіцца выпадкова згенераваны код пацверджання для ўваходу, таму, нават калі хтосьці атрымае доступ да вашага пароля, ён не зможа атрымаць доступ да вашага ўліковага запісу.","Enter date":"Увядзіце дату","Enter dates":"Увядзіце даты","Enter the code generated by your authenticator app:":"Увядзіце код, створаны вашай праграмай аўтэнтыфікацыі:","Enter verification code":"Увядзіце праверачны код","Enter your password to confirm the action and continue:":"Увядзіце пароль, каб пацвердзіць дзеянне і працягнуць:","Error":"Памылка","Errors":"Памылкі","Estimate":"Каштарыс","Estimate Locations":"Ацэнка месцаў","Estimate the approximate location of pictures without GPS coordinates.":"Ацаніце прыблізнае месцазнаходжанне здымкаў без GPS-каардынатаў.","Every two days":"Кожныя два дні","Exclude content marked as private from search results, shared albums, labels, and places.":"Выключыць змесціва, пазначанае як прыватнае, з вынікаў пошуку, агульных альбомаў, метак і месцаў.","Exclude hidden":"Выключыць схаванае","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"Выманне метаданых з дапамогай ExifTool патрабуецца для поўнай падтрымкі відэа, жывых фота і XMP.","Experimental Features":"Эксперыментальныя функцыі","Expires":"Заканчваецца тэрмін дзеяння","Exposure":"Уздзеянне","Extract still images and generate thumbnails while indexing.":"Выманне нерухомых малюнкаў і стварэнне мініяцюр падчас індэксацыі.","F Number":"Нумар F","Face":"Твар","Faces":"Асобы","Failed removing link":"Не атрымалася выдаліць спасылку","Failed to connect account.":"Не ўдалося падключыць уліковы запіс.","Failed updating link":"Не ўдалося абнавіць спасылку","Family Name":"Прозвішча","Fast":"Хуткі","Favorite":"Любімая","Favorites":"Абраныя","Feature Request":"Запыт функцыі","Feedback":"Зваротная сувязь","Female":"жаночы","File":"Файл","File Browser":"Файлавы браўзер","File Conversion":"Канвертацыя файлаў","File Name":"Імя файла","File Size":"Памер файла","Filename":"Імя файла","Files":"Файлы","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Файлы з такімі паслядоўнымі назвамі, як \"IMG_1234 (2)\" і \"IMG_1234 (3)\", належаць да аднаго малюнка.","First page":"Першая старонка","Focal Length":"Фокусная адлегласць","Folder":"Папка","Folder contains %{n} files":"Папка змяшчае %{n} файлаў","Folder is empty":"Папка пустая","Folders":"Папкі","Forgot password?":"Забыліся на пароль?","FPS":"FPS","Frames":"Рамкі","Full Access":"Поўны доступ","Fullscreen":"Поуны экран","General":"Агульныя","Generate":"Генераваць","Generate albums of special moments, journeys, and places.":"Аўтаматычна стварае альбомы асаблівых момантаў, паездак і месцаў.","Generate Previews":"Стварыць прэв'ю","Generated":"Згенераваны","Get Started":"Пачніце","Given Name":"Названае імя","Global Options":"Глабальныя параметры","Go to page {0}":"Перайсці на старонку {0}","Gold":"золата","Green":"Зялёны","Grey":"Шэры","Guest":"Госць","Hash":"Хэш","Help":"Даведка","Help & Support":"Даведка і падтрымка","Hidden":"Схаваныя","Hidden Files":"Схаваныя файлы","Hide":"Схаваць","Hide photos that have been moved to archive.":"Схаваць фатаграфіі, якія былі перамешчаны ў архіў.","High":"Высокі","High Dynamic Range (HDR)":"Пашыраны дынамічны дыяпазон (HDR)","How can we help?":"Як мы можам дапамагчы?","Hybrid":"Гібрыд","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Калі вы страціце доступ да праграмы або прылады аўтэнтыфікатара, вы можаце скарыстацца кодам аднаўлення, каб аднавіць доступ да ўліковага запісу.","Image":"Малюнак","Image Quality":"Якасць выявы","Import":"Імпарт","Import failed":"Памылка імпарту","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Імпартаваныя файлы будуць адсартаваны па даце і атрымаюць унікальную назву, каб пазбегнуць дублікатаў.","Imported files will be sorted by date and given a unique name.":"Імпартаваныя файлы будуць адсартаваны па даце і атрымаюць унікальную назву.","Importing %{s}…":"Імпарт %{s}…","Importing files to originals…":"Імпарт файлаў у арыгіналы…","in":"ст","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"У выпадку, калі фатаграфіі, якія вы чакаеце, адсутнічаюць, адсканіруйце сваю бібліятэку яшчэ раз і дачакайцеся завяршэння індэксацыі.","Include RAW image files when downloading stacks and archives.":"Уключайце файлы малюнкаў у фармаце RAW пры спампоўцы стэкаў і архіваў.","Include sidecar files when downloading stacks and archives.":"Уключаць дадатковыя файлы пры спампоўцы стэкаў і архіваў.","Increase storage size or delete files to continue.":"Каб працягнуць, павялічце памер сховішча або выдаліце файлы.","Index":"Паказальнік","Index and import files through the user interface.":"Індэксуйце і імпартуйце файлы праз карыстацкі інтэрфейс.","Indexing":"Індэксацыя","Indexing failed":"Збой індэксацыі","Indexing media and sidecar files…":"Ідзе індэксацыя мультымедыйных і дадатковых файлаў…","Information":"інфармацыя","Instance ID":"Ідэнтыфікатар асобніка","Insufficient storage.":"Недастаткова месца для захоўвання.","Interval":"Інтэрвал","Invalid":"Несапраўдны","Invalid address":"Няправільны адрас","Invalid country":"Няправільная краіна","Invalid date":"Няправільная дата","Invalid parameters":"Няправільныя параметры","Invalid photo selected":"Выбрана няправільнае фота","Invalid time":"Няправільны час","Invalid URL":"Няправільны URL","It is a one-time use code that will disable 2FA for your account when you use it.":"Гэта аднаразовы код, які адключае 2FA для вашага ўліковага запісу, калі вы яго выкарыстоўваеце.","Item":"Пункт","Items per page:":"Элементаў на старонцы:","JPEG Quality: %{n}":"Якасць JPEG: %{n}","JPEG Size Limit: %{n}px":"Абмежаванне памеру JPEG: %{n} пікс","JPEGs and thumbnails are automatically rendered as needed.":"JPEG і мініяцюры аўтаматычна адлюстроўваюцца па меры неабходнасці.","Keywords":"Ключавыя словы","Label":"Метка","Labels":"Меткі","Labels deleted":"Меткі выдалены","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: Захаванне дэталяў, мінімум артэфактаў","Language":"мова","Last Active":"Апошні актыўны","Last Login":"Апошні ўваход","Last page":"Апошняя старонка","Last Sync":"Апошняя сінхранізацыя","Last Used":"Апошняе выкарыстанне","Latitude":"Шырата","LDAP/AD":"LDAP/AD","Learn more":"Даведайцеся больш","Learn More":"Даведайцеся больш","Legal Information":"Прававая інфармацыя","Lens":"Аб'ектыў","Library":"Бібліятэка","License":"Ліцэнзія","Like":"Падабаецца","Lime":"Вапна","Limit reached, showing first %{n} files":"Ліміт дасягнуты, паказваюцца першыя %{n} файлаў","Linear: Very Smooth, Best Performance":"Лінейны: вельмі гладкі, найлепшая прадукцыйнасць","Link":"Спасылка","List":"Спіс","List View":"Спіс","Live":"жыць","Live Photos":"Жывыя фатаграфіі","Load more":"Загрузіць больш","Loading items...":"Загрузка элементаў...","Loading...":"Загрузка...","Local":"Мясцовы","Local Time":"Мясцовы час","Location":"Месцазнаходжанне","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Паведамленні ў журнале з'яўляюцца тут кожны раз, калі PhotoPrism сустракае зламаныя файлы або ёсць іншыя магчымыя праблемы.","Login":"Увайсці","Logout":"Выйсці з сістэмы","Logs":"Журналы","Longitude":"Даўгата","Low":"Нізкі","Magenta":"Пурпурны","Main Color":"Асноўны колер","Male":"мужчынскі","Manage Account":"Кіраванне ўліковым запісам","Manager":"Менеджар","Manual":"Дапаможнік","Manual Upload":"Ручная запампоўка","Maps":"Карты","Marker":"Маркер","Maximum number of accounts has been reached.":"Дасягнута максімальная колькасць уліковых запісаў.","Media":"СМІ","Medium":"Сярэдні","Membership":"Сяброўства","Merge %{a} with %{b}?":"Аб'яднаць %{a} з %{b}?","Message":"паведамленне","Message sent":"Паведамленне адпраўлена","Metadata":"Метаданыя","Metrics":"Метрыка","Minimize":"Мінімізаваць","Missing":"Прапаў без вестак","Missing or invalid configuration":"Адсутнічае або няправільная канфігурацыя","Moments":"Моманты","Monochrome":"Манахромныя","Month":"Месяц","More options":"Больш варыянтаў","Mosaic":"Мазаіка","Most Relevant":"Самы актуальны","Move Files":"Перамясціць файлы","Must have at least %{n} characters.":"Павінна быць не менш за %{n} сімвалаў.","Mute":"Адключыць гук","Name":"Імя","Name too long":"Назва занадта доўгая","Never":"ніколі","New":"Новыя","New Password":"Новы пароль","Newest First":"Спачатку найноўшыя","Next":"Далей","Next page":"Наступная старонка","Next visual":"Наступны візуал","No":"няма","No albums found":"Альбомы не знойдзены","No data available":"Дадзеных няма","No labels found":"Меткі не знойдзены","No matching records found":"Адпаведныя запісы не знойдзены","No more":"Не больш","No people found":"Людзей не знойдзена","No pictures found":"Фота не знойдзена","No recently edited pictures":"Няма нядаўна адрэдагаваных фота","No results":"Няма вынікаў","No server connection":"Няма злучэння з серверам","No servers configured.":"Серверы не настроены.","No services configured.":"Службы не настроены.","No thanks":"Не, дзякуй","No warnings or error containing this keyword. Note that search is case-sensitive.":"Няма папярэджанняў або памылак з гэтым ключавым словам. Звярніце ўвагу, што пошук адчувальны да рэгістра.","Non-photographic and low-quality images require a review before they appear in search results.":"Нефатаграфічныя і нізкаякасныя выявы патрабуюць праверкі, перш чым яны з'явяцца ў выніках пошуку.","None":"Няма","Not allowed":"Не дазволена","Not found":"Не знойдзена","Not sorted.":"Не адсартаваны.","Not supported":"Не падтрымліваецца","Note you may manually manage your originals folder and importing is optional.":"Звярніце ўвагу, што вы можаце ўручную кіраваць папкай арыгіналаў, а імпартаваць неабавязкова.","Note:":"нататка:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Увага: толькі серверы WebDAV, такія як Nextcloud або PhotoPrism, могуць быць сканфігураваныя ў якасці аддаленага сэрвісу для рэзервовага капіравання і запампоўкі файлаў.","Notes":"Заўвагі","Nothing to see here yet.":"Тут пакуль няма чаго бачыць.","Nothing was found.":"Нічога не знайшлі.","Offline":"У аўтаномным рэжыме","OIDC":"OIDC","OK":"добра","Oldest First":"Спачатку самыя старыя","On Windows, enter the following resource in the connection dialog:":"У Windows увядзіце наступны рэсурс у дыялогавым акне злучэння:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"Стварэнне мініяцюр па патрабаванні можа выклікаць высокую загрузку працэсара і памяці. Не рэкамендуецца для сервераў з абмежаванымі рэсурсамі і прылад NAS.","Once a week":"Раз на тыдзень","One album found":"Адзін альбом знойдзены","One file found":"Знойдзены адзін файл","One file uploaded":"Запампаваны адзін файл","One folder found":"Знойдзена адна папка","One label found":"Знойдзена адна метка","One person found":"Знайшоўся адзін чалавек","One picture found":"Адзін здымак знойдзены","Only locally managed accounts can be set up for authentication with 2FA.":"Для аўтэнтыфікацыі з дапамогай 2FA можна наладзіць толькі ўліковыя запісы, якія кіруюцца лакальна.","Open":"Адкрыты","optional":"неабавязковы","or":"або","Orange":"Аранжавы","Organization":"Арганізацыя","Orientation":"Арыентацыя","Original file names will be stored and indexed.":"Арыгінальныя назвы файлаў будуць захаваны і праіндэксаваны.","Original Name":"Арыгінальная назва","Originals":"Арыгіналы","Other":"Іншае","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Наша місія складаецца ў тым, каб забяспечыць найбольш зручнае для карыстальнікаў і канфідэнцыяльнасць рашэнне, каб вашы фатаграфіі былі арганізаванымі і даступнымі.","Outdoor":"На адкрытым паветры","Page {0}, Current page":"Старонка {0}, бягучая старонка","Pages":"старонкі","Pagination Navigation":"Навігацыя па пагінацыі","Panorama":"Панарама","Panoramas":"Панарамы","Password":"Пароль","Password changed":"Пароль зменены","People":"Людзі","People you share a link with will be able to view public contents.":"Людзі, з якімі вы абагульваеце спасылку, змогуць праглядаць агульнадаступнае змесціва.","Permanently deleted":"Выдалены назаўсёды","Permanently remove files to free up storage.":"Выдаліце файлы назаўсёды, каб вызваліць сховішча.","Person":"Асоба","Personal":"Асабісты","Photo":"Фота","PhotoPrism is 100% self-funded and independent.":"PhotoPrism на 100% самастойна фінансуецца і не залежыць.","PhotoPrism+ Membership":"Членства ў PhotoPrism+","Photos":"Фатаграфіі","Picture Title":"Назва выявы","Pink":"Ружовы","Place":"Месца","Place & Time":"Месца і час","Places":"Месцы","Please confirm your new password.":"Калі ласка, пацвердзіце свой новы пароль.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Калі ласка, скапіруйце наступны выпадкова згенераваны пароль праграмы і захавайце яго ў надзейным месцы, бо вы не зможаце ўбачыць яго зноў:","Please do not upload any private, unlawful or offensive pictures.":"Калі ласка, не запампоўвайце прыватныя, незаконныя або абразлівыя фатаграфіі.","Please don't upload photos containing offensive content.":"Калі ласка, не запампоўвайце фатаграфіі з абразлівым зместам.","Please enter OTP character {0}":"Увядзіце аднаразовы пароль {0}","Please note that changing your password will log you out on other devices and browsers.":"Звярніце ўвагу, што змена пароля прывядзе да выхаду з сістэмы на іншых прыладах і браўзерах.","Please restart your instance for the changes to take effect.":"Перазапусціце асобнік, каб змены ўступілі ў сілу.","Please wait…":"Калі ласка пачакай…","PM":"PM","PNG Size Limit: %{n}px":"Ліміт памеру PNG: %{n}px","Portrait":"Партрэт","Preserve filenames":"Захаваць імёны файлаў","Press enter to create a new album.":"Націсніце enter, каб стварыць новы альбом.","Prevent database and album backups as well as YAML sidecar files from being created.":"Забараніць стварэнне рэзервовых копій базы дадзеных і альбомаў, а таксама файлаў YAML.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Забараніць іншым праграмам доступ да PhotoPrism як да агульнага сеткавага дыска.","Preview":"Папярэдні прагляд","Preview Images":"Папярэдні прагляд відарысаў","Previous":"Папярэдні","Previous page":"Папярэдняя старонка","Previous visual":"Папярэдні візуал","Primary":"Першасны","Private":"Прыватныя","Product Feedback":"Водгук аб прадукце","Projection":"Праекцыя","Purple":"Фіялетавы","Quality Filter":"Фільтр якасці","Quality Score":"Паказчык якасці","r":"р","Random":"Выпадковы","Rating {0} of {1}":"Рэйтынг {0} з {1}","Raw":"Сыравіна","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Паўторна праіндэксаваць усе арыгіналы, уключаючы ўжо праіндэксаваныя і нязмененыя файлы.","Read-Only Mode":"Рэжым толькі для чытання","Recently Added":"Нядаўна дададзены","Recently Archived":"Нядаўна заархівавана","Recently Edited":"Нядаўна адрэдагавана","Recognition starts after indexing has been completed.":"Распазнаванне пачынаецца пасля завяршэння індэксацыі.","Recognize faces so people can be assigned and found.":"Распазнае твары, каб можна было знайсці канкрэтных людзей.","Recognized":"Прызналі","Recovery Code":"Код аднаўлення","Red":"Чырвоны","Refresh":"Абнавіць","Regions":"Рэгіёны","Register":"Зарэгіструйцеся","Reload":"Перазагрузіць","Reloading…":"Перазагрузка…","Remote Sync":"Аддаленая сінхранізацыя","Remove":"Выдаліць","remove failed: unknown album":"выдаліць не атрымалася: невядомы альбом","Remove from Album":"Выдаліць з альбома","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Выдаліце імпартаваныя файлы, каб зэканоміць памяць. Непадтрымоўваныя тыпы файлаў ніколі не выдаляюцца, яны застаюцца ў сваім бягучым месцы.","Request failed - are you offline?":"Запыт не выкананы - вы па-за сеткай?","Request failed - invalid response":"Запыт не выкананы - няправільны адказ","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Патрабаваць праверкі нефатаграфічных і нізкаякасных малюнкаў перад тым, як яны з'явяцца ў выніках пошуку.","Resolution":"дазвол","Restart":"Перазапуск","Restore":"Аднавіць","Restored":"Адноўлены","Retry Limit":"Ліміт паўтораў","Retype Password":"Паўтарыце пароль","Review":"Агляд","Role":"Роля","Rows per page:":"Радкоў на старонцы:","Satellite":"Спадарожнік","Save":"Захаваць","Scan":"сканаваць","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Адсканіруйце QR-код з дапамогай праграмы аўтэнтыфікацыі або выкарыстайце ключ наладкі, паказаны ніжэй, а затым увядзіце згенераваны код спраўджання:","Scans":"Сканы","Scope":"Вобласць прымянення","Search":"Пошук","Search and display photos on a map.":"Пошук і адлюстраванне фатаграфій на карце.","Season":"Сезон","Secret":"сакрэт","Security and Access":"Бяспека і доступ","Select":"Выберыце","Select a source folder to import files…":"Выберыце зыходную папку для імпарту файлаў…","Select date":"Выберыце дату","Select dates":"Выберыце даты","Select or create an album":"Выберыце або стварыце альбом","Select the files to upload…":"Выберыце файлы для загрузкі…","Select the folder to be indexed…":"Выберыце папку для індэксацыі…","Select Time":"Выберыце Час","Selection approved":"Выбар ухвалены","Selection archived":"Выбранае заархівавана","Selection restored":"Выбар адноўлены","Sequential Name":"Паслядоўнае імя","Service URL":"URL службы","Services":"Сэрвісы","Session":"сесія","Session ID":"Ідэнтыфікатар сеансу","Sessions":"Сесіі","Set as Album Cover":"Усталяваць у якасці вокладкі альбома","Settings":"Налады","Settings saved":"Налады захаваны","Setup":"Усталяваць","Share":"падзяліцца","Share %{s}":"Падзяліцца %{s}","Share your pictures with other apps and services.":"Абагульвайце свае фатаграфіі з іншымі праграмамі і службамі.","Show":"Паказаць","Show all new faces":"Паказаць усе новыя твары","Show Captions":"Паказаць субцітры","Show hidden":"Паказаць схаванае","Show less":"Паказваць менш","Show more":"Паказаць больш","Show server logs in Library.":"Паказаць журналы сервера ў бібліятэцы.","Show Titles":"Паказаць загалоўкі","Sidecar":"Спадарожны файл","Sidecar Files":"Sidecar Files","Sign in":"Увайсці","Similar":"Падобныя","Size":"Памер","Slideshow":"Слайд-шоў","Slow":"павольна","Software":"праграмнае забеспячэнне","Software Update":"Абнаўленне праграмнага забеспячэння","Something went wrong, try again":"Нешта пайшло не так, паўтарыце спробу","Sort by":"Сартаваць па","Sort Order":"Парадак сартавання","Sorted ascending.":"Адсартавана па ўзрастанні.","Sorted descending.":"Адсартавана па змяншэнні.","Source":"Крыніца","Stack":"Стэк","Stack files sharing the same unique image or instance identifier.":"Стэк файлаў, якія маюць адзін і той жа унікальны відарыс або ідэнтыфікатар асобніка.","Stack pictures taken at the exact same time and location based on their metadata.":"Складайце здымкі, зробленыя ў адзін і той жа час і ў адным і тым жа месцы, на аснове іх метаданых.","Stackable":"Штабельныя","Stacks":"Стэкі","Start":"Пачаць","Start Page":"Пачатковая старонка","Static Size Limit: %{n}px":"Ліміт статычнага памеру: %{n}px","Status":"Статус","Storage":"Захоўванне","Streets":"Вуліцы","Subject":"Прадмет","Submit":"Падаць","Successfully activated":"Паспяхова актывавана","Successfully Connected":"Паспяхова падключана","Successfully deleted":"Паспяхова выдалена","Successfully verified":"Паспяхова праверана","Super Admin":"Супер адміністратар","Support for additional services, like Google Drive, will be added over time.":"Падтрымка дадатковых сэрвісаў, такіх як Google Drive, будзе дададзена з часам.","Support Our Mission":"Падтрымайце нашу місію","Sync":"Сінхранізацыя","Sync raw and video files":"Сінхранізацыя неапрацаваных і відэафайлаў","Taken":"Узяты","Teal":"Чыркаваты","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow патрабуецца для класіфікацыі відарысаў, распазнання твараў і выяўлення небяспечнага кантэнту.","Terrain":"Рэльеф мясцовасці","Text":"Тэкст","Text too long":"Тэкст занадта доўгі","Thank You for Your Support!":"Дзякуй за вашу падтрымку!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Вось чаму PhotoPrism быў створаны з нуля, каб працаваць там, дзе вам гэта трэба, без шкоды для свабоды, прыватнасці або функцыянальнасці.","The index currently contains %{n} hidden files.":"Зараз індэкс змяшчае %{n} схаваных файлаў.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Магчыма, іх фармат не падтрымліваецца, яны яшчэ не былі пераўтвораны ў JPEG або ёсць дублікаты.","Theme":"Тэма","This field is required":"Гэта поле абавязковае","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Гэта мантуе папку арыгіналаў у якасці сеткавага дыска і дазваляе адкрываць, рэдагаваць і выдаляць файлы з вашага камп'ютара або смартфона, як калі б яны былі лакальнымі.","Time UTC":"Час UTC","Time Zone":"Часавы пояс","Timeout":"Тайм-аўт","Title":{"Account":"Назва","Photo":"Назва","":"Назва"},"Title / Position":"Званне / Пасада","Title too long":"Назва занадта доўгая","to":"каб","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Каб пазбегнуць блакіроўкі доступу да вашага ўліковага запісу, спампуйце, раздрукуйце або скапіруйце гэты код аднаўлення і захавайце яго ў бяспечным месцы.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Каб згенераваць новы пароль для канкрэтнай праграмы, увядзіце назву і вобласць аўтарызацыі праграмы і абярыце тэрмін дзеяння:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Каб пераключыцца на новую праграму або прыладу аўтэнтыфікатара, спачатку дэактывуйце двухфактарную аўтэнтыфікацыю, а затым зноў актывуйце яе:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Каб абнавіць, вы можаце ўвесці код актывацыі або націснуць «Рэгістрацыя», каб зарэгістравацца на нашым сайце:","Today":"сёння","Toggle View":"Пераключыць прагляд","Token":"Жэтон","Too many files selected":"Выбрана занадта шмат файлаў","Too many requests":"Занадта шмат запытаў","Troubleshooting":"Ліквідацыю непаладак","Try again using other filters or keywords.":"Паўтарыце спробу, выкарыстоўваючы іншыя фільтры або ключавыя словы.","Two-factor authentication has been enabled for your account.":"Для вашага ўліковага запісу ўключана двухфактарная аўтэнтыфікацыя.","Type":"Тып","Unable to delete":"Немагчыма выдаліць","Unauthorized":"Несанкцыянаваны","Undo":"Адмяніць","Unique ID":"Унікальны ID","Unknown":"Невядомы","Unregistered":"Незарэгістраваны","Unsorted":"Ня адсартавана","Unstack":"Зняць стос","Updated":"Абноўлены","Updating faces":"Абнаўленне твараў","Updating index":"Абнаўленне індэкса","Updating moments":"Абнаўленне момантаў","Updating picture…":"Абнаўленне выявы…","Updating previews":"Абнаўленне прэв'ю","Updating stacks":"Абнаўленне стэкаў","Upgrade":"Абнаўленне","Upgrade Now":"Абнавіце зараз","Upload":"Загрузіць","Upload complete":"Запампоўка завершана","Upload complete. Indexing…":"Запампоўка завершана. Індэксацыя…","Upload failed":"Памылка загрузкі","Upload local files":"Загрузіць лакальныя файлы","Upload Path":"Шлях загрузкі","Upload to WebDAV and share links with friends.":"Загружайце ў WebDAV і дзяліцеся спасылкамі з сябрамі.","Uploading %{n} of %{t}…":"Загрузка %{n} з %{t}…","Uploading photos…":"Загрузка фатаграфій…","Uploading…":"Загрузка…","Uploads that may contain such images will be rejected automatically.":"Загрузкі, якія могуць утрымліваць такія выявы, будуць адхіляцца аўтаматычна.","Use Presets":"Выкарыстоўвайце налады","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Выкарыстоўвайце наступны код аднаўлення для доступу да вашага ўліковага запісу, калі вы не можаце стварыць сапраўдны код спраўджання з дапамогай праграмы аўтэнтыфікацыі:","Use your recovery code or contact an administrator for help.":"Выкарыстоўвайце свой код аднаўлення або звярніцеся па дапамогу да адміністратара.","User":"Карыстальнік","User Guide":"Кіраўніцтва карыстальніка","User Interface":"Інтэрфейс карыстальніка","Username":"Імя карыстальніка","Users":"Карыстальнікі","Vector":"вектар","Vectors":"Вектары","Verification Code":"Код верыфікацыі","Video":"Відэа","Video Duration":"Працягласць відэа","Videos":"Відэа","View":"Выгляд","View search results as a list.":"Праглядзець вынікі пошуку ў выглядзе спісу.","Viewer":"Глядач","Visitor":"Наведвальнік","Visual Similarity":"Візуальнае падабенства","Warning":"Папярэджанне","We appreciate your feedback!":"Мы цэнім ваш водгук!","We do our best to respond within five business days or less.":"Мы робім усё магчымае, каб адказаць на працягу пяці працоўных дзён ці менш.","Web Login":"Інтэрнэт-уваход","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"Кліенты WebDAV могуць падключыцца да PhotoPrism, выкарыстоўваючы наступны URL:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"Кліенты WebDAV, такія як Microsoft Windows Explorer або Apple Finder, могуць падключацца непасрэдна да PhotoPrism.","WebDAV Upload":"Загрузка WebDAV","WebGL support is disabled in your browser":"Падтрымка WebGL адключана ў вашым браўзеры","Website":"Вэб-сайт","White":"Белы","Work Details":"Дэталі працы","Year":"год","Yellow":"Жоўты","Yes":"так","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Вы можаце звязацца з намі па адрасе membership@photoprism.app па пытаннях аб вашым членстве.","You can only download one album":"Вы можаце спампаваць толькі адзін альбом","You can only download one label":"Вы можаце спампаваць толькі адну метку","You can search for a location or move the marker on the map to change the position:":"Вы можаце шукаць месцазнаходжанне або перамяшчаць маркер на карце, каб змяніць яго становішча:","You can upload up to %{n} files for test purposes.":"Вы можаце загрузіць да %{n} файлаў для тэставых мэт.","You may only select one item":"Вы можаце выбраць толькі адзін прадмет","You may rescan your library to find additional faces.":"Вы можаце паўторна адсканіраваць сваю бібліятэку, каб знайсці дадатковыя твары.","Your account has been successfully connected.":"Ваш уліковы запіс быў паспяхова падключаны.","Your browser does not support WebGL":"Ваш браўзер не падтрымлівае WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Ваша нязменная падтрымка дапамагае нам забяспечваць рэгулярныя абнаўленні і заставацца незалежнымі, каб мы маглі выконваць сваю місію і абараняць вашу канфідэнцыяльнасць.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Ваша бібліятэка пастаянна аналізуецца для аўтаматычнага стварэння альбомаў асаблівых момантаў, паездак і месцаў.","Zoom in/out":"Павелічэнне/памяншэнне"}} \ No newline at end of file diff --git a/frontend/src/locales/json/bg.json b/frontend/src/locales/json/bg.json index 79d371018..14b9ce50d 100644 --- a/frontend/src/locales/json/bg.json +++ b/frontend/src/locales/json/bg.json @@ -1 +1 @@ -{"bg":{"{0} appended action":"{0} приложено действие","{0} files":"{0} файлове","{0} files ({1} in total)":"{0} файлове (общо {1})","{0} more":"{0} още","{0} prepended action":"{0} предварително добавено действие","{0} selected":"{0} избран","{0}-{1} of {2}":"{0}-{1} от {2}","%{n} albums found":"%{n} намерени албума","%{n} files uploaded":"%{n} качени файла","%{n} folders found":"%{n} намерени папки","%{n} GB of %{q} GB used":"%{n} GB от %{q} Използвани GB","%{n} labels found":"%{n} намерени етикети","%{n} people found":"%{n} намерени човека","%{n} pictures found":"%{n} намерени снимки","%{s} is too long":"%{s} е твърде дълъг","%{s} is too short":"%{s} е твърде кратък","1 hour":"1 час","12 hours":"12 часа","2-Factor Authentication":"Удостоверяване с 2 фактора","2FA":"2FA","4 hours":"4 часа","A click will copy it to your clipboard.":"Едно кликване ще го копира в клипборда ви.","A new version of %{s} is available:":"Налична е нова версия на %{s}:","About":"За","Access Token":"Токен за достъп","Account":"Акаунт","Account created":"Създаден акаунт","Account deleted":"Изтрит акаунт","Account restored":"Възстановена сметка","Accounts":"Сметки","Accuracy":"Точност","Action":"Действие","Actions":"Действия","Activate":"Активиране на","Activate to remove sorting.":"Активирайте, за да премахнете сортирането.","Activate to sort ascending.":"Активирайте, за да сортирате възходящо.","Activate to sort descending.":"Активирайте, за да сортирате в низходящ ред.","Activation Code":"Код за активиране","Add":"Добавяне на","Add %{s}?":"Добавяне на %{s}?","Add Account":"Добавяне на акаунт","Add Album":"Добави албум","Add files to your library via Web Upload.":"Добавете файлове към своята библиотека през Web Upload.","Add Link":"Добавете линк","Add person?":"Добавяне на човек?","Add pictures from search results by selecting them.":"Добавете снимки от резултатите от търсенето, като ги избирате.","Add to album":"Добавете към албум","Added":"Добавено","Admin":"Администратор","Advanced":"Разширени","After 1 day":"След 1 ден","After 3 days":"След 3 дни","After 7 days":"След 7 дни","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"След като въведете паролата си за потвърждение, можете да настроите двуфакторно удостоверяване със съвместимо приложение или устройство за удостоверяване:","After one month":"След 1 месец","After one year":"След една година","After selecting pictures from search results, you can add them to an album using the context menu.":"След като изберете снимки от резултатите от търсенето, можете да ги добавите в албум чрез контекстното меню.","After two months":"След два месеца","After two weeks":"След две седмици","Album":"Албум","Album Backups":"Резервни копия на албуми","Album created":"Създаден албум","Albums":"Албуми","Albums deleted":"Изтрити албуми","All":"Всички","All %{n} albums loaded":"Всички %{n} албуми са заредени","All %{n} labels loaded":"Всички %{n} етикети са заредени","All %{n} people loaded":"Всички %{n} хора са заредени","All Cameras":"Всички камери","All Categories":"Всички категории","All Colors":"Всички цветове","All Countries":"Всички страни","All fields are required":"Всички полета са задължителни","All files from import folder":"Всички файлове от папката за импорт","All Lenses":"Всички обективи","All Months":"Всички месеци","All originals":"Всички оригинали","All Years":"Всички години","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Освен това можете да качвате файлове директно на WebDAV сървъри като Nextcloud.","Altitude":"Надморска височина","Altitude (m)":"Надморска височина (м)","AM":"AM","Animated":"Анимация","Animation":"Анимация","Any private photos and videos remain private and won't be shared.":"Всички лични снимки и видеоклипове остават лични и няма да бъдат споделяни.","API Key":"Ключ за API","Application":"Приложение","Apply":"Направете заявка на","Approve":"Одобряване на","Apps and Devices":"Приложения и устройства","Archive":"Архив","Archived":"Архивирано","Are you sure you want to archive the selection?":"Сигурни ли сте, че искате да архивирате селекцията?","Are you sure you want to delete these albums?":"Сигурни ли сте, че искате да изтриете тези албуми?","Are you sure you want to delete these labels?":"Сигурни ли сте, че искате да изтриете тези етикети?","Are you sure you want to delete this account?":"Сигурни ли сте, че искате да изтриете този акаунт?","Are you sure you want to permanently delete these pictures?":"Сигурни ли сте, че искате да изтриете тези снимки за постоянно?","Are you sure you want to permanently delete this file?":"Сигурни ли сте, че искате да изтриете окончателно този файл?","Are you sure?":"Сигурен ли сте?","Artist":"Художник","Aspect Ratio":"Съотношение","Audio":"Аудио","Authentication":"Удостоверяване","Auto":"Auto","Back":"обратно","Back to top":"Върнете се в началото","Backup":"Резервно копие","Badge":"Значка","Base Path":"Базов път","Become a member today, support our mission and enjoy our member benefits!":"Станете член днес, подкрепете нашата мисия и се възползвайте от нашите ползи за членовете!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Тъй като сме 100% самофинансирани и независими, можем да ви обещаем, че никога няма да продадем вашите данни и че винаги ще бъдем прозрачни по отношение на нашия софтуер и услуги.","Bio":"Биография","Birth Date":"Дата на раждане","Black":"Черен","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Модификация на Lanczos, по-малко звънящи артефакти","Blue":"Син","Brown":"Кафяв","Browse":"Преглед на","Browse and edit image classification labels.":"Преглеждайте и редактирайте етикети за класификация на изображения.","Browse and share your pictures organized into monthly albums.":"Преглеждайте и споделяйте снимките си, организирани в месечни албуми.","Browse Files":"Преглед на файлове","Browse indexed files and folders in Library.":"Преглеждайте индексираните файлове и папки в Библиотеката.","Bug Report":"Доклад за грешка","Busy, please wait…":"Заето, моля, изчакайте…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"С използването на софтуера и услугите, които предоставяме, вие се съгласявате с нашите условия за ползване, политика за поверителност и кодекс на поведение.","Calendar":"Календар","Camera":"Камера","Camera Serial":"Серийна камера","Can't access your authenticator app or device?":"Не можете да получите достъп до приложението или устройството си за удостоверяване?","Can't load more, limit reached":"Не мога да заредя повече, лимитът е достигнат","Can't select more items":"Не мога да избера повече елементи","Cancel":"Отмяна на","Caption":"Заглавие","Cards":"Карти","Carousel slide {0} of {1}":"Въртележка, слайд {0} от {1}","Category":"Категория","Change Avatar":"Промяна на частния флаг","Change Password":"Нова парола","Change personal profile and security settings.":"Промяна на настройките на личния профил и сигурността.","Change photo titles, locations, and other metadata.":"Променете заглавията на снимките, местоположенията и други метаданни.","Change private flag":"Промяна на частния флаг","Changes could not be saved":"Промените не могат да бъдат запазени","Changes successfully saved":"Промените са успешно записани","Changes to the advanced settings require a restart to take effect.":"Промените в разширените настройки изискват рестартиране, за да влязат в сила.","Checked":"Проверено","Chroma":"Chroma","Cleaning index and cache":"Почистване на индекса и кеша","Cleanup":"Почистване","Clear {0}":"Изчистване на {0}","Client":"Клиент","Client Credentials":"Удостоверения на клиента","Close":"Затвори","Codec":"Кодек","Color":"Цвят","Color Profile":"Цветен профил","Colors":"Цветове","Compare Editions":"Сравняване на изданията","Complete Rescan":"Пълно повторно сканиране","Confidence":"Доверие","Confirm":"Потвърдете","Connect":"Свържете","Connect via WebDAV":"Свързване чрез WebDAV","Connected":"Свържете","Contact Details":"Свържете се с нас","Contact Us":"Свържете се с нас","Contains %{n} pictures.":"Съдържа %{n} картинки.","Contains one picture.":"Съдържа една снимка.","Content":"Съдържание","Continue":"продължи","Continue with %{provider}":"Продължете с %{provider}","Contributor":"Донор","Converting":"Конвертиране на","Copied to clipboard":"Копиране в клипборда","Copy":"копие","Copyright":"Авторски права","Couldn't find anything.":"Не можах да намеря нищо.","Country":"Страна","Create Account":"Създаване на акаунт","Create album":"Създаване на албум","Create regular backups based on the configured schedule.":"Създаване на резервни копия на индекси въз основа на конфигуриран график.","Create YAML files to back up album metadata.":"Създаване на YAML файлове за архивиране на метаданните на албумите.","Create YAML sidecar files to back up picture metadata.":"Създаване на странични файлове YAML за архивиране на метаданните на картината.","Created":"Създаден","Creating thumbnails for":"Създаване на миниатюри за","Cubic: Moderate Quality, Good Performance":"Кубичен: Умерено качество, добра производителност","Current Password":"Текуща парола","Custom":"Потребителски","Cyan":"Cyan","Daily":"Daily","Database Backups":"Резервни копия на бази данни","Day":"Ден","Deactivate":"Деактивирайте","Debug Logs":"Протоколи за отработване","Default":"По подразбиране","Default Folder":"Папка по подразбиране","Delete":"Изтриване на","Delete All":"Изтриване на всички","Delete all?":"Изтриване на всички?","Delete orphaned index entries, sidecar files and thumbnails.":"Изтриване на осиротели записи в индекса, странични файлове и миниатюри.","Description":"Описание","Detailed instructions can be found in our User Guide.":"Подробни инструкции можете да намерите в нашето ръководство за потребителя.","Details":"Подробности","Dimensions":"Размери","Disable Backups":"Деактивиране на резервните копия","Disable Darktable":"Деактивиране на Darktable","Disable ExifTool":"Деактивиране на ExifTool","Disable features that require write permission for the originals folder.":"Деактивирайте функциите, които изискват разрешение за запис в папката с оригинали.","Disable FFmpeg":"Деактивиране на FFmpeg","Disable ImageMagick":"Деактивиране на ImageMagick","Disable interactive world maps and reverse geocoding.":"Деактивиране на интерактивните карти на света и обратното геокодиране.","Disable Places":"Деактивиране на местата","Disable RawTherapee":"Деактивиране на RawTherapee","Disable TensorFlow":"Деактивиране на TensorFlow","Disable Vectors":"Деактивиране на вектори","Disable WebDAV":"Деактивиране на WebDAV","Disables vector graphics support.":"Деактивира поддръжката на векторни графики.","Disables video transcoding and thumbnail extraction.":"Деактивира транскодирането на видео и извличането на миниатюри.","Discover":"Открийте","Dismiss":"Отхвърляне на","Display Name":"Име на дисплея","Display picture captions in search results.":"Показване на надписи на снимки в резултатите от търсенето.","Display picture titles in search results.":"Показване на заглавия на снимки в резултатите от търсенето.","Document":"Документ","Documents":"Документи","Don't use Darktable to convert RAW images.":"Не използвайте Darktable за конвертиране на RAW изображения.","Don't use ImageMagick to convert images.":"Не използвайте ImageMagick за конвертиране на изображения.","Don't use RawTherapee to convert RAW images.":"Не използвайте RawTherapee за конвертиране на RAW изображения.","Done":"Готово","Done.":"Изпълнено.","Download":"Изтегляне","Download only original media files, without any automatically generated files.":"Изтегляйте само оригинални мултимедийни файлове, без автоматично генерирани файлове.","Download remote files":"Изтегляне на отдалечени файлове","Download single files and zip archives.":"Изтеглете единични файлове и архиви zip.","Downloading…":"Изтегляне…","Downscaling Filter":"Филтър за намаляване на мащаба","Drag and drop files here":"Влачете и пуснете файлове тук","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"Поради големия брой имейли, които получаваме, нашият екип може да не успее да ви отговори веднага.","Duplicates will be skipped and only appear once.":"Дубликатите ще бъдат пропуснати и ще се появят само веднъж.","Duration":"Дарения","Dynamic Previews":"Динамични прегледи","Dynamic Size Limit: %{n}px":"Ограничение на динамичния размер: %{n}px","E-Mail":"Електронна поща","Edit":"Редактиране на","Edit %{s}":"Редактиране на %{s}","Edit Account":"Редактиране на акаунт","Edit Photo":"Редактиране на снимка","Edited":"Редактиран","Email":"Имейл","Enable debug mode to display additional logs and help with troubleshooting.":"Активирайте режима за отстраняване на грешки, за да покажете допълнителни логове и да помогнете при отстраняването на неизправности.","Enable new features that may be incomplete or unstable.":"Разрешаване на нови функции, които може да са непълни или нестабилни.","Enables RAW converter presets. May reduce performance.":"Активира предварителните настройки на конвертора RAW. Може да намали производителността.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Активирането на двуфакторно удостоверяване означава, че ще ви трябва произволно генериран код за потвърждение, за да влезете, така че дори ако някой получи достъп до вашата парола, той няма да може да влезе в акаунта ви.","Enter date":"Въведете датата","Enter dates":"Въведете дати","Enter the code generated by your authenticator app:":"Въведете кода, генериран от приложението за удостоверяване:","Enter verification code":"Въведете код за верификация","Enter your password to confirm the action and continue:":"Въведете паролата си, за да потвърдите действието и продължете:","Error":"Грешка","Errors":"Грешки","Estimate":"Прогноза","Estimate Locations":"Прогнозни местоположения","Estimate the approximate location of pictures without GPS coordinates.":"Оценка на приблизителното местоположение на снимки без GPS координати.","Every two days":"На всеки два дни","Exclude content marked as private from search results, shared albums, labels, and places.":"Изключване на съдържание, маркирано като лично, от резултатите от търсенето, споделените албуми, етикетите и местата.","Exclude hidden":"Изключване на скрити","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"Извличането на метаданни с ExifTool е необходимо за пълна поддръжка на видео, снимки в реално време и XMP.","Experimental Features":"Експериментални функции","Expires":"Срокът на валидност изтича на","Exposure":"Експозиция","Extract still images and generate thumbnails while indexing.":"Извличане на неподвижни изображения и генериране на миниатюри по време на индексирането.","F Number":"Номер F","Face":"Лице","Faces":"Лица","Failed removing link":"Неуспешно премахване на връзката","Failed to connect account.":"Неуспешно свързване на акаунт.","Failed updating link":"Неуспешно актуализиране на връзката","Family Name":"Фамилно име","Fast":"Бърз","Favorite":"Любими","Favorites":"Любими","Feature Request":"Заявка за функция","Feedback":"Обратна връзка","Female":"Жена","File":"Файл","File Browser":"Файлов браузър","File Conversion":"Конвертиране на файлове","File Name":"Файл","File Size":"Файл","Filename":"Файл","Files":"Файлове","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Файлове с последователни имена като 'IMG_1234 (2)' и 'IMG_1234 (3)' принадлежат на една и съща снимка.","First page":"Първа страница","Focal Length":"Фокусно разстояние","Folder":"Папка","Folder contains %{n} files":"Папката съдържа %{n} файлове","Folder is empty":"Папката е празна","Folders":"Папки","Forgot password?":"Забравена парола?","FPS":"Кадър в секунда","Frames":"Рамки","Full Access":"Пълен достъп","Fullscreen":"Пълен екран","General":"Обща информация","Generate":"Генерирай","Generate albums of special moments, journeys, and places.":"Автоматично създава албуми на специални моменти, пътувания и места.","Generate Previews":"Генериране на предварителни изгледи","Generated":"Генериран","Get Started":"Започнете","Given Name":"Оригинално име","Global Options":"Глобални опции","Go to page {0}":"Отидете на страница {0}","Gold":"Злато","Green":"Зелен","Grey":"Сив","Guest":"Гост","Hash":"Hash","Help":"Помощ","Help & Support":"Получаване на подкрепа","Hidden":"Скрит","Hidden Files":"Скрити файлове","Hide":"Скрий","Hide photos that have been moved to archive.":"Скриване на снимки, които са преместени в архива.","High":"Висок","High Dynamic Range (HDR)":"Висок динамичен обхват (HDR)","How can we help?":"Как можем да помогнем?","Hybrid":"Хибрид","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Ако загубите достъп до приложението или устройството си за удостоверяване, можете да използвате своя код за възстановяване, за да си възвърнете достъпа до акаунта си.","Image":"Изображение","Image Quality":"Качество на изображението","Import":"Внос","Import failed":"Импортирането е неуспешно","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Внесените файлове ще бъдат сортирани по дата и ще получат уникално име, за да се избегнат дублирания.","Imported files will be sorted by date and given a unique name.":"Внесените файлове ще бъдат сортирани по дата и ще им бъде дадено уникално име.","Importing %{s}…":"Импортиране на %{s}…","Importing files to originals…":"Импортиране на файлове в оригинали…","in":"в","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"В случай че очакваните от вас снимки липсват, моля сканирайте отново библиотеката си и изчакайте, докато индексирането приключи.","Include RAW image files when downloading stacks and archives.":"Включване на файлове с RAW изображения при изтегляне на стекове и архиви.","Include sidecar files when downloading stacks and archives.":"Включване на странични файлове при изтегляне на стекове и архиви.","Increase storage size or delete files to continue.":"Увеличете размера на паметта или изтрийте файловете, за да продължите.","Index":"Индекс","Index and import files through the user interface.":"Индексирайте и импортирайте файлове чрез потребителския интерфейс.","Indexing":"Индексиране","Indexing failed":"Индексирането е неуспешно","Indexing media and sidecar files…":"Индексиране на мултимедийни и странични файлове…","Information":"Информация","Instance ID":"Идентификатор на инстанцията","Insufficient storage.":"Недостатъчно място за съхранение.","Interval":"Интервал","Invalid":"Невалидна дата","Invalid address":"Невалиден адрес","Invalid country":"Невалидна държава","Invalid date":"Невалидна дата","Invalid parameters":"Невалидна дата","Invalid photo selected":"Избрана е невалидна снимка","Invalid time":"Невалидно време","Invalid URL":"Невалиден URL адрес","It is a one-time use code that will disable 2FA for your account when you use it.":"Това е код за еднократна употреба, който ще деактивира 2FA за вашия акаунт, когато го използвате.","Item":"Артикул","Items per page:":"Елементи на страница:","JPEG Quality: %{n}":"Качество на JPEG: %{n}","JPEG Size Limit: %{n}px":"Ограничение на размера на JPEG: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"JPEG и миниатюрите се визуализират автоматично, когато е необходимо.","Keywords":"Ключови думи","Label":"Етикет","Labels":"Етикети","Labels deleted":"Изтрити етикети","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: Запазване на детайлите, минимални артефакти","Language":"Език","Last Active":"Последен активен","Last Login":"Последно влизане","Last page":"Последна страница","Last Sync":"Синхронизиране","Last Used":"Последно използван","Latitude":"Географска ширина","LDAP/AD":"LDAP/AD","Learn more":"Научете повече","Learn More":"Научете повече","Legal Information":"Правна информация","Lens":"Обектив","Library":"Библиотека","License":"Лиценз","Like":"Като","Lime":"Lime","Limit reached, showing first %{n} files":"Лимитът е достигнат, показваме първите %{n} файлове","Linear: Very Smooth, Best Performance":"Линейни: Много гладка, най-добра производителност","Link":"Връзка","List":"Списък","List View":"Преглед на списъка","Live":"На живо","Live Photos":"Снимки","Load more":"Заредете повече","Loading items...":"Зареждане на елементи...","Loading...":"Зареждане...","Local":"Местни","Local Time":"Местно време","Location":"Местоположение","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Съобщенията в дневника се появяват тук, когато PhotoPrism се натъкне на повредени файлове или има други потенциални проблеми.","Login":"Вход","Logout":"Излизане от системата","Logs":"Дневници","Longitude":"Дължина","Low":"Нисък","Magenta":"Магента","Main Color":"Основен цвят","Male":"Мъжки","Manage Account":"Управление на акаунта","Manual":"Ръководство","Manual Upload":"Ръчно качване","Maps":"Карти","Marker":"Маркер","Maximum number of accounts has been reached.":"Максималният брой акаунти е достигнат.","Media":"Медии","Medium":"Среден","Membership":"Членство","Merge %{a} with %{b}?":"Сливане на %{a} с %{b}?","Message":"Съобщение","Message sent":"Изпратено съобщение","Metadata":"Метаданни","Metrics":"Метрика","Minimize":"Минимизиране на","Missing":"Липсващ","Missing or invalid configuration":"Липсваща или невалидна конфигурация","Moments":"Моменти","Monochrome":"Монохромен","Month":"Месец","More options":"Повече опции","Mosaic":"Мозайка","Most Relevant":"Най-подходящи","Move Files":"Преместване на файлове","Must have at least %{n} characters.":"Най-малко 6 символа.","Mute":"Заглушаване на звука","Name":"Име","Name too long":"Прекалено дълго име","Never":"Никога","New":"Нов","New Password":"Нова парола","Newest First":"Най-новият първи","Next":"Следваща","Next page":"Следваща страница","Next visual":"Следваща визуална","No":"Не","No albums found":"Не са намерени албуми","No data available":"Няма налични данни","No labels found":"Не са намерени етикети","No matching records found":"Не са намерени съвпадащи записи","No more":"Не повече","No people found":"Не са намерени хора","No pictures found":"Не са намерени снимки","No recently edited pictures":"Няма наскоро редактирани снимки","No server connection":"Няма връзка със сървъра","No servers configured.":"Няма конфигурирани сървъри.","No services configured.":"Няма конфигурирани сървъри.","No thanks":"Не, благодаря","No warnings or error containing this keyword. Note that search is case-sensitive.":"Няма предупреждения или грешки, съдържащи тази ключова дума. Обърнете внимание, че при търсенето се отчитат малки и големи букви.","Non-photographic and low-quality images require a review before they appear in search results.":"Нефотографските изображения и изображенията с ниско качество изискват преглед, преди да се появят в резултатите от търсенето.","None":"Няма","Not allowed":"Не е разрешено","Not found":"Не е намерен","Not sorted.":"Не е сортирано.","Not supported":"Не се поддържа","Note you may manually manage your originals folder and importing is optional.":"Имайте предвид, че можете да управлявате ръчно папката с оригинали, а импортирането не е задължително.","Note:":"Забележка:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Забележка: Само WebDAV сървъри, като Nextcloud или PhotoPrism, могат да бъдат конфигурирани като отдалечена услуга за архивиране и качване на файлове.","Notes":"Бележки","Nothing to see here yet.":"Все още няма нищо за гледане тук. Бъдете търпеливи.","Nothing was found.":"Нищо не беше намерено.","Offline":"Офлайн","OIDC":"OIDC","OK":"ОК","Oldest First":"Най-старият първи","On Windows, enter the following resource in the connection dialog:":"В Windows въведете следния ресурс в диалоговия прозорец за връзка:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"Генерирането на миниатюри при поискване може да доведе до голямо използване на процесора и паметта. Това не се препоръчва за сървъри и NAS устройства с ограничени ресурси.","Once a week":"Веднъж седмично","One album found":"Намерен е един албум","One file found":"Намерен е един файл","One file uploaded":"Качен е един файл","One folder found":"Намерена е една папка","One label found":"Намерен е един етикет","One person found":"Един човек намери","One picture found":"Една намерена снимка","Only locally managed accounts can be set up for authentication with 2FA.":"Само локално управлявани акаунти могат да бъдат настроени за удостоверяване с 2FA.","Open":"Отворете","optional":"по избор","or":"или","Orange":"Orange","Organization":"Ориентация","Orientation":"Ориентация","Original file names will be stored and indexed.":"Оригиналните имена на файловете ще бъдат съхранени и индексирани.","Original Name":"Оригинално име","Originals":"Оригинали","Other":"Други","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Нашата мисия е да предоставим най-удобното за потребителя и поверителността решение за организиране и достъп до вашите снимки.","Outdoor":"На открито","Page {0}, Current page":"Страница {0}, Текуща страница","Pages":"Страници","Pagination Navigation":"Навигация по страници","Panorama":"Панорама","Panoramas":"Панорами","Password":"Парола","Password changed":"Паролата е променена","People":"Хора","People you share a link with will be able to view public contents.":"Хората, с които споделяте връзката, ще могат да виждат публичното съдържание.","Permanently deleted":"Постоянно изтрити","Permanently remove files to free up storage.":"Постоянно премахване на файлове, за да освободите място за съхранение.","Person":"Лице","Personal":"Лични","Photo":"Снимка","PhotoPrism is 100% self-funded and independent.":"PhotoPrism е 100% независима и самофинансираща се компания.","PhotoPrism+ Membership":"Членство в PhotoPrism+","Photos":"Снимки","Picture Title":"Заглавие на снимката","Pink":"Розов","Place":"Място","Place & Time":"Място & Време","Places":"Места","Please confirm your new password.":"Моля, потвърдете новата си парола.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Моля, копирайте следната произволно генерирана парола за приложение и я запазете на сигурно място, тъй като няма да можете да я видите отново:","Please do not upload any private, unlawful or offensive pictures.":"Моля, не качвайте лични, незаконни или обидни снимки.","Please don't upload photos containing offensive content.":"Моля, не качвайте снимки с обидно съдържание.","Please enter OTP character {0}":"Моля, въведете OTP символ {0}","Please note that changing your password will log you out on other devices and browsers.":"Моля, имайте предвид, че промяната на паролата ви ще доведе до излизане от системата на други устройства и браузъри.","Please restart your instance for the changes to take effect.":"Моля, рестартирайте инстанцията си, за да влязат в сила промените.","Please wait…":"Моля, изчакайте…","PM":"PM","PNG Size Limit: %{n}px":"Ограничение на размера на PNG: %{n}px","Portrait":"Портрет","Preserve filenames":"Запазване на имената на файловете","Press enter to create a new album.":"Натиснете Enter, за да създадете нов албум.","Prevent database and album backups as well as YAML sidecar files from being created.":"Предотвратяване на създаването на резервни копия на бази данни и албуми, както и на странични файлове YAML.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Предотвратяване на достъпа на други приложения до PhotoPrism като споделено мрежово устройство.","Preview":"Преглед","Preview Images":"Предварителни изображения","Previous":"Предишна","Previous page":"Предишна страница","Previous visual":"Предишна визуална","Primary":"Първичен","Private":"Частна","Product Feedback":"Отзиви за продукта","Projection":"Прожектиране","Purple":"Лилаво","Quality Filter":"Филтър за качество","Quality Score":"Оценка на качеството","r":"r","Random":"Случаен","Rating {0} of {1}":"Оценка {0} от {1}","Raw":"Суров","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Индексирайте отново всички оригинали, включително вече индексираните и непроменените файлове.","Read-Only Mode":"Режим само за четене","Recently Added":"Наскоро добавени","Recently Archived":"Наскоро архивирани","Recently Edited":"Наскоро редактирани","Recognition starts after indexing has been completed.":"Разпознаването започва след приключване на индексирането.","Recognize faces so people can be assigned and found.":"Разпознава лица, за да може да се открият конкретни хора.","Recognized":"Признат","Recovery Code":"Код за възстановяване","Red":"Червено","Refresh":"Обновяване","Regions":"Региони","Register":"Регистрация","Reload":"Презареждане","Reloading…":"Презареждане…","Remote Sync":"Дистанционна синхронизация","Remove":"Премахване на","remove failed: unknown album":"Премахването е неуспешно: непознат албум","Remove from Album":"Премахване от албума","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Премахване на импортирани файлове, за да се спести място за съхранение. Неподдържаните типове файлове никога не се изтриват, те остават в текущото си местоположение.","Request failed - are you offline?":"Заявката е неуспешна - офлайн сте?","Request failed - invalid response":"Заявката е неуспешна - невалиден отговор","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Изискване за преглед на нефотографски и нискокачествени изображения, преди да се появят в резултатите от търсенето.","Resolution":"Резолюция","Restart":"Рестартиране на","Restore":"Възстановяване на","Restored":"Възстановен","Retry Limit":"Лимит на повторенията","Retype Password":"Повторно въвеждане на паролата","Review":"Преглед на","Role":"Роля","Rows per page:":"Редове на страница:","Satellite":"Сателит","Save":"Запазете","Scan":"Сканиране","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Сканирайте QR кода с вашето приложение за удостоверяване или използвайте ключа за настройка, показан по-долу, и след това въведете генерирания код за потвърждение:","Scans":"Сканиране","Scope":"Обхват","Search":"Търсене","Search and display photos on a map.":"Търсене и показване на снимки на карта.","Season":"Сезон","Secret":"Тайната","Security and Access":"Сигурност и достъп","Select":"Изберете","Select a source folder to import files…":"Изберете папка източник за импортиране на файлове…","Select date":"Изберете дата","Select dates":"Изберете дати","Select or create an album":"Изберете или създайте албум","Select the files to upload…":"Изберете файловете, които да качите…","Select the folder to be indexed…":"Изберете папката, която ще се индексира…","Select Time":"Изберете време","Selection approved":"Одобрена селекция","Selection archived":"Архивирана селекция","Selection restored":"Възстановена селекция","Sequential Name":"Последователно име","Service URL":"URL адрес на услугата","Services":"URL адрес на услугата","Session":"Сесия","Session ID":"Идентификатор на сесията","Sessions":"Сесии","Set as Album Cover":"Задайте като корица на албум","Settings":"Настройки","Settings saved":"Запазени настройки","Setup":"Настройка","Share":"Споделете","Share %{s}":"Споделяне на %{s}","Share your pictures with other apps and services.":"Споделяйте снимките си с други приложения и услуги.","Show":"Покажи","Show all new faces":"Покажи всички нови лица","Show Captions":"Показване на надписи","Show hidden":"Покажи скритите","Show less":"Покажи по-малко","Show more":"Покажи повече","Show server logs in Library.":"Показване на дневниците на сървъра в Библиотеката.","Show Titles":"Показване на заглавия","Sidecar":"Sidecar","Sidecar Files":"Файлове Sideecar","Sign in":"Влезте","Similar":"Подобни","Size":"Размер","Slideshow":"Слайдшоу","Slow":"Бавен","Software":"Софтуер","Software Update":"Актуализация на софтуера","Something went wrong, try again":"Нещо се е объркало, опитайте отново","Sort by":"Сортиране по","Sort Order":"Ред на сортиране","Sorted ascending.":"Подредени във възходящ ред.","Sorted descending.":"Подредени в низходящ ред.","Source":"Източник:","Stack":"Стек","Stack files sharing the same unique image or instance identifier.":"Стекиране на файлове с един и същ уникален идентификатор на изображение или инстанция.","Stack pictures taken at the exact same time and location based on their metadata.":"Подреждайте снимки, направени по едно и също време и на едно и също място, въз основа на техните метаданни.","Stackable":"Подвижен за стифиране","Stacks":"Stacks","Start":"Начало","Start Page":"Начална страница","Static Size Limit: %{n}px":"Ограничение на статичния размер: %{n}px","Status":"Статус","Storage":"Папка за съхранение","Streets":"Улици","Subject":"Тема","Submit":"Подаване на","Successfully activated":"Успешно активиран","Successfully Connected":"Успешно свързване","Successfully deleted":"Успешно изтрит","Successfully verified":"Успешно потвърдено","Super Admin":"Супер администратор","Support for additional services, like Google Drive, will be added over time.":"Поддръжката на допълнителни услуги, като например Google Drive, ще бъде добавена с течение на времето.","Support Our Mission":"Подкрепете нашата мисия","Sync":"Синхронизиране","Sync raw and video files":"Синхронизиране на необработени и видеофайлове","Taken":"Взето","Teal":"Teal","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow е необходим за класификация на изображения, разпознаване на лица и откриване на опасно съдържание.","Terrain":"Терен","Text":"Текст","Text too long":"Твърде дълъг текст","Thank You for Your Support!":"Благодарим ви за подкрепата!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Ето защо PhotoPrism е създадена от самото начало, за да работи навсякъде, където ви е необходима, без да прави компромиси със свободата, поверителността или функционалността.","The index currently contains %{n} hidden files.":"Индексът в момента съдържа %{n} скрити файлове.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Възможно е техният формат да не се поддържа, да не са били конвертирани в JPEG или да има дубликати.","Theme":"Тема","This field is required":"Това поле е задължително","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Това монтира папката с оригинали като мрежово устройство и ви позволява да отваряте, редактирате и изтривате файлове от компютъра или смартфона си, сякаш са локални.","Time UTC":"Време UTC","Time Zone":"Часова зона","Timeout":"Часова зона","Title":{"Account":"Заглавие","Photo":"Заглавие","":"Заглавие"},"Title / Position":"Твърде дълго заглавие","Title too long":"Твърде дълго заглавие","to":"към","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"За да избегнете изключване на вашия акаунт, моля, изтеглете, отпечатайте или копирайте този код за възстановяване сега и го запазете на сигурно място.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"За да генерирате нова парола за конкретно приложение, моля, въведете името и обхвата на разрешението на приложението и изберете дата на изтичане:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"За да превключите към ново приложение или устройство за удостоверяване, първо деактивирайте двуфакторното удостоверяване и след това го активирайте отново:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"За да надстроите, можете да въведете код за активиране или да кликнете върху \"Регистрация\", за да се регистрирате на нашия уебсайт:","Today":"Днес","Toggle View":"Превключване на изгледа","Token":"Токен","Too many files selected":"Избрани са твърде много файлове","Too many requests":"Твърде много заявки","Troubleshooting":"Отстраняване на неизправности","Try again using other filters or keywords.":"Опитайте отново, като използвате други филтри или ключови думи.","Two-factor authentication has been enabled for your account.":"Двуфакторното удостоверяване е активирано за вашия акаунт.","Type":"Тип","Unauthorized":"Неоторизиран","Undo":"Отмяна на","Unique ID":"Уникален идентификатор","Unknown":"Неизвестно","Unregistered":"Нерегистриран","Unsorted":"Несортиран","Unstack":"Разглобяване на стека","Updated":"Актуализиран","Updating faces":"Актуализиране на лица","Updating index":"Актуализиране на индекса","Updating moments":"Актуализиране на моменти","Updating picture…":"Актуализиране на визуализациите","Updating previews":"Актуализиране на визуализациите","Updating stacks":"Актуализиране на стекове","Upgrade":"Надграждане","Upgrade Now":"Актуализирайте сега","Upload":"Качване на","Upload complete":"Качване на данни","Upload complete. Indexing…":"Качването е завършено. Индексиране…","Upload failed":"Качването е неуспешно","Upload local files":"Качване на локални файлове","Upload Path":"Път за качване","Upload to WebDAV and share links with friends.":"Качвайте в WebDAV и споделяйте връзки с приятели.","Uploading %{n} of %{t}…":"Качване на %{n} от %{t}…","Uploading photos…":"Качване на снимки…","Uploading…":"Презареждане…","Uploads that may contain such images will be rejected automatically.":"Качванията, които могат да съдържат такива изображения, ще бъдат отхвърлени автоматично.","Use Presets":"Използване на предварителни настройки","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Използвайте следния код за възстановяване за достъп до акаунта си, когато не можете да генерирате валиден код за потвърждение с вашето приложение за удостоверяване:","Use your recovery code or contact an administrator for help.":"Използвайте кода си за възстановяване или се свържете с администратор за помощ.","User":"Потребител","User Guide":"Ръководство за потребителя","User Interface":"Потребителски интерфейс","Username":"Потребителско име","Users":"Потребители","Vector":"Вектор","Vectors":"Вектори","Verification Code":"Код за потвърждение","Video":"Видео","Video Duration":"Дарения","Videos":"Видеоклипове","View":"Вижте","View search results as a list.":"Преглед на резултатите от търсенето като списък.","Viewer":"Viewer","Visitor":"Посетител","Visual Similarity":"Групиране по сходство","Warning":"Предупреждение","We appreciate your feedback!":"Оценяваме обратната ви връзка!","We do our best to respond within five business days or less.":"Стараем се да отговаряме в рамките на пет работни дни или по-малко.","Web Login":"Уеб вход","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"Клиентите на WebDAV могат да се свържат с PhotoPrism, като използват следния URL адрес:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"WebDAV клиенти, като Windows Explorer на Microsoft или Finder на Apple, могат да се свързват директно с PhotoPrism.","WebDAV Upload":"Качване на WebDAV","WebGL support is disabled in your browser":"Поддръжката на WebGL е деактивирана в браузъра ви","Website":"Уебсайт","White":"Бял","Work Details":"Подробности","Year":"Година","Yellow":"Жълт","Yes":"Да","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Можете да се свържете с нас на membership@photoprism.app за въпроси, свързани с членството ви.","You can only download one album":"Можете да изтеглите само един албум","You can only download one label":"Можете да изтеглите само един етикет","You can upload up to %{n} files for test purposes.":"Можете да качвате до %{n} файлове за тестови цели.","You may only select one item":"Можете да изберете само един елемент.","You may rescan your library to find additional faces.":"Можете да сканирате отново библиотеката си, за да намерите допълнителни лица.","Your account has been successfully connected.":"Вашият акаунт е успешно свързан.","Your browser does not support WebGL":"Вашият браузър не поддържа WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Вашата постоянна подкрепа ни помага да предоставяме редовни актуализации и услуги като световни карти.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Библиотеката ви се анализира непрекъснато, за да се създават автоматично албуми със специални моменти, пътувания и места.","Zoom in/out":"Увеличаване/намаляване на мащаба"}} \ No newline at end of file +{"bg":{"{0} appended action":"{0} приложено действие","{0} files":"{0} файлове","{0} files ({1} in total)":"{0} файлове (общо {1})","{0} more":"{0} още","{0} prepended action":"{0} предварително добавено действие","{0} selected":"{0} избран","{0}-{1} of {2}":"{0}-{1} от {2}","%{n} albums found":"%{n} намерени албума","%{n} files uploaded":"%{n} качени файла","%{n} folders found":"%{n} намерени папки","%{n} GB of %{q} GB used":"%{n} GB от %{q} Използвани GB","%{n} labels found":"%{n} намерени етикети","%{n} people found":"%{n} намерени човека","%{n} pictures found":"%{n} намерени снимки","%{s} is too long":"%{s} е твърде дълъг","%{s} is too short":"%{s} е твърде кратък","1 hour":"1 час","12 hours":"12 часа","2-Factor Authentication":"Удостоверяване с 2 фактора","2FA":"2FA","4 hours":"4 часа","A click will copy it to your clipboard.":"Едно кликване ще го копира в клипборда ви.","A new version of %{s} is available:":"Налична е нова версия на %{s}:","About":"За","Access Token":"Токен за достъп","Account":"Акаунт","Account created":"Създаден акаунт","Account deleted":"Изтрит акаунт","Account restored":"Възстановена сметка","Accounts":"Сметки","Accuracy":"Точност","Action":"Действие","Actions":"Действия","Activate":"Активиране на","Activate to remove sorting.":"Активирайте, за да премахнете сортирането.","Activate to sort ascending.":"Активирайте, за да сортирате възходящо.","Activate to sort descending.":"Активирайте, за да сортирате в низходящ ред.","Activation Code":"Код за активиране","Add":"Добавяне на","Add %{s}?":"Добавяне на %{s}?","Add Account":"Добавяне на акаунт","Add Album":"Добави албум","Add files to your library via Web Upload.":"Добавете файлове към своята библиотека през Web Upload.","Add Link":"Добавете линк","Add person?":"Добавяне на човек?","Add pictures from search results by selecting them.":"Добавете снимки от резултатите от търсенето, като ги избирате.","Add to album":"Добавете към албум","Added":"Добавено","Adjust Location":"Регулиране на местоположението","Admin":"Администратор","Advanced":"Разширени","After 1 day":"След 1 ден","After 3 days":"След 3 дни","After 7 days":"След 7 дни","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"След като въведете паролата си за потвърждение, можете да настроите двуфакторно удостоверяване със съвместимо приложение или устройство за удостоверяване:","After one month":"След 1 месец","After one year":"След една година","After selecting pictures from search results, you can add them to an album using the context menu.":"След като изберете снимки от резултатите от търсенето, можете да ги добавите в албум чрез контекстното меню.","After two months":"След два месеца","After two weeks":"След две седмици","Album":"Албум","Album Backups":"Резервни копия на албуми","Album created":"Създаден албум","Album deleted":"Изтрит албум","Albums":"Албуми","Albums deleted":"Изтрити албуми","All":"Всички","All %{n} albums loaded":"Всички %{n} албуми са заредени","All %{n} labels loaded":"Всички %{n} етикети са заредени","All %{n} people loaded":"Всички %{n} хора са заредени","All Cameras":"Всички камери","All Categories":"Всички категории","All Colors":"Всички цветове","All Countries":"Всички страни","All fields are required":"Всички полета са задължителни","All files from import folder":"Всички файлове от папката за импорт","All Lenses":"Всички обективи","All Months":"Всички месеци","All originals":"Всички оригинали","All Years":"Всички години","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Освен това можете да качвате файлове директно на WebDAV сървъри като Nextcloud.","Altitude":"Надморска височина","Altitude (m)":"Надморска височина (м)","AM":"AM","Animated":"Анимация","Animation":"Анимация","Animations":"Анимации","Any private photos and videos remain private and won't be shared.":"Всички лични снимки и видеоклипове остават лични и няма да бъдат споделяни.","API Key":"Ключ за API","Application":"Приложение","Apply":"Направете заявка на","Approve":"Одобряване на","Apps and Devices":"Приложения и устройства","Archive":"Архив","Archived":"Архивирано","Are you sure you want to archive the selection?":"Сигурни ли сте, че искате да архивирате селекцията?","Are you sure you want to delete these albums?":"Сигурни ли сте, че искате да изтриете тези албуми?","Are you sure you want to delete these labels?":"Сигурни ли сте, че искате да изтриете тези етикети?","Are you sure you want to delete this account?":"Сигурни ли сте, че искате да изтриете този акаунт?","Are you sure you want to delete this album?":"Сигурни ли сте, че искате да изтриете този албум?","Are you sure you want to permanently delete these pictures?":"Сигурни ли сте, че искате да изтриете тези снимки за постоянно?","Are you sure you want to permanently delete this file?":"Сигурни ли сте, че искате да изтриете окончателно този файл?","Are you sure?":"Сигурен ли сте?","Artist":"Художник","Aspect Ratio":"Съотношение","Audio":"Аудио","Authentication":"Удостоверяване","Auto":"Auto","Back":"обратно","Back to top":"Върнете се в началото","Backup":"Резервно копие","Badge":"Значка","Base Path":"Базов път","Become a member today, support our mission and enjoy our member benefits!":"Станете член днес, подкрепете нашата мисия и се възползвайте от нашите ползи за членовете!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Тъй като сме 100% самофинансирани и независими, можем да ви обещаем, че никога няма да продадем вашите данни и че винаги ще бъдем прозрачни по отношение на нашия софтуер и услуги.","Bio":"Биография","Birth Date":"Дата на раждане","Black":"Черен","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Модификация на Lanczos, по-малко звънящи артефакти","Blue":"Син","Brown":"Кафяв","Browse":"Преглед на","Browse and edit image classification labels.":"Преглеждайте и редактирайте етикети за класификация на изображения.","Browse and share your pictures organized into monthly albums.":"Преглеждайте и споделяйте снимките си, организирани в месечни албуми.","Browse Files":"Преглед на файлове","Browse indexed files and folders in Library.":"Преглеждайте индексираните файлове и папки в Библиотеката.","Bug Report":"Доклад за грешка","Busy, please wait…":"Заето, моля, изчакайте…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"С използването на софтуера и услугите, които предоставяме, вие се съгласявате с нашите условия за ползване, политика за поверителност и кодекс на поведение.","Calendar":"Календар","Camera":"Камера","Camera Serial":"Серийна камера","Can't access your authenticator app or device?":"Не можете да получите достъп до приложението или устройството си за удостоверяване?","Can't load more, limit reached":"Не мога да заредя повече, лимитът е достигнат","Can't select more items":"Не мога да избера повече елементи","Cancel":"Отмяна на","Cannot copy to clipboard":"Не мога да копирам в клипборда","Caption":"Заглавие","Cards":"Карти","Carousel slide {0} of {1}":"Въртележка, слайд {0} от {1}","Category":"Категория","Change Avatar":"Промяна на частния флаг","Change Password":"Нова парола","Change personal profile and security settings.":"Промяна на настройките на личния профил и сигурността.","Change photo titles, locations, and other metadata.":"Променете заглавията на снимките, местоположенията и други метаданни.","Change private flag":"Промяна на частния флаг","Changes could not be saved":"Промените не могат да бъдат запазени","Changes successfully saved":"Промените са успешно записани","Changes to the advanced settings require a restart to take effect.":"Промените в разширените настройки изискват рестартиране, за да влязат в сила.","Checked":"Проверено","Chroma":"Chroma","Cleaning index and cache":"Почистване на индекса и кеша","Cleanup":"Почистване","Clear {0}":"Изчистване на {0}","Client":"Клиент","Client Credentials":"Удостоверения на клиента","Close":"Затвори","Codec":"Кодек","Color":"Цвят","Color Profile":"Цветен профил","Colors":"Цветове","Compare Editions":"Сравняване на изданията","Complete Rescan":"Пълно повторно сканиране","Confidence":"Доверие","Confirm":"Потвърдете","Connect":"Свържете","Connect via WebDAV":"Свързване чрез WebDAV","Connected":"Свържете","Contact Details":"Свържете се с нас","Contact Us":"Свържете се с нас","Contains %{n} pictures.":"Съдържа %{n} картинки.","Contains one picture.":"Съдържа една снимка.","Content":"Съдържание","Continue":"продължи","Continue with %{provider}":"Продължете с %{provider}","Contributor":"Донор","Converting":"Конвертиране на","Copied to clipboard":"Копиране в клипборда","Copy":"копие","Copyright":"Авторски права","Couldn't find anything.":"Не можах да намеря нищо.","Country":"Страна","Create Account":"Създаване на акаунт","Create album":"Създаване на албум","Create regular backups based on the configured schedule.":"Създаване на резервни копия на индекси въз основа на конфигуриран график.","Create YAML files to back up album metadata.":"Създаване на YAML файлове за архивиране на метаданните на албумите.","Create YAML sidecar files to back up picture metadata.":"Създаване на странични файлове YAML за архивиране на метаданните на картината.","Created":"Създаден","Creating thumbnails for":"Създаване на миниатюри за","Cubic: Moderate Quality, Good Performance":"Кубичен: Умерено качество, добра производителност","Current Password":"Текуща парола","Custom":"Потребителски","Cyan":"Cyan","Daily":"Daily","Database Backups":"Резервни копия на бази данни","Day":"Ден","Deactivate":"Деактивирайте","Debug Logs":"Протоколи за отработване","Default":"По подразбиране","Default Folder":"Папка по подразбиране","Delete":"Изтриване на","Delete Album":"Изтриване на албум","Delete All":"Изтриване на всички","Delete all?":"Изтриване на всички?","Delete orphaned index entries, sidecar files and thumbnails.":"Изтриване на осиротели записи в индекса, странични файлове и миниатюри.","Description":"Описание","Detailed instructions can be found in our User Guide.":"Подробни инструкции можете да намерите в нашето ръководство за потребителя.","Details":"Подробности","Dimensions":"Размери","Disable Backups":"Деактивиране на резервните копия","Disable Darktable":"Деактивиране на Darktable","Disable ExifTool":"Деактивиране на ExifTool","Disable features that require write permission for the originals folder.":"Деактивирайте функциите, които изискват разрешение за запис в папката с оригинали.","Disable FFmpeg":"Деактивиране на FFmpeg","Disable ImageMagick":"Деактивиране на ImageMagick","Disable interactive world maps and reverse geocoding.":"Деактивиране на интерактивните карти на света и обратното геокодиране.","Disable Places":"Деактивиране на местата","Disable RawTherapee":"Деактивиране на RawTherapee","Disable TensorFlow":"Деактивиране на TensorFlow","Disable Vectors":"Деактивиране на вектори","Disable WebDAV":"Деактивиране на WebDAV","Disables vector graphics support.":"Деактивира поддръжката на векторни графики.","Disables video transcoding and thumbnail extraction.":"Деактивира транскодирането на видео и извличането на миниатюри.","Discover":"Открийте","Dismiss":"Отхвърляне на","Display Name":"Име на дисплея","Display picture captions in search results.":"Показване на надписи на снимки в резултатите от търсенето.","Display picture titles in search results.":"Показване на заглавия на снимки в резултатите от търсенето.","Document":"Документ","Documents":"Документи","Don't use Darktable to convert RAW images.":"Не използвайте Darktable за конвертиране на RAW изображения.","Don't use ImageMagick to convert images.":"Не използвайте ImageMagick за конвертиране на изображения.","Don't use RawTherapee to convert RAW images.":"Не използвайте RawTherapee за конвертиране на RAW изображения.","Done":"Готово","Done.":"Изпълнено.","Download":"Изтегляне","Download only original media files, without any automatically generated files.":"Изтегляйте само оригинални мултимедийни файлове, без автоматично генерирани файлове.","Download remote files":"Изтегляне на отдалечени файлове","Download single files and zip archives.":"Изтеглете единични файлове и архиви zip.","Downloading…":"Изтегляне…","Downscaling Filter":"Филтър за намаляване на мащаба","Drag and drop files here":"Влачете и пуснете файлове тук","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"Поради големия брой имейли, които получаваме, нашият екип може да не успее да ви отговори веднага.","Duplicates will be skipped and only appear once.":"Дубликатите ще бъдат пропуснати и ще се появят само веднъж.","Duration":"Дарения","Dynamic Previews":"Динамични прегледи","Dynamic Size Limit: %{n}px":"Ограничение на динамичния размер: %{n}px","E-Mail":"Електронна поща","Edit":"Редактиране на","Edit %{s}":"Редактиране на %{s}","Edit Account":"Редактиране на акаунт","Edit Photo":"Редактиране на снимка","Edited":"Редактиран","Email":"Имейл","Enable debug mode to display additional logs and help with troubleshooting.":"Активирайте режима за отстраняване на грешки, за да покажете допълнителни логове и да помогнете при отстраняването на неизправности.","Enable new features that may be incomplete or unstable.":"Разрешаване на нови функции, които може да са непълни или нестабилни.","Enables RAW converter presets. May reduce performance.":"Активира предварителните настройки на конвертора RAW. Може да намали производителността.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Активирането на двуфакторно удостоверяване означава, че ще ви трябва произволно генериран код за потвърждение, за да влезете, така че дори ако някой получи достъп до вашата парола, той няма да може да влезе в акаунта ви.","Enter date":"Въведете датата","Enter dates":"Въведете дати","Enter the code generated by your authenticator app:":"Въведете кода, генериран от приложението за удостоверяване:","Enter verification code":"Въведете код за верификация","Enter your password to confirm the action and continue:":"Въведете паролата си, за да потвърдите действието и продължете:","Error":"Грешка","Errors":"Грешки","Estimate":"Прогноза","Estimate Locations":"Прогнозни местоположения","Estimate the approximate location of pictures without GPS coordinates.":"Оценка на приблизителното местоположение на снимки без GPS координати.","Every two days":"На всеки два дни","Exclude content marked as private from search results, shared albums, labels, and places.":"Изключване на съдържание, маркирано като лично, от резултатите от търсенето, споделените албуми, етикетите и местата.","Exclude hidden":"Изключване на скрити","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"Извличането на метаданни с ExifTool е необходимо за пълна поддръжка на видео, снимки в реално време и XMP.","Experimental Features":"Експериментални функции","Expires":"Срокът на валидност изтича на","Exposure":"Експозиция","Extract still images and generate thumbnails while indexing.":"Извличане на неподвижни изображения и генериране на миниатюри по време на индексирането.","F Number":"Номер F","Face":"Лице","Faces":"Лица","Failed removing link":"Неуспешно премахване на връзката","Failed to connect account.":"Неуспешно свързване на акаунт.","Failed updating link":"Неуспешно актуализиране на връзката","Family Name":"Фамилно име","Fast":"Бърз","Favorite":"Любими","Favorites":"Любими","Feature Request":"Заявка за функция","Feedback":"Обратна връзка","Female":"Жена","File":"Файл","File Browser":"Файлов браузър","File Conversion":"Конвертиране на файлове","File Name":"Файл","File Size":"Файл","Filename":"Файл","Files":"Файлове","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Файлове с последователни имена като 'IMG_1234 (2)' и 'IMG_1234 (3)' принадлежат на една и съща снимка.","First page":"Първа страница","Focal Length":"Фокусно разстояние","Folder":"Папка","Folder contains %{n} files":"Папката съдържа %{n} файлове","Folder is empty":"Папката е празна","Folders":"Папки","Forgot password?":"Забравена парола?","FPS":"Кадър в секунда","Frames":"Рамки","Full Access":"Пълен достъп","Fullscreen":"Пълен екран","General":"Обща информация","Generate":"Генерирай","Generate albums of special moments, journeys, and places.":"Автоматично създава албуми на специални моменти, пътувания и места.","Generate Previews":"Генериране на предварителни изгледи","Generated":"Генериран","Get Started":"Започнете","Given Name":"Оригинално име","Global Options":"Глобални опции","Go to page {0}":"Отидете на страница {0}","Gold":"Злато","Green":"Зелен","Grey":"Сив","Guest":"Гост","Hash":"Hash","Help":"Помощ","Help & Support":"Получаване на подкрепа","Hidden":"Скрит","Hidden Files":"Скрити файлове","Hide":"Скрий","Hide photos that have been moved to archive.":"Скриване на снимки, които са преместени в архива.","High":"Висок","High Dynamic Range (HDR)":"Висок динамичен обхват (HDR)","How can we help?":"Как можем да помогнем?","Hybrid":"Хибрид","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Ако загубите достъп до приложението или устройството си за удостоверяване, можете да използвате своя код за възстановяване, за да си възвърнете достъпа до акаунта си.","Image":"Изображение","Image Quality":"Качество на изображението","Import":"Внос","Import failed":"Импортирането е неуспешно","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Внесените файлове ще бъдат сортирани по дата и ще получат уникално име, за да се избегнат дублирания.","Imported files will be sorted by date and given a unique name.":"Внесените файлове ще бъдат сортирани по дата и ще им бъде дадено уникално име.","Importing %{s}…":"Импортиране на %{s}…","Importing files to originals…":"Импортиране на файлове в оригинали…","in":"в","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"В случай че очакваните от вас снимки липсват, моля сканирайте отново библиотеката си и изчакайте, докато индексирането приключи.","Include RAW image files when downloading stacks and archives.":"Включване на файлове с RAW изображения при изтегляне на стекове и архиви.","Include sidecar files when downloading stacks and archives.":"Включване на странични файлове при изтегляне на стекове и архиви.","Increase storage size or delete files to continue.":"Увеличете размера на паметта или изтрийте файловете, за да продължите.","Index":"Индекс","Index and import files through the user interface.":"Индексирайте и импортирайте файлове чрез потребителския интерфейс.","Indexing":"Индексиране","Indexing failed":"Индексирането е неуспешно","Indexing media and sidecar files…":"Индексиране на мултимедийни и странични файлове…","Information":"Информация","Instance ID":"Идентификатор на инстанцията","Insufficient storage.":"Недостатъчно място за съхранение.","Interval":"Интервал","Invalid":"Невалидна дата","Invalid address":"Невалиден адрес","Invalid country":"Невалидна държава","Invalid date":"Невалидна дата","Invalid parameters":"Невалидна дата","Invalid photo selected":"Избрана е невалидна снимка","Invalid time":"Невалидно време","Invalid URL":"Невалиден URL адрес","It is a one-time use code that will disable 2FA for your account when you use it.":"Това е код за еднократна употреба, който ще деактивира 2FA за вашия акаунт, когато го използвате.","Item":"Артикул","Items per page:":"Елементи на страница:","JPEG Quality: %{n}":"Качество на JPEG: %{n}","JPEG Size Limit: %{n}px":"Ограничение на размера на JPEG: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"JPEG и миниатюрите се визуализират автоматично, когато е необходимо.","Keywords":"Ключови думи","Label":"Етикет","Labels":"Етикети","Labels deleted":"Изтрити етикети","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: Запазване на детайлите, минимални артефакти","Language":"Език","Last Active":"Последен активен","Last Login":"Последно влизане","Last page":"Последна страница","Last Sync":"Синхронизиране","Last Used":"Последно използван","Latitude":"Географска ширина","LDAP/AD":"LDAP/AD","Learn more":"Научете повече","Learn More":"Научете повече","Legal Information":"Правна информация","Lens":"Обектив","Library":"Библиотека","License":"Лиценз","Like":"Като","Lime":"Lime","Limit reached, showing first %{n} files":"Лимитът е достигнат, показваме първите %{n} файлове","Linear: Very Smooth, Best Performance":"Линейни: Много гладка, най-добра производителност","Link":"Връзка","List":"Списък","List View":"Преглед на списъка","Live":"На живо","Live Photos":"Снимки","Load more":"Заредете повече","Loading items...":"Зареждане на елементи...","Loading...":"Зареждане...","Local":"Местни","Local Time":"Местно време","Location":"Местоположение","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Съобщенията в дневника се появяват тук, когато PhotoPrism се натъкне на повредени файлове или има други потенциални проблеми.","Login":"Вход","Logout":"Излизане от системата","Logs":"Дневници","Longitude":"Дължина","Low":"Нисък","Magenta":"Магента","Main Color":"Основен цвят","Male":"Мъжки","Manage Account":"Управление на акаунта","Manager":"Мениджър","Manual":"Ръководство","Manual Upload":"Ръчно качване","Maps":"Карти","Marker":"Маркер","Maximum number of accounts has been reached.":"Максималният брой акаунти е достигнат.","Media":"Медии","Medium":"Среден","Membership":"Членство","Merge %{a} with %{b}?":"Сливане на %{a} с %{b}?","Message":"Съобщение","Message sent":"Изпратено съобщение","Metadata":"Метаданни","Metrics":"Метрика","Minimize":"Минимизиране на","Missing":"Липсващ","Missing or invalid configuration":"Липсваща или невалидна конфигурация","Moments":"Моменти","Monochrome":"Монохромен","Month":"Месец","More options":"Повече опции","Mosaic":"Мозайка","Most Relevant":"Най-подходящи","Move Files":"Преместване на файлове","Must have at least %{n} characters.":"Най-малко 6 символа.","Mute":"Заглушаване на звука","Name":"Име","Name too long":"Прекалено дълго име","Never":"Никога","New":"Нов","New Password":"Нова парола","Newest First":"Най-новият първи","Next":"Следваща","Next page":"Следваща страница","Next visual":"Следваща визуална","No":"Не","No albums found":"Не са намерени албуми","No data available":"Няма налични данни","No labels found":"Не са намерени етикети","No matching records found":"Не са намерени съвпадащи записи","No more":"Не повече","No people found":"Не са намерени хора","No pictures found":"Не са намерени снимки","No recently edited pictures":"Няма наскоро редактирани снимки","No results":"Няма резултати","No server connection":"Няма връзка със сървъра","No servers configured.":"Няма конфигурирани сървъри.","No services configured.":"Няма конфигурирани сървъри.","No thanks":"Не, благодаря","No warnings or error containing this keyword. Note that search is case-sensitive.":"Няма предупреждения или грешки, съдържащи тази ключова дума. Обърнете внимание, че при търсенето се отчитат малки и големи букви.","Non-photographic and low-quality images require a review before they appear in search results.":"Нефотографските изображения и изображенията с ниско качество изискват преглед, преди да се появят в резултатите от търсенето.","None":"Няма","Not allowed":"Не е разрешено","Not found":"Не е намерен","Not sorted.":"Не е сортирано.","Not supported":"Не се поддържа","Note you may manually manage your originals folder and importing is optional.":"Имайте предвид, че можете да управлявате ръчно папката с оригинали, а импортирането не е задължително.","Note:":"Забележка:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Забележка: Само WebDAV сървъри, като Nextcloud или PhotoPrism, могат да бъдат конфигурирани като отдалечена услуга за архивиране и качване на файлове.","Notes":"Бележки","Nothing to see here yet.":"Все още няма нищо за гледане тук. Бъдете търпеливи.","Nothing was found.":"Нищо не беше намерено.","Offline":"Офлайн","OIDC":"OIDC","OK":"ОК","Oldest First":"Най-старият първи","On Windows, enter the following resource in the connection dialog:":"В Windows въведете следния ресурс в диалоговия прозорец за връзка:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"Генерирането на миниатюри при поискване може да доведе до голямо използване на процесора и паметта. Това не се препоръчва за сървъри и NAS устройства с ограничени ресурси.","Once a week":"Веднъж седмично","One album found":"Намерен е един албум","One file found":"Намерен е един файл","One file uploaded":"Качен е един файл","One folder found":"Намерена е една папка","One label found":"Намерен е един етикет","One person found":"Един човек намери","One picture found":"Една намерена снимка","Only locally managed accounts can be set up for authentication with 2FA.":"Само локално управлявани акаунти могат да бъдат настроени за удостоверяване с 2FA.","Open":"Отворете","optional":"по избор","or":"или","Orange":"Orange","Organization":"Ориентация","Orientation":"Ориентация","Original file names will be stored and indexed.":"Оригиналните имена на файловете ще бъдат съхранени и индексирани.","Original Name":"Оригинално име","Originals":"Оригинали","Other":"Други","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Нашата мисия е да предоставим най-удобното за потребителя и поверителността решение за организиране и достъп до вашите снимки.","Outdoor":"На открито","Page {0}, Current page":"Страница {0}, Текуща страница","Pages":"Страници","Pagination Navigation":"Навигация по страници","Panorama":"Панорама","Panoramas":"Панорами","Password":"Парола","Password changed":"Паролата е променена","People":"Хора","People you share a link with will be able to view public contents.":"Хората, с които споделяте връзката, ще могат да виждат публичното съдържание.","Permanently deleted":"Постоянно изтрити","Permanently remove files to free up storage.":"Постоянно премахване на файлове, за да освободите място за съхранение.","Person":"Лице","Personal":"Лични","Photo":"Снимка","PhotoPrism is 100% self-funded and independent.":"PhotoPrism е 100% независима и самофинансираща се компания.","PhotoPrism+ Membership":"Членство в PhotoPrism+","Photos":"Снимки","Picture Title":"Заглавие на снимката","Pink":"Розов","Place":"Място","Place & Time":"Място & Време","Places":"Места","Please confirm your new password.":"Моля, потвърдете новата си парола.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Моля, копирайте следната произволно генерирана парола за приложение и я запазете на сигурно място, тъй като няма да можете да я видите отново:","Please do not upload any private, unlawful or offensive pictures.":"Моля, не качвайте лични, незаконни или обидни снимки.","Please don't upload photos containing offensive content.":"Моля, не качвайте снимки с обидно съдържание.","Please enter OTP character {0}":"Моля, въведете OTP символ {0}","Please note that changing your password will log you out on other devices and browsers.":"Моля, имайте предвид, че промяната на паролата ви ще доведе до излизане от системата на други устройства и браузъри.","Please restart your instance for the changes to take effect.":"Моля, рестартирайте инстанцията си, за да влязат в сила промените.","Please wait…":"Моля, изчакайте…","PM":"PM","PNG Size Limit: %{n}px":"Ограничение на размера на PNG: %{n}px","Portrait":"Портрет","Preserve filenames":"Запазване на имената на файловете","Press enter to create a new album.":"Натиснете Enter, за да създадете нов албум.","Prevent database and album backups as well as YAML sidecar files from being created.":"Предотвратяване на създаването на резервни копия на бази данни и албуми, както и на странични файлове YAML.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Предотвратяване на достъпа на други приложения до PhotoPrism като споделено мрежово устройство.","Preview":"Преглед","Preview Images":"Предварителни изображения","Previous":"Предишна","Previous page":"Предишна страница","Previous visual":"Предишна визуална","Primary":"Първичен","Private":"Частна","Product Feedback":"Отзиви за продукта","Projection":"Прожектиране","Purple":"Лилаво","Quality Filter":"Филтър за качество","Quality Score":"Оценка на качеството","r":"r","Random":"Случаен","Rating {0} of {1}":"Оценка {0} от {1}","Raw":"Суров","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Индексирайте отново всички оригинали, включително вече индексираните и непроменените файлове.","Read-Only Mode":"Режим само за четене","Recently Added":"Наскоро добавени","Recently Archived":"Наскоро архивирани","Recently Edited":"Наскоро редактирани","Recognition starts after indexing has been completed.":"Разпознаването започва след приключване на индексирането.","Recognize faces so people can be assigned and found.":"Разпознава лица, за да може да се открият конкретни хора.","Recognized":"Признат","Recovery Code":"Код за възстановяване","Red":"Червено","Refresh":"Обновяване","Regions":"Региони","Register":"Регистрация","Reload":"Презареждане","Reloading…":"Презареждане…","Remote Sync":"Дистанционна синхронизация","Remove":"Премахване на","remove failed: unknown album":"Премахването е неуспешно: непознат албум","Remove from Album":"Премахване от албума","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Премахване на импортирани файлове, за да се спести място за съхранение. Неподдържаните типове файлове никога не се изтриват, те остават в текущото си местоположение.","Request failed - are you offline?":"Заявката е неуспешна - офлайн сте?","Request failed - invalid response":"Заявката е неуспешна - невалиден отговор","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Изискване за преглед на нефотографски и нискокачествени изображения, преди да се появят в резултатите от търсенето.","Resolution":"Резолюция","Restart":"Рестартиране на","Restore":"Възстановяване на","Restored":"Възстановен","Retry Limit":"Лимит на повторенията","Retype Password":"Повторно въвеждане на паролата","Review":"Преглед на","Role":"Роля","Rows per page:":"Редове на страница:","Satellite":"Сателит","Save":"Запазете","Scan":"Сканиране","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Сканирайте QR кода с вашето приложение за удостоверяване или използвайте ключа за настройка, показан по-долу, и след това въведете генерирания код за потвърждение:","Scans":"Сканиране","Scope":"Обхват","Search":"Търсене","Search and display photos on a map.":"Търсене и показване на снимки на карта.","Season":"Сезон","Secret":"Тайната","Security and Access":"Сигурност и достъп","Select":"Изберете","Select a source folder to import files…":"Изберете папка източник за импортиране на файлове…","Select date":"Изберете дата","Select dates":"Изберете дати","Select or create an album":"Изберете или създайте албум","Select the files to upload…":"Изберете файловете, които да качите…","Select the folder to be indexed…":"Изберете папката, която ще се индексира…","Select Time":"Изберете време","Selection approved":"Одобрена селекция","Selection archived":"Архивирана селекция","Selection restored":"Възстановена селекция","Sequential Name":"Последователно име","Service URL":"URL адрес на услугата","Services":"URL адрес на услугата","Session":"Сесия","Session ID":"Идентификатор на сесията","Sessions":"Сесии","Set as Album Cover":"Задайте като корица на албум","Settings":"Настройки","Settings saved":"Запазени настройки","Setup":"Настройка","Share":"Споделете","Share %{s}":"Споделяне на %{s}","Share your pictures with other apps and services.":"Споделяйте снимките си с други приложения и услуги.","Show":"Покажи","Show all new faces":"Покажи всички нови лица","Show Captions":"Показване на надписи","Show hidden":"Покажи скритите","Show less":"Покажи по-малко","Show more":"Покажи повече","Show server logs in Library.":"Показване на дневниците на сървъра в Библиотеката.","Show Titles":"Показване на заглавия","Sidecar":"Sidecar","Sidecar Files":"Файлове Sideecar","Sign in":"Влезте","Similar":"Подобни","Size":"Размер","Slideshow":"Слайдшоу","Slow":"Бавен","Software":"Софтуер","Software Update":"Актуализация на софтуера","Something went wrong, try again":"Нещо се е объркало, опитайте отново","Sort by":"Сортиране по","Sort Order":"Ред на сортиране","Sorted ascending.":"Подредени във възходящ ред.","Sorted descending.":"Подредени в низходящ ред.","Source":"Източник:","Stack":"Стек","Stack files sharing the same unique image or instance identifier.":"Стекиране на файлове с един и същ уникален идентификатор на изображение или инстанция.","Stack pictures taken at the exact same time and location based on their metadata.":"Подреждайте снимки, направени по едно и също време и на едно и също място, въз основа на техните метаданни.","Stackable":"Подвижен за стифиране","Stacks":"Stacks","Start":"Начало","Start Page":"Начална страница","Static Size Limit: %{n}px":"Ограничение на статичния размер: %{n}px","Status":"Статус","Storage":"Папка за съхранение","Streets":"Улици","Subject":"Тема","Submit":"Подаване на","Successfully activated":"Успешно активиран","Successfully Connected":"Успешно свързване","Successfully deleted":"Успешно изтрит","Successfully verified":"Успешно потвърдено","Super Admin":"Супер администратор","Support for additional services, like Google Drive, will be added over time.":"Поддръжката на допълнителни услуги, като например Google Drive, ще бъде добавена с течение на времето.","Support Our Mission":"Подкрепете нашата мисия","Sync":"Синхронизиране","Sync raw and video files":"Синхронизиране на необработени и видеофайлове","Taken":"Взето","Teal":"Teal","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow е необходим за класификация на изображения, разпознаване на лица и откриване на опасно съдържание.","Terrain":"Терен","Text":"Текст","Text too long":"Твърде дълъг текст","Thank You for Your Support!":"Благодарим ви за подкрепата!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Ето защо PhotoPrism е създадена от самото начало, за да работи навсякъде, където ви е необходима, без да прави компромиси със свободата, поверителността или функционалността.","The index currently contains %{n} hidden files.":"Индексът в момента съдържа %{n} скрити файлове.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Възможно е техният формат да не се поддържа, да не са били конвертирани в JPEG или да има дубликати.","Theme":"Тема","This field is required":"Това поле е задължително","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Това монтира папката с оригинали като мрежово устройство и ви позволява да отваряте, редактирате и изтривате файлове от компютъра или смартфона си, сякаш са локални.","Time UTC":"Време UTC","Time Zone":"Часова зона","Timeout":"Часова зона","Title":{"Account":"Заглавие","Photo":"Заглавие","":"Заглавие"},"Title / Position":"Твърде дълго заглавие","Title too long":"Твърде дълго заглавие","to":"към","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"За да избегнете изключване на вашия акаунт, моля, изтеглете, отпечатайте или копирайте този код за възстановяване сега и го запазете на сигурно място.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"За да генерирате нова парола за конкретно приложение, моля, въведете името и обхвата на разрешението на приложението и изберете дата на изтичане:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"За да превключите към ново приложение или устройство за удостоверяване, първо деактивирайте двуфакторното удостоверяване и след това го активирайте отново:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"За да надстроите, можете да въведете код за активиране или да кликнете върху \"Регистрация\", за да се регистрирате на нашия уебсайт:","Today":"Днес","Toggle View":"Превключване на изгледа","Token":"Токен","Too many files selected":"Избрани са твърде много файлове","Too many requests":"Твърде много заявки","Troubleshooting":"Отстраняване на неизправности","Try again using other filters or keywords.":"Опитайте отново, като използвате други филтри или ключови думи.","Two-factor authentication has been enabled for your account.":"Двуфакторното удостоверяване е активирано за вашия акаунт.","Type":"Тип","Unable to delete":"Невъзможно е да се изтрие","Unauthorized":"Неоторизиран","Undo":"Отмяна на","Unique ID":"Уникален идентификатор","Unknown":"Неизвестно","Unregistered":"Нерегистриран","Unsorted":"Несортиран","Unstack":"Разглобяване на стека","Updated":"Актуализиран","Updating faces":"Актуализиране на лица","Updating index":"Актуализиране на индекса","Updating moments":"Актуализиране на моменти","Updating picture…":"Актуализиране на визуализациите","Updating previews":"Актуализиране на визуализациите","Updating stacks":"Актуализиране на стекове","Upgrade":"Надграждане","Upgrade Now":"Актуализирайте сега","Upload":"Качване на","Upload complete":"Качване на данни","Upload complete. Indexing…":"Качването е завършено. Индексиране…","Upload failed":"Качването е неуспешно","Upload local files":"Качване на локални файлове","Upload Path":"Път за качване","Upload to WebDAV and share links with friends.":"Качвайте в WebDAV и споделяйте връзки с приятели.","Uploading %{n} of %{t}…":"Качване на %{n} от %{t}…","Uploading photos…":"Качване на снимки…","Uploading…":"Презареждане…","Uploads that may contain such images will be rejected automatically.":"Качванията, които могат да съдържат такива изображения, ще бъдат отхвърлени автоматично.","Use Presets":"Използване на предварителни настройки","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Използвайте следния код за възстановяване за достъп до акаунта си, когато не можете да генерирате валиден код за потвърждение с вашето приложение за удостоверяване:","Use your recovery code or contact an administrator for help.":"Използвайте кода си за възстановяване или се свържете с администратор за помощ.","User":"Потребител","User Guide":"Ръководство за потребителя","User Interface":"Потребителски интерфейс","Username":"Потребителско име","Users":"Потребители","Vector":"Вектор","Vectors":"Вектори","Verification Code":"Код за потвърждение","Video":"Видео","Video Duration":"Дарения","Videos":"Видеоклипове","View":"Вижте","View search results as a list.":"Преглед на резултатите от търсенето като списък.","Viewer":"Viewer","Visitor":"Посетител","Visual Similarity":"Групиране по сходство","Warning":"Предупреждение","We appreciate your feedback!":"Оценяваме обратната ви връзка!","We do our best to respond within five business days or less.":"Стараем се да отговаряме в рамките на пет работни дни или по-малко.","Web Login":"Уеб вход","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"Клиентите на WebDAV могат да се свържат с PhotoPrism, като използват следния URL адрес:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"WebDAV клиенти, като Windows Explorer на Microsoft или Finder на Apple, могат да се свързват директно с PhotoPrism.","WebDAV Upload":"Качване на WebDAV","WebGL support is disabled in your browser":"Поддръжката на WebGL е деактивирана в браузъра ви","Website":"Уебсайт","White":"Бял","Work Details":"Подробности","Year":"Година","Yellow":"Жълт","Yes":"Да","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Можете да се свържете с нас на membership@photoprism.app за въпроси, свързани с членството ви.","You can only download one album":"Можете да изтеглите само един албум","You can only download one label":"Можете да изтеглите само един етикет","You can search for a location or move the marker on the map to change the position:":"Можете да търсите местоположение или да преместите маркера на картата, за да промените позицията:","You can upload up to %{n} files for test purposes.":"Можете да качвате до %{n} файлове за тестови цели.","You may only select one item":"Можете да изберете само един елемент.","You may rescan your library to find additional faces.":"Можете да сканирате отново библиотеката си, за да намерите допълнителни лица.","Your account has been successfully connected.":"Вашият акаунт е успешно свързан.","Your browser does not support WebGL":"Вашият браузър не поддържа WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Вашата постоянна подкрепа ни помага да предоставяме редовни актуализации и услуги като световни карти.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Библиотеката ви се анализира непрекъснато, за да се създават автоматично албуми със специални моменти, пътувания и места.","Zoom in/out":"Увеличаване/намаляване на мащаба"}} \ No newline at end of file diff --git a/frontend/src/locales/json/ca.json b/frontend/src/locales/json/ca.json index bf31385eb..c3a683ca2 100644 --- a/frontend/src/locales/json/ca.json +++ b/frontend/src/locales/json/ca.json @@ -1 +1 @@ -{"ca":{"{0} appended action":"{0} acció afegida","{0} files":"{0} fitxers","{0} files ({1} in total)":"{0} fitxers ({1} en total)","{0} more":"{0} més","{0} prepended action":"{0} acció anteposada","{0} selected":"{0} seleccionats","{0}-{1} of {2}":"{0}-{1} de {2}","%{n} albums found":"%{n} àlbums trobats","%{n} files uploaded":"%{n} arxius penjats","%{n} folders found":"%{n} carpetes trobades","%{n} GB of %{q} GB used":"%{n} GB de %{q} GB utilitzats","%{n} labels found":"%{n} etiquetes trobades","%{n} people found":"%{n} persones trobades","%{n} pictures found":"S'han trobat %{n} imatges","%{s} is too long":"%{s} és massa llarg","%{s} is too short":"%{s} és massa curt","1 hour":"1 hora","12 hours":"12 hores","2-Factor Authentication":"Autenticació de 2 factors","2FA":"2FA","4 hours":"4 hores","A click will copy it to your clipboard.":"Un clic ho copiarà al porta-retalls.","A new version of %{s} is available:":"Hi ha disponible una versió nova de %{s}:","About":"Quant a","Access Token":"Fitxa d'accés","Account":"Compte","Account created":"Compte creat","Account deleted":"Compte suprimit","Account restored":"S'ha restaurat el compte","Accounts":"Comptes","Accuracy":"Precisió","Action":"Acció","Actions":"Accions","Activate":"Activar","Activate to remove sorting.":"Activa per eliminar l'ordenació.","Activate to sort ascending.":"Activa per ordenar ascendent.","Activate to sort descending.":"Activa per ordenar descendent.","Activation Code":"Codi d'activació","Add":"Afegeix","Add %{s}?":"Afegiu %{s}?","Add Account":"Afegeix un compte","Add Album":"Afegeix un àlbum","Add files to your library via Web Upload.":"Afegiu fitxers a la vostra biblioteca mitjançant la càrrega web.","Add Link":"Afegeix un enllaç","Add person?":"Vols afegir una persona?","Add pictures from search results by selecting them.":"Afegiu imatges dels resultats de la cerca seleccionant-les.","Add to album":"Afegeix a l'àlbum","Added":"Afegit","Admin":"Admin","Advanced":"Avançat","After 1 day":"Després d'1 dia","After 3 days":"Després de 3 dies","After 7 days":"Després de 7 dies","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Després d'introduir la contrasenya per a la confirmació, podeu configurar l'autenticació de dos factors amb una aplicació o dispositiu d'autenticació compatible:","After one month":"Després d'un mes","After one year":"Després d'un any","After selecting pictures from search results, you can add them to an album using the context menu.":"Després de seleccionar imatges dels resultats de la cerca, podeu afegir-les a un àlbum mitjançant el menú contextual.","After two months":"Després de dos mesos","After two weeks":"Després de dues setmanes","Album":"Àlbum","Album Backups":"Còpies de seguretat d'àlbums","Album created":"Àlbum creat","Albums":"Àlbums","Albums deleted":"Àlbums suprimits","All":"Tots","All %{n} albums loaded":"S'han carregat els %{n} àlbums","All %{n} labels loaded":"S'han carregat totes les %{n} etiquetes","All %{n} people loaded":"S'han carregat les totes les persones (%{n})","All Cameras":"Totes les càmeres","All Categories":"Totes les Categories","All Colors":"Tots els colors","All Countries":"Tots els Països","All fields are required":"Tots els camps són obligatoris","All files from import folder":"Tots els fitxers de la carpeta d'importació","All Lenses":"Totes les lents","All Months":"Tots els mesos","All originals":"Tots els originals","All Years":"Tots els anys","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Alternativament, podeu carregar fitxers directament als servidors WebDAV com Nextcloud.","Altitude":"Altitud","Altitude (m)":"Altitud (m)","AM":"AM","Animated":"Animat","Animation":"Animació","Any private photos and videos remain private and won't be shared.":"Les fotos i els vídeos privats romanen privats i no es compartiran.","API Key":"Clau API","Application":"Aplicació","Apply":"Aplicar","Approve":"Aprovar","Apps and Devices":"Aplicacions i dispositius","Archive":"Arxiu","Archived":"Arxivat","Are you sure you want to archive the selection?":"Esteu segur que voleu arxivar la selecció?","Are you sure you want to delete these albums?":"Confirmes que vols suprimir aquests àlbums?","Are you sure you want to delete these labels?":"Esteu segur que voleu suprimir aquestes etiquetes?","Are you sure you want to delete this account?":"Esteu segur que voleu suprimir aquest compte?","Are you sure you want to permanently delete these pictures?":"Esteu segur que voleu suprimir permanentment aquestes imatges?","Are you sure you want to permanently delete this file?":"Esteu segur que voleu suprimir permanentment aquest fitxer?","Are you sure?":"N'esteu segur?","Artist":"Artista","Aspect Ratio":"Relació d'aspecte","Audio":"Àudio","Authentication":"Autenticació","Auto":"Automàtic","Back":"esquena","Back to top":"Tornar a dalt","Backup":"Còpia de seguretat","Badge":"Insígnia","Base Path":"Camí base","Become a member today, support our mission and enjoy our member benefits!":"Fes-te soci avui, dóna suport a la nostra missió i gaudeix dels nostres avantatges per a membres!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"En ser 100% sautofinançats i independents, us podem prometre que mai vendrem les vostres dades i que sempre serem transparents sobre el nostre programari i serveis.","Bio":"bio","Birth Date":"Data de naixement","Black":"Negre","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: modificació de Lanczos, artefactes menys sonors","Blue":"Blau","Brown":"Marró","Browse":"Navega","Browse and edit image classification labels.":"Exploreu i editeu les etiquetes de classificació d'imatges.","Browse and share your pictures organized into monthly albums.":"Navega i comparteix les teves imatges organitzades en àlbums mensuals.","Browse Files":"Examinar fitxers","Browse indexed files and folders in Library.":"Exploreu fitxers i carpetes indexats a la biblioteca.","Bug Report":"Informe d'error","Busy, please wait…":"Ocupat, si us plau, espera...","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"En utilitzar el programari i els serveis que oferim, accepteu les nostres condicions de servei, política de privadesa i codi de conducta.","Calendar":"Calendari","Camera":"Càmera","Camera Serial":"Càmera en sèrie","Can't access your authenticator app or device?":"No podeu accedir a la vostra aplicació o dispositiu d'autenticació?","Can't load more, limit reached":"No es pot carregar més, s'ha arribat al límit","Can't select more items":"No es poden seleccionar més elements","Cancel":"Cancel·lar","Caption":"Subtítol","Cards":"Targetes","Carousel slide {0} of {1}":"Diapositiva del carrusel {0} de {1}","Category":"Categoria","Change Avatar":"Canviar Avatar","Change Password":"Canviar contrasenya","Change personal profile and security settings.":"Canvia el perfil personal i la configuració de seguretat.","Change photo titles, locations, and other metadata.":"Canvia els títols de les fotos, les ubicacions i altres metadades.","Change private flag":"Canvia la bandera privada","Changes could not be saved":"No s'han pogut desar els canvis","Changes successfully saved":"Els canvis s'han desat correctament","Changes to the advanced settings require a restart to take effect.":"Els canvis a la configuració avançada requereixen un reinici perquè tinguin efecte.","Checked":"Seleccionat","Chroma":"Croma","Cleaning index and cache":"Neteja d'índex i memòria cau","Cleanup":"Netejar","Clear {0}":"Esborra {0}","Client":"Client","Client Credentials":"Credencials del client","Close":"Tancar","Codec":"Còdec","Color":"Color","Color Profile":"Perfil de color","Colors":"Colors","Compare Editions":"Compara Edicions","Complete Rescan":"Rescaneig complet","Confidence":"Confiança","Confirm":"Confirmeu","Connect":"Connecta","Connect via WebDAV":"Connecteu-vos mitjançant WebDAV","Connected":"Connectat","Contact Details":"Dades de contacte","Contact Us":"Contacta'ns","Contains %{n} pictures.":"Conté %{n} imatges.","Contains one picture.":"Conté una imatge.","Content":"Contingut","Continue":"Continua","Continue with %{provider}":"Continua amb %{provider}","Contributor":"Col·laborador","Converting":"Convertint","Copied to clipboard":"S'ha copiat al porta-retalls","Copy":"Còpia","Copyright":"Copyright","Couldn't find anything.":"No he pogut trobar res.","Country":"País","Create Account":"Crear compte","Create album":"Crea un àlbum","Create regular backups based on the configured schedule.":"Creeu còpies de seguretat d'índex en funció de la programació configurada.","Create YAML files to back up album metadata.":"Creeu fitxers YAML per fer una còpia de seguretat de les metadades de l'àlbum.","Create YAML sidecar files to back up picture metadata.":"Creeu fitxers sidecar YAML per fer una còpia de seguretat de les metadades d'imatge.","Created":"Creat","Creating thumbnails for":"Creació de miniatures per a","Cubic: Moderate Quality, Good Performance":"Cúbic: qualitat moderada, bon rendiment","Current Password":"Contrasenya actual","Custom":"Personalitzat","Cyan":"Cian","Daily":"Diari","Database Backups":"Còpies de seguretat de bases de dades","Day":"Dia","Deactivate":"Desactivar","Debug Logs":"Registres de depuració","Default":"Per defecte","Default Folder":"Carpeta per defecte","Delete":"Esborrar","Delete All":"Eliminar tots","Delete all?":"Vols suprimir-ho tot?","Delete orphaned index entries, sidecar files and thumbnails.":"Suprimeix les entrades d'índex orfes, els fitxers de sidecar i les miniatures.","Description":"Descripció","Detailed instructions can be found in our User Guide.":"Podeu trobar instruccions detallades a la nostra Guia d'usuari.","Details":"Detalls","Dimensions":"Dimensions","Disable Backups":"Desactiva les còpies de seguretat","Disable Darktable":"Desactiva Darktable","Disable ExifTool":"Desactiveu ExifTool","Disable features that require write permission for the originals folder.":"Desactiveu les funcions que requereixen permís d'escriptura per a la carpeta d'originals.","Disable FFmpeg":"Desactiva FFmpeg","Disable ImageMagick":"Desactiveu ImageMagick","Disable interactive world maps and reverse geocoding.":"Desactiva els mapes del món interactius i la geocodificació inversa.","Disable Places":"Desactiva Places","Disable RawTherapee":"Desactiveu RawTherapee","Disable TensorFlow":"Desactiva TensorFlow","Disable Vectors":"Desactiva Vectors","Disable WebDAV":"Desactiva WebDAV","Disables vector graphics support.":"Desactiva el suport de gràfics vectorials.","Disables video transcoding and thumbnail extraction.":"Desactiva la transcodificació de vídeo i l'extracció de miniatures.","Discover":"Descobreix","Dismiss":"Descartar","Display Name":"Nom a mostrar","Display picture captions in search results.":"Mostra subtítols d'imatge als resultats de la cerca.","Display picture titles in search results.":"Mostra els títols de les imatges als resultats de la cerca.","Document":"Document","Documents":"Documents","Don't use Darktable to convert RAW images.":"No utilitzeu Darktable per convertir fitxers RAW.","Don't use ImageMagick to convert images.":"No utilitzeu ImageMagick per convertir imatges.","Don't use RawTherapee to convert RAW images.":"No utilitzeu RawTherapee per convertir fitxers RAW.","Done":"Fet","Done.":"Fet.","Download":"Descàrrega","Download only original media files, without any automatically generated files.":"Baixeu només fitxers multimèdia originals, sense cap fitxer generat automàticament.","Download remote files":"Descarrega fitxers remots","Download single files and zip archives.":"Baixeu fitxers únics i arxius zip.","Downloading…":"S'està baixant…","Downscaling Filter":"Filtre de reducció d'escala","Drag and drop files here":"Arrossegueu i deixeu anar els fitxers aquí","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"A causa de l'elevat volum de correus electrònics que rebem, és possible que el nostre equip no us pugui respondre immediatament.","Duplicates will be skipped and only appear once.":"Els duplicats es saltaran i només apareixeran una vegada.","Duration":"Duració","Dynamic Previews":"Previsualitzacions dinàmiques","Dynamic Size Limit: %{n}px":"Límit de mida dinàmica: %{n}px","E-Mail":"Correu electrònic","Edit":"Edita","Edit %{s}":"Edita %{s}","Edit Account":"Editar Compte","Edit Photo":"Edita la foto","Edited":"Editat","Email":"Correu electrònic","Enable debug mode to display additional logs and help with troubleshooting.":"Activeu el mode de depuració per mostrar registres addicionals i ajudar-vos amb la resolució de problemes.","Enable new features that may be incomplete or unstable.":"Activa les noves funcions que poden ser incompletes o inestables.","Enables RAW converter presets. May reduce performance.":"Habilita els valors predefinits del convertidor RAW. Pot reduir el rendiment.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Habilitar l'autenticació de dos factors significa que necessitareu un codi de verificació generat aleatòriament per iniciar sessió, de manera que fins i tot si algú accedeix a la vostra contrasenya, no podrà accedir al vostre compte.","Enter date":"Introduïu la data","Enter dates":"Introduïu dates","Enter the code generated by your authenticator app:":"Introduïu el codi generat per la vostra aplicació d'autenticació:","Enter verification code":"Introduïu el codi de verificació","Enter your password to confirm the action and continue:":"Introduïu la vostra contrasenya per confirmar l'acció i continueu:","Error":"Error","Errors":"Errors","Estimate":"Estimació","Estimate Locations":"Estimar Ubicacions","Estimate the approximate location of pictures without GPS coordinates.":"Estimar la ubicació aproximada de les imatges sense coordenades GPS.","Every two days":"Cada dos dies","Exclude content marked as private from search results, shared albums, labels, and places.":"Exclou el contingut marcat com a privat dels resultats de la cerca, dels àlbums compartits, de les etiquetes i dels llocs.","Exclude hidden":"Exclou ocult","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"L'extracció de metadades amb ExifTool és necessària per a un suport complet de vídeo, Live Photo i XMP.","Experimental Features":"Característiques experimentals","Expires":"Caduca","Exposure":"Exposició","Extract still images and generate thumbnails while indexing.":"Extraieu imatges fixes i genereu miniatures mentre indexeu.","F Number":"Número F","Face":"Cara","Faces":"Cares","Failed removing link":"No s'ha pogut eliminar l'enllaç","Failed to connect account.":"No s'ha pogut connectar el compte.","Failed updating link":"No s'ha pogut actualitzar l'enllaç","Family Name":"Nom de familia","Fast":"Ràpida","Favorite":"Favorit","Favorites":"Favorits","Feature Request":"Sol·licitud de funció","Feedback":"Opinions","Female":"Femení","File":"Fitxer","File Browser":"Navegador de fitxers","File Conversion":"Conversió de fitxers","File Name":"Nom de fitxer","File Size":"Tamany arxiu","Filename":"Nom del fitxer","Files":"Arxius","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Els fitxers amb noms seqüencials com \"IMG_1234 (2)\" i \"IMG_1234 (3)\" pertanyen a la mateixa imatge.","First page":"Primera pàgina","Focal Length":"Longitud focal","Folder":"Carpeta","Folder contains %{n} files":"La carpeta conté %{n} fitxers","Folder is empty":"La carpeta està buida","Folders":"Carpetes","Forgot password?":"Has oblidat la contrasenya?","FPS":"FPS","Frames":"Marcs","Full Access":"Accés complet","Fullscreen":"Pantalla completa","General":"General","Generate":"Generar","Generate albums of special moments, journeys, and places.":"Crea automàticament àlbums de moments, viatges i llocs especials.","Generate Previews":"Genera visualitzacions prèvies","Generated":"Generat","Get Started":"Comença","Given Name":"Nom de pila","Global Options":"Opcions globals","Go to page {0}":"Vés a la pàgina {0}","Gold":"Or","Green":"Verd","Grey":"Gris","Guest":"Convidat","Hash":"Hash","Help":"Ajuda","Help & Support":"Ajuda & Suport","Hidden":"Ocult","Hidden Files":"Fitxers ocults","Hide":"Amagar","Hide photos that have been moved to archive.":"Amaga les fotos que s'han mogut a l'arxiu.","High":"Alt","High Dynamic Range (HDR)":"Alt rang dinàmic (HDR)","How can we help?":"Com podem ajudar?","Hybrid":"Híbrid","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Si perdeu l'accés a l'aplicació o al dispositiu d'autenticació, podeu utilitzar el codi de recuperació per recuperar l'accés al vostre compte.","Image":"Imatge","Image Quality":"Qualitat d'imatge","Import":"Importa","Import failed":"La importació ha fallat","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Els fitxers importats s'ordenaran per data i se'ls donarà un nom únic per evitar duplicats.","Imported files will be sorted by date and given a unique name.":"Els fitxers importats s'ordenaran per data i se'ls donarà un nom únic.","Importing %{s}…":"S'està important %{s}...","Importing files to originals…":"S'estan important fitxers als originals...","in":"polçades","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"En cas que faltin imatges que espereu, torneu a escanejar la vostra biblioteca i espereu fins que s'hagi completat la indexació.","Include RAW image files when downloading stacks and archives.":"Incloeu fitxers d'imatge RAW quan baixeu piles i arxius.","Include sidecar files when downloading stacks and archives.":"Incloeu fitxers sidecar quan baixeu piles i arxius.","Increase storage size or delete files to continue.":"Augmenta la mida d'emmagatzematge o suprimeix fitxers per continuar.","Index":"Índex","Index and import files through the user interface.":"Indexar i importar fitxers mitjançant la interfície d'usuari.","Indexing":"S'està indexant","Indexing failed":"S'ha produït un error en la indexació","Indexing media and sidecar files…":"S'estan indexant fitxers multimèdia i sidecar...","Information":"Informació","Instance ID":"ID de la instància","Insufficient storage.":"Emmagatzematge insuficient.","Interval":"Interval","Invalid":"Adreça de correu no vàlida","Invalid address":"Adreça no vàlida","Invalid country":"País no vàlid","Invalid date":"Data no vàlida","Invalid parameters":"Paràmetres no és vàlida","Invalid photo selected":"S'ha seleccionat una foto no vàlida","Invalid time":"Hora no vàlida","Invalid URL":"URL no vàlid","It is a one-time use code that will disable 2FA for your account when you use it.":"És un codi d'ús únic que desactivarà 2FA per al vostre compte quan l'utilitzeu.","Item":"Element","Items per page:":"Elements per pàgina:","JPEG Quality: %{n}":"Qualitat JPEG: %{n}","JPEG Size Limit: %{n}px":"Límit de mida JPEG: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"Els JPEG i les miniatures es representen automàticament segons sigui necessari.","Keywords":"Paraules clau","Label":"Etiqueta","Labels":"Etiquetes","Labels deleted":"S'han suprimit les etiquetes","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: Preservació de detalls, artefactes mínims","Language":"Idioma","Last Active":"Últim actiu","Last Login":"Últim inici de sessió","Last page":"Última pàgina","Last Sync":"Última sincronització","Last Used":"Últim utilitzat","Latitude":"Latitud","LDAP/AD":"LDAP/AD","Learn more":"Saber-ne més","Learn More":"Saber-ne més","Legal Information":"Informació legal","Lens":"Lent","Library":"Biblioteca","License":"Llicència","Like":"M'agrada","Lime":"Llima","Limit reached, showing first %{n} files":"S'ha assolit el límit, mostrant els primers %{n} fitxers","Linear: Very Smooth, Best Performance":"Lineal: molt suau, millor rendiment","Link":"Enllaç","List":"Llista","List View":"Vista de llista","Live":"En viu","Live Photos":"Fotos en directe","Load more":"Carregueu més","Loading items...":"S'estan carregant elements...","Loading...":"Carregant...","Local":"Local","Local Time":"Hora local","Location":"Ubicació","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Els missatges de registre apareixen aquí sempre que PhotoPrism troba fitxers trencats o hi ha altres problemes potencials.","Login":"Iniciar sessió","Logout":"Tancar sessió","Logs":"Logs","Longitude":"Longitut","Low":"Baix","Magenta":"Magenta","Main Color":"Color principal","Male":"Home","Manage Account":"Gestiona el compte","Manual":"Manual","Manual Upload":"Pujada manual","Maps":"Mapes","Marker":"Marcador","Maximum number of accounts has been reached.":"S'ha assolit el nombre màxim de comptes.","Media":"Mitjans de comunicació","Medium":"Mitja","Membership":"Pertinença","Merge %{a} with %{b}?":"Combinar %{a} amb %{b}?","Message":"Missatge","Message sent":"Missatge enviat","Metadata":"Metadades","Metrics":"Mètriques","Minimize":"Minimitza","Missing":"Falta la pàgina d'enviament","Missing or invalid configuration":"Falta la configuració o no és vàlida","Moments":"Moments","Monochrome":"Monocrom","Month":"Mes","More options":"Més opcions","Mosaic":"Mosaic","Most Relevant":"El més rellevant","Move Files":"Mou arxius","Must have at least %{n} characters.":"Ha de tenir almenys %{n} caràcters.","Mute":"Silenciar","Name":"Nom","Name too long":"Nom massa llarg","Never":"Mai","New":"Nou","New Password":"Nova contrasenya","Newest First":"El més nou primer","Next":"A continuació","Next page":"Pàgina següent","Next visual":"Següent visual","No":"No","No albums found":"No s'han trobat àlbums","No data available":"No hi ha dades disponibles","No labels found":"No s'han trobat etiquetes","No matching records found":"No s'han trobat registres coincidents","No more":"No més","No people found":"No s'han trobat persones","No pictures found":"No s'han trobat imatges","No recently edited pictures":"No hi ha imatges editades recentment","No server connection":"No hi ha connexió amb el servidor","No servers configured.":"No s'ha configurat cap servidor.","No services configured.":"No s'ha configurat cap servei.","No thanks":"No gràcies","No warnings or error containing this keyword. Note that search is case-sensitive.":"No hi ha cap advertiment ni error que contingui aquesta paraula clau. Tingueu en compte que la cerca distingeix entre majúscules i minúscules.","Non-photographic and low-quality images require a review before they appear in search results.":"Les imatges no fotogràfiques i de baixa qualitat requereixen una revisió abans que apareguin als resultats de la cerca.","None":"Cap","Not allowed":"No es permet","Not found":"No trobat","Not sorted.":"No ordenat.","Not supported":"No s'admet","Note you may manually manage your originals folder and importing is optional.":"Tingueu en compte que podeu gestionar manualment la vostra carpeta d'originals i la importació és opcional.","Note:":"Nota:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Nota: només els servidors WebDAV, com Nextcloud o PhotoPrism, es poden configurar com a servei remot per a la còpia de seguretat i la càrrega de fitxers.","Notes":"Notes","Nothing to see here yet.":"Encara no hi ha res a veure aquí.","Nothing was found.":"No es va trobar res.","Offline":"Offline","OIDC":"OIDC","OK":"D'acord","Oldest First":"El més vell primer","On Windows, enter the following resource in the connection dialog:":"A Windows, introduïu el recurs següent al diàleg de connexió:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"La generació de miniatures sota demanda pot provocar un ús elevat de la CPU i la memòria. No es recomana per a servidors i dispositius NAS amb recursos limitats.","Once a week":"Una vegada per setmana","One album found":"S'ha trobat un àlbum","One file found":"S'ha trobat un fitxer","One file uploaded":"S'ha penjat un fitxer","One folder found":"S'ha trobat una carpeta","One label found":"S'ha trobat una etiqueta","One person found":"S'ha trobat una persona","One picture found":"S'ha trobat una imatge","Only locally managed accounts can be set up for authentication with 2FA.":"Només els comptes gestionats localment es poden configurar per a l'autenticació amb 2FA.","Open":"Obert","optional":"opcional","or":"o","Orange":"Taronja","Organization":"Organització","Orientation":"Orientació","Original file names will be stored and indexed.":"Els noms dels fitxers originals s'emmagatzemaran i s'indexaran.","Original Name":"Nom original","Originals":"Originals","Other":"Altres","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"La nostra missió és proporcionar la solució més fàcil d'utilitzar i de privadesa per mantenir les vostres imatges organitzades i accessibles.","Outdoor":"A l'aire lliure","Page {0}, Current page":"Pàgina {0}, pàgina actual","Pages":"Pàgines","Pagination Navigation":"Navegació de paginació","Panorama":"Panorama","Panoramas":"Panoràmiques","Password":"Contrasenya","Password changed":"S’ha canviat la contrasenya","People":"Gent","People you share a link with will be able to view public contents.":"Les persones amb qui comparteixis un enllaç podran veure contingut públic.","Permanently deleted":"Esborrat permanentment","Permanently remove files to free up storage.":"Suprimeix els fitxers permanentment per alliberar emmagatzematge.","Person":"Persona","Personal":"Personal","Photo":"Foto","PhotoPrism is 100% self-funded and independent.":"PhotoPrism és 100% autofinançat i independent.","PhotoPrism+ Membership":"Membre de PhotoPrism+","Photos":"Fotos","Picture Title":"Títol de la imatge","Pink":"Rosa","Place":"Lloc","Place & Time":"Lloc i hora","Places":"Llocs","Please confirm your new password.":"Si us plau, confirmeu la vostra nova contrasenya.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Copieu la següent contrasenya de l'aplicació generada aleatòriament i guardeu-la en un lloc segur, ja que no la podreu tornar a veure:","Please do not upload any private, unlawful or offensive pictures.":"Si us plau, no carregueu cap imatge privada, il·legal o ofensiva.","Please don't upload photos containing offensive content.":"Si us plau, no carregueu fotos que continguin contingut ofensiu.","Please enter OTP character {0}":"Introduïu el caràcter OTP {0}","Please note that changing your password will log you out on other devices and browsers.":"Tingueu en compte que si canvieu la contrasenya, tanqueu la sessió en altres dispositius i navegadors.","Please restart your instance for the changes to take effect.":"Si us plau, reinicieu la vostra instància perquè els canvis tinguin efecte.","Please wait…":"Si us plau, espereu…","PM":"PM","PNG Size Limit: %{n}px":"Límit de mida del PNG: %{n}px","Portrait":"Retrat","Preserve filenames":"Conserva els noms de fitxers","Press enter to create a new album.":"Premeu Intro per crear un àlbum nou.","Prevent database and album backups as well as YAML sidecar files from being created.":"Eviteu que es creïn còpies de seguretat de bases de dades i àlbums, així com fitxers sidecar YAML.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Eviteu que altres aplicacions accedeixin a PhotoPrism com a unitat de xarxa compartida.","Preview":"Previsualitza","Preview Images":"Vista prèvia d'imatges","Previous":"Anterior","Previous page":"Pàgina anterior","Previous visual":"Visual anterior","Primary":"Primari","Private":"Privada","Product Feedback":"Comentaris del producte","Projection":"Projecció","Purple":"Lila","Quality Filter":"Filtre de qualitat","Quality Score":"Nivell de qualitat","r":"r","Random":"Aleatori","Rating {0} of {1}":"Valoració {0} de {1}","Raw":"Crua","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Torneu a indexar tots els originals, inclosos els fitxers ja indexats i sense canvis.","Read-Only Mode":"Mode de només lectura","Recently Added":"Recentment afegit","Recently Archived":"Arxivat recentment","Recently Edited":"Editat recentment","Recognition starts after indexing has been completed.":"El reconeixement comença un cop finalitzada la indexació.","Recognize faces so people can be assigned and found.":"Reconeix cares perquè es puguin trobar persones concretes.","Recognized":"Reconegut","Recovery Code":"Codi de recuperació","Red":"Vermell","Refresh":"Actualitzar","Regions":"Regions","Register":"Registra't","Reload":"Recarrega","Reloading…":"S'està tornant a carregar…","Remote Sync":"Sincronització remota","Remove":"Elimina","remove failed: unknown album":"ha fallat l'eliminació: àlbum desconegut","Remove from Album":"Elimina de l'àlbum","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Elimina els fitxers importats per estalviar emmagatzematge. Els tipus de fitxers no compatibles no se suprimiran mai, es mantenen a la seva ubicació actual.","Request failed - are you offline?":"La sol·licitud ha fallat; estàs fora de línia?","Request failed - invalid response":"La sol·licitud ha fallat: resposta no vàlida","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Exigir que es revisin imatges no fotogràfiques i de baixa qualitat abans que apareguin als resultats de la cerca.","Resolution":"Resolució","Restart":"Reinicia","Restore":"Restaura","Restored":"Restaurat","Retry Limit":"Límit de torna a intentar","Retype Password":"Torneu a escriure la contrasenya","Review":"Valoració","Role":"Rol","Rows per page:":"Files per pàgina:","Satellite":"Satèl·lit","Save":"Desar","Scan":"Escaneig","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Escanegeu el codi QR amb la vostra aplicació d'autenticació o utilitzeu la clau de configuració que es mostra a continuació i, a continuació, introduïu el codi de verificació generat:","Scans":"Escaneigs","Scope":"Àmbit","Search":"Cercar","Search and display photos on a map.":"Cerca i mostra fotos en un mapa.","Season":"Estació","Secret":"Secret","Security and Access":"Seguretat i Accés","Select":"Selecciona","Select a source folder to import files…":"Seleccioneu una carpeta d'origen per importar fitxers…","Select date":"Seleccioneu la data","Select dates":"Seleccioneu dates","Select or create an album":"Seleccioneu o creeu un àlbum","Select the files to upload…":"Seleccioneu els fitxers per carregar…","Select the folder to be indexed…":"Seleccioneu la carpeta que voleu indexar…","Select Time":"Seleccioneu Hora","Selection approved":"Selecció aprovada","Selection archived":"Selecció arxivada","Selection restored":"S'ha restaurat la selecció","Sequential Name":"Nom seqüencial","Service URL":"URL del servei","Services":"Serveis","Session":"Sessió","Session ID":"ID de sessió","Sessions":"Sessions","Set as Album Cover":"Estableix com a portada de l'àlbum","Settings":"Configuració","Settings saved":"Configuració desada","Setup":"Configuració","Share":"Compartir","Share %{s}":"Comparteix %{s}","Share your pictures with other apps and services.":"Comparteix les teves imatges amb altres aplicacions i serveis.","Show":"Mostrar","Show all new faces":"Mostra totes les cares noves","Show Captions":"Mostra els subtítols","Show hidden":"Mostra ocult","Show less":"Mostra menys","Show more":"Mostra’n més","Show server logs in Library.":"Mostra els registres del servidor a la biblioteca.","Show Titles":"Mostra els títols","Sidecar":"Sidecar","Sidecar Files":"Fitxers Sidecar","Sign in":"Iniciar sessió","Similar":"Similars","Size":"Mida","Slideshow":"Presentació de diapositives","Slow":"Lenta","Software":"Programari","Software Update":"Actualització de programari","Something went wrong, try again":"S'ha produït un error, torna-ho a provar","Sort by":"Ordena per","Sort Order":"Criteri d’ordenació","Sorted ascending.":"Ordenat ascendent.","Sorted descending.":"Ordenat descendent.","Source":"Origen","Stack":"Pila","Stack files sharing the same unique image or instance identifier.":"Apila fitxers que comparteixen la mateixa imatge única o identificador d'instància.","Stack pictures taken at the exact same time and location based on their metadata.":"Apila imatges fetes a la mateixa hora i ubicació en funció de les seves metadades.","Stackable":"Apilable","Stacks":"Piles","Start":"Inici","Start Page":"Pàgina d'inici","Static Size Limit: %{n}px":"Límit de mida estàtica: %{n}px","Status":"Estat","Storage":"Emmagatzematge","Streets":"Carrers","Subject":"Assumpte","Submit":"Envia","Successfully activated":"S'ha activat correctament","Successfully Connected":"Connectat correctament","Successfully deleted":"S'ha suprimit correctament","Successfully verified":"Verificat correctament","Super Admin":"Super Administrador","Support for additional services, like Google Drive, will be added over time.":"Amb el temps s'afegirà suport per a serveis addicionals, com ara Google Drive.","Support Our Mission":"Donar suport a la nostra missió","Sync":"Sincronitza","Sync raw and video files":"Sincronitza fitxers en brut i de vídeo","Taken":"Pres","Teal":"Blau Cerseta","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow és necessari per a la classificació d'imatges, el reconeixement facial i la detecció de contingut no segur.","Terrain":"Terreny","Text":"Text","Text too long":"Text massa llarg","Thank You for Your Support!":"Gràcies pel teu recolzament!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"És per això que PhotoPrism es va crear des de zero per funcionar allà on ho necessitis, sense comprometre la llibertat, la privadesa o la funcionalitat.","The index currently contains %{n} hidden files.":"Actualment, l'índex conté %{n} fitxers ocults.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"És possible que el seu format no sigui compatible, que encara no s'han convertit a JPEG o que hi hagi duplicats.","Theme":"Tema","This field is required":"Aquest camp és obligatori","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Això munta la carpeta originals com a unitat de xarxa i us permet obrir, editar i suprimir fitxers del vostre ordinador o telèfon intel·ligent com si fossin locals.","Time UTC":"Hora UTC","Time Zone":"Zona horària","Timeout":"Delsa","Title":{"Account":"Títol","Photo":"Títol","":"Títol"},"Title / Position":"Títol / posició","Title too long":"Títol massa llarg","to":"a","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Per evitar que us bloquegi el vostre compte, baixeu, imprimiu o copieu aquest codi de recuperació ara i guardeu-lo en un lloc segur.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Per generar una nova contrasenya específica de l'aplicació, introduïu el nom i l'àmbit d'autorització de l'aplicació i seleccioneu una data de caducitat:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Per canviar a una aplicació o dispositiu d'autenticació nous, primer desactiveu l'autenticació de dos factors i, a continuació, reactiveu-lo:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Per actualitzar, podeu introduir un codi d'activació o fer clic a \"Registrar-vos\" per registrar-vos al nostre lloc web:","Today":"Avui","Toggle View":"Canvia la vista","Token":"Token","Too many files selected":"S'han seleccionat massa fitxers","Too many requests":"Massa peticions","Troubleshooting":"Resolució de problemes","Try again using other filters or keywords.":"Torna-ho a provar amb altres filtres o paraules clau.","Two-factor authentication has been enabled for your account.":"S'ha activat l'autenticació de dos factors per al vostre compte.","Type":"Tipus","Unauthorized":"No autoritzat","Undo":"Desfer","Unique ID":"ID únic","Unknown":"Desconegut","Unregistered":"No registrat","Unsorted":"SeneEthiopian month 11 - LongName","Unstack":"Desapilar","Updated":"Actualitzat","Updating faces":"Actualització de cares","Updating index":"S'està actualitzant l'índex","Updating moments":"Moments d'actualització","Updating picture…":"S'està actualitzant la imatge...","Updating previews":"S'estan actualitzant les previsualitzacions","Updating stacks":"Actualització de les piles","Upgrade":"Actualitza","Upgrade Now":"Actualitza ara","Upload":"Pujar","Upload complete":"Càrrega completa","Upload complete. Indexing…":"Càrrega completa. S'està indexant...","Upload failed":"La càrrega ha fallat","Upload local files":"Carregueu fitxers locals","Upload Path":"Ruta de càrrega","Upload to WebDAV and share links with friends.":"Penja a WebDAV i comparteix enllaços amb amics.","Uploading %{n} of %{t}…":"S'està penjant %{n} de %{t}...","Uploading photos…":"S'estan penjant fotos...","Uploading…":"S'està carregant…","Uploads that may contain such images will be rejected automatically.":"Les càrregues que puguin contenir aquestes imatges seran rebutjades automàticament.","Use Presets":"Utilitzeu presets","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Utilitzeu el codi de recuperació següent per accedir al vostre compte quan no pugueu generar un codi de verificació vàlid amb la vostra aplicació d'autenticació:","Use your recovery code or contact an administrator for help.":"Utilitzeu el vostre codi de recuperació o poseu-vos en contacte amb un administrador per obtenir ajuda.","User":"Usuari","User Guide":"Guia de l'usuari","User Interface":"Interfície d'usuari","Username":"Usuari","Users":"Usuaris","Vector":"Vector","Vectors":"Vectors","Verification Code":"Codi de verificació","Video":"Vídeo","Video Duration":"Durada del vídeo","Videos":"Videos","View":"Veure","View search results as a list.":"Veure els resultats de la cerca com una llista.","Viewer":"Visor","Visitor":"Visitant","Visual Similarity":"Similitud visual","Warning":"Avís","We appreciate your feedback!":"Agraïm els vostres comentaris!","We do our best to respond within five business days or less.":"Fem tot el possible per respondre en un termini de cinc dies laborables o menys.","Web Login":"Inici de sessió web","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"Els clients WebDAV es poden connectar a PhotoPrism mitjançant l'URL següent:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"Els clients WebDAV, com ara l'Explorador de Windows de Microsoft o el Finder d'Apple, es poden connectar directament\n FotoPrisma.","WebDAV Upload":"Càrrega WebDAV","WebGL support is disabled in your browser":"El suport de WebGL està desactivat al vostre navegador","Website":"Pàgina web","White":"Blanc","Work Details":"Detalls del treball","Year":"Any","Yellow":"Groc","Yes":"Si","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Podeu posar-vos en contacte amb nosaltres a membership@photoprism.app per a preguntes sobre la vostra pertinença.","You can only download one album":"Només pots baixar un àlbum","You can only download one label":"Només podeu baixar una etiqueta","You can upload up to %{n} files for test purposes.":"Podeu penjar fins a %{n} fitxers amb finalitats de prova.","You may only select one item":"Només podeu seleccionar un element","You may rescan your library to find additional faces.":"Podeu tornar a escanejar la vostra biblioteca per trobar cares addicionals.","Your account has been successfully connected.":"El vostre compte s'ha connectat correctament.","Your browser does not support WebGL":"El vostre navegador no admet WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"El vostre suport continuat ens ajuda a oferir actualitzacions periòdiques i a mantenir-nos independents, de manera que podem complir la nostra missió i protegir la vostra privadesa.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"La vostra biblioteca s'analitza contínuament per crear automàticament àlbums de moments, viatges i llocs especials.","Zoom in/out":"Apropa o redueix"}} \ No newline at end of file +{"ca":{"{0} appended action":"{0} acció afegida","{0} files":"{0} fitxers","{0} files ({1} in total)":"{0} fitxers ({1} en total)","{0} more":"{0} més","{0} prepended action":"{0} acció anteposada","{0} selected":"{0} seleccionats","{0}-{1} of {2}":"{0}-{1} de {2}","%{n} albums found":"%{n} àlbums trobats","%{n} files uploaded":"%{n} arxius penjats","%{n} folders found":"%{n} carpetes trobades","%{n} GB of %{q} GB used":"%{n} GB de %{q} GB utilitzats","%{n} labels found":"%{n} etiquetes trobades","%{n} people found":"%{n} persones trobades","%{n} pictures found":"S'han trobat %{n} imatges","%{s} is too long":"%{s} és massa llarg","%{s} is too short":"%{s} és massa curt","1 hour":"1 hora","12 hours":"12 hores","2-Factor Authentication":"Autenticació de 2 factors","2FA":"2FA","4 hours":"4 hores","A click will copy it to your clipboard.":"Un clic ho copiarà al porta-retalls.","A new version of %{s} is available:":"Hi ha disponible una versió nova de %{s}:","About":"Quant a","Access Token":"Fitxa d'accés","Account":"Compte","Account created":"Compte creat","Account deleted":"Compte suprimit","Account restored":"S'ha restaurat el compte","Accounts":"Comptes","Accuracy":"Precisió","Action":"Acció","Actions":"Accions","Activate":"Activar","Activate to remove sorting.":"Activa per eliminar l'ordenació.","Activate to sort ascending.":"Activa per ordenar ascendent.","Activate to sort descending.":"Activa per ordenar descendent.","Activation Code":"Codi d'activació","Add":"Afegeix","Add %{s}?":"Afegiu %{s}?","Add Account":"Afegeix un compte","Add Album":"Afegeix un àlbum","Add files to your library via Web Upload.":"Afegiu fitxers a la vostra biblioteca mitjançant la càrrega web.","Add Link":"Afegeix un enllaç","Add person?":"Vols afegir una persona?","Add pictures from search results by selecting them.":"Afegiu imatges dels resultats de la cerca seleccionant-les.","Add to album":"Afegeix a l'àlbum","Added":"Afegit","Adjust Location":"Ajusta la ubicació","Admin":"Admin","Advanced":"Avançat","After 1 day":"Després d'1 dia","After 3 days":"Després de 3 dies","After 7 days":"Després de 7 dies","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Després d'introduir la contrasenya per a la confirmació, podeu configurar l'autenticació de dos factors amb una aplicació o dispositiu d'autenticació compatible:","After one month":"Després d'un mes","After one year":"Després d'un any","After selecting pictures from search results, you can add them to an album using the context menu.":"Després de seleccionar imatges dels resultats de la cerca, podeu afegir-les a un àlbum mitjançant el menú contextual.","After two months":"Després de dos mesos","After two weeks":"Després de dues setmanes","Album":"Àlbum","Album Backups":"Còpies de seguretat d'àlbums","Album created":"Àlbum creat","Album deleted":"Àlbum suprimit","Albums":"Àlbums","Albums deleted":"Àlbums suprimits","All":"Tots","All %{n} albums loaded":"S'han carregat els %{n} àlbums","All %{n} labels loaded":"S'han carregat totes les %{n} etiquetes","All %{n} people loaded":"S'han carregat les totes les persones (%{n})","All Cameras":"Totes les càmeres","All Categories":"Totes les Categories","All Colors":"Tots els colors","All Countries":"Tots els Països","All fields are required":"Tots els camps són obligatoris","All files from import folder":"Tots els fitxers de la carpeta d'importació","All Lenses":"Totes les lents","All Months":"Tots els mesos","All originals":"Tots els originals","All Years":"Tots els anys","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Alternativament, podeu carregar fitxers directament als servidors WebDAV com Nextcloud.","Altitude":"Altitud","Altitude (m)":"Altitud (m)","AM":"AM","Animated":"Animat","Animation":"Animació","Animations":"Animacions","Any private photos and videos remain private and won't be shared.":"Les fotos i els vídeos privats romanen privats i no es compartiran.","API Key":"Clau API","Application":"Aplicació","Apply":"Aplicar","Approve":"Aprovar","Apps and Devices":"Aplicacions i dispositius","Archive":"Arxiu","Archived":"Arxivat","Are you sure you want to archive the selection?":"Esteu segur que voleu arxivar la selecció?","Are you sure you want to delete these albums?":"Confirmes que vols suprimir aquests àlbums?","Are you sure you want to delete these labels?":"Esteu segur que voleu suprimir aquestes etiquetes?","Are you sure you want to delete this account?":"Esteu segur que voleu suprimir aquest compte?","Are you sure you want to delete this album?":"Esteu segur que voleu suprimir aquest àlbum?","Are you sure you want to permanently delete these pictures?":"Esteu segur que voleu suprimir permanentment aquestes imatges?","Are you sure you want to permanently delete this file?":"Esteu segur que voleu suprimir permanentment aquest fitxer?","Are you sure?":"N'esteu segur?","Artist":"Artista","Aspect Ratio":"Relació d'aspecte","Audio":"Àudio","Authentication":"Autenticació","Auto":"Automàtic","Back":"esquena","Back to top":"Tornar a dalt","Backup":"Còpia de seguretat","Badge":"Insígnia","Base Path":"Camí base","Become a member today, support our mission and enjoy our member benefits!":"Fes-te soci avui, dóna suport a la nostra missió i gaudeix dels nostres avantatges per a membres!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"En ser 100% sautofinançats i independents, us podem prometre que mai vendrem les vostres dades i que sempre serem transparents sobre el nostre programari i serveis.","Bio":"bio","Birth Date":"Data de naixement","Black":"Negre","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: modificació de Lanczos, artefactes menys sonors","Blue":"Blau","Brown":"Marró","Browse":"Navega","Browse and edit image classification labels.":"Exploreu i editeu les etiquetes de classificació d'imatges.","Browse and share your pictures organized into monthly albums.":"Navega i comparteix les teves imatges organitzades en àlbums mensuals.","Browse Files":"Examinar fitxers","Browse indexed files and folders in Library.":"Exploreu fitxers i carpetes indexats a la biblioteca.","Bug Report":"Informe d'error","Busy, please wait…":"Ocupat, si us plau, espera...","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"En utilitzar el programari i els serveis que oferim, accepteu les nostres condicions de servei, política de privadesa i codi de conducta.","Calendar":"Calendari","Camera":"Càmera","Camera Serial":"Càmera en sèrie","Can't access your authenticator app or device?":"No podeu accedir a la vostra aplicació o dispositiu d'autenticació?","Can't load more, limit reached":"No es pot carregar més, s'ha arribat al límit","Can't select more items":"No es poden seleccionar més elements","Cancel":"Cancel·lar","Cannot copy to clipboard":"No es pot copiar al porta-retalls","Caption":"Subtítol","Cards":"Targetes","Carousel slide {0} of {1}":"Diapositiva del carrusel {0} de {1}","Category":"Categoria","Change Avatar":"Canviar Avatar","Change Password":"Canviar contrasenya","Change personal profile and security settings.":"Canvia el perfil personal i la configuració de seguretat.","Change photo titles, locations, and other metadata.":"Canvia els títols de les fotos, les ubicacions i altres metadades.","Change private flag":"Canvia la bandera privada","Changes could not be saved":"No s'han pogut desar els canvis","Changes successfully saved":"Els canvis s'han desat correctament","Changes to the advanced settings require a restart to take effect.":"Els canvis a la configuració avançada requereixen un reinici perquè tinguin efecte.","Checked":"Seleccionat","Chroma":"Croma","Cleaning index and cache":"Neteja d'índex i memòria cau","Cleanup":"Netejar","Clear {0}":"Esborra {0}","Client":"Client","Client Credentials":"Credencials del client","Close":"Tancar","Codec":"Còdec","Color":"Color","Color Profile":"Perfil de color","Colors":"Colors","Compare Editions":"Compara Edicions","Complete Rescan":"Rescaneig complet","Confidence":"Confiança","Confirm":"Confirmeu","Connect":"Connecta","Connect via WebDAV":"Connecteu-vos mitjançant WebDAV","Connected":"Connectat","Contact Details":"Dades de contacte","Contact Us":"Contacta'ns","Contains %{n} pictures.":"Conté %{n} imatges.","Contains one picture.":"Conté una imatge.","Content":"Contingut","Continue":"Continua","Continue with %{provider}":"Continua amb %{provider}","Contributor":"Col·laborador","Converting":"Convertint","Copied to clipboard":"S'ha copiat al porta-retalls","Copy":"Còpia","Copyright":"Copyright","Couldn't find anything.":"No he pogut trobar res.","Country":"País","Create Account":"Crear compte","Create album":"Crea un àlbum","Create regular backups based on the configured schedule.":"Creeu còpies de seguretat d'índex en funció de la programació configurada.","Create YAML files to back up album metadata.":"Creeu fitxers YAML per fer una còpia de seguretat de les metadades de l'àlbum.","Create YAML sidecar files to back up picture metadata.":"Creeu fitxers sidecar YAML per fer una còpia de seguretat de les metadades d'imatge.","Created":"Creat","Creating thumbnails for":"Creació de miniatures per a","Cubic: Moderate Quality, Good Performance":"Cúbic: qualitat moderada, bon rendiment","Current Password":"Contrasenya actual","Custom":"Personalitzat","Cyan":"Cian","Daily":"Diari","Database Backups":"Còpies de seguretat de bases de dades","Day":"Dia","Deactivate":"Desactivar","Debug Logs":"Registres de depuració","Default":"Per defecte","Default Folder":"Carpeta per defecte","Delete":"Esborrar","Delete Album":"Suprimeix l'àlbum","Delete All":"Eliminar tots","Delete all?":"Vols suprimir-ho tot?","Delete orphaned index entries, sidecar files and thumbnails.":"Suprimeix les entrades d'índex orfes, els fitxers de sidecar i les miniatures.","Description":"Descripció","Detailed instructions can be found in our User Guide.":"Podeu trobar instruccions detallades a la nostra Guia d'usuari.","Details":"Detalls","Dimensions":"Dimensions","Disable Backups":"Desactiva les còpies de seguretat","Disable Darktable":"Desactiva Darktable","Disable ExifTool":"Desactiveu ExifTool","Disable features that require write permission for the originals folder.":"Desactiveu les funcions que requereixen permís d'escriptura per a la carpeta d'originals.","Disable FFmpeg":"Desactiva FFmpeg","Disable ImageMagick":"Desactiveu ImageMagick","Disable interactive world maps and reverse geocoding.":"Desactiva els mapes del món interactius i la geocodificació inversa.","Disable Places":"Desactiva Places","Disable RawTherapee":"Desactiveu RawTherapee","Disable TensorFlow":"Desactiva TensorFlow","Disable Vectors":"Desactiva Vectors","Disable WebDAV":"Desactiva WebDAV","Disables vector graphics support.":"Desactiva el suport de gràfics vectorials.","Disables video transcoding and thumbnail extraction.":"Desactiva la transcodificació de vídeo i l'extracció de miniatures.","Discover":"Descobreix","Dismiss":"Descartar","Display Name":"Nom a mostrar","Display picture captions in search results.":"Mostra subtítols d'imatge als resultats de la cerca.","Display picture titles in search results.":"Mostra els títols de les imatges als resultats de la cerca.","Document":"Document","Documents":"Documents","Don't use Darktable to convert RAW images.":"No utilitzeu Darktable per convertir fitxers RAW.","Don't use ImageMagick to convert images.":"No utilitzeu ImageMagick per convertir imatges.","Don't use RawTherapee to convert RAW images.":"No utilitzeu RawTherapee per convertir fitxers RAW.","Done":"Fet","Done.":"Fet.","Download":"Descàrrega","Download only original media files, without any automatically generated files.":"Baixeu només fitxers multimèdia originals, sense cap fitxer generat automàticament.","Download remote files":"Descarrega fitxers remots","Download single files and zip archives.":"Baixeu fitxers únics i arxius zip.","Downloading…":"S'està baixant…","Downscaling Filter":"Filtre de reducció d'escala","Drag and drop files here":"Arrossegueu i deixeu anar els fitxers aquí","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"A causa de l'elevat volum de correus electrònics que rebem, és possible que el nostre equip no us pugui respondre immediatament.","Duplicates will be skipped and only appear once.":"Els duplicats es saltaran i només apareixeran una vegada.","Duration":"Duració","Dynamic Previews":"Previsualitzacions dinàmiques","Dynamic Size Limit: %{n}px":"Límit de mida dinàmica: %{n}px","E-Mail":"Correu electrònic","Edit":"Edita","Edit %{s}":"Edita %{s}","Edit Account":"Editar Compte","Edit Photo":"Edita la foto","Edited":"Editat","Email":"Correu electrònic","Enable debug mode to display additional logs and help with troubleshooting.":"Activeu el mode de depuració per mostrar registres addicionals i ajudar-vos amb la resolució de problemes.","Enable new features that may be incomplete or unstable.":"Activa les noves funcions que poden ser incompletes o inestables.","Enables RAW converter presets. May reduce performance.":"Habilita els valors predefinits del convertidor RAW. Pot reduir el rendiment.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Habilitar l'autenticació de dos factors significa que necessitareu un codi de verificació generat aleatòriament per iniciar sessió, de manera que fins i tot si algú accedeix a la vostra contrasenya, no podrà accedir al vostre compte.","Enter date":"Introduïu la data","Enter dates":"Introduïu dates","Enter the code generated by your authenticator app:":"Introduïu el codi generat per la vostra aplicació d'autenticació:","Enter verification code":"Introduïu el codi de verificació","Enter your password to confirm the action and continue:":"Introduïu la vostra contrasenya per confirmar l'acció i continueu:","Error":"Error","Errors":"Errors","Estimate":"Estimació","Estimate Locations":"Estimar Ubicacions","Estimate the approximate location of pictures without GPS coordinates.":"Estimar la ubicació aproximada de les imatges sense coordenades GPS.","Every two days":"Cada dos dies","Exclude content marked as private from search results, shared albums, labels, and places.":"Exclou el contingut marcat com a privat dels resultats de la cerca, dels àlbums compartits, de les etiquetes i dels llocs.","Exclude hidden":"Exclou ocult","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"L'extracció de metadades amb ExifTool és necessària per a un suport complet de vídeo, Live Photo i XMP.","Experimental Features":"Característiques experimentals","Expires":"Caduca","Exposure":"Exposició","Extract still images and generate thumbnails while indexing.":"Extraieu imatges fixes i genereu miniatures mentre indexeu.","F Number":"Número F","Face":"Cara","Faces":"Cares","Failed removing link":"No s'ha pogut eliminar l'enllaç","Failed to connect account.":"No s'ha pogut connectar el compte.","Failed updating link":"No s'ha pogut actualitzar l'enllaç","Family Name":"Nom de familia","Fast":"Ràpida","Favorite":"Favorit","Favorites":"Favorits","Feature Request":"Sol·licitud de funció","Feedback":"Opinions","Female":"Femení","File":"Fitxer","File Browser":"Navegador de fitxers","File Conversion":"Conversió de fitxers","File Name":"Nom de fitxer","File Size":"Tamany arxiu","Filename":"Nom del fitxer","Files":"Arxius","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Els fitxers amb noms seqüencials com \"IMG_1234 (2)\" i \"IMG_1234 (3)\" pertanyen a la mateixa imatge.","First page":"Primera pàgina","Focal Length":"Longitud focal","Folder":"Carpeta","Folder contains %{n} files":"La carpeta conté %{n} fitxers","Folder is empty":"La carpeta està buida","Folders":"Carpetes","Forgot password?":"Has oblidat la contrasenya?","FPS":"FPS","Frames":"Marcs","Full Access":"Accés complet","Fullscreen":"Pantalla completa","General":"General","Generate":"Generar","Generate albums of special moments, journeys, and places.":"Crea automàticament àlbums de moments, viatges i llocs especials.","Generate Previews":"Genera visualitzacions prèvies","Generated":"Generat","Get Started":"Comença","Given Name":"Nom de pila","Global Options":"Opcions globals","Go to page {0}":"Vés a la pàgina {0}","Gold":"Or","Green":"Verd","Grey":"Gris","Guest":"Convidat","Hash":"Hash","Help":"Ajuda","Help & Support":"Ajuda & Suport","Hidden":"Ocult","Hidden Files":"Fitxers ocults","Hide":"Amagar","Hide photos that have been moved to archive.":"Amaga les fotos que s'han mogut a l'arxiu.","High":"Alt","High Dynamic Range (HDR)":"Alt rang dinàmic (HDR)","How can we help?":"Com podem ajudar?","Hybrid":"Híbrid","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Si perdeu l'accés a l'aplicació o al dispositiu d'autenticació, podeu utilitzar el codi de recuperació per recuperar l'accés al vostre compte.","Image":"Imatge","Image Quality":"Qualitat d'imatge","Import":"Importa","Import failed":"La importació ha fallat","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Els fitxers importats s'ordenaran per data i se'ls donarà un nom únic per evitar duplicats.","Imported files will be sorted by date and given a unique name.":"Els fitxers importats s'ordenaran per data i se'ls donarà un nom únic.","Importing %{s}…":"S'està important %{s}...","Importing files to originals…":"S'estan important fitxers als originals...","in":"polçades","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"En cas que faltin imatges que espereu, torneu a escanejar la vostra biblioteca i espereu fins que s'hagi completat la indexació.","Include RAW image files when downloading stacks and archives.":"Incloeu fitxers d'imatge RAW quan baixeu piles i arxius.","Include sidecar files when downloading stacks and archives.":"Incloeu fitxers sidecar quan baixeu piles i arxius.","Increase storage size or delete files to continue.":"Augmenta la mida d'emmagatzematge o suprimeix fitxers per continuar.","Index":"Índex","Index and import files through the user interface.":"Indexar i importar fitxers mitjançant la interfície d'usuari.","Indexing":"S'està indexant","Indexing failed":"S'ha produït un error en la indexació","Indexing media and sidecar files…":"S'estan indexant fitxers multimèdia i sidecar...","Information":"Informació","Instance ID":"ID de la instància","Insufficient storage.":"Emmagatzematge insuficient.","Interval":"Interval","Invalid":"Adreça de correu no vàlida","Invalid address":"Adreça no vàlida","Invalid country":"País no vàlid","Invalid date":"Data no vàlida","Invalid parameters":"Paràmetres no és vàlida","Invalid photo selected":"S'ha seleccionat una foto no vàlida","Invalid time":"Hora no vàlida","Invalid URL":"URL no vàlid","It is a one-time use code that will disable 2FA for your account when you use it.":"És un codi d'ús únic que desactivarà 2FA per al vostre compte quan l'utilitzeu.","Item":"Element","Items per page:":"Elements per pàgina:","JPEG Quality: %{n}":"Qualitat JPEG: %{n}","JPEG Size Limit: %{n}px":"Límit de mida JPEG: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"Els JPEG i les miniatures es representen automàticament segons sigui necessari.","Keywords":"Paraules clau","Label":"Etiqueta","Labels":"Etiquetes","Labels deleted":"S'han suprimit les etiquetes","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: Preservació de detalls, artefactes mínims","Language":"Idioma","Last Active":"Últim actiu","Last Login":"Últim inici de sessió","Last page":"Última pàgina","Last Sync":"Última sincronització","Last Used":"Últim utilitzat","Latitude":"Latitud","LDAP/AD":"LDAP/AD","Learn more":"Saber-ne més","Learn More":"Saber-ne més","Legal Information":"Informació legal","Lens":"Lent","Library":"Biblioteca","License":"Llicència","Like":"M'agrada","Lime":"Llima","Limit reached, showing first %{n} files":"S'ha assolit el límit, mostrant els primers %{n} fitxers","Linear: Very Smooth, Best Performance":"Lineal: molt suau, millor rendiment","Link":"Enllaç","List":"Llista","List View":"Vista de llista","Live":"En viu","Live Photos":"Fotos en directe","Load more":"Carregueu més","Loading items...":"S'estan carregant elements...","Loading...":"Carregant...","Local":"Local","Local Time":"Hora local","Location":"Ubicació","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Els missatges de registre apareixen aquí sempre que PhotoPrism troba fitxers trencats o hi ha altres problemes potencials.","Login":"Iniciar sessió","Logout":"Tancar sessió","Logs":"Logs","Longitude":"Longitut","Low":"Baix","Magenta":"Magenta","Main Color":"Color principal","Male":"Home","Manage Account":"Gestiona el compte","Manager":"Gerent","Manual":"Manual","Manual Upload":"Pujada manual","Maps":"Mapes","Marker":"Marcador","Maximum number of accounts has been reached.":"S'ha assolit el nombre màxim de comptes.","Media":"Mitjans de comunicació","Medium":"Mitja","Membership":"Pertinença","Merge %{a} with %{b}?":"Combinar %{a} amb %{b}?","Message":"Missatge","Message sent":"Missatge enviat","Metadata":"Metadades","Metrics":"Mètriques","Minimize":"Minimitza","Missing":"Falta la pàgina d'enviament","Missing or invalid configuration":"Falta la configuració o no és vàlida","Moments":"Moments","Monochrome":"Monocrom","Month":"Mes","More options":"Més opcions","Mosaic":"Mosaic","Most Relevant":"El més rellevant","Move Files":"Mou arxius","Must have at least %{n} characters.":"Ha de tenir almenys %{n} caràcters.","Mute":"Silenciar","Name":"Nom","Name too long":"Nom massa llarg","Never":"Mai","New":"Nou","New Password":"Nova contrasenya","Newest First":"El més nou primer","Next":"A continuació","Next page":"Pàgina següent","Next visual":"Següent visual","No":"No","No albums found":"No s'han trobat àlbums","No data available":"No hi ha dades disponibles","No labels found":"No s'han trobat etiquetes","No matching records found":"No s'han trobat registres coincidents","No more":"No més","No people found":"No s'han trobat persones","No pictures found":"No s'han trobat imatges","No recently edited pictures":"No hi ha imatges editades recentment","No results":"Sense resultats","No server connection":"No hi ha connexió amb el servidor","No servers configured.":"No s'ha configurat cap servidor.","No services configured.":"No s'ha configurat cap servei.","No thanks":"No gràcies","No warnings or error containing this keyword. Note that search is case-sensitive.":"No hi ha cap advertiment ni error que contingui aquesta paraula clau. Tingueu en compte que la cerca distingeix entre majúscules i minúscules.","Non-photographic and low-quality images require a review before they appear in search results.":"Les imatges no fotogràfiques i de baixa qualitat requereixen una revisió abans que apareguin als resultats de la cerca.","None":"Cap","Not allowed":"No es permet","Not found":"No trobat","Not sorted.":"No ordenat.","Not supported":"No s'admet","Note you may manually manage your originals folder and importing is optional.":"Tingueu en compte que podeu gestionar manualment la vostra carpeta d'originals i la importació és opcional.","Note:":"Nota:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Nota: només els servidors WebDAV, com Nextcloud o PhotoPrism, es poden configurar com a servei remot per a la còpia de seguretat i la càrrega de fitxers.","Notes":"Notes","Nothing to see here yet.":"Encara no hi ha res a veure aquí.","Nothing was found.":"No es va trobar res.","Offline":"Offline","OIDC":"OIDC","OK":"D'acord","Oldest First":"El més vell primer","On Windows, enter the following resource in the connection dialog:":"A Windows, introduïu el recurs següent al diàleg de connexió:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"La generació de miniatures sota demanda pot provocar un ús elevat de la CPU i la memòria. No es recomana per a servidors i dispositius NAS amb recursos limitats.","Once a week":"Una vegada per setmana","One album found":"S'ha trobat un àlbum","One file found":"S'ha trobat un fitxer","One file uploaded":"S'ha penjat un fitxer","One folder found":"S'ha trobat una carpeta","One label found":"S'ha trobat una etiqueta","One person found":"S'ha trobat una persona","One picture found":"S'ha trobat una imatge","Only locally managed accounts can be set up for authentication with 2FA.":"Només els comptes gestionats localment es poden configurar per a l'autenticació amb 2FA.","Open":"Obert","optional":"opcional","or":"o","Orange":"Taronja","Organization":"Organització","Orientation":"Orientació","Original file names will be stored and indexed.":"Els noms dels fitxers originals s'emmagatzemaran i s'indexaran.","Original Name":"Nom original","Originals":"Originals","Other":"Altres","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"La nostra missió és proporcionar la solució més fàcil d'utilitzar i de privadesa per mantenir les vostres imatges organitzades i accessibles.","Outdoor":"A l'aire lliure","Page {0}, Current page":"Pàgina {0}, pàgina actual","Pages":"Pàgines","Pagination Navigation":"Navegació de paginació","Panorama":"Panorama","Panoramas":"Panoràmiques","Password":"Contrasenya","Password changed":"S’ha canviat la contrasenya","People":"Gent","People you share a link with will be able to view public contents.":"Les persones amb qui comparteixis un enllaç podran veure contingut públic.","Permanently deleted":"Esborrat permanentment","Permanently remove files to free up storage.":"Suprimeix els fitxers permanentment per alliberar emmagatzematge.","Person":"Persona","Personal":"Personal","Photo":"Foto","PhotoPrism is 100% self-funded and independent.":"PhotoPrism és 100% autofinançat i independent.","PhotoPrism+ Membership":"Membre de PhotoPrism+","Photos":"Fotos","Picture Title":"Títol de la imatge","Pink":"Rosa","Place":"Lloc","Place & Time":"Lloc i hora","Places":"Llocs","Please confirm your new password.":"Si us plau, confirmeu la vostra nova contrasenya.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Copieu la següent contrasenya de l'aplicació generada aleatòriament i guardeu-la en un lloc segur, ja que no la podreu tornar a veure:","Please do not upload any private, unlawful or offensive pictures.":"Si us plau, no carregueu cap imatge privada, il·legal o ofensiva.","Please don't upload photos containing offensive content.":"Si us plau, no carregueu fotos que continguin contingut ofensiu.","Please enter OTP character {0}":"Introduïu el caràcter OTP {0}","Please note that changing your password will log you out on other devices and browsers.":"Tingueu en compte que si canvieu la contrasenya, tanqueu la sessió en altres dispositius i navegadors.","Please restart your instance for the changes to take effect.":"Si us plau, reinicieu la vostra instància perquè els canvis tinguin efecte.","Please wait…":"Si us plau, espereu…","PM":"PM","PNG Size Limit: %{n}px":"Límit de mida del PNG: %{n}px","Portrait":"Retrat","Preserve filenames":"Conserva els noms de fitxers","Press enter to create a new album.":"Premeu Intro per crear un àlbum nou.","Prevent database and album backups as well as YAML sidecar files from being created.":"Eviteu que es creïn còpies de seguretat de bases de dades i àlbums, així com fitxers sidecar YAML.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Eviteu que altres aplicacions accedeixin a PhotoPrism com a unitat de xarxa compartida.","Preview":"Previsualitza","Preview Images":"Vista prèvia d'imatges","Previous":"Anterior","Previous page":"Pàgina anterior","Previous visual":"Visual anterior","Primary":"Primari","Private":"Privada","Product Feedback":"Comentaris del producte","Projection":"Projecció","Purple":"Lila","Quality Filter":"Filtre de qualitat","Quality Score":"Nivell de qualitat","r":"r","Random":"Aleatori","Rating {0} of {1}":"Valoració {0} de {1}","Raw":"Crua","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Torneu a indexar tots els originals, inclosos els fitxers ja indexats i sense canvis.","Read-Only Mode":"Mode de només lectura","Recently Added":"Recentment afegit","Recently Archived":"Arxivat recentment","Recently Edited":"Editat recentment","Recognition starts after indexing has been completed.":"El reconeixement comença un cop finalitzada la indexació.","Recognize faces so people can be assigned and found.":"Reconeix cares perquè es puguin trobar persones concretes.","Recognized":"Reconegut","Recovery Code":"Codi de recuperació","Red":"Vermell","Refresh":"Actualitzar","Regions":"Regions","Register":"Registra't","Reload":"Recarrega","Reloading…":"S'està tornant a carregar…","Remote Sync":"Sincronització remota","Remove":"Elimina","remove failed: unknown album":"ha fallat l'eliminació: àlbum desconegut","Remove from Album":"Elimina de l'àlbum","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Elimina els fitxers importats per estalviar emmagatzematge. Els tipus de fitxers no compatibles no se suprimiran mai, es mantenen a la seva ubicació actual.","Request failed - are you offline?":"La sol·licitud ha fallat; estàs fora de línia?","Request failed - invalid response":"La sol·licitud ha fallat: resposta no vàlida","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Exigir que es revisin imatges no fotogràfiques i de baixa qualitat abans que apareguin als resultats de la cerca.","Resolution":"Resolució","Restart":"Reinicia","Restore":"Restaura","Restored":"Restaurat","Retry Limit":"Límit de torna a intentar","Retype Password":"Torneu a escriure la contrasenya","Review":"Valoració","Role":"Rol","Rows per page:":"Files per pàgina:","Satellite":"Satèl·lit","Save":"Desar","Scan":"Escaneig","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Escanegeu el codi QR amb la vostra aplicació d'autenticació o utilitzeu la clau de configuració que es mostra a continuació i, a continuació, introduïu el codi de verificació generat:","Scans":"Escaneigs","Scope":"Àmbit","Search":"Cercar","Search and display photos on a map.":"Cerca i mostra fotos en un mapa.","Season":"Estació","Secret":"Secret","Security and Access":"Seguretat i Accés","Select":"Selecciona","Select a source folder to import files…":"Seleccioneu una carpeta d'origen per importar fitxers…","Select date":"Seleccioneu la data","Select dates":"Seleccioneu dates","Select or create an album":"Seleccioneu o creeu un àlbum","Select the files to upload…":"Seleccioneu els fitxers per carregar…","Select the folder to be indexed…":"Seleccioneu la carpeta que voleu indexar…","Select Time":"Seleccioneu Hora","Selection approved":"Selecció aprovada","Selection archived":"Selecció arxivada","Selection restored":"S'ha restaurat la selecció","Sequential Name":"Nom seqüencial","Service URL":"URL del servei","Services":"Serveis","Session":"Sessió","Session ID":"ID de sessió","Sessions":"Sessions","Set as Album Cover":"Estableix com a portada de l'àlbum","Settings":"Configuració","Settings saved":"Configuració desada","Setup":"Configuració","Share":"Compartir","Share %{s}":"Comparteix %{s}","Share your pictures with other apps and services.":"Comparteix les teves imatges amb altres aplicacions i serveis.","Show":"Mostrar","Show all new faces":"Mostra totes les cares noves","Show Captions":"Mostra els subtítols","Show hidden":"Mostra ocult","Show less":"Mostra menys","Show more":"Mostra’n més","Show server logs in Library.":"Mostra els registres del servidor a la biblioteca.","Show Titles":"Mostra els títols","Sidecar":"Sidecar","Sidecar Files":"Fitxers Sidecar","Sign in":"Iniciar sessió","Similar":"Similars","Size":"Mida","Slideshow":"Presentació de diapositives","Slow":"Lenta","Software":"Programari","Software Update":"Actualització de programari","Something went wrong, try again":"S'ha produït un error, torna-ho a provar","Sort by":"Ordena per","Sort Order":"Criteri d’ordenació","Sorted ascending.":"Ordenat ascendent.","Sorted descending.":"Ordenat descendent.","Source":"Origen","Stack":"Pila","Stack files sharing the same unique image or instance identifier.":"Apila fitxers que comparteixen la mateixa imatge única o identificador d'instància.","Stack pictures taken at the exact same time and location based on their metadata.":"Apila imatges fetes a la mateixa hora i ubicació en funció de les seves metadades.","Stackable":"Apilable","Stacks":"Piles","Start":"Inici","Start Page":"Pàgina d'inici","Static Size Limit: %{n}px":"Límit de mida estàtica: %{n}px","Status":"Estat","Storage":"Emmagatzematge","Streets":"Carrers","Subject":"Assumpte","Submit":"Envia","Successfully activated":"S'ha activat correctament","Successfully Connected":"Connectat correctament","Successfully deleted":"S'ha suprimit correctament","Successfully verified":"Verificat correctament","Super Admin":"Super Administrador","Support for additional services, like Google Drive, will be added over time.":"Amb el temps s'afegirà suport per a serveis addicionals, com ara Google Drive.","Support Our Mission":"Donar suport a la nostra missió","Sync":"Sincronitza","Sync raw and video files":"Sincronitza fitxers en brut i de vídeo","Taken":"Pres","Teal":"Blau Cerseta","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow és necessari per a la classificació d'imatges, el reconeixement facial i la detecció de contingut no segur.","Terrain":"Terreny","Text":"Text","Text too long":"Text massa llarg","Thank You for Your Support!":"Gràcies pel teu recolzament!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"És per això que PhotoPrism es va crear des de zero per funcionar allà on ho necessitis, sense comprometre la llibertat, la privadesa o la funcionalitat.","The index currently contains %{n} hidden files.":"Actualment, l'índex conté %{n} fitxers ocults.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"És possible que el seu format no sigui compatible, que encara no s'han convertit a JPEG o que hi hagi duplicats.","Theme":"Tema","This field is required":"Aquest camp és obligatori","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Això munta la carpeta originals com a unitat de xarxa i us permet obrir, editar i suprimir fitxers del vostre ordinador o telèfon intel·ligent com si fossin locals.","Time UTC":"Hora UTC","Time Zone":"Zona horària","Timeout":"Delsa","Title":{"Account":"Títol","Photo":"Títol","":"Títol"},"Title / Position":"Títol / posició","Title too long":"Títol massa llarg","to":"a","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Per evitar que us bloquegi el vostre compte, baixeu, imprimiu o copieu aquest codi de recuperació ara i guardeu-lo en un lloc segur.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Per generar una nova contrasenya específica de l'aplicació, introduïu el nom i l'àmbit d'autorització de l'aplicació i seleccioneu una data de caducitat:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Per canviar a una aplicació o dispositiu d'autenticació nous, primer desactiveu l'autenticació de dos factors i, a continuació, reactiveu-lo:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Per actualitzar, podeu introduir un codi d'activació o fer clic a \"Registrar-vos\" per registrar-vos al nostre lloc web:","Today":"Avui","Toggle View":"Canvia la vista","Token":"Token","Too many files selected":"S'han seleccionat massa fitxers","Too many requests":"Massa peticions","Troubleshooting":"Resolució de problemes","Try again using other filters or keywords.":"Torna-ho a provar amb altres filtres o paraules clau.","Two-factor authentication has been enabled for your account.":"S'ha activat l'autenticació de dos factors per al vostre compte.","Type":"Tipus","Unable to delete":"No es pot suprimir","Unauthorized":"No autoritzat","Undo":"Desfer","Unique ID":"ID únic","Unknown":"Desconegut","Unregistered":"No registrat","Unsorted":"SeneEthiopian month 11 - LongName","Unstack":"Desapilar","Updated":"Actualitzat","Updating faces":"Actualització de cares","Updating index":"S'està actualitzant l'índex","Updating moments":"Moments d'actualització","Updating picture…":"S'està actualitzant la imatge...","Updating previews":"S'estan actualitzant les previsualitzacions","Updating stacks":"Actualització de les piles","Upgrade":"Actualitza","Upgrade Now":"Actualitza ara","Upload":"Pujar","Upload complete":"Càrrega completa","Upload complete. Indexing…":"Càrrega completa. S'està indexant...","Upload failed":"La càrrega ha fallat","Upload local files":"Carregueu fitxers locals","Upload Path":"Ruta de càrrega","Upload to WebDAV and share links with friends.":"Penja a WebDAV i comparteix enllaços amb amics.","Uploading %{n} of %{t}…":"S'està penjant %{n} de %{t}...","Uploading photos…":"S'estan penjant fotos...","Uploading…":"S'està carregant…","Uploads that may contain such images will be rejected automatically.":"Les càrregues que puguin contenir aquestes imatges seran rebutjades automàticament.","Use Presets":"Utilitzeu presets","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Utilitzeu el codi de recuperació següent per accedir al vostre compte quan no pugueu generar un codi de verificació vàlid amb la vostra aplicació d'autenticació:","Use your recovery code or contact an administrator for help.":"Utilitzeu el vostre codi de recuperació o poseu-vos en contacte amb un administrador per obtenir ajuda.","User":"Usuari","User Guide":"Guia de l'usuari","User Interface":"Interfície d'usuari","Username":"Usuari","Users":"Usuaris","Vector":"Vector","Vectors":"Vectors","Verification Code":"Codi de verificació","Video":"Vídeo","Video Duration":"Durada del vídeo","Videos":"Videos","View":"Veure","View search results as a list.":"Veure els resultats de la cerca com una llista.","Viewer":"Visor","Visitor":"Visitant","Visual Similarity":"Similitud visual","Warning":"Avís","We appreciate your feedback!":"Agraïm els vostres comentaris!","We do our best to respond within five business days or less.":"Fem tot el possible per respondre en un termini de cinc dies laborables o menys.","Web Login":"Inici de sessió web","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"Els clients WebDAV es poden connectar a PhotoPrism mitjançant l'URL següent:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"Els clients WebDAV, com ara l'Explorador de Windows de Microsoft o el Finder d'Apple, es poden connectar directament\n FotoPrisma.","WebDAV Upload":"Càrrega WebDAV","WebGL support is disabled in your browser":"El suport de WebGL està desactivat al vostre navegador","Website":"Pàgina web","White":"Blanc","Work Details":"Detalls del treball","Year":"Any","Yellow":"Groc","Yes":"Si","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Podeu posar-vos en contacte amb nosaltres a membership@photoprism.app per a preguntes sobre la vostra pertinença.","You can only download one album":"Només pots baixar un àlbum","You can only download one label":"Només podeu baixar una etiqueta","You can search for a location or move the marker on the map to change the position:":"Podeu cercar una ubicació o moure el marcador al mapa per canviar-ne la posició:","You can upload up to %{n} files for test purposes.":"Podeu penjar fins a %{n} fitxers amb finalitats de prova.","You may only select one item":"Només podeu seleccionar un element","You may rescan your library to find additional faces.":"Podeu tornar a escanejar la vostra biblioteca per trobar cares addicionals.","Your account has been successfully connected.":"El vostre compte s'ha connectat correctament.","Your browser does not support WebGL":"El vostre navegador no admet WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"El vostre suport continuat ens ajuda a oferir actualitzacions periòdiques i a mantenir-nos independents, de manera que podem complir la nostra missió i protegir la vostra privadesa.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"La vostra biblioteca s'analitza contínuament per crear automàticament àlbums de moments, viatges i llocs especials.","Zoom in/out":"Apropa o redueix"}} \ No newline at end of file diff --git a/frontend/src/locales/json/cs.json b/frontend/src/locales/json/cs.json index 26d60ef0c..447637142 100644 --- a/frontend/src/locales/json/cs.json +++ b/frontend/src/locales/json/cs.json @@ -1 +1 @@ -{"cs":{"{0} appended action":"{0} připojená akce","{0} files":"{0} souborů","{0} files ({1} in total)":"{0} souborů (celkem {1})","{0} more":"{0} více","{0} prepended action":"{0} předřazená akce","{0} selected":"{0} vybráno","{0}-{1} of {2}":"{0}-{1} z {2}","%{n} albums found":"%{n} nalezených alb","%{n} files uploaded":"%{n} nahraných souborů","%{n} folders found":"%{n} nalezených složek","%{n} GB of %{q} GB used":"%{n} GB z %{q} GB použito","%{n} labels found":"%{n} nalezených štítků","%{n} people found":"%{n} nalezeno lidí","%{n} pictures found":"%{n} nalezených obrázků","%{s} is too long":"%{s} je příliš dlouhé","%{s} is too short":"%{s} je příliš krátké","1 hour":"1 hodina","12 hours":"12 hodin","2-Factor Authentication":"Dvoufaktorové ověřování","2FA":"2FA","4 hours":"4 hodiny","A click will copy it to your clipboard.":"Kliknutím zkopírujete do schránky.","A new version of %{s} is available:":"K dispozici je nová verze %{s}:","About":"O nás","Access Token":"Přístupový token","Account":"Účet","Account created":"Účet vytvořen","Account deleted":"Účet vymazán","Account restored":"Obnovení účtu","Accounts":"Účty","Accuracy":"Přesnost","Action":"Akce","Actions":"Akce","Activate":"Aktivovat","Activate to remove sorting.":"Aktivací odstraníte třídění.","Activate to sort ascending.":"Aktivací seřadíte vzestupně.","Activate to sort descending.":"Aktivací seřadíte sestupně.","Activation Code":"Aktivační kód","Add":"Přidat","Add %{s}?":"Přidat %{s}?","Add Account":"Přidat účet","Add Album":"Přidat album","Add files to your library via Web Upload.":"Přidat soubory do vaší knihovny nahráním přes Web.","Add Link":"Přidat odkaz","Add person?":"Přidat osobu?","Add pictures from search results by selecting them.":"Přidat obrázky z výsledků vyhledávání jejich výběrem.","Add to album":"Přidat do alba","Added":"Přidáno","Admin":"Admin","Advanced":"Pokročilé","After 1 day":"Po 1 dni","After 3 days":"Po 3 dnech","After 7 days":"Po 7 dnech","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Po zadání hesla pro potvrzení můžete nastavit dvoufaktorové ověřování pomocí kompatibilní ověřovací aplikace nebo zařízení:","After one month":"Po jednom měsíci","After one year":"Po jednom roce","After selecting pictures from search results, you can add them to an album using the context menu.":"Po výběru obrázků z výsledků vyhledávání je můžete přidat do alba pomocí kontextové nabídky.","After two months":"Po dvou měsících","After two weeks":"Po dvou týdnech","Album":"Album","Album Backups":"Zálohy alb","Album created":"Album vytvořeno","Albums":"Alba","Albums deleted":"Alba vymazána","All":"Všechny","All %{n} albums loaded":"Všech %{n} alb načteno","All %{n} labels loaded":"Všech %{n} štítků načteno","All %{n} people loaded":"Všichni %{n} lidé načteni","All Cameras":"Všechny fotoaparáty","All Categories":"Všechny kategorie","All Colors":"Všechny barvy","All Countries":"Všechny země","All fields are required":"Všechna pole jsou vyžadována","All files from import folder":"Všechny soubory ze složky pro importování","All Lenses":"Všechny objektivy","All Months":"Všechny měsíce","All originals":"Všechny originály","All Years":"Všechny roky","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Alternativně lze nahrát soubory přímo do WebDAV serverů jako je Nextcloud.","Altitude":"Nadmořská výška","Altitude (m)":"Nadmořská výška (m)","AM":"AM","Animated":"Animované","Animation":"Animace","Any private photos and videos remain private and won't be shared.":"Jakékoliv soukromé fotografie nebo videa zůstanou soukromé a nebudou sdílena.","API Key":"API klíč","Application":"Aplikace","Apply":"Použít","Approve":"Potvrdit","Apps and Devices":"Aplikace a zařízení","Archive":"Archivovat","Archived":"Archivováno","Are you sure you want to archive the selection?":"Jste si jisti, že chcete označené archivovat?","Are you sure you want to delete these albums?":"Jste si jisti, že chcete tato alba vymazat?","Are you sure you want to delete these labels?":"Jste si jisti, že chcete tyto štítky vymazat?","Are you sure you want to delete this account?":"Jste si jisti, že chcete tento účet vymazat?","Are you sure you want to permanently delete these pictures?":"Jste si jisti, že chcete tyto fotografie trvale odstranit?","Are you sure you want to permanently delete this file?":"Jste si jisti, že chcete tento soubor trvale odstranit?","Are you sure?":"Jste si jistí?","Artist":"Umělec","Aspect Ratio":"Poměr stran","Audio":"Audio","Authentication":"Ověřování","Auto":"Auto","Back":"Zpět","Back to top":"Zpět na začátek","Backup":"Záloha","Badge":"Odznak","Base Path":"Základní cesta","Become a member today, support our mission and enjoy our member benefits!":"Staňte se členem ještě dnes, podpořte naše poslání a využívejte naše členské výhody!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Vzhledem k tomu, že jsme stoprocentně financováni z vlastních zdrojů a nezávislí, můžeme vám slíbit, že vaše údaje nikdy neprodáme a že budeme vždy transparentní, pokud jde o náš software a služby.","Bio":"Biografie","Birth Date":"Datum narození","Black":"Černá","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Lanczos převzorkování, Méně prstencových artefaktů","Blue":"Modrá","Brown":"Hnědá","Browse":"Procházet","Browse and edit image classification labels.":"Prohlížet a upravit štítky klasifikace obrazu.","Browse and share your pictures organized into monthly albums.":"Prohlížejte a sdílejte své fotografie uspořádané do měsíčních alb.","Browse Files":"Procházet soubory","Browse indexed files and folders in Library.":"Prohlížet indexované soubory a složky v Knihovně.","Bug Report":"Nahlásit chybu","Busy, please wait…":"Zaneprázdněn, čekejte prosím…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Používáním softwaru a služeb, které poskytujeme, souhlasíte s našimi podmínkami služby, zásadami ochrany osobních údajů a kodexem chování.","Calendar":"Kalendář","Camera":"Fotoaparát","Camera Serial":"Sériové číslo kamery","Can't access your authenticator app or device?":"Nemůžete získat přístup k aplikaci nebo zařízení autentizátoru?","Can't load more, limit reached":"Nelze načíst více, dosaženo limitu","Can't select more items":"Není možné vybrat více položek","Cancel":"Zrušit","Caption":"Titulek","Cards":"Karty","Carousel slide {0} of {1}":"Kolotočový snímek {0} z {1}","Category":"Kategorie","Change Avatar":"Změnit fotku","Change Password":"Změnit heslo","Change personal profile and security settings.":"Změna nastavení osobního profilu a zabezpečení.","Change photo titles, locations, and other metadata.":"Změna názvů fotografií, umístění a dalších metadat.","Change private flag":"Změnit soukromou vlaječku","Changes could not be saved":"Změny nemohly být uloženy","Changes successfully saved":"Změny byly úspěšně uloženy","Changes to the advanced settings require a restart to take effect.":"Změny pokročilých nastavení vyžadují restart, aby se projevily.","Checked":"Zkontrolováno","Chroma":"Sytost","Cleaning index and cache":"Čištění indexu a mezipaměti","Cleanup":"Čištění","Clear {0}":"Vymazat {0}","Client":"Klient","Client Credentials":"Pověření klienta","Close":"Zavřít","Codec":"Kodek","Color":"Barva","Color Profile":"Barevný profil","Colors":"Barvy","Compare Editions":"Porovnat edice","Complete Rescan":"Kompletní opětovné prohledání","Confidence":"Jistota","Confirm":"Potvrdit","Connect":"Připojit","Connect via WebDAV":"Připojit přes WebDAV","Connected":"Připojeno","Contact Details":"Kontaktní údaje","Contact Us":"Kontaktujte nás","Contains %{n} pictures.":"Obsahuje %{n} obrázků.","Contains one picture.":"Obsahuje jeden obrázek.","Content":"Obsah","Continue":"Pokračovat","Continue with %{provider}":"Pokračovat pomocí %{provider}","Contributor":"Přispěvatel","Converting":"Převádí se","Copied to clipboard":"Zkopírováno do schránky","Copy":"Kopie","Copyright":"Autorská práva","Couldn't find anything.":"Nebylo nic nalezeno.","Country":"Země","Create Account":"Vytvořit účet","Create album":"Vytvořit album","Create regular backups based on the configured schedule.":"Vytváří zálohy indexů na základě nakonfigurovaného plánu.","Create YAML files to back up album metadata.":"Vytvoření souborů YAML pro zálohování metadat alba.","Create YAML sidecar files to back up picture metadata.":"Vytvoření souborů YAML sidecar pro zálohování metadat obrázků.","Created":"Vytvořeno","Creating thumbnails for":"Vytváření miniatur pro","Cubic: Moderate Quality, Good Performance":"Cubic: Střední kvalita, Dobrý výkon","Current Password":"Aktuální heslo","Custom":"Vlastní","Cyan":"Tyrkysová","Daily":"Denně","Database Backups":"Zálohování databáze","Day":"Den","Deactivate":"Deaktivovat","Debug Logs":"Protokoly ladění","Default":"Výchozí","Default Folder":"Výchozí složka","Delete":"Vymazat","Delete All":"Smazat vše","Delete all?":"Smazat vše?","Delete orphaned index entries, sidecar files and thumbnails.":"Odstranění osiřelých položek indexu, souborů postranních oddílů a miniatur.","Description":"Popis","Detailed instructions can be found in our User Guide.":"Detailnější instrukce naleznete v naší Uživatelské příručce.","Details":"Detaily","Dimensions":"Rozměry","Disable Backups":"Deaktivovat zálohy","Disable Darktable":"Deaktivovat Darktable","Disable ExifTool":"Deaktivovat ExifTool","Disable features that require write permission for the originals folder.":"Zakázat funkce, které vyžadují oprávnění k zápisu do složky originálů.","Disable FFmpeg":"Deaktivovat FFmpeg","Disable ImageMagick":"Zakázat ImageMagick","Disable interactive world maps and reverse geocoding.":"Zakázat interaktivní mapy světa a reverzní geokódování.","Disable Places":"Deaktivovat místa","Disable RawTherapee":"Deaktivovat RawTherapee","Disable TensorFlow":"Deaktivovat TensorFlow","Disable Vectors":"Zakázat vektory","Disable WebDAV":"Deaktivovat WebDAV","Disables vector graphics support.":"Zakáže podporu vektorové grafiky.","Disables video transcoding and thumbnail extraction.":"Zakáže překódování videa a extrakci miniatur.","Discover":"Objevit","Dismiss":"Odmítnout","Display Name":"Zobrazované jméno","Display picture captions in search results.":"Zobrazení popisků obrázků ve výsledcích vyhledávání.","Display picture titles in search results.":"Zobrazení názvů obrázků ve výsledcích vyhledávání.","Document":"Dokument","Documents":"Dokumenty","Don't use Darktable to convert RAW images.":"Nepoužívat Darktable ke konverzi souborů RAW.","Don't use ImageMagick to convert images.":"Nepoužívejte ImageMagick ke konverzi obrázků.","Don't use RawTherapee to convert RAW images.":"Nepoužívat RawTherapee ke konverzi souborů RAW.","Done":"Hotovo","Done.":"Hotovo.","Download":"Stáhnout","Download only original media files, without any automatically generated files.":"Stahujte pouze originální mediální soubory bez automaticky generovaných souborů.","Download remote files":"Stáhnout vzdálené soubory","Download single files and zip archives.":"Stáhnout jednotlivé soubory a archivy zip.","Downloading…":"Stahování…","Downscaling Filter":"Filtr pro snížení měřítka","Drag and drop files here":"Přetáhněte sem soubory","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"Vzhledem k velkému množství e-mailů, které dostáváme, se může stát, že vám náš tým nebude schopen okamžitě odpovědět.","Duplicates will be skipped and only appear once.":"Duplicity budou přeskočeny a zobrazí se pouze jednou.","Duration":"Délka","Dynamic Previews":"Dynamické náhledy","Dynamic Size Limit: %{n}px":"Dynamický limit velikosti: %{n}px","E-Mail":"E-Mail","Edit":"Upravit","Edit %{s}":"Upravit %{s}","Edit Account":"Upravit účet","Edit Photo":"Upravit fotografii","Edited":"Upraveno","Email":"Email","Enable debug mode to display additional logs and help with troubleshooting.":"Povolením režimu ladění zobrazíte další protokoly a pomůžete při řešení problémů.","Enable new features that may be incomplete or unstable.":"Povolení nových funkcí, které mohou být neúplné nebo nestabilní.","Enables RAW converter presets. May reduce performance.":"Povolí předvolby konvertoru RAW. Může snížit výkon.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Povolení dvoufaktorové autentizace znamená, že k přihlášení budete potřebovat libovolně vygenerovaný kód, takže i když někdo získá přístup k vašemu heslu, nebude mít přístup k vašemu účtu.","Enter date":"Zadejte datum","Enter dates":"Zadejte data","Enter the code generated by your authenticator app:":"Zadejte kód vygenerovaný aplikací autentizátoru:","Enter verification code":"Vložte ověřovací kód","Enter your password to confirm the action and continue:":"Pro potvrzení zadejte své heslo a pokračujte:","Error":"Chyba","Errors":"Chyby","Estimate":"Odhad","Estimate Locations":"Odhad lokalit","Estimate the approximate location of pictures without GPS coordinates.":"Odhad přibližné polohy obrázků bez souřadnic GPS.","Every two days":"Každé dva dny","Exclude content marked as private from search results, shared albums, labels, and places.":"Vyloučit obsah označený jako soukromý z výsledků vyhledávání, sdílených alb, štítků a míst.","Exclude hidden":"Vyloučit skryté","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"Pro plnou podporu videa, živých fotografií a XMP je nutná extrakce metadat pomocí nástroje ExifTool.","Experimental Features":"Experimentální funkce","Expires":"Vyprší","Exposure":"Expozice","Extract still images and generate thumbnails while indexing.":"Extrakce statických snímků a generování miniatur při indexování.","F Number":"Clonové číslo","Face":"Tvář","Faces":"Tváře","Failed removing link":"Odstraňování odkazu selhalo","Failed to connect account.":"Nepodařilo se připojit účet.","Failed updating link":"Aktualizace odkazu selhalo","Family Name":"Rodné jméno","Fast":"Rychlé","Favorite":"Oblíbené","Favorites":"Oblíbené","Feature Request":"Žádost o funkci","Feedback":"Zpětná vazba","Female":"Žena","File":"Soubor","File Browser":"Prohlížeč souborů","File Conversion":"Převod souborů","File Name":"Název souboru","File Size":"Velikost souboru","Filename":"Název souboru","Files":"Soubory","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Soubory s pořadovými názvy jako 'IMG_1234 (2)' a 'IMG_1234 (3)' náleží stejnému obrázku.","First page":"První strana","Focal Length":"Ohnisková vzdálenost","Folder":"Složka","Folder contains %{n} files":"Složka obsahuje %{n} souborů","Folder is empty":"Složka je prázdná","Folders":"Složky","Forgot password?":"Zapoměli jste heslo?","FPS":"FPS","Frames":"Frames","Full Access":"Volný přístup","Fullscreen":"Celá obrazovka","General":"Obecné","Generate":"generovat","Generate albums of special moments, journeys, and places.":"Automaticky vytváří alba zvláštních okamžiků, výletů a míst.","Generate Previews":"Generování náhledů","Generated":"Generováno","Get Started":"Začněte","Given Name":"Dané jméno","Global Options":"Globální možnosti","Go to page {0}":"Přejít na stránku {0}","Gold":"Zlatá","Green":"Zelená","Grey":"Šedá","Guest":"Host","Hash":"Hash","Help":"Pomoc","Help & Support":"Nápověda & Podpora","Hidden":"Skryté","Hidden Files":"Skryté soubory","Hide":"Skrýt","Hide photos that have been moved to archive.":"Skrýt fotografie, které byly přesunuty do archivu.","High":"Vysoká","High Dynamic Range (HDR)":"Vysoký dynamický rozsah (HDR)","How can we help?":"Jak můžeme pomoci?","Hybrid":"Smíšeně","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Pokud ztratíte přístup ke své ověřovací aplikaci nebo zařízení, můžete pomocí kódu pro obnovení znovu získat přístup ke svému účtu.","Image":"Snímek","Image Quality":"Kvalita obrazu","Import":"Importovat","Import failed":"Importování selhalo","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Importované soubory budou seřazeny podle data a přiděleného jedinečného názvu, aby se předešlo duplicitám.","Imported files will be sorted by date and given a unique name.":"Importované soubory budou seřazeny podle data a přiděleného jedinečného názvu.","Importing %{s}…":"Importování %{s}…","Importing files to originals…":"Importování souborů do originálů…","in":"v","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"V případě, že očekávané obrázky chybí, prohledejte knihovnu znovu a počkejte, až bude indexace dokončena.","Include RAW image files when downloading stacks and archives.":"Zahrnout obrazové soubory RAW při stahování stohů a archivů.","Include sidecar files when downloading stacks and archives.":"Při stahování zásobníků a archivů zahrnout soubory sidecar.","Increase storage size or delete files to continue.":"Chcete-li pokračovat, zvětšete velikost úložiště nebo odstraňte soubory.","Index":"Indexovat","Index and import files through the user interface.":"Indexování a importování souborů prostřednictvím uživatelského rozhraní.","Indexing":"Indexování","Indexing failed":"Indexování selhalo","Indexing media and sidecar files…":"Indexování media a přidružených souborů…","Information":"Informace","Instance ID":"ID instance","Insufficient storage.":"Nedostatečné skladování.","Interval":"Interval","Invalid":"Neplatné","Invalid address":"Neplatná adresa","Invalid country":"Neplatná země","Invalid date":"Neplatné datum","Invalid parameters":"Neplatné parametry","Invalid photo selected":"Vybrána neplatná fotografie","Invalid time":"Neplatný čas","Invalid URL":"Neplatná adresa URL","It is a one-time use code that will disable 2FA for your account when you use it.":"Jedná se o jednorázový kód, který deaktivuje 2FA pro váš účet, když jej použijete.","Item":"Položka","Items per page:":"Položky na stránku:","JPEG Quality: %{n}":"JPEG kvalita: %{n}","JPEG Size Limit: %{n}px":"JPEG limit velikosti: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"JPEG a miniatury se vykreslují automaticky dle potřeby.","Keywords":"Klíčová slova","Label":"Štítek","Labels":"Štítky","Labels deleted":"Štítky vymazány","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: Zachování detailů, Minimální artefakty","Language":"Jazyk","Last Active":"Poslední aktivní","Last Login":"Poslední přihlášení","Last page":"Poslední stránka","Last Sync":"Poslední synchronizace","Last Used":"Naposledy použitý","Latitude":"Zeměpisná šířka","LDAP/AD":"LDAP/AD","Learn more":"Zjistěte více","Learn More":"Dozvědět se více","Legal Information":"Právní informace","Lens":"Objektiv","Library":"Knihovna","License":"Licence","Like":"Líbí se mi","Lime":"Limetková","Limit reached, showing first %{n} files":"Dosaženo limitu, zobrazeno prvních %{n} souborů","Linear: Very Smooth, Best Performance":"Linear: Velmi vyhlazené, Nejlepší výkon","Link":"Odkaz","List":"Seznam","List View":"Zobrazení seznamu","Live":"Živé","Live Photos":"Živé fotografie","Load more":"Načíst více","Loading items...":"Načítání položek...","Loading...":"Načítání...","Local":"Místní","Local Time":"Místní čas","Location":"Lokalita","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Zprávy logu se zde zobrazují vždy, když PhotoPrism narazí na poškozené soubory nebo se vyskytnou jiné potenciální problémy.","Login":"Přihlášení","Logout":"Odhlásit se","Logs":"Logy","Longitude":"Zeměpisná délka","Low":"Nízká","Magenta":"Purpurová","Main Color":"Převažující barva","Male":"Muž","Manage Account":"Správa účtu","Manual":"Manuální","Manual Upload":"Ruční nahrání","Maps":"Mapy","Marker":"Značka","Maximum number of accounts has been reached.":"Bylo dosaženo maximálního počtu účtů.","Media":"Média","Medium":"Střední","Membership":"Členství","Merge %{a} with %{b}?":"Sloučit %{a} s %{b}?","Message":"Zpráva","Message sent":"Zpráva odeslána","Metadata":"Metadata","Metrics":"Metriky","Minimize":"Minimalizovat","Missing":"Chybějící","Missing or invalid configuration":"Chybějící nebo neplatná konfigurace","Moments":"Okamžiky","Monochrome":"Monochromatické","Month":"Měsíc","More options":"Další možnosti","Mosaic":"Mozaika","Most Relevant":"Nejrelevantnější","Move Files":"Přesunout soubory","Must have at least %{n} characters.":"Musí mít alespoň %{n} znaků.","Mute":"Ztlumit","Name":"Název","Name too long":"Název je příliš dlouhý","Never":"Nikdy","New":"Nový","New Password":"Nové heslo","Newest First":"Od nejnovějších","Next":"Další","Next page":"Další stránka","Next visual":"Další vizuální","No":"Ne","No albums found":"Nenalezena žádná alba","No data available":"Nejsou k dispozici žádné údaje","No labels found":"Nenalezeny žádné štítky","No matching records found":"Nebyly nalezeny žádné odpovídající záznamy","No more":"Ne více","No people found":"Nenalezeny žádné osoby","No pictures found":"Nenalezeny žádné obrázky","No recently edited pictures":"Žádné nedávno upravené obrázky","No server connection":"Žádné připojení k serveru","No servers configured.":"Žádný server nebyl nakonfigurován.","No services configured.":"Nejsou nakonfigurovány žádné služby.","No thanks":"Ne, děkuji","No warnings or error containing this keyword. Note that search is case-sensitive.":"Žádná varování nebo chyba obsahující toto klíčové slovo. Mějte na paměti, že při vyhledávání se rozlišují velká a malá písmena.","Non-photographic and low-quality images require a review before they appear in search results.":"Nefotografické obrázky a snímky nízké kvality vyžadují kontrolu, než se objeví ve výsledcích vyhledávání.","None":"Žádné","Not allowed":"Není povoleno","Not found":"Nenalezeno","Not sorted.":"Netřídí se.","Not supported":"Není podporováno","Note you may manually manage your originals folder and importing is optional.":"Složku originálů můžete spravovat ručně a import je volitelný.","Note:":"Poznámka:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Poznámka: Pouze WebDAV servery, jako Nextcloud nebo PhotoPrism, mohou být nakonfigurovány jako vzdálená služba pro zálohu a nahrávání souborů.","Notes":"Poznámky","Nothing to see here yet.":"Není tu nic k vidění. Prosíme o trpělivost.","Nothing was found.":"Nic nebylo nalezeno.","Offline":"Offline","OIDC":"OIDC","OK":"OK","Oldest First":"Od nejstarších","On Windows, enter the following resource in the connection dialog:":"V systému Windows zadejte do dialogového okna připojení následující prostředek:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"Generování miniatur na vyžádání může způsobit vysoké využití procesoru a paměti. Nedoporučuje se pro servery a zařízení NAS s omezenými zdroji.","Once a week":"Jednou týdně","One album found":"Nalezeno jedno album","One file found":"Nalezen jeden soubor","One file uploaded":"Nahrán jeden soubor","One folder found":"Nalezena jedna složka","One label found":"Nalezen jeden štítek","One person found":"Nalezena jedna osoba","One picture found":"Nalezen jeden obrázek","Only locally managed accounts can be set up for authentication with 2FA.":"Pro ověřování pomocí 2FA lze nastavit pouze lokálně spravované účty.","Open":"Otevřít","optional":"volitelné","or":"nebo","Orange":"Oranžová","Organization":"Organizace","Orientation":"Orientace","Original file names will be stored and indexed.":"Původní názvy souborů budou uloženy a indexovány.","Original Name":"Název originálu","Originals":"Originály","Other":"Jiné","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Naším posláním je poskytovat uživatelsky nejpřívětivější řešení pro uspořádání a zpřístupnění vašich fotografií.","Outdoor":"Zeměpisně","Page {0}, Current page":"Stránka {0}, Aktuální stránka","Pages":"Stránky","Pagination Navigation":"Stránkování Navigace","Panorama":"Panorama","Panoramas":"Panoramata","Password":"Heslo","Password changed":"Heslo změněno","People":"Lidé","People you share a link with will be able to view public contents.":"Lidé, se kterými sdílíte odkaz, budou moci zobrazit veřejný obsah.","Permanently deleted":"Trvale smazáno","Permanently remove files to free up storage.":"Trvale odstraňte soubory, abyste uvolnili úložiště.","Person":"Osoba","Personal":"Osobní","Photo":"Fotografie","PhotoPrism is 100% self-funded and independent.":"Společnost PhotoPrism je 100% nezávislá a financovaná z vlastních zdrojů.","PhotoPrism+ Membership":"Členství v programu PhotoPrism+","Photos":"Fotografie","Picture Title":"Název obrázku","Pink":"Růžová","Place":"Místo","Place & Time":"Místo a Čas","Places":"Místa","Please confirm your new password.":"Potvrďte prosím nové heslo.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Zkopírujte prosím následující náhodně vygenerované heslo aplikace a uschovejte je na bezpečném místě, protože je již neuvidíte:","Please do not upload any private, unlawful or offensive pictures.":"Nevkládejte prosím žádné soukromé, nezákonné nebo urážlivé obrázky.","Please don't upload photos containing offensive content.":"Nenahrávejte prosím fotografie obsahující urážlivý obsah.","Please enter OTP character {0}":"Zadejte prosím znak OTP {0}","Please note that changing your password will log you out on other devices and browsers.":"Vezměte prosím na vědomí, že změna hesla vás odhlásí i na jiných zařízeních a v jiných prohlížečích.","Please restart your instance for the changes to take effect.":"Aby se změny projevily, restartujte instanci.","Please wait…":"Počkejte prosím…","PM":"PM","PNG Size Limit: %{n}px":"PNG limit velikosti: %{n}px","Portrait":"Portrét","Preserve filenames":"Zachovat názvy souborů","Press enter to create a new album.":"Stiskněte Enter pro vytvoření nového alba.","Prevent database and album backups as well as YAML sidecar files from being created.":"Zabránit vytváření záloh databáze a alb a souborů YAML sidecar.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Zabránit ostatním aplikacím v přístupu k aplikaci PhotoPrism jako ke sdílené síťové jednotce.","Preview":"Náhled","Preview Images":"Náhled obrázků","Previous":"Předchozí","Previous page":"Předchozí stránka","Previous visual":"Předchozí vizuální","Primary":"Primární","Private":"Soukromé","Product Feedback":"Zpětná vazba k produktu","Projection":"Projekce","Purple":"Fialová","Quality Filter":"Filtr kvality","Quality Score":"Hodnocení kvality","r":"r","Random":"Náhodně","Rating {0} of {1}":"Hodnocení {0} z {1}","Raw":"Raw","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Znovu indexovat všechny originály, včetně již zaindexovaných a nezměněných souborů.","Read-Only Mode":"Mód jen pro čtení","Recently Added":"Nedávno přidané","Recently Archived":"Nedávno archivované","Recently Edited":"Nedávno upravené","Recognition starts after indexing has been completed.":"Rozpoznávání se spustí po dokončení indexování.","Recognize faces so people can be assigned and found.":"Rozpoznává obličeje, aby bylo možné najít konkrétní osoby.","Recognized":"Rozpoznané","Recovery Code":"Kód obnovy","Red":"Červená","Refresh":"Obnovit","Regions":"Regiony","Register":"Registrace","Reload":"Znovu načíst","Reloading…":"Načítání…","Remote Sync":"Vzdálená synchronizace","Remove":"Odstranit","remove failed: unknown album":"odstranění selhalo: neznámé album","Remove from Album":"Odebrat z alba","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Odstranit importované soubory pro ušetření úložného prostoru. Nepodporované typy souborů odstraněny nikdy nebudou, zůstanou ve svém aktuálním umístění.","Request failed - are you offline?":"Požadavek se nezdařil - jste offline?","Request failed - invalid response":"Požadavek selhal - neplatná odpověď","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Požadavek na kontrolu nefotografických a nekvalitních obrázků před jejich zobrazením ve výsledcích vyhledávání.","Resolution":"Rozlišení","Restart":"Restartování","Restore":"Obnovit","Restored":"Obnovené stránky","Retry Limit":"Limit opakování","Retype Password":"Znovu zadejte heslo","Review":"Kontrola","Role":"Role","Rows per page:":"Řádky na stránku:","Satellite":"Satelitní","Save":"Uložit","Scan":"Sken","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Naskenujte QR kód pomocí své ověřovací aplikace nebo použijte klíč nastavení uvedený níže a poté zadejte vygenerovaný ověřovací kód:","Scans":"Skeny","Scope":"Oblast působnosti","Search":"Vyhledat","Search and display photos on a map.":"Vyhledat a zobrazit fotografie na mapě.","Season":"Období","Secret":"Tajemství","Security and Access":"Zabezpečení a přístup","Select":"Označit","Select a source folder to import files…":"Vyberte zdrojovou složku pro import souborů…","Select date":"Zvolte datum","Select dates":"Zvolte data","Select or create an album":"Výběr nebo vytvoření alba","Select the files to upload…":"Vyberte soubory, které chcete nahrát…","Select the folder to be indexed…":"Vyberte složku, která má být indexována…","Select Time":"Zvolte čas","Selection approved":"Výběr potvrzen","Selection archived":"Výběr archivován","Selection restored":"Výběr obnoven","Sequential Name":"Pořadový název","Service URL":"URL služby","Services":"Služby","Session":"Relace","Session ID":"ID relace","Sessions":"Relace","Set as Album Cover":"Nastavit jako obal alba","Settings":"Nastavení","Settings saved":"Nastavení uloženo","Setup":"Prvotní nastavení","Share":"Sdílet","Share %{s}":"Sdílet %{s}","Share your pictures with other apps and services.":"Sdílejte své obrázky s dalšími aplikacemi a službami.","Show":"Zobrazit","Show all new faces":"Zobrazit všechny nové tváře","Show Captions":"Zobrazit titulky","Show hidden":"Zobrazit skryté","Show less":"Zobrazit méně","Show more":"Zobrazit více","Show server logs in Library.":"Zobrazit logy serveru v Knihovně.","Show Titles":"Zobrazit názvy","Sidecar":"Přidružený soubor","Sidecar Files":"Soubory Sidecar","Sign in":"Přihlásit se","Similar":"Podobné","Size":"Velikost","Slideshow":"Prezentace","Slow":"Pomalé","Software":"Software","Software Update":"Aktualizace softwaru","Something went wrong, try again":"Něco se pokazilo, zkuste to znovu","Sort by":"Seřadit podle","Sort Order":"Pořadí řazení","Sorted ascending.":"Seřazeno vzestupně.","Sorted descending.":"Seřazeno sestupně.","Source":"Zdroj","Stack":"Stohovat","Stack files sharing the same unique image or instance identifier.":"Stohovat soubory, které sdílí stejný jedinečný snímek nebo identifikátor instance.","Stack pictures taken at the exact same time and location based on their metadata.":"Stohovat snímky pořízené ve stejnou chvíli a ve stejné lokalitě na základě jejich metadat.","Stackable":"Stohovatelné","Stacks":"Stohy","Start":"Spustit","Start Page":"Úvodní stránka","Static Size Limit: %{n}px":"Statický limit velikosti: %{n}px","Status":"Status","Storage":"Úložiště","Streets":"Ulice","Subject":"Předmět","Submit":"Odeslat","Successfully activated":"Úspěšně aktivováno","Successfully Connected":"Úspěšně připojeno","Successfully deleted":"Úspěšně odstraněno","Successfully verified":"Úspěšně ověřeno","Super Admin":"Super administrátor","Support for additional services, like Google Drive, will be added over time.":"Podpora dalších služeb, jako Google Disk, budou postupně přidávány.","Support Our Mission":"Podpořte naše poslání","Sync":"Synchronizace","Sync raw and video files":"Synchronizovat raw a video soubory","Taken":"Pořízeno","Teal":"Šedozelená","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow je nutný pro klasifikaci obrázků, rozpoznávání obličejů a detekci nebezpečného obsahu.","Terrain":"Terén","Text":"Text","Text too long":"Text je příliš dlouhý","Thank You for Your Support!":"Děkujeme za vaši podporu!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Proto byl PhotoPrism od základu vytvořen tak, aby fungoval všude, kde ho potřebujete, aniž by byla ohrožena svoboda, soukromí nebo funkčnost.","The index currently contains %{n} hidden files.":"Index aktuálně obsahuje %{n} skrytých souborů.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Jejich formát nemusí být podporován, nebyly dosud převedeny do JPEG nebo existují duplikáty.","Theme":"Téma","This field is required":"Toto pole je povinné","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Toto nastaví složku originálů jako síťový disk a umožní vám otevírat, upravovat a mazat soubory prostřednictvím vašeho počítače nebo telefonu jako by byly lokálně.","Time UTC":"Čas UTC","Time Zone":"Časová zóna","Timeout":"Časový limit","Title":{"Account":"Titulek","Photo":"Titulek","":"Titulek"},"Title / Position":"Název / pozice","Title too long":"Titulek je příliš dlouhý","to":"do","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Abyste se vyhnuli uzamčení svého účtu, stáhněte si, vytiskněte nebo zkopírujte tento kód pro obnovení a uschovejte jej na bezpečném místě.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Chcete-li vygenerovat nové heslo pro konkrétní aplikaci, zadejte název a rozsah oprávnění aplikace a vyberte datum vypršení platnosti:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Chcete-li přepnout na novou ověřovací aplikaci nebo zařízení, nejprve deaktivujte dvoufaktorové ověřování a poté jej znovu aktivujte:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Chcete-li provést aktualizaci, můžete zadat aktivační kód nebo se zaregistrovat kliknutím na tlačítko \"Registrovat\" na našich webových stránkách:","Today":"Dnes","Toggle View":"Přepnout zobrazení","Token":"Token","Too many files selected":"Příliš mnoho vybraných souborů","Too many requests":"Příliš mnoho požadavků","Troubleshooting":"Řešení problémů","Try again using other filters or keywords.":"Zkuste to znovu použitím jiného filtru nebo klíčového slova.","Two-factor authentication has been enabled for your account.":"Pro váš účet bylo povoleno dvoufaktorové ověřování.","Type":"Typ","Unauthorized":"Neoprávněné","Undo":"Vrátit","Unique ID":"Jedinečné ID","Unknown":"Neznámé","Unregistered":"Neregistrovaný","Unsorted":"Neseřazeno","Unstack":"Nestohovat","Updated":"Aktualizováno","Updating faces":"Aktualizace tváří","Updating index":"Aktualizace indexace","Updating moments":"Aktualizace okamžiků","Updating picture…":"Aktualizace obrázku…","Updating previews":"Aktualizace náhledů","Updating stacks":"Aktualizace stohování","Upgrade":"Upgrade","Upgrade Now":"Upgradujte nyní","Upload":"Nahrát","Upload complete":"Nahrávání dokončeno","Upload complete. Indexing…":"Nahrávání dokončeno. Indexování…","Upload failed":"Nahrávání selhalo","Upload local files":"Nahrát lokální soubory","Upload Path":"Cesta k nahrávání","Upload to WebDAV and share links with friends.":"Nahrát do WebDAV a sdílet odkazy s přáteli.","Uploading %{n} of %{t}…":"Nahrávání %{n} z %{t}…","Uploading photos…":"Nahrávání fotografií…","Uploading…":"Nahrávání…","Uploads that may contain such images will be rejected automatically.":"Nahrávání obsahující takovéto snímky budou automaticky odmítnuta.","Use Presets":"Použít předvolby","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Pokud se vám nedaří vygenerovat platný ověřovací kód pomocí aplikace pro ověřování, použijte pro přístup k účtu následující kód pro obnovení:","Use your recovery code or contact an administrator for help.":"Použijte kód pro obnovení nebo se obraťte na správce.","User":"Uživatel","User Guide":"Uživatelská příručka","User Interface":"Uživatelské rozhraní","Username":"Uživatelské jméno","Users":"Uživatelé","Vector":"Vektor","Vectors":"Vektory","Verification Code":"Ověřovací kód","Video":"Video","Video Duration":"Délka videa","Videos":"Videa","View":"Zobrazit","View search results as a list.":"Zobrazení výsledků vyhledávání jako seznamu.","Viewer":"Prohlížeč","Visitor":"Návštěvník","Visual Similarity":"Vizuální podobnost","Warning":"Varování","We appreciate your feedback!":"Vážíme si vaší zpětné vazby!","We do our best to respond within five business days or less.":"Snažíme se odpovědět do pěti pracovních dnů nebo později.","Web Login":"Webové přihlášení","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"WebDAV klienti se mohou k PhotoPrism připojit pomocí následující URL:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"WebDAC klienti, jako Microsoftí Windows Exporer nebo Applovský Finder, se mohou k PhotoPrism připojit přímo.","WebDAV Upload":"Nahrát přes WebDAV","WebGL support is disabled in your browser":"Podpora WebGL je ve vašem prohlížeči zakázána","Website":"Webová stránka","White":"Bílá","Work Details":"Podrobnosti o práci","Year":"Rok","Yellow":"Žlutá","Yes":"Ano","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"V případě dotazů týkajících se vašeho členství nás můžete kontaktovat na adrese membership@photoprism.app.","You can only download one album":"Stáhnout lze pouze jedno album","You can only download one label":"Stáhnout lze pouze jeden štítek","You can upload up to %{n} files for test purposes.":"Pro testovací účely můžete nahrát až %{n} souborů.","You may only select one item":"Vybrat lze pouze jednu položku","You may rescan your library to find additional faces.":"Můžete znovu prohledat knihovnu a najít další tváře.","Your account has been successfully connected.":"Váš účet byl úspěšně připojen.","Your browser does not support WebGL":"Váš prohlížeč nepodporuje WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Vaše trvalá podpora nám pomáhá poskytovat pravidelné aktualizace a zůstat nezávislými, abychom mohli plnit naše poslání a chránit vaše soukromí.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Vaše knihovna je průběžně analyzována a automaticky vytváří alba zvláštních okamžiků, výletů a míst.","Zoom in/out":"Přiblížit/Oddálit"}} \ No newline at end of file +{"cs":{"{0} appended action":"{0} připojená akce","{0} files":"{0} souborů","{0} files ({1} in total)":"{0} souborů (celkem {1})","{0} more":"{0} více","{0} prepended action":"{0} předřazená akce","{0} selected":"{0} vybráno","{0}-{1} of {2}":"{0}-{1} z {2}","%{n} albums found":"%{n} nalezených alb","%{n} files uploaded":"%{n} nahraných souborů","%{n} folders found":"%{n} nalezených složek","%{n} GB of %{q} GB used":"%{n} GB z %{q} GB použito","%{n} labels found":"%{n} nalezených štítků","%{n} people found":"%{n} nalezeno lidí","%{n} pictures found":"%{n} nalezených obrázků","%{s} is too long":"%{s} je příliš dlouhé","%{s} is too short":"%{s} je příliš krátké","1 hour":"1 hodina","12 hours":"12 hodin","2-Factor Authentication":"Dvoufaktorové ověřování","2FA":"2FA","4 hours":"4 hodiny","A click will copy it to your clipboard.":"Kliknutím zkopírujete do schránky.","A new version of %{s} is available:":"K dispozici je nová verze %{s}:","About":"O nás","Access Token":"Přístupový token","Account":"Účet","Account created":"Účet vytvořen","Account deleted":"Účet vymazán","Account restored":"Obnovení účtu","Accounts":"Účty","Accuracy":"Přesnost","Action":"Akce","Actions":"Akce","Activate":"Aktivovat","Activate to remove sorting.":"Aktivací odstraníte třídění.","Activate to sort ascending.":"Aktivací seřadíte vzestupně.","Activate to sort descending.":"Aktivací seřadíte sestupně.","Activation Code":"Aktivační kód","Add":"Přidat","Add %{s}?":"Přidat %{s}?","Add Account":"Přidat účet","Add Album":"Přidat album","Add files to your library via Web Upload.":"Přidat soubory do vaší knihovny nahráním přes Web.","Add Link":"Přidat odkaz","Add person?":"Přidat osobu?","Add pictures from search results by selecting them.":"Přidat obrázky z výsledků vyhledávání jejich výběrem.","Add to album":"Přidat do alba","Added":"Přidáno","Adjust Location":"Upravit umístění","Admin":"Admin","Advanced":"Pokročilé","After 1 day":"Po 1 dni","After 3 days":"Po 3 dnech","After 7 days":"Po 7 dnech","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Po zadání hesla pro potvrzení můžete nastavit dvoufaktorové ověřování pomocí kompatibilní ověřovací aplikace nebo zařízení:","After one month":"Po jednom měsíci","After one year":"Po jednom roce","After selecting pictures from search results, you can add them to an album using the context menu.":"Po výběru obrázků z výsledků vyhledávání je můžete přidat do alba pomocí kontextové nabídky.","After two months":"Po dvou měsících","After two weeks":"Po dvou týdnech","Album":"Album","Album Backups":"Zálohy alb","Album created":"Album vytvořeno","Album deleted":"Album smazáno","Albums":"Alba","Albums deleted":"Alba vymazána","All":"Všechny","All %{n} albums loaded":"Všech %{n} alb načteno","All %{n} labels loaded":"Všech %{n} štítků načteno","All %{n} people loaded":"Všichni %{n} lidé načteni","All Cameras":"Všechny fotoaparáty","All Categories":"Všechny kategorie","All Colors":"Všechny barvy","All Countries":"Všechny země","All fields are required":"Všechna pole jsou vyžadována","All files from import folder":"Všechny soubory ze složky pro importování","All Lenses":"Všechny objektivy","All Months":"Všechny měsíce","All originals":"Všechny originály","All Years":"Všechny roky","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Alternativně lze nahrát soubory přímo do WebDAV serverů jako je Nextcloud.","Altitude":"Nadmořská výška","Altitude (m)":"Nadmořská výška (m)","AM":"AM","Animated":"Animované","Animation":"Animace","Animations":"Animace","Any private photos and videos remain private and won't be shared.":"Jakékoliv soukromé fotografie nebo videa zůstanou soukromé a nebudou sdílena.","API Key":"API klíč","Application":"Aplikace","Apply":"Použít","Approve":"Potvrdit","Apps and Devices":"Aplikace a zařízení","Archive":"Archivovat","Archived":"Archivováno","Are you sure you want to archive the selection?":"Jste si jisti, že chcete označené archivovat?","Are you sure you want to delete these albums?":"Jste si jisti, že chcete tato alba vymazat?","Are you sure you want to delete these labels?":"Jste si jisti, že chcete tyto štítky vymazat?","Are you sure you want to delete this account?":"Jste si jisti, že chcete tento účet vymazat?","Are you sure you want to delete this album?":"Opravdu chcete toto album odstranit?","Are you sure you want to permanently delete these pictures?":"Jste si jisti, že chcete tyto fotografie trvale odstranit?","Are you sure you want to permanently delete this file?":"Jste si jisti, že chcete tento soubor trvale odstranit?","Are you sure?":"Jste si jistí?","Artist":"Umělec","Aspect Ratio":"Poměr stran","Audio":"Audio","Authentication":"Ověřování","Auto":"Auto","Back":"Zpět","Back to top":"Zpět na začátek","Backup":"Záloha","Badge":"Odznak","Base Path":"Základní cesta","Become a member today, support our mission and enjoy our member benefits!":"Staňte se členem ještě dnes, podpořte naše poslání a využívejte naše členské výhody!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Vzhledem k tomu, že jsme stoprocentně financováni z vlastních zdrojů a nezávislí, můžeme vám slíbit, že vaše údaje nikdy neprodáme a že budeme vždy transparentní, pokud jde o náš software a služby.","Bio":"Biografie","Birth Date":"Datum narození","Black":"Černá","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Lanczos převzorkování, Méně prstencových artefaktů","Blue":"Modrá","Brown":"Hnědá","Browse":"Procházet","Browse and edit image classification labels.":"Prohlížet a upravit štítky klasifikace obrazu.","Browse and share your pictures organized into monthly albums.":"Prohlížejte a sdílejte své fotografie uspořádané do měsíčních alb.","Browse Files":"Procházet soubory","Browse indexed files and folders in Library.":"Prohlížet indexované soubory a složky v Knihovně.","Bug Report":"Nahlásit chybu","Busy, please wait…":"Zaneprázdněn, čekejte prosím…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Používáním softwaru a služeb, které poskytujeme, souhlasíte s našimi podmínkami služby, zásadami ochrany osobních údajů a kodexem chování.","Calendar":"Kalendář","Camera":"Fotoaparát","Camera Serial":"Sériové číslo kamery","Can't access your authenticator app or device?":"Nemůžete získat přístup k aplikaci nebo zařízení autentizátoru?","Can't load more, limit reached":"Nelze načíst více, dosaženo limitu","Can't select more items":"Není možné vybrat více položek","Cancel":"Zrušit","Cannot copy to clipboard":"Nelze zkopírovat do schránky","Caption":"Popisek","Cards":"Karty","Carousel slide {0} of {1}":"Kolotočový snímek {0} z {1}","Category":"Kategorie","Change Avatar":"Změnit fotku","Change Password":"Změnit heslo","Change personal profile and security settings.":"Změna nastavení osobního profilu a zabezpečení.","Change photo titles, locations, and other metadata.":"Změna názvů fotografií, umístění a dalších metadat.","Change private flag":"Změnit soukromou vlaječku","Changes could not be saved":"Změny nemohly být uloženy","Changes successfully saved":"Změny byly úspěšně uloženy","Changes to the advanced settings require a restart to take effect.":"Změny pokročilých nastavení vyžadují restart, aby se projevily.","Checked":"Zkontrolováno","Chroma":"Sytost","Cleaning index and cache":"Čištění indexu a mezipaměti","Cleanup":"Čištění","Clear {0}":"Vymazat {0}","Client":"Klient","Client Credentials":"Pověření klienta","Close":"Zavřít","Codec":"Kodek","Color":"Barva","Color Profile":"Barevný profil","Colors":"Barvy","Compare Editions":"Porovnat edice","Complete Rescan":"Kompletní opětovné prohledání","Confidence":"Jistota","Confirm":"Potvrdit","Connect":"Připojit","Connect via WebDAV":"Připojit přes WebDAV","Connected":"Připojeno","Contact Details":"Kontaktní údaje","Contact Us":"Kontaktujte nás","Contains %{n} pictures.":"Obsahuje %{n} obrázků.","Contains one picture.":"Obsahuje jeden obrázek.","Content":"Obsah","Continue":"Pokračovat","Continue with %{provider}":"Pokračovat pomocí %{provider}","Contributor":"Přispěvatel","Converting":"Převádí se","Copied to clipboard":"Zkopírováno do schránky","Copy":"Kopie","Copyright":"Autorská práva","Couldn't find anything.":"Nebylo nic nalezeno.","Country":"Země","Create Account":"Vytvořit účet","Create album":"Vytvořit album","Create regular backups based on the configured schedule.":"Vytváří zálohy indexů na základě nakonfigurovaného plánu.","Create YAML files to back up album metadata.":"Vytvoření souborů YAML pro zálohování metadat alba.","Create YAML sidecar files to back up picture metadata.":"Vytvoření souborů YAML sidecar pro zálohování metadat obrázků.","Created":"Vytvořeno","Creating thumbnails for":"Vytváření miniatur pro","Cubic: Moderate Quality, Good Performance":"Cubic: Střední kvalita, Dobrý výkon","Current Password":"Aktuální heslo","Custom":"Vlastní","Cyan":"Tyrkysová","Daily":"Denně","Database Backups":"Zálohování databáze","Day":"Den","Deactivate":"Deaktivovat","Debug Logs":"Protokoly ladění","Default":"Výchozí","Default Folder":"Výchozí složka","Delete":"Vymazat","Delete Album":"Smazat album","Delete All":"Smazat vše","Delete all?":"Smazat vše?","Delete orphaned index entries, sidecar files and thumbnails.":"Odstranění osiřelých položek indexu, souborů postranních oddílů a miniatur.","Description":"Popis","Detailed instructions can be found in our User Guide.":"Detailnější instrukce naleznete v naší Uživatelské příručce.","Details":"Detaily","Dimensions":"Rozměry","Disable Backups":"Deaktivovat zálohy","Disable Darktable":"Deaktivovat Darktable","Disable ExifTool":"Deaktivovat ExifTool","Disable features that require write permission for the originals folder.":"Zakázat funkce, které vyžadují oprávnění k zápisu do složky originálů.","Disable FFmpeg":"Deaktivovat FFmpeg","Disable ImageMagick":"Zakázat ImageMagick","Disable interactive world maps and reverse geocoding.":"Zakázat interaktivní mapy světa a reverzní geokódování.","Disable Places":"Deaktivovat místa","Disable RawTherapee":"Deaktivovat RawTherapee","Disable TensorFlow":"Deaktivovat TensorFlow","Disable Vectors":"Zakázat vektory","Disable WebDAV":"Deaktivovat WebDAV","Disables vector graphics support.":"Zakáže podporu vektorové grafiky.","Disables video transcoding and thumbnail extraction.":"Zakáže překódování videa a extrakci miniatur.","Discover":"Objevit","Dismiss":"Odmítnout","Display Name":"Zobrazované jméno","Display picture captions in search results.":"Zobrazení popisků obrázků ve výsledcích vyhledávání.","Display picture titles in search results.":"Zobrazení názvů obrázků ve výsledcích vyhledávání.","Document":"Dokument","Documents":"Dokumenty","Don't use Darktable to convert RAW images.":"Nepoužívat Darktable ke konverzi souborů RAW.","Don't use ImageMagick to convert images.":"Nepoužívejte ImageMagick ke konverzi obrázků.","Don't use RawTherapee to convert RAW images.":"Nepoužívat RawTherapee ke konverzi souborů RAW.","Done":"Hotovo","Done.":"Hotovo.","Download":"Stáhnout","Download only original media files, without any automatically generated files.":"Stahujte pouze originální mediální soubory bez automaticky generovaných souborů.","Download remote files":"Stáhnout vzdálené soubory","Download single files and zip archives.":"Stáhnout jednotlivé soubory a archivy zip.","Downloading…":"Stahování…","Downscaling Filter":"Filtr pro snížení měřítka","Drag and drop files here":"Přetáhněte sem soubory","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"Vzhledem k velkému množství e-mailů, které dostáváme, se může stát, že vám náš tým nebude schopen okamžitě odpovědět.","Duplicates will be skipped and only appear once.":"Duplicity budou přeskočeny a zobrazí se pouze jednou.","Duration":"Délka","Dynamic Previews":"Dynamické náhledy","Dynamic Size Limit: %{n}px":"Dynamický limit velikosti: %{n}px","E-Mail":"E-Mail","Edit":"Upravit","Edit %{s}":"Upravit %{s}","Edit Account":"Upravit účet","Edit Photo":"Upravit fotografii","Edited":"Upraveno","Email":"Email","Enable debug mode to display additional logs and help with troubleshooting.":"Povolením režimu ladění zobrazíte další protokoly a pomůžete při řešení problémů.","Enable new features that may be incomplete or unstable.":"Povolení nových funkcí, které mohou být neúplné nebo nestabilní.","Enables RAW converter presets. May reduce performance.":"Povolí předvolby konvertoru RAW. Může snížit výkon.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Povolení dvoufaktorové autentizace znamená, že k přihlášení budete potřebovat libovolně vygenerovaný kód, takže i když někdo získá přístup k vašemu heslu, nebude mít přístup k vašemu účtu.","Enter date":"Zadejte datum","Enter dates":"Zadejte data","Enter the code generated by your authenticator app:":"Zadejte kód vygenerovaný aplikací autentizátoru:","Enter verification code":"Vložte ověřovací kód","Enter your password to confirm the action and continue:":"Pro potvrzení zadejte své heslo a pokračujte:","Error":"Chyba","Errors":"Chyby","Estimate":"Odhad","Estimate Locations":"Odhad lokalit","Estimate the approximate location of pictures without GPS coordinates.":"Odhad přibližné polohy obrázků bez souřadnic GPS.","Every two days":"Každé dva dny","Exclude content marked as private from search results, shared albums, labels, and places.":"Vyloučit obsah označený jako soukromý z výsledků vyhledávání, sdílených alb, štítků a míst.","Exclude hidden":"Vyloučit skryté","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"Pro plnou podporu videa, živých fotografií a XMP je nutná extrakce metadat pomocí nástroje ExifTool.","Experimental Features":"Experimentální funkce","Expires":"Vyprší","Exposure":"Expozice","Extract still images and generate thumbnails while indexing.":"Extrakce statických snímků a generování miniatur při indexování.","F Number":"Clonové číslo","Face":"Tvář","Faces":"Tváře","Failed removing link":"Odstraňování odkazu selhalo","Failed to connect account.":"Nepodařilo se připojit účet.","Failed updating link":"Aktualizace odkazu selhalo","Family Name":"Rodné jméno","Fast":"Rychlé","Favorite":"Oblíbené","Favorites":"Oblíbené","Feature Request":"Žádost o funkci","Feedback":"Zpětná vazba","Female":"Žena","File":"Soubor","File Browser":"Prohlížeč souborů","File Conversion":"Převod souborů","File Name":"Název souboru","File Size":"Velikost souboru","Filename":"Název souboru","Files":"Soubory","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Soubory s pořadovými názvy jako 'IMG_1234 (2)' a 'IMG_1234 (3)' náleží stejnému obrázku.","First page":"První strana","Focal Length":"Ohnisková vzdálenost","Folder":"Složka","Folder contains %{n} files":"Složka obsahuje %{n} souborů","Folder is empty":"Složka je prázdná","Folders":"Složky","Forgot password?":"Zapoměli jste heslo?","FPS":"FPS","Frames":"Frames","Full Access":"Volný přístup","Fullscreen":"Celá obrazovka","General":"Obecné","Generate":"generovat","Generate albums of special moments, journeys, and places.":"Automaticky vytváří alba zvláštních okamžiků, výletů a míst.","Generate Previews":"Generování náhledů","Generated":"Generováno","Get Started":"Začněte","Given Name":"Dané jméno","Global Options":"Globální možnosti","Go to page {0}":"Přejít na stránku {0}","Gold":"Zlatá","Green":"Zelená","Grey":"Šedá","Guest":"Host","Hash":"Hash","Help":"Pomoc","Help & Support":"Nápověda & Podpora","Hidden":"Skryté","Hidden Files":"Skryté soubory","Hide":"Skrýt","Hide photos that have been moved to archive.":"Skrýt fotografie, které byly přesunuty do archivu.","High":"Vysoká","High Dynamic Range (HDR)":"Vysoký dynamický rozsah (HDR)","How can we help?":"Jak můžeme pomoci?","Hybrid":"Smíšeně","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Pokud ztratíte přístup ke své ověřovací aplikaci nebo zařízení, můžete pomocí kódu pro obnovení znovu získat přístup ke svému účtu.","Image":"Snímek","Image Quality":"Kvalita obrazu","Import":"Importovat","Import failed":"Importování selhalo","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Importované soubory budou seřazeny podle data a přiděleného jedinečného názvu, aby se předešlo duplicitám.","Imported files will be sorted by date and given a unique name.":"Importované soubory budou seřazeny podle data a přiděleného jedinečného názvu.","Importing %{s}…":"Importování %{s}…","Importing files to originals…":"Importování souborů do originálů…","in":"v","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"V případě, že očekávané obrázky chybí, prohledejte knihovnu znovu a počkejte, až bude indexace dokončena.","Include RAW image files when downloading stacks and archives.":"Zahrnout obrazové soubory RAW při stahování stohů a archivů.","Include sidecar files when downloading stacks and archives.":"Při stahování zásobníků a archivů zahrnout soubory sidecar.","Increase storage size or delete files to continue.":"Chcete-li pokračovat, zvětšete velikost úložiště nebo odstraňte soubory.","Index":"Indexovat","Index and import files through the user interface.":"Indexování a importování souborů prostřednictvím uživatelského rozhraní.","Indexing":"Indexování","Indexing failed":"Indexování selhalo","Indexing media and sidecar files…":"Indexování media a přidružených souborů…","Information":"Informace","Instance ID":"ID instance","Insufficient storage.":"Nedostatečné skladování.","Interval":"Interval","Invalid":"Neplatné","Invalid address":"Neplatná adresa","Invalid country":"Neplatná země","Invalid date":"Neplatné datum","Invalid parameters":"Neplatné parametry","Invalid photo selected":"Vybrána neplatná fotografie","Invalid time":"Neplatný čas","Invalid URL":"Neplatná adresa URL","It is a one-time use code that will disable 2FA for your account when you use it.":"Jedná se o jednorázový kód, který deaktivuje 2FA pro váš účet, když jej použijete.","Item":"Položka","Items per page:":"Položky na stránku:","JPEG Quality: %{n}":"JPEG kvalita: %{n}","JPEG Size Limit: %{n}px":"JPEG limit velikosti: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"JPEG a miniatury se vykreslují automaticky dle potřeby.","Keywords":"Klíčová slova","Label":"Štítek","Labels":"Štítky","Labels deleted":"Štítky vymazány","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: Zachování detailů, Minimální artefakty","Language":"Jazyk","Last Active":"Poslední aktivní","Last Login":"Poslední přihlášení","Last page":"Poslední stránka","Last Sync":"Poslední synchronizace","Last Used":"Naposledy použitý","Latitude":"Zeměpisná šířka","LDAP/AD":"LDAP/AD","Learn more":"Zjistěte více","Learn More":"Dozvědět se více","Legal Information":"Právní informace","Lens":"Objektiv","Library":"Knihovna","License":"Licence","Like":"Líbí se mi","Lime":"Limetková","Limit reached, showing first %{n} files":"Dosaženo limitu, zobrazeno prvních %{n} souborů","Linear: Very Smooth, Best Performance":"Linear: Velmi vyhlazené, Nejlepší výkon","Link":"Odkaz","List":"Seznam","List View":"Zobrazení seznamu","Live":"Živé","Live Photos":"Živé fotografie","Load more":"Načíst více","Loading items...":"Načítání položek...","Loading...":"Načítání...","Local":"Místní","Local Time":"Místní čas","Location":"Lokalita","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Zprávy logu se zde zobrazují vždy, když PhotoPrism narazí na poškozené soubory nebo se vyskytnou jiné potenciální problémy.","Login":"Přihlášení","Logout":"Odhlásit se","Logs":"Logy","Longitude":"Zeměpisná délka","Low":"Nízká","Magenta":"Purpurová","Main Color":"Převažující barva","Male":"Muž","Manage Account":"Správa účtu","Manager":"Manažer","Manual":"Manuální","Manual Upload":"Ruční nahrání","Maps":"Mapy","Marker":"Značka","Maximum number of accounts has been reached.":"Bylo dosaženo maximálního počtu účtů.","Media":"Média","Medium":"Střední","Membership":"Členství","Merge %{a} with %{b}?":"Sloučit %{a} s %{b}?","Message":"Zpráva","Message sent":"Zpráva odeslána","Metadata":"Metadata","Metrics":"Metriky","Minimize":"Minimalizovat","Missing":"Chybějící","Missing or invalid configuration":"Chybějící nebo neplatná konfigurace","Moments":"Okamžiky","Monochrome":"Monochromatické","Month":"Měsíc","More options":"Další možnosti","Mosaic":"Mozaika","Most Relevant":"Nejrelevantnější","Move Files":"Přesunout soubory","Must have at least %{n} characters.":"Musí mít alespoň %{n} znaků.","Mute":"Ztlumit","Name":"Název","Name too long":"Název je příliš dlouhý","Never":"Nikdy","New":"Nový","New Password":"Nové heslo","Newest First":"Od nejnovějších","Next":"Další","Next page":"Další stránka","Next visual":"Další vizuální","No":"Ne","No albums found":"Nenalezena žádná alba","No data available":"Nejsou k dispozici žádné údaje","No labels found":"Nenalezeny žádné štítky","No matching records found":"Nebyly nalezeny žádné odpovídající záznamy","No more":"Ne více","No people found":"Nenalezeny žádné osoby","No pictures found":"Nenalezeny žádné obrázky","No recently edited pictures":"Žádné nedávno upravené obrázky","No results":"Žádné výsledky","No server connection":"Žádné připojení k serveru","No servers configured.":"Žádný server nebyl nakonfigurován.","No services configured.":"Nejsou nakonfigurovány žádné služby.","No thanks":"Ne, děkuji","No warnings or error containing this keyword. Note that search is case-sensitive.":"Žádná varování nebo chyba obsahující toto klíčové slovo. Mějte na paměti, že při vyhledávání se rozlišují velká a malá písmena.","Non-photographic and low-quality images require a review before they appear in search results.":"Nefotografické obrázky a snímky nízké kvality vyžadují kontrolu, než se objeví ve výsledcích vyhledávání.","None":"Žádné","Not allowed":"Není povoleno","Not found":"Nenalezeno","Not sorted.":"Netřídí se.","Not supported":"Není podporováno","Note you may manually manage your originals folder and importing is optional.":"Složku originálů můžete spravovat ručně a import je volitelný.","Note:":"Poznámka:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Poznámka: Pouze WebDAV servery, jako Nextcloud nebo PhotoPrism, mohou být nakonfigurovány jako vzdálená služba pro zálohu a nahrávání souborů.","Notes":"Poznámky","Nothing to see here yet.":"Není tu nic k vidění. Prosíme o trpělivost.","Nothing was found.":"Nic nebylo nalezeno.","Offline":"Offline","OIDC":"OIDC","OK":"OK","Oldest First":"Od nejstarších","On Windows, enter the following resource in the connection dialog:":"V systému Windows zadejte do dialogového okna připojení následující prostředek:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"Generování miniatur na vyžádání může způsobit vysoké využití procesoru a paměti. Nedoporučuje se pro servery a zařízení NAS s omezenými zdroji.","Once a week":"Jednou týdně","One album found":"Nalezeno jedno album","One file found":"Nalezen jeden soubor","One file uploaded":"Nahrán jeden soubor","One folder found":"Nalezena jedna složka","One label found":"Nalezen jeden štítek","One person found":"Nalezena jedna osoba","One picture found":"Nalezen jeden obrázek","Only locally managed accounts can be set up for authentication with 2FA.":"Pro ověřování pomocí 2FA lze nastavit pouze lokálně spravované účty.","Open":"Otevřít","optional":"volitelné","or":"nebo","Orange":"Oranžová","Organization":"Organizace","Orientation":"Orientace","Original file names will be stored and indexed.":"Původní názvy souborů budou uloženy a indexovány.","Original Name":"Název originálu","Originals":"Originály","Other":"Jiné","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Naším posláním je poskytovat uživatelsky nejpřívětivější řešení pro uspořádání a zpřístupnění vašich fotografií.","Outdoor":"Zeměpisně","Page {0}, Current page":"Stránka {0}, Aktuální stránka","Pages":"Stránky","Pagination Navigation":"Stránkování Navigace","Panorama":"Panorama","Panoramas":"Panoramata","Password":"Heslo","Password changed":"Heslo změněno","People":"Lidé","People you share a link with will be able to view public contents.":"Lidé, se kterými sdílíte odkaz, budou moci zobrazit veřejný obsah.","Permanently deleted":"Trvale smazáno","Permanently remove files to free up storage.":"Trvale odstraňte soubory, abyste uvolnili úložiště.","Person":"Osoba","Personal":"Osobní","Photo":"Fotografie","PhotoPrism is 100% self-funded and independent.":"Společnost PhotoPrism je 100% nezávislá a financovaná z vlastních zdrojů.","PhotoPrism+ Membership":"Členství v programu PhotoPrism+","Photos":"Fotografie","Picture Title":"Název obrázku","Pink":"Růžová","Place":"Místo","Place & Time":"Místo a Čas","Places":"Místa","Please confirm your new password.":"Potvrďte prosím nové heslo.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Zkopírujte prosím následující náhodně vygenerované heslo aplikace a uschovejte je na bezpečném místě, protože je již neuvidíte:","Please do not upload any private, unlawful or offensive pictures.":"Nevkládejte prosím žádné soukromé, nezákonné nebo urážlivé obrázky.","Please don't upload photos containing offensive content.":"Nenahrávejte prosím fotografie obsahující urážlivý obsah.","Please enter OTP character {0}":"Zadejte prosím znak OTP {0}","Please note that changing your password will log you out on other devices and browsers.":"Vezměte prosím na vědomí, že změna hesla vás odhlásí i na jiných zařízeních a v jiných prohlížečích.","Please restart your instance for the changes to take effect.":"Aby se změny projevily, restartujte instanci.","Please wait…":"Počkejte prosím…","PM":"PM","PNG Size Limit: %{n}px":"PNG limit velikosti: %{n}px","Portrait":"Portrét","Preserve filenames":"Zachovat názvy souborů","Press enter to create a new album.":"Stiskněte Enter pro vytvoření nového alba.","Prevent database and album backups as well as YAML sidecar files from being created.":"Zabránit vytváření záloh databáze a alb a souborů YAML sidecar.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Zabránit ostatním aplikacím v přístupu k aplikaci PhotoPrism jako ke sdílené síťové jednotce.","Preview":"Náhled","Preview Images":"Náhled obrázků","Previous":"Předchozí","Previous page":"Předchozí stránka","Previous visual":"Předchozí vizuální","Primary":"Primární","Private":"Soukromé","Product Feedback":"Zpětná vazba k produktu","Projection":"Projekce","Purple":"Fialová","Quality Filter":"Filtr kvality","Quality Score":"Hodnocení kvality","r":"r","Random":"Náhodně","Rating {0} of {1}":"Hodnocení {0} z {1}","Raw":"Raw","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Znovu indexovat všechny originály, včetně již zaindexovaných a nezměněných souborů.","Read-Only Mode":"Mód jen pro čtení","Recently Added":"Nedávno přidané","Recently Archived":"Nedávno archivované","Recently Edited":"Nedávno upravené","Recognition starts after indexing has been completed.":"Rozpoznávání se spustí po dokončení indexování.","Recognize faces so people can be assigned and found.":"Rozpoznává obličeje, aby bylo možné najít konkrétní osoby.","Recognized":"Rozpoznané","Recovery Code":"Kód obnovy","Red":"Červená","Refresh":"Obnovit","Regions":"Regiony","Register":"Registrace","Reload":"Znovu načíst","Reloading…":"Načítání…","Remote Sync":"Vzdálená synchronizace","Remove":"Odstranit","remove failed: unknown album":"odstranění selhalo: neznámé album","Remove from Album":"Odebrat z alba","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Odstranit importované soubory pro ušetření úložného prostoru. Nepodporované typy souborů odstraněny nikdy nebudou, zůstanou ve svém aktuálním umístění.","Request failed - are you offline?":"Požadavek se nezdařil - jste offline?","Request failed - invalid response":"Požadavek selhal - neplatná odpověď","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Požadavek na kontrolu nefotografických a nekvalitních obrázků před jejich zobrazením ve výsledcích vyhledávání.","Resolution":"Rozlišení","Restart":"Restartování","Restore":"Obnovit","Restored":"Obnovené stránky","Retry Limit":"Limit opakování","Retype Password":"Znovu zadejte heslo","Review":"Kontrola","Role":"Role","Rows per page:":"Řádky na stránku:","Satellite":"Satelitní","Save":"Uložit","Scan":"Sken","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Naskenujte QR kód pomocí své ověřovací aplikace nebo použijte klíč nastavení uvedený níže a poté zadejte vygenerovaný ověřovací kód:","Scans":"Skeny","Scope":"Oblast působnosti","Search":"Vyhledat","Search and display photos on a map.":"Vyhledat a zobrazit fotografie na mapě.","Season":"Období","Secret":"Tajemství","Security and Access":"Zabezpečení a přístup","Select":"Označit","Select a source folder to import files…":"Vyberte zdrojovou složku pro import souborů…","Select date":"Zvolte datum","Select dates":"Zvolte data","Select or create an album":"Výběr nebo vytvoření alba","Select the files to upload…":"Vyberte soubory, které chcete nahrát…","Select the folder to be indexed…":"Vyberte složku, která má být indexována…","Select Time":"Zvolte čas","Selection approved":"Výběr potvrzen","Selection archived":"Výběr archivován","Selection restored":"Výběr obnoven","Sequential Name":"Pořadový název","Service URL":"URL služby","Services":"Služby","Session":"Relace","Session ID":"ID relace","Sessions":"Relace","Set as Album Cover":"Nastavit jako obal alba","Settings":"Nastavení","Settings saved":"Nastavení uloženo","Setup":"Prvotní nastavení","Share":"Sdílet","Share %{s}":"Sdílet %{s}","Share your pictures with other apps and services.":"Sdílejte své obrázky s dalšími aplikacemi a službami.","Show":"Zobrazit","Show all new faces":"Zobrazit všechny nové tváře","Show Captions":"Zobrazit titulky","Show hidden":"Zobrazit skryté","Show less":"Zobrazit méně","Show more":"Zobrazit více","Show server logs in Library.":"Zobrazit logy serveru v Knihovně.","Show Titles":"Zobrazit názvy","Sidecar":"Přidružený soubor","Sidecar Files":"Soubory Sidecar","Sign in":"Přihlásit se","Similar":"Podobné","Size":"Velikost","Slideshow":"Prezentace","Slow":"Pomalé","Software":"Software","Software Update":"Aktualizace softwaru","Something went wrong, try again":"Něco se pokazilo, zkuste to znovu","Sort by":"Seřadit podle","Sort Order":"Pořadí řazení","Sorted ascending.":"Seřazeno vzestupně.","Sorted descending.":"Seřazeno sestupně.","Source":"Zdroj","Stack":"Stohovat","Stack files sharing the same unique image or instance identifier.":"Stohovat soubory, které sdílí stejný jedinečný snímek nebo identifikátor instance.","Stack pictures taken at the exact same time and location based on their metadata.":"Stohovat snímky pořízené ve stejnou chvíli a ve stejné lokalitě na základě jejich metadat.","Stackable":"Stohovatelné","Stacks":"Stohy","Start":"Spustit","Start Page":"Úvodní stránka","Static Size Limit: %{n}px":"Statický limit velikosti: %{n}px","Status":"Status","Storage":"Úložiště","Streets":"Ulice","Subject":"Předmět","Submit":"Odeslat","Successfully activated":"Úspěšně aktivováno","Successfully Connected":"Úspěšně připojeno","Successfully deleted":"Úspěšně odstraněno","Successfully verified":"Úspěšně ověřeno","Super Admin":"Super administrátor","Support for additional services, like Google Drive, will be added over time.":"Podpora dalších služeb, jako Google Disk, budou postupně přidávány.","Support Our Mission":"Podpořte naše poslání","Sync":"Synchronizace","Sync raw and video files":"Synchronizovat raw a video soubory","Taken":"Pořízeno","Teal":"Šedozelená","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow je nutný pro klasifikaci obrázků, rozpoznávání obličejů a detekci nebezpečného obsahu.","Terrain":"Terén","Text":"Text","Text too long":"Text je příliš dlouhý","Thank You for Your Support!":"Děkujeme za vaši podporu!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Proto byl PhotoPrism od základu vytvořen tak, aby fungoval všude, kde ho potřebujete, aniž by byla ohrožena svoboda, soukromí nebo funkčnost.","The index currently contains %{n} hidden files.":"Index aktuálně obsahuje %{n} skrytých souborů.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Jejich formát nemusí být podporován, nebyly dosud převedeny do JPEG nebo existují duplikáty.","Theme":"Téma","This field is required":"Toto pole je povinné","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Toto nastaví složku originálů jako síťový disk a umožní vám otevírat, upravovat a mazat soubory prostřednictvím vašeho počítače nebo telefonu jako by byly lokálně.","Time UTC":"Čas UTC","Time Zone":"Časová zóna","Timeout":"Časový limit","Title":{"Account":"Titulek","Photo":"Titulek","":"Titulek"},"Title / Position":"Název / pozice","Title too long":"Titulek je příliš dlouhý","to":"do","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Abyste se vyhnuli uzamčení svého účtu, stáhněte si, vytiskněte nebo zkopírujte tento kód pro obnovení a uschovejte jej na bezpečném místě.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Chcete-li vygenerovat nové heslo pro konkrétní aplikaci, zadejte název a rozsah oprávnění aplikace a vyberte datum vypršení platnosti:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Chcete-li přepnout na novou ověřovací aplikaci nebo zařízení, nejprve deaktivujte dvoufaktorové ověřování a poté jej znovu aktivujte:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Chcete-li provést aktualizaci, můžete zadat aktivační kód nebo se zaregistrovat kliknutím na tlačítko \"Registrovat\" na našich webových stránkách:","Today":"Dnes","Toggle View":"Přepnout zobrazení","Token":"Token","Too many files selected":"Příliš mnoho vybraných souborů","Too many requests":"Příliš mnoho požadavků","Troubleshooting":"Řešení problémů","Try again using other filters or keywords.":"Zkuste to znovu použitím jiného filtru nebo klíčového slova.","Two-factor authentication has been enabled for your account.":"Pro váš účet bylo povoleno dvoufaktorové ověřování.","Type":"Typ","Unable to delete":"Nelze odstranit","Unauthorized":"Neoprávněné","Undo":"Vrátit","Unique ID":"Jedinečné ID","Unknown":"Neznámé","Unregistered":"Neregistrovaný","Unsorted":"Neseřazeno","Unstack":"Nestohovat","Updated":"Aktualizováno","Updating faces":"Aktualizace tváří","Updating index":"Aktualizace indexace","Updating moments":"Aktualizace okamžiků","Updating picture…":"Aktualizace obrázku…","Updating previews":"Aktualizace náhledů","Updating stacks":"Aktualizace stohování","Upgrade":"Upgrade","Upgrade Now":"Upgradujte nyní","Upload":"Nahrát","Upload complete":"Nahrávání dokončeno","Upload complete. Indexing…":"Nahrávání dokončeno. Indexování…","Upload failed":"Nahrávání selhalo","Upload local files":"Nahrát lokální soubory","Upload Path":"Cesta k nahrávání","Upload to WebDAV and share links with friends.":"Nahrát do WebDAV a sdílet odkazy s přáteli.","Uploading %{n} of %{t}…":"Nahrávání %{n} z %{t}…","Uploading photos…":"Nahrávání fotografií…","Uploading…":"Nahrávání…","Uploads that may contain such images will be rejected automatically.":"Nahrávání obsahující takovéto snímky budou automaticky odmítnuta.","Use Presets":"Použít předvolby","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Pokud se vám nedaří vygenerovat platný ověřovací kód pomocí aplikace pro ověřování, použijte pro přístup k účtu následující kód pro obnovení:","Use your recovery code or contact an administrator for help.":"Použijte kód pro obnovení nebo se obraťte na správce.","User":"Uživatel","User Guide":"Uživatelská příručka","User Interface":"Uživatelské rozhraní","Username":"Uživatelské jméno","Users":"Uživatelé","Vector":"Vektor","Vectors":"Vektory","Verification Code":"Ověřovací kód","Video":"Video","Video Duration":"Délka videa","Videos":"Videa","View":"Zobrazit","View search results as a list.":"Zobrazení výsledků vyhledávání jako seznamu.","Viewer":"Prohlížeč","Visitor":"Návštěvník","Visual Similarity":"Vizuální podobnost","Warning":"Varování","We appreciate your feedback!":"Vážíme si vaší zpětné vazby!","We do our best to respond within five business days or less.":"Snažíme se odpovědět do pěti pracovních dnů nebo později.","Web Login":"Webové přihlášení","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"WebDAV klienti se mohou k PhotoPrism připojit pomocí následující URL:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"WebDAC klienti, jako Microsoftí Windows Exporer nebo Applovský Finder, se mohou k PhotoPrism připojit přímo.","WebDAV Upload":"Nahrát přes WebDAV","WebGL support is disabled in your browser":"Podpora WebGL je ve vašem prohlížeči zakázána","Website":"Webová stránka","White":"Bílá","Work Details":"Podrobnosti o práci","Year":"Rok","Yellow":"Žlutá","Yes":"Ano","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"V případě dotazů týkajících se vašeho členství nás můžete kontaktovat na adrese membership@photoprism.app.","You can only download one album":"Stáhnout lze pouze jedno album","You can only download one label":"Stáhnout lze pouze jeden štítek","You can search for a location or move the marker on the map to change the position:":"Můžete vyhledat místo nebo přesunout značku na mapě a změnit polohu:","You can upload up to %{n} files for test purposes.":"Pro testovací účely můžete nahrát až %{n} souborů.","You may only select one item":"Vybrat lze pouze jednu položku","You may rescan your library to find additional faces.":"Můžete znovu prohledat knihovnu a najít další tváře.","Your account has been successfully connected.":"Váš účet byl úspěšně připojen.","Your browser does not support WebGL":"Váš prohlížeč nepodporuje WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Vaše trvalá podpora nám pomáhá poskytovat pravidelné aktualizace a zůstat nezávislými, abychom mohli plnit naše poslání a chránit vaše soukromí.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Vaše knihovna je průběžně analyzována a automaticky vytváří alba zvláštních okamžiků, výletů a míst.","Zoom in/out":"Přiblížit/Oddálit"}} \ No newline at end of file diff --git a/frontend/src/locales/json/da.json b/frontend/src/locales/json/da.json index ce3e14444..709248eaa 100644 --- a/frontend/src/locales/json/da.json +++ b/frontend/src/locales/json/da.json @@ -1 +1 @@ -{"da":{"{0} appended action":"{0} tilføjet handling","{0} files":"{0} filer","{0} files ({1} in total)":"{0} filer ({1} i alt)","{0} more":"{0} mere","{0} prepended action":"{0} foranstillet handling","{0} selected":"{0} valgt","{0}-{1} of {2}":"{0}-{1} af {2}","%{n} albums found":"%{n} album fundet","%{n} files uploaded":"%{n} filer uploadet","%{n} folders found":"%{n} mapper fundet","%{n} GB of %{q} GB used":"%{n} GB af %{q} GB brugt","%{n} labels found":"%{n} etiketter fundet","%{n} people found":"%{n} personer fundet","%{n} pictures found":"%{n} billeder fundet","%{s} is too long":"%{s} er for lang","%{s} is too short":"%{s} er for kort","1 hour":"1 time","12 hours":"12 timer","2-Factor Authentication":"2-faktor-godkendelse","2FA":"2FA","4 hours":"4 timer","A click will copy it to your clipboard.":"Et klik kopierer det til dit udklipsholder.","A new version of %{s} is available:":"En ny version af %{s} er tilgængelig:","About":"Om","Access Token":"Adgangstoken","Account":"Konto","Account created":"Konto oprettet","Account deleted":"Konto slettet","Account restored":"Konto gendannet","Accounts":"Konti","Accuracy":"Nøjagtighed","Action":"Handling","Actions":"Handlinger","Activate":"Aktivér","Activate to remove sorting.":"Aktiver for at fjerne sorteringen.","Activate to sort ascending.":"Aktivér for at sortere stigende.","Activate to sort descending.":"Aktivér for at sortere faldende.","Activation Code":"Aktiveringskode","Add":"Tilføj","Add %{s}?":"Tilføj %{s}?","Add Account":"Tilføj konto","Add Album":"Tilføj album","Add files to your library via Web Upload.":"Føj filer til dit bibliotek via Web Upload.","Add Link":"Tilføj link","Add person?":"Tilføj person?","Add pictures from search results by selecting them.":"Tilføj billeder fra søgeresultater ved at vælge dem.","Add to album":"Føj til albummet","Added":"Tilføjet","Admin":"Admin","Advanced":"Avanceret","After 1 day":"Efter 1 dag","After 3 days":"Efter 3 dage","After 7 days":"Efter 7 dage","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Når du har indtastet din adgangskode til bekræftelse, kan du konfigurere to-faktor-godkendelse med en kompatibel godkendelsesapp eller enhed:","After one month":"Efter en måned","After one year":"Efter et år","After selecting pictures from search results, you can add them to an album using the context menu.":"Når du har valgt billeder fra søgeresultaterne, kan du tilføje dem til et album ved hjælp af kontekstmenuen.","After two months":"Efter to måneder","After two weeks":"Efter tre uger","Album":"Album","Album Backups":"Sikkerhedskopier af album","Album created":"Album oprettet","Albums":"Album","Albums deleted":"Albums slettet","All":"Alle","All %{n} albums loaded":"Alle %{n} album er indlæst","All %{n} labels loaded":"Alle %{n} etiketter er indlæst","All %{n} people loaded":"Alle %{n} personer indlæst","All Cameras":"Alle kameraer","All Categories":"Alle kategorier","All Colors":"Alle farver","All Countries":"Alle lande","All fields are required":"Alle felter skal udfyldes","All files from import folder":"Alle filer fra importmappen","All Lenses":"Alle linser","All Months":"Alle måneder","All originals":"Alle originaler","All Years":"Alle år","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Alternativt kan du uploade filer direkte til WebDAV-servere såsom Nextcloud.","Altitude":"Højde","Altitude (m)":"Højde (m)","AM":"AM","Animated":"Animeret","Animation":"Animation","Any private photos and videos remain private and won't be shared.":"Alle private fotos og videoer forbliver private og deles ikke.","API Key":"API-nøgle","Application":"Applikation","Apply":"Anvend","Approve":"Godkend","Apps and Devices":"Apps og enheder","Archive":"Arkiver","Archived":"Arkiveret","Are you sure you want to archive the selection?":"Er du sikker på, at du vil arkivere det markerede?","Are you sure you want to delete these albums?":"Er du sikker på, at du vil slette disse album?","Are you sure you want to delete these labels?":"Er du sikker på, at du vil slette disse etiketter?","Are you sure you want to delete this account?":"Er du sikker på, at du vil slette denne konto?","Are you sure you want to permanently delete these pictures?":"Er du sikker på, at du vil slette disse billeder permanent?","Are you sure you want to permanently delete this file?":"Er du sikker på, at du vil slette denne fil permanent?","Are you sure?":"Er du sikker?","Artist":"Kunstner","Aspect Ratio":"Billedformat","Audio":"Lyd","Authentication":"Godkendelse","Auto":"Auto","Back":"Tilbage","Back to top":"Tilbage til toppen","Backup":"Backup","Badge":"Badge","Base Path":"Basis sti","Become a member today, support our mission and enjoy our member benefits!":"Bliv medlem i dag, støt vores mission og få glæde af vores medlemsfordele!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Da vi er 100 % selvfinansierede og uafhængige, kan vi love dig, at vi aldrig vil sælge dine data, og at vi altid vil være gennemsigtige med hensyn til vores software og tjenester.","Bio":"Biografi","Birth Date":"Fødselsdato","Black":"Sort","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Lanczos-ændring, færre ringende artefakter","Blue":"Blå","Brown":"Brun","Browse":"Gennemse","Browse and edit image classification labels.":"Gennemse og rediger billedklassifikationsetiketter.","Browse and share your pictures organized into monthly albums.":"Gennemse og del dine billeder organiseret i månedlige album.","Browse Files":"Gennemse filer","Browse indexed files and folders in Library.":"Gennemse indekserede filer og mapper i biblioteket.","Bug Report":"Fejlrapport","Busy, please wait…":"Optaget, vent venligst …","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Ved at bruge den software og de tjenester, vi tilbyder, accepterer du vores servicevilkår, privatlivspolitik og adfærdskodeks.","Calendar":"Kalender","Camera":"Kamera","Camera Serial":"Kamera serienummer","Can't access your authenticator app or device?":"Kan du ikke få adgang til din authenticator-app eller -enhed?","Can't load more, limit reached":"Kan ikke indlæse mere, grænsen nået","Can't select more items":"Kan ikke vælge flere elementer","Cancel":"Annullere","Caption":"Billedtekst","Cards":"Kort","Carousel slide {0} of {1}":"Karrusel-slide {0} af {1}.","Category":"Kategori","Change Avatar":"Ændre Avatar","Change Password":"Ændre adgangskode","Change personal profile and security settings.":"Ændre personlige profil- og sikkerhedsindstillinger.","Change photo titles, locations, and other metadata.":"Ændre billedtitler, steder og andre metadata.","Change private flag":"Ændre privat flag","Changes could not be saved":"Ændringer kunne ikke gemmes","Changes successfully saved":"Ændringer gemt med succes","Changes to the advanced settings require a restart to take effect.":"Ændringer i de avancerede indstillinger kræver en genstart for at træde i kraft.","Checked":"Kontrolleret","Chroma":"Chroma","Cleaning index and cache":"Oprydning af indeks og cache","Cleanup":"Oprydning","Clear {0}":"Ryd {0}","Client":"Kunde","Client Credentials":"Kundens legitimationsoplysninger","Close":"Luk","Codec":"Codec","Color":"Farve","Color Profile":"Farveprofil","Colors":"Farver","Compare Editions":"Sammenlign udgaver","Complete Rescan":"Komplet scanning","Confidence":"Tillid","Confirm":"Bekræft","Connect":"Opret forbindelse","Connect via WebDAV":"Opret forbindelse via WebDAV","Connected":"Tilsluttet","Contact Details":"Kontaktoplysninger","Contact Us":"Kontakt os","Contains %{n} pictures.":"Indeholder %{n} billeder.","Contains one picture.":"Indeholder et billede.","Content":"Indhold","Continue":"Fortsæt","Continue with %{provider}":"Fortsæt med %{udbyder}","Contributor":"Bidragyder","Converting":"Konverterer","Copied to clipboard":"Kopieret til udklipsholderen","Copy":"Kopier","Copyright":"Ophavsret","Couldn't find anything.":"Kunne ikke finde noget.","Country":"Land","Create Account":"Opret konto","Create album":"Opret album","Create regular backups based on the configured schedule.":"Opret sikkerhedskopier af indeks baseret på den konfigurerede tidsplan.","Create YAML files to back up album metadata.":"Opret YAML-filer til sikkerhedskopiering af albummet.","Create YAML sidecar files to back up picture metadata.":"Opret YAML-sidevognsfiler til sikkerhedskopiering af billedmetadata.","Created":"Oprettet","Creating thumbnails for":"Opretter miniaturer til","Cubic: Moderate Quality, Good Performance":"Cubic: Moderat Kvalitet, God Ydeevne","Current Password":"Nuværende kodeord","Custom":"Brugerdefineret","Cyan":"Cyan","Daily":"Dagligt","Database Backups":"Sikkerhedskopiering af databaser","Day":"Dag","Deactivate":"Deaktiver","Debug Logs":"Fejlfindingslog","Default":"Standard","Default Folder":"Standardmappe","Delete":"Slet","Delete All":"Slet alle","Delete all?":"Slet alle?","Delete orphaned index entries, sidecar files and thumbnails.":"Slet forældreløse indeksposter, sidevognsfiler og miniaturebilleder.","Description":"Beskrivelse","Detailed instructions can be found in our User Guide.":"Detaljerede instruktioner kan findes i vores brugervejledning.","Details":"Detaljer","Dimensions":"Dimensioner","Disable Backups":"Deaktiver sikkerhedskopier","Disable Darktable":"Deaktivere Darktable","Disable ExifTool":"Deaktiver ExifTool","Disable features that require write permission for the originals folder.":"Deaktiver funktioner, der kræver skrivetilladelse til originalmappen.","Disable FFmpeg":"Deaktiver FFmpeg","Disable ImageMagick":"Deaktiver ImageMagick","Disable interactive world maps and reverse geocoding.":"Deaktiver interaktive verdenskort og omvendt geokodning.","Disable Places":"Deaktiver steder","Disable RawTherapee":"Deaktivere RawTherapee","Disable TensorFlow":"Deaktiver TensorFlow","Disable Vectors":"Deaktivere vektorer","Disable WebDAV":"Deaktiver WebDAV","Disables vector graphics support.":"Deaktiverer understøttelse af vektorgrafik.","Disables video transcoding and thumbnail extraction.":"Deaktiverer video-omkodning og dannelse af miniaturebilleder.","Discover":"Opdag","Dismiss":"Afslå","Display Name":"Vis navn","Display picture captions in search results.":"Vis billedtekster i søgeresultater.","Display picture titles in search results.":"Vis billedtitler i søgeresultater.","Document":"Dokument","Documents":"Dokumenter","Don't use Darktable to convert RAW images.":"Du må ikke bruge Darktable til at konvertere RAW-filer.","Don't use ImageMagick to convert images.":"Brug ikke ImageMagick til at konvertere billeder.","Don't use RawTherapee to convert RAW images.":"Du må ikke bruge RawTherapee til at konvertere RAW-filer.","Done":"Færdig","Done.":"Udført.","Download":"Download","Download only original media files, without any automatically generated files.":"Download kun originale mediefiler, uden automatisk genererede filer.","Download remote files":"Download fjernfiler","Download single files and zip archives.":"Download enkeltfiler og zip-arkiver.","Downloading…":"Downloader…","Downscaling Filter":"Nedskaleringsfilter","Drag and drop files here":"Træk og slip filer her","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"På grund af den store mængde e-mails, vi modtager, kan det være, at vores team ikke kan svare dig med det samme.","Duplicates will be skipped and only appear once.":"Duplikater springes over og vises kun én gang.","Duration":"Varighed","Dynamic Previews":"Dynamiske miniaturebilleder","Dynamic Size Limit: %{n}px":"Grænse for dynamisk størrelse: %{n}px","E-Mail":"E-mail","Edit":"Redigere","Edit %{s}":"Rediger %{s}","Edit Account":"Rediger konto","Edit Photo":"Rediger Billede","Edited":"Redigeret","Email":"E-mail","Enable debug mode to display additional logs and help with troubleshooting.":"Aktivér debug-tilstand for at få vist yderligere logfiler og hjælp til fejlfinding.","Enable new features that may be incomplete or unstable.":"Aktivér nye funktioner, der kan være ufuldstændige eller ustabile.","Enables RAW converter presets. May reduce performance.":"Aktiverer RAW-konverteringsindstillinger. Kan reducere ydeevnen.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Aktivering af to-faktor-godkendelse betyder, at du skal bruge en tilfældigt genereret bekræftelseskode for at logge ind, så selvom nogen får adgang til din adgangskode, vil de ikke kunne få adgang til din konto.","Enter date":"Indtast dato","Enter dates":"Indtast datoer","Enter the code generated by your authenticator app:":"Indtast den kode, der genereres af din autentificeringsapp:","Enter verification code":"Indtast verifikations kode","Enter your password to confirm the action and continue:":"Indtast din adgangskode for at bekræfte handlingen og fortsæt:","Error":"Fejl","Errors":"Fejl","Estimate":"Skøn","Estimate Locations":"Anslå placeringer","Estimate the approximate location of pictures without GPS coordinates.":"Anslå den omtrentlige placering af billeder uden GPS-koordinater.","Every two days":"Hver anden dag","Exclude content marked as private from search results, shared albums, labels, and places.":"Udeluk indhold, der er markeret som privat, fra søgeresultater, delte album, etiketter og steder.","Exclude hidden":"Udelukke skjulte","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"Metadataudtræk med ExifTool er påkrævet for fuld understøttelse af video, livefoto og XMP.","Experimental Features":"Eksperimentelle funktioner","Expires":"Udløber","Exposure":"Eksponering","Extract still images and generate thumbnails while indexing.":"Udtræk stillbilleder og generer thumbnails under indeksering.","F Number":"F-nummer","Face":"Ansigt","Faces":"Ansigter","Failed removing link":"Linket kunne ikke fjernes","Failed to connect account.":"Kunne ikke oprette forbindelse til konto.","Failed updating link":"Linket kunne ikke opdateres","Family Name":"Efternavn","Fast":"Hurtig","Favorite":"Favorit","Favorites":"Favoritter","Feature Request":"Funktionsanmodning","Feedback":"Tilbagemelding","Female":"Kvinde","File":"Fil","File Browser":"Filbrowser","File Conversion":"Konvertering af filer","File Name":"Filnavn","File Size":"Filstørrelse","Filename":"Filnavn","Files":"Filer","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Filer med sekventielle navne som ‘IMG_1234 (2)’ og ‘IMG_1234 (3)’ hører til det samme billede.","First page":"Første side","Focal Length":"Brændvidde","Folder":"Mappe","Folder contains %{n} files":"Mappen indeholder %{n} filer","Folder is empty":"Mappen er tom","Folders":"Mapper","Forgot password?":"Glemt adgangskode?","FPS":"FPS","Frames":"Rammer","Full Access":"Fuld adgang","Fullscreen":"Fuld skærm","General":"General","Generate":"Frembringe","Generate albums of special moments, journeys, and places.":"Opretter automatisk album af særlige øjeblikke, rejser og steder.","Generate Previews":"Generer forhåndsvisninger","Generated":"Genereret","Get Started":"Kom godt i gang","Given Name":"Fornavn","Global Options":"Globale indstillinger","Go to page {0}":"Gå til side {0}.","Gold":"Guld","Green":"Grøn","Grey":"Grå","Guest":"Gæster","Hash":"Hash","Help":"Hjælp","Help & Support":"Hjælp og Support","Hidden":"Skjult","Hidden Files":"Skjulte filer","Hide":"Skjul","Hide photos that have been moved to archive.":"Skjul fotos, der er flyttet til arkivet.","High":"Høj","High Dynamic Range (HDR)":"Høj dynamisk rækkevidde (HDR)","How can we help?":"Hvordan kan vi hjælpe?","Hybrid":"Hybrid","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Hvis du mister adgangen til din godkendelsesapp eller enhed, kan du bruge din gendannelseskode til at få adgang til din konto igen.","Image":"Billede","Image Quality":"Billedkvalitet","Import":"Importere","Import failed":"Import mislykkedes","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Importerede filer sorteres efter dato og får et unikt navn for at undgå dubletter.","Imported files will be sorted by date and given a unique name.":"Importerede filer sorteres efter dato og får et unikt navn.","Importing %{s}…":"Importerer %{s} …","Importing files to originals…":"Importerer filer til originaler …","in":"i","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"Hvis der mangler billeder, som du forventer, skal du scanne dit bibliotek igen og vente, indtil indekseringen er afsluttet.","Include RAW image files when downloading stacks and archives.":"Medtag RAW-billedfiler, når du downloader stakke og arkiver.","Include sidecar files when downloading stacks and archives.":"Medtag sidecar-filer, når du downloader stakke og arkiver.","Increase storage size or delete files to continue.":"Øg lagerstørrelsen eller slet filer for at fortsætte.","Index":"Indeks","Index and import files through the user interface.":"Indeksér og importer filer via brugergrænsefladen.","Indexing":"Indeksering","Indexing failed":"Indeksering fejlede","Indexing media and sidecar files…":"Indekserer medie- og sidecar filer…","Information":"Information","Instance ID":"Instans-id","Insufficient storage.":"Utilstrækkelig opbevaring.","Interval":"Interval","Invalid":"Ugyldig","Invalid address":"Ugyldig adresse","Invalid country":"Ugyldigt land","Invalid date":"Ugyldig dato","Invalid parameters":"Ugyldige parametre","Invalid photo selected":"Ugyldigt foto valgt","Invalid time":"Ugyldig tid","Invalid URL":"Ugyldig URL","It is a one-time use code that will disable 2FA for your account when you use it.":"Det er en engangskode, der vil deaktivere tofaktorgodkendelse for din konto, når du bruger den.","Item":"Element","Items per page:":"Elementer pr. side:","JPEG Quality: %{n}":"JPEG-kvalitet: %{n}","JPEG Size Limit: %{n}px":"JPEG maks størrelse: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"JPEG’er og miniaturer gengives automatisk efter behov.","Keywords":"Nøgleord","Label":"Etiket","Labels":"Etiketter","Labels deleted":"Etiketter slettet","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: Bevaring af detaljer, minimale artefakter","Language":"Sprog","Last Active":"Sidst aktiv","Last Login":"Sidste login","Last page":"Sidste side","Last Sync":"Seneste synkronisering","Last Used":"Sidst brugt","Latitude":"Breddegrad","LDAP/AD":"LDAP/AD","Learn more":"Få mere at vide","Learn More":"Få mere at vide","Legal Information":"Juridiske oplysninger","Lens":"Linse","Library":"Bibliotek","License":"Licens","Like":"Synes godt om","Lime":"Lime","Limit reached, showing first %{n} files":"Grænse nået, viser de første %{n} filer","Linear: Very Smooth, Best Performance":"Lineær: Meget glat, bedste ydeevne","Link":"Link","List":"Liste","List View":"Listevisning","Live":"Direkte","Live Photos":"Live-fotos","Load more":"Læs mere","Loading items...":"Indlæser varer...","Loading...":"Indlæser...","Local":"Lokal","Local Time":"Lokal tid","Location":"Sted","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Logbeskeder vises her, når PhotoPrism kommer på tværs af ødelagte filer, eller der er andre potentielle problemer.","Login":"Log på","Logout":"Log ud","Logs":"Logfiler","Longitude":"Længdegrad","Low":"Lav","Magenta":"Magenta","Main Color":"Hovedfarve","Male":"Mand","Manage Account":"Administrer konto","Manual":"Manuel","Manual Upload":"Manuel upload","Maps":"Kort","Marker":"Markør","Maximum number of accounts has been reached.":"Det maksimale antal konti er nået.","Media":"Medier","Medium":"Mellem","Membership":"Medlemskab","Merge %{a} with %{b}?":"Sammenlægning af %{a} med %{b}?","Message":"Besked","Message sent":"Besked sendt","Metadata":"Metadata","Metrics":"Metrikker","Minimize":"Minimer","Missing":"Mangler","Missing or invalid configuration":"Manglende eller ugyldig konfiguration","Moments":"Øjeblikke","Monochrome":"Monokrom","Month":"Måned","More options":"Flere muligheder","Mosaic":"Mosaik","Most Relevant":"Mest relevante","Move Files":"Flyt filer","Must have at least %{n} characters.":"Skal indeholde mindst %{n} tegn.","Mute":"Dæmpet","Name":"Navn","Name too long":"Navn for langt","Never":"Aldrig","New":"Nyt","New Password":"Nyt kodeord","Newest First":"Nyeste først","Next":"Næste","Next page":"Næste side","Next visual":"Næste billede","No":"Nej","No albums found":"Ingen album fundet","No data available":"Ingen tilgængelige data","No labels found":"Ingen etiketter fundet","No matching records found":"Ingen matchende optegnelser fundet","No more":"Ikke mere","No people found":"Ingen personer fundet","No pictures found":"Ingen billeder fundet","No recently edited pictures":"Ingen nyligt redigerede billeder","No server connection":"Ingen serverforbindelse","No servers configured.":"Ingen servere konfigureret.","No services configured.":"Ingen tjenester er konfigureret.","No thanks":"Nej tak","No warnings or error containing this keyword. Note that search is case-sensitive.":"Ingen advarsler eller fejl, der indeholder dette nøgleord. Bemærk, at søgning er case-sensitive.","Non-photographic and low-quality images require a review before they appear in search results.":"Ikke-fotografiske billeder af lav kvalitet kræver en gennemgang, før de vises i søgeresultaterne.","None":"Ingen","Not allowed":"Ikke tilladt","Not found":"Ikke fundet","Not sorted.":"Ikke sorteret.","Not supported":"Ikke understøttet","Note you may manually manage your originals folder and importing is optional.":"Bemærk, at du kan administrere mappen med originaler manuelt, og at import er valgfri.","Note:":"Bemærk:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Bemærk: Kun WebDAV-servere, som Nextcloud eller PhotoPrism, kan konfigureres som fjerntjeneste til sikkerhedskopiering og upload af filer.","Notes":"Bemærkninger","Nothing to see here yet.":"Der er ikke noget at se her endnu.","Nothing was found.":"Intet fundet.","Offline":"Offline","OIDC":"OIDC","OK":"OK","Oldest First":"Ældste først","On Windows, enter the following resource in the connection dialog:":"På Windows skal du indtaste følgende ressource i forbindelsesdialogboksen:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"Generering af miniaturebilleder efter behov kan medføre et højt CPU- og hukommelsesforbrug. Det anbefales ikke til ressourcebegrænsede servere og NAS-enheder.","Once a week":"En gang om ugen","One album found":"Et album fundet","One file found":"En fil fundet","One file uploaded":"En fil uploadet","One folder found":"En mappe fundet","One label found":"En etiket fundet","One person found":"En person fandt","One picture found":"Et billede fundet","Only locally managed accounts can be set up for authentication with 2FA.":"Kun lokalt administrerede konti kan konfigureres til godkendelse med 2FA.","Open":"Åben","optional":"valgfri","or":"eller","Orange":"Orange","Organization":"Organisation","Orientation":"Orientering","Original file names will be stored and indexed.":"Oprindelige filnavne gemmes og indekseres.","Original Name":"Oprindeligt navn","Originals":"Originaler","Other":"Andre","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Vores mission er at levere den mest bruger- og privatlivsvenlige løsning til at holde dine billeder organiseret og tilgængelige.","Outdoor":"Udendørs","Page {0}, Current page":"Side {0}, aktuel side","Pages":"Sider","Pagination Navigation":"Paginering af navigation","Panorama":"Panorama","Panoramas":"Panoramaer","Password":"Adgangskode","Password changed":"Adgangskode ændret","People":"Mennesker","People you share a link with will be able to view public contents.":"Personer, som du deler et link med, kan se offentligt indhold.","Permanently deleted":"Permanent slettet","Permanently remove files to free up storage.":"Fjern filer permanent for at frigøre lagerplads.","Person":"Person","Personal":"Personlig","Photo":"Foto","PhotoPrism is 100% self-funded and independent.":"PhotoPrism er 100 % selvfinansieret og uafhængig.","PhotoPrism+ Membership":"PhotoPrism+-medlemskab","Photos":"Fotos","Picture Title":"Billedets titel","Pink":"Lyserød","Place":"Sted","Place & Time":"Sted og tid","Places":"Steder","Please confirm your new password.":"Bekræft din nye adgangskode.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Kopier venligst følgende tilfældigt genererede app-adgangskode og opbevar det et sikkert sted, da du ikke får muligheden for at se den igen:","Please do not upload any private, unlawful or offensive pictures.":"Upload venligst ikke private, ulovlige eller stødende billeder.","Please don't upload photos containing offensive content.":"Upload ikke billeder, der indeholder stødende indhold.","Please enter OTP character {0}":"Indtast venligst OTP-tegn {0}.","Please note that changing your password will log you out on other devices and browsers.":"Bemærk, at du ved at ændre din adgangskode bliver logget af på andre enheder og browsere.","Please restart your instance for the changes to take effect.":"Genstart din instans for at ændringerne kan træde i kraft.","Please wait…":"Vent venligst…","PM":"PM","PNG Size Limit: %{n}px":"PNG maks størrelse: %{n}px","Portrait":"Portræt","Preserve filenames":"Bevar filnavne","Press enter to create a new album.":"Tryk på enter for at oprette et nyt album.","Prevent database and album backups as well as YAML sidecar files from being created.":"Forhindrer, at der oprettes sikkerhedskopier af databaser og album samt YAML-sidevognsfiler.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Afvis andre apps adgang til PhotoPrism som et delt netværksdrev.","Preview":"Forhåndsvisning","Preview Images":"Forhåndsvis billeder","Previous":"Tidligere","Previous page":"Forrige side","Previous visual":"Tidligere visuel","Primary":"Primær","Private":"Privat","Product Feedback":"Produktfeedback","Projection":"Projektion","Purple":"Lilla","Quality Filter":"Kvalitetsfilter","Quality Score":"Kvalitetsresultat","r":"r","Random":"Tilfældig","Rating {0} of {1}":"Bedømmelse {0} af {1}","Raw":"Raw","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Indeksér alle originaler igen, inklusiv allerede indekserede og uændrede filer.","Read-Only Mode":"Skrivebeskyttet tilstand","Recently Added":"Senest tilføjet","Recently Archived":"Arkiveret for nylig","Recently Edited":"Senest redigeret","Recognition starts after indexing has been completed.":"Genkendelsen starter, når indekseringen er afsluttet.","Recognize faces so people can be assigned and found.":"Genkender ansigter, så man kan finde bestemte personer.","Recognized":"Anerkendt","Recovery Code":"Genopretningskode","Red":"Rød","Refresh":"Opdatering","Regions":"Regioner","Register":"Registrer","Reload":"Genindlæs","Reloading…":"Genindlæser…","Remote Sync":"Fjernsynkronisering","Remove":"Fjern","remove failed: unknown album":"fjern mislykkedes: ukendt album","Remove from Album":"Fjern fra albummet","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Fjern importerede filer for at frigøre lagerplads. Ikke-understøttede filtyper slettes aldrig, de forbliver på deres nuværende placering.","Request failed - are you offline?":"Anmodning mislykkedes - er du offline?","Request failed - invalid response":"Anmodningen mislykkedes - ugyldigt svar","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Kræv, at ikke-fotografiske billeder og billeder af lav kvalitet skal gennemgås, før de vises i søgeresultaterne.","Resolution":"Opløsning","Restart":"Genstart","Restore":"Gendan","Restored":"Genoprettet","Retry Limit":"Grænse for gentagelse","Retype Password":"Indtast adgangskoden igen","Review":"Gennemgang","Role":"Rolle","Rows per page:":"Rækker pr. side:","Satellite":"Satellit","Save":"Gem","Scan":"Scan","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Scan QR-koden med din autentificeringsapp eller brug opsætningsnøglen vist nedenfor, og indtast derefter den genererede bekræftelseskode:","Scans":"Scanninger","Scope":"Omfang","Search":"Søg","Search and display photos on a map.":"Søg og vis fotos på et kort.","Season":"Sæson","Secret":"Hemmelighed","Security and Access":"Sikkerhed og adgang","Select":"Vælg","Select a source folder to import files…":"Vælg en kildemappe til at importere filer…","Select date":"Vælg dato","Select dates":"Vælg datoer","Select or create an album":"Vælg eller opret et album","Select the files to upload…":"Vælg de filer, der skal uploades…","Select the folder to be indexed…":"Vælg den mappe, der skal indekseres…","Select Time":"Vælg tid","Selection approved":"Udvælgelse godkendt","Selection archived":"Udvælgelse arkiveret","Selection restored":"Udvalgte gendannet","Sequential Name":"Sekventielt navn","Service URL":"Service-URL","Services":"Tjenester","Session":"Session","Session ID":"Sessions-ID","Sessions":"Sessioner","Set as Album Cover":"Set som albumcover","Settings":"Indstillinger","Settings saved":"Indstillinger gemt","Setup":"Opsætning","Share":"Del","Share %{s}":"Del %{s}","Share your pictures with other apps and services.":"Del dine billeder med andre apps og tjenester.","Show":"Vis","Show all new faces":"Vis alle nye ansigter","Show Captions":"Vis billedtekster","Show hidden":"Vis skjult","Show less":"Vis mindre","Show more":"Vis mere","Show server logs in Library.":"Vis serverlogfiler i biblioteket.","Show Titles":"Vis titler","Sidecar":"Sidevogn","Sidecar Files":"Sidevognsfiler","Sign in":"Log ind","Similar":"Lignende","Size":"Størrelse","Slideshow":"Diasshow","Slow":"Langsom","Software":"Software","Software Update":"Opdatering af software","Something went wrong, try again":"Noget gik galt, prøv igen","Sort by":"Sorter efter","Sort Order":"Sorteringsrækkefølge","Sorted ascending.":"Sorteret i stigende rækkefølge.","Sorted descending.":"Sorteret i faldende rækkefølge.","Source":"Kilde","Stack":"Samling","Stack files sharing the same unique image or instance identifier.":"Samle filer, der deler det samme unikke billede eller instans-id.","Stack pictures taken at the exact same time and location based on their metadata.":"Samle billeder taget på nøjagtig samme tid og sted baseret på deres metadata.","Stackable":"Kan samles","Stacks":"Samlinger","Start":"Start","Start Page":"Startside","Static Size Limit: %{n}px":"Grænse for statisk størrelse: %{n}px","Status":"Status","Storage":"Diskplads","Streets":"Gader","Subject":"Emne","Submit":"Indsend","Successfully activated":"Aktivering lykkedes","Successfully Connected":"Succesfuldt tilsluttet","Successfully deleted":"Sletning lykkedes","Successfully verified":"Verifikation lykkedes","Super Admin":"Super Admin","Support for additional services, like Google Drive, will be added over time.":"Support til yderligere tjenester, som f.eks. Google Drev, tilføjes over tid.","Support Our Mission":"Støt vores mission","Sync":"Synkronisere","Sync raw and video files":"Synkroniser raw og videofiler","Taken":"Taget","Teal":"Krikand","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow er nødvendig til billedklassificering, ansigtsgenkendelse og til at opdage potentielt stødende indhold.","Terrain":"Terræn","Text":"Tekst","Text too long":"Teksten er for lang","Thank You for Your Support!":"Tak for din støtte!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Derfor er PhotoPrism bygget helt fra bunden til at kunne køre hvor som helst, du har brug for det, uden at gå på kompromis med frihed, privatlivets fred eller funktionalitet.","The index currently contains %{n} hidden files.":"Indekset indeholder i øjeblikket %{n} skjulte filer.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Deres format understøttes muligvis ikke, de er ikke konverteret til JPEG endnu, eller der er dubletter.","Theme":"Tema","This field is required":"Dette felt er påkrævet","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Dette sætter originalmappen som et netværksdrev og giver dig mulighed for at åbne, redigere og slette filer fra din computer eller smartphone, som om de var lokale.","Time UTC":"Tid UTC","Time Zone":"Tidszone","Timeout":"Timeout","Title":{"Account":"Titel","Photo":"Titel","":"Titel"},"Title / Position":"Titel / stilling","Title too long":"Titlen er for lang","to":"til","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"For at undgå at blive låst ude af din konto skal du downloade, udskrive eller kopiere denne gendannelseskode nu og opbevare den et sikkert sted.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"For at generere en ny app-specifik adgangskode skal du indtaste navnet og godkendelsesomfanget for applikationen og vælge en udløbsdato:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"For at skifte til en ny autentificeringsapp eller enhed skal du først deaktivere tofaktorgodkendelse og derefter genaktivere den:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"For at opgradere kan du enten indtaste en aktiveringskode eller klikke på \"Registrer\" for at tilmelde dig på vores websted:","Today":"I dag","Toggle View":"Skift visning","Token":"Token","Too many files selected":"For mange filer valgt","Too many requests":"For mange anmodninger","Troubleshooting":"Fejlfinding","Try again using other filters or keywords.":"Prøv igen ved hjælp af andre filtre eller nøgleord.","Two-factor authentication has been enabled for your account.":"To-faktor-godkendelse er blevet aktiveret for din konto.","Type":"Type","Unauthorized":"Uautoriseret","Undo":"Fortryd","Unique ID":"Unikt ID","Unknown":"Ukendt","Unregistered":"Uregistreret","Unsorted":"Usorteret","Unstack":"Fjern samling","Updated":"Opdateret","Updating faces":"Opdatering af ansigter","Updating index":"Opdaterer indeks","Updating moments":"Opdaterer øjeblikke","Updating picture…":"Opdatering af billede…","Updating previews":"Opdatering af forhåndsvisninger","Updating stacks":"Opdatering af samlinger","Upgrade":"Opgradering","Upgrade Now":"Opgrader nu","Upload":"Upload","Upload complete":"Upload fuldført","Upload complete. Indexing…":"Upload fuldført. Indekserer…","Upload failed":"Upload mislykkedes","Upload local files":"Upload lokale filer","Upload Path":"Upload sti","Upload to WebDAV and share links with friends.":"Upload til WebDAV og del links med venner.","Uploading %{n} of %{t}…":"Uploader %{n} af %{t}…","Uploading photos…":"Uploader fotos…","Uploading…":"Overførsel af…","Uploads that may contain such images will be rejected automatically.":"Uploads, der kan indeholde sådanne billeder, afvises automatisk.","Use Presets":"Brug forudindstillinger","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Brug følgende gendannelseskode til at få adgang til din konto, når du ikke er i stand til at generere en gyldig bekræftelseskode med din godkendelsesapp:","Use your recovery code or contact an administrator for help.":"Brug din gendannelseskode, eller kontakt en administrator for at få hjælp.","User":"Bruger","User Guide":"Brugervejledning","User Interface":"Brugergrænseflade","Username":"Brugernavn","Users":"Brugere","Vector":"Vektor","Vectors":"Vektorer","Verification Code":"Verifikationskode","Video":"Video","Video Duration":"Videoens varighed","Videos":"Videoer","View":"Vis","View search results as a list.":"Se søgeresultater som en liste.","Viewer":"Seer","Visitor":"Besøgende","Visual Similarity":"Visuel lighed","Warning":"Advarsel","We appreciate your feedback!":"Vi sætter pris på din feedback!","We do our best to respond within five business days or less.":"Vi gør vores bedste for at svare inden for fem arbejdsdage eller mindre.","Web Login":"Web-login","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"WebDAV-klienter kan oprette forbindelse til PhotoPrism ved hjælp af følgende URL:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"WebDAV-klienter, som Microsofts Windows Stifinder eller Apples Finder, kan oprette forbindelse direkte til PhotoPrism.","WebDAV Upload":"WebDAV-upload","WebGL support is disabled in your browser":"WebGL-understøttelse er deaktiveret i din browser","Website":"Websted","White":"Hvid","Work Details":"Detaljer om arbejdet","Year":"År","Yellow":"Gul","Yes":"Ja","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Du er velkommen til at kontakte os på membership@photoprism.app for at få svar på spørgsmål om dit medlemskab.","You can only download one album":"Du kan kun downloade et album","You can only download one label":"Du kan kun downloade en etiket","You can upload up to %{n} files for test purposes.":"Du kan uploade op til %{n} filer til testformål.","You may only select one item":"Du kan kun vælge et element","You may rescan your library to find additional faces.":"Du kan scanne dit bibliotek igen for at finde flere ansigter.","Your account has been successfully connected.":"Din konto er blevet forbundet.","Your browser does not support WebGL":"Din browser understøtter ikke WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Din fortsatte støtte hjælper os med at levere regelmæssige opdateringer og forblive uafhængige, så vi kan opfylde vores mission og beskytte dit privatliv.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Dit bibliotek analyseres løbende for automatisk at oprette album med særlige øjeblikke, rejser og steder.","Zoom in/out":"Zoom ind/ud"}} \ No newline at end of file +{"da":{"{0} appended action":"{0} tilføjet handling","{0} files":"{0} filer","{0} files ({1} in total)":"{0} filer ({1} i alt)","{0} more":"{0} mere","{0} prepended action":"{0} foranstillet handling","{0} selected":"{0} valgt","{0}-{1} of {2}":"{0}-{1} af {2}","%{n} albums found":"%{n} album fundet","%{n} files uploaded":"%{n} filer uploadet","%{n} folders found":"%{n} mapper fundet","%{n} GB of %{q} GB used":"%{n} GB af %{q} GB brugt","%{n} labels found":"%{n} etiketter fundet","%{n} people found":"%{n} personer fundet","%{n} pictures found":"%{n} billeder fundet","%{s} is too long":"%{s} er for lang","%{s} is too short":"%{s} er for kort","1 hour":"1 time","12 hours":"12 timer","2-Factor Authentication":"2-faktor-godkendelse","2FA":"2FA","4 hours":"4 timer","A click will copy it to your clipboard.":"Et klik kopierer det til dit udklipsholder.","A new version of %{s} is available:":"En ny version af %{s} er tilgængelig:","About":"Om","Access Token":"Adgangstoken","Account":"Konto","Account created":"Konto oprettet","Account deleted":"Konto slettet","Account restored":"Konto gendannet","Accounts":"Konti","Accuracy":"Nøjagtighed","Action":"Handling","Actions":"Handlinger","Activate":"Aktivér","Activate to remove sorting.":"Aktiver for at fjerne sorteringen.","Activate to sort ascending.":"Aktivér for at sortere stigende.","Activate to sort descending.":"Aktivér for at sortere faldende.","Activation Code":"Aktiveringskode","Add":"Tilføj","Add %{s}?":"Tilføj %{s}?","Add Account":"Tilføj konto","Add Album":"Tilføj album","Add files to your library via Web Upload.":"Føj filer til dit bibliotek via Web Upload.","Add Link":"Tilføj link","Add person?":"Tilføj person?","Add pictures from search results by selecting them.":"Tilføj billeder fra søgeresultater ved at vælge dem.","Add to album":"Føj til albummet","Added":"Tilføjet","Adjust Location":"Juster placering","Admin":"Admin","Advanced":"Avanceret","After 1 day":"Efter 1 dag","After 3 days":"Efter 3 dage","After 7 days":"Efter 7 dage","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Når du har indtastet din adgangskode til bekræftelse, kan du konfigurere to-faktor-godkendelse med en kompatibel godkendelsesapp eller enhed:","After one month":"Efter en måned","After one year":"Efter et år","After selecting pictures from search results, you can add them to an album using the context menu.":"Når du har valgt billeder fra søgeresultaterne, kan du tilføje dem til et album ved hjælp af kontekstmenuen.","After two months":"Efter to måneder","After two weeks":"Efter tre uger","Album":"Album","Album Backups":"Sikkerhedskopier af album","Album created":"Album oprettet","Album deleted":"Albummet er slettet","Albums":"Album","Albums deleted":"Albums slettet","All":"Alle","All %{n} albums loaded":"Alle %{n} album er indlæst","All %{n} labels loaded":"Alle %{n} etiketter er indlæst","All %{n} people loaded":"Alle %{n} personer indlæst","All Cameras":"Alle kameraer","All Categories":"Alle kategorier","All Colors":"Alle farver","All Countries":"Alle lande","All fields are required":"Alle felter skal udfyldes","All files from import folder":"Alle filer fra importmappen","All Lenses":"Alle linser","All Months":"Alle måneder","All originals":"Alle originaler","All Years":"Alle år","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Alternativt kan du uploade filer direkte til WebDAV-servere såsom Nextcloud.","Altitude":"Højde","Altitude (m)":"Højde (m)","AM":"AM","Animated":"Animeret","Animation":"Animation","Animations":"Animationer","Any private photos and videos remain private and won't be shared.":"Alle private fotos og videoer forbliver private og deles ikke.","API Key":"API-nøgle","Application":"Applikation","Apply":"Anvend","Approve":"Godkend","Apps and Devices":"Apps og enheder","Archive":"Arkiver","Archived":"Arkiveret","Are you sure you want to archive the selection?":"Er du sikker på, at du vil arkivere det markerede?","Are you sure you want to delete these albums?":"Er du sikker på, at du vil slette disse album?","Are you sure you want to delete these labels?":"Er du sikker på, at du vil slette disse etiketter?","Are you sure you want to delete this account?":"Er du sikker på, at du vil slette denne konto?","Are you sure you want to delete this album?":"Er du sikker på, at du vil slette dette album?","Are you sure you want to permanently delete these pictures?":"Er du sikker på, at du vil slette disse billeder permanent?","Are you sure you want to permanently delete this file?":"Er du sikker på, at du vil slette denne fil permanent?","Are you sure?":"Er du sikker?","Artist":"Kunstner","Aspect Ratio":"Billedformat","Audio":"Lyd","Authentication":"Godkendelse","Auto":"Auto","Back":"Tilbage","Back to top":"Tilbage til toppen","Backup":"Backup","Badge":"Badge","Base Path":"Basis sti","Become a member today, support our mission and enjoy our member benefits!":"Bliv medlem i dag, støt vores mission og få glæde af vores medlemsfordele!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Da vi er 100 % selvfinansierede og uafhængige, kan vi love dig, at vi aldrig vil sælge dine data, og at vi altid vil være gennemsigtige med hensyn til vores software og tjenester.","Bio":"Biografi","Birth Date":"Fødselsdato","Black":"Sort","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Lanczos-ændring, færre ringende artefakter","Blue":"Blå","Brown":"Brun","Browse":"Gennemse","Browse and edit image classification labels.":"Gennemse og rediger billedklassifikationsetiketter.","Browse and share your pictures organized into monthly albums.":"Gennemse og del dine billeder organiseret i månedlige album.","Browse Files":"Gennemse filer","Browse indexed files and folders in Library.":"Gennemse indekserede filer og mapper i biblioteket.","Bug Report":"Fejlrapport","Busy, please wait…":"Optaget, vent venligst …","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Ved at bruge den software og de tjenester, vi tilbyder, accepterer du vores servicevilkår, privatlivspolitik og adfærdskodeks.","Calendar":"Kalender","Camera":"Kamera","Camera Serial":"Kamera serienummer","Can't access your authenticator app or device?":"Kan du ikke få adgang til din authenticator-app eller -enhed?","Can't load more, limit reached":"Kan ikke indlæse mere, grænsen nået","Can't select more items":"Kan ikke vælge flere elementer","Cancel":"Annullere","Cannot copy to clipboard":"Kan ikke kopiere til udklipsholder","Caption":"Billedtekst","Cards":"Kort","Carousel slide {0} of {1}":"Karrusel-slide {0} af {1}.","Category":"Kategori","Change Avatar":"Ændre Avatar","Change Password":"Ændre adgangskode","Change personal profile and security settings.":"Ændre personlige profil- og sikkerhedsindstillinger.","Change photo titles, locations, and other metadata.":"Ændre billedtitler, steder og andre metadata.","Change private flag":"Ændre privat flag","Changes could not be saved":"Ændringer kunne ikke gemmes","Changes successfully saved":"Ændringer gemt med succes","Changes to the advanced settings require a restart to take effect.":"Ændringer i de avancerede indstillinger kræver en genstart for at træde i kraft.","Checked":"Kontrolleret","Chroma":"Chroma","Cleaning index and cache":"Oprydning af indeks og cache","Cleanup":"Oprydning","Clear {0}":"Ryd {0}","Client":"Kunde","Client Credentials":"Kundens legitimationsoplysninger","Close":"Luk","Codec":"Codec","Color":"Farve","Color Profile":"Farveprofil","Colors":"Farver","Compare Editions":"Sammenlign udgaver","Complete Rescan":"Komplet scanning","Confidence":"Tillid","Confirm":"Bekræft","Connect":"Opret forbindelse","Connect via WebDAV":"Opret forbindelse via WebDAV","Connected":"Tilsluttet","Contact Details":"Kontaktoplysninger","Contact Us":"Kontakt os","Contains %{n} pictures.":"Indeholder %{n} billeder.","Contains one picture.":"Indeholder et billede.","Content":"Indhold","Continue":"Fortsæt","Continue with %{provider}":"Fortsæt med %{udbyder}","Contributor":"Bidragyder","Converting":"Konverterer","Copied to clipboard":"Kopieret til udklipsholderen","Copy":"Kopier","Copyright":"Ophavsret","Couldn't find anything.":"Kunne ikke finde noget.","Country":"Land","Create Account":"Opret konto","Create album":"Opret album","Create regular backups based on the configured schedule.":"Opret sikkerhedskopier af indeks baseret på den konfigurerede tidsplan.","Create YAML files to back up album metadata.":"Opret YAML-filer til sikkerhedskopiering af albummet.","Create YAML sidecar files to back up picture metadata.":"Opret YAML-sidevognsfiler til sikkerhedskopiering af billedmetadata.","Created":"Oprettet","Creating thumbnails for":"Opretter miniaturer til","Cubic: Moderate Quality, Good Performance":"Cubic: Moderat Kvalitet, God Ydeevne","Current Password":"Nuværende kodeord","Custom":"Brugerdefineret","Cyan":"Cyan","Daily":"Dagligt","Database Backups":"Sikkerhedskopiering af databaser","Day":"Dag","Deactivate":"Deaktiver","Debug Logs":"Fejlfindingslog","Default":"Standard","Default Folder":"Standardmappe","Delete":"Slet","Delete Album":"Slet album","Delete All":"Slet alle","Delete all?":"Slet alle?","Delete orphaned index entries, sidecar files and thumbnails.":"Slet forældreløse indeksposter, sidevognsfiler og miniaturebilleder.","Description":"Beskrivelse","Detailed instructions can be found in our User Guide.":"Detaljerede instruktioner kan findes i vores brugervejledning.","Details":"Detaljer","Dimensions":"Dimensioner","Disable Backups":"Deaktiver sikkerhedskopier","Disable Darktable":"Deaktivere Darktable","Disable ExifTool":"Deaktiver ExifTool","Disable features that require write permission for the originals folder.":"Deaktiver funktioner, der kræver skrivetilladelse til originalmappen.","Disable FFmpeg":"Deaktiver FFmpeg","Disable ImageMagick":"Deaktiver ImageMagick","Disable interactive world maps and reverse geocoding.":"Deaktiver interaktive verdenskort og omvendt geokodning.","Disable Places":"Deaktiver steder","Disable RawTherapee":"Deaktivere RawTherapee","Disable TensorFlow":"Deaktiver TensorFlow","Disable Vectors":"Deaktivere vektorer","Disable WebDAV":"Deaktiver WebDAV","Disables vector graphics support.":"Deaktiverer understøttelse af vektorgrafik.","Disables video transcoding and thumbnail extraction.":"Deaktiverer video-omkodning og dannelse af miniaturebilleder.","Discover":"Opdag","Dismiss":"Afslå","Display Name":"Vis navn","Display picture captions in search results.":"Vis billedtekster i søgeresultater.","Display picture titles in search results.":"Vis billedtitler i søgeresultater.","Document":"Dokument","Documents":"Dokumenter","Don't use Darktable to convert RAW images.":"Du må ikke bruge Darktable til at konvertere RAW-filer.","Don't use ImageMagick to convert images.":"Brug ikke ImageMagick til at konvertere billeder.","Don't use RawTherapee to convert RAW images.":"Du må ikke bruge RawTherapee til at konvertere RAW-filer.","Done":"Færdig","Done.":"Udført.","Download":"Download","Download only original media files, without any automatically generated files.":"Download kun originale mediefiler, uden automatisk genererede filer.","Download remote files":"Download fjernfiler","Download single files and zip archives.":"Download enkeltfiler og zip-arkiver.","Downloading…":"Downloader…","Downscaling Filter":"Nedskaleringsfilter","Drag and drop files here":"Træk og slip filer her","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"På grund af den store mængde e-mails, vi modtager, kan det være, at vores team ikke kan svare dig med det samme.","Duplicates will be skipped and only appear once.":"Duplikater springes over og vises kun én gang.","Duration":"Varighed","Dynamic Previews":"Dynamiske miniaturebilleder","Dynamic Size Limit: %{n}px":"Grænse for dynamisk størrelse: %{n}px","E-Mail":"E-mail","Edit":"Redigere","Edit %{s}":"Rediger %{s}","Edit Account":"Rediger konto","Edit Photo":"Rediger Billede","Edited":"Redigeret","Email":"E-mail","Enable debug mode to display additional logs and help with troubleshooting.":"Aktivér debug-tilstand for at få vist yderligere logfiler og hjælp til fejlfinding.","Enable new features that may be incomplete or unstable.":"Aktivér nye funktioner, der kan være ufuldstændige eller ustabile.","Enables RAW converter presets. May reduce performance.":"Aktiverer RAW-konverteringsindstillinger. Kan reducere ydeevnen.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Aktivering af to-faktor-godkendelse betyder, at du skal bruge en tilfældigt genereret bekræftelseskode for at logge ind, så selvom nogen får adgang til din adgangskode, vil de ikke kunne få adgang til din konto.","Enter date":"Indtast dato","Enter dates":"Indtast datoer","Enter the code generated by your authenticator app:":"Indtast den kode, der genereres af din autentificeringsapp:","Enter verification code":"Indtast verifikations kode","Enter your password to confirm the action and continue:":"Indtast din adgangskode for at bekræfte handlingen og fortsæt:","Error":"Fejl","Errors":"Fejl","Estimate":"Skøn","Estimate Locations":"Anslå placeringer","Estimate the approximate location of pictures without GPS coordinates.":"Anslå den omtrentlige placering af billeder uden GPS-koordinater.","Every two days":"Hver anden dag","Exclude content marked as private from search results, shared albums, labels, and places.":"Udeluk indhold, der er markeret som privat, fra søgeresultater, delte album, etiketter og steder.","Exclude hidden":"Udelukke skjulte","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"Metadataudtræk med ExifTool er påkrævet for fuld understøttelse af video, livefoto og XMP.","Experimental Features":"Eksperimentelle funktioner","Expires":"Udløber","Exposure":"Eksponering","Extract still images and generate thumbnails while indexing.":"Udtræk stillbilleder og generer thumbnails under indeksering.","F Number":"F-nummer","Face":"Ansigt","Faces":"Ansigter","Failed removing link":"Linket kunne ikke fjernes","Failed to connect account.":"Kunne ikke oprette forbindelse til konto.","Failed updating link":"Linket kunne ikke opdateres","Family Name":"Efternavn","Fast":"Hurtig","Favorite":"Favorit","Favorites":"Favoritter","Feature Request":"Funktionsanmodning","Feedback":"Tilbagemelding","Female":"Kvinde","File":"Fil","File Browser":"Filbrowser","File Conversion":"Konvertering af filer","File Name":"Filnavn","File Size":"Filstørrelse","Filename":"Filnavn","Files":"Filer","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Filer med sekventielle navne som ‘IMG_1234 (2)’ og ‘IMG_1234 (3)’ hører til det samme billede.","First page":"Første side","Focal Length":"Brændvidde","Folder":"Mappe","Folder contains %{n} files":"Mappen indeholder %{n} filer","Folder is empty":"Mappen er tom","Folders":"Mapper","Forgot password?":"Glemt adgangskode?","FPS":"FPS","Frames":"Rammer","Full Access":"Fuld adgang","Fullscreen":"Fuld skærm","General":"General","Generate":"Frembringe","Generate albums of special moments, journeys, and places.":"Opretter automatisk album af særlige øjeblikke, rejser og steder.","Generate Previews":"Generer forhåndsvisninger","Generated":"Genereret","Get Started":"Kom godt i gang","Given Name":"Fornavn","Global Options":"Globale indstillinger","Go to page {0}":"Gå til side {0}.","Gold":"Guld","Green":"Grøn","Grey":"Grå","Guest":"Gæster","Hash":"Hash","Help":"Hjælp","Help & Support":"Hjælp og Support","Hidden":"Skjult","Hidden Files":"Skjulte filer","Hide":"Skjul","Hide photos that have been moved to archive.":"Skjul fotos, der er flyttet til arkivet.","High":"Høj","High Dynamic Range (HDR)":"Høj dynamisk rækkevidde (HDR)","How can we help?":"Hvordan kan vi hjælpe?","Hybrid":"Hybrid","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Hvis du mister adgangen til din godkendelsesapp eller enhed, kan du bruge din gendannelseskode til at få adgang til din konto igen.","Image":"Billede","Image Quality":"Billedkvalitet","Import":"Importere","Import failed":"Import mislykkedes","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Importerede filer sorteres efter dato og får et unikt navn for at undgå dubletter.","Imported files will be sorted by date and given a unique name.":"Importerede filer sorteres efter dato og får et unikt navn.","Importing %{s}…":"Importerer %{s} …","Importing files to originals…":"Importerer filer til originaler …","in":"i","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"Hvis der mangler billeder, som du forventer, skal du scanne dit bibliotek igen og vente, indtil indekseringen er afsluttet.","Include RAW image files when downloading stacks and archives.":"Medtag RAW-billedfiler, når du downloader stakke og arkiver.","Include sidecar files when downloading stacks and archives.":"Medtag sidecar-filer, når du downloader stakke og arkiver.","Increase storage size or delete files to continue.":"Øg lagerstørrelsen eller slet filer for at fortsætte.","Index":"Indeks","Index and import files through the user interface.":"Indeksér og importer filer via brugergrænsefladen.","Indexing":"Indeksering","Indexing failed":"Indeksering fejlede","Indexing media and sidecar files…":"Indekserer medie- og sidecar filer…","Information":"Information","Instance ID":"Instans-id","Insufficient storage.":"Utilstrækkelig opbevaring.","Interval":"Interval","Invalid":"Ugyldig","Invalid address":"Ugyldig adresse","Invalid country":"Ugyldigt land","Invalid date":"Ugyldig dato","Invalid parameters":"Ugyldige parametre","Invalid photo selected":"Ugyldigt foto valgt","Invalid time":"Ugyldig tid","Invalid URL":"Ugyldig URL","It is a one-time use code that will disable 2FA for your account when you use it.":"Det er en engangskode, der vil deaktivere tofaktorgodkendelse for din konto, når du bruger den.","Item":"Element","Items per page:":"Elementer pr. side:","JPEG Quality: %{n}":"JPEG-kvalitet: %{n}","JPEG Size Limit: %{n}px":"JPEG maks størrelse: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"JPEG’er og miniaturer gengives automatisk efter behov.","Keywords":"Nøgleord","Label":"Etiket","Labels":"Etiketter","Labels deleted":"Etiketter slettet","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: Bevaring af detaljer, minimale artefakter","Language":"Sprog","Last Active":"Sidst aktiv","Last Login":"Sidste login","Last page":"Sidste side","Last Sync":"Seneste synkronisering","Last Used":"Sidst brugt","Latitude":"Breddegrad","LDAP/AD":"LDAP/AD","Learn more":"Få mere at vide","Learn More":"Få mere at vide","Legal Information":"Juridiske oplysninger","Lens":"Linse","Library":"Bibliotek","License":"Licens","Like":"Synes godt om","Lime":"Lime","Limit reached, showing first %{n} files":"Grænse nået, viser de første %{n} filer","Linear: Very Smooth, Best Performance":"Lineær: Meget glat, bedste ydeevne","Link":"Link","List":"Liste","List View":"Listevisning","Live":"Direkte","Live Photos":"Live-fotos","Load more":"Læs mere","Loading items...":"Indlæser varer...","Loading...":"Indlæser...","Local":"Lokal","Local Time":"Lokal tid","Location":"Sted","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Logbeskeder vises her, når PhotoPrism kommer på tværs af ødelagte filer, eller der er andre potentielle problemer.","Login":"Log på","Logout":"Log ud","Logs":"Logfiler","Longitude":"Længdegrad","Low":"Lav","Magenta":"Magenta","Main Color":"Hovedfarve","Male":"Mand","Manage Account":"Administrer konto","Manager":"Leder","Manual":"Manuel","Manual Upload":"Manuel upload","Maps":"Kort","Marker":"Markør","Maximum number of accounts has been reached.":"Det maksimale antal konti er nået.","Media":"Medier","Medium":"Mellem","Membership":"Medlemskab","Merge %{a} with %{b}?":"Sammenlægning af %{a} med %{b}?","Message":"Besked","Message sent":"Besked sendt","Metadata":"Metadata","Metrics":"Metrikker","Minimize":"Minimer","Missing":"Mangler","Missing or invalid configuration":"Manglende eller ugyldig konfiguration","Moments":"Øjeblikke","Monochrome":"Monokrom","Month":"Måned","More options":"Flere muligheder","Mosaic":"Mosaik","Most Relevant":"Mest relevante","Move Files":"Flyt filer","Must have at least %{n} characters.":"Skal indeholde mindst %{n} tegn.","Mute":"Dæmpet","Name":"Navn","Name too long":"Navn for langt","Never":"Aldrig","New":"Nyt","New Password":"Nyt kodeord","Newest First":"Nyeste først","Next":"Næste","Next page":"Næste side","Next visual":"Næste billede","No":"Nej","No albums found":"Ingen album fundet","No data available":"Ingen tilgængelige data","No labels found":"Ingen etiketter fundet","No matching records found":"Ingen matchende optegnelser fundet","No more":"Ikke mere","No people found":"Ingen personer fundet","No pictures found":"Ingen billeder fundet","No recently edited pictures":"Ingen nyligt redigerede billeder","No results":"Ingen resultater","No server connection":"Ingen serverforbindelse","No servers configured.":"Ingen servere konfigureret.","No services configured.":"Ingen tjenester er konfigureret.","No thanks":"Nej tak","No warnings or error containing this keyword. Note that search is case-sensitive.":"Ingen advarsler eller fejl, der indeholder dette nøgleord. Bemærk, at søgning er case-sensitive.","Non-photographic and low-quality images require a review before they appear in search results.":"Ikke-fotografiske billeder af lav kvalitet kræver en gennemgang, før de vises i søgeresultaterne.","None":"Ingen","Not allowed":"Ikke tilladt","Not found":"Ikke fundet","Not sorted.":"Ikke sorteret.","Not supported":"Ikke understøttet","Note you may manually manage your originals folder and importing is optional.":"Bemærk, at du kan administrere mappen med originaler manuelt, og at import er valgfri.","Note:":"Bemærk:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Bemærk: Kun WebDAV-servere, som Nextcloud eller PhotoPrism, kan konfigureres som fjerntjeneste til sikkerhedskopiering og upload af filer.","Notes":"Bemærkninger","Nothing to see here yet.":"Der er ikke noget at se her endnu.","Nothing was found.":"Intet fundet.","Offline":"Offline","OIDC":"OIDC","OK":"OK","Oldest First":"Ældste først","On Windows, enter the following resource in the connection dialog:":"På Windows skal du indtaste følgende ressource i forbindelsesdialogboksen:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"Generering af miniaturebilleder efter behov kan medføre et højt CPU- og hukommelsesforbrug. Det anbefales ikke til ressourcebegrænsede servere og NAS-enheder.","Once a week":"En gang om ugen","One album found":"Et album fundet","One file found":"En fil fundet","One file uploaded":"En fil uploadet","One folder found":"En mappe fundet","One label found":"En etiket fundet","One person found":"En person fandt","One picture found":"Et billede fundet","Only locally managed accounts can be set up for authentication with 2FA.":"Kun lokalt administrerede konti kan konfigureres til godkendelse med 2FA.","Open":"Åben","optional":"valgfri","or":"eller","Orange":"Orange","Organization":"Organisation","Orientation":"Orientering","Original file names will be stored and indexed.":"Oprindelige filnavne gemmes og indekseres.","Original Name":"Oprindeligt navn","Originals":"Originaler","Other":"Andre","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Vores mission er at levere den mest bruger- og privatlivsvenlige løsning til at holde dine billeder organiseret og tilgængelige.","Outdoor":"Udendørs","Page {0}, Current page":"Side {0}, aktuel side","Pages":"Sider","Pagination Navigation":"Paginering af navigation","Panorama":"Panorama","Panoramas":"Panoramaer","Password":"Adgangskode","Password changed":"Adgangskode ændret","People":"Mennesker","People you share a link with will be able to view public contents.":"Personer, som du deler et link med, kan se offentligt indhold.","Permanently deleted":"Permanent slettet","Permanently remove files to free up storage.":"Fjern filer permanent for at frigøre lagerplads.","Person":"Person","Personal":"Personlig","Photo":"Foto","PhotoPrism is 100% self-funded and independent.":"PhotoPrism er 100 % selvfinansieret og uafhængig.","PhotoPrism+ Membership":"PhotoPrism+-medlemskab","Photos":"Fotos","Picture Title":"Billedets titel","Pink":"Lyserød","Place":"Sted","Place & Time":"Sted og tid","Places":"Steder","Please confirm your new password.":"Bekræft din nye adgangskode.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Kopier venligst følgende tilfældigt genererede app-adgangskode og opbevar det et sikkert sted, da du ikke får muligheden for at se den igen:","Please do not upload any private, unlawful or offensive pictures.":"Upload venligst ikke private, ulovlige eller stødende billeder.","Please don't upload photos containing offensive content.":"Upload ikke billeder, der indeholder stødende indhold.","Please enter OTP character {0}":"Indtast venligst OTP-tegn {0}.","Please note that changing your password will log you out on other devices and browsers.":"Bemærk, at du ved at ændre din adgangskode bliver logget af på andre enheder og browsere.","Please restart your instance for the changes to take effect.":"Genstart din instans for at ændringerne kan træde i kraft.","Please wait…":"Vent venligst…","PM":"PM","PNG Size Limit: %{n}px":"PNG maks størrelse: %{n}px","Portrait":"Portræt","Preserve filenames":"Bevar filnavne","Press enter to create a new album.":"Tryk på enter for at oprette et nyt album.","Prevent database and album backups as well as YAML sidecar files from being created.":"Forhindrer, at der oprettes sikkerhedskopier af databaser og album samt YAML-sidevognsfiler.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Afvis andre apps adgang til PhotoPrism som et delt netværksdrev.","Preview":"Forhåndsvisning","Preview Images":"Forhåndsvis billeder","Previous":"Tidligere","Previous page":"Forrige side","Previous visual":"Tidligere visuel","Primary":"Primær","Private":"Privat","Product Feedback":"Produktfeedback","Projection":"Projektion","Purple":"Lilla","Quality Filter":"Kvalitetsfilter","Quality Score":"Kvalitetsresultat","r":"r","Random":"Tilfældig","Rating {0} of {1}":"Bedømmelse {0} af {1}","Raw":"Raw","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Indeksér alle originaler igen, inklusiv allerede indekserede og uændrede filer.","Read-Only Mode":"Skrivebeskyttet tilstand","Recently Added":"Senest tilføjet","Recently Archived":"Arkiveret for nylig","Recently Edited":"Senest redigeret","Recognition starts after indexing has been completed.":"Genkendelsen starter, når indekseringen er afsluttet.","Recognize faces so people can be assigned and found.":"Genkender ansigter, så man kan finde bestemte personer.","Recognized":"Anerkendt","Recovery Code":"Genopretningskode","Red":"Rød","Refresh":"Opdatering","Regions":"Regioner","Register":"Registrer","Reload":"Genindlæs","Reloading…":"Genindlæser…","Remote Sync":"Fjernsynkronisering","Remove":"Fjern","remove failed: unknown album":"fjern mislykkedes: ukendt album","Remove from Album":"Fjern fra albummet","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Fjern importerede filer for at frigøre lagerplads. Ikke-understøttede filtyper slettes aldrig, de forbliver på deres nuværende placering.","Request failed - are you offline?":"Anmodning mislykkedes - er du offline?","Request failed - invalid response":"Anmodningen mislykkedes - ugyldigt svar","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Kræv, at ikke-fotografiske billeder og billeder af lav kvalitet skal gennemgås, før de vises i søgeresultaterne.","Resolution":"Opløsning","Restart":"Genstart","Restore":"Gendan","Restored":"Genoprettet","Retry Limit":"Grænse for gentagelse","Retype Password":"Indtast adgangskoden igen","Review":"Gennemgang","Role":"Rolle","Rows per page:":"Rækker pr. side:","Satellite":"Satellit","Save":"Gem","Scan":"Scan","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Scan QR-koden med din autentificeringsapp eller brug opsætningsnøglen vist nedenfor, og indtast derefter den genererede bekræftelseskode:","Scans":"Scanninger","Scope":"Omfang","Search":"Søg","Search and display photos on a map.":"Søg og vis fotos på et kort.","Season":"Sæson","Secret":"Hemmelighed","Security and Access":"Sikkerhed og adgang","Select":"Vælg","Select a source folder to import files…":"Vælg en kildemappe til at importere filer…","Select date":"Vælg dato","Select dates":"Vælg datoer","Select or create an album":"Vælg eller opret et album","Select the files to upload…":"Vælg de filer, der skal uploades…","Select the folder to be indexed…":"Vælg den mappe, der skal indekseres…","Select Time":"Vælg tid","Selection approved":"Udvælgelse godkendt","Selection archived":"Udvælgelse arkiveret","Selection restored":"Udvalgte gendannet","Sequential Name":"Sekventielt navn","Service URL":"Service-URL","Services":"Tjenester","Session":"Session","Session ID":"Sessions-ID","Sessions":"Sessioner","Set as Album Cover":"Set som albumcover","Settings":"Indstillinger","Settings saved":"Indstillinger gemt","Setup":"Opsætning","Share":"Del","Share %{s}":"Del %{s}","Share your pictures with other apps and services.":"Del dine billeder med andre apps og tjenester.","Show":"Vis","Show all new faces":"Vis alle nye ansigter","Show Captions":"Vis billedtekster","Show hidden":"Vis skjult","Show less":"Vis mindre","Show more":"Vis mere","Show server logs in Library.":"Vis serverlogfiler i biblioteket.","Show Titles":"Vis titler","Sidecar":"Sidevogn","Sidecar Files":"Sidevognsfiler","Sign in":"Log ind","Similar":"Lignende","Size":"Størrelse","Slideshow":"Diasshow","Slow":"Langsom","Software":"Software","Software Update":"Opdatering af software","Something went wrong, try again":"Noget gik galt, prøv igen","Sort by":"Sorter efter","Sort Order":"Sorteringsrækkefølge","Sorted ascending.":"Sorteret i stigende rækkefølge.","Sorted descending.":"Sorteret i faldende rækkefølge.","Source":"Kilde","Stack":"Samling","Stack files sharing the same unique image or instance identifier.":"Samle filer, der deler det samme unikke billede eller instans-id.","Stack pictures taken at the exact same time and location based on their metadata.":"Samle billeder taget på nøjagtig samme tid og sted baseret på deres metadata.","Stackable":"Kan samles","Stacks":"Samlinger","Start":"Start","Start Page":"Startside","Static Size Limit: %{n}px":"Grænse for statisk størrelse: %{n}px","Status":"Status","Storage":"Diskplads","Streets":"Gader","Subject":"Emne","Submit":"Indsend","Successfully activated":"Aktivering lykkedes","Successfully Connected":"Succesfuldt tilsluttet","Successfully deleted":"Sletning lykkedes","Successfully verified":"Verifikation lykkedes","Super Admin":"Super Admin","Support for additional services, like Google Drive, will be added over time.":"Support til yderligere tjenester, som f.eks. Google Drev, tilføjes over tid.","Support Our Mission":"Støt vores mission","Sync":"Synkronisere","Sync raw and video files":"Synkroniser raw og videofiler","Taken":"Taget","Teal":"Krikand","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow er nødvendig til billedklassificering, ansigtsgenkendelse og til at opdage potentielt stødende indhold.","Terrain":"Terræn","Text":"Tekst","Text too long":"Teksten er for lang","Thank You for Your Support!":"Tak for din støtte!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Derfor er PhotoPrism bygget helt fra bunden til at kunne køre hvor som helst, du har brug for det, uden at gå på kompromis med frihed, privatlivets fred eller funktionalitet.","The index currently contains %{n} hidden files.":"Indekset indeholder i øjeblikket %{n} skjulte filer.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Deres format understøttes muligvis ikke, de er ikke konverteret til JPEG endnu, eller der er dubletter.","Theme":"Tema","This field is required":"Dette felt er påkrævet","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Dette sætter originalmappen som et netværksdrev og giver dig mulighed for at åbne, redigere og slette filer fra din computer eller smartphone, som om de var lokale.","Time UTC":"Tid UTC","Time Zone":"Tidszone","Timeout":"Timeout","Title":{"Account":"Titel","Photo":"Titel","":"Titel"},"Title / Position":"Titel / stilling","Title too long":"Titlen er for lang","to":"til","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"For at undgå at blive låst ude af din konto skal du downloade, udskrive eller kopiere denne gendannelseskode nu og opbevare den et sikkert sted.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"For at generere en ny app-specifik adgangskode skal du indtaste navnet og godkendelsesomfanget for applikationen og vælge en udløbsdato:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"For at skifte til en ny autentificeringsapp eller enhed skal du først deaktivere tofaktorgodkendelse og derefter genaktivere den:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"For at opgradere kan du enten indtaste en aktiveringskode eller klikke på \"Registrer\" for at tilmelde dig på vores websted:","Today":"I dag","Toggle View":"Skift visning","Token":"Token","Too many files selected":"For mange filer valgt","Too many requests":"For mange anmodninger","Troubleshooting":"Fejlfinding","Try again using other filters or keywords.":"Prøv igen ved hjælp af andre filtre eller nøgleord.","Two-factor authentication has been enabled for your account.":"To-faktor-godkendelse er blevet aktiveret for din konto.","Type":"Type","Unable to delete":"Kan ikke slette","Unauthorized":"Uautoriseret","Undo":"Fortryd","Unique ID":"Unikt ID","Unknown":"Ukendt","Unregistered":"Uregistreret","Unsorted":"Usorteret","Unstack":"Fjern samling","Updated":"Opdateret","Updating faces":"Opdatering af ansigter","Updating index":"Opdaterer indeks","Updating moments":"Opdaterer øjeblikke","Updating picture…":"Opdatering af billede…","Updating previews":"Opdatering af forhåndsvisninger","Updating stacks":"Opdatering af samlinger","Upgrade":"Opgradering","Upgrade Now":"Opgrader nu","Upload":"Upload","Upload complete":"Upload fuldført","Upload complete. Indexing…":"Upload fuldført. Indekserer…","Upload failed":"Upload mislykkedes","Upload local files":"Upload lokale filer","Upload Path":"Upload sti","Upload to WebDAV and share links with friends.":"Upload til WebDAV og del links med venner.","Uploading %{n} of %{t}…":"Uploader %{n} af %{t}…","Uploading photos…":"Uploader fotos…","Uploading…":"Overførsel af…","Uploads that may contain such images will be rejected automatically.":"Uploads, der kan indeholde sådanne billeder, afvises automatisk.","Use Presets":"Brug forudindstillinger","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Brug følgende gendannelseskode til at få adgang til din konto, når du ikke er i stand til at generere en gyldig bekræftelseskode med din godkendelsesapp:","Use your recovery code or contact an administrator for help.":"Brug din gendannelseskode, eller kontakt en administrator for at få hjælp.","User":"Bruger","User Guide":"Brugervejledning","User Interface":"Brugergrænseflade","Username":"Brugernavn","Users":"Brugere","Vector":"Vektor","Vectors":"Vektorer","Verification Code":"Verifikationskode","Video":"Video","Video Duration":"Videoens varighed","Videos":"Videoer","View":"Vis","View search results as a list.":"Se søgeresultater som en liste.","Viewer":"Seer","Visitor":"Besøgende","Visual Similarity":"Visuel lighed","Warning":"Advarsel","We appreciate your feedback!":"Vi sætter pris på din feedback!","We do our best to respond within five business days or less.":"Vi gør vores bedste for at svare inden for fem arbejdsdage eller mindre.","Web Login":"Web-login","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"WebDAV-klienter kan oprette forbindelse til PhotoPrism ved hjælp af følgende URL:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"WebDAV-klienter, som Microsofts Windows Stifinder eller Apples Finder, kan oprette forbindelse direkte til PhotoPrism.","WebDAV Upload":"WebDAV-upload","WebGL support is disabled in your browser":"WebGL-understøttelse er deaktiveret i din browser","Website":"Websted","White":"Hvid","Work Details":"Detaljer om arbejdet","Year":"År","Yellow":"Gul","Yes":"Ja","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Du er velkommen til at kontakte os på membership@photoprism.app for at få svar på spørgsmål om dit medlemskab.","You can only download one album":"Du kan kun downloade et album","You can only download one label":"Du kan kun downloade en etiket","You can search for a location or move the marker on the map to change the position:":"Du kan søge efter et sted eller flytte markøren på kortet for at ændre positionen:","You can upload up to %{n} files for test purposes.":"Du kan uploade op til %{n} filer til testformål.","You may only select one item":"Du kan kun vælge et element","You may rescan your library to find additional faces.":"Du kan scanne dit bibliotek igen for at finde flere ansigter.","Your account has been successfully connected.":"Din konto er blevet forbundet.","Your browser does not support WebGL":"Din browser understøtter ikke WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Din fortsatte støtte hjælper os med at levere regelmæssige opdateringer og forblive uafhængige, så vi kan opfylde vores mission og beskytte dit privatliv.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Dit bibliotek analyseres løbende for automatisk at oprette album med særlige øjeblikke, rejser og steder.","Zoom in/out":"Zoom ind/ud"}} \ No newline at end of file diff --git a/frontend/src/locales/json/de.json b/frontend/src/locales/json/de.json index ce9ab231d..507234a5a 100644 --- a/frontend/src/locales/json/de.json +++ b/frontend/src/locales/json/de.json @@ -1 +1 @@ -{"de":{"{0} appended action":"{0} angehängte Aktion","{0} files":"{0} Dateien","{0} files ({1} in total)":"{0} Dateien ({1} insgesamt)","{0} more":"{0} mehr","{0} prepended action":"{0} vorangestellte Aktion","{0} selected":"{0} ausgewählt","{0}-{1} of {2}":"{0}-{1} von {2}","%{n} albums found":"%{n} Alben gefunden","%{n} files uploaded":"%{n} Dateien hochgeladen","%{n} folders found":"%{n} Ordner gefunden","%{n} GB of %{q} GB used":"%{n} GB von %{q} GB verwendet","%{n} labels found":"%{n} Kategorien gefunden","%{n} people found":"%{n} Personen gefunden","%{n} pictures found":"%{n} Bilder gefunden","%{s} is too long":"%{s} ist zu lang","%{s} is too short":"%{s} ist zu kurz","1 hour":"1 Stunde","12 hours":"12 Stunden","2-Factor Authentication":"2-Faktor-Authentifizierung","2FA":"2FA","4 hours":"4 Stunden","A click will copy it to your clipboard.":"In die Zwischenablage kopieren.","A new version of %{s} is available:":"Eine neue Version von %{s} ist verfügbar:","About":"Info","Access Token":"Zugangs-Token","Account":"Konto","Account created":"Konto hinzugefügt","Account deleted":"Konto gelöscht","Account restored":"Konto wiederhergestellt","Accounts":"Benutzerkonten","Accuracy":"Genauigkeit","Action":"Aktion","Actions":"Aktionen","Activate":"Aktivieren","Activate to remove sorting.":"Aktivieren, um die Sortierung aufzuheben.","Activate to sort ascending.":"Aktivieren, um aufsteigend zu sortieren.","Activate to sort descending.":"Aktivieren, um absteigend zu sortieren.","Activation Code":"Aktivierungscode","Add":"Hinzufügen","Add %{s}?":"%{s} hinzufügen?","Add Account":"Konto hinzufügen","Add Album":"Album erstellen","Add files to your library via Web Upload.":"Dateien über den Browser hochladen und importieren.","Add Link":"Link hinzufügen","Add person?":"Person hinzufügen?","Add pictures from search results by selecting them.":"Ausgewählte Bilder können über das Kontextmenü hinzugefügt werden.","Add to album":"Hinzufügen","Added":"Hinzugefügt","Admin":"Admin","Advanced":"Erweitert","After 1 day":"Nach einem Tag","After 3 days":"Nach 3 Tagen","After 7 days":"Nach 7 Tagen","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Nach der Bestätigung mit deinem Passwort kannst du die Zwei-Faktor-Authentifizierung mit einer kompatiblen Authenticator-App einrichten:","After one month":"Nach einem Monat","After one year":"Nach einem Jahr","After selecting pictures from search results, you can add them to an album using the context menu.":"Ausgewählte Bilder können über das Kontextmenü einem Album hinzugefügt werden.","After two months":"Nach zwei Monaten","After two weeks":"Nach zwei Wochen","Album":"Album","Album Backups":"Album-Backups","Album created":"Album erstellt","Albums":"Alben","Albums deleted":"Alben gelöscht","All":"Alle","All %{n} albums loaded":"Alle %{n} Alben werden angezeigt","All %{n} labels loaded":"Alle %{n} Kategorien werden angezeigt","All %{n} people loaded":"Alle %{n} Personen geladen","All Cameras":"Alle Kameras","All Categories":"Alle Kategorien","All Colors":"Alle Farben","All Countries":"Alle Länder","All fields are required":"Alle Felder müssen ausgefüllt werden","All files from import folder":"Alle Ordner durchsuchen","All Lenses":"Alle Objektive","All Months":"Alle Monate","All originals":"Alle Ordner durchsuchen","All Years":"Alle Jahre","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Alternativ können Dateien auch direkt auf kompatible WebDAV-Server z.B. Nextcloud hochgeladen werden.","Altitude":"Höhe","Altitude (m)":"Höhe (m)","AM":"AM","Animated":"Animiert","Animation":"Animation","Any private photos and videos remain private and won't be shared.":"Als privat markierte Bilder und Videos bleiben privat und werden nicht geteilt.","API Key":"API-Key","Application":"Anwendung","Apply":"Speichern","Approve":"Übernehmen","Apps and Devices":"Apps und Geräte","Archive":"Archiv","Archived":"Archiviert","Are you sure you want to archive the selection?":"Auswahl wirklich archivieren?","Are you sure you want to delete these albums?":"Diese Alben wirklich löschen?","Are you sure you want to delete these labels?":"Diese Kategorien wirklich löschen?","Are you sure you want to delete this account?":"Dieses Konto wirklich löschen?","Are you sure you want to permanently delete these pictures?":"Diese Bilder unwiderruflich löschen?","Are you sure you want to permanently delete this file?":"Diese Datei unwiderruflich löschen?","Are you sure?":"Bist du sicher?","Artist":"Ersteller","Aspect Ratio":"Seitenverhältnis","Audio":"Audio","Authentication":"Authentifizierung","Auto":"Auto","Back":"Zurück","Back to top":"Zurück nach oben","Backup":"Datensicherung","Badge":"Abzeichen","Base Path":"Basis-Verzeichnis","Become a member today, support our mission and enjoy our member benefits!":"Werde noch heute Mitglied, unterstütze unsere Mission und genieße unsere Mitgliedsvorteile!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Da wir uns zu 100% selbst finanzieren und unabhängig sind, können wir dir versprechen, dass wir deine Daten niemals verkaufen werden und immer transparent mit unserer Software und unseren Dienstleistungen umgehen.","Bio":"Biographie","Birth Date":"Geburtsdatum","Black":"Schwarz","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Weniger Überschwingungsartefakte als Lanczos","Blue":"Blau","Brown":"Braun","Browse":"Durchsuchen","Browse and edit image classification labels.":"Automatische Bild-Kategorisierung sehen und bearbeiten.","Browse and share your pictures organized into monthly albums.":"Durchsuche und teile deine Bilder, die in monatlichen Alben organisiert sind.","Browse Files":"Dateien durchsuchen","Browse indexed files and folders in Library.":"Durchsuche Ordner hierarchisch nach indexierten Original-Dateien.","Bug Report":"Fehlerbericht","Busy, please wait…":"Bitte warten…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Durch die Nutzung der von uns angebotenen Software und Dienstleistungen erklärst du dich mit unseren Nutzungsbedingungen, der Datenschutzerklärung und dem Verhaltenskodex einverstanden.","Calendar":"Kalender","Camera":"Kamera","Camera Serial":"Kamera-Seriennummer","Can't access your authenticator app or device?":"Keinen Zugriff auf die Authenticator-App oder das Gerät?","Can't load more, limit reached":"Limit erreicht, bitte Suche eingrenzen","Can't select more items":"Maximale Anzahl wurde selektiert","Cancel":"Abbrechen","Caption":"Bildunterschrift","Cards":"Karteikarten","Carousel slide {0} of {1}":"Slide {0} von {1}","Category":"Kategorie","Change Avatar":"Avatar ändern","Change Password":"Passwort ändern","Change personal profile and security settings.":"Persönliche Profil- und Sicherheitseinstellungen ändern.","Change photo titles, locations, and other metadata.":"Titel, Datum, Ort und andere Metadaten können geändert werden.","Change private flag":"Als privat markieren","Changes could not be saved":"Änderungen konnten nicht gespeichert werden","Changes successfully saved":"Änderungen erfolgreich gespeichert","Changes to the advanced settings require a restart to take effect.":"Änderungen an den erweiterten Einstellungen erfordern einen Neustart, um wirksam zu werden.","Checked":"Geprüft","Chroma":"Farbsättigung","Cleaning index and cache":"Bereinigung von Index und Cache","Cleanup":"Aufräumen","Clear {0}":"Löschen {0}","Client":"Kunde","Client Credentials":"Kundennachweise","Close":"Schließen","Codec":"Codec","Color":"Farbe","Color Profile":"Farbprofil","Colors":"Farben","Compare Editions":"Editionen vergleichen","Complete Rescan":"Index vollständig aktualisieren","Confidence":"Wahrscheinlichkeit","Confirm":"Bestätigen","Connect":"Verbinden","Connect via WebDAV":"Mit WebDAV verbinden","Connected":"Verbunden","Contact Details":"Kontaktangaben","Contact Us":"Kontakt aufnehmen","Contains %{n} pictures.":"Enthält %{n} Bilder.","Contains one picture.":"Enthält ein Bild.","Content":"Inhalte","Continue":"Fortfahren","Continue with %{provider}":"Mit %{provider} anmelden","Contributor":"Contributor","Converting":"Konvertiere","Copied to clipboard":"In Zwischenablage kopiert","Copy":"Kopieren","Copyright":"Copyright","Couldn't find anything.":"Leider nichts gefunden.","Country":"Land","Create Account":"Konto erstellen","Create album":"Erstellen","Create regular backups based on the configured schedule.":"Regelmäßige Backups zu den festgelegten Zeiten erstellen.","Create YAML files to back up album metadata.":"YAML-Dateien zum Sichern von Album-Metadaten verwenden.","Create YAML sidecar files to back up picture metadata.":"Bild-Metadaten in YAML-Sidecar-Dateien sichern.","Created":"Hinzugefügt","Creating thumbnails for":"Erstelle Thumbnails für","Cubic: Moderate Quality, Good Performance":"Kubisch: Mittlere Qualität, gute Performance","Current Password":"Aktuelles Passwort","Custom":"Benutzerdefiniert","Cyan":"Cyan","Daily":"Täglich","Database Backups":"Datenbank-Backups","Day":"Tag","Deactivate":"Deaktivieren","Debug Logs":"Debug Logs","Default":"Standard","Default Folder":"Standard Ordner","Delete":"Löschen","Delete All":"Alle löschen","Delete all?":"Alle löschen?","Delete orphaned index entries, sidecar files and thumbnails.":"Verwaiste Indexeinträge, Sidecar-Dateien und Thumbnails löschen.","Description":"Beschreibung","Detailed instructions can be found in our User Guide.":"Unser Benutzerhandbuch enthält eine detaillierte Anleitung.","Details":"Details","Dimensions":"Auflösung","Disable Backups":"Keine Datensicherung","Disable Darktable":"Darktable deaktivieren","Disable ExifTool":"ExifTool deaktivieren","Disable features that require write permission for the originals folder.":"Deaktiviert Funktionen, die eine Schreibberechtigung für die Original-Ordner und -Dateien erfordern.","Disable FFmpeg":"FFmpeg deaktivieren","Disable ImageMagick":"ImageMagick deaktivieren","Disable interactive world maps and reverse geocoding.":"Deaktiviert interaktive Weltkarten und Reverse Geocoding.","Disable Places":"Karten deaktivieren","Disable RawTherapee":"RawTherapee deaktivieren","Disable TensorFlow":"TensorFlow deaktivieren","Disable Vectors":"Vektorgrafiken deaktivieren","Disable WebDAV":"WebDAV deaktivieren","Disables vector graphics support.":"Deaktiviert die Unterstützung von Vektorgrafiken.","Disables video transcoding and thumbnail extraction.":"Deaktiviert die Videotranskodierung und die Erstellung von Vorschaubildern.","Discover":"Entdecken","Dismiss":"Verwerfen","Display Name":"Anzeigename","Display picture captions in search results.":"Bildunterschriften in den Suchergebnissen anzeigen.","Display picture titles in search results.":"Bildtitel in den Suchergebnissen anzeigen.","Document":"Dokument","Documents":"Dokumente","Don't use Darktable to convert RAW images.":"Darktable nicht zum Konvertieren von Bildern verwenden.","Don't use ImageMagick to convert images.":"ImageMagick nicht zum Konvertieren von Bildern verwenden.","Don't use RawTherapee to convert RAW images.":"RawTherapee nicht zum Konvertieren von Bildern verwenden.","Done":"Fertig","Done.":"Fertig.","Download":"Download","Download only original media files, without any automatically generated files.":"Lade nur Original-Mediendateien herunter, ohne automatisch generierte Dateien.","Download remote files":"Dateien herunterladen","Download single files and zip archives.":"Einzelne Bilder, Videos sowie Zip-Archive können heruntergeladen werden.","Downloading…":"Wird heruntergeladen…","Downscaling Filter":"Skalierungsfilter","Drag and drop files here":"Dateien per Drag-and-Drop hier ablegen","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"Aufgrund der hohen Anzahl von E-Mails, die wir erhalten, kann es vorkommen, dass unser Team Ihnen nicht sofort antworten kann.","Duplicates will be skipped and only appear once.":"Duplikate werden übersprungen und erscheinen nur einmal.","Duration":"Laufzeit","Dynamic Previews":"Dynamische Vorschaubilder","Dynamic Size Limit: %{n}px":"Dynamische Maximalgröße: %{n}px","E-Mail":"E-Mail","Edit":"Bearbeiten","Edit %{s}":"%{s} bearbeiten","Edit Account":"Konto bearbeiten","Edit Photo":"Bild bearbeiten","Edited":"Bearbeitet","Email":"E-Mail","Enable debug mode to display additional logs and help with troubleshooting.":"Debug-Modus aktivieren, um zusätzliche Logs anzuzeigen und die Fehlersuche zu erleichtern.","Enable new features that may be incomplete or unstable.":"Aktiviert neue Funktionen, die möglicherweise unvollständig oder instabil sind.","Enables RAW converter presets. May reduce performance.":"Aktiviert benutzerdefinierte Voreinstellungen. Dateien werden möglicherweise langsamer konvertiert.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Wenn die Zwei-Faktor-Authentifizierung aktiviert ist, wird ein zufällig generierter Verifizierungscode benötigt, um sich anzumelden. Selbst wenn jemand Zugang zu deinem Passwort hat, kann er also nicht auf das Konto zugreifen.","Enter date":"Datum eingeben","Enter dates":"Daten eingeben","Enter the code generated by your authenticator app:":"Gib den von deiner Authenticator-App generierten Code ein:","Enter verification code":"Verifizierungscode eingeben","Enter your password to confirm the action and continue:":"Bitte mit Passwort bestätigen, um fortzufahren:","Error":"Fehler","Errors":"Fehler","Estimate":"Schätzung","Estimate Locations":"Standorte schätzen","Estimate the approximate location of pictures without GPS coordinates.":"Schätze den ungefähren Standort von Bildern ohne GPS-Koordinaten.","Every two days":"Jeden zweiten Tag","Exclude content marked as private from search results, shared albums, labels, and places.":"Als privat markierte Inhalte werden nicht in Suchergebnissen und geteilten Alben angezeigt.","Exclude hidden":"Verborgene ausblenden","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"ExifTool wird für die vollständige Unterstützung von XMP-Metadaten, Videos und Live Photos benötigt.","Experimental Features":"Experimentelle Funktionen","Expires":"Ablaufdatum","Exposure":"Belichtungszeit","Extract still images and generate thumbnails while indexing.":"Extrahiere Standbilder und erstelle Miniaturansichten während der Indexierung.","F Number":"Lichtstärke","Face":"Gesicht","Faces":"Gesichter","Failed removing link":"Der Link konnte nicht gelöscht werden","Failed to connect account.":"Die Verbindung zum Konto ist fehlgeschlagen.","Failed updating link":"Der Link konnte nicht gespeichert werden","Family Name":"Nachname","Fast":"Schnell","Favorite":"Favorit","Favorites":"Favoriten","Feature Request":"Verbesserungsvorschlag","Feedback":"Feedback","Female":"Weiblich","File":"Datei","File Browser":"Datei-Browser","File Conversion":"Datei-Konvertierung","File Name":"Dateiname","File Size":"Dateigröße","Filename":"Dateiname","Files":"Dateien","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Dateien mit fortlaufenden Namen wie ‘IMG_1234 (2)’ und ‘IMG_1234 (3)’ gehören zum gleichen Bild.","First page":"Erste Seite","Focal Length":"Brennweite","Folder":"Ordner","Folder contains %{n} files":"Ordner enthält %{n} Dateien","Folder is empty":"Ordner ist leer","Folders":"Ordner","Forgot password?":"Passwort vergessen?","FPS":"FPS","Frames":"Frames","Full Access":"Voller Zugriff","Fullscreen":"Vollbildmodus","General":"Allgemein","Generate":"Generieren","Generate albums of special moments, journeys, and places.":"Alben von besonderen Momenten, Reisen und Orten erstellen.","Generate Previews":"Vorschaubilder generieren","Generated":"Generiert","Get Started":"Erste Schritte","Given Name":"Vorname","Global Options":"Globale Optionen","Go to page {0}":"Zu Seite {0}","Gold":"Gold","Green":"Grün","Grey":"Grau","Guest":"Gast","Hash":"Prüfsumme","Help":"Hilfe","Help & Support":"Hilfe & Unterstützung","Hidden":"Verborgen","Hidden Files":"Verborgene Dateien","Hide":"Verbergen","Hide photos that have been moved to archive.":"Archivierte Inhalte werden nicht in den Suchergebnissen angezeigt.","High":"Hoch","High Dynamic Range (HDR)":"Hoher Dynamikumfang (HDR)","How can we help?":"Wie können wir helfen?","Hybrid":"Hybrid","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Falls die Authenticator-App bzw. das Gerät verloren geht, kannst du den Wiederherstellungscode verwenden, um wieder Zugang zu deinem Konto zu erhalten.","Image":"Bild","Image Quality":"Bildqualität","Import":"Import","Import failed":"Import fehlgeschlagen","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Importierte Dateien werden nach Datum sortiert und bekommen einen eindeutigen Namen, um Duplikate zu vermeiden.","Imported files will be sorted by date and given a unique name.":"Importierte Dateien werden nach Datum sortiert und bekommen einen eindeutigen Namen.","Importing %{s}…":"Importiere %{s}…","Importing files to originals…":"Importiere Dateien nach Originals…","in":"in","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"Sollten Bilder fehlen, muss der Index möglicherweise aktualisiert werden. Es werden erst alle Bilder gefunden, wenn das Indexieren vollständig abgeschlossen ist.","Include RAW image files when downloading stacks and archives.":"RAW-Bilddateien beim Herunterladen von Stapeln und Archiven miteinbeziehen.","Include sidecar files when downloading stacks and archives.":"Sidecar-Dateien beim Herunterladen von Stapeln und Archiven miteinbeziehen.","Increase storage size or delete files to continue.":"Erhöhe die Speichergröße oder lösche Dateien, um fortzufahren.","Index":"Index","Index and import files through the user interface.":"Indexiere und importiere Dateien über die Benutzeroberfläche.","Indexing":"Indexiere","Indexing failed":"Indexierung fehlgeschlagen","Indexing media and sidecar files…":"Indexiere Bilder, Videos und Sidecar-Dateien…","Information":"Informationen","Instance ID":"Instanz ID","Insufficient storage.":"Zu wenig Speicherplatz.","Interval":"Intervall","Invalid":"Ungültig","Invalid address":"Ungültige Adresse","Invalid country":"Ungültiges Land","Invalid date":"Ungültiges Datum","Invalid parameters":"Ungültige Parameter","Invalid photo selected":"Ungültiges Foto ausgewählt","Invalid time":"Ungültige Zeit","Invalid URL":"Ungültige URL","It is a one-time use code that will disable 2FA for your account when you use it.":"Es handelt sich um einen einmalig verwendbaren Code, der 2FA für dein Konto deaktiviert, wenn er verwendet wird.","Item":"Eintrag","Items per page:":"Ergebnisse pro Seite:","JPEG Quality: %{n}":"JPEG-Qualität: %{n}","JPEG Size Limit: %{n}px":"Maximale JPEG-Größe: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"JPEGs und Thumbnails werden bei Bedarf automatisch erstellt.","Keywords":"Suchbegriffe","Label":"Kategorie","Labels":"Kategorien","Labels deleted":"Kategorien gelöscht","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: Sehr gute Detailerhaltung, minimale Artefakte","Language":"Sprache","Last Active":"Zuletzt aktiv","Last Login":"Letzter Login","Last page":"Letzte Seite","Last Sync":"Letzte Synchronisation","Last Used":"Zuletzt verwendet","Latitude":"Breitengrad","LDAP/AD":"LDAP/AD","Learn more":"Mehr erfahren","Learn More":"Mehr erfahren","Legal Information":"Rechtliche Informationen","Lens":"Objektiv","Library":"Dateien","License":"Lizenz","Like":"Favorit","Lime":"Hellgrün","Limit reached, showing first %{n} files":"Limit erreicht, zeige die ersten %{n} Dateien","Linear: Very Smooth, Best Performance":"Linear: Weicher Bildeindruck, sehr gute Performance","Link":"Link","List":"Liste","List View":"Listenansicht","Live":"Live","Live Photos":"Live Photos","Load more":"Mehr laden","Loading items...":"Ergebnisse laden...","Loading...":"Lädt...","Local":"Lokal","Local Time":"Ortszeit","Location":"Ort","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Warnungen und Fehler erscheinen hier, sobald PhotoPrism beschädigte Dateien findet oder andere Probleme aufgetreten sind.","Login":"Anmelden","Logout":"Abmelden","Logs":"Logs","Longitude":"Längengrad","Low":"Niedrig","Magenta":"Magenta","Main Color":"Hauptfarbe","Male":"Männlich","Manage Account":"Konto verwalten","Manual":"Manuell","Manual Upload":"Manueller Upload","Maps":"Karten","Marker":"Bildbereich","Maximum number of accounts has been reached.":"Die maximale Anzahl von Konten wurde erreicht.","Media":"Medien","Medium":"Mittel","Membership":"Mitgliedschaft","Merge %{a} with %{b}?":"%{a} und %{b} zusammenfassen?","Message":"Feedback","Message sent":"Nachricht versendet","Metadata":"Metadaten","Metrics":"Metriken","Minimize":"Minimieren","Missing":"Fehlend","Missing or invalid configuration":"Fehlende oder ungültige Konfiguration","Moments":"Ereignisse","Monochrome":"Monochrom","Month":"Monat","More options":"Weitere Optionen","Mosaic":"Mosaik","Most Relevant":"Am relevantesten","Move Files":"Dateien verschieben","Must have at least %{n} characters.":"Muss mindestens %{n} Zeichen enthalten.","Mute":"Stummschalten","Name":"Name","Name too long":"Name zu lang","Never":"Nie","New":"Neu","New Password":"Neues Passwort","Newest First":"Neueste zuerst","Next":"Nächste","Next page":"Nächste Seite","Next visual":"Nächstes Bild","No":"Nein","No albums found":"Keine Alben gefunden","No data available":"Keine Daten verfügbar","No labels found":"Keine Kategorien gefunden","No matching records found":"Keine passenden Ergebnisse gefunden","No more":"Keine weiteren","No people found":"Keine Personen gefunden","No pictures found":"Keine Bilder gefunden","No recently edited pictures":"Keine kürzlich bearbeiteten Bilder","No server connection":"Keine Serververbindung","No servers configured.":"Keine Server konfiguriert.","No services configured.":"Keine Dienste konfiguriert.","No thanks":"Nein danke","No warnings or error containing this keyword. Note that search is case-sensitive.":"Keine Warnungen oder Fehler mit diesem Suchbegriff. Bei der Suche wird zwischen Groß- und Kleinschreibung unterschieden.","Non-photographic and low-quality images require a review before they appear in search results.":"Nicht-fotografische Inhalte oder Bilder mit geringer Qualität werden erst nach einer Bestätigung in der Suche angezeigt.","None":"Keine","Not allowed":"Nicht erlaubt","Not found":"Nicht gefunden","Not sorted.":"Nicht sortiert.","Not supported":"Nicht unterstützt","Note you may manually manage your originals folder and importing is optional.":"Die Verwaltung der Original-Dateien kann auch manuell erfolgen, der Import ist optional.","Note:":"Hinweis:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Hinweis: Momentan können nur WebDAV-Server, wie Nextcloud oder PhotoPrism, für Backups oder zum Datei-Upload verwendet werden.","Notes":"Notizen","Nothing to see here yet.":"Hier gibt es noch nichts zu sehen.","Nothing was found.":"Es konnte nichts gefunden werden.","Offline":"Offline","OIDC":"OIDC","OK":"OK","Oldest First":"Älteste zuerst","On Windows, enter the following resource in the connection dialog:":"Unter Windows gibst du die folgende Ressource in den Verbindungsdialog ein:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"Die On-Demand-Generierung von Vorschaubildern kann zu einer hohen CPU- und Speicherauslastung führen. Nicht empfohlen für leistungsschwache Server und NAS-Geräte.","Once a week":"Einmal die Woche","One album found":"Ein Album gefunden","One file found":"Eine Datei gefunden","One file uploaded":"Eine Datei hochgeladen","One folder found":"Ein Ordner gefunden","One label found":"Eine Kategorie gefunden","One person found":"Eine Person gefunden","One picture found":"Ein Bild gefunden","Only locally managed accounts can be set up for authentication with 2FA.":"Nur lokal verwaltete Konten können für die Authentifizierung mit 2FA eingerichtet werden.","Open":"Öffnen","optional":"optional","or":"oder","Orange":"Orange","Organization":"Organisation","Orientation":"Ausrichtung","Original file names will be stored and indexed.":"Die ursprünglichen Dateinamen werden im Index gespeichert.","Original Name":"Originalname","Originals":"Originale","Other":"Sonstiges","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Unser Ziel ist es, die benutzer- und datenschutzfreundlichste Lösung zu bieten, um Bilder zu organisieren und zugänglich zu machen.","Outdoor":"Outdoor","Page {0}, Current page":"Seite {0}, Aktuelle Seite","Pages":"Seiten","Pagination Navigation":"Paginierung Navigation","Panorama":"Panorama","Panoramas":"Panoramen","Password":"Passwort","Password changed":"Passwort geändert","People":"Personen","People you share a link with will be able to view public contents.":"Jeder mit diesem Link wird öffentliche Bilder und Videos sehen können.","Permanently deleted":"Endgültig gelöscht","Permanently remove files to free up storage.":"Dauerhaftes Entfernen von Dateien, um Speicherplatz freizugeben.","Person":"Person","Personal":"Persönlich","Photo":"Bild","PhotoPrism is 100% self-funded and independent.":"PhotoPrism ist zu 100 % selbstfinanziert und unabhängig.","PhotoPrism+ Membership":"PhotoPrism+ Mitgliedschaft","Photos":"Bilder","Picture Title":"Bildtitel","Pink":"Pink","Place":"Ort","Place & Time":"Ort & Zeit","Places":"Orte","Please confirm your new password.":"Neues Passwort bitte bestätigen.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Bitte kopiere das folgende, zufällig generierte App-Passwort und bewahre es an einem sicheren Ort auf, da es nicht noch einmal angezeigt werden kann:","Please do not upload any private, unlawful or offensive pictures.":"Bitte lade keine privaten, illegalen oder anstößigen Bilder hoch.","Please don't upload photos containing offensive content.":"Bitte lade keine anstößigen Bilder hoch.","Please enter OTP character {0}":"Bitte OTP-Zeichen eingeben {0}","Please note that changing your password will log you out on other devices and browsers.":"Bitte beachte, dass du beim Ändern deines Passworts auf anderen Geräten und Browsern abgemeldet wirst.","Please restart your instance for the changes to take effect.":"Bitte starte deine Instanz neu, damit die Änderungen wirksam werden.","Please wait…":"Bitte warten…","PM":"PM","PNG Size Limit: %{n}px":"Maximale PNG-Größe: %{n}px","Portrait":"Portrait","Preserve filenames":"Namen beibehalten","Press enter to create a new album.":"Enter drücken, um ein neues Album zu erstellen.","Prevent database and album backups as well as YAML sidecar files from being created.":"Deaktiviert Datenbank- und Album-Backups sowie die Erstellung von YAML-Sidecar-Dateien.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Verhindert, dass andere Anwendungen über WebDAV auf Ordner und Dateien zugreifen können.","Preview":"Voransicht","Preview Images":"Vorschaubilder","Previous":"Vorherige","Previous page":"Vorherige Seite","Previous visual":"Voriges Bild","Primary":"Primärdatei","Private":"Privat","Product Feedback":"Allgemeines Feedback","Projection":"Projektion","Purple":"Lila","Quality Filter":"Qualitätsfilter","Quality Score":"Qualität","r":"r","Random":"Zufällig","Rating {0} of {1}":"Bewertung {0} von {1}","Raw":"RAW","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Bereits bekannte und unveränderte Dateien neu indexieren.","Read-Only Mode":"Schreibgeschützter Modus","Recently Added":"Kürzlich hinzugefügt","Recently Archived":"Kürzlich archiviert","Recently Edited":"Zuletzt bearbeitet","Recognition starts after indexing has been completed.":"Die Erkennung beginnt, nachdem die Indexierung abgeschlossen ist.","Recognize faces so people can be assigned and found.":"Gesichter erkennen, damit Personen zugeordnet und gefunden werden können.","Recognized":"Erkannt","Recovery Code":"Wiederherstellungs-Code","Red":"Rot","Refresh":"Aktualisieren","Regions":"Regionen","Register":"Registrieren","Reload":"Neu laden","Reloading…":"Wird neu geladen…","Remote Sync":"Synchronisation","Remove":"Entfernen","remove failed: unknown album":"Löschen nicht möglich: Unbekanntes Album","Remove from Album":"Aus dem Album entfernen","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Dateien von Import nach Originals verschieben, um Speicherplatz zu sparen. Dateitypen, die nicht unterstützt werden, verbleiben im Import Ordner.","Request failed - are you offline?":"Anfrage fehlgeschlagen - bist du offline?","Request failed - invalid response":"Anfrage fehlgeschlagen - ungültige Antwort","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Verlangt, dass nicht-fotografische und qualitativ schlechte Bilder geprüft werden, bevor sie in den Suchergebnissen erscheinen.","Resolution":"Auflösung","Restart":"Neustart","Restore":"Wiederherstellen","Restored":"Wiederhergestellt","Retry Limit":"Wiederholungsversuche","Retype Password":"Passwort wiederholen","Review":"Überprüfen","Role":"Rolle","Rows per page:":"Zeilen pro Seite:","Satellite":"Satellit","Save":"Speichern","Scan":"Scan","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Scanne den QR-Code mit deiner Authenticator-App oder verwende den unten gezeigten Schlüssel für die Einrichtung und gib dann den generierten Verifizierungscode ein:","Scans":"Scans","Scope":"Berechtigung","Search":"Suche","Search and display photos on a map.":"Bilder und Videos auf verschiedenen Weltkarten anzeigen und filtern.","Season":"Jahreszeit","Secret":"Code","Security and Access":"Sicherheit und Zugang","Select":"Auswählen","Select a source folder to import files…":"Wähle einen Quellordner, um Dateien zu importieren…","Select date":"Datum auswählen","Select dates":"Daten auswählen","Select or create an album":"Album auswählen oder erstellen","Select the files to upload…":"Wähle Dateien zum Hochladen aus…","Select the folder to be indexed…":"Wähle den zu indexierenden Ordner aus…","Select Time":"Zeit wählen","Selection approved":"Auswahl übernommen","Selection archived":"Auswahl archiviert","Selection restored":"Auswahl wiederhergestellt","Sequential Name":"Fortlaufender Name","Service URL":"Dienst-URL","Services":"Dienste","Session":"Session","Session ID":"Session-ID","Sessions":"Sessions","Set as Album Cover":"Als Albumcover verwenden","Settings":"Einstellungen","Settings saved":"Einstellungen gespeichert","Setup":"Einrichten","Share":"Teilen","Share %{s}":"%{s} teilen","Share your pictures with other apps and services.":"Teile Bilder mit anderen Anwendungen und Diensten.","Show":"Anzeigen","Show all new faces":"Alle neuen Gesichter anzeigen","Show Captions":"Bildunterschriften anzeigen","Show hidden":"Verborgene anzeigen","Show less":"Weniger zeigen","Show more":"Mehr zeigen","Show server logs in Library.":"Server-Ereignisprotokoll anzeigen, um Fehler zu finden.","Show Titles":"Titel anzeigen","Sidecar":"Sidecar","Sidecar Files":"Sidecar-Dateien","Sign in":"Anmelden","Similar":"Ähnlich","Size":"Größe","Slideshow":"Slideshow","Slow":"Langsam","Software":"Software","Software Update":"Software-Update","Something went wrong, try again":"Es ist ein Fehler aufgetreten, bitte erneut versuchen","Sort by":"Sortieren nach","Sort Order":"Sortierung","Sorted ascending.":"Aufsteigend sortiert.","Sorted descending.":"Absteigend sortiert.","Source":"Quelle","Stack":"Bildstapel","Stack files sharing the same unique image or instance identifier.":"Bilder mit identischer ID als Stapel indexieren und anzeigen.","Stack pictures taken at the exact same time and location based on their metadata.":"Aufnahmen mit übereinstimmenden Metadaten gruppieren.","Stackable":"Stapelbar","Stacks":"Bildstapel","Start":"Start","Start Page":"Startseite","Static Size Limit: %{n}px":"Statische Maximalgröße: %{n}px","Status":"Status","Storage":"Speicherort","Streets":"Straßen","Subject":"Bildinhalt","Submit":"Absenden","Successfully activated":"Erfolgreich aktiviert","Successfully Connected":"Erfolgreich verbunden","Successfully deleted":"Erfolgreich gelöscht","Successfully verified":"Erfolgreich verifiziert","Super Admin":"Super-Admin","Support for additional services, like Google Drive, will be added over time.":"Die Unterstützung weiterer Dienste, wie Google Drive, ist geplant.","Support Our Mission":"Unterstütze unsere Mission","Sync":"Sync","Sync raw and video files":"RAWs und Videos kopieren","Taken":"Aufgenommen","Teal":"Blaugrün","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow wird für die Bildklassifizierung sowie die Erkennung von Gesichtern und unsicheren Inhalten benötigt.","Terrain":"Gelände","Text":"Text","Text too long":"Text ist zu lang","Thank You for Your Support!":"Vielen Dank für deine Unterstützung!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Deshalb wurde PhotoPrism von Grund auf so entwickelt, dass es überall dort läuft, wo du es benötigst, ohne Kompromisse bei Freiheit, Privatsphäre oder Funktionalität einzugehen.","The index currently contains %{n} hidden files.":"Der Index enthält momentan %{n} verborgene Dateien.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Ihr Format wird möglicherweise nicht unterstützt, es handelt sich um Duplikate oder sie wurden noch nicht nach JPEG konvertiert.","Theme":"Theme","This field is required":"Dieses Feld ist erforderlich","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Dabei werden die Dateien als Netzwerk-Ordner auf deinem Computer oder Smartphone eingebunden, so dass sie lokal geöffnet, bearbeitet und gelöscht werden können.","Time UTC":"Zeit UTC","Time Zone":"Zeitzone","Timeout":"Timeout","Title":{"Account":"Titel","Photo":"Titel","":"Titel"},"Title / Position":"Titel / Position","Title too long":"Titel zu lang","to":"nach","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Um zu verhindern, dass du den Zugriff auf dein Konto verlierst, lade bitte diesen Wiederherstellungscode jetzt herunter, drucke ihn aus oder kopiere ihn und bewahre ihn an einem sicheren Ort auf.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Zum Generieren eines neuen app-spezifischen Passworts gib bitte den Namen und den Berechtigungsumfang der Anwendung ein und wähle ein Ablaufdatum:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Um zu einer neuen Authenticator-App bzw. einem neuen Gerät zu wechseln, deaktiviere zunächst die Zwei-Faktor-Authentifizierung und aktiviere sie dann wieder:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Um ein Upgrade durchzuführen, kannst du entweder einen Aktivierungscode eingeben oder auf \"Registrieren\" klicken, um dich auf unserer Website anzumelden:","Today":"Heute","Toggle View":"Ansicht wechseln","Token":"Token","Too many files selected":"Zu viele Dateien ausgewählt","Too many requests":"Zu viele Anfragen","Troubleshooting":"Fehlersuche","Try again using other filters or keywords.":"Versuche es mit anderen Filtern oder Suchbegriffen.","Two-factor authentication has been enabled for your account.":"Die Zwei-Faktor-Authentifizierung wurde für dein Konto aktiviert.","Type":"Typ","Unauthorized":"Unbefugte","Undo":"Rückgängig machen","Unique ID":"Eindeutige Bild-ID","Unknown":"Unbekannt","Unregistered":"Unregistriert","Unsorted":"Unsortiert","Unstack":"Nicht stapeln","Updated":"Geändert","Updating faces":"Aktualisiere Gesichter","Updating index":"Aktualisiere Index","Updating moments":"Aktualisiere Ereignisse","Updating picture…":"Bild wird aktualisiert…","Updating previews":"Aktualisiere Vorschaubilder","Updating stacks":"Aktualisiere Bildstapel","Upgrade":"Upgraden","Upgrade Now":"Jetzt upgraden","Upload":"Upload","Upload complete":"Vollständig hochgeladen","Upload complete. Indexing…":"Upload abgeschlossen. Indexiere…","Upload failed":"Upload fehlgeschlagen","Upload local files":"Dateien hochladen","Upload Path":"Upload-Verzeichnis","Upload to WebDAV and share links with friends.":"Teile Bilder, Videos und Alben mit Freunden.","Uploading %{n} of %{t}…":"Datei %{n} von %{t} wird hochgeladen…","Uploading photos…":"Bilder werden hochgeladen…","Uploading…":"Wird hochgeladen…","Uploads that may contain such images will be rejected automatically.":"Diese werden automatisch erkannt und gelöscht.","Use Presets":"Presets anwenden","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Verwende den folgenden Wiederherstellungscode, um auf dein Konto zuzugreifen, wenn du mit deinem Authenticator keinen gültigen Verifizierungscode generieren kannst:","Use your recovery code or contact an administrator for help.":"Verwende deinen Wiederherstellungscode oder bitte einen Administrator um Hilfe.","User":"Benutzer","User Guide":"Benutzerhandbuch","User Interface":"Benutzeroberfläche","Username":"Benutzername","Users":"Benutzer","Vector":"Vektor","Vectors":"Vektorgrafiken","Verification Code":"Verifizierungscode","Video":"Video","Video Duration":"Videolänge","Videos":"Videos","View":"Ansicht","View search results as a list.":"Suchergebnisse als Liste anzeigen.","Viewer":"Betrachter","Visitor":"Besucher","Visual Similarity":"Visuelle Ähnlichkeit","Warning":"Warnung","We appreciate your feedback!":"Wir freuen uns über dein Feedback!","We do our best to respond within five business days or less.":"Wir tun unser Bestes, um innerhalb von fünf Werktagen oder weniger zu antworten.","Web Login":"Web-Login","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"WebDAV-Clients können sich über die folgende URL mit PhotoPrism verbinden:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"WebDAV-Clients, wie der Windows Explorer von Microsoft oder der Finder von Apple, können sich direkt mit PhotoPrism verbinden.","WebDAV Upload":"WebDAV Upload","WebGL support is disabled in your browser":"WebGL-Unterstützung ist in deinem Browser deaktiviert","Website":"Website","White":"Weiß","Work Details":"Berufliche Angaben","Year":"Jahr","Yellow":"Gelb","Yes":"Ja","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Bei Fragen zu deiner Mitgliedschaft kannst du uns gerne unter membership@photoprism.app kontaktieren.","You can only download one album":"Du kannst nur ein Album gleichzeitig downloaden","You can only download one label":"Es kann nur eine Kategorie gleichzeitig heruntergeladen werden","You can upload up to %{n} files for test purposes.":"Du kannst bis zu %{n} Dateien für Testzwecke hochladen.","You may only select one item":"Es darf nur ein Eintrag ausgewählt werden","You may rescan your library to find additional faces.":"Der Index kann aktualisiert werden, um weitere Gesichter zu finden.","Your account has been successfully connected.":"Dein Konto wurde erfolgreich verbunden.","Your browser does not support WebGL":"Dein Browser unterstützt kein WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Deine Unterstützung hilft uns, regelmäßige Updates bereitzustellen und unabhängig zu bleiben, damit wir unsere Mission erfüllen und deine Privatsphäre schützen können.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Die vorhandenen Bilder werden fortlaufend analysiert, um automatisch Alben mit besonderen Momenten, Reisen und Orten zu erstellen.","Zoom in/out":"Herein/Herauszoomen"}} \ No newline at end of file +{"de":{"{0} appended action":"{0} angehängte Aktion","{0} files":"{0} Dateien","{0} files ({1} in total)":"{0} Dateien ({1} insgesamt)","{0} more":"{0} mehr","{0} prepended action":"{0} vorangestellte Aktion","{0} selected":"{0} ausgewählt","{0}-{1} of {2}":"{0}-{1} von {2}","%{n} albums found":"%{n} Alben gefunden","%{n} files uploaded":"%{n} Dateien hochgeladen","%{n} folders found":"%{n} Ordner gefunden","%{n} GB of %{q} GB used":"%{n} GB von %{q} GB verwendet","%{n} labels found":"%{n} Kategorien gefunden","%{n} people found":"%{n} Personen gefunden","%{n} pictures found":"%{n} Bilder gefunden","%{s} is too long":"%{s} ist zu lang","%{s} is too short":"%{s} ist zu kurz","1 hour":"1 Stunde","12 hours":"12 Stunden","2-Factor Authentication":"2-Faktor-Authentifizierung","2FA":"2FA","4 hours":"4 Stunden","A click will copy it to your clipboard.":"In die Zwischenablage kopieren.","A new version of %{s} is available:":"Eine neue Version von %{s} ist verfügbar:","About":"Info","Access Token":"Zugangs-Token","Account":"Konto","Account created":"Konto hinzugefügt","Account deleted":"Konto gelöscht","Account restored":"Konto wiederhergestellt","Accounts":"Benutzerkonten","Accuracy":"Genauigkeit","Action":"Aktion","Actions":"Aktionen","Activate":"Aktivieren","Activate to remove sorting.":"Aktivieren, um die Sortierung aufzuheben.","Activate to sort ascending.":"Aktivieren, um aufsteigend zu sortieren.","Activate to sort descending.":"Aktivieren, um absteigend zu sortieren.","Activation Code":"Aktivierungscode","Add":"Hinzufügen","Add %{s}?":"%{s} hinzufügen?","Add Account":"Konto hinzufügen","Add Album":"Album erstellen","Add files to your library via Web Upload.":"Dateien über den Browser hochladen und importieren.","Add Link":"Link hinzufügen","Add person?":"Person hinzufügen?","Add pictures from search results by selecting them.":"Ausgewählte Bilder können über das Kontextmenü hinzugefügt werden.","Add to album":"Hinzufügen","Added":"Hinzugefügt","Adjust Location":"Standort anpassen","Admin":"Admin","Advanced":"Erweitert","After 1 day":"Nach einem Tag","After 3 days":"Nach 3 Tagen","After 7 days":"Nach 7 Tagen","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Nach der Bestätigung mit deinem Passwort kannst du die Zwei-Faktor-Authentifizierung mit einer kompatiblen Authenticator-App einrichten:","After one month":"Nach einem Monat","After one year":"Nach einem Jahr","After selecting pictures from search results, you can add them to an album using the context menu.":"Ausgewählte Bilder können über das Kontextmenü einem Album hinzugefügt werden.","After two months":"Nach zwei Monaten","After two weeks":"Nach zwei Wochen","Album":"Album","Album Backups":"Album-Backups","Album created":"Album erstellt","Album deleted":"Album gelöscht","Albums":"Alben","Albums deleted":"Alben gelöscht","All":"Alle","All %{n} albums loaded":"Alle %{n} Alben werden angezeigt","All %{n} labels loaded":"Alle %{n} Kategorien werden angezeigt","All %{n} people loaded":"Alle %{n} Personen geladen","All Cameras":"Alle Kameras","All Categories":"Alle Kategorien","All Colors":"Alle Farben","All Countries":"Alle Länder","All fields are required":"Alle Felder müssen ausgefüllt werden","All files from import folder":"Alle Ordner durchsuchen","All Lenses":"Alle Objektive","All Months":"Alle Monate","All originals":"Alle Ordner durchsuchen","All Years":"Alle Jahre","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Alternativ können Dateien auch direkt auf kompatible WebDAV-Server z.B. Nextcloud hochgeladen werden.","Altitude":"Höhe","Altitude (m)":"Höhe (m)","AM":"AM","Animated":"Animiert","Animation":"Animation","Animations":"Animationen","Any private photos and videos remain private and won't be shared.":"Als privat markierte Bilder und Videos bleiben privat und werden nicht geteilt.","API Key":"API-Key","Application":"Anwendung","Apply":"Speichern","Approve":"Übernehmen","Apps and Devices":"Apps und Geräte","Archive":"Archiv","Archived":"Archiviert","Are you sure you want to archive the selection?":"Auswahl wirklich archivieren?","Are you sure you want to delete these albums?":"Diese Alben wirklich löschen?","Are you sure you want to delete these labels?":"Diese Kategorien wirklich löschen?","Are you sure you want to delete this account?":"Dieses Konto wirklich löschen?","Are you sure you want to delete this album?":"Bist du sicher, dass du dieses Album löschen willst?","Are you sure you want to permanently delete these pictures?":"Diese Bilder unwiderruflich löschen?","Are you sure you want to permanently delete this file?":"Diese Datei unwiderruflich löschen?","Are you sure?":"Bist du sicher?","Artist":"Ersteller","Aspect Ratio":"Seitenverhältnis","Audio":"Audio","Authentication":"Authentifizierung","Auto":"Auto","Back":"Zurück","Back to top":"Zurück nach oben","Backup":"Datensicherung","Badge":"Abzeichen","Base Path":"Basis-Verzeichnis","Become a member today, support our mission and enjoy our member benefits!":"Werde noch heute Mitglied, unterstütze unsere Mission und genieße unsere Mitgliedsvorteile!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Da wir uns zu 100% selbst finanzieren und unabhängig sind, können wir dir versprechen, dass wir deine Daten niemals verkaufen werden und immer transparent mit unserer Software und unseren Dienstleistungen umgehen.","Bio":"Biographie","Birth Date":"Geburtsdatum","Black":"Schwarz","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Weniger Überschwingungsartefakte als Lanczos","Blue":"Blau","Brown":"Braun","Browse":"Durchsuchen","Browse and edit image classification labels.":"Automatische Bild-Kategorisierung sehen und bearbeiten.","Browse and share your pictures organized into monthly albums.":"Durchsuche und teile deine Bilder, die in monatlichen Alben organisiert sind.","Browse Files":"Dateien durchsuchen","Browse indexed files and folders in Library.":"Durchsuche Ordner hierarchisch nach indexierten Original-Dateien.","Bug Report":"Fehlerbericht","Busy, please wait…":"Bitte warten…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Durch die Nutzung der von uns angebotenen Software und Dienstleistungen erklärst du dich mit unseren Nutzungsbedingungen, der Datenschutzerklärung und dem Verhaltenskodex einverstanden.","Calendar":"Kalender","Camera":"Kamera","Camera Serial":"Kamera-Seriennummer","Can't access your authenticator app or device?":"Keinen Zugriff auf die Authenticator-App oder das Gerät?","Can't load more, limit reached":"Limit erreicht, bitte Suche eingrenzen","Can't select more items":"Maximale Anzahl wurde selektiert","Cancel":"Abbrechen","Cannot copy to clipboard":"Kann nicht in die Zwischenablage kopiert werden","Caption":"Bildunterschrift","Cards":"Karteikarten","Carousel slide {0} of {1}":"Slide {0} von {1}","Category":"Kategorie","Change Avatar":"Avatar ändern","Change Password":"Passwort ändern","Change personal profile and security settings.":"Persönliche Profil- und Sicherheitseinstellungen ändern.","Change photo titles, locations, and other metadata.":"Titel, Datum, Ort und andere Metadaten können geändert werden.","Change private flag":"Als privat markieren","Changes could not be saved":"Änderungen konnten nicht gespeichert werden","Changes successfully saved":"Änderungen erfolgreich gespeichert","Changes to the advanced settings require a restart to take effect.":"Änderungen an den erweiterten Einstellungen erfordern einen Neustart, um wirksam zu werden.","Checked":"Geprüft","Chroma":"Farbsättigung","Cleaning index and cache":"Bereinigung von Index und Cache","Cleanup":"Aufräumen","Clear {0}":"Löschen {0}","Client":"Kunde","Client Credentials":"Kundennachweise","Close":"Schließen","Codec":"Codec","Color":"Farbe","Color Profile":"Farbprofil","Colors":"Farben","Compare Editions":"Editionen vergleichen","Complete Rescan":"Index vollständig aktualisieren","Confidence":"Wahrscheinlichkeit","Confirm":"Bestätigen","Connect":"Verbinden","Connect via WebDAV":"Mit WebDAV verbinden","Connected":"Verbunden","Contact Details":"Kontaktangaben","Contact Us":"Kontakt aufnehmen","Contains %{n} pictures.":"Enthält %{n} Bilder.","Contains one picture.":"Enthält ein Bild.","Content":"Inhalte","Continue":"Fortfahren","Continue with %{provider}":"Mit %{provider} anmelden","Contributor":"Contributor","Converting":"Konvertiere","Copied to clipboard":"In Zwischenablage kopiert","Copy":"Kopieren","Copyright":"Copyright","Couldn't find anything.":"Leider nichts gefunden.","Country":"Land","Create Account":"Konto erstellen","Create album":"Erstellen","Create regular backups based on the configured schedule.":"Regelmäßige Backups zu den festgelegten Zeiten erstellen.","Create YAML files to back up album metadata.":"YAML-Dateien zum Sichern von Album-Metadaten verwenden.","Create YAML sidecar files to back up picture metadata.":"Bild-Metadaten in YAML-Sidecar-Dateien sichern.","Created":"Hinzugefügt","Creating thumbnails for":"Erstelle Thumbnails für","Cubic: Moderate Quality, Good Performance":"Kubisch: Mittlere Qualität, gute Performance","Current Password":"Aktuelles Passwort","Custom":"Benutzerdefiniert","Cyan":"Cyan","Daily":"Täglich","Database Backups":"Datenbank-Backups","Day":"Tag","Deactivate":"Deaktivieren","Debug Logs":"Debug Logs","Default":"Standard","Default Folder":"Standard Ordner","Delete":"Löschen","Delete Album":"Album löschen","Delete All":"Alle löschen","Delete all?":"Alle löschen?","Delete orphaned index entries, sidecar files and thumbnails.":"Verwaiste Indexeinträge, Sidecar-Dateien und Thumbnails löschen.","Description":"Beschreibung","Detailed instructions can be found in our User Guide.":"Unser Benutzerhandbuch enthält eine detaillierte Anleitung.","Details":"Details","Dimensions":"Auflösung","Disable Backups":"Keine Datensicherung","Disable Darktable":"Darktable deaktivieren","Disable ExifTool":"ExifTool deaktivieren","Disable features that require write permission for the originals folder.":"Deaktiviert Funktionen, die eine Schreibberechtigung für die Original-Ordner und -Dateien erfordern.","Disable FFmpeg":"FFmpeg deaktivieren","Disable ImageMagick":"ImageMagick deaktivieren","Disable interactive world maps and reverse geocoding.":"Deaktiviert interaktive Weltkarten und Reverse Geocoding.","Disable Places":"Karten deaktivieren","Disable RawTherapee":"RawTherapee deaktivieren","Disable TensorFlow":"TensorFlow deaktivieren","Disable Vectors":"Vektorgrafiken deaktivieren","Disable WebDAV":"WebDAV deaktivieren","Disables vector graphics support.":"Deaktiviert die Unterstützung von Vektorgrafiken.","Disables video transcoding and thumbnail extraction.":"Deaktiviert die Videotranskodierung und die Erstellung von Vorschaubildern.","Discover":"Entdecken","Dismiss":"Verwerfen","Display Name":"Anzeigename","Display picture captions in search results.":"Bildunterschriften in den Suchergebnissen anzeigen.","Display picture titles in search results.":"Bildtitel in den Suchergebnissen anzeigen.","Document":"Dokument","Documents":"Dokumente","Don't use Darktable to convert RAW images.":"Darktable nicht zum Konvertieren von Bildern verwenden.","Don't use ImageMagick to convert images.":"ImageMagick nicht zum Konvertieren von Bildern verwenden.","Don't use RawTherapee to convert RAW images.":"RawTherapee nicht zum Konvertieren von Bildern verwenden.","Done":"Fertig","Done.":"Fertig.","Download":"Download","Download only original media files, without any automatically generated files.":"Lade nur Original-Mediendateien herunter, ohne automatisch generierte Dateien.","Download remote files":"Dateien herunterladen","Download single files and zip archives.":"Einzelne Bilder, Videos sowie Zip-Archive können heruntergeladen werden.","Downloading…":"Wird heruntergeladen…","Downscaling Filter":"Skalierungsfilter","Drag and drop files here":"Dateien per Drag-and-Drop hier ablegen","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"Aufgrund der hohen Anzahl von E-Mails, die wir erhalten, kann es vorkommen, dass unser Team Ihnen nicht sofort antworten kann.","Duplicates will be skipped and only appear once.":"Duplikate werden übersprungen und erscheinen nur einmal.","Duration":"Laufzeit","Dynamic Previews":"Dynamische Vorschaubilder","Dynamic Size Limit: %{n}px":"Dynamische Maximalgröße: %{n}px","E-Mail":"E-Mail","Edit":"Bearbeiten","Edit %{s}":"%{s} bearbeiten","Edit Account":"Konto bearbeiten","Edit Photo":"Bild bearbeiten","Edited":"Bearbeitet","Email":"E-Mail","Enable debug mode to display additional logs and help with troubleshooting.":"Debug-Modus aktivieren, um zusätzliche Logs anzuzeigen und die Fehlersuche zu erleichtern.","Enable new features that may be incomplete or unstable.":"Aktiviert neue Funktionen, die möglicherweise unvollständig oder instabil sind.","Enables RAW converter presets. May reduce performance.":"Aktiviert benutzerdefinierte Voreinstellungen. Dateien werden möglicherweise langsamer konvertiert.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Wenn die Zwei-Faktor-Authentifizierung aktiviert ist, wird ein zufällig generierter Verifizierungscode benötigt, um sich anzumelden. Selbst wenn jemand Zugang zu deinem Passwort hat, kann er also nicht auf das Konto zugreifen.","Enter date":"Datum eingeben","Enter dates":"Daten eingeben","Enter the code generated by your authenticator app:":"Gib den von deiner Authenticator-App generierten Code ein:","Enter verification code":"Verifizierungscode eingeben","Enter your password to confirm the action and continue:":"Bitte mit Passwort bestätigen, um fortzufahren:","Error":"Fehler","Errors":"Fehler","Estimate":"Schätzung","Estimate Locations":"Standorte schätzen","Estimate the approximate location of pictures without GPS coordinates.":"Schätze den ungefähren Standort von Bildern ohne GPS-Koordinaten.","Every two days":"Jeden zweiten Tag","Exclude content marked as private from search results, shared albums, labels, and places.":"Als privat markierte Inhalte werden nicht in Suchergebnissen und geteilten Alben angezeigt.","Exclude hidden":"Verborgene ausblenden","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"ExifTool wird für die vollständige Unterstützung von XMP-Metadaten, Videos und Live Photos benötigt.","Experimental Features":"Experimentelle Funktionen","Expires":"Ablaufdatum","Exposure":"Belichtungszeit","Extract still images and generate thumbnails while indexing.":"Extrahiere Standbilder und erstelle Miniaturansichten während der Indexierung.","F Number":"Lichtstärke","Face":"Gesicht","Faces":"Gesichter","Failed removing link":"Der Link konnte nicht gelöscht werden","Failed to connect account.":"Die Verbindung zum Konto ist fehlgeschlagen.","Failed updating link":"Der Link konnte nicht gespeichert werden","Family Name":"Nachname","Fast":"Schnell","Favorite":"Favorit","Favorites":"Favoriten","Feature Request":"Verbesserungsvorschlag","Feedback":"Feedback","Female":"Weiblich","File":"Datei","File Browser":"Datei-Browser","File Conversion":"Datei-Konvertierung","File Name":"Dateiname","File Size":"Dateigröße","Filename":"Dateiname","Files":"Dateien","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Dateien mit fortlaufenden Namen wie ‘IMG_1234 (2)’ und ‘IMG_1234 (3)’ gehören zum gleichen Bild.","First page":"Erste Seite","Focal Length":"Brennweite","Folder":"Ordner","Folder contains %{n} files":"Ordner enthält %{n} Dateien","Folder is empty":"Ordner ist leer","Folders":"Ordner","Forgot password?":"Passwort vergessen?","FPS":"FPS","Frames":"Frames","Full Access":"Voller Zugriff","Fullscreen":"Vollbildmodus","General":"Allgemein","Generate":"Generieren","Generate albums of special moments, journeys, and places.":"Alben von besonderen Momenten, Reisen und Orten erstellen.","Generate Previews":"Vorschaubilder generieren","Generated":"Generiert","Get Started":"Erste Schritte","Given Name":"Vorname","Global Options":"Globale Optionen","Go to page {0}":"Zu Seite {0}","Gold":"Gold","Green":"Grün","Grey":"Grau","Guest":"Gast","Hash":"Prüfsumme","Help":"Hilfe","Help & Support":"Hilfe & Unterstützung","Hidden":"Verborgen","Hidden Files":"Verborgene Dateien","Hide":"Verbergen","Hide photos that have been moved to archive.":"Archivierte Inhalte werden nicht in den Suchergebnissen angezeigt.","High":"Hoch","High Dynamic Range (HDR)":"Hoher Dynamikumfang (HDR)","How can we help?":"Wie können wir helfen?","Hybrid":"Hybrid","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Falls die Authenticator-App bzw. das Gerät verloren geht, kannst du den Wiederherstellungscode verwenden, um wieder Zugang zu deinem Konto zu erhalten.","Image":"Bild","Image Quality":"Bildqualität","Import":"Import","Import failed":"Import fehlgeschlagen","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Importierte Dateien werden nach Datum sortiert und bekommen einen eindeutigen Namen, um Duplikate zu vermeiden.","Imported files will be sorted by date and given a unique name.":"Importierte Dateien werden nach Datum sortiert und bekommen einen eindeutigen Namen.","Importing %{s}…":"Importiere %{s}…","Importing files to originals…":"Importiere Dateien nach Originals…","in":"in","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"Sollten Bilder fehlen, muss der Index möglicherweise aktualisiert werden. Es werden erst alle Bilder gefunden, wenn das Indexieren vollständig abgeschlossen ist.","Include RAW image files when downloading stacks and archives.":"RAW-Bilddateien beim Herunterladen von Stapeln und Archiven miteinbeziehen.","Include sidecar files when downloading stacks and archives.":"Sidecar-Dateien beim Herunterladen von Stapeln und Archiven miteinbeziehen.","Increase storage size or delete files to continue.":"Erhöhe die Speichergröße oder lösche Dateien, um fortzufahren.","Index":"Index","Index and import files through the user interface.":"Indexiere und importiere Dateien über die Benutzeroberfläche.","Indexing":"Indexiere","Indexing failed":"Indexierung fehlgeschlagen","Indexing media and sidecar files…":"Indexiere Bilder, Videos und Sidecar-Dateien…","Information":"Informationen","Instance ID":"Instanz ID","Insufficient storage.":"Zu wenig Speicherplatz.","Interval":"Intervall","Invalid":"Ungültig","Invalid address":"Ungültige Adresse","Invalid country":"Ungültiges Land","Invalid date":"Ungültiges Datum","Invalid parameters":"Ungültige Parameter","Invalid photo selected":"Ungültiges Foto ausgewählt","Invalid time":"Ungültige Zeit","Invalid URL":"Ungültige URL","It is a one-time use code that will disable 2FA for your account when you use it.":"Es handelt sich um einen einmalig verwendbaren Code, der 2FA für dein Konto deaktiviert, wenn er verwendet wird.","Item":"Eintrag","Items per page:":"Ergebnisse pro Seite:","JPEG Quality: %{n}":"JPEG-Qualität: %{n}","JPEG Size Limit: %{n}px":"Maximale JPEG-Größe: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"JPEGs und Thumbnails werden bei Bedarf automatisch erstellt.","Keywords":"Suchbegriffe","Label":"Kategorie","Labels":"Kategorien","Labels deleted":"Kategorien gelöscht","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: Sehr gute Detailerhaltung, minimale Artefakte","Language":"Sprache","Last Active":"Zuletzt aktiv","Last Login":"Letzter Login","Last page":"Letzte Seite","Last Sync":"Letzte Synchronisation","Last Used":"Zuletzt verwendet","Latitude":"Breitengrad","LDAP/AD":"LDAP/AD","Learn more":"Mehr erfahren","Learn More":"Mehr erfahren","Legal Information":"Rechtliche Informationen","Lens":"Objektiv","Library":"Dateien","License":"Lizenz","Like":"Favorit","Lime":"Hellgrün","Limit reached, showing first %{n} files":"Limit erreicht, zeige die ersten %{n} Dateien","Linear: Very Smooth, Best Performance":"Linear: Weicher Bildeindruck, sehr gute Performance","Link":"Link","List":"Liste","List View":"Listenansicht","Live":"Live","Live Photos":"Live Photos","Load more":"Mehr laden","Loading items...":"Ergebnisse laden...","Loading...":"Lädt...","Local":"Lokal","Local Time":"Ortszeit","Location":"Ort","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Warnungen und Fehler erscheinen hier, sobald PhotoPrism beschädigte Dateien findet oder andere Probleme aufgetreten sind.","Login":"Anmelden","Logout":"Abmelden","Logs":"Logs","Longitude":"Längengrad","Low":"Niedrig","Magenta":"Magenta","Main Color":"Hauptfarbe","Male":"Männlich","Manage Account":"Konto verwalten","Manager":"Manager","Manual":"Manuell","Manual Upload":"Manueller Upload","Maps":"Karten","Marker":"Bildbereich","Maximum number of accounts has been reached.":"Die maximale Anzahl von Konten wurde erreicht.","Media":"Medien","Medium":"Mittel","Membership":"Mitgliedschaft","Merge %{a} with %{b}?":"%{a} und %{b} zusammenfassen?","Message":"Feedback","Message sent":"Nachricht versendet","Metadata":"Metadaten","Metrics":"Metriken","Minimize":"Minimieren","Missing":"Fehlend","Missing or invalid configuration":"Fehlende oder ungültige Konfiguration","Moments":"Ereignisse","Monochrome":"Monochrom","Month":"Monat","More options":"Weitere Optionen","Mosaic":"Mosaik","Most Relevant":"Am relevantesten","Move Files":"Dateien verschieben","Must have at least %{n} characters.":"Muss mindestens %{n} Zeichen enthalten.","Mute":"Stummschalten","Name":"Name","Name too long":"Name zu lang","Never":"Nie","New":"Neu","New Password":"Neues Passwort","Newest First":"Neueste zuerst","Next":"Nächste","Next page":"Nächste Seite","Next visual":"Nächstes Bild","No":"Nein","No albums found":"Keine Alben gefunden","No data available":"Keine Daten verfügbar","No labels found":"Keine Kategorien gefunden","No matching records found":"Keine passenden Ergebnisse gefunden","No more":"Keine weiteren","No people found":"Keine Personen gefunden","No pictures found":"Keine Bilder gefunden","No recently edited pictures":"Keine kürzlich bearbeiteten Bilder","No results":"Keine Ergebnisse","No server connection":"Keine Serververbindung","No servers configured.":"Keine Server konfiguriert.","No services configured.":"Keine Dienste konfiguriert.","No thanks":"Nein danke","No warnings or error containing this keyword. Note that search is case-sensitive.":"Keine Warnungen oder Fehler mit diesem Suchbegriff. Bei der Suche wird zwischen Groß- und Kleinschreibung unterschieden.","Non-photographic and low-quality images require a review before they appear in search results.":"Nicht-fotografische Inhalte oder Bilder mit geringer Qualität werden erst nach einer Bestätigung in der Suche angezeigt.","None":"Keine","Not allowed":"Nicht erlaubt","Not found":"Nicht gefunden","Not sorted.":"Nicht sortiert.","Not supported":"Nicht unterstützt","Note you may manually manage your originals folder and importing is optional.":"Die Verwaltung der Original-Dateien kann auch manuell erfolgen, der Import ist optional.","Note:":"Hinweis:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Hinweis: Momentan können nur WebDAV-Server, wie Nextcloud oder PhotoPrism, für Backups oder zum Datei-Upload verwendet werden.","Notes":"Notizen","Nothing to see here yet.":"Hier gibt es noch nichts zu sehen.","Nothing was found.":"Es konnte nichts gefunden werden.","Offline":"Offline","OIDC":"OIDC","OK":"OK","Oldest First":"Älteste zuerst","On Windows, enter the following resource in the connection dialog:":"Unter Windows gibst du die folgende Ressource in den Verbindungsdialog ein:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"Die On-Demand-Generierung von Vorschaubildern kann zu einer hohen CPU- und Speicherauslastung führen. Nicht empfohlen für leistungsschwache Server und NAS-Geräte.","Once a week":"Einmal die Woche","One album found":"Ein Album gefunden","One file found":"Eine Datei gefunden","One file uploaded":"Eine Datei hochgeladen","One folder found":"Ein Ordner gefunden","One label found":"Eine Kategorie gefunden","One person found":"Eine Person gefunden","One picture found":"Ein Bild gefunden","Only locally managed accounts can be set up for authentication with 2FA.":"Nur lokal verwaltete Konten können für die Authentifizierung mit 2FA eingerichtet werden.","Open":"Öffnen","optional":"optional","or":"oder","Orange":"Orange","Organization":"Organisation","Orientation":"Ausrichtung","Original file names will be stored and indexed.":"Die ursprünglichen Dateinamen werden im Index gespeichert.","Original Name":"Originalname","Originals":"Originale","Other":"Sonstiges","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Unser Ziel ist es, die benutzer- und datenschutzfreundlichste Lösung zu bieten, um Bilder zu organisieren und zugänglich zu machen.","Outdoor":"Outdoor","Page {0}, Current page":"Seite {0}, Aktuelle Seite","Pages":"Seiten","Pagination Navigation":"Paginierung Navigation","Panorama":"Panorama","Panoramas":"Panoramen","Password":"Passwort","Password changed":"Passwort geändert","People":"Personen","People you share a link with will be able to view public contents.":"Jeder mit diesem Link wird öffentliche Bilder und Videos sehen können.","Permanently deleted":"Endgültig gelöscht","Permanently remove files to free up storage.":"Dauerhaftes Entfernen von Dateien, um Speicherplatz freizugeben.","Person":"Person","Personal":"Persönlich","Photo":"Bild","PhotoPrism is 100% self-funded and independent.":"PhotoPrism ist zu 100 % selbstfinanziert und unabhängig.","PhotoPrism+ Membership":"PhotoPrism+ Mitgliedschaft","Photos":"Bilder","Picture Title":"Bildtitel","Pink":"Pink","Place":"Ort","Place & Time":"Ort & Zeit","Places":"Orte","Please confirm your new password.":"Neues Passwort bitte bestätigen.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Bitte kopiere das folgende, zufällig generierte App-Passwort und bewahre es an einem sicheren Ort auf, da es nicht noch einmal angezeigt werden kann:","Please do not upload any private, unlawful or offensive pictures.":"Bitte lade keine privaten, illegalen oder anstößigen Bilder hoch.","Please don't upload photos containing offensive content.":"Bitte lade keine anstößigen Bilder hoch.","Please enter OTP character {0}":"Bitte OTP-Zeichen eingeben {0}","Please note that changing your password will log you out on other devices and browsers.":"Bitte beachte, dass du beim Ändern deines Passworts auf anderen Geräten und Browsern abgemeldet wirst.","Please restart your instance for the changes to take effect.":"Bitte starte deine Instanz neu, damit die Änderungen wirksam werden.","Please wait…":"Bitte warten…","PM":"PM","PNG Size Limit: %{n}px":"Maximale PNG-Größe: %{n}px","Portrait":"Portrait","Preserve filenames":"Namen beibehalten","Press enter to create a new album.":"Enter drücken, um ein neues Album zu erstellen.","Prevent database and album backups as well as YAML sidecar files from being created.":"Deaktiviert Datenbank- und Album-Backups sowie die Erstellung von YAML-Sidecar-Dateien.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Verhindert, dass andere Anwendungen über WebDAV auf Ordner und Dateien zugreifen können.","Preview":"Voransicht","Preview Images":"Vorschaubilder","Previous":"Vorherige","Previous page":"Vorherige Seite","Previous visual":"Voriges Bild","Primary":"Primärdatei","Private":"Privat","Product Feedback":"Allgemeines Feedback","Projection":"Projektion","Purple":"Lila","Quality Filter":"Qualitätsfilter","Quality Score":"Qualität","r":"r","Random":"Zufällig","Rating {0} of {1}":"Bewertung {0} von {1}","Raw":"RAW","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Bereits bekannte und unveränderte Dateien neu indexieren.","Read-Only Mode":"Schreibgeschützter Modus","Recently Added":"Kürzlich hinzugefügt","Recently Archived":"Kürzlich archiviert","Recently Edited":"Zuletzt bearbeitet","Recognition starts after indexing has been completed.":"Die Erkennung beginnt, nachdem die Indexierung abgeschlossen ist.","Recognize faces so people can be assigned and found.":"Gesichter erkennen, damit Personen zugeordnet und gefunden werden können.","Recognized":"Erkannt","Recovery Code":"Wiederherstellungs-Code","Red":"Rot","Refresh":"Aktualisieren","Regions":"Regionen","Register":"Registrieren","Reload":"Neu laden","Reloading…":"Wird neu geladen…","Remote Sync":"Synchronisation","Remove":"Entfernen","remove failed: unknown album":"Löschen nicht möglich: Unbekanntes Album","Remove from Album":"Aus dem Album entfernen","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Dateien von Import nach Originals verschieben, um Speicherplatz zu sparen. Dateitypen, die nicht unterstützt werden, verbleiben im Import Ordner.","Request failed - are you offline?":"Anfrage fehlgeschlagen - bist du offline?","Request failed - invalid response":"Anfrage fehlgeschlagen - ungültige Antwort","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Verlangt, dass nicht-fotografische und qualitativ schlechte Bilder geprüft werden, bevor sie in den Suchergebnissen erscheinen.","Resolution":"Auflösung","Restart":"Neustart","Restore":"Wiederherstellen","Restored":"Wiederhergestellt","Retry Limit":"Wiederholungsversuche","Retype Password":"Passwort wiederholen","Review":"Überprüfen","Role":"Rolle","Rows per page:":"Zeilen pro Seite:","Satellite":"Satellit","Save":"Speichern","Scan":"Scan","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Scanne den QR-Code mit deiner Authenticator-App oder verwende den unten gezeigten Schlüssel für die Einrichtung und gib dann den generierten Verifizierungscode ein:","Scans":"Scans","Scope":"Berechtigung","Search":"Suche","Search and display photos on a map.":"Bilder und Videos auf verschiedenen Weltkarten anzeigen und filtern.","Season":"Jahreszeit","Secret":"Code","Security and Access":"Sicherheit und Zugang","Select":"Auswählen","Select a source folder to import files…":"Wähle einen Quellordner, um Dateien zu importieren…","Select date":"Datum auswählen","Select dates":"Daten auswählen","Select or create an album":"Album auswählen oder erstellen","Select the files to upload…":"Wähle Dateien zum Hochladen aus…","Select the folder to be indexed…":"Wähle den zu indexierenden Ordner aus…","Select Time":"Zeit wählen","Selection approved":"Auswahl übernommen","Selection archived":"Auswahl archiviert","Selection restored":"Auswahl wiederhergestellt","Sequential Name":"Fortlaufender Name","Service URL":"Dienst-URL","Services":"Dienste","Session":"Session","Session ID":"Session-ID","Sessions":"Sessions","Set as Album Cover":"Als Albumcover verwenden","Settings":"Einstellungen","Settings saved":"Einstellungen gespeichert","Setup":"Einrichten","Share":"Teilen","Share %{s}":"%{s} teilen","Share your pictures with other apps and services.":"Teile Bilder mit anderen Anwendungen und Diensten.","Show":"Anzeigen","Show all new faces":"Alle neuen Gesichter anzeigen","Show Captions":"Bildunterschriften anzeigen","Show hidden":"Verborgene anzeigen","Show less":"Weniger zeigen","Show more":"Mehr zeigen","Show server logs in Library.":"Server-Ereignisprotokoll anzeigen, um Fehler zu finden.","Show Titles":"Titel anzeigen","Sidecar":"Sidecar","Sidecar Files":"Sidecar-Dateien","Sign in":"Anmelden","Similar":"Ähnlich","Size":"Größe","Slideshow":"Slideshow","Slow":"Langsam","Software":"Software","Software Update":"Software-Update","Something went wrong, try again":"Es ist ein Fehler aufgetreten, bitte erneut versuchen","Sort by":"Sortieren nach","Sort Order":"Sortierung","Sorted ascending.":"Aufsteigend sortiert.","Sorted descending.":"Absteigend sortiert.","Source":"Quelle","Stack":"Bildstapel","Stack files sharing the same unique image or instance identifier.":"Bilder mit identischer ID als Stapel indexieren und anzeigen.","Stack pictures taken at the exact same time and location based on their metadata.":"Aufnahmen mit übereinstimmenden Metadaten gruppieren.","Stackable":"Stapelbar","Stacks":"Bildstapel","Start":"Start","Start Page":"Startseite","Static Size Limit: %{n}px":"Statische Maximalgröße: %{n}px","Status":"Status","Storage":"Speicherort","Streets":"Straßen","Subject":"Bildinhalt","Submit":"Absenden","Successfully activated":"Erfolgreich aktiviert","Successfully Connected":"Erfolgreich verbunden","Successfully deleted":"Erfolgreich gelöscht","Successfully verified":"Erfolgreich verifiziert","Super Admin":"Super-Admin","Support for additional services, like Google Drive, will be added over time.":"Die Unterstützung weiterer Dienste, wie Google Drive, ist geplant.","Support Our Mission":"Unterstütze unsere Mission","Sync":"Sync","Sync raw and video files":"RAWs und Videos kopieren","Taken":"Aufgenommen","Teal":"Blaugrün","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow wird für die Bildklassifizierung sowie die Erkennung von Gesichtern und unsicheren Inhalten benötigt.","Terrain":"Gelände","Text":"Text","Text too long":"Text ist zu lang","Thank You for Your Support!":"Vielen Dank für deine Unterstützung!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Deshalb wurde PhotoPrism von Grund auf so entwickelt, dass es überall dort läuft, wo du es benötigst, ohne Kompromisse bei Freiheit, Privatsphäre oder Funktionalität einzugehen.","The index currently contains %{n} hidden files.":"Der Index enthält momentan %{n} verborgene Dateien.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Ihr Format wird möglicherweise nicht unterstützt, es handelt sich um Duplikate oder sie wurden noch nicht nach JPEG konvertiert.","Theme":"Theme","This field is required":"Dieses Feld ist erforderlich","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Dabei werden die Dateien als Netzwerk-Ordner auf deinem Computer oder Smartphone eingebunden, so dass sie lokal geöffnet, bearbeitet und gelöscht werden können.","Time UTC":"Zeit UTC","Time Zone":"Zeitzone","Timeout":"Timeout","Title":{"Account":"Titel","Photo":"Titel","":"Titel"},"Title / Position":"Titel / Position","Title too long":"Titel zu lang","to":"nach","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Um zu verhindern, dass du den Zugriff auf dein Konto verlierst, lade bitte diesen Wiederherstellungscode jetzt herunter, drucke ihn aus oder kopiere ihn und bewahre ihn an einem sicheren Ort auf.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Zum Generieren eines neuen app-spezifischen Passworts gib bitte den Namen und den Berechtigungsumfang der Anwendung ein und wähle ein Ablaufdatum:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Um zu einer neuen Authenticator-App bzw. einem neuen Gerät zu wechseln, deaktiviere zunächst die Zwei-Faktor-Authentifizierung und aktiviere sie dann wieder:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Um ein Upgrade durchzuführen, kannst du entweder einen Aktivierungscode eingeben oder auf \"Registrieren\" klicken, um dich auf unserer Website anzumelden:","Today":"Heute","Toggle View":"Ansicht wechseln","Token":"Token","Too many files selected":"Zu viele Dateien ausgewählt","Too many requests":"Zu viele Anfragen","Troubleshooting":"Fehlersuche","Try again using other filters or keywords.":"Versuche es mit anderen Filtern oder Suchbegriffen.","Two-factor authentication has been enabled for your account.":"Die Zwei-Faktor-Authentifizierung wurde für dein Konto aktiviert.","Type":"Typ","Unable to delete":"Kann nicht gelöscht werden","Unauthorized":"Unbefugte","Undo":"Rückgängig machen","Unique ID":"Eindeutige Bild-ID","Unknown":"Unbekannt","Unregistered":"Unregistriert","Unsorted":"Unsortiert","Unstack":"Nicht stapeln","Updated":"Geändert","Updating faces":"Aktualisiere Gesichter","Updating index":"Aktualisiere Index","Updating moments":"Aktualisiere Ereignisse","Updating picture…":"Bild wird aktualisiert…","Updating previews":"Aktualisiere Vorschaubilder","Updating stacks":"Aktualisiere Bildstapel","Upgrade":"Upgraden","Upgrade Now":"Jetzt upgraden","Upload":"Upload","Upload complete":"Vollständig hochgeladen","Upload complete. Indexing…":"Upload abgeschlossen. Indexiere…","Upload failed":"Upload fehlgeschlagen","Upload local files":"Dateien hochladen","Upload Path":"Upload-Verzeichnis","Upload to WebDAV and share links with friends.":"Teile Bilder, Videos und Alben mit Freunden.","Uploading %{n} of %{t}…":"Datei %{n} von %{t} wird hochgeladen…","Uploading photos…":"Bilder werden hochgeladen…","Uploading…":"Wird hochgeladen…","Uploads that may contain such images will be rejected automatically.":"Diese werden automatisch erkannt und gelöscht.","Use Presets":"Presets anwenden","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Verwende den folgenden Wiederherstellungscode, um auf dein Konto zuzugreifen, wenn du mit deinem Authenticator keinen gültigen Verifizierungscode generieren kannst:","Use your recovery code or contact an administrator for help.":"Verwende deinen Wiederherstellungscode oder bitte einen Administrator um Hilfe.","User":"Benutzer","User Guide":"Benutzerhandbuch","User Interface":"Benutzeroberfläche","Username":"Benutzername","Users":"Benutzer","Vector":"Vektor","Vectors":"Vektorgrafiken","Verification Code":"Verifizierungscode","Video":"Video","Video Duration":"Videolänge","Videos":"Videos","View":"Ansicht","View search results as a list.":"Suchergebnisse als Liste anzeigen.","Viewer":"Betrachter","Visitor":"Besucher","Visual Similarity":"Visuelle Ähnlichkeit","Warning":"Warnung","We appreciate your feedback!":"Wir freuen uns über dein Feedback!","We do our best to respond within five business days or less.":"Wir tun unser Bestes, um innerhalb von fünf Werktagen oder weniger zu antworten.","Web Login":"Web-Login","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"WebDAV-Clients können sich über die folgende URL mit PhotoPrism verbinden:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"WebDAV-Clients, wie der Windows Explorer von Microsoft oder der Finder von Apple, können sich direkt mit PhotoPrism verbinden.","WebDAV Upload":"WebDAV Upload","WebGL support is disabled in your browser":"WebGL-Unterstützung ist in deinem Browser deaktiviert","Website":"Website","White":"Weiß","Work Details":"Berufliche Angaben","Year":"Jahr","Yellow":"Gelb","Yes":"Ja","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Bei Fragen zu deiner Mitgliedschaft kannst du uns gerne unter membership@photoprism.app kontaktieren.","You can only download one album":"Du kannst nur ein Album gleichzeitig downloaden","You can only download one label":"Es kann nur eine Kategorie gleichzeitig heruntergeladen werden","You can search for a location or move the marker on the map to change the position:":"Du kannst nach einem Ort suchen oder die Markierung auf der Karte verschieben, um die Position zu ändern:","You can upload up to %{n} files for test purposes.":"Du kannst bis zu %{n} Dateien für Testzwecke hochladen.","You may only select one item":"Es darf nur ein Eintrag ausgewählt werden","You may rescan your library to find additional faces.":"Der Index kann aktualisiert werden, um weitere Gesichter zu finden.","Your account has been successfully connected.":"Dein Konto wurde erfolgreich verbunden.","Your browser does not support WebGL":"Dein Browser unterstützt kein WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Deine Unterstützung hilft uns, regelmäßige Updates bereitzustellen und unabhängig zu bleiben, damit wir unsere Mission erfüllen und deine Privatsphäre schützen können.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Die vorhandenen Bilder werden fortlaufend analysiert, um automatisch Alben mit besonderen Momenten, Reisen und Orten zu erstellen.","Zoom in/out":"Herein/Herauszoomen"}} \ No newline at end of file diff --git a/frontend/src/locales/json/el.json b/frontend/src/locales/json/el.json index dedf1ce95..8deed9600 100644 --- a/frontend/src/locales/json/el.json +++ b/frontend/src/locales/json/el.json @@ -1 +1 @@ -{"el":{"{0} appended action":"{0} προσαρτημένη ενέργεια","{0} files":"{0} αρχεία","{0} files ({1} in total)":"{0} αρχεία ({1} συνολικά)","{0} more":"{0} περισσότερα","{0} prepended action":"{0} prepended action","{0} selected":"{0} επιλεγμένο","{0}-{1} of {2}":"{0}-{1} του {2}","%{n} albums found":"%{n} συλλογές βρέθηκαν","%{n} files uploaded":"%{n} αρχεία ανέβηκαν","%{n} folders found":"%{n} φάκελοι βρέθηκαν","%{n} GB of %{q} GB used":"%{n} GB του %{q} GB που χρησιμοποιήθηκαν","%{n} labels found":"%{n} ετικέτες βρέθηκαν","%{n} people found":"%{n} άνθρωποι βρέθηκαν","%{n} pictures found":"%{n} φωτογραφίες βρέθηκαν","%{s} is too long":"Το %{s} είναι πολύ μεγάλο","%{s} is too short":"Το %{s} είναι πολύ μικρό","1 hour":"1 ώρα","12 hours":"12 ώρες","2-Factor Authentication":"Αυθεντικοποίηση 2 παραγόντων","2FA":"2FA","4 hours":"4 ώρες","A click will copy it to your clipboard.":"Ένα κλικ θα το αντιγράψει στο πρόχειρο.","A new version of %{s} is available:":"Μια νέα έκδοση του %{s} είναι διαθέσιμη:","About":"Σχετικά","Access Token":"Token πρόσβασης","Account":"Λογαριασμός","Account created":"Ο Λογαριασμός δημιουργήθηκε","Account deleted":"Ο Λογαριασμός διαγράφηκε","Account restored":"Επαναφορά λογαριασμού","Accounts":"Λογαριασμοί","Accuracy":"Ακρίβεια","Action":"Ενέργεια","Actions":"Ενέργειες","Activate":"Ενεργοποίηση","Activate to remove sorting.":"Ενεργοποιήστε για να καταργήσετε την ταξινόμηση.","Activate to sort ascending.":"Ενεργοποιήστε για να ταξινομήσετε με αύξουσα σειρά.","Activate to sort descending.":"Ενεργοποιήστε για να ταξινομήσετε κατά φθίνουσα σειρά.","Activation Code":"Κωδικός ενεργοποίησης","Add":"Προσθέστε","Add %{s}?":"Προσθέστε %{s}?","Add Account":"Επεξεργασία Λογαριασμού","Add Album":"Προσθήκη Συλλογής","Add files to your library via Web Upload.":"Προσθήκη αρχείων στην βιβλιοθήκη μέσω Web Upload.","Add Link":"Προσθήκη Συνδέσμου","Add person?":"Προσθέστε άτομο;","Add pictures from search results by selecting them.":"Προσθέστε εικόνες από τα αποτελέσματα αναζήτησης επιλέγοντάς τες.","Add to album":"Προσθήκη στο άλμπουμ","Added":"Προστέθηκε","Admin":"Διαχειριστής","Advanced":"Σύνθετο","After 1 day":"Μετά από 1 ημέρα","After 3 days":"Μετά από 3 ημέρες","After 7 days":"Μετά από 7 ημέρες","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Αφού εισαγάγετε τον κωδικό πρόσβασής σας για επιβεβαίωση, μπορείτε να ρυθμίσετε τον έλεγχο ταυτότητας δύο παραγόντων με μια συμβατή εφαρμογή ή συσκευή ελέγχου ταυτότητας:","After one month":"Μετά από ένα μήνα","After one year":"Μετά από ένα έτος","After selecting pictures from search results, you can add them to an album using the context menu.":"Αφού επιλέξετε εικόνες από τα αποτελέσματα αναζήτησης, μπορείτε να τις προσθέσετε σε ένα άλμπουμ χρησιμοποιώντας το αναδυόμενο μενού.","After two months":"Μετά από δύο μήνες","After two weeks":"Μετά από δύο εβδομάδες","Album":"Συλλογή","Album Backups":"Αντίγραφα ασφαλείας άλμπουμ","Album created":"Η Συλλογή δημιουργήθηκε","Albums":"Συλλογές","Albums deleted":"Οι Συλλογές διαγράφηκαν","All":"Όλα","All %{n} albums loaded":"%{n} Συλλογές φορτώθηκαν","All %{n} labels loaded":"%{n} ετικέτες φορτώθηκαν","All %{n} people loaded":"%{n} άνθρωποι φορτώθηκαν","All Cameras":"Όλες οι Κάμερες","All Categories":"Όλες οι Κατηγορίες","All Colors":"Όλα τα Χρώματα","All Countries":"Όλες οι Χώρες","All fields are required":"Όλα τα πεδία είναι υποχρεωτικά","All files from import folder":"Όλα τα αρχεία από το φάκελο εισαγωγής","All Lenses":"Όλοι οι Φακοί","All Months":"Όλοι οι Μήνες","All originals":"Όλα τα πρωτότυπα","All Years":"Όλα τα έτη","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Εναλλακτικά, μπορείτε να μεταφορτώσετε αρχεία απευθείας σε διακομιστές WebDAV όπως το Nextcloud.","Altitude":"Υψόμετρο","Altitude (m)":"Υψόμετρο (m)","AM":"AM","Animated":"Κινούμενη εικόνα","Animation":"Κίνηση","Any private photos and videos remain private and won't be shared.":"Οποιεσδήποτε ιδιωτικές φωτογραφίες και βίντεο παραμένουν ιδιωτικές και δεν θα κοινοποιηθούν.","API Key":"Κλειδί API","Application":"Εφαρμογή","Apply":"Εφαρμογή","Approve":"Έγκριση","Apps and Devices":"Εφαρμογές και συσκευές","Archive":"Αρχείο","Archived":"Αρχειοθετημένο","Are you sure you want to archive the selection?":"Είστε σίγουροι ότι θέλετε να αρχειοθετήσετε την επιλογή;","Are you sure you want to delete these albums?":"Είστε σίγουροι ότι θέλετε να διαγράψετε αυτές τις συλλογές;","Are you sure you want to delete these labels?":"Είστε σίγουροι ότι θέλετε να διαγράψετε αυτές τις ετικέτες;","Are you sure you want to delete this account?":"Είστε σίγουρος ότι θέλετε να διαγράψετε αυτόν τον λογαριασμό;","Are you sure you want to permanently delete these pictures?":"Είστε σίγουρος ότι θέλετε να διαγράψετε οριστικά αυτές τις φωτογραφίες;","Are you sure you want to permanently delete this file?":"Είστε σίγουροι ότι θέλετε να διαγράψετε οριστικά αυτό το αρχείο;","Are you sure?":"Είσαι σίγουρος;","Artist":"Καλλιτέχνης","Aspect Ratio":"Αναλογία διαστάσεων","Audio":"Ήχος","Authentication":"Αυθεντικοποίηση","Auto":"Auto","Back":"Πίσω","Back to top":"Επιστροφή στην κορυφή","Backup":"Δημιουργία αντιγράφων ασφαλείας","Badge":"Κονκάρδα","Base Path":"Διαδρομή βάσης","Become a member today, support our mission and enjoy our member benefits!":"Γίνετε μέλος σήμερα, υποστηρίξτε την αποστολή μας και απολαύστε τα προνόμια των μελών μας!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Όντας 100% αυτοχρηματοδοτούμενοι και ανεξάρτητοι, μπορούμε να σας υποσχεθούμε ότι δεν θα πουλήσουμε ποτέ τα δεδομένα σας και ότι θα είμαστε πάντα διαφανείς σχετικά με το λογισμικό και τις υπηρεσίες μας.","Bio":"Βιογραφικό","Birth Date":"Ημερομηνία γέννησης","Black":"Μαύρο","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Παραλλαγή της Lanczos, με λιγότερα τεχνουργήματα","Blue":"Μπλε","Brown":"Καφέ","Browse":"Περιήγηση στο","Browse and edit image classification labels.":"Αναζήτηση και επεξεργασία ετικετών ταξινόμησης εικόνων.","Browse and share your pictures organized into monthly albums.":"Περιηγηθείτε και μοιραστείτε τις φωτογραφίες σας οργανωμένες σε μηνιαία άλμπουμ.","Browse Files":"Αναζήτηση αρχείων","Browse indexed files and folders in Library.":"Περιήγηση σε αρχεία και φακέλους στη Βιβλιοθήκη.","Bug Report":"Αναφορά σφάλματος","Busy, please wait…":"Απασχολημένος, παρακαλώ περιμένετε…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Χρησιμοποιώντας το λογισμικό και τις υπηρεσίες που παρέχουμε, συμφωνείτε με τους όρους χρήσης, την πολιτική απορρήτου και τον κώδικα δεοντολογίας.","Calendar":"Ημερολόγιο","Camera":"Κάμερα","Camera Serial":"Σειριακή κάμερα","Can't access your authenticator app or device?":"Δεν μπορείτε να αποκτήσετε πρόσβαση στην εφαρμογή ή τη συσκευή ελέγχου ταυτότητας;","Can't load more, limit reached":"Δεν μπορείτε να φορτώσετε περισσότερα διότι θα ξεπεράσετε το όριο","Can't select more items":"Δεν μπορείτε να επιλέξετε περισσότερα αντικείμενα","Cancel":"Ακύρωση","Caption":"Λεζάντα","Cards":"Κάρτες","Carousel slide {0} of {1}":"Καρουσέλ διαφάνεια {0} του {1}","Category":"Κατηγορία","Change Avatar":"Αλλαγή Άβαταρ","Change Password":"Νέος κωδικός πρόσβασης","Change personal profile and security settings.":"Αλλαγή του προσωπικού προφίλ και των ρυθμίσεων ασφαλείας.","Change photo titles, locations, and other metadata.":"Αλλάξτε τίτλους φωτογραφιών, τοποθεσίες και άλλα μεταδεδομένα.","Change private flag":"Αλλαγή ιδιωτικής κατάστασης","Changes could not be saved":"Οι αλλαγές δεν μπόρεσαν να αποθηκευτούν","Changes successfully saved":"Οι αλλαγές αποθηκεύτηκαν επιτυχώς","Changes to the advanced settings require a restart to take effect.":"Οι αλλαγές στις ρυθμίσεις για προχωρημένους απαιτούν επανεκκίνηση για να τεθούν σε ισχύ.","Checked":"Σημειωμένο","Chroma":"Χρώμα","Cleaning index and cache":"Καθαρισμός ευρετηρίου και cache","Cleanup":"Καθαρισμός","Clear {0}":"Clear {0}","Client":"Πελάτης","Client Credentials":"Διαπιστευτήρια πελάτη","Close":"Κλείσιμο","Codec":"Codec","Color":"Χρώμα","Color Profile":"Προφίλ χρώματος","Colors":"Χρώματα","Compare Editions":"Σύγκριση εκδόσεων","Complete Rescan":"Πλήρης σάρωση","Confidence":"Εμπιστοσύνη","Confirm":"Επιβεβαιώνω","Connect":"Σύνδεση","Connect via WebDAV":"Σύνδεση μέσω WebDAV","Connected":"Σύνδεση","Contact Details":"Στοιχεία Επικοινωνίας","Contact Us":"Επικοινωνήστε μαζί μας","Contains %{n} pictures.":"Περιέχει %{n} εικόνες.","Contains one picture.":"Περιέχει μία εικόνα.","Content":"Περιεχόμενο","Continue":"Να συνεχίσει","Continue with %{provider}":"Συνεχίστε με %{provider}","Contributor":"Συντελεστής","Converting":"Μετατροπή","Copied to clipboard":"Αντιγραφή στο πρόχειρο","Copy":"αντίγραφο","Copyright":"Πνευματικά δικαιώματα","Couldn't find anything.":"Δεν μπόρεσα να βρω τίποτα.","Country":"Χώρα","Create Account":"Δημιουργία λογαριασμού","Create album":"Δημιουργία Συλλογής","Create regular backups based on the configured schedule.":"Δημιουργία αντιγράφων ασφαλείας ευρετηρίου με βάση το ρυθμισμένο χρονοδιάγραμμα.","Create YAML files to back up album metadata.":"Δημιουργήστε αρχεία YAML για τη δημιουργία αντιγράφων ασφαλείας των μεταδεδομένων του άλμπουμ.","Create YAML sidecar files to back up picture metadata.":"Δημιουργία αρχείων YAML sidecar για τη δημιουργία αντιγράφων ασφαλείας μεταδεδομένων εικόνας.","Created":"Δημιουργήθηκε","Creating thumbnails for":"Δημιουργία μικρογραφιών για","Cubic: Moderate Quality, Good Performance":"Κυβικό: Μέτρια ποιότητα, καλή επίδοση","Current Password":"Τρέχων κωδικός πρόσβασης","Custom":"Προσαρμοσμένο","Cyan":"Κυανό","Daily":"Καθημερινά","Database Backups":"Αντίγραφα ασφαλείας βάσης δεδομένων","Day":"Ημέρα","Deactivate":"Απενεργοποίηση","Debug Logs":"Αρχεία καταγραφής σφαλμάτων","Default":"Προεπιλογή","Default Folder":"Προεπιλεγμένος φάκελος","Delete":"Διαγραφή","Delete All":"Διαγραφή όλων","Delete all?":"Να τα διαγράψετε όλα;","Delete orphaned index entries, sidecar files and thumbnails.":"Διαγράψτε ορφανές καταχωρήσεις ευρετηρίου, αρχεία sidecar και μικρογραφίες.","Description":"Περιγραφή","Detailed instructions can be found in our User Guide.":"Λεπτομερείς οδηγίες μπορείτε να βρείτε στον Οδηγό Χρήσης.","Details":"Λεπτομέρειες","Dimensions":"Διαστάσεις","Disable Backups":"Απενεργοποίηση αντιγράφων ασφαλείας","Disable Darktable":"Απενεργοποίηση Darktable","Disable ExifTool":"Απενεργοποίηση ExifTool","Disable features that require write permission for the originals folder.":"Απενεργοποιήστε τις λειτουργίες που απαιτούν δικαίωμα εγγραφής για το φάκελο πρωτοτύπων.","Disable FFmpeg":"Απενεργοποίηση FFmpeg","Disable ImageMagick":"Απενεργοποίηση του ImageMagick","Disable interactive world maps and reverse geocoding.":"Απενεργοποιήστε τους διαδραστικούς παγκόσμιους χάρτες και την αντίστροφη γεωκωδικοποίηση.","Disable Places":"Απενεργοποίηση Places","Disable RawTherapee":"Απενεργοποίηση RawTherapee","Disable TensorFlow":"Απενεργοποίηση TensorFlow","Disable Vectors":"Απενεργοποίηση διανυσμάτων","Disable WebDAV":"Απενεργοποίηση WebDAV","Disables vector graphics support.":"Απενεργοποιεί την υποστήριξη διανυσματικών γραφικών.","Disables video transcoding and thumbnail extraction.":"Απενεργοποιεί τη μετακωδικοποίηση βίντεο και την εξαγωγή μικρογραφιών.","Discover":"Ανακαλύψτε το","Dismiss":"Απορρίψτε το","Display Name":"Όνομα οθόνης","Display picture captions in search results.":"Εμφάνιση λεζάντας εικόνας στα αποτελέσματα αναζήτησης.","Display picture titles in search results.":"Εμφάνιση τίτλων εικόνων στα αποτελέσματα αναζήτησης.","Document":"Έγγραφο","Documents":"Έγγραφα","Don't use Darktable to convert RAW images.":"Μην χρησιμοποιείτε το Darktable για τη μετατροπή εικόνων RAW.","Don't use ImageMagick to convert images.":"Μην χρησιμοποιείτε το ImageMagick για τη μετατροπή εικόνων.","Don't use RawTherapee to convert RAW images.":"Μην χρησιμοποιείτε το RawTherapee για τη μετατροπή εικόνων RAW.","Done":"Έγινε","Done.":"Έγινε.","Download":"Λήψη","Download only original media files, without any automatically generated files.":"Λήψη μόνο πρωτότυπων αρχείων πολυμέσων, χωρίς αυτόματα παραγόμενα αρχεία.","Download remote files":"Λήψη απομακρυσμένων αρχείων","Download single files and zip archives.":"Λήψη μεμονωμένων αρχείων και αρχείων συμπίεσης.","Downloading…":"Λήψη…","Downscaling Filter":"Φίλτρο υποβιβασμού κλίμακας","Drag and drop files here":"Σύρετε και αφήστε αρχεία εδώ","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"Λόγω του μεγάλου όγκου μηνυμάτων ηλεκτρονικού ταχυδρομείου που λαμβάνουμε, η ομάδα μας ενδέχεται να μην είναι σε θέση να σας απαντήσει αμέσως.","Duplicates will be skipped and only appear once.":"Τα διπλότυπα θα παραλείπονται και θα εμφανίζονται μόνο μία φορά.","Duration":"Διάρκεια","Dynamic Previews":"Δυναμικές προεπισκοπήσεις","Dynamic Size Limit: %{n}px":"Όριο δυναμικού μεγέθους: %{n}px","E-Mail":"E-Mail","Edit":"Επεξεργασία","Edit %{s}":"Επεξεργασία %{s}","Edit Account":"Επεξεργασία Λογαριασμού","Edit Photo":"Επεξεργασία Φωτογραφίας","Edited":"Επεξεργάστηκε","Email":"Ηλεκτρονικό ταχυδρομείο","Enable debug mode to display additional logs and help with troubleshooting.":"Ενεργοποιήστε τη λειτουργία εντοπισμού σφαλμάτων για να εμφανίσετε πρόσθετα αρχεία καταγραφής και να βοηθήσετε στην αντιμετώπιση προβλημάτων.","Enable new features that may be incomplete or unstable.":"Ενεργοποίηση νέων λειτουργιών που μπορεί να είναι ελλιπείς ή ασταθείς.","Enables RAW converter presets. May reduce performance.":"Ενεργοποιεί τις προεπιλογές μετατροπέα RAW. Μπορεί να μειώσει την απόδοση.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Η ενεργοποίηση του ελέγχου ταυτότητας δύο παραγόντων σημαίνει ότι θα χρειαστείτε έναν τυχαία δημιουργημένο κωδικό επαλήθευσης για να συνδεθείτε, επομένως ακόμα κι αν κάποιος αποκτήσει πρόσβαση στον κωδικό πρόσβασής σας, δεν θα μπορεί να έχει πρόσβαση στον λογαριασμό σας.","Enter date":"Πληκτρολογήστε την ημερομηνία","Enter dates":"Εισάγετε ημερομηνίες","Enter the code generated by your authenticator app:":"Εισάγετε τον κωδικό που δημιουργείται από την εφαρμογή ελέγχου ταυτότητας:","Enter verification code":"βάλτε κωδικό επιβεβαίωσης","Enter your password to confirm the action and continue:":"Εισαγάγετε τον κωδικό πρόσβασής σας για να επιβεβαιώσετε την ενέργεια και συνεχίστε:","Error":"Σφάλμα","Errors":"Σφάλματα","Estimate":"Εκτίμηση","Estimate Locations":"Εκτιμώμενες τοποθεσίες","Estimate the approximate location of pictures without GPS coordinates.":"Εκτίμηση της κατά προσέγγιση θέσης εικόνων χωρίς συντεταγμένες GPS.","Every two days":"Κάθε δύο ημέρες","Exclude content marked as private from search results, shared albums, labels, and places.":"Εξαίρεση του περιεχομένου που έχει χαρακτηριστεί ως ιδιωτικό από τα αποτελέσματα αναζήτησης, τα κοινόχρηστα άλμπουμ, τις ετικέτες και τις τοποθεσίες.","Exclude hidden":"Εξαίρεση κρυφών","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"Η εξαγωγή μεταδεδομένων με το ExifTool απαιτείται για πλήρη υποστήριξη βίντεο, ζωντανής φωτογραφίας και XMP.","Experimental Features":"Πειραματικά Χαρακτηριστικά","Expires":"Λήξη","Exposure":"Έκθεση","Extract still images and generate thumbnails while indexing.":"Εξαγωγή ακίνητων εικόνων και δημιουργία μικρογραφιών κατά την ευρετηρίαση.","F Number":"Αριθμός F","Face":"Πρόσωπο","Faces":"Πρόσωπα","Failed removing link":"Αποτυχία αφαίρεσης συνδέσμου","Failed to connect account.":"Απέτυχε η σύνδεση λογαριασμού.","Failed updating link":"Αποτυχία ενημέρωσης συνδέσμου","Family Name":"Επίθετο","Fast":"Γρήγορα","Favorite":"Αγαπημένο","Favorites":"Αγαπημένα","Feature Request":"Αίτηση χαρακτηριστικών","Feedback":"Ανατροφοδότηση","Female":"Γυναίκα","File":"Αρχείο","File Browser":"Πρόγραμμα περιήγησης αρχείων","File Conversion":"Μετατροπή αρχείου","File Name":"Όνομα αρχείου","File Size":"Αρχείο","Filename":"Όνομα αρχείου","Files":"Αρχεία","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Αρχεία με διαδοχικά ονόματα όπως 'IMG_1234 (2)' και 'IMG_1234 (3)' ανήκουν στην ίδια εικόνα.","First page":"Πρώτη σελίδα","Focal Length":"Εστιακό μήκος","Folder":"Φάκελος","Folder contains %{n} files":"Ο φάκελος περιέχει %{n} αρχεία","Folder is empty":"Ο φάκελος είναι άδειος","Folders":"Φάκελοι","Forgot password?":"Ξεχάσατε τον κωδικό πρόσβασης;","FPS":"FPS","Frames":"Πλαίσια","Full Access":"Πλήρης πρόσβαση","Fullscreen":"Πλήρης οθόνη","General":"Γενικά","Generate":"Παράγω","Generate albums of special moments, journeys, and places.":"Δημιουργεί αυτόματα άλμπουμ με ιδιαίτερες στιγμές, ταξίδια και τοποθεσίες.","Generate Previews":"Δημιουργία προεπισκοπήσεων","Generated":"Παραγωγή","Get Started":"Ξεκινήστε","Given Name":"Όνομα","Global Options":"Καθολικές Ρυθμίσεις","Go to page {0}":"Πηγαίνετε στη σελίδα {0}","Gold":"Χρυσό","Green":"Πράσινο","Grey":"Γκρι","Guest":"Επισκέπτης","Hash":"Κατακερματισμός","Help":"Βοήθεια","Help & Support":"Βοήθεια & Υποστήριξη","Hidden":"Κρυφό","Hidden Files":"Κρυμμένα αρχεία","Hide":"Απόκρυψη","Hide photos that have been moved to archive.":"Απόκρυψη φωτογραφιών που έχουν αρχειοθετηθεί.","High":"Υψηλή","High Dynamic Range (HDR)":"Υψηλό δυναμικό εύρος (HDR)","How can we help?":"Πώς μπορούμε να βοηθήσουμε;","Hybrid":"Υβριδικό","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Εάν χάσετε την πρόσβαση στην εφαρμογή ή τη συσκευή ελέγχου ταυτότητας, μπορείτε να χρησιμοποιήσετε τον κωδικό ανάκτησης για να ανακτήσετε την πρόσβαση στον λογαριασμό σας.","Image":"Εικόνα","Image Quality":"Ποιότητα εικόνας","Import":"Εισαγωγή","Import failed":"Η εισαγωγή απέτυχε","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Τα εισαγόμενα αρχεία θα ταξινομούνται ανά ημερομηνία και θα λαμβάνουν ένα μοναδικό όνομα για να αποφεύγονται οι διπλές εγγραφές.","Imported files will be sorted by date and given a unique name.":"Τα εισαγόμενα αρχεία θα ταξινομηθούν κατά ημερομηνία και θα τους δοθεί ένα μοναδικό όνομα.","Importing %{s}…":"Εισαγωγή %{s}…","Importing files to originals…":"Εισαγωγή αρχείων σε πρωτότυπα…","in":"στο","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"Σε περίπτωση που λείπουν οι εικόνες που περιμένατε, παρακαλούμε σαρώστε εκ νέου τη βιβλιοθήκη σας και περιμένετε μέχρι να ολοκληρωθεί η δημιουργία ευρετηρίου.","Include RAW image files when downloading stacks and archives.":"Συμπεριλάβετε αρχεία εικόνας RAW κατά τη λήψη στοίβων και αρχείων.","Include sidecar files when downloading stacks and archives.":"Συμπεριλάβετε αρχεία sidecar κατά τη λήψη στοίβων και αρχείων.","Increase storage size or delete files to continue.":"Αυξήστε το μέγεθος αποθήκευσης ή διαγράψτε αρχεία για να συνεχίσετε.","Index":"Ευρετήριο","Index and import files through the user interface.":"Ευρετήριο και εισαγωγή αρχείων μέσω της διεπαφής χρήστη.","Indexing":"Δημιουργία ευρετηρίου","Indexing failed":"Αποτυχία δημιουργίας ευρετηρίου","Indexing media and sidecar files…":"Δημιουργία ευρετηρίου μέσων και αρχείων sidecar…","Information":"Πληροφορίες","Instance ID":"Αναγνωριστικό περίπτωσης","Insufficient storage.":"Ανεπαρκής αποθήκευση.","Interval":"Διάστημα","Invalid":"Μη έγκυρη ημερομηνία","Invalid address":"Μη έγκυρη διεύθυνση","Invalid country":"Μη έγκυρη χώρα","Invalid date":"Μη έγκυρη ημερομηνία","Invalid parameters":"Μη έγκυρη ημερομηνία","Invalid photo selected":"Επιλογή μη έγκυρης φωτογραφίας","Invalid time":"Μη έγκυρη ώρα","Invalid URL":"Μη έγκυρο URL","It is a one-time use code that will disable 2FA for your account when you use it.":"Είναι ένας κωδικός μίας χρήσης που θα απενεργοποιήσει το 2FA για τον λογαριασμό σας όταν τον χρησιμοποιείτε.","Item":"Αντικείμενο","Items per page:":"Στοιχεία ανά σελίδα:","JPEG Quality: %{n}":"Ποιότητα JPEG: %{n}","JPEG Size Limit: %{n}px":"Όριο μεγέθους JPEG: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"Τα JPEG και οι μικρογραφίες αποδίδονται αυτόματα όπως απαιτείται.","Keywords":"Λέξεις κλειδιά","Label":"Ετικέτα","Labels":"Ετικέτες","Labels deleted":"Οι Ετικέτες διαγράφηκαν","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: Διατήρηση λεπτομερειών, ελάχιστα τεχνουργήματα","Language":"Γλώσσα","Last Active":"Τελευταία ενεργή","Last Login":"Τελευταία σύνδεση","Last page":"Τελευταία σελίδα","Last Sync":"Τελευταίος συγχρονισμός","Last Used":"Τελευταία χρήση","Latitude":"Γεωγραφικό πλάτος","LDAP/AD":"LDAP/AD","Learn more":"Μάθετε περισσότερα","Learn More":"Μάθετε περισσότερα","Legal Information":"Νομικές πληροφορίες","Lens":"Φακός","Library":"Βιβλιοθήκη","License":"Άδεια","Like":"Όπως","Lime":"Ασβέστης","Limit reached, showing first %{n} files":"Επίτευξη ορίου, εμφάνιση των πρώτων %{n} αρχείων","Linear: Very Smooth, Best Performance":"Γραμμικό: Πολύ ομοιόμορφο, βέλτιστη επίδοση","Link":"Σύνδεσμος","List":"Λίστα","List View":"Προβολή λίστας","Live":"Ζωντανό","Live Photos":"Φωτογραφίες","Load more":"Φορτώστε περισσότερα","Loading items...":"Στοιχεία φόρτωσης...","Loading...":"Φόρτωση...","Local":"Τοπικό","Local Time":"Τοπική ώρα","Location":"Τοποθεσία","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Τα μηνύματα καταγραφής εμφανίζονται εδώ κάθε φορά που το PhotoPrism συναντά προβληματικά αρχεία ή υπάρχουν άλλα πιθανά προβλήματα.","Login":"Σύνδεση","Logout":"Αποσύνδεση","Logs":"Αρχεία καταγραφής","Longitude":"Γεωγραφικό μήκος","Low":"Χαμηλή","Magenta":"Ματζέντα","Main Color":"Κύριο χρώμα","Male":"Άνδρας","Manage Account":"Διαχείριση λογαριασμού","Manual":"Χειροκίνητο","Manual Upload":"Χειροκίνητη φόρτωση","Maps":"Χάρτες","Marker":"Δείκτης","Maximum number of accounts has been reached.":"Έχει επιτευχθεί ο μέγιστος αριθμός λογαριασμών.","Media":"Μέσα ενημέρωσης","Medium":"Μεσαίο","Membership":"Μέλη","Merge %{a} with %{b}?":"Συγχώνευση %{a} με %{b}?","Message":"Μήνυμα","Message sent":"Αποστολή μηνύματος","Metadata":"Μεταδεδομένα","Metrics":"Μετρήσεις","Minimize":"Ελαχιστοποίηση","Missing":"Απουασιάζει","Missing or invalid configuration":"Λείπουν ή είναι άκυρη η διαμόρφωση","Moments":"Στιγμές","Monochrome":"Μονοχρωμία","Month":"Μήνας","More options":"Περισσότερες επιλογές","Mosaic":"Ψηφιδωτό","Most Relevant":"Το πιο σχετικό","Move Files":"Μετακίνηση αρχείων","Must have at least %{n} characters.":"Πρέπει να έχει τουλάχιστον %{n} χαρακτήρες.","Mute":"Σίγαση","Name":"Όνομα","Name too long":"Όνομα πολύ μεγάλο","Never":"Ποτέ","New":"Νέο","New Password":"Νέος κωδικός πρόσβασης","Newest First":"Το νεότερο πρώτα","Next":"Επόμενο","Next page":"Επόμενη σελίδα","Next visual":"Επόμενο οπτικό υλικό","No":"Όχι","No albums found":"Δεν βρέθηκαν συλλογές","No data available":"Δεν υπάρχουν διαθέσιμα στοιχεία","No labels found":"Δεν βρέθηκαν ετικέτες","No matching records found":"Δεν βρέθηκαν ταιριαστές εγγραφές","No more":"Όχι άλλο","No people found":"Δεν βρέθηκαν άτομα","No pictures found":"Δεν βρέθηκαν εικόνες","No recently edited pictures":"Δεν υπάρχουν πρόσφατα επεξεργασμένες εικόνες","No server connection":"Δεν υπάρχει σύνδεση διακομιστή","No servers configured.":"Δεν έχουν ρυθμιστεί διακομιστές.","No services configured.":"Δεν έχουν ρυθμιστεί διακομιστές.","No thanks":"Όχι ευχαριστώ","No warnings or error containing this keyword. Note that search is case-sensitive.":"Δεν υπάρχουν προειδοποιήσεις ή σφάλματα που περιέχουν αυτή τη λέξη-κλειδί. Σημειώστε ότι η αναζήτηση είναι ευαίσθητη σε κεφαλαία-πεζά.","Non-photographic and low-quality images require a review before they appear in search results.":"Οι μη φωτογραφικές εικόνες και οι εικόνες χαμηλής ποιότητας απαιτούν επανεξέταση προτού εμφανιστούν στα αποτελέσματα αναζήτησης.","None":"Κανένα","Not allowed":"Δεν επιτρέπεται","Not found":"Δεν βρέθηκε","Not sorted.":"Δεν έχει ταξινομηθεί.","Not supported":"Δεν υποστηρίζεται","Note you may manually manage your originals folder and importing is optional.":"Σημειώστε ότι μπορείτε να διαχειριστείτε χειροκίνητα το φάκελο πρωτοτύπων σας και η εισαγωγή είναι προαιρετική.","Note:":"Σημείωση:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Σημείωση: Μόνο οι διακομιστές WebDAV, όπως το Nextcloud ή το PhotoPrism, μπορούν να ρυθμιστούν ως απομακρυσμένη υπηρεσία για τη δημιουργία αντιγράφων ασφαλείας και τη μεταφόρτωση αρχείων.","Notes":"Σημειώσεις","Nothing to see here yet.":"Δεν υπάρχει τίποτα να δείτε εδώ ακόμα. Κάντε υπομονή.","Nothing was found.":"Δεν βρέθηκε τίποτα.","Offline":"Offline","OIDC":"OIDC","OK":"OK","Oldest First":"Ο παλαιότερος πρώτος","On Windows, enter the following resource in the connection dialog:":"Στα Windows, εισαγάγετε τον ακόλουθο πόρο στο παράθυρο διαλόγου σύνδεσης:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"Η κατά παραγγελία δημιουργία μικρογραφιών μπορεί να προκαλέσει υψηλή χρήση της CPU και της μνήμης. Δεν συνιστάται για διακομιστές με περιορισμένους πόρους και συσκευές NAS.","Once a week":"Μία φορά την εβδομάδα","One album found":"Βρέθηκε μια συλλογή","One file found":"Βρέθηκε ένα αρχείο","One file uploaded":"Ένα αρχείο μεταφορτώθηκε","One folder found":"Βρέθηκε ένας φάκελος","One label found":"Μια ετικέτα βρέθηκε","One person found":"Ένα άτομο βρήκε","One picture found":"Μια εικόνα που βρέθηκε","Only locally managed accounts can be set up for authentication with 2FA.":"Μόνο οι τοπικά διαχειριζόμενοι λογαριασμοί μπορούν να ρυθμιστούν για έλεγχο ταυτότητας με το 2FA.","Open":"Ανοίξτε το","optional":"προαιρετικό","or":"ή","Orange":"Πορτοκαλί","Organization":"Οργανισμός","Orientation":"Προσανατολισμός","Original file names will be stored and indexed.":"Τα αρχικά ονόματα αρχείων θα αποθηκεύονται και θα αρχειοθετούνται.","Original Name":"Αρχικό όνομα","Originals":"Πρωτότυπα","Other":"Άλλα","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Αποστολή μας είναι να παρέχουμε την πιο φιλική προς το χρήστη και την προστασία της ιδιωτικής ζωής λύση για να διατηρείτε τις φωτογραφίες σας οργανωμένες και προσβάσιμες.","Outdoor":"Υπαίθρια","Page {0}, Current page":"Σελίδα {0}, Τρέχουσα σελίδα","Pages":"Σελίδες","Pagination Navigation":"Πλοήγηση σελιδοποίησης","Panorama":"Πανόραμα","Panoramas":"Πανοράματα","Password":"Κωδικός πρόσβασης","Password changed":"Ο κωδικός πρόσβασης άλλαξε","People":"Άνθρωποι","People you share a link with will be able to view public contents.":"Τα άτομα με τα οποία μοιράζεστε έναν σύνδεσμο θα μπορούν να βλέπουν το δημόσιο περιεχόμενο.","Permanently deleted":"Διαγράφηκε μόνιμα","Permanently remove files to free up storage.":"Αφαιρέστε μόνιμα αρχεία για να ελευθερώσετε χώρο αποθήκευσης.","Person":"Πρόσωπο","Personal":"Προσωπικό","Photo":"Φωτογραφία","PhotoPrism is 100% self-funded and independent.":"Η PhotoPrism είναι 100% αυτοχρηματοδοτούμενη και ανεξάρτητη.","PhotoPrism+ Membership":"PhotoPrism+ Μέλος","Photos":"Φωτογραφίες","Picture Title":"Τίτλος εικόνας","Pink":"Ροζ","Place":"Τόπος","Place & Time":"Τόπος και χρόνος","Places":"Μέρη","Please confirm your new password.":"Επιβεβαιώστε τον νέο σας κωδικό πρόσβασης.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Αντιγράψτε τον ακόλουθο τυχαία δημιουργημένο κωδικό πρόσβασης εφαρμογής και διατηρήστε τον σε ασφαλές μέρος, καθώς δεν θα μπορείτε να τον δείτε ξανά:","Please do not upload any private, unlawful or offensive pictures.":"Παρακαλούμε μην ανεβάζετε προσωπικές, παράνομες ή προσβλητικές φωτογραφίες.","Please don't upload photos containing offensive content.":"Παρακαλούμε μην ανεβάζετε φωτογραφίες που περιέχουν προσβλητικό περιεχόμενο.","Please enter OTP character {0}":"Παρακαλώ εισάγετε χαρακτήρα OTP {0}","Please note that changing your password will log you out on other devices and browsers.":"Λάβετε υπόψη ότι η αλλαγή του κωδικού πρόσβασής σας θα σας αποσυνδέσει από άλλες συσκευές και προγράμματα περιήγησης.","Please restart your instance for the changes to take effect.":"Παρακαλούμε επανεκκινήστε την περίπτωσή σας για να τεθούν σε ισχύ οι αλλαγές.","Please wait…":"Παρακαλώ περιμένετε…","PM":"PM","PNG Size Limit: %{n}px":"Όριο μεγέθους PNG: %{n}px","Portrait":"Πορτρέτο","Preserve filenames":"Διατήρηση ονομάτων αρχείων","Press enter to create a new album.":"Πιέστε enter για να δημιουργήσετε ένα νέο άλμπουμ.","Prevent database and album backups as well as YAML sidecar files from being created.":"Αποτρέψτε τη δημιουργία αντιγράφων ασφαλείας της βάσης δεδομένων και των άλμπουμ, καθώς και των αρχείων YAML sidecar.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Αποτρέψτε την πρόσβαση άλλων εφαρμογών στο PhotoPrism ως κοινόχρηστη μονάδα δίσκου δικτύου.","Preview":"Προεπισκόπηση","Preview Images":"Προεπισκόπηση εικόνων","Previous":"Προηγούμενο","Previous page":"Προηγούμενη σελίδα","Previous visual":"Προηγούμενο οπτικό υλικό","Primary":"Βασικό","Private":"Ιδιωτικό","Product Feedback":"Ανατροφοδότηση προϊόντος","Projection":"Προβολή","Purple":"Μωβ","Quality Filter":"Φίλτρο ποιότητας","Quality Score":"Βαθμολογία ποιότητας","r":"r","Random":"Τυχαίο","Rating {0} of {1}":"Βαθμολογία {0} από {1}","Raw":"Raw","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Δημιουργία ευρετηρίου όλων των πρωτοτύπων, συμπεριλαμβανομένων των ήδη καταχωρημένων και αμετάβλητων αρχείων.","Read-Only Mode":"Λειτουργία μόνο για ανάγνωση","Recently Added":"Πρόσφατα προστέθηκε","Recently Archived":"Πρόσφατα αρχειοθετημένο","Recently Edited":"Πρόσφατη επεξεργασία","Recognition starts after indexing has been completed.":"Η αναγνώριση ξεκινά μετά την ολοκλήρωση της δημιουργίας ευρετηρίου.","Recognize faces so people can be assigned and found.":"Αναγνωρίζει πρόσωπα ώστε να μπορούν να βρεθούν συγκεκριμένα άτομα.","Recognized":"Αναγνωρισμένο","Recovery Code":"Κωδικός ανάκτησης","Red":"Κόκκινο","Refresh":"Ανανέωση","Regions":"Περιφέρειες","Register":"Εγγραφή","Reload":"Επαναφόρτωση","Reloading…":"Επαναγέμισμα…","Remote Sync":"Απομακρυσμένος συγχρονισμός","Remove":"Απομάκρυνση","remove failed: unknown album":"remove failed: άγνωστη συλλογή","Remove from Album":"Αφαιρέση από τη συλλογή","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Αφαιρέστε τα εισαγόμενα αρχεία για εξοικονόμηση χώρου αποθήκευσης. Οι μη υποστηριζόμενοι τύποι αρχείων δεν διαγράφονται ποτέ, παραμένουν στην τρέχουσα θέση τους.","Request failed - are you offline?":"Το αίτημα απέτυχε - είστε εκτός σύνδεσης;","Request failed - invalid response":"Το αίτημα απέτυχε - άκυρη απάντηση","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Απαιτείται η εξέταση μη φωτογραφικών και χαμηλής ποιότητας εικόνων πριν από την εμφάνισή τους στα αποτελέσματα αναζήτησης.","Resolution":"Ανάλυση","Restart":"Επανεκκίνηση","Restore":"Επαναφορά","Restored":"Αποκατεστημένο","Retry Limit":"Όριο επανάληψης","Retype Password":"Επαναλάβετε τον κωδικό πρόσβασης","Review":"Ανασκόπηση","Role":"Ρόλος","Rows per page:":"Σειρές ανά σελίδα:","Satellite":"Δορυφόρος","Save":"Αποθήκευση","Scan":"Σάρωση","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Σαρώστε τον κωδικό QR με την εφαρμογή ελέγχου ταυτότητας ή χρησιμοποιήστε το κλειδί ρύθμισης που φαίνεται παρακάτω και, στη συνέχεια, εισαγάγετε τον κωδικό επαλήθευσης που δημιουργήθηκε:","Scans":"Σαρώσεις","Scope":"Πεδίο εφαρμογής","Search":"Αναζήτηση","Search and display photos on a map.":"Αναζήτηση και εμφάνιση φωτογραφιών σε χάρτη.","Season":"Περίοδος","Secret":"Μυστικό","Security and Access":"Ασφάλεια και πρόσβαση","Select":"Επιλέξτε","Select a source folder to import files…":"Επιλέξτε ένα φάκελο προέλευσης για την εισαγωγή αρχείων…","Select date":"Επιλέξτε ημερομηνία","Select dates":"Επιλέξτε ημερομηνίες","Select or create an album":"Επιλέξτε ή δημιουργήστε ένα άλμπουμ","Select the files to upload…":"Επιλέξτε τα αρχεία που θέλετε να φορτώσετε…","Select the folder to be indexed…":"Επιλέξτε το φάκελο προς ευρετηρίαση…","Select Time":"Επιλέξτε ώρα","Selection approved":"Η επιλογή εγκρίθηκε","Selection archived":"Η επιλογή αρχειοθετήθηκε","Selection restored":"Η επιλογή αποκαταστάθηκε","Sequential Name":"Διαδοχικό όνομα","Service URL":"URL υπηρεσίας","Services":"URL υπηρεσίας","Session":"Σύνοδος","Session ID":"Αναγνωριστικό συνεδρίας","Sessions":"Συνεδρίες","Set as Album Cover":"Ορίστε ως εξώφυλλο άλμπουμ","Settings":"Ρυθμίσεις","Settings saved":"Οι ρυθμίσεις αποθηκεύτηκαν","Setup":"Ρύθμιση","Share":"Μοιραστείτε το","Share %{s}":"Μοιραστείτε το %{s}","Share your pictures with other apps and services.":"Μοιραστείτε τις φωτογραφίες σας με άλλες εφαρμογές και υπηρεσίες.","Show":"Εμφάνιση","Show all new faces":"Εμφάνιση όλων των νέων προσώπων","Show Captions":"Εμφάνιση λεζάντων","Show hidden":"Εμφάνιση κρυφών","Show less":"Εμφάνιση λιγότερων","Show more":"Εμφάνιση περισσότερων","Show server logs in Library.":"Εμφάνιση των αρχείων καταγραφής του διακομιστή στη Βιβλιοθήκη.","Show Titles":"Εμφάνιση τίτλων","Sidecar":"Sidecar","Sidecar Files":"Αρχεία Sidecar","Sign in":"Συνδεθείτε","Similar":"Παρόμοια","Size":"Μέγεθος","Slideshow":"Παρουσίαση διαφανειών","Slow":"Αργή","Software":"Λογισμικό","Software Update":"Ενημέρωση λογισμικού","Something went wrong, try again":"Κάτι πήγε στραβά, δοκιμάστε ξανά","Sort by":"Ταξινόμηση κατά","Sort Order":"Σειρά ταξινόμησης","Sorted ascending.":"Ταξινόμηση κατά αύξουσα σειρά.","Sorted descending.":"Ταξινόμηση κατά φθίνουσα πορεία.","Source":"Πηγή","Stack":"Στοίβα","Stack files sharing the same unique image or instance identifier.":"Αρχεία στοίβας που μοιράζονται το ίδιο μοναδικό αναγνωριστικό εικόνας ή περίπτωσης.","Stack pictures taken at the exact same time and location based on their metadata.":"Στοιβάζετε φωτογραφίες που τραβήχτηκαν ακριβώς την ίδια ώρα και στην ίδια τοποθεσία με βάση τα μεταδεδομένα τους.","Stackable":"Στοιβαζόμενο","Stacks":"Στοίβες","Start":"Έναρξη","Start Page":"Σελίδα έναρξης","Static Size Limit: %{n}px":"Όριο στατικού μεγέθους: %{n}px","Status":"Κατάσταση","Storage":"Αποθήκευση","Streets":"Δρόμοι","Subject":"Θέμα","Submit":"Υποβολή","Successfully activated":"Ενεργοποιήθηκε με επιτυχία","Successfully Connected":"Επιτυχής σύνδεση","Successfully deleted":"Διαγράφηκε επιτυχώς","Successfully verified":"Επαληθεύτηκε με επιτυχία","Super Admin":"Super Admin","Support for additional services, like Google Drive, will be added over time.":"Η υποστήριξη για πρόσθετες υπηρεσίες, όπως το Google Drive, θα προστεθεί με την πάροδο του χρόνου.","Support Our Mission":"Υποστηρίξτε την αποστολή μας","Sync":"Συγχρονισμός","Sync raw and video files":"Συγχρονισμός αρχείων raw και βίντεο","Taken":"Λήψη","Teal":"Γαλαζοπράσινο","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"Το TensorFlow απαιτείται για την ταξινόμηση εικόνων, την αναγνώριση προσώπου και την ανίχνευση μη ασφαλούς περιεχομένου.","Terrain":"Έδαφος","Text":"Κείμενο","Text too long":"Πολύ μεγάλο κείμενο","Thank You for Your Support!":"Ευχαριστούμε για την υποστήριξή σας!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Γι' αυτό το λόγο το PhotoPrism δημιουργήθηκε από την αρχή για να λειτουργεί όπου το χρειάζεστε, χωρίς να διακυβεύεται η ελευθερία, η ιδιωτικότητα ή η λειτουργικότητα.","The index currently contains %{n} hidden files.":"Το ευρετήριο περιέχει επί του παρόντος %{n} κρυμμένα αρχεία.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Μπορεί να μην υποστηρίζεται η μορφή τους, να μην έχουν μετατραπεί ακόμη σε JPEG ή να υπάρχουν αντίγραφα.","Theme":"Θέμα","This field is required":"Το πεδίο αυτό είναι υποχρεωτικό","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Αυτό προσαρτά το φάκελο πρωτοτύπων ως μονάδα δίσκου δικτύου και σας επιτρέπει να ανοίγετε, να επεξεργάζεστε και να διαγράφετε αρχεία από τον υπολογιστή ή το smartphone σας σαν να ήταν τοπικά.","Time UTC":"Ώρα UTC","Time Zone":"Ζώνη ώρας","Timeout":"Timeout","Title":{"Account":"Τίτλος","Photo":"Τίτλος","":"Τίτλος"},"Title / Position":"Τίτλος / Θέση","Title too long":"Πολύ μεγάλος τίτλος","to":"στο","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Για να αποφύγετε τον αποκλεισμό του λογαριασμού σας, κάντε λήψη, εκτυπώστε ή αντιγράψτε αυτόν τον κωδικό ανάκτησης τώρα και φυλάξτε τον σε ασφαλές μέρος.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Για να δημιουργήσετε έναν νέο κωδικό πρόσβασης για συγκεκριμένη εφαρμογή, εισαγάγετε το όνομα και το εύρος εξουσιοδότησης της εφαρμογής και επιλέξτε μια ημερομηνία λήξης:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Για να μεταβείτε σε μια νέα εφαρμογή ή συσκευή ελέγχου ταυτότητας, πρώτα απενεργοποιήστε τον έλεγχο ταυτότητας δύο παραγόντων και, στη συνέχεια, ενεργοποιήστε τον ξανά:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Για να αναβαθμίσετε, μπορείτε είτε να εισαγάγετε έναν κωδικό ενεργοποίησης είτε να κάνετε κλικ στο κουμπί \"Εγγραφή\" για να εγγραφείτε στην ιστοσελίδα μας:","Today":"Σήμερα","Toggle View":"Εναλλαγή προβολής","Token":"Token","Too many files selected":"Πολλά επιλεγμένα αρχεία","Too many requests":"Πάρα πολλά αιτήματα","Troubleshooting":"Αντιμετώπιση προβλημάτων","Try again using other filters or keywords.":"Δοκιμάστε ξανά χρησιμοποιώντας άλλα φίλτρα ή λέξεις-κλειδιά.","Two-factor authentication has been enabled for your account.":"Ο έλεγχος ταυτότητας δύο παραγόντων έχει ενεργοποιηθεί για τον λογαριασμό σας.","Type":"Τύπος","Unauthorized":"Μη εξουσιοδοτημένο","Undo":"Αναίρεση","Unique ID":"Μοναδικό αναγνωριστικό","Unknown":"Άγνωστος","Unregistered":"Μη εγγεγραμμένο","Unsorted":"Μη ταξινομημένο","Unstack":"Αποσυσκευασία","Updated":"Ενημερωμένο","Updating faces":"Ενημέρωση προσώπων","Updating index":"Ενημέρωση ευρετηρίου","Updating moments":"Ενημέρωση στιγμών","Updating picture…":"Ενημέρωση εικόνας…","Updating previews":"Ενημέρωση προεπισκοπήσεων","Updating stacks":"Ενημέρωση στοίβας","Upgrade":"Αναβάθμιση","Upgrade Now":"Αναβάθμιση τώρα","Upload":"Ανέβασμα","Upload complete":"Ανέβασμα ολοκληρωμένο","Upload complete. Indexing…":"Το ανέβασμα ολοκληρώθηκε. Δημιουργία ευρετηρίου…","Upload failed":"Αποτυχία αποστολής","Upload local files":"Ανέβασμα τοπικών αρχείων","Upload Path":"Διαδρομή φόρτωσης","Upload to WebDAV and share links with friends.":"Ανεβάστε σε WebDAV και μοιραστείτε συνδέσμους με φίλους.","Uploading %{n} of %{t}…":"Ανέβασμα %{n} του %{t}…","Uploading photos…":"Ανέβασμα φωτογραφιών…","Uploading…":"Επαναγέμισμα…","Uploads that may contain such images will be rejected automatically.":"Οι μεταφορτώσεις που ενδέχεται να περιέχουν τέτοιες εικόνες θα απορρίπτονται αυτόματα.","Use Presets":"Χρήση Προεπιλογών","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Χρησιμοποιήστε τον ακόλουθο κωδικό ανάκτησης για να αποκτήσετε πρόσβαση στον λογαριασμό σας όταν δεν μπορείτε να δημιουργήσετε έναν έγκυρο κωδικό επαλήθευσης με την εφαρμογή ελέγχου ταυτότητας:","Use your recovery code or contact an administrator for help.":"Χρησιμοποιήστε τον κωδικό ανάκτησης ή επικοινωνήστε με έναν διαχειριστή για βοήθεια.","User":"Χρήστης","User Guide":"Οδηγός χρήσης","User Interface":"Διεπαφή χρήστη","Username":"Όνομα χρήστη","Users":"Χρήστες","Vector":"Διάνυσμα","Vectors":"Φορείς","Verification Code":"Κωδικός επαλήθευσης","Video":"Βίντεο","Video Duration":"Διάρκεια Βίντεο","Videos":"Βίντεο","View":"Προβολή","View search results as a list.":"Προβολή των αποτελεσμάτων της αναζήτησης σε μορφή λίστας.","Viewer":"Θεατής","Visitor":"Επισκέπτης","Visual Similarity":"Ομαδοποίηση με βάση την ομοιότητα","Warning":"Προειδοποίηση","We appreciate your feedback!":"Εκτιμούμε τα σχόλιά σας!","We do our best to respond within five business days or less.":"Κάνουμε ό,τι μπορούμε για να απαντήσουμε εντός πέντε εργάσιμων ημερών ή λιγότερο.","Web Login":"Σύνδεση μέσω Web","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"Οι πελάτες WebDAV μπορούν να συνδεθούν στο PhotoPrism χρησιμοποιώντας την ακόλουθη διεύθυνση URL:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"Οι πελάτες WebDAV, όπως ο Windows Explorer της Microsoft ή το Finder της Apple, μπορούν να συνδεθούν απευθείας στο PhotoPrism.","WebDAV Upload":"Ανέβασμα WebDAV","WebGL support is disabled in your browser":"Η υποστήριξη WebGL είναι απενεργοποιημένη στο πρόγραμμα περιήγησής σας","Website":"Ιστοσελίδα","White":"Λευκό","Work Details":"Λεπτομέρειες","Year":"Έτος","Yellow":"Κίτρινο","Yes":"Ναι","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Μπορείτε να επικοινωνήσετε μαζί μας στο membership@photoprism.app για ερωτήσεις σχετικά με τη συνδρομή σας.","You can only download one album":"Μπορείτε να κατεβάσετε μόνο μια συλλογή","You can only download one label":"Μπορείτε να κατεβάσετε μόνο μία ετικέτα","You can upload up to %{n} files for test purposes.":"Μπορείτε να ανεβάσετε έως και %{n} αρχεία για δοκιμαστικούς σκοπούς.","You may only select one item":"Μπορείτε να επιλέξετε μόνο ένα στοιχείο","You may rescan your library to find additional faces.":"Μπορείτε να σαρώσετε εκ νέου τη βιβλιοθήκη σας για να βρείτε επιπλέον πρόσωπα.","Your account has been successfully connected.":"Ο λογαριασμός σας έχει συνδεθεί επιτυχώς.","Your browser does not support WebGL":"Το πρόγραμμα περιήγησής σας δεν υποστηρίζει WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Η συνεχής υποστήριξή σας μας βοηθά να παρέχουμε τακτικές ενημερώσεις και υπηρεσίες όπως οι παγκόσμιοι χάρτες.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Η βιβλιοθήκη σας αναλύεται συνεχώς για να δημιουργούνται αυτόματα συλλογές με ιδιαίτερες στιγμές, ταξίδια και τοπθεσίες.","Zoom in/out":"Μεγέθυνση/ σμίκρυνση"}} \ No newline at end of file +{"el":{"{0} appended action":"{0} προσαρτημένη ενέργεια","{0} files":"{0} αρχεία","{0} files ({1} in total)":"{0} αρχεία ({1} συνολικά)","{0} more":"{0} περισσότερα","{0} prepended action":"{0} prepended action","{0} selected":"{0} επιλεγμένο","{0}-{1} of {2}":"{0}-{1} του {2}","%{n} albums found":"%{n} συλλογές βρέθηκαν","%{n} files uploaded":"%{n} αρχεία ανέβηκαν","%{n} folders found":"%{n} φάκελοι βρέθηκαν","%{n} GB of %{q} GB used":"%{n} GB του %{q} GB που χρησιμοποιήθηκαν","%{n} labels found":"%{n} ετικέτες βρέθηκαν","%{n} people found":"%{n} άνθρωποι βρέθηκαν","%{n} pictures found":"%{n} φωτογραφίες βρέθηκαν","%{s} is too long":"Το %{s} είναι πολύ μεγάλο","%{s} is too short":"Το %{s} είναι πολύ μικρό","1 hour":"1 ώρα","12 hours":"12 ώρες","2-Factor Authentication":"Αυθεντικοποίηση 2 παραγόντων","2FA":"2FA","4 hours":"4 ώρες","A click will copy it to your clipboard.":"Ένα κλικ θα το αντιγράψει στο πρόχειρο.","A new version of %{s} is available:":"Μια νέα έκδοση του %{s} είναι διαθέσιμη:","About":"Σχετικά","Access Token":"Token πρόσβασης","Account":"Λογαριασμός","Account created":"Ο Λογαριασμός δημιουργήθηκε","Account deleted":"Ο Λογαριασμός διαγράφηκε","Account restored":"Επαναφορά λογαριασμού","Accounts":"Λογαριασμοί","Accuracy":"Ακρίβεια","Action":"Ενέργεια","Actions":"Ενέργειες","Activate":"Ενεργοποίηση","Activate to remove sorting.":"Ενεργοποιήστε για να καταργήσετε την ταξινόμηση.","Activate to sort ascending.":"Ενεργοποιήστε για να ταξινομήσετε με αύξουσα σειρά.","Activate to sort descending.":"Ενεργοποιήστε για να ταξινομήσετε κατά φθίνουσα σειρά.","Activation Code":"Κωδικός ενεργοποίησης","Add":"Προσθέστε","Add %{s}?":"Προσθέστε %{s}?","Add Account":"Επεξεργασία Λογαριασμού","Add Album":"Προσθήκη Συλλογής","Add files to your library via Web Upload.":"Προσθήκη αρχείων στην βιβλιοθήκη μέσω Web Upload.","Add Link":"Προσθήκη Συνδέσμου","Add person?":"Προσθέστε άτομο;","Add pictures from search results by selecting them.":"Προσθέστε εικόνες από τα αποτελέσματα αναζήτησης επιλέγοντάς τες.","Add to album":"Προσθήκη στο άλμπουμ","Added":"Προστέθηκε","Adjust Location":"Ρυθμίστε την τοποθεσία","Admin":"Διαχειριστής","Advanced":"Σύνθετο","After 1 day":"Μετά από 1 ημέρα","After 3 days":"Μετά από 3 ημέρες","After 7 days":"Μετά από 7 ημέρες","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Αφού εισαγάγετε τον κωδικό πρόσβασής σας για επιβεβαίωση, μπορείτε να ρυθμίσετε τον έλεγχο ταυτότητας δύο παραγόντων με μια συμβατή εφαρμογή ή συσκευή ελέγχου ταυτότητας:","After one month":"Μετά από ένα μήνα","After one year":"Μετά από ένα έτος","After selecting pictures from search results, you can add them to an album using the context menu.":"Αφού επιλέξετε εικόνες από τα αποτελέσματα αναζήτησης, μπορείτε να τις προσθέσετε σε ένα άλμπουμ χρησιμοποιώντας το αναδυόμενο μενού.","After two months":"Μετά από δύο μήνες","After two weeks":"Μετά από δύο εβδομάδες","Album":"Συλλογή","Album Backups":"Αντίγραφα ασφαλείας άλμπουμ","Album created":"Η Συλλογή δημιουργήθηκε","Album deleted":"Άλμπουμ που διαγράφηκε","Albums":"Συλλογές","Albums deleted":"Οι Συλλογές διαγράφηκαν","All":"Όλα","All %{n} albums loaded":"%{n} Συλλογές φορτώθηκαν","All %{n} labels loaded":"%{n} ετικέτες φορτώθηκαν","All %{n} people loaded":"%{n} άνθρωποι φορτώθηκαν","All Cameras":"Όλες οι Κάμερες","All Categories":"Όλες οι Κατηγορίες","All Colors":"Όλα τα Χρώματα","All Countries":"Όλες οι Χώρες","All fields are required":"Όλα τα πεδία είναι υποχρεωτικά","All files from import folder":"Όλα τα αρχεία από το φάκελο εισαγωγής","All Lenses":"Όλοι οι Φακοί","All Months":"Όλοι οι Μήνες","All originals":"Όλα τα πρωτότυπα","All Years":"Όλα τα έτη","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Εναλλακτικά, μπορείτε να μεταφορτώσετε αρχεία απευθείας σε διακομιστές WebDAV όπως το Nextcloud.","Altitude":"Υψόμετρο","Altitude (m)":"Υψόμετρο (m)","AM":"AM","Animated":"Κινούμενη εικόνα","Animation":"Κίνηση","Animations":"Κινούμενα σχέδια","Any private photos and videos remain private and won't be shared.":"Οποιεσδήποτε ιδιωτικές φωτογραφίες και βίντεο παραμένουν ιδιωτικές και δεν θα κοινοποιηθούν.","API Key":"Κλειδί API","Application":"Εφαρμογή","Apply":"Εφαρμογή","Approve":"Έγκριση","Apps and Devices":"Εφαρμογές και συσκευές","Archive":"Αρχείο","Archived":"Αρχειοθετημένο","Are you sure you want to archive the selection?":"Είστε σίγουροι ότι θέλετε να αρχειοθετήσετε την επιλογή;","Are you sure you want to delete these albums?":"Είστε σίγουροι ότι θέλετε να διαγράψετε αυτές τις συλλογές;","Are you sure you want to delete these labels?":"Είστε σίγουροι ότι θέλετε να διαγράψετε αυτές τις ετικέτες;","Are you sure you want to delete this account?":"Είστε σίγουρος ότι θέλετε να διαγράψετε αυτόν τον λογαριασμό;","Are you sure you want to delete this album?":"Είστε σίγουροι ότι θέλετε να διαγράψετε αυτό το άλμπουμ;","Are you sure you want to permanently delete these pictures?":"Είστε σίγουρος ότι θέλετε να διαγράψετε οριστικά αυτές τις φωτογραφίες;","Are you sure you want to permanently delete this file?":"Είστε σίγουροι ότι θέλετε να διαγράψετε οριστικά αυτό το αρχείο;","Are you sure?":"Είσαι σίγουρος;","Artist":"Καλλιτέχνης","Aspect Ratio":"Αναλογία διαστάσεων","Audio":"Ήχος","Authentication":"Αυθεντικοποίηση","Auto":"Auto","Back":"Πίσω","Back to top":"Επιστροφή στην κορυφή","Backup":"Δημιουργία αντιγράφων ασφαλείας","Badge":"Κονκάρδα","Base Path":"Διαδρομή βάσης","Become a member today, support our mission and enjoy our member benefits!":"Γίνετε μέλος σήμερα, υποστηρίξτε την αποστολή μας και απολαύστε τα προνόμια των μελών μας!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Όντας 100% αυτοχρηματοδοτούμενοι και ανεξάρτητοι, μπορούμε να σας υποσχεθούμε ότι δεν θα πουλήσουμε ποτέ τα δεδομένα σας και ότι θα είμαστε πάντα διαφανείς σχετικά με το λογισμικό και τις υπηρεσίες μας.","Bio":"Βιογραφικό","Birth Date":"Ημερομηνία γέννησης","Black":"Μαύρο","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Παραλλαγή της Lanczos, με λιγότερα τεχνουργήματα","Blue":"Μπλε","Brown":"Καφέ","Browse":"Περιήγηση στο","Browse and edit image classification labels.":"Αναζήτηση και επεξεργασία ετικετών ταξινόμησης εικόνων.","Browse and share your pictures organized into monthly albums.":"Περιηγηθείτε και μοιραστείτε τις φωτογραφίες σας οργανωμένες σε μηνιαία άλμπουμ.","Browse Files":"Αναζήτηση αρχείων","Browse indexed files and folders in Library.":"Περιήγηση σε αρχεία και φακέλους στη Βιβλιοθήκη.","Bug Report":"Αναφορά σφάλματος","Busy, please wait…":"Απασχολημένος, παρακαλώ περιμένετε…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Χρησιμοποιώντας το λογισμικό και τις υπηρεσίες που παρέχουμε, συμφωνείτε με τους όρους χρήσης, την πολιτική απορρήτου και τον κώδικα δεοντολογίας.","Calendar":"Ημερολόγιο","Camera":"Κάμερα","Camera Serial":"Σειριακή κάμερα","Can't access your authenticator app or device?":"Δεν μπορείτε να αποκτήσετε πρόσβαση στην εφαρμογή ή τη συσκευή ελέγχου ταυτότητας;","Can't load more, limit reached":"Δεν μπορείτε να φορτώσετε περισσότερα διότι θα ξεπεράσετε το όριο","Can't select more items":"Δεν μπορείτε να επιλέξετε περισσότερα αντικείμενα","Cancel":"Ακύρωση","Cannot copy to clipboard":"Δεν είναι δυνατή η αντιγραφή στο πρόχειρο","Caption":"Λεζάντα","Cards":"Κάρτες","Carousel slide {0} of {1}":"Καρουσέλ διαφάνεια {0} του {1}","Category":"Κατηγορία","Change Avatar":"Αλλαγή Άβαταρ","Change Password":"Νέος κωδικός πρόσβασης","Change personal profile and security settings.":"Αλλαγή του προσωπικού προφίλ και των ρυθμίσεων ασφαλείας.","Change photo titles, locations, and other metadata.":"Αλλάξτε τίτλους φωτογραφιών, τοποθεσίες και άλλα μεταδεδομένα.","Change private flag":"Αλλαγή ιδιωτικής κατάστασης","Changes could not be saved":"Οι αλλαγές δεν μπόρεσαν να αποθηκευτούν","Changes successfully saved":"Οι αλλαγές αποθηκεύτηκαν επιτυχώς","Changes to the advanced settings require a restart to take effect.":"Οι αλλαγές στις ρυθμίσεις για προχωρημένους απαιτούν επανεκκίνηση για να τεθούν σε ισχύ.","Checked":"Σημειωμένο","Chroma":"Χρώμα","Cleaning index and cache":"Καθαρισμός ευρετηρίου και cache","Cleanup":"Καθαρισμός","Clear {0}":"Clear {0}","Client":"Πελάτης","Client Credentials":"Διαπιστευτήρια πελάτη","Close":"Κλείσιμο","Codec":"Codec","Color":"Χρώμα","Color Profile":"Προφίλ χρώματος","Colors":"Χρώματα","Compare Editions":"Σύγκριση εκδόσεων","Complete Rescan":"Πλήρης σάρωση","Confidence":"Εμπιστοσύνη","Confirm":"Επιβεβαιώνω","Connect":"Σύνδεση","Connect via WebDAV":"Σύνδεση μέσω WebDAV","Connected":"Σύνδεση","Contact Details":"Στοιχεία Επικοινωνίας","Contact Us":"Επικοινωνήστε μαζί μας","Contains %{n} pictures.":"Περιέχει %{n} εικόνες.","Contains one picture.":"Περιέχει μία εικόνα.","Content":"Περιεχόμενο","Continue":"Να συνεχίσει","Continue with %{provider}":"Συνεχίστε με %{provider}","Contributor":"Συντελεστής","Converting":"Μετατροπή","Copied to clipboard":"Αντιγραφή στο πρόχειρο","Copy":"αντίγραφο","Copyright":"Πνευματικά δικαιώματα","Couldn't find anything.":"Δεν μπόρεσα να βρω τίποτα.","Country":"Χώρα","Create Account":"Δημιουργία λογαριασμού","Create album":"Δημιουργία Συλλογής","Create regular backups based on the configured schedule.":"Δημιουργία αντιγράφων ασφαλείας ευρετηρίου με βάση το ρυθμισμένο χρονοδιάγραμμα.","Create YAML files to back up album metadata.":"Δημιουργήστε αρχεία YAML για τη δημιουργία αντιγράφων ασφαλείας των μεταδεδομένων του άλμπουμ.","Create YAML sidecar files to back up picture metadata.":"Δημιουργία αρχείων YAML sidecar για τη δημιουργία αντιγράφων ασφαλείας μεταδεδομένων εικόνας.","Created":"Δημιουργήθηκε","Creating thumbnails for":"Δημιουργία μικρογραφιών για","Cubic: Moderate Quality, Good Performance":"Κυβικό: Μέτρια ποιότητα, καλή επίδοση","Current Password":"Τρέχων κωδικός πρόσβασης","Custom":"Προσαρμοσμένο","Cyan":"Κυανό","Daily":"Καθημερινά","Database Backups":"Αντίγραφα ασφαλείας βάσης δεδομένων","Day":"Ημέρα","Deactivate":"Απενεργοποίηση","Debug Logs":"Αρχεία καταγραφής σφαλμάτων","Default":"Προεπιλογή","Default Folder":"Προεπιλεγμένος φάκελος","Delete":"Διαγραφή","Delete Album":"Διαγραφή άλμπουμ","Delete All":"Διαγραφή όλων","Delete all?":"Να τα διαγράψετε όλα;","Delete orphaned index entries, sidecar files and thumbnails.":"Διαγράψτε ορφανές καταχωρήσεις ευρετηρίου, αρχεία sidecar και μικρογραφίες.","Description":"Περιγραφή","Detailed instructions can be found in our User Guide.":"Λεπτομερείς οδηγίες μπορείτε να βρείτε στον Οδηγό Χρήσης.","Details":"Λεπτομέρειες","Dimensions":"Διαστάσεις","Disable Backups":"Απενεργοποίηση αντιγράφων ασφαλείας","Disable Darktable":"Απενεργοποίηση Darktable","Disable ExifTool":"Απενεργοποίηση ExifTool","Disable features that require write permission for the originals folder.":"Απενεργοποιήστε τις λειτουργίες που απαιτούν δικαίωμα εγγραφής για το φάκελο πρωτοτύπων.","Disable FFmpeg":"Απενεργοποίηση FFmpeg","Disable ImageMagick":"Απενεργοποίηση του ImageMagick","Disable interactive world maps and reverse geocoding.":"Απενεργοποιήστε τους διαδραστικούς παγκόσμιους χάρτες και την αντίστροφη γεωκωδικοποίηση.","Disable Places":"Απενεργοποίηση Places","Disable RawTherapee":"Απενεργοποίηση RawTherapee","Disable TensorFlow":"Απενεργοποίηση TensorFlow","Disable Vectors":"Απενεργοποίηση διανυσμάτων","Disable WebDAV":"Απενεργοποίηση WebDAV","Disables vector graphics support.":"Απενεργοποιεί την υποστήριξη διανυσματικών γραφικών.","Disables video transcoding and thumbnail extraction.":"Απενεργοποιεί τη μετακωδικοποίηση βίντεο και την εξαγωγή μικρογραφιών.","Discover":"Ανακαλύψτε το","Dismiss":"Απορρίψτε το","Display Name":"Όνομα οθόνης","Display picture captions in search results.":"Εμφάνιση λεζάντας εικόνας στα αποτελέσματα αναζήτησης.","Display picture titles in search results.":"Εμφάνιση τίτλων εικόνων στα αποτελέσματα αναζήτησης.","Document":"Έγγραφο","Documents":"Έγγραφα","Don't use Darktable to convert RAW images.":"Μην χρησιμοποιείτε το Darktable για τη μετατροπή εικόνων RAW.","Don't use ImageMagick to convert images.":"Μην χρησιμοποιείτε το ImageMagick για τη μετατροπή εικόνων.","Don't use RawTherapee to convert RAW images.":"Μην χρησιμοποιείτε το RawTherapee για τη μετατροπή εικόνων RAW.","Done":"Έγινε","Done.":"Έγινε.","Download":"Λήψη","Download only original media files, without any automatically generated files.":"Λήψη μόνο πρωτότυπων αρχείων πολυμέσων, χωρίς αυτόματα παραγόμενα αρχεία.","Download remote files":"Λήψη απομακρυσμένων αρχείων","Download single files and zip archives.":"Λήψη μεμονωμένων αρχείων και αρχείων συμπίεσης.","Downloading…":"Λήψη…","Downscaling Filter":"Φίλτρο υποβιβασμού κλίμακας","Drag and drop files here":"Σύρετε και αφήστε αρχεία εδώ","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"Λόγω του μεγάλου όγκου μηνυμάτων ηλεκτρονικού ταχυδρομείου που λαμβάνουμε, η ομάδα μας ενδέχεται να μην είναι σε θέση να σας απαντήσει αμέσως.","Duplicates will be skipped and only appear once.":"Τα διπλότυπα θα παραλείπονται και θα εμφανίζονται μόνο μία φορά.","Duration":"Διάρκεια","Dynamic Previews":"Δυναμικές προεπισκοπήσεις","Dynamic Size Limit: %{n}px":"Όριο δυναμικού μεγέθους: %{n}px","E-Mail":"E-Mail","Edit":"Επεξεργασία","Edit %{s}":"Επεξεργασία %{s}","Edit Account":"Επεξεργασία Λογαριασμού","Edit Photo":"Επεξεργασία Φωτογραφίας","Edited":"Επεξεργάστηκε","Email":"Ηλεκτρονικό ταχυδρομείο","Enable debug mode to display additional logs and help with troubleshooting.":"Ενεργοποιήστε τη λειτουργία εντοπισμού σφαλμάτων για να εμφανίσετε πρόσθετα αρχεία καταγραφής και να βοηθήσετε στην αντιμετώπιση προβλημάτων.","Enable new features that may be incomplete or unstable.":"Ενεργοποίηση νέων λειτουργιών που μπορεί να είναι ελλιπείς ή ασταθείς.","Enables RAW converter presets. May reduce performance.":"Ενεργοποιεί τις προεπιλογές μετατροπέα RAW. Μπορεί να μειώσει την απόδοση.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Η ενεργοποίηση του ελέγχου ταυτότητας δύο παραγόντων σημαίνει ότι θα χρειαστείτε έναν τυχαία δημιουργημένο κωδικό επαλήθευσης για να συνδεθείτε, επομένως ακόμα κι αν κάποιος αποκτήσει πρόσβαση στον κωδικό πρόσβασής σας, δεν θα μπορεί να έχει πρόσβαση στον λογαριασμό σας.","Enter date":"Πληκτρολογήστε την ημερομηνία","Enter dates":"Εισάγετε ημερομηνίες","Enter the code generated by your authenticator app:":"Εισάγετε τον κωδικό που δημιουργείται από την εφαρμογή ελέγχου ταυτότητας:","Enter verification code":"βάλτε κωδικό επιβεβαίωσης","Enter your password to confirm the action and continue:":"Εισαγάγετε τον κωδικό πρόσβασής σας για να επιβεβαιώσετε την ενέργεια και συνεχίστε:","Error":"Σφάλμα","Errors":"Σφάλματα","Estimate":"Εκτίμηση","Estimate Locations":"Εκτιμώμενες τοποθεσίες","Estimate the approximate location of pictures without GPS coordinates.":"Εκτίμηση της κατά προσέγγιση θέσης εικόνων χωρίς συντεταγμένες GPS.","Every two days":"Κάθε δύο ημέρες","Exclude content marked as private from search results, shared albums, labels, and places.":"Εξαίρεση του περιεχομένου που έχει χαρακτηριστεί ως ιδιωτικό από τα αποτελέσματα αναζήτησης, τα κοινόχρηστα άλμπουμ, τις ετικέτες και τις τοποθεσίες.","Exclude hidden":"Εξαίρεση κρυφών","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"Η εξαγωγή μεταδεδομένων με το ExifTool απαιτείται για πλήρη υποστήριξη βίντεο, ζωντανής φωτογραφίας και XMP.","Experimental Features":"Πειραματικά Χαρακτηριστικά","Expires":"Λήξη","Exposure":"Έκθεση","Extract still images and generate thumbnails while indexing.":"Εξαγωγή ακίνητων εικόνων και δημιουργία μικρογραφιών κατά την ευρετηρίαση.","F Number":"Αριθμός F","Face":"Πρόσωπο","Faces":"Πρόσωπα","Failed removing link":"Αποτυχία αφαίρεσης συνδέσμου","Failed to connect account.":"Απέτυχε η σύνδεση λογαριασμού.","Failed updating link":"Αποτυχία ενημέρωσης συνδέσμου","Family Name":"Επίθετο","Fast":"Γρήγορα","Favorite":"Αγαπημένο","Favorites":"Αγαπημένα","Feature Request":"Αίτηση χαρακτηριστικών","Feedback":"Ανατροφοδότηση","Female":"Γυναίκα","File":"Αρχείο","File Browser":"Πρόγραμμα περιήγησης αρχείων","File Conversion":"Μετατροπή αρχείου","File Name":"Όνομα αρχείου","File Size":"Αρχείο","Filename":"Όνομα αρχείου","Files":"Αρχεία","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Αρχεία με διαδοχικά ονόματα όπως 'IMG_1234 (2)' και 'IMG_1234 (3)' ανήκουν στην ίδια εικόνα.","First page":"Πρώτη σελίδα","Focal Length":"Εστιακό μήκος","Folder":"Φάκελος","Folder contains %{n} files":"Ο φάκελος περιέχει %{n} αρχεία","Folder is empty":"Ο φάκελος είναι άδειος","Folders":"Φάκελοι","Forgot password?":"Ξεχάσατε τον κωδικό πρόσβασης;","FPS":"FPS","Frames":"Πλαίσια","Full Access":"Πλήρης πρόσβαση","Fullscreen":"Πλήρης οθόνη","General":"Γενικά","Generate":"Παράγω","Generate albums of special moments, journeys, and places.":"Δημιουργεί αυτόματα άλμπουμ με ιδιαίτερες στιγμές, ταξίδια και τοποθεσίες.","Generate Previews":"Δημιουργία προεπισκοπήσεων","Generated":"Παραγωγή","Get Started":"Ξεκινήστε","Given Name":"Όνομα","Global Options":"Καθολικές Ρυθμίσεις","Go to page {0}":"Πηγαίνετε στη σελίδα {0}","Gold":"Χρυσό","Green":"Πράσινο","Grey":"Γκρι","Guest":"Επισκέπτης","Hash":"Κατακερματισμός","Help":"Βοήθεια","Help & Support":"Βοήθεια & Υποστήριξη","Hidden":"Κρυφό","Hidden Files":"Κρυμμένα αρχεία","Hide":"Απόκρυψη","Hide photos that have been moved to archive.":"Απόκρυψη φωτογραφιών που έχουν αρχειοθετηθεί.","High":"Υψηλή","High Dynamic Range (HDR)":"Υψηλό δυναμικό εύρος (HDR)","How can we help?":"Πώς μπορούμε να βοηθήσουμε;","Hybrid":"Υβριδικό","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Εάν χάσετε την πρόσβαση στην εφαρμογή ή τη συσκευή ελέγχου ταυτότητας, μπορείτε να χρησιμοποιήσετε τον κωδικό ανάκτησης για να ανακτήσετε την πρόσβαση στον λογαριασμό σας.","Image":"Εικόνα","Image Quality":"Ποιότητα εικόνας","Import":"Εισαγωγή","Import failed":"Η εισαγωγή απέτυχε","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Τα εισαγόμενα αρχεία θα ταξινομούνται ανά ημερομηνία και θα λαμβάνουν ένα μοναδικό όνομα για να αποφεύγονται οι διπλές εγγραφές.","Imported files will be sorted by date and given a unique name.":"Τα εισαγόμενα αρχεία θα ταξινομηθούν κατά ημερομηνία και θα τους δοθεί ένα μοναδικό όνομα.","Importing %{s}…":"Εισαγωγή %{s}…","Importing files to originals…":"Εισαγωγή αρχείων σε πρωτότυπα…","in":"στο","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"Σε περίπτωση που λείπουν οι εικόνες που περιμένατε, παρακαλούμε σαρώστε εκ νέου τη βιβλιοθήκη σας και περιμένετε μέχρι να ολοκληρωθεί η δημιουργία ευρετηρίου.","Include RAW image files when downloading stacks and archives.":"Συμπεριλάβετε αρχεία εικόνας RAW κατά τη λήψη στοίβων και αρχείων.","Include sidecar files when downloading stacks and archives.":"Συμπεριλάβετε αρχεία sidecar κατά τη λήψη στοίβων και αρχείων.","Increase storage size or delete files to continue.":"Αυξήστε το μέγεθος αποθήκευσης ή διαγράψτε αρχεία για να συνεχίσετε.","Index":"Ευρετήριο","Index and import files through the user interface.":"Ευρετήριο και εισαγωγή αρχείων μέσω της διεπαφής χρήστη.","Indexing":"Δημιουργία ευρετηρίου","Indexing failed":"Αποτυχία δημιουργίας ευρετηρίου","Indexing media and sidecar files…":"Δημιουργία ευρετηρίου μέσων και αρχείων sidecar…","Information":"Πληροφορίες","Instance ID":"Αναγνωριστικό περίπτωσης","Insufficient storage.":"Ανεπαρκής αποθήκευση.","Interval":"Διάστημα","Invalid":"Μη έγκυρη ημερομηνία","Invalid address":"Μη έγκυρη διεύθυνση","Invalid country":"Μη έγκυρη χώρα","Invalid date":"Μη έγκυρη ημερομηνία","Invalid parameters":"Μη έγκυρη ημερομηνία","Invalid photo selected":"Επιλογή μη έγκυρης φωτογραφίας","Invalid time":"Μη έγκυρη ώρα","Invalid URL":"Μη έγκυρο URL","It is a one-time use code that will disable 2FA for your account when you use it.":"Είναι ένας κωδικός μίας χρήσης που θα απενεργοποιήσει το 2FA για τον λογαριασμό σας όταν τον χρησιμοποιείτε.","Item":"Αντικείμενο","Items per page:":"Στοιχεία ανά σελίδα:","JPEG Quality: %{n}":"Ποιότητα JPEG: %{n}","JPEG Size Limit: %{n}px":"Όριο μεγέθους JPEG: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"Τα JPEG και οι μικρογραφίες αποδίδονται αυτόματα όπως απαιτείται.","Keywords":"Λέξεις κλειδιά","Label":"Ετικέτα","Labels":"Ετικέτες","Labels deleted":"Οι Ετικέτες διαγράφηκαν","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: Διατήρηση λεπτομερειών, ελάχιστα τεχνουργήματα","Language":"Γλώσσα","Last Active":"Τελευταία ενεργή","Last Login":"Τελευταία σύνδεση","Last page":"Τελευταία σελίδα","Last Sync":"Τελευταίος συγχρονισμός","Last Used":"Τελευταία χρήση","Latitude":"Γεωγραφικό πλάτος","LDAP/AD":"LDAP/AD","Learn more":"Μάθετε περισσότερα","Learn More":"Μάθετε περισσότερα","Legal Information":"Νομικές πληροφορίες","Lens":"Φακός","Library":"Βιβλιοθήκη","License":"Άδεια","Like":"Όπως","Lime":"Ασβέστης","Limit reached, showing first %{n} files":"Επίτευξη ορίου, εμφάνιση των πρώτων %{n} αρχείων","Linear: Very Smooth, Best Performance":"Γραμμικό: Πολύ ομοιόμορφο, βέλτιστη επίδοση","Link":"Σύνδεσμος","List":"Λίστα","List View":"Προβολή λίστας","Live":"Ζωντανό","Live Photos":"Φωτογραφίες","Load more":"Φορτώστε περισσότερα","Loading items...":"Στοιχεία φόρτωσης...","Loading...":"Φόρτωση...","Local":"Τοπικό","Local Time":"Τοπική ώρα","Location":"Τοποθεσία","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Τα μηνύματα καταγραφής εμφανίζονται εδώ κάθε φορά που το PhotoPrism συναντά προβληματικά αρχεία ή υπάρχουν άλλα πιθανά προβλήματα.","Login":"Σύνδεση","Logout":"Αποσύνδεση","Logs":"Αρχεία καταγραφής","Longitude":"Γεωγραφικό μήκος","Low":"Χαμηλή","Magenta":"Ματζέντα","Main Color":"Κύριο χρώμα","Male":"Άνδρας","Manage Account":"Διαχείριση λογαριασμού","Manager":"Διευθυντής","Manual":"Χειροκίνητο","Manual Upload":"Χειροκίνητη φόρτωση","Maps":"Χάρτες","Marker":"Δείκτης","Maximum number of accounts has been reached.":"Έχει επιτευχθεί ο μέγιστος αριθμός λογαριασμών.","Media":"Μέσα ενημέρωσης","Medium":"Μεσαίο","Membership":"Μέλη","Merge %{a} with %{b}?":"Συγχώνευση %{a} με %{b}?","Message":"Μήνυμα","Message sent":"Αποστολή μηνύματος","Metadata":"Μεταδεδομένα","Metrics":"Μετρήσεις","Minimize":"Ελαχιστοποίηση","Missing":"Απουασιάζει","Missing or invalid configuration":"Λείπουν ή είναι άκυρη η διαμόρφωση","Moments":"Στιγμές","Monochrome":"Μονοχρωμία","Month":"Μήνας","More options":"Περισσότερες επιλογές","Mosaic":"Ψηφιδωτό","Most Relevant":"Το πιο σχετικό","Move Files":"Μετακίνηση αρχείων","Must have at least %{n} characters.":"Πρέπει να έχει τουλάχιστον %{n} χαρακτήρες.","Mute":"Σίγαση","Name":"Όνομα","Name too long":"Όνομα πολύ μεγάλο","Never":"Ποτέ","New":"Νέο","New Password":"Νέος κωδικός πρόσβασης","Newest First":"Το νεότερο πρώτα","Next":"Επόμενο","Next page":"Επόμενη σελίδα","Next visual":"Επόμενο οπτικό υλικό","No":"Όχι","No albums found":"Δεν βρέθηκαν συλλογές","No data available":"Δεν υπάρχουν διαθέσιμα στοιχεία","No labels found":"Δεν βρέθηκαν ετικέτες","No matching records found":"Δεν βρέθηκαν ταιριαστές εγγραφές","No more":"Όχι άλλο","No people found":"Δεν βρέθηκαν άτομα","No pictures found":"Δεν βρέθηκαν εικόνες","No recently edited pictures":"Δεν υπάρχουν πρόσφατα επεξεργασμένες εικόνες","No results":"Δεν υπάρχουν αποτελέσματα","No server connection":"Δεν υπάρχει σύνδεση διακομιστή","No servers configured.":"Δεν έχουν ρυθμιστεί διακομιστές.","No services configured.":"Δεν έχουν ρυθμιστεί διακομιστές.","No thanks":"Όχι ευχαριστώ","No warnings or error containing this keyword. Note that search is case-sensitive.":"Δεν υπάρχουν προειδοποιήσεις ή σφάλματα που περιέχουν αυτή τη λέξη-κλειδί. Σημειώστε ότι η αναζήτηση είναι ευαίσθητη σε κεφαλαία-πεζά.","Non-photographic and low-quality images require a review before they appear in search results.":"Οι μη φωτογραφικές εικόνες και οι εικόνες χαμηλής ποιότητας απαιτούν επανεξέταση προτού εμφανιστούν στα αποτελέσματα αναζήτησης.","None":"Κανένα","Not allowed":"Δεν επιτρέπεται","Not found":"Δεν βρέθηκε","Not sorted.":"Δεν έχει ταξινομηθεί.","Not supported":"Δεν υποστηρίζεται","Note you may manually manage your originals folder and importing is optional.":"Σημειώστε ότι μπορείτε να διαχειριστείτε χειροκίνητα το φάκελο πρωτοτύπων σας και η εισαγωγή είναι προαιρετική.","Note:":"Σημείωση:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Σημείωση: Μόνο οι διακομιστές WebDAV, όπως το Nextcloud ή το PhotoPrism, μπορούν να ρυθμιστούν ως απομακρυσμένη υπηρεσία για τη δημιουργία αντιγράφων ασφαλείας και τη μεταφόρτωση αρχείων.","Notes":"Σημειώσεις","Nothing to see here yet.":"Δεν υπάρχει τίποτα να δείτε εδώ ακόμα. Κάντε υπομονή.","Nothing was found.":"Δεν βρέθηκε τίποτα.","Offline":"Offline","OIDC":"OIDC","OK":"OK","Oldest First":"Ο παλαιότερος πρώτος","On Windows, enter the following resource in the connection dialog:":"Στα Windows, εισαγάγετε τον ακόλουθο πόρο στο παράθυρο διαλόγου σύνδεσης:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"Η κατά παραγγελία δημιουργία μικρογραφιών μπορεί να προκαλέσει υψηλή χρήση της CPU και της μνήμης. Δεν συνιστάται για διακομιστές με περιορισμένους πόρους και συσκευές NAS.","Once a week":"Μία φορά την εβδομάδα","One album found":"Βρέθηκε μια συλλογή","One file found":"Βρέθηκε ένα αρχείο","One file uploaded":"Ένα αρχείο μεταφορτώθηκε","One folder found":"Βρέθηκε ένας φάκελος","One label found":"Μια ετικέτα βρέθηκε","One person found":"Ένα άτομο βρήκε","One picture found":"Μια εικόνα που βρέθηκε","Only locally managed accounts can be set up for authentication with 2FA.":"Μόνο οι τοπικά διαχειριζόμενοι λογαριασμοί μπορούν να ρυθμιστούν για έλεγχο ταυτότητας με το 2FA.","Open":"Ανοίξτε το","optional":"προαιρετικό","or":"ή","Orange":"Πορτοκαλί","Organization":"Οργανισμός","Orientation":"Προσανατολισμός","Original file names will be stored and indexed.":"Τα αρχικά ονόματα αρχείων θα αποθηκεύονται και θα αρχειοθετούνται.","Original Name":"Αρχικό όνομα","Originals":"Πρωτότυπα","Other":"Άλλα","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Αποστολή μας είναι να παρέχουμε την πιο φιλική προς το χρήστη και την προστασία της ιδιωτικής ζωής λύση για να διατηρείτε τις φωτογραφίες σας οργανωμένες και προσβάσιμες.","Outdoor":"Υπαίθρια","Page {0}, Current page":"Σελίδα {0}, Τρέχουσα σελίδα","Pages":"Σελίδες","Pagination Navigation":"Πλοήγηση σελιδοποίησης","Panorama":"Πανόραμα","Panoramas":"Πανοράματα","Password":"Κωδικός πρόσβασης","Password changed":"Ο κωδικός πρόσβασης άλλαξε","People":"Άνθρωποι","People you share a link with will be able to view public contents.":"Τα άτομα με τα οποία μοιράζεστε έναν σύνδεσμο θα μπορούν να βλέπουν το δημόσιο περιεχόμενο.","Permanently deleted":"Διαγράφηκε μόνιμα","Permanently remove files to free up storage.":"Αφαιρέστε μόνιμα αρχεία για να ελευθερώσετε χώρο αποθήκευσης.","Person":"Πρόσωπο","Personal":"Προσωπικό","Photo":"Φωτογραφία","PhotoPrism is 100% self-funded and independent.":"Η PhotoPrism είναι 100% αυτοχρηματοδοτούμενη και ανεξάρτητη.","PhotoPrism+ Membership":"PhotoPrism+ Μέλος","Photos":"Φωτογραφίες","Picture Title":"Τίτλος εικόνας","Pink":"Ροζ","Place":"Τόπος","Place & Time":"Τόπος και χρόνος","Places":"Μέρη","Please confirm your new password.":"Επιβεβαιώστε τον νέο σας κωδικό πρόσβασης.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Αντιγράψτε τον ακόλουθο τυχαία δημιουργημένο κωδικό πρόσβασης εφαρμογής και διατηρήστε τον σε ασφαλές μέρος, καθώς δεν θα μπορείτε να τον δείτε ξανά:","Please do not upload any private, unlawful or offensive pictures.":"Παρακαλούμε μην ανεβάζετε προσωπικές, παράνομες ή προσβλητικές φωτογραφίες.","Please don't upload photos containing offensive content.":"Παρακαλούμε μην ανεβάζετε φωτογραφίες που περιέχουν προσβλητικό περιεχόμενο.","Please enter OTP character {0}":"Παρακαλώ εισάγετε χαρακτήρα OTP {0}","Please note that changing your password will log you out on other devices and browsers.":"Λάβετε υπόψη ότι η αλλαγή του κωδικού πρόσβασής σας θα σας αποσυνδέσει από άλλες συσκευές και προγράμματα περιήγησης.","Please restart your instance for the changes to take effect.":"Παρακαλούμε επανεκκινήστε την περίπτωσή σας για να τεθούν σε ισχύ οι αλλαγές.","Please wait…":"Παρακαλώ περιμένετε…","PM":"PM","PNG Size Limit: %{n}px":"Όριο μεγέθους PNG: %{n}px","Portrait":"Πορτρέτο","Preserve filenames":"Διατήρηση ονομάτων αρχείων","Press enter to create a new album.":"Πιέστε enter για να δημιουργήσετε ένα νέο άλμπουμ.","Prevent database and album backups as well as YAML sidecar files from being created.":"Αποτρέψτε τη δημιουργία αντιγράφων ασφαλείας της βάσης δεδομένων και των άλμπουμ, καθώς και των αρχείων YAML sidecar.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Αποτρέψτε την πρόσβαση άλλων εφαρμογών στο PhotoPrism ως κοινόχρηστη μονάδα δίσκου δικτύου.","Preview":"Προεπισκόπηση","Preview Images":"Προεπισκόπηση εικόνων","Previous":"Προηγούμενο","Previous page":"Προηγούμενη σελίδα","Previous visual":"Προηγούμενο οπτικό υλικό","Primary":"Βασικό","Private":"Ιδιωτικό","Product Feedback":"Ανατροφοδότηση προϊόντος","Projection":"Προβολή","Purple":"Μωβ","Quality Filter":"Φίλτρο ποιότητας","Quality Score":"Βαθμολογία ποιότητας","r":"r","Random":"Τυχαίο","Rating {0} of {1}":"Βαθμολογία {0} από {1}","Raw":"Raw","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Δημιουργία ευρετηρίου όλων των πρωτοτύπων, συμπεριλαμβανομένων των ήδη καταχωρημένων και αμετάβλητων αρχείων.","Read-Only Mode":"Λειτουργία μόνο για ανάγνωση","Recently Added":"Πρόσφατα προστέθηκε","Recently Archived":"Πρόσφατα αρχειοθετημένο","Recently Edited":"Πρόσφατη επεξεργασία","Recognition starts after indexing has been completed.":"Η αναγνώριση ξεκινά μετά την ολοκλήρωση της δημιουργίας ευρετηρίου.","Recognize faces so people can be assigned and found.":"Αναγνωρίζει πρόσωπα ώστε να μπορούν να βρεθούν συγκεκριμένα άτομα.","Recognized":"Αναγνωρισμένο","Recovery Code":"Κωδικός ανάκτησης","Red":"Κόκκινο","Refresh":"Ανανέωση","Regions":"Περιφέρειες","Register":"Εγγραφή","Reload":"Επαναφόρτωση","Reloading…":"Επαναγέμισμα…","Remote Sync":"Απομακρυσμένος συγχρονισμός","Remove":"Απομάκρυνση","remove failed: unknown album":"remove failed: άγνωστη συλλογή","Remove from Album":"Αφαιρέση από τη συλλογή","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Αφαιρέστε τα εισαγόμενα αρχεία για εξοικονόμηση χώρου αποθήκευσης. Οι μη υποστηριζόμενοι τύποι αρχείων δεν διαγράφονται ποτέ, παραμένουν στην τρέχουσα θέση τους.","Request failed - are you offline?":"Το αίτημα απέτυχε - είστε εκτός σύνδεσης;","Request failed - invalid response":"Το αίτημα απέτυχε - άκυρη απάντηση","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Απαιτείται η εξέταση μη φωτογραφικών και χαμηλής ποιότητας εικόνων πριν από την εμφάνισή τους στα αποτελέσματα αναζήτησης.","Resolution":"Ανάλυση","Restart":"Επανεκκίνηση","Restore":"Επαναφορά","Restored":"Αποκατεστημένο","Retry Limit":"Όριο επανάληψης","Retype Password":"Επαναλάβετε τον κωδικό πρόσβασης","Review":"Ανασκόπηση","Role":"Ρόλος","Rows per page:":"Σειρές ανά σελίδα:","Satellite":"Δορυφόρος","Save":"Αποθήκευση","Scan":"Σάρωση","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Σαρώστε τον κωδικό QR με την εφαρμογή ελέγχου ταυτότητας ή χρησιμοποιήστε το κλειδί ρύθμισης που φαίνεται παρακάτω και, στη συνέχεια, εισαγάγετε τον κωδικό επαλήθευσης που δημιουργήθηκε:","Scans":"Σαρώσεις","Scope":"Πεδίο εφαρμογής","Search":"Αναζήτηση","Search and display photos on a map.":"Αναζήτηση και εμφάνιση φωτογραφιών σε χάρτη.","Season":"Περίοδος","Secret":"Μυστικό","Security and Access":"Ασφάλεια και πρόσβαση","Select":"Επιλέξτε","Select a source folder to import files…":"Επιλέξτε ένα φάκελο προέλευσης για την εισαγωγή αρχείων…","Select date":"Επιλέξτε ημερομηνία","Select dates":"Επιλέξτε ημερομηνίες","Select or create an album":"Επιλέξτε ή δημιουργήστε ένα άλμπουμ","Select the files to upload…":"Επιλέξτε τα αρχεία που θέλετε να φορτώσετε…","Select the folder to be indexed…":"Επιλέξτε το φάκελο προς ευρετηρίαση…","Select Time":"Επιλέξτε ώρα","Selection approved":"Η επιλογή εγκρίθηκε","Selection archived":"Η επιλογή αρχειοθετήθηκε","Selection restored":"Η επιλογή αποκαταστάθηκε","Sequential Name":"Διαδοχικό όνομα","Service URL":"URL υπηρεσίας","Services":"URL υπηρεσίας","Session":"Σύνοδος","Session ID":"Αναγνωριστικό συνεδρίας","Sessions":"Συνεδρίες","Set as Album Cover":"Ορίστε ως εξώφυλλο άλμπουμ","Settings":"Ρυθμίσεις","Settings saved":"Οι ρυθμίσεις αποθηκεύτηκαν","Setup":"Ρύθμιση","Share":"Μοιραστείτε το","Share %{s}":"Μοιραστείτε το %{s}","Share your pictures with other apps and services.":"Μοιραστείτε τις φωτογραφίες σας με άλλες εφαρμογές και υπηρεσίες.","Show":"Εμφάνιση","Show all new faces":"Εμφάνιση όλων των νέων προσώπων","Show Captions":"Εμφάνιση λεζάντων","Show hidden":"Εμφάνιση κρυφών","Show less":"Εμφάνιση λιγότερων","Show more":"Εμφάνιση περισσότερων","Show server logs in Library.":"Εμφάνιση των αρχείων καταγραφής του διακομιστή στη Βιβλιοθήκη.","Show Titles":"Εμφάνιση τίτλων","Sidecar":"Sidecar","Sidecar Files":"Αρχεία Sidecar","Sign in":"Συνδεθείτε","Similar":"Παρόμοια","Size":"Μέγεθος","Slideshow":"Παρουσίαση διαφανειών","Slow":"Αργή","Software":"Λογισμικό","Software Update":"Ενημέρωση λογισμικού","Something went wrong, try again":"Κάτι πήγε στραβά, δοκιμάστε ξανά","Sort by":"Ταξινόμηση κατά","Sort Order":"Σειρά ταξινόμησης","Sorted ascending.":"Ταξινόμηση κατά αύξουσα σειρά.","Sorted descending.":"Ταξινόμηση κατά φθίνουσα πορεία.","Source":"Πηγή","Stack":"Στοίβα","Stack files sharing the same unique image or instance identifier.":"Αρχεία στοίβας που μοιράζονται το ίδιο μοναδικό αναγνωριστικό εικόνας ή περίπτωσης.","Stack pictures taken at the exact same time and location based on their metadata.":"Στοιβάζετε φωτογραφίες που τραβήχτηκαν ακριβώς την ίδια ώρα και στην ίδια τοποθεσία με βάση τα μεταδεδομένα τους.","Stackable":"Στοιβαζόμενο","Stacks":"Στοίβες","Start":"Έναρξη","Start Page":"Σελίδα έναρξης","Static Size Limit: %{n}px":"Όριο στατικού μεγέθους: %{n}px","Status":"Κατάσταση","Storage":"Αποθήκευση","Streets":"Δρόμοι","Subject":"Θέμα","Submit":"Υποβολή","Successfully activated":"Ενεργοποιήθηκε με επιτυχία","Successfully Connected":"Επιτυχής σύνδεση","Successfully deleted":"Διαγράφηκε επιτυχώς","Successfully verified":"Επαληθεύτηκε με επιτυχία","Super Admin":"Super Admin","Support for additional services, like Google Drive, will be added over time.":"Η υποστήριξη για πρόσθετες υπηρεσίες, όπως το Google Drive, θα προστεθεί με την πάροδο του χρόνου.","Support Our Mission":"Υποστηρίξτε την αποστολή μας","Sync":"Συγχρονισμός","Sync raw and video files":"Συγχρονισμός αρχείων raw και βίντεο","Taken":"Λήψη","Teal":"Γαλαζοπράσινο","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"Το TensorFlow απαιτείται για την ταξινόμηση εικόνων, την αναγνώριση προσώπου και την ανίχνευση μη ασφαλούς περιεχομένου.","Terrain":"Έδαφος","Text":"Κείμενο","Text too long":"Πολύ μεγάλο κείμενο","Thank You for Your Support!":"Ευχαριστούμε για την υποστήριξή σας!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Γι' αυτό το λόγο το PhotoPrism δημιουργήθηκε από την αρχή για να λειτουργεί όπου το χρειάζεστε, χωρίς να διακυβεύεται η ελευθερία, η ιδιωτικότητα ή η λειτουργικότητα.","The index currently contains %{n} hidden files.":"Το ευρετήριο περιέχει επί του παρόντος %{n} κρυμμένα αρχεία.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Μπορεί να μην υποστηρίζεται η μορφή τους, να μην έχουν μετατραπεί ακόμη σε JPEG ή να υπάρχουν αντίγραφα.","Theme":"Θέμα","This field is required":"Το πεδίο αυτό είναι υποχρεωτικό","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Αυτό προσαρτά το φάκελο πρωτοτύπων ως μονάδα δίσκου δικτύου και σας επιτρέπει να ανοίγετε, να επεξεργάζεστε και να διαγράφετε αρχεία από τον υπολογιστή ή το smartphone σας σαν να ήταν τοπικά.","Time UTC":"Ώρα UTC","Time Zone":"Ζώνη ώρας","Timeout":"Timeout","Title":{"Account":"Τίτλος","Photo":"Τίτλος","":"Τίτλος"},"Title / Position":"Τίτλος / Θέση","Title too long":"Πολύ μεγάλος τίτλος","to":"στο","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Για να αποφύγετε τον αποκλεισμό του λογαριασμού σας, κάντε λήψη, εκτυπώστε ή αντιγράψτε αυτόν τον κωδικό ανάκτησης τώρα και φυλάξτε τον σε ασφαλές μέρος.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Για να δημιουργήσετε έναν νέο κωδικό πρόσβασης για συγκεκριμένη εφαρμογή, εισαγάγετε το όνομα και το εύρος εξουσιοδότησης της εφαρμογής και επιλέξτε μια ημερομηνία λήξης:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Για να μεταβείτε σε μια νέα εφαρμογή ή συσκευή ελέγχου ταυτότητας, πρώτα απενεργοποιήστε τον έλεγχο ταυτότητας δύο παραγόντων και, στη συνέχεια, ενεργοποιήστε τον ξανά:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Για να αναβαθμίσετε, μπορείτε είτε να εισαγάγετε έναν κωδικό ενεργοποίησης είτε να κάνετε κλικ στο κουμπί \"Εγγραφή\" για να εγγραφείτε στην ιστοσελίδα μας:","Today":"Σήμερα","Toggle View":"Εναλλαγή προβολής","Token":"Token","Too many files selected":"Πολλά επιλεγμένα αρχεία","Too many requests":"Πάρα πολλά αιτήματα","Troubleshooting":"Αντιμετώπιση προβλημάτων","Try again using other filters or keywords.":"Δοκιμάστε ξανά χρησιμοποιώντας άλλα φίλτρα ή λέξεις-κλειδιά.","Two-factor authentication has been enabled for your account.":"Ο έλεγχος ταυτότητας δύο παραγόντων έχει ενεργοποιηθεί για τον λογαριασμό σας.","Type":"Τύπος","Unable to delete":"Αδυναμία διαγραφής","Unauthorized":"Μη εξουσιοδοτημένο","Undo":"Αναίρεση","Unique ID":"Μοναδικό αναγνωριστικό","Unknown":"Άγνωστος","Unregistered":"Μη εγγεγραμμένο","Unsorted":"Μη ταξινομημένο","Unstack":"Αποσυσκευασία","Updated":"Ενημερωμένο","Updating faces":"Ενημέρωση προσώπων","Updating index":"Ενημέρωση ευρετηρίου","Updating moments":"Ενημέρωση στιγμών","Updating picture…":"Ενημέρωση εικόνας…","Updating previews":"Ενημέρωση προεπισκοπήσεων","Updating stacks":"Ενημέρωση στοίβας","Upgrade":"Αναβάθμιση","Upgrade Now":"Αναβάθμιση τώρα","Upload":"Ανέβασμα","Upload complete":"Ανέβασμα ολοκληρωμένο","Upload complete. Indexing…":"Το ανέβασμα ολοκληρώθηκε. Δημιουργία ευρετηρίου…","Upload failed":"Αποτυχία αποστολής","Upload local files":"Ανέβασμα τοπικών αρχείων","Upload Path":"Διαδρομή φόρτωσης","Upload to WebDAV and share links with friends.":"Ανεβάστε σε WebDAV και μοιραστείτε συνδέσμους με φίλους.","Uploading %{n} of %{t}…":"Ανέβασμα %{n} του %{t}…","Uploading photos…":"Ανέβασμα φωτογραφιών…","Uploading…":"Επαναγέμισμα…","Uploads that may contain such images will be rejected automatically.":"Οι μεταφορτώσεις που ενδέχεται να περιέχουν τέτοιες εικόνες θα απορρίπτονται αυτόματα.","Use Presets":"Χρήση Προεπιλογών","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Χρησιμοποιήστε τον ακόλουθο κωδικό ανάκτησης για να αποκτήσετε πρόσβαση στον λογαριασμό σας όταν δεν μπορείτε να δημιουργήσετε έναν έγκυρο κωδικό επαλήθευσης με την εφαρμογή ελέγχου ταυτότητας:","Use your recovery code or contact an administrator for help.":"Χρησιμοποιήστε τον κωδικό ανάκτησης ή επικοινωνήστε με έναν διαχειριστή για βοήθεια.","User":"Χρήστης","User Guide":"Οδηγός χρήσης","User Interface":"Διεπαφή χρήστη","Username":"Όνομα χρήστη","Users":"Χρήστες","Vector":"Διάνυσμα","Vectors":"Φορείς","Verification Code":"Κωδικός επαλήθευσης","Video":"Βίντεο","Video Duration":"Διάρκεια Βίντεο","Videos":"Βίντεο","View":"Προβολή","View search results as a list.":"Προβολή των αποτελεσμάτων της αναζήτησης σε μορφή λίστας.","Viewer":"Θεατής","Visitor":"Επισκέπτης","Visual Similarity":"Ομαδοποίηση με βάση την ομοιότητα","Warning":"Προειδοποίηση","We appreciate your feedback!":"Εκτιμούμε τα σχόλιά σας!","We do our best to respond within five business days or less.":"Κάνουμε ό,τι μπορούμε για να απαντήσουμε εντός πέντε εργάσιμων ημερών ή λιγότερο.","Web Login":"Σύνδεση μέσω Web","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"Οι πελάτες WebDAV μπορούν να συνδεθούν στο PhotoPrism χρησιμοποιώντας την ακόλουθη διεύθυνση URL:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"Οι πελάτες WebDAV, όπως ο Windows Explorer της Microsoft ή το Finder της Apple, μπορούν να συνδεθούν απευθείας στο PhotoPrism.","WebDAV Upload":"Ανέβασμα WebDAV","WebGL support is disabled in your browser":"Η υποστήριξη WebGL είναι απενεργοποιημένη στο πρόγραμμα περιήγησής σας","Website":"Ιστοσελίδα","White":"Λευκό","Work Details":"Λεπτομέρειες","Year":"Έτος","Yellow":"Κίτρινο","Yes":"Ναι","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Μπορείτε να επικοινωνήσετε μαζί μας στο membership@photoprism.app για ερωτήσεις σχετικά με τη συνδρομή σας.","You can only download one album":"Μπορείτε να κατεβάσετε μόνο μια συλλογή","You can only download one label":"Μπορείτε να κατεβάσετε μόνο μία ετικέτα","You can search for a location or move the marker on the map to change the position:":"Μπορείτε να αναζητήσετε μια τοποθεσία ή να μετακινήσετε το δείκτη στο χάρτη για να αλλάξετε τη θέση:","You can upload up to %{n} files for test purposes.":"Μπορείτε να ανεβάσετε έως και %{n} αρχεία για δοκιμαστικούς σκοπούς.","You may only select one item":"Μπορείτε να επιλέξετε μόνο ένα στοιχείο","You may rescan your library to find additional faces.":"Μπορείτε να σαρώσετε εκ νέου τη βιβλιοθήκη σας για να βρείτε επιπλέον πρόσωπα.","Your account has been successfully connected.":"Ο λογαριασμός σας έχει συνδεθεί επιτυχώς.","Your browser does not support WebGL":"Το πρόγραμμα περιήγησής σας δεν υποστηρίζει WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Η συνεχής υποστήριξή σας μας βοηθά να παρέχουμε τακτικές ενημερώσεις και υπηρεσίες όπως οι παγκόσμιοι χάρτες.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Η βιβλιοθήκη σας αναλύεται συνεχώς για να δημιουργούνται αυτόματα συλλογές με ιδιαίτερες στιγμές, ταξίδια και τοπθεσίες.","Zoom in/out":"Μεγέθυνση/ σμίκρυνση"}} \ No newline at end of file diff --git a/frontend/src/locales/json/es.json b/frontend/src/locales/json/es.json index a73bb8254..deb19c2da 100644 --- a/frontend/src/locales/json/es.json +++ b/frontend/src/locales/json/es.json @@ -1 +1 @@ -{"es":{"{0} appended action":"{0} acción añadida","{0} files":"{0} archivos","{0} files ({1} in total)":"{0} archivos ({1} en total)","{0} more":"{0} más","{0} prepended action":"{0} acción añadida","{0} selected":"{0} seleccionado","{0}-{1} of {2}":"{0}-{1} de {2}","%{n} albums found":"%{n} álbumes encontrados","%{n} files uploaded":"%{n} archivos subidos","%{n} folders found":"%{n} carpetas encontradas","%{n} GB of %{q} GB used":"%{n} GB de %{q} GB utilizados","%{n} labels found":"%{n} etiquetas encontradas","%{n} people found":"%{n} personas encontradas","%{n} pictures found":"%{n} fotos encontradas","%{s} is too long":"%{s} es demasiado largo","%{s} is too short":"%{s} es demasiado corto","1 hour":"1 hora","12 hours":"12 horas","2-Factor Authentication":"Autenticación de 2 factores","2FA":"2FA","4 hours":"4 horas","A click will copy it to your clipboard.":"Un clic lo copiará al portapapeles.","A new version of %{s} is available:":"Hay disponible una nueva versión de %{s}:","About":"Acerca de","Access Token":"Ficha de acceso","Account":"Cuenta","Account created":"Cuenta creada","Account deleted":"Cuenta borrada","Account restored":"Cuenta restablecida","Accounts":"Cuentas","Accuracy":"Precisión","Action":"Acción","Actions":"Acciones","Activate":"Activar","Activate to remove sorting.":"Activar para eliminar la clasificación.","Activate to sort ascending.":"Activar para ordenar de forma ascendente.","Activate to sort descending.":"Activar para ordenar descendentemente.","Activation Code":"Código de activación","Add":"Añadir","Add %{s}?":"¿Añadir %{s}?","Add Account":"Añadir cuenta","Add Album":"Añadir álbum","Add files to your library via Web Upload.":"Añadir archivos a tu librería con Web Upload.","Add Link":"Añadir enlace","Add person?":"¿Añadir persona?","Add pictures from search results by selecting them.":"Añade imágenes desde los resultados de búsqueda, seleccionándolas.","Add to album":"Añadir al álbum","Added":"Añadido","Admin":"Admin","Advanced":"Avanzado","After 1 day":"Después de 1 día","After 3 days":"Después de 3 días","After 7 days":"Después de 7 días","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Después de introducir tu contraseña para confirmarla, puedes configurar la autenticación de dos factores con una aplicación o dispositivo autenticador compatible:","After one month":"Después de un mes","After one year":"Después de un año","After selecting pictures from search results, you can add them to an album using the context menu.":"Después de seleccionar las imágenes de los resultados de la búsqueda, puedes añadirlas a un álbum mediante el menú contextual.","After two months":"Después de dos meses","After two weeks":"Después de dos semanas","Album":"Álbum","Album Backups":"Copias de seguridad de álbumes","Album created":"Álbum creado","Albums":"Álbumes","Albums deleted":"Álbumes borrados","All":"Todos","All %{n} albums loaded":"Todos los %{n} álbumes cargados","All %{n} labels loaded":"Todas las %{n} etiquetas cargadas","All %{n} people loaded":"Todas las %{n} personas cargadas","All Cameras":"Todas las cámaras","All Categories":"Todas las categorías","All Colors":"Todos los colores","All Countries":"Todos los países","All fields are required":"Todos los campos son obligatorios","All files from import folder":"Todos los archivos de la carpeta de importación","All Lenses":"Todas las lentes","All Months":"Todos los meses","All originals":"Todos los originales","All Years":"Todos los años","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Alternativamente, puedes subir los archivos directamente a servidores WebDAV como Nextcloud.","Altitude":"Altitud","Altitude (m)":"Altitud (m)","AM":"AM","Animated":"Animado","Animation":"Animación","Any private photos and videos remain private and won't be shared.":"Todas las fotos y videos privados siguen privados y no serán compartidos.","API Key":"Clave API","Application":"Aplicación","Apply":"Aplicar","Approve":"Aprobar","Apps and Devices":"Aplicaciones y dispositivos","Archive":"Archivar","Archived":"Archivado","Are you sure you want to archive the selection?":"¿Estás seguro que quieres archivar la selección?","Are you sure you want to delete these albums?":"¿Estás seguro que quieres borrar estos álbumes?","Are you sure you want to delete these labels?":"¿Seguro que desea borrar estas etiquetas?","Are you sure you want to delete this account?":"¿Estás seguro que quieres borrar esta cuenta?","Are you sure you want to permanently delete these pictures?":"¿Estás seguro de que quieres borrar permanentemente estas fotos?","Are you sure you want to permanently delete this file?":"¿Seguro que desea eliminar este fichero permanentemente?","Are you sure?":"¿Estás seguro?","Artist":"Artista","Aspect Ratio":"Relación de aspecto","Audio":"Audio","Authentication":"Autenticación","Auto":"Auto","Back":"Volver","Back to top":"Volver arriba","Backup":"Copia de seguridad","Badge":"Placa","Base Path":"Ruta base","Become a member today, support our mission and enjoy our member benefits!":"Hágase socio hoy mismo, apoye nuestra misión y disfrute de nuestras ventajas.","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Al ser 100% autofinanciados e independientes, podemos prometerte que nunca venderemos tus datos y que siempre seremos transparentes sobre nuestro software y servicios.","Bio":"Biografía","Birth Date":"Fecha de nacimiento","Black":"Negro","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Modificación de Lanczos, menos artefactos de timbre","Blue":"Azul","Brown":"Marrón","Browse":"Visite","Browse and edit image classification labels.":"Navegar y editar las etiquetas de clasificación de las imágenes.","Browse and share your pictures organized into monthly albums.":"Navega y comparte tus fotos organizadas en álbumes mensuales.","Browse Files":"Examinar archivos","Browse indexed files and folders in Library.":"Navegar por los archivos y carpetas indexados en la Biblioteca.","Bug Report":"Informe de errores","Busy, please wait…":"Ocupado, por favor espera…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Al utilizar el software y los servicios que ofrecemos, usted acepta nuestras condiciones de servicio, política de privacidad y código de conducta.","Calendar":"Calendario","Camera":"Cámara","Camera Serial":"Serial de cámara","Can't access your authenticator app or device?":"¿No puedes acceder a tu aplicación o dispositivo autenticador?","Can't load more, limit reached":"No se puede cargar más, límite alcanzado","Can't select more items":"No puedes seleccionar más elementos","Cancel":"Cancelar","Caption":"Leyenda","Cards":"Tarjetas","Carousel slide {0} of {1}":"Carrusel diapositiva {0} de {1}","Category":"Categoría","Change Avatar":"Cambiar la imagen de perfil","Change Password":"Cambiar la contraseña","Change personal profile and security settings.":"Cambiar el perfil personal y la configuración de seguridad.","Change photo titles, locations, and other metadata.":"Cambiar títulos, localizaciones y otros metadatos de las fotos.","Change private flag":"Cambiar indicador de privado","Changes could not be saved":"No se pudieron guardar los cambios","Changes successfully saved":"Cambios guardados con éxito","Changes to the advanced settings require a restart to take effect.":"Los cambios en la configuración avanzada requieren un reinicio para que surtan efecto.","Checked":"Revisado","Chroma":"Croma","Cleaning index and cache":"Limpieza de índice y caché","Cleanup":"Limpieza","Clear {0}":"Borrar {0}","Client":"Cliente","Client Credentials":"Credenciales del cliente","Close":"Cerrar","Codec":"Códec","Color":"Color","Color Profile":"Perfil de color","Colors":"Colores","Compare Editions":"Comparar ediciones","Complete Rescan":"Reescaneo completo","Confidence":"Confianza","Confirm":"Confirma","Connect":"Conectar","Connect via WebDAV":"Conectar através de WebDAV","Connected":"Conectado","Contact Details":"Datos de contacto","Contact Us":"Contáctenos","Contains %{n} pictures.":"Contiene %{n} imágenes.","Contains one picture.":"Contiene una imagen.","Content":"Contenido","Continue":"Continúa en","Continue with %{provider}":"Continúa con %{proveedor}","Contributor":"Colaborador","Converting":"Conversión","Copied to clipboard":"Copiado al portapapeles","Copy":"Copiar","Copyright":"Copyright","Couldn't find anything.":"No se ha encontrado nada.","Country":"País","Create Account":"Crear Cuenta","Create album":"Crear álbum","Create regular backups based on the configured schedule.":"Crea copias de seguridad de los índices según la programación configurada.","Create YAML files to back up album metadata.":"Crea archivos YAML para hacer copias de seguridad de los metadatos de los álbumes.","Create YAML sidecar files to back up picture metadata.":"Crea archivos sidecar YAML para hacer copias de seguridad de los metadatos de las imágenes.","Created":"Creado","Creating thumbnails for":"Creando miniaturas para","Cubic: Moderate Quality, Good Performance":"Cúbico: Calidad moderada, buen rendimiento","Current Password":"Contraseña actual","Custom":"Personalizado","Cyan":"Cían","Daily":"Diariamente","Database Backups":"Copias de seguridad de la base de datos","Day":"Día","Deactivate":"Desactiva","Debug Logs":"Registros de depuración","Default":"Por defecto","Default Folder":"Carpeta por Defecto","Delete":"Borrar","Delete All":"Borrar todo","Delete all?":"¿Borrar todo?","Delete orphaned index entries, sidecar files and thumbnails.":"Eliminar entradas de índice, archivos sidecar y miniaturas huérfanos.","Description":"Descripción","Detailed instructions can be found in our User Guide.":"Las instrucciones detalladas se encuentran en nuestra Guía de Usuario.","Details":"Detalles","Dimensions":"Dimensiones","Disable Backups":"Última copia de seguridad","Disable Darktable":"Desactivar Darktable","Disable ExifTool":"Desactivar ExifTool","Disable features that require write permission for the originals folder.":"Desactiva las funciones que requieran permiso de escritura para la carpeta de originales.","Disable FFmpeg":"Desactivar FFmpeg","Disable ImageMagick":"Desactivar ImageMagick","Disable interactive world maps and reverse geocoding.":"Desactiva los mapamundis interactivos y la geocodificación inversa.","Disable Places":"Desactivar Lugares","Disable RawTherapee":"Desactivar RawTherapee","Disable TensorFlow":"Desactivar TensorFlow","Disable Vectors":"Desactivar vectores","Disable WebDAV":"Desactivar WebDAV","Disables vector graphics support.":"Desactiva el soporte de gráficos vectoriales.","Disables video transcoding and thumbnail extraction.":"Desactiva la transcodificación de vídeo y la extracción de miniaturas.","Discover":"Descubrir","Dismiss":"Desestimar","Display Name":"Nombre para mostrar","Display picture captions in search results.":"Mostrar pies de foto en los resultados de búsqueda.","Display picture titles in search results.":"Mostrar los títulos de las imágenes en los resultados de búsqueda.","Document":"Documento","Documents":"Documentos","Don't use Darktable to convert RAW images.":"No utilices Darktable para convertir imágenes RAW.","Don't use ImageMagick to convert images.":"No utilice ImageMagick para convertir imágenes.","Don't use RawTherapee to convert RAW images.":"No utilices RawTherapee para convertir imágenes RAW.","Done":"Hecho","Done.":"Hecho.","Download":"Descargar","Download only original media files, without any automatically generated files.":"Descargue sólo archivos multimedia originales, sin archivos generados automáticamente.","Download remote files":"Descargar archivos remotos","Download single files and zip archives.":"Descargar archivos individuales y zip.","Downloading…":"Descargando…","Downscaling Filter":"Filtro de calidad","Drag and drop files here":"Arrastra y suelta los archivos aquí","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"Debido al gran volumen de correos electrónicos que recibimos, es posible que nuestro equipo no pueda responderle inmediatamente.","Duplicates will be skipped and only appear once.":"Los duplicados se saltarán y sólo aparecerán una vez.","Duration":"Duración","Dynamic Previews":"Previsualizaciones dinámicas","Dynamic Size Limit: %{n}px":"Límite de tamaño dinámico: %{n}px","E-Mail":"E-Mail","Edit":"Editar","Edit %{s}":"Editar %{s}","Edit Account":"Editar Cuenta","Edit Photo":"Editar Foto","Edited":"Editado","Email":"Correo electrónico","Enable debug mode to display additional logs and help with troubleshooting.":"Activa el modo de depuración para mostrar registros adicionales y ayudar en la resolución de problemas.","Enable new features that may be incomplete or unstable.":"Habilitar nuevas funciones que pueden estar incompletas o ser inestables.","Enables RAW converter presets. May reduce performance.":"Activa los preajustes del convertidor RAW. Puede reducir el rendimiento.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Activar la autenticación de dos factores significa que necesitarás un código de verificación generado aleatoriamente para iniciar sesión, de modo que aunque alguien acceda a tu contraseña, no podrá acceder a tu cuenta.","Enter date":"Introduce la fecha","Enter dates":"Introduce las fechas","Enter the code generated by your authenticator app:":"Introduce el código generado por tu aplicación de autenticación:","Enter verification code":"Ingrese el código de verificación","Enter your password to confirm the action and continue:":"Introduce tu contraseña para confirmar la acción y continuar:","Error":"Error","Errors":"Errores","Estimate":"Estimación","Estimate Locations":"Localizaciones estimadas","Estimate the approximate location of pictures without GPS coordinates.":"Estima la ubicación aproximada de las fotos sin coordenadas GPS.","Every two days":"Cada dos días","Exclude content marked as private from search results, shared albums, labels, and places.":"Excluir el contenido marcado como privado de los resultados de búsqueda, álbumes compartidos, etiquetas y lugares.","Exclude hidden":"Excluir lo oculto","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"La extracción de metadatos con ExifTool es necesaria para la compatibilidad total con Vídeo, Live Photo y XMP.","Experimental Features":"Características experimentales","Expires":"Expira","Exposure":"Exposición","Extract still images and generate thumbnails while indexing.":"Extrae imágenes fijas y genera miniaturas mientras indexas.","F Number":"Número F","Face":"Cara","Faces":"Caras","Failed removing link":"Falló al eliminar el enlace","Failed to connect account.":"No se ha podido conectar la cuenta.","Failed updating link":"Falló la actualización el enlace","Family Name":"Apellidos","Fast":"Rápido","Favorite":"Favorito","Favorites":"Favoritos","Feature Request":"Solicitud de características","Feedback":"Comentarios","Female":"Mujer","File":"Archivo","File Browser":"Explorador de Archivos","File Conversion":"Conversión de archivos","File Name":"Nombre del archivo","File Size":"Tamaño del archivo","Filename":"Nombre del archivo","Files":"Archivos","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Los archivos con nombres secuenciales como \"IMG_1234 (2)\" o \"IMG_1234 copia 2\" pertenecen a la misma foto.","First page":"Primera página","Focal Length":"Distancia focal","Folder":"Carpeta","Folder contains %{n} files":"La carpeta contiene %{n} archivos","Folder is empty":"Carpeta vacía","Folders":"Carpetas","Forgot password?":"¿Olvidaste tu contraseña?","FPS":"FPS","Frames":"Marcos","Full Access":"Acceso total","Fullscreen":"Pantalla completa","General":"General","Generate":"Genera","Generate albums of special moments, journeys, and places.":"Crea automáticamente álbumes de momentos, viajes y lugares especiales.","Generate Previews":"Generar previsualizaciones","Generated":"Generado","Get Started":"Empieza","Given Name":"Nombre","Global Options":"Opciones globales","Go to page {0}":"Ir a la página {0}","Gold":"Oro","Green":"Verde","Grey":"Gris","Guest":"Invitado","Hash":"Hashe","Help":"Ayuda","Help & Support":"Ayuda y Soporte","Hidden":"Oculto","Hidden Files":"Archivos Ocultos","Hide":"Ocultar","Hide photos that have been moved to archive.":"Ocultar las fotos que han sido archivadas.","High":"Alto","High Dynamic Range (HDR)":"Alto rango dinámico (HDR)","How can we help?":"¿Cómo podemos ayudarte?","Hybrid":"Híbrido","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Si pierdes el acceso a tu aplicación o dispositivo autenticador, puedes utilizar tu código de recuperación para recuperar el acceso a tu cuenta.","Image":"Imagen","Image Quality":"Calidad de imagen","Import":"Importar","Import failed":"Importación ha fallado","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Los archivos importados serán clasificados por fecha y se les dará un nombre único para evitar duplicados.","Imported files will be sorted by date and given a unique name.":"Los archivos importados serán clasificados por fecha y se les dará un nombre único.","Importing %{s}…":"Importando %{s}…","Importing files to originals…":"Importando archivos a originales…","in":"en","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"En caso de que falten imágenes que usted espera, vuelva a escanear su biblioteca y espere a que se complete la indexación.","Include RAW image files when downloading stacks and archives.":"Incluir archivos de imagen RAW al descargar pilas y archivos.","Include sidecar files when downloading stacks and archives.":"Incluir archivos sidecar al descargar pilas y archivos.","Increase storage size or delete files to continue.":"Aumenta el tamaño de almacenamiento o elimina archivos para continuar.","Index":"Indexar","Index and import files through the user interface.":"Indexar e importar archivos a través de la interfaz de usuario.","Indexing":"Indexando","Indexing failed":"Indexación ha fallado","Indexing media and sidecar files…":"Indexando los archivos multimedia y sidecar…","Information":"Información","Instance ID":"ID de instancia","Insufficient storage.":"Almacenamiento insuficiente.","Interval":"Intervalo","Invalid":"Inválido","Invalid address":"Dirección no válida","Invalid country":"País no válido","Invalid date":"Fecha inválida","Invalid parameters":"Parámetros no válidos","Invalid photo selected":"Foto seleccionada no válida","Invalid time":"Hora no válida","Invalid URL":"URL no válida","It is a one-time use code that will disable 2FA for your account when you use it.":"Es un código de un solo uso que desactivará la 2FA para tu cuenta cuando lo utilices.","Item":"Elemento","Items per page:":"Elementos por página:","JPEG Quality: %{n}":"Calidad JPEG: %{n}","JPEG Size Limit: %{n}px":"Límite de tamaño del JPEG: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"Los JPEG y las miniaturas se renderizan automáticamente según sea necesario.","Keywords":"Palabras clave","Label":"Etiqueta","Labels":"Etiquetas","Labels deleted":"Etiquetas borradas","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: Preservación de detalles, artefactos mínimos","Language":"Idioma","Last Active":"Último activo","Last Login":"Última conexión","Last page":"Última página","Last Sync":"Última sincronización","Last Used":"Último usado","Latitude":"Latitud","LDAP/AD":"LDAP/AD","Learn more":"Más información","Learn More":"Saber más","Legal Information":"Información legal","Lens":"Lente","Library":"Librería","License":"Licencia","Like":"Me gusta","Lime":"Lima","Limit reached, showing first %{n} files":"Límite alcanzado, mostrando los primeros %{n} archivos","Linear: Very Smooth, Best Performance":"Lineal: Muy suave, el mejor rendimiento","Link":"Enlace","List":"Lista","List View":"Ver lista","Live":"En vivo","Live Photos":"Fotos en vivo","Load more":"Cargar más","Loading items...":"Cargando artículos...","Loading...":"Cargando...","Local":"Local","Local Time":"Hora local","Location":"Ubicación","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Los mensajes de registro aparecen aquí cada vez que PhotoPrism se encuentra con archivos rotos, o hay otros problemas potenciales.","Login":"Iniciar sesión","Logout":"Cerrar sesión","Logs":"Registro","Longitude":"Longitud","Low":"Bajo","Magenta":"Magenta","Main Color":"Color principal","Male":"Hombre","Manage Account":"Gestionar cuenta","Manual":"Manual","Manual Upload":"Subida manual","Maps":"Mapas","Marker":"Marcador","Maximum number of accounts has been reached.":"Se ha alcanzado el número máximo de cuentas.","Media":"Medios de comunicación","Medium":"Mediano","Membership":"Membresía","Merge %{a} with %{b}?":"¿Fusionar %{a} con %{b}?","Message":"Mensaje","Message sent":"Mensaje enviado","Metadata":"Metadatos","Metrics":"Métricas","Minimize":"Minimizar","Missing":"Desaparecido","Missing or invalid configuration":"Falta configuración o no es válida","Moments":"Momentos","Monochrome":"Monocromo","Month":"Mes","More options":"Más opciones","Mosaic":"Mosaico","Most Relevant":"Lo más relevante","Move Files":"Mover archivos","Must have at least %{n} characters.":"Debe tener al menos %{n} caracteres.","Mute":"Silenciar","Name":"Nombre","Name too long":"Nombre demasiado largo","Never":"Nunca","New":"Nuevo","New Password":"Nueva contraseña","Newest First":"Lo más nuevo primero","Next":"Siguiente","Next page":"Página siguiente","Next visual":"Siguiente visual","No":"No","No albums found":"No se encontraron álbumes","No data available":"No hay datos disponibles","No labels found":"No se encontraron etiquetas","No matching records found":"No se han encontrado registros coincidentes","No more":"No más","No people found":"No hay personas","No pictures found":"No se han encontrado imágenes","No recently edited pictures":"No hay imágenes editadas recientemente","No server connection":"No hay conexión con el servidor","No servers configured.":"Sin servidores configurados.","No services configured.":"No hay servicios configurados.","No thanks":"No gracias","No warnings or error containing this keyword. Note that search is case-sensitive.":"No hay advertencias ni errores que contengan esta palabra clave. Tenga en cuenta que la búsqueda distingue entre mayúsculas y minúsculas.","Non-photographic and low-quality images require a review before they appear in search results.":"Las imágenes no fotográficas y de baja calidad requieren una revisión antes que aparezcan en los resultados de la búsqueda.","None":"Ninguno","Not allowed":"No autorizado","Not found":"No encontrado","Not sorted.":"No clasificado.","Not supported":"No se admite","Note you may manually manage your originals folder and importing is optional.":"Tenga en cuenta que puede gestionar manualmente su carpeta de originales y que la importación es opcional.","Note:":"Nota:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Nota: Sólo los servidores WebDAV, como Nextcloud o PhotoPrism, pueden ser configurados como servicio remoto para hacer copias de seguridad y subir archivos.","Notes":"Notas","Nothing to see here yet.":"Todavía no hay nada que ver aquí.","Nothing was found.":"No se encontró nada.","Offline":"Desconectado","OIDC":"OIDC","OK":"OK","Oldest First":"El más antiguo primero","On Windows, enter the following resource in the connection dialog:":"En Windows, introduzca el siguiente recurso en el diálogo de conexión:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"La generación bajo demanda de miniaturas puede provocar un uso elevado de CPU y memoria. No se recomienda para servidores y dispositivos NAS con recursos limitados.","Once a week":"Una vez a la semana","One album found":"Un álbum encontrado","One file found":"Un archivo encontrado","One file uploaded":"Un archivo cargado","One folder found":"Una carpeta encontrada","One label found":"Una etiqueta encontrada","One person found":"Una persona encontrada","One picture found":"Una foto encontrada","Only locally managed accounts can be set up for authentication with 2FA.":"Sólo las cuentas gestionadas localmente pueden configurarse para la autenticación con 2FA.","Open":"Abrir","optional":"opcional","or":"o","Orange":"Naranja","Organization":"Organización","Orientation":"Orientación","Original file names will be stored and indexed.":"Los nombres originales de los archivos serán almacenados e indexados.","Original Name":"Nombre original","Originals":"Originales","Other":"Otro","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Nuestra misión es ofrecer la solución más fácil de usar y de proteger la privacidad para mantener tus fotos organizadas y accesibles.","Outdoor":"Al aire libre","Page {0}, Current page":"Página {0}, Página actual","Pages":"Páginas","Pagination Navigation":"Paginación Navegación","Panorama":"Panorámica","Panoramas":"Panorámicas","Password":"Contraseña","Password changed":"Contraseña cambiada","People":"Gente","People you share a link with will be able to view public contents.":"La gente con la que compartas un enlace podrá ver los contenidos públicos.","Permanently deleted":"Eliminado permanentemente","Permanently remove files to free up storage.":"Elimina permanentemente los archivos para liberar almacenamiento.","Person":"Persona","Personal":"Personal","Photo":"Foto","PhotoPrism is 100% self-funded and independent.":"PhotoPrism es 100% autofinanciado e independiente.","PhotoPrism+ Membership":"Membresía PhotoPrism+","Photos":"Fotos","Picture Title":"Título de la imagen","Pink":"Rosa","Place":"Lugar","Place & Time":"Lugar y tiempo","Places":"Lugares","Please confirm your new password.":"Por favor, confirma tu nueva contraseña.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Copia la siguiente contraseña de la aplicación generada aleatoriamente y guárdala en un lugar seguro, ya que no podrás volver a verla:","Please do not upload any private, unlawful or offensive pictures.":"Por favor, no subas fotos privadas, ilegales u ofensivas.","Please don't upload photos containing offensive content.":"Por favor, no subas fotos con contenido ofensivo.","Please enter OTP character {0}":"Por favor, introduce el carácter OTP {0}","Please note that changing your password will log you out on other devices and browsers.":"Tenga en cuenta que al cambiar su contraseña se cerrará la sesión en otros dispositivos y navegadores.","Please restart your instance for the changes to take effect.":"Reinicie su instancia para que los cambios surtan efecto.","Please wait…":"Por favor, espere…","PM":"PM","PNG Size Limit: %{n}px":"Límite de tamaño del PNG: %{n}px","Portrait":"Retrato","Preserve filenames":"Preservar nombres de archivo","Press enter to create a new album.":"Presiona enter para crear un nuevo álbum.","Prevent database and album backups as well as YAML sidecar files from being created.":"Evita que se creen copias de seguridad de la base de datos y de los álbumes, así como archivos sidecar YAML.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Evita que otras aplicaciones accedan a PhotoPrism como unidad de red compartida.","Preview":"Vista previa","Preview Images":"Vista previa de imágenes","Previous":"Anterior","Previous page":"Página anterior","Previous visual":"Visual anterior","Primary":"Primario","Private":"Privado","Product Feedback":"Comentarios sobre el producto","Projection":"Proyección","Purple":"Púrpura","Quality Filter":"Filtro de calidad","Quality Score":"Puntuación de calidad","r":"r","Random":"Aleatorio","Rating {0} of {1}":"Clasificación {0} de {1}","Raw":"Raw","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Re-indexar todos los originales, incluyendo los archivos ya indexados y no modificados.","Read-Only Mode":"Modo de sólo lectura","Recently Added":"Añadido recientemente","Recently Archived":"Recientemente archivado","Recently Edited":"Editado recientemente","Recognition starts after indexing has been completed.":"El reconocimiento se inicia una vez finalizada la indexación.","Recognize faces so people can be assigned and found.":"Reconoce las caras para poder encontrar a personas concretas.","Recognized":"Reconocida","Recovery Code":"Código de recuperación","Red":"Rojo","Refresh":"Actualiza","Regions":"Regiones","Register":"Regístrese en","Reload":"Recargar","Reloading…":"Recargando…","Remote Sync":"Sincronización remota","Remove":"Eliminar","remove failed: unknown album":"eliminación ha fallado: álbum desconocido","Remove from Album":"Eliminar del álbum","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Eliminar los archivos importados para ahorrar espacio. Los tipos de archivos no admitidos nunca se eliminarán y permanecen en su ubicación actual.","Request failed - are you offline?":"Solicitud fallida - ¿estás desconectado?","Request failed - invalid response":"La solicitud ha fallado - respuesta inválida","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Exige que las imágenes no fotográficas y de baja calidad sean revisadas antes de que aparezcan en los resultados de búsqueda.","Resolution":"Resolución","Restart":"Reinicie","Restore":"Restaurar","Restored":"Restaurado","Retry Limit":"Límite de reintentos","Retype Password":"Reescriba la contraseña","Review":"Revisar","Role":"Papel","Rows per page:":"Filas por página:","Satellite":"Satélite","Save":"Guardar","Scan":"Escanear","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Escanea el código QR con tu aplicación de autenticación o utiliza la clave de configuración que se muestra a continuación e introduce el código de verificación generado:","Scans":"Escaneos","Scope":"Alcance","Search":"Buscar","Search and display photos on a map.":"Buscar y mostrar fotos en un mapa.","Season":"Temporada","Secret":"Secreto","Security and Access":"Seguridad y acceso","Select":"Seleccionar","Select a source folder to import files…":"Selecciona una carpeta de origen para importar archivos…","Select date":"Selecciona la fecha","Select dates":"Selecciona las fechas","Select or create an album":"Selecciona o crea un álbum","Select the files to upload…":"Selecciona los archivos que quieres subir…","Select the folder to be indexed…":"Selecciona la carpeta a indexar…","Select Time":"Selecciona Hora","Selection approved":"Selección aprobada","Selection archived":"Selección archivada","Selection restored":"Selección restaurada","Sequential Name":"Nombre secuencial","Service URL":"URL del servicio","Services":"Servicios","Session":"Sesión","Session ID":"ID de sesión","Sessions":"Sesiones","Set as Album Cover":"Poner como Portada del Álbum","Settings":"Ajustes","Settings saved":"Ajustes guardados","Setup":"Configurar","Share":"Compartir","Share %{s}":"Compartir %{s}","Share your pictures with other apps and services.":"Comparte tus fotos con otras aplicaciones y servicios.","Show":"Mostrar","Show all new faces":"Mostrar todas las caras nuevas","Show Captions":"Mostrar subtítulos","Show hidden":"Mostrar oculto","Show less":"Ver menos","Show more":"Ver más","Show server logs in Library.":"Mostrar los registros del servidor en la biblioteca.","Show Titles":"Mostrar títulos","Sidecar":"Adicional","Sidecar Files":"Archivos Sidecar","Sign in":"Iniciar sesión","Similar":"Similares","Size":"Tamaño","Slideshow":"Presentación de diapositivas","Slow":"Lento","Software":"Software","Software Update":"Actualización del software","Something went wrong, try again":"Algo ha ido mal, inténtalo de nuevo","Sort by":"Ordenar por","Sort Order":"Orden de Clasificación","Sorted ascending.":"Ordenados de forma ascendente.","Sorted descending.":"Ordenados descendentemente.","Source":"Fuente","Stack":"Apilar","Stack files sharing the same unique image or instance identifier.":"Apilar los archivos que comparten la misma imagen única o identificador de instancia.","Stack pictures taken at the exact same time and location based on their metadata.":"Apilar las imágenes tomadas en el mismo momento y lugar exactos basados en sus metadatos.","Stackable":"Apilable","Stacks":"Secuencias","Start":"Empezar","Start Page":"Página de inicio","Static Size Limit: %{n}px":"Límite de tamaño de miniaturas estáticas: %{n}px","Status":"Estado","Storage":"Almacenes","Streets":"Calles","Subject":"Sujeto","Submit":"Envía","Successfully activated":"Activado exitosamente","Successfully Connected":"Conectado con éxito","Successfully deleted":"Eliminado con éxito","Successfully verified":"Verificado con éxito","Super Admin":"Super Admin","Support for additional services, like Google Drive, will be added over time.":"El soporte para servicios adicionales, como Google Drive, se añadirá a futuro.","Support Our Mission":"Apoye nuestra misión","Sync":"Sincronizar","Sync raw and video files":"Sincronizar imágenes raw y videos","Taken":"Tomada","Teal":"Verde Azulado","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow es necesario para la clasificación de imágenes, el reconocimiento facial y la detección de contenido inseguro.","Terrain":"Terreno","Text":"Texto","Text too long":"Texto demasiado largo","Thank You for Your Support!":"¡Gracias por su apoyo!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Por eso PhotoPrism se ha creado desde cero para que funcione donde lo necesites, sin comprometer la libertad, la privacidad ni la funcionalidad.","The index currently contains %{n} hidden files.":"El índice contiene actualmente %{n} archivos ocultos.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Su formato puede no ser compatible, aún no se han convertido a JPEG o hay duplicados.","Theme":"Tema","This field is required":"Este campo es obligatorio","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Esto monta la carpeta de originales como una unidad de red y le permite abrir, editar y eliminar archivos de su ordenador o smartphone como si fueran locales.","Time UTC":"Hora UTC","Time Zone":"Zona horaria","Timeout":"Tiempo de espera","Title":{"Account":"Título","Photo":"Título","":"Título"},"Title / Position":"Título / Cargo","Title too long":"Título demasiado largo","to":"para","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Para evitar que te bloqueen la cuenta, descarga, imprime o copia ahora este código de recuperación y guárdalo en un lugar seguro.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Para generar una nueva contraseña específica de la aplicación, introduce el nombre y el ámbito de autorización de la aplicación y selecciona una fecha de caducidad:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Para cambiar a una nueva aplicación o dispositivo de autenticación, primero desactiva la autenticación de dos factores y luego reactívala:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Para actualizar, puede introducir un código de activación o hacer clic en \"Registrarse\" para darse de alta en nuestro sitio web:","Today":"Hoy","Toggle View":"Cambiar Vista","Token":"Simbólico","Too many files selected":"Demasiados archivos seleccionados","Too many requests":"Demasiadas peticiones","Troubleshooting":"Solución de problemas","Try again using other filters or keywords.":"Inténtalo de nuevo usando otros filtros o palabras.","Two-factor authentication has been enabled for your account.":"Se ha activado la autenticación de dos factores para tu cuenta.","Type":"Tipo","Unauthorized":"Sin autorización","Undo":"Deshacer","Unique ID":"ID Única","Unknown":"Desconocido","Unregistered":"No registrado","Unsorted":"Sin clasificar","Unstack":"Desagrupar","Updated":"Actualizado","Updating faces":"Actualizando caras","Updating index":"Actualizando índice","Updating moments":"Actualizando Momentos","Updating picture…":"Actualizando la imagen…","Updating previews":"Actualizando vistas previas","Updating stacks":"Actualizando pilas","Upgrade":"Subir de Categoría","Upgrade Now":"Mejore su plan ahora","Upload":"Subir","Upload complete":"Subida completa","Upload complete. Indexing…":"Subida completa. Indexando…","Upload failed":"Carga fallida","Upload local files":"Subir archivos locales","Upload Path":"Cargar ruta","Upload to WebDAV and share links with friends.":"Subir a WebDAV y compartir los enlaces con amigos.","Uploading %{n} of %{t}…":"Cargando %{n} de %{t}…","Uploading photos…":"Subiendo fotos…","Uploading…":"Subiendo…","Uploads that may contain such images will be rejected automatically.":"Las subidas que puedan contener tales imágenes serán rechazadas automáticamente.","Use Presets":"Usar preselecciones","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Utiliza el siguiente código de recuperación para acceder a tu cuenta cuando no puedas generar un código de verificación válido con tu aplicación de autenticación:","Use your recovery code or contact an administrator for help.":"Utiliza tu código de recuperación o ponte en contacto con un administrador para que te ayude.","User":"Usuario","User Guide":"Guía del usuario","User Interface":"Interfaz de usuario","Username":"Nombre de usuario","Users":"Usuarios","Vector":"Vector","Vectors":"Vectores","Verification Code":"Código de verificación","Video":"Vídeo","Video Duration":"Duración del vídeo","Videos":"Vídeos","View":"Ver","View search results as a list.":"Ver los resultados de la búsqueda como una lista.","Viewer":"Visor","Visitor":"Visitante","Visual Similarity":"Similitud visual","Warning":"Advertencia","We appreciate your feedback!":"¡Agradecemos sus comentarios!","We do our best to respond within five business days or less.":"Hacemos todo lo posible por responder en un plazo de cinco días hábiles o menos.","Web Login":"Inicio de sesión web","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"Los clientes de WebDAV pueden conectarse a PhotoPrism usando la siguiente URL:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"Los clientes de WebDAV, como Microsoft Windows Explorer o Finder de Apple, pueden conectarse directamente a PhotoPrism.","WebDAV Upload":"Subida WebDAV","WebGL support is disabled in your browser":"El soporte WebGL está desactivado en tu navegador","Website":"Página web","White":"Blanco","Work Details":"Detalles del trabajo","Year":"Año","Yellow":"Amarillo","Yes":"Sí","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Puede ponerse en contacto con nosotros en membership@photoprism.app si tiene preguntas sobre su afiliación.","You can only download one album":"Sólo puedes descargar un álbum","You can only download one label":"Sólo puedes descargar una etiqueta","You can upload up to %{n} files for test purposes.":"Puede cargar hasta %{n} archivos para realizar pruebas.","You may only select one item":"Sólo puedes selecionar un elemento","You may rescan your library to find additional faces.":"Puede volver a escanear su biblioteca para encontrar más caras.","Your account has been successfully connected.":"Su cuenta se ha conectado correctamente.","Your browser does not support WebGL":"Tu navegador no soporta WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Su apoyo continuo nos ayuda a proporcionar actualizaciones periódicas y a seguir siendo independientes, para que podamos cumplir nuestra misión y proteger su privacidad.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Tu biblioteca se analiza continuamente para crear automáticamente álbumes de momentos, viajes y lugares especiales.","Zoom in/out":"Acercar/Alejar"}} \ No newline at end of file +{"es":{"{0} appended action":"{0} acción añadida","{0} files":"{0} archivos","{0} files ({1} in total)":"{0} archivos ({1} en total)","{0} more":"{0} más","{0} prepended action":"{0} acción añadida","{0} selected":"{0} seleccionado","{0}-{1} of {2}":"{0}-{1} de {2}","%{n} albums found":"%{n} álbumes encontrados","%{n} files uploaded":"%{n} archivos subidos","%{n} folders found":"%{n} carpetas encontradas","%{n} GB of %{q} GB used":"%{n} GB de %{q} GB utilizados","%{n} labels found":"%{n} etiquetas encontradas","%{n} people found":"%{n} personas encontradas","%{n} pictures found":"%{n} fotos encontradas","%{s} is too long":"%{s} es demasiado largo","%{s} is too short":"%{s} es demasiado corto","1 hour":"1 hora","12 hours":"12 horas","2-Factor Authentication":"Autenticación de 2 factores","2FA":"2FA","4 hours":"4 horas","A click will copy it to your clipboard.":"Un clic lo copiará al portapapeles.","A new version of %{s} is available:":"Hay disponible una nueva versión de %{s}:","About":"Acerca de","Access Token":"Ficha de acceso","Account":"Cuenta","Account created":"Cuenta creada","Account deleted":"Cuenta borrada","Account restored":"Cuenta restablecida","Accounts":"Cuentas","Accuracy":"Precisión","Action":"Acción","Actions":"Acciones","Activate":"Activar","Activate to remove sorting.":"Activar para eliminar la clasificación.","Activate to sort ascending.":"Activar para ordenar de forma ascendente.","Activate to sort descending.":"Activar para ordenar descendentemente.","Activation Code":"Código de activación","Add":"Añadir","Add %{s}?":"¿Añadir %{s}?","Add Account":"Añadir cuenta","Add Album":"Añadir álbum","Add files to your library via Web Upload.":"Añadir archivos a tu librería con Web Upload.","Add Link":"Añadir enlace","Add person?":"¿Añadir persona?","Add pictures from search results by selecting them.":"Añade imágenes desde los resultados de búsqueda, seleccionándolas.","Add to album":"Añadir al álbum","Added":"Añadido","Adjust Location":"Ajustar la ubicación","Admin":"Admin","Advanced":"Avanzado","After 1 day":"Después de 1 día","After 3 days":"Después de 3 días","After 7 days":"Después de 7 días","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Después de introducir tu contraseña para confirmarla, puedes configurar la autenticación de dos factores con una aplicación o dispositivo autenticador compatible:","After one month":"Después de un mes","After one year":"Después de un año","After selecting pictures from search results, you can add them to an album using the context menu.":"Después de seleccionar las imágenes de los resultados de la búsqueda, puedes añadirlas a un álbum mediante el menú contextual.","After two months":"Después de dos meses","After two weeks":"Después de dos semanas","Album":"Álbum","Album Backups":"Copias de seguridad de álbumes","Album created":"Álbum creado","Album deleted":"Álbum borrado","Albums":"Álbumes","Albums deleted":"Álbumes borrados","All":"Todos","All %{n} albums loaded":"Todos los %{n} álbumes cargados","All %{n} labels loaded":"Todas las %{n} etiquetas cargadas","All %{n} people loaded":"Todas las %{n} personas cargadas","All Cameras":"Todas las cámaras","All Categories":"Todas las categorías","All Colors":"Todos los colores","All Countries":"Todos los países","All fields are required":"Todos los campos son obligatorios","All files from import folder":"Todos los archivos de la carpeta de importación","All Lenses":"Todas las lentes","All Months":"Todos los meses","All originals":"Todos los originales","All Years":"Todos los años","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Alternativamente, puedes subir los archivos directamente a servidores WebDAV como Nextcloud.","Altitude":"Altitud","Altitude (m)":"Altitud (m)","AM":"AM","Animated":"Animado","Animation":"Animación","Animations":"Animaciones","Any private photos and videos remain private and won't be shared.":"Todas las fotos y videos privados siguen privados y no serán compartidos.","API Key":"Clave API","Application":"Aplicación","Apply":"Aplicar","Approve":"Aprobar","Apps and Devices":"Aplicaciones y dispositivos","Archive":"Archivar","Archived":"Archivado","Are you sure you want to archive the selection?":"¿Estás seguro que quieres archivar la selección?","Are you sure you want to delete these albums?":"¿Estás seguro que quieres borrar estos álbumes?","Are you sure you want to delete these labels?":"¿Seguro que desea borrar estas etiquetas?","Are you sure you want to delete this account?":"¿Estás seguro que quieres borrar esta cuenta?","Are you sure you want to delete this album?":"¿Estás seguro de que quieres borrar este álbum?","Are you sure you want to permanently delete these pictures?":"¿Estás seguro de que quieres borrar permanentemente estas fotos?","Are you sure you want to permanently delete this file?":"¿Seguro que desea eliminar este fichero permanentemente?","Are you sure?":"¿Estás seguro?","Artist":"Artista","Aspect Ratio":"Relación de aspecto","Audio":"Audio","Authentication":"Autenticación","Auto":"Auto","Back":"Volver","Back to top":"Volver arriba","Backup":"Copia de seguridad","Badge":"Placa","Base Path":"Ruta base","Become a member today, support our mission and enjoy our member benefits!":"Hágase socio hoy mismo, apoye nuestra misión y disfrute de nuestras ventajas.","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Al ser 100% autofinanciados e independientes, podemos prometerte que nunca venderemos tus datos y que siempre seremos transparentes sobre nuestro software y servicios.","Bio":"Biografía","Birth Date":"Fecha de nacimiento","Black":"Negro","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Modificación de Lanczos, menos artefactos de timbre","Blue":"Azul","Brown":"Marrón","Browse":"Visite","Browse and edit image classification labels.":"Navegar y editar las etiquetas de clasificación de las imágenes.","Browse and share your pictures organized into monthly albums.":"Navega y comparte tus fotos organizadas en álbumes mensuales.","Browse Files":"Examinar archivos","Browse indexed files and folders in Library.":"Navegar por los archivos y carpetas indexados en la Biblioteca.","Bug Report":"Informe de errores","Busy, please wait…":"Ocupado, por favor espera…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Al utilizar el software y los servicios que ofrecemos, usted acepta nuestras condiciones de servicio, política de privacidad y código de conducta.","Calendar":"Calendario","Camera":"Cámara","Camera Serial":"Serial de cámara","Can't access your authenticator app or device?":"¿No puedes acceder a tu aplicación o dispositivo autenticador?","Can't load more, limit reached":"No se puede cargar más, límite alcanzado","Can't select more items":"No puedes seleccionar más elementos","Cancel":"Cancelar","Cannot copy to clipboard":"No se puede copiar al portapapeles","Caption":"Leyenda","Cards":"Tarjetas","Carousel slide {0} of {1}":"Carrusel diapositiva {0} de {1}","Category":"Categoría","Change Avatar":"Cambiar la imagen de perfil","Change Password":"Cambiar la contraseña","Change personal profile and security settings.":"Cambiar el perfil personal y la configuración de seguridad.","Change photo titles, locations, and other metadata.":"Cambiar títulos, localizaciones y otros metadatos de las fotos.","Change private flag":"Cambiar indicador de privado","Changes could not be saved":"No se pudieron guardar los cambios","Changes successfully saved":"Cambios guardados con éxito","Changes to the advanced settings require a restart to take effect.":"Los cambios en la configuración avanzada requieren un reinicio para que surtan efecto.","Checked":"Revisado","Chroma":"Croma","Cleaning index and cache":"Limpieza de índice y caché","Cleanup":"Limpieza","Clear {0}":"Borrar {0}","Client":"Cliente","Client Credentials":"Credenciales del cliente","Close":"Cerrar","Codec":"Códec","Color":"Color","Color Profile":"Perfil de color","Colors":"Colores","Compare Editions":"Comparar ediciones","Complete Rescan":"Reescaneo completo","Confidence":"Confianza","Confirm":"Confirma","Connect":"Conectar","Connect via WebDAV":"Conectar através de WebDAV","Connected":"Conectado","Contact Details":"Datos de contacto","Contact Us":"Contáctenos","Contains %{n} pictures.":"Contiene %{n} imágenes.","Contains one picture.":"Contiene una imagen.","Content":"Contenido","Continue":"Continúa en","Continue with %{provider}":"Continúa con %{proveedor}","Contributor":"Colaborador","Converting":"Conversión","Copied to clipboard":"Copiado al portapapeles","Copy":"Copiar","Copyright":"Copyright","Couldn't find anything.":"No se ha encontrado nada.","Country":"País","Create Account":"Crear Cuenta","Create album":"Crear álbum","Create regular backups based on the configured schedule.":"Crea copias de seguridad de los índices según la programación configurada.","Create YAML files to back up album metadata.":"Crea archivos YAML para hacer copias de seguridad de los metadatos de los álbumes.","Create YAML sidecar files to back up picture metadata.":"Crea archivos sidecar YAML para hacer copias de seguridad de los metadatos de las imágenes.","Created":"Creado","Creating thumbnails for":"Creando miniaturas para","Cubic: Moderate Quality, Good Performance":"Cúbico: Calidad moderada, buen rendimiento","Current Password":"Contraseña actual","Custom":"Personalizado","Cyan":"Cían","Daily":"Diariamente","Database Backups":"Copias de seguridad de la base de datos","Day":"Día","Deactivate":"Desactiva","Debug Logs":"Registros de depuración","Default":"Por defecto","Default Folder":"Carpeta por Defecto","Delete":"Borrar","Delete Album":"Eliminar Álbum","Delete All":"Borrar todo","Delete all?":"¿Borrar todo?","Delete orphaned index entries, sidecar files and thumbnails.":"Eliminar entradas de índice, archivos sidecar y miniaturas huérfanos.","Description":"Descripción","Detailed instructions can be found in our User Guide.":"Las instrucciones detalladas se encuentran en nuestra Guía de Usuario.","Details":"Detalles","Dimensions":"Dimensiones","Disable Backups":"Última copia de seguridad","Disable Darktable":"Desactivar Darktable","Disable ExifTool":"Desactivar ExifTool","Disable features that require write permission for the originals folder.":"Desactiva las funciones que requieran permiso de escritura para la carpeta de originales.","Disable FFmpeg":"Desactivar FFmpeg","Disable ImageMagick":"Desactivar ImageMagick","Disable interactive world maps and reverse geocoding.":"Desactiva los mapamundis interactivos y la geocodificación inversa.","Disable Places":"Desactivar Lugares","Disable RawTherapee":"Desactivar RawTherapee","Disable TensorFlow":"Desactivar TensorFlow","Disable Vectors":"Desactivar vectores","Disable WebDAV":"Desactivar WebDAV","Disables vector graphics support.":"Desactiva el soporte de gráficos vectoriales.","Disables video transcoding and thumbnail extraction.":"Desactiva la transcodificación de vídeo y la extracción de miniaturas.","Discover":"Descubrir","Dismiss":"Desestimar","Display Name":"Nombre para mostrar","Display picture captions in search results.":"Mostrar pies de foto en los resultados de búsqueda.","Display picture titles in search results.":"Mostrar los títulos de las imágenes en los resultados de búsqueda.","Document":"Documento","Documents":"Documentos","Don't use Darktable to convert RAW images.":"No utilices Darktable para convertir imágenes RAW.","Don't use ImageMagick to convert images.":"No utilice ImageMagick para convertir imágenes.","Don't use RawTherapee to convert RAW images.":"No utilices RawTherapee para convertir imágenes RAW.","Done":"Hecho","Done.":"Hecho.","Download":"Descargar","Download only original media files, without any automatically generated files.":"Descargue sólo archivos multimedia originales, sin archivos generados automáticamente.","Download remote files":"Descargar archivos remotos","Download single files and zip archives.":"Descargar archivos individuales y zip.","Downloading…":"Descargando…","Downscaling Filter":"Filtro de calidad","Drag and drop files here":"Arrastra y suelta los archivos aquí","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"Debido al gran volumen de correos electrónicos que recibimos, es posible que nuestro equipo no pueda responderle inmediatamente.","Duplicates will be skipped and only appear once.":"Los duplicados se saltarán y sólo aparecerán una vez.","Duration":"Duración","Dynamic Previews":"Previsualizaciones dinámicas","Dynamic Size Limit: %{n}px":"Límite de tamaño dinámico: %{n}px","E-Mail":"E-Mail","Edit":"Editar","Edit %{s}":"Editar %{s}","Edit Account":"Editar Cuenta","Edit Photo":"Editar Foto","Edited":"Editado","Email":"Correo electrónico","Enable debug mode to display additional logs and help with troubleshooting.":"Activa el modo de depuración para mostrar registros adicionales y ayudar en la resolución de problemas.","Enable new features that may be incomplete or unstable.":"Habilitar nuevas funciones que pueden estar incompletas o ser inestables.","Enables RAW converter presets. May reduce performance.":"Activa los preajustes del convertidor RAW. Puede reducir el rendimiento.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Activar la autenticación de dos factores significa que necesitarás un código de verificación generado aleatoriamente para iniciar sesión, de modo que aunque alguien acceda a tu contraseña, no podrá acceder a tu cuenta.","Enter date":"Introduce la fecha","Enter dates":"Introduce las fechas","Enter the code generated by your authenticator app:":"Introduce el código generado por tu aplicación de autenticación:","Enter verification code":"Ingrese el código de verificación","Enter your password to confirm the action and continue:":"Introduce tu contraseña para confirmar la acción y continuar:","Error":"Error","Errors":"Errores","Estimate":"Estimación","Estimate Locations":"Localizaciones estimadas","Estimate the approximate location of pictures without GPS coordinates.":"Estima la ubicación aproximada de las fotos sin coordenadas GPS.","Every two days":"Cada dos días","Exclude content marked as private from search results, shared albums, labels, and places.":"Excluir el contenido marcado como privado de los resultados de búsqueda, álbumes compartidos, etiquetas y lugares.","Exclude hidden":"Excluir lo oculto","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"La extracción de metadatos con ExifTool es necesaria para la compatibilidad total con Vídeo, Live Photo y XMP.","Experimental Features":"Características experimentales","Expires":"Expira","Exposure":"Exposición","Extract still images and generate thumbnails while indexing.":"Extrae imágenes fijas y genera miniaturas mientras indexas.","F Number":"Número F","Face":"Cara","Faces":"Caras","Failed removing link":"Falló al eliminar el enlace","Failed to connect account.":"No se ha podido conectar la cuenta.","Failed updating link":"Falló la actualización el enlace","Family Name":"Apellidos","Fast":"Rápido","Favorite":"Favorito","Favorites":"Favoritos","Feature Request":"Solicitud de características","Feedback":"Comentarios","Female":"Mujer","File":"Archivo","File Browser":"Explorador de Archivos","File Conversion":"Conversión de archivos","File Name":"Nombre del archivo","File Size":"Tamaño del archivo","Filename":"Nombre del archivo","Files":"Archivos","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Los archivos con nombres secuenciales como \"IMG_1234 (2)\" o \"IMG_1234 copia 2\" pertenecen a la misma foto.","First page":"Primera página","Focal Length":"Distancia focal","Folder":"Carpeta","Folder contains %{n} files":"La carpeta contiene %{n} archivos","Folder is empty":"Carpeta vacía","Folders":"Carpetas","Forgot password?":"¿Olvidaste tu contraseña?","FPS":"FPS","Frames":"Marcos","Full Access":"Acceso total","Fullscreen":"Pantalla completa","General":"General","Generate":"Genera","Generate albums of special moments, journeys, and places.":"Crea automáticamente álbumes de momentos, viajes y lugares especiales.","Generate Previews":"Generar previsualizaciones","Generated":"Generado","Get Started":"Empieza","Given Name":"Nombre","Global Options":"Opciones globales","Go to page {0}":"Ir a la página {0}","Gold":"Oro","Green":"Verde","Grey":"Gris","Guest":"Invitado","Hash":"Hashe","Help":"Ayuda","Help & Support":"Ayuda y Soporte","Hidden":"Oculto","Hidden Files":"Archivos Ocultos","Hide":"Ocultar","Hide photos that have been moved to archive.":"Ocultar las fotos que han sido archivadas.","High":"Alto","High Dynamic Range (HDR)":"Alto rango dinámico (HDR)","How can we help?":"¿Cómo podemos ayudarte?","Hybrid":"Híbrido","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Si pierdes el acceso a tu aplicación o dispositivo autenticador, puedes utilizar tu código de recuperación para recuperar el acceso a tu cuenta.","Image":"Imagen","Image Quality":"Calidad de imagen","Import":"Importar","Import failed":"Importación ha fallado","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Los archivos importados serán clasificados por fecha y se les dará un nombre único para evitar duplicados.","Imported files will be sorted by date and given a unique name.":"Los archivos importados serán clasificados por fecha y se les dará un nombre único.","Importing %{s}…":"Importando %{s}…","Importing files to originals…":"Importando archivos a originales…","in":"en","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"En caso de que falten imágenes que usted espera, vuelva a escanear su biblioteca y espere a que se complete la indexación.","Include RAW image files when downloading stacks and archives.":"Incluir archivos de imagen RAW al descargar pilas y archivos.","Include sidecar files when downloading stacks and archives.":"Incluir archivos sidecar al descargar pilas y archivos.","Increase storage size or delete files to continue.":"Aumenta el tamaño de almacenamiento o elimina archivos para continuar.","Index":"Indexar","Index and import files through the user interface.":"Indexar e importar archivos a través de la interfaz de usuario.","Indexing":"Indexando","Indexing failed":"Indexación ha fallado","Indexing media and sidecar files…":"Indexando los archivos multimedia y sidecar…","Information":"Información","Instance ID":"ID de instancia","Insufficient storage.":"Almacenamiento insuficiente.","Interval":"Intervalo","Invalid":"Inválido","Invalid address":"Dirección no válida","Invalid country":"País no válido","Invalid date":"Fecha inválida","Invalid parameters":"Parámetros no válidos","Invalid photo selected":"Foto seleccionada no válida","Invalid time":"Hora no válida","Invalid URL":"URL no válida","It is a one-time use code that will disable 2FA for your account when you use it.":"Es un código de un solo uso que desactivará la 2FA para tu cuenta cuando lo utilices.","Item":"Elemento","Items per page:":"Elementos por página:","JPEG Quality: %{n}":"Calidad JPEG: %{n}","JPEG Size Limit: %{n}px":"Límite de tamaño del JPEG: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"Los JPEG y las miniaturas se renderizan automáticamente según sea necesario.","Keywords":"Palabras clave","Label":"Etiqueta","Labels":"Etiquetas","Labels deleted":"Etiquetas borradas","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: Preservación de detalles, artefactos mínimos","Language":"Idioma","Last Active":"Último activo","Last Login":"Última conexión","Last page":"Última página","Last Sync":"Última sincronización","Last Used":"Último usado","Latitude":"Latitud","LDAP/AD":"LDAP/AD","Learn more":"Más información","Learn More":"Saber más","Legal Information":"Información legal","Lens":"Lente","Library":"Librería","License":"Licencia","Like":"Me gusta","Lime":"Lima","Limit reached, showing first %{n} files":"Límite alcanzado, mostrando los primeros %{n} archivos","Linear: Very Smooth, Best Performance":"Lineal: Muy suave, el mejor rendimiento","Link":"Enlace","List":"Lista","List View":"Ver lista","Live":"En vivo","Live Photos":"Fotos en vivo","Load more":"Cargar más","Loading items...":"Cargando artículos...","Loading...":"Cargando...","Local":"Local","Local Time":"Hora local","Location":"Ubicación","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Los mensajes de registro aparecen aquí cada vez que PhotoPrism se encuentra con archivos rotos, o hay otros problemas potenciales.","Login":"Iniciar sesión","Logout":"Cerrar sesión","Logs":"Registro","Longitude":"Longitud","Low":"Bajo","Magenta":"Magenta","Main Color":"Color principal","Male":"Hombre","Manage Account":"Gestionar cuenta","Manager":"Director","Manual":"Manual","Manual Upload":"Subida manual","Maps":"Mapas","Marker":"Marcador","Maximum number of accounts has been reached.":"Se ha alcanzado el número máximo de cuentas.","Media":"Medios de comunicación","Medium":"Mediano","Membership":"Membresía","Merge %{a} with %{b}?":"¿Fusionar %{a} con %{b}?","Message":"Mensaje","Message sent":"Mensaje enviado","Metadata":"Metadatos","Metrics":"Métricas","Minimize":"Minimizar","Missing":"Desaparecido","Missing or invalid configuration":"Falta configuración o no es válida","Moments":"Momentos","Monochrome":"Monocromo","Month":"Mes","More options":"Más opciones","Mosaic":"Mosaico","Most Relevant":"Lo más relevante","Move Files":"Mover archivos","Must have at least %{n} characters.":"Debe tener al menos %{n} caracteres.","Mute":"Silenciar","Name":"Nombre","Name too long":"Nombre demasiado largo","Never":"Nunca","New":"Nuevo","New Password":"Nueva contraseña","Newest First":"Lo más nuevo primero","Next":"Siguiente","Next page":"Página siguiente","Next visual":"Siguiente visual","No":"No","No albums found":"No se encontraron álbumes","No data available":"No hay datos disponibles","No labels found":"No se encontraron etiquetas","No matching records found":"No se han encontrado registros coincidentes","No more":"No más","No people found":"No hay personas","No pictures found":"No se han encontrado imágenes","No recently edited pictures":"No hay imágenes editadas recientemente","No results":"Sin resultados","No server connection":"No hay conexión con el servidor","No servers configured.":"Sin servidores configurados.","No services configured.":"No hay servicios configurados.","No thanks":"No gracias","No warnings or error containing this keyword. Note that search is case-sensitive.":"No hay advertencias ni errores que contengan esta palabra clave. Tenga en cuenta que la búsqueda distingue entre mayúsculas y minúsculas.","Non-photographic and low-quality images require a review before they appear in search results.":"Las imágenes no fotográficas y de baja calidad requieren una revisión antes que aparezcan en los resultados de la búsqueda.","None":"Ninguno","Not allowed":"No autorizado","Not found":"No encontrado","Not sorted.":"No clasificado.","Not supported":"No se admite","Note you may manually manage your originals folder and importing is optional.":"Tenga en cuenta que puede gestionar manualmente su carpeta de originales y que la importación es opcional.","Note:":"Nota:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Nota: Sólo los servidores WebDAV, como Nextcloud o PhotoPrism, pueden ser configurados como servicio remoto para hacer copias de seguridad y subir archivos.","Notes":"Notas","Nothing to see here yet.":"Todavía no hay nada que ver aquí.","Nothing was found.":"No se encontró nada.","Offline":"Desconectado","OIDC":"OIDC","OK":"OK","Oldest First":"El más antiguo primero","On Windows, enter the following resource in the connection dialog:":"En Windows, introduzca el siguiente recurso en el diálogo de conexión:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"La generación bajo demanda de miniaturas puede provocar un uso elevado de CPU y memoria. No se recomienda para servidores y dispositivos NAS con recursos limitados.","Once a week":"Una vez a la semana","One album found":"Un álbum encontrado","One file found":"Un archivo encontrado","One file uploaded":"Un archivo cargado","One folder found":"Una carpeta encontrada","One label found":"Una etiqueta encontrada","One person found":"Una persona encontrada","One picture found":"Una foto encontrada","Only locally managed accounts can be set up for authentication with 2FA.":"Sólo las cuentas gestionadas localmente pueden configurarse para la autenticación con 2FA.","Open":"Abrir","optional":"opcional","or":"o","Orange":"Naranja","Organization":"Organización","Orientation":"Orientación","Original file names will be stored and indexed.":"Los nombres originales de los archivos serán almacenados e indexados.","Original Name":"Nombre original","Originals":"Originales","Other":"Otro","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Nuestra misión es ofrecer la solución más fácil de usar y de proteger la privacidad para mantener tus fotos organizadas y accesibles.","Outdoor":"Al aire libre","Page {0}, Current page":"Página {0}, Página actual","Pages":"Páginas","Pagination Navigation":"Paginación Navegación","Panorama":"Panorámica","Panoramas":"Panorámicas","Password":"Contraseña","Password changed":"Contraseña cambiada","People":"Gente","People you share a link with will be able to view public contents.":"La gente con la que compartas un enlace podrá ver los contenidos públicos.","Permanently deleted":"Eliminado permanentemente","Permanently remove files to free up storage.":"Elimina permanentemente los archivos para liberar almacenamiento.","Person":"Persona","Personal":"Personal","Photo":"Foto","PhotoPrism is 100% self-funded and independent.":"PhotoPrism es 100% autofinanciado e independiente.","PhotoPrism+ Membership":"Membresía PhotoPrism+","Photos":"Fotos","Picture Title":"Título de la imagen","Pink":"Rosa","Place":"Lugar","Place & Time":"Lugar y tiempo","Places":"Lugares","Please confirm your new password.":"Por favor, confirma tu nueva contraseña.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Copia la siguiente contraseña de la aplicación generada aleatoriamente y guárdala en un lugar seguro, ya que no podrás volver a verla:","Please do not upload any private, unlawful or offensive pictures.":"Por favor, no subas fotos privadas, ilegales u ofensivas.","Please don't upload photos containing offensive content.":"Por favor, no subas fotos con contenido ofensivo.","Please enter OTP character {0}":"Por favor, introduce el carácter OTP {0}","Please note that changing your password will log you out on other devices and browsers.":"Tenga en cuenta que al cambiar su contraseña se cerrará la sesión en otros dispositivos y navegadores.","Please restart your instance for the changes to take effect.":"Reinicie su instancia para que los cambios surtan efecto.","Please wait…":"Por favor, espere…","PM":"PM","PNG Size Limit: %{n}px":"Límite de tamaño del PNG: %{n}px","Portrait":"Retrato","Preserve filenames":"Preservar nombres de archivo","Press enter to create a new album.":"Presiona enter para crear un nuevo álbum.","Prevent database and album backups as well as YAML sidecar files from being created.":"Evita que se creen copias de seguridad de la base de datos y de los álbumes, así como archivos sidecar YAML.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Evita que otras aplicaciones accedan a PhotoPrism como unidad de red compartida.","Preview":"Vista previa","Preview Images":"Vista previa de imágenes","Previous":"Anterior","Previous page":"Página anterior","Previous visual":"Visual anterior","Primary":"Primario","Private":"Privado","Product Feedback":"Comentarios sobre el producto","Projection":"Proyección","Purple":"Púrpura","Quality Filter":"Filtro de calidad","Quality Score":"Puntuación de calidad","r":"r","Random":"Aleatorio","Rating {0} of {1}":"Clasificación {0} de {1}","Raw":"Raw","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Re-indexar todos los originales, incluyendo los archivos ya indexados y no modificados.","Read-Only Mode":"Modo de sólo lectura","Recently Added":"Añadido recientemente","Recently Archived":"Recientemente archivado","Recently Edited":"Editado recientemente","Recognition starts after indexing has been completed.":"El reconocimiento se inicia una vez finalizada la indexación.","Recognize faces so people can be assigned and found.":"Reconoce las caras para poder encontrar a personas concretas.","Recognized":"Reconocida","Recovery Code":"Código de recuperación","Red":"Rojo","Refresh":"Actualiza","Regions":"Regiones","Register":"Regístrese en","Reload":"Recargar","Reloading…":"Recargando…","Remote Sync":"Sincronización remota","Remove":"Eliminar","remove failed: unknown album":"eliminación ha fallado: álbum desconocido","Remove from Album":"Eliminar del álbum","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Eliminar los archivos importados para ahorrar espacio. Los tipos de archivos no admitidos nunca se eliminarán y permanecen en su ubicación actual.","Request failed - are you offline?":"Solicitud fallida - ¿estás desconectado?","Request failed - invalid response":"La solicitud ha fallado - respuesta inválida","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Exige que las imágenes no fotográficas y de baja calidad sean revisadas antes de que aparezcan en los resultados de búsqueda.","Resolution":"Resolución","Restart":"Reinicie","Restore":"Restaurar","Restored":"Restaurado","Retry Limit":"Límite de reintentos","Retype Password":"Reescriba la contraseña","Review":"Revisar","Role":"Papel","Rows per page:":"Filas por página:","Satellite":"Satélite","Save":"Guardar","Scan":"Escanear","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Escanea el código QR con tu aplicación de autenticación o utiliza la clave de configuración que se muestra a continuación e introduce el código de verificación generado:","Scans":"Escaneos","Scope":"Alcance","Search":"Buscar","Search and display photos on a map.":"Buscar y mostrar fotos en un mapa.","Season":"Temporada","Secret":"Secreto","Security and Access":"Seguridad y acceso","Select":"Seleccionar","Select a source folder to import files…":"Selecciona una carpeta de origen para importar archivos…","Select date":"Selecciona la fecha","Select dates":"Selecciona las fechas","Select or create an album":"Selecciona o crea un álbum","Select the files to upload…":"Selecciona los archivos que quieres subir…","Select the folder to be indexed…":"Selecciona la carpeta a indexar…","Select Time":"Selecciona Hora","Selection approved":"Selección aprobada","Selection archived":"Selección archivada","Selection restored":"Selección restaurada","Sequential Name":"Nombre secuencial","Service URL":"URL del servicio","Services":"Servicios","Session":"Sesión","Session ID":"ID de sesión","Sessions":"Sesiones","Set as Album Cover":"Poner como Portada del Álbum","Settings":"Ajustes","Settings saved":"Ajustes guardados","Setup":"Configurar","Share":"Compartir","Share %{s}":"Compartir %{s}","Share your pictures with other apps and services.":"Comparte tus fotos con otras aplicaciones y servicios.","Show":"Mostrar","Show all new faces":"Mostrar todas las caras nuevas","Show Captions":"Mostrar subtítulos","Show hidden":"Mostrar oculto","Show less":"Ver menos","Show more":"Ver más","Show server logs in Library.":"Mostrar los registros del servidor en la biblioteca.","Show Titles":"Mostrar títulos","Sidecar":"Adicional","Sidecar Files":"Archivos Sidecar","Sign in":"Iniciar sesión","Similar":"Similares","Size":"Tamaño","Slideshow":"Presentación de diapositivas","Slow":"Lento","Software":"Software","Software Update":"Actualización del software","Something went wrong, try again":"Algo ha ido mal, inténtalo de nuevo","Sort by":"Ordenar por","Sort Order":"Orden de Clasificación","Sorted ascending.":"Ordenados de forma ascendente.","Sorted descending.":"Ordenados descendentemente.","Source":"Fuente","Stack":"Apilar","Stack files sharing the same unique image or instance identifier.":"Apilar los archivos que comparten la misma imagen única o identificador de instancia.","Stack pictures taken at the exact same time and location based on their metadata.":"Apilar las imágenes tomadas en el mismo momento y lugar exactos basados en sus metadatos.","Stackable":"Apilable","Stacks":"Secuencias","Start":"Empezar","Start Page":"Página de inicio","Static Size Limit: %{n}px":"Límite de tamaño de miniaturas estáticas: %{n}px","Status":"Estado","Storage":"Almacenes","Streets":"Calles","Subject":"Sujeto","Submit":"Envía","Successfully activated":"Activado exitosamente","Successfully Connected":"Conectado con éxito","Successfully deleted":"Eliminado con éxito","Successfully verified":"Verificado con éxito","Super Admin":"Super Admin","Support for additional services, like Google Drive, will be added over time.":"El soporte para servicios adicionales, como Google Drive, se añadirá a futuro.","Support Our Mission":"Apoye nuestra misión","Sync":"Sincronizar","Sync raw and video files":"Sincronizar imágenes raw y videos","Taken":"Tomada","Teal":"Verde Azulado","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow es necesario para la clasificación de imágenes, el reconocimiento facial y la detección de contenido inseguro.","Terrain":"Terreno","Text":"Texto","Text too long":"Texto demasiado largo","Thank You for Your Support!":"¡Gracias por su apoyo!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Por eso PhotoPrism se ha creado desde cero para que funcione donde lo necesites, sin comprometer la libertad, la privacidad ni la funcionalidad.","The index currently contains %{n} hidden files.":"El índice contiene actualmente %{n} archivos ocultos.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Su formato puede no ser compatible, aún no se han convertido a JPEG o hay duplicados.","Theme":"Tema","This field is required":"Este campo es obligatorio","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Esto monta la carpeta de originales como una unidad de red y le permite abrir, editar y eliminar archivos de su ordenador o smartphone como si fueran locales.","Time UTC":"Hora UTC","Time Zone":"Zona horaria","Timeout":"Tiempo de espera","Title":{"Account":"Título","Photo":"Título","":"Título"},"Title / Position":"Título / Cargo","Title too long":"Título demasiado largo","to":"para","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Para evitar que te bloqueen la cuenta, descarga, imprime o copia ahora este código de recuperación y guárdalo en un lugar seguro.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Para generar una nueva contraseña específica de la aplicación, introduce el nombre y el ámbito de autorización de la aplicación y selecciona una fecha de caducidad:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Para cambiar a una nueva aplicación o dispositivo de autenticación, primero desactiva la autenticación de dos factores y luego reactívala:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Para actualizar, puede introducir un código de activación o hacer clic en \"Registrarse\" para darse de alta en nuestro sitio web:","Today":"Hoy","Toggle View":"Cambiar Vista","Token":"Simbólico","Too many files selected":"Demasiados archivos seleccionados","Too many requests":"Demasiadas peticiones","Troubleshooting":"Solución de problemas","Try again using other filters or keywords.":"Inténtalo de nuevo usando otros filtros o palabras.","Two-factor authentication has been enabled for your account.":"Se ha activado la autenticación de dos factores para tu cuenta.","Type":"Tipo","Unable to delete":"No se puede eliminar","Unauthorized":"Sin autorización","Undo":"Deshacer","Unique ID":"ID Única","Unknown":"Desconocido","Unregistered":"No registrado","Unsorted":"Sin clasificar","Unstack":"Desagrupar","Updated":"Actualizado","Updating faces":"Actualizando caras","Updating index":"Actualizando índice","Updating moments":"Actualizando Momentos","Updating picture…":"Actualizando la imagen…","Updating previews":"Actualizando vistas previas","Updating stacks":"Actualizando pilas","Upgrade":"Subir de Categoría","Upgrade Now":"Mejore su plan ahora","Upload":"Subir","Upload complete":"Subida completa","Upload complete. Indexing…":"Subida completa. Indexando…","Upload failed":"Carga fallida","Upload local files":"Subir archivos locales","Upload Path":"Cargar ruta","Upload to WebDAV and share links with friends.":"Subir a WebDAV y compartir los enlaces con amigos.","Uploading %{n} of %{t}…":"Cargando %{n} de %{t}…","Uploading photos…":"Subiendo fotos…","Uploading…":"Subiendo…","Uploads that may contain such images will be rejected automatically.":"Las subidas que puedan contener tales imágenes serán rechazadas automáticamente.","Use Presets":"Usar preselecciones","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Utiliza el siguiente código de recuperación para acceder a tu cuenta cuando no puedas generar un código de verificación válido con tu aplicación de autenticación:","Use your recovery code or contact an administrator for help.":"Utiliza tu código de recuperación o ponte en contacto con un administrador para que te ayude.","User":"Usuario","User Guide":"Guía del usuario","User Interface":"Interfaz de usuario","Username":"Nombre de usuario","Users":"Usuarios","Vector":"Vector","Vectors":"Vectores","Verification Code":"Código de verificación","Video":"Vídeo","Video Duration":"Duración del vídeo","Videos":"Vídeos","View":"Ver","View search results as a list.":"Ver los resultados de la búsqueda como una lista.","Viewer":"Visor","Visitor":"Visitante","Visual Similarity":"Similitud visual","Warning":"Advertencia","We appreciate your feedback!":"¡Agradecemos sus comentarios!","We do our best to respond within five business days or less.":"Hacemos todo lo posible por responder en un plazo de cinco días hábiles o menos.","Web Login":"Inicio de sesión web","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"Los clientes de WebDAV pueden conectarse a PhotoPrism usando la siguiente URL:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"Los clientes de WebDAV, como Microsoft Windows Explorer o Finder de Apple, pueden conectarse directamente a PhotoPrism.","WebDAV Upload":"Subida WebDAV","WebGL support is disabled in your browser":"El soporte WebGL está desactivado en tu navegador","Website":"Página web","White":"Blanco","Work Details":"Detalles del trabajo","Year":"Año","Yellow":"Amarillo","Yes":"Sí","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Puede ponerse en contacto con nosotros en membership@photoprism.app si tiene preguntas sobre su afiliación.","You can only download one album":"Sólo puedes descargar un álbum","You can only download one label":"Sólo puedes descargar una etiqueta","You can search for a location or move the marker on the map to change the position:":"Puedes buscar una ubicación o mover el marcador en el mapa para cambiar la posición:","You can upload up to %{n} files for test purposes.":"Puede cargar hasta %{n} archivos para realizar pruebas.","You may only select one item":"Sólo puedes selecionar un elemento","You may rescan your library to find additional faces.":"Puede volver a escanear su biblioteca para encontrar más caras.","Your account has been successfully connected.":"Su cuenta se ha conectado correctamente.","Your browser does not support WebGL":"Tu navegador no soporta WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Su apoyo continuo nos ayuda a proporcionar actualizaciones periódicas y a seguir siendo independientes, para que podamos cumplir nuestra misión y proteger su privacidad.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Tu biblioteca se analiza continuamente para crear automáticamente álbumes de momentos, viajes y lugares especiales.","Zoom in/out":"Acercar/Alejar"}} \ No newline at end of file diff --git a/frontend/src/locales/json/et.json b/frontend/src/locales/json/et.json index 5c89acd8d..dc053b1be 100644 --- a/frontend/src/locales/json/et.json +++ b/frontend/src/locales/json/et.json @@ -1 +1 @@ -{"et":{"{0} appended action":"{0} lisatud tegevus","{0} files":"{0} failid","{0} files ({1} in total)":"{0} failid ({1} kokku)","{0} more":"{0} rohkem","{0} prepended action":"{0} eelistatud tegevus","{0} selected":"{0} valitud","{0}-{1} of {2}":"{0}-{1} of {2}","%{n} albums found":"%{n} albumit leitud","%{n} files uploaded":"%{n} faili üles laaditud","%{n} folders found":"%{n} kausta leitud","%{n} GB of %{q} GB used":"%{n} GB %{q} kasutatud GB","%{n} labels found":"%{n} silti leitud","%{n} people found":"%{n} inimest leitud","%{n} pictures found":"%{n} pilti leitud","%{s} is too long":"%{s} on liiga pikk","%{s} is too short":"%{s} on liiga lühike","1 hour":"1 tund","12 hours":"12 tundi","2-Factor Authentication":"2-faktoriline autentimine","2FA":"2FA","4 hours":"4 tundi","A click will copy it to your clipboard.":"Klõpsamine kopeerib selle lõikelauale.","A new version of %{s} is available:":"Rakenduse %{s} uus versioon on saadaval:","About":"Teave","Access Token":"Juurdepääsutunnus","Account":"Konto","Account created":"Konto loodud","Account deleted":"Konto kustutatud","Account restored":"Konto taastatakse","Accounts":"Kontod","Accuracy":"Täpsus","Action":"Tegevus","Actions":"Tegevused","Activate":"Aktiveeri","Activate to remove sorting.":"Aktiveerige sorteerimise eemaldamiseks.","Activate to sort ascending.":"Aktiveerige sorteerimine ülespoole.","Activate to sort descending.":"Aktiveerige sorteerimine kahanevas järjestuses.","Activation Code":"Aktiveerimiskood","Add":"Lisa","Add %{s}?":"Lisa %{s}?","Add Account":"Lisa konto","Add Album":"Lisa album","Add files to your library via Web Upload.":"Lisa faile oma fototeeki üleslaadimise teel.","Add Link":"Lisa link","Add person?":"Lisa inimene?","Add pictures from search results by selecting them.":"Lisa pilte otsingutulemustest neid valides.","Add to album":"Lisa albumisse","Added":"Lisatud","Admin":"Admin","Advanced":"Täpsemad","After 1 day":"1 päeva pärast","After 3 days":"3 päeva pärast","After 7 days":"7 päeva pärast","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Pärast parooli kinnitamiseks sisestamist saate seadistada kahefaktorilise autentimise ühilduva autentimisrakenduse või -seadmega.","After one month":"Ühe kuu pärast","After one year":"Ühe aasta pärast","After selecting pictures from search results, you can add them to an album using the context menu.":"Pärast piltide valimist otsingutulemustest saad need kontekstimenüü abil albumisse lisada.","After two months":"Kahe kuu pärast","After two weeks":"Kahe nädala pärast","Album":"Album","Album Backups":"Albumite varukoopiad","Album created":"Album lisatud","Albums":"Albumid","Albums deleted":"Albumid kustutatud","All":"Kõik","All %{n} albums loaded":"Kõik %{n} albumit laaditud","All %{n} labels loaded":"Kõik %{n} silti laaditud","All %{n} people loaded":"Kõik %{n} inimest laaditud","All Cameras":"Kõik kaamerad","All Categories":"Kõik kategooriad","All Colors":"Kõik värvid","All Countries":"Kõik riigid","All fields are required":"Kõik väljad on kohustuslikud","All files from import folder":"Kõik failid impordikaustast","All Lenses":"Kõik läätsed","All Months":"Kõik kuud","All originals":"Kõik originaalid","All Years":"Kõik aastad","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Alternatiivina saad faile üles laadida otse WebDAV serveritesse nagu Nextcloud.","Altitude":"Kõrgus","Altitude (m)":"Kõrgus (m)","AM":"AM","Animated":"Animeeritud","Animation":"Animatsioon","Any private photos and videos remain private and won't be shared.":"Kõik isiklikud fotod ja videod jäävad isiklikuks ja neid ei jagata.","API Key":"API võti","Application":"Taotlus","Apply":"Rakenda","Approve":"Kinnita","Apps and Devices":"Rakendused ja seadmed","Archive":"Arhiiv","Archived":"Arhiveeritud","Are you sure you want to archive the selection?":"Kas oled kindel, et soovid valiku arhiveerida?","Are you sure you want to delete these albums?":"Kas oled kindel, et soovid need albumid kustutada?","Are you sure you want to delete these labels?":"Kas oled kindel, et soovid need sildid kustutada?","Are you sure you want to delete this account?":"Kas oled kindel, et soovid selle konto kustutada?","Are you sure you want to permanently delete these pictures?":"Kas oled kindel, et soovid need pildid lõplikult kustutada?","Are you sure you want to permanently delete this file?":"Kas oled kindel, et soovid selle faili lõplikult kustutada?","Are you sure?":"Kas sa oled kindel?","Artist":"Kunstnik","Aspect Ratio":"Küljesuhe","Audio":"Audio","Authentication":"Autentimine","Auto":"Auto","Back":"tagasi","Back to top":"Tagasi üles","Backup":"Varukoopia","Badge":"Märgis","Base Path":"Baasirada","Become a member today, support our mission and enjoy our member benefits!":"Astu liikmeks juba täna, toeta meie missiooni ja naudi meie liikmete soodustusi!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Kuna me oleme 100% isefinantseeritud ja sõltumatud, võime lubada, et me ei müü kunagi su andmeid ja et oleme oma tarkvara ja teenuste osas alati läbipaistvad.","Bio":"Elulugu","Birth Date":"Sünnikuupäev","Black":"Must","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Lanczos modifikatsioon, vähem artefakte","Blue":"Sinine","Brown":"Pruun","Browse":"Sirvi","Browse and edit image classification labels.":"Sirvi ja muuda piltide klassifitseerimise silte.","Browse and share your pictures organized into monthly albums.":"Sirvige ja jagage oma pilte, mis on organiseeritud igakuistesse albumitesse.","Browse Files":"Failide sirvimine","Browse indexed files and folders in Library.":"Sirvi fototeegis olevaid indekseeritud faile ja kaustu.","Bug Report":"Vearaport","Busy, please wait…":"Hõivatud, palun oota…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Meie poolt pakutavat tarkvara ja teenuseid kasutades nõustud kasutustingimuste, privaatsuspoliitika ja käitumiskoodeksiga.","Calendar":"Kalender","Camera":"Kaamera","Camera Serial":"Kaamera seerianumber","Can't access your authenticator app or device?":"Ei saa juurdepääsu oma autentimisrakendusele või seadmele?","Can't load more, limit reached":"Rohkem ei saa laadida, limiit on saavutatud","Can't select more items":"Rohkem objekte ei saa valida","Cancel":"Katkesta","Caption":"Pealkiri","Cards":"Kaardid","Carousel slide {0} of {1}":"Karussell slaid {0} of {1}","Category":"Kategooria","Change Avatar":"Muuda profiilipilti","Change Password":"Muuda parool","Change personal profile and security settings.":"Muuta isikliku profiili ja turvaseadeid.","Change photo titles, locations, and other metadata.":"Muuda fotode pealkirju, asukohti ja muid metaandmeid.","Change private flag":"Muuda isiklikkust","Changes could not be saved":"Muudatuste salvestamine ebaõnnestus","Changes successfully saved":"Muudatused edukalt salvestatud","Changes to the advanced settings require a restart to take effect.":"Täiustatud seadete muutmine nõuab jõustumiseks taaskäivitamist.","Checked":"Kontrollitud","Chroma":"Värviküllastus","Cleaning index and cache":"Indeksi ja vahemälu puhastamine","Cleanup":"Puhastamine","Clear {0}":"Clear {0}","Client":"Klient","Client Credentials":"Kliendi volitused","Close":"Sulge","Codec":"Koodek","Color":"Värv","Color Profile":"Värviprofiil","Colors":"Värvid","Compare Editions":"Võrdle versioone","Complete Rescan":"Täielik taasskannimine","Confidence":"Kindlus","Confirm":"Kinnita","Connect":"Ühenda","Connect via WebDAV":"Ühenda WebDAV-i kaudu","Connected":"Ühendatud","Contact Details":"Kontaktandmed","Contact Us":"Võta meiega ühendust","Contains %{n} pictures.":"Sisaldab %{n} pilti.","Contains one picture.":"Sisaldab ühte pilti.","Content":"Sisu","Continue":"Jätka","Continue with %{provider}":"Jätka %{provider}","Contributor":"Toetaja","Converting":"Konverteerimine","Copied to clipboard":"Kopeeritud lõikelauale","Copy":"Kopeeri","Copyright":"Autoriõigus","Couldn't find anything.":"Midagi ei leitud.","Country":"Riik","Create Account":"Loo konto","Create album":"Lisa album","Create regular backups based on the configured schedule.":"Looge indeksi varukoopiaid vastavalt seadistatud ajakavale.","Create YAML files to back up album metadata.":"Loo YAML-failid albumite metaandmete varundamiseks.","Create YAML sidecar files to back up picture metadata.":"Loo YAML-sidekartiifailid pildi metaandmete varundamiseks.","Created":"Lisatud","Creating thumbnails for":"Pisipiltide loomine:","Cubic: Moderate Quality, Good Performance":"Cubic: mõõdukas kvaliteet, hea jõudlus","Current Password":"Praegune parool","Custom":"Kohandatud","Cyan":"Tsüaan","Daily":"Üks kord päevas","Database Backups":"Andmebaasi varukoopiad","Day":"Päev","Deactivate":"Deaktiveeri","Debug Logs":"Tõrkeotsingu logid","Default":"Vaikimisi","Default Folder":"Vaikimisi kaust","Delete":"Kustuta","Delete All":"Kustuta kõik","Delete all?":"Kustutada kõik?","Delete orphaned index entries, sidecar files and thumbnails.":"Kustutage orbude indeksikanded, külgmised failid ja pisipildid.","Description":"Kirjeldus","Detailed instructions can be found in our User Guide.":"Üksikasjalikud juhised leiad meie kasutajajuhendist.","Details":"Üksikasjad","Dimensions":"Mõõtmed","Disable Backups":"Keela varukoopiad","Disable Darktable":"Keela Darktable","Disable ExifTool":"Keela ExifTool","Disable features that require write permission for the originals folder.":"Lülitage välja funktsioonid, mis nõuavad originaalide kausta kirjutamisõigust.","Disable FFmpeg":"Keela FFmpeg","Disable ImageMagick":"Lülita ImageMagick välja","Disable interactive world maps and reverse geocoding.":"Lülitage interaktiivsed maailmakaardid ja vastupidine geokodeerimine välja.","Disable Places":"Keela kohad","Disable RawTherapee":"Keela RawTherapee","Disable TensorFlow":"Keela TensorFlow","Disable Vectors":"Vektorite väljalülitamine","Disable WebDAV":"Keela WebDAV","Disables vector graphics support.":"Lülitab vektorgraafika toetuse välja.","Disables video transcoding and thumbnail extraction.":"Lülitab välja video transkodeerimise ja pisipildi väljavõtte.","Discover":"Avasta","Dismiss":"Lase lahti","Display Name":"Esitusnimi","Display picture captions in search results.":"Pildiallkirjade kuvamine otsingutulemustes.","Display picture titles in search results.":"Pildi pealkirjade kuvamine otsingutulemustes.","Document":"Dokument","Documents":"Dokumendid","Don't use Darktable to convert RAW images.":"Ärge kasutage Darktable'i RAW-piltide teisendamiseks.","Don't use ImageMagick to convert images.":"Ärge kasutage ImageMagicki piltide teisendamiseks.","Don't use RawTherapee to convert RAW images.":"Ärge kasutage RawTherapee't RAW-piltide teisendamiseks.","Done":"Tehtud","Done.":"Tehtud.","Download":"Laadi alla","Download only original media files, without any automatically generated files.":"Laadige alla ainult originaalsed meediafailid, ilma automaatselt genereeritud failideta.","Download remote files":"Laadi alla kaugfailid","Download single files and zip archives.":"Laadi alla üksikuid faile ja ZIP-arhiive.","Downloading…":"Allalaadimine…","Downscaling Filter":"Skaleerimisfilter","Drag and drop files here":"Lohistage failid siia","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"Meile saabuvate e-kirjade suure hulga tõttu ei pruugi meie meeskond olla võimeline kohe vastama.","Duplicates will be skipped and only appear once.":"Duplikaadid jäetakse vahele ja neid kuvatakse ainult ühekordselt.","Duration":"Kestus","Dynamic Previews":"Dünaamilised eelvaated","Dynamic Size Limit: %{n}px":"Dünaamiline suuruse limiit: %{n}px","E-Mail":"E-post","Edit":"Muuda","Edit %{s}":"Muuda %{s}","Edit Account":"Konto muutmine","Edit Photo":"Foto muutmine","Edited":"Muudetud","Email":"E-post","Enable debug mode to display additional logs and help with troubleshooting.":"Lubage tõrjerežiim, et kuvada täiendavaid logisid ja aidata tõrkeotsingutel.","Enable new features that may be incomplete or unstable.":"Võta kasutusele uued funktsioonid, mis võivad olla ebatäielikud või ebastabiilsed.","Enables RAW converter presets. May reduce performance.":"Lubab RAW-konverteri eelseadistused. Võib vähendada jõudlust.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Kahefaktorilise autentimise lubamine tähendab, et sisselogimiseks vajate juhuslikult genereeritud kinnituskoodi, nii et isegi kui keegi saab juurdepääsu teie paroolile, ei pääse ta teie kontole juurde.","Enter date":"Sisestage kuupäev","Enter dates":"Sisestage kuupäevad","Enter the code generated by your authenticator app:":"Sisestage autentimisrakenduse poolt genereeritud kood:","Enter verification code":"Sisesta kontrollkood","Enter your password to confirm the action and continue:":"Toimingu kinnitamiseks ja jätkamiseks sisestage oma parool:","Error":"Viga","Errors":"Vead","Estimate":"Hinnang:","Estimate Locations":"Hinnangulised asukohad","Estimate the approximate location of pictures without GPS coordinates.":"Hinnake piltide ligikaudset asukohta ilma GPS-koordinaatideta.","Every two days":"Iga kahe päeva tagant","Exclude content marked as private from search results, shared albums, labels, and places.":"Välista otsingutulemustest, jagatud albumitest, siltidest ja kohtadest isiklikuks märgitud sisu.","Exclude hidden":"Välista peidetud","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"Metaandmete ekstraheerimine ExifTooliga on vajalik täieliku video-, live-foto- ja XMP-toe saamiseks.","Experimental Features":"Eksperimentaalsed funktsioonid","Expires":"Aegub","Exposure":"Säriaeg","Extract still images and generate thumbnails while indexing.":"Väljavõte fotodest ja pisipiltide genereerimine indekseerimise ajal.","F Number":"F-number","Face":"Nägu","Faces":"Näod","Failed removing link":"Lingi eemaldamine ebaõnnestus","Failed to connect account.":"Konto ühendamine ebaõnnestus.","Failed updating link":"Lingi uuendamine ebaõnnestus","Family Name":"Perekonnanimi","Fast":"Kiire","Favorite":"Lemmik","Favorites":"Lemmikud","Feature Request":"Funktsiooni taotlus","Feedback":"Tagasiside","Female":"Naine","File":"Fail","File Browser":"Failibrauser","File Conversion":"Faili konverteerimine","File Name":"Faili nimi","File Size":"Faili suurus","Filename":"Failinimi","Files":"Failid","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Järjestikuste nimedega failid nagu 'IMG_1234 (2)' ja 'IMG_1234 (3)' kuuluvad samale pildile.","First page":"Esimene lehekülg","Focal Length":"Fookuskaugus","Folder":"Kaust","Folder contains %{n} files":"Kaust sisaldab %{n} faili","Folder is empty":"Kaust on tühi","Folders":"Kaustad","Forgot password?":"Unustasid parooli?","FPS":"Kaadrisagedus","Frames":"Kaadrid","Full Access":"Täielik juurdepääs","Fullscreen":"Täisekraan","General":"Üldised","Generate":"Genereeri","Generate albums of special moments, journeys, and places.":"Loob automaatselt albumid erilistest hetkedest, reisidest ja kohtadest.","Generate Previews":"Loo eelvaateid","Generated":"Genereeritud","Get Started":"Alusta","Given Name":"Eesnimi","Global Options":"Globaalsed valikud","Go to page {0}":"Mine lehele {0}","Gold":"Kuld","Green":"Roheline","Grey":"Hall","Guest":"Külaline","Hash":"Räsi","Help":"Abi","Help & Support":"Abi ja tugi","Hidden":"Peidetud","Hidden Files":"Peidetud failid","Hide":"Peida","Hide photos that have been moved to archive.":"Peida fotod, mis on viidud arhiivi.","High":"Kõrge","High Dynamic Range (HDR)":"Lai dünaamiline diapasoon (HDR)","How can we help?":"Kuidas me saame aidata?","Hybrid":"Hübriid","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Kui kaotate juurdepääsu autentimisrakendusele või -seadmele, saate oma kontole juurdepääsu taastamiseks kasutada taastekoodi.","Image":"Pilt","Image Quality":"Pildi kvaliteet","Import":"Import","Import failed":"Import ebaõnnestus","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Imporditud failid sorteeritakse kuupäeva järgi ja neile antakse duplikaatide vältimiseks unikaalne nimi.","Imported files will be sorted by date and given a unique name.":"Imporditud failid sorteeritakse kuupäeva järgi ja neile antakse unikaalne nimi.","Importing %{s}…":"%{s} importimine…","Importing files to originals…":"Failide importimine originaalidesse…","in":"ajaga","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"Kui pildid, mida ootasid, on puudu, skanni oma fototeek uuesti ja oota, kuni indekseerimine on lõpetatud.","Include RAW image files when downloading stacks and archives.":"Kaasa RAW-pildifailid virnade ja arhiivide allalaadimisel.","Include sidecar files when downloading stacks and archives.":"Kaasa külgkorvifailid virnade ja arhiivide allalaadimisel.","Increase storage size or delete files to continue.":"Jätkamiseks suurendage salvestusruumi suurust või kustutage faile.","Index":"Indeks","Index and import files through the user interface.":"Indekseeri ja impordi faile kasutajaliidese kaudu.","Indexing":"Indekseerimine","Indexing failed":"Indekseerimine ebaõnnestus","Indexing media and sidecar files…":"Meedia- ja abifailide indekseerimine…","Information":"Teave","Instance ID":"Eksemplari ID","Insufficient storage.":"Ebapiisav ladustamine.","Interval":"Intervall","Invalid":"Vigane","Invalid address":"Vale aadress","Invalid country":"Vale riik","Invalid date":"Vigane kuupäev","Invalid parameters":"Vigased parameetrid","Invalid photo selected":"Vigane foto valitud","Invalid time":"Vale aeg","Invalid URL":"Vale URL aadress","It is a one-time use code that will disable 2FA for your account when you use it.":"See on ühekordne kood, mis keelab teie kontol 2FA, kui seda kasutate.","Item":"Element","Items per page:":"Kirjed lehekülje kohta:","JPEG Quality: %{n}":"JPEG kvaliteet: %{n}","JPEG Size Limit: %{n}px":"JPEG suuruse limiit: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"JPEG- ja pisipildid renderdatakse automaatselt vastavalt vajadusele.","Keywords":"Märksõnad","Label":"Silt","Labels":"Sildid","Labels deleted":"Sildid kustutatud","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: detailide säilitamine, minimaalsed artefaktid","Language":"Keel","Last Active":"Viimane aktiivne","Last Login":"Viimane sisselogimine","Last page":"Viimane lehekülg","Last Sync":"Viimane sünkroonimine","Last Used":"Viimati kasutatud","Latitude":"Laiuskraad","LDAP/AD":"LDAP/AD","Learn more":"Lisateave","Learn More":"Lisateave","Legal Information":"Õigusalane teave","Lens":"Objektiiv","Library":"Fototeek","License":"Litsents","Like":"Meeldib","Lime":"Laimiroheline","Limit reached, showing first %{n} files":"Limiit saavutatud, näidatakse esimest %{n} faili","Linear: Very Smooth, Best Performance":"Lineaarne: väga sujuv, parim jõudlus","Link":"Link","List":"Loend","List View":"Nimekirja vaade","Live":"Live","Live Photos":"Liikuvad fotod","Load more":"Laadige rohkem","Loading items...":"Laadimine...","Loading...":"Laadimine...","Local":"Kohalik","Local Time":"Kohalik aeg","Location":"Asukoht","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Siia ilmuvad logiteated, kui PhotoPrism leiab katkiseid faile või kui esineb muid probleeme.","Login":"Logi sisse","Logout":"Logi välja","Logs":"Logid","Longitude":"Pikkuskraad","Low":"Madal","Magenta":"Magenta","Main Color":"Põhivärv","Male":"Mees","Manage Account":"Halda kontot","Manual":"Käsitsi","Manual Upload":"Käsitsi üleslaadimine","Maps":"Kaardid","Marker":"Märk","Maximum number of accounts has been reached.":"Maksimaalne kontode arv on saavutatud.","Media":"Meedia","Medium":"Keskmine","Membership":"Liikmelisus","Merge %{a} with %{b}?":"Ühendada %{a} ja %{b}?","Message":"Sõnum","Message sent":"Sõnum saadetud","Metadata":"Metaandmed","Metrics":"Mõõdikud","Minimize":"Minimeeri","Missing":"Puudub","Missing or invalid configuration":"Puuduv või vigane konfiguratsioon","Moments":"Hetked","Monochrome":"Mustvalge","Month":"Kuu","More options":"Rohkem võimalusi","Mosaic":"Mosaiik","Most Relevant":"Asjakohasemad eespool","Move Files":"Liiguta failid","Must have at least %{n} characters.":"Peab olema vähemalt %{n} tähemärki.","Mute":"Mute","Name":"Nimi","Name too long":"Nimi on liiga pikk","Never":"Mitte kunagi","New":"Uus","New Password":"Uus parool","Newest First":"Uuemad eespool","Next":"Järgmine","Next page":"Järgmine lehekülg","Next visual":"Järgmine visuaalne","No":"Ei","No albums found":"Albumeid ei leitud","No data available":"Andmed puuduvad","No labels found":"Silte ei leitud","No matching records found":"Sobivaid kirjeid ei leitud","No more":"Enam ei ole","No people found":"Inimesi ei leitud","No pictures found":"Pilte ei leitud","No recently edited pictures":"Hiljuti muudetud pilte ei ole","No server connection":"Serveriühendus puudub","No servers configured.":"Ühtegi serverit pole seadistatud.","No services configured.":"Ühtegi teenust pole seadistatud.","No thanks":"Ei aitäh","No warnings or error containing this keyword. Note that search is case-sensitive.":"Seda märksõna sisaldavaid hoiatusi või vigu ei ole. Pane tähele, et otsing on tõusutundlik.","Non-photographic and low-quality images require a review before they appear in search results.":"Mittefotograafilised ja madala kvaliteediga pildid tuleb üle vaadata, enne kui nad otsingutulemustes ilmuvad.","None":"Puudub","Not allowed":"Ei ole lubatud","Not found":"Ei leitud","Not sorted.":"Ei ole sorteeritud.","Not supported":"Ei toetata","Note you may manually manage your originals folder and importing is optional.":"Pane tähele, et võid originaalide kausta käsitsi hallata, importimine on vabatahtlik.","Note:":"Märkus:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Märkus: Ainult WebDAV servereid, nagu Nextcloud või PhotoPrism, saab seadistada kaugteenusena varundamiseks ja failide üleslaadimiseks.","Notes":"Märkused","Nothing to see here yet.":"Siin pole veel midagi näha.","Nothing was found.":"Midagi ei leitud.","Offline":"Võrguühenduseta","OIDC":"OIDC","OK":"OK","Oldest First":"Vanemad eespool","On Windows, enter the following resource in the connection dialog:":"Windowsis sisestage ühendusdialoogi järgmine ressurss:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"Väikepiltide nõudmisel genereerimine võib põhjustada suurt protsessori- ja mälukasutust. Seda ei soovitata piiratud ressurssidega serverite ja NAS-seadmete puhul.","Once a week":"Üks kord nädalas","One album found":"Üks album leitud","One file found":"Üks fail leitud","One file uploaded":"Üks fail üles laaditud","One folder found":"Üks kaust leitud","One label found":"Üks silt leitud","One person found":"Üks inimene leitud","One picture found":"Üks pilt leitud","Only locally managed accounts can be set up for authentication with 2FA.":"2FA-ga autentimiseks saab seadistada ainult lokaalselt hallatud kontosid.","Open":"Avatud","optional":"vabatahtlik","or":"või","Orange":"Oranžikas","Organization":"Organisatsioon","Orientation":"Orientatsioon","Original file names will be stored and indexed.":"Failide algsed nimed salvestatakse ja indekseeritakse.","Original Name":"Esialgne nimi","Originals":"Originaalid","Other":"Muu","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Meie eesmärk on pakkuda kõige kasutajasõbralikumat ja privaatsussõbralikumat lahendust, et hoida teie pilte korrastatuna ja kättesaadavana.","Outdoor":"Loodus","Page {0}, Current page":"Lehekülg {0}, Praegune lehekülg","Pages":"Leheküljed","Pagination Navigation":"Lehekülgede navigeerimine","Panorama":"Panoraam","Panoramas":"Panoraamid","Password":"Parool","Password changed":"Parool muudetud","People":"Inimesed","People you share a link with will be able to view public contents.":"Inimesed, kellega linki jagad, saavad avalikku sisu vaadata.","Permanently deleted":"Lõplikult kustutatud","Permanently remove files to free up storage.":"Kustuta failid lõplikult, et vabastada salvestusruumi.","Person":"Isik","Personal":"Isiklik","Photo":"Foto","PhotoPrism is 100% self-funded and independent.":"PhotoPrism on 100% omafinantseeringuline ja sõltumatu.","PhotoPrism+ Membership":"PhotoPrism+ liikmelisus","Photos":"Fotod","Picture Title":"Pildi pealkiri","Pink":"Roosa","Place":"Koht","Place & Time":"Koht ja aeg","Places":"Kohad","Please confirm your new password.":"Palun kinnita oma uus parool.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Kopeerige järgmine juhuslikult loodud rakenduse parool ja hoidke seda kindlas kohas, kuna te ei saa seda enam näha.","Please do not upload any private, unlawful or offensive pictures.":"Palun ärge laadige üles privaatseid, ebaseaduslikke või solvavaid pilte.","Please don't upload photos containing offensive content.":"Palun ära laadi üles solvava sisuga fotosid.","Please enter OTP character {0}":"Palun sisestage OTP märk {0}","Please note that changing your password will log you out on other devices and browsers.":"Pane tähele, et parooli muutmine logib sind teistes seadmetes ja brauserites välja.","Please restart your instance for the changes to take effect.":"Palun taaskäivitage oma instants, et muudatused jõustuksid.","Please wait…":"Palun oodake…","PM":"PM","PNG Size Limit: %{n}px":"PNG suuruse limiit: %{n}px","Portrait":"Püstformaat","Preserve filenames":"Säilita failinimed","Press enter to create a new album.":"Uue albumi lisamiseks vajuta Enter.","Prevent database and album backups as well as YAML sidecar files from being created.":"Andmebaasi ja albumi varukoopiate ning YAML-sidcar-failide loomise vältimine.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Vältida teiste rakenduste juurdepääsu PhotoPrismile kui jagatud võrgukettale.","Preview":"Eelvaade","Preview Images":"Eelvaatepildid","Previous":"Eelmine","Previous page":"Eelmine lehekülg","Previous visual":"Eelmine visuaalne","Primary":"Primaarne","Private":"Isiklik","Product Feedback":"Tagasiside","Projection":"Projektsioon","Purple":"Lilla","Quality Filter":"Kvaliteedifilter","Quality Score":"Kvaliteediskoor","r":"r","Random":"Juhuslik","Rating {0} of {1}":"Hinnang {0} {1}","Raw":"RAW","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Indekseeri uuesti kõik originaalid, sealhulgas juba indekseeritud ja muutmata failid.","Read-Only Mode":"Kirjutuskaitserežiim","Recently Added":"Hiljuti lisatud","Recently Archived":"Hiljuti arhiveeritud","Recently Edited":"Hiljuti muudetud","Recognition starts after indexing has been completed.":"Tuvastamine algab pärast indekseerimise lõppemist.","Recognize faces so people can be assigned and found.":"Tuvastab nägusid, et oleks võimalik konkreetseid inimesi leida.","Recognized":"Tuvastatud","Recovery Code":"Taastamiskood","Red":"Punane","Refresh":"Värskenda","Regions":"Piirkonnad","Register":"Registreeri","Reload":"Laadi uuesti","Reloading…":"Uuesti laadimine…","Remote Sync":"Kaugsünkroonimine","Remove":"Eemalda","remove failed: unknown album":"eemaldamine ebaõnnestus: tundmatu album","Remove from Album":"Eemalda albumist","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Eemalda imporditud failid salvestusruumi säästmiseks. Mittetoetatud failitüüpe ei kustutata kunagi, need jäävad oma praegusesse asukohta.","Request failed - are you offline?":"Taotlus ebaõnnestus - kas olete võrguühenduseta?","Request failed - invalid response":"Päring ebaõnnestus - vigane vastus","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Nõuda mittefotograafiliste ja madala kvaliteediga piltide läbivaatamist enne nende ilmumist otsingutulemustesse.","Resolution":"Resolutsioon","Restart":"Restart","Restore":"Taasta","Restored":"Taastatud","Retry Limit":"Korduvkatsete limiit","Retype Password":"Parool uuesti","Review":"Läbivaatamine","Role":"Role","Rows per page:":"Rida lehekülje kohta:","Satellite":"Satelliit","Save":"Salvesta","Scan":"Skannitud","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Skannige QR-kood oma autentimisrakendusega või kasutage allpool näidatud seadistusvõtit ja sisestage seejärel loodud kinnituskood:","Scans":"Skannid","Scope":"Reguleerimisala","Search":"Otsi","Search and display photos on a map.":"Otsi ja kuva fotosid kaardil.","Season":"Aastaaeg","Secret":"Salajane","Security and Access":"Turvalisus ja ligipääs","Select":"Vali","Select a source folder to import files…":"Valige failide importimiseks lähtekaust…","Select date":"Valige kuupäev","Select dates":"Valige kuupäevad","Select or create an album":"Valige või looge album","Select the files to upload…":"Valige üleslaaditavad failid…","Select the folder to be indexed…":"Valige indekseeritav kaust…","Select Time":"Valige aeg","Selection approved":"Valik heaks kiidetud","Selection archived":"Valik arhiveeritud","Selection restored":"Valik taastatud","Sequential Name":"Järjestikune nimi","Service URL":"Teenuse URL","Services":"Teenused","Session":"Sessioon","Session ID":"Seansi ID","Sessions":"Sessioonid","Set as Album Cover":"Komplekt albumikaanena","Settings":"Seaded","Settings saved":"Seaded salvestatud","Setup":"Seadista","Share":"Jaga","Share %{s}":"Jaga %{s}","Share your pictures with other apps and services.":"Jaga oma pilte teiste rakenduste ja teenustega.","Show":"Näita","Show all new faces":"Näita kõiki uusi nägusid","Show Captions":"Näita pildiallkirju","Show hidden":"Näita peidetud","Show less":"Näita vähem","Show more":"Näita rohkem","Show server logs in Library.":"Näita serverilogisid fototeegis.","Show Titles":"Näita pealkirju","Sidecar":"Abifail","Sidecar Files":"Külgkorvi failid","Sign in":"Logi sisse","Similar":"Sarnased","Size":"Suurus","Slideshow":"Slaidiesitlus","Slow":"Aeglane","Software":"Tarkvara","Software Update":"Tarkvara värskendus","Something went wrong, try again":"Midagi läks valesti, proovige uuesti","Sort by":"Sorteerimine","Sort Order":"Järjekord","Sorted ascending.":"Sorteeritud ülespoole.","Sorted descending.":"Sorteeritud kahanevas järjestuses.","Source":"Allikas","Stack":"Virn","Stack files sharing the same unique image or instance identifier.":"Pane virna failid, mis jagavad sama unikaalset kujutist või identifikaatorit.","Stack pictures taken at the exact same time and location based on their metadata.":"Pane virna metaandmete alusel täpselt samal ajal ja samas kohas tehtud pildid.","Stackable":"Virnastatav","Stacks":"Virnad","Start":"Alusta","Start Page":"Algusleht","Static Size Limit: %{n}px":"Staatiline suuruse limiit: %{n}px","Status":"Staatus","Storage":"Asukoht","Streets":"Tänavad","Subject":"Subjekt","Submit":"Esita","Successfully activated":"Edukalt aktiveeritud","Successfully Connected":"Edukalt ühendatud","Successfully deleted":"Edukalt kustutatud","Successfully verified":"Edukalt kinnitatud","Super Admin":"Super Admin","Support for additional services, like Google Drive, will be added over time.":"Tugi täiendavatele teenustele nagu Google Drive lisandub aja jooksul.","Support Our Mission":"Toeta meie missiooni","Sync":"Sünkroonimine","Sync raw and video files":"Sünkrooni RAW ja videofaile","Taken":"Pildistatud","Teal":"Sinakasroheline","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow on vajalik piltide klassifitseerimiseks, näotuvastuseks ja ohtliku sisu tuvastamiseks.","Terrain":"Maastik","Text":"Tekst","Text too long":"Tekst on liiga pikk","Thank You for Your Support!":"Täname teie toetuse eest!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Seepärast on PhotoPrism loodud algusest peale nii, et see töötab kõikjal, kus te seda vajate, ilma et see ohustaks vabadust, privaatsust või funktsionaalsust.","The index currently contains %{n} hidden files.":"Indeks sisaldab praegu %{n} peidetud faili.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Nende formaat ei pruugi olla toetatud, neid ei ole veel JPEG-vormingusse konverteeritud või on olemas duplikaadid.","Theme":"Välimus","This field is required":"See väli on kohustuslik","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"See ühendab originaalide kausta võrgukettana ja võimaldab avada, muuta ja kustutada faile arvutist või nutitelefonist, nagu oleksid need kohalikud.","Time UTC":"UTC aeg","Time Zone":"Ajavöönd","Timeout":"Ajalõpp","Title":{"Account":"Tiitel","Photo":"Pealkiri","":"Pealkiri"},"Title / Position":"Tiitel / ametikoht","Title too long":"Pealkiri on liiga pikk","to":"aadressile","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Kontole juurdepääsu vältimiseks laadige see taastekood kohe alla, printige või kopeerige ja hoidke seda turvalises kohas.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Uue rakendusepõhise parooli loomiseks sisestage rakenduse nimi ja volituse ulatus ning valige aegumiskuupäev:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Uuele autentimisrakendusele või seadmele lülitumiseks deaktiveerige esmalt kahefaktoriline autentimine ja seejärel taasaktiveerige.","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Uuendamiseks saate kas sisestada aktiveerimiskoodi või klõpsata \"Registreeri\", et registreeruda meie veebisaidil:","Today":"Täna","Toggle View":"Muuda vaadet","Token":"Token","Too many files selected":"Liiga palju valitud faile","Too many requests":"Liiga palju taotlusi","Troubleshooting":"Veaotsing","Try again using other filters or keywords.":"Proovi uuesti, kasutades teisi filtreid või märksõnu.","Two-factor authentication has been enabled for your account.":"Teie konto jaoks on lubatud kahefaktoriline autentimine.","Type":"Tüüp","Unauthorized":"Autoriseerimata","Undo":"Võta tagasi","Unique ID":"Unikaalne ID","Unknown":"Teadmata","Unregistered":"Mitteregistreeritud","Unsorted":"Sorteerimata","Unstack":"Unstack","Updated":"Uuendatud","Updating faces":"Nägude uuendamine","Updating index":"Indeksi uuendamine","Updating moments":"Hetkede uuendamine","Updating picture…":"Pildi uuendamine…","Updating previews":"Eelvaadete uuendamine","Updating stacks":"Virnade uuendamine","Upgrade":"Uuendamine","Upgrade Now":"Uuenda nüüd","Upload":"Üleslaadimine","Upload complete":"Üleslaadimine lõpetatud","Upload complete. Indexing…":"Üleslaadimine lõpetatud. Indekseerimine…","Upload failed":"Üleslaadimine ebaõnnestus","Upload local files":"Laadi üles kohalikud failid","Upload Path":"Upload Path (üleslaadimise tee)","Upload to WebDAV and share links with friends.":"Laadi üles WebDAV-i ja jaga linke sõpradega.","Uploading %{n} of %{t}…":"Üleslaadimine %{n}/%{t}…","Uploading photos…":"Fotode üleslaadimine…","Uploading…":"Üleslaadimine…","Uploads that may contain such images will be rejected automatically.":"Selliseid pilte sisaldavad üleslaadimised lükatakse automaatselt tagasi.","Use Presets":"Kasuta eelseadistusi","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Kui te ei saa autentimisrakendusega kehtivat kinnituskoodi luua, kasutage oma kontole juurdepääsuks järgmist taastekoodi.","Use your recovery code or contact an administrator for help.":"Kasutage oma taastamiskoodi või võtke abi saamiseks ühendust administraatoriga.","User":"Kasutaja","User Guide":"Kasutajajuhend","User Interface":"Kasutajaliides","Username":"Kasutajanimi","Users":"Kasutajad","Vector":"Vektor","Vectors":"Vektorid","Verification Code":"Kinnituskood","Video":"Video","Video Duration":"Video kestus","Videos":"Videod","View":"Vaade","View search results as a list.":"Vaadake otsingutulemusi nimekirjana.","Viewer":"Vaataja","Visitor":"Külastaja","Visual Similarity":"Visuaalne sarnasus","Warning":"Hoiatus","We appreciate your feedback!":"Me hindame teie tagasisidet!","We do our best to respond within five business days or less.":"Anname endast parima, et vastata viie tööpäeva jooksul või vähem.","Web Login":"Veebisisene sisselogimine","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"WebDAV kliendid saavad PhotoPrismiga ühenduda järgmise URL-i kaudu:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"WebDAV kliendid, nagu Microsofti Windows Explorer või Apple'i Finder, saavad \nPhotoPrismiga otse ühenduda.","WebDAV Upload":"WebDAV üleslaadimine","WebGL support is disabled in your browser":"WebGL tugi on teie brauseris välja lülitatud","Website":"Veebileht","White":"Valge","Work Details":"Töö üksikasjad","Year":"Aasta","Yellow":"Kollane","Yes":"Jah","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Olete oodatud meiega ühendust võtma aadressil membership@photoprism.app, kui teil on küsimusi seoses teie liikmelisusega.","You can only download one album":"Võid alla laadida ainult ühe albumi","You can only download one label":"Võid alla laadida ainult ühe sildi","You can upload up to %{n} files for test purposes.":"Saate testimiseks üles laadida kuni %{n} faili.","You may only select one item":"Võid valida ainult ühe objekti","You may rescan your library to find additional faces.":"Võid oma fototeeki uuesti skaneerida, et veel nägusid leida.","Your account has been successfully connected.":"Teie konto on edukalt ühendatud.","Your browser does not support WebGL":"Teie brauser ei toeta WebGL-i","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Sinu jätkuv toetus aitab meil pakkuda regulaarseid uuendusi ja jääda sõltumatuks, et me saaksime täita oma missiooni ja kaitsta sinu privaatsust.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Sinu fototeeki analüüsitakse pidevalt, et luua automaatselt albumied erilistest hetkedest, reisidest ja kohtadest.","Zoom in/out":"Suumi sisse/välja"}} \ No newline at end of file +{"et":{"{0} appended action":"{0} lisatud tegevus","{0} files":"{0} failid","{0} files ({1} in total)":"{0} failid ({1} kokku)","{0} more":"{0} rohkem","{0} prepended action":"{0} eelistatud tegevus","{0} selected":"{0} valitud","{0}-{1} of {2}":"{0}-{1} of {2}","%{n} albums found":"%{n} albumit leitud","%{n} files uploaded":"%{n} faili üles laaditud","%{n} folders found":"%{n} kausta leitud","%{n} GB of %{q} GB used":"%{n} GB %{q} kasutatud GB","%{n} labels found":"%{n} silti leitud","%{n} people found":"%{n} inimest leitud","%{n} pictures found":"%{n} pilti leitud","%{s} is too long":"%{s} on liiga pikk","%{s} is too short":"%{s} on liiga lühike","1 hour":"1 tund","12 hours":"12 tundi","2-Factor Authentication":"2-faktoriline autentimine","2FA":"2FA","4 hours":"4 tundi","A click will copy it to your clipboard.":"Klõpsamine kopeerib selle lõikelauale.","A new version of %{s} is available:":"Rakenduse %{s} uus versioon on saadaval:","About":"Teave","Access Token":"Juurdepääsutunnus","Account":"Konto","Account created":"Konto loodud","Account deleted":"Konto kustutatud","Account restored":"Konto taastatakse","Accounts":"Kontod","Accuracy":"Täpsus","Action":"Tegevus","Actions":"Tegevused","Activate":"Aktiveeri","Activate to remove sorting.":"Aktiveerige sorteerimise eemaldamiseks.","Activate to sort ascending.":"Aktiveerige sorteerimine ülespoole.","Activate to sort descending.":"Aktiveerige sorteerimine kahanevas järjestuses.","Activation Code":"Aktiveerimiskood","Add":"Lisa","Add %{s}?":"Lisa %{s}?","Add Account":"Lisa konto","Add Album":"Lisa album","Add files to your library via Web Upload.":"Lisa faile oma fototeeki üleslaadimise teel.","Add Link":"Lisa link","Add person?":"Lisa inimene?","Add pictures from search results by selecting them.":"Lisa pilte otsingutulemustest neid valides.","Add to album":"Lisa albumisse","Added":"Lisatud","Adjust Location":"Kohandage asukohta","Admin":"Admin","Advanced":"Täpsemad","After 1 day":"1 päeva pärast","After 3 days":"3 päeva pärast","After 7 days":"7 päeva pärast","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Pärast parooli kinnitamiseks sisestamist saate seadistada kahefaktorilise autentimise ühilduva autentimisrakenduse või -seadmega.","After one month":"Ühe kuu pärast","After one year":"Ühe aasta pärast","After selecting pictures from search results, you can add them to an album using the context menu.":"Pärast piltide valimist otsingutulemustest saad need kontekstimenüü abil albumisse lisada.","After two months":"Kahe kuu pärast","After two weeks":"Kahe nädala pärast","Album":"Album","Album Backups":"Albumite varukoopiad","Album created":"Album lisatud","Album deleted":"Album kustutatud","Albums":"Albumid","Albums deleted":"Albumid kustutatud","All":"Kõik","All %{n} albums loaded":"Kõik %{n} albumit laaditud","All %{n} labels loaded":"Kõik %{n} silti laaditud","All %{n} people loaded":"Kõik %{n} inimest laaditud","All Cameras":"Kõik kaamerad","All Categories":"Kõik kategooriad","All Colors":"Kõik värvid","All Countries":"Kõik riigid","All fields are required":"Kõik väljad on kohustuslikud","All files from import folder":"Kõik failid impordikaustast","All Lenses":"Kõik läätsed","All Months":"Kõik kuud","All originals":"Kõik originaalid","All Years":"Kõik aastad","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Alternatiivina saad faile üles laadida otse WebDAV serveritesse nagu Nextcloud.","Altitude":"Kõrgus","Altitude (m)":"Kõrgus (m)","AM":"AM","Animated":"Animeeritud","Animation":"Animatsioon","Animations":"Animatsioonid","Any private photos and videos remain private and won't be shared.":"Kõik isiklikud fotod ja videod jäävad isiklikuks ja neid ei jagata.","API Key":"API võti","Application":"Taotlus","Apply":"Rakenda","Approve":"Kinnita","Apps and Devices":"Rakendused ja seadmed","Archive":"Arhiiv","Archived":"Arhiveeritud","Are you sure you want to archive the selection?":"Kas oled kindel, et soovid valiku arhiveerida?","Are you sure you want to delete these albums?":"Kas oled kindel, et soovid need albumid kustutada?","Are you sure you want to delete these labels?":"Kas oled kindel, et soovid need sildid kustutada?","Are you sure you want to delete this account?":"Kas oled kindel, et soovid selle konto kustutada?","Are you sure you want to delete this album?":"Kas olete kindel, et soovite selle albumi kustutada?","Are you sure you want to permanently delete these pictures?":"Kas oled kindel, et soovid need pildid lõplikult kustutada?","Are you sure you want to permanently delete this file?":"Kas oled kindel, et soovid selle faili lõplikult kustutada?","Are you sure?":"Kas sa oled kindel?","Artist":"Kunstnik","Aspect Ratio":"Küljesuhe","Audio":"Audio","Authentication":"Autentimine","Auto":"Auto","Back":"tagasi","Back to top":"Tagasi üles","Backup":"Varukoopia","Badge":"Märgis","Base Path":"Baasirada","Become a member today, support our mission and enjoy our member benefits!":"Astu liikmeks juba täna, toeta meie missiooni ja naudi meie liikmete soodustusi!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Kuna me oleme 100% isefinantseeritud ja sõltumatud, võime lubada, et me ei müü kunagi su andmeid ja et oleme oma tarkvara ja teenuste osas alati läbipaistvad.","Bio":"Elulugu","Birth Date":"Sünnikuupäev","Black":"Must","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Lanczos modifikatsioon, vähem artefakte","Blue":"Sinine","Brown":"Pruun","Browse":"Sirvi","Browse and edit image classification labels.":"Sirvi ja muuda piltide klassifitseerimise silte.","Browse and share your pictures organized into monthly albums.":"Sirvige ja jagage oma pilte, mis on organiseeritud igakuistesse albumitesse.","Browse Files":"Failide sirvimine","Browse indexed files and folders in Library.":"Sirvi fototeegis olevaid indekseeritud faile ja kaustu.","Bug Report":"Vearaport","Busy, please wait…":"Hõivatud, palun oota…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Meie poolt pakutavat tarkvara ja teenuseid kasutades nõustud kasutustingimuste, privaatsuspoliitika ja käitumiskoodeksiga.","Calendar":"Kalender","Camera":"Kaamera","Camera Serial":"Kaamera seerianumber","Can't access your authenticator app or device?":"Ei saa juurdepääsu oma autentimisrakendusele või seadmele?","Can't load more, limit reached":"Rohkem ei saa laadida, limiit on saavutatud","Can't select more items":"Rohkem objekte ei saa valida","Cancel":"Katkesta","Cannot copy to clipboard":"Ei saa kopeerida lõikelauale","Caption":"Pealkiri","Cards":"Kaardid","Carousel slide {0} of {1}":"Karussell slaid {0} of {1}","Category":"Kategooria","Change Avatar":"Muuda profiilipilti","Change Password":"Muuda parool","Change personal profile and security settings.":"Muuta isikliku profiili ja turvaseadeid.","Change photo titles, locations, and other metadata.":"Muuda fotode pealkirju, asukohti ja muid metaandmeid.","Change private flag":"Muuda isiklikkust","Changes could not be saved":"Muudatuste salvestamine ebaõnnestus","Changes successfully saved":"Muudatused edukalt salvestatud","Changes to the advanced settings require a restart to take effect.":"Täiustatud seadete muutmine nõuab jõustumiseks taaskäivitamist.","Checked":"Kontrollitud","Chroma":"Värviküllastus","Cleaning index and cache":"Indeksi ja vahemälu puhastamine","Cleanup":"Puhastamine","Clear {0}":"Clear {0}","Client":"Klient","Client Credentials":"Kliendi volitused","Close":"Sulge","Codec":"Koodek","Color":"Värv","Color Profile":"Värviprofiil","Colors":"Värvid","Compare Editions":"Võrdle versioone","Complete Rescan":"Täielik taasskannimine","Confidence":"Kindlus","Confirm":"Kinnita","Connect":"Ühenda","Connect via WebDAV":"Ühenda WebDAV-i kaudu","Connected":"Ühendatud","Contact Details":"Kontaktandmed","Contact Us":"Võta meiega ühendust","Contains %{n} pictures.":"Sisaldab %{n} pilti.","Contains one picture.":"Sisaldab ühte pilti.","Content":"Sisu","Continue":"Jätka","Continue with %{provider}":"Jätka %{provider}","Contributor":"Toetaja","Converting":"Konverteerimine","Copied to clipboard":"Kopeeritud lõikelauale","Copy":"Kopeeri","Copyright":"Autoriõigus","Couldn't find anything.":"Midagi ei leitud.","Country":"Riik","Create Account":"Loo konto","Create album":"Lisa album","Create regular backups based on the configured schedule.":"Looge indeksi varukoopiaid vastavalt seadistatud ajakavale.","Create YAML files to back up album metadata.":"Loo YAML-failid albumite metaandmete varundamiseks.","Create YAML sidecar files to back up picture metadata.":"Loo YAML-sidekartiifailid pildi metaandmete varundamiseks.","Created":"Lisatud","Creating thumbnails for":"Pisipiltide loomine:","Cubic: Moderate Quality, Good Performance":"Cubic: mõõdukas kvaliteet, hea jõudlus","Current Password":"Praegune parool","Custom":"Kohandatud","Cyan":"Tsüaan","Daily":"Üks kord päevas","Database Backups":"Andmebaasi varukoopiad","Day":"Päev","Deactivate":"Deaktiveeri","Debug Logs":"Tõrkeotsingu logid","Default":"Vaikimisi","Default Folder":"Vaikimisi kaust","Delete":"Kustuta","Delete Album":"Kustuta album","Delete All":"Kustuta kõik","Delete all?":"Kustutada kõik?","Delete orphaned index entries, sidecar files and thumbnails.":"Kustutage orbude indeksikanded, külgmised failid ja pisipildid.","Description":"Kirjeldus","Detailed instructions can be found in our User Guide.":"Üksikasjalikud juhised leiad meie kasutajajuhendist.","Details":"Üksikasjad","Dimensions":"Mõõtmed","Disable Backups":"Keela varukoopiad","Disable Darktable":"Keela Darktable","Disable ExifTool":"Keela ExifTool","Disable features that require write permission for the originals folder.":"Lülitage välja funktsioonid, mis nõuavad originaalide kausta kirjutamisõigust.","Disable FFmpeg":"Keela FFmpeg","Disable ImageMagick":"Lülita ImageMagick välja","Disable interactive world maps and reverse geocoding.":"Lülitage interaktiivsed maailmakaardid ja vastupidine geokodeerimine välja.","Disable Places":"Keela kohad","Disable RawTherapee":"Keela RawTherapee","Disable TensorFlow":"Keela TensorFlow","Disable Vectors":"Vektorite väljalülitamine","Disable WebDAV":"Keela WebDAV","Disables vector graphics support.":"Lülitab vektorgraafika toetuse välja.","Disables video transcoding and thumbnail extraction.":"Lülitab välja video transkodeerimise ja pisipildi väljavõtte.","Discover":"Avasta","Dismiss":"Lase lahti","Display Name":"Esitusnimi","Display picture captions in search results.":"Pildiallkirjade kuvamine otsingutulemustes.","Display picture titles in search results.":"Pildi pealkirjade kuvamine otsingutulemustes.","Document":"Dokument","Documents":"Dokumendid","Don't use Darktable to convert RAW images.":"Ärge kasutage Darktable'i RAW-piltide teisendamiseks.","Don't use ImageMagick to convert images.":"Ärge kasutage ImageMagicki piltide teisendamiseks.","Don't use RawTherapee to convert RAW images.":"Ärge kasutage RawTherapee't RAW-piltide teisendamiseks.","Done":"Tehtud","Done.":"Tehtud.","Download":"Laadi alla","Download only original media files, without any automatically generated files.":"Laadige alla ainult originaalsed meediafailid, ilma automaatselt genereeritud failideta.","Download remote files":"Laadi alla kaugfailid","Download single files and zip archives.":"Laadi alla üksikuid faile ja ZIP-arhiive.","Downloading…":"Allalaadimine…","Downscaling Filter":"Skaleerimisfilter","Drag and drop files here":"Lohistage failid siia","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"Meile saabuvate e-kirjade suure hulga tõttu ei pruugi meie meeskond olla võimeline kohe vastama.","Duplicates will be skipped and only appear once.":"Duplikaadid jäetakse vahele ja neid kuvatakse ainult ühekordselt.","Duration":"Kestus","Dynamic Previews":"Dünaamilised eelvaated","Dynamic Size Limit: %{n}px":"Dünaamiline suuruse limiit: %{n}px","E-Mail":"E-post","Edit":"Muuda","Edit %{s}":"Muuda %{s}","Edit Account":"Konto muutmine","Edit Photo":"Foto muutmine","Edited":"Muudetud","Email":"E-post","Enable debug mode to display additional logs and help with troubleshooting.":"Lubage tõrjerežiim, et kuvada täiendavaid logisid ja aidata tõrkeotsingutel.","Enable new features that may be incomplete or unstable.":"Võta kasutusele uued funktsioonid, mis võivad olla ebatäielikud või ebastabiilsed.","Enables RAW converter presets. May reduce performance.":"Lubab RAW-konverteri eelseadistused. Võib vähendada jõudlust.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Kahefaktorilise autentimise lubamine tähendab, et sisselogimiseks vajate juhuslikult genereeritud kinnituskoodi, nii et isegi kui keegi saab juurdepääsu teie paroolile, ei pääse ta teie kontole juurde.","Enter date":"Sisestage kuupäev","Enter dates":"Sisestage kuupäevad","Enter the code generated by your authenticator app:":"Sisestage autentimisrakenduse poolt genereeritud kood:","Enter verification code":"Sisesta kontrollkood","Enter your password to confirm the action and continue:":"Toimingu kinnitamiseks ja jätkamiseks sisestage oma parool:","Error":"Viga","Errors":"Vead","Estimate":"Hinnang:","Estimate Locations":"Hinnangulised asukohad","Estimate the approximate location of pictures without GPS coordinates.":"Hinnake piltide ligikaudset asukohta ilma GPS-koordinaatideta.","Every two days":"Iga kahe päeva tagant","Exclude content marked as private from search results, shared albums, labels, and places.":"Välista otsingutulemustest, jagatud albumitest, siltidest ja kohtadest isiklikuks märgitud sisu.","Exclude hidden":"Välista peidetud","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"Metaandmete ekstraheerimine ExifTooliga on vajalik täieliku video-, live-foto- ja XMP-toe saamiseks.","Experimental Features":"Eksperimentaalsed funktsioonid","Expires":"Aegub","Exposure":"Säriaeg","Extract still images and generate thumbnails while indexing.":"Väljavõte fotodest ja pisipiltide genereerimine indekseerimise ajal.","F Number":"F-number","Face":"Nägu","Faces":"Näod","Failed removing link":"Lingi eemaldamine ebaõnnestus","Failed to connect account.":"Konto ühendamine ebaõnnestus.","Failed updating link":"Lingi uuendamine ebaõnnestus","Family Name":"Perekonnanimi","Fast":"Kiire","Favorite":"Lemmik","Favorites":"Lemmikud","Feature Request":"Funktsiooni taotlus","Feedback":"Tagasiside","Female":"Naine","File":"Fail","File Browser":"Failibrauser","File Conversion":"Faili konverteerimine","File Name":"Faili nimi","File Size":"Faili suurus","Filename":"Failinimi","Files":"Failid","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Järjestikuste nimedega failid nagu 'IMG_1234 (2)' ja 'IMG_1234 (3)' kuuluvad samale pildile.","First page":"Esimene lehekülg","Focal Length":"Fookuskaugus","Folder":"Kaust","Folder contains %{n} files":"Kaust sisaldab %{n} faili","Folder is empty":"Kaust on tühi","Folders":"Kaustad","Forgot password?":"Unustasid parooli?","FPS":"Kaadrisagedus","Frames":"Kaadrid","Full Access":"Täielik juurdepääs","Fullscreen":"Täisekraan","General":"Üldised","Generate":"Genereeri","Generate albums of special moments, journeys, and places.":"Loob automaatselt albumid erilistest hetkedest, reisidest ja kohtadest.","Generate Previews":"Loo eelvaateid","Generated":"Genereeritud","Get Started":"Alusta","Given Name":"Eesnimi","Global Options":"Globaalsed valikud","Go to page {0}":"Mine lehele {0}","Gold":"Kuld","Green":"Roheline","Grey":"Hall","Guest":"Külaline","Hash":"Räsi","Help":"Abi","Help & Support":"Abi ja tugi","Hidden":"Peidetud","Hidden Files":"Peidetud failid","Hide":"Peida","Hide photos that have been moved to archive.":"Peida fotod, mis on viidud arhiivi.","High":"Kõrge","High Dynamic Range (HDR)":"Lai dünaamiline diapasoon (HDR)","How can we help?":"Kuidas me saame aidata?","Hybrid":"Hübriid","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Kui kaotate juurdepääsu autentimisrakendusele või -seadmele, saate oma kontole juurdepääsu taastamiseks kasutada taastekoodi.","Image":"Pilt","Image Quality":"Pildi kvaliteet","Import":"Import","Import failed":"Import ebaõnnestus","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Imporditud failid sorteeritakse kuupäeva järgi ja neile antakse duplikaatide vältimiseks unikaalne nimi.","Imported files will be sorted by date and given a unique name.":"Imporditud failid sorteeritakse kuupäeva järgi ja neile antakse unikaalne nimi.","Importing %{s}…":"%{s} importimine…","Importing files to originals…":"Failide importimine originaalidesse…","in":"ajaga","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"Kui pildid, mida ootasid, on puudu, skanni oma fototeek uuesti ja oota, kuni indekseerimine on lõpetatud.","Include RAW image files when downloading stacks and archives.":"Kaasa RAW-pildifailid virnade ja arhiivide allalaadimisel.","Include sidecar files when downloading stacks and archives.":"Kaasa külgkorvifailid virnade ja arhiivide allalaadimisel.","Increase storage size or delete files to continue.":"Jätkamiseks suurendage salvestusruumi suurust või kustutage faile.","Index":"Indeks","Index and import files through the user interface.":"Indekseeri ja impordi faile kasutajaliidese kaudu.","Indexing":"Indekseerimine","Indexing failed":"Indekseerimine ebaõnnestus","Indexing media and sidecar files…":"Meedia- ja abifailide indekseerimine…","Information":"Teave","Instance ID":"Eksemplari ID","Insufficient storage.":"Ebapiisav ladustamine.","Interval":"Intervall","Invalid":"Vigane","Invalid address":"Vale aadress","Invalid country":"Vale riik","Invalid date":"Vigane kuupäev","Invalid parameters":"Vigased parameetrid","Invalid photo selected":"Vigane foto valitud","Invalid time":"Vale aeg","Invalid URL":"Vale URL aadress","It is a one-time use code that will disable 2FA for your account when you use it.":"See on ühekordne kood, mis keelab teie kontol 2FA, kui seda kasutate.","Item":"Element","Items per page:":"Kirjed lehekülje kohta:","JPEG Quality: %{n}":"JPEG kvaliteet: %{n}","JPEG Size Limit: %{n}px":"JPEG suuruse limiit: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"JPEG- ja pisipildid renderdatakse automaatselt vastavalt vajadusele.","Keywords":"Märksõnad","Label":"Silt","Labels":"Sildid","Labels deleted":"Sildid kustutatud","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: detailide säilitamine, minimaalsed artefaktid","Language":"Keel","Last Active":"Viimane aktiivne","Last Login":"Viimane sisselogimine","Last page":"Viimane lehekülg","Last Sync":"Viimane sünkroonimine","Last Used":"Viimati kasutatud","Latitude":"Laiuskraad","LDAP/AD":"LDAP/AD","Learn more":"Lisateave","Learn More":"Lisateave","Legal Information":"Õigusalane teave","Lens":"Objektiiv","Library":"Fototeek","License":"Litsents","Like":"Meeldib","Lime":"Laimiroheline","Limit reached, showing first %{n} files":"Limiit saavutatud, näidatakse esimest %{n} faili","Linear: Very Smooth, Best Performance":"Lineaarne: väga sujuv, parim jõudlus","Link":"Link","List":"Loend","List View":"Nimekirja vaade","Live":"Live","Live Photos":"Liikuvad fotod","Load more":"Laadige rohkem","Loading items...":"Laadimine...","Loading...":"Laadimine...","Local":"Kohalik","Local Time":"Kohalik aeg","Location":"Asukoht","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Siia ilmuvad logiteated, kui PhotoPrism leiab katkiseid faile või kui esineb muid probleeme.","Login":"Logi sisse","Logout":"Logi välja","Logs":"Logid","Longitude":"Pikkuskraad","Low":"Madal","Magenta":"Magenta","Main Color":"Põhivärv","Male":"Mees","Manage Account":"Halda kontot","Manager":"Juht","Manual":"Käsitsi","Manual Upload":"Käsitsi üleslaadimine","Maps":"Kaardid","Marker":"Märk","Maximum number of accounts has been reached.":"Maksimaalne kontode arv on saavutatud.","Media":"Meedia","Medium":"Keskmine","Membership":"Liikmelisus","Merge %{a} with %{b}?":"Ühendada %{a} ja %{b}?","Message":"Sõnum","Message sent":"Sõnum saadetud","Metadata":"Metaandmed","Metrics":"Mõõdikud","Minimize":"Minimeeri","Missing":"Puudub","Missing or invalid configuration":"Puuduv või vigane konfiguratsioon","Moments":"Hetked","Monochrome":"Mustvalge","Month":"Kuu","More options":"Rohkem võimalusi","Mosaic":"Mosaiik","Most Relevant":"Asjakohasemad eespool","Move Files":"Liiguta failid","Must have at least %{n} characters.":"Peab olema vähemalt %{n} tähemärki.","Mute":"Mute","Name":"Nimi","Name too long":"Nimi on liiga pikk","Never":"Mitte kunagi","New":"Uus","New Password":"Uus parool","Newest First":"Uuemad eespool","Next":"Järgmine","Next page":"Järgmine lehekülg","Next visual":"Järgmine visuaalne","No":"Ei","No albums found":"Albumeid ei leitud","No data available":"Andmed puuduvad","No labels found":"Silte ei leitud","No matching records found":"Sobivaid kirjeid ei leitud","No more":"Enam ei ole","No people found":"Inimesi ei leitud","No pictures found":"Pilte ei leitud","No recently edited pictures":"Hiljuti muudetud pilte ei ole","No results":"Tulemusi ei ole","No server connection":"Serveriühendus puudub","No servers configured.":"Ühtegi serverit pole seadistatud.","No services configured.":"Ühtegi teenust pole seadistatud.","No thanks":"Ei aitäh","No warnings or error containing this keyword. Note that search is case-sensitive.":"Seda märksõna sisaldavaid hoiatusi või vigu ei ole. Pane tähele, et otsing on tõusutundlik.","Non-photographic and low-quality images require a review before they appear in search results.":"Mittefotograafilised ja madala kvaliteediga pildid tuleb üle vaadata, enne kui nad otsingutulemustes ilmuvad.","None":"Puudub","Not allowed":"Ei ole lubatud","Not found":"Ei leitud","Not sorted.":"Ei ole sorteeritud.","Not supported":"Ei toetata","Note you may manually manage your originals folder and importing is optional.":"Pane tähele, et võid originaalide kausta käsitsi hallata, importimine on vabatahtlik.","Note:":"Märkus:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Märkus: Ainult WebDAV servereid, nagu Nextcloud või PhotoPrism, saab seadistada kaugteenusena varundamiseks ja failide üleslaadimiseks.","Notes":"Märkused","Nothing to see here yet.":"Siin pole veel midagi näha.","Nothing was found.":"Midagi ei leitud.","Offline":"Võrguühenduseta","OIDC":"OIDC","OK":"OK","Oldest First":"Vanemad eespool","On Windows, enter the following resource in the connection dialog:":"Windowsis sisestage ühendusdialoogi järgmine ressurss:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"Väikepiltide nõudmisel genereerimine võib põhjustada suurt protsessori- ja mälukasutust. Seda ei soovitata piiratud ressurssidega serverite ja NAS-seadmete puhul.","Once a week":"Üks kord nädalas","One album found":"Üks album leitud","One file found":"Üks fail leitud","One file uploaded":"Üks fail üles laaditud","One folder found":"Üks kaust leitud","One label found":"Üks silt leitud","One person found":"Üks inimene leitud","One picture found":"Üks pilt leitud","Only locally managed accounts can be set up for authentication with 2FA.":"2FA-ga autentimiseks saab seadistada ainult lokaalselt hallatud kontosid.","Open":"Avatud","optional":"vabatahtlik","or":"või","Orange":"Oranžikas","Organization":"Organisatsioon","Orientation":"Orientatsioon","Original file names will be stored and indexed.":"Failide algsed nimed salvestatakse ja indekseeritakse.","Original Name":"Esialgne nimi","Originals":"Originaalid","Other":"Muu","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Meie eesmärk on pakkuda kõige kasutajasõbralikumat ja privaatsussõbralikumat lahendust, et hoida teie pilte korrastatuna ja kättesaadavana.","Outdoor":"Loodus","Page {0}, Current page":"Lehekülg {0}, Praegune lehekülg","Pages":"Leheküljed","Pagination Navigation":"Lehekülgede navigeerimine","Panorama":"Panoraam","Panoramas":"Panoraamid","Password":"Parool","Password changed":"Parool muudetud","People":"Inimesed","People you share a link with will be able to view public contents.":"Inimesed, kellega linki jagad, saavad avalikku sisu vaadata.","Permanently deleted":"Lõplikult kustutatud","Permanently remove files to free up storage.":"Kustuta failid lõplikult, et vabastada salvestusruumi.","Person":"Isik","Personal":"Isiklik","Photo":"Foto","PhotoPrism is 100% self-funded and independent.":"PhotoPrism on 100% omafinantseeringuline ja sõltumatu.","PhotoPrism+ Membership":"PhotoPrism+ liikmelisus","Photos":"Fotod","Picture Title":"Pildi pealkiri","Pink":"Roosa","Place":"Koht","Place & Time":"Koht ja aeg","Places":"Kohad","Please confirm your new password.":"Palun kinnita oma uus parool.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Kopeerige järgmine juhuslikult loodud rakenduse parool ja hoidke seda kindlas kohas, kuna te ei saa seda enam näha.","Please do not upload any private, unlawful or offensive pictures.":"Palun ärge laadige üles privaatseid, ebaseaduslikke või solvavaid pilte.","Please don't upload photos containing offensive content.":"Palun ära laadi üles solvava sisuga fotosid.","Please enter OTP character {0}":"Palun sisestage OTP märk {0}","Please note that changing your password will log you out on other devices and browsers.":"Pane tähele, et parooli muutmine logib sind teistes seadmetes ja brauserites välja.","Please restart your instance for the changes to take effect.":"Palun taaskäivitage oma instants, et muudatused jõustuksid.","Please wait…":"Palun oodake…","PM":"PM","PNG Size Limit: %{n}px":"PNG suuruse limiit: %{n}px","Portrait":"Püstformaat","Preserve filenames":"Säilita failinimed","Press enter to create a new album.":"Uue albumi lisamiseks vajuta Enter.","Prevent database and album backups as well as YAML sidecar files from being created.":"Andmebaasi ja albumi varukoopiate ning YAML-sidcar-failide loomise vältimine.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Vältida teiste rakenduste juurdepääsu PhotoPrismile kui jagatud võrgukettale.","Preview":"Eelvaade","Preview Images":"Eelvaatepildid","Previous":"Eelmine","Previous page":"Eelmine lehekülg","Previous visual":"Eelmine visuaalne","Primary":"Primaarne","Private":"Isiklik","Product Feedback":"Tagasiside","Projection":"Projektsioon","Purple":"Lilla","Quality Filter":"Kvaliteedifilter","Quality Score":"Kvaliteediskoor","r":"r","Random":"Juhuslik","Rating {0} of {1}":"Hinnang {0} {1}","Raw":"RAW","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Indekseeri uuesti kõik originaalid, sealhulgas juba indekseeritud ja muutmata failid.","Read-Only Mode":"Kirjutuskaitserežiim","Recently Added":"Hiljuti lisatud","Recently Archived":"Hiljuti arhiveeritud","Recently Edited":"Hiljuti muudetud","Recognition starts after indexing has been completed.":"Tuvastamine algab pärast indekseerimise lõppemist.","Recognize faces so people can be assigned and found.":"Tuvastab nägusid, et oleks võimalik konkreetseid inimesi leida.","Recognized":"Tuvastatud","Recovery Code":"Taastamiskood","Red":"Punane","Refresh":"Värskenda","Regions":"Piirkonnad","Register":"Registreeri","Reload":"Laadi uuesti","Reloading…":"Uuesti laadimine…","Remote Sync":"Kaugsünkroonimine","Remove":"Eemalda","remove failed: unknown album":"eemaldamine ebaõnnestus: tundmatu album","Remove from Album":"Eemalda albumist","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Eemalda imporditud failid salvestusruumi säästmiseks. Mittetoetatud failitüüpe ei kustutata kunagi, need jäävad oma praegusesse asukohta.","Request failed - are you offline?":"Taotlus ebaõnnestus - kas olete võrguühenduseta?","Request failed - invalid response":"Päring ebaõnnestus - vigane vastus","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Nõuda mittefotograafiliste ja madala kvaliteediga piltide läbivaatamist enne nende ilmumist otsingutulemustesse.","Resolution":"Resolutsioon","Restart":"Restart","Restore":"Taasta","Restored":"Taastatud","Retry Limit":"Korduvkatsete limiit","Retype Password":"Parool uuesti","Review":"Läbivaatamine","Role":"Role","Rows per page:":"Rida lehekülje kohta:","Satellite":"Satelliit","Save":"Salvesta","Scan":"Skannitud","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Skannige QR-kood oma autentimisrakendusega või kasutage allpool näidatud seadistusvõtit ja sisestage seejärel loodud kinnituskood:","Scans":"Skannid","Scope":"Reguleerimisala","Search":"Otsi","Search and display photos on a map.":"Otsi ja kuva fotosid kaardil.","Season":"Aastaaeg","Secret":"Salajane","Security and Access":"Turvalisus ja ligipääs","Select":"Vali","Select a source folder to import files…":"Valige failide importimiseks lähtekaust…","Select date":"Valige kuupäev","Select dates":"Valige kuupäevad","Select or create an album":"Valige või looge album","Select the files to upload…":"Valige üleslaaditavad failid…","Select the folder to be indexed…":"Valige indekseeritav kaust…","Select Time":"Valige aeg","Selection approved":"Valik heaks kiidetud","Selection archived":"Valik arhiveeritud","Selection restored":"Valik taastatud","Sequential Name":"Järjestikune nimi","Service URL":"Teenuse URL","Services":"Teenused","Session":"Sessioon","Session ID":"Seansi ID","Sessions":"Sessioonid","Set as Album Cover":"Komplekt albumikaanena","Settings":"Seaded","Settings saved":"Seaded salvestatud","Setup":"Seadista","Share":"Jaga","Share %{s}":"Jaga %{s}","Share your pictures with other apps and services.":"Jaga oma pilte teiste rakenduste ja teenustega.","Show":"Näita","Show all new faces":"Näita kõiki uusi nägusid","Show Captions":"Näita pildiallkirju","Show hidden":"Näita peidetud","Show less":"Näita vähem","Show more":"Näita rohkem","Show server logs in Library.":"Näita serverilogisid fototeegis.","Show Titles":"Näita pealkirju","Sidecar":"Abifail","Sidecar Files":"Külgkorvi failid","Sign in":"Logi sisse","Similar":"Sarnased","Size":"Suurus","Slideshow":"Slaidiesitlus","Slow":"Aeglane","Software":"Tarkvara","Software Update":"Tarkvara värskendus","Something went wrong, try again":"Midagi läks valesti, proovige uuesti","Sort by":"Sorteerimine","Sort Order":"Järjekord","Sorted ascending.":"Sorteeritud ülespoole.","Sorted descending.":"Sorteeritud kahanevas järjestuses.","Source":"Allikas","Stack":"Virn","Stack files sharing the same unique image or instance identifier.":"Pane virna failid, mis jagavad sama unikaalset kujutist või identifikaatorit.","Stack pictures taken at the exact same time and location based on their metadata.":"Pane virna metaandmete alusel täpselt samal ajal ja samas kohas tehtud pildid.","Stackable":"Virnastatav","Stacks":"Virnad","Start":"Alusta","Start Page":"Algusleht","Static Size Limit: %{n}px":"Staatiline suuruse limiit: %{n}px","Status":"Staatus","Storage":"Asukoht","Streets":"Tänavad","Subject":"Subjekt","Submit":"Esita","Successfully activated":"Edukalt aktiveeritud","Successfully Connected":"Edukalt ühendatud","Successfully deleted":"Edukalt kustutatud","Successfully verified":"Edukalt kinnitatud","Super Admin":"Super Admin","Support for additional services, like Google Drive, will be added over time.":"Tugi täiendavatele teenustele nagu Google Drive lisandub aja jooksul.","Support Our Mission":"Toeta meie missiooni","Sync":"Sünkroonimine","Sync raw and video files":"Sünkrooni RAW ja videofaile","Taken":"Pildistatud","Teal":"Sinakasroheline","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow on vajalik piltide klassifitseerimiseks, näotuvastuseks ja ohtliku sisu tuvastamiseks.","Terrain":"Maastik","Text":"Tekst","Text too long":"Tekst on liiga pikk","Thank You for Your Support!":"Täname teie toetuse eest!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Seepärast on PhotoPrism loodud algusest peale nii, et see töötab kõikjal, kus te seda vajate, ilma et see ohustaks vabadust, privaatsust või funktsionaalsust.","The index currently contains %{n} hidden files.":"Indeks sisaldab praegu %{n} peidetud faili.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Nende formaat ei pruugi olla toetatud, neid ei ole veel JPEG-vormingusse konverteeritud või on olemas duplikaadid.","Theme":"Välimus","This field is required":"See väli on kohustuslik","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"See ühendab originaalide kausta võrgukettana ja võimaldab avada, muuta ja kustutada faile arvutist või nutitelefonist, nagu oleksid need kohalikud.","Time UTC":"UTC aeg","Time Zone":"Ajavöönd","Timeout":"Ajalõpp","Title":{"Account":"Tiitel","Photo":"Pealkiri","":"Pealkiri"},"Title / Position":"Tiitel / ametikoht","Title too long":"Pealkiri on liiga pikk","to":"aadressile","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Kontole juurdepääsu vältimiseks laadige see taastekood kohe alla, printige või kopeerige ja hoidke seda turvalises kohas.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Uue rakendusepõhise parooli loomiseks sisestage rakenduse nimi ja volituse ulatus ning valige aegumiskuupäev:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Uuele autentimisrakendusele või seadmele lülitumiseks deaktiveerige esmalt kahefaktoriline autentimine ja seejärel taasaktiveerige.","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Uuendamiseks saate kas sisestada aktiveerimiskoodi või klõpsata \"Registreeri\", et registreeruda meie veebisaidil:","Today":"Täna","Toggle View":"Muuda vaadet","Token":"Token","Too many files selected":"Liiga palju valitud faile","Too many requests":"Liiga palju taotlusi","Troubleshooting":"Veaotsing","Try again using other filters or keywords.":"Proovi uuesti, kasutades teisi filtreid või märksõnu.","Two-factor authentication has been enabled for your account.":"Teie konto jaoks on lubatud kahefaktoriline autentimine.","Type":"Tüüp","Unable to delete":"Ei saa kustutada","Unauthorized":"Autoriseerimata","Undo":"Võta tagasi","Unique ID":"Unikaalne ID","Unknown":"Teadmata","Unregistered":"Mitteregistreeritud","Unsorted":"Sorteerimata","Unstack":"Unstack","Updated":"Uuendatud","Updating faces":"Nägude uuendamine","Updating index":"Indeksi uuendamine","Updating moments":"Hetkede uuendamine","Updating picture…":"Pildi uuendamine…","Updating previews":"Eelvaadete uuendamine","Updating stacks":"Virnade uuendamine","Upgrade":"Uuendamine","Upgrade Now":"Uuenda nüüd","Upload":"Üleslaadimine","Upload complete":"Üleslaadimine lõpetatud","Upload complete. Indexing…":"Üleslaadimine lõpetatud. Indekseerimine…","Upload failed":"Üleslaadimine ebaõnnestus","Upload local files":"Laadi üles kohalikud failid","Upload Path":"Upload Path (üleslaadimise tee)","Upload to WebDAV and share links with friends.":"Laadi üles WebDAV-i ja jaga linke sõpradega.","Uploading %{n} of %{t}…":"Üleslaadimine %{n}/%{t}…","Uploading photos…":"Fotode üleslaadimine…","Uploading…":"Üleslaadimine…","Uploads that may contain such images will be rejected automatically.":"Selliseid pilte sisaldavad üleslaadimised lükatakse automaatselt tagasi.","Use Presets":"Kasuta eelseadistusi","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Kui te ei saa autentimisrakendusega kehtivat kinnituskoodi luua, kasutage oma kontole juurdepääsuks järgmist taastekoodi.","Use your recovery code or contact an administrator for help.":"Kasutage oma taastamiskoodi või võtke abi saamiseks ühendust administraatoriga.","User":"Kasutaja","User Guide":"Kasutajajuhend","User Interface":"Kasutajaliides","Username":"Kasutajanimi","Users":"Kasutajad","Vector":"Vektor","Vectors":"Vektorid","Verification Code":"Kinnituskood","Video":"Video","Video Duration":"Video kestus","Videos":"Videod","View":"Vaade","View search results as a list.":"Vaadake otsingutulemusi nimekirjana.","Viewer":"Vaataja","Visitor":"Külastaja","Visual Similarity":"Visuaalne sarnasus","Warning":"Hoiatus","We appreciate your feedback!":"Me hindame teie tagasisidet!","We do our best to respond within five business days or less.":"Anname endast parima, et vastata viie tööpäeva jooksul või vähem.","Web Login":"Veebisisene sisselogimine","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"WebDAV kliendid saavad PhotoPrismiga ühenduda järgmise URL-i kaudu:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"WebDAV kliendid, nagu Microsofti Windows Explorer või Apple'i Finder, saavad \nPhotoPrismiga otse ühenduda.","WebDAV Upload":"WebDAV üleslaadimine","WebGL support is disabled in your browser":"WebGL tugi on teie brauseris välja lülitatud","Website":"Veebileht","White":"Valge","Work Details":"Töö üksikasjad","Year":"Aasta","Yellow":"Kollane","Yes":"Jah","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Olete oodatud meiega ühendust võtma aadressil membership@photoprism.app, kui teil on küsimusi seoses teie liikmelisusega.","You can only download one album":"Võid alla laadida ainult ühe albumi","You can only download one label":"Võid alla laadida ainult ühe sildi","You can search for a location or move the marker on the map to change the position:":"Saate otsida asukohta või liigutada markerit kaardil, et muuta asukohta:","You can upload up to %{n} files for test purposes.":"Saate testimiseks üles laadida kuni %{n} faili.","You may only select one item":"Võid valida ainult ühe objekti","You may rescan your library to find additional faces.":"Võid oma fototeeki uuesti skaneerida, et veel nägusid leida.","Your account has been successfully connected.":"Teie konto on edukalt ühendatud.","Your browser does not support WebGL":"Teie brauser ei toeta WebGL-i","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Sinu jätkuv toetus aitab meil pakkuda regulaarseid uuendusi ja jääda sõltumatuks, et me saaksime täita oma missiooni ja kaitsta sinu privaatsust.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Sinu fototeeki analüüsitakse pidevalt, et luua automaatselt albumied erilistest hetkedest, reisidest ja kohtadest.","Zoom in/out":"Suumi sisse/välja"}} \ No newline at end of file diff --git a/frontend/src/locales/json/eu.json b/frontend/src/locales/json/eu.json index 5bba4e3e4..5cdf072f8 100644 --- a/frontend/src/locales/json/eu.json +++ b/frontend/src/locales/json/eu.json @@ -1 +1 @@ -{"eu":{"{0} appended action":"Erantsitako {0} ekintza","{0} files":"{0} fitxategi","{0} files ({1} in total)":"{0} fitxategi ({1} guztira)","{0} more":"{0} gehiago","{0} prepended action":"Aurrez aurreko {0} ekintza","{0} selected":"{0} hautatuta","{0}-{1} of {2}":"{0}-{1}/{2}","%{n} albums found":"%{n} album aurkitu dira","%{n} files uploaded":"%{n} fitxategi kargatu dira","%{n} folders found":"%{n} karpeta aurkitu dira","%{n} GB of %{q} GB used":"%{n} GB-tik %{q} GB erabilita","%{n} labels found":"%{n} etiketa aurkitu dira","%{n} people found":"%{n} pertsona aurkitu dira","%{n} pictures found":"%{n} argazki aurkitu dira","%{s} is too long":"%{s} luzeegia da","%{s} is too short":"%{s} laburregia da","1 hour":"1 ordu","12 hours":"12 ordu","2-Factor Authentication":"2 faktoreko autentifikazioa","2FA":"2FA","4 hours":"4 ordu","A click will copy it to your clipboard.":"Klik eginez gero, arbelean kopiatuko da.","A new version of %{s} is available:":"%{s} bertsio berri bat dago eskuragarri:","About":"Buruz","Access Token":"Sarbide-tokena","Account":"Kontua","Account created":"Kontua sortu da","Account deleted":"Kontua ezabatu da","Account restored":"Kontua leheneratu da","Accounts":"Kontuak","Accuracy":"Zehaztasuna","Action":"Ekintza","Actions":"Ekintzak","Activate":"Aktibatu","Activate to remove sorting.":"Aktibatu ordena kentzeko.","Activate to sort ascending.":"Aktibatu goranzko ordenatzeko.","Activate to sort descending.":"Aktibatu beheranzko ordenatzeko.","Activation Code":"Aktibazio kodea","Add":"Gehitu","Add %{s}?":"%{s} gehitu?","Add Account":"Kontua gehitu","Add Album":"Gehitu albuma","Add files to your library via Web Upload.":"Gehitu fitxategiak zure liburutegian web-karga bidez.","Add Link":"Gehitu esteka","Add person?":"Pertsona gehitu?","Add pictures from search results by selecting them.":"Gehitu bilaketa-emaitzetan argazkiak hautatuta.","Add to album":"Gehitu albumera","Added":"Gehituta","Admin":"Admin","Advanced":"Aurreratua","After 1 day":"Egun 1 igaro ondoren","After 3 days":"3 egun igaro ondoren","After 7 days":"7 egun igaro ondoren","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Pasahitza berresteko pasahitza sartu ondoren, bi faktoreko autentifikazioa konfigura dezakezu autentifikazio-aplikazio edo gailu bateragarri batekin:","After one month":"Hilabete baten ondoren","After one year":"Urtebeteren buruan","After selecting pictures from search results, you can add them to an album using the context menu.":"Bilaketa-emaitzetan argazkiak hautatu ondoren, album batean gehi ditzakezu testuinguru-menua erabiliz.","After two months":"Bi hilabeteren ondoren","After two weeks":"Bi asteren ondoren","Album":"Albuma","Album Backups":"Albumen babeskopiak","Album created":"Sortu da albuma","Albums":"Albumak","Albums deleted":"Albumak ezabatu dira","All":"Denak","All %{n} albums loaded":"%{n} album guztiak kargatu dira","All %{n} labels loaded":"%{n} etiketa guztiak kargatu dira","All %{n} people loaded":"%{n} pertsona guztiak kargatu dira","All Cameras":"Kamera guztiak","All Categories":"Kategoria guztiak","All Colors":"Kolore guztiak","All Countries":"Herrialde guztiak","All fields are required":"Eremu guztiak beharrezkoak dira","All files from import folder":"Inportazio karpetako fitxategi guztiak","All Lenses":"Lente guztiak","All Months":"Hilabete guztiak","All originals":"Jatorrizko guztiak","All Years":"Urte guztiak","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Bestela, fitxategiak zuzenean igo ditzakezu Nextcloud bezalako WebDAV zerbitzarietara.","Altitude":"Altuera","Altitude (m)":"Altuera (m)","AM":"AM","Animated":"Animatua","Animation":"Animazioa","Any private photos and videos remain private and won't be shared.":"Argazki eta bideo pribatu guztiak pribatuak izaten jarraitzen dute eta ez dira partekatuko.","API Key":"API gakoa","Application":"Aplikazio","Apply":"Aplikatu","Approve":"Onartu","Apps and Devices":"Aplikazioak eta gailuak","Archive":"Artxiboa","Archived":"Artxibatuta","Are you sure you want to archive the selection?":"Ziur hautapena artxibatu nahi duzula?","Are you sure you want to delete these albums?":"Ziur album hauek ezabatu nahi dituzula?","Are you sure you want to delete these labels?":"Ziur etiketa hauek ezabatu nahi dituzula?","Are you sure you want to delete this account?":"Ziur kontu hau ezabatu nahi duzula?","Are you sure you want to permanently delete these pictures?":"Ziur argazki hauek betiko ezabatu nahi dituzula?","Are you sure you want to permanently delete this file?":"Ziur fitxategi hau betiko ezabatu nahi duzula?","Are you sure?":"Ziur zaude?","Artist":"Artista","Aspect Ratio":"Aspektu-erlazioa","Audio":"Audioa","Authentication":"Autentifikazioa","Auto":"Autoa","Back":"Itzuli","Back to top":"Itzuli gora","Backup":"Babeskopia","Badge":"Txapa","Base Path":"Oinarrizko bidea","Become a member today, support our mission and enjoy our member benefits!":"Egin zaitez kide gaur, lagundu gure eginkizuna eta gozatu gure kideen abantailak!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"%100 autofinantziatua eta independentea izanik, zure datuak ez ditugula inoiz salduko eta gure softwareari eta zerbitzuei buruz gardenak izango garela agintzen dizugu.","Bio":"Bio","Birth Date":"Urtebetetze data","Black":"Beltza","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Lanczos Modification, Less Ringing Artifacts","Blue":"Urdina","Brown":"Marroia","Browse":"Arakatu","Browse and edit image classification labels.":"Arakatu eta editatu irudien sailkapen etiketak.","Browse and share your pictures organized into monthly albums.":"Arakatu eta partekatu zure argazkiak hileroko albumetan antolatuta.","Browse Files":"Arakatu fitxategiak","Browse indexed files and folders in Library.":"Arakatu indexatutako fitxategiak eta karpetak Liburutegian.","Bug Report":"Akatsen txostena","Busy, please wait…":"Lanpetuta, itxaron mesedez…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Eskaintzen ditugun softwarea eta zerbitzuak erabiliz gero, gure zerbitzu-baldintzak, pribatutasun-politika eta jokabide-kodea onartzen dituzu.","Calendar":"Egutegia","Camera":"Kamera","Camera Serial":"Kamera seriea","Can't access your authenticator app or device?":"Ezin duzu sartu autentifikatzaile-aplikazio edo gailuan?","Can't load more, limit reached":"Ezin da gehiago kargatu, mugara iritsi da","Can't select more items":"Ezin dira elementu gehiago hautatu","Cancel":"Utzi","Caption":"Epigrafea","Cards":"Txartelak","Carousel slide {0} of {1}":"Karruselaren diapositiba {0}/{1}","Category":"Kategoria","Change Avatar":"Aldatu avatarra","Change Password":"Aldatu pasahitza","Change personal profile and security settings.":"Aldatu profil pertsonala eta segurtasun ezarpenak.","Change photo titles, locations, and other metadata.":"Aldatu argazkien izenburuak, kokapenak eta beste metadatuak.","Change private flag":"Aldatu bandera pribatua","Changes could not be saved":"Ezin izan dira aldaketak gorde","Changes successfully saved":"Aldaketak ongi gorde dira","Changes to the advanced settings require a restart to take effect.":"Ezarpen aurreratuen aldaketek berrabiarazi behar dute eragina izateko.","Checked":"Egiaztatuta","Chroma":"Kroma","Cleaning index and cache":"Indizea eta cachea garbitzea","Cleanup":"Garbitu","Clear {0}":"Garbitu {0}","Client":"Bezeroa","Client Credentials":"Bezeroaren kredentzialak","Close":"Itxi","Codec":"Kodeka","Color":"Kolore","Color Profile":"Kolore-profila","Colors":"Koloreak","Compare Editions":"Edizioak alderatu","Complete Rescan":"Berriro eskaneatu osoa","Confidence":"Konfiantza","Confirm":"Berretsi","Connect":"Konektatu","Connect via WebDAV":"Konektatu WebDAV bidez","Connected":"Konektatuta","Contact Details":"Harremanetarako datuak","Contact Us":"Jarri gurekin harremanetan","Contains %{n} pictures.":"%{n} irudi ditu.","Contains one picture.":"Irudi bat dauka.","Content":"Edukia","Continue":"Jarraitu","Continue with %{provider}":"Jarraitu %{provider}-rekin","Contributor":"Laguntzailea","Converting":"Bihurtzea","Copied to clipboard":"Arbelean kopiatu da","Copy":"Kopiatu","Copyright":"Copyright","Couldn't find anything.":"Ezin izan da ezer aurkitu.","Country":"Herrialdea","Create Account":"Kontua sortu","Create album":"Sortu albuma","Create regular backups based on the configured schedule.":"Sortu indizearen babeskopiak konfiguratutako ordutegian oinarrituta.","Create YAML files to back up album metadata.":"Sortu YAML fitxategiak albumen metadatuen babeskopia egiteko.","Create YAML sidecar files to back up picture metadata.":"Sortu YAML sidecar fitxategiak argazkien metadatuen babeskopia egiteko.","Created":"Sortu","Creating thumbnails for":"Miniaturak sortzen","Cubic: Moderate Quality, Good Performance":"Kubikoa: kalitate ertaina, errendimendu ona","Current Password":"oraingo pasahitza","Custom":"Pertsonalizatua","Cyan":"Zian","Daily":"Egunero","Database Backups":"Datu-basearen babeskopiak","Day":"Eguna","Deactivate":"Desaktibatu","Debug Logs":"Arazte-erregistroak","Default":"Lehenetsia","Default Folder":"Karpeta lehenetsia","Delete":"Ezabatu","Delete All":"Ezabatu guztiak","Delete all?":"Guztiak ezabatu?","Delete orphaned index entries, sidecar files and thumbnails.":"Ezabatu umezurtz indize-sarrerak, sidecar fitxategiak eta miniaturak.","Description":"Deskribapena","Detailed instructions can be found in our User Guide.":"Argibide zehatzak gure Erabiltzailearen Gidan aurki daitezke.","Details":"Xehetasunak","Dimensions":"Neurriak","Disable Backups":"Desgaitu babeskopiak","Disable Darktable":"Desgaitu Darktable","Disable ExifTool":"Desgaitu ExifTool","Disable features that require write permission for the originals folder.":"Desgaitu jatorrizkoen karpetarako idazteko baimena behar duten funtzioak.","Disable FFmpeg":"Desgaitu FFmpeg","Disable ImageMagick":"Desgaitu ImageMagick","Disable interactive world maps and reverse geocoding.":"Desgaitu munduko mapa interaktiboak eta alderantzizko geokodeketa.","Disable Places":"Desgaitu Lekuak","Disable RawTherapee":"Desgaitu RawTherapee","Disable TensorFlow":"Desgaitu TensorFlow","Disable Vectors":"Desgaitu bektoreak","Disable WebDAV":"Desgaitu WebDAV","Disables vector graphics support.":"Grafiko bektorialen euskarria desgaitzen du.","Disables video transcoding and thumbnail extraction.":"Bideoen transkodeketa eta irudi txikien erauzketa desgaitzen ditu.","Discover":"Ezagutu","Dismiss":"Baztertu","Display Name":"Bistaratzeko izena","Display picture captions in search results.":"Bistaratu irudi-oinak bilaketa-emaitzetan.","Display picture titles in search results.":"Bistaratu irudien izenburuak bilaketa-emaitzetan.","Document":"Dokumentua","Documents":"Dokumentuak","Don't use Darktable to convert RAW images.":"Ez erabili Darktable irudi RAW bihurtzeko.","Don't use ImageMagick to convert images.":"Ez erabili ImageMagick irudiak bihurtzeko.","Don't use RawTherapee to convert RAW images.":"Ez erabili RawTherapee RAW irudiak bihurtzeko.","Done":"Eginda","Done.":"Eginda.","Download":"Deskargatu","Download only original media files, without any automatically generated files.":"Deskargatu jatorrizko multimedia fitxategiak soilik, automatikoki sortutako fitxategirik gabe.","Download remote files":"Deskargatu urruneko fitxategiak","Download single files and zip archives.":"Deskargatu fitxategi bakarrak eta zip artxiboak.","Downloading…":"Deskargatzen…","Downscaling Filter":"Beherapen-iragazkia","Drag and drop files here":"Arrastatu eta jaregin fitxategiak hemen","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"Jasotzen ditugun mezu elektronikoen bolumen handia dela eta, baliteke gure taldeak ezin izatea zurekin berehala itzuli.","Duplicates will be skipped and only appear once.":"Bikoiztuak saltatu egingo dira eta behin bakarrik agertuko dira.","Duration":"Iraupena","Dynamic Previews":"Aurrebista dinamikoak","Dynamic Size Limit: %{n}px":"Tamaina dinamikoaren muga: %{n}px","E-Mail":"Posta elektronikoa","Edit":"Editatu","Edit %{s}":"Editatu %{s}","Edit Account":"Editatu kontua","Edit Photo":"Editatu argazkia","Edited":"Editatua","Email":"Posta elektronikoa","Enable debug mode to display additional logs and help with troubleshooting.":"Gaitu arazketa modua erregistro gehigarriak bistaratzeko eta arazoak konpontzen laguntzeko.","Enable new features that may be incomplete or unstable.":"Gaitu osatugabeak edo ezegonkorrak izan daitezkeen eginbide berriak.","Enables RAW converter presets. May reduce performance.":"RAW bihurgailuaren aurrezarpenak gaitzen ditu. Errendimendua murriztu dezake.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Bi faktoreko autentifikazioa gaitzeak esan nahi du ausaz sortutako egiaztapen-kode bat beharko duzula saioa hasteko; beraz, norbaitek zure pasahitza atzitzen badu ere, ezin izango du zure kontuan sartu.","Enter date":"Sartu data","Enter dates":"Sartu datak","Enter the code generated by your authenticator app:":"Sartu zure autentifikazio-aplikazioak sortutako kodea:","Enter verification code":"Sartu egiaztapen-kodea","Enter your password to confirm the action and continue:":"Sartu pasahitza ekintza berresteko eta jarraitu:","Error":"Errorea","Errors":"Akatsak","Estimate":"Estimazioa","Estimate Locations":"Estimatu kokapenak","Estimate the approximate location of pictures without GPS coordinates.":"Kalkulatu argazkien gutxi gorabeherako kokapena GPS koordenaturik gabe.","Every two days":"Bi egunetik behin","Exclude content marked as private from search results, shared albums, labels, and places.":"Baztertu pribatu gisa markatutako edukia bilaketa-emaitzetatik, partekatutako albumetatik, etiketetatik eta tokietatik.","Exclude hidden":"Ezkutatuta baztertu","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"ExifTool-ekin metadatuak erauztea beharrezkoa da Bideo, Live Photo eta XMP laguntza osoa izateko.","Experimental Features":"Ezaugarri esperimentalak","Expires":"Iraungitzen da","Exposure":"Esposizio","Extract still images and generate thumbnails while indexing.":"Atera irudi finkoak eta sortu miniaturak indexatzen dituzun bitartean.","F Number":"F Zenbakia","Face":"Aurpegia","Faces":"Aurpegiak","Failed removing link":"Ezin izan da esteka kendu","Failed to connect account.":"Ezin izan da konektatu kontua.","Failed updating link":"Ezin izan da eguneratu esteka","Family Name":"Abizena","Fast":"Azkar","Favorite":"Gogokoena","Favorites":"Gogokoak","Feature Request":"Ezaugarrien eskaera","Feedback":"Iritzia","Female":"Emakumezkoa","File":"Fitxategia","File Browser":"Fitxategien arakatzailea","File Conversion":"Fitxategien Bihurketa","File Name":"Fitxategi izena","File Size":"Fitxategiaren Tamaina","Filename":"Fitxategi izena","Files":"Fitxategiak","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"'IMG_1234 (2)' eta 'IMG_1234 (3)' bezalako izen sekuentzialak dituzten fitxategiak irudi berekoak dira.","First page":"Lehen orrialdea","Focal Length":"Fokua","Folder":"Karpeta","Folder contains %{n} files":"Karpetak %{n} fitxategi ditu","Folder is empty":"Karpeta hutsik dago","Folders":"Karpetak","Forgot password?":"Pasahitza ahaztua?","FPS":"FPS","Frames":"Markoak","Full Access":"Sarbide osoa","Fullscreen":"Pantaila osoa","General":"Orokorra","Generate":"Sortu","Generate albums of special moments, journeys, and places.":"Momentu, bidai eta leku berezien albumak automatikoki sortzen ditu.","Generate Previews":"Sortu Aurrebistak","Generated":"Sortutakoa","Get Started":"Hasi","Given Name":"Emandako izena","Global Options":"Aukera globalak","Go to page {0}":"Joan {0} orrialdera","Gold":"Urrea","Green":"Berdea","Grey":"Grisa","Guest":"Gonbidatua","Hash":"Hash","Help":"Laguntza","Help & Support":"Laguntza eta laguntza","Hidden":"Ezkutuan","Hidden Files":"Ezkutuko Fitxategiak","Hide":"Ezkutatu","Hide photos that have been moved to archive.":"Ezkutatu artxibora eraman diren argazkiak.","High":"Alta","High Dynamic Range (HDR)":"Gama dinamiko handia (HDR)","How can we help?":"Nola lagundu dezakegu?","Hybrid":"Hibridoa","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Zure autentifikazio-aplikaziorako edo gailurako sarbidea galtzen baduzu, berreskuratzeko kodea erabil dezakezu zure konturako sarbidea berreskuratzeko.","Image":"Irudia","Image Quality":"Irudiaren Kalitatea","Import":"Inportatu","Import failed":"Ezin izan da inportatu","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Inportatutako fitxategiak dataren arabera ordenatuko dira eta izen esklusibo bat emango zaie bikoiztuak saihesteko.","Imported files will be sorted by date and given a unique name.":"Inportatutako fitxategiak dataren arabera ordenatuko dira eta izen esklusibo bat emango zaie.","Importing %{s}…":"%{s} inportatzen…","Importing files to originals…":"Fitxategiak jatorrizkoetara inportatzen…","in":"urtean","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"Espero dituzun argazkiak falta badira, eskaneatu berriro zure liburutegia eta itxaron indexazioa amaitu arte.","Include RAW image files when downloading stacks and archives.":"Sartu RAW irudi-fitxategiak pila eta artxiboak deskargatzean.","Include sidecar files when downloading stacks and archives.":"Sartu sidecar fitxategiak pilak eta artxiboak deskargatzean.","Increase storage size or delete files to continue.":"Aurrera egiteko, handitu biltegiratze-tamaina edo ezabatu fitxategiak.","Index":"Aurkibidea","Index and import files through the user interface.":"Fitxategiak indexatu eta inportatu erabiltzailearen interfazearen bidez.","Indexing":"Indexatzea","Indexing failed":"Ezin izan da indexatu","Indexing media and sidecar files…":"Multimedia eta sidecar fitxategiak indexatzen…","Information":"Informazioa","Instance ID":"Instantziaren IDa","Insufficient storage.":"Biltegiratze nahikoa ez.","Interval":"Tartea","Invalid":"Baliogabea","Invalid address":"Helbide baliogabea","Invalid country":"Herrialde baliogabea","Invalid date":"Data baliogabea","Invalid parameters":"Parametro baliogabeak","Invalid photo selected":"Argazki baliogabea hautatu da","Invalid time":"Ordua baliogabea","Invalid URL":"URL baliogabea","It is a one-time use code that will disable 2FA for your account when you use it.":"Erabilera bakarreko kodea da, erabiltzen duzunean zure konturako 2FA desgaituko duena.","Item":"Elementua","Items per page:":"Orrialde bakoitzeko elementuak:","JPEG Quality: %{n}":"JPEG kalitatea: %{n}","JPEG Size Limit: %{n}px":"JPEG tamaina muga: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"JPEG eta miniaturak automatikoki errendatzen dira behar bezala.","Keywords":"Gako-hitzak","Label":"Etiketa","Labels":"Etiketak","Labels deleted":"Etiketak ezabatu dira","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: Xehetasunen kontserbazioa, artefaktu minimoak","Language":"Hizkuntza","Last Active":"Azken Aktiboa","Last Login":"Azken saioa","Last page":"Azken orrialdea","Last Sync":"Azken sinkronizazioa","Last Used":"Azken erabilia","Latitude":"Latitudea","LDAP/AD":"LDAP/AD","Learn more":"Gehiago ikasi","Learn More":"Argibide gehiago","Legal Information":"Informazio juridikoa","Lens":"Lentea","Library":"Liburutegia","License":"Lizentzia","Like":"Atsegin dut","Lime":"Karea","Limit reached, showing first %{n} files":"Muga iritsi da, lehen %{n} fitxategi erakusten","Linear: Very Smooth, Best Performance":"Lineala: oso leuna, errendimendu onena","Link":"Esteka","List":"Zerrenda","List View":"Zerrenda Ikuspegia","Live":"Zuzenean","Live Photos":"Zuzeneko Argazkiak","Load more":"Gehiago kargatu","Loading items...":"Elementuak kargatzen...","Loading...":"Kargatzen...","Local":"Tokikoa","Local Time":"Tokiko Ordua","Location":"Kokapena","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Erregistro-mezuak hemen agertzen dira PhotoPrism-ek hautsitako fitxategiak aurkitzen dituen bakoitzean edo beste arazo potentzial batzuk daudenean.","Login":"Saioa hasi","Logout":"Saioa amaitu","Logs":"Erregistroak","Longitude":"Luzera","Low":"Baxua","Magenta":"Magenta","Main Color":"Kolore Nagusia","Male":"Gizonezkoa","Manage Account":"Kudeatu kontua","Manual":"Eskuliburua","Manual Upload":"Eskuzko igoera","Maps":"Mapak","Marker":"Markagailua","Maximum number of accounts has been reached.":"Gehienezko kontu kopurura iritsi da.","Media":"Komunikabideak","Medium":"Ertaina","Membership":"Kidetza","Merge %{a} with %{b}?":"%{a} %{b}rekin bateratu?","Message":"Mezua","Message sent":"Mezua bidali da","Metadata":"Metadatuak","Metrics":"Metrikak","Minimize":"Minimizatu","Missing":"Falta","Missing or invalid configuration":"Konfigurazioa falta edo baliogabea","Moments":"Momentuak","Monochrome":"Monokromoa","Month":"Hilabetea","More options":"Aukera gehiago","Mosaic":"Mosaikoa","Most Relevant":"Garrantzitsuena","Move Files":"Mugitu fitxategiak","Must have at least %{n} characters.":"Gutxienez %{n} karaktere izan behar ditu.","Mute":"Isildu","Name":"Izena","Name too long":"Izena luzeegia","Never":"Inoiz ez","New":"Berria","New Password":"pasahitz berria","Newest First":"Berriena Lehenengoa","Next":"Hurrengoa","Next page":"Hurrengo orrialdea","Next visual":"Hurrengo bisuala","No":"Ez","No albums found":"Ez da albumik aurkitu","No data available":"Ez dago daturik eskuragarri","No labels found":"Ez da etiketarik aurkitu","No matching records found":"Ez da bat datorren erregistrorik aurkitu","No more":"Ez gehiago","No people found":"Ez da jenderik aurkitu","No pictures found":"Ez da argazkirik aurkitu","No recently edited pictures":"Ez dago duela gutxi editatutako argazkirik","No server connection":"Ez dago zerbitzari konexiorik","No servers configured.":"Ez dago zerbitzaririk konfiguratuta.","No services configured.":"Ez dago zerbitzurik konfiguratuta.","No thanks":"Ez eskerrik asko","No warnings or error containing this keyword. Note that search is case-sensitive.":"Ez dago gako-hitz hau duen abisurik edo errorerik. Kontuan izan bilaketak maiuskulak eta minuskulak bereizten dituela.","Non-photographic and low-quality images require a review before they appear in search results.":"Argazkiak ez diren eta kalitate baxuko irudiak berrikusi behar dira bilaketa-emaitzetan agertu aurretik.","None":"Bat ere ez","Not allowed":"Ez da onartzen","Not found":"Ez da aurkitu","Not sorted.":"Ez dago sailkatuta.","Not supported":"Ez da onartzen","Note you may manually manage your originals folder and importing is optional.":"Kontuan izan jatorrizkoen karpeta eskuz kudea dezakezula eta inportatzea aukerakoa da.","Note:":"Ohar:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Oharra: WebDAV zerbitzariak soilik, Nextcloud edo PhotoPrism bezalakoak, urruneko zerbitzu gisa konfigura daitezke babeskopia egiteko eta fitxategiak kargatzeko.","Notes":"Oharrak","Nothing to see here yet.":"Hemen oraindik ez dago ezer ikusteko.","Nothing was found.":"Ez da ezer aurkitu.","Offline":"Lineaz kanpo","OIDC":"OIDC","OK":"Ados","Oldest First":"Zaharrena Lehen","On Windows, enter the following resource in the connection dialog:":"Windows-en, sartu baliabide hau konexio-koadroan:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"Irudi txikiak eskatuz sortzeak CPU eta memoria erabilera handia eragin dezake. Ez da gomendagarria baliabideak mugatutako zerbitzarietarako eta NAS gailuetarako.","Once a week":"Astean behin","One album found":"Album bat aurkitu da","One file found":"Fitxategi bat aurkitu da","One file uploaded":"Fitxategi bat kargatu da","One folder found":"Karpeta bat aurkitu da","One label found":"Etiketa bat aurkitu da","One person found":"Pertsona bat aurkitu du","One picture found":"Irudi bat aurkitu da","Only locally managed accounts can be set up for authentication with 2FA.":"Lokalean kudeatutako kontuak soilik konfigura daitezke 2FA-rekin autentifikatzeko.","Open":"Ireki","optional":"aukerakoa","or":"edo","Orange":"Laranja","Organization":"Antolaketa","Orientation":"Orientazio","Original file names will be stored and indexed.":"Jatorrizko fitxategi-izenak gorde eta indexatuko dira.","Original Name":"Jatorrizko izena","Originals":"Jatorrizkoak","Other":"Bestela","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Gure eginkizuna da erabiltzaileentzako eta pribatutasunerako irtenbiderik egokiena eskaintzea zure argazkiak antolatuta eta eskuragarri mantentzeko.","Outdoor":"Kanpoan","Page {0}, Current page":"{0} orria, uneko orria","Pages":"Orriak","Pagination Navigation":"Pagination Nabigazioa","Panorama":"Panorama","Panoramas":"Panoramak","Password":"Pasahitza","Password changed":"Pasahitza aldatu da","People":"Jendea","People you share a link with will be able to view public contents.":"Esteka partekatzen duzun pertsonek eduki publikoak ikusi ahal izango dituzte.","Permanently deleted":"Betiko ezabatu da","Permanently remove files to free up storage.":"Kendu fitxategiak betiko biltegia askatzeko.","Person":"Pertsona","Personal":"Pertsonalak","Photo":"Argazkia","PhotoPrism is 100% self-funded and independent.":"PhotoPrism %100 autofinantziatua eta independentea da.","PhotoPrism+ Membership":"PhotoPrism+ Kidetza","Photos":"Argazkiak","Picture Title":"Irudiaren izenburua","Pink":"Arrosa","Place":"Lekua","Place & Time":"Lekua eta Ordua","Places":"Lekuak","Please confirm your new password.":"Mesedez, berretsi pasahitz berria.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Mesedez, kopiatu ausaz sortutako aplikazioaren pasahitza eta gorde leku seguru batean, ezingo baituzu berriro ikusi:","Please do not upload any private, unlawful or offensive pictures.":"Mesedez, ez igo argazki pribatu, legez kanpoko edo iraingarririk.","Please don't upload photos containing offensive content.":"Mesedez, ez kargatu eduki iraingarria duten argazkirik.","Please enter OTP character {0}":"Mesedez, idatzi OTP karakterea {0}","Please note that changing your password will log you out on other devices and browsers.":"Kontuan izan pasahitza aldatzeak beste gailu eta arakatzaile batzuetan saioa amaituko duzula.","Please restart your instance for the changes to take effect.":"Mesedez, berrabiarazi zure instantzia aldaketak indarrean egon daitezen.","Please wait…":"Itxaron mesedez…","PM":"PM","PNG Size Limit: %{n}px":"PNG Tamaina Muga: %{n}px","Portrait":"Erretratua","Preserve filenames":"Gorde fitxategi-izenak","Press enter to create a new album.":"Sakatu Sartu album berri bat sortzeko.","Prevent database and album backups as well as YAML sidecar files from being created.":"Saihestu datu-baseen eta albumen babeskopiak eta baita YAML sidecar fitxategiak sortzea ere.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Eragotzi beste aplikazio batzuei PhotoPrism sareko unitate partekatu gisa sartzea.","Preview":"Aurrebista","Preview Images":"Aurrebista Irudiak","Previous":"Aurrekoa","Previous page":"Aurreko orrialdea","Previous visual":"Aurreko bisuala","Primary":"Lehen mailakoa","Private":"Pribatua","Product Feedback":"Produktuaren iritzia","Projection":"Proiekzioa","Purple":"Morea","Quality Filter":"Kalitate-iragazkia","Quality Score":"Kalitate-maila","r":"r","Random":"Ausazko","Rating {0} of {1}":"{0}/{1} balorazioa","Raw":"Gordinik","RAW":"GORDINA","Re-index all originals, including already indexed and unchanged files.":"Berriro indexatu jatorrizko guztiak, dagoeneko indexatutako eta aldatu gabeko fitxategiak barne.","Read-Only Mode":"Irakurtzeko soilik modua","Recently Added":"Duela gutxi Gehitu","Recently Archived":"Duela gutxi artxibatua","Recently Edited":"Berriki editatua","Recognition starts after indexing has been completed.":"Aitorpena indexatzea amaitu ondoren hasten da.","Recognize faces so people can be assigned and found.":"Aurpegiak ezagutzen ditu, pertsona zehatzak aurkitu ahal izateko.","Recognized":"Aitortua","Recovery Code":"Berreskuratzeko Kodea","Red":"Gorria","Refresh":"Freskatu","Regions":"Eskualdeak","Register":"Izena eman","Reload":"Berriz kargatu","Reloading…":"Berriro kargatzen…","Remote Sync":"Urruneko sinkronizazioa","Remove":"Kendu","remove failed: unknown album":"kendu huts egin du: album ezezaguna","Remove from Album":"Kendu albumetik","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Kendu inportatutako fitxategiak biltegia gordetzeko. Onartu gabeko fitxategi motak ez dira inoiz ezabatuko, uneko kokapenan geratzen dira.","Request failed - are you offline?":"Eskaerak huts egin du - konexiorik gabe zaude?","Request failed - invalid response":"Eskaerak huts egin du - erantzun baliogabea","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Eskatu argazkirik gabeko eta kalitate baxuko irudiak berrikustea bilaketa-emaitzetan agertu aurretik.","Resolution":"Ebazpena","Restart":"Berriro hasi","Restore":"Berreskuratu","Restored":"Zaharberritua","Retry Limit":"Berriro saiatu muga","Retype Password":"Berriro idatzi pasahitza","Review":"Berrikuspena","Role":"Rola","Rows per page:":"Orrialde bakoitzeko errenkadak:","Satellite":"Satelitea","Save":"Gorde","Scan":"Eskaneatu","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Eskaneatu QR kodea zure autentifikatzaile aplikazioarekin edo erabili behean agertzen den konfigurazio-gakoa eta idatzi sortutako egiaztapen-kodea:","Scans":"Eskaneatzea","Scope":"Eremua","Search":"Bilatu","Search and display photos on a map.":"Bilatu eta bistaratu argazkiak mapa batean.","Season":"Denboraldia","Secret":"Sekretua","Security and Access":"Segurtasuna eta Sarbidea","Select":"Hautatu","Select a source folder to import files…":"Hautatu iturburu karpeta fitxategiak inportatzeko…","Select date":"Hautatu data","Select dates":"Aukeratu datak","Select or create an album":"Hautatu edo sortu album bat","Select the files to upload…":"Hautatu kargatu beharreko fitxategiak…","Select the folder to be indexed…":"Hautatu indexatu beharreko karpeta…","Select Time":"Hautatu Ordua","Selection approved":"Hautaketa onartu da","Selection archived":"Hautaketa artxibatuta dago","Selection restored":"Hautaketa leheneratu da","Sequential Name":"Izena sekuentziala","Service URL":"Zerbitzuaren URLa","Services":"Zerbitzuak","Session":"Saioa","Session ID":"Saioaren ID","Sessions":"Saioak","Set as Album Cover":"Ezarri albumaren azala","Settings":"Ezarpenak","Settings saved":"Ezarpenak gorde dira","Setup":"Konfigurazioa","Share":"Partekatu","Share %{s}":"Partekatu %{s}","Share your pictures with other apps and services.":"Partekatu zure argazkiak beste aplikazio eta zerbitzuekin.","Show":"Erakutsi","Show all new faces":"Erakutsi aurpegi berri guztiak","Show Captions":"Erakutsi epigrafeak","Show hidden":"Erakutsi ezkutuan","Show less":"Erakutsi gutxiago","Show more":"Erakutsi gehiago","Show server logs in Library.":"Erakutsi zerbitzariaren erregistroak Liburutegian.","Show Titles":"Erakutsi Izenburuak","Sidecar":"Sidecar","Sidecar Files":"Sidecar fitxategiak","Sign in":"Hasi saioa","Similar":"Antzekoa","Size":"Tamaina","Slideshow":"Aurkezpena","Slow":"Astiro","Software":"Softwarea","Software Update":"Software eguneratzea","Something went wrong, try again":"Arazoren bat izan da. Saiatu berriro","Sort by":"Ordenatu","Sort Order":"Ordenatu ordena","Sorted ascending.":"Goranzko ordenatuta.","Sorted descending.":"Beheranzko ordenatuta.","Source":"Iturria","Stack":"Pila","Stack files sharing the same unique image or instance identifier.":"Pilatu fitxategiak irudi edo instantzia-identifikatzaile esklusibo bera partekatzen dutenak.","Stack pictures taken at the exact same time and location based on their metadata.":"Metadatuetan oinarrituta, pilatu ordu eta kokapen berean ateratako argazkiak.","Stackable":"Pilagarria","Stacks":"Pilak","Start":"Hasi","Start Page":"Hasiera orria","Static Size Limit: %{n}px":"Tamaina muga estatikoa: %{n}px","Status":"Egoera","Storage":"Biltegiratzea","Streets":"Kaleak","Subject":"Gaia","Submit":"Bidali","Successfully activated":"Behar bezala aktibatu da","Successfully Connected":"Behar bezala konektatuta","Successfully deleted":"Behar bezala ezabatu da","Successfully verified":"Behar bezala egiaztatu da","Super Admin":"Super Administratzailea","Support for additional services, like Google Drive, will be added over time.":"Zerbitzu gehigarrietarako laguntza gehituko da denborarekin, Google Drive adibidez.","Support Our Mission":"Lagundu Gure Misioa","Sync":"Sinkronizatu","Sync raw and video files":"Sinkronizatu raw eta bideo fitxategiak","Taken":"Hartua","Teal":"Zertzeta","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow beharrezkoa da irudiak sailkatzeko, aurpegia ezagutzeko eta eduki ez-segurua detektatzeko.","Terrain":"Lurra","Text":"Testua","Text too long":"Testua luzeegia","Thank You for Your Support!":"Eskerrik asko zure laguntzagatik!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Horregatik, PhotoPrism oinarritik sortu zen behar duzun tokian exekutatzeko, askatasuna, pribatutasuna edo funtzionaltasuna arriskuan jarri gabe.","The index currently contains %{n} hidden files.":"Une honetan indizeak ezkutuko %{n} fitxategi ditu.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Baliteke haien formatua ez onartzea, oraindik ez dira JPEG bihurtu edo bikoiztuak daude.","Theme":"Gaia","This field is required":"Eremu hau beharrezkoa da","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Honek jatorrizko karpeta sareko unitate gisa muntatzen du eta ordenagailutik edo telefonotik fitxategiak ireki, editatu eta ezaba ditzakezu lokalak balira bezala.","Time UTC":"Ordua UTC","Time Zone":"Ordu eremu","Timeout":"Denboraz kanpo","Title":{"Account":"Izenburua","Photo":"Izenburua","":"Izenburua"},"Title / Position":"Izenburua / Kargua","Title too long":"Izenburua luzeegia","to":"to","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Zure kontutik kanpo gelditzea saihesteko, deskargatu, inprimatu edo kopiatu berreskuratze-kode hau orain eta gorde leku seguru batean.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Aplikazioaren pasahitz espezifiko berri bat sortzeko, idatzi aplikazioaren izena eta baimen-esparrua eta hautatu iraungitze-data:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Autentifikatzaileen aplikazio edo gailu berri batera aldatzeko, lehenik eta behin desaktibatu bi faktoreko autentifikazioa eta, ondoren, berriro aktibatu:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Bertsio-berritzeko, aktibazio-kode bat sar dezakezu edo \"Erregistratu\" sakatu gure webgunean erregistratzeko:","Today":"Gaur","Toggle View":"Aldatu ikuspegia","Token":"Tokena","Too many files selected":"Fitxategi gehiegi hautatu dira","Too many requests":"Eskaera gehiegi","Troubleshooting":"Arazoak konpontzea","Try again using other filters or keywords.":"Saiatu berriro beste iragazki edo gako-hitz batzuk erabiliz.","Two-factor authentication has been enabled for your account.":"Bi faktoreko autentifikazioa gaitu da zure kontuan.","Type":"Mota","Unauthorized":"Baimenik gabe","Undo":"Desegin","Unique ID":"ID bakarra","Unknown":"Ezezaguna","Unregistered":"Erregistratu gabe","Unsorted":"Ordenatu gabe","Unstack":"Despilatu","Updated":"Eguneratua","Updating faces":"Aurpegiak eguneratzen","Updating index":"Indizea eguneratzen","Updating moments":"Eguneratzea uneak","Updating picture…":"Irudia eguneratzen…","Updating previews":"Aurrebistak eguneratzen","Updating stacks":"Pilak eguneratzen","Upgrade":"Berritu","Upgrade Now":"Berritu orain","Upload":"Kargatu","Upload complete":"Kargatzea osatuta","Upload complete. Indexing…":"Kargatzea osatuta. Indexatzen…","Upload failed":"Ezin izan da kargatu","Upload local files":"Kargatu tokiko fitxategiak","Upload Path":"Kargatu bidea","Upload to WebDAV and share links with friends.":"Kargatu WebDAV-era eta partekatu estekak lagunekin.","Uploading %{n} of %{t}…":"%{t}-tik %{n} kargatzen…","Uploading photos…":"Argazkiak kargatzen…","Uploading…":"Kargatzen…","Uploads that may contain such images will be rejected automatically.":"Horrelako irudiak izan ditzaketen kargak automatikoki baztertuko dira.","Use Presets":"Erabili aurrezarpenak","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Erabili berreskuratze-kode hau zure kontura atzitzeko zure autentifikazio-aplikazioarekin baliozko egiaztapen-koderik sortu ezin duzunean:","Use your recovery code or contact an administrator for help.":"Erabili zure berreskuratzeko kodea edo jarri harremanetan administratzaile batekin laguntza eskatzeko.","User":"Erabiltzailea","User Guide":"Erabiltzailearen Gida","User Interface":"Erabiltzaile Interfazea","Username":"Erabiltzaile izena","Users":"Erabiltzaileak","Vector":"Bektorea","Vectors":"Bektoreak","Verification Code":"Egiaztapen Kodea","Video":"Bideoa","Video Duration":"Bideoaren Iraupena","Videos":"Bideoak","View":"Ikusi","View search results as a list.":"Ikusi bilaketa-emaitzak zerrenda gisa.","Viewer":"Ikusle","Visitor":"Bisitaria","Visual Similarity":"Antzekotasun bisuala","Warning":"Abisua","We appreciate your feedback!":"Zure iritzia eskertzen dugu!","We do our best to respond within five business days or less.":"Gure onena egiten dugu bost lanegun edo gutxiagoko epean erantzuteko.","Web Login":"Web Sarrera","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"WebDAV bezeroak PhotoPrism-era konekta daitezke URL hau erabiliz:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"WebDAV bezeroak, Microsoft-en Windows Explorer edo Apple-ren Finder bezalakoak, zuzenean konekta daitezke PhotoPrism-era.","WebDAV Upload":"WebDAV igoera","WebGL support is disabled in your browser":"WebGL laguntza desgaituta dago zure arakatzailean","Website":"Webgunea","White":"Zuria","Work Details":"Lanaren xehetasunak","Year":"Urtea","Yellow":"Horia","Yes":"Bai","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Ongi etorri gurekin harremanetan jar zaitezke membership@photoprism.app helbidera zure kidetzari buruzko galderak egiteko.","You can only download one album":"Album bakarra deskarga dezakezu","You can only download one label":"Etiketa bakarra deskarga dezakezu","You can upload up to %{n} files for test purposes.":"%{n} fitxategi karga ditzakezu proba helburuetarako.","You may only select one item":"Elementu bakarra hauta dezakezu","You may rescan your library to find additional faces.":"Zure liburutegia berriro eskaneatu dezakezu aurpegi gehigarriak aurkitzeko.","Your account has been successfully connected.":"Zure kontua behar bezala konektatu da.","Your browser does not support WebGL":"Zure arakatzaileak ez du WebGL onartzen","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Zure etengabeko laguntzak aldizkako eguneraketak eskaintzen eta independente izaten laguntzen digu, gure eginkizuna bete eta zure pribatutasuna babesteko.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Zure liburutegia etengabe aztertzen da momentu, bidai eta leku berezien albumak automatikoki sortzeko.","Zoom in/out":"Handitu/txikiagotu"}} \ No newline at end of file +{"eu":{"{0} appended action":"Erantsitako {0} ekintza","{0} files":"{0} fitxategi","{0} files ({1} in total)":"{0} fitxategi ({1} guztira)","{0} more":"{0} gehiago","{0} prepended action":"Aurrez aurreko {0} ekintza","{0} selected":"{0} hautatuta","{0}-{1} of {2}":"{0}-{1}/{2}","%{n} albums found":"%{n} album aurkitu dira","%{n} files uploaded":"%{n} fitxategi kargatu dira","%{n} folders found":"%{n} karpeta aurkitu dira","%{n} GB of %{q} GB used":"%{n} GB-tik %{q} GB erabilita","%{n} labels found":"%{n} etiketa aurkitu dira","%{n} people found":"%{n} pertsona aurkitu dira","%{n} pictures found":"%{n} argazki aurkitu dira","%{s} is too long":"%{s} luzeegia da","%{s} is too short":"%{s} laburregia da","1 hour":"1 ordu","12 hours":"12 ordu","2-Factor Authentication":"2 faktoreko autentifikazioa","2FA":"2FA","4 hours":"4 ordu","A click will copy it to your clipboard.":"Klik eginez gero, arbelean kopiatuko da.","A new version of %{s} is available:":"%{s} bertsio berri bat dago eskuragarri:","About":"Buruz","Access Token":"Sarbide-tokena","Account":"Kontua","Account created":"Kontua sortu da","Account deleted":"Kontua ezabatu da","Account restored":"Kontua leheneratu da","Accounts":"Kontuak","Accuracy":"Zehaztasuna","Action":"Ekintza","Actions":"Ekintzak","Activate":"Aktibatu","Activate to remove sorting.":"Aktibatu ordena kentzeko.","Activate to sort ascending.":"Aktibatu goranzko ordenatzeko.","Activate to sort descending.":"Aktibatu beheranzko ordenatzeko.","Activation Code":"Aktibazio kodea","Add":"Gehitu","Add %{s}?":"%{s} gehitu?","Add Account":"Kontua gehitu","Add Album":"Gehitu albuma","Add files to your library via Web Upload.":"Gehitu fitxategiak zure liburutegian web-karga bidez.","Add Link":"Gehitu esteka","Add person?":"Pertsona gehitu?","Add pictures from search results by selecting them.":"Gehitu bilaketa-emaitzetan argazkiak hautatuta.","Add to album":"Gehitu albumera","Added":"Gehituta","Adjust Location":"Kokapena egokitu","Admin":"Admin","Advanced":"Aurreratua","After 1 day":"Egun 1 igaro ondoren","After 3 days":"3 egun igaro ondoren","After 7 days":"7 egun igaro ondoren","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Pasahitza berresteko pasahitza sartu ondoren, bi faktoreko autentifikazioa konfigura dezakezu autentifikazio-aplikazio edo gailu bateragarri batekin:","After one month":"Hilabete baten ondoren","After one year":"Urtebeteren buruan","After selecting pictures from search results, you can add them to an album using the context menu.":"Bilaketa-emaitzetan argazkiak hautatu ondoren, album batean gehi ditzakezu testuinguru-menua erabiliz.","After two months":"Bi hilabeteren ondoren","After two weeks":"Bi asteren ondoren","Album":"Albuma","Album Backups":"Albumen babeskopiak","Album created":"Sortu da albuma","Album deleted":"Albuma ezabatuta","Albums":"Albumak","Albums deleted":"Albumak ezabatu dira","All":"Denak","All %{n} albums loaded":"%{n} album guztiak kargatu dira","All %{n} labels loaded":"%{n} etiketa guztiak kargatu dira","All %{n} people loaded":"%{n} pertsona guztiak kargatu dira","All Cameras":"Kamera guztiak","All Categories":"Kategoria guztiak","All Colors":"Kolore guztiak","All Countries":"Herrialde guztiak","All fields are required":"Eremu guztiak beharrezkoak dira","All files from import folder":"Inportazio karpetako fitxategi guztiak","All Lenses":"Lente guztiak","All Months":"Hilabete guztiak","All originals":"Jatorrizko guztiak","All Years":"Urte guztiak","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Bestela, fitxategiak zuzenean igo ditzakezu Nextcloud bezalako WebDAV zerbitzarietara.","Altitude":"Altuera","Altitude (m)":"Altuera (m)","AM":"AM","Animated":"Animatua","Animation":"Animazioa","Animations":"Animazioak","Any private photos and videos remain private and won't be shared.":"Argazki eta bideo pribatu guztiak pribatuak izaten jarraitzen dute eta ez dira partekatuko.","API Key":"API gakoa","Application":"Aplikazio","Apply":"Aplikatu","Approve":"Onartu","Apps and Devices":"Aplikazioak eta gailuak","Archive":"Artxiboa","Archived":"Artxibatuta","Are you sure you want to archive the selection?":"Ziur hautapena artxibatu nahi duzula?","Are you sure you want to delete these albums?":"Ziur album hauek ezabatu nahi dituzula?","Are you sure you want to delete these labels?":"Ziur etiketa hauek ezabatu nahi dituzula?","Are you sure you want to delete this account?":"Ziur kontu hau ezabatu nahi duzula?","Are you sure you want to delete this album?":"Ziur zaude album hau ezabatu nahi duzula?","Are you sure you want to permanently delete these pictures?":"Ziur argazki hauek betiko ezabatu nahi dituzula?","Are you sure you want to permanently delete this file?":"Ziur fitxategi hau betiko ezabatu nahi duzula?","Are you sure?":"Ziur zaude?","Artist":"Artista","Aspect Ratio":"Aspektu-erlazioa","Audio":"Audioa","Authentication":"Autentifikazioa","Auto":"Autoa","Back":"Itzuli","Back to top":"Itzuli gora","Backup":"Babeskopia","Badge":"Txapa","Base Path":"Oinarrizko bidea","Become a member today, support our mission and enjoy our member benefits!":"Egin zaitez kide gaur, lagundu gure eginkizuna eta gozatu gure kideen abantailak!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"%100 autofinantziatua eta independentea izanik, zure datuak ez ditugula inoiz salduko eta gure softwareari eta zerbitzuei buruz gardenak izango garela agintzen dizugu.","Bio":"Bio","Birth Date":"Urtebetetze data","Black":"Beltza","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Lanczos Modification, Less Ringing Artifacts","Blue":"Urdina","Brown":"Marroia","Browse":"Arakatu","Browse and edit image classification labels.":"Arakatu eta editatu irudien sailkapen etiketak.","Browse and share your pictures organized into monthly albums.":"Arakatu eta partekatu zure argazkiak hileroko albumetan antolatuta.","Browse Files":"Arakatu fitxategiak","Browse indexed files and folders in Library.":"Arakatu indexatutako fitxategiak eta karpetak Liburutegian.","Bug Report":"Akatsen txostena","Busy, please wait…":"Lanpetuta, itxaron mesedez…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Eskaintzen ditugun softwarea eta zerbitzuak erabiliz gero, gure zerbitzu-baldintzak, pribatutasun-politika eta jokabide-kodea onartzen dituzu.","Calendar":"Egutegia","Camera":"Kamera","Camera Serial":"Kamera seriea","Can't access your authenticator app or device?":"Ezin duzu sartu autentifikatzaile-aplikazio edo gailuan?","Can't load more, limit reached":"Ezin da gehiago kargatu, mugara iritsi da","Can't select more items":"Ezin dira elementu gehiago hautatu","Cancel":"Utzi","Cannot copy to clipboard":"Ezin da kopiatu arbelean","Caption":"Epigrafea","Cards":"Txartelak","Carousel slide {0} of {1}":"Karruselaren diapositiba {0}/{1}","Category":"Kategoria","Change Avatar":"Aldatu avatarra","Change Password":"Aldatu pasahitza","Change personal profile and security settings.":"Aldatu profil pertsonala eta segurtasun ezarpenak.","Change photo titles, locations, and other metadata.":"Aldatu argazkien izenburuak, kokapenak eta beste metadatuak.","Change private flag":"Aldatu bandera pribatua","Changes could not be saved":"Ezin izan dira aldaketak gorde","Changes successfully saved":"Aldaketak ongi gorde dira","Changes to the advanced settings require a restart to take effect.":"Ezarpen aurreratuen aldaketek berrabiarazi behar dute eragina izateko.","Checked":"Egiaztatuta","Chroma":"Kroma","Cleaning index and cache":"Indizea eta cachea garbitzea","Cleanup":"Garbitu","Clear {0}":"Garbitu {0}","Client":"Bezeroa","Client Credentials":"Bezeroaren kredentzialak","Close":"Itxi","Codec":"Kodeka","Color":"Kolore","Color Profile":"Kolore-profila","Colors":"Koloreak","Compare Editions":"Edizioak alderatu","Complete Rescan":"Berriro eskaneatu osoa","Confidence":"Konfiantza","Confirm":"Berretsi","Connect":"Konektatu","Connect via WebDAV":"Konektatu WebDAV bidez","Connected":"Konektatuta","Contact Details":"Harremanetarako datuak","Contact Us":"Jarri gurekin harremanetan","Contains %{n} pictures.":"%{n} irudi ditu.","Contains one picture.":"Irudi bat dauka.","Content":"Edukia","Continue":"Jarraitu","Continue with %{provider}":"Jarraitu %{provider}-rekin","Contributor":"Laguntzailea","Converting":"Bihurtzea","Copied to clipboard":"Arbelean kopiatu da","Copy":"Kopiatu","Copyright":"Copyright","Couldn't find anything.":"Ezin izan da ezer aurkitu.","Country":"Herrialdea","Create Account":"Kontua sortu","Create album":"Sortu albuma","Create regular backups based on the configured schedule.":"Sortu indizearen babeskopiak konfiguratutako ordutegian oinarrituta.","Create YAML files to back up album metadata.":"Sortu YAML fitxategiak albumen metadatuen babeskopia egiteko.","Create YAML sidecar files to back up picture metadata.":"Sortu YAML sidecar fitxategiak argazkien metadatuen babeskopia egiteko.","Created":"Sortu","Creating thumbnails for":"Miniaturak sortzen","Cubic: Moderate Quality, Good Performance":"Kubikoa: kalitate ertaina, errendimendu ona","Current Password":"oraingo pasahitza","Custom":"Pertsonalizatua","Cyan":"Zian","Daily":"Egunero","Database Backups":"Datu-basearen babeskopiak","Day":"Eguna","Deactivate":"Desaktibatu","Debug Logs":"Arazte-erregistroak","Default":"Lehenetsia","Default Folder":"Karpeta lehenetsia","Delete":"Ezabatu","Delete Album":"Ezabatu albuma","Delete All":"Ezabatu guztiak","Delete all?":"Guztiak ezabatu?","Delete orphaned index entries, sidecar files and thumbnails.":"Ezabatu umezurtz indize-sarrerak, sidecar fitxategiak eta miniaturak.","Description":"Deskribapena","Detailed instructions can be found in our User Guide.":"Argibide zehatzak gure Erabiltzailearen Gidan aurki daitezke.","Details":"Xehetasunak","Dimensions":"Neurriak","Disable Backups":"Desgaitu babeskopiak","Disable Darktable":"Desgaitu Darktable","Disable ExifTool":"Desgaitu ExifTool","Disable features that require write permission for the originals folder.":"Desgaitu jatorrizkoen karpetarako idazteko baimena behar duten funtzioak.","Disable FFmpeg":"Desgaitu FFmpeg","Disable ImageMagick":"Desgaitu ImageMagick","Disable interactive world maps and reverse geocoding.":"Desgaitu munduko mapa interaktiboak eta alderantzizko geokodeketa.","Disable Places":"Desgaitu Lekuak","Disable RawTherapee":"Desgaitu RawTherapee","Disable TensorFlow":"Desgaitu TensorFlow","Disable Vectors":"Desgaitu bektoreak","Disable WebDAV":"Desgaitu WebDAV","Disables vector graphics support.":"Grafiko bektorialen euskarria desgaitzen du.","Disables video transcoding and thumbnail extraction.":"Bideoen transkodeketa eta irudi txikien erauzketa desgaitzen ditu.","Discover":"Ezagutu","Dismiss":"Baztertu","Display Name":"Bistaratzeko izena","Display picture captions in search results.":"Bistaratu irudi-oinak bilaketa-emaitzetan.","Display picture titles in search results.":"Bistaratu irudien izenburuak bilaketa-emaitzetan.","Document":"Dokumentua","Documents":"Dokumentuak","Don't use Darktable to convert RAW images.":"Ez erabili Darktable irudi RAW bihurtzeko.","Don't use ImageMagick to convert images.":"Ez erabili ImageMagick irudiak bihurtzeko.","Don't use RawTherapee to convert RAW images.":"Ez erabili RawTherapee RAW irudiak bihurtzeko.","Done":"Eginda","Done.":"Eginda.","Download":"Deskargatu","Download only original media files, without any automatically generated files.":"Deskargatu jatorrizko multimedia fitxategiak soilik, automatikoki sortutako fitxategirik gabe.","Download remote files":"Deskargatu urruneko fitxategiak","Download single files and zip archives.":"Deskargatu fitxategi bakarrak eta zip artxiboak.","Downloading…":"Deskargatzen…","Downscaling Filter":"Beherapen-iragazkia","Drag and drop files here":"Arrastatu eta jaregin fitxategiak hemen","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"Jasotzen ditugun mezu elektronikoen bolumen handia dela eta, baliteke gure taldeak ezin izatea zurekin berehala itzuli.","Duplicates will be skipped and only appear once.":"Bikoiztuak saltatu egingo dira eta behin bakarrik agertuko dira.","Duration":"Iraupena","Dynamic Previews":"Aurrebista dinamikoak","Dynamic Size Limit: %{n}px":"Tamaina dinamikoaren muga: %{n}px","E-Mail":"Posta elektronikoa","Edit":"Editatu","Edit %{s}":"Editatu %{s}","Edit Account":"Editatu kontua","Edit Photo":"Editatu argazkia","Edited":"Editatua","Email":"Posta elektronikoa","Enable debug mode to display additional logs and help with troubleshooting.":"Gaitu arazketa modua erregistro gehigarriak bistaratzeko eta arazoak konpontzen laguntzeko.","Enable new features that may be incomplete or unstable.":"Gaitu osatugabeak edo ezegonkorrak izan daitezkeen eginbide berriak.","Enables RAW converter presets. May reduce performance.":"RAW bihurgailuaren aurrezarpenak gaitzen ditu. Errendimendua murriztu dezake.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Bi faktoreko autentifikazioa gaitzeak esan nahi du ausaz sortutako egiaztapen-kode bat beharko duzula saioa hasteko; beraz, norbaitek zure pasahitza atzitzen badu ere, ezin izango du zure kontuan sartu.","Enter date":"Sartu data","Enter dates":"Sartu datak","Enter the code generated by your authenticator app:":"Sartu zure autentifikazio-aplikazioak sortutako kodea:","Enter verification code":"Sartu egiaztapen-kodea","Enter your password to confirm the action and continue:":"Sartu pasahitza ekintza berresteko eta jarraitu:","Error":"Errorea","Errors":"Akatsak","Estimate":"Estimazioa","Estimate Locations":"Estimatu kokapenak","Estimate the approximate location of pictures without GPS coordinates.":"Kalkulatu argazkien gutxi gorabeherako kokapena GPS koordenaturik gabe.","Every two days":"Bi egunetik behin","Exclude content marked as private from search results, shared albums, labels, and places.":"Baztertu pribatu gisa markatutako edukia bilaketa-emaitzetatik, partekatutako albumetatik, etiketetatik eta tokietatik.","Exclude hidden":"Ezkutatuta baztertu","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"ExifTool-ekin metadatuak erauztea beharrezkoa da Bideo, Live Photo eta XMP laguntza osoa izateko.","Experimental Features":"Ezaugarri esperimentalak","Expires":"Iraungitzen da","Exposure":"Esposizio","Extract still images and generate thumbnails while indexing.":"Atera irudi finkoak eta sortu miniaturak indexatzen dituzun bitartean.","F Number":"F Zenbakia","Face":"Aurpegia","Faces":"Aurpegiak","Failed removing link":"Ezin izan da esteka kendu","Failed to connect account.":"Ezin izan da konektatu kontua.","Failed updating link":"Ezin izan da eguneratu esteka","Family Name":"Abizena","Fast":"Azkar","Favorite":"Gogokoena","Favorites":"Gogokoak","Feature Request":"Ezaugarrien eskaera","Feedback":"Iritzia","Female":"Emakumezkoa","File":"Fitxategia","File Browser":"Fitxategien arakatzailea","File Conversion":"Fitxategien Bihurketa","File Name":"Fitxategi izena","File Size":"Fitxategiaren Tamaina","Filename":"Fitxategi izena","Files":"Fitxategiak","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"'IMG_1234 (2)' eta 'IMG_1234 (3)' bezalako izen sekuentzialak dituzten fitxategiak irudi berekoak dira.","First page":"Lehen orrialdea","Focal Length":"Fokua","Folder":"Karpeta","Folder contains %{n} files":"Karpetak %{n} fitxategi ditu","Folder is empty":"Karpeta hutsik dago","Folders":"Karpetak","Forgot password?":"Pasahitza ahaztua?","FPS":"FPS","Frames":"Markoak","Full Access":"Sarbide osoa","Fullscreen":"Pantaila osoa","General":"Orokorra","Generate":"Sortu","Generate albums of special moments, journeys, and places.":"Momentu, bidai eta leku berezien albumak automatikoki sortzen ditu.","Generate Previews":"Sortu Aurrebistak","Generated":"Sortutakoa","Get Started":"Hasi","Given Name":"Emandako izena","Global Options":"Aukera globalak","Go to page {0}":"Joan {0} orrialdera","Gold":"Urrea","Green":"Berdea","Grey":"Grisa","Guest":"Gonbidatua","Hash":"Hash","Help":"Laguntza","Help & Support":"Laguntza eta laguntza","Hidden":"Ezkutuan","Hidden Files":"Ezkutuko Fitxategiak","Hide":"Ezkutatu","Hide photos that have been moved to archive.":"Ezkutatu artxibora eraman diren argazkiak.","High":"Alta","High Dynamic Range (HDR)":"Gama dinamiko handia (HDR)","How can we help?":"Nola lagundu dezakegu?","Hybrid":"Hibridoa","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Zure autentifikazio-aplikaziorako edo gailurako sarbidea galtzen baduzu, berreskuratzeko kodea erabil dezakezu zure konturako sarbidea berreskuratzeko.","Image":"Irudia","Image Quality":"Irudiaren Kalitatea","Import":"Inportatu","Import failed":"Ezin izan da inportatu","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Inportatutako fitxategiak dataren arabera ordenatuko dira eta izen esklusibo bat emango zaie bikoiztuak saihesteko.","Imported files will be sorted by date and given a unique name.":"Inportatutako fitxategiak dataren arabera ordenatuko dira eta izen esklusibo bat emango zaie.","Importing %{s}…":"%{s} inportatzen…","Importing files to originals…":"Fitxategiak jatorrizkoetara inportatzen…","in":"urtean","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"Espero dituzun argazkiak falta badira, eskaneatu berriro zure liburutegia eta itxaron indexazioa amaitu arte.","Include RAW image files when downloading stacks and archives.":"Sartu RAW irudi-fitxategiak pila eta artxiboak deskargatzean.","Include sidecar files when downloading stacks and archives.":"Sartu sidecar fitxategiak pilak eta artxiboak deskargatzean.","Increase storage size or delete files to continue.":"Aurrera egiteko, handitu biltegiratze-tamaina edo ezabatu fitxategiak.","Index":"Aurkibidea","Index and import files through the user interface.":"Fitxategiak indexatu eta inportatu erabiltzailearen interfazearen bidez.","Indexing":"Indexatzea","Indexing failed":"Ezin izan da indexatu","Indexing media and sidecar files…":"Multimedia eta sidecar fitxategiak indexatzen…","Information":"Informazioa","Instance ID":"Instantziaren IDa","Insufficient storage.":"Biltegiratze nahikoa ez.","Interval":"Tartea","Invalid":"Baliogabea","Invalid address":"Helbide baliogabea","Invalid country":"Herrialde baliogabea","Invalid date":"Data baliogabea","Invalid parameters":"Parametro baliogabeak","Invalid photo selected":"Argazki baliogabea hautatu da","Invalid time":"Ordua baliogabea","Invalid URL":"URL baliogabea","It is a one-time use code that will disable 2FA for your account when you use it.":"Erabilera bakarreko kodea da, erabiltzen duzunean zure konturako 2FA desgaituko duena.","Item":"Elementua","Items per page:":"Orrialde bakoitzeko elementuak:","JPEG Quality: %{n}":"JPEG kalitatea: %{n}","JPEG Size Limit: %{n}px":"JPEG tamaina muga: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"JPEG eta miniaturak automatikoki errendatzen dira behar bezala.","Keywords":"Gako-hitzak","Label":"Etiketa","Labels":"Etiketak","Labels deleted":"Etiketak ezabatu dira","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: Xehetasunen kontserbazioa, artefaktu minimoak","Language":"Hizkuntza","Last Active":"Azken Aktiboa","Last Login":"Azken saioa","Last page":"Azken orrialdea","Last Sync":"Azken sinkronizazioa","Last Used":"Azken erabilia","Latitude":"Latitudea","LDAP/AD":"LDAP/AD","Learn more":"Gehiago ikasi","Learn More":"Argibide gehiago","Legal Information":"Informazio juridikoa","Lens":"Lentea","Library":"Liburutegia","License":"Lizentzia","Like":"Atsegin dut","Lime":"Karea","Limit reached, showing first %{n} files":"Muga iritsi da, lehen %{n} fitxategi erakusten","Linear: Very Smooth, Best Performance":"Lineala: oso leuna, errendimendu onena","Link":"Esteka","List":"Zerrenda","List View":"Zerrenda Ikuspegia","Live":"Zuzenean","Live Photos":"Zuzeneko Argazkiak","Load more":"Gehiago kargatu","Loading items...":"Elementuak kargatzen...","Loading...":"Kargatzen...","Local":"Tokikoa","Local Time":"Tokiko Ordua","Location":"Kokapena","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Erregistro-mezuak hemen agertzen dira PhotoPrism-ek hautsitako fitxategiak aurkitzen dituen bakoitzean edo beste arazo potentzial batzuk daudenean.","Login":"Saioa hasi","Logout":"Saioa amaitu","Logs":"Erregistroak","Longitude":"Luzera","Low":"Baxua","Magenta":"Magenta","Main Color":"Kolore Nagusia","Male":"Gizonezkoa","Manage Account":"Kudeatu kontua","Manager":"Kudeatzailea","Manual":"Eskuliburua","Manual Upload":"Eskuzko igoera","Maps":"Mapak","Marker":"Markagailua","Maximum number of accounts has been reached.":"Gehienezko kontu kopurura iritsi da.","Media":"Komunikabideak","Medium":"Ertaina","Membership":"Kidetza","Merge %{a} with %{b}?":"%{a} %{b}rekin bateratu?","Message":"Mezua","Message sent":"Mezua bidali da","Metadata":"Metadatuak","Metrics":"Metrikak","Minimize":"Minimizatu","Missing":"Falta","Missing or invalid configuration":"Konfigurazioa falta edo baliogabea","Moments":"Momentuak","Monochrome":"Monokromoa","Month":"Hilabetea","More options":"Aukera gehiago","Mosaic":"Mosaikoa","Most Relevant":"Garrantzitsuena","Move Files":"Mugitu fitxategiak","Must have at least %{n} characters.":"Gutxienez %{n} karaktere izan behar ditu.","Mute":"Isildu","Name":"Izena","Name too long":"Izena luzeegia","Never":"Inoiz ez","New":"Berria","New Password":"pasahitz berria","Newest First":"Berriena Lehenengoa","Next":"Hurrengoa","Next page":"Hurrengo orrialdea","Next visual":"Hurrengo bisuala","No":"Ez","No albums found":"Ez da albumik aurkitu","No data available":"Ez dago daturik eskuragarri","No labels found":"Ez da etiketarik aurkitu","No matching records found":"Ez da bat datorren erregistrorik aurkitu","No more":"Ez gehiago","No people found":"Ez da jenderik aurkitu","No pictures found":"Ez da argazkirik aurkitu","No recently edited pictures":"Ez dago duela gutxi editatutako argazkirik","No results":"Emaitzarik ez","No server connection":"Ez dago zerbitzari konexiorik","No servers configured.":"Ez dago zerbitzaririk konfiguratuta.","No services configured.":"Ez dago zerbitzurik konfiguratuta.","No thanks":"Ez eskerrik asko","No warnings or error containing this keyword. Note that search is case-sensitive.":"Ez dago gako-hitz hau duen abisurik edo errorerik. Kontuan izan bilaketak maiuskulak eta minuskulak bereizten dituela.","Non-photographic and low-quality images require a review before they appear in search results.":"Argazkiak ez diren eta kalitate baxuko irudiak berrikusi behar dira bilaketa-emaitzetan agertu aurretik.","None":"Bat ere ez","Not allowed":"Ez da onartzen","Not found":"Ez da aurkitu","Not sorted.":"Ez dago sailkatuta.","Not supported":"Ez da onartzen","Note you may manually manage your originals folder and importing is optional.":"Kontuan izan jatorrizkoen karpeta eskuz kudea dezakezula eta inportatzea aukerakoa da.","Note:":"Ohar:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Oharra: WebDAV zerbitzariak soilik, Nextcloud edo PhotoPrism bezalakoak, urruneko zerbitzu gisa konfigura daitezke babeskopia egiteko eta fitxategiak kargatzeko.","Notes":"Oharrak","Nothing to see here yet.":"Hemen oraindik ez dago ezer ikusteko.","Nothing was found.":"Ez da ezer aurkitu.","Offline":"Lineaz kanpo","OIDC":"OIDC","OK":"Ados","Oldest First":"Zaharrena Lehen","On Windows, enter the following resource in the connection dialog:":"Windows-en, sartu baliabide hau konexio-koadroan:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"Irudi txikiak eskatuz sortzeak CPU eta memoria erabilera handia eragin dezake. Ez da gomendagarria baliabideak mugatutako zerbitzarietarako eta NAS gailuetarako.","Once a week":"Astean behin","One album found":"Album bat aurkitu da","One file found":"Fitxategi bat aurkitu da","One file uploaded":"Fitxategi bat kargatu da","One folder found":"Karpeta bat aurkitu da","One label found":"Etiketa bat aurkitu da","One person found":"Pertsona bat aurkitu du","One picture found":"Irudi bat aurkitu da","Only locally managed accounts can be set up for authentication with 2FA.":"Lokalean kudeatutako kontuak soilik konfigura daitezke 2FA-rekin autentifikatzeko.","Open":"Ireki","optional":"aukerakoa","or":"edo","Orange":"Laranja","Organization":"Antolaketa","Orientation":"Orientazio","Original file names will be stored and indexed.":"Jatorrizko fitxategi-izenak gorde eta indexatuko dira.","Original Name":"Jatorrizko izena","Originals":"Jatorrizkoak","Other":"Bestela","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Gure eginkizuna da erabiltzaileentzako eta pribatutasunerako irtenbiderik egokiena eskaintzea zure argazkiak antolatuta eta eskuragarri mantentzeko.","Outdoor":"Kanpoan","Page {0}, Current page":"{0} orria, uneko orria","Pages":"Orriak","Pagination Navigation":"Pagination Nabigazioa","Panorama":"Panorama","Panoramas":"Panoramak","Password":"Pasahitza","Password changed":"Pasahitza aldatu da","People":"Jendea","People you share a link with will be able to view public contents.":"Esteka partekatzen duzun pertsonek eduki publikoak ikusi ahal izango dituzte.","Permanently deleted":"Betiko ezabatu da","Permanently remove files to free up storage.":"Kendu fitxategiak betiko biltegia askatzeko.","Person":"Pertsona","Personal":"Pertsonalak","Photo":"Argazkia","PhotoPrism is 100% self-funded and independent.":"PhotoPrism %100 autofinantziatua eta independentea da.","PhotoPrism+ Membership":"PhotoPrism+ Kidetza","Photos":"Argazkiak","Picture Title":"Irudiaren izenburua","Pink":"Arrosa","Place":"Lekua","Place & Time":"Lekua eta Ordua","Places":"Lekuak","Please confirm your new password.":"Mesedez, berretsi pasahitz berria.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Mesedez, kopiatu ausaz sortutako aplikazioaren pasahitza eta gorde leku seguru batean, ezingo baituzu berriro ikusi:","Please do not upload any private, unlawful or offensive pictures.":"Mesedez, ez igo argazki pribatu, legez kanpoko edo iraingarririk.","Please don't upload photos containing offensive content.":"Mesedez, ez kargatu eduki iraingarria duten argazkirik.","Please enter OTP character {0}":"Mesedez, idatzi OTP karakterea {0}","Please note that changing your password will log you out on other devices and browsers.":"Kontuan izan pasahitza aldatzeak beste gailu eta arakatzaile batzuetan saioa amaituko duzula.","Please restart your instance for the changes to take effect.":"Mesedez, berrabiarazi zure instantzia aldaketak indarrean egon daitezen.","Please wait…":"Itxaron mesedez…","PM":"PM","PNG Size Limit: %{n}px":"PNG Tamaina Muga: %{n}px","Portrait":"Erretratua","Preserve filenames":"Gorde fitxategi-izenak","Press enter to create a new album.":"Sakatu Sartu album berri bat sortzeko.","Prevent database and album backups as well as YAML sidecar files from being created.":"Saihestu datu-baseen eta albumen babeskopiak eta baita YAML sidecar fitxategiak sortzea ere.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Eragotzi beste aplikazio batzuei PhotoPrism sareko unitate partekatu gisa sartzea.","Preview":"Aurrebista","Preview Images":"Aurrebista Irudiak","Previous":"Aurrekoa","Previous page":"Aurreko orrialdea","Previous visual":"Aurreko bisuala","Primary":"Lehen mailakoa","Private":"Pribatua","Product Feedback":"Produktuaren iritzia","Projection":"Proiekzioa","Purple":"Morea","Quality Filter":"Kalitate-iragazkia","Quality Score":"Kalitate-maila","r":"r","Random":"Ausazko","Rating {0} of {1}":"{0}/{1} balorazioa","Raw":"Gordinik","RAW":"GORDINA","Re-index all originals, including already indexed and unchanged files.":"Berriro indexatu jatorrizko guztiak, dagoeneko indexatutako eta aldatu gabeko fitxategiak barne.","Read-Only Mode":"Irakurtzeko soilik modua","Recently Added":"Duela gutxi Gehitu","Recently Archived":"Duela gutxi artxibatua","Recently Edited":"Berriki editatua","Recognition starts after indexing has been completed.":"Aitorpena indexatzea amaitu ondoren hasten da.","Recognize faces so people can be assigned and found.":"Aurpegiak ezagutzen ditu, pertsona zehatzak aurkitu ahal izateko.","Recognized":"Aitortua","Recovery Code":"Berreskuratzeko Kodea","Red":"Gorria","Refresh":"Freskatu","Regions":"Eskualdeak","Register":"Izena eman","Reload":"Berriz kargatu","Reloading…":"Berriro kargatzen…","Remote Sync":"Urruneko sinkronizazioa","Remove":"Kendu","remove failed: unknown album":"kendu huts egin du: album ezezaguna","Remove from Album":"Kendu albumetik","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Kendu inportatutako fitxategiak biltegia gordetzeko. Onartu gabeko fitxategi motak ez dira inoiz ezabatuko, uneko kokapenan geratzen dira.","Request failed - are you offline?":"Eskaerak huts egin du - konexiorik gabe zaude?","Request failed - invalid response":"Eskaerak huts egin du - erantzun baliogabea","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Eskatu argazkirik gabeko eta kalitate baxuko irudiak berrikustea bilaketa-emaitzetan agertu aurretik.","Resolution":"Ebazpena","Restart":"Berriro hasi","Restore":"Berreskuratu","Restored":"Zaharberritua","Retry Limit":"Berriro saiatu muga","Retype Password":"Berriro idatzi pasahitza","Review":"Berrikuspena","Role":"Rola","Rows per page:":"Orrialde bakoitzeko errenkadak:","Satellite":"Satelitea","Save":"Gorde","Scan":"Eskaneatu","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Eskaneatu QR kodea zure autentifikatzaile aplikazioarekin edo erabili behean agertzen den konfigurazio-gakoa eta idatzi sortutako egiaztapen-kodea:","Scans":"Eskaneatzea","Scope":"Eremua","Search":"Bilatu","Search and display photos on a map.":"Bilatu eta bistaratu argazkiak mapa batean.","Season":"Denboraldia","Secret":"Sekretua","Security and Access":"Segurtasuna eta Sarbidea","Select":"Hautatu","Select a source folder to import files…":"Hautatu iturburu karpeta fitxategiak inportatzeko…","Select date":"Hautatu data","Select dates":"Aukeratu datak","Select or create an album":"Hautatu edo sortu album bat","Select the files to upload…":"Hautatu kargatu beharreko fitxategiak…","Select the folder to be indexed…":"Hautatu indexatu beharreko karpeta…","Select Time":"Hautatu Ordua","Selection approved":"Hautaketa onartu da","Selection archived":"Hautaketa artxibatuta dago","Selection restored":"Hautaketa leheneratu da","Sequential Name":"Izena sekuentziala","Service URL":"Zerbitzuaren URLa","Services":"Zerbitzuak","Session":"Saioa","Session ID":"Saioaren ID","Sessions":"Saioak","Set as Album Cover":"Ezarri albumaren azala","Settings":"Ezarpenak","Settings saved":"Ezarpenak gorde dira","Setup":"Konfigurazioa","Share":"Partekatu","Share %{s}":"Partekatu %{s}","Share your pictures with other apps and services.":"Partekatu zure argazkiak beste aplikazio eta zerbitzuekin.","Show":"Erakutsi","Show all new faces":"Erakutsi aurpegi berri guztiak","Show Captions":"Erakutsi epigrafeak","Show hidden":"Erakutsi ezkutuan","Show less":"Erakutsi gutxiago","Show more":"Erakutsi gehiago","Show server logs in Library.":"Erakutsi zerbitzariaren erregistroak Liburutegian.","Show Titles":"Erakutsi Izenburuak","Sidecar":"Sidecar","Sidecar Files":"Sidecar fitxategiak","Sign in":"Hasi saioa","Similar":"Antzekoa","Size":"Tamaina","Slideshow":"Aurkezpena","Slow":"Astiro","Software":"Softwarea","Software Update":"Software eguneratzea","Something went wrong, try again":"Arazoren bat izan da. Saiatu berriro","Sort by":"Ordenatu","Sort Order":"Ordenatu ordena","Sorted ascending.":"Goranzko ordenatuta.","Sorted descending.":"Beheranzko ordenatuta.","Source":"Iturria","Stack":"Pila","Stack files sharing the same unique image or instance identifier.":"Pilatu fitxategiak irudi edo instantzia-identifikatzaile esklusibo bera partekatzen dutenak.","Stack pictures taken at the exact same time and location based on their metadata.":"Metadatuetan oinarrituta, pilatu ordu eta kokapen berean ateratako argazkiak.","Stackable":"Pilagarria","Stacks":"Pilak","Start":"Hasi","Start Page":"Hasiera orria","Static Size Limit: %{n}px":"Tamaina muga estatikoa: %{n}px","Status":"Egoera","Storage":"Biltegiratzea","Streets":"Kaleak","Subject":"Gaia","Submit":"Bidali","Successfully activated":"Behar bezala aktibatu da","Successfully Connected":"Behar bezala konektatuta","Successfully deleted":"Behar bezala ezabatu da","Successfully verified":"Behar bezala egiaztatu da","Super Admin":"Super Administratzailea","Support for additional services, like Google Drive, will be added over time.":"Zerbitzu gehigarrietarako laguntza gehituko da denborarekin, Google Drive adibidez.","Support Our Mission":"Lagundu Gure Misioa","Sync":"Sinkronizatu","Sync raw and video files":"Sinkronizatu raw eta bideo fitxategiak","Taken":"Hartua","Teal":"Zertzeta","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow beharrezkoa da irudiak sailkatzeko, aurpegia ezagutzeko eta eduki ez-segurua detektatzeko.","Terrain":"Lurra","Text":"Testua","Text too long":"Testua luzeegia","Thank You for Your Support!":"Eskerrik asko zure laguntzagatik!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Horregatik, PhotoPrism oinarritik sortu zen behar duzun tokian exekutatzeko, askatasuna, pribatutasuna edo funtzionaltasuna arriskuan jarri gabe.","The index currently contains %{n} hidden files.":"Une honetan indizeak ezkutuko %{n} fitxategi ditu.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Baliteke haien formatua ez onartzea, oraindik ez dira JPEG bihurtu edo bikoiztuak daude.","Theme":"Gaia","This field is required":"Eremu hau beharrezkoa da","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Honek jatorrizko karpeta sareko unitate gisa muntatzen du eta ordenagailutik edo telefonotik fitxategiak ireki, editatu eta ezaba ditzakezu lokalak balira bezala.","Time UTC":"Ordua UTC","Time Zone":"Ordu eremu","Timeout":"Denboraz kanpo","Title":{"Account":"Izenburua","Photo":"Izenburua","":"Izenburua"},"Title / Position":"Izenburua / Kargua","Title too long":"Izenburua luzeegia","to":"to","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Zure kontutik kanpo gelditzea saihesteko, deskargatu, inprimatu edo kopiatu berreskuratze-kode hau orain eta gorde leku seguru batean.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Aplikazioaren pasahitz espezifiko berri bat sortzeko, idatzi aplikazioaren izena eta baimen-esparrua eta hautatu iraungitze-data:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Autentifikatzaileen aplikazio edo gailu berri batera aldatzeko, lehenik eta behin desaktibatu bi faktoreko autentifikazioa eta, ondoren, berriro aktibatu:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Bertsio-berritzeko, aktibazio-kode bat sar dezakezu edo \"Erregistratu\" sakatu gure webgunean erregistratzeko:","Today":"Gaur","Toggle View":"Aldatu ikuspegia","Token":"Tokena","Too many files selected":"Fitxategi gehiegi hautatu dira","Too many requests":"Eskaera gehiegi","Troubleshooting":"Arazoak konpontzea","Try again using other filters or keywords.":"Saiatu berriro beste iragazki edo gako-hitz batzuk erabiliz.","Two-factor authentication has been enabled for your account.":"Bi faktoreko autentifikazioa gaitu da zure kontuan.","Type":"Mota","Unable to delete":"Ezin da ezabatu","Unauthorized":"Baimenik gabe","Undo":"Desegin","Unique ID":"ID bakarra","Unknown":"Ezezaguna","Unregistered":"Erregistratu gabe","Unsorted":"Ordenatu gabe","Unstack":"Despilatu","Updated":"Eguneratua","Updating faces":"Aurpegiak eguneratzen","Updating index":"Indizea eguneratzen","Updating moments":"Eguneratzea uneak","Updating picture…":"Irudia eguneratzen…","Updating previews":"Aurrebistak eguneratzen","Updating stacks":"Pilak eguneratzen","Upgrade":"Berritu","Upgrade Now":"Berritu orain","Upload":"Kargatu","Upload complete":"Kargatzea osatuta","Upload complete. Indexing…":"Kargatzea osatuta. Indexatzen…","Upload failed":"Ezin izan da kargatu","Upload local files":"Kargatu tokiko fitxategiak","Upload Path":"Kargatu bidea","Upload to WebDAV and share links with friends.":"Kargatu WebDAV-era eta partekatu estekak lagunekin.","Uploading %{n} of %{t}…":"%{t}-tik %{n} kargatzen…","Uploading photos…":"Argazkiak kargatzen…","Uploading…":"Kargatzen…","Uploads that may contain such images will be rejected automatically.":"Horrelako irudiak izan ditzaketen kargak automatikoki baztertuko dira.","Use Presets":"Erabili aurrezarpenak","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Erabili berreskuratze-kode hau zure kontura atzitzeko zure autentifikazio-aplikazioarekin baliozko egiaztapen-koderik sortu ezin duzunean:","Use your recovery code or contact an administrator for help.":"Erabili zure berreskuratzeko kodea edo jarri harremanetan administratzaile batekin laguntza eskatzeko.","User":"Erabiltzailea","User Guide":"Erabiltzailearen Gida","User Interface":"Erabiltzaile Interfazea","Username":"Erabiltzaile izena","Users":"Erabiltzaileak","Vector":"Bektorea","Vectors":"Bektoreak","Verification Code":"Egiaztapen Kodea","Video":"Bideoa","Video Duration":"Bideoaren Iraupena","Videos":"Bideoak","View":"Ikusi","View search results as a list.":"Ikusi bilaketa-emaitzak zerrenda gisa.","Viewer":"Ikusle","Visitor":"Bisitaria","Visual Similarity":"Antzekotasun bisuala","Warning":"Abisua","We appreciate your feedback!":"Zure iritzia eskertzen dugu!","We do our best to respond within five business days or less.":"Gure onena egiten dugu bost lanegun edo gutxiagoko epean erantzuteko.","Web Login":"Web Sarrera","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"WebDAV bezeroak PhotoPrism-era konekta daitezke URL hau erabiliz:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"WebDAV bezeroak, Microsoft-en Windows Explorer edo Apple-ren Finder bezalakoak, zuzenean konekta daitezke PhotoPrism-era.","WebDAV Upload":"WebDAV igoera","WebGL support is disabled in your browser":"WebGL laguntza desgaituta dago zure arakatzailean","Website":"Webgunea","White":"Zuria","Work Details":"Lanaren xehetasunak","Year":"Urtea","Yellow":"Horia","Yes":"Bai","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Ongi etorri gurekin harremanetan jar zaitezke membership@photoprism.app helbidera zure kidetzari buruzko galderak egiteko.","You can only download one album":"Album bakarra deskarga dezakezu","You can only download one label":"Etiketa bakarra deskarga dezakezu","You can search for a location or move the marker on the map to change the position:":"Kokapen bat bilatu edo markatzailea mapan mugitu dezakezu posizioa aldatzeko:","You can upload up to %{n} files for test purposes.":"%{n} fitxategi karga ditzakezu proba helburuetarako.","You may only select one item":"Elementu bakarra hauta dezakezu","You may rescan your library to find additional faces.":"Zure liburutegia berriro eskaneatu dezakezu aurpegi gehigarriak aurkitzeko.","Your account has been successfully connected.":"Zure kontua behar bezala konektatu da.","Your browser does not support WebGL":"Zure arakatzaileak ez du WebGL onartzen","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Zure etengabeko laguntzak aldizkako eguneraketak eskaintzen eta independente izaten laguntzen digu, gure eginkizuna bete eta zure pribatutasuna babesteko.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Zure liburutegia etengabe aztertzen da momentu, bidai eta leku berezien albumak automatikoki sortzeko.","Zoom in/out":"Handitu/txikiagotu"}} \ No newline at end of file diff --git a/frontend/src/locales/json/fa.json b/frontend/src/locales/json/fa.json index 0f0dba9f4..404e65d3f 100644 --- a/frontend/src/locales/json/fa.json +++ b/frontend/src/locales/json/fa.json @@ -1 +1 @@ -{"fa":{"{0} appended action":"{0} اقدام اضافه کرد","{0} files":"{0} فایل","{0} files ({1} in total)":"{0} فایل (در مجموع {1})","{0} more":"{0} بیشتر","{0} prepended action":"{0} اقدام از پیش تعیین شده","{0} selected":"{0} انتخاب شد","{0}-{1} of {2}":"{0}-{1} از {2}","%{n} albums found":"%{n} آلبوم پیدا شد","%{n} files uploaded":"%{n} فایل آپلود شد","%{n} folders found":"%{n} پوشه پیدا شد","%{n} GB of %{q} GB used":"%{n} گیگابایت از %{q} گیگابایت استفاده شده است","%{n} labels found":"%{n} برچسب پیدا شد","%{n} people found":"%{n} نفر پیدا شد","%{n} pictures found":"%{n} عکس پیدا شد","%{s} is too long":"%{s} خیلی طولانی است","%{s} is too short":"%{s} خیلی کوتاه است","1 hour":"1 ساعت","12 hours":"12 ساعت","2-Factor Authentication":"احراز هویت 2-عاملی","2FA":"2FA","4 hours":"4 ساعت","A click will copy it to your clipboard.":"یک کلیک آن را در کلیپ بورد شما کپی می کند.","A new version of %{s} is available:":"نسخه جدیدی از %{s} موجود است:","About":"درباره","Access Token":"نشانه دسترسی","Account":"حساب کاربری","Account created":"حساب کاربری ایجاد شد","Account deleted":"حساب کاربری حذف شد","Account restored":"حساب بازیابی شد","Accounts":"حساب ها","Accuracy":"دقت","Action":"عمل","Actions":"اقدامات","Activate":"فعال کنید","Activate to remove sorting.":"برای حذف مرتب سازی فعال کنید.","Activate to sort ascending.":"برای مرتب سازی صعودی فعال کنید.","Activate to sort descending.":"برای مرتب سازی نزولی فعال کنید.","Activation Code":"کد فعال سازی","Add":"اضافه کردن","Add %{s}?":"%{s} اضافه شود؟","Add Account":"ویرایش حساب کاربری","Add Album":"افزودن آلبوم","Add files to your library via Web Upload.":"از طریق بارگذاری وب فایلها را به کتابخانه خود اضافه کنید.","Add Link":"اضافه کردن لینک","Add person?":"فرد اضافه شود؟","Add pictures from search results by selecting them.":"با انتخاب آنها ، تصاویر را از نتایج جستجو اضافه کنید.","Add to album":"افزودن به آلبوم","Added":"اضافه شده","Admin":"مدیر","Advanced":"پیشرفته","After 1 day":"بعد از 1 روز","After 3 days":"بعد از 3 روز","After 7 days":"بعد از 7 روز","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"پس از وارد کردن رمز عبور خود برای تأیید، می توانید احراز هویت دو مرحله ای را با یک برنامه یا دستگاه تأیید کننده سازگار تنظیم کنید:","After one month":"بعد از یک ماه","After one year":"بعد از یک سال","After selecting pictures from search results, you can add them to an album using the context menu.":"پس از انتخاب تصاویر از نتایج جستجو، می توانید آنها را با استفاده از منوی زمینه به آلبوم اضافه کنید.","After two months":"بعد از دو ماه","After two weeks":"بعد از دو هفته","Album":"آلبوم","Album Backups":"پشتیبان گیری از آلبوم","Album created":"آلبوم ایجاد شد","Albums":"آلبوم ها","Albums deleted":"آلبوم ها حذف شدند","All":"همه","All %{n} albums loaded":"همه %{n} آلبوم بارگیری شد","All %{n} labels loaded":"همه برچسب‌های %{n} بارگیری شدند","All %{n} people loaded":"همه %{n} نفر بارگیری شدند","All Cameras":"همه دوربین ها","All Categories":"همه دسته بندی ها","All Colors":"همه رنگ ها","All Countries":"همه کشورها","All fields are required":"همه فیلدها الزامی است","All files from import folder":"همه پرونده ها از پوشه واردات","All Lenses":"همه لنزها","All Months":"همه ماه ها","All originals":"همه اصل","All Years":"همه سالها","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"از طرف دیگر، می‌توانید فایل‌ها را مستقیماً در سرورهای WebDAV مانند Nextcloud آپلود کنید.","Altitude":"ارتفاع","Altitude (m)":"ارتفاع (M)","AM":"AM","Animated":"متحرک","Animation":"انیمیشن","Any private photos and videos remain private and won't be shared.":"هر عکس و فیلم خصوصی خصوصی باقی می ماند و به اشتراک گذاشته نمی شود.","API Key":"کلید API","Application":"کاربرد","Apply":"درخواست","Approve":"تأیید","Apps and Devices":"برنامه ها و دستگاه ها","Archive":"بایگانی","Archived":"بایگانی شده","Are you sure you want to archive the selection?":"آیا مطمئن هستید که می خواهید انتخاب را بایگانی کنید؟","Are you sure you want to delete these albums?":"آیا مطمئن هستید که می خواهید این آلبوم ها را حذف کنید؟","Are you sure you want to delete these labels?":"آیا مطمئن هستید که می خواهید این برچسب ها را حذف کنید؟","Are you sure you want to delete this account?":"آیا مطمئن هستید که می خواهید این حساب را حذف کنید؟","Are you sure you want to permanently delete these pictures?":"آیا مطمئن هستید که می خواهید این تصاویر را به طور دائم حذف کنید؟","Are you sure you want to permanently delete this file?":"آیا مطمئن هستید که می خواهید این پرونده را به طور دائم حذف کنید؟","Are you sure?":"مطمئن هستی؟","Artist":"هنرمند","Aspect Ratio":"نسبت ابعاد","Audio":"صوتی","Authentication":"احراز هویت","Auto":"خودکار","Back":"بازگشت","Back to top":"بازگشت به بالا","Backup":"پشتیبان گیری","Badge":"نشان","Base Path":"مسیر پایه","Become a member today, support our mission and enjoy our member benefits!":"همین امروز عضو شوید، از ماموریت ما حمایت کنید و از مزایای عضویت ما لذت ببرید!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"ما با تامین مالی مستقل و 100% خود، می توانیم به شما قول بدهیم که هرگز داده های شما را نمی فروشیم و همیشه در مورد نرم افزار و خدمات خود شفاف خواهیم بود.","Bio":"بود","Birth Date":"تاریخ تولد","Black":"سیاه","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Lanczos Modification, Less Ringing Artifacts","Blue":"آبی","Brown":"قهوه ای","Browse":"مرور کردن","Browse and edit image classification labels.":"مرور و ویرایش برچسب های طبقه بندی تصویر.","Browse and share your pictures organized into monthly albums.":"تصاویر خود را که در آلبوم های ماهانه سازماندهی شده اند مرور کرده و به اشتراک بگذارید.","Browse Files":"مرور فایل ها","Browse indexed files and folders in Library.":"پرونده ها و پوشه های فهرست بندی شده را در کتابخانه مرور کنید.","Bug Report":"گزارش اشکال","Busy, please wait…":"مشغول است ، لطفا صبر کنید…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"با استفاده از نرم‌افزار و خدماتی که ما ارائه می‌کنیم، با شرایط خدمات، خط‌مشی رازداری و آیین‌نامه رفتار ما موافقت می‌کنید.","Calendar":"تقویم","Camera":"دوربین","Camera Serial":"سریال دوربین","Can't access your authenticator app or device?":"نمی توانید به برنامه یا دستگاه احراز هویت خود دسترسی پیدا کنید؟","Can't load more, limit reached":"نمی تواند بار بیشتری بارگیری کند ، محدود شود","Can't select more items":"موارد بیشتری را انتخاب نمی کند","Cancel":"لغو","Caption":"عنوان","Cards":"کارت ها","Carousel slide {0} of {1}":"اسلاید چرخ فلک {0} از {1}","Category":"دسته","Change Avatar":"تغییر پرچم خصوصی","Change Password":"رمزعبور جدید","Change personal profile and security settings.":"پروفایل شخصی و تنظیمات امنیتی را تغییر دهید.","Change photo titles, locations, and other metadata.":"تغییر عناوین عکس ، مکان ها و سایر ابرداده ها.","Change private flag":"تغییر پرچم خصوصی","Changes could not be saved":"تغییرات را نمی توان ذخیره کرد","Changes successfully saved":"تغییرات با موفقیت ذخیره شد","Changes to the advanced settings require a restart to take effect.":"برای اعمال تغییرات در تنظیمات پیشرفته، نیاز به راه اندازی مجدد است.","Checked":"بررسی شده","Chroma":"کروما","Cleaning index and cache":"پاک کردن فهرست و کش","Cleanup":"پاک کردن","Clear {0}":"پاک کردن {0}","Client":"مشتری","Client Credentials":"اعتبار مشتری","Close":"نزدیک","Codec":"کدک","Color":"رنگ","Color Profile":"مشخصات رنگ","Colors":"رنگ ها","Compare Editions":"مقایسه نسخه ها","Complete Rescan":"اسکن کامل","Confidence":"اعتماد","Confirm":"تایید","Connect":"اتصال","Connect via WebDAV":"از طریق WebDav وصل کنید","Connected":"متصل","Contact Details":"با ما تماس بگیرید","Contact Us":"با ما تماس بگیرید","Contains %{n} pictures.":"حاوی %{n} عکس است.","Contains one picture.":"حاوی یک تصویر است.","Content":"محتوا","Continue":"ادامه هید","Continue with %{provider}":"ادامه با %{provider}","Contributor":"مشارکت کننده","Converting":"تبدیل","Copied to clipboard":"کپی شده در کلیپ بورد","Copy":"کپی 🀄","Copyright":"حق چاپ","Couldn't find anything.":"نتوانست چیزی پیدا کند.","Country":"کشور","Create Account":"ایجاد حساب کاربری","Create album":"ایجاد آلبوم","Create regular backups based on the configured schedule.":"بر اساس زمانبندی پیکربندی شده، پشتیبان گیری از فهرست ایجاد کنید.","Create YAML files to back up album metadata.":"فایل های YAML را برای پشتیبان گیری از فراداده آلبوم ایجاد کنید.","Create YAML sidecar files to back up picture metadata.":"فایل های YAML sidecar را برای پشتیبان گیری از متادیتای تصویر ایجاد کنید.","Created":"ایجاد شده","Creating thumbnails for":"ایجاد تصاویر کوچک برای","Cubic: Moderate Quality, Good Performance":"مکعب: کیفیت متوسط ، عملکرد خوب","Current Password":"رمز عبور فعلی","Custom":"سفارشی","Cyan":"فیروزه ای","Daily":"روزانه","Database Backups":"پشتیبان گیری از پایگاه داده","Day":"روز","Deactivate":"از کار انداختن","Debug Logs":"گزارش‌های اشکال زدایی","Default":"پیشفرض","Default Folder":"پوشه پیشفرض","Delete":"حذف","Delete All":"حذف همه","Delete all?":"همه حذف شود؟","Delete orphaned index entries, sidecar files and thumbnails.":"ورودی های فهرست یتیم، فایل های کناری و تصاویر کوچک را حذف کنید.","Description":"توضیحات","Detailed instructions can be found in our User Guide.":"دستورالعمل های دقیق را می توانید در راهنمای کاربر پیدا کنید.","Details":"جزئیات","Dimensions":"ابعاد","Disable Backups":"غیرفعال کردن پشتیبان گیری","Disable Darktable":"غیرفعال کردن Darktable","Disable ExifTool":"غیرفعال کردن exiftool","Disable features that require write permission for the originals folder.":"ویژگی هایی را که به مجوز نوشتن برای پوشه اصلی نیاز دارند غیرفعال کنید.","Disable FFmpeg":"غیرفعال کردن ffmpeg","Disable ImageMagick":"ImageMagick را غیرفعال کنید","Disable interactive world maps and reverse geocoding.":"غیرفعال کردن نقشه های تعاملی جهان و معکوس کردن geocoding.","Disable Places":"غیرفعال کردن مکان ها","Disable RawTherapee":"غیرفعال کردن Rawtherapee","Disable TensorFlow":"غیرفعال کردن tensorflow","Disable Vectors":"غیرفعال کردن بردارها","Disable WebDAV":"غیرفعال کردن WebDAV","Disables vector graphics support.":"پشتیبانی از گرافیک برداری را غیرفعال می کند.","Disables video transcoding and thumbnail extraction.":"رمزگذاری ویدیو و استخراج تصاویر کوچک را غیرفعال می کند.","Discover":"کشف","Dismiss":"رد کردن","Display Name":"نام نمایشی","Display picture captions in search results.":"نمایش شرح تصاویر در نتایج جستجو","Display picture titles in search results.":"نمایش عناوین تصاویر در نتایج جستجو","Document":"سند","Documents":"اسناد","Don't use Darktable to convert RAW images.":"از DarkTable برای تبدیل پرونده های خام استفاده نکنید.","Don't use ImageMagick to convert images.":"برای تبدیل تصاویر از ImageMagick استفاده نکنید.","Don't use RawTherapee to convert RAW images.":"از rawtherapee برای تبدیل پرونده های خام استفاده نکنید.","Done":"انجام شده","Done.":"انجام شده است.","Download":"بارگیری","Download only original media files, without any automatically generated files.":"فقط فایل های رسانه ای اصلی را دانلود کنید، بدون هیچ فایلی که به طور خودکار تولید می شود.","Download remote files":"بارگیری پرونده های از راه دور","Download single files and zip archives.":"بارگیری پرونده های تک و بایگانی زیپ.","Downloading…":"درحال دانلود…","Downscaling Filter":"فیلتر کاهش مقیاس","Drag and drop files here":"فایل ها را در اینجا بکشید و رها کنید","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"به دلیل حجم بالای ایمیل‌هایی که دریافت می‌کنیم، تیم ما ممکن است نتواند فوراً با شما تماس بگیرد.","Duplicates will be skipped and only appear once.":"نسخه های تکراری پرش می شوند و فقط یک بار ظاهر می شوند.","Duration":"مدت","Dynamic Previews":"پیش نمایش پویا","Dynamic Size Limit: %{n}px":"محدودیت اندازه پویا: %{n}px","E-Mail":"ایمیل","Edit":"ویرایش","Edit %{s}":"ویرایش %{s}","Edit Account":"ویرایش حساب کاربری","Edit Photo":"ویرایش تصویر","Edited":"ویرایش شده","Email":"پست الکترونیک","Enable debug mode to display additional logs and help with troubleshooting.":"برای نمایش گزارش های اضافی و کمک به عیب یابی، حالت اشکال زدایی را فعال کنید.","Enable new features that may be incomplete or unstable.":"ویژگی های جدیدی را فعال کنید که ممکن است ناقص یا ناپایدار باشند.","Enables RAW converter presets. May reduce performance.":"فعال کردن RAW converter presets . ممکن است عملکرد را کاهش دهد.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"فعال کردن احراز هویت دو مرحله‌ای به این معنی است که برای ورود به سیستم به یک کد تأیید تصادفی تولید شده نیاز دارید، بنابراین حتی اگر شخصی به رمز عبور شما دسترسی پیدا کند، نمی‌تواند به حساب شما دسترسی پیدا کند.","Enter date":"تاریخ را وارد کنید","Enter dates":"تاریخ ها را وارد کنید","Enter the code generated by your authenticator app:":"کد ایجاد شده توسط برنامه احراز هویت خود را وارد کنید:","Enter verification code":"کد تایید را وارد کنید","Enter your password to confirm the action and continue:":"رمز عبور خود را برای تایید عمل وارد کنید و ادامه دهید:","Error":"خطا","Errors":"خطا ها","Estimate":"تخمین زدن","Estimate Locations":"تخمین مکان ها","Estimate the approximate location of pictures without GPS coordinates.":"مکان تقریبی تصاویر را بدون مختصات GPS تخمین بزنید.","Every two days":"هر دو روز","Exclude content marked as private from search results, shared albums, labels, and places.":"محتوای علامت‌گذاری‌شده به‌عنوان خصوصی را از نتایج جستجو، آلبوم‌های مشترک، برچسب‌ها و مکان‌ها حذف کنید.","Exclude hidden":"حذف پنهان","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"استخراج فراداده با ExifTool برای پشتیبانی کامل از ویدیو، عکس زنده و XMP مورد نیاز است.","Experimental Features":"ویژگی های تجربی","Expires":"منقضی می شود","Exposure":"قرارگیری در معرض","Extract still images and generate thumbnails while indexing.":"در حین نمایه سازی، تصاویر ثابت را استخراج کنید و تصاویر کوچک تولید کنید.","F Number":"شماره F","Face":"صورت","Faces":"صورت ها","Failed removing link":"پیوند حذف نشد","Failed to connect account.":"اتصال حساب انجام نشد.","Failed updating link":"پیوند به روز نشد","Family Name":"خانواده","Fast":"سریع","Favorite":"موردعلاقه","Favorites":"موارد دلخواه","Feature Request":"درخواست ویژگی","Feedback":"بازخورد","Female":"زن","File":"فایل","File Browser":"مرورگر فایل","File Conversion":"تبدیل فایل","File Name":"نام فایل","File Size":"فایل","Filename":"نام فایل","Files":"فایل ها","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"فایل‌هایی با نام‌های متوالی مانند «IMG_1234 (2)» و «IMG_1234 (3)» متعلق به یک تصویر هستند.","First page":"صفحه اول","Focal Length":"فاصله کانونی","Folder":"پوشه","Folder contains %{n} files":"پوشه حاوی %{n} فایل است","Folder is empty":"پوشه خالی است","Folders":"پوشه ها","Forgot password?":"رمز عبور را فراموش کرده‌اید؟","FPS":"FPS","Frames":"قاب‌ها","Full Access":"دسترسی کامل","Fullscreen":"تمام صفحه","General":"عمومی","Generate":"تولید می کنند","Generate albums of special moments, journeys, and places.":"به طور خودکار آلبوم هایی از لحظات، سفرها و مکان های خاص ایجاد می کند.","Generate Previews":"ایجاد پیش نمایش","Generated":"تولید شده است","Get Started":"شروع کنید","Given Name":"اسم اصلی","Global Options":"گزینه های جهانی","Go to page {0}":"رفتن به صفحه {0}","Gold":"طلا","Green":"سبز","Grey":"خاکستری","Guest":"مهمان","Hash":"هش","Help":"راهنما","Help & Support":"راهنما و پشتیبانی","Hidden":"مخفی","Hidden Files":"فایل های مخفی","Hide":"مخفی","Hide photos that have been moved to archive.":"عکس هایی که به آرشیو منتقل شده اند را مخفی کنید.","High":"بالا","High Dynamic Range (HDR)":"محدوده دینامیکی بالا (HDR)","How can we help?":"چطور میتوانیم کمک کنیم؟","Hybrid":"ترکیبی","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"اگر دسترسی به برنامه یا دستگاه احراز هویت خود را از دست دادید، می‌توانید از کد بازیابی برای دسترسی مجدد به حساب خود استفاده کنید.","Image":"تصویر","Image Quality":"کیفیت تصویر","Import":"وارد کردن","Import failed":"خطا در وارد کردن","Imported files will be sorted by date and given a unique name to avoid duplicates.":"فایل‌های وارد شده بر اساس تاریخ مرتب می‌شوند و برای جلوگیری از تکرار نامی منحصر به فرد به آن‌ها داده می‌شود.","Imported files will be sorted by date and given a unique name.":"فایل های وارد شده بر اساس تاریخ مرتب شده و یک نام منحصر به فرد داده می شود.","Importing %{s}…":"وارد کردن %{s}…","Importing files to originals…":"در حال وارد کردن فایل‌ها به نسخه اصلی…","in":"به","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"در صورتی که تصاویری که انتظار دارید گم شدند، لطفاً کتابخانه خود را مجدداً اسکن کنید و منتظر بمانید تا نمایه سازی کامل شود.","Include RAW image files when downloading stacks and archives.":"هنگام بارگیری پشته ها و بایگانی ها، فایل های تصویری RAW را اضافه کنید.","Include sidecar files when downloading stacks and archives.":"هنگام بارگیری پشته ها و بایگانی ها، فایل های sidecar را اضافه کنید.","Increase storage size or delete files to continue.":"برای ادامه، حجم فضای ذخیره‌سازی را افزایش دهید یا فایل‌ها را حذف کنید.","Index":"نمایه","Index and import files through the user interface.":"فهرست و وارد کردن فایل ها از طریق رابط کاربری.","Indexing":"نمایه سازی","Indexing failed":"نمایه سازی انجام نشد","Indexing media and sidecar files…":"نمایه سازی رسانه و فایل های جانبی…","Information":"اطلاعات","Instance ID":"ID نمونه","Insufficient storage.":"ذخیره سازی ناکافی.","Interval":"وقفه","Invalid":"تاریخ نامعتبر است","Invalid address":"آدرس نامعتبر است","Invalid country":"کشور نامعتبر","Invalid date":"تاریخ نامعتبر است","Invalid parameters":"پارامترهای نامعتبر","Invalid photo selected":"عکس نامعتبر انتخاب شد","Invalid time":"زمان نامعتبر","Invalid URL":"URL نامعتبر است","It is a one-time use code that will disable 2FA for your account when you use it.":"این یک کد یکبار مصرف است که هنگام استفاده از آن، 2FA را برای حساب شما غیرفعال می کند.","Item":"مورد","Items per page:":"موارد در هر صفحه:","JPEG Quality: %{n}":"کیفیت JPEG: %{n}","JPEG Size Limit: %{n}px":"محدودیت اندازه JPEG: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"JPEG ها و تامبنیل ها به صورت خودکار در صورت نیاز ارائه می شوند.","Keywords":"کلید واژه ها","Label":"برچسب","Labels":"برچسب ها","Labels deleted":"برچسب ها حذف شدند","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: حفظ جزئیات، حداقل مصنوعات","Language":"زبان","Last Active":"آخرین فعالیت","Last Login":"آخرین ورود","Last page":"صفحه آخر","Last Sync":"آخرین همگام سازی","Last Used":"آخرین استفاده","Latitude":"عرض جغرافیایی","LDAP/AD":"LDAP/AD","Learn more":"بیشتر بدانید","Learn More":"بیشتر بدانید","Legal Information":"اطلاعات حقوقی","Lens":"لنز","Library":"کتابخانه","License":"مجوز","Like":"پسندیدن","Lime":"اهک","Limit reached, showing first %{n} files":"به حد مجاز رسیده است، اولین %{n} فایل را نشان می دهد","Linear: Very Smooth, Best Performance":"خطی: بسیار روان، بهترین عملکرد","Link":"لینک","List":"لیست","List View":"نمایش لیست","Live":"زنده","Live Photos":"تصاویر","Load more":"بیشتر بارگیری کنید","Loading items...":"در حال بارگیری موارد...","Loading...":"در حال بارگیری...","Local":"محلی","Local Time":"زمان محلی","Location":"محل","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"هر زمان که PhotoPrism با فایل های شکسته مواجه می شود یا مشکلات احتمالی دیگری وجود دارد، پیام های گزارش در اینجا ظاهر می شوند.","Login":"وارد شدن","Logout":"خارج شدن","Logs":"گزارش ها","Longitude":"طول جغرافیایی","Low":"کم","Magenta":"ارغوانی","Main Color":"رنگ اصلی","Male":"نر","Manage Account":"مدیریت حساب","Manual":"دستی","Manual Upload":"آپلود دستی","Maps":"نقشه ها","Marker":"نشانگر","Maximum number of accounts has been reached.":"به حداکثر تعداد حساب ها رسیده است.","Media":"رسانه ها","Medium":"متوسط","Membership":"عضویت","Merge %{a} with %{b}?":"%{a} با %{b} ادغام شود؟","Message":"پیام","Message sent":"پیغام فرستاده شد","Metadata":"فراداده","Metrics":"معیارهای","Minimize":"کوچک کردن","Missing":"گم شده","Missing or invalid configuration":"پیکربندی موجود نیست یا نامعتبر است","Moments":"لحظه ها","Monochrome":"تک رنگ","Month":"ماه","More options":"گزینه های بیشتر","Mosaic":"موزائیک","Most Relevant":"بسیار مرتبط","Move Files":"جابجایی فایل ها","Must have at least %{n} characters.":"باید حداقل %{n} حرف داشته باشد.","Mute":"بی صدا","Name":"نام","Name too long":"نام خیلی طولانی است","Never":"هرگز","New":"جدید","New Password":"رمزعبور جدید","Newest First":"اول جدیدترین ها","Next":"بعدی","Next page":"صفحه بعدی","Next visual":"تصویری بعدی","No":"خیر","No albums found":"هیچ آلبومی پیدا نشد","No data available":"هیچ داده ای در دسترس نیست","No labels found":"هیچ برچسبی پیدا نشد","No matching records found":"هیچ رکورد منطبقی یافت نشد","No more":"دیگر نه","No people found":"هیچ فردی پیدا نشد","No pictures found":"هیچ تصویری پیدا نشد","No recently edited pictures":"هیچ عکسی اخیراً ویرایش نشده","No server connection":"بدون اتصال به سرور","No servers configured.":"هیچ سروری پیکربندی نشده است.","No services configured.":"هیچ سروری پیکربندی نشده است.","No thanks":"نه، ممنون","No warnings or error containing this keyword. Note that search is case-sensitive.":"هیچ هشدار یا خطایی حاوی این کلمه کلیدی نیست. توجه داشته باشید که جستجو به حروف کوچک و بزرگ حساس است.","Non-photographic and low-quality images require a review before they appear in search results.":"تصاویر غیرعکاسی و با کیفیت پایین قبل از اینکه در نتایج جستجو ظاهر شوند نیاز به بررسی دارند.","None":"هیچ یک","Not allowed":"مجاز نیست","Not found":"پیدا نشد","Not sorted.":"مرتب نشده است.","Not supported":"پشتیبانی نمی شود","Note you may manually manage your originals folder and importing is optional.":"توجه داشته باشید که می توانید به صورت دستی پوشه اصلی خود را مدیریت کنید و وارد کردن اختیاری است.","Note:":"یادداشت:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"توجه: فقط سرورهای WebDAV، مانند Nextcloud یا PhotoPrism، می توانند به عنوان سرویس راه دور برای پشتیبان گیری و آپلود فایل پیکربندی شوند.","Notes":"یادداشت","Nothing to see here yet.":"هنوز چیزی برای دیدن اینجا وجود ندارد.","Nothing was found.":"چیزی پیدا نشد.","Offline":"آفلاین","OIDC":"OIDC","OK":"باشه","Oldest First":"اول قدیمی‌تر ها","On Windows, enter the following resource in the connection dialog:":"در ویندوز، منبع زیر را در گفتگوی اتصال وارد کنید:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"تولید تصاویر بندانگشتی بر اساس تقاضا ممکن است باعث مصرف بالای CPU و حافظه شود. برای سرورهای دارای محدودیت منابع و دستگاه های NAS توصیه نمی شود.","Once a week":"یک بار در هفته","One album found":"یک آلبوم پیدا شد","One file found":"یک فایل پیدا شد","One file uploaded":"یک فایل آپلود شد","One folder found":"یک پوشه پیدا شد","One label found":"یک برچسب پیدا شد","One person found":"یک شخص پیدا شد","One picture found":"یک تصویر پیدا شد","Only locally managed accounts can be set up for authentication with 2FA.":"فقط حساب های مدیریت شده محلی را می توان برای احراز هویت با 2FA تنظیم کرد.","Open":"باز کن","optional":"اختیاری","or":"یا","Orange":"نارنجی","Organization":"گرایش","Orientation":"گرایش","Original file names will be stored and indexed.":"نام فایل های اصلی ذخیره و نمایه می شود.","Original Name":"اسم اصلی","Originals":"اصلی ها","Other":"دیگر","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"ماموریت ما ارائه کاربرپسندترین راه حل برای حفظ حریم خصوصی برای سازماندهی و در دسترس نگه داشتن تصاویر شماست.","Outdoor":"بیرون","Page {0}, Current page":"صفحه {0}، صفحه فعلی","Pages":"صفحات","Pagination Navigation":"پیمایش صفحه بندی","Panorama":"پانوراما","Panoramas":"پانوراما","Password":"رمزعبور","Password changed":"رمز عبور تغییر کرد","People":"مردم","People you share a link with will be able to view public contents.":"افرادی که لینکی را با آنها به اشتراک می گذارید می توانند محتوای عمومی را مشاهده کنند.","Permanently deleted":"برای همیشه حذف شد","Permanently remove files to free up storage.":"برای آزاد کردن فضای ذخیره سازی، فایل ها را برای همیشه حذف کنید.","Person":"شخص","Personal":"شخصی","Photo":"تصویر","PhotoPrism is 100% self-funded and independent.":"PhotoPrism 100٪ با بودجه شخصی و مستقل است.","PhotoPrism+ Membership":"عضویت PhotoPrism+","Photos":"تصاویر","Picture Title":"عنوان تصویر","Pink":"صورتی","Place":"مکان","Place & Time":"مکان و زمان","Places":"مکان ها","Please confirm your new password.":"لطفا رمز عبور جدید خود را تایید کنید.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"لطفاً رمز عبور برنامه زیر را که به‌طور تصادفی تولید شده است کپی کنید و آن را در مکانی امن نگه دارید، زیرا دیگر نمی‌توانید آن را ببینید:","Please do not upload any private, unlawful or offensive pictures.":"لطفا هیچ عکس خصوصی، غیرقانونی یا توهین آمیزی را آپلود نکنید.","Please don't upload photos containing offensive content.":"لطفا عکس های حاوی محتوای توهین آمیز آپلود نکنید.","Please enter OTP character {0}":"لطفاً نویسه OTP {0} را وارد کنید","Please note that changing your password will log you out on other devices and browsers.":"لطفاً توجه داشته باشید که تغییر رمز عبور شما را از سایر دستگاه ها و مرورگرها خارج می کند.","Please restart your instance for the changes to take effect.":"لطفاً نمونه خود را مجدداً راه اندازی کنید تا تغییرات اعمال شوند.","Please wait…":"لطفا صبر کنید…","PM":"PM","PNG Size Limit: %{n}px":"محدودیت اندازه PNG: %{n}px","Portrait":"پرتره","Preserve filenames":"حفظ نام فایل ها","Press enter to create a new album.":"برای ایجاد یک آلبوم جدید، اینتر را فشار دهید.","Prevent database and album backups as well as YAML sidecar files from being created.":"از ایجاد پشتیبان‌گیری از پایگاه داده و آلبوم و همچنین فایل‌های YAML sidecar جلوگیری کنید.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"از دسترسی سایر برنامه ها به PhotoPrism به عنوان درایو شبکه مشترک جلوگیری کنید.","Preview":"پیش نمایش","Preview Images":"پیش نمایش تصاویر","Previous":"قبلی","Previous page":"صفحه قبلی","Previous visual":"تصویری قبلی","Primary":"اولیه","Private":"خصوصی","Product Feedback":"بازخورد محصول","Projection":"طرح ها","Purple":"بنفش","Quality Filter":"فیلتر کیفیت","Quality Score":"امتیاز کیفیت","r":"r","Random":"تصادفی","Rating {0} of {1}":"رتبه بندی {0} از {1}","Raw":"خام","RAW":"خام","Re-index all originals, including already indexed and unchanged files.":"نمایه سازی مجدد همه نسخه های اصلی، از جمله فایل های از قبل نمایه شده و بدون تغییر.","Read-Only Mode":"حالت فقط خواندنی","Recently Added":"به تازگی اضافه شده","Recently Archived":"اخیراً بایگانی شده است","Recently Edited":"به تازگی ویرایش شده است","Recognition starts after indexing has been completed.":"پس از تکمیل نمایه سازی، شناسایی شروع می شود.","Recognize faces so people can be assigned and found.":"چهره ها را می شناسد تا افراد خاصی پیدا شوند.","Recognized":"شناسایی شده","Recovery Code":"کد بازیابی","Red":"قرمز","Refresh":"تازه کردن","Regions":"مناطق","Register":"ثبت نام","Reload":"بارگذاری مجدد","Reloading…":"در حال بارگیری مجدد…","Remote Sync":"همگام سازی از راه دور","Remove":"حذف","remove failed: unknown album":"حذف نشد: آلبوم ناشناخته","Remove from Album":"حذف از آلبوم","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"برای صرفه جویی در فضای ذخیره سازی، فایل های وارد شده را حذف کنید. انواع فایل های پشتیبانی نشده هرگز حذف نمی شوند، آنها در مکان فعلی خود باقی می مانند.","Request failed - are you offline?":"درخواست انجام نشد - آفلاین هستید؟","Request failed - invalid response":"درخواست ناموفق - پاسخ نامعتبر است","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"لازم است تصاویر غیرعکاسی و با کیفیت پایین قبل از نمایش در نتایج جستجو بررسی شوند.","Resolution":"رزولوشن","Restart":"راه اندازی مجدد","Restore":"بازگرداندن","Restored":"بازسازی شد","Retry Limit":"محدودیت تلاش","Retype Password":"رمز عبور را دوباره تایپ کنید","Review":"بازبینی","Role":"نقش","Rows per page:":"ردیف در هر صفحه:","Satellite":"ماهواره","Save":"ذخیره","Scan":"اسکن","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"کد QR را با برنامه احراز هویت خود اسکن کنید یا از کلید راه اندازی نشان داده شده در زیر استفاده کنید و سپس کد تأیید تولید شده را وارد کنید:","Scans":"اسکن ها","Scope":"محدوده","Search":"جستجو","Search and display photos on a map.":"جستجو و نمایش عکس ها روی نقشه.","Season":"فصل","Secret":"محرمانه","Security and Access":"امنیت و دسترسی","Select":"انتخاب","Select a source folder to import files…":"یک پوشه منبع را برای وارد کردن فایل‌ها انتخاب کنید…","Select date":"تاریخ را انتخاب کنید","Select dates":"تاریخ ها را انتخاب کنید","Select or create an album":"آلبومی را انتخاب یا ایجاد کنید","Select the files to upload…":"انتخاب فایل برای آپلود…","Select the folder to be indexed…":"پوشه مورد نظر برای ایندکس شدن را انتخاب کنید…","Select Time":"زمان را انتخاب کنید","Selection approved":"انتخاب تایید شد","Selection archived":"انتخاب بایگانی شد","Selection restored":"انتخاب بازگردانده شد","Sequential Name":"نام ترتیبی","Service URL":"URL سرویس","Services":"URL سرویس","Session":"جلسه","Session ID":"شناسه جلسه","Sessions":"جلسات","Set as Album Cover":"تنظیم به عنوان جلد آلبوم","Settings":"تنظیمات","Settings saved":"تنظیمات ذخیره شد","Setup":"راه اندازی","Share":"اشتراک گذاری","Share %{s}":"اشتراک گذاری %{s}","Share your pictures with other apps and services.":"تصاویر خود را با سایر برنامه ها و سرویس ها به اشتراک بگذارید.","Show":"نمایش","Show all new faces":"نمایش همه صورت ها","Show Captions":"نمایش شرح‌ها","Show hidden":"نمایش مخفی ها","Show less":"نمایش کمتر","Show more":"نمایش بیشتر","Show server logs in Library.":"نمایش گزارش‌های سرور در کتابخانه.","Show Titles":"نمایش عناوین","Sidecar":"جانبی","Sidecar Files":"فایل های Sidecar","Sign in":"ورود","Similar":"مشابه","Size":"سایز","Slideshow":"نمایش اسلاید","Slow":"آهسته","Software":"نرم افزار","Software Update":"به روز رسانی نرم افزار","Something went wrong, try again":"یه چیزی اشتباه شد دوباره تلاش کن","Sort by":"مرتب سازی بر اساس","Sort Order":"ترتیب مرتب سازی","Sorted ascending.":"صعودی مرتب شد.","Sorted descending.":"به صورت نزولی مرتب شد.","Source":"منبع","Stack":"پشته","Stack files sharing the same unique image or instance identifier.":"پشته فایل هایی که همان تصویر منحصر به فرد یا شناسه نمونه را به اشتراک می گذارند.","Stack pictures taken at the exact same time and location based on their metadata.":"عکس‌هایی را که دقیقاً در همان زمان و مکان گرفته شده‌اند، بر اساس ابرداده‌هایشان روی هم قرار دهید.","Stackable":"قابل انباشته شدن","Stacks":"پشته ها","Start":"شروع","Start Page":"صفحه شروع","Static Size Limit: %{n}px":"محدودیت اندازه ثابت: %{n}px","Status":"وضعیت","Storage":"ذخیره سازی","Streets":"خیابان ها","Subject":"موضوع","Submit":"ارسال کنید","Successfully activated":"با موفقیت فعال شد","Successfully Connected":"با موفقیت وصل شد","Successfully deleted":"با موفقیت حذف شد","Successfully verified":"با موفقیت تأیید شد","Super Admin":"سوپر ادمین","Support for additional services, like Google Drive, will be added over time.":"پشتیبانی از خدمات اضافی، مانند Google Drive، به مرور اضافه خواهد شد.","Support Our Mission":"از ماموریت ما حمایت کنید","Sync":"همگام سازی","Sync raw and video files":"همگام سازی فایل های خام و ویدیویی","Taken":"گرفته شده","Teal":"آبی رنگ","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow برای طبقه بندی تصویر، تشخیص چهره و تشخیص محتوای ناامن مورد نیاز است.","Terrain":"زمین","Text":"متن","Text too long":"متن خیلی طولانی است","Thank You for Your Support!":"از حمایت شما متشکرم!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"به همین دلیل است که PhotoPrism از ابتدا ساخته شده است تا در هر کجا که به آن نیاز دارید اجرا شود، بدون اینکه آزادی، حریم خصوصی یا عملکرد به خطر بیفتد.","The index currently contains %{n} hidden files.":"این فهرست در حال حاضر حاوی %{n} فایل پنهان است.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"ممکن است فرمت آنها پشتیبانی نشود، هنوز به JPEG تبدیل نشده اند یا موارد تکراری وجود دارد.","Theme":"قالب","This field is required":"این فیلد الزامی است","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"این پوشه اصلی را به عنوان درایو شبکه نصب می کند و به شما امکان می دهد فایل ها را از رایانه یا تلفن هوشمند خود باز، ویرایش و حذف کنید، گویی محلی هستند.","Time UTC":"زمان UTC","Time Zone":"منطقه زمانی","Timeout":"تایم اوت","Title":{"Account":"عنوان","Photo":"عنوان","":"عنوان"},"Title / Position":"عنوان خیلی طولانی است","Title too long":"عنوان خیلی طولانی است","to":"به","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"برای جلوگیری از قفل شدن حساب خود، لطفاً این کد بازیابی را دانلود، چاپ یا کپی کنید و آن را در مکانی امن نگهداری کنید.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"برای ایجاد یک رمز عبور جدید خاص، لطفاً نام و محدوده مجوز برنامه را وارد کنید و تاریخ انقضا را انتخاب کنید:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"برای جابه‌جایی به یک برنامه یا دستگاه احراز هویت جدید، ابتدا احراز هویت دو مرحله‌ای را غیرفعال کنید و سپس دوباره فعال کنید:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"برای ارتقا، می‌توانید کد فعال‌سازی را وارد کنید یا روی «ثبت‌نام» کلیک کنید تا در وب‌سایت ما ثبت‌نام کنید:","Today":"امروز","Toggle View":"تغییر حالت نمایش","Token":"توکن","Too many files selected":"تعداد زیادی فایل انتخاب شده است","Too many requests":"درخواست های خیلی زیاد","Troubleshooting":"عیب یابی","Try again using other filters or keywords.":"دوباره با استفاده از فیلترها یا کلمات کلیدی دیگر امتحان کنید.","Two-factor authentication has been enabled for your account.":"احراز هویت دو مرحله ای برای حساب شما فعال شده است.","Type":"نوع","Unauthorized":"غیرمجاز","Undo":"باطل کردن","Unique ID":"شناسه منحصربفرد","Unknown":"ناشناس","Unregistered":"ثبت نشده","Unsorted":"مرتب نشده است","Unstack":"باز کردن پشته","Updated":"به روز شد","Updating faces":"به روزرسانی چهره ها","Updating index":"به روزرسانی نمایه ها","Updating moments":"به روزرسانی لحظه ها","Updating picture…":"به روزرسانی پیش نمایش ها","Updating previews":"به روزرسانی پیش نمایش ها","Updating stacks":"به روزرسانی پشته ها","Upgrade":"ارتقا دهید","Upgrade Now":"اکنون ارتقا دهید","Upload":"آپلود","Upload complete":"آپلود کامل شد","Upload complete. Indexing…":"آپلود کامل شد. در حال نمایه سازی…","Upload failed":"آپلود انجام نشد","Upload local files":"فایل های محلی را آپلود کنید","Upload Path":"مسیر آپلود","Upload to WebDAV and share links with friends.":"در WebDAV آپلود کنید و پیوندها را با دوستان خود به اشتراک بگذارید.","Uploading %{n} of %{t}…":"در حال آپلود %{n} از %{t}…","Uploading photos…":"در حال آپلود تصاویر…","Uploading…":"در حال بارگیری مجدد…","Uploads that may contain such images will be rejected automatically.":"آپلودهایی که ممکن است حاوی چنین تصاویری باشند به طور خودکار رد می شوند.","Use Presets":"از Presets استفاده کنید","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"وقتی نمی‌توانید یک کد تأیید معتبر با برنامه احراز هویت خود ایجاد کنید، از کد بازیابی زیر برای دسترسی به حساب خود استفاده کنید:","Use your recovery code or contact an administrator for help.":"از کد بازیابی خود استفاده کنید یا برای راهنمایی با یک سرپرست تماس بگیرید.","User":"کاربر","User Guide":"راهنمای کاربر","User Interface":"رابط کاربری","Username":"نام کاربری","Users":"کاربران","Vector":"بردار","Vectors":"بردارها","Verification Code":"کد تایید","Video":"ویدیو","Video Duration":"مدت","Videos":"ویدیو ها","View":"نمایش","View search results as a list.":"نتایج جستجو را به صورت لیست مشاهده کنید.","Viewer":"بیننده","Visitor":"بازدید کننده","Visual Similarity":"گروه بندی بر اساس شباهت","Warning":"هشدار","We appreciate your feedback!":"ما از بازخورد شما قدردانی می کنیم!","We do our best to respond within five business days or less.":"ما تمام تلاش خود را می کنیم تا ظرف پنج روز کاری یا کمتر پاسخ دهیم.","Web Login":"ورود به وب","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"کلاینت های WebDAV می توانند با استفاده از URL زیر به PhotoPrism متصل شوند:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"کلاینت های WebDAV، مانند Windows Explorer مایکروسافت یا Apple's Finder، می توانند مستقیماً به آن متصل شوند\n PhotoPrism.","WebDAV Upload":"آپلود WebDAV","WebGL support is disabled in your browser":"پشتیبانی WebGL در مرورگر شما غیرفعال است","Website":"سایت اینترنتی","White":"سفید","Work Details":"جزئیات","Year":"سال","Yellow":"زرد","Yes":"بله","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"می توانید برای سؤالات در مورد عضویت خود با ما به آدرس Member@photoprism.app تماس بگیرید.","You can only download one album":"شما فقط می توانید یک آلبوم را دانلود کنید","You can only download one label":"شما فقط می توانید یک برچسب را دانلود کنید","You can upload up to %{n} files for test purposes.":"می توانید حداکثر %{n} فایل را برای اهداف آزمایشی آپلود کنید.","You may only select one item":"شما فقط می توانید یک مورد را انتخاب کنید","You may rescan your library to find additional faces.":"می‌توانید کتابخانه خود را مجدداً اسکن کنید تا چهره‌های دیگری را پیدا کنید.","Your account has been successfully connected.":"حساب شما با موفقیت متصل شد.","Your browser does not support WebGL":"مرورگر شما از WebGL پشتیبانی نمی کند","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"پشتیبانی مستمر شما به ما کمک می‌کند تا به‌روزرسانی‌های منظم را ارائه کنیم و مستقل بمانیم، بنابراین می‌توانیم مأموریت خود را انجام دهیم و از حریم خصوصی شما محافظت کنیم.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"کتابخانه شما به طور مداوم تجزیه و تحلیل می شود تا به طور خودکار آلبوم هایی از لحظات، سفرها و مکان های خاص ایجاد شود.","Zoom in/out":"بزرگنمایی/کوچک کردن"}} \ No newline at end of file +{"fa":{"{0} appended action":"{0} اقدام اضافه کرد","{0} files":"{0} فایل","{0} files ({1} in total)":"{0} فایل (در مجموع {1})","{0} more":"{0} بیشتر","{0} prepended action":"{0} اقدام از پیش تعیین شده","{0} selected":"{0} انتخاب شد","{0}-{1} of {2}":"{0}-{1} از {2}","%{n} albums found":"%{n} آلبوم پیدا شد","%{n} files uploaded":"%{n} فایل آپلود شد","%{n} folders found":"%{n} پوشه پیدا شد","%{n} GB of %{q} GB used":"%{n} گیگابایت از %{q} گیگابایت استفاده شده است","%{n} labels found":"%{n} برچسب پیدا شد","%{n} people found":"%{n} نفر پیدا شد","%{n} pictures found":"%{n} عکس پیدا شد","%{s} is too long":"%{s} خیلی طولانی است","%{s} is too short":"%{s} خیلی کوتاه است","1 hour":"1 ساعت","12 hours":"12 ساعت","2-Factor Authentication":"احراز هویت 2-عاملی","2FA":"2FA","4 hours":"4 ساعت","A click will copy it to your clipboard.":"یک کلیک آن را در کلیپ بورد شما کپی می کند.","A new version of %{s} is available:":"نسخه جدیدی از %{s} موجود است:","About":"درباره","Access Token":"نشانه دسترسی","Account":"حساب کاربری","Account created":"حساب کاربری ایجاد شد","Account deleted":"حساب کاربری حذف شد","Account restored":"حساب بازیابی شد","Accounts":"حساب ها","Accuracy":"دقت","Action":"عمل","Actions":"اقدامات","Activate":"فعال کنید","Activate to remove sorting.":"برای حذف مرتب سازی فعال کنید.","Activate to sort ascending.":"برای مرتب سازی صعودی فعال کنید.","Activate to sort descending.":"برای مرتب سازی نزولی فعال کنید.","Activation Code":"کد فعال سازی","Add":"اضافه کردن","Add %{s}?":"%{s} اضافه شود؟","Add Account":"ویرایش حساب کاربری","Add Album":"افزودن آلبوم","Add files to your library via Web Upload.":"از طریق بارگذاری وب فایلها را به کتابخانه خود اضافه کنید.","Add Link":"اضافه کردن لینک","Add person?":"فرد اضافه شود؟","Add pictures from search results by selecting them.":"با انتخاب آنها ، تصاویر را از نتایج جستجو اضافه کنید.","Add to album":"افزودن به آلبوم","Added":"اضافه شده","Adjust Location":"تنظیم مکان","Admin":"مدیر","Advanced":"پیشرفته","After 1 day":"بعد از 1 روز","After 3 days":"بعد از 3 روز","After 7 days":"بعد از 7 روز","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"پس از وارد کردن رمز عبور خود برای تأیید، می توانید احراز هویت دو مرحله ای را با یک برنامه یا دستگاه تأیید کننده سازگار تنظیم کنید:","After one month":"بعد از یک ماه","After one year":"بعد از یک سال","After selecting pictures from search results, you can add them to an album using the context menu.":"پس از انتخاب تصاویر از نتایج جستجو، می توانید آنها را با استفاده از منوی زمینه به آلبوم اضافه کنید.","After two months":"بعد از دو ماه","After two weeks":"بعد از دو هفته","Album":"آلبوم","Album Backups":"پشتیبان گیری از آلبوم","Album created":"آلبوم ایجاد شد","Album deleted":"آلبوم حذف شد","Albums":"آلبوم ها","Albums deleted":"آلبوم ها حذف شدند","All":"همه","All %{n} albums loaded":"همه %{n} آلبوم بارگیری شد","All %{n} labels loaded":"همه برچسب‌های %{n} بارگیری شدند","All %{n} people loaded":"همه %{n} نفر بارگیری شدند","All Cameras":"همه دوربین ها","All Categories":"همه دسته بندی ها","All Colors":"همه رنگ ها","All Countries":"همه کشورها","All fields are required":"همه فیلدها الزامی است","All files from import folder":"همه پرونده ها از پوشه واردات","All Lenses":"همه لنزها","All Months":"همه ماه ها","All originals":"همه اصل","All Years":"همه سالها","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"از طرف دیگر، می‌توانید فایل‌ها را مستقیماً در سرورهای WebDAV مانند Nextcloud آپلود کنید.","Altitude":"ارتفاع","Altitude (m)":"ارتفاع (M)","AM":"AM","Animated":"متحرک","Animation":"انیمیشن","Animations":"انیمیشن‌ها","Any private photos and videos remain private and won't be shared.":"هر عکس و فیلم خصوصی خصوصی باقی می ماند و به اشتراک گذاشته نمی شود.","API Key":"کلید API","Application":"کاربرد","Apply":"درخواست","Approve":"تأیید","Apps and Devices":"برنامه ها و دستگاه ها","Archive":"بایگانی","Archived":"بایگانی شده","Are you sure you want to archive the selection?":"آیا مطمئن هستید که می خواهید انتخاب را بایگانی کنید؟","Are you sure you want to delete these albums?":"آیا مطمئن هستید که می خواهید این آلبوم ها را حذف کنید؟","Are you sure you want to delete these labels?":"آیا مطمئن هستید که می خواهید این برچسب ها را حذف کنید؟","Are you sure you want to delete this account?":"آیا مطمئن هستید که می خواهید این حساب را حذف کنید؟","Are you sure you want to delete this album?":"آیا از حذف این آلبوم مطمئن هستید؟","Are you sure you want to permanently delete these pictures?":"آیا مطمئن هستید که می خواهید این تصاویر را به طور دائم حذف کنید؟","Are you sure you want to permanently delete this file?":"آیا مطمئن هستید که می خواهید این پرونده را به طور دائم حذف کنید؟","Are you sure?":"مطمئن هستی؟","Artist":"هنرمند","Aspect Ratio":"نسبت ابعاد","Audio":"صوتی","Authentication":"احراز هویت","Auto":"خودکار","Back":"بازگشت","Back to top":"بازگشت به بالا","Backup":"پشتیبان گیری","Badge":"نشان","Base Path":"مسیر پایه","Become a member today, support our mission and enjoy our member benefits!":"همین امروز عضو شوید، از ماموریت ما حمایت کنید و از مزایای عضویت ما لذت ببرید!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"ما با تامین مالی مستقل و 100% خود، می توانیم به شما قول بدهیم که هرگز داده های شما را نمی فروشیم و همیشه در مورد نرم افزار و خدمات خود شفاف خواهیم بود.","Bio":"بود","Birth Date":"تاریخ تولد","Black":"سیاه","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Lanczos Modification, Less Ringing Artifacts","Blue":"آبی","Brown":"قهوه ای","Browse":"مرور کردن","Browse and edit image classification labels.":"مرور و ویرایش برچسب های طبقه بندی تصویر.","Browse and share your pictures organized into monthly albums.":"تصاویر خود را که در آلبوم های ماهانه سازماندهی شده اند مرور کرده و به اشتراک بگذارید.","Browse Files":"مرور فایل ها","Browse indexed files and folders in Library.":"پرونده ها و پوشه های فهرست بندی شده را در کتابخانه مرور کنید.","Bug Report":"گزارش اشکال","Busy, please wait…":"مشغول است ، لطفا صبر کنید…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"با استفاده از نرم‌افزار و خدماتی که ما ارائه می‌کنیم، با شرایط خدمات، خط‌مشی رازداری و آیین‌نامه رفتار ما موافقت می‌کنید.","Calendar":"تقویم","Camera":"دوربین","Camera Serial":"سریال دوربین","Can't access your authenticator app or device?":"نمی توانید به برنامه یا دستگاه احراز هویت خود دسترسی پیدا کنید؟","Can't load more, limit reached":"نمی تواند بار بیشتری بارگیری کند ، محدود شود","Can't select more items":"موارد بیشتری را انتخاب نمی کند","Cancel":"لغو","Cannot copy to clipboard":"نمی توان در کلیپ بورد کپی کرد","Caption":"عنوان","Cards":"کارت ها","Carousel slide {0} of {1}":"اسلاید چرخ فلک {0} از {1}","Category":"دسته","Change Avatar":"تغییر پرچم خصوصی","Change Password":"رمزعبور جدید","Change personal profile and security settings.":"پروفایل شخصی و تنظیمات امنیتی را تغییر دهید.","Change photo titles, locations, and other metadata.":"تغییر عناوین عکس ، مکان ها و سایر ابرداده ها.","Change private flag":"تغییر پرچم خصوصی","Changes could not be saved":"تغییرات را نمی توان ذخیره کرد","Changes successfully saved":"تغییرات با موفقیت ذخیره شد","Changes to the advanced settings require a restart to take effect.":"برای اعمال تغییرات در تنظیمات پیشرفته، نیاز به راه اندازی مجدد است.","Checked":"بررسی شده","Chroma":"کروما","Cleaning index and cache":"پاک کردن فهرست و کش","Cleanup":"پاک کردن","Clear {0}":"پاک کردن {0}","Client":"مشتری","Client Credentials":"اعتبار مشتری","Close":"نزدیک","Codec":"کدک","Color":"رنگ","Color Profile":"مشخصات رنگ","Colors":"رنگ ها","Compare Editions":"مقایسه نسخه ها","Complete Rescan":"اسکن کامل","Confidence":"اعتماد","Confirm":"تایید","Connect":"اتصال","Connect via WebDAV":"از طریق WebDav وصل کنید","Connected":"متصل","Contact Details":"با ما تماس بگیرید","Contact Us":"با ما تماس بگیرید","Contains %{n} pictures.":"حاوی %{n} عکس است.","Contains one picture.":"حاوی یک تصویر است.","Content":"محتوا","Continue":"ادامه هید","Continue with %{provider}":"ادامه با %{provider}","Contributor":"مشارکت کننده","Converting":"تبدیل","Copied to clipboard":"کپی شده در کلیپ بورد","Copy":"کپی 🀄","Copyright":"حق چاپ","Couldn't find anything.":"نتوانست چیزی پیدا کند.","Country":"کشور","Create Account":"ایجاد حساب کاربری","Create album":"ایجاد آلبوم","Create regular backups based on the configured schedule.":"بر اساس زمانبندی پیکربندی شده، پشتیبان گیری از فهرست ایجاد کنید.","Create YAML files to back up album metadata.":"فایل های YAML را برای پشتیبان گیری از فراداده آلبوم ایجاد کنید.","Create YAML sidecar files to back up picture metadata.":"فایل های YAML sidecar را برای پشتیبان گیری از متادیتای تصویر ایجاد کنید.","Created":"ایجاد شده","Creating thumbnails for":"ایجاد تصاویر کوچک برای","Cubic: Moderate Quality, Good Performance":"مکعب: کیفیت متوسط ، عملکرد خوب","Current Password":"رمز عبور فعلی","Custom":"سفارشی","Cyan":"فیروزه ای","Daily":"روزانه","Database Backups":"پشتیبان گیری از پایگاه داده","Day":"روز","Deactivate":"از کار انداختن","Debug Logs":"گزارش‌های اشکال زدایی","Default":"پیشفرض","Default Folder":"پوشه پیشفرض","Delete":"حذف","Delete Album":"حذف آلبوم","Delete All":"حذف همه","Delete all?":"همه حذف شود؟","Delete orphaned index entries, sidecar files and thumbnails.":"ورودی های فهرست یتیم، فایل های کناری و تصاویر کوچک را حذف کنید.","Description":"توضیحات","Detailed instructions can be found in our User Guide.":"دستورالعمل های دقیق را می توانید در راهنمای کاربر پیدا کنید.","Details":"جزئیات","Dimensions":"ابعاد","Disable Backups":"غیرفعال کردن پشتیبان گیری","Disable Darktable":"غیرفعال کردن Darktable","Disable ExifTool":"غیرفعال کردن exiftool","Disable features that require write permission for the originals folder.":"ویژگی هایی را که به مجوز نوشتن برای پوشه اصلی نیاز دارند غیرفعال کنید.","Disable FFmpeg":"غیرفعال کردن ffmpeg","Disable ImageMagick":"ImageMagick را غیرفعال کنید","Disable interactive world maps and reverse geocoding.":"غیرفعال کردن نقشه های تعاملی جهان و معکوس کردن geocoding.","Disable Places":"غیرفعال کردن مکان ها","Disable RawTherapee":"غیرفعال کردن Rawtherapee","Disable TensorFlow":"غیرفعال کردن tensorflow","Disable Vectors":"غیرفعال کردن بردارها","Disable WebDAV":"غیرفعال کردن WebDAV","Disables vector graphics support.":"پشتیبانی از گرافیک برداری را غیرفعال می کند.","Disables video transcoding and thumbnail extraction.":"رمزگذاری ویدیو و استخراج تصاویر کوچک را غیرفعال می کند.","Discover":"کشف","Dismiss":"رد کردن","Display Name":"نام نمایشی","Display picture captions in search results.":"نمایش شرح تصاویر در نتایج جستجو","Display picture titles in search results.":"نمایش عناوین تصاویر در نتایج جستجو","Document":"سند","Documents":"اسناد","Don't use Darktable to convert RAW images.":"از DarkTable برای تبدیل پرونده های خام استفاده نکنید.","Don't use ImageMagick to convert images.":"برای تبدیل تصاویر از ImageMagick استفاده نکنید.","Don't use RawTherapee to convert RAW images.":"از rawtherapee برای تبدیل پرونده های خام استفاده نکنید.","Done":"انجام شده","Done.":"انجام شده است.","Download":"بارگیری","Download only original media files, without any automatically generated files.":"فقط فایل های رسانه ای اصلی را دانلود کنید، بدون هیچ فایلی که به طور خودکار تولید می شود.","Download remote files":"بارگیری پرونده های از راه دور","Download single files and zip archives.":"بارگیری پرونده های تک و بایگانی زیپ.","Downloading…":"درحال دانلود…","Downscaling Filter":"فیلتر کاهش مقیاس","Drag and drop files here":"فایل ها را در اینجا بکشید و رها کنید","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"به دلیل حجم بالای ایمیل‌هایی که دریافت می‌کنیم، تیم ما ممکن است نتواند فوراً با شما تماس بگیرد.","Duplicates will be skipped and only appear once.":"نسخه های تکراری پرش می شوند و فقط یک بار ظاهر می شوند.","Duration":"مدت","Dynamic Previews":"پیش نمایش پویا","Dynamic Size Limit: %{n}px":"محدودیت اندازه پویا: %{n}px","E-Mail":"ایمیل","Edit":"ویرایش","Edit %{s}":"ویرایش %{s}","Edit Account":"ویرایش حساب کاربری","Edit Photo":"ویرایش تصویر","Edited":"ویرایش شده","Email":"پست الکترونیک","Enable debug mode to display additional logs and help with troubleshooting.":"برای نمایش گزارش های اضافی و کمک به عیب یابی، حالت اشکال زدایی را فعال کنید.","Enable new features that may be incomplete or unstable.":"ویژگی های جدیدی را فعال کنید که ممکن است ناقص یا ناپایدار باشند.","Enables RAW converter presets. May reduce performance.":"فعال کردن RAW converter presets . ممکن است عملکرد را کاهش دهد.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"فعال کردن احراز هویت دو مرحله‌ای به این معنی است که برای ورود به سیستم به یک کد تأیید تصادفی تولید شده نیاز دارید، بنابراین حتی اگر شخصی به رمز عبور شما دسترسی پیدا کند، نمی‌تواند به حساب شما دسترسی پیدا کند.","Enter date":"تاریخ را وارد کنید","Enter dates":"تاریخ ها را وارد کنید","Enter the code generated by your authenticator app:":"کد ایجاد شده توسط برنامه احراز هویت خود را وارد کنید:","Enter verification code":"کد تایید را وارد کنید","Enter your password to confirm the action and continue:":"رمز عبور خود را برای تایید عمل وارد کنید و ادامه دهید:","Error":"خطا","Errors":"خطا ها","Estimate":"تخمین زدن","Estimate Locations":"تخمین مکان ها","Estimate the approximate location of pictures without GPS coordinates.":"مکان تقریبی تصاویر را بدون مختصات GPS تخمین بزنید.","Every two days":"هر دو روز","Exclude content marked as private from search results, shared albums, labels, and places.":"محتوای علامت‌گذاری‌شده به‌عنوان خصوصی را از نتایج جستجو، آلبوم‌های مشترک، برچسب‌ها و مکان‌ها حذف کنید.","Exclude hidden":"حذف پنهان","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"استخراج فراداده با ExifTool برای پشتیبانی کامل از ویدیو، عکس زنده و XMP مورد نیاز است.","Experimental Features":"ویژگی های تجربی","Expires":"منقضی می شود","Exposure":"قرارگیری در معرض","Extract still images and generate thumbnails while indexing.":"در حین نمایه سازی، تصاویر ثابت را استخراج کنید و تصاویر کوچک تولید کنید.","F Number":"شماره F","Face":"صورت","Faces":"صورت ها","Failed removing link":"پیوند حذف نشد","Failed to connect account.":"اتصال حساب انجام نشد.","Failed updating link":"پیوند به روز نشد","Family Name":"خانواده","Fast":"سریع","Favorite":"موردعلاقه","Favorites":"موارد دلخواه","Feature Request":"درخواست ویژگی","Feedback":"بازخورد","Female":"زن","File":"فایل","File Browser":"مرورگر فایل","File Conversion":"تبدیل فایل","File Name":"نام فایل","File Size":"فایل","Filename":"نام فایل","Files":"فایل ها","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"فایل‌هایی با نام‌های متوالی مانند «IMG_1234 (2)» و «IMG_1234 (3)» متعلق به یک تصویر هستند.","First page":"صفحه اول","Focal Length":"فاصله کانونی","Folder":"پوشه","Folder contains %{n} files":"پوشه حاوی %{n} فایل است","Folder is empty":"پوشه خالی است","Folders":"پوشه ها","Forgot password?":"رمز عبور را فراموش کرده‌اید؟","FPS":"FPS","Frames":"قاب‌ها","Full Access":"دسترسی کامل","Fullscreen":"تمام صفحه","General":"عمومی","Generate":"تولید می کنند","Generate albums of special moments, journeys, and places.":"به طور خودکار آلبوم هایی از لحظات، سفرها و مکان های خاص ایجاد می کند.","Generate Previews":"ایجاد پیش نمایش","Generated":"تولید شده است","Get Started":"شروع کنید","Given Name":"اسم اصلی","Global Options":"گزینه های جهانی","Go to page {0}":"رفتن به صفحه {0}","Gold":"طلا","Green":"سبز","Grey":"خاکستری","Guest":"مهمان","Hash":"هش","Help":"راهنما","Help & Support":"راهنما و پشتیبانی","Hidden":"مخفی","Hidden Files":"فایل های مخفی","Hide":"مخفی","Hide photos that have been moved to archive.":"عکس هایی که به آرشیو منتقل شده اند را مخفی کنید.","High":"بالا","High Dynamic Range (HDR)":"محدوده دینامیکی بالا (HDR)","How can we help?":"چطور میتوانیم کمک کنیم؟","Hybrid":"ترکیبی","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"اگر دسترسی به برنامه یا دستگاه احراز هویت خود را از دست دادید، می‌توانید از کد بازیابی برای دسترسی مجدد به حساب خود استفاده کنید.","Image":"تصویر","Image Quality":"کیفیت تصویر","Import":"وارد کردن","Import failed":"خطا در وارد کردن","Imported files will be sorted by date and given a unique name to avoid duplicates.":"فایل‌های وارد شده بر اساس تاریخ مرتب می‌شوند و برای جلوگیری از تکرار نامی منحصر به فرد به آن‌ها داده می‌شود.","Imported files will be sorted by date and given a unique name.":"فایل های وارد شده بر اساس تاریخ مرتب شده و یک نام منحصر به فرد داده می شود.","Importing %{s}…":"وارد کردن %{s}…","Importing files to originals…":"در حال وارد کردن فایل‌ها به نسخه اصلی…","in":"به","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"در صورتی که تصاویری که انتظار دارید گم شدند، لطفاً کتابخانه خود را مجدداً اسکن کنید و منتظر بمانید تا نمایه سازی کامل شود.","Include RAW image files when downloading stacks and archives.":"هنگام بارگیری پشته ها و بایگانی ها، فایل های تصویری RAW را اضافه کنید.","Include sidecar files when downloading stacks and archives.":"هنگام بارگیری پشته ها و بایگانی ها، فایل های sidecar را اضافه کنید.","Increase storage size or delete files to continue.":"برای ادامه، حجم فضای ذخیره‌سازی را افزایش دهید یا فایل‌ها را حذف کنید.","Index":"نمایه","Index and import files through the user interface.":"فهرست و وارد کردن فایل ها از طریق رابط کاربری.","Indexing":"نمایه سازی","Indexing failed":"نمایه سازی انجام نشد","Indexing media and sidecar files…":"نمایه سازی رسانه و فایل های جانبی…","Information":"اطلاعات","Instance ID":"ID نمونه","Insufficient storage.":"ذخیره سازی ناکافی.","Interval":"وقفه","Invalid":"تاریخ نامعتبر است","Invalid address":"آدرس نامعتبر است","Invalid country":"کشور نامعتبر","Invalid date":"تاریخ نامعتبر است","Invalid parameters":"پارامترهای نامعتبر","Invalid photo selected":"عکس نامعتبر انتخاب شد","Invalid time":"زمان نامعتبر","Invalid URL":"URL نامعتبر است","It is a one-time use code that will disable 2FA for your account when you use it.":"این یک کد یکبار مصرف است که هنگام استفاده از آن، 2FA را برای حساب شما غیرفعال می کند.","Item":"مورد","Items per page:":"موارد در هر صفحه:","JPEG Quality: %{n}":"کیفیت JPEG: %{n}","JPEG Size Limit: %{n}px":"محدودیت اندازه JPEG: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"JPEG ها و تامبنیل ها به صورت خودکار در صورت نیاز ارائه می شوند.","Keywords":"کلید واژه ها","Label":"برچسب","Labels":"برچسب ها","Labels deleted":"برچسب ها حذف شدند","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: حفظ جزئیات، حداقل مصنوعات","Language":"زبان","Last Active":"آخرین فعالیت","Last Login":"آخرین ورود","Last page":"صفحه آخر","Last Sync":"آخرین همگام سازی","Last Used":"آخرین استفاده","Latitude":"عرض جغرافیایی","LDAP/AD":"LDAP/AD","Learn more":"بیشتر بدانید","Learn More":"بیشتر بدانید","Legal Information":"اطلاعات حقوقی","Lens":"لنز","Library":"کتابخانه","License":"مجوز","Like":"پسندیدن","Lime":"اهک","Limit reached, showing first %{n} files":"به حد مجاز رسیده است، اولین %{n} فایل را نشان می دهد","Linear: Very Smooth, Best Performance":"خطی: بسیار روان، بهترین عملکرد","Link":"لینک","List":"لیست","List View":"نمایش لیست","Live":"زنده","Live Photos":"تصاویر","Load more":"بیشتر بارگیری کنید","Loading items...":"در حال بارگیری موارد...","Loading...":"در حال بارگیری...","Local":"محلی","Local Time":"زمان محلی","Location":"محل","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"هر زمان که PhotoPrism با فایل های شکسته مواجه می شود یا مشکلات احتمالی دیگری وجود دارد، پیام های گزارش در اینجا ظاهر می شوند.","Login":"وارد شدن","Logout":"خارج شدن","Logs":"گزارش ها","Longitude":"طول جغرافیایی","Low":"کم","Magenta":"ارغوانی","Main Color":"رنگ اصلی","Male":"نر","Manage Account":"مدیریت حساب","Manager":"مدیر","Manual":"دستی","Manual Upload":"آپلود دستی","Maps":"نقشه ها","Marker":"نشانگر","Maximum number of accounts has been reached.":"به حداکثر تعداد حساب ها رسیده است.","Media":"رسانه ها","Medium":"متوسط","Membership":"عضویت","Merge %{a} with %{b}?":"%{a} با %{b} ادغام شود؟","Message":"پیام","Message sent":"پیغام فرستاده شد","Metadata":"فراداده","Metrics":"معیارهای","Minimize":"کوچک کردن","Missing":"گم شده","Missing or invalid configuration":"پیکربندی موجود نیست یا نامعتبر است","Moments":"لحظه ها","Monochrome":"تک رنگ","Month":"ماه","More options":"گزینه های بیشتر","Mosaic":"موزائیک","Most Relevant":"بسیار مرتبط","Move Files":"جابجایی فایل ها","Must have at least %{n} characters.":"باید حداقل %{n} حرف داشته باشد.","Mute":"بی صدا","Name":"نام","Name too long":"نام خیلی طولانی است","Never":"هرگز","New":"جدید","New Password":"رمزعبور جدید","Newest First":"اول جدیدترین ها","Next":"بعدی","Next page":"صفحه بعدی","Next visual":"تصویری بعدی","No":"خیر","No albums found":"هیچ آلبومی پیدا نشد","No data available":"هیچ داده ای در دسترس نیست","No labels found":"هیچ برچسبی پیدا نشد","No matching records found":"هیچ رکورد منطبقی یافت نشد","No more":"دیگر نه","No people found":"هیچ فردی پیدا نشد","No pictures found":"هیچ تصویری پیدا نشد","No recently edited pictures":"هیچ عکسی اخیراً ویرایش نشده","No results":"هیچ نتیجه‌ای حاصل نشد","No server connection":"بدون اتصال به سرور","No servers configured.":"هیچ سروری پیکربندی نشده است.","No services configured.":"هیچ سروری پیکربندی نشده است.","No thanks":"نه، ممنون","No warnings or error containing this keyword. Note that search is case-sensitive.":"هیچ هشدار یا خطایی حاوی این کلمه کلیدی نیست. توجه داشته باشید که جستجو به حروف کوچک و بزرگ حساس است.","Non-photographic and low-quality images require a review before they appear in search results.":"تصاویر غیرعکاسی و با کیفیت پایین قبل از اینکه در نتایج جستجو ظاهر شوند نیاز به بررسی دارند.","None":"هیچ یک","Not allowed":"مجاز نیست","Not found":"پیدا نشد","Not sorted.":"مرتب نشده است.","Not supported":"پشتیبانی نمی شود","Note you may manually manage your originals folder and importing is optional.":"توجه داشته باشید که می توانید به صورت دستی پوشه اصلی خود را مدیریت کنید و وارد کردن اختیاری است.","Note:":"یادداشت:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"توجه: فقط سرورهای WebDAV، مانند Nextcloud یا PhotoPrism، می توانند به عنوان سرویس راه دور برای پشتیبان گیری و آپلود فایل پیکربندی شوند.","Notes":"یادداشت","Nothing to see here yet.":"هنوز چیزی برای دیدن اینجا وجود ندارد.","Nothing was found.":"چیزی پیدا نشد.","Offline":"آفلاین","OIDC":"OIDC","OK":"باشه","Oldest First":"اول قدیمی‌تر ها","On Windows, enter the following resource in the connection dialog:":"در ویندوز، منبع زیر را در گفتگوی اتصال وارد کنید:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"تولید تصاویر بندانگشتی بر اساس تقاضا ممکن است باعث مصرف بالای CPU و حافظه شود. برای سرورهای دارای محدودیت منابع و دستگاه های NAS توصیه نمی شود.","Once a week":"یک بار در هفته","One album found":"یک آلبوم پیدا شد","One file found":"یک فایل پیدا شد","One file uploaded":"یک فایل آپلود شد","One folder found":"یک پوشه پیدا شد","One label found":"یک برچسب پیدا شد","One person found":"یک شخص پیدا شد","One picture found":"یک تصویر پیدا شد","Only locally managed accounts can be set up for authentication with 2FA.":"فقط حساب های مدیریت شده محلی را می توان برای احراز هویت با 2FA تنظیم کرد.","Open":"باز کن","optional":"اختیاری","or":"یا","Orange":"نارنجی","Organization":"گرایش","Orientation":"گرایش","Original file names will be stored and indexed.":"نام فایل های اصلی ذخیره و نمایه می شود.","Original Name":"اسم اصلی","Originals":"اصلی ها","Other":"دیگر","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"ماموریت ما ارائه کاربرپسندترین راه حل برای حفظ حریم خصوصی برای سازماندهی و در دسترس نگه داشتن تصاویر شماست.","Outdoor":"بیرون","Page {0}, Current page":"صفحه {0}، صفحه فعلی","Pages":"صفحات","Pagination Navigation":"پیمایش صفحه بندی","Panorama":"پانوراما","Panoramas":"پانوراما","Password":"رمزعبور","Password changed":"رمز عبور تغییر کرد","People":"مردم","People you share a link with will be able to view public contents.":"افرادی که لینکی را با آنها به اشتراک می گذارید می توانند محتوای عمومی را مشاهده کنند.","Permanently deleted":"برای همیشه حذف شد","Permanently remove files to free up storage.":"برای آزاد کردن فضای ذخیره سازی، فایل ها را برای همیشه حذف کنید.","Person":"شخص","Personal":"شخصی","Photo":"تصویر","PhotoPrism is 100% self-funded and independent.":"PhotoPrism 100٪ با بودجه شخصی و مستقل است.","PhotoPrism+ Membership":"عضویت PhotoPrism+","Photos":"تصاویر","Picture Title":"عنوان تصویر","Pink":"صورتی","Place":"مکان","Place & Time":"مکان و زمان","Places":"مکان ها","Please confirm your new password.":"لطفا رمز عبور جدید خود را تایید کنید.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"لطفاً رمز عبور برنامه زیر را که به‌طور تصادفی تولید شده است کپی کنید و آن را در مکانی امن نگه دارید، زیرا دیگر نمی‌توانید آن را ببینید:","Please do not upload any private, unlawful or offensive pictures.":"لطفا هیچ عکس خصوصی، غیرقانونی یا توهین آمیزی را آپلود نکنید.","Please don't upload photos containing offensive content.":"لطفا عکس های حاوی محتوای توهین آمیز آپلود نکنید.","Please enter OTP character {0}":"لطفاً نویسه OTP {0} را وارد کنید","Please note that changing your password will log you out on other devices and browsers.":"لطفاً توجه داشته باشید که تغییر رمز عبور شما را از سایر دستگاه ها و مرورگرها خارج می کند.","Please restart your instance for the changes to take effect.":"لطفاً نمونه خود را مجدداً راه اندازی کنید تا تغییرات اعمال شوند.","Please wait…":"لطفا صبر کنید…","PM":"PM","PNG Size Limit: %{n}px":"محدودیت اندازه PNG: %{n}px","Portrait":"پرتره","Preserve filenames":"حفظ نام فایل ها","Press enter to create a new album.":"برای ایجاد یک آلبوم جدید، اینتر را فشار دهید.","Prevent database and album backups as well as YAML sidecar files from being created.":"از ایجاد پشتیبان‌گیری از پایگاه داده و آلبوم و همچنین فایل‌های YAML sidecar جلوگیری کنید.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"از دسترسی سایر برنامه ها به PhotoPrism به عنوان درایو شبکه مشترک جلوگیری کنید.","Preview":"پیش نمایش","Preview Images":"پیش نمایش تصاویر","Previous":"قبلی","Previous page":"صفحه قبلی","Previous visual":"تصویری قبلی","Primary":"اولیه","Private":"خصوصی","Product Feedback":"بازخورد محصول","Projection":"طرح ها","Purple":"بنفش","Quality Filter":"فیلتر کیفیت","Quality Score":"امتیاز کیفیت","r":"r","Random":"تصادفی","Rating {0} of {1}":"رتبه بندی {0} از {1}","Raw":"خام","RAW":"خام","Re-index all originals, including already indexed and unchanged files.":"نمایه سازی مجدد همه نسخه های اصلی، از جمله فایل های از قبل نمایه شده و بدون تغییر.","Read-Only Mode":"حالت فقط خواندنی","Recently Added":"به تازگی اضافه شده","Recently Archived":"اخیراً بایگانی شده است","Recently Edited":"به تازگی ویرایش شده است","Recognition starts after indexing has been completed.":"پس از تکمیل نمایه سازی، شناسایی شروع می شود.","Recognize faces so people can be assigned and found.":"چهره ها را می شناسد تا افراد خاصی پیدا شوند.","Recognized":"شناسایی شده","Recovery Code":"کد بازیابی","Red":"قرمز","Refresh":"تازه کردن","Regions":"مناطق","Register":"ثبت نام","Reload":"بارگذاری مجدد","Reloading…":"در حال بارگیری مجدد…","Remote Sync":"همگام سازی از راه دور","Remove":"حذف","remove failed: unknown album":"حذف نشد: آلبوم ناشناخته","Remove from Album":"حذف از آلبوم","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"برای صرفه جویی در فضای ذخیره سازی، فایل های وارد شده را حذف کنید. انواع فایل های پشتیبانی نشده هرگز حذف نمی شوند، آنها در مکان فعلی خود باقی می مانند.","Request failed - are you offline?":"درخواست انجام نشد - آفلاین هستید؟","Request failed - invalid response":"درخواست ناموفق - پاسخ نامعتبر است","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"لازم است تصاویر غیرعکاسی و با کیفیت پایین قبل از نمایش در نتایج جستجو بررسی شوند.","Resolution":"رزولوشن","Restart":"راه اندازی مجدد","Restore":"بازگرداندن","Restored":"بازسازی شد","Retry Limit":"محدودیت تلاش","Retype Password":"رمز عبور را دوباره تایپ کنید","Review":"بازبینی","Role":"نقش","Rows per page:":"ردیف در هر صفحه:","Satellite":"ماهواره","Save":"ذخیره","Scan":"اسکن","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"کد QR را با برنامه احراز هویت خود اسکن کنید یا از کلید راه اندازی نشان داده شده در زیر استفاده کنید و سپس کد تأیید تولید شده را وارد کنید:","Scans":"اسکن ها","Scope":"محدوده","Search":"جستجو","Search and display photos on a map.":"جستجو و نمایش عکس ها روی نقشه.","Season":"فصل","Secret":"محرمانه","Security and Access":"امنیت و دسترسی","Select":"انتخاب","Select a source folder to import files…":"یک پوشه منبع را برای وارد کردن فایل‌ها انتخاب کنید…","Select date":"تاریخ را انتخاب کنید","Select dates":"تاریخ ها را انتخاب کنید","Select or create an album":"آلبومی را انتخاب یا ایجاد کنید","Select the files to upload…":"انتخاب فایل برای آپلود…","Select the folder to be indexed…":"پوشه مورد نظر برای ایندکس شدن را انتخاب کنید…","Select Time":"زمان را انتخاب کنید","Selection approved":"انتخاب تایید شد","Selection archived":"انتخاب بایگانی شد","Selection restored":"انتخاب بازگردانده شد","Sequential Name":"نام ترتیبی","Service URL":"URL سرویس","Services":"URL سرویس","Session":"جلسه","Session ID":"شناسه جلسه","Sessions":"جلسات","Set as Album Cover":"تنظیم به عنوان جلد آلبوم","Settings":"تنظیمات","Settings saved":"تنظیمات ذخیره شد","Setup":"راه اندازی","Share":"اشتراک گذاری","Share %{s}":"اشتراک گذاری %{s}","Share your pictures with other apps and services.":"تصاویر خود را با سایر برنامه ها و سرویس ها به اشتراک بگذارید.","Show":"نمایش","Show all new faces":"نمایش همه صورت ها","Show Captions":"نمایش شرح‌ها","Show hidden":"نمایش مخفی ها","Show less":"نمایش کمتر","Show more":"نمایش بیشتر","Show server logs in Library.":"نمایش گزارش‌های سرور در کتابخانه.","Show Titles":"نمایش عناوین","Sidecar":"جانبی","Sidecar Files":"فایل های Sidecar","Sign in":"ورود","Similar":"مشابه","Size":"سایز","Slideshow":"نمایش اسلاید","Slow":"آهسته","Software":"نرم افزار","Software Update":"به روز رسانی نرم افزار","Something went wrong, try again":"یه چیزی اشتباه شد دوباره تلاش کن","Sort by":"مرتب سازی بر اساس","Sort Order":"ترتیب مرتب سازی","Sorted ascending.":"صعودی مرتب شد.","Sorted descending.":"به صورت نزولی مرتب شد.","Source":"منبع","Stack":"پشته","Stack files sharing the same unique image or instance identifier.":"پشته فایل هایی که همان تصویر منحصر به فرد یا شناسه نمونه را به اشتراک می گذارند.","Stack pictures taken at the exact same time and location based on their metadata.":"عکس‌هایی را که دقیقاً در همان زمان و مکان گرفته شده‌اند، بر اساس ابرداده‌هایشان روی هم قرار دهید.","Stackable":"قابل انباشته شدن","Stacks":"پشته ها","Start":"شروع","Start Page":"صفحه شروع","Static Size Limit: %{n}px":"محدودیت اندازه ثابت: %{n}px","Status":"وضعیت","Storage":"ذخیره سازی","Streets":"خیابان ها","Subject":"موضوع","Submit":"ارسال کنید","Successfully activated":"با موفقیت فعال شد","Successfully Connected":"با موفقیت وصل شد","Successfully deleted":"با موفقیت حذف شد","Successfully verified":"با موفقیت تأیید شد","Super Admin":"سوپر ادمین","Support for additional services, like Google Drive, will be added over time.":"پشتیبانی از خدمات اضافی، مانند Google Drive، به مرور اضافه خواهد شد.","Support Our Mission":"از ماموریت ما حمایت کنید","Sync":"همگام سازی","Sync raw and video files":"همگام سازی فایل های خام و ویدیویی","Taken":"گرفته شده","Teal":"آبی رنگ","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow برای طبقه بندی تصویر، تشخیص چهره و تشخیص محتوای ناامن مورد نیاز است.","Terrain":"زمین","Text":"متن","Text too long":"متن خیلی طولانی است","Thank You for Your Support!":"از حمایت شما متشکرم!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"به همین دلیل است که PhotoPrism از ابتدا ساخته شده است تا در هر کجا که به آن نیاز دارید اجرا شود، بدون اینکه آزادی، حریم خصوصی یا عملکرد به خطر بیفتد.","The index currently contains %{n} hidden files.":"این فهرست در حال حاضر حاوی %{n} فایل پنهان است.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"ممکن است فرمت آنها پشتیبانی نشود، هنوز به JPEG تبدیل نشده اند یا موارد تکراری وجود دارد.","Theme":"قالب","This field is required":"این فیلد الزامی است","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"این پوشه اصلی را به عنوان درایو شبکه نصب می کند و به شما امکان می دهد فایل ها را از رایانه یا تلفن هوشمند خود باز، ویرایش و حذف کنید، گویی محلی هستند.","Time UTC":"زمان UTC","Time Zone":"منطقه زمانی","Timeout":"تایم اوت","Title":{"Account":"عنوان","Photo":"عنوان","":"عنوان"},"Title / Position":"عنوان خیلی طولانی است","Title too long":"عنوان خیلی طولانی است","to":"به","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"برای جلوگیری از قفل شدن حساب خود، لطفاً این کد بازیابی را دانلود، چاپ یا کپی کنید و آن را در مکانی امن نگهداری کنید.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"برای ایجاد یک رمز عبور جدید خاص، لطفاً نام و محدوده مجوز برنامه را وارد کنید و تاریخ انقضا را انتخاب کنید:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"برای جابه‌جایی به یک برنامه یا دستگاه احراز هویت جدید، ابتدا احراز هویت دو مرحله‌ای را غیرفعال کنید و سپس دوباره فعال کنید:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"برای ارتقا، می‌توانید کد فعال‌سازی را وارد کنید یا روی «ثبت‌نام» کلیک کنید تا در وب‌سایت ما ثبت‌نام کنید:","Today":"امروز","Toggle View":"تغییر حالت نمایش","Token":"توکن","Too many files selected":"تعداد زیادی فایل انتخاب شده است","Too many requests":"درخواست های خیلی زیاد","Troubleshooting":"عیب یابی","Try again using other filters or keywords.":"دوباره با استفاده از فیلترها یا کلمات کلیدی دیگر امتحان کنید.","Two-factor authentication has been enabled for your account.":"احراز هویت دو مرحله ای برای حساب شما فعال شده است.","Type":"نوع","Unable to delete":"قابل حذف نیست","Unauthorized":"غیرمجاز","Undo":"باطل کردن","Unique ID":"شناسه منحصربفرد","Unknown":"ناشناس","Unregistered":"ثبت نشده","Unsorted":"مرتب نشده است","Unstack":"باز کردن پشته","Updated":"به روز شد","Updating faces":"به روزرسانی چهره ها","Updating index":"به روزرسانی نمایه ها","Updating moments":"به روزرسانی لحظه ها","Updating picture…":"به روزرسانی پیش نمایش ها","Updating previews":"به روزرسانی پیش نمایش ها","Updating stacks":"به روزرسانی پشته ها","Upgrade":"ارتقا دهید","Upgrade Now":"اکنون ارتقا دهید","Upload":"آپلود","Upload complete":"آپلود کامل شد","Upload complete. Indexing…":"آپلود کامل شد. در حال نمایه سازی…","Upload failed":"آپلود انجام نشد","Upload local files":"فایل های محلی را آپلود کنید","Upload Path":"مسیر آپلود","Upload to WebDAV and share links with friends.":"در WebDAV آپلود کنید و پیوندها را با دوستان خود به اشتراک بگذارید.","Uploading %{n} of %{t}…":"در حال آپلود %{n} از %{t}…","Uploading photos…":"در حال آپلود تصاویر…","Uploading…":"در حال بارگیری مجدد…","Uploads that may contain such images will be rejected automatically.":"آپلودهایی که ممکن است حاوی چنین تصاویری باشند به طور خودکار رد می شوند.","Use Presets":"از Presets استفاده کنید","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"وقتی نمی‌توانید یک کد تأیید معتبر با برنامه احراز هویت خود ایجاد کنید، از کد بازیابی زیر برای دسترسی به حساب خود استفاده کنید:","Use your recovery code or contact an administrator for help.":"از کد بازیابی خود استفاده کنید یا برای راهنمایی با یک سرپرست تماس بگیرید.","User":"کاربر","User Guide":"راهنمای کاربر","User Interface":"رابط کاربری","Username":"نام کاربری","Users":"کاربران","Vector":"بردار","Vectors":"بردارها","Verification Code":"کد تایید","Video":"ویدیو","Video Duration":"مدت","Videos":"ویدیو ها","View":"نمایش","View search results as a list.":"نتایج جستجو را به صورت لیست مشاهده کنید.","Viewer":"بیننده","Visitor":"بازدید کننده","Visual Similarity":"گروه بندی بر اساس شباهت","Warning":"هشدار","We appreciate your feedback!":"ما از بازخورد شما قدردانی می کنیم!","We do our best to respond within five business days or less.":"ما تمام تلاش خود را می کنیم تا ظرف پنج روز کاری یا کمتر پاسخ دهیم.","Web Login":"ورود به وب","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"کلاینت های WebDAV می توانند با استفاده از URL زیر به PhotoPrism متصل شوند:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"کلاینت های WebDAV، مانند Windows Explorer مایکروسافت یا Apple's Finder، می توانند مستقیماً به آن متصل شوند\n PhotoPrism.","WebDAV Upload":"آپلود WebDAV","WebGL support is disabled in your browser":"پشتیبانی WebGL در مرورگر شما غیرفعال است","Website":"سایت اینترنتی","White":"سفید","Work Details":"جزئیات","Year":"سال","Yellow":"زرد","Yes":"بله","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"می توانید برای سؤالات در مورد عضویت خود با ما به آدرس Member@photoprism.app تماس بگیرید.","You can only download one album":"شما فقط می توانید یک آلبوم را دانلود کنید","You can only download one label":"شما فقط می توانید یک برچسب را دانلود کنید","You can search for a location or move the marker on the map to change the position:":"می‌توانید مکانی را جستجو کنید یا نشانگر را روی نقشه جابجا کنید تا موقعیت تغییر کند:","You can upload up to %{n} files for test purposes.":"می توانید حداکثر %{n} فایل را برای اهداف آزمایشی آپلود کنید.","You may only select one item":"شما فقط می توانید یک مورد را انتخاب کنید","You may rescan your library to find additional faces.":"می‌توانید کتابخانه خود را مجدداً اسکن کنید تا چهره‌های دیگری را پیدا کنید.","Your account has been successfully connected.":"حساب شما با موفقیت متصل شد.","Your browser does not support WebGL":"مرورگر شما از WebGL پشتیبانی نمی کند","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"پشتیبانی مستمر شما به ما کمک می‌کند تا به‌روزرسانی‌های منظم را ارائه کنیم و مستقل بمانیم، بنابراین می‌توانیم مأموریت خود را انجام دهیم و از حریم خصوصی شما محافظت کنیم.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"کتابخانه شما به طور مداوم تجزیه و تحلیل می شود تا به طور خودکار آلبوم هایی از لحظات، سفرها و مکان های خاص ایجاد شود.","Zoom in/out":"بزرگنمایی/کوچک کردن"}} \ No newline at end of file diff --git a/frontend/src/locales/json/fi.json b/frontend/src/locales/json/fi.json index 14dbfb02a..d837a3e62 100644 --- a/frontend/src/locales/json/fi.json +++ b/frontend/src/locales/json/fi.json @@ -1 +1 @@ -{"fi":{"{0} appended action":"{0} liitetty toiminta","{0} files":"{0} tiedostot","{0} files ({1} in total)":"{0} tiedostoja ({1} yhteensä)","{0} more":"{0} lisää","{0} prepended action":"{0} prepended action","{0} selected":"{0} valittu","{0}-{1} of {2}":"{0}-{1} of {2}","%{n} albums found":"%{n} albumia löydetty","%{n} files uploaded":"%{n} tiedostoa lähetetty","%{n} folders found":"%{n} kansiota löydetty","%{n} GB of %{q} GB used":"%{n} GB %{q} Käytetty GB","%{n} labels found":"%{n} tunnistetta löydetty","%{n} people found":"%{n} ihmistä löydetty","%{n} pictures found":"%{n} kuvaa löydetty","%{s} is too long":"%{s} on liian pitkä","%{s} is too short":"%{s} on liian lyhyt","1 hour":"1 tunti","12 hours":"12 tuntia","2-Factor Authentication":"2-tekijätodennus","2FA":"2FA","4 hours":"4 tuntia","A click will copy it to your clipboard.":"Napsauttamalla sitä voit kopioida sen leikepöydälle.","A new version of %{s} is available:":"Uusi versio %{s}:stä on saatavilla:","About":"Tietoja","Access Token":"Access Token","Account":"Tili","Account created":"Tili luotu","Account deleted":"Tili poistettu","Account restored":"Tili palautettu","Accounts":"Tilit","Accuracy":"Tarkkuus","Action":"Toiminnot","Actions":"Toiminnot","Activate":"Aktivoi","Activate to remove sorting.":"Aktivoi lajittelun poistamiseksi.","Activate to sort ascending.":"Aktivoi lajittelu nousevaan suuntaan.","Activate to sort descending.":"Aktivoi lajittelemaan alenevasti.","Activation Code":"Aktivointikoodi","Add":"Lisää","Add %{s}?":"Lisää %{s}?","Add Account":"Muokkaa tiliä","Add Album":"Lisää albumi","Add files to your library via Web Upload.":"Lisää tiedostoja kirjastoosi verkkoselaimen kautta.","Add Link":"Lisää linkki","Add person?":"Lisää henkilö?","Add pictures from search results by selecting them.":"Lisää kuvia hakutuloksista valitsemalla ne.","Add to album":"Lisää albumiin","Added":"Lisätty","Admin":"Admin","Advanced":"Lisäasetukset","After 1 day":"1 päivän kuluttua","After 3 days":"3 päivän kuluttua","After 7 days":"7 päivän kuluttua","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Kun olet antanut salasanasi vahvistusta varten, voit määrittää kaksivaiheisen todennuksen yhteensopivalla todennussovelluksella tai -laitteella:","After one month":"Yhden kuukauden kuluttua","After one year":"Vuoden kuluttua","After selecting pictures from search results, you can add them to an album using the context menu.":"Kun olet valinnut kuvia hakutuloksista, voit lisätä ne albumiin kontekstivalikon avulla.","After two months":"Kahden kuukauden kuluttua","After two weeks":"Kahden viikon kuluttua","Album":"Albumi","Album Backups":"Albumin varmuuskopiot","Album created":"Albumi luotu","Albums":"Albumit","Albums deleted":"Albumit poistettu","All":"Kaikki","All %{n} albums loaded":"Kaikki %{n} albumia ladattu","All %{n} labels loaded":"Kaikki %{n} tunnistetta ladattu","All %{n} people loaded":"Kaikki %{n} ihmistä ladattu","All Cameras":"Kaikki kamerat","All Categories":"Kaikki kategoriat","All Colors":"Kaikki värit","All Countries":"Kaikki maat","All fields are required":"Kaikki kentät ovat pakollisia","All files from import folder":"Kaikki tiedostot tuontikansiosta","All Lenses":"Kaikki objektiivit","All Months":"Kaikki kuukaudet","All originals":"Kaikki alkuperäiset","All Years":"Kaikki vuodet","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Vaihtoehtoisesti voit ladata tiedostoja suoraan WebDAV-palvelimille, kuten Nextcloudiin.","Altitude":"Korkeus","Altitude (m)":"Korkeus (m)","AM":"AM","Animated":"Animoitu","Animation":"Animaatio","Any private photos and videos remain private and won't be shared.":"Kaikki yksityiset kuvat ja videot pysyvät yksityisinä, eikä niitä jaeta.","API Key":"API-avain","Application":"Hakemus","Apply":"Käytä","Approve":"Hyväksy","Apps and Devices":"Sovellukset ja laitteet","Archive":"Arkisto","Archived":"Arkistoitu","Are you sure you want to archive the selection?":"Oletko varma, että haluat arkistoida valinnan?","Are you sure you want to delete these albums?":"Haluatko varmasti poistaa nämä albumit?","Are you sure you want to delete these labels?":"Haluatko varmasti poistaa nämä tunnisteet?","Are you sure you want to delete this account?":"Haluatko varmasti poistaa tämän tilin?","Are you sure you want to permanently delete these pictures?":"Haluatko varmasti poistaa nämä kuvat pysyvästi?","Are you sure you want to permanently delete this file?":"Haluatko varmasti poistaa tämän tiedoston pysyvästi?","Are you sure?":"Oletko varma?","Artist":"Tekijä","Aspect Ratio":"Kuvasuhde","Audio":"Audio","Authentication":"Tunnistus","Auto":"Auto","Back":"Takaisin","Back to top":"Takaisin alkuun","Backup":"Varmuuskopiointi","Badge":"Merkki","Base Path":"Peruspolku","Become a member today, support our mission and enjoy our member benefits!":"Liity jäseneksi tänään, tue tehtäviämme ja nauti jäseneduistamme!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Koska olemme 100-prosenttisesti omarahoitteisia ja riippumattomia, voimme luvata, ettemme koskaan myy tietojasi ja että ohjelmistomme ja palvelumme ovat aina avoimia.","Bio":"Biografia","Birth Date":"Syntymäaika","Black":"Musta","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Lanczos-muutos, vähemmän pakkausartefakteja","Blue":"Sininen","Brown":"Ruskea","Browse":"Selaa","Browse and edit image classification labels.":"Selaa ja muokkaa kuvien luokitustunnisteita.","Browse and share your pictures organized into monthly albums.":"Selaa ja jaa kuvia kuukausittaisiin albumeihin järjestettynä.","Browse Files":"Selaa tiedostoja","Browse indexed files and folders in Library.":"Selaa kirjaston indeksoituja tiedostoja ja kansioita.","Bug Report":"Ilmoita virheestä","Busy, please wait…":"Odota hetki…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Käyttämällä tarjoamiamme ohjelmistoja ja palveluita hyväksyt käyttöehtomme, tietosuojakäytäntömme ja käytännesääntömme.","Calendar":"Kalenteri","Camera":"Kamera","Camera Serial":"Kameran sarjanumero","Can't access your authenticator app or device?":"Etkö pääse autentikointisovellukseen tai -laitteeseen?","Can't load more, limit reached":"Ei voi ladata enempää, raja saavutettu","Can't select more items":"Ei voi valita enempää kohteita","Cancel":"Peruuta","Caption":"Kuvateksti","Cards":"Kortit","Carousel slide {0} of {1}":"Karusellin slide {0} of {1}","Category":"Kategoria","Change Avatar":"Muuta yksityisyyden tilaa","Change Password":"Uusi salasana","Change personal profile and security settings.":"Muuta henkilökohtaisia profiili- ja suojausasetuksia.","Change photo titles, locations, and other metadata.":"Muuta kuvien otsikoita, sijainteja ja muita metatietoja.","Change private flag":"Muuta yksityisyyden tilaa","Changes could not be saved":"Muutoksia ei voitu tallentaa","Changes successfully saved":"Muutokset tallennettu onnistuneesti","Changes to the advanced settings require a restart to take effect.":"Lisäasetusten muutokset vaativat uudelleenkäynnistyksen tullakseen voimaan.","Checked":"Tarkistettu","Chroma":"Värikylläisyys","Cleaning index and cache":"Indeksin ja välimuistin puhdistaminen","Cleanup":"Siivous","Clear {0}":"Tyhjennä {0}","Client":"Asiakas","Client Credentials":"Asiakkaan valtakirjat","Close":"Sulje","Codec":"Koodekki","Color":"Väri","Color Profile":"Väriprofiili","Colors":"Värit","Compare Editions":"Vertaa painoksia","Complete Rescan":"Täydellinen uudelleentarkistus","Confidence":"Varmuus","Confirm":"Vahvistaa","Connect":"Yhdistä","Connect via WebDAV":"Yhdistä WebDAV:n kautta","Connected":"Yhdistä","Contact Details":"Ota yhteyttä","Contact Us":"Ota yhteyttä","Contains %{n} pictures.":"Sisältää %{n} kuvaa.","Contains one picture.":"Sisältää yhden kuvan.","Content":"Sisältö","Continue":"Jatkaa","Continue with %{provider}":"Jatka %{provider}","Contributor":"Avustaja","Converting":"Muunnetaan","Copied to clipboard":"Kopioitu leikepöydälle","Copy":"Kopio","Copyright":"Tekijänoikeus","Couldn't find anything.":"En löytänyt mitään.","Country":"Maa","Create Account":"Luo tili","Create album":"Luo albumi","Create regular backups based on the configured schedule.":"Luo indeksin varmuuskopiot määritetyn aikataulun mukaisesti.","Create YAML files to back up album metadata.":"Luo YAML-tiedostoja albumin metatietojen varmuuskopiointia varten.","Create YAML sidecar files to back up picture metadata.":"Luo YAML-sivutiedostoja kuvien metatietojen varmuuskopiointia varten.","Created":"Luotu","Creating thumbnails for":"Luodaan pikkukuvia kohteelle","Cubic: Moderate Quality, Good Performance":"Kuutio: Kohtalainen laatu, hyvä suorituskyky","Current Password":"Nykyinen salasana","Custom":"Custom","Cyan":"Syaani","Daily":"Päivittäin","Database Backups":"Tietokannan varmuuskopiot","Day":"Päivä","Deactivate":"Poista käytöstä","Debug Logs":"Vianmäärityslokit","Default":"Oletus","Default Folder":"Oletuskansio","Delete":"Poista","Delete All":"Poista kaikki","Delete all?":"Poista kaikki?","Delete orphaned index entries, sidecar files and thumbnails.":"Poistaa orpoja indeksimerkintöjä, sivutiedostoja ja pikkukuvia.","Description":"Kuvaus","Detailed instructions can be found in our User Guide.":"Tarkemmat ohjeet löytyvät käyttöoppaastamme.","Details":"Tarkemmat tiedot","Dimensions":"Mitat","Disable Backups":"Poista varmuuskopiot käytöstä","Disable Darktable":"Poista Darktable käytöstä","Disable ExifTool":"Poista ExifTool käytöstä","Disable features that require write permission for the originals folder.":"Poista käytöstä ominaisuudet, jotka vaativat kirjoitusoikeutta alkuperäiskansiossa.","Disable FFmpeg":"Poista FFmpeg käytöstä","Disable ImageMagick":"Poista ImageMagick käytöstä","Disable interactive world maps and reverse geocoding.":"Poista interaktiiviset maailmankartat ja käänteinen geokoodaus käytöstä.","Disable Places":"Poista paikat käytöstä","Disable RawTherapee":"Poista RawTherapee käytöstä","Disable TensorFlow":"Poista TensorFlow käytöstä","Disable Vectors":"Poista vektorit käytöstä","Disable WebDAV":"Poista WebDAV käytöstä","Disables vector graphics support.":"Poistaa vektorigrafiikan tuen käytöstä.","Disables video transcoding and thumbnail extraction.":"Poistaa videon transkoodauksen ja pikkukuvien poiston käytöstä.","Discover":"Tutustu","Dismiss":"Vapauttakaa","Display Name":"Näytön nimi","Display picture captions in search results.":"Näytä kuvatekstit hakutuloksissa.","Display picture titles in search results.":"Näytä kuvien otsikot hakutuloksissa.","Document":"Asiakirja","Documents":"Asiakirjat","Don't use Darktable to convert RAW images.":"Älä käytä Darktablea RAW-tiedostojen muuntamiseen.","Don't use ImageMagick to convert images.":"Älä käytä ImageMagickia kuvien muuntamiseen.","Don't use RawTherapee to convert RAW images.":"Älä käytä RawTherapeeta RAW-tiedostojen muuntamiseen.","Done":"Valmis","Done.":"Tehty.","Download":"Lataa","Download only original media files, without any automatically generated files.":"Lataa vain alkuperäisiä mediatiedostoja ilman automaattisesti luotuja tiedostoja.","Download remote files":"Lataa etätiedostoja","Download single files and zip archives.":"Lataa yksittäisiä tiedostoja ja zip-arkistoja.","Downloading…":"Ladataan…","Downscaling Filter":"Skaalaussuodatin","Drag and drop files here":"Vedä ja pudota tiedostot tänne","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"Koska saamiemme sähköpostiviestien määrä on suuri, tiimimme ei välttämättä pysty vastaamaan sinulle välittömästi.","Duplicates will be skipped and only appear once.":"Kaksoiskappaleet ohitetaan ja ne näkyvät vain kerran.","Duration":"Kesto","Dynamic Previews":"Dynaamiset esikatselut","Dynamic Size Limit: %{n}px":"Dynaaminen kokorajoitus: %{n}px","E-Mail":"Sähköposti","Edit":"Muokkaa","Edit %{s}":"Muokkaa %{s}","Edit Account":"Muokkaa tiliä","Edit Photo":"Muokkaa kuvaa","Edited":"Muokattu","Email":"Sähköposti","Enable debug mode to display additional logs and help with troubleshooting.":"Ota debug-tila käyttöön näyttääksesi lisälokeja ja auttaaksesi vianmäärityksessä.","Enable new features that may be incomplete or unstable.":"Ota käyttöön uusia ominaisuuksia, jotka voivat olla epätäydellisiä tai epävakaita.","Enables RAW converter presets. May reduce performance.":"Ottaa käyttöön RAW-muuntimen esiasetukset. Saattaa heikentää suorituskykyä.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Kaksivaiheisen todennuksen ottaminen käyttöön tarkoittaa, että tarvitset satunnaisesti luodun vahvistuskoodin kirjautuaksesi sisään, joten vaikka joku pääsisikin käsiksi salasanaasi, hän ei pääse tilillesi.","Enter date":"Syötä päivämäärä","Enter dates":"Syötä päivämäärät","Enter the code generated by your authenticator app:":"Kirjoita tunnistautumissovelluksen luoma koodi:","Enter verification code":"syötä vahvistus koodi","Enter your password to confirm the action and continue:":"Vahvista toiminto antamalla salasanasi ja jatka:","Error":"Virhe","Errors":"Virheet","Estimate":"Arvio","Estimate Locations":"Arvioitu sijainnit","Estimate the approximate location of pictures without GPS coordinates.":"Arvioi kuvien likimääräinen sijainti ilman GPS-koordinaatteja.","Every two days":"Joka toinen päivä","Exclude content marked as private from search results, shared albums, labels, and places.":"Sulje yksityiseksi merkitty sisältö pois hakutuloksista, jaetuista albumeista, tunnisteista ja paikoista.","Exclude hidden":"Sulje pois piilotetut kohteet","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"Metatietojen poiminta ExifToolilla vaaditaan täydellistä Video-, Live Photo- ja XMP-tukea varten.","Experimental Features":"Kokeelliset ominaisuudet","Expires":"Vanhenee","Exposure":"Valotus","Extract still images and generate thumbnails while indexing.":"Poimi still-kuvat ja luo pikkukuvia indeksoinnin aikana.","F Number":"Aukko","Face":"Kasvot","Faces":"Kasvot","Failed removing link":"Linkin poistaminen epäonnistui","Failed to connect account.":"Tilin yhdistäminen epäonnistui.","Failed updating link":"Linkin päivittäminen epäonnistui","Family Name":"Sukunimi","Fast":"Nopea","Favorite":"Suosikki","Favorites":"Suosikit","Feature Request":"Ominaisuuspyyntö","Feedback":"Palaute","Female":"Nainen","File":"Tiedosto","File Browser":"Tiedostoselain","File Conversion":"Tiedoston muuntaminen","File Name":"Tiedoston nimi","File Size":"Tiedosto","Filename":"Tiedoston nimi","Files":"Tiedostot","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Tiedostot, joilla on peräkkäiset nimet, kuten 'IMG_1234 (2)' ja 'IMG_1234 (3)', kuuluvat samaan kuvaan.","First page":"Ensimmäinen sivu","Focal Length":"Polttoväli","Folder":"Kansio","Folder contains %{n} files":"Kansio sisältää %{n} tiedostoa","Folder is empty":"Kansio on tyhjä","Folders":"Kansiot","Forgot password?":"Unohditko salasanan?","FPS":"Ruutunopeus (FPS)","Frames":"Ruudut","Full Access":"Täysi pääsy","Fullscreen":"Koko näyttö","General":"Yleinen","Generate":"Tuottaa","Generate albums of special moments, journeys, and places.":"Luo automaattisesti albumeja erityisistä hetkistä, matkoista ja paikoista.","Generate Previews":"Luo esikatselukuvat","Generated":"Generoitu","Get Started":"Aloita","Given Name":"Alkuperäinen nimi","Global Options":"Globaalit vaihtoehdot","Go to page {0}":"Siirry sivulle {0}","Gold":"Kulta","Green":"Vihreä","Grey":"Harmaa","Guest":"Vieras","Hash":"Hash","Help":"Apua","Help & Support":"Apu ja tuki","Hidden":"Piilotettu","Hidden Files":"Piilotetut tiedostot","Hide":"Piilota","Hide photos that have been moved to archive.":"Piilota valokuvat, jotka on siirretty arkistoon.","High":"Korkea","High Dynamic Range (HDR)":"Korkea dynaaminen alue (HDR)","How can we help?":"Kuinka voimme auttaa?","Hybrid":"Hybridi","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Jos menetät käyttöoikeuden todennussovellukseen tai -laitteeseen, voit palauttaa tilisi käyttöoikeuden palautuskoodillasi.","Image":"Kuva","Image Quality":"Kuvan laatu","Import":"Tuo","Import failed":"Tuonti epäonnistui","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Tuodut tiedostot lajitellaan päivämäärän mukaan ja niille annetaan yksilöllinen nimi päällekkäisyyksien välttämiseksi.","Imported files will be sorted by date and given a unique name.":"Tuodut tiedostot lajitellaan päivämäärän mukaan ja niille annetaan yksilöllinen nimi.","Importing %{s}…":"Tuodaan %{s}…","Importing files to originals…":"Tuodaan tiedostoja alkuperäisiin…","in":"osoitteessa","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"Jos odottamasi kuvat puuttuvat, skannaa kirjastosi uudelleen ja odota, kunnes indeksointi on valmis.","Include RAW image files when downloading stacks and archives.":"Sisällytä RAW-kuvatiedostot pinoja ja arkistoja ladattaessa.","Include sidecar files when downloading stacks and archives.":"Sisällytä sidecar-tiedostot, kun lataat pinoja ja arkistoja.","Increase storage size or delete files to continue.":"Lisää tallennuskokoa tai poista tiedostoja jatkaaksesi.","Index":"Indeksi","Index and import files through the user interface.":"Hakemisto ja tiedostojen tuonti käyttöliittymän kautta.","Indexing":"Indeksointi","Indexing failed":"Indeksointi epäonnistui","Indexing media and sidecar files…":"Indeksoidaan media- ja sivutiedostoja…","Information":"Tiedot","Instance ID":"Ilmentymän tunnus","Insufficient storage.":"Riittämätön varastointi.","Interval":"Intervalli","Invalid":"Virheellinen päivämäärä","Invalid address":"Virheellinen osoite","Invalid country":"Virheellinen maa","Invalid date":"Virheellinen päivämäärä","Invalid parameters":"Virheellinen päivämäärä","Invalid photo selected":"Virheellinen kuva valittu","Invalid time":"Virheellinen aika","Invalid URL":"Virheellinen URL-osoite","It is a one-time use code that will disable 2FA for your account when you use it.":"Se on kertakäyttöinen koodi, joka poistaa 2FA:n käytöstä tililtäsi, kun käytät sitä.","Item":"Kohde","Items per page:":"Kohteita per sivu:","JPEG Quality: %{n}":"JPEG-laatu: %{n}","JPEG Size Limit: %{n}px":"JPEG-kokorajoitus: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"JPEG-tiedostot ja pikkukuvat renderöidään automaattisesti tarpeen mukaan.","Keywords":"Avainsanat","Label":"Tunniste","Labels":"Tunnisteet","Labels deleted":"Tunnisteet poistettu","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: Yksityiskohtien säilyttäminen, minimaaliset artefaktit","Language":"Kieli","Last Active":"Viimeisin aktiivinen","Last Login":"Viimeisin kirjautuminen","Last page":"Viimeinen sivu","Last Sync":"Viimeisin synkronointi","Last Used":"Viimeksi käytetty","Latitude":"Leveysaste","LDAP/AD":"LDAP/AD","Learn more":"Lue lisää","Learn More":"Lue lisää","Legal Information":"Oikeudelliset tiedot","Lens":"Objektiivi","Library":"Kirjasto","License":"Lisenssi","Like":"Tykkää","Lime":"Lime","Limit reached, showing first %{n} files":"Raja saavutettu, näytetään ensimmäiset %{n} tiedostoa","Linear: Very Smooth, Best Performance":"Lineaarinen: Erittäin tasainen, paras suorituskyky","Link":"Linkki","List":"Luettelo","List View":"Luettelonäkymä","Live":"Live Photo -kuva","Live Photos":"Kuvat","Load more":"Lataa lisää","Loading items...":"Ladataan kohteita...","Loading...":"Ladataan...","Local":"Paikallinen","Local Time":"Paikallinen aika","Location":"Sijainti","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Lokiviestit näkyvät täällä aina, kun PhotoPrism löytää rikkinäisiä tiedostoja tai muita mahdollisia ongelmia.","Login":"Kirjaudu sisään","Logout":"Kirjaudu ulos","Logs":"Lokit","Longitude":"Pituusaste","Low":"Matala","Magenta":"Magenta","Main Color":"Pääväri","Male":"Mies","Manage Account":"Hallitse tiliä","Manual":"Manuaalinen","Manual Upload":"Manuaalinen lataus","Maps":"Kartat","Marker":"Merkki","Maximum number of accounts has been reached.":"Tilien enimmäismäärä on saavutettu.","Media":"Media","Medium":"Keskikokoinen","Membership":"Jäsenyys","Merge %{a} with %{b}?":"Yhdistetäänkö %{a} ja %{b}?","Message":"Viesti","Message sent":"Viesti lähetetty","Metadata":"Metatiedot","Metrics":"Mittarit","Minimize":"Minimoi","Missing":"Puuttuva","Missing or invalid configuration":"Puuttuva tai virheellinen konfiguraatio","Moments":"Hetket","Monochrome":"Yksivärinen","Month":"Kuukausi","More options":"Lisää vaihtoehtoja","Mosaic":"Mosaiikki","Most Relevant":"Tärkein","Move Files":"Siirrä tiedostoja","Must have at least %{n} characters.":"Vähintään %{n} merkkiä.","Mute":"Mykistä","Name":"Nimi","Name too long":"Nimi liian pitkä","Never":"Ei koskaan","New":"Uusi","New Password":"Uusi salasana","Newest First":"Uusin ensin","Next":"Seuraava","Next page":"Seuraava sivu","Next visual":"Seuraava kuva","No":"Ei","No albums found":"Albumeja ei löytynyt","No data available":"Tietoja ei ole saatavilla","No labels found":"Tunnisteita ei löytynyt","No matching records found":"Vastaavia tietueita ei löytynyt","No more":"Ei enää","No people found":"Ihmisiä ei löytynyt","No pictures found":"Kuvia ei löytynyt","No recently edited pictures":"Ei äskettäin muokattuja kuvia","No server connection":"Ei palvelinyhteyttä","No servers configured.":"Palvelimia ei ole määritetty.","No services configured.":"Palvelimia ei ole määritetty.","No thanks":"Ei kiitos","No warnings or error containing this keyword. Note that search is case-sensitive.":"Ei varoituksia tai virheitä, jotka sisältävät tämän avainsanan. Huomaa, että haussa kirjainkoolla on merkitystä.","Non-photographic and low-quality images require a review before they appear in search results.":"Muut kuin valokuvat ja heikkolaatuiset kuvat edellyttävät tarkistusta, ennen kuin ne näkyvät hakutuloksissa.","None":"Ei mitään","Not allowed":"Ei sallittu","Not found":"Ei löytynyt","Not sorted.":"Ei lajiteltu.","Not supported":"Ei tuettu","Note you may manually manage your originals folder and importing is optional.":"Huomaa, että voit hallita alkuperäisiä kansioita manuaalisesti, ja tuonti on valinnaista.","Note:":"Huomautus:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Huomautus: Vain WebDAV-palvelimet, kuten Nextcloud tai PhotoPrism, voidaan määrittää etäpalveluiksi varmuuskopiointia ja tiedostojen lataamista varten.","Notes":"Huomautukset","Nothing to see here yet.":"Täällä ei ole vielä mitään nähtävää. Ole kärsivällinen.","Nothing was found.":"Mitään ei löytynyt.","Offline":"Offline-tilassa","OIDC":"OIDC","OK":"OK","Oldest First":"Vanhin ensin","On Windows, enter the following resource in the connection dialog:":"Kirjoita Windowsissa seuraava resurssi yhteysvalintaikkunaan:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"Pienoiskuvien luominen tilauksesta voi aiheuttaa suurta suorittimen ja muistin käyttöä. Sitä ei suositella resurssirajoitteisille palvelimille ja NAS-laitteille.","Once a week":"Kerran viikossa","One album found":"Yksi albumi löytyi","One file found":"Yksi tiedosto löytyi","One file uploaded":"Yksi tiedosto ladattu","One folder found":"Yksi kansio löytyi","One label found":"Yksi tunniste löytyi","One person found":"Yksi henkilö löytyi","One picture found":"Yksi kuva löytyi","Only locally managed accounts can be set up for authentication with 2FA.":"Vain paikallisesti hallinnoidut tilit voidaan määrittää 2FA-todennusta varten.","Open":"Avaa","optional":"valinnainen","or":"tai","Orange":"Oranssi","Organization":"Suunta","Orientation":"Suunta","Original file names will be stored and indexed.":"Alkuperäiset tiedostonimet tallennetaan ja indeksoidaan.","Original Name":"Alkuperäinen nimi","Originals":"Alkuperäiset","Other":"Muut","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Tehtävämme on tarjota käyttäjä- ja yksityisyydensuojaystävällisin ratkaisu, jonka avulla kuvasi pysyvät järjestyksessä ja saatavilla.","Outdoor":"Ulkona","Page {0}, Current page":"Sivu {0}, Nykyinen sivu","Pages":"Sivut","Pagination Navigation":"Sivukohtainen navigointi","Panorama":"Panoraama","Panoramas":"Panoraamat","Password":"Salasana","Password changed":"Salasana vaihdettu","People":"Ihmiset","People you share a link with will be able to view public contents.":"Ihmiset, joille jaat linkin, voivat tarkastella julkista sisältöä.","Permanently deleted":"Poistettu pysyvästi","Permanently remove files to free up storage.":"Poista tiedostot pysyvästi vapauttaaksesi tallennustilaa.","Person":"Henkilö","Personal":"Henkilökohtainen","Photo":"Kuva","PhotoPrism is 100% self-funded and independent.":"PhotoPrism on 100-prosenttisesti omarahoitteinen ja riippumaton.","PhotoPrism+ Membership":"PhotoPrism+ jäsenyys","Photos":"Kuvat","Picture Title":"Kuvan nimi","Pink":"Vaaleanpunainen","Place":"Paikka","Place & Time":"Paikka ja aika","Places":"Paikat","Please confirm your new password.":"Vahvista uusi salasanasi.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Kopioi seuraava satunnaisesti luotu sovelluksen salasana ja säilytä se turvallisessa paikassa, koska et näe sitä enää:","Please do not upload any private, unlawful or offensive pictures.":"Älä lataa yksityisiä, laittomia tai loukkaavia kuvia.","Please don't upload photos containing offensive content.":"Älä lataa kuvia, jotka sisältävät loukkaavaa sisältöä.","Please enter OTP character {0}":"Syötä OTP-merkki {0}","Please note that changing your password will log you out on other devices and browsers.":"Huomaa, että salasanan vaihtaminen kirjautuu ulos muilla laitteilla ja selaimilla.","Please restart your instance for the changes to take effect.":"Käynnistä instanssisi uudelleen, jotta muutokset tulevat voimaan.","Please wait…":"Odota…","PM":"PM","PNG Size Limit: %{n}px":"PNG-kokorajoitus: %{n}px","Portrait":"Muotokuva","Preserve filenames":"Säilytä tiedostonimet","Press enter to create a new album.":"Luo uusi albumi painamalla enteriä.","Prevent database and album backups as well as YAML sidecar files from being created.":"Estää tietokannan ja albumin varmuuskopioiden sekä YAML-sivukarttatiedostojen luomisen.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Estä muita sovelluksia käyttämästä PhotoPrismia jaettuna verkkoasemana.","Preview":"Esikatselu","Preview Images":"Esikatselukuvat","Previous":"Edellinen","Previous page":"Edellinen sivu","Previous visual":"Edellinen kuva","Primary":"Ensisijainen","Private":"Yksityinen","Product Feedback":"Tuotepalaute","Projection":"Projektio","Purple":"Violetti","Quality Filter":"Laatusuodatin","Quality Score":"Laatupisteet","r":"r","Random":"Satunnainen","Rating {0} of {1}":"Luokitus {0} {1}","Raw":"Raaka","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Indeksoi uudelleen kaikki alkuperäiset tiedostot, mukaan lukien jo indeksoidut ja muuttumattomat tiedostot.","Read-Only Mode":"Vain luku -tila","Recently Added":"Äskettäin lisätty","Recently Archived":"Äskettäin arkistoitu","Recently Edited":"Äskettäin muokattu","Recognition starts after indexing has been completed.":"Tunnistus alkaa indeksoinnin päätyttyä.","Recognize faces so people can be assigned and found.":"Tunnistaa kasvot, jotta tietyt ihmiset voidaan löytää.","Recognized":"Tunnistettu","Recovery Code":"Elvytyskoodi","Red":"Punainen","Refresh":"Päivitä","Regions":"Alueet","Register":"Rekisteröi","Reload":"Lataa uudelleen","Reloading…":"Ladataan uudelleen…","Remote Sync":"Etäsynkronointi","Remove":"Poista","remove failed: unknown album":"poistaminen epäonnistui: tuntematon albumi","Remove from Album":"Poista albumista","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Poista tuodut tiedostot tallennustilan säästämiseksi. Ei-tuettuja tiedostotyyppejä ei koskaan poisteta, vaan ne säilyvät nykyisessä sijainnissaan.","Request failed - are you offline?":"Pyyntö epäonnistui - oletko offline?","Request failed - invalid response":"Pyyntö epäonnistui – virheellinen vastaus","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Vaaditaan, että muut kuin valokuvat ja heikkolaatuiset kuvat tarkistetaan ennen kuin ne näkyvät hakutuloksissa.","Resolution":"Resoluutio","Restart":"Käynnistä uudelleen","Restore":"Palauta","Restored":"Palautettu","Retry Limit":"Uudelleenyrittämisen raja","Retype Password":"Kirjoita salasana uudelleen","Review":"Arvostelu","Role":"Rooli","Rows per page:":"Rivit per sivu:","Satellite":"Satelliitti","Save":"Tallenna","Scan":"Skannaa","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Skannaa QR-koodi todennussovelluksellasi tai käytä alla näkyvää asennusavainta ja anna sitten luotu vahvistuskoodi:","Scans":"Skannaukset","Scope":"Laajuus","Search":"Etsi","Search and display photos on a map.":"Etsi ja näytä valokuvia kartalla.","Season":"Kausi","Secret":"Salainen","Security and Access":"Turvallisuus ja pääsy","Select":"Valitse","Select a source folder to import files…":"Valitse lähdekansio tiedostojen tuontia varten…","Select date":"Valitse päivämäärä","Select dates":"Valitse päivämäärät","Select or create an album":"Valitse tai luo albumi","Select the files to upload…":"Valitse ladattavat tiedostot…","Select the folder to be indexed…":"Valitse indeksoitava kansio…","Select Time":"Valitse aika","Selection approved":"Valinta hyväksytty","Selection archived":"Valinta arkistoitu","Selection restored":"Valinta palautettu","Sequential Name":"Peräkkäinen nimi","Service URL":"Palvelun URL-osoite","Services":"Palvelun URL-osoite","Session":"Istunto","Session ID":"Istunnon ID","Sessions":"Istunnot","Set as Album Cover":"Aseta albumin kanneksi","Settings":"Asetukset","Settings saved":"Asetukset tallennettu","Setup":"Määritä","Share":"Jaa","Share %{s}":"Jaa %{s}","Share your pictures with other apps and services.":"Jaa kuvasi muiden sovellusten ja palveluiden kanssa.","Show":"Näytä","Show all new faces":"Näytä kaikki uudet kasvot","Show Captions":"Näytä kuvatekstit","Show hidden":"Näytä piilotetut","Show less":"Näytä vähemmän","Show more":"Näytä lisää","Show server logs in Library.":"Näytä palvelimen lokit kirjastossa.","Show Titles":"Näytä otsikot","Sidecar":"Sidecar-tiedosto","Sidecar Files":"Sivuvaunun tiedostot","Sign in":"Kirjaudu sisään","Similar":"Samanlainen","Size":"Koko","Slideshow":"Diaesitys","Slow":"Hidas","Software":"Ohjelmisto","Software Update":"Ohjelmiston päivitys","Something went wrong, try again":"Jokin meni pieleen, yritä uudelleen","Sort by":"Lajittelu","Sort Order":"Lajittelujärjestys","Sorted ascending.":"Lajittelu nousevaan suuntaan.","Sorted descending.":"Lajittelu laskeva.","Source":"Lähde","Stack":"Pino","Stack files sharing the same unique image or instance identifier.":"Pinoa tiedostoja, joilla on sama yksilöllinen kuva tai ilmentymätunniste.","Stack pictures taken at the exact same time and location based on their metadata.":"Pinoaa täsmälleen samaan aikaan ja samassa paikassa otettuja kuvia niiden metatietojen perusteella.","Stackable":"Pinottava","Stacks":"Pinot","Start":"Aloita","Start Page":"Aloitussivu","Static Size Limit: %{n}px":"Staattinen kokorajoitus: %{n}px","Status":"Tila","Storage":"Tallennus","Streets":"Kadut","Subject":"Aihe","Submit":"Lähetä","Successfully activated":"Aktivointi onnistui","Successfully Connected":"Onnistuneesti yhdistetty","Successfully deleted":"Poistettu onnistuneesti","Successfully verified":"Vahvistettu onnistuneesti","Super Admin":"Super Admin","Support for additional services, like Google Drive, will be added over time.":"Tuki lisäpalveluille, kuten Google Drivelle lisätään myöhemmin.","Support Our Mission":"Tue missiotamme","Sync":"Synkronoi","Sync raw and video files":"Synkronoi raaka- ja videotiedostot","Taken":"Otettu","Teal":"Sinivihreä","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlowta tarvitaan kuvien luokitteluun, kasvojen tunnistamiseen ja vaarallisen sisällön havaitsemiseen.","Terrain":"Maasto","Text":"Teksti","Text too long":"Liian pitkä teksti","Thank You for Your Support!":"Kiitos tuestasi!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Siksi PhotoPrism rakennettiin alusta alkaen toimimaan siellä, missä sitä tarvitset, tinkimättä vapaudesta, yksityisyydestä tai toiminnallisuudesta.","The index currently contains %{n} hidden files.":"Hakemisto sisältää tällä hetkellä %{n} piilotettua tiedostoa.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Niiden muotoa ei ehkä tueta, niitä ei ole vielä muunnettu JPEG-muotoon tai niissä on kaksoiskappaleita.","Theme":"Teema","This field is required":"Tämä kenttä on pakollinen","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Tämä liittää alkuperäiskansion verkkoasemaksi ja antaa sinun avata, muokata ja poistaa tiedostoja tietokoneeltasi tai älypuhelimelta ikään kuin ne olisivat paikallisia.","Time UTC":"Aika UTC-muodossa","Time Zone":"Aikavyöhyke","Timeout":"Aikakatkaisu","Title":{"Account":"Otsikko","Photo":"Otsikko","":"Otsikko"},"Title / Position":"Otsikko liian pitkä","Title too long":"Otsikko liian pitkä","to":"kohde","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Lataa, tulosta tai kopioi tämä palautuskoodi nyt ja säilytä se turvallisessa paikassa, jotta et pääse kirjautumaan tiliisi.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Luo uusi sovelluskohtainen salasana kirjoittamalla sovelluksen nimi ja valtuutusalue ja valitsemalla viimeinen voimassaolopäivä:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Jos haluat vaihtaa uuteen todennussovellukseen tai -laitteeseen, deaktivoi ensin kaksivaiheinen todennus ja aktivoi se sitten uudelleen:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Päivittääksesi voit joko syöttää aktivointikoodin tai rekisteröityä verkkosivustollamme klikkaamalla \"Rekisteröidy\":","Today":"Tänään","Toggle View":"Vaihda näkymää","Token":"Merkki","Too many files selected":"Liian monta tiedostoa valittu","Too many requests":"Liian monta pyyntöä","Troubleshooting":"Vianmääritys","Try again using other filters or keywords.":"Yritä uudelleen käyttämällä muita suodattimia tai avainsanoja.","Two-factor authentication has been enabled for your account.":"Kaksivaiheinen todennus on otettu käyttöön tilissäsi.","Type":"Tyyppi","Unauthorized":"Luvaton","Undo":"Kumoa","Unique ID":"Yksilöllinen tunnus","Unknown":"Tuntematon","Unregistered":"Rekisteröimätön","Unsorted":"Lajittelematon","Unstack":"Pura pino","Updated":"Päivitetty","Updating faces":"Päivitetään kasvoja","Updating index":"Päivitetään indeksiä","Updating moments":"Päivitetään hetkiä","Updating picture…":"Päivitetään esikatseluita","Updating previews":"Päivitetään esikatseluita","Updating stacks":"Päivitetään pinoja","Upgrade":"Päivitys","Upgrade Now":"Päivitä nyt","Upload":"Lähetä","Upload complete":"Lähetys valmis","Upload complete. Indexing…":"Lähetys valmis. Indeksoidaan…","Upload failed":"Lähetys epäonnistui","Upload local files":"Lähetä paikallisia tiedostoja","Upload Path":"Lataa polku","Upload to WebDAV and share links with friends.":"Lähetä WebDAV:iin ja jaa linkkejä ystävien kanssa.","Uploading %{n} of %{t}…":"Lähetetään %{n}/%{t}…","Uploading photos…":"Lähetetään kuvia…","Uploading…":"Ladataan uudelleen…","Uploads that may contain such images will be rejected automatically.":"Tällaisia kuvia mahdollisesti sisältävät lataukset hylätään automaattisesti.","Use Presets":"Käytä esiasetuksia","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Käytä seuraavaa palautuskoodia päästäksesi tilillesi, kun et pysty luomaan kelvollista vahvistuskoodia todennussovelluksellasi:","Use your recovery code or contact an administrator for help.":"Käytä palautuskoodia tai pyydä apua järjestelmänvalvojalta.","User":"Käyttäjä","User Guide":"Käyttöopas","User Interface":"Käyttöliittymä","Username":"Käyttäjätunnus","Users":"Käyttäjät","Vector":"Vektori","Vectors":"Vektorit","Verification Code":"Vahvistuskoodi","Video":"Video","Video Duration":"Kesto","Videos":"Videot","View":"Näytä","View search results as a list.":"Näytä hakutulokset luettelona.","Viewer":"Katseluohjelma","Visitor":"Vierailija","Visual Similarity":"Ryhmittele samankaltaisuuden mukaan","Warning":"Varoitus","We appreciate your feedback!":"Arvostamme palautettasi!","We do our best to respond within five business days or less.":"Pyrimme parhaamme mukaan vastaamaan viiden arkipäivän tai lyhyemmän ajan kuluessa.","Web Login":"Web-kirjautuminen","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"WebDAV-ohjelmat voivat muodostaa yhteyden PhotoPrismiin käyttämällä seuraavaa URL-osoitetta:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"WebDAV-ohjelmat, kuten Microsoftin Windows Explorer tai Applen Finder, voivat muodostaa yhteyden suoraan PhotoPrismiin.","WebDAV Upload":"WebDAV-lähetys","WebGL support is disabled in your browser":"WebGL-tuki ei ole käytössä selaimessasi","Website":"Verkkosivusto","White":"Valkoinen","Work Details":"Tarkemmat tiedot","Year":"Vuosi","Yellow":"Keltainen","Yes":"Kyllä","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Voit ottaa meihin yhteyttä osoitteeseen membership@photoprism.app, jos sinulla on jäsenyyttäsi koskevia kysymyksiä.","You can only download one album":"Voit ladata vain yhden albumin","You can only download one label":"Voit ladata vain yhden tunnisteen","You can upload up to %{n} files for test purposes.":"Voit ladata enintään %{n} tiedostoa testitarkoituksiin.","You may only select one item":"Voit valita vain yhden kohteen","You may rescan your library to find additional faces.":"Voit skannata kirjastosi uudelleen löytääksesi lisää kasvoja.","Your account has been successfully connected.":"Tilisi on yhdistetty onnistuneesti.","Your browser does not support WebGL":"Selaimesi ei tue WebGL:ää","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Jatkuva tukesi auttaa meitä tarjoamaan säännöllisiä päivityksiä ja palveluja, kuten maailmankarttoja.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Kirjastoasi analysoidaan jatkuvasti ja luodaan automaattisesti albumeita erityisistä hetkistä, matkoista ja paikoista.","Zoom in/out":"Lähennä/loitonna"}} \ No newline at end of file +{"fi":{"{0} appended action":"{0} liitetty toiminta","{0} files":"{0} tiedostot","{0} files ({1} in total)":"{0} tiedostoja ({1} yhteensä)","{0} more":"{0} lisää","{0} prepended action":"{0} prepended action","{0} selected":"{0} valittu","{0}-{1} of {2}":"{0}-{1} of {2}","%{n} albums found":"%{n} albumia löydetty","%{n} files uploaded":"%{n} tiedostoa lähetetty","%{n} folders found":"%{n} kansiota löydetty","%{n} GB of %{q} GB used":"%{n} GB %{q} Käytetty GB","%{n} labels found":"%{n} tunnistetta löydetty","%{n} people found":"%{n} ihmistä löydetty","%{n} pictures found":"%{n} kuvaa löydetty","%{s} is too long":"%{s} on liian pitkä","%{s} is too short":"%{s} on liian lyhyt","1 hour":"1 tunti","12 hours":"12 tuntia","2-Factor Authentication":"2-tekijätodennus","2FA":"2FA","4 hours":"4 tuntia","A click will copy it to your clipboard.":"Napsauttamalla sitä voit kopioida sen leikepöydälle.","A new version of %{s} is available:":"Uusi versio %{s}:stä on saatavilla:","About":"Tietoja","Access Token":"Access Token","Account":"Tili","Account created":"Tili luotu","Account deleted":"Tili poistettu","Account restored":"Tili palautettu","Accounts":"Tilit","Accuracy":"Tarkkuus","Action":"Toiminnot","Actions":"Toiminnot","Activate":"Aktivoi","Activate to remove sorting.":"Aktivoi lajittelun poistamiseksi.","Activate to sort ascending.":"Aktivoi lajittelu nousevaan suuntaan.","Activate to sort descending.":"Aktivoi lajittelemaan alenevasti.","Activation Code":"Aktivointikoodi","Add":"Lisää","Add %{s}?":"Lisää %{s}?","Add Account":"Muokkaa tiliä","Add Album":"Lisää albumi","Add files to your library via Web Upload.":"Lisää tiedostoja kirjastoosi verkkoselaimen kautta.","Add Link":"Lisää linkki","Add person?":"Lisää henkilö?","Add pictures from search results by selecting them.":"Lisää kuvia hakutuloksista valitsemalla ne.","Add to album":"Lisää albumiin","Added":"Lisätty","Adjust Location":"Säädä sijaintia","Admin":"Admin","Advanced":"Lisäasetukset","After 1 day":"1 päivän kuluttua","After 3 days":"3 päivän kuluttua","After 7 days":"7 päivän kuluttua","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Kun olet antanut salasanasi vahvistusta varten, voit määrittää kaksivaiheisen todennuksen yhteensopivalla todennussovelluksella tai -laitteella:","After one month":"Yhden kuukauden kuluttua","After one year":"Vuoden kuluttua","After selecting pictures from search results, you can add them to an album using the context menu.":"Kun olet valinnut kuvia hakutuloksista, voit lisätä ne albumiin kontekstivalikon avulla.","After two months":"Kahden kuukauden kuluttua","After two weeks":"Kahden viikon kuluttua","Album":"Albumi","Album Backups":"Albumin varmuuskopiot","Album created":"Albumi luotu","Album deleted":"Albumi poistettu","Albums":"Albumit","Albums deleted":"Albumit poistettu","All":"Kaikki","All %{n} albums loaded":"Kaikki %{n} albumia ladattu","All %{n} labels loaded":"Kaikki %{n} tunnistetta ladattu","All %{n} people loaded":"Kaikki %{n} ihmistä ladattu","All Cameras":"Kaikki kamerat","All Categories":"Kaikki kategoriat","All Colors":"Kaikki värit","All Countries":"Kaikki maat","All fields are required":"Kaikki kentät ovat pakollisia","All files from import folder":"Kaikki tiedostot tuontikansiosta","All Lenses":"Kaikki objektiivit","All Months":"Kaikki kuukaudet","All originals":"Kaikki alkuperäiset","All Years":"Kaikki vuodet","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Vaihtoehtoisesti voit ladata tiedostoja suoraan WebDAV-palvelimille, kuten Nextcloudiin.","Altitude":"Korkeus","Altitude (m)":"Korkeus (m)","AM":"AM","Animated":"Animoitu","Animation":"Animaatio","Animations":"Animaatiot","Any private photos and videos remain private and won't be shared.":"Kaikki yksityiset kuvat ja videot pysyvät yksityisinä, eikä niitä jaeta.","API Key":"API-avain","Application":"Hakemus","Apply":"Käytä","Approve":"Hyväksy","Apps and Devices":"Sovellukset ja laitteet","Archive":"Arkisto","Archived":"Arkistoitu","Are you sure you want to archive the selection?":"Oletko varma, että haluat arkistoida valinnan?","Are you sure you want to delete these albums?":"Haluatko varmasti poistaa nämä albumit?","Are you sure you want to delete these labels?":"Haluatko varmasti poistaa nämä tunnisteet?","Are you sure you want to delete this account?":"Haluatko varmasti poistaa tämän tilin?","Are you sure you want to delete this album?":"Haluatko varmasti poistaa tämän albumin?","Are you sure you want to permanently delete these pictures?":"Haluatko varmasti poistaa nämä kuvat pysyvästi?","Are you sure you want to permanently delete this file?":"Haluatko varmasti poistaa tämän tiedoston pysyvästi?","Are you sure?":"Oletko varma?","Artist":"Tekijä","Aspect Ratio":"Kuvasuhde","Audio":"Audio","Authentication":"Tunnistus","Auto":"Auto","Back":"Takaisin","Back to top":"Takaisin alkuun","Backup":"Varmuuskopiointi","Badge":"Merkki","Base Path":"Peruspolku","Become a member today, support our mission and enjoy our member benefits!":"Liity jäseneksi tänään, tue tehtäviämme ja nauti jäseneduistamme!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Koska olemme 100-prosenttisesti omarahoitteisia ja riippumattomia, voimme luvata, ettemme koskaan myy tietojasi ja että ohjelmistomme ja palvelumme ovat aina avoimia.","Bio":"Biografia","Birth Date":"Syntymäaika","Black":"Musta","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Lanczos-muutos, vähemmän pakkausartefakteja","Blue":"Sininen","Brown":"Ruskea","Browse":"Selaa","Browse and edit image classification labels.":"Selaa ja muokkaa kuvien luokitustunnisteita.","Browse and share your pictures organized into monthly albums.":"Selaa ja jaa kuvia kuukausittaisiin albumeihin järjestettynä.","Browse Files":"Selaa tiedostoja","Browse indexed files and folders in Library.":"Selaa kirjaston indeksoituja tiedostoja ja kansioita.","Bug Report":"Ilmoita virheestä","Busy, please wait…":"Odota hetki…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Käyttämällä tarjoamiamme ohjelmistoja ja palveluita hyväksyt käyttöehtomme, tietosuojakäytäntömme ja käytännesääntömme.","Calendar":"Kalenteri","Camera":"Kamera","Camera Serial":"Kameran sarjanumero","Can't access your authenticator app or device?":"Etkö pääse autentikointisovellukseen tai -laitteeseen?","Can't load more, limit reached":"Ei voi ladata enempää, raja saavutettu","Can't select more items":"Ei voi valita enempää kohteita","Cancel":"Peruuta","Cannot copy to clipboard":"Ei voi kopioida leikepöydälle","Caption":"Kuvateksti","Cards":"Kortit","Carousel slide {0} of {1}":"Karusellin slide {0} of {1}","Category":"Kategoria","Change Avatar":"Muuta yksityisyyden tilaa","Change Password":"Uusi salasana","Change personal profile and security settings.":"Muuta henkilökohtaisia profiili- ja suojausasetuksia.","Change photo titles, locations, and other metadata.":"Muuta kuvien otsikoita, sijainteja ja muita metatietoja.","Change private flag":"Muuta yksityisyyden tilaa","Changes could not be saved":"Muutoksia ei voitu tallentaa","Changes successfully saved":"Muutokset tallennettu onnistuneesti","Changes to the advanced settings require a restart to take effect.":"Lisäasetusten muutokset vaativat uudelleenkäynnistyksen tullakseen voimaan.","Checked":"Tarkistettu","Chroma":"Värikylläisyys","Cleaning index and cache":"Indeksin ja välimuistin puhdistaminen","Cleanup":"Siivous","Clear {0}":"Tyhjennä {0}","Client":"Asiakas","Client Credentials":"Asiakkaan valtakirjat","Close":"Sulje","Codec":"Koodekki","Color":"Väri","Color Profile":"Väriprofiili","Colors":"Värit","Compare Editions":"Vertaa painoksia","Complete Rescan":"Täydellinen uudelleentarkistus","Confidence":"Varmuus","Confirm":"Vahvistaa","Connect":"Yhdistä","Connect via WebDAV":"Yhdistä WebDAV:n kautta","Connected":"Yhdistä","Contact Details":"Ota yhteyttä","Contact Us":"Ota yhteyttä","Contains %{n} pictures.":"Sisältää %{n} kuvaa.","Contains one picture.":"Sisältää yhden kuvan.","Content":"Sisältö","Continue":"Jatkaa","Continue with %{provider}":"Jatka %{provider}","Contributor":"Avustaja","Converting":"Muunnetaan","Copied to clipboard":"Kopioitu leikepöydälle","Copy":"Kopio","Copyright":"Tekijänoikeus","Couldn't find anything.":"En löytänyt mitään.","Country":"Maa","Create Account":"Luo tili","Create album":"Luo albumi","Create regular backups based on the configured schedule.":"Luo indeksin varmuuskopiot määritetyn aikataulun mukaisesti.","Create YAML files to back up album metadata.":"Luo YAML-tiedostoja albumin metatietojen varmuuskopiointia varten.","Create YAML sidecar files to back up picture metadata.":"Luo YAML-sivutiedostoja kuvien metatietojen varmuuskopiointia varten.","Created":"Luotu","Creating thumbnails for":"Luodaan pikkukuvia kohteelle","Cubic: Moderate Quality, Good Performance":"Kuutio: Kohtalainen laatu, hyvä suorituskyky","Current Password":"Nykyinen salasana","Custom":"Custom","Cyan":"Syaani","Daily":"Päivittäin","Database Backups":"Tietokannan varmuuskopiot","Day":"Päivä","Deactivate":"Poista käytöstä","Debug Logs":"Vianmäärityslokit","Default":"Oletus","Default Folder":"Oletuskansio","Delete":"Poista","Delete Album":"Poista albumi","Delete All":"Poista kaikki","Delete all?":"Poista kaikki?","Delete orphaned index entries, sidecar files and thumbnails.":"Poistaa orpoja indeksimerkintöjä, sivutiedostoja ja pikkukuvia.","Description":"Kuvaus","Detailed instructions can be found in our User Guide.":"Tarkemmat ohjeet löytyvät käyttöoppaastamme.","Details":"Tarkemmat tiedot","Dimensions":"Mitat","Disable Backups":"Poista varmuuskopiot käytöstä","Disable Darktable":"Poista Darktable käytöstä","Disable ExifTool":"Poista ExifTool käytöstä","Disable features that require write permission for the originals folder.":"Poista käytöstä ominaisuudet, jotka vaativat kirjoitusoikeutta alkuperäiskansiossa.","Disable FFmpeg":"Poista FFmpeg käytöstä","Disable ImageMagick":"Poista ImageMagick käytöstä","Disable interactive world maps and reverse geocoding.":"Poista interaktiiviset maailmankartat ja käänteinen geokoodaus käytöstä.","Disable Places":"Poista paikat käytöstä","Disable RawTherapee":"Poista RawTherapee käytöstä","Disable TensorFlow":"Poista TensorFlow käytöstä","Disable Vectors":"Poista vektorit käytöstä","Disable WebDAV":"Poista WebDAV käytöstä","Disables vector graphics support.":"Poistaa vektorigrafiikan tuen käytöstä.","Disables video transcoding and thumbnail extraction.":"Poistaa videon transkoodauksen ja pikkukuvien poiston käytöstä.","Discover":"Tutustu","Dismiss":"Vapauttakaa","Display Name":"Näytön nimi","Display picture captions in search results.":"Näytä kuvatekstit hakutuloksissa.","Display picture titles in search results.":"Näytä kuvien otsikot hakutuloksissa.","Document":"Asiakirja","Documents":"Asiakirjat","Don't use Darktable to convert RAW images.":"Älä käytä Darktablea RAW-tiedostojen muuntamiseen.","Don't use ImageMagick to convert images.":"Älä käytä ImageMagickia kuvien muuntamiseen.","Don't use RawTherapee to convert RAW images.":"Älä käytä RawTherapeeta RAW-tiedostojen muuntamiseen.","Done":"Valmis","Done.":"Tehty.","Download":"Lataa","Download only original media files, without any automatically generated files.":"Lataa vain alkuperäisiä mediatiedostoja ilman automaattisesti luotuja tiedostoja.","Download remote files":"Lataa etätiedostoja","Download single files and zip archives.":"Lataa yksittäisiä tiedostoja ja zip-arkistoja.","Downloading…":"Ladataan…","Downscaling Filter":"Skaalaussuodatin","Drag and drop files here":"Vedä ja pudota tiedostot tänne","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"Koska saamiemme sähköpostiviestien määrä on suuri, tiimimme ei välttämättä pysty vastaamaan sinulle välittömästi.","Duplicates will be skipped and only appear once.":"Kaksoiskappaleet ohitetaan ja ne näkyvät vain kerran.","Duration":"Kesto","Dynamic Previews":"Dynaamiset esikatselut","Dynamic Size Limit: %{n}px":"Dynaaminen kokorajoitus: %{n}px","E-Mail":"Sähköposti","Edit":"Muokkaa","Edit %{s}":"Muokkaa %{s}","Edit Account":"Muokkaa tiliä","Edit Photo":"Muokkaa kuvaa","Edited":"Muokattu","Email":"Sähköposti","Enable debug mode to display additional logs and help with troubleshooting.":"Ota debug-tila käyttöön näyttääksesi lisälokeja ja auttaaksesi vianmäärityksessä.","Enable new features that may be incomplete or unstable.":"Ota käyttöön uusia ominaisuuksia, jotka voivat olla epätäydellisiä tai epävakaita.","Enables RAW converter presets. May reduce performance.":"Ottaa käyttöön RAW-muuntimen esiasetukset. Saattaa heikentää suorituskykyä.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Kaksivaiheisen todennuksen ottaminen käyttöön tarkoittaa, että tarvitset satunnaisesti luodun vahvistuskoodin kirjautuaksesi sisään, joten vaikka joku pääsisikin käsiksi salasanaasi, hän ei pääse tilillesi.","Enter date":"Syötä päivämäärä","Enter dates":"Syötä päivämäärät","Enter the code generated by your authenticator app:":"Kirjoita tunnistautumissovelluksen luoma koodi:","Enter verification code":"syötä vahvistus koodi","Enter your password to confirm the action and continue:":"Vahvista toiminto antamalla salasanasi ja jatka:","Error":"Virhe","Errors":"Virheet","Estimate":"Arvio","Estimate Locations":"Arvioitu sijainnit","Estimate the approximate location of pictures without GPS coordinates.":"Arvioi kuvien likimääräinen sijainti ilman GPS-koordinaatteja.","Every two days":"Joka toinen päivä","Exclude content marked as private from search results, shared albums, labels, and places.":"Sulje yksityiseksi merkitty sisältö pois hakutuloksista, jaetuista albumeista, tunnisteista ja paikoista.","Exclude hidden":"Sulje pois piilotetut kohteet","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"Metatietojen poiminta ExifToolilla vaaditaan täydellistä Video-, Live Photo- ja XMP-tukea varten.","Experimental Features":"Kokeelliset ominaisuudet","Expires":"Vanhenee","Exposure":"Valotus","Extract still images and generate thumbnails while indexing.":"Poimi still-kuvat ja luo pikkukuvia indeksoinnin aikana.","F Number":"Aukko","Face":"Kasvot","Faces":"Kasvot","Failed removing link":"Linkin poistaminen epäonnistui","Failed to connect account.":"Tilin yhdistäminen epäonnistui.","Failed updating link":"Linkin päivittäminen epäonnistui","Family Name":"Sukunimi","Fast":"Nopea","Favorite":"Suosikki","Favorites":"Suosikit","Feature Request":"Ominaisuuspyyntö","Feedback":"Palaute","Female":"Nainen","File":"Tiedosto","File Browser":"Tiedostoselain","File Conversion":"Tiedoston muuntaminen","File Name":"Tiedoston nimi","File Size":"Tiedosto","Filename":"Tiedoston nimi","Files":"Tiedostot","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Tiedostot, joilla on peräkkäiset nimet, kuten 'IMG_1234 (2)' ja 'IMG_1234 (3)', kuuluvat samaan kuvaan.","First page":"Ensimmäinen sivu","Focal Length":"Polttoväli","Folder":"Kansio","Folder contains %{n} files":"Kansio sisältää %{n} tiedostoa","Folder is empty":"Kansio on tyhjä","Folders":"Kansiot","Forgot password?":"Unohditko salasanan?","FPS":"Ruutunopeus (FPS)","Frames":"Ruudut","Full Access":"Täysi pääsy","Fullscreen":"Koko näyttö","General":"Yleinen","Generate":"Tuottaa","Generate albums of special moments, journeys, and places.":"Luo automaattisesti albumeja erityisistä hetkistä, matkoista ja paikoista.","Generate Previews":"Luo esikatselukuvat","Generated":"Generoitu","Get Started":"Aloita","Given Name":"Alkuperäinen nimi","Global Options":"Globaalit vaihtoehdot","Go to page {0}":"Siirry sivulle {0}","Gold":"Kulta","Green":"Vihreä","Grey":"Harmaa","Guest":"Vieras","Hash":"Hash","Help":"Apua","Help & Support":"Apu ja tuki","Hidden":"Piilotettu","Hidden Files":"Piilotetut tiedostot","Hide":"Piilota","Hide photos that have been moved to archive.":"Piilota valokuvat, jotka on siirretty arkistoon.","High":"Korkea","High Dynamic Range (HDR)":"Korkea dynaaminen alue (HDR)","How can we help?":"Kuinka voimme auttaa?","Hybrid":"Hybridi","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Jos menetät käyttöoikeuden todennussovellukseen tai -laitteeseen, voit palauttaa tilisi käyttöoikeuden palautuskoodillasi.","Image":"Kuva","Image Quality":"Kuvan laatu","Import":"Tuo","Import failed":"Tuonti epäonnistui","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Tuodut tiedostot lajitellaan päivämäärän mukaan ja niille annetaan yksilöllinen nimi päällekkäisyyksien välttämiseksi.","Imported files will be sorted by date and given a unique name.":"Tuodut tiedostot lajitellaan päivämäärän mukaan ja niille annetaan yksilöllinen nimi.","Importing %{s}…":"Tuodaan %{s}…","Importing files to originals…":"Tuodaan tiedostoja alkuperäisiin…","in":"osoitteessa","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"Jos odottamasi kuvat puuttuvat, skannaa kirjastosi uudelleen ja odota, kunnes indeksointi on valmis.","Include RAW image files when downloading stacks and archives.":"Sisällytä RAW-kuvatiedostot pinoja ja arkistoja ladattaessa.","Include sidecar files when downloading stacks and archives.":"Sisällytä sidecar-tiedostot, kun lataat pinoja ja arkistoja.","Increase storage size or delete files to continue.":"Lisää tallennuskokoa tai poista tiedostoja jatkaaksesi.","Index":"Indeksi","Index and import files through the user interface.":"Hakemisto ja tiedostojen tuonti käyttöliittymän kautta.","Indexing":"Indeksointi","Indexing failed":"Indeksointi epäonnistui","Indexing media and sidecar files…":"Indeksoidaan media- ja sivutiedostoja…","Information":"Tiedot","Instance ID":"Ilmentymän tunnus","Insufficient storage.":"Riittämätön varastointi.","Interval":"Intervalli","Invalid":"Virheellinen päivämäärä","Invalid address":"Virheellinen osoite","Invalid country":"Virheellinen maa","Invalid date":"Virheellinen päivämäärä","Invalid parameters":"Virheellinen päivämäärä","Invalid photo selected":"Virheellinen kuva valittu","Invalid time":"Virheellinen aika","Invalid URL":"Virheellinen URL-osoite","It is a one-time use code that will disable 2FA for your account when you use it.":"Se on kertakäyttöinen koodi, joka poistaa 2FA:n käytöstä tililtäsi, kun käytät sitä.","Item":"Kohde","Items per page:":"Kohteita per sivu:","JPEG Quality: %{n}":"JPEG-laatu: %{n}","JPEG Size Limit: %{n}px":"JPEG-kokorajoitus: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"JPEG-tiedostot ja pikkukuvat renderöidään automaattisesti tarpeen mukaan.","Keywords":"Avainsanat","Label":"Tunniste","Labels":"Tunnisteet","Labels deleted":"Tunnisteet poistettu","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: Yksityiskohtien säilyttäminen, minimaaliset artefaktit","Language":"Kieli","Last Active":"Viimeisin aktiivinen","Last Login":"Viimeisin kirjautuminen","Last page":"Viimeinen sivu","Last Sync":"Viimeisin synkronointi","Last Used":"Viimeksi käytetty","Latitude":"Leveysaste","LDAP/AD":"LDAP/AD","Learn more":"Lue lisää","Learn More":"Lue lisää","Legal Information":"Oikeudelliset tiedot","Lens":"Objektiivi","Library":"Kirjasto","License":"Lisenssi","Like":"Tykkää","Lime":"Lime","Limit reached, showing first %{n} files":"Raja saavutettu, näytetään ensimmäiset %{n} tiedostoa","Linear: Very Smooth, Best Performance":"Lineaarinen: Erittäin tasainen, paras suorituskyky","Link":"Linkki","List":"Luettelo","List View":"Luettelonäkymä","Live":"Live Photo -kuva","Live Photos":"Kuvat","Load more":"Lataa lisää","Loading items...":"Ladataan kohteita...","Loading...":"Ladataan...","Local":"Paikallinen","Local Time":"Paikallinen aika","Location":"Sijainti","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Lokiviestit näkyvät täällä aina, kun PhotoPrism löytää rikkinäisiä tiedostoja tai muita mahdollisia ongelmia.","Login":"Kirjaudu sisään","Logout":"Kirjaudu ulos","Logs":"Lokit","Longitude":"Pituusaste","Low":"Matala","Magenta":"Magenta","Main Color":"Pääväri","Male":"Mies","Manage Account":"Hallitse tiliä","Manager":"Johtaja","Manual":"Manuaalinen","Manual Upload":"Manuaalinen lataus","Maps":"Kartat","Marker":"Merkki","Maximum number of accounts has been reached.":"Tilien enimmäismäärä on saavutettu.","Media":"Media","Medium":"Keskikokoinen","Membership":"Jäsenyys","Merge %{a} with %{b}?":"Yhdistetäänkö %{a} ja %{b}?","Message":"Viesti","Message sent":"Viesti lähetetty","Metadata":"Metatiedot","Metrics":"Mittarit","Minimize":"Minimoi","Missing":"Puuttuva","Missing or invalid configuration":"Puuttuva tai virheellinen konfiguraatio","Moments":"Hetket","Monochrome":"Yksivärinen","Month":"Kuukausi","More options":"Lisää vaihtoehtoja","Mosaic":"Mosaiikki","Most Relevant":"Tärkein","Move Files":"Siirrä tiedostoja","Must have at least %{n} characters.":"Vähintään %{n} merkkiä.","Mute":"Mykistä","Name":"Nimi","Name too long":"Nimi liian pitkä","Never":"Ei koskaan","New":"Uusi","New Password":"Uusi salasana","Newest First":"Uusin ensin","Next":"Seuraava","Next page":"Seuraava sivu","Next visual":"Seuraava kuva","No":"Ei","No albums found":"Albumeja ei löytynyt","No data available":"Tietoja ei ole saatavilla","No labels found":"Tunnisteita ei löytynyt","No matching records found":"Vastaavia tietueita ei löytynyt","No more":"Ei enää","No people found":"Ihmisiä ei löytynyt","No pictures found":"Kuvia ei löytynyt","No recently edited pictures":"Ei äskettäin muokattuja kuvia","No results":"Ei tuloksia","No server connection":"Ei palvelinyhteyttä","No servers configured.":"Palvelimia ei ole määritetty.","No services configured.":"Palvelimia ei ole määritetty.","No thanks":"Ei kiitos","No warnings or error containing this keyword. Note that search is case-sensitive.":"Ei varoituksia tai virheitä, jotka sisältävät tämän avainsanan. Huomaa, että haussa kirjainkoolla on merkitystä.","Non-photographic and low-quality images require a review before they appear in search results.":"Muut kuin valokuvat ja heikkolaatuiset kuvat edellyttävät tarkistusta, ennen kuin ne näkyvät hakutuloksissa.","None":"Ei mitään","Not allowed":"Ei sallittu","Not found":"Ei löytynyt","Not sorted.":"Ei lajiteltu.","Not supported":"Ei tuettu","Note you may manually manage your originals folder and importing is optional.":"Huomaa, että voit hallita alkuperäisiä kansioita manuaalisesti, ja tuonti on valinnaista.","Note:":"Huomautus:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Huomautus: Vain WebDAV-palvelimet, kuten Nextcloud tai PhotoPrism, voidaan määrittää etäpalveluiksi varmuuskopiointia ja tiedostojen lataamista varten.","Notes":"Huomautukset","Nothing to see here yet.":"Täällä ei ole vielä mitään nähtävää. Ole kärsivällinen.","Nothing was found.":"Mitään ei löytynyt.","Offline":"Offline-tilassa","OIDC":"OIDC","OK":"OK","Oldest First":"Vanhin ensin","On Windows, enter the following resource in the connection dialog:":"Kirjoita Windowsissa seuraava resurssi yhteysvalintaikkunaan:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"Pienoiskuvien luominen tilauksesta voi aiheuttaa suurta suorittimen ja muistin käyttöä. Sitä ei suositella resurssirajoitteisille palvelimille ja NAS-laitteille.","Once a week":"Kerran viikossa","One album found":"Yksi albumi löytyi","One file found":"Yksi tiedosto löytyi","One file uploaded":"Yksi tiedosto ladattu","One folder found":"Yksi kansio löytyi","One label found":"Yksi tunniste löytyi","One person found":"Yksi henkilö löytyi","One picture found":"Yksi kuva löytyi","Only locally managed accounts can be set up for authentication with 2FA.":"Vain paikallisesti hallinnoidut tilit voidaan määrittää 2FA-todennusta varten.","Open":"Avaa","optional":"valinnainen","or":"tai","Orange":"Oranssi","Organization":"Suunta","Orientation":"Suunta","Original file names will be stored and indexed.":"Alkuperäiset tiedostonimet tallennetaan ja indeksoidaan.","Original Name":"Alkuperäinen nimi","Originals":"Alkuperäiset","Other":"Muut","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Tehtävämme on tarjota käyttäjä- ja yksityisyydensuojaystävällisin ratkaisu, jonka avulla kuvasi pysyvät järjestyksessä ja saatavilla.","Outdoor":"Ulkona","Page {0}, Current page":"Sivu {0}, Nykyinen sivu","Pages":"Sivut","Pagination Navigation":"Sivukohtainen navigointi","Panorama":"Panoraama","Panoramas":"Panoraamat","Password":"Salasana","Password changed":"Salasana vaihdettu","People":"Ihmiset","People you share a link with will be able to view public contents.":"Ihmiset, joille jaat linkin, voivat tarkastella julkista sisältöä.","Permanently deleted":"Poistettu pysyvästi","Permanently remove files to free up storage.":"Poista tiedostot pysyvästi vapauttaaksesi tallennustilaa.","Person":"Henkilö","Personal":"Henkilökohtainen","Photo":"Kuva","PhotoPrism is 100% self-funded and independent.":"PhotoPrism on 100-prosenttisesti omarahoitteinen ja riippumaton.","PhotoPrism+ Membership":"PhotoPrism+ jäsenyys","Photos":"Kuvat","Picture Title":"Kuvan nimi","Pink":"Vaaleanpunainen","Place":"Paikka","Place & Time":"Paikka ja aika","Places":"Paikat","Please confirm your new password.":"Vahvista uusi salasanasi.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Kopioi seuraava satunnaisesti luotu sovelluksen salasana ja säilytä se turvallisessa paikassa, koska et näe sitä enää:","Please do not upload any private, unlawful or offensive pictures.":"Älä lataa yksityisiä, laittomia tai loukkaavia kuvia.","Please don't upload photos containing offensive content.":"Älä lataa kuvia, jotka sisältävät loukkaavaa sisältöä.","Please enter OTP character {0}":"Syötä OTP-merkki {0}","Please note that changing your password will log you out on other devices and browsers.":"Huomaa, että salasanan vaihtaminen kirjautuu ulos muilla laitteilla ja selaimilla.","Please restart your instance for the changes to take effect.":"Käynnistä instanssisi uudelleen, jotta muutokset tulevat voimaan.","Please wait…":"Odota…","PM":"PM","PNG Size Limit: %{n}px":"PNG-kokorajoitus: %{n}px","Portrait":"Muotokuva","Preserve filenames":"Säilytä tiedostonimet","Press enter to create a new album.":"Luo uusi albumi painamalla enteriä.","Prevent database and album backups as well as YAML sidecar files from being created.":"Estää tietokannan ja albumin varmuuskopioiden sekä YAML-sivukarttatiedostojen luomisen.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Estä muita sovelluksia käyttämästä PhotoPrismia jaettuna verkkoasemana.","Preview":"Esikatselu","Preview Images":"Esikatselukuvat","Previous":"Edellinen","Previous page":"Edellinen sivu","Previous visual":"Edellinen kuva","Primary":"Ensisijainen","Private":"Yksityinen","Product Feedback":"Tuotepalaute","Projection":"Projektio","Purple":"Violetti","Quality Filter":"Laatusuodatin","Quality Score":"Laatupisteet","r":"r","Random":"Satunnainen","Rating {0} of {1}":"Luokitus {0} {1}","Raw":"Raaka","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Indeksoi uudelleen kaikki alkuperäiset tiedostot, mukaan lukien jo indeksoidut ja muuttumattomat tiedostot.","Read-Only Mode":"Vain luku -tila","Recently Added":"Äskettäin lisätty","Recently Archived":"Äskettäin arkistoitu","Recently Edited":"Äskettäin muokattu","Recognition starts after indexing has been completed.":"Tunnistus alkaa indeksoinnin päätyttyä.","Recognize faces so people can be assigned and found.":"Tunnistaa kasvot, jotta tietyt ihmiset voidaan löytää.","Recognized":"Tunnistettu","Recovery Code":"Elvytyskoodi","Red":"Punainen","Refresh":"Päivitä","Regions":"Alueet","Register":"Rekisteröi","Reload":"Lataa uudelleen","Reloading…":"Ladataan uudelleen…","Remote Sync":"Etäsynkronointi","Remove":"Poista","remove failed: unknown album":"poistaminen epäonnistui: tuntematon albumi","Remove from Album":"Poista albumista","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Poista tuodut tiedostot tallennustilan säästämiseksi. Ei-tuettuja tiedostotyyppejä ei koskaan poisteta, vaan ne säilyvät nykyisessä sijainnissaan.","Request failed - are you offline?":"Pyyntö epäonnistui - oletko offline?","Request failed - invalid response":"Pyyntö epäonnistui – virheellinen vastaus","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Vaaditaan, että muut kuin valokuvat ja heikkolaatuiset kuvat tarkistetaan ennen kuin ne näkyvät hakutuloksissa.","Resolution":"Resoluutio","Restart":"Käynnistä uudelleen","Restore":"Palauta","Restored":"Palautettu","Retry Limit":"Uudelleenyrittämisen raja","Retype Password":"Kirjoita salasana uudelleen","Review":"Arvostelu","Role":"Rooli","Rows per page:":"Rivit per sivu:","Satellite":"Satelliitti","Save":"Tallenna","Scan":"Skannaa","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Skannaa QR-koodi todennussovelluksellasi tai käytä alla näkyvää asennusavainta ja anna sitten luotu vahvistuskoodi:","Scans":"Skannaukset","Scope":"Laajuus","Search":"Etsi","Search and display photos on a map.":"Etsi ja näytä valokuvia kartalla.","Season":"Kausi","Secret":"Salainen","Security and Access":"Turvallisuus ja pääsy","Select":"Valitse","Select a source folder to import files…":"Valitse lähdekansio tiedostojen tuontia varten…","Select date":"Valitse päivämäärä","Select dates":"Valitse päivämäärät","Select or create an album":"Valitse tai luo albumi","Select the files to upload…":"Valitse ladattavat tiedostot…","Select the folder to be indexed…":"Valitse indeksoitava kansio…","Select Time":"Valitse aika","Selection approved":"Valinta hyväksytty","Selection archived":"Valinta arkistoitu","Selection restored":"Valinta palautettu","Sequential Name":"Peräkkäinen nimi","Service URL":"Palvelun URL-osoite","Services":"Palvelun URL-osoite","Session":"Istunto","Session ID":"Istunnon ID","Sessions":"Istunnot","Set as Album Cover":"Aseta albumin kanneksi","Settings":"Asetukset","Settings saved":"Asetukset tallennettu","Setup":"Määritä","Share":"Jaa","Share %{s}":"Jaa %{s}","Share your pictures with other apps and services.":"Jaa kuvasi muiden sovellusten ja palveluiden kanssa.","Show":"Näytä","Show all new faces":"Näytä kaikki uudet kasvot","Show Captions":"Näytä kuvatekstit","Show hidden":"Näytä piilotetut","Show less":"Näytä vähemmän","Show more":"Näytä lisää","Show server logs in Library.":"Näytä palvelimen lokit kirjastossa.","Show Titles":"Näytä otsikot","Sidecar":"Sidecar-tiedosto","Sidecar Files":"Sivuvaunun tiedostot","Sign in":"Kirjaudu sisään","Similar":"Samanlainen","Size":"Koko","Slideshow":"Diaesitys","Slow":"Hidas","Software":"Ohjelmisto","Software Update":"Ohjelmiston päivitys","Something went wrong, try again":"Jokin meni pieleen, yritä uudelleen","Sort by":"Lajittelu","Sort Order":"Lajittelujärjestys","Sorted ascending.":"Lajittelu nousevaan suuntaan.","Sorted descending.":"Lajittelu laskeva.","Source":"Lähde","Stack":"Pino","Stack files sharing the same unique image or instance identifier.":"Pinoa tiedostoja, joilla on sama yksilöllinen kuva tai ilmentymätunniste.","Stack pictures taken at the exact same time and location based on their metadata.":"Pinoaa täsmälleen samaan aikaan ja samassa paikassa otettuja kuvia niiden metatietojen perusteella.","Stackable":"Pinottava","Stacks":"Pinot","Start":"Aloita","Start Page":"Aloitussivu","Static Size Limit: %{n}px":"Staattinen kokorajoitus: %{n}px","Status":"Tila","Storage":"Tallennus","Streets":"Kadut","Subject":"Aihe","Submit":"Lähetä","Successfully activated":"Aktivointi onnistui","Successfully Connected":"Onnistuneesti yhdistetty","Successfully deleted":"Poistettu onnistuneesti","Successfully verified":"Vahvistettu onnistuneesti","Super Admin":"Super Admin","Support for additional services, like Google Drive, will be added over time.":"Tuki lisäpalveluille, kuten Google Drivelle lisätään myöhemmin.","Support Our Mission":"Tue missiotamme","Sync":"Synkronoi","Sync raw and video files":"Synkronoi raaka- ja videotiedostot","Taken":"Otettu","Teal":"Sinivihreä","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlowta tarvitaan kuvien luokitteluun, kasvojen tunnistamiseen ja vaarallisen sisällön havaitsemiseen.","Terrain":"Maasto","Text":"Teksti","Text too long":"Liian pitkä teksti","Thank You for Your Support!":"Kiitos tuestasi!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Siksi PhotoPrism rakennettiin alusta alkaen toimimaan siellä, missä sitä tarvitset, tinkimättä vapaudesta, yksityisyydestä tai toiminnallisuudesta.","The index currently contains %{n} hidden files.":"Hakemisto sisältää tällä hetkellä %{n} piilotettua tiedostoa.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Niiden muotoa ei ehkä tueta, niitä ei ole vielä muunnettu JPEG-muotoon tai niissä on kaksoiskappaleita.","Theme":"Teema","This field is required":"Tämä kenttä on pakollinen","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Tämä liittää alkuperäiskansion verkkoasemaksi ja antaa sinun avata, muokata ja poistaa tiedostoja tietokoneeltasi tai älypuhelimelta ikään kuin ne olisivat paikallisia.","Time UTC":"Aika UTC-muodossa","Time Zone":"Aikavyöhyke","Timeout":"Aikakatkaisu","Title":{"Account":"Otsikko","Photo":"Otsikko","":"Otsikko"},"Title / Position":"Otsikko liian pitkä","Title too long":"Otsikko liian pitkä","to":"kohde","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Lataa, tulosta tai kopioi tämä palautuskoodi nyt ja säilytä se turvallisessa paikassa, jotta et pääse kirjautumaan tiliisi.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Luo uusi sovelluskohtainen salasana kirjoittamalla sovelluksen nimi ja valtuutusalue ja valitsemalla viimeinen voimassaolopäivä:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Jos haluat vaihtaa uuteen todennussovellukseen tai -laitteeseen, deaktivoi ensin kaksivaiheinen todennus ja aktivoi se sitten uudelleen:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Päivittääksesi voit joko syöttää aktivointikoodin tai rekisteröityä verkkosivustollamme klikkaamalla \"Rekisteröidy\":","Today":"Tänään","Toggle View":"Vaihda näkymää","Token":"Merkki","Too many files selected":"Liian monta tiedostoa valittu","Too many requests":"Liian monta pyyntöä","Troubleshooting":"Vianmääritys","Try again using other filters or keywords.":"Yritä uudelleen käyttämällä muita suodattimia tai avainsanoja.","Two-factor authentication has been enabled for your account.":"Kaksivaiheinen todennus on otettu käyttöön tilissäsi.","Type":"Tyyppi","Unable to delete":"Poistaminen ei onnistu","Unauthorized":"Luvaton","Undo":"Kumoa","Unique ID":"Yksilöllinen tunnus","Unknown":"Tuntematon","Unregistered":"Rekisteröimätön","Unsorted":"Lajittelematon","Unstack":"Pura pino","Updated":"Päivitetty","Updating faces":"Päivitetään kasvoja","Updating index":"Päivitetään indeksiä","Updating moments":"Päivitetään hetkiä","Updating picture…":"Päivitetään esikatseluita","Updating previews":"Päivitetään esikatseluita","Updating stacks":"Päivitetään pinoja","Upgrade":"Päivitys","Upgrade Now":"Päivitä nyt","Upload":"Lähetä","Upload complete":"Lähetys valmis","Upload complete. Indexing…":"Lähetys valmis. Indeksoidaan…","Upload failed":"Lähetys epäonnistui","Upload local files":"Lähetä paikallisia tiedostoja","Upload Path":"Lataa polku","Upload to WebDAV and share links with friends.":"Lähetä WebDAV:iin ja jaa linkkejä ystävien kanssa.","Uploading %{n} of %{t}…":"Lähetetään %{n}/%{t}…","Uploading photos…":"Lähetetään kuvia…","Uploading…":"Ladataan uudelleen…","Uploads that may contain such images will be rejected automatically.":"Tällaisia kuvia mahdollisesti sisältävät lataukset hylätään automaattisesti.","Use Presets":"Käytä esiasetuksia","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Käytä seuraavaa palautuskoodia päästäksesi tilillesi, kun et pysty luomaan kelvollista vahvistuskoodia todennussovelluksellasi:","Use your recovery code or contact an administrator for help.":"Käytä palautuskoodia tai pyydä apua järjestelmänvalvojalta.","User":"Käyttäjä","User Guide":"Käyttöopas","User Interface":"Käyttöliittymä","Username":"Käyttäjätunnus","Users":"Käyttäjät","Vector":"Vektori","Vectors":"Vektorit","Verification Code":"Vahvistuskoodi","Video":"Video","Video Duration":"Kesto","Videos":"Videot","View":"Näytä","View search results as a list.":"Näytä hakutulokset luettelona.","Viewer":"Katseluohjelma","Visitor":"Vierailija","Visual Similarity":"Ryhmittele samankaltaisuuden mukaan","Warning":"Varoitus","We appreciate your feedback!":"Arvostamme palautettasi!","We do our best to respond within five business days or less.":"Pyrimme parhaamme mukaan vastaamaan viiden arkipäivän tai lyhyemmän ajan kuluessa.","Web Login":"Web-kirjautuminen","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"WebDAV-ohjelmat voivat muodostaa yhteyden PhotoPrismiin käyttämällä seuraavaa URL-osoitetta:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"WebDAV-ohjelmat, kuten Microsoftin Windows Explorer tai Applen Finder, voivat muodostaa yhteyden suoraan PhotoPrismiin.","WebDAV Upload":"WebDAV-lähetys","WebGL support is disabled in your browser":"WebGL-tuki ei ole käytössä selaimessasi","Website":"Verkkosivusto","White":"Valkoinen","Work Details":"Tarkemmat tiedot","Year":"Vuosi","Yellow":"Keltainen","Yes":"Kyllä","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Voit ottaa meihin yhteyttä osoitteeseen membership@photoprism.app, jos sinulla on jäsenyyttäsi koskevia kysymyksiä.","You can only download one album":"Voit ladata vain yhden albumin","You can only download one label":"Voit ladata vain yhden tunnisteen","You can search for a location or move the marker on the map to change the position:":"Voit etsiä sijaintia tai siirtää merkkiä kartalla vaihtaaksesi sijaintia:","You can upload up to %{n} files for test purposes.":"Voit ladata enintään %{n} tiedostoa testitarkoituksiin.","You may only select one item":"Voit valita vain yhden kohteen","You may rescan your library to find additional faces.":"Voit skannata kirjastosi uudelleen löytääksesi lisää kasvoja.","Your account has been successfully connected.":"Tilisi on yhdistetty onnistuneesti.","Your browser does not support WebGL":"Selaimesi ei tue WebGL:ää","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Jatkuva tukesi auttaa meitä tarjoamaan säännöllisiä päivityksiä ja palveluja, kuten maailmankarttoja.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Kirjastoasi analysoidaan jatkuvasti ja luodaan automaattisesti albumeita erityisistä hetkistä, matkoista ja paikoista.","Zoom in/out":"Lähennä/loitonna"}} \ No newline at end of file diff --git a/frontend/src/locales/json/fr.json b/frontend/src/locales/json/fr.json index 0d30880e1..c379b10e3 100644 --- a/frontend/src/locales/json/fr.json +++ b/frontend/src/locales/json/fr.json @@ -1 +1 @@ -{"fr":{"{0} appended action":"{0} action(s) attachées(s)","{0} files":"{0} fichier(s)","{0} files ({1} in total)":"{0} fichiers(s) ({1} au total)","{0} more":"{0} de plus","{0} prepended action":"{0} action(s) préliminaire(s)","{0} selected":"{0} sélectionnée(s)","{0}-{1} of {2}":"{0}-{1} de {2}","%{n} albums found":"%{n} album(s) trouvé(s)","%{n} files uploaded":"%{n} fichier(s) chargé(s)","%{n} folders found":"%{n} dossier(s) trouvé(s)","%{n} GB of %{q} GB used":"%{n} Go de %{q} Go utilisés","%{n} labels found":"%{n} étiquette(s) trouvée(s)","%{n} people found":"%{n} personne(s) trouvée(s)","%{n} pictures found":"%{n} image(s) trouvée(s)","%{s} is too long":"%{s} est trop long","%{s} is too short":"%{s} est trop court","1 hour":"1 heure","12 hours":"12 heures","2-Factor Authentication":"Authentification à 2 facteurs","2FA":"2FA","4 hours":"4 heures","A click will copy it to your clipboard.":"Cliquez pour copier vers votre presse-papier.","A new version of %{s} is available:":"Une nouvelle version de %{s} est disponible :","About":"À propos","Access Token":"Jeton d'accès","Account":"Compte","Account created":"Compte créé","Account deleted":"Compte supprimé","Account restored":"Compte restauré","Accounts":"Comptes","Accuracy":"Précision","Action":"Action","Actions":"Actions","Activate":"Activer","Activate to remove sorting.":"Activer pour supprimer le tri.","Activate to sort ascending.":"Activer pour trier par ordre croissant.","Activate to sort descending.":"Activer pour trier par ordre décroissant.","Activation Code":"Code d'activation","Add":"Ajouter","Add %{s}?":"Ajouter %{s} ?","Add Account":"Ajouter un compte","Add Album":"Ajouter un album","Add files to your library via Web Upload.":"Ajouter des fichiers à votre bibliothèque par Web Upload.","Add Link":"Ajouter un lien","Add person?":"Ajouter une personne ?","Add pictures from search results by selecting them.":"Ajouter des images à partir des résultats de recherche en les sélectionnant.","Add to album":"Ajouter à l'album","Added":"Ajouté","Admin":"Administrateur","Advanced":"Avancé","After 1 day":"Après 1 jour","After 3 days":"Après 3 jours","After 7 days":"Après 7 jours","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Après avoir saisi votre mot de passe pour confirmation, vous pourrez configurer l'authentification à deux facteurs à l'aide d'une application ou d'un dispositif d'authentification compatible :","After one month":"Après un mois","After one year":"Après un an","After selecting pictures from search results, you can add them to an album using the context menu.":"Après avoir sélectionné des images dans les résultats de recherche, vous pouvez les ajouter à un album à l'aide du menu contextuel.","After two months":"Après 2 mois","After two weeks":"Après 2 semaines","Album":"Album","Album Backups":"Sauvegardes d'albums","Album created":"Album créé","Albums":"Albums","Albums deleted":"Albums supprimés","All":"Tous","All %{n} albums loaded":"Les %{n} album(s) ont été chargé(s)","All %{n} labels loaded":"Les %{n} étiquettes ont été chargées","All %{n} people loaded":"Les %{n} personnes ont été chargées","All Cameras":"Tous les appareils photo","All Categories":"Toutes les catégories","All Colors":"Toutes les couleurs","All Countries":"Tous les pays","All fields are required":"Tous les champs sont obligatoires","All files from import folder":"Tous les fichiers du dossier d'importation","All Lenses":"Tous les objectifs","All Months":"Tous les mois","All originals":"Tous les fichiers originaux","All Years":"Toutes les années","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Vous pouvez également envoyer les fichiers directement vers un serveur WebDAV comme Nextcloud.","Altitude":"Altitude","Altitude (m)":"Altitude (m)","AM":"AM","Animated":"Animé","Animation":"Animation","Any private photos and videos remain private and won't be shared.":"Une photo ou vidéo privée restera privée et ne sera pas partagée.","API Key":"Clé d'API","Application":"Application","Apply":"Appliquer","Approve":"Approuver","Apps and Devices":"Applications et appareils","Archive":"Archives","Archived":"Archivé","Are you sure you want to archive the selection?":"Êtes-vous sûr de vouloir archiver la sélection ?","Are you sure you want to delete these albums?":"Êtes-vous sûr de vouloir supprimer ces albums ?","Are you sure you want to delete these labels?":"Êtes-vous sûr de vouloir supprimer ces étiquettes ?","Are you sure you want to delete this account?":"Êtes-vous sûr de vouloir supprimer ce compte ?","Are you sure you want to permanently delete these pictures?":"Êtes-vous sûr de vouloir supprimer définitivement ces photos ?","Are you sure you want to permanently delete this file?":"Êtes-vous sûr de vouloir supprimer définitivement ce fichier ?","Are you sure?":"Êtes-vous sûr ?","Artist":"Auteur","Aspect Ratio":"Format d'image","Audio":"Audio","Authentication":"Authentification","Auto":"Auto","Back":"Retour","Back to top":"Retour en haut de la page","Backup":"Sauvegarde","Badge":"Badge","Base Path":"Chemin de base","Become a member today, support our mission and enjoy our member benefits!":"Devenez membre aujourd'hui, soutenez notre mission et profitez de nos avantages !","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Étant 100% autofinancés et indépendants, nous pouvons vous promettre que nous ne vendrons jamais vos données et que nous serons toujours transparents sur nos logiciels et services.","Bio":"Biographie","Birth Date":"Date de naissance","Black":"Noir","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman : modification de Lanczos, moins d'artefacts de sonnerie","Blue":"Bleu","Brown":"Marron","Browse":"Parcourir","Browse and edit image classification labels.":"Parcourir et modifier les étiquettes de classification d'images.","Browse and share your pictures organized into monthly albums.":"Parcourez et partagez vos photos organisées en albums mensuels.","Browse Files":"Parcourir les fichiers","Browse indexed files and folders in Library.":"Parcourir les dossiers et fichiers indexés dans la bibliothèque.","Bug Report":"Signaler une erreur","Busy, please wait…":"Veuillez patienter…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"En utilisant le logiciel et les services que nous fournissons, vous acceptez nos conditions d'utilisation, notre politique de confidentialité et notre code de conduite.","Calendar":"Calendrier","Camera":"Appareil photo","Camera Serial":"N° de série de l'appareil photo","Can't access your authenticator app or device?":"Vous n'avez pas accès à votre application ou votre appareil d'authentification ?","Can't load more, limit reached":"Impossible de charger plus, limite atteinte","Can't select more items":"Impossible de sélectionner plus d’éléments","Cancel":"Annuler","Caption":"Légende","Cards":"Cartes","Carousel slide {0} of {1}":"Page {0} sur {1} du carrousel","Category":"Catégorie","Change Avatar":"Changer d'avatar","Change Password":"Changer le mot de passe","Change personal profile and security settings.":"Modifier le profil personnel et les paramètres de sécurité.","Change photo titles, locations, and other metadata.":"Modifier les titres, les lieux et d'autres métadonnées.","Change private flag":"Modifier le statut privé","Changes could not be saved":"Les modifications n'ont pu être sauvegardées","Changes successfully saved":"Les modifications ont bien été enregistrées","Changes to the advanced settings require a restart to take effect.":"Un redémarrage est nécessaire pour que les modifications apportées aux paramètres avancés soient prises en compte.","Checked":"Vérifié","Chroma":"Saturation","Cleaning index and cache":"Nettoyage de l'index et du cache","Cleanup":"Nettoyage","Clear {0}":"Effacer {0}","Client":"Client","Client Credentials":"Identifiants du client","Close":"Fermer","Codec":"Codec","Color":"Couleur","Color Profile":"Profil de couleur","Colors":"Couleurs","Compare Editions":"Comparer les éditions","Complete Rescan":"Réanalyse complète","Confidence":"Confiance","Confirm":"Confirmer","Connect":"Connecter","Connect via WebDAV":"Se connecter via le protocole WebDAV","Connected":"Connecté","Contact Details":"Coordonnées","Contact Us":"Nous contacter","Contains %{n} pictures.":"Contient %{n} images.","Contains one picture.":"Contient une image.","Content":"Contenu","Continue":"Poursuivre","Continue with %{provider}":"Continuer avec %{fournisseur}","Contributor":"Contributeur","Converting":"Conversion en cours","Copied to clipboard":"Copié vers le presse-papier","Copy":"Copier","Copyright":"Copyright","Couldn't find anything.":"Aucun élément trouvé.","Country":"Pays","Create Account":"Créer un compte","Create album":"Créer un album","Create regular backups based on the configured schedule.":"Réaliser des sauvegardes de l'index en suivant la planification programmée.","Create YAML files to back up album metadata.":"Utiliser des fichiers YAML pour sauvegarder les métadonnées des albums.","Create YAML sidecar files to back up picture metadata.":"Utiliser des fichiers side-car YAML pour sauvegarder les métadonnées des images.","Created":"Créé","Creating thumbnails for":"Création des miniatures pour","Cubic: Moderate Quality, Good Performance":"Cubique : Qualité modérée, bonne performance","Current Password":"Mot de passe actuel","Custom":"Sur mesure","Cyan":"Cyan","Daily":"Quotidien","Database Backups":"Sauvegarde de la base de données","Day":"Jour","Deactivate":"Désactiver","Debug Logs":"Journaux de débogage","Default":"Valeur par défaut","Default Folder":"Dossier par défaut","Delete":"Supprimer","Delete All":"Tout supprimer","Delete all?":"Tout supprimer ?","Delete orphaned index entries, sidecar files and thumbnails.":"Supprimer les entrées d'index, les vignettes, et les fichiers side-car orphelins.","Description":"Description","Detailed instructions can be found in our User Guide.":"Vous trouverez des instructions détaillées dans notre guide de l’utilisateur.","Details":"Détails","Dimensions":"Dimensions","Disable Backups":"Désactiver les sauvegardes","Disable Darktable":"Désactiver Darktable","Disable ExifTool":"Désactiver l'outil ExifTool","Disable features that require write permission for the originals folder.":"Désactiver les fonctions pour lesquelles l'autorisation d'écrire dans le dossier des originaux est nécessaire.","Disable FFmpeg":"Désactiver FFmpeg","Disable ImageMagick":"Désactiver ImageMagick","Disable interactive world maps and reverse geocoding.":"Désactiver les cartes du monde interactives et le géocodage inversé.","Disable Places":"Désactiver les Lieux","Disable RawTherapee":"Désactiver RawTherapee","Disable TensorFlow":"Désactiver TensorFlow","Disable Vectors":"Désactiver les vecteurs","Disable WebDAV":"Désactiver WebDAV","Disables vector graphics support.":"Désactive la prise en charge des images vectorielles.","Disables video transcoding and thumbnail extraction.":"Désactive le transcodage vidéo et l'extraction des vignettes.","Discover":"Découvrir","Dismiss":"Rejeter","Display Name":"Nom affiché","Display picture captions in search results.":"Afficher les légendes des images dans les résultats de recherche.","Display picture titles in search results.":"Afficher les titres des images dans les résultats de recherche.","Document":"Document","Documents":"Documents","Don't use Darktable to convert RAW images.":"Ne pas utiliser Darktable pour convertir les fichers RAW.","Don't use ImageMagick to convert images.":"Ne pas utiliser ImageMagick pour convertir les images.","Don't use RawTherapee to convert RAW images.":"Ne pas utiliser RawTherapee pour convertir les fichiers RAW.","Done":"Terminé","Done.":"Terminé.","Download":"Télécharger","Download only original media files, without any automatically generated files.":"Télécharger uniquement les fichiers multimédias originaux, sans fichiers générés automatiquement.","Download remote files":"Télécharger les fichiers distants","Download single files and zip archives.":"Téléchargement de fichiers et d'archives zip.","Downloading…":"Téléchargement en cours…","Downscaling Filter":"Filtre de qualité","Drag and drop files here":"Glisser et déposer les fichiers ici","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"En raison du volume élevé d'e-mails que nous recevons, notre équipe peut être dans l'incapacité de vous répondre immédiatement.","Duplicates will be skipped and only appear once.":"Les doublons seront ignorés et n'apparaîtront qu'une seule fois.","Duration":"Durée","Dynamic Previews":"Avant-premières non cachées","Dynamic Size Limit: %{n}px":"Limite de taille non cachée : %{n}px","E-Mail":"Courriel","Edit":"Modifier","Edit %{s}":"Modifier %{s}","Edit Account":"Modifier le compte","Edit Photo":"Modifier la photo","Edited":"Modifié","Email":"Email","Enable debug mode to display additional logs and help with troubleshooting.":"Activer le mode débogage pour afficher des journaux supplémentaires et aider au dépannage.","Enable new features that may be incomplete or unstable.":"Activer les nouvelles fonctionnalités, potentiellement incomplètes ou instables.","Enables RAW converter presets. May reduce performance.":"Active les préréglages du convertisseur RAW. Cela peut réduire les performances.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Avec l'authentification à deux facteurs, il faut un code de vérification généré de manière aléatoire pour se connecter, si bien que personne, même connaissant votre mot de passe, ne pourra se connecter à votre compte.","Enter date":"Saisir la date","Enter dates":"Saisir les dates","Enter the code generated by your authenticator app:":"Entrez le code généré par votre application d'authentification :","Enter verification code":"Entrer le code de vérification","Enter your password to confirm the action and continue:":"Saisissez votre mot de passe pour confirmer l'action et continuer :","Error":"Erreur","Errors":"Erreurs","Estimate":"Estimation","Estimate Locations":"Reconnaissance de lieux","Estimate the approximate location of pictures without GPS coordinates.":"Tente de reconnaître le lieu où une photo dépourvue de géolocalisation a été prise.","Every two days":"Tous les deux jours","Exclude content marked as private from search results, shared albums, labels, and places.":"Exclure le contenu marqué comme privé des résultats de recherche, des albums partagés, des étiquettes et des lieux.","Exclude hidden":"Exclure les éléments cachés","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"ExifTool est requis pour la prise en charge complète des métadonnées XMP, des vidéos et des Live Photos.","Experimental Features":"Fonctions Expérimentales","Expires":"Expire","Exposure":"Exposition","Extract still images and generate thumbnails while indexing.":"Extrait les images fixes et génère des vignettes lors de l'indexation.","F Number":"Ouverture","Face":"Visage","Faces":"Visages","Failed removing link":"Échec de la suppression du lien","Failed to connect account.":"Échec de la connexion au compte.","Failed updating link":"Échec de la mise à jour du lien","Family Name":"Nom de famille","Fast":"Rapide","Favorite":"Favori","Favorites":"Favoris","Feature Request":"Demander une fonctionnalité","Feedback":"Retour d'information","Female":"Femme","File":"Fichier","File Browser":"Explorateur de fichiers","File Conversion":"Conversion de fichiers","File Name":"Nom du fichier","File Size":"Taille du fichier","Filename":"Nom du fichier","Files":"Fichiers","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Des fichiers ayant des noms séquentiels tels que 'IMG_1234 (2)' et 'IMG_1234 (3)' appartiennent à la même image.","First page":"Première page","Focal Length":"Longueur focale","Folder":"Dossier","Folder contains %{n} files":"Dossier contenant %{n} fichiers","Folder is empty":"Le dossier est vide","Folders":"Dossiers","Forgot password?":"Mot de passe oublié ?","FPS":"FPS","Frames":"Cadres","Full Access":"Accès intégral","Fullscreen":"Plein écran","General":"Général","Generate":"Générer","Generate albums of special moments, journeys, and places.":"Création automatique d'albums regroupant des moments, des voyages et des lieux particuliers.","Generate Previews":"Générer des aperçus","Generated":"Généré","Get Started":"Commencer","Given Name":"Prénom","Global Options":"Options globales","Go to page {0}":"Aller à la page {0}","Gold":"Or","Green":"Vert","Grey":"Gris","Guest":"Invité","Hash":"Somme de contrôle","Help":"Aide","Help & Support":"Aide & Support","Hidden":"Caché","Hidden Files":"Fichiers cachés","Hide":"Cacher","Hide photos that have been moved to archive.":"Masquer les photos archivées.","High":"Élevé","High Dynamic Range (HDR)":"Gamme dynamique élevée (HDR)","How can we help?":"Comment pouvons nous vous aider ?","Hybrid":"Hybride","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"En cas de perte d'accès à votre application ou votre appareil d'authentification, vous pourrez utiliser votre code de récupération pour accéder à nouveau à votre compte.","Image":"Image","Image Quality":"Qualité de l'image","Import":"Importer","Import failed":"Échec de l'importation","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Les fichiers importés seront classés par date et recevront un nom unique pour éviter les doublons.","Imported files will be sorted by date and given a unique name.":"Les fichiers importés seront classés par date et recevront un nom unique.","Importing %{s}…":"Importation de %{s} en cours…","Importing files to originals…":"Importation des fichiers vers le dossier des originaux…","in":"en","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"Si des images sont manquantes, veuillez réanalyser votre bibliothèque et attendre que l'indexation soit terminée.","Include RAW image files when downloading stacks and archives.":"Inclure les fichiers d'images RAW lors du téléchargement de piles et d'archives.","Include sidecar files when downloading stacks and archives.":"Inclure les fichiers side-car lors du téléchargement de piles et d'archives.","Increase storage size or delete files to continue.":"Augmentez l'espace de stockage ou supprimez des fichiers pour continuer.","Index":"Index","Index and import files through the user interface.":"Indexer et importer des fichiers via l'interface utilisateur.","Indexing":"Indexation","Indexing failed":"Échec de l'indexation","Indexing media and sidecar files…":"Indexation des fichiers médias et side-car…","Information":"Informations","Instance ID":"ID de l'instance","Insufficient storage.":"Espace de stockage insuffisant.","Interval":"Intervalle","Invalid":"Invalide","Invalid address":"Adresse incorrecte","Invalid country":"Pays non valide","Invalid date":"Date incorrecte","Invalid parameters":"Paramètres invalides","Invalid photo selected":"Photo non valide sélectionnée","Invalid time":"Heure incorrecte","Invalid URL":"URL incorrecte","It is a one-time use code that will disable 2FA for your account when you use it.":"Il s'agit d'un code à usage unique qui désactivera l'authentification à deux facteurs (2FA) lors de l'usage de votre compte.","Item":"Item","Items per page:":"Article(s) par page :","JPEG Quality: %{n}":"Qualité des JPEG : %{n}","JPEG Size Limit: %{n}px":"Limite de taille des JPEGs : %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"Les JPEGs et miniatures sont automatiquement affichés selon les besoins.","Keywords":"Mots-clés","Label":"Etiquette","Labels":"Étiquettes","Labels deleted":"Étiquettes supprimées","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos : Préservation des détails, artefacts minimaux","Language":"Langue","Last Active":"Dernière activité","Last Login":"Dernière connexion","Last page":"Dernière page","Last Sync":"Dernière synchro","Last Used":"Dernière utilisation","Latitude":"Latitude","LDAP/AD":"LDAP/AD","Learn more":"En savoir plus","Learn More":"En savoir plus","Legal Information":"Informations légales","Lens":"Objectif","Library":"Bibliothèque","License":"Licence","Like":"Préféré","Lime":"Citron","Limit reached, showing first %{n} files":"Limite atteinte, affichage des %{n} premiers fichiers","Linear: Very Smooth, Best Performance":"Linéaire : Très lisse, meilleure performance","Link":"Lien","List":"Liste","List View":"Vue en liste","Live":"Live","Live Photos":"Photos en direct","Load more":"En charger plus","Loading items...":"Chargement des articles…","Loading...":"Chargement…","Local":"Locale","Local Time":"Heure locale","Location":"Emplacement","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Les messages des journaux s'affichent ici si PhotoPrism rencontre un fichier corrompu ou s'il y a un autre problème potentiel.","Login":"Connexion","Logout":"Déconnexion","Logs":"Journaux","Longitude":"Longitude","Low":"Basse","Magenta":"Magenta","Main Color":"Couleur principale","Male":"Homme","Manage Account":"Gérer le compte","Manual":"Manuel","Manual Upload":"Chargement manuel","Maps":"Cartes","Marker":"Marqueur","Maximum number of accounts has been reached.":"Le nombre maximum de comptes a été atteint.","Media":"Les médias","Medium":"Moyen","Membership":"Adhésion","Merge %{a} with %{b}?":"Fusionner %{a} avec %{b} ?","Message":"Message","Message sent":"Message envoyé","Metadata":"Métadonnées","Metrics":"Métriques","Minimize":"Minimiser","Missing":"Manquant","Missing or invalid configuration":"Configuration manquante ou incorrecte","Moments":"Moments","Monochrome":"Monochrome","Month":"Mois","More options":"Plus d'options","Mosaic":"Mosaïque","Most Relevant":"Le plus pertinent","Move Files":"Déplacer les fichiers","Must have at least %{n} characters.":"Doit comporter au moins %{n} caractères.","Mute":"Muet","Name":"Nom","Name too long":"Nom trop long","Never":"Jamais","New":"Nouvelles","New Password":"Nouveau mot de passe","Newest First":"La plus récente d'abord","Next":"Suivant","Next page":"Page suivante","Next visual":"Visuel suivant","No":"Non","No albums found":"Aucun album trouvé","No data available":"Pas de données disponibles","No labels found":"Aucune étiquette trouvée","No matching records found":"Aucun enregistrement correspondant n'a été trouvé","No more":"Pas plus","No people found":"Aucune personne trouvée","No pictures found":"Aucune image trouvée","No recently edited pictures":"Aucune image modifiée récemment","No server connection":"Pas de connexion au serveur","No servers configured.":"Aucun serveur configuré.","No services configured.":"Aucun service n'est configuré.","No thanks":"Non merci","No warnings or error containing this keyword. Note that search is case-sensitive.":"Aucun avertissement ou erreur contenant ce mot-clé. Notez que la recherche est sensible à la casse.","Non-photographic and low-quality images require a review before they appear in search results.":"Les images non photographiques ou de mauvaise qualité doivent faire l'objet d'un examen avant d'apparaître dans les résultats de recherche.","None":"Aucun","Not allowed":"Non autorisé","Not found":"Non trouvé","Not sorted.":"Non trié.","Not supported":"Non pris en charge","Note you may manually manage your originals folder and importing is optional.":"Notez que vous pouvez gérer manuellement votre dossier d'originaux et que l'importation est facultative.","Note:":"Remarque :","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Note : Seuls les serveurs WebDAV, comme Nextcloud ou PhotoPrism, peuvent être configurés comme service à distance pour la sauvegarde et le chargement de fichiers.","Notes":"Remarques","Nothing to see here yet.":"Rien à voir ici pour le moment.","Nothing was found.":"Rien n'a été trouvé.","Offline":"Hors-ligne","OIDC":"OIDC","OK":"OK","Oldest First":"La plus ancienne d'abord","On Windows, enter the following resource in the connection dialog:":"Sous Windows, saisissez la ressource suivante dans la boîte de dialogue de connexion :","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"La génération de vignettes à la demande peut entraîner une charge élevée du processeur et de la mémoire. Elle est déconseillée en cas de serveurs ou d'appareils NAS aux ressources limitées.","Once a week":"Une fois par semaine","One album found":"Un album trouvé","One file found":"Un fichier trouvé","One file uploaded":"Un fichier téléchargé","One folder found":"Un dossier trouvé","One label found":"Une étiquette trouvée","One person found":"Une personne trouvée","One picture found":"Une image trouvée","Only locally managed accounts can be set up for authentication with 2FA.":"L'authentification à deux facteurs (2FA) ne peut être activée que pour les comptes gérés localement.","Open":"Ouvrir","optional":"optionnel","or":"ou","Orange":"Orange","Organization":"Organisation","Orientation":"Orientation","Original file names will be stored and indexed.":"Les noms des fichier originaux seront sauvegardés et indexés.","Original Name":"Nom original","Originals":"Originaux","Other":"Autre","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Notre mission est de fournir la solution la plus conviviale et la plus respectueuse de la vie privée pour que vos photos soient organisées et accessibles.","Outdoor":"Extérieur","Page {0}, Current page":"Page {0}, page en cours","Pages":"Pages","Pagination Navigation":"Navigation par pagination","Panorama":"Panorama","Panoramas":"Panoramas","Password":"Mot de passe","Password changed":"Mot de passe modifié","People":"Personnes","People you share a link with will be able to view public contents.":"Les personnes avec qui vous partagez un lien pourront voir le contenu public de votre bibliothèque.","Permanently deleted":"Supprimé définitivement","Permanently remove files to free up storage.":"Supprimer définitivement les fichiers pour récupérer de la place de stockage.","Person":"Personne","Personal":"Personnel","Photo":"Photo","PhotoPrism is 100% self-funded and independent.":"PhotoPrism est autofinancé à 100% et indépendant.","PhotoPrism+ Membership":"Adhésion à PhotoPrism","Photos":"Photos","Picture Title":"Titre de l'image","Pink":"Rose","Place":"Lieu","Place & Time":"Unité de lieu et de temps","Places":"Lieux","Please confirm your new password.":"Veuillez confirmer votre nouveau mot de passe.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Veuillez copier le mot de passe suivant, généré de manière aléatoire, et le conserver dans un endroit sûr, car vous ne pourrez plus le voir :","Please do not upload any private, unlawful or offensive pictures.":"Attention à ne pas envoyer de photos privées, illégales ou offensantes.","Please don't upload photos containing offensive content.":"Veuillez ne pas envoyer de photos choquantes.","Please enter OTP character {0}":"Saisir le caractère OTP {0}","Please note that changing your password will log you out on other devices and browsers.":"Veuillez noter que la modification de votre mot de passe vous déconnectera sur d'autres appareils et navigateurs.","Please restart your instance for the changes to take effect.":"Veuillez redémarrer votre instance pour que les changements prennent effet.","Please wait…":"Veuillez patienter…","PM":"PM","PNG Size Limit: %{n}px":"Limite de taille PNG : %{n}px","Portrait":"Portrait","Preserve filenames":"Conserver les noms de fichiers","Press enter to create a new album.":"Appuyer sur la touche entrée pour créer un nouvel album.","Prevent database and album backups as well as YAML sidecar files from being created.":"Désactiver les sauvegardes de bases de données et d’albums ainsi que la création de fichiers side-car YAML.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Interdire à une autre application l'accès à PhotoPrism en tant que lecteur réseau partagé.","Preview":"Prévisualisation","Preview Images":"Images de prévisualisation","Previous":"Précédent","Previous page":"Page précédente","Previous visual":"Visuel précédent","Primary":"Primaire","Private":"Privée","Product Feedback":"Commentaires sur le produit","Projection":"Projection","Purple":"Violet","Quality Filter":"Filtre de qualité","Quality Score":"Score de qualité","r":"r","Random":"Aléatoire","Rating {0} of {1}":"Évaluation {0} sur {1}","Raw":"Brut","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Réindexer tous les originaux, en incluant ceux déjà indexés et les fichiers inchangés.","Read-Only Mode":"Accès en lecture seule","Recently Added":"Ajoutées récemment","Recently Archived":"Archivées récemment","Recently Edited":"Modifiées récemment","Recognition starts after indexing has been completed.":"La reconnaissance démarrera après la fin de l'indexation.","Recognize faces so people can be assigned and found.":"Rechercher les visages pour qu'on puisse les attribuer à des personnes et ainsi permettre de trouver ces personnes.","Recognized":"Reconnues","Recovery Code":"Code de récupération","Red":"Rouge","Refresh":"Rafraîchir","Regions":"Les régions","Register":"S'inscrire","Reload":"Recharger","Reloading…":"Rechargement…","Remote Sync":"Synchronisation à distance","Remove":"Supprimer","remove failed: unknown album":"échec de la suppression : album inconnu","Remove from Album":"Retirer de l'album","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Supprimez les fichiers importés pour économiser l'espace de stockage. Les fichiers non pris en charge ne sont jamais supprimés et demeurent à leur emplacement actuel.","Request failed - are you offline?":"La requête a échoué - êtes-vous hors ligne ?","Request failed - invalid response":"Échec de la requête - réponse incorrecte","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Impose un examen préalable des images non photographiques ou de faible qualité avant de les faire apparaître dans les résultats de recherche.","Resolution":"Résolution","Restart":"Redémarrer","Restore":"Restaurer","Restored":"Restauré","Retry Limit":"Limite de réessai","Retype Password":"Ressaisir le mot de passe","Review":"Examen","Role":"Rôle","Rows per page:":"Lignes par page :","Satellite":"Satellite","Save":"Sauvegarder","Scan":"Numérisée","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Scannez le code QR avec votre application d'authentification ou utilisez la clé d'installation indiquée ci-dessous, puis saisissez le code de vérification généré :","Scans":"Numérisées","Scope":"Portée","Search":"Rechercher","Search and display photos on a map.":"Rechercher et afficher des images sur une carte.","Season":"Saison","Secret":"Secret","Security and Access":"Sécurité et accès","Select":"Sélectionner","Select a source folder to import files…":"Sélectionner le dossier source d'où importer des fichiers…","Select date":"Sélectionner la date","Select dates":"Sélectionner les dates","Select or create an album":"Sélectionner ou créer un album","Select the files to upload…":"Sélectionner les fichiers à charger…","Select the folder to be indexed…":"Sélectionner le dossier à indexer…","Select Time":"Sélectionner l'heure","Selection approved":"Sélection approuvée","Selection archived":"Sélection archivée","Selection restored":"Sélection restaurée","Sequential Name":"Suite logique de noms","Service URL":"URL du service","Services":"Services","Session":"Session","Session ID":"Identifiant de session","Sessions":"Sessions","Set as Album Cover":"Utiliser comme couverture de l'album","Settings":"Paramètres","Settings saved":"Paramètres sauvegardés","Setup":"Configurer","Share":"Partager","Share %{s}":"Partager %{s}","Share your pictures with other apps and services.":"Partagez vos photos avec d'autres applications et services.","Show":"Afficher","Show all new faces":"Montrer tous les nouveaux visages","Show Captions":"Afficher les légendes","Show hidden":"Afficher les éléments masqués","Show less":"Montrer moins","Show more":"Montre plus","Show server logs in Library.":"Afficher les journaux serveurs dans Bibliothèque.","Show Titles":"Afficher les titres","Sidecar":"Fichier side-car","Sidecar Files":"Fichiers side-car","Sign in":"S'identifier","Similar":"Similaire","Size":"Taille","Slideshow":"Diaporama","Slow":"Lent","Software":"Logiciel","Software Update":"Mise à jour du logiciel","Something went wrong, try again":"Quelque chose s'est mal passé, réessayez","Sort by":"Trier par","Sort Order":"Ordre de tri","Sorted ascending.":"Triés par ordre croissant.","Sorted descending.":"Trié par ordre décroissant.","Source":"Source","Stack":"Groupe","Stack files sharing the same unique image or instance identifier.":"Images partageant le même identifiant unique d'image.","Stack pictures taken at the exact same time and location based on their metadata.":"Images prises exactement au même moment et au même endroit, en se fondant sur les métadonnées.","Stackable":"Groupable","Stacks":"Groupes","Start":"Démarrer","Start Page":"Page d'accueil","Static Size Limit: %{n}px":"Limite de taille avant rendu : %{n}px","Status":"Statut","Storage":"Stockage","Streets":"Rues","Subject":"Sujet","Submit":"Soumettre","Successfully activated":"Activation réussie","Successfully Connected":"Bien connecté","Successfully deleted":"Suppression réussie","Successfully verified":"Vérifié avec succès","Super Admin":"Super Admin","Support for additional services, like Google Drive, will be added over time.":"La prise en charge de services supplémentaires tels que Google Drive sera ajoutée ultérieurement.","Support Our Mission":"Soutenez notre mission","Sync":"Synchronisation","Sync raw and video files":"Synchroniser les fichiers raw et les vidéos","Taken":"Prise","Teal":"Sarcelle","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow est requis pour la classification des images, la reconnaissance faciale et la détection des contenus choquants.","Terrain":"Terrain","Text":"Texte","Text too long":"Texte trop long","Thank You for Your Support!":"Merci pour votre soutien !","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"C'est pourquoi PhotoPrism a été conçu dès le départ pour fonctionner partout où vous en avez besoin, sans compromettre la liberté, la confidentialité ou la fonctionnalité.","The index currently contains %{n} hidden files.":"L'index contient actuellement %{n} fichiers cachés.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Leur format n'est peut-être pas pris en charge, ils n'ont pas encore été convertis en JPEG ou ce sont des doublons.","Theme":"Thème","This field is required":"Ce champ est obligatoire","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Cela monte le dossier des originaux en tant que lecteur réseau et vous permet d'ouvrir, modifier et supprimer des fichiers de votre ordinateur ou smartphone comme s'ils étaient locaux.","Time UTC":"Heure UTC","Time Zone":"Fuseau horaire","Timeout":"Délai","Title":{"Account":"Titre","Photo":"Titre","":"Titre"},"Title / Position":"Titre / Poste","Title too long":"Titre trop long","to":"à","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Pour éviter le blocage de votre compte, téléchargez, imprimez ou copiez maintenant ce code de récupération, et conservez-le dans un endroit sûr.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Pour générer un nouveau mot de passe spécifique à l'application, veuillez saisir le nom et la portée de l'autorisation de l'application ainsi que sélectionner une date d'expiration :","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Pour changer d'application ou de dispositif d'authentification, commencez par désactiver l'authentification à deux facteurs, puis réactivez-la :","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Pour effectuer une mise à niveau, vous pouvez soit saisir un code d'activation, soit cliquer sur «S'inscrire» pour vous inscrire sur notre site web :","Today":"Aujourd'hui","Toggle View":"Basculer la vue","Token":"Jeton","Too many files selected":"Trop de fichiers sélectionnés","Too many requests":"Trop de demandes","Troubleshooting":"Résolution des problèmes","Try again using other filters or keywords.":"Réessayez en utilisant d'autres filtres ou mots-clés.","Two-factor authentication has been enabled for your account.":"L'authentification à deux facteurs de votre compte est désormais activée.","Type":"Type","Unauthorized":"Non autorisé","Undo":"Annuler","Unique ID":"Identifiant unique","Unknown":"Inconnu","Unregistered":"Non enregistré","Unsorted":"Non trié","Unstack":"Dégrouper","Updated":"Mis à jour","Updating faces":"Mise à jour des visages","Updating index":"Mise à jour de l'index","Updating moments":"Mise à jour des moments","Updating picture…":"Mise à jour de l'image…","Updating previews":"Mise à jour des aperçus","Updating stacks":"Mise à jour des groupes","Upgrade":"Mise à niveau","Upgrade Now":"Mettre à niveau maintenant","Upload":"Chargement","Upload complete":"Chargement terminé","Upload complete. Indexing…":"Chargement terminé. Indexation en cours…","Upload failed":"Échec du chargement","Upload local files":"Envoyer des fichiers locaux","Upload Path":"Chemin d'accès","Upload to WebDAV and share links with friends.":"Envoyer via le protocole WebDAV et partager des liens avec des amis.","Uploading %{n} of %{t}…":"Chargement de %{n} sur %{t}…","Uploading photos…":"Chargement des photos en cours…","Uploading…":"Téléchargement…","Uploads that may contain such images will be rejected automatically.":"Les fichiers chargés qui contiendraient de telles images seront automatiquement rejetés.","Use Presets":"Utiliser les préréglages","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Utilisez le code de récupération suivant pour accéder à votre compte lorsque vous ne pouvez pas générer un code de vérification valide avec l'application d'identification :","Use your recovery code or contact an administrator for help.":"Utilisez votre code de récupération ou contactez un administrateur pour obtenir de l'aide.","User":"Utilisateur","User Guide":"Guide de l'utilisateur","User Interface":"Interface utilisateur","Username":"Identifiant","Users":"Utilisateurs","Vector":"Vectoriel","Vectors":"Vectoriels","Verification Code":"Code de vérification","Video":"Vidéo","Video Duration":"Durée de la vidéo","Videos":"Vidéos","View":"Voir","View search results as a list.":"Afficher les résultats de la recherche sous forme de liste.","Viewer":"Visionneuse","Visitor":"Visiteur","Visual Similarity":"Similitude visuelle","Warning":"Avertissement","We appreciate your feedback!":"Nous apprécions vos commentaires !","We do our best to respond within five business days or less.":"Nous faisons de notre mieux pour répondre dans un délai de cinq jours ouvrables ou moins.","Web Login":"Connexion Web","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"Les clients WebDAV peuvent se connecter à PhotoPrism en utilisant l'URL suivante :","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"Les clients WebDAV, comme par exemple l'explorateur Windows de Microsoft ou le Finder d'Apple, peuvent se connecter directement à PhotoPrism.","WebDAV Upload":"Chargement via le protocole WebDAV","WebGL support is disabled in your browser":"La prise en charge de WebGL est désactivée dans votre navigateur","Website":"Site web","White":"Blanc","Work Details":"Détails sur le poste","Year":"Année","Yellow":"Jaune","Yes":"Oui","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Vous pouvez nous contacter à l'adresse membership@photoprism.app pour toute question concernant votre adhésion.","You can only download one album":"Vous ne pouvez télécharger qu'un seul album","You can only download one label":"Vous ne pouvez télécharger qu'une seule étiquette","You can upload up to %{n} files for test purposes.":"Vous pouvez déposer jusqu'à %{n} fichiers à des fins de test.","You may only select one item":"Vous ne pouvez sélectionner qu'un seul élément","You may rescan your library to find additional faces.":"Vous pouvez réanalyser votre bibliothèque pour trouver plus de visages.","Your account has been successfully connected.":"Votre compte a été connecté avec succès.","Your browser does not support WebGL":"Votre navigateur ne prend pas en charge WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Votre soutien continu nous aide à fournir des mises à jour régulières et à rester indépendants, afin que nous puissions remplir notre mission et protéger votre vie privée.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Votre bibliothèque est analysée en permanence pour créer automatiquement des albums regroupant des moments, des voyages et des lieux spéciaux.","Zoom in/out":"Agrandir/Dézoomer"}} \ No newline at end of file +{"fr":{"{0} appended action":"{0} action(s) attachées(s)","{0} files":"{0} fichier(s)","{0} files ({1} in total)":"{0} fichiers(s) ({1} au total)","{0} more":"{0} de plus","{0} prepended action":"{0} action(s) préliminaire(s)","{0} selected":"{0} sélectionnée(s)","{0}-{1} of {2}":"{0}-{1} de {2}","%{n} albums found":"%{n} album(s) trouvé(s)","%{n} files uploaded":"%{n} fichier(s) chargé(s)","%{n} folders found":"%{n} dossier(s) trouvé(s)","%{n} GB of %{q} GB used":"%{n} Go de %{q} Go utilisés","%{n} labels found":"%{n} étiquette(s) trouvée(s)","%{n} people found":"%{n} personne(s) trouvée(s)","%{n} pictures found":"%{n} image(s) trouvée(s)","%{s} is too long":"%{s} est trop long","%{s} is too short":"%{s} est trop court","1 hour":"1 heure","12 hours":"12 heures","2-Factor Authentication":"Authentification à 2 facteurs","2FA":"2FA","4 hours":"4 heures","A click will copy it to your clipboard.":"Cliquez pour copier vers votre presse-papier.","A new version of %{s} is available:":"Une nouvelle version de %{s} est disponible :","About":"À propos","Access Token":"Jeton d'accès","Account":"Compte","Account created":"Compte créé","Account deleted":"Compte supprimé","Account restored":"Compte restauré","Accounts":"Comptes","Accuracy":"Précision","Action":"Action","Actions":"Actions","Activate":"Activer","Activate to remove sorting.":"Activer pour supprimer le tri.","Activate to sort ascending.":"Activer pour trier par ordre croissant.","Activate to sort descending.":"Activer pour trier par ordre décroissant.","Activation Code":"Code d'activation","Add":"Ajouter","Add %{s}?":"Ajouter %{s} ?","Add Account":"Ajouter un compte","Add Album":"Ajouter un album","Add files to your library via Web Upload.":"Ajouter des fichiers à votre bibliothèque par Web Upload.","Add Link":"Ajouter un lien","Add person?":"Ajouter une personne ?","Add pictures from search results by selecting them.":"Ajouter des images à partir des résultats de recherche en les sélectionnant.","Add to album":"Ajouter à l'album","Added":"Ajouté","Adjust Location":"Ajuster l'emplacement","Admin":"Administrateur","Advanced":"Avancé","After 1 day":"Après 1 jour","After 3 days":"Après 3 jours","After 7 days":"Après 7 jours","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Après avoir saisi votre mot de passe pour confirmation, vous pourrez configurer l'authentification à deux facteurs à l'aide d'une application ou d'un dispositif d'authentification compatible :","After one month":"Après un mois","After one year":"Après un an","After selecting pictures from search results, you can add them to an album using the context menu.":"Après avoir sélectionné des images dans les résultats de recherche, vous pouvez les ajouter à un album à l'aide du menu contextuel.","After two months":"Après 2 mois","After two weeks":"Après 2 semaines","Album":"Album","Album Backups":"Sauvegardes d'albums","Album created":"Album créé","Album deleted":"Album supprimé","Albums":"Albums","Albums deleted":"Albums supprimés","All":"Tous","All %{n} albums loaded":"Les %{n} album(s) ont été chargé(s)","All %{n} labels loaded":"Les %{n} étiquettes ont été chargées","All %{n} people loaded":"Les %{n} personnes ont été chargées","All Cameras":"Tous les appareils photo","All Categories":"Toutes les catégories","All Colors":"Toutes les couleurs","All Countries":"Tous les pays","All fields are required":"Tous les champs sont obligatoires","All files from import folder":"Tous les fichiers du dossier d'importation","All Lenses":"Tous les objectifs","All Months":"Tous les mois","All originals":"Tous les fichiers originaux","All Years":"Toutes les années","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Vous pouvez également envoyer les fichiers directement vers un serveur WebDAV comme Nextcloud.","Altitude":"Altitude","Altitude (m)":"Altitude (m)","AM":"AM","Animated":"Animé","Animation":"Animation","Animations":"Animations","Any private photos and videos remain private and won't be shared.":"Une photo ou vidéo privée restera privée et ne sera pas partagée.","API Key":"Clé d'API","Application":"Application","Apply":"Appliquer","Approve":"Approuver","Apps and Devices":"Applications et appareils","Archive":"Archives","Archived":"Archivé","Are you sure you want to archive the selection?":"Êtes-vous sûr de vouloir archiver la sélection ?","Are you sure you want to delete these albums?":"Êtes-vous sûr de vouloir supprimer ces albums ?","Are you sure you want to delete these labels?":"Êtes-vous sûr de vouloir supprimer ces étiquettes ?","Are you sure you want to delete this account?":"Êtes-vous sûr de vouloir supprimer ce compte ?","Are you sure you want to delete this album?":"Êtes-vous sûr de vouloir supprimer cet album ?","Are you sure you want to permanently delete these pictures?":"Êtes-vous sûr de vouloir supprimer définitivement ces photos ?","Are you sure you want to permanently delete this file?":"Êtes-vous sûr de vouloir supprimer définitivement ce fichier ?","Are you sure?":"Êtes-vous sûr ?","Artist":"Auteur","Aspect Ratio":"Format d'image","Audio":"Audio","Authentication":"Authentification","Auto":"Auto","Back":"Retour","Back to top":"Retour en haut de la page","Backup":"Sauvegarde","Badge":"Badge","Base Path":"Chemin de base","Become a member today, support our mission and enjoy our member benefits!":"Devenez membre aujourd'hui, soutenez notre mission et profitez de nos avantages !","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Étant 100% autofinancés et indépendants, nous pouvons vous promettre que nous ne vendrons jamais vos données et que nous serons toujours transparents sur nos logiciels et services.","Bio":"Biographie","Birth Date":"Date de naissance","Black":"Noir","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman : modification de Lanczos, moins d'artefacts de sonnerie","Blue":"Bleu","Brown":"Marron","Browse":"Parcourir","Browse and edit image classification labels.":"Parcourir et modifier les étiquettes de classification d'images.","Browse and share your pictures organized into monthly albums.":"Parcourez et partagez vos photos organisées en albums mensuels.","Browse Files":"Parcourir les fichiers","Browse indexed files and folders in Library.":"Parcourir les dossiers et fichiers indexés dans la bibliothèque.","Bug Report":"Signaler une erreur","Busy, please wait…":"Veuillez patienter…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"En utilisant le logiciel et les services que nous fournissons, vous acceptez nos conditions d'utilisation, notre politique de confidentialité et notre code de conduite.","Calendar":"Calendrier","Camera":"Appareil photo","Camera Serial":"N° de série de l'appareil photo","Can't access your authenticator app or device?":"Vous n'avez pas accès à votre application ou votre appareil d'authentification ?","Can't load more, limit reached":"Impossible de charger plus, limite atteinte","Can't select more items":"Impossible de sélectionner plus d’éléments","Cancel":"Annuler","Cannot copy to clipboard":"Impossible de copier dans le presse-papiers","Caption":"Légende","Cards":"Cartes","Carousel slide {0} of {1}":"Page {0} sur {1} du carrousel","Category":"Catégorie","Change Avatar":"Changer d'avatar","Change Password":"Changer le mot de passe","Change personal profile and security settings.":"Modifier le profil personnel et les paramètres de sécurité.","Change photo titles, locations, and other metadata.":"Modifier les titres, les lieux et d'autres métadonnées.","Change private flag":"Modifier le statut privé","Changes could not be saved":"Les modifications n'ont pu être sauvegardées","Changes successfully saved":"Les modifications ont bien été enregistrées","Changes to the advanced settings require a restart to take effect.":"Un redémarrage est nécessaire pour que les modifications apportées aux paramètres avancés soient prises en compte.","Checked":"Vérifié","Chroma":"Saturation","Cleaning index and cache":"Nettoyage de l'index et du cache","Cleanup":"Nettoyage","Clear {0}":"Effacer {0}","Client":"Client","Client Credentials":"Identifiants du client","Close":"Fermer","Codec":"Codec","Color":"Couleur","Color Profile":"Profil de couleur","Colors":"Couleurs","Compare Editions":"Comparer les éditions","Complete Rescan":"Réanalyse complète","Confidence":"Confiance","Confirm":"Confirmer","Connect":"Connecter","Connect via WebDAV":"Se connecter via le protocole WebDAV","Connected":"Connecté","Contact Details":"Coordonnées","Contact Us":"Nous contacter","Contains %{n} pictures.":"Contient %{n} images.","Contains one picture.":"Contient une image.","Content":"Contenu","Continue":"Poursuivre","Continue with %{provider}":"Continuer avec %{fournisseur}","Contributor":"Contributeur","Converting":"Conversion en cours","Copied to clipboard":"Copié vers le presse-papier","Copy":"Copier","Copyright":"Copyright","Couldn't find anything.":"Aucun élément trouvé.","Country":"Pays","Create Account":"Créer un compte","Create album":"Créer un album","Create regular backups based on the configured schedule.":"Réaliser des sauvegardes de l'index en suivant la planification programmée.","Create YAML files to back up album metadata.":"Utiliser des fichiers YAML pour sauvegarder les métadonnées des albums.","Create YAML sidecar files to back up picture metadata.":"Utiliser des fichiers side-car YAML pour sauvegarder les métadonnées des images.","Created":"Créé","Creating thumbnails for":"Création des miniatures pour","Cubic: Moderate Quality, Good Performance":"Cubique : Qualité modérée, bonne performance","Current Password":"Mot de passe actuel","Custom":"Sur mesure","Cyan":"Cyan","Daily":"Quotidien","Database Backups":"Sauvegarde de la base de données","Day":"Jour","Deactivate":"Désactiver","Debug Logs":"Journaux de débogage","Default":"Valeur par défaut","Default Folder":"Dossier par défaut","Delete":"Supprimer","Delete Album":"Supprimer l'album","Delete All":"Tout supprimer","Delete all?":"Tout supprimer ?","Delete orphaned index entries, sidecar files and thumbnails.":"Supprimer les entrées d'index, les vignettes, et les fichiers side-car orphelins.","Description":"Description","Detailed instructions can be found in our User Guide.":"Vous trouverez des instructions détaillées dans notre guide de l’utilisateur.","Details":"Détails","Dimensions":"Dimensions","Disable Backups":"Désactiver les sauvegardes","Disable Darktable":"Désactiver Darktable","Disable ExifTool":"Désactiver l'outil ExifTool","Disable features that require write permission for the originals folder.":"Désactiver les fonctions pour lesquelles l'autorisation d'écrire dans le dossier des originaux est nécessaire.","Disable FFmpeg":"Désactiver FFmpeg","Disable ImageMagick":"Désactiver ImageMagick","Disable interactive world maps and reverse geocoding.":"Désactiver les cartes du monde interactives et le géocodage inversé.","Disable Places":"Désactiver les Lieux","Disable RawTherapee":"Désactiver RawTherapee","Disable TensorFlow":"Désactiver TensorFlow","Disable Vectors":"Désactiver les vecteurs","Disable WebDAV":"Désactiver WebDAV","Disables vector graphics support.":"Désactive la prise en charge des images vectorielles.","Disables video transcoding and thumbnail extraction.":"Désactive le transcodage vidéo et l'extraction des vignettes.","Discover":"Découvrir","Dismiss":"Rejeter","Display Name":"Nom affiché","Display picture captions in search results.":"Afficher les légendes des images dans les résultats de recherche.","Display picture titles in search results.":"Afficher les titres des images dans les résultats de recherche.","Document":"Document","Documents":"Documents","Don't use Darktable to convert RAW images.":"Ne pas utiliser Darktable pour convertir les fichers RAW.","Don't use ImageMagick to convert images.":"Ne pas utiliser ImageMagick pour convertir les images.","Don't use RawTherapee to convert RAW images.":"Ne pas utiliser RawTherapee pour convertir les fichiers RAW.","Done":"Terminé","Done.":"Terminé.","Download":"Télécharger","Download only original media files, without any automatically generated files.":"Télécharger uniquement les fichiers multimédias originaux, sans fichiers générés automatiquement.","Download remote files":"Télécharger les fichiers distants","Download single files and zip archives.":"Téléchargement de fichiers et d'archives zip.","Downloading…":"Téléchargement en cours…","Downscaling Filter":"Filtre de qualité","Drag and drop files here":"Glisser et déposer les fichiers ici","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"En raison du volume élevé d'e-mails que nous recevons, notre équipe peut être dans l'incapacité de vous répondre immédiatement.","Duplicates will be skipped and only appear once.":"Les doublons seront ignorés et n'apparaîtront qu'une seule fois.","Duration":"Durée","Dynamic Previews":"Avant-premières non cachées","Dynamic Size Limit: %{n}px":"Limite de taille non cachée : %{n}px","E-Mail":"Courriel","Edit":"Modifier","Edit %{s}":"Modifier %{s}","Edit Account":"Modifier le compte","Edit Photo":"Modifier la photo","Edited":"Modifié","Email":"Email","Enable debug mode to display additional logs and help with troubleshooting.":"Activer le mode débogage pour afficher des journaux supplémentaires et aider au dépannage.","Enable new features that may be incomplete or unstable.":"Activer les nouvelles fonctionnalités, potentiellement incomplètes ou instables.","Enables RAW converter presets. May reduce performance.":"Active les préréglages du convertisseur RAW. Cela peut réduire les performances.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Avec l'authentification à deux facteurs, il faut un code de vérification généré de manière aléatoire pour se connecter, si bien que personne, même connaissant votre mot de passe, ne pourra se connecter à votre compte.","Enter date":"Saisir la date","Enter dates":"Saisir les dates","Enter the code generated by your authenticator app:":"Entrez le code généré par votre application d'authentification :","Enter verification code":"Entrer le code de vérification","Enter your password to confirm the action and continue:":"Saisissez votre mot de passe pour confirmer l'action et continuer :","Error":"Erreur","Errors":"Erreurs","Estimate":"Estimation","Estimate Locations":"Reconnaissance de lieux","Estimate the approximate location of pictures without GPS coordinates.":"Tente de reconnaître le lieu où une photo dépourvue de géolocalisation a été prise.","Every two days":"Tous les deux jours","Exclude content marked as private from search results, shared albums, labels, and places.":"Exclure le contenu marqué comme privé des résultats de recherche, des albums partagés, des étiquettes et des lieux.","Exclude hidden":"Exclure les éléments cachés","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"ExifTool est requis pour la prise en charge complète des métadonnées XMP, des vidéos et des Live Photos.","Experimental Features":"Fonctions Expérimentales","Expires":"Expire","Exposure":"Exposition","Extract still images and generate thumbnails while indexing.":"Extrait les images fixes et génère des vignettes lors de l'indexation.","F Number":"Ouverture","Face":"Visage","Faces":"Visages","Failed removing link":"Échec de la suppression du lien","Failed to connect account.":"Échec de la connexion au compte.","Failed updating link":"Échec de la mise à jour du lien","Family Name":"Nom de famille","Fast":"Rapide","Favorite":"Favori","Favorites":"Favoris","Feature Request":"Demander une fonctionnalité","Feedback":"Retour d'information","Female":"Femme","File":"Fichier","File Browser":"Explorateur de fichiers","File Conversion":"Conversion de fichiers","File Name":"Nom du fichier","File Size":"Taille du fichier","Filename":"Nom du fichier","Files":"Fichiers","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Des fichiers ayant des noms séquentiels tels que 'IMG_1234 (2)' et 'IMG_1234 (3)' appartiennent à la même image.","First page":"Première page","Focal Length":"Longueur focale","Folder":"Dossier","Folder contains %{n} files":"Dossier contenant %{n} fichiers","Folder is empty":"Le dossier est vide","Folders":"Dossiers","Forgot password?":"Mot de passe oublié ?","FPS":"FPS","Frames":"Cadres","Full Access":"Accès intégral","Fullscreen":"Plein écran","General":"Général","Generate":"Générer","Generate albums of special moments, journeys, and places.":"Création automatique d'albums regroupant des moments, des voyages et des lieux particuliers.","Generate Previews":"Générer des aperçus","Generated":"Généré","Get Started":"Commencer","Given Name":"Prénom","Global Options":"Options globales","Go to page {0}":"Aller à la page {0}","Gold":"Or","Green":"Vert","Grey":"Gris","Guest":"Invité","Hash":"Somme de contrôle","Help":"Aide","Help & Support":"Aide & Support","Hidden":"Caché","Hidden Files":"Fichiers cachés","Hide":"Cacher","Hide photos that have been moved to archive.":"Masquer les photos archivées.","High":"Élevé","High Dynamic Range (HDR)":"Gamme dynamique élevée (HDR)","How can we help?":"Comment pouvons nous vous aider ?","Hybrid":"Hybride","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"En cas de perte d'accès à votre application ou votre appareil d'authentification, vous pourrez utiliser votre code de récupération pour accéder à nouveau à votre compte.","Image":"Image","Image Quality":"Qualité de l'image","Import":"Importer","Import failed":"Échec de l'importation","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Les fichiers importés seront classés par date et recevront un nom unique pour éviter les doublons.","Imported files will be sorted by date and given a unique name.":"Les fichiers importés seront classés par date et recevront un nom unique.","Importing %{s}…":"Importation de %{s} en cours…","Importing files to originals…":"Importation des fichiers vers le dossier des originaux…","in":"en","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"Si des images sont manquantes, veuillez réanalyser votre bibliothèque et attendre que l'indexation soit terminée.","Include RAW image files when downloading stacks and archives.":"Inclure les fichiers d'images RAW lors du téléchargement de piles et d'archives.","Include sidecar files when downloading stacks and archives.":"Inclure les fichiers side-car lors du téléchargement de piles et d'archives.","Increase storage size or delete files to continue.":"Augmentez l'espace de stockage ou supprimez des fichiers pour continuer.","Index":"Index","Index and import files through the user interface.":"Indexer et importer des fichiers via l'interface utilisateur.","Indexing":"Indexation","Indexing failed":"Échec de l'indexation","Indexing media and sidecar files…":"Indexation des fichiers médias et side-car…","Information":"Informations","Instance ID":"ID de l'instance","Insufficient storage.":"Espace de stockage insuffisant.","Interval":"Intervalle","Invalid":"Invalide","Invalid address":"Adresse incorrecte","Invalid country":"Pays non valide","Invalid date":"Date incorrecte","Invalid parameters":"Paramètres invalides","Invalid photo selected":"Photo non valide sélectionnée","Invalid time":"Heure incorrecte","Invalid URL":"URL incorrecte","It is a one-time use code that will disable 2FA for your account when you use it.":"Il s'agit d'un code à usage unique qui désactivera l'authentification à deux facteurs (2FA) lors de l'usage de votre compte.","Item":"Item","Items per page:":"Article(s) par page :","JPEG Quality: %{n}":"Qualité des JPEG : %{n}","JPEG Size Limit: %{n}px":"Limite de taille des JPEGs : %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"Les JPEGs et miniatures sont automatiquement affichés selon les besoins.","Keywords":"Mots-clés","Label":"Etiquette","Labels":"Étiquettes","Labels deleted":"Étiquettes supprimées","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos : Préservation des détails, artefacts minimaux","Language":"Langue","Last Active":"Dernière activité","Last Login":"Dernière connexion","Last page":"Dernière page","Last Sync":"Dernière synchro","Last Used":"Dernière utilisation","Latitude":"Latitude","LDAP/AD":"LDAP/AD","Learn more":"En savoir plus","Learn More":"En savoir plus","Legal Information":"Informations légales","Lens":"Objectif","Library":"Bibliothèque","License":"Licence","Like":"Préféré","Lime":"Citron","Limit reached, showing first %{n} files":"Limite atteinte, affichage des %{n} premiers fichiers","Linear: Very Smooth, Best Performance":"Linéaire : Très lisse, meilleure performance","Link":"Lien","List":"Liste","List View":"Vue en liste","Live":"Live","Live Photos":"Photos en direct","Load more":"En charger plus","Loading items...":"Chargement des articles…","Loading...":"Chargement…","Local":"Locale","Local Time":"Heure locale","Location":"Emplacement","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Les messages des journaux s'affichent ici si PhotoPrism rencontre un fichier corrompu ou s'il y a un autre problème potentiel.","Login":"Connexion","Logout":"Déconnexion","Logs":"Journaux","Longitude":"Longitude","Low":"Basse","Magenta":"Magenta","Main Color":"Couleur principale","Male":"Homme","Manage Account":"Gérer le compte","Manager":"Gestionnaire","Manual":"Manuel","Manual Upload":"Chargement manuel","Maps":"Cartes","Marker":"Marqueur","Maximum number of accounts has been reached.":"Le nombre maximum de comptes a été atteint.","Media":"Les médias","Medium":"Moyen","Membership":"Adhésion","Merge %{a} with %{b}?":"Fusionner %{a} avec %{b} ?","Message":"Message","Message sent":"Message envoyé","Metadata":"Métadonnées","Metrics":"Métriques","Minimize":"Minimiser","Missing":"Manquant","Missing or invalid configuration":"Configuration manquante ou incorrecte","Moments":"Moments","Monochrome":"Monochrome","Month":"Mois","More options":"Plus d'options","Mosaic":"Mosaïque","Most Relevant":"Le plus pertinent","Move Files":"Déplacer les fichiers","Must have at least %{n} characters.":"Doit comporter au moins %{n} caractères.","Mute":"Muet","Name":"Nom","Name too long":"Nom trop long","Never":"Jamais","New":"Nouvelles","New Password":"Nouveau mot de passe","Newest First":"La plus récente d'abord","Next":"Suivant","Next page":"Page suivante","Next visual":"Visuel suivant","No":"Non","No albums found":"Aucun album trouvé","No data available":"Pas de données disponibles","No labels found":"Aucune étiquette trouvée","No matching records found":"Aucun enregistrement correspondant n'a été trouvé","No more":"Pas plus","No people found":"Aucune personne trouvée","No pictures found":"Aucune image trouvée","No recently edited pictures":"Aucune image modifiée récemment","No results":"Aucun résultat","No server connection":"Pas de connexion au serveur","No servers configured.":"Aucun serveur configuré.","No services configured.":"Aucun service n'est configuré.","No thanks":"Non merci","No warnings or error containing this keyword. Note that search is case-sensitive.":"Aucun avertissement ou erreur contenant ce mot-clé. Notez que la recherche est sensible à la casse.","Non-photographic and low-quality images require a review before they appear in search results.":"Les images non photographiques ou de mauvaise qualité doivent faire l'objet d'un examen avant d'apparaître dans les résultats de recherche.","None":"Aucun","Not allowed":"Non autorisé","Not found":"Non trouvé","Not sorted.":"Non trié.","Not supported":"Non pris en charge","Note you may manually manage your originals folder and importing is optional.":"Notez que vous pouvez gérer manuellement votre dossier d'originaux et que l'importation est facultative.","Note:":"Remarque :","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Note : Seuls les serveurs WebDAV, comme Nextcloud ou PhotoPrism, peuvent être configurés comme service à distance pour la sauvegarde et le chargement de fichiers.","Notes":"Remarques","Nothing to see here yet.":"Rien à voir ici pour le moment.","Nothing was found.":"Rien n'a été trouvé.","Offline":"Hors-ligne","OIDC":"OIDC","OK":"OK","Oldest First":"La plus ancienne d'abord","On Windows, enter the following resource in the connection dialog:":"Sous Windows, saisissez la ressource suivante dans la boîte de dialogue de connexion :","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"La génération de vignettes à la demande peut entraîner une charge élevée du processeur et de la mémoire. Elle est déconseillée en cas de serveurs ou d'appareils NAS aux ressources limitées.","Once a week":"Une fois par semaine","One album found":"Un album trouvé","One file found":"Un fichier trouvé","One file uploaded":"Un fichier téléchargé","One folder found":"Un dossier trouvé","One label found":"Une étiquette trouvée","One person found":"Une personne trouvée","One picture found":"Une image trouvée","Only locally managed accounts can be set up for authentication with 2FA.":"L'authentification à deux facteurs (2FA) ne peut être activée que pour les comptes gérés localement.","Open":"Ouvrir","optional":"optionnel","or":"ou","Orange":"Orange","Organization":"Organisation","Orientation":"Orientation","Original file names will be stored and indexed.":"Les noms des fichier originaux seront sauvegardés et indexés.","Original Name":"Nom original","Originals":"Originaux","Other":"Autre","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Notre mission est de fournir la solution la plus conviviale et la plus respectueuse de la vie privée pour que vos photos soient organisées et accessibles.","Outdoor":"Extérieur","Page {0}, Current page":"Page {0}, page en cours","Pages":"Pages","Pagination Navigation":"Navigation par pagination","Panorama":"Panorama","Panoramas":"Panoramas","Password":"Mot de passe","Password changed":"Mot de passe modifié","People":"Personnes","People you share a link with will be able to view public contents.":"Les personnes avec qui vous partagez un lien pourront voir le contenu public de votre bibliothèque.","Permanently deleted":"Supprimé définitivement","Permanently remove files to free up storage.":"Supprimer définitivement les fichiers pour récupérer de la place de stockage.","Person":"Personne","Personal":"Personnel","Photo":"Photo","PhotoPrism is 100% self-funded and independent.":"PhotoPrism est autofinancé à 100% et indépendant.","PhotoPrism+ Membership":"Adhésion à PhotoPrism","Photos":"Photos","Picture Title":"Titre de l'image","Pink":"Rose","Place":"Lieu","Place & Time":"Unité de lieu et de temps","Places":"Lieux","Please confirm your new password.":"Veuillez confirmer votre nouveau mot de passe.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Veuillez copier le mot de passe suivant, généré de manière aléatoire, et le conserver dans un endroit sûr, car vous ne pourrez plus le voir :","Please do not upload any private, unlawful or offensive pictures.":"Attention à ne pas envoyer de photos privées, illégales ou offensantes.","Please don't upload photos containing offensive content.":"Veuillez ne pas envoyer de photos choquantes.","Please enter OTP character {0}":"Saisir le caractère OTP {0}","Please note that changing your password will log you out on other devices and browsers.":"Veuillez noter que la modification de votre mot de passe vous déconnectera sur d'autres appareils et navigateurs.","Please restart your instance for the changes to take effect.":"Veuillez redémarrer votre instance pour que les changements prennent effet.","Please wait…":"Veuillez patienter…","PM":"PM","PNG Size Limit: %{n}px":"Limite de taille PNG : %{n}px","Portrait":"Portrait","Preserve filenames":"Conserver les noms de fichiers","Press enter to create a new album.":"Appuyer sur la touche entrée pour créer un nouvel album.","Prevent database and album backups as well as YAML sidecar files from being created.":"Désactiver les sauvegardes de bases de données et d’albums ainsi que la création de fichiers side-car YAML.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Interdire à une autre application l'accès à PhotoPrism en tant que lecteur réseau partagé.","Preview":"Prévisualisation","Preview Images":"Images de prévisualisation","Previous":"Précédent","Previous page":"Page précédente","Previous visual":"Visuel précédent","Primary":"Primaire","Private":"Privée","Product Feedback":"Commentaires sur le produit","Projection":"Projection","Purple":"Violet","Quality Filter":"Filtre de qualité","Quality Score":"Score de qualité","r":"r","Random":"Aléatoire","Rating {0} of {1}":"Évaluation {0} sur {1}","Raw":"Brut","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Réindexer tous les originaux, en incluant ceux déjà indexés et les fichiers inchangés.","Read-Only Mode":"Accès en lecture seule","Recently Added":"Ajoutées récemment","Recently Archived":"Archivées récemment","Recently Edited":"Modifiées récemment","Recognition starts after indexing has been completed.":"La reconnaissance démarrera après la fin de l'indexation.","Recognize faces so people can be assigned and found.":"Rechercher les visages pour qu'on puisse les attribuer à des personnes et ainsi permettre de trouver ces personnes.","Recognized":"Reconnues","Recovery Code":"Code de récupération","Red":"Rouge","Refresh":"Rafraîchir","Regions":"Les régions","Register":"S'inscrire","Reload":"Recharger","Reloading…":"Rechargement…","Remote Sync":"Synchronisation à distance","Remove":"Supprimer","remove failed: unknown album":"échec de la suppression : album inconnu","Remove from Album":"Retirer de l'album","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Supprimez les fichiers importés pour économiser l'espace de stockage. Les fichiers non pris en charge ne sont jamais supprimés et demeurent à leur emplacement actuel.","Request failed - are you offline?":"La requête a échoué - êtes-vous hors ligne ?","Request failed - invalid response":"Échec de la requête - réponse incorrecte","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Impose un examen préalable des images non photographiques ou de faible qualité avant de les faire apparaître dans les résultats de recherche.","Resolution":"Résolution","Restart":"Redémarrer","Restore":"Restaurer","Restored":"Restauré","Retry Limit":"Limite de réessai","Retype Password":"Ressaisir le mot de passe","Review":"Examen","Role":"Rôle","Rows per page:":"Lignes par page :","Satellite":"Satellite","Save":"Sauvegarder","Scan":"Numérisée","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Scannez le code QR avec votre application d'authentification ou utilisez la clé d'installation indiquée ci-dessous, puis saisissez le code de vérification généré :","Scans":"Numérisées","Scope":"Portée","Search":"Rechercher","Search and display photos on a map.":"Rechercher et afficher des images sur une carte.","Season":"Saison","Secret":"Secret","Security and Access":"Sécurité et accès","Select":"Sélectionner","Select a source folder to import files…":"Sélectionner le dossier source d'où importer des fichiers…","Select date":"Sélectionner la date","Select dates":"Sélectionner les dates","Select or create an album":"Sélectionner ou créer un album","Select the files to upload…":"Sélectionner les fichiers à charger…","Select the folder to be indexed…":"Sélectionner le dossier à indexer…","Select Time":"Sélectionner l'heure","Selection approved":"Sélection approuvée","Selection archived":"Sélection archivée","Selection restored":"Sélection restaurée","Sequential Name":"Suite logique de noms","Service URL":"URL du service","Services":"Services","Session":"Session","Session ID":"Identifiant de session","Sessions":"Sessions","Set as Album Cover":"Utiliser cette photo comme couverture de l'album","Settings":"Paramètres","Settings saved":"Paramètres sauvegardés","Setup":"Configurer","Share":"Partager","Share %{s}":"Partager %{s}","Share your pictures with other apps and services.":"Partagez vos photos avec d'autres applications et services.","Show":"Afficher","Show all new faces":"Montrer tous les nouveaux visages","Show Captions":"Afficher les légendes","Show hidden":"Afficher les éléments masqués","Show less":"Montrer moins","Show more":"Montre plus","Show server logs in Library.":"Afficher les journaux serveurs dans Bibliothèque.","Show Titles":"Afficher les titres","Sidecar":"Fichier side-car","Sidecar Files":"Fichiers side-car","Sign in":"S'identifier","Similar":"Similaire","Size":"Taille","Slideshow":"Diaporama","Slow":"Lent","Software":"Logiciel","Software Update":"Mise à jour du logiciel","Something went wrong, try again":"Quelque chose s'est mal passé, réessayez","Sort by":"Trier par","Sort Order":"Ordre de tri","Sorted ascending.":"Triés par ordre croissant.","Sorted descending.":"Trié par ordre décroissant.","Source":"Source","Stack":"Groupe","Stack files sharing the same unique image or instance identifier.":"Images partageant le même identifiant unique d'image.","Stack pictures taken at the exact same time and location based on their metadata.":"Images prises exactement au même moment et au même endroit, en se fondant sur les métadonnées.","Stackable":"Groupable","Stacks":"Groupes","Start":"Démarrer","Start Page":"Page d'accueil","Static Size Limit: %{n}px":"Limite de taille avant rendu : %{n}px","Status":"Statut","Storage":"Stockage","Streets":"Rues","Subject":"Sujet","Submit":"Soumettre","Successfully activated":"Activation réussie","Successfully Connected":"Bien connecté","Successfully deleted":"Suppression réussie","Successfully verified":"Vérifié avec succès","Super Admin":"Super Admin","Support for additional services, like Google Drive, will be added over time.":"La prise en charge de services supplémentaires tels que Google Drive sera ajoutée ultérieurement.","Support Our Mission":"Soutenez notre mission","Sync":"Synchronisation","Sync raw and video files":"Synchroniser les fichiers raw et les vidéos","Taken":"Prise","Teal":"Sarcelle","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow est requis pour la classification des images, la reconnaissance faciale et la détection des contenus choquants.","Terrain":"Terrain","Text":"Texte","Text too long":"Texte trop long","Thank You for Your Support!":"Merci pour votre soutien !","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"C'est pourquoi PhotoPrism a été conçu dès le départ pour fonctionner partout où vous en avez besoin, sans compromettre la liberté, la confidentialité ou la fonctionnalité.","The index currently contains %{n} hidden files.":"L'index contient actuellement %{n} fichiers cachés.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Leur format n'est peut-être pas pris en charge, ils n'ont pas encore été convertis en JPEG ou ce sont des doublons.","Theme":"Thème","This field is required":"Ce champ est obligatoire","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Cela monte le dossier des originaux en tant que lecteur réseau et vous permet d'ouvrir, modifier et supprimer des fichiers de votre ordinateur ou smartphone comme s'ils étaient locaux.","Time UTC":"Heure UTC","Time Zone":"Fuseau horaire","Timeout":"Délai","Title":{"Account":"Titre","Photo":"Titre","":"Titre"},"Title / Position":"Titre / Poste","Title too long":"Titre trop long","to":"à","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Pour éviter le blocage de votre compte, téléchargez, imprimez ou copiez maintenant ce code de récupération, et conservez-le dans un endroit sûr.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Pour générer un nouveau mot de passe spécifique à l'application, veuillez saisir le nom et la portée de l'autorisation de l'application ainsi que sélectionner une date d'expiration :","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Pour changer d'application ou de dispositif d'authentification, commencez par désactiver l'authentification à deux facteurs, puis réactivez-la :","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Pour effectuer une mise à niveau, vous pouvez soit saisir un code d'activation, soit cliquer sur «S'inscrire» pour vous inscrire sur notre site web :","Today":"Aujourd'hui","Toggle View":"Basculer la vue","Token":"Jeton","Too many files selected":"Trop de fichiers sélectionnés","Too many requests":"Trop de demandes","Troubleshooting":"Résolution des problèmes","Try again using other filters or keywords.":"Réessayez en utilisant d'autres filtres ou mots-clés.","Two-factor authentication has been enabled for your account.":"L'authentification à deux facteurs de votre compte est désormais activée.","Type":"Type","Unable to delete":"Impossible de supprimer","Unauthorized":"Non autorisé","Undo":"Annuler","Unique ID":"Identifiant unique","Unknown":"Inconnu","Unregistered":"Non enregistré","Unsorted":"Non trié","Unstack":"Dégrouper","Updated":"Mis à jour","Updating faces":"Mise à jour des visages","Updating index":"Mise à jour de l'index","Updating moments":"Mise à jour des moments","Updating picture…":"Mise à jour de l'image…","Updating previews":"Mise à jour des aperçus","Updating stacks":"Mise à jour des groupes","Upgrade":"Mise à niveau","Upgrade Now":"Mettre à niveau maintenant","Upload":"Chargement","Upload complete":"Chargement terminé","Upload complete. Indexing…":"Chargement terminé. Indexation en cours…","Upload failed":"Échec du chargement","Upload local files":"Envoyer des fichiers locaux","Upload Path":"Chemin d'accès","Upload to WebDAV and share links with friends.":"Envoyer via le protocole WebDAV et partager des liens avec des amis.","Uploading %{n} of %{t}…":"Chargement de %{n} sur %{t}…","Uploading photos…":"Chargement des photos en cours…","Uploading…":"Téléchargement…","Uploads that may contain such images will be rejected automatically.":"Les fichiers chargés qui contiendraient de telles images seront automatiquement rejetés.","Use Presets":"Utiliser les préréglages","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Utilisez le code de récupération suivant pour accéder à votre compte lorsque vous ne pouvez pas générer un code de vérification valide avec l'application d'identification :","Use your recovery code or contact an administrator for help.":"Utilisez votre code de récupération ou contactez un administrateur pour obtenir de l'aide.","User":"Utilisateur","User Guide":"Guide de l'utilisateur","User Interface":"Interface utilisateur","Username":"Identifiant","Users":"Utilisateurs","Vector":"Vectoriel","Vectors":"Vectoriels","Verification Code":"Code de vérification","Video":"Vidéo","Video Duration":"Durée de la vidéo","Videos":"Vidéos","View":"Voir","View search results as a list.":"Afficher les résultats de la recherche sous forme de liste.","Viewer":"Visionneuse","Visitor":"Visiteur","Visual Similarity":"Similitude visuelle","Warning":"Avertissement","We appreciate your feedback!":"Nous apprécions vos commentaires !","We do our best to respond within five business days or less.":"Nous faisons de notre mieux pour répondre dans un délai de cinq jours ouvrables ou moins.","Web Login":"Connexion Web","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"Les clients WebDAV peuvent se connecter à PhotoPrism en utilisant l'URL suivante :","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"Les clients WebDAV, comme par exemple l'explorateur Windows de Microsoft ou le Finder d'Apple, peuvent se connecter directement à PhotoPrism.","WebDAV Upload":"Chargement via le protocole WebDAV","WebGL support is disabled in your browser":"La prise en charge de WebGL est désactivée dans votre navigateur","Website":"Site web","White":"Blanc","Work Details":"Détails sur le poste","Year":"Année","Yellow":"Jaune","Yes":"Oui","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Vous pouvez nous contacter à l'adresse membership@photoprism.app pour toute question concernant votre adhésion.","You can only download one album":"Vous ne pouvez télécharger qu'un seul album","You can only download one label":"Vous ne pouvez télécharger qu'une seule étiquette","You can search for a location or move the marker on the map to change the position:":"Vous pouvez rechercher un lieu ou déplacer le marqueur sur la carte pour changer de position :","You can upload up to %{n} files for test purposes.":"Vous pouvez déposer jusqu'à %{n} fichiers à des fins de test.","You may only select one item":"Vous ne pouvez sélectionner qu'un seul élément","You may rescan your library to find additional faces.":"Vous pouvez réanalyser votre bibliothèque pour trouver plus de visages.","Your account has been successfully connected.":"Votre compte a été connecté avec succès.","Your browser does not support WebGL":"Votre navigateur ne prend pas en charge WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Votre soutien continu nous aide à fournir des mises à jour régulières et à rester indépendants, afin que nous puissions remplir notre mission et protéger votre vie privée.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Votre bibliothèque est analysée en permanence pour créer automatiquement des albums regroupant des moments, des voyages et des lieux spéciaux.","Zoom in/out":"Agrandir/Dézoomer"}} \ No newline at end of file diff --git a/frontend/src/locales/json/ga.json b/frontend/src/locales/json/ga.json index 03461ce18..045122dce 100644 --- a/frontend/src/locales/json/ga.json +++ b/frontend/src/locales/json/ga.json @@ -1 +1 @@ -{"ga":{"{0} appended action":"{0} gníomh curtha leis","{0} files":"{0} gcomhad","{0} files ({1} in total)":"{0} comhad ({1} san iomlán)","{0} more":"{0} eile","{0} prepended action":"{0} gníomh réamhullmhaithe","{0} selected":"{0} roghnaithe","{0}-{1} of {2}":"{0}-{1} de {2}","%{n} albums found":"Aimsíodh %{n} albam","%{n} files uploaded":"%{n} comhad uaslódála","%{n} folders found":"Aimsíodh %{n} fillteán","%{n} GB of %{q} GB used":"Úsáideadh %{n} GB as %{q} GB","%{n} labels found":"Aimsíodh %{n} lipéad","%{n} people found":"Aimsíodh %{n} duine","%{n} pictures found":"Aimsíodh %{n} pictiúr","%{s} is too long":"Tá %{s} rófhada","%{s} is too short":"Tá %{s} ró-ghearr","1 hour":"1 uair","12 hours":"12 uair an chloig","2-Factor Authentication":"Fíordheimhniú 2-Fachtóir","2FA":"2FA","4 hours":"4 uair an chloig","A click will copy it to your clipboard.":"Déanfaidh cliceáil é a chóipeáil chuig do ghearrthaisce.","A new version of %{s} is available:":"Tá leagan nua de %{s} ar fáil:","About":"Maidir","Access Token":"Comhartha Rochtana","Account":"Cuntas","Account created":"Cuntas cruthaithe","Account deleted":"Scriosadh an cuntas","Account restored":"Cuntas athchóirithe","Accounts":"Cuntais","Accuracy":"Cruinneas","Action":"Gníomh","Actions":"Gníomhartha","Activate":"Gníomhachtaigh","Activate to remove sorting.":"Gníomhachtaigh chun sórtáil a bhaint.","Activate to sort ascending.":"Gníomhachtaigh chun dul suas a shórtáil.","Activate to sort descending.":"Gníomhachtaigh chun íslitheach a shórtáil.","Activation Code":"Cód gníomhachtúcháin","Add":"Cuir","Add %{s}?":"Cuir %{s} leis?","Add Account":"Cuir Cuntas leis","Add Album":"Cuir Albam leis","Add files to your library via Web Upload.":"Cuir comhaid le do leabharlann trí Uaslódáil Gréasáin.","Add Link":"Cuir Nasc leis","Add person?":"Cuir duine leis?","Add pictures from search results by selecting them.":"Cuir pictiúir ó thorthaí cuardaigh leis trína roghnú.","Add to album":"Cuir leis an albam","Added":"Curtha leis","Admin":"Riarachán","Advanced":"Casta","After 1 day":"Tar éis 1 lá","After 3 days":"Tar éis 3 lá","After 7 days":"Tar éis 7 lá","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Tar éis duit do phasfhocal a chur isteach lena dheimhniú, is féidir leat fíordheimhniú dhá fhachtóir a shocrú le haip nó gléas fíordheimhneora comhoiriúnach:","After one month":"Tar éis míosa","After one year":"Tar éis bliana amháin","After selecting pictures from search results, you can add them to an album using the context menu.":"Tar éis duit pictiúir a roghnú ó thorthaí cuardaigh, is féidir leat iad a chur le halbam ag baint úsáide as an roghchlár comhthéacs.","After two months":"Tar éis dhá mhí","After two weeks":"Tar éis dhá sheachtain","Album":"Albam","Album Backups":"Cúltaca Albam","Album created":"Albam cruthaithe","Albums":"Albaim","Albums deleted":"Albaim scriosta","All":"Gach","All %{n} albums loaded":"Gach %{n} albam luchtaithe","All %{n} labels loaded":"Gach %{n} lipéad luchtaithe","All %{n} people loaded":"Gach %{n} duine luchtaithe","All Cameras":"Gach ceamaraí","All Categories":"Gach Catagóir","All Colors":"Gach Dathanna","All Countries":"Gach Tíortha","All fields are required":"Tá gach réimse ag teastáil","All files from import folder":"Gach comhad ón bhfillteán allmhairiú","All Lenses":"Gach Lionsaí","All Months":"Gach Míonna","All originals":"Gach bunleagan","All Years":"Gach Bliain","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Nó, is féidir leat comhaid a uaslódáil go díreach chuig freastalaithe WebDAV cosúil le Nextcloud.","Altitude":"Airde","Altitude (m)":"airde (m)","AM":"AM","Animated":"Beoite","Animation":"Beochan","Any private photos and videos remain private and won't be shared.":"Fanann aon ghrianghraif agus físeáin phríobháideacha príobháideach agus ní roinnfear iad.","API Key":"Eochair API","Application":"Iarratas","Apply":"Cuir iarratas isteach","Approve":"Cheadaigh","Apps and Devices":"Aipeanna agus Gléasanna","Archive":"Cartlann","Archived":"Cartlannaithe","Are you sure you want to archive the selection?":"An bhfuil tú cinnte gur mhaith leat an rogha a chur sa chartlann?","Are you sure you want to delete these albums?":"An bhfuil tú cinnte gur mhaith leat na halbaim seo a scriosadh?","Are you sure you want to delete these labels?":"An bhfuil tú cinnte gur mhaith leat na lipéid seo a scriosadh?","Are you sure you want to delete this account?":"An bhfuil tú cinnte gur mhaith leat an cuntas seo a scriosadh?","Are you sure you want to permanently delete these pictures?":"An bhfuil tú cinnte gur mhaith leat na pictiúir seo a scriosadh go buan?","Are you sure you want to permanently delete this file?":"An bhfuil tú cinnte gur mian leat an comhad seo a scriosadh go buan?","Are you sure?":"An bhfuil tú cinnte?","Artist":"Ealaíontóir","Aspect Ratio":"Cóimheas Gné","Audio":"Fuaime","Authentication":"Fíordheimhniú","Auto":"Auto","Back":"Ar ais","Back to top":"Ar ais go barr","Backup":"Cúltaca","Badge":"Suaitheantas","Base Path":"Conair Bhun","Become a member today, support our mission and enjoy our member benefits!":"Bí i do bhall inniu, tacaigh lenár misean agus bain taitneamh as ár mbuntáistí ball!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Agus sinn 100% féinmhaoinithe agus neamhspleách, is féidir linn geallúint a thabhairt duit nach ndíolfaimid do shonraí choíche agus go mbeimid trédhearcach i gcónaí maidir lenár mbogearraí agus ár seirbhísí.","Bio":"Bith","Birth Date":"Dáta Breithe","Black":"Dubh","Blackman: Lanczos Modification, Less Ringing Artifacts":"Fear Dubh: Modhnú Lanczos, Níos Lú Déantán Glaonna","Blue":"Gorm","Brown":"Donn","Browse":"Brabhsáil","Browse and edit image classification labels.":"Brabhsáil agus cuir in eagar lipéid rangaithe íomhánna.","Browse and share your pictures organized into monthly albums.":"Brabhsáil agus roinn do chuid pictiúr eagraithe ina n-albaim mhíosúla.","Browse Files":"Brabhsáil Comhaid","Browse indexed files and folders in Library.":"Brabhsáil comhaid agus fillteáin innéacsaithe sa Leabharlann.","Bug Report":"Tuairisc ar Fhabht","Busy, please wait…":"Gnóthach, fan go fóill…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Trí úsáid a bhaint as na bogearraí agus na seirbhísí a chuirimid ar fáil, aontaíonn tú lenár dtéarmaí seirbhíse, ár mbeartas príobháideachta, agus ár gcód iompair.","Calendar":"Féilire","Camera":"Ceamara","Camera Serial":"Sraith ceamara","Can't access your authenticator app or device?":"Ní féidir rochtain a fháil ar d'aip nó gléas fíordheimhnitheora?","Can't load more, limit reached":"Ní féidir níos mó a lódáil, shroich an teorainn","Can't select more items":"Ní féidir níos mó míreanna a roghnú","Cancel":"Cealaigh","Caption":"Fotheideal","Cards":"Cártaí","Carousel slide {0} of {1}":"Sleamhnán timpealláin {0} de {1}","Category":"Catagóir","Change Avatar":"Athrú avatar","Change Password":"Athraigh Pasfhocal","Change personal profile and security settings.":"Athraigh próifíl phearsanta agus socruithe slándála.","Change photo titles, locations, and other metadata.":"Athraigh teidil grianghraf, láithreacha agus meiteashonraí eile.","Change private flag":"Athraigh bratach phríobháideach","Changes could not be saved":"Níorbh fhéidir na hathruithe a shábháil","Changes successfully saved":"Sábháladh na hathruithe","Changes to the advanced settings require a restart to take effect.":"Teastaíonn atosú chun athruithe a dhéanamh ar na hardsocruithe chun dul i bhfeidhm.","Checked":"Seiceáilte","Chroma":"Chroma","Cleaning index and cache":"Innéacs agus taisce a ghlanadh","Cleanup":"Glanta","Clear {0}":"Glan {0}","Client":"Cliant","Client Credentials":"Dintiúir Cliant","Close":"Dún","Codec":"Codec","Color":"Dath","Color Profile":"Próifíl Datha","Colors":"Dathanna","Compare Editions":"Déan comparáid idir Eagráin","Complete Rescan":"Críochnaigh Athscanadh","Confidence":"Muinín","Confirm":"Deimhnigh","Connect":"Ceangail","Connect via WebDAV":"Ceangail trí WebDAV","Connected":"Ceangailte","Contact Details":"Sonraí Teagmhála","Contact Us":"Déan Teagmháil Linn","Contains %{n} pictures.":"Tá %{n} pictiúr ann.","Contains one picture.":"Tá pictiúr amháin ann.","Content":"Ábhar","Continue":"Lean ort","Continue with %{provider}":"Lean ar aghaidh le %{provider}","Contributor":"ranníocóir","Converting":"Tiontú","Copied to clipboard":"Cóipeáladh chuig an ngearrthaisce","Copy":"Cóip","Copyright":"Cóipcheart","Couldn't find anything.":"Níorbh fhéidir aon rud a aimsiú.","Country":"Tír","Create Account":"Cruthaigh Cuntas","Create album":"Cruthaigh albam","Create regular backups based on the configured schedule.":"Cruthaigh cúltacaí rialta bunaithe ar an sceideal cumraithe.","Create YAML files to back up album metadata.":"Cruthaigh comhaid YAML chun meiteashonraí albam a chúltaca.","Create YAML sidecar files to back up picture metadata.":"Cruthaigh comhaid taobhcharr YAML chun meiteashonraí pictiúir a chúltaca.","Created":"Cruthaithe","Creating thumbnails for":"Mionsamhlacha a chruthú le haghaidh","Cubic: Moderate Quality, Good Performance":"Ciúbach: Cáilíocht Measartha, Dea-Fheidhmíocht","Current Password":"Pasfhocal Reatha","Custom":"Saincheaptha","Cyan":"Cian","Daily":"laethúil","Database Backups":"Cúltaca Bunachar Sonraí","Day":"Lá","Deactivate":"Díghníomhachtaigh","Debug Logs":"Logchomhaid Dífhabhtaithe","Default":"Réamhshocrú","Default Folder":"Fillteán Réamhshocraithe","Delete":"Scrios","Delete All":"Scrios Uile","Delete all?":"Scrios gach rud?","Delete orphaned index entries, sidecar files and thumbnails.":"Scrios iontrálacha innéacs dílleachta, comhaid taobhcharr agus mionsamhlacha.","Description":"Cur síos","Detailed instructions can be found in our User Guide.":"Is féidir treoracha mionsonraithe a fháil inár dTreoir Úsáideora.","Details":"Sonraí","Dimensions":"Toisí","Disable Backups":"Díchumasaigh Cúltaca","Disable Darktable":"Díchumasaigh Darktable","Disable ExifTool":"Díchumasaigh ExifTool","Disable features that require write permission for the originals folder.":"Díchumasaigh gnéithe a dteastaíonn cead scríofa uathu don fhillteán bunleagan.","Disable FFmpeg":"Díchumasaigh FFmpeg","Disable ImageMagick":"Díchumasaigh ImageMagick","Disable interactive world maps and reverse geocoding.":"Díchumasaigh léarscáileanna idirghníomhacha an domhain agus geochódú droim ar ais.","Disable Places":"Díchumasaigh Áiteanna","Disable RawTherapee":"Díchumasaigh RawTherapee","Disable TensorFlow":"Díchumasaigh TensorFlow","Disable Vectors":"Díchumasaigh Veicteoirí","Disable WebDAV":"Díchumasaigh WebDAV","Disables vector graphics support.":"Díchumasaigh tacaíocht grafaicí veicteora.","Disables video transcoding and thumbnail extraction.":"Díchumasaítear traschódú físeáin agus eastóscadh mionsamhlacha.","Discover":"Faigh amach","Dismiss":"Díbhe","Display Name":"Ainm Taispeána","Display picture captions in search results.":"Taispeáin fotheidil pictiúir i dtorthaí cuardaigh.","Display picture titles in search results.":"Taispeáin teidil pictiúir sna torthaí cuardaigh.","Document":"Doiciméad","Documents":"Doiciméid","Don't use Darktable to convert RAW images.":"Ná húsáid Darktable chun íomhánna RAW a thiontú.","Don't use ImageMagick to convert images.":"Ná húsáid ImageMagick chun íomhánna a thiontú.","Don't use RawTherapee to convert RAW images.":"Ná húsáid RawTherapee chun íomhánna RAW a thiontú.","Done":"Déanta","Done.":"Déanta.","Download":"Íosluchtaigh","Download only original media files, without any automatically generated files.":"Íoslódáil comhaid meán bunaidh amháin, gan aon chomhaid a ghintear go huathoibríoch.","Download remote files":"Íoslódáil comhaid iargúlta","Download single files and zip archives.":"Íoslódáil comhaid aonair agus cartlanna zip.","Downloading…":"Ag íosluchtú…","Downscaling Filter":"Scagaire Íoslaghdaithe","Drag and drop files here":"Tarraing agus scaoil comhaid anseo","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"Mar gheall ar an líon ard ríomhphost a fhaighimid, seans nach mbeidh ár bhfoireann in ann teagmháil a dhéanamh leat láithreach.","Duplicates will be skipped and only appear once.":"Déanfar dúblaigh a scipeáil agus ní thaispeánfar iad ach uair amháin.","Duration":"Fad","Dynamic Previews":"Réamhamhairc Dinimiciúla","Dynamic Size Limit: %{n}px":"Teorainn Mhéid Dinimiciúla: %{n}px","E-Mail":"R-phost","Edit":"Cuir in eagar","Edit %{s}":"Cuir %{s} in eagar","Edit Account":"Cuir Cuntas in Eagar","Edit Photo":"Cuir Grianghraf in Eagar","Edited":"Curtha in eagar","Email":"Ríomhphost","Enable debug mode to display additional logs and help with troubleshooting.":"Cumasaigh mód dífhabhtaithe chun logaí breise a thaispeáint agus chun cabhrú le fabhtcheartaithe.","Enable new features that may be incomplete or unstable.":"Cumasaigh gnéithe nua a d'fhéadfadh a bheith neamhiomlán nó éagobhsaí.","Enables RAW converter presets. May reduce performance.":"Cumasaíonn sé réamhshocruithe tiontaire RAW. D'fhéadfadh sé feidhmíocht a laghdú.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Má chumasaíonn tú fíordheimhniú dhá fhachtóir beidh cód fíorúcháin randamach de dhíth ort chun logáil isteach, mar sin fiú má fhaigheann duine éigin rochtain ar do phasfhocal, ní bheidh siad in ann rochtain a fháil ar do chuntas.","Enter date":"Cuir isteach an dáta","Enter dates":"Cuir isteach dátaí","Enter the code generated by your authenticator app:":"Cuir isteach an cód ginte ag d'aip fíordheimhneora:","Enter verification code":"Cuir isteach cód fíorúcháin","Enter your password to confirm the action and continue:":"Cuir isteach do phasfhocal chun an gníomh a dhearbhú agus lean ar aghaidh:","Error":"Earráid","Errors":"Earráidí","Estimate":"Meastachán","Estimate Locations":"Suímh Meastacháin","Estimate the approximate location of pictures without GPS coordinates.":"Déan meastachán ar shuíomh na bpictiúr go garbh gan comhordanáidí GPS.","Every two days":"Gach dhá lá","Exclude content marked as private from search results, shared albums, labels, and places.":"Fág amach ábhar atá marcáilte mar phríobháideach ó thorthaí cuardaigh, ó albaim chomhroinnte, ó lipéid agus ó áiteanna.","Exclude hidden":"Fág i bhfolach","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"Tá ExifTool ag teastáil chun tacaíocht iomlán a thabhairt do mheiteashonraí, físeáin agus Grianghraif Beo XMP.","Experimental Features":"Gnéithe Turgnamhach","Expires":"In éag","Exposure":"Nochtadh","Extract still images and generate thumbnails while indexing.":"Sliocht íomhánna fósta agus mionsamhlacha a ghiniúint agus tú ag innéacsú.","F Number":"F Uimhir","Face":"Aghaidh","Faces":"Aghaidheanna","Failed removing link":"Theip ar bhaint an nasc","Failed to connect account.":"Theip ar an gcuntas a nascadh.","Failed updating link":"Theip ar an nasc a nuashonrú","Family Name":"Ainm an Teaghlaigh","Fast":"Go tapa","Favorite":"is fearr leat","Favorites":"Ceanáin","Feature Request":"Iarratas Gné","Feedback":"Aiseolas","Female":"Mná","File":"Comhad","File Browser":"Brabhsálaí Comhad","File Conversion":"Tiontú Comhad","File Name":"Ainm an Chomhaid","File Size":"Méid an Chomhaid","Filename":"Ainm comhaid","Files":"Comhaid","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Baineann comhaid a bhfuil ainmneacha seicheamhacha orthu mar 'IMG_1234 (2)' agus 'IMG_1234 (3)' leis an bpictiúr céanna.","First page":"An chéad leathanach","Focal Length":"Fad Fócasach","Folder":"Fillteán","Folder contains %{n} files":"Tá %{n} comhad san fhillteán","Folder is empty":"Tá an fillteán folamh","Folders":"Fillteáin","Forgot password?":"Focal faire dearmadta?","FPS":"CCT","Frames":"Frámaí","Full Access":"Rochtain Iomlán","Fullscreen":"Lánscáileán","General":"Ginearálta","Generate":"Gin","Generate albums of special moments, journeys, and places.":"Gin albaim chuimhneacháin, thurais agus áiteanna speisialta.","Generate Previews":"Gin Réamhamhairc","Generated":"Gineadh","Get Started":"Faigh Tosaigh","Given Name":"Ainm tugtha","Global Options":"Roghanna Domhanda","Go to page {0}":"Téigh go leathanach {0}","Gold":"Óir","Green":"Glas","Grey":"Liath","Guest":"Aoi","Hash":"Hais","Help":"Cabhrú","Help & Support":"Cabhair & Tacaíocht","Hidden":"i bhfolach","Hidden Files":"Comhaid Cheilte","Hide":"Folaigh","Hide photos that have been moved to archive.":"Folaigh grianghraif a cuireadh sa chartlann.","High":"Ard","High Dynamic Range (HDR)":"Raon Ard Dinimiciúla (HDR)","How can we help?":"Conas is féidir linn cabhrú?","Hybrid":"hibrideach","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Má chailleann tú rochtain ar d'aip nó gléas fíordheimhnitheora, is féidir leat do chód athshlánaithe a úsáid chun rochtain a fháil ar do chuntas arís.","Image":"Íomhá","Image Quality":"Cáilíocht Íomhá","Import":"Iompórtáil","Import failed":"Theip ar an iompórtáil","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Déanfar comhaid iompórtáilte a shórtáil de réir dáta agus tabharfar ainm uathúil dóibh chun dúbailt a sheachaint.","Imported files will be sorted by date and given a unique name.":"Déanfar comhaid iompórtáilte a shórtáil de réir dáta agus tabharfar ainm uathúil orthu.","Importing %{s}…":"%{s} á iompórtáil…","Importing files to originals…":"Comhaid á n-iompórtáil go bunleagan…","in":"isteach","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"Ar eagla go bhfuil na pictiúir a bhfuil tú ag súil leo in easnamh, déan do leabharlann arís agus fan go dtí go mbeidh an t-innéacsú críochnaithe.","Include RAW image files when downloading stacks and archives.":"Cuir comhaid íomhá RAW san áireamh agus stoic agus cartlanna á n-íoslódáil agat.","Include sidecar files when downloading stacks and archives.":"Cuir comhaid taobhcharr san áireamh agus stoic agus cartlanna á n-íoslódáil.","Increase storage size or delete files to continue.":"Méadaigh méid na stórála nó scrios comhaid chun leanúint ar aghaidh.","Index":"Innéacs","Index and import files through the user interface.":"Innéacs agus comhaid a allmhairiú tríd an comhéadan úsáideora.","Indexing":"Innéacsú","Indexing failed":"Theip ar an innéacsú","Indexing media and sidecar files…":"Meáin agus comhaid taobhcharr á innéacsú…","Information":"Eolas","Instance ID":"Aitheantas an Cháis","Insufficient storage.":"Stóráil neamhleor.","Interval":"Eatramh","Invalid":"Neamhbhailí","Invalid address":"Seoladh neamhbhailí","Invalid country":"Tír neamhbhailí","Invalid date":"Dáta neamhbhailí","Invalid parameters":"Paraiméadair neamhbhailí","Invalid photo selected":"Grianghraf neamhbhailí roghnaithe","Invalid time":"Am neamhbhailí","Invalid URL":"URL neamhbhailí","It is a one-time use code that will disable 2FA for your account when you use it.":"Is cód úsáide aonuaire é a dhíchumasóidh 2FA do do chuntas nuair a úsáideann tú é.","Item":"Mír","Items per page:":"Míreanna in aghaidh an leathanaigh:","JPEG Quality: %{n}":"Cáilíocht JPEG: %{n}","JPEG Size Limit: %{n}px":"Teorainn Méid JPEG: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"Déantar JPEG agus mionsamhlacha a rindreáil go huathoibríoch de réir mar is gá.","Keywords":"Eochairfhocail","Label":"Lipéad","Labels":"Lipéid","Labels deleted":"Scriosadh na lipéid","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: Caomhnú Mionsonraithe, Déantáin Íosráta","Language":"Teanga","Last Active":"Gníomhach Deiridh","Last Login":"Logáil Isteach Deiridh","Last page":"leathanach deiridh","Last Sync":"Sync Last","Last Used":"Úsáidte is déanaí","Latitude":"Domhanleithead","LDAP/AD":"LDAP/AD","Learn more":"Foghlaim níos mó","Learn More":"Foghlaim níos mó","Legal Information":"Eolas Dlí","Lens":"Lionsa","Library":"Leabharlann","License":"Ceadúnas","Like":"Cosúil","Lime":"Aoil","Limit reached, showing first %{n} files":"Baineadh an teorainn amach, ag taispeáint na chéad %{n} comhad","Linear: Very Smooth, Best Performance":"Líneach: An-réidh, Feidhmíocht is Fearr","Link":"Nasc","List":"Liosta","List View":"Amharc Liosta","Live":"Beo","Live Photos":"Grianghraif Beo","Load more":"Luchtaigh níos mó","Loading items...":"Míreanna á lódáil...","Loading...":"Á lódáil...","Local":"Áitiúil","Local Time":"Am Áitiúil","Location":"Suíomh","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Tá teachtaireachtaí logála le feiceáil anseo aon uair a thagann PhotoPrim ar chomhaid briste, nó nuair a bhíonn fadhbanna eile ann.","Login":"Logáil isteach","Logout":"Lógó amach","Logs":"Logs","Longitude":"Domhanfhad","Low":"Íseal","Magenta":"Mageanta","Main Color":"Príomh Dath","Male":"Fireann","Manage Account":"Bainistigh Cuntas","Manual":"Lámhleabhar","Manual Upload":"Uaslódáil Láimhe","Maps":"Léarscáileanna","Marker":"Marcóir","Maximum number of accounts has been reached.":"Tá uaslíon na gcuntas sroichte.","Media":"Meáin","Medium":"Meánach","Membership":"Ballraíocht","Merge %{a} with %{b}?":"An bhfuil fonn ort %{a} a chumasc le %{b}?","Message":"Teachtaireacht","Message sent":"Teachtaireacht seolta","Metadata":"Meiteashonraí","Metrics":"Méadracht","Minimize":"Íoslaghdaigh","Missing":"Ar iarraidh","Missing or invalid configuration":"Cumraíocht in easnamh nó cumraíocht neamhbhailí","Moments":"Chuimhneacháin","Monochrome":"Monacrómach","Month":"Mí","More options":"Tuilleadh roghanna","Mosaic":"Mósáic","Most Relevant":"Is Ábhartha","Move Files":"Bog Comhaid","Must have at least %{n} characters.":"Caithfidh %{n} carachtar ar a laghad a bheith ann.","Mute":"Balbhaigh","Name":"Ainm","Name too long":"Ainm ró-fhada","Never":"Riamh","New":"Nua","New Password":"Pasfhocal Nua","Newest First":"Is Déanaí ar dtús","Next":"Ar aghaidh","Next page":"An chéad leathanach eile","Next visual":"Amhairc seo chugainn","No":"Níl","No albums found":"Níor aimsíodh albam","No data available":"Níl aon sonraí ar fáil","No labels found":"Níor aimsíodh aon lipéid","No matching records found":"Níor aimsíodh aon taifid mheaitseála","No more":"Níl níos mó","No people found":"Níor aimsíodh daoine","No pictures found":"Níor aimsíodh aon phictiúir","No recently edited pictures":"Níl aon phictiúir curtha in eagar le déanaí","No server connection":"Gan nasc freastalaí","No servers configured.":"Níl aon fhreastalaí cumraithe.","No services configured.":"Níl aon seirbhísí cumraithe.","No thanks":"Níl go raibh maith agat","No warnings or error containing this keyword. Note that search is case-sensitive.":"Níl aon rabhadh nó earráid ina bhfuil an eochairfhocal seo. Tabhair faoi deara go bhfuil an cuardach cás-íogair.","Non-photographic and low-quality images require a review before they appear in search results.":"Teastaíonn athbhreithniú ar íomhánna nach bhfuil grianghrafadóireachta agus ar cháilíocht íseal sula bhfeictear iad i dtorthaí cuardaigh.","None":"Dada","Not allowed":"Ní cheadaítear","Not found":"Ní bhfuarthas","Not sorted.":"Gan sórtáilte.","Not supported":"Ní thacaítear leis","Note you may manually manage your originals folder and importing is optional.":"Tabhair faoi deara gur féidir leat d’fhillteán bunleagan a bhainistiú de láimh agus go bhfuil sé roghnach iompórtáil.","Note:":"Nóta:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Nóta: Ní féidir ach freastalaithe WebDAV, cosúil le Nextcloud nó PhotoPrim, a chumrú mar chianseirbhís le haghaidh cúltaca agus uaslódáil comhad.","Notes":"Nótaí","Nothing to see here yet.":"Níl faic le feiceáil anseo fós.","Nothing was found.":"Ní bhfuarthas aon rud.","Offline":"As líne","OIDC":"OIDC","OK":"ceart go leor","Oldest First":"Is sine ar dtús","On Windows, enter the following resource in the connection dialog:":"Ar Windows, cuir isteach an acmhainn seo a leanas sa dialóg naisc:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"D'fhéadfadh úsáid ard LAP agus cuimhne a bheith mar chúis le giniúint mionsamhlacha ar éileamh. Ní mholtar é do fhreastalaithe teoranta ó thaobh acmhainní agus feistí NAS.","Once a week":"Uair sa tseachtain","One album found":"Aimsíodh albam amháin","One file found":"Fuarthas comhad amháin","One file uploaded":"Uaslódáladh comhad amháin","One folder found":"Fuarthas fillteán amháin","One label found":"Fuarthas lipéad amháin","One person found":"Fuair duine amháin","One picture found":"Fuarthas pictiúr amháin","Only locally managed accounts can be set up for authentication with 2FA.":"Ní féidir ach cuntais a bhainistítear go háitiúil a bhunú le haghaidh fíordheimhnithe le 2FA.","Open":"Oscail","optional":"roghnach","or":"nó","Orange":"Oráiste","Organization":"Eagraíocht","Orientation":"Treoshuíomh","Original file names will be stored and indexed.":"Déanfar bunainmneacha na gcomhad a stóráil agus a innéacsú.","Original Name":"Ainm Bunaidh","Originals":"Bunábhair","Other":"Eile","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Is é an misean atá againn ná an réiteach is cairdiúla don úsáideoir agus don phríobháideacht a sholáthar chun do phictiúr a choinneáil eagraithe agus inrochtana.","Outdoor":"Amuigh faoin aer","Page {0}, Current page":"Leathanach {0}, leathanach reatha","Pages":"Leathanaigh","Pagination Navigation":"Nascleanúint Leathanaigh","Panorama":"Lánléargas","Panoramas":"Lánléargas","Password":"Pasfhocal","Password changed":"Athraíodh an pasfhocal","People":"Daoine","People you share a link with will be able to view public contents.":"Beidh daoine a roinneann tú nasc leo in ann féachaint ar inneachar poiblí.","Permanently deleted":"Scriosta go buan","Permanently remove files to free up storage.":"Bain comhaid go buan chun stóráil a shaoradh.","Person":"Duine","Personal":"Pearsanta","Photo":"Grianghraf","PhotoPrism is 100% self-funded and independent.":"Tá PhotoPrism 100% féinmhaoinithe agus neamhspleách.","PhotoPrism+ Membership":"Ballraíocht PhotoPrism+","Photos":"Grianghraif","Picture Title":"Teideal Pictiúr","Pink":"Bándearg","Place":"Áit","Place & Time":"Áit & Am","Places":"Áiteanna","Please confirm your new password.":"Deimhnigh do phasfhocal nua le do thoil.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Cóipeáil an pasfhocal aipe a gineadh go randamach agus coinnigh in áit shábháilte é, mar ní bheidh tú in ann é a fheiceáil arís:","Please do not upload any private, unlawful or offensive pictures.":"Ná huaslódáil aon pictiúir phríobháideacha, neamhdhleathacha nó maslacha.","Please don't upload photos containing offensive content.":"Ná huaslódáil grianghraif a bhfuil ábhar maslach iontu.","Please enter OTP character {0}":"Cuir isteach carachtar OTP {0}","Please note that changing your password will log you out on other devices and browsers.":"Tabhair faoi deara le do thoil go ndéanfaidh athrú ar do phasfhocal tú a logáil amach ar ghléasanna agus brabhsálaithe eile.","Please restart your instance for the changes to take effect.":"Atosaigh do chás le go dtiocfaidh na hathruithe i bhfeidhm.","Please wait…":"Fan le do thoil…","PM":"PM","PNG Size Limit: %{n}px":"Teorainn Méid PNG: %{n}px","Portrait":"Portráid","Preserve filenames":"Caomhnaigh ainmneacha comhaid","Press enter to create a new album.":"Brúigh Enter chun albam nua a chruthú.","Prevent database and album backups as well as YAML sidecar files from being created.":"Cosc a chur le cúltacaí bunachar sonraí agus albam chomh maith le comhaid taobhcharr YAML ó bheith cruthaithe.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Cosc a chur ar aipeanna eile rochtain a fháil ar PhotoPrim mar thiomántán líonra roinnte.","Preview":"Réamhamharc","Preview Images":"Íomhánna Réamhamhairc","Previous":"Roimhe Seo","Previous page":"An leathanach roimhe seo","Previous visual":"Amhairc roimhe seo","Primary":"Bunscoile","Private":"Príobháideach","Product Feedback":"Aiseolas Táirge","Projection":"Teilgean","Purple":"Corcra","Quality Filter":"Scagaire Cáilíochta","Quality Score":"Scór Cáilíochta","r":"r","Random":"randamach","Rating {0} of {1}":"Rátáil {0} de {1}","Raw":"amh","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Déan gach bunleagan a athinnéacsú, lena n-áirítear comhaid atá innéacsaithe cheana féin agus nach bhfuil aon athrú orthu.","Read-Only Mode":"Mód Inléite Amháin","Recently Added":"Curtha leis le déanaí","Recently Archived":"Cartlannaithe le déanaí","Recently Edited":"Curtha in eagar le déanaí","Recognition starts after indexing has been completed.":"Tosaíonn an t-aitheantas tar éis don innéacsú a bheith críochnaithe.","Recognize faces so people can be assigned and found.":"Aithnigh aghaidheanna ionas gur féidir daoine a shannadh agus a fháil.","Recognized":"Aitheanta","Recovery Code":"Cód Aisghabháil","Red":"Dearg","Refresh":"Athnuaigh","Regions":"Réigiúin","Register":"Clár","Reload":"Athlódáil","Reloading…":"Á athlódáil…","Remote Sync":"Sync Cianda","Remove":"Bain","remove failed: unknown album":"bhaint theip: albam anaithnid","Remove from Album":"Bain as an albam","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Bain comhaid iompórtáilte chun stóras a shábháil. Ní scriosfar cineálacha comhaid nach dtacaítear leo go deo, fanann siad ina suíomh reatha.","Request failed - are you offline?":"Theip ar an iarratas - an bhfuil tú as líne?","Request failed - invalid response":"Theip ar an iarratas - freagra neamhbhailí","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"A éileamh go ndéanfaí athbhreithniú ar íomhánna neamh-ghrianghrafadóireachta agus ar cháilíocht íseal sula dtaispeánfar iad i dtorthaí cuardaigh.","Resolution":"Rún","Restart":"Atosaigh","Restore":"Athchóirigh","Restored":"Athchóiríodh","Retry Limit":"Atriail Teorainn","Retype Password":"Athchlóscríobh Pasfhocal","Review":"Léirmheas","Role":"Ról","Rows per page:":"Sraitheanna in aghaidh an leathanaigh:","Satellite":"Satailít","Save":"Sábháil","Scan":"Scanadh","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Scan an cód QR le d'aip fíordheimhnitheora nó bain úsáid as an eochair socraithe a thaispeántar thíos agus ansin cuir isteach an cód fíoraithe ginte:","Scans":"Scananna","Scope":"Raon feidhme","Search":"Cuardach","Search and display photos on a map.":"Cuardaigh agus taispeáin grianghraif ar léarscáil.","Season":"Séasúr","Secret":"Rúnda","Security and Access":"Slándáil agus Rochtain","Select":"Roghnaigh","Select a source folder to import files…":"Roghnaigh fillteán foinse chun comhaid a iompórtáil…","Select date":"Roghnaigh dáta","Select dates":"Roghnaigh dátaí","Select or create an album":"Roghnaigh nó cruthaigh albam","Select the files to upload…":"Roghnaigh na comhaid le huaslódáil…","Select the folder to be indexed…":"Roghnaigh an fillteán atá le hinnéacsú…","Select Time":"Roghnaigh Am","Selection approved":"Faomhadh an roghnúcháin","Selection archived":"Roghnaithe sa chartlann","Selection restored":"Athchóiríodh an roghnúchán","Sequential Name":"Ainm Seicheamhach","Service URL":"URL seirbhíse","Services":"Seirbhísí","Session":"Seisiún","Session ID":"Aitheantas an tseisiúin","Sessions":"Seisiúin","Set as Album Cover":"Socraigh mar Chlúdach Albam","Settings":"Socruithe","Settings saved":"Socruithe sábháilte","Setup":"Socrú","Share":"Comhroinn","Share %{s}":"Roinn %{s}","Share your pictures with other apps and services.":"Roinn do chuid pictiúr le haipeanna agus seirbhísí eile.","Show":"Taispeáin","Show all new faces":"Taispeáin gach aghaidh nua","Show Captions":"Taispeáin Fotheidil","Show hidden":"Taispeáin i bhfolach","Show less":"Taispeáin níos lú","Show more":"Taispeáin níos mó","Show server logs in Library.":"Taispeáin logaí freastalaí sa Leabharlann.","Show Titles":"Taispeáin Teidil","Sidecar":"Taobhcharr","Sidecar Files":"Comhaid Thaobhcharr","Sign in":"Sínigh isteach","Similar":"Cosúil","Size":"Méid","Slideshow":"Taispeántas sleamhnán","Slow":"Mall","Software":"Bogearraí","Software Update":"Nuashonrú Bogearraí","Something went wrong, try again":"Chuaigh rud éigin mícheart, bain triail eile as","Sort by":"Sórtáil de réir","Sort Order":"Ordú Sórtála","Sorted ascending.":"Sórtáilte ardaitheach.","Sorted descending.":"Sórtáilte íslitheach.","Source":"Foinse","Stack":"Cruachán","Stack files sharing the same unique image or instance identifier.":"Stack comhaid a roinnt ar an íomhá uathúil céanna nó aitheantóir shampla.","Stack pictures taken at the exact same time and location based on their metadata.":"Stack pictiúir a tógadh ag an am céanna agus an suíomh céanna bunaithe ar a meiteashonraí.","Stackable":"Cruachta","Stacks":"Cruacha","Start":"Tosaigh","Start Page":"Leathanach Tosaigh","Static Size Limit: %{n}px":"Teorainn Mhéid Statach: %{n}px","Status":"Stádas","Storage":"Stóráil","Streets":"Sráideanna","Subject":"Ábhar","Submit":"Cuir isteach","Successfully activated":"Cuireadh i ngníomh go rathúil","Successfully Connected":"D'éirigh leis Ceangailte","Successfully deleted":"Scriosadh go rathúil","Successfully verified":"D'éirigh leis a fhíorú","Super Admin":"Sár-Riarachán","Support for additional services, like Google Drive, will be added over time.":"Cuirfear tacaíocht le haghaidh seirbhísí breise, amhail Google Drive, leis in imeacht ama.","Support Our Mission":"Tacaigh lenár Misean","Sync":"Sioncrónaigh","Sync raw and video files":"Sioncronaigh comhaid amh agus físe","Taken":"Tógtha","Teal":"Teal","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"Tá TensorFlow ag teastáil le haghaidh aicmiú íomhá, aithint aghaidhe, agus ábhar neamhshábháilte a bhrath.","Terrain":"tír-raon","Text":"Téacs","Text too long":"Téacs ró-fhada","Thank You for Your Support!":"Go raibh maith agat as do Thacaíocht!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Sin an fáth a tógadh PhotoPrim ón talamh aníos le rith cibé áit a dteastaíonn uait é, gan cur isteach ar shaoirse, ar phríobháideachas ná ar fheidhmiúlacht.","The index currently contains %{n} hidden files.":"Tá %{n} comhad folaithe san innéacs faoi láthair.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Seans nach dtacaítear lena bhformáid, níor tiontaigh go JPEG iad go fóill nó go bhfuil dúbailt ann.","Theme":"Téama","This field is required":"Tá an réimse seo ag teastáil","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Gléasann sé seo an bunfhillteán mar thiomántán líonra agus ligeann sé duit comhaid a oscailt, a chur in eagar agus a scriosadh ó do ríomhaire nó ó do ghuthán cliste amhail is go raibh siad áitiúil.","Time UTC":"Am UTC","Time Zone":"Crios Ama","Timeout":"Teorainn Ama","Title":{"Account":"Teideal","Photo":"Teideal","":"Teideal"},"Title / Position":"Teideal / Post","Title too long":"Teideal ró-fhada","to":"chuig","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Chun a sheachaint a bheith glasáilte amach ó do chuntas, íoslódáil, priontáil nó cóipeáil an cód athshlánaithe seo anois agus coinnigh in áit shábháilte é.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Chun pasfhocal nua a bhaineann go sonrach le haip a ghiniúint, cuir isteach ainm agus raon feidhme údaraithe an fheidhmchláir agus roghnaigh dáta éaga:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Chun athrú go haip nó gléas fíordheimhneora nua, díghníomhachtaigh fíordheimhniú dhá fhachtóir ar dtús agus ansin athghníomhaigh é:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Chun uasghrádú a dhéanamh, is féidir leat cód gníomhachtúcháin a chur isteach nó cliceáil \"Cláraigh\" chun clárú ar ár suíomh Gréasáin:","Today":"Inniu","Toggle View":"Scoránaigh Amharc","Token":"Comhartha","Too many files selected":"An iomarca comhad roghnaithe","Too many requests":"An iomarca iarratas","Troubleshooting":"Fabhtcheartú","Try again using other filters or keywords.":"Bain triail eile as scagairí nó eochairfhocail eile.","Two-factor authentication has been enabled for your account.":"Cumasaíodh fíordheimhniú dhá fhachtóir do do chuntas.","Type":"Cineál","Unauthorized":"Neamhúdaraithe","Undo":"Cealaigh","Unique ID":"Aitheantas uathúil","Unknown":"Anaithnid","Unregistered":"Neamhchláraithe","Unsorted":"Neamhshórtáilte","Unstack":"Díscrios","Updated":"Nuashonraithe","Updating faces":"Aghaidheanna á nuashonrú","Updating index":"Innéacs á nuashonrú","Updating moments":"Nóiméid á nuashonrú","Updating picture…":"Pictiúr á nuashonrú…","Updating previews":"Réamhamhairc á nuashonrú","Updating stacks":"Stoic á nuashonrú","Upgrade":"Uasghrádú","Upgrade Now":"Uasghrádaigh Anois","Upload":"Uaslódáil","Upload complete":"Uaslódáil iomlán","Upload complete. Indexing…":"Uaslódáil iomlán. Innéacsú…","Upload failed":"Theip ar an uaslódáil","Upload local files":"Íoslódáil comhaid áitiúla","Upload Path":"Bealach Uaslódáil","Upload to WebDAV and share links with friends.":"Uaslódáil chuig WebDAV agus roinn naisc le cairde.","Uploading %{n} of %{t}…":"%{n} de %{t} á uaslódáil…","Uploading photos…":"Grianghraif á n-uaslódáil…","Uploading…":"Á uaslódáil…","Uploads that may contain such images will be rejected automatically.":"Diúltófar go huathoibríoch d’uaslódálacha a bhféadfadh íomhánna den sórt sin a bheith iontu.","Use Presets":"Úsáid Réamhshocruithe","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Úsáid an cód athshlánaithe seo a leanas chun rochtain a fháil ar do chuntas nuair nach bhfuil tú in ann cód fíoraithe bailí a ghiniúint le d’aip fíordheimhneora:","Use your recovery code or contact an administrator for help.":"Bain úsáid as do chód athshlánaithe nó déan teagmháil le riarthóir chun cabhair a fháil.","User":"Úsáideoir","User Guide":"Treoir Úsáideora","User Interface":"Comhéadan Úsáideora","Username":"Ainm úsáideora","Users":"Úsáideoirí","Vector":"Veicteoir","Vectors":"Veicteoirí","Verification Code":"Cód Fíoraithe","Video":"Físeán","Video Duration":"Fad Físeáin","Videos":"Físeáin","View":"Amharc","View search results as a list.":"Féach ar thorthaí cuardaigh mar liosta.","Viewer":"Amharcóir","Visitor":"Cuairteoir","Visual Similarity":"Cosúlacht Amharc","Warning":"Rabhadh","We appreciate your feedback!":"Táimid buíoch as do chuid aiseolais!","We do our best to respond within five business days or less.":"Déanaimid ár ndícheall freagra a thabhairt laistigh de chúig lá gnó nó níos lú.","Web Login":"Logáil Isteach Gréasáin","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"Is féidir le cliaint WebDAV ceangal le PhotoPrim leis an URL seo a leanas:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"Is féidir le cliaint WebDAV, cosúil le Windows Explorer nó Aimsitheoir Apple de chuid Microsoft, nascadh go díreach le PhotoPrism.","WebDAV Upload":"Uaslódáil WebDAV","WebGL support is disabled in your browser":"Tá tacaíocht WebGL díchumasaithe i do bhrabhsálaí","Website":"Suíomh Gréasáin","White":"Bán","Work Details":"Sonraí Oibre","Year":"Bliain","Yellow":"Buí","Yes":"Tá","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Tá fáilte romhat teagmháil a dhéanamh linn ag membership@photoprism.app le haghaidh ceisteanna maidir le do bhallraíocht.","You can only download one album":"Is féidir leat a íoslódáil albam amháin","You can only download one label":"Ní féidir leat ach lipéad amháin a íoslódáil","You can upload up to %{n} files for test purposes.":"Is féidir leat suas le %{n} comhad a uaslódáil chun críocha tástála.","You may only select one item":"Ní féidir leat ach mír amháin a roghnú","You may rescan your library to find additional faces.":"Is féidir leat do leabharlann a athscanadh chun aghaidheanna breise a fháil.","Your account has been successfully connected.":"D'éirigh le do chuntas a nascadh.","Your browser does not support WebGL":"Ní thacaíonn do bhrabhsálaí le WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Cuidíonn do thacaíocht leanúnach linn nuashonruithe rialta a sholáthar agus fanacht neamhspleách, ionas gur féidir linn ár misean a chomhlíonadh agus do phríobháideachas a chosaint.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Déantar anailís leanúnach ar do leabharlann chun albam chuimhneacháin, thurais agus áiteanna speisialta a chruthú go huathoibríoch.","Zoom in/out":"Súmáil isteach/amach"}} \ No newline at end of file +{"ga":{"{0} appended action":"{0} gníomh curtha leis","{0} files":"{0} gcomhad","{0} files ({1} in total)":"{0} comhad ({1} san iomlán)","{0} more":"{0} eile","{0} prepended action":"{0} gníomh réamhullmhaithe","{0} selected":"{0} roghnaithe","{0}-{1} of {2}":"{0}-{1} de {2}","%{n} albums found":"Aimsíodh %{n} albam","%{n} files uploaded":"%{n} comhad uaslódála","%{n} folders found":"Aimsíodh %{n} fillteán","%{n} GB of %{q} GB used":"Úsáideadh %{n} GB as %{q} GB","%{n} labels found":"Aimsíodh %{n} lipéad","%{n} people found":"Aimsíodh %{n} duine","%{n} pictures found":"Aimsíodh %{n} pictiúr","%{s} is too long":"Tá %{s} rófhada","%{s} is too short":"Tá %{s} ró-ghearr","1 hour":"1 uair","12 hours":"12 uair an chloig","2-Factor Authentication":"Fíordheimhniú 2-Fachtóir","2FA":"2FA","4 hours":"4 uair an chloig","A click will copy it to your clipboard.":"Déanfaidh cliceáil é a chóipeáil chuig do ghearrthaisce.","A new version of %{s} is available:":"Tá leagan nua de %{s} ar fáil:","About":"Maidir","Access Token":"Comhartha Rochtana","Account":"Cuntas","Account created":"Cuntas cruthaithe","Account deleted":"Scriosadh an cuntas","Account restored":"Cuntas athchóirithe","Accounts":"Cuntais","Accuracy":"Cruinneas","Action":"Gníomh","Actions":"Gníomhartha","Activate":"Gníomhachtaigh","Activate to remove sorting.":"Gníomhachtaigh chun sórtáil a bhaint.","Activate to sort ascending.":"Gníomhachtaigh chun dul suas a shórtáil.","Activate to sort descending.":"Gníomhachtaigh chun íslitheach a shórtáil.","Activation Code":"Cód gníomhachtúcháin","Add":"Cuir","Add %{s}?":"Cuir %{s} leis?","Add Account":"Cuir Cuntas leis","Add Album":"Cuir Albam leis","Add files to your library via Web Upload.":"Cuir comhaid le do leabharlann trí Uaslódáil Gréasáin.","Add Link":"Cuir Nasc leis","Add person?":"Cuir duine leis?","Add pictures from search results by selecting them.":"Cuir pictiúir ó thorthaí cuardaigh leis trína roghnú.","Add to album":"Cuir leis an albam","Added":"Curtha leis","Adjust Location":"Coigeartaigh an Suíomh","Admin":"Riarachán","Advanced":"Casta","After 1 day":"Tar éis 1 lá","After 3 days":"Tar éis 3 lá","After 7 days":"Tar éis 7 lá","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Tar éis duit do phasfhocal a chur isteach lena dheimhniú, is féidir leat fíordheimhniú dhá fhachtóir a shocrú le haip nó gléas fíordheimhneora comhoiriúnach:","After one month":"Tar éis míosa","After one year":"Tar éis bliana amháin","After selecting pictures from search results, you can add them to an album using the context menu.":"Tar éis duit pictiúir a roghnú ó thorthaí cuardaigh, is féidir leat iad a chur le halbam ag baint úsáide as an roghchlár comhthéacs.","After two months":"Tar éis dhá mhí","After two weeks":"Tar éis dhá sheachtain","Album":"Albam","Album Backups":"Cúltaca Albam","Album created":"Albam cruthaithe","Album deleted":"Scriosadh an t-albam","Albums":"Albaim","Albums deleted":"Albaim scriosta","All":"Gach","All %{n} albums loaded":"Gach %{n} albam luchtaithe","All %{n} labels loaded":"Gach %{n} lipéad luchtaithe","All %{n} people loaded":"Gach %{n} duine luchtaithe","All Cameras":"Gach ceamaraí","All Categories":"Gach Catagóir","All Colors":"Gach Dathanna","All Countries":"Gach Tíortha","All fields are required":"Tá gach réimse ag teastáil","All files from import folder":"Gach comhad ón bhfillteán allmhairiú","All Lenses":"Gach Lionsaí","All Months":"Gach Míonna","All originals":"Gach bunleagan","All Years":"Gach Bliain","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Nó, is féidir leat comhaid a uaslódáil go díreach chuig freastalaithe WebDAV cosúil le Nextcloud.","Altitude":"Airde","Altitude (m)":"airde (m)","AM":"AM","Animated":"Beoite","Animation":"Beochan","Animations":"Beochana","Any private photos and videos remain private and won't be shared.":"Fanann aon ghrianghraif agus físeáin phríobháideacha príobháideach agus ní roinnfear iad.","API Key":"Eochair API","Application":"Iarratas","Apply":"Cuir iarratas isteach","Approve":"Cheadaigh","Apps and Devices":"Aipeanna agus Gléasanna","Archive":"Cartlann","Archived":"Cartlannaithe","Are you sure you want to archive the selection?":"An bhfuil tú cinnte gur mhaith leat an rogha a chur sa chartlann?","Are you sure you want to delete these albums?":"An bhfuil tú cinnte gur mhaith leat na halbaim seo a scriosadh?","Are you sure you want to delete these labels?":"An bhfuil tú cinnte gur mhaith leat na lipéid seo a scriosadh?","Are you sure you want to delete this account?":"An bhfuil tú cinnte gur mhaith leat an cuntas seo a scriosadh?","Are you sure you want to delete this album?":"An bhfuil tú cinnte gur mian leat an t-albam seo a scriosadh?","Are you sure you want to permanently delete these pictures?":"An bhfuil tú cinnte gur mhaith leat na pictiúir seo a scriosadh go buan?","Are you sure you want to permanently delete this file?":"An bhfuil tú cinnte gur mian leat an comhad seo a scriosadh go buan?","Are you sure?":"An bhfuil tú cinnte?","Artist":"Ealaíontóir","Aspect Ratio":"Cóimheas Gné","Audio":"Fuaime","Authentication":"Fíordheimhniú","Auto":"Auto","Back":"Ar ais","Back to top":"Ar ais go barr","Backup":"Cúltaca","Badge":"Suaitheantas","Base Path":"Conair Bhun","Become a member today, support our mission and enjoy our member benefits!":"Bí i do bhall inniu, tacaigh lenár misean agus bain taitneamh as ár mbuntáistí ball!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Agus sinn 100% féinmhaoinithe agus neamhspleách, is féidir linn geallúint a thabhairt duit nach ndíolfaimid do shonraí choíche agus go mbeimid trédhearcach i gcónaí maidir lenár mbogearraí agus ár seirbhísí.","Bio":"Bith","Birth Date":"Dáta Breithe","Black":"Dubh","Blackman: Lanczos Modification, Less Ringing Artifacts":"Fear Dubh: Modhnú Lanczos, Níos Lú Déantán Glaonna","Blue":"Gorm","Brown":"Donn","Browse":"Brabhsáil","Browse and edit image classification labels.":"Brabhsáil agus cuir in eagar lipéid rangaithe íomhánna.","Browse and share your pictures organized into monthly albums.":"Brabhsáil agus roinn do chuid pictiúr eagraithe ina n-albaim mhíosúla.","Browse Files":"Brabhsáil Comhaid","Browse indexed files and folders in Library.":"Brabhsáil comhaid agus fillteáin innéacsaithe sa Leabharlann.","Bug Report":"Tuairisc ar Fhabht","Busy, please wait…":"Gnóthach, fan go fóill…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Trí úsáid a bhaint as na bogearraí agus na seirbhísí a chuirimid ar fáil, aontaíonn tú lenár dtéarmaí seirbhíse, ár mbeartas príobháideachta, agus ár gcód iompair.","Calendar":"Féilire","Camera":"Ceamara","Camera Serial":"Sraith ceamara","Can't access your authenticator app or device?":"Ní féidir rochtain a fháil ar d'aip nó gléas fíordheimhnitheora?","Can't load more, limit reached":"Ní féidir níos mó a lódáil, shroich an teorainn","Can't select more items":"Ní féidir níos mó míreanna a roghnú","Cancel":"Cealaigh","Cannot copy to clipboard":"Ní féidir cóip a dhéanamh chuig an ngearrthaisce","Caption":"Fotheideal","Cards":"Cártaí","Carousel slide {0} of {1}":"Sleamhnán timpealláin {0} de {1}","Category":"Catagóir","Change Avatar":"Athrú avatar","Change Password":"Athraigh Pasfhocal","Change personal profile and security settings.":"Athraigh próifíl phearsanta agus socruithe slándála.","Change photo titles, locations, and other metadata.":"Athraigh teidil grianghraf, láithreacha agus meiteashonraí eile.","Change private flag":"Athraigh bratach phríobháideach","Changes could not be saved":"Níorbh fhéidir na hathruithe a shábháil","Changes successfully saved":"Sábháladh na hathruithe","Changes to the advanced settings require a restart to take effect.":"Teastaíonn atosú chun athruithe a dhéanamh ar na hardsocruithe chun dul i bhfeidhm.","Checked":"Seiceáilte","Chroma":"Chroma","Cleaning index and cache":"Innéacs agus taisce a ghlanadh","Cleanup":"Glanta","Clear {0}":"Glan {0}","Client":"Cliant","Client Credentials":"Dintiúir Cliant","Close":"Dún","Codec":"Codec","Color":"Dath","Color Profile":"Próifíl Datha","Colors":"Dathanna","Compare Editions":"Déan comparáid idir Eagráin","Complete Rescan":"Críochnaigh Athscanadh","Confidence":"Muinín","Confirm":"Deimhnigh","Connect":"Ceangail","Connect via WebDAV":"Ceangail trí WebDAV","Connected":"Ceangailte","Contact Details":"Sonraí Teagmhála","Contact Us":"Déan Teagmháil Linn","Contains %{n} pictures.":"Tá %{n} pictiúr ann.","Contains one picture.":"Tá pictiúr amháin ann.","Content":"Ábhar","Continue":"Lean ort","Continue with %{provider}":"Lean ar aghaidh le %{provider}","Contributor":"ranníocóir","Converting":"Tiontú","Copied to clipboard":"Cóipeáladh chuig an ngearrthaisce","Copy":"Cóip","Copyright":"Cóipcheart","Couldn't find anything.":"Níorbh fhéidir aon rud a aimsiú.","Country":"Tír","Create Account":"Cruthaigh Cuntas","Create album":"Cruthaigh albam","Create regular backups based on the configured schedule.":"Cruthaigh cúltacaí rialta bunaithe ar an sceideal cumraithe.","Create YAML files to back up album metadata.":"Cruthaigh comhaid YAML chun meiteashonraí albam a chúltaca.","Create YAML sidecar files to back up picture metadata.":"Cruthaigh comhaid taobhcharr YAML chun meiteashonraí pictiúir a chúltaca.","Created":"Cruthaithe","Creating thumbnails for":"Mionsamhlacha a chruthú le haghaidh","Cubic: Moderate Quality, Good Performance":"Ciúbach: Cáilíocht Measartha, Dea-Fheidhmíocht","Current Password":"Pasfhocal Reatha","Custom":"Saincheaptha","Cyan":"Cian","Daily":"laethúil","Database Backups":"Cúltaca Bunachar Sonraí","Day":"Lá","Deactivate":"Díghníomhachtaigh","Debug Logs":"Logchomhaid Dífhabhtaithe","Default":"Réamhshocrú","Default Folder":"Fillteán Réamhshocraithe","Delete":"Scrios","Delete Album":"Scrios Albam","Delete All":"Scrios Uile","Delete all?":"Scrios gach rud?","Delete orphaned index entries, sidecar files and thumbnails.":"Scrios iontrálacha innéacs dílleachta, comhaid taobhcharr agus mionsamhlacha.","Description":"Cur síos","Detailed instructions can be found in our User Guide.":"Is féidir treoracha mionsonraithe a fháil inár dTreoir Úsáideora.","Details":"Sonraí","Dimensions":"Toisí","Disable Backups":"Díchumasaigh Cúltaca","Disable Darktable":"Díchumasaigh Darktable","Disable ExifTool":"Díchumasaigh ExifTool","Disable features that require write permission for the originals folder.":"Díchumasaigh gnéithe a dteastaíonn cead scríofa uathu don fhillteán bunleagan.","Disable FFmpeg":"Díchumasaigh FFmpeg","Disable ImageMagick":"Díchumasaigh ImageMagick","Disable interactive world maps and reverse geocoding.":"Díchumasaigh léarscáileanna idirghníomhacha an domhain agus geochódú droim ar ais.","Disable Places":"Díchumasaigh Áiteanna","Disable RawTherapee":"Díchumasaigh RawTherapee","Disable TensorFlow":"Díchumasaigh TensorFlow","Disable Vectors":"Díchumasaigh Veicteoirí","Disable WebDAV":"Díchumasaigh WebDAV","Disables vector graphics support.":"Díchumasaigh tacaíocht grafaicí veicteora.","Disables video transcoding and thumbnail extraction.":"Díchumasaítear traschódú físeáin agus eastóscadh mionsamhlacha.","Discover":"Faigh amach","Dismiss":"Díbhe","Display Name":"Ainm Taispeána","Display picture captions in search results.":"Taispeáin fotheidil pictiúir i dtorthaí cuardaigh.","Display picture titles in search results.":"Taispeáin teidil pictiúir sna torthaí cuardaigh.","Document":"Doiciméad","Documents":"Doiciméid","Don't use Darktable to convert RAW images.":"Ná húsáid Darktable chun íomhánna RAW a thiontú.","Don't use ImageMagick to convert images.":"Ná húsáid ImageMagick chun íomhánna a thiontú.","Don't use RawTherapee to convert RAW images.":"Ná húsáid RawTherapee chun íomhánna RAW a thiontú.","Done":"Déanta","Done.":"Déanta.","Download":"Íosluchtaigh","Download only original media files, without any automatically generated files.":"Íoslódáil comhaid meán bunaidh amháin, gan aon chomhaid a ghintear go huathoibríoch.","Download remote files":"Íoslódáil comhaid iargúlta","Download single files and zip archives.":"Íoslódáil comhaid aonair agus cartlanna zip.","Downloading…":"Ag íosluchtú…","Downscaling Filter":"Scagaire Íoslaghdaithe","Drag and drop files here":"Tarraing agus scaoil comhaid anseo","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"Mar gheall ar an líon ard ríomhphost a fhaighimid, seans nach mbeidh ár bhfoireann in ann teagmháil a dhéanamh leat láithreach.","Duplicates will be skipped and only appear once.":"Déanfar dúblaigh a scipeáil agus ní thaispeánfar iad ach uair amháin.","Duration":"Fad","Dynamic Previews":"Réamhamhairc Dinimiciúla","Dynamic Size Limit: %{n}px":"Teorainn Mhéid Dinimiciúla: %{n}px","E-Mail":"R-phost","Edit":"Cuir in eagar","Edit %{s}":"Cuir %{s} in eagar","Edit Account":"Cuir Cuntas in Eagar","Edit Photo":"Cuir Grianghraf in Eagar","Edited":"Curtha in eagar","Email":"Ríomhphost","Enable debug mode to display additional logs and help with troubleshooting.":"Cumasaigh mód dífhabhtaithe chun logaí breise a thaispeáint agus chun cabhrú le fabhtcheartaithe.","Enable new features that may be incomplete or unstable.":"Cumasaigh gnéithe nua a d'fhéadfadh a bheith neamhiomlán nó éagobhsaí.","Enables RAW converter presets. May reduce performance.":"Cumasaíonn sé réamhshocruithe tiontaire RAW. D'fhéadfadh sé feidhmíocht a laghdú.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Má chumasaíonn tú fíordheimhniú dhá fhachtóir beidh cód fíorúcháin randamach de dhíth ort chun logáil isteach, mar sin fiú má fhaigheann duine éigin rochtain ar do phasfhocal, ní bheidh siad in ann rochtain a fháil ar do chuntas.","Enter date":"Cuir isteach an dáta","Enter dates":"Cuir isteach dátaí","Enter the code generated by your authenticator app:":"Cuir isteach an cód ginte ag d'aip fíordheimhneora:","Enter verification code":"Cuir isteach cód fíorúcháin","Enter your password to confirm the action and continue:":"Cuir isteach do phasfhocal chun an gníomh a dhearbhú agus lean ar aghaidh:","Error":"Earráid","Errors":"Earráidí","Estimate":"Meastachán","Estimate Locations":"Suímh Meastacháin","Estimate the approximate location of pictures without GPS coordinates.":"Déan meastachán ar shuíomh na bpictiúr go garbh gan comhordanáidí GPS.","Every two days":"Gach dhá lá","Exclude content marked as private from search results, shared albums, labels, and places.":"Fág amach ábhar atá marcáilte mar phríobháideach ó thorthaí cuardaigh, ó albaim chomhroinnte, ó lipéid agus ó áiteanna.","Exclude hidden":"Fág i bhfolach","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"Tá ExifTool ag teastáil chun tacaíocht iomlán a thabhairt do mheiteashonraí, físeáin agus Grianghraif Beo XMP.","Experimental Features":"Gnéithe Turgnamhach","Expires":"In éag","Exposure":"Nochtadh","Extract still images and generate thumbnails while indexing.":"Sliocht íomhánna fósta agus mionsamhlacha a ghiniúint agus tú ag innéacsú.","F Number":"F Uimhir","Face":"Aghaidh","Faces":"Aghaidheanna","Failed removing link":"Theip ar bhaint an nasc","Failed to connect account.":"Theip ar an gcuntas a nascadh.","Failed updating link":"Theip ar an nasc a nuashonrú","Family Name":"Ainm an Teaghlaigh","Fast":"Go tapa","Favorite":"is fearr leat","Favorites":"Ceanáin","Feature Request":"Iarratas Gné","Feedback":"Aiseolas","Female":"Mná","File":"Comhad","File Browser":"Brabhsálaí Comhad","File Conversion":"Tiontú Comhad","File Name":"Ainm an Chomhaid","File Size":"Méid an Chomhaid","Filename":"Ainm comhaid","Files":"Comhaid","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Baineann comhaid a bhfuil ainmneacha seicheamhacha orthu mar 'IMG_1234 (2)' agus 'IMG_1234 (3)' leis an bpictiúr céanna.","First page":"An chéad leathanach","Focal Length":"Fad Fócasach","Folder":"Fillteán","Folder contains %{n} files":"Tá %{n} comhad san fhillteán","Folder is empty":"Tá an fillteán folamh","Folders":"Fillteáin","Forgot password?":"Focal faire dearmadta?","FPS":"CCT","Frames":"Frámaí","Full Access":"Rochtain Iomlán","Fullscreen":"Lánscáileán","General":"Ginearálta","Generate":"Gin","Generate albums of special moments, journeys, and places.":"Gin albaim chuimhneacháin, thurais agus áiteanna speisialta.","Generate Previews":"Gin Réamhamhairc","Generated":"Gineadh","Get Started":"Faigh Tosaigh","Given Name":"Ainm tugtha","Global Options":"Roghanna Domhanda","Go to page {0}":"Téigh go leathanach {0}","Gold":"Óir","Green":"Glas","Grey":"Liath","Guest":"Aoi","Hash":"Hais","Help":"Cabhrú","Help & Support":"Cabhair & Tacaíocht","Hidden":"i bhfolach","Hidden Files":"Comhaid Cheilte","Hide":"Folaigh","Hide photos that have been moved to archive.":"Folaigh grianghraif a cuireadh sa chartlann.","High":"Ard","High Dynamic Range (HDR)":"Raon Ard Dinimiciúla (HDR)","How can we help?":"Conas is féidir linn cabhrú?","Hybrid":"hibrideach","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Má chailleann tú rochtain ar d'aip nó gléas fíordheimhnitheora, is féidir leat do chód athshlánaithe a úsáid chun rochtain a fháil ar do chuntas arís.","Image":"Íomhá","Image Quality":"Cáilíocht Íomhá","Import":"Iompórtáil","Import failed":"Theip ar an iompórtáil","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Déanfar comhaid iompórtáilte a shórtáil de réir dáta agus tabharfar ainm uathúil dóibh chun dúbailt a sheachaint.","Imported files will be sorted by date and given a unique name.":"Déanfar comhaid iompórtáilte a shórtáil de réir dáta agus tabharfar ainm uathúil orthu.","Importing %{s}…":"%{s} á iompórtáil…","Importing files to originals…":"Comhaid á n-iompórtáil go bunleagan…","in":"isteach","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"Ar eagla go bhfuil na pictiúir a bhfuil tú ag súil leo in easnamh, déan do leabharlann arís agus fan go dtí go mbeidh an t-innéacsú críochnaithe.","Include RAW image files when downloading stacks and archives.":"Cuir comhaid íomhá RAW san áireamh agus stoic agus cartlanna á n-íoslódáil agat.","Include sidecar files when downloading stacks and archives.":"Cuir comhaid taobhcharr san áireamh agus stoic agus cartlanna á n-íoslódáil.","Increase storage size or delete files to continue.":"Méadaigh méid na stórála nó scrios comhaid chun leanúint ar aghaidh.","Index":"Innéacs","Index and import files through the user interface.":"Innéacs agus comhaid a allmhairiú tríd an comhéadan úsáideora.","Indexing":"Innéacsú","Indexing failed":"Theip ar an innéacsú","Indexing media and sidecar files…":"Meáin agus comhaid taobhcharr á innéacsú…","Information":"Eolas","Instance ID":"Aitheantas an Cháis","Insufficient storage.":"Stóráil neamhleor.","Interval":"Eatramh","Invalid":"Neamhbhailí","Invalid address":"Seoladh neamhbhailí","Invalid country":"Tír neamhbhailí","Invalid date":"Dáta neamhbhailí","Invalid parameters":"Paraiméadair neamhbhailí","Invalid photo selected":"Grianghraf neamhbhailí roghnaithe","Invalid time":"Am neamhbhailí","Invalid URL":"URL neamhbhailí","It is a one-time use code that will disable 2FA for your account when you use it.":"Is cód úsáide aonuaire é a dhíchumasóidh 2FA do do chuntas nuair a úsáideann tú é.","Item":"Mír","Items per page:":"Míreanna in aghaidh an leathanaigh:","JPEG Quality: %{n}":"Cáilíocht JPEG: %{n}","JPEG Size Limit: %{n}px":"Teorainn Méid JPEG: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"Déantar JPEG agus mionsamhlacha a rindreáil go huathoibríoch de réir mar is gá.","Keywords":"Eochairfhocail","Label":"Lipéad","Labels":"Lipéid","Labels deleted":"Scriosadh na lipéid","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: Caomhnú Mionsonraithe, Déantáin Íosráta","Language":"Teanga","Last Active":"Gníomhach Deiridh","Last Login":"Logáil Isteach Deiridh","Last page":"leathanach deiridh","Last Sync":"Sync Last","Last Used":"Úsáidte is déanaí","Latitude":"Domhanleithead","LDAP/AD":"LDAP/AD","Learn more":"Foghlaim níos mó","Learn More":"Foghlaim níos mó","Legal Information":"Eolas Dlí","Lens":"Lionsa","Library":"Leabharlann","License":"Ceadúnas","Like":"Cosúil","Lime":"Aoil","Limit reached, showing first %{n} files":"Baineadh an teorainn amach, ag taispeáint na chéad %{n} comhad","Linear: Very Smooth, Best Performance":"Líneach: An-réidh, Feidhmíocht is Fearr","Link":"Nasc","List":"Liosta","List View":"Amharc Liosta","Live":"Beo","Live Photos":"Grianghraif Beo","Load more":"Luchtaigh níos mó","Loading items...":"Míreanna á lódáil...","Loading...":"Á lódáil...","Local":"Áitiúil","Local Time":"Am Áitiúil","Location":"Suíomh","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Tá teachtaireachtaí logála le feiceáil anseo aon uair a thagann PhotoPrim ar chomhaid briste, nó nuair a bhíonn fadhbanna eile ann.","Login":"Logáil isteach","Logout":"Lógó amach","Logs":"Logs","Longitude":"Domhanfhad","Low":"Íseal","Magenta":"Mageanta","Main Color":"Príomh Dath","Male":"Fireann","Manage Account":"Bainistigh Cuntas","Manager":"Bainisteoir","Manual":"Lámhleabhar","Manual Upload":"Uaslódáil Láimhe","Maps":"Léarscáileanna","Marker":"Marcóir","Maximum number of accounts has been reached.":"Tá uaslíon na gcuntas sroichte.","Media":"Meáin","Medium":"Meánach","Membership":"Ballraíocht","Merge %{a} with %{b}?":"An bhfuil fonn ort %{a} a chumasc le %{b}?","Message":"Teachtaireacht","Message sent":"Teachtaireacht seolta","Metadata":"Meiteashonraí","Metrics":"Méadracht","Minimize":"Íoslaghdaigh","Missing":"Ar iarraidh","Missing or invalid configuration":"Cumraíocht in easnamh nó cumraíocht neamhbhailí","Moments":"Chuimhneacháin","Monochrome":"Monacrómach","Month":"Mí","More options":"Tuilleadh roghanna","Mosaic":"Mósáic","Most Relevant":"Is Ábhartha","Move Files":"Bog Comhaid","Must have at least %{n} characters.":"Caithfidh %{n} carachtar ar a laghad a bheith ann.","Mute":"Balbhaigh","Name":"Ainm","Name too long":"Ainm ró-fhada","Never":"Riamh","New":"Nua","New Password":"Pasfhocal Nua","Newest First":"Is Déanaí ar dtús","Next":"Ar aghaidh","Next page":"An chéad leathanach eile","Next visual":"Amhairc seo chugainn","No":"Níl","No albums found":"Níor aimsíodh albam","No data available":"Níl aon sonraí ar fáil","No labels found":"Níor aimsíodh aon lipéid","No matching records found":"Níor aimsíodh aon taifid mheaitseála","No more":"Níl níos mó","No people found":"Níor aimsíodh daoine","No pictures found":"Níor aimsíodh aon phictiúir","No recently edited pictures":"Níl aon phictiúir curtha in eagar le déanaí","No results":"Gan aon torthaí","No server connection":"Gan nasc freastalaí","No servers configured.":"Níl aon fhreastalaí cumraithe.","No services configured.":"Níl aon seirbhísí cumraithe.","No thanks":"Níl go raibh maith agat","No warnings or error containing this keyword. Note that search is case-sensitive.":"Níl aon rabhadh nó earráid ina bhfuil an eochairfhocal seo. Tabhair faoi deara go bhfuil an cuardach cás-íogair.","Non-photographic and low-quality images require a review before they appear in search results.":"Teastaíonn athbhreithniú ar íomhánna nach bhfuil grianghrafadóireachta agus ar cháilíocht íseal sula bhfeictear iad i dtorthaí cuardaigh.","None":"Dada","Not allowed":"Ní cheadaítear","Not found":"Ní bhfuarthas","Not sorted.":"Gan sórtáilte.","Not supported":"Ní thacaítear leis","Note you may manually manage your originals folder and importing is optional.":"Tabhair faoi deara gur féidir leat d’fhillteán bunleagan a bhainistiú de láimh agus go bhfuil sé roghnach iompórtáil.","Note:":"Nóta:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Nóta: Ní féidir ach freastalaithe WebDAV, cosúil le Nextcloud nó PhotoPrim, a chumrú mar chianseirbhís le haghaidh cúltaca agus uaslódáil comhad.","Notes":"Nótaí","Nothing to see here yet.":"Níl faic le feiceáil anseo fós.","Nothing was found.":"Ní bhfuarthas aon rud.","Offline":"As líne","OIDC":"OIDC","OK":"ceart go leor","Oldest First":"Is sine ar dtús","On Windows, enter the following resource in the connection dialog:":"Ar Windows, cuir isteach an acmhainn seo a leanas sa dialóg naisc:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"D'fhéadfadh úsáid ard LAP agus cuimhne a bheith mar chúis le giniúint mionsamhlacha ar éileamh. Ní mholtar é do fhreastalaithe teoranta ó thaobh acmhainní agus feistí NAS.","Once a week":"Uair sa tseachtain","One album found":"Aimsíodh albam amháin","One file found":"Fuarthas comhad amháin","One file uploaded":"Uaslódáladh comhad amháin","One folder found":"Fuarthas fillteán amháin","One label found":"Fuarthas lipéad amháin","One person found":"Fuair duine amháin","One picture found":"Fuarthas pictiúr amháin","Only locally managed accounts can be set up for authentication with 2FA.":"Ní féidir ach cuntais a bhainistítear go háitiúil a bhunú le haghaidh fíordheimhnithe le 2FA.","Open":"Oscail","optional":"roghnach","or":"nó","Orange":"Oráiste","Organization":"Eagraíocht","Orientation":"Treoshuíomh","Original file names will be stored and indexed.":"Déanfar bunainmneacha na gcomhad a stóráil agus a innéacsú.","Original Name":"Ainm Bunaidh","Originals":"Bunábhair","Other":"Eile","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Is é an misean atá againn ná an réiteach is cairdiúla don úsáideoir agus don phríobháideacht a sholáthar chun do phictiúr a choinneáil eagraithe agus inrochtana.","Outdoor":"Amuigh faoin aer","Page {0}, Current page":"Leathanach {0}, leathanach reatha","Pages":"Leathanaigh","Pagination Navigation":"Nascleanúint Leathanaigh","Panorama":"Lánléargas","Panoramas":"Lánléargas","Password":"Pasfhocal","Password changed":"Athraíodh an pasfhocal","People":"Daoine","People you share a link with will be able to view public contents.":"Beidh daoine a roinneann tú nasc leo in ann féachaint ar inneachar poiblí.","Permanently deleted":"Scriosta go buan","Permanently remove files to free up storage.":"Bain comhaid go buan chun stóráil a shaoradh.","Person":"Duine","Personal":"Pearsanta","Photo":"Grianghraf","PhotoPrism is 100% self-funded and independent.":"Tá PhotoPrism 100% féinmhaoinithe agus neamhspleách.","PhotoPrism+ Membership":"Ballraíocht PhotoPrism+","Photos":"Grianghraif","Picture Title":"Teideal Pictiúr","Pink":"Bándearg","Place":"Áit","Place & Time":"Áit & Am","Places":"Áiteanna","Please confirm your new password.":"Deimhnigh do phasfhocal nua le do thoil.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Cóipeáil an pasfhocal aipe a gineadh go randamach agus coinnigh in áit shábháilte é, mar ní bheidh tú in ann é a fheiceáil arís:","Please do not upload any private, unlawful or offensive pictures.":"Ná huaslódáil aon pictiúir phríobháideacha, neamhdhleathacha nó maslacha.","Please don't upload photos containing offensive content.":"Ná huaslódáil grianghraif a bhfuil ábhar maslach iontu.","Please enter OTP character {0}":"Cuir isteach carachtar OTP {0}","Please note that changing your password will log you out on other devices and browsers.":"Tabhair faoi deara le do thoil go ndéanfaidh athrú ar do phasfhocal tú a logáil amach ar ghléasanna agus brabhsálaithe eile.","Please restart your instance for the changes to take effect.":"Atosaigh do chás le go dtiocfaidh na hathruithe i bhfeidhm.","Please wait…":"Fan le do thoil…","PM":"PM","PNG Size Limit: %{n}px":"Teorainn Méid PNG: %{n}px","Portrait":"Portráid","Preserve filenames":"Caomhnaigh ainmneacha comhaid","Press enter to create a new album.":"Brúigh Enter chun albam nua a chruthú.","Prevent database and album backups as well as YAML sidecar files from being created.":"Cosc a chur le cúltacaí bunachar sonraí agus albam chomh maith le comhaid taobhcharr YAML ó bheith cruthaithe.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Cosc a chur ar aipeanna eile rochtain a fháil ar PhotoPrim mar thiomántán líonra roinnte.","Preview":"Réamhamharc","Preview Images":"Íomhánna Réamhamhairc","Previous":"Roimhe Seo","Previous page":"An leathanach roimhe seo","Previous visual":"Amhairc roimhe seo","Primary":"Bunscoile","Private":"Príobháideach","Product Feedback":"Aiseolas Táirge","Projection":"Teilgean","Purple":"Corcra","Quality Filter":"Scagaire Cáilíochta","Quality Score":"Scór Cáilíochta","r":"r","Random":"randamach","Rating {0} of {1}":"Rátáil {0} de {1}","Raw":"amh","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Déan gach bunleagan a athinnéacsú, lena n-áirítear comhaid atá innéacsaithe cheana féin agus nach bhfuil aon athrú orthu.","Read-Only Mode":"Mód Inléite Amháin","Recently Added":"Curtha leis le déanaí","Recently Archived":"Cartlannaithe le déanaí","Recently Edited":"Curtha in eagar le déanaí","Recognition starts after indexing has been completed.":"Tosaíonn an t-aitheantas tar éis don innéacsú a bheith críochnaithe.","Recognize faces so people can be assigned and found.":"Aithnigh aghaidheanna ionas gur féidir daoine a shannadh agus a fháil.","Recognized":"Aitheanta","Recovery Code":"Cód Aisghabháil","Red":"Dearg","Refresh":"Athnuaigh","Regions":"Réigiúin","Register":"Clár","Reload":"Athlódáil","Reloading…":"Á athlódáil…","Remote Sync":"Sync Cianda","Remove":"Bain","remove failed: unknown album":"bhaint theip: albam anaithnid","Remove from Album":"Bain as an albam","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Bain comhaid iompórtáilte chun stóras a shábháil. Ní scriosfar cineálacha comhaid nach dtacaítear leo go deo, fanann siad ina suíomh reatha.","Request failed - are you offline?":"Theip ar an iarratas - an bhfuil tú as líne?","Request failed - invalid response":"Theip ar an iarratas - freagra neamhbhailí","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"A éileamh go ndéanfaí athbhreithniú ar íomhánna neamh-ghrianghrafadóireachta agus ar cháilíocht íseal sula dtaispeánfar iad i dtorthaí cuardaigh.","Resolution":"Rún","Restart":"Atosaigh","Restore":"Athchóirigh","Restored":"Athchóiríodh","Retry Limit":"Atriail Teorainn","Retype Password":"Athchlóscríobh Pasfhocal","Review":"Léirmheas","Role":"Ról","Rows per page:":"Sraitheanna in aghaidh an leathanaigh:","Satellite":"Satailít","Save":"Sábháil","Scan":"Scanadh","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Scan an cód QR le d'aip fíordheimhnitheora nó bain úsáid as an eochair socraithe a thaispeántar thíos agus ansin cuir isteach an cód fíoraithe ginte:","Scans":"Scananna","Scope":"Raon feidhme","Search":"Cuardach","Search and display photos on a map.":"Cuardaigh agus taispeáin grianghraif ar léarscáil.","Season":"Séasúr","Secret":"Rúnda","Security and Access":"Slándáil agus Rochtain","Select":"Roghnaigh","Select a source folder to import files…":"Roghnaigh fillteán foinse chun comhaid a iompórtáil…","Select date":"Roghnaigh dáta","Select dates":"Roghnaigh dátaí","Select or create an album":"Roghnaigh nó cruthaigh albam","Select the files to upload…":"Roghnaigh na comhaid le huaslódáil…","Select the folder to be indexed…":"Roghnaigh an fillteán atá le hinnéacsú…","Select Time":"Roghnaigh Am","Selection approved":"Faomhadh an roghnúcháin","Selection archived":"Roghnaithe sa chartlann","Selection restored":"Athchóiríodh an roghnúchán","Sequential Name":"Ainm Seicheamhach","Service URL":"URL seirbhíse","Services":"Seirbhísí","Session":"Seisiún","Session ID":"Aitheantas an tseisiúin","Sessions":"Seisiúin","Set as Album Cover":"Socraigh mar Chlúdach Albam","Settings":"Socruithe","Settings saved":"Socruithe sábháilte","Setup":"Socrú","Share":"Comhroinn","Share %{s}":"Roinn %{s}","Share your pictures with other apps and services.":"Roinn do chuid pictiúr le haipeanna agus seirbhísí eile.","Show":"Taispeáin","Show all new faces":"Taispeáin gach aghaidh nua","Show Captions":"Taispeáin Fotheidil","Show hidden":"Taispeáin i bhfolach","Show less":"Taispeáin níos lú","Show more":"Taispeáin níos mó","Show server logs in Library.":"Taispeáin logaí freastalaí sa Leabharlann.","Show Titles":"Taispeáin Teidil","Sidecar":"Taobhcharr","Sidecar Files":"Comhaid Thaobhcharr","Sign in":"Sínigh isteach","Similar":"Cosúil","Size":"Méid","Slideshow":"Taispeántas sleamhnán","Slow":"Mall","Software":"Bogearraí","Software Update":"Nuashonrú Bogearraí","Something went wrong, try again":"Chuaigh rud éigin mícheart, bain triail eile as","Sort by":"Sórtáil de réir","Sort Order":"Ordú Sórtála","Sorted ascending.":"Sórtáilte ardaitheach.","Sorted descending.":"Sórtáilte íslitheach.","Source":"Foinse","Stack":"Cruachán","Stack files sharing the same unique image or instance identifier.":"Stack comhaid a roinnt ar an íomhá uathúil céanna nó aitheantóir shampla.","Stack pictures taken at the exact same time and location based on their metadata.":"Stack pictiúir a tógadh ag an am céanna agus an suíomh céanna bunaithe ar a meiteashonraí.","Stackable":"Cruachta","Stacks":"Cruacha","Start":"Tosaigh","Start Page":"Leathanach Tosaigh","Static Size Limit: %{n}px":"Teorainn Mhéid Statach: %{n}px","Status":"Stádas","Storage":"Stóráil","Streets":"Sráideanna","Subject":"Ábhar","Submit":"Cuir isteach","Successfully activated":"Cuireadh i ngníomh go rathúil","Successfully Connected":"D'éirigh leis Ceangailte","Successfully deleted":"Scriosadh go rathúil","Successfully verified":"D'éirigh leis a fhíorú","Super Admin":"Sár-Riarachán","Support for additional services, like Google Drive, will be added over time.":"Cuirfear tacaíocht le haghaidh seirbhísí breise, amhail Google Drive, leis in imeacht ama.","Support Our Mission":"Tacaigh lenár Misean","Sync":"Sioncrónaigh","Sync raw and video files":"Sioncronaigh comhaid amh agus físe","Taken":"Tógtha","Teal":"Teal","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"Tá TensorFlow ag teastáil le haghaidh aicmiú íomhá, aithint aghaidhe, agus ábhar neamhshábháilte a bhrath.","Terrain":"tír-raon","Text":"Téacs","Text too long":"Téacs ró-fhada","Thank You for Your Support!":"Go raibh maith agat as do Thacaíocht!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Sin an fáth a tógadh PhotoPrim ón talamh aníos le rith cibé áit a dteastaíonn uait é, gan cur isteach ar shaoirse, ar phríobháideachas ná ar fheidhmiúlacht.","The index currently contains %{n} hidden files.":"Tá %{n} comhad folaithe san innéacs faoi láthair.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Seans nach dtacaítear lena bhformáid, níor tiontaigh go JPEG iad go fóill nó go bhfuil dúbailt ann.","Theme":"Téama","This field is required":"Tá an réimse seo ag teastáil","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Gléasann sé seo an bunfhillteán mar thiomántán líonra agus ligeann sé duit comhaid a oscailt, a chur in eagar agus a scriosadh ó do ríomhaire nó ó do ghuthán cliste amhail is go raibh siad áitiúil.","Time UTC":"Am UTC","Time Zone":"Crios Ama","Timeout":"Teorainn Ama","Title":{"Account":"Teideal","Photo":"Teideal","":"Teideal"},"Title / Position":"Teideal / Post","Title too long":"Teideal ró-fhada","to":"chuig","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Chun a sheachaint a bheith glasáilte amach ó do chuntas, íoslódáil, priontáil nó cóipeáil an cód athshlánaithe seo anois agus coinnigh in áit shábháilte é.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Chun pasfhocal nua a bhaineann go sonrach le haip a ghiniúint, cuir isteach ainm agus raon feidhme údaraithe an fheidhmchláir agus roghnaigh dáta éaga:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Chun athrú go haip nó gléas fíordheimhneora nua, díghníomhachtaigh fíordheimhniú dhá fhachtóir ar dtús agus ansin athghníomhaigh é:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Chun uasghrádú a dhéanamh, is féidir leat cód gníomhachtúcháin a chur isteach nó cliceáil \"Cláraigh\" chun clárú ar ár suíomh Gréasáin:","Today":"Inniu","Toggle View":"Scoránaigh Amharc","Token":"Comhartha","Too many files selected":"An iomarca comhad roghnaithe","Too many requests":"An iomarca iarratas","Troubleshooting":"Fabhtcheartú","Try again using other filters or keywords.":"Bain triail eile as scagairí nó eochairfhocail eile.","Two-factor authentication has been enabled for your account.":"Cumasaíodh fíordheimhniú dhá fhachtóir do do chuntas.","Type":"Cineál","Unable to delete":"Ní féidir scriosadh","Unauthorized":"Neamhúdaraithe","Undo":"Cealaigh","Unique ID":"Aitheantas uathúil","Unknown":"Anaithnid","Unregistered":"Neamhchláraithe","Unsorted":"Neamhshórtáilte","Unstack":"Díscrios","Updated":"Nuashonraithe","Updating faces":"Aghaidheanna á nuashonrú","Updating index":"Innéacs á nuashonrú","Updating moments":"Nóiméid á nuashonrú","Updating picture…":"Pictiúr á nuashonrú…","Updating previews":"Réamhamhairc á nuashonrú","Updating stacks":"Stoic á nuashonrú","Upgrade":"Uasghrádú","Upgrade Now":"Uasghrádaigh Anois","Upload":"Uaslódáil","Upload complete":"Uaslódáil iomlán","Upload complete. Indexing…":"Uaslódáil iomlán. Innéacsú…","Upload failed":"Theip ar an uaslódáil","Upload local files":"Íoslódáil comhaid áitiúla","Upload Path":"Bealach Uaslódáil","Upload to WebDAV and share links with friends.":"Uaslódáil chuig WebDAV agus roinn naisc le cairde.","Uploading %{n} of %{t}…":"%{n} de %{t} á uaslódáil…","Uploading photos…":"Grianghraif á n-uaslódáil…","Uploading…":"Á uaslódáil…","Uploads that may contain such images will be rejected automatically.":"Diúltófar go huathoibríoch d’uaslódálacha a bhféadfadh íomhánna den sórt sin a bheith iontu.","Use Presets":"Úsáid Réamhshocruithe","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Úsáid an cód athshlánaithe seo a leanas chun rochtain a fháil ar do chuntas nuair nach bhfuil tú in ann cód fíoraithe bailí a ghiniúint le d’aip fíordheimhneora:","Use your recovery code or contact an administrator for help.":"Bain úsáid as do chód athshlánaithe nó déan teagmháil le riarthóir chun cabhair a fháil.","User":"Úsáideoir","User Guide":"Treoir Úsáideora","User Interface":"Comhéadan Úsáideora","Username":"Ainm úsáideora","Users":"Úsáideoirí","Vector":"Veicteoir","Vectors":"Veicteoirí","Verification Code":"Cód Fíoraithe","Video":"Físeán","Video Duration":"Fad Físeáin","Videos":"Físeáin","View":"Amharc","View search results as a list.":"Féach ar thorthaí cuardaigh mar liosta.","Viewer":"Amharcóir","Visitor":"Cuairteoir","Visual Similarity":"Cosúlacht Amharc","Warning":"Rabhadh","We appreciate your feedback!":"Táimid buíoch as do chuid aiseolais!","We do our best to respond within five business days or less.":"Déanaimid ár ndícheall freagra a thabhairt laistigh de chúig lá gnó nó níos lú.","Web Login":"Logáil Isteach Gréasáin","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"Is féidir le cliaint WebDAV ceangal le PhotoPrim leis an URL seo a leanas:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"Is féidir le cliaint WebDAV, cosúil le Windows Explorer nó Aimsitheoir Apple de chuid Microsoft, nascadh go díreach le PhotoPrism.","WebDAV Upload":"Uaslódáil WebDAV","WebGL support is disabled in your browser":"Tá tacaíocht WebGL díchumasaithe i do bhrabhsálaí","Website":"Suíomh Gréasáin","White":"Bán","Work Details":"Sonraí Oibre","Year":"Bliain","Yellow":"Buí","Yes":"Tá","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Tá fáilte romhat teagmháil a dhéanamh linn ag membership@photoprism.app le haghaidh ceisteanna maidir le do bhallraíocht.","You can only download one album":"Is féidir leat a íoslódáil albam amháin","You can only download one label":"Ní féidir leat ach lipéad amháin a íoslódáil","You can search for a location or move the marker on the map to change the position:":"Is féidir leat suíomh a chuardach nó an marcóir a bhogadh ar an léarscáil chun an suíomh a athrú:","You can upload up to %{n} files for test purposes.":"Is féidir leat suas le %{n} comhad a uaslódáil chun críocha tástála.","You may only select one item":"Ní féidir leat ach mír amháin a roghnú","You may rescan your library to find additional faces.":"Is féidir leat do leabharlann a athscanadh chun aghaidheanna breise a fháil.","Your account has been successfully connected.":"D'éirigh le do chuntas a nascadh.","Your browser does not support WebGL":"Ní thacaíonn do bhrabhsálaí le WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Cuidíonn do thacaíocht leanúnach linn nuashonruithe rialta a sholáthar agus fanacht neamhspleách, ionas gur féidir linn ár misean a chomhlíonadh agus do phríobháideachas a chosaint.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Déantar anailís leanúnach ar do leabharlann chun albam chuimhneacháin, thurais agus áiteanna speisialta a chruthú go huathoibríoch.","Zoom in/out":"Súmáil isteach/amach"}} \ No newline at end of file diff --git a/frontend/src/locales/json/he.json b/frontend/src/locales/json/he.json index eeb10cc13..44b4bf065 100644 --- a/frontend/src/locales/json/he.json +++ b/frontend/src/locales/json/he.json @@ -1 +1 @@ -{"he":{"{0} appended action":"פעולה צורפה {0}","{0} files":"{0} קבצים","{0} files ({1} in total)":"{0} קבצים ({1} בסך הכל)","{0} more":"{0} נוספים","{0} prepended action":"פעולה מקדימה של {0}","{0} selected":"נבחרו {0}","{0}-{1} of {2}":"{0}-{1} מתוך {2}","%{n} albums found":"%{n} אלבומים נמצאו","%{n} files uploaded":"%{n} קבצים הועלו","%{n} folders found":"%{n} תיקיות הועלו","%{n} GB of %{q} GB used":"%{n} GB מתוך %{q} GB בשימוש","%{n} labels found":"%{n} תוויות נמצאו","%{n} people found":"%{n} אנשים מצאו","%{n} pictures found":"נמצאו %{n} תמונות","%{s} is too long":"%{s} ארוך מדי","%{s} is too short":"%{s} קצר מדי","1 hour":"שעה","12 hours":"12 שעות","2-Factor Authentication":"אימות דו-גורמי","2FA":"2FA","4 hours":"4 שעות","A click will copy it to your clipboard.":"לחיצה תעתיק את זה.","A new version of %{s} is available:":"גרסה חדשה של %{s} זמינה:","About":"אודות","Access Token":"אסימון גישה","Account":"חשבון","Account created":"החשבון נוצר","Account deleted":"החשבון נמחק","Account restored":"החשבון שוחזר","Accounts":"חשבונות","Accuracy":"דיוק","Action":"פעולה","Actions":"פעולות","Activate":"הפעלה","Activate to remove sorting.":"הפעל כדי להסיר מיון.","Activate to sort ascending.":"הפעל כדי למיין עולה.","Activate to sort descending.":"הפעל כדי למיין יורד.","Activation Code":"קוד הפעלה","Add":"הוספה","Add %{s}?":"להוסיף %{s}?","Add Account":"הוספת חשבון","Add Album":"הוספת אלבום","Add files to your library via Web Upload.":"הוסף קבצים לספריה באמצעות העלאה באתר.","Add Link":"הוספת קישור","Add person?":"להוסיף אדם?","Add pictures from search results by selecting them.":"הוסף תמונות מתוצאות החיפוש על ידי בחירתן.","Add to album":"הוספה לאלבום","Added":"נוסף","Admin":"מנהל מערכת","Advanced":"מתקדם","After 1 day":"אחרי יום","After 3 days":"אחרי 3 ימים","After 7 days":"אחרי 7 ימים","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"לאחר הזנת הסיסמה שלך לאישור, תוכל להגדיר אימות דו-שלבי באמצעות אפליקציית אימות תואמת או מכשיר:","After one month":"אחרי חודש","After one year":"אחרי שנה","After selecting pictures from search results, you can add them to an album using the context menu.":"לאחר בחירת תמונות מתוצאות החיפוש, אפשר להוסיף אותן לאלבום באמצעות תפריט ההקשר.","After two months":"אחרי חודשיים","After two weeks":"אחרי שבועיים","Album":"אלבום","Album Backups":"גיבויי אלבומים","Album created":"האלבום נוצר","Albums":"אלבומים","Albums deleted":"אלבומים נמחקו","All":"כֹּל","All %{n} albums loaded":"כל %{n} האלבומים נטענו","All %{n} labels loaded":"כל %{n} התוויות נטענו","All %{n} people loaded":"כל %{n} האנשים נטענו","All Cameras":"כל המצלמות","All Categories":"כל הקטגוריות","All Colors":"כל הצבעים","All Countries":"כל המדינות","All fields are required":"כל השדות חובה","All files from import folder":"כל הקבצים מתיקיית הייבוא","All Lenses":"כל העדשות","All Months":"כל החודשים","All originals":"כל המקורות","All Years":"כל השנים","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"לחלופין, ניתן להעלות קבצים ישירות דרך שרתי WebDAV כמו Nextcloud.","Altitude":"גובה","Altitude (m)":"גובה (מ')","AM":"AM","Animated":"מונפש","Animation":"אנימציה","Any private photos and videos remain private and won't be shared.":"כל התמונות והסרטונים הפרטיים יישארו פרטיים ולא ישותפו.","API Key":"מפתח API","Application":"יישום","Apply":"החל","Approve":"לאשר","Apps and Devices":"אפליקציות והתקנים","Archive":"ארכיון","Archived":"אורכב","Are you sure you want to archive the selection?":"בטוח לארכב את הבחירה?","Are you sure you want to delete these albums?":"בטוח למחוק את האלבומים האלו?","Are you sure you want to delete these labels?":"בטוח למחוק את התוויות האלו?","Are you sure you want to delete this account?":"בטוח למחוק את החשבונות?","Are you sure you want to permanently delete these pictures?":"אתה בטוח שברצונך למחוק את התמונות לצמיתות?","Are you sure you want to permanently delete this file?":"בטוח למחוק לצמיתות את הקבצים?","Are you sure?":"האם אתה בטוח?","Artist":"אמן","Aspect Ratio":"יחס גובה-רוחב","Audio":"שֶׁמַע","Authentication":"אימות","Auto":"אוטומטי","Back":"חזור","Back to top":"חזרה למעלה","Backup":"גיבוי","Badge":"תָג","Base Path":"נתיב בסיס","Become a member today, support our mission and enjoy our member benefits!":"הפוך לחבר עוד היום, תמכו במשימתנו ותיהנו מהטבות החברים שלנו!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"בהיותנו 100% sממומנים עצמאיים ועצמאיים, אנו יכולים להבטיח לך שלעולם לא נמכור את הנתונים שלך ושתמיד נהיה שקופים לגבי התוכנה והשירותים שלנו.","Bio":"אודותיך","Birth Date":"תאריך לידה","Black":"שחור","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Lanczos Modification, Less Ringing Artifacts","Blue":"כחול","Brown":"חום","Browse":"לְדַפדֵף","Browse and edit image classification labels.":"צפה וערוך תוויות סיווג תמונות.","Browse and share your pictures organized into monthly albums.":"דפדף ושתף את התמונות שלך מאורגנות באלבומים חודשיים.","Browse Files":"עיין בקבצים","Browse indexed files and folders in Library.":"צפה בקבצים ותיקיות שנוספו לאינדקס בספרייה.","Bug Report":"דיווח באג","Busy, please wait…":"עסוק, בבקשה המתן…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"על ידי שימוש בתוכנה ובשירותים שאנו מספקים, אתה מסכים לתנאי השירות, מדיניות הפרטיות וקוד ההתנהגות שלנו.","Calendar":"לוח שנה","Camera":"מצלמה","Camera Serial":"מזהה מצלמה","Can't access your authenticator app or device?":"לא מצליח לגשת לאפליקציית המאמת או למכשיר שלך?","Can't load more, limit reached":"לא ניתן לטעון יותר, הגעת למגבלה","Can't select more items":"לא ניתן לבחור עוד פרטים","Cancel":"ביטול","Caption":"כּוֹתֶרֶת","Cards":"כרטיסים","Carousel slide {0} of {1}":"שקופית קרוסלה {0} מתוך {1}","Category":"קטגוריה","Change Avatar":"שינוי האווטר","Change Password":"שנה סיסמה","Change personal profile and security settings.":"שנה את הפרופיל האישי ואת הגדרות האבטחה.","Change photo titles, locations, and other metadata.":"שנה כותרות תמונות, מיקומים ומטא נתונים אחרים.","Change private flag":"שינוי דגל הפרטיות","Changes could not be saved":"לא ניתן לשמור שינויים","Changes successfully saved":"השינויים נשמרו בהצלחה","Changes to the advanced settings require a restart to take effect.":"שינויים בהגדרות המתקדמות דורשים הפעלה מחדש כדי להיכנס לתוקף.","Checked":"נבחר","Chroma":"Chroma","Cleaning index and cache":"ניקוי אינדקס ומטמון","Cleanup":"לנקות","Clear {0}":"נקה {0}","Client":"לָקוּחַ","Client Credentials":"אישורי לקוח","Close":"סגור","Codec":"קודק","Color":"צבע","Color Profile":"פרופיל צבע","Colors":"צבעים","Compare Editions":"השווה מהדורות","Complete Rescan":"השלם סריקה מחדש","Confidence":"אמון","Confirm":"לְאַשֵׁר","Connect":"התחבר","Connect via WebDAV":"התחבר באמצעות WebDAV","Connected":"מחובר","Contact Details":"פרטי התקשרות","Contact Us":"צור קשר","Contains %{n} pictures.":"מכיל %{n} תמונות.","Contains one picture.":"מכיל תמונה אחת.","Content":"תוֹכֶן","Continue":"לְהַמשִׁיך","Continue with %{provider}":"המשך עם %{provider}","Contributor":"תוֹרֵם","Converting":"ממיר","Copied to clipboard":"הועתק ללוח","Copy":"עותק","Copyright":"זכויות יוצרים","Couldn't find anything.":"לא נמצא דבר.","Country":"מדינה","Create Account":"צור חשבון","Create album":"צור אלבום","Create regular backups based on the configured schedule.":"צור גיבויי אינדקס בהתבסס על לוח הזמנים שהוגדר.","Create YAML files to back up album metadata.":"צור קובצי YAML כדי לגבות מטא נתונים של אלבום.","Create YAML sidecar files to back up picture metadata.":"צור קבצי YAML Sidecar כדי לגבות מטא נתונים של תמונה.","Created":"נוצר","Creating thumbnails for":"יותר תמונות מקדימות עבור","Cubic: Moderate Quality, Good Performance":"מעוקב: איכות בינונית, ביצועים טובים","Current Password":"צור סיסמה","Custom":"מִנְהָג","Cyan":"טורקיז","Daily":"יומי","Database Backups":"גיבויים של מסדי נתונים","Day":"יום","Deactivate":"השבת","Debug Logs":"Debug Logs","Default":"ברירת מחדל","Default Folder":"תיקיית ברירת מחדל","Delete":"מחק","Delete All":"מחק הכל","Delete all?":"למחוק הכל?","Delete orphaned index entries, sidecar files and thumbnails.":"מחק ערכי אינדקס יתומים, קבצי צדדיות ותמונות ממוזערות.","Description":"תיאור","Detailed instructions can be found in our User Guide.":"הוראות מפורטות ניתן למצוא במדריך למשתמש שלנו.","Details":"פרטים","Dimensions":"מידות","Disable Backups":"השבת גיבויים","Disable Darktable":"השבת את Darktable","Disable ExifTool":"השבת את ExifTool","Disable features that require write permission for the originals folder.":"השבת תכונות הדורשות הרשאת כתיבה עבור תיקיית המקור.","Disable FFmpeg":"השבת FFmpeg","Disable ImageMagick":"השבת את ImageMagick","Disable interactive world maps and reverse geocoding.":"השבת מפות עולם אינטראקטיביות וקידוד גיאוגרפי הפוך.","Disable Places":"השבת מיקומים","Disable RawTherapee":"השבת את RawTherapee","Disable TensorFlow":"השבת את TensorFlow","Disable Vectors":"השבת וקטורים","Disable WebDAV":"השבת את WebDAV","Disables vector graphics support.":"משבית תמיכה בגרפיקה וקטורית.","Disables video transcoding and thumbnail extraction.":"משבית את המרת קידוד וידאו וחילוץ תמונות ממוזערות.","Discover":"גלה","Dismiss":"לְפַטֵר","Display Name":"שם תצוגה","Display picture captions in search results.":"הצג כתוביות תמונה בתוצאות החיפוש.","Display picture titles in search results.":"הצג כותרות של תמונות בתוצאות החיפוש.","Document":"מִסְמָך","Documents":"מסמכים","Don't use Darktable to convert RAW images.":"אל תשתמש ב- Darktable להמרת קבצי RAW.","Don't use ImageMagick to convert images.":"אל תשתמש ב-ImageMagick כדי להמיר תמונות.","Don't use RawTherapee to convert RAW images.":"אל תשתמש ב- RawTherapee להמרת קבצי RAW.","Done":"בוצע","Done.":"בוצע.","Download":"הורד","Download only original media files, without any automatically generated files.":"הורד רק קבצי מדיה מקוריים, ללא קבצים שנוצרו אוטומטית.","Download remote files":"הורד קבצים מרוחקים","Download single files and zip archives.":"הורד קבצים בודדים וארכיוני zip.","Downloading…":"מוריד…","Downscaling Filter":"פילטר (אלגוריתם) שנמוך","Drag and drop files here":"גרור ושחרר קבצים כאן","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"בשל כמות המיילים הגבוהה שאנו מקבלים, ייתכן שהצוות שלנו לא יוכל לחזור אליך באופן מיידי.","Duplicates will be skipped and only appear once.":"התעלם מכפילויות, והצג רק אחד.","Duration":"משך","Dynamic Previews":"תצוגות מקדימות דינמיות","Dynamic Size Limit: %{n}px":"גודל דינמי מקסימלי לשמירה במטמון: %{n} פיקסלים","E-Mail":"דוא\"ל","Edit":"ערוך","Edit %{s}":"ערוך %{s}","Edit Account":"ערוך חשבון","Edit Photo":"ערוך תמונה","Edited":"ערוך","Email":"אימייל","Enable debug mode to display additional logs and help with troubleshooting.":"אפשר מצב ניפוי באגים כדי להציג יומנים נוספים ועזרה בפתרון בעיות.","Enable new features that may be incomplete or unstable.":"אפשר תכונות חדשות שעשויות להיות לא שלמות או לא יציבות.","Enables RAW converter presets. May reduce performance.":"מאפשר הגדרות קבועות מראש של ממיר RAW. עשוי להפחית את הביצועים.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"הפעלת אימות דו-גורמי פירושה שתזדקק לקוד אימות שנוצר באקראי כדי להיכנס, כך שגם אם מישהו יקבל גישה לסיסמה שלך, הוא לא יוכל לגשת לחשבון שלך.","Enter date":"הזן תאריך","Enter dates":"הזן תאריכים","Enter the code generated by your authenticator app:":"הזן את הקוד שנוצר על ידי אפליקציית המאמת שלך:","Enter verification code":"הכנס קוד אימות","Enter your password to confirm the action and continue:":"הזן את הסיסמה שלך כדי לאשר את הפעולה והמשך:","Error":"שגיאה","Errors":"שגיאות","Estimate":"לְהַעֲרִיך","Estimate Locations":"הערכת מיקומים","Estimate the approximate location of pictures without GPS coordinates.":"הערך את המיקום המשוער של תמונות ללא קואורדינטות GPS.","Every two days":"כל יומיים","Exclude content marked as private from search results, shared albums, labels, and places.":"אל תכלול תוכן המסומן כפרטי מתוצאות חיפוש, אלבומים משותפים, תוויות ומקומות.","Exclude hidden":"אל תכלול מוסתר","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"חילוץ מטא נתונים עם ExifTool נדרש לתמיכה מלאה בווידאו, צילום חי ו-XMP.","Experimental Features":"תכונות ניסיוניות","Expires":"תפוגה","Exposure":"חשיפה","Extract still images and generate thumbnails while indexing.":"חלץ תמונות סטילס וצור תמונות ממוזערות תוך כדי אינדקס.","F Number":"ערך ה-F (יחס אורך מוקד העדשה)","Face":"פָּנִים","Faces":"פנים","Failed removing link":"הסרת הקישור נכשלה","Failed to connect account.":"חיבור החשבון נכשל.","Failed updating link":"העלאת הקישור נכשלה","Family Name":"שם משפחה","Fast":"מהיר","Favorite":"מועדף","Favorites":"מועדפים","Feature Request":"בקשת תכונה","Feedback":"משוב","Female":"נקבה","File":"קובץ","File Browser":"סייר קבצים","File Conversion":"המרת קבצים","File Name":"שם קובץ","File Size":"גודל הקובץ","Filename":"שם קובץ","Files":"קבצים","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"קבצים עם שמות עוקבים כמו 'IMG_1234 (2)' ו- 'IMG_1234 (3)' שייכים לאותה תמונה.","First page":"עמוד ראשון","Focal Length":"אורך המוקד","Folder":"תיקייה","Folder contains %{n} files":"התיקייה מכילה %{n} קבצים","Folder is empty":"התיקייה ריקה","Folders":"תיקייות","Forgot password?":"שכחת סיסמא?","FPS":"FPS","Frames":"מסגרות","Full Access":"גישה מלאה","Fullscreen":"מסך מלא","General":"כללי","Generate":"לִיצוֹר","Generate albums of special moments, journeys, and places.":"יוצר אוטומטית אלבומים של רגעים מיוחדים, טיולים ומקומות.","Generate Previews":"צור תצוגות מקדימות","Generated":"נוצר","Get Started":"התחל","Given Name":"שם פרטי","Global Options":"אפשרויות גלובליות","Go to page {0}":"עבור לדף {0}","Gold":"זהב","Green":"ירוק","Grey":"אפור","Guest":"אוֹרֵחַ","Hash":"Hash","Help":"עזרה","Help & Support":"עזרה ותמיכה","Hidden":"מוסתר","Hidden Files":"קבצים מוסתרים","Hide":"הסתר","Hide photos that have been moved to archive.":"תמונות מוסתרות שהועברו לארכיון.","High":"גבוה","High Dynamic Range (HDR)":"טווח דינמי גבוה (HDR)","How can we help?":"איך אפשר לעזור?","Hybrid":"משולב","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"אם תאבד את הגישה לאפליקציית המאמת או למכשיר שלך, תוכל להשתמש בקוד השחזור שלך כדי לקבל חזרה גישה לחשבון שלך.","Image":"תמונה","Image Quality":"איכות תמונה","Import":"ייבוא","Import failed":"הייבוא נכשל","Imported files will be sorted by date and given a unique name to avoid duplicates.":"קבצים מיובאים ימוינו לפי תאריך ויקבלו שם ייחודי כדי למנוע כפילויות.","Imported files will be sorted by date and given a unique name.":"קבצים מיובאים ימוינו לפי תאריך ויקבלו שם ייחודי.","Importing %{s}…":"מייבא את %{s}…","Importing files to originals…":"מייבא קבצים למקורות…","in":"ב","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"אם חסרות תמונות שאתה מצפה, סרוק מחדש את הספרייה שלך והמתן עד להשלמת האינדקס.","Include RAW image files when downloading stacks and archives.":"כלול קובצי תמונה RAW בעת הורדת ערימות וארכיונים.","Include sidecar files when downloading stacks and archives.":"כלול קבצי Sidecar בעת הורדת ערימות וארכיונים.","Increase storage size or delete files to continue.":"הגדל את נפח האחסון או מחק קבצים כדי להמשיך.","Index":"אינדקס","Index and import files through the user interface.":"אינדקס ויבוא קבצים דרך ממשק המשתמש.","Indexing":"מאנדקס","Indexing failed":"אינדוקס נכשל","Indexing media and sidecar files…":"יצירת אינדקס של קבצי מדיה וקבצי עזר…","Information":"מֵידָע","Instance ID":"מזהה מופע","Insufficient storage.":"אחסון לא מספיק.","Interval":"הפוגה","Invalid":"לא תקין","Invalid address":"כתובת לא חוקית","Invalid country":"מדינה לא חוקית","Invalid date":"תאריך לא תקין","Invalid parameters":"פרמטרים שגויים","Invalid photo selected":"נבחרה תמונה לא חוקית","Invalid time":"זמן לא חוקי","Invalid URL":"כתובת אתר לא חוקית","It is a one-time use code that will disable 2FA for your account when you use it.":"זהו קוד לשימוש חד פעמי שישבית את 2FA עבור חשבונך כאשר אתה משתמש בו.","Item":"פריט","Items per page:":"פריטים בעמוד:","JPEG Quality: %{n}":"איכות ה-JPEG: %{n}","JPEG Size Limit: %{n}px":"מגבלת גודל קבצי ה-JPEG %{n} פיקסלים","JPEGs and thumbnails are automatically rendered as needed.":"קבצי JPEG וקבצי תצוגה מקדימה נוצרים אוטומטית לפי הצורך.","Keywords":"מילות מפתח","Label":"תווית","Labels":"תוויות","Labels deleted":"תוויות נמחקו","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: שימור פרטים, חפצים מינימליים","Language":"שפה","Last Active":"פעיל אחרון","Last Login":"כניסה אחרונה","Last page":"עמוד אחרון","Last Sync":"סנכרון אחרון","Last Used":"בשימוש אחרון","Latitude":"קו רוחב","LDAP/AD":"LDAP/AD","Learn more":"הצג עוד","Learn More":"הצג עוד","Legal Information":"מידע משפטי","Lens":"עדשה","Library":"ספריה","License":"רשיון","Like":"אהבתי","Lime":"ליים","Limit reached, showing first %{n} files":"לא ניתן להציג יותר, מציג את ה-%{n} קבצים הראשונים","Linear: Very Smooth, Best Performance":"ליניארי: חלק מאוד, הביצועים הטובים ביותר","Link":"קישור","List":"רשימה","List View":"תצוגת רשימה","Live":"חי","Live Photos":"תמונות חיות","Load more":"טען עוד","Loading items...":"טוען פריטים...","Loading...":"טְעִינָה...","Local":"מְקוֹמִי","Local Time":"זמן מוקמי","Location":"מיקום","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"הודעות יומן מופיעות כאן בכל פעם ש- PhotoPrism נתקל בקבצים שבורים, או שיש בעיות פוטנציאליות אחרות.","Login":"התחברות","Logout":"התנתקות","Logs":"יומן","Longitude":"קו אורך","Low":"נמוך","Magenta":"ארגמן","Main Color":"צבע עיקרי","Male":"זכר","Manage Account":"נהל חשבון","Manual":"יָדָנִי","Manual Upload":"העלאה ידנית","Maps":"מפות","Marker":"סמן","Maximum number of accounts has been reached.":"הגעת למספר המקסימלי של חשבונות.","Media":"כְּלֵי תִקְשׁוֹרֶת","Medium":"בינוני","Membership":"חֲבֵרוּת","Merge %{a} with %{b}?":"למזג %{a} עם %{b}?","Message":"הוֹדָעָה","Message sent":"ההודעה נשלחה","Metadata":"מטא נתונים","Metrics":"מדדים","Minimize":"הקטנה","Missing":"חסר","Missing or invalid configuration":"תצורה חסרה או לא חוקית","Moments":"רגעים","Monochrome":"שקפים","Month":"חודש","More options":"אפשרויות נוספות","Mosaic":"פסיפס","Most Relevant":"הכי רלוונטי","Move Files":"העבר קבצים","Must have at least %{n} characters.":"חייב להכיל לפחות %{n} תווים.","Mute":"לְהַשְׁתִיק","Name":"שם","Name too long":"שם ארוך מדי","Never":"לעולם לא","New":"חדש","New Password":"סיסמה חדשה","Newest First":"הכי חדש ראשון","Next":"הַבָּא","Next page":"העמוד הבא","Next visual":"הוויזואלי הבא","No":"לא","No albums found":"לא נמצאו אלבומים","No data available":"אין נתונים זמינים","No labels found":"לא נמצאו תוויות","No matching records found":"לא נמצאו רשומות תואמות","No more":"לא יותר","No people found":"לא נמצאו אנשים","No pictures found":"לא נמצאו תמונות","No recently edited pictures":"אין תמונות שערכו לאחרונה","No server connection":"אין חיבור לשרת","No servers configured.":"לא הוגדר שרת.","No services configured.":"לא הוגדרו שירותים.","No thanks":"לא תודה","No warnings or error containing this keyword. Note that search is case-sensitive.":"אין אזהרות או שגיאות המכילות מילת מפתח זו. שים לב שהחיפוש תלוי רישיות.","Non-photographic and low-quality images require a review before they appear in search results.":"תמונות שאינן נראות צילום או באיכות נמוכה דורשות בדיקה לפני שהן מופיעות בתוצאות החיפוש.","None":"ללא","Not allowed":"אסור","Not found":"לא נמצא","Not sorted.":"לא ממוין.","Not supported":"לא נתמך","Note you may manually manage your originals folder and importing is optional.":"שים לב שאתה יכול לנהל ידנית את תיקיית המקור והייבוא הוא אופציונלי.","Note:":"הערה:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"הערה: רק שרתי WebDAV, כמו Nextcloud או PhotoPrism, ניתנים להגדרה כשירות מרוחק לצורך גיבוי והעלאת קבצים.","Notes":"הערות","Nothing to see here yet.":"אין מה לראות כאן עדיין. התאזר בסבלנות.","Nothing was found.":"לא נמצא דבר.","Offline":"לא מקוון","OIDC":"OIDC","OK":"בְּסֵדֶר","Oldest First":"הישן ראשון","On Windows, enter the following resource in the connection dialog:":"ב-Windows, הזן את המשאב הבא בתיבת הדו-שיח של החיבור:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"יצירת תמונות ממוזערות לפי דרישה עשויה לגרום לשימוש גבוה במעבד ובזיכרון. זה לא מומלץ עבור שרתים מוגבלי משאבים והתקני NAS.","Once a week":"פעם בשבוע","One album found":"אלבום אחד נמצא","One file found":"קובץ אחד נמצא","One file uploaded":"קובץ אחד הועלה","One folder found":"תיקייה אחת נמצאה","One label found":"נמצאה תווית אחת","One person found":"אדם אחד נמצא","One picture found":"תמונה אחת נמצאה","Only locally managed accounts can be set up for authentication with 2FA.":"ניתן להגדיר רק חשבונות בניהול מקומי לאימות עם 2FA.","Open":"לִפְתוֹחַ","optional":"אופציונלי","or":"אוֹ","Orange":"כתום","Organization":"ארגון","Orientation":"אוריינטציה","Original file names will be stored and indexed.":"שמות הקבצים המקוריים יישמרו באינדקס.","Original Name":"השם המקורי","Originals":"קבצי מקור","Other":"אחר","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"המשימה שלנו היא לספק את הפתרון הכי ידידותי למשתמש ולפרטיות כדי לשמור על התמונות שלך מאורגנות ונגישות.","Outdoor":"באוויר הפתוח","Page {0}, Current page":"עמוד {0}, דף נוכחי","Pages":"דפים","Pagination Navigation":"ניווט עימוד","Panorama":"פנורמה","Panoramas":"פנורמות","Password":"סיסמה","Password changed":"סיסמא שונתה","People":"אנשים","People you share a link with will be able to view public contents.":"אנשים שעימם אתה חולק קישור יוכלו להציג תכנים ציבוריים.","Permanently deleted":"נמחק לצמיתות","Permanently remove files to free up storage.":"מחק קבצים לצמיתות בכדי לשחרר נפח אחסון","Person":"אָדָם","Personal":"אישי","Photo":"תמונה","PhotoPrism is 100% self-funded and independent.":"PhotoPrism הוא 100% מימון עצמי ועצמאי.","PhotoPrism+ Membership":"חברות PhotoPrism+","Photos":"תמונות","Picture Title":"כותרת התמונה","Pink":"ורוד","Place":"מקום","Place & Time":"מקום וזמן","Places":"מקומות","Please confirm your new password.":"אנא אשר את הסיסמה החדשה שלך.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"אנא העתק את סיסמת האפליקציה הבאה שנוצרה באופן אקראי ושמור אותה במקום בטוח, מכיוון שלא תוכל לראות אותה שוב:","Please do not upload any private, unlawful or offensive pictures.":"נא לא להעלות תמונות פרטיות, לא חוקיות או פוגעניות.","Please don't upload photos containing offensive content.":"נא לא להעלות תמונות המכילות תוכן פוגעני.","Please enter OTP character {0}":"אנא הזן תו OTP {0}","Please note that changing your password will log you out on other devices and browsers.":"שים לב ששינוי הסיסמה שלך יגרום לך להתנתק ממכשירים ודפדפנים אחרים.","Please restart your instance for the changes to take effect.":"הפעל מחדש את המופע שלך כדי שהשינויים ייכנסו לתוקף.","Please wait…":"המתן בבקשה…","PM":"רֹאשׁ הַמֶמשָׁלָה","PNG Size Limit: %{n}px":"מגבלת גודל קבצי ה-PNG %{n} פיקסלים","Portrait":"דיוקן","Preserve filenames":"שמור שמות קבצים","Press enter to create a new album.":"לחץ על Enter בכדי ליצור אלבום חדש.","Prevent database and album backups as well as YAML sidecar files from being created.":"מנע יצירת גיבויים של מסדי נתונים ואלבומים, כמו גם קבצי YAML Sidecar.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"מנע מאפליקציות אחרות לגשת ל-PhotoPrism ככונן רשת משותף.","Preview":"תצוגה מקדימה","Preview Images":"תצוגה מקדימה של תמונות","Previous":"קוֹדֵם","Previous page":"העמוד הקודם","Previous visual":"חזותית קודמת","Primary":"ראשי","Private":"פרטי","Product Feedback":"משוב על המוצר","Projection":"הקרנה","Purple":"סגול","Quality Filter":"מסנן איכות","Quality Score":"ציון איכות","r":"ר","Random":"אקראי","Rating {0} of {1}":"דירוג {0} מתוך {1}","Raw":"גלמי","RAW":"גלם","Re-index all originals, including already indexed and unchanged files.":"צור אינדקס מחודש של כל קבצי המקור, כולל קבצים שכבר הוספו לאינדקס ולא השתנו.","Read-Only Mode":"מצב קריאה בלבד","Recently Added":"נוסף לאחרונה","Recently Archived":"הועבר לארכיון לאחרונה","Recently Edited":"נערך לאחרונה","Recognition starts after indexing has been completed.":"ההכרה מתחילה לאחר השלמת האינדקס.","Recognize faces so people can be assigned and found.":"מזהה פרצופים כך שאפשר למצוא אנשים ספציפיים.","Recognized":"מוּכָּר","Recovery Code":"קוד שחזור","Red":"אדום","Refresh":"לְרַעֲנֵן","Regions":"אזורים","Register":"הירשם","Reload":"טען מחדש","Reloading…":"טוען מחדש…","Remote Sync":"סנכרון מרוחק","Remove":"הסר","remove failed: unknown album":"הסרה נכשלה: אלבום לא ידוע","Remove from Album":"הסר מהאלבום","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"הסר קבצים מיובאים כדי לחסוך שטח אחסון. סוגי קבצים שאינם נתמכים לעולם לא יימחקו, ויישארו במיקומם הנוכחי.","Request failed - are you offline?":"הבקשה נכשלה - האם אתה במצב לא מקוון?","Request failed - invalid response":"הבקשה נכשלה - תגובה לא חוקית","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"דרוש בדיקה של תמונות שאינן צילומיות ובאיכות נמוכה לפני שהן יופיעו בתוצאות החיפוש.","Resolution":"רזולוציה","Restart":"איתחול","Restore":"לשחזר","Restored":"מְשׁוּחזָר","Retry Limit":"נסה שוב מגבלת","Retype Password":"הזן שוב את הסיסמה","Review":"סקירה","Role":"תַפְקִיד","Rows per page:":"שורות בעמוד:","Satellite":"לוויין","Save":"שמור","Scan":"סרוק","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"סרוק את קוד ה-QR עם אפליקציית המאמת שלך או השתמש במפתח ההגדרה המוצג למטה ולאחר מכן הזן את קוד האימות שנוצר:","Scans":"סריקות","Scope":"תְחוּם","Search":"חיפוש","Search and display photos on a map.":"חפש והצג תמונות על המפה.","Season":"עונה","Secret":"קוד סודי","Security and Access":"אבטחה וגישה","Select":"בחר","Select a source folder to import files…":"בחר תיקיית מקור לייבא קבצים…","Select date":"בחר תאריך","Select dates":"בחר תאריכים","Select or create an album":"בחר או צור אלבום","Select the files to upload…":"בחר את הקבצים להעלאה…","Select the folder to be indexed…":"בחר את התיקיה להוספת אינדקס…","Select Time":"בחר זמן","Selection approved":"הבחירה אושרה","Selection archived":"הבחירה הועברה לארכיון","Selection restored":"הבחירה שוחזרה","Sequential Name":"שמות סדרתיים","Service URL":"נתיב השרות","Services":"שירותים","Session":"מוֹשָׁב","Session ID":"מזהה הפעלה","Sessions":"הפעלות","Set as Album Cover":"מוגדר ככריכת אלבום","Settings":"הגדרות","Settings saved":"ההגדרות נשמרו","Setup":"הגדר","Share":"שתף","Share %{s}":"שתף %{s}","Share your pictures with other apps and services.":"שתף את התמונות שלך עם אפליקציות ושירותים אחרים.","Show":"הצג","Show all new faces":"הצג את כל הפרצופים החדשים","Show Captions":"הצג כיתובים","Show hidden":"הראה את המוסתר","Show less":"הצג פחות","Show more":"הצג עוד","Show server logs in Library.":"הצג יומני שרת בספרייה.","Show Titles":"הצג כותרות","Sidecar":"חזית רכב","Sidecar Files":"קבצי Sidecar","Sign in":"התחבר","Similar":"דומה","Size":"גודל","Slideshow":"מצגת","Slow":"איטי","Software":"תוֹכנָה","Software Update":"עדכון תוכנה","Something went wrong, try again":"קרתה תקלה נסה שוב","Sort by":"מיין לפי","Sort Order":"סדר המיון","Sorted ascending.":"ממוין עולה.","Sorted descending.":"ממוין יורד.","Source":"מקור","Stack":"ערימה","Stack files sharing the same unique image or instance identifier.":"איחוד קבצים המשתפים את אותה התמונה או מזהה מופע ייחודי.","Stack pictures taken at the exact same time and location based on their metadata.":"איחוד תמונות שצולמו באותו זמן ומיקום מדויק, בהתבסס על המטא-נתונים שלהן.","Stackable":"ניתן לקיבוץ","Stacks":"איחודים","Start":"התחל","Start Page":"דף התחלה","Static Size Limit: %{n}px":"מגבלת גודל סטטי במטמון: %{n} פיקסלים","Status":"סטטוס","Storage":"אחסון","Streets":"רחובות","Subject":"נושא","Submit":"לְהַגִישׁ","Successfully activated":"הופעל בהצלחה","Successfully Connected":"מחובר בהצלחה","Successfully deleted":"נמחק בהצלחה","Successfully verified":"אומת בהצלחה","Super Admin":"סופר אדמין","Support for additional services, like Google Drive, will be added over time.":"תמיכה בשירותים נוספים, כמו Google Drive, תתווסף בהמשך.","Support Our Mission":"תמכו במשימה שלנו","Sync":"סינכרון","Sync raw and video files":"סנכרן קבצי תמונה גולמיים וסרטונים","Taken":"נלקח","Teal":"ירוק כחלחל","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow נדרש לסיווג תמונות, זיהוי פנים וזיהוי תוכן לא בטוח.","Terrain":"פְּנֵי הַשֵׁטַח","Text":"טֶקסט","Text too long":"טקסט ארוך מדי","Thank You for Your Support!":"תודה על תמיכתך!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"זו הסיבה ש-PhotoPrism נבנתה מהיסוד לרוץ בכל מקום שתזדקק לו, מבלי להתפשר על חופש, פרטיות או פונקציונליות.","The index currently contains %{n} hidden files.":"האינדקס מכיל כרגע %{n} קבצים מוסתרים.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"ייתכן שהפורמט שלהם לא נתמך, עדיין לא הומרו ל-JPEG או שיש כפילויות.","Theme":"ערכת נושא","This field is required":"שדה זה חובה","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"זה מגדיר את תיקיית המקור ככונן רשת ומאפשר לך לפתוח, לערוך ולמחוק קבצים מהמחשב או מהסמארטפון כל עוד מחוברים לרשת המקומית.","Time UTC":"זמן UTC","Time Zone":"אזור זמן","Timeout":"פסק זמן","Title":{"Account":"כותרת","Photo":"כותרת","":"כותרת"},"Title / Position":"שם / מיקום","Title too long":"הכותרת ארוכה מדי","to":"ל","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"כדי להימנע מנעילת החשבון שלך, אנא הורד, הדפס או העתק את קוד השחזור הזה כעת ושמור אותו במקום בטוח.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"כדי ליצור סיסמה חדשה ספציפית לאפליקציה, הזן את השם והיקף ההרשאה של האפליקציה ובחר תאריך תפוגה:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"כדי לעבור לאפליקציית אימות או מכשיר חדש, תחילה השבת את האימות הדו-שלבי ולאחר מכן הפעל אותו מחדש:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"כדי לשדרג, אתה יכול להזין קוד הפעלה או ללחוץ על \"הירשם\" כדי להירשם לאתר שלנו:","Today":"הַיוֹם","Toggle View":"החלף תצוגה","Token":"טוקן","Too many files selected":"נבחרו יותר מדי קבצים","Too many requests":"יותר מדי בקשות","Troubleshooting":"פתרון בעיות","Try again using other filters or keywords.":"נסה שוב להשתמש בסינון או במילת מפתח שונה.","Two-factor authentication has been enabled for your account.":"אימות דו-שלבי הופעל עבור חשבונך.","Type":"סוג","Unauthorized":"לא מורשה","Undo":"בטל","Unique ID":"מזהה ייחודי","Unknown":"לא ידוע","Unregistered":"משתמש לא רשום","Unsorted":"לא ממוין","Unstack":"לא מקובץ","Updated":"מעודכן","Updating faces":"מעדכן פנים","Updating index":"מעדכן אינדקס","Updating moments":"מעדכן רגעים","Updating picture…":"מעדכן תמונה...","Updating previews":"מעדכן תצוגות מקדימות","Updating stacks":"מעדכן קיבוצים","Upgrade":"שדרוג","Upgrade Now":"שדרג עכשיו","Upload":"העלה","Upload complete":"העלאה הושלמה","Upload complete. Indexing…":"העלאה הושלמה, מאנדקס…","Upload failed":"העלאה נכשלה","Upload local files":"העלה קבצים מקומיים","Upload Path":"נתיב העלאה","Upload to WebDAV and share links with friends.":"העלה ל- WebDAV ושתף קישורים עם חברים.","Uploading %{n} of %{t}…":"מעלה %{n} מתוך %{t}…","Uploading photos…":"מעלה תמונות…","Uploading…":"מעלה...","Uploads that may contain such images will be rejected automatically.":"העלאות שעשויות להכיל תמונות כאלה יידחו אוטומטית.","Use Presets":"השתמש בהגדרות קבועות מראש","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"השתמש בקוד השחזור הבא כדי לגשת לחשבון שלך כאשר אינך יכול ליצור קוד אימות חוקי עם אפליקציית המאמת שלך:","Use your recovery code or contact an administrator for help.":"השתמש בקוד השחזור שלך או פנה למנהל מערכת לקבלת עזרה.","User":"משתמש","User Guide":"מדריך למשתמש","User Interface":"ממשק משתמש","Username":"שם משתמש","Users":"משתמשים","Vector":"וֶקטוֹר","Vectors":"וקטורים","Verification Code":"קוד אימות","Video":"סרטון","Video Duration":"משך הסרטון","Videos":"סרטונים","View":"תצוגה","View search results as a list.":"הצג את תוצאות החיפוש כרשימה.","Viewer":"צוֹפֶה","Visitor":"אורח","Visual Similarity":"דמיון חזותי","Warning":"אַזהָרָה","We appreciate your feedback!":"אנו מעריכים את המשוב שלך!","We do our best to respond within five business days or less.":"אנו עושים כמיטב יכולתנו להשיב תוך חמישה ימי עסקים או פחות.","Web Login":"התחברות לאינטרנט","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"שירותי WebDAV יכולים להתחבר ל-PhotoPrism באמצעות כתובת ה-URL הבאה:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"שירותי WebDAV, כמו סייר Windows של מיקרוסופט או Finder של אפל, יכולים להתחבר ישירות ל-PhotoPrism.","WebDAV Upload":"העלאת WebDAV","WebGL support is disabled in your browser":"תמיכת WebGL מושבתת בדפדפן שלך","Website":"אתר","White":"לבן","Work Details":"פרטי העבודה","Year":"שנה","Yellow":"צהוב","Yes":"כן","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"אתה מוזמן לפנות אלינו בכתובת membership@photoprism.app לשאלות בנוגע לחברות שלך.","You can only download one album":"ניתן להוריד רק אלבום אחד","You can only download one label":"ניתן להוריד רק תווית אחת","You can upload up to %{n} files for test purposes.":"אתה יכול להעלות עד %{n} קבצים למטרות בדיקה.","You may only select one item":"ניתן לבחור רק פריט אחד","You may rescan your library to find additional faces.":"תוכל לסרוק מחדש את הספרייה שלך כדי למצוא פנים נוספות.","Your account has been successfully connected.":"החשבון שלך חובר בהצלחה.","Your browser does not support WebGL":"הדפדפן שלך אינו תומך ב-WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"התמיכה המתמשכת שלך עוזרת לנו לספק עדכונים שוטפים ולהישאר עצמאיים, כדי שנוכל למלא את המשימה שלנו ולהגן על פרטיותך.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"הספרייה שלך מנותחת באופן רציף ליצירת אלבומים של רגעים מיוחדים, טיולים ומקומות באופן אוטומטי.","Zoom in/out":"זום פנימה\\החוצה"}} \ No newline at end of file +{"he":{"{0} appended action":"פעולה צורפה {0}","{0} files":"{0} קבצים","{0} files ({1} in total)":"{0} קבצים ({1} בסך הכל)","{0} more":"{0} נוספים","{0} prepended action":"פעולה מקדימה של {0}","{0} selected":"נבחרו {0}","{0}-{1} of {2}":"{0}-{1} מתוך {2}","%{n} albums found":"%{n} אלבומים נמצאו","%{n} files uploaded":"%{n} קבצים הועלו","%{n} folders found":"%{n} תיקיות הועלו","%{n} GB of %{q} GB used":"%{n} GB מתוך %{q} GB בשימוש","%{n} labels found":"%{n} תוויות נמצאו","%{n} people found":"%{n} אנשים מצאו","%{n} pictures found":"נמצאו %{n} תמונות","%{s} is too long":"%{s} ארוך מדי","%{s} is too short":"%{s} קצר מדי","1 hour":"שעה","12 hours":"12 שעות","2-Factor Authentication":"אימות דו-גורמי","2FA":"2FA","4 hours":"4 שעות","A click will copy it to your clipboard.":"לחיצה תעתיק את זה.","A new version of %{s} is available:":"גרסה חדשה של %{s} זמינה:","About":"אודות","Access Token":"אסימון גישה","Account":"חשבון","Account created":"החשבון נוצר","Account deleted":"החשבון נמחק","Account restored":"החשבון שוחזר","Accounts":"חשבונות","Accuracy":"דיוק","Action":"פעולה","Actions":"פעולות","Activate":"הפעלה","Activate to remove sorting.":"הפעל כדי להסיר מיון.","Activate to sort ascending.":"הפעל כדי למיין עולה.","Activate to sort descending.":"הפעל כדי למיין יורד.","Activation Code":"קוד הפעלה","Add":"הוספה","Add %{s}?":"להוסיף %{s}?","Add Account":"הוספת חשבון","Add Album":"הוספת אלבום","Add files to your library via Web Upload.":"הוסף קבצים לספריה באמצעות העלאה באתר.","Add Link":"הוספת קישור","Add person?":"להוסיף אדם?","Add pictures from search results by selecting them.":"הוסף תמונות מתוצאות החיפוש על ידי בחירתן.","Add to album":"הוספה לאלבום","Added":"נוסף","Adjust Location":"התאם מיקום","Admin":"מנהל מערכת","Advanced":"מתקדם","After 1 day":"אחרי יום","After 3 days":"אחרי 3 ימים","After 7 days":"אחרי 7 ימים","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"לאחר הזנת הסיסמה שלך לאישור, תוכל להגדיר אימות דו-שלבי באמצעות אפליקציית אימות תואמת או מכשיר:","After one month":"אחרי חודש","After one year":"אחרי שנה","After selecting pictures from search results, you can add them to an album using the context menu.":"לאחר בחירת תמונות מתוצאות החיפוש, אפשר להוסיף אותן לאלבום באמצעות תפריט ההקשר.","After two months":"אחרי חודשיים","After two weeks":"אחרי שבועיים","Album":"אלבום","Album Backups":"גיבויי אלבומים","Album created":"האלבום נוצר","Album deleted":"האלבום נמחק","Albums":"אלבומים","Albums deleted":"אלבומים נמחקו","All":"כֹּל","All %{n} albums loaded":"כל %{n} האלבומים נטענו","All %{n} labels loaded":"כל %{n} התוויות נטענו","All %{n} people loaded":"כל %{n} האנשים נטענו","All Cameras":"כל המצלמות","All Categories":"כל הקטגוריות","All Colors":"כל הצבעים","All Countries":"כל המדינות","All fields are required":"כל השדות חובה","All files from import folder":"כל הקבצים מתיקיית הייבוא","All Lenses":"כל העדשות","All Months":"כל החודשים","All originals":"כל המקורות","All Years":"כל השנים","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"לחלופין, ניתן להעלות קבצים ישירות דרך שרתי WebDAV כמו Nextcloud.","Altitude":"גובה","Altitude (m)":"גובה (מ')","AM":"AM","Animated":"מונפש","Animation":"אנימציה","Animations":"אנימציות","Any private photos and videos remain private and won't be shared.":"כל התמונות והסרטונים הפרטיים יישארו פרטיים ולא ישותפו.","API Key":"מפתח API","Application":"יישום","Apply":"החל","Approve":"לאשר","Apps and Devices":"אפליקציות והתקנים","Archive":"ארכיון","Archived":"אורכב","Are you sure you want to archive the selection?":"בטוח לארכב את הבחירה?","Are you sure you want to delete these albums?":"בטוח למחוק את האלבומים האלו?","Are you sure you want to delete these labels?":"בטוח למחוק את התוויות האלו?","Are you sure you want to delete this account?":"בטוח למחוק את החשבונות?","Are you sure you want to delete this album?":"האם אתה בטוח שאתה רוצה למחוק את האלבום הזה?","Are you sure you want to permanently delete these pictures?":"אתה בטוח שברצונך למחוק את התמונות לצמיתות?","Are you sure you want to permanently delete this file?":"בטוח למחוק לצמיתות את הקבצים?","Are you sure?":"האם אתה בטוח?","Artist":"אמן","Aspect Ratio":"יחס גובה-רוחב","Audio":"שֶׁמַע","Authentication":"אימות","Auto":"אוטומטי","Back":"חזור","Back to top":"חזרה למעלה","Backup":"גיבוי","Badge":"תָג","Base Path":"נתיב בסיס","Become a member today, support our mission and enjoy our member benefits!":"הפוך לחבר עוד היום, תמכו במשימתנו ותיהנו מהטבות החברים שלנו!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"בהיותנו 100% sממומנים עצמאיים ועצמאיים, אנו יכולים להבטיח לך שלעולם לא נמכור את הנתונים שלך ושתמיד נהיה שקופים לגבי התוכנה והשירותים שלנו.","Bio":"אודותיך","Birth Date":"תאריך לידה","Black":"שחור","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Lanczos Modification, Less Ringing Artifacts","Blue":"כחול","Brown":"חום","Browse":"לְדַפדֵף","Browse and edit image classification labels.":"צפה וערוך תוויות סיווג תמונות.","Browse and share your pictures organized into monthly albums.":"דפדף ושתף את התמונות שלך מאורגנות באלבומים חודשיים.","Browse Files":"עיין בקבצים","Browse indexed files and folders in Library.":"צפה בקבצים ותיקיות שנוספו לאינדקס בספרייה.","Bug Report":"דיווח באג","Busy, please wait…":"עסוק, בבקשה המתן…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"על ידי שימוש בתוכנה ובשירותים שאנו מספקים, אתה מסכים לתנאי השירות, מדיניות הפרטיות וקוד ההתנהגות שלנו.","Calendar":"לוח שנה","Camera":"מצלמה","Camera Serial":"מזהה מצלמה","Can't access your authenticator app or device?":"לא מצליח לגשת לאפליקציית המאמת או למכשיר שלך?","Can't load more, limit reached":"לא ניתן לטעון יותר, הגעת למגבלה","Can't select more items":"לא ניתן לבחור עוד פרטים","Cancel":"ביטול","Cannot copy to clipboard":"לא ניתן להעתיק ללוח","Caption":"כּוֹתֶרֶת","Cards":"כרטיסים","Carousel slide {0} of {1}":"שקופית קרוסלה {0} מתוך {1}","Category":"קטגוריה","Change Avatar":"שינוי האווטר","Change Password":"שנה סיסמה","Change personal profile and security settings.":"שנה את הפרופיל האישי ואת הגדרות האבטחה.","Change photo titles, locations, and other metadata.":"שנה כותרות תמונות, מיקומים ומטא נתונים אחרים.","Change private flag":"שינוי דגל הפרטיות","Changes could not be saved":"לא ניתן לשמור שינויים","Changes successfully saved":"השינויים נשמרו בהצלחה","Changes to the advanced settings require a restart to take effect.":"שינויים בהגדרות המתקדמות דורשים הפעלה מחדש כדי להיכנס לתוקף.","Checked":"נבחר","Chroma":"Chroma","Cleaning index and cache":"ניקוי אינדקס ומטמון","Cleanup":"לנקות","Clear {0}":"נקה {0}","Client":"לָקוּחַ","Client Credentials":"אישורי לקוח","Close":"סגור","Codec":"קודק","Color":"צבע","Color Profile":"פרופיל צבע","Colors":"צבעים","Compare Editions":"השווה מהדורות","Complete Rescan":"השלם סריקה מחדש","Confidence":"אמון","Confirm":"לְאַשֵׁר","Connect":"התחבר","Connect via WebDAV":"התחבר באמצעות WebDAV","Connected":"מחובר","Contact Details":"פרטי התקשרות","Contact Us":"צור קשר","Contains %{n} pictures.":"מכיל %{n} תמונות.","Contains one picture.":"מכיל תמונה אחת.","Content":"תוֹכֶן","Continue":"לְהַמשִׁיך","Continue with %{provider}":"המשך עם %{provider}","Contributor":"תוֹרֵם","Converting":"ממיר","Copied to clipboard":"הועתק ללוח","Copy":"עותק","Copyright":"זכויות יוצרים","Couldn't find anything.":"לא נמצא דבר.","Country":"מדינה","Create Account":"צור חשבון","Create album":"צור אלבום","Create regular backups based on the configured schedule.":"צור גיבויי אינדקס בהתבסס על לוח הזמנים שהוגדר.","Create YAML files to back up album metadata.":"צור קובצי YAML כדי לגבות מטא נתונים של אלבום.","Create YAML sidecar files to back up picture metadata.":"צור קבצי YAML Sidecar כדי לגבות מטא נתונים של תמונה.","Created":"נוצר","Creating thumbnails for":"יותר תמונות מקדימות עבור","Cubic: Moderate Quality, Good Performance":"מעוקב: איכות בינונית, ביצועים טובים","Current Password":"צור סיסמה","Custom":"מִנְהָג","Cyan":"טורקיז","Daily":"יומי","Database Backups":"גיבויים של מסדי נתונים","Day":"יום","Deactivate":"השבת","Debug Logs":"Debug Logs","Default":"ברירת מחדל","Default Folder":"תיקיית ברירת מחדל","Delete":"מחק","Delete Album":"מחיקת אלבום","Delete All":"מחק הכל","Delete all?":"למחוק הכל?","Delete orphaned index entries, sidecar files and thumbnails.":"מחק ערכי אינדקס יתומים, קבצי צדדיות ותמונות ממוזערות.","Description":"תיאור","Detailed instructions can be found in our User Guide.":"הוראות מפורטות ניתן למצוא במדריך למשתמש שלנו.","Details":"פרטים","Dimensions":"מידות","Disable Backups":"השבת גיבויים","Disable Darktable":"השבת את Darktable","Disable ExifTool":"השבת את ExifTool","Disable features that require write permission for the originals folder.":"השבת תכונות הדורשות הרשאת כתיבה עבור תיקיית המקור.","Disable FFmpeg":"השבת FFmpeg","Disable ImageMagick":"השבת את ImageMagick","Disable interactive world maps and reverse geocoding.":"השבת מפות עולם אינטראקטיביות וקידוד גיאוגרפי הפוך.","Disable Places":"השבת מיקומים","Disable RawTherapee":"השבת את RawTherapee","Disable TensorFlow":"השבת את TensorFlow","Disable Vectors":"השבת וקטורים","Disable WebDAV":"השבת את WebDAV","Disables vector graphics support.":"משבית תמיכה בגרפיקה וקטורית.","Disables video transcoding and thumbnail extraction.":"משבית את המרת קידוד וידאו וחילוץ תמונות ממוזערות.","Discover":"גלה","Dismiss":"לְפַטֵר","Display Name":"שם תצוגה","Display picture captions in search results.":"הצג כתוביות תמונה בתוצאות החיפוש.","Display picture titles in search results.":"הצג כותרות של תמונות בתוצאות החיפוש.","Document":"מִסְמָך","Documents":"מסמכים","Don't use Darktable to convert RAW images.":"אל תשתמש ב- Darktable להמרת קבצי RAW.","Don't use ImageMagick to convert images.":"אל תשתמש ב-ImageMagick כדי להמיר תמונות.","Don't use RawTherapee to convert RAW images.":"אל תשתמש ב- RawTherapee להמרת קבצי RAW.","Done":"בוצע","Done.":"בוצע.","Download":"הורד","Download only original media files, without any automatically generated files.":"הורד רק קבצי מדיה מקוריים, ללא קבצים שנוצרו אוטומטית.","Download remote files":"הורד קבצים מרוחקים","Download single files and zip archives.":"הורד קבצים בודדים וארכיוני zip.","Downloading…":"מוריד…","Downscaling Filter":"פילטר (אלגוריתם) שנמוך","Drag and drop files here":"גרור ושחרר קבצים כאן","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"בשל כמות המיילים הגבוהה שאנו מקבלים, ייתכן שהצוות שלנו לא יוכל לחזור אליך באופן מיידי.","Duplicates will be skipped and only appear once.":"התעלם מכפילויות, והצג רק אחד.","Duration":"משך","Dynamic Previews":"תצוגות מקדימות דינמיות","Dynamic Size Limit: %{n}px":"גודל דינמי מקסימלי לשמירה במטמון: %{n} פיקסלים","E-Mail":"דוא\"ל","Edit":"ערוך","Edit %{s}":"ערוך %{s}","Edit Account":"ערוך חשבון","Edit Photo":"ערוך תמונה","Edited":"ערוך","Email":"אימייל","Enable debug mode to display additional logs and help with troubleshooting.":"אפשר מצב ניפוי באגים כדי להציג יומנים נוספים ועזרה בפתרון בעיות.","Enable new features that may be incomplete or unstable.":"אפשר תכונות חדשות שעשויות להיות לא שלמות או לא יציבות.","Enables RAW converter presets. May reduce performance.":"מאפשר הגדרות קבועות מראש של ממיר RAW. עשוי להפחית את הביצועים.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"הפעלת אימות דו-גורמי פירושה שתזדקק לקוד אימות שנוצר באקראי כדי להיכנס, כך שגם אם מישהו יקבל גישה לסיסמה שלך, הוא לא יוכל לגשת לחשבון שלך.","Enter date":"הזן תאריך","Enter dates":"הזן תאריכים","Enter the code generated by your authenticator app:":"הזן את הקוד שנוצר על ידי אפליקציית המאמת שלך:","Enter verification code":"הכנס קוד אימות","Enter your password to confirm the action and continue:":"הזן את הסיסמה שלך כדי לאשר את הפעולה והמשך:","Error":"שגיאה","Errors":"שגיאות","Estimate":"לְהַעֲרִיך","Estimate Locations":"הערכת מיקומים","Estimate the approximate location of pictures without GPS coordinates.":"הערך את המיקום המשוער של תמונות ללא קואורדינטות GPS.","Every two days":"כל יומיים","Exclude content marked as private from search results, shared albums, labels, and places.":"אל תכלול תוכן המסומן כפרטי מתוצאות חיפוש, אלבומים משותפים, תוויות ומקומות.","Exclude hidden":"אל תכלול מוסתר","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"חילוץ מטא נתונים עם ExifTool נדרש לתמיכה מלאה בווידאו, צילום חי ו-XMP.","Experimental Features":"תכונות ניסיוניות","Expires":"תפוגה","Exposure":"חשיפה","Extract still images and generate thumbnails while indexing.":"חלץ תמונות סטילס וצור תמונות ממוזערות תוך כדי אינדקס.","F Number":"ערך ה-F (יחס אורך מוקד העדשה)","Face":"פָּנִים","Faces":"פנים","Failed removing link":"הסרת הקישור נכשלה","Failed to connect account.":"חיבור החשבון נכשל.","Failed updating link":"העלאת הקישור נכשלה","Family Name":"שם משפחה","Fast":"מהיר","Favorite":"מועדף","Favorites":"מועדפים","Feature Request":"בקשת תכונה","Feedback":"משוב","Female":"נקבה","File":"קובץ","File Browser":"סייר קבצים","File Conversion":"המרת קבצים","File Name":"שם קובץ","File Size":"גודל הקובץ","Filename":"שם קובץ","Files":"קבצים","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"קבצים עם שמות עוקבים כמו 'IMG_1234 (2)' ו- 'IMG_1234 (3)' שייכים לאותה תמונה.","First page":"עמוד ראשון","Focal Length":"אורך המוקד","Folder":"תיקייה","Folder contains %{n} files":"התיקייה מכילה %{n} קבצים","Folder is empty":"התיקייה ריקה","Folders":"תיקייות","Forgot password?":"שכחת סיסמא?","FPS":"FPS","Frames":"מסגרות","Full Access":"גישה מלאה","Fullscreen":"מסך מלא","General":"כללי","Generate":"לִיצוֹר","Generate albums of special moments, journeys, and places.":"יוצר אוטומטית אלבומים של רגעים מיוחדים, טיולים ומקומות.","Generate Previews":"צור תצוגות מקדימות","Generated":"נוצר","Get Started":"התחל","Given Name":"שם פרטי","Global Options":"אפשרויות גלובליות","Go to page {0}":"עבור לדף {0}","Gold":"זהב","Green":"ירוק","Grey":"אפור","Guest":"אוֹרֵחַ","Hash":"Hash","Help":"עזרה","Help & Support":"עזרה ותמיכה","Hidden":"מוסתר","Hidden Files":"קבצים מוסתרים","Hide":"הסתר","Hide photos that have been moved to archive.":"תמונות מוסתרות שהועברו לארכיון.","High":"גבוה","High Dynamic Range (HDR)":"טווח דינמי גבוה (HDR)","How can we help?":"איך אפשר לעזור?","Hybrid":"משולב","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"אם תאבד את הגישה לאפליקציית המאמת או למכשיר שלך, תוכל להשתמש בקוד השחזור שלך כדי לקבל חזרה גישה לחשבון שלך.","Image":"תמונה","Image Quality":"איכות תמונה","Import":"ייבוא","Import failed":"הייבוא נכשל","Imported files will be sorted by date and given a unique name to avoid duplicates.":"קבצים מיובאים ימוינו לפי תאריך ויקבלו שם ייחודי כדי למנוע כפילויות.","Imported files will be sorted by date and given a unique name.":"קבצים מיובאים ימוינו לפי תאריך ויקבלו שם ייחודי.","Importing %{s}…":"מייבא את %{s}…","Importing files to originals…":"מייבא קבצים למקורות…","in":"ב","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"אם חסרות תמונות שאתה מצפה, סרוק מחדש את הספרייה שלך והמתן עד להשלמת האינדקס.","Include RAW image files when downloading stacks and archives.":"כלול קובצי תמונה RAW בעת הורדת ערימות וארכיונים.","Include sidecar files when downloading stacks and archives.":"כלול קבצי Sidecar בעת הורדת ערימות וארכיונים.","Increase storage size or delete files to continue.":"הגדל את נפח האחסון או מחק קבצים כדי להמשיך.","Index":"אינדקס","Index and import files through the user interface.":"אינדקס ויבוא קבצים דרך ממשק המשתמש.","Indexing":"מאנדקס","Indexing failed":"אינדוקס נכשל","Indexing media and sidecar files…":"יצירת אינדקס של קבצי מדיה וקבצי עזר…","Information":"מֵידָע","Instance ID":"מזהה מופע","Insufficient storage.":"אחסון לא מספיק.","Interval":"הפוגה","Invalid":"לא תקין","Invalid address":"כתובת לא חוקית","Invalid country":"מדינה לא חוקית","Invalid date":"תאריך לא תקין","Invalid parameters":"פרמטרים שגויים","Invalid photo selected":"נבחרה תמונה לא חוקית","Invalid time":"זמן לא חוקי","Invalid URL":"כתובת אתר לא חוקית","It is a one-time use code that will disable 2FA for your account when you use it.":"זהו קוד לשימוש חד פעמי שישבית את 2FA עבור חשבונך כאשר אתה משתמש בו.","Item":"פריט","Items per page:":"פריטים בעמוד:","JPEG Quality: %{n}":"איכות ה-JPEG: %{n}","JPEG Size Limit: %{n}px":"מגבלת גודל קבצי ה-JPEG %{n} פיקסלים","JPEGs and thumbnails are automatically rendered as needed.":"קבצי JPEG וקבצי תצוגה מקדימה נוצרים אוטומטית לפי הצורך.","Keywords":"מילות מפתח","Label":"תווית","Labels":"תוויות","Labels deleted":"תוויות נמחקו","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: שימור פרטים, חפצים מינימליים","Language":"שפה","Last Active":"פעיל אחרון","Last Login":"כניסה אחרונה","Last page":"עמוד אחרון","Last Sync":"סנכרון אחרון","Last Used":"בשימוש אחרון","Latitude":"קו רוחב","LDAP/AD":"LDAP/AD","Learn more":"הצג עוד","Learn More":"הצג עוד","Legal Information":"מידע משפטי","Lens":"עדשה","Library":"ספריה","License":"רשיון","Like":"אהבתי","Lime":"ליים","Limit reached, showing first %{n} files":"לא ניתן להציג יותר, מציג את ה-%{n} קבצים הראשונים","Linear: Very Smooth, Best Performance":"ליניארי: חלק מאוד, הביצועים הטובים ביותר","Link":"קישור","List":"רשימה","List View":"תצוגת רשימה","Live":"חי","Live Photos":"תמונות חיות","Load more":"טען עוד","Loading items...":"טוען פריטים...","Loading...":"טְעִינָה...","Local":"מְקוֹמִי","Local Time":"זמן מוקמי","Location":"מיקום","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"הודעות יומן מופיעות כאן בכל פעם ש- PhotoPrism נתקל בקבצים שבורים, או שיש בעיות פוטנציאליות אחרות.","Login":"התחברות","Logout":"התנתקות","Logs":"יומן","Longitude":"קו אורך","Low":"נמוך","Magenta":"ארגמן","Main Color":"צבע עיקרי","Male":"זכר","Manage Account":"נהל חשבון","Manager":"מְנַהֵל","Manual":"יָדָנִי","Manual Upload":"העלאה ידנית","Maps":"מפות","Marker":"סמן","Maximum number of accounts has been reached.":"הגעת למספר המקסימלי של חשבונות.","Media":"כְּלֵי תִקְשׁוֹרֶת","Medium":"בינוני","Membership":"חֲבֵרוּת","Merge %{a} with %{b}?":"למזג %{a} עם %{b}?","Message":"הוֹדָעָה","Message sent":"ההודעה נשלחה","Metadata":"מטא נתונים","Metrics":"מדדים","Minimize":"הקטנה","Missing":"חסר","Missing or invalid configuration":"תצורה חסרה או לא חוקית","Moments":"רגעים","Monochrome":"שקפים","Month":"חודש","More options":"אפשרויות נוספות","Mosaic":"פסיפס","Most Relevant":"הכי רלוונטי","Move Files":"העבר קבצים","Must have at least %{n} characters.":"חייב להכיל לפחות %{n} תווים.","Mute":"לְהַשְׁתִיק","Name":"שם","Name too long":"שם ארוך מדי","Never":"לעולם לא","New":"חדש","New Password":"סיסמה חדשה","Newest First":"הכי חדש ראשון","Next":"הַבָּא","Next page":"העמוד הבא","Next visual":"הוויזואלי הבא","No":"לא","No albums found":"לא נמצאו אלבומים","No data available":"אין נתונים זמינים","No labels found":"לא נמצאו תוויות","No matching records found":"לא נמצאו רשומות תואמות","No more":"לא יותר","No people found":"לא נמצאו אנשים","No pictures found":"לא נמצאו תמונות","No recently edited pictures":"אין תמונות שערכו לאחרונה","No results":"אין תוצאות","No server connection":"אין חיבור לשרת","No servers configured.":"לא הוגדר שרת.","No services configured.":"לא הוגדרו שירותים.","No thanks":"לא תודה","No warnings or error containing this keyword. Note that search is case-sensitive.":"אין אזהרות או שגיאות המכילות מילת מפתח זו. שים לב שהחיפוש תלוי רישיות.","Non-photographic and low-quality images require a review before they appear in search results.":"תמונות שאינן נראות צילום או באיכות נמוכה דורשות בדיקה לפני שהן מופיעות בתוצאות החיפוש.","None":"ללא","Not allowed":"אסור","Not found":"לא נמצא","Not sorted.":"לא ממוין.","Not supported":"לא נתמך","Note you may manually manage your originals folder and importing is optional.":"שים לב שאתה יכול לנהל ידנית את תיקיית המקור והייבוא הוא אופציונלי.","Note:":"הערה:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"הערה: רק שרתי WebDAV, כמו Nextcloud או PhotoPrism, ניתנים להגדרה כשירות מרוחק לצורך גיבוי והעלאת קבצים.","Notes":"הערות","Nothing to see here yet.":"אין מה לראות כאן עדיין. התאזר בסבלנות.","Nothing was found.":"לא נמצא דבר.","Offline":"לא מקוון","OIDC":"OIDC","OK":"בְּסֵדֶר","Oldest First":"הישן ראשון","On Windows, enter the following resource in the connection dialog:":"ב-Windows, הזן את המשאב הבא בתיבת הדו-שיח של החיבור:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"יצירת תמונות ממוזערות לפי דרישה עשויה לגרום לשימוש גבוה במעבד ובזיכרון. זה לא מומלץ עבור שרתים מוגבלי משאבים והתקני NAS.","Once a week":"פעם בשבוע","One album found":"אלבום אחד נמצא","One file found":"קובץ אחד נמצא","One file uploaded":"קובץ אחד הועלה","One folder found":"תיקייה אחת נמצאה","One label found":"נמצאה תווית אחת","One person found":"אדם אחד נמצא","One picture found":"תמונה אחת נמצאה","Only locally managed accounts can be set up for authentication with 2FA.":"ניתן להגדיר רק חשבונות בניהול מקומי לאימות עם 2FA.","Open":"לִפְתוֹחַ","optional":"אופציונלי","or":"אוֹ","Orange":"כתום","Organization":"ארגון","Orientation":"אוריינטציה","Original file names will be stored and indexed.":"שמות הקבצים המקוריים יישמרו באינדקס.","Original Name":"השם המקורי","Originals":"קבצי מקור","Other":"אחר","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"המשימה שלנו היא לספק את הפתרון הכי ידידותי למשתמש ולפרטיות כדי לשמור על התמונות שלך מאורגנות ונגישות.","Outdoor":"באוויר הפתוח","Page {0}, Current page":"עמוד {0}, דף נוכחי","Pages":"דפים","Pagination Navigation":"ניווט עימוד","Panorama":"פנורמה","Panoramas":"פנורמות","Password":"סיסמה","Password changed":"סיסמא שונתה","People":"אנשים","People you share a link with will be able to view public contents.":"אנשים שעימם אתה חולק קישור יוכלו להציג תכנים ציבוריים.","Permanently deleted":"נמחק לצמיתות","Permanently remove files to free up storage.":"מחק קבצים לצמיתות בכדי לשחרר נפח אחסון","Person":"אָדָם","Personal":"אישי","Photo":"תמונה","PhotoPrism is 100% self-funded and independent.":"PhotoPrism הוא 100% מימון עצמי ועצמאי.","PhotoPrism+ Membership":"חברות PhotoPrism+","Photos":"תמונות","Picture Title":"כותרת התמונה","Pink":"ורוד","Place":"מקום","Place & Time":"מקום וזמן","Places":"מקומות","Please confirm your new password.":"אנא אשר את הסיסמה החדשה שלך.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"אנא העתק את סיסמת האפליקציה הבאה שנוצרה באופן אקראי ושמור אותה במקום בטוח, מכיוון שלא תוכל לראות אותה שוב:","Please do not upload any private, unlawful or offensive pictures.":"נא לא להעלות תמונות פרטיות, לא חוקיות או פוגעניות.","Please don't upload photos containing offensive content.":"נא לא להעלות תמונות המכילות תוכן פוגעני.","Please enter OTP character {0}":"אנא הזן תו OTP {0}","Please note that changing your password will log you out on other devices and browsers.":"שים לב ששינוי הסיסמה שלך יגרום לך להתנתק ממכשירים ודפדפנים אחרים.","Please restart your instance for the changes to take effect.":"הפעל מחדש את המופע שלך כדי שהשינויים ייכנסו לתוקף.","Please wait…":"המתן בבקשה…","PM":"רֹאשׁ הַמֶמשָׁלָה","PNG Size Limit: %{n}px":"מגבלת גודל קבצי ה-PNG %{n} פיקסלים","Portrait":"דיוקן","Preserve filenames":"שמור שמות קבצים","Press enter to create a new album.":"לחץ על Enter בכדי ליצור אלבום חדש.","Prevent database and album backups as well as YAML sidecar files from being created.":"מנע יצירת גיבויים של מסדי נתונים ואלבומים, כמו גם קבצי YAML Sidecar.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"מנע מאפליקציות אחרות לגשת ל-PhotoPrism ככונן רשת משותף.","Preview":"תצוגה מקדימה","Preview Images":"תצוגה מקדימה של תמונות","Previous":"קוֹדֵם","Previous page":"העמוד הקודם","Previous visual":"חזותית קודמת","Primary":"ראשי","Private":"פרטי","Product Feedback":"משוב על המוצר","Projection":"הקרנה","Purple":"סגול","Quality Filter":"מסנן איכות","Quality Score":"ציון איכות","r":"ר","Random":"אקראי","Rating {0} of {1}":"דירוג {0} מתוך {1}","Raw":"גלמי","RAW":"גלם","Re-index all originals, including already indexed and unchanged files.":"צור אינדקס מחודש של כל קבצי המקור, כולל קבצים שכבר הוספו לאינדקס ולא השתנו.","Read-Only Mode":"מצב קריאה בלבד","Recently Added":"נוסף לאחרונה","Recently Archived":"הועבר לארכיון לאחרונה","Recently Edited":"נערך לאחרונה","Recognition starts after indexing has been completed.":"ההכרה מתחילה לאחר השלמת האינדקס.","Recognize faces so people can be assigned and found.":"מזהה פרצופים כך שאפשר למצוא אנשים ספציפיים.","Recognized":"מוּכָּר","Recovery Code":"קוד שחזור","Red":"אדום","Refresh":"לְרַעֲנֵן","Regions":"אזורים","Register":"הירשם","Reload":"טען מחדש","Reloading…":"טוען מחדש…","Remote Sync":"סנכרון מרוחק","Remove":"הסר","remove failed: unknown album":"הסרה נכשלה: אלבום לא ידוע","Remove from Album":"הסר מהאלבום","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"הסר קבצים מיובאים כדי לחסוך שטח אחסון. סוגי קבצים שאינם נתמכים לעולם לא יימחקו, ויישארו במיקומם הנוכחי.","Request failed - are you offline?":"הבקשה נכשלה - האם אתה במצב לא מקוון?","Request failed - invalid response":"הבקשה נכשלה - תגובה לא חוקית","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"דרוש בדיקה של תמונות שאינן צילומיות ובאיכות נמוכה לפני שהן יופיעו בתוצאות החיפוש.","Resolution":"רזולוציה","Restart":"איתחול","Restore":"לשחזר","Restored":"מְשׁוּחזָר","Retry Limit":"נסה שוב מגבלת","Retype Password":"הזן שוב את הסיסמה","Review":"סקירה","Role":"תַפְקִיד","Rows per page:":"שורות בעמוד:","Satellite":"לוויין","Save":"שמור","Scan":"סרוק","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"סרוק את קוד ה-QR עם אפליקציית המאמת שלך או השתמש במפתח ההגדרה המוצג למטה ולאחר מכן הזן את קוד האימות שנוצר:","Scans":"סריקות","Scope":"תְחוּם","Search":"חיפוש","Search and display photos on a map.":"חפש והצג תמונות על המפה.","Season":"עונה","Secret":"קוד סודי","Security and Access":"אבטחה וגישה","Select":"בחר","Select a source folder to import files…":"בחר תיקיית מקור לייבא קבצים…","Select date":"בחר תאריך","Select dates":"בחר תאריכים","Select or create an album":"בחר או צור אלבום","Select the files to upload…":"בחר את הקבצים להעלאה…","Select the folder to be indexed…":"בחר את התיקיה להוספת אינדקס…","Select Time":"בחר זמן","Selection approved":"הבחירה אושרה","Selection archived":"הבחירה הועברה לארכיון","Selection restored":"הבחירה שוחזרה","Sequential Name":"שמות סדרתיים","Service URL":"נתיב השרות","Services":"שירותים","Session":"מוֹשָׁב","Session ID":"מזהה הפעלה","Sessions":"הפעלות","Set as Album Cover":"מוגדר ככריכת אלבום","Settings":"הגדרות","Settings saved":"ההגדרות נשמרו","Setup":"הגדר","Share":"שתף","Share %{s}":"שתף %{s}","Share your pictures with other apps and services.":"שתף את התמונות שלך עם אפליקציות ושירותים אחרים.","Show":"הצג","Show all new faces":"הצג את כל הפרצופים החדשים","Show Captions":"הצג כיתובים","Show hidden":"הראה את המוסתר","Show less":"הצג פחות","Show more":"הצג עוד","Show server logs in Library.":"הצג יומני שרת בספרייה.","Show Titles":"הצג כותרות","Sidecar":"חזית רכב","Sidecar Files":"קבצי Sidecar","Sign in":"התחבר","Similar":"דומה","Size":"גודל","Slideshow":"מצגת","Slow":"איטי","Software":"תוֹכנָה","Software Update":"עדכון תוכנה","Something went wrong, try again":"קרתה תקלה נסה שוב","Sort by":"מיין לפי","Sort Order":"סדר המיון","Sorted ascending.":"ממוין עולה.","Sorted descending.":"ממוין יורד.","Source":"מקור","Stack":"ערימה","Stack files sharing the same unique image or instance identifier.":"איחוד קבצים המשתפים את אותה התמונה או מזהה מופע ייחודי.","Stack pictures taken at the exact same time and location based on their metadata.":"איחוד תמונות שצולמו באותו זמן ומיקום מדויק, בהתבסס על המטא-נתונים שלהן.","Stackable":"ניתן לקיבוץ","Stacks":"איחודים","Start":"התחל","Start Page":"דף התחלה","Static Size Limit: %{n}px":"מגבלת גודל סטטי במטמון: %{n} פיקסלים","Status":"סטטוס","Storage":"אחסון","Streets":"רחובות","Subject":"נושא","Submit":"לְהַגִישׁ","Successfully activated":"הופעל בהצלחה","Successfully Connected":"מחובר בהצלחה","Successfully deleted":"נמחק בהצלחה","Successfully verified":"אומת בהצלחה","Super Admin":"סופר אדמין","Support for additional services, like Google Drive, will be added over time.":"תמיכה בשירותים נוספים, כמו Google Drive, תתווסף בהמשך.","Support Our Mission":"תמכו במשימה שלנו","Sync":"סינכרון","Sync raw and video files":"סנכרן קבצי תמונה גולמיים וסרטונים","Taken":"נלקח","Teal":"ירוק כחלחל","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow נדרש לסיווג תמונות, זיהוי פנים וזיהוי תוכן לא בטוח.","Terrain":"פְּנֵי הַשֵׁטַח","Text":"טֶקסט","Text too long":"טקסט ארוך מדי","Thank You for Your Support!":"תודה על תמיכתך!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"זו הסיבה ש-PhotoPrism נבנתה מהיסוד לרוץ בכל מקום שתזדקק לו, מבלי להתפשר על חופש, פרטיות או פונקציונליות.","The index currently contains %{n} hidden files.":"האינדקס מכיל כרגע %{n} קבצים מוסתרים.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"ייתכן שהפורמט שלהם לא נתמך, עדיין לא הומרו ל-JPEG או שיש כפילויות.","Theme":"ערכת נושא","This field is required":"שדה זה חובה","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"זה מגדיר את תיקיית המקור ככונן רשת ומאפשר לך לפתוח, לערוך ולמחוק קבצים מהמחשב או מהסמארטפון כל עוד מחוברים לרשת המקומית.","Time UTC":"זמן UTC","Time Zone":"אזור זמן","Timeout":"פסק זמן","Title":{"Account":"כותרת","Photo":"כותרת","":"כותרת"},"Title / Position":"שם / מיקום","Title too long":"הכותרת ארוכה מדי","to":"ל","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"כדי להימנע מנעילת החשבון שלך, אנא הורד, הדפס או העתק את קוד השחזור הזה כעת ושמור אותו במקום בטוח.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"כדי ליצור סיסמה חדשה ספציפית לאפליקציה, הזן את השם והיקף ההרשאה של האפליקציה ובחר תאריך תפוגה:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"כדי לעבור לאפליקציית אימות או מכשיר חדש, תחילה השבת את האימות הדו-שלבי ולאחר מכן הפעל אותו מחדש:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"כדי לשדרג, אתה יכול להזין קוד הפעלה או ללחוץ על \"הירשם\" כדי להירשם לאתר שלנו:","Today":"הַיוֹם","Toggle View":"החלף תצוגה","Token":"טוקן","Too many files selected":"נבחרו יותר מדי קבצים","Too many requests":"יותר מדי בקשות","Troubleshooting":"פתרון בעיות","Try again using other filters or keywords.":"נסה שוב להשתמש בסינון או במילת מפתח שונה.","Two-factor authentication has been enabled for your account.":"אימות דו-שלבי הופעל עבור חשבונך.","Type":"סוג","Unable to delete":"לא ניתן למחוק","Unauthorized":"לא מורשה","Undo":"בטל","Unique ID":"מזהה ייחודי","Unknown":"לא ידוע","Unregistered":"משתמש לא רשום","Unsorted":"לא ממוין","Unstack":"לא מקובץ","Updated":"מעודכן","Updating faces":"מעדכן פנים","Updating index":"מעדכן אינדקס","Updating moments":"מעדכן רגעים","Updating picture…":"מעדכן תמונה...","Updating previews":"מעדכן תצוגות מקדימות","Updating stacks":"מעדכן קיבוצים","Upgrade":"שדרוג","Upgrade Now":"שדרג עכשיו","Upload":"העלה","Upload complete":"העלאה הושלמה","Upload complete. Indexing…":"העלאה הושלמה, מאנדקס…","Upload failed":"העלאה נכשלה","Upload local files":"העלה קבצים מקומיים","Upload Path":"נתיב העלאה","Upload to WebDAV and share links with friends.":"העלה ל- WebDAV ושתף קישורים עם חברים.","Uploading %{n} of %{t}…":"מעלה %{n} מתוך %{t}…","Uploading photos…":"מעלה תמונות…","Uploading…":"מעלה...","Uploads that may contain such images will be rejected automatically.":"העלאות שעשויות להכיל תמונות כאלה יידחו אוטומטית.","Use Presets":"השתמש בהגדרות קבועות מראש","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"השתמש בקוד השחזור הבא כדי לגשת לחשבון שלך כאשר אינך יכול ליצור קוד אימות חוקי עם אפליקציית המאמת שלך:","Use your recovery code or contact an administrator for help.":"השתמש בקוד השחזור שלך או פנה למנהל מערכת לקבלת עזרה.","User":"משתמש","User Guide":"מדריך למשתמש","User Interface":"ממשק משתמש","Username":"שם משתמש","Users":"משתמשים","Vector":"וֶקטוֹר","Vectors":"וקטורים","Verification Code":"קוד אימות","Video":"סרטון","Video Duration":"משך הסרטון","Videos":"סרטונים","View":"תצוגה","View search results as a list.":"הצג את תוצאות החיפוש כרשימה.","Viewer":"צוֹפֶה","Visitor":"אורח","Visual Similarity":"דמיון חזותי","Warning":"אַזהָרָה","We appreciate your feedback!":"אנו מעריכים את המשוב שלך!","We do our best to respond within five business days or less.":"אנו עושים כמיטב יכולתנו להשיב תוך חמישה ימי עסקים או פחות.","Web Login":"התחברות לאינטרנט","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"שירותי WebDAV יכולים להתחבר ל-PhotoPrism באמצעות כתובת ה-URL הבאה:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"שירותי WebDAV, כמו סייר Windows של מיקרוסופט או Finder של אפל, יכולים להתחבר ישירות ל-PhotoPrism.","WebDAV Upload":"העלאת WebDAV","WebGL support is disabled in your browser":"תמיכת WebGL מושבתת בדפדפן שלך","Website":"אתר","White":"לבן","Work Details":"פרטי העבודה","Year":"שנה","Yellow":"צהוב","Yes":"כן","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"אתה מוזמן לפנות אלינו בכתובת membership@photoprism.app לשאלות בנוגע לחברות שלך.","You can only download one album":"ניתן להוריד רק אלבום אחד","You can only download one label":"ניתן להוריד רק תווית אחת","You can search for a location or move the marker on the map to change the position:":"ניתן לחפש מיקום או להזיז את הסמן על המפה כדי לשנות את המיקום:","You can upload up to %{n} files for test purposes.":"אתה יכול להעלות עד %{n} קבצים למטרות בדיקה.","You may only select one item":"ניתן לבחור רק פריט אחד","You may rescan your library to find additional faces.":"תוכל לסרוק מחדש את הספרייה שלך כדי למצוא פנים נוספות.","Your account has been successfully connected.":"החשבון שלך חובר בהצלחה.","Your browser does not support WebGL":"הדפדפן שלך אינו תומך ב-WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"התמיכה המתמשכת שלך עוזרת לנו לספק עדכונים שוטפים ולהישאר עצמאיים, כדי שנוכל למלא את המשימה שלנו ולהגן על פרטיותך.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"הספרייה שלך מנותחת באופן רציף ליצירת אלבומים של רגעים מיוחדים, טיולים ומקומות באופן אוטומטי.","Zoom in/out":"זום פנימה\\החוצה"}} \ No newline at end of file diff --git a/frontend/src/locales/json/hi.json b/frontend/src/locales/json/hi.json index ff6d4bc05..f1510d95e 100644 --- a/frontend/src/locales/json/hi.json +++ b/frontend/src/locales/json/hi.json @@ -1 +1 @@ -{"hi":{"{0} appended action":"{0} जोड़ी गई कार्रवाई","{0} files":"{0} फ़ाइलें","{0} files ({1} in total)":"{0} फ़ाइलें (कुल {1})","{0} more":"{0} अधिक","{0} prepended action":"{0} पूर्वनिर्धारित कार्रवाई","{0} selected":"{0} चयनित","{0}-{1} of {2}":"{0}-{1} में से {2}","%{n} albums found":"%{n} एल्बम मिले","%{n} files uploaded":"%{n} फ़ाइलें अपलोड की गईं","%{n} folders found":"%{n} फ़ोल्डर मिले","%{n} GB of %{q} GB used":"%{q} GB में से %{n} GB उपयोग किया गया","%{n} labels found":"%{n} लेबल मिले","%{n} people found":"%{n} लोग मिले","%{n} pictures found":"%{n} चित्र मिले","%{s} is too long":"%{s} बहुत लंबा है","%{s} is too short":"%{s} बहुत छोटा है","1 hour":"1 घंटा","12 hours":"12 घंटा","2-Factor Authentication":"2-कारक प्रमाणीकरण","2FA":"2एफए","4 hours":"4 घंटा","A click will copy it to your clipboard.":"एक क्लिक इसे आपके क्लिपबोर्ड पर कॉपी कर देगा।","A new version of %{s} is available:":"%{s} का नया संस्करण उपलब्ध है:","About":"के बारे में","Access Token":"एक्सेस टोकन","Account":"लेखा","Account created":"खाता बन गया","Account deleted":"खाता हटाया गया","Account restored":"खाता बहाल किया गया","Accounts":"हिसाब किताब","Accuracy":"शुद्धता","Action":"कार्य","Actions":"क्रिया","Activate":"सक्रिय","Activate to remove sorting.":"सॉर्टिंग हटाने के लिए सक्रिय करें।","Activate to sort ascending.":"आरोही क्रम में क्रमबद्ध करने के लिए सक्रिय करें।","Activate to sort descending.":"अवरोही क्रम में क्रमबद्ध करने के लिए सक्रिय करें।","Activation Code":"एक्टिवेशन कोड","Add":"जोड़ना","Add %{s}?":"%{s} जोड़ें?","Add Account":"खाता जोड़ो","Add Album":"एल्बम जोड़ें","Add files to your library via Web Upload.":"वेब अपलोड के माध्यम से अपनी लाइब्रेरी में फाइलें जोड़ें।","Add Link":"लिंक जोड़ें","Add person?":"व्यक्ति जोड़ें?","Add pictures from search results by selecting them.":"खोज परिणामों से चित्रों का चयन करके उन्हें जोड़ें।","Add to album":"एल्बम में जोड़ें","Added":"जोड़ा गया","Admin":"व्यवस्थापक","Advanced":"उन्नत","After 1 day":"1 दिन बाद","After 3 days":"3 दिन बाद","After 7 days":"7 दिन बाद","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"पुष्टि के लिए अपना पासवर्ड दर्ज करने के बाद, आप संगत प्रमाणक ऐप या डिवाइस के साथ दो-कारक प्रमाणीकरण सेट कर सकते हैं:","After one month":"एक महिने बाद","After one year":"एक साल बाद","After selecting pictures from search results, you can add them to an album using the context menu.":"खोज परिणामों से चित्रों का चयन करने के बाद, आप उन्हें संदर्भ मेनू का उपयोग करके किसी एल्बम में जोड़ सकते हैं।","After two months":"दो महीने के बाद","After two weeks":"दो हफ्ते बाद","Album":"एल्बम","Album Backups":"एल्बम बैकअप","Album created":"एल्बम बनाया गया","Albums":"एल्बम","Albums deleted":"एल्बम हटाए गए","All":"सभी","All %{n} albums loaded":"सभी %{n} एल्बम लोड किए गए","All %{n} labels loaded":"सभी %{n} लेबल लोड किए गए","All %{n} people loaded":"सभी %{n} लोग लोड हुए","All Cameras":"सभी कैमरे","All Categories":"सब वर्ग","All Colors":"सभी रंग","All Countries":"सभी देश","All fields are required":"सभी फ़ील्ड आवश्यक हैं","All files from import folder":"आयात फ़ोल्डर से सभी फ़ाइलें","All Lenses":"सभी लेंस","All Months":"सभी महीने","All originals":"सभी मूल","All Years":"सभी वर्ष","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"वैकल्पिक रूप से, आप Nextcloud की तरह सीधे WebDAV सर्वर पर फाइल अपलोड कर सकते हैं।","Altitude":"ऊंचाई","Altitude (m)":"ऊंचाई (एम)","AM":"पूर्वाह्न","Animated":"एनिमेटेड","Animation":"एनीमेशन","Any private photos and videos remain private and won't be shared.":"कोई भी निजी फ़ोटो और वीडियो निजी रहेंगे और उन्हें साझा नहीं किया जाएगा।","API Key":"एपीआई कुंजी","Application":"आवेदन","Apply":"लागू","Approve":"मंजूर","Apps and Devices":"ऐप्स और डिवाइस","Archive":"पुरालेख","Archived":"संग्रहीत","Are you sure you want to archive the selection?":"क्या आप वाकई चयन को संग्रहीत करना चाहते हैं?","Are you sure you want to delete these albums?":"क्या आप वाकई इन एल्बम को हटाना चाहते हैं?","Are you sure you want to delete these labels?":"क्या आप वाकई इन लेबल को हटाना चाहते हैं?","Are you sure you want to delete this account?":"क्या आप वाकई इस खाते को हटाना चाहते हैं?","Are you sure you want to permanently delete these pictures?":"क्या आप वाकई इन चित्रों को स्थायी रूप से हटाना चाहते हैं?","Are you sure you want to permanently delete this file?":"क्या आप वाकई इस फ़ाइल को स्थायी रूप से हटाना चाहते हैं?","Are you sure?":"क्या आपको यकीन है?","Artist":"कलाकार","Aspect Ratio":"आस्पेक्ट अनुपात","Audio":"ऑडियो","Authentication":"प्रमाणीकरण","Auto":"ऑटो","Back":"पीछे","Back to top":"शीर्ष पर वापस जाएं","Backup":"बैकअप","Badge":"बिल्ला","Base Path":"बेस पथ","Become a member today, support our mission and enjoy our member benefits!":"आज ही सदस्य बनें, हमारे मिशन का समर्थन करें और हमारे सदस्य लाभों का आनंद लें!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"100% स्व-वित्त पोषित और स्वतंत्र होने के नाते, हम आपसे वादा कर सकते हैं कि हम आपका डेटा कभी नहीं बेचेंगे और हम अपने सॉफ़्टवेयर और सेवाओं के बारे में हमेशा पारदर्शी रहेंगे।","Bio":"जैव","Birth Date":"जन्म तिथि","Black":"काली","Blackman: Lanczos Modification, Less Ringing Artifacts":"ब्लैकमैन: लैंक्ज़ोस संशोधन, कम बजने वाली कलाकृतियाँ","Blue":"नीला","Brown":"भूरा","Browse":"ब्राउज़","Browse and edit image classification labels.":"छवि वर्गीकरण लेबल ब्राउज़ करें और संपादित करें।","Browse and share your pictures organized into monthly albums.":"मासिक एल्बमों में व्यवस्थित अपनी तस्वीरों को ब्राउज़ करें और साझा करें।","Browse Files":"फ़ाइलों को ब्राउज़ करें","Browse indexed files and folders in Library.":"लाइब्रेरी में अनुक्रमित फ़ाइलों और फ़ोल्डरों को ब्राउज़ करें।","Bug Report":"बग रिपोर्ट","Busy, please wait…":"व्यस्त, कृपया प्रतीक्षा करें …","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"हमारे द्वारा प्रदान किए जाने वाले सॉफ़्टवेयर और सेवाओं का उपयोग करके, आप हमारी सेवा की शर्तों, गोपनीयता नीति और आचार संहिता से सहमत होते हैं।","Calendar":"पंचांग","Camera":"कैमरा","Camera Serial":"कैमरा सीरियल","Can't access your authenticator app or device?":"क्या आप अपने प्रमाणक ऐप या डिवाइस तक नहीं पहुंच पा रहे हैं?","Can't load more, limit reached":"अधिक लोड नहीं किया जा सकता, सीमा तक पहुंच गया","Can't select more items":"अधिक आइटम का चयन नहीं किया जा सकता","Cancel":"रद्द करना","Caption":"कैप्शन","Cards":"पत्ते","Carousel slide {0} of {1}":"{1} में से {0} कैरोसेल स्लाइड","Category":"वर्ग","Change Avatar":"अवतार परिवर्तन","Change Password":"पासवर्ड बदलें","Change personal profile and security settings.":"व्यक्तिगत प्रोफ़ाइल और सुरक्षा सेटिंग्स बदलें।","Change photo titles, locations, and other metadata.":"फोटो शीर्षक, स्थान और अन्य मेटाडेटा बदलें।","Change private flag":"निजी ध्वज बदलें","Changes could not be saved":"परिवर्तन सहेजा नहीं जा सका","Changes successfully saved":"परिवर्तन सफलतापूर्वक सहेजे गए","Changes to the advanced settings require a restart to take effect.":"उन्नत सेटिंग्स में परिवर्तन प्रभावी होने के लिए पुनः आरंभ करना आवश्यक है।","Checked":"चेक किए गए","Chroma":"क्रोमा","Cleaning index and cache":"सफाई सूचकांक और कैश","Cleanup":"साफ - सफाई","Clear {0}":"साफ़ करें {0}","Client":"ग्राहक","Client Credentials":"ग्राहक क्रेडेंशियल","Close":"बंद करे","Codec":"कोडेक","Color":"रंग","Color Profile":"रंग प्रोफ़ाइल","Colors":"रंग की","Compare Editions":"संस्करणों की तुलना करें","Complete Rescan":"पूरा रेसकान","Confidence":"आत्मविश्वास","Confirm":"पुष्टि करना","Connect":"जुडिये","Connect via WebDAV":"WebDAV के माध्यम से कनेक्ट करें","Connected":"जुड़े हुए","Contact Details":"सम्पर्क करने का विवरण","Contact Us":"संपर्क करें","Contains %{n} pictures.":"इसमें %{n} चित्र हैं।","Contains one picture.":"एक तस्वीर शामिल है।","Content":"सामग्री","Continue":"जारी रखना","Continue with %{provider}":"%{provider} के साथ जारी रखें","Contributor":"योगदान देने वाला","Converting":"परिवर्तित","Copied to clipboard":"क्लिपबोर्ड पर नकल","Copy":"प्रतिलिपि","Copyright":"कॉपीराइट","Couldn't find anything.":"कुछ नहीं मिला।","Country":"देश","Create Account":"खाता बनाएं","Create album":"एल्बम बनाओ","Create regular backups based on the configured schedule.":"कॉन्फ़िगर किए गए शेड्यूल के आधार पर इंडेक्स बैकअप बनाएं।","Create YAML files to back up album metadata.":"एल्बम मेटाडेटा का बैकअप लेने के लिए YAML फ़ाइलें बनाएँ।","Create YAML sidecar files to back up picture metadata.":"चित्र मेटाडेटा का बैकअप लेने के लिए YAML साइडकार फ़ाइलें बनाएँ।","Created":"बनाया था","Creating thumbnails for":"के लिए थंबनेल बनाना","Cubic: Moderate Quality, Good Performance":"घन: मध्यम गुणवत्ता, अच्छा प्रदर्शन","Current Password":"वर्तमान पासवर्ड","Custom":"रिवाज़","Cyan":"सियान","Daily":"रोज","Database Backups":"डेटाबेस बैकअप","Day":"दिन","Deactivate":"निष्क्रिय करें","Debug Logs":"दोषमार्जन लॉग","Default":"चूक","Default Folder":"डिफ़ॉल्ट फ़ोल्डर","Delete":"हटाएं","Delete All":"सभी हटा दो","Delete all?":"सभी हटा दो?","Delete orphaned index entries, sidecar files and thumbnails.":"अनाथ अनुक्रमणिका प्रविष्टियाँ, साइडकार फ़ाइलें और थंबनेल हटाएँ।","Description":"विवरण","Detailed instructions can be found in our User Guide.":"विस्तृत निर्देश हमारे उपयोगकर्ता गाइड में पाए जा सकते हैं।","Details":"विवरण","Dimensions":"आयाम","Disable Backups":"पिछला बैकअप","Disable Darktable":"डार्कटेबल अक्षम करें","Disable ExifTool":"ExifTool अक्षम करें","Disable features that require write permission for the originals folder.":"उन सुविधाओं को अक्षम करें जिनके लिए मूल फ़ोल्डर के लिए लेखन अनुमति की आवश्यकता होती है।","Disable FFmpeg":"एफएफएमपीईजी अक्षम करें","Disable ImageMagick":"इमेजमैजिक को अक्षम करें","Disable interactive world maps and reverse geocoding.":"इंटरैक्टिव विश्व मानचित्र और रिवर्स जियोकोडिंग को अक्षम करें।","Disable Places":"विकलांग","Disable RawTherapee":"रॉ थेरेपी को अक्षम करें","Disable TensorFlow":"TensorFlow अक्षम करें","Disable Vectors":"वेक्टर अक्षम करें","Disable WebDAV":"विकलांग","Disables vector graphics support.":"वेक्टर ग्राफ़िक्स समर्थन अक्षम करता है।","Disables video transcoding and thumbnail extraction.":"वीडियो ट्रांसकोडिंग और थंबनेल निष्कर्षण अक्षम करता है।","Discover":"डिस्कवर","Dismiss":"नकार देना","Display Name":"प्रदर्शित होने वाला नाम","Display picture captions in search results.":"खोज परिणामों में चित्र कैप्शन प्रदर्शित करें।","Display picture titles in search results.":"खोज परिणामों में चित्र शीर्षक प्रदर्शित करें।","Document":"दस्तावेज़","Documents":"दस्तावेज़","Don't use Darktable to convert RAW images.":"रॉ फ़ाइलों को कनवर्ट करने के लिए डार्कटेबल का उपयोग न करें।","Don't use ImageMagick to convert images.":"छवियों को परिवर्तित करने के लिए ImageMagick का उपयोग न करें।","Don't use RawTherapee to convert RAW images.":"RAW फ़ाइलों को कनवर्ट करने के लिए RawTherapee का उपयोग न करें।","Done":"किया हुआ","Done.":"किया हुआ |","Download":"डाउनलोड","Download only original media files, without any automatically generated files.":"बिना किसी स्वचालित रूप से जेनरेट की गई फ़ाइलों के केवल मूल मीडिया फ़ाइलें डाउनलोड करें।","Download remote files":"दूरस्थ फ़ाइलें डाउनलोड करें","Download single files and zip archives.":"एकल फाइलें और ज़िप अभिलेखागार डाउनलोड करें।","Downloading…":"डाउनलोड कर रहा है …","Downscaling Filter":"गुणवत्ता फ़िल्टर","Drag and drop files here":"फ़ाइलों को यहां खींचें और छोड़ें","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"हमें प्राप्त होने वाले ईमेल की अधिक मात्रा के कारण, हमारी टीम आपसे तुरंत संपर्क करने में असमर्थ हो सकती है।","Duplicates will be skipped and only appear once.":"डुप्लिकेट को छोड़ दिया जाएगा और केवल एक बार दिखाई देगा।","Duration":"अवधि","Dynamic Previews":"बिना पढ़े हुए पूर्वावलोकन","Dynamic Size Limit: %{n}px":"बिना आकार की सीमा: %{n} px","E-Mail":"ईमेल","Edit":"संपादित करें","Edit %{s}":"%{s} संपादित करें","Edit Account":"खाता संपादित करें","Edit Photo":"फ़ोटो संपादित करें","Edited":"संपादित","Email":"ईमेल","Enable debug mode to display additional logs and help with troubleshooting.":"अतिरिक्त लॉग प्रदर्शित करने और समस्या निवारण में सहायता के लिए डिबग मोड सक्षम करें।","Enable new features that may be incomplete or unstable.":"ऐसी नई सुविधाएँ सक्षम करें जो अपूर्ण या अस्थिर हो सकती हैं।","Enables RAW converter presets. May reduce performance.":"रॉ कनवर्टर प्रीसेट सक्षम करता है। प्रदर्शन को कम कर सकता है।","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"दो-कारक प्रमाणीकरण सक्षम करने का अर्थ है कि आपको लॉग इन करने के लिए एक यादृच्छिक रूप से उत्पन्न सत्यापन कोड की आवश्यकता होगी, इसलिए यदि कोई आपके पासवर्ड तक पहुंच प्राप्त भी कर लेता है, तो वह आपके खाते तक नहीं पहुंच पाएगा।","Enter date":"तारीख दर्ज करें","Enter dates":"तारीखें दर्ज करें","Enter the code generated by your authenticator app:":"अपने प्रमाणक ऐप द्वारा जनरेट किया गया कोड दर्ज करें:","Enter verification code":"सत्यापन कोड दर्ज करें","Enter your password to confirm the action and continue:":"कार्रवाई की पुष्टि करने और जारी रखने के लिए अपना पासवर्ड दर्ज करें:","Error":"त्रुटि","Errors":"त्रुटियाँ","Estimate":"अनुमान लगाना","Estimate Locations":"स्थानों का अनुमान लगाएं","Estimate the approximate location of pictures without GPS coordinates.":"जीपीएस निर्देशांक के बिना चित्रों के अनुमानित स्थान का अनुमान लगाएं।","Every two days":"हेर दो दिनों","Exclude content marked as private from search results, shared albums, labels, and places.":"खोज परिणामों, साझा एल्बम, लेबल और स्थानों से निजी के रूप में चिह्नित सामग्री को बाहर निकालें।","Exclude hidden":"छिपा हुआ शामिल न करें","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"पूर्ण वीडियो, लाइव फोटो और XMP समर्थन के लिए ExifTool के साथ मेटाडेटा निष्कर्षण आवश्यक है।","Experimental Features":"प्रायोगिक विशेषताएं","Expires":"समय-सीमा समाप्त","Exposure":"संसर्ग","Extract still images and generate thumbnails while indexing.":"अनुक्रमण करते समय स्थिर चित्र निकालें और थम्बनेल उत्पन्न करें।","F Number":"एफ नंबर","Face":"चेहरा","Faces":"चेहरे के","Failed removing link":"लिंक हटाने में विफल","Failed to connect account.":"खाता कनेक्ट करने में विफल।","Failed updating link":"लिंक अपडेट करने में विफल","Family Name":"परिवार का नाम","Fast":"तेज","Favorite":"पसंदीदा","Favorites":"पसंदीदा","Feature Request":"महत्वपूर्ण लेख मांगना","Feedback":"प्रतिपुष्टि","Female":"मादा","File":"फ़ाइल","File Browser":"फ़ाइल ब्राउज़र","File Conversion":"फ़ाइल रूपांतरण","File Name":"फ़ाइल का नाम","File Size":"फ़ाइल का साइज़","Filename":"फ़ाइल का नाम","Files":"फ़ाइलें","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"क्रमिक नाम वाली फाइलें जैसे 'IMG_1234 (2)' या 'IMG_1234 कॉपी 2' एक ही फोटो से संबंधित हैं।","First page":"पहला पृष्ठ","Focal Length":"फोकल लम्बाई","Folder":"फ़ोल्डर","Folder contains %{n} files":"फ़ोल्डर में %{n} फाइलें हैं","Folder is empty":"फ़ोल्डर खाली है","Folders":"फ़ोल्डर","Forgot password?":"पासवर्ड भूल गए?","FPS":"एफपीएस","Frames":"फ्रेम्स","Full Access":"पूर्ण पहुँच","Fullscreen":"पूर्ण स्क्रीन","General":"सामान्य","Generate":"उत्पन्न","Generate albums of special moments, journeys, and places.":"स्वचालित रूप से विशेष क्षणों, यात्राओं और स्थानों के एल्बम बनाता है।","Generate Previews":"पूर्वावलोकन उत्पन्न करें","Generated":"जनरेट किया गया","Get Started":"शुरू हो जाओ","Given Name":"प्रदत्त नाम","Global Options":"वैश्विक विकल्प","Go to page {0}":"पृष्ठ {0} पर जाएं","Gold":"सोना","Green":"हरा","Grey":"धूसर","Guest":"अतिथि","Hash":"हैश","Help":"मदद","Help & Support":"मदद समर्थन","Hidden":"छिपा हुआ","Hidden Files":"छिपी हुई फाइलें","Hide":"छिपाना","Hide photos that have been moved to archive.":"उन तस्वीरों को छिपाएं जिन्हें संग्रह में स्थानांतरित किया गया है।","High":"उच्च","High Dynamic Range (HDR)":"उच्च गतिशील रेंज (एचडीआर)","How can we help?":"हम आपकी सहायता किस तरह से कर सकते है?","Hybrid":"संकर","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"यदि आप अपने प्रमाणक ऐप या डिवाइस तक पहुंच खो देते हैं, तो आप अपने खाते तक पहुंच पुनः प्राप्त करने के लिए अपने पुनर्प्राप्ति कोड का उपयोग कर सकते हैं।","Image":"छवि","Image Quality":"छवि के गुणवत्ता","Import":"आयात","Import failed":"आयात विफल रहा","Imported files will be sorted by date and given a unique name to avoid duplicates.":"आयातित फ़ाइलों को दिनांक के अनुसार क्रमबद्ध किया जाएगा और डुप्लिकेट से बचने के लिए एक अनूठा नाम दिया जाएगा।","Imported files will be sorted by date and given a unique name.":"आयातित फ़ाइलों को तिथि के अनुसार हल किया जाएगा और एक अनूठा नाम दिया जाएगा।","Importing %{s}…":"%{s} आयात किया जा रहा है…","Importing files to originals…":"मूल करने के लिए फ़ाइलें आयात कर रहा है …","in":"में","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"यदि आपके द्वारा अपेक्षित चित्र गायब हैं, तो कृपया अपनी लाइब्रेरी को फिर से स्कैन करें और अनुक्रमण पूरा होने तक प्रतीक्षा करें।","Include RAW image files when downloading stacks and archives.":"ढेर और संग्रह डाउनलोड करते समय RAW छवि फ़ाइलें शामिल करें।","Include sidecar files when downloading stacks and archives.":"ढेर और संग्रह डाउनलोड करते समय साइडकार फ़ाइलें शामिल करें।","Increase storage size or delete files to continue.":"जारी रखने के लिए संग्रहण आकार बढ़ाएँ या फ़ाइलें हटाएँ।","Index":"सूची","Index and import files through the user interface.":"उपयोगकर्ता इंटरफ़ेस के माध्यम से फ़ाइलों को अनुक्रमित और आयात करें।","Indexing":"इंडेक्सिंग","Indexing failed":"अनुक्रमण विफल रहा","Indexing media and sidecar files…":"मीडिया और साइडकार फ़ाइलों को अनुक्रमित करना …","Information":"जानकारी","Instance ID":"इंस्टेंस आईडी","Insufficient storage.":"अपर्याप्त भंडारण।","Interval":"मध्यान्तर","Invalid":"अमान्य","Invalid address":"अमान्य पता","Invalid country":"अमान्य देश","Invalid date":"अमान्य तिथि","Invalid parameters":"अमान्य मापदण्ड","Invalid photo selected":"अमान्य फ़ोटो चयनित","Invalid time":"अमान्य समय","Invalid URL":"असामान्य यूआरएल","It is a one-time use code that will disable 2FA for your account when you use it.":"यह एक बार उपयोग होने वाला कोड है जो आपके द्वारा इसका उपयोग करने पर आपके खाते के लिए 2FA को अक्षम कर देगा।","Item":"मद","Items per page:":"प्रति पृष्ठ आइटम:","JPEG Quality: %{n}":"JPEG गुणवत्ता: %{n}","JPEG Size Limit: %{n}px":"JPEG आकार सीमा: %{n} px","JPEGs and thumbnails are automatically rendered as needed.":"JPEG और थंबनेल स्वचालित रूप से आवश्यकतानुसार प्रस्तुत किए जाते हैं।","Keywords":"कीवर्ड","Label":"लेबल","Labels":"लेबल","Labels deleted":"लेबल हटा दिए गए","Lanczos: Detail Preservation, Minimal Artifacts":"लैंक्ज़ोस: विस्तार संरक्षण, न्यूनतम कलाकृतियाँ","Language":"भाषा","Last Active":"अंतिम सक्रिय","Last Login":"आखरी लॉगइन","Last page":"अंतिम पृष्ठ","Last Sync":"अंतिम सिंक","Last Used":"अंतिम समय प्रयोग हुआ","Latitude":"अक्षांश","LDAP/AD":"एलडीएपी/एडी","Learn more":"और अधिक जानें","Learn More":"और अधिक जानें","Legal Information":"कानूनी जानकारी","Lens":"लेंस","Library":"पुस्तकालय","License":"लाइसेंस","Like":"पसंद","Lime":"चूना","Limit reached, showing first %{n} files":"पहले %{n} फ़ाइलों को दिखाते हुए, सीमा समाप्त हो गई","Linear: Very Smooth, Best Performance":"रैखिक: बहुत चिकना, सर्वश्रेष्ठ प्रदर्शन","Link":"संपर्क","List":"सूची","List View":"लिस्ट व्यू","Live":"लाइव","Live Photos":"लाइव तस्वीरें","Load more":"और लोड करें","Loading items...":"आइटम लोड हो रहे हैं..।","Loading...":"लोड हो रहा है..।","Local":"स्थानीय","Local Time":"स्थानीय समय","Location":"स्थान","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"जब भी PhotoPrism टूटी हुई फ़ाइलों में आता है, या अन्य संभावित मुद्दे हैं, तो लॉग संदेश यहां दिखाई देते हैं।","Login":"लॉग इन करें","Logout":"लॉग आउट","Logs":"लॉग्स","Longitude":"देशान्तर","Low":"कम","Magenta":"मैजेंटा","Main Color":"मुखय रंग","Male":"पुरुष","Manage Account":"खाते का प्रबंधन करें","Manual":"नियमावली","Manual Upload":"मैनुअल अपलोड","Maps":"एमएपीएस","Marker":"निशान","Maximum number of accounts has been reached.":"खातों की अधिकतम संख्या पहुँच गई है।","Media":"मिडिया","Medium":"मध्यम","Membership":"सदस्यता","Merge %{a} with %{b}?":"%{a} को %{b} के साथ मिलाएं?","Message":"संदेश","Message sent":"मैसेज बेजा गया","Metadata":"मेटाडाटा","Metrics":"मेट्रिक्स","Minimize":"छोटा करना","Missing":"लापता","Missing or invalid configuration":"गुम या अमान्य कॉन्फ़िगरेशन","Moments":"लम्हें","Monochrome":"एक रंग का","Month":"महीना","More options":"अधिक विकल्प","Mosaic":"मौज़ेक","Most Relevant":"सबसे अधिक प्रासंगिक","Move Files":"फ़ाइलें ले जाएँ","Must have at least %{n} characters.":"कम से कम %{n} अक्षर होने चाहिए।","Mute":"आवाज़ बंद करना","Name":"नाम","Name too long":"नाम बहुत लंबा","Never":"कभी नहीँ","New":"नई","New Password":"नया पासवर्ड","Newest First":"नवीनतम पहले","Next":"अगला","Next page":"अगला पृष्ठ","Next visual":"अगला दृश्य","No":"नहीं","No albums found":"कोई एल्बम नहीं मिला","No data available":"कोई डेटा मौजूद नहीं","No labels found":"कोई लेबल नहीं मिला","No matching records found":"कोई मेल खाता रिकॉर्ड नहीं मिला","No more":"अब और नहीं","No people found":"कोई व्यक्ति नहीं मिला","No pictures found":"कोई चित्र नहीं मिला","No recently edited pictures":"हाल ही में संपादित कोई चित्र नहीं","No server connection":"कोई सर्वर कनेक्शन नहीं","No servers configured.":"कोई सर्वर कॉन्फ़िगर नहीं किया गया।","No services configured.":"कोई सेवा कॉन्फ़िगर नहीं की गई है।","No thanks":"जी नहीं, धन्यवाद","No warnings or error containing this keyword. Note that search is case-sensitive.":"इस कीवर्ड से कोई चेतावनी या त्रुटि नहीं है। ध्यान दें कि खोज केस-संवेदी है।","Non-photographic and low-quality images require a review before they appear in search results.":"गैर-फोटोग्राफिक और निम्न-गुणवत्ता वाली छवियों को खोज परिणामों में प्रदर्शित होने से पहले समीक्षा की आवश्यकता होती है।","None":"कोई नहीं","Not allowed":"अनुमति नहीं","Not found":"नहीं मिला","Not sorted.":"क्रमबद्ध नहीं।","Not supported":"समर्थित नहीं","Note you may manually manage your originals folder and importing is optional.":"ध्यान दें कि आप अपने मूल फ़ोल्डर को मैन्युअल रूप से प्रबंधित कर सकते हैं और आयात करना वैकल्पिक है।","Note:":"ध्यान दें:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"नोट: केवल WebDAV सर्वर, जैसे Nextcloud या PhotoPrism, को बैकअप और फ़ाइल अपलोड के लिए दूरस्थ सेवा के रूप में कॉन्फ़िगर किया जा सकता है।","Notes":"नोट्स","Nothing to see here yet.":"यहां देखने के लिए अभी कुछ भी नहीं है।","Nothing was found.":"कुछ न मिला।","Offline":"ऑफलाइन","OIDC":"ओआईडीसी","OK":"ठीक है","Oldest First":"सबसे पुराना पहले","On Windows, enter the following resource in the connection dialog:":"विंडोज़ पर, कनेक्शन संवाद में निम्न संसाधन दर्ज करें:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"ऑन-डिमांड थंबनेल बनाने से CPU और मेमोरी का अधिक उपयोग हो सकता है। संसाधन-सीमित सर्वर और NAS डिवाइस के लिए इसकी अनुशंसा नहीं की जाती है।","Once a week":"सप्ताह मेँ एक बार","One album found":"एक एल्बम मिला","One file found":"एक फ़ाइल मिली","One file uploaded":"एक फ़ाइल अपलोड की गई","One folder found":"एक फ़ोल्डर मिला","One label found":"एक लेबल मिला","One person found":"एक व्यक्ति मिला","One picture found":"एक तस्वीर मिली","Only locally managed accounts can be set up for authentication with 2FA.":"केवल स्थानीय रूप से प्रबंधित खातों को ही 2FA प्रमाणीकरण के लिए सेट किया जा सकता है।","Open":"खुला","optional":"वैकल्पिक","or":"या","Orange":"संतरा","Organization":"संगठन","Orientation":"उन्मुखीकरण","Original file names will be stored and indexed.":"मूल फ़ाइल नाम संग्रहीत और अनुक्रमित किए जाएंगे।","Original Name":"मूल नाम","Originals":"मूल","Other":"अन्य","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"हमारा मिशन आपके चित्रों को व्यवस्थित और सुलभ रखने के लिए सबसे अधिक उपयोगकर्ता- और गोपनीयता के अनुकूल समाधान प्रदान करना है।","Outdoor":"घर के बाहर","Page {0}, Current page":"पृष्ठ {0}, वर्तमान पृष्ठ","Pages":"पृष्ठों","Pagination Navigation":"पृष्ठांकन नेविगेशन","Panorama":"चित्रमाला","Panoramas":"पैनोरामा","Password":"कुंजिका","Password changed":"पासवर्ड बदला गया","People":"लोग","People you share a link with will be able to view public contents.":"जिन लोगों के साथ आप लिंक साझा करते हैं, वे सार्वजनिक सामग्री देख पाएंगे।","Permanently deleted":"स्थायी रूप से हटा दिया गया","Permanently remove files to free up storage.":"मेमोरी खाली करने के लिए फ़ाइलें हमेशा के लिए हटाएं.","Person":"व्यक्ति","Personal":"निजी","Photo":"तस्वीर","PhotoPrism is 100% self-funded and independent.":"PhotoPrism 100% स्व-वित्तपोषित और स्वतंत्र है।","PhotoPrism+ Membership":"फोटोप्रिज्म+ सदस्यता","Photos":"तस्वीरें","Picture Title":"चित्र का शीर्षक","Pink":"गुलाबी","Place":"स्थान","Place & Time":"स्थान और समय","Places":"स्थान","Please confirm your new password.":"कृपया अपने नए पासवर्ड की पुष्टि करें।","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"कृपया निम्नलिखित यादृच्छिक रूप से उत्पन्न ऐप पासवर्ड को कॉपी करें और इसे सुरक्षित स्थान पर रखें, क्योंकि आप इसे दोबारा नहीं देख पाएंगे:","Please do not upload any private, unlawful or offensive pictures.":"कृपया कोई भी निजी, गैरकानूनी या आपत्तिजनक चित्र अपलोड न करें।","Please don't upload photos containing offensive content.":"कृपया आक्रामक सामग्री वाले फ़ोटो अपलोड न करें।","Please enter OTP character {0}":"कृपया OTP वर्ण {0} दर्ज करें","Please note that changing your password will log you out on other devices and browsers.":"कृपया ध्यान दें कि अपना पासवर्ड बदलने से आप अन्य उपकरणों और ब्राउज़रों पर लॉग आउट हो जाएंगे।","Please restart your instance for the changes to take effect.":"परिवर्तनों को प्रभावी करने के लिए कृपया अपना इंस्टेंस पुनः प्रारंभ करें।","Please wait…":"कृपया प्रतीक्षा करें…","PM":"बजे","PNG Size Limit: %{n}px":"PNG आकार सीमा: %{n} px","Portrait":"चित्र","Preserve filenames":"फ़ाइल नाम संरक्षित करें","Press enter to create a new album.":"एक नया एल्बम बनाने के लिए एंटर दबाएं।","Prevent database and album backups as well as YAML sidecar files from being created.":"डेटाबेस और एल्बम बैकअप के साथ-साथ YAML साइडकार फ़ाइलों को बनने से रोकें।","Prevent other apps from accessing PhotoPrism as a shared network drive.":"अन्य ऐप्स को साझा नेटवर्क ड्राइव के रूप में PhotoPrism तक पहुंचने से रोकें।","Preview":"पूर्वावलोकन","Preview Images":"छवियों का पूर्वावलोकन करें","Previous":"पहले का","Previous page":"पिछला पृष्ठ","Previous visual":"पिछला दृश्य","Primary":"मुख्य","Private":"निजी","Product Feedback":"उत्पाद प्रतिक्रिया","Projection":"प्रक्षेपण","Purple":"बैंगनी","Quality Filter":"गुणवत्ता फ़िल्टर","Quality Score":"गुणवत्ता स्कोर","r":"आर","Random":"बिना सोचे समझे","Rating {0} of {1}":"{1} में से {0} रेटिंग","Raw":"कच्चा","RAW":"कच्चा","Re-index all originals, including already indexed and unchanged files.":"पहले से अनुक्रमित और अपरिवर्तित फ़ाइलों सहित सभी मूल पुन: अनुक्रमित करें।","Read-Only Mode":"पढ़ें- केवल मोड","Recently Added":"हाल ही में जोड़ा","Recently Archived":"हाल ही में संग्रहीत","Recently Edited":"हाल ही में संपादित","Recognition starts after indexing has been completed.":"अनुक्रमण पूरा होने के बाद मान्यता शुरू होती है।","Recognize faces so people can be assigned and found.":"चेहरों को पहचानता है ताकि विशिष्ट लोगों को ढूंढा जा सके।","Recognized":"मान्यता प्राप्त","Recovery Code":"पुनःप्राप्ति सांकेतिक अंक","Red":"लाल","Refresh":"ताज़ा करना","Regions":"क्षेत्रों","Register":"पंजीकरण करवाना","Reload":"पुनः लोड करें","Reloading…":"पुन: लोड …","Remote Sync":"रिमोट सिंक","Remove":"हटाना","remove failed: unknown album":"निकालें विफल: अज्ञात एल्बम","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"स्टोरेज को सेव करने के लिए इंपोर्टेड फाइल्स निकालें। असमर्थित फ़ाइल प्रकार कभी भी हटाए नहीं जाएंगे, वे अपने वर्तमान स्थान पर बने रहेंगे।","Request failed - are you offline?":"अनुरोध विफल - क्या आप ऑफ़लाइन हैं?","Request failed - invalid response":"अनुरोध विफल - अमान्य प्रतिक्रिया","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"खोज परिणामों में प्रदर्शित होने से पहले गैर-फोटोग्राफिक और निम्न-गुणवत्ता वाली छवियों की समीक्षा की आवश्यकता होती है।","Resolution":"रिज़ॉल्यूशन","Restart":"पुनः आरंभ करें","Restore":"पुनर्स्थापित","Restored":"पुनः स्थापित किए गए","Retry Limit":"पुनः प्रयास सीमा","Retype Password":"पासवर्ड फिर से लिखें","Review":"समीक्षा","Role":"भूमिका","Rows per page:":"प्रति पृष्ठ पंक्तियाँ:","Satellite":"उपग्रह","Save":"सहेजें","Scan":"स्कैन","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"अपने प्रमाणक ऐप से QR कोड को स्कैन करें या नीचे दिखाए गए सेटअप कुंजी का उपयोग करें और फिर जनरेट किया गया सत्यापन कोड दर्ज करें:","Scans":"स्कैन","Scope":"दायरा","Search":"खोज","Search and display photos on a map.":"मानचित्र पर फ़ोटो खोजें और प्रदर्शित करें।","Season":"मौसम","Secret":"गुप्त","Security and Access":"सुरक्षा और पहुंच","Select":"चुनें","Select a source folder to import files…":"फ़ाइलें आयात करने के लिए स्रोत फ़ोल्डर चुनें…","Select date":"तारीख़ चुनें","Select dates":"तिथियाँ चुनें","Select or create an album":"एल्बम चुनें या बनाएँ","Select the files to upload…":"अपलोड करने के लिए फ़ाइलें चुनें…","Select the folder to be indexed…":"अनुक्रमित करने के लिए फ़ोल्डर का चयन करें…","Select Time":"समय चुनें","Selection approved":"चयन को संग्रहीत किया गया","Selection archived":"चयन को संग्रहीत किया गया","Selection restored":"चयन बहाल","Sequential Name":"अनुक्रमिक नाम","Service URL":"सेवा URL","Services":"सेवाएं","Session":"सत्र","Session ID":"सत्र आईडी","Sessions":"सत्र","Set as Album Cover":"एल्बम कवर के रूप में सेट करें","Settings":"समायोजन","Settings saved":"सेटिंग्स को सहेजा गया","Setup":"सेट अप","Share":"शेयर","Share %{s}":"%{s} साझा करें","Share your pictures with other apps and services.":"अन्य ऐप्स और सेवाओं के साथ अपनी तस्वीरें साझा करें।","Show":"दिखाना","Show all new faces":"सभी नए चेहरे दिखाएं","Show Captions":"कैप्शन दिखाएं","Show hidden":"छिपा हुआ दिखाएं","Show less":"कम दिखाएं","Show more":"और दिखाओ","Show server logs in Library.":"लायब्रेरी में सर्वर लॉग दिखाएं।","Show Titles":"शीर्षक दिखाएं","Sidecar":"एक प्रकार का मादक द्रव्य","Sidecar Files":"साइडकार फ़ाइलें","Sign in":"साइन इन करें","Similar":"समान","Size":"आकार","Slideshow":"स्लाइड शो","Slow":"धीरे","Software":"सॉफ़्टवेयर","Software Update":"सॉफ्टवेयर अपडेट","Something went wrong, try again":"कुछ गलत हुआ है, दोबारा कोशिश करें","Sort by":"इसके अनुसार क्रमबद्ध करें","Sort Order":"क्रमबद्ध आदेश","Sorted ascending.":"आरोही क्रम में क्रमबद्ध।","Sorted descending.":"अवरोही क्रम में क्रमबद्ध।","Source":"स्रोत","Stack":"ढेर","Stack files sharing the same unique image or instance identifier.":"समान विशिष्ट छवि या उदाहरण पहचानकर्ता को साझा करने वाली स्टैक फाइलें।","Stack pictures taken at the exact same time and location based on their metadata.":"उनके मेटाडेटा के आधार पर ठीक उसी समय और स्थान पर ली गई स्टैक तस्वीरें।","Stackable":"ढेर","Stacks":"ढेर","Start":"शुरू","Start Page":"पृष्ठ आरंभ करें","Static Size Limit: %{n}px":"प्री-रेंडर आकार सीमा: %{n} px","Status":"स्थिति","Storage":"भंडारण","Streets":"सड़कें","Subject":"विषय","Submit":"जमा करना","Successfully activated":"सफलतापूर्वक सक्रिय किया गया","Successfully Connected":"सफलतापूर्वक कनेक्ट किया गया","Successfully deleted":"सफलतापूर्वक हटा दिया गया","Successfully verified":"सफलतापूर्वक सत्यापित","Super Admin":"सुपर एडमिन","Support for additional services, like Google Drive, will be added over time.":"अतिरिक्त सेवाओं के लिए समर्थन, जैसे Google ड्राइव, समय के साथ जोड़ा जाएगा।","Support Our Mission":"हमारे मिशन का समर्थन करें","Sync":"सिंक","Sync raw and video files":"कच्ची छवियों को सिंक करें","Taken":"लिया","Teal":"टील","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"छवि वर्गीकरण, चेहरे की पहचान और असुरक्षित सामग्री का पता लगाने के लिए TensorFlow आवश्यक है।","Terrain":"इलाके","Text":"मूलपाठ","Text too long":"बहुत लंबा पाठ","Thank You for Your Support!":"आपके समर्थन के लिए धन्यवाद!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"यही कारण है कि PhotoPrism को स्वतंत्रता, गोपनीयता, या कार्यक्षमता से समझौता किए बिना, जहाँ भी आपको इसकी आवश्यकता हो, चलाने के लिए जमीन से बनाया गया था।","The index currently contains %{n} hidden files.":"सूचकांक में वर्तमान में %{n} छिपी हुई फाइलें हैं।","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"उनके प्रारूप का समर्थन नहीं किया जा सकता है, वे अभी तक जेपीईजी में परिवर्तित नहीं हुए हैं या डुप्लिकेट हैं।","Theme":"विषय","This field is required":"यह फ़ील्ड आवश्यक है","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"यह मूल फ़ोल्डर को नेटवर्क ड्राइव के रूप में मापता है और आपको अपने कंप्यूटर या स्मार्टफोन से फ़ाइलों को खोलने, संपादित करने और हटाने की अनुमति देता है जैसे कि वे स्थानीय थे।","Time UTC":"समय यूटीसी","Time Zone":"समय क्षेत्र","Timeout":"समय समाप्त","Title":{"Account":"शीर्षक","Photo":"शीर्षक","":"शीर्षक"},"Title / Position":"शीर्षक स्थिति","Title too long":"शीर्षक बहुत लंबा है","to":"सेवा","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"अपने खाते को लॉक होने से बचाने के लिए, कृपया इस पुनर्प्राप्ति कोड को अभी डाउनलोड, प्रिंट या कॉपी करें और इसे सुरक्षित स्थान पर रखें।","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"नया ऐप-विशिष्ट पासवर्ड बनाने के लिए, कृपया एप्लिकेशन का नाम और प्राधिकरण दायरा दर्ज करें और समाप्ति तिथि चुनें:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"किसी नए प्रमाणक ऐप या डिवाइस पर स्विच करने के लिए, पहले दो-कारक प्रमाणीकरण को निष्क्रिय करें और फिर उसे पुनः सक्रिय करें:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"अपग्रेड करने के लिए, आप या तो एक सक्रियण कोड दर्ज कर सकते हैं या हमारी वेबसाइट पर साइन अप करने के लिए \"रजिस्टर\" पर क्लिक कर सकते हैं:","Today":"आज","Toggle View":"टॉगल दृश्य","Token":"टोकन","Too many files selected":"बहुत सारी फ़ाइलें चयनित","Too many requests":"बहुत अधिक अनुरोध","Troubleshooting":"समस्या निवारण","Try again using other filters or keywords.":"अन्य फ़िल्टर या कीवर्ड का उपयोग करके फिर से प्रयास करें।","Two-factor authentication has been enabled for your account.":"आपके खाते के लिए दो-कारक प्रमाणीकरण सक्षम कर दिया गया है।","Type":"प्रकार","Unauthorized":"अनधिकृत","Undo":"पहले जैसा","Unique ID":"एक अलग पहचान","Unknown":"अनजान","Unregistered":"अपंजीकृत","Unsorted":"अवर्गीकृत","Unstack":"अनस्टैक","Updated":"अपडेट किया गया","Updating faces":"चेहरे अपडेट करना","Updating index":"इंडेक्स अपडेट कर रहा है","Updating moments":"पल-पल का अपडेट","Updating picture…":"चित्र अपडेट किया जा रहा है…","Updating previews":"पूर्वावलोकन अपडेट करना","Updating stacks":"ढेर अद्यतन कर रहा है","Upgrade":"उन्नत करना","Upgrade Now":"अभी अपग्रेड करें","Upload":"डालना","Upload complete":"अपलोड पूरा हुआ","Upload complete. Indexing…":"अपलोड पूरा हुआ। अनुक्रमण …","Upload failed":"अपलोड विफल","Upload local files":"स्थानीय फ़ाइलें अपलोड करें","Upload Path":"अपलोड पथ","Upload to WebDAV and share links with friends.":"WebDAV पर अपलोड करें और दोस्तों के साथ लिंक साझा करें।","Uploading %{n} of %{t}…":"%{t} का %{n} अपलोड हो रहा है…","Uploading photos…":"फ़ोटो अपलोड हो रही हैं…","Uploading…":"अपलोड हो रहा है…","Uploads that may contain such images will be rejected automatically.":"ऐसे चित्र शामिल होने वाले अपलोड स्वचालित रूप से अस्वीकार कर दिए जाएंगे।","Use Presets":"प्रीसेट का उपयोग करें","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"जब आप अपने प्रमाणक ऐप के साथ वैध सत्यापन कोड जनरेट करने में असमर्थ हों, तो अपने खाते तक पहुंचने के लिए निम्नलिखित पुनर्प्राप्ति कोड का उपयोग करें:","Use your recovery code or contact an administrator for help.":"सहायता के लिए अपना पुनर्प्राप्ति कोड उपयोग करें या किसी व्यवस्थापक से संपर्क करें।","User":"उपयोगकर्ता","User Guide":"उपयोगकर्ता गाइड","User Interface":"प्रयोक्ता इंटरफ़ेस","Username":"उपयोगकर्ता नाम","Users":"उपयोगकर्ताओं","Vector":"वेक्टर","Vectors":"वैक्टर","Verification Code":"सत्यापन कोड","Video":"वीडियो","Video Duration":"वीडियो अवधि","Videos":"वीडियो","View":"राय","View search results as a list.":"खोज परिणामों को सूची के रूप में देखें।","Viewer":"दर्शक","Visitor":"आगंतुक","Visual Similarity":"दृश्य समानता","Warning":"चेतावनी","We appreciate your feedback!":"हम आपके फ़ीडबैक की सराहना करते हैं!","We do our best to respond within five business days or less.":"हम पांच व्यावसायिक दिनों या उससे कम समय में जवाब देने की पूरी कोशिश करते हैं।","Web Login":"वेब लॉगिन","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"WebDAV क्लाइंट निम्न URL का उपयोग करके PhotoPrism से जुड़ सकते हैं:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"Microsoft के Windows Explorer या Apple के खोजक जैसे WebDAV क्लाइंट सीधे PhotoPrism से जुड़ सकते हैं।","WebDAV Upload":"WebDAV अपलोड करें","WebGL support is disabled in your browser":"आपके ब्राउज़र में WebGL समर्थन अक्षम है","Website":"वेबसाइट","White":"सफेद","Work Details":"कार्य विवरण","Year":"साल","Yellow":"पीला","Yes":"हाँ","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"अपनी सदस्यता से संबंधित प्रश्नों के लिए Member@photoprism.app पर हमसे संपर्क करने के लिए आपका स्वागत है।","You can only download one album":"आप केवल एक एल्बम डाउनलोड कर सकते हैं","You can only download one label":"आप केवल एक लेबल डाउनलोड कर सकते हैं","You can upload up to %{n} files for test purposes.":"आप परीक्षण उद्देश्यों के लिए %{n} तक फ़ाइलें अपलोड कर सकते हैं।","You may only select one item":"आप केवल एक आइटम का चयन कर सकते हैं","You may rescan your library to find additional faces.":"अतिरिक्त चेहरों को खोजने के लिए आप अपनी लाइब्रेरी को फिर से स्कैन कर सकते हैं।","Your account has been successfully connected.":"आपका खाता सफलतापूर्वक कनेक्ट कर दिया गया है।","Your browser does not support WebGL":"आपका ब्राउज़र WebGL का समर्थन नहीं करता है","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"आपका निरंतर समर्थन हमें नियमित अपडेट प्रदान करने और स्वतंत्र रहने में मदद करता है, इसलिए हम अपने मिशन को पूरा कर सकते हैं और आपकी गोपनीयता की रक्षा कर सकते हैं।","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"विशेष क्षणों, यात्राओं और स्थानों के स्वचालित रूप से एल्बम बनाने के लिए आपकी लाइब्रेरी का लगातार विश्लेषण किया जाता है।","Zoom in/out":"ज़ूम इन / आउट करें"}} \ No newline at end of file +{"hi":{"{0} appended action":"{0} जोड़ी गई कार्रवाई","{0} files":"{0} फ़ाइलें","{0} files ({1} in total)":"{0} फ़ाइलें (कुल {1})","{0} more":"{0} अधिक","{0} prepended action":"{0} पूर्वनिर्धारित कार्रवाई","{0} selected":"{0} चयनित","{0}-{1} of {2}":"{0}-{1} में से {2}","%{n} albums found":"%{n} एल्बम मिले","%{n} files uploaded":"%{n} फ़ाइलें अपलोड की गईं","%{n} folders found":"%{n} फ़ोल्डर मिले","%{n} GB of %{q} GB used":"%{q} GB में से %{n} GB उपयोग किया गया","%{n} labels found":"%{n} लेबल मिले","%{n} people found":"%{n} लोग मिले","%{n} pictures found":"%{n} चित्र मिले","%{s} is too long":"%{s} बहुत लंबा है","%{s} is too short":"%{s} बहुत छोटा है","1 hour":"1 घंटा","12 hours":"12 घंटा","2-Factor Authentication":"2-कारक प्रमाणीकरण","2FA":"2एफए","4 hours":"4 घंटा","A click will copy it to your clipboard.":"एक क्लिक इसे आपके क्लिपबोर्ड पर कॉपी कर देगा।","A new version of %{s} is available:":"%{s} का नया संस्करण उपलब्ध है:","About":"के बारे में","Access Token":"एक्सेस टोकन","Account":"लेखा","Account created":"खाता बन गया","Account deleted":"खाता हटाया गया","Account restored":"खाता बहाल किया गया","Accounts":"हिसाब किताब","Accuracy":"शुद्धता","Action":"कार्य","Actions":"क्रिया","Activate":"सक्रिय","Activate to remove sorting.":"सॉर्टिंग हटाने के लिए सक्रिय करें।","Activate to sort ascending.":"आरोही क्रम में क्रमबद्ध करने के लिए सक्रिय करें।","Activate to sort descending.":"अवरोही क्रम में क्रमबद्ध करने के लिए सक्रिय करें।","Activation Code":"एक्टिवेशन कोड","Add":"जोड़ना","Add %{s}?":"%{s} जोड़ें?","Add Account":"खाता जोड़ो","Add Album":"एल्बम जोड़ें","Add files to your library via Web Upload.":"वेब अपलोड के माध्यम से अपनी लाइब्रेरी में फाइलें जोड़ें।","Add Link":"लिंक जोड़ें","Add person?":"व्यक्ति जोड़ें?","Add pictures from search results by selecting them.":"खोज परिणामों से चित्रों का चयन करके उन्हें जोड़ें।","Add to album":"एल्बम में जोड़ें","Added":"जोड़ा गया","Adjust Location":"स्थान समायोजित करें","Admin":"व्यवस्थापक","Advanced":"उन्नत","After 1 day":"1 दिन बाद","After 3 days":"3 दिन बाद","After 7 days":"7 दिन बाद","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"पुष्टि के लिए अपना पासवर्ड दर्ज करने के बाद, आप संगत प्रमाणक ऐप या डिवाइस के साथ दो-कारक प्रमाणीकरण सेट कर सकते हैं:","After one month":"एक महिने बाद","After one year":"एक साल बाद","After selecting pictures from search results, you can add them to an album using the context menu.":"खोज परिणामों से चित्रों का चयन करने के बाद, आप उन्हें संदर्भ मेनू का उपयोग करके किसी एल्बम में जोड़ सकते हैं।","After two months":"दो महीने के बाद","After two weeks":"दो हफ्ते बाद","Album":"एल्बम","Album Backups":"एल्बम बैकअप","Album created":"एल्बम बनाया गया","Album deleted":"एल्बम हटा दिया गया","Albums":"एल्बम","Albums deleted":"एल्बम हटाए गए","All":"सभी","All %{n} albums loaded":"सभी %{n} एल्बम लोड किए गए","All %{n} labels loaded":"सभी %{n} लेबल लोड किए गए","All %{n} people loaded":"सभी %{n} लोग लोड हुए","All Cameras":"सभी कैमरे","All Categories":"सब वर्ग","All Colors":"सभी रंग","All Countries":"सभी देश","All fields are required":"सभी फ़ील्ड आवश्यक हैं","All files from import folder":"आयात फ़ोल्डर से सभी फ़ाइलें","All Lenses":"सभी लेंस","All Months":"सभी महीने","All originals":"सभी मूल","All Years":"सभी वर्ष","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"वैकल्पिक रूप से, आप Nextcloud की तरह सीधे WebDAV सर्वर पर फाइल अपलोड कर सकते हैं।","Altitude":"ऊंचाई","Altitude (m)":"ऊंचाई (एम)","AM":"पूर्वाह्न","Animated":"एनिमेटेड","Animation":"एनीमेशन","Animations":"एनिमेशन","Any private photos and videos remain private and won't be shared.":"कोई भी निजी फ़ोटो और वीडियो निजी रहेंगे और उन्हें साझा नहीं किया जाएगा।","API Key":"एपीआई कुंजी","Application":"आवेदन","Apply":"लागू","Approve":"मंजूर","Apps and Devices":"ऐप्स और डिवाइस","Archive":"पुरालेख","Archived":"संग्रहीत","Are you sure you want to archive the selection?":"क्या आप वाकई चयन को संग्रहीत करना चाहते हैं?","Are you sure you want to delete these albums?":"क्या आप वाकई इन एल्बम को हटाना चाहते हैं?","Are you sure you want to delete these labels?":"क्या आप वाकई इन लेबल को हटाना चाहते हैं?","Are you sure you want to delete this account?":"क्या आप वाकई इस खाते को हटाना चाहते हैं?","Are you sure you want to delete this album?":"क्या आप वाकई इस एल्बम को हटाना चाहते हैं?","Are you sure you want to permanently delete these pictures?":"क्या आप वाकई इन चित्रों को स्थायी रूप से हटाना चाहते हैं?","Are you sure you want to permanently delete this file?":"क्या आप वाकई इस फ़ाइल को स्थायी रूप से हटाना चाहते हैं?","Are you sure?":"क्या आपको यकीन है?","Artist":"कलाकार","Aspect Ratio":"आस्पेक्ट अनुपात","Audio":"ऑडियो","Authentication":"प्रमाणीकरण","Auto":"ऑटो","Back":"पीछे","Back to top":"शीर्ष पर वापस जाएं","Backup":"बैकअप","Badge":"बिल्ला","Base Path":"बेस पथ","Become a member today, support our mission and enjoy our member benefits!":"आज ही सदस्य बनें, हमारे मिशन का समर्थन करें और हमारे सदस्य लाभों का आनंद लें!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"100% स्व-वित्त पोषित और स्वतंत्र होने के नाते, हम आपसे वादा कर सकते हैं कि हम आपका डेटा कभी नहीं बेचेंगे और हम अपने सॉफ़्टवेयर और सेवाओं के बारे में हमेशा पारदर्शी रहेंगे।","Bio":"जैव","Birth Date":"जन्म तिथि","Black":"काली","Blackman: Lanczos Modification, Less Ringing Artifacts":"ब्लैकमैन: लैंक्ज़ोस संशोधन, कम बजने वाली कलाकृतियाँ","Blue":"नीला","Brown":"भूरा","Browse":"ब्राउज़","Browse and edit image classification labels.":"छवि वर्गीकरण लेबल ब्राउज़ करें और संपादित करें।","Browse and share your pictures organized into monthly albums.":"मासिक एल्बमों में व्यवस्थित अपनी तस्वीरों को ब्राउज़ करें और साझा करें।","Browse Files":"फ़ाइलों को ब्राउज़ करें","Browse indexed files and folders in Library.":"लाइब्रेरी में अनुक्रमित फ़ाइलों और फ़ोल्डरों को ब्राउज़ करें।","Bug Report":"बग रिपोर्ट","Busy, please wait…":"व्यस्त, कृपया प्रतीक्षा करें …","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"हमारे द्वारा प्रदान किए जाने वाले सॉफ़्टवेयर और सेवाओं का उपयोग करके, आप हमारी सेवा की शर्तों, गोपनीयता नीति और आचार संहिता से सहमत होते हैं।","Calendar":"पंचांग","Camera":"कैमरा","Camera Serial":"कैमरा सीरियल","Can't access your authenticator app or device?":"क्या आप अपने प्रमाणक ऐप या डिवाइस तक नहीं पहुंच पा रहे हैं?","Can't load more, limit reached":"अधिक लोड नहीं किया जा सकता, सीमा तक पहुंच गया","Can't select more items":"अधिक आइटम का चयन नहीं किया जा सकता","Cancel":"रद्द करना","Cannot copy to clipboard":"क्लिपबोर्ड पर कॉपी नहीं किया जा सकता","Caption":"कैप्शन","Cards":"पत्ते","Carousel slide {0} of {1}":"{1} में से {0} कैरोसेल स्लाइड","Category":"वर्ग","Change Avatar":"अवतार परिवर्तन","Change Password":"पासवर्ड बदलें","Change personal profile and security settings.":"व्यक्तिगत प्रोफ़ाइल और सुरक्षा सेटिंग्स बदलें।","Change photo titles, locations, and other metadata.":"फोटो शीर्षक, स्थान और अन्य मेटाडेटा बदलें।","Change private flag":"निजी ध्वज बदलें","Changes could not be saved":"परिवर्तन सहेजा नहीं जा सका","Changes successfully saved":"परिवर्तन सफलतापूर्वक सहेजे गए","Changes to the advanced settings require a restart to take effect.":"उन्नत सेटिंग्स में परिवर्तन प्रभावी होने के लिए पुनः आरंभ करना आवश्यक है।","Checked":"चेक किए गए","Chroma":"क्रोमा","Cleaning index and cache":"सफाई सूचकांक और कैश","Cleanup":"साफ - सफाई","Clear {0}":"साफ़ करें {0}","Client":"ग्राहक","Client Credentials":"ग्राहक क्रेडेंशियल","Close":"बंद करे","Codec":"कोडेक","Color":"रंग","Color Profile":"रंग प्रोफ़ाइल","Colors":"रंग की","Compare Editions":"संस्करणों की तुलना करें","Complete Rescan":"पूरा रेसकान","Confidence":"आत्मविश्वास","Confirm":"पुष्टि करना","Connect":"जुडिये","Connect via WebDAV":"WebDAV के माध्यम से कनेक्ट करें","Connected":"जुड़े हुए","Contact Details":"सम्पर्क करने का विवरण","Contact Us":"संपर्क करें","Contains %{n} pictures.":"इसमें %{n} चित्र हैं।","Contains one picture.":"एक तस्वीर शामिल है।","Content":"सामग्री","Continue":"जारी रखना","Continue with %{provider}":"%{provider} के साथ जारी रखें","Contributor":"योगदान देने वाला","Converting":"परिवर्तित","Copied to clipboard":"क्लिपबोर्ड पर नकल","Copy":"प्रतिलिपि","Copyright":"कॉपीराइट","Couldn't find anything.":"कुछ नहीं मिला।","Country":"देश","Create Account":"खाता बनाएं","Create album":"एल्बम बनाओ","Create regular backups based on the configured schedule.":"कॉन्फ़िगर किए गए शेड्यूल के आधार पर इंडेक्स बैकअप बनाएं।","Create YAML files to back up album metadata.":"एल्बम मेटाडेटा का बैकअप लेने के लिए YAML फ़ाइलें बनाएँ।","Create YAML sidecar files to back up picture metadata.":"चित्र मेटाडेटा का बैकअप लेने के लिए YAML साइडकार फ़ाइलें बनाएँ।","Created":"बनाया था","Creating thumbnails for":"के लिए थंबनेल बनाना","Cubic: Moderate Quality, Good Performance":"घन: मध्यम गुणवत्ता, अच्छा प्रदर्शन","Current Password":"वर्तमान पासवर्ड","Custom":"रिवाज़","Cyan":"सियान","Daily":"रोज","Database Backups":"डेटाबेस बैकअप","Day":"दिन","Deactivate":"निष्क्रिय करें","Debug Logs":"दोषमार्जन लॉग","Default":"चूक","Default Folder":"डिफ़ॉल्ट फ़ोल्डर","Delete":"हटाएं","Delete Album":"एल्बम हटाएं","Delete All":"सभी हटा दो","Delete all?":"सभी हटा दो?","Delete orphaned index entries, sidecar files and thumbnails.":"अनाथ अनुक्रमणिका प्रविष्टियाँ, साइडकार फ़ाइलें और थंबनेल हटाएँ।","Description":"विवरण","Detailed instructions can be found in our User Guide.":"विस्तृत निर्देश हमारे उपयोगकर्ता गाइड में पाए जा सकते हैं।","Details":"विवरण","Dimensions":"आयाम","Disable Backups":"पिछला बैकअप","Disable Darktable":"डार्कटेबल अक्षम करें","Disable ExifTool":"ExifTool अक्षम करें","Disable features that require write permission for the originals folder.":"उन सुविधाओं को अक्षम करें जिनके लिए मूल फ़ोल्डर के लिए लेखन अनुमति की आवश्यकता होती है।","Disable FFmpeg":"एफएफएमपीईजी अक्षम करें","Disable ImageMagick":"इमेजमैजिक को अक्षम करें","Disable interactive world maps and reverse geocoding.":"इंटरैक्टिव विश्व मानचित्र और रिवर्स जियोकोडिंग को अक्षम करें।","Disable Places":"विकलांग","Disable RawTherapee":"रॉ थेरेपी को अक्षम करें","Disable TensorFlow":"TensorFlow अक्षम करें","Disable Vectors":"वेक्टर अक्षम करें","Disable WebDAV":"विकलांग","Disables vector graphics support.":"वेक्टर ग्राफ़िक्स समर्थन अक्षम करता है।","Disables video transcoding and thumbnail extraction.":"वीडियो ट्रांसकोडिंग और थंबनेल निष्कर्षण अक्षम करता है।","Discover":"डिस्कवर","Dismiss":"नकार देना","Display Name":"प्रदर्शित होने वाला नाम","Display picture captions in search results.":"खोज परिणामों में चित्र कैप्शन प्रदर्शित करें।","Display picture titles in search results.":"खोज परिणामों में चित्र शीर्षक प्रदर्शित करें।","Document":"दस्तावेज़","Documents":"दस्तावेज़","Don't use Darktable to convert RAW images.":"रॉ फ़ाइलों को कनवर्ट करने के लिए डार्कटेबल का उपयोग न करें।","Don't use ImageMagick to convert images.":"छवियों को परिवर्तित करने के लिए ImageMagick का उपयोग न करें।","Don't use RawTherapee to convert RAW images.":"RAW फ़ाइलों को कनवर्ट करने के लिए RawTherapee का उपयोग न करें।","Done":"किया हुआ","Done.":"किया हुआ |","Download":"डाउनलोड","Download only original media files, without any automatically generated files.":"बिना किसी स्वचालित रूप से जेनरेट की गई फ़ाइलों के केवल मूल मीडिया फ़ाइलें डाउनलोड करें।","Download remote files":"दूरस्थ फ़ाइलें डाउनलोड करें","Download single files and zip archives.":"एकल फाइलें और ज़िप अभिलेखागार डाउनलोड करें।","Downloading…":"डाउनलोड कर रहा है …","Downscaling Filter":"गुणवत्ता फ़िल्टर","Drag and drop files here":"फ़ाइलों को यहां खींचें और छोड़ें","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"हमें प्राप्त होने वाले ईमेल की अधिक मात्रा के कारण, हमारी टीम आपसे तुरंत संपर्क करने में असमर्थ हो सकती है।","Duplicates will be skipped and only appear once.":"डुप्लिकेट को छोड़ दिया जाएगा और केवल एक बार दिखाई देगा।","Duration":"अवधि","Dynamic Previews":"बिना पढ़े हुए पूर्वावलोकन","Dynamic Size Limit: %{n}px":"बिना आकार की सीमा: %{n} px","E-Mail":"ईमेल","Edit":"संपादित करें","Edit %{s}":"%{s} संपादित करें","Edit Account":"खाता संपादित करें","Edit Photo":"फ़ोटो संपादित करें","Edited":"संपादित","Email":"ईमेल","Enable debug mode to display additional logs and help with troubleshooting.":"अतिरिक्त लॉग प्रदर्शित करने और समस्या निवारण में सहायता के लिए डिबग मोड सक्षम करें।","Enable new features that may be incomplete or unstable.":"ऐसी नई सुविधाएँ सक्षम करें जो अपूर्ण या अस्थिर हो सकती हैं।","Enables RAW converter presets. May reduce performance.":"रॉ कनवर्टर प्रीसेट सक्षम करता है। प्रदर्शन को कम कर सकता है।","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"दो-कारक प्रमाणीकरण सक्षम करने का अर्थ है कि आपको लॉग इन करने के लिए एक यादृच्छिक रूप से उत्पन्न सत्यापन कोड की आवश्यकता होगी, इसलिए यदि कोई आपके पासवर्ड तक पहुंच प्राप्त भी कर लेता है, तो वह आपके खाते तक नहीं पहुंच पाएगा।","Enter date":"तारीख दर्ज करें","Enter dates":"तारीखें दर्ज करें","Enter the code generated by your authenticator app:":"अपने प्रमाणक ऐप द्वारा जनरेट किया गया कोड दर्ज करें:","Enter verification code":"सत्यापन कोड दर्ज करें","Enter your password to confirm the action and continue:":"कार्रवाई की पुष्टि करने और जारी रखने के लिए अपना पासवर्ड दर्ज करें:","Error":"त्रुटि","Errors":"त्रुटियाँ","Estimate":"अनुमान लगाना","Estimate Locations":"स्थानों का अनुमान लगाएं","Estimate the approximate location of pictures without GPS coordinates.":"जीपीएस निर्देशांक के बिना चित्रों के अनुमानित स्थान का अनुमान लगाएं।","Every two days":"हेर दो दिनों","Exclude content marked as private from search results, shared albums, labels, and places.":"खोज परिणामों, साझा एल्बम, लेबल और स्थानों से निजी के रूप में चिह्नित सामग्री को बाहर निकालें।","Exclude hidden":"छिपा हुआ शामिल न करें","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"पूर्ण वीडियो, लाइव फोटो और XMP समर्थन के लिए ExifTool के साथ मेटाडेटा निष्कर्षण आवश्यक है।","Experimental Features":"प्रायोगिक विशेषताएं","Expires":"समय-सीमा समाप्त","Exposure":"संसर्ग","Extract still images and generate thumbnails while indexing.":"अनुक्रमण करते समय स्थिर चित्र निकालें और थम्बनेल उत्पन्न करें।","F Number":"एफ नंबर","Face":"चेहरा","Faces":"चेहरे के","Failed removing link":"लिंक हटाने में विफल","Failed to connect account.":"खाता कनेक्ट करने में विफल।","Failed updating link":"लिंक अपडेट करने में विफल","Family Name":"परिवार का नाम","Fast":"तेज","Favorite":"पसंदीदा","Favorites":"पसंदीदा","Feature Request":"महत्वपूर्ण लेख मांगना","Feedback":"प्रतिपुष्टि","Female":"मादा","File":"फ़ाइल","File Browser":"फ़ाइल ब्राउज़र","File Conversion":"फ़ाइल रूपांतरण","File Name":"फ़ाइल का नाम","File Size":"फ़ाइल का साइज़","Filename":"फ़ाइल का नाम","Files":"फ़ाइलें","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"क्रमिक नाम वाली फाइलें जैसे 'IMG_1234 (2)' या 'IMG_1234 कॉपी 2' एक ही फोटो से संबंधित हैं।","First page":"पहला पृष्ठ","Focal Length":"फोकल लम्बाई","Folder":"फ़ोल्डर","Folder contains %{n} files":"फ़ोल्डर में %{n} फाइलें हैं","Folder is empty":"फ़ोल्डर खाली है","Folders":"फ़ोल्डर","Forgot password?":"पासवर्ड भूल गए?","FPS":"एफपीएस","Frames":"फ्रेम्स","Full Access":"पूर्ण पहुँच","Fullscreen":"पूर्ण स्क्रीन","General":"सामान्य","Generate":"उत्पन्न","Generate albums of special moments, journeys, and places.":"स्वचालित रूप से विशेष क्षणों, यात्राओं और स्थानों के एल्बम बनाता है।","Generate Previews":"पूर्वावलोकन उत्पन्न करें","Generated":"जनरेट किया गया","Get Started":"शुरू हो जाओ","Given Name":"प्रदत्त नाम","Global Options":"वैश्विक विकल्प","Go to page {0}":"पृष्ठ {0} पर जाएं","Gold":"सोना","Green":"हरा","Grey":"धूसर","Guest":"अतिथि","Hash":"हैश","Help":"मदद","Help & Support":"मदद समर्थन","Hidden":"छिपा हुआ","Hidden Files":"छिपी हुई फाइलें","Hide":"छिपाना","Hide photos that have been moved to archive.":"उन तस्वीरों को छिपाएं जिन्हें संग्रह में स्थानांतरित किया गया है।","High":"उच्च","High Dynamic Range (HDR)":"उच्च गतिशील रेंज (एचडीआर)","How can we help?":"हम आपकी सहायता किस तरह से कर सकते है?","Hybrid":"संकर","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"यदि आप अपने प्रमाणक ऐप या डिवाइस तक पहुंच खो देते हैं, तो आप अपने खाते तक पहुंच पुनः प्राप्त करने के लिए अपने पुनर्प्राप्ति कोड का उपयोग कर सकते हैं।","Image":"छवि","Image Quality":"छवि के गुणवत्ता","Import":"आयात","Import failed":"आयात विफल रहा","Imported files will be sorted by date and given a unique name to avoid duplicates.":"आयातित फ़ाइलों को दिनांक के अनुसार क्रमबद्ध किया जाएगा और डुप्लिकेट से बचने के लिए एक अनूठा नाम दिया जाएगा।","Imported files will be sorted by date and given a unique name.":"आयातित फ़ाइलों को तिथि के अनुसार हल किया जाएगा और एक अनूठा नाम दिया जाएगा।","Importing %{s}…":"%{s} आयात किया जा रहा है…","Importing files to originals…":"मूल करने के लिए फ़ाइलें आयात कर रहा है …","in":"में","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"यदि आपके द्वारा अपेक्षित चित्र गायब हैं, तो कृपया अपनी लाइब्रेरी को फिर से स्कैन करें और अनुक्रमण पूरा होने तक प्रतीक्षा करें।","Include RAW image files when downloading stacks and archives.":"ढेर और संग्रह डाउनलोड करते समय RAW छवि फ़ाइलें शामिल करें।","Include sidecar files when downloading stacks and archives.":"ढेर और संग्रह डाउनलोड करते समय साइडकार फ़ाइलें शामिल करें।","Increase storage size or delete files to continue.":"जारी रखने के लिए संग्रहण आकार बढ़ाएँ या फ़ाइलें हटाएँ।","Index":"सूची","Index and import files through the user interface.":"उपयोगकर्ता इंटरफ़ेस के माध्यम से फ़ाइलों को अनुक्रमित और आयात करें।","Indexing":"इंडेक्सिंग","Indexing failed":"अनुक्रमण विफल रहा","Indexing media and sidecar files…":"मीडिया और साइडकार फ़ाइलों को अनुक्रमित करना …","Information":"जानकारी","Instance ID":"इंस्टेंस आईडी","Insufficient storage.":"अपर्याप्त भंडारण।","Interval":"मध्यान्तर","Invalid":"अमान्य","Invalid address":"अमान्य पता","Invalid country":"अमान्य देश","Invalid date":"अमान्य तिथि","Invalid parameters":"अमान्य मापदण्ड","Invalid photo selected":"अमान्य फ़ोटो चयनित","Invalid time":"अमान्य समय","Invalid URL":"असामान्य यूआरएल","It is a one-time use code that will disable 2FA for your account when you use it.":"यह एक बार उपयोग होने वाला कोड है जो आपके द्वारा इसका उपयोग करने पर आपके खाते के लिए 2FA को अक्षम कर देगा।","Item":"मद","Items per page:":"प्रति पृष्ठ आइटम:","JPEG Quality: %{n}":"JPEG गुणवत्ता: %{n}","JPEG Size Limit: %{n}px":"JPEG आकार सीमा: %{n} px","JPEGs and thumbnails are automatically rendered as needed.":"JPEG और थंबनेल स्वचालित रूप से आवश्यकतानुसार प्रस्तुत किए जाते हैं।","Keywords":"कीवर्ड","Label":"लेबल","Labels":"लेबल","Labels deleted":"लेबल हटा दिए गए","Lanczos: Detail Preservation, Minimal Artifacts":"लैंक्ज़ोस: विस्तार संरक्षण, न्यूनतम कलाकृतियाँ","Language":"भाषा","Last Active":"अंतिम सक्रिय","Last Login":"आखरी लॉगइन","Last page":"अंतिम पृष्ठ","Last Sync":"अंतिम सिंक","Last Used":"अंतिम समय प्रयोग हुआ","Latitude":"अक्षांश","LDAP/AD":"एलडीएपी/एडी","Learn more":"और अधिक जानें","Learn More":"और अधिक जानें","Legal Information":"कानूनी जानकारी","Lens":"लेंस","Library":"पुस्तकालय","License":"लाइसेंस","Like":"पसंद","Lime":"चूना","Limit reached, showing first %{n} files":"पहले %{n} फ़ाइलों को दिखाते हुए, सीमा समाप्त हो गई","Linear: Very Smooth, Best Performance":"रैखिक: बहुत चिकना, सर्वश्रेष्ठ प्रदर्शन","Link":"संपर्क","List":"सूची","List View":"लिस्ट व्यू","Live":"लाइव","Live Photos":"लाइव तस्वीरें","Load more":"और लोड करें","Loading items...":"आइटम लोड हो रहे हैं..।","Loading...":"लोड हो रहा है..।","Local":"स्थानीय","Local Time":"स्थानीय समय","Location":"स्थान","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"जब भी PhotoPrism टूटी हुई फ़ाइलों में आता है, या अन्य संभावित मुद्दे हैं, तो लॉग संदेश यहां दिखाई देते हैं।","Login":"लॉग इन करें","Logout":"लॉग आउट","Logs":"लॉग्स","Longitude":"देशान्तर","Low":"कम","Magenta":"मैजेंटा","Main Color":"मुखय रंग","Male":"पुरुष","Manage Account":"खाते का प्रबंधन करें","Manager":"प्रबंधक","Manual":"नियमावली","Manual Upload":"मैनुअल अपलोड","Maps":"एमएपीएस","Marker":"निशान","Maximum number of accounts has been reached.":"खातों की अधिकतम संख्या पहुँच गई है।","Media":"मिडिया","Medium":"मध्यम","Membership":"सदस्यता","Merge %{a} with %{b}?":"%{a} को %{b} के साथ मिलाएं?","Message":"संदेश","Message sent":"मैसेज बेजा गया","Metadata":"मेटाडाटा","Metrics":"मेट्रिक्स","Minimize":"छोटा करना","Missing":"लापता","Missing or invalid configuration":"गुम या अमान्य कॉन्फ़िगरेशन","Moments":"लम्हें","Monochrome":"एक रंग का","Month":"महीना","More options":"अधिक विकल्प","Mosaic":"मौज़ेक","Most Relevant":"सबसे अधिक प्रासंगिक","Move Files":"फ़ाइलें ले जाएँ","Must have at least %{n} characters.":"कम से कम %{n} अक्षर होने चाहिए।","Mute":"आवाज़ बंद करना","Name":"नाम","Name too long":"नाम बहुत लंबा","Never":"कभी नहीँ","New":"नई","New Password":"नया पासवर्ड","Newest First":"नवीनतम पहले","Next":"अगला","Next page":"अगला पृष्ठ","Next visual":"अगला दृश्य","No":"नहीं","No albums found":"कोई एल्बम नहीं मिला","No data available":"कोई डेटा मौजूद नहीं","No labels found":"कोई लेबल नहीं मिला","No matching records found":"कोई मेल खाता रिकॉर्ड नहीं मिला","No more":"अब और नहीं","No people found":"कोई व्यक्ति नहीं मिला","No pictures found":"कोई चित्र नहीं मिला","No recently edited pictures":"हाल ही में संपादित कोई चित्र नहीं","No results":"कोई परिणाम नहीं","No server connection":"कोई सर्वर कनेक्शन नहीं","No servers configured.":"कोई सर्वर कॉन्फ़िगर नहीं किया गया।","No services configured.":"कोई सेवा कॉन्फ़िगर नहीं की गई है।","No thanks":"जी नहीं, धन्यवाद","No warnings or error containing this keyword. Note that search is case-sensitive.":"इस कीवर्ड से कोई चेतावनी या त्रुटि नहीं है। ध्यान दें कि खोज केस-संवेदी है।","Non-photographic and low-quality images require a review before they appear in search results.":"गैर-फोटोग्राफिक और निम्न-गुणवत्ता वाली छवियों को खोज परिणामों में प्रदर्शित होने से पहले समीक्षा की आवश्यकता होती है।","None":"कोई नहीं","Not allowed":"अनुमति नहीं","Not found":"नहीं मिला","Not sorted.":"क्रमबद्ध नहीं।","Not supported":"समर्थित नहीं","Note you may manually manage your originals folder and importing is optional.":"ध्यान दें कि आप अपने मूल फ़ोल्डर को मैन्युअल रूप से प्रबंधित कर सकते हैं और आयात करना वैकल्पिक है।","Note:":"ध्यान दें:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"नोट: केवल WebDAV सर्वर, जैसे Nextcloud या PhotoPrism, को बैकअप और फ़ाइल अपलोड के लिए दूरस्थ सेवा के रूप में कॉन्फ़िगर किया जा सकता है।","Notes":"नोट्स","Nothing to see here yet.":"यहां देखने के लिए अभी कुछ भी नहीं है।","Nothing was found.":"कुछ न मिला।","Offline":"ऑफलाइन","OIDC":"ओआईडीसी","OK":"ठीक है","Oldest First":"सबसे पुराना पहले","On Windows, enter the following resource in the connection dialog:":"विंडोज़ पर, कनेक्शन संवाद में निम्न संसाधन दर्ज करें:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"ऑन-डिमांड थंबनेल बनाने से CPU और मेमोरी का अधिक उपयोग हो सकता है। संसाधन-सीमित सर्वर और NAS डिवाइस के लिए इसकी अनुशंसा नहीं की जाती है।","Once a week":"सप्ताह मेँ एक बार","One album found":"एक एल्बम मिला","One file found":"एक फ़ाइल मिली","One file uploaded":"एक फ़ाइल अपलोड की गई","One folder found":"एक फ़ोल्डर मिला","One label found":"एक लेबल मिला","One person found":"एक व्यक्ति मिला","One picture found":"एक तस्वीर मिली","Only locally managed accounts can be set up for authentication with 2FA.":"केवल स्थानीय रूप से प्रबंधित खातों को ही 2FA प्रमाणीकरण के लिए सेट किया जा सकता है।","Open":"खुला","optional":"वैकल्पिक","or":"या","Orange":"संतरा","Organization":"संगठन","Orientation":"उन्मुखीकरण","Original file names will be stored and indexed.":"मूल फ़ाइल नाम संग्रहीत और अनुक्रमित किए जाएंगे।","Original Name":"मूल नाम","Originals":"मूल","Other":"अन्य","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"हमारा मिशन आपके चित्रों को व्यवस्थित और सुलभ रखने के लिए सबसे अधिक उपयोगकर्ता- और गोपनीयता के अनुकूल समाधान प्रदान करना है।","Outdoor":"घर के बाहर","Page {0}, Current page":"पृष्ठ {0}, वर्तमान पृष्ठ","Pages":"पृष्ठों","Pagination Navigation":"पृष्ठांकन नेविगेशन","Panorama":"चित्रमाला","Panoramas":"पैनोरामा","Password":"कुंजिका","Password changed":"पासवर्ड बदला गया","People":"लोग","People you share a link with will be able to view public contents.":"जिन लोगों के साथ आप लिंक साझा करते हैं, वे सार्वजनिक सामग्री देख पाएंगे।","Permanently deleted":"स्थायी रूप से हटा दिया गया","Permanently remove files to free up storage.":"मेमोरी खाली करने के लिए फ़ाइलें हमेशा के लिए हटाएं.","Person":"व्यक्ति","Personal":"निजी","Photo":"तस्वीर","PhotoPrism is 100% self-funded and independent.":"PhotoPrism 100% स्व-वित्तपोषित और स्वतंत्र है।","PhotoPrism+ Membership":"फोटोप्रिज्म+ सदस्यता","Photos":"तस्वीरें","Picture Title":"चित्र का शीर्षक","Pink":"गुलाबी","Place":"स्थान","Place & Time":"स्थान और समय","Places":"स्थान","Please confirm your new password.":"कृपया अपने नए पासवर्ड की पुष्टि करें।","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"कृपया निम्नलिखित यादृच्छिक रूप से उत्पन्न ऐप पासवर्ड को कॉपी करें और इसे सुरक्षित स्थान पर रखें, क्योंकि आप इसे दोबारा नहीं देख पाएंगे:","Please do not upload any private, unlawful or offensive pictures.":"कृपया कोई भी निजी, गैरकानूनी या आपत्तिजनक चित्र अपलोड न करें।","Please don't upload photos containing offensive content.":"कृपया आक्रामक सामग्री वाले फ़ोटो अपलोड न करें।","Please enter OTP character {0}":"कृपया OTP वर्ण {0} दर्ज करें","Please note that changing your password will log you out on other devices and browsers.":"कृपया ध्यान दें कि अपना पासवर्ड बदलने से आप अन्य उपकरणों और ब्राउज़रों पर लॉग आउट हो जाएंगे।","Please restart your instance for the changes to take effect.":"परिवर्तनों को प्रभावी करने के लिए कृपया अपना इंस्टेंस पुनः प्रारंभ करें।","Please wait…":"कृपया प्रतीक्षा करें…","PM":"बजे","PNG Size Limit: %{n}px":"PNG आकार सीमा: %{n} px","Portrait":"चित्र","Preserve filenames":"फ़ाइल नाम संरक्षित करें","Press enter to create a new album.":"एक नया एल्बम बनाने के लिए एंटर दबाएं।","Prevent database and album backups as well as YAML sidecar files from being created.":"डेटाबेस और एल्बम बैकअप के साथ-साथ YAML साइडकार फ़ाइलों को बनने से रोकें।","Prevent other apps from accessing PhotoPrism as a shared network drive.":"अन्य ऐप्स को साझा नेटवर्क ड्राइव के रूप में PhotoPrism तक पहुंचने से रोकें।","Preview":"पूर्वावलोकन","Preview Images":"छवियों का पूर्वावलोकन करें","Previous":"पहले का","Previous page":"पिछला पृष्ठ","Previous visual":"पिछला दृश्य","Primary":"मुख्य","Private":"निजी","Product Feedback":"उत्पाद प्रतिक्रिया","Projection":"प्रक्षेपण","Purple":"बैंगनी","Quality Filter":"गुणवत्ता फ़िल्टर","Quality Score":"गुणवत्ता स्कोर","r":"आर","Random":"बिना सोचे समझे","Rating {0} of {1}":"{1} में से {0} रेटिंग","Raw":"कच्चा","RAW":"कच्चा","Re-index all originals, including already indexed and unchanged files.":"पहले से अनुक्रमित और अपरिवर्तित फ़ाइलों सहित सभी मूल पुन: अनुक्रमित करें।","Read-Only Mode":"पढ़ें- केवल मोड","Recently Added":"हाल ही में जोड़ा","Recently Archived":"हाल ही में संग्रहीत","Recently Edited":"हाल ही में संपादित","Recognition starts after indexing has been completed.":"अनुक्रमण पूरा होने के बाद मान्यता शुरू होती है।","Recognize faces so people can be assigned and found.":"चेहरों को पहचानता है ताकि विशिष्ट लोगों को ढूंढा जा सके।","Recognized":"मान्यता प्राप्त","Recovery Code":"पुनःप्राप्ति सांकेतिक अंक","Red":"लाल","Refresh":"ताज़ा करना","Regions":"क्षेत्रों","Register":"पंजीकरण करवाना","Reload":"पुनः लोड करें","Reloading…":"पुन: लोड …","Remote Sync":"रिमोट सिंक","Remove":"हटाना","remove failed: unknown album":"निकालें विफल: अज्ञात एल्बम","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"स्टोरेज को सेव करने के लिए इंपोर्टेड फाइल्स निकालें। असमर्थित फ़ाइल प्रकार कभी भी हटाए नहीं जाएंगे, वे अपने वर्तमान स्थान पर बने रहेंगे।","Request failed - are you offline?":"अनुरोध विफल - क्या आप ऑफ़लाइन हैं?","Request failed - invalid response":"अनुरोध विफल - अमान्य प्रतिक्रिया","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"खोज परिणामों में प्रदर्शित होने से पहले गैर-फोटोग्राफिक और निम्न-गुणवत्ता वाली छवियों की समीक्षा की आवश्यकता होती है।","Resolution":"रिज़ॉल्यूशन","Restart":"पुनः आरंभ करें","Restore":"पुनर्स्थापित","Restored":"पुनः स्थापित किए गए","Retry Limit":"पुनः प्रयास सीमा","Retype Password":"पासवर्ड फिर से लिखें","Review":"समीक्षा","Role":"भूमिका","Rows per page:":"प्रति पृष्ठ पंक्तियाँ:","Satellite":"उपग्रह","Save":"सहेजें","Scan":"स्कैन","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"अपने प्रमाणक ऐप से QR कोड को स्कैन करें या नीचे दिखाए गए सेटअप कुंजी का उपयोग करें और फिर जनरेट किया गया सत्यापन कोड दर्ज करें:","Scans":"स्कैन","Scope":"दायरा","Search":"खोज","Search and display photos on a map.":"मानचित्र पर फ़ोटो खोजें और प्रदर्शित करें।","Season":"मौसम","Secret":"गुप्त","Security and Access":"सुरक्षा और पहुंच","Select":"चुनें","Select a source folder to import files…":"फ़ाइलें आयात करने के लिए स्रोत फ़ोल्डर चुनें…","Select date":"तारीख़ चुनें","Select dates":"तिथियाँ चुनें","Select or create an album":"एल्बम चुनें या बनाएँ","Select the files to upload…":"अपलोड करने के लिए फ़ाइलें चुनें…","Select the folder to be indexed…":"अनुक्रमित करने के लिए फ़ोल्डर का चयन करें…","Select Time":"समय चुनें","Selection approved":"चयन को संग्रहीत किया गया","Selection archived":"चयन को संग्रहीत किया गया","Selection restored":"चयन बहाल","Sequential Name":"अनुक्रमिक नाम","Service URL":"सेवा URL","Services":"सेवाएं","Session":"सत्र","Session ID":"सत्र आईडी","Sessions":"सत्र","Set as Album Cover":"एल्बम कवर के रूप में सेट करें","Settings":"समायोजन","Settings saved":"सेटिंग्स को सहेजा गया","Setup":"सेट अप","Share":"शेयर","Share %{s}":"%{s} साझा करें","Share your pictures with other apps and services.":"अन्य ऐप्स और सेवाओं के साथ अपनी तस्वीरें साझा करें।","Show":"दिखाना","Show all new faces":"सभी नए चेहरे दिखाएं","Show Captions":"कैप्शन दिखाएं","Show hidden":"छिपा हुआ दिखाएं","Show less":"कम दिखाएं","Show more":"और दिखाओ","Show server logs in Library.":"लायब्रेरी में सर्वर लॉग दिखाएं।","Show Titles":"शीर्षक दिखाएं","Sidecar":"एक प्रकार का मादक द्रव्य","Sidecar Files":"साइडकार फ़ाइलें","Sign in":"साइन इन करें","Similar":"समान","Size":"आकार","Slideshow":"स्लाइड शो","Slow":"धीरे","Software":"सॉफ़्टवेयर","Software Update":"सॉफ्टवेयर अपडेट","Something went wrong, try again":"कुछ गलत हुआ है, दोबारा कोशिश करें","Sort by":"इसके अनुसार क्रमबद्ध करें","Sort Order":"क्रमबद्ध आदेश","Sorted ascending.":"आरोही क्रम में क्रमबद्ध।","Sorted descending.":"अवरोही क्रम में क्रमबद्ध।","Source":"स्रोत","Stack":"ढेर","Stack files sharing the same unique image or instance identifier.":"समान विशिष्ट छवि या उदाहरण पहचानकर्ता को साझा करने वाली स्टैक फाइलें।","Stack pictures taken at the exact same time and location based on their metadata.":"उनके मेटाडेटा के आधार पर ठीक उसी समय और स्थान पर ली गई स्टैक तस्वीरें।","Stackable":"ढेर","Stacks":"ढेर","Start":"शुरू","Start Page":"पृष्ठ आरंभ करें","Static Size Limit: %{n}px":"प्री-रेंडर आकार सीमा: %{n} px","Status":"स्थिति","Storage":"भंडारण","Streets":"सड़कें","Subject":"विषय","Submit":"जमा करना","Successfully activated":"सफलतापूर्वक सक्रिय किया गया","Successfully Connected":"सफलतापूर्वक कनेक्ट किया गया","Successfully deleted":"सफलतापूर्वक हटा दिया गया","Successfully verified":"सफलतापूर्वक सत्यापित","Super Admin":"सुपर एडमिन","Support for additional services, like Google Drive, will be added over time.":"अतिरिक्त सेवाओं के लिए समर्थन, जैसे Google ड्राइव, समय के साथ जोड़ा जाएगा।","Support Our Mission":"हमारे मिशन का समर्थन करें","Sync":"सिंक","Sync raw and video files":"कच्ची छवियों को सिंक करें","Taken":"लिया","Teal":"टील","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"छवि वर्गीकरण, चेहरे की पहचान और असुरक्षित सामग्री का पता लगाने के लिए TensorFlow आवश्यक है।","Terrain":"इलाके","Text":"मूलपाठ","Text too long":"बहुत लंबा पाठ","Thank You for Your Support!":"आपके समर्थन के लिए धन्यवाद!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"यही कारण है कि PhotoPrism को स्वतंत्रता, गोपनीयता, या कार्यक्षमता से समझौता किए बिना, जहाँ भी आपको इसकी आवश्यकता हो, चलाने के लिए जमीन से बनाया गया था।","The index currently contains %{n} hidden files.":"सूचकांक में वर्तमान में %{n} छिपी हुई फाइलें हैं।","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"उनके प्रारूप का समर्थन नहीं किया जा सकता है, वे अभी तक जेपीईजी में परिवर्तित नहीं हुए हैं या डुप्लिकेट हैं।","Theme":"विषय","This field is required":"यह फ़ील्ड आवश्यक है","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"यह मूल फ़ोल्डर को नेटवर्क ड्राइव के रूप में मापता है और आपको अपने कंप्यूटर या स्मार्टफोन से फ़ाइलों को खोलने, संपादित करने और हटाने की अनुमति देता है जैसे कि वे स्थानीय थे।","Time UTC":"समय यूटीसी","Time Zone":"समय क्षेत्र","Timeout":"समय समाप्त","Title":{"Account":"शीर्षक","Photo":"शीर्षक","":"शीर्षक"},"Title / Position":"शीर्षक स्थिति","Title too long":"शीर्षक बहुत लंबा है","to":"सेवा","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"अपने खाते को लॉक होने से बचाने के लिए, कृपया इस पुनर्प्राप्ति कोड को अभी डाउनलोड, प्रिंट या कॉपी करें और इसे सुरक्षित स्थान पर रखें।","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"नया ऐप-विशिष्ट पासवर्ड बनाने के लिए, कृपया एप्लिकेशन का नाम और प्राधिकरण दायरा दर्ज करें और समाप्ति तिथि चुनें:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"किसी नए प्रमाणक ऐप या डिवाइस पर स्विच करने के लिए, पहले दो-कारक प्रमाणीकरण को निष्क्रिय करें और फिर उसे पुनः सक्रिय करें:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"अपग्रेड करने के लिए, आप या तो एक सक्रियण कोड दर्ज कर सकते हैं या हमारी वेबसाइट पर साइन अप करने के लिए \"रजिस्टर\" पर क्लिक कर सकते हैं:","Today":"आज","Toggle View":"टॉगल दृश्य","Token":"टोकन","Too many files selected":"बहुत सारी फ़ाइलें चयनित","Too many requests":"बहुत अधिक अनुरोध","Troubleshooting":"समस्या निवारण","Try again using other filters or keywords.":"अन्य फ़िल्टर या कीवर्ड का उपयोग करके फिर से प्रयास करें।","Two-factor authentication has been enabled for your account.":"आपके खाते के लिए दो-कारक प्रमाणीकरण सक्षम कर दिया गया है।","Type":"प्रकार","Unable to delete":"हटाने में असमर्थ","Unauthorized":"अनधिकृत","Undo":"पहले जैसा","Unique ID":"एक अलग पहचान","Unknown":"अनजान","Unregistered":"अपंजीकृत","Unsorted":"अवर्गीकृत","Unstack":"अनस्टैक","Updated":"अपडेट किया गया","Updating faces":"चेहरे अपडेट करना","Updating index":"इंडेक्स अपडेट कर रहा है","Updating moments":"पल-पल का अपडेट","Updating picture…":"चित्र अपडेट किया जा रहा है…","Updating previews":"पूर्वावलोकन अपडेट करना","Updating stacks":"ढेर अद्यतन कर रहा है","Upgrade":"उन्नत करना","Upgrade Now":"अभी अपग्रेड करें","Upload":"डालना","Upload complete":"अपलोड पूरा हुआ","Upload complete. Indexing…":"अपलोड पूरा हुआ। अनुक्रमण …","Upload failed":"अपलोड विफल","Upload local files":"स्थानीय फ़ाइलें अपलोड करें","Upload Path":"अपलोड पथ","Upload to WebDAV and share links with friends.":"WebDAV पर अपलोड करें और दोस्तों के साथ लिंक साझा करें।","Uploading %{n} of %{t}…":"%{t} का %{n} अपलोड हो रहा है…","Uploading photos…":"फ़ोटो अपलोड हो रही हैं…","Uploading…":"अपलोड हो रहा है…","Uploads that may contain such images will be rejected automatically.":"ऐसे चित्र शामिल होने वाले अपलोड स्वचालित रूप से अस्वीकार कर दिए जाएंगे।","Use Presets":"प्रीसेट का उपयोग करें","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"जब आप अपने प्रमाणक ऐप के साथ वैध सत्यापन कोड जनरेट करने में असमर्थ हों, तो अपने खाते तक पहुंचने के लिए निम्नलिखित पुनर्प्राप्ति कोड का उपयोग करें:","Use your recovery code or contact an administrator for help.":"सहायता के लिए अपना पुनर्प्राप्ति कोड उपयोग करें या किसी व्यवस्थापक से संपर्क करें।","User":"उपयोगकर्ता","User Guide":"उपयोगकर्ता गाइड","User Interface":"प्रयोक्ता इंटरफ़ेस","Username":"उपयोगकर्ता नाम","Users":"उपयोगकर्ताओं","Vector":"वेक्टर","Vectors":"वैक्टर","Verification Code":"सत्यापन कोड","Video":"वीडियो","Video Duration":"वीडियो अवधि","Videos":"वीडियो","View":"राय","View search results as a list.":"खोज परिणामों को सूची के रूप में देखें।","Viewer":"दर्शक","Visitor":"आगंतुक","Visual Similarity":"दृश्य समानता","Warning":"चेतावनी","We appreciate your feedback!":"हम आपके फ़ीडबैक की सराहना करते हैं!","We do our best to respond within five business days or less.":"हम पांच व्यावसायिक दिनों या उससे कम समय में जवाब देने की पूरी कोशिश करते हैं।","Web Login":"वेब लॉगिन","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"WebDAV क्लाइंट निम्न URL का उपयोग करके PhotoPrism से जुड़ सकते हैं:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"Microsoft के Windows Explorer या Apple के खोजक जैसे WebDAV क्लाइंट सीधे PhotoPrism से जुड़ सकते हैं।","WebDAV Upload":"WebDAV अपलोड करें","WebGL support is disabled in your browser":"आपके ब्राउज़र में WebGL समर्थन अक्षम है","Website":"वेबसाइट","White":"सफेद","Work Details":"कार्य विवरण","Year":"साल","Yellow":"पीला","Yes":"हाँ","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"अपनी सदस्यता से संबंधित प्रश्नों के लिए Member@photoprism.app पर हमसे संपर्क करने के लिए आपका स्वागत है।","You can only download one album":"आप केवल एक एल्बम डाउनलोड कर सकते हैं","You can only download one label":"आप केवल एक लेबल डाउनलोड कर सकते हैं","You can search for a location or move the marker on the map to change the position:":"आप किसी स्थान को खोज सकते हैं या स्थिति बदलने के लिए मानचित्र पर मार्कर को स्थानांतरित कर सकते हैं:","You can upload up to %{n} files for test purposes.":"आप परीक्षण उद्देश्यों के लिए %{n} तक फ़ाइलें अपलोड कर सकते हैं।","You may only select one item":"आप केवल एक आइटम का चयन कर सकते हैं","You may rescan your library to find additional faces.":"अतिरिक्त चेहरों को खोजने के लिए आप अपनी लाइब्रेरी को फिर से स्कैन कर सकते हैं।","Your account has been successfully connected.":"आपका खाता सफलतापूर्वक कनेक्ट कर दिया गया है।","Your browser does not support WebGL":"आपका ब्राउज़र WebGL का समर्थन नहीं करता है","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"आपका निरंतर समर्थन हमें नियमित अपडेट प्रदान करने और स्वतंत्र रहने में मदद करता है, इसलिए हम अपने मिशन को पूरा कर सकते हैं और आपकी गोपनीयता की रक्षा कर सकते हैं।","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"विशेष क्षणों, यात्राओं और स्थानों के स्वचालित रूप से एल्बम बनाने के लिए आपकी लाइब्रेरी का लगातार विश्लेषण किया जाता है।","Zoom in/out":"ज़ूम इन / आउट करें"}} \ No newline at end of file diff --git a/frontend/src/locales/json/hr.json b/frontend/src/locales/json/hr.json index 9cfbce827..d7a5fd8be 100644 --- a/frontend/src/locales/json/hr.json +++ b/frontend/src/locales/json/hr.json @@ -1 +1 @@ -{"hr":{"{0} appended action":"{0} dodana radnja","{0} files":"{0} datoteka","{0} files ({1} in total)":"{0} datoteka (ukupno {1})","{0} more":"još {0}","{0} prepended action":"{0} radnja na početku","{0} selected":"{0} odabrano","{0}-{1} of {2}":"{0}-{1} od {2}","%{n} albums found":"Pronađeno je %{n} albuma","%{n} files uploaded":"Preneseno je %{n} datoteka","%{n} folders found":"Pronađeno je %{n} mapa","%{n} GB of %{q} GB used":"Iskorišteno %{n} GB od %{q} GB","%{n} labels found":"Pronađeno je %{n} oznaka","%{n} people found":"Pronađeno je %{n} osoba","%{n} pictures found":"Pronađeno je %{n} slika","%{s} is too long":"%{s} je predug","%{s} is too short":"%{s} je prekratak","1 hour":"1 sat","12 hours":"12 sati","2-Factor Authentication":"2-faktorska autentifikacija","2FA":"2FA","4 hours":"4 sata","A click will copy it to your clipboard.":"Klik će kopirati u međuspremnik.","A new version of %{s} is available:":"Dostupna je nova verzija %{s}:","About":"O programu","Access Token":"Pristupni token","Account":"Račun","Account created":"Račun kreiran","Account deleted":"Račun je izbrisan","Account restored":"Račun vraćen","Accounts":"Računi","Accuracy":"Točnost","Action":"Radnja","Actions":"Radnje","Activate":"Aktivirati","Activate to remove sorting.":"Aktivirajte za uklanjanje sortiranja.","Activate to sort ascending.":"Aktivirajte za sortiranje uzlazno.","Activate to sort descending.":"Aktivirajte za sortiranje silazno.","Activation Code":"Aktivacijski kod","Add":"Dodati","Add %{s}?":"Dodati %{s}?","Add Account":"Uredite korisnički račun","Add Album":"Dodaj album","Add files to your library via Web Upload.":"Dodajte datoteke u svoju biblioteku putem Web Uploada.","Add Link":"Dodaj poveznicu","Add person?":"Dodati osobu?","Add pictures from search results by selecting them.":"Dodajte slike iz rezultata pretraživanja tako da ih odaberete.","Add to album":"Dodaj u album","Added":"Dodano","Admin":"Administrator","Advanced":"Napredno","After 1 day":"Nakon 1 dana","After 3 days":"Nakon 3 dana","After 7 days":"Nakon 7 dana","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Nakon što unesete zaporku za potvrdu, možete postaviti dvofaktorsku autentifikaciju pomoću kompatibilne aplikacije ili uređaja za autentifikaciju:","After one month":"Nakon mjesec dana","After one year":"Nakon godinu dana","After selecting pictures from search results, you can add them to an album using the context menu.":"Nakon što odaberete slike iz rezultata pretraživanja, možete ih dodati u album pomoću kontekstnog izbornika.","After two months":"Nakon dva mjeseca","After two weeks":"Nakon dva tjedna","Album":"Album","Album Backups":"Sigurnosne kopije albuma","Album created":"Album stvoren","Albums":"Albumi","Albums deleted":"Albumi su izbrisani","All":"Sve","All %{n} albums loaded":"Učitano je svih %{n} albuma","All %{n} labels loaded":"Učitano je svih %{n} oznaka","All %{n} people loaded":"Učitano je svih %{n} osoba","All Cameras":"Sve kamere","All Categories":"Sve kategorije","All Colors":"Sve boje","All Countries":"Sve zemlje","All fields are required":"Sva polja su obavezna","All files from import folder":"Sve datoteke iz mape za uvoz","All Lenses":"Svi objektivi","All Months":"Svi mjeseci","All originals":"Svi originali","All Years":"Sve godine","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Alternativno, možete prenijeti datoteke izravno na WebDAV poslužitelje poput Nextclouda.","Altitude":"Nadmorska visina","Altitude (m)":"Nadmorska visina (m)","AM":"AM","Animated":"Animirano","Animation":"Animacija","Any private photos and videos remain private and won't be shared.":"Sve privatne fotografije i videozapisi ostaju privatni i neće biti dijeljeni.","API Key":"API ključ","Application":"Primjena","Apply":"Primijeni","Approve":"Odobri","Apps and Devices":"Aplikacije i uređaji","Archive":"Arhiva","Archived":"Arhivirano","Are you sure you want to archive the selection?":"Jeste li sigurni da želite arhivirati odabir?","Are you sure you want to delete these albums?":"Jeste li sigurni da želite izbrisati ove albume?","Are you sure you want to delete these labels?":"Jeste li sigurni da želite izbrisati ove oznake?","Are you sure you want to delete this account?":"Jeste li sigurni da želite izbrisati ovaj račun?","Are you sure you want to permanently delete these pictures?":"Jeste li sigurni da želite trajno izbrisati ove slike?","Are you sure you want to permanently delete this file?":"Jeste li sigurni da želite trajno izbrisati ovu datoteku?","Are you sure?":"Jeste li sigurni?","Artist":"Umjetnik","Aspect Ratio":"Razmjer proporcija","Audio":"Audio","Authentication":"Ovjera","Auto":"Auto","Back":"leđa","Back to top":"Povratak na vrh","Backup":"Sigurnosna kopija","Badge":"Značka","Base Path":"Osnovni put","Become a member today, support our mission and enjoy our member benefits!":"Postanite član već danas, podržite našu misiju i uživajte u pogodnostima za članove!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Budući da smo 100% sami financirani i neovisni, možemo vam obećati da nikada nećemo prodati vaše podatke i da ćemo uvijek biti transparentni u vezi s našim softverom i uslugama.","Bio":"bio","Birth Date":"Datum rođenja","Black":"Crno","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Lanczos modifikacija, manje zvonjavih artefakata","Blue":"Plava","Brown":"Smeđa","Browse":"pretraživati","Browse and edit image classification labels.":"Pregledavajte i uređujte oznake klasifikacije slika.","Browse and share your pictures organized into monthly albums.":"Pregledavajte i dijelite svoje slike organizirane u mjesečne albume.","Browse Files":"Pregledaj datoteke","Browse indexed files and folders in Library.":"Pregledajte indeksirane datoteke i mape u knjižnici.","Bug Report":"Izvješće o greškama","Busy, please wait…":"Zauzeto, pričekajte…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Korištenjem softvera i usluga koje pružamo, slažete se s našim uvjetima pružanja usluge, politikom privatnosti i kodeksom ponašanja.","Calendar":"Kalendar","Camera":"Fotoaparat","Camera Serial":"Serijski fotoaparat","Can't access your authenticator app or device?":"Ne možete pristupiti aplikaciji ili uređaju za autentifikaciju?","Can't load more, limit reached":"Nije moguće učitati više, dosegnuto je ograničenje","Can't select more items":"Nije moguće odabrati više stavki","Cancel":"Otkazati","Caption":"Naslov","Cards":"Kartice","Carousel slide {0} of {1}":"Tobogan karusela {0} od {1}","Category":"Kategorija","Change Avatar":"Promijenite privatnu zastavu","Change Password":"Nova lozinka","Change personal profile and security settings.":"Promijenite osobni profil i sigurnosne postavke.","Change photo titles, locations, and other metadata.":"Promijenite naslove fotografija, lokacije i druge metapodatke.","Change private flag":"Promijenite privatnu zastavu","Changes could not be saved":"Promjene se nisu mogle spremiti","Changes successfully saved":"Promjene su uspješno spremljene","Changes to the advanced settings require a restart to take effect.":"Promjene naprednih postavki zahtijevaju ponovno pokretanje kako bi stupile na snagu.","Checked":"Provjereno","Chroma":"Chroma","Cleaning index and cache":"Čišćenje indeksa i predmemorije","Cleanup":"Počistiti","Clear {0}":"Obriši {0}","Client":"Klijent","Client Credentials":"vjerodajnice klijenta","Close":"Zatvoriti","Codec":"kodek","Color":"Boja","Color Profile":"Profil boje","Colors":"Boje","Compare Editions":"Usporedite izdanja","Complete Rescan":"Dovrši ponovno skeniranje","Confidence":"Samouvjerenost","Confirm":"Potvrdi","Connect":"Spojiti","Connect via WebDAV":"Povežite se putem WebDAV-a","Connected":"Spojiti","Contact Details":"Kontaktirajte nas","Contact Us":"Kontaktirajte nas","Contains %{n} pictures.":"Sadrži %{n} slika.","Contains one picture.":"Sadrži jednu sliku.","Content":"Sadržaj","Continue":"Nastaviti","Continue with %{provider}":"Nastavite s %{provider}","Contributor":"Suradnik","Converting":"Pretvaranje","Copied to clipboard":"Kopirano u međuspremnik","Copy":"Kopirati","Copyright":"Autorsko pravo","Couldn't find anything.":"Nisam mogao pronaći ništa.","Country":"Država","Create Account":"Napravi račun","Create album":"Napravite album","Create regular backups based on the configured schedule.":"Stvorite sigurnosne kopije indeksa na temelju konfiguriranog rasporeda.","Create YAML files to back up album metadata.":"Izradite YAML datoteke za sigurnosno kopiranje metapodataka albuma.","Create YAML sidecar files to back up picture metadata.":"Stvorite YAML sidecar datoteke za sigurnosno kopiranje metapodataka slika.","Created":"Kreirano","Creating thumbnails for":"Izrada minijatura za","Cubic: Moderate Quality, Good Performance":"Kubik: umjerena kvaliteta, dobre performanse","Current Password":"Trenutna lozinka","Custom":"Običaj","Cyan":"cijan","Daily":"Dnevno","Database Backups":"Sigurnosne kopije baze podataka","Day":"Dan","Deactivate":"Deaktiviraj","Debug Logs":"Zapisnici otklanjanja pogrešaka","Default":"Zadano","Default Folder":"Zadana mapa","Delete":"Izbriši","Delete All":"Izbrisati sve","Delete all?":"Izbrisati sve?","Delete orphaned index entries, sidecar files and thumbnails.":"Izbrišite zapuštene unose indeksa, pomoćne datoteke i sličice.","Description":"Opis","Detailed instructions can be found in our User Guide.":"Detaljne upute možete pronaći u našem korisničkom priručniku.","Details":"Detalji","Dimensions":"Dimenzije","Disable Backups":"Onemogućite sigurnosne kopije","Disable Darktable":"Onemogući Darktable","Disable ExifTool":"Onemogućite ExifTool","Disable features that require write permission for the originals folder.":"Onemogućite značajke koje zahtijevaju dopuštenje za pisanje za originalnu mapu.","Disable FFmpeg":"Onemogućite FFmpeg","Disable ImageMagick":"Onemogući ImageMagick","Disable interactive world maps and reverse geocoding.":"Onemogućite interaktivne karte svijeta i obrnuto geokodiranje.","Disable Places":"Onemogući Mjesta","Disable RawTherapee":"Onemogućite RawTherapee","Disable TensorFlow":"Onemogućite TensorFlow","Disable Vectors":"Onemogući vektore","Disable WebDAV":"Onemogućite WebDAV","Disables vector graphics support.":"Onemogućuje podršku za vektorsku grafiku.","Disables video transcoding and thumbnail extraction.":"Onemogućuje video transkodiranje i izdvajanje minijatura.","Discover":"Otkrij","Dismiss":"Odbaciti","Display Name":"Ime za prikaz","Display picture captions in search results.":"Prikaži opise slika u rezultatima pretraživanja.","Display picture titles in search results.":"Prikaz naslova slika u rezultatima pretraživanja.","Document":"Dokument","Documents":"Dokumenti","Don't use Darktable to convert RAW images.":"Nemojte koristiti Darktable za pretvaranje RAW slika.","Don't use ImageMagick to convert images.":"Nemojte koristiti ImageMagick za pretvaranje slika.","Don't use RawTherapee to convert RAW images.":"Nemojte koristiti RawTherapee za pretvaranje RAW slika.","Done":"Gotovo","Done.":"Gotovo.","Download":"Preuzimanja","Download only original media files, without any automatically generated files.":"Preuzmite samo izvorne medijske datoteke, bez automatski generiranih datoteka.","Download remote files":"Preuzmite udaljene datoteke","Download single files and zip archives.":"Preuzmite pojedinačne datoteke i zip arhive.","Downloading…":"Preuzimanje…","Downscaling Filter":"Filter za smanjenje","Drag and drop files here":"Ovdje povucite i ispustite datoteke","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"Zbog velike količine e-poruka koje primamo, naš tim vam se možda neće moći odmah javiti.","Duplicates will be skipped and only appear once.":"Duplikati će se preskočiti i pojaviti se samo jednom.","Duration":"Trajanje","Dynamic Previews":"Dinamički pregledi","Dynamic Size Limit: %{n}px":"Ograničenje dinamičke veličine: %{n}px","E-Mail":"E-Mail","Edit":"Uredi","Edit %{s}":"Uredi %{s}","Edit Account":"Uredite korisnički račun","Edit Photo":"Uredi fotografiju","Edited":"Uređeno","Email":"E-mail","Enable debug mode to display additional logs and help with troubleshooting.":"Omogućite način otklanjanja pogrešaka za prikaz dodatnih zapisa i pomoć pri rješavanju problema.","Enable new features that may be incomplete or unstable.":"Omogućite nove značajke koje mogu biti nepotpune ili nestabilne.","Enables RAW converter presets. May reduce performance.":"Omogućuje unaprijed postavljene postavke RAW pretvarača. Može smanjiti performanse.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Omogućavanje dvofaktorske autentifikacije znači da ćete trebati nasumično generirani kontrolni kod za prijavu, pa čak i ako netko dobije pristup vašoj lozinci, neće moći pristupiti vašem računu.","Enter date":"Unesite datum","Enter dates":"Unesite datume","Enter the code generated by your authenticator app:":"Unesite kod koji je generirala vaša aplikacija za autentifikaciju:","Enter verification code":"Unesite kontrolni kod","Enter your password to confirm the action and continue:":"Unesite svoju lozinku za potvrdu akcije i nastavite:","Error":"Greška","Errors":"Greške","Estimate":"Procjena","Estimate Locations":"Procijenite lokacije","Estimate the approximate location of pictures without GPS coordinates.":"Procijenite približnu lokaciju slika bez GPS koordinata.","Every two days":"Svaka dva dana","Exclude content marked as private from search results, shared albums, labels, and places.":"Izuzmite sadržaj označen kao privatan iz rezultata pretraživanja, dijeljenih albuma, oznaka i mjesta.","Exclude hidden":"Isključi skriveno","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"Izdvajanje metapodataka s ExifTool-om potrebno je za potpunu podršku za video, fotografije uživo i XMP.","Experimental Features":"Eksperimentalne značajke","Expires":"Ističe","Exposure":"Izlaganje","Extract still images and generate thumbnails while indexing.":"Izdvojite fotografije i generirajte minijature tijekom indeksiranja.","F Number":"F broj","Face":"Lice","Faces":"Lica","Failed removing link":"Uklanjanje veze nije uspjelo","Failed to connect account.":"Povezivanje računa nije uspjelo.","Failed updating link":"Neuspješno ažuriranje veze","Family Name":"Prezime","Fast":"brzo","Favorite":"Favorit","Favorites":"Favoriti","Feature Request":"Zahtjev za značajku","Feedback":"Povratne informacije","Female":"Žena","File":"Datoteka","File Browser":"Preglednik datoteka","File Conversion":"Pretvorba datoteke","File Name":"Datoteka","File Size":"Datoteka","Filename":"Datoteka","Files":"Datoteke","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Datoteke s uzastopnim nazivima poput 'IMG_1234 (2)' i 'IMG_1234 (3)' pripadaju istoj slici.","First page":"Prva stranica","Focal Length":"Žarišna duljina","Folder":"Mapa","Folder contains %{n} files":"Mapa sadrži sljedeći broj datoteka: %{n}","Folder is empty":"Mapa je prazna","Folders":"Mape","Forgot password?":"Zaboravili ste lozinku?","FPS":"FPS","Frames":"Okviri","Full Access":"Puni pristup","Fullscreen":"Puni zaslon","General":"Općenito","Generate":"Generirati","Generate albums of special moments, journeys, and places.":"Automatski stvara albume posebnih trenutaka, putovanja i mjesta.","Generate Previews":"Generirajte preglede","Generated":"Generirano","Get Started":"Započnite","Given Name":"Originalno ime","Global Options":"Globalne opcije","Go to page {0}":"Idi na stranicu {0}","Gold":"Zlatno","Green":"Zelena","Grey":"Siva","Guest":"Gost","Hash":"Hash","Help":"Pomoć","Help & Support":"Pomoć i podrška","Hidden":"Skriveno","Hidden Files":"Skrivene datoteke","Hide":"Sakriti","Hide photos that have been moved to archive.":"Sakrij fotografije koje su premještene u arhivu.","High":"Visoko","High Dynamic Range (HDR)":"Visoki dinamički raspon (HDR)","How can we help?":"Kako možemo pomoći?","Hybrid":"Hibrid","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Ako izgubite pristup aplikaciji ili uređaju za autentifikaciju, možete upotrijebiti svoj kod za oporavak kako biste ponovno dobili pristup svom računu.","Image":"Slika","Image Quality":"Kvaliteta slike","Import":"Uvoz","Import failed":"Uvoz nije uspio","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Uvezene datoteke bit će razvrstane po datumu i dati im jedinstveni naziv kako bi se izbjeglo dupliranje.","Imported files will be sorted by date and given a unique name.":"Uvezene datoteke bit će razvrstane po datumu i dati im jedinstveni naziv.","Importing %{s}…":"Uvoz %{s}…","Importing files to originals…":"Uvoz datoteka u originale…","in":"u","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"U slučaju da nedostaju slike koje očekujete, ponovno skenirajte svoju biblioteku i pričekajte dok se indeksiranje ne završi.","Include RAW image files when downloading stacks and archives.":"Uključite RAW slikovne datoteke prilikom preuzimanja nizova i arhiva.","Include sidecar files when downloading stacks and archives.":"Uključite pomoćne datoteke prilikom preuzimanja nizova i arhiva.","Increase storage size or delete files to continue.":"Povećajte veličinu pohrane ili izbrišite datoteke za nastavak.","Index":"Početna","Index and import files through the user interface.":"Indeksirajte i uvezite datoteke putem korisničkog sučelja.","Indexing":"Indeksiranje","Indexing failed":"Indeksiranje nije uspjelo","Indexing media and sidecar files…":"Indeksiranje medijskih i bočnih datoteka…","Information":"Informacija","Instance ID":"ID instance","Insufficient storage.":"Nedovoljno prostora za pohranu.","Interval":"Interval","Invalid":"Nevažeći datum","Invalid address":"Nevažeća adresa","Invalid country":"Nevažeća država","Invalid date":"Nevažeći datum","Invalid parameters":"Nevažeći datum","Invalid photo selected":"Odabrana je nevažeća fotografija","Invalid time":"Nevažeće vrijeme","Invalid URL":"Nevažeći URL","It is a one-time use code that will disable 2FA for your account when you use it.":"To je jednokratni kod koji će onemogućiti 2FA za vaš račun kada ga koristite.","Item":"Proizvod","Items per page:":"Stavki po stranici:","JPEG Quality: %{n}":"JPEG kvaliteta: %{n}","JPEG Size Limit: %{n}px":"Ograničenje veličine JPEG-a: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"JPEG i sličice se automatski prikazuju prema potrebi.","Keywords":"Ključne riječi","Label":"Oznaka","Labels":"Oznake","Labels deleted":"Oznake su izbrisane","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: očuvanje detalja, minimalni artefakti","Language":"Jezik","Last Active":"Zadnje aktivno","Last Login":"Zadnja prijava","Last page":"Zadnja stranica","Last Sync":"Zadnja sinkronizacija","Last Used":"Zadnje korišteno","Latitude":"Zemljopisna širina","LDAP/AD":"LDAP/AD","Learn more":"Saznajte više","Learn More":"Saznajte više","Legal Information":"Legalna informacija","Lens":"Leće","Library":"Zbirka","License":"Licenca","Like":"Sviđa mi se","Lime":"Vapno","Limit reached, showing first %{n} files":"Dosegnuto je ograničenje, prikazuje prvih %{n} datoteka","Linear: Very Smooth, Best Performance":"Linearno: vrlo glatko, najbolja izvedba","Link":"Poveznica","List":"Popis","List View":"Prikaz popisa","Live":"Uživo","Live Photos":"Slike","Load more":"Učitaj više","Loading items...":"Učitavanje stavki...","Loading...":"Učitavanje...","Local":"Lokalni","Local Time":"Lokalno vrijeme","Location":"Lokacija","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Poruke dnevnika pojavljuju se ovdje kad god PhotoPrism naiđe na pokvarene datoteke ili postoje drugi potencijalni problemi.","Login":"Prijava","Logout":"Odjava","Logs":"Dnevnici","Longitude":"Zemljopisna dužina","Low":"Nisko","Magenta":"Magenta","Main Color":"Glavna Boja","Male":"Muški","Manage Account":"Upravljaj računom","Manual":"Priručnik","Manual Upload":"Ručno učitavanje","Maps":"Karte","Marker":"Marker","Maximum number of accounts has been reached.":"Dosegnut je maksimalan broj računa.","Media":"Mediji","Medium":"Srednje","Membership":"Članstvo","Merge %{a} with %{b}?":"Spojiti %{a} s %{b}?","Message":"Poruka","Message sent":"Poruka je poslana","Metadata":"Metapodaci","Metrics":"Metrika","Minimize":"Minimiziraj","Missing":"Nedostaje","Missing or invalid configuration":"Konfiguracija nedostaje ili nije valjana","Moments":"Trenuci","Monochrome":"Jednobojna","Month":"Mjesec","More options":"Više mogućnosti","Mosaic":"Mozaik","Most Relevant":"Najvažnije","Move Files":"Premjesti datoteke","Must have at least %{n} characters.":"Mora imati najmanje %{n} znakova.","Mute":"Isključi zvuk","Name":"Ime","Name too long":"Ime predugo","Never":"Nikad","New":"Novi","New Password":"Nova lozinka","Newest First":"Prvo najnovije","Next":"Sljedeći","Next page":"Sljedeća stranica","Next visual":"Sljedeći vizual","No":"Ne","No albums found":"Nije pronađen nijedan album","No data available":"Nema dostupnih podataka","No labels found":"Nije pronađena nijedna oznaka","No matching records found":"Nema odgovarajućih zapisa","No more":"Nema više","No people found":"Nisu pronađeni ljudi","No pictures found":"Nema pronađenih slika","No recently edited pictures":"Nema nedavno uređenih slika","No server connection":"Nema veze s poslužiteljem","No servers configured.":"Nema konfiguriranih poslužitelja.","No services configured.":"Nema konfiguriranih poslužitelja.","No thanks":"Ne hvala","No warnings or error containing this keyword. Note that search is case-sensitive.":"Nema upozorenja ili pogreške koje sadrže ovu ključnu riječ. Imajte na umu da je pretraživanje osjetljivo na velika i mala slova.","Non-photographic and low-quality images require a review before they appear in search results.":"Nefotografske slike i slike niske kvalitete zahtijevaju pregled prije nego što se pojave u rezultatima pretraživanja.","None":"Nijedan","Not allowed":"Nije dopušteno","Not found":"Nije pronađeno","Not sorted.":"Nije sortirano.","Not supported":"Nije podržano","Note you may manually manage your originals folder and importing is optional.":"Imajte na umu da svoju mapu izvornika možete ručno upravljati, a uvoz nije obavezan.","Note:":"Bilješka:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Napomena: Samo WebDAV poslužitelji, kao što su Nextcloud ili PhotoPrism, mogu se konfigurirati kao udaljeni servis za sigurnosno kopiranje i prijenos datoteka.","Notes":"Napomene","Nothing to see here yet.":"Ovdje se još nema što vidjeti. Budi strpljiv.","Nothing was found.":"Ništa nije pronađeno.","Offline":"Offline","OIDC":"OIDC","OK":"U REDU","Oldest First":"Prvo najstariji","On Windows, enter the following resource in the connection dialog:":"U sustavu Windows unesite sljedeći resurs u dijaloški okvir za povezivanje:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"Generiranje minijatura na zahtjev može uzrokovati visoku upotrebu procesora i memorije. Ne preporučuje se za poslužitelje s ograničenim resursima i NAS uređaje.","Once a week":"Jednom tjedno","One album found":"Pronađen jedan album","One file found":"Pronađena je jedna datoteka","One file uploaded":"Prenesena je jedna datoteka","One folder found":"Pronađena je jedna mapa","One label found":"Pronađena je jedna oznaka","One person found":"Pronađena jedna osoba","One picture found":"Pronađena jedna slika","Only locally managed accounts can be set up for authentication with 2FA.":"Samo lokalno upravljani računi mogu se postaviti za autentifikaciju s 2FA.","Open":"Otvoren","optional":"neobavezan","or":"ili","Orange":"Narančasta","Organization":"Usmjerenje","Orientation":"Usmjerenje","Original file names will be stored and indexed.":"Izvorni nazivi datoteka bit će pohranjeni i indeksirani.","Original Name":"Originalno ime","Originals":"Originali","Other":"Ostalo","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Naša misija je pružiti rješenje koje najviše odgovara korisnicima i privatnosti kako bi vaše slike bile organizirane i dostupne.","Outdoor":"Vanjski","Page {0}, Current page":"Stranica {0}, trenutna stranica","Pages":"Stranice","Pagination Navigation":"Navigacija po stranicama","Panorama":"Panorama","Panoramas":"Panorame","Password":"Lozinka","Password changed":"Lozinka je promijenjena","People":"Ljudi","People you share a link with will be able to view public contents.":"Osobe s kojima podijelite vezu moći će vidjeti javni sadržaj.","Permanently deleted":"Trajno izbrisano","Permanently remove files to free up storage.":"Trajno uklonite datoteke da biste oslobodili prostor za pohranu.","Person":"Osoba","Personal":"Osobno","Photo":"Fotografija","PhotoPrism is 100% self-funded and independent.":"PhotoPrism je 100% samofinancirajući i neovisan.","PhotoPrism+ Membership":"Članstvo u PhotoPrism+","Photos":"Slike","Picture Title":"Naslov slike","Pink":"Ružičasta","Place":"Mjesto","Place & Time":"Mjesto i vrijeme","Places":"Mjesta","Please confirm your new password.":"Molimo potvrdite svoju novu lozinku.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Kopirajte sljedeću nasumično generiranu lozinku aplikacije i čuvajte je na sigurnom mjestu jer je više nećete moći vidjeti:","Please do not upload any private, unlawful or offensive pictures.":"Molimo nemojte postavljati nikakve privatne, nezakonite ili uvredljive slike.","Please don't upload photos containing offensive content.":"Nemojte učitavati fotografije koje sadrže uvredljiv sadržaj.","Please enter OTP character {0}":"Unesite OTP znak {0}","Please note that changing your password will log you out on other devices and browsers.":"Imajte na umu da ćete se promjenom lozinke odjaviti s drugih uređaja i preglednika.","Please restart your instance for the changes to take effect.":"Ponovno pokrenite svoju instancu kako bi promjene stupile na snagu.","Please wait…":"Molimo pričekajte…","PM":"PM","PNG Size Limit: %{n}px":"Ograničenje veličine PNG-a: %{n}px","Portrait":"Portret","Preserve filenames":"Sačuvajte nazive datoteka","Press enter to create a new album.":"Pritisnite enter za stvaranje novog albuma.","Prevent database and album backups as well as YAML sidecar files from being created.":"Spriječite stvaranje sigurnosnih kopija baze podataka i albuma kao i YAML sidecar datoteka.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Spriječite drugim aplikacijama pristup PhotoPrismi kao zajedničkom mrežnom disku.","Preview":"Pregled","Preview Images":"Pregled slika","Previous":"Prethodno","Previous page":"Prethodna stranica","Previous visual":"Prethodni vizualni prikaz","Primary":"Glavni","Private":"Privatno","Product Feedback":"Povratne informacije o proizvodu","Projection":"Projekcija","Purple":"Ljubičasta","Quality Filter":"Filter kvalitete","Quality Score":"Ocjena kvalitete","r":"r","Random":"Nasumično","Rating {0} of {1}":"Ocjena {0} od {1}","Raw":"Sirova","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Ponovno indeksirajte sve originale, uključujući već indeksirane i nepromijenjene datoteke.","Read-Only Mode":"Način samo za čitanje","Recently Added":"Nedavno dodano","Recently Archived":"Nedavno arhivirano","Recently Edited":"Nedavno uređeno","Recognition starts after indexing has been completed.":"Prepoznavanje počinje nakon što je indeksiranje završeno.","Recognize faces so people can be assigned and found.":"Prepoznaje lica kako bi se mogle pronaći određene osobe.","Recognized":"Prepoznati","Recovery Code":"Kod za oporavak","Red":"Crvena","Refresh":"Osvježiti","Regions":"regije","Register":"Registar","Reload":"Ponovno učitaj","Reloading…":"Pretovar…","Remote Sync":"Daljinska sinkronizacija","Remove":"Ukloni","remove failed: unknown album":"uklanjanje nije uspjelo: nepoznat album","Remove from Album":"Ukloni iz albuma","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Uklonite uvezene datoteke da biste spremili pohranu. Nepodržane vrste datoteka nikada se neće izbrisati, ostaju na svojoj trenutnoj lokaciji.","Request failed - are you offline?":"Zahtjev nije uspio - jeste li izvan mreže?","Request failed - invalid response":"Zahtjev nije uspio - nevažeći odgovor","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Zahtijevati pregled slika koje nisu fotografije i niske kvalitete prije nego što se pojave u rezultatima pretraživanja.","Resolution":"Rezolucija","Restart":"Ponovno pokretanje","Restore":"Obnova","Restored":"Obnovljena","Retry Limit":"Ograničenje ponovnog pokušaja","Retype Password":"Ponovno upišite lozinku","Review":"Recenzija","Role":"Uloga","Rows per page:":"Redovi po stranici:","Satellite":"Satelit","Save":"Spremi","Scan":"Skeniraj","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Skenirajte QR kod pomoću aplikacije za autentifikaciju ili upotrijebite ključ za postavljanje prikazan u nastavku, a zatim unesite generirani kontrolni kod:","Scans":"Skenira","Scope":"Opseg","Search":"Traži","Search and display photos on a map.":"Pretraživanje i prikaz fotografija na karti.","Season":"Sezona","Secret":"Tajno","Security and Access":"Sigurnost i pristup","Select":"Izaberi","Select a source folder to import files…":"Odaberite izvornu mapu za uvoz datoteka…","Select date":"Odaberite datum","Select dates":"Odaberite datume","Select or create an album":"Odaberite ili izradite album","Select the files to upload…":"Odaberite datoteke za prijenos…","Select the folder to be indexed…":"Odaberite mapu za indeksiranje…","Select Time":"Odaberite vrijeme","Selection approved":"Odabir odobren","Selection archived":"Odabir je arhiviran","Selection restored":"Odabir je vraćen","Sequential Name":"Sekvencijalni naziv","Service URL":"URL usluge","Services":"URL usluge","Session":"Sjednica","Session ID":"ID sesije","Sessions":"Sjednice","Set as Album Cover":"Postavi kao omot albuma","Settings":"Postavke","Settings saved":"Postavke spremljene","Setup":"Postavke","Share":"Podijeli","Share %{s}":"Podijeli %{s}","Share your pictures with other apps and services.":"Dijelite svoje slike s drugim aplikacijama i uslugama.","Show":"Prikaži","Show all new faces":"Pokažite sva nova lica","Show Captions":"Prikaži opise","Show hidden":"Prikaži skriveno","Show less":"Prikaži manje","Show more":"Prikaži više","Show server logs in Library.":"Prikaži zapisnike poslužitelja u knjižnici.","Show Titles":"Prikaži naslove","Sidecar":"Prikolica","Sidecar Files":"Sidecar datoteke","Sign in":"Prijavi se","Similar":"Sličan","Size":"Veličina","Slideshow":"Dijaprojekcija","Slow":"Sporo","Software":"Softver","Software Update":"Ažuriranje softvera","Something went wrong, try again":"Nešto nije u redu, pokušajte ponovno","Sort by":"Poredaj po","Sort Order":"Redoslijed sortiranja","Sorted ascending.":"Poredano uzlazno.","Sorted descending.":"Poredano silazno.","Source":"Izvor","Stack":"Stog","Stack files sharing the same unique image or instance identifier.":"Stog datoteka koje dijele istu jedinstvenu sliku ili identifikator instance.","Stack pictures taken at the exact same time and location based on their metadata.":"Složite slike snimljene u točno isto vrijeme i na istom mjestu na temelju njihovih metapodataka.","Stackable":"Slaganje","Stacks":"Stogovi","Start":"Početak","Start Page":"Početna stranica","Static Size Limit: %{n}px":"Statičko ograničenje veličine: %{n}px","Status":"Status","Storage":"Pohrana","Streets":"Ulice","Subject":"Predmet","Submit":"Pošalji","Successfully activated":"Uspješno aktiviran","Successfully Connected":"Uspješno spojen","Successfully deleted":"Uspješno izbrisano","Successfully verified":"Uspješno potvrđeno","Super Admin":"Super Administrator","Support for additional services, like Google Drive, will be added over time.":"Podrška za dodatne usluge, poput Google diska, bit će dodana s vremenom.","Support Our Mission":"Podržite našu misiju","Sync":"Sinkronizacija","Sync raw and video files":"Sinkronizirajte sirove i video datoteke","Taken":"Poduzete","Teal":"Teal","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow je potreban za klasifikaciju slika, prepoznavanje lica i otkrivanje nesigurnog sadržaja.","Terrain":"Teren","Text":"Tekst","Text too long":"Predugačak tekst","Thank You for Your Support!":"Hvala na podršci!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Zato je PhotoPrism napravljen od temelja da radi gdje god vam je potreban, bez ugrožavanja slobode, privatnosti ili funkcionalnosti.","The index currently contains %{n} hidden files.":"Indeks trenutno sadrži %{n} skrivenih datoteka.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Njihov format možda nije podržan, još nisu pretvoreni u JPEG ili postoje duplikati.","Theme":"Tema","This field is required":"Ovo polje je obavezno","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Time se mapa originala montira kao mrežni pogon i omogućuje vam otvaranje, uređivanje i brisanje datoteka s računala ili pametnog telefona kao da su lokalne.","Time UTC":"Vrijeme UTC","Time Zone":"Vremenska zona","Timeout":"Pauza","Title":{"Account":"Naslov","Photo":"Naslov","":"Naslov"},"Title / Position":"Naslov predug","Title too long":"Naslov predug","to":"do","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Kako biste izbjegli gubitak pristupa svom računu, sada preuzmite, ispišite ili kopirajte ovaj kod za oporavak i čuvajte ga na sigurnom mjestu.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Da biste generirali novu zaporku za određenu aplikaciju, unesite naziv i opseg autorizacije aplikacije i odaberite datum isteka:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Da biste se prebacili na novu aplikaciju ili uređaj za autentifikaciju, najprije deaktivirajte dvofaktorsku autentifikaciju, a zatim je ponovno aktivirajte:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Za nadogradnju možete unijeti aktivacijski kod ili kliknuti \"Registriraj se\" da biste se prijavili na našoj web stranici:","Today":"Danas","Toggle View":"Uključi/isključi prikaz","Token":"Token","Too many files selected":"Odabrano je previše datoteka","Too many requests":"Previše zahtjeva","Troubleshooting":"Rješavanje problema","Try again using other filters or keywords.":"Pokušajte ponovno pomoću drugih filtara ili ključnih riječi.","Two-factor authentication has been enabled for your account.":"Dvofaktorska autentifikacija je omogućena za vaš račun.","Type":"Vrsta","Unauthorized":"Neovlašteno","Undo":"Poništi","Unique ID":"Jedinstveni ID","Unknown":"Nepoznato","Unregistered":"Neregistriran","Unsorted":"Nerazvrstano","Unstack":"Odložite","Updated":"Ažurirano","Updating faces":"Ažuriranje lica","Updating index":"Ažuriranje indeksa","Updating moments":"Trenuci ažuriranja","Updating picture…":"Ažuriranje pregleda","Updating previews":"Ažuriranje pregleda","Updating stacks":"Ažuriranje hrpa","Upgrade":"Nadogradnja","Upgrade Now":"Nadograditi sada","Upload":"Učitaj","Upload complete":"Prijenos je završen","Upload complete. Indexing…":"Prijenos je završen. Indeksiranje…","Upload failed":"Prijenos nije uspio","Upload local files":"Prenesite lokalne datoteke","Upload Path":"Učitaj put","Upload to WebDAV and share links with friends.":"Prenesite na WebDAV i podijelite veze s prijateljima.","Uploading %{n} of %{t}…":"Prijenos %{n} od %{t}…","Uploading photos…":"Prijenos fotografija…","Uploading…":"Pretovar…","Uploads that may contain such images will be rejected automatically.":"Prijenosi koji mogu sadržavati takve slike bit će automatski odbijeni.","Use Presets":"Koristite unaprijed postavljene postavke","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Upotrijebite sljedeći kod za oporavak za pristup svom računu kada ne možete generirati važeći kod za provjeru pomoću aplikacije za autentifikaciju:","Use your recovery code or contact an administrator for help.":"Koristite svoj kod za oporavak ili kontaktirajte administratora za pomoć.","User":"Korisnik","User Guide":"Korisnički vodič","User Interface":"Korisničko sučelje","Username":"Korisničko ime","Users":"Korisnici","Vector":"Vektor","Vectors":"Vektori","Verification Code":"Kontrolni kod","Video":"Video","Video Duration":"Trajanje","Videos":"Video","View":"Pregled","View search results as a list.":"Pregledajte rezultate pretraživanja kao popis.","Viewer":"Gledatelj","Visitor":"Posjetitelj","Visual Similarity":"Grupirajte po sličnosti","Warning":"Upozorenje","We appreciate your feedback!":"Cijenimo vaše povratne informacije!","We do our best to respond within five business days or less.":"Dajemo sve od sebe da odgovorimo u roku od pet radnih dana ili manje.","Web Login":"Web prijava","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"WebDAV klijenti mogu se povezati s PhotoPrismom koristeći sljedeći URL:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"WebDAV klijenti, poput Microsoftovog Windows Explorera ili Appleovog Findera, mogu se spojiti izravno na PhotoPrism.","WebDAV Upload":"WebDAV Upload","WebGL support is disabled in your browser":"WebGL podrška je onemogućena u vašem pregledniku","Website":"Web stranica","White":"Bijelo","Work Details":"Detalji","Year":"Godina","Yellow":"Žuta boja","Yes":"Da","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Slobodno nam se obratite na membership@photoprism.app za pitanja u vezi s vašim članstvom.","You can only download one album":"Možete preuzeti samo jedan album","You can only download one label":"Možete preuzeti samo jednu naljepnicu","You can upload up to %{n} files for test purposes.":"Možete prenijeti do %{n} datoteka u testne svrhe.","You may only select one item":"Možete odabrati samo jednu stavku","You may rescan your library to find additional faces.":"Možete ponovno skenirati svoju biblioteku kako biste pronašli dodatna lica.","Your account has been successfully connected.":"Vaš račun je uspješno povezan.","Your browser does not support WebGL":"Vaš preglednik ne podržava WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Vaša stalna podrška pomaže nam pružiti redovita ažuriranja i usluge kao što su karte svijeta.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Vaša se knjižnica kontinuirano analizira kako bi se automatski izradili albumi posebnih trenutaka, putovanja i mjesta.","Zoom in/out":"Povećavanje/smanjivanje"}} \ No newline at end of file +{"hr":{"{0} appended action":"{0} dodana radnja","{0} files":"{0} datoteka","{0} files ({1} in total)":"{0} datoteka (ukupno {1})","{0} more":"još {0}","{0} prepended action":"{0} radnja na početku","{0} selected":"{0} odabrano","{0}-{1} of {2}":"{0}-{1} od {2}","%{n} albums found":"Pronađeno je %{n} albuma","%{n} files uploaded":"Preneseno je %{n} datoteka","%{n} folders found":"Pronađeno je %{n} mapa","%{n} GB of %{q} GB used":"Iskorišteno %{n} GB od %{q} GB","%{n} labels found":"Pronađeno je %{n} oznaka","%{n} people found":"Pronađeno je %{n} osoba","%{n} pictures found":"Pronađeno je %{n} slika","%{s} is too long":"%{s} je predug","%{s} is too short":"%{s} je prekratak","1 hour":"1 sat","12 hours":"12 sati","2-Factor Authentication":"2-faktorska autentifikacija","2FA":"2FA","4 hours":"4 sata","A click will copy it to your clipboard.":"Klik će kopirati u međuspremnik.","A new version of %{s} is available:":"Dostupna je nova verzija %{s}:","About":"O programu","Access Token":"Pristupni token","Account":"Račun","Account created":"Račun kreiran","Account deleted":"Račun je izbrisan","Account restored":"Račun vraćen","Accounts":"Računi","Accuracy":"Točnost","Action":"Radnja","Actions":"Radnje","Activate":"Aktivirati","Activate to remove sorting.":"Aktivirajte za uklanjanje sortiranja.","Activate to sort ascending.":"Aktivirajte za sortiranje uzlazno.","Activate to sort descending.":"Aktivirajte za sortiranje silazno.","Activation Code":"Aktivacijski kod","Add":"Dodati","Add %{s}?":"Dodati %{s}?","Add Account":"Uredite korisnički račun","Add Album":"Dodaj album","Add files to your library via Web Upload.":"Dodajte datoteke u svoju biblioteku putem Web Uploada.","Add Link":"Dodaj poveznicu","Add person?":"Dodati osobu?","Add pictures from search results by selecting them.":"Dodajte slike iz rezultata pretraživanja tako da ih odaberete.","Add to album":"Dodaj u album","Added":"Dodano","Adjust Location":"Prilagodi lokaciju","Admin":"Administrator","Advanced":"Napredno","After 1 day":"Nakon 1 dana","After 3 days":"Nakon 3 dana","After 7 days":"Nakon 7 dana","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Nakon što unesete zaporku za potvrdu, možete postaviti dvofaktorsku autentifikaciju pomoću kompatibilne aplikacije ili uređaja za autentifikaciju:","After one month":"Nakon mjesec dana","After one year":"Nakon godinu dana","After selecting pictures from search results, you can add them to an album using the context menu.":"Nakon što odaberete slike iz rezultata pretraživanja, možete ih dodati u album pomoću kontekstnog izbornika.","After two months":"Nakon dva mjeseca","After two weeks":"Nakon dva tjedna","Album":"Album","Album Backups":"Sigurnosne kopije albuma","Album created":"Album stvoren","Album deleted":"Album je izbrisan","Albums":"Albumi","Albums deleted":"Albumi su izbrisani","All":"Sve","All %{n} albums loaded":"Učitano je svih %{n} albuma","All %{n} labels loaded":"Učitano je svih %{n} oznaka","All %{n} people loaded":"Učitano je svih %{n} osoba","All Cameras":"Sve kamere","All Categories":"Sve kategorije","All Colors":"Sve boje","All Countries":"Sve zemlje","All fields are required":"Sva polja su obavezna","All files from import folder":"Sve datoteke iz mape za uvoz","All Lenses":"Svi objektivi","All Months":"Svi mjeseci","All originals":"Svi originali","All Years":"Sve godine","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Alternativno, možete prenijeti datoteke izravno na WebDAV poslužitelje poput Nextclouda.","Altitude":"Nadmorska visina","Altitude (m)":"Nadmorska visina (m)","AM":"AM","Animated":"Animirano","Animation":"Animacija","Animations":"Animacije","Any private photos and videos remain private and won't be shared.":"Sve privatne fotografije i videozapisi ostaju privatni i neće biti dijeljeni.","API Key":"API ključ","Application":"Primjena","Apply":"Primijeni","Approve":"Odobri","Apps and Devices":"Aplikacije i uređaji","Archive":"Arhiva","Archived":"Arhivirano","Are you sure you want to archive the selection?":"Jeste li sigurni da želite arhivirati odabir?","Are you sure you want to delete these albums?":"Jeste li sigurni da želite izbrisati ove albume?","Are you sure you want to delete these labels?":"Jeste li sigurni da želite izbrisati ove oznake?","Are you sure you want to delete this account?":"Jeste li sigurni da želite izbrisati ovaj račun?","Are you sure you want to delete this album?":"Jeste li sigurni da želite izbrisati ovaj album?","Are you sure you want to permanently delete these pictures?":"Jeste li sigurni da želite trajno izbrisati ove slike?","Are you sure you want to permanently delete this file?":"Jeste li sigurni da želite trajno izbrisati ovu datoteku?","Are you sure?":"Jeste li sigurni?","Artist":"Umjetnik","Aspect Ratio":"Razmjer proporcija","Audio":"Audio","Authentication":"Ovjera","Auto":"Auto","Back":"leđa","Back to top":"Povratak na vrh","Backup":"Sigurnosna kopija","Badge":"Značka","Base Path":"Osnovni put","Become a member today, support our mission and enjoy our member benefits!":"Postanite član već danas, podržite našu misiju i uživajte u pogodnostima za članove!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Budući da smo 100% sami financirani i neovisni, možemo vam obećati da nikada nećemo prodati vaše podatke i da ćemo uvijek biti transparentni u vezi s našim softverom i uslugama.","Bio":"bio","Birth Date":"Datum rođenja","Black":"Crno","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Lanczos modifikacija, manje zvonjavih artefakata","Blue":"Plava","Brown":"Smeđa","Browse":"pretraživati","Browse and edit image classification labels.":"Pregledavajte i uređujte oznake klasifikacije slika.","Browse and share your pictures organized into monthly albums.":"Pregledavajte i dijelite svoje slike organizirane u mjesečne albume.","Browse Files":"Pregledaj datoteke","Browse indexed files and folders in Library.":"Pregledajte indeksirane datoteke i mape u knjižnici.","Bug Report":"Izvješće o greškama","Busy, please wait…":"Zauzeto, pričekajte…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Korištenjem softvera i usluga koje pružamo, slažete se s našim uvjetima pružanja usluge, politikom privatnosti i kodeksom ponašanja.","Calendar":"Kalendar","Camera":"Fotoaparat","Camera Serial":"Serijski fotoaparat","Can't access your authenticator app or device?":"Ne možete pristupiti aplikaciji ili uređaju za autentifikaciju?","Can't load more, limit reached":"Nije moguće učitati više, dosegnuto je ograničenje","Can't select more items":"Nije moguće odabrati više stavki","Cancel":"Otkazati","Cannot copy to clipboard":"Nije moguće kopirati u međuspremnik","Caption":"Naslov","Cards":"Kartice","Carousel slide {0} of {1}":"Tobogan karusela {0} od {1}","Category":"Kategorija","Change Avatar":"Promijenite privatnu zastavu","Change Password":"Nova lozinka","Change personal profile and security settings.":"Promijenite osobni profil i sigurnosne postavke.","Change photo titles, locations, and other metadata.":"Promijenite naslove fotografija, lokacije i druge metapodatke.","Change private flag":"Promijenite privatnu zastavu","Changes could not be saved":"Promjene se nisu mogle spremiti","Changes successfully saved":"Promjene su uspješno spremljene","Changes to the advanced settings require a restart to take effect.":"Promjene naprednih postavki zahtijevaju ponovno pokretanje kako bi stupile na snagu.","Checked":"Provjereno","Chroma":"Chroma","Cleaning index and cache":"Čišćenje indeksa i predmemorije","Cleanup":"Počistiti","Clear {0}":"Obriši {0}","Client":"Klijent","Client Credentials":"vjerodajnice klijenta","Close":"Zatvoriti","Codec":"kodek","Color":"Boja","Color Profile":"Profil boje","Colors":"Boje","Compare Editions":"Usporedite izdanja","Complete Rescan":"Dovrši ponovno skeniranje","Confidence":"Samouvjerenost","Confirm":"Potvrdi","Connect":"Spojiti","Connect via WebDAV":"Povežite se putem WebDAV-a","Connected":"Spojiti","Contact Details":"Kontaktirajte nas","Contact Us":"Kontaktirajte nas","Contains %{n} pictures.":"Sadrži %{n} slika.","Contains one picture.":"Sadrži jednu sliku.","Content":"Sadržaj","Continue":"Nastaviti","Continue with %{provider}":"Nastavite s %{provider}","Contributor":"Suradnik","Converting":"Pretvaranje","Copied to clipboard":"Kopirano u međuspremnik","Copy":"Kopirati","Copyright":"Autorsko pravo","Couldn't find anything.":"Nisam mogao pronaći ništa.","Country":"Država","Create Account":"Napravi račun","Create album":"Napravite album","Create regular backups based on the configured schedule.":"Stvorite sigurnosne kopije indeksa na temelju konfiguriranog rasporeda.","Create YAML files to back up album metadata.":"Izradite YAML datoteke za sigurnosno kopiranje metapodataka albuma.","Create YAML sidecar files to back up picture metadata.":"Stvorite YAML sidecar datoteke za sigurnosno kopiranje metapodataka slika.","Created":"Kreirano","Creating thumbnails for":"Izrada minijatura za","Cubic: Moderate Quality, Good Performance":"Kubik: umjerena kvaliteta, dobre performanse","Current Password":"Trenutna lozinka","Custom":"Običaj","Cyan":"cijan","Daily":"Dnevno","Database Backups":"Sigurnosne kopije baze podataka","Day":"Dan","Deactivate":"Deaktiviraj","Debug Logs":"Zapisnici otklanjanja pogrešaka","Default":"Zadano","Default Folder":"Zadana mapa","Delete":"Izbriši","Delete Album":"Izbriši album","Delete All":"Izbrisati sve","Delete all?":"Izbrisati sve?","Delete orphaned index entries, sidecar files and thumbnails.":"Izbrišite zapuštene unose indeksa, pomoćne datoteke i sličice.","Description":"Opis","Detailed instructions can be found in our User Guide.":"Detaljne upute možete pronaći u našem korisničkom priručniku.","Details":"Detalji","Dimensions":"Dimenzije","Disable Backups":"Onemogućite sigurnosne kopije","Disable Darktable":"Onemogući Darktable","Disable ExifTool":"Onemogućite ExifTool","Disable features that require write permission for the originals folder.":"Onemogućite značajke koje zahtijevaju dopuštenje za pisanje za originalnu mapu.","Disable FFmpeg":"Onemogućite FFmpeg","Disable ImageMagick":"Onemogući ImageMagick","Disable interactive world maps and reverse geocoding.":"Onemogućite interaktivne karte svijeta i obrnuto geokodiranje.","Disable Places":"Onemogući Mjesta","Disable RawTherapee":"Onemogućite RawTherapee","Disable TensorFlow":"Onemogućite TensorFlow","Disable Vectors":"Onemogući vektore","Disable WebDAV":"Onemogućite WebDAV","Disables vector graphics support.":"Onemogućuje podršku za vektorsku grafiku.","Disables video transcoding and thumbnail extraction.":"Onemogućuje video transkodiranje i izdvajanje minijatura.","Discover":"Otkrij","Dismiss":"Odbaciti","Display Name":"Ime za prikaz","Display picture captions in search results.":"Prikaži opise slika u rezultatima pretraživanja.","Display picture titles in search results.":"Prikaz naslova slika u rezultatima pretraživanja.","Document":"Dokument","Documents":"Dokumenti","Don't use Darktable to convert RAW images.":"Nemojte koristiti Darktable za pretvaranje RAW slika.","Don't use ImageMagick to convert images.":"Nemojte koristiti ImageMagick za pretvaranje slika.","Don't use RawTherapee to convert RAW images.":"Nemojte koristiti RawTherapee za pretvaranje RAW slika.","Done":"Gotovo","Done.":"Gotovo.","Download":"Preuzimanja","Download only original media files, without any automatically generated files.":"Preuzmite samo izvorne medijske datoteke, bez automatski generiranih datoteka.","Download remote files":"Preuzmite udaljene datoteke","Download single files and zip archives.":"Preuzmite pojedinačne datoteke i zip arhive.","Downloading…":"Preuzimanje…","Downscaling Filter":"Filter za smanjenje","Drag and drop files here":"Ovdje povucite i ispustite datoteke","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"Zbog velike količine e-poruka koje primamo, naš tim vam se možda neće moći odmah javiti.","Duplicates will be skipped and only appear once.":"Duplikati će se preskočiti i pojaviti se samo jednom.","Duration":"Trajanje","Dynamic Previews":"Dinamički pregledi","Dynamic Size Limit: %{n}px":"Ograničenje dinamičke veličine: %{n}px","E-Mail":"E-Mail","Edit":"Uredi","Edit %{s}":"Uredi %{s}","Edit Account":"Uredite korisnički račun","Edit Photo":"Uredi fotografiju","Edited":"Uređeno","Email":"E-mail","Enable debug mode to display additional logs and help with troubleshooting.":"Omogućite način otklanjanja pogrešaka za prikaz dodatnih zapisa i pomoć pri rješavanju problema.","Enable new features that may be incomplete or unstable.":"Omogućite nove značajke koje mogu biti nepotpune ili nestabilne.","Enables RAW converter presets. May reduce performance.":"Omogućuje unaprijed postavljene postavke RAW pretvarača. Može smanjiti performanse.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Omogućavanje dvofaktorske autentifikacije znači da ćete trebati nasumično generirani kontrolni kod za prijavu, pa čak i ako netko dobije pristup vašoj lozinci, neće moći pristupiti vašem računu.","Enter date":"Unesite datum","Enter dates":"Unesite datume","Enter the code generated by your authenticator app:":"Unesite kod koji je generirala vaša aplikacija za autentifikaciju:","Enter verification code":"Unesite kontrolni kod","Enter your password to confirm the action and continue:":"Unesite svoju lozinku za potvrdu akcije i nastavite:","Error":"Greška","Errors":"Greške","Estimate":"Procjena","Estimate Locations":"Procijenite lokacije","Estimate the approximate location of pictures without GPS coordinates.":"Procijenite približnu lokaciju slika bez GPS koordinata.","Every two days":"Svaka dva dana","Exclude content marked as private from search results, shared albums, labels, and places.":"Izuzmite sadržaj označen kao privatan iz rezultata pretraživanja, dijeljenih albuma, oznaka i mjesta.","Exclude hidden":"Isključi skriveno","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"Izdvajanje metapodataka s ExifTool-om potrebno je za potpunu podršku za video, fotografije uživo i XMP.","Experimental Features":"Eksperimentalne značajke","Expires":"Ističe","Exposure":"Izlaganje","Extract still images and generate thumbnails while indexing.":"Izdvojite fotografije i generirajte minijature tijekom indeksiranja.","F Number":"F broj","Face":"Lice","Faces":"Lica","Failed removing link":"Uklanjanje veze nije uspjelo","Failed to connect account.":"Povezivanje računa nije uspjelo.","Failed updating link":"Neuspješno ažuriranje veze","Family Name":"Prezime","Fast":"brzo","Favorite":"Favorit","Favorites":"Favoriti","Feature Request":"Zahtjev za značajku","Feedback":"Povratne informacije","Female":"Žena","File":"Datoteka","File Browser":"Preglednik datoteka","File Conversion":"Pretvorba datoteke","File Name":"Datoteka","File Size":"Datoteka","Filename":"Datoteka","Files":"Datoteke","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Datoteke s uzastopnim nazivima poput 'IMG_1234 (2)' i 'IMG_1234 (3)' pripadaju istoj slici.","First page":"Prva stranica","Focal Length":"Žarišna duljina","Folder":"Mapa","Folder contains %{n} files":"Mapa sadrži sljedeći broj datoteka: %{n}","Folder is empty":"Mapa je prazna","Folders":"Mape","Forgot password?":"Zaboravili ste lozinku?","FPS":"FPS","Frames":"Okviri","Full Access":"Puni pristup","Fullscreen":"Puni zaslon","General":"Općenito","Generate":"Generirati","Generate albums of special moments, journeys, and places.":"Automatski stvara albume posebnih trenutaka, putovanja i mjesta.","Generate Previews":"Generirajte preglede","Generated":"Generirano","Get Started":"Započnite","Given Name":"Originalno ime","Global Options":"Globalne opcije","Go to page {0}":"Idi na stranicu {0}","Gold":"Zlatno","Green":"Zelena","Grey":"Siva","Guest":"Gost","Hash":"Hash","Help":"Pomoć","Help & Support":"Pomoć i podrška","Hidden":"Skriveno","Hidden Files":"Skrivene datoteke","Hide":"Sakriti","Hide photos that have been moved to archive.":"Sakrij fotografije koje su premještene u arhivu.","High":"Visoko","High Dynamic Range (HDR)":"Visoki dinamički raspon (HDR)","How can we help?":"Kako možemo pomoći?","Hybrid":"Hibrid","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Ako izgubite pristup aplikaciji ili uređaju za autentifikaciju, možete upotrijebiti svoj kod za oporavak kako biste ponovno dobili pristup svom računu.","Image":"Slika","Image Quality":"Kvaliteta slike","Import":"Uvoz","Import failed":"Uvoz nije uspio","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Uvezene datoteke bit će razvrstane po datumu i dati im jedinstveni naziv kako bi se izbjeglo dupliranje.","Imported files will be sorted by date and given a unique name.":"Uvezene datoteke bit će razvrstane po datumu i dati im jedinstveni naziv.","Importing %{s}…":"Uvoz %{s}…","Importing files to originals…":"Uvoz datoteka u originale…","in":"u","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"U slučaju da nedostaju slike koje očekujete, ponovno skenirajte svoju biblioteku i pričekajte dok se indeksiranje ne završi.","Include RAW image files when downloading stacks and archives.":"Uključite RAW slikovne datoteke prilikom preuzimanja nizova i arhiva.","Include sidecar files when downloading stacks and archives.":"Uključite pomoćne datoteke prilikom preuzimanja nizova i arhiva.","Increase storage size or delete files to continue.":"Povećajte veličinu pohrane ili izbrišite datoteke za nastavak.","Index":"Početna","Index and import files through the user interface.":"Indeksirajte i uvezite datoteke putem korisničkog sučelja.","Indexing":"Indeksiranje","Indexing failed":"Indeksiranje nije uspjelo","Indexing media and sidecar files…":"Indeksiranje medijskih i bočnih datoteka…","Information":"Informacija","Instance ID":"ID instance","Insufficient storage.":"Nedovoljno prostora za pohranu.","Interval":"Interval","Invalid":"Nevažeći datum","Invalid address":"Nevažeća adresa","Invalid country":"Nevažeća država","Invalid date":"Nevažeći datum","Invalid parameters":"Nevažeći datum","Invalid photo selected":"Odabrana je nevažeća fotografija","Invalid time":"Nevažeće vrijeme","Invalid URL":"Nevažeći URL","It is a one-time use code that will disable 2FA for your account when you use it.":"To je jednokratni kod koji će onemogućiti 2FA za vaš račun kada ga koristite.","Item":"Proizvod","Items per page:":"Stavki po stranici:","JPEG Quality: %{n}":"JPEG kvaliteta: %{n}","JPEG Size Limit: %{n}px":"Ograničenje veličine JPEG-a: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"JPEG i sličice se automatski prikazuju prema potrebi.","Keywords":"Ključne riječi","Label":"Oznaka","Labels":"Oznake","Labels deleted":"Oznake su izbrisane","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: očuvanje detalja, minimalni artefakti","Language":"Jezik","Last Active":"Zadnje aktivno","Last Login":"Zadnja prijava","Last page":"Zadnja stranica","Last Sync":"Zadnja sinkronizacija","Last Used":"Zadnje korišteno","Latitude":"Zemljopisna širina","LDAP/AD":"LDAP/AD","Learn more":"Saznajte više","Learn More":"Saznajte više","Legal Information":"Legalna informacija","Lens":"Leće","Library":"Zbirka","License":"Licenca","Like":"Sviđa mi se","Lime":"Vapno","Limit reached, showing first %{n} files":"Dosegnuto je ograničenje, prikazuje prvih %{n} datoteka","Linear: Very Smooth, Best Performance":"Linearno: vrlo glatko, najbolja izvedba","Link":"Poveznica","List":"Popis","List View":"Prikaz popisa","Live":"Uživo","Live Photos":"Slike","Load more":"Učitaj više","Loading items...":"Učitavanje stavki...","Loading...":"Učitavanje...","Local":"Lokalni","Local Time":"Lokalno vrijeme","Location":"Lokacija","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Poruke dnevnika pojavljuju se ovdje kad god PhotoPrism naiđe na pokvarene datoteke ili postoje drugi potencijalni problemi.","Login":"Prijava","Logout":"Odjava","Logs":"Dnevnici","Longitude":"Zemljopisna dužina","Low":"Nisko","Magenta":"Magenta","Main Color":"Glavna Boja","Male":"Muški","Manage Account":"Upravljaj računom","Manager":"Menadžer","Manual":"Priručnik","Manual Upload":"Ručno učitavanje","Maps":"Karte","Marker":"Marker","Maximum number of accounts has been reached.":"Dosegnut je maksimalan broj računa.","Media":"Mediji","Medium":"Srednje","Membership":"Članstvo","Merge %{a} with %{b}?":"Spojiti %{a} s %{b}?","Message":"Poruka","Message sent":"Poruka je poslana","Metadata":"Metapodaci","Metrics":"Metrika","Minimize":"Minimiziraj","Missing":"Nedostaje","Missing or invalid configuration":"Konfiguracija nedostaje ili nije valjana","Moments":"Trenuci","Monochrome":"Jednobojna","Month":"Mjesec","More options":"Više mogućnosti","Mosaic":"Mozaik","Most Relevant":"Najvažnije","Move Files":"Premjesti datoteke","Must have at least %{n} characters.":"Mora imati najmanje %{n} znakova.","Mute":"Isključi zvuk","Name":"Ime","Name too long":"Ime predugo","Never":"Nikad","New":"Novi","New Password":"Nova lozinka","Newest First":"Prvo najnovije","Next":"Sljedeći","Next page":"Sljedeća stranica","Next visual":"Sljedeći vizual","No":"Ne","No albums found":"Nije pronađen nijedan album","No data available":"Nema dostupnih podataka","No labels found":"Nije pronađena nijedna oznaka","No matching records found":"Nema odgovarajućih zapisa","No more":"Nema više","No people found":"Nisu pronađeni ljudi","No pictures found":"Nema pronađenih slika","No recently edited pictures":"Nema nedavno uređenih slika","No results":"Nema rezultata","No server connection":"Nema veze s poslužiteljem","No servers configured.":"Nema konfiguriranih poslužitelja.","No services configured.":"Nema konfiguriranih poslužitelja.","No thanks":"Ne hvala","No warnings or error containing this keyword. Note that search is case-sensitive.":"Nema upozorenja ili pogreške koje sadrže ovu ključnu riječ. Imajte na umu da je pretraživanje osjetljivo na velika i mala slova.","Non-photographic and low-quality images require a review before they appear in search results.":"Nefotografske slike i slike niske kvalitete zahtijevaju pregled prije nego što se pojave u rezultatima pretraživanja.","None":"Nijedan","Not allowed":"Nije dopušteno","Not found":"Nije pronađeno","Not sorted.":"Nije sortirano.","Not supported":"Nije podržano","Note you may manually manage your originals folder and importing is optional.":"Imajte na umu da svoju mapu izvornika možete ručno upravljati, a uvoz nije obavezan.","Note:":"Bilješka:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Napomena: Samo WebDAV poslužitelji, kao što su Nextcloud ili PhotoPrism, mogu se konfigurirati kao udaljeni servis za sigurnosno kopiranje i prijenos datoteka.","Notes":"Napomene","Nothing to see here yet.":"Ovdje se još nema što vidjeti. Budi strpljiv.","Nothing was found.":"Ništa nije pronađeno.","Offline":"Offline","OIDC":"OIDC","OK":"U REDU","Oldest First":"Prvo najstariji","On Windows, enter the following resource in the connection dialog:":"U sustavu Windows unesite sljedeći resurs u dijaloški okvir za povezivanje:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"Generiranje minijatura na zahtjev može uzrokovati visoku upotrebu procesora i memorije. Ne preporučuje se za poslužitelje s ograničenim resursima i NAS uređaje.","Once a week":"Jednom tjedno","One album found":"Pronađen jedan album","One file found":"Pronađena je jedna datoteka","One file uploaded":"Prenesena je jedna datoteka","One folder found":"Pronađena je jedna mapa","One label found":"Pronađena je jedna oznaka","One person found":"Pronađena jedna osoba","One picture found":"Pronađena jedna slika","Only locally managed accounts can be set up for authentication with 2FA.":"Samo lokalno upravljani računi mogu se postaviti za autentifikaciju s 2FA.","Open":"Otvoren","optional":"neobavezan","or":"ili","Orange":"Narančasta","Organization":"Usmjerenje","Orientation":"Usmjerenje","Original file names will be stored and indexed.":"Izvorni nazivi datoteka bit će pohranjeni i indeksirani.","Original Name":"Originalno ime","Originals":"Originali","Other":"Ostalo","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Naša misija je pružiti rješenje koje najviše odgovara korisnicima i privatnosti kako bi vaše slike bile organizirane i dostupne.","Outdoor":"Vanjski","Page {0}, Current page":"Stranica {0}, trenutna stranica","Pages":"Stranice","Pagination Navigation":"Navigacija po stranicama","Panorama":"Panorama","Panoramas":"Panorame","Password":"Lozinka","Password changed":"Lozinka je promijenjena","People":"Ljudi","People you share a link with will be able to view public contents.":"Osobe s kojima podijelite vezu moći će vidjeti javni sadržaj.","Permanently deleted":"Trajno izbrisano","Permanently remove files to free up storage.":"Trajno uklonite datoteke da biste oslobodili prostor za pohranu.","Person":"Osoba","Personal":"Osobno","Photo":"Fotografija","PhotoPrism is 100% self-funded and independent.":"PhotoPrism je 100% samofinancirajući i neovisan.","PhotoPrism+ Membership":"Članstvo u PhotoPrism+","Photos":"Slike","Picture Title":"Naslov slike","Pink":"Ružičasta","Place":"Mjesto","Place & Time":"Mjesto i vrijeme","Places":"Mjesta","Please confirm your new password.":"Molimo potvrdite svoju novu lozinku.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Kopirajte sljedeću nasumično generiranu lozinku aplikacije i čuvajte je na sigurnom mjestu jer je više nećete moći vidjeti:","Please do not upload any private, unlawful or offensive pictures.":"Molimo nemojte postavljati nikakve privatne, nezakonite ili uvredljive slike.","Please don't upload photos containing offensive content.":"Nemojte učitavati fotografije koje sadrže uvredljiv sadržaj.","Please enter OTP character {0}":"Unesite OTP znak {0}","Please note that changing your password will log you out on other devices and browsers.":"Imajte na umu da ćete se promjenom lozinke odjaviti s drugih uređaja i preglednika.","Please restart your instance for the changes to take effect.":"Ponovno pokrenite svoju instancu kako bi promjene stupile na snagu.","Please wait…":"Molimo pričekajte…","PM":"PM","PNG Size Limit: %{n}px":"Ograničenje veličine PNG-a: %{n}px","Portrait":"Portret","Preserve filenames":"Sačuvajte nazive datoteka","Press enter to create a new album.":"Pritisnite enter za stvaranje novog albuma.","Prevent database and album backups as well as YAML sidecar files from being created.":"Spriječite stvaranje sigurnosnih kopija baze podataka i albuma kao i YAML sidecar datoteka.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Spriječite drugim aplikacijama pristup PhotoPrismi kao zajedničkom mrežnom disku.","Preview":"Pregled","Preview Images":"Pregled slika","Previous":"Prethodno","Previous page":"Prethodna stranica","Previous visual":"Prethodni vizualni prikaz","Primary":"Glavni","Private":"Privatno","Product Feedback":"Povratne informacije o proizvodu","Projection":"Projekcija","Purple":"Ljubičasta","Quality Filter":"Filter kvalitete","Quality Score":"Ocjena kvalitete","r":"r","Random":"Nasumično","Rating {0} of {1}":"Ocjena {0} od {1}","Raw":"Sirova","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Ponovno indeksirajte sve originale, uključujući već indeksirane i nepromijenjene datoteke.","Read-Only Mode":"Način samo za čitanje","Recently Added":"Nedavno dodano","Recently Archived":"Nedavno arhivirano","Recently Edited":"Nedavno uređeno","Recognition starts after indexing has been completed.":"Prepoznavanje počinje nakon što je indeksiranje završeno.","Recognize faces so people can be assigned and found.":"Prepoznaje lica kako bi se mogle pronaći određene osobe.","Recognized":"Prepoznati","Recovery Code":"Kod za oporavak","Red":"Crvena","Refresh":"Osvježiti","Regions":"regije","Register":"Registar","Reload":"Ponovno učitaj","Reloading…":"Pretovar…","Remote Sync":"Daljinska sinkronizacija","Remove":"Ukloni","remove failed: unknown album":"uklanjanje nije uspjelo: nepoznat album","Remove from Album":"Ukloni iz albuma","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Uklonite uvezene datoteke da biste spremili pohranu. Nepodržane vrste datoteka nikada se neće izbrisati, ostaju na svojoj trenutnoj lokaciji.","Request failed - are you offline?":"Zahtjev nije uspio - jeste li izvan mreže?","Request failed - invalid response":"Zahtjev nije uspio - nevažeći odgovor","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Zahtijevati pregled slika koje nisu fotografije i niske kvalitete prije nego što se pojave u rezultatima pretraživanja.","Resolution":"Rezolucija","Restart":"Ponovno pokretanje","Restore":"Obnova","Restored":"Obnovljena","Retry Limit":"Ograničenje ponovnog pokušaja","Retype Password":"Ponovno upišite lozinku","Review":"Recenzija","Role":"Uloga","Rows per page:":"Redovi po stranici:","Satellite":"Satelit","Save":"Spremi","Scan":"Skeniraj","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Skenirajte QR kod pomoću aplikacije za autentifikaciju ili upotrijebite ključ za postavljanje prikazan u nastavku, a zatim unesite generirani kontrolni kod:","Scans":"Skenira","Scope":"Opseg","Search":"Traži","Search and display photos on a map.":"Pretraživanje i prikaz fotografija na karti.","Season":"Sezona","Secret":"Tajno","Security and Access":"Sigurnost i pristup","Select":"Izaberi","Select a source folder to import files…":"Odaberite izvornu mapu za uvoz datoteka…","Select date":"Odaberite datum","Select dates":"Odaberite datume","Select or create an album":"Odaberite ili izradite album","Select the files to upload…":"Odaberite datoteke za prijenos…","Select the folder to be indexed…":"Odaberite mapu za indeksiranje…","Select Time":"Odaberite vrijeme","Selection approved":"Odabir odobren","Selection archived":"Odabir je arhiviran","Selection restored":"Odabir je vraćen","Sequential Name":"Sekvencijalni naziv","Service URL":"URL usluge","Services":"URL usluge","Session":"Sjednica","Session ID":"ID sesije","Sessions":"Sjednice","Set as Album Cover":"Postavi kao omot albuma","Settings":"Postavke","Settings saved":"Postavke spremljene","Setup":"Postavke","Share":"Podijeli","Share %{s}":"Podijeli %{s}","Share your pictures with other apps and services.":"Dijelite svoje slike s drugim aplikacijama i uslugama.","Show":"Prikaži","Show all new faces":"Pokažite sva nova lica","Show Captions":"Prikaži opise","Show hidden":"Prikaži skriveno","Show less":"Prikaži manje","Show more":"Prikaži više","Show server logs in Library.":"Prikaži zapisnike poslužitelja u knjižnici.","Show Titles":"Prikaži naslove","Sidecar":"Prikolica","Sidecar Files":"Sidecar datoteke","Sign in":"Prijavi se","Similar":"Sličan","Size":"Veličina","Slideshow":"Dijaprojekcija","Slow":"Sporo","Software":"Softver","Software Update":"Ažuriranje softvera","Something went wrong, try again":"Nešto nije u redu, pokušajte ponovno","Sort by":"Poredaj po","Sort Order":"Redoslijed sortiranja","Sorted ascending.":"Poredano uzlazno.","Sorted descending.":"Poredano silazno.","Source":"Izvor","Stack":"Stog","Stack files sharing the same unique image or instance identifier.":"Stog datoteka koje dijele istu jedinstvenu sliku ili identifikator instance.","Stack pictures taken at the exact same time and location based on their metadata.":"Složite slike snimljene u točno isto vrijeme i na istom mjestu na temelju njihovih metapodataka.","Stackable":"Slaganje","Stacks":"Stogovi","Start":"Početak","Start Page":"Početna stranica","Static Size Limit: %{n}px":"Statičko ograničenje veličine: %{n}px","Status":"Status","Storage":"Pohrana","Streets":"Ulice","Subject":"Predmet","Submit":"Pošalji","Successfully activated":"Uspješno aktiviran","Successfully Connected":"Uspješno spojen","Successfully deleted":"Uspješno izbrisano","Successfully verified":"Uspješno potvrđeno","Super Admin":"Super Administrator","Support for additional services, like Google Drive, will be added over time.":"Podrška za dodatne usluge, poput Google diska, bit će dodana s vremenom.","Support Our Mission":"Podržite našu misiju","Sync":"Sinkronizacija","Sync raw and video files":"Sinkronizirajte sirove i video datoteke","Taken":"Poduzete","Teal":"Teal","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow je potreban za klasifikaciju slika, prepoznavanje lica i otkrivanje nesigurnog sadržaja.","Terrain":"Teren","Text":"Tekst","Text too long":"Predugačak tekst","Thank You for Your Support!":"Hvala na podršci!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Zato je PhotoPrism napravljen od temelja da radi gdje god vam je potreban, bez ugrožavanja slobode, privatnosti ili funkcionalnosti.","The index currently contains %{n} hidden files.":"Indeks trenutno sadrži %{n} skrivenih datoteka.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Njihov format možda nije podržan, još nisu pretvoreni u JPEG ili postoje duplikati.","Theme":"Tema","This field is required":"Ovo polje je obavezno","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Time se mapa originala montira kao mrežni pogon i omogućuje vam otvaranje, uređivanje i brisanje datoteka s računala ili pametnog telefona kao da su lokalne.","Time UTC":"Vrijeme UTC","Time Zone":"Vremenska zona","Timeout":"Pauza","Title":{"Account":"Naslov","Photo":"Naslov","":"Naslov"},"Title / Position":"Naslov predug","Title too long":"Naslov predug","to":"do","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Kako biste izbjegli gubitak pristupa svom računu, sada preuzmite, ispišite ili kopirajte ovaj kod za oporavak i čuvajte ga na sigurnom mjestu.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Da biste generirali novu zaporku za određenu aplikaciju, unesite naziv i opseg autorizacije aplikacije i odaberite datum isteka:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Da biste se prebacili na novu aplikaciju ili uređaj za autentifikaciju, najprije deaktivirajte dvofaktorsku autentifikaciju, a zatim je ponovno aktivirajte:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Za nadogradnju možete unijeti aktivacijski kod ili kliknuti \"Registriraj se\" da biste se prijavili na našoj web stranici:","Today":"Danas","Toggle View":"Uključi/isključi prikaz","Token":"Token","Too many files selected":"Odabrano je previše datoteka","Too many requests":"Previše zahtjeva","Troubleshooting":"Rješavanje problema","Try again using other filters or keywords.":"Pokušajte ponovno pomoću drugih filtara ili ključnih riječi.","Two-factor authentication has been enabled for your account.":"Dvofaktorska autentifikacija je omogućena za vaš račun.","Type":"Vrsta","Unable to delete":"Nije moguće izbrisati","Unauthorized":"Neovlašteno","Undo":"Poništi","Unique ID":"Jedinstveni ID","Unknown":"Nepoznato","Unregistered":"Neregistriran","Unsorted":"Nerazvrstano","Unstack":"Odložite","Updated":"Ažurirano","Updating faces":"Ažuriranje lica","Updating index":"Ažuriranje indeksa","Updating moments":"Trenuci ažuriranja","Updating picture…":"Ažuriranje pregleda","Updating previews":"Ažuriranje pregleda","Updating stacks":"Ažuriranje hrpa","Upgrade":"Nadogradnja","Upgrade Now":"Nadograditi sada","Upload":"Učitaj","Upload complete":"Prijenos je završen","Upload complete. Indexing…":"Prijenos je završen. Indeksiranje…","Upload failed":"Prijenos nije uspio","Upload local files":"Prenesite lokalne datoteke","Upload Path":"Učitaj put","Upload to WebDAV and share links with friends.":"Prenesite na WebDAV i podijelite veze s prijateljima.","Uploading %{n} of %{t}…":"Prijenos %{n} od %{t}…","Uploading photos…":"Prijenos fotografija…","Uploading…":"Pretovar…","Uploads that may contain such images will be rejected automatically.":"Prijenosi koji mogu sadržavati takve slike bit će automatski odbijeni.","Use Presets":"Koristite unaprijed postavljene postavke","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Upotrijebite sljedeći kod za oporavak za pristup svom računu kada ne možete generirati važeći kod za provjeru pomoću aplikacije za autentifikaciju:","Use your recovery code or contact an administrator for help.":"Koristite svoj kod za oporavak ili kontaktirajte administratora za pomoć.","User":"Korisnik","User Guide":"Korisnički vodič","User Interface":"Korisničko sučelje","Username":"Korisničko ime","Users":"Korisnici","Vector":"Vektor","Vectors":"Vektori","Verification Code":"Kontrolni kod","Video":"Video","Video Duration":"Trajanje","Videos":"Video","View":"Pregled","View search results as a list.":"Pregledajte rezultate pretraživanja kao popis.","Viewer":"Gledatelj","Visitor":"Posjetitelj","Visual Similarity":"Grupirajte po sličnosti","Warning":"Upozorenje","We appreciate your feedback!":"Cijenimo vaše povratne informacije!","We do our best to respond within five business days or less.":"Dajemo sve od sebe da odgovorimo u roku od pet radnih dana ili manje.","Web Login":"Web prijava","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"WebDAV klijenti mogu se povezati s PhotoPrismom koristeći sljedeći URL:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"WebDAV klijenti, poput Microsoftovog Windows Explorera ili Appleovog Findera, mogu se spojiti izravno na PhotoPrism.","WebDAV Upload":"WebDAV Upload","WebGL support is disabled in your browser":"WebGL podrška je onemogućena u vašem pregledniku","Website":"Web stranica","White":"Bijelo","Work Details":"Detalji","Year":"Godina","Yellow":"Žuta boja","Yes":"Da","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Slobodno nam se obratite na membership@photoprism.app za pitanja u vezi s vašim članstvom.","You can only download one album":"Možete preuzeti samo jedan album","You can only download one label":"Možete preuzeti samo jednu naljepnicu","You can search for a location or move the marker on the map to change the position:":"Možete pretraživati lokaciju ili pomicati marker na karti da biste promijenili položaj:","You can upload up to %{n} files for test purposes.":"Možete prenijeti do %{n} datoteka u testne svrhe.","You may only select one item":"Možete odabrati samo jednu stavku","You may rescan your library to find additional faces.":"Možete ponovno skenirati svoju biblioteku kako biste pronašli dodatna lica.","Your account has been successfully connected.":"Vaš račun je uspješno povezan.","Your browser does not support WebGL":"Vaš preglednik ne podržava WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Vaša stalna podrška pomaže nam pružiti redovita ažuriranja i usluge kao što su karte svijeta.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Vaša se knjižnica kontinuirano analizira kako bi se automatski izradili albumi posebnih trenutaka, putovanja i mjesta.","Zoom in/out":"Povećavanje/smanjivanje"}} \ No newline at end of file diff --git a/frontend/src/locales/json/hu.json b/frontend/src/locales/json/hu.json index 1cf3607b4..93a7ec975 100644 --- a/frontend/src/locales/json/hu.json +++ b/frontend/src/locales/json/hu.json @@ -1 +1 @@ -{"hu":{"{0} appended action":"{0} appended action","{0} files":"{0} fájlok","{0} files ({1} in total)":"{0} fájlok ({1} összesen)","{0} more":"{0} még","{0} prepended action":"{0} prepended action","{0} selected":"{0} kiválasztott","{0}-{1} of {2}":"{0}-{1} of {2}","%{n} albums found":"%{n} album találat","%{n} files uploaded":"%{n} fájl feltöltve","%{n} folders found":"%{n} mappa találat","%{n} GB of %{q} GB used":"%{n} GB %{q} GB használt","%{n} labels found":"%{n} címke találat","%{n} people found":"%{n} ember találat","%{n} pictures found":"%{n} kép találat","%{s} is too long":"%{s} túl hosszú","%{s} is too short":"%{s} túl rövid","1 hour":"1 óra","12 hours":"12 óra","2-Factor Authentication":"2-faktoros hitelesítés","2FA":"2FA","4 hours":"4 óra","A click will copy it to your clipboard.":"A kattintás egy másolatot helyez a vágólapra.","A new version of %{s} is available:":"A %{s} új verziója elérhető:","About":"Rólunk","Access Token":"Hozzáférési jelszó","Account":"Fiók","Account created":"Fiók létrehozva","Account deleted":"Fiók törölve","Account restored":"Számla visszaállítva","Accounts":"Számlák","Accuracy":"Pontosság","Action":"Művelet","Actions":"Műveletek","Activate":"Aktiválja a címet.","Activate to remove sorting.":"Aktiválja a szortírozás megszüntetéséhez.","Activate to sort ascending.":"Aktiválja a növekvő rendezéshez.","Activate to sort descending.":"Aktiválja a csökkenő rendezéshez.","Activation Code":"Aktiválási kód","Add":"Add","Add %{s}?":"Add %{s}?","Add Account":"Fiók hozzáadása","Add Album":"Album hozzáadása","Add files to your library via Web Upload.":"Fájlok hozzáadása a könytárhoz Webes feltöltés segítéségével.","Add Link":"Hivatkozás hozzáadása","Add person?":"Személyt hozzáadni?","Add pictures from search results by selecting them.":"Képek hozzáadása a találok közül kiválasztás segítéségével.","Add to album":"Hozzáadás albumhoz","Added":"Hozzáadva","Admin":"Admin","Advanced":"Haladó","After 1 day":"Egy nap után","After 3 days":"Három nap után","After 7 days":"Hét nap után","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Miután megerősítésképpen megadta jelszavát, beállíthat kétfaktoros hitelesítést egy kompatibilis hitelesítő alkalmazással vagy eszközzel:","After one month":"Egy hónap után","After one year":"Egy év után","After selecting pictures from search results, you can add them to an album using the context menu.":"A találokból kiválasztott képeket, tetszőleges albumhoz adni a menü segítségével lehet.","After two months":"Két hónap után","After two weeks":"Két hét után","Album":"Album","Album Backups":"Album biztonsági mentések","Album created":"Album létrehozva","Albums":"Albumok","Albums deleted":"Albumok törölve","All":"Minden","All %{n} albums loaded":"Összesen %{n} album betöltve","All %{n} labels loaded":"Összesen %{n} címke betöltve","All %{n} people loaded":"Összesen %{n} ember betöltve","All Cameras":"Összes kamera","All Categories":"Összes kategória","All Colors":"Összes szín","All Countries":"Összes ország","All fields are required":"Minden mező kitöltése kötelező","All files from import folder":"Összes fájlt az import könyvtárból","All Lenses":"Összes lencse","All Months":"Összes hónap","All originals":"Összes eredeti","All Years":"Összes év","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Alternatívaként a fájlok feltölthetők WebDAV szerverekre is, mint például Nextcloud.","Altitude":"Magasság","Altitude (m)":"Magasság (m)","AM":"AM","Animated":"Mozgó","Animation":"Animáció","Any private photos and videos remain private and won't be shared.":"Bármilyen privát fotó és videó privát marad és nem kerül megosztásra.","API Key":"API Kulcs","Application":"Alkalmazás","Apply":"Alkalmaz","Approve":"Jóváhagy","Apps and Devices":"Alkalmazások és eszközök","Archive":"Archívum","Archived":"Archíválva","Are you sure you want to archive the selection?":"Biztos benne, hogy archíválja a kiválasztott fájlokat?","Are you sure you want to delete these albums?":"Biztos benne, hogy törli a kiválasztott fájlokat?","Are you sure you want to delete these labels?":"Biztos benne, hogy törli a kiválasztott címkéket?","Are you sure you want to delete this account?":"Biztos benne, hogy törli ezt a felhasználói fiókot?","Are you sure you want to permanently delete these pictures?":"Biztos benne, hogy véglegesen törli a kiválasztott képeket?","Are you sure you want to permanently delete this file?":"Biztos benne, hogy véglegesen törli a kiválasztott fájlokat?","Are you sure?":"Biztos benne?","Artist":"Művész","Aspect Ratio":"Képarány","Audio":"Audio","Authentication":"Hitelesítés","Auto":"Auto","Back":"Vissza","Back to top":"Vissza a tetejére","Backup":"Biztonsági mentés","Badge":"Jelvény","Base Path":"Bázis útvonal","Become a member today, support our mission and enjoy our member benefits!":"Legyen tag még ma, támogassa küldetésünket és élvezze tagi előnyeinket!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Mivel 100%-ban önfinanszírozók és függetlenek vagyunk, megígérhetjük, hogy soha nem adjuk el az adatait, és mindig átláthatóak leszünk a szoftverünkkel és szolgáltatásainkkal kapcsolatban.","Bio":"Bio","Birth Date":"Születési dátum","Black":"Fekete","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Lanczos-módosítás, kevesebb csengő műtárgy","Blue":"Kék","Brown":"Barna","Browse":"Böngésszen a oldalon.","Browse and edit image classification labels.":"Böngéssze és szerkessze a képbesorolási címkéket.","Browse and share your pictures organized into monthly albums.":"Böngésszen és ossza meg képeit havi albumokba rendezve.","Browse Files":"Fájlok böngészése","Browse indexed files and folders in Library.":"Böngésszen az indexelt fájlok és mappák között a Könyvtárban.","Bug Report":"Hibajelentés","Busy, please wait…":"Elfoglalt, kérem, várjon…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Az általunk biztosított szoftver és szolgáltatások használatával Ön elfogadja szolgáltatási feltételeinket, adatvédelmi szabályzatunkat és magatartási kódexünket.","Calendar":"Naptár","Camera":"Kamera","Camera Serial":"Kamera sorozat","Can't access your authenticator app or device?":"Nem tud hozzáférni az autentikátor alkalmazásához vagy eszközéhez?","Can't load more, limit reached":"Nem tölthet be többet, elérte a korlátot","Can't select more items":"Nem lehet több elemet kiválasztani","Cancel":"Mégsem","Caption":"Felirat","Cards":"Kártyák","Carousel slide {0} of {1}":"{0} körhinta {0} a {1}-től","Category":"Kategória","Change Avatar":"Profilkép változtatása","Change Password":"Új jelszó","Change personal profile and security settings.":"Személyes profil és biztonsági beállítások módosítása.","Change photo titles, locations, and other metadata.":"Módosíthatja a fotók címét, helyét és egyéb metaadatait.","Change private flag":"Privát fotóként jelölés","Changes could not be saved":"Módosításokat nem sikerült menteni","Changes successfully saved":"Módosítások sikeresen mentve","Changes to the advanced settings require a restart to take effect.":"A speciális beállítások módosításához újraindításra van szükség, hogy a módosítások hatályba lépjenek.","Checked":"Ellenőrizve","Chroma":"Chroma","Cleaning index and cache":"Index és gyorsítótár tisztítása","Cleanup":"Tisztítás","Clear {0}":"Clear {0}","Client":"Ügyfél","Client Credentials":"Ügyfél hitelesítő adatok","Close":"Bezárás","Codec":"Codec","Color":"Szín","Color Profile":"Színprofil","Colors":"Színek","Compare Editions":"Edíciók összehasonlítása","Complete Rescan":"Teljes újraolvasás","Confidence":"Pontosság","Confirm":"megerősít","Connect":"Csatlakozás","Connect via WebDAV":"Csatlakozás WebDAV-on keresztül","Connected":"Csatlakozva","Contact Details":"Elérhetőségek","Contact Us":"Lépjen kapcsolatba velünk","Contains %{n} pictures.":"%{n} képet tartalmaz.","Contains one picture.":"Egy képet tartalmaz.","Content":"Tartalom","Continue":"Folytatni","Continue with %{provider}":"Folytassa a %{provider}","Contributor":"Hozzájáruló","Converting":"Konvertálás","Copied to clipboard":"Vágólapra másolva","Copy":"Másolat","Copyright":"Szerzői jog","Couldn't find anything.":"Nem találtunk semmit.","Country":"Ország","Create Account":"Fiók létrehozása","Create album":"Album létrehozása","Create regular backups based on the configured schedule.":"Index biztonsági mentések létrehozása a konfigurált ütemezés alapján.","Create YAML files to back up album metadata.":"YAML fájlok létrehozása az album metaadatok biztonsági mentéséhez.","Create YAML sidecar files to back up picture metadata.":"YAML oldalkocsis fájlok létrehozása a képek metaadatainak mentéséhez.","Created":"Létrehozva","Creating thumbnails for":"Miniatűrök létrehozása a következőhöz","Cubic: Moderate Quality, Good Performance":"Köbös: Közepes minőség, jó teljesítmény","Current Password":"Jelenlegi jelszó","Custom":"Custom","Cyan":"Cián","Daily":"Napi","Database Backups":"Adatbázis biztonsági mentések","Day":"Nap","Deactivate":"Deaktiválás","Debug Logs":"Hibakeresési naplók","Default":"Alapértelmezett","Default Folder":"Alapértelmezett mappa","Delete":"Törlés","Delete All":"Mindent törölni","Delete all?":"Mindent törölni?","Delete orphaned index entries, sidecar files and thumbnails.":"Törli az elárvult indexbejegyzéseket, oldalkocsis fájlokat és miniatűröket.","Description":"Leírás","Detailed instructions can be found in our User Guide.":"A részletes utasításokat a Felhasználói kézikönyvben találja.","Details":"Részletek","Dimensions":"Méretek","Disable Backups":"Biztonsági mentések letiltása","Disable Darktable":"A Darktable letiltása","Disable ExifTool":"Az ExifTool letiltása","Disable features that require write permission for the originals folder.":"Az eredeti mappa írási engedélyét igénylő funkciók letiltása.","Disable FFmpeg":"Az FFmpeg letiltása","Disable ImageMagick":"ImageMagick letiltása","Disable interactive world maps and reverse geocoding.":"Az interaktív világtérképek és a fordított geokódolás letiltása.","Disable Places":"Helyek letiltása","Disable RawTherapee":"A RawTherapee letiltása","Disable TensorFlow":"A TensorFlow letiltása","Disable Vectors":"Vektorok letiltása","Disable WebDAV":"A WebDAV letiltása","Disables vector graphics support.":"Letiltja a vektorgrafika támogatását.","Disables video transcoding and thumbnail extraction.":"Letiltja a videó átkódolását és a miniatűrök kinyerését.","Discover":"Felfedez","Dismiss":"Elutasíthatod","Display Name":"Megjelenített név","Display picture captions in search results.":"Képaláírások megjelenítése a keresési eredményekben.","Display picture titles in search results.":"Képcímek megjelenítése a keresési eredményekben.","Document":"Dokumentum","Documents":"Dokumentumok","Don't use Darktable to convert RAW images.":"Ne használja a Darktable-t RAW képek konvertálására.","Don't use ImageMagick to convert images.":"Ne használd az ImageMagick programot képek konvertálására.","Don't use RawTherapee to convert RAW images.":"Ne használja a RawTherapee-t RAW képek konvertálására.","Done":"Kész","Done.":"Kész.","Download":"Letöltés","Download only original media files, without any automatically generated files.":"Csak eredeti médiafájlok letöltése, automatikusan generált fájlok nélkül.","Download remote files":"Távoli fájlok letöltése","Download single files and zip archives.":"Egyedi fájlok és zip-archívumok letöltése.","Downloading…":"Letöltés…","Downscaling Filter":"Lekicsinyítési szűrő","Drag and drop files here":"Húzza ide a fájlokat","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"A beérkező e-mailek nagy száma miatt előfordulhat, hogy csapatunk nem tud azonnal válaszolni Önnek.","Duplicates will be skipped and only appear once.":"A másolatok kimaradnak, és csak egyszer jelennek meg.","Duration":"Időtartam","Dynamic Previews":"Dinamikus előnézetek","Dynamic Size Limit: %{n}px":"Dinamikus méretkorlát: %{n}px","E-Mail":"Email","Edit":"Szerkesztés","Edit %{s}":"%{s} szerkesztése","Edit Account":"Fiók szerkesztése","Edit Photo":"Fénykép szerkesztése","Edited":"Szerkesztette","Email":"E-mail","Enable debug mode to display additional logs and help with troubleshooting.":"A hibakeresési mód engedélyezése további naplók megjelenítéséhez és a hibaelhárítás segítéséhez.","Enable new features that may be incomplete or unstable.":"Engedélyezze az új funkciókat, amelyek hiányosak vagy instabilak lehetnek.","Enables RAW converter presets. May reduce performance.":"Engedélyezi a RAW konverter előbeállításait. Csökkentheti a teljesítményt.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"A kéttényezős hitelesítés engedélyezése azt jelenti, hogy a bejelentkezéshez véletlenszerűen generált ellenőrző kódra lesz szüksége, így még ha valaki hozzáfér a jelszavához, nem férhet hozzá fiókjához.","Enter date":"Adja meg a dátumot","Enter dates":"Adja meg a dátumokat","Enter the code generated by your authenticator app:":"Írja be a hitelesítési alkalmazás által generált kódot:","Enter verification code":"Adja meg a megerősítő kódot","Enter your password to confirm the action and continue:":"Adja meg jelszavát a művelet megerősítéséhez, és folytassa:","Error":"Hiba","Errors":"Hibák","Estimate":"Becslés","Estimate Locations":"Becsült helyszínek","Estimate the approximate location of pictures without GPS coordinates.":"A képek hozzávetőleges helyének becslése GPS-koordináták nélkül.","Every two days":"Kétnaponta","Exclude content marked as private from search results, shared albums, labels, and places.":"A privátként megjelölt tartalmak kizárása a keresési eredményekből, a megosztott albumokból, címkékből és helyekről.","Exclude hidden":"Rejtett kizárás","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"Az ExifTool segítségével történő metaadat-kivonatolás szükséges a teljes videó-, élőfotó- és XMP-támogatáshoz.","Experimental Features":"Kísérleti jellemzők","Expires":"Lejár","Exposure":"Kitettség","Extract still images and generate thumbnails while indexing.":"Állóképek kivonása és miniatűrök készítése indexelés közben.","F Number":"F Szám","Face":"Arc","Faces":"Arcok","Failed removing link":"Nem sikerült eltávolítani a linket","Failed to connect account.":"Nem sikerült csatlakoztatni a fiókot.","Failed updating link":"Nem sikerült frissíteni a linket","Family Name":"Családnév","Fast":"Gyors","Favorite":"Kedvenc","Favorites":"Kedvencek","Feature Request":"Funkciókérés","Feedback":"Visszacsatolás","Female":"Női","File":"Fájl","File Browser":"Fájl böngésző","File Conversion":"Fájl átalakítás","File Name":"Fájlnév","File Size":"Fájl méret","Filename":"Fájlnév","Files":"Fájlok","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Az olyan szekvenciális nevű fájlok, mint az „IMG_1234 (2)” és „IMG_1234 (3)”, ugyanahhoz a képhez tartoznak.","First page":"Első oldal","Focal Length":"Gyújtótávolság","Folder":"Mappa","Folder contains %{n} files":"A mappa %{n} fájlt tartalmaz","Folder is empty":"A mappa üres","Folders":"Mappák","Forgot password?":"Elfelejtett jelszó?","FPS":"FPS","Frames":"Keretek","Full Access":"Teljes hozzáférés","Fullscreen":"Teljes képernyő","General":"Általános","Generate":"generál","Generate albums of special moments, journeys, and places.":"Automatikusan albumokat hoz létre különleges pillanatokról, utazásokról és helyekről.","Generate Previews":"Előnézetek generálása","Generated":"Generált","Get Started":"Kezdje el","Given Name":"Keresztnév","Global Options":"Globális lehetőségek","Go to page {0}":"Menj az oldalra {0}","Gold":"Arany","Green":"Zöld","Grey":"Szürke","Guest":"Vendég","Hash":"Hash","Help":"Segítség","Help & Support":"Segítség & Támogatás","Hidden":"Rejtett","Hidden Files":"Rejtett fájlok","Hide":"Elrejt","Hide photos that have been moved to archive.":"Az archívumba áthelyezett fotók elrejtése.","High":"Magas","High Dynamic Range (HDR)":"Nagy dinamikatartomány (HDR)","How can we help?":"Hogyan segíthetünk?","Hybrid":"Hibrid","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Ha elveszíti hozzáférését hitelesítő alkalmazásához vagy eszközéhez, a helyreállítási kód segítségével visszaszerezheti a hozzáférést fiókjához.","Image":"Kép","Image Quality":"Képminőség","Import":"Importálás","Import failed":"Az importálás sikertelen","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Az importált fájlok dátum szerint vannak rendezve, és egyedi nevet kapnak a párhuzamosságok elkerülése érdekében.","Imported files will be sorted by date and given a unique name.":"Az importált fájlok dátum szerint vannak rendezve, és egyedi nevet kapnak.","Importing %{s}…":"%{s} importálása…","Importing files to originals…":"Fájlok importálása eredetibe…","in":"-ban/-ben","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"Ha hiányoznak a várt képek, kérjük, ellenőrizze újra a könyvtárát, és várja meg, amíg az indexelés befejeződik.","Include RAW image files when downloading stacks and archives.":"RAW képfájlok felvétele a verem és az archívumok letöltésekor.","Include sidecar files when downloading stacks and archives.":"Oldalkocsis fájlok bevonása a verem és az archívumok letöltésekor.","Increase storage size or delete files to continue.":"A folytatáshoz növelje a tároló méretét vagy törölje a fájlokat.","Index":"Index","Index and import files through the user interface.":"Fájlok indexelése és importálása a felhasználói felületen keresztül.","Indexing":"Indexelés","Indexing failed":"Az indexelés nem sikerült","Indexing media and sidecar files…":"Média- és oldalsó fájlok indexelése…","Information":"Információ","Instance ID":"Példányazonosító","Insufficient storage.":"Elégtelen tárolás.","Interval":"Intervallum","Invalid":"Érvénytelen","Invalid address":"Érvénytelen cím","Invalid country":"Érvénytelen ország","Invalid date":"Érvénytelen dátum","Invalid parameters":"Érvénytelen paraméterek","Invalid photo selected":"Érvénytelen fénykép kiválasztva","Invalid time":"Érvénytelen idő","Invalid URL":"Érvénytelen URL","It is a one-time use code that will disable 2FA for your account when you use it.":"Ez egy egyszer használatos kód, amely letiltja a 2FA-t a fiókjában, amikor azt használja.","Item":"Tétel","Items per page:":"Tételek oldalanként:","JPEG Quality: %{n}":"JPEG minőség: %{n}","JPEG Size Limit: %{n}px":"JPEG méretkorlát: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"A JPEG-fájlok és miniatűrök szükség szerint automatikusan megjelennek.","Keywords":"Kulcsszavak","Label":"Címke","Labels":"Címkék","Labels deleted":"Címkék törölve","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: Részletmegőrzés, minimális műtárgyak","Language":"Nyelv","Last Active":"Utolsó aktív","Last Login":"Utolsó bejelentkezés","Last page":"Utolsó oldal","Last Sync":"Utolsó szinkronizálás","Last Used":"Utoljára használt","Latitude":"Szélességi kör","LDAP/AD":"LDAP/AD","Learn more":"Tudjon meg többet","Learn More":"Tudjon meg többet","Legal Information":"Jogi információk","Lens":"Lencse","Library":"Könyvtár","License":"Engedély","Like":"Kedvelés","Lime":"Mész","Limit reached, showing first %{n} files":"Elérte a korlátot, az első %{n} fájl látható","Linear: Very Smooth, Best Performance":"Lineáris: Nagyon sima, a legjobb teljesítmény","Link":"Link","List":"Lista","List View":"Lista nézet","Live":"Élő","Live Photos":"Fényképek","Load more":"Töltsön többet","Loading items...":"Tételek betöltése...","Loading...":"Betöltés...","Local":"Helyi","Local Time":"Helyi idő","Location":"Elhelyezkedés","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Naplóüzenetek jelennek meg itt, ha a PhotoPrism hibás fájlokat talál, vagy más lehetséges problémák merülnek fel.","Login":"Belépés","Logout":"Kijelentkezés","Logs":"Naplók","Longitude":"Hosszúság","Low":"Alacsony","Magenta":"Bíborvörös","Main Color":"Fő szín","Male":"Férfi","Manage Account":"Számla kezelése","Manual":"Kézi","Manual Upload":"Kézi feltöltés","Maps":"Térképek","Marker":"Jelző","Maximum number of accounts has been reached.":"A számlák maximális száma elérte a határt.","Media":"Média","Medium":"Közepes","Membership":"Tagság","Merge %{a} with %{b}?":"Összevonja %{a}-t a %{b}-val?","Message":"Üzenet","Message sent":"Üzenet elküldve","Metadata":"Metaadatok","Metrics":"Metrikák","Minimize":"Minimalizálja","Missing":"Hiányzó","Missing or invalid configuration":"Hiányzó vagy érvénytelen konfiguráció","Moments":"Pillanatok","Monochrome":"Monokróm","Month":"Hónap","More options":"További lehetőségek","Mosaic":"Mozaik","Most Relevant":"Legrelevánsabb","Move Files":"Fájlok áthelyezése","Must have at least %{n} characters.":"Legalább %{n} karakteresnek kell lennie.","Mute":"Mute","Name":"Név","Name too long":"A név túl hosszú","Never":"Soha","New":"Új","New Password":"Új jelszó","Newest First":"Először a legújabb","Next":"Következő","Next page":"Következő oldal","Next visual":"Következő vizuális","No":"Nem","No albums found":"Nem találhatók albumok","No data available":"Nincs adat","No labels found":"Nem találhatók címkék","No matching records found":"Nem találtunk megfelelő rekordokat","No more":"Nem több","No people found":"Nem találhatók személyek","No pictures found":"Nem találhatók képek","No recently edited pictures":"Nincsenek nemrég szerkesztett képek","No server connection":"Nincs szerverkapcsolat","No servers configured.":"Nincsenek konfigurálva szerverek.","No services configured.":"Nincsenek konfigurálva szolgáltatások.","No thanks":"Nem köszönöm","No warnings or error containing this keyword. Note that search is case-sensitive.":"Nincsenek figyelmeztetések vagy hibák, amelyek ezt a kulcsszót tartalmazzák. Vegye figyelembe, hogy a keresés megkülönbözteti a kis- és nagybetűket.","Non-photographic and low-quality images require a review before they appear in search results.":"A rossz minőségű képek ellenörzésre kerülnek, mielőtt megjelennének a keresési eredmények között.","None":"Egyik sem","Not allowed":"Nem megengedett","Not found":"Nem található","Not sorted.":"Nem rendezett.","Not supported":"Nem támogatott","Note you may manually manage your originals folder and importing is optional.":"Vegye figyelembe, hogy manuálisan is kezelheti az eredeti mappát, és az importálás nem kötelező.","Note:":"Megjegyzés:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Megjegyzés: Csak a WebDAV-kiszolgálók, például a Nextcloud vagy a PhotoPrism konfigurálhatók távoli szolgáltatásként biztonsági mentéshez és fájlfeltöltéshez.","Notes":"Megjegyzések","Nothing to see here yet.":"Itt még nincs látnivaló. Legyél türelmes.","Nothing was found.":"Semmit sem találtak.","Offline":"Offline","OIDC":"OIDC","OK":"OK","Oldest First":"Először a legidősebb","On Windows, enter the following resource in the connection dialog:":"Windows alatt adja meg a következő erőforrást a kapcsolat párbeszédpanelen:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"A miniatűrök igény szerinti generálása magas CPU- és memóriahasználatot okozhat. Erőforrás-korlátozott szerverek és NAS-eszközök esetében nem ajánlott.","Once a week":"Hetente egyszer","One album found":"Egy albumot találtunk","One file found":"Egy fájl található","One file uploaded":"Egy feltöltött fájl","One folder found":"Egy mappa található","One label found":"Egy címkét találtunk","One person found":"Egy személyt találtak","One picture found":"Egy kép található","Only locally managed accounts can be set up for authentication with 2FA.":"Csak helyileg kezelt fiókok állíthatók be a 2FA-val történő hitelesítéshez.","Open":"Nyissa meg a címet.","optional":"opcionális","or":"vagy","Orange":"Narancssárga","Organization":"Orientáció","Orientation":"Orientáció","Original file names will be stored and indexed.":"Az eredeti fájlneveket a rendszer tárolja és indexeli.","Original Name":"Eredeti Név","Originals":"Eredetiek","Other":"Egyéb","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Küldetésünk, hogy a legfelhasználó- és adatvédelmi szempontból legkedvezőbb megoldást nyújtsuk képeinek rendszerezésére és elérhetőségére.","Outdoor":"Szabadtéri","Page {0}, Current page":"Oldal {0}, Jelenlegi oldal","Pages":"Oldalak","Pagination Navigation":"Oldalszámozás Navigáció","Panorama":"Panoráma","Panoramas":"Panorámák","Password":"Jelszó","Password changed":"A jelszó megváltozott","People":"Személyek","People you share a link with will be able to view public contents.":"Azok, akikkel megoszt egy linket, nyilvános tartalmakat tekinthetnek meg.","Permanently deleted":"Véglegesen törölve","Permanently remove files to free up storage.":"A tárhely felszabadításához távolítsa el véglegesen a fájlokat.","Person":"Személy","Personal":"Személyes","Photo":"Fénykép","PhotoPrism is 100% self-funded and independent.":"A PhotoPrism 100%-ban önfinanszírozó és független.","PhotoPrism+ Membership":"PhotoPrism+ tagság","Photos":"Fényképek","Picture Title":"Kép címe","Pink":"Rózsaszín","Place":"Hely","Place & Time":"Hely és idő","Places":"Helyek","Please confirm your new password.":"Kérjük, erősítse meg új jelszavát.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Kérjük, másolja ki a következő véletlenszerűen generált alkalmazásjelszót, és tartsa biztonságos helyen, mert nem fogja többé látni:","Please do not upload any private, unlawful or offensive pictures.":"Kérjük, ne töltsön fel magánjellegű, jogellenes vagy sértő képeket.","Please don't upload photos containing offensive content.":"Kérjük, ne töltsön fel sértő tartalmat tartalmazó fotókat.","Please enter OTP character {0}":"Kérjük, adja meg az OTP karaktert {0}","Please note that changing your password will log you out on other devices and browsers.":"Felhívjuk figyelmét, hogy a jelszó megváltoztatása más eszközökön és böngészőkben is kijelentkezik.","Please restart your instance for the changes to take effect.":"Kérjük, indítsa újra a példányt, hogy a módosítások hatályba lépjenek.","Please wait…":"Kérjük, várjon…","PM":"PM","PNG Size Limit: %{n}px":"PNG méretkorlát: %{n}px","Portrait":"Portré","Preserve filenames":"Fájlnevek megőrzése","Press enter to create a new album.":"Új album létrehozásához nyomja meg az Enter billentyűt.","Prevent database and album backups as well as YAML sidecar files from being created.":"Megakadályozza az adatbázis- és albummentések, valamint a YAML oldalkocsis fájlok létrehozását.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Megakadályozza, hogy más alkalmazások hozzáférjenek a PhotoPrismhez mint megosztott hálózati meghajtóhoz.","Preview":"Előnézet","Preview Images":"Képek előnézete","Previous":"Előző","Previous page":"Előző oldal","Previous visual":"Előző kép","Primary":"Elsődleges","Private":"Privát","Product Feedback":"Termék visszajelzés","Projection":"Kivetítés","Purple":"Lila","Quality Filter":"Minőségi szűrő","Quality Score":"Minőségi mutató","r":"r","Random":"Véletlen","Rating {0} of {1}":"A {0} minősítés {1}","Raw":"Nyers","RAW":"NYERS","Re-index all originals, including already indexed and unchanged files.":"Indexelje újra az összes eredetit, beleértve a már indexelt és változatlan fájlokat is.","Read-Only Mode":"Csak olvasható mód","Recently Added":"Nemrég hozzáadott","Recently Archived":"Nemrégiben archiválva","Recently Edited":"Nemrég szerkesztve","Recognition starts after indexing has been completed.":"A felismerés az indexelés befejezése után kezdődik.","Recognize faces so people can be assigned and found.":"Felismeri az arcokat, így konkrét személyeket is meg lehet találni.","Recognized":"Elismert","Recovery Code":"Helyreállítási kód","Red":"Piros","Refresh":"Frissítés","Regions":"Régiók","Register":"Regisztráció","Reload":"Újratöltés","Reloading…":"Újratöltés…","Remote Sync":"Távoli szinkronizálás","Remove":"Távolítsa el","remove failed: unknown album":"eltávolítás sikertelen: ismeretlen album","Remove from Album":"Eltávolítás az albumból","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Távolítsa el az importált fájlokat a tárhely megtakarításához. A nem támogatott fájltípusok soha nem törlődnek, a jelenlegi helyükön maradnak.","Request failed - are you offline?":"A kérés sikertelen - offline vagy?","Request failed - invalid response":"Sikertelen kérés – érvénytelen válasz","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"A nem fényképes és gyenge minőségű képeket a keresési eredményekben való megjelenésük előtt felül kell vizsgálni.","Resolution":"Felbontás","Restart":"Újraindítás","Restore":"Visszaállítás","Restored":"Visszaállított","Retry Limit":"Újrapróbálkozási korlát","Retype Password":"Gépelje be újra a jelszót","Review":"Felülvizsgálat","Role":"Szerepvállalás","Rows per page:":"Sorok oldalanként:","Satellite":"Műholdas","Save":"Mentés","Scan":"Felderítés","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Olvassa be a QR-kódot a hitelesítő alkalmazással, vagy használja az alább látható beállítási kulcsot, majd írja be a generált ellenőrző kódot:","Scans":"Szkennel","Scope":"Terjedelem","Search":"Keresés","Search and display photos on a map.":"Fényképek keresése és megjelenítése a térképen.","Season":"Évad","Secret":"Titok","Security and Access":"Biztonság és hozzáférés","Select":"Kiválasztás","Select a source folder to import files…":"Válassza ki a forrásmappát a fájlok importálásához…","Select date":"Válassza ki a dátumot","Select dates":"Válassza ki a dátumokat","Select or create an album":"Album kiválasztása vagy létrehozása","Select the files to upload…":"Válassza ki a feltölteni kívánt fájlokat…","Select the folder to be indexed…":"Válassza ki az indexelendő mappát…","Select Time":"Idő kiválasztása","Selection approved":"Kiválasztás jóváhagyva","Selection archived":"A kijelölés archiválva","Selection restored":"Kiválasztás visszaállítva","Sequential Name":"Sorozati név","Service URL":"Szolgáltatás URL-je","Services":"Szolgáltatások","Session":"Ülés","Session ID":"Munkamenet azonosítója","Sessions":"Ülések","Set as Album Cover":"Album borítóként beállítva","Settings":"Beállítások","Settings saved":"Beállítások elmentve","Setup":"Beállít","Share":"Megosztás","Share %{s}":"%{s} megosztása","Share your pictures with other apps and services.":"Ossza meg képeit más alkalmazásokkal és szolgáltatásokkal.","Show":"Előadás","Show all new faces":"Az összes új arc megjelenítése","Show Captions":"Feliratok megjelenítése","Show hidden":"Rejtett megjelenítése","Show less":"Mutass kevesebbet","Show more":"Mutass többet","Show server logs in Library.":"Szervernaplók megjelenítése a Könyvtárban.","Show Titles":"Címek megjelenítése","Sidecar":"Oldalkocsi","Sidecar Files":"Oldalkocsis fájlok","Sign in":"Bejelentkezés","Similar":"Hasonló","Size":"Méret","Slideshow":"Diavetítés","Slow":"Lassú","Software":"Szoftver","Software Update":"Szoftverfrissítés","Something went wrong, try again":"Valami rosszul ment, próbálja újra","Sort by":"Rendezés","Sort Order":"Sorrend","Sorted ascending.":"Növekvő sorrendben.","Sorted descending.":"Lefelé rendezve.","Source":"Forrás","Stack":"Csoportosítás","Stack files sharing the same unique image or instance identifier.":"Fájlok csoportosítása, amelyek ugyanazt az egyedi képet vagy példányazonosítót tartalmazzák.","Stack pictures taken at the exact same time and location based on their metadata.":"A metaadataik alapján csoportosítsa a pontosan ugyanabban az időben és helyen készült képeket.","Stackable":"Egymásra rakható","Stacks":"Stackek","Start":"Rajt","Start Page":"Kezdőlap","Static Size Limit: %{n}px":"Statikus méretkorlát: %{n}px","Status":"Állapot","Storage":"Tárhely","Streets":"Utcák","Subject":"Tantárgy","Submit":"Küldje be a","Successfully activated":"Sikeres aktiválás","Successfully Connected":"Sikeresen csatlakoztatva","Successfully deleted":"Sikeresen törölve","Successfully verified":"Sikeresen ellenőrizve","Super Admin":"Super Admin","Support for additional services, like Google Drive, will be added over time.":"A további szolgáltatások, például a Google Drive támogatása jelenleg fejlesztés alatt áll.","Support Our Mission":"Támogassa küldetésünket","Sync":"Szinkronizálás","Sync raw and video files":"Nyers és videofájlok szinkronizálása","Taken":"Felvett","Teal":"A zöldeskék","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"A TensorFlow-ra a képosztályozáshoz, az arcfelismeréshez és a nem biztonságos tartalom felismeréséhez van szükség.","Terrain":"Terep","Text":"Szöveg","Text too long":"A szöveg túl hosszú","Thank You for Your Support!":"Köszönjük a támogatást!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Ezért a PhotoPrismet az alapoktól kezdve úgy építették fel, hogy bárhol fusson, ahol csak szüksége van rá, anélkül, hogy a szabadság, a magánélet vagy a funkcionalitás sérülne.","The index currently contains %{n} hidden files.":"Az index jelenleg %{n} rejtett fájlt tartalmaz.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Előfordulhat, hogy a formátumuk nem támogatott, még nem konvertálták JPEG formátumba, vagy ismétlődők vannak.","Theme":"Téma","This field is required":"Ez a mező kötelező","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Ez hálózati meghajtóként csatlakoztatja az eredeti mappát, és lehetővé teszi a fájlok megnyitását, szerkesztését és törlését számítógépéről vagy okostelefonjáról, mintha azok helyi lennének.","Time UTC":"Idő UTC","Time Zone":"Időzóna","Timeout":"Időtúllépés","Title":{"Account":"Cím","Photo":"Cím","":"Cím"},"Title / Position":"Cím / Pozíció","Title too long":"A cím túl hosszú","to":"nak nek","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Annak elkerülése érdekében, hogy ne zárjon ki fiókjából, kérjük, töltse le, nyomtassa ki vagy másolja ki ezt a helyreállítási kódot most, és tartsa biztonságos helyen.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Új alkalmazásspecifikus jelszó generálásához adja meg az alkalmazás nevét és engedélyezési hatókörét, és válasszon egy lejárati dátumot:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Ha új hitelesítő alkalmazásra vagy eszközre szeretne váltani, először deaktiválja a kéttényezős hitelesítést, majd aktiválja újra:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"A frissítéshez vagy megadhat egy aktiváló kódot, vagy a \"Regisztráció\" gombra kattintva regisztrálhat a weboldalunkon:","Today":"Ma","Toggle View":"Nézet váltása","Token":"Jelképes","Too many files selected":"Túl sok fájl van kiválasztva","Too many requests":"Túl sok kérés","Troubleshooting":"Hibaelhárítás","Try again using other filters or keywords.":"Próbálja újra más szűrők vagy kulcsszavak használatával.","Two-factor authentication has been enabled for your account.":"A kétlépcsős hitelesítés engedélyezve van fiókjában.","Type":"Típus","Unauthorized":"Jogosulatlan","Undo":"Visszavonás","Unique ID":"Egyéni azonosító","Unknown":"Ismeretlen","Unregistered":"Nem regisztrált","Unsorted":"Rendezés nélkül","Unstack":"Bontsa ki","Updated":"Frissítve","Updating faces":"Arcok frissítése","Updating index":"Index frissítése","Updating moments":"Frissítő pillanatok","Updating picture…":"Kép frissítése…","Updating previews":"Előnézetek frissítése","Updating stacks":"Csoportosítások frissítése","Upgrade":"Frissítés","Upgrade Now":"Frissítés most","Upload":"Feltöltés","Upload complete":"Feltöltés kész","Upload complete. Indexing…":"Feltöltés kész. Indexelés…","Upload failed":"Feltöltés sikertelen","Upload local files":"Helyi fájlok feltöltése","Upload Path":"Feltöltési útvonal","Upload to WebDAV and share links with friends.":"Töltse fel a WebDAV-ba, és ossza meg hivatkozásait barátaival.","Uploading %{n} of %{t}…":"%{n}/%{t} feltöltése…","Uploading photos…":"Fényképek feltöltése…","Uploading…":"Feltöltés…","Uploads that may contain such images will be rejected automatically.":"Az esetlegesen ilyen képeket tartalmazó feltöltések automatikusan elutasításra kerülnek.","Use Presets":"Előbeállítások használata","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Ha nem tud érvényes ellenőrző kódot generálni a hitelesítő alkalmazással, használja a következő helyreállítási kódot a fiók eléréséhez:","Use your recovery code or contact an administrator for help.":"Használja a helyreállítási kódot, vagy forduljon a rendszergazdához segítségért.","User":"Felhasználó","User Guide":"Felhasználói útmutató","User Interface":"Felhasználói felület","Username":"Felhasználónév","Users":"Felhasználók","Vector":"Vektor","Vectors":"Vektorok","Verification Code":"Ellenőrző kód","Video":"Videó","Video Duration":"Időtartam","Videos":"Videók","View":"Kilátás","View search results as a list.":"A keresési eredmények listaként történő megtekintése.","Viewer":"Viewer","Visitor":"Látogató","Visual Similarity":"Csoportosítás hasonlóság szerint","Warning":"Figyelmeztetés","We appreciate your feedback!":"Nagyra értékeljük visszajelzéseit!","We do our best to respond within five business days or less.":"Igyekszünk öt munkanapon belül vagy annál rövidebb időn belül válaszolni.","Web Login":"Webes bejelentkezés","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"A WebDAV-kliensek a következő URL-címen csatlakozhatnak a PhotoPrism-hez:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"A WebDAV-kliensek, mint például a Microsoft Windows Intézője vagy az Apple Finder, közvetlenül csatlakozhatnak a PhotoPrism-hez.","WebDAV Upload":"WebDAV feltöltés","WebGL support is disabled in your browser":"A WebGL-támogatás le van tiltva a böngésződben","Website":"Weboldal","White":"Fehér","Work Details":"Részletek","Year":"Év","Yellow":"Sárga","Yes":"Igen","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"A tagsággal kapcsolatos kérdésekkel kapcsolatban szívesen állunk rendelkezésére a membership@photoprism.app e-mail címen.","You can only download one album":"Csak egy albumot tölthet le","You can only download one label":"Csak egy címkét tölthet le","You can upload up to %{n} files for test purposes.":"Legfeljebb %{n} fájlt tölthet fel tesztelés céljából.","You may only select one item":"Csak egy elemet választhat ki","You may rescan your library to find additional faces.":"Újra beolvashatja könyvtárát, hogy további arcokat találjon.","Your account has been successfully connected.":"A fiókját sikeresen csatlakoztattuk.","Your browser does not support WebGL":"A böngésző nem támogatja a WebGL-t","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Folyamatos támogatása segít nekünk olyan szolgáltatásokat nyújtani, mint a műholdas térképek és új funkciók fejlesztése.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Könyvtárát folyamatosan elemzi a rendszer, hogy automatikusan létrehozza a különleges pillanatokat, utazásokat és helyeket tartalmazó albumokat.","Zoom in/out":"Nagyítás/kicsinyítés"}} \ No newline at end of file +{"hu":{"{0} appended action":"{0} appended action","{0} files":"{0} fájlok","{0} files ({1} in total)":"{0} fájlok ({1} összesen)","{0} more":"{0} még","{0} prepended action":"{0} prepended action","{0} selected":"{0} kiválasztott","{0}-{1} of {2}":"{0}-{1} of {2}","%{n} albums found":"%{n} album találat","%{n} files uploaded":"%{n} fájl feltöltve","%{n} folders found":"%{n} mappa találat","%{n} GB of %{q} GB used":"%{n} GB %{q} GB használt","%{n} labels found":"%{n} címke találat","%{n} people found":"%{n} ember találat","%{n} pictures found":"%{n} kép találat","%{s} is too long":"%{s} túl hosszú","%{s} is too short":"%{s} túl rövid","1 hour":"1 óra","12 hours":"12 óra","2-Factor Authentication":"2-faktoros hitelesítés","2FA":"2FA","4 hours":"4 óra","A click will copy it to your clipboard.":"A kattintás egy másolatot helyez a vágólapra.","A new version of %{s} is available:":"A %{s} új verziója elérhető:","About":"Rólunk","Access Token":"Hozzáférési jelszó","Account":"Fiók","Account created":"Fiók létrehozva","Account deleted":"Fiók törölve","Account restored":"Fiók visszaállítva","Accounts":"Fiókok","Accuracy":"Pontosság","Action":"Művelet","Actions":"Műveletek","Activate":"Aktiválja a címet.","Activate to remove sorting.":"Aktiválja a szortírozás megszüntetéséhez.","Activate to sort ascending.":"Aktiválja a növekvő rendezéshez.","Activate to sort descending.":"Aktiválja a csökkenő rendezéshez.","Activation Code":"Aktiválási kód","Add":"Add","Add %{s}?":"Add %{s}?","Add Account":"Fiók hozzáadása","Add Album":"Album hozzáadása","Add files to your library via Web Upload.":"Fájlok hozzáadása a könytárhoz Webes feltöltés segítéségével.","Add Link":"Hivatkozás hozzáadása","Add person?":"Személyt hozzáadni?","Add pictures from search results by selecting them.":"Képek hozzáadása a találok közül kiválasztás segítéségével.","Add to album":"Hozzáadás albumhoz","Added":"Hozzáadva","Adjust Location":"Helyszín beállítása","Admin":"Admin","Advanced":"Haladó","After 1 day":"Egy nap után","After 3 days":"Három nap után","After 7 days":"Hét nap után","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Miután megerősítésképpen megadta jelszavát, beállíthat kétfaktoros hitelesítést egy kompatibilis hitelesítő alkalmazással vagy eszközzel:","After one month":"Egy hónap után","After one year":"Egy év után","After selecting pictures from search results, you can add them to an album using the context menu.":"A találokból kiválasztott képeket, tetszőleges albumhoz adni a menü segítségével lehet.","After two months":"Két hónap után","After two weeks":"Két hét után","Album":"Album","Album Backups":"Album biztonsági mentések","Album created":"Album létrehozva","Album deleted":"Album törölve","Albums":"Albumok","Albums deleted":"Albumok törölve","All":"Minden","All %{n} albums loaded":"Összesen %{n} album betöltve","All %{n} labels loaded":"Összesen %{n} címke betöltve","All %{n} people loaded":"Összesen %{n} ember betöltve","All Cameras":"Összes kamera","All Categories":"Összes kategória","All Colors":"Összes szín","All Countries":"Összes ország","All fields are required":"Minden mező kitöltése kötelező","All files from import folder":"Összes fájlt az import könyvtárból","All Lenses":"Összes lencse","All Months":"Összes hónap","All originals":"Összes eredeti","All Years":"Összes év","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Alternatívaként a fájlok feltölthetők WebDAV szerverekre is, mint például Nextcloud.","Altitude":"Magasság","Altitude (m)":"Magasság (m)","AM":"AM","Animated":"Mozgó","Animation":"Animáció","Animations":"Animációk","Any private photos and videos remain private and won't be shared.":"Bármilyen privát fotó és videó privát marad és nem kerül megosztásra.","API Key":"API Kulcs","Application":"Alkalmazás","Apply":"Alkalmaz","Approve":"Jóváhagy","Apps and Devices":"Alkalmazások és eszközök","Archive":"Archívum","Archived":"Archíválva","Are you sure you want to archive the selection?":"Biztos benne, hogy archíválja a kiválasztott fájlokat?","Are you sure you want to delete these albums?":"Biztos benne, hogy törli a kiválasztott fájlokat?","Are you sure you want to delete these labels?":"Biztos benne, hogy törli a kiválasztott címkéket?","Are you sure you want to delete this account?":"Biztos benne, hogy törli ezt a felhasználói fiókot?","Are you sure you want to delete this album?":"Biztos, hogy törölni szeretné ezt az albumot?","Are you sure you want to permanently delete these pictures?":"Biztos benne, hogy véglegesen törli a kiválasztott képeket?","Are you sure you want to permanently delete this file?":"Biztos benne, hogy véglegesen törli a kiválasztott fájlokat?","Are you sure?":"Biztos benne?","Artist":"Művész","Aspect Ratio":"Képarány","Audio":"Audio","Authentication":"Hitelesítés","Auto":"Auto","Back":"Vissza","Back to top":"Vissza a tetejére","Backup":"Biztonsági mentés","Badge":"Jelvény","Base Path":"Bázis útvonal","Become a member today, support our mission and enjoy our member benefits!":"Legyen tag még ma, támogassa küldetésünket és élvezze tagi előnyeinket!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Mivel 100%-ban önfinanszírozók és függetlenek vagyunk, megígérhetjük, hogy soha nem adjuk el az adatait, és mindig átláthatóak leszünk a szoftverünkkel és szolgáltatásainkkal kapcsolatban.","Bio":"Bio","Birth Date":"Születési dátum","Black":"Fekete","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Lanczos-módosítás, kevesebb csengő műtárgy","Blue":"Kék","Brown":"Barna","Browse":"Böngésszen a oldalon.","Browse and edit image classification labels.":"Böngéssze és szerkessze a képbesorolási címkéket.","Browse and share your pictures organized into monthly albums.":"Böngésszen és ossza meg képeit havi albumokba rendezve.","Browse Files":"Fájlok böngészése","Browse indexed files and folders in Library.":"Böngésszen az indexelt fájlok és mappák között a Könyvtárban.","Bug Report":"Hibajelentés","Busy, please wait…":"Elfoglalt, kérem, várjon…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Az általunk biztosított szoftver és szolgáltatások használatával Ön elfogadja szolgáltatási feltételeinket, adatvédelmi szabályzatunkat és magatartási kódexünket.","Calendar":"Naptár","Camera":"Kamera","Camera Serial":"Kamera sorozat","Can't access your authenticator app or device?":"Nem tud hozzáférni az autentikátor alkalmazásához vagy eszközéhez?","Can't load more, limit reached":"Nem tölthet be többet, elérte a korlátot","Can't select more items":"Nem lehet több elemet kiválasztani","Cancel":"Mégsem","Cannot copy to clipboard":"Nem lehet a vágólapra másolni","Caption":"Felirat","Cards":"Kártyák","Carousel slide {0} of {1}":"{0} körhinta {0} a {1}-től","Category":"Kategória","Change Avatar":"Profilkép változtatása","Change Password":"Új jelszó","Change personal profile and security settings.":"Személyes profil és biztonsági beállítások módosítása.","Change photo titles, locations, and other metadata.":"Módosíthatja a fotók címét, helyét és egyéb metaadatait.","Change private flag":"Privát fotóként jelölés","Changes could not be saved":"Módosításokat nem sikerült menteni","Changes successfully saved":"Módosítások sikeresen mentve","Changes to the advanced settings require a restart to take effect.":"A speciális beállítások módosításához újraindításra van szükség, hogy a módosítások hatályba lépjenek.","Checked":"Ellenőrizve","Chroma":"Chroma","Cleaning index and cache":"Index és gyorsítótár tisztítása","Cleanup":"Tisztítás","Clear {0}":"Clear {0}","Client":"Ügyfél","Client Credentials":"Ügyfél hitelesítő adatok","Close":"Bezárás","Codec":"Codec","Color":"Szín","Color Profile":"Színprofil","Colors":"Színek","Compare Editions":"Edíciók összehasonlítása","Complete Rescan":"Teljes újraolvasás","Confidence":"Pontosság","Confirm":"megerősít","Connect":"Csatlakozás","Connect via WebDAV":"Csatlakozás WebDAV-on keresztül","Connected":"Csatlakozva","Contact Details":"Elérhetőségek","Contact Us":"Lépjen kapcsolatba velünk","Contains %{n} pictures.":"%{n} képet tartalmaz.","Contains one picture.":"Egy képet tartalmaz.","Content":"Tartalom","Continue":"Folytatni","Continue with %{provider}":"Folytassa a %{provider}","Contributor":"Hozzájáruló","Converting":"Konvertálás","Copied to clipboard":"Vágólapra másolva","Copy":"Másolat","Copyright":"Szerzői jog","Couldn't find anything.":"Nem találtunk semmit.","Country":"Ország","Create Account":"Fiók létrehozása","Create album":"Album létrehozása","Create regular backups based on the configured schedule.":"Index biztonsági mentések létrehozása a konfigurált ütemezés alapján.","Create YAML files to back up album metadata.":"YAML fájlok létrehozása az album metaadatok biztonsági mentéséhez.","Create YAML sidecar files to back up picture metadata.":"YAML oldalkocsis fájlok létrehozása a képek metaadatainak mentéséhez.","Created":"Létrehozva","Creating thumbnails for":"Miniatűrök létrehozása a következőhöz","Cubic: Moderate Quality, Good Performance":"Köbös: Közepes minőség, jó teljesítmény","Current Password":"Jelenlegi jelszó","Custom":"Custom","Cyan":"Cián","Daily":"Napi","Database Backups":"Adatbázis biztonsági mentések","Day":"Nap","Deactivate":"Deaktiválás","Debug Logs":"Hibakeresési naplók","Default":"Alapértelmezett","Default Folder":"Alapértelmezett mappa","Delete":"Törlés","Delete Album":"Album törlése","Delete All":"Mindent törölni","Delete all?":"Mindent törölni?","Delete orphaned index entries, sidecar files and thumbnails.":"Törli az elárvult indexbejegyzéseket, oldalkocsis fájlokat és miniatűröket.","Description":"Leírás","Detailed instructions can be found in our User Guide.":"A részletes utasításokat a Felhasználói kézikönyvben találja.","Details":"Részletek","Dimensions":"Méretek","Disable Backups":"Biztonsági mentések letiltása","Disable Darktable":"A Darktable letiltása","Disable ExifTool":"Az ExifTool letiltása","Disable features that require write permission for the originals folder.":"Az eredeti mappa írási engedélyét igénylő funkciók letiltása.","Disable FFmpeg":"Az FFmpeg letiltása","Disable ImageMagick":"ImageMagick letiltása","Disable interactive world maps and reverse geocoding.":"Az interaktív világtérképek és a fordított geokódolás letiltása.","Disable Places":"Helyek letiltása","Disable RawTherapee":"A RawTherapee letiltása","Disable TensorFlow":"A TensorFlow letiltása","Disable Vectors":"Vektorok letiltása","Disable WebDAV":"A WebDAV letiltása","Disables vector graphics support.":"Letiltja a vektorgrafika támogatását.","Disables video transcoding and thumbnail extraction.":"Letiltja a videó átkódolását és a miniatűrök kinyerését.","Discover":"Felfedez","Dismiss":"Elutasíthatod","Display Name":"Megjelenített név","Display picture captions in search results.":"Képaláírások megjelenítése a keresési eredményekben.","Display picture titles in search results.":"Képcímek megjelenítése a keresési eredményekben.","Document":"Dokumentum","Documents":"Dokumentumok","Don't use Darktable to convert RAW images.":"Ne használja a Darktable-t RAW képek konvertálására.","Don't use ImageMagick to convert images.":"Ne használd az ImageMagick programot képek konvertálására.","Don't use RawTherapee to convert RAW images.":"Ne használja a RawTherapee-t RAW képek konvertálására.","Done":"Kész","Done.":"Kész.","Download":"Letöltés","Download only original media files, without any automatically generated files.":"Csak eredeti médiafájlok letöltése, automatikusan generált fájlok nélkül.","Download remote files":"Távoli fájlok letöltése","Download single files and zip archives.":"Egyedi fájlok és zip-archívumok letöltése.","Downloading…":"Letöltés…","Downscaling Filter":"Lekicsinyítési szűrő","Drag and drop files here":"Húzza ide a fájlokat","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"A beérkező e-mailek nagy száma miatt előfordulhat, hogy csapatunk nem tud azonnal válaszolni Önnek.","Duplicates will be skipped and only appear once.":"A másolatok kimaradnak, és csak egyszer jelennek meg.","Duration":"Időtartam","Dynamic Previews":"Dinamikus előnézetek","Dynamic Size Limit: %{n}px":"Dinamikus méretkorlát: %{n}px","E-Mail":"Email","Edit":"Szerkesztés","Edit %{s}":"%{s} szerkesztése","Edit Account":"Fiók szerkesztése","Edit Photo":"Fénykép szerkesztése","Edited":"Szerkesztette","Email":"E-mail","Enable debug mode to display additional logs and help with troubleshooting.":"A hibakeresési mód engedélyezése további naplók megjelenítéséhez és a hibaelhárítás segítéséhez.","Enable new features that may be incomplete or unstable.":"Engedélyezze az új funkciókat, amelyek hiányosak vagy instabilak lehetnek.","Enables RAW converter presets. May reduce performance.":"Engedélyezi a RAW konverter előbeállításait. Csökkentheti a teljesítményt.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"A kéttényezős hitelesítés engedélyezése azt jelenti, hogy a bejelentkezéshez véletlenszerűen generált ellenőrző kódra lesz szüksége, így még ha valaki hozzáfér a jelszavához, nem férhet hozzá fiókjához.","Enter date":"Adja meg a dátumot","Enter dates":"Adja meg a dátumokat","Enter the code generated by your authenticator app:":"Írja be a hitelesítési alkalmazás által generált kódot:","Enter verification code":"Adja meg a megerősítő kódot","Enter your password to confirm the action and continue:":"Adja meg jelszavát a művelet megerősítéséhez, és folytassa:","Error":"Hiba","Errors":"Hibák","Estimate":"Becslés","Estimate Locations":"Becsült helyszínek","Estimate the approximate location of pictures without GPS coordinates.":"A képek hozzávetőleges helyének becslése GPS-koordináták nélkül.","Every two days":"Kétnaponta","Exclude content marked as private from search results, shared albums, labels, and places.":"A privátként megjelölt tartalmak kizárása a keresési eredményekből, a megosztott albumokból, címkékből és helyekről.","Exclude hidden":"Rejtett kizárás","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"Az ExifTool segítségével történő metaadat-kivonatolás szükséges a teljes videó-, élőfotó- és XMP-támogatáshoz.","Experimental Features":"Kísérleti jellemzők","Expires":"Lejár","Exposure":"Kitettség","Extract still images and generate thumbnails while indexing.":"Állóképek kivonása és miniatűrök készítése indexelés közben.","F Number":"F Szám","Face":"Arc","Faces":"Arcok","Failed removing link":"Nem sikerült eltávolítani a linket","Failed to connect account.":"Nem sikerült csatlakoztatni a fiókot.","Failed updating link":"Nem sikerült frissíteni a linket","Family Name":"Családnév","Fast":"Gyors","Favorite":"Kedvenc","Favorites":"Kedvencek","Feature Request":"Funkciókérés","Feedback":"Visszacsatolás","Female":"Női","File":"Fájl","File Browser":"Fájl böngésző","File Conversion":"Fájl átalakítás","File Name":"Fájlnév","File Size":"Fájl méret","Filename":"Fájlnév","Files":"Fájlok","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Az olyan szekvenciális nevű fájlok, mint az „IMG_1234 (2)” és „IMG_1234 (3)”, ugyanahhoz a képhez tartoznak.","First page":"Első oldal","Focal Length":"Gyújtótávolság","Folder":"Mappa","Folder contains %{n} files":"A mappa %{n} fájlt tartalmaz","Folder is empty":"A mappa üres","Folders":"Mappák","Forgot password?":"Elfelejtett jelszó?","FPS":"FPS","Frames":"Keretek","Full Access":"Teljes hozzáférés","Fullscreen":"Teljes képernyő","General":"Általános","Generate":"generál","Generate albums of special moments, journeys, and places.":"Automatikusan albumokat hoz létre különleges pillanatokról, utazásokról és helyekről.","Generate Previews":"Előnézetek generálása","Generated":"Generált","Get Started":"Kezdje el","Given Name":"Keresztnév","Global Options":"Globális lehetőségek","Go to page {0}":"Menj az oldalra {0}","Gold":"Arany","Green":"Zöld","Grey":"Szürke","Guest":"Vendég","Hash":"Hash","Help":"Segítség","Help & Support":"Segítség & Támogatás","Hidden":"Rejtett","Hidden Files":"Rejtett fájlok","Hide":"Elrejt","Hide photos that have been moved to archive.":"Az archívumba áthelyezett fotók elrejtése.","High":"Magas","High Dynamic Range (HDR)":"Nagy dinamikatartomány (HDR)","How can we help?":"Hogyan segíthetünk?","Hybrid":"Hibrid","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Ha elveszíti hozzáférését hitelesítő alkalmazásához vagy eszközéhez, a helyreállítási kód segítségével visszaszerezheti a hozzáférést fiókjához.","Image":"Kép","Image Quality":"Képminőség","Import":"Importálás","Import failed":"Az importálás sikertelen","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Az importált fájlok dátum szerint vannak rendezve, és egyedi nevet kapnak a párhuzamosságok elkerülése érdekében.","Imported files will be sorted by date and given a unique name.":"Az importált fájlok dátum szerint vannak rendezve, és egyedi nevet kapnak.","Importing %{s}…":"%{s} importálása…","Importing files to originals…":"Fájlok importálása eredetibe…","in":"-ban/-ben","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"Ha hiányoznak a várt képek, kérjük, ellenőrizze újra a könyvtárát, és várja meg, amíg az indexelés befejeződik.","Include RAW image files when downloading stacks and archives.":"RAW képfájlok felvétele a verem és az archívumok letöltésekor.","Include sidecar files when downloading stacks and archives.":"Oldalkocsis fájlok bevonása a verem és az archívumok letöltésekor.","Increase storage size or delete files to continue.":"A folytatáshoz növelje a tároló méretét vagy törölje a fájlokat.","Index":"Index","Index and import files through the user interface.":"Fájlok indexelése és importálása a felhasználói felületen keresztül.","Indexing":"Indexelés","Indexing failed":"Az indexelés nem sikerült","Indexing media and sidecar files…":"Média- és oldalsó fájlok indexelése…","Information":"Információ","Instance ID":"Példányazonosító","Insufficient storage.":"Elégtelen tárolás.","Interval":"Intervallum","Invalid":"Érvénytelen","Invalid address":"Érvénytelen cím","Invalid country":"Érvénytelen ország","Invalid date":"Érvénytelen dátum","Invalid parameters":"Érvénytelen paraméterek","Invalid photo selected":"Érvénytelen fénykép kiválasztva","Invalid time":"Érvénytelen idő","Invalid URL":"Érvénytelen URL","It is a one-time use code that will disable 2FA for your account when you use it.":"Ez egy egyszer használatos kód, amely letiltja a 2FA-t a fiókjában, amikor azt használja.","Item":"Tétel","Items per page:":"Tételek oldalanként:","JPEG Quality: %{n}":"JPEG minőség: %{n}","JPEG Size Limit: %{n}px":"JPEG méretkorlát: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"A JPEG-fájlok és miniatűrök szükség szerint automatikusan megjelennek.","Keywords":"Kulcsszavak","Label":"Címke","Labels":"Címkék","Labels deleted":"Címkék törölve","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: Részletmegőrzés, minimális műtárgyak","Language":"Nyelv","Last Active":"Utolsó aktív","Last Login":"Utolsó bejelentkezés","Last page":"Utolsó oldal","Last Sync":"Utolsó szinkronizálás","Last Used":"Utoljára használt","Latitude":"Szélességi kör","LDAP/AD":"LDAP/AD","Learn more":"Tudjon meg többet","Learn More":"Tudjon meg többet","Legal Information":"Jogi információk","Lens":"Lencse","Library":"Könyvtár","License":"Engedély","Like":"Kedvelés","Lime":"Mész","Limit reached, showing first %{n} files":"Elérte a korlátot, az első %{n} fájl látható","Linear: Very Smooth, Best Performance":"Lineáris: Nagyon sima, a legjobb teljesítmény","Link":"Link","List":"Lista","List View":"Lista nézet","Live":"Élő","Live Photos":"Fényképek","Load more":"Töltsön többet","Loading items...":"Tételek betöltése...","Loading...":"Betöltés...","Local":"Helyi","Local Time":"Helyi idő","Location":"Elhelyezkedés","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Naplóüzenetek jelennek meg itt, ha a PhotoPrism hibás fájlokat talál, vagy más lehetséges problémák merülnek fel.","Login":"Belépés","Logout":"Kijelentkezés","Logs":"Naplók","Longitude":"Hosszúság","Low":"Alacsony","Magenta":"Bíborvörös","Main Color":"Fő szín","Male":"Férfi","Manage Account":"Számla kezelése","Manager":"Menedzser","Manual":"Kézi","Manual Upload":"Kézi feltöltés","Maps":"Térképek","Marker":"Jelző","Maximum number of accounts has been reached.":"A számlák maximális száma elérte a határt.","Media":"Média","Medium":"Közepes","Membership":"Tagság","Merge %{a} with %{b}?":"Összevonja %{a}-t a %{b}-val?","Message":"Üzenet","Message sent":"Üzenet elküldve","Metadata":"Metaadatok","Metrics":"Metrikák","Minimize":"Minimalizálja","Missing":"Hiányzó","Missing or invalid configuration":"Hiányzó vagy érvénytelen konfiguráció","Moments":"Pillanatok","Monochrome":"Monokróm","Month":"Hónap","More options":"További lehetőségek","Mosaic":"Mozaik","Most Relevant":"Legrelevánsabb","Move Files":"Fájlok áthelyezése","Must have at least %{n} characters.":"Legalább %{n} karakteresnek kell lennie.","Mute":"Mute","Name":"Név","Name too long":"A név túl hosszú","Never":"Soha","New":"Új","New Password":"Új jelszó","Newest First":"Először a legújabb","Next":"Következő","Next page":"Következő oldal","Next visual":"Következő vizuális","No":"Nem","No albums found":"Nem találhatók albumok","No data available":"Nincs adat","No labels found":"Nem találhatók címkék","No matching records found":"Nem találtunk megfelelő rekordokat","No more":"Nem több","No people found":"Nem találhatók személyek","No pictures found":"Nem találhatók képek","No recently edited pictures":"Nincsenek nemrég szerkesztett képek","No results":"Nincs eredmény","No server connection":"Nincs szerverkapcsolat","No servers configured.":"Nincsenek konfigurálva szerverek.","No services configured.":"Nincsenek konfigurálva szolgáltatások.","No thanks":"Nem köszönöm","No warnings or error containing this keyword. Note that search is case-sensitive.":"Nincsenek figyelmeztetések vagy hibák, amelyek ezt a kulcsszót tartalmazzák. Vegye figyelembe, hogy a keresés megkülönbözteti a kis- és nagybetűket.","Non-photographic and low-quality images require a review before they appear in search results.":"A rossz minőségű képek ellenörzésre kerülnek, mielőtt megjelennének a keresési eredmények között.","None":"Egyik sem","Not allowed":"Nem megengedett","Not found":"Nem található","Not sorted.":"Nem rendezett.","Not supported":"Nem támogatott","Note you may manually manage your originals folder and importing is optional.":"Vegye figyelembe, hogy manuálisan is kezelheti az eredeti mappát, és az importálás nem kötelező.","Note:":"Megjegyzés:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Megjegyzés: Csak a WebDAV-kiszolgálók, például a Nextcloud vagy a PhotoPrism konfigurálhatók távoli szolgáltatásként biztonsági mentéshez és fájlfeltöltéshez.","Notes":"Megjegyzések","Nothing to see here yet.":"Itt még nincs látnivaló. Legyél türelmes.","Nothing was found.":"Semmit sem találtak.","Offline":"Offline","OIDC":"OIDC","OK":"OK","Oldest First":"Először a legidősebb","On Windows, enter the following resource in the connection dialog:":"Windows alatt adja meg a következő erőforrást a kapcsolat párbeszédpanelen:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"A miniatűrök igény szerinti generálása magas CPU- és memóriahasználatot okozhat. Erőforrás-korlátozott szerverek és NAS-eszközök esetében nem ajánlott.","Once a week":"Hetente egyszer","One album found":"Egy albumot találtunk","One file found":"Egy fájl található","One file uploaded":"Egy feltöltött fájl","One folder found":"Egy mappa található","One label found":"Egy címkét találtunk","One person found":"Egy személyt találtak","One picture found":"Egy kép található","Only locally managed accounts can be set up for authentication with 2FA.":"Csak helyileg kezelt fiókok állíthatók be a 2FA-val történő hitelesítéshez.","Open":"Nyissa meg a címet.","optional":"opcionális","or":"vagy","Orange":"Narancssárga","Organization":"Orientáció","Orientation":"Orientáció","Original file names will be stored and indexed.":"Az eredeti fájlneveket a rendszer tárolja és indexeli.","Original Name":"Eredeti Név","Originals":"Eredetiek","Other":"Egyéb","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Küldetésünk, hogy a legfelhasználó- és adatvédelmi szempontból legkedvezőbb megoldást nyújtsuk képeinek rendszerezésére és elérhetőségére.","Outdoor":"Szabadtéri","Page {0}, Current page":"Oldal {0}, Jelenlegi oldal","Pages":"Oldalak","Pagination Navigation":"Oldalszámozás Navigáció","Panorama":"Panoráma","Panoramas":"Panorámák","Password":"Jelszó","Password changed":"A jelszó megváltozott","People":"Személyek","People you share a link with will be able to view public contents.":"Azok, akikkel megoszt egy linket, nyilvános tartalmakat tekinthetnek meg.","Permanently deleted":"Véglegesen törölve","Permanently remove files to free up storage.":"A tárhely felszabadításához távolítsa el véglegesen a fájlokat.","Person":"Személy","Personal":"Személyes","Photo":"Fénykép","PhotoPrism is 100% self-funded and independent.":"A PhotoPrism 100%-ban önfinanszírozó és független.","PhotoPrism+ Membership":"PhotoPrism+ tagság","Photos":"Fényképek","Picture Title":"Kép címe","Pink":"Rózsaszín","Place":"Hely","Place & Time":"Hely és idő","Places":"Helyek","Please confirm your new password.":"Kérjük, erősítse meg új jelszavát.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Kérjük, másolja ki a következő véletlenszerűen generált alkalmazásjelszót, és tartsa biztonságos helyen, mert nem fogja többé látni:","Please do not upload any private, unlawful or offensive pictures.":"Kérjük, ne töltsön fel magánjellegű, jogellenes vagy sértő képeket.","Please don't upload photos containing offensive content.":"Kérjük, ne töltsön fel sértő tartalmat tartalmazó fotókat.","Please enter OTP character {0}":"Kérjük, adja meg az OTP karaktert {0}","Please note that changing your password will log you out on other devices and browsers.":"Felhívjuk figyelmét, hogy a jelszó megváltoztatása más eszközökön és böngészőkben is kijelentkezik.","Please restart your instance for the changes to take effect.":"Kérjük, indítsa újra a példányt, hogy a módosítások hatályba lépjenek.","Please wait…":"Kérjük, várjon…","PM":"PM","PNG Size Limit: %{n}px":"PNG méretkorlát: %{n}px","Portrait":"Portré","Preserve filenames":"Fájlnevek megőrzése","Press enter to create a new album.":"Új album létrehozásához nyomja meg az Enter billentyűt.","Prevent database and album backups as well as YAML sidecar files from being created.":"Megakadályozza az adatbázis- és albummentések, valamint a YAML oldalkocsis fájlok létrehozását.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Megakadályozza, hogy más alkalmazások hozzáférjenek a PhotoPrismhez mint megosztott hálózati meghajtóhoz.","Preview":"Előnézet","Preview Images":"Képek előnézete","Previous":"Előző","Previous page":"Előző oldal","Previous visual":"Előző kép","Primary":"Elsődleges","Private":"Privát","Product Feedback":"Termék visszajelzés","Projection":"Kivetítés","Purple":"Lila","Quality Filter":"Minőségi szűrő","Quality Score":"Minőségi mutató","r":"r","Random":"Véletlen","Rating {0} of {1}":"A {0} minősítés {1}","Raw":"Nyers","RAW":"NYERS","Re-index all originals, including already indexed and unchanged files.":"Indexelje újra az összes eredetit, beleértve a már indexelt és változatlan fájlokat is.","Read-Only Mode":"Csak olvasható mód","Recently Added":"Nemrég hozzáadott","Recently Archived":"Nemrégiben archiválva","Recently Edited":"Nemrég szerkesztve","Recognition starts after indexing has been completed.":"A felismerés az indexelés befejezése után kezdődik.","Recognize faces so people can be assigned and found.":"Felismeri az arcokat, így konkrét személyeket is meg lehet találni.","Recognized":"Elismert","Recovery Code":"Helyreállítási kód","Red":"Piros","Refresh":"Frissítés","Regions":"Régiók","Register":"Regisztráció","Reload":"Újratöltés","Reloading…":"Újratöltés…","Remote Sync":"Távoli szinkronizálás","Remove":"Távolítsa el","remove failed: unknown album":"eltávolítás sikertelen: ismeretlen album","Remove from Album":"Eltávolítás az albumból","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Távolítsa el az importált fájlokat a tárhely megtakarításához. A nem támogatott fájltípusok soha nem törlődnek, a jelenlegi helyükön maradnak.","Request failed - are you offline?":"A kérés sikertelen - offline vagy?","Request failed - invalid response":"Sikertelen kérés – érvénytelen válasz","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"A nem fényképes és gyenge minőségű képeket a keresési eredményekben való megjelenésük előtt felül kell vizsgálni.","Resolution":"Felbontás","Restart":"Újraindítás","Restore":"Visszaállítás","Restored":"Visszaállított","Retry Limit":"Újrapróbálkozási korlát","Retype Password":"Gépelje be újra a jelszót","Review":"Felülvizsgálat","Role":"Szerepvállalás","Rows per page:":"Sorok oldalanként:","Satellite":"Műholdas","Save":"Mentés","Scan":"Szkennelt","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Olvassa be a QR-kódot a hitelesítő alkalmazással, vagy használja az alább látható beállítási kulcsot, majd írja be a generált ellenőrző kódot:","Scans":"Szkennel","Scope":"Terjedelem","Search":"Keresés","Search and display photos on a map.":"Fényképek keresése és megjelenítése a térképen.","Season":"Évad","Secret":"Titok","Security and Access":"Biztonság és hozzáférés","Select":"Kiválasztás","Select a source folder to import files…":"Válassza ki a forrásmappát a fájlok importálásához…","Select date":"Válassza ki a dátumot","Select dates":"Válassza ki a dátumokat","Select or create an album":"Album kiválasztása vagy létrehozása","Select the files to upload…":"Válassza ki a feltölteni kívánt fájlokat…","Select the folder to be indexed…":"Válassza ki az indexelendő mappát…","Select Time":"Idő kiválasztása","Selection approved":"Kiválasztás jóváhagyva","Selection archived":"A kijelölés archiválva","Selection restored":"Kiválasztás visszaállítva","Sequential Name":"Sorozati név","Service URL":"Szolgáltatás URL-je","Services":"Szolgáltatások","Session":"Ülés","Session ID":"Munkamenet azonosítója","Sessions":"Ülések","Set as Album Cover":"Album borítóként beállítva","Settings":"Beállítások","Settings saved":"Beállítások elmentve","Setup":"Beállít","Share":"Megosztás","Share %{s}":"%{s} megosztása","Share your pictures with other apps and services.":"Ossza meg képeit más alkalmazásokkal és szolgáltatásokkal.","Show":"Előadás","Show all new faces":"Az összes új arc megjelenítése","Show Captions":"Feliratok megjelenítése","Show hidden":"Rejtett megjelenítése","Show less":"Mutass kevesebbet","Show more":"Mutass többet","Show server logs in Library.":"Szervernaplók megjelenítése a Könyvtárban.","Show Titles":"Címek megjelenítése","Sidecar":"Oldalkocsi","Sidecar Files":"Oldalkocsis fájlok","Sign in":"Bejelentkezés","Similar":"Hasonló","Size":"Méret","Slideshow":"Diavetítés","Slow":"Lassú","Software":"Szoftver","Software Update":"Szoftverfrissítés","Something went wrong, try again":"Valami rosszul ment, próbálja újra","Sort by":"Rendezés","Sort Order":"Sorrend","Sorted ascending.":"Növekvő sorrendben.","Sorted descending.":"Csökkenő sorrendben.","Source":"Forrás","Stack":"Csoportosítás","Stack files sharing the same unique image or instance identifier.":"Fájlok csoportosítása, amelyek ugyanazt az egyedi képet vagy példányazonosítót tartalmazzák.","Stack pictures taken at the exact same time and location based on their metadata.":"A metaadataik alapján csoportosítsa a pontosan ugyanabban az időben és helyen készült képeket.","Stackable":"Egymásra rakható","Stacks":"Stackek","Start":"Rajt","Start Page":"Kezdőlap","Static Size Limit: %{n}px":"Statikus méretkorlát: %{n}px","Status":"Állapot","Storage":"Tárhely","Streets":"Utcák","Subject":"Tárgy","Submit":"Küldje be a","Successfully activated":"Sikeres aktiválás","Successfully Connected":"Sikeresen csatlakoztatva","Successfully deleted":"Sikeresen törölve","Successfully verified":"Sikeresen ellenőrizve","Super Admin":"Super Admin","Support for additional services, like Google Drive, will be added over time.":"A további szolgáltatások, például a Google Drive támogatása jelenleg fejlesztés alatt áll.","Support Our Mission":"Támogassa küldetésünket","Sync":"Szinkronizálás","Sync raw and video files":"Nyers és videofájlok szinkronizálása","Taken":"Felvett","Teal":"A zöldeskék","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"A TensorFlow-ra a képosztályozáshoz, az arcfelismeréshez és a nem biztonságos tartalom felismeréséhez van szükség.","Terrain":"Terep","Text":"Szöveg","Text too long":"A szöveg túl hosszú","Thank You for Your Support!":"Köszönjük a támogatást!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Ezért a PhotoPrismet az alapoktól kezdve úgy építették fel, hogy bárhol fusson, ahol csak szüksége van rá, anélkül, hogy a szabadság, a magánélet vagy a funkcionalitás sérülne.","The index currently contains %{n} hidden files.":"Az index jelenleg %{n} rejtett fájlt tartalmaz.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Előfordulhat, hogy a formátumuk nem támogatott, még nem konvertálták JPEG formátumba, vagy ismétlődők vannak.","Theme":"Téma","This field is required":"Ez a mező kötelező","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Ez hálózati meghajtóként csatlakoztatja az eredeti mappát, és lehetővé teszi a fájlok megnyitását, szerkesztését és törlését számítógépéről vagy okostelefonjáról, mintha azok helyi lennének.","Time UTC":"Idő UTC","Time Zone":"Időzóna","Timeout":"Időtúllépés","Title":{"Account":"Cím","Photo":"Cím","":"Cím"},"Title / Position":"Cím / Pozíció","Title too long":"A cím túl hosszú","to":"nak nek","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Annak elkerülése érdekében, hogy ne zárjon ki fiókjából, kérjük, töltse le, nyomtassa ki vagy másolja ki ezt a helyreállítási kódot most, és tartsa biztonságos helyen.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Új alkalmazásspecifikus jelszó generálásához adja meg az alkalmazás nevét és engedélyezési hatókörét, és válasszon egy lejárati dátumot:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Ha új hitelesítő alkalmazásra vagy eszközre szeretne váltani, először deaktiválja a kéttényezős hitelesítést, majd aktiválja újra:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"A frissítéshez vagy megadhat egy aktiváló kódot, vagy a \"Regisztráció\" gombra kattintva regisztrálhat a weboldalunkon:","Today":"Ma","Toggle View":"Nézet váltása","Token":"Jelképes","Too many files selected":"Túl sok fájl van kiválasztva","Too many requests":"Túl sok kérés","Troubleshooting":"Hibaelhárítás","Try again using other filters or keywords.":"Próbálja újra más szűrők vagy kulcsszavak használatával.","Two-factor authentication has been enabled for your account.":"A kétlépcsős hitelesítés engedélyezve van fiókjában.","Type":"Típus","Unable to delete":"Törlés nem lehetséges","Unauthorized":"Jogosulatlan","Undo":"Visszavonás","Unique ID":"Egyéni azonosító","Unknown":"Ismeretlen","Unregistered":"Nem regisztrált","Unsorted":"Rendezés nélkül","Unstack":"Bontsa ki","Updated":"Frissítve","Updating faces":"Arcok frissítése","Updating index":"Index frissítése","Updating moments":"Frissítő pillanatok","Updating picture…":"Kép frissítése…","Updating previews":"Előnézetek frissítése","Updating stacks":"Csoportosítások frissítése","Upgrade":"Frissítés","Upgrade Now":"Frissítés most","Upload":"Feltöltés","Upload complete":"Feltöltés kész","Upload complete. Indexing…":"Feltöltés kész. Indexelés…","Upload failed":"Feltöltés sikertelen","Upload local files":"Helyi fájlok feltöltése","Upload Path":"Feltöltési útvonal","Upload to WebDAV and share links with friends.":"Töltse fel a WebDAV-ba, és ossza meg hivatkozásait barátaival.","Uploading %{n} of %{t}…":"%{n}/%{t} feltöltése…","Uploading photos…":"Fényképek feltöltése…","Uploading…":"Feltöltés…","Uploads that may contain such images will be rejected automatically.":"Az esetlegesen ilyen képeket tartalmazó feltöltések automatikusan elutasításra kerülnek.","Use Presets":"Előbeállítások használata","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Ha nem tud érvényes ellenőrző kódot generálni a hitelesítő alkalmazással, használja a következő helyreállítási kódot a fiók eléréséhez:","Use your recovery code or contact an administrator for help.":"Használja a helyreállítási kódot, vagy forduljon a rendszergazdához segítségért.","User":"Felhasználó","User Guide":"Felhasználói útmutató","User Interface":"Felhasználói felület","Username":"Felhasználónév","Users":"Felhasználók","Vector":"Vektor","Vectors":"Vektorok","Verification Code":"Ellenőrző kód","Video":"Videó","Video Duration":"Időtartam","Videos":"Videók","View":"Kilátás","View search results as a list.":"A keresési eredmények listaként történő megtekintése.","Viewer":"Viewer","Visitor":"Látogató","Visual Similarity":"Csoportosítás hasonlóság szerint","Warning":"Figyelmeztetés","We appreciate your feedback!":"Nagyra értékeljük visszajelzéseit!","We do our best to respond within five business days or less.":"Igyekszünk öt munkanapon belül vagy annál rövidebb időn belül válaszolni.","Web Login":"Webes bejelentkezés","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"A WebDAV-kliensek a következő URL-címen csatlakozhatnak a PhotoPrism-hez:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"A WebDAV-kliensek, mint például a Microsoft Windows Intézője vagy az Apple Finder, közvetlenül csatlakozhatnak a PhotoPrism-hez.","WebDAV Upload":"WebDAV feltöltés","WebGL support is disabled in your browser":"A WebGL-támogatás le van tiltva a böngésződben","Website":"Weboldal","White":"Fehér","Work Details":"Részletek","Year":"Év","Yellow":"Sárga","Yes":"Igen","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"A tagsággal kapcsolatos kérdésekkel kapcsolatban szívesen állunk rendelkezésére a membership@photoprism.app e-mail címen.","You can only download one album":"Csak egy albumot tölthet le","You can only download one label":"Csak egy címkét tölthet le","You can search for a location or move the marker on the map to change the position:":"Kereshet egy helyszínt, vagy a térképen mozgathatja a jelölőt a pozíció megváltoztatásához:","You can upload up to %{n} files for test purposes.":"Legfeljebb %{n} fájlt tölthet fel tesztelés céljából.","You may only select one item":"Csak egy elemet választhat ki","You may rescan your library to find additional faces.":"Újra beolvashatja könyvtárát, hogy további arcokat találjon.","Your account has been successfully connected.":"A fiókját sikeresen csatlakoztattuk.","Your browser does not support WebGL":"A böngésző nem támogatja a WebGL-t","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Folyamatos támogatása segít nekünk olyan szolgáltatásokat nyújtani, mint a műholdas térképek és új funkciók fejlesztése.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Könyvtárát folyamatosan elemzi a rendszer, hogy automatikusan létrehozza a különleges pillanatokat, utazásokat és helyeket tartalmazó albumokat.","Zoom in/out":"Nagyítás/kicsinyítés"}} \ No newline at end of file diff --git a/frontend/src/locales/json/id.json b/frontend/src/locales/json/id.json index 75b999e2d..776ec11ef 100644 --- a/frontend/src/locales/json/id.json +++ b/frontend/src/locales/json/id.json @@ -1 +1 @@ -{"id":{"{0} appended action":"{0} tindakan yang ditambahkan","{0} files":"{0} file","{0} files ({1} in total)":"{0} file (total {1})","{0} more":"{0} lebih","{0} prepended action":"{0} tindakan yang sudah disiapkan","{0} selected":"{0} dipilih","{0}-{1} of {2}":"{0}-{1} dari {2}","%{n} albums found":"%{n} album ditemukan","%{n} files uploaded":"%{n} berkas yang diunggah","%{n} folders found":"%{n} folder ditemukan","%{n} GB of %{q} GB used":"%{n} GB dari %{q} GB yang digunakan","%{n} labels found":"%{n} label yang ditemukan","%{n} people found":"%{n} orang yang ditemukan","%{n} pictures found":"%{n} gambar yang ditemukan","%{s} is too long":"%{s} terlalu panjang","%{s} is too short":"%{s} terlalu pendek","1 hour":"1 jam","12 hours":"12 jam","2-Factor Authentication":"Autentikasi 2 Faktor","2FA":"2FA","4 hours":"4 jam","A click will copy it to your clipboard.":"Satu klik akan menyalinnya ke clipboard Anda.","A new version of %{s} is available:":"Versi baru dari %{s} telah tersedia:","About":"Tentang","Access Token":"Token Akses","Account":"Akun","Account created":"Akun dibuat","Account deleted":"Akun dihapus","Account restored":"Akun dipulihkan","Accounts":"Akun","Accuracy":"Akurasi","Action":"Tindakan","Actions":"Tindakan","Activate":"Aktifkan","Activate to remove sorting.":"Aktifkan untuk menghapus penyortiran.","Activate to sort ascending.":"Aktifkan untuk mengurutkan menaik.","Activate to sort descending.":"Aktifkan untuk mengurutkan menurun.","Activation Code":"Kode Aktivasi","Add":"Menambahkan","Add %{s}?":"Tambahkan %{s}?","Add Account":"Mengedit Akun","Add Album":"Tambah album","Add files to your library via Web Upload.":"Tambah berkas ke pustaka melalui unggahan web.","Add Link":"Tambah tautan","Add person?":"Tambah orang?","Add pictures from search results by selecting them.":"Tambahkan gambar dari hasil pencarian dengan memilihnya.","Add to album":"Tambahkan ke album","Added":"Sudah ditambahkan","Admin":"Admin","Advanced":"Lanjutan","After 1 day":"Setelah 1 hari","After 3 days":"Setelah 3 hari","After 7 days":"Setelah 7 hari","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Setelah memasukkan kata sandi untuk konfirmasi, Anda dapat mengatur autentikasi dua faktor dengan aplikasi atau perangkat pengautentikasi yang kompatibel:","After one month":"Setelah 1 bulan","After one year":"Setelah 1 tahun","After selecting pictures from search results, you can add them to an album using the context menu.":"Setelah memilah gambar dari hasil pencarian, Anda dapat menambahkannya ke album menggunakan menu kontek.","After two months":"Setelah 2 bulan","After two weeks":"Setelah 2 minggu","Album":"Album","Album Backups":"Cadangan Album","Album created":"Album dibuat","Albums":"Koleksi Album","Albums deleted":"Koleksi album dihapus","All":"Semua","All %{n} albums loaded":"%{n} album telah dimuat","All %{n} labels loaded":"%{n} label telah dimuat","All %{n} people loaded":"%{n} orang telah dimuat","All Cameras":"Semua Kamera","All Categories":"Semua Kategori","All Colors":"Semua Warna","All Countries":"Semua Negara","All fields are required":"Semua kolom wajib diisi","All files from import folder":"Semua berkas dari folder impor","All Lenses":"Semua Lensa","All Months":"Dalam semua bulan","All originals":"Semua yang asli","All Years":"Dalam semua tahun","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Sebagai kemungkinan lain, Anda dapat mengunggah berkas langsung ke WebDAV server seperti Nextcloud.","Altitude":"Ketinggian","Altitude (m)":"Ketinggian (m)","AM":"AM","Animated":"Animasi","Animation":"Animasi","Any private photos and videos remain private and won't be shared.":"Semua foto dan video pribadi tetap pribadi dan tidak akan dibagikan.","API Key":"Kunci API","Application":"Aplikasi","Apply":"Terapkan","Approve":"Setujui","Apps and Devices":"Aplikasi dan Perangkat","Archive":"Arsip","Archived":"Diarsipkan","Are you sure you want to archive the selection?":"Apakah Anda yakin untuk mengarsipkan pilihan ini?","Are you sure you want to delete these albums?":"Apakah Anda yakin untuk menghapus album - album ini?","Are you sure you want to delete these labels?":"Apakah Anda yakin untuk menghapus label - label ini?","Are you sure you want to delete this account?":"Apakah Anda yakin untuk menghapus akun ini?","Are you sure you want to permanently delete these pictures?":"Apakah Anda yakin ingin mengapus gambar ini secara permanen?","Are you sure you want to permanently delete this file?":"Apakah Anda yakin untuk menghapus berkas ini secara permanen?","Are you sure?":"Apakah Anda yakin?","Artist":"Artis","Aspect Ratio":"Rasio Aspek","Audio":"Audio","Authentication":"Otentikasi","Auto":"Otomatis","Back":"Kembali","Back to top":"Kembali ke atas","Backup":"Cadangan","Badge":"Lencana","Base Path":"Jalur Dasar","Become a member today, support our mission and enjoy our member benefits!":"Jadilah anggota hari ini, dukung misi kami dan nikmati manfaat anggota kami!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Karena 100% didanai sendiri dan independen, kami bisa menjanjikan kepada Anda bahwa kami tidak akan pernah menjual data Anda dan kami akan selalu transparan tentang perangkat lunak dan layanan kami.","Bio":"Bio","Birth Date":"Tanggal Lahir","Black":"Hitam","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Modifikasi Lanczos, Artefak Berdering Lebih Sedikit","Blue":"Biru","Brown":"Coklat","Browse":"Jelajahi","Browse and edit image classification labels.":"Jelajahi dan edit label klasifikasi gambar.","Browse and share your pictures organized into monthly albums.":"Jelajahi dan bagikan foto-foto Anda yang diatur ke dalam album bulanan.","Browse Files":"Jelajahi File","Browse indexed files and folders in Library.":"Jelajahi file dan folder yang diindeks di Perpustakaan.","Bug Report":"Laporan Bug","Busy, please wait…":"Sibuk, harap tunggu…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Dengan menggunakan perangkat lunak dan layanan yang kami sediakan, Anda menyetujui ketentuan layanan, kebijakan privasi, dan kode etik kami.","Calendar":"Kalender","Camera":"Kamera","Camera Serial":"Serial Kamera","Can't access your authenticator app or device?":"Tidak dapat mengakses aplikasi atau perangkat autentikator Anda?","Can't load more, limit reached":"Tidak dapat memuat lebih banyak, batas tercapai","Can't select more items":"Tidak dapat memilih item lainnya","Cancel":"Batal","Caption":"Keterangan","Cards":"Kartu","Carousel slide {0} of {1}":"Geser korsel {0} dari {1}","Category":"Kategori","Change Avatar":"Ubah bendera pribadi","Change Password":"Kata sandi baru","Change personal profile and security settings.":"Mengubah profil pribadi dan pengaturan keamanan.","Change photo titles, locations, and other metadata.":"Ubah judul foto, lokasi, dan metadata lainnya.","Change private flag":"Ubah bendera pribadi","Changes could not be saved":"Perubahan tidak dapat disimpan","Changes successfully saved":"Perubahan berhasil disimpan","Changes to the advanced settings require a restart to take effect.":"Perubahan pada pengaturan lanjutan memerlukan pengaktifan ulang untuk menerapkannya.","Checked":"Diperiksa","Chroma":"Kroma","Cleaning index and cache":"Membersihkan indeks dan cache","Cleanup":"Pembersihan","Clear {0}":"Hapus {0}","Client":"Klien","Client Credentials":"Kredensial Klien","Close":"Tutup","Codec":"Codec","Color":"Warna","Color Profile":"Profil Warna","Colors":"Warna","Compare Editions":"Bandingkan Edisi","Complete Rescan":"Selesaikan Pemindaian Ulang","Confidence":"Keyakinan","Confirm":"Mengonfirmasi","Connect":"Hubungkan","Connect via WebDAV":"Terhubung melalui WebDAV","Connected":"Hubungkan","Contact Details":"Hubungi Kami","Contact Us":"Hubungi Kami","Contains %{n} pictures.":"Berisi %{n} gambar.","Contains one picture.":"Berisi satu gambar.","Content":"Konten","Continue":"Melanjutkan","Continue with %{provider}":"Lanjutkan dengan %{penyedia}","Contributor":"Kontributor","Converting":"Mengubah","Copied to clipboard":"Disalin ke papan klip","Copy":"Menyalin","Copyright":"Hak Cipta","Couldn't find anything.":"Tidak dapat menemukan apa pun.","Country":"Negara","Create Account":"Buat Akun","Create album":"Buat album","Create regular backups based on the configured schedule.":"Membuat cadangan indeks berdasarkan jadwal yang dikonfigurasi.","Create YAML files to back up album metadata.":"Buat file YAML untuk mencadangkan metadata album.","Create YAML sidecar files to back up picture metadata.":"Buat file sespan YAML untuk mencadangkan metadata gambar.","Created":"Dibuat","Creating thumbnails for":"Membuat thumbnail untuk","Cubic: Moderate Quality, Good Performance":"Kubik: Kualitas Sedang, Performa Bagus","Current Password":"Kata Sandi Saat Ini","Custom":"Kustom","Cyan":"Cyan","Daily":"Harian","Database Backups":"Pencadangan Basis Data","Day":"Hari","Deactivate":"Menonaktifkan","Debug Logs":"Log Debug","Default":"Bawaan","Default Folder":"Folder Default","Delete":"Hapus","Delete All":"Hapus Semua","Delete all?":"Hapus semua?","Delete orphaned index entries, sidecar files and thumbnails.":"Menghapus entri indeks, file sidebar, dan gambar mini.","Description":"Deskripsi","Detailed instructions can be found in our User Guide.":"Petunjuk rinci dapat ditemukan di Panduan Pengguna kami.","Details":"Detail","Dimensions":"Dimensi","Disable Backups":"Nonaktifkan Cadangan","Disable Darktable":"Nonaktifkan Darktable","Disable ExifTool":"Nonaktifkan ExifTool","Disable features that require write permission for the originals folder.":"Nonaktifkan fitur yang memerlukan izin tulis untuk folder asli.","Disable FFmpeg":"Nonaktifkan FFmpeg","Disable ImageMagick":"Nonaktifkan ImageMagick","Disable interactive world maps and reverse geocoding.":"Menonaktifkan peta dunia interaktif dan membalikkan geocoding.","Disable Places":"Nonaktifkan Tempat","Disable RawTherapee":"Nonaktifkan RawTherapee","Disable TensorFlow":"Nonaktifkan TensorFlow","Disable Vectors":"Nonaktifkan Vektor","Disable WebDAV":"Nonaktifkan WebDAV","Disables vector graphics support.":"Menonaktifkan dukungan grafis vektor.","Disables video transcoding and thumbnail extraction.":"Menonaktifkan transkode video dan ekstraksi gambar mini.","Discover":"Temukan","Dismiss":"Bubarkan.","Display Name":"Nama Tampilan","Display picture captions in search results.":"Menampilkan keterangan gambar dalam hasil pencarian.","Display picture titles in search results.":"Menampilkan judul gambar dalam hasil pencarian.","Document":"Dokumen","Documents":"Dokumen","Don't use Darktable to convert RAW images.":"Jangan gunakan Darktable untuk mengonversi file RAW.","Don't use ImageMagick to convert images.":"Jangan gunakan ImageMagick untuk mengonversi gambar.","Don't use RawTherapee to convert RAW images.":"Jangan gunakan RawTherapee untuk mengonversi file RAW.","Done":"Selesai","Done.":"Selesai.","Download":"Unduh","Download only original media files, without any automatically generated files.":"Unduh hanya file media asli, tanpa file yang dibuat secara otomatis.","Download remote files":"Unduh file jarak jauh","Download single files and zip archives.":"Unduh file tunggal dan arsip zip.","Downloading…":"Mengunduh…","Downscaling Filter":"Filter Penurunan Skala","Drag and drop files here":"Seret dan jatuhkan file di sini","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"Karena tingginya volume email yang kami terima, tim kami mungkin tidak dapat segera menghubungi Anda.","Duplicates will be skipped and only appear once.":"Duplikat akan dilewati dan hanya muncul sekali.","Duration":"Durasi","Dynamic Previews":"Pratinjau Dinamis","Dynamic Size Limit: %{n}px":"Batas Ukuran Dinamis: %{n}px","E-Mail":"Email","Edit":"Sunting","Edit %{s}":"Sunting %{s}","Edit Account":"Mengedit Akun","Edit Photo":"Mengedit Foto","Edited":"Diedit","Email":"Email","Enable debug mode to display additional logs and help with troubleshooting.":"Aktifkan mode debug untuk menampilkan log tambahan dan membantu pemecahan masalah.","Enable new features that may be incomplete or unstable.":"Mengaktifkan fitur baru yang mungkin tidak lengkap atau tidak stabil.","Enables RAW converter presets. May reduce performance.":"Aktifkan preset untuk RAW konverter. Memungkinkan adanya penurunan performa.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Mengaktifkan autentikasi dua faktor berarti Anda memerlukan kode verifikasi yang dibuat secara acak untuk masuk, jadi meskipun seseorang mendapatkan akses ke kata sandi Anda, mereka tidak akan dapat mengakses akun Anda.","Enter date":"Masukkan tanggal","Enter dates":"Masukkan tanggal","Enter the code generated by your authenticator app:":"Masukkan kode yang dihasilkan oleh aplikasi autentikator Anda:","Enter verification code":"Masukkan kode verifikasi","Enter your password to confirm the action and continue:":"Masukkan kata sandi Anda untuk mengonfirmasi tindakan dan melanjutkan:","Error":"Kesalahan","Errors":"Kesalahan","Estimate":"Memperkirakan","Estimate Locations":"Perkirakan Lokasi","Estimate the approximate location of pictures without GPS coordinates.":"Memperkirakan perkiraan lokasi gambar tanpa koordinat GPS.","Every two days":"Setiap dua hari","Exclude content marked as private from search results, shared albums, labels, and places.":"Pengecualian untuk konten yang ditAndai sebagai privasi dari hasil pencarian, album yang dibagikan, label, dan tempat.","Exclude hidden":"Pengecualian untuk yang tersembunyi","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"Ekstraksi metadata dengan ExifTool diperlukan untuk dukungan penuh Video, Live Photo, dan XMP.","Experimental Features":"Fitur Eksperimental","Expires":"Kedaluwarsa","Exposure":"Eksposur","Extract still images and generate thumbnails while indexing.":"Mengekstrak gambar diam dan menghasilkan gambar mini sewaktu mengindeks.","F Number":"Nilai F","Face":"Wajah","Faces":"Wajah","Failed removing link":"Gagal menghapus tautan","Failed to connect account.":"Gagal menghubungkan akun.","Failed updating link":"Gagal memperbarui tautan","Family Name":"Nama Keluarga","Fast":"Cepat","Favorite":"Favorit","Favorites":"Favorit","Feature Request":"Permintaan Fitur","Feedback":"Umpan Balik","Female":"Perempuan","File":"Berkas","File Browser":"Peramban Berkas","File Conversion":"Konversi File","File Name":"Nama Berkas","File Size":"Berkas","Filename":"Nama Berkas","Files":"Berkas","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"File dengan nama berurutan seperti 'IMG_1234 (2)' dan 'IMG_1234 (3)' milik gambar yang sama.","First page":"Halaman pertama","Focal Length":"Panjang Fokus","Folder":"Folder","Folder contains %{n} files":"Folder berisi %{n} berkas","Folder is empty":"Folder kosong","Folders":"Folder","Forgot password?":"Lupa kata sandi?","FPS":"FPS","Frames":"Bingkai","Full Access":"Akses penuh","Fullscreen":"Layar Penuh","General":"Umum","Generate":"Menghasilkan","Generate albums of special moments, journeys, and places.":"Secara otomatis membuat album momen spesial, perjalanan, dan tempat.","Generate Previews":"Menghasilkan Pratinjau","Generated":"Dihasilkan","Get Started":"Memulai","Given Name":"Nama Asli","Global Options":"Opsi Global","Go to page {0}":"Pergi ke halaman {0}","Gold":"Emas","Green":"Hijau","Grey":"Abu-abu","Guest":"Tamu","Hash":"Hash","Help":"Bantuan","Help & Support":"Bantuan & Dukungan","Hidden":"Tersembunyi","Hidden Files":"Berkas tersembunyi","Hide":"Sembunyikan","Hide photos that have been moved to archive.":"Sembunyikan foto yang telah dipindahkan ke arsip.","High":"Tinggi","High Dynamic Range (HDR)":"Rentang Dinamis Tinggi (HDR)","How can we help?":"Bagaimana kami bisa membantu?","Hybrid":"Hybrid","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Jika Anda kehilangan akses ke aplikasi atau perangkat pengautentikasi, Anda dapat menggunakan kode pemulihan untuk mendapatkan kembali akses ke akun Anda.","Image":"Gambar","Image Quality":"Kualitas Gambar","Import":"Impor","Import failed":"Impor gagal","Imported files will be sorted by date and given a unique name to avoid duplicates.":"File yang diimpor akan diurutkan berdasarkan tanggal dan diberi nama yang unik untuk menghindari duplikat.","Imported files will be sorted by date and given a unique name.":"File yang diimpor akan diurutkan berdasarkan tanggal dan diberi nama yang unik.","Importing %{s}…":"Mengimpor %{s}…","Importing files to originals…":"Mengimpor file ke aslinya…","in":"dalam","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"Jika gambar yang Anda harapkan hilang, silakan pindai ulang perpustakaan Anda dan tunggu.","Include RAW image files when downloading stacks and archives.":"Sertakan file gambar RAW apabila mengunduh tumpukan dan arsip.","Include sidecar files when downloading stacks and archives.":"Sertakan file sespan saat mengunduh tumpukan dan arsip.","Increase storage size or delete files to continue.":"Menambah ukuran penyimpanan atau menghapus file untuk melanjutkan.","Index":"Indeks","Index and import files through the user interface.":"Mengindeks dan mengimpor file melalui antarmuka pengguna.","Indexing":"Pengindeksan","Indexing failed":"Pengindeksan gagal","Indexing media and sidecar files…":"Mengindeks file media dan sidecar…","Information":"Informasi","Instance ID":"ID Instance","Insufficient storage.":"Penyimpanan yang tidak memadai.","Interval":"Selang","Invalid":"Tanggal tidak valid","Invalid address":"Alamat tidak valid","Invalid country":"Negara tidak valid","Invalid date":"Tanggal tidak valid","Invalid parameters":"Tanggal tidak valid","Invalid photo selected":"Foto yang dipilih tidak valid","Invalid time":"Waktu tidak valid","Invalid URL":"URL tidak valid","It is a one-time use code that will disable 2FA for your account when you use it.":"Ini adalah kode sekali pakai yang akan menonaktifkan 2FA untuk akun Anda saat Anda menggunakannya.","Item":"Item","Items per page:":"Item per halaman:","JPEG Quality: %{n}":"Kualitas JPEG: %{n}","JPEG Size Limit: %{n}px":"Batas Ukuran JPEG: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"JPEG dan thumbnail secara otomatis dirender sesuai dengan kebutuhan.","Keywords":"Kata kunci","Label":"Label","Labels":"Label","Labels deleted":"Label dihapus","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: Pelestarian Detail, Artefak Minimal","Language":"Bahasa","Last Active":"Terakhir Aktif","Last Login":"Login Terakhir","Last page":"Halaman terakhir","Last Sync":"Sinkronisasi Terakhir","Last Used":"Terakhir digunakan","Latitude":"Lintang","LDAP/AD":"LDAP/AD","Learn more":"Pelajari lebih lanjut","Learn More":"Pelajari Lebih Lanjut","Legal Information":"Informasi Hukum","Lens":"Lensa","Library":"Perpustakaan","License":"Lisensi","Like":"Suka","Lime":"Lime","Limit reached, showing first %{n} files":"Batas tercapai, menampilkan %{n} file pertama","Linear: Very Smooth, Best Performance":"Linear: Sangat Halus, Performa Terbaik","Link":"Tautan","List":"Daftar","List View":"Tampilan Daftar","Live":"Langsung","Live Photos":"Foto","Load more":"Memuat lebih banyak","Loading items...":"Memuat item...","Loading...":"Memuat...","Local":"Lokal","Local Time":"Waktu Setempat","Location":"Lokasi","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Pesan log muncul di sini setiap kali PhotoPrism menemukan file yang rusak, atau ada masalah potensial lainnya.","Login":"Masuk","Logout":"Keluar","Logs":"Log","Longitude":"Bujur","Low":"Rendah","Magenta":"Magenta","Main Color":"Warna Utama","Male":"Laki-laki","Manage Account":"Kelola Akun","Manual":"Manual","Manual Upload":"Unggah manual","Maps":"Peta","Marker":"PenAnda","Maximum number of accounts has been reached.":"Jumlah maksimum akun telah tercapai.","Media":"Media","Medium":"Sedang","Membership":"Keanggotaan","Merge %{a} with %{b}?":"Gabungkan %{a} dengan %{b}?","Message":"Pesan","Message sent":"Pesan terkirim","Metadata":"Metadata","Metrics":"Metrik","Minimize":"Perkecil","Missing":"Hilang","Missing or invalid configuration":"Konfigurasi yang hilang atau tidak valid","Moments":"Momen","Monochrome":"Monokrom","Month":"Setelah 1 bulanBulan","More options":"Opsi lainnya","Mosaic":"Mosaik","Most Relevant":"Paling relevan","Move Files":"Pindahkan File","Must have at least %{n} characters.":"Harus memiliki setidaknya %{n} karakter.","Mute":"Bisu","Name":"Nama","Name too long":"Nama terlalu panjang","Never":"Tidak Pernah","New":"Baru","New Password":"Kata sandi baru","Newest First":"Terbaru terlebih dahulu","Next":"Berikutnya","Next page":"Halaman berikutnya","Next visual":"Visual berikutnya","No":"Tidak","No albums found":"Tidak ada album yang ditemukan","No data available":"Tidak ada data yang tersedia","No labels found":"Tidak ada label yang ditemukan","No matching records found":"Tidak ditemukan catatan yang cocok","No more":"Tidak ada lagi.","No people found":"Tidak ada orang yang ditemukan","No pictures found":"Tidak ada gambar yang ditemukan","No recently edited pictures":"Tidak ada gambar yang baru saja diedit","No server connection":"Tidak ada koneksi server","No servers configured.":"Tidak ada server yang dikonfigurasi.","No services configured.":"Tidak ada server yang dikonfigurasi.","No thanks":"Tidak, terima kasih","No warnings or error containing this keyword. Note that search is case-sensitive.":"Tidak ada peringatan atau kesalahan yang mengandung kata kunci ini. Perhatikan bahwa pencarian adalah case-sensitive.","Non-photographic and low-quality images require a review before they appear in search results.":"Gambar non-fotografis dan berkualitas rendah memerlukan peninjauan sebelum muncul di hasil pencarian.","None":"Tidak ada","Not allowed":"Tidak diperbolehkan","Not found":"Tidak ditemukan","Not sorted.":"Tidak diurutkan.","Not supported":"Tidak didukung","Note you may manually manage your originals folder and importing is optional.":"Perhatikan bahwa Anda dapat mengelola folder asli secara manual dan mengimpor adalah opsional.","Note:":"Catatan:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Catatan: Hanya server WebDAV, seperti Nextcloud atau PhotoPrism, yang dapat dikonfigurasi sebagai layanan jarak jauh untuk pencadangan dan pengunggahan file.","Notes":"Catatan","Nothing to see here yet.":"Belum ada yang bisa dilihat di sini. Bersabarlah.","Nothing was found.":"Tidak ada yang ditemukan.","Offline":"Offline","OIDC":"OIDC","OK":"BAIKLAH.","Oldest First":"Paling lama","On Windows, enter the following resource in the connection dialog:":"Pada Windows, masukkan sumber daya berikut ini dalam dialog connection:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"Pembuatan gambar mini berdasarkan permintaan dapat menyebabkan penggunaan CPU dan memori yang tinggi. Tidak disarankan untuk server dan perangkat NAS yang memiliki sumber daya terbatas.","Once a week":"Seminggu sekali","One album found":"Satu album ditemukan","One file found":"Satu file ditemukan","One file uploaded":"Satu file yang diunggah","One folder found":"Satu folder ditemukan","One label found":"Satu label ditemukan","One person found":"Satu orang ditemukan","One picture found":"Satu gambar ditemukan","Only locally managed accounts can be set up for authentication with 2FA.":"Hanya akun yang dikelola secara lokal yang dapat diatur untuk autentikasi dengan 2FA.","Open":"Buka","optional":"opsional","or":"atau","Orange":"Oranye","Organization":"Orientasi","Orientation":"Orientasi","Original file names will be stored and indexed.":"Nama file asli akan disimpan dan diindeks.","Original Name":"Nama Asli","Originals":"Asli","Other":"Lainnya","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Misi kami adalah menyediakan solusi yang paling ramah pengguna dan privasi untuk menjaga gambar Anda tetap teratur dan mudah diakses.","Outdoor":"Luar ruangan","Page {0}, Current page":"Halaman {0}, Halaman saat ini","Pages":"Halaman","Pagination Navigation":"Navigasi Pagination (Penomoran Halaman)","Panorama":"Panorama","Panoramas":"Panorama","Password":"Kata sandi","Password changed":"Kata sandi diubah","People":"Orang","People you share a link with will be able to view public contents.":"Orang lain yang Anda bagikan tautan ini dapat melihat konten secara publik.","Permanently deleted":"Dihapus permanen","Permanently remove files to free up storage.":"Hapus file secara permanen untuk mengosongkan penyimpanan.","Person":"Orang","Personal":"Pribadi","Photo":"Foto","PhotoPrism is 100% self-funded and independent.":"PhotoPrism 100% didanai sendiri dan independen.","PhotoPrism+ Membership":"Keanggotaan PhotoPrism+","Photos":"Foto","Picture Title":"Judul Gambar","Pink":"Merah Muda","Place":"Tempat","Place & Time":"Tempat & Waktu","Places":"Tempat","Please confirm your new password.":"Harap konfirmasi kata sandi baru Anda.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Silakan salin kata sandi aplikasi yang dibuat secara acak berikut dan simpan di tempat yang aman, karena Anda tidak akan dapat melihatnya lagi:","Please do not upload any private, unlawful or offensive pictures.":"Mohon untuk tidak mengunggah gambar yang bersifat pribadi, melanggar hukum, atau menyinggung.","Please don't upload photos containing offensive content.":"Jangan mengunggah foto yang mengandung konten SARA.","Please enter OTP character {0}":"Masukkan karakter OTP {0}","Please note that changing your password will log you out on other devices and browsers.":"Harap diperhatikan bahwa mengubah kata sandi Anda akan membuat Anda log out pada perangkat dan browser lain.","Please restart your instance for the changes to take effect.":"Mulai ulang instance Anda agar perubahan diterapkan.","Please wait…":"Mohon tunggu…","PM":"PM","PNG Size Limit: %{n}px":"Batas Ukuran PNG: %{n}px","Portrait":"Potret","Preserve filenames":"Pertahankan nama file","Press enter to create a new album.":"Tekan enter untuk membuat album baru.","Prevent database and album backups as well as YAML sidecar files from being created.":"Mencegah pencadangan basis data dan album serta file sespan YAML agar tidak dibuat.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Mencegah aplikasi lain mengakses PhotoPrism sebagai drive jaringan bersama.","Preview":"Pratinjau","Preview Images":"Pratinjau Gambar","Previous":"Sebelumnya","Previous page":"Halaman sebelumnya","Previous visual":"Visual sebelumnya","Primary":"Utama","Private":"Pribadi","Product Feedback":"Umpan Balik Produk","Projection":"Proyeksi","Purple":"Ungu","Quality Filter":"Filter Kualitas","Quality Score":"Angka Mutu","r":"r","Random":"Acak","Rating {0} of {1}":"Peringkat {0} dari {1}","Raw":"Raw","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Indeks ulang semua dokumen asli, termasuk file yang sudah diindeks dan tidak diubah.","Read-Only Mode":"Mode Baca","Recently Added":"Baru saja ditambahkan","Recently Archived":"Baru-baru ini Diarsipkan","Recently Edited":"Baru diedit","Recognition starts after indexing has been completed.":"Pengenalan dimulai setelah pengindeksan selesai.","Recognize faces so people can be assigned and found.":"Mengenali wajah sehingga orang tertentu dapat ditemukan.","Recognized":"Pengenalan","Recovery Code":"Kode Pemulihan","Red":"Merah","Refresh":"Menyegarkan","Regions":"Wilayah","Register":"Daftar","Reload":"Muat ulang","Reloading…":"Memuat ulang…","Remote Sync":"Sinkronisasi Jarak Jauh","Remove":"Hapus","remove failed: unknown album":"gagal menghapus: album tidak dikenal","Remove from Album":"Hapus dari album","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Hapus file yang diimpor untuk menghemat penyimpanan. Jenis file yang tidak didukung tidak akan pernah dihapus, mereka tetap di lokasi mereka saat ini.","Request failed - are you offline?":"Permintaan gagal - apakah Anda sedang offline?","Request failed - invalid response":"Permintaan gagal - tanggapan tidak valid","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Mewajibkan gambar non-fotografi dan gambar berkualitas rendah untuk ditinjau sebelum muncul di hasil pencarian.","Resolution":"Resolusi","Restart":"Mulai ulang","Restore":"Pulihkan","Restored":"Dipulihkan","Retry Limit":"Batas Percobaan Ulang","Retype Password":"Kata sandiKetik Ulang Kata Sandi","Review":"Ulasan","Role":"Peran","Rows per page:":"Baris per halaman:","Satellite":"Satelit","Save":"Simpan","Scan":"Pindai","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Pindai kode QR dengan aplikasi autentikator Anda atau gunakan kunci pengaturan yang ditunjukkan di bawah, lalu masukkan kode verifikasi yang dihasilkan:","Scans":"Pindai","Scope":"Cakupan","Search":"Cari","Search and display photos on a map.":"Mencari dan menampilkan foto di peta.","Season":"Musim","Secret":"Rahasia","Security and Access":"Keamanan dan Akses","Select":"Pilih","Select a source folder to import files…":"Pilih folder sumber untuk mengimpor file…","Select date":"Pilih tanggal","Select dates":"Pilih tanggal","Select or create an album":"Memilih atau membuat album","Select the files to upload…":"Pilih file yang akan diunggah…","Select the folder to be indexed…":"Pilih folder yang akan diindeks…","Select Time":"Pilih Waktu","Selection approved":"Pilihan disetujui","Selection archived":"Pilihan diarsipkan","Selection restored":"Pilihan dipulihkan","Sequential Name":"Nama Urutan","Service URL":"URL Layanan","Services":"URL Layanan","Session":"Sesi","Session ID":"ID Sesi","Sessions":"Sesi","Set as Album Cover":"Tetapkan sebagai Sampul Album","Settings":"Pengaturan","Settings saved":"Pengaturan disimpan","Setup":"Setelan","Share":"Bagikan","Share %{s}":"Bagikan %{s}","Share your pictures with other apps and services.":"Bagikan gambar Anda dengan aplikasi dan layanan lain.","Show":"Tampilkan","Show all new faces":"Tampilkan semua wajah baru","Show Captions":"Tampilkan Keterangan","Show hidden":"Tampilkan yang tersembunyi","Show less":"Tampilkan lebih sedikit","Show more":"Tampilkan lebih banyak","Show server logs in Library.":"Tampilkan log server di Perpustakaan.","Show Titles":"Tampilkan Judul","Sidecar":"Sespan","Sidecar Files":"File Sespan","Sign in":"Masuk","Similar":"Serupa","Size":"Ukuran","Slideshow":"Tayangan slide","Slow":"Lambat","Software":"Perangkat lunak","Software Update":"Pembaruan Perangkat Lunak","Something went wrong, try again":"Ada yang salah, coba lagi","Sort by":"Urutkan berdasarkan","Sort Order":"Urutkan","Sorted ascending.":"Diurutkan menaik.","Sorted descending.":"Diurutkan menurun.","Source":"Sumber","Stack":"Tumpukan","Stack files sharing the same unique image or instance identifier.":"Tumpuk file untuk berbagi yang gambarnya unik atau pengenal instans yang sama.","Stack pictures taken at the exact same time and location based on their metadata.":"Stack gambar yang diambil pada waktu dan lokasi yang sama persis berdasarkan metadata.","Stackable":"Dapat ditumpuk","Stacks":"Tumpukan","Start":"Mulai","Start Page":"Halaman Awal","Static Size Limit: %{n}px":"Batas Ukuran Statis: %{n}px","Status":"Status","Storage":"Penyimpanan","Streets":"Jalan","Subject":"Subjek","Submit":"Kirim","Successfully activated":"Berhasil diaktifkan","Successfully Connected":"Berhasil Terhubung","Successfully deleted":"Berhasil dihapus","Successfully verified":"Berhasil diverifikasi","Super Admin":"Super Admin","Support for additional services, like Google Drive, will be added over time.":"Dukungan untuk layanan tambahan, seperti Google Drive, akan ditambahkan seiring waktu.","Support Our Mission":"Dukung Misi Kami","Sync":"Sinkronisasi","Sync raw and video files":"Sinkronkan file mentah dan video","Taken":"Diambil","Teal":"Teal","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow diperlukan untuk klasifikasi gambar, pengenalan wajah, dan mendeteksi konten yang tidak aman.","Terrain":"Medan","Text":"Teks","Text too long":"Teks terlalu panjang","Thank You for Your Support!":"Terima kasih atas Dukungan Anda!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Itulah mengapa PhotoPrism dibangun dari nol untuk berjalan di mana pun Anda membutuhkannya, tanpa mengorbankan kebebasan, privasi, atau fungsionalitas.","The index currently contains %{n} hidden files.":"Indeks saat ini berisi %{n} file tersembunyi.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Format mereka mungkin tidak didukung, mereka belum dikonversi ke JPEG atau ada duplikat.","Theme":"Tema","This field is required":"Bidang ini wajib diisi","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Ini memasang folder asli sebagai drive tersambung dan memungkinkan Anda untuk membuka, mengubah, dan menghapus file dari komputer atau ponsel cerdas Anda.","Time UTC":"Waktu UTC","Time Zone":"Zona Waktu","Timeout":"Tenggat waktu","Title":{"Account":"Judul","Photo":"Judul","":"Judul"},"Title / Position":"Judul terlalu panjang","Title too long":"Judul terlalu panjang","to":"ke","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Untuk menghindari akun Anda terkunci, silakan unduh, cetak, atau salin kode pemulihan ini sekarang dan simpan di tempat yang aman.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Untuk membuat kata sandi khusus aplikasi yang baru, masukkan nama dan cakupan otorisasi aplikasi dan pilih tanggal kedaluwarsa:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Untuk beralih ke aplikasi atau perangkat pengautentikasi baru, nonaktifkan autentikasi dua faktor terlebih dahulu, lalu aktifkan kembali:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Untuk meningkatkan, Anda dapat memasukkan kode aktivasi atau klik \"Daftar\" untuk mendaftar di situs web kami:","Today":"Hari ini","Toggle View":"Beralih Tampilan","Token":"Token","Too many files selected":"Terlalu banyak file yang dipilih","Too many requests":"Terlalu banyak permintaan","Troubleshooting":"Pemecahan masalah","Try again using other filters or keywords.":"Coba lagi menggunakan filter atau kata kunci lain.","Two-factor authentication has been enabled for your account.":"Otentikasi dua faktor telah diaktifkan untuk akun Anda.","Type":"Ketik","Unauthorized":"Tidak sah","Undo":"Batalkan","Unique ID":"ID Unik","Unknown":"Tidak diketahui","Unregistered":"Tidak terdaftar","Unsorted":"Tidak disortir","Unstack":"Buang tumpukan","Updated":"Telah diperbarui","Updating faces":"Memperbarui wajah","Updating index":"Memperbarui indeks","Updating moments":"Memperbarui momen","Updating picture…":"Memperbarui pratinjau","Updating previews":"Memperbarui pratinjau","Updating stacks":"Memperbarui tumpukan","Upgrade":"Tingkatkan","Upgrade Now":"Tingkatkan Sekarang","Upload":"Unggah","Upload complete":"Ungahan selesai","Upload complete. Indexing…":"Unggahan selesai. Melakukan pengindeksan…","Upload failed":"Unggahan gagal","Upload local files":"Unggah berkas lokal","Upload Path":"Jalur Unggah","Upload to WebDAV and share links with friends.":"Unggah ke WebDAV dan bagikan tautan kepada teman.","Uploading %{n} of %{t}…":"Mengunggah %{n} dari %{t}…","Uploading photos…":"Mengunggah foto…","Uploading…":"Memuat ulang…","Uploads that may contain such images will be rejected automatically.":"Unggahan yang mungkin berisi gambar seperti itu akan ditolak secara otomatis.","Use Presets":"Gunakan Preset","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Gunakan kode pemulihan berikut untuk mengakses akun Anda ketika Anda tidak dapat membuat kode verifikasi yang valid dengan aplikasi autentikator Anda:","Use your recovery code or contact an administrator for help.":"Gunakan kode pemulihan Anda atau hubungi administrator untuk mendapatkan bantuan.","User":"Pengguna","User Guide":"Panduan Pengguna","User Interface":"Tampilan Pengguna","Username":"Nama pengguna","Users":"Pengguna","Vector":"Vektor","Vectors":"Vektor","Verification Code":"Kode verifikasi","Video":"Video","Video Duration":"Durasi","Videos":"Koleksi Video","View":"Melihat","View search results as a list.":"Melihat hasil pencarian sebagai daftar.","Viewer":"Penampil","Visitor":"Pengunjung","Visual Similarity":"Kelompokkan menurut kesamaan","Warning":"Peringatan","We appreciate your feedback!":"Kami menghargai umpan balik Anda!","We do our best to respond within five business days or less.":"Kami melakukan yang terbaik untuk merespons dalam waktu lima hari kerja atau kurang.","Web Login":"Login Web","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"Klien WebDAV dapat terhubung ke PhotoPrism menggunakan URL berikut:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"Klien WebDAV, seperti Microsoft Windows Explorer atau Apple's Finder, dapat terhubung langsung ke PhotoPrism.","WebDAV Upload":"Unggah WebDAV","WebGL support is disabled in your browser":"Dukungan WebGL dinonaktifkan di browser Anda","Website":"Situs web","White":"Putih","Work Details":"Detail","Year":"Tahun","Yellow":"Kuning","Yes":"Ya","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Anda dapat menghubungi kami di membership@photoprism.app untuk pertanyaan mengenai keanggotaan Anda.","You can only download one album":"Anda hanya dapat mengunduh satu album","You can only download one label":"Anda hanya dapat mengunduh satu label","You can upload up to %{n} files for test purposes.":"Anda dapat mengunggah hingga %{n} file untuk tujuan pengujian.","You may only select one item":"Anda hanya dapat memilih satu item","You may rescan your library to find additional faces.":"Anda dapat memindai ulang perpustakaan Anda untuk menemukan wajah tambahan.","Your account has been successfully connected.":"Akun Anda telah berhasil terhubung.","Your browser does not support WebGL":"Browser Anda tidak mendukung WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Dukungan Anda yang berkelanjutan membantu kami menyediakan layanan seperti peta satelit dan mengembangkan fitur-fitur terbaru.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Perpustakaan Anda akan terus dianalisis secara otomatis dalam membuat album momen spesial, perjalanan, dan tempat.","Zoom in/out":"Memperbesar/memperkecil"}} \ No newline at end of file +{"id":{"{0} appended action":"{0} tindakan yang ditambahkan","{0} files":"{0} file","{0} files ({1} in total)":"{0} file (total {1})","{0} more":"{0} lebih","{0} prepended action":"{0} tindakan yang sudah disiapkan","{0} selected":"{0} dipilih","{0}-{1} of {2}":"{0}-{1} dari {2}","%{n} albums found":"%{n} album ditemukan","%{n} files uploaded":"%{n} berkas yang diunggah","%{n} folders found":"%{n} folder ditemukan","%{n} GB of %{q} GB used":"%{n} GB dari %{q} GB yang digunakan","%{n} labels found":"%{n} label yang ditemukan","%{n} people found":"%{n} orang yang ditemukan","%{n} pictures found":"%{n} gambar yang ditemukan","%{s} is too long":"%{s} terlalu panjang","%{s} is too short":"%{s} terlalu pendek","1 hour":"1 jam","12 hours":"12 jam","2-Factor Authentication":"Autentikasi 2 Faktor","2FA":"2FA","4 hours":"4 jam","A click will copy it to your clipboard.":"Satu klik akan menyalinnya ke clipboard Anda.","A new version of %{s} is available:":"Versi baru dari %{s} telah tersedia:","About":"Tentang","Access Token":"Token Akses","Account":"Akun","Account created":"Akun dibuat","Account deleted":"Akun dihapus","Account restored":"Akun dipulihkan","Accounts":"Akun","Accuracy":"Akurasi","Action":"Tindakan","Actions":"Tindakan","Activate":"Aktifkan","Activate to remove sorting.":"Aktifkan untuk menghapus penyortiran.","Activate to sort ascending.":"Aktifkan untuk mengurutkan menaik.","Activate to sort descending.":"Aktifkan untuk mengurutkan menurun.","Activation Code":"Kode Aktivasi","Add":"Menambahkan","Add %{s}?":"Tambahkan %{s}?","Add Account":"Mengedit Akun","Add Album":"Tambah album","Add files to your library via Web Upload.":"Tambah berkas ke pustaka melalui unggahan web.","Add Link":"Tambah tautan","Add person?":"Tambah orang?","Add pictures from search results by selecting them.":"Tambahkan gambar dari hasil pencarian dengan memilihnya.","Add to album":"Tambahkan ke album","Added":"Sudah ditambahkan","Adjust Location":"Sesuaikan Lokasi","Admin":"Admin","Advanced":"Lanjutan","After 1 day":"Setelah 1 hari","After 3 days":"Setelah 3 hari","After 7 days":"Setelah 7 hari","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Setelah memasukkan kata sandi untuk konfirmasi, Anda dapat mengatur autentikasi dua faktor dengan aplikasi atau perangkat pengautentikasi yang kompatibel:","After one month":"Setelah 1 bulan","After one year":"Setelah 1 tahun","After selecting pictures from search results, you can add them to an album using the context menu.":"Setelah memilah gambar dari hasil pencarian, Anda dapat menambahkannya ke album menggunakan menu kontek.","After two months":"Setelah 2 bulan","After two weeks":"Setelah 2 minggu","Album":"Album","Album Backups":"Cadangan Album","Album created":"Album dibuat","Album deleted":"Album dihapus","Albums":"Koleksi Album","Albums deleted":"Koleksi album dihapus","All":"Semua","All %{n} albums loaded":"%{n} album telah dimuat","All %{n} labels loaded":"%{n} label telah dimuat","All %{n} people loaded":"%{n} orang telah dimuat","All Cameras":"Semua Kamera","All Categories":"Semua Kategori","All Colors":"Semua Warna","All Countries":"Semua Negara","All fields are required":"Semua kolom wajib diisi","All files from import folder":"Semua berkas dari folder impor","All Lenses":"Semua Lensa","All Months":"Dalam semua bulan","All originals":"Semua yang asli","All Years":"Dalam semua tahun","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Sebagai kemungkinan lain, Anda dapat mengunggah berkas langsung ke WebDAV server seperti Nextcloud.","Altitude":"Ketinggian","Altitude (m)":"Ketinggian (m)","AM":"AM","Animated":"Animasi","Animation":"Animasi","Animations":"Animasi","Any private photos and videos remain private and won't be shared.":"Semua foto dan video pribadi tetap pribadi dan tidak akan dibagikan.","API Key":"Kunci API","Application":"Aplikasi","Apply":"Terapkan","Approve":"Setujui","Apps and Devices":"Aplikasi dan Perangkat","Archive":"Arsip","Archived":"Diarsipkan","Are you sure you want to archive the selection?":"Apakah Anda yakin untuk mengarsipkan pilihan ini?","Are you sure you want to delete these albums?":"Apakah Anda yakin untuk menghapus album - album ini?","Are you sure you want to delete these labels?":"Apakah Anda yakin untuk menghapus label - label ini?","Are you sure you want to delete this account?":"Apakah Anda yakin untuk menghapus akun ini?","Are you sure you want to delete this album?":"Apakah Anda yakin ingin menghapus album ini?","Are you sure you want to permanently delete these pictures?":"Apakah Anda yakin ingin mengapus gambar ini secara permanen?","Are you sure you want to permanently delete this file?":"Apakah Anda yakin untuk menghapus berkas ini secara permanen?","Are you sure?":"Apakah Anda yakin?","Artist":"Artis","Aspect Ratio":"Rasio Aspek","Audio":"Audio","Authentication":"Otentikasi","Auto":"Otomatis","Back":"Kembali","Back to top":"Kembali ke atas","Backup":"Cadangan","Badge":"Lencana","Base Path":"Jalur Dasar","Become a member today, support our mission and enjoy our member benefits!":"Jadilah anggota hari ini, dukung misi kami dan nikmati manfaat anggota kami!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Karena 100% didanai sendiri dan independen, kami bisa menjanjikan kepada Anda bahwa kami tidak akan pernah menjual data Anda dan kami akan selalu transparan tentang perangkat lunak dan layanan kami.","Bio":"Bio","Birth Date":"Tanggal Lahir","Black":"Hitam","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Modifikasi Lanczos, Artefak Berdering Lebih Sedikit","Blue":"Biru","Brown":"Coklat","Browse":"Jelajahi","Browse and edit image classification labels.":"Jelajahi dan edit label klasifikasi gambar.","Browse and share your pictures organized into monthly albums.":"Jelajahi dan bagikan foto-foto Anda yang diatur ke dalam album bulanan.","Browse Files":"Jelajahi File","Browse indexed files and folders in Library.":"Jelajahi file dan folder yang diindeks di Perpustakaan.","Bug Report":"Laporan Bug","Busy, please wait…":"Sibuk, harap tunggu…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Dengan menggunakan perangkat lunak dan layanan yang kami sediakan, Anda menyetujui ketentuan layanan, kebijakan privasi, dan kode etik kami.","Calendar":"Kalender","Camera":"Kamera","Camera Serial":"Serial Kamera","Can't access your authenticator app or device?":"Tidak dapat mengakses aplikasi atau perangkat autentikator Anda?","Can't load more, limit reached":"Tidak dapat memuat lebih banyak, batas tercapai","Can't select more items":"Tidak dapat memilih item lainnya","Cancel":"Batal","Cannot copy to clipboard":"Tidak dapat menyalin ke papan klip","Caption":"Keterangan","Cards":"Kartu","Carousel slide {0} of {1}":"Geser korsel {0} dari {1}","Category":"Kategori","Change Avatar":"Ubah bendera pribadi","Change Password":"Kata sandi baru","Change personal profile and security settings.":"Mengubah profil pribadi dan pengaturan keamanan.","Change photo titles, locations, and other metadata.":"Ubah judul foto, lokasi, dan metadata lainnya.","Change private flag":"Ubah bendera pribadi","Changes could not be saved":"Perubahan tidak dapat disimpan","Changes successfully saved":"Perubahan berhasil disimpan","Changes to the advanced settings require a restart to take effect.":"Perubahan pada pengaturan lanjutan memerlukan pengaktifan ulang untuk menerapkannya.","Checked":"Diperiksa","Chroma":"Kroma","Cleaning index and cache":"Membersihkan indeks dan cache","Cleanup":"Pembersihan","Clear {0}":"Hapus {0}","Client":"Klien","Client Credentials":"Kredensial Klien","Close":"Tutup","Codec":"Codec","Color":"Warna","Color Profile":"Profil Warna","Colors":"Warna","Compare Editions":"Bandingkan Edisi","Complete Rescan":"Selesaikan Pemindaian Ulang","Confidence":"Keyakinan","Confirm":"Mengonfirmasi","Connect":"Hubungkan","Connect via WebDAV":"Terhubung melalui WebDAV","Connected":"Hubungkan","Contact Details":"Hubungi Kami","Contact Us":"Hubungi Kami","Contains %{n} pictures.":"Berisi %{n} gambar.","Contains one picture.":"Berisi satu gambar.","Content":"Konten","Continue":"Melanjutkan","Continue with %{provider}":"Lanjutkan dengan %{penyedia}","Contributor":"Kontributor","Converting":"Mengubah","Copied to clipboard":"Disalin ke papan klip","Copy":"Menyalin","Copyright":"Hak Cipta","Couldn't find anything.":"Tidak dapat menemukan apa pun.","Country":"Negara","Create Account":"Buat Akun","Create album":"Buat album","Create regular backups based on the configured schedule.":"Membuat cadangan indeks berdasarkan jadwal yang dikonfigurasi.","Create YAML files to back up album metadata.":"Buat file YAML untuk mencadangkan metadata album.","Create YAML sidecar files to back up picture metadata.":"Buat file sespan YAML untuk mencadangkan metadata gambar.","Created":"Dibuat","Creating thumbnails for":"Membuat thumbnail untuk","Cubic: Moderate Quality, Good Performance":"Kubik: Kualitas Sedang, Performa Bagus","Current Password":"Kata Sandi Saat Ini","Custom":"Kustom","Cyan":"Cyan","Daily":"Harian","Database Backups":"Pencadangan Basis Data","Day":"Hari","Deactivate":"Menonaktifkan","Debug Logs":"Log Debug","Default":"Bawaan","Default Folder":"Folder Default","Delete":"Hapus","Delete Album":"Menghapus Album","Delete All":"Hapus Semua","Delete all?":"Hapus semua?","Delete orphaned index entries, sidecar files and thumbnails.":"Menghapus entri indeks, file sidebar, dan gambar mini.","Description":"Deskripsi","Detailed instructions can be found in our User Guide.":"Petunjuk rinci dapat ditemukan di Panduan Pengguna kami.","Details":"Detail","Dimensions":"Dimensi","Disable Backups":"Nonaktifkan Cadangan","Disable Darktable":"Nonaktifkan Darktable","Disable ExifTool":"Nonaktifkan ExifTool","Disable features that require write permission for the originals folder.":"Nonaktifkan fitur yang memerlukan izin tulis untuk folder asli.","Disable FFmpeg":"Nonaktifkan FFmpeg","Disable ImageMagick":"Nonaktifkan ImageMagick","Disable interactive world maps and reverse geocoding.":"Menonaktifkan peta dunia interaktif dan membalikkan geocoding.","Disable Places":"Nonaktifkan Tempat","Disable RawTherapee":"Nonaktifkan RawTherapee","Disable TensorFlow":"Nonaktifkan TensorFlow","Disable Vectors":"Nonaktifkan Vektor","Disable WebDAV":"Nonaktifkan WebDAV","Disables vector graphics support.":"Menonaktifkan dukungan grafis vektor.","Disables video transcoding and thumbnail extraction.":"Menonaktifkan transkode video dan ekstraksi gambar mini.","Discover":"Temukan","Dismiss":"Bubarkan.","Display Name":"Nama Tampilan","Display picture captions in search results.":"Menampilkan keterangan gambar dalam hasil pencarian.","Display picture titles in search results.":"Menampilkan judul gambar dalam hasil pencarian.","Document":"Dokumen","Documents":"Dokumen","Don't use Darktable to convert RAW images.":"Jangan gunakan Darktable untuk mengonversi file RAW.","Don't use ImageMagick to convert images.":"Jangan gunakan ImageMagick untuk mengonversi gambar.","Don't use RawTherapee to convert RAW images.":"Jangan gunakan RawTherapee untuk mengonversi file RAW.","Done":"Selesai","Done.":"Selesai.","Download":"Unduh","Download only original media files, without any automatically generated files.":"Unduh hanya file media asli, tanpa file yang dibuat secara otomatis.","Download remote files":"Unduh file jarak jauh","Download single files and zip archives.":"Unduh file tunggal dan arsip zip.","Downloading…":"Mengunduh…","Downscaling Filter":"Filter Penurunan Skala","Drag and drop files here":"Seret dan jatuhkan file di sini","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"Karena tingginya volume email yang kami terima, tim kami mungkin tidak dapat segera menghubungi Anda.","Duplicates will be skipped and only appear once.":"Duplikat akan dilewati dan hanya muncul sekali.","Duration":"Durasi","Dynamic Previews":"Pratinjau Dinamis","Dynamic Size Limit: %{n}px":"Batas Ukuran Dinamis: %{n}px","E-Mail":"Email","Edit":"Sunting","Edit %{s}":"Sunting %{s}","Edit Account":"Mengedit Akun","Edit Photo":"Mengedit Foto","Edited":"Diedit","Email":"Email","Enable debug mode to display additional logs and help with troubleshooting.":"Aktifkan mode debug untuk menampilkan log tambahan dan membantu pemecahan masalah.","Enable new features that may be incomplete or unstable.":"Mengaktifkan fitur baru yang mungkin tidak lengkap atau tidak stabil.","Enables RAW converter presets. May reduce performance.":"Aktifkan preset untuk RAW konverter. Memungkinkan adanya penurunan performa.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Mengaktifkan autentikasi dua faktor berarti Anda memerlukan kode verifikasi yang dibuat secara acak untuk masuk, jadi meskipun seseorang mendapatkan akses ke kata sandi Anda, mereka tidak akan dapat mengakses akun Anda.","Enter date":"Masukkan tanggal","Enter dates":"Masukkan tanggal","Enter the code generated by your authenticator app:":"Masukkan kode yang dihasilkan oleh aplikasi autentikator Anda:","Enter verification code":"Masukkan kode verifikasi","Enter your password to confirm the action and continue:":"Masukkan kata sandi Anda untuk mengonfirmasi tindakan dan melanjutkan:","Error":"Kesalahan","Errors":"Kesalahan","Estimate":"Memperkirakan","Estimate Locations":"Perkirakan Lokasi","Estimate the approximate location of pictures without GPS coordinates.":"Memperkirakan perkiraan lokasi gambar tanpa koordinat GPS.","Every two days":"Setiap dua hari","Exclude content marked as private from search results, shared albums, labels, and places.":"Pengecualian untuk konten yang ditAndai sebagai privasi dari hasil pencarian, album yang dibagikan, label, dan tempat.","Exclude hidden":"Pengecualian untuk yang tersembunyi","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"Ekstraksi metadata dengan ExifTool diperlukan untuk dukungan penuh Video, Live Photo, dan XMP.","Experimental Features":"Fitur Eksperimental","Expires":"Kedaluwarsa","Exposure":"Eksposur","Extract still images and generate thumbnails while indexing.":"Mengekstrak gambar diam dan menghasilkan gambar mini sewaktu mengindeks.","F Number":"Nilai F","Face":"Wajah","Faces":"Wajah","Failed removing link":"Gagal menghapus tautan","Failed to connect account.":"Gagal menghubungkan akun.","Failed updating link":"Gagal memperbarui tautan","Family Name":"Nama Keluarga","Fast":"Cepat","Favorite":"Favorit","Favorites":"Favorit","Feature Request":"Permintaan Fitur","Feedback":"Umpan Balik","Female":"Perempuan","File":"Berkas","File Browser":"Peramban Berkas","File Conversion":"Konversi File","File Name":"Nama Berkas","File Size":"Berkas","Filename":"Nama Berkas","Files":"Berkas","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"File dengan nama berurutan seperti 'IMG_1234 (2)' dan 'IMG_1234 (3)' milik gambar yang sama.","First page":"Halaman pertama","Focal Length":"Panjang Fokus","Folder":"Folder","Folder contains %{n} files":"Folder berisi %{n} berkas","Folder is empty":"Folder kosong","Folders":"Folder","Forgot password?":"Lupa kata sandi?","FPS":"FPS","Frames":"Bingkai","Full Access":"Akses penuh","Fullscreen":"Layar Penuh","General":"Umum","Generate":"Menghasilkan","Generate albums of special moments, journeys, and places.":"Secara otomatis membuat album momen spesial, perjalanan, dan tempat.","Generate Previews":"Menghasilkan Pratinjau","Generated":"Dihasilkan","Get Started":"Memulai","Given Name":"Nama Asli","Global Options":"Opsi Global","Go to page {0}":"Pergi ke halaman {0}","Gold":"Emas","Green":"Hijau","Grey":"Abu-abu","Guest":"Tamu","Hash":"Hash","Help":"Bantuan","Help & Support":"Bantuan & Dukungan","Hidden":"Tersembunyi","Hidden Files":"Berkas tersembunyi","Hide":"Sembunyikan","Hide photos that have been moved to archive.":"Sembunyikan foto yang telah dipindahkan ke arsip.","High":"Tinggi","High Dynamic Range (HDR)":"Rentang Dinamis Tinggi (HDR)","How can we help?":"Bagaimana kami bisa membantu?","Hybrid":"Hybrid","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Jika Anda kehilangan akses ke aplikasi atau perangkat pengautentikasi, Anda dapat menggunakan kode pemulihan untuk mendapatkan kembali akses ke akun Anda.","Image":"Gambar","Image Quality":"Kualitas Gambar","Import":"Impor","Import failed":"Impor gagal","Imported files will be sorted by date and given a unique name to avoid duplicates.":"File yang diimpor akan diurutkan berdasarkan tanggal dan diberi nama yang unik untuk menghindari duplikat.","Imported files will be sorted by date and given a unique name.":"File yang diimpor akan diurutkan berdasarkan tanggal dan diberi nama yang unik.","Importing %{s}…":"Mengimpor %{s}…","Importing files to originals…":"Mengimpor file ke aslinya…","in":"dalam","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"Jika gambar yang Anda harapkan hilang, silakan pindai ulang perpustakaan Anda dan tunggu.","Include RAW image files when downloading stacks and archives.":"Sertakan file gambar RAW apabila mengunduh tumpukan dan arsip.","Include sidecar files when downloading stacks and archives.":"Sertakan file sespan saat mengunduh tumpukan dan arsip.","Increase storage size or delete files to continue.":"Menambah ukuran penyimpanan atau menghapus file untuk melanjutkan.","Index":"Indeks","Index and import files through the user interface.":"Mengindeks dan mengimpor file melalui antarmuka pengguna.","Indexing":"Pengindeksan","Indexing failed":"Pengindeksan gagal","Indexing media and sidecar files…":"Mengindeks file media dan sidecar…","Information":"Informasi","Instance ID":"ID Instance","Insufficient storage.":"Penyimpanan yang tidak memadai.","Interval":"Selang","Invalid":"Tanggal tidak valid","Invalid address":"Alamat tidak valid","Invalid country":"Negara tidak valid","Invalid date":"Tanggal tidak valid","Invalid parameters":"Tanggal tidak valid","Invalid photo selected":"Foto yang dipilih tidak valid","Invalid time":"Waktu tidak valid","Invalid URL":"URL tidak valid","It is a one-time use code that will disable 2FA for your account when you use it.":"Ini adalah kode sekali pakai yang akan menonaktifkan 2FA untuk akun Anda saat Anda menggunakannya.","Item":"Item","Items per page:":"Item per halaman:","JPEG Quality: %{n}":"Kualitas JPEG: %{n}","JPEG Size Limit: %{n}px":"Batas Ukuran JPEG: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"JPEG dan thumbnail secara otomatis dirender sesuai dengan kebutuhan.","Keywords":"Kata kunci","Label":"Label","Labels":"Label","Labels deleted":"Label dihapus","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: Pelestarian Detail, Artefak Minimal","Language":"Bahasa","Last Active":"Terakhir Aktif","Last Login":"Login Terakhir","Last page":"Halaman terakhir","Last Sync":"Sinkronisasi Terakhir","Last Used":"Terakhir digunakan","Latitude":"Lintang","LDAP/AD":"LDAP/AD","Learn more":"Pelajari lebih lanjut","Learn More":"Pelajari Lebih Lanjut","Legal Information":"Informasi Hukum","Lens":"Lensa","Library":"Perpustakaan","License":"Lisensi","Like":"Suka","Lime":"Lime","Limit reached, showing first %{n} files":"Batas tercapai, menampilkan %{n} file pertama","Linear: Very Smooth, Best Performance":"Linear: Sangat Halus, Performa Terbaik","Link":"Tautan","List":"Daftar","List View":"Tampilan Daftar","Live":"Langsung","Live Photos":"Foto","Load more":"Memuat lebih banyak","Loading items...":"Memuat item...","Loading...":"Memuat...","Local":"Lokal","Local Time":"Waktu Setempat","Location":"Lokasi","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Pesan log muncul di sini setiap kali PhotoPrism menemukan file yang rusak, atau ada masalah potensial lainnya.","Login":"Masuk","Logout":"Keluar","Logs":"Log","Longitude":"Bujur","Low":"Rendah","Magenta":"Magenta","Main Color":"Warna Utama","Male":"Laki-laki","Manage Account":"Kelola Akun","Manager":"Manajer","Manual":"Manual","Manual Upload":"Unggah manual","Maps":"Peta","Marker":"PenAnda","Maximum number of accounts has been reached.":"Jumlah maksimum akun telah tercapai.","Media":"Media","Medium":"Sedang","Membership":"Keanggotaan","Merge %{a} with %{b}?":"Gabungkan %{a} dengan %{b}?","Message":"Pesan","Message sent":"Pesan terkirim","Metadata":"Metadata","Metrics":"Metrik","Minimize":"Perkecil","Missing":"Hilang","Missing or invalid configuration":"Konfigurasi yang hilang atau tidak valid","Moments":"Momen","Monochrome":"Monokrom","Month":"Setelah 1 bulanBulan","More options":"Opsi lainnya","Mosaic":"Mosaik","Most Relevant":"Paling relevan","Move Files":"Pindahkan File","Must have at least %{n} characters.":"Harus memiliki setidaknya %{n} karakter.","Mute":"Bisu","Name":"Nama","Name too long":"Nama terlalu panjang","Never":"Tidak Pernah","New":"Baru","New Password":"Kata sandi baru","Newest First":"Terbaru terlebih dahulu","Next":"Berikutnya","Next page":"Halaman berikutnya","Next visual":"Visual berikutnya","No":"Tidak","No albums found":"Tidak ada album yang ditemukan","No data available":"Tidak ada data yang tersedia","No labels found":"Tidak ada label yang ditemukan","No matching records found":"Tidak ditemukan catatan yang cocok","No more":"Tidak ada lagi.","No people found":"Tidak ada orang yang ditemukan","No pictures found":"Tidak ada gambar yang ditemukan","No recently edited pictures":"Tidak ada gambar yang baru saja diedit","No results":"Tidak ada hasil","No server connection":"Tidak ada koneksi server","No servers configured.":"Tidak ada server yang dikonfigurasi.","No services configured.":"Tidak ada server yang dikonfigurasi.","No thanks":"Tidak, terima kasih","No warnings or error containing this keyword. Note that search is case-sensitive.":"Tidak ada peringatan atau kesalahan yang mengandung kata kunci ini. Perhatikan bahwa pencarian adalah case-sensitive.","Non-photographic and low-quality images require a review before they appear in search results.":"Gambar non-fotografis dan berkualitas rendah memerlukan peninjauan sebelum muncul di hasil pencarian.","None":"Tidak ada","Not allowed":"Tidak diperbolehkan","Not found":"Tidak ditemukan","Not sorted.":"Tidak diurutkan.","Not supported":"Tidak didukung","Note you may manually manage your originals folder and importing is optional.":"Perhatikan bahwa Anda dapat mengelola folder asli secara manual dan mengimpor adalah opsional.","Note:":"Catatan:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Catatan: Hanya server WebDAV, seperti Nextcloud atau PhotoPrism, yang dapat dikonfigurasi sebagai layanan jarak jauh untuk pencadangan dan pengunggahan file.","Notes":"Catatan","Nothing to see here yet.":"Belum ada yang bisa dilihat di sini. Bersabarlah.","Nothing was found.":"Tidak ada yang ditemukan.","Offline":"Offline","OIDC":"OIDC","OK":"BAIKLAH.","Oldest First":"Paling lama","On Windows, enter the following resource in the connection dialog:":"Pada Windows, masukkan sumber daya berikut ini dalam dialog connection:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"Pembuatan gambar mini berdasarkan permintaan dapat menyebabkan penggunaan CPU dan memori yang tinggi. Tidak disarankan untuk server dan perangkat NAS yang memiliki sumber daya terbatas.","Once a week":"Seminggu sekali","One album found":"Satu album ditemukan","One file found":"Satu file ditemukan","One file uploaded":"Satu file yang diunggah","One folder found":"Satu folder ditemukan","One label found":"Satu label ditemukan","One person found":"Satu orang ditemukan","One picture found":"Satu gambar ditemukan","Only locally managed accounts can be set up for authentication with 2FA.":"Hanya akun yang dikelola secara lokal yang dapat diatur untuk autentikasi dengan 2FA.","Open":"Buka","optional":"opsional","or":"atau","Orange":"Oranye","Organization":"Orientasi","Orientation":"Orientasi","Original file names will be stored and indexed.":"Nama file asli akan disimpan dan diindeks.","Original Name":"Nama Asli","Originals":"Asli","Other":"Lainnya","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Misi kami adalah menyediakan solusi yang paling ramah pengguna dan privasi untuk menjaga gambar Anda tetap teratur dan mudah diakses.","Outdoor":"Luar ruangan","Page {0}, Current page":"Halaman {0}, Halaman saat ini","Pages":"Halaman","Pagination Navigation":"Navigasi Pagination (Penomoran Halaman)","Panorama":"Panorama","Panoramas":"Panorama","Password":"Kata sandi","Password changed":"Kata sandi diubah","People":"Orang","People you share a link with will be able to view public contents.":"Orang lain yang Anda bagikan tautan ini dapat melihat konten secara publik.","Permanently deleted":"Dihapus permanen","Permanently remove files to free up storage.":"Hapus file secara permanen untuk mengosongkan penyimpanan.","Person":"Orang","Personal":"Pribadi","Photo":"Foto","PhotoPrism is 100% self-funded and independent.":"PhotoPrism 100% didanai sendiri dan independen.","PhotoPrism+ Membership":"Keanggotaan PhotoPrism+","Photos":"Foto","Picture Title":"Judul Gambar","Pink":"Merah Muda","Place":"Tempat","Place & Time":"Tempat & Waktu","Places":"Tempat","Please confirm your new password.":"Harap konfirmasi kata sandi baru Anda.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Silakan salin kata sandi aplikasi yang dibuat secara acak berikut dan simpan di tempat yang aman, karena Anda tidak akan dapat melihatnya lagi:","Please do not upload any private, unlawful or offensive pictures.":"Mohon untuk tidak mengunggah gambar yang bersifat pribadi, melanggar hukum, atau menyinggung.","Please don't upload photos containing offensive content.":"Jangan mengunggah foto yang mengandung konten SARA.","Please enter OTP character {0}":"Masukkan karakter OTP {0}","Please note that changing your password will log you out on other devices and browsers.":"Harap diperhatikan bahwa mengubah kata sandi Anda akan membuat Anda log out pada perangkat dan browser lain.","Please restart your instance for the changes to take effect.":"Mulai ulang instance Anda agar perubahan diterapkan.","Please wait…":"Mohon tunggu…","PM":"PM","PNG Size Limit: %{n}px":"Batas Ukuran PNG: %{n}px","Portrait":"Potret","Preserve filenames":"Pertahankan nama file","Press enter to create a new album.":"Tekan enter untuk membuat album baru.","Prevent database and album backups as well as YAML sidecar files from being created.":"Mencegah pencadangan basis data dan album serta file sespan YAML agar tidak dibuat.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Mencegah aplikasi lain mengakses PhotoPrism sebagai drive jaringan bersama.","Preview":"Pratinjau","Preview Images":"Pratinjau Gambar","Previous":"Sebelumnya","Previous page":"Halaman sebelumnya","Previous visual":"Visual sebelumnya","Primary":"Utama","Private":"Pribadi","Product Feedback":"Umpan Balik Produk","Projection":"Proyeksi","Purple":"Ungu","Quality Filter":"Filter Kualitas","Quality Score":"Angka Mutu","r":"r","Random":"Acak","Rating {0} of {1}":"Peringkat {0} dari {1}","Raw":"Raw","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Indeks ulang semua dokumen asli, termasuk file yang sudah diindeks dan tidak diubah.","Read-Only Mode":"Mode Baca","Recently Added":"Baru saja ditambahkan","Recently Archived":"Baru-baru ini Diarsipkan","Recently Edited":"Baru diedit","Recognition starts after indexing has been completed.":"Pengenalan dimulai setelah pengindeksan selesai.","Recognize faces so people can be assigned and found.":"Mengenali wajah sehingga orang tertentu dapat ditemukan.","Recognized":"Pengenalan","Recovery Code":"Kode Pemulihan","Red":"Merah","Refresh":"Menyegarkan","Regions":"Wilayah","Register":"Daftar","Reload":"Muat ulang","Reloading…":"Memuat ulang…","Remote Sync":"Sinkronisasi Jarak Jauh","Remove":"Hapus","remove failed: unknown album":"gagal menghapus: album tidak dikenal","Remove from Album":"Hapus dari album","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Hapus file yang diimpor untuk menghemat penyimpanan. Jenis file yang tidak didukung tidak akan pernah dihapus, mereka tetap di lokasi mereka saat ini.","Request failed - are you offline?":"Permintaan gagal - apakah Anda sedang offline?","Request failed - invalid response":"Permintaan gagal - tanggapan tidak valid","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Mewajibkan gambar non-fotografi dan gambar berkualitas rendah untuk ditinjau sebelum muncul di hasil pencarian.","Resolution":"Resolusi","Restart":"Mulai ulang","Restore":"Pulihkan","Restored":"Dipulihkan","Retry Limit":"Batas Percobaan Ulang","Retype Password":"Kata sandiKetik Ulang Kata Sandi","Review":"Ulasan","Role":"Peran","Rows per page:":"Baris per halaman:","Satellite":"Satelit","Save":"Simpan","Scan":"Pindai","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Pindai kode QR dengan aplikasi autentikator Anda atau gunakan kunci pengaturan yang ditunjukkan di bawah, lalu masukkan kode verifikasi yang dihasilkan:","Scans":"Pindai","Scope":"Cakupan","Search":"Cari","Search and display photos on a map.":"Mencari dan menampilkan foto di peta.","Season":"Musim","Secret":"Rahasia","Security and Access":"Keamanan dan Akses","Select":"Pilih","Select a source folder to import files…":"Pilih folder sumber untuk mengimpor file…","Select date":"Pilih tanggal","Select dates":"Pilih tanggal","Select or create an album":"Memilih atau membuat album","Select the files to upload…":"Pilih file yang akan diunggah…","Select the folder to be indexed…":"Pilih folder yang akan diindeks…","Select Time":"Pilih Waktu","Selection approved":"Pilihan disetujui","Selection archived":"Pilihan diarsipkan","Selection restored":"Pilihan dipulihkan","Sequential Name":"Nama Urutan","Service URL":"URL Layanan","Services":"URL Layanan","Session":"Sesi","Session ID":"ID Sesi","Sessions":"Sesi","Set as Album Cover":"Tetapkan sebagai Sampul Album","Settings":"Pengaturan","Settings saved":"Pengaturan disimpan","Setup":"Setelan","Share":"Bagikan","Share %{s}":"Bagikan %{s}","Share your pictures with other apps and services.":"Bagikan gambar Anda dengan aplikasi dan layanan lain.","Show":"Tampilkan","Show all new faces":"Tampilkan semua wajah baru","Show Captions":"Tampilkan Keterangan","Show hidden":"Tampilkan yang tersembunyi","Show less":"Tampilkan lebih sedikit","Show more":"Tampilkan lebih banyak","Show server logs in Library.":"Tampilkan log server di Perpustakaan.","Show Titles":"Tampilkan Judul","Sidecar":"Sespan","Sidecar Files":"File Sespan","Sign in":"Masuk","Similar":"Serupa","Size":"Ukuran","Slideshow":"Tayangan slide","Slow":"Lambat","Software":"Perangkat lunak","Software Update":"Pembaruan Perangkat Lunak","Something went wrong, try again":"Ada yang salah, coba lagi","Sort by":"Urutkan berdasarkan","Sort Order":"Urutkan","Sorted ascending.":"Diurutkan menaik.","Sorted descending.":"Diurutkan menurun.","Source":"Sumber","Stack":"Tumpukan","Stack files sharing the same unique image or instance identifier.":"Tumpuk file untuk berbagi yang gambarnya unik atau pengenal instans yang sama.","Stack pictures taken at the exact same time and location based on their metadata.":"Stack gambar yang diambil pada waktu dan lokasi yang sama persis berdasarkan metadata.","Stackable":"Dapat ditumpuk","Stacks":"Tumpukan","Start":"Mulai","Start Page":"Halaman Awal","Static Size Limit: %{n}px":"Batas Ukuran Statis: %{n}px","Status":"Status","Storage":"Penyimpanan","Streets":"Jalan","Subject":"Subjek","Submit":"Kirim","Successfully activated":"Berhasil diaktifkan","Successfully Connected":"Berhasil Terhubung","Successfully deleted":"Berhasil dihapus","Successfully verified":"Berhasil diverifikasi","Super Admin":"Super Admin","Support for additional services, like Google Drive, will be added over time.":"Dukungan untuk layanan tambahan, seperti Google Drive, akan ditambahkan seiring waktu.","Support Our Mission":"Dukung Misi Kami","Sync":"Sinkronisasi","Sync raw and video files":"Sinkronkan file mentah dan video","Taken":"Diambil","Teal":"Teal","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow diperlukan untuk klasifikasi gambar, pengenalan wajah, dan mendeteksi konten yang tidak aman.","Terrain":"Medan","Text":"Teks","Text too long":"Teks terlalu panjang","Thank You for Your Support!":"Terima kasih atas Dukungan Anda!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Itulah mengapa PhotoPrism dibangun dari nol untuk berjalan di mana pun Anda membutuhkannya, tanpa mengorbankan kebebasan, privasi, atau fungsionalitas.","The index currently contains %{n} hidden files.":"Indeks saat ini berisi %{n} file tersembunyi.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Format mereka mungkin tidak didukung, mereka belum dikonversi ke JPEG atau ada duplikat.","Theme":"Tema","This field is required":"Bidang ini wajib diisi","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Ini memasang folder asli sebagai drive tersambung dan memungkinkan Anda untuk membuka, mengubah, dan menghapus file dari komputer atau ponsel cerdas Anda.","Time UTC":"Waktu UTC","Time Zone":"Zona Waktu","Timeout":"Tenggat waktu","Title":{"Account":"Judul","Photo":"Judul","":"Judul"},"Title / Position":"Judul terlalu panjang","Title too long":"Judul terlalu panjang","to":"ke","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Untuk menghindari akun Anda terkunci, silakan unduh, cetak, atau salin kode pemulihan ini sekarang dan simpan di tempat yang aman.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Untuk membuat kata sandi khusus aplikasi yang baru, masukkan nama dan cakupan otorisasi aplikasi dan pilih tanggal kedaluwarsa:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Untuk beralih ke aplikasi atau perangkat pengautentikasi baru, nonaktifkan autentikasi dua faktor terlebih dahulu, lalu aktifkan kembali:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Untuk meningkatkan, Anda dapat memasukkan kode aktivasi atau klik \"Daftar\" untuk mendaftar di situs web kami:","Today":"Hari ini","Toggle View":"Beralih Tampilan","Token":"Token","Too many files selected":"Terlalu banyak file yang dipilih","Too many requests":"Terlalu banyak permintaan","Troubleshooting":"Pemecahan masalah","Try again using other filters or keywords.":"Coba lagi menggunakan filter atau kata kunci lain.","Two-factor authentication has been enabled for your account.":"Otentikasi dua faktor telah diaktifkan untuk akun Anda.","Type":"Ketik","Unable to delete":"Tidak dapat menghapus","Unauthorized":"Tidak sah","Undo":"Batalkan","Unique ID":"ID Unik","Unknown":"Tidak diketahui","Unregistered":"Tidak terdaftar","Unsorted":"Tidak disortir","Unstack":"Buang tumpukan","Updated":"Telah diperbarui","Updating faces":"Memperbarui wajah","Updating index":"Memperbarui indeks","Updating moments":"Memperbarui momen","Updating picture…":"Memperbarui pratinjau","Updating previews":"Memperbarui pratinjau","Updating stacks":"Memperbarui tumpukan","Upgrade":"Tingkatkan","Upgrade Now":"Tingkatkan Sekarang","Upload":"Unggah","Upload complete":"Ungahan selesai","Upload complete. Indexing…":"Unggahan selesai. Melakukan pengindeksan…","Upload failed":"Unggahan gagal","Upload local files":"Unggah berkas lokal","Upload Path":"Jalur Unggah","Upload to WebDAV and share links with friends.":"Unggah ke WebDAV dan bagikan tautan kepada teman.","Uploading %{n} of %{t}…":"Mengunggah %{n} dari %{t}…","Uploading photos…":"Mengunggah foto…","Uploading…":"Memuat ulang…","Uploads that may contain such images will be rejected automatically.":"Unggahan yang mungkin berisi gambar seperti itu akan ditolak secara otomatis.","Use Presets":"Gunakan Preset","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Gunakan kode pemulihan berikut untuk mengakses akun Anda ketika Anda tidak dapat membuat kode verifikasi yang valid dengan aplikasi autentikator Anda:","Use your recovery code or contact an administrator for help.":"Gunakan kode pemulihan Anda atau hubungi administrator untuk mendapatkan bantuan.","User":"Pengguna","User Guide":"Panduan Pengguna","User Interface":"Tampilan Pengguna","Username":"Nama pengguna","Users":"Pengguna","Vector":"Vektor","Vectors":"Vektor","Verification Code":"Kode verifikasi","Video":"Video","Video Duration":"Durasi","Videos":"Koleksi Video","View":"Melihat","View search results as a list.":"Melihat hasil pencarian sebagai daftar.","Viewer":"Penampil","Visitor":"Pengunjung","Visual Similarity":"Kelompokkan menurut kesamaan","Warning":"Peringatan","We appreciate your feedback!":"Kami menghargai umpan balik Anda!","We do our best to respond within five business days or less.":"Kami melakukan yang terbaik untuk merespons dalam waktu lima hari kerja atau kurang.","Web Login":"Login Web","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"Klien WebDAV dapat terhubung ke PhotoPrism menggunakan URL berikut:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"Klien WebDAV, seperti Microsoft Windows Explorer atau Apple's Finder, dapat terhubung langsung ke PhotoPrism.","WebDAV Upload":"Unggah WebDAV","WebGL support is disabled in your browser":"Dukungan WebGL dinonaktifkan di browser Anda","Website":"Situs web","White":"Putih","Work Details":"Detail","Year":"Tahun","Yellow":"Kuning","Yes":"Ya","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Anda dapat menghubungi kami di membership@photoprism.app untuk pertanyaan mengenai keanggotaan Anda.","You can only download one album":"Anda hanya dapat mengunduh satu album","You can only download one label":"Anda hanya dapat mengunduh satu label","You can search for a location or move the marker on the map to change the position:":"Anda dapat mencari lokasi atau memindahkan penanda pada peta untuk mengubah posisi:","You can upload up to %{n} files for test purposes.":"Anda dapat mengunggah hingga %{n} file untuk tujuan pengujian.","You may only select one item":"Anda hanya dapat memilih satu item","You may rescan your library to find additional faces.":"Anda dapat memindai ulang perpustakaan Anda untuk menemukan wajah tambahan.","Your account has been successfully connected.":"Akun Anda telah berhasil terhubung.","Your browser does not support WebGL":"Browser Anda tidak mendukung WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Dukungan Anda yang berkelanjutan membantu kami menyediakan layanan seperti peta satelit dan mengembangkan fitur-fitur terbaru.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Perpustakaan Anda akan terus dianalisis secara otomatis dalam membuat album momen spesial, perjalanan, dan tempat.","Zoom in/out":"Memperbesar/memperkecil"}} \ No newline at end of file diff --git a/frontend/src/locales/json/it.json b/frontend/src/locales/json/it.json index 7f66a5412..5b99576ee 100644 --- a/frontend/src/locales/json/it.json +++ b/frontend/src/locales/json/it.json @@ -1 +1 @@ -{"it":{"{0} appended action":"{0} azione aggiunta","{0} files":"{0} file","{0} files ({1} in total)":"{0} file ({1} in totale)","{0} more":"{Altro","{0} prepended action":"{0} azione preconfezionata","{0} selected":"{0} selezionato","{0}-{1} of {2}":"{0}-{1} di {2}","%{n} albums found":"%{n} album trovati","%{n} files uploaded":"%{n} file caricati","%{n} folders found":"%{n} cartelle trovate","%{n} GB of %{q} GB used":"%{n} GB di %{q} GB utilizzati","%{n} labels found":"%{n} etichette trovate","%{n} people found":"%{n} persone trovate","%{n} pictures found":"%{n} immagini trovate","%{s} is too long":"%{s} è troppo lungo","%{s} is too short":"%{s} è troppo corto","1 hour":"1 ora","12 hours":"12 ore","2-Factor Authentication":"Autenticazione a 2 fattori","2FA":"2FA","4 hours":"4 ore","A click will copy it to your clipboard.":"Un click lo copierà negli appunti.","A new version of %{s} is available:":"È disponibile una nuova versione di %{s}:","About":"Informazioni","Access Token":"Gettone di accesso","Account":"Account","Account created":"Account creato","Account deleted":"Account eliminato","Account restored":"Account ripristinato","Accounts":"Account","Accuracy":"Precisione","Action":"Azione","Actions":"Azioni","Activate":"Attiva","Activate to remove sorting.":"Attiva per rimuovere l'ordinamento.","Activate to sort ascending.":"Attiva per ordinare in ordine crescente.","Activate to sort descending.":"Attiva per ordinare in modo decrescente.","Activation Code":"Codice di attivazione","Add":"Aggiungi","Add %{s}?":"Aggiungi %{s}?","Add Account":"Aggiungi account","Add Album":"Aggiungi Album","Add files to your library via Web Upload.":"Aggiungi file alla tua libreria con Web Upload.","Add Link":"Aggiungi Link","Add person?":"Aggiungi una persona?","Add pictures from search results by selecting them.":"Aggiungi immagini dai risultati della ricerca selezionandole.","Add to album":"Aggiungi all'album","Added":"Aggiunto","Admin":"Admin","Advanced":"Avanzate","After 1 day":"Dopo 1 giorno","After 3 days":"Dopo 3 giorni","After 7 days":"Dopo 7 giorni","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Dopo aver re inserito la password, potrai attivare l’autenticazione a due fattori con un’applicazione di autenticazione o un dispositivo compatibile","After one month":"Dopo un mese","After one year":"Dopo un anno","After selecting pictures from search results, you can add them to an album using the context menu.":"Dopo aver selezionato le immagini dai risultati della ricerca, è possibile aggiungerle a un album utilizzando il menu contestuale.","After two months":"Dopo due mesi","After two weeks":"Dopo due settimane","Album":"Album","Album Backups":"Backup degli album","Album created":"Album creato","Albums":"Album","Albums deleted":"Album eliminati","All":"Tutti","All %{n} albums loaded":"Tutti i %{n} album sono stati caricati","All %{n} labels loaded":"Tutte le %{n} etichette sono state caricate","All %{n} people loaded":"Tutte le %{n} persone caricate","All Cameras":"Tutte le Fotocamere","All Categories":"Tutte le Categorie","All Colors":"Tutti i Colori","All Countries":"Tutte le Nazioni","All fields are required":"Tutti i campi sono obbligatori","All files from import folder":"Tutti i file dalla cartella di importazione","All Lenses":"Tutte le Lenti","All Months":"Tutti i Mesi","All originals":"Tutti gli originali","All Years":"Tutti gli Anni","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Alternativamente, puoi caricare i file direttamente a server WebDAV come Nextcloud.","Altitude":"Altitudine","Altitude (m)":"Altitudine (m)","AM":"AM","Animated":"Animato","Animation":"Animazione","Any private photos and videos remain private and won't be shared.":"Tutte le foto e i video privati rimarranno privati e non verranno condivisi.","API Key":"Chiave API","Application":"Applicazione","Apply":"Applica","Approve":"Approva","Apps and Devices":"Applicazioni e dispositivi","Archive":"Archivio","Archived":"Archiviato","Are you sure you want to archive the selection?":"Sei sicuro di voler archiviare la selezione?","Are you sure you want to delete these albums?":"Vuoi veramente eliminare questi album?","Are you sure you want to delete these labels?":"Vuoi veramente eliminare queste etichette?","Are you sure you want to delete this account?":"Vuoi veramente eliminare questo account?","Are you sure you want to permanently delete these pictures?":"Vuoi veramente eliminare in modo permanente queste immagini?","Are you sure you want to permanently delete this file?":"Vuoi veramente eliminare in modo permanente questi file?","Are you sure?":"Sei sicuro?","Artist":"Artista","Aspect Ratio":"Proporzione","Audio":"Audio","Authentication":"Autenticazione","Auto":"Auto","Back":"Indietro","Back to top":"Torna all'inizio","Backup":"Backup","Badge":"Distintivo","Base Path":"Percorso base","Become a member today, support our mission and enjoy our member benefits!":"Diventate membri oggi stesso, sostenete la nostra missione e godete dei nostri vantaggi per i membri!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Essendo autofinanziati ed indipendenti, possiamo prometterti che non venderemo mai i tuoi dati e che saremo sempre trasparenti riguardo al nostro software e ai nostri servizi.","Bio":"Biografia","Birth Date":"Data di nascita","Black":"Nero","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: modifica di Lanczos, meno artefatti ad anello","Blue":"Blu","Brown":"Marrone","Browse":"Sfogliare","Browse and edit image classification labels.":"Visualizza e modifica etichette di classificazione delle immagini.","Browse and share your pictures organized into monthly albums.":"Sfoglia e condividi le tue foto organizzate in album mensili.","Browse Files":"Sfoglia i file","Browse indexed files and folders in Library.":"Visualizza i file e le cartelle indicizzati nella Libreria.","Bug Report":"Segnala Bug","Busy, please wait…":"Occupato, attendere prego…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Utilizzando il software e i servizi, accetti i nostri temini di servizio, privacy policy e codice di condotta.","Calendar":"Calendario","Camera":"Fotocamera","Camera Serial":"Seriale Fotocamera","Can't access your authenticator app or device?":"Non riesci ad accedere alla tua app o al tuo dispositivo Authenticator?","Can't load more, limit reached":"Impossibile caricare ancora, limite raggiunto","Can't select more items":"Impossibile selezionare ulteriori elementi","Cancel":"Annulla","Caption":"Didascalia","Cards":"Carte","Carousel slide {0} of {1}":"Carosello di diapositive {0} di {1}","Category":"Categoria","Change Avatar":"Cambia Avatar","Change Password":"Cambia password","Change personal profile and security settings.":"Modificare il profilo personale e le impostazioni di sicurezza.","Change photo titles, locations, and other metadata.":"Cambia i titoli delle foto, le posizioni e altri metadati.","Change private flag":"Cambiare la bandiera privata","Changes could not be saved":"Le modifiche non possono essere salvate","Changes successfully saved":"Modifiche salvate con successo","Changes to the advanced settings require a restart to take effect.":"Le modifiche alle impostazioni avanzate richiedono un riavvio per avere effetto.","Checked":"Selezionato","Chroma":"Croma","Cleaning index and cache":"Pulizia dell'indice e della cache","Cleanup":"Pulizia","Clear {0}":"Cancella {0}","Client":"Cliente","Client Credentials":"Credenziali del cliente","Close":"Chiudi","Codec":"Codec","Color":"Colore","Color Profile":"Profilo del colore","Colors":"Colori","Compare Editions":"Confronta le edizioni","Complete Rescan":"Scansione completa","Confidence":"Confidenza","Confirm":"Conferma","Connect":"Connetti","Connect via WebDAV":"Connetti via WebDAV","Connected":"Connesso","Contact Details":"Dettagli di contatto","Contact Us":"Contattaci","Contains %{n} pictures.":"Contiene %{n} immagini.","Contains one picture.":"Contiene una foto.","Content":"Contenuto","Continue":"Continua","Continue with %{provider}":"Continua con %{provider}","Contributor":"Collaboratore","Converting":"Conversione in corso","Copied to clipboard":"Copiato negli appunti","Copy":"Copia","Copyright":"Copyright","Couldn't find anything.":"Impossibile trovare alcunché.","Country":"Nazione","Create Account":"Crea account","Create album":"Crea album","Create regular backups based on the configured schedule.":"Crea i backup degli indici in base alla pianificazione configurata.","Create YAML files to back up album metadata.":"Crea file YAML per il backup dei metadati degli album.","Create YAML sidecar files to back up picture metadata.":"Crea file sidecar YAML per il backup dei metadati delle immagini.","Created":"Creato","Creating thumbnails for":"Creazione anteprima per","Cubic: Moderate Quality, Good Performance":"Cubico: Qualità moderata, buone prestazioni","Current Password":"Password Corrente","Custom":"Personalizzato","Cyan":"Ciano","Daily":"Giornalmente","Database Backups":"Backup del database","Day":"Giorni","Deactivate":"Disattiva","Debug Logs":"Registri di debug","Default":"Predefinito","Default Folder":"Cartella Predefinita","Delete":"Elimina","Delete All":"Cancella tutto","Delete all?":"Cancellare tutto?","Delete orphaned index entries, sidecar files and thumbnails.":"Elimina le voci di indice orfane, i file sidecar e le miniature.","Description":"Descizione","Detailed instructions can be found in our User Guide.":"È possibile trovare informazioni dettagliate nella nostra Guida Utente.","Details":"Dettagli","Dimensions":"Dimensioni","Disable Backups":"Disabilita Backup","Disable Darktable":"Disabilita Darktable","Disable ExifTool":"Disabilita ExifTool","Disable features that require write permission for the originals folder.":"Disattiva le funzioni che richiedono i permessi di scrittura per la cartella degli originali.","Disable FFmpeg":"Disabilita FFmpeg","Disable ImageMagick":"Disattiva ImageMagick","Disable interactive world maps and reverse geocoding.":"Disattiva le mappe interattive del mondo e la geocodifica inversa.","Disable Places":"Disabilita Luoghi","Disable RawTherapee":"Disabilita RawTherapee","Disable TensorFlow":"Disabilita TensorFlow","Disable Vectors":"Disattiva i vettori","Disable WebDAV":"Disabilita WebDAV","Disables vector graphics support.":"Disattiva il supporto della grafica vettoriale.","Disables video transcoding and thumbnail extraction.":"Disattiva la transcodifica video e l'estrazione delle miniature.","Discover":"Scopri","Dismiss":"Congedo","Display Name":"Nome visualizzato","Display picture captions in search results.":"Visualizza le didascalie delle immagini nei risultati della ricerca.","Display picture titles in search results.":"Visualizza i titoli delle immagini nei risultati della ricerca.","Document":"Documento","Documents":"Documenti","Don't use Darktable to convert RAW images.":"Non usare Darktable per convertire i file RAW.","Don't use ImageMagick to convert images.":"Non utilizzare ImageMagick per convertire le immagini.","Don't use RawTherapee to convert RAW images.":"Non usare RawTherapee per convertire i file RAW.","Done":"Fatto","Done.":"Fatto.","Download":"Download","Download only original media files, without any automatically generated files.":"Scarica solo i file multimediali originali, senza file generati automaticamente.","Download remote files":"Scarica file remoti","Download single files and zip archives.":"Scarica singoli file e archivi zip.","Downloading…":"Download in corso…","Downscaling Filter":"Filtro di downscaling","Drag and drop files here":"Trascina i file qui","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"A causa dell'elevato numero di email che riceviamo, il nostro team potrebbe non essere in grado di risponderti immediatamente.","Duplicates will be skipped and only appear once.":"I duplicati verranno ignorati e appariranno una volta sola.","Duration":"Durata","Dynamic Previews":"Anteprime Dinamiche","Dynamic Size Limit: %{n}px":"Limite Dimensioni Dinamiche: %{n}px","E-Mail":"E-Mail","Edit":"Modifica","Edit %{s}":"Modifica %{s}","Edit Account":"Modifica Account","Edit Photo":"Modifica Foto","Edited":"Modificato","Email":"Email","Enable debug mode to display additional logs and help with troubleshooting.":"Abilita la modalità di debug per visualizzare ulteriori log e aiutare nella risoluzione dei problemi.","Enable new features that may be incomplete or unstable.":"Abilitare nuove funzionalità che potrebbero essere incomplete o instabili.","Enables RAW converter presets. May reduce performance.":"Abilita i preset del convertitore RAW. Può ridurre le prestazioni.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Abilitare l’autenticazione a due fattori (2FA) significa che per accedere necessiterai di un codice di verifica generato casualmente, perciò, anche se qualcuno avesse la tua password, non potrebbe accedere al tuo account.","Enter date":"Inserisci la data","Enter dates":"Inserisci le date","Enter the code generated by your authenticator app:":"Inserisci il codice generato dalla tua app Autenticatore:","Enter verification code":"Inserisci codice di verifica","Enter your password to confirm the action and continue:":"Inserisci la password per confermare l'azione e continuare:","Error":"Errore","Errors":"Errori","Estimate":"Stima","Estimate Locations":"Stima delle località","Estimate the approximate location of pictures without GPS coordinates.":"Stimare la posizione approssimativa delle immagini senza coordinate GPS.","Every two days":"Ogni due giorni","Exclude content marked as private from search results, shared albums, labels, and places.":"Escludi i contenuti contrassegnati come privati dai risultati di ricerca, dagli album condivisi, dalle etichette e dai luoghi.","Exclude hidden":"Escludi i nascosti","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"L'estrazione dei metadati con ExifTool è necessaria per il supporto completo di Video, Live Photo e XMP.","Experimental Features":"Funzionalità Sperimentali","Expires":"Scade","Exposure":"Esposizione","Extract still images and generate thumbnails while indexing.":"Estrai le immagini fisse e genera miniature durante l'indicizzazione.","F Number":"Numero F","Face":"Volto","Faces":"Volti","Failed removing link":"Impossibile rimuovere il link","Failed to connect account.":"Impossibile connettere l'account.","Failed updating link":"Impossibile aggiornare il link","Family Name":"Cognome","Fast":"Veloce","Favorite":"Preferito","Favorites":"Preferiti","Feature Request":"Richiesta Funzionalità","Feedback":"Feedback","Female":"Donna","File":"File","File Browser":"Esplora File","File Conversion":"Conversione di file","File Name":"Nome File","File Size":"Dimensione del file","Filename":"Nome del file","Files":"File","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"File con un nome sequenziale come 'IMG_1234 (2)' e 'IMG_1234 (3)' appartengono alla stessa immagine.","First page":"Prima pagina","Focal Length":"Lunghezza Focale","Folder":"Cartella","Folder contains %{n} files":"La cartella contiene %{n} file","Folder is empty":"La cartella è vuota","Folders":"Cartelle","Forgot password?":"Password dimenticata?","FPS":"FPS","Frames":"Fotogrammi","Full Access":"Accesso Totale","Fullscreen":"Schermo intero","General":"Generale","Generate":"Genera","Generate albums of special moments, journeys, and places.":"Crea automaticamente album di momenti speciali, viaggi e luoghi.","Generate Previews":"Generare anteprime","Generated":"Generato","Get Started":"Iniziare","Given Name":"Nome","Global Options":"Opzioni globali","Go to page {0}":"Vai alla pagina {0}","Gold":"Oro","Green":"Verde","Grey":"Grigio","Guest":"Ospite","Hash":"Hash","Help":"Aiuto","Help & Support":"Aiuto e Supporto","Hidden":"Nascosto","Hidden Files":"File Nascosti","Hide":"Nascondi","Hide photos that have been moved to archive.":"Nascondi foto che sono state spostate in archivio.","High":"Alta","High Dynamic Range (HDR)":"Alta gamma dinamica (HDR)","How can we help?":"Come possiamo aiutarti?","Hybrid":"Ibrido","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Se perdessi l’accesso alla tua app o al tuo dispositivo di autenticazione, puoi usare il tuo codice di recupero per riottenere l’accesso al tuo account.","Image":"Immagine","Image Quality":"Qualità dell'immagine","Import":"Importa","Import failed":"Importazione fallita","Imported files will be sorted by date and given a unique name to avoid duplicates.":"I file importati verranno ordinati per data e gli verrà dato un nome univoco per evitare duplicati.","Imported files will be sorted by date and given a unique name.":"I file importati verranno ordinati per data e gli verrà dato un nome univoco.","Importing %{s}…":"Importando %{s}…","Importing files to originals…":"Importando file ad originali…","in":"in","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"Nel caso in cui siano mancanti delle immagini che ti aspettavi di trovare, per favore scansiona nuovamente la libreria e aspetta che l'indicizzazione sia completa.","Include RAW image files when downloading stacks and archives.":"Includere i file immagine RAW quando si scaricano pile e archivi.","Include sidecar files when downloading stacks and archives.":"Includere i file sidecar durante il download di stack e archivi.","Increase storage size or delete files to continue.":"Aumenta la dimensione dell'archivio o elimina i file per continuare.","Index":"Indice","Index and import files through the user interface.":"Indicizza e importa i file attraverso l'interfaccia utente.","Indexing":"Indicizzazione","Indexing failed":"Indicizzazione fallita","Indexing media and sidecar files…":"Indicizzando file multimediali e sidecar…","Information":"Informazioni","Instance ID":"ID Istanza","Insufficient storage.":"Stoccaggio insufficiente.","Interval":"Intervallo","Invalid":"Non valido","Invalid address":"Indirizzo non valido","Invalid country":"Paese non valido","Invalid date":"Data non valida","Invalid parameters":"Parametri non validi","Invalid photo selected":"Foto non valida selezionata","Invalid time":"Orario non valido","Invalid URL":"URL non valido","It is a one-time use code that will disable 2FA for your account when you use it.":"Questo è un codice a utilizzo unico che disabiliterà l’autenticazione a due fattori (2FA) per il tuo account quando lo usi.","Item":"Elemento","Items per page:":"Articoli per pagina:","JPEG Quality: %{n}":"Qualità JPEG: %{n}","JPEG Size Limit: %{n}px":"Limite Dimensione JPEG: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"I JPEG e le miniature sono renderizzati automaticamente a seconda delle necessità.","Keywords":"Parole chiave","Label":"Etichetta","Labels":"Etichette","Labels deleted":"Etichette eliminate","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: conservazione dei dettagli, artefatti minimi","Language":"Lingua","Last Active":"Ultimo attivo","Last Login":"Ultimo accesso","Last page":"Ultima pagina","Last Sync":"Ultima sincronizzazione","Last Used":"Ultimo utilizzo","Latitude":"Latitudine","LDAP/AD":"LDAP/AD","Learn more":"Scopri di più","Learn More":"Per saperne di più","Legal Information":"Informazioni legali","Lens":"Lenti","Library":"Libreria","License":"Licenza","Like":"Mi Piace","Lime":"Lime","Limit reached, showing first %{n} files":"Limite raggiunto, vengono mostrati i primi %{n} file","Linear: Very Smooth, Best Performance":"Lineare: Molto uniforme, migliori prestazioni","Link":"Link","List":"Lista","List View":"Vista elenco","Live":"Live","Live Photos":"Foto dal vivo","Load more":"Carica di più","Loading items...":"Caricamento articoli...","Loading...":"Caricamento...","Local":"Locale","Local Time":"Orario Locale","Location":"Luogo","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"I messaggi log vengono visualizzati qui ogni volta che PhotoPrism rileva file danneggiati o si verificano altri potenziali problemi.","Login":"Login","Logout":"Esci","Logs":"Log","Longitude":"Longitudine","Low":"Bassa","Magenta":"Magenta","Main Color":"Colore Principale","Male":"Uomo","Manage Account":"Gestione account","Manual":"Manuale","Manual Upload":"Upload Manuale","Maps":"Mappe","Marker":"Segnaposto","Maximum number of accounts has been reached.":"È stato raggiunto il numero massimo di account.","Media":"Media","Medium":"Medio","Membership":"Adesione","Merge %{a} with %{b}?":"Unire %{a} con %{b}?","Message":"Messaggio","Message sent":"Messaggio inviato","Metadata":"Metadati","Metrics":"Metriche","Minimize":"Minimizza","Missing":"Mancante","Missing or invalid configuration":"Configurazione mancante o non valida","Moments":"Momenti","Monochrome":"Monocromo","Month":"Mese","More options":"Altre opzioni","Mosaic":"Mosaico","Most Relevant":"Più rilevante","Move Files":"Sposta File","Must have at least %{n} characters.":"Minimo %{n} caratteri obbligatori.","Mute":"Muto","Name":"Nome","Name too long":"Nome troppo lungo","Never":"Mai","New":"Nuovo","New Password":"Nuova Password","Newest First":"Prima più Recenti","Next":"Avanti","Next page":"Pagina successiva","Next visual":"Prossima visualizzazione","No":"No","No albums found":"Nessun album trovato","No data available":"Nessun dato disponibile","No labels found":"Nessuna etichetta trovata","No matching records found":"Non sono stati trovati record corrispondenti","No more":"Non di più","No people found":"Nessuna persona trovata","No pictures found":"Nessuna immagine trovata","No recently edited pictures":"Nessuna foto modificata di recente","No server connection":"Nessuna connessione al server","No servers configured.":"Nessun server configurato.","No services configured.":"Nessun servizio configurato.","No thanks":"No grazie","No warnings or error containing this keyword. Note that search is case-sensitive.":"Nessun warning o errore contiene questa parola chiave. Tieni presente che la ricerca fa distinzione tra maiuscole e minuscole.","Non-photographic and low-quality images require a review before they appear in search results.":"Le immagini non fotografiche e di bassa qualità richiedono una revisione prima di essere visualizzate nei risultati di ricerca.","None":"Nessuno","Not allowed":"Non è consentito","Not found":"Non trovato","Not sorted.":"Non è stato selezionato.","Not supported":"Non supportato","Note you may manually manage your originals folder and importing is optional.":"Nota che puoi gestire manualmente la tua cartella degli originali e che l'importazione è opzionale.","Note:":"Nota:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Nota: solo i server WebDAV, come Nextcloud o PhotoPrism, possono essere configurati come servizio remoto per il backup e il caricamento dei file.","Notes":"Note","Nothing to see here yet.":"Niente da vedere qui. Sii paziente.","Nothing was found.":"Non è stato trovato nulla.","Offline":"Offline","OIDC":"OIDC","OK":"OK","Oldest First":"Più vecchi prima","On Windows, enter the following resource in the connection dialog:":"In Windows, inserire la seguente risorsa nella finestra di dialogo della connessione:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"La generazione di miniature su richiesta può causare un elevato utilizzo della CPU e della memoria. Non è consigliato per i server e i dispositivi NAS con risorse limitate.","Once a week":"Una volta a settimana","One album found":"Un album trovato","One file found":"Un file trovato","One file uploaded":"Un file caricato","One folder found":"Una cartella trovata","One label found":"Un'etichetta trovata","One person found":"Una persona trovata","One picture found":"Una foto trovata","Only locally managed accounts can be set up for authentication with 2FA.":"Solamente gli account gestiti localmente possono essere configurati con autenticazione a due fattori.","Open":"Aperto","optional":"opzionale","or":"o","Orange":"Arancione","Organization":"Organizzazione","Orientation":"Orientamento","Original file names will be stored and indexed.":"I nomi dei file originali verranno memorizzati e indicizzati.","Original Name":"Nome Originale","Originals":"Originali","Other":"Altro","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"La nostra missione è fornire la soluzione più semplice per l'utente e la privacy per mantenere le vostre immagini organizzate e accessibili.","Outdoor":"All'aperto","Page {0}, Current page":"Pagina {0}, Pagina corrente","Pages":"Pagine","Pagination Navigation":"Navigazione a paginazione","Panorama":"Panorama","Panoramas":"Panorami","Password":"Password","Password changed":"Password cambiata","People":"Persone","People you share a link with will be able to view public contents.":"Le persone con cui condividi un link potranno vedere i contenuti pubblici.","Permanently deleted":"Eliminato permanentemente","Permanently remove files to free up storage.":"Elimina permanentemente i file per liberare spazio.","Person":"Persona","Personal":"Personale","Photo":"Foto","PhotoPrism is 100% self-funded and independent.":"PhotoPrism è al 100% autofinanziato e indipendente.","PhotoPrism+ Membership":"Iscrizione a PhotoPrism+","Photos":"Foto","Picture Title":"Titolo dell'immagine","Pink":"Rosa","Place":"Luogo","Place & Time":"Luogo e Ora","Places":"Luoghi","Please confirm your new password.":"Conferma la nuova password.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Copia la seguente password generata casualmente e salvala in un posto sicuro, in quanto non potrai visualizzarla mai più:","Please do not upload any private, unlawful or offensive pictures.":"Non caricare immagini private, illegali o offensive.","Please don't upload photos containing offensive content.":"Non caricare foto che contengono contenuto offensivo.","Please enter OTP character {0}":"Inserisci il carattere OTP {0}","Please note that changing your password will log you out on other devices and browsers.":"Tieni presente che la modifica della password ti farà uscire su altri dispositivi e browser.","Please restart your instance for the changes to take effect.":"Per rendere effettive le modifiche, riavviare l'istanza.","Please wait…":"Attendere prego…","PM":"PM","PNG Size Limit: %{n}px":"Limite Dimensione PNG: %{n}px","Portrait":"Ritratto","Preserve filenames":"Mantieni nomi dei file","Press enter to create a new album.":"Premi invio per creare un nuovo album.","Prevent database and album backups as well as YAML sidecar files from being created.":"Impedisce la creazione di backup di database e album e di file sidecar YAML.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Impedisci ad altre applicazioni di accedere a PhotoPrism come unità di rete condivisa.","Preview":"Anteprima","Preview Images":"Immagini in anteprima","Previous":"Precedente","Previous page":"Pagina precedente","Previous visual":"Visuale precedente","Primary":"Primario","Private":"Privato","Product Feedback":"Feedback Prodotto","Projection":"Proiezione","Purple":"Viola","Quality Filter":"Filtro Qualità","Quality Score":"Punteggio Qualità","r":"r","Random":"Casuale","Rating {0} of {1}":"Valutazione {0} di {1}","Raw":"Raw","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Reindicizza tutti gli originali, includendo sia i file già indicizzati che quelli non modificati.","Read-Only Mode":"Modalità Sola Lettura","Recently Added":"Aggiunto Recentemente","Recently Archived":"Archiviato di recente","Recently Edited":"Modificato di recente","Recognition starts after indexing has been completed.":"Il riconoscimento inizia dopo che l'indicizzazione è stata completata.","Recognize faces so people can be assigned and found.":"Riconosce i volti in modo da poter trovare persone specifiche.","Recognized":"Riconosciuto","Recovery Code":"Codice di recupero","Red":"Rosso","Refresh":"Aggiorna","Regions":"Regioni","Register":"Registro","Reload":"Ricarica","Reloading…":"Ricaricamento…","Remote Sync":"Sincronizzazione Remota","Remove":"Rimuovi","remove failed: unknown album":"rimozione fallita: album sconosciuto","Remove from Album":"Rimuovi dall'album","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Rimuovi i file importati per risparmiare spazio. I tipi di file non supportati non vengono mai eliminati, rimangono nella loro posizione attuale.","Request failed - are you offline?":"Richiesta fallita - sei offline?","Request failed - invalid response":"Richiesta fallita - risposta non valida","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Richiedere che le immagini non fotografiche e di bassa qualità vengano esaminate prima di apparire nei risultati di ricerca.","Resolution":"Risoluzione","Restart":"Riavvio","Restore":"Ripristina","Restored":"Ripristinato","Retry Limit":"Limite di tentativi","Retype Password":"Digitare nuovamente la Password","Review":"Revisione","Role":"Ruolo","Rows per page:":"Righe per pagina:","Satellite":"Satellite","Save":"Salva","Scan":"Scansione","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Scansiona il codice QR con l'app di autenticazione o utilizza la chiave di configurazione mostrata di seguito, quindi inserisci il codice di verifica generato:","Scans":"Scansioni","Scope":"Ambito di applicazione","Search":"Cerca","Search and display photos on a map.":"Cerca e visualizza le foto in una mappa.","Season":"Stagione","Secret":"Segreto","Security and Access":"Sicurezza e accesso","Select":"Seleziona","Select a source folder to import files…":"Seleziona una cartella di origine per importare i file…","Select date":"Seleziona la data","Select dates":"Seleziona le date","Select or create an album":"Seleziona o crea un album","Select the files to upload…":"Seleziona i file da caricare…","Select the folder to be indexed…":"Seleziona la cartella da indicizzare…","Select Time":"Seleziona l'ora","Selection approved":"Selezione approvata","Selection archived":"Selezione archiviata","Selection restored":"Selezione ripristinata","Sequential Name":"Nome Sequenziale","Service URL":"URL Servizio","Services":"Servizi","Session":"Sessione","Session ID":"ID sessione","Sessions":"Sessioni","Set as Album Cover":"Imposta come copertina dell'album","Settings":"Impostazioni","Settings saved":"Impostazioni salvate","Setup":"Setup","Share":"Condividi","Share %{s}":"Condividi %{s}","Share your pictures with other apps and services.":"Condividi le tue foto con altre app e servizi.","Show":"Mostra","Show all new faces":"Mostra tutti i volti nuovi","Show Captions":"Mostra didascalie","Show hidden":"Mostra nascosto","Show less":"Mostra meno","Show more":"Mostra più","Show server logs in Library.":"Mostra i log server nella Libreria.","Show Titles":"Mostra i titoli","Sidecar":"Sidecar","Sidecar Files":"File Sidecar","Sign in":"Accedi","Similar":"Simile","Size":"Dimensione","Slideshow":"Presentazione","Slow":"Lento","Software":"Software","Software Update":"Aggiornamento software","Something went wrong, try again":"Qualcosa è andato storto, riprovare","Sort by":"Ordina per","Sort Order":"Ordinamento","Sorted ascending.":"Ordinati in ordine crescente.","Sorted descending.":"Ordinamento decrescente.","Source":"Sorgente","Stack":"Pila","Stack files sharing the same unique image or instance identifier.":"File in pila che condividono la stessa immagine unica o lo stesso identificatore di istanza.","Stack pictures taken at the exact same time and location based on their metadata.":"Impila le foto scattate nello stesso momento e luogo in base ai loro metadati.","Stackable":"Impilabile","Stacks":"Pile","Start":"Inizia","Start Page":"Pagina iniziale","Static Size Limit: %{n}px":"Limite Dimensione Statica: %{n}px","Status":"Stato","Storage":"Spazio d’archiviazione","Streets":"Strade","Subject":"Oggetto","Submit":"Invia","Successfully activated":"Attivazione avvenuta con successo","Successfully Connected":"Collegato con successo","Successfully deleted":"Eliminato con successo","Successfully verified":"Verifica avvenuta con successo","Super Admin":"Super amministratore","Support for additional services, like Google Drive, will be added over time.":"Il supporto ad altri servizi, come Google Drive, verrà aggiunto in futuro.","Support Our Mission":"Sostienici nella nostra missione","Sync":"Sincronizza","Sync raw and video files":"Sincronizzazione di file raw e video","Taken":"Preso","Teal":"Verde acqua","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow è necessario per la classificazione delle immagini, il riconoscimento facciale e il rilevamento di contenuti non sicuri.","Terrain":"Terreno","Text":"Testo","Text too long":"Testo troppo lungo","Thank You for Your Support!":"Grazie per il vostro sostegno!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Ecco perché PhotoPrism è stato costruito da zero per funzionare ovunque sia necessario, senza compromettere la libertà, la privacy o la funzionalità.","The index currently contains %{n} hidden files.":"L'indice contiene attualmente %{n} file nascosti.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Il loro formato potrebbe non essere supportato, non sono stati ancora convertiti in JPEG oppure ci sono duplicati.","Theme":"Tema","This field is required":"Questo campo è obbligatorio","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Questo monta la cartella degli originali come un'unità di rete e ti permette di aprire, modificare e cancellare i file dal tuo computer o smartphone come se fossero locali.","Time UTC":"Orario UTC","Time Zone":"Fuso Orario","Timeout":"Timeout","Title":{"Account":"Titolo","Photo":"Titolo","":"Titolo"},"Title / Position":"Titolo / Posizione","Title too long":"Titolo troppo lungo","to":"a","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Per evitare di essere bloccatə fuori dal tuo account, scarica, stampa o copua questo codice di recupero e conservalo in un luogo sicuro.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Per generare una nuova password per l'app inserisci il nome e l'ambito di autorizzazione dell'applicazione e imposta una data di scadenza:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Per cambiare app o dispositivo di autenticazione, disattiva prima l’autenticazione a due fattori, poi riattivala:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Per effettuare l'aggiornamento, è possibile inserire un codice di attivazione o fare clic su \"Registrati\" per iscriversi al nostro sito web:","Today":"Oggi","Toggle View":"Cambia Vista","Token":"Token","Too many files selected":"Troppi file selezionati","Too many requests":"Troppe richieste","Troubleshooting":"Risoluzione dei problemi","Try again using other filters or keywords.":"Riprova usando altri filtri o parole chiave.","Two-factor authentication has been enabled for your account.":"L’autenticazione a due fattori (2FA) è stata attivata sul tuo account","Type":"Tipo","Unauthorized":"Non autorizzato","Undo":"Annulla","Unique ID":"ID Unico","Unknown":"Sconosciuto","Unregistered":"Non registrato","Unsorted":"Non Ordinato","Unstack":"Separa","Updated":"Aggiornato","Updating faces":"Aggiornamento dei volti","Updating index":"Aggiornamento indici in corso","Updating moments":"Aggiornamento momenti in corso","Updating picture…":"Aggiornamento dell'immagine…","Updating previews":"Aggiornamento delle anteprime","Updating stacks":"Aggiornamento delle pile","Upgrade":"Aggiornamento","Upgrade Now":"Aggiorna ora","Upload":"Upload","Upload complete":"Upload completato","Upload complete. Indexing…":"Upload completato. Indicizzazione in corso…","Upload failed":"Upload fallito","Upload local files":"Upload file locali","Upload Path":"Percorso di caricamento","Upload to WebDAV and share links with friends.":"Upload a WebDAV e condividi link con i tuoi amici.","Uploading %{n} of %{t}…":"Caricamento %{n} su %{t}…","Uploading photos…":"Caricamento foto…","Uploading…":"Caricamento in corso…","Uploads that may contain such images will be rejected automatically.":"I file caricato che potrebbero contenere queste immagini verranno rifiutati automaticamente.","Use Presets":"Utilizzare le preimpostazioni","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Utilizza il seguente codice di recupero per accedere al tuo account quando non riesci a generare un codice di verifica valido con l'app di autenticazione:","Use your recovery code or contact an administrator for help.":"Usa il tuo codice di recupero o contatta un amministratore per chiedere aiuto.","User":"Utente","User Guide":"Guida per l'utente","User Interface":"Interfaccia Utente","Username":"Nome utente","Users":"Utenti","Vector":"Vettore","Vectors":"Vettori","Verification Code":"Codice di verifica","Video":"Video","Video Duration":"Durata Video","Videos":"Video","View":"Visualizza","View search results as a list.":"Visualizza i risultati della ricerca come elenco.","Viewer":"Visualizzatore","Visitor":"Visitatore","Visual Similarity":"Somiglianza visiva","Warning":"Avvertenze","We appreciate your feedback!":"Grazie per il tuo feedback!","We do our best to respond within five business days or less.":"Facciamo del nostro meglio per rispondere entro cinque giorni lavorativi o meno.","Web Login":"Accesso Web","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"I client WebDAV possono connettersi a PhotoPrism usando il seguente URL:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"Client WebDAV, come Windows Explorer di Microsoft o Finder di Apple, possono connettersi direttamente a PhotoPrism.","WebDAV Upload":"Upload WebDAV","WebGL support is disabled in your browser":"Il supporto WebGL è disabilitato nel tuo browser","Website":"Sito web","White":"Bianco","Work Details":"Dettagli Opera","Year":"Anno","Yellow":"Giallo","Yes":"Sì","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Potete contattarci all'indirizzo membership@photoprism.app per domande relative alla vostra iscrizione.","You can only download one album":"Puoi scaricare solo un album","You can only download one label":"Puoi scaricare solo un'etichetta","You can upload up to %{n} files for test purposes.":"È possibile caricare fino a %{n} file a scopo di test.","You may only select one item":"Puoi selezionare un solo elemento","You may rescan your library to find additional faces.":"Puoi scansionare nuovamente la tua libreria per trovare altri volti.","Your account has been successfully connected.":"Il vostro account è stato collegato con successo.","Your browser does not support WebGL":"Il tuo browser non supporta WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Il tuo continuo supporto ci aiuta a fornire aggiornamenti regolari e a rimanere indipendenti, in modo da poter adempiere alla nostra missione e proteggere la tua privacy.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"La tua libreria viene continuamente analizzata per creare automaticamente album di momenti speciali, viaggi e luoghi.","Zoom in/out":"Zoom avanti/indietro"}} \ No newline at end of file +{"it":{"{0} appended action":"{0} azione aggiunta","{0} files":"{0} file","{0} files ({1} in total)":"{0} file ({1} in totale)","{0} more":"{Altro","{0} prepended action":"{0} azione preconfezionata","{0} selected":"{0} selezionato","{0}-{1} of {2}":"{0}-{1} di {2}","%{n} albums found":"%{n} album trovati","%{n} files uploaded":"%{n} file caricati","%{n} folders found":"%{n} cartelle trovate","%{n} GB of %{q} GB used":"%{n} GB di %{q} GB utilizzati","%{n} labels found":"%{n} etichette trovate","%{n} people found":"%{n} persone trovate","%{n} pictures found":"%{n} immagini trovate","%{s} is too long":"%{s} è troppo lungo","%{s} is too short":"%{s} è troppo corto","1 hour":"1 ora","12 hours":"12 ore","2-Factor Authentication":"Autenticazione a 2 fattori","2FA":"2FA","4 hours":"4 ore","A click will copy it to your clipboard.":"Un click lo copierà negli appunti.","A new version of %{s} is available:":"È disponibile una nuova versione di %{s}:","About":"Informazioni","Access Token":"Gettone di accesso","Account":"Account","Account created":"Account creato","Account deleted":"Account eliminato","Account restored":"Account ripristinato","Accounts":"Account","Accuracy":"Precisione","Action":"Azione","Actions":"Azioni","Activate":"Attiva","Activate to remove sorting.":"Attiva per rimuovere l'ordinamento.","Activate to sort ascending.":"Attiva per ordinare in ordine crescente.","Activate to sort descending.":"Attiva per ordinare in modo decrescente.","Activation Code":"Codice di attivazione","Add":"Aggiungi","Add %{s}?":"Aggiungi %{s}?","Add Account":"Aggiungi account","Add Album":"Aggiungi Album","Add files to your library via Web Upload.":"Aggiungi file alla tua libreria con Web Upload.","Add Link":"Aggiungi Link","Add person?":"Aggiungi una persona?","Add pictures from search results by selecting them.":"Aggiungi immagini dai risultati della ricerca selezionandole.","Add to album":"Aggiungi all'album","Added":"Aggiunto","Adjust Location":"Regola la posizione","Admin":"Admin","Advanced":"Avanzate","After 1 day":"Dopo 1 giorno","After 3 days":"Dopo 3 giorni","After 7 days":"Dopo 7 giorni","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Dopo aver re inserito la password, potrai attivare l’autenticazione a due fattori con un’applicazione di autenticazione o un dispositivo compatibile","After one month":"Dopo un mese","After one year":"Dopo un anno","After selecting pictures from search results, you can add them to an album using the context menu.":"Dopo aver selezionato le immagini dai risultati della ricerca, è possibile aggiungerle a un album utilizzando il menu contestuale.","After two months":"Dopo due mesi","After two weeks":"Dopo due settimane","Album":"Album","Album Backups":"Backup degli album","Album created":"Album creato","Album deleted":"Album cancellato","Albums":"Album","Albums deleted":"Album eliminati","All":"Tutti","All %{n} albums loaded":"Tutti i %{n} album sono stati caricati","All %{n} labels loaded":"Tutte le %{n} etichette sono state caricate","All %{n} people loaded":"Tutte le %{n} persone caricate","All Cameras":"Tutte le Fotocamere","All Categories":"Tutte le Categorie","All Colors":"Tutti i Colori","All Countries":"Tutte le Nazioni","All fields are required":"Tutti i campi sono obbligatori","All files from import folder":"Tutti i file dalla cartella di importazione","All Lenses":"Tutte le Lenti","All Months":"Tutti i Mesi","All originals":"Tutti gli originali","All Years":"Tutti gli Anni","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Alternativamente, puoi caricare i file direttamente a server WebDAV come Nextcloud.","Altitude":"Altitudine","Altitude (m)":"Altitudine (m)","AM":"AM","Animated":"Animato","Animation":"Animazione","Animations":"Animazioni","Any private photos and videos remain private and won't be shared.":"Tutte le foto e i video privati rimarranno privati e non verranno condivisi.","API Key":"Chiave API","Application":"Applicazione","Apply":"Applica","Approve":"Approva","Apps and Devices":"Applicazioni e dispositivi","Archive":"Archivio","Archived":"Archiviato","Are you sure you want to archive the selection?":"Sei sicuro di voler archiviare la selezione?","Are you sure you want to delete these albums?":"Vuoi veramente eliminare questi album?","Are you sure you want to delete these labels?":"Vuoi veramente eliminare queste etichette?","Are you sure you want to delete this account?":"Vuoi veramente eliminare questo account?","Are you sure you want to delete this album?":"Sei sicuro di voler cancellare questo album?","Are you sure you want to permanently delete these pictures?":"Vuoi veramente eliminare in modo permanente queste immagini?","Are you sure you want to permanently delete this file?":"Vuoi veramente eliminare in modo permanente questi file?","Are you sure?":"Sei sicuro?","Artist":"Artista","Aspect Ratio":"Proporzione","Audio":"Audio","Authentication":"Autenticazione","Auto":"Auto","Back":"Indietro","Back to top":"Torna all'inizio","Backup":"Backup","Badge":"Distintivo","Base Path":"Percorso base","Become a member today, support our mission and enjoy our member benefits!":"Diventate membri oggi stesso, sostenete la nostra missione e godete dei nostri vantaggi per i membri!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Essendo autofinanziati ed indipendenti, possiamo prometterti che non venderemo mai i tuoi dati e che saremo sempre trasparenti riguardo al nostro software e ai nostri servizi.","Bio":"Biografia","Birth Date":"Data di nascita","Black":"Nero","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: modifica di Lanczos, meno artefatti ad anello","Blue":"Blu","Brown":"Marrone","Browse":"Sfogliare","Browse and edit image classification labels.":"Visualizza e modifica etichette di classificazione delle immagini.","Browse and share your pictures organized into monthly albums.":"Sfoglia e condividi le tue foto organizzate in album mensili.","Browse Files":"Sfoglia i file","Browse indexed files and folders in Library.":"Visualizza i file e le cartelle indicizzati nella Libreria.","Bug Report":"Segnala Bug","Busy, please wait…":"Occupato, attendere prego…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Utilizzando il software e i servizi, accetti i nostri temini di servizio, privacy policy e codice di condotta.","Calendar":"Calendario","Camera":"Fotocamera","Camera Serial":"Seriale Fotocamera","Can't access your authenticator app or device?":"Non riesci ad accedere alla tua app o al tuo dispositivo Authenticator?","Can't load more, limit reached":"Impossibile caricare ancora, limite raggiunto","Can't select more items":"Impossibile selezionare ulteriori elementi","Cancel":"Annulla","Cannot copy to clipboard":"Impossibile copiare negli appunti","Caption":"Didascalia","Cards":"Carte","Carousel slide {0} of {1}":"Carosello di diapositive {0} di {1}","Category":"Categoria","Change Avatar":"Cambia Avatar","Change Password":"Cambia password","Change personal profile and security settings.":"Modificare il profilo personale e le impostazioni di sicurezza.","Change photo titles, locations, and other metadata.":"Cambia i titoli delle foto, le posizioni e altri metadati.","Change private flag":"Cambiare la bandiera privata","Changes could not be saved":"Le modifiche non possono essere salvate","Changes successfully saved":"Modifiche salvate con successo","Changes to the advanced settings require a restart to take effect.":"Le modifiche alle impostazioni avanzate richiedono un riavvio per avere effetto.","Checked":"Selezionato","Chroma":"Croma","Cleaning index and cache":"Pulizia dell'indice e della cache","Cleanup":"Pulizia","Clear {0}":"Cancella {0}","Client":"Cliente","Client Credentials":"Credenziali del cliente","Close":"Chiudi","Codec":"Codec","Color":"Colore","Color Profile":"Profilo del colore","Colors":"Colori","Compare Editions":"Confronta le edizioni","Complete Rescan":"Scansione completa","Confidence":"Confidenza","Confirm":"Conferma","Connect":"Connetti","Connect via WebDAV":"Connetti via WebDAV","Connected":"Connesso","Contact Details":"Dettagli di contatto","Contact Us":"Contattaci","Contains %{n} pictures.":"Contiene %{n} immagini.","Contains one picture.":"Contiene una foto.","Content":"Contenuto","Continue":"Continua","Continue with %{provider}":"Continua con %{provider}","Contributor":"Collaboratore","Converting":"Conversione in corso","Copied to clipboard":"Copiato negli appunti","Copy":"Copia","Copyright":"Copyright","Couldn't find anything.":"Impossibile trovare alcunché.","Country":"Nazione","Create Account":"Crea account","Create album":"Crea album","Create regular backups based on the configured schedule.":"Crea i backup degli indici in base alla pianificazione configurata.","Create YAML files to back up album metadata.":"Crea file YAML per il backup dei metadati degli album.","Create YAML sidecar files to back up picture metadata.":"Crea file sidecar YAML per il backup dei metadati delle immagini.","Created":"Creato","Creating thumbnails for":"Creazione anteprima per","Cubic: Moderate Quality, Good Performance":"Cubico: Qualità moderata, buone prestazioni","Current Password":"Password Corrente","Custom":"Personalizzato","Cyan":"Ciano","Daily":"Giornalmente","Database Backups":"Backup del database","Day":"Giorni","Deactivate":"Disattiva","Debug Logs":"Registri di debug","Default":"Predefinito","Default Folder":"Cartella Predefinita","Delete":"Elimina","Delete Album":"Elimina l'album","Delete All":"Cancella tutto","Delete all?":"Cancellare tutto?","Delete orphaned index entries, sidecar files and thumbnails.":"Elimina le voci di indice orfane, i file sidecar e le miniature.","Description":"Descizione","Detailed instructions can be found in our User Guide.":"È possibile trovare informazioni dettagliate nella nostra Guida Utente.","Details":"Dettagli","Dimensions":"Dimensioni","Disable Backups":"Disabilita Backup","Disable Darktable":"Disabilita Darktable","Disable ExifTool":"Disabilita ExifTool","Disable features that require write permission for the originals folder.":"Disattiva le funzioni che richiedono i permessi di scrittura per la cartella degli originali.","Disable FFmpeg":"Disabilita FFmpeg","Disable ImageMagick":"Disattiva ImageMagick","Disable interactive world maps and reverse geocoding.":"Disattiva le mappe interattive del mondo e la geocodifica inversa.","Disable Places":"Disabilita Luoghi","Disable RawTherapee":"Disabilita RawTherapee","Disable TensorFlow":"Disabilita TensorFlow","Disable Vectors":"Disattiva i vettori","Disable WebDAV":"Disabilita WebDAV","Disables vector graphics support.":"Disattiva il supporto della grafica vettoriale.","Disables video transcoding and thumbnail extraction.":"Disattiva la transcodifica video e l'estrazione delle miniature.","Discover":"Scopri","Dismiss":"Congedo","Display Name":"Nome visualizzato","Display picture captions in search results.":"Visualizza le didascalie delle immagini nei risultati della ricerca.","Display picture titles in search results.":"Visualizza i titoli delle immagini nei risultati della ricerca.","Document":"Documento","Documents":"Documenti","Don't use Darktable to convert RAW images.":"Non usare Darktable per convertire i file RAW.","Don't use ImageMagick to convert images.":"Non utilizzare ImageMagick per convertire le immagini.","Don't use RawTherapee to convert RAW images.":"Non usare RawTherapee per convertire i file RAW.","Done":"Fatto","Done.":"Fatto.","Download":"Download","Download only original media files, without any automatically generated files.":"Scarica solo i file multimediali originali, senza file generati automaticamente.","Download remote files":"Scarica file remoti","Download single files and zip archives.":"Scarica singoli file e archivi zip.","Downloading…":"Download in corso…","Downscaling Filter":"Filtro di downscaling","Drag and drop files here":"Trascina i file qui","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"A causa dell'elevato numero di email che riceviamo, il nostro team potrebbe non essere in grado di risponderti immediatamente.","Duplicates will be skipped and only appear once.":"I duplicati verranno ignorati e appariranno una volta sola.","Duration":"Durata","Dynamic Previews":"Anteprime Dinamiche","Dynamic Size Limit: %{n}px":"Limite Dimensioni Dinamiche: %{n}px","E-Mail":"E-Mail","Edit":"Modifica","Edit %{s}":"Modifica %{s}","Edit Account":"Modifica Account","Edit Photo":"Modifica Foto","Edited":"Modificato","Email":"Email","Enable debug mode to display additional logs and help with troubleshooting.":"Abilita la modalità di debug per visualizzare ulteriori log e aiutare nella risoluzione dei problemi.","Enable new features that may be incomplete or unstable.":"Abilitare nuove funzionalità che potrebbero essere incomplete o instabili.","Enables RAW converter presets. May reduce performance.":"Abilita i preset del convertitore RAW. Può ridurre le prestazioni.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Abilitare l’autenticazione a due fattori (2FA) significa che per accedere necessiterai di un codice di verifica generato casualmente, perciò, anche se qualcuno avesse la tua password, non potrebbe accedere al tuo account.","Enter date":"Inserisci la data","Enter dates":"Inserisci le date","Enter the code generated by your authenticator app:":"Inserisci il codice generato dalla tua app Autenticatore:","Enter verification code":"Inserisci codice di verifica","Enter your password to confirm the action and continue:":"Inserisci la password per confermare l'azione e continuare:","Error":"Errore","Errors":"Errori","Estimate":"Stima","Estimate Locations":"Stima delle località","Estimate the approximate location of pictures without GPS coordinates.":"Stimare la posizione approssimativa delle immagini senza coordinate GPS.","Every two days":"Ogni due giorni","Exclude content marked as private from search results, shared albums, labels, and places.":"Escludi i contenuti contrassegnati come privati dai risultati di ricerca, dagli album condivisi, dalle etichette e dai luoghi.","Exclude hidden":"Escludi i nascosti","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"L'estrazione dei metadati con ExifTool è necessaria per il supporto completo di Video, Live Photo e XMP.","Experimental Features":"Funzionalità Sperimentali","Expires":"Scade","Exposure":"Esposizione","Extract still images and generate thumbnails while indexing.":"Estrai le immagini fisse e genera miniature durante l'indicizzazione.","F Number":"Numero F","Face":"Volto","Faces":"Volti","Failed removing link":"Impossibile rimuovere il link","Failed to connect account.":"Impossibile connettere l'account.","Failed updating link":"Impossibile aggiornare il link","Family Name":"Cognome","Fast":"Veloce","Favorite":"Preferito","Favorites":"Preferiti","Feature Request":"Richiesta Funzionalità","Feedback":"Feedback","Female":"Donna","File":"File","File Browser":"Esplora File","File Conversion":"Conversione di file","File Name":"Nome File","File Size":"Dimensione del file","Filename":"Nome del file","Files":"File","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"File con un nome sequenziale come 'IMG_1234 (2)' e 'IMG_1234 (3)' appartengono alla stessa immagine.","First page":"Prima pagina","Focal Length":"Lunghezza Focale","Folder":"Cartella","Folder contains %{n} files":"La cartella contiene %{n} file","Folder is empty":"La cartella è vuota","Folders":"Cartelle","Forgot password?":"Password dimenticata?","FPS":"FPS","Frames":"Fotogrammi","Full Access":"Accesso Totale","Fullscreen":"Schermo intero","General":"Generale","Generate":"Genera","Generate albums of special moments, journeys, and places.":"Crea automaticamente album di momenti speciali, viaggi e luoghi.","Generate Previews":"Generare anteprime","Generated":"Generato","Get Started":"Iniziare","Given Name":"Nome","Global Options":"Opzioni globali","Go to page {0}":"Vai alla pagina {0}","Gold":"Oro","Green":"Verde","Grey":"Grigio","Guest":"Ospite","Hash":"Hash","Help":"Aiuto","Help & Support":"Aiuto e Supporto","Hidden":"Nascosto","Hidden Files":"File Nascosti","Hide":"Nascondi","Hide photos that have been moved to archive.":"Nascondi foto che sono state spostate in archivio.","High":"Alta","High Dynamic Range (HDR)":"Alta gamma dinamica (HDR)","How can we help?":"Come possiamo aiutarti?","Hybrid":"Ibrido","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Se perdessi l’accesso alla tua app o al tuo dispositivo di autenticazione, puoi usare il tuo codice di recupero per riottenere l’accesso al tuo account.","Image":"Immagine","Image Quality":"Qualità dell'immagine","Import":"Importa","Import failed":"Importazione fallita","Imported files will be sorted by date and given a unique name to avoid duplicates.":"I file importati verranno ordinati per data e gli verrà dato un nome univoco per evitare duplicati.","Imported files will be sorted by date and given a unique name.":"I file importati verranno ordinati per data e gli verrà dato un nome univoco.","Importing %{s}…":"Importando %{s}…","Importing files to originals…":"Importando file ad originali…","in":"in","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"Nel caso in cui siano mancanti delle immagini che ti aspettavi di trovare, per favore scansiona nuovamente la libreria e aspetta che l'indicizzazione sia completa.","Include RAW image files when downloading stacks and archives.":"Includere i file immagine RAW quando si scaricano pile e archivi.","Include sidecar files when downloading stacks and archives.":"Includere i file sidecar durante il download di stack e archivi.","Increase storage size or delete files to continue.":"Aumenta la dimensione dell'archivio o elimina i file per continuare.","Index":"Indice","Index and import files through the user interface.":"Indicizza e importa i file attraverso l'interfaccia utente.","Indexing":"Indicizzazione","Indexing failed":"Indicizzazione fallita","Indexing media and sidecar files…":"Indicizzando file multimediali e sidecar…","Information":"Informazioni","Instance ID":"ID Istanza","Insufficient storage.":"Stoccaggio insufficiente.","Interval":"Intervallo","Invalid":"Non valido","Invalid address":"Indirizzo non valido","Invalid country":"Paese non valido","Invalid date":"Data non valida","Invalid parameters":"Parametri non validi","Invalid photo selected":"Foto non valida selezionata","Invalid time":"Orario non valido","Invalid URL":"URL non valido","It is a one-time use code that will disable 2FA for your account when you use it.":"Questo è un codice a utilizzo unico che disabiliterà l’autenticazione a due fattori (2FA) per il tuo account quando lo usi.","Item":"Elemento","Items per page:":"Articoli per pagina:","JPEG Quality: %{n}":"Qualità JPEG: %{n}","JPEG Size Limit: %{n}px":"Limite Dimensione JPEG: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"I JPEG e le miniature sono renderizzati automaticamente a seconda delle necessità.","Keywords":"Parole chiave","Label":"Etichetta","Labels":"Etichette","Labels deleted":"Etichette eliminate","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: conservazione dei dettagli, artefatti minimi","Language":"Lingua","Last Active":"Ultimo attivo","Last Login":"Ultimo accesso","Last page":"Ultima pagina","Last Sync":"Ultima sincronizzazione","Last Used":"Ultimo utilizzo","Latitude":"Latitudine","LDAP/AD":"LDAP/AD","Learn more":"Scopri di più","Learn More":"Per saperne di più","Legal Information":"Informazioni legali","Lens":"Lenti","Library":"Libreria","License":"Licenza","Like":"Mi Piace","Lime":"Lime","Limit reached, showing first %{n} files":"Limite raggiunto, vengono mostrati i primi %{n} file","Linear: Very Smooth, Best Performance":"Lineare: Molto uniforme, migliori prestazioni","Link":"Link","List":"Lista","List View":"Vista elenco","Live":"Live","Live Photos":"Foto dal vivo","Load more":"Carica di più","Loading items...":"Caricamento articoli...","Loading...":"Caricamento...","Local":"Locale","Local Time":"Orario Locale","Location":"Luogo","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"I messaggi log vengono visualizzati qui ogni volta che PhotoPrism rileva file danneggiati o si verificano altri potenziali problemi.","Login":"Login","Logout":"Esci","Logs":"Log","Longitude":"Longitudine","Low":"Bassa","Magenta":"Magenta","Main Color":"Colore Principale","Male":"Uomo","Manage Account":"Gestione account","Manager":"Manager","Manual":"Manuale","Manual Upload":"Upload Manuale","Maps":"Mappe","Marker":"Segnaposto","Maximum number of accounts has been reached.":"È stato raggiunto il numero massimo di account.","Media":"Media","Medium":"Medio","Membership":"Adesione","Merge %{a} with %{b}?":"Unire %{a} con %{b}?","Message":"Messaggio","Message sent":"Messaggio inviato","Metadata":"Metadati","Metrics":"Metriche","Minimize":"Minimizza","Missing":"Mancante","Missing or invalid configuration":"Configurazione mancante o non valida","Moments":"Momenti","Monochrome":"Monocromo","Month":"Mese","More options":"Altre opzioni","Mosaic":"Mosaico","Most Relevant":"Più rilevante","Move Files":"Sposta File","Must have at least %{n} characters.":"Minimo %{n} caratteri obbligatori.","Mute":"Muto","Name":"Nome","Name too long":"Nome troppo lungo","Never":"Mai","New":"Nuovo","New Password":"Nuova Password","Newest First":"Prima più Recenti","Next":"Avanti","Next page":"Pagina successiva","Next visual":"Prossima visualizzazione","No":"No","No albums found":"Nessun album trovato","No data available":"Nessun dato disponibile","No labels found":"Nessuna etichetta trovata","No matching records found":"Non sono stati trovati record corrispondenti","No more":"Non di più","No people found":"Nessuna persona trovata","No pictures found":"Nessuna immagine trovata","No recently edited pictures":"Nessuna foto modificata di recente","No results":"Nessun risultato","No server connection":"Nessuna connessione al server","No servers configured.":"Nessun server configurato.","No services configured.":"Nessun servizio configurato.","No thanks":"No grazie","No warnings or error containing this keyword. Note that search is case-sensitive.":"Nessun warning o errore contiene questa parola chiave. Tieni presente che la ricerca fa distinzione tra maiuscole e minuscole.","Non-photographic and low-quality images require a review before they appear in search results.":"Le immagini non fotografiche e di bassa qualità richiedono una revisione prima di essere visualizzate nei risultati di ricerca.","None":"Nessuno","Not allowed":"Non è consentito","Not found":"Non trovato","Not sorted.":"Non è stato selezionato.","Not supported":"Non supportato","Note you may manually manage your originals folder and importing is optional.":"Nota che puoi gestire manualmente la tua cartella degli originali e che l'importazione è opzionale.","Note:":"Nota:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Nota: solo i server WebDAV, come Nextcloud o PhotoPrism, possono essere configurati come servizio remoto per il backup e il caricamento dei file.","Notes":"Note","Nothing to see here yet.":"Niente da vedere qui. Sii paziente.","Nothing was found.":"Non è stato trovato nulla.","Offline":"Offline","OIDC":"OIDC","OK":"OK","Oldest First":"Più vecchi prima","On Windows, enter the following resource in the connection dialog:":"In Windows, inserire la seguente risorsa nella finestra di dialogo della connessione:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"La generazione di miniature su richiesta può causare un elevato utilizzo della CPU e della memoria. Non è consigliato per i server e i dispositivi NAS con risorse limitate.","Once a week":"Una volta a settimana","One album found":"Un album trovato","One file found":"Un file trovato","One file uploaded":"Un file caricato","One folder found":"Una cartella trovata","One label found":"Un'etichetta trovata","One person found":"Una persona trovata","One picture found":"Una foto trovata","Only locally managed accounts can be set up for authentication with 2FA.":"Solamente gli account gestiti localmente possono essere configurati con autenticazione a due fattori.","Open":"Aperto","optional":"opzionale","or":"o","Orange":"Arancione","Organization":"Organizzazione","Orientation":"Orientamento","Original file names will be stored and indexed.":"I nomi dei file originali verranno memorizzati e indicizzati.","Original Name":"Nome Originale","Originals":"Originali","Other":"Altro","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"La nostra missione è fornire la soluzione più semplice per l'utente e la privacy per mantenere le vostre immagini organizzate e accessibili.","Outdoor":"All'aperto","Page {0}, Current page":"Pagina {0}, Pagina corrente","Pages":"Pagine","Pagination Navigation":"Navigazione a paginazione","Panorama":"Panorama","Panoramas":"Panorami","Password":"Password","Password changed":"Password cambiata","People":"Persone","People you share a link with will be able to view public contents.":"Le persone con cui condividi un link potranno vedere i contenuti pubblici.","Permanently deleted":"Eliminato permanentemente","Permanently remove files to free up storage.":"Elimina permanentemente i file per liberare spazio.","Person":"Persona","Personal":"Personale","Photo":"Foto","PhotoPrism is 100% self-funded and independent.":"PhotoPrism è al 100% autofinanziato e indipendente.","PhotoPrism+ Membership":"Iscrizione a PhotoPrism+","Photos":"Foto","Picture Title":"Titolo dell'immagine","Pink":"Rosa","Place":"Luogo","Place & Time":"Luogo e Ora","Places":"Luoghi","Please confirm your new password.":"Conferma la nuova password.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Copia la seguente password generata casualmente e salvala in un posto sicuro, in quanto non potrai visualizzarla mai più:","Please do not upload any private, unlawful or offensive pictures.":"Non caricare immagini private, illegali o offensive.","Please don't upload photos containing offensive content.":"Non caricare foto che contengono contenuto offensivo.","Please enter OTP character {0}":"Inserisci il carattere OTP {0}","Please note that changing your password will log you out on other devices and browsers.":"Tieni presente che la modifica della password ti farà uscire su altri dispositivi e browser.","Please restart your instance for the changes to take effect.":"Per rendere effettive le modifiche, riavviare l'istanza.","Please wait…":"Attendere prego…","PM":"PM","PNG Size Limit: %{n}px":"Limite Dimensione PNG: %{n}px","Portrait":"Ritratto","Preserve filenames":"Mantieni nomi dei file","Press enter to create a new album.":"Premi invio per creare un nuovo album.","Prevent database and album backups as well as YAML sidecar files from being created.":"Impedisce la creazione di backup di database e album e di file sidecar YAML.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Impedisci ad altre applicazioni di accedere a PhotoPrism come unità di rete condivisa.","Preview":"Anteprima","Preview Images":"Immagini in anteprima","Previous":"Precedente","Previous page":"Pagina precedente","Previous visual":"Visuale precedente","Primary":"Primario","Private":"Privato","Product Feedback":"Feedback Prodotto","Projection":"Proiezione","Purple":"Viola","Quality Filter":"Filtro Qualità","Quality Score":"Punteggio Qualità","r":"r","Random":"Casuale","Rating {0} of {1}":"Valutazione {0} di {1}","Raw":"Raw","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Reindicizza tutti gli originali, includendo sia i file già indicizzati che quelli non modificati.","Read-Only Mode":"Modalità Sola Lettura","Recently Added":"Aggiunto Recentemente","Recently Archived":"Archiviato di recente","Recently Edited":"Modificato di recente","Recognition starts after indexing has been completed.":"Il riconoscimento inizia dopo che l'indicizzazione è stata completata.","Recognize faces so people can be assigned and found.":"Riconosce i volti in modo da poter trovare persone specifiche.","Recognized":"Riconosciuto","Recovery Code":"Codice di recupero","Red":"Rosso","Refresh":"Aggiorna","Regions":"Regioni","Register":"Registro","Reload":"Ricarica","Reloading…":"Ricaricamento…","Remote Sync":"Sincronizzazione Remota","Remove":"Rimuovi","remove failed: unknown album":"rimozione fallita: album sconosciuto","Remove from Album":"Rimuovi dall'album","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Rimuovi i file importati per risparmiare spazio. I tipi di file non supportati non vengono mai eliminati, rimangono nella loro posizione attuale.","Request failed - are you offline?":"Richiesta fallita - sei offline?","Request failed - invalid response":"Richiesta fallita - risposta non valida","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Richiedere che le immagini non fotografiche e di bassa qualità vengano esaminate prima di apparire nei risultati di ricerca.","Resolution":"Risoluzione","Restart":"Riavvio","Restore":"Ripristina","Restored":"Ripristinato","Retry Limit":"Limite di tentativi","Retype Password":"Digitare nuovamente la Password","Review":"Revisione","Role":"Ruolo","Rows per page:":"Righe per pagina:","Satellite":"Satellite","Save":"Salva","Scan":"Scansione","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Scansiona il codice QR con l'app di autenticazione o utilizza la chiave di configurazione mostrata di seguito, quindi inserisci il codice di verifica generato:","Scans":"Scansioni","Scope":"Ambito di applicazione","Search":"Cerca","Search and display photos on a map.":"Cerca e visualizza le foto in una mappa.","Season":"Stagione","Secret":"Segreto","Security and Access":"Sicurezza e accesso","Select":"Seleziona","Select a source folder to import files…":"Seleziona una cartella di origine per importare i file…","Select date":"Seleziona la data","Select dates":"Seleziona le date","Select or create an album":"Seleziona o crea un album","Select the files to upload…":"Seleziona i file da caricare…","Select the folder to be indexed…":"Seleziona la cartella da indicizzare…","Select Time":"Seleziona l'ora","Selection approved":"Selezione approvata","Selection archived":"Selezione archiviata","Selection restored":"Selezione ripristinata","Sequential Name":"Nome Sequenziale","Service URL":"URL Servizio","Services":"Servizi","Session":"Sessione","Session ID":"ID sessione","Sessions":"Sessioni","Set as Album Cover":"Imposta come copertina dell'album","Settings":"Impostazioni","Settings saved":"Impostazioni salvate","Setup":"Setup","Share":"Condividi","Share %{s}":"Condividi %{s}","Share your pictures with other apps and services.":"Condividi le tue foto con altre app e servizi.","Show":"Mostra","Show all new faces":"Mostra tutti i volti nuovi","Show Captions":"Mostra didascalie","Show hidden":"Mostra nascosto","Show less":"Mostra meno","Show more":"Mostra più","Show server logs in Library.":"Mostra i log server nella Libreria.","Show Titles":"Mostra i titoli","Sidecar":"Sidecar","Sidecar Files":"File Sidecar","Sign in":"Accedi","Similar":"Simile","Size":"Dimensione","Slideshow":"Presentazione","Slow":"Lento","Software":"Software","Software Update":"Aggiornamento software","Something went wrong, try again":"Qualcosa è andato storto, riprovare","Sort by":"Ordina per","Sort Order":"Ordinamento","Sorted ascending.":"Ordinati in ordine crescente.","Sorted descending.":"Ordinamento decrescente.","Source":"Sorgente","Stack":"Pila","Stack files sharing the same unique image or instance identifier.":"File in pila che condividono la stessa immagine unica o lo stesso identificatore di istanza.","Stack pictures taken at the exact same time and location based on their metadata.":"Impila le foto scattate nello stesso momento e luogo in base ai loro metadati.","Stackable":"Impilabile","Stacks":"Pile","Start":"Inizia","Start Page":"Pagina iniziale","Static Size Limit: %{n}px":"Limite Dimensione Statica: %{n}px","Status":"Stato","Storage":"Spazio d’archiviazione","Streets":"Strade","Subject":"Oggetto","Submit":"Invia","Successfully activated":"Attivazione avvenuta con successo","Successfully Connected":"Collegato con successo","Successfully deleted":"Eliminato con successo","Successfully verified":"Verifica avvenuta con successo","Super Admin":"Super amministratore","Support for additional services, like Google Drive, will be added over time.":"Il supporto ad altri servizi, come Google Drive, verrà aggiunto in futuro.","Support Our Mission":"Sostienici nella nostra missione","Sync":"Sincronizza","Sync raw and video files":"Sincronizzazione di file raw e video","Taken":"Preso","Teal":"Verde acqua","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow è necessario per la classificazione delle immagini, il riconoscimento facciale e il rilevamento di contenuti non sicuri.","Terrain":"Terreno","Text":"Testo","Text too long":"Testo troppo lungo","Thank You for Your Support!":"Grazie per il vostro sostegno!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Ecco perché PhotoPrism è stato costruito da zero per funzionare ovunque sia necessario, senza compromettere la libertà, la privacy o la funzionalità.","The index currently contains %{n} hidden files.":"L'indice contiene attualmente %{n} file nascosti.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Il loro formato potrebbe non essere supportato, non sono stati ancora convertiti in JPEG oppure ci sono duplicati.","Theme":"Tema","This field is required":"Questo campo è obbligatorio","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Questo monta la cartella degli originali come un'unità di rete e ti permette di aprire, modificare e cancellare i file dal tuo computer o smartphone come se fossero locali.","Time UTC":"Orario UTC","Time Zone":"Fuso Orario","Timeout":"Timeout","Title":{"Account":"Titolo","Photo":"Titolo","":"Titolo"},"Title / Position":"Titolo / Posizione","Title too long":"Titolo troppo lungo","to":"a","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Per evitare di essere bloccatə fuori dal tuo account, scarica, stampa o copua questo codice di recupero e conservalo in un luogo sicuro.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Per generare una nuova password per l'app inserisci il nome e l'ambito di autorizzazione dell'applicazione e imposta una data di scadenza:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Per cambiare app o dispositivo di autenticazione, disattiva prima l’autenticazione a due fattori, poi riattivala:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Per effettuare l'aggiornamento, è possibile inserire un codice di attivazione o fare clic su \"Registrati\" per iscriversi al nostro sito web:","Today":"Oggi","Toggle View":"Cambia Vista","Token":"Token","Too many files selected":"Troppi file selezionati","Too many requests":"Troppe richieste","Troubleshooting":"Risoluzione dei problemi","Try again using other filters or keywords.":"Riprova usando altri filtri o parole chiave.","Two-factor authentication has been enabled for your account.":"L’autenticazione a due fattori (2FA) è stata attivata sul tuo account","Type":"Tipo","Unable to delete":"Impossibile eliminare","Unauthorized":"Non autorizzato","Undo":"Annulla","Unique ID":"ID Unico","Unknown":"Sconosciuto","Unregistered":"Non registrato","Unsorted":"Non Ordinato","Unstack":"Separa","Updated":"Aggiornato","Updating faces":"Aggiornamento dei volti","Updating index":"Aggiornamento indici in corso","Updating moments":"Aggiornamento momenti in corso","Updating picture…":"Aggiornamento dell'immagine…","Updating previews":"Aggiornamento delle anteprime","Updating stacks":"Aggiornamento delle pile","Upgrade":"Aggiornamento","Upgrade Now":"Aggiorna ora","Upload":"Upload","Upload complete":"Upload completato","Upload complete. Indexing…":"Upload completato. Indicizzazione in corso…","Upload failed":"Upload fallito","Upload local files":"Upload file locali","Upload Path":"Percorso di caricamento","Upload to WebDAV and share links with friends.":"Upload a WebDAV e condividi link con i tuoi amici.","Uploading %{n} of %{t}…":"Caricamento %{n} su %{t}…","Uploading photos…":"Caricamento foto…","Uploading…":"Caricamento in corso…","Uploads that may contain such images will be rejected automatically.":"I file caricato che potrebbero contenere queste immagini verranno rifiutati automaticamente.","Use Presets":"Utilizzare le preimpostazioni","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Utilizza il seguente codice di recupero per accedere al tuo account quando non riesci a generare un codice di verifica valido con l'app di autenticazione:","Use your recovery code or contact an administrator for help.":"Usa il tuo codice di recupero o contatta un amministratore per chiedere aiuto.","User":"Utente","User Guide":"Guida per l'utente","User Interface":"Interfaccia Utente","Username":"Nome utente","Users":"Utenti","Vector":"Vettore","Vectors":"Vettori","Verification Code":"Codice di verifica","Video":"Video","Video Duration":"Durata Video","Videos":"Video","View":"Visualizza","View search results as a list.":"Visualizza i risultati della ricerca come elenco.","Viewer":"Visualizzatore","Visitor":"Visitatore","Visual Similarity":"Somiglianza visiva","Warning":"Avvertenze","We appreciate your feedback!":"Grazie per il tuo feedback!","We do our best to respond within five business days or less.":"Facciamo del nostro meglio per rispondere entro cinque giorni lavorativi o meno.","Web Login":"Accesso Web","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"I client WebDAV possono connettersi a PhotoPrism usando il seguente URL:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"Client WebDAV, come Windows Explorer di Microsoft o Finder di Apple, possono connettersi direttamente a PhotoPrism.","WebDAV Upload":"Upload WebDAV","WebGL support is disabled in your browser":"Il supporto WebGL è disabilitato nel tuo browser","Website":"Sito web","White":"Bianco","Work Details":"Dettagli Opera","Year":"Anno","Yellow":"Giallo","Yes":"Sì","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Potete contattarci all'indirizzo membership@photoprism.app per domande relative alla vostra iscrizione.","You can only download one album":"Puoi scaricare solo un album","You can only download one label":"Puoi scaricare solo un'etichetta","You can search for a location or move the marker on the map to change the position:":"Puoi cercare una località o spostare il segnalino sulla mappa per cambiare la posizione:","You can upload up to %{n} files for test purposes.":"È possibile caricare fino a %{n} file a scopo di test.","You may only select one item":"Puoi selezionare un solo elemento","You may rescan your library to find additional faces.":"Puoi scansionare nuovamente la tua libreria per trovare altri volti.","Your account has been successfully connected.":"Il vostro account è stato collegato con successo.","Your browser does not support WebGL":"Il tuo browser non supporta WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Il tuo continuo supporto ci aiuta a fornire aggiornamenti regolari e a rimanere indipendenti, in modo da poter adempiere alla nostra missione e proteggere la tua privacy.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"La tua libreria viene continuamente analizzata per creare automaticamente album di momenti speciali, viaggi e luoghi.","Zoom in/out":"Zoom avanti/indietro"}} \ No newline at end of file diff --git a/frontend/src/locales/json/ja.json b/frontend/src/locales/json/ja.json index 70630992d..f2aa95455 100644 --- a/frontend/src/locales/json/ja.json +++ b/frontend/src/locales/json/ja.json @@ -1 +1 @@ -{"ja":{"{0} appended action":"{0} 後アクション","{0} files":"{0} ファイル","{0} files ({1} in total)":"{0} 件のファイル(合計 {1} 件)","{0} more":"{0} 以上","{0} prepended action":"{0} 前アクション","{0} selected":"{0} 件選択済み","{0}-{1} of {2}":"{2} 件中 {0}-{1}","%{n} albums found":"%{n} 件のアルバムが見つかりました","%{n} files uploaded":"%{n} 件のファイルをアップロードしました","%{n} folders found":"%{n} 個のフォルダが見つかりました","%{n} GB of %{q} GB used":"%{n}q}のGBGB使用した","%{n} labels found":"%{n} 個のラベルが見つかりました","%{n} people found":"%{n} 人が見つかりました","%{n} pictures found":"%{n} 枚の写真が見つかりました","%{s} is too long":"%{s} は長すぎます","%{s} is too short":"%{s} は短すぎます","1 hour":"1 時間","12 hours":"12 時間","2-Factor Authentication":"2要素認証","2FA":"2FA","4 hours":"4 時間","A click will copy it to your clipboard.":"クリックするとクリップボードにコピーされます。","A new version of %{s} is available:":"新しいバージョン %{s} が利用可能です:","About":"概要","Access Token":"アクセストークン","Account":"アカウント","Account created":"アカウントが作成されました","Account deleted":"アカウントが削除されました","Account restored":"アカウントが復元されました","Accounts":"アカウント","Accuracy":"精度","Action":"アクション","Actions":"アクション","Activate":"アクティベート","Activate to remove sorting.":"並び替えを解除する。","Activate to sort ascending.":"昇順に並び替える。","Activate to sort descending.":"降順に並び替える。","Activation Code":"アクティベーションコード","Add":"追加","Add %{s}?":"%{s} を追加しますか?","Add Account":"アカウントを追加","Add Album":"アルバムを追加","Add files to your library via Web Upload.":"あなたのライブラリに Web アップロード経由でファイルを追加します。","Add Link":"リンクを追加","Add person?":"人を加えるか?","Add pictures from search results by selecting them.":"検索結果から写真を選択して追加することができます。","Add to album":"アルバムに追加","Added":"追加済み","Admin":"管理者","Advanced":"高度","After 1 day":"1 日後","After 3 days":"3 日後","After 7 days":"1 週間後","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"確認のためにパスワードを入力した後、互換性のある認証アプリまたはデバイスを使用して2要素認証を設定できます:","After one month":"1 ヶ月後","After one year":"1 年後","After selecting pictures from search results, you can add them to an album using the context menu.":"検索結果から写真を選択した後、コンテキストメニューでアルバムに追加することができます。","After two months":"2 ヶ月後","After two weeks":"2 週間後","Album":"アルバム","Album Backups":"アルバムのバックアップ","Album created":"アルバムが作成されました","Albums":"アルバム","Albums deleted":"アルバムが削除されました","All":"すべて","All %{n} albums loaded":"%{n} 個のアルバムをすべて読み込みました","All %{n} labels loaded":"%{n} 個のラベルをすべて読み込みました","All %{n} people loaded":"%{n} 人をすべて読み込みました","All Cameras":"すべてのカメラ","All Categories":"すべてのカテゴリ","All Colors":"すべての色","All Countries":"すべての国","All fields are required":"すべてのフィールドが必須項目です","All files from import folder":"インポートフォルダ内のすべてのファイル","All Lenses":"すべてのレンズ","All Months":"すべての月","All originals":"すべての originals","All Years":"すべての年","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"代わりに、Nextcloud などの WebDAV サーバから直接ファイルをアップロードすることができます。","Altitude":"高度","Altitude (m)":"高度 (m)","AM":"AM","Animated":"アニメーション","Animation":"アニメーション","Any private photos and videos remain private and won't be shared.":"すべてのプライベートな写真や動画はプライベートのまま保管され、共有されることはありません。","API Key":"API キー","Application":"アプリケーション","Apply":"適用","Approve":"承認","Apps and Devices":"アプリとデバイス","Archive":"アーカイブ","Archived":"アーカイブ済み","Are you sure you want to archive the selection?":"本当に選択した項目をアーカイブしますか?","Are you sure you want to delete these albums?":"本当にこれらのアルバムを削除しますか?","Are you sure you want to delete these labels?":"本当にこれらのラベルを削除しますか?","Are you sure you want to delete this account?":"本当にこのアカウントを削除しますか?","Are you sure you want to permanently delete these pictures?":"本当にこの写真を永久に削除しますか?","Are you sure you want to permanently delete this file?":"本当にこのファイルを完全に削除しますか?","Are you sure?":"本当に実行しますか ?","Artist":"アーティスト","Aspect Ratio":"アスペクト比","Audio":"オーディオ","Authentication":"認証","Auto":"自動","Back":"戻る","Back to top":"トップに戻る","Backup":"バックアップ","Badge":"バッジ","Base Path":"ベースパス","Become a member today, support our mission and enjoy our member benefits!":"今すぐ会員になって、私たちのミッションをサポートし、会員特典を楽しんでください!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"100%自己資金で運営しているため、私たちはお客様のデータを決して販売せず、私たちのソフトウェアとサービスについて常に透明性を保つことをお約束できます。","Bio":"自己紹介","Birth Date":"生年月日","Black":"黒","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: 修正されたLanczos法、低リンギングノイズ","Blue":"青","Brown":"茶","Browse":"ブラウズ","Browse and edit image classification labels.":"画像を分類するラベルを参照および編集します。","Browse and share your pictures organized into monthly albums.":"月ごとのアルバムに整理された写真を閲覧して共有します。","Browse Files":"ファイルを参照","Browse indexed files and folders in Library.":"ライブラリ内にあるインデックスされたファイルやフォルダを参照します。","Bug Report":"バグ報告","Busy, please wait…":"処理中です。しばらくお待ちください…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"当社が提供するソフトウェアおよびサービスを利用することにより、お客様は当社の利用規約、プライバシーポリシー、および行動規範に同意したものとみなされます。","Calendar":"カレンダー","Camera":"カメラ","Camera Serial":"カメラのシリアル","Can't access your authenticator app or device?":"認証アプリやデバイスにアクセスできませんか?","Can't load more, limit reached":"制限に達したため、これ以上読み込めません","Can't select more items":"これ以上項目を選択することはできません","Cancel":"キャンセル","Caption":"キャプション","Cards":"カード","Carousel slide {0} of {1}":"カルーセルスライド {1} 中の {0}","Category":"カテゴリ","Change Avatar":"アバターを変更","Change Password":"パスワードの変更","Change personal profile and security settings.":"個人のプロフィールやセキュリティ設定を変更します。","Change photo titles, locations, and other metadata.":"写真のタイトルや撮影地などのメタデータを変更します。","Change private flag":"プライベート状態を変更","Changes could not be saved":"変更を保存できませんでした","Changes successfully saved":"変更が正常に保存されました","Changes to the advanced settings require a restart to take effect.":"詳細設定の変更を反映するには再起動が必要です。","Checked":"選択済み","Chroma":"彩度","Cleaning index and cache":"インデックスとキャッシュのクリーニング","Cleanup":"クリーンアップ","Clear {0}":"{0} をクリア","Client":"クライアント","Client Credentials":"クライアント資格情報","Close":"閉じる","Codec":"コーデック","Color":"色","Color Profile":"カラープロファイル","Colors":"色","Compare Editions":"エディションを比較","Complete Rescan":"完全に再スキャン","Confidence":"信頼度","Confirm":"確認","Connect":"接続","Connect via WebDAV":"WebDAV 経由で接続","Connected":"接続済み","Contact Details":"お問い合わせ詳細","Contact Us":"お問い合わせ","Contains %{n} pictures.":"%{n} 枚の写真が含まれています。","Contains one picture.":"1 枚の写真が含まれています。","Content":"内容","Continue":"続行","Continue with %{provider}":"プロバイダー %{provider} で続行","Contributor":"貢献者","Converting":"変換しています","Copied to clipboard":"クリップボードにコピーしました","Copy":"コピー","Copyright":"著作権","Couldn't find anything.":"何も見つかりませんでした。","Country":"国","Create Account":"アカウントを作成","Create album":"アルバムを作成","Create regular backups based on the configured schedule.":"設定されたスケジュールに基づいて通常のバックアップを作成します。","Create YAML files to back up album metadata.":"アルバムのメタデータをバックアップする YAML ファイルを作成します。","Create YAML sidecar files to back up picture metadata.":"画像のメタデータをバックアップするために YAML サイドカーファイルを作成します。","Created":"作成日時","Creating thumbnails for":"次の項目のサムネイルを作成しています","Cubic: Moderate Quality, Good Performance":"Cubic: 適度な品質、良いパフォーマンス","Current Password":"現在のパスワード","Custom":"カスタム","Cyan":"シアン","Daily":"毎日","Database Backups":"データベースのバックアップ","Day":"日","Deactivate":"無効化","Debug Logs":"デバッグログ","Default":"既定","Default Folder":"既定のフォルダ","Delete":"削除","Delete All":"すべて削除","Delete all?":"すべて削除しますか?","Delete orphaned index entries, sidecar files and thumbnails.":"孤立したインデックスエントリ、サイドカーファイル、サムネイルを削除します。","Description":"概要","Detailed instructions can be found in our User Guide.":"詳しい手順についてはユーザーガイドを参照してください。","Details":"詳細","Dimensions":"寸法","Disable Backups":"バックアップを無効化","Disable Darktable":"Darktable を無効化","Disable ExifTool":"ExifTool を無効化","Disable features that require write permission for the originals folder.":"originals フォルダへの書き込み権限を必要とする機能を無効にします。","Disable FFmpeg":"FFmpeg を無効化","Disable ImageMagick":"ImageMagick を無効化","Disable interactive world maps and reverse geocoding.":"インタラクティブな世界地図と逆ジオコーディングを無効にします。","Disable Places":"場所を無効化","Disable RawTherapee":"RawTherapee を無効化","Disable TensorFlow":"TensorFlow を無効化","Disable Vectors":"ベクターを無効化","Disable WebDAV":"WebDAV を無効化","Disables vector graphics support.":"ベクターグラフィックのサポートを無効にします。","Disables video transcoding and thumbnail extraction.":"ビデオのトランスコーディングとサムネイル抽出を無効にします。","Discover":"発見","Dismiss":"解任する","Display Name":"表示名","Display picture captions in search results.":"検索結果に画像のキャプションを表示する。","Display picture titles in search results.":"検索結果に画像のタイトルを表示する。","Document":"ドキュメント","Documents":"ドキュメント","Don't use Darktable to convert RAW images.":"RAW ファイルの変換に Darktable を使用しないようにします。","Don't use ImageMagick to convert images.":"画像の変換に ImageMagick を使用しないようにします。","Don't use RawTherapee to convert RAW images.":"RAW ファイルの変換に RawTherapee を使用しないようにします。","Done":"完了","Done.":"完了しました。","Download":"ダウンロード","Download only original media files, without any automatically generated files.":"自動生成されたファイルを使用せず、オリジナルのメディアファイルのみをダウンロードするようにします。","Download remote files":"リモートにあるファイルをダウンロード","Download single files and zip archives.":"単一のファイルと zip アーカイブをダウンロードします。","Downloading…":"ダウンロードしています…","Downscaling Filter":"ダウンスケーリングフィルター","Drag and drop files here":"ここにファイルをドラッグ&ドロップしてください","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"大量のメールを受信しているため、すぐにお返事できない場合があります。","Duplicates will be skipped and only appear once.":"重複している項目はスキップされ、1度だけ表示されます。","Duration":"長さ","Dynamic Previews":"動的プレビュー","Dynamic Size Limit: %{n}px":"動的サイズの制限: %{n} px","E-Mail":"メール","Edit":"編集","Edit %{s}":"%{s} を編集","Edit Account":"アカウントを編集","Edit Photo":"写真を編集","Edited":"編集済み","Email":"メールアドレス","Enable debug mode to display additional logs and help with troubleshooting.":"デバッグモードを有効にすると、追加のログが表示され、トラブルシューティングに役立ちます。","Enable new features that may be incomplete or unstable.":"不完全または不安定な新機能を有効にします。","Enables RAW converter presets. May reduce performance.":"RAW 現像機のプリセットを有効にします。パフォーマンスが低下する場合があります。","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"2要素認証を有効にすると、ログイン時にランダムに生成された確認コードが必要になるため、誰かがパスワードを使っても、アカウントにアクセスできなくなります。","Enter date":"日付入力","Enter dates":"日付入力","Enter the code generated by your authenticator app:":"認証アプリが生成したコードを入力してください:","Enter verification code":"認証コードを入力してください","Enter your password to confirm the action and continue:":"パスワードを入力して操作を確認し、続行します:","Error":"エラー","Errors":"エラー","Estimate":"推定","Estimate Locations":"推定位置","Estimate the approximate location of pictures without GPS coordinates.":"GPS 座標なしで写真のおおよその位置を推定します。","Every two days":"2 日毎","Exclude content marked as private from search results, shared albums, labels, and places.":"プライベートに設定されたコンテンツを、検索結果、共有アルバム、ラベル、場所から除外することができます。","Exclude hidden":"隠された項目を除外","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"ビデオ、ライブフォト、XMP を完全にサポートするには、ExifTool が必要です。","Experimental Features":"実験的な機能","Expires":"有効期限","Exposure":"露出","Extract still images and generate thumbnails while indexing.":"インデックス作成中に静止画像を抽出し、サムネイルを生成します。","F Number":"F値","Face":"顔","Faces":"顔","Failed removing link":"リンクを削除できませんでした","Failed to connect account.":"アカウントの接続に失敗しました。","Failed updating link":"リンクを更新できませんでした","Family Name":"姓","Fast":"高速","Favorite":"お気に入り","Favorites":"お気に入り","Feature Request":"機能のリクエスト","Feedback":"フィードバック","Female":"女性","File":"ファイル","File Browser":"ファイルブラウザ","File Conversion":"ファイル変換","File Name":"ファイル名","File Size":"ファイルサイズ","Filename":"ファイル名","Files":"ファイル","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"「IMG_1234 (2)」や「IMG_1234 (3)」のような連名のファイルは同じ写真として扱います。","First page":"最初のページ","Focal Length":"焦点距離","Folder":"フォルダ","Folder contains %{n} files":"フォルダには %{n} 件のファイルがあります","Folder is empty":"フォルダは空です","Folders":"フォルダ","Forgot password?":"パスワードを忘れましたか?","FPS":"FPS","Frames":"フレーム","Full Access":"フルアクセス","Fullscreen":"全画面","General":"一般","Generate":"生成","Generate albums of special moments, journeys, and places.":"特別な瞬間、旅、場所を記録したアルバムを自動的に生成します。","Generate Previews":"プレビューを生成","Generated":"生成済み","Get Started":"始める","Given Name":"名","Global Options":"グローバルオプション","Go to page {0}":"ページ {0} に移動","Gold":"金","Green":"緑","Grey":"グレー","Guest":"ゲスト","Hash":"ハッシュ","Help":"ヘルプ","Help & Support":"ヘルプ&サポート","Hidden":"隠し項目","Hidden Files":"隠しファイル","Hide":"非表示","Hide photos that have been moved to archive.":"アーカイブに移動された写真を隠します。","High":"高","High Dynamic Range (HDR)":"ハイダイナミックレンジ(HDR)","How can we help?":"私達にできることはありますか?","Hybrid":"ハイブリッド","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"認証アプリまたはデバイスにアクセスできなくなった場合は、回復コードを使用してアカウントに再度アクセスできます。","Image":"写真","Image Quality":"画質","Import":"インポート","Import failed":"インポートに失敗しました","Imported files will be sorted by date and given a unique name to avoid duplicates.":"インポートされたファイルは日付で並び替えられ、重複しないよう一意の名前が付けられます。","Imported files will be sorted by date and given a unique name.":"インポートされたファイルは日付で並び替えられ、一意の名前が付けられます。","Importing %{s}…":"%{s} をインポートしています…","Importing files to originals…":"originals にファイルをインポートしています…","in":"次の場所で","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"探している写真が見つからない場合は、ライブラリーを再スキャンし、インデックス作成が完了するまでお待ちください。","Include RAW image files when downloading stacks and archives.":"スタックやアーカイブのダウンロード時に、RAW 画像ファイルを含めます。","Include sidecar files when downloading stacks and archives.":"スタックやアーカイブをダウンロードする際に、サイドカーファイルを含めます。","Increase storage size or delete files to continue.":"続行するには、ストレージサイズを増やすか、ファイルを削除してください。","Index":"インデックス","Index and import files through the user interface.":"ユーザーインターフェースを通じて、ファイルのインデックスやインポートを行います。","Indexing":"インデックス中です","Indexing failed":"インデックスに失敗しました","Indexing media and sidecar files…":"メディアとサイドカーファイルをインデックスしています…","Information":"インフォメーション","Instance ID":"インスタンス ID","Insufficient storage.":"ストレージが不足しています。","Interval":"間隔","Invalid":"無効","Invalid address":"無効なアドレス","Invalid country":"無効な国","Invalid date":"無効な日付","Invalid parameters":"無効なパラメータ","Invalid photo selected":"無効な写真が選択されました","Invalid time":"無効な時間","Invalid URL":"無効なURL","It is a one-time use code that will disable 2FA for your account when you use it.":"これは1回のみ使えるコードであり、使用するとアカウントの 2FA が無効になります。","Item":"項目","Items per page:":"ページごとの項目:","JPEG Quality: %{n}":"JPEG 品質: %{n}","JPEG Size Limit: %{n}px":"JPEG サイズの制限: %{n} px","JPEGs and thumbnails are automatically rendered as needed.":"JPEG とサムネイルは必要な場合に自動的に生成されます。","Keywords":"キーワード","Label":"ラベル","Labels":"ラベル","Labels deleted":"ラベルが削除されました","Lanczos: Detail Preservation, Minimal Artifacts":"ランチョス法: 鮮明な細部、最小限のノイズ","Language":"言語","Last Active":"最終アクティブ","Last Login":"最終ログイン","Last page":"最終ページ","Last Sync":"最終同期","Last Used":"最終利用","Latitude":"緯度","LDAP/AD":"LDAP/AD","Learn more":"詳細はこちら","Learn More":"詳細はこちら","Legal Information":"法的情報","Lens":"レンズ","Library":"ライブラリ","License":"ライセンス","Like":"お気に入り","Lime":"黄緑","Limit reached, showing first %{n} files":"制限に達しました。最初の %{n} 個のファイルを表示しています","Linear: Very Smooth, Best Performance":"リニア: とても滑らか、ベストパフォーマンス","Link":"リンク","List":"リスト","List View":"リスト表示","Live":"ライブ","Live Photos":"ライブ写真","Load more":"もっと読み込む","Loading items...":"項目を読み込んでいます...","Loading...":"読み込み中...","Local":"ローカル","Local Time":"現地時間","Location":"場所","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"PhotoPrism が壊れたファイルを見つけたり、潜在的な問題が見つかったときはここにログメッセージが表示されます。","Login":"ログイン","Logout":"ログアウト","Logs":"ログ","Longitude":"経度","Low":"低","Magenta":"マゼンタ","Main Color":"メインカラー","Male":"男性","Manage Account":"アカウント管理","Manual":"マニュアル","Manual Upload":"手動アップロード","Maps":"地図","Marker":"マーカー","Maximum number of accounts has been reached.":"アカウント数が上限に達しました。","Media":"メディア","Medium":"中","Membership":"メンバーシップ","Merge %{a} with %{b}?":"%{a} を %{b} に統合しますか?","Message":"メッセージ","Message sent":"メッセージを送信しました","Metadata":"メタデータ","Metrics":"メトリクス","Minimize":"最小化","Missing":"紛失","Missing or invalid configuration":"設定が見つからない、もしくは無効です","Moments":"モーメント","Monochrome":"モノクロ","Month":"月","More options":"その他のオプション","Mosaic":"モザイク","Most Relevant":"最も関連性が高い","Move Files":"ファイルを移動","Must have at least %{n} characters.":"少なくとも %{n} 文字必要です。","Mute":"ミュート","Name":"名前","Name too long":"名前が長すぎます","Never":"なし","New":"新規","New Password":"新しいパスワード","Newest First":"新しい順","Next":"次","Next page":"次のページ","Next visual":"次のビジュアル","No":"いいえ","No albums found":"アルバムが見つかりませんでした","No data available":"データが見つかりませんでした","No labels found":"ラベルが見つかりませんでした","No matching records found":"該当する記録が見つかりませんでした","No more":"これ以上ありません","No people found":"人が見つかりませんでした","No pictures found":"写真はありません","No recently edited pictures":"最近編集した写真はありません","No server connection":"サーバーに接続できません","No servers configured.":"サーバーが設定されていません。","No services configured.":"接続されているサービスはありません。","No thanks":"いいえ、結構です","No warnings or error containing this keyword. Note that search is case-sensitive.":"このキーワードを含む警告やエラーが見つかりませんでした。この検索では大文字と小文字は区別されます。","Non-photographic and low-quality images require a review before they appear in search results.":"写真ではないものや、低品質な画像は検索結果に表示される前にレビューが必要です。","None":"なし","Not allowed":"許可されていません","Not found":"見つかりませんでした","Not sorted.":"並び替えられていません。","Not supported":"サポートされていません","Note you may manually manage your originals folder and importing is optional.":"なお、オリジナルフォルダは手動で管理することができ、インポートは任意です。","Note:":"メモ:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"メモ: Nextcloud や PhotoPrism といった WebDAV サーバのみがバックアップやファイルアップロードのサービスとして設定できます。","Notes":"メモ","Nothing to see here yet.":"まだ何もありません。","Nothing was found.":"何も見つかりませんでした。","Offline":"オフライン","OIDC":"OIDC","OK":"OK","Oldest First":"古い順","On Windows, enter the following resource in the connection dialog:":"Windowsの場合、接続ダイアログに以下の内容を入力します:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"サムネイルのオンデマンド生成は、CPU とメモリの使用率が高くなる可能性があります。リソースに制限のあるサーバーや NAS デバイスには推奨されません。","Once a week":"1週間に1度","One album found":"1 つのアルバムが見つかりました","One file found":"1 個のファイルが見つかりました","One file uploaded":"1 個のファイルをアップロードしました","One folder found":"1 個のフォルダが見つかりました","One label found":"1 個のラベルが見つかりました","One person found":"1 人が見つかりました","One picture found":"1 枚の写真が見つかりました","Only locally managed accounts can be set up for authentication with 2FA.":"2FA による認証を設定できるのは、ローカルで管理されているアカウントのみです。","Open":"オープン","optional":"任意","or":"または","Orange":"オレンジ","Organization":"組織","Orientation":"方向","Original file names will be stored and indexed.":"オリジナルのファイル名は保存され、インデックスされます。","Original Name":"オリジナル名","Originals":"オリジナル","Other":"他","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"私たちのミッションは、プライバシーに配慮してあなたの写真を整理し、容易にアクセスするための最もユーザーフレンドリーなソリューションを提供することです。","Outdoor":"アウトドア","Page {0}, Current page":"ページ {0}、現在のページ","Pages":"ページ","Pagination Navigation":"ページネーション・ナビゲーション","Panorama":"パノラマ","Panoramas":"パノラマ","Password":"パスワード","Password changed":"パスワードが変更されました","People":"人","People you share a link with will be able to view public contents.":"あなたがリンクを共有した人だけが公開された内容を閲覧できます。","Permanently deleted":"完全に削除されました","Permanently remove files to free up storage.":"ファイルを完全に削除して、ストレージを空けることができます。","Person":"人物","Personal":"個人","Photo":"写真","PhotoPrism is 100% self-funded and independent.":"PhotoPrism は100%自己資金で運営されている独立系企業です。","PhotoPrism+ Membership":"PhotoPrism+ メンバーシップ","Photos":"写真","Picture Title":"写真タイトル","Pink":"ピンク","Place":"場所","Place & Time":"場所と時間","Places":"場所","Please confirm your new password.":"新しいパスワードを再入力してください。","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"ランダムに生成された次のアプリパスワードをコピーして安全な場所に保存してください。このパスワードは再表示できません:","Please do not upload any private, unlawful or offensive pictures.":"私的、違法、不快な写真はアップロードしないでください。","Please don't upload photos containing offensive content.":"過激な内容を含む写真はアップロードしないでください。","Please enter OTP character {0}":"OTP {0} を入力してください","Please note that changing your password will log you out on other devices and browsers.":"パスワードを変更すると、他のデバイスやブラウザでログアウトされますのでご注意ください。","Please restart your instance for the changes to take effect.":"変更を反映するために、インスタンスを再起動してください。","Please wait…":"お待ちください…","PM":"PM","PNG Size Limit: %{n}px":"PNG サイズ制限: %{n} px","Portrait":"ポートレート","Preserve filenames":"ファイル名を保持","Press enter to create a new album.":"Enter キーを押して新しいアルバムを作成します。","Prevent database and album backups as well as YAML sidecar files from being created.":"データベースとアルバムのバックアップ、YAML サイドカーファイルが生成されないようにします。","Prevent other apps from accessing PhotoPrism as a shared network drive.":"他のアプリが PhotoPrism を共有ネットワークドライブとしてアクセスできないようにします。","Preview":"プレビュー","Preview Images":"プレビュー画像","Previous":"前へ","Previous page":"前のページ","Previous visual":"以前のビジュアル","Primary":"プライマリ","Private":"プライベート","Product Feedback":"製品フィードバック","Projection":"投影","Purple":"紫","Quality Filter":"品質フィルター","Quality Score":"品質スコア","r":"r","Random":"ランダム","Rating {0} of {1}":"{1} 中 {0} の評価","Raw":"Raw","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"既にインデックスされたものや変更されていないファイルを含むオリジナルを再度インデックスします。","Read-Only Mode":"読み込み専用モード","Recently Added":"最近追加","Recently Archived":"最近アーカイブ","Recently Edited":"最近編集","Recognition starts after indexing has been completed.":"認識はインデックスが完了した後に開始されます。","Recognize faces so people can be assigned and found.":"顔を認識することで、特定の人を探すことができます。","Recognized":"認識済み","Recovery Code":"リカバリーコード","Red":"赤","Refresh":"リフレッシュ","Regions":"地域","Register":"登録","Reload":"再読み込み","Reloading…":"再読み込みしています…","Remote Sync":"リモート同期","Remove":"削除","remove failed: unknown album":"削除に失敗しました: 不明なアルバムです","Remove from Album":"アルバムから削除","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"インポートされたファイルを削除してストレージを節約します。対応していない形式のファイルは削除されることなく、現在の場所に残ります。","Request failed - are you offline?":"リクエストに失敗しました - オフラインですか?","Request failed - invalid response":"リクエストに失敗しました - 不正なレスポンスです","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"写真以外の画像や低品質の画像は、検索結果に表示される前にレビューすることを必須にします。","Resolution":"解像度","Restart":"再起動","Restore":"復元","Restored":"復元されました","Retry Limit":"リトライ回数制限","Retype Password":"パスワード再入力","Review":"レビュー","Role":"役割","Rows per page:":"ページあたりの行数:","Satellite":"衛星","Save":"保存","Scan":"スキャン","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"認証アプリで QR コードをスキャンするか、以下のセットアップキーを使用して、生成された確認コードを入力してください:","Scans":"スキャン","Scope":"スコープ","Search":"検索","Search and display photos on a map.":"地図上から写真を検索および表示します。","Season":"季節","Secret":"シークレット","Security and Access":"セキュリティとアクセス","Select":"選択","Select a source folder to import files…":"ファイルをインポートする元フォルダーを選択する…","Select date":"日付選択","Select dates":"日付選択","Select or create an album":"アルバム選択または作成","Select the files to upload…":"アップロードするファイルを選択する…","Select the folder to be indexed…":"インデックスするフォルダを選択する…","Select Time":"時刻選択","Selection approved":"選択した項目が承認されました","Selection archived":"選択した項目がアーカイブされました","Selection restored":"選択した項目が復元されました","Sequential Name":"連名","Service URL":"サービス URL","Services":"サービス","Session":"セッション","Session ID":"セッション ID","Sessions":"セッション","Set as Album Cover":"アルバムカバーに設定する","Settings":"設定","Settings saved":"設定が保存されました","Setup":"セットアップ","Share":"共有","Share %{s}":"%{s} を共有","Share your pictures with other apps and services.":"他のアプリやサービスと写真を共有することができます。","Show":"表示","Show all new faces":"すべての新しい顔を表示","Show Captions":"キャプションを表示","Show hidden":"非表示項目を表示","Show less":"表示を減らす","Show more":"表示を増やす","Show server logs in Library.":"ライブラリにサーバーログを表示します。","Show Titles":"タイトルを表示","Sidecar":"サイドカー","Sidecar Files":"サイドカーファイル","Sign in":"サインイン","Similar":"似ている項目","Size":"サイズ","Slideshow":"スライドショー","Slow":"低速","Software":"ソフトウェア","Software Update":"ソフトウェアアップデート","Something went wrong, try again":"何かが間違っています。もう一度やり直してください","Sort by":"並び替え","Sort Order":"並び替え順","Sorted ascending.":"昇順にソートされています。","Sorted descending.":"降順にソートされています。","Source":"ソース","Stack":"スタック","Stack files sharing the same unique image or instance identifier.":"同じ画像またはインスタンス識別子を共有するファイルをスタックします。","Stack pictures taken at the exact same time and location based on their metadata.":"メタデータを元に、全く同じ時間と場所で撮影された写真をスタックします。","Stackable":"スタック可能","Stacks":"スタック","Start":"開始","Start Page":"スタートページ","Static Size Limit: %{n}px":"静的サイズ制限: %{n} px","Status":"状態","Storage":"ストレージ","Streets":"市街","Subject":"件名","Submit":"送信","Successfully activated":"正常に有効化されました","Successfully Connected":"接続に成功しました","Successfully deleted":"削除に成功しました","Successfully verified":"検証に成功しました","Super Admin":"スーパーアドミン","Support for additional services, like Google Drive, will be added over time.":"Google ドライブなどの追加のサービスのサポートが順次追加される予定です。","Support Our Mission":"私たちのミッションを支援","Sync":"同期","Sync raw and video files":"Raw ファイルや動画ファイルを同期","Taken":"撮影日","Teal":"青緑","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow は画像分類、顔認識、安全でないコンテンツの検出に必要です。","Terrain":"地形","Text":"テキスト","Text too long":"テキストが長すぎます","Thank You for Your Support!":"ご支援ありがとうございます!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"そのため、PhotoPrism は自由、プライバシー、機能性を損なうことなく、必要なときに使えるように一から作り上げました。","The index currently contains %{n} hidden files.":"インデックスには現在 %{n} 件の隠しファイルがあります。","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"それらの形式がサポートされていないか、まだ JPEG に変換されていないか、重複している可能性があります。","Theme":"テーマ","This field is required":"このフィールドは必須です","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"オリジナルフォルダをネットワークドライブとしてマウントし、あなたのコンピュータまたはスマートフォンからまるでローカルのようにファイルを開き、編集、削除できるようにします。","Time UTC":"UTC 時間","Time Zone":"タイムゾーン","Timeout":"タイムアウト","Title":{"Account":"タイトル","Photo":"タイトル","":"タイトル"},"Title / Position":"タイトル / 位置","Title too long":"タイトルが長すぎます","to":"対象","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"アカウントがロックアウトされないようにするには、今すぐこの回復コードをダウンロード、印刷、コピーして、安全な場所に保管してください。","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"新しいアプリ固有のパスワードを生成するには、アプリケーションの名前と承認範囲を入力し、有効期限を選択してください:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"新しい認証アプリまたはデバイスに切り替えるには、まず2要素認証を無効にしてから再度有効にします:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"アップグレードするには、アクティベーションコードを入力するか、「登録」をクリックして当社ウェブサイトからサインアップしてください:","Today":"今日","Toggle View":"表示切り替え","Token":"トークン","Too many files selected":"選択されたファイルが多すぎます","Too many requests":"リクエストが多すぎます","Troubleshooting":"トラブルシューティング","Try again using other filters or keywords.":"他のフィルターまたはキーワードで試してみてください。","Two-factor authentication has been enabled for your account.":"あなたのアカウントでは2要素認証が有効になっています。","Type":"種類","Unauthorized":"未承認","Undo":"取り消し","Unique ID":"一意の ID","Unknown":"不明","Unregistered":"未登録","Unsorted":"未分類","Unstack":"スタック解除","Updated":"更新日","Updating faces":"顔を更新しています","Updating index":"インデックスを更新しています","Updating moments":"モーメントを更新しています","Updating picture…":"写真を更新しています…","Updating previews":"プレビューを更新しています","Updating stacks":"スタックを更新しています","Upgrade":"アップグレード","Upgrade Now":"今すぐアップグレード","Upload":"アップロード","Upload complete":"アップロード完了","Upload complete. Indexing…":"アップロードが完了しました。インデックスしています…","Upload failed":"アップロードに失敗しました","Upload local files":"ローカルファイルをアップロード","Upload Path":"アップロードパス","Upload to WebDAV and share links with friends.":"WebDAV にアップロードして、友達とリンクを共有できます。","Uploading %{n} of %{t}…":"%{t} 件中 %{n} 件目をアップロードしています…","Uploading photos…":"写真をアップロードしています…","Uploading…":"アップロード中…","Uploads that may contain such images will be rejected automatically.":"そのような画像を含むアップロードは自動的に拒否されます。","Use Presets":"プリセットを使用","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"認証アプリで有効な確認コードを生成できない場合は、次の回復コードを使用してアカウントにアクセスしてください:","Use your recovery code or contact an administrator for help.":"リカバリーコードを使用するか、管理者に問い合わせてください。","User":"ユーザー","User Guide":"ユーザーガイド","User Interface":"ユーザーインターフェース","Username":"ユーザー名","Users":"ユーザー","Vector":"ベクター","Vectors":"ベクター","Verification Code":"検証コード","Video":"動画","Video Duration":"動画の長さ","Videos":"動画","View":"表示","View search results as a list.":"検索結果を一覧表示します。","Viewer":"ビューア","Visitor":"ビジター","Visual Similarity":"視覚的類似性","Warning":"警告","We appreciate your feedback!":"ご感想をお寄せいただきありがとうございました!","We do our best to respond within five business days or less.":"5営業日以内に対応できるよう、最善を尽くします。","Web Login":"ウェブログイン","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"WebDAV クライアントは PhotoPrism に次の URL で接続することができます:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"Microsoft Windows エクスプローラや Apple Finder のような WebDAV クライアントは、直接 PhotoPrism に接続できます。","WebDAV Upload":"WebDAV アップロード","WebGL support is disabled in your browser":"お使いのブラウザで WebGL のサポートが無効化されています","Website":"ウェブサイト","White":"白","Work Details":"業務内容","Year":"年","Yellow":"黄","Yes":"はい","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"メンバーシップに関するご質問は、membership@photoprism.app までご連絡ください。","You can only download one album":"1 件のアルバムのみダウンロードできます","You can only download one label":"1 件のラベルのみダウンロードできます","You can upload up to %{n} files for test purposes.":"テスト用に最大 %{n} 件のファイルをアップロードできます。","You may only select one item":"1 件だけ選択してください","You may rescan your library to find additional faces.":"さらに顔を見つけるには、ライブラリを再スキャンしてください。","Your account has been successfully connected.":"アカウントが正常に接続されました。","Your browser does not support WebGL":"お使いのブラウザでは WebGL を利用できません","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"皆様の継続的なご支援により、私たちは定期的なアップデートを提供し、独立性を保ち、使命を果たし、お客様のプライバシーを保護することができます。","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"あなたのライブラリは継続的に分析され、特別な瞬間、旅行、場所を記録したアルバムを自動的に作成します。","Zoom in/out":"ズームイン/アウト"}} \ No newline at end of file +{"ja":{"{0} appended action":"{0} 後アクション","{0} files":"{0} ファイル","{0} files ({1} in total)":"{0} 件のファイル(合計 {1} 件)","{0} more":"{0} 以上","{0} prepended action":"{0} 前アクション","{0} selected":"{0} 件選択済み","{0}-{1} of {2}":"{2} 件中 {0}-{1}","%{n} albums found":"%{n} 件のアルバムが見つかりました","%{n} files uploaded":"%{n} 件のファイルをアップロードしました","%{n} folders found":"%{n} 個のフォルダが見つかりました","%{n} GB of %{q} GB used":"%{n}q}のGBGB使用した","%{n} labels found":"%{n} 個のラベルが見つかりました","%{n} people found":"%{n} 人が見つかりました","%{n} pictures found":"%{n} 枚の写真が見つかりました","%{s} is too long":"%{s} は長すぎます","%{s} is too short":"%{s} は短すぎます","1 hour":"1 時間","12 hours":"12 時間","2-Factor Authentication":"2要素認証","2FA":"2FA","4 hours":"4 時間","A click will copy it to your clipboard.":"クリックするとクリップボードにコピーされます。","A new version of %{s} is available:":"新しいバージョン %{s} が利用可能です:","About":"概要","Access Token":"アクセストークン","Account":"アカウント","Account created":"アカウントが作成されました","Account deleted":"アカウントが削除されました","Account restored":"アカウントが復元されました","Accounts":"アカウント","Accuracy":"精度","Action":"アクション","Actions":"アクション","Activate":"アクティベート","Activate to remove sorting.":"並び替えを解除する。","Activate to sort ascending.":"昇順に並び替える。","Activate to sort descending.":"降順に並び替える。","Activation Code":"アクティベーションコード","Add":"追加","Add %{s}?":"%{s} を追加しますか?","Add Account":"アカウントを追加","Add Album":"アルバムを追加","Add files to your library via Web Upload.":"あなたのライブラリに Web アップロード経由でファイルを追加します。","Add Link":"リンクを追加","Add person?":"人を加えるか?","Add pictures from search results by selecting them.":"検索結果から写真を選択して追加することができます。","Add to album":"アルバムに追加","Added":"追加済み","Adjust Location":"場所を調整する","Admin":"管理者","Advanced":"高度","After 1 day":"1 日後","After 3 days":"3 日後","After 7 days":"1 週間後","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"確認のためにパスワードを入力した後、互換性のある認証アプリまたはデバイスを使用して2要素認証を設定できます:","After one month":"1 ヶ月後","After one year":"1 年後","After selecting pictures from search results, you can add them to an album using the context menu.":"検索結果から写真を選択した後、コンテキストメニューでアルバムに追加することができます。","After two months":"2 ヶ月後","After two weeks":"2 週間後","Album":"アルバム","Album Backups":"アルバムのバックアップ","Album created":"アルバムが作成されました","Album deleted":"アルバム削除","Albums":"アルバム","Albums deleted":"アルバムが削除されました","All":"すべて","All %{n} albums loaded":"%{n} 個のアルバムをすべて読み込みました","All %{n} labels loaded":"%{n} 個のラベルをすべて読み込みました","All %{n} people loaded":"%{n} 人をすべて読み込みました","All Cameras":"すべてのカメラ","All Categories":"すべてのカテゴリ","All Colors":"すべての色","All Countries":"すべての国","All fields are required":"すべてのフィールドが必須項目です","All files from import folder":"インポートフォルダ内のすべてのファイル","All Lenses":"すべてのレンズ","All Months":"すべての月","All originals":"すべての originals","All Years":"すべての年","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"代わりに、Nextcloud などの WebDAV サーバから直接ファイルをアップロードすることができます。","Altitude":"高度","Altitude (m)":"高度 (m)","AM":"AM","Animated":"アニメーション","Animation":"アニメーション","Animations":"アニメーション","Any private photos and videos remain private and won't be shared.":"すべてのプライベートな写真や動画はプライベートのまま保管され、共有されることはありません。","API Key":"API キー","Application":"アプリケーション","Apply":"適用","Approve":"承認","Apps and Devices":"アプリとデバイス","Archive":"アーカイブ","Archived":"アーカイブ済み","Are you sure you want to archive the selection?":"本当に選択した項目をアーカイブしますか?","Are you sure you want to delete these albums?":"本当にこれらのアルバムを削除しますか?","Are you sure you want to delete these labels?":"本当にこれらのラベルを削除しますか?","Are you sure you want to delete this account?":"本当にこのアカウントを削除しますか?","Are you sure you want to delete this album?":"本当にこのアルバムを削除したいのか?","Are you sure you want to permanently delete these pictures?":"本当にこの写真を永久に削除しますか?","Are you sure you want to permanently delete this file?":"本当にこのファイルを完全に削除しますか?","Are you sure?":"本当に実行しますか ?","Artist":"アーティスト","Aspect Ratio":"アスペクト比","Audio":"オーディオ","Authentication":"認証","Auto":"自動","Back":"戻る","Back to top":"トップに戻る","Backup":"バックアップ","Badge":"バッジ","Base Path":"ベースパス","Become a member today, support our mission and enjoy our member benefits!":"今すぐ会員になって、私たちのミッションをサポートし、会員特典を楽しんでください!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"100%自己資金で運営しているため、私たちはお客様のデータを決して販売せず、私たちのソフトウェアとサービスについて常に透明性を保つことをお約束できます。","Bio":"自己紹介","Birth Date":"生年月日","Black":"黒","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: 修正されたLanczos法、低リンギングノイズ","Blue":"青","Brown":"茶","Browse":"ブラウズ","Browse and edit image classification labels.":"画像を分類するラベルを参照および編集します。","Browse and share your pictures organized into monthly albums.":"月ごとのアルバムに整理された写真を閲覧して共有します。","Browse Files":"ファイルを参照","Browse indexed files and folders in Library.":"ライブラリ内にあるインデックスされたファイルやフォルダを参照します。","Bug Report":"バグ報告","Busy, please wait…":"処理中です。しばらくお待ちください…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"当社が提供するソフトウェアおよびサービスを利用することにより、お客様は当社の利用規約、プライバシーポリシー、および行動規範に同意したものとみなされます。","Calendar":"カレンダー","Camera":"カメラ","Camera Serial":"カメラのシリアル","Can't access your authenticator app or device?":"認証アプリやデバイスにアクセスできませんか?","Can't load more, limit reached":"制限に達したため、これ以上読み込めません","Can't select more items":"これ以上項目を選択することはできません","Cancel":"キャンセル","Cannot copy to clipboard":"クリップボードにコピーできない","Caption":"キャプション","Cards":"カード","Carousel slide {0} of {1}":"カルーセルスライド {1} 中の {0}","Category":"カテゴリ","Change Avatar":"アバターを変更","Change Password":"パスワードの変更","Change personal profile and security settings.":"個人のプロフィールやセキュリティ設定を変更します。","Change photo titles, locations, and other metadata.":"写真のタイトルや撮影地などのメタデータを変更します。","Change private flag":"プライベート状態を変更","Changes could not be saved":"変更を保存できませんでした","Changes successfully saved":"変更が正常に保存されました","Changes to the advanced settings require a restart to take effect.":"詳細設定の変更を反映するには再起動が必要です。","Checked":"選択済み","Chroma":"彩度","Cleaning index and cache":"インデックスとキャッシュのクリーニング","Cleanup":"クリーンアップ","Clear {0}":"{0} をクリア","Client":"クライアント","Client Credentials":"クライアント資格情報","Close":"閉じる","Codec":"コーデック","Color":"色","Color Profile":"カラープロファイル","Colors":"色","Compare Editions":"エディションを比較","Complete Rescan":"完全に再スキャン","Confidence":"信頼度","Confirm":"確認","Connect":"接続","Connect via WebDAV":"WebDAV 経由で接続","Connected":"接続済み","Contact Details":"お問い合わせ詳細","Contact Us":"お問い合わせ","Contains %{n} pictures.":"%{n} 枚の写真が含まれています。","Contains one picture.":"1 枚の写真が含まれています。","Content":"内容","Continue":"続行","Continue with %{provider}":"プロバイダー %{provider} で続行","Contributor":"貢献者","Converting":"変換しています","Copied to clipboard":"クリップボードにコピーしました","Copy":"コピー","Copyright":"著作権","Couldn't find anything.":"何も見つかりませんでした。","Country":"国","Create Account":"アカウントを作成","Create album":"アルバムを作成","Create regular backups based on the configured schedule.":"設定されたスケジュールに基づいて通常のバックアップを作成します。","Create YAML files to back up album metadata.":"アルバムのメタデータをバックアップする YAML ファイルを作成します。","Create YAML sidecar files to back up picture metadata.":"画像のメタデータをバックアップするために YAML サイドカーファイルを作成します。","Created":"作成日時","Creating thumbnails for":"次の項目のサムネイルを作成しています","Cubic: Moderate Quality, Good Performance":"Cubic: 適度な品質、良いパフォーマンス","Current Password":"現在のパスワード","Custom":"カスタム","Cyan":"シアン","Daily":"毎日","Database Backups":"データベースのバックアップ","Day":"日","Deactivate":"無効化","Debug Logs":"デバッグログ","Default":"既定","Default Folder":"既定のフォルダ","Delete":"削除","Delete Album":"アルバムを削除する","Delete All":"すべて削除","Delete all?":"すべて削除しますか?","Delete orphaned index entries, sidecar files and thumbnails.":"孤立したインデックスエントリ、サイドカーファイル、サムネイルを削除します。","Description":"概要","Detailed instructions can be found in our User Guide.":"詳しい手順についてはユーザーガイドを参照してください。","Details":"詳細","Dimensions":"寸法","Disable Backups":"バックアップを無効化","Disable Darktable":"Darktable を無効化","Disable ExifTool":"ExifTool を無効化","Disable features that require write permission for the originals folder.":"originals フォルダへの書き込み権限を必要とする機能を無効にします。","Disable FFmpeg":"FFmpeg を無効化","Disable ImageMagick":"ImageMagick を無効化","Disable interactive world maps and reverse geocoding.":"インタラクティブな世界地図と逆ジオコーディングを無効にします。","Disable Places":"場所を無効化","Disable RawTherapee":"RawTherapee を無効化","Disable TensorFlow":"TensorFlow を無効化","Disable Vectors":"ベクターを無効化","Disable WebDAV":"WebDAV を無効化","Disables vector graphics support.":"ベクターグラフィックのサポートを無効にします。","Disables video transcoding and thumbnail extraction.":"ビデオのトランスコーディングとサムネイル抽出を無効にします。","Discover":"発見","Dismiss":"解任する","Display Name":"表示名","Display picture captions in search results.":"検索結果に画像のキャプションを表示する。","Display picture titles in search results.":"検索結果に画像のタイトルを表示する。","Document":"ドキュメント","Documents":"ドキュメント","Don't use Darktable to convert RAW images.":"RAW ファイルの変換に Darktable を使用しないようにします。","Don't use ImageMagick to convert images.":"画像の変換に ImageMagick を使用しないようにします。","Don't use RawTherapee to convert RAW images.":"RAW ファイルの変換に RawTherapee を使用しないようにします。","Done":"完了","Done.":"完了しました。","Download":"ダウンロード","Download only original media files, without any automatically generated files.":"自動生成されたファイルを使用せず、オリジナルのメディアファイルのみをダウンロードするようにします。","Download remote files":"リモートにあるファイルをダウンロード","Download single files and zip archives.":"単一のファイルと zip アーカイブをダウンロードします。","Downloading…":"ダウンロードしています…","Downscaling Filter":"ダウンスケーリングフィルター","Drag and drop files here":"ここにファイルをドラッグ&ドロップしてください","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"大量のメールを受信しているため、すぐにお返事できない場合があります。","Duplicates will be skipped and only appear once.":"重複している項目はスキップされ、1度だけ表示されます。","Duration":"長さ","Dynamic Previews":"動的プレビュー","Dynamic Size Limit: %{n}px":"動的サイズの制限: %{n} px","E-Mail":"メール","Edit":"編集","Edit %{s}":"%{s} を編集","Edit Account":"アカウントを編集","Edit Photo":"写真を編集","Edited":"編集済み","Email":"メールアドレス","Enable debug mode to display additional logs and help with troubleshooting.":"デバッグモードを有効にすると、追加のログが表示され、トラブルシューティングに役立ちます。","Enable new features that may be incomplete or unstable.":"不完全または不安定な新機能を有効にします。","Enables RAW converter presets. May reduce performance.":"RAW 現像機のプリセットを有効にします。パフォーマンスが低下する場合があります。","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"2要素認証を有効にすると、ログイン時にランダムに生成された確認コードが必要になるため、誰かがパスワードを使っても、アカウントにアクセスできなくなります。","Enter date":"日付入力","Enter dates":"日付入力","Enter the code generated by your authenticator app:":"認証アプリが生成したコードを入力してください:","Enter verification code":"認証コードを入力してください","Enter your password to confirm the action and continue:":"パスワードを入力して操作を確認し、続行します:","Error":"エラー","Errors":"エラー","Estimate":"推定","Estimate Locations":"推定位置","Estimate the approximate location of pictures without GPS coordinates.":"GPS 座標なしで写真のおおよその位置を推定します。","Every two days":"2 日毎","Exclude content marked as private from search results, shared albums, labels, and places.":"プライベートに設定されたコンテンツを、検索結果、共有アルバム、ラベル、場所から除外することができます。","Exclude hidden":"隠された項目を除外","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"ビデオ、ライブフォト、XMP を完全にサポートするには、ExifTool が必要です。","Experimental Features":"実験的な機能","Expires":"有効期限","Exposure":"露出","Extract still images and generate thumbnails while indexing.":"インデックス作成中に静止画像を抽出し、サムネイルを生成します。","F Number":"F値","Face":"顔","Faces":"顔","Failed removing link":"リンクを削除できませんでした","Failed to connect account.":"アカウントの接続に失敗しました。","Failed updating link":"リンクを更新できませんでした","Family Name":"姓","Fast":"高速","Favorite":"お気に入り","Favorites":"お気に入り","Feature Request":"機能のリクエスト","Feedback":"フィードバック","Female":"女性","File":"ファイル","File Browser":"ファイルブラウザ","File Conversion":"ファイル変換","File Name":"ファイル名","File Size":"ファイルサイズ","Filename":"ファイル名","Files":"ファイル","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"「IMG_1234 (2)」や「IMG_1234 (3)」のような連名のファイルは同じ写真として扱います。","First page":"最初のページ","Focal Length":"焦点距離","Folder":"フォルダ","Folder contains %{n} files":"フォルダには %{n} 件のファイルがあります","Folder is empty":"フォルダは空です","Folders":"フォルダ","Forgot password?":"パスワードを忘れましたか?","FPS":"FPS","Frames":"フレーム","Full Access":"フルアクセス","Fullscreen":"全画面","General":"一般","Generate":"生成","Generate albums of special moments, journeys, and places.":"特別な瞬間、旅、場所を記録したアルバムを自動的に生成します。","Generate Previews":"プレビューを生成","Generated":"生成済み","Get Started":"始める","Given Name":"名","Global Options":"グローバルオプション","Go to page {0}":"ページ {0} に移動","Gold":"金","Green":"緑","Grey":"グレー","Guest":"ゲスト","Hash":"ハッシュ","Help":"ヘルプ","Help & Support":"ヘルプ&サポート","Hidden":"隠し項目","Hidden Files":"隠しファイル","Hide":"非表示","Hide photos that have been moved to archive.":"アーカイブに移動された写真を隠します。","High":"高","High Dynamic Range (HDR)":"ハイダイナミックレンジ(HDR)","How can we help?":"私達にできることはありますか?","Hybrid":"ハイブリッド","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"認証アプリまたはデバイスにアクセスできなくなった場合は、回復コードを使用してアカウントに再度アクセスできます。","Image":"写真","Image Quality":"画質","Import":"インポート","Import failed":"インポートに失敗しました","Imported files will be sorted by date and given a unique name to avoid duplicates.":"インポートされたファイルは日付で並び替えられ、重複しないよう一意の名前が付けられます。","Imported files will be sorted by date and given a unique name.":"インポートされたファイルは日付で並び替えられ、一意の名前が付けられます。","Importing %{s}…":"%{s} をインポートしています…","Importing files to originals…":"originals にファイルをインポートしています…","in":"次の場所で","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"探している写真が見つからない場合は、ライブラリーを再スキャンし、インデックス作成が完了するまでお待ちください。","Include RAW image files when downloading stacks and archives.":"スタックやアーカイブのダウンロード時に、RAW 画像ファイルを含めます。","Include sidecar files when downloading stacks and archives.":"スタックやアーカイブをダウンロードする際に、サイドカーファイルを含めます。","Increase storage size or delete files to continue.":"続行するには、ストレージサイズを増やすか、ファイルを削除してください。","Index":"インデックス","Index and import files through the user interface.":"ユーザーインターフェースを通じて、ファイルのインデックスやインポートを行います。","Indexing":"インデックス中です","Indexing failed":"インデックスに失敗しました","Indexing media and sidecar files…":"メディアとサイドカーファイルをインデックスしています…","Information":"インフォメーション","Instance ID":"インスタンス ID","Insufficient storage.":"ストレージが不足しています。","Interval":"間隔","Invalid":"無効","Invalid address":"無効なアドレス","Invalid country":"無効な国","Invalid date":"無効な日付","Invalid parameters":"無効なパラメータ","Invalid photo selected":"無効な写真が選択されました","Invalid time":"無効な時間","Invalid URL":"無効なURL","It is a one-time use code that will disable 2FA for your account when you use it.":"これは1回のみ使えるコードであり、使用するとアカウントの 2FA が無効になります。","Item":"項目","Items per page:":"ページごとの項目:","JPEG Quality: %{n}":"JPEG 品質: %{n}","JPEG Size Limit: %{n}px":"JPEG サイズの制限: %{n} px","JPEGs and thumbnails are automatically rendered as needed.":"JPEG とサムネイルは必要な場合に自動的に生成されます。","Keywords":"キーワード","Label":"ラベル","Labels":"ラベル","Labels deleted":"ラベルが削除されました","Lanczos: Detail Preservation, Minimal Artifacts":"ランチョス法: 鮮明な細部、最小限のノイズ","Language":"言語","Last Active":"最終アクティブ","Last Login":"最終ログイン","Last page":"最終ページ","Last Sync":"最終同期","Last Used":"最終利用","Latitude":"緯度","LDAP/AD":"LDAP/AD","Learn more":"詳細はこちら","Learn More":"詳細はこちら","Legal Information":"法的情報","Lens":"レンズ","Library":"ライブラリ","License":"ライセンス","Like":"お気に入り","Lime":"黄緑","Limit reached, showing first %{n} files":"制限に達しました。最初の %{n} 個のファイルを表示しています","Linear: Very Smooth, Best Performance":"リニア: とても滑らか、ベストパフォーマンス","Link":"リンク","List":"リスト","List View":"リスト表示","Live":"ライブ","Live Photos":"ライブ写真","Load more":"もっと読み込む","Loading items...":"項目を読み込んでいます...","Loading...":"読み込み中...","Local":"ローカル","Local Time":"現地時間","Location":"場所","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"PhotoPrism が壊れたファイルを見つけたり、潜在的な問題が見つかったときはここにログメッセージが表示されます。","Login":"ログイン","Logout":"ログアウト","Logs":"ログ","Longitude":"経度","Low":"低","Magenta":"マゼンタ","Main Color":"メインカラー","Male":"男性","Manage Account":"アカウント管理","Manager":"マネージャー","Manual":"マニュアル","Manual Upload":"手動アップロード","Maps":"地図","Marker":"マーカー","Maximum number of accounts has been reached.":"アカウント数が上限に達しました。","Media":"メディア","Medium":"中","Membership":"メンバーシップ","Merge %{a} with %{b}?":"%{a} を %{b} に統合しますか?","Message":"メッセージ","Message sent":"メッセージを送信しました","Metadata":"メタデータ","Metrics":"メトリクス","Minimize":"最小化","Missing":"紛失","Missing or invalid configuration":"設定が見つからない、もしくは無効です","Moments":"モーメント","Monochrome":"モノクロ","Month":"月","More options":"その他のオプション","Mosaic":"モザイク","Most Relevant":"最も関連性が高い","Move Files":"ファイルを移動","Must have at least %{n} characters.":"少なくとも %{n} 文字必要です。","Mute":"ミュート","Name":"名前","Name too long":"名前が長すぎます","Never":"なし","New":"新規","New Password":"新しいパスワード","Newest First":"新しい順","Next":"次","Next page":"次のページ","Next visual":"次のビジュアル","No":"いいえ","No albums found":"アルバムが見つかりませんでした","No data available":"データが見つかりませんでした","No labels found":"ラベルが見つかりませんでした","No matching records found":"該当する記録が見つかりませんでした","No more":"これ以上ありません","No people found":"人が見つかりませんでした","No pictures found":"写真はありません","No recently edited pictures":"最近編集した写真はありません","No results":"結果なし","No server connection":"サーバーに接続できません","No servers configured.":"サーバーが設定されていません。","No services configured.":"接続されているサービスはありません。","No thanks":"いいえ、結構です","No warnings or error containing this keyword. Note that search is case-sensitive.":"このキーワードを含む警告やエラーが見つかりませんでした。この検索では大文字と小文字は区別されます。","Non-photographic and low-quality images require a review before they appear in search results.":"写真ではないものや、低品質な画像は検索結果に表示される前にレビューが必要です。","None":"なし","Not allowed":"許可されていません","Not found":"見つかりませんでした","Not sorted.":"並び替えられていません。","Not supported":"サポートされていません","Note you may manually manage your originals folder and importing is optional.":"なお、オリジナルフォルダは手動で管理することができ、インポートは任意です。","Note:":"メモ:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"メモ: Nextcloud や PhotoPrism といった WebDAV サーバのみがバックアップやファイルアップロードのサービスとして設定できます。","Notes":"メモ","Nothing to see here yet.":"まだ何もありません。","Nothing was found.":"何も見つかりませんでした。","Offline":"オフライン","OIDC":"OIDC","OK":"OK","Oldest First":"古い順","On Windows, enter the following resource in the connection dialog:":"Windowsの場合、接続ダイアログに以下の内容を入力します:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"サムネイルのオンデマンド生成は、CPU とメモリの使用率が高くなる可能性があります。リソースに制限のあるサーバーや NAS デバイスには推奨されません。","Once a week":"1週間に1度","One album found":"1 つのアルバムが見つかりました","One file found":"1 個のファイルが見つかりました","One file uploaded":"1 個のファイルをアップロードしました","One folder found":"1 個のフォルダが見つかりました","One label found":"1 個のラベルが見つかりました","One person found":"1 人が見つかりました","One picture found":"1 枚の写真が見つかりました","Only locally managed accounts can be set up for authentication with 2FA.":"2FA による認証を設定できるのは、ローカルで管理されているアカウントのみです。","Open":"オープン","optional":"任意","or":"または","Orange":"オレンジ","Organization":"組織","Orientation":"方向","Original file names will be stored and indexed.":"オリジナルのファイル名は保存され、インデックスされます。","Original Name":"オリジナル名","Originals":"オリジナル","Other":"他","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"私たちのミッションは、プライバシーに配慮してあなたの写真を整理し、容易にアクセスするための最もユーザーフレンドリーなソリューションを提供することです。","Outdoor":"アウトドア","Page {0}, Current page":"ページ {0}、現在のページ","Pages":"ページ","Pagination Navigation":"ページネーション・ナビゲーション","Panorama":"パノラマ","Panoramas":"パノラマ","Password":"パスワード","Password changed":"パスワードが変更されました","People":"人","People you share a link with will be able to view public contents.":"あなたがリンクを共有した人だけが公開された内容を閲覧できます。","Permanently deleted":"完全に削除されました","Permanently remove files to free up storage.":"ファイルを完全に削除して、ストレージを空けることができます。","Person":"人物","Personal":"個人","Photo":"写真","PhotoPrism is 100% self-funded and independent.":"PhotoPrism は100%自己資金で運営されている独立系企業です。","PhotoPrism+ Membership":"PhotoPrism+ メンバーシップ","Photos":"写真","Picture Title":"写真タイトル","Pink":"ピンク","Place":"場所","Place & Time":"場所と時間","Places":"場所","Please confirm your new password.":"新しいパスワードを再入力してください。","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"ランダムに生成された次のアプリパスワードをコピーして安全な場所に保存してください。このパスワードは再表示できません:","Please do not upload any private, unlawful or offensive pictures.":"私的、違法、不快な写真はアップロードしないでください。","Please don't upload photos containing offensive content.":"過激な内容を含む写真はアップロードしないでください。","Please enter OTP character {0}":"OTP {0} を入力してください","Please note that changing your password will log you out on other devices and browsers.":"パスワードを変更すると、他のデバイスやブラウザでログアウトされますのでご注意ください。","Please restart your instance for the changes to take effect.":"変更を反映するために、インスタンスを再起動してください。","Please wait…":"お待ちください…","PM":"PM","PNG Size Limit: %{n}px":"PNG サイズ制限: %{n} px","Portrait":"ポートレート","Preserve filenames":"ファイル名を保持","Press enter to create a new album.":"Enter キーを押して新しいアルバムを作成します。","Prevent database and album backups as well as YAML sidecar files from being created.":"データベースとアルバムのバックアップ、YAML サイドカーファイルが生成されないようにします。","Prevent other apps from accessing PhotoPrism as a shared network drive.":"他のアプリが PhotoPrism を共有ネットワークドライブとしてアクセスできないようにします。","Preview":"プレビュー","Preview Images":"プレビュー画像","Previous":"前へ","Previous page":"前のページ","Previous visual":"以前のビジュアル","Primary":"プライマリ","Private":"プライベート","Product Feedback":"製品フィードバック","Projection":"投影","Purple":"紫","Quality Filter":"品質フィルター","Quality Score":"品質スコア","r":"r","Random":"ランダム","Rating {0} of {1}":"{1} 中 {0} の評価","Raw":"Raw","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"既にインデックスされたものや変更されていないファイルを含むオリジナルを再度インデックスします。","Read-Only Mode":"読み込み専用モード","Recently Added":"最近追加","Recently Archived":"最近アーカイブ","Recently Edited":"最近編集","Recognition starts after indexing has been completed.":"認識はインデックスが完了した後に開始されます。","Recognize faces so people can be assigned and found.":"顔を認識することで、特定の人を探すことができます。","Recognized":"認識済み","Recovery Code":"リカバリーコード","Red":"赤","Refresh":"リフレッシュ","Regions":"地域","Register":"登録","Reload":"再読み込み","Reloading…":"再読み込みしています…","Remote Sync":"リモート同期","Remove":"削除","remove failed: unknown album":"削除に失敗しました: 不明なアルバムです","Remove from Album":"アルバムから削除","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"インポートされたファイルを削除してストレージを節約します。対応していない形式のファイルは削除されることなく、現在の場所に残ります。","Request failed - are you offline?":"リクエストに失敗しました - オフラインですか?","Request failed - invalid response":"リクエストに失敗しました - 不正なレスポンスです","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"写真以外の画像や低品質の画像は、検索結果に表示される前にレビューすることを必須にします。","Resolution":"解像度","Restart":"再起動","Restore":"復元","Restored":"復元されました","Retry Limit":"リトライ回数制限","Retype Password":"パスワード再入力","Review":"レビュー","Role":"役割","Rows per page:":"ページあたりの行数:","Satellite":"衛星","Save":"保存","Scan":"スキャン","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"認証アプリで QR コードをスキャンするか、以下のセットアップキーを使用して、生成された確認コードを入力してください:","Scans":"スキャン","Scope":"スコープ","Search":"検索","Search and display photos on a map.":"地図上から写真を検索および表示します。","Season":"季節","Secret":"シークレット","Security and Access":"セキュリティとアクセス","Select":"選択","Select a source folder to import files…":"ファイルをインポートする元フォルダーを選択する…","Select date":"日付選択","Select dates":"日付選択","Select or create an album":"アルバム選択または作成","Select the files to upload…":"アップロードするファイルを選択する…","Select the folder to be indexed…":"インデックスするフォルダを選択する…","Select Time":"時刻選択","Selection approved":"選択した項目が承認されました","Selection archived":"選択した項目がアーカイブされました","Selection restored":"選択した項目が復元されました","Sequential Name":"連名","Service URL":"サービス URL","Services":"サービス","Session":"セッション","Session ID":"セッション ID","Sessions":"セッション","Set as Album Cover":"アルバムカバーに設定する","Settings":"設定","Settings saved":"設定が保存されました","Setup":"セットアップ","Share":"共有","Share %{s}":"%{s} を共有","Share your pictures with other apps and services.":"他のアプリやサービスと写真を共有することができます。","Show":"表示","Show all new faces":"すべての新しい顔を表示","Show Captions":"キャプションを表示","Show hidden":"非表示項目を表示","Show less":"表示を減らす","Show more":"表示を増やす","Show server logs in Library.":"ライブラリにサーバーログを表示します。","Show Titles":"タイトルを表示","Sidecar":"サイドカー","Sidecar Files":"サイドカーファイル","Sign in":"サインイン","Similar":"似ている項目","Size":"サイズ","Slideshow":"スライドショー","Slow":"低速","Software":"ソフトウェア","Software Update":"ソフトウェアアップデート","Something went wrong, try again":"何かが間違っています。もう一度やり直してください","Sort by":"並び替え","Sort Order":"並び替え順","Sorted ascending.":"昇順にソートされています。","Sorted descending.":"降順にソートされています。","Source":"ソース","Stack":"スタック","Stack files sharing the same unique image or instance identifier.":"同じ画像またはインスタンス識別子を共有するファイルをスタックします。","Stack pictures taken at the exact same time and location based on their metadata.":"メタデータを元に、全く同じ時間と場所で撮影された写真をスタックします。","Stackable":"スタック可能","Stacks":"スタック","Start":"開始","Start Page":"スタートページ","Static Size Limit: %{n}px":"静的サイズ制限: %{n} px","Status":"状態","Storage":"ストレージ","Streets":"市街","Subject":"件名","Submit":"送信","Successfully activated":"正常に有効化されました","Successfully Connected":"接続に成功しました","Successfully deleted":"削除に成功しました","Successfully verified":"検証に成功しました","Super Admin":"スーパーアドミン","Support for additional services, like Google Drive, will be added over time.":"Google ドライブなどの追加のサービスのサポートが順次追加される予定です。","Support Our Mission":"私たちのミッションを支援","Sync":"同期","Sync raw and video files":"Raw ファイルや動画ファイルを同期","Taken":"撮影日","Teal":"青緑","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow は画像分類、顔認識、安全でないコンテンツの検出に必要です。","Terrain":"地形","Text":"テキスト","Text too long":"テキストが長すぎます","Thank You for Your Support!":"ご支援ありがとうございます!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"そのため、PhotoPrism は自由、プライバシー、機能性を損なうことなく、必要なときに使えるように一から作り上げました。","The index currently contains %{n} hidden files.":"インデックスには現在 %{n} 件の隠しファイルがあります。","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"それらの形式がサポートされていないか、まだ JPEG に変換されていないか、重複している可能性があります。","Theme":"テーマ","This field is required":"このフィールドは必須です","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"オリジナルフォルダをネットワークドライブとしてマウントし、あなたのコンピュータまたはスマートフォンからまるでローカルのようにファイルを開き、編集、削除できるようにします。","Time UTC":"UTC 時間","Time Zone":"タイムゾーン","Timeout":"タイムアウト","Title":{"Account":"タイトル","Photo":"タイトル","":"タイトル"},"Title / Position":"タイトル / 位置","Title too long":"タイトルが長すぎます","to":"対象","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"アカウントがロックアウトされないようにするには、今すぐこの回復コードをダウンロード、印刷、コピーして、安全な場所に保管してください。","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"新しいアプリ固有のパスワードを生成するには、アプリケーションの名前と承認範囲を入力し、有効期限を選択してください:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"新しい認証アプリまたはデバイスに切り替えるには、まず2要素認証を無効にしてから再度有効にします:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"アップグレードするには、アクティベーションコードを入力するか、「登録」をクリックして当社ウェブサイトからサインアップしてください:","Today":"今日","Toggle View":"表示切り替え","Token":"トークン","Too many files selected":"選択されたファイルが多すぎます","Too many requests":"リクエストが多すぎます","Troubleshooting":"トラブルシューティング","Try again using other filters or keywords.":"他のフィルターまたはキーワードで試してみてください。","Two-factor authentication has been enabled for your account.":"あなたのアカウントでは2要素認証が有効になっています。","Type":"種類","Unable to delete":"削除できない","Unauthorized":"未承認","Undo":"取り消し","Unique ID":"一意の ID","Unknown":"不明","Unregistered":"未登録","Unsorted":"未分類","Unstack":"スタック解除","Updated":"更新日","Updating faces":"顔を更新しています","Updating index":"インデックスを更新しています","Updating moments":"モーメントを更新しています","Updating picture…":"写真を更新しています…","Updating previews":"プレビューを更新しています","Updating stacks":"スタックを更新しています","Upgrade":"アップグレード","Upgrade Now":"今すぐアップグレード","Upload":"アップロード","Upload complete":"アップロード完了","Upload complete. Indexing…":"アップロードが完了しました。インデックスしています…","Upload failed":"アップロードに失敗しました","Upload local files":"ローカルファイルをアップロード","Upload Path":"アップロードパス","Upload to WebDAV and share links with friends.":"WebDAV にアップロードして、友達とリンクを共有できます。","Uploading %{n} of %{t}…":"%{t} 件中 %{n} 件目をアップロードしています…","Uploading photos…":"写真をアップロードしています…","Uploading…":"アップロード中…","Uploads that may contain such images will be rejected automatically.":"そのような画像を含むアップロードは自動的に拒否されます。","Use Presets":"プリセットを使用","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"認証アプリで有効な確認コードを生成できない場合は、次の回復コードを使用してアカウントにアクセスしてください:","Use your recovery code or contact an administrator for help.":"リカバリーコードを使用するか、管理者に問い合わせてください。","User":"ユーザー","User Guide":"ユーザーガイド","User Interface":"ユーザーインターフェース","Username":"ユーザー名","Users":"ユーザー","Vector":"ベクター","Vectors":"ベクター","Verification Code":"検証コード","Video":"動画","Video Duration":"動画の長さ","Videos":"動画","View":"表示","View search results as a list.":"検索結果を一覧表示します。","Viewer":"ビューア","Visitor":"ビジター","Visual Similarity":"視覚的類似性","Warning":"警告","We appreciate your feedback!":"ご感想をお寄せいただきありがとうございました!","We do our best to respond within five business days or less.":"5営業日以内に対応できるよう、最善を尽くします。","Web Login":"ウェブログイン","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"WebDAV クライアントは PhotoPrism に次の URL で接続することができます:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"Microsoft Windows エクスプローラや Apple Finder のような WebDAV クライアントは、直接 PhotoPrism に接続できます。","WebDAV Upload":"WebDAV アップロード","WebGL support is disabled in your browser":"お使いのブラウザで WebGL のサポートが無効化されています","Website":"ウェブサイト","White":"白","Work Details":"業務内容","Year":"年","Yellow":"黄","Yes":"はい","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"メンバーシップに関するご質問は、membership@photoprism.app までご連絡ください。","You can only download one album":"1 件のアルバムのみダウンロードできます","You can only download one label":"1 件のラベルのみダウンロードできます","You can search for a location or move the marker on the map to change the position:":"場所を検索したり、地図上のマーカーを動かして位置を変えることができる:","You can upload up to %{n} files for test purposes.":"テスト用に最大 %{n} 件のファイルをアップロードできます。","You may only select one item":"1 件だけ選択してください","You may rescan your library to find additional faces.":"さらに顔を見つけるには、ライブラリを再スキャンしてください。","Your account has been successfully connected.":"アカウントが正常に接続されました。","Your browser does not support WebGL":"お使いのブラウザでは WebGL を利用できません","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"皆様の継続的なご支援により、私たちは定期的なアップデートを提供し、独立性を保ち、使命を果たし、お客様のプライバシーを保護することができます。","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"あなたのライブラリは継続的に分析され、特別な瞬間、旅行、場所を記録したアルバムを自動的に作成します。","Zoom in/out":"ズームイン/アウト"}} \ No newline at end of file diff --git a/frontend/src/locales/json/ko.json b/frontend/src/locales/json/ko.json index a650db17d..0d0d99091 100644 --- a/frontend/src/locales/json/ko.json +++ b/frontend/src/locales/json/ko.json @@ -1 +1 @@ -{"ko":{"{0} appended action":"{0} 추가 작업","{0} files":"{0} 파일","{0} files ({1} in total)":"{0} 파일(총 {1}개)","{0} more":"{0} 더보기","{0} prepended action":"{0} 선행 작업","{0} selected":"{0} 선택됨","{0}-{1} of {2}":"{2}의 {0}-{1}","%{n} albums found":"%{n}개 앨범을 찾음","%{n} files uploaded":"%{n}개 파일 업로드함","%{n} folders found":"%{n}개 폴더를 찾음","%{n} GB of %{q} GB used":"%{n} q}의 GB 사용된 GB","%{n} labels found":"%{n}개 라벨을 찾음","%{n} people found":"%{n}명을 찾았습니다","%{n} pictures found":"사진 %{n}장 찾았습니다","%{s} is too long":"s}가 너무 깁니다.","%{s} is too short":"s}가 너무 짧습니다.","1 hour":"1시간","12 hours":"12시간","2-Factor Authentication":"2단계 인증","2FA":"2FA","4 hours":"4시간","A click will copy it to your clipboard.":"클릭하면 클립보드에 복사됩니다.","A new version of %{s} is available:":"s}의 새 버전을 사용할 수 있습니다:","About":"정보","Access Token":"액세스 토큰","Account":"계정","Account created":"계정 생성됨","Account deleted":"계정 삭제됨","Account restored":"계정이 복원되었습니다.","Accounts":"계정","Accuracy":"정확도","Action":"동작","Actions":"동작","Activate":"활성화","Activate to remove sorting.":"정렬을 제거하려면 활성화합니다.","Activate to sort ascending.":"오름차순으로 정렬하려면 활성화합니다.","Activate to sort descending.":"활성화하면 내림차순으로 정렬됩니다.","Activation Code":"활성화 코드","Add":"추가","Add %{s}?":"이름 추가 %{s}?","Add Account":"계정 등록","Add Album":"앨범 추가","Add files to your library via Web Upload.":"웹 업로드로 라이브러리에 파일을 추가하세요.","Add Link":"링크 추가","Add person?":"사람을 추가하시겠습니까?","Add pictures from search results by selecting them.":"검색 결과에서 사진을 선택해 추가할 수 있습니다.","Add to album":"앨범에 추가","Added":"추가됨","Admin":"관리자","Advanced":"고급","After 1 day":"1일 후","After 3 days":"3일 후","After 7 days":"7일 후","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"확인을 위해 비밀번호를 입력한 후 호환되는 인증 앱 또는 장치를 사용하여 2단계 인증을 설정할 수 있습니다.","After one month":"1달 후","After one year":"1년 후","After selecting pictures from search results, you can add them to an album using the context menu.":"검색 결과에서 사진을 선택한 뒤, 컨텍스트 메뉴를 사용하여 사진을 앨범에 추가할 수 있습니다.","After two months":"2개월 후","After two weeks":"2주 후","Album":"앨범","Album Backups":"앨범 백업","Album created":"앨범 생성됨","Albums":"앨범","Albums deleted":"앨범 삭제됨","All":"모두","All %{n} albums loaded":"모든 %{n}개 앨범 로딩됨","All %{n} labels loaded":"모든 %{n}개의 라벨 로딩됨","All %{n} people loaded":"모든 %{n}명 로딩됨","All Cameras":"모든 카메라","All Categories":"모든 카테고리","All Colors":"모든 색깔","All Countries":"모든 나라","All fields are required":"모든 항목을 채워야 합니다","All files from import folder":"폴더의 모든 파일 가져오기","All Lenses":"모든 렌즈","All Months":"모든 달","All originals":"모든 원본","All Years":"모든 년도","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"대신, Nextcloud와 같은 WebDAV 서버에 직접 파일을 업로드할 수 있습니다.","Altitude":"고도","Altitude (m)":"고도 (m)","AM":"AM","Animated":"움직이는 사진","Animation":"애니메이션","Any private photos and videos remain private and won't be shared.":"모든 비공개 사진과 동영상은 비공개로 유지되며 공유되지 않습니다.","API Key":"API 키","Application":"애플리케이션","Apply":"적용","Approve":"승인","Apps and Devices":"앱 및 디바이스","Archive":"보관","Archived":"보관함","Are you sure you want to archive the selection?":"선택 항목들을 보관하시겠습니까?","Are you sure you want to delete these albums?":"선택한 앨범을 삭제 하시겠습니까?","Are you sure you want to delete these labels?":"선택 라벨을 삭제 하시겠습니까?","Are you sure you want to delete this account?":"이 계정을 삭제 하시겠습니까?","Are you sure you want to permanently delete these pictures?":"이 사진을 영구적으로 삭제하시겠습니까?","Are you sure you want to permanently delete this file?":"이 파일을 영구적으로 삭제 하시겠습니까?","Are you sure?":"확실합니까?","Artist":"아티스트","Aspect Ratio":"종횡비","Audio":"오디오","Authentication":"인증","Auto":"자동","Back":"뒤쪽에","Back to top":"맨 위로 돌아가기","Backup":"백업","Badge":"배지","Base Path":"기본 경로","Become a member today, support our mission and enjoy our member benefits!":"지금 바로 회원으로 가입하여 우리의 미션을 지원하고 회원 혜택을 누려보세요!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"100% 자체 자금으로 운영되며 독립되었기에, 우리는 귀하의 데이터를 절대 판매하지 않으며 소프트웨어와 서비스에 대해 항상 투명할 것임을 약속할 수 있습니다.","Bio":"바이오","Birth Date":"생일","Black":"검은색","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Lanczos 수정, 덜 울리는 아티팩트","Blue":"파란색","Brown":"갈색","Browse":"찾아보기","Browse and edit image classification labels.":"검색하고 이미지 분류 라벨 편집하기.","Browse and share your pictures organized into monthly albums.":"월별 앨범으로 정리된 사진을 찾아보고 공유하세요.","Browse Files":"파일 찾아보기","Browse indexed files and folders in Library.":"라이브러리에서 인덱싱된 파일 및 폴더를 검색합니다.","Bug Report":"버그 신고","Busy, please wait…":"처리중, 잠시만 기다려주세요…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"당사가 제공하는 소프트웨어 및 서비스를 사용함으로써 귀하는 당사의 서비스 약관, 개인 정보 보호 정책 및 행동 강령에 동의하는 것입니다.","Calendar":"달력","Camera":"카메라","Camera Serial":"카메라 일련 번호","Can't access your authenticator app or device?":"인증 앱 또는 디바이스에 액세스할 수 없나요?","Can't load more, limit reached":"더 로드할 수 없습니다. 한도에 도달했습니다.","Can't select more items":"더 많은 아이템을 선택할 수 없습니다","Cancel":"취소","Caption":"캡션","Cards":"카드","Carousel slide {0} of {1}":"1}의 {0} 캐러셀 슬라이드","Category":"범주","Change Avatar":"아바타 변경","Change Password":"비밀번호 변경","Change personal profile and security settings.":"개인 프로필 및 보안 설정을 변경합니다.","Change photo titles, locations, and other metadata.":"사진 제목, 위치 및 기타 메타데이터를 변경합니다.","Change private flag":"비공개 플래그 변경하기","Changes could not be saved":"변경 사항을 저장할 수 없음","Changes successfully saved":"변경사항이 성공적으로 저장되었습니다","Changes to the advanced settings require a restart to take effect.":"고급 설정의 변경 사항을 적용하려면 다시 시작해야 합니다.","Checked":"확인됨","Chroma":"채도","Cleaning index and cache":"인덱스 및 캐시 정리","Cleanup":"정리","Clear {0}":"지우기 {0}","Client":"클라이언트","Client Credentials":"클라이언트 자격 증명","Close":"닫기","Codec":"코덱","Color":"색깔","Color Profile":"색상 프로필","Colors":"색깔","Compare Editions":"에디션 비교","Complete Rescan":"완전 다시 색인","Confidence":"신임도","Confirm":"확인하다","Connect":"연결","Connect via WebDAV":"WebDAV로 연결하기","Connected":"연결됨","Contact Details":"세부 연락처","Contact Us":"문의하기","Contains %{n} pictures.":"%{n}개의 사진이 포함되어 있습니다.","Contains one picture.":"한 장의 사진이 포함되어 있습니다.","Content":"콘텐츠","Continue":"계속하다","Continue with %{provider}":"계속하기 %{제공자}로","Contributor":"기여자","Converting":"변환하는 중","Copied to clipboard":"클립보드에 복사했습니다","Copy":"복사","Copyright":"저작권","Couldn't find anything.":"아무것도 찾을 수 없습니다.","Country":"나라","Create Account":"계정 만들기","Create album":"앨범 만들기","Create regular backups based on the configured schedule.":"구성된 일정에 따라 인덱스 백업을 생성합니다.","Create YAML files to back up album metadata.":"앨범 메타데이터를 백업할 YAML 파일을 만듭니다.","Create YAML sidecar files to back up picture metadata.":"사진 메타데이터를 백업하는 YAML 사이드카 파일을 만듭니다.","Created":"만듦","Creating thumbnails for":"축소판 만들기","Cubic: Moderate Quality, Good Performance":"큐빅: 보통 품질, 우수한 성능","Current Password":"현재 비밀번호","Custom":"사용자 지정","Cyan":"청록색","Daily":"매일","Database Backups":"데이터베이스 백업","Day":"일","Deactivate":"비활성화","Debug Logs":"디버그 로그","Default":"기본값","Default Folder":"기본 폴더","Delete":"삭제","Delete All":"모두 삭제","Delete all?":"모두 삭제하시겠습니까?","Delete orphaned index entries, sidecar files and thumbnails.":"고아가 된 색인 항목, 사이드카 파일 및 썸네일을 삭제합니다.","Description":"설명","Detailed instructions can be found in our User Guide.":"자세한 지시는 사용설명서에서 찾을 수 있습니다.","Details":"세부 사항","Dimensions":"치수","Disable Backups":"백업 비활성화","Disable Darktable":"다크테이블 비활성화","Disable ExifTool":"ExifTool 비활성화","Disable features that require write permission for the originals folder.":"원본 폴더에 대한 쓰기 권한이 필요한 기능을 비활성화합니다.","Disable FFmpeg":"FFmpeg 비활성화","Disable ImageMagick":"ImageMagick 비활성화","Disable interactive world maps and reverse geocoding.":"대화형 세계 지도를 비활성화하고 지오코딩을 역방향으로 설정합니다.","Disable Places":"장소 비활성화","Disable RawTherapee":"RawTherapee 비활성화","Disable TensorFlow":"TensorFlow 비활성화","Disable Vectors":"벡터 비활성화","Disable WebDAV":"WebDAV 비활성화","Disables vector graphics support.":"벡터 그래픽 지원을 비활성화합니다.","Disables video transcoding and thumbnail extraction.":"동영상 트랜스코딩 및 썸네일 추출을 비활성화합니다.","Discover":"디스커버","Dismiss":"해지","Display Name":"닉네임","Display picture captions in search results.":"검색 결과에 사진 캡션을 표시합니다.","Display picture titles in search results.":"검색 결과에 사진 제목을 표시합니다.","Document":"문서","Documents":"문서","Don't use Darktable to convert RAW images.":"RAW 파일을 변환하는 데 Darktable을 사용하지 마십시오.","Don't use ImageMagick to convert images.":"이미지 변환에 ImageMagick을 사용하지 마세요.","Don't use RawTherapee to convert RAW images.":"RawTherapee를 사용하여 RAW 파일을 변환하지 마십시오.","Done":"완료","Done.":"완료.","Download":"다운로드","Download only original media files, without any automatically generated files.":"자동으로 생성된 파일 없이 원본 미디어 파일만 다운로드하세요.","Download remote files":"원격 파일 다운로드하기","Download single files and zip archives.":"단일 파일 및 ZIP 아카이브 다운로드하기.","Downloading…":"다운로드 중…","Downscaling Filter":"축소 필터","Drag and drop files here":"파일을 여기로 끌어다 놓기","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"저희가 받는 이메일의 양이 많기 때문에 저희 팀에서 즉시 연락을 드리지 못할 수도 있습니다.","Duplicates will be skipped and only appear once.":"중복은 건너뛰고 한 번만 나타납니다.","Duration":"기간","Dynamic Previews":"다이나믹 미리보기","Dynamic Size Limit: %{n}px":"다이나믹 크기 제한: %{n}px","E-Mail":"이메일","Edit":"편집","Edit %{s}":"%{s} 편집하기","Edit Account":"계정 편집","Edit Photo":"사진 편집","Edited":"편집됨","Email":"이메일","Enable debug mode to display additional logs and help with troubleshooting.":"디버그 모드를 활성화하면 추가 로그를 표시하고 문제 해결에 도움을 받을 수 있습니다.","Enable new features that may be incomplete or unstable.":"불완전하거나 불안정할 수 있는 새로운 기능을 사용하도록 설정합니다.","Enables RAW converter presets. May reduce performance.":"RAW 변환기 사전 설정을 활성화합니다. 성능이 저하될 수 있습니다.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"이중 인증을 활성화하면 로그인하려면 무작위로 생성된 인증 코드가 필요하므로 누군가가 귀하의 비밀번호에 접근하더라도 귀하의 계정에 접근할 수 없습니다.","Enter date":"날짜 입력","Enter dates":"날짜 입력","Enter the code generated by your authenticator app:":"인증 앱에서 생성한 코드를 입력합니다:","Enter verification code":"인증코드를 입력하세요","Enter your password to confirm the action and continue:":"작업을 확인하고 계속하려면 비밀번호를 입력하세요.","Error":"오류","Errors":"오류","Estimate":"견적","Estimate Locations":"예상 위치","Estimate the approximate location of pictures without GPS coordinates.":"GPS 좌표 없이 사진의 대략적인 위치를 추정합니다.","Every two days":"2일마다","Exclude content marked as private from search results, shared albums, labels, and places.":"검색 결과, 공유 앨범, 레이블 및 장소에서 비공개로 표시된 콘텐츠를 제외합니다.","Exclude hidden":"숨김 제외","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"전체 비디오, 라이브 사진 및 XMP를 지원하려면 ExifTool을 사용한 메타데이터 추출이 필요합니다.","Experimental Features":"실험실 기능","Expires":"만료","Exposure":"노출","Extract still images and generate thumbnails while indexing.":"인덱싱하는 동안 정지 이미지를 추출하고 썸네일을 생성합니다.","F Number":"F 숫자","Face":"얼굴","Faces":"얼굴","Failed removing link":"링크를 제거하지 못했습니다","Failed to connect account.":"계정을 연결하지 못했습니다.","Failed updating link":"링크를 업데이트하지 못했습니다","Family Name":"성","Fast":"빠른","Favorite":"즐겨 찾기","Favorites":"즐겨 찾기","Feature Request":"기능 요청","Feedback":"피드백","Female":"여성","File":"파일","File Browser":"파일 탐색기","File Conversion":"파일 변환","File Name":"파일 이름","File Size":"파일 크기","Filename":"파일이름","Files":"파일","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"'IMG_1234(2)', 'IMG_1234(3)'과 같이 순차적인 이름을 가진 파일은 같은 그림에 속합니다.","First page":"첫 페이지","Focal Length":"초점 거리","Folder":"폴더","Folder contains %{n} files":"폴더에 %{n} 파일을 포함됨","Folder is empty":"폴더가 비어 있습니다","Folders":"폴더","Forgot password?":"비밀번호를 잊으셨나요?","FPS":"FPS","Frames":"프레임","Full Access":"전체 권한","Fullscreen":"전체 화면","General":"일반","Generate":"생성하다","Generate albums of special moments, journeys, and places.":"특별한 순간, 여행 및 장소의 앨범을 자동으로 생성합니다.","Generate Previews":"미리보기 생성","Generated":"생성됨","Get Started":"시작하기","Given Name":"이름","Global Options":"글로벌 옵션","Go to page {0}":"페이지 {0}로 이동","Gold":"금색","Green":"녹색","Grey":"회색","Guest":"게스트","Hash":"해시","Help":"도움말","Help & Support":"도움말/지원","Hidden":"숨김","Hidden Files":"숨김 파일","Hide":"숨기기","Hide photos that have been moved to archive.":"보관함으로 이동한 사진을 숨기기.","High":"높음","High Dynamic Range (HDR)":"HDR(하이 다이내믹 레인지)","How can we help?":"어떻게 도와 드릴까요?","Hybrid":"하이브리드","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"인증 앱이나 장치에 액세스할 수 없는 경우 복구 코드를 사용하여 계정에 다시 액세스할 수 있습니다.","Image":"이미지","Image Quality":"이미지 품질","Import":"가져오기","Import failed":"가져오기 실패","Imported files will be sorted by date and given a unique name to avoid duplicates.":"가져온 파일은 날짜별로 정렬되고 중복을 방지하기 위해 유일한 이름이 지정됩니다.","Imported files will be sorted by date and given a unique name.":"가져온 파일은 날짜별로 정렬되고 유일한 이름이 지정됩니다.","Importing %{s}…":"%{s} 가져오기 중…","Importing files to originals…":"오리지널에 가져 오는중…","in":"입력","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"예상한 사진이 누락된 경우 라이브러리를 다시 검색하고 색인 생성이 완료될 때까지 기다리십시오.","Include RAW image files when downloading stacks and archives.":"스택과 아카이브를 다운로드할 때 RAW 이미지 파일을 포함하세요.","Include sidecar files when downloading stacks and archives.":"스택과 아카이브를 다운로드할 때 사이드카 파일을 포함하세요.","Increase storage size or delete files to continue.":"계속하려면 저장 용량 크기를 늘리거나 파일을 삭제하세요.","Index":"색인","Index and import files through the user interface.":"사용자 인터페이스를 통해 파일을 인덱싱하고 가져옵니다.","Indexing":"색인중","Indexing failed":"색인 실패","Indexing media and sidecar files…":"미디어 및 사이드카 파일 색인중…","Information":"정보","Instance ID":"인스턴스 ID","Insufficient storage.":"저장 공간 부족.","Interval":"간격","Invalid":"무효한","Invalid address":"잘못된 주소","Invalid country":"잘못된 국가","Invalid date":"잘못된 날짜","Invalid parameters":"잘못된 매개 변수","Invalid photo selected":"잘못된 사진을 선택했습니다.","Invalid time":"유효하지 않은 시간","Invalid URL":"잘못된 URL","It is a one-time use code that will disable 2FA for your account when you use it.":"이는 귀하가 사용할 때 귀하의 계정에 대한 2FA를 비활성화하는 일회성 사용 코드입니다.","Item":"아이템","Items per page:":"페이지당 항목:","JPEG Quality: %{n}":"JPEG 품질: %{n}","JPEG Size Limit: %{n}px":"JPEG 크기 제한: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"JPEG 파일과 썸네일은 필요에 따라 자동으로 렌더딩 됩니다.","Keywords":"키워드","Label":"라벨","Labels":"라벨","Labels deleted":"라벨 삭제됨","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: 디테일 보존, 최소한의 인공물","Language":"언어","Last Active":"마지막 활성","Last Login":"마지막 로그인","Last page":"마지막 페이지","Last Sync":"마지막 동기화","Last Used":"마지막으로 사용됨","Latitude":"위도","LDAP/AD":"LDAP/AD","Learn more":"더 보기","Learn More":"자세히 알아보기","Legal Information":"법률 정보","Lens":"렌즈","Library":"라이브러리","License":"라이센스","Like":"좋아요","Lime":"라임색","Limit reached, showing first %{n} files":"한도에 도달하여 처음 %{n} 파일을 표시합니다","Linear: Very Smooth, Best Performance":"Linear: 매우 부드럽고 최고의 성능","Link":"링크","List":"리스트","List View":"목록 보기","Live":"라이브","Live Photos":"라이브 포토","Load more":"더 보기","Loading items...":"항목 로드 중...","Loading...":"로드 중...","Local":"로컬","Local Time":"현지 시간","Location":"위치","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"PhotoPrism이 깨진 파일을 발견하거나 다른 잠재적인 문제가 있을 때마다 로그 메시지가 여기에 나타납니다.","Login":"로그인","Logout":"로그아웃","Logs":"로그","Longitude":"경도","Low":"낮음","Magenta":"마젠타색","Main Color":"주요 색깔","Male":"남성","Manage Account":"계정 관리","Manual":"매뉴얼","Manual Upload":"수동 업로드","Maps":"지도","Marker":"마커","Maximum number of accounts has been reached.":"최대 계정 수에 도달했습니다.","Media":"미디어","Medium":"중간","Membership":"멤버쉽","Merge %{a} with %{b}?":"%{a}을 %{b}과(를) 병합하시겠습니까?","Message":"메시지","Message sent":"매시지 보냄","Metadata":"메타데이터","Metrics":"측정항목","Minimize":"최소화","Missing":"누락됨","Missing or invalid configuration":"구성이 누락되었거나 유효하지 않습니다.","Moments":"나의 순간","Monochrome":"단색","Month":"달","More options":"추가 옵션","Mosaic":"모자이크","Most Relevant":"가장 관련성","Move Files":"파일 이동하기","Must have at least %{n} characters.":"8자 이상이어야 합니다.","Mute":"음소거","Name":"이름","Name too long":"이름이 너무 깁니다","Never":"안함","New":"신규","New Password":"새로운 비밀번호","Newest First":"최신 순","Next":"다음","Next page":"다음 페이지","Next visual":"다음 비주얼","No":"아니요","No albums found":"앨범이 없습니다","No data available":"사용 가능한 데이터 없음","No labels found":"라벨이 없습니다","No matching records found":"일치하는 레코드가 없습니다.","No more":"더 이상","No people found":"사람이 없습니다","No pictures found":"사진이 없습니다","No recently edited pictures":"최근에 편집한 사진이 없습니다","No server connection":"서버 연결 없음","No servers configured.":"구성된 서버가 없습니다.","No services configured.":"구성된 서비스가 없습니다.","No thanks":"아니요, 괜찮습니다","No warnings or error containing this keyword. Note that search is case-sensitive.":"이 키워드를 포함하는 경고 또는 오류가 없습니다. 검색은 대소문자를 구분합니다.","Non-photographic and low-quality images require a review before they appear in search results.":"사진이 아닌 저품질 이미지는 검색 결과에 표시되기 전에 검토가 필요합니다.","None":"없음","Not allowed":"허용되지 않음","Not found":"찾을 수 없음","Not sorted.":"정렬되지 않았습니다.","Not supported":"지원되지 않음","Note you may manually manage your originals folder and importing is optional.":"원본 폴더를 수동으로 관리할 수 있으며 가져오기는 선택 사항입니다.","Note:":"노트:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"주의: Nextcloud 또는 PhotoPrism와 같은 WebDAV서버만 백업 및 파일 업로드를 위한 원격 서비스로 구성할 수 있습니다.","Notes":"노트","Nothing to see here yet.":"아직 볼 것이 없습니다. 인내심을 가지세요.","Nothing was found.":"아무것도 발견되지 않았습니다.","Offline":"오프라인","OIDC":"OIDC","OK":"확인","Oldest First":"오래된 순","On Windows, enter the following resource in the connection dialog:":"Windows의 경우 연결 대화 상자에 다음 리소스를 입력합니다.","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"썸네일을 주문형으로 생성하면 CPU 및 메모리 사용량이 높아질 수 있습니다. 리소스가 제한된 서버 및 NAS 장치에는 권장되지 않습니다.","Once a week":"일주일에 한 번","One album found":"1개 앨범 찾음","One file found":"1개 파일 찾음","One file uploaded":"업로드된 파일 1개","One folder found":"1개 폴더 찾음","One label found":"라벨 1개를 찾았습니다.","One person found":"한 사람이 발견됨","One picture found":"사진 1장 발견","Only locally managed accounts can be set up for authentication with 2FA.":"2FA 인증을 위해 로컬로 관리되는 계정만 설정할 수 있습니다.","Open":"열기","optional":"선택 사항","or":"또는","Orange":"주황색","Organization":"조직","Orientation":"방향","Original file names will be stored and indexed.":"원본 파일 이름은 저장하고 색인됩니다.","Original Name":"원본 이름","Originals":"오리지널","Other":"다른","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"우리의 임무는 사진을 정리하고 액세스할 수 있도록 가장 사용자 및 개인 정보 보호 친화적 솔루션을 제공하는 것입니다.","Outdoor":"아웃도어","Page {0}, Current page":"페이지 {0}, 현재 페이지","Pages":"페이지","Pagination Navigation":"페이지 매김 탐색","Panorama":"파노라마","Panoramas":"파노라마","Password":"비밀번호","Password changed":"비밀번호 변경됨","People":"사람","People you share a link with will be able to view public contents.":"링크를 공유한 사람들은 공개 콘텐츠를 볼 수 있습니다.","Permanently deleted":"영구 삭제됨","Permanently remove files to free up storage.":"파일을 영구적으로 제거하여 저장 공간을 확보하십시오.","Person":"사람","Personal":"개인","Photo":"사진","PhotoPrism is 100% self-funded and independent.":"포토프리즘은 100% 자체 자금으로 독립적으로 운영됩니다.","PhotoPrism+ Membership":"포토프리즘+ 멤버십","Photos":"사진","Picture Title":"사진 제목","Pink":"분홍색","Place":"장소","Place & Time":"장소 & 시간","Places":"장소","Please confirm your new password.":"새 비밀번호를 확인하세요.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"무작위로 생성된 다음 앱 비밀번호는 다시 볼 수 없으므로 복사하여 안전한 곳에 보관하시기 바랍니다.","Please do not upload any private, unlawful or offensive pictures.":"사적이거나 불법적이거나 불쾌감을 주는 사진은 업로드하지 마세요.","Please don't upload photos containing offensive content.":"불쾌감한 콘텐츠 포함된 사진을 업로드하지 마십시오.","Please enter OTP character {0}":"OTP 문자 {0}을 입력하세요.","Please note that changing your password will log you out on other devices and browsers.":"비밀번호를 변경하면 다른 장치 및 브라우저에서 로그아웃됩니다.","Please restart your instance for the changes to take effect.":"변경 사항을 적용하려면 인스턴스를 다시 시작하세요.","Please wait…":"잠시만 기다려주세요…","PM":"PM","PNG Size Limit: %{n}px":"PNG 크기 제한: %{n}px","Portrait":"초상","Preserve filenames":"파일 이름 보류","Press enter to create a new album.":"새 앨범을 만들려면 Enter 키를 누르세요.","Prevent database and album backups as well as YAML sidecar files from being created.":"데이터베이스 및 앨범 백업과 YAML 사이드카 파일이 생성되지 않도록 합니다.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"다른 앱이 공유 네트워크 드라이브로서 PhotoPrism에 액세스하지 못하도록 합니다.","Preview":"미리보기","Preview Images":"이미지 미리보기","Previous":"이전 게시물","Previous page":"이전 페이지","Previous visual":"이전 비주얼","Primary":"주요","Private":"비공개","Product Feedback":"제품 피드백","Projection":"투사","Purple":"보라색","Quality Filter":"품질 필터","Quality Score":"품질 점수","r":"r","Random":"랜덤","Rating {0} of {1}":"1}의 {0} 등급","Raw":"원시","RAW":"날것의","Re-index all originals, including already indexed and unchanged files.":"이미 인덱싱되고 변경되지 않은 파일을 포함하여 모든 원본을 다시 인덱싱합니다.","Read-Only Mode":"읽기 전용 모드","Recently Added":"최근 추가됨","Recently Archived":"최근 아카이브","Recently Edited":"최근 편집","Recognition starts after indexing has been completed.":"인덱싱이 완료된 후 인식이 시작됩니다.","Recognize faces so people can be assigned and found.":"특정 사람을 찾을 수 있도록 얼굴을 인식합니다.","Recognized":"인정","Recovery Code":"복구 코드","Red":"빨간색","Refresh":"새로 고침","Regions":"지역","Register":"등록하기","Reload":"새로고침","Reloading…":"새로고침 중…","Remote Sync":"원격 동기화","Remove":"제거","remove failed: unknown album":"제거 실패 - 잘못된 앨범","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"가져온 파일을 제거하여 저장 공간을 절약하십시오. 지원되지 않는 파일 형식은 삭제되지 않으며 현재 위치에 남아 있습니다.","Request failed - are you offline?":"요청 실패 - 오프라인 상태인가요?","Request failed - invalid response":"요청 실패 - 잘못된 응답","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"사진이 아닌 이미지와 저화질 이미지는 검색 결과에 표시되기 전에 검토하도록 요구합니다.","Resolution":"해상도","Restart":"다시 시작","Restore":"복원","Restored":"복원됨","Retry Limit":"재시도 제한","Retype Password":"비밀번호 다시 입력","Review":"리뷰","Role":"역할","Rows per page:":"페이지당 행 수입니다:","Satellite":"위성","Save":"저장","Scan":"스켄","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"인증 앱으로 QR 코드를 스캔하거나 아래 표시된 설정 키를 사용한 후 생성된 확인 코드를 입력하세요.","Scans":"스켄","Scope":"범위","Search":"검색","Search and display photos on a map.":"검색하고 지도에서 시진을 표시합니다.","Season":"계절","Secret":"비밀","Security and Access":"보안 및 액세스","Select":"선택","Select a source folder to import files…":"파일을 가져올 소스 폴더를 선택합니다…","Select date":"날짜 선택","Select dates":"날짜 선택","Select or create an album":"앨범 선택 또는 생성","Select the files to upload…":"업로드할 파일 선택…","Select the folder to be indexed…":"색인할 폴더를 선택합니다…","Select Time":"시간 선택","Selection approved":"선택 항목 승인됨","Selection archived":"선택 항목 보관됨","Selection restored":"선택 항목 복원됨","Sequential Name":"순차 이름","Service URL":"서비스 URL","Services":"서비스","Session":"세션","Session ID":"세션 ID","Sessions":"세션","Set as Album Cover":"앨범 표지로 설정","Settings":"설정","Settings saved":"설정 저장됨","Setup":"설치","Share":"공유","Share %{s}":"%{s} 공유하기","Share your pictures with other apps and services.":"다른 앱 및 서비스와 사진을 공유하십시오.","Show":"보이기","Show all new faces":"모든 새 얼굴 표시","Show Captions":"캡션 표시","Show hidden":"숨김 표시","Show less":"덜 보여","Show more":"더 보여","Show server logs in Library.":"라이브러리에 서버 로그를 표시합니다.","Show Titles":"제목 표시","Sidecar":"사이드카","Sidecar Files":"사이드카 파일","Sign in":"등록","Similar":"비슷한","Size":"크기","Slideshow":"슬라이드쇼","Slow":"느림","Software":"소프트웨어","Software Update":"소프트웨어 업데이트","Something went wrong, try again":"문제가 발생했습니다. 다시 시도하세요.","Sort by":"정렬 기준","Sort Order":"정렬 방법","Sorted ascending.":"오름차순으로 정렬됩니다.","Sorted descending.":"내림차순으로 정렬됩니다.","Source":"소스","Stack":"스택","Stack files sharing the same unique image or instance identifier.":"동일한 고유 이미지 또는 인스턴스 식별자를 공유하는 스택 파일.","Stack pictures taken at the exact same time and location based on their metadata.":"메타데이터를 기반으로 정확히 같은 시간과 위치에서 찍은 사진을 쌓습니다.","Stackable":"스택 할 수 있슴","Stacks":"스택","Start":"시작","Start Page":"시작 페이지","Static Size Limit: %{n}px":"스태틱 크지 제한: %{n}px","Status":"상태","Storage":"저장고","Streets":"거리","Subject":"주제","Submit":"제출하기","Successfully activated":"성공적으로 활성화되었습니다","Successfully Connected":"성공적으로 연결됨","Successfully deleted":"삭제 성공","Successfully verified":"성공적으로 확인되었습니다","Super Admin":"슈퍼 관리자","Support for additional services, like Google Drive, will be added over time.":"Google 드라이브와 같은 추가 서비스에 대한 지원은 시간이 지남에 따라 추가됩니다.","Support Our Mission":"우리의 임무를 지원","Sync":"동기화","Sync raw and video files":"원시 사진과 동영상 파일을 동기화하기","Taken":"찍음","Teal":"암녹색","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"이미지 분류, 얼굴 인식, 안전하지 않은 콘텐츠 감지에는 TensorFlow가 필요합니다.","Terrain":"지형","Text":"텍스트","Text too long":"텍스트는 너무 긴다","Thank You for Your Support!":"여러분의 성원에 감사드립니다!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"그렇기 때문에 포토프리즘은 처음부터 자유, 개인정보 보호, 기능에 영향을 주지 않으면서 필요한 곳 어디에서나 실행할 수 있도록 설계되었습니다.","The index currently contains %{n} hidden files.":"현재 색인에서 %{n}개의 숨겨진 파일이 있습니다.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"형식이 지원되지 않을 수 있고, 아직 JPEG 형식으로 변환되지 않았거나 중복이 있을 수 있습니다.","Theme":"테마","This field is required":"이 필드는 필수 입력 사항입니다.","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"이렇게 하면 원본 폴더가 네트워크 드라이브로 마운트되고 컴퓨터나 스마트폰에서 파일을 로컬에 있는 것처럼 열고 편집하고 삭제할 수 있습니다.","Time UTC":"표준 시간대","Time Zone":"시간대","Timeout":"타임아웃","Title":{"Account":"주제","Photo":"주제","":"주제"},"Title / Position":"직위","Title too long":"주제 너무 긴다","to":"~","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"계정이 잠기는 것을 방지하려면 지금 이 복구 코드를 다운로드, 인쇄 또는 복사하여 안전한 곳에 보관하십시오.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"새로운 앱 비밀번호를 생성하려면 애플리케이션의 이름과 인증 범위를 입력하고 만료일을 선택하세요.","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"새로운 인증 앱이나 기기로 전환하려면 먼저 2단계 인증을 비활성화한 후 다시 활성화하세요.","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"업그레이드하려면 활성화 코드를 입력하거나 '등록'을 클릭하여 웹사이트에서 가입할 수 있습니다:","Today":"오늘","Toggle View":"보기형식 변경","Token":"토큰","Too many files selected":"선택한 파일이 너무 많습니다.","Too many requests":"너무 많은 요청","Troubleshooting":"문제 해결","Try again using other filters or keywords.":"다른 필터 또는 키워드를 사용하여 다시 시도하십시오.","Two-factor authentication has been enabled for your account.":"귀하의 계정에 이중 인증이 활성화되었습니다.","Type":"종류","Unauthorized":"승인되지 않은","Undo":"실행 취소","Unique ID":"유일 ID","Unknown":"알 수 없는","Unregistered":"미등록","Unsorted":"정렬되지 않음","Unstack":"스택 해제","Updated":"업로드됨","Updating faces":"얼굴 업데이트","Updating index":"색인을 업데이트 중","Updating moments":"\"나의 순간\" 업데이트 중","Updating picture…":"사진 업데이트 중…","Updating previews":"미리보기 업데이트","Updating stacks":"스택을 업데이트 중","Upgrade":"업그레이드","Upgrade Now":"지금 업그레이드","Upload":"업로드","Upload complete":"업로드 완료","Upload complete. Indexing…":"업로드 완료. 색인중…","Upload failed":"업로드 실패","Upload local files":"로컬 파일 업로드","Upload Path":"업로드 경로","Upload to WebDAV and share links with friends.":"WebDAV에 업로드하고 친구와 링크로 공유합니다.","Uploading %{n} of %{t}…":"%{t} 중 %{n} 업로드 중…","Uploading photos…":"사진 업로드중…","Uploading…":"업로드 중…","Uploads that may contain such images will be rejected automatically.":"이러한 이미지가 포함될 수 있는 업로드는 자동으로 거부됩니다.","Use Presets":"사전 설정 사용","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"인증 앱으로 유효한 인증 코드를 생성할 수 없는 경우 다음 복구 코드를 사용하여 계정에 액세스하세요.","Use your recovery code or contact an administrator for help.":"복구 코드를 사용하거나 관리자에게 도움을 요청하세요.","User":"사용자","User Guide":"사용자 가이드","User Interface":"사용자 인터페이스","Username":"사용자 이름","Users":"사용자","Vector":"벡터","Vectors":"벡터","Verification Code":"확인 코드","Video":"동영상","Video Duration":"비디오 시간","Videos":"동영상","View":"보기","View search results as a list.":"검색 결과를 목록으로 봅니다.","Viewer":"뷰어","Visitor":"방문자","Visual Similarity":"시각적 유사성","Warning":"경고","We appreciate your feedback!":"귀하의 피드백에 감사드립니다!","We do our best to respond within five business days or less.":"영업일 기준 5일 이내로 답변을 드리기 위해 최선을 다합니다.","Web Login":"웹 로그인","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"WebDAV 클라이언트는 다음 URL을 사용하여 PhotoPrism에 연결할 수 있습니다:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"WebDAV 클라이언트 (예: 마이코로소프트 Windows Explorer 또는 애플 Finder) 직접적으로 PhotoPrism에 연결할 수 있습니다.","WebDAV Upload":"WebDAV 업로드","WebGL support is disabled in your browser":"브라우저에서 WebGL 지원이 비활성화되었습니다.","Website":"웹사이트","White":"백색","Work Details":"작업 내용","Year":"년","Yellow":"황색","Yes":"네","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"멤버십과 관련하여 궁금한 점이 있으면 membership@photoprism.app 으로 문의하시기 바랍니다.","You can only download one album":"하나의 앨범 만 다운로드할 수 있습니다","You can only download one label":"하나의 라벨 만 다운로드할 수 있습니다","You can upload up to %{n} files for test purposes.":"테스트 목적으로 최대 %{n}개의 파일을 업로드할 수 있습니다.","You may only select one item":"하나의 아이템 선택할 수 있습니다","You may rescan your library to find additional faces.":"추가 얼굴을 찾기 위해 라이브러리를 다시 검색할 수 있습니다.","Your account has been successfully connected.":"계정이 성공적으로 연결되었습니다.","Your browser does not support WebGL":"브라우저가 WebGL을 지원하지 않습니다.","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"귀하의 지속적인 지원은 정기적인 업데이트를 제공하고 독립적인 상태를 유지하는 데 도움이 되어 당사의 사명을 완수하고 귀하의 개인 정보를 보호할 수 있습니다.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"라이브러리는 지속적으로 분석되어 특별한 순간, 여행 및 장소의 앨범을 자동으로 생성합니다.","Zoom in/out":"확대/축소"}} \ No newline at end of file +{"ko":{"{0} appended action":"{0} 추가 작업","{0} files":"{0} 파일","{0} files ({1} in total)":"{0} 파일(총 {1}개)","{0} more":"{0} 더보기","{0} prepended action":"{0} 선행 작업","{0} selected":"{0} 선택됨","{0}-{1} of {2}":"{2}의 {0}-{1}","%{n} albums found":"%{n}개 앨범을 찾음","%{n} files uploaded":"%{n}개 파일 업로드함","%{n} folders found":"%{n}개 폴더를 찾음","%{n} GB of %{q} GB used":"%{n} q}의 GB 사용된 GB","%{n} labels found":"%{n}개 라벨을 찾음","%{n} people found":"%{n}명을 찾았습니다","%{n} pictures found":"사진 %{n}장 찾았습니다","%{s} is too long":"s}가 너무 깁니다.","%{s} is too short":"s}가 너무 짧습니다.","1 hour":"1시간","12 hours":"12시간","2-Factor Authentication":"2단계 인증","2FA":"2FA","4 hours":"4시간","A click will copy it to your clipboard.":"클릭하면 클립보드에 복사됩니다.","A new version of %{s} is available:":"s}의 새 버전을 사용할 수 있습니다:","About":"정보","Access Token":"액세스 토큰","Account":"계정","Account created":"계정 생성됨","Account deleted":"계정 삭제됨","Account restored":"계정이 복원되었습니다.","Accounts":"계정","Accuracy":"정확도","Action":"동작","Actions":"동작","Activate":"활성화","Activate to remove sorting.":"정렬을 제거하려면 활성화합니다.","Activate to sort ascending.":"오름차순으로 정렬하려면 활성화합니다.","Activate to sort descending.":"활성화하면 내림차순으로 정렬됩니다.","Activation Code":"활성화 코드","Add":"추가","Add %{s}?":"이름 추가 %{s}?","Add Account":"계정 등록","Add Album":"앨범 추가","Add files to your library via Web Upload.":"웹 업로드로 라이브러리에 파일을 추가하세요.","Add Link":"링크 추가","Add person?":"사람을 추가하시겠습니까?","Add pictures from search results by selecting them.":"검색 결과에서 사진을 선택해 추가할 수 있습니다.","Add to album":"앨범에 추가","Added":"추가됨","Adjust Location":"위치 조정","Admin":"관리자","Advanced":"고급","After 1 day":"1일 후","After 3 days":"3일 후","After 7 days":"7일 후","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"확인을 위해 비밀번호를 입력한 후 호환되는 인증 앱 또는 장치를 사용하여 2단계 인증을 설정할 수 있습니다.","After one month":"1달 후","After one year":"1년 후","After selecting pictures from search results, you can add them to an album using the context menu.":"검색 결과에서 사진을 선택한 뒤, 컨텍스트 메뉴를 사용하여 사진을 앨범에 추가할 수 있습니다.","After two months":"2개월 후","After two weeks":"2주 후","Album":"앨범","Album Backups":"앨범 백업","Album created":"앨범 생성됨","Album deleted":"앨범 삭제됨","Albums":"앨범","Albums deleted":"앨범 삭제됨","All":"모두","All %{n} albums loaded":"모든 %{n}개 앨범 로딩됨","All %{n} labels loaded":"모든 %{n}개의 라벨 로딩됨","All %{n} people loaded":"모든 %{n}명 로딩됨","All Cameras":"모든 카메라","All Categories":"모든 카테고리","All Colors":"모든 색깔","All Countries":"모든 나라","All fields are required":"모든 항목을 채워야 합니다","All files from import folder":"폴더의 모든 파일 가져오기","All Lenses":"모든 렌즈","All Months":"모든 달","All originals":"모든 원본","All Years":"모든 년도","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"대신, Nextcloud와 같은 WebDAV 서버에 직접 파일을 업로드할 수 있습니다.","Altitude":"고도","Altitude (m)":"고도 (m)","AM":"AM","Animated":"움직이는 사진","Animation":"애니메이션","Animations":"애니메이션","Any private photos and videos remain private and won't be shared.":"모든 비공개 사진과 동영상은 비공개로 유지되며 공유되지 않습니다.","API Key":"API 키","Application":"애플리케이션","Apply":"적용","Approve":"승인","Apps and Devices":"앱 및 디바이스","Archive":"보관","Archived":"보관함","Are you sure you want to archive the selection?":"선택 항목들을 보관하시겠습니까?","Are you sure you want to delete these albums?":"선택한 앨범을 삭제 하시겠습니까?","Are you sure you want to delete these labels?":"선택 라벨을 삭제 하시겠습니까?","Are you sure you want to delete this account?":"이 계정을 삭제 하시겠습니까?","Are you sure you want to delete this album?":"이 앨범을 삭제하시겠습니까?","Are you sure you want to permanently delete these pictures?":"이 사진을 영구적으로 삭제하시겠습니까?","Are you sure you want to permanently delete this file?":"이 파일을 영구적으로 삭제 하시겠습니까?","Are you sure?":"확실합니까?","Artist":"아티스트","Aspect Ratio":"종횡비","Audio":"오디오","Authentication":"인증","Auto":"자동","Back":"뒤쪽에","Back to top":"맨 위로 돌아가기","Backup":"백업","Badge":"배지","Base Path":"기본 경로","Become a member today, support our mission and enjoy our member benefits!":"지금 바로 회원으로 가입하여 우리의 미션을 지원하고 회원 혜택을 누려보세요!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"100% 자체 자금으로 운영되며 독립되었기에, 우리는 귀하의 데이터를 절대 판매하지 않으며 소프트웨어와 서비스에 대해 항상 투명할 것임을 약속할 수 있습니다.","Bio":"바이오","Birth Date":"생일","Black":"검은색","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Lanczos 수정, 덜 울리는 아티팩트","Blue":"파란색","Brown":"갈색","Browse":"찾아보기","Browse and edit image classification labels.":"검색하고 이미지 분류 라벨 편집하기.","Browse and share your pictures organized into monthly albums.":"월별 앨범으로 정리된 사진을 찾아보고 공유하세요.","Browse Files":"파일 찾아보기","Browse indexed files and folders in Library.":"라이브러리에서 인덱싱된 파일 및 폴더를 검색합니다.","Bug Report":"버그 신고","Busy, please wait…":"처리중, 잠시만 기다려주세요…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"당사가 제공하는 소프트웨어 및 서비스를 사용함으로써 귀하는 당사의 서비스 약관, 개인 정보 보호 정책 및 행동 강령에 동의하는 것입니다.","Calendar":"달력","Camera":"카메라","Camera Serial":"카메라 일련 번호","Can't access your authenticator app or device?":"인증 앱 또는 디바이스에 액세스할 수 없나요?","Can't load more, limit reached":"더 로드할 수 없습니다. 한도에 도달했습니다.","Can't select more items":"더 많은 아이템을 선택할 수 없습니다","Cancel":"취소","Cannot copy to clipboard":"클립보드에 복사할 수 없습니다.","Caption":"캡션","Cards":"카드","Carousel slide {0} of {1}":"1}의 {0} 캐러셀 슬라이드","Category":"범주","Change Avatar":"아바타 변경","Change Password":"비밀번호 변경","Change personal profile and security settings.":"개인 프로필 및 보안 설정을 변경합니다.","Change photo titles, locations, and other metadata.":"사진 제목, 위치 및 기타 메타데이터를 변경합니다.","Change private flag":"비공개 플래그 변경하기","Changes could not be saved":"변경 사항을 저장할 수 없음","Changes successfully saved":"변경사항이 성공적으로 저장되었습니다","Changes to the advanced settings require a restart to take effect.":"고급 설정의 변경 사항을 적용하려면 다시 시작해야 합니다.","Checked":"확인됨","Chroma":"채도","Cleaning index and cache":"인덱스 및 캐시 정리","Cleanup":"정리","Clear {0}":"지우기 {0}","Client":"클라이언트","Client Credentials":"클라이언트 자격 증명","Close":"닫기","Codec":"코덱","Color":"색깔","Color Profile":"색상 프로필","Colors":"색깔","Compare Editions":"에디션 비교","Complete Rescan":"완전 다시 색인","Confidence":"신임도","Confirm":"확인하다","Connect":"연결","Connect via WebDAV":"WebDAV로 연결하기","Connected":"연결됨","Contact Details":"세부 연락처","Contact Us":"문의하기","Contains %{n} pictures.":"%{n}개의 사진이 포함되어 있습니다.","Contains one picture.":"한 장의 사진이 포함되어 있습니다.","Content":"콘텐츠","Continue":"계속하다","Continue with %{provider}":"계속하기 %{제공자}로","Contributor":"기여자","Converting":"변환하는 중","Copied to clipboard":"클립보드에 복사했습니다","Copy":"복사","Copyright":"저작권","Couldn't find anything.":"아무것도 찾을 수 없습니다.","Country":"나라","Create Account":"계정 만들기","Create album":"앨범 만들기","Create regular backups based on the configured schedule.":"구성된 일정에 따라 인덱스 백업을 생성합니다.","Create YAML files to back up album metadata.":"앨범 메타데이터를 백업할 YAML 파일을 만듭니다.","Create YAML sidecar files to back up picture metadata.":"사진 메타데이터를 백업하는 YAML 사이드카 파일을 만듭니다.","Created":"만듦","Creating thumbnails for":"축소판 만들기","Cubic: Moderate Quality, Good Performance":"큐빅: 보통 품질, 우수한 성능","Current Password":"현재 비밀번호","Custom":"사용자 지정","Cyan":"청록색","Daily":"매일","Database Backups":"데이터베이스 백업","Day":"일","Deactivate":"비활성화","Debug Logs":"디버그 로그","Default":"기본값","Default Folder":"기본 폴더","Delete":"삭제","Delete Album":"앨범 삭제","Delete All":"모두 삭제","Delete all?":"모두 삭제하시겠습니까?","Delete orphaned index entries, sidecar files and thumbnails.":"고아가 된 색인 항목, 사이드카 파일 및 썸네일을 삭제합니다.","Description":"설명","Detailed instructions can be found in our User Guide.":"자세한 지시는 사용설명서에서 찾을 수 있습니다.","Details":"세부 사항","Dimensions":"치수","Disable Backups":"백업 비활성화","Disable Darktable":"다크테이블 비활성화","Disable ExifTool":"ExifTool 비활성화","Disable features that require write permission for the originals folder.":"원본 폴더에 대한 쓰기 권한이 필요한 기능을 비활성화합니다.","Disable FFmpeg":"FFmpeg 비활성화","Disable ImageMagick":"ImageMagick 비활성화","Disable interactive world maps and reverse geocoding.":"대화형 세계 지도를 비활성화하고 지오코딩을 역방향으로 설정합니다.","Disable Places":"장소 비활성화","Disable RawTherapee":"RawTherapee 비활성화","Disable TensorFlow":"TensorFlow 비활성화","Disable Vectors":"벡터 비활성화","Disable WebDAV":"WebDAV 비활성화","Disables vector graphics support.":"벡터 그래픽 지원을 비활성화합니다.","Disables video transcoding and thumbnail extraction.":"동영상 트랜스코딩 및 썸네일 추출을 비활성화합니다.","Discover":"디스커버","Dismiss":"해지","Display Name":"닉네임","Display picture captions in search results.":"검색 결과에 사진 캡션을 표시합니다.","Display picture titles in search results.":"검색 결과에 사진 제목을 표시합니다.","Document":"문서","Documents":"문서","Don't use Darktable to convert RAW images.":"RAW 파일을 변환하는 데 Darktable을 사용하지 마십시오.","Don't use ImageMagick to convert images.":"이미지 변환에 ImageMagick을 사용하지 마세요.","Don't use RawTherapee to convert RAW images.":"RawTherapee를 사용하여 RAW 파일을 변환하지 마십시오.","Done":"완료","Done.":"완료.","Download":"다운로드","Download only original media files, without any automatically generated files.":"자동으로 생성된 파일 없이 원본 미디어 파일만 다운로드하세요.","Download remote files":"원격 파일 다운로드하기","Download single files and zip archives.":"단일 파일 및 ZIP 아카이브 다운로드하기.","Downloading…":"다운로드 중…","Downscaling Filter":"축소 필터","Drag and drop files here":"파일을 여기로 끌어다 놓기","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"저희가 받는 이메일의 양이 많기 때문에 저희 팀에서 즉시 연락을 드리지 못할 수도 있습니다.","Duplicates will be skipped and only appear once.":"중복은 건너뛰고 한 번만 나타납니다.","Duration":"기간","Dynamic Previews":"다이나믹 미리보기","Dynamic Size Limit: %{n}px":"다이나믹 크기 제한: %{n}px","E-Mail":"이메일","Edit":"편집","Edit %{s}":"%{s} 편집하기","Edit Account":"계정 편집","Edit Photo":"사진 편집","Edited":"편집됨","Email":"이메일","Enable debug mode to display additional logs and help with troubleshooting.":"디버그 모드를 활성화하면 추가 로그를 표시하고 문제 해결에 도움을 받을 수 있습니다.","Enable new features that may be incomplete or unstable.":"불완전하거나 불안정할 수 있는 새로운 기능을 사용하도록 설정합니다.","Enables RAW converter presets. May reduce performance.":"RAW 변환기 사전 설정을 활성화합니다. 성능이 저하될 수 있습니다.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"이중 인증을 활성화하면 로그인하려면 무작위로 생성된 인증 코드가 필요하므로 누군가가 귀하의 비밀번호에 접근하더라도 귀하의 계정에 접근할 수 없습니다.","Enter date":"날짜 입력","Enter dates":"날짜 입력","Enter the code generated by your authenticator app:":"인증 앱에서 생성한 코드를 입력합니다:","Enter verification code":"인증코드를 입력하세요","Enter your password to confirm the action and continue:":"작업을 확인하고 계속하려면 비밀번호를 입력하세요.","Error":"오류","Errors":"오류","Estimate":"견적","Estimate Locations":"예상 위치","Estimate the approximate location of pictures without GPS coordinates.":"GPS 좌표 없이 사진의 대략적인 위치를 추정합니다.","Every two days":"2일마다","Exclude content marked as private from search results, shared albums, labels, and places.":"검색 결과, 공유 앨범, 레이블 및 장소에서 비공개로 표시된 콘텐츠를 제외합니다.","Exclude hidden":"숨김 제외","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"전체 비디오, 라이브 사진 및 XMP를 지원하려면 ExifTool을 사용한 메타데이터 추출이 필요합니다.","Experimental Features":"실험실 기능","Expires":"만료","Exposure":"노출","Extract still images and generate thumbnails while indexing.":"인덱싱하는 동안 정지 이미지를 추출하고 썸네일을 생성합니다.","F Number":"F 숫자","Face":"얼굴","Faces":"얼굴","Failed removing link":"링크를 제거하지 못했습니다","Failed to connect account.":"계정을 연결하지 못했습니다.","Failed updating link":"링크를 업데이트하지 못했습니다","Family Name":"성","Fast":"빠른","Favorite":"즐겨 찾기","Favorites":"즐겨 찾기","Feature Request":"기능 요청","Feedback":"피드백","Female":"여성","File":"파일","File Browser":"파일 탐색기","File Conversion":"파일 변환","File Name":"파일 이름","File Size":"파일 크기","Filename":"파일이름","Files":"파일","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"'IMG_1234(2)', 'IMG_1234(3)'과 같이 순차적인 이름을 가진 파일은 같은 그림에 속합니다.","First page":"첫 페이지","Focal Length":"초점 거리","Folder":"폴더","Folder contains %{n} files":"폴더에 %{n} 파일을 포함됨","Folder is empty":"폴더가 비어 있습니다","Folders":"폴더","Forgot password?":"비밀번호를 잊으셨나요?","FPS":"FPS","Frames":"프레임","Full Access":"전체 권한","Fullscreen":"전체 화면","General":"일반","Generate":"생성하다","Generate albums of special moments, journeys, and places.":"특별한 순간, 여행 및 장소의 앨범을 자동으로 생성합니다.","Generate Previews":"미리보기 생성","Generated":"생성됨","Get Started":"시작하기","Given Name":"이름","Global Options":"글로벌 옵션","Go to page {0}":"페이지 {0}로 이동","Gold":"금색","Green":"녹색","Grey":"회색","Guest":"게스트","Hash":"해시","Help":"도움말","Help & Support":"도움말/지원","Hidden":"숨김","Hidden Files":"숨김 파일","Hide":"숨기기","Hide photos that have been moved to archive.":"보관함으로 이동한 사진을 숨기기.","High":"높음","High Dynamic Range (HDR)":"HDR(하이 다이내믹 레인지)","How can we help?":"어떻게 도와 드릴까요?","Hybrid":"하이브리드","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"인증 앱이나 장치에 액세스할 수 없는 경우 복구 코드를 사용하여 계정에 다시 액세스할 수 있습니다.","Image":"이미지","Image Quality":"이미지 품질","Import":"가져오기","Import failed":"가져오기 실패","Imported files will be sorted by date and given a unique name to avoid duplicates.":"가져온 파일은 날짜별로 정렬되고 중복을 방지하기 위해 유일한 이름이 지정됩니다.","Imported files will be sorted by date and given a unique name.":"가져온 파일은 날짜별로 정렬되고 유일한 이름이 지정됩니다.","Importing %{s}…":"%{s} 가져오기 중…","Importing files to originals…":"오리지널에 가져 오는중…","in":"입력","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"예상한 사진이 누락된 경우 라이브러리를 다시 검색하고 색인 생성이 완료될 때까지 기다리십시오.","Include RAW image files when downloading stacks and archives.":"스택과 아카이브를 다운로드할 때 RAW 이미지 파일을 포함하세요.","Include sidecar files when downloading stacks and archives.":"스택과 아카이브를 다운로드할 때 사이드카 파일을 포함하세요.","Increase storage size or delete files to continue.":"계속하려면 저장 용량 크기를 늘리거나 파일을 삭제하세요.","Index":"색인","Index and import files through the user interface.":"사용자 인터페이스를 통해 파일을 인덱싱하고 가져옵니다.","Indexing":"색인중","Indexing failed":"색인 실패","Indexing media and sidecar files…":"미디어 및 사이드카 파일 색인중…","Information":"정보","Instance ID":"인스턴스 ID","Insufficient storage.":"저장 공간 부족.","Interval":"간격","Invalid":"무효한","Invalid address":"잘못된 주소","Invalid country":"잘못된 국가","Invalid date":"잘못된 날짜","Invalid parameters":"잘못된 매개 변수","Invalid photo selected":"잘못된 사진을 선택했습니다.","Invalid time":"유효하지 않은 시간","Invalid URL":"잘못된 URL","It is a one-time use code that will disable 2FA for your account when you use it.":"이는 귀하가 사용할 때 귀하의 계정에 대한 2FA를 비활성화하는 일회성 사용 코드입니다.","Item":"아이템","Items per page:":"페이지당 항목:","JPEG Quality: %{n}":"JPEG 품질: %{n}","JPEG Size Limit: %{n}px":"JPEG 크기 제한: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"JPEG 파일과 썸네일은 필요에 따라 자동으로 렌더딩 됩니다.","Keywords":"키워드","Label":"라벨","Labels":"라벨","Labels deleted":"라벨 삭제됨","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: 디테일 보존, 최소한의 인공물","Language":"언어","Last Active":"마지막 활성","Last Login":"마지막 로그인","Last page":"마지막 페이지","Last Sync":"마지막 동기화","Last Used":"마지막으로 사용됨","Latitude":"위도","LDAP/AD":"LDAP/AD","Learn more":"더 보기","Learn More":"자세히 알아보기","Legal Information":"법률 정보","Lens":"렌즈","Library":"라이브러리","License":"라이센스","Like":"좋아요","Lime":"라임색","Limit reached, showing first %{n} files":"한도에 도달하여 처음 %{n} 파일을 표시합니다","Linear: Very Smooth, Best Performance":"Linear: 매우 부드럽고 최고의 성능","Link":"링크","List":"리스트","List View":"목록 보기","Live":"라이브","Live Photos":"라이브 포토","Load more":"더 보기","Loading items...":"항목 로드 중...","Loading...":"로드 중...","Local":"로컬","Local Time":"현지 시간","Location":"위치","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"PhotoPrism이 깨진 파일을 발견하거나 다른 잠재적인 문제가 있을 때마다 로그 메시지가 여기에 나타납니다.","Login":"로그인","Logout":"로그아웃","Logs":"로그","Longitude":"경도","Low":"낮음","Magenta":"마젠타색","Main Color":"주요 색깔","Male":"남성","Manage Account":"계정 관리","Manager":"관리자","Manual":"매뉴얼","Manual Upload":"수동 업로드","Maps":"지도","Marker":"마커","Maximum number of accounts has been reached.":"최대 계정 수에 도달했습니다.","Media":"미디어","Medium":"중간","Membership":"멤버쉽","Merge %{a} with %{b}?":"%{a}을 %{b}과(를) 병합하시겠습니까?","Message":"메시지","Message sent":"매시지 보냄","Metadata":"메타데이터","Metrics":"측정항목","Minimize":"최소화","Missing":"누락됨","Missing or invalid configuration":"구성이 누락되었거나 유효하지 않습니다.","Moments":"나의 순간","Monochrome":"단색","Month":"달","More options":"추가 옵션","Mosaic":"모자이크","Most Relevant":"가장 관련성","Move Files":"파일 이동하기","Must have at least %{n} characters.":"8자 이상이어야 합니다.","Mute":"음소거","Name":"이름","Name too long":"이름이 너무 깁니다","Never":"안함","New":"신규","New Password":"새로운 비밀번호","Newest First":"최신 순","Next":"다음","Next page":"다음 페이지","Next visual":"다음 비주얼","No":"아니요","No albums found":"앨범이 없습니다","No data available":"사용 가능한 데이터 없음","No labels found":"라벨이 없습니다","No matching records found":"일치하는 레코드가 없습니다.","No more":"더 이상","No people found":"사람이 없습니다","No pictures found":"사진이 없습니다","No recently edited pictures":"최근에 편집한 사진이 없습니다","No results":"결과 없음","No server connection":"서버 연결 없음","No servers configured.":"구성된 서버가 없습니다.","No services configured.":"구성된 서비스가 없습니다.","No thanks":"아니요, 괜찮습니다","No warnings or error containing this keyword. Note that search is case-sensitive.":"이 키워드를 포함하는 경고 또는 오류가 없습니다. 검색은 대소문자를 구분합니다.","Non-photographic and low-quality images require a review before they appear in search results.":"사진이 아닌 저품질 이미지는 검색 결과에 표시되기 전에 검토가 필요합니다.","None":"없음","Not allowed":"허용되지 않음","Not found":"찾을 수 없음","Not sorted.":"정렬되지 않았습니다.","Not supported":"지원되지 않음","Note you may manually manage your originals folder and importing is optional.":"원본 폴더를 수동으로 관리할 수 있으며 가져오기는 선택 사항입니다.","Note:":"노트:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"주의: Nextcloud 또는 PhotoPrism와 같은 WebDAV서버만 백업 및 파일 업로드를 위한 원격 서비스로 구성할 수 있습니다.","Notes":"노트","Nothing to see here yet.":"아직 볼 것이 없습니다. 인내심을 가지세요.","Nothing was found.":"아무것도 발견되지 않았습니다.","Offline":"오프라인","OIDC":"OIDC","OK":"확인","Oldest First":"오래된 순","On Windows, enter the following resource in the connection dialog:":"Windows의 경우 연결 대화 상자에 다음 리소스를 입력합니다.","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"썸네일을 주문형으로 생성하면 CPU 및 메모리 사용량이 높아질 수 있습니다. 리소스가 제한된 서버 및 NAS 장치에는 권장되지 않습니다.","Once a week":"일주일에 한 번","One album found":"1개 앨범 찾음","One file found":"1개 파일 찾음","One file uploaded":"업로드된 파일 1개","One folder found":"1개 폴더 찾음","One label found":"라벨 1개를 찾았습니다.","One person found":"한 사람이 발견됨","One picture found":"사진 1장 발견","Only locally managed accounts can be set up for authentication with 2FA.":"2FA 인증을 위해 로컬로 관리되는 계정만 설정할 수 있습니다.","Open":"열기","optional":"선택 사항","or":"또는","Orange":"주황색","Organization":"조직","Orientation":"방향","Original file names will be stored and indexed.":"원본 파일 이름은 저장하고 색인됩니다.","Original Name":"원본 이름","Originals":"오리지널","Other":"다른","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"우리의 임무는 사진을 정리하고 액세스할 수 있도록 가장 사용자 및 개인 정보 보호 친화적 솔루션을 제공하는 것입니다.","Outdoor":"아웃도어","Page {0}, Current page":"페이지 {0}, 현재 페이지","Pages":"페이지","Pagination Navigation":"페이지 매김 탐색","Panorama":"파노라마","Panoramas":"파노라마","Password":"비밀번호","Password changed":"비밀번호 변경됨","People":"사람","People you share a link with will be able to view public contents.":"링크를 공유한 사람들은 공개 콘텐츠를 볼 수 있습니다.","Permanently deleted":"영구 삭제됨","Permanently remove files to free up storage.":"파일을 영구적으로 제거하여 저장 공간을 확보하십시오.","Person":"사람","Personal":"개인","Photo":"사진","PhotoPrism is 100% self-funded and independent.":"포토프리즘은 100% 자체 자금으로 독립적으로 운영됩니다.","PhotoPrism+ Membership":"포토프리즘+ 멤버십","Photos":"사진","Picture Title":"사진 제목","Pink":"분홍색","Place":"장소","Place & Time":"장소 & 시간","Places":"장소","Please confirm your new password.":"새 비밀번호를 확인하세요.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"무작위로 생성된 다음 앱 비밀번호는 다시 볼 수 없으므로 복사하여 안전한 곳에 보관하시기 바랍니다.","Please do not upload any private, unlawful or offensive pictures.":"사적이거나 불법적이거나 불쾌감을 주는 사진은 업로드하지 마세요.","Please don't upload photos containing offensive content.":"불쾌감한 콘텐츠 포함된 사진을 업로드하지 마십시오.","Please enter OTP character {0}":"OTP 문자 {0}을 입력하세요.","Please note that changing your password will log you out on other devices and browsers.":"비밀번호를 변경하면 다른 장치 및 브라우저에서 로그아웃됩니다.","Please restart your instance for the changes to take effect.":"변경 사항을 적용하려면 인스턴스를 다시 시작하세요.","Please wait…":"잠시만 기다려주세요…","PM":"PM","PNG Size Limit: %{n}px":"PNG 크기 제한: %{n}px","Portrait":"초상","Preserve filenames":"파일 이름 보류","Press enter to create a new album.":"새 앨범을 만들려면 Enter 키를 누르세요.","Prevent database and album backups as well as YAML sidecar files from being created.":"데이터베이스 및 앨범 백업과 YAML 사이드카 파일이 생성되지 않도록 합니다.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"다른 앱이 공유 네트워크 드라이브로서 PhotoPrism에 액세스하지 못하도록 합니다.","Preview":"미리보기","Preview Images":"이미지 미리보기","Previous":"이전 게시물","Previous page":"이전 페이지","Previous visual":"이전 비주얼","Primary":"주요","Private":"비공개","Product Feedback":"제품 피드백","Projection":"투사","Purple":"보라색","Quality Filter":"품질 필터","Quality Score":"품질 점수","r":"r","Random":"랜덤","Rating {0} of {1}":"1}의 {0} 등급","Raw":"원시","RAW":"날것의","Re-index all originals, including already indexed and unchanged files.":"이미 인덱싱되고 변경되지 않은 파일을 포함하여 모든 원본을 다시 인덱싱합니다.","Read-Only Mode":"읽기 전용 모드","Recently Added":"최근 추가됨","Recently Archived":"최근 아카이브","Recently Edited":"최근 편집","Recognition starts after indexing has been completed.":"인덱싱이 완료된 후 인식이 시작됩니다.","Recognize faces so people can be assigned and found.":"특정 사람을 찾을 수 있도록 얼굴을 인식합니다.","Recognized":"인정","Recovery Code":"복구 코드","Red":"빨간색","Refresh":"새로 고침","Regions":"지역","Register":"등록하기","Reload":"새로고침","Reloading…":"새로고침 중…","Remote Sync":"원격 동기화","Remove":"제거","remove failed: unknown album":"제거 실패 - 잘못된 앨범","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"가져온 파일을 제거하여 저장 공간을 절약하십시오. 지원되지 않는 파일 형식은 삭제되지 않으며 현재 위치에 남아 있습니다.","Request failed - are you offline?":"요청 실패 - 오프라인 상태인가요?","Request failed - invalid response":"요청 실패 - 잘못된 응답","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"사진이 아닌 이미지와 저화질 이미지는 검색 결과에 표시되기 전에 검토하도록 요구합니다.","Resolution":"해상도","Restart":"다시 시작","Restore":"복원","Restored":"복원됨","Retry Limit":"재시도 제한","Retype Password":"비밀번호 다시 입력","Review":"리뷰","Role":"역할","Rows per page:":"페이지당 행 수입니다:","Satellite":"위성","Save":"저장","Scan":"스켄","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"인증 앱으로 QR 코드를 스캔하거나 아래 표시된 설정 키를 사용한 후 생성된 확인 코드를 입력하세요.","Scans":"스켄","Scope":"범위","Search":"검색","Search and display photos on a map.":"검색하고 지도에서 시진을 표시합니다.","Season":"계절","Secret":"비밀","Security and Access":"보안 및 액세스","Select":"선택","Select a source folder to import files…":"파일을 가져올 소스 폴더를 선택합니다…","Select date":"날짜 선택","Select dates":"날짜 선택","Select or create an album":"앨범 선택 또는 생성","Select the files to upload…":"업로드할 파일 선택…","Select the folder to be indexed…":"색인할 폴더를 선택합니다…","Select Time":"시간 선택","Selection approved":"선택 항목 승인됨","Selection archived":"선택 항목 보관됨","Selection restored":"선택 항목 복원됨","Sequential Name":"순차 이름","Service URL":"서비스 URL","Services":"서비스","Session":"세션","Session ID":"세션 ID","Sessions":"세션","Set as Album Cover":"앨범 표지로 설정","Settings":"설정","Settings saved":"설정 저장됨","Setup":"설치","Share":"공유","Share %{s}":"%{s} 공유하기","Share your pictures with other apps and services.":"다른 앱 및 서비스와 사진을 공유하십시오.","Show":"보이기","Show all new faces":"모든 새 얼굴 표시","Show Captions":"캡션 표시","Show hidden":"숨김 표시","Show less":"덜 보여","Show more":"더 보여","Show server logs in Library.":"라이브러리에 서버 로그를 표시합니다.","Show Titles":"제목 표시","Sidecar":"사이드카","Sidecar Files":"사이드카 파일","Sign in":"등록","Similar":"비슷한","Size":"크기","Slideshow":"슬라이드쇼","Slow":"느림","Software":"소프트웨어","Software Update":"소프트웨어 업데이트","Something went wrong, try again":"문제가 발생했습니다. 다시 시도하세요.","Sort by":"정렬 기준","Sort Order":"정렬 방법","Sorted ascending.":"오름차순으로 정렬됩니다.","Sorted descending.":"내림차순으로 정렬됩니다.","Source":"소스","Stack":"스택","Stack files sharing the same unique image or instance identifier.":"동일한 고유 이미지 또는 인스턴스 식별자를 공유하는 스택 파일.","Stack pictures taken at the exact same time and location based on their metadata.":"메타데이터를 기반으로 정확히 같은 시간과 위치에서 찍은 사진을 쌓습니다.","Stackable":"스택 할 수 있슴","Stacks":"스택","Start":"시작","Start Page":"시작 페이지","Static Size Limit: %{n}px":"스태틱 크지 제한: %{n}px","Status":"상태","Storage":"저장고","Streets":"거리","Subject":"주제","Submit":"제출하기","Successfully activated":"성공적으로 활성화되었습니다","Successfully Connected":"성공적으로 연결됨","Successfully deleted":"삭제 성공","Successfully verified":"성공적으로 확인되었습니다","Super Admin":"슈퍼 관리자","Support for additional services, like Google Drive, will be added over time.":"Google 드라이브와 같은 추가 서비스에 대한 지원은 시간이 지남에 따라 추가됩니다.","Support Our Mission":"우리의 임무를 지원","Sync":"동기화","Sync raw and video files":"원시 사진과 동영상 파일을 동기화하기","Taken":"찍음","Teal":"암녹색","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"이미지 분류, 얼굴 인식, 안전하지 않은 콘텐츠 감지에는 TensorFlow가 필요합니다.","Terrain":"지형","Text":"텍스트","Text too long":"텍스트는 너무 긴다","Thank You for Your Support!":"여러분의 성원에 감사드립니다!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"그렇기 때문에 포토프리즘은 처음부터 자유, 개인정보 보호, 기능에 영향을 주지 않으면서 필요한 곳 어디에서나 실행할 수 있도록 설계되었습니다.","The index currently contains %{n} hidden files.":"현재 색인에서 %{n}개의 숨겨진 파일이 있습니다.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"형식이 지원되지 않을 수 있고, 아직 JPEG 형식으로 변환되지 않았거나 중복이 있을 수 있습니다.","Theme":"테마","This field is required":"이 필드는 필수 입력 사항입니다.","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"이렇게 하면 원본 폴더가 네트워크 드라이브로 마운트되고 컴퓨터나 스마트폰에서 파일을 로컬에 있는 것처럼 열고 편집하고 삭제할 수 있습니다.","Time UTC":"표준 시간대","Time Zone":"시간대","Timeout":"타임아웃","Title":{"Account":"주제","Photo":"주제","":"주제"},"Title / Position":"직위","Title too long":"주제 너무 긴다","to":"~","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"계정이 잠기는 것을 방지하려면 지금 이 복구 코드를 다운로드, 인쇄 또는 복사하여 안전한 곳에 보관하십시오.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"새로운 앱 비밀번호를 생성하려면 애플리케이션의 이름과 인증 범위를 입력하고 만료일을 선택하세요.","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"새로운 인증 앱이나 기기로 전환하려면 먼저 2단계 인증을 비활성화한 후 다시 활성화하세요.","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"업그레이드하려면 활성화 코드를 입력하거나 '등록'을 클릭하여 웹사이트에서 가입할 수 있습니다:","Today":"오늘","Toggle View":"보기형식 변경","Token":"토큰","Too many files selected":"선택한 파일이 너무 많습니다.","Too many requests":"너무 많은 요청","Troubleshooting":"문제 해결","Try again using other filters or keywords.":"다른 필터 또는 키워드를 사용하여 다시 시도하십시오.","Two-factor authentication has been enabled for your account.":"귀하의 계정에 이중 인증이 활성화되었습니다.","Type":"종류","Unable to delete":"삭제할 수 없습니다.","Unauthorized":"승인되지 않은","Undo":"실행 취소","Unique ID":"유일 ID","Unknown":"알 수 없는","Unregistered":"미등록","Unsorted":"정렬되지 않음","Unstack":"스택 해제","Updated":"업로드됨","Updating faces":"얼굴 업데이트","Updating index":"색인을 업데이트 중","Updating moments":"\"나의 순간\" 업데이트 중","Updating picture…":"사진 업데이트 중…","Updating previews":"미리보기 업데이트","Updating stacks":"스택을 업데이트 중","Upgrade":"업그레이드","Upgrade Now":"지금 업그레이드","Upload":"업로드","Upload complete":"업로드 완료","Upload complete. Indexing…":"업로드 완료. 색인중…","Upload failed":"업로드 실패","Upload local files":"로컬 파일 업로드","Upload Path":"업로드 경로","Upload to WebDAV and share links with friends.":"WebDAV에 업로드하고 친구와 링크로 공유합니다.","Uploading %{n} of %{t}…":"%{t} 중 %{n} 업로드 중…","Uploading photos…":"사진 업로드중…","Uploading…":"업로드 중…","Uploads that may contain such images will be rejected automatically.":"이러한 이미지가 포함될 수 있는 업로드는 자동으로 거부됩니다.","Use Presets":"사전 설정 사용","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"인증 앱으로 유효한 인증 코드를 생성할 수 없는 경우 다음 복구 코드를 사용하여 계정에 액세스하세요.","Use your recovery code or contact an administrator for help.":"복구 코드를 사용하거나 관리자에게 도움을 요청하세요.","User":"사용자","User Guide":"사용자 가이드","User Interface":"사용자 인터페이스","Username":"사용자 이름","Users":"사용자","Vector":"벡터","Vectors":"벡터","Verification Code":"확인 코드","Video":"동영상","Video Duration":"비디오 시간","Videos":"동영상","View":"보기","View search results as a list.":"검색 결과를 목록으로 봅니다.","Viewer":"뷰어","Visitor":"방문자","Visual Similarity":"시각적 유사성","Warning":"경고","We appreciate your feedback!":"귀하의 피드백에 감사드립니다!","We do our best to respond within five business days or less.":"영업일 기준 5일 이내로 답변을 드리기 위해 최선을 다합니다.","Web Login":"웹 로그인","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"WebDAV 클라이언트는 다음 URL을 사용하여 PhotoPrism에 연결할 수 있습니다:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"WebDAV 클라이언트 (예: 마이코로소프트 Windows Explorer 또는 애플 Finder) 직접적으로 PhotoPrism에 연결할 수 있습니다.","WebDAV Upload":"WebDAV 업로드","WebGL support is disabled in your browser":"브라우저에서 WebGL 지원이 비활성화되었습니다.","Website":"웹사이트","White":"백색","Work Details":"작업 내용","Year":"년","Yellow":"황색","Yes":"네","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"멤버십과 관련하여 궁금한 점이 있으면 membership@photoprism.app 으로 문의하시기 바랍니다.","You can only download one album":"하나의 앨범 만 다운로드할 수 있습니다","You can only download one label":"하나의 라벨 만 다운로드할 수 있습니다","You can search for a location or move the marker on the map to change the position:":"위치를 검색하거나 지도에서 마커를 이동하여 위치를 변경할 수 있습니다:","You can upload up to %{n} files for test purposes.":"테스트 목적으로 최대 %{n}개의 파일을 업로드할 수 있습니다.","You may only select one item":"하나의 아이템 선택할 수 있습니다","You may rescan your library to find additional faces.":"추가 얼굴을 찾기 위해 라이브러리를 다시 검색할 수 있습니다.","Your account has been successfully connected.":"계정이 성공적으로 연결되었습니다.","Your browser does not support WebGL":"브라우저가 WebGL을 지원하지 않습니다.","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"귀하의 지속적인 지원은 정기적인 업데이트를 제공하고 독립적인 상태를 유지하는 데 도움이 되어 당사의 사명을 완수하고 귀하의 개인 정보를 보호할 수 있습니다.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"라이브러리는 지속적으로 분석되어 특별한 순간, 여행 및 장소의 앨범을 자동으로 생성합니다.","Zoom in/out":"확대/축소"}} \ No newline at end of file diff --git a/frontend/src/locales/json/ku.json b/frontend/src/locales/json/ku.json index 6e9002eca..042e886ac 100644 --- a/frontend/src/locales/json/ku.json +++ b/frontend/src/locales/json/ku.json @@ -1 +1 @@ -{"ku":{"{0} appended action":"{0} çalakiya pêvekirî","{0} files":"{0} pel","{0} files ({1} in total)":"{0} pel (bi tevayî {1})","{0} more":"{0} zêde","{0} prepended action":"{0} çalakiya pêşwextkirî","{0} selected":"{0} hilbijartin","{0}-{1} of {2}":"{0}-{1} ji {2}","%{n} albums found":"ئەلبوم دۆزرایەوە %{n}","%{n} files uploaded":"%{n} پەڕگە بارکرا","%{n} folders found":"%{n} بوخچە دۆزرایەوە","%{n} GB of %{q} GB used":"%{n} GB ji %{q} GB hat bikaranîn","%{n} labels found":"%{n} پێناس دۆزرایەوە","%{n} people found":"%{n} kes hatin dîtin","%{n} pictures found":"%{n} wêne hatin dîtin","%{s} is too long":"%{s} pir dirêj e","%{s} is too short":"%{s} pir kurt e","1 hour":"١ کاتژمێر","12 hours":"١٢ کاتژمێر","2-Factor Authentication":"2-Authentication Factor","2FA":"2FA","4 hours":"٤ کاتژمێر","A click will copy it to your clipboard.":"کرتەیەک کۆپی دەکاتە کلیپ بۆردەکەت","A new version of %{s} is available:":"Guhertoyek nû ya %{s} heye:","About":"دەربارە","Access Token":"Access Token","Account":"هەژمار","Account created":"هەژمارەکە دروستکرا","Account deleted":"هەژمارەکە سڕایەوە","Account restored":"Hesab hat restorekirin","Accounts":"Accounts","Accuracy":"وردبینی","Action":"کردار","Actions":"کردارەکان","Activate":"Çalak bike","Activate to remove sorting.":"Ji bo rakirina sorkirinê çalak bike.","Activate to sort ascending.":"Ji bo rêzkirina hilkişînê çalak bike.","Activate to sort descending.":"Çalak bike ji bo rêzkirina daketî.","Activation Code":"Koda Çalakkirinê","Add":"Lêzêdekirin","Add %{s}?":"%{s} lê zêde bike?","Add Account":"دەستکاریکردنی هەژمار","Add Album":"زیادکردنی ئەلبوم","Add files to your library via Web Upload.":"زیادکردنی پەڕگەکان بۆ کتێبخانەکەت لەڕێگای بارکردنی وێب.","Add Link":"زیادکردنی بەستەرە","Add person?":"Mirov lê zêde bike?","Add pictures from search results by selecting them.":"Bi hilbijartina wan wêneyan ji encamên lêgerînê zêde bikin.","Add to album":"زیادکردن بۆ ئەلبوم","Added":"زیادکرا","Admin":"Admin","Advanced":"پێشکەوتوو","After 1 day":"دوای ١ ڕۆژ","After 3 days":"دوای ٣ ڕۆژ","After 7 days":"دوای ٧ ڕۆژ","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Piştî ku hûn şîfreya xwe ji bo pejirandinê têkevin, hûn dikarin bi serîlêdanek an amûrek pejirandî ya lihevhatî verastkirina du-faktorî saz bikin:","After one month":"دوای ١ مانگ","After one year":"دوای ١ ساڵ","After selecting pictures from search results, you can add them to an album using the context menu.":"Piştî hilbijartina wêneyên ji encamên lêgerînê, hûn dikarin wan bi karanîna menuya naverokê li albûmê zêde bikin.","After two months":"دوای ٢ مانگ","After two weeks":"دوای ٢ هەفتە","Album":"ئەلبوم","Album Backups":"Album Backups","Album created":"ئەلبومەکە دروستکرا","Albums":"ئەلبومەکان","Albums deleted":"ئەلبومەکان سڕایەوە","All":"Gişt","All %{n} albums loaded":"هەموو %{n} ئەلبومەکان بارکرا","All %{n} labels loaded":"هەموو %{n} پێناسەکان بارکرا","All %{n} people loaded":"Hemû %{n} kes bar kirin","All Cameras":"هەموو کامێراکان","All Categories":"هەموو هاوپۆلەکان","All Colors":"هەموو رەنگەکان","All Countries":"هەموو وڵاتەکان","All fields are required":"هەموو خانەکان پێویستە","All files from import folder":"هەموو پەڕگەکان لە بوخچەی هاوردەکردن","All Lenses":"هەموو لێنزەکان","All Months":"هەموو مانگەکان","All originals":"هەموو ڕەسەنەکان","All Years":"هەموو ساڵەکان","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"لە جیاتی ئەوە، دەتوانیت ڕاستەوخۆ پەڕگەکان باربکەیتە سەر ڕاژەی WebDAV وەک Nextcloud.","Altitude":"هێڵی درێژی","Altitude (m)":"بەرزی (m)","AM":"IM","Animated":"ئەنیمەیشن","Animation":"ئەنیمەیشن","Any private photos and videos remain private and won't be shared.":"هەر فۆتۆ و ڤیدیۆیەکی تایبەت بە تایبەتی دەمێنێتەوە و هاوبەش ناکرێت.","API Key":"API کلیلی","Application":"Bikaranînî","Apply":"به‌کاربردن","Approve":"په‌سه‌ندکردن","Apps and Devices":"Serlêdan û Amûrên","Archive":"ئەرشیف","Archived":"ئەرشیفکراو","Are you sure you want to archive the selection?":"ئایا دڵنیایت لەوەی دەتەوێت ئەم دیاریکردنە ئەرشیف بکەیت؟","Are you sure you want to delete these albums?":"دڵنیایت لەوەی دەتەوێت ئەم ئەلبومانە بسڕیتەوە؟","Are you sure you want to delete these labels?":"دڵنیایت لەوەی دەتەوێت ئەم پێناسانە بسڕیتەوە؟","Are you sure you want to delete this account?":"دڵنیایت لەوەی دەتەوێت ئەم هەژمارانە بسڕیتەوە؟","Are you sure you want to permanently delete these pictures?":"ئایا دڵنیایت لەوەی دەتەوێت ئەم وێنانە بە هەمیشەیی بسڕیتەوە؟","Are you sure you want to permanently delete this file?":"ئایا دڵنیایت لەوەی دەتەوێت بە هەمیشەیی ئەم پەڕگەیە بسڕیتەوە؟","Are you sure?":"Piştrastin?","Artist":"هونەرمەند","Aspect Ratio":"ڕێژەی ڕوو","Audio":"Audio","Authentication":"Authentication","Auto":"Auto","Back":"Paş","Back to top":"Vegere serî","Backup":"Backup","Badge":"Nîşan","Base Path":"Rêya bingehîn","Become a member today, support our mission and enjoy our member benefits!":"Îro bibin endam, piştgirî bidin mîsyona me û ji feydeyên endamtiya me sûd werbigirin!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Ji ber ku 100% xwe-fînansedar û serbixwe ne, em dikarin soz bidin we ku em ê ti carî daneyên we nefroşin û ku em ê her gav di derheqê nermalava û karûbarên xwe de zelal bin.","Bio":"Bio","Birth Date":"Dîroka Jidayikbûnê","Black":"ڕەش","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Lanczos Modification, Less Ringing Artifacts","Blue":"شین","Brown":"قاوەیی","Browse":"Browse","Browse and edit image classification labels.":"گەڕان و بژارکردنی ناونیشانەکانی پۆلێنکردنی وێنە.","Browse and share your pictures organized into monthly albums.":"Wêneyên xwe yên ku di albûmên mehane de hatine organîze kirin bigerin û parve bikin.","Browse Files":"Pelan bigerin","Browse indexed files and folders in Library.":"گەڕان لە پەڕگە وبوخچە نوانەدارەکان لە کتێبخانە.","Bug Report":"راپۆرتی هەڵە","Busy, please wait…":"سەرقاڵە، تکایە چاوەڕێکە…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Bi karanîna nermalava û karûbarên ku em pêşkêş dikin, hûn şertên karûbarê me, polîtîkaya nepenîtiyê, û koda tevgerê qebûl dikin.","Calendar":"ڕۆژمێر","Camera":"کامێرا","Camera Serial":"زنجیرەی کامێرا","Can't access your authenticator app or device?":"Ma hûn nikarin xwe bigihînin sepan an cîhaza xweya rastgir?","Can't load more, limit reached":"ناتوانێت زیاتر بار بکات، گەیشتە سنوور","Can't select more items":"ناتوانێت ئایتمی زیاتر دیاری بکات","Cancel":"هه‌ڵوه‌شاندنه‌وه","Caption":"Sernivîs","Cards":"کارتەکان","Carousel slide {0} of {1}":"slide carousel {0} ji {1}","Category":"هاوپۆله‌كان","Change Avatar":"گۆڕینی نیشانەنوێنی تایبەت","Change Password":"تێپەڕەوشەی نوێ","Change personal profile and security settings.":"Profîla kesane û mîhengên ewlehiyê biguherînin.","Change photo titles, locations, and other metadata.":"Sernivîsên wêneyan, cîh û metadata din biguherînin.","Change private flag":"گۆڕینی نیشانەنوێنی تایبەت","Changes could not be saved":"گۆڕانکاریەکان پاشەکەوت نەکراوە","Changes successfully saved":"گۆڕانکاریەکان سەرکەوتوانە پاشەکەوتکرا","Changes to the advanced settings require a restart to take effect.":"Guhertinên mîhengên pêşkeftî ji nû ve destpêkirinê hewce dike ku bandor bike.","Checked":"پشکنرا","Chroma":"کرۆم","Cleaning index and cache":"Paqijkirina index û cache","Cleanup":"Demdirêj","Clear {0}":"Paqij bike {0}","Client":"Kirrîxwaz","Client Credentials":"Bawernameyên Client","Close":"داخستن","Codec":"Codec","Color":"ڕەنگ","Color Profile":"Profîla Rengê","Colors":"ڕەنگەکان","Compare Editions":"Berawirdî Weşanan","Complete Rescan":"پشکنینەوەی تەواو","Confidence":"دڵنیایی","Confirm":"Tesdîqkirin","Connect":"بەستنەوە","Connect via WebDAV":"بەستنەوە بە WebDAV","Connected":"بەستنەوە","Contact Details":"پەیوەندیمان پێوە بکە","Contact Us":"پەیوەندیمان پێوە بکە","Contains %{n} pictures.":"%{n} wêneyan dihewîne.","Contains one picture.":"Yek wêneyek dihewîne.","Content":"Dilşad","Continue":"Berdewamkirin","Continue with %{provider}":"Bi %{provider} re bidomîne","Contributor":"Contributor","Converting":"گۆڕین","Copied to clipboard":"کۆپی کرایە کلیپ بۆرد","Copy":"Kopî","Copyright":"مافی لەبەرگرتنەوە","Couldn't find anything.":"هیچ شتێک نەدۆزرایەوە.","Country":"وڵات","Create Account":"Hesab biafirîne","Create album":"دروستکردنی ئەلبوم","Create regular backups based on the configured schedule.":"Li ser bingeha nexşeya mîhengkirî paşvekêşên navnîşan biafirînin.","Create YAML files to back up album metadata.":"Pelên YAML biafirînin ku metadata albûmê paşve bikin.","Create YAML sidecar files to back up picture metadata.":"Pelên kêleka YAML biafirînin ku metadaneyên wêneyê paşve bikin.","Created":"دروستکرا","Creating thumbnails for":"دروستکردنی وێنۆچکە بۆ","Cubic: Moderate Quality, Good Performance":"سێجا: کوالێتی مامناوەند، ئەدای باش","Current Password":"تێپەڕەوشەی ئێستا","Custom":"Hûnbunî","Cyan":"شینی ئاسمانی","Daily":"ڕۆژانە","Database Backups":"Backups Database","Day":"ڕۆ‌ژ","Deactivate":"Deaktîv bike","Debug Logs":"تۆماری هەڵەکان","Default":"بنه‌ڕه‌ت","Default Folder":"بوخچەی بنه‌ڕه‌تی","Delete":"سڕینەوە","Delete All":"Hemî jêbirin","Delete all?":"Hemî jêbirin?","Delete orphaned index entries, sidecar files and thumbnails.":"Navnîşanên navnîşên sêwî, pelên kêlekê û piçûkan jêbirin.","Description":"وه‌سفکردن","Detailed instructions can be found in our User Guide.":"ڕێنمایی ورد دەتوانرێت بدۆزرێتەوە لە ڕێبەری بەکارهێنەرەکەمان.","Details":"زانیاری زیاتر","Dimensions":"ڕەهەندەکان","Disable Backups":"ناچالاککردنی پاڵپشتەکان","Disable Darktable":"Darktable neçalak bike","Disable ExifTool":"ExifTool لە کاربخە","Disable features that require write permission for the originals folder.":"Taybetmendiyên ku ji bo peldanka orjînal destûra nivîsandinê hewce dike neçalak bike.","Disable FFmpeg":"FFmpeg asteng bike","Disable ImageMagick":"ImageMagick neçalak bike","Disable interactive world maps and reverse geocoding.":"Nexşeyên cîhanê yên înteraktîf neçalak bikin û jeokodkirina berevajî bikin.","Disable Places":"لەکارخستنی شوێنەکان","Disable RawTherapee":"RawTherapee neçalak bike","Disable TensorFlow":"لەکاربخە TensorFlow","Disable Vectors":"Vektoran neçalak bike","Disable WebDAV":"لەکاربخە WebDAV","Disables vector graphics support.":"Piştgiriya grafikên vektorî asteng dike.","Disables video transcoding and thumbnail extraction.":"Veguheztina vîdyoyê û derxistina piçûkan asteng dike.","Discover":"دۆزینەوە","Dismiss":"Berdan","Display Name":"Navê nîşanî","Display picture captions in search results.":"Di encamên lêgerînê de sernavên wêneyan nîşan bidin.","Display picture titles in search results.":"Di encamên lêgerînê de sernavên wêneyan nîşan bidin.","Document":"Belge","Documents":"Documents","Don't use Darktable to convert RAW images.":"Ji bo veguheztina pelên RAW Darktable bikar neynin.","Don't use ImageMagick to convert images.":"Ji bo veguhertina wêneyan ImageMagick bikar neynin.","Don't use RawTherapee to convert RAW images.":"RawTherapee bikar neynin ku pelên RAW veguherînin.","Done":"تەواوبوو","Done.":"تەواوبوو.","Download":"داگرتن","Download only original media files, without any automatically generated files.":"Tenê pelên medyayê yên orjînal dakêşin, bêyî pelên ku bixweber têne çêkirin.","Download remote files":"داگرتنی پەڕگە دوورەکان","Download single files and zip archives.":"داگرتنی فایلە تاکەکان و ئەرشیفی زیپ.","Downloading…":"دادەگیرێت…","Downscaling Filter":"فلتەری کەمکردنەوە","Drag and drop files here":"Pelan li vir kaş bikin û bavêjin","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"Ji ber qebareya zêde ya e-nameyên ku em distînin, dibe ku tîmê me nikaribe tavilê bi we re vegere.","Duplicates will be skipped and only appear once.":"دووبارەکراوەکان تێپەڕدەبن و تەنها یەک جار دەردەکەون.","Duration":"بەخشینەکان","Dynamic Previews":"پێشبینینی دینامیکی","Dynamic Size Limit: %{n}px":"سنوورداری قەبارەی دینامیکی: %{n}px","E-Mail":"ئیمەیڵ","Edit":"دەستکاری","Edit %{s}":"دەستکاری %{s}","Edit Account":"دەستکاریکردنی هەژمار","Edit Photo":"دەستکاریکردنی فۆتۆ","Edited":"دەستکاریکرا","Email":"Email","Enable debug mode to display additional logs and help with troubleshooting.":"Moda debugê çalak bike da ku têketinên zêde nîşan bide û di çareserkirina pirsgirêkan de bibe alîkar.","Enable new features that may be incomplete or unstable.":"Taybetmendiyên nû yên ku dibe ku netemam an bêîstiqrar bin çalak bikin.","Enables RAW converter presets. May reduce performance.":"Pêşdibistanên veguheztina RAW çalak dike. Dibe ku performans kêm bike.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Çalakkirina erêkirina du-faktorî tê vê wateyê ku hûn ê hewceyê kodek verastkirinê ya ku bi rengek rasthatî hatî hilberandin hewce bike ku têkevinê, ji ber vê yekê her çend kes bigihîje şîfreya we jî, ew ê nikaribe bigihîje hesabê we.","Enter date":"Dîrokê binivîse","Enter dates":"Dîrokan binivîse","Enter the code generated by your authenticator app:":"Koda ku ji hêla sepana xweya nasker ve hatî çêkirin binivîse:","Enter verification code":"Koda verastkirinê binivîse","Enter your password to confirm the action and continue:":"Şîfreya xwe binivîse ku çalakiyê piştrast bike û berdewam bike:","Error":"هەڵە","Errors":"هەڵەکان","Estimate":"Texmînkirin","Estimate Locations":"Cihên Texmîn bikin","Estimate the approximate location of pictures without GPS coordinates.":"Cihê nêzîkê wêneyan bêyî koordînatên GPS-ê texmîn bikin.","Every two days":"هەموو دوو ڕۆژ جارێ","Exclude content marked as private from search results, shared albums, labels, and places.":"Ji encamên lêgerînê, albûmên hevbeş, etîket û deveran naveroka ku wekî taybet hatî nîşankirin derxînin.","Exclude hidden":"Veşartî derxînin","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"Derxistina Metadata bi ExifTool re ji bo piştgiriya tevahî Vîdyo, Wêne Zindî, û XMP hewce ye.","Experimental Features":"تایبەتمەندیە ئەزموونیەکان","Expires":"بەسەرچووەکان","Exposure":"دەرخستن","Extract still images and generate thumbnails while indexing.":"Wêneyên hêstiran derxînin û di dema îndekskirinê de nîgaran çêkin.","F Number":"ژمارەی F","Face":"Rû","Faces":"Rûyên","Failed removing link":"لابردنی بەستەرەکە شکستی هێنا","Failed to connect account.":"Girêdana hesabê têk çû.","Failed updating link":"نوێکردنەوەی بەستەرەکە شکستی هێنا","Family Name":"ناوی پێناس","Fast":"خێرا","Favorite":"دڵخواز","Favorites":"دڵخوازەکان","Feature Request":"داواکردنی تایبەتمەندی","Feedback":"ڕەخنە و پێشنیار","Female":"Mê","File":"پەڕگە","File Browser":"گەڕۆکی پەڕگە","File Conversion":"Veguherîna pelê","File Name":"پەڕگە","File Size":"پەڕگە","Filename":"پەڕگە","Files":"پەڕگەکان","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"پەڕگەکان بە ناوی زنجیرەیی وەک 'IMG_1234 (2)' و 'IMG_1234 (3)' هی هەمان وێنەن.","First page":"Rûpelê yekem","Focal Length":"Focal Length","Folder":"بوخچە","Folder contains %{n} files":"بوخچە %{n} پەڕگەی تێدایە","Folder is empty":"بوخچەکە بەتاڵە","Folders":"بوخچەکان","Forgot password?":"تێپەڕەوشەی ئێستا","FPS":"FPS","Frames":"Frames","Full Access":"Têketinê Full","Fullscreen":"پڕاوپڕ بەشاشە","General":"گشتی","Generate":"Xûlqkirin","Generate albums of special moments, journeys, and places.":"Bixweber albûmên demên taybetî, rêwîtî û deveran diafirîne.","Generate Previews":"Pêşdîtinan biafirînin","Generated":"Çê kirin","Get Started":"Dest pê bike","Given Name":"ناوی ڕەسەن","Global Options":"Vebijarkên Global","Go to page {0}":"Biçe rûpela {0}","Gold":"ئاڵتون","Green":"سەوز","Grey":"ڕەساسی","Guest":"Mêvan","Hash":"هاش","Help":"یارمەتی","Help & Support":"پاڵپشتی کڕیار","Hidden":"شاراوە","Hidden Files":"پەڕگە شاراوەکان","Hide":"Veşartin","Hide photos that have been moved to archive.":"شاردنەوەی ئەو فۆتۆیانەی کە گواستراوەتەوە بۆ ئەرشیف.","High":"Bilind","High Dynamic Range (HDR)":"Rêzeya Dînamîk a Bilind (HDR)","How can we help?":"چۆن ئەتوانین یارمەتیت بدەین؟","Hybrid":"دووڕەگ","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Heke hûn gihîştina serîlêdana an cîhaza xweya rastgir winda bikin, hûn dikarin koda xweya vegerê bikar bînin da ku ji nû ve gihîştina hesabê xwe bistînin.","Image":"وێنە","Image Quality":"Kalîteya Wêne","Import":"هاوردن","Import failed":"هاوردن شکستی هێنا","Imported files will be sorted by date and given a unique name to avoid duplicates.":"پەڕگە هاوردەکان بەپێی بەروار پۆلێن دەکرێت و ناوی بێهاوتای بۆ دادەندرێت بۆی پەڕگەی دووبارە بوونی نەبێت.","Imported files will be sorted by date and given a unique name.":"پەڕگە هاوردەکان بەپێی بەروار پۆلێن دەکرێت و ناوی بێهاوتای پێ دەدرێت.","Importing %{s}…":"هاوردنی %{s}…","Importing files to originals…":"هێنانی پەڕگەکان بۆ ڕەسەنەکان…","in":"لە","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"Ger wêneyên ku hûn li bendê ne wenda nebin, ji kerema xwe pirtûkxaneya xwe ji nû ve şeh bikin û li bendê bimînin heya ku indexing qediya.","Include RAW image files when downloading stacks and archives.":"Dema ku stêk û arşîvan dakêşin pelên wêneyê RAW têxin nav xwe.","Include sidecar files when downloading stacks and archives.":"Di dema dakêşana stêrk û arşîvan de pelên sidecar têxin nav xwe.","Increase storage size or delete files to continue.":"Mezinahiya hilanînê zêde bikin an pelan jêbirin da ku bidomînin.","Index":"نیشاندەر","Index and import files through the user interface.":"Pelan bi navgîniya bikarhênerê ve nîşan bikin û derxînin.","Indexing":"نیشانەسازی","Indexing failed":"نیشانەسازی شکستی هێنا","Indexing media and sidecar files…":"پێڕستکردنی پەڕگەکانی میدیا و لاتەنیشتەکان…","Information":"Agahî","Instance ID":"IDـی نموونە","Insufficient storage.":"Depo ne bes e.","Interval":"ماوە","Invalid":"بەروارێکی نادروست","Invalid address":"Navnîşana nederbasdar","Invalid country":"Welatê nederbasdar","Invalid date":"بەروارێکی نادروست","Invalid parameters":"بەروارێکی نادروست","Invalid photo selected":"Wêneyê nederbasdar hat hilbijartin","Invalid time":"Dema nederbasdar","Invalid URL":"URL nederbasdar","It is a one-time use code that will disable 2FA for your account when you use it.":"Ew kodek karanîna yek-car e ku gava ku hûn wê bikar bînin dê 2FA ji bo hesabê we neçalak bike.","Item":"ئایتم","Items per page:":"Tiştên li ser rûpelê:","JPEG Quality: %{n}":"کوالیتی JPEG: %{n}","JPEG Size Limit: %{n}px":"سنووری قەبارەی JPEG: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"JPEG و وێنە بچووکەکان بە شێوەیەکی خودکارانە بە پێێ پێویست پیشان دەدرێن.","Keywords":"کلیلەوشەکان","Label":"پێناس","Labels":"پێناسەکان","Labels deleted":"پێناسەکان سڕانەوە","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: Detail Preservation, Minimal Artifacts","Language":"زمان","Last Active":"Last Active","Last Login":"Têketina Dawî","Last page":"Rûpelê dawî","Last Sync":"هاوکاتگەری","Last Used":"Last Used","Latitude":"هێڵی پانیی","LDAP/AD":"LDAP/AD","Learn more":"Bêtir hîn bibin","Learn More":"Bêtir hîn bibin","Legal Information":"Agahiyên Hiqûqî","Lens":"لێنز","Library":"کتێبخانە","License":"مۆڵەت","Like":"بەدڵمە","Lime":"قسڵ","Limit reached, showing first %{n} files":"سنوور گەیشتن، یەکەمین ٪{n} پەڕگە پیشان دەدات","Linear: Very Smooth, Best Performance":"Linear: Very Smooth, Best Performance","Link":"بەستەر","List":"خشتە","List View":"View List","Live":"زیندوو","Live Photos":"وێنەکان","Load more":"Zêdetir barkirin","Loading items...":"Barkirina tiştan...","Loading...":"Barkirin...","Local":"Herêmî","Local Time":"کاتی ناوخۆیی","Location":"ناونیشان","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"لۆگ مەسجەکان لێرە دەردەکەون هەرکاتێک فۆتۆپریزم لەگەڵ فایلی شێواو بەرکەوتنی هەبوو ، یان کێشەی شاراوەی تر بوونی هەبوو.","Login":"چوونە ژوورەوە","Logout":"چوونە دەرەوە","Logs":"تۆماری لۆگەکان","Longitude":"درێژی","Low":"Nizm","Magenta":"ئەرخەوانی","Main Color":"ڕەنگی سەرەکی","Male":"Nêrî","Manage Account":"Hesabê Birêvebirin","Manual":"Destî","Manual Upload":"بارکردنی دەستی","Maps":"Nexşe","Marker":"Nîşan","Maximum number of accounts has been reached.":"Hejmara herî zêde ya hesaban gihîştiye.","Media":"Medya","Medium":"مامناوەند","Membership":"Endamî","Merge %{a} with %{b}?":"Bi %{b} re bi %{b} re bibe yek?","Message":"Agah","Message sent":"پەیامەکە گەیەندرا","Metadata":"Metadata","Metrics":"Metrics","Minimize":"بچووک کردنەوە","Missing":"بزر","Missing or invalid configuration":"Veavakirina wenda an nederbasdar","Moments":"ساتەکان","Monochrome":"Monochrome","Month":"مانگ","More options":"Vebijarkên bêtir","Mosaic":"موزایک","Most Relevant":"گرنگترین","Move Files":"دۆسیەی زیاتر","Must have at least %{n} characters.":"بەلایەنی کەمەوە 6 نووسە","Mute":"Bêdeng","Name":"ناو","Name too long":"ناوی زۆر درێژ","Never":"هەرگیز","New":"Nşh","New Password":"تێپەڕەوشەی نوێ","Newest First":"یەکەم تازەترین","Next":"Piştî","Next page":"Rûpelê din","Next visual":"Next dîtbarî","No":"نەخێر","No albums found":"هیچ ئەلبومێکی نەدۆزیوەتەوە","No data available":"Daneyên berdest nînin","No labels found":"هیچ پێناسێکی نەدۆزیوەتەوە","No matching records found":"Qeydên lihevhatî nehatin dîtin","No more":"Bêtir na","No people found":"Kes nehat dîtin","No pictures found":"Wêne nehatin dîtin","No recently edited pictures":"Wêneyên ku nû hatine guheztin tune","No server connection":"Têkiliya serverê tune","No servers configured.":"هیچ ڕاژەیەک سازنەدراوە","No services configured.":"هیچ ڕاژەیەک سازنەدراوە","No thanks":"نەخێر سوپاس","No warnings or error containing this keyword. Note that search is case-sensitive.":"هیچ ئاگادارییەک یان هەڵەیەک نیە کە ئەم وشی لەخۆ گرتبێت. تێبینی بکە کە گەڕان هەستیارە (جیاکەرەوەی پیتە گەورە و چکۆلەکان).","Non-photographic and low-quality images require a review before they appear in search results.":"وێنە نافۆتۆگرافی و کوالێتی نزمەکان پێویستی بە پێداچونەوە هەیە پێش ئەوەی لە ئەنجامی گەڕاندا دەرکەون.","None":"هیچ","Not allowed":"Destûr nayê dayîn","Not found":"نەدۆزرایەوە","Not sorted.":"Ne veqetandin.","Not supported":"Ne piştgirî kirin","Note you may manually manage your originals folder and importing is optional.":"Têbînî ku hûn dikarin peldanka orîjînalên xwe bi destan birêve bibin û hinardekirin vebijarkî ye.","Note:":"تێبینی:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"تێبینی: تەنها ڕەژاکانی WebDAV، وەک Nextcloud یان PhotoPrism، دەتوانرێت وەک خزمەتگوزاریەکی دوور بۆ گەڕانەوەی پاڵپشت (باکئاپ) و دروستکردنی پاڵپشت ساز بکرێت.","Notes":"تێبینیەکان","Nothing to see here yet.":"هێشتا هیچ شتێک نییە بۆ بینین لێرە. ئارام بگرە.","Nothing was found.":"Tiştek nehat dîtin.","Offline":"ده‌رهێڵ","OIDC":"OIDC","OK":"OK","Oldest First":"یەکەم کۆنترین","On Windows, enter the following resource in the connection dialog:":"Li ser Windows-ê, di diyaloga pêwendiyê de çavkaniya jêrîn têkevin:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"Hilberîna li ser daxwazê ya piçûkan dibe ku bibe sedema karanîna CPU û bîranînê ya bilind. Ew ji bo serverên bi çavkaniyê û amûrên NAS-ê nayê pêşniyar kirin.","Once a week":"جارێك لەهەفتەیەكدا","One album found":"یەك ئەلبوم دۆزرایەوە","One file found":"یەك دۆسیە دۆزرایەوە","One file uploaded":"%{n} پەڕگە بارکرا","One folder found":"یەك فۆڵدەر دۆزرایەوە","One label found":"Yek label hat dîtin","One person found":"Kesek hat dîtin","One picture found":"Yek wêne hat dîtin","Only locally managed accounts can be set up for authentication with 2FA.":"Tenê hesabên herêmî yên ku têne rêve kirin dikarin ji bo erêkirinê bi 2FA re bêne saz kirin.","Open":"Vekirî","optional":"bixwe","or":"an","Orange":"پرتەقاڵی","Organization":"Orientation","Orientation":"Orientation","Original file names will be stored and indexed.":"ناوی پەڕگە ڕەسەنەکان هەڵگیراون و نیشانە دەکرێن.","Original Name":"ناوی ڕەسەن","Originals":"ڕەسەنەکان","Other":"هی تر","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"دنیا بینیمان ئەوەیە کە زۆرترین چارەسەری بەکارهێنەر بۆ گەڕان و ڕێکخستن و هاوبەشکردنی کۆکراوەی فۆتۆ دابین بکەین.","Outdoor":"دەرەوە","Page {0}, Current page":"Rûpel {0}, Rûpelê niha","Pages":"Pages","Pagination Navigation":"Navîgasyon Pagination","Panorama":"پانۆراما","Panoramas":"پانۆراماکان","Password":"تێپەڕەوشە","Password changed":"تێپەڕەوشە گۆڕدرا","People":"خەڵك","People you share a link with will be able to view public contents.":"ئەو کەسانەی بەستەرێکی هاوبەشیان لەگەڵ دا دروست دەکەیت، توانای بینینی ناوەڕۆکە گشتیەکانی دەبێت.","Permanently deleted":"بە هەمیشەیی سڕاوەتەوە","Permanently remove files to free up storage.":"سڕینەوەی پەڕگەکان بە شێوەیەکی هەمیشەیی بۆ بەتاڵکردنی بیرگە.","Person":"Şexs","Personal":"Şexsî","Photo":"وێنە","PhotoPrism is 100% self-funded and independent.":"PhotoPrism 100% xwe-fînanse û serbixwe ye.","PhotoPrism+ Membership":"Endamtiya PhotoPrism+","Photos":"وێنەکان","Picture Title":"Sernavê Wêne","Pink":"پەمەی","Place":"شوێن","Place & Time":"شوێن و کات","Places":"شوێنەکان","Please confirm your new password.":"تکایە وشە نهێنیە تازکەت پشتڕاستکەرەوە.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Ji kerema xwe şîfreya sepanê ya ku bi korfelaqî hatî çêkirin kopî bikin û wê li cîhek ewle bihêlin, ji ber ku hûn ê nikaribin wê dîsa bibînin:","Please do not upload any private, unlawful or offensive pictures.":"Ji kerema xwe re tu wêneyên taybet, neqanûnî an êrîşkar bar nekin.","Please don't upload photos containing offensive content.":"تکایە ئەو وێنانە بار مەکە کە ناوەڕۆکی سووکایەتی لەخۆ دەگرن.","Please enter OTP character {0}":"Ji kerema xwe karaktera OTP {0} binivîse","Please note that changing your password will log you out on other devices and browsers.":"Ji kerema xwe not bikin ku guhertina şîfreya xwe dê we li ser cîhaz û gerokên din derxîne.","Please restart your instance for the changes to take effect.":"Ji kerema xwe mînaka xwe ji nû ve bidin destpêkirin da ku guheztin bikeve meriyetê.","Please wait…":"Ji kerema xwe li bendê bin…","PM":"PM","PNG Size Limit: %{n}px":"سنووری قەبارەی PNG: %{n}px","Portrait":"تابلۆ","Preserve filenames":"پاراستنی ناوی پەڕگەکان","Press enter to create a new album.":"بۆ دروستکردنی ئەلبومێکی نوێ، Enter دابگرە.","Prevent database and album backups as well as YAML sidecar files from being created.":"Nehêlin ku paşvekêşên databas û albûmê û her weha pelên kêleka YAML werin afirandin.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Nehêlin ku sepanên din bigihîjin PhotoPrism wekî ajokerek torê ya hevpar.","Preview":"پێشبینین","Preview Images":"Pêşdîtina Wêneyan","Previous":"Pêşî","Previous page":"Rûpelê berê","Previous visual":"Dîtina berê","Primary":"سەرەکی","Private":"تایبەتی","Product Feedback":"ڕەخنە و پێشنیار لە بەرهەم","Projection":"هەڵسەنگاندن","Purple":"مۆر","Quality Filter":"پاڵاوتنی جۆرایەتی","Quality Score":"جۆرایەتی تۆمار","r":"r","Random":"هەڕەمەکی","Rating {0} of {1}":"Rêjeya {0} ji {1}","Raw":"خاو","RAW":"خاو","Re-index all originals, including already indexed and unchanged files.":"دووبارە نیشانە (ئیندێکس) کردنی هەموو ڕەسەنەکان، بە فایلە نوانەدار و نەگۆڕاوەکانیشەوە.","Read-Only Mode":"دۆخی تەنها-خوێندنەوە","Recently Added":"بەم دواییە زیادکرا","Recently Archived":"Recently Archived","Recently Edited":"بەم دواییە دەسکاریکرا","Recognition starts after indexing has been completed.":"Piştî ku endeksasyon qediya naskirin dest pê dike.","Recognize faces so people can be assigned and found.":"Rûyan nas dike da ku mirovên taybetî bêne dîtin.","Recognized":"Nas kirin","Recovery Code":"Recovery Code","Red":"سور","Refresh":"Hênikkirin","Regions":"Herêmên","Register":"Fêhrist","Reload":"بارکردنەوە","Reloading…":"دووبارە بارکردن…","Remote Sync":"هاوکاتکردنی دوور","Remove":"سڕینەوە","remove failed: unknown album":"سڕینەوەکە سەرکەوتوو نەبوو: ئەلبومی نەناسراو","Remove from Album":"Ji albûmê derxe","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"لابردنی پەڕگە هاوردەکان بۆ بەتاڵکردنی بیرگە. جۆرەکانی پەڕگەی پشتیوانی نەکراو هەرگیز ناسڕدرێتەوە، ئەوان لە شوێنی ئێستایان دەمێننەوە.","Request failed - are you offline?":"Daxwaz bi ser neket - tu negirêdayî yî?","Request failed - invalid response":"داواکاریەکە سەرکەوتوو نەبوو - وەڵامە نادروستەکە","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Berî ku ew di encamên lêgerînê de xuya bibin, pêdivî ye ku wêneyên ne-wêne û ne-kalîteyê bêne vekolandin.","Resolution":"Resolution","Restart":"Restart","Restore":"گەڕاندنەوە","Restored":"Restored","Retry Limit":"Sînora ji nû ve biceribîne","Retype Password":"نوسینەوەی وشه‌ی تێپه‌ڕبوون","Review":"پێشبینین","Role":"Role","Rows per page:":"Rêz li ser rûpelê:","Satellite":"Satelayt","Save":"پاشەکەوت","Scan":"پشکنین","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Koda QR-ê bi sepana xweya erêkirinê bişopînin an mifteya sazkirinê ya ku li jêr tê xuyang kirin bikar bînin û dûv re koda verastkirinê ya çêkirî têkevin:","Scans":"پشکنینەکان","Scope":"Scope","Search":"گەڕان","Search and display photos on a map.":"گەڕان و پیشاندانی وێنەکان لەسەر نەخشە.","Season":"وەرز","Secret":"نهێنی","Security and Access":"Ewlekarî û Gihîştin","Select":"دەستنیشانکردن","Select a source folder to import files…":"Peldankek çavkanî hilbijêrin ku pelan têxe…","Select date":"Dîrokê hilbijêre","Select dates":"Dîrokan hilbijêrin","Select or create an album":"Hilbijêre an albûmek çêbikin","Select the files to upload…":"Pelên ji bo barkirinê hilbijêrin…","Select the folder to be indexed…":"Peldanka ku tê îndeks kirin hilbijêrin…","Select Time":"Demjimêr hilbijêrin","Selection approved":"دەستنیشان کراو پەسەند کرا","Selection archived":"هەڵبژاردەکە ئەرشیفکرا","Selection restored":"هەڵبژاردەکە دووبارەکۆگاکرایەوە","Sequential Name":"ناوی زنجیرەیی","Service URL":"بەستەری خزمەتگوزاری","Services":"بەستەری خزمەتگوزاری","Session":"Rûniştinî","Session ID":"Nasnameya rûniştinê","Sessions":"Sessions","Set as Album Cover":"Set wek Album Cover","Settings":"ڕێکخستنەکان","Settings saved":"ڕێکخستنەکان پاشەکەوتکرا","Setup":"دایبەزێنە","Share":"هاوبەشکردن","Share %{s}":"هاوبەشیپێکردنی %{s}","Share your pictures with other apps and services.":"Wêneyên xwe bi serîlêdan û karûbarên din re parve bikin.","Show":"Rêdan","Show all new faces":"Hemî rûyên nû nîşan bidin","Show Captions":"Sernivîsan nîşan bide","Show hidden":"Veşartî nîşan bide","Show less":"کەمتر ببینە","Show more":"زیاتر ببینە","Show server logs in Library.":"پیشاندانی لۆگەکانی ڕاژە لە کتێبخانە.","Show Titles":"Sernavan nîşan bide","Sidecar":"لاتەنیشت","Sidecar Files":"Pelên Sidecar","Sign in":"چوونەژوورەوە","Similar":"وەکویەک","Size":"ڕووبەر","Slideshow":"Slideshow","Slow":"خاو","Software":"Software","Software Update":"Nûvekirina Nivîsbariyê","Something went wrong, try again":"Tiştek xelet derket, dîsa biceribîne","Sort by":"Bi rêzkirin","Sort Order":"جۆری داواکاری","Sorted ascending.":"Rêjeya hilkişînê.","Sorted descending.":"Rêjeya xwarê.","Source":"سەرچاوه","Stack":"کەڵەکە","Stack files sharing the same unique image or instance identifier.":"پەڕگە کەڵەککراوەکان هەمان وێنەی بێ هاوتا یان نمونەی ناسێنەریان هەیە.","Stack pictures taken at the exact same time and location based on their metadata.":"وێنەی کەڵەککراوەکان لەهەمان کات و شوێن دا گیراوە لەسەر بنەمای مێتاداتا.","Stackable":"کەڵەکەکراو","Stacks":"کەڵەکەکان","Start":"ده‌ستپێك","Start Page":"Rûpelê Destpêkê","Static Size Limit: %{n}px":"سنووری قەبارەی ستاتیک: %{n}px","Status":"دۆخ","Storage":"پەڕگەی هەڵگرتن","Streets":"شەقامەکان","Subject":"ناونیشان","Submit":"Nermijîn","Successfully activated":"Bi serketî hate aktîfkirin","Successfully Connected":"Bi serketî ve girêdayî ye","Successfully deleted":"Bi serketî hat jêbirin","Successfully verified":"Bi serketî verast kirin","Super Admin":"Super Admin","Support for additional services, like Google Drive, will be added over time.":"پشتگیری بۆ خزمەتگوزاری تر وەک Google Drive، بە پێی کات زیاد دەکرێت.","Support Our Mission":"Piştgiriya Mîsyona Me bikin","Sync":"هاوکاتگەری","Sync raw and video files":"هاودەمکردنی فایلە خاوە ڤیدیۆکان","Taken":"وەرگیراو","Teal":"سەوزی شینباو","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow ji bo dabeşkirina wêneyê, naskirina rû, û tespîtkirina naveroka ne ewle hewce ye.","Terrain":"Erd","Text":"Nivîstok","Text too long":"دەقی زۆر درێژ","Thank You for Your Support!":"Spas ji bo Piştgiriya We!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Ji ber vê yekê PhotoPrism ji erdê ve hate çêkirin da ku li cîhê ku hûn jê re lazim bin, bêyî ku azadî, nepenî, an fonksiyonê tawîz bidin.","The index currently contains %{n} hidden files.":"نوانەکە لە ئێستادا %{n} فایلی شاراوەی لەخۆ دەگرێت.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"فۆرماتەکەیان لەوانەیە پشتگیری کراو نەبێت, هێشتا نەگۆڕدراوە بۆ JPEG یان لێکچووی دووبارەبوونی هەیە.","Theme":"ڕووکار","This field is required":"Ev qada pêdivî ye","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"ئەمە فۆڵدەری ڕەسەنەکان وەک درایڤی ڕایەڵە هەڵدەکات و ڕێگەت پێدەدات فایلەکان لە کۆمپیوتەرەکەت یان مۆبایلەکە بکەیتەوە، بژاری بکەیت، یان بسڕیتەوە وەک ئەوەی کە خۆماڵی بن.","Time UTC":"کات UTC","Time Zone":"ناوچەی کاتی","Timeout":"ناوچەی کاتی","Title":{"Account":"ناونیشان","Photo":"ناونیشان","":"ناونیشان"},"Title / Position":"ناونیشانی زۆر درێژ","Title too long":"ناونیشانی زۆر درێژ","to":"بۆ","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Ji bo ku hûn ji hesabê xwe neyên girtin, ji kerema xwe vê koda hilanînê nuha dakêşin, çap bikin an kopî bikin û li cîhek ewle bihêlin.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Ji bo afirandina şîfreyek nû-taybetî ya sepanê, ji kerema xwe nav û qada destûrnameyê ya serîlêdanê binivîse û tarîxek qedandinê hilbijêrin:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Ji bo veguheztina serîlêdanek an amûrek naskirî ya nû, pêşî piştrastkirina du-faktorî neçalak bikin û dûv re wê ji nû ve çalak bikin:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Ji bo nûvekirinê, hûn dikarin kodek çalakkirinê binivîsin an jî \"Têkilî\" bikirtînin da ku li ser malpera me têkevin:","Today":"Îro","Toggle View":"گۆڕینی رەوش بۆ بینین","Token":"تۆکن","Too many files selected":"Gelek pel hatine hilbijartin","Too many requests":"Pir daxwazî","Troubleshooting":"Çareserkirina pirsgirêkan","Try again using other filters or keywords.":"دووبارە هەوڵ بدە بە بەکارهێنانی فلتەر یان وشەی تر.","Two-factor authentication has been enabled for your account.":"Nasnameya du-faktorî ji bo hesabê we hate çalak kirin.","Type":"جۆر","Unauthorized":"Bêmaf","Undo":"Betal bike","Unique ID":"IDـی بێ هاوتا","Unknown":"نەزانراو","Unregistered":"Neqeydkirî","Unsorted":"پۆلێن نەکراوە","Unstack":"دەرهێنان لە کەڵەکە","Updated":"بارکرا","Updating faces":"Rûyên nûjen dikin","Updating index":"نوێکردنەوەی نیشانە","Updating moments":"نوێکردنەوەی ساتەکان","Updating picture…":"Rojanekirina pêşdîtinan","Updating previews":"Rojanekirina pêşdîtinan","Updating stacks":"نوێکردنەوەی کەڵەکەکان","Upgrade":"Upgrade","Upgrade Now":"Nûvekirina Niha","Upload":"بارکردن","Upload complete":"بارکردنەکە تەواو","Upload complete. Indexing…":"بارکردن تەواو بوو. نیشانەکردن…","Upload failed":"بارکردنەکە سەرکەوتوو نەبوو","Upload local files":"بارکردنی فایلە ناوخۆییەکان","Upload Path":"Rêya barkirin","Upload to WebDAV and share links with friends.":"بارکردن بۆ WebDAV و هاوبەشکردنی بەستەرەکان لەگەڵ هاوڕێیانت.","Uploading %{n} of %{t}…":"بارکردنی %{n} لە %{t}…","Uploading photos…":"فۆتۆکان بار دەبن…","Uploading…":"دووبارە بارکردن…","Uploads that may contain such images will be rejected automatically.":"بارکردنەکان کە لەوانەیە ئەم جۆرە وێنانە لەخۆە بگرێ بە شێوەیەکی خۆکار ڕەت دەکرێنەوە.","Use Presets":"بەکارهێنانی پێش ڕێکخستنەکان","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Dema ku hûn nikaribin bi sepana xweya erêkirinê re kodek verastkirinê ya derbasdar biafirînin, koda vegerandina jêrîn bikar bînin da ku bigihîjin hesabê xwe:","Use your recovery code or contact an administrator for help.":"Koda vegerandina xwe bikar bînin an ji bo alîkariyê bi rêveberek re têkilî daynin.","User":"بەکارهێنەر","User Guide":"Rehbera bikaranînê","User Interface":"بەکارهێنەری ڕووکار","Username":"ناوی بەکارهێنەر","Users":"Bikarhêner","Vector":"Vektor","Vectors":"Vectors","Verification Code":"Koda verastkirinê","Video":"ڤیدیۆ","Video Duration":"بەخشینەکان","Videos":"ڤیدیۆکان","View":"بینین","View search results as a list.":"Encamên lêgerînê wekî navnîşek bibînin.","Viewer":"Temaşeker","Visitor":"Serda","Visual Similarity":"گروپکردن بە پێی هاوشێوەیی","Warning":"Gazî","We appreciate your feedback!":"Em spasiya nêrîna we dikin!","We do our best to respond within five business days or less.":"Em çêtirîn dikin ku di nav pênc rojên karsaziyê an kêmtir de bersiv bidin.","Web Login":"Têketina Webê","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"ڕاژەخوازەکانی WebDAV دەتوانن پەیوەندی بکەن بە فۆتۆپریزمەوە بە بەکارهێنانی ئەم URLەی خوارەوە:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"ڕاژەخوازەکانی WebDAV، وەک Windows Explorer ی Microsoft یانFinderی Apple، دەتوانن ڕاستەوخۆ بە PhotoPrism ەوە ببەسترێنەوە.","WebDAV Upload":"WebDAV Upload","WebGL support is disabled in your browser":"Piştgiriya WebGL di geroka we de neçalak e","Website":"Website","White":"سپی","Work Details":"زانیاری زیاتر","Year":"ساڵ","Yellow":"زەرد","Yes":"بەڵێ","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Hûn bi xêr hatin ku ji bo pirsên di derbarê endametiya xwe de bi me re têkilî daynin endamên@photoprism.app.","You can only download one album":"تۆ تەنها دەتوانی یەك ئەلبوم داگریت","You can only download one label":"تۆ تەنها دەتوانی یەك پێناس داگریت","You can upload up to %{n} files for test purposes.":"Hûn dikarin heta %{n} pelan ji bo armancên ceribandinê bar bikin.","You may only select one item":"دەتوانیت تەنها یەک ئایتم دیاریبکەیت","You may rescan your library to find additional faces.":"Hûn dikarin pirtûkxaneya xwe ji bo dîtina rûyên zêde ji nû ve şeh bikin.","Your account has been successfully connected.":"Hesabê we bi serkeftî hate girêdan.","Your browser does not support WebGL":"Geroka we WebGL piştgirî nake","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Piştgiriya weya domdar ji me re dibe alîkar ku em lêçûnên xebitandinê fînanse bikin, karûbarên wekî nexşeyên satelîtê peyda bikin, û taybetmendiyên nû pêşve bixin.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Pirtûkxaneya we bi domdarî tê analîz kirin ku bixweber albumên demên taybetî, rêwîtî û deveran çêdike.","Zoom in/out":"گەورەکردن/بچووکردن"}} \ No newline at end of file +{"ku":{"{0} appended action":"{0} çalakiya pêvekirî","{0} files":"{0} pel","{0} files ({1} in total)":"{0} pel (bi tevayî {1})","{0} more":"{0} zêde","{0} prepended action":"{0} çalakiya pêşwextkirî","{0} selected":"{0} hilbijartin","{0}-{1} of {2}":"{0}-{1} ji {2}","%{n} albums found":"ئەلبوم دۆزرایەوە %{n}","%{n} files uploaded":"%{n} پەڕگە بارکرا","%{n} folders found":"%{n} بوخچە دۆزرایەوە","%{n} GB of %{q} GB used":"%{n} GB ji %{q} GB hat bikaranîn","%{n} labels found":"%{n} پێناس دۆزرایەوە","%{n} people found":"%{n} kes hatin dîtin","%{n} pictures found":"%{n} wêne hatin dîtin","%{s} is too long":"%{s} pir dirêj e","%{s} is too short":"%{s} pir kurt e","1 hour":"١ کاتژمێر","12 hours":"١٢ کاتژمێر","2-Factor Authentication":"2-Authentication Factor","2FA":"2FA","4 hours":"٤ کاتژمێر","A click will copy it to your clipboard.":"کرتەیەک کۆپی دەکاتە کلیپ بۆردەکەت","A new version of %{s} is available:":"Guhertoyek nû ya %{s} heye:","About":"دەربارە","Access Token":"Access Token","Account":"هەژمار","Account created":"هەژمارەکە دروستکرا","Account deleted":"هەژمارەکە سڕایەوە","Account restored":"Hesab hat restorekirin","Accounts":"Accounts","Accuracy":"وردبینی","Action":"کردار","Actions":"کردارەکان","Activate":"Çalak bike","Activate to remove sorting.":"Ji bo rakirina sorkirinê çalak bike.","Activate to sort ascending.":"Ji bo rêzkirina hilkişînê çalak bike.","Activate to sort descending.":"Çalak bike ji bo rêzkirina daketî.","Activation Code":"Koda Çalakkirinê","Add":"Lêzêdekirin","Add %{s}?":"%{s} lê zêde bike?","Add Account":"دەستکاریکردنی هەژمار","Add Album":"زیادکردنی ئەلبوم","Add files to your library via Web Upload.":"زیادکردنی پەڕگەکان بۆ کتێبخانەکەت لەڕێگای بارکردنی وێب.","Add Link":"زیادکردنی بەستەرە","Add person?":"Mirov lê zêde bike?","Add pictures from search results by selecting them.":"Bi hilbijartina wan wêneyan ji encamên lêgerînê zêde bikin.","Add to album":"زیادکردن بۆ ئەلبوم","Added":"زیادکرا","Adjust Location":"Cihê Biguherîne","Admin":"Admin","Advanced":"پێشکەوتوو","After 1 day":"دوای ١ ڕۆژ","After 3 days":"دوای ٣ ڕۆژ","After 7 days":"دوای ٧ ڕۆژ","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Piştî ku hûn şîfreya xwe ji bo pejirandinê têkevin, hûn dikarin bi serîlêdanek an amûrek pejirandî ya lihevhatî verastkirina du-faktorî saz bikin:","After one month":"دوای ١ مانگ","After one year":"دوای ١ ساڵ","After selecting pictures from search results, you can add them to an album using the context menu.":"Piştî hilbijartina wêneyên ji encamên lêgerînê, hûn dikarin wan bi karanîna menuya naverokê li albûmê zêde bikin.","After two months":"دوای ٢ مانگ","After two weeks":"دوای ٢ هەفتە","Album":"ئەلبوم","Album Backups":"Album Backups","Album created":"ئەلبومەکە دروستکرا","Album deleted":"Albûm hat jêbirin","Albums":"ئەلبومەکان","Albums deleted":"ئەلبومەکان سڕایەوە","All":"Gişt","All %{n} albums loaded":"هەموو %{n} ئەلبومەکان بارکرا","All %{n} labels loaded":"هەموو %{n} پێناسەکان بارکرا","All %{n} people loaded":"Hemû %{n} kes bar kirin","All Cameras":"هەموو کامێراکان","All Categories":"هەموو هاوپۆلەکان","All Colors":"هەموو رەنگەکان","All Countries":"هەموو وڵاتەکان","All fields are required":"هەموو خانەکان پێویستە","All files from import folder":"هەموو پەڕگەکان لە بوخچەی هاوردەکردن","All Lenses":"هەموو لێنزەکان","All Months":"هەموو مانگەکان","All originals":"هەموو ڕەسەنەکان","All Years":"هەموو ساڵەکان","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"لە جیاتی ئەوە، دەتوانیت ڕاستەوخۆ پەڕگەکان باربکەیتە سەر ڕاژەی WebDAV وەک Nextcloud.","Altitude":"هێڵی درێژی","Altitude (m)":"بەرزی (m)","AM":"IM","Animated":"ئەنیمەیشن","Animation":"ئەنیمەیشن","Animations":"Anîmasyon","Any private photos and videos remain private and won't be shared.":"هەر فۆتۆ و ڤیدیۆیەکی تایبەت بە تایبەتی دەمێنێتەوە و هاوبەش ناکرێت.","API Key":"API کلیلی","Application":"Bikaranînî","Apply":"به‌کاربردن","Approve":"په‌سه‌ندکردن","Apps and Devices":"Serlêdan û Amûrên","Archive":"ئەرشیف","Archived":"ئەرشیفکراو","Are you sure you want to archive the selection?":"ئایا دڵنیایت لەوەی دەتەوێت ئەم دیاریکردنە ئەرشیف بکەیت؟","Are you sure you want to delete these albums?":"دڵنیایت لەوەی دەتەوێت ئەم ئەلبومانە بسڕیتەوە؟","Are you sure you want to delete these labels?":"دڵنیایت لەوەی دەتەوێت ئەم پێناسانە بسڕیتەوە؟","Are you sure you want to delete this account?":"دڵنیایت لەوەی دەتەوێت ئەم هەژمارانە بسڕیتەوە؟","Are you sure you want to delete this album?":"Tu piştrast î ku dixwazî vê albûmê jê bibî?","Are you sure you want to permanently delete these pictures?":"ئایا دڵنیایت لەوەی دەتەوێت ئەم وێنانە بە هەمیشەیی بسڕیتەوە؟","Are you sure you want to permanently delete this file?":"ئایا دڵنیایت لەوەی دەتەوێت بە هەمیشەیی ئەم پەڕگەیە بسڕیتەوە؟","Are you sure?":"Piştrastin?","Artist":"هونەرمەند","Aspect Ratio":"ڕێژەی ڕوو","Audio":"Audio","Authentication":"Authentication","Auto":"Auto","Back":"Paş","Back to top":"Vegere serî","Backup":"Backup","Badge":"Nîşan","Base Path":"Rêya bingehîn","Become a member today, support our mission and enjoy our member benefits!":"Îro bibin endam, piştgirî bidin mîsyona me û ji feydeyên endamtiya me sûd werbigirin!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Ji ber ku 100% xwe-fînansedar û serbixwe ne, em dikarin soz bidin we ku em ê ti carî daneyên we nefroşin û ku em ê her gav di derheqê nermalava û karûbarên xwe de zelal bin.","Bio":"Bio","Birth Date":"Dîroka Jidayikbûnê","Black":"ڕەش","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Lanczos Modification, Less Ringing Artifacts","Blue":"شین","Brown":"قاوەیی","Browse":"Browse","Browse and edit image classification labels.":"گەڕان و بژارکردنی ناونیشانەکانی پۆلێنکردنی وێنە.","Browse and share your pictures organized into monthly albums.":"Wêneyên xwe yên ku di albûmên mehane de hatine organîze kirin bigerin û parve bikin.","Browse Files":"Pelan bigerin","Browse indexed files and folders in Library.":"گەڕان لە پەڕگە وبوخچە نوانەدارەکان لە کتێبخانە.","Bug Report":"راپۆرتی هەڵە","Busy, please wait…":"سەرقاڵە، تکایە چاوەڕێکە…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Bi karanîna nermalava û karûbarên ku em pêşkêş dikin, hûn şertên karûbarê me, polîtîkaya nepenîtiyê, û koda tevgerê qebûl dikin.","Calendar":"ڕۆژمێر","Camera":"کامێرا","Camera Serial":"زنجیرەی کامێرا","Can't access your authenticator app or device?":"Ma hûn nikarin xwe bigihînin sepan an cîhaza xweya rastgir?","Can't load more, limit reached":"ناتوانێت زیاتر بار بکات، گەیشتە سنوور","Can't select more items":"ناتوانێت ئایتمی زیاتر دیاری بکات","Cancel":"هه‌ڵوه‌شاندنه‌وه","Cannot copy to clipboard":"Nikare li clipboardê kopî bike","Caption":"Sernivîs","Cards":"کارتەکان","Carousel slide {0} of {1}":"slide carousel {0} ji {1}","Category":"هاوپۆله‌كان","Change Avatar":"گۆڕینی نیشانەنوێنی تایبەت","Change Password":"تێپەڕەوشەی نوێ","Change personal profile and security settings.":"Profîla kesane û mîhengên ewlehiyê biguherînin.","Change photo titles, locations, and other metadata.":"Sernivîsên wêneyan, cîh û metadata din biguherînin.","Change private flag":"گۆڕینی نیشانەنوێنی تایبەت","Changes could not be saved":"گۆڕانکاریەکان پاشەکەوت نەکراوە","Changes successfully saved":"گۆڕانکاریەکان سەرکەوتوانە پاشەکەوتکرا","Changes to the advanced settings require a restart to take effect.":"Guhertinên mîhengên pêşkeftî ji nû ve destpêkirinê hewce dike ku bandor bike.","Checked":"پشکنرا","Chroma":"کرۆم","Cleaning index and cache":"Paqijkirina index û cache","Cleanup":"Demdirêj","Clear {0}":"Paqij bike {0}","Client":"Kirrîxwaz","Client Credentials":"Bawernameyên Client","Close":"داخستن","Codec":"Codec","Color":"ڕەنگ","Color Profile":"Profîla Rengê","Colors":"ڕەنگەکان","Compare Editions":"Berawirdî Weşanan","Complete Rescan":"پشکنینەوەی تەواو","Confidence":"دڵنیایی","Confirm":"Tesdîqkirin","Connect":"بەستنەوە","Connect via WebDAV":"بەستنەوە بە WebDAV","Connected":"بەستنەوە","Contact Details":"پەیوەندیمان پێوە بکە","Contact Us":"پەیوەندیمان پێوە بکە","Contains %{n} pictures.":"%{n} wêneyan dihewîne.","Contains one picture.":"Yek wêneyek dihewîne.","Content":"Dilşad","Continue":"Berdewamkirin","Continue with %{provider}":"Bi %{provider} re bidomîne","Contributor":"Contributor","Converting":"گۆڕین","Copied to clipboard":"کۆپی کرایە کلیپ بۆرد","Copy":"Kopî","Copyright":"مافی لەبەرگرتنەوە","Couldn't find anything.":"هیچ شتێک نەدۆزرایەوە.","Country":"وڵات","Create Account":"Hesab biafirîne","Create album":"دروستکردنی ئەلبوم","Create regular backups based on the configured schedule.":"Li ser bingeha nexşeya mîhengkirî paşvekêşên navnîşan biafirînin.","Create YAML files to back up album metadata.":"Pelên YAML biafirînin ku metadata albûmê paşve bikin.","Create YAML sidecar files to back up picture metadata.":"Pelên kêleka YAML biafirînin ku metadaneyên wêneyê paşve bikin.","Created":"دروستکرا","Creating thumbnails for":"دروستکردنی وێنۆچکە بۆ","Cubic: Moderate Quality, Good Performance":"سێجا: کوالێتی مامناوەند، ئەدای باش","Current Password":"تێپەڕەوشەی ئێستا","Custom":"Hûnbunî","Cyan":"شینی ئاسمانی","Daily":"ڕۆژانە","Database Backups":"Backups Database","Day":"ڕۆ‌ژ","Deactivate":"Deaktîv bike","Debug Logs":"تۆماری هەڵەکان","Default":"بنه‌ڕه‌ت","Default Folder":"بوخچەی بنه‌ڕه‌تی","Delete":"سڕینەوە","Delete Album":"Albûmê Jê Bibe","Delete All":"Hemî jêbirin","Delete all?":"Hemî jêbirin?","Delete orphaned index entries, sidecar files and thumbnails.":"Navnîşanên navnîşên sêwî, pelên kêlekê û piçûkan jêbirin.","Description":"وه‌سفکردن","Detailed instructions can be found in our User Guide.":"ڕێنمایی ورد دەتوانرێت بدۆزرێتەوە لە ڕێبەری بەکارهێنەرەکەمان.","Details":"زانیاری زیاتر","Dimensions":"ڕەهەندەکان","Disable Backups":"ناچالاککردنی پاڵپشتەکان","Disable Darktable":"Darktable neçalak bike","Disable ExifTool":"ExifTool لە کاربخە","Disable features that require write permission for the originals folder.":"Taybetmendiyên ku ji bo peldanka orjînal destûra nivîsandinê hewce dike neçalak bike.","Disable FFmpeg":"FFmpeg asteng bike","Disable ImageMagick":"ImageMagick neçalak bike","Disable interactive world maps and reverse geocoding.":"Nexşeyên cîhanê yên înteraktîf neçalak bikin û jeokodkirina berevajî bikin.","Disable Places":"لەکارخستنی شوێنەکان","Disable RawTherapee":"RawTherapee neçalak bike","Disable TensorFlow":"لەکاربخە TensorFlow","Disable Vectors":"Vektoran neçalak bike","Disable WebDAV":"لەکاربخە WebDAV","Disables vector graphics support.":"Piştgiriya grafikên vektorî asteng dike.","Disables video transcoding and thumbnail extraction.":"Veguheztina vîdyoyê û derxistina piçûkan asteng dike.","Discover":"دۆزینەوە","Dismiss":"Berdan","Display Name":"Navê nîşanî","Display picture captions in search results.":"Di encamên lêgerînê de sernavên wêneyan nîşan bidin.","Display picture titles in search results.":"Di encamên lêgerînê de sernavên wêneyan nîşan bidin.","Document":"Belge","Documents":"Documents","Don't use Darktable to convert RAW images.":"Ji bo veguheztina pelên RAW Darktable bikar neynin.","Don't use ImageMagick to convert images.":"Ji bo veguhertina wêneyan ImageMagick bikar neynin.","Don't use RawTherapee to convert RAW images.":"RawTherapee bikar neynin ku pelên RAW veguherînin.","Done":"تەواوبوو","Done.":"تەواوبوو.","Download":"داگرتن","Download only original media files, without any automatically generated files.":"Tenê pelên medyayê yên orjînal dakêşin, bêyî pelên ku bixweber têne çêkirin.","Download remote files":"داگرتنی پەڕگە دوورەکان","Download single files and zip archives.":"داگرتنی فایلە تاکەکان و ئەرشیفی زیپ.","Downloading…":"دادەگیرێت…","Downscaling Filter":"فلتەری کەمکردنەوە","Drag and drop files here":"Pelan li vir kaş bikin û bavêjin","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"Ji ber qebareya zêde ya e-nameyên ku em distînin, dibe ku tîmê me nikaribe tavilê bi we re vegere.","Duplicates will be skipped and only appear once.":"دووبارەکراوەکان تێپەڕدەبن و تەنها یەک جار دەردەکەون.","Duration":"بەخشینەکان","Dynamic Previews":"پێشبینینی دینامیکی","Dynamic Size Limit: %{n}px":"سنوورداری قەبارەی دینامیکی: %{n}px","E-Mail":"ئیمەیڵ","Edit":"دەستکاری","Edit %{s}":"دەستکاری %{s}","Edit Account":"دەستکاریکردنی هەژمار","Edit Photo":"دەستکاریکردنی فۆتۆ","Edited":"دەستکاریکرا","Email":"Email","Enable debug mode to display additional logs and help with troubleshooting.":"Moda debugê çalak bike da ku têketinên zêde nîşan bide û di çareserkirina pirsgirêkan de bibe alîkar.","Enable new features that may be incomplete or unstable.":"Taybetmendiyên nû yên ku dibe ku netemam an bêîstiqrar bin çalak bikin.","Enables RAW converter presets. May reduce performance.":"Pêşdibistanên veguheztina RAW çalak dike. Dibe ku performans kêm bike.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Çalakkirina erêkirina du-faktorî tê vê wateyê ku hûn ê hewceyê kodek verastkirinê ya ku bi rengek rasthatî hatî hilberandin hewce bike ku têkevinê, ji ber vê yekê her çend kes bigihîje şîfreya we jî, ew ê nikaribe bigihîje hesabê we.","Enter date":"Dîrokê binivîse","Enter dates":"Dîrokan binivîse","Enter the code generated by your authenticator app:":"Koda ku ji hêla sepana xweya nasker ve hatî çêkirin binivîse:","Enter verification code":"Koda verastkirinê binivîse","Enter your password to confirm the action and continue:":"Şîfreya xwe binivîse ku çalakiyê piştrast bike û berdewam bike:","Error":"هەڵە","Errors":"هەڵەکان","Estimate":"Texmînkirin","Estimate Locations":"Cihên Texmîn bikin","Estimate the approximate location of pictures without GPS coordinates.":"Cihê nêzîkê wêneyan bêyî koordînatên GPS-ê texmîn bikin.","Every two days":"هەموو دوو ڕۆژ جارێ","Exclude content marked as private from search results, shared albums, labels, and places.":"Ji encamên lêgerînê, albûmên hevbeş, etîket û deveran naveroka ku wekî taybet hatî nîşankirin derxînin.","Exclude hidden":"Veşartî derxînin","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"Derxistina Metadata bi ExifTool re ji bo piştgiriya tevahî Vîdyo, Wêne Zindî, û XMP hewce ye.","Experimental Features":"تایبەتمەندیە ئەزموونیەکان","Expires":"بەسەرچووەکان","Exposure":"دەرخستن","Extract still images and generate thumbnails while indexing.":"Wêneyên hêstiran derxînin û di dema îndekskirinê de nîgaran çêkin.","F Number":"ژمارەی F","Face":"Rû","Faces":"Rûyên","Failed removing link":"لابردنی بەستەرەکە شکستی هێنا","Failed to connect account.":"Girêdana hesabê têk çû.","Failed updating link":"نوێکردنەوەی بەستەرەکە شکستی هێنا","Family Name":"ناوی پێناس","Fast":"خێرا","Favorite":"دڵخواز","Favorites":"دڵخوازەکان","Feature Request":"داواکردنی تایبەتمەندی","Feedback":"ڕەخنە و پێشنیار","Female":"Mê","File":"پەڕگە","File Browser":"گەڕۆکی پەڕگە","File Conversion":"Veguherîna pelê","File Name":"پەڕگە","File Size":"پەڕگە","Filename":"پەڕگە","Files":"پەڕگەکان","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"پەڕگەکان بە ناوی زنجیرەیی وەک 'IMG_1234 (2)' و 'IMG_1234 (3)' هی هەمان وێنەن.","First page":"Rûpelê yekem","Focal Length":"Focal Length","Folder":"بوخچە","Folder contains %{n} files":"بوخچە %{n} پەڕگەی تێدایە","Folder is empty":"بوخچەکە بەتاڵە","Folders":"بوخچەکان","Forgot password?":"تێپەڕەوشەی ئێستا","FPS":"FPS","Frames":"Frames","Full Access":"Têketinê Full","Fullscreen":"پڕاوپڕ بەشاشە","General":"گشتی","Generate":"Xûlqkirin","Generate albums of special moments, journeys, and places.":"Bixweber albûmên demên taybetî, rêwîtî û deveran diafirîne.","Generate Previews":"Pêşdîtinan biafirînin","Generated":"Çê kirin","Get Started":"Dest pê bike","Given Name":"ناوی ڕەسەن","Global Options":"Vebijarkên Global","Go to page {0}":"Biçe rûpela {0}","Gold":"ئاڵتون","Green":"سەوز","Grey":"ڕەساسی","Guest":"Mêvan","Hash":"هاش","Help":"یارمەتی","Help & Support":"پاڵپشتی کڕیار","Hidden":"شاراوە","Hidden Files":"پەڕگە شاراوەکان","Hide":"Veşartin","Hide photos that have been moved to archive.":"شاردنەوەی ئەو فۆتۆیانەی کە گواستراوەتەوە بۆ ئەرشیف.","High":"Bilind","High Dynamic Range (HDR)":"Rêzeya Dînamîk a Bilind (HDR)","How can we help?":"چۆن ئەتوانین یارمەتیت بدەین؟","Hybrid":"دووڕەگ","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Heke hûn gihîştina serîlêdana an cîhaza xweya rastgir winda bikin, hûn dikarin koda xweya vegerê bikar bînin da ku ji nû ve gihîştina hesabê xwe bistînin.","Image":"وێنە","Image Quality":"Kalîteya Wêne","Import":"هاوردن","Import failed":"هاوردن شکستی هێنا","Imported files will be sorted by date and given a unique name to avoid duplicates.":"پەڕگە هاوردەکان بەپێی بەروار پۆلێن دەکرێت و ناوی بێهاوتای بۆ دادەندرێت بۆی پەڕگەی دووبارە بوونی نەبێت.","Imported files will be sorted by date and given a unique name.":"پەڕگە هاوردەکان بەپێی بەروار پۆلێن دەکرێت و ناوی بێهاوتای پێ دەدرێت.","Importing %{s}…":"هاوردنی %{s}…","Importing files to originals…":"هێنانی پەڕگەکان بۆ ڕەسەنەکان…","in":"لە","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"Ger wêneyên ku hûn li bendê ne wenda nebin, ji kerema xwe pirtûkxaneya xwe ji nû ve şeh bikin û li bendê bimînin heya ku indexing qediya.","Include RAW image files when downloading stacks and archives.":"Dema ku stêk û arşîvan dakêşin pelên wêneyê RAW têxin nav xwe.","Include sidecar files when downloading stacks and archives.":"Di dema dakêşana stêrk û arşîvan de pelên sidecar têxin nav xwe.","Increase storage size or delete files to continue.":"Mezinahiya hilanînê zêde bikin an pelan jêbirin da ku bidomînin.","Index":"نیشاندەر","Index and import files through the user interface.":"Pelan bi navgîniya bikarhênerê ve nîşan bikin û derxînin.","Indexing":"نیشانەسازی","Indexing failed":"نیشانەسازی شکستی هێنا","Indexing media and sidecar files…":"پێڕستکردنی پەڕگەکانی میدیا و لاتەنیشتەکان…","Information":"Agahî","Instance ID":"IDـی نموونە","Insufficient storage.":"Depo ne bes e.","Interval":"ماوە","Invalid":"بەروارێکی نادروست","Invalid address":"Navnîşana nederbasdar","Invalid country":"Welatê nederbasdar","Invalid date":"بەروارێکی نادروست","Invalid parameters":"بەروارێکی نادروست","Invalid photo selected":"Wêneyê nederbasdar hat hilbijartin","Invalid time":"Dema nederbasdar","Invalid URL":"URL nederbasdar","It is a one-time use code that will disable 2FA for your account when you use it.":"Ew kodek karanîna yek-car e ku gava ku hûn wê bikar bînin dê 2FA ji bo hesabê we neçalak bike.","Item":"ئایتم","Items per page:":"Tiştên li ser rûpelê:","JPEG Quality: %{n}":"کوالیتی JPEG: %{n}","JPEG Size Limit: %{n}px":"سنووری قەبارەی JPEG: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"JPEG و وێنە بچووکەکان بە شێوەیەکی خودکارانە بە پێێ پێویست پیشان دەدرێن.","Keywords":"کلیلەوشەکان","Label":"پێناس","Labels":"پێناسەکان","Labels deleted":"پێناسەکان سڕانەوە","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: Detail Preservation, Minimal Artifacts","Language":"زمان","Last Active":"Last Active","Last Login":"Têketina Dawî","Last page":"Rûpelê dawî","Last Sync":"هاوکاتگەری","Last Used":"Last Used","Latitude":"هێڵی پانیی","LDAP/AD":"LDAP/AD","Learn more":"Bêtir hîn bibin","Learn More":"Bêtir hîn bibin","Legal Information":"Agahiyên Hiqûqî","Lens":"لێنز","Library":"کتێبخانە","License":"مۆڵەت","Like":"بەدڵمە","Lime":"قسڵ","Limit reached, showing first %{n} files":"سنوور گەیشتن، یەکەمین ٪{n} پەڕگە پیشان دەدات","Linear: Very Smooth, Best Performance":"Linear: Very Smooth, Best Performance","Link":"بەستەر","List":"خشتە","List View":"View List","Live":"زیندوو","Live Photos":"وێنەکان","Load more":"Zêdetir barkirin","Loading items...":"Barkirina tiştan...","Loading...":"Barkirin...","Local":"Herêmî","Local Time":"کاتی ناوخۆیی","Location":"ناونیشان","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"لۆگ مەسجەکان لێرە دەردەکەون هەرکاتێک فۆتۆپریزم لەگەڵ فایلی شێواو بەرکەوتنی هەبوو ، یان کێشەی شاراوەی تر بوونی هەبوو.","Login":"چوونە ژوورەوە","Logout":"چوونە دەرەوە","Logs":"تۆماری لۆگەکان","Longitude":"درێژی","Low":"Nizm","Magenta":"ئەرخەوانی","Main Color":"ڕەنگی سەرەکی","Male":"Nêrî","Manage Account":"Hesabê Birêvebirin","Manager":"Rêvebir","Manual":"Destî","Manual Upload":"بارکردنی دەستی","Maps":"Nexşe","Marker":"Nîşan","Maximum number of accounts has been reached.":"Hejmara herî zêde ya hesaban gihîştiye.","Media":"Medya","Medium":"مامناوەند","Membership":"Endamî","Merge %{a} with %{b}?":"Bi %{b} re bi %{b} re bibe yek?","Message":"Agah","Message sent":"پەیامەکە گەیەندرا","Metadata":"Metadata","Metrics":"Metrics","Minimize":"بچووک کردنەوە","Missing":"بزر","Missing or invalid configuration":"Veavakirina wenda an nederbasdar","Moments":"ساتەکان","Monochrome":"Monochrome","Month":"مانگ","More options":"Vebijarkên bêtir","Mosaic":"موزایک","Most Relevant":"گرنگترین","Move Files":"دۆسیەی زیاتر","Must have at least %{n} characters.":"بەلایەنی کەمەوە 6 نووسە","Mute":"Bêdeng","Name":"ناو","Name too long":"ناوی زۆر درێژ","Never":"هەرگیز","New":"Nşh","New Password":"تێپەڕەوشەی نوێ","Newest First":"یەکەم تازەترین","Next":"Piştî","Next page":"Rûpelê din","Next visual":"Next dîtbarî","No":"نەخێر","No albums found":"هیچ ئەلبومێکی نەدۆزیوەتەوە","No data available":"Daneyên berdest nînin","No labels found":"هیچ پێناسێکی نەدۆزیوەتەوە","No matching records found":"Qeydên lihevhatî nehatin dîtin","No more":"Bêtir na","No people found":"Kes nehat dîtin","No pictures found":"Wêne nehatin dîtin","No recently edited pictures":"Wêneyên ku nû hatine guheztin tune","No results":"هیچ ئەنجامێک","No server connection":"Têkiliya serverê tune","No servers configured.":"هیچ ڕاژەیەک سازنەدراوە","No services configured.":"هیچ ڕاژەیەک سازنەدراوە","No thanks":"نەخێر سوپاس","No warnings or error containing this keyword. Note that search is case-sensitive.":"هیچ ئاگادارییەک یان هەڵەیەک نیە کە ئەم وشی لەخۆ گرتبێت. تێبینی بکە کە گەڕان هەستیارە (جیاکەرەوەی پیتە گەورە و چکۆلەکان).","Non-photographic and low-quality images require a review before they appear in search results.":"وێنە نافۆتۆگرافی و کوالێتی نزمەکان پێویستی بە پێداچونەوە هەیە پێش ئەوەی لە ئەنجامی گەڕاندا دەرکەون.","None":"هیچ","Not allowed":"Destûr nayê dayîn","Not found":"نەدۆزرایەوە","Not sorted.":"Ne veqetandin.","Not supported":"Ne piştgirî kirin","Note you may manually manage your originals folder and importing is optional.":"Têbînî ku hûn dikarin peldanka orîjînalên xwe bi destan birêve bibin û hinardekirin vebijarkî ye.","Note:":"تێبینی:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"تێبینی: تەنها ڕەژاکانی WebDAV، وەک Nextcloud یان PhotoPrism، دەتوانرێت وەک خزمەتگوزاریەکی دوور بۆ گەڕانەوەی پاڵپشت (باکئاپ) و دروستکردنی پاڵپشت ساز بکرێت.","Notes":"تێبینیەکان","Nothing to see here yet.":"هێشتا هیچ شتێک نییە بۆ بینین لێرە. ئارام بگرە.","Nothing was found.":"Tiştek nehat dîtin.","Offline":"ده‌رهێڵ","OIDC":"OIDC","OK":"OK","Oldest First":"یەکەم کۆنترین","On Windows, enter the following resource in the connection dialog:":"Li ser Windows-ê, di diyaloga pêwendiyê de çavkaniya jêrîn têkevin:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"Hilberîna li ser daxwazê ya piçûkan dibe ku bibe sedema karanîna CPU û bîranînê ya bilind. Ew ji bo serverên bi çavkaniyê û amûrên NAS-ê nayê pêşniyar kirin.","Once a week":"جارێك لەهەفتەیەكدا","One album found":"یەك ئەلبوم دۆزرایەوە","One file found":"یەك دۆسیە دۆزرایەوە","One file uploaded":"%{n} پەڕگە بارکرا","One folder found":"یەك فۆڵدەر دۆزرایەوە","One label found":"Yek label hat dîtin","One person found":"Kesek hat dîtin","One picture found":"Yek wêne hat dîtin","Only locally managed accounts can be set up for authentication with 2FA.":"Tenê hesabên herêmî yên ku têne rêve kirin dikarin ji bo erêkirinê bi 2FA re bêne saz kirin.","Open":"Vekirî","optional":"bixwe","or":"an","Orange":"پرتەقاڵی","Organization":"Orientation","Orientation":"Orientation","Original file names will be stored and indexed.":"ناوی پەڕگە ڕەسەنەکان هەڵگیراون و نیشانە دەکرێن.","Original Name":"ناوی ڕەسەن","Originals":"ڕەسەنەکان","Other":"هی تر","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"دنیا بینیمان ئەوەیە کە زۆرترین چارەسەری بەکارهێنەر بۆ گەڕان و ڕێکخستن و هاوبەشکردنی کۆکراوەی فۆتۆ دابین بکەین.","Outdoor":"دەرەوە","Page {0}, Current page":"Rûpel {0}, Rûpelê niha","Pages":"Pages","Pagination Navigation":"Navîgasyon Pagination","Panorama":"پانۆراما","Panoramas":"پانۆراماکان","Password":"تێپەڕەوشە","Password changed":"تێپەڕەوشە گۆڕدرا","People":"خەڵك","People you share a link with will be able to view public contents.":"ئەو کەسانەی بەستەرێکی هاوبەشیان لەگەڵ دا دروست دەکەیت، توانای بینینی ناوەڕۆکە گشتیەکانی دەبێت.","Permanently deleted":"بە هەمیشەیی سڕاوەتەوە","Permanently remove files to free up storage.":"سڕینەوەی پەڕگەکان بە شێوەیەکی هەمیشەیی بۆ بەتاڵکردنی بیرگە.","Person":"Şexs","Personal":"Şexsî","Photo":"وێنە","PhotoPrism is 100% self-funded and independent.":"PhotoPrism 100% xwe-fînanse û serbixwe ye.","PhotoPrism+ Membership":"Endamtiya PhotoPrism+","Photos":"وێنەکان","Picture Title":"Sernavê Wêne","Pink":"پەمەی","Place":"شوێن","Place & Time":"شوێن و کات","Places":"شوێنەکان","Please confirm your new password.":"تکایە وشە نهێنیە تازکەت پشتڕاستکەرەوە.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Ji kerema xwe şîfreya sepanê ya ku bi korfelaqî hatî çêkirin kopî bikin û wê li cîhek ewle bihêlin, ji ber ku hûn ê nikaribin wê dîsa bibînin:","Please do not upload any private, unlawful or offensive pictures.":"Ji kerema xwe re tu wêneyên taybet, neqanûnî an êrîşkar bar nekin.","Please don't upload photos containing offensive content.":"تکایە ئەو وێنانە بار مەکە کە ناوەڕۆکی سووکایەتی لەخۆ دەگرن.","Please enter OTP character {0}":"Ji kerema xwe karaktera OTP {0} binivîse","Please note that changing your password will log you out on other devices and browsers.":"Ji kerema xwe not bikin ku guhertina şîfreya xwe dê we li ser cîhaz û gerokên din derxîne.","Please restart your instance for the changes to take effect.":"Ji kerema xwe mînaka xwe ji nû ve bidin destpêkirin da ku guheztin bikeve meriyetê.","Please wait…":"Ji kerema xwe li bendê bin…","PM":"PM","PNG Size Limit: %{n}px":"سنووری قەبارەی PNG: %{n}px","Portrait":"تابلۆ","Preserve filenames":"پاراستنی ناوی پەڕگەکان","Press enter to create a new album.":"بۆ دروستکردنی ئەلبومێکی نوێ، Enter دابگرە.","Prevent database and album backups as well as YAML sidecar files from being created.":"Nehêlin ku paşvekêşên databas û albûmê û her weha pelên kêleka YAML werin afirandin.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Nehêlin ku sepanên din bigihîjin PhotoPrism wekî ajokerek torê ya hevpar.","Preview":"پێشبینین","Preview Images":"Pêşdîtina Wêneyan","Previous":"Pêşî","Previous page":"Rûpelê berê","Previous visual":"Dîtina berê","Primary":"سەرەکی","Private":"تایبەتی","Product Feedback":"ڕەخنە و پێشنیار لە بەرهەم","Projection":"هەڵسەنگاندن","Purple":"مۆر","Quality Filter":"پاڵاوتنی جۆرایەتی","Quality Score":"جۆرایەتی تۆمار","r":"r","Random":"هەڕەمەکی","Rating {0} of {1}":"Rêjeya {0} ji {1}","Raw":"خاو","RAW":"خاو","Re-index all originals, including already indexed and unchanged files.":"دووبارە نیشانە (ئیندێکس) کردنی هەموو ڕەسەنەکان، بە فایلە نوانەدار و نەگۆڕاوەکانیشەوە.","Read-Only Mode":"دۆخی تەنها-خوێندنەوە","Recently Added":"بەم دواییە زیادکرا","Recently Archived":"Recently Archived","Recently Edited":"بەم دواییە دەسکاریکرا","Recognition starts after indexing has been completed.":"Piştî ku endeksasyon qediya naskirin dest pê dike.","Recognize faces so people can be assigned and found.":"Rûyan nas dike da ku mirovên taybetî bêne dîtin.","Recognized":"Nas kirin","Recovery Code":"Recovery Code","Red":"سور","Refresh":"Hênikkirin","Regions":"Herêmên","Register":"Fêhrist","Reload":"بارکردنەوە","Reloading…":"دووبارە بارکردن…","Remote Sync":"هاوکاتکردنی دوور","Remove":"سڕینەوە","remove failed: unknown album":"سڕینەوەکە سەرکەوتوو نەبوو: ئەلبومی نەناسراو","Remove from Album":"Ji albûmê derxe","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"لابردنی پەڕگە هاوردەکان بۆ بەتاڵکردنی بیرگە. جۆرەکانی پەڕگەی پشتیوانی نەکراو هەرگیز ناسڕدرێتەوە، ئەوان لە شوێنی ئێستایان دەمێننەوە.","Request failed - are you offline?":"Daxwaz bi ser neket - tu negirêdayî yî?","Request failed - invalid response":"داواکاریەکە سەرکەوتوو نەبوو - وەڵامە نادروستەکە","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Berî ku ew di encamên lêgerînê de xuya bibin, pêdivî ye ku wêneyên ne-wêne û ne-kalîteyê bêne vekolandin.","Resolution":"Resolution","Restart":"Restart","Restore":"گەڕاندنەوە","Restored":"Restored","Retry Limit":"Sînora ji nû ve biceribîne","Retype Password":"نوسینەوەی وشه‌ی تێپه‌ڕبوون","Review":"پێشبینین","Role":"Role","Rows per page:":"Rêz li ser rûpelê:","Satellite":"Satelayt","Save":"پاشەکەوت","Scan":"پشکنین","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Koda QR-ê bi sepana xweya erêkirinê bişopînin an mifteya sazkirinê ya ku li jêr tê xuyang kirin bikar bînin û dûv re koda verastkirinê ya çêkirî têkevin:","Scans":"پشکنینەکان","Scope":"Scope","Search":"گەڕان","Search and display photos on a map.":"گەڕان و پیشاندانی وێنەکان لەسەر نەخشە.","Season":"وەرز","Secret":"نهێنی","Security and Access":"Ewlekarî û Gihîştin","Select":"دەستنیشانکردن","Select a source folder to import files…":"Peldankek çavkanî hilbijêrin ku pelan têxe…","Select date":"Dîrokê hilbijêre","Select dates":"Dîrokan hilbijêrin","Select or create an album":"Hilbijêre an albûmek çêbikin","Select the files to upload…":"Pelên ji bo barkirinê hilbijêrin…","Select the folder to be indexed…":"Peldanka ku tê îndeks kirin hilbijêrin…","Select Time":"Demjimêr hilbijêrin","Selection approved":"دەستنیشان کراو پەسەند کرا","Selection archived":"هەڵبژاردەکە ئەرشیفکرا","Selection restored":"هەڵبژاردەکە دووبارەکۆگاکرایەوە","Sequential Name":"ناوی زنجیرەیی","Service URL":"بەستەری خزمەتگوزاری","Services":"بەستەری خزمەتگوزاری","Session":"Rûniştinî","Session ID":"Nasnameya rûniştinê","Sessions":"Sessions","Set as Album Cover":"Set wek Album Cover","Settings":"ڕێکخستنەکان","Settings saved":"ڕێکخستنەکان پاشەکەوتکرا","Setup":"دایبەزێنە","Share":"هاوبەشکردن","Share %{s}":"هاوبەشیپێکردنی %{s}","Share your pictures with other apps and services.":"Wêneyên xwe bi serîlêdan û karûbarên din re parve bikin.","Show":"Rêdan","Show all new faces":"Hemî rûyên nû nîşan bidin","Show Captions":"Sernivîsan nîşan bide","Show hidden":"Veşartî nîşan bide","Show less":"کەمتر ببینە","Show more":"زیاتر ببینە","Show server logs in Library.":"پیشاندانی لۆگەکانی ڕاژە لە کتێبخانە.","Show Titles":"Sernavan nîşan bide","Sidecar":"لاتەنیشت","Sidecar Files":"Pelên Sidecar","Sign in":"چوونەژوورەوە","Similar":"وەکویەک","Size":"ڕووبەر","Slideshow":"Slideshow","Slow":"خاو","Software":"Software","Software Update":"Nûvekirina Nivîsbariyê","Something went wrong, try again":"Tiştek xelet derket, dîsa biceribîne","Sort by":"Bi rêzkirin","Sort Order":"جۆری داواکاری","Sorted ascending.":"Rêjeya hilkişînê.","Sorted descending.":"Rêjeya xwarê.","Source":"سەرچاوه","Stack":"کەڵەکە","Stack files sharing the same unique image or instance identifier.":"پەڕگە کەڵەککراوەکان هەمان وێنەی بێ هاوتا یان نمونەی ناسێنەریان هەیە.","Stack pictures taken at the exact same time and location based on their metadata.":"وێنەی کەڵەککراوەکان لەهەمان کات و شوێن دا گیراوە لەسەر بنەمای مێتاداتا.","Stackable":"کەڵەکەکراو","Stacks":"کەڵەکەکان","Start":"ده‌ستپێك","Start Page":"Rûpelê Destpêkê","Static Size Limit: %{n}px":"سنووری قەبارەی ستاتیک: %{n}px","Status":"دۆخ","Storage":"پەڕگەی هەڵگرتن","Streets":"شەقامەکان","Subject":"ناونیشان","Submit":"Nermijîn","Successfully activated":"Bi serketî hate aktîfkirin","Successfully Connected":"Bi serketî ve girêdayî ye","Successfully deleted":"Bi serketî hat jêbirin","Successfully verified":"Bi serketî verast kirin","Super Admin":"Super Admin","Support for additional services, like Google Drive, will be added over time.":"پشتگیری بۆ خزمەتگوزاری تر وەک Google Drive، بە پێی کات زیاد دەکرێت.","Support Our Mission":"Piştgiriya Mîsyona Me bikin","Sync":"هاوکاتگەری","Sync raw and video files":"هاودەمکردنی فایلە خاوە ڤیدیۆکان","Taken":"وەرگیراو","Teal":"سەوزی شینباو","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow ji bo dabeşkirina wêneyê, naskirina rû, û tespîtkirina naveroka ne ewle hewce ye.","Terrain":"Erd","Text":"Nivîstok","Text too long":"دەقی زۆر درێژ","Thank You for Your Support!":"Spas ji bo Piştgiriya We!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Ji ber vê yekê PhotoPrism ji erdê ve hate çêkirin da ku li cîhê ku hûn jê re lazim bin, bêyî ku azadî, nepenî, an fonksiyonê tawîz bidin.","The index currently contains %{n} hidden files.":"نوانەکە لە ئێستادا %{n} فایلی شاراوەی لەخۆ دەگرێت.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"فۆرماتەکەیان لەوانەیە پشتگیری کراو نەبێت, هێشتا نەگۆڕدراوە بۆ JPEG یان لێکچووی دووبارەبوونی هەیە.","Theme":"ڕووکار","This field is required":"Ev qada pêdivî ye","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"ئەمە فۆڵدەری ڕەسەنەکان وەک درایڤی ڕایەڵە هەڵدەکات و ڕێگەت پێدەدات فایلەکان لە کۆمپیوتەرەکەت یان مۆبایلەکە بکەیتەوە، بژاری بکەیت، یان بسڕیتەوە وەک ئەوەی کە خۆماڵی بن.","Time UTC":"کات UTC","Time Zone":"ناوچەی کاتی","Timeout":"ناوچەی کاتی","Title":{"Account":"ناونیشان","Photo":"ناونیشان","":"ناونیشان"},"Title / Position":"ناونیشانی زۆر درێژ","Title too long":"ناونیشانی زۆر درێژ","to":"بۆ","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Ji bo ku hûn ji hesabê xwe neyên girtin, ji kerema xwe vê koda hilanînê nuha dakêşin, çap bikin an kopî bikin û li cîhek ewle bihêlin.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Ji bo afirandina şîfreyek nû-taybetî ya sepanê, ji kerema xwe nav û qada destûrnameyê ya serîlêdanê binivîse û tarîxek qedandinê hilbijêrin:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Ji bo veguheztina serîlêdanek an amûrek naskirî ya nû, pêşî piştrastkirina du-faktorî neçalak bikin û dûv re wê ji nû ve çalak bikin:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Ji bo nûvekirinê, hûn dikarin kodek çalakkirinê binivîsin an jî \"Têkilî\" bikirtînin da ku li ser malpera me têkevin:","Today":"Îro","Toggle View":"گۆڕینی رەوش بۆ بینین","Token":"تۆکن","Too many files selected":"Gelek pel hatine hilbijartin","Too many requests":"Pir daxwazî","Troubleshooting":"Çareserkirina pirsgirêkan","Try again using other filters or keywords.":"دووبارە هەوڵ بدە بە بەکارهێنانی فلتەر یان وشەی تر.","Two-factor authentication has been enabled for your account.":"Nasnameya du-faktorî ji bo hesabê we hate çalak kirin.","Type":"جۆر","Unable to delete":"Jêbirin nayê kirin","Unauthorized":"Bêmaf","Undo":"Betal bike","Unique ID":"IDـی بێ هاوتا","Unknown":"نەزانراو","Unregistered":"Neqeydkirî","Unsorted":"پۆلێن نەکراوە","Unstack":"دەرهێنان لە کەڵەکە","Updated":"بارکرا","Updating faces":"Rûyên nûjen dikin","Updating index":"نوێکردنەوەی نیشانە","Updating moments":"نوێکردنەوەی ساتەکان","Updating picture…":"Rojanekirina pêşdîtinan","Updating previews":"Rojanekirina pêşdîtinan","Updating stacks":"نوێکردنەوەی کەڵەکەکان","Upgrade":"Upgrade","Upgrade Now":"Nûvekirina Niha","Upload":"بارکردن","Upload complete":"بارکردنەکە تەواو","Upload complete. Indexing…":"بارکردن تەواو بوو. نیشانەکردن…","Upload failed":"بارکردنەکە سەرکەوتوو نەبوو","Upload local files":"بارکردنی فایلە ناوخۆییەکان","Upload Path":"Rêya barkirin","Upload to WebDAV and share links with friends.":"بارکردن بۆ WebDAV و هاوبەشکردنی بەستەرەکان لەگەڵ هاوڕێیانت.","Uploading %{n} of %{t}…":"بارکردنی %{n} لە %{t}…","Uploading photos…":"فۆتۆکان بار دەبن…","Uploading…":"دووبارە بارکردن…","Uploads that may contain such images will be rejected automatically.":"بارکردنەکان کە لەوانەیە ئەم جۆرە وێنانە لەخۆە بگرێ بە شێوەیەکی خۆکار ڕەت دەکرێنەوە.","Use Presets":"بەکارهێنانی پێش ڕێکخستنەکان","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Dema ku hûn nikaribin bi sepana xweya erêkirinê re kodek verastkirinê ya derbasdar biafirînin, koda vegerandina jêrîn bikar bînin da ku bigihîjin hesabê xwe:","Use your recovery code or contact an administrator for help.":"Koda vegerandina xwe bikar bînin an ji bo alîkariyê bi rêveberek re têkilî daynin.","User":"بەکارهێنەر","User Guide":"Rehbera bikaranînê","User Interface":"بەکارهێنەری ڕووکار","Username":"ناوی بەکارهێنەر","Users":"Bikarhêner","Vector":"Vektor","Vectors":"Vectors","Verification Code":"Koda verastkirinê","Video":"ڤیدیۆ","Video Duration":"بەخشینەکان","Videos":"ڤیدیۆکان","View":"بینین","View search results as a list.":"Encamên lêgerînê wekî navnîşek bibînin.","Viewer":"Temaşeker","Visitor":"Serda","Visual Similarity":"گروپکردن بە پێی هاوشێوەیی","Warning":"Gazî","We appreciate your feedback!":"Em spasiya nêrîna we dikin!","We do our best to respond within five business days or less.":"Em çêtirîn dikin ku di nav pênc rojên karsaziyê an kêmtir de bersiv bidin.","Web Login":"Têketina Webê","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"ڕاژەخوازەکانی WebDAV دەتوانن پەیوەندی بکەن بە فۆتۆپریزمەوە بە بەکارهێنانی ئەم URLەی خوارەوە:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"ڕاژەخوازەکانی WebDAV، وەک Windows Explorer ی Microsoft یانFinderی Apple، دەتوانن ڕاستەوخۆ بە PhotoPrism ەوە ببەسترێنەوە.","WebDAV Upload":"WebDAV Upload","WebGL support is disabled in your browser":"Piştgiriya WebGL di geroka we de neçalak e","Website":"Website","White":"سپی","Work Details":"زانیاری زیاتر","Year":"ساڵ","Yellow":"زەرد","Yes":"بەڵێ","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Hûn bi xêr hatin ku ji bo pirsên di derbarê endametiya xwe de bi me re têkilî daynin endamên@photoprism.app.","You can only download one album":"تۆ تەنها دەتوانی یەك ئەلبوم داگریت","You can only download one label":"تۆ تەنها دەتوانی یەك پێناس داگریت","You can search for a location or move the marker on the map to change the position:":"Hûn dikarin li cîhek bigerin an jî nîşankerê li ser nexşeyê biguhezînin da ku pozîsyonê biguherînin:","You can upload up to %{n} files for test purposes.":"Hûn dikarin heta %{n} pelan ji bo armancên ceribandinê bar bikin.","You may only select one item":"دەتوانیت تەنها یەک ئایتم دیاریبکەیت","You may rescan your library to find additional faces.":"Hûn dikarin pirtûkxaneya xwe ji bo dîtina rûyên zêde ji nû ve şeh bikin.","Your account has been successfully connected.":"Hesabê we bi serkeftî hate girêdan.","Your browser does not support WebGL":"Geroka we WebGL piştgirî nake","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Piştgiriya weya domdar ji me re dibe alîkar ku em lêçûnên xebitandinê fînanse bikin, karûbarên wekî nexşeyên satelîtê peyda bikin, û taybetmendiyên nû pêşve bixin.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Pirtûkxaneya we bi domdarî tê analîz kirin ku bixweber albumên demên taybetî, rêwîtî û deveran çêdike.","Zoom in/out":"گەورەکردن/بچووکردن"}} \ No newline at end of file diff --git a/frontend/src/locales/json/lt.json b/frontend/src/locales/json/lt.json index 470c9ab56..cf782b39a 100644 --- a/frontend/src/locales/json/lt.json +++ b/frontend/src/locales/json/lt.json @@ -1 +1 @@ -{"lt":{"{0} appended action":"{0} pridėtas veiksmas","{0} files":"{0} failų","{0} files ({1} in total)":"{0} failų (iš viso {1})","{0} more":"{0} daugiau","{0} prepended action":"{0} iš anksto pridėtas veiksmas","{0} selected":"{0} pasirinkta","{0}-{1} of {2}":"{0}-{1} iš {2}","%{n} albums found":"%{n} rasti albumai","%{n} files uploaded":"%{n} įkelti failai","%{n} folders found":"rasta %{n} aplankų","%{n} GB of %{q} GB used":"%{n} GB iš %{q} GB panaudota","%{n} labels found":"rasta %{n} etikečių","%{n} people found":"rasta %{n} žmonių","%{n} pictures found":"rasta %{n} paveikslėlių","%{s} is too long":"%{s} yra per ilgas","%{s} is too short":"%{s} yra per trumpas","1 hour":"1 val.","12 hours":"12 valandų","2-Factor Authentication":"2 veiksnių autentiškumo nustatymas","2FA":"2FA","4 hours":"4 valandos","A click will copy it to your clipboard.":"Paspaudę jį nukopijuosite į iškarpinę.","A new version of %{s} is available:":"Pasirodė nauja %{s} versija:","About":"Apie","Access Token":"Prieigos žetonas","Account":"Sąskaita","Account created":"Sukurta paskyra","Account deleted":"Ištrinta paskyra","Account restored":"Atkurta paskyra","Accounts":"Sąskaitos","Accuracy":"Tikslumas","Action":"Veiksmas","Actions":"Veiksmai","Activate":"Suaktyvinti","Activate to remove sorting.":"Aktyvuokite, kad pašalintumėte rūšiavimą.","Activate to sort ascending.":"Aktyvuokite, kad rūšiuotumėte didėjančia tvarka.","Activate to sort descending.":"Aktyvuokite, jei norite rūšiuoti mažėjančia tvarka.","Activation Code":"Aktyvinimo kodas","Add":"Pridėti","Add %{s}?":"Pridėti %{vardas}?","Add Account":"Redaguoti paskyrą","Add Album":"Pridėti albumą","Add files to your library via Web Upload.":"Pridėkite failų į savo biblioteką naudodami \"Web Upload\".","Add Link":"Pridėti nuorodą","Add person?":"Pridėti asmenį?","Add pictures from search results by selecting them.":"Pridėkite nuotraukas iš paieškos rezultatų jas pasirinkdami.","Add to album":"Pridėti į albumą","Added":"Pridėta","Admin":"Administratorius","Advanced":"Išplėstinė","After 1 day":"Po 1 dienos","After 3 days":"Po 3 dienų","After 7 days":"Po 7 dienų","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Įvedę slaptažodį patvirtinimui, galite nustatyti dviejų veiksnių autentifikavimą naudodami suderinamą autentifikavimo programą arba įrenginį:","After one month":"Po vieno mėnesio","After one year":"Po vienerių metų","After selecting pictures from search results, you can add them to an album using the context menu.":"Pasirinkę nuotraukas iš paieškos rezultatų, galite jas įtraukti į albumą naudodami kontekstinį meniu.","After two months":"Po dviejų mėnesių","After two weeks":"Po dviejų savaičių","Album":"Albumas","Album Backups":"Albumo atsarginės kopijos","Album created":"Sukurtas albumas","Albums":"Albumai","Albums deleted":"Ištrinti albumai","All":"Visi","All %{n} albums loaded":"Įkelti visi %{n} albumai","All %{n} labels loaded":"Įkeltos visos %{n} etiketės","All %{n} people loaded":"Įkelti visi %{n} žmonės","All Cameras":"Visi fotoaparatai","All Categories":"Visos kategorijos","All Colors":"Visos spalvos","All Countries":"Visos šalys","All fields are required":"Visi laukai yra privalomi","All files from import folder":"Visi failai iš importo aplanko","All Lenses":"Visi objektyvai","All Months":"Visi mėnesiai","All originals":"Visi originalai","All Years":"Visi metai","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Taip pat galite įkelti failus tiesiai į WebDAV serverius, pvz., \"Nextcloud\".","Altitude":"Aukštis","Altitude (m)":"Aukštis (m)","AM":"AM","Animated":"Animuota","Animation":"Animacija","Any private photos and videos remain private and won't be shared.":"Visos privačios nuotraukos ir vaizdo įrašai išlieka privatūs ir jais nebus dalijamasi.","API Key":"API raktas","Application":"Paraiška","Apply":"Taikyti","Approve":"Patvirtinti","Apps and Devices":"Programėlės ir įrenginiai","Archive":"Archyvas","Archived":"Archyvuota","Are you sure you want to archive the selection?":"Ar tikrai norite archyvuoti pasirinkimą?","Are you sure you want to delete these albums?":"Ar tikrai norite ištrinti šiuos albumus?","Are you sure you want to delete these labels?":"Ar tikrai norite ištrinti šias etiketes?","Are you sure you want to delete this account?":"Ar tikrai norite ištrinti šią paskyrą?","Are you sure you want to permanently delete these pictures?":"Ar tikrai norite visam laikui ištrinti šias nuotraukas?","Are you sure you want to permanently delete this file?":"Ar tikrai norite visam laikui ištrinti šį failą?","Are you sure?":"Ar esate tikri?","Artist":"Menininkas","Aspect Ratio":"Kraštinių santykis","Audio":"Garso","Authentication":"Autentiškumo nustatymas","Auto":"Automatinis","Back":"Atgal","Back to top":"Grįžti į viršų","Backup":"Atsarginė kopija","Badge":"Ženkliukas","Base Path":"Bazinis kelias","Become a member today, support our mission and enjoy our member benefits!":"Tapkite nariu šiandien, paremkite mūsų misiją ir naudokitės nario privilegijomis!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Kadangi esame 100 % savarankiškai finansuojami ir nepriklausomi, galime pažadėti, kad niekada neparduosime jūsų duomenų ir visada skaidriai informuosime apie savo programinę įrangą ir paslaugas.","Bio":"Bio","Birth Date":"Gimimo data","Black":"Juoda","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Lanczos Modifikacija,Mažiau Žiedinių Artefaktų","Blue":"Mėlyna","Brown":"Ruda","Browse":"Naršykite","Browse and edit image classification labels.":"Naršykite ir redaguokite vaizdų klasifikavimo etiketes.","Browse and share your pictures organized into monthly albums.":"Naršykite ir bendrinkite nuotraukas, suskirstytas į mėnesio albumus.","Browse Files":"Naršyti failus","Browse indexed files and folders in Library.":"Naršykite po bibliotekos indeksuotus failus ir aplankus.","Bug Report":"Pranešimas apie klaidą","Busy, please wait…":"Užimtas, palaukite…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Naudodamiesi mūsų teikiama programine įranga ir paslaugomis, sutinkate su mūsų paslaugų teikimo sąlygomis, privatumo politika ir elgesio kodeksu.","Calendar":"Kalendorius","Camera":"Fotoaparatas","Camera Serial":"Kameros serijinis","Can't access your authenticator app or device?":"Negalite prisijungti prie autentifikatoriaus programos arba įrenginio?","Can't load more, limit reached":"Negalima įkelti daugiau, pasiekta riba","Can't select more items":"Negalima pasirinkti daugiau elementų","Cancel":"Atšaukti","Caption":"Antraštė","Cards":"Kortelės","Carousel slide {0} of {1}":"Karuselinė skaidrė {0} iš {1}","Category":"Kategorija","Change Avatar":"Keisti privačią vėliavą","Change Password":"Naujas slaptažodis","Change personal profile and security settings.":"Keisti asmeninio profilio ir saugumo nustatymus.","Change photo titles, locations, and other metadata.":"Keiskite nuotraukų pavadinimus, vietas ir kitus metaduomenis.","Change private flag":"Keisti privačią vėliavą","Changes could not be saved":"Pakeitimų nepavyko išsaugoti","Changes successfully saved":"Pakeitimai sėkmingai išsaugoti","Changes to the advanced settings require a restart to take effect.":"Norint, kad išplėstinių nustatymų pakeitimai įsigaliotų, juos reikia paleisti iš naujo.","Checked":"Patikrinta","Chroma":"Chroma","Cleaning index and cache":"Indekso ir talpyklos valymas","Cleanup":"Valymas","Clear {0}":"Išvalyti {0}","Client":"Klientas","Client Credentials":"Kliento įgaliojimai","Close":"Uždaryti","Codec":"Kodekas","Color":"Spalva","Color Profile":"Spalvų profilis","Colors":"Spalvos","Compare Editions":"Palyginti leidimus","Complete Rescan":"Visiškas pakartotinis nuskaitymas","Confidence":"Konfidencialu","Confirm":"Patvirtinti","Connect":"Prisijungti","Connect via WebDAV":"Prisijungimas per WebDAV","Connected":"Prisijungti","Contact Details":"Susisiekite su mumis","Contact Us":"Susisiekite su mumis","Contains %{n} pictures.":"Sudėtyje yra %{n} paveikslėlių.","Contains one picture.":"Yra vienas paveikslėlis.","Content":"Turinys","Continue":"Tęsti","Continue with %{provider}":"Tęsti su %{provider}","Contributor":"Pateikėjas","Converting":"Konvertuojama","Copied to clipboard":"Nukopijuota į iškarpinę","Copy":"Kopijuoti","Copyright":"Autorinės teisės","Couldn't find anything.":"Nepavyko nieko rasti.","Country":"Šalis","Create Account":"Sukurti paskyrą","Create album":"Sukurti albumą","Create regular backups based on the configured schedule.":"Kurkite indekso atsargines kopijas pagal sukonfigūruotą tvarkaraštį.","Create YAML files to back up album metadata.":"Sukurkite YAML failus albumo metaduomenims kurti.","Create YAML sidecar files to back up picture metadata.":"Sukurkite YAML šalutinius failus paveikslėlių metaduomenims kurti.","Created":"Sukurta","Creating thumbnails for":"Miniatiūrų kūrimas","Cubic: Moderate Quality, Good Performance":"Kubinis: Vidutinė kokybė, geras našumas","Current Password":"Dabartinis slaptažodis","Custom":"Pasirinktinis","Cyan":"Žydra","Daily":"Kasdien","Database Backups":"Duomenų bazės atsarginės kopijos","Day":"Diena","Deactivate":"Išjungti","Debug Logs":"Derinimo žurnalai","Default":"Numatytoji","Default Folder":"Numatytasis aplankas","Delete":"Ištrinti","Delete All":"Ištrinti viską","Delete all?":"Ištrinti viską?","Delete orphaned index entries, sidecar files and thumbnails.":"Ištrinkite našlaičių indekso įrašus, šalutinius failus ir miniatiūras.","Description":"Aprašymas","Detailed instructions can be found in our User Guide.":"Išsamias instrukcijas rasite mūsų naudotojo vadove.","Details":"Detalės","Dimensions":"Matmenys","Disable Backups":"Išjungti atsargines kopijas","Disable Darktable":"Išjungti \"Darktable","Disable ExifTool":"Išjungti \"ExifTool","Disable features that require write permission for the originals folder.":"Išjunkite funkcijas, kurioms reikia originalų aplanko rašymo leidimo.","Disable FFmpeg":"Išjungti \"FFmpeg","Disable ImageMagick":"Išjungti \"ImageMagick","Disable interactive world maps and reverse geocoding.":"Išjunkite interaktyvius pasaulio žemėlapius ir atvirkštinį geokodavimą.","Disable Places":"Išjungti vietas","Disable RawTherapee":"Išjungti \"RawTherapee","Disable TensorFlow":"Išjungti \"TensorFlow","Disable Vectors":"Išjungti vektorius","Disable WebDAV":"Išjungti WebDAV","Disables vector graphics support.":"Išjungia vektorinės grafikos palaikymą.","Disables video transcoding and thumbnail extraction.":"Išjungiamas vaizdo perkodavimas ir miniatiūrų išskyrimas.","Discover":"Atraskite","Dismiss":"Atmesti","Display Name":"Rodomas vardas","Display picture captions in search results.":"Paieškos rezultatuose rodykite paveikslėlių antraštes.","Display picture titles in search results.":"Paieškos rezultatuose rodyti paveikslėlių pavadinimus.","Document":"Dokumentas","Documents":"Dokumentai","Don't use Darktable to convert RAW images.":"Nenaudokite \"Darktable\" RAW failams konvertuoti.","Don't use ImageMagick to convert images.":"Nenaudokite ImageMagick vaizdams konvertuoti.","Don't use RawTherapee to convert RAW images.":"Nenaudokite \"RawTherapee\" RAW failams konvertuoti.","Done":"Atlikta","Done.":"Atlikta.","Download":"Atsisiųsti","Download only original media files, without any automatically generated files.":"Atsisiųskite tik originalius medijos failus be jokių automatiškai sukurtų failų.","Download remote files":"Atsisiųsti nuotolinius failus","Download single files and zip archives.":"Atsisiųskite atskirus failus ir zip archyvus.","Downloading…":"Atsisiuntimas…","Downscaling Filter":"Mažinimo filtras","Drag and drop files here":"Vilkite ir meskite failus čia","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"Dėl didelio gaunamų el. laiškų kiekio mūsų komanda gali nepavykti iš karto su jumis susisiekti.","Duplicates will be skipped and only appear once.":"Dublikatai bus praleisti ir rodomi tik vieną kartą.","Duration":"Dovanos","Dynamic Previews":"Dinaminės peržiūros","Dynamic Size Limit: %{n}px":"Dinaminio dydžio riba: %{n}px","E-Mail":"El. paštas","Edit":"Redaguoti","Edit %{s}":"Redaguoti %{pavadinimas}","Edit Account":"Redaguoti paskyrą","Edit Photo":"Redaguoti nuotrauką","Edited":"Redaguota","Email":"El. paštas","Enable debug mode to display additional logs and help with troubleshooting.":"Įjunkite derinimo režimą, kad būtų rodomi papildomi žurnalai ir padedama šalinti triktis.","Enable new features that may be incomplete or unstable.":"įgalinti naujas funkcijas, kurios gali būti neišbaigtos arba nestabilios.","Enables RAW converter presets. May reduce performance.":"Įjungiamos RAW konverterio išankstinės nuostatos. Gali sumažinti našumą.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Dviejų veiksnių autentifikavimo įjungimas reiškia, kad norint prisijungti, jums reikės atsitiktinai sugeneruoto patvirtinimo kodo, todėl net jei kas nors gaus prieigą prie jūsų slaptažodžio, jis negalės pasiekti jūsų paskyros.","Enter date":"Įveskite datą","Enter dates":"Įveskite datas","Enter the code generated by your authenticator app:":"Įveskite autentifikatoriaus programėlės sugeneruotą kodą:","Enter verification code":"Įveskite patvirtinimo kodą","Enter your password to confirm the action and continue:":"Įveskite slaptažodį, kad patvirtintumėte veiksmą ir tęstumėte:","Error":"Klaida","Errors":"Klaidos","Estimate":"Apskaičiuokite","Estimate Locations":"Apytikrės vietos","Estimate the approximate location of pictures without GPS coordinates.":"Apytiksliai įvertinkite nuotraukų vietą be GPS koordinačių.","Every two days":"Kas dvi dienas","Exclude content marked as private from search results, shared albums, labels, and places.":"Neįtraukti turinio, pažymėto kaip privataus, į paieškos rezultatus, bendrinamus albumus, etiketes ir vietas.","Exclude hidden":"Neįtraukti paslėptų","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"Kad būtų palaikomi visi vaizdo įrašai, tiesioginės nuotraukos ir XMP, reikia ištraukti metaduomenis su \"ExifTool\".","Experimental Features":"Eksperimentinės funkcijos","Expires":"Galioja iki","Exposure":"Ekspozicija","Extract still images and generate thumbnails while indexing.":"Ištraukite nejudančius vaizdus ir indeksuodami generuokite miniatiūras.","F Number":"F skaičius","Face":"Veidas","Faces":"Veidai","Failed removing link":"Nepavyko pašalinti nuorodos","Failed to connect account.":"Nepavyko prisijungti prie paskyros.","Failed updating link":"Nepavyko atnaujinti nuorodos","Family Name":"Šeimos pavadinimas","Fast":"Greitai","Favorite":"Mėgstamiausias","Favorites":"Mėgstamiausi","Feature Request":"Funkcijos prašymas","Feedback":"Atsiliepimai","Female":"Moteris","File":"Failas","File Browser":"Failų naršyklė","File Conversion":"Failų konvertavimas","File Name":"Failas","File Size":"Failas","Filename":"Failas","Files":"Failai","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Failai su nuosekliais pavadinimais, pavyzdžiui, 'IMG_1234 (2)' ir 'IMG_1234 (3)', priklauso tai pačiai nuotraukai.","First page":"Pirmas puslapis","Focal Length":"Židinio nuotolis","Folder":"Aplankas","Folder contains %{n} files":"Aplankale yra %{n} failų","Folder is empty":"Aplankas tuščias","Folders":"Aplankalai","Forgot password?":"Pamiršote slaptažodį?","FPS":"FPS","Frames":"Kadrai","Full Access":"Pilna prieiga","Fullscreen":"Viso ekrano","General":"Bendra","Generate":"Generuoti","Generate albums of special moments, journeys, and places.":"Automatiškai sukuria ypatingų akimirkų, kelionių ir vietų albumus.","Generate Previews":"Generuoti peržiūras","Generated":"Sukurta","Get Started":"Pradėkite","Given Name":"Originalus pavadinimas","Global Options":"Visuotinės parinktys","Go to page {0}":"Eiti į puslapį {0}","Gold":"Auksinis","Green":"Žalioji","Grey":"Pilka","Guest":"Svečias","Hash":"Hash","Help":"Pagalba","Help & Support":"Paramos gavimas","Hidden":"Paslėptas","Hidden Files":"Paslėpti failai","Hide":"Paslėpti","Hide photos that have been moved to archive.":"Paslėpti nuotraukas, kurios buvo perkeltos į archyvą.","High":"Aukštas","High Dynamic Range (HDR)":"Didelis dinaminis diapazonas (HDR)","How can we help?":"Kaip galime padėti?","Hybrid":"Hibridinis","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Jei prarasite prieigą prie autentifikavimo programos ar įrenginio, galite naudoti atkūrimo kodą, kad atgautumėte prieigą prie paskyros.","Image":"Vaizdas","Image Quality":"Vaizdo kokybė","Import":"Importas","Import failed":"Importuoti nepavyko","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Importuoti failai bus surūšiuoti pagal datą ir jiems bus suteiktas unikalus pavadinimas, kad būtų išvengta pasikartojimų.","Imported files will be sorted by date and given a unique name.":"Importuoti failai bus surūšiuoti pagal datą ir jiems bus suteiktas unikalus pavadinimas.","Importing %{s}…":"Importuojame %{pavadinimas}…","Importing files to originals…":"Failų importavimas į originalus…","in":"svetainėje","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"Jei trūksta nuotraukų, kurių tikėjotės, iš naujo nuskaitykite savo biblioteką ir palaukite, kol bus baigtas indeksavimas.","Include RAW image files when downloading stacks and archives.":"Atsisiunčiant stekus ir archyvus įtraukite RAW vaizdų failus.","Include sidecar files when downloading stacks and archives.":"Atsisiunčiant stekus ir archyvus įtraukti šalutinius failus.","Increase storage size or delete files to continue.":"Norėdami tęsti, padidinkite saugyklos dydį arba ištrinkite failus.","Index":"Indeksas","Index and import files through the user interface.":"Indeksuokite ir importuokite failus per naudotojo sąsają.","Indexing":"Indeksavimas","Indexing failed":"Indeksavimas nepavyko","Indexing media and sidecar files…":"Medijos ir šalutinių failų indeksavimas…","Information":"Informacija","Instance ID":"Atvejo ID","Insufficient storage.":"Nepakankama saugykla.","Interval":"Intervalas","Invalid":"Neteisinga data","Invalid address":"Neteisingas adresas","Invalid country":"Netinkama šalis","Invalid date":"Neteisinga data","Invalid parameters":"Neteisinga data","Invalid photo selected":"Pasirinkta netinkama nuotrauka","Invalid time":"Netinkamas laikas","Invalid URL":"Netinkamas URL adresas","It is a one-time use code that will disable 2FA for your account when you use it.":"Tai vienkartinis kodas, kuris išjungs 2FA jūsų paskyroje, kai ją naudosite.","Item":"Prekė","Items per page:":"Viename puslapyje esantys elementai:","JPEG Quality: %{n}":"JPEG kokybė: %{n}","JPEG Size Limit: %{n}px":"JPEG dydžio riba: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"JPEG ir miniatiūros prireikus atvaizduojamos automatiškai.","Keywords":"Raktiniai žodžiai","Label":"Etiketė","Labels":"Etiketės","Labels deleted":"Ištrintos etiketės","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: detalių išsaugojimas, minimalūs artefaktai","Language":"Kalba","Last Active":"Paskutinis aktyvus","Last Login":"Paskutinis prisijungimas","Last page":"Paskutinis puslapis","Last Sync":"Sinchronizavimas","Last Used":"Paskutinis naudotas","Latitude":"Platuma","LDAP/AD":"LDAP/AD","Learn more":"Sužinokite daugiau","Learn More":"Sužinokite daugiau","Legal Information":"Teisinė informacija","Lens":"Objektyvas","Library":"Biblioteka","License":"Licencija","Like":"Kaip","Lime":"Lime","Limit reached, showing first %{n} files":"Limitas pasiektas, rodomi pirmieji %{n} failai","Linear: Very Smooth, Best Performance":"Linijinis: Labai sklandus, geriausias našumas","Link":"Nuoroda","List":"Sąrašas","List View":"Sąrašo rodinys","Live":"Gyvai","Live Photos":"Nuotraukos","Load more":"Įkelti daugiau","Loading items...":"Įkeliami elementai...","Loading...":"Pakraunama...","Local":"Vietinis","Local Time":"Vietinis laikas","Location":"Vieta","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Žurnalo pranešimai čia rodomi, kai \"PhotoPrism\" susiduria su sugadintais failais arba kitomis galimomis problemomis.","Login":"Prisijungimas","Logout":"Atsijungimas","Logs":"Žurnalai","Longitude":"Ilguma","Low":"Žema","Magenta":"Magenta","Main Color":"Pagrindinė spalva","Male":"Vyras","Manage Account":"Tvarkyti paskyrą","Manual":"Rankinis","Manual Upload":"Įkėlimas rankiniu būdu","Maps":"Žemėlapiai","Marker":"Žymeklis","Maximum number of accounts has been reached.":"Pasiektas maksimalus paskyrų skaičius.","Media":"Žiniasklaida","Medium":"Vidutinis","Membership":"Narystė","Merge %{a} with %{b}?":"Sujungti %{a} su %{b}?","Message":"Žinutė","Message sent":"Išsiųsta žinutė","Metadata":"Metaduomenys","Metrics":"Metrika","Minimize":"Sumažinkite","Missing":"Trūksta","Missing or invalid configuration":"Trūksta konfigūracijos arba ji negalioja","Moments":"Akimirkos","Monochrome":"Vienspalvis","Month":"Mėnuo","More options":"Daugiau galimybių","Mosaic":"Mozaika","Most Relevant":"Aktualiausia","Move Files":"Failų perkėlimas","Must have at least %{n} characters.":"Ne mažiau kaip 6 ženklai.","Mute":"Nutildyti","Name":"Pavadinimas","Name too long":"Per ilgas vardas","Never":"Niekada","New":"Naujas","New Password":"Naujas slaptažodis","Newest First":"Naujausias pirmas","Next":"Kitas","Next page":"Kitas puslapis","Next visual":"Kitas vaizdas","No":"Ne","No albums found":"Albumų nerasta","No data available":"Duomenų nėra","No labels found":"Etikečių nerasta","No matching records found":"Nerastas nė vienas tinkamas įrašas","No more":"Ne daugiau","No people found":"Žmonių nerasta","No pictures found":"Paveikslėlių nerasta","No recently edited pictures":"Nėra neseniai redaguotų nuotraukų","No server connection":"Nėra ryšio su serveriu","No servers configured.":"Nėra sukonfigūruotų serverių.","No services configured.":"Nėra sukonfigūruotų serverių.","No thanks":"Ne, ačiū","No warnings or error containing this keyword. Note that search is case-sensitive.":"Jokių įspėjimų ar klaidų su šiuo raktažodžiu nėra. Atkreipkite dėmesį, kad paieška priklauso nuo mažųjų ir didžiųjų raidžių.","Non-photographic and low-quality images require a review before they appear in search results.":"Prieš rodant nefotografuotus ir prastos kokybės vaizdus paieškos rezultatuose, juos reikia peržiūrėti.","None":"Nėra","Not allowed":"Neleidžiama","Not found":"Nerasta","Not sorted.":"Neišrūšiuota.","Not supported":"Nepalaikoma","Note you may manually manage your originals folder and importing is optional.":"Atkreipkite dėmesį, kad originalų aplanką galite tvarkyti rankiniu būdu, o importuoti neprivaloma.","Note:":"Pastaba:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Pastaba: Tik WebDAV serverius, pavyzdžiui, \"Nextcloud\" arba \"PhotoPrism\", galima konfigūruoti kaip nuotolinę atsarginių kopijų kūrimo ir failų įkėlimo paslaugą.","Notes":"Pastabos","Nothing to see here yet.":"Kol kas čia nieko nematyti. Būkite kantrūs.","Nothing was found.":"Nieko nerasta.","Offline":"Neprisijungus prie interneto","OIDC":"OIDC","OK":"GERAI","Oldest First":"Seniausias pirmas","On Windows, enter the following resource in the connection dialog:":"\"Windows\" sistemoje prisijungimo dialogo lange įveskite šiuos išteklius:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"Miniatiūrų generavimas pagal pareikalavimą gali būti susijęs su dideliu procesoriaus ir atminties naudojimu. Nerekomenduojama naudoti serveriuose ir NAS įrenginiuose, kurių ištekliai yra riboti.","Once a week":"Kartą per savaitę","One album found":"Rastas vienas albumas","One file found":"Rastas vienas failas","One file uploaded":"Įkeltas vienas failas","One folder found":"Rastas vienas aplankas","One label found":"Viena rasta etiketė","One person found":"Vienas asmuo rado","One picture found":"Vienas rastas paveikslėlis","Only locally managed accounts can be set up for authentication with 2FA.":"Tik vietoje valdomose paskyrose galima nustatyti autentifikavimą naudojant 2FA.","Open":"Atviras","optional":"pasirinktinai","or":"arba","Orange":"Oranžinė","Organization":"Orientavimasis","Orientation":"Orientavimasis","Original file names will be stored and indexed.":"Originalūs failų pavadinimai bus saugomi ir indeksuojami.","Original Name":"Originalus pavadinimas","Originals":"Originalai","Other":"Kita","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Mūsų misija - pateikti vartotojui patogiausią ir privatumą užtikrinantį sprendimą, kad nuotraukos būtų tvarkingos ir prieinamos.","Outdoor":"Lauko","Page {0}, Current page":"Puslapis {0}, Dabartinis puslapis","Pages":"Puslapiai","Pagination Navigation":"Tinklalapių navigacija","Panorama":"Panorama","Panoramas":"Panoramos","Password":"Slaptažodis","Password changed":"Pakeistas slaptažodis","People":"Žmonės","People you share a link with will be able to view public contents.":"Žmonės, su kuriais bendrinate nuorodą, galės peržiūrėti viešą turinį.","Permanently deleted":"Visam laikui ištrintas","Permanently remove files to free up storage.":"Visam laikui pašalinkite failus, kad atlaisvintumėte saugyklą.","Person":"Asmuo","Personal":"Asmeninis","Photo":"Nuotrauka","PhotoPrism is 100% self-funded and independent.":"\"PhotoPrism\" yra 100 % savarankiškai finansuojama ir nepriklausoma.","PhotoPrism+ Membership":"\"PhotoPrism+\" narystė","Photos":"Nuotraukos","Picture Title":"Paveikslėlio pavadinimas","Pink":"Rožinis","Place":"Vieta","Place & Time":"Vieta & amp; laikas","Places":"Vietos","Please confirm your new password.":"Patvirtinkite naująjį slaptažodį.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Nukopijuokite šį atsitiktinai sugeneruotą programos slaptažodį ir laikykite jį saugioje vietoje, nes nebegalėsite jo matyti:","Please do not upload any private, unlawful or offensive pictures.":"Neįkelkite jokių privačių, neteisėtų ar įžeidžiančių nuotraukų.","Please don't upload photos containing offensive content.":"Neįkelkite nuotraukų, kuriose yra įžeidžiančio turinio.","Please enter OTP character {0}":"Įveskite OTP simbolį {0}","Please note that changing your password will log you out on other devices and browsers.":"Atkreipkite dėmesį, kad pakeitę slaptažodį atsijungsite kituose įrenginiuose ir naršyklėse.","Please restart your instance for the changes to take effect.":"Kad pakeitimai įsigaliotų, iš naujo paleiskite savo instanciją.","Please wait…":"Palaukite…","PM":"PREMJERAS","PNG Size Limit: %{n}px":"PNG dydžio riba: %{n}px","Portrait":"Portretas","Preserve filenames":"Išsaugoti failų pavadinimus","Press enter to create a new album.":"Paspauskite Enter, kad sukurtumėte naują albumą.","Prevent database and album backups as well as YAML sidecar files from being created.":"Užkirskite kelią duomenų bazių ir albumų atsarginių kopijų bei YAML šalutinių failų kūrimui.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Neleiskite kitoms programoms pasiekti \"PhotoPrism\" kaip bendrinamąjį tinklo diską.","Preview":"Peržiūra","Preview Images":"Peržiūros vaizdai","Previous":"Ankstesnis","Previous page":"Ankstesnis puslapis","Previous visual":"Ankstesnis vaizdinis","Primary":"Pagrindinis","Private":"Privatus","Product Feedback":"Atsiliepimai apie produktą","Projection":"Projekcija","Purple":"Violetinė","Quality Filter":"Kokybės filtras","Quality Score":"Kokybės balas","r":"r","Random":"Atsitiktinis","Rating {0} of {1}":"Įvertinimas {0} iš {1}","Raw":"Neapdorotas","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Iš naujo indeksuokite visus originalus, įskaitant jau indeksuotus ir nepakeistus failus.","Read-Only Mode":"Tik skaitymo režimas","Recently Added":"Neseniai pridėta","Recently Archived":"Neseniai archyvuota","Recently Edited":"Neseniai redaguotas","Recognition starts after indexing has been completed.":"Atpažinimas pradedamas baigus indeksavimą.","Recognize faces so people can be assigned and found.":"atpažįsta veidus, kad būtų galima rasti konkrečius žmones.","Recognized":"Pripažintas","Recovery Code":"Atkūrimo kodas","Red":"Raudona","Refresh":"Atnaujinti","Regions":"Regionai","Register":"Registruotis","Reload":"Perkrauti","Reloading…":"Perkrovimas…","Remote Sync":"Nuotolinis sinchronizavimas","Remove":"Pašalinti","remove failed: unknown album":"pašalinti nepavyko: nežinomas albumas","Remove from Album":"Pašalinti iš albumo","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Pašalinkite importuotus failus, kad sutaupytumėte saugyklą. Nepalaikomi failų tipai niekada nebus ištrinti, jie liks savo dabartinėje vietoje.","Request failed - are you offline?":"Užklausa nepavyko - ar esate neprisijungęs?","Request failed - invalid response":"Užklausa nepavyko - neteisingas atsakymas","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Reikalauti, kad nefotografuoti ir prastos kokybės vaizdai būtų peržiūrimi prieš juos rodant paieškos rezultatuose.","Resolution":"Rezoliucija","Restart":"Iš naujo paleiskite","Restore":"Atkurti","Restored":"Atkurtas","Retry Limit":"Pakartojimo limitas","Retype Password":"Pakartokite slaptažodį","Review":"Peržiūrėkite","Role":"Vaidmuo","Rows per page:":"Eilutės puslapyje:","Satellite":"Palydovas","Save":"Išsaugoti","Scan":"Skenuoti","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Nuskaitykite QR kodą naudodami autentifikavimo programą arba naudokite toliau pateiktą sąrankos raktą ir įveskite sugeneruotą patvirtinimo kodą:","Scans":"Skenuoja","Scope":"Apimtis","Search":"Paieška","Search and display photos on a map.":"Ieškokite ir rodykite nuotraukas žemėlapyje.","Season":"Sezonas","Secret":"Paslaptis","Security and Access":"Saugumas ir prieiga","Select":"Pasirinkite","Select a source folder to import files…":"Pasirinkite šaltinio aplanką, į kurį norite importuoti failus…","Select date":"Pasirinkite datą","Select dates":"Pasirinkite datas","Select or create an album":"Pasirinkite arba sukurkite albumą","Select the files to upload…":"Pasirinkite failus, kuriuos norite įkelti…","Select the folder to be indexed…":"Pasirinkite indeksuojamą aplanką…","Select Time":"Pasirinkite laiką","Selection approved":"Patvirtinta atranka","Selection archived":"Atranka archyvuota","Selection restored":"Atkurta atranka","Sequential Name":"Sekvencinis pavadinimas","Service URL":"Paslaugos URL","Services":"Paslaugos URL","Session":"Sesija","Session ID":"Sesijos ID","Sessions":"Sesijos","Set as Album Cover":"Nustatyti kaip albumo viršelį","Settings":"Nustatymai","Settings saved":"Išsaugoti nustatymai","Setup":"Sąranka","Share":"Dalytis","Share %{s}":"Dalintis %{pavadinimas}","Share your pictures with other apps and services.":"bendrinkite nuotraukas su kitomis programomis ir paslaugomis.","Show":"Rodyti","Show all new faces":"Rodyti visus naujus veidus","Show Captions":"Rodyti antraštes","Show hidden":"Rodyti paslėptus","Show less":"Rodyti mažiau","Show more":"Rodyti daugiau","Show server logs in Library.":"Rodyti serverio žurnalus bibliotekoje.","Show Titles":"Rodyti pavadinimus","Sidecar":"Sidecar","Sidecar Files":"\"Sidecar\" failai","Sign in":"Prisijunkite","Similar":"Panašiai","Size":"Dydis","Slideshow":"Skaidrės","Slow":"Lėtas","Software":"Programinė įranga","Software Update":"Programinės įrangos atnaujinimas","Something went wrong, try again":"Kažkas nepavyko, bandykite dar kartą","Sort by":"Rūšiuoti pagal","Sort Order":"Rūšiavimo tvarka","Sorted ascending.":"Rūšiuojama didėjančia tvarka.","Sorted descending.":"Rūšiuojama mažėjančia tvarka.","Source":"Šaltinis","Stack":"Stack","Stack files sharing the same unique image or instance identifier.":"Sukaupti failus, turinčius tą patį unikalų atvaizdo arba egzemplioriaus identifikatorių.","Stack pictures taken at the exact same time and location based on their metadata.":"Sudėkite nuotraukas, padarytas tuo pačiu laiku ir toje pačioje vietoje, remdamiesi jų metaduomenimis.","Stackable":"Sukraunamas","Stacks":"Komodos","Start":"Pradžia","Start Page":"Pradinis puslapis","Static Size Limit: %{n}px":"Statinio dydžio riba: %{n}px","Status":"Statusas","Storage":"Saugojimo aplankas","Streets":"Gatvės","Subject":"Tema","Submit":"Pateikti","Successfully activated":"Sėkmingai suaktyvinta","Successfully Connected":"Sėkmingai prijungtas","Successfully deleted":"Sėkmingai ištrintas","Successfully verified":"Sėkmingai patvirtinta","Super Admin":"Super administratorius","Support for additional services, like Google Drive, will be added over time.":"Papildomų paslaugų, pavyzdžiui, \"Google Drive\", palaikymas bus pridėtas laikui bėgant.","Support Our Mission":"Palaikykite mūsų misiją","Sync":"Sinchronizavimas","Sync raw and video files":"Sinchronizuokite neapdorotus ir vaizdo failus","Taken":"Paimta","Teal":"Teal","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"\"TensorFlow\" reikalingas vaizdų klasifikavimui, veido atpažinimui ir nesaugaus turinio aptikimui.","Terrain":"Vietovė","Text":"Tekstas","Text too long":"Per ilgas tekstas","Thank You for Your Support!":"Ačiū už paramą!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Todėl \"PhotoPrism\" buvo sukurta nuo pat pradžių, kad veiktų ten, kur jums reikia, nesumažinant laisvės, privatumo ar funkcionalumo.","The index currently contains %{n} hidden files.":"Šiuo metu rodyklėje yra %{n} paslėptų failų.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Jų formatas gali būti nepalaikomas, jos dar nebuvo konvertuotos į JPEG arba yra dublikatų.","Theme":"Tema","This field is required":"Šis laukas yra privalomas","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Taip aplankas \"Originals\" prijungiamas kaip tinklo diskas ir galite atidaryti, redaguoti ir ištrinti failus iš kompiuterio ar išmaniojo telefono taip, tarsi jie būtų vietiniai.","Time UTC":"Laikas UTC","Time Zone":"Laiko juosta","Timeout":"Laiko juosta","Title":{"Account":"Pavadinimas","Photo":"Pavadinimas","":"Pavadinimas"},"Title / Position":"Per ilga antraštė","Title too long":"Per ilga antraštė","to":"į","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Jei nenorite prisijungti prie paskyros, atsisiųskite, atsispausdinkite arba nukopijuokite šį atkūrimo kodą dabar ir laikykite jį saugioje vietoje.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Norėdami sugeneruoti naują konkrečios programos slaptažodį, įveskite programos pavadinimą, prieigos teisę ir pasirinkite galiojimo datą:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Norėdami pereiti prie naujos autentifikavimo programos ar įrenginio, pirmiausia išjunkite dviejų veiksnių autentifikavimą ir vėl suaktyvinkite:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Norėdami atnaujinti, galite įvesti aktyvavimo kodą arba spustelėti \"Registruotis\" ir užsiregistruoti mūsų svetainėje:","Today":"Šiandien","Toggle View":"Perjungti vaizdą","Token":"Žetonas","Too many files selected":"Pasirinkta per daug failų","Too many requests":"Per daug prašymų","Troubleshooting":"Trikčių šalinimas","Try again using other filters or keywords.":"Bandykite dar kartą naudoti kitus filtrus arba raktinius žodžius.","Two-factor authentication has been enabled for your account.":"Jūsų paskyroje įgalintas dviejų veiksnių autentifikavimas.","Type":"Tipas","Unauthorized":"Neteisėtas","Undo":"Panaikinti","Unique ID":"Unikalus ID","Unknown":"Nežinomas","Unregistered":"Neregistruotas","Unsorted":"Nerūšiuota","Unstack":"Atlaisvinkite","Updated":"Atnaujinta","Updating faces":"Veidų atnaujinimas","Updating index":"Indekso atnaujinimas","Updating moments":"Akimirkų atnaujinimas","Updating picture…":"Peržiūrų atnaujinimas","Updating previews":"Peržiūrų atnaujinimas","Updating stacks":"Kaminų atnaujinimas","Upgrade":"Atnaujinti","Upgrade Now":"Atnaujinti dabar","Upload":"Įkelti","Upload complete":"Įkėlimas baigtas","Upload complete. Indexing…":"Įkėlimas baigtas. Indeksavimas…","Upload failed":"Įkelti nepavyko","Upload local files":"Įkelti vietinius failus","Upload Path":"Įkėlimo kelias","Upload to WebDAV and share links with friends.":"Įkelkite į WebDAV ir bendrinkite nuorodas su draugais.","Uploading %{n} of %{t}…":"Įkeliama %{n} iš %{t}…","Uploading photos…":"Nuotraukų įkėlimas…","Uploading…":"Perkrovimas…","Uploads that may contain such images will be rejected automatically.":"Siunčiami vaizdai, kuriuose gali būti tokių vaizdų, bus automatiškai atmesti.","Use Presets":"Naudokite išankstinius nustatymus","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Jei negalite sugeneruoti galiojančio patvirtinimo kodo naudodami autentifikavimo programą, naudokite šį atkūrimo kodą, kad pasiektumėte paskyrą:","Use your recovery code or contact an administrator for help.":"Naudokite atkūrimo kodą arba kreipkitės pagalbos į administratorių.","User":"Vartotojas","User Guide":"Naudotojo vadovas","User Interface":"Vartotojo sąsaja","Username":"Vartotojo vardas","Users":"Vartotojai","Vector":"Vektorius","Vectors":"Vektoriai","Verification Code":"Patvirtinimo kodas","Video":"Vaizdo įrašas","Video Duration":"Dovanos","Videos":"Vaizdo įrašai","View":"Peržiūrėti","View search results as a list.":"Peržiūrėkite paieškos rezultatus kaip sąrašą.","Viewer":"Peržiūrėtojas","Visitor":"Lankytojas","Visual Similarity":"Grupuokite pagal panašumą","Warning":"Įspėjimas","We appreciate your feedback!":"Vertiname jūsų atsiliepimus!","We do our best to respond within five business days or less.":"Stengiamės atsakyti per penkias darbo dienas ar greičiau.","Web Login":"Prisijungimas internetu","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"WebDAV klientai gali prisijungti prie \"PhotoPrism\" naudodami šį URL adresą:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"„WebDAV“ klientai, tokie kaip „Microsoft“ „Windows Explorer“ arba „Apple Finder“, gali prisijungti tiesiogiai prie „PhotoPrism“.","WebDAV Upload":"WebDAV įkėlimas","WebGL support is disabled in your browser":"Naršyklėje išjungtas \"WebGL\" palaikymas","Website":"Svetainė","White":"Balta","Work Details":"Detalės","Year":"Metai","Yellow":"Geltona","Yes":"Taip","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Kviečiame susisiekti su mumis el. paštu membership@photoprism.app ir užduoti klausimus, susijusius su naryste.","You can only download one album":"Galite atsisiųsti tik vieną albumą","You can only download one label":"Galite atsisiųsti tik vieną etiketę","You can upload up to %{n} files for test purposes.":"Bandymo tikslais galite įkelti iki %{n} failų.","You may only select one item":"Galite pasirinkti tik vieną elementą","You may rescan your library to find additional faces.":"Norėdami rasti papildomų veidų, galite iš naujo nuskaityti savo biblioteką.","Your account has been successfully connected.":"Jūsų paskyra sėkmingai prijungta.","Your browser does not support WebGL":"Jūsų naršyklė nepalaiko WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Jūsų nuolatinė parama padeda mums reguliariai teikti atnaujinimus ir tokias paslaugas kaip pasaulio žemėlapiai.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Jūsų biblioteka nuolat analizuojama, kad būtų galima automatiškai kurti ypatingų akimirkų, kelionių ir vietų albumus.","Zoom in/out":"Priartinimas / atitolinimas"}} \ No newline at end of file +{"lt":{"{0} appended action":"{0} pridėtas veiksmas","{0} files":"{0} failų","{0} files ({1} in total)":"{0} failų (iš viso {1})","{0} more":"{0} daugiau","{0} prepended action":"{0} iš anksto pridėtas veiksmas","{0} selected":"{0} pasirinkta","{0}-{1} of {2}":"{0}-{1} iš {2}","%{n} albums found":"%{n} rasti albumai","%{n} files uploaded":"%{n} įkelti failai","%{n} folders found":"rasta %{n} aplankų","%{n} GB of %{q} GB used":"%{n} GB iš %{q} GB panaudota","%{n} labels found":"rasta %{n} etikečių","%{n} people found":"rasta %{n} žmonių","%{n} pictures found":"rasta %{n} paveikslėlių","%{s} is too long":"%{s} yra per ilgas","%{s} is too short":"%{s} yra per trumpas","1 hour":"1 val.","12 hours":"12 valandų","2-Factor Authentication":"2 veiksnių autentiškumo nustatymas","2FA":"2FA","4 hours":"4 valandos","A click will copy it to your clipboard.":"Paspaudę jį nukopijuosite į iškarpinę.","A new version of %{s} is available:":"Pasirodė nauja %{s} versija:","About":"Apie","Access Token":"Prieigos žetonas","Account":"Sąskaita","Account created":"Sukurta paskyra","Account deleted":"Ištrinta paskyra","Account restored":"Atkurta paskyra","Accounts":"Sąskaitos","Accuracy":"Tikslumas","Action":"Veiksmas","Actions":"Veiksmai","Activate":"Suaktyvinti","Activate to remove sorting.":"Aktyvuokite, kad pašalintumėte rūšiavimą.","Activate to sort ascending.":"Aktyvuokite, kad rūšiuotumėte didėjančia tvarka.","Activate to sort descending.":"Aktyvuokite, jei norite rūšiuoti mažėjančia tvarka.","Activation Code":"Aktyvinimo kodas","Add":"Pridėti","Add %{s}?":"Pridėti %{vardas}?","Add Account":"Redaguoti paskyrą","Add Album":"Pridėti albumą","Add files to your library via Web Upload.":"Pridėkite failų į savo biblioteką naudodami \"Web Upload\".","Add Link":"Pridėti nuorodą","Add person?":"Pridėti asmenį?","Add pictures from search results by selecting them.":"Pridėkite nuotraukas iš paieškos rezultatų jas pasirinkdami.","Add to album":"Pridėti į albumą","Added":"Pridėta","Adjust Location":"Sureguliuokite vietą","Admin":"Administratorius","Advanced":"Išplėstinė","After 1 day":"Po 1 dienos","After 3 days":"Po 3 dienų","After 7 days":"Po 7 dienų","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Įvedę slaptažodį patvirtinimui, galite nustatyti dviejų veiksnių autentifikavimą naudodami suderinamą autentifikavimo programą arba įrenginį:","After one month":"Po vieno mėnesio","After one year":"Po vienerių metų","After selecting pictures from search results, you can add them to an album using the context menu.":"Pasirinkę nuotraukas iš paieškos rezultatų, galite jas įtraukti į albumą naudodami kontekstinį meniu.","After two months":"Po dviejų mėnesių","After two weeks":"Po dviejų savaičių","Album":"Albumas","Album Backups":"Albumo atsarginės kopijos","Album created":"Sukurtas albumas","Album deleted":"Ištrintas albumas","Albums":"Albumai","Albums deleted":"Ištrinti albumai","All":"Visi","All %{n} albums loaded":"Įkelti visi %{n} albumai","All %{n} labels loaded":"Įkeltos visos %{n} etiketės","All %{n} people loaded":"Įkelti visi %{n} žmonės","All Cameras":"Visi fotoaparatai","All Categories":"Visos kategorijos","All Colors":"Visos spalvos","All Countries":"Visos šalys","All fields are required":"Visi laukai yra privalomi","All files from import folder":"Visi failai iš importo aplanko","All Lenses":"Visi objektyvai","All Months":"Visi mėnesiai","All originals":"Visi originalai","All Years":"Visi metai","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Taip pat galite įkelti failus tiesiai į WebDAV serverius, pvz., \"Nextcloud\".","Altitude":"Aukštis","Altitude (m)":"Aukštis (m)","AM":"AM","Animated":"Animuota","Animation":"Animacija","Animations":"Animacija","Any private photos and videos remain private and won't be shared.":"Visos privačios nuotraukos ir vaizdo įrašai išlieka privatūs ir jais nebus dalijamasi.","API Key":"API raktas","Application":"Paraiška","Apply":"Taikyti","Approve":"Patvirtinti","Apps and Devices":"Programėlės ir įrenginiai","Archive":"Archyvas","Archived":"Archyvuota","Are you sure you want to archive the selection?":"Ar tikrai norite archyvuoti pasirinkimą?","Are you sure you want to delete these albums?":"Ar tikrai norite ištrinti šiuos albumus?","Are you sure you want to delete these labels?":"Ar tikrai norite ištrinti šias etiketes?","Are you sure you want to delete this account?":"Ar tikrai norite ištrinti šią paskyrą?","Are you sure you want to delete this album?":"Ar tikrai norite ištrinti šį albumą?","Are you sure you want to permanently delete these pictures?":"Ar tikrai norite visam laikui ištrinti šias nuotraukas?","Are you sure you want to permanently delete this file?":"Ar tikrai norite visam laikui ištrinti šį failą?","Are you sure?":"Ar esate tikri?","Artist":"Menininkas","Aspect Ratio":"Kraštinių santykis","Audio":"Garso","Authentication":"Autentiškumo nustatymas","Auto":"Automatinis","Back":"Atgal","Back to top":"Grįžti į viršų","Backup":"Atsarginė kopija","Badge":"Ženkliukas","Base Path":"Bazinis kelias","Become a member today, support our mission and enjoy our member benefits!":"Tapkite nariu šiandien, paremkite mūsų misiją ir naudokitės nario privilegijomis!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Kadangi esame 100 % savarankiškai finansuojami ir nepriklausomi, galime pažadėti, kad niekada neparduosime jūsų duomenų ir visada skaidriai informuosime apie savo programinę įrangą ir paslaugas.","Bio":"Bio","Birth Date":"Gimimo data","Black":"Juoda","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Lanczos Modifikacija,Mažiau Žiedinių Artefaktų","Blue":"Mėlyna","Brown":"Ruda","Browse":"Naršykite","Browse and edit image classification labels.":"Naršykite ir redaguokite vaizdų klasifikavimo etiketes.","Browse and share your pictures organized into monthly albums.":"Naršykite ir bendrinkite nuotraukas, suskirstytas į mėnesio albumus.","Browse Files":"Naršyti failus","Browse indexed files and folders in Library.":"Naršykite po bibliotekos indeksuotus failus ir aplankus.","Bug Report":"Pranešimas apie klaidą","Busy, please wait…":"Užimtas, palaukite…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Naudodamiesi mūsų teikiama programine įranga ir paslaugomis, sutinkate su mūsų paslaugų teikimo sąlygomis, privatumo politika ir elgesio kodeksu.","Calendar":"Kalendorius","Camera":"Fotoaparatas","Camera Serial":"Kameros serijinis","Can't access your authenticator app or device?":"Negalite prisijungti prie autentifikatoriaus programos arba įrenginio?","Can't load more, limit reached":"Negalima įkelti daugiau, pasiekta riba","Can't select more items":"Negalima pasirinkti daugiau elementų","Cancel":"Atšaukti","Cannot copy to clipboard":"Negalima kopijuoti į iškarpinę","Caption":"Antraštė","Cards":"Kortelės","Carousel slide {0} of {1}":"Karuselinė skaidrė {0} iš {1}","Category":"Kategorija","Change Avatar":"Keisti privačią vėliavą","Change Password":"Naujas slaptažodis","Change personal profile and security settings.":"Keisti asmeninio profilio ir saugumo nustatymus.","Change photo titles, locations, and other metadata.":"Keiskite nuotraukų pavadinimus, vietas ir kitus metaduomenis.","Change private flag":"Keisti privačią vėliavą","Changes could not be saved":"Pakeitimų nepavyko išsaugoti","Changes successfully saved":"Pakeitimai sėkmingai išsaugoti","Changes to the advanced settings require a restart to take effect.":"Norint, kad išplėstinių nustatymų pakeitimai įsigaliotų, juos reikia paleisti iš naujo.","Checked":"Patikrinta","Chroma":"Chroma","Cleaning index and cache":"Indekso ir talpyklos valymas","Cleanup":"Valymas","Clear {0}":"Išvalyti {0}","Client":"Klientas","Client Credentials":"Kliento įgaliojimai","Close":"Uždaryti","Codec":"Kodekas","Color":"Spalva","Color Profile":"Spalvų profilis","Colors":"Spalvos","Compare Editions":"Palyginti leidimus","Complete Rescan":"Visiškas pakartotinis nuskaitymas","Confidence":"Konfidencialu","Confirm":"Patvirtinti","Connect":"Prisijungti","Connect via WebDAV":"Prisijungimas per WebDAV","Connected":"Prisijungti","Contact Details":"Susisiekite su mumis","Contact Us":"Susisiekite su mumis","Contains %{n} pictures.":"Sudėtyje yra %{n} paveikslėlių.","Contains one picture.":"Yra vienas paveikslėlis.","Content":"Turinys","Continue":"Tęsti","Continue with %{provider}":"Tęsti su %{provider}","Contributor":"Pateikėjas","Converting":"Konvertuojama","Copied to clipboard":"Nukopijuota į iškarpinę","Copy":"Kopijuoti","Copyright":"Autorinės teisės","Couldn't find anything.":"Nepavyko nieko rasti.","Country":"Šalis","Create Account":"Sukurti paskyrą","Create album":"Sukurti albumą","Create regular backups based on the configured schedule.":"Kurkite indekso atsargines kopijas pagal sukonfigūruotą tvarkaraštį.","Create YAML files to back up album metadata.":"Sukurkite YAML failus albumo metaduomenims kurti.","Create YAML sidecar files to back up picture metadata.":"Sukurkite YAML šalutinius failus paveikslėlių metaduomenims kurti.","Created":"Sukurta","Creating thumbnails for":"Miniatiūrų kūrimas","Cubic: Moderate Quality, Good Performance":"Kubinis: Vidutinė kokybė, geras našumas","Current Password":"Dabartinis slaptažodis","Custom":"Pasirinktinis","Cyan":"Žydra","Daily":"Kasdien","Database Backups":"Duomenų bazės atsarginės kopijos","Day":"Diena","Deactivate":"Išjungti","Debug Logs":"Derinimo žurnalai","Default":"Numatytoji","Default Folder":"Numatytasis aplankas","Delete":"Ištrinti","Delete Album":"Ištrinti albumą","Delete All":"Ištrinti viską","Delete all?":"Ištrinti viską?","Delete orphaned index entries, sidecar files and thumbnails.":"Ištrinkite našlaičių indekso įrašus, šalutinius failus ir miniatiūras.","Description":"Aprašymas","Detailed instructions can be found in our User Guide.":"Išsamias instrukcijas rasite mūsų naudotojo vadove.","Details":"Detalės","Dimensions":"Matmenys","Disable Backups":"Išjungti atsargines kopijas","Disable Darktable":"Išjungti \"Darktable","Disable ExifTool":"Išjungti \"ExifTool","Disable features that require write permission for the originals folder.":"Išjunkite funkcijas, kurioms reikia originalų aplanko rašymo leidimo.","Disable FFmpeg":"Išjungti \"FFmpeg","Disable ImageMagick":"Išjungti \"ImageMagick","Disable interactive world maps and reverse geocoding.":"Išjunkite interaktyvius pasaulio žemėlapius ir atvirkštinį geokodavimą.","Disable Places":"Išjungti vietas","Disable RawTherapee":"Išjungti \"RawTherapee","Disable TensorFlow":"Išjungti \"TensorFlow","Disable Vectors":"Išjungti vektorius","Disable WebDAV":"Išjungti WebDAV","Disables vector graphics support.":"Išjungia vektorinės grafikos palaikymą.","Disables video transcoding and thumbnail extraction.":"Išjungiamas vaizdo perkodavimas ir miniatiūrų išskyrimas.","Discover":"Atraskite","Dismiss":"Atmesti","Display Name":"Rodomas vardas","Display picture captions in search results.":"Paieškos rezultatuose rodykite paveikslėlių antraštes.","Display picture titles in search results.":"Paieškos rezultatuose rodyti paveikslėlių pavadinimus.","Document":"Dokumentas","Documents":"Dokumentai","Don't use Darktable to convert RAW images.":"Nenaudokite \"Darktable\" RAW failams konvertuoti.","Don't use ImageMagick to convert images.":"Nenaudokite ImageMagick vaizdams konvertuoti.","Don't use RawTherapee to convert RAW images.":"Nenaudokite \"RawTherapee\" RAW failams konvertuoti.","Done":"Atlikta","Done.":"Atlikta.","Download":"Atsisiųsti","Download only original media files, without any automatically generated files.":"Atsisiųskite tik originalius medijos failus be jokių automatiškai sukurtų failų.","Download remote files":"Atsisiųsti nuotolinius failus","Download single files and zip archives.":"Atsisiųskite atskirus failus ir zip archyvus.","Downloading…":"Atsisiuntimas…","Downscaling Filter":"Mažinimo filtras","Drag and drop files here":"Vilkite ir meskite failus čia","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"Dėl didelio gaunamų el. laiškų kiekio mūsų komanda gali nepavykti iš karto su jumis susisiekti.","Duplicates will be skipped and only appear once.":"Dublikatai bus praleisti ir rodomi tik vieną kartą.","Duration":"Dovanos","Dynamic Previews":"Dinaminės peržiūros","Dynamic Size Limit: %{n}px":"Dinaminio dydžio riba: %{n}px","E-Mail":"El. paštas","Edit":"Redaguoti","Edit %{s}":"Redaguoti %{pavadinimas}","Edit Account":"Redaguoti paskyrą","Edit Photo":"Redaguoti nuotrauką","Edited":"Redaguota","Email":"El. paštas","Enable debug mode to display additional logs and help with troubleshooting.":"Įjunkite derinimo režimą, kad būtų rodomi papildomi žurnalai ir padedama šalinti triktis.","Enable new features that may be incomplete or unstable.":"įgalinti naujas funkcijas, kurios gali būti neišbaigtos arba nestabilios.","Enables RAW converter presets. May reduce performance.":"Įjungiamos RAW konverterio išankstinės nuostatos. Gali sumažinti našumą.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Dviejų veiksnių autentifikavimo įjungimas reiškia, kad norint prisijungti, jums reikės atsitiktinai sugeneruoto patvirtinimo kodo, todėl net jei kas nors gaus prieigą prie jūsų slaptažodžio, jis negalės pasiekti jūsų paskyros.","Enter date":"Įveskite datą","Enter dates":"Įveskite datas","Enter the code generated by your authenticator app:":"Įveskite autentifikatoriaus programėlės sugeneruotą kodą:","Enter verification code":"Įveskite patvirtinimo kodą","Enter your password to confirm the action and continue:":"Įveskite slaptažodį, kad patvirtintumėte veiksmą ir tęstumėte:","Error":"Klaida","Errors":"Klaidos","Estimate":"Apskaičiuokite","Estimate Locations":"Apytikrės vietos","Estimate the approximate location of pictures without GPS coordinates.":"Apytiksliai įvertinkite nuotraukų vietą be GPS koordinačių.","Every two days":"Kas dvi dienas","Exclude content marked as private from search results, shared albums, labels, and places.":"Neįtraukti turinio, pažymėto kaip privataus, į paieškos rezultatus, bendrinamus albumus, etiketes ir vietas.","Exclude hidden":"Neįtraukti paslėptų","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"Kad būtų palaikomi visi vaizdo įrašai, tiesioginės nuotraukos ir XMP, reikia ištraukti metaduomenis su \"ExifTool\".","Experimental Features":"Eksperimentinės funkcijos","Expires":"Galioja iki","Exposure":"Ekspozicija","Extract still images and generate thumbnails while indexing.":"Ištraukite nejudančius vaizdus ir indeksuodami generuokite miniatiūras.","F Number":"F skaičius","Face":"Veidas","Faces":"Veidai","Failed removing link":"Nepavyko pašalinti nuorodos","Failed to connect account.":"Nepavyko prisijungti prie paskyros.","Failed updating link":"Nepavyko atnaujinti nuorodos","Family Name":"Šeimos pavadinimas","Fast":"Greitai","Favorite":"Mėgstamiausias","Favorites":"Mėgstamiausi","Feature Request":"Funkcijos prašymas","Feedback":"Atsiliepimai","Female":"Moteris","File":"Failas","File Browser":"Failų naršyklė","File Conversion":"Failų konvertavimas","File Name":"Failas","File Size":"Failas","Filename":"Failas","Files":"Failai","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Failai su nuosekliais pavadinimais, pavyzdžiui, 'IMG_1234 (2)' ir 'IMG_1234 (3)', priklauso tai pačiai nuotraukai.","First page":"Pirmas puslapis","Focal Length":"Židinio nuotolis","Folder":"Aplankas","Folder contains %{n} files":"Aplankale yra %{n} failų","Folder is empty":"Aplankas tuščias","Folders":"Aplankalai","Forgot password?":"Pamiršote slaptažodį?","FPS":"FPS","Frames":"Kadrai","Full Access":"Pilna prieiga","Fullscreen":"Viso ekrano","General":"Bendra","Generate":"Generuoti","Generate albums of special moments, journeys, and places.":"Automatiškai sukuria ypatingų akimirkų, kelionių ir vietų albumus.","Generate Previews":"Generuoti peržiūras","Generated":"Sukurta","Get Started":"Pradėkite","Given Name":"Originalus pavadinimas","Global Options":"Visuotinės parinktys","Go to page {0}":"Eiti į puslapį {0}","Gold":"Auksinis","Green":"Žalioji","Grey":"Pilka","Guest":"Svečias","Hash":"Hash","Help":"Pagalba","Help & Support":"Paramos gavimas","Hidden":"Paslėptas","Hidden Files":"Paslėpti failai","Hide":"Paslėpti","Hide photos that have been moved to archive.":"Paslėpti nuotraukas, kurios buvo perkeltos į archyvą.","High":"Aukštas","High Dynamic Range (HDR)":"Didelis dinaminis diapazonas (HDR)","How can we help?":"Kaip galime padėti?","Hybrid":"Hibridinis","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Jei prarasite prieigą prie autentifikavimo programos ar įrenginio, galite naudoti atkūrimo kodą, kad atgautumėte prieigą prie paskyros.","Image":"Vaizdas","Image Quality":"Vaizdo kokybė","Import":"Importas","Import failed":"Importuoti nepavyko","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Importuoti failai bus surūšiuoti pagal datą ir jiems bus suteiktas unikalus pavadinimas, kad būtų išvengta pasikartojimų.","Imported files will be sorted by date and given a unique name.":"Importuoti failai bus surūšiuoti pagal datą ir jiems bus suteiktas unikalus pavadinimas.","Importing %{s}…":"Importuojame %{pavadinimas}…","Importing files to originals…":"Failų importavimas į originalus…","in":"svetainėje","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"Jei trūksta nuotraukų, kurių tikėjotės, iš naujo nuskaitykite savo biblioteką ir palaukite, kol bus baigtas indeksavimas.","Include RAW image files when downloading stacks and archives.":"Atsisiunčiant stekus ir archyvus įtraukite RAW vaizdų failus.","Include sidecar files when downloading stacks and archives.":"Atsisiunčiant stekus ir archyvus įtraukti šalutinius failus.","Increase storage size or delete files to continue.":"Norėdami tęsti, padidinkite saugyklos dydį arba ištrinkite failus.","Index":"Indeksas","Index and import files through the user interface.":"Indeksuokite ir importuokite failus per naudotojo sąsają.","Indexing":"Indeksavimas","Indexing failed":"Indeksavimas nepavyko","Indexing media and sidecar files…":"Medijos ir šalutinių failų indeksavimas…","Information":"Informacija","Instance ID":"Atvejo ID","Insufficient storage.":"Nepakankama saugykla.","Interval":"Intervalas","Invalid":"Neteisinga data","Invalid address":"Neteisingas adresas","Invalid country":"Netinkama šalis","Invalid date":"Neteisinga data","Invalid parameters":"Neteisinga data","Invalid photo selected":"Pasirinkta netinkama nuotrauka","Invalid time":"Netinkamas laikas","Invalid URL":"Netinkamas URL adresas","It is a one-time use code that will disable 2FA for your account when you use it.":"Tai vienkartinis kodas, kuris išjungs 2FA jūsų paskyroje, kai ją naudosite.","Item":"Prekė","Items per page:":"Viename puslapyje esantys elementai:","JPEG Quality: %{n}":"JPEG kokybė: %{n}","JPEG Size Limit: %{n}px":"JPEG dydžio riba: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"JPEG ir miniatiūros prireikus atvaizduojamos automatiškai.","Keywords":"Raktiniai žodžiai","Label":"Etiketė","Labels":"Etiketės","Labels deleted":"Ištrintos etiketės","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: detalių išsaugojimas, minimalūs artefaktai","Language":"Kalba","Last Active":"Paskutinis aktyvus","Last Login":"Paskutinis prisijungimas","Last page":"Paskutinis puslapis","Last Sync":"Sinchronizavimas","Last Used":"Paskutinis naudotas","Latitude":"Platuma","LDAP/AD":"LDAP/AD","Learn more":"Sužinokite daugiau","Learn More":"Sužinokite daugiau","Legal Information":"Teisinė informacija","Lens":"Objektyvas","Library":"Biblioteka","License":"Licencija","Like":"Kaip","Lime":"Lime","Limit reached, showing first %{n} files":"Limitas pasiektas, rodomi pirmieji %{n} failai","Linear: Very Smooth, Best Performance":"Linijinis: Labai sklandus, geriausias našumas","Link":"Nuoroda","List":"Sąrašas","List View":"Sąrašo rodinys","Live":"Gyvai","Live Photos":"Nuotraukos","Load more":"Įkelti daugiau","Loading items...":"Įkeliami elementai...","Loading...":"Pakraunama...","Local":"Vietinis","Local Time":"Vietinis laikas","Location":"Vieta","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Žurnalo pranešimai čia rodomi, kai \"PhotoPrism\" susiduria su sugadintais failais arba kitomis galimomis problemomis.","Login":"Prisijungimas","Logout":"Atsijungimas","Logs":"Žurnalai","Longitude":"Ilguma","Low":"Žema","Magenta":"Magenta","Main Color":"Pagrindinė spalva","Male":"Vyras","Manage Account":"Tvarkyti paskyrą","Manager":"Vadybininkas","Manual":"Rankinis","Manual Upload":"Įkėlimas rankiniu būdu","Maps":"Žemėlapiai","Marker":"Žymeklis","Maximum number of accounts has been reached.":"Pasiektas maksimalus paskyrų skaičius.","Media":"Žiniasklaida","Medium":"Vidutinis","Membership":"Narystė","Merge %{a} with %{b}?":"Sujungti %{a} su %{b}?","Message":"Žinutė","Message sent":"Išsiųsta žinutė","Metadata":"Metaduomenys","Metrics":"Metrika","Minimize":"Sumažinkite","Missing":"Trūksta","Missing or invalid configuration":"Trūksta konfigūracijos arba ji negalioja","Moments":"Akimirkos","Monochrome":"Vienspalvis","Month":"Mėnuo","More options":"Daugiau galimybių","Mosaic":"Mozaika","Most Relevant":"Aktualiausia","Move Files":"Failų perkėlimas","Must have at least %{n} characters.":"Ne mažiau kaip 6 ženklai.","Mute":"Nutildyti","Name":"Pavadinimas","Name too long":"Per ilgas vardas","Never":"Niekada","New":"Naujas","New Password":"Naujas slaptažodis","Newest First":"Naujausias pirmas","Next":"Kitas","Next page":"Kitas puslapis","Next visual":"Kitas vaizdas","No":"Ne","No albums found":"Albumų nerasta","No data available":"Duomenų nėra","No labels found":"Etikečių nerasta","No matching records found":"Nerastas nė vienas tinkamas įrašas","No more":"Ne daugiau","No people found":"Žmonių nerasta","No pictures found":"Paveikslėlių nerasta","No recently edited pictures":"Nėra neseniai redaguotų nuotraukų","No results":"Rezultatų nėra","No server connection":"Nėra ryšio su serveriu","No servers configured.":"Nėra sukonfigūruotų serverių.","No services configured.":"Nėra sukonfigūruotų serverių.","No thanks":"Ne, ačiū","No warnings or error containing this keyword. Note that search is case-sensitive.":"Jokių įspėjimų ar klaidų su šiuo raktažodžiu nėra. Atkreipkite dėmesį, kad paieška priklauso nuo mažųjų ir didžiųjų raidžių.","Non-photographic and low-quality images require a review before they appear in search results.":"Prieš rodant nefotografuotus ir prastos kokybės vaizdus paieškos rezultatuose, juos reikia peržiūrėti.","None":"Nėra","Not allowed":"Neleidžiama","Not found":"Nerasta","Not sorted.":"Neišrūšiuota.","Not supported":"Nepalaikoma","Note you may manually manage your originals folder and importing is optional.":"Atkreipkite dėmesį, kad originalų aplanką galite tvarkyti rankiniu būdu, o importuoti neprivaloma.","Note:":"Pastaba:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Pastaba: Tik WebDAV serverius, pavyzdžiui, \"Nextcloud\" arba \"PhotoPrism\", galima konfigūruoti kaip nuotolinę atsarginių kopijų kūrimo ir failų įkėlimo paslaugą.","Notes":"Pastabos","Nothing to see here yet.":"Kol kas čia nieko nematyti. Būkite kantrūs.","Nothing was found.":"Nieko nerasta.","Offline":"Neprisijungus prie interneto","OIDC":"OIDC","OK":"GERAI","Oldest First":"Seniausias pirmas","On Windows, enter the following resource in the connection dialog:":"\"Windows\" sistemoje prisijungimo dialogo lange įveskite šiuos išteklius:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"Miniatiūrų generavimas pagal pareikalavimą gali būti susijęs su dideliu procesoriaus ir atminties naudojimu. Nerekomenduojama naudoti serveriuose ir NAS įrenginiuose, kurių ištekliai yra riboti.","Once a week":"Kartą per savaitę","One album found":"Rastas vienas albumas","One file found":"Rastas vienas failas","One file uploaded":"Įkeltas vienas failas","One folder found":"Rastas vienas aplankas","One label found":"Viena rasta etiketė","One person found":"Vienas asmuo rado","One picture found":"Vienas rastas paveikslėlis","Only locally managed accounts can be set up for authentication with 2FA.":"Tik vietoje valdomose paskyrose galima nustatyti autentifikavimą naudojant 2FA.","Open":"Atviras","optional":"pasirinktinai","or":"arba","Orange":"Oranžinė","Organization":"Orientavimasis","Orientation":"Orientavimasis","Original file names will be stored and indexed.":"Originalūs failų pavadinimai bus saugomi ir indeksuojami.","Original Name":"Originalus pavadinimas","Originals":"Originalai","Other":"Kita","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Mūsų misija - pateikti vartotojui patogiausią ir privatumą užtikrinantį sprendimą, kad nuotraukos būtų tvarkingos ir prieinamos.","Outdoor":"Lauko","Page {0}, Current page":"Puslapis {0}, Dabartinis puslapis","Pages":"Puslapiai","Pagination Navigation":"Tinklalapių navigacija","Panorama":"Panorama","Panoramas":"Panoramos","Password":"Slaptažodis","Password changed":"Pakeistas slaptažodis","People":"Žmonės","People you share a link with will be able to view public contents.":"Žmonės, su kuriais bendrinate nuorodą, galės peržiūrėti viešą turinį.","Permanently deleted":"Visam laikui ištrintas","Permanently remove files to free up storage.":"Visam laikui pašalinkite failus, kad atlaisvintumėte saugyklą.","Person":"Asmuo","Personal":"Asmeninis","Photo":"Nuotrauka","PhotoPrism is 100% self-funded and independent.":"\"PhotoPrism\" yra 100 % savarankiškai finansuojama ir nepriklausoma.","PhotoPrism+ Membership":"\"PhotoPrism+\" narystė","Photos":"Nuotraukos","Picture Title":"Paveikslėlio pavadinimas","Pink":"Rožinis","Place":"Vieta","Place & Time":"Vieta & amp; laikas","Places":"Vietos","Please confirm your new password.":"Patvirtinkite naująjį slaptažodį.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Nukopijuokite šį atsitiktinai sugeneruotą programos slaptažodį ir laikykite jį saugioje vietoje, nes nebegalėsite jo matyti:","Please do not upload any private, unlawful or offensive pictures.":"Neįkelkite jokių privačių, neteisėtų ar įžeidžiančių nuotraukų.","Please don't upload photos containing offensive content.":"Neįkelkite nuotraukų, kuriose yra įžeidžiančio turinio.","Please enter OTP character {0}":"Įveskite OTP simbolį {0}","Please note that changing your password will log you out on other devices and browsers.":"Atkreipkite dėmesį, kad pakeitę slaptažodį atsijungsite kituose įrenginiuose ir naršyklėse.","Please restart your instance for the changes to take effect.":"Kad pakeitimai įsigaliotų, iš naujo paleiskite savo instanciją.","Please wait…":"Palaukite…","PM":"PREMJERAS","PNG Size Limit: %{n}px":"PNG dydžio riba: %{n}px","Portrait":"Portretas","Preserve filenames":"Išsaugoti failų pavadinimus","Press enter to create a new album.":"Paspauskite Enter, kad sukurtumėte naują albumą.","Prevent database and album backups as well as YAML sidecar files from being created.":"Užkirskite kelią duomenų bazių ir albumų atsarginių kopijų bei YAML šalutinių failų kūrimui.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Neleiskite kitoms programoms pasiekti \"PhotoPrism\" kaip bendrinamąjį tinklo diską.","Preview":"Peržiūra","Preview Images":"Peržiūros vaizdai","Previous":"Ankstesnis","Previous page":"Ankstesnis puslapis","Previous visual":"Ankstesnis vaizdinis","Primary":"Pagrindinis","Private":"Privatus","Product Feedback":"Atsiliepimai apie produktą","Projection":"Projekcija","Purple":"Violetinė","Quality Filter":"Kokybės filtras","Quality Score":"Kokybės balas","r":"r","Random":"Atsitiktinis","Rating {0} of {1}":"Įvertinimas {0} iš {1}","Raw":"Neapdorotas","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Iš naujo indeksuokite visus originalus, įskaitant jau indeksuotus ir nepakeistus failus.","Read-Only Mode":"Tik skaitymo režimas","Recently Added":"Neseniai pridėta","Recently Archived":"Neseniai archyvuota","Recently Edited":"Neseniai redaguotas","Recognition starts after indexing has been completed.":"Atpažinimas pradedamas baigus indeksavimą.","Recognize faces so people can be assigned and found.":"atpažįsta veidus, kad būtų galima rasti konkrečius žmones.","Recognized":"Pripažintas","Recovery Code":"Atkūrimo kodas","Red":"Raudona","Refresh":"Atnaujinti","Regions":"Regionai","Register":"Registruotis","Reload":"Perkrauti","Reloading…":"Perkrovimas…","Remote Sync":"Nuotolinis sinchronizavimas","Remove":"Pašalinti","remove failed: unknown album":"pašalinti nepavyko: nežinomas albumas","Remove from Album":"Pašalinti iš albumo","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Pašalinkite importuotus failus, kad sutaupytumėte saugyklą. Nepalaikomi failų tipai niekada nebus ištrinti, jie liks savo dabartinėje vietoje.","Request failed - are you offline?":"Užklausa nepavyko - ar esate neprisijungęs?","Request failed - invalid response":"Užklausa nepavyko - neteisingas atsakymas","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Reikalauti, kad nefotografuoti ir prastos kokybės vaizdai būtų peržiūrimi prieš juos rodant paieškos rezultatuose.","Resolution":"Rezoliucija","Restart":"Iš naujo paleiskite","Restore":"Atkurti","Restored":"Atkurtas","Retry Limit":"Pakartojimo limitas","Retype Password":"Pakartokite slaptažodį","Review":"Peržiūrėkite","Role":"Vaidmuo","Rows per page:":"Eilutės puslapyje:","Satellite":"Palydovas","Save":"Išsaugoti","Scan":"Skenuoti","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Nuskaitykite QR kodą naudodami autentifikavimo programą arba naudokite toliau pateiktą sąrankos raktą ir įveskite sugeneruotą patvirtinimo kodą:","Scans":"Skenuoja","Scope":"Apimtis","Search":"Paieška","Search and display photos on a map.":"Ieškokite ir rodykite nuotraukas žemėlapyje.","Season":"Sezonas","Secret":"Paslaptis","Security and Access":"Saugumas ir prieiga","Select":"Pasirinkite","Select a source folder to import files…":"Pasirinkite šaltinio aplanką, į kurį norite importuoti failus…","Select date":"Pasirinkite datą","Select dates":"Pasirinkite datas","Select or create an album":"Pasirinkite arba sukurkite albumą","Select the files to upload…":"Pasirinkite failus, kuriuos norite įkelti…","Select the folder to be indexed…":"Pasirinkite indeksuojamą aplanką…","Select Time":"Pasirinkite laiką","Selection approved":"Patvirtinta atranka","Selection archived":"Atranka archyvuota","Selection restored":"Atkurta atranka","Sequential Name":"Sekvencinis pavadinimas","Service URL":"Paslaugos URL","Services":"Paslaugos URL","Session":"Sesija","Session ID":"Sesijos ID","Sessions":"Sesijos","Set as Album Cover":"Nustatyti kaip albumo viršelį","Settings":"Nustatymai","Settings saved":"Išsaugoti nustatymai","Setup":"Sąranka","Share":"Dalytis","Share %{s}":"Dalintis %{pavadinimas}","Share your pictures with other apps and services.":"bendrinkite nuotraukas su kitomis programomis ir paslaugomis.","Show":"Rodyti","Show all new faces":"Rodyti visus naujus veidus","Show Captions":"Rodyti antraštes","Show hidden":"Rodyti paslėptus","Show less":"Rodyti mažiau","Show more":"Rodyti daugiau","Show server logs in Library.":"Rodyti serverio žurnalus bibliotekoje.","Show Titles":"Rodyti pavadinimus","Sidecar":"Sidecar","Sidecar Files":"\"Sidecar\" failai","Sign in":"Prisijunkite","Similar":"Panašiai","Size":"Dydis","Slideshow":"Skaidrės","Slow":"Lėtas","Software":"Programinė įranga","Software Update":"Programinės įrangos atnaujinimas","Something went wrong, try again":"Kažkas nepavyko, bandykite dar kartą","Sort by":"Rūšiuoti pagal","Sort Order":"Rūšiavimo tvarka","Sorted ascending.":"Rūšiuojama didėjančia tvarka.","Sorted descending.":"Rūšiuojama mažėjančia tvarka.","Source":"Šaltinis","Stack":"Stack","Stack files sharing the same unique image or instance identifier.":"Sukaupti failus, turinčius tą patį unikalų atvaizdo arba egzemplioriaus identifikatorių.","Stack pictures taken at the exact same time and location based on their metadata.":"Sudėkite nuotraukas, padarytas tuo pačiu laiku ir toje pačioje vietoje, remdamiesi jų metaduomenimis.","Stackable":"Sukraunamas","Stacks":"Komodos","Start":"Pradžia","Start Page":"Pradinis puslapis","Static Size Limit: %{n}px":"Statinio dydžio riba: %{n}px","Status":"Statusas","Storage":"Saugojimo aplankas","Streets":"Gatvės","Subject":"Tema","Submit":"Pateikti","Successfully activated":"Sėkmingai suaktyvinta","Successfully Connected":"Sėkmingai prijungtas","Successfully deleted":"Sėkmingai ištrintas","Successfully verified":"Sėkmingai patvirtinta","Super Admin":"Super administratorius","Support for additional services, like Google Drive, will be added over time.":"Papildomų paslaugų, pavyzdžiui, \"Google Drive\", palaikymas bus pridėtas laikui bėgant.","Support Our Mission":"Palaikykite mūsų misiją","Sync":"Sinchronizavimas","Sync raw and video files":"Sinchronizuokite neapdorotus ir vaizdo failus","Taken":"Paimta","Teal":"Teal","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"\"TensorFlow\" reikalingas vaizdų klasifikavimui, veido atpažinimui ir nesaugaus turinio aptikimui.","Terrain":"Vietovė","Text":"Tekstas","Text too long":"Per ilgas tekstas","Thank You for Your Support!":"Ačiū už paramą!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Todėl \"PhotoPrism\" buvo sukurta nuo pat pradžių, kad veiktų ten, kur jums reikia, nesumažinant laisvės, privatumo ar funkcionalumo.","The index currently contains %{n} hidden files.":"Šiuo metu rodyklėje yra %{n} paslėptų failų.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Jų formatas gali būti nepalaikomas, jos dar nebuvo konvertuotos į JPEG arba yra dublikatų.","Theme":"Tema","This field is required":"Šis laukas yra privalomas","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Taip aplankas \"Originals\" prijungiamas kaip tinklo diskas ir galite atidaryti, redaguoti ir ištrinti failus iš kompiuterio ar išmaniojo telefono taip, tarsi jie būtų vietiniai.","Time UTC":"Laikas UTC","Time Zone":"Laiko juosta","Timeout":"Laiko juosta","Title":{"Account":"Pavadinimas","Photo":"Pavadinimas","":"Pavadinimas"},"Title / Position":"Per ilga antraštė","Title too long":"Per ilga antraštė","to":"į","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Jei nenorite prisijungti prie paskyros, atsisiųskite, atsispausdinkite arba nukopijuokite šį atkūrimo kodą dabar ir laikykite jį saugioje vietoje.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Norėdami sugeneruoti naują konkrečios programos slaptažodį, įveskite programos pavadinimą, prieigos teisę ir pasirinkite galiojimo datą:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Norėdami pereiti prie naujos autentifikavimo programos ar įrenginio, pirmiausia išjunkite dviejų veiksnių autentifikavimą ir vėl suaktyvinkite:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Norėdami atnaujinti, galite įvesti aktyvavimo kodą arba spustelėti \"Registruotis\" ir užsiregistruoti mūsų svetainėje:","Today":"Šiandien","Toggle View":"Perjungti vaizdą","Token":"Žetonas","Too many files selected":"Pasirinkta per daug failų","Too many requests":"Per daug prašymų","Troubleshooting":"Trikčių šalinimas","Try again using other filters or keywords.":"Bandykite dar kartą naudoti kitus filtrus arba raktinius žodžius.","Two-factor authentication has been enabled for your account.":"Jūsų paskyroje įgalintas dviejų veiksnių autentifikavimas.","Type":"Tipas","Unable to delete":"Nepavyksta ištrinti","Unauthorized":"Neteisėtas","Undo":"Panaikinti","Unique ID":"Unikalus ID","Unknown":"Nežinomas","Unregistered":"Neregistruotas","Unsorted":"Nerūšiuota","Unstack":"Atlaisvinkite","Updated":"Atnaujinta","Updating faces":"Veidų atnaujinimas","Updating index":"Indekso atnaujinimas","Updating moments":"Akimirkų atnaujinimas","Updating picture…":"Peržiūrų atnaujinimas","Updating previews":"Peržiūrų atnaujinimas","Updating stacks":"Kaminų atnaujinimas","Upgrade":"Atnaujinti","Upgrade Now":"Atnaujinti dabar","Upload":"Įkelti","Upload complete":"Įkėlimas baigtas","Upload complete. Indexing…":"Įkėlimas baigtas. Indeksavimas…","Upload failed":"Įkelti nepavyko","Upload local files":"Įkelti vietinius failus","Upload Path":"Įkėlimo kelias","Upload to WebDAV and share links with friends.":"Įkelkite į WebDAV ir bendrinkite nuorodas su draugais.","Uploading %{n} of %{t}…":"Įkeliama %{n} iš %{t}…","Uploading photos…":"Nuotraukų įkėlimas…","Uploading…":"Perkrovimas…","Uploads that may contain such images will be rejected automatically.":"Siunčiami vaizdai, kuriuose gali būti tokių vaizdų, bus automatiškai atmesti.","Use Presets":"Naudokite išankstinius nustatymus","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Jei negalite sugeneruoti galiojančio patvirtinimo kodo naudodami autentifikavimo programą, naudokite šį atkūrimo kodą, kad pasiektumėte paskyrą:","Use your recovery code or contact an administrator for help.":"Naudokite atkūrimo kodą arba kreipkitės pagalbos į administratorių.","User":"Vartotojas","User Guide":"Naudotojo vadovas","User Interface":"Vartotojo sąsaja","Username":"Vartotojo vardas","Users":"Vartotojai","Vector":"Vektorius","Vectors":"Vektoriai","Verification Code":"Patvirtinimo kodas","Video":"Vaizdo įrašas","Video Duration":"Dovanos","Videos":"Vaizdo įrašai","View":"Peržiūrėti","View search results as a list.":"Peržiūrėkite paieškos rezultatus kaip sąrašą.","Viewer":"Peržiūrėtojas","Visitor":"Lankytojas","Visual Similarity":"Grupuokite pagal panašumą","Warning":"Įspėjimas","We appreciate your feedback!":"Vertiname jūsų atsiliepimus!","We do our best to respond within five business days or less.":"Stengiamės atsakyti per penkias darbo dienas ar greičiau.","Web Login":"Prisijungimas internetu","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"WebDAV klientai gali prisijungti prie \"PhotoPrism\" naudodami šį URL adresą:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"„WebDAV“ klientai, tokie kaip „Microsoft“ „Windows Explorer“ arba „Apple Finder“, gali prisijungti tiesiogiai prie „PhotoPrism“.","WebDAV Upload":"WebDAV įkėlimas","WebGL support is disabled in your browser":"Naršyklėje išjungtas \"WebGL\" palaikymas","Website":"Svetainė","White":"Balta","Work Details":"Detalės","Year":"Metai","Yellow":"Geltona","Yes":"Taip","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Kviečiame susisiekti su mumis el. paštu membership@photoprism.app ir užduoti klausimus, susijusius su naryste.","You can only download one album":"Galite atsisiųsti tik vieną albumą","You can only download one label":"Galite atsisiųsti tik vieną etiketę","You can search for a location or move the marker on the map to change the position:":"Galite ieškoti vietos arba perkelti žymeklį žemėlapyje, kad pakeistumėte vietą:","You can upload up to %{n} files for test purposes.":"Bandymo tikslais galite įkelti iki %{n} failų.","You may only select one item":"Galite pasirinkti tik vieną elementą","You may rescan your library to find additional faces.":"Norėdami rasti papildomų veidų, galite iš naujo nuskaityti savo biblioteką.","Your account has been successfully connected.":"Jūsų paskyra sėkmingai prijungta.","Your browser does not support WebGL":"Jūsų naršyklė nepalaiko WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Jūsų nuolatinė parama padeda mums reguliariai teikti atnaujinimus ir tokias paslaugas kaip pasaulio žemėlapiai.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Jūsų biblioteka nuolat analizuojama, kad būtų galima automatiškai kurti ypatingų akimirkų, kelionių ir vietų albumus.","Zoom in/out":"Priartinimas / atitolinimas"}} \ No newline at end of file diff --git a/frontend/src/locales/json/ms.json b/frontend/src/locales/json/ms.json index 44cc01dbc..892354dda 100644 --- a/frontend/src/locales/json/ms.json +++ b/frontend/src/locales/json/ms.json @@ -1 +1 @@ -{"ms":{"{0} appended action":"{0} menambahkan tindakan","{0} files":"{0} fail","{0} files ({1} in total)":"{0} fail ({1} kesemuanya)","{0} more":"{0} lagi","{0} prepended action":"{0} tindakan sedia ada","{0} selected":"{0} dipilih","{0}-{1} of {2}":"{0}-{1} daripada {2}","%{n} albums found":"%{n} album ditemui","%{n} files uploaded":"%{n} fail dimuat naik","%{n} folders found":"%{n} folder ditemui","%{n} GB of %{q} GB used":"%{n} GB daripada %{q} GB digunakan","%{n} labels found":"%{n} label ditemui","%{n} people found":"%{n} orang ditemui","%{n} pictures found":"%{n} gambar ditemui","%{s} is too long":"%{s} terlalu panjang","%{s} is too short":"%{s} terlalu pendek","1 hour":"1 jam","12 hours":"12 jam","2-Factor Authentication":"2-Faktor Pengesahan","2FA":"2FA","4 hours":"4 jam","A click will copy it to your clipboard.":"Satu klik akan menyalinnya ke papan klip anda.","A new version of %{s} is available:":"Versi baharu %{s} tersedia:","About":"Mengenai","Access Token":"Token akses","Account":"Akaun","Account created":"Akaun dibuat","Account deleted":"Akaun dipadamkan","Account restored":"Akaun dipulihkan","Accounts":"Akaun","Accuracy":"Ketepatan","Action":"Tindakan","Actions":"Tindakan","Activate":"Aktifkan","Activate to remove sorting.":"Aktifkan untuk mengalih keluar pengisihan.","Activate to sort ascending.":"Aktifkan untuk mengisih menaik.","Activate to sort descending.":"Aktifkan untuk mengisih menurun.","Activation Code":"Kod pengaktifan","Add":"Tambah","Add %{s}?":"Tambah %{s}?","Add Account":"Edit Akaun","Add Album":"Tambah Album","Add files to your library via Web Upload.":"Tambahkan fail ke pustaka anda melalui Muat Naik Web.","Add Link":"Tambah Pautan","Add person?":"Tambah orang?","Add pictures from search results by selecting them.":"Tambahkan gambar dengan memilihnya daripada hasil carian.","Add to album":"Tambah kepada album","Added":"Ditambah","Admin":"Admin","Advanced":"Lanjutan","After 1 day":"Selepas 1 hari","After 3 days":"Selepas 3 hari","After 7 days":"Selepas 7 hari","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Selepas memasukkan kata laluan anda untuk pengesahan, anda boleh menyediakan pengesahan dua faktor dengan apl atau peranti pengesah yang serasi:","After one month":"Selepas sebulan","After one year":"Selepas satu tahun","After selecting pictures from search results, you can add them to an album using the context menu.":"Selepas memilih gambar daripada hasil carian, anda boleh menambahkannya kepada album menggunakan menu konteks.","After two months":"Selepas dua bulan","After two weeks":"Selepas dua minggu","Album":"Album","Album Backups":"Sandaran Album","Album created":"Album dibuat","Albums":"Album","Albums deleted":"Album dipadamkan","All":"Semua","All %{n} albums loaded":"Semua %{n} album telah dimuatkan","All %{n} labels loaded":"Semua %{n} label telah dimuatkan","All %{n} people loaded":"Semua %{n} orang telah dimuatkan","All Cameras":"Semua Kamera","All Categories":"Semua Kategori","All Colors":"Semua Warna","All Countries":"Semua Negara","All fields are required":"Semua medan perlu diisikan","All files from import folder":"Semua fail daripada folder import","All Lenses":"Semua Kanta","All Months":"Semua Bulan","All originals":"Semua yang asal","All Years":"Semua Tahun","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Sebagai alternatif, anda boleh memuat naik fail terus ke pelayan WebDAV seperti Nextcloud.","Altitude":"Ketinggian","Altitude (m)":"Ketinggian (m)","AM":"pagi","Animated":"Beranimasi","Animation":"Animasi","Any private photos and videos remain private and won't be shared.":"Sebarang foto dan video peribadi kekal peribadi dan tidak akan dikongsi.","API Key":"Kekunci API","Application":"Permohonan","Apply":"Gunakan","Approve":"Terima","Apps and Devices":"Apl dan Peranti","Archive":"Arkib","Archived":"Diarkibkan","Are you sure you want to archive the selection?":"Adakah anda pasti mahu mengarkibkan pemilihan?","Are you sure you want to delete these albums?":"Adakah anda pasti mahu memadamkan album ini?","Are you sure you want to delete these labels?":"Adakah anda pasti mahu memadamkan label ini?","Are you sure you want to delete this account?":"Adakah anda pasti mahu memadamkan akaun ini?","Are you sure you want to permanently delete these pictures?":"Adakah anda pasti mahu memadamkan gambar ini secara kekal?","Are you sure you want to permanently delete this file?":"Adakah anda pasti mahu memadamkan fail ini secara kekal?","Are you sure?":"Adakah anda pasti?","Artist":"Artis","Aspect Ratio":"Nisbah aspek","Audio":"Audio","Authentication":"Pengesahan","Auto":"Auto","Back":"belakang","Back to top":"Kembali ke atas","Backup":"Sandaran","Badge":"Lencana","Base Path":"Laluan Pangkalan","Become a member today, support our mission and enjoy our member benefits!":"Jadi ahli hari ini, sokong misi kami dan nikmati faedah ahli kami!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Sebagai 100% dibiayai sendiri dan bebas, kami boleh berjanji kepada anda bahawa kami tidak akan menjual data anda dan kami akan sentiasa telus tentang perisian dan perkhidmatan kami.","Bio":"Bio","Birth Date":"Tarikh lahir","Black":"Hitam","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Modifikasi Lanczos, Kurang Artifak Deringan","Blue":"Biru","Brown":"Coklat","Browse":"Semak imbas","Browse and edit image classification labels.":"Semak imbas dan kemaskini label klasifikasi imej.","Browse and share your pictures organized into monthly albums.":"Semak imbas dan kongsi gambar anda yang disusun ke dalam album bulanan.","Browse Files":"Semak imbas Fail","Browse indexed files and folders in Library.":"Semak imbas fail dan folder yang telah diindeks dalam Perpustakaan.","Bug Report":"Laporan Pepijat","Busy, please wait…":"Tengah sibuk, sila tunggu…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Dengan menggunakan perisian dan perkhidmatan yang kami sediakan, anda bersetuju menerima syarat perkhidmatan, dasar privasi dan tatakelakuan kami.","Calendar":"Kalendar","Camera":"Kamera","Camera Serial":"Siri Kamera","Can't access your authenticator app or device?":"Tidak dapat mengakses apl atau peranti pengesah anda?","Can't load more, limit reached":"Tidak dapat memuatkan lagi, had dicapai","Can't select more items":"Tidak dapat memilih lebih banyak item","Cancel":"Batal","Caption":"Kapsyen","Cards":"Kad","Carousel slide {0} of {1}":"Slaid karusel {0} daripada {1}","Category":"Kategori","Change Avatar":"Tukar petanda peribadi","Change Password":"jauna parole","Change personal profile and security settings.":"Tukar profil peribadi dan tetapan keselamatan.","Change photo titles, locations, and other metadata.":"Tukar tajuk foto, lokasi dan metadata lain.","Change private flag":"Tukar petanda peribadi","Changes could not be saved":"Perubahan tidak dapat disimpan","Changes successfully saved":"Perubahan berjaya disimpan","Changes to the advanced settings require a restart to take effect.":"Perubahan pada tetapan lanjutan memerlukan mulakan semula untuk berkuat kuasa.","Checked":"Disemak","Chroma":"Chroma","Cleaning index and cache":"Membersihkan indeks dan cache","Cleanup":"Bersihkan","Clear {0}":"Kosongkan {0}","Client":"Pelanggan","Client Credentials":"Tauliah Pelanggan","Close":"Tutup","Codec":"Codec","Color":"Warna","Color Profile":"Profil Warna","Colors":"Warna","Compare Editions":"Bandingkan Edisi","Complete Rescan":"Selesaikan Imbasan Semula","Confidence":"Keyakinan","Confirm":"sahkan","Connect":"Sambung","Connect via WebDAV":"Sambung melalui WebDAV","Connected":"Sambung","Contact Details":"Hubungi Kami","Contact Us":"Hubungi Kami","Contains %{n} pictures.":"Mengandungi %{n} gambar.","Contains one picture.":"Mengandungi satu gambar.","Content":"kandungan","Continue":"teruskan","Continue with %{provider}":"Teruskan dengan %{provider}","Contributor":"Penyumbang","Converting":"Menukar","Copied to clipboard":"Disalin ke papan keratan","Copy":"Salinan","Copyright":"Hak Cipta","Couldn't find anything.":"Tidak dapat mencari apa-apa.","Country":"Negara","Create Account":"Buat akaun","Create album":"Buat album","Create regular backups based on the configured schedule.":"Buat sandaran indeks berdasarkan jadual yang dikonfigurasikan.","Create YAML files to back up album metadata.":"Cipta fail YAML untuk menyandarkan metadata album.","Create YAML sidecar files to back up picture metadata.":"Cipta fail sidecar YAML untuk menyandarkan metadata gambar.","Created":"Dicipta","Creating thumbnails for":"Mencipta lakaran kenit untuk","Cubic: Moderate Quality, Good Performance":"Cubic: Kualiti Sederhana, Prestasi Baik","Current Password":"Kata Laluan Semasa","Custom":"Adat","Cyan":"Cyan","Daily":"Setiap hari","Database Backups":"Sandaran Pangkalan Data","Day":"Hari","Deactivate":"Nyahaktifkan","Debug Logs":"Log Nyahpepijat","Default":"Lalai","Default Folder":"Folder Lalai","Delete":"Padam","Delete All":"Memadam semua","Delete all?":"Padam semua?","Delete orphaned index entries, sidecar files and thumbnails.":"Padamkan entri indeks yatim piatu, fail sidecar dan lakaran kecil.","Description":"Keterangan","Detailed instructions can be found in our User Guide.":"Arahan terperinci boleh didapati dalam Panduan Pengguna kami.","Details":"Perincian:","Dimensions":"Dimensi","Disable Backups":"Lumpuhkan Sandaran","Disable Darktable":"Lumpuhkan Darktable","Disable ExifTool":"Lumpuhkan ExifTool","Disable features that require write permission for the originals folder.":"Lumpuhkan ciri yang memerlukan kebenaran menulis untuk folder asal.","Disable FFmpeg":"Lumpuhkan FFmpeg","Disable ImageMagick":"Lumpuhkan ImageMagick","Disable interactive world maps and reverse geocoding.":"Lumpuhkan peta dunia interaktif dan pengekodan geo terbalik.","Disable Places":"Lumpuhkan Tempat","Disable RawTherapee":"Lumpuhkan RawTherapee","Disable TensorFlow":"Lumpuhkan TensorFlow","Disable Vectors":"Lumpuhkan Vektor","Disable WebDAV":"Lumpuhkan WebDAV","Disables vector graphics support.":"Melumpuhkan sokongan grafik vektor.","Disables video transcoding and thumbnail extraction.":"Melumpuhkan transkod video dan pengekstrakan lakaran kenit.","Discover":"Temui","Dismiss":"Tolak","Display Name":"Nama paparan","Display picture captions in search results.":"Paparkan kapsyen gambar dalam hasil carian.","Display picture titles in search results.":"Paparkan tajuk gambar dalam hasil carian.","Document":"Dokumen","Documents":"Dokumen","Don't use Darktable to convert RAW images.":"Jangan gunakan Darktable untuk menukar imej RAW.","Don't use ImageMagick to convert images.":"Jangan gunakan ImageMagick untuk menukar imej.","Don't use RawTherapee to convert RAW images.":"Jangan gunakan RawTherapee untuk menukar imej RAW.","Done":"Selesai","Done.":"Selesai.","Download":"Muat turun","Download only original media files, without any automatically generated files.":"Muat turun hanya fail media asal, tanpa sebarang fail yang dijana secara automatik.","Download remote files":"Muat turun fail jauh","Download single files and zip archives.":"Muat turun fail tunggal dan arkib zip.","Downloading…":"Memuat turun…","Downscaling Filter":"Penapis Penskalaan Rendah","Drag and drop files here":"Seret dan lepaskan fail di sini","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"Oleh kerana jumlah e-mel yang tinggi yang kami terima, pasukan kami mungkin tidak dapat menghubungi anda dengan segera.","Duplicates will be skipped and only appear once.":"Pendua akan dilangkau dan hanya muncul sekali.","Duration":"Tempoh","Dynamic Previews":"Pratonton Dinamik","Dynamic Size Limit: %{n}px":"Had Saiz Dinamik: %{n}px","E-Mail":"E-mel","Edit":"Edit","Edit %{s}":"Edit %{s}","Edit Account":"Edit Akaun","Edit Photo":"Edit Foto","Edited":"disunting","Email":"E-mel","Enable debug mode to display additional logs and help with troubleshooting.":"Dayakan mod nyahpepijat untuk memaparkan log tambahan dan membantu menyelesaikan masalah.","Enable new features that may be incomplete or unstable.":"Dayakan ciri baharu yang mungkin tidak lengkap atau tidak stabil.","Enables RAW converter presets. May reduce performance.":"Mendayakan pratetap penukar RAW. Boleh mengurangkan prestasi.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Mendayakan pengesahan dua faktor bermakna anda memerlukan kod pengesahan yang dijana secara rawak untuk log masuk, jadi walaupun seseorang mendapat akses kepada kata laluan anda, mereka tidak akan dapat mengakses akaun anda.","Enter date":"Masukkan tarikh","Enter dates":"Masukkan tarikh","Enter the code generated by your authenticator app:":"Masukkan kod yang dijana oleh apl pengesah anda:","Enter verification code":"Masukkan kod pengesahan","Enter your password to confirm the action and continue:":"Masukkan kata laluan anda untuk mengesahkan tindakan dan teruskan:","Error":"ralat","Errors":"Kesilapan","Estimate":"Anggaran","Estimate Locations":"Anggarkan Lokasi","Estimate the approximate location of pictures without GPS coordinates.":"Anggarkan anggaran lokasi gambar tanpa koordinat GPS.","Every two days":"Setiap dua hari","Exclude content marked as private from search results, shared albums, labels, and places.":"Kecualikan kandungan yang ditandai sebagai peribadi daripada hasil carian, album kongsi, label dan tempat.","Exclude hidden":"Kecualikan tersembunyi","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"Pengekstrakan metadata dengan ExifTool diperlukan untuk sokongan Video, Live Photo dan XMP penuh.","Experimental Features":"Ciri-ciri Eksperimen","Expires":"Luput","Exposure":"Dedahan","Extract still images and generate thumbnails while indexing.":"Ekstrak imej pegun dan hasilkan lakaran kecil semasa mengindeks.","F Number":"Nombor F","Face":"Wajah","Faces":"Muka","Failed removing link":"Gagal mengalih keluar pautan","Failed to connect account.":"Gagal menyambungkan akaun.","Failed updating link":"Gagal mengemas kini pautan","Family Name":"Nama keluarga","Fast":"Cepat","Favorite":"Kegemaran","Favorites":"Kegemaran","Feature Request":"Permintaan Ciri","Feedback":"Maklumbalas","Female":"perempuan","File":"Fail","File Browser":"Pelayar Fail","File Conversion":"Penukaran Fail","File Name":"Nama Fail","File Size":"Fail","Filename":"Nama Fail","Files":"Fail","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Fail dengan nama berjujukan seperti 'IMG_1234 (2)' dan 'IMG_1234 (3)' tergolong dalam gambar yang sama.","First page":"Muka surat pertama","Focal Length":"Panjang Fokus","Folder":"Folder","Folder contains %{n} files":"Folder mengandungi %{n} fail","Folder is empty":"Folder kosong","Folders":"Folders","Forgot password?":"Lupa kata laluan?","FPS":"FPS","Frames":"Bingkai","Full Access":"Akses penuh","Fullscreen":"Skrin Penuh","General":"Am","Generate":"Menjana","Generate albums of special moments, journeys, and places.":"Hasilkan album bagi detik-detik istimewa, lawatan dan tempat-tempat secara automatik.","Generate Previews":"Hasilkan Pratonton","Generated":"Dijana","Get Started":"Mulakan","Given Name":"Nama Asal","Global Options":"Pilihan Global","Go to page {0}":"Pergi ke halaman {0}","Gold":"emas","Green":"Hijau","Grey":"Kelabu","Guest":"tetamu","Hash":"Hash","Help":"Bantuan","Help & Support":"Mendapat Sokongan","Hidden":"Tersembunyi","Hidden Files":"Fail Tersembunyi","Hide":"Sembunyi","Hide photos that have been moved to archive.":"Sembunyikan foto yang telah dialihkan ke arkib.","High":"tinggi","High Dynamic Range (HDR)":"Julat Dinamik Tinggi (HDR)","How can we help?":"Bagaimana kami boleh membantu?","Hybrid":"Hibrid","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Jika anda kehilangan akses kepada apl atau peranti pengesah anda, anda boleh menggunakan kod pemulihan anda untuk mendapatkan semula akses kepada akaun anda.","Image":"Imej","Image Quality":"Kualiti gambar","Import":"Import","Import failed":"Pengimportan gagal","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Fail yang diimport akan diisih mengikut tarikh dan diberi nama unik untuk mengelakkan pendua.","Imported files will be sorted by date and given a unique name.":"Fail yang diimport akan diisih mengikut tarikh dan diberi nama yang unik.","Importing %{s}…":"Mengimport %{s}…","Importing files to originals…":"Mengimport fail ke asal…","in":"dalam","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"Sekiranya gambar yang anda jangkakan tiada, sila imbas semula pustaka anda dan tunggu sehingga pengindeksan telah selesai.","Include RAW image files when downloading stacks and archives.":"Sertakan fail imej RAW semasa memuat turun tindanan dan arkib.","Include sidecar files when downloading stacks and archives.":"Sertakan fail sidecar semasa memuat turun tindanan dan arkib.","Increase storage size or delete files to continue.":"Tingkatkan saiz storan atau padam fail untuk meneruskan.","Index":"Indeks","Index and import files through the user interface.":"Indeks dan import fail melalui antara muka pengguna.","Indexing":"Pengindeksan","Indexing failed":"Pengindeksan gagal","Indexing media and sidecar files…":"Mengindeks media dan fail sampingan…","Information":"Maklumat","Instance ID":"ID Contoh","Insufficient storage.":"Storan tidak mencukupi.","Interval":"Interval","Invalid":"Tarikh tidak sah","Invalid address":"Alamat tidak sah","Invalid country":"Negara tidak sah","Invalid date":"Tarikh tidak sah","Invalid parameters":"Tarikh tidak sah","Invalid photo selected":"Foto tidak sah dipilih","Invalid time":"Masa tidak sah","Invalid URL":"URL tidak sah","It is a one-time use code that will disable 2FA for your account when you use it.":"Ia adalah kod penggunaan sekali sahaja yang akan melumpuhkan 2FA untuk akaun anda apabila anda menggunakannya.","Item":"Item","Items per page:":"Item setiap halaman:","JPEG Quality: %{n}":"Kualiti JPEG: %{n}","JPEG Size Limit: %{n}px":"Had Saiz JPEG: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"JPEG dan lakaran kecil dipaparkan secara automatik mengikut keperluan.","Keywords":"Kata Kunci","Label":"Label","Labels":"Label","Labels deleted":"Label dipadamkan","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: Pemeliharaan Perincian, Artifak Minimum","Language":"Bahasa","Last Active":"Aktif Terakhir","Last Login":"Log masuk kali terakhir","Last page":"Muka surat terakhir","Last Sync":"Penyegerakan Terakhir","Last Used":"Kali terakhir digunakan","Latitude":"Latitud","LDAP/AD":"LDAP/AD","Learn more":"Ketahui lebih lanjut","Learn More":"Ketahui Lebih Lanjut","Legal Information":"Maklumat Undang-undang","Lens":"Lensa","Library":"Perpustakaan","License":"Lesen","Like":"Suka","Lime":"kapur","Limit reached, showing first %{n} files":"Had dicapai, menunjukkan %{n} fail pertama","Linear: Very Smooth, Best Performance":"Linear: Sangat Lancar, Prestasi Terbaik","Link":"Pautan","List":"Senarai","List View":"Paparan Senarai","Live":"Langsung","Live Photos":"Foto","Load more":"Muatkan lagi","Loading items...":"Memuatkan item...","Loading...":"Memuatkan...","Local":"Tempatan","Local Time":"Waktu Tempatan","Location":"Lokasi","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Mesej log dipaparkan di sini setiap kali PhotoPrism menjumpai fail yang rosak, atau terdapat isu lain yang berpotensi.","Login":"Log masuk","Logout":"Log keluar","Logs":"Log","Longitude":"Longitud","Low":"rendah","Magenta":"Magenta","Main Color":"Warna Utama","Male":"jantan","Manage Account":"Urus Akaun","Manual":"Manual","Manual Upload":"Muat Naik Manual","Maps":"Peta","Marker":"Penanda","Maximum number of accounts has been reached.":"Bilangan maksimum akaun telah dicapai.","Media":"Media","Medium":"Sederhana","Membership":"Keahlian","Merge %{a} with %{b}?":"Gabungkan %{a} dengan %{b}?","Message":"Mesej","Message sent":"Mesej telah dihantar","Metadata":"Metadata","Metrics":"Metrik","Minimize":"Minimum","Missing":"hilang","Missing or invalid configuration":"Konfigurasi tiada atau tidak sah","Moments":"Detik-detik","Monochrome":"Monokrom","Month":"Bulan","More options":"Lebih banyak pilihan","Mosaic":"Mozek","Most Relevant":"Paling relevan","Move Files":"Alihkan Fail","Must have at least %{n} characters.":"Mesti mempunyai sekurang-kurangnya %{n} aksara.","Mute":"bisu","Name":"Nama","Name too long":"Nama terlalu panjang","Never":"Tidak sesekali","New":"Baharu","New Password":"jauna parole","Newest First":"Terbaharu dahulu","Next":"Seterusnya","Next page":"Halaman seterusnya","Next visual":"Visual seterusnya","No":"Tidak","No albums found":"Tiada album ditemui","No data available":"Tiada data tersedia","No labels found":"Tiada label ditemui","No matching records found":"Tiada rekod yang sepadan ditemui","No more":"Tiada lagi","No people found":"Tiada orang ditemui","No pictures found":"Tiada gambar ditemui","No recently edited pictures":"Tiada gambar yang diedit baru-baru ini","No server connection":"Tiada sambungan pelayan","No servers configured.":"Tiada pelayan dikonfigurasikan.","No services configured.":"Tiada pelayan dikonfigurasikan.","No thanks":"Tidak, Terima kasih","No warnings or error containing this keyword. Note that search is case-sensitive.":"Tiada amaran atau ralat yang mengandungi kata kunci ini. Ambil perhatian bahawa carian adalah sensitif huruf besar-besaran.","Non-photographic and low-quality images require a review before they appear in search results.":"Imej bukan fotografi dan berkualiti rendah memerlukan semakan sebelum ia muncul dalam hasil carian.","None":"Tiada","Not allowed":"Tidak dibenarkan","Not found":"Tidak dijumpai","Not sorted.":"Tidak disusun.","Not supported":"Tidak disokong","Note you may manually manage your originals folder and importing is optional.":"Harap maklum bahawa anda boleh mengurus folder asal anda secara manual dan mengimport adalah pilihan.","Note:":"Nota:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Nota: Hanya pelayan WebDAV, seperti Nextcloud atau PhotoPrism, boleh dikonfigurasikan sebagai perkhidmatan jauh untuk sandaran dan muat naik fail.","Notes":"Nota-nota","Nothing to see here yet.":"Tiada apa yang boleh dilihat di sini. Bersabarlah.","Nothing was found.":"Tiada apa yang ditemui.","Offline":"Luar Talian","OIDC":"OIDC","OK":"OK","Oldest First":"Tertua dahulu","On Windows, enter the following resource in the connection dialog:":"Pada Windows, masukkan sumber berikut dalam dialog sambungan:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"Penjanaan lakaran kecil atas permintaan boleh menyebabkan penggunaan CPU dan memori yang tinggi. Ia tidak disyorkan untuk pelayan terhad sumber dan peranti NAS.","Once a week":"Sekali seminggu","One album found":"Satu album ditemui","One file found":"Satu fail ditemui","One file uploaded":"Satu fail dimuat naik","One folder found":"Satu folder ditemui","One label found":"Satu label ditemui","One person found":"Seorang ditemui","One picture found":"Satu gambar ditemui","Only locally managed accounts can be set up for authentication with 2FA.":"Hanya akaun yang diuruskan secara tempatan boleh disediakan untuk pengesahan dengan 2FA.","Open":"Buka","optional":"pilihan","or":"atau","Orange":"Jingga","Organization":"Orientasi","Orientation":"Orientasi","Original file names will be stored and indexed.":"Nama fail asal akan disimpan dan diindeks.","Original Name":"Nama Asal","Originals":"Asal","Other":"Lain-lain","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Misi kami adalah untuk menyediakan penyelesaian yang paling mesra pengguna dan privasi untuk memastikan gambar anda teratur dan boleh diakses.","Outdoor":"Luar","Page {0}, Current page":"Halaman {0}, Halaman semasa","Pages":"muka surat","Pagination Navigation":"Navigasi Penomboran","Panorama":"Panorama","Panoramas":"Panorama","Password":"Kata Laluan","Password changed":"Kata laluan ditukar","People":"Orang ramai","People you share a link with will be able to view public contents.":"Orang yang anda kongsikan pautan akan dapat melihat kandungan awam.","Permanently deleted":"Dipadamkan secara kekal","Permanently remove files to free up storage.":"Alih keluar fail secara kekal untuk mengosongkan storan.","Person":"Orang","Personal":"Peribadi","Photo":"Foto","PhotoPrism is 100% self-funded and independent.":"PhotoPrism adalah 100% dibiayai sendiri dan bebas.","PhotoPrism+ Membership":"Keahlian PhotoPrism+","Photos":"Foto","Picture Title":"Tajuk Gambar","Pink":"merah jambu","Place":"tempat","Place & Time":"Tempat & Masa","Places":"Tempat","Please confirm your new password.":"Sila sahkan kata laluan baharu anda.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Sila salin kata laluan apl yang dijana secara rawak berikut dan simpan di tempat yang selamat, kerana anda tidak akan dapat melihatnya lagi:","Please do not upload any private, unlawful or offensive pictures.":"Tolong jangan muat naik sebarang gambar peribadi, menyalahi undang-undang atau menyinggung perasaan.","Please don't upload photos containing offensive content.":"Tolong jangan muat naik foto yang mengandungi kandungan yang menyinggung perasaan.","Please enter OTP character {0}":"Sila masukkan aksara OTP {0}","Please note that changing your password will log you out on other devices and browsers.":"Sila ambil perhatian bahawa menukar kata laluan anda akan log keluar anda pada peranti dan penyemak imbas lain.","Please restart your instance for the changes to take effect.":"Sila mulakan semula contoh anda untuk perubahan berkuat kuasa.","Please wait…":"Sila tunggu…","PM":"PM","PNG Size Limit: %{n}px":"Had Saiz PNG: %{n}px","Portrait":"Potret","Preserve filenames":"Kekalkan nama fail","Press enter to create a new album.":"Tekan enter untuk mencipta album baharu.","Prevent database and album backups as well as YAML sidecar files from being created.":"Elakkan sandaran pangkalan data dan album serta fail sidecar YAML daripada dibuat.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Halang apl lain daripada mengakses PhotoPrism sebagai pemacu rangkaian kongsi.","Preview":"Pratonton","Preview Images":"Pratonton Imej","Previous":"Sebelumnya","Previous page":"Halaman sebelumnya","Previous visual":"Visual sebelumnya","Primary":"Utama","Private":"Sulit","Product Feedback":"Maklum Balas Produk","Projection":"Unjuran","Purple":"Ungu","Quality Filter":"Penapis Kualiti","Quality Score":"Skor Kualiti","r":"r","Random":"Rawak","Rating {0} of {1}":"Penilaian {0} daripada {1}","Raw":"mentah","RAW":"MENTAH","Re-index all originals, including already indexed and unchanged files.":"Indeks semula semua yang asal, termasuk fail yang telah diindeks dan tidak berubah.","Read-Only Mode":"Mod Baca Sahaja","Recently Added":"Baru sahaja ditambah","Recently Archived":"Diarkibkan Baru-baru ini","Recently Edited":"Baru-baru ini disunting","Recognition starts after indexing has been completed.":"Pengiktirafan bermula selepas pengindeksan telah selesai.","Recognize faces so people can be assigned and found.":"Mengenali wajah supaya orang tertentu boleh ditemui.","Recognized":"Dikenali","Recovery Code":"Kod Pemulihan","Red":"Merah","Refresh":"Segarkan semula","Regions":"kawasan","Register":"Daftar","Reload":"Muat Semula","Reloading…":"Memuatkan semula…","Remote Sync":"Penyegerakan Jauh","Remove":"Buang","remove failed: unknown album":"gagal mengalih keluar: album tidak diketahui","Remove from Album":"Alih keluar daripada album","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Alih keluar fail yang diimport untuk menjimatkan storan. Jenis fail yang tidak disokong tidak akan dipadamkan, ia kekal di lokasi semasanya.","Request failed - are you offline?":"Permintaan gagal - adakah anda di luar talian?","Request failed - invalid response":"Permintaan gagal - respons tidak sah","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Memerlukan imej bukan fotografi dan berkualiti rendah untuk disemak sebelum ia muncul dalam hasil carian.","Resolution":"Resolusi","Restart":"Mula semula","Restore":"Pulih","Restored":"Dipulihkan","Retry Limit":"Had Cuba Semula","Retype Password":"Tulis semula kata laluan","Review":"Tinjauan","Role":"Peranan","Rows per page:":"Baris setiap halaman:","Satellite":"Satelit","Save":"Simpan","Scan":"Imbas","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Imbas kod QR dengan apl pengesah anda atau gunakan kekunci persediaan yang ditunjukkan di bawah dan kemudian masukkan kod pengesahan yang dijana:","Scans":"Imbasan","Scope":"Skop","Search":"Gelintar","Search and display photos on a map.":"Cari dan paparkan foto pada peta.","Season":"musim","Secret":"Secret","Security and Access":"Keselamatan dan Akses","Select":"Pilih","Select a source folder to import files…":"Pilih folder sumber untuk mengimport fail…","Select date":"Pilih tarikh","Select dates":"Pilih tarikh","Select or create an album":"Pilih atau buat album","Select the files to upload…":"Pilih fail untuk dimuat naik…","Select the folder to be indexed…":"Pilih folder untuk diindeks…","Select Time":"Pilih Masa","Selection approved":"Pemilihan diluluskan","Selection archived":"Pemilihan diarkibkan","Selection restored":"Pemilihan dipulihkan","Sequential Name":"Nama Berurutan","Service URL":"URL perkhidmatan","Services":"URL perkhidmatan","Session":"Sesi","Session ID":"ID Sesi","Sessions":"Sesi","Set as Album Cover":"Tetapkan sebagai Kulit Album","Settings":"Tetapan","Settings saved":"Tetapan Disimpan","Setup":"Persediaan","Share":"Kongsi","Share %{s}":"Kongsi %{s}","Share your pictures with other apps and services.":"Kongsi gambar anda dengan apl dan perkhidmatan lain.","Show":"Papar","Show all new faces":"Tunjukkan semua muka baharu","Show Captions":"Tunjukkan Kapsyen","Show hidden":"Tunjukkan tersembunyi","Show less":"Tunjukkan lebih sedikit","Show more":"Tunjuk lebih banyak","Show server logs in Library.":"Tunjukkan log pelayan dalam Perpustakaan.","Show Titles":"Tajuk Tajuk","Sidecar":"Sidecar","Sidecar Files":"Fail Sidecar","Sign in":"Log masuk","Similar":"serupa","Size":"Saiz","Slideshow":"Tayangan slaid","Slow":"Lambat","Software":"Perisian","Software Update":"Kemas Kini Perisian","Something went wrong, try again":"Kesilapan telah berlaku, cuba lagi","Sort by":"Isih mengikut","Sort Order":"Aturan susunan","Sorted ascending.":"Diisih menaik.","Sorted descending.":"Diisih menurun.","Source":"Sumber","Stack":"Timbunan","Stack files sharing the same unique image or instance identifier.":"Tumpukan fail yang berkongsi imej unik atau pengecam contoh yang sama.","Stack pictures taken at the exact same time and location based on their metadata.":"Tumpukan gambar yang diambil pada masa dan lokasi yang sama berdasarkan metadatanya.","Stackable":"Boleh ditindan","Stacks":"tindanan","Start":"Mula","Start Page":"Halaman Mula","Static Size Limit: %{n}px":"Had Saiz Statik: %{n}px","Status":"Status","Storage":"Penyimpanan","Streets":"Jalan-jalan","Subject":"Subjek","Submit":"Hantar","Successfully activated":"Berjaya diaktifkan","Successfully Connected":"Berjaya Disambungkan","Successfully deleted":"Berjaya dipadamkan","Successfully verified":"Berjaya disahkan","Super Admin":"Super Admin","Support for additional services, like Google Drive, will be added over time.":"Sokongan untuk perkhidmatan tambahan, seperti Google Drive, akan ditambahkan dari semasa ke semasa.","Support Our Mission":"Sokong Misi Kami","Sync":"Segerak","Sync raw and video files":"Segerakkan fail mentah dan video","Taken":"diambil","Teal":"Teal","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow diperlukan untuk klasifikasi imej, pengecaman muka dan mengesan kandungan yang tidak selamat.","Terrain":"rupa bumi","Text":"Teks","Text too long":"Teks terlalu panjang","Thank You for Your Support!":"Terima kasih atas sokongan anda!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Itulah sebabnya PhotoPrism dibina dari bawah untuk dijalankan di mana sahaja anda memerlukannya, tanpa menjejaskan kebebasan, privasi atau kefungsian.","The index currently contains %{n} hidden files.":"Indeks pada masa ini mengandungi %{n} fail tersembunyi.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Format mereka mungkin tidak disokong, mereka belum ditukar kepada JPEG lagi atau terdapat pendua.","Theme":"Tema","This field is required":"Medan ini diperlukan","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Ini melekapkan folder asal sebagai pemacu rangkaian dan membolehkan anda membuka, mengedit dan memadam fail daripada komputer atau telefon pintar anda seolah-olah ia adalah tempatan.","Time UTC":"Masa UTC","Time Zone":"Zon masa","Timeout":"Masa tamat","Title":{"Account":"Tajuk","Photo":"Tajuk","":"Tajuk"},"Title / Position":"Tajuk terlalu panjang","Title too long":"Tajuk terlalu panjang","to":"kepada","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Untuk mengelak daripada dikunci daripada akaun anda, sila muat turun, cetak atau salin kod pemulihan ini sekarang dan simpan di tempat yang selamat.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Untuk menjana kata laluan khusus apl baharu, sila masukkan nama dan skop kebenaran aplikasi dan pilih tarikh tamat tempoh:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Untuk bertukar kepada apl atau peranti pengesah baharu, mula-mula nyahaktifkan pengesahan dua faktor dan kemudian aktifkannya semula:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Untuk menaik taraf, anda boleh sama ada memasukkan kod pengaktifan atau klik \"Daftar\" untuk mendaftar di tapak web kami:","Today":"Hari ini","Toggle View":"Togol Paparan","Token":"Token","Too many files selected":"Terlalu banyak fail dipilih","Too many requests":"Terlalu banyak permintaan","Troubleshooting":"Menyelesaikan masalah","Try again using other filters or keywords.":"Cuba lagi menggunakan penapis atau kata kunci lain.","Two-factor authentication has been enabled for your account.":"Pengesahan dua faktor telah didayakan untuk akaun anda.","Type":"Jenis","Unauthorized":"tanpa kebenaran","Undo":"Buat Asal","Unique ID":"ID unik","Unknown":"Tidak Diketahui","Unregistered":"Tidak berdaftar","Unsorted":"Tidak diisih","Unstack":"Nyahtindan","Updated":"dikemas kini","Updating faces":"Mengemas kini wajah","Updating index":"Mengemas kini indeks","Updating moments":"Mengemas kini detik","Updating picture…":"Mengemas kini pratonton","Updating previews":"Mengemas kini pratonton","Updating stacks":"Mengemas kini tindanan","Upgrade":"Naik taraf","Upgrade Now":"Menaiktaraf sekarang","Upload":"Muat naik","Upload complete":"Muat naik selesai","Upload complete. Indexing…":"Muat naik selesai. Pengindeksan…","Upload failed":"Muat naik gagal","Upload local files":"Muat naik fail tempatan","Upload Path":"Laluan Muat Naik","Upload to WebDAV and share links with friends.":"Muat naik ke WebDAV dan kongsi pautan dengan rakan.","Uploading %{n} of %{t}…":"Memuat naik %{n} daripada %{t}…","Uploading photos…":"Memuat naik foto…","Uploading…":"Memuatkan semula…","Uploads that may contain such images will be rejected automatically.":"Muat naik yang mungkin mengandungi imej sedemikian akan ditolak secara automatik.","Use Presets":"Gunakan Pratetap","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Gunakan kod pemulihan berikut untuk mengakses akaun anda apabila anda tidak dapat menjana kod pengesahan yang sah dengan apl pengesah anda:","Use your recovery code or contact an administrator for help.":"Gunakan kod pemulihan anda atau hubungi pentadbir untuk mendapatkan bantuan.","User":"Pengguna","User Guide":"Panduan pengguna","User Interface":"Antara Muka Pengguna","Username":"Nama Pengguna","Users":"Pengguna","Vector":"vektor","Vectors":"vektor","Verification Code":"Kod pengesahan","Video":"Video","Video Duration":"Tempoh","Videos":"Video","View":"Lihat","View search results as a list.":"Lihat hasil carian sebagai senarai.","Viewer":"Penonton","Visitor":"Pelawat","Visual Similarity":"Kumpulan mengikut persamaan","Warning":"Amaran","We appreciate your feedback!":"Kami menghargai maklumbalas anda!","We do our best to respond within five business days or less.":"Kami melakukan yang terbaik untuk membalas dalam tempoh lima hari perniagaan atau kurang.","Web Login":"Log Masuk Web","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"Pelanggan WebDAV boleh menyambung ke PhotoPrism menggunakan URL berikut:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"Pelanggan WebDAV, seperti Microsoft Windows Explorer atau Apple's Finder, boleh menyambung terus ke PhotoPrism.","WebDAV Upload":"Muat Naik WebDAV","WebGL support is disabled in your browser":"Sokongan WebGL dilumpuhkan dalam penyemak imbas anda","Website":"laman web","White":"Putih","Work Details":"Perincian:","Year":"Viti","Yellow":"Kuning","Yes":"Ya","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Anda dialu-alukan untuk menghubungi kami di membership@photoprism.app untuk pertanyaan mengenai keahlian anda.","You can only download one album":"Anda hanya boleh memuat turun satu album","You can only download one label":"Anda hanya boleh memuat turun satu label","You can upload up to %{n} files for test purposes.":"Anda boleh memuat naik sehingga %{n} fail untuk tujuan ujian.","You may only select one item":"Anda hanya boleh memilih satu item","You may rescan your library to find additional faces.":"Anda boleh mengimbas semula pustaka anda untuk mencari wajah tambahan.","Your account has been successfully connected.":"Akaun anda telah berjaya disambungkan.","Your browser does not support WebGL":"Penyemak imbas anda tidak menyokong WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Sokongan berterusan anda membantu kami menyediakan kemas kini dan perkhidmatan tetap seperti peta dunia.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Pustaka anda dianalisis secara berterusan untuk mencipta album detik, perjalanan dan tempat istimewa secara automatik.","Zoom in/out":"Zum masuk/keluar"}} \ No newline at end of file +{"ms":{"{0} appended action":"{0} menambahkan tindakan","{0} files":"{0} fail","{0} files ({1} in total)":"{0} fail ({1} kesemuanya)","{0} more":"{0} lagi","{0} prepended action":"{0} tindakan sedia ada","{0} selected":"{0} dipilih","{0}-{1} of {2}":"{0}-{1} daripada {2}","%{n} albums found":"%{n} album ditemui","%{n} files uploaded":"%{n} fail dimuat naik","%{n} folders found":"%{n} folder ditemui","%{n} GB of %{q} GB used":"%{n} GB daripada %{q} GB digunakan","%{n} labels found":"%{n} label ditemui","%{n} people found":"%{n} orang ditemui","%{n} pictures found":"%{n} gambar ditemui","%{s} is too long":"%{s} terlalu panjang","%{s} is too short":"%{s} terlalu pendek","1 hour":"1 jam","12 hours":"12 jam","2-Factor Authentication":"2-Faktor Pengesahan","2FA":"2FA","4 hours":"4 jam","A click will copy it to your clipboard.":"Satu klik akan menyalinnya ke papan klip anda.","A new version of %{s} is available:":"Versi baharu %{s} tersedia:","About":"Mengenai","Access Token":"Token akses","Account":"Akaun","Account created":"Akaun dibuat","Account deleted":"Akaun dipadamkan","Account restored":"Akaun dipulihkan","Accounts":"Akaun","Accuracy":"Ketepatan","Action":"Tindakan","Actions":"Tindakan","Activate":"Aktifkan","Activate to remove sorting.":"Aktifkan untuk mengalih keluar pengisihan.","Activate to sort ascending.":"Aktifkan untuk mengisih menaik.","Activate to sort descending.":"Aktifkan untuk mengisih menurun.","Activation Code":"Kod pengaktifan","Add":"Tambah","Add %{s}?":"Tambah %{s}?","Add Account":"Edit Akaun","Add Album":"Tambah Album","Add files to your library via Web Upload.":"Tambahkan fail ke pustaka anda melalui Muat Naik Web.","Add Link":"Tambah Pautan","Add person?":"Tambah orang?","Add pictures from search results by selecting them.":"Tambahkan gambar dengan memilihnya daripada hasil carian.","Add to album":"Tambah kepada album","Added":"Ditambah","Adjust Location":"Laraskan Lokasi","Admin":"Admin","Advanced":"Lanjutan","After 1 day":"Selepas 1 hari","After 3 days":"Selepas 3 hari","After 7 days":"Selepas 7 hari","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Selepas memasukkan kata laluan anda untuk pengesahan, anda boleh menyediakan pengesahan dua faktor dengan apl atau peranti pengesah yang serasi:","After one month":"Selepas sebulan","After one year":"Selepas satu tahun","After selecting pictures from search results, you can add them to an album using the context menu.":"Selepas memilih gambar daripada hasil carian, anda boleh menambahkannya kepada album menggunakan menu konteks.","After two months":"Selepas dua bulan","After two weeks":"Selepas dua minggu","Album":"Album","Album Backups":"Sandaran Album","Album created":"Album dibuat","Album deleted":"Album dipadamkan","Albums":"Album","Albums deleted":"Album dipadamkan","All":"Semua","All %{n} albums loaded":"Semua %{n} album telah dimuatkan","All %{n} labels loaded":"Semua %{n} label telah dimuatkan","All %{n} people loaded":"Semua %{n} orang telah dimuatkan","All Cameras":"Semua Kamera","All Categories":"Semua Kategori","All Colors":"Semua Warna","All Countries":"Semua Negara","All fields are required":"Semua medan perlu diisikan","All files from import folder":"Semua fail daripada folder import","All Lenses":"Semua Kanta","All Months":"Semua Bulan","All originals":"Semua yang asal","All Years":"Semua Tahun","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Sebagai alternatif, anda boleh memuat naik fail terus ke pelayan WebDAV seperti Nextcloud.","Altitude":"Ketinggian","Altitude (m)":"Ketinggian (m)","AM":"pagi","Animated":"Beranimasi","Animation":"Animasi","Animations":"Animasi","Any private photos and videos remain private and won't be shared.":"Sebarang foto dan video peribadi kekal peribadi dan tidak akan dikongsi.","API Key":"Kekunci API","Application":"Permohonan","Apply":"Gunakan","Approve":"Terima","Apps and Devices":"Apl dan Peranti","Archive":"Arkib","Archived":"Diarkibkan","Are you sure you want to archive the selection?":"Adakah anda pasti mahu mengarkibkan pemilihan?","Are you sure you want to delete these albums?":"Adakah anda pasti mahu memadamkan album ini?","Are you sure you want to delete these labels?":"Adakah anda pasti mahu memadamkan label ini?","Are you sure you want to delete this account?":"Adakah anda pasti mahu memadamkan akaun ini?","Are you sure you want to delete this album?":"Adakah anda pasti mahu memadamkan album ini?","Are you sure you want to permanently delete these pictures?":"Adakah anda pasti mahu memadamkan gambar ini secara kekal?","Are you sure you want to permanently delete this file?":"Adakah anda pasti mahu memadamkan fail ini secara kekal?","Are you sure?":"Adakah anda pasti?","Artist":"Artis","Aspect Ratio":"Nisbah aspek","Audio":"Audio","Authentication":"Pengesahan","Auto":"Auto","Back":"belakang","Back to top":"Kembali ke atas","Backup":"Sandaran","Badge":"Lencana","Base Path":"Laluan Pangkalan","Become a member today, support our mission and enjoy our member benefits!":"Jadi ahli hari ini, sokong misi kami dan nikmati faedah ahli kami!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Sebagai 100% dibiayai sendiri dan bebas, kami boleh berjanji kepada anda bahawa kami tidak akan menjual data anda dan kami akan sentiasa telus tentang perisian dan perkhidmatan kami.","Bio":"Bio","Birth Date":"Tarikh lahir","Black":"Hitam","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Modifikasi Lanczos, Kurang Artifak Deringan","Blue":"Biru","Brown":"Coklat","Browse":"Semak imbas","Browse and edit image classification labels.":"Semak imbas dan kemaskini label klasifikasi imej.","Browse and share your pictures organized into monthly albums.":"Semak imbas dan kongsi gambar anda yang disusun ke dalam album bulanan.","Browse Files":"Semak imbas Fail","Browse indexed files and folders in Library.":"Semak imbas fail dan folder yang telah diindeks dalam Perpustakaan.","Bug Report":"Laporan Pepijat","Busy, please wait…":"Tengah sibuk, sila tunggu…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Dengan menggunakan perisian dan perkhidmatan yang kami sediakan, anda bersetuju menerima syarat perkhidmatan, dasar privasi dan tatakelakuan kami.","Calendar":"Kalendar","Camera":"Kamera","Camera Serial":"Siri Kamera","Can't access your authenticator app or device?":"Tidak dapat mengakses apl atau peranti pengesah anda?","Can't load more, limit reached":"Tidak dapat memuatkan lagi, had dicapai","Can't select more items":"Tidak dapat memilih lebih banyak item","Cancel":"Batal","Cannot copy to clipboard":"Tidak boleh menyalin ke papan keratan","Caption":"Kapsyen","Cards":"Kad","Carousel slide {0} of {1}":"Slaid karusel {0} daripada {1}","Category":"Kategori","Change Avatar":"Tukar petanda peribadi","Change Password":"jauna parole","Change personal profile and security settings.":"Tukar profil peribadi dan tetapan keselamatan.","Change photo titles, locations, and other metadata.":"Tukar tajuk foto, lokasi dan metadata lain.","Change private flag":"Tukar petanda peribadi","Changes could not be saved":"Perubahan tidak dapat disimpan","Changes successfully saved":"Perubahan berjaya disimpan","Changes to the advanced settings require a restart to take effect.":"Perubahan pada tetapan lanjutan memerlukan mulakan semula untuk berkuat kuasa.","Checked":"Disemak","Chroma":"Chroma","Cleaning index and cache":"Membersihkan indeks dan cache","Cleanup":"Bersihkan","Clear {0}":"Kosongkan {0}","Client":"Pelanggan","Client Credentials":"Tauliah Pelanggan","Close":"Tutup","Codec":"Codec","Color":"Warna","Color Profile":"Profil Warna","Colors":"Warna","Compare Editions":"Bandingkan Edisi","Complete Rescan":"Selesaikan Imbasan Semula","Confidence":"Keyakinan","Confirm":"sahkan","Connect":"Sambung","Connect via WebDAV":"Sambung melalui WebDAV","Connected":"Sambung","Contact Details":"Hubungi Kami","Contact Us":"Hubungi Kami","Contains %{n} pictures.":"Mengandungi %{n} gambar.","Contains one picture.":"Mengandungi satu gambar.","Content":"kandungan","Continue":"teruskan","Continue with %{provider}":"Teruskan dengan %{provider}","Contributor":"Penyumbang","Converting":"Menukar","Copied to clipboard":"Disalin ke papan keratan","Copy":"Salinan","Copyright":"Hak Cipta","Couldn't find anything.":"Tidak dapat mencari apa-apa.","Country":"Negara","Create Account":"Buat akaun","Create album":"Buat album","Create regular backups based on the configured schedule.":"Buat sandaran indeks berdasarkan jadual yang dikonfigurasikan.","Create YAML files to back up album metadata.":"Cipta fail YAML untuk menyandarkan metadata album.","Create YAML sidecar files to back up picture metadata.":"Cipta fail sidecar YAML untuk menyandarkan metadata gambar.","Created":"Dicipta","Creating thumbnails for":"Mencipta lakaran kenit untuk","Cubic: Moderate Quality, Good Performance":"Cubic: Kualiti Sederhana, Prestasi Baik","Current Password":"Kata Laluan Semasa","Custom":"Adat","Cyan":"Cyan","Daily":"Setiap hari","Database Backups":"Sandaran Pangkalan Data","Day":"Hari","Deactivate":"Nyahaktifkan","Debug Logs":"Log Nyahpepijat","Default":"Lalai","Default Folder":"Folder Lalai","Delete":"Padam","Delete Album":"Padamkan Album","Delete All":"Memadam semua","Delete all?":"Padam semua?","Delete orphaned index entries, sidecar files and thumbnails.":"Padamkan entri indeks yatim piatu, fail sidecar dan lakaran kecil.","Description":"Keterangan","Detailed instructions can be found in our User Guide.":"Arahan terperinci boleh didapati dalam Panduan Pengguna kami.","Details":"Perincian:","Dimensions":"Dimensi","Disable Backups":"Lumpuhkan Sandaran","Disable Darktable":"Lumpuhkan Darktable","Disable ExifTool":"Lumpuhkan ExifTool","Disable features that require write permission for the originals folder.":"Lumpuhkan ciri yang memerlukan kebenaran menulis untuk folder asal.","Disable FFmpeg":"Lumpuhkan FFmpeg","Disable ImageMagick":"Lumpuhkan ImageMagick","Disable interactive world maps and reverse geocoding.":"Lumpuhkan peta dunia interaktif dan pengekodan geo terbalik.","Disable Places":"Lumpuhkan Tempat","Disable RawTherapee":"Lumpuhkan RawTherapee","Disable TensorFlow":"Lumpuhkan TensorFlow","Disable Vectors":"Lumpuhkan Vektor","Disable WebDAV":"Lumpuhkan WebDAV","Disables vector graphics support.":"Melumpuhkan sokongan grafik vektor.","Disables video transcoding and thumbnail extraction.":"Melumpuhkan transkod video dan pengekstrakan lakaran kenit.","Discover":"Temui","Dismiss":"Tolak","Display Name":"Nama paparan","Display picture captions in search results.":"Paparkan kapsyen gambar dalam hasil carian.","Display picture titles in search results.":"Paparkan tajuk gambar dalam hasil carian.","Document":"Dokumen","Documents":"Dokumen","Don't use Darktable to convert RAW images.":"Jangan gunakan Darktable untuk menukar imej RAW.","Don't use ImageMagick to convert images.":"Jangan gunakan ImageMagick untuk menukar imej.","Don't use RawTherapee to convert RAW images.":"Jangan gunakan RawTherapee untuk menukar imej RAW.","Done":"Selesai","Done.":"Selesai.","Download":"Muat turun","Download only original media files, without any automatically generated files.":"Muat turun hanya fail media asal, tanpa sebarang fail yang dijana secara automatik.","Download remote files":"Muat turun fail jauh","Download single files and zip archives.":"Muat turun fail tunggal dan arkib zip.","Downloading…":"Memuat turun…","Downscaling Filter":"Penapis Penskalaan Rendah","Drag and drop files here":"Seret dan lepaskan fail di sini","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"Oleh kerana jumlah e-mel yang tinggi yang kami terima, pasukan kami mungkin tidak dapat menghubungi anda dengan segera.","Duplicates will be skipped and only appear once.":"Pendua akan dilangkau dan hanya muncul sekali.","Duration":"Tempoh","Dynamic Previews":"Pratonton Dinamik","Dynamic Size Limit: %{n}px":"Had Saiz Dinamik: %{n}px","E-Mail":"E-mel","Edit":"Edit","Edit %{s}":"Edit %{s}","Edit Account":"Edit Akaun","Edit Photo":"Edit Foto","Edited":"disunting","Email":"E-mel","Enable debug mode to display additional logs and help with troubleshooting.":"Dayakan mod nyahpepijat untuk memaparkan log tambahan dan membantu menyelesaikan masalah.","Enable new features that may be incomplete or unstable.":"Dayakan ciri baharu yang mungkin tidak lengkap atau tidak stabil.","Enables RAW converter presets. May reduce performance.":"Mendayakan pratetap penukar RAW. Boleh mengurangkan prestasi.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Mendayakan pengesahan dua faktor bermakna anda memerlukan kod pengesahan yang dijana secara rawak untuk log masuk, jadi walaupun seseorang mendapat akses kepada kata laluan anda, mereka tidak akan dapat mengakses akaun anda.","Enter date":"Masukkan tarikh","Enter dates":"Masukkan tarikh","Enter the code generated by your authenticator app:":"Masukkan kod yang dijana oleh apl pengesah anda:","Enter verification code":"Masukkan kod pengesahan","Enter your password to confirm the action and continue:":"Masukkan kata laluan anda untuk mengesahkan tindakan dan teruskan:","Error":"ralat","Errors":"Kesilapan","Estimate":"Anggaran","Estimate Locations":"Anggarkan Lokasi","Estimate the approximate location of pictures without GPS coordinates.":"Anggarkan anggaran lokasi gambar tanpa koordinat GPS.","Every two days":"Setiap dua hari","Exclude content marked as private from search results, shared albums, labels, and places.":"Kecualikan kandungan yang ditandai sebagai peribadi daripada hasil carian, album kongsi, label dan tempat.","Exclude hidden":"Kecualikan tersembunyi","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"Pengekstrakan metadata dengan ExifTool diperlukan untuk sokongan Video, Live Photo dan XMP penuh.","Experimental Features":"Ciri-ciri Eksperimen","Expires":"Luput","Exposure":"Dedahan","Extract still images and generate thumbnails while indexing.":"Ekstrak imej pegun dan hasilkan lakaran kecil semasa mengindeks.","F Number":"Nombor F","Face":"Wajah","Faces":"Muka","Failed removing link":"Gagal mengalih keluar pautan","Failed to connect account.":"Gagal menyambungkan akaun.","Failed updating link":"Gagal mengemas kini pautan","Family Name":"Nama keluarga","Fast":"Cepat","Favorite":"Kegemaran","Favorites":"Kegemaran","Feature Request":"Permintaan Ciri","Feedback":"Maklumbalas","Female":"perempuan","File":"Fail","File Browser":"Pelayar Fail","File Conversion":"Penukaran Fail","File Name":"Nama Fail","File Size":"Fail","Filename":"Nama Fail","Files":"Fail","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Fail dengan nama berjujukan seperti 'IMG_1234 (2)' dan 'IMG_1234 (3)' tergolong dalam gambar yang sama.","First page":"Muka surat pertama","Focal Length":"Panjang Fokus","Folder":"Folder","Folder contains %{n} files":"Folder mengandungi %{n} fail","Folder is empty":"Folder kosong","Folders":"Folders","Forgot password?":"Lupa kata laluan?","FPS":"FPS","Frames":"Bingkai","Full Access":"Akses penuh","Fullscreen":"Skrin Penuh","General":"Am","Generate":"Menjana","Generate albums of special moments, journeys, and places.":"Hasilkan album bagi detik-detik istimewa, lawatan dan tempat-tempat secara automatik.","Generate Previews":"Hasilkan Pratonton","Generated":"Dijana","Get Started":"Mulakan","Given Name":"Nama Asal","Global Options":"Pilihan Global","Go to page {0}":"Pergi ke halaman {0}","Gold":"emas","Green":"Hijau","Grey":"Kelabu","Guest":"tetamu","Hash":"Hash","Help":"Bantuan","Help & Support":"Mendapat Sokongan","Hidden":"Tersembunyi","Hidden Files":"Fail Tersembunyi","Hide":"Sembunyi","Hide photos that have been moved to archive.":"Sembunyikan foto yang telah dialihkan ke arkib.","High":"tinggi","High Dynamic Range (HDR)":"Julat Dinamik Tinggi (HDR)","How can we help?":"Bagaimana kami boleh membantu?","Hybrid":"Hibrid","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Jika anda kehilangan akses kepada apl atau peranti pengesah anda, anda boleh menggunakan kod pemulihan anda untuk mendapatkan semula akses kepada akaun anda.","Image":"Imej","Image Quality":"Kualiti gambar","Import":"Import","Import failed":"Pengimportan gagal","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Fail yang diimport akan diisih mengikut tarikh dan diberi nama unik untuk mengelakkan pendua.","Imported files will be sorted by date and given a unique name.":"Fail yang diimport akan diisih mengikut tarikh dan diberi nama yang unik.","Importing %{s}…":"Mengimport %{s}…","Importing files to originals…":"Mengimport fail ke asal…","in":"dalam","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"Sekiranya gambar yang anda jangkakan tiada, sila imbas semula pustaka anda dan tunggu sehingga pengindeksan telah selesai.","Include RAW image files when downloading stacks and archives.":"Sertakan fail imej RAW semasa memuat turun tindanan dan arkib.","Include sidecar files when downloading stacks and archives.":"Sertakan fail sidecar semasa memuat turun tindanan dan arkib.","Increase storage size or delete files to continue.":"Tingkatkan saiz storan atau padam fail untuk meneruskan.","Index":"Indeks","Index and import files through the user interface.":"Indeks dan import fail melalui antara muka pengguna.","Indexing":"Pengindeksan","Indexing failed":"Pengindeksan gagal","Indexing media and sidecar files…":"Mengindeks media dan fail sampingan…","Information":"Maklumat","Instance ID":"ID Contoh","Insufficient storage.":"Storan tidak mencukupi.","Interval":"Interval","Invalid":"Tarikh tidak sah","Invalid address":"Alamat tidak sah","Invalid country":"Negara tidak sah","Invalid date":"Tarikh tidak sah","Invalid parameters":"Tarikh tidak sah","Invalid photo selected":"Foto tidak sah dipilih","Invalid time":"Masa tidak sah","Invalid URL":"URL tidak sah","It is a one-time use code that will disable 2FA for your account when you use it.":"Ia adalah kod penggunaan sekali sahaja yang akan melumpuhkan 2FA untuk akaun anda apabila anda menggunakannya.","Item":"Item","Items per page:":"Item setiap halaman:","JPEG Quality: %{n}":"Kualiti JPEG: %{n}","JPEG Size Limit: %{n}px":"Had Saiz JPEG: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"JPEG dan lakaran kecil dipaparkan secara automatik mengikut keperluan.","Keywords":"Kata Kunci","Label":"Label","Labels":"Label","Labels deleted":"Label dipadamkan","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: Pemeliharaan Perincian, Artifak Minimum","Language":"Bahasa","Last Active":"Aktif Terakhir","Last Login":"Log masuk kali terakhir","Last page":"Muka surat terakhir","Last Sync":"Penyegerakan Terakhir","Last Used":"Kali terakhir digunakan","Latitude":"Latitud","LDAP/AD":"LDAP/AD","Learn more":"Ketahui lebih lanjut","Learn More":"Ketahui Lebih Lanjut","Legal Information":"Maklumat Undang-undang","Lens":"Lensa","Library":"Perpustakaan","License":"Lesen","Like":"Suka","Lime":"kapur","Limit reached, showing first %{n} files":"Had dicapai, menunjukkan %{n} fail pertama","Linear: Very Smooth, Best Performance":"Linear: Sangat Lancar, Prestasi Terbaik","Link":"Pautan","List":"Senarai","List View":"Paparan Senarai","Live":"Langsung","Live Photos":"Foto","Load more":"Muatkan lagi","Loading items...":"Memuatkan item...","Loading...":"Memuatkan...","Local":"Tempatan","Local Time":"Waktu Tempatan","Location":"Lokasi","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Mesej log dipaparkan di sini setiap kali PhotoPrism menjumpai fail yang rosak, atau terdapat isu lain yang berpotensi.","Login":"Log masuk","Logout":"Log keluar","Logs":"Log","Longitude":"Longitud","Low":"rendah","Magenta":"Magenta","Main Color":"Warna Utama","Male":"jantan","Manage Account":"Urus Akaun","Manager":"Pengurus","Manual":"Manual","Manual Upload":"Muat Naik Manual","Maps":"Peta","Marker":"Penanda","Maximum number of accounts has been reached.":"Bilangan maksimum akaun telah dicapai.","Media":"Media","Medium":"Sederhana","Membership":"Keahlian","Merge %{a} with %{b}?":"Gabungkan %{a} dengan %{b}?","Message":"Mesej","Message sent":"Mesej telah dihantar","Metadata":"Metadata","Metrics":"Metrik","Minimize":"Minimum","Missing":"hilang","Missing or invalid configuration":"Konfigurasi tiada atau tidak sah","Moments":"Detik-detik","Monochrome":"Monokrom","Month":"Bulan","More options":"Lebih banyak pilihan","Mosaic":"Mozek","Most Relevant":"Paling relevan","Move Files":"Alihkan Fail","Must have at least %{n} characters.":"Mesti mempunyai sekurang-kurangnya %{n} aksara.","Mute":"bisu","Name":"Nama","Name too long":"Nama terlalu panjang","Never":"Tidak sesekali","New":"Baharu","New Password":"jauna parole","Newest First":"Terbaharu dahulu","Next":"Seterusnya","Next page":"Halaman seterusnya","Next visual":"Visual seterusnya","No":"Tidak","No albums found":"Tiada album ditemui","No data available":"Tiada data tersedia","No labels found":"Tiada label ditemui","No matching records found":"Tiada rekod yang sepadan ditemui","No more":"Tiada lagi","No people found":"Tiada orang ditemui","No pictures found":"Tiada gambar ditemui","No recently edited pictures":"Tiada gambar yang diedit baru-baru ini","No results":"Tiada hasil","No server connection":"Tiada sambungan pelayan","No servers configured.":"Tiada pelayan dikonfigurasikan.","No services configured.":"Tiada pelayan dikonfigurasikan.","No thanks":"Tidak, Terima kasih","No warnings or error containing this keyword. Note that search is case-sensitive.":"Tiada amaran atau ralat yang mengandungi kata kunci ini. Ambil perhatian bahawa carian adalah sensitif huruf besar-besaran.","Non-photographic and low-quality images require a review before they appear in search results.":"Imej bukan fotografi dan berkualiti rendah memerlukan semakan sebelum ia muncul dalam hasil carian.","None":"Tiada","Not allowed":"Tidak dibenarkan","Not found":"Tidak dijumpai","Not sorted.":"Tidak disusun.","Not supported":"Tidak disokong","Note you may manually manage your originals folder and importing is optional.":"Harap maklum bahawa anda boleh mengurus folder asal anda secara manual dan mengimport adalah pilihan.","Note:":"Nota:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Nota: Hanya pelayan WebDAV, seperti Nextcloud atau PhotoPrism, boleh dikonfigurasikan sebagai perkhidmatan jauh untuk sandaran dan muat naik fail.","Notes":"Nota-nota","Nothing to see here yet.":"Tiada apa yang boleh dilihat di sini. Bersabarlah.","Nothing was found.":"Tiada apa yang ditemui.","Offline":"Luar Talian","OIDC":"OIDC","OK":"OK","Oldest First":"Tertua dahulu","On Windows, enter the following resource in the connection dialog:":"Pada Windows, masukkan sumber berikut dalam dialog sambungan:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"Penjanaan lakaran kecil atas permintaan boleh menyebabkan penggunaan CPU dan memori yang tinggi. Ia tidak disyorkan untuk pelayan terhad sumber dan peranti NAS.","Once a week":"Sekali seminggu","One album found":"Satu album ditemui","One file found":"Satu fail ditemui","One file uploaded":"Satu fail dimuat naik","One folder found":"Satu folder ditemui","One label found":"Satu label ditemui","One person found":"Seorang ditemui","One picture found":"Satu gambar ditemui","Only locally managed accounts can be set up for authentication with 2FA.":"Hanya akaun yang diuruskan secara tempatan boleh disediakan untuk pengesahan dengan 2FA.","Open":"Buka","optional":"pilihan","or":"atau","Orange":"Jingga","Organization":"Orientasi","Orientation":"Orientasi","Original file names will be stored and indexed.":"Nama fail asal akan disimpan dan diindeks.","Original Name":"Nama Asal","Originals":"Asal","Other":"Lain-lain","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Misi kami adalah untuk menyediakan penyelesaian yang paling mesra pengguna dan privasi untuk memastikan gambar anda teratur dan boleh diakses.","Outdoor":"Luar","Page {0}, Current page":"Halaman {0}, Halaman semasa","Pages":"muka surat","Pagination Navigation":"Navigasi Penomboran","Panorama":"Panorama","Panoramas":"Panorama","Password":"Kata Laluan","Password changed":"Kata laluan ditukar","People":"Orang ramai","People you share a link with will be able to view public contents.":"Orang yang anda kongsikan pautan akan dapat melihat kandungan awam.","Permanently deleted":"Dipadamkan secara kekal","Permanently remove files to free up storage.":"Alih keluar fail secara kekal untuk mengosongkan storan.","Person":"Orang","Personal":"Peribadi","Photo":"Foto","PhotoPrism is 100% self-funded and independent.":"PhotoPrism adalah 100% dibiayai sendiri dan bebas.","PhotoPrism+ Membership":"Keahlian PhotoPrism+","Photos":"Foto","Picture Title":"Tajuk Gambar","Pink":"merah jambu","Place":"tempat","Place & Time":"Tempat & Masa","Places":"Tempat","Please confirm your new password.":"Sila sahkan kata laluan baharu anda.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Sila salin kata laluan apl yang dijana secara rawak berikut dan simpan di tempat yang selamat, kerana anda tidak akan dapat melihatnya lagi:","Please do not upload any private, unlawful or offensive pictures.":"Tolong jangan muat naik sebarang gambar peribadi, menyalahi undang-undang atau menyinggung perasaan.","Please don't upload photos containing offensive content.":"Tolong jangan muat naik foto yang mengandungi kandungan yang menyinggung perasaan.","Please enter OTP character {0}":"Sila masukkan aksara OTP {0}","Please note that changing your password will log you out on other devices and browsers.":"Sila ambil perhatian bahawa menukar kata laluan anda akan log keluar anda pada peranti dan penyemak imbas lain.","Please restart your instance for the changes to take effect.":"Sila mulakan semula contoh anda untuk perubahan berkuat kuasa.","Please wait…":"Sila tunggu…","PM":"PM","PNG Size Limit: %{n}px":"Had Saiz PNG: %{n}px","Portrait":"Potret","Preserve filenames":"Kekalkan nama fail","Press enter to create a new album.":"Tekan enter untuk mencipta album baharu.","Prevent database and album backups as well as YAML sidecar files from being created.":"Elakkan sandaran pangkalan data dan album serta fail sidecar YAML daripada dibuat.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Halang apl lain daripada mengakses PhotoPrism sebagai pemacu rangkaian kongsi.","Preview":"Pratonton","Preview Images":"Pratonton Imej","Previous":"Sebelumnya","Previous page":"Halaman sebelumnya","Previous visual":"Visual sebelumnya","Primary":"Utama","Private":"Sulit","Product Feedback":"Maklum Balas Produk","Projection":"Unjuran","Purple":"Ungu","Quality Filter":"Penapis Kualiti","Quality Score":"Skor Kualiti","r":"r","Random":"Rawak","Rating {0} of {1}":"Penilaian {0} daripada {1}","Raw":"mentah","RAW":"MENTAH","Re-index all originals, including already indexed and unchanged files.":"Indeks semula semua yang asal, termasuk fail yang telah diindeks dan tidak berubah.","Read-Only Mode":"Mod Baca Sahaja","Recently Added":"Baru sahaja ditambah","Recently Archived":"Diarkibkan Baru-baru ini","Recently Edited":"Baru-baru ini disunting","Recognition starts after indexing has been completed.":"Pengiktirafan bermula selepas pengindeksan telah selesai.","Recognize faces so people can be assigned and found.":"Mengenali wajah supaya orang tertentu boleh ditemui.","Recognized":"Dikenali","Recovery Code":"Kod Pemulihan","Red":"Merah","Refresh":"Segarkan semula","Regions":"kawasan","Register":"Daftar","Reload":"Muat Semula","Reloading…":"Memuatkan semula…","Remote Sync":"Penyegerakan Jauh","Remove":"Buang","remove failed: unknown album":"gagal mengalih keluar: album tidak diketahui","Remove from Album":"Alih keluar daripada album","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Alih keluar fail yang diimport untuk menjimatkan storan. Jenis fail yang tidak disokong tidak akan dipadamkan, ia kekal di lokasi semasanya.","Request failed - are you offline?":"Permintaan gagal - adakah anda di luar talian?","Request failed - invalid response":"Permintaan gagal - respons tidak sah","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Memerlukan imej bukan fotografi dan berkualiti rendah untuk disemak sebelum ia muncul dalam hasil carian.","Resolution":"Resolusi","Restart":"Mula semula","Restore":"Pulih","Restored":"Dipulihkan","Retry Limit":"Had Cuba Semula","Retype Password":"Tulis semula kata laluan","Review":"Tinjauan","Role":"Peranan","Rows per page:":"Baris setiap halaman:","Satellite":"Satelit","Save":"Simpan","Scan":"Imbas","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Imbas kod QR dengan apl pengesah anda atau gunakan kekunci persediaan yang ditunjukkan di bawah dan kemudian masukkan kod pengesahan yang dijana:","Scans":"Imbasan","Scope":"Skop","Search":"Gelintar","Search and display photos on a map.":"Cari dan paparkan foto pada peta.","Season":"musim","Secret":"Secret","Security and Access":"Keselamatan dan Akses","Select":"Pilih","Select a source folder to import files…":"Pilih folder sumber untuk mengimport fail…","Select date":"Pilih tarikh","Select dates":"Pilih tarikh","Select or create an album":"Pilih atau buat album","Select the files to upload…":"Pilih fail untuk dimuat naik…","Select the folder to be indexed…":"Pilih folder untuk diindeks…","Select Time":"Pilih Masa","Selection approved":"Pemilihan diluluskan","Selection archived":"Pemilihan diarkibkan","Selection restored":"Pemilihan dipulihkan","Sequential Name":"Nama Berurutan","Service URL":"URL perkhidmatan","Services":"URL perkhidmatan","Session":"Sesi","Session ID":"ID Sesi","Sessions":"Sesi","Set as Album Cover":"Tetapkan sebagai Kulit Album","Settings":"Tetapan","Settings saved":"Tetapan Disimpan","Setup":"Persediaan","Share":"Kongsi","Share %{s}":"Kongsi %{s}","Share your pictures with other apps and services.":"Kongsi gambar anda dengan apl dan perkhidmatan lain.","Show":"Papar","Show all new faces":"Tunjukkan semua muka baharu","Show Captions":"Tunjukkan Kapsyen","Show hidden":"Tunjukkan tersembunyi","Show less":"Tunjukkan lebih sedikit","Show more":"Tunjuk lebih banyak","Show server logs in Library.":"Tunjukkan log pelayan dalam Perpustakaan.","Show Titles":"Tajuk Tajuk","Sidecar":"Sidecar","Sidecar Files":"Fail Sidecar","Sign in":"Log masuk","Similar":"serupa","Size":"Saiz","Slideshow":"Tayangan slaid","Slow":"Lambat","Software":"Perisian","Software Update":"Kemas Kini Perisian","Something went wrong, try again":"Kesilapan telah berlaku, cuba lagi","Sort by":"Isih mengikut","Sort Order":"Aturan susunan","Sorted ascending.":"Diisih menaik.","Sorted descending.":"Diisih menurun.","Source":"Sumber","Stack":"Timbunan","Stack files sharing the same unique image or instance identifier.":"Tumpukan fail yang berkongsi imej unik atau pengecam contoh yang sama.","Stack pictures taken at the exact same time and location based on their metadata.":"Tumpukan gambar yang diambil pada masa dan lokasi yang sama berdasarkan metadatanya.","Stackable":"Boleh ditindan","Stacks":"tindanan","Start":"Mula","Start Page":"Halaman Mula","Static Size Limit: %{n}px":"Had Saiz Statik: %{n}px","Status":"Status","Storage":"Penyimpanan","Streets":"Jalan-jalan","Subject":"Subjek","Submit":"Hantar","Successfully activated":"Berjaya diaktifkan","Successfully Connected":"Berjaya Disambungkan","Successfully deleted":"Berjaya dipadamkan","Successfully verified":"Berjaya disahkan","Super Admin":"Super Admin","Support for additional services, like Google Drive, will be added over time.":"Sokongan untuk perkhidmatan tambahan, seperti Google Drive, akan ditambahkan dari semasa ke semasa.","Support Our Mission":"Sokong Misi Kami","Sync":"Segerak","Sync raw and video files":"Segerakkan fail mentah dan video","Taken":"diambil","Teal":"Teal","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow diperlukan untuk klasifikasi imej, pengecaman muka dan mengesan kandungan yang tidak selamat.","Terrain":"rupa bumi","Text":"Teks","Text too long":"Teks terlalu panjang","Thank You for Your Support!":"Terima kasih atas sokongan anda!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Itulah sebabnya PhotoPrism dibina dari bawah untuk dijalankan di mana sahaja anda memerlukannya, tanpa menjejaskan kebebasan, privasi atau kefungsian.","The index currently contains %{n} hidden files.":"Indeks pada masa ini mengandungi %{n} fail tersembunyi.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Format mereka mungkin tidak disokong, mereka belum ditukar kepada JPEG lagi atau terdapat pendua.","Theme":"Tema","This field is required":"Medan ini diperlukan","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Ini melekapkan folder asal sebagai pemacu rangkaian dan membolehkan anda membuka, mengedit dan memadam fail daripada komputer atau telefon pintar anda seolah-olah ia adalah tempatan.","Time UTC":"Masa UTC","Time Zone":"Zon masa","Timeout":"Masa tamat","Title":{"Account":"Tajuk","Photo":"Tajuk","":"Tajuk"},"Title / Position":"Tajuk terlalu panjang","Title too long":"Tajuk terlalu panjang","to":"kepada","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Untuk mengelak daripada dikunci daripada akaun anda, sila muat turun, cetak atau salin kod pemulihan ini sekarang dan simpan di tempat yang selamat.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Untuk menjana kata laluan khusus apl baharu, sila masukkan nama dan skop kebenaran aplikasi dan pilih tarikh tamat tempoh:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Untuk bertukar kepada apl atau peranti pengesah baharu, mula-mula nyahaktifkan pengesahan dua faktor dan kemudian aktifkannya semula:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Untuk menaik taraf, anda boleh sama ada memasukkan kod pengaktifan atau klik \"Daftar\" untuk mendaftar di tapak web kami:","Today":"Hari ini","Toggle View":"Togol Paparan","Token":"Token","Too many files selected":"Terlalu banyak fail dipilih","Too many requests":"Terlalu banyak permintaan","Troubleshooting":"Menyelesaikan masalah","Try again using other filters or keywords.":"Cuba lagi menggunakan penapis atau kata kunci lain.","Two-factor authentication has been enabled for your account.":"Pengesahan dua faktor telah didayakan untuk akaun anda.","Type":"Jenis","Unable to delete":"Tidak dapat memadam","Unauthorized":"tanpa kebenaran","Undo":"Buat Asal","Unique ID":"ID unik","Unknown":"Tidak Diketahui","Unregistered":"Tidak berdaftar","Unsorted":"Tidak diisih","Unstack":"Nyahtindan","Updated":"dikemas kini","Updating faces":"Mengemas kini wajah","Updating index":"Mengemas kini indeks","Updating moments":"Mengemas kini detik","Updating picture…":"Mengemas kini pratonton","Updating previews":"Mengemas kini pratonton","Updating stacks":"Mengemas kini tindanan","Upgrade":"Naik taraf","Upgrade Now":"Menaiktaraf sekarang","Upload":"Muat naik","Upload complete":"Muat naik selesai","Upload complete. Indexing…":"Muat naik selesai. Pengindeksan…","Upload failed":"Muat naik gagal","Upload local files":"Muat naik fail tempatan","Upload Path":"Laluan Muat Naik","Upload to WebDAV and share links with friends.":"Muat naik ke WebDAV dan kongsi pautan dengan rakan.","Uploading %{n} of %{t}…":"Memuat naik %{n} daripada %{t}…","Uploading photos…":"Memuat naik foto…","Uploading…":"Memuatkan semula…","Uploads that may contain such images will be rejected automatically.":"Muat naik yang mungkin mengandungi imej sedemikian akan ditolak secara automatik.","Use Presets":"Gunakan Pratetap","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Gunakan kod pemulihan berikut untuk mengakses akaun anda apabila anda tidak dapat menjana kod pengesahan yang sah dengan apl pengesah anda:","Use your recovery code or contact an administrator for help.":"Gunakan kod pemulihan anda atau hubungi pentadbir untuk mendapatkan bantuan.","User":"Pengguna","User Guide":"Panduan pengguna","User Interface":"Antara Muka Pengguna","Username":"Nama Pengguna","Users":"Pengguna","Vector":"vektor","Vectors":"vektor","Verification Code":"Kod pengesahan","Video":"Video","Video Duration":"Tempoh","Videos":"Video","View":"Lihat","View search results as a list.":"Lihat hasil carian sebagai senarai.","Viewer":"Penonton","Visitor":"Pelawat","Visual Similarity":"Kumpulan mengikut persamaan","Warning":"Amaran","We appreciate your feedback!":"Kami menghargai maklumbalas anda!","We do our best to respond within five business days or less.":"Kami melakukan yang terbaik untuk membalas dalam tempoh lima hari perniagaan atau kurang.","Web Login":"Log Masuk Web","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"Pelanggan WebDAV boleh menyambung ke PhotoPrism menggunakan URL berikut:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"Pelanggan WebDAV, seperti Microsoft Windows Explorer atau Apple's Finder, boleh menyambung terus ke PhotoPrism.","WebDAV Upload":"Muat Naik WebDAV","WebGL support is disabled in your browser":"Sokongan WebGL dilumpuhkan dalam penyemak imbas anda","Website":"laman web","White":"Putih","Work Details":"Perincian:","Year":"Viti","Yellow":"Kuning","Yes":"Ya","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Anda dialu-alukan untuk menghubungi kami di membership@photoprism.app untuk pertanyaan mengenai keahlian anda.","You can only download one album":"Anda hanya boleh memuat turun satu album","You can only download one label":"Anda hanya boleh memuat turun satu label","You can search for a location or move the marker on the map to change the position:":"Anda boleh mencari lokasi atau mengalihkan penanda pada peta untuk menukar kedudukan:","You can upload up to %{n} files for test purposes.":"Anda boleh memuat naik sehingga %{n} fail untuk tujuan ujian.","You may only select one item":"Anda hanya boleh memilih satu item","You may rescan your library to find additional faces.":"Anda boleh mengimbas semula pustaka anda untuk mencari wajah tambahan.","Your account has been successfully connected.":"Akaun anda telah berjaya disambungkan.","Your browser does not support WebGL":"Penyemak imbas anda tidak menyokong WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Sokongan berterusan anda membantu kami menyediakan kemas kini dan perkhidmatan tetap seperti peta dunia.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Pustaka anda dianalisis secara berterusan untuk mencipta album detik, perjalanan dan tempat istimewa secara automatik.","Zoom in/out":"Zum masuk/keluar"}} \ No newline at end of file diff --git a/frontend/src/locales/json/nb.json b/frontend/src/locales/json/nb.json index f8232e39e..fc4809979 100644 --- a/frontend/src/locales/json/nb.json +++ b/frontend/src/locales/json/nb.json @@ -1 +1 @@ -{"nb":{"{0} appended action":"{0} lagt til handling","{0} files":"{0} filer","{0} files ({1} in total)":"{0} filer ({1} totalt)","{0} more":"{0} mer","{0} prepended action":"{0} Foranstilt handling","{0} selected":"{0} valgt","{0}-{1} of {2}":"{0}-{1} av {2}","%{n} albums found":"%{n} album funnet","%{n} files uploaded":"%{n} filer lastet opp","%{n} folders found":"%{n} mapper funnet","%{n} GB of %{q} GB used":"%{n} GB av %{q} GB brukt","%{n} labels found":"%{n} merkelapper funnet","%{n} people found":"%{n} personer ble funnet","%{n} pictures found":"%{n} bilder funnet","%{s} is too long":"%{s} er for lang","%{s} is too short":"%{s} er for kort","1 hour":"1 time","12 hours":"12 timer","2-Factor Authentication":"2-faktor autentisering","2FA":"2FA","4 hours":"4 timer","A click will copy it to your clipboard.":"Et klikk vil kopiere det til utklippstavlen.","A new version of %{s} is available:":"En ny versjon av %{s} er tilgjengelig:","About":"Om","Access Token":"Tilgangstoken","Account":"Konto","Account created":"Konto opprettet","Account deleted":"Konto slettet","Account restored":"Konto gjenopprettet","Accounts":"Kontoer","Accuracy":"Nøyaktighet","Action":"Handling","Actions":"Handlinger","Activate":"Aktiver","Activate to remove sorting.":"Aktiver for å fjerne sorteringen.","Activate to sort ascending.":"Aktiver for å sortere stigende.","Activate to sort descending.":"Aktiver for å sortere synkende.","Activation Code":"Aktiveringskode","Add":"Legg til","Add %{s}?":"Legg til %{s}?","Add Account":"Legg til konto","Add Album":"Legg til Album","Add files to your library via Web Upload.":"Legg til filer i biblioteket ditt ved hjelp av Nettopplasting.","Add Link":"Legg til Lenke","Add person?":"Legg til person?","Add pictures from search results by selecting them.":"Legg til bilder fra søkeresultatene ved å velge dem.","Add to album":"Legg til i album","Added":"Lagt til","Admin":"Administrasjon","Advanced":"Avansert","After 1 day":"Etter 1 dag","After 3 days":"Etter 3 dager","After 7 days":"Etter 7 dager","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Etter å ha skrevet inn passordet ditt for bekreftelse, kan du sette opp tofaktorautentisering med en kompatibel autentiseringsapp eller enhet:","After one month":"Etter én måned","After one year":"Etter ett år","After selecting pictures from search results, you can add them to an album using the context menu.":"Etter at du har valgt bilder fra søkeresultatene, kan du legge dem til i et album ved hjelp av hurtigmenyen.","After two months":"Etter to måneder","After two weeks":"Etter to uker","Album":"Album","Album Backups":"Sikkerhetskopiering av album","Album created":"Album opprettet","Albums":"Album","Albums deleted":"Album slettet","All":"Alle","All %{n} albums loaded":"Alle %{n} album lastet","All %{n} labels loaded":"Alle %{n} merkelapper innlest","All %{n} people loaded":"Alle %{n} personene er lastet inn","All Cameras":"Alle Kameraer","All Categories":"Alle Kategorier","All Colors":"Alle Farger","All Countries":"Alle Land","All fields are required":"Alle felter er nødvendige","All files from import folder":"Alle filer fra importmappe","All Lenses":"Alle Linser","All Months":"Alle Måneder","All originals":"Alle originaler","All Years":"Alle År","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Alternativt kan du laste opp filene direkte til WebDAV-servere som Nextcloud.","Altitude":"Høyde","Altitude (m)":"Høyde (m)","AM":"AM","Animated":"Animert","Animation":"Animasjon","Any private photos and videos remain private and won't be shared.":"Eventuelle private bilder og videoer forblir private og vil ikke bli delt.","API Key":"API-nøkkel","Application":"Søknad","Apply":"Bruk","Approve":"Godkjenn","Apps and Devices":"Apper og enheter","Archive":"Arkivér","Archived":"Arkivert","Are you sure you want to archive the selection?":"Er du sikker på at du vil arkivere utvalget?","Are you sure you want to delete these albums?":"Er du sikker på at du vil slette disse albumene?","Are you sure you want to delete these labels?":"Er du sikker på at du vil slette disse merkelappene?","Are you sure you want to delete this account?":"Er du sikker på at du vil slette denne kontoen?","Are you sure you want to permanently delete these pictures?":"Er du sikker på at du vil permanent slette disse bildene?","Are you sure you want to permanently delete this file?":"Er du sikker på at du vil permanent slette denne filen?","Are you sure?":"Er du sikker?","Artist":"Kunstner","Aspect Ratio":"Sideforhold","Audio":"Lyd","Authentication":"Autentisering","Auto":"Auto","Back":"Tilbake","Back to top":"Tilbake til toppen","Backup":"Sikkerhetskopiering","Badge":"Merke","Base Path":"Basebane","Become a member today, support our mission and enjoy our member benefits!":"Bli en sponsor i dag, støtt oppdraget vårt og nyt medlemsfordelene våre!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Ved å være 100% selvfinansiert og uavhengig, kan vi love deg at vi aldri vil selge dataene dine og at vi alltid vil være gjennomsiktige om programvaren og tjenestene våre.","Bio":"Info","Birth Date":"Fødselsdato","Black":"Svart","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Lanczos, bedre kantutjevning","Blue":"Blå","Brown":"Brun","Browse":"Bla gjennom","Browse and edit image classification labels.":"Bla gjennom og rediger merkelapper for bildeklassifisering.","Browse and share your pictures organized into monthly albums.":"Bla gjennom og del bildene dine organisert i månedlige album.","Browse Files":"Bla gjennom filer","Browse indexed files and folders in Library.":"Bla gjennom indekserte filer og mapper i Biblioteket.","Bug Report":"Feilmelding","Busy, please wait…":"Opptatt, vennligst vent…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Ved å bruke programvaren og tjenestene vi tilbyr, godtar du våre vilkår for bruk, personvernerklæring og etiske retningslinjer.","Calendar":"Kalender","Camera":"Kamera","Camera Serial":"Kamera-serienummer","Can't access your authenticator app or device?":"Får du ikke tilgang til autentiseringsappen eller -enheten din?","Can't load more, limit reached":"Kan ikke laste inn mer, grensen nådd","Can't select more items":"Kan ikke velge flere elementer","Cancel":"Avbryt","Caption":"Bildetekst","Cards":"Kort","Carousel slide {0} of {1}":"Karusellbilde {0} av {1}","Category":"Kategori","Change Avatar":"Endre profilbilde","Change Password":"Bytt Passord","Change personal profile and security settings.":"Endre personlig profil og sikkerhetsinnstillinger.","Change photo titles, locations, and other metadata.":"Endre fototitler, steder og andre metadata.","Change private flag":"Endre private flagg","Changes could not be saved":"Kan ikke lagre endringer","Changes successfully saved":"Endringene ble lagret","Changes to the advanced settings require a restart to take effect.":"Endringer i de avanserte innstillingene krever en omstart for å tre i kraft.","Checked":"Krysset av","Chroma":"Kroma","Cleaning index and cache":"Rengjøring av indeks og hurtigbuffer","Cleanup":"Opprydding","Clear {0}":"Tøm {0}","Client":"Kunde","Client Credentials":"Kundens legitimasjon","Close":"Lukk","Codec":"Kodeks","Color":"Farge","Color Profile":"Fargeprofil","Colors":"Farger","Compare Editions":"Sammenlign utgaver","Complete Rescan":"Komplett Ny Skanning","Confidence":"Konfidens","Confirm":"Bekrefte","Connect":"Koble til","Connect via WebDAV":"Koble til via WebDAV","Connected":"Tilkoblet","Contact Details":"Kontaktinformasjon","Contact Us":"Kontakt Oss","Contains %{n} pictures.":"Inneholder %{n} bilder.","Contains one picture.":"Inneholder ett bilde.","Content":"Innhold","Continue":"Fortsette","Continue with %{provider}":"Fortsett med %{tilbyder}","Contributor":"Bidragsyter","Converting":"Konverterer","Copied to clipboard":"Kopiert til utklippstavlen","Copy":"Kopiere","Copyright":"Opphavsrett","Couldn't find anything.":"Kunne ikke finne noe.","Country":"Land","Create Account":"Opprett konto","Create album":"Opprett album","Create regular backups based on the configured schedule.":"Opprett sikkerhetskopier av indekser basert på den konfigurerte tidsplanen.","Create YAML files to back up album metadata.":"Opprett YAML-filer for å sikkerhetskopiere metadata for album.","Create YAML sidecar files to back up picture metadata.":"Opprett YAML-sidevognfiler for å sikkerhetskopiere bildemetadata.","Created":"Opprettet","Creating thumbnails for":"Oppretter miniatyrbilder for","Cubic: Moderate Quality, Good Performance":"Kubisk: Moderat kvalitet, god ytelse","Current Password":"Nåværende Passord","Custom":"Tilpasset","Cyan":"Turkis","Daily":"Daglig","Database Backups":"Sikkerhetskopiering av databaser","Day":"Dag","Deactivate":"Deaktiver","Debug Logs":"Feilsøkingslogger","Default":"Standard","Default Folder":"Standardmappe","Delete":"Slett","Delete All":"Slett alle","Delete all?":"Slett alt?","Delete orphaned index entries, sidecar files and thumbnails.":"Slett foreldreløse indeksoppføringer, sidefiler og miniatyrbilder.","Description":"Beskrivelse","Detailed instructions can be found in our User Guide.":"Detaljerte instruksjoner finner du i vår Brukerhåndbok.","Details":"Detaljer","Dimensions":"Størrelser","Disable Backups":"Deaktiver Sikkerhetskopi","Disable Darktable":"Deaktiver Darktable","Disable ExifTool":"Deaktiver ExifTool","Disable features that require write permission for the originals folder.":"Deaktiver funksjoner som krever skrivetillatelse for originalmappen.","Disable FFmpeg":"Deaktiver FFmpeg","Disable ImageMagick":"Deaktiver ImageMagick","Disable interactive world maps and reverse geocoding.":"Deaktiver interaktive verdenskart og omvendt geokoding.","Disable Places":"Deaktiver Plasser","Disable RawTherapee":"Deaktiver RawTherapee","Disable TensorFlow":"Deaktiver TensorFlow","Disable Vectors":"Deaktiver vektorer","Disable WebDAV":"Deaktiver WebDAV","Disables vector graphics support.":"Deaktiverer støtte for vektorgrafikk.","Disables video transcoding and thumbnail extraction.":"Deaktiverer videotranskoding og miniatyrbildeekstraksjon.","Discover":"Utforsk","Dismiss":"Avskjed","Display Name":"Vist navn","Display picture captions in search results.":"Vis bildetekster i søkeresultatene.","Display picture titles in search results.":"Vis bildetitler i søkeresultatene.","Document":"Dokument","Documents":"Dokumenter","Don't use Darktable to convert RAW images.":"Ikke bruk Darktable til å konvertere RAW-bilder.","Don't use ImageMagick to convert images.":"Ikke bruk ImageMagick til å konvertere bilder.","Don't use RawTherapee to convert RAW images.":"Ikke bruk RawTherapee til å konvertere RAW-bilder.","Done":"Ferdig","Done.":"Ferdig.","Download":"Last ned","Download only original media files, without any automatically generated files.":"Last ned bare originale mediefiler, uten automatisk genererte filer.","Download remote files":"Last ned eksterne filer","Download single files and zip archives.":"Last ned enkelte filer og zip-arkiver.","Downloading…":"Laster ned…","Downscaling Filter":"Nedskalerer Filter","Drag and drop files here":"Dra og slipp filer her","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"På grunn av det store antallet e-poster vi mottar, kan det hende at teamet vårt ikke kan svare deg umiddelbart.","Duplicates will be skipped and only appear once.":"Duplikater hopes over og vises bare én gang.","Duration":"Varighet","Dynamic Previews":"Dynamiske Forhåndsvisninger","Dynamic Size Limit: %{n}px":"Grense for Dynamisk Størrelse:%{n}px","E-Mail":"E-post","Edit":"Rediger","Edit %{s}":"Rediger %{s}","Edit Account":"Rediger Konto","Edit Photo":"Rediger Bilde","Edited":"Redigert","Email":"E-post","Enable debug mode to display additional logs and help with troubleshooting.":"Aktiver feilsøkingsmodus for å vise flere logger og hjelpe deg med feilsøking.","Enable new features that may be incomplete or unstable.":"Aktiver nye funksjoner som kan være ufullstendige eller ustabile.","Enables RAW converter presets. May reduce performance.":"Aktiverer forhåndsinnstillinger for RAW -omformer. Kan redusere ytelsen.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Aktivering av tofaktorautentisering betyr at du trenger en tilfeldig generert bekreftelseskode for å logge på, så selv om noen får tilgang til passordet ditt, vil de ikke få tilgang til kontoen din.","Enter date":"Angi dato","Enter dates":"Angi datoer","Enter the code generated by your authenticator app:":"Skriv inn koden som genereres av autentiseringsappen din:","Enter verification code":"Angi verifikasjonskode","Enter your password to confirm the action and continue:":"Skriv inn passordet ditt for å bekrefte handlingen og fortsett:","Error":"Feil","Errors":"Feil","Estimate":"Anslå","Estimate Locations":"Anslå lokasjoner","Estimate the approximate location of pictures without GPS coordinates.":"Anslå omtrentlig plassering av bilder uten GPS-koordinater.","Every two days":"Hver andre dag","Exclude content marked as private from search results, shared albums, labels, and places.":"Ekskluder innhold merket som privat fra søkeresultater, delte album, etiketter og steder.","Exclude hidden":"Ekskluder skjult","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"Metadataekstraksjon med ExifTool er påkrevd for å få full støtte for Video, Live Photo og XMP.","Experimental Features":"Eksperimentelle Funksjoner","Expires":"Utgår","Exposure":"Eksponering","Extract still images and generate thumbnails while indexing.":"Trekk ut stillbilder og generer miniatyrbilder mens du indekserer.","F Number":"F-nummer","Face":"Ansikt","Faces":"Ansikter","Failed removing link":"Fikk ikke til å fjerne lenke","Failed to connect account.":"Kunne ikke koble til konto.","Failed updating link":"Fikk ikke til å oppdatere lenke","Family Name":"Familienavn","Fast":"Hurtig","Favorite":"Favoritt","Favorites":"Favoritter","Feature Request":"Funksjonsforespørsel","Feedback":"Tilbakemelding","Female":"Hunn","File":"Fil","File Browser":"Filutforsker","File Conversion":"Filkonvertering","File Name":"Filnavn","File Size":"Filstørrelse","Filename":"Filnavn","Files":"Filer","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Filer med sekvensielle navn som \"IMG_1234 (2) og \"IMG_1234 (3)\" tilhører det samme bildet.","First page":"Første side","Focal Length":"Brennvidde","Folder":"Mappe","Folder contains %{n} files":"Mappen inneholder %{n} filer","Folder is empty":"Mappen er tom","Folders":"Mapper","Forgot password?":"Glemt passord?","FPS":"FPS","Frames":"Rammer","Full Access":"Full tilgang","Fullscreen":"Fullskjerm","General":"Generell","Generate":"generere","Generate albums of special moments, journeys, and places.":"Oppretter automatisk album med spesielle øyeblikk, turer og steder.","Generate Previews":"Generer forhåndsvisninger","Generated":"Generert","Get Started":"Kom i gang","Given Name":"Fornavn","Global Options":"Globale alternativer","Go to page {0}":"Gå til side {0}","Gold":"Gull","Green":"Grønn","Grey":"Grå","Guest":"Gjest","Hash":"Hash","Help":"Hjelp","Help & Support":"Hjelp og støtte","Hidden":"Skjult","Hidden Files":"Skjulte Filer","Hide":"Skjul","Hide photos that have been moved to archive.":"Skjul bilder som har blitt flyttet til arkivet.","High":"Høy","High Dynamic Range (HDR)":"Høyt dynamisk område (HDR)","How can we help?":"Hvordan kan vi hjelpe?","Hybrid":"Hybrid","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Hvis du mister tilgangen til autentiseringsappen eller enheten din, kan du bruke gjenopprettingskoden for å få tilbake tilgang til kontoen din.","Image":"Bilde","Image Quality":"Bildekvalitet","Import":"Importér","Import failed":"Importering feilet","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Importerte filer vil bli sortert etter dato og gitt et unikt navn for å unngå duplikater.","Imported files will be sorted by date and given a unique name.":"Importerte filer vil bli sortert etter dato og gitt et unikt navn.","Importing %{s}…":"Importerer %{s}…","Importing files to originals…":"Importerer filer til originaler…","in":"inn","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"Hvis bilder du forventer mangler, kan du skanne biblioteket på nytt og vente til indekseringen er fullført.","Include RAW image files when downloading stacks and archives.":"Ta med RAW-bildefiler når du laster ned stabler og arkiver.","Include sidecar files when downloading stacks and archives.":"Ta med sidevognfiler når du laster ned stabler og arkiver.","Increase storage size or delete files to continue.":"Øk lagringsstørrelsen eller slett filer for å fortsette.","Index":"Indeks","Index and import files through the user interface.":"Indekser og importer filer gjennom brukergrensesnittet.","Indexing":"Indekserer","Indexing failed":"Indeksering feilet","Indexing media and sidecar files…":"Indekserer media- og sidevognfiler…","Information":"Informasjon","Instance ID":"Instans-ID","Insufficient storage.":"Utilstrekkelig lagringsplass.","Interval":"Intervall","Invalid":"Ugyldig","Invalid address":"Ugyldig adresse","Invalid country":"Ugyldig land","Invalid date":"Ugyldig dato","Invalid parameters":"Ugyldige verdier","Invalid photo selected":"Ugyldig bilde er valgt","Invalid time":"Ugyldig klokkeslett","Invalid URL":"Ugyldig URL","It is a one-time use code that will disable 2FA for your account when you use it.":"Det er en engangskode som vil deaktivere 2FA for kontoen din når du bruker den.","Item":"Element","Items per page:":"Elementer per side:","JPEG Quality: %{n}":"JPEG-kvalitet: %{n}","JPEG Size Limit: %{n}px":"JPEG størrelsesgrense: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"JPEGer og miniatyrbilder er automatisk generert ved behov.","Keywords":"Nøkkelord","Label":"Merkelapp","Labels":"Merkelapper","Labels deleted":"Merkelapper slettet","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: Detaljbevaring, minimale artefakter","Language":"Språk","Last Active":"Siste aktive","Last Login":"Siste pålogging","Last page":"Siste side","Last Sync":"Siste synkronisering","Last Used":"Sist brukt","Latitude":"Breddegrad","LDAP/AD":"LDAP/AD","Learn more":"Lær mer","Learn More":"Lær mer","Legal Information":"Juridisk informasjon","Lens":"Linse","Library":"Bibliotek","License":"Lisens","Like":"Lik","Lime":"Lime","Limit reached, showing first %{n} files":"Grensen nådd, viser de første €{n} filene","Linear: Very Smooth, Best Performance":"Lineær: Veldig jevn, beste ytelse","Link":"Lenke","List":"Liste","List View":"Listevisning","Live":"Direkte","Live Photos":"Fotoer","Load more":"Last inn mer","Loading items...":"Laster inn varer...","Loading...":"Laster...","Local":"Lokalt","Local Time":"Lokaltid","Location":"Plassering","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Loggmeldinger vises her når PhotoPrism kommer over ødelagte filer eller det er andre potensielle problemer.","Login":"Logg inn","Logout":"Log ut","Logs":"Logger","Longitude":"Lengdegrad","Low":"Lav","Magenta":"Magenta","Main Color":"Hovedfarge","Male":"Mann","Manage Account":"Administrer konto","Manual":"Manuell","Manual Upload":"Manuell Opplasting","Maps":"Kart","Marker":"Markør","Maximum number of accounts has been reached.":"Maksimalt antall kontoer er nådd.","Media":"Medier","Medium":"Medium","Membership":"Medlemskap","Merge %{a} with %{b}?":"Vil du slå sammen %{a} med %{b}?","Message":"Melding","Message sent":"Melding sendt","Metadata":"Metadata","Metrics":"Beregninger","Minimize":"Minimer","Missing":"Mangler","Missing or invalid configuration":"Mangler eller ugyldig konfigurasjon","Moments":"Øyeblikk","Monochrome":"Monokrom","Month":"Måned","More options":"Flere alternativer","Mosaic":"Mosaikk","Most Relevant":"Mest relevant","Move Files":"Flytt Filer","Must have at least %{n} characters.":"Må ha minst %{n} tegn.","Mute":"Mute","Name":"Navn","Name too long":"Navn for langt","Never":"Aldri","New":"Ny","New Password":"Nytt Passord","Newest First":"Nyeste først","Next":"Neste","Next page":"Neste side","Next visual":"Neste visuelle","No":"Nei","No albums found":"Ingen album funnet","No data available":"Ingen data tilgjengelig","No labels found":"Ingen merkelapper funnet","No matching records found":"Ingen matchende poster funnet","No more":"Ikke mer","No people found":"Ingen personar funne","No pictures found":"Fant ingen bilder","No recently edited pictures":"Ingen nylig redigerte bilder","No server connection":"Ingen servertilkobling","No servers configured.":"Ingen servere konfigurert.","No services configured.":"Ingen tjenester konfigurert.","No thanks":"Nei takk","No warnings or error containing this keyword. Note that search is case-sensitive.":"Ingen advarsler eller feilmeldinger inneholder dette nøkkelordet. Merk at søket skiller mellom store og små bokstaver.","Non-photographic and low-quality images require a review before they appear in search results.":"Bilder som ikke er fotografiske eller har lav kvalitet må gjennomgås før de kommer i søkeresultater.","None":"Ingen","Not allowed":"Ikke tillatt","Not found":"Ikke funnet","Not sorted.":"Ikke sortert.","Not supported":"Ikke støttet","Note you may manually manage your originals folder and importing is optional.":"Vær oppmerksom på at du kan administrere originalmappen manuelt, og import er valgfritt.","Note:":"Merk:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Merk: Bare WebDAV-servere, som Nextcloud eller PhotoPrism, kan bli satt opp som ekstern tjeneste for sikkerhetskopi og filopplasting.","Notes":"Notater","Nothing to see here yet.":"Ingenting å se her ennå.","Nothing was found.":"Ingenting ble funnet.","Offline":"Frakoblet","OIDC":"OIDC","OK":"OK","Oldest First":"Eldste først","On Windows, enter the following resource in the connection dialog:":"På Windows skriver du inn følgende ressurs i tilkoblingsdialogen:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"Generering av miniatyrbilder på forespørsel kan føre til høy CPU- og minnebruk. Det anbefales ikke for servere og NAS-enheter med begrensede ressurser.","Once a week":"Én gang i uken","One album found":"Ett album funnet","One file found":"Én fil funnet","One file uploaded":"En fil lastet opp","One folder found":"Én mappe funnet","One label found":"En etikett funnet","One person found":"En person funnet","One picture found":"Ett bilde funnet","Only locally managed accounts can be set up for authentication with 2FA.":"Bare lokalt administrerte kontoer kan settes opp for autentisering med 2FA.","Open":"Åpen","optional":"valgfritt","or":"eller","Orange":"Oransje","Organization":"Orientering","Orientation":"Orientering","Original file names will be stored and indexed.":"Filnavn på originaler vil bli lagret og indeksert.","Original Name":"Originalnavn","Originals":"Originaler","Other":"Andre","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Vårt oppdrag er å tilby den mest bruker- og personvernvennlige løsningen for å holde bildene dine organisert og tilgjengelig.","Outdoor":"Utendørs","Page {0}, Current page":"Side {0}, Gjeldende side","Pages":"Sider","Pagination Navigation":"Navigasjon med paginering","Panorama":"Panorama","Panoramas":"Panoramaer","Password":"Passord","Password changed":"Passord endret","People":"Personer","People you share a link with will be able to view public contents.":"Personer du deler en lenke med vil kunne se offentlig innhold.","Permanently deleted":"Permanent slettet","Permanently remove files to free up storage.":"Permanent fjern bilder for å frigjøre lagringsplass.","Person":"Person","Personal":"Personlig","Photo":"Foto","PhotoPrism is 100% self-funded and independent.":"PhotoPrism er 100 % selvfinansiert og uavhengig.","PhotoPrism+ Membership":"PhotoPrism+-medlemskap","Photos":"Fotoer","Picture Title":"Bildetittel","Pink":"Rosa","Place":"Plass","Place & Time":"Sted og tid","Places":"Plasser","Please confirm your new password.":"Vennligst bekreft ditt nye passord.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Vennligst kopier følgende tilfeldig genererte app-passord og oppbevar det på et trygt sted, siden du ikke vil kunne se det igjen:","Please do not upload any private, unlawful or offensive pictures.":"Vennligst ikke last opp private, ulovlige eller støtende bilder.","Please don't upload photos containing offensive content.":"Vennligst ikke last opp bilder som inneholder støtende innhold.","Please enter OTP character {0}":"Vennligst skriv inn OTP-tegn {0}","Please note that changing your password will log you out on other devices and browsers.":"Vær oppmerksom på at endring av passord vil logge deg ut på andre enheter og nettlesere.","Please restart your instance for the changes to take effect.":"Start instansen på nytt for at endringene skal tre i kraft.","Please wait…":"Vennligst vent…","PM":"PM","PNG Size Limit: %{n}px":"PNG størrelsesgrense: %{n}px","Portrait":"Portrett","Preserve filenames":"Behold filnavn","Press enter to create a new album.":"Trykk på Enter for å lage et nytt album.","Prevent database and album backups as well as YAML sidecar files from being created.":"Forhindre at det opprettes sikkerhetskopier av databaser og album samt YAML-sidevognfiler.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Forhindre at andre apper får tilgang til PhotoPrism som en delt nettverksstasjon.","Preview":"Forhåndsvisning","Preview Images":"Forhåndsvisning av bilder","Previous":"Tidligere","Previous page":"Forrige side","Previous visual":"Tidligere visuell","Primary":"Primær","Private":"Privat","Product Feedback":"Produkt-tilbakemelding","Projection":"Projeksjon","Purple":"Lilla","Quality Filter":"Kvalitetsfilter","Quality Score":"Kvalitetspoeng","r":"r","Random":"Tilfeldig","Rating {0} of {1}":"Vurdering {0} av {1}","Raw":"Raw","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Indekser alle originaler på nytt, inkludert allerede indekserte og uendrede filer.","Read-Only Mode":"Skrivebeskyttet Modus","Recently Added":"Nylig lagt til","Recently Archived":"Nylig arkivert","Recently Edited":"Nylig redigert","Recognition starts after indexing has been completed.":"Gjenkjenning starter etter at indekseringen er fullført.","Recognize faces so people can be assigned and found.":"Gjenkjenner ansikter slik at bestemte personer kan bli funnet.","Recognized":"Kjente igjen","Recovery Code":"Gjenopprettingskode","Red":"Rød","Refresh":"Oppdater","Regions":"Regioner","Register":"Registrere","Reload":"Oppdater","Reloading…":"Oppdaterer…","Remote Sync":"Ekstern synkronisering","Remove":"Fjern","remove failed: unknown album":"fjerning mislyktes: ukjent album","Remove from Album":"Fjern fra albumet","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Fjern importerte filer for å spare lagringsplass. Filtyper som ikke støttes vil ikke bli slettet, men vil forbli der de er lagret nå.","Request failed - are you offline?":"Forespørselen mislyktes - er du frakoblet?","Request failed - invalid response":"Forespørselen mislyktes - ugyldig svar","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Krev at bilder som ikke er fotografiske og bilder av lav kvalitet, skal gjennomgås før de vises i søkeresultatene.","Resolution":"Oppløsning","Restart":"Start på nytt","Restore":"Gjenopprett","Restored":"Gjenopprettet","Retry Limit":"Prøv på nytt","Retype Password":"Gjenta Passord","Review":"Gjennomgang","Role":"Rolle","Rows per page:":"Rader per side:","Satellite":"Satellitt","Save":"Lagre","Scan":"Skann","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Skann QR-koden med autentiseringsappen din eller bruk oppsettnøkkelen vist nedenfor, og skriv deretter inn den genererte bekreftelseskoden:","Scans":"Skanninger","Scope":"Omfang","Search":"Søk","Search and display photos on a map.":"Søk og vis bilder på et kart.","Season":"Sesong","Secret":"Hemmelig","Security and Access":"Sikkerhet og tilgang","Select":"Velg","Select a source folder to import files…":"Velg en kildemappe for å importere filer…","Select date":"Velg dato","Select dates":"Velg datoer","Select or create an album":"Velg eller opprett et album","Select the files to upload…":"Velg filene du vil laste opp…","Select the folder to be indexed…":"Velg mappen som skal indekseres…","Select Time":"Velg tid","Selection approved":"Utvalg godkjent","Selection archived":"Utvalg arkivert","Selection restored":"Utvalg gjenopprettet","Sequential Name":"Sekvensielle Navn","Service URL":"Tjeneste-URL","Services":"Tjenester","Session":"Sesjon","Session ID":"Sesjons-ID","Sessions":"Sesjoner","Set as Album Cover":"Sett som albumomslag","Settings":"Innstillinger","Settings saved":"Innstillinger lagret","Setup":"Oppsett","Share":"Del","Share %{s}":"Del %{s}","Share your pictures with other apps and services.":"Del bildene dine med andre apper og tjenester.","Show":"Vis","Show all new faces":"Vis alle nye ansikter","Show Captions":"Vis bildetekster","Show hidden":"Vis skjult","Show less":"Vis mindre","Show more":"Vis mer","Show server logs in Library.":"Vis server-logger i Biblioteket.","Show Titles":"Vis titler","Sidecar":"Sidevogn","Sidecar Files":"Sidevognsfiler","Sign in":"Logg inn","Similar":"Lignende","Size":"Størrelse","Slideshow":"Lysbildefremvisning","Slow":"Sakte","Software":"Programvare","Software Update":"Oppdatering av programvare","Something went wrong, try again":"Noe gikk galt, prøv igjen","Sort by":"Sorter etter","Sort Order":"Sorteringsrekkefølge","Sorted ascending.":"Sortert i stigende rekkefølge.","Sorted descending.":"Sortert synkende.","Source":"Kilde","Stack":"Stabel","Stack files sharing the same unique image or instance identifier.":"Stable filer som deler samme unike bildet eller instans-indikator.","Stack pictures taken at the exact same time and location based on their metadata.":"Stable bilder som er tatt på samme tid og plassa basert på deres metadata.","Stackable":"Kan stables","Stacks":"Stabler","Start":"Start","Start Page":"Startside","Static Size Limit: %{n}px":"Statisk Størrelsesgrense: %{n}px","Status":"Status","Storage":"Lagring","Streets":"Gater","Subject":"Emne","Submit":"Send inn","Successfully activated":"Vellykket aktivert","Successfully Connected":"Tilkobing vellykket","Successfully deleted":"Vellykket slettet","Successfully verified":"Vellykket verifisert","Super Admin":"Superadministrator","Support for additional services, like Google Drive, will be added over time.":"Støtte for tilleggstjenester som Google Drive vil bli lagt til over tid.","Support Our Mission":"Støtt oppdraget vårt","Sync":"Synkroniser","Sync raw and video files":"Synkroniser raw- og video-filer","Taken":"Tatt","Teal":"Blågrønn","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow er nødvendig for bildeklassifisering, ansiktsgjenkjenning og deteksjon av usikkert innhold.","Terrain":"Terreng","Text":"Tekst","Text too long":"Teksten er for lang","Thank You for Your Support!":"Takk for din støtte!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Derfor ble PhotoPrism bygget fra grunnen av for å kjøre der du trenger det, uten at det går på bekostning av frihet, personvern eller funksjonalitet.","The index currently contains %{n} hidden files.":"Indeksen inneholder %{n} skjulte filer.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Formatet deres støttes kanskje ikke, de har ikke blitt konvertert til JPEG enda, eller det finnes duplikater.","Theme":"Tema","This field is required":"Dette feltet er obligatorisk","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Dette setter opp original-mappen som en nettverksstasjon og lar deg åpne, redigere og slette filer fra datamaskinen eller smarttelefonen som om de var lokale.","Time UTC":"Tid UTC","Time Zone":"Tidssone","Timeout":"Tidsavbrudd","Title":{"Account":"Tittel","Photo":"Tittel","":"Tittel"},"Title / Position":"Tittelen er for lang","Title too long":"Tittelen er for lang","to":"til","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"For å unngå å bli utestengt fra kontoen din, last ned, skriv ut eller kopier denne gjenopprettingskoden nå og oppbevar den på et trygt sted.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"For å generere et nytt appspesifikt passord, skriv inn navnet og autorisasjonsomfanget for applikasjonen og velg en utløpsdato:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"For å bytte til en ny autentiseringsapp eller enhet må du først deaktivere tofaktorautentisering og deretter aktivere den på nytt:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"For å oppgradere kan du enten skrive inn en aktiveringskode eller klikke på \"Registrer\" for å registrere deg på nettstedet vårt:","Today":"I dag","Toggle View":"Veksle Visning","Token":"Token","Too many files selected":"For mange filer valgt","Too many requests":"For mange forespørsler","Troubleshooting":"Feilsøking","Try again using other filters or keywords.":"Prøv igjen med andre filtre eller nøkkelord.","Two-factor authentication has been enabled for your account.":"Tofaktorautentisering er aktivert for kontoen din.","Type":"Type","Unauthorized":"Uautorisert","Undo":"Angre","Unique ID":"Unik ID","Unknown":"Ukjent","Unregistered":"Uregistrert","Unsorted":"Usortert","Unstack":"Spre","Updated":"Oppdatert","Updating faces":"Oppdaterer ansikter","Updating index":"Oppdaterer indeks","Updating moments":"Oppdaterer øyeblikk","Updating picture…":"Oppdaterer bildet …","Updating previews":"Oppdaterer forhåndsvisninger","Updating stacks":"Oppdaterer stabler","Upgrade":"Oppgrader","Upgrade Now":"Oppgrader nå","Upload":"Last opp","Upload complete":"Opplasting fullført","Upload complete. Indexing…":"Opplasting fullført. Indekserer…","Upload failed":"Opplasting mislyktes","Upload local files":"Last opp lokale filer","Upload Path":"Last opp bane","Upload to WebDAV and share links with friends.":"Last opp til WebDAV og del lenker med venner.","Uploading %{n} of %{t}…":"Laster opp %{n} av %{t}…","Uploading photos…":"Laster opp bilder…","Uploading…":"Laster opp …","Uploads that may contain such images will be rejected automatically.":"Opplastinger som kan inneholde slike bilder blir avvist automatisk.","Use Presets":"Bruk Forhåndsinnstillinger","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Bruk følgende gjenopprettingskode for å få tilgang til kontoen din når du ikke kan generere en gyldig bekreftelseskode med autentiseringsappen din:","Use your recovery code or contact an administrator for help.":"Bruk gjenopprettingskoden din eller kontakt en administrator for å få hjelp.","User":"Bruker","User Guide":"Brukerhåndbok","User Interface":"Brukergrensesnitt","Username":"Brukernavn","Users":"Brukere","Vector":"Vektor","Vectors":"Vektorer","Verification Code":"Bekreftelseskode","Video":"Video","Video Duration":"Varighet","Videos":"Videoer","View":"Utseende","View search results as a list.":"Vis søkeresultatene som en liste.","Viewer":"Seer","Visitor":"Besøkende","Visual Similarity":"Gruppér etter likhet","Warning":"Advarsel","We appreciate your feedback!":"Vi setter pris på din tilbakemelding!","We do our best to respond within five business days or less.":"Vi gjør vårt beste for å svare innen fem virkedager eller mindre.","Web Login":"Nettinnlogging","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"WebDAV-klienter kan koble seg til PhotoPrism ved å bruke følgende URL:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"WebDAV-klienter, som Microsoft Windows Explorer eller Apple Finder, kan koble seg direkte til PhotoPrism.","WebDAV Upload":"WebDAV-opplasting","WebGL support is disabled in your browser":"WebGL-støtte er deaktivert i nettleseren din","Website":"Nettsted","White":"Hvit","Work Details":"Detaljer","Year":"År","Yellow":"Gul","Yes":"Ja","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Du er velkommen til å kontakte oss på membership@photoprism.app hvis du har spørsmål om medlemskapet ditt.","You can only download one album":"Du kan bare laste ned ett album","You can only download one label":"Du kan bare laste ned én merkelapp","You can upload up to %{n} files for test purposes.":"Du kan laste opp opptil %{n} filer for testformål.","You may only select one item":"Du kan bare velge ett element","You may rescan your library to find additional faces.":"Du kan skanne biblioteket ditt på nytt for å finne flere ansikter.","Your account has been successfully connected.":"Kontoen din har blitt koblet til.","Your browser does not support WebGL":"Nettleseren din støtter ikke WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Din fortsatte støtte hjelper oss med å gi regelmessige oppdateringer og forbli uavhengige, slik at vi kan oppfylle vårt oppdrag og beskytte personvernet ditt.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Biblioteket ditt blir kontinuerlig analysert for automatisk å lage album med spesielle øyeblikk, turer og steder.","Zoom in/out":"Zoom inn/ut"}} \ No newline at end of file +{"nb":{"{0} appended action":"{0} lagt til handling","{0} files":"{0} filer","{0} files ({1} in total)":"{0} filer ({1} totalt)","{0} more":"{0} mer","{0} prepended action":"{0} Foranstilt handling","{0} selected":"{0} valgt","{0}-{1} of {2}":"{0}-{1} av {2}","%{n} albums found":"%{n} album funnet","%{n} files uploaded":"%{n} filer lastet opp","%{n} folders found":"%{n} mapper funnet","%{n} GB of %{q} GB used":"%{n} GB av %{q} GB brukt","%{n} labels found":"%{n} merkelapper funnet","%{n} people found":"%{n} personer ble funnet","%{n} pictures found":"%{n} bilder funnet","%{s} is too long":"%{s} er for lang","%{s} is too short":"%{s} er for kort","1 hour":"1 time","12 hours":"12 timer","2-Factor Authentication":"2-faktor autentisering","2FA":"2FA","4 hours":"4 timer","A click will copy it to your clipboard.":"Et klikk vil kopiere det til utklippstavlen.","A new version of %{s} is available:":"En ny versjon av %{s} er tilgjengelig:","About":"Om","Access Token":"Tilgangstoken","Account":"Konto","Account created":"Konto opprettet","Account deleted":"Konto slettet","Account restored":"Konto gjenopprettet","Accounts":"Kontoer","Accuracy":"Nøyaktighet","Action":"Handling","Actions":"Handlinger","Activate":"Aktiver","Activate to remove sorting.":"Aktiver for å fjerne sorteringen.","Activate to sort ascending.":"Aktiver for å sortere stigende.","Activate to sort descending.":"Aktiver for å sortere synkende.","Activation Code":"Aktiveringskode","Add":"Legg til","Add %{s}?":"Legg til %{s}?","Add Account":"Legg til konto","Add Album":"Legg til Album","Add files to your library via Web Upload.":"Legg til filer i biblioteket ditt ved hjelp av Nettopplasting.","Add Link":"Legg til Lenke","Add person?":"Legg til person?","Add pictures from search results by selecting them.":"Legg til bilder fra søkeresultatene ved å velge dem.","Add to album":"Legg til i album","Added":"Lagt til","Adjust Location":"Juster plassering","Admin":"Administrasjon","Advanced":"Avansert","After 1 day":"Etter 1 dag","After 3 days":"Etter 3 dager","After 7 days":"Etter 7 dager","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Etter å ha skrevet inn passordet ditt for bekreftelse, kan du sette opp tofaktorautentisering med en kompatibel autentiseringsapp eller enhet:","After one month":"Etter én måned","After one year":"Etter ett år","After selecting pictures from search results, you can add them to an album using the context menu.":"Etter at du har valgt bilder fra søkeresultatene, kan du legge dem til i et album ved hjelp av hurtigmenyen.","After two months":"Etter to måneder","After two weeks":"Etter to uker","Album":"Album","Album Backups":"Sikkerhetskopiering av album","Album created":"Album opprettet","Album deleted":"Album slettet","Albums":"Album","Albums deleted":"Album slettet","All":"Alle","All %{n} albums loaded":"Alle %{n} album lastet","All %{n} labels loaded":"Alle %{n} merkelapper innlest","All %{n} people loaded":"Alle %{n} personene er lastet inn","All Cameras":"Alle Kameraer","All Categories":"Alle Kategorier","All Colors":"Alle Farger","All Countries":"Alle Land","All fields are required":"Alle felter er nødvendige","All files from import folder":"Alle filer fra importmappe","All Lenses":"Alle Linser","All Months":"Alle Måneder","All originals":"Alle originaler","All Years":"Alle År","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Alternativt kan du laste opp filene direkte til WebDAV-servere som Nextcloud.","Altitude":"Høyde","Altitude (m)":"Høyde (m)","AM":"AM","Animated":"Animert","Animation":"Animasjon","Animations":"Animasjoner","Any private photos and videos remain private and won't be shared.":"Eventuelle private bilder og videoer forblir private og vil ikke bli delt.","API Key":"API-nøkkel","Application":"Søknad","Apply":"Bruk","Approve":"Godkjenn","Apps and Devices":"Apper og enheter","Archive":"Arkivér","Archived":"Arkivert","Are you sure you want to archive the selection?":"Er du sikker på at du vil arkivere utvalget?","Are you sure you want to delete these albums?":"Er du sikker på at du vil slette disse albumene?","Are you sure you want to delete these labels?":"Er du sikker på at du vil slette disse merkelappene?","Are you sure you want to delete this account?":"Er du sikker på at du vil slette denne kontoen?","Are you sure you want to delete this album?":"Er du sikker på at du vil slette dette albumet?","Are you sure you want to permanently delete these pictures?":"Er du sikker på at du vil permanent slette disse bildene?","Are you sure you want to permanently delete this file?":"Er du sikker på at du vil permanent slette denne filen?","Are you sure?":"Er du sikker?","Artist":"Kunstner","Aspect Ratio":"Sideforhold","Audio":"Lyd","Authentication":"Autentisering","Auto":"Auto","Back":"Tilbake","Back to top":"Tilbake til toppen","Backup":"Sikkerhetskopiering","Badge":"Merke","Base Path":"Basebane","Become a member today, support our mission and enjoy our member benefits!":"Bli en sponsor i dag, støtt oppdraget vårt og nyt medlemsfordelene våre!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Ved å være 100% selvfinansiert og uavhengig, kan vi love deg at vi aldri vil selge dataene dine og at vi alltid vil være gjennomsiktige om programvaren og tjenestene våre.","Bio":"Info","Birth Date":"Fødselsdato","Black":"Svart","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Lanczos, bedre kantutjevning","Blue":"Blå","Brown":"Brun","Browse":"Bla gjennom","Browse and edit image classification labels.":"Bla gjennom og rediger merkelapper for bildeklassifisering.","Browse and share your pictures organized into monthly albums.":"Bla gjennom og del bildene dine organisert i månedlige album.","Browse Files":"Bla gjennom filer","Browse indexed files and folders in Library.":"Bla gjennom indekserte filer og mapper i Biblioteket.","Bug Report":"Feilmelding","Busy, please wait…":"Opptatt, vennligst vent…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Ved å bruke programvaren og tjenestene vi tilbyr, godtar du våre vilkår for bruk, personvernerklæring og etiske retningslinjer.","Calendar":"Kalender","Camera":"Kamera","Camera Serial":"Kamera-serienummer","Can't access your authenticator app or device?":"Får du ikke tilgang til autentiseringsappen eller -enheten din?","Can't load more, limit reached":"Kan ikke laste inn mer, grensen nådd","Can't select more items":"Kan ikke velge flere elementer","Cancel":"Avbryt","Cannot copy to clipboard":"Kan ikke kopiere til utklippstavlen","Caption":"Bildetekst","Cards":"Kort","Carousel slide {0} of {1}":"Karusellbilde {0} av {1}","Category":"Kategori","Change Avatar":"Endre profilbilde","Change Password":"Bytt Passord","Change personal profile and security settings.":"Endre personlig profil og sikkerhetsinnstillinger.","Change photo titles, locations, and other metadata.":"Endre fototitler, steder og andre metadata.","Change private flag":"Endre private flagg","Changes could not be saved":"Kan ikke lagre endringer","Changes successfully saved":"Endringene ble lagret","Changes to the advanced settings require a restart to take effect.":"Endringer i de avanserte innstillingene krever en omstart for å tre i kraft.","Checked":"Krysset av","Chroma":"Kroma","Cleaning index and cache":"Rengjøring av indeks og hurtigbuffer","Cleanup":"Opprydding","Clear {0}":"Tøm {0}","Client":"Kunde","Client Credentials":"Kundens legitimasjon","Close":"Lukk","Codec":"Kodeks","Color":"Farge","Color Profile":"Fargeprofil","Colors":"Farger","Compare Editions":"Sammenlign utgaver","Complete Rescan":"Komplett Ny Skanning","Confidence":"Konfidens","Confirm":"Bekrefte","Connect":"Koble til","Connect via WebDAV":"Koble til via WebDAV","Connected":"Tilkoblet","Contact Details":"Kontaktinformasjon","Contact Us":"Kontakt Oss","Contains %{n} pictures.":"Inneholder %{n} bilder.","Contains one picture.":"Inneholder ett bilde.","Content":"Innhold","Continue":"Fortsette","Continue with %{provider}":"Fortsett med %{tilbyder}","Contributor":"Bidragsyter","Converting":"Konverterer","Copied to clipboard":"Kopiert til utklippstavlen","Copy":"Kopiere","Copyright":"Opphavsrett","Couldn't find anything.":"Kunne ikke finne noe.","Country":"Land","Create Account":"Opprett konto","Create album":"Opprett album","Create regular backups based on the configured schedule.":"Opprett sikkerhetskopier av indekser basert på den konfigurerte tidsplanen.","Create YAML files to back up album metadata.":"Opprett YAML-filer for å sikkerhetskopiere metadata for album.","Create YAML sidecar files to back up picture metadata.":"Opprett YAML-sidevognfiler for å sikkerhetskopiere bildemetadata.","Created":"Opprettet","Creating thumbnails for":"Oppretter miniatyrbilder for","Cubic: Moderate Quality, Good Performance":"Kubisk: Moderat kvalitet, god ytelse","Current Password":"Nåværende Passord","Custom":"Tilpasset","Cyan":"Turkis","Daily":"Daglig","Database Backups":"Sikkerhetskopiering av databaser","Day":"Dag","Deactivate":"Deaktiver","Debug Logs":"Feilsøkingslogger","Default":"Standard","Default Folder":"Standardmappe","Delete":"Slett","Delete Album":"Slett album","Delete All":"Slett alle","Delete all?":"Slett alt?","Delete orphaned index entries, sidecar files and thumbnails.":"Slett foreldreløse indeksoppføringer, sidefiler og miniatyrbilder.","Description":"Beskrivelse","Detailed instructions can be found in our User Guide.":"Detaljerte instruksjoner finner du i vår Brukerhåndbok.","Details":"Detaljer","Dimensions":"Størrelser","Disable Backups":"Deaktiver Sikkerhetskopi","Disable Darktable":"Deaktiver Darktable","Disable ExifTool":"Deaktiver ExifTool","Disable features that require write permission for the originals folder.":"Deaktiver funksjoner som krever skrivetillatelse for originalmappen.","Disable FFmpeg":"Deaktiver FFmpeg","Disable ImageMagick":"Deaktiver ImageMagick","Disable interactive world maps and reverse geocoding.":"Deaktiver interaktive verdenskart og omvendt geokoding.","Disable Places":"Deaktiver Plasser","Disable RawTherapee":"Deaktiver RawTherapee","Disable TensorFlow":"Deaktiver TensorFlow","Disable Vectors":"Deaktiver vektorer","Disable WebDAV":"Deaktiver WebDAV","Disables vector graphics support.":"Deaktiverer støtte for vektorgrafikk.","Disables video transcoding and thumbnail extraction.":"Deaktiverer videotranskoding og miniatyrbildeekstraksjon.","Discover":"Utforsk","Dismiss":"Avskjed","Display Name":"Vist navn","Display picture captions in search results.":"Vis bildetekster i søkeresultatene.","Display picture titles in search results.":"Vis bildetitler i søkeresultatene.","Document":"Dokument","Documents":"Dokumenter","Don't use Darktable to convert RAW images.":"Ikke bruk Darktable til å konvertere RAW-bilder.","Don't use ImageMagick to convert images.":"Ikke bruk ImageMagick til å konvertere bilder.","Don't use RawTherapee to convert RAW images.":"Ikke bruk RawTherapee til å konvertere RAW-bilder.","Done":"Ferdig","Done.":"Ferdig.","Download":"Last ned","Download only original media files, without any automatically generated files.":"Last ned bare originale mediefiler, uten automatisk genererte filer.","Download remote files":"Last ned eksterne filer","Download single files and zip archives.":"Last ned enkelte filer og zip-arkiver.","Downloading…":"Laster ned…","Downscaling Filter":"Nedskalerer Filter","Drag and drop files here":"Dra og slipp filer her","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"På grunn av det store antallet e-poster vi mottar, kan det hende at teamet vårt ikke kan svare deg umiddelbart.","Duplicates will be skipped and only appear once.":"Duplikater hopes over og vises bare én gang.","Duration":"Varighet","Dynamic Previews":"Dynamiske Forhåndsvisninger","Dynamic Size Limit: %{n}px":"Grense for Dynamisk Størrelse:%{n}px","E-Mail":"E-post","Edit":"Rediger","Edit %{s}":"Rediger %{s}","Edit Account":"Rediger Konto","Edit Photo":"Rediger Bilde","Edited":"Redigert","Email":"E-post","Enable debug mode to display additional logs and help with troubleshooting.":"Aktiver feilsøkingsmodus for å vise flere logger og hjelpe deg med feilsøking.","Enable new features that may be incomplete or unstable.":"Aktiver nye funksjoner som kan være ufullstendige eller ustabile.","Enables RAW converter presets. May reduce performance.":"Aktiverer forhåndsinnstillinger for RAW -omformer. Kan redusere ytelsen.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Aktivering av tofaktorautentisering betyr at du trenger en tilfeldig generert bekreftelseskode for å logge på, så selv om noen får tilgang til passordet ditt, vil de ikke få tilgang til kontoen din.","Enter date":"Angi dato","Enter dates":"Angi datoer","Enter the code generated by your authenticator app:":"Skriv inn koden som genereres av autentiseringsappen din:","Enter verification code":"Angi verifikasjonskode","Enter your password to confirm the action and continue:":"Skriv inn passordet ditt for å bekrefte handlingen og fortsett:","Error":"Feil","Errors":"Feil","Estimate":"Anslå","Estimate Locations":"Anslå lokasjoner","Estimate the approximate location of pictures without GPS coordinates.":"Anslå omtrentlig plassering av bilder uten GPS-koordinater.","Every two days":"Hver andre dag","Exclude content marked as private from search results, shared albums, labels, and places.":"Ekskluder innhold merket som privat fra søkeresultater, delte album, etiketter og steder.","Exclude hidden":"Ekskluder skjult","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"Metadataekstraksjon med ExifTool er påkrevd for å få full støtte for Video, Live Photo og XMP.","Experimental Features":"Eksperimentelle Funksjoner","Expires":"Utgår","Exposure":"Eksponering","Extract still images and generate thumbnails while indexing.":"Trekk ut stillbilder og generer miniatyrbilder mens du indekserer.","F Number":"F-nummer","Face":"Ansikt","Faces":"Ansikter","Failed removing link":"Fikk ikke til å fjerne lenke","Failed to connect account.":"Kunne ikke koble til konto.","Failed updating link":"Fikk ikke til å oppdatere lenke","Family Name":"Familienavn","Fast":"Hurtig","Favorite":"Favoritt","Favorites":"Favoritter","Feature Request":"Funksjonsforespørsel","Feedback":"Tilbakemelding","Female":"Hunn","File":"Fil","File Browser":"Filutforsker","File Conversion":"Filkonvertering","File Name":"Filnavn","File Size":"Filstørrelse","Filename":"Filnavn","Files":"Filer","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Filer med sekvensielle navn som \"IMG_1234 (2) og \"IMG_1234 (3)\" tilhører det samme bildet.","First page":"Første side","Focal Length":"Brennvidde","Folder":"Mappe","Folder contains %{n} files":"Mappen inneholder %{n} filer","Folder is empty":"Mappen er tom","Folders":"Mapper","Forgot password?":"Glemt passord?","FPS":"FPS","Frames":"Rammer","Full Access":"Full tilgang","Fullscreen":"Fullskjerm","General":"Generell","Generate":"generere","Generate albums of special moments, journeys, and places.":"Oppretter automatisk album med spesielle øyeblikk, turer og steder.","Generate Previews":"Generer forhåndsvisninger","Generated":"Generert","Get Started":"Kom i gang","Given Name":"Fornavn","Global Options":"Globale alternativer","Go to page {0}":"Gå til side {0}","Gold":"Gull","Green":"Grønn","Grey":"Grå","Guest":"Gjest","Hash":"Hash","Help":"Hjelp","Help & Support":"Hjelp og støtte","Hidden":"Skjult","Hidden Files":"Skjulte Filer","Hide":"Skjul","Hide photos that have been moved to archive.":"Skjul bilder som har blitt flyttet til arkivet.","High":"Høy","High Dynamic Range (HDR)":"Høyt dynamisk område (HDR)","How can we help?":"Hvordan kan vi hjelpe?","Hybrid":"Hybrid","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Hvis du mister tilgangen til autentiseringsappen eller enheten din, kan du bruke gjenopprettingskoden for å få tilbake tilgang til kontoen din.","Image":"Bilde","Image Quality":"Bildekvalitet","Import":"Importér","Import failed":"Importering feilet","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Importerte filer vil bli sortert etter dato og gitt et unikt navn for å unngå duplikater.","Imported files will be sorted by date and given a unique name.":"Importerte filer vil bli sortert etter dato og gitt et unikt navn.","Importing %{s}…":"Importerer %{s}…","Importing files to originals…":"Importerer filer til originaler…","in":"inn","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"Hvis bilder du forventer mangler, kan du skanne biblioteket på nytt og vente til indekseringen er fullført.","Include RAW image files when downloading stacks and archives.":"Ta med RAW-bildefiler når du laster ned stabler og arkiver.","Include sidecar files when downloading stacks and archives.":"Ta med sidevognfiler når du laster ned stabler og arkiver.","Increase storage size or delete files to continue.":"Øk lagringsstørrelsen eller slett filer for å fortsette.","Index":"Indeks","Index and import files through the user interface.":"Indekser og importer filer gjennom brukergrensesnittet.","Indexing":"Indekserer","Indexing failed":"Indeksering feilet","Indexing media and sidecar files…":"Indekserer media- og sidevognfiler…","Information":"Informasjon","Instance ID":"Instans-ID","Insufficient storage.":"Utilstrekkelig lagringsplass.","Interval":"Intervall","Invalid":"Ugyldig","Invalid address":"Ugyldig adresse","Invalid country":"Ugyldig land","Invalid date":"Ugyldig dato","Invalid parameters":"Ugyldige verdier","Invalid photo selected":"Ugyldig bilde er valgt","Invalid time":"Ugyldig klokkeslett","Invalid URL":"Ugyldig URL","It is a one-time use code that will disable 2FA for your account when you use it.":"Det er en engangskode som vil deaktivere 2FA for kontoen din når du bruker den.","Item":"Element","Items per page:":"Elementer per side:","JPEG Quality: %{n}":"JPEG-kvalitet: %{n}","JPEG Size Limit: %{n}px":"JPEG størrelsesgrense: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"JPEGer og miniatyrbilder er automatisk generert ved behov.","Keywords":"Nøkkelord","Label":"Merkelapp","Labels":"Merkelapper","Labels deleted":"Merkelapper slettet","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: Detaljbevaring, minimale artefakter","Language":"Språk","Last Active":"Siste aktive","Last Login":"Siste pålogging","Last page":"Siste side","Last Sync":"Siste synkronisering","Last Used":"Sist brukt","Latitude":"Breddegrad","LDAP/AD":"LDAP/AD","Learn more":"Lær mer","Learn More":"Lær mer","Legal Information":"Juridisk informasjon","Lens":"Linse","Library":"Bibliotek","License":"Lisens","Like":"Lik","Lime":"Lime","Limit reached, showing first %{n} files":"Grensen nådd, viser de første €{n} filene","Linear: Very Smooth, Best Performance":"Lineær: Veldig jevn, beste ytelse","Link":"Lenke","List":"Liste","List View":"Listevisning","Live":"Direkte","Live Photos":"Fotoer","Load more":"Last inn mer","Loading items...":"Laster inn varer...","Loading...":"Laster...","Local":"Lokalt","Local Time":"Lokaltid","Location":"Plassering","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Loggmeldinger vises her når PhotoPrism kommer over ødelagte filer eller det er andre potensielle problemer.","Login":"Logg inn","Logout":"Log ut","Logs":"Logger","Longitude":"Lengdegrad","Low":"Lav","Magenta":"Magenta","Main Color":"Hovedfarge","Male":"Mann","Manage Account":"Administrer konto","Manager":"Leder","Manual":"Manuell","Manual Upload":"Manuell Opplasting","Maps":"Kart","Marker":"Markør","Maximum number of accounts has been reached.":"Maksimalt antall kontoer er nådd.","Media":"Medier","Medium":"Medium","Membership":"Medlemskap","Merge %{a} with %{b}?":"Vil du slå sammen %{a} med %{b}?","Message":"Melding","Message sent":"Melding sendt","Metadata":"Metadata","Metrics":"Beregninger","Minimize":"Minimer","Missing":"Mangler","Missing or invalid configuration":"Mangler eller ugyldig konfigurasjon","Moments":"Øyeblikk","Monochrome":"Monokrom","Month":"Måned","More options":"Flere alternativer","Mosaic":"Mosaikk","Most Relevant":"Mest relevant","Move Files":"Flytt Filer","Must have at least %{n} characters.":"Må ha minst %{n} tegn.","Mute":"Mute","Name":"Navn","Name too long":"Navn for langt","Never":"Aldri","New":"Ny","New Password":"Nytt Passord","Newest First":"Nyeste først","Next":"Neste","Next page":"Neste side","Next visual":"Neste visuelle","No":"Nei","No albums found":"Ingen album funnet","No data available":"Ingen data tilgjengelig","No labels found":"Ingen merkelapper funnet","No matching records found":"Ingen matchende poster funnet","No more":"Ikke mer","No people found":"Ingen personar funne","No pictures found":"Fant ingen bilder","No recently edited pictures":"Ingen nylig redigerte bilder","No results":"Ingen resultater","No server connection":"Ingen servertilkobling","No servers configured.":"Ingen servere konfigurert.","No services configured.":"Ingen tjenester konfigurert.","No thanks":"Nei takk","No warnings or error containing this keyword. Note that search is case-sensitive.":"Ingen advarsler eller feilmeldinger inneholder dette nøkkelordet. Merk at søket skiller mellom store og små bokstaver.","Non-photographic and low-quality images require a review before they appear in search results.":"Bilder som ikke er fotografiske eller har lav kvalitet må gjennomgås før de kommer i søkeresultater.","None":"Ingen","Not allowed":"Ikke tillatt","Not found":"Ikke funnet","Not sorted.":"Ikke sortert.","Not supported":"Ikke støttet","Note you may manually manage your originals folder and importing is optional.":"Vær oppmerksom på at du kan administrere originalmappen manuelt, og import er valgfritt.","Note:":"Merk:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Merk: Bare WebDAV-servere, som Nextcloud eller PhotoPrism, kan bli satt opp som ekstern tjeneste for sikkerhetskopi og filopplasting.","Notes":"Notater","Nothing to see here yet.":"Ingenting å se her ennå.","Nothing was found.":"Ingenting ble funnet.","Offline":"Frakoblet","OIDC":"OIDC","OK":"OK","Oldest First":"Eldste først","On Windows, enter the following resource in the connection dialog:":"På Windows skriver du inn følgende ressurs i tilkoblingsdialogen:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"Generering av miniatyrbilder på forespørsel kan føre til høy CPU- og minnebruk. Det anbefales ikke for servere og NAS-enheter med begrensede ressurser.","Once a week":"Én gang i uken","One album found":"Ett album funnet","One file found":"Én fil funnet","One file uploaded":"En fil lastet opp","One folder found":"Én mappe funnet","One label found":"En etikett funnet","One person found":"En person funnet","One picture found":"Ett bilde funnet","Only locally managed accounts can be set up for authentication with 2FA.":"Bare lokalt administrerte kontoer kan settes opp for autentisering med 2FA.","Open":"Åpen","optional":"valgfritt","or":"eller","Orange":"Oransje","Organization":"Orientering","Orientation":"Orientering","Original file names will be stored and indexed.":"Filnavn på originaler vil bli lagret og indeksert.","Original Name":"Originalnavn","Originals":"Originaler","Other":"Andre","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Vårt oppdrag er å tilby den mest bruker- og personvernvennlige løsningen for å holde bildene dine organisert og tilgjengelig.","Outdoor":"Utendørs","Page {0}, Current page":"Side {0}, Gjeldende side","Pages":"Sider","Pagination Navigation":"Navigasjon med paginering","Panorama":"Panorama","Panoramas":"Panoramaer","Password":"Passord","Password changed":"Passord endret","People":"Personer","People you share a link with will be able to view public contents.":"Personer du deler en lenke med vil kunne se offentlig innhold.","Permanently deleted":"Permanent slettet","Permanently remove files to free up storage.":"Permanent fjern bilder for å frigjøre lagringsplass.","Person":"Person","Personal":"Personlig","Photo":"Foto","PhotoPrism is 100% self-funded and independent.":"PhotoPrism er 100 % selvfinansiert og uavhengig.","PhotoPrism+ Membership":"PhotoPrism+-medlemskap","Photos":"Fotoer","Picture Title":"Bildetittel","Pink":"Rosa","Place":"Plass","Place & Time":"Sted og tid","Places":"Plasser","Please confirm your new password.":"Vennligst bekreft ditt nye passord.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Vennligst kopier følgende tilfeldig genererte app-passord og oppbevar det på et trygt sted, siden du ikke vil kunne se det igjen:","Please do not upload any private, unlawful or offensive pictures.":"Vennligst ikke last opp private, ulovlige eller støtende bilder.","Please don't upload photos containing offensive content.":"Vennligst ikke last opp bilder som inneholder støtende innhold.","Please enter OTP character {0}":"Vennligst skriv inn OTP-tegn {0}","Please note that changing your password will log you out on other devices and browsers.":"Vær oppmerksom på at endring av passord vil logge deg ut på andre enheter og nettlesere.","Please restart your instance for the changes to take effect.":"Start instansen på nytt for at endringene skal tre i kraft.","Please wait…":"Vennligst vent…","PM":"PM","PNG Size Limit: %{n}px":"PNG størrelsesgrense: %{n}px","Portrait":"Portrett","Preserve filenames":"Behold filnavn","Press enter to create a new album.":"Trykk på Enter for å lage et nytt album.","Prevent database and album backups as well as YAML sidecar files from being created.":"Forhindre at det opprettes sikkerhetskopier av databaser og album samt YAML-sidevognfiler.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Forhindre at andre apper får tilgang til PhotoPrism som en delt nettverksstasjon.","Preview":"Forhåndsvisning","Preview Images":"Forhåndsvisning av bilder","Previous":"Tidligere","Previous page":"Forrige side","Previous visual":"Tidligere visuell","Primary":"Primær","Private":"Privat","Product Feedback":"Produkt-tilbakemelding","Projection":"Projeksjon","Purple":"Lilla","Quality Filter":"Kvalitetsfilter","Quality Score":"Kvalitetspoeng","r":"r","Random":"Tilfeldig","Rating {0} of {1}":"Vurdering {0} av {1}","Raw":"Raw","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Indekser alle originaler på nytt, inkludert allerede indekserte og uendrede filer.","Read-Only Mode":"Skrivebeskyttet Modus","Recently Added":"Nylig lagt til","Recently Archived":"Nylig arkivert","Recently Edited":"Nylig redigert","Recognition starts after indexing has been completed.":"Gjenkjenning starter etter at indekseringen er fullført.","Recognize faces so people can be assigned and found.":"Gjenkjenner ansikter slik at bestemte personer kan bli funnet.","Recognized":"Kjente igjen","Recovery Code":"Gjenopprettingskode","Red":"Rød","Refresh":"Oppdater","Regions":"Regioner","Register":"Registrere","Reload":"Oppdater","Reloading…":"Oppdaterer…","Remote Sync":"Ekstern synkronisering","Remove":"Fjern","remove failed: unknown album":"fjerning mislyktes: ukjent album","Remove from Album":"Fjern fra albumet","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Fjern importerte filer for å spare lagringsplass. Filtyper som ikke støttes vil ikke bli slettet, men vil forbli der de er lagret nå.","Request failed - are you offline?":"Forespørselen mislyktes - er du frakoblet?","Request failed - invalid response":"Forespørselen mislyktes - ugyldig svar","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Krev at bilder som ikke er fotografiske og bilder av lav kvalitet, skal gjennomgås før de vises i søkeresultatene.","Resolution":"Oppløsning","Restart":"Start på nytt","Restore":"Gjenopprett","Restored":"Gjenopprettet","Retry Limit":"Prøv på nytt","Retype Password":"Gjenta Passord","Review":"Gjennomgang","Role":"Rolle","Rows per page:":"Rader per side:","Satellite":"Satellitt","Save":"Lagre","Scan":"Skann","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Skann QR-koden med autentiseringsappen din eller bruk oppsettnøkkelen vist nedenfor, og skriv deretter inn den genererte bekreftelseskoden:","Scans":"Skanninger","Scope":"Omfang","Search":"Søk","Search and display photos on a map.":"Søk og vis bilder på et kart.","Season":"Sesong","Secret":"Hemmelig","Security and Access":"Sikkerhet og tilgang","Select":"Velg","Select a source folder to import files…":"Velg en kildemappe for å importere filer…","Select date":"Velg dato","Select dates":"Velg datoer","Select or create an album":"Velg eller opprett et album","Select the files to upload…":"Velg filene du vil laste opp…","Select the folder to be indexed…":"Velg mappen som skal indekseres…","Select Time":"Velg tid","Selection approved":"Utvalg godkjent","Selection archived":"Utvalg arkivert","Selection restored":"Utvalg gjenopprettet","Sequential Name":"Sekvensielle Navn","Service URL":"Tjeneste-URL","Services":"Tjenester","Session":"Sesjon","Session ID":"Sesjons-ID","Sessions":"Sesjoner","Set as Album Cover":"Sett som albumomslag","Settings":"Innstillinger","Settings saved":"Innstillinger lagret","Setup":"Oppsett","Share":"Del","Share %{s}":"Del %{s}","Share your pictures with other apps and services.":"Del bildene dine med andre apper og tjenester.","Show":"Vis","Show all new faces":"Vis alle nye ansikter","Show Captions":"Vis bildetekster","Show hidden":"Vis skjult","Show less":"Vis mindre","Show more":"Vis mer","Show server logs in Library.":"Vis server-logger i Biblioteket.","Show Titles":"Vis titler","Sidecar":"Sidevogn","Sidecar Files":"Sidevognsfiler","Sign in":"Logg inn","Similar":"Lignende","Size":"Størrelse","Slideshow":"Lysbildefremvisning","Slow":"Sakte","Software":"Programvare","Software Update":"Oppdatering av programvare","Something went wrong, try again":"Noe gikk galt, prøv igjen","Sort by":"Sorter etter","Sort Order":"Sorteringsrekkefølge","Sorted ascending.":"Sortert i stigende rekkefølge.","Sorted descending.":"Sortert synkende.","Source":"Kilde","Stack":"Stabel","Stack files sharing the same unique image or instance identifier.":"Stable filer som deler samme unike bildet eller instans-indikator.","Stack pictures taken at the exact same time and location based on their metadata.":"Stable bilder som er tatt på samme tid og plassa basert på deres metadata.","Stackable":"Kan stables","Stacks":"Stabler","Start":"Start","Start Page":"Startside","Static Size Limit: %{n}px":"Statisk Størrelsesgrense: %{n}px","Status":"Status","Storage":"Lagring","Streets":"Gater","Subject":"Emne","Submit":"Send inn","Successfully activated":"Vellykket aktivert","Successfully Connected":"Tilkobing vellykket","Successfully deleted":"Vellykket slettet","Successfully verified":"Vellykket verifisert","Super Admin":"Superadministrator","Support for additional services, like Google Drive, will be added over time.":"Støtte for tilleggstjenester som Google Drive vil bli lagt til over tid.","Support Our Mission":"Støtt oppdraget vårt","Sync":"Synkroniser","Sync raw and video files":"Synkroniser raw- og video-filer","Taken":"Tatt","Teal":"Blågrønn","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow er nødvendig for bildeklassifisering, ansiktsgjenkjenning og deteksjon av usikkert innhold.","Terrain":"Terreng","Text":"Tekst","Text too long":"Teksten er for lang","Thank You for Your Support!":"Takk for din støtte!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Derfor ble PhotoPrism bygget fra grunnen av for å kjøre der du trenger det, uten at det går på bekostning av frihet, personvern eller funksjonalitet.","The index currently contains %{n} hidden files.":"Indeksen inneholder %{n} skjulte filer.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Formatet deres støttes kanskje ikke, de har ikke blitt konvertert til JPEG enda, eller det finnes duplikater.","Theme":"Tema","This field is required":"Dette feltet er obligatorisk","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Dette setter opp original-mappen som en nettverksstasjon og lar deg åpne, redigere og slette filer fra datamaskinen eller smarttelefonen som om de var lokale.","Time UTC":"Tid UTC","Time Zone":"Tidssone","Timeout":"Tidsavbrudd","Title":{"Account":"Tittel","Photo":"Tittel","":"Tittel"},"Title / Position":"Tittelen er for lang","Title too long":"Tittelen er for lang","to":"til","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"For å unngå å bli utestengt fra kontoen din, last ned, skriv ut eller kopier denne gjenopprettingskoden nå og oppbevar den på et trygt sted.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"For å generere et nytt appspesifikt passord, skriv inn navnet og autorisasjonsomfanget for applikasjonen og velg en utløpsdato:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"For å bytte til en ny autentiseringsapp eller enhet må du først deaktivere tofaktorautentisering og deretter aktivere den på nytt:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"For å oppgradere kan du enten skrive inn en aktiveringskode eller klikke på \"Registrer\" for å registrere deg på nettstedet vårt:","Today":"I dag","Toggle View":"Veksle Visning","Token":"Token","Too many files selected":"For mange filer valgt","Too many requests":"For mange forespørsler","Troubleshooting":"Feilsøking","Try again using other filters or keywords.":"Prøv igjen med andre filtre eller nøkkelord.","Two-factor authentication has been enabled for your account.":"Tofaktorautentisering er aktivert for kontoen din.","Type":"Type","Unable to delete":"Kan ikke slette","Unauthorized":"Uautorisert","Undo":"Angre","Unique ID":"Unik ID","Unknown":"Ukjent","Unregistered":"Uregistrert","Unsorted":"Usortert","Unstack":"Spre","Updated":"Oppdatert","Updating faces":"Oppdaterer ansikter","Updating index":"Oppdaterer indeks","Updating moments":"Oppdaterer øyeblikk","Updating picture…":"Oppdaterer bildet …","Updating previews":"Oppdaterer forhåndsvisninger","Updating stacks":"Oppdaterer stabler","Upgrade":"Oppgrader","Upgrade Now":"Oppgrader nå","Upload":"Last opp","Upload complete":"Opplasting fullført","Upload complete. Indexing…":"Opplasting fullført. Indekserer…","Upload failed":"Opplasting mislyktes","Upload local files":"Last opp lokale filer","Upload Path":"Last opp bane","Upload to WebDAV and share links with friends.":"Last opp til WebDAV og del lenker med venner.","Uploading %{n} of %{t}…":"Laster opp %{n} av %{t}…","Uploading photos…":"Laster opp bilder…","Uploading…":"Laster opp …","Uploads that may contain such images will be rejected automatically.":"Opplastinger som kan inneholde slike bilder blir avvist automatisk.","Use Presets":"Bruk Forhåndsinnstillinger","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Bruk følgende gjenopprettingskode for å få tilgang til kontoen din når du ikke kan generere en gyldig bekreftelseskode med autentiseringsappen din:","Use your recovery code or contact an administrator for help.":"Bruk gjenopprettingskoden din eller kontakt en administrator for å få hjelp.","User":"Bruker","User Guide":"Brukerhåndbok","User Interface":"Brukergrensesnitt","Username":"Brukernavn","Users":"Brukere","Vector":"Vektor","Vectors":"Vektorer","Verification Code":"Bekreftelseskode","Video":"Video","Video Duration":"Varighet","Videos":"Videoer","View":"Utseende","View search results as a list.":"Vis søkeresultatene som en liste.","Viewer":"Seer","Visitor":"Besøkende","Visual Similarity":"Gruppér etter likhet","Warning":"Advarsel","We appreciate your feedback!":"Vi setter pris på din tilbakemelding!","We do our best to respond within five business days or less.":"Vi gjør vårt beste for å svare innen fem virkedager eller mindre.","Web Login":"Nettinnlogging","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"WebDAV-klienter kan koble seg til PhotoPrism ved å bruke følgende URL:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"WebDAV-klienter, som Microsoft Windows Explorer eller Apple Finder, kan koble seg direkte til PhotoPrism.","WebDAV Upload":"WebDAV-opplasting","WebGL support is disabled in your browser":"WebGL-støtte er deaktivert i nettleseren din","Website":"Nettsted","White":"Hvit","Work Details":"Detaljer","Year":"År","Yellow":"Gul","Yes":"Ja","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Du er velkommen til å kontakte oss på membership@photoprism.app hvis du har spørsmål om medlemskapet ditt.","You can only download one album":"Du kan bare laste ned ett album","You can only download one label":"Du kan bare laste ned én merkelapp","You can search for a location or move the marker on the map to change the position:":"Du kan søke etter et sted eller flytte markøren på kartet for å endre posisjonen:","You can upload up to %{n} files for test purposes.":"Du kan laste opp opptil %{n} filer for testformål.","You may only select one item":"Du kan bare velge ett element","You may rescan your library to find additional faces.":"Du kan skanne biblioteket ditt på nytt for å finne flere ansikter.","Your account has been successfully connected.":"Kontoen din har blitt koblet til.","Your browser does not support WebGL":"Nettleseren din støtter ikke WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Din fortsatte støtte hjelper oss med å gi regelmessige oppdateringer og forbli uavhengige, slik at vi kan oppfylle vårt oppdrag og beskytte personvernet ditt.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Biblioteket ditt blir kontinuerlig analysert for automatisk å lage album med spesielle øyeblikk, turer og steder.","Zoom in/out":"Zoom inn/ut"}} \ No newline at end of file diff --git a/frontend/src/locales/json/nl.json b/frontend/src/locales/json/nl.json index 77a382459..b0f0ad5e4 100644 --- a/frontend/src/locales/json/nl.json +++ b/frontend/src/locales/json/nl.json @@ -1 +1 @@ -{"nl":{"{0} appended action":"{0} bijgevoegde actie","{0} files":"{0} bestanden","{0} files ({1} in total)":"{0} bestanden ({1} in totaal)","{0} more":"{0} meer","{0} prepended action":"{0} actie vooraf","{0} selected":"{0} geselecteerd","{0}-{1} of {2}":"{0}-{1} van {2}","%{n} albums found":"%{n} albums gevonden","%{n} files uploaded":"%{n} opgeladen bestanden","%{n} folders found":"%{n} mappen gevonden","%{n} GB of %{q} GB used":"%{n} GB van %{q} GB gebruikt","%{n} labels found":"%{n} labels gevonden","%{n} people found":"%{n} personen gevonden","%{n} pictures found":"%{n} foto's gevonden","%{s} is too long":"%{s} is te lang","%{s} is too short":"%{s} is te kort","1 hour":"1 uur","12 hours":"12 uren","2-Factor Authentication":"2-Factor Authenticatie","2FA":"2FA","4 hours":"4 uren","A click will copy it to your clipboard.":"Een klik zal het naar uw klembord kopiëren.","A new version of %{s} is available:":"Er is een nieuwe versie van %{s} beschikbaar:","About":"Over","Access Token":"Toegangssleutel","Account":"Account","Account created":"Account aangemaakt","Account deleted":"Account verwijderd","Account restored":"Account hersteld","Accounts":"Accounts","Accuracy":"Nauwkeurigheid","Action":"Actie","Actions":"Acties","Activate":"Activeer","Activate to remove sorting.":"Activeren om sorteren te verwijderen.","Activate to sort ascending.":"Activeren om oplopend te sorteren.","Activate to sort descending.":"Activeren om aflopend te sorteren.","Activation Code":"Activeringscode","Add":"Toevoegen","Add %{s}?":"%{naam} toevoegen?","Add Account":"Account toevoegen","Add Album":"Toevoegen aan album","Add files to your library via Web Upload.":"Voeg bestanden toe aan uw bibliotheek via Web Upload.","Add Link":"Link toevoegen","Add person?":"Persoon toevoegen?","Add pictures from search results by selecting them.":"Voeg foto's toe uit zoekresultaten door ze te selecteren.","Add to album":"Toevoegen aan album","Added":"Toegevoegd","Admin":"Admin","Advanced":"Geavanceerd","After 1 day":"Na 1 dag","After 3 days":"Na 3 dagen","After 7 days":"Na 7 dagen","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Nadat je je wachtwoord hebt ingevoerd ter bevestiging, kun je tweefactorauthenticatie instellen met een compatibele authenticatie-app of -apparaat:","After one month":"Na een maand","After one year":"Na een jaar","After selecting pictures from search results, you can add them to an album using the context menu.":"Nadat u foto's uit de zoekresultaten hebt geselecteerd, kunt u ze via het contextmenu aan een album toevoegen.","After two months":"Na twee maanden","After two weeks":"Na twee weken","Album":"Album","Album Backups":"Back-ups van albums","Album created":"Album aangemaakt","Albums":"Albums","Albums deleted":"Albums verwijderd","All":"Alle","All %{n} albums loaded":"Alle %{n} albums geladen","All %{n} labels loaded":"Alle %{n} labels geladen","All %{n} people loaded":"Alle %{n} mensen geladen","All Cameras":"Alle camera’s","All Categories":"Alle categorieën","All Colors":"Alle kleuren","All Countries":"Alle landen","All fields are required":"Alle velden zijn verplicht","All files from import folder":"Alle bestanden uit de importmap","All Lenses":"Alle lenzen","All Months":"Alle maanden","All originals":"Alle originelen","All Years":"Alle jaren","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"U kunt ook rechtstreeks bestanden uploaden naar WebDAV-servers zoals Nextcloud.","Altitude":"Hoogte","Altitude (m)":"Hoogte (m)","AM":"AM","Animated":"Geanimeerd","Animation":"Animatie","Any private photos and videos remain private and won't be shared.":"Alle privéfoto's en -video's blijven privé en worden niet gedeeld.","API Key":"API sleutel","Application":"Toepassing","Apply":"Toepassen","Approve":"Goedkeuren","Apps and Devices":"Apps en apparaten","Archive":"Archief","Archived":"Gearchiveerd","Are you sure you want to archive the selection?":"Weet je zeker dat je deze foto’s wilt verwijderen?","Are you sure you want to delete these albums?":"Weet je zeker dat je deze albums wilt verwijderen?","Are you sure you want to delete these labels?":"Weet je zeker dat je deze albums wilt verwijderen?","Are you sure you want to delete this account?":"Weet u zeker dat u dit account wilt verwijderen?","Are you sure you want to permanently delete these pictures?":"Weet je zeker dat je deze foto’s permanent wilt verwijderen?","Are you sure you want to permanently delete this file?":"Weet je zeker dat je dit bestand permanent wilt verwijderen?","Are you sure?":"Weet je het zeker?","Artist":"Artiest","Aspect Ratio":"Verhoudingen","Audio":"Audio","Authentication":"Authenticatie","Auto":"Auto","Back":"Terug","Back to top":"Terug naar boven","Backup":"Back-up","Badge":"Badge","Base Path":"Basispad","Become a member today, support our mission and enjoy our member benefits!":"Word vandaag nog lid, steun onze missie en geniet van onze ledenvoordelen!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Omdat we 100% zelf gefinancierd en onafhankelijk zijn, kunnen we u beloven dat we uw gegevens nooit zullen verkopen en dat we altijd transparant zullen zijn over onze software en diensten.","Bio":"Bio","Birth Date":"Geboortedatum","Black":"Zwart","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Lanczos Wijziging, Minder Ringing Artifacts","Blue":"Blauw","Brown":"Bruin","Browse":"Blader door","Browse and edit image classification labels.":"Bladeren en bewerken van beeldclassificatie-etiketten.","Browse and share your pictures organized into monthly albums.":"Bekijk en deel je foto's georganiseerd in maandelijkse albums.","Browse Files":"Bladeren door bestanden","Browse indexed files and folders in Library.":"Blader door geïndexeerde bestanden en mappen in de bibliotheek.","Bug Report":"Bugmelding","Busy, please wait…":"Bezig, wacht even…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Door gebruik te maken van de software en diensten die wij leveren, gaat u akkoord met onze servicevoorwaarden, ons privacybeleid en onze gedragscode.","Calendar":"Kalender","Camera":"Camera","Camera Serial":"Camera","Can't access your authenticator app or device?":"Krijg je geen toegang tot je authenticator app of apparaat?","Can't load more, limit reached":"Kan niet meer laden, limiet bereikt","Can't select more items":"Kan niet meer items selecteren","Cancel":"Annuleren","Caption":"Onderschrift","Cards":"Kaarten","Carousel slide {0} of {1}":"Carrousel dia {0} van {1}","Category":"Categorie","Change Avatar":"Avatar veranderen","Change Password":"Wachtwoord wijzigen","Change personal profile and security settings.":"Persoonlijke profiel- en beveiligingsinstellingen wijzigen.","Change photo titles, locations, and other metadata.":"Wijzig fototitels, locaties en andere metagegevens.","Change private flag":"Privé vlag geschakeld","Changes could not be saved":"Wijzigingen kunnen niet worden opgeslagen","Changes successfully saved":"Wijzigingen succesvol opgeslagen","Changes to the advanced settings require a restart to take effect.":"Wijzigingen aan de geavanceerde instellingen vereisen een herstart om van kracht te worden.","Checked":"Geselecteerd","Chroma":"Chroma","Cleaning index and cache":"Index en cache opschonen","Cleanup":"Opruimen","Clear {0}":"Wis {0}","Client":"Klant","Client Credentials":"Klantgegevens","Close":"Sluiten","Codec":"Codec","Color":"Kleur","Color Profile":"Kleur Profiel","Colors":"Kleuren","Compare Editions":"Edities vergelijken","Complete Rescan":"Volledig herscannen","Confidence":"Vertrouwen","Confirm":"Bevestigen","Connect":"Verbinden","Connect via WebDAV":"Verbinding maken via WebDAV","Connected":"Verbonden","Contact Details":"Contactgegevens","Contact Us":"Neem contact met ons op","Contains %{n} pictures.":"Bevat %{n} foto's.","Contains one picture.":"Bevat één foto.","Content":"Inhoud","Continue":"Doorgaan","Continue with %{provider}":"Ga verder met %{provider}","Contributor":"Bijdrager","Converting":"Converteren","Copied to clipboard":"Gekopieerd naar klembord","Copy":"Kopiëren","Copyright":"Copyright","Couldn't find anything.":"Kon niets vinden.","Country":"Land","Create Account":"Account aanmaken","Create album":"Nieuw album","Create regular backups based on the configured schedule.":"Indexback-ups maken op basis van het geconfigureerde schema.","Create YAML files to back up album metadata.":"YAML-bestanden maken om albummetadata te back-uppen.","Create YAML sidecar files to back up picture metadata.":"Maak YAML sidecar-bestanden om een back-up te maken van afbeeldingsmetagegevens.","Created":"Aangemaakt","Creating thumbnails for":"Het maken van miniaturen voor","Cubic: Moderate Quality, Good Performance":"Kubiek: Gematigde kwaliteit, goede prestaties","Current Password":"Huidig Wachtwoord","Custom":"Aangepast","Cyan":"Cyaan","Daily":"Dagelijks","Database Backups":"Back-ups van databases","Day":"Dag","Deactivate":"Deactiveren","Debug Logs":"Debug-logs","Default":"Standaard","Default Folder":"Standaard map","Delete":"Verwijder","Delete All":"Alles verwijderen","Delete all?":"Alles verwijderen?","Delete orphaned index entries, sidecar files and thumbnails.":"Verwijder verweesde indexvermeldingen, zijspanbestanden en miniaturen.","Description":"Omschrijving","Detailed instructions can be found in our User Guide.":"Gedetailleerde instructies zijn te vinden in onze gebruikershandleiding.","Details":"Details","Dimensions":"Afmetingen","Disable Backups":"Back-ups uitschakelen","Disable Darktable":"Uitschakelen Darktable","Disable ExifTool":"Schakel ExifTool uit","Disable features that require write permission for the originals folder.":"Schakel functies uit die schrijfrechten vereisen voor de map Originals.","Disable FFmpeg":"FFmpeg uitschakelen","Disable ImageMagick":"ImageMagick uitschakelen","Disable interactive world maps and reverse geocoding.":"Schakel interactieve wereldkaarten en omgekeerde geocodering uit.","Disable Places":"Locaties","Disable RawTherapee":"RawTherapee uitschakelen","Disable TensorFlow":"Schakel TensorFlow uit","Disable Vectors":"Vectoren uitschakelen","Disable WebDAV":"WebDAV uitschakelen","Disables vector graphics support.":"Schakelt ondersteuning voor vectorafbeeldingen uit.","Disables video transcoding and thumbnail extraction.":"Schakelt videoconversie en extractie van miniaturen uit.","Discover":"Ontdek","Dismiss":"Ontsla","Display Name":"Naam op scherm","Display picture captions in search results.":"Afbeeldingsbijschriften weergeven in zoekresultaten.","Display picture titles in search results.":"Afbeeldings titels weergeven in zoekresultaten.","Document":"Document","Documents":"Documenten","Don't use Darktable to convert RAW images.":"Gebruik geen Darktable om RAW-beelden te converteren.","Don't use ImageMagick to convert images.":"Gebruik geen ImageMagick om afbeeldingen te converteren.","Don't use RawTherapee to convert RAW images.":"Gebruik geen RawTherapee om RAW beelden te converteren.","Done":"Klaar","Done.":"Klaar.","Download":"Download","Download only original media files, without any automatically generated files.":"Download alleen originele mediabestanden, zonder automatisch gegenereerde bestanden.","Download remote files":"Bestanden op afstand downloaden","Download single files and zip archives.":"Download enkele bestanden en zip-archieven.","Downloading…":"Downloaden…","Downscaling Filter":"Downscaling filter","Drag and drop files here":"Sleep bestanden hier naartoe","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"Vanwege het grote aantal e-mails dat wij ontvangen, kan het voorkomen dat ons team u niet onmiddellijk antwoord kan geven.","Duplicates will be skipped and only appear once.":"Duplicaten worden overgeslagen en verschijnen slechts één keer.","Duration":"Duur","Dynamic Previews":"Dynamische Voorbeelden","Dynamic Size Limit: %{n}px":"Dynamische Groottegrens: %{n}px","E-Mail":"E-mail","Edit":"Bewerken","Edit %{s}":"Bewerken %{s}","Edit Account":"Account bewerken","Edit Photo":"Bewerk Foto","Edited":"Bewerkt","Email":"E-mail","Enable debug mode to display additional logs and help with troubleshooting.":"Schakel de debugmodus in om extra logs weer te geven en te helpen bij het oplossen van problemen.","Enable new features that may be incomplete or unstable.":"Nieuwe functies inschakelen die mogelijk incompleet of instabiel zijn.","Enables RAW converter presets. May reduce performance.":"Schakelt RAW-converterpresets in. Kan de prestaties verminderen.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Het inschakelen van twee-factor authenticatie betekent dat je een willekeurig gegenereerde verificatiecode nodig hebt om in te loggen, dus zelfs als iemand toegang krijgt tot je wachtwoord, zal hij geen toegang kunnen krijgen tot je account.","Enter date":"Datum invoeren","Enter dates":"Data invoeren","Enter the code generated by your authenticator app:":"Voer de code in die is gegenereerd door je authenticator app:","Enter verification code":"Verificatiecode invoeren","Enter your password to confirm the action and continue:":"Voer je wachtwoord in om de actie te bevestigen en door te gaan:","Error":"Fout","Errors":"Fouten","Estimate":"Schatting","Estimate Locations":"Locaties schatten","Estimate the approximate location of pictures without GPS coordinates.":"De locatie van foto's bij benadering schatten zonder GPS-coördinaten.","Every two days":"Om de twee dagen","Exclude content marked as private from search results, shared albums, labels, and places.":"Sluit inhoud gemarkeerd als privé uit van zoekresultaten, gedeelde albums, labels en plaatsen.","Exclude hidden":"Verborgen uitsluiten","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"Metadata-extractie met ExifTool is vereist voor volledige ondersteuning van video, live foto's en XMP.","Experimental Features":"Experimentele eigenschappen","Expires":"Verloopt","Exposure":"Blootstelling","Extract still images and generate thumbnails while indexing.":"Foto's extraheren en miniaturen genereren tijdens het indexeren.","F Number":"F Aantal","Face":"Gezichtje","Faces":"Gezichten","Failed removing link":"Mislukte verwijderingslink","Failed to connect account.":"Verbinding met account mislukt.","Failed updating link":"Mislukte actualiseringslink","Family Name":"Familienaam","Fast":"Snel","Favorite":"Favoriet","Favorites":"Favorieten","Feature Request":"Verzoek voor nieuwe functionaliteit","Feedback":"Feedback","Female":"Vrouw","File":"Bestand","File Browser":"Bestands Browser","File Conversion":"Bestandsconversie","File Name":"Bestandsnaam","File Size":"Bestandsgrootte","Filename":"Bestandsnaam","Files":"Bestanden","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Bestanden met opeenvolgende namen zoals 'IMG_1234 (2)' en 'IMG_1234 (3)' behoren tot hetzelfde beeld.","First page":"Eerste pagina","Focal Length":"Brandpuntsafstand","Folder":"Map","Folder contains %{n} files":"Map bevat %{n} bestanden","Folder is empty":"Map is leeg","Folders":"Mappen","Forgot password?":"Wachtwoord vergeten?","FPS":"FPS","Frames":"Frames","Full Access":"Volledige Toegang","Fullscreen":"Volledig scherm","General":"Algemeen","Generate":"Genereren","Generate albums of special moments, journeys, and places.":"Maakt automatisch albums van speciale momenten, reizen en plaatsen.","Generate Previews":"Voorvertoningen genereren","Generated":"Gegenereerd","Get Started":"Aan de slag","Given Name":"Voornaam","Global Options":"Overkoepelende instellingen","Go to page {0}":"Ga naar pagina {0}","Gold":"Goud","Green":"Groen","Grey":"Grijs","Guest":"Gast","Hash":"Hash","Help":"Help","Help & Support":"Hulp en Ondersteuning","Hidden":"Verborgen","Hidden Files":"Verborgen bestanden","Hide":"Verberg","Hide photos that have been moved to archive.":"Verberg foto's die zijn verplaatst naar het archief.","High":"Hoog","High Dynamic Range (HDR)":"Hoog dynamisch bereik (HDR)","How can we help?":"Hoe kunnen we je helpen?","Hybrid":"Hybride","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Als u de toegang tot uw authenticatie-app of -apparaat verliest, kunt u uw herstelcode gebruiken om weer toegang te krijgen tot uw account.","Image":"Afbeelding","Image Quality":"Beeldkwaliteit","Import":"Importeren","Import failed":"Importeren mislust","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Geïmporteerde bestanden worden gesorteerd op datum en krijgen een unieke naam om duplicaten te voorkomen.","Imported files will be sorted by date and given a unique name.":"Geïmporteerde bestanden worden gesorteerd op datum en krijgen een unieke naam.","Importing %{s}…":"Importeren van %{s}…","Importing files to originals…":"Bestanden importeren uit directory…","in":"in","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"Mochten er foto's ontbreken die u verwacht, scan dan uw bibliotheek opnieuw en wacht tot het indexeren is voltooid.","Include RAW image files when downloading stacks and archives.":"RAW-beeldbestanden opnemen bij het downloaden van stacks en archieven.","Include sidecar files when downloading stacks and archives.":"Download ook sidecar-bestanden bij het downloaden van stacks en archieven.","Increase storage size or delete files to continue.":"Vergroot de opslaggrootte of verwijder bestanden om verder te gaan.","Index":"Index","Index and import files through the user interface.":"Indexeer en importeer bestanden via de gebruikersinterface.","Indexing":"Indexeren","Indexing failed":"Indexeren mislukt","Indexing media and sidecar files…":"Foto’s en sidecar-bestanden aan het indexeren…","Information":"Informatie","Instance ID":"Instantie-ID","Insufficient storage.":"Onvoldoende opslag.","Interval":"Interval","Invalid":"Ongeldig","Invalid address":"Ongeldig adres","Invalid country":"Ongeldig land","Invalid date":"Ongeldige datum","Invalid parameters":"Ongeldige parameters","Invalid photo selected":"Ongeldige foto geselecteerd","Invalid time":"Ongeldige tijd","Invalid URL":"Ongeldige URL","It is a one-time use code that will disable 2FA for your account when you use it.":"Het is een eenmalige code die 2FA voor je account uitschakelt als je hem gebruikt.","Item":"Item","Items per page:":"Artikelen per pagina:","JPEG Quality: %{n}":"JPEG-kwaliteit: %{n}","JPEG Size Limit: %{n}px":"JPEG-groottegrens: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"JPEG's en thumbnails worden automatisch weergegeven als dat nodig is.","Keywords":"Trefwoorden","Label":"Label","Labels":"Labels","Labels deleted":"Labels verwijderd","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: Detailbewaring, Minimale artefacten","Language":"Taal","Last Active":"Laatste actief","Last Login":"Laatste aanmelding","Last page":"Laatste pagina","Last Sync":"Laatste synchronisatie","Last Used":"Laatst gebruikt","Latitude":"Breedtegraad","LDAP/AD":"LDAP/AD","Learn more":"Meer informatie","Learn More":"Meer leren","Legal Information":"Juridische informatie","Lens":"Lens","Library":"Bibliotheek","License":"Licentie","Like":"Vind ik leuk","Lime":"Limoen","Limit reached, showing first %{n} files":"Limiet bereikt, toont eerste %{n} bestanden","Linear: Very Smooth, Best Performance":"Lineair: Zeer glad, beste prestaties","Link":"Link","List":"Lijst","List View":"Lijstweergave","Live":"Live","Live Photos":"Live foto's","Load more":"Meer laden","Loading items...":"Artikelen laden...","Loading...":"Aan het laden...","Local":"Lokaal","Local Time":"Lokale tijd","Location":"Locatie","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Logboekberichten verschijnen hier wanneer PhotoPrism op gebroken bestanden stuit, of wanneer er andere potentiële problemen zijn.","Login":"Log in","Logout":"Log uit","Logs":"Logboeken","Longitude":"Lengtegraad","Low":"Laag","Magenta":"Magenta","Main Color":"Hoofdkleur","Male":"Man","Manage Account":"Account beheren","Manual":"Handmatig","Manual Upload":"Uploaden","Maps":"Kaarten","Marker":"Symbool","Maximum number of accounts has been reached.":"Het maximum aantal accounts is bereikt.","Media":"Media","Medium":"Medium","Membership":"Lidmaatschap","Merge %{a} with %{b}?":"%{a} samenvoegen met %{b}?","Message":"Bericht","Message sent":"Bericht verzonden","Metadata":"Metagegevens","Metrics":"Metrieken","Minimize":"Minimaliseren","Missing":"Ontbrekend","Missing or invalid configuration":"Ontbrekende of ongeldige configuratie","Moments":"Momenten","Monochrome":"Monochroom","Month":"Maand","More options":"Meer opties","Mosaic":"Mozaiek","Most Relevant":"Meest relevant","Move Files":"Bestanden verplaatsen","Must have at least %{n} characters.":"Moet minstens %{n} tekens bevatten.","Mute":"Stomme","Name":"Naam","Name too long":"Titel is te lang","Never":"Nooit","New":"Nieuw","New Password":"Nieuw wachtwoord","Newest First":"Nieuwste eerst","Next":"Volgende","Next page":"Volgende","Next visual":"Volgende visualisatie","No":"Nee","No albums found":"Geen albums gevonden","No data available":"Geen gegevens beschikbaar","No labels found":"%{n} labels gevonden","No matching records found":"Geen overeenkomende records gevonden","No more":"Niet meer","No people found":"Geen mensen gevonden","No pictures found":"Geen foto's gevonden","No recently edited pictures":"Geen recent bewerkte foto's","No server connection":"Geen serververbinding","No servers configured.":"Geen servers geconfigureerd.","No services configured.":"Geen diensten geconfigureerd.","No thanks":"Nee bedankt","No warnings or error containing this keyword. Note that search is case-sensitive.":"Geen waarschuwingen of fouten met dit trefwoord. Let op: zoeken is hoofdlettergevoelig.","Non-photographic and low-quality images require a review before they appear in search results.":"Niet-fotografische beelden en beelden van lage kwaliteit moeten worden beoordeeld voordat ze in de zoekresultaten verschijnen.","None":"Geen","Not allowed":"Niet toegestaan","Not found":"Niet gevonden","Not sorted.":"Niet gesorteerd.","Not supported":"Niet ondersteund","Note you may manually manage your originals folder and importing is optional.":"Let op: u kunt uw originelenmap handmatig beheren en importeren is optioneel.","Note:":"Notitie:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Opmerking: Alleen WebDAV-servers, zoals Nextcloud of PhotoPrism, kunnen worden geconfigureerd als service op afstand voor het maken van back-ups en het uploaden van bestanden.","Notes":"Notities","Nothing to see here yet.":"Hier is nog niets te zien.","Nothing was found.":"Er is niets gevonden.","Offline":"Offline","OIDC":"OIDC","OK":"OK","Oldest First":"Oudste eerst","On Windows, enter the following resource in the connection dialog:":"In Windows voert u de volgende bron in het verbindingsdialoogvenster in:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"Het op aanvraag genereren van miniaturen kan een hoog CPU- en geheugengebruik veroorzaken. Het wordt niet aanbevolen voor servers en NAS-apparaten met beperkte bronnen.","Once a week":"Eenmaal per week","One album found":"Een album gevonden","One file found":"Een album gevonden","One file uploaded":"Eén bestand geüpload","One folder found":"Een album gevonden","One label found":"Een etiket gevonden","One person found":"Eén persoon vond","One picture found":"Een foto gevonden","Only locally managed accounts can be set up for authentication with 2FA.":"Alleen lokaal beheerde accounts kunnen worden ingesteld voor verificatie met 2FA.","Open":"Open","optional":"optioneel","or":"of","Orange":"Oranje","Organization":"Organisatie","Orientation":"Oriëntatie","Original file names will be stored and indexed.":"Originele bestandsnamen worden opgeslagen en geïndexeerd.","Original Name":"Originele naam","Originals":"Originelen","Other":"Andere","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Onze missie is om de meest gebruiks- en privacyvriendelijke oplossing te bieden om uw foto's georganiseerd en toegankelijk te houden.","Outdoor":"Outdoor","Page {0}, Current page":"Pagina {0}, Huidige pagina","Pages":"Pagina's","Pagination Navigation":"Navigatie met paginering","Panorama":"Panorama","Panoramas":"Panorama's","Password":"Wachtwoord","Password changed":"Wachtwoord gewijzigd","People":"Personen","People you share a link with will be able to view public contents.":"Mensen met wie je een link deelt, kunnen de openbare inhoud bekijken.","Permanently deleted":"Permanent verwijderd","Permanently remove files to free up storage.":"Bestanden permanent verwijderen om opslagruimte vrij te maken.","Person":"Persoon","Personal":"Persoonlijk","Photo":"Foto","PhotoPrism is 100% self-funded and independent.":"PhotoPrism is 100% zelf gefinancierd en onafhankelijk.","PhotoPrism+ Membership":"PhotoPrism+ lidmaatschap","Photos":"Foto’s","Picture Title":"Titel afbeelding","Pink":"Roze","Place":"Plaats","Place & Time":"Plaats en Tijd","Places":"Locaties","Please confirm your new password.":"Bevestig uw nieuwe wachtwoord.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Kopieer het volgende willekeurig gegenereerde app-wachtwoord en bewaar het op een veilige plaats, want je zult het niet meer kunnen zien:","Please do not upload any private, unlawful or offensive pictures.":"Upload geen foto's die privé, onwettig of aanstootgevend zijn.","Please don't upload photos containing offensive content.":"Upload geen foto's met aanstootgevende inhoud.","Please enter OTP character {0}":"Voer OTP-teken {0} in","Please note that changing your password will log you out on other devices and browsers.":"Houd er rekening mee dat het wijzigen van uw wachtwoord u zal afmelden op andere apparaten en browsers.","Please restart your instance for the changes to take effect.":"Start uw instantie opnieuw op om de wijzigingen van kracht te maken.","Please wait…":"Wacht even…","PM":"PM","PNG Size Limit: %{n}px":"PNG-groottegrens: %{n}px","Portrait":"Staand","Preserve filenames":"Bewaar bestandsnamen","Press enter to create a new album.":"Druk op enter om een nieuw album te maken.","Prevent database and album backups as well as YAML sidecar files from being created.":"Voorkom dat database- en albumback-ups en YAML sidecar-bestanden worden gemaakt.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Voorkom dat andere apps toegang hebben tot PhotoPrism als een gedeeld netwerkstation.","Preview":"Voorbeeld","Preview Images":"Voorbeeldafbeeldingen","Previous":"Vorige","Previous page":"Vorige pagina","Previous visual":"Vorige visualisatie","Primary":"Primair","Private":"Privé","Product Feedback":"Terugkoppeling van producten","Projection":"Projectie","Purple":"Paars","Quality Filter":"Kwaliteitsfilter","Quality Score":"Kwaliteitsscore","r":"r","Random":"Willekeurig","Rating {0} of {1}":"Beoordeling {0} van {1}","Raw":"Raw","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Herindexeer alle originelen, inclusief de reeds geïndexeerde en ongewijzigde bestanden.","Read-Only Mode":"Alleen-lezen modus","Recently Added":"Onlangs toegevoegd","Recently Archived":"Onlangs gearchiveerd","Recently Edited":"Recent bewerkt","Recognition starts after indexing has been completed.":"De herkenning begint nadat de indexering is voltooid.","Recognize faces so people can be assigned and found.":"Herkent gezichten, zodat specifieke mensen kunnen worden gevonden.","Recognized":"Erkend","Recovery Code":"Herstelcode","Red":"Rood","Refresh":"Vernieuw","Regions":"Regio's","Register":"Registreer","Reload":"Ververs","Reloading…":"Herladen…","Remote Sync":"Synchronisatie op afstand","Remove":"Verwijderen","remove failed: unknown album":"verwijderen mislukt: onbekend album","Remove from Album":"Verwijder uit album","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Verwijder geïmporteerde bestanden om opslag op te slaan. Niet-ondersteunde bestandstypen worden nooit verwijderd, ze blijven op hun huidige locatie.","Request failed - are you offline?":"Aanvraag mislukt - bent u offline?","Request failed - invalid response":"Verzoek mislukt - ongeldig antwoord","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Eis dat niet-fotografische afbeeldingen en afbeeldingen van lage kwaliteit worden beoordeeld voordat ze in de zoekresultaten verschijnen.","Resolution":"Resolutie","Restart":"Herstart","Restore":"Herstellen","Restored":"Gerestaureerd","Retry Limit":"Herhaal Limiet","Retype Password":"Herhaal je wachtwoord","Review":"Beoordeling","Role":"Rol","Rows per page:":"Rijen per pagina:","Satellite":"Satelliet","Save":"Opslaan","Scan":"Scan","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Scan de QR-code met je authenticatie-app of gebruik de onderstaande sleutel en voer vervolgens de gegenereerde verificatiecode in:","Scans":"Scans","Scope":"Toepassingsgebied","Search":"Zoeken","Search and display photos on a map.":"Zoek en toon foto's op een kaart.","Season":"Seizoen","Secret":"Geheim","Security and Access":"Veiligheid en toegang","Select":"Selecteer","Select a source folder to import files…":"Selecteer een bronmap om bestanden te importeren…","Select date":"Selecteer datum","Select dates":"Kies data","Select or create an album":"Een album kiezen of maken","Select the files to upload…":"Selecteer de bestanden die je wilt uploaden…","Select the folder to be indexed…":"Selecteer de map die geïndexeerd moet worden…","Select Time":"Selecteer tijd","Selection approved":"Selectie goedgekeurd","Selection archived":"Selectie gearchiveerd","Selection restored":"Selectie hersteld","Sequential Name":"Opeenvolgende naam","Service URL":"Service URL","Services":"Diensten","Session":"Sessie","Session ID":"Sessie-ID","Sessions":"Sessies","Set as Album Cover":"Ingesteld als albumhoes","Settings":"Instellingen","Settings saved":"Instellingen opgeslagen","Setup":"Setup","Share":"Delen","Share %{s}":"Deel %{s}","Share your pictures with other apps and services.":"Deel je foto's met andere apps en diensten.","Show":"Toon","Show all new faces":"Toon alle nieuwe gezichten","Show Captions":"Bijschriften tonen","Show hidden":"Verborgen weergeven","Show less":"Toon minder","Show more":"Toon meer","Show server logs in Library.":"Toon serverlogs in Bibliotheek.","Show Titles":"Titels tonen","Sidecar":"Sidecar","Sidecar Files":"Zijspan Bestanden","Sign in":"Inloggen","Similar":"Vergelijkbaar","Size":"Grootte","Slideshow":"Diashow","Slow":"Langzaam","Software":"Software","Software Update":"Software bijwerken","Something went wrong, try again":"Er ging iets mis, probeer het opnieuw.","Sort by":"Sorteren op","Sort Order":"Sorteer volgorde","Sorted ascending.":"Oplopend gesorteerd.","Sorted descending.":"Aflopend gesorteerd.","Source":"Bron","Stack":"Stapel","Stack files sharing the same unique image or instance identifier.":"Stapel bestanden met dezelfde unieke beeld- of instantie-identificatie.","Stack pictures taken at the exact same time and location based on their metadata.":"Stapel foto's die op exact dezelfde tijd en locatie zijn genomen op basis van hun metagegevens.","Stackable":"Stapelbaar","Stacks":"Stapels","Start":"Start","Start Page":"Startpagina","Static Size Limit: %{n}px":"Statische Grootte Limiet: %{n}px","Status":"Status","Storage":"Opslag","Streets":"Straat","Subject":"Onderwerp","Submit":"Stuur in","Successfully activated":"Met succes geactiveerd","Successfully Connected":"Succesvol aangesloten","Successfully deleted":"Succesvol verwijderd","Successfully verified":"Met succes geverifieerd","Super Admin":"Super Admin","Support for additional services, like Google Drive, will be added over time.":"Ondersteuning voor aanvullende diensten, zoals Google Drive, zal in de loop van de tijd worden toegevoegd.","Support Our Mission":"Steun onze missie","Sync":"Synchroniseer","Sync raw and video files":"Ruwe en videobestanden synchroniseren","Taken":"Bezet","Teal":"Groenblauw","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow is nodig voor beeldclassificatie, gezichtsherkenning en het detecteren van onveilige inhoud.","Terrain":"Terrein","Text":"Tekst","Text too long":"Titel is te lang","Thank You for Your Support!":"Bedankt voor uw steun!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Daarom is PhotoPrism vanaf de grond opgebouwd om te werken waar u maar wilt, zonder afbreuk te doen aan vrijheid, privacy of functionaliteit.","The index currently contains %{n} hidden files.":"De index bevat momenteel %{n} verborgen bestanden.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Hun formaat wordt mogelijk niet ondersteund, ze zijn nog niet geconverteerd naar JPEG of er zijn duplicaten.","Theme":"Thema","This field is required":"Dit veld is verplicht","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Hierdoor wordt de map met de originelen als een netwerkstation gemonteerd en kunt u bestanden openen, bewerken en verwijderen van uw computer of smartphone alsof ze lokaal zijn.","Time UTC":"Tijd UTC","Time Zone":"Tijdzone","Timeout":"time-out","Title":{"Account":"Titel","Photo":"Titel","":"Titel"},"Title / Position":"Titel / Positie","Title too long":"Titel is te lang","to":"tot","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Download, print of kopieer deze herstelcode en bewaar deze op een veilige plek om te voorkomen dat je wordt uitgesloten van je account.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Om een nieuw app-specifiek wachtwoord te genereren, voert u de naam en het autorisatiebereik van de applicatie in en selecteert u een vervaldatum:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Om over te schakelen naar een nieuwe authenticatie-app of -apparaat, moet je eerst de twee-factor authenticatie uitschakelen en vervolgens weer inschakelen:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Om te upgraden kunt u een activeringscode invoeren of op \"Registreren\" klikken om u aan te melden op onze website:","Today":"Vandaag","Toggle View":"Schakelweergave","Token":"Token","Too many files selected":"Te veel bestanden geselecteerd","Too many requests":"Te veel verzoeken","Troubleshooting":"Problemen oplossen","Try again using other filters or keywords.":"Probeer opnieuw met een ander trefwoord of filter.","Two-factor authentication has been enabled for your account.":"Twee-factor authenticatie is ingeschakeld voor je account.","Type":"Type","Unauthorized":"Onbevoegde","Undo":"Ongedaan maken","Unique ID":"Unieke id","Unknown":"Onbekend","Unregistered":"Ongeregistreerd","Unsorted":"Ongesorteerd","Unstack":"Ontstapel","Updated":"Bijgewerkt","Updating faces":"Gezichten bijwerken","Updating index":"Bijwerken van de index","Updating moments":"Momenten van actualisering","Updating picture…":"Foto bijwerken…","Updating previews":"Voorvertoningen bijwerken","Updating stacks":"Actualisering van de stapels","Upgrade":"Upgrade","Upgrade Now":"Nu upgraden","Upload":"Uploaden","Upload complete":"Uploaden klaar","Upload complete. Indexing…":"Uploaden klaar. Indexeren…","Upload failed":"Uploaden mislukt","Upload local files":"Uploaden mislukt","Upload Path":"Pad uploaden","Upload to WebDAV and share links with friends.":"Upload naar WebDAV en deel links met vrienden.","Uploading %{n} of %{t}…":"Het uploaden van %{n} van %{t}…","Uploading photos…":"Foto’s uploaden…","Uploading…":"Uploaden…","Uploads that may contain such images will be rejected automatically.":"Uploads die dergelijke beelden kunnen bevatten, worden automatisch geweigerd.","Use Presets":"Gebruik Voorinstellingen","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Gebruik de volgende herstelcode om toegang te krijgen tot je account als je geen geldige verificatiecode kunt genereren met je authenticatie-app:","Use your recovery code or contact an administrator for help.":"Gebruik je herstelcode of neem contact op met een beheerder voor hulp.","User":"Gebruiker","User Guide":"Gebruikershandleiding","User Interface":"Gebruikersinterface","Username":"Gebruikersnaam","Users":"Gebruikers","Vector":"Vector","Vectors":"Vectoren","Verification Code":"Verificatiecode","Video":"Video","Video Duration":"Videoduur","Videos":"Video's","View":"Weergave","View search results as a list.":"Bekijk zoekresultaten als een lijst.","Viewer":"Kijker","Visitor":"Bezoeker","Visual Similarity":"Visuele gelijkenis","Warning":"Waarschuwing","We appreciate your feedback!":"Wij waarderen uw feedback!","We do our best to respond within five business days or less.":"We doen ons best om binnen vijf werkdagen of minder te reageren.","Web Login":"Web Login","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"WebDAV-cliënten kunnen verbinding maken met PhotoPrism via de volgende URL:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"WebDAV cliënten, zoals Microsoft's Windows Explorer of Apple's Finder, kunnen rechtstreeks verbinding maken met PhotoPrism.","WebDAV Upload":"Uploaden","WebGL support is disabled in your browser":"WebGL-ondersteuning is uitgeschakeld in uw browser","Website":"Website","White":"Wit","Work Details":"Werk Details","Year":"Jaar","Yellow":"Geel","Yes":"Ja","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"U kunt contact met ons opnemen via membership@photoprism.app voor vragen over uw lidmaatschap.","You can only download one album":"Je kunt slechts een album downloaden","You can only download one label":"Je kunt slechts een album downloaden","You can upload up to %{n} files for test purposes.":"Je kunt tot %{n} bestanden uploaden voor testdoeleinden.","You may only select one item":"Je kunt slechts een album downloaden","You may rescan your library to find additional faces.":"U kunt uw bibliotheek opnieuw scannen om meer gezichten te vinden.","Your account has been successfully connected.":"Uw account is succesvol verbonden.","Your browser does not support WebGL":"Uw browser ondersteunt WebGL niet","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Uw blijvende steun helpt ons om regelmatig updates te geven en onafhankelijk te blijven, zodat we onze missie kunnen vervullen en uw privacy kunnen beschermen.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Uw bibliotheek wordt voortdurend geanalyseerd om automatisch albums te maken van speciale momenten, reizen en plaatsen.","Zoom in/out":"In-/uitzoomen"}} \ No newline at end of file +{"nl":{"{0} appended action":"{0} bijgevoegde actie","{0} files":"{0} bestanden","{0} files ({1} in total)":"{0} bestanden ({1} in totaal)","{0} more":"{0} meer","{0} prepended action":"{0} actie vooraf","{0} selected":"{0} geselecteerd","{0}-{1} of {2}":"{0}-{1} van {2}","%{n} albums found":"%{n} albums gevonden","%{n} files uploaded":"%{n} opgeladen bestanden","%{n} folders found":"%{n} mappen gevonden","%{n} GB of %{q} GB used":"%{n} GB van %{q} GB gebruikt","%{n} labels found":"%{n} labels gevonden","%{n} people found":"%{n} personen gevonden","%{n} pictures found":"%{n} foto's gevonden","%{s} is too long":"%{s} is te lang","%{s} is too short":"%{s} is te kort","1 hour":"1 uur","12 hours":"12 uren","2-Factor Authentication":"2-Factor Authenticatie","2FA":"2FA","4 hours":"4 uren","A click will copy it to your clipboard.":"Een klik zal het naar uw klembord kopiëren.","A new version of %{s} is available:":"Er is een nieuwe versie van %{s} beschikbaar:","About":"Over","Access Token":"Toegangssleutel","Account":"Account","Account created":"Account aangemaakt","Account deleted":"Account verwijderd","Account restored":"Account hersteld","Accounts":"Accounts","Accuracy":"Nauwkeurigheid","Action":"Actie","Actions":"Acties","Activate":"Activeer","Activate to remove sorting.":"Activeren om sorteren te verwijderen.","Activate to sort ascending.":"Activeren om oplopend te sorteren.","Activate to sort descending.":"Activeren om aflopend te sorteren.","Activation Code":"Activeringscode","Add":"Toevoegen","Add %{s}?":"%{naam} toevoegen?","Add Account":"Account toevoegen","Add Album":"Toevoegen aan album","Add files to your library via Web Upload.":"Voeg bestanden toe aan uw bibliotheek via Web Upload.","Add Link":"Link toevoegen","Add person?":"Persoon toevoegen?","Add pictures from search results by selecting them.":"Voeg foto's toe uit zoekresultaten door ze te selecteren.","Add to album":"Toevoegen aan album","Added":"Toegevoegd","Adjust Location":"Locatie aanpassen","Admin":"Admin","Advanced":"Geavanceerd","After 1 day":"Na 1 dag","After 3 days":"Na 3 dagen","After 7 days":"Na 7 dagen","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Nadat je je wachtwoord hebt ingevoerd ter bevestiging, kun je tweefactorauthenticatie instellen met een compatibele authenticatie-app of -apparaat:","After one month":"Na een maand","After one year":"Na een jaar","After selecting pictures from search results, you can add them to an album using the context menu.":"Nadat u foto's uit de zoekresultaten hebt geselecteerd, kunt u ze via het contextmenu aan een album toevoegen.","After two months":"Na twee maanden","After two weeks":"Na twee weken","Album":"Album","Album Backups":"Back-ups van albums","Album created":"Album aangemaakt","Album deleted":"Album verwijderd","Albums":"Albums","Albums deleted":"Albums verwijderd","All":"Alle","All %{n} albums loaded":"Alle %{n} albums geladen","All %{n} labels loaded":"Alle %{n} labels geladen","All %{n} people loaded":"Alle %{n} mensen geladen","All Cameras":"Alle camera’s","All Categories":"Alle categorieën","All Colors":"Alle kleuren","All Countries":"Alle landen","All fields are required":"Alle velden zijn verplicht","All files from import folder":"Alle bestanden uit de importmap","All Lenses":"Alle lenzen","All Months":"Alle maanden","All originals":"Alle originelen","All Years":"Alle jaren","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"U kunt ook rechtstreeks bestanden uploaden naar WebDAV-servers zoals Nextcloud.","Altitude":"Hoogte","Altitude (m)":"Hoogte (m)","AM":"AM","Animated":"Geanimeerd","Animation":"Animatie","Animations":"Animaties","Any private photos and videos remain private and won't be shared.":"Alle privéfoto's en -video's blijven privé en worden niet gedeeld.","API Key":"API sleutel","Application":"Toepassing","Apply":"Toepassen","Approve":"Goedkeuren","Apps and Devices":"Apps en apparaten","Archive":"Archief","Archived":"Gearchiveerd","Are you sure you want to archive the selection?":"Weet je zeker dat je deze foto’s wilt verwijderen?","Are you sure you want to delete these albums?":"Weet je zeker dat je deze albums wilt verwijderen?","Are you sure you want to delete these labels?":"Weet je zeker dat je deze albums wilt verwijderen?","Are you sure you want to delete this account?":"Weet u zeker dat u dit account wilt verwijderen?","Are you sure you want to delete this album?":"Weet je zeker dat je dit album wilt verwijderen?","Are you sure you want to permanently delete these pictures?":"Weet je zeker dat je deze foto’s permanent wilt verwijderen?","Are you sure you want to permanently delete this file?":"Weet je zeker dat je dit bestand permanent wilt verwijderen?","Are you sure?":"Weet je het zeker?","Artist":"Artiest","Aspect Ratio":"Verhoudingen","Audio":"Audio","Authentication":"Authenticatie","Auto":"Auto","Back":"Terug","Back to top":"Terug naar boven","Backup":"Back-up","Badge":"Badge","Base Path":"Basispad","Become a member today, support our mission and enjoy our member benefits!":"Word vandaag nog lid, steun onze missie en geniet van onze ledenvoordelen!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Omdat we 100% zelf gefinancierd en onafhankelijk zijn, kunnen we u beloven dat we uw gegevens nooit zullen verkopen en dat we altijd transparant zullen zijn over onze software en diensten.","Bio":"Bio","Birth Date":"Geboortedatum","Black":"Zwart","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Lanczos Wijziging, Minder Ringing Artifacts","Blue":"Blauw","Brown":"Bruin","Browse":"Blader door","Browse and edit image classification labels.":"Bladeren en bewerken van beeldclassificatie-etiketten.","Browse and share your pictures organized into monthly albums.":"Bekijk en deel je foto's georganiseerd in maandelijkse albums.","Browse Files":"Bladeren door bestanden","Browse indexed files and folders in Library.":"Blader door geïndexeerde bestanden en mappen in de bibliotheek.","Bug Report":"Bugmelding","Busy, please wait…":"Bezig, wacht even…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Door gebruik te maken van de software en diensten die wij leveren, gaat u akkoord met onze servicevoorwaarden, ons privacybeleid en onze gedragscode.","Calendar":"Kalender","Camera":"Camera","Camera Serial":"Camera","Can't access your authenticator app or device?":"Krijg je geen toegang tot je authenticator app of apparaat?","Can't load more, limit reached":"Kan niet meer laden, limiet bereikt","Can't select more items":"Kan niet meer items selecteren","Cancel":"Annuleren","Cannot copy to clipboard":"Kan niet naar klembord kopiëren","Caption":"Onderschrift","Cards":"Kaarten","Carousel slide {0} of {1}":"Carrousel dia {0} van {1}","Category":"Categorie","Change Avatar":"Avatar veranderen","Change Password":"Wachtwoord wijzigen","Change personal profile and security settings.":"Persoonlijke profiel- en beveiligingsinstellingen wijzigen.","Change photo titles, locations, and other metadata.":"Wijzig fototitels, locaties en andere metagegevens.","Change private flag":"Privé vlag geschakeld","Changes could not be saved":"Wijzigingen kunnen niet worden opgeslagen","Changes successfully saved":"Wijzigingen succesvol opgeslagen","Changes to the advanced settings require a restart to take effect.":"Wijzigingen aan de geavanceerde instellingen vereisen een herstart om van kracht te worden.","Checked":"Geselecteerd","Chroma":"Chroma","Cleaning index and cache":"Index en cache opschonen","Cleanup":"Opruimen","Clear {0}":"Wis {0}","Client":"Klant","Client Credentials":"Klantgegevens","Close":"Sluiten","Codec":"Codec","Color":"Kleur","Color Profile":"Kleur Profiel","Colors":"Kleuren","Compare Editions":"Edities vergelijken","Complete Rescan":"Volledig herscannen","Confidence":"Vertrouwen","Confirm":"Bevestigen","Connect":"Verbinden","Connect via WebDAV":"Verbinding maken via WebDAV","Connected":"Verbonden","Contact Details":"Contactgegevens","Contact Us":"Neem contact met ons op","Contains %{n} pictures.":"Bevat %{n} foto's.","Contains one picture.":"Bevat één foto.","Content":"Inhoud","Continue":"Doorgaan","Continue with %{provider}":"Ga verder met %{provider}","Contributor":"Bijdrager","Converting":"Converteren","Copied to clipboard":"Gekopieerd naar klembord","Copy":"Kopiëren","Copyright":"Copyright","Couldn't find anything.":"Kon niets vinden.","Country":"Land","Create Account":"Account aanmaken","Create album":"Nieuw album","Create regular backups based on the configured schedule.":"Indexback-ups maken op basis van het geconfigureerde schema.","Create YAML files to back up album metadata.":"YAML-bestanden maken om albummetadata te back-uppen.","Create YAML sidecar files to back up picture metadata.":"Maak YAML sidecar-bestanden om een back-up te maken van afbeeldingsmetagegevens.","Created":"Aangemaakt","Creating thumbnails for":"Het maken van miniaturen voor","Cubic: Moderate Quality, Good Performance":"Kubiek: Gematigde kwaliteit, goede prestaties","Current Password":"Huidig Wachtwoord","Custom":"Aangepast","Cyan":"Cyaan","Daily":"Dagelijks","Database Backups":"Back-ups van databases","Day":"Dag","Deactivate":"Deactiveren","Debug Logs":"Debug-logs","Default":"Standaard","Default Folder":"Standaard map","Delete":"Verwijder","Delete Album":"Album verwijderen","Delete All":"Alles verwijderen","Delete all?":"Alles verwijderen?","Delete orphaned index entries, sidecar files and thumbnails.":"Verwijder verweesde indexvermeldingen, zijspanbestanden en miniaturen.","Description":"Omschrijving","Detailed instructions can be found in our User Guide.":"Gedetailleerde instructies zijn te vinden in onze gebruikershandleiding.","Details":"Details","Dimensions":"Afmetingen","Disable Backups":"Back-ups uitschakelen","Disable Darktable":"Uitschakelen Darktable","Disable ExifTool":"Schakel ExifTool uit","Disable features that require write permission for the originals folder.":"Schakel functies uit die schrijfrechten vereisen voor de map Originals.","Disable FFmpeg":"FFmpeg uitschakelen","Disable ImageMagick":"ImageMagick uitschakelen","Disable interactive world maps and reverse geocoding.":"Schakel interactieve wereldkaarten en omgekeerde geocodering uit.","Disable Places":"Locaties","Disable RawTherapee":"RawTherapee uitschakelen","Disable TensorFlow":"Schakel TensorFlow uit","Disable Vectors":"Vectoren uitschakelen","Disable WebDAV":"WebDAV uitschakelen","Disables vector graphics support.":"Schakelt ondersteuning voor vectorafbeeldingen uit.","Disables video transcoding and thumbnail extraction.":"Schakelt videoconversie en extractie van miniaturen uit.","Discover":"Ontdek","Dismiss":"Ontsla","Display Name":"Naam op scherm","Display picture captions in search results.":"Afbeeldingsbijschriften weergeven in zoekresultaten.","Display picture titles in search results.":"Afbeeldings titels weergeven in zoekresultaten.","Document":"Document","Documents":"Documenten","Don't use Darktable to convert RAW images.":"Gebruik geen Darktable om RAW-beelden te converteren.","Don't use ImageMagick to convert images.":"Gebruik geen ImageMagick om afbeeldingen te converteren.","Don't use RawTherapee to convert RAW images.":"Gebruik geen RawTherapee om RAW beelden te converteren.","Done":"Klaar","Done.":"Klaar.","Download":"Download","Download only original media files, without any automatically generated files.":"Download alleen originele mediabestanden, zonder automatisch gegenereerde bestanden.","Download remote files":"Bestanden op afstand downloaden","Download single files and zip archives.":"Download enkele bestanden en zip-archieven.","Downloading…":"Downloaden…","Downscaling Filter":"Downscaling filter","Drag and drop files here":"Sleep bestanden hier naartoe","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"Vanwege het grote aantal e-mails dat wij ontvangen, kan het voorkomen dat ons team u niet onmiddellijk antwoord kan geven.","Duplicates will be skipped and only appear once.":"Duplicaten worden overgeslagen en verschijnen slechts één keer.","Duration":"Duur","Dynamic Previews":"Dynamische Voorbeelden","Dynamic Size Limit: %{n}px":"Dynamische Groottegrens: %{n}px","E-Mail":"E-mail","Edit":"Bewerken","Edit %{s}":"Bewerken %{s}","Edit Account":"Account bewerken","Edit Photo":"Bewerk Foto","Edited":"Bewerkt","Email":"E-mail","Enable debug mode to display additional logs and help with troubleshooting.":"Schakel de debugmodus in om extra logs weer te geven en te helpen bij het oplossen van problemen.","Enable new features that may be incomplete or unstable.":"Nieuwe functies inschakelen die mogelijk incompleet of instabiel zijn.","Enables RAW converter presets. May reduce performance.":"Schakelt RAW-converterpresets in. Kan de prestaties verminderen.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Het inschakelen van twee-factor authenticatie betekent dat je een willekeurig gegenereerde verificatiecode nodig hebt om in te loggen, dus zelfs als iemand toegang krijgt tot je wachtwoord, zal hij geen toegang kunnen krijgen tot je account.","Enter date":"Datum invoeren","Enter dates":"Data invoeren","Enter the code generated by your authenticator app:":"Voer de code in die is gegenereerd door je authenticator app:","Enter verification code":"Verificatiecode invoeren","Enter your password to confirm the action and continue:":"Voer je wachtwoord in om de actie te bevestigen en door te gaan:","Error":"Fout","Errors":"Fouten","Estimate":"Schatting","Estimate Locations":"Locaties schatten","Estimate the approximate location of pictures without GPS coordinates.":"De locatie van foto's bij benadering schatten zonder GPS-coördinaten.","Every two days":"Om de twee dagen","Exclude content marked as private from search results, shared albums, labels, and places.":"Sluit inhoud gemarkeerd als privé uit van zoekresultaten, gedeelde albums, labels en plaatsen.","Exclude hidden":"Verborgen uitsluiten","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"Metadata-extractie met ExifTool is vereist voor volledige ondersteuning van video, live foto's en XMP.","Experimental Features":"Experimentele eigenschappen","Expires":"Verloopt","Exposure":"Blootstelling","Extract still images and generate thumbnails while indexing.":"Foto's extraheren en miniaturen genereren tijdens het indexeren.","F Number":"F Aantal","Face":"Gezichtje","Faces":"Gezichten","Failed removing link":"Mislukte verwijderingslink","Failed to connect account.":"Verbinding met account mislukt.","Failed updating link":"Mislukte actualiseringslink","Family Name":"Familienaam","Fast":"Snel","Favorite":"Favoriet","Favorites":"Favorieten","Feature Request":"Verzoek voor nieuwe functionaliteit","Feedback":"Feedback","Female":"Vrouw","File":"Bestand","File Browser":"Bestands Browser","File Conversion":"Bestandsconversie","File Name":"Bestandsnaam","File Size":"Bestandsgrootte","Filename":"Bestandsnaam","Files":"Bestanden","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Bestanden met opeenvolgende namen zoals 'IMG_1234 (2)' en 'IMG_1234 (3)' behoren tot hetzelfde beeld.","First page":"Eerste pagina","Focal Length":"Brandpuntsafstand","Folder":"Map","Folder contains %{n} files":"Map bevat %{n} bestanden","Folder is empty":"Map is leeg","Folders":"Mappen","Forgot password?":"Wachtwoord vergeten?","FPS":"FPS","Frames":"Frames","Full Access":"Volledige Toegang","Fullscreen":"Volledig scherm","General":"Algemeen","Generate":"Genereren","Generate albums of special moments, journeys, and places.":"Maakt automatisch albums van speciale momenten, reizen en plaatsen.","Generate Previews":"Voorvertoningen genereren","Generated":"Gegenereerd","Get Started":"Aan de slag","Given Name":"Voornaam","Global Options":"Overkoepelende instellingen","Go to page {0}":"Ga naar pagina {0}","Gold":"Goud","Green":"Groen","Grey":"Grijs","Guest":"Gast","Hash":"Hash","Help":"Help","Help & Support":"Hulp en Ondersteuning","Hidden":"Verborgen","Hidden Files":"Verborgen bestanden","Hide":"Verberg","Hide photos that have been moved to archive.":"Verberg foto's die zijn verplaatst naar het archief.","High":"Hoog","High Dynamic Range (HDR)":"Hoog dynamisch bereik (HDR)","How can we help?":"Hoe kunnen we je helpen?","Hybrid":"Hybride","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Als u de toegang tot uw authenticatie-app of -apparaat verliest, kunt u uw herstelcode gebruiken om weer toegang te krijgen tot uw account.","Image":"Afbeelding","Image Quality":"Beeldkwaliteit","Import":"Importeren","Import failed":"Importeren mislust","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Geïmporteerde bestanden worden gesorteerd op datum en krijgen een unieke naam om duplicaten te voorkomen.","Imported files will be sorted by date and given a unique name.":"Geïmporteerde bestanden worden gesorteerd op datum en krijgen een unieke naam.","Importing %{s}…":"Importeren van %{s}…","Importing files to originals…":"Bestanden importeren uit directory…","in":"in","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"Mochten er foto's ontbreken die u verwacht, scan dan uw bibliotheek opnieuw en wacht tot het indexeren is voltooid.","Include RAW image files when downloading stacks and archives.":"RAW-beeldbestanden opnemen bij het downloaden van stacks en archieven.","Include sidecar files when downloading stacks and archives.":"Download ook sidecar-bestanden bij het downloaden van stacks en archieven.","Increase storage size or delete files to continue.":"Vergroot de opslaggrootte of verwijder bestanden om verder te gaan.","Index":"Index","Index and import files through the user interface.":"Indexeer en importeer bestanden via de gebruikersinterface.","Indexing":"Indexeren","Indexing failed":"Indexeren mislukt","Indexing media and sidecar files…":"Foto’s en sidecar-bestanden aan het indexeren…","Information":"Informatie","Instance ID":"Instantie-ID","Insufficient storage.":"Onvoldoende opslag.","Interval":"Interval","Invalid":"Ongeldig","Invalid address":"Ongeldig adres","Invalid country":"Ongeldig land","Invalid date":"Ongeldige datum","Invalid parameters":"Ongeldige parameters","Invalid photo selected":"Ongeldige foto geselecteerd","Invalid time":"Ongeldige tijd","Invalid URL":"Ongeldige URL","It is a one-time use code that will disable 2FA for your account when you use it.":"Het is een eenmalige code die 2FA voor je account uitschakelt als je hem gebruikt.","Item":"Item","Items per page:":"Artikelen per pagina:","JPEG Quality: %{n}":"JPEG-kwaliteit: %{n}","JPEG Size Limit: %{n}px":"JPEG-groottegrens: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"JPEG's en thumbnails worden automatisch weergegeven als dat nodig is.","Keywords":"Trefwoorden","Label":"Label","Labels":"Labels","Labels deleted":"Labels verwijderd","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: Detailbewaring, Minimale artefacten","Language":"Taal","Last Active":"Laatste actief","Last Login":"Laatste aanmelding","Last page":"Laatste pagina","Last Sync":"Laatste synchronisatie","Last Used":"Laatst gebruikt","Latitude":"Breedtegraad","LDAP/AD":"LDAP/AD","Learn more":"Meer informatie","Learn More":"Meer leren","Legal Information":"Juridische informatie","Lens":"Lens","Library":"Bibliotheek","License":"Licentie","Like":"Vind ik leuk","Lime":"Limoen","Limit reached, showing first %{n} files":"Limiet bereikt, toont eerste %{n} bestanden","Linear: Very Smooth, Best Performance":"Lineair: Zeer glad, beste prestaties","Link":"Link","List":"Lijst","List View":"Lijstweergave","Live":"Live","Live Photos":"Live foto's","Load more":"Meer laden","Loading items...":"Artikelen laden...","Loading...":"Aan het laden...","Local":"Lokaal","Local Time":"Lokale tijd","Location":"Locatie","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Logboekberichten verschijnen hier wanneer PhotoPrism op gebroken bestanden stuit, of wanneer er andere potentiële problemen zijn.","Login":"Log in","Logout":"Log uit","Logs":"Logboeken","Longitude":"Lengtegraad","Low":"Laag","Magenta":"Magenta","Main Color":"Hoofdkleur","Male":"Man","Manage Account":"Account beheren","Manager":"Manager","Manual":"Handmatig","Manual Upload":"Uploaden","Maps":"Kaarten","Marker":"Symbool","Maximum number of accounts has been reached.":"Het maximum aantal accounts is bereikt.","Media":"Media","Medium":"Medium","Membership":"Lidmaatschap","Merge %{a} with %{b}?":"%{a} samenvoegen met %{b}?","Message":"Bericht","Message sent":"Bericht verzonden","Metadata":"Metagegevens","Metrics":"Metrieken","Minimize":"Minimaliseren","Missing":"Ontbrekend","Missing or invalid configuration":"Ontbrekende of ongeldige configuratie","Moments":"Momenten","Monochrome":"Monochroom","Month":"Maand","More options":"Meer opties","Mosaic":"Mozaiek","Most Relevant":"Meest relevant","Move Files":"Bestanden verplaatsen","Must have at least %{n} characters.":"Moet minstens %{n} tekens bevatten.","Mute":"Stomme","Name":"Naam","Name too long":"Titel is te lang","Never":"Nooit","New":"Nieuw","New Password":"Nieuw wachtwoord","Newest First":"Nieuwste eerst","Next":"Volgende","Next page":"Volgende","Next visual":"Volgende visualisatie","No":"Nee","No albums found":"Geen albums gevonden","No data available":"Geen gegevens beschikbaar","No labels found":"%{n} labels gevonden","No matching records found":"Geen overeenkomende records gevonden","No more":"Niet meer","No people found":"Geen mensen gevonden","No pictures found":"Geen foto's gevonden","No recently edited pictures":"Geen recent bewerkte foto's","No results":"Geen resultaten","No server connection":"Geen serververbinding","No servers configured.":"Geen servers geconfigureerd.","No services configured.":"Geen diensten geconfigureerd.","No thanks":"Nee bedankt","No warnings or error containing this keyword. Note that search is case-sensitive.":"Geen waarschuwingen of fouten met dit trefwoord. Let op: zoeken is hoofdlettergevoelig.","Non-photographic and low-quality images require a review before they appear in search results.":"Niet-fotografische beelden en beelden van lage kwaliteit moeten worden beoordeeld voordat ze in de zoekresultaten verschijnen.","None":"Geen","Not allowed":"Niet toegestaan","Not found":"Niet gevonden","Not sorted.":"Niet gesorteerd.","Not supported":"Niet ondersteund","Note you may manually manage your originals folder and importing is optional.":"Let op: u kunt uw originelenmap handmatig beheren en importeren is optioneel.","Note:":"Notitie:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Opmerking: Alleen WebDAV-servers, zoals Nextcloud of PhotoPrism, kunnen worden geconfigureerd als service op afstand voor het maken van back-ups en het uploaden van bestanden.","Notes":"Notities","Nothing to see here yet.":"Hier is nog niets te zien.","Nothing was found.":"Er is niets gevonden.","Offline":"Offline","OIDC":"OIDC","OK":"OK","Oldest First":"Oudste eerst","On Windows, enter the following resource in the connection dialog:":"In Windows voert u de volgende bron in het verbindingsdialoogvenster in:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"Het op aanvraag genereren van miniaturen kan een hoog CPU- en geheugengebruik veroorzaken. Het wordt niet aanbevolen voor servers en NAS-apparaten met beperkte bronnen.","Once a week":"Eenmaal per week","One album found":"Een album gevonden","One file found":"Een album gevonden","One file uploaded":"Eén bestand geüpload","One folder found":"Een album gevonden","One label found":"Een etiket gevonden","One person found":"Eén persoon vond","One picture found":"Een foto gevonden","Only locally managed accounts can be set up for authentication with 2FA.":"Alleen lokaal beheerde accounts kunnen worden ingesteld voor verificatie met 2FA.","Open":"Open","optional":"optioneel","or":"of","Orange":"Oranje","Organization":"Organisatie","Orientation":"Oriëntatie","Original file names will be stored and indexed.":"Originele bestandsnamen worden opgeslagen en geïndexeerd.","Original Name":"Originele naam","Originals":"Originelen","Other":"Andere","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Onze missie is om de meest gebruiks- en privacyvriendelijke oplossing te bieden om uw foto's georganiseerd en toegankelijk te houden.","Outdoor":"Outdoor","Page {0}, Current page":"Pagina {0}, Huidige pagina","Pages":"Pagina's","Pagination Navigation":"Navigatie met paginering","Panorama":"Panorama","Panoramas":"Panorama's","Password":"Wachtwoord","Password changed":"Wachtwoord gewijzigd","People":"Personen","People you share a link with will be able to view public contents.":"Mensen met wie je een link deelt, kunnen de openbare inhoud bekijken.","Permanently deleted":"Permanent verwijderd","Permanently remove files to free up storage.":"Bestanden permanent verwijderen om opslagruimte vrij te maken.","Person":"Persoon","Personal":"Persoonlijk","Photo":"Foto","PhotoPrism is 100% self-funded and independent.":"PhotoPrism is 100% zelf gefinancierd en onafhankelijk.","PhotoPrism+ Membership":"PhotoPrism+ lidmaatschap","Photos":"Foto’s","Picture Title":"Titel afbeelding","Pink":"Roze","Place":"Plaats","Place & Time":"Plaats en Tijd","Places":"Locaties","Please confirm your new password.":"Bevestig uw nieuwe wachtwoord.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Kopieer het volgende willekeurig gegenereerde app-wachtwoord en bewaar het op een veilige plaats, want je zult het niet meer kunnen zien:","Please do not upload any private, unlawful or offensive pictures.":"Upload geen foto's die privé, onwettig of aanstootgevend zijn.","Please don't upload photos containing offensive content.":"Upload geen foto's met aanstootgevende inhoud.","Please enter OTP character {0}":"Voer OTP-teken {0} in","Please note that changing your password will log you out on other devices and browsers.":"Houd er rekening mee dat het wijzigen van uw wachtwoord u zal afmelden op andere apparaten en browsers.","Please restart your instance for the changes to take effect.":"Start uw instantie opnieuw op om de wijzigingen van kracht te maken.","Please wait…":"Wacht even…","PM":"PM","PNG Size Limit: %{n}px":"PNG-groottegrens: %{n}px","Portrait":"Staand","Preserve filenames":"Bewaar bestandsnamen","Press enter to create a new album.":"Druk op enter om een nieuw album te maken.","Prevent database and album backups as well as YAML sidecar files from being created.":"Voorkom dat database- en albumback-ups en YAML sidecar-bestanden worden gemaakt.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Voorkom dat andere apps toegang hebben tot PhotoPrism als een gedeeld netwerkstation.","Preview":"Voorbeeld","Preview Images":"Voorbeeldafbeeldingen","Previous":"Vorige","Previous page":"Vorige pagina","Previous visual":"Vorige visualisatie","Primary":"Primair","Private":"Privé","Product Feedback":"Terugkoppeling van producten","Projection":"Projectie","Purple":"Paars","Quality Filter":"Kwaliteitsfilter","Quality Score":"Kwaliteitsscore","r":"r","Random":"Willekeurig","Rating {0} of {1}":"Beoordeling {0} van {1}","Raw":"Raw","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Herindexeer alle originelen, inclusief de reeds geïndexeerde en ongewijzigde bestanden.","Read-Only Mode":"Alleen-lezen modus","Recently Added":"Onlangs toegevoegd","Recently Archived":"Onlangs gearchiveerd","Recently Edited":"Recent bewerkt","Recognition starts after indexing has been completed.":"De herkenning begint nadat de indexering is voltooid.","Recognize faces so people can be assigned and found.":"Herkent gezichten, zodat specifieke mensen kunnen worden gevonden.","Recognized":"Erkend","Recovery Code":"Herstelcode","Red":"Rood","Refresh":"Vernieuw","Regions":"Regio's","Register":"Registreer","Reload":"Ververs","Reloading…":"Herladen…","Remote Sync":"Synchronisatie op afstand","Remove":"Verwijderen","remove failed: unknown album":"verwijderen mislukt: onbekend album","Remove from Album":"Verwijder uit album","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Verwijder geïmporteerde bestanden om opslag op te slaan. Niet-ondersteunde bestandstypen worden nooit verwijderd, ze blijven op hun huidige locatie.","Request failed - are you offline?":"Aanvraag mislukt - bent u offline?","Request failed - invalid response":"Verzoek mislukt - ongeldig antwoord","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Eis dat niet-fotografische afbeeldingen en afbeeldingen van lage kwaliteit worden beoordeeld voordat ze in de zoekresultaten verschijnen.","Resolution":"Resolutie","Restart":"Herstart","Restore":"Herstellen","Restored":"Gerestaureerd","Retry Limit":"Herhaal Limiet","Retype Password":"Herhaal je wachtwoord","Review":"Beoordeling","Role":"Rol","Rows per page:":"Rijen per pagina:","Satellite":"Satelliet","Save":"Opslaan","Scan":"Scan","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Scan de QR-code met je authenticatie-app of gebruik de onderstaande sleutel en voer vervolgens de gegenereerde verificatiecode in:","Scans":"Scans","Scope":"Toepassingsgebied","Search":"Zoeken","Search and display photos on a map.":"Zoek en toon foto's op een kaart.","Season":"Seizoen","Secret":"Geheim","Security and Access":"Veiligheid en toegang","Select":"Selecteer","Select a source folder to import files…":"Selecteer een bronmap om bestanden te importeren…","Select date":"Selecteer datum","Select dates":"Kies data","Select or create an album":"Een album kiezen of maken","Select the files to upload…":"Selecteer de bestanden die je wilt uploaden…","Select the folder to be indexed…":"Selecteer de map die geïndexeerd moet worden…","Select Time":"Selecteer tijd","Selection approved":"Selectie goedgekeurd","Selection archived":"Selectie gearchiveerd","Selection restored":"Selectie hersteld","Sequential Name":"Opeenvolgende naam","Service URL":"Service URL","Services":"Diensten","Session":"Sessie","Session ID":"Sessie-ID","Sessions":"Sessies","Set as Album Cover":"Ingesteld als albumhoes","Settings":"Instellingen","Settings saved":"Instellingen opgeslagen","Setup":"Setup","Share":"Delen","Share %{s}":"Deel %{s}","Share your pictures with other apps and services.":"Deel je foto's met andere apps en diensten.","Show":"Toon","Show all new faces":"Toon alle nieuwe gezichten","Show Captions":"Bijschriften tonen","Show hidden":"Verborgen weergeven","Show less":"Toon minder","Show more":"Toon meer","Show server logs in Library.":"Toon serverlogs in Bibliotheek.","Show Titles":"Titels tonen","Sidecar":"Sidecar","Sidecar Files":"Zijspan Bestanden","Sign in":"Inloggen","Similar":"Vergelijkbaar","Size":"Grootte","Slideshow":"Diashow","Slow":"Langzaam","Software":"Software","Software Update":"Software bijwerken","Something went wrong, try again":"Er ging iets mis, probeer het opnieuw.","Sort by":"Sorteren op","Sort Order":"Sorteer volgorde","Sorted ascending.":"Oplopend gesorteerd.","Sorted descending.":"Aflopend gesorteerd.","Source":"Bron","Stack":"Stapel","Stack files sharing the same unique image or instance identifier.":"Stapel bestanden met dezelfde unieke beeld- of instantie-identificatie.","Stack pictures taken at the exact same time and location based on their metadata.":"Stapel foto's die op exact dezelfde tijd en locatie zijn genomen op basis van hun metagegevens.","Stackable":"Stapelbaar","Stacks":"Stapels","Start":"Start","Start Page":"Startpagina","Static Size Limit: %{n}px":"Statische Grootte Limiet: %{n}px","Status":"Status","Storage":"Opslag","Streets":"Straat","Subject":"Onderwerp","Submit":"Stuur in","Successfully activated":"Met succes geactiveerd","Successfully Connected":"Succesvol aangesloten","Successfully deleted":"Succesvol verwijderd","Successfully verified":"Met succes geverifieerd","Super Admin":"Super Admin","Support for additional services, like Google Drive, will be added over time.":"Ondersteuning voor aanvullende diensten, zoals Google Drive, zal in de loop van de tijd worden toegevoegd.","Support Our Mission":"Steun onze missie","Sync":"Synchroniseer","Sync raw and video files":"Ruwe en videobestanden synchroniseren","Taken":"Bezet","Teal":"Groenblauw","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow is nodig voor beeldclassificatie, gezichtsherkenning en het detecteren van onveilige inhoud.","Terrain":"Terrein","Text":"Tekst","Text too long":"Titel is te lang","Thank You for Your Support!":"Bedankt voor uw steun!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Daarom is PhotoPrism vanaf de grond opgebouwd om te werken waar u maar wilt, zonder afbreuk te doen aan vrijheid, privacy of functionaliteit.","The index currently contains %{n} hidden files.":"De index bevat momenteel %{n} verborgen bestanden.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Hun formaat wordt mogelijk niet ondersteund, ze zijn nog niet geconverteerd naar JPEG of er zijn duplicaten.","Theme":"Thema","This field is required":"Dit veld is verplicht","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Hierdoor wordt de map met de originelen als een netwerkstation gemonteerd en kunt u bestanden openen, bewerken en verwijderen van uw computer of smartphone alsof ze lokaal zijn.","Time UTC":"Tijd UTC","Time Zone":"Tijdzone","Timeout":"time-out","Title":{"Account":"Titel","Photo":"Titel","":"Titel"},"Title / Position":"Titel / Positie","Title too long":"Titel is te lang","to":"tot","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Download, print of kopieer deze herstelcode en bewaar deze op een veilige plek om te voorkomen dat je wordt uitgesloten van je account.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Om een nieuw app-specifiek wachtwoord te genereren, voert u de naam en het autorisatiebereik van de applicatie in en selecteert u een vervaldatum:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Om over te schakelen naar een nieuwe authenticatie-app of -apparaat, moet je eerst de twee-factor authenticatie uitschakelen en vervolgens weer inschakelen:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Om te upgraden kunt u een activeringscode invoeren of op \"Registreren\" klikken om u aan te melden op onze website:","Today":"Vandaag","Toggle View":"Schakelweergave","Token":"Token","Too many files selected":"Te veel bestanden geselecteerd","Too many requests":"Te veel verzoeken","Troubleshooting":"Problemen oplossen","Try again using other filters or keywords.":"Probeer opnieuw met een ander trefwoord of filter.","Two-factor authentication has been enabled for your account.":"Twee-factor authenticatie is ingeschakeld voor je account.","Type":"Type","Unable to delete":"Kan niet verwijderen","Unauthorized":"Onbevoegde","Undo":"Ongedaan maken","Unique ID":"Unieke id","Unknown":"Onbekend","Unregistered":"Ongeregistreerd","Unsorted":"Ongesorteerd","Unstack":"Ontstapel","Updated":"Bijgewerkt","Updating faces":"Gezichten bijwerken","Updating index":"Bijwerken van de index","Updating moments":"Momenten van actualisering","Updating picture…":"Foto bijwerken…","Updating previews":"Voorvertoningen bijwerken","Updating stacks":"Actualisering van de stapels","Upgrade":"Upgrade","Upgrade Now":"Nu upgraden","Upload":"Uploaden","Upload complete":"Uploaden klaar","Upload complete. Indexing…":"Uploaden klaar. Indexeren…","Upload failed":"Uploaden mislukt","Upload local files":"Uploaden mislukt","Upload Path":"Pad uploaden","Upload to WebDAV and share links with friends.":"Upload naar WebDAV en deel links met vrienden.","Uploading %{n} of %{t}…":"Het uploaden van %{n} van %{t}…","Uploading photos…":"Foto’s uploaden…","Uploading…":"Uploaden…","Uploads that may contain such images will be rejected automatically.":"Uploads die dergelijke beelden kunnen bevatten, worden automatisch geweigerd.","Use Presets":"Gebruik Voorinstellingen","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Gebruik de volgende herstelcode om toegang te krijgen tot je account als je geen geldige verificatiecode kunt genereren met je authenticatie-app:","Use your recovery code or contact an administrator for help.":"Gebruik je herstelcode of neem contact op met een beheerder voor hulp.","User":"Gebruiker","User Guide":"Gebruikershandleiding","User Interface":"Gebruikersinterface","Username":"Gebruikersnaam","Users":"Gebruikers","Vector":"Vector","Vectors":"Vectoren","Verification Code":"Verificatiecode","Video":"Video","Video Duration":"Videoduur","Videos":"Video's","View":"Weergave","View search results as a list.":"Bekijk zoekresultaten als een lijst.","Viewer":"Kijker","Visitor":"Bezoeker","Visual Similarity":"Visuele gelijkenis","Warning":"Waarschuwing","We appreciate your feedback!":"Wij waarderen uw feedback!","We do our best to respond within five business days or less.":"We doen ons best om binnen vijf werkdagen of minder te reageren.","Web Login":"Web Login","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"WebDAV-cliënten kunnen verbinding maken met PhotoPrism via de volgende URL:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"WebDAV cliënten, zoals Microsoft's Windows Explorer of Apple's Finder, kunnen rechtstreeks verbinding maken met PhotoPrism.","WebDAV Upload":"Uploaden","WebGL support is disabled in your browser":"WebGL-ondersteuning is uitgeschakeld in uw browser","Website":"Website","White":"Wit","Work Details":"Werk Details","Year":"Jaar","Yellow":"Geel","Yes":"Ja","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"U kunt contact met ons opnemen via membership@photoprism.app voor vragen over uw lidmaatschap.","You can only download one album":"Je kunt slechts een album downloaden","You can only download one label":"Je kunt slechts een album downloaden","You can search for a location or move the marker on the map to change the position:":"Je kunt een locatie zoeken of de marker op de kaart verplaatsen om de positie te veranderen:","You can upload up to %{n} files for test purposes.":"Je kunt tot %{n} bestanden uploaden voor testdoeleinden.","You may only select one item":"Je kunt slechts een album downloaden","You may rescan your library to find additional faces.":"U kunt uw bibliotheek opnieuw scannen om meer gezichten te vinden.","Your account has been successfully connected.":"Uw account is succesvol verbonden.","Your browser does not support WebGL":"Uw browser ondersteunt WebGL niet","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Uw blijvende steun helpt ons om regelmatig updates te geven en onafhankelijk te blijven, zodat we onze missie kunnen vervullen en uw privacy kunnen beschermen.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Uw bibliotheek wordt voortdurend geanalyseerd om automatisch albums te maken van speciale momenten, reizen en plaatsen.","Zoom in/out":"In-/uitzoomen"}} \ No newline at end of file diff --git a/frontend/src/locales/json/pl.json b/frontend/src/locales/json/pl.json index 5469fe0ab..a983e5738 100644 --- a/frontend/src/locales/json/pl.json +++ b/frontend/src/locales/json/pl.json @@ -1 +1 @@ -{"pl":{"{0} appended action":"{0} dołączone działanie","{0} files":"{0} plików","{0} files ({1} in total)":"{0} plików (łącznie {1})","{0} more":"{0} więcej","{0} prepended action":"{0} poprzedzone działanie","{0} selected":"{0} wybrany","{0}-{1} of {2}":"{0}-{1} z {2}","%{n} albums found":"Znalezione albumy: %{n}","%{n} files uploaded":"Przesłane pliki: %{n}","%{n} folders found":"Znalezione foldery: %{n}","%{n} GB of %{q} GB used":"%{n} GB z %{q} GB wykorzystanych","%{n} labels found":"Znalezione etykiety: %{n}","%{n} people found":"Znalezione osoby: %{n}","%{n} pictures found":"Znalezione zdjęcia: %{n}","%{s} is too long":"%{s} jest za długie","%{s} is too short":"%{s} jest za krótkie","1 hour":"1 godzina","12 hours":"12 godzin","2-Factor Authentication":"Uwierzytelnianie dwuskładnikowe","2FA":"2FA","4 hours":"4 godziny","A click will copy it to your clipboard.":"Kliknięcie na link powyżej skopiuje go do schowka.","A new version of %{s} is available:":"Dostępna jest nowa wersja %{s}:","About":"O programie","Access Token":"Token dostępu","Account":"Konto","Account created":"Konto utworzone","Account deleted":"Konto usunięte","Account restored":"Konto przywrócone","Accounts":"Konta","Accuracy":"Dokładność","Action":"Akcja","Actions":"Akcje","Activate":"Aktywuj","Activate to remove sorting.":"Aktywuj, aby usunąć sortowanie.","Activate to sort ascending.":"Aktywuj, aby sortować rosnąco.","Activate to sort descending.":"Aktywuj, aby sortować malejąco.","Activation Code":"Kod aktywacji","Add":"Dodaj","Add %{s}?":"Dodaj %{s}?","Add Account":"Dodaj konto","Add Album":"Dodaj album","Add files to your library via Web Upload.":"Dodaj pliki do biblioteki przez Web Upload.","Add Link":"Dodaj link","Add person?":"Dodać osobę?","Add pictures from search results by selecting them.":"Dodaj zdjęcia poprzez zaznaczenie ich w wynikach wyszukiwania.","Add to album":"Dodaj do albumu","Added":"Dodano","Admin":"Administrator","Advanced":"Zaawansowane","After 1 day":"Po 1 dniu","After 3 days":"Po 3 dniach","After 7 days":"Po 7 dniach","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Po wprowadzeniu hasła w celu potwierdzenia możesz skonfigurować uwierzytelnianie dwuskładnikowe za pomocą kompatybilnej aplikacji lub urządzenia uwierzytelniającego:","After one month":"Po jednym miesiącu","After one year":"Po jednym roku","After selecting pictures from search results, you can add them to an album using the context menu.":"Po wybraniu zdjęć z wyników wyszukiwania, można je dodać do albumu za pomocą menu kontekstowego.","After two months":"Po dwóch miesiącach","After two weeks":"Po dwóch tygodniach","Album":"Album","Album Backups":"Kopie zapasowe albumów","Album created":"Album został utworzony","Albums":"Albumy","Albums deleted":"Skasowano albumy","All":"Wszystkie","All %{n} albums loaded":"Wszystkie albumy wczytane: %{n}","All %{n} labels loaded":"Wszystkie etykiety wczytane: %{n}","All %{n} people loaded":"Wszystkie %{n} osoby załadowane","All Cameras":"Wszystkie aparaty","All Categories":"Wszystkie kategorie","All Colors":"Wszystkie kolory","All Countries":"Wszystkie kraje","All fields are required":"Wszystkie pola są wymagane","All files from import folder":"Wszystkie pliki z folderu importowania","All Lenses":"Wszystkie obiektywy","All Months":"Wszystkie miesiące","All originals":"Wszystkie oryginały","All Years":"Wszystkie lata","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Możesz też wysłać wybrane pliki bezpośrednio na serwer WebDAV, np. Nextcloud.","Altitude":"Wysokość","Altitude (m)":"Wysokość (m)","AM":"AM","Animated":"Animowany","Animation":"Animacja","Any private photos and videos remain private and won't be shared.":"Wszystkie prywatne zdjęcia i filmy pozostaną prywatne i nie zostaną udostępnione.","API Key":"Klucz API","Application":"Zastosowanie","Apply":"Zastosuj","Approve":"Zatwierdź","Apps and Devices":"Aplikacje i urządzenia","Archive":"Archiwum","Archived":"Zarchiwizowane","Are you sure you want to archive the selection?":"Czy na pewno chcesz zarchiwizować zaznaczone pliki?","Are you sure you want to delete these albums?":"Czy na pewno chcesz usunąć te albumy?","Are you sure you want to delete these labels?":"Czy na pewno chcesz usunąć wybrane etykiety?","Are you sure you want to delete this account?":"Czy na pewno chcesz usunąć konto?","Are you sure you want to permanently delete these pictures?":"Czy na pewno chcesz trwale usunąć te zdjęcia?","Are you sure you want to permanently delete this file?":"Czy na pewno chcesz usunąć ten plik?","Are you sure?":"Jesteś pewny?","Artist":"Artysta","Aspect Ratio":"Proporcje obrazu","Audio":"Audio","Authentication":"Uwierzytelnianie","Auto":"Auto","Back":"Z powrotem","Back to top":"Powrót do góry","Backup":"Kopia zapasowa","Badge":"Odznaka","Base Path":"Ścieżka podstawowa","Become a member today, support our mission and enjoy our member benefits!":"Zostań członkiem już dziś, wspieraj naszą misję i korzystaj z naszych korzyści członkowskich!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Będąc w 100% finansowani i niezależni, możemy obiecać, że nigdy nie sprzedamy Twoich danych i że zawsze będziemy transparentni w kwestii naszego oprogramowania i usług.","Bio":"Życiorys","Birth Date":"Data urodzenia","Black":"Czarny","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: zmodyfikowany Lanczos, mniej artefaktów pierścieniowych","Blue":"Niebieski","Brown":"Brązowy","Browse":"Przeglądaj","Browse and edit image classification labels.":"Przeglądaj i edytuj etykiety klasyfikacji obrazów.","Browse and share your pictures organized into monthly albums.":"Przeglądaj i udostępniaj swoje zdjęcia uporządkowane w miesięcznych albumach.","Browse Files":"Przeglądaj pliki","Browse indexed files and folders in Library.":"Przeglądaj zaindeksowane pliki i foldery w bibliotece.","Bug Report":"Zgłoszenie błędu","Busy, please wait…":"Zajęty, proszę czekać…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Korzystając z oprogramowania i usług, które oferujemy, zgadzasz się na nasze warunki świadczenia usług, politykę prywatności i kodeks postępowania.","Calendar":"Kalendarz","Camera":"Aparat","Camera Serial":"Numer seryjny aparatu","Can't access your authenticator app or device?":"Nie możesz uzyskać dostępu do aplikacji lub urządzenia uwierzytelniającego?","Can't load more, limit reached":"Nie można załadować więcej, osiągnięto limit","Can't select more items":"Nie można zaznaczyć większej ilości elementów","Cancel":"Anuluj","Caption":"Napis","Cards":"Karty","Carousel slide {0} of {1}":"Slajd karuzeli {0} z {1}","Category":"Kategoria","Change Avatar":"Zmień awatar","Change Password":"Zmień hasło","Change personal profile and security settings.":"Zmiana ustawień profilu osobistego i zabezpieczeń.","Change photo titles, locations, and other metadata.":"Zmień tytuły, lokalizacje i inne metadane zdjęć.","Change private flag":"Zmień prywatność","Changes could not be saved":"Nie można zapisać zmian","Changes successfully saved":"Zmiany zostały pomyślnie zapisane","Changes to the advanced settings require a restart to take effect.":"Zmiany ustawień zaawansowanych wymagają ponownego uruchomienia komputera.","Checked":"Data ostatniej weryfikacji metadanych","Chroma":"Chrominancja","Cleaning index and cache":"Czyszczenie indeksu i pamięci podręcznej","Cleanup":"Czyszczenie","Clear {0}":"Wyczyść {0}","Client":"Klient","Client Credentials":"Poświadczenia klienta","Close":"Zamknij","Codec":"Kodek","Color":"Kolor","Color Profile":"Profil kolorów","Colors":"Kolory","Compare Editions":"Porównaj wydania","Complete Rescan":"Skanowanie od zera","Confidence":"Pewność","Confirm":"Potwierdzać","Connect":"Połącz","Connect via WebDAV":"Połącz przez WebDAV","Connected":"Połączony","Contact Details":"Dane kontaktowe","Contact Us":"Skontaktuj się z nami","Contains %{n} pictures.":"Zawiera %{n} zdjęć.","Contains one picture.":"Zawiera jedno zdjęcie.","Content":"Treść","Continue":"Kontynuować","Continue with %{provider}":"Kontynuuj z %{dostawca}","Contributor":"Dostawca","Converting":"Konwertowanie","Copied to clipboard":"Skopiowano do schowka","Copy":"Kopiuj","Copyright":"Prawa autorskie","Couldn't find anything.":"Nie udało się niczego znaleźć.","Country":"Kraj","Create Account":"Utwórz konto","Create album":"Stwórz album","Create regular backups based on the configured schedule.":"Twórz kopie zapasowe indeksów na podstawie skonfigurowanego harmonogramu.","Create YAML files to back up album metadata.":"Twórz pliki YAML, aby tworzyć kopie zapasowe metadanych albumów.","Create YAML sidecar files to back up picture metadata.":"Twórz pliki pomocnicze YAML, aby tworzyć kopie zapasowe metadanych obrazów.","Created":"Data utworzenia pliku","Creating thumbnails for":"Tworzenie miniaturek dla","Cubic: Moderate Quality, Good Performance":"Cubic: umiarkowana jakość, dobra wydajność","Current Password":"Obecne hasło","Custom":"Niestandardowy","Cyan":"Cyjan","Daily":"Codziennie","Database Backups":"Kopie zapasowe bazy danych","Day":"Dzień","Deactivate":"Dezaktywować","Debug Logs":"Logi debugowania","Default":"Domyślny","Default Folder":"Domyślny folder","Delete":"Usuń","Delete All":"Usuń wszystko","Delete all?":"Usunąć wszystko?","Delete orphaned index entries, sidecar files and thumbnails.":"Usuwanie osieroconych wpisów indeksu, plików sidecar i miniatur.","Description":"Opis","Detailed instructions can be found in our User Guide.":"Dokładne informacje można znaleźć w instrukcji obsługi.","Details":"Szczegóły","Dimensions":"Wymiary","Disable Backups":"Wyłącz kopie zapasowe","Disable Darktable":"Wyłącz Darktable","Disable ExifTool":"Wyłącz ExifTool","Disable features that require write permission for the originals folder.":"Wyłącz funkcje wymagające uprawnień do zapisu w folderze oryginałów.","Disable FFmpeg":"Wyłącz FFmpeg","Disable ImageMagick":"Wyłączenie programu ImageMagick","Disable interactive world maps and reverse geocoding.":"Wyłącz interaktywne mapy świata i odwrotne geokodowanie.","Disable Places":"Wyłącz miejsca","Disable RawTherapee":"Wyłącz RawTherapee","Disable TensorFlow":"Wyłącz TensorFlow","Disable Vectors":"Wyłączenie wektorów","Disable WebDAV":"Wyłącz WebDAV","Disables vector graphics support.":"Wyłącza obsługę grafiki wektorowej.","Disables video transcoding and thumbnail extraction.":"Wyłącza transkodowanie wideo i ekstrakcję miniatur.","Discover":"Odkryj","Dismiss":"Odrzuć","Display Name":"Nazwa wyświetlana","Display picture captions in search results.":"Wyświetlaj podpisy zdjęć w wynikach wyszukiwania.","Display picture titles in search results.":"Wyświetlaj tytuły zdjęć w wynikach wyszukiwania.","Document":"Dokument","Documents":"Dokumenty","Don't use Darktable to convert RAW images.":"Nie używaj Darktable do konwersji obrazów RAW.","Don't use ImageMagick to convert images.":"Nie używaj ImageMagick do konwersji obrazów.","Don't use RawTherapee to convert RAW images.":"Nie używaj RawTherapee do konwersji obrazów RAW.","Done":"OK","Done.":"Zrobione.","Download":"Pobierz","Download only original media files, without any automatically generated files.":"Pobieraj tylko oryginalne pliki multimedialne, bez żadnych automatycznie generowanych plików.","Download remote files":"Pobierz zdalne pliki","Download single files and zip archives.":"Pobierz pojedyncze pliki i archiwa zip.","Downloading…":"Pobieranie…","Downscaling Filter":"Filtr skalowania rozdzielczości w dół","Drag and drop files here":"Przeciągnij i upuść pliki tutaj","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"Ze względu na dużą ilość otrzymywanych przez nas e-maili, nasz zespół może nie być w stanie odpowiedzieć na nie natychmiast.","Duplicates will be skipped and only appear once.":"Duplikaty zostaną pominięte i pojawią się tylko raz.","Duration":"Czas trwania","Dynamic Previews":"Dynamiczne podglądy","Dynamic Size Limit: %{n}px":"Limit rozmiaru dynamicznych podglądów: %{n}px","E-Mail":"E-mail","Edit":"Edytuj","Edit %{s}":"Edytuj %{s}","Edit Account":"Edytuj konto","Edit Photo":"Edytuj zdjęcie","Edited":"Data ostatniej edycji","Email":"Email","Enable debug mode to display additional logs and help with troubleshooting.":"Włącz tryb debugowania, aby wyświetlić dodatkowe dzienniki i pomóc w rozwiązywaniu problemów.","Enable new features that may be incomplete or unstable.":"Włącz nowe funkcje, które mogą być niekompletne lub niestabilne.","Enables RAW converter presets. May reduce performance.":"Włącza wstępne ustawienia konwertera RAW. Może zmniejszyć wydajność.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Włączenie uwierzytelniania dwuskładnikowego oznacza, że do zalogowania będziesz potrzebować losowo wygenerowanego kodu weryfikacyjnego, więc nawet jeśli ktoś uzyska dostęp do Twojego hasła, nie będzie mógł uzyskać dostępu do Twojego konta.","Enter date":"Wprowadź datę","Enter dates":"Wprowadź daty","Enter the code generated by your authenticator app:":"Wprowadź kod wygenerowany przez aplikację uwierzytelniającą:","Enter verification code":"Wprowadź kod weryfikacyjny","Enter your password to confirm the action and continue:":"Wpisz hasło, aby potwierdzić akcję i kontynuować:","Error":"Błąd","Errors":"Błędy","Estimate":"Oszacowanie","Estimate Locations":"Szacunkowe lokalizacje","Estimate the approximate location of pictures without GPS coordinates.":"Oszacuj przybliżoną lokalizację zdjęć bez współrzędnych GPS.","Every two days":"Co dwa dni","Exclude content marked as private from search results, shared albums, labels, and places.":"Pozwala oznaczyć wybrane materiały jako prywatne i wykluczyć je z wyników wyszukiwania, współdzielonych albumów, oznaczeń i miejsc.","Exclude hidden":"Pomiń ukryte","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"Ekstrakcja metadanych za pomocą ExifTool jest wymagana do pełnej obsługi wideo, zdjęć na żywo i XMP.","Experimental Features":"Funkcje eksperymentalne","Expires":"Wygasa","Exposure":"Ekspozycja","Extract still images and generate thumbnails while indexing.":"Wyodrębniaj nieruchome obrazy i generuj miniatury podczas indeksowania.","F Number":"Wartość przysłony","Face":"Twarz","Faces":"Twarze","Failed removing link":"Nie udało się usunąć linku","Failed to connect account.":"Nie udało się połączyć konta.","Failed updating link":"Nie udało się zaktualizować linku","Family Name":"Nazwa rodziny produktów","Fast":"Szybka","Favorite":"Ulubione","Favorites":"Ulubione","Feature Request":"Prośba o nową funkcję","Feedback":"Opinia","Female":"Kobieta","File":"Plik","File Browser":"Przeglądarka plików","File Conversion":"Konwersja plików","File Name":"Nazwa pliku","File Size":"Rozmiar pliku","Filename":"Nazwa pliku","Files":"Pliki","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Pliki z sekwencyjnymi nazwami, np. 'IMG_1234 (2)' i 'IMG_1234 (3)', należą do tego samego zdjęcia.","First page":"Pierwsza strona","Focal Length":"Ogniskowa","Folder":"Katalog","Folder contains %{n} files":"Folder zawiera %{n} plików","Folder is empty":"Folder jest pusty","Folders":"Foldery","Forgot password?":"Zapomniałeś hasła?","FPS":"FPS","Frames":"Klatki","Full Access":"Pełny dostęp","Fullscreen":"Pełny ekran","General":"Ogólne","Generate":"Generować","Generate albums of special moments, journeys, and places.":"Automatycznie tworzy albumy z wyjątkowych chwil, podróży i miejsc.","Generate Previews":"Generuj podglądy","Generated":"Wygenerowano","Get Started":"Rozpocznij","Given Name":"Imię","Global Options":"Opcje globalne","Go to page {0}":"Przejdź do strony {0}.","Gold":"Złoty","Green":"Zielony","Grey":"Szary","Guest":"Gość","Hash":"Wartość hash","Help":"Pomoc","Help & Support":"Pomoc i wsparcie","Hidden":"Ukryte","Hidden Files":"Ukryte pliki","Hide":"Ukryj","Hide photos that have been moved to archive.":"Pozwala przenieść wybrane pliki do archiwum.","High":"Wysoki","High Dynamic Range (HDR)":"Wysoki zakres dynamiczny (HDR)","How can we help?":"W czym możemy pomóc?","Hybrid":"Hybrydowy","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Jeśli utracisz dostęp do aplikacji lub urządzenia uwierzytelniającego, możesz użyć kodu odzyskiwania, aby odzyskać dostęp do swojego konta.","Image":"Obraz","Image Quality":"Jakość obrazu","Import":"Import","Import failed":"Błąd importu","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Zaimportowane pliki zostaną posortowane według daty i otrzymają unikalną nazwę, aby uniknąć duplikatów.","Imported files will be sorted by date and given a unique name.":"Zaimportowane pliki zostaną posortowane według daty i otrzymają unikalną nazwę.","Importing %{s}…":"Importowanie %{s}…","Importing files to originals…":"Importowanie plików do oryginałów…","in":"w","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"Jeśli zdjęcia których szukasz nie są widoczne, przeskanuj ponownie bibliotekę i poczekaj aż indeksowanie zostanie ukończone.","Include RAW image files when downloading stacks and archives.":"Dołączanie plików obrazów RAW podczas pobierania stosów i archiwów.","Include sidecar files when downloading stacks and archives.":"Dołączaj pliki sidecar podczas pobierania stosów i archiwów.","Increase storage size or delete files to continue.":"Zwiększ rozmiar pamięci lub usuń pliki, aby kontynuować.","Index":"Indeksowanie","Index and import files through the user interface.":"Indeksowanie i importowanie plików za pomocą interfejsu użytkownika.","Indexing":"Indeksuje","Indexing failed":"Błąd indeksowania","Indexing media and sidecar files…":"Indeksowanie mediów i powiązanych plików…","Information":"Informacje","Instance ID":"ID instancji","Insufficient storage.":"Niewystarczająca pamięć.","Interval":"Okres","Invalid":"Nieprawidłowe","Invalid address":"Nieprawidłowy adres","Invalid country":"Nieprawidłowy kraj","Invalid date":"Niewłaściwa data","Invalid parameters":"Parametry nieprawidłowe","Invalid photo selected":"Wybrano nieprawidłowe zdjęcie","Invalid time":"Nieprawidłowy czas","Invalid URL":"Nieprawidłowy adres URL","It is a one-time use code that will disable 2FA for your account when you use it.":"Jest to jednorazowy kod, który wyłączy 2FA na Twoim koncie, gdy z niego skorzystasz.","Item":"Element","Items per page:":"Elementy na stronę:","JPEG Quality: %{n}":"Jakość JPEG: %{n}","JPEG Size Limit: %{n}px":"Limit rozmiaru JPEG: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"JPEGi i miniatury są automatycznie tworzone w miarę potrzeb.","Keywords":"Słowa kluczowe","Label":"Etykieta","Labels":"Etykiety","Labels deleted":"Etykiety zostały usunięte","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: zachowanie detali, minimalne artefakty","Language":"Język","Last Active":"Ostatni aktywny","Last Login":"Ostatnie logowanie","Last page":"Ostatnia strona","Last Sync":"Ostatnia synchronizacja","Last Used":"Ostatnio używane","Latitude":"Szerokość geograficzna","LDAP/AD":"LDAP/AD","Learn more":"Dowiedz się więcej","Learn More":"Dowiedz się więcej","Legal Information":"Informacje prawne","Lens":"Obiektyw","Library":"Biblioteka","License":"Licencja","Like":"Dodaj do ulubionych","Lime":"Limonkowy","Limit reached, showing first %{n} files":"Osiągnięto limit, pokazuję pierwsze %{n} plików","Linear: Very Smooth, Best Performance":"Linear: bardzo gładki, najlepsza wydajność","Link":"Link","List":"Lista","List View":"Widok listy","Live":"Live","Live Photos":"Zdjęcia na żywo","Load more":"Załaduj więcej","Loading items...":"Ładowanie pozycji...","Loading...":"Ładowanie...","Local":"Lokalnie","Local Time":"Czas lokalny","Location":"Miejsce","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Komunikaty dziennika pojawiają się tutaj za każdym razem, gdy PhotoPrism natknie się na uszkodzone pliki lub wystąpią inne potencjalne problemy.","Login":"Zaloguj","Logout":"Wyloguj","Logs":"Logi","Longitude":"Długość geograficzna","Low":"Niski","Magenta":"Magenta","Main Color":"Główny kolor","Male":"Mężczyzna","Manage Account":"Zarządzaj kontem","Manual":"Podręcznik","Manual Upload":"Ręczne wgrywanie","Maps":"Mapy","Marker":"Znacznik","Maximum number of accounts has been reached.":"Osiągnięto maksymalną liczbę kont.","Media":"Media","Medium":"Średnia","Membership":"Członkostwo","Merge %{a} with %{b}?":"Złączyć %{a} z %{b}?","Message":"Wiadomość","Message sent":"Wiadomość została wysłana","Metadata":"Metadane","Metrics":"Metryka","Minimize":"Zminimalizuj","Missing":"Brakujący","Missing or invalid configuration":"Brakująca lub nieprawidłowa konfiguracja","Moments":"Chwile","Monochrome":"Monochromatyczne","Month":"Miesiąc","More options":"Więcej opcji","Mosaic":"Mozaika","Most Relevant":"Najważniejsze","Move Files":"Przenieś pliki","Must have at least %{n} characters.":"Musi mieć co najmniej %{n} znaków.","Mute":"Wyciszenie","Name":"Nazwa","Name too long":"Nazwa zbyt długa","Never":"Nigdy","New":"Nowi","New Password":"Nowe hasło","Newest First":"Najnowsze","Next":"Następny","Next page":"Następna strona","Next visual":"Następny obraz","No":"Nie","No albums found":"Nie znaleziono żadnego albumu","No data available":"Brak dostępnych danych","No labels found":"Nie znaleziono żadnej etykiety","No matching records found":"Nie znaleziono pasujących rekordów","No more":"Nie więcej","No people found":"Nie znaleziono żadnej osoby","No pictures found":"Nie znaleziono żadnego zdjęcia","No recently edited pictures":"Brak ostatnio edytowanych zdjęć","No server connection":"Brak połączenia z serwerem","No servers configured.":"Nie skonfigurowano żadnych serwerów.","No services configured.":"Nie skonfigurowano żadnych usług.","No thanks":"Nie, dziękuję","No warnings or error containing this keyword. Note that search is case-sensitive.":"Brak ostrzeżeń lub błędów zawierających to słowo kluczowe. Zwróć uwagę, że wielkość liter jest uwzględniana w wyszukiwaniu.","Non-photographic and low-quality images require a review before they appear in search results.":"Obrazy niebędące fotografiami lub posiadające niską jakość wymagają zatwierdzenia, zanim pojawią się w wynikach wyszukiwania.","None":"Brak","Not allowed":"Niedozwolone","Not found":"Nie znaleziono","Not sorted.":"Nie posortowane.","Not supported":"Nieobsługiwane","Note you may manually manage your originals folder and importing is optional.":"Możesz też ręcznie zarządzać folderem oryginałów, importowanie jest opcjonalne.","Note:":"Uwaga:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Uwaga: Tylko serwery WebDAV, takie jak Nextcloud lub PhotoPrism, mogą być skonfigurowane jako zdalna usługa do tworzenia kopii zapasowych i przesyłania plików.","Notes":"Notatki","Nothing to see here yet.":"Na razie nic tu nie widać.","Nothing was found.":"Nic nie znaleziono.","Offline":"Offline","OIDC":"OIDC","OK":"OK","Oldest First":"Najstarsze","On Windows, enter the following resource in the connection dialog:":"W systemie Windows wpisz następujący adres w oknie dialogowym połączenia:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"Generowanie miniatur na żądanie może powodować wysokie zużycie procesora i pamięci. Nie jest to zalecane w przypadku serwerów i urządzeń NAS o ograniczonych zasobach.","Once a week":"Raz w tygodniu","One album found":"Znaleziono jeden album","One file found":"Znaleziono jeden plik","One file uploaded":"Przesłano jeden plik","One folder found":"Znaleziono jeden folder","One label found":"Znaleziono jedną etykietę","One person found":"Znaleziono jedną osobę","One picture found":"Znaleziono jedno zdjęcie","Only locally managed accounts can be set up for authentication with 2FA.":"Tylko konta zarządzane lokalnie można skonfigurować do uwierzytelniania za pomocą 2FA.","Open":"Otwarty","optional":"opcjonalny","or":"lub","Orange":"Pomarańczowy","Organization":"Organizacja","Orientation":"Orientacja","Original file names will be stored and indexed.":"Oryginalne nazwy plików będą przechowywane i indeksowane.","Original Name":"Oryginalna nazwa","Originals":"Oryginały","Other":"Inne","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Naszą misją jest dostarczenie najbardziej przyjaznego dla użytkownika i jego prywatności rozwiązania, które pozwoli uporządkować i udostępniać zdjęcia.","Outdoor":"Outdoor","Page {0}, Current page":"Strona {0}, Bieżąca strona","Pages":"Strony","Pagination Navigation":"Nawigacja stronicowania","Panorama":"Panorama","Panoramas":"Panoramy","Password":"Hasło","Password changed":"Zmieniono hasło","People":"Ludzie","People you share a link with will be able to view public contents.":"Osoby, z którymi dzielisz się linkiem, będą mogły przeglądać publiczne treści.","Permanently deleted":"Trwale usunięto","Permanently remove files to free up storage.":"Usuń pliki permanentnie, aby zwolnić miejsce na dysku.","Person":"Osoba","Personal":"Osobiste","Photo":"Zdjęcie","PhotoPrism is 100% self-funded and independent.":"PhotoPrism jest w 100% finansowany i niezależny.","PhotoPrism+ Membership":"Członkostwo w PhotoPrism+","Photos":"Zdjęcia","Picture Title":"Tytuł zdjęcia","Pink":"Różowy","Place":"Miejsce","Place & Time":"Miejsce i czas","Places":"Miejsca","Please confirm your new password.":"Potwierdź nowe hasło.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Skopiuj następujące losowo wygenerowane hasło do aplikacji i przechowuj je w bezpiecznym miejscu, ponieważ nie będziesz mógł go ponownie zobaczyć:","Please do not upload any private, unlawful or offensive pictures.":"Prosimy o nieprzesyłanie żadnych prywatnych, niezgodnych z prawem lub obraźliwych zdjęć.","Please don't upload photos containing offensive content.":"Proszę nie przesyłać zdjęć zawierających nieprzyzwoite treści.","Please enter OTP character {0}":"Wprowadź znak OTP {0}","Please note that changing your password will log you out on other devices and browsers.":"Pamiętaj, że zmiana hasła wyloguje Cię na innych urządzeniach i przeglądarkach.","Please restart your instance for the changes to take effect.":"Proszę zrestartować swoją instancję, aby zmiany zaczęły obowiązywać.","Please wait…":"Proszę czekać…","PM":"PM","PNG Size Limit: %{n}px":"Limit rozmiaru PNG: %{n}px","Portrait":"Portret","Preserve filenames":"Zachowaj oryginalne nazwy plików","Press enter to create a new album.":"Naciśnij enter by utworzyć nowy album.","Prevent database and album backups as well as YAML sidecar files from being created.":"Zapobiegaj tworzeniu kopii zapasowych bazy danych i albumów, a także plików pomocniczych YAML.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Uniemożliw innym aplikacjom dostęp do PhotoPrism jako udostępnionego dysku sieciowego.","Preview":"Podgląd","Preview Images":"Zdjęcia podglądowe","Previous":"Poprzedni","Previous page":"Poprzednia strona","Previous visual":"Poprzednia wizualizacja","Primary":"Główny","Private":"Prywatne","Product Feedback":"Opinia o produkcie","Projection":"Projekcja","Purple":"Purpurowy","Quality Filter":"Filtr jakości","Quality Score":"Ocena jakości","r":"r","Random":"Losowy","Rating {0} of {1}":"Ocena {0} z {1}","Raw":"RAW","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Ponowne indeksowanie wszystkich oryginałów, w tym już zaindeksowanych i niezmienionych plików.","Read-Only Mode":"Tryb tylko do odczytu","Recently Added":"Ostatnio dodane","Recently Archived":"Ostatnio zarchiwizowane","Recently Edited":"Ostatnio edytowane","Recognition starts after indexing has been completed.":"Rozpoznawanie twarzy rozpocznie się po zakończeniu indeksowania.","Recognize faces so people can be assigned and found.":"Rozpoznaje twarze, dzięki czemu można znaleźć konkretne osoby.","Recognized":"Rozpoznani","Recovery Code":"Kod odzyskiwania","Red":"Czerwony","Refresh":"Odśwież","Regions":"Regiony","Register":"Zarejestruj się","Reload":"Załaduj ponownie","Reloading…":"Przeładowywanie…","Remote Sync":"Zdalna synchronizacja","Remove":"Usuń","remove failed: unknown album":"usunięcie nie powiodło się: nieznany album","Remove from Album":"Usuń z albumu","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Usuń zaimportowane pliki z ich obecnej lokalizacji, aby zaoszczędzić miejsce na dysku. Nieobsługiwane typy plików pozostaną nienaruszone.","Request failed - are you offline?":"Żądanie nie powiodło się - jesteś offline?","Request failed - invalid response":"Żądanie nie powiodło się - niewłaściwa odpowiedź","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Wymagaj, aby obrazy niefotograficzne i niskiej jakości były sprawdzane przed pojawieniem się w wynikach wyszukiwania.","Resolution":"Rozdzielczość","Restart":"Uruchom ponownie stronę","Restore":"Przywróć","Restored":"Przywrócony","Retry Limit":"Limit ponawiania prób","Retype Password":"Powtórz hasło","Review":"Do sprawdzenia","Role":"Rola","Rows per page:":"Wiersze na stronę:","Satellite":"Satelita","Save":"Zapisz","Scan":"Zeskanowany dokument","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Zeskanuj kod QR za pomocą aplikacji uwierzytelniającej lub użyj klucza konfiguracyjnego pokazanego poniżej, a następnie wprowadź wygenerowany kod weryfikacyjny:","Scans":"Skany","Scope":"Zakres","Search":"Szukaj","Search and display photos on a map.":"Wyszukiwanie i wyświetlanie zdjęć na mapie.","Season":"Sezon","Secret":"Klucz","Security and Access":"Bezpieczeństwo i dostęp","Select":"Wybierz","Select a source folder to import files…":"Wybierz folder źródłowy do importowania plików.…","Select date":"Wybierz datę","Select dates":"Wybierz daty","Select or create an album":"Wybierz lub utwórz album","Select the files to upload…":"Wybierz pliki do przesłania…","Select the folder to be indexed…":"Wybierz folder, który ma zostać zindeksowany.…","Select Time":"Wybierz czas","Selection approved":"Wybór zatwierdzony","Selection archived":"Zarchiwizowano wybrane pliki","Selection restored":"Wybór przywrócony","Sequential Name":"Nazwa sekwencyjna","Service URL":"Adres URL do usługi","Services":"Usługi","Session":"Sesja","Session ID":"Identyfikator sesji","Sessions":"Sesje","Set as Album Cover":"Ustaw jako okładkę albumu","Settings":"Ustawienia","Settings saved":"Zapisano ustawienia","Setup":"Ustawienia","Share":"Udostępnij","Share %{s}":"Udostępnij %{s}","Share your pictures with other apps and services.":"Udostępniaj swoje zdjęcia innym aplikacjom i usługom.","Show":"Pokaż","Show all new faces":"Pokaż wszystkie nowe twarze","Show Captions":"Pokaż napisy","Show hidden":"Pokaż ukryte","Show less":"Pokaż mniej","Show more":"Pokaż więcej","Show server logs in Library.":"Pokaż logi serwera w bibliotece.","Show Titles":"Pokaż tytuły","Sidecar":"Plik powiązany","Sidecar Files":"Pliki Sidecar","Sign in":"Zaloguj się","Similar":"Podobne","Size":"Rozmiar","Slideshow":"Pokaz slajdów","Slow":"Wolna","Software":"Oprogramowanie","Software Update":"Aktualizacja oprogramowania","Something went wrong, try again":"Coś poszło nie tak, spróbuj jeszcze raz","Sort by":"Sortuj według","Sort Order":"Kolejność sortowania","Sorted ascending.":"Posortowane rosnąco.","Sorted descending.":"Posortowane malejąco.","Source":"Pochodzenie","Stack":"Utwórz stos","Stack files sharing the same unique image or instance identifier.":"Utwórz stosy z plików posiadających ten sam unikalny identyfikator obrazu lub instancji.","Stack pictures taken at the exact same time and location based on their metadata.":"Utwórz stosy ze zdjęć wykonanych w tym samym czasie i miejscu, zawartymi w ich metadanych.","Stackable":"Może być częścią stosu","Stacks":"Stosy","Start":"Start","Start Page":"Strona startowa","Static Size Limit: %{n}px":"Limit rozmiaru statycznych podglądów: %{n}px","Status":"Status","Storage":"Miejsce przechowywania","Streets":"Ulice","Subject":"Temat","Submit":"Zgłoś się","Successfully activated":"Pomyślnie aktywowano","Successfully Connected":"Połączono pomyślnie","Successfully deleted":"Usunięto pomyślnie","Successfully verified":"Pomyślnie zweryfikowano","Super Admin":"Super Administrator","Support for additional services, like Google Drive, will be added over time.":"Wsparcie dla innych usług, takich jak Google Drive, zostanie dodane w późniejszym czasie.","Support Our Mission":"Wspieraj naszą misję","Sync":"Synchronizacja","Sync raw and video files":"Synchronizuj obrazy RAW i filmy","Taken":"Data wykonania","Teal":"Morski","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow jest wymagany do klasyfikacji obrazów, rozpoznawania twarzy i wykrywania niebezpiecznych treści.","Terrain":"Teren","Text":"Tekst","Text too long":"Tekst za długi","Thank You for Your Support!":"Dziękujemy za wsparcie!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Dlatego PhotoPrism został zbudowany od podstaw tak, aby działał wszędzie tam, gdzie go potrzebujesz, bez uszczerbku dla wolności, prywatności czy funkcjonalności.","The index currently contains %{n} hidden files.":"Indeks zawiera obecnie %{n} ukrytych plików.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Może być to spowodowane brakiem wsparcia dla ich formatu, nieukończoną konwersją na JPEG lub byciem duplikatami istniejących plików.","Theme":"Motyw","This field is required":"To pole jest wymagane","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Pozwala to na zamontowanie folderu oryginałów jako dysku sieciowego i umożliwia otwieranie, edytowanie i usuwanie plików z komputera lub smartfona w taki sam sposób, jakby były one przechowywane lokalnie.","Time UTC":"Czas UTC","Time Zone":"Strefa czasowa","Timeout":"Upłynął limit czasu","Title":{"Account":"Tytuł","Photo":"Tytuł","":"Tytuł"},"Title / Position":"Tytuł / stanowisko","Title too long":"Tytuł za długi","to":"do","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Aby uniknąć zablokowania konta, pobierz, wydrukuj lub skopiuj ten kod odzyskiwania już teraz i trzymaj go w bezpiecznym miejscu.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Aby wygenerować nowe hasło aplikacji, wprowadź nazwę i zakres uprawnień aplikacji oraz wybierz datę ważności:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Aby przełączyć się na nową aplikację lub urządzenie uwierzytelniające, najpierw dezaktywuj uwierzytelnianie dwuskładnikowe, a następnie aktywuj je ponownie:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Aby dokonać aktualizacji, możesz wprowadzić kod aktywacyjny lub kliknąć \"Zarejestruj się\", aby zarejestrować się na naszej stronie internetowej:","Today":"Dzisiaj","Toggle View":"Zmień widok","Token":"Token","Too many files selected":"Wybrano zbyt wiele plików","Too many requests":"Zbyt wiele żądań","Troubleshooting":"Rozwiązywanie problemów","Try again using other filters or keywords.":"Spróbuj ponownie używając innych filtrów lub słów kluczowych.","Two-factor authentication has been enabled for your account.":"Na Twoim koncie włączono uwierzytelnianie dwuskładnikowe.","Type":"Typ","Unauthorized":"Nieautoryzowane","Undo":"Cofnij","Unique ID":"Unikalne ID","Unknown":"Nieznany","Unregistered":"Niezarejestrowany","Unsorted":"Nieposortowane","Unstack":"Rozłóż stos","Updated":"Zaktualizowano","Updating faces":"Aktualizowanie twarzy","Updating index":"Aktualizowanie indeksu","Updating moments":"Aktualizowanie chwil","Updating picture…":"Aktualizacja zdjęć…","Updating previews":"Aktualizowanie podglądów","Updating stacks":"Aktualizowanie stosów","Upgrade":"Aktualizacja","Upgrade Now":"Uaktualnij teraz","Upload":"Wgraj","Upload complete":"Ukończono wgrywanie","Upload complete. Indexing…":"Wgrywanie zakończone. Indeksowanie…","Upload failed":"Wgrywanie nie powiodło się","Upload local files":"Wgraj pliki z dysku","Upload Path":"Ścieżka przesyłania","Upload to WebDAV and share links with friends.":"Udostępnij album poprzez link lub prześlij wybrane pliki na serwer WebDAV.","Uploading %{n} of %{t}…":"Wgrywanie %{n} z %{t}…","Uploading photos…":"Wgrywanie zdjęć…","Uploading…":"Przesyłanie...","Uploads that may contain such images will be rejected automatically.":"Tego typu obrazy zostaną automatycznie odrzucone.","Use Presets":"Użyj ustawień wstępnych","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Użyj następującego kodu odzyskiwania, aby uzyskać dostęp do swojego konta, jeśli nie możesz wygenerować prawidłowego kodu weryfikacyjnego za pomocą aplikacji uwierzytelniającej:","Use your recovery code or contact an administrator for help.":"Użyj kodu odzyskiwania lub skontaktuj się z administratorem w celu uzyskania pomocy.","User":"Użytkownik","User Guide":"Podręcznik użytkownika","User Interface":"Interfejs użytkownika","Username":"Nazwa użytkownika","Users":"Użytkownicy","Vector":"Vector","Vectors":"Wektory","Verification Code":"Kod weryfikacyjny","Video":"Film","Video Duration":"Czas trwania filmu","Videos":"Filmy","View":"Widok","View search results as a list.":"Wyświetl wyniki wyszukiwania jako listę.","Viewer":"Przeglądarka","Visitor":"Odwiedzający","Visual Similarity":"Podobieństwo wizualne","Warning":"Ostrzeżenie","We appreciate your feedback!":"Doceniamy Twoją opinię!","We do our best to respond within five business days or less.":"Dokładamy wszelkich starań, aby odpowiedzieć w ciągu pięciu dni roboczych lub mniej.","Web Login":"Logowanie przez Internet","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"Klienci WebDAV mogą połączyć się z PhotoPrism za pomocą następującego adresu URL:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"Klienci WebDAV, jak Microsoft Windows Explorer lub Apple Finder, mogą łączyć się bezpośrednio z PhotoPrism.","WebDAV Upload":"Wyślij na WebDAV","WebGL support is disabled in your browser":"Obsługa WebGL jest wyłączona w twojej przeglądarce","Website":"Strona internetowa","White":"Biały","Work Details":"Szczegóły pracy","Year":"Rok","Yellow":"Żółty","Yes":"Tak","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Zapraszamy do kontaktu z nami pod adresem membership@photoprism.app w przypadku pytań dotyczących członkostwa.","You can only download one album":"Możesz pobrać tylko jeden album","You can only download one label":"Możesz pobrać tylko jedną etykietę","You can upload up to %{n} files for test purposes.":"Do celów testowych można przesłać maksymalnie %{n} plików.","You may only select one item":"Możesz wybrać tylko jedną pozycję","You may rescan your library to find additional faces.":"Możesz ponownie przeskanować swoją bibliotekę, aby znaleźć dodatkowe twarze.","Your account has been successfully connected.":"Twoje konto zostało pomyślnie połączone.","Your browser does not support WebGL":"Twoja przeglądarka nie obsługuje WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Twoje stałe wsparcie pomaga nam dostarczać regularne aktualizacje i zachować niezależność, dzięki czemu możemy wypełniać naszą misję i chronić Twoją prywatność.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Twoja biblioteka jest na bieżąco analizowana, aby automatycznie tworzyć albumy z wyjątkowych chwil, podróży i miejsc.","Zoom in/out":"Powiększ / Pomniejsz"}} \ No newline at end of file +{"pl":{"{0} appended action":"{0} dołączone działanie","{0} files":"{0} plików","{0} files ({1} in total)":"{0} plików (łącznie {1})","{0} more":"{0} więcej","{0} prepended action":"{0} poprzedzone działanie","{0} selected":"{0} wybrany","{0}-{1} of {2}":"{0}-{1} z {2}","%{n} albums found":"Znalezione albumy: %{n}","%{n} files uploaded":"Przesłane pliki: %{n}","%{n} folders found":"Znalezione foldery: %{n}","%{n} GB of %{q} GB used":"%{n} GB z %{q} GB wykorzystanych","%{n} labels found":"Znalezione etykiety: %{n}","%{n} people found":"Znalezione osoby: %{n}","%{n} pictures found":"Znalezione zdjęcia: %{n}","%{s} is too long":"%{s} jest za długie","%{s} is too short":"%{s} jest za krótkie","1 hour":"1 godzina","12 hours":"12 godzin","2-Factor Authentication":"Uwierzytelnianie dwuskładnikowe","2FA":"2FA","4 hours":"4 godziny","A click will copy it to your clipboard.":"Kliknięcie na link powyżej skopiuje go do schowka.","A new version of %{s} is available:":"Dostępna jest nowa wersja %{s}:","About":"O programie","Access Token":"Token dostępu","Account":"Konto","Account created":"Konto utworzone","Account deleted":"Konto usunięte","Account restored":"Konto przywrócone","Accounts":"Konta","Accuracy":"Dokładność","Action":"Akcja","Actions":"Akcje","Activate":"Aktywuj","Activate to remove sorting.":"Aktywuj, aby usunąć sortowanie.","Activate to sort ascending.":"Aktywuj, aby sortować rosnąco.","Activate to sort descending.":"Aktywuj, aby sortować malejąco.","Activation Code":"Kod aktywacji","Add":"Dodaj","Add %{s}?":"Dodaj %{s}?","Add Account":"Dodaj konto","Add Album":"Dodaj album","Add files to your library via Web Upload.":"Dodaj pliki do biblioteki przez Web Upload.","Add Link":"Dodaj link","Add person?":"Dodać osobę?","Add pictures from search results by selecting them.":"Dodaj zdjęcia poprzez zaznaczenie ich w wynikach wyszukiwania.","Add to album":"Dodaj do albumu","Added":"Dodano","Adjust Location":"Dostosuj lokalizację","Admin":"Administrator","Advanced":"Zaawansowane","After 1 day":"Po 1 dniu","After 3 days":"Po 3 dniach","After 7 days":"Po 7 dniach","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Po wprowadzeniu hasła w celu potwierdzenia możesz skonfigurować uwierzytelnianie dwuskładnikowe za pomocą kompatybilnej aplikacji lub urządzenia uwierzytelniającego:","After one month":"Po jednym miesiącu","After one year":"Po jednym roku","After selecting pictures from search results, you can add them to an album using the context menu.":"Po wybraniu zdjęć z wyników wyszukiwania, można je dodać do albumu za pomocą menu kontekstowego.","After two months":"Po dwóch miesiącach","After two weeks":"Po dwóch tygodniach","Album":"Album","Album Backups":"Kopie zapasowe albumów","Album created":"Album został utworzony","Album deleted":"Album usunięty","Albums":"Albumy","Albums deleted":"Skasowano albumy","All":"Wszystkie","All %{n} albums loaded":"Wszystkie albumy wczytane: %{n}","All %{n} labels loaded":"Wszystkie etykiety wczytane: %{n}","All %{n} people loaded":"Wszystkie %{n} osoby załadowane","All Cameras":"Wszystkie aparaty","All Categories":"Wszystkie kategorie","All Colors":"Wszystkie kolory","All Countries":"Wszystkie kraje","All fields are required":"Wszystkie pola są wymagane","All files from import folder":"Wszystkie pliki z folderu importowania","All Lenses":"Wszystkie obiektywy","All Months":"Wszystkie miesiące","All originals":"Wszystkie oryginały","All Years":"Wszystkie lata","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Możesz też wysłać wybrane pliki bezpośrednio na serwer WebDAV, np. Nextcloud.","Altitude":"Wysokość","Altitude (m)":"Wysokość (m)","AM":"AM","Animated":"Animowany","Animation":"Animacja","Animations":"Animacje","Any private photos and videos remain private and won't be shared.":"Wszystkie prywatne zdjęcia i filmy pozostaną prywatne i nie zostaną udostępnione.","API Key":"Klucz API","Application":"Zastosowanie","Apply":"Zastosuj","Approve":"Zatwierdź","Apps and Devices":"Aplikacje i urządzenia","Archive":"Archiwum","Archived":"Zarchiwizowane","Are you sure you want to archive the selection?":"Czy na pewno chcesz zarchiwizować zaznaczone pliki?","Are you sure you want to delete these albums?":"Czy na pewno chcesz usunąć te albumy?","Are you sure you want to delete these labels?":"Czy na pewno chcesz usunąć wybrane etykiety?","Are you sure you want to delete this account?":"Czy na pewno chcesz usunąć konto?","Are you sure you want to delete this album?":"Czy na pewno chcesz usunąć ten album?","Are you sure you want to permanently delete these pictures?":"Czy na pewno chcesz trwale usunąć te zdjęcia?","Are you sure you want to permanently delete this file?":"Czy na pewno chcesz usunąć ten plik?","Are you sure?":"Jesteś pewny?","Artist":"Artysta","Aspect Ratio":"Proporcje obrazu","Audio":"Audio","Authentication":"Uwierzytelnianie","Auto":"Auto","Back":"Z powrotem","Back to top":"Powrót do góry","Backup":"Kopia zapasowa","Badge":"Odznaka","Base Path":"Ścieżka podstawowa","Become a member today, support our mission and enjoy our member benefits!":"Zostań członkiem już dziś, wspieraj naszą misję i korzystaj z naszych korzyści członkowskich!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Będąc w 100% finansowani i niezależni, możemy obiecać, że nigdy nie sprzedamy Twoich danych i że zawsze będziemy transparentni w kwestii naszego oprogramowania i usług.","Bio":"Życiorys","Birth Date":"Data urodzenia","Black":"Czarny","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: zmodyfikowany Lanczos, mniej artefaktów pierścieniowych","Blue":"Niebieski","Brown":"Brązowy","Browse":"Przeglądaj","Browse and edit image classification labels.":"Przeglądaj i edytuj etykiety klasyfikacji obrazów.","Browse and share your pictures organized into monthly albums.":"Przeglądaj i udostępniaj swoje zdjęcia uporządkowane w miesięcznych albumach.","Browse Files":"Przeglądaj pliki","Browse indexed files and folders in Library.":"Przeglądaj zaindeksowane pliki i foldery w bibliotece.","Bug Report":"Zgłoszenie błędu","Busy, please wait…":"Zajęty, proszę czekać…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Korzystając z oprogramowania i usług, które oferujemy, zgadzasz się na nasze warunki świadczenia usług, politykę prywatności i kodeks postępowania.","Calendar":"Kalendarz","Camera":"Aparat","Camera Serial":"Numer seryjny aparatu","Can't access your authenticator app or device?":"Nie możesz uzyskać dostępu do aplikacji lub urządzenia uwierzytelniającego?","Can't load more, limit reached":"Nie można załadować więcej, osiągnięto limit","Can't select more items":"Nie można zaznaczyć większej ilości elementów","Cancel":"Anuluj","Cannot copy to clipboard":"Nie można skopiować do schowka","Caption":"Napis","Cards":"Karty","Carousel slide {0} of {1}":"Slajd karuzeli {0} z {1}","Category":"Kategoria","Change Avatar":"Zmień awatar","Change Password":"Zmień hasło","Change personal profile and security settings.":"Zmiana ustawień profilu osobistego i zabezpieczeń.","Change photo titles, locations, and other metadata.":"Zmień tytuły, lokalizacje i inne metadane zdjęć.","Change private flag":"Zmień prywatność","Changes could not be saved":"Nie można zapisać zmian","Changes successfully saved":"Zmiany zostały pomyślnie zapisane","Changes to the advanced settings require a restart to take effect.":"Zmiany ustawień zaawansowanych wymagają ponownego uruchomienia komputera.","Checked":"Data ostatniej weryfikacji metadanych","Chroma":"Chrominancja","Cleaning index and cache":"Czyszczenie indeksu i pamięci podręcznej","Cleanup":"Czyszczenie","Clear {0}":"Wyczyść {0}","Client":"Klient","Client Credentials":"Poświadczenia klienta","Close":"Zamknij","Codec":"Kodek","Color":"Kolor","Color Profile":"Profil kolorów","Colors":"Kolory","Compare Editions":"Porównaj wydania","Complete Rescan":"Skanowanie od zera","Confidence":"Pewność","Confirm":"Potwierdzać","Connect":"Połącz","Connect via WebDAV":"Połącz przez WebDAV","Connected":"Połączony","Contact Details":"Dane kontaktowe","Contact Us":"Skontaktuj się z nami","Contains %{n} pictures.":"Zawiera %{n} zdjęć.","Contains one picture.":"Zawiera jedno zdjęcie.","Content":"Treść","Continue":"Kontynuować","Continue with %{provider}":"Kontynuuj z %{dostawca}","Contributor":"Dostawca","Converting":"Konwertowanie","Copied to clipboard":"Skopiowano do schowka","Copy":"Kopiuj","Copyright":"Prawa autorskie","Couldn't find anything.":"Nie udało się niczego znaleźć.","Country":"Kraj","Create Account":"Utwórz konto","Create album":"Stwórz album","Create regular backups based on the configured schedule.":"Twórz kopie zapasowe indeksów na podstawie skonfigurowanego harmonogramu.","Create YAML files to back up album metadata.":"Twórz pliki YAML, aby tworzyć kopie zapasowe metadanych albumów.","Create YAML sidecar files to back up picture metadata.":"Twórz pliki pomocnicze YAML, aby tworzyć kopie zapasowe metadanych obrazów.","Created":"Data utworzenia pliku","Creating thumbnails for":"Tworzenie miniaturek dla","Cubic: Moderate Quality, Good Performance":"Cubic: umiarkowana jakość, dobra wydajność","Current Password":"Obecne hasło","Custom":"Niestandardowy","Cyan":"Cyjan","Daily":"Codziennie","Database Backups":"Kopie zapasowe bazy danych","Day":"Dzień","Deactivate":"Dezaktywować","Debug Logs":"Logi debugowania","Default":"Domyślny","Default Folder":"Domyślny folder","Delete":"Usuń","Delete Album":"Usuń album","Delete All":"Usuń wszystko","Delete all?":"Usunąć wszystko?","Delete orphaned index entries, sidecar files and thumbnails.":"Usuwanie osieroconych wpisów indeksu, plików sidecar i miniatur.","Description":"Opis","Detailed instructions can be found in our User Guide.":"Dokładne informacje można znaleźć w instrukcji obsługi.","Details":"Szczegóły","Dimensions":"Wymiary","Disable Backups":"Wyłącz kopie zapasowe","Disable Darktable":"Wyłącz Darktable","Disable ExifTool":"Wyłącz ExifTool","Disable features that require write permission for the originals folder.":"Wyłącz funkcje wymagające uprawnień do zapisu w folderze oryginałów.","Disable FFmpeg":"Wyłącz FFmpeg","Disable ImageMagick":"Wyłączenie programu ImageMagick","Disable interactive world maps and reverse geocoding.":"Wyłącz interaktywne mapy świata i odwrotne geokodowanie.","Disable Places":"Wyłącz miejsca","Disable RawTherapee":"Wyłącz RawTherapee","Disable TensorFlow":"Wyłącz TensorFlow","Disable Vectors":"Wyłączenie wektorów","Disable WebDAV":"Wyłącz WebDAV","Disables vector graphics support.":"Wyłącza obsługę grafiki wektorowej.","Disables video transcoding and thumbnail extraction.":"Wyłącza transkodowanie wideo i ekstrakcję miniatur.","Discover":"Odkryj","Dismiss":"Odrzuć","Display Name":"Nazwa wyświetlana","Display picture captions in search results.":"Wyświetlaj podpisy zdjęć w wynikach wyszukiwania.","Display picture titles in search results.":"Wyświetlaj tytuły zdjęć w wynikach wyszukiwania.","Document":"Dokument","Documents":"Dokumenty","Don't use Darktable to convert RAW images.":"Nie używaj Darktable do konwersji obrazów RAW.","Don't use ImageMagick to convert images.":"Nie używaj ImageMagick do konwersji obrazów.","Don't use RawTherapee to convert RAW images.":"Nie używaj RawTherapee do konwersji obrazów RAW.","Done":"OK","Done.":"Zrobione.","Download":"Pobierz","Download only original media files, without any automatically generated files.":"Pobieraj tylko oryginalne pliki multimedialne, bez żadnych automatycznie generowanych plików.","Download remote files":"Pobierz zdalne pliki","Download single files and zip archives.":"Pobierz pojedyncze pliki i archiwa zip.","Downloading…":"Pobieranie…","Downscaling Filter":"Filtr skalowania rozdzielczości w dół","Drag and drop files here":"Przeciągnij i upuść pliki tutaj","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"Ze względu na dużą ilość otrzymywanych przez nas e-maili, nasz zespół może nie być w stanie odpowiedzieć na nie natychmiast.","Duplicates will be skipped and only appear once.":"Duplikaty zostaną pominięte i pojawią się tylko raz.","Duration":"Czas trwania","Dynamic Previews":"Dynamiczne podglądy","Dynamic Size Limit: %{n}px":"Limit rozmiaru dynamicznych podglądów: %{n}px","E-Mail":"E-mail","Edit":"Edytuj","Edit %{s}":"Edytuj %{s}","Edit Account":"Edytuj konto","Edit Photo":"Edytuj zdjęcie","Edited":"Data ostatniej edycji","Email":"Email","Enable debug mode to display additional logs and help with troubleshooting.":"Włącz tryb debugowania, aby wyświetlić dodatkowe dzienniki i pomóc w rozwiązywaniu problemów.","Enable new features that may be incomplete or unstable.":"Włącz nowe funkcje, które mogą być niekompletne lub niestabilne.","Enables RAW converter presets. May reduce performance.":"Włącza wstępne ustawienia konwertera RAW. Może zmniejszyć wydajność.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Włączenie uwierzytelniania dwuskładnikowego oznacza, że do zalogowania będziesz potrzebować losowo wygenerowanego kodu weryfikacyjnego, więc nawet jeśli ktoś uzyska dostęp do Twojego hasła, nie będzie mógł uzyskać dostępu do Twojego konta.","Enter date":"Wprowadź datę","Enter dates":"Wprowadź daty","Enter the code generated by your authenticator app:":"Wprowadź kod wygenerowany przez aplikację uwierzytelniającą:","Enter verification code":"Wprowadź kod weryfikacyjny","Enter your password to confirm the action and continue:":"Wpisz hasło, aby potwierdzić akcję i kontynuować:","Error":"Błąd","Errors":"Błędy","Estimate":"Oszacowanie","Estimate Locations":"Szacunkowe lokalizacje","Estimate the approximate location of pictures without GPS coordinates.":"Oszacuj przybliżoną lokalizację zdjęć bez współrzędnych GPS.","Every two days":"Co dwa dni","Exclude content marked as private from search results, shared albums, labels, and places.":"Pozwala oznaczyć wybrane materiały jako prywatne i wykluczyć je z wyników wyszukiwania, współdzielonych albumów, oznaczeń i miejsc.","Exclude hidden":"Pomiń ukryte","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"Ekstrakcja metadanych za pomocą ExifTool jest wymagana do pełnej obsługi wideo, zdjęć na żywo i XMP.","Experimental Features":"Funkcje eksperymentalne","Expires":"Wygasa","Exposure":"Ekspozycja","Extract still images and generate thumbnails while indexing.":"Wyodrębniaj nieruchome obrazy i generuj miniatury podczas indeksowania.","F Number":"Wartość przysłony","Face":"Twarz","Faces":"Twarze","Failed removing link":"Nie udało się usunąć linku","Failed to connect account.":"Nie udało się połączyć konta.","Failed updating link":"Nie udało się zaktualizować linku","Family Name":"Nazwa rodziny produktów","Fast":"Szybka","Favorite":"Ulubione","Favorites":"Ulubione","Feature Request":"Prośba o nową funkcję","Feedback":"Opinia","Female":"Kobieta","File":"Plik","File Browser":"Przeglądarka plików","File Conversion":"Konwersja plików","File Name":"Nazwa pliku","File Size":"Rozmiar pliku","Filename":"Nazwa pliku","Files":"Pliki","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Pliki z sekwencyjnymi nazwami, np. 'IMG_1234 (2)' i 'IMG_1234 (3)', należą do tego samego zdjęcia.","First page":"Pierwsza strona","Focal Length":"Ogniskowa","Folder":"Katalog","Folder contains %{n} files":"Folder zawiera %{n} plików","Folder is empty":"Folder jest pusty","Folders":"Foldery","Forgot password?":"Zapomniałeś hasła?","FPS":"FPS","Frames":"Klatki","Full Access":"Pełny dostęp","Fullscreen":"Pełny ekran","General":"Ogólne","Generate":"Generować","Generate albums of special moments, journeys, and places.":"Automatycznie tworzy albumy z wyjątkowych chwil, podróży i miejsc.","Generate Previews":"Generuj podglądy","Generated":"Wygenerowano","Get Started":"Rozpocznij","Given Name":"Imię","Global Options":"Opcje globalne","Go to page {0}":"Przejdź do strony {0}.","Gold":"Złoty","Green":"Zielony","Grey":"Szary","Guest":"Gość","Hash":"Wartość hash","Help":"Pomoc","Help & Support":"Pomoc i wsparcie","Hidden":"Ukryte","Hidden Files":"Ukryte pliki","Hide":"Ukryj","Hide photos that have been moved to archive.":"Pozwala przenieść wybrane pliki do archiwum.","High":"Wysoki","High Dynamic Range (HDR)":"Wysoki zakres dynamiczny (HDR)","How can we help?":"W czym możemy pomóc?","Hybrid":"Hybrydowy","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Jeśli utracisz dostęp do aplikacji lub urządzenia uwierzytelniającego, możesz użyć kodu odzyskiwania, aby odzyskać dostęp do swojego konta.","Image":"Obraz","Image Quality":"Jakość obrazu","Import":"Import","Import failed":"Błąd importu","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Zaimportowane pliki zostaną posortowane według daty i otrzymają unikalną nazwę, aby uniknąć duplikatów.","Imported files will be sorted by date and given a unique name.":"Zaimportowane pliki zostaną posortowane według daty i otrzymają unikalną nazwę.","Importing %{s}…":"Importowanie %{s}…","Importing files to originals…":"Importowanie plików do oryginałów…","in":"w","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"Jeśli zdjęcia których szukasz nie są widoczne, przeskanuj ponownie bibliotekę i poczekaj aż indeksowanie zostanie ukończone.","Include RAW image files when downloading stacks and archives.":"Dołączanie plików obrazów RAW podczas pobierania stosów i archiwów.","Include sidecar files when downloading stacks and archives.":"Dołączaj pliki sidecar podczas pobierania stosów i archiwów.","Increase storage size or delete files to continue.":"Zwiększ rozmiar pamięci lub usuń pliki, aby kontynuować.","Index":"Indeksowanie","Index and import files through the user interface.":"Indeksowanie i importowanie plików za pomocą interfejsu użytkownika.","Indexing":"Indeksuje","Indexing failed":"Błąd indeksowania","Indexing media and sidecar files…":"Indeksowanie mediów i powiązanych plików…","Information":"Informacje","Instance ID":"ID instancji","Insufficient storage.":"Niewystarczająca pamięć.","Interval":"Okres","Invalid":"Nieprawidłowe","Invalid address":"Nieprawidłowy adres","Invalid country":"Nieprawidłowy kraj","Invalid date":"Niewłaściwa data","Invalid parameters":"Parametry nieprawidłowe","Invalid photo selected":"Wybrano nieprawidłowe zdjęcie","Invalid time":"Nieprawidłowy czas","Invalid URL":"Nieprawidłowy adres URL","It is a one-time use code that will disable 2FA for your account when you use it.":"Jest to jednorazowy kod, który wyłączy 2FA na Twoim koncie, gdy z niego skorzystasz.","Item":"Element","Items per page:":"Elementy na stronę:","JPEG Quality: %{n}":"Jakość JPEG: %{n}","JPEG Size Limit: %{n}px":"Limit rozmiaru JPEG: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"JPEGi i miniatury są automatycznie tworzone w miarę potrzeb.","Keywords":"Słowa kluczowe","Label":"Etykieta","Labels":"Etykiety","Labels deleted":"Etykiety zostały usunięte","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: zachowanie detali, minimalne artefakty","Language":"Język","Last Active":"Ostatni aktywny","Last Login":"Ostatnie logowanie","Last page":"Ostatnia strona","Last Sync":"Ostatnia synchronizacja","Last Used":"Ostatnio używane","Latitude":"Szerokość geograficzna","LDAP/AD":"LDAP/AD","Learn more":"Dowiedz się więcej","Learn More":"Dowiedz się więcej","Legal Information":"Informacje prawne","Lens":"Obiektyw","Library":"Biblioteka","License":"Licencja","Like":"Dodaj do ulubionych","Lime":"Limonkowy","Limit reached, showing first %{n} files":"Osiągnięto limit, pokazuję pierwsze %{n} plików","Linear: Very Smooth, Best Performance":"Linear: bardzo gładki, najlepsza wydajność","Link":"Link","List":"Lista","List View":"Widok listy","Live":"Live","Live Photos":"Zdjęcia na żywo","Load more":"Załaduj więcej","Loading items...":"Ładowanie pozycji...","Loading...":"Ładowanie...","Local":"Lokalnie","Local Time":"Czas lokalny","Location":"Miejsce","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Komunikaty dziennika pojawiają się tutaj za każdym razem, gdy PhotoPrism natknie się na uszkodzone pliki lub wystąpią inne potencjalne problemy.","Login":"Zaloguj","Logout":"Wyloguj","Logs":"Logi","Longitude":"Długość geograficzna","Low":"Niski","Magenta":"Magenta","Main Color":"Główny kolor","Male":"Mężczyzna","Manage Account":"Zarządzaj kontem","Manager":"Kierownik","Manual":"Podręcznik","Manual Upload":"Ręczne wgrywanie","Maps":"Mapy","Marker":"Znacznik","Maximum number of accounts has been reached.":"Osiągnięto maksymalną liczbę kont.","Media":"Media","Medium":"Średnia","Membership":"Członkostwo","Merge %{a} with %{b}?":"Złączyć %{a} z %{b}?","Message":"Wiadomość","Message sent":"Wiadomość została wysłana","Metadata":"Metadane","Metrics":"Metryka","Minimize":"Zminimalizuj","Missing":"Brakujący","Missing or invalid configuration":"Brakująca lub nieprawidłowa konfiguracja","Moments":"Chwile","Monochrome":"Monochromatyczne","Month":"Miesiąc","More options":"Więcej opcji","Mosaic":"Mozaika","Most Relevant":"Najważniejsze","Move Files":"Przenieś pliki","Must have at least %{n} characters.":"Musi mieć co najmniej %{n} znaków.","Mute":"Wyciszenie","Name":"Nazwa","Name too long":"Nazwa zbyt długa","Never":"Nigdy","New":"Nowi","New Password":"Nowe hasło","Newest First":"Najnowsze","Next":"Następny","Next page":"Następna strona","Next visual":"Następny obraz","No":"Nie","No albums found":"Nie znaleziono żadnego albumu","No data available":"Brak dostępnych danych","No labels found":"Nie znaleziono żadnej etykiety","No matching records found":"Nie znaleziono pasujących rekordów","No more":"Nie więcej","No people found":"Nie znaleziono żadnej osoby","No pictures found":"Nie znaleziono żadnego zdjęcia","No recently edited pictures":"Brak ostatnio edytowanych zdjęć","No results":"Brak wyników","No server connection":"Brak połączenia z serwerem","No servers configured.":"Nie skonfigurowano żadnych serwerów.","No services configured.":"Nie skonfigurowano żadnych usług.","No thanks":"Nie, dziękuję","No warnings or error containing this keyword. Note that search is case-sensitive.":"Brak ostrzeżeń lub błędów zawierających to słowo kluczowe. Zwróć uwagę, że wielkość liter jest uwzględniana w wyszukiwaniu.","Non-photographic and low-quality images require a review before they appear in search results.":"Obrazy niebędące fotografiami lub posiadające niską jakość wymagają zatwierdzenia, zanim pojawią się w wynikach wyszukiwania.","None":"Brak","Not allowed":"Niedozwolone","Not found":"Nie znaleziono","Not sorted.":"Nie posortowane.","Not supported":"Nieobsługiwane","Note you may manually manage your originals folder and importing is optional.":"Możesz też ręcznie zarządzać folderem oryginałów, importowanie jest opcjonalne.","Note:":"Uwaga:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Uwaga: Tylko serwery WebDAV, takie jak Nextcloud lub PhotoPrism, mogą być skonfigurowane jako zdalna usługa do tworzenia kopii zapasowych i przesyłania plików.","Notes":"Notatki","Nothing to see here yet.":"Na razie nic tu nie widać.","Nothing was found.":"Nic nie znaleziono.","Offline":"Offline","OIDC":"OIDC","OK":"OK","Oldest First":"Najstarsze","On Windows, enter the following resource in the connection dialog:":"W systemie Windows wpisz następujący adres w oknie dialogowym połączenia:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"Generowanie miniatur na żądanie może powodować wysokie zużycie procesora i pamięci. Nie jest to zalecane w przypadku serwerów i urządzeń NAS o ograniczonych zasobach.","Once a week":"Raz w tygodniu","One album found":"Znaleziono jeden album","One file found":"Znaleziono jeden plik","One file uploaded":"Przesłano jeden plik","One folder found":"Znaleziono jeden folder","One label found":"Znaleziono jedną etykietę","One person found":"Znaleziono jedną osobę","One picture found":"Znaleziono jedno zdjęcie","Only locally managed accounts can be set up for authentication with 2FA.":"Tylko konta zarządzane lokalnie można skonfigurować do uwierzytelniania za pomocą 2FA.","Open":"Otwarty","optional":"opcjonalny","or":"lub","Orange":"Pomarańczowy","Organization":"Organizacja","Orientation":"Orientacja","Original file names will be stored and indexed.":"Oryginalne nazwy plików będą przechowywane i indeksowane.","Original Name":"Oryginalna nazwa","Originals":"Oryginały","Other":"Inne","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Naszą misją jest dostarczenie najbardziej przyjaznego dla użytkownika i jego prywatności rozwiązania, które pozwoli uporządkować i udostępniać zdjęcia.","Outdoor":"Outdoor","Page {0}, Current page":"Strona {0}, Bieżąca strona","Pages":"Strony","Pagination Navigation":"Nawigacja stronicowania","Panorama":"Panorama","Panoramas":"Panoramy","Password":"Hasło","Password changed":"Zmieniono hasło","People":"Ludzie","People you share a link with will be able to view public contents.":"Osoby, z którymi dzielisz się linkiem, będą mogły przeglądać publiczne treści.","Permanently deleted":"Trwale usunięto","Permanently remove files to free up storage.":"Usuń pliki permanentnie, aby zwolnić miejsce na dysku.","Person":"Osoba","Personal":"Osobiste","Photo":"Zdjęcie","PhotoPrism is 100% self-funded and independent.":"PhotoPrism jest w 100% finansowany i niezależny.","PhotoPrism+ Membership":"Członkostwo w PhotoPrism+","Photos":"Zdjęcia","Picture Title":"Tytuł zdjęcia","Pink":"Różowy","Place":"Miejsce","Place & Time":"Miejsce i czas","Places":"Miejsca","Please confirm your new password.":"Potwierdź nowe hasło.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Skopiuj następujące losowo wygenerowane hasło do aplikacji i przechowuj je w bezpiecznym miejscu, ponieważ nie będziesz mógł go ponownie zobaczyć:","Please do not upload any private, unlawful or offensive pictures.":"Prosimy o nieprzesyłanie żadnych prywatnych, niezgodnych z prawem lub obraźliwych zdjęć.","Please don't upload photos containing offensive content.":"Proszę nie przesyłać zdjęć zawierających nieprzyzwoite treści.","Please enter OTP character {0}":"Wprowadź znak OTP {0}","Please note that changing your password will log you out on other devices and browsers.":"Pamiętaj, że zmiana hasła wyloguje Cię na innych urządzeniach i przeglądarkach.","Please restart your instance for the changes to take effect.":"Proszę zrestartować swoją instancję, aby zmiany zaczęły obowiązywać.","Please wait…":"Proszę czekać…","PM":"PM","PNG Size Limit: %{n}px":"Limit rozmiaru PNG: %{n}px","Portrait":"Portret","Preserve filenames":"Zachowaj oryginalne nazwy plików","Press enter to create a new album.":"Naciśnij enter by utworzyć nowy album.","Prevent database and album backups as well as YAML sidecar files from being created.":"Zapobiegaj tworzeniu kopii zapasowych bazy danych i albumów, a także plików pomocniczych YAML.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Uniemożliw innym aplikacjom dostęp do PhotoPrism jako udostępnionego dysku sieciowego.","Preview":"Podgląd","Preview Images":"Zdjęcia podglądowe","Previous":"Poprzedni","Previous page":"Poprzednia strona","Previous visual":"Poprzednia wizualizacja","Primary":"Główny","Private":"Prywatne","Product Feedback":"Opinia o produkcie","Projection":"Projekcja","Purple":"Purpurowy","Quality Filter":"Filtr jakości","Quality Score":"Ocena jakości","r":"r","Random":"Losowy","Rating {0} of {1}":"Ocena {0} z {1}","Raw":"RAW","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Ponowne indeksowanie wszystkich oryginałów, w tym już zaindeksowanych i niezmienionych plików.","Read-Only Mode":"Tryb tylko do odczytu","Recently Added":"Ostatnio dodane","Recently Archived":"Ostatnio zarchiwizowane","Recently Edited":"Ostatnio edytowane","Recognition starts after indexing has been completed.":"Rozpoznawanie twarzy rozpocznie się po zakończeniu indeksowania.","Recognize faces so people can be assigned and found.":"Rozpoznaje twarze, dzięki czemu można znaleźć konkretne osoby.","Recognized":"Rozpoznani","Recovery Code":"Kod odzyskiwania","Red":"Czerwony","Refresh":"Odśwież","Regions":"Regiony","Register":"Zarejestruj się","Reload":"Załaduj ponownie","Reloading…":"Przeładowywanie…","Remote Sync":"Zdalna synchronizacja","Remove":"Usuń","remove failed: unknown album":"usunięcie nie powiodło się: nieznany album","Remove from Album":"Usuń z albumu","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Usuń zaimportowane pliki z ich obecnej lokalizacji, aby zaoszczędzić miejsce na dysku. Nieobsługiwane typy plików pozostaną nienaruszone.","Request failed - are you offline?":"Żądanie nie powiodło się - jesteś offline?","Request failed - invalid response":"Żądanie nie powiodło się - niewłaściwa odpowiedź","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Wymagaj, aby obrazy niefotograficzne i niskiej jakości były sprawdzane przed pojawieniem się w wynikach wyszukiwania.","Resolution":"Rozdzielczość","Restart":"Uruchom ponownie stronę","Restore":"Przywróć","Restored":"Przywrócony","Retry Limit":"Limit ponawiania prób","Retype Password":"Powtórz hasło","Review":"Do sprawdzenia","Role":"Rola","Rows per page:":"Wiersze na stronę:","Satellite":"Satelita","Save":"Zapisz","Scan":"Zeskanowany dokument","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Zeskanuj kod QR za pomocą aplikacji uwierzytelniającej lub użyj klucza konfiguracyjnego pokazanego poniżej, a następnie wprowadź wygenerowany kod weryfikacyjny:","Scans":"Skany","Scope":"Zakres","Search":"Szukaj","Search and display photos on a map.":"Wyszukiwanie i wyświetlanie zdjęć na mapie.","Season":"Sezon","Secret":"Klucz","Security and Access":"Bezpieczeństwo i dostęp","Select":"Wybierz","Select a source folder to import files…":"Wybierz folder źródłowy do importowania plików.…","Select date":"Wybierz datę","Select dates":"Wybierz daty","Select or create an album":"Wybierz lub utwórz album","Select the files to upload…":"Wybierz pliki do przesłania…","Select the folder to be indexed…":"Wybierz folder, który ma zostać zindeksowany.…","Select Time":"Wybierz czas","Selection approved":"Wybór zatwierdzony","Selection archived":"Zarchiwizowano wybrane pliki","Selection restored":"Wybór przywrócony","Sequential Name":"Nazwa sekwencyjna","Service URL":"Adres URL do usługi","Services":"Usługi","Session":"Sesja","Session ID":"Identyfikator sesji","Sessions":"Sesje","Set as Album Cover":"Ustaw jako okładkę albumu","Settings":"Ustawienia","Settings saved":"Zapisano ustawienia","Setup":"Ustawienia","Share":"Udostępnij","Share %{s}":"Udostępnij %{s}","Share your pictures with other apps and services.":"Udostępniaj swoje zdjęcia innym aplikacjom i usługom.","Show":"Pokaż","Show all new faces":"Pokaż wszystkie nowe twarze","Show Captions":"Pokaż napisy","Show hidden":"Pokaż ukryte","Show less":"Pokaż mniej","Show more":"Pokaż więcej","Show server logs in Library.":"Pokaż logi serwera w bibliotece.","Show Titles":"Pokaż tytuły","Sidecar":"Plik powiązany","Sidecar Files":"Pliki Sidecar","Sign in":"Zaloguj się","Similar":"Podobne","Size":"Rozmiar","Slideshow":"Pokaz slajdów","Slow":"Wolna","Software":"Oprogramowanie","Software Update":"Aktualizacja oprogramowania","Something went wrong, try again":"Coś poszło nie tak, spróbuj jeszcze raz","Sort by":"Sortuj według","Sort Order":"Kolejność sortowania","Sorted ascending.":"Posortowane rosnąco.","Sorted descending.":"Posortowane malejąco.","Source":"Pochodzenie","Stack":"Utwórz stos","Stack files sharing the same unique image or instance identifier.":"Utwórz stosy z plików posiadających ten sam unikalny identyfikator obrazu lub instancji.","Stack pictures taken at the exact same time and location based on their metadata.":"Utwórz stosy ze zdjęć wykonanych w tym samym czasie i miejscu, zawartymi w ich metadanych.","Stackable":"Może być częścią stosu","Stacks":"Stosy","Start":"Start","Start Page":"Strona startowa","Static Size Limit: %{n}px":"Limit rozmiaru statycznych podglądów: %{n}px","Status":"Status","Storage":"Miejsce przechowywania","Streets":"Ulice","Subject":"Temat","Submit":"Zgłoś się","Successfully activated":"Pomyślnie aktywowano","Successfully Connected":"Połączono pomyślnie","Successfully deleted":"Usunięto pomyślnie","Successfully verified":"Pomyślnie zweryfikowano","Super Admin":"Super Administrator","Support for additional services, like Google Drive, will be added over time.":"Wsparcie dla innych usług, takich jak Google Drive, zostanie dodane w późniejszym czasie.","Support Our Mission":"Wspieraj naszą misję","Sync":"Synchronizacja","Sync raw and video files":"Synchronizuj obrazy RAW i filmy","Taken":"Data wykonania","Teal":"Morski","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow jest wymagany do klasyfikacji obrazów, rozpoznawania twarzy i wykrywania niebezpiecznych treści.","Terrain":"Teren","Text":"Tekst","Text too long":"Tekst za długi","Thank You for Your Support!":"Dziękujemy za wsparcie!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Dlatego PhotoPrism został zbudowany od podstaw tak, aby działał wszędzie tam, gdzie go potrzebujesz, bez uszczerbku dla wolności, prywatności czy funkcjonalności.","The index currently contains %{n} hidden files.":"Indeks zawiera obecnie %{n} ukrytych plików.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Może być to spowodowane brakiem wsparcia dla ich formatu, nieukończoną konwersją na JPEG lub byciem duplikatami istniejących plików.","Theme":"Motyw","This field is required":"To pole jest wymagane","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Pozwala to na zamontowanie folderu oryginałów jako dysku sieciowego i umożliwia otwieranie, edytowanie i usuwanie plików z komputera lub smartfona w taki sam sposób, jakby były one przechowywane lokalnie.","Time UTC":"Czas UTC","Time Zone":"Strefa czasowa","Timeout":"Upłynął limit czasu","Title":{"Account":"Tytuł","Photo":"Tytuł","":"Tytuł"},"Title / Position":"Tytuł / stanowisko","Title too long":"Tytuł za długi","to":"do","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Aby uniknąć zablokowania konta, pobierz, wydrukuj lub skopiuj ten kod odzyskiwania już teraz i trzymaj go w bezpiecznym miejscu.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Aby wygenerować nowe hasło aplikacji, wprowadź nazwę i zakres uprawnień aplikacji oraz wybierz datę ważności:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Aby przełączyć się na nową aplikację lub urządzenie uwierzytelniające, najpierw dezaktywuj uwierzytelnianie dwuskładnikowe, a następnie aktywuj je ponownie:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Aby dokonać aktualizacji, możesz wprowadzić kod aktywacyjny lub kliknąć \"Zarejestruj się\", aby zarejestrować się na naszej stronie internetowej:","Today":"Dzisiaj","Toggle View":"Zmień widok","Token":"Token","Too many files selected":"Wybrano zbyt wiele plików","Too many requests":"Zbyt wiele żądań","Troubleshooting":"Rozwiązywanie problemów","Try again using other filters or keywords.":"Spróbuj ponownie używając innych filtrów lub słów kluczowych.","Two-factor authentication has been enabled for your account.":"Na Twoim koncie włączono uwierzytelnianie dwuskładnikowe.","Type":"Typ","Unable to delete":"Nie można usunąć","Unauthorized":"Nieautoryzowane","Undo":"Cofnij","Unique ID":"Unikalne ID","Unknown":"Nieznany","Unregistered":"Niezarejestrowany","Unsorted":"Nieposortowane","Unstack":"Rozłóż stos","Updated":"Zaktualizowano","Updating faces":"Aktualizowanie twarzy","Updating index":"Aktualizowanie indeksu","Updating moments":"Aktualizowanie chwil","Updating picture…":"Aktualizacja zdjęć…","Updating previews":"Aktualizowanie podglądów","Updating stacks":"Aktualizowanie stosów","Upgrade":"Aktualizacja","Upgrade Now":"Uaktualnij teraz","Upload":"Wgraj","Upload complete":"Ukończono wgrywanie","Upload complete. Indexing…":"Wgrywanie zakończone. Indeksowanie…","Upload failed":"Wgrywanie nie powiodło się","Upload local files":"Wgraj pliki z dysku","Upload Path":"Ścieżka przesyłania","Upload to WebDAV and share links with friends.":"Udostępnij album poprzez link lub prześlij wybrane pliki na serwer WebDAV.","Uploading %{n} of %{t}…":"Wgrywanie %{n} z %{t}…","Uploading photos…":"Wgrywanie zdjęć…","Uploading…":"Przesyłanie...","Uploads that may contain such images will be rejected automatically.":"Tego typu obrazy zostaną automatycznie odrzucone.","Use Presets":"Użyj ustawień wstępnych","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Użyj następującego kodu odzyskiwania, aby uzyskać dostęp do swojego konta, jeśli nie możesz wygenerować prawidłowego kodu weryfikacyjnego za pomocą aplikacji uwierzytelniającej:","Use your recovery code or contact an administrator for help.":"Użyj kodu odzyskiwania lub skontaktuj się z administratorem w celu uzyskania pomocy.","User":"Użytkownik","User Guide":"Podręcznik użytkownika","User Interface":"Interfejs użytkownika","Username":"Nazwa użytkownika","Users":"Użytkownicy","Vector":"Vector","Vectors":"Wektory","Verification Code":"Kod weryfikacyjny","Video":"Film","Video Duration":"Czas trwania filmu","Videos":"Filmy","View":"Widok","View search results as a list.":"Wyświetl wyniki wyszukiwania jako listę.","Viewer":"Przeglądarka","Visitor":"Odwiedzający","Visual Similarity":"Podobieństwo wizualne","Warning":"Ostrzeżenie","We appreciate your feedback!":"Doceniamy Twoją opinię!","We do our best to respond within five business days or less.":"Dokładamy wszelkich starań, aby odpowiedzieć w ciągu pięciu dni roboczych lub mniej.","Web Login":"Logowanie przez Internet","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"Klienci WebDAV mogą połączyć się z PhotoPrism za pomocą następującego adresu URL:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"Klienci WebDAV, jak Microsoft Windows Explorer lub Apple Finder, mogą łączyć się bezpośrednio z PhotoPrism.","WebDAV Upload":"Wyślij na WebDAV","WebGL support is disabled in your browser":"Obsługa WebGL jest wyłączona w twojej przeglądarce","Website":"Strona internetowa","White":"Biały","Work Details":"Szczegóły pracy","Year":"Rok","Yellow":"Żółty","Yes":"Tak","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Zapraszamy do kontaktu z nami pod adresem membership@photoprism.app w przypadku pytań dotyczących członkostwa.","You can only download one album":"Możesz pobrać tylko jeden album","You can only download one label":"Możesz pobrać tylko jedną etykietę","You can search for a location or move the marker on the map to change the position:":"Możesz wyszukać lokalizację lub przesunąć znacznik na mapie, aby zmienić pozycję:","You can upload up to %{n} files for test purposes.":"Do celów testowych można przesłać maksymalnie %{n} plików.","You may only select one item":"Możesz wybrać tylko jedną pozycję","You may rescan your library to find additional faces.":"Możesz ponownie przeskanować swoją bibliotekę, aby znaleźć dodatkowe twarze.","Your account has been successfully connected.":"Twoje konto zostało pomyślnie połączone.","Your browser does not support WebGL":"Twoja przeglądarka nie obsługuje WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Twoje stałe wsparcie pomaga nam dostarczać regularne aktualizacje i zachować niezależność, dzięki czemu możemy wypełniać naszą misję i chronić Twoją prywatność.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Twoja biblioteka jest na bieżąco analizowana, aby automatycznie tworzyć albumy z wyjątkowych chwil, podróży i miejsc.","Zoom in/out":"Powiększ / Pomniejsz"}} \ No newline at end of file diff --git a/frontend/src/locales/json/pt.json b/frontend/src/locales/json/pt.json index 619972094..052270768 100644 --- a/frontend/src/locales/json/pt.json +++ b/frontend/src/locales/json/pt.json @@ -1 +1 @@ -{"pt":{"{0} appended action":"{0} ação anexada","{0} files":"{0} ficheiros","{0} files ({1} in total)":"{0} ficheiros ({1} no total)","{0} more":"{0} mais","{0} prepended action":"{0} ação precedida","{0} selected":"{0} selecionado","{0}-{1} of {2}":"{0}-{1} de {2}","%{n} albums found":"%{n} álbuns encontrados","%{n} files uploaded":"%{n} arquivos enviados","%{n} folders found":"%{n} pastas encontradas","%{n} GB of %{q} GB used":"%{n} GB de %{q} GB utilizados","%{n} labels found":"%{n} etiquetas encontradas","%{n} people found":"%{n} pessoas encontradas","%{n} pictures found":"%{n} fotos encontradas","%{s} is too long":"%{s} é demasiado longo","%{s} is too short":"%{s} é demasiado curto","1 hour":"1 hora","12 hours":"12 horas","2-Factor Authentication":"Autenticação de 2 factores","2FA":"2FA","4 hours":"4 horas","A click will copy it to your clipboard.":"Um clique irá copiar para a área de transferência.","A new version of %{s} is available:":"Encontra disponível uma nova versão de %{s}:","About":"Sobre","Access Token":"Token de acesso","Account":"Conta","Account created":"Conta criada","Account deleted":"Conta excluída","Account restored":"Conta restaurada","Accounts":"contas","Accuracy":"Precisão","Action":"Ação","Actions":"Ações","Activate":"Ativar","Activate to remove sorting.":"Ativar para remover a ordenação.","Activate to sort ascending.":"Ativar para ordenar por ordem crescente.","Activate to sort descending.":"Ativar para ordenar por ordem decrescente.","Activation Code":"Código de ativação","Add":"Adicionar","Add %{s}?":"Adiciona %{s}?","Add Account":"Adicionar conta","Add Album":"Adicionar Álbum","Add files to your library via Web Upload.":"Adicionar arquivos à sua biblioteca via Web Upload.","Add Link":"Adicionar Link","Add person?":"Acrescenta uma pessoa?","Add pictures from search results by selecting them.":"Adicione fotos dos resultados da busca selecionando-as.","Add to album":"Adicionar ao álbum","Added":"Adicionado","Admin":"Administrador","Advanced":"Avançado","After 1 day":"Depois de 1 dia","After 3 days":"Depois de 3 dias","After 7 days":"Depois de 7 dias","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Depois de inserir sua senha para confirmação, você pode configurar a autenticação de dois fatores com um aplicativo ou dispositivo autenticador compatível:","After one month":"Depois de um mês","After one year":"Depois de um ano","After selecting pictures from search results, you can add them to an album using the context menu.":"Após selecionar as fotos dos resultados da busca, você pode adicioná-las a um álbum usando o menu de contexto.","After two months":"Depois de dois meses","After two weeks":"Depois de duas semanas","Album":"Álbum","Album Backups":"Cópias de segurança de álbuns","Album created":"Álbum criado","Albums":"Álbuns","Albums deleted":"Álbuns excluídos","All":"Todos","All %{n} albums loaded":"Todos os %{n} álbuns foram carregados","All %{n} labels loaded":"Todas as %{n} etiquetas foram carregadas","All %{n} people loaded":"Todas as pessoas %{n} carregadas","All Cameras":"Todas as Câmeras","All Categories":"Todas as Categorias","All Colors":"Todas as Cores","All Countries":"Todos os Países","All fields are required":"Todos os campos são necessários","All files from import folder":"Todos os arquivos da pasta importada","All Lenses":"Todas as Lentes","All Months":"Todos os Meses","All originals":"Todos os Originais","All Years":"Todos os Anos","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Como alternativa, pode enviar arquivos diretamente para servidores WebDAV, como Nextcloud.","Altitude":"Altitude","Altitude (m)":"Altitude (m)","AM":"AM","Animated":"Animado","Animation":"Animação","Any private photos and videos remain private and won't be shared.":"Qualquer foto ou vídeo privado continuará privado e não será compartilhado.","API Key":"Chave API","Application":"Aplicação","Apply":"Aplicar","Approve":"Aprovar","Apps and Devices":"Aplicações e dispositivos","Archive":"Arquivo","Archived":"Arquivado","Are you sure you want to archive the selection?":"Tem a certeza que quer arquivar a seleção?","Are you sure you want to delete these albums?":"Tem a certeza que quer excluir esses álbuns?","Are you sure you want to delete these labels?":"Tem a certeza que quer excluir essas etiquetas?","Are you sure you want to delete this account?":"Tem a certeza que quer excluir essa conta?","Are you sure you want to permanently delete these pictures?":"Tem a certeza que quer permanentemente apagar estas imagens?","Are you sure you want to permanently delete this file?":"Tem a certeza que quer permanentemente apagar este arquivo?","Are you sure?":"Você tem certeza?","Artist":"Artista","Aspect Ratio":"Proporção da Tela","Audio":"Áudio","Authentication":"Autenticação","Auto":"Automóvel","Back":"Voltar","Back to top":"Volta ao início","Backup":"Cópia de Segurança","Badge":"Crachá","Base Path":"caminho base","Become a member today, support our mission and enjoy our member benefits!":"Torne-se um membro hoje, apoie nossa missão e aproveite nossos benefícios para membros!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Sendo 100% self-fundados e independentes, podemos prometer que nunca venderemos seus dados e que seremos sempre transparentes sobre nossos softwares e serviços.","Bio":"Biografia","Birth Date":"Data de Nascimento","Black":"Preto","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Modificação do Lanczos, resulta em menos artefactos","Blue":"Azul","Brown":"Castanho","Browse":"Navegar","Browse and edit image classification labels.":"Navegar e editar as etiquetas de classificação da imagem.","Browse and share your pictures organized into monthly albums.":"Navega e partilha as tuas fotografias organizadas em álbuns mensais.","Browse Files":"Procurar ficheiros","Browse indexed files and folders in Library.":"Navegar pelos arquivos e pastas indexadas na Biblioteca.","Bug Report":"Relatar erro","Busy, please wait…":"Ocupado, por favor aguarde…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Ao usar o software e os serviços que fornecemos, você concorda com nossos termos de serviço, política de privacidade e código de conduta.","Calendar":"Calendário","Camera":"Câmera","Camera Serial":"Série da Câmera","Can't access your authenticator app or device?":"Não consegues aceder à tua aplicação ou dispositivo autenticador?","Can't load more, limit reached":"Não é possível carregar mais, limite alcançado","Can't select more items":"Não é possível selecionar mais itens","Cancel":"Cancelar","Caption":"Legenda","Cards":"Cartões","Carousel slide {0} of {1}":"Slide de carrossel {0} de {1}","Category":"Categoria","Change Avatar":"Mudar Avatar","Change Password":"Alterar Senha","Change personal profile and security settings.":"Mudar o perfil pessoal e as configurações de segurança.","Change photo titles, locations, and other metadata.":"Mudar títulos, localizações e outros dados das fotos.","Change private flag":"Mudar marcação como privado","Changes could not be saved":"As mudanças não foram salvas","Changes successfully saved":"As mudanças foram salvas com sucesso","Changes to the advanced settings require a restart to take effect.":"As alterações às definições avançadas requerem um reinício para terem efeito.","Checked":"Verificado","Chroma":"Croma","Cleaning index and cache":"Limpar o índice e a cache","Cleanup":"Limpeza","Clear {0}":"Limpa {0}","Client":"Cliente","Client Credentials":"Credenciais do cliente","Close":"Fechar","Codec":"Codec","Color":"Cor","Color Profile":"Perfil da cor","Colors":"Cores","Compare Editions":"Comparar Edições","Complete Rescan":"Escaneamento completo","Confidence":"Certeza","Confirm":"confirme","Connect":"Conectar","Connect via WebDAV":"Conectar via WebDAV","Connected":"Conectado","Contact Details":"Detalhes do contato","Contact Us":"Contactar-nos","Contains %{n} pictures.":"Contém %{n} imagens.","Contains one picture.":"Contém uma foto.","Content":"Conteúdo","Continue":"Continuar","Continue with %{provider}":"Continua com %{provider}","Contributor":"Contribuinte","Converting":"A converter","Copied to clipboard":"Copiado para a área de transferência de texto","Copy":"Copiar","Copyright":"Direitos de Autor","Couldn't find anything.":"Não foi encontrado nada.","Country":"País","Create Account":"Criar uma conta","Create album":"Criar álbum","Create regular backups based on the configured schedule.":"Cria cópias de segurança de índices com base na agenda configurada.","Create YAML files to back up album metadata.":"Cria ficheiros YAML para fazer cópias de segurança dos metadados dos álbuns.","Create YAML sidecar files to back up picture metadata.":"Cria ficheiros YAML sidecar para fazer cópias de segurança dos metadados das imagens.","Created":"Criado","Creating thumbnails for":"Criando miniaturas para","Cubic: Moderate Quality, Good Performance":"Cubic: Qualidade razoável, bom desempenho","Current Password":"Senha Atual","Custom":"Personalizado","Cyan":"Ciano","Daily":"Diariamente","Database Backups":"Cópias de segurança da base de dados","Day":"Dia","Deactivate":"Desativar","Debug Logs":"Registros de depuração","Default":"Padrão","Default Folder":"Pasta Padrão","Delete":"Apagar","Delete All":"Apagar tudo","Delete all?":"Apaga tudo?","Delete orphaned index entries, sidecar files and thumbnails.":"Eliminar entradas de índice órfãs, ficheiros sidecar e miniaturas.","Description":"Descrição","Detailed instructions can be found in our User Guide.":"Instruções detalhadas podem ser encontradas no nosso Guia de Utilizador.","Details":"Detalhes","Dimensions":"Dimensões","Disable Backups":"Desativar Cópias de Segurança","Disable Darktable":"Desativar Darktable","Disable ExifTool":"Desativar ExifTool","Disable features that require write permission for the originals folder.":"Desabilita os recursos que exigem permissão de gravação para a pasta de originais.","Disable FFmpeg":"Desativar FFmpeg","Disable ImageMagick":"Desativar ImageMagick","Disable interactive world maps and reverse geocoding.":"Desactiva os mapas mundiais interactivos e a geocodificação inversa.","Disable Places":"Desativar Lugares","Disable RawTherapee":"Desativar RawTherapee","Disable TensorFlow":"Desativar TensorFlow","Disable Vectors":"Desativar vetores","Disable WebDAV":"Desativar WebDAV","Disables vector graphics support.":"Desativa o suporte a gráficos vetoriais.","Disables video transcoding and thumbnail extraction.":"Desativa a transcodificação de vídeo e a extração de miniaturas.","Discover":"Explorar","Dismiss":"Dispensa","Display Name":"Nome de Exibição","Display picture captions in search results.":"Mostra as legendas das imagens nos resultados da pesquisa.","Display picture titles in search results.":"Apresenta os títulos das imagens nos resultados da pesquisa.","Document":"Documento","Documents":"Documentos","Don't use Darktable to convert RAW images.":"Não use o Darktable para converter arquivos RAW.","Don't use ImageMagick to convert images.":"Não use o ImageMagick para converter imagens.","Don't use RawTherapee to convert RAW images.":"Não use RawTherapee para converter arquivos RAW.","Done":"Concluído","Done.":"Concluído.","Download":"Descarregar","Download only original media files, without any automatically generated files.":"Baixe apenas arquivos de mídia originais, sem nenhum arquivo gerado automaticamente.","Download remote files":"Descarregar arquivos remotos","Download single files and zip archives.":"Descarregar ficheiros individuais e arquivos zip.","Downloading…":"Descarregando…","Downscaling Filter":"Filtro de redimensionamento","Drag and drop files here":"Arrasta e larga ficheiros aqui","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"Devido ao alto volume de e-mails que recebemos, nossa equipe pode não conseguir responder-lhe imediatamente.","Duplicates will be skipped and only appear once.":"Duplicações serão descarregadas e só vão aparecer uma vez.","Duration":"Duração","Dynamic Previews":"Amostras dinâmicas","Dynamic Size Limit: %{n}px":"Tamanho dinâmico limite: %{n}px","E-Mail":"Email","Edit":"Editar","Edit %{s}":"Editar %{s}","Edit Account":"Editar Conta","Edit Photo":"Editar Foto","Edited":"Editado","Email":"E-mail","Enable debug mode to display additional logs and help with troubleshooting.":"Ativa o modo de depuração para apresentar registos adicionais e ajudar na resolução de problemas.","Enable new features that may be incomplete or unstable.":"Habilita novas funcionalidades que podem estar incompletas ou instáveis.","Enables RAW converter presets. May reduce performance.":"Permite predefinições de conversores RAW. Pode reduzir o desempenho.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Ativar a autenticação de dois fatores significa que você precisará de um código de verificação gerado aleatoriamente para fazer login, portanto, mesmo que alguém obtenha acesso à sua senha, não conseguirá acessar sua conta.","Enter date":"Introduzir data","Enter dates":"Introduzir datas","Enter the code generated by your authenticator app:":"Introduz o código gerado pela tua aplicação de autenticação:","Enter verification code":"Digite o código de verificação","Enter your password to confirm the action and continue:":"Digite sua senha para confirmar a ação e continuar:","Error":"Erro","Errors":"Erros","Estimate":"Estimativa","Estimate Locations":"Estimativa de locais","Estimate the approximate location of pictures without GPS coordinates.":"Faz uma estimativa da localização aproximada de imagens sem coordenadas GPS.","Every two days":"A cada dois dias","Exclude content marked as private from search results, shared albums, labels, and places.":"Excluir conteúdo marcado como privado dos resultados da busca, álbuns compartilhados, etiquetas e locais.","Exclude hidden":"Excluir oculto","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"A extração de metadados com o ExifTool é necessária para suporte total de Vídeo, Fotografia em direto e XMP.","Experimental Features":"Funcionalidades experimentais","Expires":"Expira","Exposure":"Exposição","Extract still images and generate thumbnails while indexing.":"Extrai imagens fixas e gera miniaturas durante a indexação.","F Number":"Razão focal","Face":"Face","Faces":"Faces","Failed removing link":"Falha ao remover o link","Failed to connect account.":"Não conseguiste ligar a conta.","Failed updating link":"Falha ao atualizar o link","Family Name":"Nome de família","Fast":"Rápido","Favorite":"Favorito","Favorites":"Favoritos","Feature Request":"Solicitar funcionalidade","Feedback":"Dê a sua opinião","Female":"Feminino","File":"Ficheiro","File Browser":"Explorador de Arquivos","File Conversion":"Conversão de arquivo","File Name":"Nome do arquivo","File Size":"Tamanho do Arquivo","Filename":"Nome do arquivo","Files":"Ficheiro","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Arquivos com nomes sequenciais, como \"IMG_1234 (2)\" ou \"IMG_1234 (3)\" pertencem à mesma foto.","First page":"Primeira página","Focal Length":"Distância Focal","Folder":"Pasta","Folder contains %{n} files":"A pasta contem %{n} arquivos","Folder is empty":"A pasta está vazia","Folders":"Pastas","Forgot password?":"Esqueceu a senha?","FPS":"FPS","Frames":"Quadros","Full Access":"Acesso total","Fullscreen":"Ecrã inteiro","General":"Geral","Generate":"Gerar","Generate albums of special moments, journeys, and places.":"Cria automaticamente álbuns de momentos, viagens e lugares especiais.","Generate Previews":"Gera pré-visualizações","Generated":"Gerado","Get Started":"Começa a trabalhar","Given Name":"Nome dado","Global Options":"Opções Globais","Go to page {0}":"Vai para a página {0}","Gold":"Dourado","Green":"Verde","Grey":"Cinza","Guest":"Convidado","Hash":"Hashe","Help":"Ajuda","Help & Support":"Ajuda & Suporte","Hidden":"Ocultos","Hidden Files":"Arquivos Ocultos","Hide":"Esconder","Hide photos that have been moved to archive.":"Oculte fotos que foram arquivadas.","High":"Alta","High Dynamic Range (HDR)":"Faixa dinâmica alta (HDR)","How can we help?":"Como podemos ajudar?","Hybrid":"Híbrido","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Se você perder o acesso ao seu aplicativo ou dispositivo autenticador, poderá usar seu código de recuperação para recuperar o acesso à sua conta.","Image":"Imagem","Image Quality":"Qualidade da imagem","Import":"Importar","Import failed":"Falha na importação","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Ficheiros importados serão organizados por data e receberão um nome único para evitar duplicações.","Imported files will be sorted by date and given a unique name.":"Ficheiros importados serão organizados por data e receberão um nome único.","Importing %{s}…":"Importando %{s}…","Importing files to originals…":"Importando ficheiros para originais…","in":"em","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"No caso de faltarem as fotos que você espera, por favor, faça uma nova digitalização de sua biblioteca e aguarde até que a indexação seja concluída.","Include RAW image files when downloading stacks and archives.":"Inclua arquivos de imagem RAW ao baixar pilhas e arquivos.","Include sidecar files when downloading stacks and archives.":"Inclua arquivos secundários ao baixar pilhas e arquivos.","Increase storage size or delete files to continue.":"Aumenta o tamanho do armazenamento ou elimina ficheiros para continuar.","Index":"Indexar","Index and import files through the user interface.":"Indexar e importar arquivos através da interface do usuário.","Indexing":"Indexando","Indexing failed":"Falha ao indexar","Indexing media and sidecar files…":"Indexando ficheiro multimédia e secundários…","Information":"Informações","Instance ID":"ID da Instância","Insufficient storage.":"Armazenamento insuficiente.","Interval":"Intervalo","Invalid":"Inválido","Invalid address":"Endereço inválido","Invalid country":"País inválido","Invalid date":"Data inválida","Invalid parameters":"Parâmetros inválidos","Invalid photo selected":"Foto inválida selecionada","Invalid time":"Hora inválida","Invalid URL":"URL inválido","It is a one-time use code that will disable 2FA for your account when you use it.":"É um código de uso único que desativará o 2FA da sua conta quando você o usar.","Item":"Item","Items per page:":"Itens por página:","JPEG Quality: %{n}":"Qualidade JPEG: %{n}","JPEG Size Limit: %{n}px":"Tamanho JPEG limite: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"Imagens JPEG e miniaturas são renderizadas automaticamente conforme necessário.","Keywords":"Palavras-chave","Label":"Etiqueta","Labels":"Etiquetas","Labels deleted":"Etiquetas excluídas","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: Preserva detalhes, poucos artefactos","Language":"Idioma","Last Active":"ativo pela última vez","Last Login":"Último Login","Last page":"Última página","Last Sync":"Última Sincronia","Last Used":"Usado por último","Latitude":"Latitude","LDAP/AD":"LDAP/AD","Learn more":"Saiba mais","Learn More":"Aprende mais","Legal Information":"Informações legais","Lens":"Lente","Library":"Biblioteca","License":"Licença","Like":"Gosto","Lime":"Lima","Limit reached, showing first %{n} files":"Limite alcançado, mostrando os primeiros %{n} arquivos","Linear: Very Smooth, Best Performance":"Linear: Suave, melhor desempenho","Link":"Link","List":"Lista","List View":"Ver lista","Live":"Ao vivo","Live Photos":"Fotos ao vivo","Load more":"Carrega mais","Loading items...":"Carregamento de itens...","Loading...":"Carregamento...","Local":"Local","Local Time":"Hora Local","Location":"Localização","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Mensagens aparecem aqui sempre que o PhotoPrism encontra arquivos com defeito ou outro potencial problema.","Login":"Entrar","Logout":"Sair","Logs":"Registros","Longitude":"Longitude","Low":"Baixo","Magenta":"Magenta","Main Color":"Cor principal","Male":"Masculino","Manage Account":"Gerenciar conta","Manual":"Manual","Manual Upload":"Envio manual","Maps":"Mapas","Marker":"Marcador","Maximum number of accounts has been reached.":"O número máximo de contas foi atingido.","Media":"Meios de comunicação social","Medium":"Médio","Membership":"Filiação","Merge %{a} with %{b}?":"Fundir %{a} com %{b}?","Message":"Mensagem","Message sent":"Mensagem enviada","Metadata":"Metadados","Metrics":"Métricas","Minimize":"Minimizar","Missing":"Em Falta","Missing or invalid configuration":"Configuração em falta ou inválida","Moments":"Momentos","Monochrome":"Monocromático","Month":"Mês","More options":"Mais opções","Mosaic":"Mosaico","Most Relevant":"Mais Relevante","Move Files":"Mover ficheiro","Must have at least %{n} characters.":"Deve ter pelo menos %{n} caracteres.","Mute":"Silenciar","Name":"Nome","Name too long":"Nome muito extenso","Never":"Nunca","New":"Novo","New Password":"Nova senha","Newest First":"Recentes primeiro","Next":"Seguinte","Next page":"Página seguinte","Next visual":"Próximo visual","No":"Não","No albums found":"Nenhum álbum encontrado","No data available":"Não existem dados disponíveis","No labels found":"Nenhuma etiqueta encontrada","No matching records found":"Não foram encontrados registos correspondentes","No more":"Não mais","No people found":"Nenhuma pessoa encontrada","No pictures found":"Nenhuma foto encontrada","No recently edited pictures":"Nenhuma foto editada recentemente","No server connection":"Não há ligação ao servidor","No servers configured.":"Nenhum servidor configurado.","No services configured.":"Nenhum serviço configurado.","No thanks":"Não, obrigado(a)","No warnings or error containing this keyword. Note that search is case-sensitive.":"Nenhum alerta ou erro contendo esta palavra-chave. Note que a pesquisa diferencia maiúsculas de minúsculas.","Non-photographic and low-quality images require a review before they appear in search results.":"Imagens de baixa qualidade ou não-fotográficas necessitam de revisão antes de aparecerem nos resultados da pesquisa.","None":"Nenhum","Not allowed":"Não autorizado","Not found":"Não encontrado","Not sorted.":"Não estás classificado.","Not supported":"Não suportado","Note you may manually manage your originals folder and importing is optional.":"Note que você pode gerenciar manualmente sua pasta de originais e a importação é opcional.","Note:":"Nota:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Nota: Apenas servidores WebDAV, tais como Nextcloud ou PhotoPrism, podem ser configurados como serviço remoto para envio de ficheiros e cópias de segurança.","Notes":"Notas","Nothing to see here yet.":"Nada para se ver aqui ainda. Seja paciente.","Nothing was found.":"Nada foi encontrado.","Offline":"Desconectado","OIDC":"OIDC","OK":"OK","Oldest First":"Antigos primeiro","On Windows, enter the following resource in the connection dialog:":"No Windows, digite o seguinte recurso no diálogo de conexão:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"A geração de miniaturas a pedido pode causar uma utilização elevada da CPU e da memória. Não é recomendada para servidores com recursos limitados e dispositivos NAS.","Once a week":"Uma vez por semana","One album found":"Um álbum encontrado","One file found":"Um ficheiro encontrado","One file uploaded":"Um arquivo carregado","One folder found":"Uma pasta encontrada","One label found":"Um rótulo encontrado","One person found":"Uma pessoa encontrada","One picture found":"Uma foto encontrada","Only locally managed accounts can be set up for authentication with 2FA.":"Somente contas gerenciadas localmente podem ser configuradas para autenticação com 2FA.","Open":"Aberto","optional":"opcional","or":"ou","Orange":"Laranja","Organization":"Organização","Orientation":"Orientação","Original file names will be stored and indexed.":"Nomes originais dos arquivos serão armazenados e indexados.","Original Name":"Nome original","Originals":"Originais","Other":"Outro","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Nossa missão é fornecer a solução mais amigável ao usuário e à privacidade para manter suas fotos organizadas e acessíveis.","Outdoor":"Ao ar livre","Page {0}, Current page":"Página {0}, Página atual","Pages":"Páginas","Pagination Navigation":"Navegação de paginação","Panorama":"Panorama","Panoramas":"Panoramas","Password":"Senha","Password changed":"Senha alterada","People":"Pessoas","People you share a link with will be able to view public contents.":"Pessoas com as quais partilha um link poderão ver os conteúdos públicos.","Permanently deleted":"Permanentemente excluídas","Permanently remove files to free up storage.":"Remover ficheiros permanentemente para poupar armazenamento.","Person":"Pessoa","Personal":"Pessoal","Photo":"Foto","PhotoPrism is 100% self-funded and independent.":"PhotoPrism é 100% autofinanciado e independente.","PhotoPrism+ Membership":"Associação PhotoPrism+","Photos":"Fotos","Picture Title":"Título da imagem","Pink":"Rosa","Place":"Lugar","Place & Time":"Lugar & Tempo","Places":"Lugares","Please confirm your new password.":"Por favor, confirme a nova senha.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Copie a seguinte senha de aplicativo gerada aleatoriamente e guarde-a em um local seguro, pois você não poderá vê-la novamente:","Please do not upload any private, unlawful or offensive pictures.":"Não carregue imagens privadas, ilegais ou ofensivas.","Please don't upload photos containing offensive content.":"Por favor, não envie fotos com conteúdo ofensivo.","Please enter OTP character {0}":"Introduz o carácter OTP {0}","Please note that changing your password will log you out on other devices and browsers.":"Por favor, note que a mudança de sua senha fará com que você saia de outros dispositivos e navegadores.","Please restart your instance for the changes to take effect.":"Reinicie sua instância para que as alterações entrem em vigor.","Please wait…":"Por favor, aguarde…","PM":"PM","PNG Size Limit: %{n}px":"Tamanho PNG limite: %{n}px","Portrait":"Retrato","Preserve filenames":"Preservar nomes de ficheiro","Press enter to create a new album.":"Pressione enter para criar um novo álbum.","Prevent database and album backups as well as YAML sidecar files from being created.":"Evita que sejam criadas cópias de segurança da base de dados e do álbum, bem como ficheiros YAML sidecar.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Impede que outras aplicações acedam ao PhotoPrism como uma unidade de rede partilhada.","Preview":"Pré-visualização","Preview Images":"Imagens de pré-visualização","Previous":"Anterior","Previous page":"Página anterior","Previous visual":"Visual anterior","Primary":"Primário","Private":"Privado","Product Feedback":"Opinião sobre o produto","Projection":"Projeção","Purple":"Roxo","Quality Filter":"Filtro de qualidade","Quality Score":"Marcador de qualidade","r":"r","Random":"Aleatório","Rating {0} of {1}":"Classificação {0} de {1}","Raw":"RAW","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Reindexe todos originais, incluindo ficheiros já indexados e não modificados.","Read-Only Mode":"Modo Somente Leitura","Recently Added":"Adicionado recentemente","Recently Archived":"Arquivado recentemente","Recently Edited":"Editado Recentemente","Recognition starts after indexing has been completed.":"O reconhecimento começa após a indexação ter sido concluída.","Recognize faces so people can be assigned and found.":"Reconhece rostos para que pessoas específicas possam ser encontradas.","Recognized":"Reconhecido","Recovery Code":"Código de recuperação","Red":"Vermelho","Refresh":"Refresca-te","Regions":"Regiões","Register":"Registro","Reload":"Recarregar","Reloading…":"Recarregando…","Remote Sync":"Sincronização remota","Remove":"Remover","remove failed: unknown album":"remoção falhou: álbum desconhecido","Remove from Album":"Remover do álbum","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Remover ficheiros já importados ao armazenamento. Tipos de ficheiros não suportados nunca serão apagados, eles continuam na localização atual.","Request failed - are you offline?":"Falha na solicitação - você está offline?","Request failed - invalid response":"Solicitação falhou - resposta inválida","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Exige que as imagens não fotográficas e de baixa qualidade sejam revistas antes de aparecerem nos resultados da pesquisa.","Resolution":"Resolução","Restart":"Reiniciar","Restore":"Restaurar","Restored":"Restaurado","Retry Limit":"Limite de Tentativa","Retype Password":"Re-insira a senha","Review":"Rever","Role":"Papel","Rows per page:":"Linhas por página:","Satellite":"Satélite","Save":"Guardar","Scan":"Pesquisar","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Digitalize o código QR com seu aplicativo autenticador ou use a chave de configuração mostrada abaixo e insira o código de verificação gerado:","Scans":"Pesquisas","Scope":"Âmbito de aplicação","Search":"Pesquisar","Search and display photos on a map.":"Pesquisar e mostrar fotos num mapa.","Season":"Estação","Secret":"Segredo","Security and Access":"Segurança e acesso","Select":"Selecionar","Select a source folder to import files…":"Seleciona uma pasta de origem para importar ficheiros…","Select date":"Selecionar data","Select dates":"Selecionar datas","Select or create an album":"Selecionar ou criar um álbum","Select the files to upload…":"Seleciona os ficheiros a carregar…","Select the folder to be indexed…":"Seleciona a pasta a ser indexada…","Select Time":"Selecionar hora","Selection approved":"Seleção aprovada","Selection archived":"Seleção arquivada","Selection restored":"Seleção restaurada","Sequential Name":"Nome sequencial","Service URL":"URL do serviço","Services":"Serviços","Session":"Sessão","Session ID":"Identificação de sessão","Sessions":"Sessões","Set as Album Cover":"Define como capa do álbum","Settings":"Configurações","Settings saved":"Configurações salvas","Setup":"Configuração","Share":"Partilhar","Share %{s}":"Partilhar %{s}","Share your pictures with other apps and services.":"Compartilhe suas fotos com outros aplicativos e serviços.","Show":"Mostrar","Show all new faces":"Mostrar todos os rostos novos","Show Captions":"Mostrar legendas","Show hidden":"Mostrar oculto","Show less":"Mostrar menos","Show more":"Mostrar mais","Show server logs in Library.":"Mostrar registros do servidor na Biblioteca.","Show Titles":"Mostra os títulos","Sidecar":"Secundários","Sidecar Files":"Ficheiros Sidecar","Sign in":"Entrar","Similar":"Semelhante","Size":"Tamanho","Slideshow":"Apresentação de diapositivos","Slow":"Lento","Software":"Programas","Software Update":"Atualização do software","Something went wrong, try again":"Algo deu errado, tente novamente","Sort by":"Ordenar por","Sort Order":"Ordem de classificação","Sorted ascending.":"Ordenado por ordem crescente.","Sorted descending.":"Ordenado de forma descendente.","Source":"Fonte","Stack":"Pilhas","Stack files sharing the same unique image or instance identifier.":"Empilhar ficheiros com a mesma imagem única ou identificador de instância.","Stack pictures taken at the exact same time and location based on their metadata.":"Empilhar fotos tiradas na mesma hora e local conforme os metadados.","Stackable":"Empilhável","Stacks":"Pilhas","Start":"Iniciar","Start Page":"Página inicial","Static Size Limit: %{n}px":"Tamanho estático limite: %{n}px","Status":"Status","Storage":"Armazenamento","Streets":"Ruas","Subject":"Assunto","Submit":"Submete","Successfully activated":"Ativado com sucesso","Successfully Connected":"Conectado com sucesso","Successfully deleted":"Excluído com sucesso","Successfully verified":"Verificado com sucesso","Super Admin":"superadministrador","Support for additional services, like Google Drive, will be added over time.":"Suporte para serviços adicionais, como Google Drive, serão adicionados oportunamente.","Support Our Mission":"Apoie nossa missão","Sync":"Sincronizar","Sync raw and video files":"Sincronizar ficheiros RAW e vídeos","Taken":"Tirado","Teal":"Azul marinho","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"O TensorFlow é necessário para a classificação de imagens, o reconhecimento facial e a deteção de conteúdos não seguros.","Terrain":"Terreno","Text":"Texto","Text too long":"Texto muito longo","Thank You for Your Support!":"Obrigado por seu apoio!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"É por isso que o PhotoPrism foi desenvolvido desde o início para ser executado onde você precisar, sem comprometer a liberdade, privacidade ou funcionalidade.","The index currently contains %{n} hidden files.":"O índice atualmente contém %{n} ficheiros ocultos.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"O formato delas não é suportado, não foram convertidas para JPEG ainda ou existe duplicação.","Theme":"Tema","This field is required":"Este campo é obrigatório","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Isto monta a pasta de originais como um dispositivo de rede e permite que abra, edite e apague ficheiros a partir do seu computador ou telemóvel como se fossem locais.","Time UTC":"Horário UTC","Time Zone":"Fuso Horário","Timeout":"Tempo esgotado","Title":{"Account":"Título","Photo":"Título","":"Título"},"Title / Position":"Título / Posição","Title too long":"Título muito longo","to":"para","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Para evitar o bloqueio de sua conta, baixe, imprima ou copie este código de recuperação agora e guarde-o em um local seguro.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Para gerar uma nova senha específica do aplicativo, insira o nome e o escopo de autorização do aplicativo e selecione uma data de validade:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Para mudar para um novo aplicativo ou dispositivo autenticador, primeiro desative a autenticação de dois fatores e depois reative-a:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Para atualizar, você pode inserir um código de ativação ou clicar em \"Registrar\" para se inscrever em nosso site:","Today":"Hoje","Toggle View":"Trocar visualização","Token":"Token","Too many files selected":"Demasiados ficheiros seleccionados","Too many requests":"Demasiados pedidos","Troubleshooting":"Resolução de problemas","Try again using other filters or keywords.":"Tente novamente usando outros filtros ou palavras-chave.","Two-factor authentication has been enabled for your account.":"A autenticação de dois fatores foi habilitada para sua conta.","Type":"Tipo","Unauthorized":"Não autorizado","Undo":"Desfazer","Unique ID":"ID único","Unknown":"Desconhecido","Unregistered":"Não registrado","Unsorted":"Não classificado","Unstack":"Desempilhar","Updated":"Atualizado","Updating faces":"Atualização de rostos","Updating index":"Atualizando o índice","Updating moments":"Atualizando momentos","Updating picture…":"Atualizando a imagem..","Updating previews":"Atualização de previsões","Updating stacks":"Atualizando pilhas","Upgrade":"Melhoria","Upgrade Now":"Atualize agora","Upload":"Enviar","Upload complete":"Envio finalizado","Upload complete. Indexing…":"Envio finalizado. Indexando…","Upload failed":"Envio falhou","Upload local files":"Enviar ficheiros locais","Upload Path":"Carregar Caminho","Upload to WebDAV and share links with friends.":"Enviar para WebDAV e partilhar links com amigos.","Uploading %{n} of %{t}…":"Enviando %{n} de %{t}…","Uploading photos…":"Enviando fotos…","Uploading…":"A carregar.","Uploads that may contain such images will be rejected automatically.":"Envios que possam conter tais imagens serão rejeitados automaticamente.","Use Presets":"Usar pré-definições","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Use o seguinte código de recuperação para acessar sua conta quando não conseguir gerar um código de verificação válido com seu aplicativo autenticador:","Use your recovery code or contact an administrator for help.":"Utiliza o teu código de recuperação ou contacta um administrador para obter ajuda.","User":"Utilizador","User Guide":"Guia do Usuário","User Interface":"Interface de utilizador","Username":"Nome de utilizador","Users":"Usuários","Vector":"Vetor","Vectors":"vetores","Verification Code":"Código de verificação","Video":"Vídeo","Video Duration":"Duração Vídeo","Videos":"Vídeos","View":"Visualização","View search results as a list.":"Vê os resultados da pesquisa como uma lista.","Viewer":"Visualizador","Visitor":"Visitante","Visual Similarity":"Similaridade visual","Warning":"Aviso","We appreciate your feedback!":"Agradecemos seu feedback!","We do our best to respond within five business days or less.":"Fazemos nosso melhor para responder dentro de cinco dias úteis ou menos.","Web Login":"Login na Web","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"Clientes WebDAV podem conectar-se ao PhotoPrism usando o seguinte endereço:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"Clientes WebDAV, com o explorador do Windows ou do MacOS, pode conectar-se diretamente com o PhotoPrism.","WebDAV Upload":"Envio WebDAV","WebGL support is disabled in your browser":"O suporte WebGL está desativado no teu browser","Website":"Site","White":"Branco","Work Details":"Detalhes do trabalho","Year":"Ano","Yellow":"Amarelo","Yes":"Sim","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Você está convidado a entrar em contato conosco em membership@photoprism.app para perguntas sobre sua associação.","You can only download one album":"Pode descarregar apenas um álbum","You can only download one label":"Pode descarregar apenas uma etiqueta","You can upload up to %{n} files for test purposes.":"Pode carregar até %{n} ficheiros para fins de teste.","You may only select one item":"Pode descarregar apenas um item","You may rescan your library to find additional faces.":"Você pode voltar a digitalizar sua biblioteca para encontrar rostos adicionais.","Your account has been successfully connected.":"Sua conta foi conectada com sucesso.","Your browser does not support WebGL":"O teu browser não suporta WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Seu apoio contínuo nos ajuda a fornecer atualizações regulares e a permanecer independentes, para que possamos cumprir nossa missão e proteger sua privacidade.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Sua biblioteca é continuamente analisada para criar automaticamente álbuns de momentos, viagens e lugares especiais.","Zoom in/out":"Aproximar/Afastar"}} \ No newline at end of file +{"pt":{"{0} appended action":"{0} ação anexada","{0} files":"{0} ficheiros","{0} files ({1} in total)":"{0} ficheiros ({1} no total)","{0} more":"{0} mais","{0} prepended action":"{0} ação precedida","{0} selected":"{0} selecionado","{0}-{1} of {2}":"{0}-{1} de {2}","%{n} albums found":"%{n} álbuns encontrados","%{n} files uploaded":"%{n} arquivos enviados","%{n} folders found":"%{n} pastas encontradas","%{n} GB of %{q} GB used":"%{n} GB de %{q} GB utilizados","%{n} labels found":"%{n} etiquetas encontradas","%{n} people found":"%{n} pessoas encontradas","%{n} pictures found":"%{n} fotos encontradas","%{s} is too long":"%{s} é demasiado longo","%{s} is too short":"%{s} é demasiado curto","1 hour":"1 hora","12 hours":"12 horas","2-Factor Authentication":"Autenticação de 2 factores","2FA":"2FA","4 hours":"4 horas","A click will copy it to your clipboard.":"Um clique irá copiar para a área de transferência.","A new version of %{s} is available:":"Encontra disponível uma nova versão de %{s}:","About":"Sobre","Access Token":"Token de acesso","Account":"Conta","Account created":"Conta criada","Account deleted":"Conta excluída","Account restored":"Conta restaurada","Accounts":"contas","Accuracy":"Precisão","Action":"Ação","Actions":"Ações","Activate":"Ativar","Activate to remove sorting.":"Ativar para remover a ordenação.","Activate to sort ascending.":"Ativar para ordenar por ordem crescente.","Activate to sort descending.":"Ativar para ordenar por ordem decrescente.","Activation Code":"Código de ativação","Add":"Adicionar","Add %{s}?":"Adiciona %{s}?","Add Account":"Adicionar conta","Add Album":"Adicionar Álbum","Add files to your library via Web Upload.":"Adicionar arquivos à sua biblioteca via Web Upload.","Add Link":"Adicionar Link","Add person?":"Acrescenta uma pessoa?","Add pictures from search results by selecting them.":"Adicione fotos dos resultados da busca selecionando-as.","Add to album":"Adicionar ao álbum","Added":"Adicionado","Adjust Location":"Ajustar a localização","Admin":"Administrador","Advanced":"Avançado","After 1 day":"Depois de 1 dia","After 3 days":"Depois de 3 dias","After 7 days":"Depois de 7 dias","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Depois de inserir sua senha para confirmação, você pode configurar a autenticação de dois fatores com um aplicativo ou dispositivo autenticador compatível:","After one month":"Depois de um mês","After one year":"Depois de um ano","After selecting pictures from search results, you can add them to an album using the context menu.":"Após selecionar as fotos dos resultados da busca, você pode adicioná-las a um álbum usando o menu de contexto.","After two months":"Depois de dois meses","After two weeks":"Depois de duas semanas","Album":"Álbum","Album Backups":"Cópias de segurança de álbuns","Album created":"Álbum criado","Album deleted":"Álbum eliminado","Albums":"Álbuns","Albums deleted":"Álbuns excluídos","All":"Todos","All %{n} albums loaded":"Todos os %{n} álbuns foram carregados","All %{n} labels loaded":"Todas as %{n} etiquetas foram carregadas","All %{n} people loaded":"Todas as pessoas %{n} carregadas","All Cameras":"Todas as Câmeras","All Categories":"Todas as Categorias","All Colors":"Todas as Cores","All Countries":"Todos os Países","All fields are required":"Todos os campos são necessários","All files from import folder":"Todos os arquivos da pasta importada","All Lenses":"Todas as Lentes","All Months":"Todos os Meses","All originals":"Todos os Originais","All Years":"Todos os Anos","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Como alternativa, pode enviar arquivos diretamente para servidores WebDAV, como Nextcloud.","Altitude":"Altitude","Altitude (m)":"Altitude (m)","AM":"AM","Animated":"Animado","Animation":"Animação","Animations":"Animações","Any private photos and videos remain private and won't be shared.":"Qualquer foto ou vídeo privado continuará privado e não será compartilhado.","API Key":"Chave API","Application":"Aplicação","Apply":"Aplicar","Approve":"Aprovar","Apps and Devices":"Aplicações e dispositivos","Archive":"Arquivo","Archived":"Arquivado","Are you sure you want to archive the selection?":"Tem a certeza que quer arquivar a seleção?","Are you sure you want to delete these albums?":"Tem a certeza que quer excluir esses álbuns?","Are you sure you want to delete these labels?":"Tem a certeza que quer excluir essas etiquetas?","Are you sure you want to delete this account?":"Tem a certeza que quer excluir essa conta?","Are you sure you want to delete this album?":"Tens a certeza de que queres apagar este álbum?","Are you sure you want to permanently delete these pictures?":"Tem a certeza que quer permanentemente apagar estas imagens?","Are you sure you want to permanently delete this file?":"Tem a certeza que quer permanentemente apagar este arquivo?","Are you sure?":"Você tem certeza?","Artist":"Artista","Aspect Ratio":"Proporção da Tela","Audio":"Áudio","Authentication":"Autenticação","Auto":"Automóvel","Back":"Voltar","Back to top":"Volta ao início","Backup":"Cópia de Segurança","Badge":"Crachá","Base Path":"caminho base","Become a member today, support our mission and enjoy our member benefits!":"Torne-se um membro hoje, apoie nossa missão e aproveite nossos benefícios para membros!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Sendo 100% self-fundados e independentes, podemos prometer que nunca venderemos seus dados e que seremos sempre transparentes sobre nossos softwares e serviços.","Bio":"Biografia","Birth Date":"Data de Nascimento","Black":"Preto","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Modificação do Lanczos, resulta em menos artefactos","Blue":"Azul","Brown":"Castanho","Browse":"Navegar","Browse and edit image classification labels.":"Navegar e editar as etiquetas de classificação da imagem.","Browse and share your pictures organized into monthly albums.":"Navega e partilha as tuas fotografias organizadas em álbuns mensais.","Browse Files":"Procurar ficheiros","Browse indexed files and folders in Library.":"Navegar pelos arquivos e pastas indexadas na Biblioteca.","Bug Report":"Relatar erro","Busy, please wait…":"Ocupado, por favor aguarde…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Ao usar o software e os serviços que fornecemos, você concorda com nossos termos de serviço, política de privacidade e código de conduta.","Calendar":"Calendário","Camera":"Câmera","Camera Serial":"Série da Câmera","Can't access your authenticator app or device?":"Não consegues aceder à tua aplicação ou dispositivo autenticador?","Can't load more, limit reached":"Não é possível carregar mais, limite alcançado","Can't select more items":"Não é possível selecionar mais itens","Cancel":"Cancelar","Cannot copy to clipboard":"Não é possível copiar para a área de transferência","Caption":"Legenda","Cards":"Cartões","Carousel slide {0} of {1}":"Slide de carrossel {0} de {1}","Category":"Categoria","Change Avatar":"Mudar Avatar","Change Password":"Alterar Senha","Change personal profile and security settings.":"Mudar o perfil pessoal e as configurações de segurança.","Change photo titles, locations, and other metadata.":"Mudar títulos, localizações e outros dados das fotos.","Change private flag":"Mudar marcação como privado","Changes could not be saved":"As mudanças não foram salvas","Changes successfully saved":"As mudanças foram salvas com sucesso","Changes to the advanced settings require a restart to take effect.":"As alterações às definições avançadas requerem um reinício para terem efeito.","Checked":"Verificado","Chroma":"Croma","Cleaning index and cache":"Limpar o índice e a cache","Cleanup":"Limpeza","Clear {0}":"Limpa {0}","Client":"Cliente","Client Credentials":"Credenciais do cliente","Close":"Fechar","Codec":"Codec","Color":"Cor","Color Profile":"Perfil da cor","Colors":"Cores","Compare Editions":"Comparar Edições","Complete Rescan":"Escaneamento completo","Confidence":"Certeza","Confirm":"confirme","Connect":"Conectar","Connect via WebDAV":"Conectar via WebDAV","Connected":"Conectado","Contact Details":"Detalhes do contato","Contact Us":"Contactar-nos","Contains %{n} pictures.":"Contém %{n} imagens.","Contains one picture.":"Contém uma foto.","Content":"Conteúdo","Continue":"Continuar","Continue with %{provider}":"Continua com %{provider}","Contributor":"Contribuinte","Converting":"A converter","Copied to clipboard":"Copiado para a área de transferência de texto","Copy":"Copiar","Copyright":"Direitos de Autor","Couldn't find anything.":"Não foi encontrado nada.","Country":"País","Create Account":"Criar uma conta","Create album":"Criar álbum","Create regular backups based on the configured schedule.":"Cria cópias de segurança de índices com base na agenda configurada.","Create YAML files to back up album metadata.":"Cria ficheiros YAML para fazer cópias de segurança dos metadados dos álbuns.","Create YAML sidecar files to back up picture metadata.":"Cria ficheiros YAML sidecar para fazer cópias de segurança dos metadados das imagens.","Created":"Criado","Creating thumbnails for":"Criando miniaturas para","Cubic: Moderate Quality, Good Performance":"Cubic: Qualidade razoável, bom desempenho","Current Password":"Senha Atual","Custom":"Personalizado","Cyan":"Ciano","Daily":"Diariamente","Database Backups":"Cópias de segurança da base de dados","Day":"Dia","Deactivate":"Desativar","Debug Logs":"Registros de depuração","Default":"Padrão","Default Folder":"Pasta Padrão","Delete":"Apagar","Delete Album":"Apaga o álbum","Delete All":"Apagar tudo","Delete all?":"Apaga tudo?","Delete orphaned index entries, sidecar files and thumbnails.":"Eliminar entradas de índice órfãs, ficheiros sidecar e miniaturas.","Description":"Descrição","Detailed instructions can be found in our User Guide.":"Instruções detalhadas podem ser encontradas no nosso Guia de Utilizador.","Details":"Detalhes","Dimensions":"Dimensões","Disable Backups":"Desativar Cópias de Segurança","Disable Darktable":"Desativar Darktable","Disable ExifTool":"Desativar ExifTool","Disable features that require write permission for the originals folder.":"Desabilita os recursos que exigem permissão de gravação para a pasta de originais.","Disable FFmpeg":"Desativar FFmpeg","Disable ImageMagick":"Desativar ImageMagick","Disable interactive world maps and reverse geocoding.":"Desactiva os mapas mundiais interactivos e a geocodificação inversa.","Disable Places":"Desativar Lugares","Disable RawTherapee":"Desativar RawTherapee","Disable TensorFlow":"Desativar TensorFlow","Disable Vectors":"Desativar vetores","Disable WebDAV":"Desativar WebDAV","Disables vector graphics support.":"Desativa o suporte a gráficos vetoriais.","Disables video transcoding and thumbnail extraction.":"Desativa a transcodificação de vídeo e a extração de miniaturas.","Discover":"Explorar","Dismiss":"Dispensa","Display Name":"Nome de Exibição","Display picture captions in search results.":"Mostra as legendas das imagens nos resultados da pesquisa.","Display picture titles in search results.":"Apresenta os títulos das imagens nos resultados da pesquisa.","Document":"Documento","Documents":"Documentos","Don't use Darktable to convert RAW images.":"Não use o Darktable para converter arquivos RAW.","Don't use ImageMagick to convert images.":"Não use o ImageMagick para converter imagens.","Don't use RawTherapee to convert RAW images.":"Não use RawTherapee para converter arquivos RAW.","Done":"Concluído","Done.":"Concluído.","Download":"Descarregar","Download only original media files, without any automatically generated files.":"Baixe apenas arquivos de mídia originais, sem nenhum arquivo gerado automaticamente.","Download remote files":"Descarregar arquivos remotos","Download single files and zip archives.":"Descarregar ficheiros individuais e arquivos zip.","Downloading…":"Descarregando…","Downscaling Filter":"Filtro de redimensionamento","Drag and drop files here":"Arrasta e larga ficheiros aqui","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"Devido ao alto volume de e-mails que recebemos, nossa equipe pode não conseguir responder-lhe imediatamente.","Duplicates will be skipped and only appear once.":"Duplicações serão descarregadas e só vão aparecer uma vez.","Duration":"Duração","Dynamic Previews":"Amostras dinâmicas","Dynamic Size Limit: %{n}px":"Tamanho dinâmico limite: %{n}px","E-Mail":"Email","Edit":"Editar","Edit %{s}":"Editar %{s}","Edit Account":"Editar Conta","Edit Photo":"Editar Foto","Edited":"Editado","Email":"E-mail","Enable debug mode to display additional logs and help with troubleshooting.":"Ativa o modo de depuração para apresentar registos adicionais e ajudar na resolução de problemas.","Enable new features that may be incomplete or unstable.":"Habilita novas funcionalidades que podem estar incompletas ou instáveis.","Enables RAW converter presets. May reduce performance.":"Permite predefinições de conversores RAW. Pode reduzir o desempenho.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Ativar a autenticação de dois fatores significa que você precisará de um código de verificação gerado aleatoriamente para fazer login, portanto, mesmo que alguém obtenha acesso à sua senha, não conseguirá acessar sua conta.","Enter date":"Introduzir data","Enter dates":"Introduzir datas","Enter the code generated by your authenticator app:":"Introduz o código gerado pela tua aplicação de autenticação:","Enter verification code":"Digite o código de verificação","Enter your password to confirm the action and continue:":"Digite sua senha para confirmar a ação e continuar:","Error":"Erro","Errors":"Erros","Estimate":"Estimativa","Estimate Locations":"Estimativa de locais","Estimate the approximate location of pictures without GPS coordinates.":"Faz uma estimativa da localização aproximada de imagens sem coordenadas GPS.","Every two days":"A cada dois dias","Exclude content marked as private from search results, shared albums, labels, and places.":"Excluir conteúdo marcado como privado dos resultados da busca, álbuns compartilhados, etiquetas e locais.","Exclude hidden":"Excluir oculto","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"A extração de metadados com o ExifTool é necessária para suporte total de Vídeo, Fotografia em direto e XMP.","Experimental Features":"Funcionalidades experimentais","Expires":"Expira","Exposure":"Exposição","Extract still images and generate thumbnails while indexing.":"Extrai imagens fixas e gera miniaturas durante a indexação.","F Number":"Razão focal","Face":"Face","Faces":"Faces","Failed removing link":"Falha ao remover o link","Failed to connect account.":"Não conseguiste ligar a conta.","Failed updating link":"Falha ao atualizar o link","Family Name":"Nome de família","Fast":"Rápido","Favorite":"Favorito","Favorites":"Favoritos","Feature Request":"Solicitar funcionalidade","Feedback":"Dê a sua opinião","Female":"Feminino","File":"Ficheiro","File Browser":"Explorador de Arquivos","File Conversion":"Conversão de arquivo","File Name":"Nome do arquivo","File Size":"Tamanho do Arquivo","Filename":"Nome do arquivo","Files":"Ficheiro","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Arquivos com nomes sequenciais, como \"IMG_1234 (2)\" ou \"IMG_1234 (3)\" pertencem à mesma foto.","First page":"Primeira página","Focal Length":"Distância Focal","Folder":"Pasta","Folder contains %{n} files":"A pasta contem %{n} arquivos","Folder is empty":"A pasta está vazia","Folders":"Pastas","Forgot password?":"Esqueceu a senha?","FPS":"FPS","Frames":"Quadros","Full Access":"Acesso total","Fullscreen":"Ecrã inteiro","General":"Geral","Generate":"Gerar","Generate albums of special moments, journeys, and places.":"Cria automaticamente álbuns de momentos, viagens e lugares especiais.","Generate Previews":"Gera pré-visualizações","Generated":"Gerado","Get Started":"Começa a trabalhar","Given Name":"Nome dado","Global Options":"Opções Globais","Go to page {0}":"Vai para a página {0}","Gold":"Dourado","Green":"Verde","Grey":"Cinza","Guest":"Convidado","Hash":"Hashe","Help":"Ajuda","Help & Support":"Ajuda & Suporte","Hidden":"Ocultos","Hidden Files":"Arquivos Ocultos","Hide":"Esconder","Hide photos that have been moved to archive.":"Oculte fotos que foram arquivadas.","High":"Alta","High Dynamic Range (HDR)":"Faixa dinâmica alta (HDR)","How can we help?":"Como podemos ajudar?","Hybrid":"Híbrido","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Se você perder o acesso ao seu aplicativo ou dispositivo autenticador, poderá usar seu código de recuperação para recuperar o acesso à sua conta.","Image":"Imagem","Image Quality":"Qualidade da imagem","Import":"Importar","Import failed":"Falha na importação","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Ficheiros importados serão organizados por data e receberão um nome único para evitar duplicações.","Imported files will be sorted by date and given a unique name.":"Ficheiros importados serão organizados por data e receberão um nome único.","Importing %{s}…":"Importando %{s}…","Importing files to originals…":"Importando ficheiros para originais…","in":"em","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"No caso de faltarem as fotos que você espera, por favor, faça uma nova digitalização de sua biblioteca e aguarde até que a indexação seja concluída.","Include RAW image files when downloading stacks and archives.":"Inclua arquivos de imagem RAW ao baixar pilhas e arquivos.","Include sidecar files when downloading stacks and archives.":"Inclua arquivos secundários ao baixar pilhas e arquivos.","Increase storage size or delete files to continue.":"Aumenta o tamanho do armazenamento ou elimina ficheiros para continuar.","Index":"Indexar","Index and import files through the user interface.":"Indexar e importar arquivos através da interface do usuário.","Indexing":"Indexando","Indexing failed":"Falha ao indexar","Indexing media and sidecar files…":"Indexando ficheiro multimédia e secundários…","Information":"Informações","Instance ID":"ID da Instância","Insufficient storage.":"Armazenamento insuficiente.","Interval":"Intervalo","Invalid":"Inválido","Invalid address":"Endereço inválido","Invalid country":"País inválido","Invalid date":"Data inválida","Invalid parameters":"Parâmetros inválidos","Invalid photo selected":"Foto inválida selecionada","Invalid time":"Hora inválida","Invalid URL":"URL inválido","It is a one-time use code that will disable 2FA for your account when you use it.":"É um código de uso único que desativará o 2FA da sua conta quando você o usar.","Item":"Item","Items per page:":"Itens por página:","JPEG Quality: %{n}":"Qualidade JPEG: %{n}","JPEG Size Limit: %{n}px":"Tamanho JPEG limite: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"Imagens JPEG e miniaturas são renderizadas automaticamente conforme necessário.","Keywords":"Palavras-chave","Label":"Etiqueta","Labels":"Etiquetas","Labels deleted":"Etiquetas excluídas","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: Preserva detalhes, poucos artefactos","Language":"Idioma","Last Active":"ativo pela última vez","Last Login":"Último Login","Last page":"Última página","Last Sync":"Última Sincronia","Last Used":"Usado por último","Latitude":"Latitude","LDAP/AD":"LDAP/AD","Learn more":"Saiba mais","Learn More":"Aprende mais","Legal Information":"Informações legais","Lens":"Lente","Library":"Biblioteca","License":"Licença","Like":"Gosto","Lime":"Lima","Limit reached, showing first %{n} files":"Limite alcançado, mostrando os primeiros %{n} arquivos","Linear: Very Smooth, Best Performance":"Linear: Suave, melhor desempenho","Link":"Link","List":"Lista","List View":"Ver lista","Live":"Ao vivo","Live Photos":"Fotos ao vivo","Load more":"Carrega mais","Loading items...":"Carregamento de itens...","Loading...":"Carregamento...","Local":"Local","Local Time":"Hora Local","Location":"Localização","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Mensagens aparecem aqui sempre que o PhotoPrism encontra arquivos com defeito ou outro potencial problema.","Login":"Entrar","Logout":"Sair","Logs":"Registros","Longitude":"Longitude","Low":"Baixo","Magenta":"Magenta","Main Color":"Cor principal","Male":"Masculino","Manage Account":"Gerenciar conta","Manager":"Gerente","Manual":"Manual","Manual Upload":"Envio manual","Maps":"Mapas","Marker":"Marcador","Maximum number of accounts has been reached.":"O número máximo de contas foi atingido.","Media":"Meios de comunicação social","Medium":"Médio","Membership":"Filiação","Merge %{a} with %{b}?":"Fundir %{a} com %{b}?","Message":"Mensagem","Message sent":"Mensagem enviada","Metadata":"Metadados","Metrics":"Métricas","Minimize":"Minimizar","Missing":"Em Falta","Missing or invalid configuration":"Configuração em falta ou inválida","Moments":"Momentos","Monochrome":"Monocromático","Month":"Mês","More options":"Mais opções","Mosaic":"Mosaico","Most Relevant":"Mais Relevante","Move Files":"Mover ficheiro","Must have at least %{n} characters.":"Deve ter pelo menos %{n} caracteres.","Mute":"Silenciar","Name":"Nome","Name too long":"Nome muito extenso","Never":"Nunca","New":"Novo","New Password":"Nova senha","Newest First":"Recentes primeiro","Next":"Seguinte","Next page":"Página seguinte","Next visual":"Próximo visual","No":"Não","No albums found":"Nenhum álbum encontrado","No data available":"Não existem dados disponíveis","No labels found":"Nenhuma etiqueta encontrada","No matching records found":"Não foram encontrados registos correspondentes","No more":"Não mais","No people found":"Nenhuma pessoa encontrada","No pictures found":"Nenhuma foto encontrada","No recently edited pictures":"Nenhuma foto editada recentemente","No results":"Nenhum resultado","No server connection":"Não há ligação ao servidor","No servers configured.":"Nenhum servidor configurado.","No services configured.":"Nenhum serviço configurado.","No thanks":"Não, obrigado(a)","No warnings or error containing this keyword. Note that search is case-sensitive.":"Nenhum alerta ou erro contendo esta palavra-chave. Note que a pesquisa diferencia maiúsculas de minúsculas.","Non-photographic and low-quality images require a review before they appear in search results.":"Imagens de baixa qualidade ou não-fotográficas necessitam de revisão antes de aparecerem nos resultados da pesquisa.","None":"Nenhum","Not allowed":"Não autorizado","Not found":"Não encontrado","Not sorted.":"Não estás classificado.","Not supported":"Não suportado","Note you may manually manage your originals folder and importing is optional.":"Note que você pode gerenciar manualmente sua pasta de originais e a importação é opcional.","Note:":"Nota:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Nota: Apenas servidores WebDAV, tais como Nextcloud ou PhotoPrism, podem ser configurados como serviço remoto para envio de ficheiros e cópias de segurança.","Notes":"Notas","Nothing to see here yet.":"Nada para se ver aqui ainda. Seja paciente.","Nothing was found.":"Nada foi encontrado.","Offline":"Desconectado","OIDC":"OIDC","OK":"OK","Oldest First":"Antigos primeiro","On Windows, enter the following resource in the connection dialog:":"No Windows, digite o seguinte recurso no diálogo de conexão:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"A geração de miniaturas a pedido pode causar uma utilização elevada da CPU e da memória. Não é recomendada para servidores com recursos limitados e dispositivos NAS.","Once a week":"Uma vez por semana","One album found":"Um álbum encontrado","One file found":"Um ficheiro encontrado","One file uploaded":"Um arquivo carregado","One folder found":"Uma pasta encontrada","One label found":"Um rótulo encontrado","One person found":"Uma pessoa encontrada","One picture found":"Uma foto encontrada","Only locally managed accounts can be set up for authentication with 2FA.":"Somente contas gerenciadas localmente podem ser configuradas para autenticação com 2FA.","Open":"Aberto","optional":"opcional","or":"ou","Orange":"Laranja","Organization":"Organização","Orientation":"Orientação","Original file names will be stored and indexed.":"Nomes originais dos arquivos serão armazenados e indexados.","Original Name":"Nome original","Originals":"Originais","Other":"Outro","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Nossa missão é fornecer a solução mais amigável ao usuário e à privacidade para manter suas fotos organizadas e acessíveis.","Outdoor":"Ao ar livre","Page {0}, Current page":"Página {0}, Página atual","Pages":"Páginas","Pagination Navigation":"Navegação de paginação","Panorama":"Panorama","Panoramas":"Panoramas","Password":"Senha","Password changed":"Senha alterada","People":"Pessoas","People you share a link with will be able to view public contents.":"Pessoas com as quais partilha um link poderão ver os conteúdos públicos.","Permanently deleted":"Permanentemente excluídas","Permanently remove files to free up storage.":"Remover ficheiros permanentemente para poupar armazenamento.","Person":"Pessoa","Personal":"Pessoal","Photo":"Foto","PhotoPrism is 100% self-funded and independent.":"PhotoPrism é 100% autofinanciado e independente.","PhotoPrism+ Membership":"Associação PhotoPrism+","Photos":"Fotos","Picture Title":"Título da imagem","Pink":"Rosa","Place":"Lugar","Place & Time":"Lugar & Tempo","Places":"Lugares","Please confirm your new password.":"Por favor, confirme a nova senha.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Copie a seguinte senha de aplicativo gerada aleatoriamente e guarde-a em um local seguro, pois você não poderá vê-la novamente:","Please do not upload any private, unlawful or offensive pictures.":"Não carregue imagens privadas, ilegais ou ofensivas.","Please don't upload photos containing offensive content.":"Por favor, não envie fotos com conteúdo ofensivo.","Please enter OTP character {0}":"Introduz o carácter OTP {0}","Please note that changing your password will log you out on other devices and browsers.":"Por favor, note que a mudança de sua senha fará com que você saia de outros dispositivos e navegadores.","Please restart your instance for the changes to take effect.":"Reinicie sua instância para que as alterações entrem em vigor.","Please wait…":"Por favor, aguarde…","PM":"PM","PNG Size Limit: %{n}px":"Tamanho PNG limite: %{n}px","Portrait":"Retrato","Preserve filenames":"Preservar nomes de ficheiro","Press enter to create a new album.":"Pressione enter para criar um novo álbum.","Prevent database and album backups as well as YAML sidecar files from being created.":"Evita que sejam criadas cópias de segurança da base de dados e do álbum, bem como ficheiros YAML sidecar.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Impede que outras aplicações acedam ao PhotoPrism como uma unidade de rede partilhada.","Preview":"Pré-visualização","Preview Images":"Imagens de pré-visualização","Previous":"Anterior","Previous page":"Página anterior","Previous visual":"Visual anterior","Primary":"Primário","Private":"Privado","Product Feedback":"Opinião sobre o produto","Projection":"Projeção","Purple":"Roxo","Quality Filter":"Filtro de qualidade","Quality Score":"Marcador de qualidade","r":"r","Random":"Aleatório","Rating {0} of {1}":"Classificação {0} de {1}","Raw":"RAW","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Reindexe todos originais, incluindo ficheiros já indexados e não modificados.","Read-Only Mode":"Modo Somente Leitura","Recently Added":"Adicionado recentemente","Recently Archived":"Arquivado recentemente","Recently Edited":"Editado Recentemente","Recognition starts after indexing has been completed.":"O reconhecimento começa após a indexação ter sido concluída.","Recognize faces so people can be assigned and found.":"Reconhece rostos para que pessoas específicas possam ser encontradas.","Recognized":"Reconhecido","Recovery Code":"Código de recuperação","Red":"Vermelho","Refresh":"Refresca-te","Regions":"Regiões","Register":"Registro","Reload":"Recarregar","Reloading…":"Recarregando…","Remote Sync":"Sincronização remota","Remove":"Remover","remove failed: unknown album":"remoção falhou: álbum desconhecido","Remove from Album":"Remover do álbum","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Remover ficheiros já importados ao armazenamento. Tipos de ficheiros não suportados nunca serão apagados, eles continuam na localização atual.","Request failed - are you offline?":"Falha na solicitação - você está offline?","Request failed - invalid response":"Solicitação falhou - resposta inválida","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Exige que as imagens não fotográficas e de baixa qualidade sejam revistas antes de aparecerem nos resultados da pesquisa.","Resolution":"Resolução","Restart":"Reiniciar","Restore":"Restaurar","Restored":"Restaurado","Retry Limit":"Limite de Tentativa","Retype Password":"Re-insira a senha","Review":"Rever","Role":"Papel","Rows per page:":"Linhas por página:","Satellite":"Satélite","Save":"Guardar","Scan":"Pesquisar","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Digitalize o código QR com seu aplicativo autenticador ou use a chave de configuração mostrada abaixo e insira o código de verificação gerado:","Scans":"Pesquisas","Scope":"Âmbito de aplicação","Search":"Pesquisar","Search and display photos on a map.":"Pesquisar e mostrar fotos num mapa.","Season":"Estação","Secret":"Segredo","Security and Access":"Segurança e acesso","Select":"Selecionar","Select a source folder to import files…":"Seleciona uma pasta de origem para importar ficheiros…","Select date":"Selecionar data","Select dates":"Selecionar datas","Select or create an album":"Selecionar ou criar um álbum","Select the files to upload…":"Seleciona os ficheiros a carregar…","Select the folder to be indexed…":"Seleciona a pasta a ser indexada…","Select Time":"Selecionar hora","Selection approved":"Seleção aprovada","Selection archived":"Seleção arquivada","Selection restored":"Seleção restaurada","Sequential Name":"Nome sequencial","Service URL":"URL do serviço","Services":"Serviços","Session":"Sessão","Session ID":"Identificação de sessão","Sessions":"Sessões","Set as Album Cover":"Define como capa do álbum","Settings":"Configurações","Settings saved":"Configurações salvas","Setup":"Configuração","Share":"Partilhar","Share %{s}":"Partilhar %{s}","Share your pictures with other apps and services.":"Compartilhe suas fotos com outros aplicativos e serviços.","Show":"Mostrar","Show all new faces":"Mostrar todos os rostos novos","Show Captions":"Mostrar legendas","Show hidden":"Mostrar oculto","Show less":"Mostrar menos","Show more":"Mostrar mais","Show server logs in Library.":"Mostrar registros do servidor na Biblioteca.","Show Titles":"Mostra os títulos","Sidecar":"Secundários","Sidecar Files":"Ficheiros Sidecar","Sign in":"Entrar","Similar":"Semelhante","Size":"Tamanho","Slideshow":"Apresentação de diapositivos","Slow":"Lento","Software":"Programas","Software Update":"Atualização do software","Something went wrong, try again":"Algo deu errado, tente novamente","Sort by":"Ordenar por","Sort Order":"Ordem de classificação","Sorted ascending.":"Ordenado por ordem crescente.","Sorted descending.":"Ordenado de forma descendente.","Source":"Fonte","Stack":"Pilhas","Stack files sharing the same unique image or instance identifier.":"Empilhar ficheiros com a mesma imagem única ou identificador de instância.","Stack pictures taken at the exact same time and location based on their metadata.":"Empilhar fotos tiradas na mesma hora e local conforme os metadados.","Stackable":"Empilhável","Stacks":"Pilhas","Start":"Iniciar","Start Page":"Página inicial","Static Size Limit: %{n}px":"Tamanho estático limite: %{n}px","Status":"Status","Storage":"Armazenamento","Streets":"Ruas","Subject":"Assunto","Submit":"Submete","Successfully activated":"Ativado com sucesso","Successfully Connected":"Conectado com sucesso","Successfully deleted":"Excluído com sucesso","Successfully verified":"Verificado com sucesso","Super Admin":"superadministrador","Support for additional services, like Google Drive, will be added over time.":"Suporte para serviços adicionais, como Google Drive, serão adicionados oportunamente.","Support Our Mission":"Apoie nossa missão","Sync":"Sincronizar","Sync raw and video files":"Sincronizar ficheiros RAW e vídeos","Taken":"Tirado","Teal":"Azul marinho","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"O TensorFlow é necessário para a classificação de imagens, o reconhecimento facial e a deteção de conteúdos não seguros.","Terrain":"Terreno","Text":"Texto","Text too long":"Texto muito longo","Thank You for Your Support!":"Obrigado por seu apoio!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"É por isso que o PhotoPrism foi desenvolvido desde o início para ser executado onde você precisar, sem comprometer a liberdade, privacidade ou funcionalidade.","The index currently contains %{n} hidden files.":"O índice atualmente contém %{n} ficheiros ocultos.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"O formato delas não é suportado, não foram convertidas para JPEG ainda ou existe duplicação.","Theme":"Tema","This field is required":"Este campo é obrigatório","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Isto monta a pasta de originais como um dispositivo de rede e permite que abra, edite e apague ficheiros a partir do seu computador ou telemóvel como se fossem locais.","Time UTC":"Horário UTC","Time Zone":"Fuso Horário","Timeout":"Tempo esgotado","Title":{"Account":"Título","Photo":"Título","":"Título"},"Title / Position":"Título / Posição","Title too long":"Título muito longo","to":"para","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Para evitar o bloqueio de sua conta, baixe, imprima ou copie este código de recuperação agora e guarde-o em um local seguro.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Para gerar uma nova senha específica do aplicativo, insira o nome e o escopo de autorização do aplicativo e selecione uma data de validade:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Para mudar para um novo aplicativo ou dispositivo autenticador, primeiro desative a autenticação de dois fatores e depois reative-a:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Para atualizar, você pode inserir um código de ativação ou clicar em \"Registrar\" para se inscrever em nosso site:","Today":"Hoje","Toggle View":"Trocar visualização","Token":"Token","Too many files selected":"Demasiados ficheiros seleccionados","Too many requests":"Demasiados pedidos","Troubleshooting":"Resolução de problemas","Try again using other filters or keywords.":"Tente novamente usando outros filtros ou palavras-chave.","Two-factor authentication has been enabled for your account.":"A autenticação de dois fatores foi habilitada para sua conta.","Type":"Tipo","Unable to delete":"Não é possível apagar","Unauthorized":"Não autorizado","Undo":"Desfazer","Unique ID":"ID único","Unknown":"Desconhecido","Unregistered":"Não registrado","Unsorted":"Não classificado","Unstack":"Desempilhar","Updated":"Atualizado","Updating faces":"Atualização de rostos","Updating index":"Atualizando o índice","Updating moments":"Atualizando momentos","Updating picture…":"Atualizando a imagem..","Updating previews":"Atualização de previsões","Updating stacks":"Atualizando pilhas","Upgrade":"Melhoria","Upgrade Now":"Atualize agora","Upload":"Enviar","Upload complete":"Envio finalizado","Upload complete. Indexing…":"Envio finalizado. Indexando…","Upload failed":"Envio falhou","Upload local files":"Enviar ficheiros locais","Upload Path":"Carregar Caminho","Upload to WebDAV and share links with friends.":"Enviar para WebDAV e partilhar links com amigos.","Uploading %{n} of %{t}…":"Enviando %{n} de %{t}…","Uploading photos…":"Enviando fotos…","Uploading…":"A carregar.","Uploads that may contain such images will be rejected automatically.":"Envios que possam conter tais imagens serão rejeitados automaticamente.","Use Presets":"Usar pré-definições","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Use o seguinte código de recuperação para acessar sua conta quando não conseguir gerar um código de verificação válido com seu aplicativo autenticador:","Use your recovery code or contact an administrator for help.":"Utiliza o teu código de recuperação ou contacta um administrador para obter ajuda.","User":"Utilizador","User Guide":"Guia do Usuário","User Interface":"Interface de utilizador","Username":"Nome de utilizador","Users":"Usuários","Vector":"Vetor","Vectors":"vetores","Verification Code":"Código de verificação","Video":"Vídeo","Video Duration":"Duração Vídeo","Videos":"Vídeos","View":"Visualização","View search results as a list.":"Vê os resultados da pesquisa como uma lista.","Viewer":"Visualizador","Visitor":"Visitante","Visual Similarity":"Similaridade visual","Warning":"Aviso","We appreciate your feedback!":"Agradecemos seu feedback!","We do our best to respond within five business days or less.":"Fazemos nosso melhor para responder dentro de cinco dias úteis ou menos.","Web Login":"Login na Web","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"Clientes WebDAV podem conectar-se ao PhotoPrism usando o seguinte endereço:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"Clientes WebDAV, com o explorador do Windows ou do MacOS, pode conectar-se diretamente com o PhotoPrism.","WebDAV Upload":"Envio WebDAV","WebGL support is disabled in your browser":"O suporte WebGL está desativado no teu browser","Website":"Site","White":"Branco","Work Details":"Detalhes do trabalho","Year":"Ano","Yellow":"Amarelo","Yes":"Sim","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Você está convidado a entrar em contato conosco em membership@photoprism.app para perguntas sobre sua associação.","You can only download one album":"Pode descarregar apenas um álbum","You can only download one label":"Pode descarregar apenas uma etiqueta","You can search for a location or move the marker on the map to change the position:":"Podes procurar uma localização ou mover o marcador no mapa para alterar a posição:","You can upload up to %{n} files for test purposes.":"Pode carregar até %{n} ficheiros para fins de teste.","You may only select one item":"Pode descarregar apenas um item","You may rescan your library to find additional faces.":"Você pode voltar a digitalizar sua biblioteca para encontrar rostos adicionais.","Your account has been successfully connected.":"Sua conta foi conectada com sucesso.","Your browser does not support WebGL":"O teu browser não suporta WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Seu apoio contínuo nos ajuda a fornecer atualizações regulares e a permanecer independentes, para que possamos cumprir nossa missão e proteger sua privacidade.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Sua biblioteca é continuamente analisada para criar automaticamente álbuns de momentos, viagens e lugares especiais.","Zoom in/out":"Aproximar/Afastar"}} \ No newline at end of file diff --git a/frontend/src/locales/json/pt_BR.json b/frontend/src/locales/json/pt_BR.json index 9b987bde4..dadc487bf 100644 --- a/frontend/src/locales/json/pt_BR.json +++ b/frontend/src/locales/json/pt_BR.json @@ -1 +1 @@ -{"pt_BR":{"{0} appended action":"{0} ação anexada","{0} files":"{0} arquivos","{0} files ({1} in total)":"{0} arquivos ({1} no total)","{0} more":"{0} mais","{0} prepended action":"{0} ação precedida","{0} selected":"{0} selecionado","{0}-{1} of {2}":"{0}-{1} de {2}","%{n} albums found":"%{n} álbuns encontrados","%{n} files uploaded":"%{n} arquivos enviados","%{n} folders found":"%{n} pastas encontradas","%{n} GB of %{q} GB used":"%{n} GB de %{q} GB usados","%{n} labels found":"%{n} etiquetas encontradas","%{n} people found":"%{n} pessoas encontradas","%{n} pictures found":"%{n} fotos encontradas","%{s} is too long":"%{s} é muito longo","%{s} is too short":"%{s} é muito curto","1 hour":"1 hora","12 hours":"12 horas","2-Factor Authentication":"Autenticação de dois fatores","2FA":"2FA","4 hours":"4 horas","A click will copy it to your clipboard.":"Um clique copiará para sua área de transferência.","A new version of %{s} is available:":"Uma nova versão de %{s} está disponível:","About":"Sobre","Access Token":"Token de acesso","Account":"Conta","Account created":"Conta criada","Account deleted":"Conta excluída","Account restored":"Conta restaurada","Accounts":"Contas","Accuracy":"Precisão","Action":"Ação","Actions":"Ações","Activate":"Ativar","Activate to remove sorting.":"Ative para remover a classificação.","Activate to sort ascending.":"Ative para classificar em ordem crescente.","Activate to sort descending.":"Ative para classificar de forma decrescente.","Activation Code":"Código de ativação","Add":"Adicione","Add %{s}?":"Adicionar %{s}?","Add Account":"Adicionar conta","Add Album":"Adicionar Álbum","Add files to your library via Web Upload.":"Adicionar arquivos à sua biblioteca via Web Upload.","Add Link":"Adicionar Link","Add person?":"Você adicionou uma pessoa?","Add pictures from search results by selecting them.":"Adicione fotos dos resultados da busca selecionando-as.","Add to album":"Adicionar ao álbum","Added":"Adicionado","Admin":"Admin","Advanced":"Avançado","After 1 day":"Depois de 1 dia","After 3 days":"Depois de 3 dias","After 7 days":"Depois de 7 dias","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Depois de inserir sua senha para confirmação, você pode configurar a autenticação de dois fatores com um aplicativo ou dispositivo autenticador compatível:","After one month":"Depois de um mês","After one year":"Depois de um ano","After selecting pictures from search results, you can add them to an album using the context menu.":"Após selecionar as fotos dos resultados da busca, você pode adicioná-las a um álbum usando o menu de contexto.","After two months":"Depois de dois meses","After two weeks":"Depois de duas semanas","Album":"Álbum","Album Backups":"Backups de álbuns","Album created":"Álbum criado","Albums":"Álbuns","Albums deleted":"Álbuns excluídos","All":"Todos","All %{n} albums loaded":"Todos os %{n} álbuns foram carregados","All %{n} labels loaded":"Todas as %{n} etiquetas foram carregadas","All %{n} people loaded":"Todas as pessoas %{n} carregadas","All Cameras":"Todas as Câmeras","All Categories":"Todas as Categorias","All Colors":"Todas as Cores","All Countries":"Todos os Países","All fields are required":"Todos os campos são necessários","All files from import folder":"Todos os arquivos da pasta importada","All Lenses":"Todas as Lentes","All Months":"Todos os Meses","All originals":"Todos os Originais","All Years":"Todos os Anos","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Como alternativa, você pode enviar arquivos diretamente para servidores WebDAV, como Nextcloud.","Altitude":"Altitude","Altitude (m)":"Altitude (m)","AM":"AM","Animated":"Animado","Animation":"Animação","Any private photos and videos remain private and won't be shared.":"Qualquer foto ou vídeo privado continuará privado e não será compartilhado.","API Key":"Chave API","Application":"Aplicativo","Apply":"Aplicar","Approve":"Aprovar","Apps and Devices":"Aplicativos e dispositivos","Archive":"Arquivo","Archived":"Arquivado","Are you sure you want to archive the selection?":"Você tem certeza que deseja arquivar a seleção?","Are you sure you want to delete these albums?":"Você tem certeza que deseja excluir esses álbuns?","Are you sure you want to delete these labels?":"Você tem certeza que deseja excluir essas etiquetas?","Are you sure you want to delete this account?":"Você tem certeza que deseja excluir essa conta?","Are you sure you want to permanently delete these pictures?":"Você tem certeza que deseja permanentemente excluir estas imagens?","Are you sure you want to permanently delete this file?":"Você tem certeza que deseja permanentemente excluir este arquivo?","Are you sure?":"Você tem certeza?","Artist":"Artista","Aspect Ratio":"Proporção da Tela","Audio":"Áudio","Authentication":"Autenticação","Auto":"Automotivo","Back":"Voltar","Back to top":"Voltar ao topo","Backup":"Cópia de Segurança","Badge":"Crachá","Base Path":"Caminho Base","Become a member today, support our mission and enjoy our member benefits!":"Torne-se um membro hoje, apoie nossa missão e desfrute dos benefícios de nossos membros!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Sendo 100% self-fundados e independentes, podemos prometer que nunca venderemos seus dados e que seremos sempre transparentes sobre nossos softwares e serviços.","Bio":"Biografia","Birth Date":"Data de Nascimento","Black":"Preto","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Modificação do Lanczos, resulta em menos artefatos","Blue":"Azul","Brown":"Marrom","Browse":"Navegar","Browse and edit image classification labels.":"Navegar e editar as etiquetas de classificação da imagem.","Browse and share your pictures organized into monthly albums.":"Navegue e compartilhe suas fotos organizadas em álbuns mensais.","Browse Files":"Procurar arquivos","Browse indexed files and folders in Library.":"Navegar pelos arquivos e pastas indexadas na Biblioteca.","Bug Report":"Relatar erro","Busy, please wait…":"Ocupado, por favor espere…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Ao utilizar o software e os serviços que fornecemos, você concorda com nossos termos de serviço, política de privacidade e código de conduta.","Calendar":"Calendário","Camera":"Câmera","Camera Serial":"Série da Câmera","Can't access your authenticator app or device?":"Você não consegue acessar o aplicativo ou o dispositivo autenticador?","Can't load more, limit reached":"Não é possível carregar mais, limite alcançado","Can't select more items":"Não é possível selecionar mais itens","Cancel":"Cancelar","Caption":"Legenda","Cards":"Cartões","Carousel slide {0} of {1}":"Slide de carrossel {0} de {1}","Category":"Categoria","Change Avatar":"Mudar Avatar","Change Password":"Alterar Senha","Change personal profile and security settings.":"Mudar o perfil pessoal e as configurações de segurança.","Change photo titles, locations, and other metadata.":"Mudar títulos, localizações e outros dados das fotos.","Change private flag":"Mudar marcação como privado","Changes could not be saved":"As mudanças não foram salvas","Changes successfully saved":"As mudanças foram salvas com sucesso","Changes to the advanced settings require a restart to take effect.":"As alterações nas configurações avançadas exigem que você reinicie o sistema para entrar em vigor.","Checked":"Checado","Chroma":"Croma","Cleaning index and cache":"Limpeza do índice e do cache","Cleanup":"Limpeza","Clear {0}":"Limpar {0}","Client":"Cliente","Client Credentials":"Credenciais do cliente","Close":"Fechar","Codec":"Codec","Color":"Cor","Color Profile":"Perfil da cor","Colors":"Cores","Compare Editions":"Compare as Edições","Complete Rescan":"Escanear completamente novamente","Confidence":"Certeza","Confirm":"confirme","Connect":"Conectar","Connect via WebDAV":"Conectar via WebDAV","Connected":"Conectado","Contact Details":"Detalhes do contato","Contact Us":"Entrar em contato","Contains %{n} pictures.":"Contém %{n} imagens.","Contains one picture.":"Contém uma foto.","Content":"Conteúdo","Continue":"Continuar","Continue with %{provider}":"Continuar com %{provider}","Contributor":"Contribuinte","Converting":"Convertendo","Copied to clipboard":"Copiado para a área de transferência de texto","Copy":"Copiar","Copyright":"Direitos Autorais","Couldn't find anything.":"Não foi possível encontrar nada.","Country":"País","Create Account":"Criar conta","Create album":"Criar álbum","Create regular backups based on the configured schedule.":"Criar backups de índices com base na programação configurada.","Create YAML files to back up album metadata.":"Crie arquivos YAML para fazer backup dos metadados do álbum.","Create YAML sidecar files to back up picture metadata.":"Crie arquivos YAML sidecar para fazer backup dos metadados da imagem.","Created":"Criado","Creating thumbnails for":"Criando miniaturas para","Cubic: Moderate Quality, Good Performance":"Cubic: Qualidade razoável, bom desempenho","Current Password":"Senha Atual","Custom":"Personalizado","Cyan":"Ciano","Daily":"Diariamente","Database Backups":"Backups de banco de dados","Day":"Dia","Deactivate":"Desativar","Debug Logs":"Registros de depuração","Default":"Padrão","Default Folder":"Pasta Padrão","Delete":"Excluir","Delete All":"Excluir tudo","Delete all?":"Excluir tudo?","Delete orphaned index entries, sidecar files and thumbnails.":"Exclua entradas de índice órfãs, arquivos sidecar e miniaturas.","Description":"Descrição","Detailed instructions can be found in our User Guide.":"Instruções detalhadas podem ser encontradas no nosso Guia de Usuário.","Details":"Detalhes","Dimensions":"Dimensões","Disable Backups":"Desativar Cópias de Segurança","Disable Darktable":"Desativar Darktable","Disable ExifTool":"Desativar ExifTool","Disable features that require write permission for the originals folder.":"Desative os recursos que exigem permissão de gravação para a pasta de originais.","Disable FFmpeg":"Desativar FFmpeg","Disable ImageMagick":"Desativar ImageMagick","Disable interactive world maps and reverse geocoding.":"Desative os mapas mundiais interativos e a geocodificação reversa.","Disable Places":"Desativar Lugares","Disable RawTherapee":"Desativar RawTherapee","Disable TensorFlow":"Desativar TensorFlow","Disable Vectors":"Vetores de Desativação","Disable WebDAV":"Desativar WebDAV","Disables vector graphics support.":"Desativa o suporte de gráficos vetoriais.","Disables video transcoding and thumbnail extraction.":"Desativa a transcodificação de vídeo e a extração de miniaturas.","Discover":"Descobrir","Dismiss":"Dispensar","Display Name":"Nome de Exibição","Display picture captions in search results.":"Exibir legendas de imagens nos resultados de pesquisa.","Display picture titles in search results.":"Exibir títulos de imagens nos resultados de pesquisa.","Document":"Documento","Documents":"Documentos","Don't use Darktable to convert RAW images.":"Não use o Darktable para converter imagens RAW.","Don't use ImageMagick to convert images.":"Não use o ImageMagick para converter imagens.","Don't use RawTherapee to convert RAW images.":"Não use RawTherapee para converter imagens RAW.","Done":"Concluído","Done.":"Concluído.","Download":"Baixar","Download only original media files, without any automatically generated files.":"Baixe somente arquivos de mídia originais, sem nenhum arquivo gerado automaticamente.","Download remote files":"Baixar arquivos remotos","Download single files and zip archives.":"Baixar arquivos individuais e zip.","Downloading…":"Baixando…","Downscaling Filter":"Filtro de redimensionamento","Drag and drop files here":"Arraste e solte arquivos aqui","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"Devido ao alto volume de e-mails que recebemos, nossa equipe pode não conseguir responder-lhe imediatamente.","Duplicates will be skipped and only appear once.":"Duplicatas serão puladas e só aparecerão uma vez.","Duration":"Duração","Dynamic Previews":"Amostras dinâmicas","Dynamic Size Limit: %{n}px":"Tamanho dinâmico limite: %{n}px","E-Mail":"Email","Edit":"Editar","Edit %{s}":"Editar %{s}","Edit Account":"Editar Conta","Edit Photo":"Editar Foto","Edited":"Editado","Email":"E-mail","Enable debug mode to display additional logs and help with troubleshooting.":"Ative o modo de depuração para exibir logs adicionais e ajudar na solução de problemas.","Enable new features that may be incomplete or unstable.":"Habilitar novos recursos que podem estar incompletos ou instáveis.","Enables RAW converter presets. May reduce performance.":"Permite predefinições de conversores RAW. Pode reduzir o desempenho.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Ativar a autenticação de dois fatores significa que você precisará de um código de verificação gerado aleatoriamente para fazer login, portanto, mesmo que alguém obtenha acesso à sua senha, não conseguirá acessar sua conta.","Enter date":"Insira a data","Enter dates":"Inserir datas","Enter the code generated by your authenticator app:":"Digite o código gerado pelo aplicativo autenticador:","Enter verification code":"Digite o código de verificação","Enter your password to confirm the action and continue:":"Digite sua senha para confirmar a ação e continuar:","Error":"Erro","Errors":"Erros","Estimate":"Estimativa","Estimate Locations":"Locais de estimativa","Estimate the approximate location of pictures without GPS coordinates.":"Estimar a localização aproximada de imagens sem coordenadas de GPS.","Every two days":"A cada dois dias","Exclude content marked as private from search results, shared albums, labels, and places.":"Excluir conteúdo marcado como privado dos resultados da busca, álbuns compartilhados, etiquetas e locais.","Exclude hidden":"Excluir oculto","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"A extração de metadados com o ExifTool é necessária para que você tenha suporte total a vídeo, foto ao vivo e XMP.","Experimental Features":"Funcionalidades experimentais","Expires":"Expira","Exposure":"Exposição","Extract still images and generate thumbnails while indexing.":"Extraia imagens estáticas e gere miniaturas durante a indexação.","F Number":"Razão focal","Face":"Rosto","Faces":"Rostos","Failed removing link":"Falha ao remover o link","Failed to connect account.":"Falha ao conectar a conta.","Failed updating link":"Falha ao atualizar o link","Family Name":"Nome de família","Fast":"Rápido","Favorite":"Favorito","Favorites":"Favoritos","Feature Request":"Solicitar funcionalidade","Feedback":"Dê sua opinião","Female":"Feminino","File":"Arquivo","File Browser":"Explorador de Arquivos","File Conversion":"Conversão de arquivos","File Name":"Nome do arquivo","File Size":"Tamanho do Arquivo","Filename":"Nome do arquivo","Files":"Arquivos","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Arquivos com nomes sequenciais, como \"IMG_1234 (2)\" ou \"IMG_1234 (3)\" pertencem à mesma foto.","First page":"Primeira página","Focal Length":"Distância Focal","Folder":"Pasta","Folder contains %{n} files":"A pasta contem %{n} arquivos","Folder is empty":"A pasta está vazia","Folders":"Pastas","Forgot password?":"Esqueceu a senha?","FPS":"FPS","Frames":"Quadros","Full Access":"Acesso total","Fullscreen":"Tela Cheia","General":"Geral","Generate":"Gerar","Generate albums of special moments, journeys, and places.":"Cria automaticamente álbuns de momentos, viagens e lugares especiais.","Generate Previews":"Gerar visualizações","Generated":"Gerado","Get Started":"Começar a usar","Given Name":"Nome dado","Global Options":"Opções globais","Go to page {0}":"Ir para a página {0}","Gold":"Dourado","Green":"Verde","Grey":"Cinza","Guest":"Convidado","Hash":"Hashe","Help":"Ajuda","Help & Support":"Ajuda & Suporte","Hidden":"Ocultos","Hidden Files":"Arquivos Ocultos","Hide":"Esconder","Hide photos that have been moved to archive.":"Oculte fotos que foram arquivadas.","High":"Alta","High Dynamic Range (HDR)":"Faixa dinâmica alta (HDR)","How can we help?":"Como podemos ajudar?","Hybrid":"Híbrido","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Se você perder o acesso ao seu aplicativo ou dispositivo autenticador, poderá usar seu código de recuperação para recuperar o acesso à sua conta.","Image":"Imagem","Image Quality":"Qualidade de imagem","Import":"Importar","Import failed":"Falha na importação","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Arquivos importados serão organizados por data e receberão um nome único para evitar duplicatas.","Imported files will be sorted by date and given a unique name.":"Arquivos importados serão organizados por data e receberão um nome único.","Importing %{s}…":"Importando %{s}…","Importing files to originals…":"Importando arquivos para originais…","in":"em","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"No caso de faltarem as fotos que você espera, por favor, faça uma nova digitalização de sua biblioteca e aguarde até que a indexação seja concluída.","Include RAW image files when downloading stacks and archives.":"Incluir arquivos de imagem RAW ao baixar pilhas e arquivos.","Include sidecar files when downloading stacks and archives.":"Incluir arquivos sidecar ao baixar pilhas e arquivos.","Increase storage size or delete files to continue.":"Aumente o tamanho do armazenamento ou exclua arquivos para continuar.","Index":"Indexar","Index and import files through the user interface.":"Indexar e importar arquivos através da interface do usuário.","Indexing":"Indexando","Indexing failed":"Falha ao indexar","Indexing media and sidecar files…":"Indexando arquivos de mídia e secundários…","Information":"Informações","Instance ID":"ID da Instância","Insufficient storage.":"Armazenamento insuficiente.","Interval":"Intervalo","Invalid":"Inválido","Invalid address":"Endereço inválido","Invalid country":"País inválido","Invalid date":"Data inválida","Invalid parameters":"Parâmetros inválidos","Invalid photo selected":"Foto inválida selecionada","Invalid time":"Hora inválida","Invalid URL":"URL inválido","It is a one-time use code that will disable 2FA for your account when you use it.":"É um código de uso único que desativará o 2FA da sua conta quando você o usar.","Item":"Item","Items per page:":"Itens por página:","JPEG Quality: %{n}":"Qualidade JPEG: %{n}","JPEG Size Limit: %{n}px":"Tamanho JPEG limite: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"Imagens JPEG e miniaturas são renderizadas automaticamente conforme necessário.","Keywords":"Palavras-chave","Label":"Etiqueta","Labels":"Etiquetas","Labels deleted":"Etiquetas excluídas","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: Preserva detalhes, poucos artefatos","Language":"Idioma","Last Active":"Último ativo","Last Login":"Último Login","Last page":"Última página","Last Sync":"Última Sincronia","Last Used":"Usado por último","Latitude":"Latitude","LDAP/AD":"LDAP/AD","Learn more":"Saiba mais","Learn More":"Saiba mais","Legal Information":"Informações legais","Lens":"Lente","Library":"Biblioteca","License":"Licença","Like":"Gostar","Lime":"Lima","Limit reached, showing first %{n} files":"Limite alcançado, mostrando os primeiros %{n} arquivos","Linear: Very Smooth, Best Performance":"Linear: Suave, melhor desempenho","Link":"Link","List":"Lista","List View":"Exibição de lista","Live":"Ao vivo","Live Photos":"Fotos ao vivo","Load more":"Carregar mais","Loading items...":"Carregando itens...","Loading...":"Carregando...","Local":"Local","Local Time":"Hora Local","Location":"Localização","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Mensagens aparecem aqui sempre que o PhotoPrism encontra arquivos defeituosos ou existe a possibilidade de outros problemas.","Login":"Entrar","Logout":"Sair","Logs":"Registros","Longitude":"Longitute","Low":"Baixo","Magenta":"Magenta","Main Color":"Cor principal","Male":"Masculino","Manage Account":"Gerenciar conta","Manual":"Manual","Manual Upload":"Envio manual","Maps":"Mapas","Marker":"Marcador","Maximum number of accounts has been reached.":"O número máximo de contas foi atingido.","Media":"Mídia","Medium":"Médio","Membership":"Filiação","Merge %{a} with %{b}?":"Fundir %{a} com %{b}?","Message":"Mensagem","Message sent":"Mensagem enviada","Metadata":"Metadados","Metrics":"Métricas","Minimize":"Minimizar","Missing":"Faltando","Missing or invalid configuration":"Configuração ausente ou inválida","Moments":"Momentos","Monochrome":"Monocromático","Month":"Mês","More options":"Mais opções","Mosaic":"Mosáico","Most Relevant":"Mais Relevante","Move Files":"Mover arquivos","Must have at least %{n} characters.":"Deve ter pelo menos %{n} caracteres.","Mute":"Mudo","Name":"Nome","Name too long":"Nome muito extenso","Never":"Nunca","New":"Novo","New Password":"Nova senha","Newest First":"Recentes primeiro","Next":"Próximo","Next page":"Próxima página","Next visual":"Próximo visual","No":"Não","No albums found":"Nenhum álbum encontrado","No data available":"Não há dados disponíveis","No labels found":"Nenhuma etiqueta encontrada","No matching records found":"Não foram encontrados registros correspondentes","No more":"Não mais","No people found":"Nenhuma pessoa encontrada","No pictures found":"Nenhuma foto encontrada","No recently edited pictures":"Nenhuma foto editada recentemente","No server connection":"Sem conexão com o servidor","No servers configured.":"Nenhum servidor configurado.","No services configured.":"Nenhum serviço configurado.","No thanks":"Não, obrigado(a)","No warnings or error containing this keyword. Note that search is case-sensitive.":"Nenhum alerta ou erro contento esta palavra-chave. Note que a busca diferencia maiúsculas de minísculas.","Non-photographic and low-quality images require a review before they appear in search results.":"Imagens de baixa qualidade ou não-fotográficas necessitam de revisão antes de aparecerem nos resultados de busca.","None":"Nenhum","Not allowed":"Não permitido","Not found":"Não encontrado","Not sorted.":"Não classificado.","Not supported":"Não suportado","Note you may manually manage your originals folder and importing is optional.":"Note que você pode gerenciar manualmente sua pasta de originais e a importação é opcional.","Note:":"Nota:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Nota: Apenas servidores WebDAV, tais como Nextcloud ou PhotoPrism, podem ser configurados como serviço remoto para envio de arquivos e cópias de segurança.","Notes":"Notas","Nothing to see here yet.":"Nada para se ver aqui ainda. Seja paciente.","Nothing was found.":"Nada foi encontrado.","Offline":"Desconectado","OIDC":"OIDC","OK":"OK","Oldest First":"Antigos primeiro","On Windows, enter the following resource in the connection dialog:":"No Windows, digite o seguinte recurso no diálogo de conexão:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"A geração de miniaturas sob demanda pode causar alto uso de CPU e memória. Não é recomendado para servidores e dispositivos NAS com recursos limitados.","Once a week":"Uma vez por semana","One album found":"Um álbum encontrado","One file found":"Um arquivo encontrado","One file uploaded":"Um arquivo carregado","One folder found":"Uma pasta encontrada","One label found":"Um rótulo encontrado","One person found":"Uma pessoa encontrada","One picture found":"Uma foto encontrada","Only locally managed accounts can be set up for authentication with 2FA.":"Somente contas gerenciadas localmente podem ser configuradas para autenticação com 2FA.","Open":"Aberto","optional":"opcional","or":"ou","Orange":"Laranjado","Organization":"Organização","Orientation":"Orientação","Original file names will be stored and indexed.":"Nomes originais dos arquivos serão armazenados e indexados.","Original Name":"Nome original","Originals":"Originais","Other":"Outro","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Nossa missão é fornecer a solução mais amigável ao usuário e à privacidade para manter suas fotos organizadas e acessíveis.","Outdoor":"Ao ar livre","Page {0}, Current page":"Página {0}, página atual","Pages":"Páginas","Pagination Navigation":"Navegação de paginação","Panorama":"Panorama","Panoramas":"Panoramas","Password":"Senha","Password changed":"Senha alterada","People":"Pessoas","People you share a link with will be able to view public contents.":"Pessoas com as quais você compartilha um link poderão ver os conteúdos públicos.","Permanently deleted":"Permanentemente excluídas","Permanently remove files to free up storage.":"Remover arquivos permanentemente para poupar armazenamento.","Person":"Pessoa","Personal":"Pessoal","Photo":"Foto","PhotoPrism is 100% self-funded and independent.":"O PhotoPrism é 100% autofinanciado e independente.","PhotoPrism+ Membership":"FotoPrism+ Filiação","Photos":"Fotos","Picture Title":"Título da imagem","Pink":"Rosa","Place":"Lugar","Place & Time":"Lugar & Tempo","Places":"Lugares","Please confirm your new password.":"Por favor, confirme sua nova senha.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Copie a seguinte senha de aplicativo gerada aleatoriamente e guarde-a em um local seguro, pois você não poderá vê-la novamente:","Please do not upload any private, unlawful or offensive pictures.":"Não faça upload de fotos particulares, ilegais ou ofensivas.","Please don't upload photos containing offensive content.":"Por favor, não envie fotos com conteúdo ofensivo.","Please enter OTP character {0}":"Por favor, digite o caractere OTP {0}","Please note that changing your password will log you out on other devices and browsers.":"Por favor, note que a mudança de sua senha fará com que você saia de outros dispositivos e navegadores.","Please restart your instance for the changes to take effect.":"Por favor, reinicie seu exemplo para que as mudanças tenham efeito.","Please wait…":"Por favor, aguarde…","PM":"PM","PNG Size Limit: %{n}px":"Tamanho PNG limite: %{n}px","Portrait":"Retrato","Preserve filenames":"Preservar nomes de arquivo","Press enter to create a new album.":"Pressione enter para criar um novo álbum.","Prevent database and album backups as well as YAML sidecar files from being created.":"Impedir que sejam criados backups de bancos de dados e álbuns, bem como arquivos sidecar YAML.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Impedir que outros aplicativos acessem o PhotoPrism como uma unidade de rede compartilhada.","Preview":"Pré-visualização","Preview Images":"Imagens de visualização","Previous":"Anterior","Previous page":"Página anterior","Previous visual":"Visual anterior","Primary":"Primário","Private":"Privado","Product Feedback":"Opinião sobre o produto","Projection":"Projeção","Purple":"Roxo","Quality Filter":"Filtro de qualidade","Quality Score":"Marcador de qualidade","r":"r","Random":"Aleatório","Rating {0} of {1}":"Classificação {0} de {1}","Raw":"RAW","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Reindexe todos originais, incluindo arquivos já indexados e não modificados.","Read-Only Mode":"Modo Somente Leitura","Recently Added":"Adicionado recentemente","Recently Archived":"Arquivado recentemente","Recently Edited":"Editado Recentemente","Recognition starts after indexing has been completed.":"O reconhecimento começa após a indexação ter sido concluída.","Recognize faces so people can be assigned and found.":"Reconhece rostos para que pessoas específicas possam ser encontradas.","Recognized":"Reconhecido","Recovery Code":"Código de recuperação","Red":"Vermelho","Refresh":"Atualizar","Regions":"Regiões","Register":"Registre-se","Reload":"Recarregar","Reloading…":"Recarregando…","Remote Sync":"Sincronização remota","Remove":"Remover","remove failed: unknown album":"remoção falhou: álbum desconhecido","Remove from Album":"Remover do álbum","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Remover arquivos já importados ao armazenamento. Tipos de arquivo não suportados nunca serão apagados, eles continuam na sua localização atual.","Request failed - are you offline?":"O pedido falhou - você está offline?","Request failed - invalid response":"Solicitação falhou - resposta inválida","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Exigir que imagens não fotográficas e de baixa qualidade sejam revisadas antes de serem exibidas nos resultados de pesquisa.","Resolution":"Resolução","Restart":"Reinicie","Restore":"Restaurar","Restored":"Restaurado","Retry Limit":"Limite de Tentativa","Retype Password":"Reinsira a senha","Review":"Revisar","Role":"Papel","Rows per page:":"Linhas por página:","Satellite":"Satélite","Save":"Salvar","Scan":"Buscar","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Digitalize o código QR com seu aplicativo autenticador ou use a chave de configuração mostrada abaixo e insira o código de verificação gerado:","Scans":"Escaneadas","Scope":"Escopo","Search":"Pesquisar","Search and display photos on a map.":"Pesquisar e mostrar fotos num mapa.","Season":"Estação","Secret":"Segredo","Security and Access":"Segurança e acesso","Select":"Selecionar","Select a source folder to import files…":"Selecione uma pasta de origem para importar arquivos…","Select date":"Selecione a data","Select dates":"Selecione as datas","Select or create an album":"Selecione ou crie um álbum","Select the files to upload…":"Selecione os arquivos a serem carregados…","Select the folder to be indexed…":"Selecione a pasta a ser indexada…","Select Time":"Selecione o horário","Selection approved":"Seleção aprovada","Selection archived":"Seleção arquivada","Selection restored":"Seleção restaurada","Sequential Name":"Nome sequencial","Service URL":"URL do serviço","Services":"Serviços","Session":"Sessão","Session ID":"ID da sessão","Sessions":"Sessões","Set as Album Cover":"Definir como capa do álbum","Settings":"Configurações","Settings saved":"Configurações salvas","Setup":"Configurar","Share":"Compartilhar","Share %{s}":"Compartilhar %{s}","Share your pictures with other apps and services.":"Compartilhe suas fotos com outros aplicativos e serviços.","Show":"Mostrar","Show all new faces":"Mostrar todos os rostos novos","Show Captions":"Mostrar legendas","Show hidden":"Mostrar oculto","Show less":"Mostrar menos","Show more":"Mostrar mais","Show server logs in Library.":"Mostrar registros do servidor na Biblioteca.","Show Titles":"Mostrar títulos","Sidecar":"Secundários","Sidecar Files":"Arquivos Sidecar","Sign in":"Entrar","Similar":"Semelhante","Size":"Tamanho","Slideshow":"Apresentação de slides","Slow":"Lento","Software":"Software","Software Update":"Atualização de software","Something went wrong, try again":"Algo deu errado, tente novamente","Sort by":"Ordenar por","Sort Order":"Ordem de classificação","Sorted ascending.":"Classificado em ordem crescente.","Sorted descending.":"Ordenado de forma descendente.","Source":"Fonte","Stack":"Pilhas","Stack files sharing the same unique image or instance identifier.":"Empilhar arquivos com a mesma imagem única ou identificador de instância.","Stack pictures taken at the exact same time and location based on their metadata.":"Empilhar fotos tiradas na mesma hora e local conforme os metadados.","Stackable":"Empilhável","Stacks":"Pilhas","Start":"Iniciar","Start Page":"Página inicial","Static Size Limit: %{n}px":"Tamanho estático limite: %{n}px","Status":"Status","Storage":"Armazenamento","Streets":"Ruas","Subject":"Assunto","Submit":"Enviar","Successfully activated":"Ativado com sucesso","Successfully Connected":"Conectado com sucesso","Successfully deleted":"Eliminado com sucesso","Successfully verified":"Verificado com sucesso","Super Admin":"Super Admin","Support for additional services, like Google Drive, will be added over time.":"Suporte para serviços adicionais, como Google Drive, serão adicionados oportunamente.","Support Our Mission":"Apoiar nossa missão","Sync":"Sincronizar","Sync raw and video files":"Sincronizar imagens e vídeos RAW","Taken":"Tirado","Teal":"Azul marinho","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"O TensorFlow é necessário para classificação de imagens, reconhecimento facial e detecção de conteúdo inseguro.","Terrain":"Terreno","Text":"Texto","Text too long":"Texto muito longo","Thank You for Your Support!":"Obrigado por seu apoio!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"É por isso que o PhotoPrism foi construído desde o início para funcionar onde você precisar, sem comprometer a liberdade, a privacidade ou a funcionalidade.","The index currently contains %{n} hidden files.":"O índice atualmente contém %{n} arquivos ocultos.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"O formato delas não é suportado, elas não foram convertidas para JPEG ainda ou existe duplicação.","Theme":"Tema","This field is required":"Este campo é obrigatório","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Isto monta a pasta de originais como um dispositivo de rede e permite que você abra, edite e apague arquivos a partir do seu computador ou celular como se fosses locais.","Time UTC":"Horário UTC","Time Zone":"Fuzo Horário","Timeout":"Tempo esgotado","Title":{"Account":"Título","Photo":"Título","":"Título"},"Title / Position":"Título / Posição","Title too long":"Título muito longo","to":"para","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Para evitar o bloqueio de sua conta, baixe, imprima ou copie este código de recuperação agora e guarde-o em um local seguro.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Para gerar uma nova senha específica do aplicativo, insira o nome e o escopo de autorização do aplicativo e selecione uma data de validade:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Para mudar para um novo aplicativo ou dispositivo autenticador, primeiro desative a autenticação de dois fatores e depois reative-a:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Para atualizar, você pode digitar um código de ativação ou clicar em \"Registrar\" para se inscrever em nosso site:","Today":"Hoje","Toggle View":"Trocar visualização","Token":"Token","Too many files selected":"Muitos arquivos selecionados","Too many requests":"Muitas solicitações","Troubleshooting":"Solução de problemas","Try again using other filters or keywords.":"Tente novamente usando outros filtros ou palavras-chave.","Two-factor authentication has been enabled for your account.":"A autenticação de dois fatores foi habilitada para sua conta.","Type":"Tipo","Unauthorized":"Não autorizado","Undo":"Desfazer","Unique ID":"ID único","Unknown":"Desconhecido","Unregistered":"Não registrado","Unsorted":"Não classificado","Unstack":"Desempilhar","Updated":"Atualizado","Updating faces":"Atualização de rostos","Updating index":"Atualizando índice","Updating moments":"Atualizando momentos","Updating picture…":"Atualizando a imagem..","Updating previews":"Atualização de visualizações","Updating stacks":"Atualizando pilhas","Upgrade":"Atualização","Upgrade Now":"Atualização agora","Upload":"Enviar","Upload complete":"Envio finalizado","Upload complete. Indexing…":"Envio finalizado. Indexando…","Upload failed":"Envio falhou","Upload local files":"Enviar arquivos locais","Upload Path":"Caminho de Upload","Upload to WebDAV and share links with friends.":"Enviar para WebDAV e compartilhar links com amigos.","Uploading %{n} of %{t}…":"Enviando %{n} de %{t}…","Uploading photos…":"Enviando fotos…","Uploading…":"Carregando…","Uploads that may contain such images will be rejected automatically.":"Envios que possam conter tais imagens serão rejeitados automaticamente.","Use Presets":"Usar pré-definições","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Use o seguinte código de recuperação para acessar sua conta quando não conseguir gerar um código de verificação válido com seu aplicativo autenticador:","Use your recovery code or contact an administrator for help.":"Use o código de recuperação ou entre em contato com um administrador para obter ajuda.","User":"Usuário","User Guide":"Guia do Usuário","User Interface":"Interface de usuário","Username":"Nome de usuário","Users":"Usuários","Vector":"Vetor","Vectors":"Vetores","Verification Code":"Código de verificação","Video":"Vídeo","Video Duration":"Duração Vídeo","Videos":"Vídeos","View":"Visualização","View search results as a list.":"Exibir os resultados da pesquisa como uma lista.","Viewer":"Visualizador","Visitor":"Visitante","Visual Similarity":"Similaridade visual","Warning":"Advertência","We appreciate your feedback!":"Agradecemos seu feedback!","We do our best to respond within five business days or less.":"Fazemos nosso melhor para responder dentro de cinco dias úteis ou menos.","Web Login":"Login na Web","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"Clientes WebDAV podem se conectar ao PhotoPrism usando a seguinte URL:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"Clientes WebDAV, como Windows Explorer e o Finder da Apple, podem se conectar diretamente com o PhotoPrism.","WebDAV Upload":"Envio WebDAV","WebGL support is disabled in your browser":"O suporte a WebGL está desativado em seu navegador","Website":"Site","White":"Branco","Work Details":"Detalhes do trabalho","Year":"Ano","Yellow":"Amarelo","Yes":"Sim","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Você é bem-vindo a entrar em contato conosco pelo e-mail membership@photoprism.app para perguntas relativas à sua filiação.","You can only download one album":"Você pode baixar apenas um álbum","You can only download one label":"Você pode baixar apenas uma etiqueta","You can upload up to %{n} files for test purposes.":"Você pode carregar até %{n} arquivos para fins de teste.","You may only select one item":"Você pode selecionar apenas um item","You may rescan your library to find additional faces.":"Você pode voltar a digitalizar sua biblioteca para encontrar rostos adicionais.","Your account has been successfully connected.":"Sua conta foi conectada com sucesso.","Your browser does not support WebGL":"Seu navegador não é compatível com WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Seu apoio contínuo nos ajuda a fornecer atualizações regulares e a permanecer independentes, para que possamos cumprir nossa missão e proteger sua privacidade.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Sua biblioteca é continuamente analisada para criar automaticamente álbuns de momentos, viagens e lugares especiais.","Zoom in/out":"Aproximar/Afastar"}} \ No newline at end of file +{"pt_BR":{"{0} appended action":"{0} ação anexada","{0} files":"{0} arquivos","{0} files ({1} in total)":"{0} arquivos ({1} no total)","{0} more":"{0} mais","{0} prepended action":"{0} ação precedida","{0} selected":"{0} selecionado","{0}-{1} of {2}":"{0}-{1} de {2}","%{n} albums found":"%{n} álbuns encontrados","%{n} files uploaded":"%{n} arquivos enviados","%{n} folders found":"%{n} pastas encontradas","%{n} GB of %{q} GB used":"%{n} GB de %{q} GB usados","%{n} labels found":"%{n} etiquetas encontradas","%{n} people found":"%{n} pessoas encontradas","%{n} pictures found":"%{n} fotos encontradas","%{s} is too long":"%{s} é muito longo","%{s} is too short":"%{s} é muito curto","1 hour":"1 hora","12 hours":"12 horas","2-Factor Authentication":"Autenticação de dois fatores","2FA":"2FA","4 hours":"4 horas","A click will copy it to your clipboard.":"Um clique copiará para sua área de transferência.","A new version of %{s} is available:":"Uma nova versão de %{s} está disponível:","About":"Sobre","Access Token":"Token de acesso","Account":"Conta","Account created":"Conta criada","Account deleted":"Conta excluída","Account restored":"Conta restaurada","Accounts":"Contas","Accuracy":"Precisão","Action":"Ação","Actions":"Ações","Activate":"Ativar","Activate to remove sorting.":"Ative para remover a classificação.","Activate to sort ascending.":"Ative para classificar em ordem crescente.","Activate to sort descending.":"Ative para classificar de forma decrescente.","Activation Code":"Código de ativação","Add":"Adicione","Add %{s}?":"Adicionar %{s}?","Add Account":"Adicionar conta","Add Album":"Adicionar Álbum","Add files to your library via Web Upload.":"Adicionar arquivos à sua biblioteca via Web Upload.","Add Link":"Adicionar Link","Add person?":"Você adicionou uma pessoa?","Add pictures from search results by selecting them.":"Adicione fotos dos resultados da busca selecionando-as.","Add to album":"Adicionar ao álbum","Added":"Adicionado","Adjust Location":"Ajustar local","Admin":"Admin","Advanced":"Avançado","After 1 day":"Depois de 1 dia","After 3 days":"Depois de 3 dias","After 7 days":"Depois de 7 dias","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Depois de inserir sua senha para confirmação, você pode configurar a autenticação de dois fatores com um aplicativo ou dispositivo autenticador compatível:","After one month":"Depois de um mês","After one year":"Depois de um ano","After selecting pictures from search results, you can add them to an album using the context menu.":"Após selecionar as fotos dos resultados da busca, você pode adicioná-las a um álbum usando o menu de contexto.","After two months":"Depois de dois meses","After two weeks":"Depois de duas semanas","Album":"Álbum","Album Backups":"Backups de álbuns","Album created":"Álbum criado","Album deleted":"Álbum excluído","Albums":"Álbuns","Albums deleted":"Álbuns excluídos","All":"Todos","All %{n} albums loaded":"Todos os %{n} álbuns foram carregados","All %{n} labels loaded":"Todas as %{n} etiquetas foram carregadas","All %{n} people loaded":"Todas as pessoas %{n} carregadas","All Cameras":"Todas as Câmeras","All Categories":"Todas as Categorias","All Colors":"Todas as Cores","All Countries":"Todos os Países","All fields are required":"Todos os campos são necessários","All files from import folder":"Todos os arquivos da pasta importada","All Lenses":"Todas as Lentes","All Months":"Todos os Meses","All originals":"Todos os Originais","All Years":"Todos os Anos","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Como alternativa, você pode enviar arquivos diretamente para servidores WebDAV, como Nextcloud.","Altitude":"Altitude","Altitude (m)":"Altitude (m)","AM":"AM","Animated":"Animado","Animation":"Animação","Animations":"Animações","Any private photos and videos remain private and won't be shared.":"Qualquer foto ou vídeo privado continuará privado e não será compartilhado.","API Key":"Chave API","Application":"Aplicativo","Apply":"Aplicar","Approve":"Aprovar","Apps and Devices":"Aplicativos e dispositivos","Archive":"Arquivo","Archived":"Arquivado","Are you sure you want to archive the selection?":"Você tem certeza que deseja arquivar a seleção?","Are you sure you want to delete these albums?":"Você tem certeza que deseja excluir esses álbuns?","Are you sure you want to delete these labels?":"Você tem certeza que deseja excluir essas etiquetas?","Are you sure you want to delete this account?":"Você tem certeza que deseja excluir essa conta?","Are you sure you want to delete this album?":"Você tem certeza de que deseja excluir esse álbum?","Are you sure you want to permanently delete these pictures?":"Você tem certeza que deseja permanentemente excluir estas imagens?","Are you sure you want to permanently delete this file?":"Você tem certeza que deseja permanentemente excluir este arquivo?","Are you sure?":"Você tem certeza?","Artist":"Artista","Aspect Ratio":"Proporção da Tela","Audio":"Áudio","Authentication":"Autenticação","Auto":"Automotivo","Back":"Voltar","Back to top":"Voltar ao topo","Backup":"Cópia de Segurança","Badge":"Crachá","Base Path":"Caminho Base","Become a member today, support our mission and enjoy our member benefits!":"Torne-se um membro hoje, apoie nossa missão e desfrute dos benefícios de nossos membros!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Sendo 100% self-fundados e independentes, podemos prometer que nunca venderemos seus dados e que seremos sempre transparentes sobre nossos softwares e serviços.","Bio":"Biografia","Birth Date":"Data de Nascimento","Black":"Preto","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Modificação do Lanczos, resulta em menos artefatos","Blue":"Azul","Brown":"Marrom","Browse":"Navegar","Browse and edit image classification labels.":"Navegar e editar as etiquetas de classificação da imagem.","Browse and share your pictures organized into monthly albums.":"Navegue e compartilhe suas fotos organizadas em álbuns mensais.","Browse Files":"Procurar arquivos","Browse indexed files and folders in Library.":"Navegar pelos arquivos e pastas indexadas na Biblioteca.","Bug Report":"Relatar erro","Busy, please wait…":"Ocupado, por favor espere…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Ao utilizar o software e os serviços que fornecemos, você concorda com nossos termos de serviço, política de privacidade e código de conduta.","Calendar":"Calendário","Camera":"Câmera","Camera Serial":"Série da Câmera","Can't access your authenticator app or device?":"Você não consegue acessar o aplicativo ou o dispositivo autenticador?","Can't load more, limit reached":"Não é possível carregar mais, limite alcançado","Can't select more items":"Não é possível selecionar mais itens","Cancel":"Cancelar","Cannot copy to clipboard":"Não é possível copiar para a área de transferência","Caption":"Legenda","Cards":"Cartões","Carousel slide {0} of {1}":"Slide de carrossel {0} de {1}","Category":"Categoria","Change Avatar":"Mudar Avatar","Change Password":"Alterar Senha","Change personal profile and security settings.":"Mudar o perfil pessoal e as configurações de segurança.","Change photo titles, locations, and other metadata.":"Mudar títulos, localizações e outros dados das fotos.","Change private flag":"Mudar marcação como privado","Changes could not be saved":"As mudanças não foram salvas","Changes successfully saved":"As mudanças foram salvas com sucesso","Changes to the advanced settings require a restart to take effect.":"As alterações nas configurações avançadas exigem que você reinicie o sistema para entrar em vigor.","Checked":"Checado","Chroma":"Croma","Cleaning index and cache":"Limpeza do índice e do cache","Cleanup":"Limpeza","Clear {0}":"Limpar {0}","Client":"Cliente","Client Credentials":"Credenciais do cliente","Close":"Fechar","Codec":"Codec","Color":"Cor","Color Profile":"Perfil da cor","Colors":"Cores","Compare Editions":"Compare as Edições","Complete Rescan":"Escanear completamente novamente","Confidence":"Certeza","Confirm":"confirme","Connect":"Conectar","Connect via WebDAV":"Conectar via WebDAV","Connected":"Conectado","Contact Details":"Detalhes do contato","Contact Us":"Entrar em contato","Contains %{n} pictures.":"Contém %{n} imagens.","Contains one picture.":"Contém uma foto.","Content":"Conteúdo","Continue":"Continuar","Continue with %{provider}":"Continuar com %{provider}","Contributor":"Contribuinte","Converting":"Convertendo","Copied to clipboard":"Copiado para a área de transferência de texto","Copy":"Copiar","Copyright":"Direitos Autorais","Couldn't find anything.":"Não foi possível encontrar nada.","Country":"País","Create Account":"Criar conta","Create album":"Criar álbum","Create regular backups based on the configured schedule.":"Criar backups de índices com base na programação configurada.","Create YAML files to back up album metadata.":"Crie arquivos YAML para fazer backup dos metadados do álbum.","Create YAML sidecar files to back up picture metadata.":"Crie arquivos YAML sidecar para fazer backup dos metadados da imagem.","Created":"Criado","Creating thumbnails for":"Criando miniaturas para","Cubic: Moderate Quality, Good Performance":"Cubic: Qualidade razoável, bom desempenho","Current Password":"Senha Atual","Custom":"Personalizado","Cyan":"Ciano","Daily":"Diariamente","Database Backups":"Backups de banco de dados","Day":"Dia","Deactivate":"Desativar","Debug Logs":"Registros de depuração","Default":"Padrão","Default Folder":"Pasta Padrão","Delete":"Excluir","Delete Album":"Excluir álbum","Delete All":"Excluir tudo","Delete all?":"Excluir tudo?","Delete orphaned index entries, sidecar files and thumbnails.":"Exclua entradas de índice órfãs, arquivos sidecar e miniaturas.","Description":"Descrição","Detailed instructions can be found in our User Guide.":"Instruções detalhadas podem ser encontradas no nosso Guia de Usuário.","Details":"Detalhes","Dimensions":"Dimensões","Disable Backups":"Desativar Cópias de Segurança","Disable Darktable":"Desativar Darktable","Disable ExifTool":"Desativar ExifTool","Disable features that require write permission for the originals folder.":"Desative os recursos que exigem permissão de gravação para a pasta de originais.","Disable FFmpeg":"Desativar FFmpeg","Disable ImageMagick":"Desativar ImageMagick","Disable interactive world maps and reverse geocoding.":"Desative os mapas mundiais interativos e a geocodificação reversa.","Disable Places":"Desativar Lugares","Disable RawTherapee":"Desativar RawTherapee","Disable TensorFlow":"Desativar TensorFlow","Disable Vectors":"Vetores de Desativação","Disable WebDAV":"Desativar WebDAV","Disables vector graphics support.":"Desativa o suporte de gráficos vetoriais.","Disables video transcoding and thumbnail extraction.":"Desativa a transcodificação de vídeo e a extração de miniaturas.","Discover":"Descobrir","Dismiss":"Dispensar","Display Name":"Nome de Exibição","Display picture captions in search results.":"Exibir legendas de imagens nos resultados de pesquisa.","Display picture titles in search results.":"Exibir títulos de imagens nos resultados de pesquisa.","Document":"Documento","Documents":"Documentos","Don't use Darktable to convert RAW images.":"Não use o Darktable para converter imagens RAW.","Don't use ImageMagick to convert images.":"Não use o ImageMagick para converter imagens.","Don't use RawTherapee to convert RAW images.":"Não use RawTherapee para converter imagens RAW.","Done":"Concluído","Done.":"Concluído.","Download":"Baixar","Download only original media files, without any automatically generated files.":"Baixe somente arquivos de mídia originais, sem nenhum arquivo gerado automaticamente.","Download remote files":"Baixar arquivos remotos","Download single files and zip archives.":"Baixar arquivos individuais e zip.","Downloading…":"Baixando…","Downscaling Filter":"Filtro de redimensionamento","Drag and drop files here":"Arraste e solte arquivos aqui","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"Devido ao alto volume de e-mails que recebemos, nossa equipe pode não conseguir responder-lhe imediatamente.","Duplicates will be skipped and only appear once.":"Duplicatas serão puladas e só aparecerão uma vez.","Duration":"Duração","Dynamic Previews":"Amostras dinâmicas","Dynamic Size Limit: %{n}px":"Tamanho dinâmico limite: %{n}px","E-Mail":"Email","Edit":"Editar","Edit %{s}":"Editar %{s}","Edit Account":"Editar Conta","Edit Photo":"Editar Foto","Edited":"Editado","Email":"E-mail","Enable debug mode to display additional logs and help with troubleshooting.":"Ative o modo de depuração para exibir logs adicionais e ajudar na solução de problemas.","Enable new features that may be incomplete or unstable.":"Habilitar novos recursos que podem estar incompletos ou instáveis.","Enables RAW converter presets. May reduce performance.":"Permite predefinições de conversores RAW. Pode reduzir o desempenho.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Ativar a autenticação de dois fatores significa que você precisará de um código de verificação gerado aleatoriamente para fazer login, portanto, mesmo que alguém obtenha acesso à sua senha, não conseguirá acessar sua conta.","Enter date":"Insira a data","Enter dates":"Inserir datas","Enter the code generated by your authenticator app:":"Digite o código gerado pelo aplicativo autenticador:","Enter verification code":"Digite o código de verificação","Enter your password to confirm the action and continue:":"Digite sua senha para confirmar a ação e continuar:","Error":"Erro","Errors":"Erros","Estimate":"Estimativa","Estimate Locations":"Locais de estimativa","Estimate the approximate location of pictures without GPS coordinates.":"Estimar a localização aproximada de imagens sem coordenadas de GPS.","Every two days":"A cada dois dias","Exclude content marked as private from search results, shared albums, labels, and places.":"Excluir conteúdo marcado como privado dos resultados da busca, álbuns compartilhados, etiquetas e locais.","Exclude hidden":"Excluir oculto","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"A extração de metadados com o ExifTool é necessária para que você tenha suporte total a vídeo, foto ao vivo e XMP.","Experimental Features":"Funcionalidades experimentais","Expires":"Expira","Exposure":"Exposição","Extract still images and generate thumbnails while indexing.":"Extraia imagens estáticas e gere miniaturas durante a indexação.","F Number":"Razão focal","Face":"Rosto","Faces":"Rostos","Failed removing link":"Falha ao remover o link","Failed to connect account.":"Falha ao conectar a conta.","Failed updating link":"Falha ao atualizar o link","Family Name":"Nome de família","Fast":"Rápido","Favorite":"Favorito","Favorites":"Favoritos","Feature Request":"Solicitar funcionalidade","Feedback":"Dê sua opinião","Female":"Feminino","File":"Arquivo","File Browser":"Explorador de Arquivos","File Conversion":"Conversão de arquivos","File Name":"Nome do arquivo","File Size":"Tamanho do Arquivo","Filename":"Nome do arquivo","Files":"Arquivos","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Arquivos com nomes sequenciais, como \"IMG_1234 (2)\" ou \"IMG_1234 (3)\" pertencem à mesma foto.","First page":"Primeira página","Focal Length":"Distância Focal","Folder":"Pasta","Folder contains %{n} files":"A pasta contem %{n} arquivos","Folder is empty":"A pasta está vazia","Folders":"Pastas","Forgot password?":"Esqueceu a senha?","FPS":"FPS","Frames":"Quadros","Full Access":"Acesso total","Fullscreen":"Tela Cheia","General":"Geral","Generate":"Gerar","Generate albums of special moments, journeys, and places.":"Cria automaticamente álbuns de momentos, viagens e lugares especiais.","Generate Previews":"Gerar visualizações","Generated":"Gerado","Get Started":"Começar a usar","Given Name":"Nome dado","Global Options":"Opções globais","Go to page {0}":"Ir para a página {0}","Gold":"Dourado","Green":"Verde","Grey":"Cinza","Guest":"Convidado","Hash":"Hashe","Help":"Ajuda","Help & Support":"Ajuda & Suporte","Hidden":"Ocultos","Hidden Files":"Arquivos Ocultos","Hide":"Esconder","Hide photos that have been moved to archive.":"Oculte fotos que foram arquivadas.","High":"Alta","High Dynamic Range (HDR)":"Faixa dinâmica alta (HDR)","How can we help?":"Como podemos ajudar?","Hybrid":"Híbrido","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Se você perder o acesso ao seu aplicativo ou dispositivo autenticador, poderá usar seu código de recuperação para recuperar o acesso à sua conta.","Image":"Imagem","Image Quality":"Qualidade de imagem","Import":"Importar","Import failed":"Falha na importação","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Arquivos importados serão organizados por data e receberão um nome único para evitar duplicatas.","Imported files will be sorted by date and given a unique name.":"Arquivos importados serão organizados por data e receberão um nome único.","Importing %{s}…":"Importando %{s}…","Importing files to originals…":"Importando arquivos para originais…","in":"em","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"No caso de faltarem as fotos que você espera, por favor, faça uma nova digitalização de sua biblioteca e aguarde até que a indexação seja concluída.","Include RAW image files when downloading stacks and archives.":"Incluir arquivos de imagem RAW ao baixar pilhas e arquivos.","Include sidecar files when downloading stacks and archives.":"Incluir arquivos sidecar ao baixar pilhas e arquivos.","Increase storage size or delete files to continue.":"Aumente o tamanho do armazenamento ou exclua arquivos para continuar.","Index":"Indexar","Index and import files through the user interface.":"Indexar e importar arquivos através da interface do usuário.","Indexing":"Indexando","Indexing failed":"Falha ao indexar","Indexing media and sidecar files…":"Indexando arquivos de mídia e secundários…","Information":"Informações","Instance ID":"ID da Instância","Insufficient storage.":"Armazenamento insuficiente.","Interval":"Intervalo","Invalid":"Inválido","Invalid address":"Endereço inválido","Invalid country":"País inválido","Invalid date":"Data inválida","Invalid parameters":"Parâmetros inválidos","Invalid photo selected":"Foto inválida selecionada","Invalid time":"Hora inválida","Invalid URL":"URL inválido","It is a one-time use code that will disable 2FA for your account when you use it.":"É um código de uso único que desativará o 2FA da sua conta quando você o usar.","Item":"Item","Items per page:":"Itens por página:","JPEG Quality: %{n}":"Qualidade JPEG: %{n}","JPEG Size Limit: %{n}px":"Tamanho JPEG limite: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"Imagens JPEG e miniaturas são renderizadas automaticamente conforme necessário.","Keywords":"Palavras-chave","Label":"Etiqueta","Labels":"Etiquetas","Labels deleted":"Etiquetas excluídas","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: Preserva detalhes, poucos artefatos","Language":"Idioma","Last Active":"Último ativo","Last Login":"Último Login","Last page":"Última página","Last Sync":"Última Sincronia","Last Used":"Usado por último","Latitude":"Latitude","LDAP/AD":"LDAP/AD","Learn more":"Saiba mais","Learn More":"Saiba mais","Legal Information":"Informações legais","Lens":"Lente","Library":"Biblioteca","License":"Licença","Like":"Gostar","Lime":"Lima","Limit reached, showing first %{n} files":"Limite alcançado, mostrando os primeiros %{n} arquivos","Linear: Very Smooth, Best Performance":"Linear: Suave, melhor desempenho","Link":"Link","List":"Lista","List View":"Exibição de lista","Live":"Ao vivo","Live Photos":"Fotos ao vivo","Load more":"Carregar mais","Loading items...":"Carregando itens...","Loading...":"Carregando...","Local":"Local","Local Time":"Hora Local","Location":"Localização","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Mensagens aparecem aqui sempre que o PhotoPrism encontra arquivos defeituosos ou existe a possibilidade de outros problemas.","Login":"Entrar","Logout":"Sair","Logs":"Registros","Longitude":"Longitute","Low":"Baixo","Magenta":"Magenta","Main Color":"Cor principal","Male":"Masculino","Manage Account":"Gerenciar conta","Manager":"Gerente","Manual":"Manual","Manual Upload":"Envio manual","Maps":"Mapas","Marker":"Marcador","Maximum number of accounts has been reached.":"O número máximo de contas foi atingido.","Media":"Mídia","Medium":"Médio","Membership":"Filiação","Merge %{a} with %{b}?":"Fundir %{a} com %{b}?","Message":"Mensagem","Message sent":"Mensagem enviada","Metadata":"Metadados","Metrics":"Métricas","Minimize":"Minimizar","Missing":"Faltando","Missing or invalid configuration":"Configuração ausente ou inválida","Moments":"Momentos","Monochrome":"Monocromático","Month":"Mês","More options":"Mais opções","Mosaic":"Mosáico","Most Relevant":"Mais Relevante","Move Files":"Mover arquivos","Must have at least %{n} characters.":"Deve ter pelo menos %{n} caracteres.","Mute":"Mudo","Name":"Nome","Name too long":"Nome muito extenso","Never":"Nunca","New":"Novo","New Password":"Nova senha","Newest First":"Recentes primeiro","Next":"Próximo","Next page":"Próxima página","Next visual":"Próximo visual","No":"Não","No albums found":"Nenhum álbum encontrado","No data available":"Não há dados disponíveis","No labels found":"Nenhuma etiqueta encontrada","No matching records found":"Não foram encontrados registros correspondentes","No more":"Não mais","No people found":"Nenhuma pessoa encontrada","No pictures found":"Nenhuma foto encontrada","No recently edited pictures":"Nenhuma foto editada recentemente","No results":"Nenhum resultado","No server connection":"Sem conexão com o servidor","No servers configured.":"Nenhum servidor configurado.","No services configured.":"Nenhum serviço configurado.","No thanks":"Não, obrigado(a)","No warnings or error containing this keyword. Note that search is case-sensitive.":"Nenhum alerta ou erro contento esta palavra-chave. Note que a busca diferencia maiúsculas de minísculas.","Non-photographic and low-quality images require a review before they appear in search results.":"Imagens de baixa qualidade ou não-fotográficas necessitam de revisão antes de aparecerem nos resultados de busca.","None":"Nenhum","Not allowed":"Não permitido","Not found":"Não encontrado","Not sorted.":"Não classificado.","Not supported":"Não suportado","Note you may manually manage your originals folder and importing is optional.":"Note que você pode gerenciar manualmente sua pasta de originais e a importação é opcional.","Note:":"Nota:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Nota: Apenas servidores WebDAV, tais como Nextcloud ou PhotoPrism, podem ser configurados como serviço remoto para envio de arquivos e cópias de segurança.","Notes":"Notas","Nothing to see here yet.":"Nada para se ver aqui ainda. Seja paciente.","Nothing was found.":"Nada foi encontrado.","Offline":"Desconectado","OIDC":"OIDC","OK":"OK","Oldest First":"Antigos primeiro","On Windows, enter the following resource in the connection dialog:":"No Windows, digite o seguinte recurso no diálogo de conexão:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"A geração de miniaturas sob demanda pode causar alto uso de CPU e memória. Não é recomendado para servidores e dispositivos NAS com recursos limitados.","Once a week":"Uma vez por semana","One album found":"Um álbum encontrado","One file found":"Um arquivo encontrado","One file uploaded":"Um arquivo carregado","One folder found":"Uma pasta encontrada","One label found":"Um rótulo encontrado","One person found":"Uma pessoa encontrada","One picture found":"Uma foto encontrada","Only locally managed accounts can be set up for authentication with 2FA.":"Somente contas gerenciadas localmente podem ser configuradas para autenticação com 2FA.","Open":"Aberto","optional":"opcional","or":"ou","Orange":"Laranjado","Organization":"Organização","Orientation":"Orientação","Original file names will be stored and indexed.":"Nomes originais dos arquivos serão armazenados e indexados.","Original Name":"Nome original","Originals":"Originais","Other":"Outro","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Nossa missão é fornecer a solução mais amigável ao usuário e à privacidade para manter suas fotos organizadas e acessíveis.","Outdoor":"Ao ar livre","Page {0}, Current page":"Página {0}, página atual","Pages":"Páginas","Pagination Navigation":"Navegação de paginação","Panorama":"Panorama","Panoramas":"Panoramas","Password":"Senha","Password changed":"Senha alterada","People":"Pessoas","People you share a link with will be able to view public contents.":"Pessoas com as quais você compartilha um link poderão ver os conteúdos públicos.","Permanently deleted":"Permanentemente excluídas","Permanently remove files to free up storage.":"Remover arquivos permanentemente para poupar armazenamento.","Person":"Pessoa","Personal":"Pessoal","Photo":"Foto","PhotoPrism is 100% self-funded and independent.":"O PhotoPrism é 100% autofinanciado e independente.","PhotoPrism+ Membership":"FotoPrism+ Filiação","Photos":"Fotos","Picture Title":"Título da imagem","Pink":"Rosa","Place":"Lugar","Place & Time":"Lugar & Tempo","Places":"Lugares","Please confirm your new password.":"Por favor, confirme sua nova senha.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Copie a seguinte senha de aplicativo gerada aleatoriamente e guarde-a em um local seguro, pois você não poderá vê-la novamente:","Please do not upload any private, unlawful or offensive pictures.":"Não faça upload de fotos particulares, ilegais ou ofensivas.","Please don't upload photos containing offensive content.":"Por favor, não envie fotos com conteúdo ofensivo.","Please enter OTP character {0}":"Por favor, digite o caractere OTP {0}","Please note that changing your password will log you out on other devices and browsers.":"Por favor, note que a mudança de sua senha fará com que você saia de outros dispositivos e navegadores.","Please restart your instance for the changes to take effect.":"Por favor, reinicie seu exemplo para que as mudanças tenham efeito.","Please wait…":"Por favor, aguarde…","PM":"PM","PNG Size Limit: %{n}px":"Tamanho PNG limite: %{n}px","Portrait":"Retrato","Preserve filenames":"Preservar nomes de arquivo","Press enter to create a new album.":"Pressione enter para criar um novo álbum.","Prevent database and album backups as well as YAML sidecar files from being created.":"Impedir que sejam criados backups de bancos de dados e álbuns, bem como arquivos sidecar YAML.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Impedir que outros aplicativos acessem o PhotoPrism como uma unidade de rede compartilhada.","Preview":"Pré-visualização","Preview Images":"Imagens de visualização","Previous":"Anterior","Previous page":"Página anterior","Previous visual":"Visual anterior","Primary":"Primário","Private":"Privado","Product Feedback":"Opinião sobre o produto","Projection":"Projeção","Purple":"Roxo","Quality Filter":"Filtro de qualidade","Quality Score":"Marcador de qualidade","r":"r","Random":"Aleatório","Rating {0} of {1}":"Classificação {0} de {1}","Raw":"RAW","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Reindexe todos originais, incluindo arquivos já indexados e não modificados.","Read-Only Mode":"Modo Somente Leitura","Recently Added":"Adicionado recentemente","Recently Archived":"Arquivado recentemente","Recently Edited":"Editado Recentemente","Recognition starts after indexing has been completed.":"O reconhecimento começa após a indexação ter sido concluída.","Recognize faces so people can be assigned and found.":"Reconhece rostos para que pessoas específicas possam ser encontradas.","Recognized":"Reconhecido","Recovery Code":"Código de recuperação","Red":"Vermelho","Refresh":"Atualizar","Regions":"Regiões","Register":"Registre-se","Reload":"Recarregar","Reloading…":"Recarregando…","Remote Sync":"Sincronização remota","Remove":"Remover","remove failed: unknown album":"remoção falhou: álbum desconhecido","Remove from Album":"Remover do álbum","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Remover arquivos já importados ao armazenamento. Tipos de arquivo não suportados nunca serão apagados, eles continuam na sua localização atual.","Request failed - are you offline?":"O pedido falhou - você está offline?","Request failed - invalid response":"Solicitação falhou - resposta inválida","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Exigir que imagens não fotográficas e de baixa qualidade sejam revisadas antes de serem exibidas nos resultados de pesquisa.","Resolution":"Resolução","Restart":"Reinicie","Restore":"Restaurar","Restored":"Restaurado","Retry Limit":"Limite de Tentativa","Retype Password":"Reinsira a senha","Review":"Revisar","Role":"Papel","Rows per page:":"Linhas por página:","Satellite":"Satélite","Save":"Salvar","Scan":"Buscar","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Digitalize o código QR com seu aplicativo autenticador ou use a chave de configuração mostrada abaixo e insira o código de verificação gerado:","Scans":"Escaneadas","Scope":"Escopo","Search":"Pesquisar","Search and display photos on a map.":"Pesquisar e mostrar fotos num mapa.","Season":"Estação","Secret":"Segredo","Security and Access":"Segurança e acesso","Select":"Selecionar","Select a source folder to import files…":"Selecione uma pasta de origem para importar arquivos…","Select date":"Selecione a data","Select dates":"Selecione as datas","Select or create an album":"Selecione ou crie um álbum","Select the files to upload…":"Selecione os arquivos a serem carregados…","Select the folder to be indexed…":"Selecione a pasta a ser indexada…","Select Time":"Selecione o horário","Selection approved":"Seleção aprovada","Selection archived":"Seleção arquivada","Selection restored":"Seleção restaurada","Sequential Name":"Nome sequencial","Service URL":"URL do serviço","Services":"Serviços","Session":"Sessão","Session ID":"ID da sessão","Sessions":"Sessões","Set as Album Cover":"Definir como capa do álbum","Settings":"Configurações","Settings saved":"Configurações salvas","Setup":"Configurar","Share":"Compartilhar","Share %{s}":"Compartilhar %{s}","Share your pictures with other apps and services.":"Compartilhe suas fotos com outros aplicativos e serviços.","Show":"Mostrar","Show all new faces":"Mostrar todos os rostos novos","Show Captions":"Mostrar legendas","Show hidden":"Mostrar oculto","Show less":"Mostrar menos","Show more":"Mostrar mais","Show server logs in Library.":"Mostrar registros do servidor na Biblioteca.","Show Titles":"Mostrar títulos","Sidecar":"Secundários","Sidecar Files":"Arquivos Sidecar","Sign in":"Entrar","Similar":"Semelhante","Size":"Tamanho","Slideshow":"Apresentação de slides","Slow":"Lento","Software":"Software","Software Update":"Atualização de software","Something went wrong, try again":"Algo deu errado, tente novamente","Sort by":"Ordenar por","Sort Order":"Ordem de classificação","Sorted ascending.":"Classificado em ordem crescente.","Sorted descending.":"Ordenado de forma descendente.","Source":"Fonte","Stack":"Pilhas","Stack files sharing the same unique image or instance identifier.":"Empilhar arquivos com a mesma imagem única ou identificador de instância.","Stack pictures taken at the exact same time and location based on their metadata.":"Empilhar fotos tiradas na mesma hora e local conforme os metadados.","Stackable":"Empilhável","Stacks":"Pilhas","Start":"Iniciar","Start Page":"Página inicial","Static Size Limit: %{n}px":"Tamanho estático limite: %{n}px","Status":"Status","Storage":"Armazenamento","Streets":"Ruas","Subject":"Assunto","Submit":"Enviar","Successfully activated":"Ativado com sucesso","Successfully Connected":"Conectado com sucesso","Successfully deleted":"Eliminado com sucesso","Successfully verified":"Verificado com sucesso","Super Admin":"Super Admin","Support for additional services, like Google Drive, will be added over time.":"Suporte para serviços adicionais, como Google Drive, serão adicionados oportunamente.","Support Our Mission":"Apoiar nossa missão","Sync":"Sincronizar","Sync raw and video files":"Sincronizar imagens e vídeos RAW","Taken":"Tirado","Teal":"Azul marinho","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"O TensorFlow é necessário para classificação de imagens, reconhecimento facial e detecção de conteúdo inseguro.","Terrain":"Terreno","Text":"Texto","Text too long":"Texto muito longo","Thank You for Your Support!":"Obrigado por seu apoio!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"É por isso que o PhotoPrism foi construído desde o início para funcionar onde você precisar, sem comprometer a liberdade, a privacidade ou a funcionalidade.","The index currently contains %{n} hidden files.":"O índice atualmente contém %{n} arquivos ocultos.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"O formato delas não é suportado, elas não foram convertidas para JPEG ainda ou existe duplicação.","Theme":"Tema","This field is required":"Este campo é obrigatório","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Isto monta a pasta de originais como um dispositivo de rede e permite que você abra, edite e apague arquivos a partir do seu computador ou celular como se fosses locais.","Time UTC":"Horário UTC","Time Zone":"Fuzo Horário","Timeout":"Tempo esgotado","Title":{"Account":"Título","Photo":"Título","":"Título"},"Title / Position":"Título / Posição","Title too long":"Título muito longo","to":"para","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Para evitar o bloqueio de sua conta, baixe, imprima ou copie este código de recuperação agora e guarde-o em um local seguro.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Para gerar uma nova senha específica do aplicativo, insira o nome e o escopo de autorização do aplicativo e selecione uma data de validade:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Para mudar para um novo aplicativo ou dispositivo autenticador, primeiro desative a autenticação de dois fatores e depois reative-a:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Para atualizar, você pode digitar um código de ativação ou clicar em \"Registrar\" para se inscrever em nosso site:","Today":"Hoje","Toggle View":"Trocar visualização","Token":"Token","Too many files selected":"Muitos arquivos selecionados","Too many requests":"Muitas solicitações","Troubleshooting":"Solução de problemas","Try again using other filters or keywords.":"Tente novamente usando outros filtros ou palavras-chave.","Two-factor authentication has been enabled for your account.":"A autenticação de dois fatores foi habilitada para sua conta.","Type":"Tipo","Unable to delete":"Não é possível excluir","Unauthorized":"Não autorizado","Undo":"Desfazer","Unique ID":"ID único","Unknown":"Desconhecido","Unregistered":"Não registrado","Unsorted":"Não classificado","Unstack":"Desempilhar","Updated":"Atualizado","Updating faces":"Atualização de rostos","Updating index":"Atualizando índice","Updating moments":"Atualizando momentos","Updating picture…":"Atualizando a imagem..","Updating previews":"Atualização de visualizações","Updating stacks":"Atualizando pilhas","Upgrade":"Atualização","Upgrade Now":"Atualização agora","Upload":"Enviar","Upload complete":"Envio finalizado","Upload complete. Indexing…":"Envio finalizado. Indexando…","Upload failed":"Envio falhou","Upload local files":"Enviar arquivos locais","Upload Path":"Caminho de Upload","Upload to WebDAV and share links with friends.":"Enviar para WebDAV e compartilhar links com amigos.","Uploading %{n} of %{t}…":"Enviando %{n} de %{t}…","Uploading photos…":"Enviando fotos…","Uploading…":"Carregando…","Uploads that may contain such images will be rejected automatically.":"Envios que possam conter tais imagens serão rejeitados automaticamente.","Use Presets":"Usar pré-definições","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Use o seguinte código de recuperação para acessar sua conta quando não conseguir gerar um código de verificação válido com seu aplicativo autenticador:","Use your recovery code or contact an administrator for help.":"Use o código de recuperação ou entre em contato com um administrador para obter ajuda.","User":"Usuário","User Guide":"Guia do Usuário","User Interface":"Interface de usuário","Username":"Nome de usuário","Users":"Usuários","Vector":"Vetor","Vectors":"Vetores","Verification Code":"Código de verificação","Video":"Vídeo","Video Duration":"Duração Vídeo","Videos":"Vídeos","View":"Visualização","View search results as a list.":"Exibir os resultados da pesquisa como uma lista.","Viewer":"Visualizador","Visitor":"Visitante","Visual Similarity":"Similaridade visual","Warning":"Advertência","We appreciate your feedback!":"Agradecemos seu feedback!","We do our best to respond within five business days or less.":"Fazemos nosso melhor para responder dentro de cinco dias úteis ou menos.","Web Login":"Login na Web","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"Clientes WebDAV podem se conectar ao PhotoPrism usando a seguinte URL:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"Clientes WebDAV, como Windows Explorer e o Finder da Apple, podem se conectar diretamente com o PhotoPrism.","WebDAV Upload":"Envio WebDAV","WebGL support is disabled in your browser":"O suporte a WebGL está desativado em seu navegador","Website":"Site","White":"Branco","Work Details":"Detalhes do trabalho","Year":"Ano","Yellow":"Amarelo","Yes":"Sim","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Você é bem-vindo a entrar em contato conosco pelo e-mail membership@photoprism.app para perguntas relativas à sua filiação.","You can only download one album":"Você pode baixar apenas um álbum","You can only download one label":"Você pode baixar apenas uma etiqueta","You can search for a location or move the marker on the map to change the position:":"Você pode procurar um local ou mover o marcador no mapa para alterar a posição:","You can upload up to %{n} files for test purposes.":"Você pode carregar até %{n} arquivos para fins de teste.","You may only select one item":"Você pode selecionar apenas um item","You may rescan your library to find additional faces.":"Você pode voltar a digitalizar sua biblioteca para encontrar rostos adicionais.","Your account has been successfully connected.":"Sua conta foi conectada com sucesso.","Your browser does not support WebGL":"Seu navegador não é compatível com WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Seu apoio contínuo nos ajuda a fornecer atualizações regulares e a permanecer independentes, para que possamos cumprir nossa missão e proteger sua privacidade.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Sua biblioteca é continuamente analisada para criar automaticamente álbuns de momentos, viagens e lugares especiais.","Zoom in/out":"Aproximar/Afastar"}} \ No newline at end of file diff --git a/frontend/src/locales/json/ro.json b/frontend/src/locales/json/ro.json index 8501842f3..5b0b1edea 100644 --- a/frontend/src/locales/json/ro.json +++ b/frontend/src/locales/json/ro.json @@ -1 +1 @@ -{"ro":{"{0} appended action":"{0} acțiune anexată","{0} files":"{0} fișiere","{0} files ({1} in total)":"{0} fișiere ({1} în total)","{0} more":"{0} mai mult","{0} prepended action":"{0} acțiune precedată","{0} selected":"{0} selectat","{0}-{1} of {2}":"{0}-{1} din {2}","%{n} albums found":"%{n} albume găsite","%{n} files uploaded":"%{n} fișiere încărcate","%{n} folders found":"%{n} foldere găsite","%{n} GB of %{q} GB used":"%{n} GB de %{q} GB utilizați","%{n} labels found":"%{n} etichete găsite","%{n} people found":"%{n} persoane găsite","%{n} pictures found":"%{n} imagini găsite","%{s} is too long":"%{s} este prea lung","%{s} is too short":"%{s} este prea scurt","1 hour":"1 oră","12 hours":"12 ore","2-Factor Authentication":"Autentificare cu 2 factori","2FA":"2FA","4 hours":"4 ore","A click will copy it to your clipboard.":"Un clic îl va copia în clipboard.","A new version of %{s} is available:":"O nouă versiune a %{s} este disponibilă:","About":"Despre","Access Token":"Token de acces","Account":"Cont","Account created":"Cont creat","Account deleted":"Cont șters","Account restored":"Cont restaurat","Accounts":"Conturi","Accuracy":"Precizie","Action":"Acțiune","Actions":"Acțiuni","Activate":"Activați","Activate to remove sorting.":"Activați pentru a elimina sortarea.","Activate to sort ascending.":"Activați pentru sortare crescătoare.","Activate to sort descending.":"Activați pentru a sorta descrescător.","Activation Code":"Cod de activare","Add":"Adăugați","Add %{s}?":"Adaugă %{s}?","Add Account":"Adăugați un cont","Add Album":"Adaugă album","Add files to your library via Web Upload.":"Adăugați fișiere la biblioteca dvs. prin încărcare web.","Add Link":"Adăugați un link","Add person?":"Adăugați o persoană?","Add pictures from search results by selecting them.":"Adăugați imagini din rezultatele căutării prin selectarea lor.","Add to album":"Adaugă la album","Added":"Adăugat","Admin":"Admin","Advanced":"Avansat","After 1 day":"După 1 zi","After 3 days":"După 3 zile","After 7 days":"După 7 zile","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"După ce ați introdus parola pentru confirmare, puteți configura autentificarea cu doi factori cu o aplicație sau un dispozitiv de autentificare compatibil:","After one month":"După o lună","After one year":"După un an","After selecting pictures from search results, you can add them to an album using the context menu.":"După selectarea imaginilor din rezultatele căutării, le puteți adăuga la un album utilizând meniul contextual.","After two months":"După două luni","After two weeks":"După două săptămâni","Album":"Album","Album Backups":"Copii de rezervă ale albumelor","Album created":"Album creat","Albums":"Albume","Albums deleted":"Albume șterse","All":"Toate","All %{n} albums loaded":"Toate albumele %{n} încărcate","All %{n} labels loaded":"Toate etichetele %{n} încărcate","All %{n} people loaded":"Toate %{n} persoane încărcate","All Cameras":"Toate camerele de luat vederi","All Categories":"Toate categoriile","All Colors":"Toate culorile","All Countries":"Toate țările","All fields are required":"Toate câmpurile sunt obligatorii","All files from import folder":"Toate fișierele din dosarul de import","All Lenses":"Toate lentilele","All Months":"Toate lunile","All originals":"Toate originalele","All Years":"Toți anii","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Alternativ, puteți încărca fișiere direct pe servere WebDAV, cum ar fi Nextcloud.","Altitude":"Altitudine","Altitude (m)":"Altitudine (m)","AM":"AM","Animated":"Animat","Animation":"Animație","Any private photos and videos remain private and won't be shared.":"Orice fotografii și videoclipuri private rămân private și nu vor fi partajate.","API Key":"Cheie API","Application":"Aplicație","Apply":"Aplicați","Approve":"Aprobarea","Apps and Devices":"Aplicații și dispozitive","Archive":"Arhiva","Archived":"Arhivat","Are you sure you want to archive the selection?":"Sunteți sigur că doriți să arhivați selecția?","Are you sure you want to delete these albums?":"Sunteți sigur că doriți să ștergeți aceste albume?","Are you sure you want to delete these labels?":"Sunteți sigur că doriți să ștergeți aceste etichete?","Are you sure you want to delete this account?":"Sunteți sigur că doriți să ștergeți acest cont?","Are you sure you want to permanently delete these pictures?":"Sunteți sigur că doriți să ștergeți definitiv aceste imagini?","Are you sure you want to permanently delete this file?":"Sunteți sigur că doriți să ștergeți definitiv acest fișier?","Are you sure?":"Esti sigur?","Artist":"Artist","Aspect Ratio":"Raportul de aspect","Audio":"Audio","Authentication":"Autentificare","Auto":"Auto","Back":"Înapoi","Back to top":"Înapoi la începutul paginii","Backup":"Backup","Badge":"Insignă","Base Path":"Calea de bază","Become a member today, support our mission and enjoy our member benefits!":"Deveniți membru astăzi, susțineți misiunea noastră și bucurați-vă de beneficiile noastre!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Fiind 100% autofinanțați și independenți, vă putem promite că nu vă vom vinde niciodată datele și că vom fi întotdeauna transparenți în ceea ce privește software-ul și serviciile noastre.","Bio":"Biografie","Birth Date":"Data nașterii","Black":"Negru","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: modificarea Lanczos, mai puține artefacte care sună","Blue":"Albastru","Brown":"Maro","Browse":"Răsfoiți","Browse and edit image classification labels.":"Răsfoiți și editați etichetele de clasificare a imaginilor.","Browse and share your pictures organized into monthly albums.":"Răsfoiți și partajați imaginile dvs. organizate în albume lunare.","Browse Files":"Răsfoiți fișierele","Browse indexed files and folders in Library.":"Răsfoiți fișierele și folderele indexate din Bibliotecă.","Bug Report":"Raport de eroare","Busy, please wait…":"Ocupat, vă rugăm să așteptați…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Prin utilizarea software-ului și a serviciilor pe care le furnizăm, sunteți de acord cu termenii și condițiile noastre de utilizare, cu politica de confidențialitate și cu codul de conduită.","Calendar":"Calendar","Camera":"Cameră","Camera Serial":"Numărul de serie a Camerei","Can't access your authenticator app or device?":"Nu vă puteți accesa aplicația sau dispozitivul de autentificare?","Can't load more, limit reached":"Nu se poate încărca mai mult, limita a fost atinsă","Can't select more items":"Nu se pot selecta mai multe articole","Cancel":"Anulează","Caption":"Legenda","Cards":"Cărți","Carousel slide {0} of {1}":"Diapozitiv carusel {0} de {1}","Category":"Categoria","Change Avatar":"Schimbă Avatar","Change Password":"Schimbă parola","Change personal profile and security settings.":"Modificați profilul personal și setările de securitate.","Change photo titles, locations, and other metadata.":"Modificați titlurile fotografiilor, locațiile și alte metadate.","Change private flag":"Schimbarea steagului privat","Changes could not be saved":"Modificările nu au putut fi salvate","Changes successfully saved":"Modificări salvate cu succes","Changes to the advanced settings require a restart to take effect.":"Modificările aduse la setările avansate necesită o repornire pentru a intra în vigoare.","Checked":"Verificat","Chroma":"Chroma","Cleaning index and cache":"Curățarea indexului și a cache-ului","Cleanup":"Curățare","Clear {0}":"Șterge {0}","Client":"Client","Client Credentials":"Acreditarea clienților","Close":"Închideți","Codec":"Codec","Color":"Culoare","Color Profile":"Profil de culoare","Colors":"Culori","Compare Editions":"Comparați edițiile","Complete Rescan":"Rescanare completă","Confidence":"Încredere","Confirm":"A confirma","Connect":"Conectați-vă","Connect via WebDAV":"Conectare prin WebDAV","Connected":"Conectat","Contact Details":"Detalii de contact","Contact Us":"Contactați-ne","Contains %{n} pictures.":"Conține %{n} imagini.","Contains one picture.":"Conține o imagine.","Content":"Conținut","Continue":"Continua","Continue with %{provider}":"Continuați cu %{provider}","Contributor":"Colaborator","Converting":"Conversia","Copied to clipboard":"Copiat în clipboard","Copy":"Copie","Copyright":"Drepturi de autor","Couldn't find anything.":"Nu sa putut găsi nimic.","Country":"Țara","Create Account":"Creați un cont","Create album":"Creați un album","Create regular backups based on the configured schedule.":"Creați copii de rezervă ale indexurilor pe baza programului configurat.","Create YAML files to back up album metadata.":"Creați fișiere YAML pentru a salva metadatele albumelor.","Create YAML sidecar files to back up picture metadata.":"Creați fișiere YAML sidecar pentru a salva metadatele imaginilor.","Created":"Creat","Creating thumbnails for":"Crearea de miniaturi pentru","Cubic: Moderate Quality, Good Performance":"Cubic: Calitate moderată, performanță bună","Current Password":"Parola curentă","Custom":"Personalizat","Cyan":"Cyan","Daily":"Zilnic","Database Backups":"Copii de rezervă ale bazei de date","Day":"Ziua","Deactivate":"Dezactivați","Debug Logs":"Jurnalele de depanare","Default":"Implicit","Default Folder":"Dosar implicit","Delete":"Ștergeți","Delete All":"Ștergeți totul","Delete all?":"Ștergeți toate?","Delete orphaned index entries, sidecar files and thumbnails.":"Ștergeți intrările de index, fișierele sidecar și miniaturi orfane.","Description":"Descriere","Detailed instructions can be found in our User Guide.":"Instrucțiuni detaliate pot fi găsite în Ghidul utilizatorului.","Details":"Detalii","Dimensions":"Dimensiuni","Disable Backups":"Dezactivați copiile de rezervă","Disable Darktable":"Dezactivați Darktable","Disable ExifTool":"Dezactivați ExifTool","Disable features that require write permission for the originals folder.":"Dezactivați funcțiile care necesită permisiunea de scriere pentru dosarul de originale.","Disable FFmpeg":"Dezactivați FFmpeg","Disable ImageMagick":"Dezactivați ImageMagick","Disable interactive world maps and reverse geocoding.":"Dezactivați hărțile lumii interactive și geocodarea inversă.","Disable Places":"Dezactivați locurile","Disable RawTherapee":"Dezactivați RawTherapee","Disable TensorFlow":"Dezactivați TensorFlow","Disable Vectors":"Dezactivarea vectorilor","Disable WebDAV":"Dezactivați WebDAV","Disables vector graphics support.":"Dezactivează suportul pentru grafica vectorială.","Disables video transcoding and thumbnail extraction.":"Dezactivează transcodarea video și extragerea miniaturilor.","Discover":"Descoperiți","Dismiss":"Respinge","Display Name":"Afișați numele","Display picture captions in search results.":"Afișați legendele imaginilor în rezultatele căutării.","Display picture titles in search results.":"Afișați titlurile imaginilor în rezultatele căutării.","Document":"Document","Documents":"Documente","Don't use Darktable to convert RAW images.":"Nu utilizați Darktable pentru a converti fișiere RAW.","Don't use ImageMagick to convert images.":"Nu folosiți ImageMagick pentru a converti imaginile.","Don't use RawTherapee to convert RAW images.":"Nu utilizați RawTherapee pentru a converti fișiere RAW.","Done":"Realizat","Done.":"S-a făcut.","Download":"Descărcați","Download only original media files, without any automatically generated files.":"Descărcați numai fișiere media originale, fără fișiere generate automat.","Download remote files":"Descărcarea fișierelor de la distanță","Download single files and zip archives.":"Descărcați fișiere individuale și arhive zip.","Downloading…":"Descărcarea…","Downscaling Filter":"Filtru de reducere a scării","Drag and drop files here":"Drag and drop fișiere aici","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"Din cauza volumului mare de e-mailuri pe care le primim, este posibil ca echipa noastră să nu vă poată răspunde imediat.","Duplicates will be skipped and only appear once.":"Dublurile vor fi omise și vor apărea doar o singură dată.","Duration":"Durata","Dynamic Previews":"Previziuni dinamice","Dynamic Size Limit: %{n}px":"Limita dimensiunii dinamice: %{n}px","E-Mail":"E-mail","Edit":"Editați","Edit %{s}":"Editează %{s}","Edit Account":"Editare cont","Edit Photo":"Editare fotografie","Edited":"Editat","Email":"Email","Enable debug mode to display additional logs and help with troubleshooting.":"Activați modul de depanare pentru a afișa jurnale suplimentare și pentru a ajuta la depanare.","Enable new features that may be incomplete or unstable.":"Activați caracteristici noi care pot fi incomplete sau instabile.","Enables RAW converter presets. May reduce performance.":"Activează presetările convertorului RAW. Poate reduce performanța.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Activarea autentificării cu doi factori înseamnă că veți avea nevoie de un cod de verificare generat aleatoriu pentru a vă conecta, așa că, chiar dacă cineva obține acces la parola dvs., nu va putea accesa contul dvs.","Enter date":"Introduceți data","Enter dates":"Introduceți datele","Enter the code generated by your authenticator app:":"Introduceți codul generat de aplicația dvs. de autentificare:","Enter verification code":"Introduceți codul de verificare","Enter your password to confirm the action and continue:":"Introduceți parola pentru a confirma acțiunea și continuați:","Error":"Eroare","Errors":"Erori","Estimate":"Estimare","Estimate Locations":"Estimarea locațiilor","Estimate the approximate location of pictures without GPS coordinates.":"Estimarea locației aproximative a imaginilor fără coordonate GPS.","Every two days":"La fiecare două zile","Exclude content marked as private from search results, shared albums, labels, and places.":"Excludeți conținutul marcat ca fiind privat din rezultatele căutării, albumele partajate, etichetele și locații.","Exclude hidden":"Excludeți ascunse","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"Extragerea metadatelor cu ExifTool este necesară pentru suportul complet pentru Video, Live Photo și XMP.","Experimental Features":"Caracteristici experimentale","Expires":"Expiră","Exposure":"Expunere","Extract still images and generate thumbnails while indexing.":"Extrageți imagini statice și generați miniaturi în timpul indexării.","F Number":"Numărul F","Face":"Față","Faces":"Fețe","Failed removing link":"Nu a reușit să elimine legătura","Failed to connect account.":"A eșuat conectarea contului.","Failed updating link":"Link de actualizare eșuat","Family Name":"Nume de familie","Fast":"Rapid","Favorite":"Favorit","Favorites":"Favorite","Feature Request":"Cerere de caracteristici","Feedback":"Părere","Female":"Femeie","File":"Fișier","File Browser":"Browser de fișiere","File Conversion":"Conversia fișierelor","File Name":"Numele fișierului","File Size":"Dimensiunea fișierului","Filename":"Nume fisier","Files":"Fișiere","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Fișierele cu nume secvențiale, cum ar fi 'IMG_1234 (2)' și 'IMG_1234 (3)' aparțin aceleiași imagini.","First page":"Prima pagină","Focal Length":"Lungime focală","Folder":"Dosar","Folder contains %{n} files":"Dosarul conține %{n} fișiere","Folder is empty":"Dosarul este gol","Folders":"Dosare","Forgot password?":"Ați uitat parola?","FPS":"FPS","Frames":"Cadre","Full Access":"Acces complet","Fullscreen":"Ecran complet","General":"General","Generate":"Genera","Generate albums of special moments, journeys, and places.":"Creează automat albume cu momente, călătorii și locuri speciale.","Generate Previews":"Generați previzualizări","Generated":"Generate","Get Started":"Începeți","Given Name":"Numele dat","Global Options":"Opțiuni globale","Go to page {0}":"Mergeți la pagina {0}","Gold":"Aur","Green":"Verde","Grey":"Gri","Guest":"Oaspete","Hash":"Hash","Help":"Ajutor","Help & Support":"Suport","Hidden":"Ascuns","Hidden Files":"Fișiere ascunse","Hide":"Ascundeți","Hide photos that have been moved to archive.":"Ascundeți fotografiile care au fost mutate în arhivă.","High":"Mare","High Dynamic Range (HDR)":"Gama dinamică înaltă (HDR)","How can we help?":"Cum vă putem ajuta?","Hybrid":"Hibrid","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Dacă pierdeți accesul la aplicația sau dispozitivul dvs. de autentificare, puteți utiliza codul de recuperare pentru a recâștiga accesul la contul dvs.","Image":"Imagine","Image Quality":"Calitatea imaginii","Import":"Import","Import failed":"Importul a eșuat","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Fișierele importate vor fi sortate în funcție de dată și vor primi un nume unic pentru a se evita dublurile.","Imported files will be sorted by date and given a unique name.":"Fișierele importate vor fi sortate în funcție de dată și vor primi un nume unic.","Importing %{s}…":"Importăm %{s}…","Importing files to originals…":"Importul de fișiere în originale…","in":"în","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"În cazul în care imaginile pe care le așteptați lipsesc, vă rugăm să scanați din nou biblioteca dvs. și să așteptați până când indexarea va fi finalizată.","Include RAW image files when downloading stacks and archives.":"Includeți fișiere de imagine RAW atunci când descărcați stive și arhive.","Include sidecar files when downloading stacks and archives.":"Includeți fișiere sidecar atunci când descărcați stive și arhive.","Increase storage size or delete files to continue.":"Creșteți dimensiunea de stocare sau ștergeți fișierele pentru a continua.","Index":"Index","Index and import files through the user interface.":"Indexați și importați fișiere prin intermediul interfeței cu utilizatorul.","Indexing":"Indexare","Indexing failed":"Indexarea a eșuat","Indexing media and sidecar files…":"Indexarea fișierelor media și a fișierelor sidecar…","Information":"Informații","Instance ID":"ID-ul instanței","Insufficient storage.":"Depozitare insuficientă.","Interval":"Interval","Invalid":"Invalid","Invalid address":"Adresă invalidă","Invalid country":"Țară invalidă","Invalid date":"Dată invalidă","Invalid parameters":"Parametrii nevalabili","Invalid photo selected":"Fotografie invalidă selectată","Invalid time":"Ora invalidă","Invalid URL":"URL invalid","It is a one-time use code that will disable 2FA for your account when you use it.":"Este un cod de unică folosință care va dezactiva 2FA pentru contul dvs. atunci când îl utilizați.","Item":"Articolul","Items per page:":"Articole pe pagină:","JPEG Quality: %{n}":"Calitate JPEG: %{n}","JPEG Size Limit: %{n}px":"Limita dimensiunii JPEG: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"JPEG-urile și miniaturile sunt redate automat, după cum este necesar.","Keywords":"Cuvinte cheie","Label":"Etichetă","Labels":"Etichete","Labels deleted":"Etichete șterse","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: Conservarea detaliilor, artefacte minime","Language":"Limba","Last Active":"Ultimul activ","Last Login":"Ultima autentificare","Last page":"Ultima pagină","Last Sync":"Ultima sincronizare","Last Used":"Folosit ultima data","Latitude":"Latitudine","LDAP/AD":"LDAP/AD","Learn more":"Aflați mai multe","Learn More":"Aflați mai multe","Legal Information":"Informații juridice","Lens":"Obiectiv","Library":"Bibliotecă","License":"Licență","Like":"Ca","Lime":"Lămâie verde","Limit reached, showing first %{n} files":"Limita a fost atinsă, afișând primele %{n} fișiere","Linear: Very Smooth, Best Performance":"Liniare: Foarte netedă, cea mai bună performanță","Link":"Link","List":"Listă","List View":"Vizualizare listă","Live":"Live","Live Photos":"Fotografii în direct","Load more":"Încărcați mai mult","Loading items...":"Încărcare articole...","Loading...":"Încărcare...","Local":"Local","Local Time":"Ora locală","Location":"Locație","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Mesajele de jurnal apar aici ori de câte ori PhotoPrism întâlnește fișiere sparte sau există alte probleme potențiale.","Login":"Autentificare","Logout":"Logout","Logs":"Jurnale","Longitude":"Longitudine","Low":"Scăzut","Magenta":"Magenta","Main Color":"Culoare principală","Male":"Bărbat","Manage Account":"Gestionați contul","Manual":"Manual","Manual Upload":"Încărcare manuală","Maps":"Hărți","Marker":"Marker","Maximum number of accounts has been reached.":"Numărul maxim de conturi a fost atins.","Media":"Media","Medium":"Mediu","Membership":"Calitate de membru","Merge %{a} with %{b}?":"Combină %{a} cu %{b}?","Message":"Mesaj","Message sent":"Mesaj trimis","Metadata":"Metadate","Metrics":"Metrici","Minimize":"Minimizați","Missing":"Lipsesc","Missing or invalid configuration":"Configurație lipsă sau invalidă","Moments":"Momente","Monochrome":"Monocromie","Month":"Luna","More options":"Mai multe opțiuni","Mosaic":"Mozaic","Most Relevant":"Cele mai relevante","Move Files":"Muta fișierele","Must have at least %{n} characters.":"Trebuie să aibă cel puțin %{n} caractere.","Mute":"Mută","Name":"Nume","Name too long":"Nume prea lung","Never":"Niciodată","New":"Nou","New Password":"Parolă nouă","Newest First":"Cel mai nou Mai întâi","Next":"Următorul","Next page":"Pagina următoare","Next visual":"Următorul vizual","No":"Nu","No albums found":"Nu s-au găsit albume","No data available":"Nu există date disponibile","No labels found":"Nu s-au găsit etichete","No matching records found":"Nu s-au găsit înregistrări corespunzătoare","No more":"Nu mai mult","No people found":"Nu s-au găsit persoane","No pictures found":"Nu s-au găsit imagini","No recently edited pictures":"Nu există imagini editate recent","No server connection":"Nu există conexiune la server","No servers configured.":"Nu există servere configurate.","No services configured.":"Nu sunt configurate servicii.","No thanks":"Nu, mulțumesc","No warnings or error containing this keyword. Note that search is case-sensitive.":"Nu există avertismente sau erori care să conțină acest cuvânt cheie. Rețineți că căutarea este sensibilă la majuscule și minuscule.","Non-photographic and low-quality images require a review before they appear in search results.":"Imaginile nefotografice și de slabă calitate necesită o revizuire înainte de a apărea în rezultatele căutării.","None":"Nici unul","Not allowed":"Nu este permis","Not found":"Nu a fost găsit","Not sorted.":"Nu sortate.","Not supported":"Nu este acceptat","Note you may manually manage your originals folder and importing is optional.":"Rețineți că vă puteți gestiona manual dosarul de originale, iar importul este opțional.","Note:":"Notă:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Notă: Numai serverele WebDAV, cum ar fi Nextcloud sau PhotoPrism, pot fi configurate ca serviciu la distanță pentru backup și încărcare de fișiere.","Notes":"Note","Nothing to see here yet.":"Încă nu este nimic de văzut aici.","Nothing was found.":"Nu s-a găsit nimic.","Offline":"Deconectat","OIDC":"OIDC","OK":"OK","Oldest First":"Cel mai vechi Mai întâi","On Windows, enter the following resource in the connection dialog:":"Pe Windows, introduceți următoarea resursă în fereastra de dialog de conectare:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"Generarea la cerere a miniaturilor poate cauza o utilizare ridicată a procesorului și a memoriei. Nu este recomandată pentru serverele și dispozitivele NAS cu resurse limitate.","Once a week":"O dată pe săptămână","One album found":"Un album găsit","One file found":"Un fișier găsit","One file uploaded":"Un fișier încărcat","One folder found":"Un dosar găsit","One label found":"O etichetă găsită","One person found":"O persoană găsită","One picture found":"O imagine găsită","Only locally managed accounts can be set up for authentication with 2FA.":"Numai conturile gestionate local pot fi configurate pentru autentificare cu 2FA.","Open":"Deschideți","optional":"opțional","or":"sau","Orange":"Portocaliu","Organization":"Organizația","Orientation":"Orientare","Original file names will be stored and indexed.":"Numele originale ale fișierelor vor fi stocate și indexate.","Original Name":"Denumire originală","Originals":"Originale","Other":"Altele","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Viziunea noastră este să oferim cea mai prietenoasă soluție pentru utilizator și confidențialitate pentru a vă păstra fotografiile organizate și accesibile.","Outdoor":"În aer liber","Page {0}, Current page":"Pagina {0}, Pagina curentă","Pages":"Pagini","Pagination Navigation":"Paginare Navigare","Panorama":"Panoramă","Panoramas":"Panorame","Password":"Parola","Password changed":"Parola a fost schimbată","People":"Oameni","People you share a link with will be able to view public contents.":"Persoanele cu care partajați un link vor putea vizualiza conținutul public.","Permanently deleted":"Șterse definitiv","Permanently remove files to free up storage.":"Eliminați permanent fișierele pentru a elibera spațiu de stocare.","Person":"Persoană","Personal":"Personal","Photo":"Fotografie","PhotoPrism is 100% self-funded and independent.":"PhotoPrism este 100% autofinanțat și independent.","PhotoPrism+ Membership":"Abonament PhotoPrism+","Photos":"Fotografii","Picture Title":"Titlu imagine","Pink":"Roz","Place":"Locul","Place & Time":"Locul și Ora","Places":"Locuri","Please confirm your new password.":"Vă rugăm să confirmați noua parolă.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Vă rugăm să copiați următoarea parolă a aplicației generată aleatoriu și să o păstrați într-un loc sigur, deoarece nu o veți putea vedea din nou:","Please do not upload any private, unlawful or offensive pictures.":"Vă rugăm să nu încărcați imagini private, ilegale sau ofensatoare.","Please don't upload photos containing offensive content.":"Vă rugăm să nu încărcați fotografii cu conținut ofensator.","Please enter OTP character {0}":"Vă rugăm să introduceți caracterul OTP {0}","Please note that changing your password will log you out on other devices and browsers.":"Vă rugăm să rețineți că schimbarea parolei vă va deconecta de pe alte dispozitive și browsere.","Please restart your instance for the changes to take effect.":"Vă rugăm să reporniți instanța pentru ca modificările să intre în vigoare.","Please wait…":"Vă rugăm să așteptați…","PM":"PM","PNG Size Limit: %{n}px":"Limita de dimensiune PNG: %{n}px","Portrait":"Portret","Preserve filenames":"Păstrați numele fișierelor","Press enter to create a new album.":"Apăsați enter pentru a crea un album nou.","Prevent database and album backups as well as YAML sidecar files from being created.":"Împiedicați crearea de copii de rezervă ale bazei de date și ale albumelor, precum și a fișierelor YAML sidecar.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Împiedicați alte aplicații să acceseze PhotoPrism ca unitate de rețea partajată.","Preview":"Previzualizare","Preview Images":"Imagini de previzualizare","Previous":"Articolul precedent","Previous page":"Pagina anterioară","Previous visual":"Vizual anterior","Primary":"Primare","Private":"Privat","Product Feedback":"Feedback despre produs","Projection":"Proiecție","Purple":"Violet","Quality Filter":"Filtru de calitate","Quality Score":"Scorul de calitate","r":"r","Random":"Aleatoriu","Rating {0} of {1}":"Evaluare {0} din {1}","Raw":"Raw","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Reindexarea tuturor documentelor originale, inclusiv a fișierelor deja indexate și neschimbate.","Read-Only Mode":"Mod doar pentru citire","Recently Added":"Adăugate recent","Recently Archived":"Arhivate recent","Recently Edited":"Editate recent","Recognition starts after indexing has been completed.":"Recunoașterea începe după ce indexarea a fost finalizată.","Recognize faces so people can be assigned and found.":"Recunoaște fețele, astfel încât să poată fi găsite anumite persoane.","Recognized":"Recunoscută","Recovery Code":"Cod de recuperare","Red":"Roșu","Refresh":"Reîmprospătare","Regions":"Regiuni","Register":"Înregistrare","Reload":"Reîncărcare","Reloading…":"Se reîncarcă…","Remote Sync":"Sincronizare la distanță","Remove":"Eliminați","remove failed: unknown album":"eliminarea eșuată: album necunoscut","Remove from Album":"Eliminați din album","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Eliminați fișierele importate pentru a economisi spațiu de stocare. Tipurile de fișiere neacceptate nu vor fi niciodată șterse, ele rămân în locația lor curentă.","Request failed - are you offline?":"Cerere eșuată - sunteți offline?","Request failed - invalid response":"Cerere eșuată - răspuns invalid","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Cereți ca imaginile non-fotografice și de calitate scăzută să fie revizuite înainte de a apărea în rezultatele căutării.","Resolution":"Rezoluție","Restart":"Reporniți","Restore":"Restaurați","Restored":"Restaurat","Retry Limit":"Limita de reintroducere","Retype Password":"Repeta parola","Review":"Revizuire","Role":"Rol","Rows per page:":"Rânduri pe pagină:","Satellite":"Satelit","Save":"Salvați","Scan":"Scanare","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Scanați codul QR cu aplicația dvs. de autentificare sau utilizați cheia de configurare afișată mai jos și apoi introduceți codul de verificare generat:","Scans":"Scanări","Scope":"Domeniul de aplicare","Search":"Căutare","Search and display photos on a map.":"Căutați și afișați fotografiile pe hartă.","Season":"Sezon","Secret":"Secret","Security and Access":"Securitate și acces","Select":"Selectați","Select a source folder to import files…":"Selectați un folder sursă pentru a importa fișiere…","Select date":"Selectați data","Select dates":"Selectați datele","Select or create an album":"Selectați sau creați un album","Select the files to upload…":"Selectați fișierele pentru încărcare…","Select the folder to be indexed…":"Selectați folderul care urmează să fie indexat…","Select Time":"Selectați ora","Selection approved":"Selecție aprobată","Selection archived":"Selecție arhivată","Selection restored":"Selecție restabilită","Sequential Name":"Denumire secvențială","Service URL":"URL de serviciu","Services":"Servicii","Session":"Sesiunea","Session ID":"ID-ul sesiunii","Sessions":"Sesiuni","Set as Album Cover":"Setați ca copertă de album","Settings":"Setări","Settings saved":"Setări salvate","Setup":"Configurare","Share":"Distribuie","Share %{s}":"Distribuie %{nume}","Share your pictures with other apps and services.":"Partajați-vă fotografiile cu alte aplicații și servicii.","Show":"Arată","Show all new faces":"Afișați toate fețele noi","Show Captions":"Afișați subtitrări","Show hidden":"Arată ascuns","Show less":"Arată mai puțin","Show more":"Arată mai mult","Show server logs in Library.":"Afișați jurnalele serverului în Bibliotecă.","Show Titles":"Afișați titlurile","Sidecar":"Sidecar","Sidecar Files":"Fișiere Sidecar","Sign in":"Conectați-vă","Similar":"Similar","Size":"Dimensiune","Slideshow":"Prezentare de diapozitive","Slow":"Încet","Software":"Software","Software Update":"Actualizare software","Something went wrong, try again":"Ceva nu a mers bine, încercați din nou","Sort by":"Sortare după","Sort Order":"Ordinea de sortare","Sorted ascending.":"Sortate crescător.","Sorted descending.":"Sortate descrescător.","Source":"Sursă","Stack":"Stivă","Stack files sharing the same unique image or instance identifier.":"Stivuiți fișiere care partajează aceeași imagine unică sau identificator de instanță.","Stack pictures taken at the exact same time and location based on their metadata.":"Stivuiți fotografiile realizate exact în același moment și în aceeași locație, pe baza metadatelor.","Stackable":"Stivuibil","Stacks":"Stive","Start":"Start","Start Page":"Pagina de start","Static Size Limit: %{n}px":"Limita dimensiunii statice: %{n}px","Status":"Stare","Storage":"Spațiu de stocare","Streets":"Străzi","Subject":"Subiect","Submit":"Trimite","Successfully activated":"Activat cu succes","Successfully Connected":"Conectat cu succes","Successfully deleted":"Eliminat cu succes","Successfully verified":"Verificat cu succes","Super Admin":"Super Admin","Support for additional services, like Google Drive, will be added over time.":"Suportul pentru servicii suplimentare, cum ar fi Google Drive, va fi adăugat în timp.","Support Our Mission":"Susține misiunea noastră","Sync":"Sincronizare","Sync raw and video files":"Sincronizarea fișierelor raw și video","Taken":"Luat","Teal":"Turcoaz","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow este necesar pentru clasificarea imaginilor, recunoașterea facială și detectarea conținutului nesigur.","Terrain":"Teren","Text":"Text","Text too long":"Text prea lung","Thank You for Your Support!":"Vă mulțumim pentru sprijinul dumneavoastră!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"De aceea, PhotoPrism a fost construit de la zero pentru a funcționa oriunde aveți nevoie, fără a compromite libertatea, confidențialitatea sau funcționalitatea.","The index currently contains %{n} hidden files.":"În prezent, indexul conține %{n} fișiere ascunse.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Este posibil ca formatul lor să nu fie acceptat, să nu fi fost încă convertite în JPEG sau să existe duplicate.","Theme":"Temă","This field is required":"Acest câmp este obligatoriu","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Acest lucru montează dosarul de originale ca unitate de rețea și vă permite să deschideți, să editați și să ștergeți fișiere de pe computer sau de pe telefonul smartphone ca și cum ar fi locale.","Time UTC":"Ora UTC","Time Zone":"Fusul orar","Timeout":"Pauză","Title":{"Account":"Titlu","Photo":"Titlu","":"Titlu"},"Title / Position":"Titlul / Poziția","Title too long":"Titlu prea lung","to":"la","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Pentru a evita blocarea contului dvs., vă rugăm să descărcați, imprimați sau copiați acest cod de recuperare acum și păstrați-l într-un loc sigur.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Pentru a genera o nouă parolă specifică aplicației, introduceți numele și domeniul de autorizare al aplicației și selectați o dată de expirare:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Pentru a comuta la o nouă aplicație sau dispozitiv de autentificare, mai întâi dezactivați autentificarea cu doi factori și apoi reactivați-o:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Pentru a face upgrade, puteți introduce un cod de activare sau puteți face clic pe \"Înregistrare\" pentru a vă înscrie pe site-ul nostru:","Today":"Astăzi","Toggle View":"Schimbă vizualizarea","Token":"Jeton","Too many files selected":"Prea multe fișiere selectate","Too many requests":"Prea multe cereri","Troubleshooting":"Rezolvarea problemelor","Try again using other filters or keywords.":"Încercați din nou folosind alte filtre sau cuvinte cheie.","Two-factor authentication has been enabled for your account.":"Autentificarea cu doi factori a fost activată pentru contul dvs.","Type":"Tip","Unauthorized":"Neautorizat","Undo":"Înapoi","Unique ID":"ID unic","Unknown":"Necunoscut","Unregistered":"Neînregistrat","Unsorted":"Nesortat","Unstack":"Despachetare","Updated":"Actualizat","Updating faces":"Actualizarea fețelor","Updating index":"Actualizarea index-ului","Updating moments":"Actualizarea momentelor","Updating picture…":"Actualizarea imaginii…","Updating previews":"Actualizarea previziunilor","Updating stacks":"Actualizarea stivelor","Upgrade":"Actualizare","Upgrade Now":"Actualizați acum","Upload":"Încărcați","Upload complete":"Încărcare completă","Upload complete. Indexing…":"Încărcare completă. Se indexează…","Upload failed":"Încărcarea a eșuat","Upload local files":"Încărcați fișiere locale","Upload Path":"Cale de încărcare","Upload to WebDAV and share links with friends.":"Încărcați pe WebDAV și partajați linkuri cu prietenii.","Uploading %{n} of %{t}…":"Se încarcă %{n} din %{t}…","Uploading photos…":"Se încarcă fotografii…","Uploading…":"Se încarcă…","Uploads that may contain such images will be rejected automatically.":"Încărcările care pot conține astfel de imagini vor fi respinse automat.","Use Presets":"Utilizați presetări","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Utilizați următorul cod de recuperare pentru a vă accesa contul atunci când nu puteți genera un cod de verificare valid cu aplicația dvs. de autentificare:","Use your recovery code or contact an administrator for help.":"Utilizați codul de recuperare sau contactați un administrator pentru ajutor.","User":"Utilizator","User Guide":"Ghidul utilizatorului","User Interface":"Interfața utilizatorului","Username":"Numele utilizatorului","Users":"Utilizatori","Vector":"Vector","Vectors":"Vectori","Verification Code":"Cod de verificare","Video":"Clip","Video Duration":"Durata Videoclipului","Videos":"Videoclipuri","View":"Vedere","View search results as a list.":"Vizualizați rezultatele căutării ca o listă.","Viewer":"Vizualizator","Visitor":"Vizitator","Visual Similarity":"Similaritate vizuală","Warning":"Avertisment","We appreciate your feedback!":"Apreciem feedback-ul dumneavoastră!","We do our best to respond within five business days or less.":"Facem tot posibilul să răspundem în termen de cinci zile lucrătoare sau mai puțin.","Web Login":"Autentificare Web","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"Clienții WebDAV se pot conecta la PhotoPrism folosind următoarea adresă URL:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"Clienții WebDAV, cum ar fi Microsoft Windows Explorer sau Apple Finder, se pot conecta direct la PhotoPrism.","WebDAV Upload":"Încărcare WebDAV","WebGL support is disabled in your browser":"Suportul WebGL este dezactivat în browserul dvs.","Website":"Site web","White":"Alb","Work Details":"Detalii de lucru","Year":"Anul","Yellow":"Galben","Yes":"Da","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Vă invităm să ne contactați la membership@photoprism.app pentru întrebări legate de calitatea de membru.","You can only download one album":"Poți descărca doar un singur album","You can only download one label":"Puteți descărca doar o singură etichetă","You can upload up to %{n} files for test purposes.":"Puteți încărca până la %{n} fișiere în scopuri de testare.","You may only select one item":"Puteți selecta doar un singur element","You may rescan your library to find additional faces.":"Puteți să scanați din nou biblioteca dumneavoastră pentru a găsi alte fețe.","Your account has been successfully connected.":"Contul dvs. a fost conectat cu succes.","Your browser does not support WebGL":"Browserul dvs. nu acceptă WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Sprijinul dvs. continuu ne ajută să furnizăm actualizări regulate și să rămânem independenți, astfel încât să ne putem îndeplini misiunea și să vă protejăm confidențialitatea.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Biblioteca dvs. este analizată în permanență pentru a crea automat albume cu momente, călătorii și locuri speciale.","Zoom in/out":"Măriți/micșorați"}} \ No newline at end of file +{"ro":{"{0} appended action":"{0} acțiune anexată","{0} files":"{0} fișiere","{0} files ({1} in total)":"{0} fișiere ({1} în total)","{0} more":"{0} mai mult","{0} prepended action":"{0} acțiune precedată","{0} selected":"{0} selectat","{0}-{1} of {2}":"{0}-{1} din {2}","%{n} albums found":"%{n} albume găsite","%{n} files uploaded":"%{n} fișiere încărcate","%{n} folders found":"%{n} foldere găsite","%{n} GB of %{q} GB used":"%{n} GB de %{q} GB utilizați","%{n} labels found":"%{n} etichete găsite","%{n} people found":"%{n} persoane găsite","%{n} pictures found":"%{n} imagini găsite","%{s} is too long":"%{s} este prea lung","%{s} is too short":"%{s} este prea scurt","1 hour":"1 oră","12 hours":"12 ore","2-Factor Authentication":"Autentificare cu 2 factori","2FA":"2FA","4 hours":"4 ore","A click will copy it to your clipboard.":"Un clic îl va copia în clipboard.","A new version of %{s} is available:":"O nouă versiune a %{s} este disponibilă:","About":"Despre","Access Token":"Token de acces","Account":"Cont","Account created":"Cont creat","Account deleted":"Cont șters","Account restored":"Cont restaurat","Accounts":"Conturi","Accuracy":"Precizie","Action":"Acțiune","Actions":"Acțiuni","Activate":"Activați","Activate to remove sorting.":"Activați pentru a elimina sortarea.","Activate to sort ascending.":"Activați pentru sortare crescătoare.","Activate to sort descending.":"Activați pentru a sorta descrescător.","Activation Code":"Cod de activare","Add":"Adăugați","Add %{s}?":"Adaugă %{s}?","Add Account":"Adăugați un cont","Add Album":"Adaugă album","Add files to your library via Web Upload.":"Adăugați fișiere la biblioteca dvs. prin încărcare web.","Add Link":"Adăugați un link","Add person?":"Adăugați o persoană?","Add pictures from search results by selecting them.":"Adăugați imagini din rezultatele căutării prin selectarea lor.","Add to album":"Adaugă la album","Added":"Adăugat","Adjust Location":"Reglați locația","Admin":"Admin","Advanced":"Avansat","After 1 day":"După 1 zi","After 3 days":"După 3 zile","After 7 days":"După 7 zile","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"După ce ați introdus parola pentru confirmare, puteți configura autentificarea cu doi factori cu o aplicație sau un dispozitiv de autentificare compatibil:","After one month":"După o lună","After one year":"După un an","After selecting pictures from search results, you can add them to an album using the context menu.":"După selectarea imaginilor din rezultatele căutării, le puteți adăuga la un album utilizând meniul contextual.","After two months":"După două luni","After two weeks":"După două săptămâni","Album":"Album","Album Backups":"Copii de rezervă ale albumelor","Album created":"Album creat","Album deleted":"Album șters","Albums":"Albume","Albums deleted":"Albume șterse","All":"Toate","All %{n} albums loaded":"Toate albumele %{n} încărcate","All %{n} labels loaded":"Toate etichetele %{n} încărcate","All %{n} people loaded":"Toate %{n} persoane încărcate","All Cameras":"Toate camerele de luat vederi","All Categories":"Toate categoriile","All Colors":"Toate culorile","All Countries":"Toate țările","All fields are required":"Toate câmpurile sunt obligatorii","All files from import folder":"Toate fișierele din dosarul de import","All Lenses":"Toate lentilele","All Months":"Toate lunile","All originals":"Toate originalele","All Years":"Toți anii","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Alternativ, puteți încărca fișiere direct pe servere WebDAV, cum ar fi Nextcloud.","Altitude":"Altitudine","Altitude (m)":"Altitudine (m)","AM":"AM","Animated":"Animat","Animation":"Animație","Animations":"Animații","Any private photos and videos remain private and won't be shared.":"Orice fotografii și videoclipuri private rămân private și nu vor fi partajate.","API Key":"Cheie API","Application":"Aplicație","Apply":"Aplicați","Approve":"Aprobarea","Apps and Devices":"Aplicații și dispozitive","Archive":"Arhiva","Archived":"Arhivat","Are you sure you want to archive the selection?":"Sunteți sigur că doriți să arhivați selecția?","Are you sure you want to delete these albums?":"Sunteți sigur că doriți să ștergeți aceste albume?","Are you sure you want to delete these labels?":"Sunteți sigur că doriți să ștergeți aceste etichete?","Are you sure you want to delete this account?":"Sunteți sigur că doriți să ștergeți acest cont?","Are you sure you want to delete this album?":"Sunteți sigur că doriți să ștergeți acest album?","Are you sure you want to permanently delete these pictures?":"Sunteți sigur că doriți să ștergeți definitiv aceste imagini?","Are you sure you want to permanently delete this file?":"Sunteți sigur că doriți să ștergeți definitiv acest fișier?","Are you sure?":"Esti sigur?","Artist":"Artist","Aspect Ratio":"Raportul de aspect","Audio":"Audio","Authentication":"Autentificare","Auto":"Auto","Back":"Înapoi","Back to top":"Înapoi la începutul paginii","Backup":"Backup","Badge":"Insignă","Base Path":"Calea de bază","Become a member today, support our mission and enjoy our member benefits!":"Deveniți membru astăzi, susțineți misiunea noastră și bucurați-vă de beneficiile noastre!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Fiind 100% autofinanțați și independenți, vă putem promite că nu vă vom vinde niciodată datele și că vom fi întotdeauna transparenți în ceea ce privește software-ul și serviciile noastre.","Bio":"Biografie","Birth Date":"Data nașterii","Black":"Negru","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: modificarea Lanczos, mai puține artefacte care sună","Blue":"Albastru","Brown":"Maro","Browse":"Răsfoiți","Browse and edit image classification labels.":"Răsfoiți și editați etichetele de clasificare a imaginilor.","Browse and share your pictures organized into monthly albums.":"Răsfoiți și partajați imaginile dvs. organizate în albume lunare.","Browse Files":"Răsfoiți fișierele","Browse indexed files and folders in Library.":"Răsfoiți fișierele și folderele indexate din Bibliotecă.","Bug Report":"Raport de eroare","Busy, please wait…":"Ocupat, vă rugăm să așteptați…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Prin utilizarea software-ului și a serviciilor pe care le furnizăm, sunteți de acord cu termenii și condițiile noastre de utilizare, cu politica de confidențialitate și cu codul de conduită.","Calendar":"Calendar","Camera":"Cameră","Camera Serial":"Numărul de serie a Camerei","Can't access your authenticator app or device?":"Nu vă puteți accesa aplicația sau dispozitivul de autentificare?","Can't load more, limit reached":"Nu se poate încărca mai mult, limita a fost atinsă","Can't select more items":"Nu se pot selecta mai multe articole","Cancel":"Anulează","Cannot copy to clipboard":"Nu se poate copia în clipboard","Caption":"Legenda","Cards":"Cărți","Carousel slide {0} of {1}":"Diapozitiv carusel {0} de {1}","Category":"Categoria","Change Avatar":"Schimbă Avatar","Change Password":"Schimbă parola","Change personal profile and security settings.":"Modificați profilul personal și setările de securitate.","Change photo titles, locations, and other metadata.":"Modificați titlurile fotografiilor, locațiile și alte metadate.","Change private flag":"Schimbarea steagului privat","Changes could not be saved":"Modificările nu au putut fi salvate","Changes successfully saved":"Modificări salvate cu succes","Changes to the advanced settings require a restart to take effect.":"Modificările aduse la setările avansate necesită o repornire pentru a intra în vigoare.","Checked":"Verificat","Chroma":"Chroma","Cleaning index and cache":"Curățarea indexului și a cache-ului","Cleanup":"Curățare","Clear {0}":"Șterge {0}","Client":"Client","Client Credentials":"Acreditarea clienților","Close":"Închideți","Codec":"Codec","Color":"Culoare","Color Profile":"Profil de culoare","Colors":"Culori","Compare Editions":"Comparați edițiile","Complete Rescan":"Rescanare completă","Confidence":"Încredere","Confirm":"A confirma","Connect":"Conectați-vă","Connect via WebDAV":"Conectare prin WebDAV","Connected":"Conectat","Contact Details":"Detalii de contact","Contact Us":"Contactați-ne","Contains %{n} pictures.":"Conține %{n} imagini.","Contains one picture.":"Conține o imagine.","Content":"Conținut","Continue":"Continua","Continue with %{provider}":"Continuați cu %{provider}","Contributor":"Colaborator","Converting":"Conversia","Copied to clipboard":"Copiat în clipboard","Copy":"Copie","Copyright":"Drepturi de autor","Couldn't find anything.":"Nu sa putut găsi nimic.","Country":"Țara","Create Account":"Creați un cont","Create album":"Creați un album","Create regular backups based on the configured schedule.":"Creați copii de rezervă ale indexurilor pe baza programului configurat.","Create YAML files to back up album metadata.":"Creați fișiere YAML pentru a salva metadatele albumelor.","Create YAML sidecar files to back up picture metadata.":"Creați fișiere YAML sidecar pentru a salva metadatele imaginilor.","Created":"Creat","Creating thumbnails for":"Crearea de miniaturi pentru","Cubic: Moderate Quality, Good Performance":"Cubic: Calitate moderată, performanță bună","Current Password":"Parola curentă","Custom":"Personalizat","Cyan":"Cyan","Daily":"Zilnic","Database Backups":"Copii de rezervă ale bazei de date","Day":"Ziua","Deactivate":"Dezactivați","Debug Logs":"Jurnalele de depanare","Default":"Implicit","Default Folder":"Dosar implicit","Delete":"Ștergeți","Delete Album":"Ștergeți albumul","Delete All":"Ștergeți totul","Delete all?":"Ștergeți toate?","Delete orphaned index entries, sidecar files and thumbnails.":"Ștergeți intrările de index, fișierele sidecar și miniaturi orfane.","Description":"Descriere","Detailed instructions can be found in our User Guide.":"Instrucțiuni detaliate pot fi găsite în Ghidul utilizatorului.","Details":"Detalii","Dimensions":"Dimensiuni","Disable Backups":"Dezactivați copiile de rezervă","Disable Darktable":"Dezactivați Darktable","Disable ExifTool":"Dezactivați ExifTool","Disable features that require write permission for the originals folder.":"Dezactivați funcțiile care necesită permisiunea de scriere pentru dosarul de originale.","Disable FFmpeg":"Dezactivați FFmpeg","Disable ImageMagick":"Dezactivați ImageMagick","Disable interactive world maps and reverse geocoding.":"Dezactivați hărțile lumii interactive și geocodarea inversă.","Disable Places":"Dezactivați locurile","Disable RawTherapee":"Dezactivați RawTherapee","Disable TensorFlow":"Dezactivați TensorFlow","Disable Vectors":"Dezactivarea vectorilor","Disable WebDAV":"Dezactivați WebDAV","Disables vector graphics support.":"Dezactivează suportul pentru grafica vectorială.","Disables video transcoding and thumbnail extraction.":"Dezactivează transcodarea video și extragerea miniaturilor.","Discover":"Descoperiți","Dismiss":"Respinge","Display Name":"Afișați numele","Display picture captions in search results.":"Afișați legendele imaginilor în rezultatele căutării.","Display picture titles in search results.":"Afișați titlurile imaginilor în rezultatele căutării.","Document":"Document","Documents":"Documente","Don't use Darktable to convert RAW images.":"Nu utilizați Darktable pentru a converti fișiere RAW.","Don't use ImageMagick to convert images.":"Nu folosiți ImageMagick pentru a converti imaginile.","Don't use RawTherapee to convert RAW images.":"Nu utilizați RawTherapee pentru a converti fișiere RAW.","Done":"Realizat","Done.":"S-a făcut.","Download":"Descărcați","Download only original media files, without any automatically generated files.":"Descărcați numai fișiere media originale, fără fișiere generate automat.","Download remote files":"Descărcarea fișierelor de la distanță","Download single files and zip archives.":"Descărcați fișiere individuale și arhive zip.","Downloading…":"Descărcarea…","Downscaling Filter":"Filtru de reducere a scării","Drag and drop files here":"Drag and drop fișiere aici","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"Din cauza volumului mare de e-mailuri pe care le primim, este posibil ca echipa noastră să nu vă poată răspunde imediat.","Duplicates will be skipped and only appear once.":"Dublurile vor fi omise și vor apărea doar o singură dată.","Duration":"Durata","Dynamic Previews":"Previziuni dinamice","Dynamic Size Limit: %{n}px":"Limita dimensiunii dinamice: %{n}px","E-Mail":"E-mail","Edit":"Editați","Edit %{s}":"Editează %{s}","Edit Account":"Editare cont","Edit Photo":"Editare fotografie","Edited":"Editat","Email":"Email","Enable debug mode to display additional logs and help with troubleshooting.":"Activați modul de depanare pentru a afișa jurnale suplimentare și pentru a ajuta la depanare.","Enable new features that may be incomplete or unstable.":"Activați caracteristici noi care pot fi incomplete sau instabile.","Enables RAW converter presets. May reduce performance.":"Activează presetările convertorului RAW. Poate reduce performanța.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Activarea autentificării cu doi factori înseamnă că veți avea nevoie de un cod de verificare generat aleatoriu pentru a vă conecta, așa că, chiar dacă cineva obține acces la parola dvs., nu va putea accesa contul dvs.","Enter date":"Introduceți data","Enter dates":"Introduceți datele","Enter the code generated by your authenticator app:":"Introduceți codul generat de aplicația dvs. de autentificare:","Enter verification code":"Introduceți codul de verificare","Enter your password to confirm the action and continue:":"Introduceți parola pentru a confirma acțiunea și continuați:","Error":"Eroare","Errors":"Erori","Estimate":"Estimare","Estimate Locations":"Estimarea locațiilor","Estimate the approximate location of pictures without GPS coordinates.":"Estimarea locației aproximative a imaginilor fără coordonate GPS.","Every two days":"La fiecare două zile","Exclude content marked as private from search results, shared albums, labels, and places.":"Excludeți conținutul marcat ca fiind privat din rezultatele căutării, albumele partajate, etichetele și locații.","Exclude hidden":"Excludeți ascunse","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"Extragerea metadatelor cu ExifTool este necesară pentru suportul complet pentru Video, Live Photo și XMP.","Experimental Features":"Caracteristici experimentale","Expires":"Expiră","Exposure":"Expunere","Extract still images and generate thumbnails while indexing.":"Extrageți imagini statice și generați miniaturi în timpul indexării.","F Number":"Numărul F","Face":"Față","Faces":"Fețe","Failed removing link":"Nu a reușit să elimine legătura","Failed to connect account.":"A eșuat conectarea contului.","Failed updating link":"Link de actualizare eșuat","Family Name":"Nume de familie","Fast":"Rapid","Favorite":"Favorit","Favorites":"Favorite","Feature Request":"Cerere de caracteristici","Feedback":"Părere","Female":"Femeie","File":"Fișier","File Browser":"Browser de fișiere","File Conversion":"Conversia fișierelor","File Name":"Numele fișierului","File Size":"Dimensiunea fișierului","Filename":"Nume fisier","Files":"Fișiere","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Fișierele cu nume secvențiale, cum ar fi 'IMG_1234 (2)' și 'IMG_1234 (3)' aparțin aceleiași imagini.","First page":"Prima pagină","Focal Length":"Lungime focală","Folder":"Dosar","Folder contains %{n} files":"Dosarul conține %{n} fișiere","Folder is empty":"Dosarul este gol","Folders":"Dosare","Forgot password?":"Ați uitat parola?","FPS":"FPS","Frames":"Cadre","Full Access":"Acces complet","Fullscreen":"Ecran complet","General":"General","Generate":"Genera","Generate albums of special moments, journeys, and places.":"Creează automat albume cu momente, călătorii și locuri speciale.","Generate Previews":"Generați previzualizări","Generated":"Generate","Get Started":"Începeți","Given Name":"Numele dat","Global Options":"Opțiuni globale","Go to page {0}":"Mergeți la pagina {0}","Gold":"Aur","Green":"Verde","Grey":"Gri","Guest":"Oaspete","Hash":"Hash","Help":"Ajutor","Help & Support":"Suport","Hidden":"Ascuns","Hidden Files":"Fișiere ascunse","Hide":"Ascundeți","Hide photos that have been moved to archive.":"Ascundeți fotografiile care au fost mutate în arhivă.","High":"Mare","High Dynamic Range (HDR)":"Gama dinamică înaltă (HDR)","How can we help?":"Cum vă putem ajuta?","Hybrid":"Hibrid","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Dacă pierdeți accesul la aplicația sau dispozitivul dvs. de autentificare, puteți utiliza codul de recuperare pentru a recâștiga accesul la contul dvs.","Image":"Imagine","Image Quality":"Calitatea imaginii","Import":"Import","Import failed":"Importul a eșuat","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Fișierele importate vor fi sortate în funcție de dată și vor primi un nume unic pentru a se evita dublurile.","Imported files will be sorted by date and given a unique name.":"Fișierele importate vor fi sortate în funcție de dată și vor primi un nume unic.","Importing %{s}…":"Importăm %{s}…","Importing files to originals…":"Importul de fișiere în originale…","in":"în","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"În cazul în care imaginile pe care le așteptați lipsesc, vă rugăm să scanați din nou biblioteca dvs. și să așteptați până când indexarea va fi finalizată.","Include RAW image files when downloading stacks and archives.":"Includeți fișiere de imagine RAW atunci când descărcați stive și arhive.","Include sidecar files when downloading stacks and archives.":"Includeți fișiere sidecar atunci când descărcați stive și arhive.","Increase storage size or delete files to continue.":"Creșteți dimensiunea de stocare sau ștergeți fișierele pentru a continua.","Index":"Index","Index and import files through the user interface.":"Indexați și importați fișiere prin intermediul interfeței cu utilizatorul.","Indexing":"Indexare","Indexing failed":"Indexarea a eșuat","Indexing media and sidecar files…":"Indexarea fișierelor media și a fișierelor sidecar…","Information":"Informații","Instance ID":"ID-ul instanței","Insufficient storage.":"Depozitare insuficientă.","Interval":"Interval","Invalid":"Invalid","Invalid address":"Adresă invalidă","Invalid country":"Țară invalidă","Invalid date":"Dată invalidă","Invalid parameters":"Parametrii nevalabili","Invalid photo selected":"Fotografie invalidă selectată","Invalid time":"Ora invalidă","Invalid URL":"URL invalid","It is a one-time use code that will disable 2FA for your account when you use it.":"Este un cod de unică folosință care va dezactiva 2FA pentru contul dvs. atunci când îl utilizați.","Item":"Articolul","Items per page:":"Articole pe pagină:","JPEG Quality: %{n}":"Calitate JPEG: %{n}","JPEG Size Limit: %{n}px":"Limita dimensiunii JPEG: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"JPEG-urile și miniaturile sunt redate automat, după cum este necesar.","Keywords":"Cuvinte cheie","Label":"Etichetă","Labels":"Etichete","Labels deleted":"Etichete șterse","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: Conservarea detaliilor, artefacte minime","Language":"Limba","Last Active":"Ultimul activ","Last Login":"Ultima autentificare","Last page":"Ultima pagină","Last Sync":"Ultima sincronizare","Last Used":"Folosit ultima data","Latitude":"Latitudine","LDAP/AD":"LDAP/AD","Learn more":"Aflați mai multe","Learn More":"Aflați mai multe","Legal Information":"Informații juridice","Lens":"Obiectiv","Library":"Bibliotecă","License":"Licență","Like":"Ca","Lime":"Lămâie verde","Limit reached, showing first %{n} files":"Limita a fost atinsă, afișând primele %{n} fișiere","Linear: Very Smooth, Best Performance":"Liniare: Foarte netedă, cea mai bună performanță","Link":"Link","List":"Listă","List View":"Vizualizare listă","Live":"Live","Live Photos":"Fotografii în direct","Load more":"Încărcați mai mult","Loading items...":"Încărcare articole...","Loading...":"Încărcare...","Local":"Local","Local Time":"Ora locală","Location":"Locație","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Mesajele de jurnal apar aici ori de câte ori PhotoPrism întâlnește fișiere sparte sau există alte probleme potențiale.","Login":"Autentificare","Logout":"Logout","Logs":"Jurnale","Longitude":"Longitudine","Low":"Scăzut","Magenta":"Magenta","Main Color":"Culoare principală","Male":"Bărbat","Manage Account":"Gestionați contul","Manager":"Manager","Manual":"Manual","Manual Upload":"Încărcare manuală","Maps":"Hărți","Marker":"Marker","Maximum number of accounts has been reached.":"Numărul maxim de conturi a fost atins.","Media":"Media","Medium":"Mediu","Membership":"Calitate de membru","Merge %{a} with %{b}?":"Combină %{a} cu %{b}?","Message":"Mesaj","Message sent":"Mesaj trimis","Metadata":"Metadate","Metrics":"Metrici","Minimize":"Minimizați","Missing":"Lipsesc","Missing or invalid configuration":"Configurație lipsă sau invalidă","Moments":"Momente","Monochrome":"Monocromie","Month":"Luna","More options":"Mai multe opțiuni","Mosaic":"Mozaic","Most Relevant":"Cele mai relevante","Move Files":"Muta fișierele","Must have at least %{n} characters.":"Trebuie să aibă cel puțin %{n} caractere.","Mute":"Mută","Name":"Nume","Name too long":"Nume prea lung","Never":"Niciodată","New":"Nou","New Password":"Parolă nouă","Newest First":"Cel mai nou Mai întâi","Next":"Următorul","Next page":"Pagina următoare","Next visual":"Următorul vizual","No":"Nu","No albums found":"Nu s-au găsit albume","No data available":"Nu există date disponibile","No labels found":"Nu s-au găsit etichete","No matching records found":"Nu s-au găsit înregistrări corespunzătoare","No more":"Nu mai mult","No people found":"Nu s-au găsit persoane","No pictures found":"Nu s-au găsit imagini","No recently edited pictures":"Nu există imagini editate recent","No results":"Niciun rezultat","No server connection":"Nu există conexiune la server","No servers configured.":"Nu există servere configurate.","No services configured.":"Nu sunt configurate servicii.","No thanks":"Nu, mulțumesc","No warnings or error containing this keyword. Note that search is case-sensitive.":"Nu există avertismente sau erori care să conțină acest cuvânt cheie. Rețineți că căutarea este sensibilă la majuscule și minuscule.","Non-photographic and low-quality images require a review before they appear in search results.":"Imaginile nefotografice și de slabă calitate necesită o revizuire înainte de a apărea în rezultatele căutării.","None":"Nici unul","Not allowed":"Nu este permis","Not found":"Nu a fost găsit","Not sorted.":"Nu sortate.","Not supported":"Nu este acceptat","Note you may manually manage your originals folder and importing is optional.":"Rețineți că vă puteți gestiona manual dosarul de originale, iar importul este opțional.","Note:":"Notă:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Notă: Numai serverele WebDAV, cum ar fi Nextcloud sau PhotoPrism, pot fi configurate ca serviciu la distanță pentru backup și încărcare de fișiere.","Notes":"Note","Nothing to see here yet.":"Încă nu este nimic de văzut aici.","Nothing was found.":"Nu s-a găsit nimic.","Offline":"Deconectat","OIDC":"OIDC","OK":"OK","Oldest First":"Cel mai vechi Mai întâi","On Windows, enter the following resource in the connection dialog:":"Pe Windows, introduceți următoarea resursă în fereastra de dialog de conectare:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"Generarea la cerere a miniaturilor poate cauza o utilizare ridicată a procesorului și a memoriei. Nu este recomandată pentru serverele și dispozitivele NAS cu resurse limitate.","Once a week":"O dată pe săptămână","One album found":"Un album găsit","One file found":"Un fișier găsit","One file uploaded":"Un fișier încărcat","One folder found":"Un dosar găsit","One label found":"O etichetă găsită","One person found":"O persoană găsită","One picture found":"O imagine găsită","Only locally managed accounts can be set up for authentication with 2FA.":"Numai conturile gestionate local pot fi configurate pentru autentificare cu 2FA.","Open":"Deschideți","optional":"opțional","or":"sau","Orange":"Portocaliu","Organization":"Organizația","Orientation":"Orientare","Original file names will be stored and indexed.":"Numele originale ale fișierelor vor fi stocate și indexate.","Original Name":"Denumire originală","Originals":"Originale","Other":"Altele","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Viziunea noastră este să oferim cea mai prietenoasă soluție pentru utilizator și confidențialitate pentru a vă păstra fotografiile organizate și accesibile.","Outdoor":"În aer liber","Page {0}, Current page":"Pagina {0}, Pagina curentă","Pages":"Pagini","Pagination Navigation":"Paginare Navigare","Panorama":"Panoramă","Panoramas":"Panorame","Password":"Parola","Password changed":"Parola a fost schimbată","People":"Oameni","People you share a link with will be able to view public contents.":"Persoanele cu care partajați un link vor putea vizualiza conținutul public.","Permanently deleted":"Șterse definitiv","Permanently remove files to free up storage.":"Eliminați permanent fișierele pentru a elibera spațiu de stocare.","Person":"Persoană","Personal":"Personal","Photo":"Fotografie","PhotoPrism is 100% self-funded and independent.":"PhotoPrism este 100% autofinanțat și independent.","PhotoPrism+ Membership":"Abonament PhotoPrism+","Photos":"Fotografii","Picture Title":"Titlu imagine","Pink":"Roz","Place":"Locul","Place & Time":"Locul și Ora","Places":"Locuri","Please confirm your new password.":"Vă rugăm să confirmați noua parolă.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Vă rugăm să copiați următoarea parolă a aplicației generată aleatoriu și să o păstrați într-un loc sigur, deoarece nu o veți putea vedea din nou:","Please do not upload any private, unlawful or offensive pictures.":"Vă rugăm să nu încărcați imagini private, ilegale sau ofensatoare.","Please don't upload photos containing offensive content.":"Vă rugăm să nu încărcați fotografii cu conținut ofensator.","Please enter OTP character {0}":"Vă rugăm să introduceți caracterul OTP {0}","Please note that changing your password will log you out on other devices and browsers.":"Vă rugăm să rețineți că schimbarea parolei vă va deconecta de pe alte dispozitive și browsere.","Please restart your instance for the changes to take effect.":"Vă rugăm să reporniți instanța pentru ca modificările să intre în vigoare.","Please wait…":"Vă rugăm să așteptați…","PM":"PM","PNG Size Limit: %{n}px":"Limita de dimensiune PNG: %{n}px","Portrait":"Portret","Preserve filenames":"Păstrați numele fișierelor","Press enter to create a new album.":"Apăsați enter pentru a crea un album nou.","Prevent database and album backups as well as YAML sidecar files from being created.":"Împiedicați crearea de copii de rezervă ale bazei de date și ale albumelor, precum și a fișierelor YAML sidecar.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Împiedicați alte aplicații să acceseze PhotoPrism ca unitate de rețea partajată.","Preview":"Previzualizare","Preview Images":"Imagini de previzualizare","Previous":"Articolul precedent","Previous page":"Pagina anterioară","Previous visual":"Vizual anterior","Primary":"Primare","Private":"Privat","Product Feedback":"Feedback despre produs","Projection":"Proiecție","Purple":"Violet","Quality Filter":"Filtru de calitate","Quality Score":"Scorul de calitate","r":"r","Random":"Aleatoriu","Rating {0} of {1}":"Evaluare {0} din {1}","Raw":"Raw","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Reindexarea tuturor documentelor originale, inclusiv a fișierelor deja indexate și neschimbate.","Read-Only Mode":"Mod doar pentru citire","Recently Added":"Adăugate recent","Recently Archived":"Arhivate recent","Recently Edited":"Editate recent","Recognition starts after indexing has been completed.":"Recunoașterea începe după ce indexarea a fost finalizată.","Recognize faces so people can be assigned and found.":"Recunoaște fețele, astfel încât să poată fi găsite anumite persoane.","Recognized":"Recunoscută","Recovery Code":"Cod de recuperare","Red":"Roșu","Refresh":"Reîmprospătare","Regions":"Regiuni","Register":"Înregistrare","Reload":"Reîncărcare","Reloading…":"Se reîncarcă…","Remote Sync":"Sincronizare la distanță","Remove":"Eliminați","remove failed: unknown album":"eliminarea eșuată: album necunoscut","Remove from Album":"Eliminați din album","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Eliminați fișierele importate pentru a economisi spațiu de stocare. Tipurile de fișiere neacceptate nu vor fi niciodată șterse, ele rămân în locația lor curentă.","Request failed - are you offline?":"Cerere eșuată - sunteți offline?","Request failed - invalid response":"Cerere eșuată - răspuns invalid","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Cereți ca imaginile non-fotografice și de calitate scăzută să fie revizuite înainte de a apărea în rezultatele căutării.","Resolution":"Rezoluție","Restart":"Reporniți","Restore":"Restaurați","Restored":"Restaurat","Retry Limit":"Limita de reintroducere","Retype Password":"Repeta parola","Review":"Revizuire","Role":"Rol","Rows per page:":"Rânduri pe pagină:","Satellite":"Satelit","Save":"Salvați","Scan":"Scanare","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Scanați codul QR cu aplicația dvs. de autentificare sau utilizați cheia de configurare afișată mai jos și apoi introduceți codul de verificare generat:","Scans":"Scanări","Scope":"Domeniul de aplicare","Search":"Căutare","Search and display photos on a map.":"Căutați și afișați fotografiile pe hartă.","Season":"Sezon","Secret":"Secret","Security and Access":"Securitate și acces","Select":"Selectați","Select a source folder to import files…":"Selectați un folder sursă pentru a importa fișiere…","Select date":"Selectați data","Select dates":"Selectați datele","Select or create an album":"Selectați sau creați un album","Select the files to upload…":"Selectați fișierele pentru încărcare…","Select the folder to be indexed…":"Selectați folderul care urmează să fie indexat…","Select Time":"Selectați ora","Selection approved":"Selecție aprobată","Selection archived":"Selecție arhivată","Selection restored":"Selecție restabilită","Sequential Name":"Denumire secvențială","Service URL":"URL de serviciu","Services":"Servicii","Session":"Sesiunea","Session ID":"ID-ul sesiunii","Sessions":"Sesiuni","Set as Album Cover":"Setați ca copertă de album","Settings":"Setări","Settings saved":"Setări salvate","Setup":"Configurare","Share":"Distribuie","Share %{s}":"Distribuie %{nume}","Share your pictures with other apps and services.":"Partajați-vă fotografiile cu alte aplicații și servicii.","Show":"Arată","Show all new faces":"Afișați toate fețele noi","Show Captions":"Afișați subtitrări","Show hidden":"Arată ascuns","Show less":"Arată mai puțin","Show more":"Arată mai mult","Show server logs in Library.":"Afișați jurnalele serverului în Bibliotecă.","Show Titles":"Afișați titlurile","Sidecar":"Sidecar","Sidecar Files":"Fișiere Sidecar","Sign in":"Conectați-vă","Similar":"Similar","Size":"Dimensiune","Slideshow":"Prezentare de diapozitive","Slow":"Încet","Software":"Software","Software Update":"Actualizare software","Something went wrong, try again":"Ceva nu a mers bine, încercați din nou","Sort by":"Sortare după","Sort Order":"Ordinea de sortare","Sorted ascending.":"Sortate crescător.","Sorted descending.":"Sortate descrescător.","Source":"Sursă","Stack":"Stivă","Stack files sharing the same unique image or instance identifier.":"Stivuiți fișiere care partajează aceeași imagine unică sau identificator de instanță.","Stack pictures taken at the exact same time and location based on their metadata.":"Stivuiți fotografiile realizate exact în același moment și în aceeași locație, pe baza metadatelor.","Stackable":"Stivuibil","Stacks":"Stive","Start":"Start","Start Page":"Pagina de start","Static Size Limit: %{n}px":"Limita dimensiunii statice: %{n}px","Status":"Stare","Storage":"Spațiu de stocare","Streets":"Străzi","Subject":"Subiect","Submit":"Trimite","Successfully activated":"Activat cu succes","Successfully Connected":"Conectat cu succes","Successfully deleted":"Eliminat cu succes","Successfully verified":"Verificat cu succes","Super Admin":"Super Admin","Support for additional services, like Google Drive, will be added over time.":"Suportul pentru servicii suplimentare, cum ar fi Google Drive, va fi adăugat în timp.","Support Our Mission":"Susține misiunea noastră","Sync":"Sincronizare","Sync raw and video files":"Sincronizarea fișierelor raw și video","Taken":"Luat","Teal":"Turcoaz","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow este necesar pentru clasificarea imaginilor, recunoașterea facială și detectarea conținutului nesigur.","Terrain":"Teren","Text":"Text","Text too long":"Text prea lung","Thank You for Your Support!":"Vă mulțumim pentru sprijinul dumneavoastră!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"De aceea, PhotoPrism a fost construit de la zero pentru a funcționa oriunde aveți nevoie, fără a compromite libertatea, confidențialitatea sau funcționalitatea.","The index currently contains %{n} hidden files.":"În prezent, indexul conține %{n} fișiere ascunse.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Este posibil ca formatul lor să nu fie acceptat, să nu fi fost încă convertite în JPEG sau să existe duplicate.","Theme":"Temă","This field is required":"Acest câmp este obligatoriu","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Acest lucru montează dosarul de originale ca unitate de rețea și vă permite să deschideți, să editați și să ștergeți fișiere de pe computer sau de pe telefonul smartphone ca și cum ar fi locale.","Time UTC":"Ora UTC","Time Zone":"Fusul orar","Timeout":"Pauză","Title":{"Account":"Titlu","Photo":"Titlu","":"Titlu"},"Title / Position":"Titlul / Poziția","Title too long":"Titlu prea lung","to":"la","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Pentru a evita blocarea contului dvs., vă rugăm să descărcați, imprimați sau copiați acest cod de recuperare acum și păstrați-l într-un loc sigur.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Pentru a genera o nouă parolă specifică aplicației, introduceți numele și domeniul de autorizare al aplicației și selectați o dată de expirare:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Pentru a comuta la o nouă aplicație sau dispozitiv de autentificare, mai întâi dezactivați autentificarea cu doi factori și apoi reactivați-o:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Pentru a face upgrade, puteți introduce un cod de activare sau puteți face clic pe \"Înregistrare\" pentru a vă înscrie pe site-ul nostru:","Today":"Astăzi","Toggle View":"Schimbă vizualizarea","Token":"Jeton","Too many files selected":"Prea multe fișiere selectate","Too many requests":"Prea multe cereri","Troubleshooting":"Rezolvarea problemelor","Try again using other filters or keywords.":"Încercați din nou folosind alte filtre sau cuvinte cheie.","Two-factor authentication has been enabled for your account.":"Autentificarea cu doi factori a fost activată pentru contul dvs.","Type":"Tip","Unable to delete":"Nu se poate șterge","Unauthorized":"Neautorizat","Undo":"Înapoi","Unique ID":"ID unic","Unknown":"Necunoscut","Unregistered":"Neînregistrat","Unsorted":"Nesortat","Unstack":"Despachetare","Updated":"Actualizat","Updating faces":"Actualizarea fețelor","Updating index":"Actualizarea index-ului","Updating moments":"Actualizarea momentelor","Updating picture…":"Actualizarea imaginii…","Updating previews":"Actualizarea previziunilor","Updating stacks":"Actualizarea stivelor","Upgrade":"Actualizare","Upgrade Now":"Actualizați acum","Upload":"Încărcați","Upload complete":"Încărcare completă","Upload complete. Indexing…":"Încărcare completă. Se indexează…","Upload failed":"Încărcarea a eșuat","Upload local files":"Încărcați fișiere locale","Upload Path":"Cale de încărcare","Upload to WebDAV and share links with friends.":"Încărcați pe WebDAV și partajați linkuri cu prietenii.","Uploading %{n} of %{t}…":"Se încarcă %{n} din %{t}…","Uploading photos…":"Se încarcă fotografii…","Uploading…":"Se încarcă…","Uploads that may contain such images will be rejected automatically.":"Încărcările care pot conține astfel de imagini vor fi respinse automat.","Use Presets":"Utilizați presetări","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Utilizați următorul cod de recuperare pentru a vă accesa contul atunci când nu puteți genera un cod de verificare valid cu aplicația dvs. de autentificare:","Use your recovery code or contact an administrator for help.":"Utilizați codul de recuperare sau contactați un administrator pentru ajutor.","User":"Utilizator","User Guide":"Ghidul utilizatorului","User Interface":"Interfața utilizatorului","Username":"Numele utilizatorului","Users":"Utilizatori","Vector":"Vector","Vectors":"Vectori","Verification Code":"Cod de verificare","Video":"Clip","Video Duration":"Durata Videoclipului","Videos":"Videoclipuri","View":"Vedere","View search results as a list.":"Vizualizați rezultatele căutării ca o listă.","Viewer":"Vizualizator","Visitor":"Vizitator","Visual Similarity":"Similaritate vizuală","Warning":"Avertisment","We appreciate your feedback!":"Apreciem feedback-ul dumneavoastră!","We do our best to respond within five business days or less.":"Facem tot posibilul să răspundem în termen de cinci zile lucrătoare sau mai puțin.","Web Login":"Autentificare Web","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"Clienții WebDAV se pot conecta la PhotoPrism folosind următoarea adresă URL:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"Clienții WebDAV, cum ar fi Microsoft Windows Explorer sau Apple Finder, se pot conecta direct la PhotoPrism.","WebDAV Upload":"Încărcare WebDAV","WebGL support is disabled in your browser":"Suportul WebGL este dezactivat în browserul dvs.","Website":"Site web","White":"Alb","Work Details":"Detalii de lucru","Year":"Anul","Yellow":"Galben","Yes":"Da","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Vă invităm să ne contactați la membership@photoprism.app pentru întrebări legate de calitatea de membru.","You can only download one album":"Poți descărca doar un singur album","You can only download one label":"Puteți descărca doar o singură etichetă","You can search for a location or move the marker on the map to change the position:":"Puteți căuta o locație sau puteți muta markerul pe hartă pentru a schimba poziția:","You can upload up to %{n} files for test purposes.":"Puteți încărca până la %{n} fișiere în scopuri de testare.","You may only select one item":"Puteți selecta doar un singur element","You may rescan your library to find additional faces.":"Puteți să scanați din nou biblioteca dumneavoastră pentru a găsi alte fețe.","Your account has been successfully connected.":"Contul dvs. a fost conectat cu succes.","Your browser does not support WebGL":"Browserul dvs. nu acceptă WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Sprijinul dvs. continuu ne ajută să furnizăm actualizări regulate și să rămânem independenți, astfel încât să ne putem îndeplini misiunea și să vă protejăm confidențialitatea.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Biblioteca dvs. este analizată în permanență pentru a crea automat albume cu momente, călătorii și locuri speciale.","Zoom in/out":"Măriți/micșorați"}} \ No newline at end of file diff --git a/frontend/src/locales/json/ru.json b/frontend/src/locales/json/ru.json index 6f3f40097..0c74f38a3 100644 --- a/frontend/src/locales/json/ru.json +++ b/frontend/src/locales/json/ru.json @@ -1 +1 @@ -{"ru":{"{0} appended action":"{0} приложенное действие","{0} files":"{0} файлов","{0} files ({1} in total)":"{0} файлов (всего {1})","{0} more":"{0} больше","{0} prepended action":"{0} препарированное действие","{0} selected":"{0} выбран","{0}-{1} of {2}":"{0}-{1} из {2}","%{n} albums found":"%{n} альбомов найдено","%{n} files uploaded":"%{n} файлов загружено","%{n} folders found":"%{n} папок найдено","%{n} GB of %{q} GB used":"%{n} Гб из %{q} Использованных гигабайт","%{n} labels found":"%{n} меток найдено","%{n} people found":"найдено %{n} человек","%{n} pictures found":"найдено %{n} изображений","%{s} is too long":"%{s} слишком длинный","%{s} is too short":"%{s} слишком короткий","1 hour":"1 час","12 hours":"12 часов","2-Factor Authentication":"Двухфакторная аутентификация","2FA":"2ФА","4 hours":"4 часа","A click will copy it to your clipboard.":"Клик скопирует это в буфер обмена.","A new version of %{s} is available:":"Доступна новая версия %{s}:","About":"О нас","Access Token":"Токен доступа","Account":"Учётная запись","Account created":"Учетная запись создана","Account deleted":"Учетная запись удалена","Account restored":"Аккаунт восстановлен","Accounts":"Счета","Accuracy":"Точность","Action":"Действие","Actions":"Действия","Activate":"Активировать","Activate to remove sorting.":"Активируй, чтобы убрать сортировку.","Activate to sort ascending.":"Активируй, чтобы сортировать по возрастанию.","Activate to sort descending.":"Активируй, чтобы сортировать по убыванию.","Activation Code":"Код активации","Add":"Добавить","Add %{s}?":"Добавь %{s}?","Add Account":"Добавить учётную запись","Add Album":"Добавить альбом","Add files to your library via Web Upload.":"Добавьте файлы в свою библиотеку через Веб Загрузку.","Add Link":"Добавить ссылку","Add person?":"Добавить человека?","Add pictures from search results by selecting them.":"Добавьте картинки из результатов поиска, выбирая их.","Add to album":"Добавить в альбом","Added":"Добавлено","Admin":"Администратор","Advanced":"Дополнительно","After 1 day":"Спустя 1 день","After 3 days":"Спустя 3 дня","After 7 days":"Спустя 7 дней","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"После ввода пароля для подтверждения вы можете настроить двухфакторную аутентификацию с помощью совместимого приложения или устройства для проверки подлинности:","After one month":"Спустя 1 месяц","After one year":"Спустя 1 год","After selecting pictures from search results, you can add them to an album using the context menu.":"После выбора изображений из результатов поиска их можно добавить в альбом с помощью контекстного меню.","After two months":"Спустя 2 месяца","After two weeks":"Спустя 2 недели","Album":"Альбом","Album Backups":"Резервные копии альбомов","Album created":"Альбом создан","Albums":"Альбомы","Albums deleted":"Альбомы удалены","All":"Все","All %{n} albums loaded":"Все %{n} альбомов загружены","All %{n} labels loaded":"Все %{n} меток загружены","All %{n} people loaded":"Все %{n} человек загружены","All Cameras":"Все камеры","All Categories":"Все категории","All Colors":"Все цвета","All Countries":"Все страны","All fields are required":"Все поля обязательны к заполнению","All files from import folder":"Все файлы из папки импорта","All Lenses":"Все объективы","All Months":"Все месяцы","All originals":"Все оригиналы","All Years":"Все года","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Кроме того, вы можете загружать файлы непосредственно на WebDAV-серверы, такие как Nextcloud.","Altitude":"Высота","Altitude (m)":"Высота (м)","AM":"AM","Animated":"Анимированный","Animation":"Анимация","Any private photos and videos remain private and won't be shared.":"Любые личные фотографии и видео остаются личными и не будут распространяться.","API Key":"Ключ API","Application":"Приложение","Apply":"Применить","Approve":"Подтвердить","Apps and Devices":"Приложения и устройства","Archive":"Архивировать","Archived":"Заархивировано","Are you sure you want to archive the selection?":"Вы действительно хотите переместить эти фотографии в архив?","Are you sure you want to delete these albums?":"Вы действительно хотите удалить эти альбомы?","Are you sure you want to delete these labels?":"Вы действительно хотите удалить эти метки?","Are you sure you want to delete this account?":"Вы действительно хотите удалить этот аккаунт?","Are you sure you want to permanently delete these pictures?":"Вы уверены, что хотите навсегда удалить эти фотографии?","Are you sure you want to permanently delete this file?":"Вы уверены, что хотите навсегда удалить этот файл?","Are you sure?":"Вы уверены?","Artist":"Автор","Aspect Ratio":"Соотношение сторон","Audio":"Аудио","Authentication":"Аутентификация","Auto":"Авто","Back":"Назад","Back to top":"Вернуться к началу","Backup":"Резервная копия","Badge":"Значок","Base Path":"Базовый путь","Become a member today, support our mission and enjoy our member benefits!":"Станьте членом клуба сегодня, поддержите нашу миссию и воспользуйтесь нашими преимуществами!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Будучи на 100% самофинансируемыми и независимыми, мы можем пообещать вам, что никогда не будем продавать ваши данные и что мы всегда будем прозрачны в отношении нашего программного обеспечения и услуг.","Bio":"Биография","Birth Date":"Дата рождения","Black":"Черный","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: модификация Lanczos, меньше артефактов звона","Blue":"Синий","Brown":"Коричневый","Browse":"Просмотреть","Browse and edit image classification labels.":"Просматривайте и редактируйте метки классификации изображений.","Browse and share your pictures organized into monthly albums.":"Просматривай и делись своими фотографиями, организованными в ежемесячные альбомы.","Browse Files":"Просмотреть файлы","Browse indexed files and folders in Library.":"Просматривайте проиндексированные файлы и папки в Библиотеке.","Bug Report":"Отчет об ошибке","Busy, please wait…":"Занят, пожалуйста, подождите…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Используя программное обеспечение и услуги, которые мы предоставляем, вы соглашаетесь с нашими условиями обслуживания, политикой конфиденциальности и кодексом поведения.","Calendar":"Календарь","Camera":"Камера","Camera Serial":"Камера","Can't access your authenticator app or device?":"Не можешь получить доступ к своему приложению или устройству аутентификатора?","Can't load more, limit reached":"Не могу загрузить больше, достигнут лимит","Can't select more items":"Нельзя выбрать больше элементов","Cancel":"Отменить","Caption":"Надпись","Cards":"Карточки","Carousel slide {0} of {1}":"Карусельный слайд {0} из {1}","Category":"Категория","Change Avatar":"Изменить аватар","Change Password":"Изменить пароль","Change personal profile and security settings.":"Изменить личный профиль и настройки безопасности.","Change photo titles, locations, and other metadata.":"Изменить названия фотографий, местоположения и другие метаданные.","Change private flag":"Изменить флаг приватности","Changes could not be saved":"Изменения не будут сохранены","Changes successfully saved":"Изменения успешно сохранены","Changes to the advanced settings require a restart to take effect.":"Изменения в расширенных настройках требуют перезапуска, чтобы вступить в силу.","Checked":"Проверено","Chroma":"Цветовая гамма","Cleaning index and cache":"Очистка индекса и кэша","Cleanup":"Очистка","Clear {0}":"Очистить {0}","Client":"Клиент","Client Credentials":"Учетные данные клиента","Close":"Закрыть","Codec":"Кодек","Color":"Цвет","Color Profile":"Цветовой профиль","Colors":"Цвета","Compare Editions":"Сравнить издания","Complete Rescan":"Полный рескан","Confidence":"Уверенность","Confirm":"Подтверждать","Connect":"Соединен","Connect via WebDAV":"Соединиться через WebDAV","Connected":"Подключено","Contact Details":"Контактная информация","Contact Us":"Свяжитесь с нами","Contains %{n} pictures.":"Содержит %{n} фотографий.","Contains one picture.":"Содержит одну фотографию.","Content":"Содержание","Continue":"Продолжить","Continue with %{provider}":"Продолжить с %{provider}","Contributor":"Вкладчик","Converting":"Конвертация","Copied to clipboard":"Скопировано в буфер обмена","Copy":"Копировать","Copyright":"Копирайт","Couldn't find anything.":"Ничего не найдено.","Country":"Страна","Create Account":"Создать учетную запись","Create album":"Создать альбом","Create regular backups based on the configured schedule.":"Создать резервные копии индексов по настроенному расписанию.","Create YAML files to back up album metadata.":"Создать YAML-файлы для резервного копирования метаданных альбома.","Create YAML sidecar files to back up picture metadata.":"Создать побочные файлы YAML для резервного копирования метаданных картинок.","Created":"Создано","Creating thumbnails for":"Сформировать предпросмотр","Cubic: Moderate Quality, Good Performance":"Кубический: умеренное качество, хорошая производительность","Current Password":"Текущий пароль","Custom":"Пользовательский","Cyan":"Сине-зеленый","Daily":"Ежедневно","Database Backups":"Резервные копии баз данных","Day":"День","Deactivate":"Деактивировать","Debug Logs":"Отладочные Логи","Default":"По умолчанию","Default Folder":"Папка по умолчанию","Delete":"Удалить","Delete All":"Удалить все","Delete all?":"Удалить все?","Delete orphaned index entries, sidecar files and thumbnails.":"Удалить бесхозные записи в индексе, файлы sidecar и миниатюры.","Description":"Описание","Detailed instructions can be found in our User Guide.":"Подробные инструкции можно найти в нашем руководстве пользователя.","Details":"Детали","Dimensions":"Размеры","Disable Backups":"Отключить резервное копирование","Disable Darktable":"Отключить Darktable","Disable ExifTool":"Отключить ExifTool","Disable features that require write permission for the originals folder.":"Отключи функции, требующие разрешения на запись в папку с оригиналами.","Disable FFmpeg":"Отключить FFmpeg","Disable ImageMagick":"Отключить ImageMagick","Disable interactive world maps and reverse geocoding.":"Отключить интерактивные карты мира и обратное геокодирование.","Disable Places":"Отключить Места","Disable RawTherapee":"Отключить RawTherapee","Disable TensorFlow":"Отключить TensorFlow","Disable Vectors":"Отключение векторов","Disable WebDAV":"Отключить WebDAV","Disables vector graphics support.":"Отключает поддержку векторной графики.","Disables video transcoding and thumbnail extraction.":"Отключает перекодирование видео и извлечение миниатюр.","Discover":"Исследование","Dismiss":"Отклонить","Display Name":"Отображаемое имя","Display picture captions in search results.":"Отображай подписи к картинкам в результатах поиска.","Display picture titles in search results.":"Отображай названия картинок в результатах поиска.","Document":"Документ","Documents":"Документы","Don't use Darktable to convert RAW images.":"Не использовать Darktable для конвертирования RAW-файлов.","Don't use ImageMagick to convert images.":"Не используйте ImageMagick для преобразования изображений.","Don't use RawTherapee to convert RAW images.":"Не использовать RawTherapee для конвертирования RAW-файлов.","Done":"Готово","Done.":"Готово.","Download":"Скачать","Download only original media files, without any automatically generated files.":"Загружайте только оригинальные медиафайлы, без каких-либо автоматически сгенерированных файлов.","Download remote files":"Скачать удалённые файлы","Download single files and zip archives.":"Скачать отдельные файлы и zip-архивы.","Downloading…":"Загрузка…","Downscaling Filter":"Алгоритм создания превью","Drag and drop files here":"Перетаскивай файлы сюда","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"Из-за большого количества электронных писем, которые мы получаем, наша команда, возможно, не сможет немедленно связаться с вами.","Duplicates will be skipped and only appear once.":"Дубликаты будут пропущены и появятся только один раз.","Duration":"Продолжительность","Dynamic Previews":"Динамические превью","Dynamic Size Limit: %{n}px":"Недостигнутое ограничение размера: %{n}px","E-Mail":"E-Mail","Edit":"Редактировать","Edit %{s}":"Редактировать %{s}","Edit Account":"Редактировать аккаунт","Edit Photo":"Редактировать фотографию","Edited":"Отредактировано","Email":"Электронная почта","Enable debug mode to display additional logs and help with troubleshooting.":"Включи режим отладки, чтобы отобразить дополнительные журналы и помочь в устранении неполадок.","Enable new features that may be incomplete or unstable.":"Включай новые функции, которые могут быть неполными или нестабильными.","Enables RAW converter presets. May reduce performance.":"Включает предустановки конвертера RAW. Может снизить производительность.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Включение двухфакторной аутентификации означает, что для входа в систему вам понадобится случайно сгенерированный код подтверждения, поэтому даже если кто-то получит доступ к вашему паролю, он не сможет получить доступ к вашей учетной записи.","Enter date":"Введите дату","Enter dates":"Введите даты","Enter the code generated by your authenticator app:":"Введи код, сгенерированный твоим приложением-аутентификатором:","Enter verification code":"введите код подтверждения","Enter your password to confirm the action and continue:":"Введите пароль, чтобы подтвердить действие и продолжить:","Error":"Ошибка","Errors":"Ошибки","Estimate":"Смета","Estimate Locations":"Примерные места","Estimate the approximate location of pictures without GPS coordinates.":"Оценивай примерное местоположение картинок без GPS-координат.","Every two days":"Каждые два дня","Exclude content marked as private from search results, shared albums, labels, and places.":"Исключить содержимое, отмеченное приватным, из результатов поиска, общих альбомов, меток и мест.","Exclude hidden":"Исключить скрытые","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"Для полной поддержки Video, Live Photo и XMP требуется извлечение метаданных с помощью ExifTool.","Experimental Features":"Экспериментальные возможности","Expires":"Ожидаемое время","Exposure":"Экспозиция","Extract still images and generate thumbnails while indexing.":"Извлекай неподвижные изображения и создавай миниатюры во время индексации.","F Number":"Диафрагменное число","Face":"Лицо","Faces":"Лица","Failed removing link":"Не удалось удалить ссылку","Failed to connect account.":"Не удалось подключить аккаунт.","Failed updating link":"Не удалось загрузить ссылку","Family Name":"Фамилия","Fast":"Быстро","Favorite":"В избранном","Favorites":"Избранное","Feature Request":"Запрос функции","Feedback":"Обратная связь","Female":"Женский","File":"Файлы","File Browser":"Файловый менеджер","File Conversion":"Преобразование файлов","File Name":"Имя файла","File Size":"Размер файла","Filename":"Название файла","Files":"Файлы","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Файлы с последовательными именами типа 'IMG_1234 (2)' и 'IMG_1234 (3)' принадлежат одной картинке.","First page":"Первая страница","Focal Length":"Фокусное расстояние","Folder":"Папка","Folder contains %{n} files":"Папка содержит %{n} файлов","Folder is empty":"Папка пуста","Folders":"Папки","Forgot password?":"Забыли пароль?","FPS":"FPS","Frames":"ფრეიმი","Full Access":"Полный доступ","Fullscreen":"Полный экран","General":"Основные","Generate":"Генерировать","Generate albums of special moments, journeys, and places.":"Автоматически создает альбомы особых моментов, поездок и мест.","Generate Previews":"Создавайте предварительные просмотры","Generated":"Сгенерированный","Get Started":"Начни","Given Name":"Имя","Global Options":"Глобальные опции","Go to page {0}":"Переходи на страницу {0}","Gold":"Золото","Green":"Зеленый","Grey":"Серый","Guest":"Гость","Hash":"Хэш","Help":"Помощь","Help & Support":"Помощь и поддержка","Hidden":"Скрытые","Hidden Files":"Скрытые файлы","Hide":"Скрыть","Hide photos that have been moved to archive.":"Скрыть фотографии, которые были перенесены в архив.","High":"Высокий","High Dynamic Range (HDR)":"Высокий динамический диапазон (HDR)","How can we help?":"Как мы можем помочь?","Hybrid":"Гибрид","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Если вы потеряете доступ к приложению или устройству для проверки подлинности, вы можете использовать код восстановления, чтобы восстановить доступ к своей учетной записи.","Image":"Изображение","Image Quality":"Качество изображения","Import":"Импортировать","Import failed":"Импортирование не удалось","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Импортированные файлы будут отсортированы по датам и получат уникальные имена.","Imported files will be sorted by date and given a unique name.":"Импортированные файлы будут отсортированы по датам и получат уникальные имена.","Importing %{s}…":"Импорт %{s}…","Importing files to originals…":"Импорт файлов в оригиналы…","in":"в","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"Если ожидаемые вами фотографии отсутствуют, пожалуйста, повторно просканируйте библиотеку и дождитесь окончания индексации.","Include RAW image files when downloading stacks and archives.":"Включать файлы изображений RAW при загрузке стопок и архивов.","Include sidecar files when downloading stacks and archives.":"Включать файлы sidecar при загрузке стеков и архивов.","Increase storage size or delete files to continue.":"Увеличь размер хранилища или удали файлы, чтобы продолжить.","Index":"Индексировать","Index and import files through the user interface.":"Индексирование и импортирование файлов через пользовательский интерфейс.","Indexing":"Индексирование","Indexing failed":"Индексирование не удалось","Indexing media and sidecar files…":"Индексирование мультимедийных и сопутствующих файлов…","Information":"Информация","Instance ID":"Идентификатор узла","Insufficient storage.":"Недостаточно места для хранения.","Interval":"Интервал","Invalid":"Недопустимое значение","Invalid address":"Неверный адрес","Invalid country":"Неверная страна","Invalid date":"Неверная дата","Invalid parameters":"Недопустимые параметры","Invalid photo selected":"Выбрана недопустимая фотография","Invalid time":"Неверное время","Invalid URL":"Неверный URL","It is a one-time use code that will disable 2FA for your account when you use it.":"Это одноразовый код, который отключит 2ФА для вашей учетной записи, когда вы его используете.","Item":"Элемент","Items per page:":"Предметы на одной странице:","JPEG Quality: %{n}":"Качество JPEG: %{n}","JPEG Size Limit: %{n}px":"Ограничение по размеру в формате JPEG: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"JPEG и эскизы автоматически отображаются по мере необходимости.","Keywords":"Ключевые слова","Label":"Метка","Labels":"Метки","Labels deleted":"Метки удалены","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: сохранение деталей, минимальные артефакты","Language":"Язык","Last Active":"Последний активный","Last Login":"Последний вход в систему","Last page":"Последняя страница","Last Sync":"Последняя синхронизация","Last Used":"Последний используемый","Latitude":"Широта","LDAP/AD":"LDAP/AD","Learn more":"Узнать больше","Learn More":"Узнай больше","Legal Information":"Юридическая информация","Lens":"Объектив","Library":"Библиотека","License":"Лицензия","Like":"Нравится","Lime":"Лайм","Limit reached, showing first %{n} files":"Лимит превышен, отображение первых %{n} файлов","Linear: Very Smooth, Best Performance":"Линейный: очень сглаженный, лучшая производительность","Link":"Ссылка","List":"Список","List View":"Вид списка","Live":"Прямой эфир","Live Photos":"Живые фотографии","Load more":"Загрузить больше","Loading items...":"Загружаемые предметы...","Loading...":"Loading...","Local":"Местный","Local Time":"Местное время","Location":"Местоположение","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Сообщения журнала появляются здесь всякий раз когда PhotoPrism сталкивается с поврежденными файлами или другими потенциальными проблемами.","Login":"Вход","Logout":"Выйти","Logs":"Журнал","Longitude":"Долгота","Low":"Низкий","Magenta":"Пурпурный","Main Color":"Основной цвет","Male":"Мужской","Manage Account":"Управление счетом","Manual":"Руководство","Manual Upload":"Загрузка вручную","Maps":"Карты","Marker":"Маркер","Maximum number of accounts has been reached.":"Максимальное количество аккаунтов достигнуто.","Media":"Медиа","Medium":"Средний","Membership":"Членство","Merge %{a} with %{b}?":"Объединить %{a} с %{b}?","Message":"Сообщение","Message sent":"Сообщение отправлено","Metadata":"Метаданные","Metrics":"Метрики","Minimize":"Свернуть","Missing":"Пропущено","Missing or invalid configuration":"Отсутствующая или недействительная конфигурация","Moments":"Моменты","Monochrome":"Монохромные","Month":"Месяц","More options":"Больше вариантов","Mosaic":"Мозайка","Most Relevant":"Наиболее подходящие","Move Files":"Перемещать файлы","Must have at least %{n} characters.":"Должно быть не менее %{n} символов.","Mute":"Отключи звук","Name":"Название","Name too long":"Название слишком длинное","Never":"Никогда","New":"Новый","New Password":"Новый пароль","Newest First":"Сначала новые","Next":"Следующее","Next page":"Следующая страница","Next visual":"Следующий визуальный","No":"Нет","No albums found":"Альбомы не найдены","No data available":"Нет данных","No labels found":"Метки не найдены","No matching records found":"Не найдено ни одной подходящей записи","No more":"Не больше","No people found":"Люди не найдены","No pictures found":"Фото не найдены","No recently edited pictures":"Нет недавно отредактированных фотографий","No server connection":"Нет соединения с сервером","No servers configured.":"Серверы не настроены.","No services configured.":"Службы не настроены.","No thanks":"Нет, спасибо","No warnings or error containing this keyword. Note that search is case-sensitive.":"Нет предупреждений или ошибок содержащих эти слова. Имейте в виду, что поиск регистрозависимый.","Non-photographic and low-quality images require a review before they appear in search results.":"Файлы, не являющиеся фотографиями, или изображения низкого качества нужно одобрить, чтобы они появились в результатах поиска.","None":"Ничего","Not allowed":"Не разрешается","Not found":"Не найдено","Not sorted.":"Не отсортировано.","Not supported":"Не поддерживается","Note you may manually manage your originals folder and importing is optional.":"Обратите внимание, что вы можете вручную управлять папкой оригиналов, а импорт необязателен.","Note:":"Примечание:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Примечание: Только серверы WebDAV, такие как Nextcloud или PhotoPrism, могут быть настроены как удаленная служба для резервного копирования и загрузки файлов.","Notes":"Заметки","Nothing to see here yet.":"Здесь пока не на что смотреть.","Nothing was found.":"Ничего не было найдено.","Offline":"Не в сети","OIDC":"OIDC","OK":"OK","Oldest First":"Сначала старые","On Windows, enter the following resource in the connection dialog:":"В Windows введите следующий ресурс в диалоговом окне подключения:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"Генерация эскизов по требованию может привести к высокой нагрузке на процессор и память. Это не рекомендуется для серверов с ограниченными ресурсами и NAS-устройств.","Once a week":"Раз в неделю","One album found":"Найден один альбом","One file found":"Найден один файл","One file uploaded":"Загружен один файл","One folder found":"Найдена одна папка","One label found":"Найдена одна метка","One person found":"Найден один человек","One picture found":"Найдена одна фотография","Only locally managed accounts can be set up for authentication with 2FA.":"Для аутентификации с помощью 2ФА можно настроить только локально управляемые учетные записи.","Open":"Открыть","optional":"Дополнительно","or":"или","Orange":"Оранжевый","Organization":"Организация","Orientation":"Ориентация","Original file names will be stored and indexed.":"Оригинальные имена файлов будут сохранены и проиндексированы.","Original Name":"Оригинальное Название","Originals":"Оригиналы","Other":"Другой","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Наша задача - предоставить наиболее удобное для пользователя и конфиденциальности решение для хранения ваших фотографий в упорядоченном и доступном виде.","Outdoor":"Активности на открытом воздухе","Page {0}, Current page":"Страница {0}, текущая страница","Pages":"Страницы","Pagination Navigation":"Навигация по пагинации","Panorama":"Панорама","Panoramas":"Панорамы","Password":"Пароль","Password changed":"Пароль изменен","People":"Люди","People you share a link with will be able to view public contents.":"Люди, с которыми вы поделились ссылкой, будут иметь возможность просматривать публичный контент.","Permanently deleted":"Удалено насовсем","Permanently remove files to free up storage.":"Удаление файлов насовсем для освобождения дискового пространства.","Person":"Человек","Personal":"Личный","Photo":"Фотография","PhotoPrism is 100% self-funded and independent.":"PhotoPrism является на 100% самофинансируемой и независимой компанией.","PhotoPrism+ Membership":"Членство в программе PhotoPrism+","Photos":"Фотографии","Picture Title":"Название картинки","Pink":"Розовый","Place":"Место","Place & Time":"Место и время","Places":"Места","Please confirm your new password.":"Пожалуйста, подтвердите ваш новый пароль.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Скопируйте следующий случайно сгенерированный пароль приложения и сохраните его в надежном месте, так как вы больше не сможете его увидеть:","Please do not upload any private, unlawful or offensive pictures.":"Пожалуйста, не загружайте частные, незаконные или оскорбительные фотографии.","Please don't upload photos containing offensive content.":"Пожалуйста, не загружайте фотографии, содержащие недопустимый контент.","Please enter OTP character {0}":"Пожалуйста, введите символ OTP {0}","Please note that changing your password will log you out on other devices and browsers.":"Обратите внимание, что изменение пароля приведет к выходу из системы на других устройствах и в браузерах.","Please restart your instance for the changes to take effect.":"Чтобы изменения вступили в силу, перезапустите ваш экземпляр.","Please wait…":"Пожалуйста, подождите…","PM":"PM","PNG Size Limit: %{n}px":"Ограничение размера PNG: %{n}px","Portrait":"Портрет","Preserve filenames":"Сохранять имена файлов","Press enter to create a new album.":"Нажмите enter, чтобы создать новый альбом.","Prevent database and album backups as well as YAML sidecar files from being created.":"Запрети создавать резервные копии баз данных и альбомов, а также файлы YAML sidecar.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Запрети другим приложениям обращаться к PhotoPrism как к общему сетевому диску.","Preview":"Предпросмотр","Preview Images":"Предварительные изображения","Previous":"Предыдущий","Previous page":"Предыдущая страница","Previous visual":"Предыдущий визуальный","Primary":"Главная","Private":"Приватные","Product Feedback":"Обратная связь по продукту","Projection":"Проекция","Purple":"Фиолетовый","Quality Filter":"Фильтр Качества","Quality Score":"Показатель Качества","r":"r","Random":"Случайно","Rating {0} of {1}":"Рейтинг {0} из {1}","Raw":"Исходный","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Повторное индексирование всех оригиналов, включая уже проиндексированные и неизмененные файлы.","Read-Only Mode":"Режим только для чтения","Recently Added":"Недавно добавленные","Recently Archived":"Недавно архивировано","Recently Edited":"Недавно отредактированные","Recognition starts after indexing has been completed.":"Распознавание начинается после завершения индексации.","Recognize faces so people can be assigned and found.":"Распознает лица, чтобы можно было найти конкретных людей.","Recognized":"Распознано","Recovery Code":"Код восстановления","Red":"Красный","Refresh":"Обновить","Regions":"Регионы","Register":"Зарегистрироваться","Reload":"Перезагрузить","Reloading…":"Перезагрузка…","Remote Sync":"Удаленная синхронизация","Remove":"Удалить","remove failed: unknown album":"не могу удалить: неизвестный альбом","Remove from Album":"Удалить из альбома","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Удалять импортированные файлы для освобождения места. Неподдерживаемые типы файлов никогда не будут удалены, они остаются в их текущем местоположении.","Request failed - are you offline?":"Запрос не прошел - вы не в сети?","Request failed - invalid response":"Запрос не удался - неверный ответ","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Требуй, чтобы нефотографические и низкокачественные изображения проходили проверку, прежде чем они появятся в результатах поиска.","Resolution":"Разрешение","Restart":"Перезапустить","Restore":"Восстановить","Restored":"Восстановленный","Retry Limit":"Лимит повторных попыток","Retype Password":"Повторите пароль","Review":"Не одобрены","Role":"Роль","Rows per page:":"Строки на страницу:","Satellite":"Спутник","Save":"Сохранить","Scan":"Сканировать","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Отсканируйте QR-код с помощью приложения для аутентификации или используйте ключ настройки, показанный ниже, а затем введите сгенерированный код подтверждения:","Scans":"Сканы","Scope":"Область применения","Search":"Поиск","Search and display photos on a map.":"Поиск и отображение фотографий на карте.","Season":"Сезон","Secret":"Секрет","Security and Access":"Безопасность и доступ","Select":"Выбрать","Select a source folder to import files…":"Выбери исходную папку для импорта файлов…","Select date":"Выберите дату","Select dates":"Выберите даты","Select or create an album":"Выберите или создайте альбом","Select the files to upload…":"Выбери файлы для загрузки…","Select the folder to be indexed…":"Выбери папку, которую нужно проиндексировать…","Select Time":"Выберите время","Selection approved":"Выбранное подтверждено","Selection archived":"Выбранное добавлено в архив","Selection restored":"Выбранное восстановлено","Sequential Name":"Последовательное название","Service URL":"URL сервиса","Services":"Сервисы","Session":"Сессия","Session ID":"Идентификатор сессии","Sessions":"Сессии","Set as Album Cover":"Установи в качестве обложки альбома","Settings":"Настройки","Settings saved":"Настройки сохранены","Setup":"Настройка","Share":"Поделиться","Share %{s}":"Поделится %{s}","Share your pictures with other apps and services.":"Делись своими фотографиями с другими приложениями и сервисами.","Show":"Показать","Show all new faces":"Показать все новые лица","Show Captions":"Показать надписи","Show hidden":"Показать скрытые","Show less":"Показать меньше","Show more":"Показать больше","Show server logs in Library.":"Показывать журналы сервера в Библиотеке.","Show Titles":"Показать названия","Sidecar":"Сопутствующий файл","Sidecar Files":"Файлы для сайдкаров","Sign in":"Войти","Similar":"Похожие","Size":"Размер","Slideshow":"Слайд-шоу","Slow":"Медленно","Software":"Программное обеспечение","Software Update":"Обновление программного обеспечения","Something went wrong, try again":"Что-то пошло не так, попробуйте еще раз","Sort by":"Сортировать по","Sort Order":"Порядок сортировки","Sorted ascending.":"Сортировка по возрастанию.","Sorted descending.":"Сортировка по убыванию.","Source":"Источник","Stack":"Серия","Stack files sharing the same unique image or instance identifier.":"Объединять в серию файлы с одним и тем же уникальным изображением или идентификатором экземпляра.","Stack pictures taken at the exact same time and location based on their metadata.":"Объединять в серию снимки, сделанные в одно и то же время и в одном и том же месте, на основе их метаданных.","Stackable":"Возможно объединение в серию","Stacks":"Серии","Start":"Начать","Start Page":"Стартовая страница","Static Size Limit: %{n}px":"Предельный размер: %{n}px","Status":"Статус","Storage":"Хранилище","Streets":"Улицы","Subject":"Тема","Submit":"Отправить","Successfully activated":"Успешно активировано","Successfully Connected":"Успешно подключено","Successfully deleted":"Успешно удалено","Successfully verified":"Успешно проверено","Super Admin":"Супер-администратор","Support for additional services, like Google Drive, will be added over time.":"Поддержка дополнительных служб, таких как Google Drive, будет добавлена позже.","Support Our Mission":"Поддержите нашу миссию","Sync":"Синхронизация","Sync raw and video files":"Синхронизация сырых и видео файлов","Taken":"Дата съемки","Teal":"Бирюзовый","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow необходим для классификации изображений, распознавания лиц и обнаружения небезопасного контента.","Terrain":"Местность","Text":"Текст","Text too long":"Текст слишком длинный","Thank You for Your Support!":"Спасибо за вашу поддержку!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Именно поэтому PhotoPrism был создан с нуля, чтобы работать там, где вам нужно, без ущерба для свободы, конфиденциальности или функциональности.","The index currently contains %{n} hidden files.":"Индекс на данный момент содержит %{n} скрытых файлов.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Их формат может быть не поддерживаемым, они не были конвертированы в JPEG или это дубликаты.","Theme":"Тема","This field is required":"Это поле обязательно для заполнения","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"При этом папка с оригиналами подключается как сетевой диск и позволяет вам открывать, редактировать и удалять файлы с вашего компьютера или смартфона, как если бы они находились на вашем устройстве.","Time UTC":"Время UTC","Time Zone":"Часовой пояс","Timeout":"Пауза","Title":{"Account":"Титул","Photo":"Название","":"Название"},"Title / Position":"Название / должность","Title too long":"Название слишком длинное","to":"в","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Чтобы избежать блокировки вашей учетной записи, загрузите, распечатайте или скопируйте этот код восстановления сейчас и сохраните его в надежном месте.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Чтобы создать новый пароль для конкретного приложения, введите имя и область авторизации приложения, а также выберите срок действия:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Чтобы переключиться на новое приложение или устройство для проверки подлинности, сначала отключите двухфакторную аутентификацию, а затем повторно активируйте ее:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Для обновления вы можете ввести код активации или нажать кнопку \"Регистрация\", чтобы зарегистрироваться на нашем сайте:","Today":"Сегодня","Toggle View":"Переключить вид","Token":"Токен","Too many files selected":"Выбрано слишком много файлов","Too many requests":"Слишком много запросов","Troubleshooting":"Устранение неполадок","Try again using other filters or keywords.":"Попробуйте еще раз используя другие фильтры или слова в запросе.","Two-factor authentication has been enabled for your account.":"Для вашей учетной записи включена двухфакторная аутентификация.","Type":"Тип","Unauthorized":"Неавторизованный","Undo":"Отменить","Unique ID":"Уникальный ID","Unknown":"Неизвестно","Unregistered":"Незарегистрированный","Unsorted":"Не отсортировано","Unstack":"Убрать из серии","Updated":"Обновлено","Updating faces":"Обновление лиц","Updating index":"Обновление индекса","Updating moments":"Обновление моментов","Updating picture…":"Обновление изображения…","Updating previews":"Обновление предварительных просмотров","Updating stacks":"Обновление серий","Upgrade":"Обновление","Upgrade Now":"Обновить сейчас","Upload":"Загрузка","Upload complete":"Загрузка завершена","Upload complete. Indexing…":"Загрузка завершена. Индексирование…","Upload failed":"Загрузка не удалась","Upload local files":"Загрузка локальных файлов","Upload Path":"Путь загрузки","Upload to WebDAV and share links with friends.":"Загружайте WebDAV и делитесь ссылками с друзьями.","Uploading %{n} of %{t}…":"Загрузка %{n} из %{t}…","Uploading photos…":"Загрузка фотографий…","Uploading…":"Загрузка…","Uploads that may contain such images will be rejected automatically.":"Загрузки, которые могут содержать такие изображение будут автоматически отменены.","Use Presets":"Использовать предустановки","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Используйте следующий код восстановления для доступа к своей учетной записи, если вы не можете сгенерировать действительный код подтверждения с помощью приложения для аутентификации:","Use your recovery code or contact an administrator for help.":"Используй свой код восстановления или обратись за помощью к администратору.","User":"Пользователь","User Guide":"Руководство пользователя","User Interface":"Пользовательский интерфейс","Username":"Имя пользователя","Users":"Пользователи","Vector":"Вектор","Vectors":"Векторы","Verification Code":"Проверочный код","Video":"Видео","Video Duration":"Продолжительность видео","Videos":"Видео","View":"Обзор","View search results as a list.":"Просмотреть результаты поиска в виде списка.","Viewer":"Просмотрщик","Visitor":"Посетитель","Visual Similarity":"Визуальное сходство","Warning":"Внимание","We appreciate your feedback!":"Мы признательны за ваш отзыв!","We do our best to respond within five business days or less.":"Мы делаем все возможное, чтобы ответить в течение пяти рабочих дней или меньше.","Web Login":"Веб-логин","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"WebDAV клиенты могут подключаться к PhotoPrism используя следующий URL:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"WebDAV клиенты, такие как Microsoft Windows Проводник или Apple Finder, могут подключаться к PhotoPrism напрямую.","WebDAV Upload":"WebDAV загрузка","WebGL support is disabled in your browser":"В твоем браузере отключена поддержка WebGL","Website":"Сайт","White":"Белый","Work Details":"Детали работы","Year":"Год","Yellow":"Желтый","Yes":"Да","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Вы можете связаться с нами по адресу membership@photoprism.app, чтобы задать вопросы, касающиеся вашего членства.","You can only download one album":"Вы можете загрузить только один альбом","You can only download one label":"Вы можете загрузить только одну метку","You can upload up to %{n} files for test purposes.":"Для тестирования можно загрузить до %{n} файлов.","You may only select one item":"Вы можете выбрать только один элемент","You may rescan your library to find additional faces.":"Вы можете повторно просканировать свою библиотеку, чтобы найти дополнительные лица.","Your account has been successfully connected.":"Ваша учетная запись успешно подключена.","Your browser does not support WebGL":"Твой браузер не поддерживает WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Ваша постоянная поддержка помогает нам предоставлять регулярные обновления и оставаться независимыми, чтобы мы могли выполнять нашу миссию и защищать вашу частную жизнь.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Ваша библиотека постоянно анализируется для автоматического создания альбомов особых моментов, поездок и мест.","Zoom in/out":"Увеличение/уменьшение масштаба"}} \ No newline at end of file +{"ru":{"{0} appended action":"{0} приложенное действие","{0} files":"{0} файлов","{0} files ({1} in total)":"{0} файлов (всего {1})","{0} more":"{0} больше","{0} prepended action":"{0} препарированное действие","{0} selected":"{0} выбран","{0}-{1} of {2}":"{0}-{1} из {2}","%{n} albums found":"%{n} альбомов найдено","%{n} files uploaded":"%{n} файлов загружено","%{n} folders found":"%{n} папок найдено","%{n} GB of %{q} GB used":"%{n} Гб из %{q} Использованных гигабайт","%{n} labels found":"%{n} меток найдено","%{n} people found":"найдено %{n} человек","%{n} pictures found":"найдено %{n} изображений","%{s} is too long":"%{s} слишком длинный","%{s} is too short":"%{s} слишком короткий","1 hour":"1 час","12 hours":"12 часов","2-Factor Authentication":"Двухфакторная аутентификация","2FA":"2ФА","4 hours":"4 часа","A click will copy it to your clipboard.":"Клик скопирует это в буфер обмена.","A new version of %{s} is available:":"Доступна новая версия %{s}:","About":"О нас","Access Token":"Токен доступа","Account":"Учётная запись","Account created":"Учетная запись создана","Account deleted":"Учетная запись удалена","Account restored":"Аккаунт восстановлен","Accounts":"Счета","Accuracy":"Точность","Action":"Действие","Actions":"Действия","Activate":"Активировать","Activate to remove sorting.":"Активируй, чтобы убрать сортировку.","Activate to sort ascending.":"Активируй, чтобы сортировать по возрастанию.","Activate to sort descending.":"Активируй, чтобы сортировать по убыванию.","Activation Code":"Код активации","Add":"Добавить","Add %{s}?":"Добавь %{s}?","Add Account":"Добавить учётную запись","Add Album":"Добавить альбом","Add files to your library via Web Upload.":"Добавьте файлы в свою библиотеку через Веб Загрузку.","Add Link":"Добавить ссылку","Add person?":"Добавить человека?","Add pictures from search results by selecting them.":"Добавьте картинки из результатов поиска, выбирая их.","Add to album":"Добавить в альбом","Added":"Добавлено","Adjust Location":"Отрегулируй местоположение","Admin":"Администратор","Advanced":"Дополнительно","After 1 day":"Спустя 1 день","After 3 days":"Спустя 3 дня","After 7 days":"Спустя 7 дней","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"После ввода пароля для подтверждения вы можете настроить двухфакторную аутентификацию с помощью совместимого приложения или устройства для проверки подлинности:","After one month":"Спустя 1 месяц","After one year":"Спустя 1 год","After selecting pictures from search results, you can add them to an album using the context menu.":"После выбора изображений из результатов поиска их можно добавить в альбом с помощью контекстного меню.","After two months":"Спустя 2 месяца","After two weeks":"Спустя 2 недели","Album":"Альбом","Album Backups":"Резервные копии альбомов","Album created":"Альбом создан","Album deleted":"Альбом удалён","Albums":"Альбомы","Albums deleted":"Альбомы удалены","All":"Все","All %{n} albums loaded":"Все %{n} альбомов загружены","All %{n} labels loaded":"Все %{n} меток загружены","All %{n} people loaded":"Все %{n} человек загружены","All Cameras":"Все камеры","All Categories":"Все категории","All Colors":"Все цвета","All Countries":"Все страны","All fields are required":"Все поля обязательны к заполнению","All files from import folder":"Все файлы из папки импорта","All Lenses":"Все объективы","All Months":"Все месяцы","All originals":"Все оригиналы","All Years":"Все года","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Кроме того, вы можете загружать файлы непосредственно на WebDAV-серверы, такие как Nextcloud.","Altitude":"Высота","Altitude (m)":"Высота (м)","AM":"AM","Animated":"Анимированный","Animation":"Анимация","Animations":"Анимация","Any private photos and videos remain private and won't be shared.":"Любые личные фотографии и видео остаются личными и не будут распространяться.","API Key":"Ключ API","Application":"Приложение","Apply":"Применить","Approve":"Подтвердить","Apps and Devices":"Приложения и устройства","Archive":"Архивировать","Archived":"Заархивировано","Are you sure you want to archive the selection?":"Вы действительно хотите переместить эти фотографии в архив?","Are you sure you want to delete these albums?":"Вы действительно хотите удалить эти альбомы?","Are you sure you want to delete these labels?":"Вы действительно хотите удалить эти метки?","Are you sure you want to delete this account?":"Вы действительно хотите удалить этот аккаунт?","Are you sure you want to delete this album?":"Ты уверен, что хочешь удалить этот альбом?","Are you sure you want to permanently delete these pictures?":"Вы уверены, что хотите навсегда удалить эти фотографии?","Are you sure you want to permanently delete this file?":"Вы уверены, что хотите навсегда удалить этот файл?","Are you sure?":"Вы уверены?","Artist":"Автор","Aspect Ratio":"Соотношение сторон","Audio":"Аудио","Authentication":"Аутентификация","Auto":"Авто","Back":"Назад","Back to top":"Вернуться к началу","Backup":"Резервная копия","Badge":"Значок","Base Path":"Базовый путь","Become a member today, support our mission and enjoy our member benefits!":"Станьте членом клуба сегодня, поддержите нашу миссию и воспользуйтесь нашими преимуществами!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Будучи на 100% самофинансируемыми и независимыми, мы можем пообещать вам, что никогда не будем продавать ваши данные и что мы всегда будем прозрачны в отношении нашего программного обеспечения и услуг.","Bio":"Биография","Birth Date":"Дата рождения","Black":"Черный","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: модификация Lanczos, меньше артефактов звона","Blue":"Синий","Brown":"Коричневый","Browse":"Просмотреть","Browse and edit image classification labels.":"Просматривайте и редактируйте метки классификации изображений.","Browse and share your pictures organized into monthly albums.":"Просматривай и делись своими фотографиями, организованными в ежемесячные альбомы.","Browse Files":"Просмотреть файлы","Browse indexed files and folders in Library.":"Просматривайте проиндексированные файлы и папки в Библиотеке.","Bug Report":"Отчет об ошибке","Busy, please wait…":"Занят, пожалуйста, подождите…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Используя программное обеспечение и услуги, которые мы предоставляем, вы соглашаетесь с нашими условиями обслуживания, политикой конфиденциальности и кодексом поведения.","Calendar":"Календарь","Camera":"Камера","Camera Serial":"Камера","Can't access your authenticator app or device?":"Не можешь получить доступ к своему приложению или устройству аутентификатора?","Can't load more, limit reached":"Не могу загрузить больше, достигнут лимит","Can't select more items":"Нельзя выбрать больше элементов","Cancel":"Отменить","Cannot copy to clipboard":"Невозможно скопировать в буфер обмена","Caption":"Надпись","Cards":"Карточки","Carousel slide {0} of {1}":"Карусельный слайд {0} из {1}","Category":"Категория","Change Avatar":"Изменить аватар","Change Password":"Изменить пароль","Change personal profile and security settings.":"Изменить личный профиль и настройки безопасности.","Change photo titles, locations, and other metadata.":"Изменить названия фотографий, местоположения и другие метаданные.","Change private flag":"Изменить флаг приватности","Changes could not be saved":"Изменения не будут сохранены","Changes successfully saved":"Изменения успешно сохранены","Changes to the advanced settings require a restart to take effect.":"Изменения в расширенных настройках требуют перезапуска, чтобы вступить в силу.","Checked":"Проверено","Chroma":"Цветовая гамма","Cleaning index and cache":"Очистка индекса и кэша","Cleanup":"Очистка","Clear {0}":"Очистить {0}","Client":"Клиент","Client Credentials":"Учетные данные клиента","Close":"Закрыть","Codec":"Кодек","Color":"Цвет","Color Profile":"Цветовой профиль","Colors":"Цвета","Compare Editions":"Сравнить издания","Complete Rescan":"Полный рескан","Confidence":"Уверенность","Confirm":"Подтверждать","Connect":"Соединен","Connect via WebDAV":"Соединиться через WebDAV","Connected":"Подключено","Contact Details":"Контактная информация","Contact Us":"Свяжитесь с нами","Contains %{n} pictures.":"Содержит %{n} фотографий.","Contains one picture.":"Содержит одну фотографию.","Content":"Содержание","Continue":"Продолжить","Continue with %{provider}":"Продолжить с %{provider}","Contributor":"Вкладчик","Converting":"Конвертация","Copied to clipboard":"Скопировано в буфер обмена","Copy":"Копировать","Copyright":"Копирайт","Couldn't find anything.":"Ничего не найдено.","Country":"Страна","Create Account":"Создать учетную запись","Create album":"Создать альбом","Create regular backups based on the configured schedule.":"Создать резервные копии индексов по настроенному расписанию.","Create YAML files to back up album metadata.":"Создать YAML-файлы для резервного копирования метаданных альбома.","Create YAML sidecar files to back up picture metadata.":"Создать побочные файлы YAML для резервного копирования метаданных картинок.","Created":"Создано","Creating thumbnails for":"Сформировать предпросмотр","Cubic: Moderate Quality, Good Performance":"Кубический: умеренное качество, хорошая производительность","Current Password":"Текущий пароль","Custom":"Пользовательский","Cyan":"Сине-зеленый","Daily":"Ежедневно","Database Backups":"Резервные копии баз данных","Day":"День","Deactivate":"Деактивировать","Debug Logs":"Отладочные Логи","Default":"По умолчанию","Default Folder":"Папка по умолчанию","Delete":"Удалить","Delete Album":"Удалить альбом","Delete All":"Удалить все","Delete all?":"Удалить все?","Delete orphaned index entries, sidecar files and thumbnails.":"Удалить бесхозные записи в индексе, файлы sidecar и миниатюры.","Description":"Описание","Detailed instructions can be found in our User Guide.":"Подробные инструкции можно найти в нашем руководстве пользователя.","Details":"Детали","Dimensions":"Размеры","Disable Backups":"Отключить резервное копирование","Disable Darktable":"Отключить Darktable","Disable ExifTool":"Отключить ExifTool","Disable features that require write permission for the originals folder.":"Отключи функции, требующие разрешения на запись в папку с оригиналами.","Disable FFmpeg":"Отключить FFmpeg","Disable ImageMagick":"Отключить ImageMagick","Disable interactive world maps and reverse geocoding.":"Отключить интерактивные карты мира и обратное геокодирование.","Disable Places":"Отключить Места","Disable RawTherapee":"Отключить RawTherapee","Disable TensorFlow":"Отключить TensorFlow","Disable Vectors":"Отключение векторов","Disable WebDAV":"Отключить WebDAV","Disables vector graphics support.":"Отключает поддержку векторной графики.","Disables video transcoding and thumbnail extraction.":"Отключает перекодирование видео и извлечение миниатюр.","Discover":"Исследование","Dismiss":"Отклонить","Display Name":"Отображаемое имя","Display picture captions in search results.":"Отображай подписи к картинкам в результатах поиска.","Display picture titles in search results.":"Отображай названия картинок в результатах поиска.","Document":"Документ","Documents":"Документы","Don't use Darktable to convert RAW images.":"Не использовать Darktable для конвертирования RAW-файлов.","Don't use ImageMagick to convert images.":"Не используйте ImageMagick для преобразования изображений.","Don't use RawTherapee to convert RAW images.":"Не использовать RawTherapee для конвертирования RAW-файлов.","Done":"Готово","Done.":"Готово.","Download":"Скачать","Download only original media files, without any automatically generated files.":"Загружайте только оригинальные медиафайлы, без каких-либо автоматически сгенерированных файлов.","Download remote files":"Скачать удалённые файлы","Download single files and zip archives.":"Скачать отдельные файлы и zip-архивы.","Downloading…":"Загрузка…","Downscaling Filter":"Алгоритм создания превью","Drag and drop files here":"Перетаскивай файлы сюда","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"Из-за большого количества электронных писем, которые мы получаем, наша команда, возможно, не сможет немедленно связаться с вами.","Duplicates will be skipped and only appear once.":"Дубликаты будут пропущены и появятся только один раз.","Duration":"Продолжительность","Dynamic Previews":"Динамические превью","Dynamic Size Limit: %{n}px":"Недостигнутое ограничение размера: %{n}px","E-Mail":"E-Mail","Edit":"Редактировать","Edit %{s}":"Редактировать %{s}","Edit Account":"Редактировать аккаунт","Edit Photo":"Редактировать фотографию","Edited":"Отредактировано","Email":"Электронная почта","Enable debug mode to display additional logs and help with troubleshooting.":"Включи режим отладки, чтобы отобразить дополнительные журналы и помочь в устранении неполадок.","Enable new features that may be incomplete or unstable.":"Включай новые функции, которые могут быть неполными или нестабильными.","Enables RAW converter presets. May reduce performance.":"Включает предустановки конвертера RAW. Может снизить производительность.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Включение двухфакторной аутентификации означает, что для входа в систему вам понадобится случайно сгенерированный код подтверждения, поэтому даже если кто-то получит доступ к вашему паролю, он не сможет получить доступ к вашей учетной записи.","Enter date":"Введите дату","Enter dates":"Введите даты","Enter the code generated by your authenticator app:":"Введи код, сгенерированный твоим приложением-аутентификатором:","Enter verification code":"введите код подтверждения","Enter your password to confirm the action and continue:":"Введите пароль, чтобы подтвердить действие и продолжить:","Error":"Ошибка","Errors":"Ошибки","Estimate":"Смета","Estimate Locations":"Примерные места","Estimate the approximate location of pictures without GPS coordinates.":"Оценивай примерное местоположение картинок без GPS-координат.","Every two days":"Каждые два дня","Exclude content marked as private from search results, shared albums, labels, and places.":"Исключить содержимое, отмеченное приватным, из результатов поиска, общих альбомов, меток и мест.","Exclude hidden":"Исключить скрытые","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"Для полной поддержки Video, Live Photo и XMP требуется извлечение метаданных с помощью ExifTool.","Experimental Features":"Экспериментальные возможности","Expires":"Ожидаемое время","Exposure":"Экспозиция","Extract still images and generate thumbnails while indexing.":"Извлекай неподвижные изображения и создавай миниатюры во время индексации.","F Number":"Диафрагменное число","Face":"Лицо","Faces":"Лица","Failed removing link":"Не удалось удалить ссылку","Failed to connect account.":"Не удалось подключить аккаунт.","Failed updating link":"Не удалось загрузить ссылку","Family Name":"Фамилия","Fast":"Быстро","Favorite":"В избранном","Favorites":"Избранное","Feature Request":"Запрос функции","Feedback":"Обратная связь","Female":"Женский","File":"Файлы","File Browser":"Файловый менеджер","File Conversion":"Преобразование файлов","File Name":"Имя файла","File Size":"Размер файла","Filename":"Название файла","Files":"Файлы","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Файлы с последовательными именами типа 'IMG_1234 (2)' и 'IMG_1234 (3)' принадлежат одной картинке.","First page":"Первая страница","Focal Length":"Фокусное расстояние","Folder":"Папка","Folder contains %{n} files":"Папка содержит %{n} файлов","Folder is empty":"Папка пуста","Folders":"Папки","Forgot password?":"Забыли пароль?","FPS":"FPS","Frames":"ფრეიმი","Full Access":"Полный доступ","Fullscreen":"Полный экран","General":"Основные","Generate":"Генерировать","Generate albums of special moments, journeys, and places.":"Автоматически создает альбомы особых моментов, поездок и мест.","Generate Previews":"Создавайте предварительные просмотры","Generated":"Сгенерированный","Get Started":"Начни","Given Name":"Имя","Global Options":"Глобальные опции","Go to page {0}":"Переходи на страницу {0}","Gold":"Золото","Green":"Зеленый","Grey":"Серый","Guest":"Гость","Hash":"Хэш","Help":"Помощь","Help & Support":"Помощь и поддержка","Hidden":"Скрытые","Hidden Files":"Скрытые файлы","Hide":"Скрыть","Hide photos that have been moved to archive.":"Скрыть фотографии, которые были перенесены в архив.","High":"Высокий","High Dynamic Range (HDR)":"Высокий динамический диапазон (HDR)","How can we help?":"Как мы можем помочь?","Hybrid":"Гибрид","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Если вы потеряете доступ к приложению или устройству для проверки подлинности, вы можете использовать код восстановления, чтобы восстановить доступ к своей учетной записи.","Image":"Изображение","Image Quality":"Качество изображения","Import":"Импортировать","Import failed":"Импортирование не удалось","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Импортированные файлы будут отсортированы по датам и получат уникальные имена.","Imported files will be sorted by date and given a unique name.":"Импортированные файлы будут отсортированы по датам и получат уникальные имена.","Importing %{s}…":"Импорт %{s}…","Importing files to originals…":"Импорт файлов в оригиналы…","in":"в","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"Если ожидаемые вами фотографии отсутствуют, пожалуйста, повторно просканируйте библиотеку и дождитесь окончания индексации.","Include RAW image files when downloading stacks and archives.":"Включать файлы изображений RAW при загрузке стопок и архивов.","Include sidecar files when downloading stacks and archives.":"Включать файлы sidecar при загрузке стеков и архивов.","Increase storage size or delete files to continue.":"Увеличь размер хранилища или удали файлы, чтобы продолжить.","Index":"Индексировать","Index and import files through the user interface.":"Индексирование и импортирование файлов через пользовательский интерфейс.","Indexing":"Индексирование","Indexing failed":"Индексирование не удалось","Indexing media and sidecar files…":"Индексирование мультимедийных и сопутствующих файлов…","Information":"Информация","Instance ID":"Идентификатор узла","Insufficient storage.":"Недостаточно места для хранения.","Interval":"Интервал","Invalid":"Недопустимое значение","Invalid address":"Неверный адрес","Invalid country":"Неверная страна","Invalid date":"Неверная дата","Invalid parameters":"Недопустимые параметры","Invalid photo selected":"Выбрана недопустимая фотография","Invalid time":"Неверное время","Invalid URL":"Неверный URL","It is a one-time use code that will disable 2FA for your account when you use it.":"Это одноразовый код, который отключит 2ФА для вашей учетной записи, когда вы его используете.","Item":"Элемент","Items per page:":"Предметы на одной странице:","JPEG Quality: %{n}":"Качество JPEG: %{n}","JPEG Size Limit: %{n}px":"Ограничение по размеру в формате JPEG: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"JPEG и эскизы автоматически отображаются по мере необходимости.","Keywords":"Ключевые слова","Label":"Метка","Labels":"Метки","Labels deleted":"Метки удалены","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: сохранение деталей, минимальные артефакты","Language":"Язык","Last Active":"Последний активный","Last Login":"Последний вход в систему","Last page":"Последняя страница","Last Sync":"Последняя синхронизация","Last Used":"Последний используемый","Latitude":"Широта","LDAP/AD":"LDAP/AD","Learn more":"Узнать больше","Learn More":"Узнай больше","Legal Information":"Юридическая информация","Lens":"Объектив","Library":"Библиотека","License":"Лицензия","Like":"Нравится","Lime":"Лайм","Limit reached, showing first %{n} files":"Лимит превышен, отображение первых %{n} файлов","Linear: Very Smooth, Best Performance":"Линейный: очень сглаженный, лучшая производительность","Link":"Ссылка","List":"Список","List View":"Вид списка","Live":"Прямой эфир","Live Photos":"Живые фотографии","Load more":"Загрузить больше","Loading items...":"Загружаемые предметы...","Loading...":"Loading...","Local":"Местный","Local Time":"Местное время","Location":"Местоположение","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Сообщения журнала появляются здесь всякий раз когда PhotoPrism сталкивается с поврежденными файлами или другими потенциальными проблемами.","Login":"Вход","Logout":"Выйти","Logs":"Журнал","Longitude":"Долгота","Low":"Низкий","Magenta":"Пурпурный","Main Color":"Основной цвет","Male":"Мужской","Manage Account":"Управление счетом","Manager":"Менеджер","Manual":"Руководство","Manual Upload":"Загрузка вручную","Maps":"Карты","Marker":"Маркер","Maximum number of accounts has been reached.":"Максимальное количество аккаунтов достигнуто.","Media":"Медиа","Medium":"Средний","Membership":"Членство","Merge %{a} with %{b}?":"Объединить %{a} с %{b}?","Message":"Сообщение","Message sent":"Сообщение отправлено","Metadata":"Метаданные","Metrics":"Метрики","Minimize":"Свернуть","Missing":"Пропущено","Missing or invalid configuration":"Отсутствующая или недействительная конфигурация","Moments":"Моменты","Monochrome":"Монохромные","Month":"Месяц","More options":"Больше вариантов","Mosaic":"Мозайка","Most Relevant":"Наиболее подходящие","Move Files":"Перемещать файлы","Must have at least %{n} characters.":"Должно быть не менее %{n} символов.","Mute":"Отключи звук","Name":"Название","Name too long":"Название слишком длинное","Never":"Никогда","New":"Новый","New Password":"Новый пароль","Newest First":"Сначала новые","Next":"Следующее","Next page":"Следующая страница","Next visual":"Следующий визуальный","No":"Нет","No albums found":"Альбомы не найдены","No data available":"Нет данных","No labels found":"Метки не найдены","No matching records found":"Не найдено ни одной подходящей записи","No more":"Не больше","No people found":"Люди не найдены","No pictures found":"Фото не найдены","No recently edited pictures":"Нет недавно отредактированных фотографий","No results":"Нет результатов","No server connection":"Нет соединения с сервером","No servers configured.":"Серверы не настроены.","No services configured.":"Службы не настроены.","No thanks":"Нет, спасибо","No warnings or error containing this keyword. Note that search is case-sensitive.":"Нет предупреждений или ошибок содержащих эти слова. Имейте в виду, что поиск регистрозависимый.","Non-photographic and low-quality images require a review before they appear in search results.":"Файлы, не являющиеся фотографиями, или изображения низкого качества нужно одобрить, чтобы они появились в результатах поиска.","None":"Ничего","Not allowed":"Не разрешается","Not found":"Не найдено","Not sorted.":"Не отсортировано.","Not supported":"Не поддерживается","Note you may manually manage your originals folder and importing is optional.":"Обратите внимание, что вы можете вручную управлять папкой оригиналов, а импорт необязателен.","Note:":"Примечание:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Примечание: Только серверы WebDAV, такие как Nextcloud или PhotoPrism, могут быть настроены как удаленная служба для резервного копирования и загрузки файлов.","Notes":"Заметки","Nothing to see here yet.":"Здесь пока не на что смотреть.","Nothing was found.":"Ничего не было найдено.","Offline":"Не в сети","OIDC":"OIDC","OK":"OK","Oldest First":"Сначала старые","On Windows, enter the following resource in the connection dialog:":"В Windows введите следующий ресурс в диалоговом окне подключения:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"Генерация эскизов по требованию может привести к высокой нагрузке на процессор и память. Это не рекомендуется для серверов с ограниченными ресурсами и NAS-устройств.","Once a week":"Раз в неделю","One album found":"Найден один альбом","One file found":"Найден один файл","One file uploaded":"Загружен один файл","One folder found":"Найдена одна папка","One label found":"Найдена одна метка","One person found":"Найден один человек","One picture found":"Найдена одна фотография","Only locally managed accounts can be set up for authentication with 2FA.":"Для аутентификации с помощью 2ФА можно настроить только локально управляемые учетные записи.","Open":"Открыть","optional":"Дополнительно","or":"или","Orange":"Оранжевый","Organization":"Организация","Orientation":"Ориентация","Original file names will be stored and indexed.":"Оригинальные имена файлов будут сохранены и проиндексированы.","Original Name":"Оригинальное Название","Originals":"Оригиналы","Other":"Другой","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Наша задача - предоставить наиболее удобное для пользователя и конфиденциальности решение для хранения ваших фотографий в упорядоченном и доступном виде.","Outdoor":"Активности на открытом воздухе","Page {0}, Current page":"Страница {0}, текущая страница","Pages":"Страницы","Pagination Navigation":"Навигация по пагинации","Panorama":"Панорама","Panoramas":"Панорамы","Password":"Пароль","Password changed":"Пароль изменен","People":"Люди","People you share a link with will be able to view public contents.":"Люди, с которыми вы поделились ссылкой, будут иметь возможность просматривать публичный контент.","Permanently deleted":"Удалено насовсем","Permanently remove files to free up storage.":"Удаление файлов насовсем для освобождения дискового пространства.","Person":"Человек","Personal":"Личный","Photo":"Фотография","PhotoPrism is 100% self-funded and independent.":"PhotoPrism является на 100% самофинансируемой и независимой компанией.","PhotoPrism+ Membership":"Членство в программе PhotoPrism+","Photos":"Фотографии","Picture Title":"Название картинки","Pink":"Розовый","Place":"Место","Place & Time":"Место и время","Places":"Места","Please confirm your new password.":"Пожалуйста, подтвердите ваш новый пароль.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Скопируйте следующий случайно сгенерированный пароль приложения и сохраните его в надежном месте, так как вы больше не сможете его увидеть:","Please do not upload any private, unlawful or offensive pictures.":"Пожалуйста, не загружайте частные, незаконные или оскорбительные фотографии.","Please don't upload photos containing offensive content.":"Пожалуйста, не загружайте фотографии, содержащие недопустимый контент.","Please enter OTP character {0}":"Пожалуйста, введите символ OTP {0}","Please note that changing your password will log you out on other devices and browsers.":"Обратите внимание, что изменение пароля приведет к выходу из системы на других устройствах и в браузерах.","Please restart your instance for the changes to take effect.":"Чтобы изменения вступили в силу, перезапустите ваш экземпляр.","Please wait…":"Пожалуйста, подождите…","PM":"PM","PNG Size Limit: %{n}px":"Ограничение размера PNG: %{n}px","Portrait":"Портрет","Preserve filenames":"Сохранять имена файлов","Press enter to create a new album.":"Нажмите enter, чтобы создать новый альбом.","Prevent database and album backups as well as YAML sidecar files from being created.":"Запрети создавать резервные копии баз данных и альбомов, а также файлы YAML sidecar.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Запрети другим приложениям обращаться к PhotoPrism как к общему сетевому диску.","Preview":"Предпросмотр","Preview Images":"Предварительные изображения","Previous":"Предыдущий","Previous page":"Предыдущая страница","Previous visual":"Предыдущий визуальный","Primary":"Главная","Private":"Приватные","Product Feedback":"Обратная связь по продукту","Projection":"Проекция","Purple":"Фиолетовый","Quality Filter":"Фильтр Качества","Quality Score":"Показатель Качества","r":"r","Random":"Случайно","Rating {0} of {1}":"Рейтинг {0} из {1}","Raw":"Исходный","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Повторное индексирование всех оригиналов, включая уже проиндексированные и неизмененные файлы.","Read-Only Mode":"Режим только для чтения","Recently Added":"Недавно добавленные","Recently Archived":"Недавно архивировано","Recently Edited":"Недавно отредактированные","Recognition starts after indexing has been completed.":"Распознавание начинается после завершения индексации.","Recognize faces so people can be assigned and found.":"Распознает лица, чтобы можно было найти конкретных людей.","Recognized":"Распознано","Recovery Code":"Код восстановления","Red":"Красный","Refresh":"Обновить","Regions":"Регионы","Register":"Зарегистрироваться","Reload":"Перезагрузить","Reloading…":"Перезагрузка…","Remote Sync":"Удаленная синхронизация","Remove":"Удалить","remove failed: unknown album":"не могу удалить: неизвестный альбом","Remove from Album":"Удалить из альбома","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Удалять импортированные файлы для освобождения места. Неподдерживаемые типы файлов никогда не будут удалены, они остаются в их текущем местоположении.","Request failed - are you offline?":"Запрос не прошел - вы не в сети?","Request failed - invalid response":"Запрос не удался - неверный ответ","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Требуй, чтобы нефотографические и низкокачественные изображения проходили проверку, прежде чем они появятся в результатах поиска.","Resolution":"Разрешение","Restart":"Перезапустить","Restore":"Восстановить","Restored":"Восстановленный","Retry Limit":"Лимит повторных попыток","Retype Password":"Повторите пароль","Review":"Не одобрены","Role":"Роль","Rows per page:":"Строки на страницу:","Satellite":"Спутник","Save":"Сохранить","Scan":"Сканировать","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Отсканируйте QR-код с помощью приложения для аутентификации или используйте ключ настройки, показанный ниже, а затем введите сгенерированный код подтверждения:","Scans":"Сканы","Scope":"Область применения","Search":"Поиск","Search and display photos on a map.":"Поиск и отображение фотографий на карте.","Season":"Сезон","Secret":"Секрет","Security and Access":"Безопасность и доступ","Select":"Выбрать","Select a source folder to import files…":"Выбери исходную папку для импорта файлов…","Select date":"Выберите дату","Select dates":"Выберите даты","Select or create an album":"Выберите или создайте альбом","Select the files to upload…":"Выбери файлы для загрузки…","Select the folder to be indexed…":"Выбери папку, которую нужно проиндексировать…","Select Time":"Выберите время","Selection approved":"Выбранное подтверждено","Selection archived":"Выбранное добавлено в архив","Selection restored":"Выбранное восстановлено","Sequential Name":"Последовательное название","Service URL":"URL сервиса","Services":"Сервисы","Session":"Сессия","Session ID":"Идентификатор сессии","Sessions":"Сессии","Set as Album Cover":"Установи в качестве обложки альбома","Settings":"Настройки","Settings saved":"Настройки сохранены","Setup":"Настройка","Share":"Поделиться","Share %{s}":"Поделится %{s}","Share your pictures with other apps and services.":"Делись своими фотографиями с другими приложениями и сервисами.","Show":"Показать","Show all new faces":"Показать все новые лица","Show Captions":"Показать надписи","Show hidden":"Показать скрытые","Show less":"Показать меньше","Show more":"Показать больше","Show server logs in Library.":"Показывать журналы сервера в Библиотеке.","Show Titles":"Показать названия","Sidecar":"Сопутствующий файл","Sidecar Files":"Файлы для сайдкаров","Sign in":"Войти","Similar":"Похожие","Size":"Размер","Slideshow":"Слайд-шоу","Slow":"Медленно","Software":"Программное обеспечение","Software Update":"Обновление программного обеспечения","Something went wrong, try again":"Что-то пошло не так, попробуйте еще раз","Sort by":"Сортировать по","Sort Order":"Порядок сортировки","Sorted ascending.":"Сортировка по возрастанию.","Sorted descending.":"Сортировка по убыванию.","Source":"Источник","Stack":"Серия","Stack files sharing the same unique image or instance identifier.":"Объединять в серию файлы с одним и тем же уникальным изображением или идентификатором экземпляра.","Stack pictures taken at the exact same time and location based on their metadata.":"Объединять в серию снимки, сделанные в одно и то же время и в одном и том же месте, на основе их метаданных.","Stackable":"Возможно объединение в серию","Stacks":"Серии","Start":"Начать","Start Page":"Стартовая страница","Static Size Limit: %{n}px":"Предельный размер: %{n}px","Status":"Статус","Storage":"Хранилище","Streets":"Улицы","Subject":"Тема","Submit":"Отправить","Successfully activated":"Успешно активировано","Successfully Connected":"Успешно подключено","Successfully deleted":"Успешно удалено","Successfully verified":"Успешно проверено","Super Admin":"Супер-администратор","Support for additional services, like Google Drive, will be added over time.":"Поддержка дополнительных служб, таких как Google Drive, будет добавлена позже.","Support Our Mission":"Поддержите нашу миссию","Sync":"Синхронизация","Sync raw and video files":"Синхронизация сырых и видео файлов","Taken":"Дата съемки","Teal":"Бирюзовый","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow необходим для классификации изображений, распознавания лиц и обнаружения небезопасного контента.","Terrain":"Местность","Text":"Текст","Text too long":"Текст слишком длинный","Thank You for Your Support!":"Спасибо за вашу поддержку!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Именно поэтому PhotoPrism был создан с нуля, чтобы работать там, где вам нужно, без ущерба для свободы, конфиденциальности или функциональности.","The index currently contains %{n} hidden files.":"Индекс на данный момент содержит %{n} скрытых файлов.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Их формат может быть не поддерживаемым, они не были конвертированы в JPEG или это дубликаты.","Theme":"Тема","This field is required":"Это поле обязательно для заполнения","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"При этом папка с оригиналами подключается как сетевой диск и позволяет вам открывать, редактировать и удалять файлы с вашего компьютера или смартфона, как если бы они находились на вашем устройстве.","Time UTC":"Время UTC","Time Zone":"Часовой пояс","Timeout":"Пауза","Title":{"Account":"Титул","Photo":"Название","":"Название"},"Title / Position":"Название / должность","Title too long":"Название слишком длинное","to":"в","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Чтобы избежать блокировки вашей учетной записи, загрузите, распечатайте или скопируйте этот код восстановления сейчас и сохраните его в надежном месте.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Чтобы создать новый пароль для конкретного приложения, введите имя и область авторизации приложения, а также выберите срок действия:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Чтобы переключиться на новое приложение или устройство для проверки подлинности, сначала отключите двухфакторную аутентификацию, а затем повторно активируйте ее:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Для обновления вы можете ввести код активации или нажать кнопку \"Регистрация\", чтобы зарегистрироваться на нашем сайте:","Today":"Сегодня","Toggle View":"Переключить вид","Token":"Токен","Too many files selected":"Выбрано слишком много файлов","Too many requests":"Слишком много запросов","Troubleshooting":"Устранение неполадок","Try again using other filters or keywords.":"Попробуйте еще раз используя другие фильтры или слова в запросе.","Two-factor authentication has been enabled for your account.":"Для вашей учетной записи включена двухфакторная аутентификация.","Type":"Тип","Unable to delete":"Невозможно удалить","Unauthorized":"Неавторизованный","Undo":"Отменить","Unique ID":"Уникальный ID","Unknown":"Неизвестно","Unregistered":"Незарегистрированный","Unsorted":"Не отсортировано","Unstack":"Убрать из серии","Updated":"Обновлено","Updating faces":"Обновление лиц","Updating index":"Обновление индекса","Updating moments":"Обновление моментов","Updating picture…":"Обновление изображения…","Updating previews":"Обновление предварительных просмотров","Updating stacks":"Обновление серий","Upgrade":"Обновление","Upgrade Now":"Обновить сейчас","Upload":"Загрузка","Upload complete":"Загрузка завершена","Upload complete. Indexing…":"Загрузка завершена. Индексирование…","Upload failed":"Загрузка не удалась","Upload local files":"Загрузка локальных файлов","Upload Path":"Путь загрузки","Upload to WebDAV and share links with friends.":"Загружайте WebDAV и делитесь ссылками с друзьями.","Uploading %{n} of %{t}…":"Загрузка %{n} из %{t}…","Uploading photos…":"Загрузка фотографий…","Uploading…":"Загрузка…","Uploads that may contain such images will be rejected automatically.":"Загрузки, которые могут содержать такие изображение будут автоматически отменены.","Use Presets":"Использовать предустановки","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Используйте следующий код восстановления для доступа к своей учетной записи, если вы не можете сгенерировать действительный код подтверждения с помощью приложения для аутентификации:","Use your recovery code or contact an administrator for help.":"Используй свой код восстановления или обратись за помощью к администратору.","User":"Пользователь","User Guide":"Руководство пользователя","User Interface":"Пользовательский интерфейс","Username":"Имя пользователя","Users":"Пользователи","Vector":"Вектор","Vectors":"Векторы","Verification Code":"Проверочный код","Video":"Видео","Video Duration":"Продолжительность видео","Videos":"Видео","View":"Обзор","View search results as a list.":"Просмотреть результаты поиска в виде списка.","Viewer":"Просмотрщик","Visitor":"Посетитель","Visual Similarity":"Визуальное сходство","Warning":"Внимание","We appreciate your feedback!":"Мы признательны за ваш отзыв!","We do our best to respond within five business days or less.":"Мы делаем все возможное, чтобы ответить в течение пяти рабочих дней или меньше.","Web Login":"Веб-логин","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"WebDAV клиенты могут подключаться к PhotoPrism используя следующий URL:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"WebDAV клиенты, такие как Microsoft Windows Проводник или Apple Finder, могут подключаться к PhotoPrism напрямую.","WebDAV Upload":"WebDAV загрузка","WebGL support is disabled in your browser":"В твоем браузере отключена поддержка WebGL","Website":"Сайт","White":"Белый","Work Details":"Детали работы","Year":"Год","Yellow":"Желтый","Yes":"Да","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Вы можете связаться с нами по адресу membership@photoprism.app, чтобы задать вопросы, касающиеся вашего членства.","You can only download one album":"Вы можете загрузить только один альбом","You can only download one label":"Вы можете загрузить только одну метку","You can search for a location or move the marker on the map to change the position:":"Ты можешь искать местоположение или перемещать маркер на карте, чтобы изменить положение:","You can upload up to %{n} files for test purposes.":"Для тестирования можно загрузить до %{n} файлов.","You may only select one item":"Вы можете выбрать только один элемент","You may rescan your library to find additional faces.":"Вы можете повторно просканировать свою библиотеку, чтобы найти дополнительные лица.","Your account has been successfully connected.":"Ваша учетная запись успешно подключена.","Your browser does not support WebGL":"Твой браузер не поддерживает WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Ваша постоянная поддержка помогает нам предоставлять регулярные обновления и оставаться независимыми, чтобы мы могли выполнять нашу миссию и защищать вашу частную жизнь.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Ваша библиотека постоянно анализируется для автоматического создания альбомов особых моментов, поездок и мест.","Zoom in/out":"Увеличение/уменьшение масштаба"}} \ No newline at end of file diff --git a/frontend/src/locales/json/sk.json b/frontend/src/locales/json/sk.json index d84e5b83d..e75348de7 100644 --- a/frontend/src/locales/json/sk.json +++ b/frontend/src/locales/json/sk.json @@ -1 +1 @@ -{"sk":{"{0} appended action":"{0} pripojená akcia","{0} files":"{0} súborov","{0} files ({1} in total)":"{0} súborov (spolu {1})","{0} more":"{0} viac","{0} prepended action":"{0} predradená akcia","{0} selected":"{0} vybrané","{0}-{1} of {2}":"{0}-{1} z {2}","%{n} albums found":"%{n} nájdených albumov","%{n} files uploaded":"%{n} odovzdaných súborov","%{n} folders found":"%{n} nájdených zložiek","%{n} GB of %{q} GB used":"%{n} GB z %{q} GB použitých","%{n} labels found":"%{n} nájdených štítkov","%{n} people found":"%{n} nájdených ľudí","%{n} pictures found":"%{n} nájdených obrázkov","%{s} is too long":"%{s} je príliš dlhé","%{s} is too short":"%{s} je príliš krátke","1 hour":"1 hodina","12 hours":"12 hodín","2-Factor Authentication":"2-faktorové overovanie","2FA":"2FA","4 hours":"4 hodiny","A click will copy it to your clipboard.":"Kliknutím skopírujete obsah.","A new version of %{s} is available:":"K dispozícii je nová verzia %{s}:","About":"O nás","Access Token":"Prístupový token","Account":"Účet","Account created":"Účet vytvorený","Account deleted":"Účet odstránený","Account restored":"Obnovenie účtu","Accounts":"Účty","Accuracy":"Presnosť","Action":"Akcia","Actions":"Akcie","Activate":"Aktivácia stránky","Activate to remove sorting.":"Aktiváciou odstránite triedenie.","Activate to sort ascending.":"Aktivácia na vzostupné triedenie.","Activate to sort descending.":"Aktivácia na zoradenie zostupne.","Activation Code":"Aktivačný kód","Add":"Pridať","Add %{s}?":"Pridať %{s}?","Add Account":"Pridať účet","Add Album":"Pridať Album","Add files to your library via Web Upload.":"Pridať súbory do vašej knižnice pomocou Web Upload.","Add Link":"Pridať odkaz","Add person?":"Pridať osobu?","Add pictures from search results by selecting them.":"Pridanie fotiek z výsledkov vyhľadávania ich výberom.","Add to album":"Pridať do albumu","Added":"Pridané","Admin":"Admin","Advanced":"Pokročilé","After 1 day":"Po 1 dni","After 3 days":"Po 3 dňoch","After 7 days":"Po 7 dňoch","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Po zadaní hesla na potvrdenie si môžete nastaviť dvojfaktorové overenie pomocou kompatibilnej aplikácie alebo zariadenia na overovanie:","After one month":"Po jednom mesiaci","After one year":"Po jednom roku","After selecting pictures from search results, you can add them to an album using the context menu.":"Po výbere obrázkov z výsledkov vyhľadávania ich môžete pridať do albumu pomocou kontextovej ponuky.","After two months":"Po dvoch mesiacoch","After two weeks":"Po dvoch týždňoch","Album":"Album","Album Backups":"Zálohy albumov","Album created":"Album vytvorený","Albums":"Albumy","Albums deleted":"Albumy odstránené","All":"Všetky","All %{n} albums loaded":"Všetkých %{n} albumov bolo načítaných","All %{n} labels loaded":"Všetkých %{n} štítkov načítaných","All %{n} people loaded":"Všetkých %{n} ľudí načítaných","All Cameras":"Všetky kamery","All Categories":"Všetky kategórie","All Colors":"Všetky farby","All Countries":"Všetky štáty","All fields are required":"Všetky políčka sú vyžadované","All files from import folder":"Všetky súbory zo zložky importu","All Lenses":"Všetky Objektívy","All Months":"Všetky Mesiace","All originals":"Všetky originály","All Years":"Všetky Roky","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Prípadne môžete odovzdať súbory priamo na WebDAV servery ako napríklad Nextcloud.","Altitude":"Nadmorská výška","Altitude (m)":"Nadmorská výška (m)","AM":"AM","Animated":"Animované","Animation":"Animácie","Any private photos and videos remain private and won't be shared.":"Všetky súkromné fotky a videá zostanú súkromné a nemôžu byť zdieľané.","API Key":"API Kľúč","Application":"Aplikácia","Apply":"Použiť","Approve":"Schváliť","Apps and Devices":"Aplikácie a zariadenia","Archive":"Archivovať","Archived":"Archivované","Are you sure you want to archive the selection?":"Ste si istý, že chcete archivovať výber?","Are you sure you want to delete these albums?":"Ste si istý, že chcete vymazať tieto albumy?","Are you sure you want to delete these labels?":"Ste si istý, že chcete vymazať tieto štítky?","Are you sure you want to delete this account?":"Ste si istý, že chcete vymazať tento účet?","Are you sure you want to permanently delete these pictures?":"Ste si istý, že chcete tieto obrázky natrvalo odstrániť?","Are you sure you want to permanently delete this file?":"Ste si istý že chcete permanentne vymazať tento súbor?","Are you sure?":"Ste si istý?","Artist":"Umelec","Aspect Ratio":"Pomer Strán","Audio":"Audio","Authentication":"Overovanie","Auto":"Auto","Back":"späť","Back to top":"Späť na začiatok","Backup":"Záloha","Badge":"Odznak","Base Path":"Základná cesta","Become a member today, support our mission and enjoy our member benefits!":"Staňte sa členom ešte dnes, podporte naše poslanie a využívajte naše členské výhody!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Keďže sme financovaní 100% selfmi a sme nezávislí, môžeme vám sľúbiť, že vaše údaje nikdy nepredáme a že náš softvér a služby budú vždy transparentné.","Bio":"Bio","Birth Date":"Datum narodenia","Black":"Čierna","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Lanczosova úprava, menej zvonivých artefaktov","Blue":"Modrá","Brown":"Hnedá","Browse":"Prehľadávať","Browse and edit image classification labels.":"Prehliadať a upravovať triediace štítky fotiek.","Browse and share your pictures organized into monthly albums.":"Prezerajte a zdieľajte svoje fotografie usporiadané do mesačných albumov.","Browse Files":"Prehľadávanie súborov","Browse indexed files and folders in Library.":"Prehliadať indexované súbory a zložky v Knižnici.","Bug Report":"Nahlásiť chybu","Busy, please wait…":"Som zaneprázdnený, prosím čakajte…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Používaním softvéru a služieb, ktoré poskytujeme, súhlasíte s našimi podmienkami používania, zásadami ochrany osobných údajov a kódexom správania.","Calendar":"Kalendár","Camera":"Kamera","Camera Serial":"Séria Kamery","Can't access your authenticator app or device?":"Nemôžete získať prístup k aplikácii alebo zariadeniu autentifikátora?","Can't load more, limit reached":"Nemožno načítať viac, limit dosiahnutý","Can't select more items":"Nemožno označiť viac položiek","Cancel":"Zrušiť","Caption":"Titulok","Cards":"Karty","Carousel slide {0} of {1}":"Kolotočový posuvník {0} z {1}","Category":"Kategória","Change Avatar":"Zmeniť profilovú fotku","Change Password":"Zmeniť heslo","Change personal profile and security settings.":"Zmena osobného profilu a nastavení zabezpečenia.","Change photo titles, locations, and other metadata.":"Zmeniť názvy fotiek, polohy a ostatné metadata.","Change private flag":"Zmeniť privátne označenie","Changes could not be saved":"Zmeny sa neuložili","Changes successfully saved":"Zmeny boli úspešne uložené","Changes to the advanced settings require a restart to take effect.":"Aby sa zmeny rozšírených nastavení prejavili, je potrebné ich reštartovať.","Checked":"Označené","Chroma":"Sýtosť","Cleaning index and cache":"Čistenie indexu a vyrovnávacej pamäte","Cleanup":"Čistenie","Clear {0}":"Vyčistiť {0}","Client":"Klient","Client Credentials":"Splnomocnenia klienta","Close":"Zatvoriť","Codec":"Kodek","Color":"Farba","Color Profile":"Farebný profil","Colors":"Farby","Compare Editions":"Porovnať vydania","Complete Rescan":"Kompletné preskenovanie","Confidence":"Zhoda","Confirm":"Potvrďte","Connect":"Pripojiť","Connect via WebDAV":"Pripojiť pomocou WebDav","Connected":"Pripojené","Contact Details":"Kontaktné údaje","Contact Us":"Kontaktujte nás","Contains %{n} pictures.":"Obsahuje %{n} obrázkov.","Contains one picture.":"Obsahuje jeden obrázok.","Content":"Obsah","Continue":"ďalej","Continue with %{provider}":"Pokračujte pomocou %{provider}","Contributor":"Prispievateľ","Converting":"Konvertuje sa","Copied to clipboard":"Skopírované do schránky","Copy":"Kopírovať","Copyright":"Autorské práva","Couldn't find anything.":"Nič nenájdené.","Country":"Štát","Create Account":"Vytvoriť účet","Create album":"Vytvoriť album","Create regular backups based on the configured schedule.":"Vytváranie záloh indexov na základe nakonfigurovaného plánu.","Create YAML files to back up album metadata.":"Vytvorenie súborov YAML na zálohovanie metadát albumu.","Create YAML sidecar files to back up picture metadata.":"Vytvorenie súborov YAML sidecar na zálohovanie metadát obrázkov.","Created":"Vytvorené","Creating thumbnails for":"Vytváranie náhľadov pre","Cubic: Moderate Quality, Good Performance":"Kubický: Stredná kvalita, dobrý výkon","Current Password":"Súčasné heslo","Custom":"Vlastné","Cyan":"Tyrkysová","Daily":"Denne","Database Backups":"Zálohovanie databázy","Day":"Deň","Deactivate":"Deaktivovať","Debug Logs":"Denníky ladenia","Default":"Predvolená","Default Folder":"Pôvodná zložka","Delete":"Vymazať","Delete All":"Odstrániť všetko","Delete all?":"Vymazať všetko?","Delete orphaned index entries, sidecar files and thumbnails.":"Odstránenie osirelých položiek indexu, súborov vedľajších kariet a miniatúr.","Description":"Popis","Detailed instructions can be found in our User Guide.":"Detailný postup môžete nájsť v našej Užívateľskej Príručke.","Details":"Detaily","Dimensions":"Rozmery","Disable Backups":"Posledná Záloha","Disable Darktable":"Zakázať Darktable","Disable ExifTool":"Zakázať ExifTool","Disable features that require write permission for the originals folder.":"Zakážte funkcie, ktoré vyžadujú oprávnenie na zápis do priečinka originálov.","Disable FFmpeg":"Zakázanie aplikácie FFmpeg","Disable ImageMagick":"Zakázanie aplikácie ImageMagick","Disable interactive world maps and reverse geocoding.":"Zakázanie interaktívnych máp sveta a reverzného geokódovania.","Disable Places":"Zakázať miesta","Disable RawTherapee":"Zakázať RawTherapee","Disable TensorFlow":"Zakázať TensorFlow","Disable Vectors":"Zakázanie vektorov","Disable WebDAV":"Zakázať WebDAV","Disables vector graphics support.":"Zakáže podporu vektorovej grafiky.","Disables video transcoding and thumbnail extraction.":"Zakáže prekódovanie videa a extrakciu miniatúr.","Discover":"Objaviť","Dismiss":"Odmietnuť","Display Name":"Zobraziť meno","Display picture captions in search results.":"Zobrazenie popiskov obrázkov vo výsledkoch vyhľadávania.","Display picture titles in search results.":"Zobrazenie názvov obrázkov vo výsledkoch vyhľadávania.","Document":"Dokument","Documents":"Dokumenty","Don't use Darktable to convert RAW images.":"Na konverziu obrázkov RAW nepoužívajte program Darktable.","Don't use ImageMagick to convert images.":"Na konverziu obrázkov nepoužívajte ImageMagick.","Don't use RawTherapee to convert RAW images.":"Na konverziu obrázkov RAW nepoužívajte program RawTherapee.","Done":"Hotovo","Done.":"Hotovo.","Download":"Stiahnuť","Download only original media files, without any automatically generated files.":"Stiahnite si iba originálne mediálne súbory bez automaticky generovaných súborov.","Download remote files":"Stiahnuť vzdialené súbory","Download single files and zip archives.":"Stiahnuť samostatné súbory a zip archívy.","Downloading…":"Sťahovanie…","Downscaling Filter":"Filter znižovania kvality","Drag and drop files here":"Presuňte sem súbory","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"Vzhľadom na vysoký počet prijatých e-mailov sa môže stať, že vám náš tím nebude môcť okamžite odpovedať.","Duplicates will be skipped and only appear once.":"Duplikáty budú preskočené a zobrazia sa len raz.","Duration":"Trvanie","Dynamic Previews":"Dynamické Ukážky","Dynamic Size Limit: %{n}px":"Limit dynamickej pamäte: %{n} px","E-Mail":"E-Mail","Edit":"Upraviť","Edit %{s}":"Upraviť %{s}","Edit Account":"Upraviť učet","Edit Photo":"Upraviť Fotku","Edited":"Upravené","Email":"E-mail","Enable debug mode to display additional logs and help with troubleshooting.":"Zapnutím režimu ladenia zobrazíte ďalšie protokoly a pomôžete pri riešení problémov.","Enable new features that may be incomplete or unstable.":"Povolenie nových funkcií, ktoré môžu byť neúplné alebo nestabilné.","Enables RAW converter presets. May reduce performance.":"Povolí predvoľby konvertora RAW. Môže znížiť výkon.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Povolenie dvojfaktorovej autentifikácie znamená, že na prihlásenie budete potrebovať náhodne vygenerovaný overovací kód, takže aj keď niekto získa prístup k vášmu heslu, nebude mať prístup k vášmu účtu.","Enter date":"Zadajte dátum","Enter dates":"Zadajte dátumy","Enter the code generated by your authenticator app:":"Zadajte kód vygenerovaný aplikáciou autentifikátora:","Enter verification code":"Zadajte overovací kód","Enter your password to confirm the action and continue:":"Zadajte svoje heslo na potvrdenie akcie a pokračujte:","Error":"Chyba","Errors":"Chyby","Estimate":"Odhad","Estimate Locations":"Odhad lokalít","Estimate the approximate location of pictures without GPS coordinates.":"Odhad približnej polohy obrázkov bez súradníc GPS.","Every two days":"Každé dva dni","Exclude content marked as private from search results, shared albums, labels, and places.":"Vylúčiť obsah označený ako súkromný z výsledkov vyhľadávania, zdieľaných albumov, štítkov a miest.","Exclude hidden":"Vylúčiť skryté","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"Pre úplnú podporu videí, živých fotografií a XMP je potrebná extrakcia metadát pomocou nástroja ExifTool.","Experimental Features":"Experimentálne funkcie","Expires":"Vyprší","Exposure":"Expozícia","Extract still images and generate thumbnails while indexing.":"Extrahovanie statických obrázkov a generovanie miniatúr počas indexovania.","F Number":"F Číslo","Face":"Tvár","Faces":"Tváre","Failed removing link":"Zlyhalo odstraňovanie odkazu","Failed to connect account.":"Nepodarilo sa pripojiť účet.","Failed updating link":"Zlyhalo aktualizovanie odkazu","Family Name":"Rodinné meno","Fast":"Rýchle","Favorite":"Obľúbený","Favorites":"Obľúbené","Feature Request":"Požiadať o funkciu","Feedback":"Spätná väzba","Female":"Žena","File":"Súbor","File Browser":"Prehliadač Súborov","File Conversion":"Konverzia súborov","File Name":"Názov súboru","File Size":"Veľkosť súboru","Filename":"Názov súboru","Files":"Súbory","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Súbory s postupnými menami ako napríklad 'IMG_1234 (2)' alebo 'IMG_1234 copy 2' pripadá rovnakej fotke.","First page":"Prvá strana","Focal Length":"Ohnisková Vzdialenosť","Folder":"Zložka","Folder contains %{n} files":"Zložka obsahuje %{n} súborov","Folder is empty":"Zložka je prázdna","Folders":"Zložky","Forgot password?":"Zabudnuté heslo?","FPS":":abbr:`FPS (Frame Per Second - snímok za sekundu)`","Frames":"Frames","Full Access":"Úplný prístup","Fullscreen":"Plná obrazovka","General":"Hlavné","Generate":"Generovať","Generate albums of special moments, journeys, and places.":"Automaticky vytvára albumy špeciálnych momentov, výletov a miest.","Generate Previews":"Generovanie náhľadov","Generated":"Generované","Get Started":"Začnite","Given Name":"Dané meno","Global Options":"Globálne možnosti","Go to page {0}":"Prejsť na stránku {0}","Gold":"Zlatá","Green":"Zelená","Grey":"Sivá","Guest":"Hosť","Hash":"Hash","Help":"Pomoc","Help & Support":"Pomoc a podpora","Hidden":"Skryté","Hidden Files":"Skryté súbory","Hide":"Skryť","Hide photos that have been moved to archive.":"Skryť fotky, ktoré boli presunuté do archívu.","High":"Vysoké","High Dynamic Range (HDR)":"Vysoký dynamický rozsah (HDR)","How can we help?":"Ako môžeme pomôcť?","Hybrid":"Hybrid","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Ak stratíte prístup k svojej autentifikačnej aplikácii alebo zariadeniu, môžete použiť kód na obnovenie na opätovné získanie prístupu k svojmu účtu.","Image":"Obrázok","Image Quality":"Kvalita obrazu","Import":"Importovať","Import failed":"Importovanie zlyhalo","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Importované súbory budú zoradené podľa dátumu a dostanú unikátny názov aby sa predišlo duplikátom.","Imported files will be sorted by date and given a unique name.":"Importované súbory budú zoradené podľa dátumu a dostanú unikátny názov.","Importing %{s}…":"Importuje sa %{s}…","Importing files to originals…":"Importujú sa súbory do originálov…","in":"v","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"V prípade, že niektoré fotky chýbajú, znova preskenujte svoju knižnicu a počkajte, kým sa indexovanie neukončí.","Include RAW image files when downloading stacks and archives.":"Zahrnúť obrazové súbory RAW pri preberaní zásobníkov a archívov.","Include sidecar files when downloading stacks and archives.":"Pri preberaní zásobníkov a archívov zahrňte vedľajšie súbory.","Increase storage size or delete files to continue.":"Ak chcete pokračovať, zväčšite veľkosť úložiska alebo odstráňte súbory.","Index":"Index","Index and import files through the user interface.":"Indexujte a importujte súbory prostredníctvom používateľského rozhrania.","Indexing":"Indexovanie","Indexing failed":"Indexovanie zlyhalo","Indexing media and sidecar files…":"Indexovanie médií a pripojených súborov…","Information":"Informácie","Instance ID":"ID Inštancie","Insufficient storage.":"Nedostatočné skladovanie.","Interval":"Interval","Invalid":"Neplatné","Invalid address":"Neplatná adresa","Invalid country":"Neplatná krajina","Invalid date":"Neplatný dátum","Invalid parameters":"Neplatné parametre","Invalid photo selected":"Vybraná neplatná fotografia","Invalid time":"Neplatný čas","Invalid URL":"Neplatná adresa URL","It is a one-time use code that will disable 2FA for your account when you use it.":"Je to jednorazový kód, ktorý pri použití deaktivuje 2FA pre váš účet.","Item":"Položka","Items per page:":"Položky na stránku:","JPEG Quality: %{n}":"Kvalita JPEG: %{n}","JPEG Size Limit: %{n}px":"Limit veľkosti JPEG: %{n} px","JPEGs and thumbnails are automatically rendered as needed.":"JPEG a náhľady sú automaticky vykreslené podľa potreby.","Keywords":"Kľúčové slová","Label":"Štítok","Labels":"Štítky","Labels deleted":"Štítky odstránené","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: Zachovanie detailov, minimálne artefakty","Language":"Jazyk","Last Active":"Posledný aktívny","Last Login":"Posledné prihlásenie","Last page":"Posledná strana","Last Sync":"Posledná synchronizácia","Last Used":"Naposledy použité","Latitude":"Šírka","LDAP/AD":"LDAP/AD","Learn more":"Viac","Learn More":"Dozvedieť sa viac","Legal Information":"Právne informácie","Lens":"Objektív","Library":"Knižnica","License":"Licencia","Like":"Páči sa mi to","Lime":"Limetka","Limit reached, showing first %{n} files":"Limit bol dosiahnutý, zobrazovanie prvých %{n} súborov","Linear: Very Smooth, Best Performance":"Lineárne: Veľmi hladké, Najlepší výkon","Link":"Odkaz","List":"List","List View":"Zobrazenie zoznamu","Live":"Živé","Live Photos":"Živé fotografie","Load more":"Načítať viac","Loading items...":"Načítanie položiek...","Loading...":"Načítavanie...","Local":"Miestne stránky","Local Time":"Lokálny čas","Location":"Poloha","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Správy denníka sa tu zobrazia vždy, keď program PhotoPrism narazí na poškodené súbory alebo sa vyskytnú iné potenciálne problémy.","Login":"Prihlásiť sa","Logout":"Odhlásiť sa","Logs":"Záznamy","Longitude":"Dĺžka","Low":"Nízka","Magenta":"Purpurová","Main Color":"Hlavná Farba","Male":"Muž","Manage Account":"Správa účtu","Manual":"Manuálne","Manual Upload":"Manuálne odovzdanie","Maps":"Mapy","Marker":"Značka","Maximum number of accounts has been reached.":"Maximálny počet účtov bol dosiahnutý.","Media":"Médiá","Medium":"Normálne","Membership":"Členstvo","Merge %{a} with %{b}?":"Zlúčiť %{a} s %{b}?","Message":"Správa","Message sent":"Správa odoslaná","Metadata":"Metadáta","Metrics":"Metriky","Minimize":"Minimalizovať","Missing":"Chýba","Missing or invalid configuration":"Chýbajúca alebo neplatná konfigurácia","Moments":"Momenty","Monochrome":"Monochromatický","Month":"Mesiac","More options":"Ďalšie možnosti","Mosaic":"Mozaika","Most Relevant":"Najrelevantnejšie","Move Files":"Presunúť Súbory","Must have at least %{n} characters.":"Musí obsahovať aspoň %{n} znakov.","Mute":"Vypnutie zvuku","Name":"Meno","Name too long":"Meno je príliš dlhé","Never":"Nikdy","New":"Nový","New Password":"Nové heslo","Newest First":"Najnovšie prvé","Next":"Ďalšie","Next page":"Ďalšia stránka","Next visual":"Ďalšie vizuálne","No":"Nie","No albums found":"Nenašli sa žiadne albumy","No data available":"Nie sú k dispozícii žiadne údaje","No labels found":"Nenašli sa žiadne štítky","No matching records found":"Nenašli sa žiadne zodpovedajúce záznamy","No more":"Nie viac","No people found":"Neboli nájdení žiadni ľudia","No pictures found":"Nenašli sa žiadne fotky","No recently edited pictures":"Žiadne nedávno upravené fotky","No server connection":"Žiadne pripojenie k serveru","No servers configured.":"Žiadne nakonfigurované servery.","No services configured.":"Nie sú nakonfigurované žiadne služby.","No thanks":"Nie, ďakujem","No warnings or error containing this keyword. Note that search is case-sensitive.":"Nenašli sa žiadne upozornenia ani chyby ktoré by obsahovali toto kľúčové slovo. Majte na vedomí, že vyhľadávanie je citlivé na veľké a malé písmená.","Non-photographic and low-quality images require a review before they appear in search results.":"Nefotografické a fotografie nízkej kvality vyžadujú skontrolovanie pred tým než sa zobrazia vo výsledkoch vyhľadávania.","None":"Žiadne","Not allowed":"Nie je povolené","Not found":"Nenájdené","Not sorted.":"Nie je vytriedené.","Not supported":"Nie je podporované","Note you may manually manage your originals folder and importing is optional.":"Upozorňujeme, že priečinok s originálmi by ste mali spravovať ručne a import je voliteľný.","Note:":"Poznámka:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Poznámka: Iba WebDAV servery, ako napríklad Nextcloud alebo PhotoPrism, môžu byť nakonfigurované ako vzdialené služby pre zálohu a odovzdávanie súborov.","Notes":"Poznámky","Nothing to see here yet.":"Zatiaľ tu nič nie je. Buďte trpezlivý.","Nothing was found.":"Nič sa nenašlo.","Offline":"Offline","OIDC":"OIDC","OK":"OK","Oldest First":"Najstaršie prvé","On Windows, enter the following resource in the connection dialog:":"V systéme Windows zadajte do dialógového okna pripojenia nasledujúci zdroj:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"Generovanie miniatúr na požiadanie môže spôsobiť vysoké využitie CPU a pamäte. Neodporúča sa pre servery a zariadenia NAS s obmedzenými zdrojmi.","Once a week":"Raz za týždeň","One album found":"Našiel sa jeden album","One file found":"Našiel sa jeden súbor","One file uploaded":"Jeden nahraný súbor","One folder found":"Našla sa jedna zložka","One label found":"Našiel sa jeden štítok","One person found":"Našla sa jedna osoba","One picture found":"Našla sa jedna fotka","Only locally managed accounts can be set up for authentication with 2FA.":"Na overenie pomocou 2FA je možné nastaviť iba lokálne spravované účty.","Open":"Otvorte stránku","optional":"voliteľné","or":"alebo","Orange":"Oranžová","Organization":"Názov organizácie","Orientation":"Orientácie","Original file names will be stored and indexed.":"Pôvodné názvy súborov budú uložené a zaindexované.","Original Name":"Pôvodný názov","Originals":"Pôvodné","Other":"Ostatné","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Našou víziou je poskytnúť používateľsky najprívetivejšie riešenie na prehliadanie, organizovanie a zdieľanie vašej zbierky fotografií.","Outdoor":"Vonkajšie","Page {0}, Current page":"Strana {0}, Aktuálna stránka","Pages":"Stránky","Pagination Navigation":"Navigácia na stránkovanie","Panorama":"Panoráma","Panoramas":"Panorámy","Password":"Heslo","Password changed":"Heslo bolo zmenené","People":"Ľudia","People you share a link with will be able to view public contents.":"Ľudia s ktorými zdieľate odkaz, budú vidieť verejný obsah.","Permanently deleted":"Trvalo odstránené","Permanently remove files to free up storage.":"Trvalo odstráňte súbory aby ste uvoľnili miesto.","Person":"Osoba","Personal":"Osobné","Photo":"Fotka","PhotoPrism is 100% self-funded and independent.":"Spoločnosť PhotoPrism je 100 % financovaná z vlastných zdrojov a je nezávislá.","PhotoPrism+ Membership":"Členstvo v programe PhotoPrism+","Photos":"Fotky","Picture Title":"Názov obrázka","Pink":"Ružová","Place":"Miesto","Place & Time":"Miesto a čas","Places":"Miesta","Please confirm your new password.":"Prosím, potvrďte vaše nové heslo.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Skopírujte si nasledujúce náhodne vygenerované heslo aplikácie a uschovajte ho na bezpečnom mieste, pretože ho už neuvidíte:","Please do not upload any private, unlawful or offensive pictures.":"Prosím, nenahrávajte žiadne súkromné, nezákonné alebo urážlivé obrázky.","Please don't upload photos containing offensive content.":"Prosím, neodovzdávajte fotky obsahujúce hanobný obsah.","Please enter OTP character {0}":"Zadajte prosím znak OTP {0}","Please note that changing your password will log you out on other devices and browsers.":"Upozorňujeme, že zmena hesla vás odhlási z iných zariadení a prehliadačov.","Please restart your instance for the changes to take effect.":"Reštartujte inštanciu, aby sa zmeny prejavili.","Please wait…":"Počkajte, prosím…","PM":"PM","PNG Size Limit: %{n}px":"Limit veľkosti PNG: %{n} px","Portrait":"Portrét","Preserve filenames":"Ponechať názvy súborov","Press enter to create a new album.":"Stlačte enter pre vytvorenie nového albumu.","Prevent database and album backups as well as YAML sidecar files from being created.":"Zabráňte vytváraniu záloh databáz a albumov, ako aj súborov YAML sidecar.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Zabráňte iným aplikáciám v prístupe k aplikácii PhotoPrism ako k zdieľanej sieťovej jednotke.","Preview":"Ukážka","Preview Images":"Náhľad obrázkov","Previous":"Predchádzajúci","Previous page":"Predchádzajúca stránka","Previous visual":"Predchádzajúci vizuálny","Primary":"Primárne","Private":"Súkromné","Product Feedback":"Spätná väzba produktu","Projection":"Projekcia","Purple":"Fialová","Quality Filter":"Filter kvality","Quality Score":"Skóre Kvality","r":"r","Random":"Náhodne","Rating {0} of {1}":"Hodnotenie {0} z {1}","Raw":"Raw","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Re-indexujte všetky originály, aj tie ktoré už sú zaindexované a nezmenené súbory.","Read-Only Mode":"Režim iba na čítanie","Recently Added":"Novinky","Recently Archived":"Nedávno archivované","Recently Edited":"Nedávno upravené","Recognition starts after indexing has been completed.":"Rozpoznávanie sa začne po dokončení indexovania.","Recognize faces so people can be assigned and found.":"Rozpoznáva tváre, aby bolo možné nájsť konkrétne osoby.","Recognized":"Rozpoznané","Recovery Code":"Kód obnovy","Red":"Červená","Refresh":"Obnoviť","Regions":"Regióny","Register":"Registrácia","Reload":"Znovu načítať","Reloading…":"Znovu načítavanie…","Remote Sync":"Vzdialená Synchronizácia","Remove":"Odstrániť","remove failed: unknown album":"odstránenie zlyhalo: neznámy album","Remove from Album":"Odstrániť z albumu","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Odstráňte importované súbory pre uvoľnenie miesta. Nepodporované typy súborov nebudú nikdy odstránené. Zostanú na ich momentálnom mieste.","Request failed - are you offline?":"Žiadosť zlyhala - ste offline?","Request failed - invalid response":"Požiadavka zlyhala - neplatná odozva","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Vyžadujte, aby sa nefotografické a nekvalitné obrázky pred zobrazením vo výsledkoch vyhľadávania skontrolovali.","Resolution":"Rozlíšenie","Restart":"Reštartovanie stránky","Restore":"Obnoviť","Restored":"Obnovená stránka","Retry Limit":"Limit opakovania","Retype Password":"Heslo znovu","Review":"Kontrola","Role":"Úloha","Rows per page:":"Riadky na stránku:","Satellite":"Satelitná","Save":"Uložiť","Scan":"Sken","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Naskenujte QR kód pomocou svojej autentifikačnej aplikácie alebo použite kľúč nastavenia zobrazený nižšie a potom zadajte vygenerovaný overovací kód:","Scans":"Skeny","Scope":"Rozsah pôsobnosti","Search":"Vyhľadávanie","Search and display photos on a map.":"Nájsť a zobraziť fotky na mape.","Season":"Sezóna","Secret":"Tajomstvo","Security and Access":"Bezpečnosť a prístup","Select":"Vybrať","Select a source folder to import files…":"Vyberte zdrojový priečinok na importovanie súborov…","Select date":"Zvoľte dátum","Select dates":"Vyberte dátumy","Select or create an album":"Výber alebo vytvorenie albumu","Select the files to upload…":"Vyberte súbory, ktoré chcete nahrať…","Select the folder to be indexed…":"Vyberte priečinok, ktorý sa má indexovať…","Select Time":"Vyberte čas","Selection approved":"Označenie schválené","Selection archived":"Označenie archivované","Selection restored":"Označenie obnovené","Sequential Name":"Poradové meno","Service URL":"URL Služby","Services":"Služby","Session":"Zasadnutie","Session ID":"ID relácie","Sessions":"Relácie","Set as Album Cover":"Nastaviť ako obal albumu","Settings":"Nastavenia","Settings saved":"Nastavenia uložené","Setup":"Prvotné nastavenie","Share":"Zdieľať","Share %{s}":"Zdieľať %{s}","Share your pictures with other apps and services.":"Zdieľajte svoje obrázky s inými aplikáciami a službami.","Show":"Zobraziť","Show all new faces":"Zobraziť všetky nové tváre","Show Captions":"Zobraziť titulky","Show hidden":"Zobraziť skryté","Show less":"Zobraziť menej","Show more":"Zobraziť viac","Show server logs in Library.":"Zobraziť serverové záznamy v knižnici.","Show Titles":"Zobraziť názvy","Sidecar":"Pripojený súbor (sidecar)","Sidecar Files":"Súbory Sidecar","Sign in":"Prihlásiť sa","Similar":"Podobné","Size":"Veľkosť","Slideshow":"Prezentácia","Slow":"Pomalé","Software":"Softvér","Software Update":"Aktualizácia softvéru","Something went wrong, try again":"Niečo sa pokazilo, skúste to znova","Sort by":"Zoradiť podľa","Sort Order":"Zoradiť Poradie","Sorted ascending.":"Zoradené vzostupne.","Sorted descending.":"Zoradené zostupne.","Source":"Zdroj","Stack":"Naskladané fotky","Stack files sharing the same unique image or instance identifier.":"Naskladané súbory zdieľajúce rovnaký jedinečný obrázok alebo identifikátor inštancie.","Stack pictures taken at the exact same time and location based on their metadata.":"Naskladané fotky nasnímané v rovnakom čase a na rovnakom mieste na základe ich metadát.","Stackable":"Naskladateľné","Stacks":"Naskladané","Start":"Štart","Start Page":"Úvodná stránka","Static Size Limit: %{n}px":"Statický limit veľkosti: %{n} px","Status":"Status","Storage":"Úložisko","Streets":"Ulice","Subject":"Predmet","Submit":"Odoslať","Successfully activated":"Úspešne aktivované","Successfully Connected":"Úspešne pripojené","Successfully deleted":"Úspešne odstránené","Successfully verified":"Úspešne overené","Super Admin":"Super administrátor","Support for additional services, like Google Drive, will be added over time.":"Podpora pre dodatočné služby, ako napríklad Google Drive, budú pridané neskôr.","Support Our Mission":"Podporte našu misiu","Sync":"Synchronizácia","Sync raw and video files":"Synchronizovať súbory raw a videá","Taken":"Zachytené","Teal":"Modrozelený","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow je potrebný na klasifikáciu obrázkov, rozpoznávanie tváre a zisťovanie nebezpečného obsahu.","Terrain":"Terén","Text":"Text","Text too long":"Text je moc dlhý","Thank You for Your Support!":"Ďakujeme za vašu podporu!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Preto bol PhotoPrism od základu vytvorený tak, aby fungoval všade, kde ho potrebujete, bez toho, aby bola ohrozená sloboda, súkromie alebo funkčnosť.","The index currently contains %{n} hidden files.":"Index momentálne obsahuje %{n} skrytých súborov.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Ich formát nemusí byť podporovaný, zatiaľ neboli prekonvertované na JPEG alebo sú medzi nimi duplikáty.","Theme":"Téma","This field is required":"Toto pole je povinné","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Toto pripojí zložku originálov ako sieťový disk a umožní vám otvoriť, upraviť a zmazať súbory z vášho počítača alebo smartphonu ako keby boli uložené lokálne.","Time UTC":"Čas UTC","Time Zone":"Časová Zóna","Timeout":"Časový limit","Title":{"Account":"Titulok","Photo":"Titulok","":"Titulok"},"Title / Position":"Titul / pozícia","Title too long":"Titulok je moc dlhý","to":"do","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Aby ste sa vyhli vymknutiu zo svojho účtu, stiahnite si, vytlačte alebo skopírujte tento kód na obnovenie a uschovajte ho na bezpečnom mieste.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Ak chcete vygenerovať nové heslo pre konkrétnu aplikáciu, zadajte názov a rozsah autorizácie aplikácie a vyberte dátum vypršania platnosti:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Ak chcete prejsť na novú aplikáciu alebo zariadenie na overovanie, najskôr deaktivujte dvojfaktorové overenie a potom ho znova aktivujte:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Ak chcete aktualizovať, môžete zadať aktivačný kód alebo sa kliknutím na tlačidlo \"Registrovať\" zaregistrovať na našej webovej stránke:","Today":"Dnes","Toggle View":"Nastaviť Pohľad","Token":"Token","Too many files selected":"Príliš veľa vybraných súborov","Too many requests":"Príliš veľa požiadaviek","Troubleshooting":"Riešenie problémov","Try again using other filters or keywords.":"Skúste znova použitím iných filtrov a kľúčových slov.","Two-factor authentication has been enabled for your account.":"Pre váš účet bolo povolené dvojfaktorové overenie.","Type":"Typ","Unauthorized":"Neoprávnené","Undo":"Späť","Unique ID":"Unikátne ID","Unknown":"Neznámy","Unregistered":"Neregistrovaný","Unsorted":"Nezoradené","Unstack":"Rozdeliť naskladané","Updated":"Aktualizované","Updating faces":"Aktualizujú sa tváre","Updating index":"Aktualizuje sa index","Updating moments":"Aktualizujú sa momenty","Updating picture…":"Aktualizácia obrázku..","Updating previews":"Aktualizujú sa náhľady","Updating stacks":"Aktualizujú sa naskladané fotky","Upgrade":"Aktualizácia","Upgrade Now":"Aktualizujte teraz","Upload":"Odovzdať","Upload complete":"Odovzdávanie hotové","Upload complete. Indexing…":"Odovzdávanie hotové. Indexuje sa…","Upload failed":"Odovzdávanie zlyhalo","Upload local files":"Odovzdať lokálne súbory","Upload Path":"Cesta nahrávania","Upload to WebDAV and share links with friends.":"Odovzdať do WebDAV a zdieľať odkazy s priateľmi.","Uploading %{n} of %{t}…":"Odovzdáva sa %{n} z %{t}…","Uploading photos…":"Odovzdávanie fotiek…","Uploading…":"Nahrávanie..","Uploads that may contain such images will be rejected automatically.":"Odovzdávanie takéhoto typu fotiek bude automaticky odmietnuté.","Use Presets":"Použiť predvoľbu","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Ak sa vám pomocou aplikácie na overenie nedarí vygenerovať platný overovací kód, použite na prístup do účtu nasledujúci kód na obnovenie:","Use your recovery code or contact an administrator for help.":"Použite svoj kód na obnovenie alebo sa obráťte na správcu.","User":"Používateľ","User Guide":"Používateľská príručka","User Interface":"Používateľské rozhranie","Username":"Meno používateľa","Users":"Používatelia","Vector":"Vektor","Vectors":"Vektory","Verification Code":"Overovací kód","Video":"Video","Video Duration":"Trvanie videa","Videos":"Videá","View":"Zobraziť","View search results as a list.":"Zobrazenie výsledkov vyhľadávania ako zoznamu.","Viewer":"Prehliadač","Visitor":"Návštevník","Visual Similarity":"Vizuálna podobnosť","Warning":"Upozornenie","We appreciate your feedback!":"Vážime si vašu spätnú väzbu!","We do our best to respond within five business days or less.":"Snažíme sa odpovedať do piatich pracovných dní alebo skôr.","Web Login":"Webové prihlásenie","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"WebDAV klienti sa môžu pripojiť ku PhotoPrismu pomocou nasledujúcej URL:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"WebDAV klienti, ako napríklad Microsoft Windows Explorer alebo Apple Finder, sa môžu priamo pripojiť ku PhotoPrismu.","WebDAV Upload":"Odovzdávanie cez WebDAV","WebGL support is disabled in your browser":"Podpora WebGL je vo vašom prehliadači vypnutá","Website":"Webová stránka","White":"Biela","Work Details":"Podrobnosti o práci","Year":"Rok","Yellow":"Žltá","Yes":"Áno","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"V prípade otázok týkajúcich sa vášho členstva nás môžete kontaktovať na adrese membership@photoprism.app.","You can only download one album":"Môžete stiahnuť iba jeden album","You can only download one label":"Môžete stiahnuť iba jeden štítok","You can upload up to %{n} files for test purposes.":"Na testovacie účely môžete nahrať až %{n} súborov.","You may only select one item":"Mali by ste označiť iba jednu položku","You may rescan your library to find additional faces.":"Mali by ste preskenovať knižnicu pre nájdenie viac tvárí.","Your account has been successfully connected.":"Vaše konto bolo úspešne pripojené.","Your browser does not support WebGL":"Váš prehliadač nepodporuje WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Vaša podpora nám pomáha poskytovať pravidelné aktualizácie a zostať nezávislými, aby sme mohli plniť naše poslanie a chrániť vaše súkromie.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Vaša knižnica sa priebežne analyzuje aby mohla automaticky vytvárať albumy špeciálnych momentov, výletov a miest.","Zoom in/out":"Priblíziť/Oddialiť"}} \ No newline at end of file +{"sk":{"{0} appended action":"{0} pripojená akcia","{0} files":"{0} súborov","{0} files ({1} in total)":"{0} súborov (spolu {1})","{0} more":"{0} viac","{0} prepended action":"{0} predradená akcia","{0} selected":"{0} vybrané","{0}-{1} of {2}":"{0}-{1} z {2}","%{n} albums found":"%{n} nájdených albumov","%{n} files uploaded":"%{n} odovzdaných súborov","%{n} folders found":"%{n} nájdených zložiek","%{n} GB of %{q} GB used":"%{n} GB z %{q} GB použitých","%{n} labels found":"%{n} nájdených štítkov","%{n} people found":"%{n} nájdených ľudí","%{n} pictures found":"%{n} nájdených obrázkov","%{s} is too long":"%{s} je príliš dlhé","%{s} is too short":"%{s} je príliš krátke","1 hour":"1 hodina","12 hours":"12 hodín","2-Factor Authentication":"2-faktorové overovanie","2FA":"2FA","4 hours":"4 hodiny","A click will copy it to your clipboard.":"Kliknutím skopírujete obsah.","A new version of %{s} is available:":"K dispozícii je nová verzia %{s}:","About":"O nás","Access Token":"Prístupový token","Account":"Účet","Account created":"Účet vytvorený","Account deleted":"Účet odstránený","Account restored":"Obnovenie účtu","Accounts":"Účty","Accuracy":"Presnosť","Action":"Akcia","Actions":"Akcie","Activate":"Aktivácia stránky","Activate to remove sorting.":"Aktiváciou odstránite triedenie.","Activate to sort ascending.":"Aktivácia na vzostupné triedenie.","Activate to sort descending.":"Aktivácia na zoradenie zostupne.","Activation Code":"Aktivačný kód","Add":"Pridať","Add %{s}?":"Pridať %{s}?","Add Account":"Pridať účet","Add Album":"Pridať Album","Add files to your library via Web Upload.":"Pridať súbory do vašej knižnice pomocou Web Upload.","Add Link":"Pridať odkaz","Add person?":"Pridať osobu?","Add pictures from search results by selecting them.":"Pridanie fotiek z výsledkov vyhľadávania ich výberom.","Add to album":"Pridať do albumu","Added":"Pridané","Adjust Location":"Upraviť umiestnenie","Admin":"Admin","Advanced":"Pokročilé","After 1 day":"Po 1 dni","After 3 days":"Po 3 dňoch","After 7 days":"Po 7 dňoch","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Po zadaní hesla na potvrdenie si môžete nastaviť dvojfaktorové overenie pomocou kompatibilnej aplikácie alebo zariadenia na overovanie:","After one month":"Po jednom mesiaci","After one year":"Po jednom roku","After selecting pictures from search results, you can add them to an album using the context menu.":"Po výbere obrázkov z výsledkov vyhľadávania ich môžete pridať do albumu pomocou kontextovej ponuky.","After two months":"Po dvoch mesiacoch","After two weeks":"Po dvoch týždňoch","Album":"Album","Album Backups":"Zálohy albumov","Album created":"Album vytvorený","Album deleted":"Album vymazaný","Albums":"Albumy","Albums deleted":"Albumy odstránené","All":"Všetky","All %{n} albums loaded":"Všetkých %{n} albumov bolo načítaných","All %{n} labels loaded":"Všetkých %{n} štítkov načítaných","All %{n} people loaded":"Všetkých %{n} ľudí načítaných","All Cameras":"Všetky kamery","All Categories":"Všetky kategórie","All Colors":"Všetky farby","All Countries":"Všetky štáty","All fields are required":"Všetky políčka sú vyžadované","All files from import folder":"Všetky súbory zo zložky importu","All Lenses":"Všetky Objektívy","All Months":"Všetky Mesiace","All originals":"Všetky originály","All Years":"Všetky Roky","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Prípadne môžete odovzdať súbory priamo na WebDAV servery ako napríklad Nextcloud.","Altitude":"Nadmorská výška","Altitude (m)":"Nadmorská výška (m)","AM":"AM","Animated":"Animované","Animation":"Animácie","Animations":"Animácie","Any private photos and videos remain private and won't be shared.":"Všetky súkromné fotky a videá zostanú súkromné a nemôžu byť zdieľané.","API Key":"API Kľúč","Application":"Aplikácia","Apply":"Použiť","Approve":"Schváliť","Apps and Devices":"Aplikácie a zariadenia","Archive":"Archivovať","Archived":"Archivované","Are you sure you want to archive the selection?":"Ste si istý, že chcete archivovať výber?","Are you sure you want to delete these albums?":"Ste si istý, že chcete vymazať tieto albumy?","Are you sure you want to delete these labels?":"Ste si istý, že chcete vymazať tieto štítky?","Are you sure you want to delete this account?":"Ste si istý, že chcete vymazať tento účet?","Are you sure you want to delete this album?":"Určite chcete tento album vymazať?","Are you sure you want to permanently delete these pictures?":"Ste si istý, že chcete tieto obrázky natrvalo odstrániť?","Are you sure you want to permanently delete this file?":"Ste si istý že chcete permanentne vymazať tento súbor?","Are you sure?":"Ste si istý?","Artist":"Umelec","Aspect Ratio":"Pomer Strán","Audio":"Audio","Authentication":"Overovanie","Auto":"Auto","Back":"späť","Back to top":"Späť na začiatok","Backup":"Záloha","Badge":"Odznak","Base Path":"Základná cesta","Become a member today, support our mission and enjoy our member benefits!":"Staňte sa členom ešte dnes, podporte naše poslanie a využívajte naše členské výhody!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Keďže sme financovaní 100% selfmi a sme nezávislí, môžeme vám sľúbiť, že vaše údaje nikdy nepredáme a že náš softvér a služby budú vždy transparentné.","Bio":"Bio","Birth Date":"Datum narodenia","Black":"Čierna","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Lanczosova úprava, menej zvonivých artefaktov","Blue":"Modrá","Brown":"Hnedá","Browse":"Prehľadávať","Browse and edit image classification labels.":"Prehliadať a upravovať triediace štítky fotiek.","Browse and share your pictures organized into monthly albums.":"Prezerajte a zdieľajte svoje fotografie usporiadané do mesačných albumov.","Browse Files":"Prehľadávanie súborov","Browse indexed files and folders in Library.":"Prehliadať indexované súbory a zložky v Knižnici.","Bug Report":"Nahlásiť chybu","Busy, please wait…":"Som zaneprázdnený, prosím čakajte…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Používaním softvéru a služieb, ktoré poskytujeme, súhlasíte s našimi podmienkami používania, zásadami ochrany osobných údajov a kódexom správania.","Calendar":"Kalendár","Camera":"Kamera","Camera Serial":"Séria Kamery","Can't access your authenticator app or device?":"Nemôžete získať prístup k aplikácii alebo zariadeniu autentifikátora?","Can't load more, limit reached":"Nemožno načítať viac, limit dosiahnutý","Can't select more items":"Nemožno označiť viac položiek","Cancel":"Zrušiť","Cannot copy to clipboard":"Nemožno kopírovať do schránky","Caption":"Titulok","Cards":"Karty","Carousel slide {0} of {1}":"Kolotočový posuvník {0} z {1}","Category":"Kategória","Change Avatar":"Zmeniť profilovú fotku","Change Password":"Zmeniť heslo","Change personal profile and security settings.":"Zmena osobného profilu a nastavení zabezpečenia.","Change photo titles, locations, and other metadata.":"Zmeniť názvy fotiek, polohy a ostatné metadata.","Change private flag":"Zmeniť privátne označenie","Changes could not be saved":"Zmeny sa neuložili","Changes successfully saved":"Zmeny boli úspešne uložené","Changes to the advanced settings require a restart to take effect.":"Aby sa zmeny rozšírených nastavení prejavili, je potrebné ich reštartovať.","Checked":"Označené","Chroma":"Sýtosť","Cleaning index and cache":"Čistenie indexu a vyrovnávacej pamäte","Cleanup":"Čistenie","Clear {0}":"Vyčistiť {0}","Client":"Klient","Client Credentials":"Splnomocnenia klienta","Close":"Zatvoriť","Codec":"Kodek","Color":"Farba","Color Profile":"Farebný profil","Colors":"Farby","Compare Editions":"Porovnať vydania","Complete Rescan":"Kompletné preskenovanie","Confidence":"Zhoda","Confirm":"Potvrďte","Connect":"Pripojiť","Connect via WebDAV":"Pripojiť pomocou WebDav","Connected":"Pripojené","Contact Details":"Kontaktné údaje","Contact Us":"Kontaktujte nás","Contains %{n} pictures.":"Obsahuje %{n} obrázkov.","Contains one picture.":"Obsahuje jeden obrázok.","Content":"Obsah","Continue":"ďalej","Continue with %{provider}":"Pokračujte pomocou %{provider}","Contributor":"Prispievateľ","Converting":"Konvertuje sa","Copied to clipboard":"Skopírované do schránky","Copy":"Kopírovať","Copyright":"Autorské práva","Couldn't find anything.":"Nič nenájdené.","Country":"Štát","Create Account":"Vytvoriť účet","Create album":"Vytvoriť album","Create regular backups based on the configured schedule.":"Vytváranie záloh indexov na základe nakonfigurovaného plánu.","Create YAML files to back up album metadata.":"Vytvorenie súborov YAML na zálohovanie metadát albumu.","Create YAML sidecar files to back up picture metadata.":"Vytvorenie súborov YAML sidecar na zálohovanie metadát obrázkov.","Created":"Vytvorené","Creating thumbnails for":"Vytváranie náhľadov pre","Cubic: Moderate Quality, Good Performance":"Kubický: Stredná kvalita, dobrý výkon","Current Password":"Súčasné heslo","Custom":"Vlastné","Cyan":"Tyrkysová","Daily":"Denne","Database Backups":"Zálohovanie databázy","Day":"Deň","Deactivate":"Deaktivovať","Debug Logs":"Denníky ladenia","Default":"Predvolená","Default Folder":"Pôvodná zložka","Delete":"Vymazať","Delete Album":"Odstrániť album","Delete All":"Odstrániť všetko","Delete all?":"Vymazať všetko?","Delete orphaned index entries, sidecar files and thumbnails.":"Odstránenie osirelých položiek indexu, súborov vedľajších kariet a miniatúr.","Description":"Popis","Detailed instructions can be found in our User Guide.":"Detailný postup môžete nájsť v našej Užívateľskej Príručke.","Details":"Detaily","Dimensions":"Rozmery","Disable Backups":"Posledná Záloha","Disable Darktable":"Zakázať Darktable","Disable ExifTool":"Zakázať ExifTool","Disable features that require write permission for the originals folder.":"Zakážte funkcie, ktoré vyžadujú oprávnenie na zápis do priečinka originálov.","Disable FFmpeg":"Zakázanie aplikácie FFmpeg","Disable ImageMagick":"Zakázanie aplikácie ImageMagick","Disable interactive world maps and reverse geocoding.":"Zakázanie interaktívnych máp sveta a reverzného geokódovania.","Disable Places":"Zakázať miesta","Disable RawTherapee":"Zakázať RawTherapee","Disable TensorFlow":"Zakázať TensorFlow","Disable Vectors":"Zakázanie vektorov","Disable WebDAV":"Zakázať WebDAV","Disables vector graphics support.":"Zakáže podporu vektorovej grafiky.","Disables video transcoding and thumbnail extraction.":"Zakáže prekódovanie videa a extrakciu miniatúr.","Discover":"Objaviť","Dismiss":"Odmietnuť","Display Name":"Zobraziť meno","Display picture captions in search results.":"Zobrazenie popiskov obrázkov vo výsledkoch vyhľadávania.","Display picture titles in search results.":"Zobrazenie názvov obrázkov vo výsledkoch vyhľadávania.","Document":"Dokument","Documents":"Dokumenty","Don't use Darktable to convert RAW images.":"Na konverziu obrázkov RAW nepoužívajte program Darktable.","Don't use ImageMagick to convert images.":"Na konverziu obrázkov nepoužívajte ImageMagick.","Don't use RawTherapee to convert RAW images.":"Na konverziu obrázkov RAW nepoužívajte program RawTherapee.","Done":"Hotovo","Done.":"Hotovo.","Download":"Stiahnuť","Download only original media files, without any automatically generated files.":"Stiahnite si iba originálne mediálne súbory bez automaticky generovaných súborov.","Download remote files":"Stiahnuť vzdialené súbory","Download single files and zip archives.":"Stiahnuť samostatné súbory a zip archívy.","Downloading…":"Sťahovanie…","Downscaling Filter":"Filter znižovania kvality","Drag and drop files here":"Presuňte sem súbory","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"Vzhľadom na vysoký počet prijatých e-mailov sa môže stať, že vám náš tím nebude môcť okamžite odpovedať.","Duplicates will be skipped and only appear once.":"Duplikáty budú preskočené a zobrazia sa len raz.","Duration":"Trvanie","Dynamic Previews":"Dynamické Ukážky","Dynamic Size Limit: %{n}px":"Limit dynamickej pamäte: %{n} px","E-Mail":"E-Mail","Edit":"Upraviť","Edit %{s}":"Upraviť %{s}","Edit Account":"Upraviť učet","Edit Photo":"Upraviť Fotku","Edited":"Upravené","Email":"E-mail","Enable debug mode to display additional logs and help with troubleshooting.":"Zapnutím režimu ladenia zobrazíte ďalšie protokoly a pomôžete pri riešení problémov.","Enable new features that may be incomplete or unstable.":"Povolenie nových funkcií, ktoré môžu byť neúplné alebo nestabilné.","Enables RAW converter presets. May reduce performance.":"Povolí predvoľby konvertora RAW. Môže znížiť výkon.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Povolenie dvojfaktorovej autentifikácie znamená, že na prihlásenie budete potrebovať náhodne vygenerovaný overovací kód, takže aj keď niekto získa prístup k vášmu heslu, nebude mať prístup k vášmu účtu.","Enter date":"Zadajte dátum","Enter dates":"Zadajte dátumy","Enter the code generated by your authenticator app:":"Zadajte kód vygenerovaný aplikáciou autentifikátora:","Enter verification code":"Zadajte overovací kód","Enter your password to confirm the action and continue:":"Zadajte svoje heslo na potvrdenie akcie a pokračujte:","Error":"Chyba","Errors":"Chyby","Estimate":"Odhad","Estimate Locations":"Odhad lokalít","Estimate the approximate location of pictures without GPS coordinates.":"Odhad približnej polohy obrázkov bez súradníc GPS.","Every two days":"Každé dva dni","Exclude content marked as private from search results, shared albums, labels, and places.":"Vylúčiť obsah označený ako súkromný z výsledkov vyhľadávania, zdieľaných albumov, štítkov a miest.","Exclude hidden":"Vylúčiť skryté","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"Pre úplnú podporu videí, živých fotografií a XMP je potrebná extrakcia metadát pomocou nástroja ExifTool.","Experimental Features":"Experimentálne funkcie","Expires":"Vyprší","Exposure":"Expozícia","Extract still images and generate thumbnails while indexing.":"Extrahovanie statických obrázkov a generovanie miniatúr počas indexovania.","F Number":"F Číslo","Face":"Tvár","Faces":"Tváre","Failed removing link":"Zlyhalo odstraňovanie odkazu","Failed to connect account.":"Nepodarilo sa pripojiť účet.","Failed updating link":"Zlyhalo aktualizovanie odkazu","Family Name":"Rodinné meno","Fast":"Rýchle","Favorite":"Obľúbený","Favorites":"Obľúbené","Feature Request":"Požiadať o funkciu","Feedback":"Spätná väzba","Female":"Žena","File":"Súbor","File Browser":"Prehliadač Súborov","File Conversion":"Konverzia súborov","File Name":"Názov súboru","File Size":"Veľkosť súboru","Filename":"Názov súboru","Files":"Súbory","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Súbory s postupnými menami ako napríklad 'IMG_1234 (2)' alebo 'IMG_1234 copy 2' pripadá rovnakej fotke.","First page":"Prvá strana","Focal Length":"Ohnisková Vzdialenosť","Folder":"Zložka","Folder contains %{n} files":"Zložka obsahuje %{n} súborov","Folder is empty":"Zložka je prázdna","Folders":"Zložky","Forgot password?":"Zabudnuté heslo?","FPS":":abbr:`FPS (Frame Per Second - snímok za sekundu)`","Frames":"Frames","Full Access":"Úplný prístup","Fullscreen":"Plná obrazovka","General":"Hlavné","Generate":"Generovať","Generate albums of special moments, journeys, and places.":"Automaticky vytvára albumy špeciálnych momentov, výletov a miest.","Generate Previews":"Generovanie náhľadov","Generated":"Generované","Get Started":"Začnite","Given Name":"Dané meno","Global Options":"Globálne možnosti","Go to page {0}":"Prejsť na stránku {0}","Gold":"Zlatá","Green":"Zelená","Grey":"Sivá","Guest":"Hosť","Hash":"Hash","Help":"Pomoc","Help & Support":"Pomoc a podpora","Hidden":"Skryté","Hidden Files":"Skryté súbory","Hide":"Skryť","Hide photos that have been moved to archive.":"Skryť fotky, ktoré boli presunuté do archívu.","High":"Vysoké","High Dynamic Range (HDR)":"Vysoký dynamický rozsah (HDR)","How can we help?":"Ako môžeme pomôcť?","Hybrid":"Hybrid","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Ak stratíte prístup k svojej autentifikačnej aplikácii alebo zariadeniu, môžete použiť kód na obnovenie na opätovné získanie prístupu k svojmu účtu.","Image":"Obrázok","Image Quality":"Kvalita obrazu","Import":"Importovať","Import failed":"Importovanie zlyhalo","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Importované súbory budú zoradené podľa dátumu a dostanú unikátny názov aby sa predišlo duplikátom.","Imported files will be sorted by date and given a unique name.":"Importované súbory budú zoradené podľa dátumu a dostanú unikátny názov.","Importing %{s}…":"Importuje sa %{s}…","Importing files to originals…":"Importujú sa súbory do originálov…","in":"v","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"V prípade, že niektoré fotky chýbajú, znova preskenujte svoju knižnicu a počkajte, kým sa indexovanie neukončí.","Include RAW image files when downloading stacks and archives.":"Zahrnúť obrazové súbory RAW pri preberaní zásobníkov a archívov.","Include sidecar files when downloading stacks and archives.":"Pri preberaní zásobníkov a archívov zahrňte vedľajšie súbory.","Increase storage size or delete files to continue.":"Ak chcete pokračovať, zväčšite veľkosť úložiska alebo odstráňte súbory.","Index":"Index","Index and import files through the user interface.":"Indexujte a importujte súbory prostredníctvom používateľského rozhrania.","Indexing":"Indexovanie","Indexing failed":"Indexovanie zlyhalo","Indexing media and sidecar files…":"Indexovanie médií a pripojených súborov…","Information":"Informácie","Instance ID":"ID Inštancie","Insufficient storage.":"Nedostatočné skladovanie.","Interval":"Interval","Invalid":"Neplatné","Invalid address":"Neplatná adresa","Invalid country":"Neplatná krajina","Invalid date":"Neplatný dátum","Invalid parameters":"Neplatné parametre","Invalid photo selected":"Vybraná neplatná fotografia","Invalid time":"Neplatný čas","Invalid URL":"Neplatná adresa URL","It is a one-time use code that will disable 2FA for your account when you use it.":"Je to jednorazový kód, ktorý pri použití deaktivuje 2FA pre váš účet.","Item":"Položka","Items per page:":"Položky na stránku:","JPEG Quality: %{n}":"Kvalita JPEG: %{n}","JPEG Size Limit: %{n}px":"Limit veľkosti JPEG: %{n} px","JPEGs and thumbnails are automatically rendered as needed.":"JPEG a náhľady sú automaticky vykreslené podľa potreby.","Keywords":"Kľúčové slová","Label":"Štítok","Labels":"Štítky","Labels deleted":"Štítky odstránené","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: Zachovanie detailov, minimálne artefakty","Language":"Jazyk","Last Active":"Posledný aktívny","Last Login":"Posledné prihlásenie","Last page":"Posledná strana","Last Sync":"Posledná synchronizácia","Last Used":"Naposledy použité","Latitude":"Šírka","LDAP/AD":"LDAP/AD","Learn more":"Viac","Learn More":"Dozvedieť sa viac","Legal Information":"Právne informácie","Lens":"Objektív","Library":"Knižnica","License":"Licencia","Like":"Páči sa mi to","Lime":"Limetka","Limit reached, showing first %{n} files":"Limit bol dosiahnutý, zobrazovanie prvých %{n} súborov","Linear: Very Smooth, Best Performance":"Lineárne: Veľmi hladké, Najlepší výkon","Link":"Odkaz","List":"List","List View":"Zobrazenie zoznamu","Live":"Živé","Live Photos":"Živé fotografie","Load more":"Načítať viac","Loading items...":"Načítanie položiek...","Loading...":"Načítavanie...","Local":"Miestne stránky","Local Time":"Lokálny čas","Location":"Poloha","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Správy denníka sa tu zobrazia vždy, keď program PhotoPrism narazí na poškodené súbory alebo sa vyskytnú iné potenciálne problémy.","Login":"Prihlásiť sa","Logout":"Odhlásiť sa","Logs":"Záznamy","Longitude":"Dĺžka","Low":"Nízka","Magenta":"Purpurová","Main Color":"Hlavná Farba","Male":"Muž","Manage Account":"Správa účtu","Manager":"Manažér","Manual":"Manuálne","Manual Upload":"Manuálne odovzdanie","Maps":"Mapy","Marker":"Značka","Maximum number of accounts has been reached.":"Maximálny počet účtov bol dosiahnutý.","Media":"Médiá","Medium":"Normálne","Membership":"Členstvo","Merge %{a} with %{b}?":"Zlúčiť %{a} s %{b}?","Message":"Správa","Message sent":"Správa odoslaná","Metadata":"Metadáta","Metrics":"Metriky","Minimize":"Minimalizovať","Missing":"Chýba","Missing or invalid configuration":"Chýbajúca alebo neplatná konfigurácia","Moments":"Momenty","Monochrome":"Monochromatický","Month":"Mesiac","More options":"Ďalšie možnosti","Mosaic":"Mozaika","Most Relevant":"Najrelevantnejšie","Move Files":"Presunúť Súbory","Must have at least %{n} characters.":"Musí obsahovať aspoň %{n} znakov.","Mute":"Vypnutie zvuku","Name":"Meno","Name too long":"Meno je príliš dlhé","Never":"Nikdy","New":"Nový","New Password":"Nové heslo","Newest First":"Najnovšie prvé","Next":"Ďalšie","Next page":"Ďalšia stránka","Next visual":"Ďalšie vizuálne","No":"Nie","No albums found":"Nenašli sa žiadne albumy","No data available":"Nie sú k dispozícii žiadne údaje","No labels found":"Nenašli sa žiadne štítky","No matching records found":"Nenašli sa žiadne zodpovedajúce záznamy","No more":"Nie viac","No people found":"Neboli nájdení žiadni ľudia","No pictures found":"Nenašli sa žiadne fotky","No recently edited pictures":"Žiadne nedávno upravené fotky","No results":"Žiadne výsledky","No server connection":"Žiadne pripojenie k serveru","No servers configured.":"Žiadne nakonfigurované servery.","No services configured.":"Nie sú nakonfigurované žiadne služby.","No thanks":"Nie, ďakujem","No warnings or error containing this keyword. Note that search is case-sensitive.":"Nenašli sa žiadne upozornenia ani chyby ktoré by obsahovali toto kľúčové slovo. Majte na vedomí, že vyhľadávanie je citlivé na veľké a malé písmená.","Non-photographic and low-quality images require a review before they appear in search results.":"Nefotografické a fotografie nízkej kvality vyžadujú skontrolovanie pred tým než sa zobrazia vo výsledkoch vyhľadávania.","None":"Žiadne","Not allowed":"Nie je povolené","Not found":"Nenájdené","Not sorted.":"Nie je vytriedené.","Not supported":"Nie je podporované","Note you may manually manage your originals folder and importing is optional.":"Upozorňujeme, že priečinok s originálmi by ste mali spravovať ručne a import je voliteľný.","Note:":"Poznámka:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Poznámka: Iba WebDAV servery, ako napríklad Nextcloud alebo PhotoPrism, môžu byť nakonfigurované ako vzdialené služby pre zálohu a odovzdávanie súborov.","Notes":"Poznámky","Nothing to see here yet.":"Zatiaľ tu nič nie je. Buďte trpezlivý.","Nothing was found.":"Nič sa nenašlo.","Offline":"Offline","OIDC":"OIDC","OK":"OK","Oldest First":"Najstaršie prvé","On Windows, enter the following resource in the connection dialog:":"V systéme Windows zadajte do dialógového okna pripojenia nasledujúci zdroj:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"Generovanie miniatúr na požiadanie môže spôsobiť vysoké využitie CPU a pamäte. Neodporúča sa pre servery a zariadenia NAS s obmedzenými zdrojmi.","Once a week":"Raz za týždeň","One album found":"Našiel sa jeden album","One file found":"Našiel sa jeden súbor","One file uploaded":"Jeden nahraný súbor","One folder found":"Našla sa jedna zložka","One label found":"Našiel sa jeden štítok","One person found":"Našla sa jedna osoba","One picture found":"Našla sa jedna fotka","Only locally managed accounts can be set up for authentication with 2FA.":"Na overenie pomocou 2FA je možné nastaviť iba lokálne spravované účty.","Open":"Otvorte stránku","optional":"voliteľné","or":"alebo","Orange":"Oranžová","Organization":"Názov organizácie","Orientation":"Orientácie","Original file names will be stored and indexed.":"Pôvodné názvy súborov budú uložené a zaindexované.","Original Name":"Pôvodný názov","Originals":"Pôvodné","Other":"Ostatné","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Našou víziou je poskytnúť používateľsky najprívetivejšie riešenie na prehliadanie, organizovanie a zdieľanie vašej zbierky fotografií.","Outdoor":"Vonkajšie","Page {0}, Current page":"Strana {0}, Aktuálna stránka","Pages":"Stránky","Pagination Navigation":"Navigácia na stránkovanie","Panorama":"Panoráma","Panoramas":"Panorámy","Password":"Heslo","Password changed":"Heslo bolo zmenené","People":"Ľudia","People you share a link with will be able to view public contents.":"Ľudia s ktorými zdieľate odkaz, budú vidieť verejný obsah.","Permanently deleted":"Trvalo odstránené","Permanently remove files to free up storage.":"Trvalo odstráňte súbory aby ste uvoľnili miesto.","Person":"Osoba","Personal":"Osobné","Photo":"Fotka","PhotoPrism is 100% self-funded and independent.":"Spoločnosť PhotoPrism je 100 % financovaná z vlastných zdrojov a je nezávislá.","PhotoPrism+ Membership":"Členstvo v programe PhotoPrism+","Photos":"Fotky","Picture Title":"Názov obrázka","Pink":"Ružová","Place":"Miesto","Place & Time":"Miesto a čas","Places":"Miesta","Please confirm your new password.":"Prosím, potvrďte vaše nové heslo.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Skopírujte si nasledujúce náhodne vygenerované heslo aplikácie a uschovajte ho na bezpečnom mieste, pretože ho už neuvidíte:","Please do not upload any private, unlawful or offensive pictures.":"Prosím, nenahrávajte žiadne súkromné, nezákonné alebo urážlivé obrázky.","Please don't upload photos containing offensive content.":"Prosím, neodovzdávajte fotky obsahujúce hanobný obsah.","Please enter OTP character {0}":"Zadajte prosím znak OTP {0}","Please note that changing your password will log you out on other devices and browsers.":"Upozorňujeme, že zmena hesla vás odhlási z iných zariadení a prehliadačov.","Please restart your instance for the changes to take effect.":"Reštartujte inštanciu, aby sa zmeny prejavili.","Please wait…":"Počkajte, prosím…","PM":"PM","PNG Size Limit: %{n}px":"Limit veľkosti PNG: %{n} px","Portrait":"Portrét","Preserve filenames":"Ponechať názvy súborov","Press enter to create a new album.":"Stlačte enter pre vytvorenie nového albumu.","Prevent database and album backups as well as YAML sidecar files from being created.":"Zabráňte vytváraniu záloh databáz a albumov, ako aj súborov YAML sidecar.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Zabráňte iným aplikáciám v prístupe k aplikácii PhotoPrism ako k zdieľanej sieťovej jednotke.","Preview":"Ukážka","Preview Images":"Náhľad obrázkov","Previous":"Predchádzajúci","Previous page":"Predchádzajúca stránka","Previous visual":"Predchádzajúci vizuálny","Primary":"Primárne","Private":"Súkromné","Product Feedback":"Spätná väzba produktu","Projection":"Projekcia","Purple":"Fialová","Quality Filter":"Filter kvality","Quality Score":"Skóre Kvality","r":"r","Random":"Náhodne","Rating {0} of {1}":"Hodnotenie {0} z {1}","Raw":"Raw","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Re-indexujte všetky originály, aj tie ktoré už sú zaindexované a nezmenené súbory.","Read-Only Mode":"Režim iba na čítanie","Recently Added":"Novinky","Recently Archived":"Nedávno archivované","Recently Edited":"Nedávno upravené","Recognition starts after indexing has been completed.":"Rozpoznávanie sa začne po dokončení indexovania.","Recognize faces so people can be assigned and found.":"Rozpoznáva tváre, aby bolo možné nájsť konkrétne osoby.","Recognized":"Rozpoznané","Recovery Code":"Kód obnovy","Red":"Červená","Refresh":"Obnoviť","Regions":"Regióny","Register":"Registrácia","Reload":"Znovu načítať","Reloading…":"Znovu načítavanie…","Remote Sync":"Vzdialená Synchronizácia","Remove":"Odstrániť","remove failed: unknown album":"odstránenie zlyhalo: neznámy album","Remove from Album":"Odstrániť z albumu","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Odstráňte importované súbory pre uvoľnenie miesta. Nepodporované typy súborov nebudú nikdy odstránené. Zostanú na ich momentálnom mieste.","Request failed - are you offline?":"Žiadosť zlyhala - ste offline?","Request failed - invalid response":"Požiadavka zlyhala - neplatná odozva","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Vyžadujte, aby sa nefotografické a nekvalitné obrázky pred zobrazením vo výsledkoch vyhľadávania skontrolovali.","Resolution":"Rozlíšenie","Restart":"Reštartovanie stránky","Restore":"Obnoviť","Restored":"Obnovená stránka","Retry Limit":"Limit opakovania","Retype Password":"Heslo znovu","Review":"Kontrola","Role":"Úloha","Rows per page:":"Riadky na stránku:","Satellite":"Satelitná","Save":"Uložiť","Scan":"Sken","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Naskenujte QR kód pomocou svojej autentifikačnej aplikácie alebo použite kľúč nastavenia zobrazený nižšie a potom zadajte vygenerovaný overovací kód:","Scans":"Skeny","Scope":"Rozsah pôsobnosti","Search":"Vyhľadávanie","Search and display photos on a map.":"Nájsť a zobraziť fotky na mape.","Season":"Sezóna","Secret":"Tajomstvo","Security and Access":"Bezpečnosť a prístup","Select":"Vybrať","Select a source folder to import files…":"Vyberte zdrojový priečinok na importovanie súborov…","Select date":"Zvoľte dátum","Select dates":"Vyberte dátumy","Select or create an album":"Výber alebo vytvorenie albumu","Select the files to upload…":"Vyberte súbory, ktoré chcete nahrať…","Select the folder to be indexed…":"Vyberte priečinok, ktorý sa má indexovať…","Select Time":"Vyberte čas","Selection approved":"Označenie schválené","Selection archived":"Označenie archivované","Selection restored":"Označenie obnovené","Sequential Name":"Poradové meno","Service URL":"URL Služby","Services":"Služby","Session":"Zasadnutie","Session ID":"ID relácie","Sessions":"Relácie","Set as Album Cover":"Nastaviť ako obal albumu","Settings":"Nastavenia","Settings saved":"Nastavenia uložené","Setup":"Prvotné nastavenie","Share":"Zdieľať","Share %{s}":"Zdieľať %{s}","Share your pictures with other apps and services.":"Zdieľajte svoje obrázky s inými aplikáciami a službami.","Show":"Zobraziť","Show all new faces":"Zobraziť všetky nové tváre","Show Captions":"Zobraziť titulky","Show hidden":"Zobraziť skryté","Show less":"Zobraziť menej","Show more":"Zobraziť viac","Show server logs in Library.":"Zobraziť serverové záznamy v knižnici.","Show Titles":"Zobraziť názvy","Sidecar":"Pripojený súbor (sidecar)","Sidecar Files":"Súbory Sidecar","Sign in":"Prihlásiť sa","Similar":"Podobné","Size":"Veľkosť","Slideshow":"Prezentácia","Slow":"Pomalé","Software":"Softvér","Software Update":"Aktualizácia softvéru","Something went wrong, try again":"Niečo sa pokazilo, skúste to znova","Sort by":"Zoradiť podľa","Sort Order":"Zoradiť Poradie","Sorted ascending.":"Zoradené vzostupne.","Sorted descending.":"Zoradené zostupne.","Source":"Zdroj","Stack":"Naskladané fotky","Stack files sharing the same unique image or instance identifier.":"Naskladané súbory zdieľajúce rovnaký jedinečný obrázok alebo identifikátor inštancie.","Stack pictures taken at the exact same time and location based on their metadata.":"Naskladané fotky nasnímané v rovnakom čase a na rovnakom mieste na základe ich metadát.","Stackable":"Naskladateľné","Stacks":"Naskladané","Start":"Štart","Start Page":"Úvodná stránka","Static Size Limit: %{n}px":"Statický limit veľkosti: %{n} px","Status":"Status","Storage":"Úložisko","Streets":"Ulice","Subject":"Predmet","Submit":"Odoslať","Successfully activated":"Úspešne aktivované","Successfully Connected":"Úspešne pripojené","Successfully deleted":"Úspešne odstránené","Successfully verified":"Úspešne overené","Super Admin":"Super administrátor","Support for additional services, like Google Drive, will be added over time.":"Podpora pre dodatočné služby, ako napríklad Google Drive, budú pridané neskôr.","Support Our Mission":"Podporte našu misiu","Sync":"Synchronizácia","Sync raw and video files":"Synchronizovať súbory raw a videá","Taken":"Zachytené","Teal":"Modrozelený","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow je potrebný na klasifikáciu obrázkov, rozpoznávanie tváre a zisťovanie nebezpečného obsahu.","Terrain":"Terén","Text":"Text","Text too long":"Text je moc dlhý","Thank You for Your Support!":"Ďakujeme za vašu podporu!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Preto bol PhotoPrism od základu vytvorený tak, aby fungoval všade, kde ho potrebujete, bez toho, aby bola ohrozená sloboda, súkromie alebo funkčnosť.","The index currently contains %{n} hidden files.":"Index momentálne obsahuje %{n} skrytých súborov.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Ich formát nemusí byť podporovaný, zatiaľ neboli prekonvertované na JPEG alebo sú medzi nimi duplikáty.","Theme":"Téma","This field is required":"Toto pole je povinné","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Toto pripojí zložku originálov ako sieťový disk a umožní vám otvoriť, upraviť a zmazať súbory z vášho počítača alebo smartphonu ako keby boli uložené lokálne.","Time UTC":"Čas UTC","Time Zone":"Časová Zóna","Timeout":"Časový limit","Title":{"Account":"Titulok","Photo":"Titulok","":"Titulok"},"Title / Position":"Titul / pozícia","Title too long":"Titulok je moc dlhý","to":"do","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Aby ste sa vyhli vymknutiu zo svojho účtu, stiahnite si, vytlačte alebo skopírujte tento kód na obnovenie a uschovajte ho na bezpečnom mieste.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Ak chcete vygenerovať nové heslo pre konkrétnu aplikáciu, zadajte názov a rozsah autorizácie aplikácie a vyberte dátum vypršania platnosti:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Ak chcete prejsť na novú aplikáciu alebo zariadenie na overovanie, najskôr deaktivujte dvojfaktorové overenie a potom ho znova aktivujte:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Ak chcete aktualizovať, môžete zadať aktivačný kód alebo sa kliknutím na tlačidlo \"Registrovať\" zaregistrovať na našej webovej stránke:","Today":"Dnes","Toggle View":"Nastaviť Pohľad","Token":"Token","Too many files selected":"Príliš veľa vybraných súborov","Too many requests":"Príliš veľa požiadaviek","Troubleshooting":"Riešenie problémov","Try again using other filters or keywords.":"Skúste znova použitím iných filtrov a kľúčových slov.","Two-factor authentication has been enabled for your account.":"Pre váš účet bolo povolené dvojfaktorové overenie.","Type":"Typ","Unable to delete":"Nie je možné odstrániť","Unauthorized":"Neoprávnené","Undo":"Späť","Unique ID":"Unikátne ID","Unknown":"Neznámy","Unregistered":"Neregistrovaný","Unsorted":"Nezoradené","Unstack":"Rozdeliť naskladané","Updated":"Aktualizované","Updating faces":"Aktualizujú sa tváre","Updating index":"Aktualizuje sa index","Updating moments":"Aktualizujú sa momenty","Updating picture…":"Aktualizácia obrázku..","Updating previews":"Aktualizujú sa náhľady","Updating stacks":"Aktualizujú sa naskladané fotky","Upgrade":"Aktualizácia","Upgrade Now":"Aktualizujte teraz","Upload":"Odovzdať","Upload complete":"Odovzdávanie hotové","Upload complete. Indexing…":"Odovzdávanie hotové. Indexuje sa…","Upload failed":"Odovzdávanie zlyhalo","Upload local files":"Odovzdať lokálne súbory","Upload Path":"Cesta nahrávania","Upload to WebDAV and share links with friends.":"Odovzdať do WebDAV a zdieľať odkazy s priateľmi.","Uploading %{n} of %{t}…":"Odovzdáva sa %{n} z %{t}…","Uploading photos…":"Odovzdávanie fotiek…","Uploading…":"Nahrávanie..","Uploads that may contain such images will be rejected automatically.":"Odovzdávanie takéhoto typu fotiek bude automaticky odmietnuté.","Use Presets":"Použiť predvoľbu","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Ak sa vám pomocou aplikácie na overenie nedarí vygenerovať platný overovací kód, použite na prístup do účtu nasledujúci kód na obnovenie:","Use your recovery code or contact an administrator for help.":"Použite svoj kód na obnovenie alebo sa obráťte na správcu.","User":"Používateľ","User Guide":"Používateľská príručka","User Interface":"Používateľské rozhranie","Username":"Meno používateľa","Users":"Používatelia","Vector":"Vektor","Vectors":"Vektory","Verification Code":"Overovací kód","Video":"Video","Video Duration":"Trvanie videa","Videos":"Videá","View":"Zobraziť","View search results as a list.":"Zobrazenie výsledkov vyhľadávania ako zoznamu.","Viewer":"Prehliadač","Visitor":"Návštevník","Visual Similarity":"Vizuálna podobnosť","Warning":"Upozornenie","We appreciate your feedback!":"Vážime si vašu spätnú väzbu!","We do our best to respond within five business days or less.":"Snažíme sa odpovedať do piatich pracovných dní alebo skôr.","Web Login":"Webové prihlásenie","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"WebDAV klienti sa môžu pripojiť ku PhotoPrismu pomocou nasledujúcej URL:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"WebDAV klienti, ako napríklad Microsoft Windows Explorer alebo Apple Finder, sa môžu priamo pripojiť ku PhotoPrismu.","WebDAV Upload":"Odovzdávanie cez WebDAV","WebGL support is disabled in your browser":"Podpora WebGL je vo vašom prehliadači vypnutá","Website":"Webová stránka","White":"Biela","Work Details":"Podrobnosti o práci","Year":"Rok","Yellow":"Žltá","Yes":"Áno","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"V prípade otázok týkajúcich sa vášho členstva nás môžete kontaktovať na adrese membership@photoprism.app.","You can only download one album":"Môžete stiahnuť iba jeden album","You can only download one label":"Môžete stiahnuť iba jeden štítok","You can search for a location or move the marker on the map to change the position:":"Môžete vyhľadať miesto alebo presunúť značku na mape a zmeniť tak polohu:","You can upload up to %{n} files for test purposes.":"Na testovacie účely môžete nahrať až %{n} súborov.","You may only select one item":"Mali by ste označiť iba jednu položku","You may rescan your library to find additional faces.":"Mali by ste preskenovať knižnicu pre nájdenie viac tvárí.","Your account has been successfully connected.":"Vaše konto bolo úspešne pripojené.","Your browser does not support WebGL":"Váš prehliadač nepodporuje WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Vaša podpora nám pomáha poskytovať pravidelné aktualizácie a zostať nezávislými, aby sme mohli plniť naše poslanie a chrániť vaše súkromie.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Vaša knižnica sa priebežne analyzuje aby mohla automaticky vytvárať albumy špeciálnych momentov, výletov a miest.","Zoom in/out":"Priblíziť/Oddialiť"}} \ No newline at end of file diff --git a/frontend/src/locales/json/sl.json b/frontend/src/locales/json/sl.json index 79ae52f37..0e1c2a78e 100644 --- a/frontend/src/locales/json/sl.json +++ b/frontend/src/locales/json/sl.json @@ -1 +1 @@ -{"sl":{"{0} appended action":"{0} priloženo dejanje","{0} files":"{0} datotek","{0} files ({1} in total)":"{0} datotek (skupaj {1})","{0} more":"{0} več","{0} prepended action":"{0} predpomnjen ukrep","{0} selected":"{0} izbrano","{0}-{1} of {2}":"{0}-{1} iz {2}","%{n} albums found":"%{n} najdenih albumov","%{n} files uploaded":"%{n} naloženih datotek","%{n} folders found":"%{n} najdenih map","%{n} GB of %{q} GB used":"%{n} GB od %{q} GB uporabljenih","%{n} labels found":"%{n} najdenih značk","%{n} people found":"%{n} najdenih oseb","%{n} pictures found":"%{n} najdenih slik","%{s} is too long":"%{s} je predolg","%{s} is too short":"%{s} je prekratek","1 hour":"1 ura","12 hours":"12 ur","2-Factor Authentication":"2-faktorsko preverjanje pristnosti","2FA":"2FA","4 hours":"4 ure","A click will copy it to your clipboard.":"S klikom ga boste kopirali v odložišče.","A new version of %{s} is available:":"Na voljo je nova različica %{s}:","About":"Podrobno","Access Token":"Žeton za dostop","Account":"Račun","Account created":"Ustvarjen račun","Account deleted":"Račun je izbrisan","Account restored":"Obnovljen račun","Accounts":"Računi","Accuracy":"Natančnost","Action":"Akcija","Actions":"Akcije","Activate":"Aktivacija","Activate to remove sorting.":"Aktivirajte za odstranitev razvrščanja.","Activate to sort ascending.":"Aktivirajte za naraščajoče razvrščanje.","Activate to sort descending.":"Aktivirajte za razvrščanje po padajočem vrstnem redu.","Activation Code":"Aktivacijska koda","Add":"Dodaj","Add %{s}?":"Dodaj %{s}?","Add Account":"Dodaj račun","Add Album":"Dodajanje albuma","Add files to your library via Web Upload.":"Dodajanje datotek v knjižnico preko spletnega nalaganja.","Add Link":"Dodaj povezavo","Add person?":"Dodati osebo?","Add pictures from search results by selecting them.":"Dodajte slike iz rezultatov iskanja, z izbiranjem.","Add to album":"Dodaj v album","Added":"Dodano","Admin":"Admin","Advanced":"Napredno","After 1 day":"Po 1 dnevu","After 3 days":"Po 3 dneh","After 7 days":"Po 7 dneh","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Ko vnesete geslo za potrditev, lahko nastavite dvostopenjsko avtentikacijo z združljivo aplikacijo ali napravo za preverjanje pristnosti:","After one month":"Po enem mesecu","After one year":"Po enem letu","After selecting pictures from search results, you can add them to an album using the context menu.":"Ko izberete slike iz rezultatov iskanja, jih lahko s pomočjo kontekstnega menija dodate v album.","After two months":"Po dveh mesecih","After two weeks":"Po dveh tednih","Album":"Album","Album Backups":"Varnostne kopije albumov","Album created":"Ustvarjen album","Albums":"Albumi","Albums deleted":"Izbrisani albumi","All":"Vse","All %{n} albums loaded":"Vseh %{n} je bilo naloženih","All %{n} labels loaded":"Vseh %{n} nalepk je bilo naloženih","All %{n} people loaded":"Vseh %{n} oseb je bilo dodanih","All Cameras":"Vsi fotoaparati","All Categories":"Vse kategorije","All Colors":"Vse barve","All Countries":"Vse države","All fields are required":"Vsa polja so obvezna","All files from import folder":"Vse datoteke iz uvozne mape","All Lenses":"Vsi objektivi","All Months":"Vsi meseci","All originals":"Vse izvirne","All Years":"Vsa leta","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Datoteke lahko prenesete tudi neposredno v strežnike WebDAV, kot je Nextcloud.","Altitude":"Nadmorska višina","Altitude (m)":"Nadmorska višina (m)","AM":"AM","Animated":"Animirani","Animation":"Animacija","Any private photos and videos remain private and won't be shared.":"Vse zasebne fotografije in videoposnetki ostanejo zasebni in ne bodo deljeni.","API Key":"Ključ API","Application":"Aplikacija","Apply":"Uporabi","Approve":"Potrdi","Apps and Devices":"Aplikacije in naprave","Archive":"Arhiv","Archived":"Arhivirano","Are you sure you want to archive the selection?":"Ali ste prepričani, da želite arhivirati izbor?","Are you sure you want to delete these albums?":"Ste prepričani, da želite izbrisati te albume?","Are you sure you want to delete these labels?":"Ali ste prepričani, da želite izbrisati te značke?","Are you sure you want to delete this account?":"Ste prepričani, da želite izbrisati ta račun?","Are you sure you want to permanently delete these pictures?":"Ste prepričani, da želite trajno izbrisati te slike?","Are you sure you want to permanently delete this file?":"Ali ste prepričani, da želite trajno izbrisati to datoteko?","Are you sure?":"Ste prepričani?","Artist":"Fotograf","Aspect Ratio":"Razmerje stranic","Audio":"Audio","Authentication":"Preverjanje pristnosti","Auto":"Samodejno","Back":"Nazaj","Back to top":"Nazaj na vrh","Backup":"Varnostna kopija","Badge":"Značka","Base Path":"Osnovna pot","Become a member today, support our mission and enjoy our member benefits!":"Postanite član še danes, podprite naše poslanstvo in uživajte v naših članskih ugodnostih!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Ker se financiramo sami in smo 100-odstotno neodvisni, vam lahko obljubimo, da nikoli ne bomo prodali vaših podatkov ter da bomo vedno pregledni glede naše programske opreme in storitev.","Bio":"Bio","Birth Date":"Datum rojstva","Black":"Črna","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Lanczosova modifikacija, manj zvonjenja artefaktov","Blue":"Modra","Brown":"Rjava","Browse":"Brskanje po","Browse and edit image classification labels.":"Brskajte po značkah za razvrščanje slik in jih urejajte.","Browse and share your pictures organized into monthly albums.":"Brskajte po svojih slikah, urejenih v mesečnih albumih, in jih delite z drugimi.","Browse Files":"Brskanje po datotekah","Browse indexed files and folders in Library.":"Brskanje po indeksiranih datotekah in mapah v knjižnici.","Bug Report":"Poročilo o napaki","Busy, please wait…":"Zaseden, prosim počakajte…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Z uporabo programske opreme in storitev, ki jih ponujamo, se strinjate z našimi pogoji uporabe storitev, pravilnikom o zasebnosti in kodeksom ravnanja.","Calendar":"Koledar","Camera":"Fotoaparat","Camera Serial":"Serijska kamere","Can't access your authenticator app or device?":"Ne morete dostopati do aplikacije ali naprave za preverjanje pristnosti?","Can't load more, limit reached":"Ne morem naložiti več, omejitev je dosežena","Can't select more items":"Ne morete izbrati več elementov","Cancel":"Prekliči","Caption":"Naslov","Cards":"Kartice","Carousel slide {0} of {1}":"Vrtiljak drsnik {0} od {1}","Category":"Kategorija","Change Avatar":"Spremeni avatarja","Change Password":"Sprememba gesla","Change personal profile and security settings.":"Spreminjanje osebnega profila in varnostnih nastavitev.","Change photo titles, locations, and other metadata.":"Spremenite naslove fotografij, lokacije in druge metapodatke.","Change private flag":"Sprememba zasebne zastave","Changes could not be saved":"Sprememb ni bilo mogoče shraniti","Changes successfully saved":"Spremembe so bile uspešno shranjene","Changes to the advanced settings require a restart to take effect.":"Spremembe naprednih nastavitev je treba znova zagnati, da začnejo veljati.","Checked":"Izbrano","Chroma":"Chroma","Cleaning index and cache":"Čiščenje indeksa in predpomnilnika","Cleanup":"Čiščenje","Clear {0}":"Počisti {0}","Client":"Stranka","Client Credentials":"Pooblastila stranke","Close":"Zapri","Codec":"Kodek","Color":"Barva","Color Profile":"Barvni profil","Colors":"Barve","Compare Editions":"Primerjaj izdaje","Complete Rescan":"Popolno ponovno skeniranje","Confidence":"Zaupanje","Confirm":"Potrdi","Connect":"Poveži","Connect via WebDAV":"Poveži preko WebDAV","Connected":"Povezano","Contact Details":"Pišite nam","Contact Us":"Pišite nam","Contains %{n} pictures.":"Vsebuje %{n} slik.","Contains one picture.":"Vsebuje eno sliko.","Content":"Vsebina","Continue":"Nadaljuj","Continue with %{provider}":"Nadaljujte z %{provider}","Contributor":"Sodelujoči","Converting":"Pretvarjanje","Copied to clipboard":"Kopiranje v odložišče","Copy":"Kopirati","Copyright":"Avtorske pravice","Couldn't find anything.":"Ničesar nisem našel.","Country":"Država","Create Account":"Ustvarjanje računa","Create album":"Ustvari album","Create regular backups based on the configured schedule.":"Ustvarite varnostne kopije indeksov na podlagi konfiguriranega urnika.","Create YAML files to back up album metadata.":"Ustvarite datoteke YAML za varnostno kopiranje metapodatkov albuma.","Create YAML sidecar files to back up picture metadata.":"Ustvarite stranske datoteke YAML za varnostno kopiranje metapodatkov slik.","Created":"Ustvarjeno","Creating thumbnails for":"Ustvarjanje sličic za","Cubic: Moderate Quality, Good Performance":"Kubični: Srednja kakovost, dobra zmogljivost","Current Password":"Trenutno geslo","Custom":"Po meri","Cyan":"Cyan","Daily":"Dnevno","Database Backups":"Varnostne kopije podatkovne baze","Day":"Dan","Deactivate":"Deaktiviraj","Debug Logs":"Dnevniki za odpravljanje napak","Default":"Privzeto","Default Folder":"Privzeta mapa","Delete":"Izbriši","Delete All":"Izbriši vse","Delete all?":"Izbriši vse?","Delete orphaned index entries, sidecar files and thumbnails.":"Izbrišite osirotele vnose indeksa, datoteke stranskih sličic in sličic.","Description":"Opis","Detailed instructions can be found in our User Guide.":"Podrobna navodila so na voljo v našem uporabniškem priročniku.","Details":"Podrobnosti","Dimensions":"Dimenzije","Disable Backups":"Onemogoči varnostno kopiranje","Disable Darktable":"Onemogoči Darktable","Disable ExifTool":"Onemogoči orodje ExifTool","Disable features that require write permission for the originals folder.":"Onemogočite funkcije, ki zahtevajo dovoljenje za pisanje v mapo z izvirniki.","Disable FFmpeg":"Onemogoči FFmpeg","Disable ImageMagick":"Onemogočite ImageMagick","Disable interactive world maps and reverse geocoding.":"Onemogočite interaktivne zemljevide sveta in obratno geokodiranje.","Disable Places":"Onemogoči mesta","Disable RawTherapee":"Onemogoči RawTherapee","Disable TensorFlow":"Onemogoči TensorFlow","Disable Vectors":"Onemogočite vektorje","Disable WebDAV":"Onemogoči WebDAV","Disables vector graphics support.":"Onemogoči podporo za vektorsko grafiko.","Disables video transcoding and thumbnail extraction.":"Onemogoči prekodiranje videoposnetkov in pridobivanje sličic.","Discover":"Odkrijte","Dismiss":"Zavrnite","Display Name":"Prikazno ime","Display picture captions in search results.":"Prikazovanje napisov slik v rezultatih iskanja.","Display picture titles in search results.":"Prikazovanje naslovov slik v rezultatih iskanja.","Document":"Dokument","Documents":"Dokumenti","Don't use Darktable to convert RAW images.":"Za pretvorbo datotek RAW ne uporabljajte programa Darktable.","Don't use ImageMagick to convert images.":"Za pretvorbo slik ne uporabljajte programa ImageMagick.","Don't use RawTherapee to convert RAW images.":"Za pretvorbo slik RAW ne uporabljajte programa RawTherapee.","Done":"Končano","Done.":"Opravljeno.","Download":"Prenesi","Download only original media files, without any automatically generated files.":"Prenesite samo izvirne medijske datoteke brez samodejno ustvarjenih datotek.","Download remote files":"Prenos oddaljenih datotek","Download single files and zip archives.":"Prenesite posamezne datoteke in arhive zip.","Downloading…":"Prenašanje…","Downscaling Filter":"Filter za zmanjševanje obsega","Drag and drop files here":"Povlecite in spustite datoteke sem","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"Zaradi velike količine prejetih e-poštnih sporočil naša ekipa morda ne bo mogla takoj odgovoriti.","Duplicates will be skipped and only appear once.":"Podvojeni podatki bodo preskočeni in prikazani samo enkrat.","Duration":"Trajanje","Dynamic Previews":"Dinamični predogledi","Dynamic Size Limit: %{n}px":"Omejitev dinamične velikosti: %{n}px","E-Mail":"E-naslov","Edit":"Uredi","Edit %{s}":"Urejanje %{s}","Edit Account":"Urejanje računa","Edit Photo":"Uredi fotografijo","Edited":"Urejeno","Email":"E-pošta","Enable debug mode to display additional logs and help with troubleshooting.":"Omogočite način za odpravljanje napak, da prikažete dodatne dnevnike in si pomagate pri odpravljanju težav.","Enable new features that may be incomplete or unstable.":"omogočanje novih funkcij, ki so lahko nepopolne ali nestabilne.","Enables RAW converter presets. May reduce performance.":"Omogoči prednastavitve pretvornika RAW. Lahko zmanjša zmogljivost.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Omogočanje dvostopenjske avtentikacije pomeni, da boste za prijavo potrebovali naključno ustvarjeno potrditveno kodo, tako da tudi če nekdo pridobi dostop do vašega gesla, ne bo mogel dostopati do vašega računa.","Enter date":"Vnesite datum","Enter dates":"Vnesite datume","Enter the code generated by your authenticator app:":"Vnesite kodo, ki jo ustvari aplikacija za preverjanje pristnosti:","Enter verification code":"vnesi potrditveno kodo","Enter your password to confirm the action and continue:":"Vnesite geslo za potrditev dejanja in nadaljujte:","Error":"Napaka","Errors":"Napake","Estimate":"Ocena","Estimate Locations":"Ocenjevanje lokacij","Estimate the approximate location of pictures without GPS coordinates.":"Ocenite približno lokacijo slik brez koordinat GPS.","Every two days":"Vsaka dva dni","Exclude content marked as private from search results, shared albums, labels, and places.":"Vsebino, označeno kot zasebno, izključite iz rezultatov iskanja, skupnih albumov, značk in krajev.","Exclude hidden":"Izključite skrite","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"Za popolno podporo za videoposnetke, fotografije v živo in XMP je potrebno pridobivanje metapodatkov z orodjem ExifTool.","Experimental Features":"Eksperimentalne funkcije","Expires":"Velja do","Exposure":"Izpostavljenost","Extract still images and generate thumbnails while indexing.":"Med indeksiranjem izpisujte mirujoče slike in ustvarjajte sličice.","F Number":"Številka F","Face":"Obraz","Faces":"Obrazi","Failed removing link":"Neuspešno odstranjevanje povezave","Failed to connect account.":"Ni uspelo povezati računa.","Failed updating link":"Neuspešno posodabljanje povezave","Family Name":"Družinsko ime","Fast":"Hitro","Favorite":"Najljubši","Favorites":"Priljubljeno","Feature Request":"Zahteva za funkcijo","Feedback":"Povratne informacije","Female":"Ženske","File":"Datoteka","File Browser":"Brskalnik za datoteke","File Conversion":"Pretvarjanje datotek","File Name":"Ime datoteke","File Size":"Datoteka","Filename":"Ime datoteke","Files":"Datoteke","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Datoteki z zaporednimi imeni, kot sta \"IMG_1234 (2)\" in \"IMG_1234 (3)\", pripadata isti sliki.","First page":"Prva stran","Focal Length":"Goriščna razdalja","Folder":"Mapa","Folder contains %{n} files":"Mapa vsebuje %{n} datotek","Folder is empty":"Mapa je prazna","Folders":"Mape","Forgot password?":"Ste pozabili geslo?","FPS":"FPS","Frames":"Okviri","Full Access":"Popoln dostop","Fullscreen":"Celozaslonski zaslon","General":"Splošno","Generate":"Ustvari","Generate albums of special moments, journeys, and places.":"Samodejno ustvari albume posebnih trenutkov, potovanj in krajev.","Generate Previews":"Ustvarjanje predogledov","Generated":"Ustvarjeno","Get Started":"Začnite z delom","Given Name":"Izvirno ime","Global Options":"Globalne možnosti","Go to page {0}":"Pojdi na stran {0}","Gold":"Zlato","Green":"Zelena","Grey":"Siva","Guest":"Gost","Hash":"Hash","Help":"Pomoč","Help & Support":"Pomoč in podpora","Hidden":"Skriti","Hidden Files":"Skrite datoteke","Hide":"Skrij","Hide photos that have been moved to archive.":"Skrijte fotografije, ki so bile prenesene v arhiv.","High":"Visoka","High Dynamic Range (HDR)":"Visok dinamični razpon (HDR)","How can we help?":"Kako lahko pomagamo?","Hybrid":"Hibridni","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Če izgubite dostop do aplikacije ali naprave za preverjanje pristnosti, lahko uporabite svojo obnovitveno kodo, da znova pridobite dostop do svojega računa.","Image":"Slika","Image Quality":"Kakovost slike","Import":"Uvoz","Import failed":"Uvoz ni uspel","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Uvožene datoteke bodo razvrščene po datumu in bodo imele edinstveno ime, da bi se izognili podvajanju.","Imported files will be sorted by date and given a unique name.":"Uvožene datoteke bodo razvrščene po datumu in bodo imele edinstveno ime.","Importing %{s}…":"Uvažanje %{s}…","Importing files to originals…":"Uvoz datotek v izvirnike…","in":"na","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"Če manjkajo slike, ki ste jih pričakovali, ponovno preglejte svojo knjižnico in počakajte, da bo indeksiranje končano.","Include RAW image files when downloading stacks and archives.":"Vključite slikovne datoteke RAW pri prenašanju skladov in arhivov.","Include sidecar files when downloading stacks and archives.":"Vključitev stranskih datotek pri prenosu skladov in arhivov.","Increase storage size or delete files to continue.":"Če želite nadaljevati, povečajte velikost shrambe ali izbrišite datoteke.","Index":"Indeks","Index and import files through the user interface.":"Indeksiranje in uvoz datotek prek uporabniškega vmesnika.","Indexing":"Indeksiranje","Indexing failed":"Indeksiranje ni uspelo","Indexing media and sidecar files…":"Indeksiranje medijskih in stranskih datotek…","Information":"Informacije","Instance ID":"ID instance","Insufficient storage.":"Nezadostno skladiščenje.","Interval":"Interval","Invalid":"Nepravilen datum","Invalid address":"Nepravilen naslov","Invalid country":"Neveljavna država","Invalid date":"Nepravilen datum","Invalid parameters":"Neveljavni parametri","Invalid photo selected":"Izbrana napačna fotografija","Invalid time":"Nepravilen čas","Invalid URL":"Nepravilen URL","It is a one-time use code that will disable 2FA for your account when you use it.":"To je koda za enkratno uporabo, ki onemogoči 2FA za vaš račun, ko jo uporabite.","Item":"Artikel","Items per page:":"Elementi na stran:","JPEG Quality: %{n}":"Kakovost JPEG: %{n}","JPEG Size Limit: %{n}px":"Omejitev velikosti JPEG: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"JPEG in sličice se po potrebi samodejno prikažejo.","Keywords":"Ključne besede","Label":"Značka","Labels":"Značke","Labels deleted":"Značke izbrisane","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: ohranjanje podrobnosti, minimalni artefakti","Language":"Jezik","Last Active":"Zadnji aktivni","Last Login":"Zadnja prijava","Last page":"Zadnja stran","Last Sync":"Zadnja sinhronizacija","Last Used":"Nazadnje uporabljeno","Latitude":"Zemljepisna širina","LDAP/AD":"LDAP/AD","Learn more":"Preberite več","Learn More":"Preberite več","Legal Information":"Pravne informacije","Lens":"Objektiv","Library":"Knjižnica","License":"Licenca","Like":"Všeč mi je","Lime":"Lime","Limit reached, showing first %{n} files":"Omejitev je dosežena, prikazovanje prvih %{n} datotekek","Linear: Very Smooth, Best Performance":"Linearno: Zelo gladko, najboljša zmogljivost","Link":"Povezava","List":"Seznam","List View":"Pogled na seznam","Live":"V živo","Live Photos":"Fotografije","Load more":"Naloži več","Loading items...":"Nalaganje elementov...","Loading...":"Nalaganje...","Local":"Lokalni","Local Time":"Lokalni čas","Location":"Lokacija","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Sporočila dnevnika se tu pojavijo, kadar PhotoPrism naleti na pokvarjene datoteke ali druge morebitne težave.","Login":"Prijava","Logout":"Odjava","Logs":"Dnevniki","Longitude":"Zemljepisna dolžina","Low":"Nizka","Magenta":"Magenta","Main Color":"Glavna barva","Male":"Moški","Manage Account":"Upravljanje računa","Manual":"Priročnik","Manual Upload":"Ročno nalaganje","Maps":"Zemljevidi","Marker":"Označevalnik","Maximum number of accounts has been reached.":"Največje število računov je bilo doseženo.","Media":"Mediji","Medium":"Srednja","Membership":"Članstvo","Merge %{a} with %{b}?":"Združiti %{a} z %{b}?","Message":"Sporočilo","Message sent":"Poslano sporočilo","Metadata":"Metapodatki","Metrics":"Metrike","Minimize":"Zmanjšajte","Missing":"Manjka","Missing or invalid configuration":"Manjkajoča ali neveljavna konfiguracija","Moments":"Trenutki","Monochrome":"Enobarvni","Month":"Mesec","More options":"Več možnosti","Mosaic":"Mozaik","Most Relevant":"Najpomembnejši","Move Files":"Premikanje datotek","Must have at least %{n} characters.":"Imeti mora vsaj %{n} znakov.","Mute":"Izklopite glasnost","Name":"Ime","Name too long":"Predolgo ime","Never":"Nikoli","New":"Novo","New Password":"Novo geslo","Newest First":"Najprej najnovejše","Next":"Naslednji","Next page":"Naslednja stran","Next visual":"Naslednji vizualni","No":"Ne","No albums found":"Ni najdenih albumov","No data available":"Podatki niso na voljo","No labels found":"Ni najdenih nalepk","No matching records found":"Ni bilo najdenih ustreznih zapisov","No more":"Ne več","No people found":"Ni bilo najdenih oseb","No pictures found":"Ni bilo najdenih slik","No recently edited pictures":"Brez nedavno urejenih slik","No server connection":"Ni povezave s strežnikom","No servers configured.":"Strežniki niso konfigurirani.","No services configured.":"Strežniki niso konfigurirani.","No thanks":"Ne, hvala.","No warnings or error containing this keyword. Note that search is case-sensitive.":"Ni opozoril ali napak, ki bi vsebovale to ključno besedo. Upoštevajte, da je iskanje občutljivo na velike in male črke.","Non-photographic and low-quality images require a review before they appear in search results.":"Nefotografske slike in slike nizke kakovosti je treba pred prikazom v rezultatih iskanja pregledati.","None":"Ni","Not allowed":"Ni dovoljeno","Not found":"Ga ni mogoče najti","Not sorted.":"Ni razvrščeno.","Not supported":"Ni podprto","Note you may manually manage your originals folder and importing is optional.":"Upoštevajte, da lahko mapo z izvirniki upravljate ročno, uvoz pa ni obvezen.","Note:":"Opomba:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Opomba: Samo strežnike WebDAV, kot sta Nextcloud ali PhotoPrism, lahko konfigurirate kot oddaljeno storitev za varnostno kopiranje in prenos datotek.","Notes":"Opombe","Nothing to see here yet.":"Tu še ni ničesar za videti. Bodite potrpežljivi.","Nothing was found.":"Ničesar nismo našli.","Offline":"Brez povezave","OIDC":"OIDC","OK":"V REDU","Oldest First":"Najprej najstarejši","On Windows, enter the following resource in the connection dialog:":"V operacijskem sistemu Windows v pogovorno okno za povezavo vnesite naslednji vir:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"Ustvarjanje sličic na zahtevo lahko povzroči veliko porabo procesorja in pomnilnika. To ni priporočljivo za strežnike in naprave NAS z omejenimi viri.","Once a week":"Enkrat na teden","One album found":"Najden je bil en album","One file found":"Najdena je bila ena datoteka","One file uploaded":"Prenesena ena datoteka","One folder found":"Najdena je bila ena mapa","One label found":"Najdena je bila ena nalepka","One person found":"Ena oseba je našla","One picture found":"Najdena je bila ena slika","Only locally managed accounts can be set up for authentication with 2FA.":"Samo lokalno upravljane račune je mogoče nastaviti za preverjanje pristnosti z 2FA.","Open":"Odpri","optional":"neobvezno","or":"ali","Orange":"Oranžna","Organization":"Orientacija","Orientation":"Orientacija","Original file names will be stored and indexed.":"Originalna imena datotek bodo shranjena in indeksirana.","Original Name":"Izvirno ime","Originals":"Izvirniki","Other":"Drugo","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Naše poslanstvo je zagotoviti uporabniku in zasebnosti najbolj prijazno rešitev za urejanje in dostop do vaših slik.","Outdoor":"Na prostem","Page {0}, Current page":"Stran {0}, Trenutna stran","Pages":"Strani","Pagination Navigation":"Navigacija po straneh","Panorama":"Panorama","Panoramas":"Panorame","Password":"Geslo","Password changed":"Spremenjeno geslo","People":"Ljudje","People you share a link with will be able to view public contents.":"Osebe, s katerimi delite povezavo, si bodo lahko ogledale javno vsebino.","Permanently deleted":"Trajno izbrisano","Permanently remove files to free up storage.":"Trajno odstranite datoteke in sprostite prostor za shranjevanje.","Person":"Oseba","Personal":"Osebni","Photo":"Fotografija","PhotoPrism is 100% self-funded and independent.":"PhotoPrism se 100-odstotno financira sam in je neodvisen.","PhotoPrism+ Membership":"Članstvo PhotoPrism+","Photos":"Fotografije","Picture Title":"Naslov slike","Pink":"Roza","Place":"Kraj","Place & Time":"Kraj in čas","Places":"Kraji","Please confirm your new password.":"Potrdite novo geslo.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Kopirajte naslednje naključno ustvarjeno geslo za aplikacijo in ga shranite na varno mesto, saj ga ne boste mogli več videti:","Please do not upload any private, unlawful or offensive pictures.":"Ne nalagajte zasebnih, nezakonitih ali žaljivih slik.","Please don't upload photos containing offensive content.":"Ne nalagajte fotografij z žaljivo vsebino.","Please enter OTP character {0}":"Vnesite znak OTP {0}","Please note that changing your password will log you out on other devices and browsers.":"Upoštevajte, da se boste s spremembo gesla odjavili tudi v drugih napravah in brskalnikih.","Please restart your instance for the changes to take effect.":"Da bodo spremembe začele veljati, znova zaženite svoj primer.","Please wait…":"Počakajte…","PM":"PM","PNG Size Limit: %{n}px":"Omejitev velikosti PNG: %{n}px","Portrait":"Portret","Preserve filenames":"Ohranjanje imen datotek","Press enter to create a new album.":"Pritisnite enter, da ustvarite nov album.","Prevent database and album backups as well as YAML sidecar files from being created.":"Preprečite ustvarjanje varnostnih kopij podatkovnih zbirk in albumov ter stranskih datotek YAML.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Preprečite drugim aplikacijam dostop do programa PhotoPrism kot do omrežnega pogona v skupni rabi.","Preview":"Predogled","Preview Images":"Predogled slik","Previous":"Prejšnji","Previous page":"Prejšnja stran","Previous visual":"Prejšnji vizualni","Primary":"Primarni","Private":"Zasebno","Product Feedback":"Povratne informacije o izdelku","Projection":"Projekcija","Purple":"Vijolična","Quality Filter":"Filter kakovosti","Quality Score":"Ocena kakovosti","r":"r","Random":"Naključno","Rating {0} of {1}":"Ocena {0} od {1}","Raw":"Surovo","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Ponovno indeksiranje vseh izvirnikov, vključno z že indeksiranimi in nespremenjenimi datotekami.","Read-Only Mode":"Način samo za branje","Recently Added":"Nedavno dodano","Recently Archived":"Nedavno arhivirano","Recently Edited":"Nedavno urejeno","Recognition starts after indexing has been completed.":"Prepoznavanje se začne po končanem indeksiranju.","Recognize faces so people can be assigned and found.":"Prepozna obraze, tako da lahko poišče določene osebe.","Recognized":"Priznani","Recovery Code":"Koda za izterjavo","Red":"Rdeča","Refresh":"Osvežitev","Regions":"Regije","Register":"Register","Reload":"Ponovno polnjenje","Reloading…":"Polnjenje…","Remote Sync":"Oddaljena sinhronizacija","Remove":"Odstranite","remove failed: unknown album":"odstranitev ni uspela: neznan album","Remove from Album":"Odstrani iz albuma","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Odstranite uvožene datoteke, da prihranite prostor za shranjevanje. Nepodprte vrste datotek se nikoli ne izbrišejo, temveč ostanejo na svoji trenutni lokaciji.","Request failed - are you offline?":"Zahteva ni bila uspešna - ste brez povezave?","Request failed - invalid response":"Zahteva ni uspela - neveljaven odgovor","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"zahteva, da se pred prikazom v rezultatih iskanja pregledajo nefotografske slike in slike nizke kakovosti.","Resolution":"Resolucija","Restart":"Ponovni zagon","Restore":"Obnovitev","Restored":"Restavrirani","Retry Limit":"Omejitev ponovitve","Retype Password":"Ponovite geslo","Review":"Pregled","Role":"Vloga","Rows per page:":"Vrstice na stran:","Satellite":"Satelit","Save":"Shrani","Scan":"Skeniranje","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Skenirajte kodo QR z aplikacijo za preverjanje pristnosti ali uporabite nastavitveni ključ, prikazan spodaj, in nato vnesite ustvarjeno kodo za preverjanje:","Scans":"Skenira","Scope":"Področje uporabe","Search":"Iskanje","Search and display photos on a map.":"Iščite in prikažite fotografije na zemljevidu.","Season":"Sezona","Secret":"Skrivnost","Security and Access":"Varnost in dostop","Select":"Izberite","Select a source folder to import files…":"Izberite izvorno mapo za uvoz datotek…","Select date":"Izberite datum","Select dates":"Izberite datume","Select or create an album":"Izberite ali ustvarite album","Select the files to upload…":"Izberite datoteke, ki jih želite naložiti…","Select the folder to be indexed…":"Izberite mapo za indeksiranje…","Select Time":"Izberite čas","Selection approved":"Odobren izbor","Selection archived":"Arhiviran izbor","Selection restored":"Obnovljen izbor","Sequential Name":"Zaporedno ime","Service URL":"URL storitve","Services":"URL storitve","Session":"Seja","Session ID":"ID seje","Sessions":"Seje","Set as Album Cover":"Nastavite kot naslovnico albuma","Settings":"Nastavitve","Settings saved":"Shranjene nastavitve","Setup":"Nastavitev","Share":"Delite","Share %{s}":"Skupna raba %{s}","Share your pictures with other apps and services.":"Slike lahko delite z drugimi aplikacijami in storitvami.","Show":"Prikaži","Show all new faces":"Prikaži vse nove obraze","Show Captions":"Prikaži napise","Show hidden":"Prikaži skrito","Show less":"Pokaži manj","Show more":"Pokaži več","Show server logs in Library.":"Prikaži dnevnike strežnika v knjižnici.","Show Titles":"Prikaži naslove","Sidecar":"Sidecar","Sidecar Files":"Datoteke Sidecar","Sign in":"Prijavite se","Similar":"Podobno","Size":"Velikost","Slideshow":"Diaprojekcija","Slow":"Počasi","Software":"Programska oprema","Software Update":"Posodobitev programske opreme","Something went wrong, try again":"Nekaj je šlo narobe, poskusite znova","Sort by":"Razvrsti po","Sort Order":"Vrstni red","Sorted ascending.":"Razvrščeno naraščajoče.","Sorted descending.":"Razvrščeno padajoče.","Source":"Vir:","Stack":"Stack","Stack files sharing the same unique image or instance identifier.":"Zlaganje datotek z isto edinstveno sliko ali identifikatorjem primerka.","Stack pictures taken at the exact same time and location based on their metadata.":"Na podlagi metapodatkov zložite slike, posnete ob istem času in na isti lokaciji.","Stackable":"Stackable","Stacks":"Zaloge","Start":"Začetek","Start Page":"Začetna stran","Static Size Limit: %{n}px":"Omejitev statične velikosti: %{n}px","Status":"Status","Storage":"Shranjevanje","Streets":"Ulice","Subject":"Zadeva","Submit":"Pošlji","Successfully activated":"Uspešno aktiviran","Successfully Connected":"Uspešno povezano","Successfully deleted":"Uspešno izbrisan","Successfully verified":"Uspešno preverjeno","Super Admin":"Super administrator","Support for additional services, like Google Drive, will be added over time.":"Podpora za dodatne storitve, kot je Google Drive, bo dodana sčasoma.","Support Our Mission":"Podprite naše poslanstvo","Sync":"Sinhronizacija","Sync raw and video files":"Sinhronizacija neobdelanih in video datotek","Taken":"Prevzeto","Teal":"Teal","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow je potreben za razvrščanje slik, prepoznavanje obrazov in zaznavanje nevarne vsebine.","Terrain":"Teren","Text":"Besedilo","Text too long":"Predolgo besedilo","Thank You for Your Support!":"Hvala za podporo!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Zato je bil PhotoPrism od samega začetka zasnovan tako, da deluje, kjer koli ga potrebujete, ne da bi pri tem ogrožal svobodo, zasebnost ali funkcionalnost.","The index currently contains %{n} hidden files.":"Indeks trenutno vsebuje %{n} skritih datotek.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Njihova oblika morda ni podprta, morda še niso bili pretvorjeni v JPEG ali pa se podvajajo.","Theme":"Tema","This field is required":"To polje je obvezno","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Tako se mapa z izvirniki namesti kot omrežni pogon in omogoči odpiranje, urejanje in brisanje datotek iz računalnika ali pametnega telefona, kot da bi bile lokalne.","Time UTC":"Čas UTC","Time Zone":"Časovni pas","Timeout":"Timeout","Title":{"Account":"Naslov","Photo":"Naslov","":"Naslov"},"Title / Position":"Predolg naslov","Title too long":"Predolg naslov","to":"na .","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Da se izognete izgubi dostopa do računa, prenesite, natisnite ali kopirajte to obnovitveno kodo in jo shranite na varno mesto.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Če želite ustvariti novo geslo za določeno aplikacijo, vnesite ime in obseg pooblastila aplikacije ter izberite datum poteka:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Če želite preklopiti na novo aplikacijo ali napravo za preverjanje pristnosti, najprej deaktivirajte dvostopenjsko avtentikacijo in jo nato znova aktivirajte:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Za nadgradnjo lahko vnesete aktivacijsko kodo ali pa se s klikom na gumb \"Registracija\" prijavite na našem spletnem mestu:","Today":"Danes","Toggle View":"Toggle View","Token":"Žeton","Too many files selected":"Izbranih je preveč datotek","Too many requests":"Preveč zahtev","Troubleshooting":"Odpravljanje težav","Try again using other filters or keywords.":"Poskusite znova z drugimi filtri ali ključnimi besedami.","Two-factor authentication has been enabled for your account.":"Za vaš račun je omogočeno dvostopenjsko preverjanje pristnosti.","Type":"Tip","Unauthorized":"Nepooblaščeno","Undo":"Razveljavi","Unique ID":"Edinstven ID","Unknown":"Neznano","Unregistered":"Neregistrirani","Unsorted":"Nesortirani","Unstack":"Odstranjevanje","Updated":"Posodobljeno","Updating faces":"Posodabljanje obrazov","Updating index":"Posodabljanje indeksa","Updating moments":"Posodabljanje trenutkov","Updating picture…":"Posodabljanje predogledov","Updating previews":"Posodabljanje predogledov","Updating stacks":"Posodabljanje skladovnic","Upgrade":"Nadgradnja","Upgrade Now":"Nadgradite zdaj","Upload":"Naložite","Upload complete":"Nalaganje končano","Upload complete. Indexing…":"Nalaganje je končano. Indeksiranje…","Upload failed":"Nalaganje ni uspelo","Upload local files":"Prenos lokalnih datotek","Upload Path":"Pot za nalaganje","Upload to WebDAV and share links with friends.":"Prenesite v WebDAV in delite povezave s prijatelji.","Uploading %{n} of %{t}…":"Nalaganje %{n} od %{t}…","Uploading photos…":"Nalaganje fotografij…","Uploading…":"Polnjenje…","Uploads that may contain such images will be rejected automatically.":"Prenosi, ki bi lahko vsebovali takšne slike, bodo samodejno zavrnjeni.","Use Presets":"Uporaba prednastavitev","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Uporabite naslednjo obnovitveno kodo za dostop do svojega računa, če ne morete ustvariti veljavne kode za preverjanje z aplikacijo za preverjanje pristnosti:","Use your recovery code or contact an administrator for help.":"Uporabite kodo za obnovitev ali se za pomoč obrnite na skrbnika.","User":"Uporabnik","User Guide":"Uporabniški priročnik","User Interface":"Uporabniški vmesnik","Username":"Uporabniško ime","Users":"Uporabniki","Vector":"Vektor","Vectors":"Vektorji","Verification Code":"Koda za preverjanje","Video":"Videoposnetek","Video Duration":"Trajanje","Videos":"Videoposnetki","View":"Oglejte si","View search results as a list.":"Rezultate iskanja prikažite kot seznam.","Viewer":"Pregledovalnik","Visitor":"Obiskovalec","Visual Similarity":"Skupine po podobnosti","Warning":"Opozorilo","We appreciate your feedback!":"Cenimo vaše povratne informacije!","We do our best to respond within five business days or less.":"Potrudimo se, da vam odgovorimo v petih delovnih dneh ali manj.","Web Login":"Spletna prijava","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"Odjemalci WebDAV se lahko povežejo s programom PhotoPrism z naslednjim naslovom URL:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"Odjemalci WebDAV, kot sta Microsoftov Windows Explorer ali Applov Finder, se lahko povežejo neposredno s PhotoPrism.","WebDAV Upload":"Nalaganje prek protokola WebDAV","WebGL support is disabled in your browser":"Podpora WebGL je v vašem brskalniku onemogočena","Website":"Spletna stran","White":"Bela","Work Details":"Podrobnosti","Year":"Leto","Yellow":"Rumena","Yes":"Da","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Z vprašanji v zvezi s članstvom se lahko obrnete na membership@photoprism.app.","You can only download one album":"Prenesete lahko samo en album","You can only download one label":"Prenesete lahko samo eno nalepko","You can upload up to %{n} files for test purposes.":"V testne namene lahko naložite do %{n} datotek.","You may only select one item":"Izberete lahko samo en predmet.","You may rescan your library to find additional faces.":"Če želite najti dodatne obraze, lahko knjižnico ponovno preiščete.","Your account has been successfully connected.":"Vaš račun je bil uspešno povezan.","Your browser does not support WebGL":"Vaš brskalnik ne podpira WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Vaša stalna podpora nam pomaga zagotavljati redne posodobitve in ostati neodvisni, tako da lahko izpolnjujemo svoje poslanstvo in varujemo vašo zasebnost.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Vaša knjižnica se nenehno analizira in samodejno ustvarja albume posebnih trenutkov, potovanj in krajev.","Zoom in/out":"Povečanje/pomanjšanje"}} \ No newline at end of file +{"sl":{"{0} appended action":"{0} priloženo dejanje","{0} files":"{0} datotek","{0} files ({1} in total)":"{0} datotek (skupaj {1})","{0} more":"{0} več","{0} prepended action":"{0} predpomnjen ukrep","{0} selected":"{0} izbrano","{0}-{1} of {2}":"{0}-{1} iz {2}","%{n} albums found":"%{n} najdenih albumov","%{n} files uploaded":"%{n} naloženih datotek","%{n} folders found":"%{n} najdenih map","%{n} GB of %{q} GB used":"%{n} GB od %{q} GB uporabljenih","%{n} labels found":"%{n} najdenih značk","%{n} people found":"%{n} najdenih oseb","%{n} pictures found":"%{n} najdenih slik","%{s} is too long":"%{s} je predolg","%{s} is too short":"%{s} je prekratek","1 hour":"1 ura","12 hours":"12 ur","2-Factor Authentication":"2-faktorsko preverjanje pristnosti","2FA":"2FA","4 hours":"4 ure","A click will copy it to your clipboard.":"S klikom ga boste kopirali v odložišče.","A new version of %{s} is available:":"Na voljo je nova različica %{s}:","About":"Podrobno","Access Token":"Žeton za dostop","Account":"Račun","Account created":"Ustvarjen račun","Account deleted":"Račun je izbrisan","Account restored":"Obnovljen račun","Accounts":"Računi","Accuracy":"Natančnost","Action":"Akcija","Actions":"Akcije","Activate":"Aktivacija","Activate to remove sorting.":"Aktivirajte za odstranitev razvrščanja.","Activate to sort ascending.":"Aktivirajte za naraščajoče razvrščanje.","Activate to sort descending.":"Aktivirajte za razvrščanje po padajočem vrstnem redu.","Activation Code":"Aktivacijska koda","Add":"Dodaj","Add %{s}?":"Dodaj %{s}?","Add Account":"Dodaj račun","Add Album":"Dodajanje albuma","Add files to your library via Web Upload.":"Dodajanje datotek v knjižnico preko spletnega nalaganja.","Add Link":"Dodaj povezavo","Add person?":"Dodati osebo?","Add pictures from search results by selecting them.":"Dodajte slike iz rezultatov iskanja, z izbiranjem.","Add to album":"Dodaj v album","Added":"Dodano","Adjust Location":"Prilagoditev lokacije","Admin":"Admin","Advanced":"Napredno","After 1 day":"Po 1 dnevu","After 3 days":"Po 3 dneh","After 7 days":"Po 7 dneh","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Ko vnesete geslo za potrditev, lahko nastavite dvostopenjsko avtentikacijo z združljivo aplikacijo ali napravo za preverjanje pristnosti:","After one month":"Po enem mesecu","After one year":"Po enem letu","After selecting pictures from search results, you can add them to an album using the context menu.":"Ko izberete slike iz rezultatov iskanja, jih lahko s pomočjo kontekstnega menija dodate v album.","After two months":"Po dveh mesecih","After two weeks":"Po dveh tednih","Album":"Album","Album Backups":"Varnostne kopije albumov","Album created":"Ustvarjen album","Album deleted":"Izbrisan album","Albums":"Albumi","Albums deleted":"Izbrisani albumi","All":"Vse","All %{n} albums loaded":"Vseh %{n} je bilo naloženih","All %{n} labels loaded":"Vseh %{n} nalepk je bilo naloženih","All %{n} people loaded":"Vseh %{n} oseb je bilo dodanih","All Cameras":"Vsi fotoaparati","All Categories":"Vse kategorije","All Colors":"Vse barve","All Countries":"Vse države","All fields are required":"Vsa polja so obvezna","All files from import folder":"Vse datoteke iz uvozne mape","All Lenses":"Vsi objektivi","All Months":"Vsi meseci","All originals":"Vse izvirne","All Years":"Vsa leta","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Datoteke lahko prenesete tudi neposredno v strežnike WebDAV, kot je Nextcloud.","Altitude":"Nadmorska višina","Altitude (m)":"Nadmorska višina (m)","AM":"AM","Animated":"Animirani","Animation":"Animacija","Animations":"Animacije","Any private photos and videos remain private and won't be shared.":"Vse zasebne fotografije in videoposnetki ostanejo zasebni in ne bodo deljeni.","API Key":"Ključ API","Application":"Aplikacija","Apply":"Uporabi","Approve":"Potrdi","Apps and Devices":"Aplikacije in naprave","Archive":"Arhiv","Archived":"Arhivirano","Are you sure you want to archive the selection?":"Ali ste prepričani, da želite arhivirati izbor?","Are you sure you want to delete these albums?":"Ste prepričani, da želite izbrisati te albume?","Are you sure you want to delete these labels?":"Ali ste prepričani, da želite izbrisati te značke?","Are you sure you want to delete this account?":"Ste prepričani, da želite izbrisati ta račun?","Are you sure you want to delete this album?":"Ste prepričani, da želite izbrisati ta album?","Are you sure you want to permanently delete these pictures?":"Ste prepričani, da želite trajno izbrisati te slike?","Are you sure you want to permanently delete this file?":"Ali ste prepričani, da želite trajno izbrisati to datoteko?","Are you sure?":"Ste prepričani?","Artist":"Fotograf","Aspect Ratio":"Razmerje stranic","Audio":"Audio","Authentication":"Preverjanje pristnosti","Auto":"Samodejno","Back":"Nazaj","Back to top":"Nazaj na vrh","Backup":"Varnostna kopija","Badge":"Značka","Base Path":"Osnovna pot","Become a member today, support our mission and enjoy our member benefits!":"Postanite član še danes, podprite naše poslanstvo in uživajte v naših članskih ugodnostih!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Ker se financiramo sami in smo 100-odstotno neodvisni, vam lahko obljubimo, da nikoli ne bomo prodali vaših podatkov ter da bomo vedno pregledni glede naše programske opreme in storitev.","Bio":"Bio","Birth Date":"Datum rojstva","Black":"Črna","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Lanczosova modifikacija, manj zvonjenja artefaktov","Blue":"Modra","Brown":"Rjava","Browse":"Brskanje po","Browse and edit image classification labels.":"Brskajte po značkah za razvrščanje slik in jih urejajte.","Browse and share your pictures organized into monthly albums.":"Brskajte po svojih slikah, urejenih v mesečnih albumih, in jih delite z drugimi.","Browse Files":"Brskanje po datotekah","Browse indexed files and folders in Library.":"Brskanje po indeksiranih datotekah in mapah v knjižnici.","Bug Report":"Poročilo o napaki","Busy, please wait…":"Zaseden, prosim počakajte…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Z uporabo programske opreme in storitev, ki jih ponujamo, se strinjate z našimi pogoji uporabe storitev, pravilnikom o zasebnosti in kodeksom ravnanja.","Calendar":"Koledar","Camera":"Fotoaparat","Camera Serial":"Serijska kamere","Can't access your authenticator app or device?":"Ne morete dostopati do aplikacije ali naprave za preverjanje pristnosti?","Can't load more, limit reached":"Ne morem naložiti več, omejitev je dosežena","Can't select more items":"Ne morete izbrati več elementov","Cancel":"Prekliči","Cannot copy to clipboard":"Ni mogoče kopirati v odložišče","Caption":"Naslov","Cards":"Kartice","Carousel slide {0} of {1}":"Vrtiljak drsnik {0} od {1}","Category":"Kategorija","Change Avatar":"Spremeni avatarja","Change Password":"Sprememba gesla","Change personal profile and security settings.":"Spreminjanje osebnega profila in varnostnih nastavitev.","Change photo titles, locations, and other metadata.":"Spremenite naslove fotografij, lokacije in druge metapodatke.","Change private flag":"Sprememba zasebne zastave","Changes could not be saved":"Sprememb ni bilo mogoče shraniti","Changes successfully saved":"Spremembe so bile uspešno shranjene","Changes to the advanced settings require a restart to take effect.":"Spremembe naprednih nastavitev je treba znova zagnati, da začnejo veljati.","Checked":"Izbrano","Chroma":"Chroma","Cleaning index and cache":"Čiščenje indeksa in predpomnilnika","Cleanup":"Čiščenje","Clear {0}":"Počisti {0}","Client":"Stranka","Client Credentials":"Pooblastila stranke","Close":"Zapri","Codec":"Kodek","Color":"Barva","Color Profile":"Barvni profil","Colors":"Barve","Compare Editions":"Primerjaj izdaje","Complete Rescan":"Popolno ponovno skeniranje","Confidence":"Zaupanje","Confirm":"Potrdi","Connect":"Poveži","Connect via WebDAV":"Poveži preko WebDAV","Connected":"Povezano","Contact Details":"Pišite nam","Contact Us":"Pišite nam","Contains %{n} pictures.":"Vsebuje %{n} slik.","Contains one picture.":"Vsebuje eno sliko.","Content":"Vsebina","Continue":"Nadaljuj","Continue with %{provider}":"Nadaljujte z %{provider}","Contributor":"Sodelujoči","Converting":"Pretvarjanje","Copied to clipboard":"Kopiranje v odložišče","Copy":"Kopirati","Copyright":"Avtorske pravice","Couldn't find anything.":"Ničesar nisem našel.","Country":"Država","Create Account":"Ustvarjanje računa","Create album":"Ustvari album","Create regular backups based on the configured schedule.":"Ustvarite varnostne kopije indeksov na podlagi konfiguriranega urnika.","Create YAML files to back up album metadata.":"Ustvarite datoteke YAML za varnostno kopiranje metapodatkov albuma.","Create YAML sidecar files to back up picture metadata.":"Ustvarite stranske datoteke YAML za varnostno kopiranje metapodatkov slik.","Created":"Ustvarjeno","Creating thumbnails for":"Ustvarjanje sličic za","Cubic: Moderate Quality, Good Performance":"Kubični: Srednja kakovost, dobra zmogljivost","Current Password":"Trenutno geslo","Custom":"Po meri","Cyan":"Cyan","Daily":"Dnevno","Database Backups":"Varnostne kopije podatkovne baze","Day":"Dan","Deactivate":"Deaktiviraj","Debug Logs":"Dnevniki za odpravljanje napak","Default":"Privzeto","Default Folder":"Privzeta mapa","Delete":"Izbriši","Delete Album":"Brisanje albuma","Delete All":"Izbriši vse","Delete all?":"Izbriši vse?","Delete orphaned index entries, sidecar files and thumbnails.":"Izbrišite osirotele vnose indeksa, datoteke stranskih sličic in sličic.","Description":"Opis","Detailed instructions can be found in our User Guide.":"Podrobna navodila so na voljo v našem uporabniškem priročniku.","Details":"Podrobnosti","Dimensions":"Dimenzije","Disable Backups":"Onemogoči varnostno kopiranje","Disable Darktable":"Onemogoči Darktable","Disable ExifTool":"Onemogoči orodje ExifTool","Disable features that require write permission for the originals folder.":"Onemogočite funkcije, ki zahtevajo dovoljenje za pisanje v mapo z izvirniki.","Disable FFmpeg":"Onemogoči FFmpeg","Disable ImageMagick":"Onemogočite ImageMagick","Disable interactive world maps and reverse geocoding.":"Onemogočite interaktivne zemljevide sveta in obratno geokodiranje.","Disable Places":"Onemogoči mesta","Disable RawTherapee":"Onemogoči RawTherapee","Disable TensorFlow":"Onemogoči TensorFlow","Disable Vectors":"Onemogočite vektorje","Disable WebDAV":"Onemogoči WebDAV","Disables vector graphics support.":"Onemogoči podporo za vektorsko grafiko.","Disables video transcoding and thumbnail extraction.":"Onemogoči prekodiranje videoposnetkov in pridobivanje sličic.","Discover":"Odkrijte","Dismiss":"Zavrnite","Display Name":"Prikazno ime","Display picture captions in search results.":"Prikazovanje napisov slik v rezultatih iskanja.","Display picture titles in search results.":"Prikazovanje naslovov slik v rezultatih iskanja.","Document":"Dokument","Documents":"Dokumenti","Don't use Darktable to convert RAW images.":"Za pretvorbo datotek RAW ne uporabljajte programa Darktable.","Don't use ImageMagick to convert images.":"Za pretvorbo slik ne uporabljajte programa ImageMagick.","Don't use RawTherapee to convert RAW images.":"Za pretvorbo slik RAW ne uporabljajte programa RawTherapee.","Done":"Končano","Done.":"Opravljeno.","Download":"Prenesi","Download only original media files, without any automatically generated files.":"Prenesite samo izvirne medijske datoteke brez samodejno ustvarjenih datotek.","Download remote files":"Prenos oddaljenih datotek","Download single files and zip archives.":"Prenesite posamezne datoteke in arhive zip.","Downloading…":"Prenašanje…","Downscaling Filter":"Filter za zmanjševanje obsega","Drag and drop files here":"Povlecite in spustite datoteke sem","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"Zaradi velike količine prejetih e-poštnih sporočil naša ekipa morda ne bo mogla takoj odgovoriti.","Duplicates will be skipped and only appear once.":"Podvojeni podatki bodo preskočeni in prikazani samo enkrat.","Duration":"Trajanje","Dynamic Previews":"Dinamični predogledi","Dynamic Size Limit: %{n}px":"Omejitev dinamične velikosti: %{n}px","E-Mail":"E-naslov","Edit":"Uredi","Edit %{s}":"Urejanje %{s}","Edit Account":"Urejanje računa","Edit Photo":"Uredi fotografijo","Edited":"Urejeno","Email":"E-pošta","Enable debug mode to display additional logs and help with troubleshooting.":"Omogočite način za odpravljanje napak, da prikažete dodatne dnevnike in si pomagate pri odpravljanju težav.","Enable new features that may be incomplete or unstable.":"omogočanje novih funkcij, ki so lahko nepopolne ali nestabilne.","Enables RAW converter presets. May reduce performance.":"Omogoči prednastavitve pretvornika RAW. Lahko zmanjša zmogljivost.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Omogočanje dvostopenjske avtentikacije pomeni, da boste za prijavo potrebovali naključno ustvarjeno potrditveno kodo, tako da tudi če nekdo pridobi dostop do vašega gesla, ne bo mogel dostopati do vašega računa.","Enter date":"Vnesite datum","Enter dates":"Vnesite datume","Enter the code generated by your authenticator app:":"Vnesite kodo, ki jo ustvari aplikacija za preverjanje pristnosti:","Enter verification code":"vnesi potrditveno kodo","Enter your password to confirm the action and continue:":"Vnesite geslo za potrditev dejanja in nadaljujte:","Error":"Napaka","Errors":"Napake","Estimate":"Ocena","Estimate Locations":"Ocenjevanje lokacij","Estimate the approximate location of pictures without GPS coordinates.":"Ocenite približno lokacijo slik brez koordinat GPS.","Every two days":"Vsaka dva dni","Exclude content marked as private from search results, shared albums, labels, and places.":"Vsebino, označeno kot zasebno, izključite iz rezultatov iskanja, skupnih albumov, značk in krajev.","Exclude hidden":"Izključite skrite","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"Za popolno podporo za videoposnetke, fotografije v živo in XMP je potrebno pridobivanje metapodatkov z orodjem ExifTool.","Experimental Features":"Eksperimentalne funkcije","Expires":"Velja do","Exposure":"Izpostavljenost","Extract still images and generate thumbnails while indexing.":"Med indeksiranjem izpisujte mirujoče slike in ustvarjajte sličice.","F Number":"Številka F","Face":"Obraz","Faces":"Obrazi","Failed removing link":"Neuspešno odstranjevanje povezave","Failed to connect account.":"Ni uspelo povezati računa.","Failed updating link":"Neuspešno posodabljanje povezave","Family Name":"Družinsko ime","Fast":"Hitro","Favorite":"Najljubši","Favorites":"Priljubljeno","Feature Request":"Zahteva za funkcijo","Feedback":"Povratne informacije","Female":"Ženske","File":"Datoteka","File Browser":"Brskalnik za datoteke","File Conversion":"Pretvarjanje datotek","File Name":"Ime datoteke","File Size":"Datoteka","Filename":"Ime datoteke","Files":"Datoteke","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Datoteki z zaporednimi imeni, kot sta \"IMG_1234 (2)\" in \"IMG_1234 (3)\", pripadata isti sliki.","First page":"Prva stran","Focal Length":"Goriščna razdalja","Folder":"Mapa","Folder contains %{n} files":"Mapa vsebuje %{n} datotek","Folder is empty":"Mapa je prazna","Folders":"Mape","Forgot password?":"Ste pozabili geslo?","FPS":"FPS","Frames":"Okviri","Full Access":"Popoln dostop","Fullscreen":"Celozaslonski zaslon","General":"Splošno","Generate":"Ustvari","Generate albums of special moments, journeys, and places.":"Samodejno ustvari albume posebnih trenutkov, potovanj in krajev.","Generate Previews":"Ustvarjanje predogledov","Generated":"Ustvarjeno","Get Started":"Začnite z delom","Given Name":"Izvirno ime","Global Options":"Globalne možnosti","Go to page {0}":"Pojdi na stran {0}","Gold":"Zlato","Green":"Zelena","Grey":"Siva","Guest":"Gost","Hash":"Hash","Help":"Pomoč","Help & Support":"Pomoč in podpora","Hidden":"Skriti","Hidden Files":"Skrite datoteke","Hide":"Skrij","Hide photos that have been moved to archive.":"Skrijte fotografije, ki so bile prenesene v arhiv.","High":"Visoka","High Dynamic Range (HDR)":"Visok dinamični razpon (HDR)","How can we help?":"Kako lahko pomagamo?","Hybrid":"Hibridni","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Če izgubite dostop do aplikacije ali naprave za preverjanje pristnosti, lahko uporabite svojo obnovitveno kodo, da znova pridobite dostop do svojega računa.","Image":"Slika","Image Quality":"Kakovost slike","Import":"Uvoz","Import failed":"Uvoz ni uspel","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Uvožene datoteke bodo razvrščene po datumu in bodo imele edinstveno ime, da bi se izognili podvajanju.","Imported files will be sorted by date and given a unique name.":"Uvožene datoteke bodo razvrščene po datumu in bodo imele edinstveno ime.","Importing %{s}…":"Uvažanje %{s}…","Importing files to originals…":"Uvoz datotek v izvirnike…","in":"na","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"Če manjkajo slike, ki ste jih pričakovali, ponovno preglejte svojo knjižnico in počakajte, da bo indeksiranje končano.","Include RAW image files when downloading stacks and archives.":"Vključite slikovne datoteke RAW pri prenašanju skladov in arhivov.","Include sidecar files when downloading stacks and archives.":"Vključitev stranskih datotek pri prenosu skladov in arhivov.","Increase storage size or delete files to continue.":"Če želite nadaljevati, povečajte velikost shrambe ali izbrišite datoteke.","Index":"Indeks","Index and import files through the user interface.":"Indeksiranje in uvoz datotek prek uporabniškega vmesnika.","Indexing":"Indeksiranje","Indexing failed":"Indeksiranje ni uspelo","Indexing media and sidecar files…":"Indeksiranje medijskih in stranskih datotek…","Information":"Informacije","Instance ID":"ID instance","Insufficient storage.":"Nezadostno skladiščenje.","Interval":"Interval","Invalid":"Nepravilen datum","Invalid address":"Nepravilen naslov","Invalid country":"Neveljavna država","Invalid date":"Nepravilen datum","Invalid parameters":"Neveljavni parametri","Invalid photo selected":"Izbrana napačna fotografija","Invalid time":"Nepravilen čas","Invalid URL":"Nepravilen URL","It is a one-time use code that will disable 2FA for your account when you use it.":"To je koda za enkratno uporabo, ki onemogoči 2FA za vaš račun, ko jo uporabite.","Item":"Artikel","Items per page:":"Elementi na stran:","JPEG Quality: %{n}":"Kakovost JPEG: %{n}","JPEG Size Limit: %{n}px":"Omejitev velikosti JPEG: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"JPEG in sličice se po potrebi samodejno prikažejo.","Keywords":"Ključne besede","Label":"Značka","Labels":"Značke","Labels deleted":"Značke izbrisane","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: ohranjanje podrobnosti, minimalni artefakti","Language":"Jezik","Last Active":"Zadnji aktivni","Last Login":"Zadnja prijava","Last page":"Zadnja stran","Last Sync":"Zadnja sinhronizacija","Last Used":"Nazadnje uporabljeno","Latitude":"Zemljepisna širina","LDAP/AD":"LDAP/AD","Learn more":"Preberite več","Learn More":"Preberite več","Legal Information":"Pravne informacije","Lens":"Objektiv","Library":"Knjižnica","License":"Licenca","Like":"Všeč mi je","Lime":"Lime","Limit reached, showing first %{n} files":"Omejitev je dosežena, prikazovanje prvih %{n} datotekek","Linear: Very Smooth, Best Performance":"Linearno: Zelo gladko, najboljša zmogljivost","Link":"Povezava","List":"Seznam","List View":"Pogled na seznam","Live":"V živo","Live Photos":"Fotografije","Load more":"Naloži več","Loading items...":"Nalaganje elementov...","Loading...":"Nalaganje...","Local":"Lokalni","Local Time":"Lokalni čas","Location":"Lokacija","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Sporočila dnevnika se tu pojavijo, kadar PhotoPrism naleti na pokvarjene datoteke ali druge morebitne težave.","Login":"Prijava","Logout":"Odjava","Logs":"Dnevniki","Longitude":"Zemljepisna dolžina","Low":"Nizka","Magenta":"Magenta","Main Color":"Glavna barva","Male":"Moški","Manage Account":"Upravljanje računa","Manager":"Vodja","Manual":"Priročnik","Manual Upload":"Ročno nalaganje","Maps":"Zemljevidi","Marker":"Označevalnik","Maximum number of accounts has been reached.":"Največje število računov je bilo doseženo.","Media":"Mediji","Medium":"Srednja","Membership":"Članstvo","Merge %{a} with %{b}?":"Združiti %{a} z %{b}?","Message":"Sporočilo","Message sent":"Poslano sporočilo","Metadata":"Metapodatki","Metrics":"Metrike","Minimize":"Zmanjšajte","Missing":"Manjka","Missing or invalid configuration":"Manjkajoča ali neveljavna konfiguracija","Moments":"Trenutki","Monochrome":"Enobarvni","Month":"Mesec","More options":"Več možnosti","Mosaic":"Mozaik","Most Relevant":"Najpomembnejši","Move Files":"Premikanje datotek","Must have at least %{n} characters.":"Imeti mora vsaj %{n} znakov.","Mute":"Izklopite glasnost","Name":"Ime","Name too long":"Predolgo ime","Never":"Nikoli","New":"Novo","New Password":"Novo geslo","Newest First":"Najprej najnovejše","Next":"Naslednji","Next page":"Naslednja stran","Next visual":"Naslednji vizualni","No":"Ne","No albums found":"Ni najdenih albumov","No data available":"Podatki niso na voljo","No labels found":"Ni najdenih nalepk","No matching records found":"Ni bilo najdenih ustreznih zapisov","No more":"Ne več","No people found":"Ni bilo najdenih oseb","No pictures found":"Ni bilo najdenih slik","No recently edited pictures":"Brez nedavno urejenih slik","No results":"Brez rezultatov","No server connection":"Ni povezave s strežnikom","No servers configured.":"Strežniki niso konfigurirani.","No services configured.":"Strežniki niso konfigurirani.","No thanks":"Ne, hvala.","No warnings or error containing this keyword. Note that search is case-sensitive.":"Ni opozoril ali napak, ki bi vsebovale to ključno besedo. Upoštevajte, da je iskanje občutljivo na velike in male črke.","Non-photographic and low-quality images require a review before they appear in search results.":"Nefotografske slike in slike nizke kakovosti je treba pred prikazom v rezultatih iskanja pregledati.","None":"Ni","Not allowed":"Ni dovoljeno","Not found":"Ga ni mogoče najti","Not sorted.":"Ni razvrščeno.","Not supported":"Ni podprto","Note you may manually manage your originals folder and importing is optional.":"Upoštevajte, da lahko mapo z izvirniki upravljate ročno, uvoz pa ni obvezen.","Note:":"Opomba:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Opomba: Samo strežnike WebDAV, kot sta Nextcloud ali PhotoPrism, lahko konfigurirate kot oddaljeno storitev za varnostno kopiranje in prenos datotek.","Notes":"Opombe","Nothing to see here yet.":"Tu še ni ničesar za videti. Bodite potrpežljivi.","Nothing was found.":"Ničesar nismo našli.","Offline":"Brez povezave","OIDC":"OIDC","OK":"V REDU","Oldest First":"Najprej najstarejši","On Windows, enter the following resource in the connection dialog:":"V operacijskem sistemu Windows v pogovorno okno za povezavo vnesite naslednji vir:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"Ustvarjanje sličic na zahtevo lahko povzroči veliko porabo procesorja in pomnilnika. To ni priporočljivo za strežnike in naprave NAS z omejenimi viri.","Once a week":"Enkrat na teden","One album found":"Najden je bil en album","One file found":"Najdena je bila ena datoteka","One file uploaded":"Prenesena ena datoteka","One folder found":"Najdena je bila ena mapa","One label found":"Najdena je bila ena nalepka","One person found":"Ena oseba je našla","One picture found":"Najdena je bila ena slika","Only locally managed accounts can be set up for authentication with 2FA.":"Samo lokalno upravljane račune je mogoče nastaviti za preverjanje pristnosti z 2FA.","Open":"Odpri","optional":"neobvezno","or":"ali","Orange":"Oranžna","Organization":"Orientacija","Orientation":"Orientacija","Original file names will be stored and indexed.":"Originalna imena datotek bodo shranjena in indeksirana.","Original Name":"Izvirno ime","Originals":"Izvirniki","Other":"Drugo","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Naše poslanstvo je zagotoviti uporabniku in zasebnosti najbolj prijazno rešitev za urejanje in dostop do vaših slik.","Outdoor":"Na prostem","Page {0}, Current page":"Stran {0}, Trenutna stran","Pages":"Strani","Pagination Navigation":"Navigacija po straneh","Panorama":"Panorama","Panoramas":"Panorame","Password":"Geslo","Password changed":"Spremenjeno geslo","People":"Ljudje","People you share a link with will be able to view public contents.":"Osebe, s katerimi delite povezavo, si bodo lahko ogledale javno vsebino.","Permanently deleted":"Trajno izbrisano","Permanently remove files to free up storage.":"Trajno odstranite datoteke in sprostite prostor za shranjevanje.","Person":"Oseba","Personal":"Osebni","Photo":"Fotografija","PhotoPrism is 100% self-funded and independent.":"PhotoPrism se 100-odstotno financira sam in je neodvisen.","PhotoPrism+ Membership":"Članstvo PhotoPrism+","Photos":"Fotografije","Picture Title":"Naslov slike","Pink":"Roza","Place":"Kraj","Place & Time":"Kraj in čas","Places":"Kraji","Please confirm your new password.":"Potrdite novo geslo.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Kopirajte naslednje naključno ustvarjeno geslo za aplikacijo in ga shranite na varno mesto, saj ga ne boste mogli več videti:","Please do not upload any private, unlawful or offensive pictures.":"Ne nalagajte zasebnih, nezakonitih ali žaljivih slik.","Please don't upload photos containing offensive content.":"Ne nalagajte fotografij z žaljivo vsebino.","Please enter OTP character {0}":"Vnesite znak OTP {0}","Please note that changing your password will log you out on other devices and browsers.":"Upoštevajte, da se boste s spremembo gesla odjavili tudi v drugih napravah in brskalnikih.","Please restart your instance for the changes to take effect.":"Da bodo spremembe začele veljati, znova zaženite svoj primer.","Please wait…":"Počakajte…","PM":"PM","PNG Size Limit: %{n}px":"Omejitev velikosti PNG: %{n}px","Portrait":"Portret","Preserve filenames":"Ohranjanje imen datotek","Press enter to create a new album.":"Pritisnite enter, da ustvarite nov album.","Prevent database and album backups as well as YAML sidecar files from being created.":"Preprečite ustvarjanje varnostnih kopij podatkovnih zbirk in albumov ter stranskih datotek YAML.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Preprečite drugim aplikacijam dostop do programa PhotoPrism kot do omrežnega pogona v skupni rabi.","Preview":"Predogled","Preview Images":"Predogled slik","Previous":"Prejšnji","Previous page":"Prejšnja stran","Previous visual":"Prejšnji vizualni","Primary":"Primarni","Private":"Zasebno","Product Feedback":"Povratne informacije o izdelku","Projection":"Projekcija","Purple":"Vijolična","Quality Filter":"Filter kakovosti","Quality Score":"Ocena kakovosti","r":"r","Random":"Naključno","Rating {0} of {1}":"Ocena {0} od {1}","Raw":"Surovo","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Ponovno indeksiranje vseh izvirnikov, vključno z že indeksiranimi in nespremenjenimi datotekami.","Read-Only Mode":"Način samo za branje","Recently Added":"Nedavno dodano","Recently Archived":"Nedavno arhivirano","Recently Edited":"Nedavno urejeno","Recognition starts after indexing has been completed.":"Prepoznavanje se začne po končanem indeksiranju.","Recognize faces so people can be assigned and found.":"Prepozna obraze, tako da lahko poišče določene osebe.","Recognized":"Priznani","Recovery Code":"Koda za izterjavo","Red":"Rdeča","Refresh":"Osvežitev","Regions":"Regije","Register":"Register","Reload":"Ponovno polnjenje","Reloading…":"Polnjenje…","Remote Sync":"Oddaljena sinhronizacija","Remove":"Odstranite","remove failed: unknown album":"odstranitev ni uspela: neznan album","Remove from Album":"Odstrani iz albuma","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Odstranite uvožene datoteke, da prihranite prostor za shranjevanje. Nepodprte vrste datotek se nikoli ne izbrišejo, temveč ostanejo na svoji trenutni lokaciji.","Request failed - are you offline?":"Zahteva ni bila uspešna - ste brez povezave?","Request failed - invalid response":"Zahteva ni uspela - neveljaven odgovor","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"zahteva, da se pred prikazom v rezultatih iskanja pregledajo nefotografske slike in slike nizke kakovosti.","Resolution":"Resolucija","Restart":"Ponovni zagon","Restore":"Obnovitev","Restored":"Restavrirani","Retry Limit":"Omejitev ponovitve","Retype Password":"Ponovite geslo","Review":"Pregled","Role":"Vloga","Rows per page:":"Vrstice na stran:","Satellite":"Satelit","Save":"Shrani","Scan":"Skeniranje","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Skenirajte kodo QR z aplikacijo za preverjanje pristnosti ali uporabite nastavitveni ključ, prikazan spodaj, in nato vnesite ustvarjeno kodo za preverjanje:","Scans":"Skenira","Scope":"Področje uporabe","Search":"Iskanje","Search and display photos on a map.":"Iščite in prikažite fotografije na zemljevidu.","Season":"Sezona","Secret":"Skrivnost","Security and Access":"Varnost in dostop","Select":"Izberite","Select a source folder to import files…":"Izberite izvorno mapo za uvoz datotek…","Select date":"Izberite datum","Select dates":"Izberite datume","Select or create an album":"Izberite ali ustvarite album","Select the files to upload…":"Izberite datoteke, ki jih želite naložiti…","Select the folder to be indexed…":"Izberite mapo za indeksiranje…","Select Time":"Izberite čas","Selection approved":"Odobren izbor","Selection archived":"Arhiviran izbor","Selection restored":"Obnovljen izbor","Sequential Name":"Zaporedno ime","Service URL":"URL storitve","Services":"URL storitve","Session":"Seja","Session ID":"ID seje","Sessions":"Seje","Set as Album Cover":"Nastavite kot naslovnico albuma","Settings":"Nastavitve","Settings saved":"Shranjene nastavitve","Setup":"Nastavitev","Share":"Delite","Share %{s}":"Skupna raba %{s}","Share your pictures with other apps and services.":"Slike lahko delite z drugimi aplikacijami in storitvami.","Show":"Prikaži","Show all new faces":"Prikaži vse nove obraze","Show Captions":"Prikaži napise","Show hidden":"Prikaži skrito","Show less":"Pokaži manj","Show more":"Pokaži več","Show server logs in Library.":"Prikaži dnevnike strežnika v knjižnici.","Show Titles":"Prikaži naslove","Sidecar":"Sidecar","Sidecar Files":"Datoteke Sidecar","Sign in":"Prijavite se","Similar":"Podobno","Size":"Velikost","Slideshow":"Diaprojekcija","Slow":"Počasi","Software":"Programska oprema","Software Update":"Posodobitev programske opreme","Something went wrong, try again":"Nekaj je šlo narobe, poskusite znova","Sort by":"Razvrsti po","Sort Order":"Vrstni red","Sorted ascending.":"Razvrščeno naraščajoče.","Sorted descending.":"Razvrščeno padajoče.","Source":"Vir:","Stack":"Stack","Stack files sharing the same unique image or instance identifier.":"Zlaganje datotek z isto edinstveno sliko ali identifikatorjem primerka.","Stack pictures taken at the exact same time and location based on their metadata.":"Na podlagi metapodatkov zložite slike, posnete ob istem času in na isti lokaciji.","Stackable":"Stackable","Stacks":"Zaloge","Start":"Začetek","Start Page":"Začetna stran","Static Size Limit: %{n}px":"Omejitev statične velikosti: %{n}px","Status":"Status","Storage":"Shranjevanje","Streets":"Ulice","Subject":"Zadeva","Submit":"Pošlji","Successfully activated":"Uspešno aktiviran","Successfully Connected":"Uspešno povezano","Successfully deleted":"Uspešno izbrisan","Successfully verified":"Uspešno preverjeno","Super Admin":"Super administrator","Support for additional services, like Google Drive, will be added over time.":"Podpora za dodatne storitve, kot je Google Drive, bo dodana sčasoma.","Support Our Mission":"Podprite naše poslanstvo","Sync":"Sinhronizacija","Sync raw and video files":"Sinhronizacija neobdelanih in video datotek","Taken":"Prevzeto","Teal":"Teal","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow je potreben za razvrščanje slik, prepoznavanje obrazov in zaznavanje nevarne vsebine.","Terrain":"Teren","Text":"Besedilo","Text too long":"Predolgo besedilo","Thank You for Your Support!":"Hvala za podporo!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Zato je bil PhotoPrism od samega začetka zasnovan tako, da deluje, kjer koli ga potrebujete, ne da bi pri tem ogrožal svobodo, zasebnost ali funkcionalnost.","The index currently contains %{n} hidden files.":"Indeks trenutno vsebuje %{n} skritih datotek.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Njihova oblika morda ni podprta, morda še niso bili pretvorjeni v JPEG ali pa se podvajajo.","Theme":"Tema","This field is required":"To polje je obvezno","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Tako se mapa z izvirniki namesti kot omrežni pogon in omogoči odpiranje, urejanje in brisanje datotek iz računalnika ali pametnega telefona, kot da bi bile lokalne.","Time UTC":"Čas UTC","Time Zone":"Časovni pas","Timeout":"Timeout","Title":{"Account":"Naslov","Photo":"Naslov","":"Naslov"},"Title / Position":"Predolg naslov","Title too long":"Predolg naslov","to":"na .","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Da se izognete izgubi dostopa do računa, prenesite, natisnite ali kopirajte to obnovitveno kodo in jo shranite na varno mesto.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Če želite ustvariti novo geslo za določeno aplikacijo, vnesite ime in obseg pooblastila aplikacije ter izberite datum poteka:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Če želite preklopiti na novo aplikacijo ali napravo za preverjanje pristnosti, najprej deaktivirajte dvostopenjsko avtentikacijo in jo nato znova aktivirajte:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Za nadgradnjo lahko vnesete aktivacijsko kodo ali pa se s klikom na gumb \"Registracija\" prijavite na našem spletnem mestu:","Today":"Danes","Toggle View":"Toggle View","Token":"Žeton","Too many files selected":"Izbranih je preveč datotek","Too many requests":"Preveč zahtev","Troubleshooting":"Odpravljanje težav","Try again using other filters or keywords.":"Poskusite znova z drugimi filtri ali ključnimi besedami.","Two-factor authentication has been enabled for your account.":"Za vaš račun je omogočeno dvostopenjsko preverjanje pristnosti.","Type":"Tip","Unable to delete":"Ni mogoče izbrisati","Unauthorized":"Nepooblaščeno","Undo":"Razveljavi","Unique ID":"Edinstven ID","Unknown":"Neznano","Unregistered":"Neregistrirani","Unsorted":"Nesortirani","Unstack":"Odstranjevanje","Updated":"Posodobljeno","Updating faces":"Posodabljanje obrazov","Updating index":"Posodabljanje indeksa","Updating moments":"Posodabljanje trenutkov","Updating picture…":"Posodabljanje predogledov","Updating previews":"Posodabljanje predogledov","Updating stacks":"Posodabljanje skladovnic","Upgrade":"Nadgradnja","Upgrade Now":"Nadgradite zdaj","Upload":"Naložite","Upload complete":"Nalaganje končano","Upload complete. Indexing…":"Nalaganje je končano. Indeksiranje…","Upload failed":"Nalaganje ni uspelo","Upload local files":"Prenos lokalnih datotek","Upload Path":"Pot za nalaganje","Upload to WebDAV and share links with friends.":"Prenesite v WebDAV in delite povezave s prijatelji.","Uploading %{n} of %{t}…":"Nalaganje %{n} od %{t}…","Uploading photos…":"Nalaganje fotografij…","Uploading…":"Polnjenje…","Uploads that may contain such images will be rejected automatically.":"Prenosi, ki bi lahko vsebovali takšne slike, bodo samodejno zavrnjeni.","Use Presets":"Uporaba prednastavitev","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Uporabite naslednjo obnovitveno kodo za dostop do svojega računa, če ne morete ustvariti veljavne kode za preverjanje z aplikacijo za preverjanje pristnosti:","Use your recovery code or contact an administrator for help.":"Uporabite kodo za obnovitev ali se za pomoč obrnite na skrbnika.","User":"Uporabnik","User Guide":"Uporabniški priročnik","User Interface":"Uporabniški vmesnik","Username":"Uporabniško ime","Users":"Uporabniki","Vector":"Vektor","Vectors":"Vektorji","Verification Code":"Koda za preverjanje","Video":"Videoposnetek","Video Duration":"Trajanje","Videos":"Videoposnetki","View":"Oglejte si","View search results as a list.":"Rezultate iskanja prikažite kot seznam.","Viewer":"Pregledovalnik","Visitor":"Obiskovalec","Visual Similarity":"Skupine po podobnosti","Warning":"Opozorilo","We appreciate your feedback!":"Cenimo vaše povratne informacije!","We do our best to respond within five business days or less.":"Potrudimo se, da vam odgovorimo v petih delovnih dneh ali manj.","Web Login":"Spletna prijava","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"Odjemalci WebDAV se lahko povežejo s programom PhotoPrism z naslednjim naslovom URL:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"Odjemalci WebDAV, kot sta Microsoftov Windows Explorer ali Applov Finder, se lahko povežejo neposredno s PhotoPrism.","WebDAV Upload":"Nalaganje prek protokola WebDAV","WebGL support is disabled in your browser":"Podpora WebGL je v vašem brskalniku onemogočena","Website":"Spletna stran","White":"Bela","Work Details":"Podrobnosti","Year":"Leto","Yellow":"Rumena","Yes":"Da","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Z vprašanji v zvezi s članstvom se lahko obrnete na membership@photoprism.app.","You can only download one album":"Prenesete lahko samo en album","You can only download one label":"Prenesete lahko samo eno nalepko","You can search for a location or move the marker on the map to change the position:":"Poiščete lahko lokacijo ali premaknete označevalnik na zemljevidu in spremenite položaj:","You can upload up to %{n} files for test purposes.":"V testne namene lahko naložite do %{n} datotek.","You may only select one item":"Izberete lahko samo en predmet.","You may rescan your library to find additional faces.":"Če želite najti dodatne obraze, lahko knjižnico ponovno preiščete.","Your account has been successfully connected.":"Vaš račun je bil uspešno povezan.","Your browser does not support WebGL":"Vaš brskalnik ne podpira WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Vaša stalna podpora nam pomaga zagotavljati redne posodobitve in ostati neodvisni, tako da lahko izpolnjujemo svoje poslanstvo in varujemo vašo zasebnost.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Vaša knjižnica se nenehno analizira in samodejno ustvarja albume posebnih trenutkov, potovanj in krajev.","Zoom in/out":"Povečanje/pomanjšanje"}} \ No newline at end of file diff --git a/frontend/src/locales/json/sv.json b/frontend/src/locales/json/sv.json index 5385c2ed9..a1d723a98 100644 --- a/frontend/src/locales/json/sv.json +++ b/frontend/src/locales/json/sv.json @@ -1 +1 @@ -{"sv":{"{0} appended action":"{0} tillagd åtgärd","{0} files":"{0} filer","{0} files ({1} in total)":"{0} filer ({1} totalt)","{0} more":"{0} mer","{0} prepended action":"{0} föransluten åtgärd","{0} selected":"{0} vald","{0}-{1} of {2}":"{0}-{1} av {2}","%{n} albums found":"%{n} album hittades","%{n} files uploaded":"%{n} filer uppladdade","%{n} folders found":"%{n} mappar hittades","%{n} GB of %{q} GB used":"%{n} GB av %{q} GB används","%{n} labels found":"%{n} etiketter hittades","%{n} people found":"%{n} personer hittades","%{n} pictures found":"%{n} bilder hittades","%{s} is too long":"%{s} är för lång","%{s} is too short":"%{s} är för kort","1 hour":"1 timme","12 hours":"12 timmar","2-Factor Authentication":"2-faktorautentisering","2FA":"2FA","4 hours":"4 timmar","A click will copy it to your clipboard.":"Ett klick kopierar den till urklippshanteraren.","A new version of %{s} is available:":"En ny version av %{s} är tillgänglig:","About":"Om","Access Token":"Token för åtkomst","Account":"Konto","Account created":"Kontot har skapats","Account deleted":"Kontot raderat","Account restored":"Konto återställt","Accounts":"Konton","Accuracy":"Noggrannhet","Action":"Åtgärd","Actions":"Åtgärder","Activate":"Aktivera","Activate to remove sorting.":"Aktivera för att ta bort sorteringen.","Activate to sort ascending.":"Aktivera för att sortera stigande.","Activate to sort descending.":"Aktivera för att sortera fallande.","Activation Code":"Aktiveringskod","Add":"Lägg till","Add %{s}?":"Lägg till %{s}?","Add Account":"Redigera konto","Add Album":"Lägg till album","Add files to your library via Web Upload.":"Lägg till filer till ditt bibliotek via webbuppladdning.","Add Link":"Lägg till en länk","Add person?":"Lägga till person?","Add pictures from search results by selecting them.":"Lägg till bilder från sökresultaten genom att markera dem.","Add to album":"Lägg till i album","Added":"Tillagd","Admin":"Admin","Advanced":"Avancerad","After 1 day":"Efter 1 dag","After 3 days":"Efter 3 dagar","After 7 days":"Efter 7 dagar","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"När du har angivit ditt lösenord för bekräftelse, kan du ställa in tvåfaktorsautentisering med en kompatibel autentiseringsapp eller enhet.","After one month":"Efter en månad","After one year":"Efter ett år","After selecting pictures from search results, you can add them to an album using the context menu.":"När du har valt bilder från sökresultaten kan du lägga till dem i ett album med hjälp av kontextmenyn.","After two months":"Efter två månader","After two weeks":"Efter två veckor","Album":"Album","Album Backups":"Säkerhetskopiering av album","Album created":"Album skapat","Albums":"Album","Albums deleted":"Album raderade","All":"Alla","All %{n} albums loaded":"Alla %{n} album hämtade","All %{n} labels loaded":"Alla %{n} etiketter hämtade","All %{n} people loaded":"Alla %{n} personer hämtade","All Cameras":"Alla kameror","All Categories":"Alla kategorier","All Colors":"Alla färger","All Countries":"Alla länder","All fields are required":"Alla fält är obligatoriska","All files from import folder":"Alla filer från importmappen","All Lenses":"Alla objektiv","All Months":"Alla månader","All originals":"Alla original","All Years":"Alla år","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Alternativt kan du ladda upp filer direkt till WebDAV-servrar som Nextcloud.","Altitude":"Höjd","Altitude (m)":"Höjd (meter)","AM":"AM","Animated":"Animerad","Animation":"Animering","Any private photos and videos remain private and won't be shared.":"Alla privata fotografier och videofilmer är privata och kommer inte att delas.","API Key":"API-nyckel","Application":"Tillämpning","Apply":"Spara","Approve":"Godkänn","Apps and Devices":"Appar och enheter","Archive":"Arkiv","Archived":"Arkiverad","Are you sure you want to archive the selection?":"Är du säker på att du vill arkivera urvalet?","Are you sure you want to delete these albums?":"Är du säker på att du vill radera detta/dessa album?","Are you sure you want to delete these labels?":"Är du säker på att du vill ta bort dessa etiketter?","Are you sure you want to delete this account?":"Är du säker på att du vill radera det här kontot?","Are you sure you want to permanently delete these pictures?":"Är du säker på att du vill radera bilderna permanent?","Are you sure you want to permanently delete this file?":"Är du säker på att du vill radera filen permanent?","Are you sure?":"Är du säker?","Artist":"Fotograf","Aspect Ratio":"Bildförhållande","Audio":"Ljud","Authentication":"Autentisering","Auto":"Auto","Back":"Tillbaka","Back to top":"Tillbaka till början","Backup":"Säkerhetskopiering","Badge":"Badge","Base Path":"Basbana","Become a member today, support our mission and enjoy our member benefits!":"Bli medlem i dag, stöd vårt uppdrag och ta del av våra medlemsförmåner!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Eftersom vi är 100 % självfinansierade och oberoende kan vi lova dig att vi aldrig kommer att sälja dina uppgifter och att vi alltid kommer att vara transparenta när det gäller vår programvara och våra tjänster.","Bio":"Bio","Birth Date":"Födelsedatum","Black":"Svart","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Lanczos-modifiering, mindre ringande artefakter","Blue":"Blå","Brown":"Brun","Browse":"Bläddra","Browse and edit image classification labels.":"Bläddra och redigera etiketter för bildklassificering.","Browse and share your pictures organized into monthly albums.":"Bläddra bland och dela dina bilder i månatliga album.","Browse Files":"Bläddra bland filer","Browse indexed files and folders in Library.":"Bläddra bland indexerade filer och mappar i biblioteket.","Bug Report":"Felrapport","Busy, please wait…":"Upptagen, vänligen vänta…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Genom att använda den programvara och de tjänster som vi tillhandahåller godkänner du våra användarvillkor, vår sekretesspolicy och vår uppförandekod.","Calendar":"Kalender","Camera":"Kamera","Camera Serial":"Serienummer på kameran","Can't access your authenticator app or device?":"Kan du inte komma åt din autentiseringsapp eller enhet?","Can't load more, limit reached":"Kan inte hämta mer, gränsen är nådd","Can't select more items":"Kan inte välja fler objekt","Cancel":"Avbryt","Caption":"Bildtext","Cards":"Kort","Carousel slide {0} of {1}":"Karusellbild {0} av {1}","Category":"Kategori","Change Avatar":"Ändra Avatar","Change Password":"Nytt lösenord","Change personal profile and security settings.":"Ändra personliga profil- och säkerhetsinställningar.","Change photo titles, locations, and other metadata.":"Ändra bildtitlar, platser och andra metadata.","Change private flag":"Ändra den privata flaggan","Changes could not be saved":"Ändringarna kunde inte sparas","Changes successfully saved":"Ändringarna har sparats","Changes to the advanced settings require a restart to take effect.":"Ändringar av de avancerade inställningarna kräver en omstart för att träda i kraft.","Checked":"Kontrollerad","Chroma":"Chroma","Cleaning index and cache":"Rensning av index och cacheminne","Cleanup":"Rengöring","Clear {0}":"Rensa {0}","Client":"Kund","Client Credentials":"Klientens autentiseringsuppgifter","Close":"Stäng","Codec":"Codec","Color":"Färg","Color Profile":"Färgprofil","Colors":"Färger","Compare Editions":"Jämför utgåvor","Complete Rescan":"Fullständig omskanning","Confidence":"Tillit","Confirm":"Bekräfta","Connect":"Anslut","Connect via WebDAV":"Anslut via WebDAV","Connected":"Anslut","Contact Details":"Adressuppgifter","Contact Us":"Kontakta oss","Contains %{n} pictures.":"Innehåller %{n} bilder.","Contains one picture.":"Innehåller en bild.","Content":"Innehåll","Continue":"Fortsätta","Continue with %{provider}":"Fortsätt med %{provider}","Contributor":"Bidragsgivare","Converting":"Konverterar","Copied to clipboard":"Kopierad till urklippshanteraren","Copy":"Kopiera","Copyright":"Copyright","Couldn't find anything.":"Kunde inte hitta något.","Country":"Land","Create Account":"Skapa ett konto","Create album":"Skapa album","Create regular backups based on the configured schedule.":"Skapa säkerhetskopior av index enligt det konfigurerade schemat.","Create YAML files to back up album metadata.":"Skapa YAML-filer för att säkerhetskopiera metadata för album.","Create YAML sidecar files to back up picture metadata.":"Skapa YAML sidecar-filer för att säkerhetskopiera metadata för bilder.","Created":"Skapad","Creating thumbnails for":"Skapar miniatyrbilder för","Cubic: Moderate Quality, Good Performance":"Kubisk: Måttlig kvalitet, bra prestanda","Current Password":"Nuvarande lösenord","Custom":"Anpassad","Cyan":"Cyan","Daily":"Dagligen","Database Backups":"Säkerhetskopiering av databaser","Day":"Dag","Deactivate":"Avaktivera","Debug Logs":"Felsökningsloggar","Default":"Standard","Default Folder":"Standardmapp","Delete":"Radera","Delete All":"Radera alla","Delete all?":"Radera alla?","Delete orphaned index entries, sidecar files and thumbnails.":"Ta bort övergivna indexposter, sidecar-filer och miniatyrbilder.","Description":"Beskrivning","Detailed instructions can be found in our User Guide.":"Detaljerade instruktioner finns i vår användarhandbok.","Details":"Detaljer","Dimensions":"Mått","Disable Backups":"Inaktivera säkerhetskopiering","Disable Darktable":"Inaktivera Darktable","Disable ExifTool":"Inaktivera ExifTool","Disable features that require write permission for the originals folder.":"Inaktivera funktioner som kräver skrivbehörighet för originalmappen.","Disable FFmpeg":"Inaktivera FFmpeg","Disable ImageMagick":"Inaktivera ImageMagick","Disable interactive world maps and reverse geocoding.":"Inaktivera interaktiva världskartor och omvänd geokodning.","Disable Places":"Inaktivera platser","Disable RawTherapee":"Inaktivera RawTherapee","Disable TensorFlow":"Inaktivera TensorFlow","Disable Vectors":"Inaktivera vektorer","Disable WebDAV":"Inaktivera WebDAV","Disables vector graphics support.":"Inaktiverar stöd för vektorgrafik.","Disables video transcoding and thumbnail extraction.":"Inaktiverar omkodning av video och utvinning av miniatyrbilder.","Discover":"Upptäck","Dismiss":"Avvisa","Display Name":"Visningsnamn","Display picture captions in search results.":"Visa bildtexter i sökresultaten.","Display picture titles in search results.":"Visa bildtitlar i sökresultaten.","Document":"Dokument","Documents":"Dokument","Don't use Darktable to convert RAW images.":"Använd inte Darktable för att konvertera RAW-bilder.","Don't use ImageMagick to convert images.":"Använd inte ImageMagick för att konvertera bilder.","Don't use RawTherapee to convert RAW images.":"Använd inte RawTherapee för att konvertera RAW-bilder.","Done":"Spara & Stäng","Done.":"Klart.","Download":"Ladda ner","Download only original media files, without any automatically generated files.":"Hämta endast originalmediefiler, utan automatiskt genererade filer.","Download remote files":"Hämta fjärrfiler","Download single files and zip archives.":"Ladda ner enskilda filer och zip-arkiv.","Downloading…":"Hämtar…","Downscaling Filter":"Filter för nedskalning","Drag and drop files here":"Dra och släpp filer här","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"På grund av den stora mängden e-postmeddelanden vi får kan det hända att vårt team inte kan svara dig omedelbart.","Duplicates will be skipped and only appear once.":"Dubletter kommer att hoppas över och visas endast en gång.","Duration":"Varaktighet","Dynamic Previews":"Dynamiska förhandsgranskningar","Dynamic Size Limit: %{n}px":"Begränsning av dynamisk storlek: %{n}px","E-Mail":"E-postadress","Edit":"Redigera","Edit %{s}":"Redigera %{s}","Edit Account":"Redigera konto","Edit Photo":"Redigera foto","Edited":"Senast ändrad","Email":"E-postadress","Enable debug mode to display additional logs and help with troubleshooting.":"Aktivera felsökningsläget för att visa ytterligare loggar och hjälpa till med felsökning.","Enable new features that may be incomplete or unstable.":"Möjliggör nya funktioner som kan vara ofullständiga eller instabila.","Enables RAW converter presets. May reduce performance.":"Aktiverar förinställningar för RAW-omvandlare. Kan minska prestandan.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Att aktivera tvåfaktorsautentisering innebär att du behöver en slumpmässigt genererad verifieringskod för att logga in, så även om någon får tillgång till ditt lösenord kommer de inte att kunna komma åt ditt konto.","Enter date":"Ange datum","Enter dates":"Ange datum","Enter the code generated by your authenticator app:":"Ange den kod som genereras av din autentiseringsapp:","Enter verification code":"Ange verifieringskod","Enter your password to confirm the action and continue:":"Ange ditt lösenord för att bekräfta åtgärden och fortsätt:","Error":"Fel","Errors":"Fel","Estimate":"Uppskattning","Estimate Locations":"Uppskatta platser","Estimate the approximate location of pictures without GPS coordinates.":"Uppskatta den ungefärliga positionen för bilder utan GPS-koordinater.","Every two days":"Varannan dag","Exclude content marked as private from search results, shared albums, labels, and places.":"Undanta innehåll som markerats som privat från sökresultat, delade album, etiketter och platser.","Exclude hidden":"Exkludera dolda","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"Metadataextraktion med ExifTool krävs för fullt stöd för Video, Live Photo och XMP.","Experimental Features":"Experimentella funktioner","Expires":"Upphör att gälla","Exposure":"Exponering","Extract still images and generate thumbnails while indexing.":"Extrahera stillbilder och skapa miniatyrbilder under indexeringen.","F Number":"F-nummer","Face":"Ansikte","Faces":"Ansikten","Failed removing link":"Misslyckades med att ta bort länken","Failed to connect account.":"Misslyckades med att ansluta konto.","Failed updating link":"Misslyckades med att uppdatera länken","Family Name":"Efternamn","Fast":"Snabbt","Favorite":"Favorit","Favorites":"Favoriter","Feature Request":"Begäran om funktion","Feedback":"Återkoppling","Female":"Kvinna","File":"Fil","File Browser":"Filhanterare","File Conversion":"Konvertering av filer","File Name":"Filnamn","File Size":"Fil","Filename":"Filnamn","Files":"Filer","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Filer med sekventiella namn som 'IMG_1234 (2)' och 'IMG_1234 (3)' tillhör samma bild.","First page":"Första sidan","Focal Length":"Brännvidd","Folder":"Mapp","Folder contains %{n} files":"Mappen innehåller %{n} filer","Folder is empty":"Mappen är tom","Folders":"Mappar","Forgot password?":"Glömt lösenordet?","FPS":"FPS","Frames":"Bildrutor","Full Access":"Full tillgång","Fullscreen":"Fullskärm","General":"Allmänt","Generate":"Generera","Generate albums of special moments, journeys, and places.":"Skapa automatiskt album med speciella ögonblick, resor och platser.","Generate Previews":"Generera förhandsgranskningar","Generated":"Genererad","Get Started":"Kom igång","Given Name":"Förnamn","Global Options":"Globala alternativ","Go to page {0}":"Gå till sidan {0}","Gold":"Guld","Green":"Grön","Grey":"Grå","Guest":"Gäst","Hash":"Kontrollsumma","Help":"Hjälp","Help & Support":"Hjälp och Support","Hidden":"Dolda","Hidden Files":"Dolda filer","Hide":"Dölj","Hide photos that have been moved to archive.":"Dölj foton som har flyttats till arkivet.","High":"Hög","High Dynamic Range (HDR)":"Högt dynamiskt omfång (HDR)","How can we help?":"Hur kan vi hjälpa till?","Hybrid":"Hybrid","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Om du förlorar åtkomsten till din autentiseringsapp eller enhet kan du använda din återställningskod för att återfå åtkomst till ditt konto.","Image":"Bild","Image Quality":"Bildkvalitet","Import":"Import","Import failed":"Importen misslyckades","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Importerade filer sorteras efter datum och får ett unikt namn för att undvika dubbletter.","Imported files will be sorted by date and given a unique name.":"Importerade filer sorteras efter datum och får ett unikt namn.","Importing %{s}…":"Importerar %{s}…","Importing files to originals…":"Importera filer till original…","in":"i","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"Om du upplever att bilder saknas, vänligen skanna om biblioteket och vänta tills indexeringen är slutförd.","Include RAW image files when downloading stacks and archives.":"Inkludera RAW-bildfiler när du laddar ner staplar och arkiv.","Include sidecar files when downloading stacks and archives.":"Inkludera sidecar-filer när du laddar ner stackar och arkiv.","Increase storage size or delete files to continue.":"Öka lagringsstorleken eller radera filer för att fortsätta.","Index":"Index","Index and import files through the user interface.":"Indexera och importera filer via användargränssnittet.","Indexing":"Indexerar","Indexing failed":"Indexeringen misslyckades","Indexing media and sidecar files…":"Indexerar media och sidecar-filer…","Information":"Information om","Instance ID":"Instans-ID","Insufficient storage.":"Otillräcklig lagring.","Interval":"Intervall","Invalid":"Ogiltigt datum","Invalid address":"Ogiltig adress","Invalid country":"Ogiltigt land","Invalid date":"Ogiltigt datum","Invalid parameters":"Ogiltigt datum","Invalid photo selected":"Ett ogiltigt foto har valts","Invalid time":"Ogiltig tid","Invalid URL":"Ogiltig URL","It is a one-time use code that will disable 2FA for your account when you use it.":"Det är en engångskod som kommer att inaktivera 2FA för ditt konto när du använder den.","Item":"Artikel","Items per page:":"Artiklar per sida:","JPEG Quality: %{n}":"JPEG-kvalitet: %{n}","JPEG Size Limit: %{n}px":"Begränsning av JPEG-storlek: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"JPEG-bilder och miniatyrbilder skapas automatiskt vid behov.","Keywords":"Nyckelord","Label":"Etikett","Labels":"Etiketter","Labels deleted":"Etiketter raderade","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: Bevarande av detaljer, minimala artefakter","Language":"Språk","Last Active":"Senast aktiv","Last Login":"Senaste inloggning","Last page":"Sista sidan","Last Sync":"Senaste synkronisering","Last Used":"Senast använd","Latitude":"Latitud","LDAP/AD":"LDAP/AD","Learn more":"Läs mer","Learn More":"Lär dig mer","Legal Information":"Juridisk information","Lens":"Objektiv","Library":"Bibliotek","License":"Licens","Like":"Gilla","Lime":"Lime","Limit reached, showing first %{n} files":"Gränsen är nådd, visar de första %{n} filerna","Linear: Very Smooth, Best Performance":"Linjär: Mycket jämn, bästa prestanda","Link":"Länk","List":"Lista","List View":"Listvy","Live":"Live","Live Photos":"Foton","Load more":"Ladda mer","Loading items...":"Laddar artiklar...","Loading...":"Laddar...","Local":"Lokal","Local Time":"Lokal tid","Location":"Plats","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Loggmeddelanden visas här när PhotoPrism stöter på trasiga filer eller när det finns andra potentiella problem.","Login":"Logga in","Logout":"Logga ut","Logs":"Loggar","Longitude":"Longitud","Low":"Låg","Magenta":"Magenta","Main Color":"Huvudfärg","Male":"Man","Manage Account":"Hantera konto","Manual":"Manuell","Manual Upload":"Manuell uppladdning","Maps":"Kartor","Marker":"Markering","Maximum number of accounts has been reached.":"Det maximala antalet konton har uppnåtts.","Media":"Media","Medium":"Medium","Membership":"Medlemskap","Merge %{a} with %{b}?":"Slå ihop %{a} med %{b}?","Message":"Meddelande","Message sent":"Meddelande skickat","Metadata":"Metadata","Metrics":"Metrik","Minimize":"Minimera","Missing":"Saknas","Missing or invalid configuration":"Saknad eller ogiltig konfiguration","Moments":"Ögonblick","Monochrome":"Monokrom","Month":"Månad","More options":"Fler alternativ","Mosaic":"Mosaik","Most Relevant":"Mest relevant","Move Files":"Flytta filer","Must have at least %{n} characters.":"Måste ha minst %{n} tecken.","Mute":"Mute","Name":"Namn","Name too long":"Namnet är för långt","Never":"Aldrig","New":"Ny","New Password":"Nytt lösenord","Newest First":"Nyaste först","Next":"Nästa","Next page":"Nästa sida","Next visual":"Nästa bild","No":"Nej","No albums found":"Inga album hittades","No data available":"Inga uppgifter tillgängliga","No labels found":"Inga etiketter hittades","No matching records found":"Inga matchande poster hittades","No more":"Inte mer","No people found":"Inga personer hittades","No pictures found":"Inga bilder hittades","No recently edited pictures":"Inga nyligen redigerade bilder","No server connection":"Ingen serveranslutning","No servers configured.":"Inga servrar har konfigurerats.","No services configured.":"Inga servrar har konfigurerats.","No thanks":"Nej tack","No warnings or error containing this keyword. Note that search is case-sensitive.":"Inga varningar eller fel som innehåller detta nyckelord. Observera att sökningen är känslig för stora och små bokstäver.","Non-photographic and low-quality images require a review before they appear in search results.":"Bilder som inte är fotografiska eller av låg kvalitet måste granskas innan de visas i sökresultaten.","None":"Ingen","Not allowed":"Inte tillåtet","Not found":"Hittades inte","Not sorted.":"Inte sorterad.","Not supported":"Stödjs inte","Note you may manually manage your originals folder and importing is optional.":"Observera att du kan hantera mappen med original manuellt och att import är valfritt.","Note:":"Observera:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"OBS: Endast WebDAV-servrar, som Nextcloud eller PhotoPrism, kan konfigureras som fjärrtjänst för säkerhetskopiering och filuppladdning.","Notes":"Anteckningar","Nothing to see here yet.":"Inget att se här ännu. Ha tålamod.","Nothing was found.":"Ingenting hittades.","Offline":"Offline","OIDC":"OIDC","OK":"OK","Oldest First":"Äldsta först","On Windows, enter the following resource in the connection dialog:":"I Windows anger du följande resurs i anslutningsdialogen:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"Generering av miniatyrbilder på begäran kan orsaka hög CPU- och minnesanvändning. Det rekommenderas inte för resursbegränsade servrar och NAS-enheter.","Once a week":"En gång i veckan","One album found":"Ett album hittat","One file found":"En fil hittad","One file uploaded":"En fil uppladdad","One folder found":"En mapp hittad","One label found":"En etikett hittat","One person found":"En person hittad","One picture found":"En bild hittades","Only locally managed accounts can be set up for authentication with 2FA.":"Endast lokalt hanterade konton kan ställas in för autentisering med 2FA.","Open":"Öppna","optional":"valfri","or":"eller","Orange":"Orange","Organization":"Layout","Orientation":"Layout","Original file names will be stored and indexed.":"De ursprungliga filnamnen kommer att lagras och indexeras.","Original Name":"Ursprungligt namn","Originals":"Original","Other":"Övrigt","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Vårt uppdrag är att tillhandahålla den mest användar- och integritetsvänliga lösningen för att hålla dina bilder organiserade och tillgängliga.","Outdoor":"Utomhus","Page {0}, Current page":"Sida {0}, Aktuell sida","Pages":"Sidor","Pagination Navigation":"Paginering Navigering","Panorama":"Panorama","Panoramas":"Panoraman","Password":"Lösenord","Password changed":"Lösenordet har ändrats","People":"Personer","People you share a link with will be able to view public contents.":"Personer som du delar en länk med kan se det offentliga innehållet.","Permanently deleted":"Permanent borttagen","Permanently remove files to free up storage.":"Ta bort filer permanent för att frigöra lagringsutrymme.","Person":"Person","Personal":"Personlig","Photo":"Foto","PhotoPrism is 100% self-funded and independent.":"PhotoPrism är till 100 % självfinansierad och oberoende.","PhotoPrism+ Membership":"Medlemskap i PhotoPrism+","Photos":"Foton","Picture Title":"Bildtitel","Pink":"Rosa","Place":"Plats","Place & Time":"Plats och Tid","Places":"Platser","Please confirm your new password.":"Bekräfta ditt nya lösenord.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Vänligen kopiera följande slumpmässigt genererade applösenord och förvara det på ett säkert ställe, eftersom du inte kommer att kunna se det igen:","Please do not upload any private, unlawful or offensive pictures.":"Vänligen ladda inte upp privata, olagliga eller stötande bilder.","Please don't upload photos containing offensive content.":"Ladda inte upp bilder med stötande innehåll.","Please enter OTP character {0}":"Vänligen ange OTP-tecken {0}","Please note that changing your password will log you out on other devices and browsers.":"Observera att om du ändrar ditt lösenord kommer du att logga ut på andra enheter och webbläsare.","Please restart your instance for the changes to take effect.":"Starta om din instans för att ändringarna ska träda i kraft.","Please wait…":"Vänligen vänta…","PM":"PM","PNG Size Limit: %{n}px":"Begränsning av PNG-storlek: %{n}px","Portrait":"Porträtt","Preserve filenames":"Bevara filnamn","Press enter to create a new album.":"Tryck på enter för att skapa ett nytt album.","Prevent database and album backups as well as YAML sidecar files from being created.":"Förhindra att säkerhetskopior av databaser och album samt YAML-sidokarfiler skapas.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Hindra andra program från att komma åt PhotoPrism som en delad nätverksenhet.","Preview":"Förhandsgranska","Preview Images":"Förhandsbilder","Previous":"Föregående","Previous page":"Föregående sida","Previous visual":"Föregående bild","Primary":"Primär","Private":"Privat","Product Feedback":"Produktåterkoppling","Projection":"Projektion","Purple":"Lila","Quality Filter":"Kvalitetsfilter","Quality Score":"Kvalitetspoäng","r":"r","Random":"Slumpmässig","Rating {0} of {1}":"Betyg {0} av {1}","Raw":"Rå","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Återindexera alla original, inklusive redan indexerade och oförändrade filer.","Read-Only Mode":"Skrivskyddat läge","Recently Added":"Nyligen tillagt","Recently Archived":"Nyligen arkiverad","Recently Edited":"Nyligen redigerat","Recognition starts after indexing has been completed.":"Identifieringen av personerna börjar när indexeringen slutförts.","Recognize faces so people can be assigned and found.":"Känner igen ansikten så att specifika personer kan hittas.","Recognized":"Igenkänd","Recovery Code":"Återvinningskod","Red":"Röd","Refresh":"Uppdatera","Regions":"Regioner","Register":"Registrera","Reload":"Ladda om","Reloading…":"Laddar om …","Remote Sync":"Fjärrsynkronisering","Remove":"Radera","remove failed: unknown album":"borttagning misslyckades: okänt album","Remove from Album":"Radera från albumet","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Ta bort importerade filer för att spara lagringsutrymme. Filer som inte stöds tas aldrig bort, utan förblir på sin nuvarande plats.","Request failed - are you offline?":"Förfrågan misslyckades - är du offline?","Request failed - invalid response":"Förfrågan misslyckades - ogiltigt svar","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Krav på att icke-fotografiska bilder och bilder av låg kvalitet ska granskas innan de visas i sökresultaten.","Resolution":"Upplösning","Restart":"Starta om","Restore":"Återställ","Restored":"Återställd","Retry Limit":"Gräns för antalet försök","Retype Password":"Upprepa lösenordet","Review":"Granska","Role":"Roll","Rows per page:":"Rader per sida:","Satellite":"Satellit","Save":"Spara","Scan":"Skanna","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Skanna QR-koden med din autentiseringsapp eller använd inställningsnyckeln som visas nedan och ange sedan den genererade verifieringskoden:","Scans":"Skannar","Scope":"Omfattning","Search":"Sök","Search and display photos on a map.":"Sök och visa foton på en karta.","Season":"Säsong","Secret":"Hemlighet","Security and Access":"Säkerhet och tillgång","Select":"Välj","Select a source folder to import files…":"Välj en källmapp för att importera filer…","Select date":"Välj datum","Select dates":"Välj datum","Select or create an album":"Välj eller skapa ett album","Select the files to upload…":"Välj de filer som ska laddas upp…","Select the folder to be indexed…":"Välj den mapp som ska indexeras…","Select Time":"Välj tid","Selection approved":"Urvalet är godkänt","Selection archived":"Urval arkiverat","Selection restored":"Urvalet har återställts","Sequential Name":"Sekventiellt namn","Service URL":"Tjänstens URL","Services":"Tjänstens URL","Session":"Sammanträde","Session ID":"Sessions-ID","Sessions":"Sessioner","Set as Album Cover":"Ställ in som albumomslag","Settings":"Inställningar","Settings saved":"Inställningarna har sparats","Setup":"Konfigurera","Share":"Dela","Share %{s}":"Dela %{s}","Share your pictures with other apps and services.":"Dela dina bilder med andra appar och tjänster.","Show":"Visa","Show all new faces":"Visa alla nya ansikten","Show Captions":"Visa bildtexter","Show hidden":"Visa dolda","Show less":"Visa mindre","Show more":"Visa mer","Show server logs in Library.":"Visa serverloggar i biblioteket.","Show Titles":"Visa titlar","Sidecar":"Sidecar","Sidecar Files":"Sidecar Files","Sign in":"Logga in","Similar":"Liknande","Size":"Storlek","Slideshow":"Bildspel","Slow":"Långsam","Software":"Programvara","Software Update":"Uppdatering av programvara","Something went wrong, try again":"Något gick fel, försök igen","Sort by":"Sortera efter","Sort Order":"Sortering","Sorted ascending.":"Sorterad i stigande ordning.","Sorted descending.":"Sorterad nedåtgående.","Source":"Källa","Stack":"Samling","Stack files sharing the same unique image or instance identifier.":"Stapla filer som har samma unika bild- eller instansidentifierare.","Stack pictures taken at the exact same time and location based on their metadata.":"Stapla bilder som tagits vid exakt samma tidpunkt och plats baserat på deras metadata.","Stackable":"Staplingsbar","Stacks":"Staplar","Start":"Starta","Start Page":"Startsida","Static Size Limit: %{n}px":"Statisk storleksgräns: %{n}px","Status":"Status","Storage":"Förvaringsplats","Streets":"Gator","Subject":"Ämne","Submit":"Skicka in","Successfully activated":"Lyckades aktiverad","Successfully Connected":"Framgångsrikt ansluten","Successfully deleted":"Framgångsrikt raderat","Successfully verified":"Verifierad","Super Admin":"Super Admin","Support for additional services, like Google Drive, will be added over time.":"Stöd för ytterligare tjänster, som Google Drive, kommer att läggas till med tiden.","Support Our Mission":"Stöd vårt uppdrag","Sync":"Synkronisera","Sync raw and video files":"Synkronisera raw- och videofiler","Taken":"Fotograferat","Teal":"Blågrön","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow behövs för bildklassificering, ansiktsigenkänning och för att upptäcka osäkert innehåll.","Terrain":"Terräng","Text":"Text","Text too long":"Texten är för lång","Thank You for Your Support!":"Tack för ditt stöd!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Därför har PhotoPrism byggts upp från grunden för att kunna användas där du behöver det, utan att kompromissa med frihet, integritet eller funktionalitet.","The index currently contains %{n} hidden files.":"Indexet innehåller för närvarande %{n} dolda filer.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Formatet kanske inte stöds, de har ännu inte konverterats till JPEG eller det finns dubbletter.","Theme":"Tema","This field is required":"Detta fält är obligatoriskt","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Detta gör att mappen med originalen monteras som en nätverksenhet, så att du kan öppna, redigera och ta bort filer från din dator eller smartphone som om de vore lokala.","Time UTC":"Tid UTC","Time Zone":"Tidszon","Timeout":"Timeout","Title":{"Account":"Titel","Photo":"Rubrik","":"Rubrik"},"Title / Position":"Rubriken är för lång","Title too long":"Rubriken är för lång","to":"till","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"För att undvika att bli utelåst från ditt konto, ladda ner, skriv ut eller kopiera den här återställningskoden nu och förvara den på ett säkert ställe.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"För att skapa ett nytt app-specifikt lösenord, vänligen ange namnet och auktoriseringsomfånget för applikationen och välj ett utgångsdatum:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"För att byta till en ny autentiseringsapp eller enhet, inaktivera först tvåfaktorsautentisering och återaktivera den sedan:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"För att uppgradera kan du antingen ange en aktiveringskod eller klicka på \"Registrera\" för att registrera dig på vår webbplats:","Today":"I dag","Toggle View":"Växla vy","Token":"Kod","Too many files selected":"För många filer valda","Too many requests":"För många förfrågningar","Troubleshooting":"Felsökning","Try again using other filters or keywords.":"Försök igen med andra filter eller nyckelord.","Two-factor authentication has been enabled for your account.":"Tvåfaktorsautentisering har aktiverats för ditt konto.","Type":"Typ","Unauthorized":"Obehörig","Undo":"Ångra","Unique ID":"Unikt ID","Unknown":"Okänd","Unregistered":"Oregistrerad","Unsorted":"Osorterad","Unstack":"Avstapla","Updated":"Senast uppdaterad","Updating faces":"Uppdatering av ansikten","Updating index":"Uppdatering av index","Updating moments":"Uppdatering av ögonblick","Updating picture…":"Uppdatering av förhandsgranskningar…","Updating previews":"Uppdatering av förhandsgranskningar","Updating stacks":"Uppdatering av staplar","Upgrade":"Uppgradera","Upgrade Now":"Uppgradera nu","Upload":"Ladda upp","Upload complete":"Uppladdningen är klar","Upload complete. Indexing…":"Uppladdningen är klar. Indexerar…","Upload failed":"Uppladdning misslyckades","Upload local files":"Ladda upp lokala filer","Upload Path":"Sökväg för uppladdning","Upload to WebDAV and share links with friends.":"Ladda upp till WebDAV och dela länkar med vänner.","Uploading %{n} of %{t}…":"Laddar upp %{n} av %{t}…","Uploading photos…":"Laddar upp foton…","Uploading…":"Laddar om …","Uploads that may contain such images will be rejected automatically.":"Uppladdningar som kan innehålla sådana bilder kommer automatiskt att avvisas.","Use Presets":"Använd förinställningar","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Använd följande återställningskod för att komma åt ditt konto när du inte kan generera en giltig verifieringskod med din autentiseringsapp:","Use your recovery code or contact an administrator for help.":"Använd din återställningskod eller kontakta en administratör för att få hjälp.","User":"Användare","User Guide":"Användarhandbok","User Interface":"Användargränssnitt","Username":"Användarnamn","Users":"Användare","Vector":"Vektor","Vectors":"Vektorer","Verification Code":"Verifierings kod","Video":"Video","Video Duration":"Varaktighet","Videos":"Videofilmer","View":"Visa","View search results as a list.":"Visa sökresultaten som en lista.","Viewer":"Visare","Visitor":"Besökare","Visual Similarity":"Gruppera efter likhet","Warning":"Varning","We appreciate your feedback!":"Vi uppskattar din feedback!","We do our best to respond within five business days or less.":"Vi gör vårt bästa för att svara inom fem arbetsdagar eller mindre.","Web Login":"Webinloggning","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"WebDAV-klienter kan ansluta till PhotoPrism via följande URL:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"WebDAV-klienter, som Microsoft Windows Explorer och Apple Finder, kan ansluta direkt till PhotoPrism.","WebDAV Upload":"WebDAV-uppladdning","WebGL support is disabled in your browser":"WebGL-stödet är inaktiverat i din webbläsare","Website":"Webbplats","White":"Vit","Work Details":"Detaljer","Year":"År","Yellow":"Gul","Yes":"Ja","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Du är välkommen att kontakta oss på membership@photoprism.app om du har frågor om ditt medlemskap.","You can only download one album":"Du kan bara ladda ner ett album","You can only download one label":"Du kan bara ladda ner en etikett","You can upload up to %{n} files for test purposes.":"Du kan ladda upp till %{n} filer för teständamål.","You may only select one item":"Du kan bara välja ett objekt","You may rescan your library to find additional faces.":"Du kan söka igenom ditt bildbibliotek på nytt för att hitta fler personer/ansikten.","Your account has been successfully connected.":"Ditt konto har kopplats upp.","Your browser does not support WebGL":"Din webbläsare har inte stöd för WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Ditt fortsatta stöd hjälper oss att tillhandahålla regelbundna uppdateringar och tjänster som t ex världskartor.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Ditt bibliotek analyseras kontinuerligt för att automatiskt skapa album med speciella ögonblick, resor och platser.","Zoom in/out":"Zooma in/ut"}} \ No newline at end of file +{"sv":{"{0} appended action":"{0} tillagd åtgärd","{0} files":"{0} filer","{0} files ({1} in total)":"{0} filer ({1} totalt)","{0} more":"{0} mer","{0} prepended action":"{0} föransluten åtgärd","{0} selected":"{0} vald","{0}-{1} of {2}":"{0}-{1} av {2}","%{n} albums found":"%{n} album hittades","%{n} files uploaded":"%{n} filer uppladdade","%{n} folders found":"%{n} mappar hittades","%{n} GB of %{q} GB used":"%{n} GB av %{q} GB används","%{n} labels found":"%{n} etiketter hittades","%{n} people found":"%{n} personer hittades","%{n} pictures found":"%{n} bilder hittades","%{s} is too long":"%{s} är för lång","%{s} is too short":"%{s} är för kort","1 hour":"1 timme","12 hours":"12 timmar","2-Factor Authentication":"2-faktorautentisering","2FA":"2FA","4 hours":"4 timmar","A click will copy it to your clipboard.":"Ett klick kopierar den till urklippshanteraren.","A new version of %{s} is available:":"En ny version av %{s} är tillgänglig:","About":"Om","Access Token":"Token för åtkomst","Account":"Konto","Account created":"Kontot har skapats","Account deleted":"Kontot raderat","Account restored":"Konto återställt","Accounts":"Konton","Accuracy":"Noggrannhet","Action":"Åtgärd","Actions":"Åtgärder","Activate":"Aktivera","Activate to remove sorting.":"Aktivera för att ta bort sorteringen.","Activate to sort ascending.":"Aktivera för att sortera stigande.","Activate to sort descending.":"Aktivera för att sortera fallande.","Activation Code":"Aktiveringskod","Add":"Lägg till","Add %{s}?":"Lägg till %{s}?","Add Account":"Redigera konto","Add Album":"Lägg till album","Add files to your library via Web Upload.":"Lägg till filer till ditt bibliotek via webbuppladdning.","Add Link":"Lägg till en länk","Add person?":"Lägga till person?","Add pictures from search results by selecting them.":"Lägg till bilder från sökresultaten genom att markera dem.","Add to album":"Lägg till i album","Added":"Tillagd","Adjust Location":"Justera plats","Admin":"Admin","Advanced":"Avancerad","After 1 day":"Efter 1 dag","After 3 days":"Efter 3 dagar","After 7 days":"Efter 7 dagar","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"När du har angivit ditt lösenord för bekräftelse, kan du ställa in tvåfaktorsautentisering med en kompatibel autentiseringsapp eller enhet.","After one month":"Efter en månad","After one year":"Efter ett år","After selecting pictures from search results, you can add them to an album using the context menu.":"När du har valt bilder från sökresultaten kan du lägga till dem i ett album med hjälp av kontextmenyn.","After two months":"Efter två månader","After two weeks":"Efter två veckor","Album":"Album","Album Backups":"Säkerhetskopiering av album","Album created":"Album skapat","Album deleted":"Albumet raderat","Albums":"Album","Albums deleted":"Album raderade","All":"Alla","All %{n} albums loaded":"Alla %{n} album hämtade","All %{n} labels loaded":"Alla %{n} etiketter hämtade","All %{n} people loaded":"Alla %{n} personer hämtade","All Cameras":"Alla kameror","All Categories":"Alla kategorier","All Colors":"Alla färger","All Countries":"Alla länder","All fields are required":"Alla fält är obligatoriska","All files from import folder":"Alla filer från importmappen","All Lenses":"Alla objektiv","All Months":"Alla månader","All originals":"Alla original","All Years":"Alla år","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Alternativt kan du ladda upp filer direkt till WebDAV-servrar som Nextcloud.","Altitude":"Höjd","Altitude (m)":"Höjd (meter)","AM":"AM","Animated":"Animerad","Animation":"Animering","Animations":"Animationer","Any private photos and videos remain private and won't be shared.":"Alla privata fotografier och videofilmer är privata och kommer inte att delas.","API Key":"API-nyckel","Application":"Tillämpning","Apply":"Spara","Approve":"Godkänn","Apps and Devices":"Appar och enheter","Archive":"Arkiv","Archived":"Arkiverad","Are you sure you want to archive the selection?":"Är du säker på att du vill arkivera urvalet?","Are you sure you want to delete these albums?":"Är du säker på att du vill radera detta/dessa album?","Are you sure you want to delete these labels?":"Är du säker på att du vill ta bort dessa etiketter?","Are you sure you want to delete this account?":"Är du säker på att du vill radera det här kontot?","Are you sure you want to delete this album?":"Är du säker på att du vill radera det här albumet?","Are you sure you want to permanently delete these pictures?":"Är du säker på att du vill radera bilderna permanent?","Are you sure you want to permanently delete this file?":"Är du säker på att du vill radera filen permanent?","Are you sure?":"Är du säker?","Artist":"Fotograf","Aspect Ratio":"Bildförhållande","Audio":"Ljud","Authentication":"Autentisering","Auto":"Auto","Back":"Tillbaka","Back to top":"Tillbaka till början","Backup":"Säkerhetskopiering","Badge":"Badge","Base Path":"Basbana","Become a member today, support our mission and enjoy our member benefits!":"Bli medlem i dag, stöd vårt uppdrag och ta del av våra medlemsförmåner!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Eftersom vi är 100 % självfinansierade och oberoende kan vi lova dig att vi aldrig kommer att sälja dina uppgifter och att vi alltid kommer att vara transparenta när det gäller vår programvara och våra tjänster.","Bio":"Bio","Birth Date":"Födelsedatum","Black":"Svart","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Lanczos-modifiering, mindre ringande artefakter","Blue":"Blå","Brown":"Brun","Browse":"Bläddra","Browse and edit image classification labels.":"Bläddra och redigera etiketter för bildklassificering.","Browse and share your pictures organized into monthly albums.":"Bläddra bland och dela dina bilder i månatliga album.","Browse Files":"Bläddra bland filer","Browse indexed files and folders in Library.":"Bläddra bland indexerade filer och mappar i biblioteket.","Bug Report":"Felrapport","Busy, please wait…":"Upptagen, vänligen vänta…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Genom att använda den programvara och de tjänster som vi tillhandahåller godkänner du våra användarvillkor, vår sekretesspolicy och vår uppförandekod.","Calendar":"Kalender","Camera":"Kamera","Camera Serial":"Serienummer på kameran","Can't access your authenticator app or device?":"Kan du inte komma åt din autentiseringsapp eller enhet?","Can't load more, limit reached":"Kan inte hämta mer, gränsen är nådd","Can't select more items":"Kan inte välja fler objekt","Cancel":"Avbryt","Cannot copy to clipboard":"Det går inte att kopiera till urklipp","Caption":"Bildtext","Cards":"Kort","Carousel slide {0} of {1}":"Karusellbild {0} av {1}","Category":"Kategori","Change Avatar":"Ändra Avatar","Change Password":"Nytt lösenord","Change personal profile and security settings.":"Ändra personliga profil- och säkerhetsinställningar.","Change photo titles, locations, and other metadata.":"Ändra bildtitlar, platser och andra metadata.","Change private flag":"Ändra den privata flaggan","Changes could not be saved":"Ändringarna kunde inte sparas","Changes successfully saved":"Ändringarna har sparats","Changes to the advanced settings require a restart to take effect.":"Ändringar av de avancerade inställningarna kräver en omstart för att träda i kraft.","Checked":"Kontrollerad","Chroma":"Chroma","Cleaning index and cache":"Rensning av index och cacheminne","Cleanup":"Rengöring","Clear {0}":"Rensa {0}","Client":"Kund","Client Credentials":"Klientens autentiseringsuppgifter","Close":"Stäng","Codec":"Codec","Color":"Färg","Color Profile":"Färgprofil","Colors":"Färger","Compare Editions":"Jämför utgåvor","Complete Rescan":"Fullständig omskanning","Confidence":"Tillit","Confirm":"Bekräfta","Connect":"Anslut","Connect via WebDAV":"Anslut via WebDAV","Connected":"Anslut","Contact Details":"Adressuppgifter","Contact Us":"Kontakta oss","Contains %{n} pictures.":"Innehåller %{n} bilder.","Contains one picture.":"Innehåller en bild.","Content":"Innehåll","Continue":"Fortsätta","Continue with %{provider}":"Fortsätt med %{provider}","Contributor":"Bidragsgivare","Converting":"Konverterar","Copied to clipboard":"Kopierad till urklippshanteraren","Copy":"Kopiera","Copyright":"Copyright","Couldn't find anything.":"Kunde inte hitta något.","Country":"Land","Create Account":"Skapa ett konto","Create album":"Skapa album","Create regular backups based on the configured schedule.":"Skapa säkerhetskopior av index enligt det konfigurerade schemat.","Create YAML files to back up album metadata.":"Skapa YAML-filer för att säkerhetskopiera metadata för album.","Create YAML sidecar files to back up picture metadata.":"Skapa YAML sidecar-filer för att säkerhetskopiera metadata för bilder.","Created":"Skapad","Creating thumbnails for":"Skapar miniatyrbilder för","Cubic: Moderate Quality, Good Performance":"Kubisk: Måttlig kvalitet, bra prestanda","Current Password":"Nuvarande lösenord","Custom":"Anpassad","Cyan":"Cyan","Daily":"Dagligen","Database Backups":"Säkerhetskopiering av databaser","Day":"Dag","Deactivate":"Avaktivera","Debug Logs":"Felsökningsloggar","Default":"Standard","Default Folder":"Standardmapp","Delete":"Radera","Delete Album":"Radera album","Delete All":"Radera alla","Delete all?":"Radera alla?","Delete orphaned index entries, sidecar files and thumbnails.":"Ta bort övergivna indexposter, sidecar-filer och miniatyrbilder.","Description":"Beskrivning","Detailed instructions can be found in our User Guide.":"Detaljerade instruktioner finns i vår användarhandbok.","Details":"Detaljer","Dimensions":"Mått","Disable Backups":"Inaktivera säkerhetskopiering","Disable Darktable":"Inaktivera Darktable","Disable ExifTool":"Inaktivera ExifTool","Disable features that require write permission for the originals folder.":"Inaktivera funktioner som kräver skrivbehörighet för originalmappen.","Disable FFmpeg":"Inaktivera FFmpeg","Disable ImageMagick":"Inaktivera ImageMagick","Disable interactive world maps and reverse geocoding.":"Inaktivera interaktiva världskartor och omvänd geokodning.","Disable Places":"Inaktivera platser","Disable RawTherapee":"Inaktivera RawTherapee","Disable TensorFlow":"Inaktivera TensorFlow","Disable Vectors":"Inaktivera vektorer","Disable WebDAV":"Inaktivera WebDAV","Disables vector graphics support.":"Inaktiverar stöd för vektorgrafik.","Disables video transcoding and thumbnail extraction.":"Inaktiverar omkodning av video och utvinning av miniatyrbilder.","Discover":"Upptäck","Dismiss":"Avvisa","Display Name":"Visningsnamn","Display picture captions in search results.":"Visa bildtexter i sökresultaten.","Display picture titles in search results.":"Visa bildtitlar i sökresultaten.","Document":"Dokument","Documents":"Dokument","Don't use Darktable to convert RAW images.":"Använd inte Darktable för att konvertera RAW-bilder.","Don't use ImageMagick to convert images.":"Använd inte ImageMagick för att konvertera bilder.","Don't use RawTherapee to convert RAW images.":"Använd inte RawTherapee för att konvertera RAW-bilder.","Done":"Spara & Stäng","Done.":"Klart.","Download":"Ladda ner","Download only original media files, without any automatically generated files.":"Hämta endast originalmediefiler, utan automatiskt genererade filer.","Download remote files":"Hämta fjärrfiler","Download single files and zip archives.":"Ladda ner enskilda filer och zip-arkiv.","Downloading…":"Hämtar…","Downscaling Filter":"Filter för nedskalning","Drag and drop files here":"Dra och släpp filer här","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"På grund av den stora mängden e-postmeddelanden vi får kan det hända att vårt team inte kan svara dig omedelbart.","Duplicates will be skipped and only appear once.":"Dubletter kommer att hoppas över och visas endast en gång.","Duration":"Varaktighet","Dynamic Previews":"Dynamiska förhandsgranskningar","Dynamic Size Limit: %{n}px":"Begränsning av dynamisk storlek: %{n}px","E-Mail":"E-postadress","Edit":"Redigera","Edit %{s}":"Redigera %{s}","Edit Account":"Redigera konto","Edit Photo":"Redigera foto","Edited":"Senast ändrad","Email":"E-postadress","Enable debug mode to display additional logs and help with troubleshooting.":"Aktivera felsökningsläget för att visa ytterligare loggar och hjälpa till med felsökning.","Enable new features that may be incomplete or unstable.":"Möjliggör nya funktioner som kan vara ofullständiga eller instabila.","Enables RAW converter presets. May reduce performance.":"Aktiverar förinställningar för RAW-omvandlare. Kan minska prestandan.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Att aktivera tvåfaktorsautentisering innebär att du behöver en slumpmässigt genererad verifieringskod för att logga in, så även om någon får tillgång till ditt lösenord kommer de inte att kunna komma åt ditt konto.","Enter date":"Ange datum","Enter dates":"Ange datum","Enter the code generated by your authenticator app:":"Ange den kod som genereras av din autentiseringsapp:","Enter verification code":"Ange verifieringskod","Enter your password to confirm the action and continue:":"Ange ditt lösenord för att bekräfta åtgärden och fortsätt:","Error":"Fel","Errors":"Fel","Estimate":"Uppskattning","Estimate Locations":"Uppskatta platser","Estimate the approximate location of pictures without GPS coordinates.":"Uppskatta den ungefärliga positionen för bilder utan GPS-koordinater.","Every two days":"Varannan dag","Exclude content marked as private from search results, shared albums, labels, and places.":"Undanta innehåll som markerats som privat från sökresultat, delade album, etiketter och platser.","Exclude hidden":"Exkludera dolda","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"Metadataextraktion med ExifTool krävs för fullt stöd för Video, Live Photo och XMP.","Experimental Features":"Experimentella funktioner","Expires":"Upphör att gälla","Exposure":"Exponering","Extract still images and generate thumbnails while indexing.":"Extrahera stillbilder och skapa miniatyrbilder under indexeringen.","F Number":"F-nummer","Face":"Ansikte","Faces":"Ansikten","Failed removing link":"Misslyckades med att ta bort länken","Failed to connect account.":"Misslyckades med att ansluta konto.","Failed updating link":"Misslyckades med att uppdatera länken","Family Name":"Efternamn","Fast":"Snabbt","Favorite":"Favorit","Favorites":"Favoriter","Feature Request":"Begäran om funktion","Feedback":"Återkoppling","Female":"Kvinna","File":"Fil","File Browser":"Filhanterare","File Conversion":"Konvertering av filer","File Name":"Filnamn","File Size":"Fil","Filename":"Filnamn","Files":"Filer","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Filer med sekventiella namn som 'IMG_1234 (2)' och 'IMG_1234 (3)' tillhör samma bild.","First page":"Första sidan","Focal Length":"Brännvidd","Folder":"Mapp","Folder contains %{n} files":"Mappen innehåller %{n} filer","Folder is empty":"Mappen är tom","Folders":"Mappar","Forgot password?":"Glömt lösenordet?","FPS":"FPS","Frames":"Bildrutor","Full Access":"Full tillgång","Fullscreen":"Fullskärm","General":"Allmänt","Generate":"Generera","Generate albums of special moments, journeys, and places.":"Skapa automatiskt album med speciella ögonblick, resor och platser.","Generate Previews":"Generera förhandsgranskningar","Generated":"Genererad","Get Started":"Kom igång","Given Name":"Förnamn","Global Options":"Globala alternativ","Go to page {0}":"Gå till sidan {0}","Gold":"Guld","Green":"Grön","Grey":"Grå","Guest":"Gäst","Hash":"Kontrollsumma","Help":"Hjälp","Help & Support":"Hjälp och Support","Hidden":"Dolda","Hidden Files":"Dolda filer","Hide":"Dölj","Hide photos that have been moved to archive.":"Dölj foton som har flyttats till arkivet.","High":"Hög","High Dynamic Range (HDR)":"Högt dynamiskt omfång (HDR)","How can we help?":"Hur kan vi hjälpa till?","Hybrid":"Hybrid","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Om du förlorar åtkomsten till din autentiseringsapp eller enhet kan du använda din återställningskod för att återfå åtkomst till ditt konto.","Image":"Bild","Image Quality":"Bildkvalitet","Import":"Import","Import failed":"Importen misslyckades","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Importerade filer sorteras efter datum och får ett unikt namn för att undvika dubbletter.","Imported files will be sorted by date and given a unique name.":"Importerade filer sorteras efter datum och får ett unikt namn.","Importing %{s}…":"Importerar %{s}…","Importing files to originals…":"Importera filer till original…","in":"i","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"Om du upplever att bilder saknas, vänligen skanna om biblioteket och vänta tills indexeringen är slutförd.","Include RAW image files when downloading stacks and archives.":"Inkludera RAW-bildfiler när du laddar ner staplar och arkiv.","Include sidecar files when downloading stacks and archives.":"Inkludera sidecar-filer när du laddar ner stackar och arkiv.","Increase storage size or delete files to continue.":"Öka lagringsstorleken eller radera filer för att fortsätta.","Index":"Index","Index and import files through the user interface.":"Indexera och importera filer via användargränssnittet.","Indexing":"Indexerar","Indexing failed":"Indexeringen misslyckades","Indexing media and sidecar files…":"Indexerar media och sidecar-filer…","Information":"Information om","Instance ID":"Instans-ID","Insufficient storage.":"Otillräcklig lagring.","Interval":"Intervall","Invalid":"Ogiltigt datum","Invalid address":"Ogiltig adress","Invalid country":"Ogiltigt land","Invalid date":"Ogiltigt datum","Invalid parameters":"Ogiltigt datum","Invalid photo selected":"Ett ogiltigt foto har valts","Invalid time":"Ogiltig tid","Invalid URL":"Ogiltig URL","It is a one-time use code that will disable 2FA for your account when you use it.":"Det är en engångskod som kommer att inaktivera 2FA för ditt konto när du använder den.","Item":"Artikel","Items per page:":"Artiklar per sida:","JPEG Quality: %{n}":"JPEG-kvalitet: %{n}","JPEG Size Limit: %{n}px":"Begränsning av JPEG-storlek: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"JPEG-bilder och miniatyrbilder skapas automatiskt vid behov.","Keywords":"Nyckelord","Label":"Etikett","Labels":"Etiketter","Labels deleted":"Etiketter raderade","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: Bevarande av detaljer, minimala artefakter","Language":"Språk","Last Active":"Senast aktiv","Last Login":"Senaste inloggning","Last page":"Sista sidan","Last Sync":"Senaste synkronisering","Last Used":"Senast använd","Latitude":"Latitud","LDAP/AD":"LDAP/AD","Learn more":"Läs mer","Learn More":"Lär dig mer","Legal Information":"Juridisk information","Lens":"Objektiv","Library":"Bibliotek","License":"Licens","Like":"Gilla","Lime":"Lime","Limit reached, showing first %{n} files":"Gränsen är nådd, visar de första %{n} filerna","Linear: Very Smooth, Best Performance":"Linjär: Mycket jämn, bästa prestanda","Link":"Länk","List":"Lista","List View":"Listvy","Live":"Live","Live Photos":"Foton","Load more":"Ladda mer","Loading items...":"Laddar artiklar...","Loading...":"Laddar...","Local":"Lokal","Local Time":"Lokal tid","Location":"Plats","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Loggmeddelanden visas här när PhotoPrism stöter på trasiga filer eller när det finns andra potentiella problem.","Login":"Logga in","Logout":"Logga ut","Logs":"Loggar","Longitude":"Longitud","Low":"Låg","Magenta":"Magenta","Main Color":"Huvudfärg","Male":"Man","Manage Account":"Hantera konto","Manager":"Chef","Manual":"Manuell","Manual Upload":"Manuell uppladdning","Maps":"Kartor","Marker":"Markering","Maximum number of accounts has been reached.":"Det maximala antalet konton har uppnåtts.","Media":"Media","Medium":"Medium","Membership":"Medlemskap","Merge %{a} with %{b}?":"Slå ihop %{a} med %{b}?","Message":"Meddelande","Message sent":"Meddelande skickat","Metadata":"Metadata","Metrics":"Metrik","Minimize":"Minimera","Missing":"Saknas","Missing or invalid configuration":"Saknad eller ogiltig konfiguration","Moments":"Ögonblick","Monochrome":"Monokrom","Month":"Månad","More options":"Fler alternativ","Mosaic":"Mosaik","Most Relevant":"Mest relevant","Move Files":"Flytta filer","Must have at least %{n} characters.":"Måste ha minst %{n} tecken.","Mute":"Mute","Name":"Namn","Name too long":"Namnet är för långt","Never":"Aldrig","New":"Ny","New Password":"Nytt lösenord","Newest First":"Nyaste först","Next":"Nästa","Next page":"Nästa sida","Next visual":"Nästa bild","No":"Nej","No albums found":"Inga album hittades","No data available":"Inga uppgifter tillgängliga","No labels found":"Inga etiketter hittades","No matching records found":"Inga matchande poster hittades","No more":"Inte mer","No people found":"Inga personer hittades","No pictures found":"Inga bilder hittades","No recently edited pictures":"Inga nyligen redigerade bilder","No results":"Inga resultat","No server connection":"Ingen serveranslutning","No servers configured.":"Inga servrar har konfigurerats.","No services configured.":"Inga servrar har konfigurerats.","No thanks":"Nej tack","No warnings or error containing this keyword. Note that search is case-sensitive.":"Inga varningar eller fel som innehåller detta nyckelord. Observera att sökningen är känslig för stora och små bokstäver.","Non-photographic and low-quality images require a review before they appear in search results.":"Bilder som inte är fotografiska eller av låg kvalitet måste granskas innan de visas i sökresultaten.","None":"Ingen","Not allowed":"Inte tillåtet","Not found":"Hittades inte","Not sorted.":"Inte sorterad.","Not supported":"Stödjs inte","Note you may manually manage your originals folder and importing is optional.":"Observera att du kan hantera mappen med original manuellt och att import är valfritt.","Note:":"Observera:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"OBS: Endast WebDAV-servrar, som Nextcloud eller PhotoPrism, kan konfigureras som fjärrtjänst för säkerhetskopiering och filuppladdning.","Notes":"Anteckningar","Nothing to see here yet.":"Inget att se här ännu. Ha tålamod.","Nothing was found.":"Ingenting hittades.","Offline":"Offline","OIDC":"OIDC","OK":"OK","Oldest First":"Äldsta först","On Windows, enter the following resource in the connection dialog:":"I Windows anger du följande resurs i anslutningsdialogen:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"Generering av miniatyrbilder på begäran kan orsaka hög CPU- och minnesanvändning. Det rekommenderas inte för resursbegränsade servrar och NAS-enheter.","Once a week":"En gång i veckan","One album found":"Ett album hittat","One file found":"En fil hittad","One file uploaded":"En fil uppladdad","One folder found":"En mapp hittad","One label found":"En etikett hittat","One person found":"En person hittad","One picture found":"En bild hittades","Only locally managed accounts can be set up for authentication with 2FA.":"Endast lokalt hanterade konton kan ställas in för autentisering med 2FA.","Open":"Öppna","optional":"valfri","or":"eller","Orange":"Orange","Organization":"Layout","Orientation":"Layout","Original file names will be stored and indexed.":"De ursprungliga filnamnen kommer att lagras och indexeras.","Original Name":"Ursprungligt namn","Originals":"Original","Other":"Övrigt","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Vårt uppdrag är att tillhandahålla den mest användar- och integritetsvänliga lösningen för att hålla dina bilder organiserade och tillgängliga.","Outdoor":"Utomhus","Page {0}, Current page":"Sida {0}, Aktuell sida","Pages":"Sidor","Pagination Navigation":"Paginering Navigering","Panorama":"Panorama","Panoramas":"Panoraman","Password":"Lösenord","Password changed":"Lösenordet har ändrats","People":"Personer","People you share a link with will be able to view public contents.":"Personer som du delar en länk med kan se det offentliga innehållet.","Permanently deleted":"Permanent borttagen","Permanently remove files to free up storage.":"Ta bort filer permanent för att frigöra lagringsutrymme.","Person":"Person","Personal":"Personlig","Photo":"Foto","PhotoPrism is 100% self-funded and independent.":"PhotoPrism är till 100 % självfinansierad och oberoende.","PhotoPrism+ Membership":"Medlemskap i PhotoPrism+","Photos":"Foton","Picture Title":"Bildtitel","Pink":"Rosa","Place":"Plats","Place & Time":"Plats och Tid","Places":"Platser","Please confirm your new password.":"Bekräfta ditt nya lösenord.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Vänligen kopiera följande slumpmässigt genererade applösenord och förvara det på ett säkert ställe, eftersom du inte kommer att kunna se det igen:","Please do not upload any private, unlawful or offensive pictures.":"Vänligen ladda inte upp privata, olagliga eller stötande bilder.","Please don't upload photos containing offensive content.":"Ladda inte upp bilder med stötande innehåll.","Please enter OTP character {0}":"Vänligen ange OTP-tecken {0}","Please note that changing your password will log you out on other devices and browsers.":"Observera att om du ändrar ditt lösenord kommer du att logga ut på andra enheter och webbläsare.","Please restart your instance for the changes to take effect.":"Starta om din instans för att ändringarna ska träda i kraft.","Please wait…":"Vänligen vänta…","PM":"PM","PNG Size Limit: %{n}px":"Begränsning av PNG-storlek: %{n}px","Portrait":"Porträtt","Preserve filenames":"Bevara filnamn","Press enter to create a new album.":"Tryck på enter för att skapa ett nytt album.","Prevent database and album backups as well as YAML sidecar files from being created.":"Förhindra att säkerhetskopior av databaser och album samt YAML-sidokarfiler skapas.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Hindra andra program från att komma åt PhotoPrism som en delad nätverksenhet.","Preview":"Förhandsgranska","Preview Images":"Förhandsbilder","Previous":"Föregående","Previous page":"Föregående sida","Previous visual":"Föregående bild","Primary":"Primär","Private":"Privat","Product Feedback":"Produktåterkoppling","Projection":"Projektion","Purple":"Lila","Quality Filter":"Kvalitetsfilter","Quality Score":"Kvalitetspoäng","r":"r","Random":"Slumpmässig","Rating {0} of {1}":"Betyg {0} av {1}","Raw":"Rå","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Återindexera alla original, inklusive redan indexerade och oförändrade filer.","Read-Only Mode":"Skrivskyddat läge","Recently Added":"Nyligen tillagt","Recently Archived":"Nyligen arkiverad","Recently Edited":"Nyligen redigerat","Recognition starts after indexing has been completed.":"Identifieringen av personerna börjar när indexeringen slutförts.","Recognize faces so people can be assigned and found.":"Känner igen ansikten så att specifika personer kan hittas.","Recognized":"Igenkänd","Recovery Code":"Återvinningskod","Red":"Röd","Refresh":"Uppdatera","Regions":"Regioner","Register":"Registrera","Reload":"Ladda om","Reloading…":"Laddar om …","Remote Sync":"Fjärrsynkronisering","Remove":"Radera","remove failed: unknown album":"borttagning misslyckades: okänt album","Remove from Album":"Radera från albumet","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Ta bort importerade filer för att spara lagringsutrymme. Filer som inte stöds tas aldrig bort, utan förblir på sin nuvarande plats.","Request failed - are you offline?":"Förfrågan misslyckades - är du offline?","Request failed - invalid response":"Förfrågan misslyckades - ogiltigt svar","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Krav på att icke-fotografiska bilder och bilder av låg kvalitet ska granskas innan de visas i sökresultaten.","Resolution":"Upplösning","Restart":"Starta om","Restore":"Återställ","Restored":"Återställd","Retry Limit":"Gräns för antalet försök","Retype Password":"Upprepa lösenordet","Review":"Granska","Role":"Roll","Rows per page:":"Rader per sida:","Satellite":"Satellit","Save":"Spara","Scan":"Skanna","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Skanna QR-koden med din autentiseringsapp eller använd inställningsnyckeln som visas nedan och ange sedan den genererade verifieringskoden:","Scans":"Skannar","Scope":"Omfattning","Search":"Sök","Search and display photos on a map.":"Sök och visa foton på en karta.","Season":"Säsong","Secret":"Hemlighet","Security and Access":"Säkerhet och tillgång","Select":"Välj","Select a source folder to import files…":"Välj en källmapp för att importera filer…","Select date":"Välj datum","Select dates":"Välj datum","Select or create an album":"Välj eller skapa ett album","Select the files to upload…":"Välj de filer som ska laddas upp…","Select the folder to be indexed…":"Välj den mapp som ska indexeras…","Select Time":"Välj tid","Selection approved":"Urvalet är godkänt","Selection archived":"Urval arkiverat","Selection restored":"Urvalet har återställts","Sequential Name":"Sekventiellt namn","Service URL":"Tjänstens URL","Services":"Tjänstens URL","Session":"Sammanträde","Session ID":"Sessions-ID","Sessions":"Sessioner","Set as Album Cover":"Ställ in som albumomslag","Settings":"Inställningar","Settings saved":"Inställningarna har sparats","Setup":"Konfigurera","Share":"Dela","Share %{s}":"Dela %{s}","Share your pictures with other apps and services.":"Dela dina bilder med andra appar och tjänster.","Show":"Visa","Show all new faces":"Visa alla nya ansikten","Show Captions":"Visa bildtexter","Show hidden":"Visa dolda","Show less":"Visa mindre","Show more":"Visa mer","Show server logs in Library.":"Visa serverloggar i biblioteket.","Show Titles":"Visa titlar","Sidecar":"Sidecar","Sidecar Files":"Sidecar Files","Sign in":"Logga in","Similar":"Liknande","Size":"Storlek","Slideshow":"Bildspel","Slow":"Långsam","Software":"Programvara","Software Update":"Uppdatering av programvara","Something went wrong, try again":"Något gick fel, försök igen","Sort by":"Sortera efter","Sort Order":"Sortering","Sorted ascending.":"Sorterad i stigande ordning.","Sorted descending.":"Sorterad nedåtgående.","Source":"Källa","Stack":"Samling","Stack files sharing the same unique image or instance identifier.":"Stapla filer som har samma unika bild- eller instansidentifierare.","Stack pictures taken at the exact same time and location based on their metadata.":"Stapla bilder som tagits vid exakt samma tidpunkt och plats baserat på deras metadata.","Stackable":"Staplingsbar","Stacks":"Staplar","Start":"Starta","Start Page":"Startsida","Static Size Limit: %{n}px":"Statisk storleksgräns: %{n}px","Status":"Status","Storage":"Förvaringsplats","Streets":"Gator","Subject":"Ämne","Submit":"Skicka in","Successfully activated":"Lyckades aktiverad","Successfully Connected":"Framgångsrikt ansluten","Successfully deleted":"Framgångsrikt raderat","Successfully verified":"Verifierad","Super Admin":"Super Admin","Support for additional services, like Google Drive, will be added over time.":"Stöd för ytterligare tjänster, som Google Drive, kommer att läggas till med tiden.","Support Our Mission":"Stöd vårt uppdrag","Sync":"Synkronisera","Sync raw and video files":"Synkronisera raw- och videofiler","Taken":"Fotograferat","Teal":"Blågrön","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow behövs för bildklassificering, ansiktsigenkänning och för att upptäcka osäkert innehåll.","Terrain":"Terräng","Text":"Text","Text too long":"Texten är för lång","Thank You for Your Support!":"Tack för ditt stöd!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Därför har PhotoPrism byggts upp från grunden för att kunna användas där du behöver det, utan att kompromissa med frihet, integritet eller funktionalitet.","The index currently contains %{n} hidden files.":"Indexet innehåller för närvarande %{n} dolda filer.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Formatet kanske inte stöds, de har ännu inte konverterats till JPEG eller det finns dubbletter.","Theme":"Tema","This field is required":"Detta fält är obligatoriskt","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Detta gör att mappen med originalen monteras som en nätverksenhet, så att du kan öppna, redigera och ta bort filer från din dator eller smartphone som om de vore lokala.","Time UTC":"Tid UTC","Time Zone":"Tidszon","Timeout":"Timeout","Title":{"Account":"Titel","Photo":"Rubrik","":"Rubrik"},"Title / Position":"Rubriken är för lång","Title too long":"Rubriken är för lång","to":"till","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"För att undvika att bli utelåst från ditt konto, ladda ner, skriv ut eller kopiera den här återställningskoden nu och förvara den på ett säkert ställe.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"För att skapa ett nytt app-specifikt lösenord, vänligen ange namnet och auktoriseringsomfånget för applikationen och välj ett utgångsdatum:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"För att byta till en ny autentiseringsapp eller enhet, inaktivera först tvåfaktorsautentisering och återaktivera den sedan:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"För att uppgradera kan du antingen ange en aktiveringskod eller klicka på \"Registrera\" för att registrera dig på vår webbplats:","Today":"I dag","Toggle View":"Växla vy","Token":"Kod","Too many files selected":"För många filer valda","Too many requests":"För många förfrågningar","Troubleshooting":"Felsökning","Try again using other filters or keywords.":"Försök igen med andra filter eller nyckelord.","Two-factor authentication has been enabled for your account.":"Tvåfaktorsautentisering har aktiverats för ditt konto.","Type":"Typ","Unable to delete":"Går inte att radera","Unauthorized":"Obehörig","Undo":"Ångra","Unique ID":"Unikt ID","Unknown":"Okänd","Unregistered":"Oregistrerad","Unsorted":"Osorterad","Unstack":"Avstapla","Updated":"Senast uppdaterad","Updating faces":"Uppdatering av ansikten","Updating index":"Uppdatering av index","Updating moments":"Uppdatering av ögonblick","Updating picture…":"Uppdatering av förhandsgranskningar…","Updating previews":"Uppdatering av förhandsgranskningar","Updating stacks":"Uppdatering av staplar","Upgrade":"Uppgradera","Upgrade Now":"Uppgradera nu","Upload":"Ladda upp","Upload complete":"Uppladdningen är klar","Upload complete. Indexing…":"Uppladdningen är klar. Indexerar…","Upload failed":"Uppladdning misslyckades","Upload local files":"Ladda upp lokala filer","Upload Path":"Sökväg för uppladdning","Upload to WebDAV and share links with friends.":"Ladda upp till WebDAV och dela länkar med vänner.","Uploading %{n} of %{t}…":"Laddar upp %{n} av %{t}…","Uploading photos…":"Laddar upp foton…","Uploading…":"Laddar om …","Uploads that may contain such images will be rejected automatically.":"Uppladdningar som kan innehålla sådana bilder kommer automatiskt att avvisas.","Use Presets":"Använd förinställningar","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Använd följande återställningskod för att komma åt ditt konto när du inte kan generera en giltig verifieringskod med din autentiseringsapp:","Use your recovery code or contact an administrator for help.":"Använd din återställningskod eller kontakta en administratör för att få hjälp.","User":"Användare","User Guide":"Användarhandbok","User Interface":"Användargränssnitt","Username":"Användarnamn","Users":"Användare","Vector":"Vektor","Vectors":"Vektorer","Verification Code":"Verifierings kod","Video":"Video","Video Duration":"Varaktighet","Videos":"Videofilmer","View":"Visa","View search results as a list.":"Visa sökresultaten som en lista.","Viewer":"Visare","Visitor":"Besökare","Visual Similarity":"Gruppera efter likhet","Warning":"Varning","We appreciate your feedback!":"Vi uppskattar din feedback!","We do our best to respond within five business days or less.":"Vi gör vårt bästa för att svara inom fem arbetsdagar eller mindre.","Web Login":"Webinloggning","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"WebDAV-klienter kan ansluta till PhotoPrism via följande URL:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"WebDAV-klienter, som Microsoft Windows Explorer och Apple Finder, kan ansluta direkt till PhotoPrism.","WebDAV Upload":"WebDAV-uppladdning","WebGL support is disabled in your browser":"WebGL-stödet är inaktiverat i din webbläsare","Website":"Webbplats","White":"Vit","Work Details":"Detaljer","Year":"År","Yellow":"Gul","Yes":"Ja","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Du är välkommen att kontakta oss på membership@photoprism.app om du har frågor om ditt medlemskap.","You can only download one album":"Du kan bara ladda ner ett album","You can only download one label":"Du kan bara ladda ner en etikett","You can search for a location or move the marker on the map to change the position:":"Du kan söka efter en plats eller flytta markören på kartan för att ändra position:","You can upload up to %{n} files for test purposes.":"Du kan ladda upp till %{n} filer för teständamål.","You may only select one item":"Du kan bara välja ett objekt","You may rescan your library to find additional faces.":"Du kan söka igenom ditt bildbibliotek på nytt för att hitta fler personer/ansikten.","Your account has been successfully connected.":"Ditt konto har kopplats upp.","Your browser does not support WebGL":"Din webbläsare har inte stöd för WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Ditt fortsatta stöd hjälper oss att tillhandahålla regelbundna uppdateringar och tjänster som t ex världskartor.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Ditt bibliotek analyseras kontinuerligt för att automatiskt skapa album med speciella ögonblick, resor och platser.","Zoom in/out":"Zooma in/ut"}} \ No newline at end of file diff --git a/frontend/src/locales/json/th.json b/frontend/src/locales/json/th.json index b115232fd..4630a542a 100644 --- a/frontend/src/locales/json/th.json +++ b/frontend/src/locales/json/th.json @@ -1 +1 @@ -{"th":{"{0} appended action":"{0} การดำเนินการผนวก","{0} files":"{0} ไฟล์","{0} files ({1} in total)":"{0} ไฟล์ (รวมทั้งหมด {1} ไฟล์)","{0} more":"{0} เพิ่มเติม","{0} prepended action":"{0} การดำเนินการที่เพิ่มมา","{0} selected":"{0} เลือกแล้ว","{0}-{1} of {2}":"{0}-{1} จาก {2}","%{n} albums found":"พบ %{n} อัลบั้ม","%{n} files uploaded":"อัปโหลดแล้ว %{n} ไฟล์","%{n} folders found":"พบ %{n} โฟลเดอร์","%{n} GB of %{q} GB used":"%{n} GB จาก %{q} GB ที่ใช้","%{n} labels found":"พบ %{n} ป้ายกำกับ","%{n} people found":"พบบุคคล %{n} คน","%{n} pictures found":"พบ %{n} รูปภาพ","%{s} is too long":"%{s} ยาวเกินไป","%{s} is too short":"%{s} สั้นเกินไป","1 hour":"1 ชั่วโมง","12 hours":"12 ชั่วโมง","2-Factor Authentication":"การรับรองความถูกต้องแบบ 2 ปัจจัย","2FA":"2FA","4 hours":"4 ชั่วโมง","A click will copy it to your clipboard.":"คลิกเพื่อคัดลอกไปยังคลิปบอร์ด","A new version of %{s} is available:":"%{s} เวอร์ชันใหม่พร้อมให้ใช้งานแล้ว:","About":"เกี่ยวกับ","Access Token":"โทเค็นการเข้าถึง","Account":"บัญชี","Account created":"สร้างบัญชีแล้ว","Account deleted":"ลบบัญชีแล้ว","Account restored":"บัญชีได้รับการคืนสภาพแล้ว","Accounts":"บัญชี","Accuracy":"ความแม่นยำ","Action":"การกระทำ","Actions":"การกระทำ","Activate":"เปิดใช้งาน","Activate to remove sorting.":"เปิดใช้งานเพื่อลบการเรียงลำดับ","Activate to sort ascending.":"เปิดใช้งานเพื่อเรียงลำดับจากน้อยไปมาก","Activate to sort descending.":"เปิดใช้งานการเรียงลำดับจากมากไปน้อย","Activation Code":"รหัสเปิดใช้งาน","Add":"เพิ่ม","Add %{s}?":"เพิ่ม %{s}?","Add Account":"แก้ไขบัญชี","Add Album":"เพิ่มอัลบั้ม","Add files to your library via Web Upload.":"เพิ่มไฟล์ไปยังคลังผ่านการอัปโหลดเว็บ","Add Link":"เพิ่มลิงก์","Add person?":"เพิ่มบุคคล?","Add pictures from search results by selecting them.":"เพิ่มรูปภาพจากผลการค้นหาโดยเลือกรูปภาพเหล่านั้น","Add to album":"เพิ่มไปยังอัลบั้ม","Added":"เพิ่มแล้ว","Admin":"ผู้ดูแลระบบ","Advanced":"ขั้นสูง","After 1 day":"หลังจาก 1 วัน","After 3 days":"หลังจาก 3 วัน","After 7 days":"หลังจาก 7 วัน","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"หลังจากป้อนรหัสผ่านเพื่อยืนยัน คุณสามารถตั้งค่าการตรวจสอบสิทธิ์แบบสองปัจจัยด้วยแอพหรืออุปกรณ์ตรวจสอบสิทธิ์ที่เข้ากันได้:","After one month":"หลังจากหนึ่งเดือน","After one year":"หลังจากหนึ่งปี","After selecting pictures from search results, you can add them to an album using the context menu.":"หลังจากเลือกรูปภาพจากผลการค้นหาแล้ว คุณสามารถเพิ่มรูปภาพลงในอัลบั้มโดยใช้เมนูบริบท","After two months":"หลังจากสองเดือน","After two weeks":"หลังจากสองสัปดาห์","Album":"อัลบั้ม","Album Backups":"การสำรองข้อมูลอัลบั้ม","Album created":"สร้างอัลบั้มแล้ว","Albums":"อัลบั้ม","Albums deleted":"ลบอัลบั้มแล้ว","All":"ทั้งหมด","All %{n} albums loaded":"โหลด %{n} อัลบั้มทั้งหมดแล้ว","All %{n} labels loaded":"โหลดป้ายกำกับ %{n} ทั้งหมดแล้ว","All %{n} people loaded":"โหลด %{n} คนทั้งหมดแล้ว","All Cameras":"กล้องทั้งหมด","All Categories":"หมวดหมู่ทั้งหมด","All Colors":"สีทั้งหมด","All Countries":"ประเทศทั้งหมด","All fields are required":"ต้องกรอกให้ครบทุกช่อง","All files from import folder":"ทุกไฟล์จากโฟลเดอร์นำเข้า","All Lenses":"เลนส์ทั้งหมด","All Months":"เดือนทั้งหมด","All originals":"ต้นฉบับทั้งหมด","All Years":"ปีทั้งหมด","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"หรือคุณสามารถอัปโหลดไฟล์โดยตรงไปยังเซิร์ฟเวอร์ WebDAV เช่น Nextcloud","Altitude":"ระดับความสูง","Altitude (m)":"ระดับความสูง (ม.)","AM":"เช้า","Animated":"เคลื่อนไหว","Animation":"แอนิเมชัน","Any private photos and videos remain private and won't be shared.":"รูปภาพและวิดีโอส่วนตัวทั้งหมดจะยังคงเป็นส่วนตัว และจะไม่แชร์กับผู้อื่น","API Key":"กุญแจ API","Application":"แอปพลิเคชัน","Apply":"ปรับใช้","Approve":"อนุมัติ","Apps and Devices":"แอพและอุปกรณ์","Archive":"คลังเก็บเอกสารสำคัญ","Archived":"ที่เก็บถาวร","Are you sure you want to archive the selection?":"คุณแน่ใจหรือไม่ว่าต้องการเก็บถาวรส่วนที่เลือก","Are you sure you want to delete these albums?":"คุณแน่ใจหรือไม่ว่าต้องการลบอัลบั้มเหล่านี้","Are you sure you want to delete these labels?":"คุณแน่ใจหรือไม่ว่าต้องการลบป้ายกำกับเหล่านี้","Are you sure you want to delete this account?":"คุณแน่ใจหรือไม่ว่าต้องการลบบัญชีนี้","Are you sure you want to permanently delete these pictures?":"คุณแน่ใจหรือไม่ว่าต้องการลบรูปภาพเหล่านี้อย่างถาวร","Are you sure you want to permanently delete this file?":"คุณแน่ใจหรือไม่ว่าต้องการลบไฟล์นี้อย่างถาวร","Are you sure?":"คุณแน่ใจหรือไม่?","Artist":"ศิลปิน","Aspect Ratio":"อัตราส่วน","Audio":"เสียง","Authentication":"การรับรองความถูกต้อง","Auto":"ออโต้","Back":"กลับ","Back to top":"กลับสู่ด้านบน","Backup":"สำรองข้อมูล","Badge":"ป้าย","Base Path":"เส้นทางฐาน","Become a member today, support our mission and enjoy our member benefits!":"เป็นสมาชิกวันนี้ สนับสนุนพันธกิจของเรา และเพลิดเพลินไปกับสิทธิประโยชน์สำหรับสมาชิกของเรา!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"ด้วยการจัดหาเงินทุนด้วยตนเองและเป็นอิสระ 100% เราสามารถสัญญากับคุณได้ว่าเราจะไม่ขายข้อมูลของคุณและเราจะมีความโปร่งใสเกี่ยวกับซอฟต์แวร์และบริการของเราเสมอ","Bio":"ไปโอ","Birth Date":"วันที่เกิด","Black":"สีดำ","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Lanczos Modification, Less Ringing Artifacts","Blue":"สีฟ้า","Brown":"สีน้ำตาล","Browse":"เรียกดู","Browse and edit image classification labels.":"เรียกดูและแก้ไขป้ายกำกับการจัดประเภทรูปภาพ","Browse and share your pictures organized into monthly albums.":"เรียกดูและแบ่งปันภาพถ่ายของคุณที่จัดอยู่ในอัลบั้มรายเดือน","Browse Files":"เรียกดูไฟล์","Browse indexed files and folders in Library.":"เรียกดูไฟล์และโฟลเดอร์ที่จัดทำดัชนีในไลบรารี","Bug Report":"รายงานข้อผิดพลาด","Busy, please wait…":"ไม่ว่าง โปรดรอ…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"โดยการใช้ซอฟต์แวร์และบริการที่เรามอบให้ แสดงว่าคุณยอมรับข้อกำหนดในการให้บริการ นโยบายความเป็นส่วนตัว และจรรยาบรรณของเรา","Calendar":"ปฏิทิน","Camera":"กล้อง","Camera Serial":"อนุกรมกล้อง","Can't access your authenticator app or device?":"ไม่สามารถเข้าถึงแอปหรืออุปกรณ์ยืนยันตัวตนของคุณได้ใช่ไหม","Can't load more, limit reached":"โหลดเพิ่มไม่ได้แล้ว หมดเขตแล้ว","Can't select more items":"ไม่สามารถเลือกรายการเพิ่มเติมได้","Cancel":"ยกเลิก","Caption":"คำบรรยาย","Cards":"การ์ด","Carousel slide {0} of {1}":"สไลด์หมุน {0} จาก {1}","Category":"หมวดหมู่","Change Avatar":"เปลี่ยนแฟล็กส่วนตัว","Change Password":"รหัสผ่านใหม่","Change personal profile and security settings.":"เปลี่ยนโปรไฟล์ส่วนบุคคลและการตั้งค่าความปลอดภัย","Change photo titles, locations, and other metadata.":"เปลี่ยนชื่อรูปภาพ สถานที่ และข้อมูลเมตาอื่นๆ","Change private flag":"เปลี่ยนแฟล็กส่วนตัว","Changes could not be saved":"ไม่สามารถบันทึกการเปลี่ยนแปลง","Changes successfully saved":"บันทึกการเปลี่ยนแปลงเรียบร้อยแล้ว","Changes to the advanced settings require a restart to take effect.":"การเปลี่ยนแปลงการตั้งค่าขั้นสูงจำเป็นต้องรีสตาร์ทจึงจะมีผล","Checked":"ตรวจสอบแล้ว","Chroma":"โครมา","Cleaning index and cache":"การทำความสะอาดดัชนีและแคช","Cleanup":"ทำความสะอาด","Clear {0}":"เคลียร์ {0}","Client":"ลูกค้า","Client Credentials":"ข้อมูลรับรองลูกค้า","Close":"ปิด","Codec":"ตัวแปลงสัญญาณ","Color":"สี","Color Profile":"สีโปรไฟล์","Colors":"สี","Compare Editions":"เปรียบเทียบรุ่น","Complete Rescan":"สแกนใหม่ให้เสร็จ","Confidence":"ค่าความมั่นใจ","Confirm":"ยืนยัน","Connect":"เชื่อมต่อ","Connect via WebDAV":"เชื่อมต่อผ่าน WebDAV","Connected":"เชื่อมต่อ","Contact Details":"ติดต่อเรา","Contact Us":"ติดต่อเรา","Contains %{n} pictures.":"มี %{n} รูป","Contains one picture.":"ประกอบด้วยหนึ่งภาพ","Content":"เนื้อหา","Continue":"ดำเนินการต่อ","Continue with %{provider}":"ดำเนินการต่อด้วย %{provider}","Contributor":"ผู้ให้ข้อมูล","Converting":"กำลังแปลง","Copied to clipboard":"คัดลอกไปยังคลิปบอร์ดแล้ว","Copy":"สำเนา","Copyright":"ลิขสิทธิ์","Couldn't find anything.":"ไม่พบอะไรเลย","Country":"ประเทศ","Create Account":"สร้างบัญชี","Create album":"สร้างอัลบั้ม","Create regular backups based on the configured schedule.":"สร้างการสำรองข้อมูลดัชนีตามกำหนดเวลาที่กำหนดไว้","Create YAML files to back up album metadata.":"สร้างไฟล์ YAML เพื่อสำรองข้อมูลเมตาของอัลบั้ม","Create YAML sidecar files to back up picture metadata.":"สร้างไฟล์ช่วยเหลือ YAML เพื่อสำรองข้อมูลเมตาของรูปภาพ","Created":"สร้างเมื่อ","Creating thumbnails for":"การสร้างภาพขนาดย่อสำหรับ","Cubic: Moderate Quality, Good Performance":"ลูกบาศก์: คุณภาพปานกลาง ประสิทธิภาพที่ดี","Current Password":"รหัสผ่านปัจจุบัน","Custom":"กำหนดเอง","Cyan":"สีฟ้า","Daily":"รายวัน","Database Backups":"การสำรองฐานข้อมูล","Day":"วัน","Deactivate":"ปิดการใช้งาน","Debug Logs":"บันทึกการดีบัก","Default":"ค่าเริ่มต้น","Default Folder":"โฟลเดอร์เริ่มต้น","Delete":"ลบ","Delete All":"ลบทั้งหมด","Delete all?":"ลบทั้งหมด?","Delete orphaned index entries, sidecar files and thumbnails.":"ลบรายการดัชนีที่ถูกละเลย ไฟล์รถเทียมข้างรถจักรยานยนต์ และภาพขนาดย่อ","Description":"คำอธิบาย","Detailed instructions can be found in our User Guide.":"คำแนะนำโดยละเอียดสามารถพบได้ในคู่มือผู้ใช้ของเรา","Details":"รายละเอียด","Dimensions":"ขนาด","Disable Backups":"ปิดการสำรองข้อมูล","Disable Darktable":"ปิดการใช้งาน Darktable","Disable ExifTool":"ปิดการใช้งาน ExifTool","Disable features that require write permission for the originals folder.":"ปิดใช้งานคุณลักษณะที่ต้องมีสิทธิ์ในการเขียนสำหรับโฟลเดอร์ต้นฉบับ","Disable FFmpeg":"ปิดการใช้งาน FFmpeg","Disable ImageMagick":"ปิดการใช้งาน ImageMagick","Disable interactive world maps and reverse geocoding.":"ปิดการใช้งานแผนที่โลกเชิงโต้ตอบและการเข้ารหัสทางภูมิศาสตร์แบบย้อนกลับ","Disable Places":"ปิดการใช้งานสถานที่","Disable RawTherapee":"ปิดการใช้งาน RawTherapee","Disable TensorFlow":"ปิดการใช้งาน TensorFlow","Disable Vectors":"ปิดการใช้งานเวกเตอร์","Disable WebDAV":"ปิดการใช้งาน WebDAV","Disables vector graphics support.":"ปิดใช้งานการสนับสนุนกราฟิกแบบเวกเตอร์","Disables video transcoding and thumbnail extraction.":"ปิดใช้งานการแปลงรหัสวิดีโอและการดึงภาพขนาดย่อ","Discover":"ค้นพบ","Dismiss":"อนุญาตให้ออกไป","Display Name":"ชื่อที่แสดง","Display picture captions in search results.":"แสดงคำบรรยายภาพในผลการค้นหา","Display picture titles in search results.":"แสดงชื่อรูปภาพในผลการค้นหา","Document":"เอกสาร","Documents":"เอกสาร","Don't use Darktable to convert RAW images.":"อย่าใช้ Darktable เพื่อแปลงไฟล์ RAW","Don't use ImageMagick to convert images.":"อย่าใช้ ImageMagick เพื่อแปลงรูปภาพ","Don't use RawTherapee to convert RAW images.":"อย่าใช้ RawTherapee เพื่อแปลงไฟล์ RAW","Done":"เสร็จแล้ว","Done.":"เสร็จแล้ว.","Download":"ดาวน์โหลด","Download only original media files, without any automatically generated files.":"ดาวน์โหลดเฉพาะไฟล์มีเดียต้นฉบับ โดยไม่มีไฟล์ที่สร้างขึ้นโดยอัตโนมัติ","Download remote files":"ดาวน์โหลดไฟล์ระยะไกล","Download single files and zip archives.":"ดาวน์โหลดไฟล์เดี่ยวและไฟล์ zip","Downloading…":"กำลังดาวน์โหลด…","Downscaling Filter":"ตัวกรองการลดขนาด","Drag and drop files here":"ลากและวางไฟล์ที่นี่","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"เนื่องจากเราได้รับอีเมลเป็นจำนวนมาก ทีมงานของเราจึงอาจไม่สามารถติดต่อกลับได้ทันที","Duplicates will be skipped and only appear once.":"รายการที่ซ้ำกันจะถูกข้ามและปรากฏเพียงครั้งเดียว","Duration":"ระยะเวลา","Dynamic Previews":"การแสดงตัวอย่างแบบไดนามิก","Dynamic Size Limit: %{n}px":"ขีดจำกัดขนาดไดนามิก: %{n}px","E-Mail":"อีเมล","Edit":"แก้ไข","Edit %{s}":"แก้ไข %{s}","Edit Account":"แก้ไขบัญชี","Edit Photo":"แก้ไขรูปภาพ","Edited":"แก้ไขแล้ว","Email":"อีเมล","Enable debug mode to display additional logs and help with troubleshooting.":"เปิดใช้งานโหมดแก้ไขข้อบกพร่องเพื่อแสดงบันทึกเพิ่มเติมและช่วยเหลือในการแก้ปัญหา","Enable new features that may be incomplete or unstable.":"เปิดใช้งานฟีเจอร์ใหม่ที่อาจไม่สมบูรณ์หรือไม่เสถียร","Enables RAW converter presets. May reduce performance.":"เปิดใช้งานการตั้งค่าล่วงหน้าของตัวแปลง RAW อาจลดประสิทธิภาพลง","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"การเปิดใช้งานการตรวจสอบสิทธิ์แบบสองปัจจัยหมายความว่าคุณจะต้องใช้รหัสยืนยันที่สร้างขึ้นแบบสุ่มเพื่อเข้าสู่ระบบ ดังนั้นแม้ว่าจะมีคนเข้าถึงรหัสผ่านของคุณ พวกเขาจะไม่สามารถเข้าถึงบัญชีของคุณได้","Enter date":"กรอกวันที่","Enter dates":"ป้อนวันที่","Enter the code generated by your authenticator app:":"ป้อนรหัสที่สร้างโดยแอปพลิเคชันการตรวจสอบสิทธิ์ของคุณ:","Enter verification code":"ระบุรหัสยืนยืน","Enter your password to confirm the action and continue:":"ป้อนรหัสผ่านของคุณเพื่อยืนยันการดำเนินการและดำเนินการต่อ:","Error":"ข้อผิดพลาด","Errors":"ข้อผิดพลาด","Estimate":"ประมาณการ","Estimate Locations":"สถานที่ประมาณการ","Estimate the approximate location of pictures without GPS coordinates.":"ประมาณตำแหน่งโดยประมาณของรูปภาพโดยปราศจากพิกัด GPS","Every two days":"ทุกสองวัน","Exclude content marked as private from search results, shared albums, labels, and places.":"ยกเว้นเนื้อหาที่ทำเครื่องหมายว่าเป็นส่วนตัวจากผลการค้นหา อัลบั้มที่แชร์ ป้ายกำกับ และสถานที่","Exclude hidden":"ไม่รวมซ่อน","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"จำเป็นต้องมีการแยกข้อมูลเมตาด้วย ExifTool เพื่อสนับสนุนวิดีโอเต็มรูปแบบ Live Photo และ XMP","Experimental Features":"คุณสมบัติทดลอง","Expires":"หมดอายุ","Exposure":"การเปิดรับ","Extract still images and generate thumbnails while indexing.":"สกัดภาพนิ่งและสร้างภาพขนาดย่อในระหว่างการสร้างดัชนี","F Number":"F Number","Face":"ใบหน้า","Faces":"ใบหน้า","Failed removing link":"ลบลิงค์ไม่สำเร็จ","Failed to connect account.":"ไม่สามารถเชื่อมต่อบัญชีได้","Failed updating link":"ไม่สามารถอัปเดตลิงก์","Family Name":"นามสกุล","Fast":"เร็ว","Favorite":"ที่ชื่นชอบ","Favorites":"รายการโปรด","Feature Request":"คำขอคุณสมบัติ","Feedback":"ข้อเสนอแนะ","Female":"หญิง","File":"ไฟล์","File Browser":"ไฟล์เบราว์เซอร์","File Conversion":"การแปลงไฟล์","File Name":"ชื่อไฟล์","File Size":"ไฟล์","Filename":"ชื่อไฟล์","Files":"ไฟล์","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"ไฟล์ที่มีชื่อตามลำดับ เช่น 'IMG_1234 (2)' และ 'IMG_1234 (3)' เป็นของรูปภาพเดียวกัน","First page":"หน้าแรก","Focal Length":"ความยาวโฟกัส","Folder":"โฟลเดอร์","Folder contains %{n} files":"โฟลเดอร์มี %{n} ไฟล์","Folder is empty":"โฟลเดอร์ว่างเปล่า","Folders":"โฟลเดอร์","Forgot password?":"ลืมรหัสผ่าน?","FPS":"FPS","Frames":"เฟรม","Full Access":"การเข้าถึงแบบเต็ม","Fullscreen":"เต็มจอ","General":"ทั่วไป","Generate":"สร้าง","Generate albums of special moments, journeys, and places.":"สร้างอัลบั้มของช่วงเวลาพิเศษ การเดินทาง และสถานที่ต่าง ๆ โดยอัตโนมัติ","Generate Previews":"สร้างการแสดงตัวอย่าง","Generated":"สร้างขึ้น","Get Started":"เริ่มต้นใช้งาน","Given Name":"ชื่อจริง","Global Options":"ตัวเลือกระดับโลก","Go to page {0}":"ไปที่หน้า {0}","Gold":"ทอง","Green":"สีเขียว","Grey":"สีเทา","Guest":"แขก","Hash":"กัญชา","Help":"ช่วย","Help & Support":"ช่วยเหลือและสนับสนุน","Hidden":"ที่ซ่อนอยู่","Hidden Files":"ไฟล์ที่ซ่อนอยู่","Hide":"ซ่อน","Hide photos that have been moved to archive.":"ซ่อนรูปภาพที่ถูกย้ายไปเก็บถาวร","High":"สูง","High Dynamic Range (HDR)":"ช่วงไดนามิกสูง (HDR)","How can we help?":"เราจะช่วยได้อย่างไร?","Hybrid":"ไฮบริด","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"หากคุณสูญเสียการเข้าถึงแอปหรืออุปกรณ์ยืนยันตัวตน คุณสามารถใช้รหัสกู้คืนเพื่อเข้าถึงบัญชีของคุณได้อีกครั้ง","Image":"ภาพ","Image Quality":"คุณภาพของภาพ","Import":"นำเข้า","Import failed":"นำเข้าไม่สำเร็จ","Imported files will be sorted by date and given a unique name to avoid duplicates.":"ไฟล์ที่นำเข้าจะถูกจัดเรียงตามวันที่และกำหนดชื่อเฉพาะเพื่อหลีกเลี่ยงการซ้ำซ้อน","Imported files will be sorted by date and given a unique name.":"ไฟล์ที่นำเข้าจะถูกจัดเรียงตามวันที่และกำหนดชื่อเฉพาะ","Importing %{s}…":"กำลังนำเข้า %{s}…","Importing files to originals…":"กำลังนำเข้าไฟล์ไปยังต้นฉบับ…","in":"ใน","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"ในกรณีที่รูปภาพที่คุณคาดว่าจะหายไป โปรดสแกนไลบรารีของคุณอีกครั้งและรอจนกว่าการจัดทำดัชนีจะเสร็จสมบูรณ์","Include RAW image files when downloading stacks and archives.":"รวมไฟล์ภาพ RAW เมื่อดาวน์โหลดสแต็คและไฟล์เก็บถาวร","Include sidecar files when downloading stacks and archives.":"รวมไฟล์ sidecar เมื่อดาวน์โหลดสแต็คและไฟล์เก็บถาวร","Increase storage size or delete files to continue.":"เพิ่มขนาดพื้นที่เก็บข้อมูลหรือลบไฟล์เพื่อดำเนินการต่อ","Index":"ดัชนี","Index and import files through the user interface.":"จัดทำดัชนีและนำเข้าไฟล์ผ่านอินเทอร์เฟซผู้ใช้","Indexing":"การจัดทำดัชนี","Indexing failed":"การจัดทำดัชนีล้มเหลว","Indexing media and sidecar files…":"กำลังสร้างดัชนีสื่อและไฟล์ไซด์คาร์…","Information":"ข้อมูล","Instance ID":"รหัสอินสแตนซ์","Insufficient storage.":"พื้นที่เก็บข้อมูลไม่เพียงพอ.","Interval":"ช่วงเวลา","Invalid":"วันที่ไม่ถูกต้อง","Invalid address":"ที่อยู่ไม่ถูกต้อง","Invalid country":"ประเทศไม่ถูกต้อง","Invalid date":"วันที่ไม่ถูกต้อง","Invalid parameters":"วันที่ไม่ถูกต้อง","Invalid photo selected":"เลือกรูปภาพไม่ถูกต้อง","Invalid time":"เวลาไม่ถูกต้อง","Invalid URL":"URL ไม่ถูกต้อง","It is a one-time use code that will disable 2FA for your account when you use it.":"เป็นรหัสแบบใช้ครั้งเดียวที่จะปิดการใช้งาน 2FA สำหรับบัญชีของคุณเมื่อคุณใช้งาน","Item":"สิ่งของ","Items per page:":"รายการต่อหน้า:","JPEG Quality: %{n}":"คุณภาพ JPEG: %{n}","JPEG Size Limit: %{n}px":"ขีดจำกัดขนาด JPEG: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"JPEG และภาพขนาดย่อจะแสดงผลโดยอัตโนมัติตามต้องการ","Keywords":"คีย์เวิร์ด","Label":"ฉลาก","Labels":"ป้าย","Labels deleted":"ป้ายกำกับถูกลบ","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: การเก็บรายละเอียด สิ่งประดิษฐ์น้อยที่สุด","Language":"ภาษา","Last Active":"ใช้งานล่าสุด","Last Login":"เข้าสู่ระบบครั้งล่าสุด","Last page":"หน้าสุดท้าย","Last Sync":"ซิงค์ล่าสุด","Last Used":"ใช้ล่าสุด","Latitude":"ละติจูด","LDAP/AD":"แอลดีเอพี/ค.ศ","Learn more":"เรียนรู้เพิ่มเติม","Learn More":"เรียนรู้เพิ่มเติม","Legal Information":"ข้อมูลทางกฎหมาย","Lens":"เลนส์","Library":"ห้องสมุด","License":"ใบอนุญาต","Like":"ชอบ","Lime":"มะนาว","Limit reached, showing first %{n} files":"ถึงขีดจำกัดแล้ว กำลังแสดง %{n} ไฟล์แรก","Linear: Very Smooth, Best Performance":"เชิงเส้น: ราบรื่นมาก ประสิทธิภาพดีที่สุด","Link":"ลิงค์","List":"รายการ","List View":"มุมมองรายการ","Live":"สด","Live Photos":"ภาพถ่าย","Load more":"โหลดเพิ่มเติม","Loading items...":"กำลังโหลดรายการ...","Loading...":"กำลังโหลด...","Local":"ท้องถิ่น","Local Time":"เวลาท้องถิ่น","Location":"ที่ตั้ง","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"ข้อความบันทึกจะปรากฏที่นี่ทุกครั้งที่ PhotoPrism เจอไฟล์เสีย หรือมีปัญหาอื่นๆ ที่อาจเกิดขึ้น","Login":"เข้าสู่ระบบ","Logout":"ออกจากระบบ","Logs":"บันทึก","Longitude":"ลองจิจูด","Low":"ต่ำ","Magenta":"สีม่วงแดง","Main Color":"สีหลัก","Male":"ชาย","Manage Account":"จัดการบัญชี","Manual":"คู่มือ","Manual Upload":"อัพโหลดด้วยตนเอง","Maps":"แผนที่","Marker":"เครื่องหมาย","Maximum number of accounts has been reached.":"จำนวนบัญชีถึงขีดจำกัดแล้ว","Media":"สื่อมวลชน","Medium":"ปานกลาง","Membership":"การเป็นสมาชิก","Merge %{a} with %{b}?":"ผสาน %{a} กับ %{b}?","Message":"ข้อความ","Message sent":"ส่งข้อความ","Metadata":"ข้อมูลเมตา","Metrics":"เมตริก","Minimize":"ย่อเล็กสุด","Missing":"หายไป","Missing or invalid configuration":"การกำหนดค่าหายไปหรือไม่ถูกต้อง","Moments":"ช่วงเวลา","Monochrome":"ขาวดำ","Month":"เดือน","More options":"ตัวเลือกเพิ่มเติม","Mosaic":"โมเสก","Most Relevant":"ที่เกี่ยวข้องมากที่สุด","Move Files":"ย้ายไฟล์","Must have at least %{n} characters.":"ต้องมีอักขระอย่างน้อย %{n} ตัว","Mute":"ปิดเสียง","Name":"ชื่อ","Name too long":"ชื่อยาวเกินไป","Never":"ไม่เคย","New":"ใหม่","New Password":"รหัสผ่านใหม่","Newest First":"ใหม่ล่าสุดก่อน","Next":"ต่อไป","Next page":"หน้าถัดไป","Next visual":"ภาพถัดไป","No":"ไม่","No albums found":"ไม่พบอัลบั้ม","No data available":"ไม่มีข้อมูล","No labels found":"ไม่พบป้ายกำกับ","No matching records found":"ไม่พบรายการที่ตรงกัน","No more":"ไม่มีอีกต่อไป","No people found":"ไม่พบผู้คน","No pictures found":"ไม่พบรูปภาพ","No recently edited pictures":"ไม่มีรูปภาพที่แก้ไขล่าสุด","No server connection":"ไม่มีการเชื่อมต่อกับเซิร์ฟเวอร์","No servers configured.":"ไม่มีการกำหนดค่าเซิร์ฟเวอร์","No services configured.":"ไม่มีการกำหนดค่าเซิร์ฟเวอร์","No thanks":"ไม่เป็นไรขอบคุณ","No warnings or error containing this keyword. Note that search is case-sensitive.":"ไม่มีคำเตือนหรือข้อผิดพลาดที่มีคีย์เวิร์ดนี้ โปรดทราบว่าการค้นหาคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่","Non-photographic and low-quality images require a review before they appear in search results.":"รูปภาพที่ไม่ใช่ภาพถ่ายและคุณภาพต่ำต้องได้รับการตรวจสอบก่อนที่จะปรากฏในผลการค้นหา","None":"ไม่มี","Not allowed":"ไม่อนุญาต","Not found":"ไม่พบ","Not sorted.":"ไม่ได้จัดเรียง","Not supported":"ไม่รองรับ","Note you may manually manage your originals folder and importing is optional.":"โปรดทราบว่าคุณสามารถจัดการโฟลเดอร์ต้นฉบับของคุณได้ด้วยตนเอง และการนำเข้าเป็นทางเลือก","Note:":"บันทึก:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"หมายเหตุ: เฉพาะเซิร์ฟเวอร์ WebDAV เช่น Nextcloud หรือ PhotoPrism เท่านั้นที่สามารถกำหนดค่าเป็นบริการระยะไกลสำหรับการสำรองข้อมูลและการอัปโหลดไฟล์","Notes":"หมายเหตุ","Nothing to see here yet.":"ยังไม่มีอะไรให้ดูที่นี่ อดทน","Nothing was found.":"ไม่พบสิ่งใด","Offline":"ออฟไลน์","OIDC":"คปภ","OK":"ตกลง","Oldest First":"เก่าสุดก่อน","On Windows, enter the following resource in the connection dialog:":"บน Windows ให้ป้อนทรัพยากรต่อไปนี้ในกล่องโต้ตอบการเชื่อมต่อ:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"การสร้างภาพขนาดย่อตามความต้องการอาจทำให้มีการใช้งาน CPU และหน่วยความจำสูง ไม่แนะนำสำหรับเซิร์ฟเวอร์และอุปกรณ์ NAS ที่จำกัดทรัพยากร","Once a week":"สัปดาห์ละครั้ง","One album found":"พบหนึ่งอัลบั้ม","One file found":"พบหนึ่งไฟล์","One file uploaded":"อัปโหลดแล้วหนึ่งไฟล์","One folder found":"พบหนึ่งโฟลเดอร์","One label found":"พบหนึ่งป้าย","One person found":"พบหนึ่งคน","One picture found":"พบหนึ่งภาพ","Only locally managed accounts can be set up for authentication with 2FA.":"เฉพาะบัญชีที่จัดการภายในเครื่องเท่านั้นที่สามารถตั้งค่าสำหรับการตรวจสอบสิทธิ์ด้วย 2FA ได้","Open":"เปิด","optional":"ไม่จำเป็น","or":"หรือ","Orange":"ส้ม","Organization":"ปฐมนิเทศ","Orientation":"ปฐมนิเทศ","Original file names will be stored and indexed.":"ชื่อไฟล์ต้นฉบับจะถูกจัดเก็บและจัดทำดัชนี","Original Name":"ชื่อจริง","Originals":"ต้นฉบับ","Other":"อื่น","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"ภารกิจของเราคือการจัดหาโซลูชันที่เป็นมิตรต่อผู้ใช้และความเป็นส่วนตัวมากที่สุด เพื่อให้รูปภาพของคุณเป็นระเบียบและเข้าถึงได้","Outdoor":"กลางแจ้ง","Page {0}, Current page":"หน้า {0}, หน้าปัจจุบัน","Pages":"หน้า","Pagination Navigation":"การนำทางการแบ่งหน้า","Panorama":"พาโนรามา","Panoramas":"พาโนรามา","Password":"รหัสผ่าน","Password changed":"รหัสผ่านเปลี่ยน","People":"ประชากร","People you share a link with will be able to view public contents.":"คนที่คุณแชร์ลิงก์ด้วยจะสามารถดูเนื้อหาสาธารณะได้","Permanently deleted":"ลบอย่างถาวร","Permanently remove files to free up storage.":"ลบไฟล์อย่างถาวรเพื่อเพิ่มพื้นที่จัดเก็บ","Person":"บุคคล","Personal":"ส่วนตัว","Photo":"รูปถ่าย","PhotoPrism is 100% self-funded and independent.":"PhotoPrism ใช้เงินตัวเอง 100% และเป็นอิสระ","PhotoPrism+ Membership":"PhotoPrism+ การเป็นสมาชิก","Photos":"ภาพถ่าย","Picture Title":"ชื่อภาพ","Pink":"สีชมพู","Place":"สถานที่","Place & Time":"สถานที่และเวลา","Places":"สถานที่","Please confirm your new password.":"กรุณายืนยันรหัสผ่านใหม่ของคุณ","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"โปรดคัดลอกรหัสผ่านสำหรับแอปที่สร้างขึ้นแบบสุ่มต่อไปนี้และเก็บไว้ในที่ปลอดภัย เนื่องจากคุณจะไม่สามารถดูได้อีก:","Please do not upload any private, unlawful or offensive pictures.":"กรุณาอย่าอัพโหลดภาพส่วนตัว ผิดกฎหมาย หรือไม่เหมาะสม","Please don't upload photos containing offensive content.":"กรุณาอย่าอัปโหลดรูปภาพที่มีเนื้อหาที่ไม่เหมาะสม","Please enter OTP character {0}":"กรุณากรอกรหัส OTP {0}","Please note that changing your password will log you out on other devices and browsers.":"โปรดทราบว่าการเปลี่ยนรหัสผ่านจะทำให้คุณออกจากระบบบนอุปกรณ์และเบราว์เซอร์อื่นๆ","Please restart your instance for the changes to take effect.":"โปรดรีสตาร์ทอินสแตนซ์ของคุณเพื่อให้การเปลี่ยนแปลงมีผล","Please wait…":"โปรดรอ…","PM":"นายกฯ","PNG Size Limit: %{n}px":"ขีดจำกัดขนาด PNG: %{n}px","Portrait":"ภาพเหมือน","Preserve filenames":"รักษาชื่อไฟล์","Press enter to create a new album.":"กด Enter เพื่อสร้างอัลบั้มใหม่","Prevent database and album backups as well as YAML sidecar files from being created.":"ป้องกันการสำรองข้อมูลฐานข้อมูลและอัลบั้ม รวมถึงไฟล์ช่วยเหลือ YAML ไม่ให้ถูกสร้างขึ้น","Prevent other apps from accessing PhotoPrism as a shared network drive.":"ป้องกันไม่ให้แอปอื่นเข้าถึง PhotoPrism เป็นไดรฟ์เครือข่ายที่ใช้ร่วมกัน","Preview":"ดูตัวอย่าง","Preview Images":"ดูตัวอย่างรูปภาพ","Previous":"ก่อนหน้า","Previous page":"หน้าก่อน","Previous visual":"ภาพก่อนหน้า","Primary":"หลัก","Private":"ส่วนตัว","Product Feedback":"คำติชมสินค้า","Projection":"การฉายภาพ","Purple":"สีม่วง","Quality Filter":"ตัวกรองคุณภาพ","Quality Score":"คะแนนคุณภาพ","r":"ร","Random":"สุ่ม","Rating {0} of {1}":"คะแนน {0} จาก {1}","Raw":"ดิบ","RAW":"ดิบ","Re-index all originals, including already indexed and unchanged files.":"จัดทำดัชนีต้นฉบับทั้งหมดใหม่ รวมทั้งไฟล์ที่จัดทำดัชนีแล้วและไม่เปลี่ยนแปลง","Read-Only Mode":"โหมดอ่านอย่างเดียว","Recently Added":"เพิ่มมาเร็ว ๆ นี้","Recently Archived":"เก็บถาวรเมื่อเร็วๆ นี้","Recently Edited":"แก้ไขล่าสุด","Recognition starts after indexing has been completed.":"การรับรู้เริ่มต้นหลังจากการจัดทำดัชนีเสร็จสิ้น","Recognize faces so people can be assigned and found.":"จดจำใบหน้าเพื่อให้สามารถค้นหาบุคคลที่เฉพาะเจาะจงได้","Recognized":"ได้รับการยอมรับ","Recovery Code":"รหัสการกู้คืน","Red":"สีแดง","Refresh":"รีเฟรช","Regions":"ภูมิภาค","Register":"ลงทะเบียน","Reload":"โหลดซ้ำ","Reloading…":"กำลังโหลดซ้ำ…","Remote Sync":"ซิงค์ระยะไกล","Remove":"ลบ","remove failed: unknown album":"การลบล้มเหลว: อัลบั้มที่ไม่รู้จัก","Remove from Album":"นำออกจากอัลบั้ม","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"ลบไฟล์ที่นำเข้าเพื่อประหยัดพื้นที่จัดเก็บ ประเภทไฟล์ที่ไม่รองรับจะไม่ถูกลบ โดยจะยังคงอยู่ในตำแหน่งปัจจุบัน","Request failed - are you offline?":"คำขอล้มเหลว - คุณออฟไลน์อยู่หรือไม่","Request failed - invalid response":"คำขอล้มเหลว - ตอบกลับไม่ถูกต้อง","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"กำหนดให้ต้องตรวจสอบรูปภาพที่ไม่ใช่ภาพถ่ายและคุณภาพต่ำก่อนที่จะปรากฏในผลการค้นหา","Resolution":"ปณิธาน","Restart":"เริ่มต้นใหม่","Restore":"คืนค่า","Restored":"ฟื้นฟูแล้ว","Retry Limit":"ขีดจำกัดการลองใหม่","Retype Password":"พิมพ์รหัสผ่านอีกครั้ง","Review":"ทบทวน","Role":"บทบาท","Rows per page:":"จำนวนแถวต่อหน้า:","Satellite":"ดาวเทียม","Save":"บันทึก","Scan":"สแกน","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"สแกนโค้ด QR ด้วยแอปยืนยันตัวตนของคุณ หรือใช้คีย์การตั้งค่าที่แสดงด้านล่าง จากนั้นป้อนรหัสยืนยันที่สร้างขึ้น:","Scans":"สแกน","Scope":"ขอบเขต","Search":"ค้นหา","Search and display photos on a map.":"ค้นหาและแสดงภาพถ่ายบนแผนที่","Season":"ฤดูกาล","Secret":"ความลับ","Security and Access":"ความปลอดภัยและการเข้าถึง","Select":"เลือก","Select a source folder to import files…":"เลือกโฟลเดอร์ต้นทางที่จะนำเข้าไฟล์…","Select date":"เลือกวันที่","Select dates":"เลือกวันที่","Select or create an album":"เลือกหรือสร้างอัลบั้ม","Select the files to upload…":"เลือกไฟล์ที่จะอัพโหลด…","Select the folder to be indexed…":"เลือกโฟลเดอร์ที่จะสร้างดัชนี…","Select Time":"เลือกเวลา","Selection approved":"อนุมัติการคัดเลือก","Selection archived":"การเลือกที่เก็บถาวร","Selection restored":"คืนค่าการเลือกแล้ว","Sequential Name":"ชื่อลำดับ","Service URL":"URL บริการ","Services":"URL บริการ","Session":"การประชุม","Session ID":"รหัสเซสชัน","Sessions":"เซสชัน","Set as Album Cover":"ตั้งเป็นปกอัลบั้ม","Settings":"การตั้งค่า","Settings saved":"การตั้งค่าที่บันทึกไว้","Setup":"ติดตั้ง","Share":"แบ่งปัน","Share %{s}":"แบ่งปัน %{s}","Share your pictures with other apps and services.":"แบ่งปันรูปภาพของคุณกับแอพและบริการอื่นๆ","Show":"แสดง","Show all new faces":"แสดงใบหน้าใหม่ทั้งหมด","Show Captions":"แสดงคำบรรยาย","Show hidden":"แสดงที่ซ่อนอยู่","Show less":"แสดงน้อยลง","Show more":"แสดงมากขึ้น","Show server logs in Library.":"แสดงบันทึกเซิร์ฟเวอร์ในไลบรารี","Show Titles":"แสดงชื่อเรื่อง","Sidecar":"ไซด์คาร์","Sidecar Files":"ไฟล์รถไซด์คาร์","Sign in":"เข้าสู่ระบบ","Similar":"คล้ายกัน","Size":"ขนาด","Slideshow":"สไลด์โชว์","Slow":"ช้า","Software":"ซอฟต์แวร์","Software Update":"การอัปเดตซอฟต์แวร์","Something went wrong, try again":"เกิดข้อผิดพลาด โปรดลองอีกครั้ง","Sort by":"จัดเรียงตาม","Sort Order":"เรียงลำดับ","Sorted ascending.":"เรียงลำดับจากน้อยไปมาก","Sorted descending.":"เรียงลำดับจากมากไปน้อย","Source":"แหล่งที่มา","Stack":"ซ้อนกัน","Stack files sharing the same unique image or instance identifier.":"สแต็คไฟล์ที่แชร์รูปภาพที่ไม่ซ้ำกันหรือตัวระบุอินสแตนซ์เดียวกัน","Stack pictures taken at the exact same time and location based on their metadata.":"กองรูปภาพที่ถ่ายในเวลาและสถานที่เดียวกันโดยอิงตามข้อมูลเมตา","Stackable":"วางซ้อนกันได้","Stacks":"กอง","Start":"เริ่ม","Start Page":"หน้าแรก","Static Size Limit: %{n}px":"ขีดจำกัดขนาดคงที่: %{n}px","Status":"สถานะ","Storage":"พื้นที่จัดเก็บ","Streets":"ถนน","Subject":"เรื่อง","Submit":"ส่ง","Successfully activated":"เปิดใช้งานสำเร็จแล้ว","Successfully Connected":"เชื่อมต่อเรียบร้อยแล้ว","Successfully deleted":"ลบเรียบร้อยแล้ว","Successfully verified":"ตรวจสอบเรียบร้อยแล้ว","Super Admin":"ผู้ดูแลระบบขั้นสูง","Support for additional services, like Google Drive, will be added over time.":"การสนับสนุนบริการเพิ่มเติม เช่น Google ไดรฟ์ จะถูกเพิ่มเข้ามาเรื่อยๆ","Support Our Mission":"สนับสนุนภารกิจของเรา","Sync":"ซิงค์","Sync raw and video files":"ซิงค์ไฟล์ดิบและวิดีโอ","Taken":"ถ่าย","Teal":"นกเป็ดน้ำ","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"ต้องใช้ TensorFlow สำหรับการจัดหมวดหมู่รูปภาพ การจดจำใบหน้า และการตรวจจับเนื้อหาที่ไม่ปลอดภัย","Terrain":"ภูมิประเทศ","Text":"ข้อความ","Text too long":"ข้อความยาวเกินไป","Thank You for Your Support!":"ขอบคุณสำหรับการสนับสนุน!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"นั่นเป็นเหตุผลที่ PhotoPrism ถูกสร้างขึ้นใหม่ทั้งหมดเพื่อให้ทำงานได้ทุกที่ที่คุณต้องการ โดยไม่กระทบต่อเสรีภาพ ความเป็นส่วนตัว หรือฟังก์ชันการทำงาน","The index currently contains %{n} hidden files.":"ขณะนี้ดัชนีมีไฟล์ที่ซ่อนอยู่ %{n} ไฟล์","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"รูปแบบของไฟล์อาจไม่ได้รับการสนับสนุน ยังไม่ได้แปลงเป็น JPEG หรือมีรูปแบบที่ซ้ำกัน","Theme":"ธีม","This field is required":"ฟิลด์นี้จำเป็นต้องกรอก","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"การดำเนินการนี้จะต่อเชื่อมโฟลเดอร์ต้นฉบับเป็นไดรฟ์เครือข่าย และช่วยให้คุณสามารถเปิด แก้ไข และลบไฟล์จากคอมพิวเตอร์หรือสมาร์ทโฟนได้เสมือนอยู่ในเครื่อง","Time UTC":"เวลาUTC","Time Zone":"เขตเวลา","Timeout":"หมดเวลา","Title":{"Account":"ชื่อ","Photo":"ชื่อ","":"ชื่อ"},"Title / Position":"ชื่อเรื่องยาวเกินไป","Title too long":"ชื่อเรื่องยาวเกินไป","to":"ถึง","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"เพื่อหลีกเลี่ยงการถูกล็อคออกจากบัญชีของคุณ โปรดดาวน์โหลด พิมพ์ หรือคัดลอกรหัสกู้คืนนี้ทันทีและเก็บไว้ในที่ปลอดภัย","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"หากต้องการสร้างรหัสผ่านเฉพาะแอปใหม่ โปรดป้อนชื่อและขอบเขตการอนุญาตของแอปพลิเคชัน และเลือกวันหมดอายุ:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"หากต้องการสลับไปใช้แอพหรืออุปกรณ์ตรวจสอบความถูกต้องใหม่ ให้ปิดการใช้งานการตรวจสอบสิทธิ์แบบสองปัจจัยก่อนแล้วจึงเปิดใช้งานอีกครั้ง:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"หากต้องการอัปเกรด คุณสามารถป้อนรหัสเปิดใช้งานหรือคลิก \"ลงทะเบียน\" เพื่อลงทะเบียนบนเว็บไซต์ของเรา:","Today":"วันนี้","Toggle View":"สลับมุมมอง","Token":"โทเค็น","Too many files selected":"เลือกไฟล์มากเกินไป","Too many requests":"คำขอมากเกินไป","Troubleshooting":"การแก้ไขปัญหา","Try again using other filters or keywords.":"ลองอีกครั้งโดยใช้ตัวกรองหรือคำหลักอื่น","Two-factor authentication has been enabled for your account.":"เปิดใช้งานการรับรองความถูกต้องด้วยสองปัจจัยสำหรับบัญชีของคุณแล้ว","Type":"พิมพ์","Unauthorized":"ไม่ได้รับอนุญาต","Undo":"เลิกทำ","Unique ID":"ID ไม่ซ้ำกัน","Unknown":"ไม่รู้จัก","Unregistered":"ไม่ได้ลงทะเบียน","Unsorted":"ไม่เรียงลำดับ","Unstack":"แกะ","Updated":"อัปเดต","Updating faces":"กำลังอัปเดตใบหน้า","Updating index":"กำลังอัปเดตดัชนี","Updating moments":"กำลังอัปเดตช่วงเวลา","Updating picture…":"กำลังอัปเดตตัวอย่าง","Updating previews":"กำลังอัปเดตตัวอย่าง","Updating stacks":"กำลังอัปเดตกอง","Upgrade":"อัปเกรด","Upgrade Now":"อัพเกรดเดี๋ยวนี้","Upload":"ที่อัพโหลด","Upload complete":"อัพโหลดเสร็จแล้ว","Upload complete. Indexing…":"อัพโหลดเสร็จแล้ว กำลังจัดทำดัชนี…","Upload failed":"การอัพโหลดล้มเหลว","Upload local files":"อัปโหลดไฟล์ในเครื่อง","Upload Path":"อัปโหลดเส้นทาง","Upload to WebDAV and share links with friends.":"อัปโหลดไปยัง WebDAV และแชร์ลิงก์กับเพื่อน","Uploading %{n} of %{t}…":"กำลังอัปโหลด %{n} จาก %{t}…","Uploading photos…":"กำลังอัปโหลดรูปภาพ…","Uploading…":"กำลังโหลดซ้ำ…","Uploads that may contain such images will be rejected automatically.":"การอัปโหลดที่อาจมีภาพดังกล่าวจะถูกปฏิเสธโดยอัตโนมัติ","Use Presets":"ใช้พรีเซ็ต","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"ใช้รหัสกู้คืนต่อไปนี้เพื่อเข้าถึงบัญชีของคุณเมื่อคุณไม่สามารถสร้างรหัสยืนยันที่ถูกต้องด้วยแอปตรวจสอบสิทธิ์ของคุณได้:","Use your recovery code or contact an administrator for help.":"ใช้รหัสกู้คืนของคุณหรือติดต่อผู้ดูแลระบบเพื่อขอความช่วยเหลือ","User":"ผู้ใช้","User Guide":"คู่มือผู้ใช้","User Interface":"หน้าจอผู้ใช้","Username":"ชื่อผู้ใช้","Users":"ผู้ใช้","Vector":"เวกเตอร์","Vectors":"เวกเตอร์","Verification Code":"รหัสยืนยัน","Video":"วีดีโอ","Video Duration":"ระยะเวลา","Videos":"วิดีโอ","View":"ดู","View search results as a list.":"ดูผลลัพธ์การค้นหาเป็นรายการ","Viewer":"ผู้ดู","Visitor":"ผู้เข้าชม","Visual Similarity":"จัดกลุ่มตามความเหมือน","Warning":"คำเตือน","We appreciate your feedback!":"ขอขอบคุณสำหรับความคิดเห็นของคุณ!","We do our best to respond within five business days or less.":"เราพยายามอย่างเต็มที่ที่จะตอบกลับภายในห้าวันทำการหรือน้อยกว่านั้น","Web Login":"เข้าสู่ระบบเว็บ","WebDAV":"เว็บDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"ไคลเอ็นต์ WebDAV สามารถเชื่อมต่อกับ PhotoPrism โดยใช้ URL ต่อไปนี้:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"ไคลเอนต์ WebDAV เช่น Windows Explorer ของ Microsoft หรือ Finder ของ Apple สามารถเชื่อมต่อโดยตรงกับ PhotoPrism","WebDAV Upload":"อัพโหลด WebDAV","WebGL support is disabled in your browser":"การรองรับ WebGL ถูกปิดใช้งานในเบราว์เซอร์ของคุณ","Website":"เว็บไซต์","White":"สีขาว","Work Details":"รายละเอียด","Year":"ปี","Yellow":"สีเหลือง","Yes":"ใช่","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"คุณสามารถติดต่อเราได้ที่ membership@photoprism.app สำหรับคำถามเกี่ยวกับการเป็นสมาชิกของคุณ","You can only download one album":"ดาวน์โหลดได้เพียงอัลบั้มเดียว","You can only download one label":"คุณสามารถดาวน์โหลดป้ายกำกับได้เพียงป้ายเดียว","You can upload up to %{n} files for test purposes.":"คุณสามารถอัปโหลดไฟล์ได้มากถึง %{n} ไฟล์เพื่อการทดสอบ","You may only select one item":"เลือกได้เพียงรายการเดียวเท่านั้น","You may rescan your library to find additional faces.":"คุณสามารถสแกนคลังของคุณเพื่อค้นหาใบหน้าเพิ่มเติม","Your account has been successfully connected.":"บัญชีของคุณเชื่อมต่อสำเร็จแล้ว","Your browser does not support WebGL":"เบราว์เซอร์ของคุณไม่รองรับ WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"การสนับสนุนอย่างต่อเนื่องของคุณช่วยให้เราอัปเดตและบริการต่างๆ เป็นประจำ เช่น แผนที่โลก","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"คลังของคุณได้รับการวิเคราะห์อย่างต่อเนื่องเพื่อสร้างอัลบั้มของช่วงเวลา การเดินทาง และสถานที่พิเศษโดยอัตโนมัติ","Zoom in/out":"ซูมเข้า/ออก"}} \ No newline at end of file +{"th":{"{0} appended action":"{0} การดำเนินการผนวก","{0} files":"{0} ไฟล์","{0} files ({1} in total)":"{0} ไฟล์ (รวมทั้งหมด {1} ไฟล์)","{0} more":"{0} เพิ่มเติม","{0} prepended action":"{0} การดำเนินการที่เพิ่มมา","{0} selected":"{0} เลือกแล้ว","{0}-{1} of {2}":"{0}-{1} จาก {2}","%{n} albums found":"พบ %{n} อัลบั้ม","%{n} files uploaded":"อัปโหลดแล้ว %{n} ไฟล์","%{n} folders found":"พบ %{n} โฟลเดอร์","%{n} GB of %{q} GB used":"%{n} GB จาก %{q} GB ที่ใช้","%{n} labels found":"พบ %{n} ป้ายกำกับ","%{n} people found":"พบบุคคล %{n} คน","%{n} pictures found":"พบ %{n} รูปภาพ","%{s} is too long":"%{s} ยาวเกินไป","%{s} is too short":"%{s} สั้นเกินไป","1 hour":"1 ชั่วโมง","12 hours":"12 ชั่วโมง","2-Factor Authentication":"การรับรองความถูกต้องแบบ 2 ปัจจัย","2FA":"2FA","4 hours":"4 ชั่วโมง","A click will copy it to your clipboard.":"คลิกเพื่อคัดลอกไปยังคลิปบอร์ด","A new version of %{s} is available:":"%{s} เวอร์ชันใหม่พร้อมให้ใช้งานแล้ว:","About":"เกี่ยวกับ","Access Token":"โทเค็นการเข้าถึง","Account":"บัญชี","Account created":"สร้างบัญชีแล้ว","Account deleted":"ลบบัญชีแล้ว","Account restored":"บัญชีได้รับการคืนสภาพแล้ว","Accounts":"บัญชี","Accuracy":"ความแม่นยำ","Action":"การกระทำ","Actions":"การกระทำ","Activate":"เปิดใช้งาน","Activate to remove sorting.":"เปิดใช้งานเพื่อลบการเรียงลำดับ","Activate to sort ascending.":"เปิดใช้งานเพื่อเรียงลำดับจากน้อยไปมาก","Activate to sort descending.":"เปิดใช้งานการเรียงลำดับจากมากไปน้อย","Activation Code":"รหัสเปิดใช้งาน","Add":"เพิ่ม","Add %{s}?":"เพิ่ม %{s}?","Add Account":"แก้ไขบัญชี","Add Album":"เพิ่มอัลบั้ม","Add files to your library via Web Upload.":"เพิ่มไฟล์ไปยังคลังผ่านการอัปโหลดเว็บ","Add Link":"เพิ่มลิงก์","Add person?":"เพิ่มบุคคล?","Add pictures from search results by selecting them.":"เพิ่มรูปภาพจากผลการค้นหาโดยเลือกรูปภาพเหล่านั้น","Add to album":"เพิ่มไปยังอัลบั้ม","Added":"เพิ่มแล้ว","Adjust Location":"ปรับตำแหน่ง","Admin":"ผู้ดูแลระบบ","Advanced":"ขั้นสูง","After 1 day":"หลังจาก 1 วัน","After 3 days":"หลังจาก 3 วัน","After 7 days":"หลังจาก 7 วัน","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"หลังจากป้อนรหัสผ่านเพื่อยืนยัน คุณสามารถตั้งค่าการตรวจสอบสิทธิ์แบบสองปัจจัยด้วยแอพหรืออุปกรณ์ตรวจสอบสิทธิ์ที่เข้ากันได้:","After one month":"หลังจากหนึ่งเดือน","After one year":"หลังจากหนึ่งปี","After selecting pictures from search results, you can add them to an album using the context menu.":"หลังจากเลือกรูปภาพจากผลการค้นหาแล้ว คุณสามารถเพิ่มรูปภาพลงในอัลบั้มโดยใช้เมนูบริบท","After two months":"หลังจากสองเดือน","After two weeks":"หลังจากสองสัปดาห์","Album":"อัลบั้ม","Album Backups":"การสำรองข้อมูลอัลบั้ม","Album created":"สร้างอัลบั้มแล้ว","Album deleted":"อัลบั้มถูกลบแล้ว","Albums":"อัลบั้ม","Albums deleted":"ลบอัลบั้มแล้ว","All":"ทั้งหมด","All %{n} albums loaded":"โหลด %{n} อัลบั้มทั้งหมดแล้ว","All %{n} labels loaded":"โหลดป้ายกำกับ %{n} ทั้งหมดแล้ว","All %{n} people loaded":"โหลด %{n} คนทั้งหมดแล้ว","All Cameras":"กล้องทั้งหมด","All Categories":"หมวดหมู่ทั้งหมด","All Colors":"สีทั้งหมด","All Countries":"ประเทศทั้งหมด","All fields are required":"ต้องกรอกให้ครบทุกช่อง","All files from import folder":"ทุกไฟล์จากโฟลเดอร์นำเข้า","All Lenses":"เลนส์ทั้งหมด","All Months":"เดือนทั้งหมด","All originals":"ต้นฉบับทั้งหมด","All Years":"ปีทั้งหมด","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"หรือคุณสามารถอัปโหลดไฟล์โดยตรงไปยังเซิร์ฟเวอร์ WebDAV เช่น Nextcloud","Altitude":"ระดับความสูง","Altitude (m)":"ระดับความสูง (ม.)","AM":"เช้า","Animated":"เคลื่อนไหว","Animation":"แอนิเมชัน","Animations":"แอนิเมชั่น","Any private photos and videos remain private and won't be shared.":"รูปภาพและวิดีโอส่วนตัวทั้งหมดจะยังคงเป็นส่วนตัว และจะไม่แชร์กับผู้อื่น","API Key":"กุญแจ API","Application":"แอปพลิเคชัน","Apply":"ปรับใช้","Approve":"อนุมัติ","Apps and Devices":"แอพและอุปกรณ์","Archive":"คลังเก็บเอกสารสำคัญ","Archived":"ที่เก็บถาวร","Are you sure you want to archive the selection?":"คุณแน่ใจหรือไม่ว่าต้องการเก็บถาวรส่วนที่เลือก","Are you sure you want to delete these albums?":"คุณแน่ใจหรือไม่ว่าต้องการลบอัลบั้มเหล่านี้","Are you sure you want to delete these labels?":"คุณแน่ใจหรือไม่ว่าต้องการลบป้ายกำกับเหล่านี้","Are you sure you want to delete this account?":"คุณแน่ใจหรือไม่ว่าต้องการลบบัญชีนี้","Are you sure you want to delete this album?":"คุณแน่ใจว่าต้องการลบอัลบั้มนี้หรือไม่?","Are you sure you want to permanently delete these pictures?":"คุณแน่ใจหรือไม่ว่าต้องการลบรูปภาพเหล่านี้อย่างถาวร","Are you sure you want to permanently delete this file?":"คุณแน่ใจหรือไม่ว่าต้องการลบไฟล์นี้อย่างถาวร","Are you sure?":"คุณแน่ใจหรือไม่?","Artist":"ศิลปิน","Aspect Ratio":"อัตราส่วน","Audio":"เสียง","Authentication":"การรับรองความถูกต้อง","Auto":"ออโต้","Back":"กลับ","Back to top":"กลับสู่ด้านบน","Backup":"สำรองข้อมูล","Badge":"ป้าย","Base Path":"เส้นทางฐาน","Become a member today, support our mission and enjoy our member benefits!":"เป็นสมาชิกวันนี้ สนับสนุนพันธกิจของเรา และเพลิดเพลินไปกับสิทธิประโยชน์สำหรับสมาชิกของเรา!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"ด้วยการจัดหาเงินทุนด้วยตนเองและเป็นอิสระ 100% เราสามารถสัญญากับคุณได้ว่าเราจะไม่ขายข้อมูลของคุณและเราจะมีความโปร่งใสเกี่ยวกับซอฟต์แวร์และบริการของเราเสมอ","Bio":"ไปโอ","Birth Date":"วันที่เกิด","Black":"สีดำ","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Lanczos Modification, Less Ringing Artifacts","Blue":"สีฟ้า","Brown":"สีน้ำตาล","Browse":"เรียกดู","Browse and edit image classification labels.":"เรียกดูและแก้ไขป้ายกำกับการจัดประเภทรูปภาพ","Browse and share your pictures organized into monthly albums.":"เรียกดูและแบ่งปันภาพถ่ายของคุณที่จัดอยู่ในอัลบั้มรายเดือน","Browse Files":"เรียกดูไฟล์","Browse indexed files and folders in Library.":"เรียกดูไฟล์และโฟลเดอร์ที่จัดทำดัชนีในไลบรารี","Bug Report":"รายงานข้อผิดพลาด","Busy, please wait…":"ไม่ว่าง โปรดรอ…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"โดยการใช้ซอฟต์แวร์และบริการที่เรามอบให้ แสดงว่าคุณยอมรับข้อกำหนดในการให้บริการ นโยบายความเป็นส่วนตัว และจรรยาบรรณของเรา","Calendar":"ปฏิทิน","Camera":"กล้อง","Camera Serial":"อนุกรมกล้อง","Can't access your authenticator app or device?":"ไม่สามารถเข้าถึงแอปหรืออุปกรณ์ยืนยันตัวตนของคุณได้ใช่ไหม","Can't load more, limit reached":"โหลดเพิ่มไม่ได้แล้ว หมดเขตแล้ว","Can't select more items":"ไม่สามารถเลือกรายการเพิ่มเติมได้","Cancel":"ยกเลิก","Cannot copy to clipboard":"ไม่สามารถคัดลอกไปยังคลิปบอร์ดได้","Caption":"คำบรรยาย","Cards":"การ์ด","Carousel slide {0} of {1}":"สไลด์หมุน {0} จาก {1}","Category":"หมวดหมู่","Change Avatar":"เปลี่ยนแฟล็กส่วนตัว","Change Password":"รหัสผ่านใหม่","Change personal profile and security settings.":"เปลี่ยนโปรไฟล์ส่วนบุคคลและการตั้งค่าความปลอดภัย","Change photo titles, locations, and other metadata.":"เปลี่ยนชื่อรูปภาพ สถานที่ และข้อมูลเมตาอื่นๆ","Change private flag":"เปลี่ยนแฟล็กส่วนตัว","Changes could not be saved":"ไม่สามารถบันทึกการเปลี่ยนแปลง","Changes successfully saved":"บันทึกการเปลี่ยนแปลงเรียบร้อยแล้ว","Changes to the advanced settings require a restart to take effect.":"การเปลี่ยนแปลงการตั้งค่าขั้นสูงจำเป็นต้องรีสตาร์ทจึงจะมีผล","Checked":"ตรวจสอบแล้ว","Chroma":"โครมา","Cleaning index and cache":"การทำความสะอาดดัชนีและแคช","Cleanup":"ทำความสะอาด","Clear {0}":"เคลียร์ {0}","Client":"ลูกค้า","Client Credentials":"ข้อมูลรับรองลูกค้า","Close":"ปิด","Codec":"ตัวแปลงสัญญาณ","Color":"สี","Color Profile":"สีโปรไฟล์","Colors":"สี","Compare Editions":"เปรียบเทียบรุ่น","Complete Rescan":"สแกนใหม่ให้เสร็จ","Confidence":"ค่าความมั่นใจ","Confirm":"ยืนยัน","Connect":"เชื่อมต่อ","Connect via WebDAV":"เชื่อมต่อผ่าน WebDAV","Connected":"เชื่อมต่อ","Contact Details":"ติดต่อเรา","Contact Us":"ติดต่อเรา","Contains %{n} pictures.":"มี %{n} รูป","Contains one picture.":"ประกอบด้วยหนึ่งภาพ","Content":"เนื้อหา","Continue":"ดำเนินการต่อ","Continue with %{provider}":"ดำเนินการต่อด้วย %{provider}","Contributor":"ผู้ให้ข้อมูล","Converting":"กำลังแปลง","Copied to clipboard":"คัดลอกไปยังคลิปบอร์ดแล้ว","Copy":"สำเนา","Copyright":"ลิขสิทธิ์","Couldn't find anything.":"ไม่พบอะไรเลย","Country":"ประเทศ","Create Account":"สร้างบัญชี","Create album":"สร้างอัลบั้ม","Create regular backups based on the configured schedule.":"สร้างการสำรองข้อมูลดัชนีตามกำหนดเวลาที่กำหนดไว้","Create YAML files to back up album metadata.":"สร้างไฟล์ YAML เพื่อสำรองข้อมูลเมตาของอัลบั้ม","Create YAML sidecar files to back up picture metadata.":"สร้างไฟล์ช่วยเหลือ YAML เพื่อสำรองข้อมูลเมตาของรูปภาพ","Created":"สร้างเมื่อ","Creating thumbnails for":"การสร้างภาพขนาดย่อสำหรับ","Cubic: Moderate Quality, Good Performance":"ลูกบาศก์: คุณภาพปานกลาง ประสิทธิภาพที่ดี","Current Password":"รหัสผ่านปัจจุบัน","Custom":"กำหนดเอง","Cyan":"สีฟ้า","Daily":"รายวัน","Database Backups":"การสำรองฐานข้อมูล","Day":"วัน","Deactivate":"ปิดการใช้งาน","Debug Logs":"บันทึกการดีบัก","Default":"ค่าเริ่มต้น","Default Folder":"โฟลเดอร์เริ่มต้น","Delete":"ลบ","Delete Album":"ลบอัลบั้ม","Delete All":"ลบทั้งหมด","Delete all?":"ลบทั้งหมด?","Delete orphaned index entries, sidecar files and thumbnails.":"ลบรายการดัชนีที่ถูกละเลย ไฟล์รถเทียมข้างรถจักรยานยนต์ และภาพขนาดย่อ","Description":"คำอธิบาย","Detailed instructions can be found in our User Guide.":"คำแนะนำโดยละเอียดสามารถพบได้ในคู่มือผู้ใช้ของเรา","Details":"รายละเอียด","Dimensions":"ขนาด","Disable Backups":"ปิดการสำรองข้อมูล","Disable Darktable":"ปิดการใช้งาน Darktable","Disable ExifTool":"ปิดการใช้งาน ExifTool","Disable features that require write permission for the originals folder.":"ปิดใช้งานคุณลักษณะที่ต้องมีสิทธิ์ในการเขียนสำหรับโฟลเดอร์ต้นฉบับ","Disable FFmpeg":"ปิดการใช้งาน FFmpeg","Disable ImageMagick":"ปิดการใช้งาน ImageMagick","Disable interactive world maps and reverse geocoding.":"ปิดการใช้งานแผนที่โลกเชิงโต้ตอบและการเข้ารหัสทางภูมิศาสตร์แบบย้อนกลับ","Disable Places":"ปิดการใช้งานสถานที่","Disable RawTherapee":"ปิดการใช้งาน RawTherapee","Disable TensorFlow":"ปิดการใช้งาน TensorFlow","Disable Vectors":"ปิดการใช้งานเวกเตอร์","Disable WebDAV":"ปิดการใช้งาน WebDAV","Disables vector graphics support.":"ปิดใช้งานการสนับสนุนกราฟิกแบบเวกเตอร์","Disables video transcoding and thumbnail extraction.":"ปิดใช้งานการแปลงรหัสวิดีโอและการดึงภาพขนาดย่อ","Discover":"ค้นพบ","Dismiss":"อนุญาตให้ออกไป","Display Name":"ชื่อที่แสดง","Display picture captions in search results.":"แสดงคำบรรยายภาพในผลการค้นหา","Display picture titles in search results.":"แสดงชื่อรูปภาพในผลการค้นหา","Document":"เอกสาร","Documents":"เอกสาร","Don't use Darktable to convert RAW images.":"อย่าใช้ Darktable เพื่อแปลงไฟล์ RAW","Don't use ImageMagick to convert images.":"อย่าใช้ ImageMagick เพื่อแปลงรูปภาพ","Don't use RawTherapee to convert RAW images.":"อย่าใช้ RawTherapee เพื่อแปลงไฟล์ RAW","Done":"เสร็จแล้ว","Done.":"เสร็จแล้ว.","Download":"ดาวน์โหลด","Download only original media files, without any automatically generated files.":"ดาวน์โหลดเฉพาะไฟล์มีเดียต้นฉบับ โดยไม่มีไฟล์ที่สร้างขึ้นโดยอัตโนมัติ","Download remote files":"ดาวน์โหลดไฟล์ระยะไกล","Download single files and zip archives.":"ดาวน์โหลดไฟล์เดี่ยวและไฟล์ zip","Downloading…":"กำลังดาวน์โหลด…","Downscaling Filter":"ตัวกรองการลดขนาด","Drag and drop files here":"ลากและวางไฟล์ที่นี่","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"เนื่องจากเราได้รับอีเมลเป็นจำนวนมาก ทีมงานของเราจึงอาจไม่สามารถติดต่อกลับได้ทันที","Duplicates will be skipped and only appear once.":"รายการที่ซ้ำกันจะถูกข้ามและปรากฏเพียงครั้งเดียว","Duration":"ระยะเวลา","Dynamic Previews":"การแสดงตัวอย่างแบบไดนามิก","Dynamic Size Limit: %{n}px":"ขีดจำกัดขนาดไดนามิก: %{n}px","E-Mail":"อีเมล","Edit":"แก้ไข","Edit %{s}":"แก้ไข %{s}","Edit Account":"แก้ไขบัญชี","Edit Photo":"แก้ไขรูปภาพ","Edited":"แก้ไขแล้ว","Email":"อีเมล","Enable debug mode to display additional logs and help with troubleshooting.":"เปิดใช้งานโหมดแก้ไขข้อบกพร่องเพื่อแสดงบันทึกเพิ่มเติมและช่วยเหลือในการแก้ปัญหา","Enable new features that may be incomplete or unstable.":"เปิดใช้งานฟีเจอร์ใหม่ที่อาจไม่สมบูรณ์หรือไม่เสถียร","Enables RAW converter presets. May reduce performance.":"เปิดใช้งานการตั้งค่าล่วงหน้าของตัวแปลง RAW อาจลดประสิทธิภาพลง","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"การเปิดใช้งานการตรวจสอบสิทธิ์แบบสองปัจจัยหมายความว่าคุณจะต้องใช้รหัสยืนยันที่สร้างขึ้นแบบสุ่มเพื่อเข้าสู่ระบบ ดังนั้นแม้ว่าจะมีคนเข้าถึงรหัสผ่านของคุณ พวกเขาจะไม่สามารถเข้าถึงบัญชีของคุณได้","Enter date":"กรอกวันที่","Enter dates":"ป้อนวันที่","Enter the code generated by your authenticator app:":"ป้อนรหัสที่สร้างโดยแอปพลิเคชันการตรวจสอบสิทธิ์ของคุณ:","Enter verification code":"ระบุรหัสยืนยืน","Enter your password to confirm the action and continue:":"ป้อนรหัสผ่านของคุณเพื่อยืนยันการดำเนินการและดำเนินการต่อ:","Error":"ข้อผิดพลาด","Errors":"ข้อผิดพลาด","Estimate":"ประมาณการ","Estimate Locations":"สถานที่ประมาณการ","Estimate the approximate location of pictures without GPS coordinates.":"ประมาณตำแหน่งโดยประมาณของรูปภาพโดยปราศจากพิกัด GPS","Every two days":"ทุกสองวัน","Exclude content marked as private from search results, shared albums, labels, and places.":"ยกเว้นเนื้อหาที่ทำเครื่องหมายว่าเป็นส่วนตัวจากผลการค้นหา อัลบั้มที่แชร์ ป้ายกำกับ และสถานที่","Exclude hidden":"ไม่รวมซ่อน","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"จำเป็นต้องมีการแยกข้อมูลเมตาด้วย ExifTool เพื่อสนับสนุนวิดีโอเต็มรูปแบบ Live Photo และ XMP","Experimental Features":"คุณสมบัติทดลอง","Expires":"หมดอายุ","Exposure":"การเปิดรับ","Extract still images and generate thumbnails while indexing.":"สกัดภาพนิ่งและสร้างภาพขนาดย่อในระหว่างการสร้างดัชนี","F Number":"F Number","Face":"ใบหน้า","Faces":"ใบหน้า","Failed removing link":"ลบลิงค์ไม่สำเร็จ","Failed to connect account.":"ไม่สามารถเชื่อมต่อบัญชีได้","Failed updating link":"ไม่สามารถอัปเดตลิงก์","Family Name":"นามสกุล","Fast":"เร็ว","Favorite":"ที่ชื่นชอบ","Favorites":"รายการโปรด","Feature Request":"คำขอคุณสมบัติ","Feedback":"ข้อเสนอแนะ","Female":"หญิง","File":"ไฟล์","File Browser":"ไฟล์เบราว์เซอร์","File Conversion":"การแปลงไฟล์","File Name":"ชื่อไฟล์","File Size":"ไฟล์","Filename":"ชื่อไฟล์","Files":"ไฟล์","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"ไฟล์ที่มีชื่อตามลำดับ เช่น 'IMG_1234 (2)' และ 'IMG_1234 (3)' เป็นของรูปภาพเดียวกัน","First page":"หน้าแรก","Focal Length":"ความยาวโฟกัส","Folder":"โฟลเดอร์","Folder contains %{n} files":"โฟลเดอร์มี %{n} ไฟล์","Folder is empty":"โฟลเดอร์ว่างเปล่า","Folders":"โฟลเดอร์","Forgot password?":"ลืมรหัสผ่าน?","FPS":"FPS","Frames":"เฟรม","Full Access":"การเข้าถึงแบบเต็ม","Fullscreen":"เต็มจอ","General":"ทั่วไป","Generate":"สร้าง","Generate albums of special moments, journeys, and places.":"สร้างอัลบั้มของช่วงเวลาพิเศษ การเดินทาง และสถานที่ต่าง ๆ โดยอัตโนมัติ","Generate Previews":"สร้างการแสดงตัวอย่าง","Generated":"สร้างขึ้น","Get Started":"เริ่มต้นใช้งาน","Given Name":"ชื่อจริง","Global Options":"ตัวเลือกระดับโลก","Go to page {0}":"ไปที่หน้า {0}","Gold":"ทอง","Green":"สีเขียว","Grey":"สีเทา","Guest":"แขก","Hash":"กัญชา","Help":"ช่วย","Help & Support":"ช่วยเหลือและสนับสนุน","Hidden":"ที่ซ่อนอยู่","Hidden Files":"ไฟล์ที่ซ่อนอยู่","Hide":"ซ่อน","Hide photos that have been moved to archive.":"ซ่อนรูปภาพที่ถูกย้ายไปเก็บถาวร","High":"สูง","High Dynamic Range (HDR)":"ช่วงไดนามิกสูง (HDR)","How can we help?":"เราจะช่วยได้อย่างไร?","Hybrid":"ไฮบริด","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"หากคุณสูญเสียการเข้าถึงแอปหรืออุปกรณ์ยืนยันตัวตน คุณสามารถใช้รหัสกู้คืนเพื่อเข้าถึงบัญชีของคุณได้อีกครั้ง","Image":"ภาพ","Image Quality":"คุณภาพของภาพ","Import":"นำเข้า","Import failed":"นำเข้าไม่สำเร็จ","Imported files will be sorted by date and given a unique name to avoid duplicates.":"ไฟล์ที่นำเข้าจะถูกจัดเรียงตามวันที่และกำหนดชื่อเฉพาะเพื่อหลีกเลี่ยงการซ้ำซ้อน","Imported files will be sorted by date and given a unique name.":"ไฟล์ที่นำเข้าจะถูกจัดเรียงตามวันที่และกำหนดชื่อเฉพาะ","Importing %{s}…":"กำลังนำเข้า %{s}…","Importing files to originals…":"กำลังนำเข้าไฟล์ไปยังต้นฉบับ…","in":"ใน","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"ในกรณีที่รูปภาพที่คุณคาดว่าจะหายไป โปรดสแกนไลบรารีของคุณอีกครั้งและรอจนกว่าการจัดทำดัชนีจะเสร็จสมบูรณ์","Include RAW image files when downloading stacks and archives.":"รวมไฟล์ภาพ RAW เมื่อดาวน์โหลดสแต็คและไฟล์เก็บถาวร","Include sidecar files when downloading stacks and archives.":"รวมไฟล์ sidecar เมื่อดาวน์โหลดสแต็คและไฟล์เก็บถาวร","Increase storage size or delete files to continue.":"เพิ่มขนาดพื้นที่เก็บข้อมูลหรือลบไฟล์เพื่อดำเนินการต่อ","Index":"ดัชนี","Index and import files through the user interface.":"จัดทำดัชนีและนำเข้าไฟล์ผ่านอินเทอร์เฟซผู้ใช้","Indexing":"การจัดทำดัชนี","Indexing failed":"การจัดทำดัชนีล้มเหลว","Indexing media and sidecar files…":"กำลังสร้างดัชนีสื่อและไฟล์ไซด์คาร์…","Information":"ข้อมูล","Instance ID":"รหัสอินสแตนซ์","Insufficient storage.":"พื้นที่เก็บข้อมูลไม่เพียงพอ.","Interval":"ช่วงเวลา","Invalid":"วันที่ไม่ถูกต้อง","Invalid address":"ที่อยู่ไม่ถูกต้อง","Invalid country":"ประเทศไม่ถูกต้อง","Invalid date":"วันที่ไม่ถูกต้อง","Invalid parameters":"วันที่ไม่ถูกต้อง","Invalid photo selected":"เลือกรูปภาพไม่ถูกต้อง","Invalid time":"เวลาไม่ถูกต้อง","Invalid URL":"URL ไม่ถูกต้อง","It is a one-time use code that will disable 2FA for your account when you use it.":"เป็นรหัสแบบใช้ครั้งเดียวที่จะปิดการใช้งาน 2FA สำหรับบัญชีของคุณเมื่อคุณใช้งาน","Item":"สิ่งของ","Items per page:":"รายการต่อหน้า:","JPEG Quality: %{n}":"คุณภาพ JPEG: %{n}","JPEG Size Limit: %{n}px":"ขีดจำกัดขนาด JPEG: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"JPEG และภาพขนาดย่อจะแสดงผลโดยอัตโนมัติตามต้องการ","Keywords":"คีย์เวิร์ด","Label":"ฉลาก","Labels":"ป้าย","Labels deleted":"ป้ายกำกับถูกลบ","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: การเก็บรายละเอียด สิ่งประดิษฐ์น้อยที่สุด","Language":"ภาษา","Last Active":"ใช้งานล่าสุด","Last Login":"เข้าสู่ระบบครั้งล่าสุด","Last page":"หน้าสุดท้าย","Last Sync":"ซิงค์ล่าสุด","Last Used":"ใช้ล่าสุด","Latitude":"ละติจูด","LDAP/AD":"แอลดีเอพี/ค.ศ","Learn more":"เรียนรู้เพิ่มเติม","Learn More":"เรียนรู้เพิ่มเติม","Legal Information":"ข้อมูลทางกฎหมาย","Lens":"เลนส์","Library":"ห้องสมุด","License":"ใบอนุญาต","Like":"ชอบ","Lime":"มะนาว","Limit reached, showing first %{n} files":"ถึงขีดจำกัดแล้ว กำลังแสดง %{n} ไฟล์แรก","Linear: Very Smooth, Best Performance":"เชิงเส้น: ราบรื่นมาก ประสิทธิภาพดีที่สุด","Link":"ลิงค์","List":"รายการ","List View":"มุมมองรายการ","Live":"สด","Live Photos":"ภาพถ่าย","Load more":"โหลดเพิ่มเติม","Loading items...":"กำลังโหลดรายการ...","Loading...":"กำลังโหลด...","Local":"ท้องถิ่น","Local Time":"เวลาท้องถิ่น","Location":"ที่ตั้ง","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"ข้อความบันทึกจะปรากฏที่นี่ทุกครั้งที่ PhotoPrism เจอไฟล์เสีย หรือมีปัญหาอื่นๆ ที่อาจเกิดขึ้น","Login":"เข้าสู่ระบบ","Logout":"ออกจากระบบ","Logs":"บันทึก","Longitude":"ลองจิจูด","Low":"ต่ำ","Magenta":"สีม่วงแดง","Main Color":"สีหลัก","Male":"ชาย","Manage Account":"จัดการบัญชี","Manager":"ผู้จัดการ","Manual":"คู่มือ","Manual Upload":"อัพโหลดด้วยตนเอง","Maps":"แผนที่","Marker":"เครื่องหมาย","Maximum number of accounts has been reached.":"จำนวนบัญชีถึงขีดจำกัดแล้ว","Media":"สื่อมวลชน","Medium":"ปานกลาง","Membership":"การเป็นสมาชิก","Merge %{a} with %{b}?":"ผสาน %{a} กับ %{b}?","Message":"ข้อความ","Message sent":"ส่งข้อความ","Metadata":"ข้อมูลเมตา","Metrics":"เมตริก","Minimize":"ย่อเล็กสุด","Missing":"หายไป","Missing or invalid configuration":"การกำหนดค่าหายไปหรือไม่ถูกต้อง","Moments":"ช่วงเวลา","Monochrome":"ขาวดำ","Month":"เดือน","More options":"ตัวเลือกเพิ่มเติม","Mosaic":"โมเสก","Most Relevant":"ที่เกี่ยวข้องมากที่สุด","Move Files":"ย้ายไฟล์","Must have at least %{n} characters.":"ต้องมีอักขระอย่างน้อย %{n} ตัว","Mute":"ปิดเสียง","Name":"ชื่อ","Name too long":"ชื่อยาวเกินไป","Never":"ไม่เคย","New":"ใหม่","New Password":"รหัสผ่านใหม่","Newest First":"ใหม่ล่าสุดก่อน","Next":"ต่อไป","Next page":"หน้าถัดไป","Next visual":"ภาพถัดไป","No":"ไม่","No albums found":"ไม่พบอัลบั้ม","No data available":"ไม่มีข้อมูล","No labels found":"ไม่พบป้ายกำกับ","No matching records found":"ไม่พบรายการที่ตรงกัน","No more":"ไม่มีอีกต่อไป","No people found":"ไม่พบผู้คน","No pictures found":"ไม่พบรูปภาพ","No recently edited pictures":"ไม่มีรูปภาพที่แก้ไขล่าสุด","No results":"ไม่มีผลลัพธ์","No server connection":"ไม่มีการเชื่อมต่อกับเซิร์ฟเวอร์","No servers configured.":"ไม่มีการกำหนดค่าเซิร์ฟเวอร์","No services configured.":"ไม่มีการกำหนดค่าเซิร์ฟเวอร์","No thanks":"ไม่เป็นไรขอบคุณ","No warnings or error containing this keyword. Note that search is case-sensitive.":"ไม่มีคำเตือนหรือข้อผิดพลาดที่มีคีย์เวิร์ดนี้ โปรดทราบว่าการค้นหาคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่","Non-photographic and low-quality images require a review before they appear in search results.":"รูปภาพที่ไม่ใช่ภาพถ่ายและคุณภาพต่ำต้องได้รับการตรวจสอบก่อนที่จะปรากฏในผลการค้นหา","None":"ไม่มี","Not allowed":"ไม่อนุญาต","Not found":"ไม่พบ","Not sorted.":"ไม่ได้จัดเรียง","Not supported":"ไม่รองรับ","Note you may manually manage your originals folder and importing is optional.":"โปรดทราบว่าคุณสามารถจัดการโฟลเดอร์ต้นฉบับของคุณได้ด้วยตนเอง และการนำเข้าเป็นทางเลือก","Note:":"บันทึก:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"หมายเหตุ: เฉพาะเซิร์ฟเวอร์ WebDAV เช่น Nextcloud หรือ PhotoPrism เท่านั้นที่สามารถกำหนดค่าเป็นบริการระยะไกลสำหรับการสำรองข้อมูลและการอัปโหลดไฟล์","Notes":"หมายเหตุ","Nothing to see here yet.":"ยังไม่มีอะไรให้ดูที่นี่ อดทน","Nothing was found.":"ไม่พบสิ่งใด","Offline":"ออฟไลน์","OIDC":"คปภ","OK":"ตกลง","Oldest First":"เก่าสุดก่อน","On Windows, enter the following resource in the connection dialog:":"บน Windows ให้ป้อนทรัพยากรต่อไปนี้ในกล่องโต้ตอบการเชื่อมต่อ:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"การสร้างภาพขนาดย่อตามความต้องการอาจทำให้มีการใช้งาน CPU และหน่วยความจำสูง ไม่แนะนำสำหรับเซิร์ฟเวอร์และอุปกรณ์ NAS ที่จำกัดทรัพยากร","Once a week":"สัปดาห์ละครั้ง","One album found":"พบหนึ่งอัลบั้ม","One file found":"พบหนึ่งไฟล์","One file uploaded":"อัปโหลดแล้วหนึ่งไฟล์","One folder found":"พบหนึ่งโฟลเดอร์","One label found":"พบหนึ่งป้าย","One person found":"พบหนึ่งคน","One picture found":"พบหนึ่งภาพ","Only locally managed accounts can be set up for authentication with 2FA.":"เฉพาะบัญชีที่จัดการภายในเครื่องเท่านั้นที่สามารถตั้งค่าสำหรับการตรวจสอบสิทธิ์ด้วย 2FA ได้","Open":"เปิด","optional":"ไม่จำเป็น","or":"หรือ","Orange":"ส้ม","Organization":"ปฐมนิเทศ","Orientation":"ปฐมนิเทศ","Original file names will be stored and indexed.":"ชื่อไฟล์ต้นฉบับจะถูกจัดเก็บและจัดทำดัชนี","Original Name":"ชื่อจริง","Originals":"ต้นฉบับ","Other":"อื่น","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"ภารกิจของเราคือการจัดหาโซลูชันที่เป็นมิตรต่อผู้ใช้และความเป็นส่วนตัวมากที่สุด เพื่อให้รูปภาพของคุณเป็นระเบียบและเข้าถึงได้","Outdoor":"กลางแจ้ง","Page {0}, Current page":"หน้า {0}, หน้าปัจจุบัน","Pages":"หน้า","Pagination Navigation":"การนำทางการแบ่งหน้า","Panorama":"พาโนรามา","Panoramas":"พาโนรามา","Password":"รหัสผ่าน","Password changed":"รหัสผ่านเปลี่ยน","People":"ประชากร","People you share a link with will be able to view public contents.":"คนที่คุณแชร์ลิงก์ด้วยจะสามารถดูเนื้อหาสาธารณะได้","Permanently deleted":"ลบอย่างถาวร","Permanently remove files to free up storage.":"ลบไฟล์อย่างถาวรเพื่อเพิ่มพื้นที่จัดเก็บ","Person":"บุคคล","Personal":"ส่วนตัว","Photo":"รูปถ่าย","PhotoPrism is 100% self-funded and independent.":"PhotoPrism ใช้เงินตัวเอง 100% และเป็นอิสระ","PhotoPrism+ Membership":"PhotoPrism+ การเป็นสมาชิก","Photos":"ภาพถ่าย","Picture Title":"ชื่อภาพ","Pink":"สีชมพู","Place":"สถานที่","Place & Time":"สถานที่และเวลา","Places":"สถานที่","Please confirm your new password.":"กรุณายืนยันรหัสผ่านใหม่ของคุณ","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"โปรดคัดลอกรหัสผ่านสำหรับแอปที่สร้างขึ้นแบบสุ่มต่อไปนี้และเก็บไว้ในที่ปลอดภัย เนื่องจากคุณจะไม่สามารถดูได้อีก:","Please do not upload any private, unlawful or offensive pictures.":"กรุณาอย่าอัพโหลดภาพส่วนตัว ผิดกฎหมาย หรือไม่เหมาะสม","Please don't upload photos containing offensive content.":"กรุณาอย่าอัปโหลดรูปภาพที่มีเนื้อหาที่ไม่เหมาะสม","Please enter OTP character {0}":"กรุณากรอกรหัส OTP {0}","Please note that changing your password will log you out on other devices and browsers.":"โปรดทราบว่าการเปลี่ยนรหัสผ่านจะทำให้คุณออกจากระบบบนอุปกรณ์และเบราว์เซอร์อื่นๆ","Please restart your instance for the changes to take effect.":"โปรดรีสตาร์ทอินสแตนซ์ของคุณเพื่อให้การเปลี่ยนแปลงมีผล","Please wait…":"โปรดรอ…","PM":"นายกฯ","PNG Size Limit: %{n}px":"ขีดจำกัดขนาด PNG: %{n}px","Portrait":"ภาพเหมือน","Preserve filenames":"รักษาชื่อไฟล์","Press enter to create a new album.":"กด Enter เพื่อสร้างอัลบั้มใหม่","Prevent database and album backups as well as YAML sidecar files from being created.":"ป้องกันการสำรองข้อมูลฐานข้อมูลและอัลบั้ม รวมถึงไฟล์ช่วยเหลือ YAML ไม่ให้ถูกสร้างขึ้น","Prevent other apps from accessing PhotoPrism as a shared network drive.":"ป้องกันไม่ให้แอปอื่นเข้าถึง PhotoPrism เป็นไดรฟ์เครือข่ายที่ใช้ร่วมกัน","Preview":"ดูตัวอย่าง","Preview Images":"ดูตัวอย่างรูปภาพ","Previous":"ก่อนหน้า","Previous page":"หน้าก่อน","Previous visual":"ภาพก่อนหน้า","Primary":"หลัก","Private":"ส่วนตัว","Product Feedback":"คำติชมสินค้า","Projection":"การฉายภาพ","Purple":"สีม่วง","Quality Filter":"ตัวกรองคุณภาพ","Quality Score":"คะแนนคุณภาพ","r":"ร","Random":"สุ่ม","Rating {0} of {1}":"คะแนน {0} จาก {1}","Raw":"ดิบ","RAW":"ดิบ","Re-index all originals, including already indexed and unchanged files.":"จัดทำดัชนีต้นฉบับทั้งหมดใหม่ รวมทั้งไฟล์ที่จัดทำดัชนีแล้วและไม่เปลี่ยนแปลง","Read-Only Mode":"โหมดอ่านอย่างเดียว","Recently Added":"เพิ่มมาเร็ว ๆ นี้","Recently Archived":"เก็บถาวรเมื่อเร็วๆ นี้","Recently Edited":"แก้ไขล่าสุด","Recognition starts after indexing has been completed.":"การรับรู้เริ่มต้นหลังจากการจัดทำดัชนีเสร็จสิ้น","Recognize faces so people can be assigned and found.":"จดจำใบหน้าเพื่อให้สามารถค้นหาบุคคลที่เฉพาะเจาะจงได้","Recognized":"ได้รับการยอมรับ","Recovery Code":"รหัสการกู้คืน","Red":"สีแดง","Refresh":"รีเฟรช","Regions":"ภูมิภาค","Register":"ลงทะเบียน","Reload":"โหลดซ้ำ","Reloading…":"กำลังโหลดซ้ำ…","Remote Sync":"ซิงค์ระยะไกล","Remove":"ลบ","remove failed: unknown album":"การลบล้มเหลว: อัลบั้มที่ไม่รู้จัก","Remove from Album":"นำออกจากอัลบั้ม","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"ลบไฟล์ที่นำเข้าเพื่อประหยัดพื้นที่จัดเก็บ ประเภทไฟล์ที่ไม่รองรับจะไม่ถูกลบ โดยจะยังคงอยู่ในตำแหน่งปัจจุบัน","Request failed - are you offline?":"คำขอล้มเหลว - คุณออฟไลน์อยู่หรือไม่","Request failed - invalid response":"คำขอล้มเหลว - ตอบกลับไม่ถูกต้อง","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"กำหนดให้ต้องตรวจสอบรูปภาพที่ไม่ใช่ภาพถ่ายและคุณภาพต่ำก่อนที่จะปรากฏในผลการค้นหา","Resolution":"ปณิธาน","Restart":"เริ่มต้นใหม่","Restore":"คืนค่า","Restored":"ฟื้นฟูแล้ว","Retry Limit":"ขีดจำกัดการลองใหม่","Retype Password":"พิมพ์รหัสผ่านอีกครั้ง","Review":"ทบทวน","Role":"บทบาท","Rows per page:":"จำนวนแถวต่อหน้า:","Satellite":"ดาวเทียม","Save":"บันทึก","Scan":"สแกน","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"สแกนโค้ด QR ด้วยแอปยืนยันตัวตนของคุณ หรือใช้คีย์การตั้งค่าที่แสดงด้านล่าง จากนั้นป้อนรหัสยืนยันที่สร้างขึ้น:","Scans":"สแกน","Scope":"ขอบเขต","Search":"ค้นหา","Search and display photos on a map.":"ค้นหาและแสดงภาพถ่ายบนแผนที่","Season":"ฤดูกาล","Secret":"ความลับ","Security and Access":"ความปลอดภัยและการเข้าถึง","Select":"เลือก","Select a source folder to import files…":"เลือกโฟลเดอร์ต้นทางที่จะนำเข้าไฟล์…","Select date":"เลือกวันที่","Select dates":"เลือกวันที่","Select or create an album":"เลือกหรือสร้างอัลบั้ม","Select the files to upload…":"เลือกไฟล์ที่จะอัพโหลด…","Select the folder to be indexed…":"เลือกโฟลเดอร์ที่จะสร้างดัชนี…","Select Time":"เลือกเวลา","Selection approved":"อนุมัติการคัดเลือก","Selection archived":"การเลือกที่เก็บถาวร","Selection restored":"คืนค่าการเลือกแล้ว","Sequential Name":"ชื่อลำดับ","Service URL":"URL บริการ","Services":"URL บริการ","Session":"การประชุม","Session ID":"รหัสเซสชัน","Sessions":"เซสชัน","Set as Album Cover":"ตั้งเป็นปกอัลบั้ม","Settings":"การตั้งค่า","Settings saved":"การตั้งค่าที่บันทึกไว้","Setup":"ติดตั้ง","Share":"แบ่งปัน","Share %{s}":"แบ่งปัน %{s}","Share your pictures with other apps and services.":"แบ่งปันรูปภาพของคุณกับแอพและบริการอื่นๆ","Show":"แสดง","Show all new faces":"แสดงใบหน้าใหม่ทั้งหมด","Show Captions":"แสดงคำบรรยาย","Show hidden":"แสดงที่ซ่อนอยู่","Show less":"แสดงน้อยลง","Show more":"แสดงมากขึ้น","Show server logs in Library.":"แสดงบันทึกเซิร์ฟเวอร์ในไลบรารี","Show Titles":"แสดงชื่อเรื่อง","Sidecar":"ไซด์คาร์","Sidecar Files":"ไฟล์รถไซด์คาร์","Sign in":"เข้าสู่ระบบ","Similar":"คล้ายกัน","Size":"ขนาด","Slideshow":"สไลด์โชว์","Slow":"ช้า","Software":"ซอฟต์แวร์","Software Update":"การอัปเดตซอฟต์แวร์","Something went wrong, try again":"เกิดข้อผิดพลาด โปรดลองอีกครั้ง","Sort by":"จัดเรียงตาม","Sort Order":"เรียงลำดับ","Sorted ascending.":"เรียงลำดับจากน้อยไปมาก","Sorted descending.":"เรียงลำดับจากมากไปน้อย","Source":"แหล่งที่มา","Stack":"ซ้อนกัน","Stack files sharing the same unique image or instance identifier.":"สแต็คไฟล์ที่แชร์รูปภาพที่ไม่ซ้ำกันหรือตัวระบุอินสแตนซ์เดียวกัน","Stack pictures taken at the exact same time and location based on their metadata.":"กองรูปภาพที่ถ่ายในเวลาและสถานที่เดียวกันโดยอิงตามข้อมูลเมตา","Stackable":"วางซ้อนกันได้","Stacks":"กอง","Start":"เริ่ม","Start Page":"หน้าแรก","Static Size Limit: %{n}px":"ขีดจำกัดขนาดคงที่: %{n}px","Status":"สถานะ","Storage":"พื้นที่จัดเก็บ","Streets":"ถนน","Subject":"เรื่อง","Submit":"ส่ง","Successfully activated":"เปิดใช้งานสำเร็จแล้ว","Successfully Connected":"เชื่อมต่อเรียบร้อยแล้ว","Successfully deleted":"ลบเรียบร้อยแล้ว","Successfully verified":"ตรวจสอบเรียบร้อยแล้ว","Super Admin":"ผู้ดูแลระบบขั้นสูง","Support for additional services, like Google Drive, will be added over time.":"การสนับสนุนบริการเพิ่มเติม เช่น Google ไดรฟ์ จะถูกเพิ่มเข้ามาเรื่อยๆ","Support Our Mission":"สนับสนุนภารกิจของเรา","Sync":"ซิงค์","Sync raw and video files":"ซิงค์ไฟล์ดิบและวิดีโอ","Taken":"ถ่าย","Teal":"นกเป็ดน้ำ","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"ต้องใช้ TensorFlow สำหรับการจัดหมวดหมู่รูปภาพ การจดจำใบหน้า และการตรวจจับเนื้อหาที่ไม่ปลอดภัย","Terrain":"ภูมิประเทศ","Text":"ข้อความ","Text too long":"ข้อความยาวเกินไป","Thank You for Your Support!":"ขอบคุณสำหรับการสนับสนุน!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"นั่นเป็นเหตุผลที่ PhotoPrism ถูกสร้างขึ้นใหม่ทั้งหมดเพื่อให้ทำงานได้ทุกที่ที่คุณต้องการ โดยไม่กระทบต่อเสรีภาพ ความเป็นส่วนตัว หรือฟังก์ชันการทำงาน","The index currently contains %{n} hidden files.":"ขณะนี้ดัชนีมีไฟล์ที่ซ่อนอยู่ %{n} ไฟล์","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"รูปแบบของไฟล์อาจไม่ได้รับการสนับสนุน ยังไม่ได้แปลงเป็น JPEG หรือมีรูปแบบที่ซ้ำกัน","Theme":"ธีม","This field is required":"ฟิลด์นี้จำเป็นต้องกรอก","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"การดำเนินการนี้จะต่อเชื่อมโฟลเดอร์ต้นฉบับเป็นไดรฟ์เครือข่าย และช่วยให้คุณสามารถเปิด แก้ไข และลบไฟล์จากคอมพิวเตอร์หรือสมาร์ทโฟนได้เสมือนอยู่ในเครื่อง","Time UTC":"เวลาUTC","Time Zone":"เขตเวลา","Timeout":"หมดเวลา","Title":{"Account":"ชื่อ","Photo":"ชื่อ","":"ชื่อ"},"Title / Position":"ชื่อเรื่องยาวเกินไป","Title too long":"ชื่อเรื่องยาวเกินไป","to":"ถึง","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"เพื่อหลีกเลี่ยงการถูกล็อคออกจากบัญชีของคุณ โปรดดาวน์โหลด พิมพ์ หรือคัดลอกรหัสกู้คืนนี้ทันทีและเก็บไว้ในที่ปลอดภัย","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"หากต้องการสร้างรหัสผ่านเฉพาะแอปใหม่ โปรดป้อนชื่อและขอบเขตการอนุญาตของแอปพลิเคชัน และเลือกวันหมดอายุ:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"หากต้องการสลับไปใช้แอพหรืออุปกรณ์ตรวจสอบความถูกต้องใหม่ ให้ปิดการใช้งานการตรวจสอบสิทธิ์แบบสองปัจจัยก่อนแล้วจึงเปิดใช้งานอีกครั้ง:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"หากต้องการอัปเกรด คุณสามารถป้อนรหัสเปิดใช้งานหรือคลิก \"ลงทะเบียน\" เพื่อลงทะเบียนบนเว็บไซต์ของเรา:","Today":"วันนี้","Toggle View":"สลับมุมมอง","Token":"โทเค็น","Too many files selected":"เลือกไฟล์มากเกินไป","Too many requests":"คำขอมากเกินไป","Troubleshooting":"การแก้ไขปัญหา","Try again using other filters or keywords.":"ลองอีกครั้งโดยใช้ตัวกรองหรือคำหลักอื่น","Two-factor authentication has been enabled for your account.":"เปิดใช้งานการรับรองความถูกต้องด้วยสองปัจจัยสำหรับบัญชีของคุณแล้ว","Type":"พิมพ์","Unable to delete":"ไม่สามารถลบได้","Unauthorized":"ไม่ได้รับอนุญาต","Undo":"เลิกทำ","Unique ID":"ID ไม่ซ้ำกัน","Unknown":"ไม่รู้จัก","Unregistered":"ไม่ได้ลงทะเบียน","Unsorted":"ไม่เรียงลำดับ","Unstack":"แกะ","Updated":"อัปเดต","Updating faces":"กำลังอัปเดตใบหน้า","Updating index":"กำลังอัปเดตดัชนี","Updating moments":"กำลังอัปเดตช่วงเวลา","Updating picture…":"กำลังอัปเดตตัวอย่าง","Updating previews":"กำลังอัปเดตตัวอย่าง","Updating stacks":"กำลังอัปเดตกอง","Upgrade":"อัปเกรด","Upgrade Now":"อัพเกรดเดี๋ยวนี้","Upload":"ที่อัพโหลด","Upload complete":"อัพโหลดเสร็จแล้ว","Upload complete. Indexing…":"อัพโหลดเสร็จแล้ว กำลังจัดทำดัชนี…","Upload failed":"การอัพโหลดล้มเหลว","Upload local files":"อัปโหลดไฟล์ในเครื่อง","Upload Path":"อัปโหลดเส้นทาง","Upload to WebDAV and share links with friends.":"อัปโหลดไปยัง WebDAV และแชร์ลิงก์กับเพื่อน","Uploading %{n} of %{t}…":"กำลังอัปโหลด %{n} จาก %{t}…","Uploading photos…":"กำลังอัปโหลดรูปภาพ…","Uploading…":"กำลังโหลดซ้ำ…","Uploads that may contain such images will be rejected automatically.":"การอัปโหลดที่อาจมีภาพดังกล่าวจะถูกปฏิเสธโดยอัตโนมัติ","Use Presets":"ใช้พรีเซ็ต","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"ใช้รหัสกู้คืนต่อไปนี้เพื่อเข้าถึงบัญชีของคุณเมื่อคุณไม่สามารถสร้างรหัสยืนยันที่ถูกต้องด้วยแอปตรวจสอบสิทธิ์ของคุณได้:","Use your recovery code or contact an administrator for help.":"ใช้รหัสกู้คืนของคุณหรือติดต่อผู้ดูแลระบบเพื่อขอความช่วยเหลือ","User":"ผู้ใช้","User Guide":"คู่มือผู้ใช้","User Interface":"หน้าจอผู้ใช้","Username":"ชื่อผู้ใช้","Users":"ผู้ใช้","Vector":"เวกเตอร์","Vectors":"เวกเตอร์","Verification Code":"รหัสยืนยัน","Video":"วีดีโอ","Video Duration":"ระยะเวลา","Videos":"วิดีโอ","View":"ดู","View search results as a list.":"ดูผลลัพธ์การค้นหาเป็นรายการ","Viewer":"ผู้ดู","Visitor":"ผู้เข้าชม","Visual Similarity":"จัดกลุ่มตามความเหมือน","Warning":"คำเตือน","We appreciate your feedback!":"ขอขอบคุณสำหรับความคิดเห็นของคุณ!","We do our best to respond within five business days or less.":"เราพยายามอย่างเต็มที่ที่จะตอบกลับภายในห้าวันทำการหรือน้อยกว่านั้น","Web Login":"เข้าสู่ระบบเว็บ","WebDAV":"เว็บDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"ไคลเอ็นต์ WebDAV สามารถเชื่อมต่อกับ PhotoPrism โดยใช้ URL ต่อไปนี้:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"ไคลเอนต์ WebDAV เช่น Windows Explorer ของ Microsoft หรือ Finder ของ Apple สามารถเชื่อมต่อโดยตรงกับ PhotoPrism","WebDAV Upload":"อัพโหลด WebDAV","WebGL support is disabled in your browser":"การรองรับ WebGL ถูกปิดใช้งานในเบราว์เซอร์ของคุณ","Website":"เว็บไซต์","White":"สีขาว","Work Details":"รายละเอียด","Year":"ปี","Yellow":"สีเหลือง","Yes":"ใช่","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"คุณสามารถติดต่อเราได้ที่ membership@photoprism.app สำหรับคำถามเกี่ยวกับการเป็นสมาชิกของคุณ","You can only download one album":"ดาวน์โหลดได้เพียงอัลบั้มเดียว","You can only download one label":"คุณสามารถดาวน์โหลดป้ายกำกับได้เพียงป้ายเดียว","You can search for a location or move the marker on the map to change the position:":"คุณสามารถค้นหาตำแหน่งหรือย้ายเครื่องหมายบนแผนที่เพื่อเปลี่ยนตำแหน่ง:","You can upload up to %{n} files for test purposes.":"คุณสามารถอัปโหลดไฟล์ได้มากถึง %{n} ไฟล์เพื่อการทดสอบ","You may only select one item":"เลือกได้เพียงรายการเดียวเท่านั้น","You may rescan your library to find additional faces.":"คุณสามารถสแกนคลังของคุณเพื่อค้นหาใบหน้าเพิ่มเติม","Your account has been successfully connected.":"บัญชีของคุณเชื่อมต่อสำเร็จแล้ว","Your browser does not support WebGL":"เบราว์เซอร์ของคุณไม่รองรับ WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"การสนับสนุนอย่างต่อเนื่องของคุณช่วยให้เราอัปเดตและบริการต่างๆ เป็นประจำ เช่น แผนที่โลก","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"คลังของคุณได้รับการวิเคราะห์อย่างต่อเนื่องเพื่อสร้างอัลบั้มของช่วงเวลา การเดินทาง และสถานที่พิเศษโดยอัตโนมัติ","Zoom in/out":"ซูมเข้า/ออก"}} \ No newline at end of file diff --git a/frontend/src/locales/json/tr.json b/frontend/src/locales/json/tr.json index 99f065fcc..285975bca 100644 --- a/frontend/src/locales/json/tr.json +++ b/frontend/src/locales/json/tr.json @@ -1 +1 @@ -{"tr":{"{0} appended action":"{0} eklenmiş eylem","{0} files":"{0} dosya","{0} files ({1} in total)":"{0} dosya (toplamda {1})","{0} more":"{0} daha fazla","{0} prepended action":"{0} önceden eklenmiş eylem","{0} selected":"{0} seçildi","{0}-{1} of {2}":"{2} içinden {0}-{1}","%{n} albums found":"%{n} albüm bulundu","%{n} files uploaded":"%{n} dosya yüklendi","%{n} folders found":"%{n} klasör bulundu","%{n} GB of %{q} GB used":"%{n} GB %{q} GB kullanıldı","%{n} labels found":"%{n} etiket bulundu","%{n} people found":"%{n} kişi bulundu","%{n} pictures found":"%{n} resim bulundu","%{s} is too long":"%{s} çok uzun","%{s} is too short":"%{s} çok kısa","1 hour":"1 saat","12 hours":"12 saat","2-Factor Authentication":"2 Faktörlü Kimlik Doğrulama","2FA":"2FA","4 hours":"4 saat","A click will copy it to your clipboard.":"Tıklayarak panoya kopyalayabilirsiniz.","A new version of %{s} is available:":"Yeni bir %{s} sürümü mevcuttur:","About":"Hakkımızda","Access Token":"Erişim Jetonu","Account":"Hesap","Account created":"Hesap eklendi","Account deleted":"Hesap silindi","Account restored":"Hesap geri yüklendi","Accounts":"Hesaplar","Accuracy":"Doğruluk","Action":"Aksiyon","Actions":"Aksiyonlar","Activate":"Etkinleştir","Activate to remove sorting.":"Sıralamayı kaldırmak için etkinleştirin.","Activate to sort ascending.":"Artan şekilde sıralamak için etkinleştirin.","Activate to sort descending.":"Azalan şekilde sıralamak için etkinleştirin.","Activation Code":"Aktivasyon Kodu","Add":"Ekle","Add %{s}?":"Ekle %{s}?","Add Account":"Hesap ekle","Add Album":"Albüm Ekle","Add files to your library via Web Upload.":"Web Yükleme aracılığıyla kitaplığınıza dosya ekleyin.","Add Link":"Link ekle","Add person?":"Kişi ekleyelim mi?","Add pictures from search results by selecting them.":"Arama sonuçlarından resimleri seçerek ekleyin.","Add to album":"Albüme ekle","Added":"Eklendi","Admin":"Yönetici","Advanced":"Gelişmiş","After 1 day":"1 gün sonra","After 3 days":"3 gün sonra","After 7 days":"7 gün sonra","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Onay için şifrenizi girdikten sonra, uyumlu bir kimlik doğrulama uygulaması veya cihazıyla iki faktörlü kimlik doğrulamayı ayarlayabilirsiniz:","After one month":"Bir ay sonra","After one year":"Bir yıl sonra","After selecting pictures from search results, you can add them to an album using the context menu.":"Arama sonuçlarından resimleri seçtikten sonra, içerik menüsünü kullanarak bunları bir albüme ekleyebilirsiniz.","After two months":"İki ay sonra","After two weeks":"İki hafta sonra","Album":"Albüm","Album Backups":"Albüm Yedekleri","Album created":"Albüm oluşturuldu","Albums":"Albümler","Albums deleted":"Albümler silindi","All":"Tümü","All %{n} albums loaded":"Tüm %{n} albüm yüklendi","All %{n} labels loaded":"Tüm %{n} etiketler yüklendi","All %{n} people loaded":"Tüm %{n} kişiler yüklendi","All Cameras":"Tüm Kameralar","All Categories":"Tüm Kategoriler","All Colors":"Tüm Renkler","All Countries":"Tüm Ülkeler","All fields are required":"Tüm alanlar zorunludur","All files from import folder":"İçe aktarma klasöründeki tüm dosyalar","All Lenses":"Tüm Lensler","All Months":"Tüm Aylar","All originals":"Tüm orijinaller","All Years":"Bütün yıllar","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Alternatif olarak, dosyaları doğrudan Nextcloud gibi WebDAV sunucularına yükleyebilirsiniz.","Altitude":"Rakım","Altitude (m)":"Rakım (m)","AM":"AM","Animated":"Hareketli","Animation":"Animasyon","Any private photos and videos remain private and won't be shared.":"Özel fotoğraflar ve videolar gizli kalır ve paylaşılmaz.","API Key":"API Anahtarı","Application":"Uygulama","Apply":"Uygula","Approve":"Onayla","Apps and Devices":"Uygulamalar ve Cihazlar","Archive":"Arşiv","Archived":"Arşivlendi","Are you sure you want to archive the selection?":"Seçimi arşivlemek istediğinizden emin misiniz?","Are you sure you want to delete these albums?":"Bu albümleri silmek istediğinizden emin misiniz?","Are you sure you want to delete these labels?":"Bu etiketleri silmek istediğinizden emin misiniz?","Are you sure you want to delete this account?":"Bu hesabı silmek istediğinizden emin misiniz?","Are you sure you want to permanently delete these pictures?":"Bu resimleri kalıcı olarak silmek istediğinizden emin misiniz?","Are you sure you want to permanently delete this file?":"Bu dosyayı kalıcı olarak silmek istediğinizden emin misiniz?","Are you sure?":"Emin misiniz?","Artist":"Sanatçı","Aspect Ratio":"En Boy Oranı","Audio":"Ses","Authentication":"Kimlik Doğrulama","Auto":"Otomatik","Back":"Geri","Back to top":"Başa dön","Backup":"Yedekleme","Badge":"Rozet","Base Path":"Temel Yol","Become a member today, support our mission and enjoy our member benefits!":"Bugün üye olun, misyonumuzu destekleyin ve üye avantajlarımızdan yararlanın!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"100% öz fonlu ve bağımsız olarak, verilerinizi asla satmayacağımız ve yazılım ile hizmetlerimiz konusunda her zaman şeffaf olacağımızı size garanti edebiliriz.","Bio":"Özgeçmiş","Birth Date":"Doğum Tarihi","Black":"Siyah","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Lanczos Modifikasyonu, Daha Az Çan Etkisi","Blue":"Mavi","Brown":"Kahverengi","Browse":"Gözat","Browse and edit image classification labels.":"Görüntü sınıflandırma etiketlerine göz atın ve düzenleyin.","Browse and share your pictures organized into monthly albums.":"Aylık albümler halinde düzenlenmiş resimlerinize göz atın ve paylaşın.","Browse Files":"Dosyalara Gözat","Browse indexed files and folders in Library.":"Kitaplık'ta dizine alınmış dosya ve klasörlere göz atın.","Bug Report":"Hata raporu","Busy, please wait…":"Meşgul, lütfen bekleyin…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Sağladığımız yazılım ve hizmetleri kullanarak hizmet şartlarımızı, gizlilik politikamızı ve davranış kurallarımızı kabul etmiş olursunuz.","Calendar":"Takvim","Camera":"Kamera","Camera Serial":"Kamera Seri Numarası","Can't access your authenticator app or device?":"Kimlik doğrulayıcı uygulamanıza veya cihazınıza erişemiyor musunuz?","Can't load more, limit reached":"Daha fazla yüklenemiyor, sınıra ulaşıldı","Can't select more items":"Daha fazla öğe seçilemiyor","Cancel":"İptal","Caption":"Başlık","Cards":"Kartlar","Carousel slide {0} of {1}":"{1}'in {0} kaydırmalı slayt","Category":"Kategori","Change Avatar":"Avatarı değiştir","Change Password":"Şifre Değiştir","Change personal profile and security settings.":"Kişisel profil ve güvenlik ayarlarını değiştirin.","Change photo titles, locations, and other metadata.":"Fotoğraf başlıklarını, konumları ve diğer meta verileri değiştirin.","Change private flag":"Özel işaretini değiştir","Changes could not be saved":"Değişiklikler kaydedilemedi","Changes successfully saved":"Değişiklikler başarıyla kaydedildi","Changes to the advanced settings require a restart to take effect.":"Gelişmiş ayarlarda yapılan değişikliklerin etkili olması için yeniden başlatma gerekir.","Checked":"Seçildi","Chroma":"Renk doygunluğu","Cleaning index and cache":"Dizin ve önbelleği temizleme","Cleanup":"Temizleme","Clear {0}":"Temizle {0}","Client":"Müşteri","Client Credentials":"Müşteri Kimlik Bilgileri","Close":"Kapat","Codec":"Kodek","Color":"Renk","Color Profile":"Renk Profili","Colors":"Renkler","Compare Editions":"Sürümleri Karşılaştır","Complete Rescan":"Tam Yeniden Tarama","Confidence":"Güven","Confirm":"Onaylamak","Connect":"Bağlan","Connect via WebDAV":"WebDAV ile bağlan","Connected":"Bağlandı","Contact Details":"İletişim Detayları","Contact Us":"İletişim","Contains %{n} pictures.":"%{n} resim içeriyor.","Contains one picture.":"Tek resim içerir.","Content":"İçerik","Continue":"Devam et","Continue with %{provider}":"%{provider} ile devam edin","Contributor":"Katılımcı","Converting":"Dönüştürülüyor","Copied to clipboard":"Panoya kopyalandı","Copy":"Kopyala","Copyright":"Telif hakkı","Couldn't find anything.":"Hiçbir şey bulunamadı.","Country":"Ülke","Create Account":"Hesap Oluştur","Create album":"Albüm Oluştur","Create regular backups based on the configured schedule.":"Yapılandırılan zamanlamaya göre dizin yedeklemeleri oluşturun.","Create YAML files to back up album metadata.":"Albüm meta verilerini yedeklemek için YAML dosyaları oluşturun.","Create YAML sidecar files to back up picture metadata.":"Resim meta verilerini yedeklemek için YAML sidecar oluşturun.","Created":"Oluşturuldu","Creating thumbnails for":"Önizlemeler üretiliyor","Cubic: Moderate Quality, Good Performance":"Cubic: Ortalama Kalite, İyi Performans","Current Password":"Mevcut Şifre","Custom":"Özel","Cyan":"Camgöbeği","Daily":"Günlük","Database Backups":"Veritabanı Yedekleri","Day":"Gün","Deactivate":"Devre dışı bırak","Debug Logs":"Hata Kayıtları","Default":"Varsayılan","Default Folder":"Varsayılan Klasör","Delete":"Sil","Delete All":"Tümünü Sil","Delete all?":"Hepsini sil?","Delete orphaned index entries, sidecar files and thumbnails.":"Artık dizin girişlerini, sidecar dosyalarını ve küçük resimleri silin.","Description":"Açıklama","Detailed instructions can be found in our User Guide.":"Kullanıcı kılavuzunda detaylı adımlar bulunabilir.","Details":"Detaylar","Dimensions":"Boyutlar","Disable Backups":"Yedekleri devre dışı bırak","Disable Darktable":"Darktable'ı devre dışı bırak","Disable ExifTool":"ExifTool'u devre dışı bırak","Disable features that require write permission for the originals folder.":"Orijinaller klasörü için yazma izni gerektiren özellikleri devre dışı bırakın.","Disable FFmpeg":"FFmpeg'i devre dışı bırak","Disable ImageMagick":"ImageMagick'i devre dışı bırakın","Disable interactive world maps and reverse geocoding.":"Etkileşimli dünya haritalarını ve ters coğrafi kodlamayı devre dışı bırakın.","Disable Places":"Yerleri devre dışı bırak","Disable RawTherapee":"RawTherapee'yi devre dışı bırak","Disable TensorFlow":"TensorFlow'u devre dışı bırak","Disable Vectors":"Vektörleri devre dışı bırak","Disable WebDAV":"WebDAV'ı devre dışı bırak","Disables vector graphics support.":"Vektör grafikleri desteğini devre dışı bırakır.","Disables video transcoding and thumbnail extraction.":"Video kod dönüştürmeyi ve küçük resim çıkarmayı devre dışı bırakır.","Discover":"Keşfetmek","Dismiss":"Göz ardı et","Display Name":"Ekran adı","Display picture captions in search results.":"Arama sonuçlarında resim başlıklarını görüntüleyin.","Display picture titles in search results.":"Arama sonuçlarında resim başlıklarını görüntüleyin.","Document":"Belge","Documents":"Belgeler","Don't use Darktable to convert RAW images.":"RAW görüntüleri dönüştürmek için Darktable kullanmayın.","Don't use ImageMagick to convert images.":"Görüntüleri dönüştürmek için ImageMagick kullanmayın.","Don't use RawTherapee to convert RAW images.":"RAW görüntüleri dönüştürmek için RawTherapee kullanmayın.","Done":"Tamamlandı","Done.":"Tamamlandı.","Download":"İndirmek","Download only original media files, without any automatically generated files.":"Otomatik olarak oluşturulan dosyalar olmadan yalnızca orijinal medya dosyalarını indirin.","Download remote files":"Uzak dosyaları indir","Download single files and zip archives.":"Tek dosyaları ve zip arşivlerini indirin.","Downloading…":"İndiriliyor…","Downscaling Filter":"Ölçek küçültme filtresi","Drag and drop files here":"Dosyaları buraya sürükleyip bırakın","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"Aldığımız e-postaların yoğunluğu nedeniyle ekibimiz size hemen geri dönüş yapamayabilir.","Duplicates will be skipped and only appear once.":"Yinelenenler atlanacak ve yalnızca bir kez görünecek.","Duration":"Süre","Dynamic Previews":"Dinamik Önizlemeler","Dynamic Size Limit: %{n}px":"Dinamik Boyut Sınırı: %{n}px","E-Mail":"E-Posta","Edit":"Düzenle","Edit %{s}":"%{s}'i düzenle","Edit Account":"Hesabı Düzenle","Edit Photo":"Fotoğrafı Düzenle","Edited":"Düzenlendi","Email":"E-posta","Enable debug mode to display additional logs and help with troubleshooting.":"Ek günlükleri görüntülemek ve sorun gidermeye yardımcı olmak için hata ayıklama modunu etkinleştirin.","Enable new features that may be incomplete or unstable.":"Eksik veya kararsız olabilecek yeni özellikleri etkinleştirin.","Enables RAW converter presets. May reduce performance.":"RAW dönüştürücü ön ayarlarını etkinleştirir. Performansı azaltabilir.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"İki faktörlü kimlik doğrulamayı etkinleştirmek, oturum açmak için rastgele oluşturulmuş bir doğrulama koduna ihtiyacınız olacağı anlamına gelir; dolayısıyla birisi şifrenize erişse bile hesabınıza erişemez.","Enter date":"Tarih girin","Enter dates":"Tarihleri girin","Enter the code generated by your authenticator app:":"Kimlik doğrulayıcı uygulamanız tarafından oluşturulan kodu girin:","Enter verification code":"Doğrulama kodunu giriniz","Enter your password to confirm the action and continue:":"İşlemi onaylamak ve devam etmek için şifrenizi girin:","Error":"Hata","Errors":"Hatalar","Estimate":"Tahmin","Estimate Locations":"Tahmini Konumlar","Estimate the approximate location of pictures without GPS coordinates.":"GPS koordinatları olmadan resimlerin yaklaşık konumunu tahmin edin.","Every two days":"İki günde bir","Exclude content marked as private from search results, shared albums, labels, and places.":"Özel olarak işaretlenen içeriği arama sonuçlarından, paylaşılan albümlerden, etiketlerden ve yerlerden hariç tutun.","Exclude hidden":"Gizlenenleri hariç tut","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"XMP meta verileri, videolar ve Canlı Fotoğraflar için tam destek için ExifTool gereklidir.","Experimental Features":"Deneysel Özellikler","Expires":"Süre sonu","Exposure":"Pozlama","Extract still images and generate thumbnails while indexing.":"Hareketsiz görüntüleri ayıklayın ve indeksleme sırasında küçük resimler oluşturun.","F Number":"F Numarası","Face":"Yüz","Faces":"Yüzler","Failed removing link":"Bağlantı kaldırılamadı","Failed to connect account.":"Hesap bağlanamadı.","Failed updating link":"Bağlantı güncellenemedi","Family Name":"Soyadı","Fast":"Hızlı","Favorite":"Favori","Favorites":"Favoriler","Feature Request":"Özellik isteği","Feedback":"Geri bildirim","Female":"Kadın","File":"Dosya","File Browser":"Dosya tarayıcısı","File Conversion":"Dosya Dönüştürme","File Name":"Dosya Adı","File Size":"Dosya Boyutu","Filename":"Dosya Adı","Files":"Dosyalar","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"'IMG_1234 (2)' ve 'IMG_1234 (3)' gibi sıralı adlara sahip dosyalar aynı resme aittir.","First page":"İlk sayfa","Focal Length":"Odak uzaklığı","Folder":"Klasör","Folder contains %{n} files":"Klasör %{n} dosya içeriyor","Folder is empty":"Klasör boş","Folders":"Klasörler","Forgot password?":"Parolanızı mı unuttunuz?","FPS":"FPS","Frames":"Çerçeveler","Full Access":"Tam erişim","Fullscreen":"Tam ekran","General":"Genel","Generate":"Oluştur","Generate albums of special moments, journeys, and places.":"Özel anların, gezilerin ve yerlerin albümlerini otomatik olarak oluşturur.","Generate Previews":"Önizleme Oluşturma","Generated":"Oluşturuldu","Get Started":"Başlayın","Given Name":"İsim","Global Options":"Küresel Seçenekler","Go to page {0}":"{0}. sayfaya gidin","Gold":"Altın","Green":"Yeşil","Grey":"Gri","Guest":"Misafir","Hash":"Karma","Help":"Yardım","Help & Support":"Yardım & Destek","Hidden":"Gizli","Hidden Files":"Gizli Dosyalar","Hide":"Gizle","Hide photos that have been moved to archive.":"Arşive taşınan fotoğrafları gizleyin.","High":"Yüksek","High Dynamic Range (HDR)":"Yüksek Dinamik Aralık (HDR)","How can we help?":"Nasıl yardımcı olabiliriz?","Hybrid":"Hibrit","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Kimlik doğrulayıcı uygulamanıza veya cihazınıza erişiminizi kaybederseniz, hesabınıza yeniden erişim sağlamak için kurtarma kodunuzu kullanabilirsiniz.","Image":"Resim","Image Quality":"Görüntü Kalitesi","Import":"İçe aktarmak","Import failed":"İçe aktarılamadı","Imported files will be sorted by date and given a unique name to avoid duplicates.":"İçe aktarılan dosyalar tarihe göre sıralanacak ve yinelemeleri önlemek için benzersiz bir ad verilecektir.","Imported files will be sorted by date and given a unique name.":"İçe aktarılan dosyalar tarihe göre sıralanacak ve benzersiz bir ad verilecektir.","Importing %{s}…":"%{s} içe aktarılıyor…","Importing files to originals…":"Dosyalar orijinallere aktarılıyor…","in":"içinde","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"Beklediğiniz resimlerin eksik olması durumunda lütfen kitaplığınızı yeniden tarayın ve indeksleme tamamlanana kadar bekleyin.","Include RAW image files when downloading stacks and archives.":"Yığınları ve arşivleri indirirken RAW görüntü dosyalarını ekleyin.","Include sidecar files when downloading stacks and archives.":"Yığınları ve arşivleri indirirken sidecar dosyalarını ekleyin.","Increase storage size or delete files to continue.":"Devam etmek için depolama boyutunu artırın veya dosyaları silin.","Index":"İndeks","Index and import files through the user interface.":"Kullanıcı arayüzü üzerinden dosyaları indeksleyin ve içe aktarın.","Indexing":"Indeksleniyor","Indexing failed":"İndeksleme başarısız","Indexing media and sidecar files…":"Medya ve yardımcı dosyalar indeksleniyor…","Information":"Bilgi","Instance ID":"Ortam ID","Insufficient storage.":"Yetersiz depolama.","Interval":"Aralık","Invalid":"Geçersiz","Invalid address":"Geçersiz adres","Invalid country":"Geçersiz ülke","Invalid date":"Geçersiz tarih","Invalid parameters":"Geçersiz parametreler","Invalid photo selected":"Geçersiz fotoğraf seçildi","Invalid time":"Geçersiz zaman","Invalid URL":"Geçersiz URL","It is a one-time use code that will disable 2FA for your account when you use it.":"Bu, kullandığınızda hesabınız için 2FA'yı devre dışı bırakacak tek kullanımlık bir koddur.","Item":"Öğe","Items per page:":"Sayfa başına öğe:","JPEG Quality: %{n}":"JPEG Kalitesi: %{n}","JPEG Size Limit: %{n}px":"JPEG Boyut Sınırı: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"JPEG'ler ve küçük resimler, gerektiğinde otomatik olarak oluşturulur.","Keywords":"Anahtar Kelimeler","Label":"Etiket","Labels":"Etiketler","Labels deleted":"Etiketler silindi","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: Detayların Korunması, Minimal Eserler","Language":"Dil","Last Active":"Son Aktif","Last Login":"Son Giriş","Last page":"Son sayfa","Last Sync":"Son Senkronizasyon","Last Used":"Son kullanılan","Latitude":"Enlem","LDAP/AD":"LDAP/AD","Learn more":"Daha fazla bilgi edin","Learn More":"Daha Fazla Bilgi","Legal Information":"Yasal Bilgiler","Lens":"Lens","Library":"Kütüphane","License":"Lisans","Like":"Sevmek","Lime":"Lime yeşili","Limit reached, showing first %{n} files":"Sınıra ulaşıldı, ilk %{n} dosya gösteriliyor","Linear: Very Smooth, Best Performance":"Doğrusal: Çok Pürüzsüz, En İyi Performans","Link":"Link","List":"Liste","List View":"Liste Görünümü","Live":"Canlı","Live Photos":"Canlı Fotoğraflar","Load more":"Daha fazla yükle","Loading items...":"Öğeler yükleniyor...","Loading...":"Yükleniyor...","Local":"Yerel","Local Time":"Yerel Saat","Location":"Konum","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"PhotoPrism bozuk dosyalarla karşılaştığında veya başka olası sorunlar olduğunda günlük mesajları burada görünür.","Login":"Giriş","Logout":"Çıkış","Logs":"Kayıtlar","Longitude":"Boylam","Low":"Düşük","Magenta":"Magenta","Main Color":"Ana renk","Male":"Erkek","Manage Account":"Hesabı Yönet","Manual":"El Kitabı","Manual Upload":"Manuel Yükleme","Maps":"Haritalar","Marker":"İşaretleyici","Maximum number of accounts has been reached.":"Maksimum hesap sayısına ulaşıldı.","Media":"Medya","Medium":"Orta","Membership":"Üyelik","Merge %{a} with %{b}?":"%{a} ile %{b} birleştirilsin mi?","Message":"Mesaj","Message sent":"Mesaj Gönderildi","Metadata":"Metadata","Metrics":"Metrikler","Minimize":"Küçült","Missing":"Eksik","Missing or invalid configuration":"Eksik veya geçersiz yapılandırma","Moments":"Anlar","Monochrome":"Monokrom","Month":"Ay","More options":"Daha fazla seçenek","Mosaic":"Mozaik","Most Relevant":"En Alakalı","Move Files":"Dosyaları Taşı","Must have at least %{n} characters.":"En az %{n} karakter olmalıdır.","Mute":"Sessiz","Name":"Ad","Name too long":"İsim çok uzun","Never":"Asla","New":"Yeni","New Password":"Yeni Şifre","Newest First":"Yeniden Eskiye","Next":"Sonraki","Next page":"Sonraki sayfa","Next visual":"Sonraki görsel","No":"Hayır","No albums found":"Hiç albüm bulunamadı","No data available":"Veri mevcut değil","No labels found":"Etiket bulunamadı","No matching records found":"Eşleşen kayıt bulunamadı","No more":"Artık yok","No people found":"Hiç kimse bulunamadı","No pictures found":"Resim bulunamadı","No recently edited pictures":"Yakın zamanda düzenlenmiş resim yok","No server connection":"Sunucu bağlantısı yok","No servers configured.":"Yapılandırılmış sunucu yok.","No services configured.":"Yapılandırılmış hizmet yok.","No thanks":"Hayır, teşekkürler","No warnings or error containing this keyword. Note that search is case-sensitive.":"Bu anahtar kelimeyi içeren uyarı veya hata yok. Aramanın büyük/küçük harfe duyarlı olduğunu unutmayın.","Non-photographic and low-quality images require a review before they appear in search results.":"Fotoğrafik olmayan ve düşük kaliteli görüntülerin arama sonuçlarında görünmeden önce incelenmesi gerekmektedir.","None":"Hiçbiri","Not allowed":"İzin verilmez","Not found":"Bulunamadı","Not sorted.":"Sıralanmamış.","Not supported":"Desteklenmiyor","Note you may manually manage your originals folder and importing is optional.":"Orijinaller klasörünüzü manuel olarak yönetebileceğinizi ve içe aktarmanın isteğe bağlı olduğunu unutmayın.","Note:":"Not:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Not: Yalnızca Nextcloud veya PhotoPrism gibi WebDAV sunucuları yedekleme ve dosya yükleme için uzak hizmet olarak yapılandırılabilir.","Notes":"Notlar","Nothing to see here yet.":"Henüz görecek bir şey yok.","Nothing was found.":"Hiçbir şey bulunamadı.","Offline":"Çevrimdışı","OIDC":"OIDC","OK":"TAMAM","Oldest First":"Eskiden Yeniye","On Windows, enter the following resource in the connection dialog:":"Windows'ta, bağlantı iletişim kutusuna aşağıdaki kaynağı girin:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"Küçük resimlerin isteğe bağlı olarak oluşturulması yüksek CPU ve bellek kullanımına neden olabilir. Kaynakları kısıtlı sunucular ve NAS cihazları için önerilmez.","Once a week":"Haftada bir","One album found":"Bir albüm bulundu","One file found":"Bir dosya bulundu","One file uploaded":"Bir dosya yüklendi","One folder found":"Bir klasör bulundu","One label found":"Bir etiket bulundu","One person found":"Bir kişi bulundu","One picture found":"Bir resim bulundu","Only locally managed accounts can be set up for authentication with 2FA.":"2FA ile kimlik doğrulama için yalnızca yerel olarak yönetilen hesaplar ayarlanabilir.","Open":"Açık","optional":"isteğe bağlı","or":"veya","Orange":"Turuncu","Organization":"Organizasyon","Orientation":"Yönlendirme","Original file names will be stored and indexed.":"Orijinal dosya adları saklanacak ve indekslenecektir.","Original Name":"Orijinal Adı","Originals":"Orijinaller","Other":"Diğer","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Misyonumuz, resimlerinizi düzenli ve erişilebilir tutmak için en kullanıcı ve gizlilik dostu çözümü sunmaktır.","Outdoor":"Dış mekan","Page {0}, Current page":"Sayfa {0}, Mevcut sayfa","Pages":"Sayfalar","Pagination Navigation":"Sayfalandırma Navigasyonu","Panorama":"Panorama","Panoramas":"Panoramalar","Password":"Şifre","Password changed":"Şifre Değiştirildi","People":"Kişi","People you share a link with will be able to view public contents.":"Bağlantı paylaştığınız kişiler herkese açık içerikleri görüntüleyebilecektir.","Permanently deleted":"Kalıcı olarak silindi","Permanently remove files to free up storage.":"Depolama alanını boşaltmak için dosyaları kalıcı olarak kaldırın.","Person":"Kişi","Personal":"Kişisel","Photo":"Fotoğraf","PhotoPrism is 100% self-funded and independent.":"PhotoPrism %100 kendi kendini finanse eder ve bağımsızdır.","PhotoPrism+ Membership":"PhotoPrism+ Üyeliği","Photos":"Fotoğraflar","Picture Title":"Resim Başlığı","Pink":"Pembe","Place":"Yer","Place & Time":"Yer ve Zaman","Places":"Yerler","Please confirm your new password.":"Lütfen yeni şifrenizi onaylayın.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Lütfen aşağıda verilen rastgele oluşturulmuş uygulama şifresini kopyalayın ve güvenli bir yerde saklayın, çünkü bunu bir daha göremeyeceksiniz:","Please do not upload any private, unlawful or offensive pictures.":"Lütfen özel, yasa dışı veya saldırgan resimler yüklemeyin.","Please don't upload photos containing offensive content.":"Lütfen saldırgan içerik barındıran fotoğraflar yüklemeyin.","Please enter OTP character {0}":"Lütfen OTP karakterini girin {0}","Please note that changing your password will log you out on other devices and browsers.":"Lütfen şifrenizi değiştirdiğinizde diğer cihazlarda ve tarayıcılarda oturumunuzu kapatacağınızı unutmayın.","Please restart your instance for the changes to take effect.":"Değişikliklerin etkili olması için lütfen instance'ınızı yeniden başlatın.","Please wait…":"Lütfen bekleyin…","PM":"PM","PNG Size Limit: %{n}px":"PNG Boyut Sınırı: %{n}px","Portrait":"Portre","Preserve filenames":"Dosya adlarını koru","Press enter to create a new album.":"Yeni bir albüm oluşturmak için enter tuşuna basın.","Prevent database and album backups as well as YAML sidecar files from being created.":"Veritabanı ve albüm yedeklerinin yanı sıra YAML sidecar dosyalarının oluşturulmasını önleyin.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Diğer uygulamaların PhotoPrism'e paylaşılan bir ağ sürücüsü olarak erişmesini engelleyin.","Preview":"Önizleme","Preview Images":"Önizleme Görüntüleri","Previous":"Önceki","Previous page":"Önceki sayfa","Previous visual":"Önceki görsel","Primary":"Birincil","Private":"Özel","Product Feedback":"Ürün Geri Bildirimi","Projection":"Projeksiyon","Purple":"Mor","Quality Filter":"Kalite Filtresi","Quality Score":"Kalite Puanı","r":"r","Random":"Rastgele","Rating {0} of {1}":"Değerlendirme {1}'in {0}'ı","Raw":"Raw","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Önceden indekslenmiş ve değişmemiş dosyalar da dahil olmak üzere tüm orijinalleri yeniden indeksleyin.","Read-Only Mode":"Salt Okunur Modu","Recently Added":"Son Eklenenler","Recently Archived":"Yakın Zamanda Arşivlendi","Recently Edited":"Son zamanlarda Düzenlendi","Recognition starts after indexing has been completed.":"Tanıma işlemi indeksleme tamamlandıktan sonra başlar.","Recognize faces so people can be assigned and found.":"Belirli kişilerin bulunabilmesi için yüzleri tanır.","Recognized":"Tanımlanmış","Recovery Code":"Kurtarma Kodu","Red":"Kırmızı","Refresh":"Yenile","Regions":"Bölgeler","Register":"Kayıt Olun","Reload":"Tekrar yükle","Reloading…":"Yeniden doldurma…","Remote Sync":"Uzaktan Senkronizasyon","Remove":"Kaldır","remove failed: unknown album":"kaldırma başarısız: bilinmeyen albüm","Remove from Album":"Albümden çıkar","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Depolama alanından tasarruf etmek için içe aktarılan dosyaları kaldırın. Desteklenmeyen dosya türleri asla silinmez, mevcut konumlarında kalırlar.","Request failed - are you offline?":"İstek başarısız oldu - çevrimdışı mısınız?","Request failed - invalid response":"İstek başarısız oldu - geçersiz yanıt","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Fotoğrafik olmayan ve düşük kaliteli görsellerin arama sonuçlarında görünmeden önce incelenmesini zorunlu kılın.","Resolution":"Çözünürlük","Restart":"Yeniden Başlat","Restore":"Geri Yükle","Restored":"Restore edildi","Retry Limit":"Yeniden Deneme Sınırı","Retype Password":"Şifrenizi yeniden yazın","Review":"İnceleme","Role":"Rol","Rows per page:":"Sayfa başına satır sayısı:","Satellite":"Uydu","Save":"Kaydet","Scan":"Tara","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"QR kodunu kimlik doğrulayıcı uygulamanızla tarayın veya aşağıda gösterilen kurulum anahtarını kullanın ve ardından oluşturulan doğrulama kodunu girin:","Scans":"Taramalar","Scope":"Kapsam","Search":"Arama","Search and display photos on a map.":"Fotoğrafları harita üzerinde arayın ve görüntüleyin.","Season":"Sezon","Secret":"Gizli","Security and Access":"Güvenlik ve Erişim","Select":"Seç","Select a source folder to import files…":"Dosyaları içe aktarmak için bir kaynak klasör seçin…","Select date":"Tarih seçiniz","Select dates":"Tarihleri seçin","Select or create an album":"Bir albüm seçin veya oluşturun","Select the files to upload…":"Yüklenecek dosyaları seçin…","Select the folder to be indexed…":"Dizine eklenecek klasörü seçin…","Select Time":"Zaman Seçiniz","Selection approved":"Seçim onaylandı","Selection archived":"Seçim arşivlendi","Selection restored":"Seçim geri yüklendi","Sequential Name":"Sıralı İsim","Service URL":"Hizmet URL'si","Services":"Hizmetler","Session":"Oturum","Session ID":"Oturum Kimliği","Sessions":"Oturumlar","Set as Album Cover":"Albüm Kapağı Olarak Ayarla","Settings":"Ayarlar","Settings saved":"Ayarlar kaydedildi","Setup":"Kurulum","Share":"Paylaş","Share %{s}":"Paylaş %{s}","Share your pictures with other apps and services.":"Fotoğraflarınızı diğer uygulamalar ve hizmetlerle paylaşın.","Show":"Göster","Show all new faces":"Tüm yeni yüzleri göster","Show Captions":"Başlıkları Göster","Show hidden":"Gizli göster","Show less":"Daha Az Göster","Show more":"Daha fazla göster","Show server logs in Library.":"Kütüphane'de sunucu günlüklerini gösterin.","Show Titles":"Başlıkları Göster","Sidecar":"Sidecar","Sidecar Files":"Sidecar Dosyaları","Sign in":"Giriş Yap","Similar":"Benzer","Size":"Boyut","Slideshow":"Slayt gösterisi","Slow":"Yavaş","Software":"Yazılım","Software Update":"Yazılım Güncellemesi","Something went wrong, try again":"Bir şeyler ters gitti, tekrar deneyin","Sort by":"Göre sırala","Sort Order":"Sıralama düzeni","Sorted ascending.":"Artan şekilde sıralanmıştır.","Sorted descending.":"Azalan şekilde sıralandı.","Source":"Kaynak","Stack":"Yığın","Stack files sharing the same unique image or instance identifier.":"Aynı benzersiz görüntü veya örnek tanımlayıcısını paylaşan yığın dosyaları.","Stack pictures taken at the exact same time and location based on their metadata.":"Aynı zamanda ve konumda çekilen fotoğrafları meta verilerine göre yığınlayın.","Stackable":"İstiflenebilir","Stacks":"Yığınlar","Start":"Başla","Start Page":"Başlangıç Sayfası","Static Size Limit: %{n}px":"Statik Boyut Sınırı: %{n}px","Status":"Durum","Storage":"Depolama","Streets":"Sokaklar","Subject":"Konu","Submit":"Gönder","Successfully activated":"Başarıyla etkinleştirildi","Successfully Connected":"Başarıyla Bağlandı","Successfully deleted":"Başarıyla silindi","Successfully verified":"Başarıyla doğrulandı","Super Admin":"Süper Yönetici","Support for additional services, like Google Drive, will be added over time.":"Google Drive gibi ek hizmetler için destek zaman içinde eklenecektir.","Support Our Mission":"Misyonumuzu Destekleyin","Sync":"Eşitle","Sync raw and video files":"Ham ve video dosyalarını senkronize edin","Taken":"Alınmış","Teal":"Turkuaz","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow görüntü sınıflandırma, yüz tanıma ve güvenli olmayan içeriği tespit etmek için gereklidir.","Terrain":"Arazi","Text":"Metin","Text too long":"Metin çok uzun","Thank You for Your Support!":"Desteğiniz için teşekkürler!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Bu nedenle PhotoPrism, özgürlük, gizlilik veya işlevsellikten ödün vermeden ihtiyaç duyduğunuz her yerde çalışacak şekilde sıfırdan inşa edildi.","The index currently contains %{n} hidden files.":"Dizin şu anda %{n} gizli dosya içermektedir.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Formatları desteklenmiyor olabilir, henüz JPEG'e dönüştürülmemiş olabilirler veya kopyaları mevcut olabilir.","Theme":"Tema","This field is required":"Bu alan zorunludur","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Bu, orijinaller klasörünü bir ağ sürücüsü olarak bağlar ve dosyaları bilgisayarınızdan veya akıllı telefonunuzdan yerelmiş gibi açmanıza, düzenlemenize ve silmenize olanak tanır.","Time UTC":"Zaman UTC","Time Zone":"Saat dilimi","Timeout":"Zaman aşımı","Title":{"Account":"Başlık","Photo":"Başlık","":"Başlık"},"Title / Position":"Başlık / Pozisyon","Title too long":"Başlık çok uzun","to":"için","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Hesabınızın kilitlenmesini önlemek için lütfen bu kurtarma kodunu şimdi indirin, yazdırın veya kopyalayın ve güvenli bir yerde saklayın.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Uygulamaya özel yeni bir şifre oluşturmak için lütfen uygulamanın adını ve yetki kapsamını girin ve bir son kullanma tarihi seçin:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Yeni bir kimlik doğrulama uygulamasına veya cihazına geçmek için önce iki faktörlü kimlik doğrulamayı devre dışı bırakın ve ardından yeniden etkinleştirin:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Yükseltme yapmak için bir aktivasyon kodu girebilir veya web sitemize kaydolmak için \"Kaydol\" düğmesine tıklayabilirsiniz:","Today":"Bugün","Toggle View":"Görünümü Değiştir","Token":"Token","Too many files selected":"Çok fazla dosya seçildi","Too many requests":"Çok fazla istek var","Troubleshooting":"Sorun Giderme","Try again using other filters or keywords.":"Başka filtreler veya anahtar kelimeler kullanarak tekrar deneyin.","Two-factor authentication has been enabled for your account.":"Hesabınız için iki faktörlü kimlik doğrulama etkinleştirildi.","Type":"Tip","Unauthorized":"Yetkisiz","Undo":"Geri al","Unique ID":"Benzersiz kimlik","Unknown":"Bilinmeyen","Unregistered":"Kaydedilmemiş","Unsorted":"Sıralanmamış","Unstack":"Yığından çıkar","Updated":"Güncellendi","Updating faces":"Yüzleri güncelleme","Updating index":"Dizin güncelleniyor","Updating moments":"Anılar güncelliyor","Updating picture…":"Resim güncelleniyor…","Updating previews":"Önizlemeleri güncelleme","Updating stacks":"Yığınları güncelleme","Upgrade":"Yükseltme","Upgrade Now":"Şimdi Yükselt","Upload":"Yükle","Upload complete":"Yüklendi","Upload complete. Indexing…":"Yükleme tamamlandı. İndeksleniyor..","Upload failed":"Yükleme başarısız","Upload local files":"Yerel dosyaları yükleme","Upload Path":"Yükleme Yolu","Upload to WebDAV and share links with friends.":"WebDAV'a yükleyin ve bağlantıları arkadaşlarınızla paylaşın.","Uploading %{n} of %{t}…":"%{t} içinden %{n} yüklüyor…","Uploading photos…":"Fotoğraf yükleniyor..","Uploading…":"Yükleniyor…","Uploads that may contain such images will be rejected automatically.":"Bu tür görüntüler içerebilecek yüklemeler otomatik olarak reddedilecektir.","Use Presets":"Ön Ayarları Kullan","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Kimlik doğrulayıcı uygulamanızla geçerli bir doğrulama kodu oluşturamadığınızda hesabınıza erişmek için aşağıdaki kurtarma kodunu kullanın:","Use your recovery code or contact an administrator for help.":"Kurtarma kodunuzu kullanın veya yardım için bir yöneticiye başvurun.","User":"Kullanıcı","User Guide":"Kullanıcı rehberi","User Interface":"Kullanıcı arayüzü","Username":"Kullanıcı Adı","Users":"Kullanıcılar","Vector":"Vektör","Vectors":"Vektörler","Verification Code":"Doğrulama kodu","Video":"Video","Video Duration":"Video Süresi","Videos":"Videolar","View":"Görünüm","View search results as a list.":"Arama sonuçlarını liste olarak görüntüleyin.","Viewer":"Görüntüleyici","Visitor":"Ziyaretçi","Visual Similarity":"Görsel Benzerlik","Warning":"Uyarı","We appreciate your feedback!":"Görüşleriniz için teşekkür ederiz!","We do our best to respond within five business days or less.":"Beş iş günü veya daha kısa bir süre içinde yanıt vermek için elimizden geleni yapıyoruz.","Web Login":"Web Girişi","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"WebDAV istemcileri aşağıdaki URL'yi kullanarak PhotoPrism'e bağlanabilir:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"Microsoft'un Windows Gezgini veya Apple'ın Finder'ı gibi WebDAV istemcileri, PhotoPrism'e doğrudan bağlanabilir.","WebDAV Upload":"WebDAV Yükleme","WebGL support is disabled in your browser":"Tarayıcınızda WebGL desteği devre dışı bırakılmış","Website":"Website","White":"Beyaz","Work Details":"İş Detayları","Year":"Yıl","Yellow":"Sarı","Yes":"Evet","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Üyeliğinizle ilgili sorularınız için membership@photoprism.app adresinden bizimle iletişime geçebilirsiniz.","You can only download one album":"Yalnızca bir albüm indirebilirsiniz","You can only download one label":"Yalnızca bir etiket indirebilirsiniz","You can upload up to %{n} files for test purposes.":"Test amacıyla %{n} adede kadar dosya yükleyebilirsiniz.","You may only select one item":"Yalnızca bir öğe seçebilirsiniz","You may rescan your library to find additional faces.":"Başka yüzler bulmak için kütüphanenizi yeniden tarayabilirsiniz.","Your account has been successfully connected.":"Hesabınız başarıyla bağlandı.","Your browser does not support WebGL":"Tarayıcınız WebGL'yi desteklemiyor","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Devam eden desteğiniz düzenli güncellemeler sağlamamıza ve bağımsız kalmamıza yardımcı olur, böylece misyonumuzu yerine getirebilir ve gizliliğinizi koruyabiliriz.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Özel anların, gezilerin ve yerlerin albümlerini otomatik olarak oluşturmak için kitaplığınız sürekli olarak analiz edilir.","Zoom in/out":"Yakınlaştır / uzaklaştır"}} \ No newline at end of file +{"tr":{"{0} appended action":"{0} eklenmiş eylem","{0} files":"{0} dosya","{0} files ({1} in total)":"{0} dosya (toplamda {1})","{0} more":"{0} daha fazla","{0} prepended action":"{0} önceden eklenmiş eylem","{0} selected":"{0} seçildi","{0}-{1} of {2}":"{2} içinden {0}-{1}","%{n} albums found":"%{n} albüm bulundu","%{n} files uploaded":"%{n} dosya yüklendi","%{n} folders found":"%{n} klasör bulundu","%{n} GB of %{q} GB used":"%{n} GB %{q} GB kullanıldı","%{n} labels found":"%{n} etiket bulundu","%{n} people found":"%{n} kişi bulundu","%{n} pictures found":"%{n} resim bulundu","%{s} is too long":"%{s} çok uzun","%{s} is too short":"%{s} çok kısa","1 hour":"1 saat","12 hours":"12 saat","2-Factor Authentication":"2 Faktörlü Kimlik Doğrulama","2FA":"2FA","4 hours":"4 saat","A click will copy it to your clipboard.":"Tıklayarak panoya kopyalayabilirsiniz.","A new version of %{s} is available:":"Yeni bir %{s} sürümü mevcuttur:","About":"Hakkımızda","Access Token":"Erişim Jetonu","Account":"Hesap","Account created":"Hesap eklendi","Account deleted":"Hesap silindi","Account restored":"Hesap geri yüklendi","Accounts":"Hesaplar","Accuracy":"Doğruluk","Action":"Aksiyon","Actions":"Aksiyonlar","Activate":"Etkinleştir","Activate to remove sorting.":"Sıralamayı kaldırmak için etkinleştirin.","Activate to sort ascending.":"Artan şekilde sıralamak için etkinleştirin.","Activate to sort descending.":"Azalan şekilde sıralamak için etkinleştirin.","Activation Code":"Aktivasyon Kodu","Add":"Ekle","Add %{s}?":"Ekle %{s}?","Add Account":"Hesap ekle","Add Album":"Albüm Ekle","Add files to your library via Web Upload.":"Web Yükleme aracılığıyla kitaplığınıza dosya ekleyin.","Add Link":"Link ekle","Add person?":"Kişi ekleyelim mi?","Add pictures from search results by selecting them.":"Arama sonuçlarından resimleri seçerek ekleyin.","Add to album":"Albüme ekle","Added":"Eklendi","Adjust Location":"Konum Ayarlama","Admin":"Yönetici","Advanced":"Gelişmiş","After 1 day":"1 gün sonra","After 3 days":"3 gün sonra","After 7 days":"7 gün sonra","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Onay için şifrenizi girdikten sonra, uyumlu bir kimlik doğrulama uygulaması veya cihazıyla iki faktörlü kimlik doğrulamayı ayarlayabilirsiniz:","After one month":"Bir ay sonra","After one year":"Bir yıl sonra","After selecting pictures from search results, you can add them to an album using the context menu.":"Arama sonuçlarından resimleri seçtikten sonra, içerik menüsünü kullanarak bunları bir albüme ekleyebilirsiniz.","After two months":"İki ay sonra","After two weeks":"İki hafta sonra","Album":"Albüm","Album Backups":"Albüm Yedekleri","Album created":"Albüm oluşturuldu","Album deleted":"Albüm silindi","Albums":"Albümler","Albums deleted":"Albümler silindi","All":"Tümü","All %{n} albums loaded":"Tüm %{n} albüm yüklendi","All %{n} labels loaded":"Tüm %{n} etiketler yüklendi","All %{n} people loaded":"Tüm %{n} kişiler yüklendi","All Cameras":"Tüm Kameralar","All Categories":"Tüm Kategoriler","All Colors":"Tüm Renkler","All Countries":"Tüm Ülkeler","All fields are required":"Tüm alanlar zorunludur","All files from import folder":"İçe aktarma klasöründeki tüm dosyalar","All Lenses":"Tüm Lensler","All Months":"Tüm Aylar","All originals":"Tüm orijinaller","All Years":"Bütün yıllar","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Alternatif olarak, dosyaları doğrudan Nextcloud gibi WebDAV sunucularına yükleyebilirsiniz.","Altitude":"Rakım","Altitude (m)":"Rakım (m)","AM":"AM","Animated":"Hareketli","Animation":"Animasyon","Animations":"Animasyonlar","Any private photos and videos remain private and won't be shared.":"Özel fotoğraflar ve videolar gizli kalır ve paylaşılmaz.","API Key":"API Anahtarı","Application":"Uygulama","Apply":"Uygula","Approve":"Onayla","Apps and Devices":"Uygulamalar ve Cihazlar","Archive":"Arşiv","Archived":"Arşivlendi","Are you sure you want to archive the selection?":"Seçimi arşivlemek istediğinizden emin misiniz?","Are you sure you want to delete these albums?":"Bu albümleri silmek istediğinizden emin misiniz?","Are you sure you want to delete these labels?":"Bu etiketleri silmek istediğinizden emin misiniz?","Are you sure you want to delete this account?":"Bu hesabı silmek istediğinizden emin misiniz?","Are you sure you want to delete this album?":"Bu albümü silmek istediğinizden emin misiniz?","Are you sure you want to permanently delete these pictures?":"Bu resimleri kalıcı olarak silmek istediğinizden emin misiniz?","Are you sure you want to permanently delete this file?":"Bu dosyayı kalıcı olarak silmek istediğinizden emin misiniz?","Are you sure?":"Emin misiniz?","Artist":"Sanatçı","Aspect Ratio":"En Boy Oranı","Audio":"Ses","Authentication":"Kimlik Doğrulama","Auto":"Otomatik","Back":"Geri","Back to top":"Başa dön","Backup":"Yedekleme","Badge":"Rozet","Base Path":"Temel Yol","Become a member today, support our mission and enjoy our member benefits!":"Bugün üye olun, misyonumuzu destekleyin ve üye avantajlarımızdan yararlanın!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"100% öz fonlu ve bağımsız olarak, verilerinizi asla satmayacağımız ve yazılım ile hizmetlerimiz konusunda her zaman şeffaf olacağımızı size garanti edebiliriz.","Bio":"Özgeçmiş","Birth Date":"Doğum Tarihi","Black":"Siyah","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Lanczos Modifikasyonu, Daha Az Çan Etkisi","Blue":"Mavi","Brown":"Kahverengi","Browse":"Gözat","Browse and edit image classification labels.":"Görüntü sınıflandırma etiketlerine göz atın ve düzenleyin.","Browse and share your pictures organized into monthly albums.":"Aylık albümler halinde düzenlenmiş resimlerinize göz atın ve paylaşın.","Browse Files":"Dosyalara Gözat","Browse indexed files and folders in Library.":"Kitaplık'ta dizine alınmış dosya ve klasörlere göz atın.","Bug Report":"Hata raporu","Busy, please wait…":"Meşgul, lütfen bekleyin…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Sağladığımız yazılım ve hizmetleri kullanarak hizmet şartlarımızı, gizlilik politikamızı ve davranış kurallarımızı kabul etmiş olursunuz.","Calendar":"Takvim","Camera":"Kamera","Camera Serial":"Kamera Seri Numarası","Can't access your authenticator app or device?":"Kimlik doğrulayıcı uygulamanıza veya cihazınıza erişemiyor musunuz?","Can't load more, limit reached":"Daha fazla yüklenemiyor, sınıra ulaşıldı","Can't select more items":"Daha fazla öğe seçilemiyor","Cancel":"İptal","Cannot copy to clipboard":"Panoya kopyalanamıyor","Caption":"Başlık","Cards":"Kartlar","Carousel slide {0} of {1}":"{1}'in {0} kaydırmalı slayt","Category":"Kategori","Change Avatar":"Avatarı değiştir","Change Password":"Şifre Değiştir","Change personal profile and security settings.":"Kişisel profil ve güvenlik ayarlarını değiştirin.","Change photo titles, locations, and other metadata.":"Fotoğraf başlıklarını, konumları ve diğer meta verileri değiştirin.","Change private flag":"Özel işaretini değiştir","Changes could not be saved":"Değişiklikler kaydedilemedi","Changes successfully saved":"Değişiklikler başarıyla kaydedildi","Changes to the advanced settings require a restart to take effect.":"Gelişmiş ayarlarda yapılan değişikliklerin etkili olması için yeniden başlatma gerekir.","Checked":"Seçildi","Chroma":"Renk doygunluğu","Cleaning index and cache":"Dizin ve önbelleği temizleme","Cleanup":"Temizleme","Clear {0}":"Temizle {0}","Client":"Müşteri","Client Credentials":"Müşteri Kimlik Bilgileri","Close":"Kapat","Codec":"Kodek","Color":"Renk","Color Profile":"Renk Profili","Colors":"Renkler","Compare Editions":"Sürümleri Karşılaştır","Complete Rescan":"Tam Yeniden Tarama","Confidence":"Güven","Confirm":"Onaylamak","Connect":"Bağlan","Connect via WebDAV":"WebDAV ile bağlan","Connected":"Bağlandı","Contact Details":"İletişim Detayları","Contact Us":"İletişim","Contains %{n} pictures.":"%{n} resim içeriyor.","Contains one picture.":"Tek resim içerir.","Content":"İçerik","Continue":"Devam et","Continue with %{provider}":"%{provider} ile devam edin","Contributor":"Katılımcı","Converting":"Dönüştürülüyor","Copied to clipboard":"Panoya kopyalandı","Copy":"Kopyala","Copyright":"Telif hakkı","Couldn't find anything.":"Hiçbir şey bulunamadı.","Country":"Ülke","Create Account":"Hesap Oluştur","Create album":"Albüm Oluştur","Create regular backups based on the configured schedule.":"Yapılandırılan zamanlamaya göre dizin yedeklemeleri oluşturun.","Create YAML files to back up album metadata.":"Albüm meta verilerini yedeklemek için YAML dosyaları oluşturun.","Create YAML sidecar files to back up picture metadata.":"Resim meta verilerini yedeklemek için YAML sidecar oluşturun.","Created":"Oluşturuldu","Creating thumbnails for":"Önizlemeler üretiliyor","Cubic: Moderate Quality, Good Performance":"Cubic: Ortalama Kalite, İyi Performans","Current Password":"Mevcut Şifre","Custom":"Özel","Cyan":"Camgöbeği","Daily":"Günlük","Database Backups":"Veritabanı Yedekleri","Day":"Gün","Deactivate":"Devre dışı bırak","Debug Logs":"Hata Kayıtları","Default":"Varsayılan","Default Folder":"Varsayılan Klasör","Delete":"Sil","Delete Album":"Albüm Sil","Delete All":"Tümünü Sil","Delete all?":"Hepsini sil?","Delete orphaned index entries, sidecar files and thumbnails.":"Artık dizin girişlerini, sidecar dosyalarını ve küçük resimleri silin.","Description":"Açıklama","Detailed instructions can be found in our User Guide.":"Kullanıcı kılavuzunda detaylı adımlar bulunabilir.","Details":"Detaylar","Dimensions":"Boyutlar","Disable Backups":"Yedekleri devre dışı bırak","Disable Darktable":"Darktable'ı devre dışı bırak","Disable ExifTool":"ExifTool'u devre dışı bırak","Disable features that require write permission for the originals folder.":"Orijinaller klasörü için yazma izni gerektiren özellikleri devre dışı bırakın.","Disable FFmpeg":"FFmpeg'i devre dışı bırak","Disable ImageMagick":"ImageMagick'i devre dışı bırakın","Disable interactive world maps and reverse geocoding.":"Etkileşimli dünya haritalarını ve ters coğrafi kodlamayı devre dışı bırakın.","Disable Places":"Yerleri devre dışı bırak","Disable RawTherapee":"RawTherapee'yi devre dışı bırak","Disable TensorFlow":"TensorFlow'u devre dışı bırak","Disable Vectors":"Vektörleri devre dışı bırak","Disable WebDAV":"WebDAV'ı devre dışı bırak","Disables vector graphics support.":"Vektör grafikleri desteğini devre dışı bırakır.","Disables video transcoding and thumbnail extraction.":"Video kod dönüştürmeyi ve küçük resim çıkarmayı devre dışı bırakır.","Discover":"Keşfetmek","Dismiss":"Göz ardı et","Display Name":"Ekran adı","Display picture captions in search results.":"Arama sonuçlarında resim başlıklarını görüntüleyin.","Display picture titles in search results.":"Arama sonuçlarında resim başlıklarını görüntüleyin.","Document":"Belge","Documents":"Belgeler","Don't use Darktable to convert RAW images.":"RAW görüntüleri dönüştürmek için Darktable kullanmayın.","Don't use ImageMagick to convert images.":"Görüntüleri dönüştürmek için ImageMagick kullanmayın.","Don't use RawTherapee to convert RAW images.":"RAW görüntüleri dönüştürmek için RawTherapee kullanmayın.","Done":"Tamamlandı","Done.":"Tamamlandı.","Download":"İndirmek","Download only original media files, without any automatically generated files.":"Otomatik olarak oluşturulan dosyalar olmadan yalnızca orijinal medya dosyalarını indirin.","Download remote files":"Uzak dosyaları indir","Download single files and zip archives.":"Tek dosyaları ve zip arşivlerini indirin.","Downloading…":"İndiriliyor…","Downscaling Filter":"Ölçek küçültme filtresi","Drag and drop files here":"Dosyaları buraya sürükleyip bırakın","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"Aldığımız e-postaların yoğunluğu nedeniyle ekibimiz size hemen geri dönüş yapamayabilir.","Duplicates will be skipped and only appear once.":"Yinelenenler atlanacak ve yalnızca bir kez görünecek.","Duration":"Süre","Dynamic Previews":"Dinamik Önizlemeler","Dynamic Size Limit: %{n}px":"Dinamik Boyut Sınırı: %{n}px","E-Mail":"E-Posta","Edit":"Düzenle","Edit %{s}":"%{s}'i düzenle","Edit Account":"Hesabı Düzenle","Edit Photo":"Fotoğrafı Düzenle","Edited":"Düzenlendi","Email":"E-posta","Enable debug mode to display additional logs and help with troubleshooting.":"Ek günlükleri görüntülemek ve sorun gidermeye yardımcı olmak için hata ayıklama modunu etkinleştirin.","Enable new features that may be incomplete or unstable.":"Eksik veya kararsız olabilecek yeni özellikleri etkinleştirin.","Enables RAW converter presets. May reduce performance.":"RAW dönüştürücü ön ayarlarını etkinleştirir. Performansı azaltabilir.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"İki faktörlü kimlik doğrulamayı etkinleştirmek, oturum açmak için rastgele oluşturulmuş bir doğrulama koduna ihtiyacınız olacağı anlamına gelir; dolayısıyla birisi şifrenize erişse bile hesabınıza erişemez.","Enter date":"Tarih girin","Enter dates":"Tarihleri girin","Enter the code generated by your authenticator app:":"Kimlik doğrulayıcı uygulamanız tarafından oluşturulan kodu girin:","Enter verification code":"Doğrulama kodunu giriniz","Enter your password to confirm the action and continue:":"İşlemi onaylamak ve devam etmek için şifrenizi girin:","Error":"Hata","Errors":"Hatalar","Estimate":"Tahmin","Estimate Locations":"Tahmini Konumlar","Estimate the approximate location of pictures without GPS coordinates.":"GPS koordinatları olmadan resimlerin yaklaşık konumunu tahmin edin.","Every two days":"İki günde bir","Exclude content marked as private from search results, shared albums, labels, and places.":"Özel olarak işaretlenen içeriği arama sonuçlarından, paylaşılan albümlerden, etiketlerden ve yerlerden hariç tutun.","Exclude hidden":"Gizlenenleri hariç tut","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"XMP meta verileri, videolar ve Canlı Fotoğraflar için tam destek için ExifTool gereklidir.","Experimental Features":"Deneysel Özellikler","Expires":"Süre sonu","Exposure":"Pozlama","Extract still images and generate thumbnails while indexing.":"Hareketsiz görüntüleri ayıklayın ve indeksleme sırasında küçük resimler oluşturun.","F Number":"F Numarası","Face":"Yüz","Faces":"Yüzler","Failed removing link":"Bağlantı kaldırılamadı","Failed to connect account.":"Hesap bağlanamadı.","Failed updating link":"Bağlantı güncellenemedi","Family Name":"Soyadı","Fast":"Hızlı","Favorite":"Favori","Favorites":"Favoriler","Feature Request":"Özellik isteği","Feedback":"Geri bildirim","Female":"Kadın","File":"Dosya","File Browser":"Dosya tarayıcısı","File Conversion":"Dosya Dönüştürme","File Name":"Dosya Adı","File Size":"Dosya Boyutu","Filename":"Dosya Adı","Files":"Dosyalar","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"'IMG_1234 (2)' ve 'IMG_1234 (3)' gibi sıralı adlara sahip dosyalar aynı resme aittir.","First page":"İlk sayfa","Focal Length":"Odak uzaklığı","Folder":"Klasör","Folder contains %{n} files":"Klasör %{n} dosya içeriyor","Folder is empty":"Klasör boş","Folders":"Klasörler","Forgot password?":"Parolanızı mı unuttunuz?","FPS":"FPS","Frames":"Çerçeveler","Full Access":"Tam erişim","Fullscreen":"Tam ekran","General":"Genel","Generate":"Oluştur","Generate albums of special moments, journeys, and places.":"Özel anların, gezilerin ve yerlerin albümlerini otomatik olarak oluşturur.","Generate Previews":"Önizleme Oluşturma","Generated":"Oluşturuldu","Get Started":"Başlayın","Given Name":"İsim","Global Options":"Küresel Seçenekler","Go to page {0}":"{0}. sayfaya gidin","Gold":"Altın","Green":"Yeşil","Grey":"Gri","Guest":"Misafir","Hash":"Karma","Help":"Yardım","Help & Support":"Yardım & Destek","Hidden":"Gizli","Hidden Files":"Gizli Dosyalar","Hide":"Gizle","Hide photos that have been moved to archive.":"Arşive taşınan fotoğrafları gizleyin.","High":"Yüksek","High Dynamic Range (HDR)":"Yüksek Dinamik Aralık (HDR)","How can we help?":"Nasıl yardımcı olabiliriz?","Hybrid":"Hibrit","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Kimlik doğrulayıcı uygulamanıza veya cihazınıza erişiminizi kaybederseniz, hesabınıza yeniden erişim sağlamak için kurtarma kodunuzu kullanabilirsiniz.","Image":"Resim","Image Quality":"Görüntü Kalitesi","Import":"İçe aktarmak","Import failed":"İçe aktarılamadı","Imported files will be sorted by date and given a unique name to avoid duplicates.":"İçe aktarılan dosyalar tarihe göre sıralanacak ve yinelemeleri önlemek için benzersiz bir ad verilecektir.","Imported files will be sorted by date and given a unique name.":"İçe aktarılan dosyalar tarihe göre sıralanacak ve benzersiz bir ad verilecektir.","Importing %{s}…":"%{s} içe aktarılıyor…","Importing files to originals…":"Dosyalar orijinallere aktarılıyor…","in":"içinde","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"Beklediğiniz resimlerin eksik olması durumunda lütfen kitaplığınızı yeniden tarayın ve indeksleme tamamlanana kadar bekleyin.","Include RAW image files when downloading stacks and archives.":"Yığınları ve arşivleri indirirken RAW görüntü dosyalarını ekleyin.","Include sidecar files when downloading stacks and archives.":"Yığınları ve arşivleri indirirken sidecar dosyalarını ekleyin.","Increase storage size or delete files to continue.":"Devam etmek için depolama boyutunu artırın veya dosyaları silin.","Index":"İndeks","Index and import files through the user interface.":"Kullanıcı arayüzü üzerinden dosyaları indeksleyin ve içe aktarın.","Indexing":"Indeksleniyor","Indexing failed":"İndeksleme başarısız","Indexing media and sidecar files…":"Medya ve yardımcı dosyalar indeksleniyor…","Information":"Bilgi","Instance ID":"Ortam ID","Insufficient storage.":"Yetersiz depolama.","Interval":"Aralık","Invalid":"Geçersiz","Invalid address":"Geçersiz adres","Invalid country":"Geçersiz ülke","Invalid date":"Geçersiz tarih","Invalid parameters":"Geçersiz parametreler","Invalid photo selected":"Geçersiz fotoğraf seçildi","Invalid time":"Geçersiz zaman","Invalid URL":"Geçersiz URL","It is a one-time use code that will disable 2FA for your account when you use it.":"Bu, kullandığınızda hesabınız için 2FA'yı devre dışı bırakacak tek kullanımlık bir koddur.","Item":"Öğe","Items per page:":"Sayfa başına öğe:","JPEG Quality: %{n}":"JPEG Kalitesi: %{n}","JPEG Size Limit: %{n}px":"JPEG Boyut Sınırı: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"JPEG'ler ve küçük resimler, gerektiğinde otomatik olarak oluşturulur.","Keywords":"Anahtar Kelimeler","Label":"Etiket","Labels":"Etiketler","Labels deleted":"Etiketler silindi","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: Detayların Korunması, Minimal Eserler","Language":"Dil","Last Active":"Son Aktif","Last Login":"Son Giriş","Last page":"Son sayfa","Last Sync":"Son Senkronizasyon","Last Used":"Son kullanılan","Latitude":"Enlem","LDAP/AD":"LDAP/AD","Learn more":"Daha fazla bilgi edin","Learn More":"Daha Fazla Bilgi","Legal Information":"Yasal Bilgiler","Lens":"Lens","Library":"Kütüphane","License":"Lisans","Like":"Sevmek","Lime":"Lime yeşili","Limit reached, showing first %{n} files":"Sınıra ulaşıldı, ilk %{n} dosya gösteriliyor","Linear: Very Smooth, Best Performance":"Doğrusal: Çok Pürüzsüz, En İyi Performans","Link":"Link","List":"Liste","List View":"Liste Görünümü","Live":"Canlı","Live Photos":"Canlı Fotoğraflar","Load more":"Daha fazla yükle","Loading items...":"Öğeler yükleniyor...","Loading...":"Yükleniyor...","Local":"Yerel","Local Time":"Yerel Saat","Location":"Konum","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"PhotoPrism bozuk dosyalarla karşılaştığında veya başka olası sorunlar olduğunda günlük mesajları burada görünür.","Login":"Giriş","Logout":"Çıkış","Logs":"Kayıtlar","Longitude":"Boylam","Low":"Düşük","Magenta":"Magenta","Main Color":"Ana renk","Male":"Erkek","Manage Account":"Hesabı Yönet","Manager":"Müdür","Manual":"El Kitabı","Manual Upload":"Manuel Yükleme","Maps":"Haritalar","Marker":"İşaretleyici","Maximum number of accounts has been reached.":"Maksimum hesap sayısına ulaşıldı.","Media":"Medya","Medium":"Orta","Membership":"Üyelik","Merge %{a} with %{b}?":"%{a} ile %{b} birleştirilsin mi?","Message":"Mesaj","Message sent":"Mesaj Gönderildi","Metadata":"Metadata","Metrics":"Metrikler","Minimize":"Küçült","Missing":"Eksik","Missing or invalid configuration":"Eksik veya geçersiz yapılandırma","Moments":"Anlar","Monochrome":"Monokrom","Month":"Ay","More options":"Daha fazla seçenek","Mosaic":"Mozaik","Most Relevant":"En Alakalı","Move Files":"Dosyaları Taşı","Must have at least %{n} characters.":"En az %{n} karakter olmalıdır.","Mute":"Sessiz","Name":"Ad","Name too long":"İsim çok uzun","Never":"Asla","New":"Yeni","New Password":"Yeni Şifre","Newest First":"Yeniden Eskiye","Next":"Sonraki","Next page":"Sonraki sayfa","Next visual":"Sonraki görsel","No":"Hayır","No albums found":"Hiç albüm bulunamadı","No data available":"Veri mevcut değil","No labels found":"Etiket bulunamadı","No matching records found":"Eşleşen kayıt bulunamadı","No more":"Artık yok","No people found":"Hiç kimse bulunamadı","No pictures found":"Resim bulunamadı","No recently edited pictures":"Yakın zamanda düzenlenmiş resim yok","No results":"Sonuç yok","No server connection":"Sunucu bağlantısı yok","No servers configured.":"Yapılandırılmış sunucu yok.","No services configured.":"Yapılandırılmış hizmet yok.","No thanks":"Hayır, teşekkürler","No warnings or error containing this keyword. Note that search is case-sensitive.":"Bu anahtar kelimeyi içeren uyarı veya hata yok. Aramanın büyük/küçük harfe duyarlı olduğunu unutmayın.","Non-photographic and low-quality images require a review before they appear in search results.":"Fotoğrafik olmayan ve düşük kaliteli görüntülerin arama sonuçlarında görünmeden önce incelenmesi gerekmektedir.","None":"Hiçbiri","Not allowed":"İzin verilmez","Not found":"Bulunamadı","Not sorted.":"Sıralanmamış.","Not supported":"Desteklenmiyor","Note you may manually manage your originals folder and importing is optional.":"Orijinaller klasörünüzü manuel olarak yönetebileceğinizi ve içe aktarmanın isteğe bağlı olduğunu unutmayın.","Note:":"Not:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Not: Yalnızca Nextcloud veya PhotoPrism gibi WebDAV sunucuları yedekleme ve dosya yükleme için uzak hizmet olarak yapılandırılabilir.","Notes":"Notlar","Nothing to see here yet.":"Henüz görecek bir şey yok.","Nothing was found.":"Hiçbir şey bulunamadı.","Offline":"Çevrimdışı","OIDC":"OIDC","OK":"TAMAM","Oldest First":"Eskiden Yeniye","On Windows, enter the following resource in the connection dialog:":"Windows'ta, bağlantı iletişim kutusuna aşağıdaki kaynağı girin:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"Küçük resimlerin isteğe bağlı olarak oluşturulması yüksek CPU ve bellek kullanımına neden olabilir. Kaynakları kısıtlı sunucular ve NAS cihazları için önerilmez.","Once a week":"Haftada bir","One album found":"Bir albüm bulundu","One file found":"Bir dosya bulundu","One file uploaded":"Bir dosya yüklendi","One folder found":"Bir klasör bulundu","One label found":"Bir etiket bulundu","One person found":"Bir kişi bulundu","One picture found":"Bir resim bulundu","Only locally managed accounts can be set up for authentication with 2FA.":"2FA ile kimlik doğrulama için yalnızca yerel olarak yönetilen hesaplar ayarlanabilir.","Open":"Açık","optional":"isteğe bağlı","or":"veya","Orange":"Turuncu","Organization":"Organizasyon","Orientation":"Yönlendirme","Original file names will be stored and indexed.":"Orijinal dosya adları saklanacak ve indekslenecektir.","Original Name":"Orijinal Adı","Originals":"Orijinaller","Other":"Diğer","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Misyonumuz, resimlerinizi düzenli ve erişilebilir tutmak için en kullanıcı ve gizlilik dostu çözümü sunmaktır.","Outdoor":"Dış mekan","Page {0}, Current page":"Sayfa {0}, Mevcut sayfa","Pages":"Sayfalar","Pagination Navigation":"Sayfalandırma Navigasyonu","Panorama":"Panorama","Panoramas":"Panoramalar","Password":"Şifre","Password changed":"Şifre Değiştirildi","People":"Kişi","People you share a link with will be able to view public contents.":"Bağlantı paylaştığınız kişiler herkese açık içerikleri görüntüleyebilecektir.","Permanently deleted":"Kalıcı olarak silindi","Permanently remove files to free up storage.":"Depolama alanını boşaltmak için dosyaları kalıcı olarak kaldırın.","Person":"Kişi","Personal":"Kişisel","Photo":"Fotoğraf","PhotoPrism is 100% self-funded and independent.":"PhotoPrism %100 kendi kendini finanse eder ve bağımsızdır.","PhotoPrism+ Membership":"PhotoPrism+ Üyeliği","Photos":"Fotoğraflar","Picture Title":"Resim Başlığı","Pink":"Pembe","Place":"Yer","Place & Time":"Yer ve Zaman","Places":"Yerler","Please confirm your new password.":"Lütfen yeni şifrenizi onaylayın.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Lütfen aşağıda verilen rastgele oluşturulmuş uygulama şifresini kopyalayın ve güvenli bir yerde saklayın, çünkü bunu bir daha göremeyeceksiniz:","Please do not upload any private, unlawful or offensive pictures.":"Lütfen özel, yasa dışı veya saldırgan resimler yüklemeyin.","Please don't upload photos containing offensive content.":"Lütfen saldırgan içerik barındıran fotoğraflar yüklemeyin.","Please enter OTP character {0}":"Lütfen OTP karakterini girin {0}","Please note that changing your password will log you out on other devices and browsers.":"Lütfen şifrenizi değiştirdiğinizde diğer cihazlarda ve tarayıcılarda oturumunuzu kapatacağınızı unutmayın.","Please restart your instance for the changes to take effect.":"Değişikliklerin etkili olması için lütfen instance'ınızı yeniden başlatın.","Please wait…":"Lütfen bekleyin…","PM":"PM","PNG Size Limit: %{n}px":"PNG Boyut Sınırı: %{n}px","Portrait":"Portre","Preserve filenames":"Dosya adlarını koru","Press enter to create a new album.":"Yeni bir albüm oluşturmak için enter tuşuna basın.","Prevent database and album backups as well as YAML sidecar files from being created.":"Veritabanı ve albüm yedeklerinin yanı sıra YAML sidecar dosyalarının oluşturulmasını önleyin.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Diğer uygulamaların PhotoPrism'e paylaşılan bir ağ sürücüsü olarak erişmesini engelleyin.","Preview":"Önizleme","Preview Images":"Önizleme Görüntüleri","Previous":"Önceki","Previous page":"Önceki sayfa","Previous visual":"Önceki görsel","Primary":"Birincil","Private":"Özel","Product Feedback":"Ürün Geri Bildirimi","Projection":"Projeksiyon","Purple":"Mor","Quality Filter":"Kalite Filtresi","Quality Score":"Kalite Puanı","r":"r","Random":"Rastgele","Rating {0} of {1}":"Değerlendirme {1}'in {0}'ı","Raw":"Raw","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"Önceden indekslenmiş ve değişmemiş dosyalar da dahil olmak üzere tüm orijinalleri yeniden indeksleyin.","Read-Only Mode":"Salt Okunur Modu","Recently Added":"Son Eklenenler","Recently Archived":"Yakın Zamanda Arşivlendi","Recently Edited":"Son zamanlarda Düzenlendi","Recognition starts after indexing has been completed.":"Tanıma işlemi indeksleme tamamlandıktan sonra başlar.","Recognize faces so people can be assigned and found.":"Belirli kişilerin bulunabilmesi için yüzleri tanır.","Recognized":"Tanımlanmış","Recovery Code":"Kurtarma Kodu","Red":"Kırmızı","Refresh":"Yenile","Regions":"Bölgeler","Register":"Kayıt Olun","Reload":"Tekrar yükle","Reloading…":"Yeniden doldurma…","Remote Sync":"Uzaktan Senkronizasyon","Remove":"Kaldır","remove failed: unknown album":"kaldırma başarısız: bilinmeyen albüm","Remove from Album":"Albümden çıkar","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Depolama alanından tasarruf etmek için içe aktarılan dosyaları kaldırın. Desteklenmeyen dosya türleri asla silinmez, mevcut konumlarında kalırlar.","Request failed - are you offline?":"İstek başarısız oldu - çevrimdışı mısınız?","Request failed - invalid response":"İstek başarısız oldu - geçersiz yanıt","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Fotoğrafik olmayan ve düşük kaliteli görsellerin arama sonuçlarında görünmeden önce incelenmesini zorunlu kılın.","Resolution":"Çözünürlük","Restart":"Yeniden Başlat","Restore":"Geri Yükle","Restored":"Restore edildi","Retry Limit":"Yeniden Deneme Sınırı","Retype Password":"Şifrenizi yeniden yazın","Review":"İnceleme","Role":"Rol","Rows per page:":"Sayfa başına satır sayısı:","Satellite":"Uydu","Save":"Kaydet","Scan":"Tara","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"QR kodunu kimlik doğrulayıcı uygulamanızla tarayın veya aşağıda gösterilen kurulum anahtarını kullanın ve ardından oluşturulan doğrulama kodunu girin:","Scans":"Taramalar","Scope":"Kapsam","Search":"Arama","Search and display photos on a map.":"Fotoğrafları harita üzerinde arayın ve görüntüleyin.","Season":"Sezon","Secret":"Gizli","Security and Access":"Güvenlik ve Erişim","Select":"Seç","Select a source folder to import files…":"Dosyaları içe aktarmak için bir kaynak klasör seçin…","Select date":"Tarih seçiniz","Select dates":"Tarihleri seçin","Select or create an album":"Bir albüm seçin veya oluşturun","Select the files to upload…":"Yüklenecek dosyaları seçin…","Select the folder to be indexed…":"Dizine eklenecek klasörü seçin…","Select Time":"Zaman Seçiniz","Selection approved":"Seçim onaylandı","Selection archived":"Seçim arşivlendi","Selection restored":"Seçim geri yüklendi","Sequential Name":"Sıralı İsim","Service URL":"Hizmet URL'si","Services":"Hizmetler","Session":"Oturum","Session ID":"Oturum Kimliği","Sessions":"Oturumlar","Set as Album Cover":"Albüm Kapağı Olarak Ayarla","Settings":"Ayarlar","Settings saved":"Ayarlar kaydedildi","Setup":"Kurulum","Share":"Paylaş","Share %{s}":"Paylaş %{s}","Share your pictures with other apps and services.":"Fotoğraflarınızı diğer uygulamalar ve hizmetlerle paylaşın.","Show":"Göster","Show all new faces":"Tüm yeni yüzleri göster","Show Captions":"Başlıkları Göster","Show hidden":"Gizli göster","Show less":"Daha Az Göster","Show more":"Daha fazla göster","Show server logs in Library.":"Kütüphane'de sunucu günlüklerini gösterin.","Show Titles":"Başlıkları Göster","Sidecar":"Sidecar","Sidecar Files":"Sidecar Dosyaları","Sign in":"Giriş Yap","Similar":"Benzer","Size":"Boyut","Slideshow":"Slayt gösterisi","Slow":"Yavaş","Software":"Yazılım","Software Update":"Yazılım Güncellemesi","Something went wrong, try again":"Bir şeyler ters gitti, tekrar deneyin","Sort by":"Göre sırala","Sort Order":"Sıralama düzeni","Sorted ascending.":"Artan şekilde sıralanmıştır.","Sorted descending.":"Azalan şekilde sıralandı.","Source":"Kaynak","Stack":"Yığın","Stack files sharing the same unique image or instance identifier.":"Aynı benzersiz görüntü veya örnek tanımlayıcısını paylaşan yığın dosyaları.","Stack pictures taken at the exact same time and location based on their metadata.":"Aynı zamanda ve konumda çekilen fotoğrafları meta verilerine göre yığınlayın.","Stackable":"İstiflenebilir","Stacks":"Yığınlar","Start":"Başla","Start Page":"Başlangıç Sayfası","Static Size Limit: %{n}px":"Statik Boyut Sınırı: %{n}px","Status":"Durum","Storage":"Depolama","Streets":"Sokaklar","Subject":"Konu","Submit":"Gönder","Successfully activated":"Başarıyla etkinleştirildi","Successfully Connected":"Başarıyla Bağlandı","Successfully deleted":"Başarıyla silindi","Successfully verified":"Başarıyla doğrulandı","Super Admin":"Süper Yönetici","Support for additional services, like Google Drive, will be added over time.":"Google Drive gibi ek hizmetler için destek zaman içinde eklenecektir.","Support Our Mission":"Misyonumuzu Destekleyin","Sync":"Eşitle","Sync raw and video files":"Ham ve video dosyalarını senkronize edin","Taken":"Alınmış","Teal":"Turkuaz","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow görüntü sınıflandırma, yüz tanıma ve güvenli olmayan içeriği tespit etmek için gereklidir.","Terrain":"Arazi","Text":"Metin","Text too long":"Metin çok uzun","Thank You for Your Support!":"Desteğiniz için teşekkürler!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Bu nedenle PhotoPrism, özgürlük, gizlilik veya işlevsellikten ödün vermeden ihtiyaç duyduğunuz her yerde çalışacak şekilde sıfırdan inşa edildi.","The index currently contains %{n} hidden files.":"Dizin şu anda %{n} gizli dosya içermektedir.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Formatları desteklenmiyor olabilir, henüz JPEG'e dönüştürülmemiş olabilirler veya kopyaları mevcut olabilir.","Theme":"Tema","This field is required":"Bu alan zorunludur","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Bu, orijinaller klasörünü bir ağ sürücüsü olarak bağlar ve dosyaları bilgisayarınızdan veya akıllı telefonunuzdan yerelmiş gibi açmanıza, düzenlemenize ve silmenize olanak tanır.","Time UTC":"Zaman UTC","Time Zone":"Saat dilimi","Timeout":"Zaman aşımı","Title":{"Account":"Başlık","Photo":"Başlık","":"Başlık"},"Title / Position":"Başlık / Pozisyon","Title too long":"Başlık çok uzun","to":"için","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Hesabınızın kilitlenmesini önlemek için lütfen bu kurtarma kodunu şimdi indirin, yazdırın veya kopyalayın ve güvenli bir yerde saklayın.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Uygulamaya özel yeni bir şifre oluşturmak için lütfen uygulamanın adını ve yetki kapsamını girin ve bir son kullanma tarihi seçin:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Yeni bir kimlik doğrulama uygulamasına veya cihazına geçmek için önce iki faktörlü kimlik doğrulamayı devre dışı bırakın ve ardından yeniden etkinleştirin:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Yükseltme yapmak için bir aktivasyon kodu girebilir veya web sitemize kaydolmak için \"Kaydol\" düğmesine tıklayabilirsiniz:","Today":"Bugün","Toggle View":"Görünümü Değiştir","Token":"Token","Too many files selected":"Çok fazla dosya seçildi","Too many requests":"Çok fazla istek var","Troubleshooting":"Sorun Giderme","Try again using other filters or keywords.":"Başka filtreler veya anahtar kelimeler kullanarak tekrar deneyin.","Two-factor authentication has been enabled for your account.":"Hesabınız için iki faktörlü kimlik doğrulama etkinleştirildi.","Type":"Tip","Unable to delete":"Silinemiyor","Unauthorized":"Yetkisiz","Undo":"Geri al","Unique ID":"Benzersiz kimlik","Unknown":"Bilinmeyen","Unregistered":"Kaydedilmemiş","Unsorted":"Sıralanmamış","Unstack":"Yığından çıkar","Updated":"Güncellendi","Updating faces":"Yüzleri güncelleme","Updating index":"Dizin güncelleniyor","Updating moments":"Anılar güncelliyor","Updating picture…":"Resim güncelleniyor…","Updating previews":"Önizlemeleri güncelleme","Updating stacks":"Yığınları güncelleme","Upgrade":"Yükseltme","Upgrade Now":"Şimdi Yükselt","Upload":"Yükle","Upload complete":"Yüklendi","Upload complete. Indexing…":"Yükleme tamamlandı. İndeksleniyor..","Upload failed":"Yükleme başarısız","Upload local files":"Yerel dosyaları yükleme","Upload Path":"Yükleme Yolu","Upload to WebDAV and share links with friends.":"WebDAV'a yükleyin ve bağlantıları arkadaşlarınızla paylaşın.","Uploading %{n} of %{t}…":"%{t} içinden %{n} yüklüyor…","Uploading photos…":"Fotoğraf yükleniyor..","Uploading…":"Yükleniyor…","Uploads that may contain such images will be rejected automatically.":"Bu tür görüntüler içerebilecek yüklemeler otomatik olarak reddedilecektir.","Use Presets":"Ön Ayarları Kullan","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Kimlik doğrulayıcı uygulamanızla geçerli bir doğrulama kodu oluşturamadığınızda hesabınıza erişmek için aşağıdaki kurtarma kodunu kullanın:","Use your recovery code or contact an administrator for help.":"Kurtarma kodunuzu kullanın veya yardım için bir yöneticiye başvurun.","User":"Kullanıcı","User Guide":"Kullanıcı rehberi","User Interface":"Kullanıcı arayüzü","Username":"Kullanıcı Adı","Users":"Kullanıcılar","Vector":"Vektör","Vectors":"Vektörler","Verification Code":"Doğrulama kodu","Video":"Video","Video Duration":"Video Süresi","Videos":"Videolar","View":"Görünüm","View search results as a list.":"Arama sonuçlarını liste olarak görüntüleyin.","Viewer":"Görüntüleyici","Visitor":"Ziyaretçi","Visual Similarity":"Görsel Benzerlik","Warning":"Uyarı","We appreciate your feedback!":"Görüşleriniz için teşekkür ederiz!","We do our best to respond within five business days or less.":"Beş iş günü veya daha kısa bir süre içinde yanıt vermek için elimizden geleni yapıyoruz.","Web Login":"Web Girişi","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"WebDAV istemcileri aşağıdaki URL'yi kullanarak PhotoPrism'e bağlanabilir:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"Microsoft'un Windows Gezgini veya Apple'ın Finder'ı gibi WebDAV istemcileri, PhotoPrism'e doğrudan bağlanabilir.","WebDAV Upload":"WebDAV Yükleme","WebGL support is disabled in your browser":"Tarayıcınızda WebGL desteği devre dışı bırakılmış","Website":"Website","White":"Beyaz","Work Details":"İş Detayları","Year":"Yıl","Yellow":"Sarı","Yes":"Evet","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Üyeliğinizle ilgili sorularınız için membership@photoprism.app adresinden bizimle iletişime geçebilirsiniz.","You can only download one album":"Yalnızca bir albüm indirebilirsiniz","You can only download one label":"Yalnızca bir etiket indirebilirsiniz","You can search for a location or move the marker on the map to change the position:":"Bir konumu arayabilir veya konumu değiştirmek için işaretçiyi harita üzerinde hareket ettirebilirsiniz:","You can upload up to %{n} files for test purposes.":"Test amacıyla %{n} adede kadar dosya yükleyebilirsiniz.","You may only select one item":"Yalnızca bir öğe seçebilirsiniz","You may rescan your library to find additional faces.":"Başka yüzler bulmak için kütüphanenizi yeniden tarayabilirsiniz.","Your account has been successfully connected.":"Hesabınız başarıyla bağlandı.","Your browser does not support WebGL":"Tarayıcınız WebGL'yi desteklemiyor","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Devam eden desteğiniz düzenli güncellemeler sağlamamıza ve bağımsız kalmamıza yardımcı olur, böylece misyonumuzu yerine getirebilir ve gizliliğinizi koruyabiliriz.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Özel anların, gezilerin ve yerlerin albümlerini otomatik olarak oluşturmak için kitaplığınız sürekli olarak analiz edilir.","Zoom in/out":"Yakınlaştır / uzaklaştır"}} \ No newline at end of file diff --git a/frontend/src/locales/json/uk.json b/frontend/src/locales/json/uk.json index 11e16cb2f..5a441b6c1 100644 --- a/frontend/src/locales/json/uk.json +++ b/frontend/src/locales/json/uk.json @@ -1 +1 @@ -{"uk":{"{0} appended action":"{0} додана дія","{0} files":"{0} файли","{0} files ({1} in total)":"{0} файлів (всього {1})","{0} more":"{0} більше","{0} prepended action":"{0} відкладена дія","{0} selected":"{0} вибрано","{0}-{1} of {2}":"{0}-{1} з {2}","%{n} albums found":"%{n} альбомів знайдено","%{n} files uploaded":"%{n} файлів завантажено","%{n} folders found":"%{n} папок знайдено","%{n} GB of %{q} GB used":"%{n} Гб від %{q} ГБ використано","%{n} labels found":"%{n} міток знайдено","%{n} people found":"%{n} людей знайдено","%{n} pictures found":"%{n} зображень знайдено","%{s} is too long":"%{s} занадто довгий","%{s} is too short":"%{s} занадто короткий","1 hour":"1 година","12 hours":"12 годин","2-Factor Authentication":"2-факторна автентифікація","2FA":"2FA","4 hours":"4 години","A click will copy it to your clipboard.":"Копіювання до буферу обміну по кліку.","A new version of %{s} is available:":"Доступна нова версія %{s}:","About":"Про","Access Token":"Токен доступу","Account":"Обліковий запис","Account created":"Обліковий запис створено","Account deleted":"Обліковий запис видалено","Account restored":"Обліковий запис відновлено","Accounts":"Рахунки","Accuracy":"Точність","Action":"Дія","Actions":"Дії","Activate":"Активувати","Activate to remove sorting.":"Активуйте, щоб прибрати сортування.","Activate to sort ascending.":"Активуйте для сортування за зростанням.","Activate to sort descending.":"Активуйте для сортування за спаданням.","Activation Code":"Код активації","Add":"Додати","Add %{s}?":"Додати %{s}?","Add Account":"Додати обліковий запис","Add Album":"Додати Альбом","Add files to your library via Web Upload.":"Додайте файли до своєї бібліотеки за допомогою Веб-завантаження.","Add Link":"Додати посилання","Add person?":"Додати людину?","Add pictures from search results by selecting them.":"Додайте зображення з результатів пошуку, вибравши їх.","Add to album":"Додати до альбому","Added":"Додано","Admin":"Адміністратор","Advanced":"Розширені","After 1 day":"Через 1 день","After 3 days":"Через 3 дні","After 7 days":"Через 7 днів","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Після введення пароля для підтвердження ви можете налаштувати двофакторну автентифікацію за допомогою сумісної програми або пристрою для автентифікації:","After one month":"Через місяць","After one year":"Через рік","After selecting pictures from search results, you can add them to an album using the context menu.":"Вибравши зображення з результатів пошуку, ви можете додати їх до альбому за допомогою контекстного меню.","After two months":"Через два місяці","After two weeks":"Через два тижні","Album":"Альбом","Album Backups":"Резервні копії альбомів","Album created":"Альбом створено","Albums":"Альбоми","Albums deleted":"Альбом видалено","All":"Усе.","All %{n} albums loaded":"Усі %{n} альбомів завантажено","All %{n} labels loaded":"Усі %{n} міток завантажено","All %{n} people loaded":"Усі %{n} людей завантажено","All Cameras":"Усі фотокамери","All Categories":"Усі категорії","All Colors":"Усі кольори","All Countries":"Усі країни","All fields are required":"Усі поля обов'язкові для заповнення","All files from import folder":"Всі файли з папки імпорту","All Lenses":"Всі об'єктиви","All Months":"Всі місяці","All originals":"Всі оригінали","All Years":"Всі роки","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Крім того, ви можете завантажувати файли безпосередньо на сервери WebDAV, такі як Nextcloud.","Altitude":"Висота","Altitude (m)":"Висота (м)","AM":"AM","Animated":"Анімовані","Animation":"Анімація","Any private photos and videos remain private and won't be shared.":"Будь-які приватні фотографії та відео залишаються приватними та не будуть доступні іншим користувачам.","API Key":"Ключ API","Application":"Заявка","Apply":"Застосувати","Approve":"Підтвердити","Apps and Devices":"Програми та пристрої","Archive":"Архів","Archived":"Заархівовано","Are you sure you want to archive the selection?":"Ви впевнені що хочете заархівувати виділені елементи?","Are you sure you want to delete these albums?":"Ви впевнені що хочете видалити ці альбоми?","Are you sure you want to delete these labels?":"Ви впевнені що хочете видалити ці мітки?","Are you sure you want to delete this account?":"Ви впевнені що хочете видалити цей обліковий запис?","Are you sure you want to permanently delete these pictures?":"Ви впевнені що хочете остаточно видалити ці зображення?","Are you sure you want to permanently delete this file?":"Ви впевнені що хочете остаточно видалити цей файл?","Are you sure?":"Ви впевнені?","Artist":"Виконавець","Aspect Ratio":"Співвідношення сторін","Audio":"Аудіо","Authentication":"Аутентифікація","Auto":"Авто","Back":"Назад","Back to top":"Повернутися до початку","Backup":"Резервне копіювання","Badge":"Значок","Base Path":"Базовий шлях","Become a member today, support our mission and enjoy our member benefits!":"Станьте членом сьогодні, підтримайте нашу місію та користуйтеся перевагами членства!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Будучи на 100% самофінансованими та незалежними, ми можемо пообіцяти вам, що ми ніколи не будемо продавати ваші дані і що ми завжди будемо прозорими щодо нашого програмного забезпечення та послуг.","Bio":"Біографія","Birth Date":"Дата народження","Black":"Чорний","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: модифікація Lanczos, менш виразні артефакти","Blue":"Синій","Brown":"Коричневий","Browse":"Переглянути","Browse and edit image classification labels.":"Переглядайте та редагуйте мітки класифікації зображень.","Browse and share your pictures organized into monthly albums.":"Переглядайте та діліться своїми фотографіями, організованими в щомісячні альбоми.","Browse Files":"Переглянути файли","Browse indexed files and folders in Library.":"Переглядайте проіндексовані файли та папки в бібліотеці.","Bug Report":"Звіт про помилку","Busy, please wait…":"Система зайнята, будь ласка, зачекайте…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Використовуючи програмне забезпечення та послуги, які ми надаємо, ви погоджуєтеся з нашими умовами надання послуг, політикою конфіденційності та кодексом поведінки.","Calendar":"Календар","Camera":"Камера","Camera Serial":"Серійний номер камери","Can't access your authenticator app or device?":"Не можете отримати доступ до програми або пристрою автентифікації?","Can't load more, limit reached":"Не можна завантажити більше, досягнуто ліміту","Can't select more items":"Не можливо виділити більше елементів","Cancel":"Відмінити","Caption":"Підпис","Cards":"Картки","Carousel slide {0} of {1}":"Карусельний слайд {0} з {1}","Category":"Категорія","Change Avatar":"Змінити аватар","Change Password":"Змінити пароль","Change personal profile and security settings.":"Зміна особистого профілю та налаштувань безпеки.","Change photo titles, locations, and other metadata.":"Змінити назви фотографій, розташування та інші метадані.","Change private flag":"Змінити позначку приватності","Changes could not be saved":"Зміни не можливо зберегти","Changes successfully saved":"Зміни успішно збережено","Changes to the advanced settings require a restart to take effect.":"Зміни в розширених налаштуваннях потребують перезапуску, щоб набути чинності.","Checked":"Перевірено","Chroma":"Кoльоровість","Cleaning index and cache":"Очищення індексу та кешу","Cleanup":"Прибирання","Clear {0}":"Чисто {0}","Client":"Клієнт","Client Credentials":"Облікові дані клієнта","Close":"Закрити","Codec":"Кодек","Color":"Колір","Color Profile":"Профіль кольору","Colors":"Кольори","Compare Editions":"Порівняти видання","Complete Rescan":"Повне перескановування","Confidence":"Точність","Confirm":"Підтвердити","Connect":"Під'єднати","Connect via WebDAV":"Під'єднати через WebDAV","Connected":"Підключено","Contact Details":"Контактна інформація","Contact Us":"Зв'язатися з нами","Contains %{n} pictures.":"Містить %{n} зображень.","Contains one picture.":"Містить одне зображення.","Content":"Зміст","Continue":"Продовжити","Continue with %{provider}":"Продовжити з %{провайдер}","Contributor":"Дописувач","Converting":"Конвертація","Copied to clipboard":"Скопійовано у буфер обміну","Copy":"Копія","Copyright":"Авторські права","Couldn't find anything.":"Не можу знайти нічого.","Country":"Країна","Create Account":"Створити обліковий запис","Create album":"Створити альбом","Create regular backups based on the configured schedule.":"Створюйте регулярні резервні копії на основі налаштованого розкладу.","Create YAML files to back up album metadata.":"Створіть YAML-файли для резервного копіювання метаданих альбому.","Create YAML sidecar files to back up picture metadata.":"Створіть YAML-файли для резервного копіювання метаданих зображень.","Created":"Створено","Creating thumbnails for":"Створюю мініатюри для","Cubic: Moderate Quality, Good Performance":"Cubic: помірна якість, хороша продуктивність","Current Password":"Поточний пароль","Custom":"Нестандартний","Cyan":"Блакитний","Daily":"Щоденний","Database Backups":"Резервне копіювання бази даних","Day":"День","Deactivate":"Дезактивувати","Debug Logs":"Журнали налагодження","Default":"За замовчуванням","Default Folder":"Папка за замовчуванням","Delete":"Видалити","Delete All":"Видалити все","Delete all?":"Видалити все?","Delete orphaned index entries, sidecar files and thumbnails.":"Видаляйте \"осиротілі\" індексні записи, допоміжні файли та мініатюри.","Description":"Опис","Detailed instructions can be found in our User Guide.":"Детальні інструкції можна знайти в нашій Інструкції Користувача.","Details":"Подробиці","Dimensions":"Розміри","Disable Backups":"Вимкнути резервній копії","Disable Darktable":"Вимкнути Darktable","Disable ExifTool":"Вимкнути ExifTool","Disable features that require write permission for the originals folder.":"Вимкніть функції, які вимагають дозволу на запис до папки оригіналів.","Disable FFmpeg":"Вимкнути FFmpeg","Disable ImageMagick":"Вимкнути ImageMagick","Disable interactive world maps and reverse geocoding.":"Вимкніть інтерактивні карти світу та зворотне геокодування.","Disable Places":"Вимкнути Місця","Disable RawTherapee":"Вимкнути RawTherapee","Disable TensorFlow":"Вимкнути TensorFlow","Disable Vectors":"Вимкнути вектори","Disable WebDAV":"Вимкнути WebDAV","Disables vector graphics support.":"Вимикає підтримку векторної графіки.","Disables video transcoding and thumbnail extraction.":"Вимикає перекодування відео та вилучення мініатюр.","Discover":"Огляд","Dismiss":"Звільнити","Display Name":"Ім'я користувача","Display picture captions in search results.":"Відображати підписи до зображень у результатах пошуку.","Display picture titles in search results.":"Відображати назви зображень у результатах пошуку.","Document":"Документ","Documents":"Документи","Don't use Darktable to convert RAW images.":"Не використовуйте Darktable для перетворення RAW-зображень.","Don't use ImageMagick to convert images.":"Не використовуйте ImageMagick для перетворення зображень.","Don't use RawTherapee to convert RAW images.":"Не використовуйте RawTherapee для перетворення RAW-зображень.","Done":"Готово","Done.":"Готово.","Download":"Завантажити","Download only original media files, without any automatically generated files.":"Завантажуйте лише оригінальні медіафайли, без жодних автоматично згенерованих файлів.","Download remote files":"Завантаження віддалених файлів","Download single files and zip archives.":"Завантажити окремі файли та архіви zip.","Downloading…":"Завантаження…","Downscaling Filter":"Фільтр зменшення масштабу","Drag and drop files here":"Перетягніть файли сюди","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"У зв'язку з великою кількістю електронних листів, які ми отримуємо, наша команда може бути не в змозі відповісти вам негайно.","Duplicates will be skipped and only appear once.":"Дублікати пропускатимуться та з’являтимуться лише один раз.","Duration":"Тривалість","Dynamic Previews":"Динамічний попередній перегляд","Dynamic Size Limit: %{n}px":"Обмеження динамічного розміру: %{n}px","E-Mail":"Електронна пошта","Edit":"Редагувати","Edit %{s}":"Редагувати %{s}","Edit Account":"Редагувати обліковий запис","Edit Photo":"Редагувати фото","Edited":"Відредаговано","Email":"Електронна пошта","Enable debug mode to display additional logs and help with troubleshooting.":"Увімкніть режим налагодження для відображення додаткових журналів і допомоги з усуненням несправностей.","Enable new features that may be incomplete or unstable.":"Увімкніть нові функції, які можуть бути неповними або нестабільними.","Enables RAW converter presets. May reduce performance.":"Увімкнути попередньо встановлені налаштування конвертера RAW. Може знизити продуктивність.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Увімкнення двофакторної автентифікації означає, що для входу вам знадобиться випадково згенерований код підтвердження, тож навіть якщо хтось отримає доступ до вашого пароля, він не зможе отримати доступ до вашого облікового запису.","Enter date":"Введіть дату","Enter dates":"Введіть дати","Enter the code generated by your authenticator app:":"Введіть код, згенерований вашим додатком-автентифікатором:","Enter verification code":"Введіть код верифікації","Enter your password to confirm the action and continue:":"Введіть пароль для підтвердження дії та продовжуйте:","Error":"Помилка","Errors":"Помилки","Estimate":"Оцінка","Estimate Locations":"Приблизні місця розташування","Estimate the approximate location of pictures without GPS coordinates.":"Оцініть приблизне місцезнаходження знімків без GPS-координат.","Every two days":"Кожні два дні","Exclude content marked as private from search results, shared albums, labels, and places.":"Виключити контент, відмічений як приватний, з результатів пошуку, спільних альбомів, міток та місць.","Exclude hidden":"Виключаючи приховані","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"Вилучення метаданих за допомогою ExifTool необхідне для повної підтримки відео, живих фото та XMP.","Experimental Features":"Експериментальні можливості","Expires":"Закінчується","Exposure":"Експозиція","Extract still images and generate thumbnails while indexing.":"Витягуйте нерухомі зображення та створюйте мініатюри під час індексування.","F Number":"Діафрагма","Face":"Обличчя","Faces":"Обличчя","Failed removing link":"Не вдалось видалити посилання","Failed to connect account.":"Не вдалося підключити обліковий запис.","Failed updating link":"Не вдалось оновити посилання","Family Name":"Прізвище","Fast":"Швидко","Favorite":"Вибрані","Favorites":"Вибране","Feature Request":"Запит можливостей","Feedback":"Відгук","Female":"Жінка","File":"Файл","File Browser":"Оглядач файлів","File Conversion":"Перетворення файлів","File Name":"Ім'я файлу","File Size":"Розмір файлу","Filename":"Ім'я файла","Files":"Файли","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Файли з послідовними іменами як 'IMG_1234 (2)' і 'IMG_1234 (3)' вважати тим самим зображенням.","First page":"Перша сторінка","Focal Length":"Фокусна відстань","Folder":"Папка","Folder contains %{n} files":"Папка містить %{n} файлів","Folder is empty":"Папка порожня","Folders":"Папки","Forgot password?":"Забули пароль?","FPS":"к/с","Frames":"Кадрів","Full Access":"Повний доступ","Fullscreen":"Повний екран","General":"Загальний","Generate":"Генерувати","Generate albums of special moments, journeys, and places.":"Автоматично створювати альбоми визначних моментів, подорожей та місць.","Generate Previews":"Створювати попередній перегляд","Generated":"Згенеровано","Get Started":"Початок роботи","Given Name":"Прізвище, ім'я та по батькові","Global Options":"Глобальні опції","Go to page {0}":"Перейти на сторінку {0}","Gold":"Золотий","Green":"Зелений","Grey":"Сірий","Guest":"Гість","Hash":"Хеш","Help":"Допомога","Help & Support":"Допомога і Підтримка","Hidden":"Приховані","Hidden Files":"Приховані файли","Hide":"Приховати","Hide photos that have been moved to archive.":"Приховати фотографії, які були переміщені в архів.","High":"Високий","High Dynamic Range (HDR)":"Високий Динамічний Діапазон(HDR)","How can we help?":"Як ми можемо допомогти?","Hybrid":"Гібридний","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Якщо ви втратите доступ до програми або пристрою автентифікатора, ви можете скористатися кодом відновлення, щоб відновити доступ до свого облікового запису.","Image":"Зображення","Image Quality":"Якість зображення","Import":"Імпортувати","Import failed":"Імпортування невдале","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Імпортовані файли будуть відсортовані по даті та отримають унікальні імена для уникнення дублікатів.","Imported files will be sorted by date and given a unique name.":"Імпортовані файли будуть відсортовані по даті та отримають унікальні імена.","Importing %{s}…":"Імпортуємо %{s}…","Importing files to originals…":"Імпортуємо файли в теку оригіналів…","in":"в","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"У випадку якщо очікувані зображення відсутні, будь-ласка перескануйте вашу бібліотеку та зачекайте поки індексування закінчиться.","Include RAW image files when downloading stacks and archives.":"Завантажуючи стеки та архіви, додавайте файли зображень у форматі RAW.","Include sidecar files when downloading stacks and archives.":"Завантажуючи стеки та архіви, додавайте до них файли-супровідники.","Increase storage size or delete files to continue.":"Збільште розмір сховища або видаліть файли, щоб продовжити.","Index":"Індекс","Index and import files through the user interface.":"Індексуйте та імпортуйте файли через користувацький інтерфейс.","Indexing":"Індексування","Indexing failed":"Індексування не вдалось","Indexing media and sidecar files…":"Індексування мультимедійних і файлів додаткової інформації…","Information":"Інформація","Instance ID":"Ідентифікатор екземпляра","Insufficient storage.":"Недостатнє зберігання.","Interval":"Інтервал","Invalid":"Недійсний","Invalid address":"Неправильна адреса","Invalid country":"Невірна країна","Invalid date":"Невірна дата","Invalid parameters":"Неправильні параметри","Invalid photo selected":"Вибрано невірне фото","Invalid time":"Неправильний час","Invalid URL":"Неправильна URL-адреса","It is a one-time use code that will disable 2FA for your account when you use it.":"Це одноразовий код, який вимикає 2FA для вашого облікового запису, коли ви його використовуєте.","Item":"Елемент","Items per page:":"Елементи на сторінку:","JPEG Quality: %{n}":"Якість JPEG: %{n}","JPEG Size Limit: %{n}px":"Обмеження розміру JPEG: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"JPEG та мініатюри автоматично відтворюються за потреби.","Keywords":"Ключові слова","Label":"Мітка","Labels":"Мітки","Labels deleted":"Мітки видалено","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: збереження деталей, мінімум артефактів","Language":"Мова","Last Active":"Останній активний","Last Login":"Останній вхід","Last page":"Остання сторінка","Last Sync":"Остання синхронізація","Last Used":"Останнє використання","Latitude":"Широта","LDAP/AD":"LDAP/AD","Learn more":"Дізнатися більше","Learn More":"Дізнатися більше","Legal Information":"Юридична інформація","Lens":"Об'єктив","Library":"Бібліотека","License":"Ліцензія","Like":"Вподобання","Lime":"Лаймовий","Limit reached, showing first %{n} files":"Ліміт досягнуто, показано перші %{n} файлів","Linear: Very Smooth, Best Performance":"Лінійний: дуже плавний, найкраща продуктивність","Link":"Посилання","List":"Список","List View":"Перегляд списку","Live":"Live фото","Live Photos":"Живі фото","Load more":"Завантажити більше","Loading items...":"Завантажуємо товари...","Loading...":"Завантаження...","Local":"Місцевий","Local Time":"Місцевий час","Location":"Місцезнаходження","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Повідомлення журналу з’являються тут щоразу, коли PhotoPrism натрапляє на пошкоджені файли або виникають інші потенційні проблеми.","Login":"Увійти в систему","Logout":"Вийти з системи","Logs":"Журнали","Longitude":"Довгота","Low":"Низький","Magenta":"Маджента","Main Color":"Основний колір","Male":"Чоловік","Manage Account":"Керувати обліковим записом","Manual":"Посібник","Manual Upload":"Вивантаження вручну","Maps":"Карти","Marker":"Маркер","Maximum number of accounts has been reached.":"Досягнуто максимальної кількості акаунтів.","Media":"Медіа","Medium":"Середній","Membership":"Членство","Merge %{a} with %{b}?":"Об'єднати %{a} із %{b}?","Message":"Повідомлення","Message sent":"Повідомлення надіслано","Metadata":"Метадані","Metrics":"Метрики","Minimize":"Мінімізувати","Missing":"Відсутнє","Missing or invalid configuration":"Відсутня або невірна конфігурація","Moments":"Моменти","Monochrome":"Монохромні","Month":"Місяць","More options":"Більше можливостей","Mosaic":"Мозаїка","Most Relevant":"Найбільш актуальні","Move Files":"Перемістити файли","Must have at least %{n} characters.":"Повинно містити не менше %{n} символів.","Mute":"Вимкнути звук.","Name":"Ім'я","Name too long":"Задовге ім'я","Never":"Ніколи","New":"Нові","New Password":"Новий пароль","Newest First":"Спочатку найновіші","Next":"Далі","Next page":"Наступна сторінка","Next visual":"Наступна візуалізація","No":"Немає","No albums found":"Альбоми не знайдено","No data available":"Дані відсутні","No labels found":"Мітки не знайдено","No matching records found":"Відповідних записів не знайдено","No more":"Досить","No people found":"Людей не знайдено","No pictures found":"Зображення не знайдено","No recently edited pictures":"Немає нещодавно відредагованих зображень","No server connection":"Немає з'єднання з сервером","No servers configured.":"Сервери не налаштовано.","No services configured.":"Служби не налаштовані.","No thanks":"Ні, дякую","No warnings or error containing this keyword. Note that search is case-sensitive.":"Немає попереджень або помилок із цим ключовим словом. Зауважте, що пошук чутливий до регістру.","Non-photographic and low-quality images require a review before they appear in search results.":"Нефотографічні та низькоякісні зображення потребують перевірки, перш ніж з’являться в результатах пошуку.","None":"Жодного","Not allowed":"Не можна","Not found":"Не знайдено","Not sorted.":"Не відсортовано.","Not supported":"Не підтримується","Note you may manually manage your originals folder and importing is optional.":"Зауважте, що ви можете вручну керувати папкою оригіналів, та імпортувати необов’язково.","Note:":"Примітка:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Примітка: лише сервери WebDAV, такі як Nextcloud або PhotoPrism, можна налаштувати як віддалену службу для резервного копіювання та вивантаження файлів.","Notes":"Примітки","Nothing to see here yet.":"Поки що тут немає на що дивитися.","Nothing was found.":"Нічого не знайшли.","Offline":"Поза мережею","OIDC":"OIDC","OK":"ГАРАЗД.","Oldest First":"Спочатку найстарші","On Windows, enter the following resource in the connection dialog:":"У Windows, введіть наступний ресурс у діалоговому вікні підключення:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"Генерація мініатюр на вимогу може спричинити високе навантаження на процесор і пам'ять. Не рекомендується для серверів з обмеженими ресурсами та NAS-пристроїв.","Once a week":"Раз на тиждень","One album found":"Один альбом знайдено","One file found":"Один файл знайдено","One file uploaded":"Один файл вивантажено","One folder found":"Одну папку знайдено","One label found":"Одну мітку знайдено","One person found":"Одну людину знайдено","One picture found":"Одне зображення знайдено","Only locally managed accounts can be set up for authentication with 2FA.":"Лише локально керовані облікові записи можна налаштувати для автентифікації за допомогою 2FA.","Open":"Відкрито","optional":"необов'язковий","or":"або","Orange":"Оранжевий","Organization":"Організація","Orientation":"Орієнтація","Original file names will be stored and indexed.":"Оригінальні назви файлів будуть збережені та проіндексовані.","Original Name":"Оригінальна назва","Originals":"Оригінали","Other":"Інше","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Наша місія полягає в тому, щоб надати найбільш зручне для користувача та конфіденційності рішення, щоб ваші зображення були впорядкованими та доступними.","Outdoor":"На відкритому повітрі","Page {0}, Current page":"Сторінка {0}, Поточна сторінка","Pages":"Сторінки","Pagination Navigation":"Навігація по сторінках","Panorama":"Панорама","Panoramas":"Панорами","Password":"Пароль","Password changed":"Пароль змінено","People":"Люди","People you share a link with will be able to view public contents.":"Люди, з котрими ви поділилися посиланням, зможуть переглядати загальнодоступний вміст.","Permanently deleted":"Остаточно видалено","Permanently remove files to free up storage.":"Видалити файли назавжди, щоб звільнити пам’ять.","Person":"Людина","Personal":"Особисте","Photo":"Фото","PhotoPrism is 100% self-funded and independent.":"PhotoPrism на 100% самофінансується та є незалежною організацією.","PhotoPrism+ Membership":"Членство в PhotoPrism+","Photos":"Фотографії","Picture Title":"Назва зображення","Pink":"Рожевий","Place":"Місце","Place & Time":"Місце і час","Places":"Місця","Please confirm your new password.":"Будь-ласка підтвердіть ваш новий пароль.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Будь ласка, скопіюйте цей випадково згенерований пароль програми та зберігайте його в надійному місці, оскільки ви більше не зможете його побачити:","Please do not upload any private, unlawful or offensive pictures.":"Будь ласка, не завантажуйте жодних приватних, незаконних або образливих зображень.","Please don't upload photos containing offensive content.":"Будь ласка, не завантажуйте фотографії образливого змісту.","Please enter OTP character {0}":"Будь ласка, введіть символ OTP {0}","Please note that changing your password will log you out on other devices and browsers.":"Зверніть увагу, що зміна пароля призведе до виходу з системи на інших пристроях та браузерах.","Please restart your instance for the changes to take effect.":"Будь ласка, перезапустіть ваш екземпляр, щоб зміни набули чинності.","Please wait…":"Будь ласка, зачекайте…","PM":"ПРЕМ'ЄР-МІНІСТР","PNG Size Limit: %{n}px":"Обмеження розміру PNG: %{n}px","Portrait":"Портрет","Preserve filenames":"Зберігати імена файлів","Press enter to create a new album.":"Натисність Enter щоб створити новий альбом.","Prevent database and album backups as well as YAML sidecar files from being created.":"Запобігайте створенню резервних копій баз даних і альбомів, а також додаткових файлів YAML.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Заборонити іншим програмам доступ до PhotoPrism як до спільного мережевого диска.","Preview":"Попередній перегляд","Preview Images":"Попередній перегляд зображень","Previous":"Попередні","Previous page":"Попередня сторінка","Previous visual":"Попереднє зображення","Primary":"Первинний","Private":"Приватний","Product Feedback":"Відгуки про продукт","Projection":"Проекція","Purple":"Пурпурний","Quality Filter":"Фільтр якості","Quality Score":"Показник якості","r":"r","Random":"Випадковий","Rating {0} of {1}":"Рейтинг {0} з {1}","Raw":"Raw файли","RAW":"RAW файли","Re-index all originals, including already indexed and unchanged files.":"Переіндексуйте усі оригінали, включаючи вже проіндексовані та незмінені файли.","Read-Only Mode":"Режим «тільки для читання»","Recently Added":"Нещодавно додані","Recently Archived":"Нещодавно заархівовані","Recently Edited":"Нещодавно відредаговані","Recognition starts after indexing has been completed.":"Розпізнавання почнеться після завершення індексації.","Recognize faces so people can be assigned and found.":"Розпізнавання облич для пошуку конкретних людей.","Recognized":"Розпізнані","Recovery Code":"Код відновлення","Red":"Червоний","Refresh":"Оновити","Regions":"Регіони","Register":"Зареєструватися","Reload":"Перезавантажити","Reloading…":"Перезавантаження…","Remote Sync":"Віддалена синхронізація","Remove":"Видалити","remove failed: unknown album":"не вдалося видалити: невідомий альбом","Remove from Album":"Видалити з альбому","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Вилучіть імпортовані файли, щоб заощадити пам’ять. Непідтримувані типи файлів ніколи не будуть видалені, вони залишаться в поточному місці.","Request failed - are you offline?":"Запит не виконано - ви не в мережі?","Request failed - invalid response":"Запит не виконано – недійсна відповідь","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Вимагайте, щоб нефотографічні та неякісні зображення проходили перевірку перед тим, як вони з'являться в результатах пошуку.","Resolution":"Роздільна здатність","Restart":"Перезавантажити","Restore":"Відновити","Restored":"Відновлено","Retry Limit":"Ліміт повторних спроб","Retype Password":"Введіть пароль повторно","Review":"Потребують перевірки","Role":"Роль","Rows per page:":"Рядки на сторінці:","Satellite":"Супутник","Save":"Зберегти","Scan":"Сканувати","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Відскануйте QR-код за допомогою програми автентифікації або скористайтеся ключем налаштування, показаним нижче, а потім введіть згенерований код підтвердження:","Scans":"Відскановані","Scope":"Сфера застосування","Search":"Пошук","Search and display photos on a map.":"Пошук і відображення фотографій на карті.","Season":"Сезон","Secret":"Таємний","Security and Access":"Безпека та доступ","Select":"Вибрати","Select a source folder to import files…":"Виберіть вихідну папку для імпорту файлів…","Select date":"Виберіть дату","Select dates":"Виберіть дати","Select or create an album":"Виберіть або створіть альбом","Select the files to upload…":"Виберіть файли для завантаження…","Select the folder to be indexed…":"Виберіть папку для індексації…","Select Time":"Виберіть час","Selection approved":"Вибір затверджено","Selection archived":"Вибране заархівовано","Selection restored":"Вибране відновлено","Sequential Name":"Послідовне ім'я","Service URL":"URL служби","Services":"Послуги","Session":"Сесія","Session ID":"Ідентифікатор сеансу","Sessions":"Сесії","Set as Album Cover":"Встановити як обкладинку альбому","Settings":"Налаштування","Settings saved":"Налаштування збережено","Setup":"Налаштувати","Share":"Поділитися","Share %{s}":"Поділитися %{s}","Share your pictures with other apps and services.":"Діліться своїми фотографіями з іншими програмами та сервісами.","Show":"Показати","Show all new faces":"Показати всі нові обличчя","Show Captions":"Показати субтитри","Show hidden":"Показати приховані","Show less":"Показати менше","Show more":"Показати більше","Show server logs in Library.":"Показати журнали сервера в бібліотеці.","Show Titles":"Показати заголовки","Sidecar":"Додатковий вміст","Sidecar Files":"Файли для колясок","Sign in":"Увійти","Similar":"Схожі","Size":"Розмір","Slideshow":"Слайд-шоу","Slow":"Повільний","Software":"Програмне забезпечення","Software Update":"Оновлення програмного забезпечення","Something went wrong, try again":"Щось пішло не так, спробуйте ще раз","Sort by":"Сортувати за","Sort Order":"Порядок сортування","Sorted ascending.":"Відсортовано за зростанням.","Sorted descending.":"Відсортовано за спаданням.","Source":"Джерело","Stack":"Серії","Stack files sharing the same unique image or instance identifier.":"Згрупувати файли, що мають однакове унікальне зображення або ідентифікатор екземпляра.","Stack pictures taken at the exact same time and location based on their metadata.":"Згрупувати зображення, зроблені в той самий час і в одному місці, на основі їхніх метаданих.","Stackable":"Згруповуємі","Stacks":"Групи","Start":"Почати","Start Page":"Початкова сторінка","Static Size Limit: %{n}px":"Обмеження статичного розміру: %{n}px","Status":"Статус","Storage":"Сховище","Streets":"Вулиці","Subject":"Тема","Submit":"Надіслати","Successfully activated":"Активація успішна","Successfully Connected":"Успішно підключено","Successfully deleted":"Успішно видалено","Successfully verified":"Верифікація успішна","Super Admin":"Супер адміністратор","Support for additional services, like Google Drive, will be added over time.":"Підтримка додаткових служб, як Google Drive, буде додана з часом.","Support Our Mission":"Підтримайте нашу місію","Sync":"Синхронізація","Sync raw and video files":"Синхронізація файлів у форматі raw і відео","Taken":"Занято","Teal":"Бірюзовий","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow необхідний для класифікації зображень, розпізнавання облич та виявлення небезпечного контенту.","Terrain":"Місцевість","Text":"Текст","Text too long":"Текст занадто довгий","Thank You for Your Support!":"Дякуємо за Вашу підтримку!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Саме тому PhotoPrism був створений з нуля, щоб працювати там, де вам потрібно, без шкоди для свободи, конфіденційності та функціональності.","The index currently contains %{n} hidden files.":"Індекс наразі містить %{n} прихованих файлів.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Можливо, їх формат не підтримується, вони ще не перетворені на JPEG або є дублікати.","Theme":"Тема","This field is required":"Це поле обов'язкове для заповнення","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Це монтує папку оригіналів як мережевий диск і дозволяє відкривати, редагувати та видаляти файли з вашого комп’ютера чи смартфона, наче вони локальні.","Time UTC":"Час за UTC","Time Zone":"Часовий пояс","Timeout":"Час вийшов","Title":{"Account":"Заголовок","Photo":"Заголовок","":"Заголовок"},"Title / Position":"Звання / посада","Title too long":"Заголовок занадто довгий","to":"до","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Щоб уникнути блокування доступу до облікового запису, завантажте, роздрукуйте або скопіюйте цей код відновлення зараз і зберігайте його в безпечному місці.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Щоб згенерувати новий пароль програми, введіть ім’я та область авторизації програми та виберіть термін дії:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Щоб перейти на нову програму або пристрій для автентифікації, спочатку вимкніть двофакторну автентифікацію, а потім знову активуйте її:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Щоб оновити версію, ви можете ввести код активації або натиснути кнопку \"Зареєструватися\", щоб зареєструватися на нашому сайті:","Today":"Сьогодні","Toggle View":"Перемкнути перегляд","Token":"Токен","Too many files selected":"Вибрано занадто багато файлів","Too many requests":"Занадто багато запитів","Troubleshooting":"Усунення несправностей","Try again using other filters or keywords.":"Спробуйте ще раз, використовуючи інші фільтри або ключові слова.","Two-factor authentication has been enabled for your account.":"Для вашого облікового запису ввімкнено двофакторну автентифікацію.","Type":"Тип","Unauthorized":"Несанкціонований","Undo":"Відмінити","Unique ID":"Унікальний ідентифікатор","Unknown":"Невідомий","Unregistered":"Незареєстрований","Unsorted":"Невідсортовані","Unstack":"Розгрупувати","Updated":"Оновлено","Updating faces":"Оновлення облич","Updating index":"Оновлення індексу","Updating moments":"Оновлення моментів","Updating picture…":"Оновлення зображення…","Updating previews":"Оновлення попереднього перегляду","Updating stacks":"Оновлення стеків","Upgrade":"Оновлення","Upgrade Now":"Оновити зараз","Upload":"Вивантажити","Upload complete":"Вивантаження завершено","Upload complete. Indexing…":"Вивантаження завершено. Індексація…","Upload failed":"Помилка вивантаження","Upload local files":"Вивантажити локальні файли","Upload Path":"Шлях завантаження","Upload to WebDAV and share links with friends.":"Вивантажити в WebDAV і поділитися посиланнями з друзями.","Uploading %{n} of %{t}…":"Вивантаження %{n} з %{t}…","Uploading photos…":"Вивантаження фотографій…","Uploading…":"Вивантаження…","Uploads that may contain such images will be rejected automatically.":"Вивантаження, які можуть містити такі зображення, автоматично відхилятимуться.","Use Presets":"Використовуйте попередні налаштування","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Використовуйте такий код відновлення, щоб отримати доступ до свого облікового запису, якщо ви не можете створити дійсний код підтвердження за допомогою програми автентифікації:","Use your recovery code or contact an administrator for help.":"Скористайтеся кодом відновлення або зверніться по допомогу до адміністратора.","User":"Користувач","User Guide":"Посібник користувача","User Interface":"Інтерфейс користувача","Username":"Ім'я користувача","Users":"Користувачі","Vector":"Вектор","Vectors":"Вектори","Verification Code":"Код підтвердження","Video":"Відео","Video Duration":"Тривалість відео","Videos":"Відео","View":"Вид","View search results as a list.":"Переглянути результати пошуку у вигляді списку.","Viewer":"Глядач","Visitor":"Відвідувач","Visual Similarity":"Візуальна схожість","Warning":"Попередження","We appreciate your feedback!":"Ми вдячні Вам за зворотній зв'язок!","We do our best to respond within five business days or less.":"Ми намагаємося відповідати протягом п'яти робочих днів або менше.","Web Login":"Веб-логін","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"Клієнти WebDAV можуть підключатися до PhotoPrism за такою URL-адресою:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"Клієнти WebDAV, такі як Windows Explorer від Microsoft або Finder від Apple, можуть підключатися безпосередньо до PhotoPrism.","WebDAV Upload":"Вивантаження WebDAV","WebGL support is disabled in your browser":"У вашому браузері вимкнено підтримку WebGL","Website":"Веб-сайт","White":"Білий","Work Details":"Деталі роботи","Year":"Рік","Yellow":"Жовтий","Yes":"Так","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Ви можете зв'язатися з нами за адресою membership@photoprism.app з питань, що стосуються вашого членства.","You can only download one album":"Ви можете завантажити лише один альбом","You can only download one label":"Ви можете завантажити лише одну мітку","You can upload up to %{n} files for test purposes.":"Ви можете завантажити до %{n} файлів для тестування.","You may only select one item":"Ви можете вибрати лише один об'єкт","You may rescan your library to find additional faces.":"Ви можете пересканувати вашу бібліотеку щоб знайти додаткові обличчя.","Your account has been successfully connected.":"Ваш обліковий запис успішно підключено.","Your browser does not support WebGL":"Ваш браузер не підтримує WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Ваша постійна підтримка допомагає нам надавати регулярні оновлення та залишатися незалежними, щоб ми могли виконувати нашу місію та захищати вашу конфіденційність.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Ваша бібліотека постійно аналізується, щоб автоматично створювати альбоми особливих моментів, подорожей і місць.","Zoom in/out":"Збільшити/зменшити"}} \ No newline at end of file +{"uk":{"{0} appended action":"{0} додана дія","{0} files":"{0} файли","{0} files ({1} in total)":"{0} файлів (всього {1})","{0} more":"{0} більше","{0} prepended action":"{0} відкладена дія","{0} selected":"{0} вибрано","{0}-{1} of {2}":"{0}-{1} з {2}","%{n} albums found":"%{n} альбомів знайдено","%{n} files uploaded":"%{n} файлів завантажено","%{n} folders found":"%{n} папок знайдено","%{n} GB of %{q} GB used":"%{n} Гб від %{q} ГБ використано","%{n} labels found":"%{n} міток знайдено","%{n} people found":"%{n} людей знайдено","%{n} pictures found":"%{n} зображень знайдено","%{s} is too long":"%{s} занадто довгий","%{s} is too short":"%{s} занадто короткий","1 hour":"1 година","12 hours":"12 годин","2-Factor Authentication":"2-факторна автентифікація","2FA":"2FA","4 hours":"4 години","A click will copy it to your clipboard.":"Копіювання до буферу обміну по кліку.","A new version of %{s} is available:":"Доступна нова версія %{s}:","About":"Про","Access Token":"Токен доступу","Account":"Обліковий запис","Account created":"Обліковий запис створено","Account deleted":"Обліковий запис видалено","Account restored":"Обліковий запис відновлено","Accounts":"Рахунки","Accuracy":"Точність","Action":"Дія","Actions":"Дії","Activate":"Активувати","Activate to remove sorting.":"Активуйте, щоб прибрати сортування.","Activate to sort ascending.":"Активуйте для сортування за зростанням.","Activate to sort descending.":"Активуйте для сортування за спаданням.","Activation Code":"Код активації","Add":"Додати","Add %{s}?":"Додати %{s}?","Add Account":"Додати обліковий запис","Add Album":"Додати Альбом","Add files to your library via Web Upload.":"Додайте файли до своєї бібліотеки за допомогою Веб-завантаження.","Add Link":"Додати посилання","Add person?":"Додати людину?","Add pictures from search results by selecting them.":"Додайте зображення з результатів пошуку, вибравши їх.","Add to album":"Додати до альбому","Added":"Додано","Adjust Location":"Налаштувати місце розташування","Admin":"Адміністратор","Advanced":"Розширені","After 1 day":"Через 1 день","After 3 days":"Через 3 дні","After 7 days":"Через 7 днів","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Після введення пароля для підтвердження ви можете налаштувати двофакторну автентифікацію за допомогою сумісної програми або пристрою для автентифікації:","After one month":"Через місяць","After one year":"Через рік","After selecting pictures from search results, you can add them to an album using the context menu.":"Вибравши зображення з результатів пошуку, ви можете додати їх до альбому за допомогою контекстного меню.","After two months":"Через два місяці","After two weeks":"Через два тижні","Album":"Альбом","Album Backups":"Резервні копії альбомів","Album created":"Альбом створено","Album deleted":"Альбом видалено","Albums":"Альбоми","Albums deleted":"Альбом видалено","All":"Усе.","All %{n} albums loaded":"Усі %{n} альбомів завантажено","All %{n} labels loaded":"Усі %{n} міток завантажено","All %{n} people loaded":"Усі %{n} людей завантажено","All Cameras":"Усі фотокамери","All Categories":"Усі категорії","All Colors":"Усі кольори","All Countries":"Усі країни","All fields are required":"Усі поля обов'язкові для заповнення","All files from import folder":"Всі файли з папки імпорту","All Lenses":"Всі об'єктиви","All Months":"Всі місяці","All originals":"Всі оригінали","All Years":"Всі роки","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Крім того, ви можете завантажувати файли безпосередньо на сервери WebDAV, такі як Nextcloud.","Altitude":"Висота","Altitude (m)":"Висота (м)","AM":"AM","Animated":"Анімовані","Animation":"Анімація","Animations":"Анімація","Any private photos and videos remain private and won't be shared.":"Будь-які приватні фотографії та відео залишаються приватними та не будуть доступні іншим користувачам.","API Key":"Ключ API","Application":"Заявка","Apply":"Застосувати","Approve":"Підтвердити","Apps and Devices":"Програми та пристрої","Archive":"Архів","Archived":"Заархівовано","Are you sure you want to archive the selection?":"Ви впевнені що хочете заархівувати виділені елементи?","Are you sure you want to delete these albums?":"Ви впевнені що хочете видалити ці альбоми?","Are you sure you want to delete these labels?":"Ви впевнені що хочете видалити ці мітки?","Are you sure you want to delete this account?":"Ви впевнені що хочете видалити цей обліковий запис?","Are you sure you want to delete this album?":"Ви впевнені, що хочете видалити цей альбом?","Are you sure you want to permanently delete these pictures?":"Ви впевнені що хочете остаточно видалити ці зображення?","Are you sure you want to permanently delete this file?":"Ви впевнені що хочете остаточно видалити цей файл?","Are you sure?":"Ви впевнені?","Artist":"Виконавець","Aspect Ratio":"Співвідношення сторін","Audio":"Аудіо","Authentication":"Аутентифікація","Auto":"Авто","Back":"Назад","Back to top":"Повернутися до початку","Backup":"Резервне копіювання","Badge":"Значок","Base Path":"Базовий шлях","Become a member today, support our mission and enjoy our member benefits!":"Станьте членом сьогодні, підтримайте нашу місію та користуйтеся перевагами членства!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Будучи на 100% самофінансованими та незалежними, ми можемо пообіцяти вам, що ми ніколи не будемо продавати ваші дані і що ми завжди будемо прозорими щодо нашого програмного забезпечення та послуг.","Bio":"Біографія","Birth Date":"Дата народження","Black":"Чорний","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: модифікація Lanczos, менш виразні артефакти","Blue":"Синій","Brown":"Коричневий","Browse":"Переглянути","Browse and edit image classification labels.":"Переглядайте та редагуйте мітки класифікації зображень.","Browse and share your pictures organized into monthly albums.":"Переглядайте та діліться своїми фотографіями, організованими в щомісячні альбоми.","Browse Files":"Переглянути файли","Browse indexed files and folders in Library.":"Переглядайте проіндексовані файли та папки в бібліотеці.","Bug Report":"Звіт про помилку","Busy, please wait…":"Система зайнята, будь ласка, зачекайте…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Використовуючи програмне забезпечення та послуги, які ми надаємо, ви погоджуєтеся з нашими умовами надання послуг, політикою конфіденційності та кодексом поведінки.","Calendar":"Календар","Camera":"Камера","Camera Serial":"Серійний номер камери","Can't access your authenticator app or device?":"Не можете отримати доступ до програми або пристрою автентифікації?","Can't load more, limit reached":"Не можна завантажити більше, досягнуто ліміту","Can't select more items":"Не можливо виділити більше елементів","Cancel":"Відмінити","Cannot copy to clipboard":"Неможливо скопіювати до буфера обміну","Caption":"Підпис","Cards":"Картки","Carousel slide {0} of {1}":"Карусельний слайд {0} з {1}","Category":"Категорія","Change Avatar":"Змінити аватар","Change Password":"Змінити пароль","Change personal profile and security settings.":"Зміна особистого профілю та налаштувань безпеки.","Change photo titles, locations, and other metadata.":"Змінити назви фотографій, розташування та інші метадані.","Change private flag":"Змінити позначку приватності","Changes could not be saved":"Зміни не можливо зберегти","Changes successfully saved":"Зміни успішно збережено","Changes to the advanced settings require a restart to take effect.":"Зміни в розширених налаштуваннях потребують перезапуску, щоб набути чинності.","Checked":"Перевірено","Chroma":"Кoльоровість","Cleaning index and cache":"Очищення індексу та кешу","Cleanup":"Прибирання","Clear {0}":"Чисто {0}","Client":"Клієнт","Client Credentials":"Облікові дані клієнта","Close":"Закрити","Codec":"Кодек","Color":"Колір","Color Profile":"Профіль кольору","Colors":"Кольори","Compare Editions":"Порівняти видання","Complete Rescan":"Повне перескановування","Confidence":"Точність","Confirm":"Підтвердити","Connect":"Під'єднати","Connect via WebDAV":"Під'єднати через WebDAV","Connected":"Підключено","Contact Details":"Контактна інформація","Contact Us":"Зв'язатися з нами","Contains %{n} pictures.":"Містить %{n} зображень.","Contains one picture.":"Містить одне зображення.","Content":"Зміст","Continue":"Продовжити","Continue with %{provider}":"Продовжити з %{провайдер}","Contributor":"Дописувач","Converting":"Конвертація","Copied to clipboard":"Скопійовано у буфер обміну","Copy":"Копія","Copyright":"Авторські права","Couldn't find anything.":"Не можу знайти нічого.","Country":"Країна","Create Account":"Створити обліковий запис","Create album":"Створити альбом","Create regular backups based on the configured schedule.":"Створюйте регулярні резервні копії на основі налаштованого розкладу.","Create YAML files to back up album metadata.":"Створіть YAML-файли для резервного копіювання метаданих альбому.","Create YAML sidecar files to back up picture metadata.":"Створіть YAML-файли для резервного копіювання метаданих зображень.","Created":"Створено","Creating thumbnails for":"Створюю мініатюри для","Cubic: Moderate Quality, Good Performance":"Cubic: помірна якість, хороша продуктивність","Current Password":"Поточний пароль","Custom":"Нестандартний","Cyan":"Блакитний","Daily":"Щоденний","Database Backups":"Резервне копіювання бази даних","Day":"День","Deactivate":"Дезактивувати","Debug Logs":"Журнали налагодження","Default":"За замовчуванням","Default Folder":"Папка за замовчуванням","Delete":"Видалити","Delete Album":"Видалити альбом","Delete All":"Видалити все","Delete all?":"Видалити все?","Delete orphaned index entries, sidecar files and thumbnails.":"Видаляйте \"осиротілі\" індексні записи, допоміжні файли та мініатюри.","Description":"Опис","Detailed instructions can be found in our User Guide.":"Детальні інструкції можна знайти в нашій Інструкції Користувача.","Details":"Подробиці","Dimensions":"Розміри","Disable Backups":"Вимкнути резервній копії","Disable Darktable":"Вимкнути Darktable","Disable ExifTool":"Вимкнути ExifTool","Disable features that require write permission for the originals folder.":"Вимкніть функції, які вимагають дозволу на запис до папки оригіналів.","Disable FFmpeg":"Вимкнути FFmpeg","Disable ImageMagick":"Вимкнути ImageMagick","Disable interactive world maps and reverse geocoding.":"Вимкніть інтерактивні карти світу та зворотне геокодування.","Disable Places":"Вимкнути Місця","Disable RawTherapee":"Вимкнути RawTherapee","Disable TensorFlow":"Вимкнути TensorFlow","Disable Vectors":"Вимкнути вектори","Disable WebDAV":"Вимкнути WebDAV","Disables vector graphics support.":"Вимикає підтримку векторної графіки.","Disables video transcoding and thumbnail extraction.":"Вимикає перекодування відео та вилучення мініатюр.","Discover":"Огляд","Dismiss":"Звільнити","Display Name":"Ім'я користувача","Display picture captions in search results.":"Відображати підписи до зображень у результатах пошуку.","Display picture titles in search results.":"Відображати назви зображень у результатах пошуку.","Document":"Документ","Documents":"Документи","Don't use Darktable to convert RAW images.":"Не використовуйте Darktable для перетворення RAW-зображень.","Don't use ImageMagick to convert images.":"Не використовуйте ImageMagick для перетворення зображень.","Don't use RawTherapee to convert RAW images.":"Не використовуйте RawTherapee для перетворення RAW-зображень.","Done":"Готово","Done.":"Готово.","Download":"Завантажити","Download only original media files, without any automatically generated files.":"Завантажуйте лише оригінальні медіафайли, без жодних автоматично згенерованих файлів.","Download remote files":"Завантаження віддалених файлів","Download single files and zip archives.":"Завантажити окремі файли та архіви zip.","Downloading…":"Завантаження…","Downscaling Filter":"Фільтр зменшення масштабу","Drag and drop files here":"Перетягніть файли сюди","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"У зв'язку з великою кількістю електронних листів, які ми отримуємо, наша команда може бути не в змозі відповісти вам негайно.","Duplicates will be skipped and only appear once.":"Дублікати пропускатимуться та з’являтимуться лише один раз.","Duration":"Тривалість","Dynamic Previews":"Динамічний попередній перегляд","Dynamic Size Limit: %{n}px":"Обмеження динамічного розміру: %{n}px","E-Mail":"Електронна пошта","Edit":"Редагувати","Edit %{s}":"Редагувати %{s}","Edit Account":"Редагувати обліковий запис","Edit Photo":"Редагувати фото","Edited":"Відредаговано","Email":"Електронна пошта","Enable debug mode to display additional logs and help with troubleshooting.":"Увімкніть режим налагодження для відображення додаткових журналів і допомоги з усуненням несправностей.","Enable new features that may be incomplete or unstable.":"Увімкніть нові функції, які можуть бути неповними або нестабільними.","Enables RAW converter presets. May reduce performance.":"Увімкнути попередньо встановлені налаштування конвертера RAW. Може знизити продуктивність.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Увімкнення двофакторної автентифікації означає, що для входу вам знадобиться випадково згенерований код підтвердження, тож навіть якщо хтось отримає доступ до вашого пароля, він не зможе отримати доступ до вашого облікового запису.","Enter date":"Введіть дату","Enter dates":"Введіть дати","Enter the code generated by your authenticator app:":"Введіть код, згенерований вашим додатком-автентифікатором:","Enter verification code":"Введіть код верифікації","Enter your password to confirm the action and continue:":"Введіть пароль для підтвердження дії та продовжуйте:","Error":"Помилка","Errors":"Помилки","Estimate":"Оцінка","Estimate Locations":"Приблизні місця розташування","Estimate the approximate location of pictures without GPS coordinates.":"Оцініть приблизне місцезнаходження знімків без GPS-координат.","Every two days":"Кожні два дні","Exclude content marked as private from search results, shared albums, labels, and places.":"Виключити контент, відмічений як приватний, з результатів пошуку, спільних альбомів, міток та місць.","Exclude hidden":"Виключаючи приховані","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"Вилучення метаданих за допомогою ExifTool необхідне для повної підтримки відео, живих фото та XMP.","Experimental Features":"Експериментальні можливості","Expires":"Закінчується","Exposure":"Експозиція","Extract still images and generate thumbnails while indexing.":"Витягуйте нерухомі зображення та створюйте мініатюри під час індексування.","F Number":"Діафрагма","Face":"Обличчя","Faces":"Обличчя","Failed removing link":"Не вдалось видалити посилання","Failed to connect account.":"Не вдалося підключити обліковий запис.","Failed updating link":"Не вдалось оновити посилання","Family Name":"Прізвище","Fast":"Швидко","Favorite":"Вибрані","Favorites":"Вибране","Feature Request":"Запит можливостей","Feedback":"Відгук","Female":"Жінка","File":"Файл","File Browser":"Оглядач файлів","File Conversion":"Перетворення файлів","File Name":"Ім'я файлу","File Size":"Розмір файлу","Filename":"Ім'я файла","Files":"Файли","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Файли з послідовними іменами як 'IMG_1234 (2)' і 'IMG_1234 (3)' вважати тим самим зображенням.","First page":"Перша сторінка","Focal Length":"Фокусна відстань","Folder":"Папка","Folder contains %{n} files":"Папка містить %{n} файлів","Folder is empty":"Папка порожня","Folders":"Папки","Forgot password?":"Забули пароль?","FPS":"к/с","Frames":"Кадрів","Full Access":"Повний доступ","Fullscreen":"Повний екран","General":"Загальний","Generate":"Генерувати","Generate albums of special moments, journeys, and places.":"Автоматично створювати альбоми визначних моментів, подорожей та місць.","Generate Previews":"Створювати попередній перегляд","Generated":"Згенеровано","Get Started":"Початок роботи","Given Name":"Прізвище, ім'я та по батькові","Global Options":"Глобальні опції","Go to page {0}":"Перейти на сторінку {0}","Gold":"Золотий","Green":"Зелений","Grey":"Сірий","Guest":"Гість","Hash":"Хеш","Help":"Допомога","Help & Support":"Допомога і Підтримка","Hidden":"Приховані","Hidden Files":"Приховані файли","Hide":"Приховати","Hide photos that have been moved to archive.":"Приховати фотографії, які були переміщені в архів.","High":"Високий","High Dynamic Range (HDR)":"Високий Динамічний Діапазон(HDR)","How can we help?":"Як ми можемо допомогти?","Hybrid":"Гібридний","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Якщо ви втратите доступ до програми або пристрою автентифікатора, ви можете скористатися кодом відновлення, щоб відновити доступ до свого облікового запису.","Image":"Зображення","Image Quality":"Якість зображення","Import":"Імпортувати","Import failed":"Імпортування невдале","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Імпортовані файли будуть відсортовані по даті та отримають унікальні імена для уникнення дублікатів.","Imported files will be sorted by date and given a unique name.":"Імпортовані файли будуть відсортовані по даті та отримають унікальні імена.","Importing %{s}…":"Імпортуємо %{s}…","Importing files to originals…":"Імпортуємо файли в теку оригіналів…","in":"в","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"У випадку якщо очікувані зображення відсутні, будь-ласка перескануйте вашу бібліотеку та зачекайте поки індексування закінчиться.","Include RAW image files when downloading stacks and archives.":"Завантажуючи стеки та архіви, додавайте файли зображень у форматі RAW.","Include sidecar files when downloading stacks and archives.":"Завантажуючи стеки та архіви, додавайте до них файли-супровідники.","Increase storage size or delete files to continue.":"Збільште розмір сховища або видаліть файли, щоб продовжити.","Index":"Індекс","Index and import files through the user interface.":"Індексуйте та імпортуйте файли через користувацький інтерфейс.","Indexing":"Індексування","Indexing failed":"Індексування не вдалось","Indexing media and sidecar files…":"Індексування мультимедійних і файлів додаткової інформації…","Information":"Інформація","Instance ID":"Ідентифікатор екземпляра","Insufficient storage.":"Недостатнє зберігання.","Interval":"Інтервал","Invalid":"Недійсний","Invalid address":"Неправильна адреса","Invalid country":"Невірна країна","Invalid date":"Невірна дата","Invalid parameters":"Неправильні параметри","Invalid photo selected":"Вибрано невірне фото","Invalid time":"Неправильний час","Invalid URL":"Неправильна URL-адреса","It is a one-time use code that will disable 2FA for your account when you use it.":"Це одноразовий код, який вимикає 2FA для вашого облікового запису, коли ви його використовуєте.","Item":"Елемент","Items per page:":"Елементи на сторінку:","JPEG Quality: %{n}":"Якість JPEG: %{n}","JPEG Size Limit: %{n}px":"Обмеження розміру JPEG: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"JPEG та мініатюри автоматично відтворюються за потреби.","Keywords":"Ключові слова","Label":"Мітка","Labels":"Мітки","Labels deleted":"Мітки видалено","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: збереження деталей, мінімум артефактів","Language":"Мова","Last Active":"Останній активний","Last Login":"Останній вхід","Last page":"Остання сторінка","Last Sync":"Остання синхронізація","Last Used":"Останнє використання","Latitude":"Широта","LDAP/AD":"LDAP/AD","Learn more":"Дізнатися більше","Learn More":"Дізнатися більше","Legal Information":"Юридична інформація","Lens":"Об'єктив","Library":"Бібліотека","License":"Ліцензія","Like":"Вподобання","Lime":"Лаймовий","Limit reached, showing first %{n} files":"Ліміт досягнуто, показано перші %{n} файлів","Linear: Very Smooth, Best Performance":"Лінійний: дуже плавний, найкраща продуктивність","Link":"Посилання","List":"Список","List View":"Перегляд списку","Live":"Live фото","Live Photos":"Живі фото","Load more":"Завантажити більше","Loading items...":"Завантажуємо товари...","Loading...":"Завантаження...","Local":"Місцевий","Local Time":"Місцевий час","Location":"Місцезнаходження","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Повідомлення журналу з’являються тут щоразу, коли PhotoPrism натрапляє на пошкоджені файли або виникають інші потенційні проблеми.","Login":"Увійти в систему","Logout":"Вийти з системи","Logs":"Журнали","Longitude":"Довгота","Low":"Низький","Magenta":"Маджента","Main Color":"Основний колір","Male":"Чоловік","Manage Account":"Керувати обліковим записом","Manager":"Менеджер","Manual":"Посібник","Manual Upload":"Вивантаження вручну","Maps":"Карти","Marker":"Маркер","Maximum number of accounts has been reached.":"Досягнуто максимальної кількості акаунтів.","Media":"Медіа","Medium":"Середній","Membership":"Членство","Merge %{a} with %{b}?":"Об'єднати %{a} із %{b}?","Message":"Повідомлення","Message sent":"Повідомлення надіслано","Metadata":"Метадані","Metrics":"Метрики","Minimize":"Мінімізувати","Missing":"Відсутнє","Missing or invalid configuration":"Відсутня або невірна конфігурація","Moments":"Моменти","Monochrome":"Монохромні","Month":"Місяць","More options":"Більше можливостей","Mosaic":"Мозаїка","Most Relevant":"Найбільш актуальні","Move Files":"Перемістити файли","Must have at least %{n} characters.":"Повинно містити не менше %{n} символів.","Mute":"Вимкнути звук.","Name":"Ім'я","Name too long":"Задовге ім'я","Never":"Ніколи","New":"Нові","New Password":"Новий пароль","Newest First":"Спочатку найновіші","Next":"Далі","Next page":"Наступна сторінка","Next visual":"Наступна візуалізація","No":"Немає","No albums found":"Альбоми не знайдено","No data available":"Дані відсутні","No labels found":"Мітки не знайдено","No matching records found":"Відповідних записів не знайдено","No more":"Досить","No people found":"Людей не знайдено","No pictures found":"Зображення не знайдено","No recently edited pictures":"Немає нещодавно відредагованих зображень","No results":"Немає результатів","No server connection":"Немає з'єднання з сервером","No servers configured.":"Сервери не налаштовано.","No services configured.":"Служби не налаштовані.","No thanks":"Ні, дякую","No warnings or error containing this keyword. Note that search is case-sensitive.":"Немає попереджень або помилок із цим ключовим словом. Зауважте, що пошук чутливий до регістру.","Non-photographic and low-quality images require a review before they appear in search results.":"Нефотографічні та низькоякісні зображення потребують перевірки, перш ніж з’являться в результатах пошуку.","None":"Жодного","Not allowed":"Не можна","Not found":"Не знайдено","Not sorted.":"Не відсортовано.","Not supported":"Не підтримується","Note you may manually manage your originals folder and importing is optional.":"Зауважте, що ви можете вручну керувати папкою оригіналів, та імпортувати необов’язково.","Note:":"Примітка:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Примітка: лише сервери WebDAV, такі як Nextcloud або PhotoPrism, можна налаштувати як віддалену службу для резервного копіювання та вивантаження файлів.","Notes":"Примітки","Nothing to see here yet.":"Поки що тут немає на що дивитися.","Nothing was found.":"Нічого не знайшли.","Offline":"Поза мережею","OIDC":"OIDC","OK":"ГАРАЗД.","Oldest First":"Спочатку найстарші","On Windows, enter the following resource in the connection dialog:":"У Windows, введіть наступний ресурс у діалоговому вікні підключення:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"Генерація мініатюр на вимогу може спричинити високе навантаження на процесор і пам'ять. Не рекомендується для серверів з обмеженими ресурсами та NAS-пристроїв.","Once a week":"Раз на тиждень","One album found":"Один альбом знайдено","One file found":"Один файл знайдено","One file uploaded":"Один файл вивантажено","One folder found":"Одну папку знайдено","One label found":"Одну мітку знайдено","One person found":"Одну людину знайдено","One picture found":"Одне зображення знайдено","Only locally managed accounts can be set up for authentication with 2FA.":"Лише локально керовані облікові записи можна налаштувати для автентифікації за допомогою 2FA.","Open":"Відкрито","optional":"необов'язковий","or":"або","Orange":"Оранжевий","Organization":"Організація","Orientation":"Орієнтація","Original file names will be stored and indexed.":"Оригінальні назви файлів будуть збережені та проіндексовані.","Original Name":"Оригінальна назва","Originals":"Оригінали","Other":"Інше","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Наша місія полягає в тому, щоб надати найбільш зручне для користувача та конфіденційності рішення, щоб ваші зображення були впорядкованими та доступними.","Outdoor":"На відкритому повітрі","Page {0}, Current page":"Сторінка {0}, Поточна сторінка","Pages":"Сторінки","Pagination Navigation":"Навігація по сторінках","Panorama":"Панорама","Panoramas":"Панорами","Password":"Пароль","Password changed":"Пароль змінено","People":"Люди","People you share a link with will be able to view public contents.":"Люди, з котрими ви поділилися посиланням, зможуть переглядати загальнодоступний вміст.","Permanently deleted":"Остаточно видалено","Permanently remove files to free up storage.":"Видалити файли назавжди, щоб звільнити пам’ять.","Person":"Людина","Personal":"Особисте","Photo":"Фото","PhotoPrism is 100% self-funded and independent.":"PhotoPrism на 100% самофінансується та є незалежною організацією.","PhotoPrism+ Membership":"Членство в PhotoPrism+","Photos":"Фотографії","Picture Title":"Назва зображення","Pink":"Рожевий","Place":"Місце","Place & Time":"Місце і час","Places":"Місця","Please confirm your new password.":"Будь-ласка підтвердіть ваш новий пароль.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Будь ласка, скопіюйте цей випадково згенерований пароль програми та зберігайте його в надійному місці, оскільки ви більше не зможете його побачити:","Please do not upload any private, unlawful or offensive pictures.":"Будь ласка, не завантажуйте жодних приватних, незаконних або образливих зображень.","Please don't upload photos containing offensive content.":"Будь ласка, не завантажуйте фотографії образливого змісту.","Please enter OTP character {0}":"Будь ласка, введіть символ OTP {0}","Please note that changing your password will log you out on other devices and browsers.":"Зверніть увагу, що зміна пароля призведе до виходу з системи на інших пристроях та браузерах.","Please restart your instance for the changes to take effect.":"Будь ласка, перезапустіть ваш екземпляр, щоб зміни набули чинності.","Please wait…":"Будь ласка, зачекайте…","PM":"ПРЕМ'ЄР-МІНІСТР","PNG Size Limit: %{n}px":"Обмеження розміру PNG: %{n}px","Portrait":"Портрет","Preserve filenames":"Зберігати імена файлів","Press enter to create a new album.":"Натисність Enter щоб створити новий альбом.","Prevent database and album backups as well as YAML sidecar files from being created.":"Запобігайте створенню резервних копій баз даних і альбомів, а також додаткових файлів YAML.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Заборонити іншим програмам доступ до PhotoPrism як до спільного мережевого диска.","Preview":"Попередній перегляд","Preview Images":"Попередній перегляд зображень","Previous":"Попередні","Previous page":"Попередня сторінка","Previous visual":"Попереднє зображення","Primary":"Первинний","Private":"Приватний","Product Feedback":"Відгуки про продукт","Projection":"Проекція","Purple":"Пурпурний","Quality Filter":"Фільтр якості","Quality Score":"Показник якості","r":"r","Random":"Випадковий","Rating {0} of {1}":"Рейтинг {0} з {1}","Raw":"Raw файли","RAW":"RAW файли","Re-index all originals, including already indexed and unchanged files.":"Переіндексуйте усі оригінали, включаючи вже проіндексовані та незмінені файли.","Read-Only Mode":"Режим «тільки для читання»","Recently Added":"Нещодавно додані","Recently Archived":"Нещодавно заархівовані","Recently Edited":"Нещодавно відредаговані","Recognition starts after indexing has been completed.":"Розпізнавання почнеться після завершення індексації.","Recognize faces so people can be assigned and found.":"Розпізнавання облич для пошуку конкретних людей.","Recognized":"Розпізнані","Recovery Code":"Код відновлення","Red":"Червоний","Refresh":"Оновити","Regions":"Регіони","Register":"Зареєструватися","Reload":"Перезавантажити","Reloading…":"Перезавантаження…","Remote Sync":"Віддалена синхронізація","Remove":"Видалити","remove failed: unknown album":"не вдалося видалити: невідомий альбом","Remove from Album":"Видалити з альбому","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Вилучіть імпортовані файли, щоб заощадити пам’ять. Непідтримувані типи файлів ніколи не будуть видалені, вони залишаться в поточному місці.","Request failed - are you offline?":"Запит не виконано - ви не в мережі?","Request failed - invalid response":"Запит не виконано – недійсна відповідь","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Вимагайте, щоб нефотографічні та неякісні зображення проходили перевірку перед тим, як вони з'являться в результатах пошуку.","Resolution":"Роздільна здатність","Restart":"Перезавантажити","Restore":"Відновити","Restored":"Відновлено","Retry Limit":"Ліміт повторних спроб","Retype Password":"Введіть пароль повторно","Review":"Потребують перевірки","Role":"Роль","Rows per page:":"Рядки на сторінці:","Satellite":"Супутник","Save":"Зберегти","Scan":"Сканувати","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Відскануйте QR-код за допомогою програми автентифікації або скористайтеся ключем налаштування, показаним нижче, а потім введіть згенерований код підтвердження:","Scans":"Відскановані","Scope":"Сфера застосування","Search":"Пошук","Search and display photos on a map.":"Пошук і відображення фотографій на карті.","Season":"Сезон","Secret":"Таємний","Security and Access":"Безпека та доступ","Select":"Вибрати","Select a source folder to import files…":"Виберіть вихідну папку для імпорту файлів…","Select date":"Виберіть дату","Select dates":"Виберіть дати","Select or create an album":"Виберіть або створіть альбом","Select the files to upload…":"Виберіть файли для завантаження…","Select the folder to be indexed…":"Виберіть папку для індексації…","Select Time":"Виберіть час","Selection approved":"Вибір затверджено","Selection archived":"Вибране заархівовано","Selection restored":"Вибране відновлено","Sequential Name":"Послідовне ім'я","Service URL":"URL служби","Services":"Послуги","Session":"Сесія","Session ID":"Ідентифікатор сеансу","Sessions":"Сесії","Set as Album Cover":"Встановити як обкладинку альбому","Settings":"Налаштування","Settings saved":"Налаштування збережено","Setup":"Налаштувати","Share":"Поділитися","Share %{s}":"Поділитися %{s}","Share your pictures with other apps and services.":"Діліться своїми фотографіями з іншими програмами та сервісами.","Show":"Показати","Show all new faces":"Показати всі нові обличчя","Show Captions":"Показати субтитри","Show hidden":"Показати приховані","Show less":"Показати менше","Show more":"Показати більше","Show server logs in Library.":"Показати журнали сервера в бібліотеці.","Show Titles":"Показати заголовки","Sidecar":"Додатковий вміст","Sidecar Files":"Файли для колясок","Sign in":"Увійти","Similar":"Схожі","Size":"Розмір","Slideshow":"Слайд-шоу","Slow":"Повільний","Software":"Програмне забезпечення","Software Update":"Оновлення програмного забезпечення","Something went wrong, try again":"Щось пішло не так, спробуйте ще раз","Sort by":"Сортувати за","Sort Order":"Порядок сортування","Sorted ascending.":"Відсортовано за зростанням.","Sorted descending.":"Відсортовано за спаданням.","Source":"Джерело","Stack":"Серії","Stack files sharing the same unique image or instance identifier.":"Згрупувати файли, що мають однакове унікальне зображення або ідентифікатор екземпляра.","Stack pictures taken at the exact same time and location based on their metadata.":"Згрупувати зображення, зроблені в той самий час і в одному місці, на основі їхніх метаданих.","Stackable":"Згруповуємі","Stacks":"Групи","Start":"Почати","Start Page":"Початкова сторінка","Static Size Limit: %{n}px":"Обмеження статичного розміру: %{n}px","Status":"Статус","Storage":"Сховище","Streets":"Вулиці","Subject":"Тема","Submit":"Надіслати","Successfully activated":"Активація успішна","Successfully Connected":"Успішно підключено","Successfully deleted":"Успішно видалено","Successfully verified":"Верифікація успішна","Super Admin":"Супер адміністратор","Support for additional services, like Google Drive, will be added over time.":"Підтримка додаткових служб, як Google Drive, буде додана з часом.","Support Our Mission":"Підтримайте нашу місію","Sync":"Синхронізація","Sync raw and video files":"Синхронізація файлів у форматі raw і відео","Taken":"Занято","Teal":"Бірюзовий","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow необхідний для класифікації зображень, розпізнавання облич та виявлення небезпечного контенту.","Terrain":"Місцевість","Text":"Текст","Text too long":"Текст занадто довгий","Thank You for Your Support!":"Дякуємо за Вашу підтримку!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Саме тому PhotoPrism був створений з нуля, щоб працювати там, де вам потрібно, без шкоди для свободи, конфіденційності та функціональності.","The index currently contains %{n} hidden files.":"Індекс наразі містить %{n} прихованих файлів.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Можливо, їх формат не підтримується, вони ще не перетворені на JPEG або є дублікати.","Theme":"Тема","This field is required":"Це поле обов'язкове для заповнення","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Це монтує папку оригіналів як мережевий диск і дозволяє відкривати, редагувати та видаляти файли з вашого комп’ютера чи смартфона, наче вони локальні.","Time UTC":"Час за UTC","Time Zone":"Часовий пояс","Timeout":"Час вийшов","Title":{"Account":"Заголовок","Photo":"Заголовок","":"Заголовок"},"Title / Position":"Звання / посада","Title too long":"Заголовок занадто довгий","to":"до","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Щоб уникнути блокування доступу до облікового запису, завантажте, роздрукуйте або скопіюйте цей код відновлення зараз і зберігайте його в безпечному місці.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Щоб згенерувати новий пароль програми, введіть ім’я та область авторизації програми та виберіть термін дії:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Щоб перейти на нову програму або пристрій для автентифікації, спочатку вимкніть двофакторну автентифікацію, а потім знову активуйте її:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Щоб оновити версію, ви можете ввести код активації або натиснути кнопку \"Зареєструватися\", щоб зареєструватися на нашому сайті:","Today":"Сьогодні","Toggle View":"Перемкнути перегляд","Token":"Токен","Too many files selected":"Вибрано занадто багато файлів","Too many requests":"Занадто багато запитів","Troubleshooting":"Усунення несправностей","Try again using other filters or keywords.":"Спробуйте ще раз, використовуючи інші фільтри або ключові слова.","Two-factor authentication has been enabled for your account.":"Для вашого облікового запису ввімкнено двофакторну автентифікацію.","Type":"Тип","Unable to delete":"Неможливо видалити","Unauthorized":"Несанкціонований","Undo":"Відмінити","Unique ID":"Унікальний ідентифікатор","Unknown":"Невідомий","Unregistered":"Незареєстрований","Unsorted":"Невідсортовані","Unstack":"Розгрупувати","Updated":"Оновлено","Updating faces":"Оновлення облич","Updating index":"Оновлення індексу","Updating moments":"Оновлення моментів","Updating picture…":"Оновлення зображення…","Updating previews":"Оновлення попереднього перегляду","Updating stacks":"Оновлення стеків","Upgrade":"Оновлення","Upgrade Now":"Оновити зараз","Upload":"Вивантажити","Upload complete":"Вивантаження завершено","Upload complete. Indexing…":"Вивантаження завершено. Індексація…","Upload failed":"Помилка вивантаження","Upload local files":"Вивантажити локальні файли","Upload Path":"Шлях завантаження","Upload to WebDAV and share links with friends.":"Вивантажити в WebDAV і поділитися посиланнями з друзями.","Uploading %{n} of %{t}…":"Вивантаження %{n} з %{t}…","Uploading photos…":"Вивантаження фотографій…","Uploading…":"Вивантаження…","Uploads that may contain such images will be rejected automatically.":"Вивантаження, які можуть містити такі зображення, автоматично відхилятимуться.","Use Presets":"Використовуйте попередні налаштування","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Використовуйте такий код відновлення, щоб отримати доступ до свого облікового запису, якщо ви не можете створити дійсний код підтвердження за допомогою програми автентифікації:","Use your recovery code or contact an administrator for help.":"Скористайтеся кодом відновлення або зверніться по допомогу до адміністратора.","User":"Користувач","User Guide":"Посібник користувача","User Interface":"Інтерфейс користувача","Username":"Ім'я користувача","Users":"Користувачі","Vector":"Вектор","Vectors":"Вектори","Verification Code":"Код підтвердження","Video":"Відео","Video Duration":"Тривалість відео","Videos":"Відео","View":"Вид","View search results as a list.":"Переглянути результати пошуку у вигляді списку.","Viewer":"Глядач","Visitor":"Відвідувач","Visual Similarity":"Візуальна схожість","Warning":"Попередження","We appreciate your feedback!":"Ми вдячні Вам за зворотній зв'язок!","We do our best to respond within five business days or less.":"Ми намагаємося відповідати протягом п'яти робочих днів або менше.","Web Login":"Веб-логін","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"Клієнти WebDAV можуть підключатися до PhotoPrism за такою URL-адресою:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"Клієнти WebDAV, такі як Windows Explorer від Microsoft або Finder від Apple, можуть підключатися безпосередньо до PhotoPrism.","WebDAV Upload":"Вивантаження WebDAV","WebGL support is disabled in your browser":"У вашому браузері вимкнено підтримку WebGL","Website":"Веб-сайт","White":"Білий","Work Details":"Деталі роботи","Year":"Рік","Yellow":"Жовтий","Yes":"Так","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Ви можете зв'язатися з нами за адресою membership@photoprism.app з питань, що стосуються вашого членства.","You can only download one album":"Ви можете завантажити лише один альбом","You can only download one label":"Ви можете завантажити лише одну мітку","You can search for a location or move the marker on the map to change the position:":"Ви можете шукати місце розташування або переміщати маркер на карті, щоб змінити позицію:","You can upload up to %{n} files for test purposes.":"Ви можете завантажити до %{n} файлів для тестування.","You may only select one item":"Ви можете вибрати лише один об'єкт","You may rescan your library to find additional faces.":"Ви можете пересканувати вашу бібліотеку щоб знайти додаткові обличчя.","Your account has been successfully connected.":"Ваш обліковий запис успішно підключено.","Your browser does not support WebGL":"Ваш браузер не підтримує WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Ваша постійна підтримка допомагає нам надавати регулярні оновлення та залишатися незалежними, щоб ми могли виконувати нашу місію та захищати вашу конфіденційність.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Ваша бібліотека постійно аналізується, щоб автоматично створювати альбоми особливих моментів, подорожей і місць.","Zoom in/out":"Збільшити/зменшити"}} \ No newline at end of file diff --git a/frontend/src/locales/json/vi.json b/frontend/src/locales/json/vi.json index e05355eab..722c355ca 100644 --- a/frontend/src/locales/json/vi.json +++ b/frontend/src/locales/json/vi.json @@ -1 +1 @@ -{"vi":{"{0} appended action":"{0} hành động được thêm vào","{0} files":"{0} tập tin","{0} files ({1} in total)":"{0} tệp ({1} tổng cộng)","{0} more":"{0} thêm","{0} prepended action":"{0} hành động được thêm vào trước","{0} selected":"{0} đã chọn","{0}-{1} of {2}":"{0}-{1} của {2}","%{n} albums found":"Đã tìm thấy %{n} album","%{n} files uploaded":"%{n} tệp đã được tải lên","%{n} folders found":"Đã tìm thấy %{n} thư mục","%{n} GB of %{q} GB used":"%{n} GB trong số %{q} GB đã sử dụng","%{n} labels found":"Đã tìm thấy %{n} nhãn","%{n} people found":"Đã tìm thấy %{n} người","%{n} pictures found":"Đã tìm thấy %{n} ảnh","%{s} is too long":"%{s} quá dài","%{s} is too short":"%{s} quá ngắn","1 hour":"1 giờ","12 hours":"12 giờ","2-Factor Authentication":"Xác thực 2 yếu tố","2FA":"2FA","4 hours":"4 tiếng","A click will copy it to your clipboard.":"Một cú nhấp chuột sẽ sao chép nó vào clipboard của bạn.","A new version of %{s} is available:":"Phiên bản mới của %{s} đã có sẵn:","About":"Về","Access Token":"Truy cập thẻ","Account":"Tài khoản","Account created":"Tài khoản đã được tạo","Account deleted":"Tài khoản đã bị xóa","Account restored":"Tài khoản đã được khôi phục","Accounts":"Tài khoản","Accuracy":"Sự chính xác","Action":"Hoạt động","Actions":"hành động","Activate":"Kích hoạt","Activate to remove sorting.":"Kích hoạt để xóa sắp xếp.","Activate to sort ascending.":"Kích hoạt để sắp xếp theo thứ tự tăng dần.","Activate to sort descending.":"Kích hoạt để sắp xếp theo thứ tự giảm dần.","Activation Code":"Mã kích hoạt","Add":"Thêm vào","Add %{s}?":"Thêm %{s}?","Add Account":"Thêm tài khoản","Add Album":"Thêm Anbom","Add files to your library via Web Upload.":"Thêm tệp vào thư viện của bạn thông qua Tải lên web.","Add Link":"Thêm liên kết","Add person?":"Thêm người?","Add pictures from search results by selecting them.":"Thêm hình ảnh từ kết quả tìm kiếm bằng cách chọn chúng.","Add to album":"Thêm vào album","Added":"Thêm","Admin":"Quản trị viên","Advanced":"Trình độ cao","After 1 day":"Sau 1 ngày","After 3 days":"Sau 3 ngày","After 7 days":"Sau 7 ngày","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Sau khi nhập mật khẩu để xác nhận, bạn có thể thiết lập xác thực hai yếu tố bằng ứng dụng hoặc thiết bị xác thực tương thích:","After one month":"Sau một tháng","After one year":"Sau một năm","After selecting pictures from search results, you can add them to an album using the context menu.":"Sau khi chọn ảnh từ kết quả tìm kiếm, bạn có thể thêm chúng vào album bằng menu ngữ cảnh.","After two months":"Sau hai tháng","After two weeks":"Sau hai tuần","Album":"Album","Album Backups":"Sao lưu album","Album created":"Đã tạo album","Albums":"Tập ảnh","Albums deleted":"Album đã bị xóa","All":"Tất cả","All %{n} albums loaded":"Đã tải tất cả %{n} album","All %{n} labels loaded":"Đã tải tất cả nhãn %{n}","All %{n} people loaded":"Tất cả %{n} người đã tải","All Cameras":"Tất cả máy ảnh","All Categories":"Tất cả danh mục","All Colors":"Đủ màu sắc","All Countries":"Tất cả các nước","All fields are required":"Tất cả các trường là bắt buộc","All files from import folder":"Tất cả các tệp từ thư mục nhập","All Lenses":"Tất cả các ống kính","All Months":"Tất cả các tháng","All originals":"Tất cả bản gốc","All Years":"Mọi năm","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Ngoài ra, bạn có thể tải tệp trực tiếp lên máy chủ WebDAV như Nextcloud.","Altitude":"Độ cao","Altitude (m)":"Độ cao (m)","AM":"LÀ","Animated":"hoạt hình","Animation":"Hoạt hình","Any private photos and videos remain private and won't be shared.":"Mọi ảnh và video riêng tư vẫn ở chế độ riêng tư và sẽ không được chia sẻ.","API Key":"Mã API","Application":"Ứng dụng","Apply":"Áp dụng","Approve":"Chấp thuận","Apps and Devices":"Ứng dụng và thiết bị","Archive":"Lưu trữ","Archived":"Đã lưu trữ","Are you sure you want to archive the selection?":"Bạn có chắc chắn muốn lưu trữ lựa chọn không?","Are you sure you want to delete these albums?":"Bạn có chắc chắn muốn xóa những anbom này không?","Are you sure you want to delete these labels?":"Bạn có chắc chắn muốn xóa các nhãn này không?","Are you sure you want to delete this account?":"Bạn có chắc chắn muốn xóa tài khoản này?","Are you sure you want to permanently delete these pictures?":"Bạn có chắc chắn muốn xóa vĩnh viễn những hình ảnh này không?","Are you sure you want to permanently delete this file?":"Bạn có chắc chắn muốn xóa vĩnh viễn tệp này không?","Are you sure?":"Bạn có chắc không?","Artist":"Nghệ sĩ","Aspect Ratio":"Tỷ lệ khung hình","Audio":"Âm thanh","Authentication":"Xác thực","Auto":"Tự động","Back":"Mặt sau","Back to top":"Quay lại đầu trang","Backup":"Hỗ trợ","Badge":"Huy hiệu","Base Path":"Đường dẫn cơ sở","Become a member today, support our mission and enjoy our member benefits!":"Hãy trở thành thành viên ngay hôm nay, ủng hộ sứ mệnh của chúng tôi và tận hưởng các lợi ích dành cho thành viên của chúng tôi!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Với hoạt động tự tài trợ và độc lập 100%, chúng tôi có thể hứa với bạn rằng chúng tôi sẽ không bao giờ bán dữ liệu của bạn và chúng tôi sẽ luôn minh bạch về phần mềm và dịch vụ của mình.","Bio":"Tiểu sử","Birth Date":"Ngày sinh","Black":"Đen","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Sửa đổi Lanczos, Hiện vật ít rung chuông hơn","Blue":"Màu xanh da trời","Brown":"Màu nâu","Browse":"Duyệt qua","Browse and edit image classification labels.":"Duyệt và chỉnh sửa nhãn phân loại hình ảnh.","Browse and share your pictures organized into monthly albums.":"Duyệt và chia sẻ hình ảnh được sắp xếp theo album hàng tháng.","Browse Files":"Duyệt tập tin","Browse indexed files and folders in Library.":"Duyệt các tệp và thư mục được lập chỉ mục trong Thư viện.","Bug Report":"Báo cáo lỗi","Busy, please wait…":"Đang bận, vui lòng đợi…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Bằng cách sử dụng phần mềm và dịch vụ chúng tôi cung cấp, bạn đồng ý với các điều khoản dịch vụ, chính sách quyền riêng tư và quy tắc ứng xử của chúng tôi.","Calendar":"Lịch","Camera":"Máy ảnh","Camera Serial":"Máy ảnh nối tiếp","Can't access your authenticator app or device?":"Không thể truy cập ứng dụng hoặc thiết bị xác thực của bạn?","Can't load more, limit reached":"Không thể tải thêm, đã đạt đến giới hạn","Can't select more items":"Không thể chọn thêm mục","Cancel":"Hủy bỏ","Caption":"Đầu đề","Cards":"thẻ","Carousel slide {0} of {1}":"Trượt băng chuyền {0} của {1}","Category":"Loại","Change Avatar":"Thay đổi hình đại diện","Change Password":"Đổi mật khẩu","Change personal profile and security settings.":"Thay đổi hồ sơ cá nhân và cài đặt bảo mật.","Change photo titles, locations, and other metadata.":"Thay đổi tiêu đề ảnh, vị trí và siêu dữ liệu khác.","Change private flag":"Thay đổi cờ riêng tư","Changes could not be saved":"Không thể lưu các thay đổi","Changes successfully saved":"Đã lưu thay đổi thành công","Changes to the advanced settings require a restart to take effect.":"Những thay đổi đối với cài đặt nâng cao yêu cầu khởi động lại để có hiệu lực.","Checked":"Đã kiểm tra","Chroma":"sắc độ","Cleaning index and cache":"Làm sạch chỉ mục và bộ đệm","Cleanup":"Dọn dẹp","Clear {0}":"Xóa {0}","Client":"Khách hàng","Client Credentials":"Thông tin xác thực của khách hàng","Close":"Đóng","Codec":"Bộ giải mã","Color":"Màu sắc","Color Profile":"Hồ sơ màu","Colors":"Màu sắc","Compare Editions":"So sánh các phiên bản","Complete Rescan":"Quét lại hoàn tất","Confidence":"Sự tự tin","Confirm":"Xác nhận","Connect":"Kết nối","Connect via WebDAV":"Kết nối qua WebDAV","Connected":"Đã kết nối","Contact Details":"Chi tiết liên hệ","Contact Us":"Liên hệ chúng tôi","Contains %{n} pictures.":"Chứa %{n} hình ảnh.","Contains one picture.":"Chứa một hình ảnh.","Content":"Nội dung","Continue":"Tiếp tục","Continue with %{provider}":"Tiếp tục với %{provider}","Contributor":"Người đóng góp","Converting":"Chuyển đổi","Copied to clipboard":"Sao chép vào clipboard","Copy":"Sao chép","Copyright":"Bản quyền","Couldn't find anything.":"Không thể tìm thấy bất cứ điều gì.","Country":"Quốc gia","Create Account":"Tạo tài khoản","Create album":"Tạo album","Create regular backups based on the configured schedule.":"Tạo bản sao lưu chỉ mục dựa trên lịch trình đã định cấu hình.","Create YAML files to back up album metadata.":"Tạo tệp YAML để sao lưu siêu dữ liệu album.","Create YAML sidecar files to back up picture metadata.":"Tạo các tệp sidecar YAML để sao lưu siêu dữ liệu hình ảnh.","Created":"Tạo","Creating thumbnails for":"Tạo hình thu nhỏ cho","Cubic: Moderate Quality, Good Performance":"Khối: Chất lượng vừa phải, Hiệu suất tốt","Current Password":"Mật khẩu hiện tại","Custom":"Phong tục","Cyan":"lục lam","Daily":"Hằng ngày","Database Backups":"Sao lưu cơ sở dữ liệu","Day":"Ngày","Deactivate":"Vô hiệu hóa","Debug Logs":"Nhật ký gỡ lỗi","Default":"Mặc định","Default Folder":"Thư mục mặc định","Delete":"Xóa bỏ","Delete All":"Xóa hết","Delete all?":"Xóa tất cả?","Delete orphaned index entries, sidecar files and thumbnails.":"Xóa các mục chỉ mục mồ côi, tệp sidecar và hình thu nhỏ.","Description":"Sự miêu tả","Detailed instructions can be found in our User Guide.":"Hướng dẫn chi tiết có thể được tìm thấy trong Hướng dẫn sử dụng của chúng tôi.","Details":"Chi tiết","Dimensions":"Kích thước","Disable Backups":"Tắt sao lưu","Disable Darktable":"Tắt bảng tối","Disable ExifTool":"Tắt ExifTool","Disable features that require write permission for the originals folder.":"Tắt các tính năng yêu cầu quyền ghi đối với thư mục gốc.","Disable FFmpeg":"Tắt FFmpeg","Disable ImageMagick":"Tắt ImageMagick","Disable interactive world maps and reverse geocoding.":"Vô hiệu hóa bản đồ thế giới tương tác và mã hóa địa lý đảo ngược.","Disable Places":"Vô hiệu hóa địa điểm","Disable RawTherapee":"Tắt RawTherapee","Disable TensorFlow":"Tắt TensorFlow","Disable Vectors":"Vô hiệu hóa vectơ","Disable WebDAV":"Tắt WebDAV","Disables vector graphics support.":"Tắt hỗ trợ đồ họa vector.","Disables video transcoding and thumbnail extraction.":"Tắt chuyển mã video và trích xuất hình thu nhỏ.","Discover":"Phát hiện","Dismiss":"Miễn nhiệm","Display Name":"Tên hiển thị","Display picture captions in search results.":"Hiển thị chú thích hình ảnh trong kết quả tìm kiếm.","Display picture titles in search results.":"Hiển thị tiêu đề hình ảnh trong kết quả tìm kiếm.","Document":"Tài liệu","Documents":"Tài liệu","Don't use Darktable to convert RAW images.":"Không sử dụng Darktable để chuyển đổi ảnh RAW.","Don't use ImageMagick to convert images.":"Không sử dụng ImageMagick để chuyển đổi hình ảnh.","Don't use RawTherapee to convert RAW images.":"Không sử dụng RawTherapee để chuyển đổi ảnh RAW.","Done":"Xong","Done.":"Xong.","Download":"Tải xuống","Download only original media files, without any automatically generated files.":"Chỉ tải xuống các tệp phương tiện gốc mà không có bất kỳ tệp nào được tạo tự động.","Download remote files":"Tải tập tin từ xa","Download single files and zip archives.":"Tải xuống các tập tin đơn lẻ và lưu trữ zip.","Downloading…":"Đang tải xuống…","Downscaling Filter":"Bộ lọc thu nhỏ","Drag and drop files here":"Kéo và thả tập tin vào đây","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"Do chúng tôi nhận được số lượng lớn email nên nhóm của chúng tôi có thể không liên hệ lại với bạn ngay lập tức.","Duplicates will be skipped and only appear once.":"Các bản sao sẽ bị bỏ qua và chỉ xuất hiện một lần.","Duration":"Khoảng thời gian","Dynamic Previews":"Xem trước động","Dynamic Size Limit: %{n}px":"Giới hạn kích thước động: %{n}px","E-Mail":"E-mail","Edit":"Biên tập","Edit %{s}":"Chỉnh sửa tên}","Edit Account":"Chỉnh sửa tài khoản","Edit Photo":"Chỉnh sửa hình ảnh","Edited":"Đã chỉnh sửa","Email":"E-mail","Enable debug mode to display additional logs and help with troubleshooting.":"Bật chế độ gỡ lỗi để hiển thị nhật ký bổ sung và trợ giúp khắc phục sự cố.","Enable new features that may be incomplete or unstable.":"Kích hoạt các tính năng mới có thể chưa đầy đủ hoặc không ổn định.","Enables RAW converter presets. May reduce performance.":"Cho phép cài đặt trước bộ chuyển đổi RAW. Có thể làm giảm hiệu suất.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Kích hoạt xác thực hai yếu tố có nghĩa là bạn sẽ cần mã xác minh được tạo ngẫu nhiên để đăng nhập, vì vậy ngay cả khi ai đó có quyền truy cập vào mật khẩu của bạn, họ sẽ không thể truy cập vào tài khoản của bạn.","Enter date":"Nhập ngày","Enter dates":"Nhập ngày","Enter the code generated by your authenticator app:":"Nhập mã được tạo bởi ứng dụng xác thực của bạn:","Enter verification code":"Nhập mã xác nhận","Enter your password to confirm the action and continue:":"Nhập mật khẩu của bạn để xác nhận hành động và tiếp tục:","Error":"Lỗi","Errors":"Lỗi","Estimate":"Ước lượng","Estimate Locations":"Ước tính vị trí","Estimate the approximate location of pictures without GPS coordinates.":"Ước tính vị trí gần đúng của hình ảnh mà không cần tọa độ GPS.","Every two days":"Mỗi hai ngày","Exclude content marked as private from search results, shared albums, labels, and places.":"Loại trừ nội dung được đánh dấu là riêng tư khỏi kết quả tìm kiếm, album chia sẻ, nhãn và địa điểm.","Exclude hidden":"Loại trừ ẩn","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"Cần phải trích xuất siêu dữ liệu bằng ExifTool để hỗ trợ đầy đủ Video, Live Photo và XMP.","Experimental Features":"Tính năng thử nghiệm","Expires":"Hết hạn","Exposure":"Phơi bày","Extract still images and generate thumbnails while indexing.":"Trích xuất hình ảnh tĩnh và tạo hình thu nhỏ trong khi lập chỉ mục.","F Number":"Số F","Face":"Khuôn mặt","Faces":"Khuôn mặt","Failed removing link":"Xóa liên kết không thành công","Failed to connect account.":"Không thể kết nối tài khoản.","Failed updating link":"Liên kết cập nhật không thành công","Family Name":"Tên gia đình","Fast":"Nhanh","Favorite":"Yêu thích","Favorites":"Yêu thích","Feature Request":"Yêu cầu tính năng","Feedback":"Nhận xét","Female":"Nữ giới","File":"Tài liệu","File Browser":"Trình duyệt tệp","File Conversion":"Chuyển đổi tập tin","File Name":"Tên tệp","File Size":"Kích thước tập tin","Filename":"Tên tệp","Files":"Các tập tin","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Các tệp có tên tuần tự như “IMG_1234 (2)” và “IMG_1234 (3)” thuộc cùng một hình ảnh.","First page":"Trang đầu tiên","Focal Length":"Tiêu cự","Folder":"Thư mục","Folder contains %{n} files":"Thư mục chứa tệp %{n}","Folder is empty":"Tệp này rỗng","Folders":"Thư mục","Forgot password?":"Quên mật khẩu?","FPS":"FPS","Frames":"Khung","Full Access":"Toàn quyền truy cập","Fullscreen":"Toàn màn hình","General":"Tổng quan","Generate":"Phát ra","Generate albums of special moments, journeys, and places.":"Tự động tạo album về những khoảnh khắc, chuyến đi và địa điểm đặc biệt.","Generate Previews":"Tạo bản xem trước","Generated":"Đã tạo ra","Get Started":"Bắt đầu","Given Name":"Tên","Global Options":"Tùy chọn toàn cầu","Go to page {0}":"Đi tới trang {0}","Gold":"Vàng","Green":"Màu xanh lá","Grey":"Xám","Guest":"Khách mời","Hash":"Băm","Help":"Giúp đỡ","Help & Support":"Trợ giúp & Hỗ trợ","Hidden":"Ẩn giấu","Hidden Files":"Các tệp ẩn","Hide":"Trốn","Hide photos that have been moved to archive.":"Ẩn ảnh đã được chuyển vào kho lưu trữ.","High":"Cao","High Dynamic Range (HDR)":"Dải động cao (HDR)","How can we help?":"Làm thế nào chúng ta có thể giúp đỡ?","Hybrid":"lai","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Nếu mất quyền truy cập vào ứng dụng hoặc thiết bị xác thực, bạn có thể sử dụng mã khôi phục để lấy lại quyền truy cập vào tài khoản của mình.","Image":"Hình ảnh","Image Quality":"Chất lượng hình ảnh","Import":"Nhập khẩu","Import failed":"Nhập không thành công","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Các tệp đã nhập sẽ được sắp xếp theo ngày và đặt một tên duy nhất để tránh trùng lặp.","Imported files will be sorted by date and given a unique name.":"Các tệp đã nhập sẽ được sắp xếp theo ngày và được đặt một tên duy nhất.","Importing %{s}…":"Đang nhập %{s}…","Importing files to originals…":"Đang nhập tệp vào bản gốc…","in":"TRONG","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"Trong trường hợp hình ảnh bạn mong đợi bị thiếu, vui lòng quét lại thư viện của bạn và đợi cho đến khi quá trình lập chỉ mục hoàn tất.","Include RAW image files when downloading stacks and archives.":"Bao gồm các tệp hình ảnh RAW khi tải xuống các ngăn xếp và kho lưu trữ.","Include sidecar files when downloading stacks and archives.":"Bao gồm các tệp sidecar khi tải xuống ngăn xếp và kho lưu trữ.","Increase storage size or delete files to continue.":"Tăng dung lượng lưu trữ hoặc xóa tệp để tiếp tục.","Index":"Mục lục","Index and import files through the user interface.":"Lập chỉ mục và nhập tệp thông qua giao diện người dùng.","Indexing":"Lập chỉ mục","Indexing failed":"Lập chỉ mục không thành công","Indexing media and sidecar files…":"Lập chỉ mục các tập tin media và sidecar…","Information":"Thông tin","Instance ID":"ID phiên bản","Insufficient storage.":"Không đủ dung lượng lưu trữ.","Interval":"Khoảng thời gian","Invalid":"Không hợp lệ","Invalid address":"Địa chỉ không hợp lệ","Invalid country":"Quốc gia không hợp lệ","Invalid date":"Ngày không hợp lệ","Invalid parameters":"thông số không hợp lệ","Invalid photo selected":"Đã chọn ảnh không hợp lệ","Invalid time":"Thời gian không hợp lệ","Invalid URL":"URL không hợp lệ","It is a one-time use code that will disable 2FA for your account when you use it.":"Đây là mã sử dụng một lần sẽ vô hiệu hóa 2FA cho tài khoản của bạn khi bạn sử dụng.","Item":"Mục","Items per page:":"Số mục trên mỗi trang:","JPEG Quality: %{n}":"Chất lượng JPEG: %{n}","JPEG Size Limit: %{n}px":"Giới hạn kích thước JPEG: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"JPEG và hình thu nhỏ được tự động hiển thị khi cần.","Keywords":"Từ khóa","Label":"Nhãn","Labels":"Nhãn","Labels deleted":"Đã xóa nhãn","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: Bảo quản chi tiết, hiện vật tối thiểu","Language":"Ngôn ngữ","Last Active":"Hoạt động lần cuối","Last Login":"Lân đăng nhập cuôi","Last page":"Trang cuối","Last Sync":"Đồng bộ hóa lần cuối","Last Used":"Được sử dụng lần cuối","Latitude":"Vĩ độ","LDAP/AD":"LDAP/QUẢNG CÁO","Learn more":"Tìm hiểu thêm","Learn More":"Tìm hiểu thêm","Legal Information":"Thông tin hợp pháp","Lens":"Ống kính","Library":"Thư viện","License":"Giấy phép","Like":"Giống","Lime":"Chanh xanh","Limit reached, showing first %{n} files":"Đã đạt đến giới hạn, hiển thị tệp %{n} đầu tiên","Linear: Very Smooth, Best Performance":"Tuyến tính: Rất mượt mà, hiệu suất tốt nhất","Link":"liên kết","List":"Danh sách","List View":"Xem danh sách","Live":"Sống","Live Photos":"Ảnh trực tiếp","Load more":"Tải thêm","Loading items...":"Đang tải mục...","Loading...":"Đang tải...","Local":"Địa phương","Local Time":"Giờ địa phương","Location":"Vị trí","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Thông báo nhật ký xuất hiện ở đây bất cứ khi nào PhotoPrism gặp phải các tệp bị hỏng hoặc có các sự cố tiềm ẩn khác.","Login":"Đăng nhập","Logout":"Đăng xuất","Logs":"Nhật ký","Longitude":"Kinh độ","Low":"Thấp","Magenta":"Màu đỏ tươi","Main Color":"Màu chính","Male":"Nam giới","Manage Account":"Quản lý tài khoản","Manual":"Thủ công","Manual Upload":"Tải lên thủ công","Maps":"Bản đồ","Marker":"Đánh dấu","Maximum number of accounts has been reached.":"Đã đạt đến số lượng tài khoản tối đa.","Media":"Phương tiện truyền thông","Medium":"Trung bình","Membership":"Tư cách thành viên","Merge %{a} with %{b}?":"Hợp nhất %{a} với %{b}?","Message":"Tin nhắn","Message sent":"Đã gửi tin nhắn","Metadata":"metadata","Metrics":"Số liệu","Minimize":"Giảm thiểu","Missing":"Mất tích","Missing or invalid configuration":"Cấu hình bị thiếu hoặc không hợp lệ","Moments":"Khoảnh khắc","Monochrome":"Đơn sắc","Month":"Tháng","More options":"Thêm tùy chọn","Mosaic":"Khảm","Most Relevant":"Liên quan nhất","Move Files":"Di chuyển tập tin","Must have at least %{n} characters.":"Phải có ít nhất %{n} ký tự.","Mute":"Tắt tiếng","Name":"Tên","Name too long":"Tên quá dài","Never":"Không bao giờ","New":"Mới","New Password":"mật khẩu mới","Newest First":"Mới nhất đầu tiên","Next":"Kế tiếp","Next page":"Trang tiếp theo","Next visual":"Hình ảnh tiếp theo","No":"KHÔNG","No albums found":"Không tìm thấy album nào","No data available":"Không có dữ liệu có sẵn","No labels found":"Không tìm thấy nhãn","No matching records found":"Không tìm thấy hồ sơ phù hợp","No more":"Không còn nữa","No people found":"Không tìm thấy người nào","No pictures found":"Không tìm thấy hình ảnh nào","No recently edited pictures":"Không có hình ảnh được chỉnh sửa gần đây","No server connection":"Không có kết nối máy chủ","No servers configured.":"Không có máy chủ nào được cấu hình.","No services configured.":"Không có dịch vụ nào được cấu hình.","No thanks":"Không, cám ơn","No warnings or error containing this keyword. Note that search is case-sensitive.":"Không có cảnh báo hoặc lỗi có chứa từ khóa này. Lưu ý rằng tìm kiếm có phân biệt chữ hoa chữ thường.","Non-photographic and low-quality images require a review before they appear in search results.":"Hình ảnh không phải ảnh và chất lượng thấp cần được xem xét trước khi chúng xuất hiện trong kết quả tìm kiếm.","None":"Không có","Not allowed":"Không được phép","Not found":"Không tìm thấy","Not sorted.":"Chưa được sắp xếp.","Not supported":"Không được hỗ trợ","Note you may manually manage your originals folder and importing is optional.":"Lưu ý rằng bạn có thể quản lý thư mục gốc của mình theo cách thủ công và việc nhập là tùy chọn.","Note:":"Ghi chú:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Lưu ý: Chỉ các máy chủ WebDAV, như Nextcloud hoặc PhotoPrism, mới có thể được định cấu hình làm dịch vụ từ xa để sao lưu và tải tệp lên.","Notes":"Ghi chú","Nothing to see here yet.":"Chưa có gì để xem ở đây.","Nothing was found.":"Không có gì được tìm thấy.","Offline":"Ngoại tuyến","OIDC":"OIDC","OK":"ĐƯỢC RỒI","Oldest First":"Cũ nhất đầu tiên","On Windows, enter the following resource in the connection dialog:":"Trên Windows, nhập tài nguyên sau vào hộp thoại kết nối:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"Việc tạo hình thu nhỏ theo yêu cầu có thể gây ra mức sử dụng CPU và bộ nhớ cao. Nó không được khuyến khích cho các máy chủ và thiết bị NAS bị hạn chế về tài nguyên.","Once a week":"Mỗi tuần một lần","One album found":"Đã tìm thấy một album","One file found":"Đã tìm thấy một tập tin","One file uploaded":"Đã tải lên một tệp","One folder found":"Đã tìm thấy một thư mục","One label found":"Đã tìm thấy một nhãn","One person found":"Một người được tìm thấy","One picture found":"Một hình ảnh được tìm thấy","Only locally managed accounts can be set up for authentication with 2FA.":"Chỉ những tài khoản được quản lý cục bộ mới có thể được thiết lập để xác thực bằng 2FA.","Open":"Mở","optional":"không bắt buộc","or":"hoặc","Orange":"Quả cam","Organization":"Tổ chức","Orientation":"Định hướng","Original file names will be stored and indexed.":"Tên tập tin gốc sẽ được lưu trữ và lập chỉ mục.","Original Name":"Tên khai sinh","Originals":"Bản gốc","Other":"Khác","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Sứ mệnh của chúng tôi là cung cấp giải pháp thân thiện với người dùng và quyền riêng tư nhất để giữ cho hình ảnh của bạn được ngăn nắp và dễ truy cập.","Outdoor":"Ngoài trời","Page {0}, Current page":"Trang {0}, Trang hiện tại","Pages":"Trang","Pagination Navigation":"Phân trang Điều hướng","Panorama":"Toàn cảnh","Panoramas":"Ảnh toàn cảnh","Password":"Mật khẩu","Password changed":"mật khẩu đã được thay đổi","People":"Mọi người","People you share a link with will be able to view public contents.":"Những người được bạn chia sẻ liên kết sẽ có thể xem nội dung công khai.","Permanently deleted":"Đã xóa vĩnh viễn","Permanently remove files to free up storage.":"Xóa vĩnh viễn các tập tin để giải phóng bộ nhớ.","Person":"Người","Personal":"Riêng tư","Photo":"hình chụp","PhotoPrism is 100% self-funded and independent.":"PhotoPrism được tự tài trợ 100% và độc lập.","PhotoPrism+ Membership":"PhotoPrism+ Tư cách thành viên","Photos":"Ảnh","Picture Title":"Tiêu đề ảnh","Pink":"Hồng","Place":"Địa điểm","Place & Time":"Địa điểm & Thời gian","Places":"Địa điểm","Please confirm your new password.":"Vui lòng xác nhận mật khẩu mới của bạn.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Vui lòng sao chép mật khẩu ứng dụng được tạo ngẫu nhiên sau đây và giữ nó ở nơi an toàn vì bạn sẽ không thể nhìn thấy nó nữa:","Please do not upload any private, unlawful or offensive pictures.":"Vui lòng không tải lên bất kỳ hình ảnh riêng tư, bất hợp pháp hoặc xúc phạm nào.","Please don't upload photos containing offensive content.":"Vui lòng không tải lên ảnh có nội dung phản cảm.","Please enter OTP character {0}":"Vui lòng nhập ký tự OTP {0}","Please note that changing your password will log you out on other devices and browsers.":"Xin lưu ý rằng việc thay đổi mật khẩu sẽ khiến bạn đăng xuất trên các thiết bị và trình duyệt khác.","Please restart your instance for the changes to take effect.":"Vui lòng khởi động lại phiên bản của bạn để những thay đổi có hiệu lực.","Please wait…":"Vui lòng chờ…","PM":"Thủ tướng","PNG Size Limit: %{n}px":"Giới hạn kích thước PNG: %{n}px","Portrait":"Chân dung","Preserve filenames":"Giữ nguyên tên tập tin","Press enter to create a new album.":"Nhấn enter để tạo album mới.","Prevent database and album backups as well as YAML sidecar files from being created.":"Ngăn chặn việc tạo các bản sao lưu cơ sở dữ liệu và album cũng như các tệp sidecar YAML.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Ngăn các ứng dụng khác truy cập PhotoPrism dưới dạng ổ đĩa mạng chung.","Preview":"Xem trước","Preview Images":"Xem trước hình ảnh","Previous":"Trước","Previous page":"Trang trước","Previous visual":"Hình ảnh trước đó","Primary":"Sơ đẳng","Private":"Riêng tư","Product Feedback":"Phản hồi sản phẩm","Projection":"Chiếu","Purple":"Màu tím","Quality Filter":"Bộ lọc chất lượng","Quality Score":"Điểm chất lượng","r":"r","Random":"Ngẫu nhiên","Rating {0} of {1}":"Xếp hạng {0} của {1}","Raw":"thô","RAW":"NGUYÊN","Re-index all originals, including already indexed and unchanged files.":"Lập chỉ mục lại tất cả các bản gốc, bao gồm các tệp đã được lập chỉ mục và không thay đổi.","Read-Only Mode":"Chế độ chỉ đọc","Recently Added":"Đã thêm gần đây","Recently Archived":"Lưu trữ gần đây","Recently Edited":"Đã chỉnh sửa gần đây","Recognition starts after indexing has been completed.":"Công nhận bắt đầu sau khi lập chỉ mục đã được hoàn thành.","Recognize faces so people can be assigned and found.":"Nhận dạng khuôn mặt để có thể tìm thấy những người cụ thể.","Recognized":"Được công nhận","Recovery Code":"Mã phục hồi","Red":"Màu đỏ","Refresh":"Làm cho khỏe lại","Regions":"Các vùng","Register":"Đăng ký","Reload":"Tải lại","Reloading…":"Đang tải lại…","Remote Sync":"Đồng bộ hóa từ xa","Remove":"Di dời","remove failed: unknown album":"xóa không thành công: album không xác định","Remove from Album":"Xóa khỏi album","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Xóa các tập tin đã nhập để tiết kiệm dung lượng. Các loại tệp không được hỗ trợ sẽ không bao giờ bị xóa, chúng vẫn ở vị trí hiện tại.","Request failed - are you offline?":"Yêu cầu không thành công - bạn đang ngoại tuyến phải không?","Request failed - invalid response":"Yêu cầu không thành công - phản hồi không hợp lệ","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Yêu cầu xem xét những hình ảnh không phải là ảnh chụp và chất lượng thấp trước khi chúng xuất hiện trong kết quả tìm kiếm.","Resolution":"Nghị quyết","Restart":"Khởi động lại","Restore":"Khôi phục","Restored":"Đã khôi phục","Retry Limit":"Giới hạn thử lại","Retype Password":"Gõ lại mật khẩu","Review":"Ôn tập","Role":"Vai trò","Rows per page:":"Số hàng trên mỗi trang:","Satellite":"Vệ tinh","Save":"Cứu","Scan":"Quét","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Quét mã QR bằng ứng dụng xác thực của bạn hoặc sử dụng phím thiết lập hiển thị bên dưới rồi nhập mã xác minh đã tạo:","Scans":"Quét","Scope":"Phạm vi","Search":"Tìm kiếm","Search and display photos on a map.":"Tìm kiếm và hiển thị ảnh trên bản đồ.","Season":"Mùa","Secret":"Bí mật","Security and Access":"Bảo mật và truy cập","Select":"Lựa chọn","Select a source folder to import files…":"Chọn thư mục nguồn để nhập tệp…","Select date":"Chọn ngày","Select dates":"Chọn ngày","Select or create an album":"Chọn hoặc tạo một album","Select the files to upload…":"Chọn các tập tin để tải lên…","Select the folder to be indexed…":"Chọn thư mục cần lập chỉ mục…","Select Time":"Chọn thời gian","Selection approved":"Lựa chọn đã được phê duyệt","Selection archived":"Đã lưu trữ lựa chọn","Selection restored":"Đã khôi phục lựa chọn","Sequential Name":"Tên tuần tự","Service URL":"URL dịch vụ","Services":"Dịch vụ","Session":"Phiên họp","Session ID":"ID phiên","Sessions":"Phiên","Set as Album Cover":"Đặt làm Bìa Album","Settings":"Cài đặt","Settings saved":"Đã lưu cài đặt","Setup":"Cài đặt","Share":"Chia sẻ","Share %{s}":"Chia sẻ %{s}","Share your pictures with other apps and services.":"Chia sẻ hình ảnh của bạn với các ứng dụng và dịch vụ khác.","Show":"Trình diễn","Show all new faces":"Hiển thị tất cả các khuôn mặt mới","Show Captions":"Hiển thị phụ đề","Show hidden":"Hiển thị ẩn","Show less":"Hiện ít hơn","Show more":"Cho xem nhiều hơn","Show server logs in Library.":"Hiển thị nhật ký máy chủ trong Thư viện.","Show Titles":"Hiển thị tiêu đề","Sidecar":"xe sidecar","Sidecar Files":"Tập tin sidecar","Sign in":"Đăng nhập","Similar":"Tương tự","Size":"Kích cỡ","Slideshow":"Trình chiếu","Slow":"Chậm","Software":"Phần mềm","Software Update":"Cập nhật phần mềm","Something went wrong, try again":"Đã xảy ra lỗi, hãy thử lại","Sort by":"Sắp xếp theo","Sort Order":"Thứ tự sắp xếp","Sorted ascending.":"Sắp xếp theo thứ tự tăng dần.","Sorted descending.":"Sắp xếp theo thứ tự giảm dần.","Source":"Nguồn","Stack":"Cây rơm","Stack files sharing the same unique image or instance identifier.":"Xếp chồng các tệp chia sẻ cùng một hình ảnh hoặc mã định danh cá thể duy nhất.","Stack pictures taken at the exact same time and location based on their metadata.":"Xếp chồng các ảnh được chụp vào cùng thời điểm và vị trí dựa trên siêu dữ liệu của chúng.","Stackable":"có thể xếp chồng lên nhau","Stacks":"ngăn xếp","Start":"Bắt đầu","Start Page":"Trang Bắt Đầu","Static Size Limit: %{n}px":"Giới hạn kích thước tĩnh: %{n}px","Status":"Trạng thái","Storage":"Kho","Streets":"Đường phố","Subject":"Chủ thể","Submit":"Nộp","Successfully activated":"Đã kích hoạt thành công","Successfully Connected":"Kết nối thành công","Successfully deleted":"Đã xóa thành công","Successfully verified":"Đã xác minh thành công","Super Admin":"Quản trị viên cấp cao","Support for additional services, like Google Drive, will be added over time.":"Hỗ trợ cho các dịch vụ bổ sung, như Google Drive, sẽ được bổ sung theo thời gian.","Support Our Mission":"Hỗ trợ sứ mệnh của chúng tôi","Sync":"Đồng bộ hóa","Sync raw and video files":"Đồng bộ hóa các tập tin thô và video","Taken":"Lấy","Teal":"màu xanh mòng két","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow cần thiết để phân loại hình ảnh, nhận dạng khuôn mặt và phát hiện nội dung không an toàn.","Terrain":"Địa hình","Text":"Chữ","Text too long":"Văn bản quá dài","Thank You for Your Support!":"Cảm ơn sự hỗ trợ của bạn!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Đó là lý do tại sao PhotoPrism được xây dựng từ đầu để chạy ở bất cứ nơi nào bạn cần mà không ảnh hưởng đến quyền tự do, quyền riêng tư hoặc chức năng.","The index currently contains %{n} hidden files.":"Chỉ mục hiện chứa %{n} tệp ẩn.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Định dạng của chúng có thể không được hỗ trợ, chúng chưa được chuyển đổi sang JPEG hoặc có bản sao.","Theme":"chủ đề","This field is required":"Trường này là bắt buộc","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Thao tác này sẽ gắn thư mục gốc dưới dạng ổ đĩa mạng và cho phép bạn mở, chỉnh sửa và xóa các tệp khỏi máy tính hoặc điện thoại thông minh của bạn như thể chúng là cục bộ.","Time UTC":"thời gian UTC","Time Zone":"Múi giờ","Timeout":"Hết giờ","Title":{"Account":"Tiêu đề","Photo":"Tiêu đề","":"Tiêu đề"},"Title / Position":"Vị trí tiêu đề","Title too long":"Tiêu đề quá dài","to":"ĐẾN","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Để tránh bị khóa tài khoản, vui lòng tải xuống, in hoặc sao chép mã khôi phục này ngay bây giờ và giữ nó ở nơi an toàn.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Để tạo mật khẩu mới dành riêng cho ứng dụng, vui lòng nhập tên và phạm vi ủy quyền của ứng dụng và chọn ngày hết hạn:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Để chuyển sang ứng dụng hoặc thiết bị xác thực mới, trước tiên hãy tắt xác thực hai yếu tố rồi kích hoạt lại:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Để nâng cấp, bạn có thể nhập mã kích hoạt hoặc nhấp vào \"Đăng ký\" để đăng ký trên trang web của chúng tôi:","Today":"Hôm nay","Toggle View":"Chuyển đổi chế độ xem","Token":"Mã thông báo","Too many files selected":"Đã chọn quá nhiều tệp","Too many requests":"quá nhiều yêu cầu","Troubleshooting":"Xử lý sự cố","Try again using other filters or keywords.":"Hãy thử lại bằng các bộ lọc hoặc từ khóa khác.","Two-factor authentication has been enabled for your account.":"Xác thực hai yếu tố đã được kích hoạt cho tài khoản của bạn.","Type":"Kiểu","Unauthorized":"Không được phép","Undo":"Hoàn tác","Unique ID":"ID duy nhất","Unknown":"không xác định","Unregistered":"Chưa đăng ký","Unsorted":"Chưa sắp xếp","Unstack":"Giải nén","Updated":"Đã cập nhật","Updating faces":"Cập nhật khuôn mặt","Updating index":"Đang cập nhật chỉ mục","Updating moments":"Cập nhật khoảnh khắc","Updating picture…":"Đang cập nhật hình ảnh…","Updating previews":"Đang cập nhật bản xem trước","Updating stacks":"Cập nhật ngăn xếp","Upgrade":"Nâng cấp","Upgrade Now":"Nâng cấp ngay bây giờ","Upload":"Tải lên","Upload complete":"Tải lên hoàn tất","Upload complete. Indexing…":"Tải lên hoàn tất. Lập chỉ mục…","Upload failed":"Tải lên không thành công","Upload local files":"Tải lên các tập tin cục bộ","Upload Path":"Đường dẫn tải lên","Upload to WebDAV and share links with friends.":"Tải lên WebDAV và chia sẻ liên kết với bạn bè.","Uploading %{n} of %{t}…":"Đang tải lên %{n} trong số %{t}…","Uploading photos…":"Đang tải ảnh lên…","Uploading…":"Đang tải lên…","Uploads that may contain such images will be rejected automatically.":"Những tải lên có thể chứa những hình ảnh như vậy sẽ tự động bị từ chối.","Use Presets":"Sử dụng cài đặt trước","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Sử dụng mã khôi phục sau để truy cập vào tài khoản của bạn khi bạn không thể tạo mã xác minh hợp lệ bằng ứng dụng xác thực của mình:","Use your recovery code or contact an administrator for help.":"Sử dụng mã khôi phục của bạn hoặc liên hệ với quản trị viên để được trợ giúp.","User":"Người dùng","User Guide":"Hướng dẫn sử dụng","User Interface":"Giao diện người dùng","Username":"tên tài khoản","Users":"Người dùng","Vector":"Vectơ","Vectors":"Vectơ","Verification Code":"Mã xác nhận","Video":"Băng hình","Video Duration":"Thời lượng video","Videos":"Video","View":"Xem","View search results as a list.":"Xem kết quả tìm kiếm dưới dạng danh sách.","Viewer":"Người xem","Visitor":"Khách thăm quan","Visual Similarity":"Sự tương đồng về hình ảnh","Warning":"Cảnh báo","We appreciate your feedback!":"Chúng tôi cảm kích những phản hồi của bạn!","We do our best to respond within five business days or less.":"Chúng tôi cố gắng hết sức để phản hồi trong vòng năm ngày làm việc hoặc ít hơn.","Web Login":"Đăng nhập web","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"Máy khách WebDAV có thể kết nối với PhotoPrism bằng URL sau:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"Các máy khách WebDAV, như Windows Explorer của Microsoft hoặc Finder của Apple, có thể kết nối trực tiếp với\n PhotoPrism.","WebDAV Upload":"Tải lên WebDAV","WebGL support is disabled in your browser":"Hỗ trợ WebGL bị vô hiệu hóa trong trình duyệt của bạn","Website":"Trang mạng","White":"Trắng","Work Details":"Chi tiết công việc","Year":"Năm","Yellow":"Màu vàng","Yes":"Đúng","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Bạn có thể liên hệ với chúng tôi theo địa chỉ member@photoprism.app nếu có câu hỏi liên quan đến tư cách thành viên của bạn.","You can only download one album":"Bạn chỉ có thể tải xuống một album","You can only download one label":"Bạn chỉ có thể tải xuống một nhãn","You can upload up to %{n} files for test purposes.":"Bạn có thể tải lên tối đa %{n} tệp cho mục đích thử nghiệm.","You may only select one item":"Bạn chỉ có thể chọn một mục","You may rescan your library to find additional faces.":"Bạn có thể quét lại thư viện của mình để tìm thêm khuôn mặt.","Your account has been successfully connected.":"Tài khoản của bạn đã được kết nối thành công.","Your browser does not support WebGL":"Trình duyệt của bạn không hỗ trợ WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Sự hỗ trợ liên tục của bạn giúp chúng tôi cung cấp thông tin cập nhật thường xuyên và duy trì tính độc lập để chúng tôi có thể hoàn thành sứ mệnh của mình và bảo vệ quyền riêng tư của bạn.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Thư viện của bạn được phân tích liên tục để tự động tạo album về những khoảnh khắc, chuyến đi và địa điểm đặc biệt.","Zoom in/out":"Phóng to / thu nhỏ"}} \ No newline at end of file +{"vi":{"{0} appended action":"{0} hành động được thêm vào","{0} files":"{0} tập tin","{0} files ({1} in total)":"{0} tệp ({1} tổng cộng)","{0} more":"{0} thêm","{0} prepended action":"{0} hành động được thêm vào trước","{0} selected":"{0} đã chọn","{0}-{1} of {2}":"{0}-{1} của {2}","%{n} albums found":"Đã tìm thấy %{n} album","%{n} files uploaded":"%{n} tệp đã được tải lên","%{n} folders found":"Đã tìm thấy %{n} thư mục","%{n} GB of %{q} GB used":"%{n} GB trong số %{q} GB đã sử dụng","%{n} labels found":"Đã tìm thấy %{n} nhãn","%{n} people found":"Đã tìm thấy %{n} người","%{n} pictures found":"Đã tìm thấy %{n} ảnh","%{s} is too long":"%{s} quá dài","%{s} is too short":"%{s} quá ngắn","1 hour":"1 giờ","12 hours":"12 giờ","2-Factor Authentication":"Xác thực 2 yếu tố","2FA":"2FA","4 hours":"4 tiếng","A click will copy it to your clipboard.":"Một cú nhấp chuột sẽ sao chép nó vào clipboard của bạn.","A new version of %{s} is available:":"Phiên bản mới của %{s} đã có sẵn:","About":"Về","Access Token":"Truy cập thẻ","Account":"Tài khoản","Account created":"Tài khoản đã được tạo","Account deleted":"Tài khoản đã bị xóa","Account restored":"Tài khoản đã được khôi phục","Accounts":"Tài khoản","Accuracy":"Sự chính xác","Action":"Hoạt động","Actions":"hành động","Activate":"Kích hoạt","Activate to remove sorting.":"Kích hoạt để xóa sắp xếp.","Activate to sort ascending.":"Kích hoạt để sắp xếp theo thứ tự tăng dần.","Activate to sort descending.":"Kích hoạt để sắp xếp theo thứ tự giảm dần.","Activation Code":"Mã kích hoạt","Add":"Thêm vào","Add %{s}?":"Thêm %{s}?","Add Account":"Thêm tài khoản","Add Album":"Thêm Anbom","Add files to your library via Web Upload.":"Thêm tệp vào thư viện của bạn thông qua Tải lên web.","Add Link":"Thêm liên kết","Add person?":"Thêm người?","Add pictures from search results by selecting them.":"Thêm hình ảnh từ kết quả tìm kiếm bằng cách chọn chúng.","Add to album":"Thêm vào album","Added":"Thêm","Adjust Location":"Điều chỉnh vị trí","Admin":"Quản trị viên","Advanced":"Trình độ cao","After 1 day":"Sau 1 ngày","After 3 days":"Sau 3 ngày","After 7 days":"Sau 7 ngày","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"Sau khi nhập mật khẩu để xác nhận, bạn có thể thiết lập xác thực hai yếu tố bằng ứng dụng hoặc thiết bị xác thực tương thích:","After one month":"Sau một tháng","After one year":"Sau một năm","After selecting pictures from search results, you can add them to an album using the context menu.":"Sau khi chọn ảnh từ kết quả tìm kiếm, bạn có thể thêm chúng vào album bằng menu ngữ cảnh.","After two months":"Sau hai tháng","After two weeks":"Sau hai tuần","Album":"Album","Album Backups":"Sao lưu album","Album created":"Đã tạo album","Album deleted":"Album đã xóa","Albums":"Tập ảnh","Albums deleted":"Album đã bị xóa","All":"Tất cả","All %{n} albums loaded":"Đã tải tất cả %{n} album","All %{n} labels loaded":"Đã tải tất cả nhãn %{n}","All %{n} people loaded":"Tất cả %{n} người đã tải","All Cameras":"Tất cả máy ảnh","All Categories":"Tất cả danh mục","All Colors":"Đủ màu sắc","All Countries":"Tất cả các nước","All fields are required":"Tất cả các trường là bắt buộc","All files from import folder":"Tất cả các tệp từ thư mục nhập","All Lenses":"Tất cả các ống kính","All Months":"Tất cả các tháng","All originals":"Tất cả bản gốc","All Years":"Mọi năm","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"Ngoài ra, bạn có thể tải tệp trực tiếp lên máy chủ WebDAV như Nextcloud.","Altitude":"Độ cao","Altitude (m)":"Độ cao (m)","AM":"LÀ","Animated":"hoạt hình","Animation":"Hoạt hình","Animations":"Hoạt hình","Any private photos and videos remain private and won't be shared.":"Mọi ảnh và video riêng tư vẫn ở chế độ riêng tư và sẽ không được chia sẻ.","API Key":"Mã API","Application":"Ứng dụng","Apply":"Áp dụng","Approve":"Chấp thuận","Apps and Devices":"Ứng dụng và thiết bị","Archive":"Lưu trữ","Archived":"Đã lưu trữ","Are you sure you want to archive the selection?":"Bạn có chắc chắn muốn lưu trữ lựa chọn không?","Are you sure you want to delete these albums?":"Bạn có chắc chắn muốn xóa những anbom này không?","Are you sure you want to delete these labels?":"Bạn có chắc chắn muốn xóa các nhãn này không?","Are you sure you want to delete this account?":"Bạn có chắc chắn muốn xóa tài khoản này?","Are you sure you want to delete this album?":"Bạn có chắc chắn muốn xóa album này không?","Are you sure you want to permanently delete these pictures?":"Bạn có chắc chắn muốn xóa vĩnh viễn những hình ảnh này không?","Are you sure you want to permanently delete this file?":"Bạn có chắc chắn muốn xóa vĩnh viễn tệp này không?","Are you sure?":"Bạn có chắc không?","Artist":"Nghệ sĩ","Aspect Ratio":"Tỷ lệ khung hình","Audio":"Âm thanh","Authentication":"Xác thực","Auto":"Tự động","Back":"Mặt sau","Back to top":"Quay lại đầu trang","Backup":"Hỗ trợ","Badge":"Huy hiệu","Base Path":"Đường dẫn cơ sở","Become a member today, support our mission and enjoy our member benefits!":"Hãy trở thành thành viên ngay hôm nay, ủng hộ sứ mệnh của chúng tôi và tận hưởng các lợi ích dành cho thành viên của chúng tôi!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"Với hoạt động tự tài trợ và độc lập 100%, chúng tôi có thể hứa với bạn rằng chúng tôi sẽ không bao giờ bán dữ liệu của bạn và chúng tôi sẽ luôn minh bạch về phần mềm và dịch vụ của mình.","Bio":"Tiểu sử","Birth Date":"Ngày sinh","Black":"Đen","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman: Sửa đổi Lanczos, Hiện vật ít rung chuông hơn","Blue":"Màu xanh da trời","Brown":"Màu nâu","Browse":"Duyệt qua","Browse and edit image classification labels.":"Duyệt và chỉnh sửa nhãn phân loại hình ảnh.","Browse and share your pictures organized into monthly albums.":"Duyệt và chia sẻ hình ảnh được sắp xếp theo album hàng tháng.","Browse Files":"Duyệt tập tin","Browse indexed files and folders in Library.":"Duyệt các tệp và thư mục được lập chỉ mục trong Thư viện.","Bug Report":"Báo cáo lỗi","Busy, please wait…":"Đang bận, vui lòng đợi…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"Bằng cách sử dụng phần mềm và dịch vụ chúng tôi cung cấp, bạn đồng ý với các điều khoản dịch vụ, chính sách quyền riêng tư và quy tắc ứng xử của chúng tôi.","Calendar":"Lịch","Camera":"Máy ảnh","Camera Serial":"Máy ảnh nối tiếp","Can't access your authenticator app or device?":"Không thể truy cập ứng dụng hoặc thiết bị xác thực của bạn?","Can't load more, limit reached":"Không thể tải thêm, đã đạt đến giới hạn","Can't select more items":"Không thể chọn thêm mục","Cancel":"Hủy bỏ","Cannot copy to clipboard":"Không thể sao chép vào clipboard","Caption":"Đầu đề","Cards":"thẻ","Carousel slide {0} of {1}":"Trượt băng chuyền {0} của {1}","Category":"Loại","Change Avatar":"Thay đổi hình đại diện","Change Password":"Đổi mật khẩu","Change personal profile and security settings.":"Thay đổi hồ sơ cá nhân và cài đặt bảo mật.","Change photo titles, locations, and other metadata.":"Thay đổi tiêu đề ảnh, vị trí và siêu dữ liệu khác.","Change private flag":"Thay đổi cờ riêng tư","Changes could not be saved":"Không thể lưu các thay đổi","Changes successfully saved":"Đã lưu thay đổi thành công","Changes to the advanced settings require a restart to take effect.":"Những thay đổi đối với cài đặt nâng cao yêu cầu khởi động lại để có hiệu lực.","Checked":"Đã kiểm tra","Chroma":"sắc độ","Cleaning index and cache":"Làm sạch chỉ mục và bộ đệm","Cleanup":"Dọn dẹp","Clear {0}":"Xóa {0}","Client":"Khách hàng","Client Credentials":"Thông tin xác thực của khách hàng","Close":"Đóng","Codec":"Bộ giải mã","Color":"Màu sắc","Color Profile":"Hồ sơ màu","Colors":"Màu sắc","Compare Editions":"So sánh các phiên bản","Complete Rescan":"Quét lại hoàn tất","Confidence":"Sự tự tin","Confirm":"Xác nhận","Connect":"Kết nối","Connect via WebDAV":"Kết nối qua WebDAV","Connected":"Đã kết nối","Contact Details":"Chi tiết liên hệ","Contact Us":"Liên hệ chúng tôi","Contains %{n} pictures.":"Chứa %{n} hình ảnh.","Contains one picture.":"Chứa một hình ảnh.","Content":"Nội dung","Continue":"Tiếp tục","Continue with %{provider}":"Tiếp tục với %{provider}","Contributor":"Người đóng góp","Converting":"Chuyển đổi","Copied to clipboard":"Sao chép vào clipboard","Copy":"Sao chép","Copyright":"Bản quyền","Couldn't find anything.":"Không thể tìm thấy bất cứ điều gì.","Country":"Quốc gia","Create Account":"Tạo tài khoản","Create album":"Tạo album","Create regular backups based on the configured schedule.":"Tạo bản sao lưu chỉ mục dựa trên lịch trình đã định cấu hình.","Create YAML files to back up album metadata.":"Tạo tệp YAML để sao lưu siêu dữ liệu album.","Create YAML sidecar files to back up picture metadata.":"Tạo các tệp sidecar YAML để sao lưu siêu dữ liệu hình ảnh.","Created":"Tạo","Creating thumbnails for":"Tạo hình thu nhỏ cho","Cubic: Moderate Quality, Good Performance":"Khối: Chất lượng vừa phải, Hiệu suất tốt","Current Password":"Mật khẩu hiện tại","Custom":"Phong tục","Cyan":"lục lam","Daily":"Hằng ngày","Database Backups":"Sao lưu cơ sở dữ liệu","Day":"Ngày","Deactivate":"Vô hiệu hóa","Debug Logs":"Nhật ký gỡ lỗi","Default":"Mặc định","Default Folder":"Thư mục mặc định","Delete":"Xóa bỏ","Delete Album":"Xóa Album","Delete All":"Xóa hết","Delete all?":"Xóa tất cả?","Delete orphaned index entries, sidecar files and thumbnails.":"Xóa các mục chỉ mục mồ côi, tệp sidecar và hình thu nhỏ.","Description":"Sự miêu tả","Detailed instructions can be found in our User Guide.":"Hướng dẫn chi tiết có thể được tìm thấy trong Hướng dẫn sử dụng của chúng tôi.","Details":"Chi tiết","Dimensions":"Kích thước","Disable Backups":"Tắt sao lưu","Disable Darktable":"Tắt bảng tối","Disable ExifTool":"Tắt ExifTool","Disable features that require write permission for the originals folder.":"Tắt các tính năng yêu cầu quyền ghi đối với thư mục gốc.","Disable FFmpeg":"Tắt FFmpeg","Disable ImageMagick":"Tắt ImageMagick","Disable interactive world maps and reverse geocoding.":"Vô hiệu hóa bản đồ thế giới tương tác và mã hóa địa lý đảo ngược.","Disable Places":"Vô hiệu hóa địa điểm","Disable RawTherapee":"Tắt RawTherapee","Disable TensorFlow":"Tắt TensorFlow","Disable Vectors":"Vô hiệu hóa vectơ","Disable WebDAV":"Tắt WebDAV","Disables vector graphics support.":"Tắt hỗ trợ đồ họa vector.","Disables video transcoding and thumbnail extraction.":"Tắt chuyển mã video và trích xuất hình thu nhỏ.","Discover":"Phát hiện","Dismiss":"Miễn nhiệm","Display Name":"Tên hiển thị","Display picture captions in search results.":"Hiển thị chú thích hình ảnh trong kết quả tìm kiếm.","Display picture titles in search results.":"Hiển thị tiêu đề hình ảnh trong kết quả tìm kiếm.","Document":"Tài liệu","Documents":"Tài liệu","Don't use Darktable to convert RAW images.":"Không sử dụng Darktable để chuyển đổi ảnh RAW.","Don't use ImageMagick to convert images.":"Không sử dụng ImageMagick để chuyển đổi hình ảnh.","Don't use RawTherapee to convert RAW images.":"Không sử dụng RawTherapee để chuyển đổi ảnh RAW.","Done":"Xong","Done.":"Xong.","Download":"Tải xuống","Download only original media files, without any automatically generated files.":"Chỉ tải xuống các tệp phương tiện gốc mà không có bất kỳ tệp nào được tạo tự động.","Download remote files":"Tải tập tin từ xa","Download single files and zip archives.":"Tải xuống các tập tin đơn lẻ và lưu trữ zip.","Downloading…":"Đang tải xuống…","Downscaling Filter":"Bộ lọc thu nhỏ","Drag and drop files here":"Kéo và thả tập tin vào đây","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"Do chúng tôi nhận được số lượng lớn email nên nhóm của chúng tôi có thể không liên hệ lại với bạn ngay lập tức.","Duplicates will be skipped and only appear once.":"Các bản sao sẽ bị bỏ qua và chỉ xuất hiện một lần.","Duration":"Khoảng thời gian","Dynamic Previews":"Xem trước động","Dynamic Size Limit: %{n}px":"Giới hạn kích thước động: %{n}px","E-Mail":"E-mail","Edit":"Biên tập","Edit %{s}":"Chỉnh sửa tên}","Edit Account":"Chỉnh sửa tài khoản","Edit Photo":"Chỉnh sửa hình ảnh","Edited":"Đã chỉnh sửa","Email":"E-mail","Enable debug mode to display additional logs and help with troubleshooting.":"Bật chế độ gỡ lỗi để hiển thị nhật ký bổ sung và trợ giúp khắc phục sự cố.","Enable new features that may be incomplete or unstable.":"Kích hoạt các tính năng mới có thể chưa đầy đủ hoặc không ổn định.","Enables RAW converter presets. May reduce performance.":"Cho phép cài đặt trước bộ chuyển đổi RAW. Có thể làm giảm hiệu suất.","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"Kích hoạt xác thực hai yếu tố có nghĩa là bạn sẽ cần mã xác minh được tạo ngẫu nhiên để đăng nhập, vì vậy ngay cả khi ai đó có quyền truy cập vào mật khẩu của bạn, họ sẽ không thể truy cập vào tài khoản của bạn.","Enter date":"Nhập ngày","Enter dates":"Nhập ngày","Enter the code generated by your authenticator app:":"Nhập mã được tạo bởi ứng dụng xác thực của bạn:","Enter verification code":"Nhập mã xác nhận","Enter your password to confirm the action and continue:":"Nhập mật khẩu của bạn để xác nhận hành động và tiếp tục:","Error":"Lỗi","Errors":"Lỗi","Estimate":"Ước lượng","Estimate Locations":"Ước tính vị trí","Estimate the approximate location of pictures without GPS coordinates.":"Ước tính vị trí gần đúng của hình ảnh mà không cần tọa độ GPS.","Every two days":"Mỗi hai ngày","Exclude content marked as private from search results, shared albums, labels, and places.":"Loại trừ nội dung được đánh dấu là riêng tư khỏi kết quả tìm kiếm, album chia sẻ, nhãn và địa điểm.","Exclude hidden":"Loại trừ ẩn","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"Cần phải trích xuất siêu dữ liệu bằng ExifTool để hỗ trợ đầy đủ Video, Live Photo và XMP.","Experimental Features":"Tính năng thử nghiệm","Expires":"Hết hạn","Exposure":"Phơi bày","Extract still images and generate thumbnails while indexing.":"Trích xuất hình ảnh tĩnh và tạo hình thu nhỏ trong khi lập chỉ mục.","F Number":"Số F","Face":"Khuôn mặt","Faces":"Khuôn mặt","Failed removing link":"Xóa liên kết không thành công","Failed to connect account.":"Không thể kết nối tài khoản.","Failed updating link":"Liên kết cập nhật không thành công","Family Name":"Tên gia đình","Fast":"Nhanh","Favorite":"Yêu thích","Favorites":"Yêu thích","Feature Request":"Yêu cầu tính năng","Feedback":"Nhận xét","Female":"Nữ giới","File":"Tài liệu","File Browser":"Trình duyệt tệp","File Conversion":"Chuyển đổi tập tin","File Name":"Tên tệp","File Size":"Kích thước tập tin","Filename":"Tên tệp","Files":"Các tập tin","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"Các tệp có tên tuần tự như “IMG_1234 (2)” và “IMG_1234 (3)” thuộc cùng một hình ảnh.","First page":"Trang đầu tiên","Focal Length":"Tiêu cự","Folder":"Thư mục","Folder contains %{n} files":"Thư mục chứa tệp %{n}","Folder is empty":"Tệp này rỗng","Folders":"Thư mục","Forgot password?":"Quên mật khẩu?","FPS":"FPS","Frames":"Khung","Full Access":"Toàn quyền truy cập","Fullscreen":"Toàn màn hình","General":"Tổng quan","Generate":"Phát ra","Generate albums of special moments, journeys, and places.":"Tự động tạo album về những khoảnh khắc, chuyến đi và địa điểm đặc biệt.","Generate Previews":"Tạo bản xem trước","Generated":"Đã tạo ra","Get Started":"Bắt đầu","Given Name":"Tên","Global Options":"Tùy chọn toàn cầu","Go to page {0}":"Đi tới trang {0}","Gold":"Vàng","Green":"Màu xanh lá","Grey":"Xám","Guest":"Khách mời","Hash":"Băm","Help":"Giúp đỡ","Help & Support":"Trợ giúp & Hỗ trợ","Hidden":"Ẩn giấu","Hidden Files":"Các tệp ẩn","Hide":"Trốn","Hide photos that have been moved to archive.":"Ẩn ảnh đã được chuyển vào kho lưu trữ.","High":"Cao","High Dynamic Range (HDR)":"Dải động cao (HDR)","How can we help?":"Làm thế nào chúng ta có thể giúp đỡ?","Hybrid":"lai","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"Nếu mất quyền truy cập vào ứng dụng hoặc thiết bị xác thực, bạn có thể sử dụng mã khôi phục để lấy lại quyền truy cập vào tài khoản của mình.","Image":"Hình ảnh","Image Quality":"Chất lượng hình ảnh","Import":"Nhập khẩu","Import failed":"Nhập không thành công","Imported files will be sorted by date and given a unique name to avoid duplicates.":"Các tệp đã nhập sẽ được sắp xếp theo ngày và đặt một tên duy nhất để tránh trùng lặp.","Imported files will be sorted by date and given a unique name.":"Các tệp đã nhập sẽ được sắp xếp theo ngày và được đặt một tên duy nhất.","Importing %{s}…":"Đang nhập %{s}…","Importing files to originals…":"Đang nhập tệp vào bản gốc…","in":"TRONG","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"Trong trường hợp hình ảnh bạn mong đợi bị thiếu, vui lòng quét lại thư viện của bạn và đợi cho đến khi quá trình lập chỉ mục hoàn tất.","Include RAW image files when downloading stacks and archives.":"Bao gồm các tệp hình ảnh RAW khi tải xuống các ngăn xếp và kho lưu trữ.","Include sidecar files when downloading stacks and archives.":"Bao gồm các tệp sidecar khi tải xuống ngăn xếp và kho lưu trữ.","Increase storage size or delete files to continue.":"Tăng dung lượng lưu trữ hoặc xóa tệp để tiếp tục.","Index":"Mục lục","Index and import files through the user interface.":"Lập chỉ mục và nhập tệp thông qua giao diện người dùng.","Indexing":"Lập chỉ mục","Indexing failed":"Lập chỉ mục không thành công","Indexing media and sidecar files…":"Lập chỉ mục các tập tin media và sidecar…","Information":"Thông tin","Instance ID":"ID phiên bản","Insufficient storage.":"Không đủ dung lượng lưu trữ.","Interval":"Khoảng thời gian","Invalid":"Không hợp lệ","Invalid address":"Địa chỉ không hợp lệ","Invalid country":"Quốc gia không hợp lệ","Invalid date":"Ngày không hợp lệ","Invalid parameters":"thông số không hợp lệ","Invalid photo selected":"Đã chọn ảnh không hợp lệ","Invalid time":"Thời gian không hợp lệ","Invalid URL":"URL không hợp lệ","It is a one-time use code that will disable 2FA for your account when you use it.":"Đây là mã sử dụng một lần sẽ vô hiệu hóa 2FA cho tài khoản của bạn khi bạn sử dụng.","Item":"Mục","Items per page:":"Số mục trên mỗi trang:","JPEG Quality: %{n}":"Chất lượng JPEG: %{n}","JPEG Size Limit: %{n}px":"Giới hạn kích thước JPEG: %{n}px","JPEGs and thumbnails are automatically rendered as needed.":"JPEG và hình thu nhỏ được tự động hiển thị khi cần.","Keywords":"Từ khóa","Label":"Nhãn","Labels":"Nhãn","Labels deleted":"Đã xóa nhãn","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos: Bảo quản chi tiết, hiện vật tối thiểu","Language":"Ngôn ngữ","Last Active":"Hoạt động lần cuối","Last Login":"Lân đăng nhập cuôi","Last page":"Trang cuối","Last Sync":"Đồng bộ hóa lần cuối","Last Used":"Được sử dụng lần cuối","Latitude":"Vĩ độ","LDAP/AD":"LDAP/QUẢNG CÁO","Learn more":"Tìm hiểu thêm","Learn More":"Tìm hiểu thêm","Legal Information":"Thông tin hợp pháp","Lens":"Ống kính","Library":"Thư viện","License":"Giấy phép","Like":"Thích","Lime":"Chanh xanh","Limit reached, showing first %{n} files":"Đã đạt đến giới hạn, hiển thị tệp %{n} đầu tiên","Linear: Very Smooth, Best Performance":"Tuyến tính: Rất mượt mà, hiệu suất tốt nhất","Link":"liên kết","List":"Danh sách","List View":"Xem danh sách","Live":"Sống","Live Photos":"Ảnh trực tiếp","Load more":"Tải thêm","Loading items...":"Đang tải mục...","Loading...":"Đang tải...","Local":"Địa phương","Local Time":"Giờ địa phương","Location":"Vị trí","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"Thông báo nhật ký xuất hiện ở đây bất cứ khi nào PhotoPrism gặp phải các tệp bị hỏng hoặc có các sự cố tiềm ẩn khác.","Login":"Đăng nhập","Logout":"Đăng xuất","Logs":"Nhật ký","Longitude":"Kinh độ","Low":"Thấp","Magenta":"Màu đỏ tươi","Main Color":"Màu chính","Male":"Nam giới","Manage Account":"Quản lý tài khoản","Manager":"Giám đốc","Manual":"Thủ công","Manual Upload":"Tải lên thủ công","Maps":"Bản đồ","Marker":"Đánh dấu","Maximum number of accounts has been reached.":"Đã đạt đến số lượng tài khoản tối đa.","Media":"Media","Medium":"Trung bình","Membership":"Tư cách thành viên","Merge %{a} with %{b}?":"Hợp nhất %{a} với %{b}?","Message":"Tin nhắn","Message sent":"Đã gửi tin nhắn","Metadata":"metadata","Metrics":"Số liệu","Minimize":"Giảm thiểu","Missing":"Mất tích","Missing or invalid configuration":"Cấu hình bị thiếu hoặc không hợp lệ","Moments":"Khoảnh khắc","Monochrome":"Đơn sắc","Month":"Tháng","More options":"Thêm tùy chọn","Mosaic":"Khảm","Most Relevant":"Liên quan nhất","Move Files":"Di chuyển tập tin","Must have at least %{n} characters.":"Phải có ít nhất %{n} ký tự.","Mute":"Tắt tiếng","Name":"Tên","Name too long":"Tên quá dài","Never":"Không bao giờ","New":"Mới","New Password":"mật khẩu mới","Newest First":"Mới nhất đầu tiên","Next":"Kế tiếp","Next page":"Trang tiếp theo","Next visual":"Hình ảnh tiếp theo","No":"KHÔNG","No albums found":"Không tìm thấy album nào","No data available":"Không có dữ liệu có sẵn","No labels found":"Không tìm thấy nhãn","No matching records found":"Không tìm thấy hồ sơ phù hợp","No more":"Không còn nữa","No people found":"Không tìm thấy người nào","No pictures found":"Không tìm thấy hình ảnh nào","No recently edited pictures":"Không có hình ảnh được chỉnh sửa gần đây","No results":"Không có kết quả","No server connection":"Không có kết nối máy chủ","No servers configured.":"Không có máy chủ nào được cấu hình.","No services configured.":"Không có dịch vụ nào được cấu hình.","No thanks":"Không, cám ơn","No warnings or error containing this keyword. Note that search is case-sensitive.":"Không có cảnh báo hoặc lỗi có chứa từ khóa này. Lưu ý rằng tìm kiếm có phân biệt chữ hoa chữ thường.","Non-photographic and low-quality images require a review before they appear in search results.":"Hình ảnh không phải ảnh và chất lượng thấp cần được xem xét trước khi chúng xuất hiện trong kết quả tìm kiếm.","None":"Không có","Not allowed":"Không được phép","Not found":"Không tìm thấy","Not sorted.":"Chưa được sắp xếp.","Not supported":"Không được hỗ trợ","Note you may manually manage your originals folder and importing is optional.":"Lưu ý rằng bạn có thể quản lý thư mục gốc của mình theo cách thủ công và việc nhập là tùy chọn.","Note:":"Ghi chú:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"Lưu ý: Chỉ các máy chủ WebDAV, như Nextcloud hoặc PhotoPrism, mới có thể được định cấu hình làm dịch vụ từ xa để sao lưu và tải tệp lên.","Notes":"Ghi chú","Nothing to see here yet.":"Chưa có gì để xem ở đây.","Nothing was found.":"Không có gì được tìm thấy.","Offline":"Ngoại tuyến","OIDC":"OIDC","OK":"ĐƯỢC RỒI","Oldest First":"Cũ nhất đầu tiên","On Windows, enter the following resource in the connection dialog:":"Trên Windows, nhập tài nguyên sau vào hộp thoại kết nối:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"Việc tạo hình thu nhỏ theo yêu cầu có thể gây ra mức sử dụng CPU và bộ nhớ cao. Nó không được khuyến khích cho các máy chủ và thiết bị NAS bị hạn chế về tài nguyên.","Once a week":"Mỗi tuần một lần","One album found":"Đã tìm thấy một album","One file found":"Đã tìm thấy một tập tin","One file uploaded":"Đã tải lên một tệp","One folder found":"Đã tìm thấy một thư mục","One label found":"Đã tìm thấy một nhãn","One person found":"Một người được tìm thấy","One picture found":"Một hình ảnh được tìm thấy","Only locally managed accounts can be set up for authentication with 2FA.":"Chỉ những tài khoản được quản lý cục bộ mới có thể được thiết lập để xác thực bằng 2FA.","Open":"Mở","optional":"không bắt buộc","or":"hoặc","Orange":"Quả cam","Organization":"Tổ chức","Orientation":"Định hướng","Original file names will be stored and indexed.":"Tên tập tin gốc sẽ được lưu trữ và lập chỉ mục.","Original Name":"Tên khai sinh","Originals":"Bản gốc","Other":"Khác","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"Sứ mệnh của chúng tôi là cung cấp giải pháp thân thiện với người dùng và quyền riêng tư nhất để giữ cho hình ảnh của bạn được ngăn nắp và dễ truy cập.","Outdoor":"Ngoài trời","Page {0}, Current page":"Trang {0}, Trang hiện tại","Pages":"Trang","Pagination Navigation":"Phân trang Điều hướng","Panorama":"Toàn cảnh","Panoramas":"Ảnh toàn cảnh","Password":"Mật khẩu","Password changed":"mật khẩu đã được thay đổi","People":"Mọi người","People you share a link with will be able to view public contents.":"Những người được bạn chia sẻ liên kết sẽ có thể xem nội dung công khai.","Permanently deleted":"Đã xóa vĩnh viễn","Permanently remove files to free up storage.":"Xóa vĩnh viễn các tập tin để giải phóng bộ nhớ.","Person":"Người","Personal":"Riêng tư","Photo":"hình chụp","PhotoPrism is 100% self-funded and independent.":"PhotoPrism được tự tài trợ 100% và độc lập.","PhotoPrism+ Membership":"PhotoPrism+ Tư cách thành viên","Photos":"Ảnh","Picture Title":"Tiêu đề ảnh","Pink":"Hồng","Place":"Địa điểm","Place & Time":"Địa điểm & Thời gian","Places":"Địa điểm","Please confirm your new password.":"Vui lòng xác nhận mật khẩu mới của bạn.","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"Vui lòng sao chép mật khẩu ứng dụng được tạo ngẫu nhiên sau đây và giữ nó ở nơi an toàn vì bạn sẽ không thể nhìn thấy nó nữa:","Please do not upload any private, unlawful or offensive pictures.":"Vui lòng không tải lên bất kỳ hình ảnh riêng tư, bất hợp pháp hoặc xúc phạm nào.","Please don't upload photos containing offensive content.":"Vui lòng không tải lên ảnh có nội dung phản cảm.","Please enter OTP character {0}":"Vui lòng nhập ký tự OTP {0}","Please note that changing your password will log you out on other devices and browsers.":"Xin lưu ý rằng việc thay đổi mật khẩu sẽ khiến bạn đăng xuất trên các thiết bị và trình duyệt khác.","Please restart your instance for the changes to take effect.":"Vui lòng khởi động lại phiên bản của bạn để những thay đổi có hiệu lực.","Please wait…":"Vui lòng chờ…","PM":"Thủ tướng","PNG Size Limit: %{n}px":"Giới hạn kích thước PNG: %{n}px","Portrait":"Chân dung","Preserve filenames":"Giữ nguyên tên tập tin","Press enter to create a new album.":"Nhấn enter để tạo album mới.","Prevent database and album backups as well as YAML sidecar files from being created.":"Ngăn chặn việc tạo các bản sao lưu cơ sở dữ liệu và album cũng như các tệp sidecar YAML.","Prevent other apps from accessing PhotoPrism as a shared network drive.":"Ngăn các ứng dụng khác truy cập PhotoPrism dưới dạng ổ đĩa mạng chung.","Preview":"Xem trước","Preview Images":"Xem trước hình ảnh","Previous":"Trước","Previous page":"Trang trước","Previous visual":"Hình ảnh trước đó","Primary":"Sơ đẳng","Private":"Riêng tư","Product Feedback":"Phản hồi sản phẩm","Projection":"Chiếu","Purple":"Màu tím","Quality Filter":"Bộ lọc chất lượng","Quality Score":"Điểm chất lượng","r":"r","Random":"Ngẫu nhiên","Rating {0} of {1}":"Xếp hạng {0} của {1}","Raw":"thô","RAW":"NGUYÊN","Re-index all originals, including already indexed and unchanged files.":"Lập chỉ mục lại tất cả các bản gốc, bao gồm các tệp đã được lập chỉ mục và không thay đổi.","Read-Only Mode":"Chế độ chỉ đọc","Recently Added":"Đã thêm gần đây","Recently Archived":"Lưu trữ gần đây","Recently Edited":"Đã chỉnh sửa gần đây","Recognition starts after indexing has been completed.":"Công nhận bắt đầu sau khi lập chỉ mục đã được hoàn thành.","Recognize faces so people can be assigned and found.":"Nhận dạng khuôn mặt để có thể tìm thấy những người cụ thể.","Recognized":"Được công nhận","Recovery Code":"Mã phục hồi","Red":"Màu đỏ","Refresh":"Làm cho khỏe lại","Regions":"Các vùng","Register":"Đăng ký","Reload":"Tải lại","Reloading…":"Đang tải lại…","Remote Sync":"Đồng bộ hóa từ xa","Remove":"Di dời","remove failed: unknown album":"xóa không thành công: album không xác định","Remove from Album":"Xóa khỏi album","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"Xóa các tập tin đã nhập để tiết kiệm dung lượng. Các loại tệp không được hỗ trợ sẽ không bao giờ bị xóa, chúng vẫn ở vị trí hiện tại.","Request failed - are you offline?":"Yêu cầu không thành công - bạn đang ngoại tuyến phải không?","Request failed - invalid response":"Yêu cầu không thành công - phản hồi không hợp lệ","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"Yêu cầu xem xét những hình ảnh không phải là ảnh chụp và chất lượng thấp trước khi chúng xuất hiện trong kết quả tìm kiếm.","Resolution":"Nghị quyết","Restart":"Khởi động lại","Restore":"Khôi phục","Restored":"Đã khôi phục","Retry Limit":"Giới hạn thử lại","Retype Password":"Gõ lại mật khẩu","Review":"Ôn tập","Role":"Vai trò","Rows per page:":"Số hàng trên mỗi trang:","Satellite":"Vệ tinh","Save":"Lưu","Scan":"Quét","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"Quét mã QR bằng ứng dụng xác thực của bạn hoặc sử dụng phím thiết lập hiển thị bên dưới rồi nhập mã xác minh đã tạo:","Scans":"Quét","Scope":"Phạm vi","Search":"Tìm kiếm","Search and display photos on a map.":"Tìm kiếm và hiển thị ảnh trên bản đồ.","Season":"Mùa","Secret":"Bí mật","Security and Access":"Bảo mật và truy cập","Select":"Lựa chọn","Select a source folder to import files…":"Chọn thư mục nguồn để nhập tệp…","Select date":"Chọn ngày","Select dates":"Chọn ngày","Select or create an album":"Chọn hoặc tạo một album","Select the files to upload…":"Chọn các tập tin để tải lên…","Select the folder to be indexed…":"Chọn thư mục cần lập chỉ mục…","Select Time":"Chọn thời gian","Selection approved":"Lựa chọn đã được phê duyệt","Selection archived":"Đã lưu trữ lựa chọn","Selection restored":"Đã khôi phục lựa chọn","Sequential Name":"Tên tuần tự","Service URL":"URL dịch vụ","Services":"Dịch vụ","Session":"Phiên họp","Session ID":"ID phiên","Sessions":"Phiên","Set as Album Cover":"Đặt làm Bìa Album","Settings":"Cài đặt","Settings saved":"Đã lưu cài đặt","Setup":"Cài đặt","Share":"Chia sẻ","Share %{s}":"Chia sẻ %{s}","Share your pictures with other apps and services.":"Chia sẻ hình ảnh của bạn với các ứng dụng và dịch vụ khác.","Show":"Trình diễn","Show all new faces":"Hiển thị tất cả các khuôn mặt mới","Show Captions":"Hiển thị phụ đề","Show hidden":"Hiển thị ẩn","Show less":"Hiện ít hơn","Show more":"Cho xem nhiều hơn","Show server logs in Library.":"Hiển thị nhật ký máy chủ trong Thư viện.","Show Titles":"Hiển thị tiêu đề","Sidecar":"xe sidecar","Sidecar Files":"Tập tin sidecar","Sign in":"Đăng nhập","Similar":"Tương tự","Size":"Kích cỡ","Slideshow":"Trình chiếu","Slow":"Chậm","Software":"Phần mềm","Software Update":"Cập nhật phần mềm","Something went wrong, try again":"Đã xảy ra lỗi, hãy thử lại","Sort by":"Sắp xếp theo","Sort Order":"Thứ tự sắp xếp","Sorted ascending.":"Sắp xếp theo thứ tự tăng dần.","Sorted descending.":"Sắp xếp theo thứ tự giảm dần.","Source":"Nguồn","Stack":"Cây rơm","Stack files sharing the same unique image or instance identifier.":"Xếp chồng các tệp chia sẻ cùng một hình ảnh hoặc mã định danh cá thể duy nhất.","Stack pictures taken at the exact same time and location based on their metadata.":"Xếp chồng các ảnh được chụp vào cùng thời điểm và vị trí dựa trên siêu dữ liệu của chúng.","Stackable":"có thể xếp chồng lên nhau","Stacks":"ngăn xếp","Start":"Bắt đầu","Start Page":"Trang Bắt Đầu","Static Size Limit: %{n}px":"Giới hạn kích thước tĩnh: %{n}px","Status":"Trạng thái","Storage":"Kho","Streets":"Đường phố","Subject":"Chủ thể","Submit":"Nộp","Successfully activated":"Đã kích hoạt thành công","Successfully Connected":"Kết nối thành công","Successfully deleted":"Đã xóa thành công","Successfully verified":"Đã xác minh thành công","Super Admin":"Quản trị viên cấp cao","Support for additional services, like Google Drive, will be added over time.":"Hỗ trợ cho các dịch vụ bổ sung, như Google Drive, sẽ được bổ sung theo thời gian.","Support Our Mission":"Hỗ trợ sứ mệnh của chúng tôi","Sync":"Đồng bộ hóa","Sync raw and video files":"Đồng bộ hóa các tập tin thô và video","Taken":"Lấy","Teal":"màu xanh mòng két","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"TensorFlow cần thiết để phân loại hình ảnh, nhận dạng khuôn mặt và phát hiện nội dung không an toàn.","Terrain":"Địa hình","Text":"Chữ","Text too long":"Văn bản quá dài","Thank You for Your Support!":"Cảm ơn sự hỗ trợ của bạn!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"Đó là lý do tại sao PhotoPrism được xây dựng từ đầu để chạy ở bất cứ nơi nào bạn cần mà không ảnh hưởng đến quyền tự do, quyền riêng tư hoặc chức năng.","The index currently contains %{n} hidden files.":"Chỉ mục hiện chứa %{n} tệp ẩn.","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"Định dạng của chúng có thể không được hỗ trợ, chúng chưa được chuyển đổi sang JPEG hoặc có bản sao.","Theme":"chủ đề","This field is required":"Trường này là bắt buộc","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"Thao tác này sẽ gắn thư mục gốc dưới dạng ổ đĩa mạng và cho phép bạn mở, chỉnh sửa và xóa các tệp khỏi máy tính hoặc điện thoại thông minh của bạn như thể chúng là cục bộ.","Time UTC":"thời gian UTC","Time Zone":"Múi giờ","Timeout":"Hết giờ","Title":{"Account":"Tiêu đề","Photo":"Tiêu đề","":"Tiêu đề"},"Title / Position":"Vị trí tiêu đề","Title too long":"Tiêu đề quá dài","to":"ĐẾN","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"Để tránh bị khóa tài khoản, vui lòng tải xuống, in hoặc sao chép mã khôi phục này ngay bây giờ và giữ nó ở nơi an toàn.","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"Để tạo mật khẩu mới dành riêng cho ứng dụng, vui lòng nhập tên và phạm vi ủy quyền của ứng dụng và chọn ngày hết hạn:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"Để chuyển sang ứng dụng hoặc thiết bị xác thực mới, trước tiên hãy tắt xác thực hai yếu tố rồi kích hoạt lại:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"Để nâng cấp, bạn có thể nhập mã kích hoạt hoặc nhấp vào \"Đăng ký\" để đăng ký trên trang web của chúng tôi:","Today":"Hôm nay","Toggle View":"Chuyển đổi chế độ xem","Token":"Mã thông báo","Too many files selected":"Đã chọn quá nhiều tệp","Too many requests":"quá nhiều yêu cầu","Troubleshooting":"Xử lý sự cố","Try again using other filters or keywords.":"Hãy thử lại bằng các bộ lọc hoặc từ khóa khác.","Two-factor authentication has been enabled for your account.":"Xác thực hai yếu tố đã được kích hoạt cho tài khoản của bạn.","Type":"Kiểu","Unable to delete":"Không thể xóa","Unauthorized":"Không được phép","Undo":"Hoàn tác","Unique ID":"ID duy nhất","Unknown":"không xác định","Unregistered":"Chưa đăng ký","Unsorted":"Chưa sắp xếp","Unstack":"Giải nén","Updated":"Đã cập nhật","Updating faces":"Cập nhật khuôn mặt","Updating index":"Đang cập nhật chỉ mục","Updating moments":"Cập nhật khoảnh khắc","Updating picture…":"Đang cập nhật hình ảnh…","Updating previews":"Đang cập nhật bản xem trước","Updating stacks":"Cập nhật ngăn xếp","Upgrade":"Nâng cấp","Upgrade Now":"Nâng cấp ngay bây giờ","Upload":"Tải lên","Upload complete":"Tải lên hoàn tất","Upload complete. Indexing…":"Tải lên hoàn tất. Lập chỉ mục…","Upload failed":"Tải lên không thành công","Upload local files":"Tải lên các tập tin cục bộ","Upload Path":"Đường dẫn tải lên","Upload to WebDAV and share links with friends.":"Tải lên WebDAV và chia sẻ liên kết với bạn bè.","Uploading %{n} of %{t}…":"Đang tải lên %{n} trong số %{t}…","Uploading photos…":"Đang tải ảnh lên…","Uploading…":"Đang tải lên…","Uploads that may contain such images will be rejected automatically.":"Những tải lên có thể chứa những hình ảnh như vậy sẽ tự động bị từ chối.","Use Presets":"Sử dụng cài đặt trước","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"Sử dụng mã khôi phục sau để truy cập vào tài khoản của bạn khi bạn không thể tạo mã xác minh hợp lệ bằng ứng dụng xác thực của mình:","Use your recovery code or contact an administrator for help.":"Sử dụng mã khôi phục của bạn hoặc liên hệ với quản trị viên để được trợ giúp.","User":"Người dùng","User Guide":"Hướng dẫn sử dụng","User Interface":"Giao diện người dùng","Username":"tên tài khoản","Users":"Người dùng","Vector":"Vectơ","Vectors":"Vectơ","Verification Code":"Mã xác nhận","Video":"Băng hình","Video Duration":"Thời lượng video","Videos":"Video","View":"Xem","View search results as a list.":"Xem kết quả tìm kiếm dưới dạng danh sách.","Viewer":"Người xem","Visitor":"Khách thăm quan","Visual Similarity":"Sự tương đồng về hình ảnh","Warning":"Cảnh báo","We appreciate your feedback!":"Chúng tôi cảm kích những phản hồi của bạn!","We do our best to respond within five business days or less.":"Chúng tôi cố gắng hết sức để phản hồi trong vòng năm ngày làm việc hoặc ít hơn.","Web Login":"Đăng nhập web","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"Máy khách WebDAV có thể kết nối với PhotoPrism bằng URL sau:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"Các máy khách WebDAV, như Windows Explorer của Microsoft hoặc Finder của Apple, có thể kết nối trực tiếp với\n PhotoPrism.","WebDAV Upload":"Tải lên WebDAV","WebGL support is disabled in your browser":"Hỗ trợ WebGL bị vô hiệu hóa trong trình duyệt của bạn","Website":"Trang mạng","White":"Trắng","Work Details":"Chi tiết công việc","Year":"Năm","Yellow":"Màu vàng","Yes":"Đúng","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"Bạn có thể liên hệ với chúng tôi theo địa chỉ member@photoprism.app nếu có câu hỏi liên quan đến tư cách thành viên của bạn.","You can only download one album":"Bạn chỉ có thể tải xuống một album","You can only download one label":"Bạn chỉ có thể tải xuống một nhãn","You can search for a location or move the marker on the map to change the position:":"Bạn có thể tìm kiếm vị trí hoặc di chuyển điểm đánh dấu trên bản đồ để thay đổi vị trí:","You can upload up to %{n} files for test purposes.":"Bạn có thể tải lên tối đa %{n} tệp cho mục đích thử nghiệm.","You may only select one item":"Bạn chỉ có thể chọn một mục","You may rescan your library to find additional faces.":"Bạn có thể quét lại thư viện của mình để tìm thêm khuôn mặt.","Your account has been successfully connected.":"Tài khoản của bạn đã được kết nối thành công.","Your browser does not support WebGL":"Trình duyệt của bạn không hỗ trợ WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"Sự hỗ trợ liên tục của bạn giúp chúng tôi cung cấp thông tin cập nhật thường xuyên và duy trì tính độc lập để chúng tôi có thể hoàn thành sứ mệnh của mình và bảo vệ quyền riêng tư của bạn.","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"Thư viện của bạn được phân tích liên tục để tự động tạo album về những khoảnh khắc, chuyến đi và địa điểm đặc biệt.","Zoom in/out":"Phóng to / thu nhỏ"}} \ No newline at end of file diff --git a/frontend/src/locales/json/zh.json b/frontend/src/locales/json/zh.json index fa5a64f8d..944e37e73 100644 --- a/frontend/src/locales/json/zh.json +++ b/frontend/src/locales/json/zh.json @@ -1 +1 @@ -{"zh":{"{0} appended action":"{0}附加行动","{0} files":"{0}个文件","{0} files ({1} in total)":"{0}个文件(共{1}个文件)","{0} more":"{0}更多","{0} prepended action":"{0}预设行动","{0} selected":"{0}已选定","{0}-{1} of {2}":"{2}的{0}-{1}部分","%{n} albums found":"已找到 %{n} 个相册","%{n} files uploaded":"已上传 %{n} 个文件","%{n} folders found":"已找到 %{n} 个文件夹","%{n} GB of %{q} GB used":"%{n}%{q}的 GB使用的 GB","%{n} labels found":"已找到 %{n} 个标签","%{n} people found":"已找到 %{n} 个人物","%{n} pictures found":"已找到 %{n} 张图片","%{s} is too long":"%{s} 太长","%{s} is too short":"%{s}太短","1 hour":"1 小时","12 hours":"12 小时","2-Factor Authentication":"双因素身份验证","2FA":"2FA","4 hours":"4 小时","A click will copy it to your clipboard.":"点击复制到剪贴板。","A new version of %{s} is available:":"%{s} 的新版本已发布:","About":"关于","Access Token":"访问令牌","Account":"账户","Account created":"账户已创建","Account deleted":"账户已删除","Account restored":"账户已恢复","Accounts":"账户","Accuracy":"准确率","Action":"动作","Actions":"动作","Activate":"激活","Activate to remove sorting.":"激活以删除排序。","Activate to sort ascending.":"激活以升序排序。","Activate to sort descending.":"激活以降序排序。","Activation Code":"激活码","Add":"添加","Add %{s}?":"添加 %{s}?","Add Account":"添加账户","Add Album":"添加相册","Add files to your library via Web Upload.":"从网页上传文件到库。","Add Link":"添加链接","Add person?":"加人?","Add pictures from search results by selecting them.":"从搜索结果中选择添加图片。","Add to album":"添加到相册","Added":"已添加","Admin":"管理员","Advanced":"高级","After 1 day":"1 天后","After 3 days":"3 天后","After 7 days":"7 天后","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"输入密码确认后,您可以使用兼容的身份验证器应用或设备设置双重身份验证:","After one month":"1 个月后","After one year":"1 年后","After selecting pictures from search results, you can add them to an album using the context menu.":"从搜索结果中选择图片后,你可以使用上下文菜单将它们添加到相册中。","After two months":"2 个月后","After two weeks":"两周后","Album":"相册","Album Backups":"相册备份","Album created":"相册已创建","Albums":"相册","Albums deleted":"相册已删除","All":"全部","All %{n} albums loaded":"%{n} 本相册已加载","All %{n} labels loaded":"%{n} 个标签已加载","All %{n} people loaded":"%{n} 个人物已加载","All Cameras":"全部相机","All Categories":"全部分类","All Colors":"全部颜色","All Countries":"全部国家","All fields are required":"所有字段均为必填项","All files from import folder":"导入文件夹中的所有文件","All Lenses":"全部镜头","All Months":"全部月份","All originals":"全部源图","All Years":"全部年份","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"或者,你也可以上传文件到类似 NextCloud 的 WebDAV 服务端。","Altitude":"海拔","Altitude (m)":"海拔(米)","AM":"上午","Animated":"动画","Animation":"动画","Any private photos and videos remain private and won't be shared.":"任何私有照片和视频都保持私有,不会被分享。","API Key":"API 密钥","Application":"应用","Apply":"应用","Approve":"批准","Apps and Devices":"应用程序和设备","Archive":"归档","Archived":"已归档","Are you sure you want to archive the selection?":"你确定要归档所选内容吗?","Are you sure you want to delete these albums?":"你确定要删除这些相册吗?","Are you sure you want to delete these labels?":"你确定要删除这些标签吗?","Are you sure you want to delete this account?":"你确定要删除此账号吗?","Are you sure you want to permanently delete these pictures?":"你确定要永久删除这些图片吗?","Are you sure you want to permanently delete this file?":"你确定要永久的删除这个文件吗?","Are you sure?":"你确定?","Artist":"艺术家","Aspect Ratio":"长宽比","Audio":"音频","Authentication":"认证","Auto":"汽车","Back":"后退","Back to top":"返回页首","Backup":"备份","Badge":"徽章","Base Path":"基本路径","Become a member today, support our mission and enjoy our member benefits!":"今天就成为会员,支持我们的使命,享受我们的会员福利!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"作为 100% 自筹资金和独立的公司,我们可以向您保证,我们永远不会出售您的数据,并且我们将始终对我们的软件和服务保持透明。","Bio":"简介","Birth Date":"出生日期","Black":"黑","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman:修改后的 Lanczos 算法,振铃效应更小","Blue":"蓝","Brown":"棕","Browse":"浏览","Browse and edit image classification labels.":"浏览和编辑图像分类标签。","Browse and share your pictures organized into monthly albums.":"浏览并分享按月整理的照片。","Browse Files":"浏览文件","Browse indexed files and folders in Library.":"浏览库中已索引的文件和文件夹。","Bug Report":"上报问题","Busy, please wait…":"正在忙碌,请稍候…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"通过使用我们提供的软件和服务,您同意我们的服务条款、隐私政策和行为准则。","Calendar":"日历","Camera":"相机","Camera Serial":"相机序列号","Can't access your authenticator app or device?":"无法访问您的身份验证应用程序或设备?","Can't load more, limit reached":"无法加载更多内容,已达上限","Can't select more items":"无法选择更多项目","Cancel":"取消","Caption":"标题","Cards":"卡片","Carousel slide {0} of {1}":"旋转木马幻灯片 {0} of {1}","Category":"分类","Change Avatar":"改变头像","Change Password":"更改密码","Change personal profile and security settings.":"修改个人资料及安全设置。","Change photo titles, locations, and other metadata.":"更改照片标题、位置及其他元数据。","Change private flag":"更改私有标记","Changes could not be saved":"无法保存变更","Changes successfully saved":"更改成功保存","Changes to the advanced settings require a restart to take effect.":"对高级设置的更改需要重新启动才能生效。","Checked":"已确认","Chroma":"色度","Cleaning index and cache":"清理索引和缓存","Cleanup":"清理","Clear {0}":"清除 {0}","Client":"客户","Client Credentials":"客户证书","Close":"关闭","Codec":"编解码器","Color":"颜色","Color Profile":"颜色简介","Colors":"颜色","Compare Editions":"版本比较","Complete Rescan":"完全重新扫描","Confidence":"置信度","Confirm":"确认","Connect":"连接","Connect via WebDAV":"使用 WebDAV 连接","Connected":"已连接","Contact Details":"联系方式","Contact Us":"联系我们","Contains %{n} pictures.":"包含 %{n} 张图片。","Contains one picture.":"包含一张图片。","Content":"内容","Continue":"继续","Continue with %{provider}":"继续 %{provider}","Contributor":"撰稿人","Converting":"转换中","Copied to clipboard":"已复制到剪贴板","Copy":"复制","Copyright":"版权","Couldn't find anything.":"找不到任何东西。","Country":"国家","Create Account":"创建账户","Create album":"创建相册","Create regular backups based on the configured schedule.":"根据配置的时间表创建索引备份。","Create YAML files to back up album metadata.":"创建 YAML 文件来备份相册元数据。","Create YAML sidecar files to back up picture metadata.":"创建 YAML sidecar 文件来备份图片元数据。","Created":"已创建","Creating thumbnails for":"创建缩略图,用于","Cubic: Moderate Quality, Good Performance":"Cubic: 质量适中,性能良好","Current Password":"当前密码","Custom":"定制","Cyan":"青","Daily":"每日","Database Backups":"数据库备份","Day":"天","Deactivate":"停用","Debug Logs":"调试日志","Default":"默认","Default Folder":"默认文件夹","Delete":"删除","Delete All":"全部删除","Delete all?":"全部删除?","Delete orphaned index entries, sidecar files and thumbnails.":"删除孤立索引项、副卡文件和缩略图。","Description":"描述","Detailed instructions can be found in our User Guide.":"详细说明可以在我们的用户指南中找到。","Details":"细节","Dimensions":"尺寸","Disable Backups":"禁用备份","Disable Darktable":"禁用 Darktable","Disable ExifTool":"禁用 ExifTool","Disable features that require write permission for the originals folder.":"禁用需要原件文件夹写入权限的功能。","Disable FFmpeg":"禁用 FFmpeg","Disable ImageMagick":"禁用ImageMagick","Disable interactive world maps and reverse geocoding.":"禁用交互式世界地图和反向地理编码。","Disable Places":"禁用地点","Disable RawTherapee":"禁用 RawTherapee","Disable TensorFlow":"禁用 TensorFlow","Disable Vectors":"禁用载体","Disable WebDAV":"禁用 WebDAV","Disables vector graphics support.":"禁用矢量图形支持。","Disables video transcoding and thumbnail extraction.":"禁用视频转码和缩略图提取。","Discover":"探索","Dismiss":"解散","Display Name":"昵称","Display picture captions in search results.":"在搜索结果中显示图片说明。","Display picture titles in search results.":"在搜索结果中显示图片标题。","Document":"文件","Documents":"文件","Don't use Darktable to convert RAW images.":"不使用 Darktable 转换 RAW 文件。","Don't use ImageMagick to convert images.":"不要用ImageMagick来转换图像。","Don't use RawTherapee to convert RAW images.":"不使用 RawTherapee 转换 RAW 文件。","Done":"完成","Done.":"完成。","Download":"下载","Download only original media files, without any automatically generated files.":"只下载原始媒体文件,不下载任何自动生成的文件。","Download remote files":"下载远端文件","Download single files and zip archives.":"下载单个文件并用 zip 压缩。","Downloading…":"下载中…","Downscaling Filter":"缩小方法","Drag and drop files here":"在此处拖放文件","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"由于我们收到大量的电子邮件,我们的团队可能无法立即回复你。","Duplicates will be skipped and only appear once.":"重复项将被跳过,仅出现一次。","Duration":"持续时间","Dynamic Previews":"动态预览","Dynamic Size Limit: %{n}px":"动态尺寸限制:%{n}px","E-Mail":"电子邮件","Edit":"编辑","Edit %{s}":"编辑 %{s}","Edit Account":"编辑账户","Edit Photo":"编辑照片","Edited":"已编辑","Email":"电子邮箱","Enable debug mode to display additional logs and help with troubleshooting.":"启用调试模式可显示更多日志,帮助排除故障。","Enable new features that may be incomplete or unstable.":"启用可能不完整或不稳定的新功能。","Enables RAW converter presets. May reduce performance.":"启用 RAW 转换器预设,可能会降低性能。","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"启用双重身份验证意味着您需要随机生成的验证码才能登录,因此即使有人获得了您的密码,他们也无法访问您的帐户。","Enter date":"输入日期","Enter dates":"输入日期","Enter the code generated by your authenticator app:":"输入验证程序生成的代码:","Enter verification code":"输入验证码","Enter your password to confirm the action and continue:":"输入您的密码确认操作并继续:","Error":"错误","Errors":"错误","Estimate":"估算","Estimate Locations":"估计地点","Estimate the approximate location of pictures without GPS coordinates.":"在没有 GPS 坐标的情况下估算图片的大致位置。","Every two days":"每两天","Exclude content marked as private from search results, shared albums, labels, and places.":"排除搜索结果中标记私有的内容,已共享的相册、标签和地点。","Exclude hidden":"排除已隐藏","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"要完全支持视频、实时照片和 XMP,需要使用 ExifTool 提取元数据。","Experimental Features":"实验特性","Expires":"时限","Exposure":"曝光度","Extract still images and generate thumbnails while indexing.":"提取静态图像并在编制索引时生成缩略图。","F Number":"光圈数","Face":"面部","Faces":"面部","Failed removing link":"删除链接失败","Failed to connect account.":"连接账户失败。","Failed updating link":"更新链接失败","Family Name":"姓","Fast":"快","Favorite":"收藏","Favorites":"收藏","Feature Request":"特性请求","Feedback":"反馈","Female":"女","File":"文件","File Browser":"文件浏览器","File Conversion":"文件转换","File Name":"文件名","File Size":"文件大小","Filename":"文件名","Files":"文件","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"顺序名称的文件如“IMG_1234 (2)”和“IMG_1234 (3)”的文件属于同一图片。","First page":"第一页","Focal Length":"焦距","Folder":"文件夹","Folder contains %{n} files":"文件夹中有 %{n} 个文件","Folder is empty":"文件夹为空","Folders":"文件夹","Forgot password?":"忘记密码?","FPS":"帧数","Frames":"框架","Full Access":"完全访问","Fullscreen":"全屏","General":"一般","Generate":"产生","Generate albums of special moments, journeys, and places.":"自动创建特殊时刻、旅行和地点的相册。","Generate Previews":"生成预览","Generated":"生成","Get Started":"开始","Given Name":"名","Global Options":"全局选项","Go to page {0}":"转到 {0} 页","Gold":"金","Green":"绿","Grey":"灰","Guest":"访客","Hash":"哈希","Help":"帮助","Help & Support":"帮助和支持","Hidden":"隐藏","Hidden Files":"隐藏文件","Hide":"隐藏","Hide photos that have been moved to archive.":"隐藏已归档的照片。","High":"高","High Dynamic Range (HDR)":"高动态范围渲染(HDR)","How can we help?":"我们可以帮您吗?","Hybrid":"混合地图","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"如果您无法访问身份验证器应用或设备,则可以使用恢复代码重新访问您的帐户。","Image":"图片","Image Quality":"图像质量","Import":"导入","Import failed":"导入失败","Imported files will be sorted by date and given a unique name to avoid duplicates.":"导入的文件将按日期排序,并指定一个唯一的名称以避免重复。","Imported files will be sorted by date and given a unique name.":"导入的文件将按日期排序,并指定一个唯一的名称。","Importing %{s}…":"导入 %{s} 中…","Importing files to originals…":"导入文件到源…","in":"于","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"如果您想要的图片丢失,请重新扫描库并等待索引完成。","Include RAW image files when downloading stacks and archives.":"在下载堆栈和档案时包括RAW图像文件。","Include sidecar files when downloading stacks and archives.":"在下载堆栈和档案时包括sidecar文件。","Increase storage size or delete files to continue.":"增加存储空间或删除文件以继续。","Index":"索引","Index and import files through the user interface.":"通过用户界面索引和导入文件。","Indexing":"索引中","Indexing failed":"索引失败","Indexing media and sidecar files…":"索引媒体和附属文件…","Information":"信息","Instance ID":"实例 ID","Insufficient storage.":"存储不足","Interval":"间隔","Invalid":"无效","Invalid address":"无效地址","Invalid country":"无效国家","Invalid date":"无效日期","Invalid parameters":"参数无效","Invalid photo selected":"选择了无效的照片","Invalid time":"无效时间","Invalid URL":"无效 URL","It is a one-time use code that will disable 2FA for your account when you use it.":"这是一个一次性使用的代码,当您使用它时将禁用您帐户的 2FA。","Item":"项目","Items per page:":"每页项目:","JPEG Quality: %{n}":"JPEG 质量:%{n}","JPEG Size Limit: %{n}px":"JPEG 尺寸限制:%{n}px","JPEGs and thumbnails are automatically rendered as needed.":"系统会根据需要自动生成缩略图及JPEG格式的预览图。","Keywords":"关键字","Label":"标签","Labels":"标签","Labels deleted":"标签已移除","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos:保留细节,虚影较小","Language":"语言","Last Active":"最后一次活动","Last Login":"最后一次登录","Last page":"最后一页","Last Sync":"上次同步","Last Used":"最后使用","Latitude":"纬度","LDAP/AD":"LDAP/AD","Learn more":"进一步了解","Learn More":"了解更多","Legal Information":"法律信息","Lens":"镜头","Library":"资料库","License":"许可证","Like":"喜欢","Lime":"淡绿","Limit reached, showing first %{n} files":"已达到限制,显示前 %{n} 个文件","Linear: Very Smooth, Best Performance":"Linear: 非常平滑,性能最佳","Link":"链接","List":"列表","List View":"列表查看","Live":"实况","Live Photos":"实况照片","Load more":"加载更多","Loading items...":"正在加载项目...","Loading...":"正在加载...","Local":"当地","Local Time":"本地时间","Location":"位置","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"每当 PhotoPrism 遇到损坏的文件或其他潜在问题时,日志消息就会出现在这里。","Login":"登录","Logout":"登出","Logs":"日志","Longitude":"经度","Low":"低","Magenta":"洋红","Main Color":"主色调","Male":"男","Manage Account":"管理账户","Manual":"手动","Manual Upload":"手动上传","Maps":"地图","Marker":"标记","Maximum number of accounts has been reached.":"账户数已达到上限。","Media":"媒体","Medium":"中","Membership":"会员资格","Merge %{a} with %{b}?":"将 %{a} 与 %{b} 合并?","Message":"留言","Message sent":"消息已发送","Metadata":"元数据","Metrics":"指标","Minimize":"最小化","Missing":"缺失","Missing or invalid configuration":"配置缺失或无效","Moments":"瞬间","Monochrome":"黑白","Month":"月","More options":"更多选择","Mosaic":"马赛克","Most Relevant":"最相关","Move Files":"移动文件","Must have at least %{n} characters.":"必须至少有%{n}个字符。","Mute":"静音","Name":"名称","Name too long":"名称太长","Never":"永不","New":"新","New Password":"新密码","Newest First":"最新优先","Next":"下一页","Next page":"下一页","Next visual":"下一个视觉","No":"否","No albums found":"找不到相册","No data available":"无数据","No labels found":"找不到标签","No matching records found":"未找到匹配记录","No more":"没有更多","No people found":"找不到人物","No pictures found":"找不到图片","No recently edited pictures":"没有最近编辑过的图片","No server connection":"无服务器连接","No servers configured.":"沒有服务器配置。","No services configured.":"没有配置服务。","No thanks":"不用了,谢谢","No warnings or error containing this keyword. Note that search is case-sensitive.":"没有包含此关键字的警告或错误,请注意,搜索区分大小写。","Non-photographic and low-quality images require a review before they appear in search results.":"非照片和低质量图像出现在搜索结果中前需要进行审查。","None":"无","Not allowed":"不允许","Not found":"未找到","Not sorted.":"未分类。","Not supported":"不支持","Note you may manually manage your originals folder and importing is optional.":"如果希望保持原有文件名及目录结构,请直接管理源文件夹,不要使用导入功能。","Note:":"注意:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"注意:只能将 WebDAV 服务器(如 Nextcloud 或 PhotoPrism)配置为远程服务,以进行备份和文件上传。","Notes":"备注","Nothing to see here yet.":"暂无数据。","Nothing was found.":"没有发现任何问题。","Offline":"离线","OIDC":"奥伊德数据中心","OK":"好的","Oldest First":"最旧优先","On Windows, enter the following resource in the connection dialog:":"在 Windows 上,连接对话框中使用以下资源:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"按需生成缩略图可能会导致较高的 CPU 和内存使用率。不建议资源有限的服务器和 NAS 设备使用。","Once a week":"每周一次","One album found":"已找到一本相册","One file found":"已找到一个文件","One file uploaded":"已上传一个文件","One folder found":"已找到一个文件夹","One label found":"已找到一个标签","One person found":"已找到一个人物","One picture found":"已发现一张图片","Only locally managed accounts can be set up for authentication with 2FA.":"仅可设置本地管理的帐户进行 2FA 身份验证。","Open":"开放","optional":"可选的","or":"或","Orange":"橙","Organization":"组织机构","Orientation":"朝向","Original file names will be stored and indexed.":"原始文件名将被存储并索引。","Original Name":"源文件名","Originals":"源","Other":"其他","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"我们的使命是提供对绝大部分用户——及隐私最友好的解决方案,以保持你的照片有条理和可访问。","Outdoor":"户外地图","Page {0}, Current page":"第 {0} 页,当前页","Pages":"页面","Pagination Navigation":"分页导航","Panorama":"全景","Panoramas":"全景","Password":"密码","Password changed":"密码已更改","People":"人物","People you share a link with will be able to view public contents.":"与您共享链接的人将可以查看公共内容。","Permanently deleted":"已永久删除","Permanently remove files to free up storage.":"永久删除文件以释放存储空间。","Person":"个人","Personal":"个人","Photo":"相片","PhotoPrism is 100% self-funded and independent.":"PhotoPrism是100%自筹资金和独立的。","PhotoPrism+ Membership":"照片棱镜+会员资格","Photos":"照片","Picture Title":"图片标题","Pink":"粉红","Place":"地点","Place & Time":"地点和时间","Places":"地点","Please confirm your new password.":"请确认新密码。","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"请复制以下随机生成的应用程序密码并将其保存在安全的地方,因为您将无法再次看到它:","Please do not upload any private, unlawful or offensive pictures.":"请勿上传任何私人、非法或攻击性图片。","Please don't upload photos containing offensive content.":"请不要上传包含令人反感的内容的照片。","Please enter OTP character {0}":"请输入 OTP 字符 {0}","Please note that changing your password will log you out on other devices and browsers.":"请注意,修改密码将退出你已登录在其他设备和浏览器上的账号。","Please restart your instance for the changes to take effect.":"请重新启动您的实例以使变化生效。","Please wait…":"请等待…","PM":"下午","PNG Size Limit: %{n}px":"PNG 尺寸限制:%{n}px","Portrait":"人像","Preserve filenames":"保留文件名","Press enter to create a new album.":"按下 Enter 键创建一个新相册。","Prevent database and album backups as well as YAML sidecar files from being created.":"防止创建数据库和相册备份以及 YAML sidecar 文件。","Prevent other apps from accessing PhotoPrism as a shared network drive.":"防止其他应用程序将 PhotoPrism 作为共享网络驱动器访问。","Preview":"预览","Preview Images":"图片预览","Previous":"上一页","Previous page":"上一页","Previous visual":"上一个视觉","Primary":"主文件","Private":"私有","Product Feedback":"产品反馈","Projection":"投影","Purple":"紫","Quality Filter":"质量筛选","Quality Score":"质量得分","r":"r","Random":"随机","Rating {0} of {1}":"评级 {0} of {1}","Raw":"原始数据","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"重新索引所有源文件,包括已索引和未更改的文件。","Read-Only Mode":"只读模式","Recently Added":"最近添加","Recently Archived":"最近存档","Recently Edited":"最近编辑","Recognition starts after indexing has been completed.":"识别工作在索引完成后开始。","Recognize faces so people can be assigned and found.":"识别人脸,以便能够找到特定的人。","Recognized":"已识别","Recovery Code":"恢复代码","Red":"红","Refresh":"刷新","Regions":"地区","Register":"注册","Reload":"重载","Reloading…":"重载中…","Remote Sync":"远端同步","Remove":"移除","remove failed: unknown album":"移除失败:未知相册","Remove from Album":"从相册中移除","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"移除导入的文件以节省存储空间,不支持的文件类型将永远不会被删除,它们会保留在它们当前的位置。","Request failed - are you offline?":"请求失败 - 你是否离线?","Request failed - invalid response":"请求失败——无效的响应","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"要求非图片和低质量图片在出现在搜索结果中之前必须经过审核。","Resolution":"分辨率","Restart":"重新启动","Restore":"恢复","Restored":"恢复","Retry Limit":"重试限制","Retype Password":"重新输入密码","Review":"审查","Role":"角色","Rows per page:":"每页行数:","Satellite":"卫星","Save":"保存","Scan":"扫描","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"使用您的身份验证器应用程序扫描二维码或使用下面显示的设置键,然后输入生成的验证码:","Scans":"扫描","Scope":"范围","Search":"搜索","Search and display photos on a map.":"在地图上搜索并显示照片。","Season":"季节","Secret":"密钥","Security and Access":"安全和访问","Select":"选择","Select a source folder to import files…":"选择要导入文件的源文件夹…","Select date":"选择日期","Select dates":"选择日期","Select or create an album":"选择或创建相册","Select the files to upload…":"选择要上传的文件…","Select the folder to be indexed…":"选择要编制索引的文件夹…","Select Time":"选择时间","Selection approved":"所选项已批准","Selection archived":"所选项已归档","Selection restored":"所选项已恢复","Sequential Name":"顺序名称","Service URL":"服务 URL","Services":"服务","Session":"会议","Session ID":"会议ID","Sessions":"会议","Set as Album Cover":"设为专辑封面","Settings":"设置","Settings saved":"设置已保存","Setup":"设置","Share":"分享","Share %{s}":"分享 %{s}","Share your pictures with other apps and services.":"与其他应用程序和服务分享你的图片。","Show":"显示","Show all new faces":"显示所有的新面孔","Show Captions":"显示字幕","Show hidden":"显示隐藏","Show less":"显示更少","Show more":"显示更多","Show server logs in Library.":"在库中显示服务器日志。","Show Titles":"显示标题","Sidecar":"附属","Sidecar Files":"Sidecar 文件","Sign in":"登录","Similar":"相似","Size":"尺寸","Slideshow":"幻灯片","Slow":"慢","Software":"软件","Software Update":"软件更新","Something went wrong, try again":"出错了,再试一次","Sort by":"排序方式","Sort Order":"排序","Sorted ascending.":"按升序排列。","Sorted descending.":"按降序排列。","Source":"来源","Stack":"堆","Stack files sharing the same unique image or instance identifier.":"文件堆共享相同的唯一图像或实例标识符。","Stack pictures taken at the exact same time and location based on their metadata.":"根据图片的元数据,堆叠在相同的时间和地点拍摄的图片。","Stackable":"可堆叠","Stacks":"堆","Start":"开始","Start Page":"起始页","Static Size Limit: %{n}px":"静态渲染尺寸限制: %{n}px","Status":"状态","Storage":"存储","Streets":"街道图","Subject":"主题","Submit":"提交","Successfully activated":"已成功激活","Successfully Connected":"账户成功连接","Successfully deleted":"已成功删除","Successfully verified":"验证成功","Super Admin":"超级管理员","Support for additional services, like Google Drive, will be added over time.":"随着时间的推移,将增加对其他服务的支持,例如 Google 云端硬盘。","Support Our Mission":"支持我们的使命","Sync":"同步","Sync raw and video files":"同步 Raw 和视频文件","Taken":"纳入于","Teal":"蓝绿","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"图像分类、面部识别和检测不安全内容都需要使用 TensorFlow。","Terrain":"地形","Text":"文本","Text too long":"文字太长","Thank You for Your Support!":"感谢你的支持!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"这就是为什么PhotoPrism从一开始就能在你需要的地方运行,而不影响自由、隐私或功能。","The index currently contains %{n} hidden files.":"该索引当前包含 %{n} 个隐藏文件。","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"它们的格式可能不受支持,它们尚未转换为 JPEG 或存在重复项。","Theme":"主题","This field is required":"该字段为必填字段","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"这会将源文件夹安装为网络驱动器,并允许您从计算机或智能手机中打开,编辑和删除文件,就像它们是本地文件一样。","Time UTC":"UTC 时间","Time Zone":"时区","Timeout":"超时","Title":{"Account":"标题","Photo":"标题","":"标题"},"Title / Position":"职称/职位","Title too long":"标题太长了","to":"到","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"为了避免您的帐户被锁定,请立即下载、打印或复制此恢复代码并将其保存在安全的地方。","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"生成新的应用专用密码,请输入应用程序的名称、授权范围并选择到期日期:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"要切换到新的身份验证器应用程序或设备,请先停用双重身份验证,然后重新激活它:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"要升级,你可以输入激活码或点击 \"注册\",在我们的网站上注册:","Today":"今天","Toggle View":"切换视图","Token":"令牌","Too many files selected":"选择的文件过多","Too many requests":"请求太多","Troubleshooting":"故障排除","Try again using other filters or keywords.":"使用其他过滤器或关键字再试一次。","Two-factor authentication has been enabled for your account.":"您的帐户已启用双重身份验证。","Type":"类型","Unauthorized":"未经授权的","Undo":"撤销","Unique ID":"唯一标识符","Unknown":"未知","Unregistered":"未注册的","Unsorted":"未分类","Unstack":"取消堆叠","Updated":"已更新","Updating faces":"更新面部","Updating index":"更新索引","Updating moments":"更新时刻","Updating picture…":"更新图片…","Updating previews":"更新预览","Updating stacks":"更新堆","Upgrade":"升级","Upgrade Now":"立即升级","Upload":"上传","Upload complete":"上传完成","Upload complete. Indexing…":"上传完成,索引中…","Upload failed":"上传失败","Upload local files":"上传本地文件","Upload Path":"上传路径","Upload to WebDAV and share links with friends.":"上传到 WebDAV 并与朋友共享链接。","Uploading %{n} of %{t}…":"上传 %{n} / %{t} …","Uploading photos…":"上传照片…","Uploading…":"上传中…","Uploads that may contain such images will be rejected automatically.":"可能包含此类图像的上传将被自动拒绝。","Use Presets":"使用预设","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"当您无法使用身份验证器应用生成有效的验证码时,请使用以下恢复代码访问您的帐户:","Use your recovery code or contact an administrator for help.":"使用恢复密码或联系管理员寻求帮助。","User":"用户","User Guide":"用户指南","User Interface":"用户界面","Username":"用户名","Users":"用户","Vector":"矢量","Vectors":"媒介物","Verification Code":"验证码","Video":"视频","Video Duration":"视频时长","Videos":"视频","View":"视图","View search results as a list.":"以列表形式查看搜索结果。","Viewer":"浏览者","Visitor":"访客","Visual Similarity":"视觉相似性","Warning":"警告","We appreciate your feedback!":"感谢您的反馈!","We do our best to respond within five business days or less.":"我们尽力在五个工作日或更短时间内作出回应。","Web Login":"网络登录","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"WebDAV 客户端可以使用以下 URL 连接到 PhotoPrism:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"WebDAV 客户端(例如 Microsoft 的 Windows 资源管理器或 Apple 的 Finder)可以直接连接到 PhotoPrism。","WebDAV Upload":"WebDAV 上传","WebGL support is disabled in your browser":"您的浏览器已禁用 WebGL 支持","Website":"网站","White":"白","Work Details":"作品详情","Year":"年","Yellow":"黄","Yes":"是","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"欢迎你与我们联系,membership@photoprism.app,询问有关你的会员资格的问题。","You can only download one album":"你只能下载一个相册","You can only download one label":"你只能下载一个标签","You can upload up to %{n} files for test purposes.":"您最多可以上传 %{n} 个文件用于测试。","You may only select one item":"你只能选择一项","You may rescan your library to find additional faces.":"你可以重新扫描你的库以找到更多的面部。","Your account has been successfully connected.":"您的账户已成功连接。","Your browser does not support WebGL":"您的浏览器不支持 WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"您的持续支持有助于我们提供定期更新并保持独立,因此我们可以履行我们的使命并保护您的隐私。","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"你的库被不断分析,以自动创建特殊时刻、旅行和地点的相册。","Zoom in/out":"缩放"}} \ No newline at end of file +{"zh":{"{0} appended action":"{0}附加行动","{0} files":"{0}个文件","{0} files ({1} in total)":"{0}个文件(共{1}个文件)","{0} more":"{0}更多","{0} prepended action":"{0}预设行动","{0} selected":"{0}已选定","{0}-{1} of {2}":"{2}的{0}-{1}部分","%{n} albums found":"已找到 %{n} 个相册","%{n} files uploaded":"已上传 %{n} 个文件","%{n} folders found":"已找到 %{n} 个文件夹","%{n} GB of %{q} GB used":"已使用%{n}GB,共%{q}GB","%{n} labels found":"已找到 %{n} 个标签","%{n} people found":"已找到 %{n} 个人物","%{n} pictures found":"已找到 %{n} 张图片","%{s} is too long":"%{s} 太长","%{s} is too short":"%{s}太短","1 hour":"1 小时","12 hours":"12 小时","2-Factor Authentication":"双因素身份验证","2FA":"2FA","4 hours":"4 小时","A click will copy it to your clipboard.":"点击复制到剪贴板。","A new version of %{s} is available:":"%{s} 的新版本已发布:","About":"关于","Access Token":"访问令牌","Account":"账户","Account created":"账户已创建","Account deleted":"账户已删除","Account restored":"账户已恢复","Accounts":"账户","Accuracy":"准确率","Action":"动作","Actions":"动作","Activate":"激活","Activate to remove sorting.":"激活以删除排序。","Activate to sort ascending.":"激活以升序排序。","Activate to sort descending.":"激活以降序排序。","Activation Code":"激活码","Add":"添加","Add %{s}?":"添加 %{s}?","Add Account":"添加账户","Add Album":"添加相册","Add files to your library via Web Upload.":"从网页上传文件到库。","Add Link":"添加链接","Add person?":"新增人物?","Add pictures from search results by selecting them.":"从搜索结果中选择添加图片。","Add to album":"添加到相册","Added":"已添加","Adjust Location":"调整位置","Admin":"管理员","Advanced":"高级","After 1 day":"1 天后","After 3 days":"3 天后","After 7 days":"7 天后","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"输入密码确认后,您可以使用兼容的身份验证器应用或设备设置双重身份验证:","After one month":"1 个月后","After one year":"1 年后","After selecting pictures from search results, you can add them to an album using the context menu.":"从搜索结果中选择图片后,你可以使用上下文菜单将它们添加到相册中。","After two months":"2 个月后","After two weeks":"两周后","Album":"相册","Album Backups":"相册备份","Album created":"相册已创建","Album deleted":"相册已删除","Albums":"相册","Albums deleted":"相册已删除","All":"全部","All %{n} albums loaded":"%{n} 本相册已加载","All %{n} labels loaded":"%{n} 个标签已加载","All %{n} people loaded":"%{n} 个人物已加载","All Cameras":"全部相机","All Categories":"全部分类","All Colors":"全部颜色","All Countries":"全部国家","All fields are required":"所有字段均为必填项","All files from import folder":"导入文件夹中的所有文件","All Lenses":"全部镜头","All Months":"全部月份","All originals":"全部源图","All Years":"全部年份","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"或者,你也可以上传文件到类似 NextCloud 的 WebDAV 服务端。","Altitude":"海拔","Altitude (m)":"海拔(米)","AM":"上午","Animated":"动画","Animation":"动画","Animations":"动画","Any private photos and videos remain private and won't be shared.":"任何私有照片和视频都保持私有,不会被分享。","API Key":"API 密钥","Application":"应用","Apply":"应用","Approve":"批准","Apps and Devices":"应用程序和设备","Archive":"归档","Archived":"已归档","Are you sure you want to archive the selection?":"你确定要归档所选内容吗?","Are you sure you want to delete these albums?":"你确定要删除这些相册吗?","Are you sure you want to delete these labels?":"你确定要删除这些标签吗?","Are you sure you want to delete this account?":"你确定要删除此账号吗?","Are you sure you want to delete this album?":"您确定要删除此相册吗?","Are you sure you want to permanently delete these pictures?":"你确定要永久删除这些图片吗?","Are you sure you want to permanently delete this file?":"你确定要永久的删除这个文件吗?","Are you sure?":"你确定?","Artist":"艺术家","Aspect Ratio":"长宽比","Audio":"音频","Authentication":"认证","Auto":"汽车","Back":"后退","Back to top":"返回页首","Backup":"备份","Badge":"徽章","Base Path":"基本路径","Become a member today, support our mission and enjoy our member benefits!":"今天就成为会员,支持我们的使命,享受我们的会员福利!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"作为 100% 自筹资金和独立的公司,我们可以向您保证,我们永远不会出售您的数据,并且我们将始终对我们的软件和服务保持透明。","Bio":"简介","Birth Date":"出生日期","Black":"黑","Blackman: Lanczos Modification, Less Ringing Artifacts":"Blackman:修改后的 Lanczos 算法,振铃效应更小","Blue":"蓝","Brown":"棕","Browse":"浏览","Browse and edit image classification labels.":"浏览和编辑图像分类标签。","Browse and share your pictures organized into monthly albums.":"浏览并分享按月整理的照片。","Browse Files":"浏览文件","Browse indexed files and folders in Library.":"浏览库中已索引的文件和文件夹。","Bug Report":"上报问题","Busy, please wait…":"正在忙碌,请稍候…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"通过使用我们提供的软件和服务,您同意我们的服务条款、隐私政策和行为准则。","Calendar":"日历","Camera":"相机","Camera Serial":"相机序列号","Can't access your authenticator app or device?":"无法访问您的身份验证应用程序或设备?","Can't load more, limit reached":"无法加载更多内容,已达上限","Can't select more items":"无法选择更多项目","Cancel":"取消","Cannot copy to clipboard":"无法复制到剪贴板","Caption":"标题","Cards":"卡片","Carousel slide {0} of {1}":"旋转木马幻灯片 {0} of {1}","Category":"分类","Change Avatar":"改变头像","Change Password":"更改密码","Change personal profile and security settings.":"修改个人资料及安全设置。","Change photo titles, locations, and other metadata.":"更改照片标题、位置及其他元数据。","Change private flag":"更改私有标记","Changes could not be saved":"无法保存变更","Changes successfully saved":"更改成功保存","Changes to the advanced settings require a restart to take effect.":"对高级设置的更改需要重新启动才能生效。","Checked":"已确认","Chroma":"色度","Cleaning index and cache":"清理索引和缓存","Cleanup":"清理","Clear {0}":"清除 {0}","Client":"客户","Client Credentials":"客户证书","Close":"关闭","Codec":"编解码器","Color":"颜色","Color Profile":"颜色简介","Colors":"颜色","Compare Editions":"版本比较","Complete Rescan":"完全重新扫描","Confidence":"置信度","Confirm":"确认","Connect":"连接","Connect via WebDAV":"使用 WebDAV 连接","Connected":"已连接","Contact Details":"联系方式","Contact Us":"联系我们","Contains %{n} pictures.":"包含 %{n} 张图片。","Contains one picture.":"包含一张图片。","Content":"内容","Continue":"继续","Continue with %{provider}":"继续 %{provider}","Contributor":"撰稿人","Converting":"转换中","Copied to clipboard":"已复制到剪贴板","Copy":"复制","Copyright":"版权","Couldn't find anything.":"找不到任何东西。","Country":"国家","Create Account":"创建账户","Create album":"创建相册","Create regular backups based on the configured schedule.":"根据配置的时间表创建索引备份。","Create YAML files to back up album metadata.":"创建 YAML 文件来备份相册元数据。","Create YAML sidecar files to back up picture metadata.":"创建 YAML sidecar 文件来备份图片元数据。","Created":"已创建","Creating thumbnails for":"创建缩略图,用于","Cubic: Moderate Quality, Good Performance":"Cubic: 质量适中,性能良好","Current Password":"当前密码","Custom":"定制","Cyan":"青","Daily":"每日","Database Backups":"数据库备份","Day":"天","Deactivate":"停用","Debug Logs":"调试日志","Default":"默认","Default Folder":"默认文件夹","Delete":"删除","Delete Album":"删除相册","Delete All":"全部删除","Delete all?":"全部删除?","Delete orphaned index entries, sidecar files and thumbnails.":"删除孤立索引项、副卡文件和缩略图。","Description":"描述","Detailed instructions can be found in our User Guide.":"详细说明可以在我们的用户指南中找到。","Details":"细节","Dimensions":"尺寸","Disable Backups":"禁用备份","Disable Darktable":"禁用 Darktable","Disable ExifTool":"禁用 ExifTool","Disable features that require write permission for the originals folder.":"禁用需要原件文件夹写入权限的功能。","Disable FFmpeg":"禁用 FFmpeg","Disable ImageMagick":"禁用ImageMagick","Disable interactive world maps and reverse geocoding.":"禁用交互式世界地图和反向地理编码。","Disable Places":"禁用地点","Disable RawTherapee":"禁用 RawTherapee","Disable TensorFlow":"禁用 TensorFlow","Disable Vectors":"禁用载体","Disable WebDAV":"禁用 WebDAV","Disables vector graphics support.":"禁用矢量图形支持。","Disables video transcoding and thumbnail extraction.":"禁用视频转码和缩略图提取。","Discover":"探索","Dismiss":"解散","Display Name":"昵称","Display picture captions in search results.":"在搜索结果中显示图片说明。","Display picture titles in search results.":"在搜索结果中显示图片标题。","Document":"文件","Documents":"文件","Don't use Darktable to convert RAW images.":"不使用 Darktable 转换 RAW 文件。","Don't use ImageMagick to convert images.":"不要用ImageMagick来转换图像。","Don't use RawTherapee to convert RAW images.":"不使用 RawTherapee 转换 RAW 文件。","Done":"完成","Done.":"完成。","Download":"下载","Download only original media files, without any automatically generated files.":"只下载原始媒体文件,不下载任何自动生成的文件。","Download remote files":"下载远端文件","Download single files and zip archives.":"下载单个文件并用 zip 压缩。","Downloading…":"下载中…","Downscaling Filter":"缩小方法","Drag and drop files here":"在此处拖放文件","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"由于我们收到大量的电子邮件,我们的团队可能无法立即回复你。","Duplicates will be skipped and only appear once.":"重复项将被跳过,仅出现一次。","Duration":"持续时间","Dynamic Previews":"动态预览","Dynamic Size Limit: %{n}px":"动态尺寸限制:%{n}px","E-Mail":"电子邮件","Edit":"编辑","Edit %{s}":"编辑 %{s}","Edit Account":"编辑账户","Edit Photo":"编辑照片","Edited":"已编辑","Email":"电子邮箱","Enable debug mode to display additional logs and help with troubleshooting.":"启用调试模式可显示更多日志,帮助排除故障。","Enable new features that may be incomplete or unstable.":"启用可能不完整或不稳定的新功能。","Enables RAW converter presets. May reduce performance.":"启用 RAW 转换器预设,可能会降低性能。","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"启用双重身份验证意味着您需要随机生成的验证码才能登录,因此即使有人获得了您的密码,他们也无法访问您的帐户。","Enter date":"输入日期","Enter dates":"输入日期","Enter the code generated by your authenticator app:":"输入验证程序生成的代码:","Enter verification code":"输入验证码","Enter your password to confirm the action and continue:":"输入您的密码确认操作并继续:","Error":"错误","Errors":"错误","Estimate":"估算","Estimate Locations":"估计地点","Estimate the approximate location of pictures without GPS coordinates.":"在没有 GPS 坐标的情况下估算图片的大致位置。","Every two days":"每两天","Exclude content marked as private from search results, shared albums, labels, and places.":"排除搜索结果中标记私有的内容,已共享的相册、标签和地点。","Exclude hidden":"排除已隐藏","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"要完全支持视频、实时照片和 XMP,需要使用 ExifTool 提取元数据。","Experimental Features":"实验特性","Expires":"时限","Exposure":"曝光度","Extract still images and generate thumbnails while indexing.":"提取静态图像并在编制索引时生成缩略图。","F Number":"光圈数","Face":"面部","Faces":"面部","Failed removing link":"删除链接失败","Failed to connect account.":"连接账户失败。","Failed updating link":"更新链接失败","Family Name":"姓","Fast":"快","Favorite":"收藏","Favorites":"收藏","Feature Request":"特性请求","Feedback":"反馈","Female":"女","File":"文件","File Browser":"文件浏览器","File Conversion":"文件转换","File Name":"文件名","File Size":"文件大小","Filename":"文件名","Files":"文件","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"顺序名称的文件如“IMG_1234 (2)”和“IMG_1234 (3)”的文件属于同一图片。","First page":"第一页","Focal Length":"焦距","Folder":"文件夹","Folder contains %{n} files":"文件夹中有 %{n} 个文件","Folder is empty":"文件夹为空","Folders":"文件夹","Forgot password?":"忘记密码?","FPS":"帧数","Frames":"框架","Full Access":"完全访问","Fullscreen":"全屏","General":"一般","Generate":"产生","Generate albums of special moments, journeys, and places.":"自动创建特殊时刻、旅行和地点的相册。","Generate Previews":"生成预览","Generated":"生成","Get Started":"开始","Given Name":"名","Global Options":"全局选项","Go to page {0}":"转到 {0} 页","Gold":"金","Green":"绿","Grey":"灰","Guest":"访客","Hash":"哈希","Help":"帮助","Help & Support":"帮助和支持","Hidden":"隐藏","Hidden Files":"隐藏文件","Hide":"隐藏","Hide photos that have been moved to archive.":"隐藏已归档的照片。","High":"高","High Dynamic Range (HDR)":"高动态范围渲染(HDR)","How can we help?":"我们可以帮您吗?","Hybrid":"混合地图","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"如果您无法访问身份验证器应用或设备,则可以使用恢复代码重新访问您的帐户。","Image":"图片","Image Quality":"图像质量","Import":"导入","Import failed":"导入失败","Imported files will be sorted by date and given a unique name to avoid duplicates.":"导入的文件将按日期排序,并指定一个唯一的名称以避免重复。","Imported files will be sorted by date and given a unique name.":"导入的文件将按日期排序,并指定一个唯一的名称。","Importing %{s}…":"导入 %{s} 中…","Importing files to originals…":"导入文件到源…","in":"于","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"如果您想要的图片丢失,请重新扫描库并等待索引完成。","Include RAW image files when downloading stacks and archives.":"在下载堆栈和档案时包括RAW图像文件。","Include sidecar files when downloading stacks and archives.":"在下载堆栈和档案时包括sidecar文件。","Increase storage size or delete files to continue.":"增加存储空间或删除文件以继续。","Index":"索引","Index and import files through the user interface.":"通过用户界面索引和导入文件。","Indexing":"索引中","Indexing failed":"索引失败","Indexing media and sidecar files…":"索引媒体和附属文件…","Information":"信息","Instance ID":"实例 ID","Insufficient storage.":"存储不足","Interval":"间隔","Invalid":"无效","Invalid address":"无效地址","Invalid country":"无效国家","Invalid date":"无效日期","Invalid parameters":"参数无效","Invalid photo selected":"选择了无效的照片","Invalid time":"无效时间","Invalid URL":"无效 URL","It is a one-time use code that will disable 2FA for your account when you use it.":"这是一个一次性使用的代码,当您使用它时将禁用您帐户的 2FA。","Item":"项目","Items per page:":"每页项目:","JPEG Quality: %{n}":"JPEG 质量:%{n}","JPEG Size Limit: %{n}px":"JPEG 尺寸限制:%{n}px","JPEGs and thumbnails are automatically rendered as needed.":"系统会根据需要自动生成缩略图及JPEG格式的预览图。","Keywords":"关键字","Label":"标签","Labels":"标签","Labels deleted":"标签已移除","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos:保留细节,虚影较小","Language":"语言","Last Active":"最后一次活动","Last Login":"最后一次登录","Last page":"最后一页","Last Sync":"上次同步","Last Used":"最后使用","Latitude":"纬度","LDAP/AD":"LDAP/AD","Learn more":"进一步了解","Learn More":"了解更多","Legal Information":"法律信息","Lens":"镜头","Library":"资料库","License":"许可证","Like":"喜欢","Lime":"淡绿","Limit reached, showing first %{n} files":"已达到限制,显示前 %{n} 个文件","Linear: Very Smooth, Best Performance":"Linear: 非常平滑,性能最佳","Link":"链接","List":"列表","List View":"列表查看","Live":"实况","Live Photos":"实况照片","Load more":"加载更多","Loading items...":"正在加载项目...","Loading...":"正在加载...","Local":"当地","Local Time":"本地时间","Location":"位置","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"每当 PhotoPrism 遇到损坏的文件或其他潜在问题时,日志消息就会出现在这里。","Login":"登录","Logout":"登出","Logs":"日志","Longitude":"经度","Low":"低","Magenta":"洋红","Main Color":"主色调","Male":"男","Manage Account":"管理账户","Manager":"经理","Manual":"手动","Manual Upload":"手动上传","Maps":"地图","Marker":"标记","Maximum number of accounts has been reached.":"账户数已达到上限。","Media":"媒体","Medium":"中","Membership":"会员资格","Merge %{a} with %{b}?":"将 %{a} 与 %{b} 合并?","Message":"留言","Message sent":"消息已发送","Metadata":"元数据","Metrics":"指标","Minimize":"最小化","Missing":"缺失","Missing or invalid configuration":"配置缺失或无效","Moments":"瞬间","Monochrome":"黑白","Month":"月","More options":"更多选择","Mosaic":"马赛克","Most Relevant":"最相关","Move Files":"移动文件","Must have at least %{n} characters.":"必须至少有%{n}个字符。","Mute":"静音","Name":"名称","Name too long":"名称太长","Never":"永不","New":"新","New Password":"新密码","Newest First":"最新优先","Next":"下一页","Next page":"下一页","Next visual":"下一个视觉","No":"否","No albums found":"找不到相册","No data available":"无数据","No labels found":"找不到标签","No matching records found":"未找到匹配记录","No more":"没有更多","No people found":"找不到人物","No pictures found":"找不到图片","No recently edited pictures":"没有最近编辑过的图片","No results":"找不到结果","No server connection":"无服务器连接","No servers configured.":"沒有服务器配置。","No services configured.":"没有配置服务。","No thanks":"不用了,谢谢","No warnings or error containing this keyword. Note that search is case-sensitive.":"没有包含此关键字的警告或错误,请注意,搜索区分大小写。","Non-photographic and low-quality images require a review before they appear in search results.":"非照片和低质量图像出现在搜索结果中前需要进行审查。","None":"无","Not allowed":"不允许","Not found":"未找到","Not sorted.":"未分类。","Not supported":"不支持","Note you may manually manage your originals folder and importing is optional.":"如果希望保持原有文件名及目录结构,请直接管理源文件夹,不要使用导入功能。","Note:":"注意:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"注意:只能将 WebDAV 服务器(如 Nextcloud 或 PhotoPrism)配置为远程服务,以进行备份和文件上传。","Notes":"备注","Nothing to see here yet.":"暂无数据。","Nothing was found.":"没有发现任何问题。","Offline":"离线","OIDC":"OIDC","OK":"好的","Oldest First":"最旧优先","On Windows, enter the following resource in the connection dialog:":"在 Windows 上,连接对话框中使用以下资源:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"按需生成缩略图可能会导致较高的 CPU 和内存使用率。不建议资源有限的服务器和 NAS 设备使用。","Once a week":"每周一次","One album found":"已找到一本相册","One file found":"已找到一个文件","One file uploaded":"已上传一个文件","One folder found":"已找到一个文件夹","One label found":"已找到一个标签","One person found":"已找到一个人物","One picture found":"已发现一张图片","Only locally managed accounts can be set up for authentication with 2FA.":"仅可设置本地管理的帐户进行 2FA 身份验证。","Open":"开放","optional":"可选的","or":"或","Orange":"橙","Organization":"组织机构","Orientation":"朝向","Original file names will be stored and indexed.":"原始文件名将被存储并索引。","Original Name":"源文件名","Originals":"源","Other":"其他","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"我们的使命是提供对绝大部分用户——及隐私最友好的解决方案,以保持你的照片有条理和可访问。","Outdoor":"户外地图","Page {0}, Current page":"第 {0} 页,当前页","Pages":"页面","Pagination Navigation":"分页导航","Panorama":"全景","Panoramas":"全景","Password":"密码","Password changed":"密码已更改","People":"人物","People you share a link with will be able to view public contents.":"与您共享链接的人将可以查看公共内容。","Permanently deleted":"已永久删除","Permanently remove files to free up storage.":"永久删除文件以释放存储空间。","Person":"个人","Personal":"个人","Photo":"相片","PhotoPrism is 100% self-funded and independent.":"PhotoPrism是100%自筹资金和独立的。","PhotoPrism+ Membership":"照片棱镜+会员资格","Photos":"照片","Picture Title":"图片标题","Pink":"粉红","Place":"地点","Place & Time":"地点和时间","Places":"地点","Please confirm your new password.":"请确认新密码。","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"请复制以下随机生成的应用程序密码并将其保存在安全的地方,因为您将无法再次看到它:","Please do not upload any private, unlawful or offensive pictures.":"请勿上传任何私人、非法或攻击性图片。","Please don't upload photos containing offensive content.":"请不要上传包含令人反感的内容的照片。","Please enter OTP character {0}":"请输入 OTP 字符 {0}","Please note that changing your password will log you out on other devices and browsers.":"请注意,修改密码将退出你已登录在其他设备和浏览器上的账号。","Please restart your instance for the changes to take effect.":"请重新启动您的实例以使变化生效。","Please wait…":"请等待…","PM":"下午","PNG Size Limit: %{n}px":"PNG 尺寸限制:%{n}px","Portrait":"人像","Preserve filenames":"保留文件名","Press enter to create a new album.":"按下 Enter 键创建一个新相册。","Prevent database and album backups as well as YAML sidecar files from being created.":"防止创建数据库和相册备份以及 YAML sidecar 文件。","Prevent other apps from accessing PhotoPrism as a shared network drive.":"防止其他应用程序将 PhotoPrism 作为共享网络驱动器访问。","Preview":"预览","Preview Images":"图片预览","Previous":"上一页","Previous page":"上一页","Previous visual":"上一个视觉","Primary":"主文件","Private":"私有","Product Feedback":"产品反馈","Projection":"投影","Purple":"紫","Quality Filter":"质量筛选","Quality Score":"质量得分","r":"r","Random":"随机","Rating {0} of {1}":"评级 {0} of {1}","Raw":"原始数据","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"重新索引所有源文件,包括已索引和未更改的文件。","Read-Only Mode":"只读模式","Recently Added":"最近添加","Recently Archived":"最近存档","Recently Edited":"最近编辑","Recognition starts after indexing has been completed.":"识别工作在索引完成后开始。","Recognize faces so people can be assigned and found.":"识别人脸,以便能够找到特定的人。","Recognized":"已识别","Recovery Code":"恢复代码","Red":"红","Refresh":"刷新","Regions":"地区","Register":"注册","Reload":"重载","Reloading…":"重载中…","Remote Sync":"远端同步","Remove":"移除","remove failed: unknown album":"移除失败:未知相册","Remove from Album":"从相册中移除","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"移除导入的文件以节省存储空间,不支持的文件类型将永远不会被删除,它们会保留在它们当前的位置。","Request failed - are you offline?":"请求失败 - 你是否离线?","Request failed - invalid response":"请求失败 - 无效的响应","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"要求非图片和低质量图片在出现在搜索结果中之前必须经过审核。","Resolution":"分辨率","Restart":"重新启动","Restore":"恢复","Restored":"恢复","Retry Limit":"重试限制","Retype Password":"重新输入密码","Review":"审查","Role":"角色","Rows per page:":"每页行数:","Satellite":"卫星","Save":"保存","Scan":"扫描","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"使用您的身份验证器应用程序扫描二维码或使用下面显示的设置键,然后输入生成的验证码:","Scans":"扫描","Scope":"范围","Search":"搜索","Search and display photos on a map.":"在地图上搜索并显示照片。","Season":"季节","Secret":"密钥","Security and Access":"安全和访问","Select":"选择","Select a source folder to import files…":"选择要导入文件的源文件夹…","Select date":"选择日期","Select dates":"选择日期","Select or create an album":"选择或创建相册","Select the files to upload…":"选择要上传的文件…","Select the folder to be indexed…":"选择要编制索引的文件夹…","Select Time":"选择时间","Selection approved":"所选项已批准","Selection archived":"所选项已归档","Selection restored":"所选项已恢复","Sequential Name":"顺序名称","Service URL":"服务 URL","Services":"服务","Session":"会议","Session ID":"会议ID","Sessions":"会议","Set as Album Cover":"设为专辑封面","Settings":"设置","Settings saved":"设置已保存","Setup":"设置","Share":"分享","Share %{s}":"分享 %{s}","Share your pictures with other apps and services.":"与其他应用程序和服务分享你的图片。","Show":"显示","Show all new faces":"显示所有的新面孔","Show Captions":"显示字幕","Show hidden":"显示隐藏","Show less":"显示更少","Show more":"显示更多","Show server logs in Library.":"在库中显示服务器日志。","Show Titles":"显示标题","Sidecar":"附属","Sidecar Files":"Sidecar 文件","Sign in":"登录","Similar":"相似","Size":"尺寸","Slideshow":"幻灯片","Slow":"慢","Software":"软件","Software Update":"软件更新","Something went wrong, try again":"出错了,再试一次","Sort by":"排序方式","Sort Order":"排序","Sorted ascending.":"按升序排列。","Sorted descending.":"按降序排列。","Source":"来源","Stack":"堆","Stack files sharing the same unique image or instance identifier.":"文件堆共享相同的唯一图像或实例标识符。","Stack pictures taken at the exact same time and location based on their metadata.":"根据图片的元数据,堆叠在相同的时间和地点拍摄的图片。","Stackable":"可堆叠","Stacks":"堆","Start":"开始","Start Page":"起始页","Static Size Limit: %{n}px":"静态渲染尺寸限制: %{n}px","Status":"状态","Storage":"存储","Streets":"街道图","Subject":"主题","Submit":"提交","Successfully activated":"已成功激活","Successfully Connected":"账户成功连接","Successfully deleted":"已成功删除","Successfully verified":"验证成功","Super Admin":"超级管理员","Support for additional services, like Google Drive, will be added over time.":"随着时间的推移,将增加对其他服务的支持,例如 Google 云端硬盘。","Support Our Mission":"支持我们的使命","Sync":"同步","Sync raw and video files":"同步 Raw 和视频文件","Taken":"纳入于","Teal":"蓝绿","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"图像分类、面部识别和检测不安全内容都需要使用 TensorFlow。","Terrain":"地形","Text":"文本","Text too long":"文字太长","Thank You for Your Support!":"感谢你的支持!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"这就是为什么PhotoPrism从一开始就能在你需要的地方运行,而不影响自由、隐私或功能。","The index currently contains %{n} hidden files.":"该索引当前包含 %{n} 个隐藏文件。","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"它们的格式可能不受支持,它们尚未转换为 JPEG 或存在重复项。","Theme":"主题","This field is required":"该字段为必填字段","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"这会将源文件夹安装为网络驱动器,并允许您从计算机或智能手机中打开,编辑和删除文件,就像它们是本地文件一样。","Time UTC":"UTC 时间","Time Zone":"时区","Timeout":"超时","Title":{"Account":"标题","Photo":"标题","":"标题"},"Title / Position":"职称/职位","Title too long":"标题太长了","to":"到","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"为了避免您的帐户被锁定,请立即下载、打印或复制此恢复代码并将其保存在安全的地方。","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"生成新的应用专用密码,请输入应用程序的名称、授权范围并选择到期日期:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"要切换到新的身份验证器应用程序或设备,请先停用双重身份验证,然后重新激活它:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"要升级,你可以输入激活码或点击 \"注册\",在我们的网站上注册:","Today":"今天","Toggle View":"切换视图","Token":"令牌","Too many files selected":"选择的文件过多","Too many requests":"请求太多","Troubleshooting":"故障排除","Try again using other filters or keywords.":"使用其他过滤器或关键字再试一次。","Two-factor authentication has been enabled for your account.":"您的帐户已启用双重身份验证。","Type":"类型","Unable to delete":"无法删除","Unauthorized":"未经授权的","Undo":"撤销","Unique ID":"唯一标识符","Unknown":"未知","Unregistered":"未注册的","Unsorted":"未分类","Unstack":"取消堆叠","Updated":"已更新","Updating faces":"更新面部","Updating index":"更新索引","Updating moments":"更新时刻","Updating picture…":"更新图片…","Updating previews":"更新预览","Updating stacks":"更新堆","Upgrade":"升级","Upgrade Now":"立即升级","Upload":"上传","Upload complete":"上传完成","Upload complete. Indexing…":"上传完成,索引中…","Upload failed":"上传失败","Upload local files":"上传本地文件","Upload Path":"上传路径","Upload to WebDAV and share links with friends.":"上传到 WebDAV 并与朋友共享链接。","Uploading %{n} of %{t}…":"上传 %{n} / %{t} …","Uploading photos…":"上传照片…","Uploading…":"上传中…","Uploads that may contain such images will be rejected automatically.":"可能包含此类图像的上传将被自动拒绝。","Use Presets":"使用预设","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"当您无法使用身份验证器应用生成有效的验证码时,请使用以下恢复代码访问您的帐户:","Use your recovery code or contact an administrator for help.":"使用恢复密码或联系管理员寻求帮助。","User":"用户","User Guide":"用户指南","User Interface":"用户界面","Username":"用户名","Users":"用户","Vector":"矢量","Vectors":"媒介物","Verification Code":"验证码","Video":"视频","Video Duration":"视频时长","Videos":"视频","View":"视图","View search results as a list.":"以列表形式查看搜索结果。","Viewer":"浏览者","Visitor":"访客","Visual Similarity":"视觉相似性","Warning":"警告","We appreciate your feedback!":"感谢您的反馈!","We do our best to respond within five business days or less.":"我们尽力在五个工作日或更短时间内作出回应。","Web Login":"网络登录","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"WebDAV 客户端可以使用以下 URL 连接到 PhotoPrism:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"WebDAV 客户端(例如 Microsoft 的 Windows 资源管理器或 Apple 的 Finder)可以直接连接到 PhotoPrism。","WebDAV Upload":"WebDAV 上传","WebGL support is disabled in your browser":"您的浏览器已禁用 WebGL 支持","Website":"网站","White":"白","Work Details":"作品详情","Year":"年","Yellow":"黄","Yes":"是","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"欢迎你与我们联系,membership@photoprism.app,询问有关你的会员资格的问题。","You can only download one album":"你只能下载一个相册","You can only download one label":"你只能下载一个标签","You can search for a location or move the marker on the map to change the position:":"您可以搜索位置或移动地图上的标记来更改位置:","You can upload up to %{n} files for test purposes.":"您最多可以上传 %{n} 个文件用于测试。","You may only select one item":"你只能选择一项","You may rescan your library to find additional faces.":"你可以重新扫描你的库以找到更多的面部。","Your account has been successfully connected.":"您的账户已成功连接。","Your browser does not support WebGL":"您的浏览器不支持 WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"您的持续支持有助于我们提供定期更新并保持独立,因此我们可以履行我们的使命并保护您的隐私。","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"你的库被不断分析,以自动创建特殊时刻、旅行和地点的相册。","Zoom in/out":"缩放"}} \ No newline at end of file diff --git a/frontend/src/locales/json/zh_TW.json b/frontend/src/locales/json/zh_TW.json index 850d18069..e42559e44 100644 --- a/frontend/src/locales/json/zh_TW.json +++ b/frontend/src/locales/json/zh_TW.json @@ -1 +1 @@ -{"zh_TW":{"{0} appended action":"{0} 附加操作","{0} files":"{0} 個文件","{0} files ({1} in total)":"{0} 個檔案(總共 {1} 個)","{0} more":"還有 {0} 個","{0} prepended action":"{0} 前置操作","{0} selected":"已選{0}","{0}-{1} of {2}":"第 {0}-{1} 個,共 {2} 個","%{n} albums found":"找到了 %{n} 本相簿","%{n} files uploaded":"%{n} 個檔案上傳完成","%{n} folders found":"找到了 %{n} 個資料夾","%{n} GB of %{q} GB used":"已使用 %{n} GB(共 %{q} GB)","%{n} labels found":"找到了 %{n} 個標籤","%{n} people found":"找到 %{n} 個人","%{n} pictures found":"找到 %{n} 張圖片","%{s} is too long":"%{s} 太長","%{s} is too short":"%{s} 太短","1 hour":"1 小時","12 hours":"12 小時","2-Factor Authentication":"雙重身份驗證","2FA":"2FA","4 hours":"4 小時","A click will copy it to your clipboard.":"點擊以複製到剪貼簿。","A new version of %{s} is available:":"%{s} 的新版本可用:","About":"關於","Access Token":"訪問令牌","Account":"帳號","Account created":"帳號已建立","Account deleted":"帳號已刪除","Account restored":"帳戶已恢復","Accounts":"所有帳戶","Accuracy":"準確度","Action":"動作","Actions":"動作","Activate":"啟用","Activate to remove sorting.":"啟動以刪除排序。","Activate to sort ascending.":"啟動以升序排序。","Activate to sort descending.":"激活以降序排序。","Activation Code":"啟用碼","Add":"新增","Add %{s}?":"添加%{名稱}?","Add Account":"新增帳戶","Add Album":"新增相簿","Add files to your library via Web Upload.":"從網頁上傳檔案到收藏庫。","Add Link":"新增連結","Add person?":"添加人?","Add pictures from search results by selecting them.":"從搜尋結果中透過選取加入圖片。","Add to album":"新增到相簿","Added":"已新增","Admin":"管理員","Advanced":"進階","After 1 day":"1 天後","After 3 days":"3 天後","After 7 days":"7 天後","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"輸入密碼進行確認後,您可以使用相容的身份驗證器應用程式或裝置設定雙重認證:","After one month":"1 個月後","After one year":"1 年後","After selecting pictures from search results, you can add them to an album using the context menu.":"從搜尋結果選擇圖片後,您可以使用內容選單將它們加入相簿。","After two months":"2 個月後","After two weeks":"2 星期後","Album":"相簿","Album Backups":"相册备份","Album created":"相簿已建立","Albums":"相簿","Albums deleted":"相簿已刪除","All":"全部","All %{n} albums loaded":"共 %{n} 本相簿已載入","All %{n} labels loaded":"共 %{n} 個標籤已載入","All %{n} people loaded":"共 %{n} 人已讀取","All Cameras":"所有相機","All Categories":"所有分類","All Colors":"所有顏色","All Countries":"所有國家","All fields are required":"所有的欄位都是必填的","All files from import folder":"匯入資料夾中的所有檔案","All Lenses":"所有鏡頭","All Months":"所有月份","All originals":"所有來源","All Years":"所有年份","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"或者,你也可以直接使用WebDAV(例如 NextCloud)等服務上傳檔案。","Altitude":"高度","Altitude (m)":"高度(公尺)","AM":"是","Animated":"動態圖片","Animation":"動畫","Any private photos and videos remain private and won't be shared.":"所有私人相片跟影片都會保持私人,不會被分享。","API Key":"API鑰匙","Application":"應用","Apply":"套用","Approve":"確認","Apps and Devices":"應用程式和裝置","Archive":"封存","Archived":"已封存","Are you sure you want to archive the selection?":"確定要封存所選的項目嗎?","Are you sure you want to delete these albums?":"確定要刪除這些相簿嗎?","Are you sure you want to delete these labels?":"確定要刪除這些標籤嗎?","Are you sure you want to delete this account?":"確定要刪除這個帳號嗎?","Are you sure you want to permanently delete these pictures?":"確定要永久刪除這些圖片嗎?","Are you sure you want to permanently delete this file?":"確定要永久刪除這個檔案嗎?","Are you sure?":"你確定嗎?","Artist":"作者","Aspect Ratio":"長寬比","Audio":"聲音的","Authentication":"驗證","Auto":"汽車","Back":"後退","Back to top":"回到頂部","Backup":"備份","Badge":"徽章","Base Path":"基本路径","Become a member today, support our mission and enjoy our member benefits!":"今天就加入會員,支持我們的使命並享受我們的會員福利!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"作為 100% 自籌資金和獨立的公司,我們可以向您保證,我們永遠不會出售您的數據,並且我們將始終對我們的軟件和服務保持透明。","Bio":"個人資料","Birth Date":"出生日期","Black":"黑色","Blackman: Lanczos Modification, Less Ringing Artifacts":"布萊克曼窗函數:使用Lanczos濾波器修改,減少振鈴現象","Blue":"藍色","Brown":"棕色","Browse":"浏览","Browse and edit image classification labels.":"瀏覽並編輯分類標籤。","Browse and share your pictures organized into monthly albums.":"瀏覽並分享按月度相簿組織的照片。","Browse Files":"瀏覽文件","Browse indexed files and folders in Library.":"在收藏庫中瀏覽已索引的檔案和資料夾。","Bug Report":"回報問題","Busy, please wait…":"忙碌中,請稍候…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"當您開始使用我們提供的軟體及服務時,即表示您同意我們的服務條款、隱私權政策和行為準則。","Calendar":"日曆","Camera":"相機","Camera Serial":"相機序號","Can't access your authenticator app or device?":"无法访问您的身份验证应用程序或设备?","Can't load more, limit reached":"已達上限,無法再載入更多","Can't select more items":"無法選取更多項目","Cancel":"取消","Caption":"標題","Cards":"卡片","Carousel slide {0} of {1}":"輪播投影片第 {0} 張(共 {1} 張)","Category":"分類","Change Avatar":"變更頭像","Change Password":"更改密碼","Change personal profile and security settings.":"更改個人資料和安全設置。","Change photo titles, locations, and other metadata.":"更改照片標題,位置和其他資料。","Change private flag":"更改私人選項","Changes could not be saved":"無法儲存更改項目","Changes successfully saved":"成功儲存變更","Changes to the advanced settings require a restart to take effect.":"对高级设置的更改需要重新启动才能生效。","Checked":"已選擇","Chroma":"彩度","Cleaning index and cache":"清理索引和缓存","Cleanup":"清理","Clear {0}":"清除{0}","Client":"客户","Client Credentials":"个人","Close":"關閉","Codec":"解碼器","Color":"顏色","Color Profile":"色彩設定檔","Colors":"顏色","Compare Editions":"比較版本","Complete Rescan":"重新完整掃描","Confidence":"可信度","Confirm":"確認","Connect":"連線","Connect via WebDAV":"使用 WebDAV 連線","Connected":"已連線","Contact Details":"聯絡方式","Contact Us":"聯絡我們","Contains %{n} pictures.":"包含 %{n} 張圖片。","Contains one picture.":"包含一張圖片。","Content":"內容","Continue":"繼續","Continue with %{provider}":"继续 %{provider}","Contributor":"貢獻者","Converting":"轉換中","Copied to clipboard":"已複製到剪貼簿","Copy":"複製","Copyright":"版權","Couldn't find anything.":"找不到任何東西。","Country":"國家","Create Account":"新增帳號","Create album":"新增相簿","Create regular backups based on the configured schedule.":"根据配置的时间表创建索引备份。","Create YAML files to back up album metadata.":"创建 YAML 文件来备份相册元数据。","Create YAML sidecar files to back up picture metadata.":"创建 YAML sidecar 文件来备份图片元数据。","Created":"已新增","Creating thumbnails for":"為以下項目新增縮圖","Cubic: Moderate Quality, Good Performance":"立方:中等品質,良好效能","Current Password":"目前的密碼","Custom":"風俗","Cyan":"青色","Daily":"每日","Database Backups":"数据库备份","Day":"日","Deactivate":"停用","Debug Logs":"除錯紀錄","Default":"預設","Default Folder":"預設資料夾","Delete":"刪除","Delete All":"全部删除","Delete all?":"全部刪除?","Delete orphaned index entries, sidecar files and thumbnails.":"删除孤儿索引条目、副卡文件和缩略图。","Description":"描述","Detailed instructions can be found in our User Guide.":"詳細指示可以在用戶指南中找到。","Details":"細節","Dimensions":"尺寸","Disable Backups":"停用備份","Disable Darktable":"停用 Darktable","Disable ExifTool":"停用 ExifTool","Disable features that require write permission for the originals folder.":"禁用需要原件文件夹写入权限的功能。","Disable FFmpeg":"停用 FFmpeg","Disable ImageMagick":"禁用ImageMagick","Disable interactive world maps and reverse geocoding.":"禁用交互式世界地图和反向地理编码。","Disable Places":"停用位置","Disable RawTherapee":"停用 RawTherapee","Disable TensorFlow":"停用 TensorFlow","Disable Vectors":"停用向量","Disable WebDAV":"停用 WebDAV","Disables vector graphics support.":"停用向量圖型支援。","Disables video transcoding and thumbnail extraction.":"停用影像轉碼和縮圖擷取。","Discover":"發現","Dismiss":"解僱","Display Name":"顯示名稱","Display picture captions in search results.":"在搜尋結果中顯示圖片標題。","Display picture titles in search results.":"在搜尋結果中顯示圖片標題。","Document":"文件","Documents":"文件","Don't use Darktable to convert RAW images.":"不要使用 Darktable 來轉換 RAW 檔案。","Don't use ImageMagick to convert images.":"不要用ImageMagick来转换图像。","Don't use RawTherapee to convert RAW images.":"不要使用 RawTherapee 來轉換 RAW 檔案。","Done":"完成","Done.":"完成。","Download":"下載","Download only original media files, without any automatically generated files.":"只下載原始的媒體檔,不會自動產生任何的檔案。","Download remote files":"下載遠端檔案","Download single files and zip archives.":"下載單一檔案以及 zip 壓縮檔。","Downloading…":"下載中…","Downscaling Filter":"縮小濾鏡","Drag and drop files here":"將文件拖放到此處","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"由於我們收到大量電子郵件,我們的團隊可能無法立即回覆您。","Duplicates will be skipped and only appear once.":"重複的項目會被跳過並只會出現一次。","Duration":"時長","Dynamic Previews":"動態預覽","Dynamic Size Limit: %{n}px":"動態大小限制:%{n} px","E-Mail":"電子郵件","Edit":"編輯","Edit %{s}":"編輯 %{s}","Edit Account":"編輯帳號","Edit Photo":"編輯相片","Edited":"已編輯","Email":"電子郵件","Enable debug mode to display additional logs and help with troubleshooting.":"启用调试模式可显示更多日志,帮助排除故障。","Enable new features that may be incomplete or unstable.":"啟用可能不完整或不穩定的新功能。","Enables RAW converter presets. May reduce performance.":"啟用 RAW 轉換器預設集。可能會降低性能。","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"啟用雙重認證意味著您將需要隨機生成的驗證碼才能登錄,因此即使有人獲得您的密碼,他們也無法存取您的帳戶。","Enter date":"輸入日期","Enter dates":"輸入日期","Enter the code generated by your authenticator app:":"輸入您的身份驗證器應用程式產生的代碼:","Enter verification code":"輸入驗證碼","Enter your password to confirm the action and continue:":"輸入您的密碼以確認操作並繼續:","Error":"錯誤","Errors":"錯誤","Estimate":"估算","Estimate Locations":"估計地點","Estimate the approximate location of pictures without GPS coordinates.":"在沒有 GPS 座標的情況下估計圖片的大致位置。","Every two days":"每兩天","Exclude content marked as private from search results, shared albums, labels, and places.":"在搜尋結果,分享相簿,標籤,位置排除標為私人的內容。","Exclude hidden":"排除隱藏","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"要完全支持视频、实时照片和 XMP,需要使用 ExifTool 提取元数据。","Experimental Features":"測試功能","Expires":"有效期限","Exposure":"曝光","Extract still images and generate thumbnails while indexing.":"提取靜態圖像並在索引時產生縮圖。","F Number":"F值","Face":"臉","Faces":"臉","Failed removing link":"移除連結失敗","Failed to connect account.":"無法連接帳戶。","Failed updating link":"更新連結失敗","Family Name":"姓氏","Fast":"快","Favorite":"我的最愛","Favorites":"我的最愛","Feature Request":"功能要求","Feedback":"回饋","Female":"女性","File":"檔案","File Browser":"檔案瀏覽器","File Conversion":"檔案轉換","File Name":"檔案名稱","File Size":"檔案大小","Filename":"檔案名稱","Files":"檔案","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"連續檔名例如 'IMG_1234 (2)' 及 'IMG_1234 (3)' 會被當作同一張照片。","First page":"第一頁","Focal Length":"焦距","Folder":"資料夾","Folder contains %{n} files":"資料夾中有 %{n} 個檔案","Folder is empty":"資料夾是空的","Folders":"資料夾","Forgot password?":"忘記密碼?","FPS":"FPS","Frames":"框架","Full Access":"完全存取權限","Fullscreen":"全螢幕","General":"一般","Generate":"產生","Generate albums of special moments, journeys, and places.":"自動建立特殊時刻、旅行和地點的相冊。","Generate Previews":"生成預覽","Generated":"產生","Get Started":"立即開始","Given Name":"名字","Global Options":"全域選項","Go to page {0}":"轉到第 {0} 頁","Gold":"金色","Green":"綠色","Grey":"灰色","Guest":"來賓","Hash":"雜湊","Help":"支援","Help & Support":"支援與幫助","Hidden":"隱藏","Hidden Files":"隱藏的檔案","Hide":"隱藏","Hide photos that have been moved to archive.":"隱藏的圖片已經移至封存。","High":"高","High Dynamic Range (HDR)":"高動態範圍 (HDR)","How can we help?":"我們可以幫你什麼?","Hybrid":"雜種","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"如果您失去了對身份驗證器應用程式或裝置的存取權限,您可以使用復原代碼來重新獲得對帳戶的存取權限。","Image":"圖片","Image Quality":"影像品質","Import":"匯入","Import failed":"匯入失敗","Imported files will be sorted by date and given a unique name to avoid duplicates.":"匯入的檔案會依照日期排序,並且給予一個獨特的名字以防止重複。","Imported files will be sorted by date and given a unique name.":"匯入的檔案會依照日期排序,並且給予一個獨特的名字。","Importing %{s}…":"匯入 %{s} 中…","Importing files to originals…":"匯入檔案到「originals」…","in":"在","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"如果您覺得應該會在的圖片不見了,請重新掃描您的資料庫並等待索引完成。","Include RAW image files when downloading stacks and archives.":"在下載堆疊和封存時包含 RAW 圖像一起。","Include sidecar files when downloading stacks and archives.":"在下載堆疊和封存時包含 sidecar 檔案一起。","Increase storage size or delete files to continue.":"增加儲存大小或刪除檔案以繼續。","Index":"索引","Index and import files through the user interface.":"透過使用者界面建立索引和匯入檔案。","Indexing":"建立索引中","Indexing failed":"建立索引失敗","Indexing media and sidecar files…":"正在建立媒體和sidecar檔案的索引…","Information":"資訊","Instance ID":"實例 ID","Insufficient storage.":"儲存空間不足","Interval":"間隔","Invalid":"無效","Invalid address":"地址無效","Invalid country":"無效國家","Invalid date":"無效的日期","Invalid parameters":"無效的參數","Invalid photo selected":"選擇的照片無效","Invalid time":"時間無效","Invalid URL":"無效網址","It is a one-time use code that will disable 2FA for your account when you use it.":"這是一個一次性使用代碼,當您使用它時,它將停用您帳戶的 2FA。","Item":"項目","Items per page:":"每頁項目:","JPEG Quality: %{n}":"JPEG品質:%{n}","JPEG Size Limit: %{n}px":"JPEG大小限制:%{n} px","JPEGs and thumbnails are automatically rendered as needed.":"JPEGs 跟 縮圖 在需要的時候會自動生成。","Keywords":"關鍵字","Label":"標籤","Labels":"標籤","Labels deleted":"已刪除標籤","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos:保留細節,減少偽像","Language":"語言","Last Active":"最近一次活動","Last Login":"最後一次登入","Last page":"最後一頁","Last Sync":"上次同步","Last Used":"最後使用","Latitude":"緯度","LDAP/AD":"LDAP/AD","Learn more":"了解更多","Learn More":"了解更多","Legal Information":"法律資訊","Lens":"鏡頭","Library":"收藏庫","License":"授權","Like":"喜歡","Lime":"萊姆色","Limit reached, showing first %{n} files":"到達上限,顯示前 %{n} 個檔案","Linear: Very Smooth, Best Performance":"線性:非常平滑,最佳性能","Link":"連結","List":"清單","List View":"清單視圖","Live":"即時","Live Photos":"原況照片","Load more":"加載更多","Loading items...":"正在加載項目...","Loading...":"載入中...","Local":"当地","Local Time":"本地時間","Location":"地點","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"日誌訊息會在PhotoPrism遇到損毀的檔案,或是其他問題出現時出現。","Login":"登入","Logout":"登出","Logs":"日誌","Longitude":"經度","Low":"低","Magenta":"洋紅","Main Color":"主要顏色","Male":"男性","Manage Account":"管理帳號","Manual":"手動的","Manual Upload":"手動上傳","Maps":"地圖","Marker":"標記","Maximum number of accounts has been reached.":"已達最大帳戶數。","Media":"媒體","Medium":"中","Membership":"會員資格","Merge %{a} with %{b}?":"將 %{a} 與 %{b} 合併?","Message":"訊息","Message sent":"訊息已傳送","Metadata":"元数据","Metrics":"指標","Minimize":"最小化","Missing":"缺少","Missing or invalid configuration":"配置缺失或无效","Moments":"回憶時刻","Monochrome":"黑白","Month":"月","More options":"更多選項","Mosaic":"馬賽克","Most Relevant":"最相關的","Move Files":"移動檔案","Must have at least %{n} characters.":"必須至少有 %{n} 個字元。","Mute":"沉默的","Name":"名稱","Name too long":"名稱太長了","Never":"永不","New":"新","New Password":"新密碼","Newest First":"按最新優先","Next":"下一個","Next page":"下一頁","Next visual":"下一個視覺效果","No":"否","No albums found":"找不到相簿","No data available":"無可用數據","No labels found":"找不到標籤","No matching records found":"沒有找到符合的記錄","No more":"不再","No people found":"找不到人","No pictures found":"找不到圖片","No recently edited pictures":"沒有最近編輯的圖片","No server connection":"沒有伺服器連接","No servers configured.":"沒有設定好的伺服器。","No services configured.":"沒有設定服務。","No thanks":"不用了,謝謝","No warnings or error containing this keyword. Note that search is case-sensitive.":"沒有包含此關鍵字的警告或錯誤。請注意,搜尋區分大小寫。","Non-photographic and low-quality images require a review before they appear in search results.":"非照片和低品質圖像需要進行手動確認,才會出現在搜尋結果中。","None":"無","Not allowed":"不允許","Not found":"未找到","Not sorted.":"沒有排序。","Not supported":"不支援","Note you may manually manage your originals folder and importing is optional.":"請注意,您可以手動管理「originals」資料夾,而匯入是選用的。","Note:":"注意:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"注意:只能將 WebDAV 伺服器(如Nextcloud或PhotoPrism)設定為遠端服務,以進行備份和檔案上傳。","Notes":"備註","Nothing to see here yet.":"這裡什麼都沒有。","Nothing was found.":"什麼都沒有找到。","Offline":"離線","OIDC":"開放式資料中心","OK":"好的","Oldest First":"最舊優先","On Windows, enter the following resource in the connection dialog:":"在 Windows 上,於連接對話框中輸入以下資訊:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"按需生成缩略图可能会导致较高的 CPU 和内存使用率。不建议资源有限的服务器和 NAS 设备使用。","Once a week":"一周一次","One album found":"找到 1 本相簿","One file found":"找到 1 個檔案","One file uploaded":"已上傳一個檔案","One folder found":"找到 1 個資料夾","One label found":"找到一個標籤","One person found":"找到一個人","One picture found":"找到一張圖片","Only locally managed accounts can be set up for authentication with 2FA.":"只能設定本機管理的帳戶以使用 2FA 進行身份驗證。","Open":"开放","optional":"選修的","or":"或者","Orange":"橘色","Organization":"組織","Orientation":"方向","Original file names will be stored and indexed.":"來源檔案名稱會被儲存及索引。","Original Name":"原始名稱","Originals":"來源","Other":"其他","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"我們的使命是提供對用戶和隱私最友好的解決方案,以使您的照片井井有條且易於訪問。","Outdoor":"外出","Page {0}, Current page":"第 {0} 頁,目前頁","Pages":"頁面","Pagination Navigation":"分頁導航","Panorama":"全景照片","Panoramas":"全景照片","Password":"密碼","Password changed":"密碼已更改","People":"人","People you share a link with will be able to view public contents.":"擁有連結的人可以看到公開內容。","Permanently deleted":"永久刪除","Permanently remove files to free up storage.":"永久刪除檔案以釋放儲存空間。","Person":"人","Personal":"个人","Photo":"相片","PhotoPrism is 100% self-funded and independent.":"PhotoPrism 是獨立而且100%自籌資金的。","PhotoPrism+ Membership":"PhotoPrism+ 會員資格","Photos":"照片","Picture Title":"图片标题","Pink":"粉紅色","Place":"地點","Place & Time":"地點與時間","Places":"地點","Please confirm your new password.":"請確認你的新密碼。","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"請複製以下隨機產生的應用程式密碼並將其保存在安全的地方,因為您將無法再次看到它:","Please do not upload any private, unlawful or offensive pictures.":"请勿上传任何私人、非法或攻击性图片。","Please don't upload photos containing offensive content.":"請不要上傳包含冒犯性內容的照片。","Please enter OTP character {0}":"請輸入一次性密碼字元 {0}","Please note that changing your password will log you out on other devices and browsers.":"請注意,更改密碼將使您在其他裝置和瀏覽器上登出。","Please restart your instance for the changes to take effect.":"請重新啟動您的執行個體以使變更生效。","Please wait…":"請稍候…","PM":"午安","PNG Size Limit: %{n}px":"PNG大小限制:%{n} px","Portrait":"人像","Preserve filenames":"保留檔案名稱","Press enter to create a new album.":"按下按鈕以新增相簿。","Prevent database and album backups as well as YAML sidecar files from being created.":"防止创建数据库和相册备份以及 YAML sidecar 文件。","Prevent other apps from accessing PhotoPrism as a shared network drive.":"防止其他应用程序将 PhotoPrism 作为共享网络驱动器访问。","Preview":"預覽","Preview Images":"图片预览","Previous":"以前的","Previous page":"上一頁","Previous visual":"之前的視覺效果","Primary":"主要的","Private":"私人的","Product Feedback":"產品回饋","Projection":"投影","Purple":"紫色","Quality Filter":"品質過濾","Quality Score":"品質成績","r":"r","Random":"隨機","Rating {0} of {1}":"評分為 {0}(共 {1})","Raw":"原始","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"重新索引所有原始檔案,包含已經索引過及未變更過的檔案。","Read-Only Mode":"唯讀模式","Recently Added":"最近新增","Recently Archived":"最近存檔","Recently Edited":"最近編輯","Recognition starts after indexing has been completed.":"索引完成後開始辨識。","Recognize faces so people can be assigned and found.":"辨識面孔,以找到特定的人。","Recognized":"已辨識","Recovery Code":"恢復程式碼","Red":"紅色","Refresh":"重新整理","Regions":"地區","Register":"注册","Reload":"重新載入","Reloading…":"重新載入中…","Remote Sync":"遠端同步","Remove":"移除","remove failed: unknown album":"移除失敗:未知的相簿","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"刪除已匯入的檔案以節省儲存空間。不支援的檔案類型將不會被刪除,它們會保留在當前位置。","Request failed - are you offline?":"要求失敗-您是否處於離線狀態?","Request failed - invalid response":"要求失敗 - 無效的回應","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"要求非攝影和低品質影像在出現在搜尋結果中之前經過審查。","Resolution":"解析度","Restart":"重新啟動","Restore":"復原","Restored":"已恢復","Retry Limit":"重試限制","Retype Password":"重新輸入密碼","Review":"回顧","Role":"角色","Rows per page:":"每頁行數:","Satellite":"衛星","Save":"儲存","Scan":"掃描","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"使用身份驗證器應用程式掃描二維碼或使用如下所示的設定金鑰,然後輸入產生的驗證碼:","Scans":"掃描","Scope":"範圍","Search":"搜尋","Search and display photos on a map.":"搜尋並在地圖上顯示圖片。","Season":"季節","Secret":"秘密","Security and Access":"安全和存取","Select":"選擇","Select a source folder to import files…":"選擇要匯入檔案的來源資料夾…","Select date":"選擇日期","Select dates":"選擇日期","Select or create an album":"選擇或建立相簿","Select the files to upload…":"選擇要上傳的檔案…","Select the folder to be indexed…":"選擇要索引的資料夾…","Select Time":"選擇時間","Selection approved":"選取項目已認可","Selection archived":"選取項目已封存","Selection restored":"選取項目已被復原","Sequential Name":"連續名稱","Service URL":"服務 URL","Services":"服務","Session":"工作階段","Session ID":"工作階段ID","Sessions":"工作階段","Set as Album Cover":"設為專輯封面","Settings":"設定","Settings saved":"設定已儲存","Setup":"設定","Share":"分享","Share %{s}":"分享 %{s}","Share your pictures with other apps and services.":"與其他應用程式和服務分享您的照片。","Show":"顯示","Show all new faces":"顯示所有新面孔","Show Captions":"顯示字幕","Show hidden":"顯示隱藏","Show less":"顯示較少","Show more":"顯示更多","Show server logs in Library.":"在收藏庫中顯示伺服器日誌。","Show Titles":"顯示標題","Sidecar":"Sidecar檔案","Sidecar Files":"Sidecar 文件","Sign in":"登入","Similar":"相似","Size":"尺寸","Slideshow":"幻燈片","Slow":"慢","Software":"軟體","Software Update":"軟體更新","Something went wrong, try again":"出错了,再试一次","Sort by":"排序方式","Sort Order":"排序","Sorted ascending.":"升序排列。","Sorted descending.":"降序排列。","Source":"來源","Stack":"堆疊","Stack files sharing the same unique image or instance identifier.":"將有一樣的唯一圖片或實例ID的檔案堆疊起來。","Stack pictures taken at the exact same time and location based on their metadata.":"根據元數據,將在相同時間和位置拍攝的照片堆疊在一起。","Stackable":"可堆疊","Stacks":"堆疊","Start":"開始","Start Page":"開始頁","Static Size Limit: %{n}px":"靜態大小限制:%{n} px","Status":"狀態","Storage":"儲存空間","Streets":"街","Subject":"主題","Submit":"提交","Successfully activated":"激活成功","Successfully Connected":"成功連接","Successfully deleted":"已成功删除","Successfully verified":"驗證成功","Super Admin":"超級管理員","Support for additional services, like Google Drive, will be added over time.":"隨著時間的推移,將增加對其他服務的支援,例如Google雲端硬碟。","Support Our Mission":"支持我們的使命","Sync":"同步","Sync raw and video files":"同步 RAW 照片及影片","Taken":"拍攝於","Teal":"藍綠","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"图像分类、面部识别和检测不安全内容都需要使用 TensorFlow。","Terrain":"地形","Text":"文字","Text too long":"文字太長了","Thank You for Your Support!":"感谢你的支持!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"這就是為何 PhotoPrism 是從零開始建置,好讓您可以在任何您想要的地方運作的,無須向自由、隱私或是功能妥協。","The index currently contains %{n} hidden files.":"索引目前包含%{n}個隱藏檔案。","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"它們的格式可能不被支援,或尚未轉換為JPEG,或存在重複。","Theme":"主題","This field is required":"此欄位是必需的","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"這會將\"originals\"資料夾安裝為網絡硬碟,並允許您從電腦或智慧型手機中打開,編輯和刪除文件,就像它們是本地文件一樣。","Time UTC":"UTC 時間","Time Zone":"時區","Timeout":"逾時","Title":{"Account":"標題","Photo":"標題","":"標題"},"Title / Position":"職位 / 位置","Title too long":"標題太長","to":"到","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"為避免您的帳戶被鎖定,請立即下載、列印或複製此恢復代碼並將其保存在安全的地方。","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"若要產生新的應用程式專用密碼,請輸入應用程式的名稱和授權範圍並選擇到期日期:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"要切換到新的身份驗證器應用程式或設備,請先停用雙重認證,然後重新啟用它:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"要升级,你可以输入激活码或点击 \"注册\",在我们的网站上注册:","Today":"今天","Toggle View":"切換檢視","Token":"令牌","Too many files selected":"选择的文件过多","Too many requests":"请求太多","Troubleshooting":"故障排除","Try again using other filters or keywords.":"請使用其他篩選條件或是關鍵字。","Two-factor authentication has been enabled for your account.":"您的帳戶已啟用雙重認證。","Type":"格式","Unauthorized":"未經授權的存取","Undo":"復原","Unique ID":"唯一身份","Unknown":"未知","Unregistered":"未註冊","Unsorted":"未分類","Unstack":"取消堆疊","Updated":"已更新","Updating faces":"更新面孔","Updating index":"更新索引","Updating moments":"更新時刻","Updating picture…":"正在更新圖片…","Updating previews":"更新預覽","Updating stacks":"更新堆疊","Upgrade":"升級","Upgrade Now":"立即升級","Upload":"上傳","Upload complete":"上傳完成","Upload complete. Indexing…":"上傳完成。索引中…","Upload failed":"上傳失敗","Upload local files":"上傳本機檔案","Upload Path":"上传路径","Upload to WebDAV and share links with friends.":"上傳到 WebDAV 並且分享連結給朋友。","Uploading %{n} of %{t}…":"上傳 %{n} / %{t} …","Uploading photos…":"上傳照片中…","Uploading…":"上傳…","Uploads that may contain such images will be rejected automatically.":"上傳此類圖像將可能被自動拒絕。","Use Presets":"使用預設","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"當您無法使用身份驗證器應用程式產生有效的驗證碼時,請使用下列恢復代碼存取您的帳戶:","Use your recovery code or contact an administrator for help.":"使用恢复密码或联系管理员寻求帮助。","User":"使用者","User Guide":"使用者指南","User Interface":"使用者介面","Username":"使用者名稱","Users":"使用者","Vector":"向量","Vectors":"向量","Verification Code":"驗證碼","Video":"影片","Video Duration":"影片長度","Videos":"影片","View":"檢視","View search results as a list.":"以清單形式查看搜尋結果。","Viewer":"檢視者","Visitor":"訪問者","Visual Similarity":"視覺相似度","Warning":"警告","We appreciate your feedback!":"感謝您的回饋!","We do our best to respond within five business days or less.":"我們盡最大努力在五個工作日或更短的時間內做出回應。","Web Login":"網頁登入","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"WebDAV客戶端可以使用以下URL連接到PhotoPrism:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"WebDAV客戶端(例如Microsoft的Windows資源管理器或Apple的Finder)可以直接連接到PhotoPrism。","WebDAV Upload":"WebDAV上傳","WebGL support is disabled in your browser":"您的瀏覽器中禁用了 WebGL 支持","Website":"網站","White":"白色","Work Details":"作品詳情","Year":"年","Yellow":"黃色","Yes":"是","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"歡迎您來信 membership@photoprism.app 和我們諮詢有關會員資格的相關問題。","You can only download one album":"你只能下載一個相簿","You can only download one label":"你只能下載一個標籤","You can upload up to %{n} files for test purposes.":"您最多可以上传 %{n} 个文件用于测试。","You may only select one item":"你只能選取一個項目","You may rescan your library to find additional faces.":"您可以重新掃描您的收藏庫以查找其他面孔。","Your account has been successfully connected.":"您的帳號已成功連結。","Your browser does not support WebGL":"您的瀏覽器不支援WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"您的持續支持有助於我們提供定期更新並保持獨立,因此我們可以完成我們的使命並保護您的隱私。","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"您的資料庫會持續進行分析,以自動建立有關特殊時刻、旅行和地點的相簿。","Zoom in/out":"縮放"}} \ No newline at end of file +{"zh_TW":{"{0} appended action":"{0} 附加操作","{0} files":"{0} 個文件","{0} files ({1} in total)":"{0} 個檔案(總共 {1} 個)","{0} more":"還有 {0} 個","{0} prepended action":"{0} 前置操作","{0} selected":"已選{0}","{0}-{1} of {2}":"第 {0}-{1} 個,共 {2} 個","%{n} albums found":"找到了 %{n} 本相簿","%{n} files uploaded":"%{n} 個檔案上傳完成","%{n} folders found":"找到了 %{n} 個資料夾","%{n} GB of %{q} GB used":"已使用 %{n} GB(共 %{q} GB)","%{n} labels found":"找到了 %{n} 個標籤","%{n} people found":"找到 %{n} 個人","%{n} pictures found":"找到 %{n} 張圖片","%{s} is too long":"%{s} 太長","%{s} is too short":"%{s} 太短","1 hour":"1 小時","12 hours":"12 小時","2-Factor Authentication":"雙重身份驗證","2FA":"2FA","4 hours":"4 小時","A click will copy it to your clipboard.":"點擊以複製到剪貼簿。","A new version of %{s} is available:":"%{s} 的新版本可用:","About":"關於","Access Token":"訪問令牌","Account":"帳號","Account created":"帳號已建立","Account deleted":"帳號已刪除","Account restored":"帳戶已恢復","Accounts":"所有帳戶","Accuracy":"準確度","Action":"動作","Actions":"動作","Activate":"啟用","Activate to remove sorting.":"啟動以刪除排序。","Activate to sort ascending.":"啟動以升序排序。","Activate to sort descending.":"激活以降序排序。","Activation Code":"啟用碼","Add":"新增","Add %{s}?":"添加%{名稱}?","Add Account":"新增帳戶","Add Album":"新增相簿","Add files to your library via Web Upload.":"從網頁上傳檔案到收藏庫。","Add Link":"新增連結","Add person?":"添加人?","Add pictures from search results by selecting them.":"從搜尋結果中透過選取加入圖片。","Add to album":"新增到相簿","Added":"已新增","Adjust Location":"調整位置","Admin":"管理員","Advanced":"進階","After 1 day":"1 天後","After 3 days":"3 天後","After 7 days":"7 天後","After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:":"輸入密碼進行確認後,您可以使用相容的身份驗證器應用程式或裝置設定雙重認證:","After one month":"1 個月後","After one year":"1 年後","After selecting pictures from search results, you can add them to an album using the context menu.":"從搜尋結果選擇圖片後,您可以使用內容選單將它們加入相簿。","After two months":"2 個月後","After two weeks":"2 星期後","Album":"相簿","Album Backups":"相册备份","Album created":"相簿已建立","Album deleted":"相簿已刪除","Albums":"相簿","Albums deleted":"相簿已刪除","All":"全部","All %{n} albums loaded":"共 %{n} 本相簿已載入","All %{n} labels loaded":"共 %{n} 個標籤已載入","All %{n} people loaded":"共 %{n} 人已讀取","All Cameras":"所有相機","All Categories":"所有分類","All Colors":"所有顏色","All Countries":"所有國家","All fields are required":"所有的欄位都是必填的","All files from import folder":"匯入資料夾中的所有檔案","All Lenses":"所有鏡頭","All Months":"所有月份","All originals":"所有來源","All Years":"所有年份","Alternatively, you can upload files directly to WebDAV servers like Nextcloud.":"或者,你也可以直接使用WebDAV(例如 NextCloud)等服務上傳檔案。","Altitude":"高度","Altitude (m)":"高度(公尺)","AM":"是","Animated":"動態圖片","Animation":"動畫","Animations":"動畫","Any private photos and videos remain private and won't be shared.":"所有私人相片跟影片都會保持私人,不會被分享。","API Key":"API鑰匙","Application":"應用","Apply":"套用","Approve":"確認","Apps and Devices":"應用程式和裝置","Archive":"封存","Archived":"已封存","Are you sure you want to archive the selection?":"確定要封存所選的項目嗎?","Are you sure you want to delete these albums?":"確定要刪除這些相簿嗎?","Are you sure you want to delete these labels?":"確定要刪除這些標籤嗎?","Are you sure you want to delete this account?":"確定要刪除這個帳號嗎?","Are you sure you want to delete this album?":"您確定要刪除此相簿嗎?","Are you sure you want to permanently delete these pictures?":"確定要永久刪除這些圖片嗎?","Are you sure you want to permanently delete this file?":"確定要永久刪除這個檔案嗎?","Are you sure?":"你確定嗎?","Artist":"作者","Aspect Ratio":"長寬比","Audio":"聲音的","Authentication":"驗證","Auto":"汽車","Back":"後退","Back to top":"回到頂部","Backup":"備份","Badge":"徽章","Base Path":"基本路径","Become a member today, support our mission and enjoy our member benefits!":"今天就加入會員,支持我們的使命並享受我們的會員福利!","Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services.":"作為 100% 自籌資金和獨立的公司,我們可以向您保證,我們永遠不會出售您的數據,並且我們將始終對我們的軟件和服務保持透明。","Bio":"個人資料","Birth Date":"出生日期","Black":"黑色","Blackman: Lanczos Modification, Less Ringing Artifacts":"布萊克曼窗函數:使用Lanczos濾波器修改,減少振鈴現象","Blue":"藍色","Brown":"棕色","Browse":"浏览","Browse and edit image classification labels.":"瀏覽並編輯分類標籤。","Browse and share your pictures organized into monthly albums.":"瀏覽並分享按月度相簿組織的照片。","Browse Files":"瀏覽文件","Browse indexed files and folders in Library.":"在收藏庫中瀏覽已索引的檔案和資料夾。","Bug Report":"回報問題","Busy, please wait…":"忙碌中,請稍候…","By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct.":"當您開始使用我們提供的軟體及服務時,即表示您同意我們的服務條款、隱私權政策和行為準則。","Calendar":"日曆","Camera":"相機","Camera Serial":"相機序號","Can't access your authenticator app or device?":"无法访问您的身份验证应用程序或设备?","Can't load more, limit reached":"已達上限,無法再載入更多","Can't select more items":"無法選取更多項目","Cancel":"取消","Cannot copy to clipboard":"無法複製到剪貼簿","Caption":"標題","Cards":"卡片","Carousel slide {0} of {1}":"輪播投影片第 {0} 張(共 {1} 張)","Category":"分類","Change Avatar":"變更頭像","Change Password":"更改密碼","Change personal profile and security settings.":"更改個人資料和安全設置。","Change photo titles, locations, and other metadata.":"更改照片標題,位置和其他資料。","Change private flag":"更改私人選項","Changes could not be saved":"無法儲存更改項目","Changes successfully saved":"成功儲存變更","Changes to the advanced settings require a restart to take effect.":"对高级设置的更改需要重新启动才能生效。","Checked":"已選擇","Chroma":"彩度","Cleaning index and cache":"清理索引和缓存","Cleanup":"清理","Clear {0}":"清除{0}","Client":"客户","Client Credentials":"个人","Close":"關閉","Codec":"解碼器","Color":"顏色","Color Profile":"色彩設定檔","Colors":"顏色","Compare Editions":"比較版本","Complete Rescan":"重新完整掃描","Confidence":"可信度","Confirm":"確認","Connect":"連線","Connect via WebDAV":"使用 WebDAV 連線","Connected":"已連線","Contact Details":"聯絡方式","Contact Us":"聯絡我們","Contains %{n} pictures.":"包含 %{n} 張圖片。","Contains one picture.":"包含一張圖片。","Content":"內容","Continue":"繼續","Continue with %{provider}":"继续 %{provider}","Contributor":"貢獻者","Converting":"轉換中","Copied to clipboard":"已複製到剪貼簿","Copy":"複製","Copyright":"版權","Couldn't find anything.":"找不到任何東西。","Country":"國家","Create Account":"新增帳號","Create album":"新增相簿","Create regular backups based on the configured schedule.":"根据配置的时间表创建索引备份。","Create YAML files to back up album metadata.":"创建 YAML 文件来备份相册元数据。","Create YAML sidecar files to back up picture metadata.":"创建 YAML sidecar 文件来备份图片元数据。","Created":"已新增","Creating thumbnails for":"為以下項目新增縮圖","Cubic: Moderate Quality, Good Performance":"立方:中等品質,良好效能","Current Password":"目前的密碼","Custom":"風俗","Cyan":"青色","Daily":"每日","Database Backups":"数据库备份","Day":"日","Deactivate":"停用","Debug Logs":"除錯紀錄","Default":"預設","Default Folder":"預設資料夾","Delete":"刪除","Delete Album":"刪除相簿","Delete All":"全部删除","Delete all?":"全部刪除?","Delete orphaned index entries, sidecar files and thumbnails.":"删除孤儿索引条目、副卡文件和缩略图。","Description":"描述","Detailed instructions can be found in our User Guide.":"詳細指示可以在用戶指南中找到。","Details":"細節","Dimensions":"尺寸","Disable Backups":"停用備份","Disable Darktable":"停用 Darktable","Disable ExifTool":"停用 ExifTool","Disable features that require write permission for the originals folder.":"禁用需要原件文件夹写入权限的功能。","Disable FFmpeg":"停用 FFmpeg","Disable ImageMagick":"禁用ImageMagick","Disable interactive world maps and reverse geocoding.":"禁用交互式世界地图和反向地理编码。","Disable Places":"停用位置","Disable RawTherapee":"停用 RawTherapee","Disable TensorFlow":"停用 TensorFlow","Disable Vectors":"停用向量","Disable WebDAV":"停用 WebDAV","Disables vector graphics support.":"停用向量圖型支援。","Disables video transcoding and thumbnail extraction.":"停用影像轉碼和縮圖擷取。","Discover":"發現","Dismiss":"解僱","Display Name":"顯示名稱","Display picture captions in search results.":"在搜尋結果中顯示圖片標題。","Display picture titles in search results.":"在搜尋結果中顯示圖片標題。","Document":"文件","Documents":"文件","Don't use Darktable to convert RAW images.":"不要使用 Darktable 來轉換 RAW 檔案。","Don't use ImageMagick to convert images.":"不要用ImageMagick来转换图像。","Don't use RawTherapee to convert RAW images.":"不要使用 RawTherapee 來轉換 RAW 檔案。","Done":"完成","Done.":"完成。","Download":"下載","Download only original media files, without any automatically generated files.":"只下載原始的媒體檔,不會自動產生任何的檔案。","Download remote files":"下載遠端檔案","Download single files and zip archives.":"下載單一檔案以及 zip 壓縮檔。","Downloading…":"下載中…","Downscaling Filter":"縮小濾鏡","Drag and drop files here":"將文件拖放到此處","Due to the high volume of emails we receive, our team may be unable to get back to you immediately.":"由於我們收到大量電子郵件,我們的團隊可能無法立即回覆您。","Duplicates will be skipped and only appear once.":"重複的項目會被跳過並只會出現一次。","Duration":"時長","Dynamic Previews":"動態預覽","Dynamic Size Limit: %{n}px":"動態大小限制:%{n} px","E-Mail":"電子郵件","Edit":"編輯","Edit %{s}":"編輯 %{s}","Edit Account":"編輯帳號","Edit Photo":"編輯相片","Edited":"已編輯","Email":"電子郵件","Enable debug mode to display additional logs and help with troubleshooting.":"启用调试模式可显示更多日志,帮助排除故障。","Enable new features that may be incomplete or unstable.":"啟用可能不完整或不穩定的新功能。","Enables RAW converter presets. May reduce performance.":"啟用 RAW 轉換器預設集。可能會降低性能。","Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account.":"啟用雙重認證意味著您將需要隨機生成的驗證碼才能登錄,因此即使有人獲得您的密碼,他們也無法存取您的帳戶。","Enter date":"輸入日期","Enter dates":"輸入日期","Enter the code generated by your authenticator app:":"輸入您的身份驗證器應用程式產生的代碼:","Enter verification code":"輸入驗證碼","Enter your password to confirm the action and continue:":"輸入您的密碼以確認操作並繼續:","Error":"錯誤","Errors":"錯誤","Estimate":"估算","Estimate Locations":"估計地點","Estimate the approximate location of pictures without GPS coordinates.":"在沒有 GPS 座標的情況下估計圖片的大致位置。","Every two days":"每兩天","Exclude content marked as private from search results, shared albums, labels, and places.":"在搜尋結果,分享相簿,標籤,位置排除標為私人的內容。","Exclude hidden":"排除隱藏","ExifTool is required for full support of XMP metadata, videos and Live Photos.":"要完全支持视频、实时照片和 XMP,需要使用 ExifTool 提取元数据。","Experimental Features":"測試功能","Expires":"有效期限","Exposure":"曝光","Extract still images and generate thumbnails while indexing.":"提取靜態圖像並在索引時產生縮圖。","F Number":"F值","Face":"臉","Faces":"臉","Failed removing link":"移除連結失敗","Failed to connect account.":"無法連接帳戶。","Failed updating link":"更新連結失敗","Family Name":"姓氏","Fast":"快","Favorite":"我的最愛","Favorites":"我的最愛","Feature Request":"功能要求","Feedback":"回饋","Female":"女性","File":"檔案","File Browser":"檔案瀏覽器","File Conversion":"檔案轉換","File Name":"檔案名稱","File Size":"檔案大小","Filename":"檔案名稱","Files":"檔案","Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture.":"連續檔名例如 'IMG_1234 (2)' 及 'IMG_1234 (3)' 會被當作同一張照片。","First page":"第一頁","Focal Length":"焦距","Folder":"資料夾","Folder contains %{n} files":"資料夾中有 %{n} 個檔案","Folder is empty":"資料夾是空的","Folders":"資料夾","Forgot password?":"忘記密碼?","FPS":"FPS","Frames":"框架","Full Access":"完全存取權限","Fullscreen":"全螢幕","General":"一般","Generate":"產生","Generate albums of special moments, journeys, and places.":"自動建立特殊時刻、旅行和地點的相冊。","Generate Previews":"生成預覽","Generated":"產生","Get Started":"立即開始","Given Name":"名字","Global Options":"全域選項","Go to page {0}":"轉到第 {0} 頁","Gold":"金色","Green":"綠色","Grey":"灰色","Guest":"來賓","Hash":"雜湊","Help":"支援","Help & Support":"支援與幫助","Hidden":"隱藏","Hidden Files":"隱藏的檔案","Hide":"隱藏","Hide photos that have been moved to archive.":"隱藏的圖片已經移至封存。","High":"高","High Dynamic Range (HDR)":"高動態範圍 (HDR)","How can we help?":"我們可以幫你什麼?","Hybrid":"雜種","If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account.":"如果您失去了對身份驗證器應用程式或裝置的存取權限,您可以使用復原代碼來重新獲得對帳戶的存取權限。","Image":"圖片","Image Quality":"影像品質","Import":"匯入","Import failed":"匯入失敗","Imported files will be sorted by date and given a unique name to avoid duplicates.":"匯入的檔案會依照日期排序,並且給予一個獨特的名字以防止重複。","Imported files will be sorted by date and given a unique name.":"匯入的檔案會依照日期排序,並且給予一個獨特的名字。","Importing %{s}…":"匯入 %{s} 中…","Importing files to originals…":"匯入檔案到「originals」…","in":"在","In case pictures you expect are missing, please rescan your library and wait until indexing has been completed.":"如果您覺得應該會在的圖片不見了,請重新掃描您的資料庫並等待索引完成。","Include RAW image files when downloading stacks and archives.":"在下載堆疊和封存時包含 RAW 圖像一起。","Include sidecar files when downloading stacks and archives.":"在下載堆疊和封存時包含 sidecar 檔案一起。","Increase storage size or delete files to continue.":"增加儲存大小或刪除檔案以繼續。","Index":"索引","Index and import files through the user interface.":"透過使用者界面建立索引和匯入檔案。","Indexing":"建立索引中","Indexing failed":"建立索引失敗","Indexing media and sidecar files…":"正在建立媒體和sidecar檔案的索引…","Information":"資訊","Instance ID":"實例 ID","Insufficient storage.":"儲存空間不足","Interval":"間隔","Invalid":"無效","Invalid address":"地址無效","Invalid country":"無效國家","Invalid date":"無效的日期","Invalid parameters":"無效的參數","Invalid photo selected":"選擇的照片無效","Invalid time":"時間無效","Invalid URL":"無效網址","It is a one-time use code that will disable 2FA for your account when you use it.":"這是一個一次性使用代碼,當您使用它時,它將停用您帳戶的 2FA。","Item":"項目","Items per page:":"每頁項目:","JPEG Quality: %{n}":"JPEG品質:%{n}","JPEG Size Limit: %{n}px":"JPEG大小限制:%{n} px","JPEGs and thumbnails are automatically rendered as needed.":"JPEGs 跟 縮圖 在需要的時候會自動生成。","Keywords":"關鍵字","Label":"標籤","Labels":"標籤","Labels deleted":"已刪除標籤","Lanczos: Detail Preservation, Minimal Artifacts":"Lanczos:保留細節,減少偽像","Language":"語言","Last Active":"最近一次活動","Last Login":"最後一次登入","Last page":"最後一頁","Last Sync":"上次同步","Last Used":"最後使用","Latitude":"緯度","LDAP/AD":"LDAP/AD","Learn more":"了解更多","Learn More":"了解更多","Legal Information":"法律資訊","Lens":"鏡頭","Library":"收藏庫","License":"授權","Like":"喜歡","Lime":"萊姆色","Limit reached, showing first %{n} files":"到達上限,顯示前 %{n} 個檔案","Linear: Very Smooth, Best Performance":"線性:非常平滑,最佳性能","Link":"連結","List":"清單","List View":"清單視圖","Live":"即時","Live Photos":"原況照片","Load more":"加載更多","Loading items...":"正在加載項目...","Loading...":"載入中...","Local":"当地","Local Time":"本地時間","Location":"地點","Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues.":"日誌訊息會在PhotoPrism遇到損毀的檔案,或是其他問題出現時出現。","Login":"登入","Logout":"登出","Logs":"日誌","Longitude":"經度","Low":"低","Magenta":"洋紅","Main Color":"主要顏色","Male":"男性","Manage Account":"管理帳號","Manager":"主管","Manual":"手動的","Manual Upload":"手動上傳","Maps":"地圖","Marker":"標記","Maximum number of accounts has been reached.":"已達最大帳戶數。","Media":"媒體","Medium":"中","Membership":"會員資格","Merge %{a} with %{b}?":"將 %{a} 與 %{b} 合併?","Message":"訊息","Message sent":"訊息已傳送","Metadata":"元数据","Metrics":"指標","Minimize":"最小化","Missing":"缺少","Missing or invalid configuration":"配置缺失或无效","Moments":"回憶時刻","Monochrome":"黑白","Month":"月","More options":"更多選項","Mosaic":"馬賽克","Most Relevant":"最相關的","Move Files":"移動檔案","Must have at least %{n} characters.":"必須至少有 %{n} 個字元。","Mute":"沉默的","Name":"名稱","Name too long":"名稱太長了","Never":"永不","New":"新","New Password":"新密碼","Newest First":"按最新優先","Next":"下一個","Next page":"下一頁","Next visual":"下一個視覺效果","No":"否","No albums found":"找不到相簿","No data available":"無可用數據","No labels found":"找不到標籤","No matching records found":"沒有找到符合的記錄","No more":"不再","No people found":"找不到人","No pictures found":"找不到圖片","No recently edited pictures":"沒有最近編輯的圖片","No results":"找不到結果","No server connection":"沒有伺服器連接","No servers configured.":"沒有設定好的伺服器。","No services configured.":"沒有設定服務。","No thanks":"不用了,謝謝","No warnings or error containing this keyword. Note that search is case-sensitive.":"沒有包含此關鍵字的警告或錯誤。請注意,搜尋區分大小寫。","Non-photographic and low-quality images require a review before they appear in search results.":"非照片和低品質圖像需要進行手動確認,才會出現在搜尋結果中。","None":"無","Not allowed":"不允許","Not found":"未找到","Not sorted.":"沒有排序。","Not supported":"不支援","Note you may manually manage your originals folder and importing is optional.":"請注意,您可以手動管理「originals」資料夾,而匯入是選用的。","Note:":"注意:","Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload.":"注意:只能將 WebDAV 伺服器(如Nextcloud或PhotoPrism)設定為遠端服務,以進行備份和檔案上傳。","Notes":"備註","Nothing to see here yet.":"這裡什麼都沒有。","Nothing was found.":"什麼都沒有找到。","Offline":"離線","OIDC":"開放式資料中心","OK":"好的","Oldest First":"最舊優先","On Windows, enter the following resource in the connection dialog:":"在 Windows 上,於連接對話框中輸入以下資訊:","On-demand generation of thumbnails may cause high CPU and memory usage. It is not recommended for resource-constrained servers and NAS devices.":"按需生成缩略图可能会导致较高的 CPU 和内存使用率。不建议资源有限的服务器和 NAS 设备使用。","Once a week":"一周一次","One album found":"找到 1 本相簿","One file found":"找到 1 個檔案","One file uploaded":"已上傳一個檔案","One folder found":"找到 1 個資料夾","One label found":"找到一個標籤","One person found":"找到一個人","One picture found":"找到一張圖片","Only locally managed accounts can be set up for authentication with 2FA.":"只能設定本機管理的帳戶以使用 2FA 進行身份驗證。","Open":"开放","optional":"選修的","or":"或者","Orange":"橘色","Organization":"組織","Orientation":"方向","Original file names will be stored and indexed.":"來源檔案名稱會被儲存及索引。","Original Name":"原始名稱","Originals":"來源","Other":"其他","Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.":"我們的使命是提供對用戶和隱私最友好的解決方案,以使您的照片井井有條且易於訪問。","Outdoor":"外出","Page {0}, Current page":"第 {0} 頁,目前頁","Pages":"頁面","Pagination Navigation":"分頁導航","Panorama":"全景照片","Panoramas":"全景照片","Password":"密碼","Password changed":"密碼已更改","People":"人","People you share a link with will be able to view public contents.":"擁有連結的人可以看到公開內容。","Permanently deleted":"永久刪除","Permanently remove files to free up storage.":"永久刪除檔案以釋放儲存空間。","Person":"人","Personal":"个人","Photo":"相片","PhotoPrism is 100% self-funded and independent.":"PhotoPrism 是獨立而且100%自籌資金的。","PhotoPrism+ Membership":"PhotoPrism+ 會員資格","Photos":"照片","Picture Title":"图片标题","Pink":"粉紅色","Place":"地點","Place & Time":"地點與時間","Places":"地點","Please confirm your new password.":"請確認你的新密碼。","Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:":"請複製以下隨機產生的應用程式密碼並將其保存在安全的地方,因為您將無法再次看到它:","Please do not upload any private, unlawful or offensive pictures.":"请勿上传任何私人、非法或攻击性图片。","Please don't upload photos containing offensive content.":"請不要上傳包含冒犯性內容的照片。","Please enter OTP character {0}":"請輸入一次性密碼字元 {0}","Please note that changing your password will log you out on other devices and browsers.":"請注意,更改密碼將使您在其他裝置和瀏覽器上登出。","Please restart your instance for the changes to take effect.":"請重新啟動您的執行個體以使變更生效。","Please wait…":"請稍候…","PM":"午安","PNG Size Limit: %{n}px":"PNG大小限制:%{n} px","Portrait":"人像","Preserve filenames":"保留檔案名稱","Press enter to create a new album.":"按下按鈕以新增相簿。","Prevent database and album backups as well as YAML sidecar files from being created.":"防止创建数据库和相册备份以及 YAML sidecar 文件。","Prevent other apps from accessing PhotoPrism as a shared network drive.":"防止其他应用程序将 PhotoPrism 作为共享网络驱动器访问。","Preview":"預覽","Preview Images":"图片预览","Previous":"以前的","Previous page":"上一頁","Previous visual":"之前的視覺效果","Primary":"主要的","Private":"私人的","Product Feedback":"產品回饋","Projection":"投影","Purple":"紫色","Quality Filter":"品質過濾","Quality Score":"品質成績","r":"r","Random":"隨機","Rating {0} of {1}":"評分為 {0}(共 {1})","Raw":"原始","RAW":"RAW","Re-index all originals, including already indexed and unchanged files.":"重新索引所有原始檔案,包含已經索引過及未變更過的檔案。","Read-Only Mode":"唯讀模式","Recently Added":"最近新增","Recently Archived":"最近存檔","Recently Edited":"最近編輯","Recognition starts after indexing has been completed.":"索引完成後開始辨識。","Recognize faces so people can be assigned and found.":"辨識面孔,以找到特定的人。","Recognized":"已辨識","Recovery Code":"恢復程式碼","Red":"紅色","Refresh":"重新整理","Regions":"地區","Register":"注册","Reload":"重新載入","Reloading…":"重新載入中…","Remote Sync":"遠端同步","Remove":"移除","remove failed: unknown album":"移除失敗:未知的相簿","Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location.":"刪除已匯入的檔案以節省儲存空間。不支援的檔案類型將不會被刪除,它們會保留在當前位置。","Request failed - are you offline?":"要求失敗-您是否處於離線狀態?","Request failed - invalid response":"要求失敗 - 無效的回應","Require non-photographic and low-quality images to be reviewed before they appear in search results.":"要求非攝影和低品質影像在出現在搜尋結果中之前經過審查。","Resolution":"解析度","Restart":"重新啟動","Restore":"復原","Restored":"已恢復","Retry Limit":"重試限制","Retype Password":"重新輸入密碼","Review":"回顧","Role":"角色","Rows per page:":"每頁行數:","Satellite":"衛星","Save":"儲存","Scan":"掃描","Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:":"使用身份驗證器應用程式掃描二維碼或使用如下所示的設定金鑰,然後輸入產生的驗證碼:","Scans":"掃描","Scope":"範圍","Search":"搜尋","Search and display photos on a map.":"搜尋並在地圖上顯示圖片。","Season":"季節","Secret":"秘密","Security and Access":"安全和存取","Select":"選擇","Select a source folder to import files…":"選擇要匯入檔案的來源資料夾…","Select date":"選擇日期","Select dates":"選擇日期","Select or create an album":"選擇或建立相簿","Select the files to upload…":"選擇要上傳的檔案…","Select the folder to be indexed…":"選擇要索引的資料夾…","Select Time":"選擇時間","Selection approved":"選取項目已認可","Selection archived":"選取項目已封存","Selection restored":"選取項目已被復原","Sequential Name":"連續名稱","Service URL":"服務 URL","Services":"服務","Session":"工作階段","Session ID":"工作階段ID","Sessions":"工作階段","Set as Album Cover":"設為專輯封面","Settings":"設定","Settings saved":"設定已儲存","Setup":"設定","Share":"分享","Share %{s}":"分享 %{s}","Share your pictures with other apps and services.":"與其他應用程式和服務分享您的照片。","Show":"顯示","Show all new faces":"顯示所有新面孔","Show Captions":"顯示字幕","Show hidden":"顯示隱藏","Show less":"顯示較少","Show more":"顯示更多","Show server logs in Library.":"在收藏庫中顯示伺服器日誌。","Show Titles":"顯示標題","Sidecar":"Sidecar檔案","Sidecar Files":"Sidecar 文件","Sign in":"登入","Similar":"相似","Size":"尺寸","Slideshow":"幻燈片","Slow":"慢","Software":"軟體","Software Update":"軟體更新","Something went wrong, try again":"出错了,再试一次","Sort by":"排序方式","Sort Order":"排序","Sorted ascending.":"升序排列。","Sorted descending.":"降序排列。","Source":"來源","Stack":"堆疊","Stack files sharing the same unique image or instance identifier.":"將有一樣的唯一圖片或實例ID的檔案堆疊起來。","Stack pictures taken at the exact same time and location based on their metadata.":"根據元數據,將在相同時間和位置拍攝的照片堆疊在一起。","Stackable":"可堆疊","Stacks":"堆疊","Start":"開始","Start Page":"開始頁","Static Size Limit: %{n}px":"靜態大小限制:%{n} px","Status":"狀態","Storage":"儲存空間","Streets":"街","Subject":"主題","Submit":"提交","Successfully activated":"激活成功","Successfully Connected":"成功連接","Successfully deleted":"已成功删除","Successfully verified":"驗證成功","Super Admin":"超級管理員","Support for additional services, like Google Drive, will be added over time.":"隨著時間的推移,將增加對其他服務的支援,例如Google雲端硬碟。","Support Our Mission":"支持我們的使命","Sync":"同步","Sync raw and video files":"同步 RAW 照片及影片","Taken":"拍攝於","Teal":"藍綠","TensorFlow is required for image classification, facial recognition, and detecting unsafe content.":"图像分类、面部识别和检测不安全内容都需要使用 TensorFlow。","Terrain":"地形","Text":"文字","Text too long":"文字太長了","Thank You for Your Support!":"感谢你的支持!","That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality.":"這就是為何 PhotoPrism 是從零開始建置,好讓您可以在任何您想要的地方運作的,無須向自由、隱私或是功能妥協。","The index currently contains %{n} hidden files.":"索引目前包含%{n}個隱藏檔案。","Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates.":"它們的格式可能不被支援,或尚未轉換為JPEG,或存在重複。","Theme":"主題","This field is required":"此欄位是必需的","This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local.":"這會將\"originals\"資料夾安裝為網絡硬碟,並允許您從電腦或智慧型手機中打開,編輯和刪除文件,就像它們是本地文件一樣。","Time UTC":"UTC 時間","Time Zone":"時區","Timeout":"逾時","Title":{"Account":"標題","Photo":"標題","":"標題"},"Title / Position":"職位 / 位置","Title too long":"標題太長","to":"到","To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place.":"為避免您的帳戶被鎖定,請立即下載、列印或複製此恢復代碼並將其保存在安全的地方。","To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:":"若要產生新的應用程式專用密碼,請輸入應用程式的名稱和授權範圍並選擇到期日期:","To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:":"要切換到新的身份驗證器應用程式或設備,請先停用雙重認證,然後重新啟用它:","To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:":"要升级,你可以输入激活码或点击 \"注册\",在我们的网站上注册:","Today":"今天","Toggle View":"切換檢視","Token":"令牌","Too many files selected":"选择的文件过多","Too many requests":"请求太多","Troubleshooting":"故障排除","Try again using other filters or keywords.":"請使用其他篩選條件或是關鍵字。","Two-factor authentication has been enabled for your account.":"您的帳戶已啟用雙重認證。","Type":"格式","Unable to delete":"無法刪除","Unauthorized":"未經授權的存取","Undo":"復原","Unique ID":"唯一身份","Unknown":"未知","Unregistered":"未註冊","Unsorted":"未分類","Unstack":"取消堆疊","Updated":"已更新","Updating faces":"更新面孔","Updating index":"更新索引","Updating moments":"更新時刻","Updating picture…":"正在更新圖片…","Updating previews":"更新預覽","Updating stacks":"更新堆疊","Upgrade":"升級","Upgrade Now":"立即升級","Upload":"上傳","Upload complete":"上傳完成","Upload complete. Indexing…":"上傳完成。索引中…","Upload failed":"上傳失敗","Upload local files":"上傳本機檔案","Upload Path":"上传路径","Upload to WebDAV and share links with friends.":"上傳到 WebDAV 並且分享連結給朋友。","Uploading %{n} of %{t}…":"上傳 %{n} / %{t} …","Uploading photos…":"上傳照片中…","Uploading…":"上傳…","Uploads that may contain such images will be rejected automatically.":"上傳此類圖像將可能被自動拒絕。","Use Presets":"使用預設","Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:":"當您無法使用身份驗證器應用程式產生有效的驗證碼時,請使用下列恢復代碼存取您的帳戶:","Use your recovery code or contact an administrator for help.":"使用恢复密码或联系管理员寻求帮助。","User":"使用者","User Guide":"使用者指南","User Interface":"使用者介面","Username":"使用者名稱","Users":"使用者","Vector":"向量","Vectors":"向量","Verification Code":"驗證碼","Video":"影片","Video Duration":"影片長度","Videos":"影片","View":"檢視","View search results as a list.":"以清單形式查看搜尋結果。","Viewer":"檢視者","Visitor":"訪問者","Visual Similarity":"視覺相似度","Warning":"警告","We appreciate your feedback!":"感謝您的回饋!","We do our best to respond within five business days or less.":"我們盡最大努力在五個工作日或更短的時間內做出回應。","Web Login":"網頁登入","WebDAV":"WebDAV","WebDAV clients can connect to PhotoPrism using the following URL:":"WebDAV客戶端可以使用以下URL連接到PhotoPrism:","WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism.":"WebDAV客戶端(例如Microsoft的Windows資源管理器或Apple的Finder)可以直接連接到PhotoPrism。","WebDAV Upload":"WebDAV上傳","WebGL support is disabled in your browser":"您的瀏覽器中禁用了 WebGL 支持","Website":"網站","White":"白色","Work Details":"作品詳情","Year":"年","Yellow":"黃色","Yes":"是","You are welcome to contact us at membership@photoprism.app for questions regarding your membership.":"歡迎您來信 membership@photoprism.app 和我們諮詢有關會員資格的相關問題。","You can only download one album":"你只能下載一個相簿","You can only download one label":"你只能下載一個標籤","You can search for a location or move the marker on the map to change the position:":"您可以搜尋某個位置或移動地圖上的標記來更改位置:","You can upload up to %{n} files for test purposes.":"您最多可以上传 %{n} 个文件用于测试。","You may only select one item":"你只能選取一個項目","You may rescan your library to find additional faces.":"您可以重新掃描您的收藏庫以查找其他面孔。","Your account has been successfully connected.":"您的帳號已成功連結。","Your browser does not support WebGL":"您的瀏覽器不支援WebGL","Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy.":"您的持續支持有助於我們提供定期更新並保持獨立,因此我們可以完成我們的使命並保護您的隱私。","Your library is continuously analyzed to automatically create albums of special moments, trips, and places.":"您的資料庫會持續進行分析,以自動建立有關特殊時刻、旅行和地點的相簿。","Zoom in/out":"縮放"}} \ No newline at end of file diff --git a/frontend/src/locales/ko.po b/frontend/src/locales/ko.po index ce446a87e..a6c71bbb4 100644 --- a/frontend/src/locales/ko.po +++ b/frontend/src/locales/ko.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: ci@photoprism.app\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2025-04-04 08:03+0000\n" +"PO-Revision-Date: 2025-07-06 08:58+0000\n" "Last-Translator: DeepL \n" "Language-Team: Korean \n" "Language: ko\n" @@ -11,7 +11,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.10.4\n" +"X-Generator: Weblate 5.12.2\n" "Generated-By: easygettext\n" #: src/locales.js:268 @@ -42,7 +42,7 @@ msgstr "{0} 선택됨" msgid "{0}-{1} of {2}" msgstr "{2}의 {0}-{1}" -#: src/page/albums.vue:612 +#: src/page/albums.vue:617 msgid "%{n} albums found" msgstr "%{n}개 앨범을 찾음" @@ -50,25 +50,25 @@ msgstr "%{n}개 앨범을 찾음" msgid "%{n} files uploaded" msgstr "%{n}개 파일 업로드함" -#: src/page/library/browse.vue:362 +#: src/page/library/browse.vue:364 msgid "%{n} folders found" msgstr "%{n}개 폴더를 찾음" -#: src/component/navigation.vue:1676 +#: src/component/navigation.vue:1707 msgid "%{n} GB of %{q} GB used" msgstr "%{n} q}의 GB 사용된 GB" -#: src/page/labels.vue:528 +#: src/page/labels.vue:533 msgid "%{n} labels found" msgstr "%{n}개 라벨을 찾음" -#: src/page/people/new.vue:350 src/page/people/new.vue:447 -#: src/page/people/recognized.vue:536 +#: src/page/people/new.vue:350 src/page/people/new.vue:450 +#: src/page/people/recognized.vue:541 msgid "%{n} people found" msgstr "%{n}명을 찾았습니다" -#: src/page/album/photos.vue:308 src/page/album/photos.vue:493 -#: src/page/photos.vue:441 src/page/photos.vue:631 +#: src/page/album/photos.vue:313 src/page/album/photos.vue:504 +#: src/page/photos.vue:446 src/page/photos.vue:641 msgid "%{n} pictures found" msgstr "사진 %{n}장 찾았습니다" @@ -88,12 +88,12 @@ msgstr "1시간" msgid "12 hours" msgstr "12시간" -#: src/component/user/edit/dialog.vue:452 src/page/settings/account.vue:324 -#: src/component/settings/passcode.vue:75 +#: src/component/user/edit/dialog.vue:453 src/page/settings/account.vue:325 +#: src/component/settings/passcode.vue:78 msgid "2-Factor Authentication" msgstr "2단계 인증" -#: src/component/user/edit/dialog.vue:451 src/options/auth.js:46 +#: src/component/user/edit/dialog.vue:452 src/options/auth.js:47 msgid "2FA" msgstr "2FA" @@ -109,20 +109,20 @@ msgstr "클릭하면 클립보드에 복사됩니다." msgid "A new version of %{s} is available:" msgstr "s}의 새 버전을 사용할 수 있습니다:" -#: src/component/user/edit/dialog.vue:233 -#: src/component/user/edit/dialog.vue:234 src/page/about/about.vue:56 +#: src/component/user/edit/dialog.vue:234 +#: src/component/user/edit/dialog.vue:235 src/page/about/about.vue:56 #: src/page/settings/account.vue:248 src/page/settings/account.vue:249 -#: src/app/routes.js:63 src/component/navigation.vue:1521 -#: src/page/people/recognized.vue:292 +#: src/app/routes.js:63 src/component/navigation.vue:1547 +#: src/page/people/recognized.vue:296 msgid "About" msgstr "정보" -#: src/options/auth.js:26 src/options/auth.js:44 +#: src/options/auth.js:27 src/options/auth.js:45 msgid "Access Token" msgstr "액세스 토큰" -#: src/component/navigation.vue:87 src/component/navigation.vue:1788 -#: src/component/service/upload.vue:71 src/model/service.js:96 +#: src/component/navigation.vue:87 src/component/navigation.vue:1822 +#: src/component/service/upload.vue:72 src/model/service.js:96 #: src/model/user.js:171 src/page/settings.vue:85 #: src/page/settings/general.vue:582 msgid "Account" @@ -136,7 +136,7 @@ msgstr "계정 생성됨" msgid "Account deleted" msgstr "계정 삭제됨" -#: src/page/admin/users.vue:335 +#: src/page/admin/users.vue:337 msgid "Account restored" msgstr "계정이 복원되었습니다." @@ -157,8 +157,8 @@ msgstr "동작" msgid "Actions" msgstr "동작" -#: src/page/connect.vue:294 src/component/settings/passcode.vue:346 -#: src/page/connect.vue:303 +#: src/page/connect.vue:296 src/component/settings/passcode.vue:349 +#: src/page/connect.vue:305 msgid "Activate" msgstr "활성화" @@ -174,20 +174,20 @@ msgstr "오름차순으로 정렬하려면 활성화합니다." msgid "Activate to sort descending." msgstr "활성화하면 내림차순으로 정렬됩니다." -#: src/page/connect.vue:231 src/page/connect.vue:240 +#: src/page/connect.vue:233 src/page/connect.vue:242 msgid "Activation Code" msgstr "활성화 코드" -#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:83 -#: src/component/settings/apps.vue:448 +#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:92 +#: src/component/settings/apps.vue:451 msgid "Add" msgstr "추가" -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:246 msgid "Add %{s}?" msgstr "이름 추가 %{s}?" -#: src/component/user/add/dialog.vue:56 src/component/service/add.vue:49 +#: src/component/user/add/dialog.vue:57 src/component/service/add.vue:50 msgid "Add Account" msgstr "계정 등록" @@ -204,8 +204,8 @@ msgid "Add Link" msgstr "링크 추가" #: src/component/photo/edit/people.vue:25 -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:57 -#: src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:57 +#: src/page/people/new.vue:246 msgid "Add person?" msgstr "사람을 추가하시겠습니까?" @@ -221,10 +221,15 @@ msgstr "검색 결과에서 사진을 선택해 추가할 수 있습니다." msgid "Add to album" msgstr "앨범에 추가" -#: src/component/photo/edit/files.vue:514 +#: src/component/photo/edit/files.vue:516 msgid "Added" msgstr "추가됨" +#: src/component/location/dialog.vue:68 src/component/location/dialog.vue:90 +#: src/component/photo/edit/details.vue:246 +msgid "Adjust Location" +msgstr "위치 조정" + #: src/options/admin.js:6 src/options/auth.js:6 msgid "Admin" msgstr "관리자" @@ -245,7 +250,7 @@ msgstr "3일 후" msgid "After 7 days" msgstr "7일 후" -#: src/component/settings/passcode.vue:93 +#: src/component/settings/passcode.vue:96 msgid "After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:" msgstr "확인을 위해 비밀번호를 입력한 후 호환되는 인증 앱 또는 장치를 사용하여 2단계 인증을 설정할 수 있습니다." @@ -277,12 +282,16 @@ msgstr "앨범" msgid "Album Backups" msgstr "앨범 백업" -#: src/page/albums.vue:674 +#: src/page/albums.vue:685 msgid "Album created" msgstr "앨범 생성됨" -#: src/app/routes.js:176 src/component/album/toolbar.vue:51 -#: src/component/navigation.vue:604 src/component/navigation.vue:1882 +#: src/page/album/photos.vue:589 +msgid "Album deleted" +msgstr "앨범 삭제됨" + +#: src/app/routes.js:184 src/component/album/toolbar.vue:55 +#: src/component/navigation.vue:607 src/component/navigation.vue:1922 #: src/component/photo/edit/info.vue:220 src/options/options.js:198 msgid "Albums" msgstr "앨범" @@ -295,7 +304,7 @@ msgstr "앨범 삭제됨" msgid "All" msgstr "모두" -#: src/page/albums.vue:465 +#: src/page/albums.vue:470 msgid "All %{n} albums loaded" msgstr "모든 %{n}개 앨범 로딩됨" @@ -311,8 +320,8 @@ msgstr "모든 %{n}명 로딩됨" msgid "All Cameras" msgstr "모든 카메라" -#: src/component/photo/toolbar.vue:74 src/page/albums.vue:44 -#: src/page/albums.vue:240 src/page/albums.vue:746 +#: src/component/photo/toolbar.vue:74 src/page/albums.vue:45 +#: src/page/albums.vue:242 src/page/albums.vue:757 msgid "All Categories" msgstr "모든 카테고리" @@ -344,7 +353,7 @@ msgstr "모든 달" msgid "All originals" msgstr "모든 원본" -#: src/component/photo/toolbar.vue:76 src/page/albums.vue:93 +#: src/component/photo/toolbar.vue:76 src/page/albums.vue:94 msgid "All Years" msgstr "모든 년도" @@ -356,7 +365,7 @@ msgstr "대신, Nextcloud와 같은 WebDAV 서버에 직접 파일을 업로드 msgid "Altitude" msgstr "고도" -#: src/component/photo/edit/details.vue:272 +#: src/component/photo/edit/details.vue:297 msgid "Altitude (m)" msgstr "고도 (m)" @@ -364,8 +373,7 @@ msgstr "고도 (m)" msgid "AM" msgstr "AM" -#: src/app/routes.js:257 src/component/navigation.vue:791 -#: src/component/photo/edit/files.vue:364 +#: src/app/routes.js:265 src/component/photo/edit/files.vue:364 #: src/component/photo/view/cards.vue:327 #: src/component/photo/view/cards.vue:511 src/component/photo/view/list.vue:184 #: src/component/photo/view/mosaic.vue:171 src/options/options.js:301 @@ -376,43 +384,47 @@ msgstr "움직이는 사진" msgid "Animation" msgstr "애니메이션" +#: src/component/navigation.vue:797 +msgid "Animations" +msgstr "애니메이션" + #: src/component/share/dialog.vue:207 msgid "Any private photos and videos remain private and won't be shared." msgstr "모든 비공개 사진과 동영상은 비공개로 유지되며 공유되지 않습니다." -#: src/component/service/edit.vue:372 +#: src/component/service/edit.vue:373 msgid "API Key" msgstr "API 키" -#: src/page/admin/sessions.vue:357 src/options/auth.js:25 +#: src/page/admin/sessions.vue:361 src/options/auth.js:26 msgid "Application" msgstr "애플리케이션" -#: src/component/photo/edit/details.vue:641 +#: src/component/photo/edit/details.vue:615 msgid "Apply" msgstr "적용" #: src/component/photo/clipboard.vue:64 -#: src/component/photo/edit/details.vue:640 +#: src/component/photo/edit/details.vue:614 #: src/component/photo/view/cards.vue:416 msgid "Approve" msgstr "승인" -#: src/page/settings/account.vue:374 src/component/settings/apps.vue:91 +#: src/page/settings/account.vue:378 src/component/settings/apps.vue:94 msgid "Apps and Devices" msgstr "앱 및 디바이스" -#: src/app/routes.js:287 src/component/lightbox.vue:1207 -#: src/component/navigation.vue:555 src/component/photo/clipboard.vue:142 +#: src/app/routes.js:295 src/component/lightbox.vue:1207 +#: src/component/navigation.vue:557 src/component/photo/clipboard.vue:142 #: src/component/photo/view/cards.vue:398 src/page/settings/general.vue:432 msgid "Archive" msgstr "보관" -#: src/component/lightbox.vue:1982 src/component/photo/edit/info.vue:433 +#: src/component/lightbox.vue:2002 src/component/photo/edit/info.vue:433 msgid "Archived" msgstr "보관함" -#: src/component/photo/archive/dialog.vue:34 +#: src/component/photo/archive/dialog.vue:35 msgid "Are you sure you want to archive the selection?" msgstr "선택 항목들을 보관하시겠습니까?" @@ -420,19 +432,23 @@ msgstr "선택 항목들을 보관하시겠습니까?" msgid "Are you sure you want to delete these albums?" msgstr "선택한 앨범을 삭제 하시겠습니까?" -#: src/component/label/delete/dialog.vue:34 +#: src/component/label/delete/dialog.vue:35 msgid "Are you sure you want to delete these labels?" msgstr "선택 라벨을 삭제 하시겠습니까?" -#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:36 +#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:37 msgid "Are you sure you want to delete this account?" msgstr "이 계정을 삭제 하시겠습니까?" +#: src/component/album/toolbar.vue:136 +msgid "Are you sure you want to delete this album?" +msgstr "이 앨범을 삭제하시겠습니까?" + #: src/component/photo/clipboard.vue:199 msgid "Are you sure you want to permanently delete these pictures?" msgstr "이 사진을 영구적으로 삭제하시겠습니까?" -#: src/component/file/delete/dialog.vue:34 +#: src/component/file/delete/dialog.vue:35 msgid "Are you sure you want to permanently delete this file?" msgstr "이 파일을 영구적으로 삭제 하시겠습니까?" @@ -441,7 +457,7 @@ msgstr "이 파일을 영구적으로 삭제 하시겠습니까?" msgid "Are you sure?" msgstr "확실합니까?" -#: src/component/photo/edit/details.vue:537 +#: src/component/photo/edit/details.vue:511 msgid "Artist" msgstr "아티스트" @@ -449,14 +465,14 @@ msgstr "아티스트" msgid "Aspect Ratio" msgstr "종횡비" -#: src/app/routes.js:250 src/component/navigation.vue:770 +#: src/app/routes.js:258 src/component/navigation.vue:776 #: src/options/options.js:297 msgid "Audio" msgstr "오디오" -#: src/component/user/add/dialog.vue:190 src/component/user/edit/dialog.vue:309 -#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:281 -#: src/page/admin/users.vue:75 +#: src/component/user/add/dialog.vue:191 src/component/user/edit/dialog.vue:310 +#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:282 +#: src/page/admin/users.vue:77 msgid "Authentication" msgstr "인증" @@ -464,11 +480,11 @@ msgstr "인증" msgid "Auto" msgstr "자동" -#: src/component/settings/apps.vue:151 +#: src/component/settings/apps.vue:154 msgid "Back" msgstr "뒤쪽에" -#: src/component/scroll.vue:20 +#: src/component/scroll.vue:18 msgid "Back to top" msgstr "맨 위로 돌아가기" @@ -480,26 +496,26 @@ msgstr "백업" msgid "Badge" msgstr "배지" -#: src/component/user/edit/dialog.vue:361 #: src/component/user/edit/dialog.vue:362 +#: src/component/user/edit/dialog.vue:363 msgid "Base Path" msgstr "기본 경로" -#: src/page/about/about.vue:95 src/page/connect.vue:220 +#: src/page/about/about.vue:96 src/page/connect.vue:222 msgid "Become a member today, support our mission and enjoy our member benefits!" msgstr "지금 바로 회원으로 가입하여 우리의 미션을 지원하고 회원 혜택을 누려보세요!" -#: src/component/confirm/sponsor.vue:51 src/page/about/about.vue:99 +#: src/component/confirm/sponsor.vue:52 src/page/about/about.vue:100 msgid "Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services." msgstr "100% 자체 자금으로 운영되며 독립되었기에, 우리는 귀하의 데이터를 절대 판매하지 않으며 소프트웨어와 서비스에 대해 항상 투명할 것임을 약속할 수 있습니다." -#: src/component/user/edit/dialog.vue:258 -#: src/component/user/edit/dialog.vue:259 src/page/settings/account.vue:227 +#: src/component/user/edit/dialog.vue:259 +#: src/component/user/edit/dialog.vue:260 src/page/settings/account.vue:227 #: src/page/settings/account.vue:228 msgid "Bio" msgstr "바이오" -#: src/page/settings/account.vue:431 +#: src/page/settings/account.vue:437 msgid "Birth Date" msgstr "생일" @@ -520,7 +536,7 @@ msgid "Brown" msgstr "갈색" #: src/component/photo/edit/files.vue:263 src/component/photo/toolbar.vue:141 -#: src/component/upload/dialog.vue:240 +#: src/component/upload/dialog.vue:242 msgid "Browse" msgstr "찾아보기" @@ -548,16 +564,16 @@ msgstr "버그 신고" msgid "Busy, please wait…" msgstr "처리중, 잠시만 기다려주세요…" -#: src/page/connect.vue:317 +#: src/page/connect.vue:319 msgid "By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct." msgstr "당사가 제공하는 소프트웨어 및 서비스를 사용함으로써 귀하는 당사의 서비스 약관, 개인 정보 보호 정책 및 행동 강령에 동의하는 것입니다." -#: src/app/routes.js:189 src/component/navigation.vue:1081 +#: src/app/routes.js:197 src/component/navigation.vue:1097 #: src/options/options.js:204 src/page/settings/general.vue:205 msgid "Calendar" msgstr "달력" -#: src/component/photo/edit/details.vue:346 src/component/photo/toolbar.vue:232 +#: src/component/photo/edit/details.vue:320 src/component/photo/toolbar.vue:234 #: src/component/photo/view/cards.vue:467 src/component/photo/view/list.vue:116 msgid "Camera" msgstr "카메라" @@ -570,12 +586,12 @@ msgstr "카메라 일련 번호" msgid "Can't access your authenticator app or device?" msgstr "인증 앱 또는 디바이스에 액세스할 수 없나요?" -#: src/page/album/photos.vue:317 src/page/photos.vue:450 +#: src/page/album/photos.vue:322 src/page/photos.vue:455 msgid "Can't load more, limit reached" msgstr "더 로드할 수 없습니다. 한도에 도달했습니다." #: src/common/clipboard.js:102 src/common/clipboard.js:139 -#: src/page/albums.vue:684 src/page/albums.vue:700 src/page/labels.vue:293 +#: src/page/albums.vue:695 src/page/albums.vue:711 src/page/labels.vue:293 #: src/page/labels.vue:313 src/page/library/browse.vue:233 #: src/page/library/browse.vue:249 src/page/people/new.vue:278 #: src/page/people/new.vue:294 src/page/people/recognized.vue:305 @@ -584,26 +600,31 @@ msgid "Can't select more items" msgstr "더 많은 아이템을 선택할 수 없습니다" #: src/component/session/remove/dialog.vue:45 -#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:473 -#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:119 +#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:474 +#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:120 #: src/component/album/delete/dialog.vue:43 -#: src/component/album/edit/dialog.vue:199 src/component/confirm/dialog.vue:43 -#: src/component/file/delete/dialog.vue:47 -#: src/component/label/delete/dialog.vue:47 -#: src/component/label/edit/dialog.vue:107 -#: src/component/people/edit/dialog.vue:120 +#: src/component/album/edit/dialog.vue:200 src/component/confirm/dialog.vue:43 +#: src/component/file/delete/dialog.vue:48 +#: src/component/label/delete/dialog.vue:48 +#: src/component/label/edit/dialog.vue:108 +#: src/component/location/dialog.vue:200 +#: src/component/people/edit/dialog.vue:121 #: src/component/photo/album/dialog.vue:78 src/component/service/add.vue:19 -#: src/component/service/edit.vue:455 src/component/service/remove.vue:49 -#: src/component/service/upload.vue:117 src/component/settings/apps.vue:352 -#: src/component/settings/passcode.vue:249 -#: src/component/settings/passcode.vue:333 -#: src/component/settings/password.vue:159 src/component/share/dialog.vue:28 -#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:123 +#: src/component/service/edit.vue:456 src/component/service/remove.vue:50 +#: src/component/service/upload.vue:118 src/component/settings/apps.vue:355 +#: src/component/settings/passcode.vue:252 +#: src/component/settings/passcode.vue:336 +#: src/component/settings/password.vue:160 src/component/share/dialog.vue:28 +#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:124 #: src/page/library/import.vue:119 src/page/library/index.vue:128 msgid "Cancel" msgstr "취소" -#: src/component/photo/edit/details.vue:87 src/component/photo/edit/info.vue:61 +#: src/common/util.js:863 src/common/util.js:870 +msgid "Cannot copy to clipboard" +msgstr "클립보드에 복사할 수 없습니다." + +#: src/component/photo/edit/details.vue:89 src/component/photo/edit/info.vue:63 #: src/component/photo/edit/labels.vue:42 #: src/component/photo/view/cards.vue:445 src/component/sidebar/info.vue:72 msgid "Caption" @@ -617,17 +638,17 @@ msgstr "카드" msgid "Carousel slide {0} of {1}" msgstr "1}의 {0} 캐러셀 슬라이드" -#: src/page/about/feedback.vue:82 src/page/about/feedback.vue:83 -#: src/component/album/edit/dialog.vue:128 src/component/photo/toolbar.vue:397 +#: src/page/about/feedback.vue:83 src/page/about/feedback.vue:84 +#: src/component/album/edit/dialog.vue:129 src/component/photo/toolbar.vue:399 #: src/page/albums.vue:187 msgid "Category" msgstr "범주" -#: src/component/user/edit/dialog.vue:191 src/page/settings/account.vue:201 +#: src/component/user/edit/dialog.vue:192 src/page/settings/account.vue:201 msgid "Change Avatar" msgstr "아바타 변경" -#: src/page/settings/account.vue:297 src/component/settings/password.vue:48 +#: src/page/settings/account.vue:297 src/component/settings/password.vue:49 msgid "Change Password" msgstr "비밀번호 변경" @@ -644,17 +665,17 @@ msgid "Change private flag" msgstr "비공개 플래그 변경하기" #: src/component/user/add/dialog.vue:108 src/component/user/add/dialog.vue:113 -#: src/component/user/edit/dialog.vue:90 src/component/user/edit/dialog.vue:95 +#: src/component/user/edit/dialog.vue:91 src/component/user/edit/dialog.vue:96 #: src/page/settings/account.vue:121 src/page/settings/account.vue:126 msgid "Changes could not be saved" msgstr "변경 사항을 저장할 수 없음" -#: src/component/user/edit/dialog.vue:83 src/component/user/edit/dialog.vue:159 +#: src/component/user/edit/dialog.vue:84 src/component/user/edit/dialog.vue:160 #: src/component/album/edit/dialog.vue:73 -#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1941 +#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1961 #: src/component/photo/edit/files.vue:162 src/component/service/edit.vue:90 #: src/component/share/dialog.vue:92 src/component/share/dialog.vue:111 -#: src/page/albums.vue:677 src/page/people/recognized.vue:119 +#: src/page/albums.vue:688 src/page/people/recognized.vue:119 #: src/page/settings/advanced.vue:62 src/page/settings/content.vue:62 #: src/page/settings/general.vue:108 msgid "Changes successfully saved" @@ -668,7 +689,7 @@ msgstr "고급 설정의 변경 사항을 적용하려면 다시 시작해야 msgid "Checked" msgstr "확인됨" -#: src/component/photo/edit/files.vue:495 +#: src/component/photo/edit/files.vue:497 msgid "Chroma" msgstr "채도" @@ -684,24 +705,24 @@ msgstr "정리" msgid "Clear {0}" msgstr "지우기 {0}" -#: src/options/auth.js:11 src/options/auth.js:23 src/options/auth.js:43 +#: src/options/auth.js:12 src/options/auth.js:24 src/options/auth.js:44 msgid "Client" msgstr "클라이언트" -#: src/options/auth.js:24 +#: src/options/auth.js:25 msgid "Client Credentials" msgstr "클라이언트 자격 증명" -#: src/page/admin/sessions.vue:529 src/component/lightbox.vue:284 -#: src/component/lightbox.vue:1009 src/component/lightbox.vue:1010 -#: src/component/photo/edit/details.vue:627 src/component/photo/toolbar.vue:160 -#: src/component/settings/apps.vue:224 src/component/settings/apps.vue:437 -#: src/component/settings/passcode.vue:148 -#: src/component/settings/passcode.vue:456 -#: src/component/settings/passcode.vue:497 -#: src/component/settings/webdav.vue:131 src/component/share/dialog.vue:231 +#: src/component/user/edit/dialog.vue:474 src/page/admin/sessions.vue:536 +#: src/component/lightbox.vue:284 src/component/lightbox.vue:1009 +#: src/component/lightbox.vue:1010 src/component/photo/edit/details.vue:601 +#: src/component/photo/toolbar.vue:161 src/component/settings/apps.vue:227 +#: src/component/settings/apps.vue:440 src/component/settings/passcode.vue:151 +#: src/component/settings/passcode.vue:459 +#: src/component/settings/passcode.vue:500 +#: src/component/settings/webdav.vue:132 src/component/share/dialog.vue:231 #: src/component/sidebar/info.vue:26 src/component/update.vue:57 -#: src/component/upload/dialog.vue:228 src/locales.js:206 +#: src/component/upload/dialog.vue:230 src/locales.js:206 #: src/page/library/errors.vue:253 msgid "Close" msgstr "닫기" @@ -710,11 +731,11 @@ msgstr "닫기" msgid "Codec" msgstr "코덱" -#: src/component/photo/toolbar.vue:369 +#: src/component/photo/toolbar.vue:371 msgid "Color" msgstr "색깔" -#: src/component/photo/edit/files.vue:483 +#: src/component/photo/edit/files.vue:485 msgid "Color Profile" msgstr "색상 프로필" @@ -722,7 +743,7 @@ msgstr "색상 프로필" msgid "Colors" msgstr "색깔" -#: src/page/connect.vue:260 src/page/connect.vue:269 +#: src/page/connect.vue:262 src/page/connect.vue:271 msgid "Compare Editions" msgstr "에디션 비교" @@ -735,17 +756,18 @@ msgstr "완전 다시 색인" msgid "Confidence" msgstr "신임도" +#: src/component/location/dialog.vue:212 #: src/component/photo/album/dialog.vue:90 -#: src/component/settings/passcode.vue:261 +#: src/component/settings/passcode.vue:264 msgid "Confirm" msgstr "확인하다" -#: src/component/service/add.vue:20 src/page/settings/services.vue:187 +#: src/component/service/add.vue:20 src/page/settings/services.vue:191 msgid "Connect" msgstr "연결" -#: src/page/settings/account.vue:401 src/component/settings/webdav.vue:45 -#: src/page/settings/services.vue:167 +#: src/page/settings/account.vue:406 src/component/settings/webdav.vue:46 +#: src/page/settings/services.vue:170 msgid "Connect via WebDAV" msgstr "WebDAV로 연결하기" @@ -753,22 +775,22 @@ msgstr "WebDAV로 연결하기" msgid "Connected" msgstr "연결됨" -#: src/page/settings/account.vue:640 src/page/settings/account.vue:532 +#: src/page/settings/account.vue:646 src/page/settings/account.vue:538 msgid "Contact Details" msgstr "세부 연락처" -#: src/page/about/feedback.vue:37 src/page/connect.vue:132 -#: src/page/connect.vue:136 +#: src/page/about/feedback.vue:37 src/page/connect.vue:133 +#: src/page/connect.vue:137 msgid "Contact Us" msgstr "문의하기" #: src/page/albums.vue:433 src/page/labels.vue:237 -#: src/page/people/recognized.vue:306 +#: src/page/people/recognized.vue:310 msgid "Contains %{n} pictures." msgstr "%{n}개의 사진이 포함되어 있습니다." #: src/page/albums.vue:427 src/page/labels.vue:231 -#: src/page/people/recognized.vue:300 +#: src/page/people/recognized.vue:304 msgid "Contains one picture." msgstr "한 장의 사진이 포함되어 있습니다." @@ -776,7 +798,7 @@ msgstr "한 장의 사진이 포함되어 있습니다." msgid "Content" msgstr "콘텐츠" -#: src/component/settings/apps.vue:163 +#: src/component/settings/apps.vue:166 msgid "Continue" msgstr "계속하다" @@ -784,7 +806,7 @@ msgstr "계속하다" msgid "Continue with %{provider}" msgstr "계속하기 %{제공자}로" -#: src/options/admin.js:18 src/options/auth.js:9 +#: src/options/admin.js:22 src/options/auth.js:10 msgid "Contributor" msgstr "기여자" @@ -792,15 +814,15 @@ msgstr "기여자" msgid "Converting" msgstr "변환하는 중" -#: src/common/util.js:846 +#: src/common/util.js:856 msgid "Copied to clipboard" msgstr "클립보드에 복사했습니다" -#: src/component/settings/apps.vue:250 src/component/settings/passcode.vue:358 +#: src/component/settings/apps.vue:253 src/component/settings/passcode.vue:361 msgid "Copy" msgstr "복사" -#: src/component/photo/edit/details.vue:516 +#: src/component/photo/edit/details.vue:490 msgid "Copyright" msgstr "저작권" @@ -808,8 +830,8 @@ msgstr "저작권" msgid "Couldn't find anything." msgstr "아무것도 찾을 수 없습니다." -#: src/page/settings/account.vue:685 src/component/photo/edit/details.vue:242 -#: src/component/photo/toolbar.vue:203 src/page/settings/account.vue:577 +#: src/page/settings/account.vue:691 src/component/photo/edit/details.vue:268 +#: src/component/photo/toolbar.vue:205 src/page/settings/account.vue:583 msgid "Country" msgstr "나라" @@ -833,7 +855,7 @@ msgstr "앨범 메타데이터를 백업할 YAML 파일을 만듭니다." msgid "Create YAML sidecar files to back up picture metadata." msgstr "사진 메타데이터를 백업하는 YAML 사이드카 파일을 만듭니다." -#: src/page/admin/sessions.vue:417 src/component/photo/edit/info.vue:412 +#: src/page/admin/sessions.vue:422 src/component/photo/edit/info.vue:412 msgid "Created" msgstr "만듦" @@ -845,11 +867,11 @@ msgstr "축소판 만들기" msgid "Cubic: Moderate Quality, Good Performance" msgstr "큐빅: 보통 품질, 우수한 성능" -#: src/component/settings/password.vue:85 +#: src/component/settings/password.vue:86 msgid "Current Password" msgstr "현재 비밀번호" -#: src/options/themes.js:919 src/options/themes.js:928 +#: src/options/themes.js:920 src/options/themes.js:929 msgid "Custom" msgstr "사용자 지정" @@ -865,11 +887,11 @@ msgstr "매일" msgid "Database Backups" msgstr "데이터베이스 백업" -#: src/page/settings/account.vue:450 src/component/photo/edit/details.vue:110 +#: src/page/settings/account.vue:456 src/component/photo/edit/details.vue:112 msgid "Day" msgstr "일" -#: src/component/settings/passcode.vue:445 +#: src/component/settings/passcode.vue:448 msgid "Deactivate" msgstr "비활성화" @@ -877,36 +899,40 @@ msgstr "비활성화" msgid "Debug Logs" msgstr "디버그 로그" -#: src/options/admin.js:31 src/page/admin/sessions.vue:136 -#: src/page/admin/users.vue:176 src/component/photo/edit/info.vue:47 +#: src/options/admin.js:35 src/page/admin/sessions.vue:136 +#: src/page/admin/users.vue:178 src/component/photo/edit/info.vue:47 #: src/component/photo/edit/info.vue:110 src/model/session.js:66 -#: src/model/user.js:246 src/options/auth.js:20 src/options/auth.js:21 -#: src/options/auth.js:39 src/options/auth.js:40 src/options/options.js:196 +#: src/model/user.js:246 src/options/auth.js:21 src/options/auth.js:22 +#: src/options/auth.js:40 src/options/auth.js:41 src/options/options.js:196 #: src/options/options.js:232 src/options/options.js:316 -#: src/options/themes.js:773 +#: src/options/themes.js:774 msgid "Default" msgstr "기본값" -#: src/component/service/edit.vue:123 +#: src/component/service/edit.vue:124 msgid "Default Folder" msgstr "기본 폴더" #: src/component/session/remove/dialog.vue:56 #: src/component/user/remove/dialog.vue:56 src/component/album/clipboard.vue:97 -#: src/component/album/delete/dialog.vue:54 -#: src/component/file/delete/dialog.vue:58 src/component/label/clipboard.vue:58 -#: src/component/label/delete/dialog.vue:58 +#: src/component/album/delete/dialog.vue:54 src/component/album/toolbar.vue:137 +#: src/component/file/delete/dialog.vue:59 src/component/label/clipboard.vue:58 +#: src/component/label/delete/dialog.vue:59 #: src/component/photo/clipboard.vue:168 src/component/photo/edit/files.vue:238 -#: src/component/service/remove.vue:60 src/component/share/dialog.vue:170 +#: src/component/service/remove.vue:61 src/component/share/dialog.vue:170 #: src/page/settings/general.vue:457 msgid "Delete" msgstr "삭제" +#: src/component/album/toolbar.vue:133 +msgid "Delete Album" +msgstr "앨범 삭제" + #: src/component/photo/toolbar.vue:119 src/page/library/errors.vue:95 msgid "Delete All" msgstr "모두 삭제" -#: src/component/photo/toolbar.vue:433 src/page/library/errors.vue:193 +#: src/component/photo/toolbar.vue:435 src/page/library/errors.vue:193 msgid "Delete all?" msgstr "모두 삭제하시겠습니까?" @@ -914,16 +940,16 @@ msgstr "모두 삭제하시겠습니까?" msgid "Delete orphaned index entries, sidecar files and thumbnails." msgstr "고아가 된 색인 항목, 사이드카 파일 및 썸네일을 삭제합니다." -#: src/component/album/edit/dialog.vue:107 src/page/albums.vue:411 +#: src/component/album/edit/dialog.vue:108 src/page/albums.vue:411 msgid "Description" msgstr "설명" -#: src/component/settings/webdav.vue:115 +#: src/component/settings/webdav.vue:116 msgid "Detailed instructions can be found in our User Guide." msgstr "자세한 지시는 사용설명서에서 찾을 수 있습니다." -#: src/component/photo/edit/dialog.vue:156 -#: src/component/photo/edit/dialog.vue:173 +#: src/component/photo/edit/dialog.vue:162 +#: src/component/photo/edit/dialog.vue:181 msgid "Details" msgstr "세부 사항" @@ -987,8 +1013,8 @@ msgstr "벡터 그래픽 지원을 비활성화합니다." msgid "Disables video transcoding and thumbnail extraction." msgstr "동영상 트랜스코딩 및 썸네일 추출을 비활성화합니다." -#: src/app/routes.js:558 src/app/routes.js:565 src/app/routes.js:572 -#: src/app/routes.js:579 +#: src/app/routes.js:566 src/app/routes.js:573 src/app/routes.js:580 +#: src/app/routes.js:587 msgid "Discover" msgstr "디스커버" @@ -996,9 +1022,9 @@ msgstr "디스커버" msgid "Dismiss" msgstr "해지" -#: src/component/user/add/dialog.vue:133 src/component/user/add/dialog.vue:134 -#: src/component/user/edit/dialog.vue:163 -#: src/component/user/edit/dialog.vue:164 src/page/admin/users.vue:72 +#: src/component/user/add/dialog.vue:134 src/component/user/add/dialog.vue:135 +#: src/component/user/edit/dialog.vue:164 +#: src/component/user/edit/dialog.vue:165 src/page/admin/users.vue:74 #: src/page/settings/account.vue:149 src/page/settings/account.vue:151 msgid "Display Name" msgstr "닉네임" @@ -1013,12 +1039,12 @@ msgstr "검색 결과에 사진 제목을 표시합니다." #: src/component/photo/view/cards.vue:339 #: src/component/photo/view/cards.vue:521 -#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:174 +#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:176 #: src/options/options.js:309 msgid "Document" msgstr "문서" -#: src/component/navigation.vue:480 +#: src/component/navigation.vue:482 msgid "Documents" msgstr "문서" @@ -1034,16 +1060,16 @@ msgstr "이미지 변환에 ImageMagick을 사용하지 마세요." msgid "Don't use RawTherapee to convert RAW images." msgstr "RawTherapee를 사용하여 RAW 파일을 변환하지 마십시오." -#: src/component/settings/apps.vue:238 src/component/share/dialog.vue:29 +#: src/component/settings/apps.vue:241 src/component/share/dialog.vue:29 msgid "Done" msgstr "완료" -#: src/component/upload/dialog.vue:135 src/page/library/import.vue:46 +#: src/component/upload/dialog.vue:137 src/page/library/import.vue:46 #: src/page/library/index.vue:52 msgid "Done." msgstr "완료." -#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:118 +#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:123 #: src/component/file/clipboard.vue:48 src/component/lightbox.vue:1235 #: src/component/people/clipboard.vue:47 src/component/photo/clipboard.vue:116 #: src/component/photo/edit/files.vue:168 src/page/settings/content.vue:331 @@ -1055,7 +1081,7 @@ msgstr "다운로드" msgid "Download only original media files, without any automatically generated files." msgstr "자동으로 생성된 파일 없이 원본 미디어 파일만 다운로드하세요." -#: src/component/service/edit.vue:237 +#: src/component/service/edit.vue:238 msgid "Download remote files" msgstr "원격 파일 다운로드하기" @@ -1063,9 +1089,9 @@ msgstr "원격 파일 다운로드하기" msgid "Download single files and zip archives." msgstr "단일 파일 및 ZIP 아카이브 다운로드하기." -#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:157 +#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:172 #: src/component/file/clipboard.vue:61 src/component/label/clipboard.vue:86 -#: src/component/lightbox.vue:2021 src/component/people/clipboard.vue:59 +#: src/component/lightbox.vue:2041 src/component/people/clipboard.vue:59 #: src/component/photo/clipboard.vue:220 src/component/photo/edit/files.vue:119 #: src/component/photo/view/cards.vue:169 src/component/photo/view/list.vue:142 #: src/page/library/browse.vue:139 @@ -1080,7 +1106,7 @@ msgstr "축소 필터" msgid "Drag and drop files here" msgstr "파일을 여기로 끌어다 놓기" -#: src/page/about/feedback.vue:61 +#: src/page/about/feedback.vue:62 msgid "Due to the high volume of emails we receive, our team may be unable to get back to you immediately." msgstr "저희가 받는 이메일의 양이 많기 때문에 저희 팀에서 즉시 연락을 드리지 못할 수도 있습니다." @@ -1100,23 +1126,23 @@ msgstr "다이나믹 미리보기" msgid "Dynamic Size Limit: %{n}px" msgstr "다이나믹 크기 제한: %{n}px" -#: src/page/about/feedback.vue:141 src/page/about/feedback.vue:140 +#: src/page/about/feedback.vue:142 src/page/about/feedback.vue:141 msgid "E-Mail" msgstr "이메일" -#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:89 +#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:94 #: src/component/lightbox.vue:1136 src/component/lightbox.vue:1137 #: src/component/photo/clipboard.vue:90 src/page/settings/general.vue:407 msgid "Edit" msgstr "편집" -#: src/component/album/edit/dialog.vue:54 -#: src/component/label/edit/dialog.vue:52 -#: src/component/people/edit/dialog.vue:52 +#: src/component/album/edit/dialog.vue:55 +#: src/component/label/edit/dialog.vue:53 +#: src/component/people/edit/dialog.vue:53 msgid "Edit %{s}" msgstr "%{s} 편집하기" -#: src/component/user/edit/dialog.vue:61 src/component/service/edit.vue:79 +#: src/component/user/edit/dialog.vue:62 src/component/service/edit.vue:79 msgid "Edit Account" msgstr "계정 편집" @@ -1128,8 +1154,8 @@ msgstr "사진 편집" msgid "Edited" msgstr "편집됨" -#: src/component/user/add/dialog.vue:151 src/component/user/edit/dialog.vue:213 -#: src/page/settings/account.vue:171 src/page/settings/account.vue:593 +#: src/component/user/add/dialog.vue:152 src/component/user/edit/dialog.vue:214 +#: src/page/settings/account.vue:171 src/page/settings/account.vue:599 msgid "Email" msgstr "이메일" @@ -1145,7 +1171,7 @@ msgstr "불완전하거나 불안정할 수 있는 새로운 기능을 사용하 msgid "Enables RAW converter presets. May reduce performance." msgstr "RAW 변환기 사전 설정을 활성화합니다. 성능이 저하될 수 있습니다." -#: src/component/settings/passcode.vue:127 +#: src/component/settings/passcode.vue:130 msgid "Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account." msgstr "이중 인증을 활성화하면 로그인하려면 무작위로 생성된 인증 코드가 필요하므로 누군가가 귀하의 비밀번호에 접근하더라도 귀하의 계정에 접근할 수 없습니다." @@ -1157,7 +1183,7 @@ msgstr "날짜 입력" msgid "Enter dates" msgstr "날짜 입력" -#: src/component/settings/passcode.vue:213 src/page/auth/login.vue:104 +#: src/component/settings/passcode.vue:216 src/page/auth/login.vue:104 msgid "Enter the code generated by your authenticator app:" msgstr "인증 앱에서 생성한 코드를 입력합니다:" @@ -1165,7 +1191,7 @@ msgstr "인증 앱에서 생성한 코드를 입력합니다:" msgid "Enter verification code" msgstr "인증코드를 입력하세요" -#: src/component/settings/apps.vue:109 +#: src/component/settings/apps.vue:112 msgid "Enter your password to confirm the action and continue:" msgstr "작업을 확인하고 계속하려면 비밀번호를 입력하세요." @@ -1174,7 +1200,7 @@ msgstr "작업을 확인하고 계속하려면 비밀번호를 입력하세요." msgid "Error" msgstr "오류" -#: src/app/routes.js:374 src/component/navigation.vue:1348 +#: src/app/routes.js:382 src/component/navigation.vue:1372 msgid "Errors" msgstr "오류" @@ -1210,13 +1236,13 @@ msgstr "전체 비디오, 라이브 사진 및 XMP를 지원하려면 ExifTool msgid "Experimental Features" msgstr "실험실 기능" -#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:453 -#: src/component/service/edit.vue:157 src/component/settings/apps.vue:73 -#: src/component/settings/apps.vue:326 src/component/share/dialog.vue:62 +#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:458 +#: src/component/service/edit.vue:158 src/component/settings/apps.vue:73 +#: src/component/settings/apps.vue:329 src/component/share/dialog.vue:62 msgid "Expires" msgstr "만료" -#: src/component/photo/edit/details.vue:396 +#: src/component/photo/edit/details.vue:370 msgid "Exposure" msgstr "노출" @@ -1224,7 +1250,7 @@ msgstr "노출" msgid "Extract still images and generate thumbnails while indexing." msgstr "인덱싱하는 동안 정지 이미지를 추출하고 썸네일을 생성합니다." -#: src/component/photo/edit/details.vue:444 +#: src/component/photo/edit/details.vue:418 msgid "F Number" msgstr "F 숫자" @@ -1240,7 +1266,7 @@ msgstr "얼굴" msgid "Failed removing link" msgstr "링크를 제거하지 못했습니다" -#: src/page/connect.vue:106 src/page/connect.vue:110 +#: src/page/connect.vue:107 src/page/connect.vue:111 msgid "Failed to connect account." msgstr "계정을 연결하지 못했습니다." @@ -1248,8 +1274,8 @@ msgstr "계정을 연결하지 못했습니다." msgid "Failed updating link" msgstr "링크를 업데이트하지 못했습니다" -#: src/component/user/edit/dialog.vue:143 -#: src/component/user/edit/dialog.vue:144 src/page/settings/account.vue:128 +#: src/component/user/edit/dialog.vue:144 +#: src/component/user/edit/dialog.vue:145 src/page/settings/account.vue:128 #: src/page/settings/account.vue:130 msgid "Family Name" msgstr "성" @@ -1258,15 +1284,15 @@ msgstr "성" msgid "Fast" msgstr "빠른" -#: src/component/album/edit/dialog.vue:159 -#: src/component/label/edit/dialog.vue:85 -#: src/component/people/edit/dialog.vue:85 +#: src/component/album/edit/dialog.vue:160 +#: src/component/label/edit/dialog.vue:86 +#: src/component/people/edit/dialog.vue:86 #: src/component/photo/edit/info.vue:287 msgid "Favorite" msgstr "즐겨 찾기" -#: src/app/routes.js:222 src/component/navigation.vue:893 -#: src/options/options.js:202 src/page/albums.vue:97 +#: src/app/routes.js:230 src/component/navigation.vue:903 +#: src/options/options.js:202 src/page/albums.vue:98 msgid "Favorites" msgstr "즐겨 찾기" @@ -1274,7 +1300,7 @@ msgstr "즐겨 찾기" msgid "Feature Request" msgstr "기능 요청" -#: src/component/navigation.vue:1456 +#: src/component/navigation.vue:1482 msgid "Feedback" msgstr "피드백" @@ -1282,11 +1308,12 @@ msgstr "피드백" msgid "Female" msgstr "여성" -#: src/component/photo/edit/info.vue:214 src/model/file.js:290 +#: src/component/photo/edit/info.vue:57 src/component/photo/edit/info.vue:214 +#: src/model/file.js:290 msgid "File" msgstr "파일" -#: src/app/routes.js:343 +#: src/app/routes.js:351 msgid "File Browser" msgstr "파일 탐색기" @@ -1309,8 +1336,8 @@ msgstr "파일 크기" msgid "Filename" msgstr "파일이름" -#: src/component/navigation.vue:1930 src/component/photo/edit/dialog.vue:267 -#: src/component/photo/edit/dialog.vue:284 +#: src/component/navigation.vue:1973 src/component/photo/edit/dialog.vue:279 +#: src/component/photo/edit/dialog.vue:298 msgid "Files" msgstr "파일" @@ -1322,26 +1349,26 @@ msgstr "'IMG_1234(2)', 'IMG_1234(3)'과 같이 순차적인 이름을 가진 파 msgid "First page" msgstr "첫 페이지" -#: src/component/photo/edit/details.vue:465 +#: src/component/photo/edit/details.vue:439 msgid "Focal Length" msgstr "초점 거리" -#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:118 -#: src/component/service/edit.vue:189 src/component/service/edit.vue:194 -#: src/component/service/upload.vue:90 src/component/service/upload.vue:96 +#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:119 +#: src/component/service/edit.vue:190 src/component/service/edit.vue:195 +#: src/component/service/upload.vue:91 src/component/service/upload.vue:97 #: src/model/folder.js:199 src/page/library/browse.vue:182 msgid "Folder" msgstr "폴더" -#: src/page/library/browse.vue:365 +#: src/page/library/browse.vue:367 msgid "Folder contains %{n} files" msgstr "폴더에 %{n} 파일을 포함됨" -#: src/page/library/browse.vue:356 +#: src/page/library/browse.vue:358 msgid "Folder is empty" msgstr "폴더가 비어 있습니다" -#: src/app/routes.js:202 src/component/navigation.vue:1225 +#: src/app/routes.js:210 src/component/navigation.vue:1247 #: src/options/options.js:207 msgid "Folders" msgstr "폴더" @@ -1358,7 +1385,7 @@ msgstr "FPS" msgid "Frames" msgstr "프레임" -#: src/options/auth.js:54 src/options/auth.js:64 +#: src/options/auth.js:55 src/options/auth.js:65 msgid "Full Access" msgstr "전체 권한" @@ -1370,7 +1397,7 @@ msgstr "전체 화면" msgid "General" msgstr "일반" -#: src/component/settings/apps.vue:364 +#: src/component/settings/apps.vue:367 msgid "Generate" msgstr "생성하다" @@ -1390,8 +1417,8 @@ msgstr "생성됨" msgid "Get Started" msgstr "시작하기" -#: src/component/user/edit/dialog.vue:120 -#: src/component/user/edit/dialog.vue:121 src/page/settings/account.vue:106 +#: src/component/user/edit/dialog.vue:121 +#: src/component/user/edit/dialog.vue:122 src/page/settings/account.vue:106 #: src/page/settings/account.vue:108 msgid "Given Name" msgstr "이름" @@ -1416,7 +1443,7 @@ msgstr "녹색" msgid "Grey" msgstr "회색" -#: src/options/admin.js:22 src/options/auth.js:10 +#: src/options/admin.js:26 src/options/auth.js:11 msgid "Guest" msgstr "게스트" @@ -1432,15 +1459,15 @@ msgstr "도움말" msgid "Help & Support" msgstr "도움말/지원" -#: src/component/navigation.vue:1327 src/component/people/edit/dialog.vue:98 +#: src/component/navigation.vue:1351 src/component/people/edit/dialog.vue:99 msgid "Hidden" msgstr "숨김" -#: src/app/routes.js:358 +#: src/app/routes.js:366 msgid "Hidden Files" msgstr "숨김 파일" -#: src/page/people/new.vue:165 src/page/people/recognized.vue:205 +#: src/page/people/new.vue:166 src/page/people/recognized.vue:206 msgid "Hide" msgstr "숨기기" @@ -1456,7 +1483,7 @@ msgstr "높음" msgid "High Dynamic Range (HDR)" msgstr "HDR(하이 다이내믹 레인지)" -#: src/page/about/feedback.vue:103 +#: src/page/about/feedback.vue:104 msgid "How can we help?" msgstr "어떻게 도와 드릴까요?" @@ -1464,11 +1491,11 @@ msgstr "어떻게 도와 드릴까요?" msgid "Hybrid" msgstr "하이브리드" -#: src/component/settings/passcode.vue:389 +#: src/component/settings/passcode.vue:392 msgid "If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account." msgstr "인증 앱이나 장치에 액세스할 수 없는 경우 복구 코드를 사용하여 계정에 다시 액세스할 수 있습니다." -#: src/component/photo/edit/info.vue:63 src/component/photo/edit/labels.vue:46 +#: src/component/photo/edit/info.vue:65 src/component/photo/edit/labels.vue:46 #: src/component/photo/view/cards.vue:532 src/model/file.js:218 #: src/options/options.js:281 msgid "Image" @@ -1478,7 +1505,7 @@ msgstr "이미지" msgid "Image Quality" msgstr "이미지 품질" -#: src/page/library.vue:46 src/page/library/import.vue:152 +#: src/page/library.vue:46 src/page/library/import.vue:153 #: src/page/settings/general.vue:357 msgid "Import" msgstr "가져오기" @@ -1503,8 +1530,8 @@ msgstr "%{s} 가져오기 중…" msgid "Importing files to originals…" msgstr "오리지널에 가져 오는중…" -#: src/component/photo/edit/files.vue:515 -#: src/component/photo/edit/files.vue:520 +#: src/component/photo/edit/files.vue:517 +#: src/component/photo/edit/files.vue:522 msgid "in" msgstr "입력" @@ -1522,11 +1549,11 @@ msgstr "스택과 아카이브를 다운로드할 때 RAW 이미지 파일을 msgid "Include sidecar files when downloading stacks and archives." msgstr "스택과 아카이브를 다운로드할 때 사이드카 파일을 포함하세요." -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Increase storage size or delete files to continue." msgstr "계속하려면 저장 용량 크기를 늘리거나 파일을 삭제하세요." -#: src/component/navigation.vue:1946 src/page/library.vue:36 +#: src/component/navigation.vue:1990 src/page/library.vue:36 #: src/page/settings/content.vue:34 msgid "Index" msgstr "색인" @@ -1556,11 +1583,11 @@ msgstr "정보" msgid "Instance ID" msgstr "인스턴스 ID" -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Insufficient storage." msgstr "저장 공간 부족." -#: src/component/service/edit.vue:209 +#: src/component/service/edit.vue:210 msgid "Interval" msgstr "간격" @@ -1581,7 +1608,7 @@ msgstr "잘못된 주소" msgid "Invalid country" msgstr "잘못된 국가" -#: src/component/photo/edit/details.vue:174 +#: src/component/photo/edit/details.vue:169 msgid "Invalid date" msgstr "잘못된 날짜" @@ -1590,7 +1617,7 @@ msgstr "잘못된 날짜" msgid "Invalid parameters" msgstr "잘못된 매개 변수" -#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:197 +#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:199 msgid "Invalid photo selected" msgstr "잘못된 사진을 선택했습니다." @@ -1602,8 +1629,8 @@ msgstr "유효하지 않은 시간" msgid "Invalid URL" msgstr "잘못된 URL" -#: src/component/settings/passcode.vue:314 -#: src/component/settings/passcode.vue:391 +#: src/component/settings/passcode.vue:317 +#: src/component/settings/passcode.vue:394 msgid "It is a one-time use code that will disable 2FA for your account when you use it." msgstr "이는 귀하가 사용할 때 귀하의 계정에 대한 2FA를 비활성화하는 일회성 사용 코드입니다." @@ -1627,7 +1654,7 @@ msgstr "JPEG 크기 제한: %{n}px" msgid "JPEGs and thumbnails are automatically rendered as needed." msgstr "JPEG 파일과 썸네일은 필요에 따라 자동으로 렌더딩 됩니다." -#: src/component/photo/edit/details.vue:581 +#: src/component/photo/edit/details.vue:555 msgid "Keywords" msgstr "키워드" @@ -1636,9 +1663,9 @@ msgstr "키워드" msgid "Label" msgstr "라벨" -#: src/app/routes.js:389 src/component/navigation.vue:1177 -#: src/component/photo/edit/dialog.vue:188 -#: src/component/photo/edit/dialog.vue:205 src/options/options.js:206 +#: src/app/routes.js:397 src/component/navigation.vue:1197 +#: src/component/photo/edit/dialog.vue:196 +#: src/component/photo/edit/dialog.vue:215 src/options/options.js:206 #: src/page/settings/general.vue:255 msgid "Labels" msgstr "라벨" @@ -1655,11 +1682,11 @@ msgstr "Lanczos: 디테일 보존, 최소한의 인공물" msgid "Language" msgstr "언어" -#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:435 +#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:440 msgid "Last Active" msgstr "마지막 활성" -#: src/page/admin/users.vue:81 +#: src/page/admin/users.vue:83 msgid "Last Login" msgstr "마지막 로그인" @@ -1675,42 +1702,41 @@ msgstr "마지막 동기화" msgid "Last Used" msgstr "마지막으로 사용됨" -#: src/component/photo/edit/details.vue:298 #: src/component/photo/edit/info.vue:373 msgid "Latitude" msgstr "위도" -#: src/options/admin.js:43 src/options/auth.js:29 +#: src/options/admin.js:47 src/options/auth.js:30 msgid "LDAP/AD" msgstr "LDAP/AD" -#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:86 -#: src/page/about/about.vue:62 src/page/about/about.vue:132 +#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:87 +#: src/page/about/about.vue:62 src/page/about/about.vue:133 #: src/page/connect.vue:67 src/page/help.vue:36 msgid "Learn more" msgstr "더 보기" -#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:135 +#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:137 #: src/page/labels.vue:132 msgid "Learn More" msgstr "자세히 알아보기" -#: src/component/navigation.vue:2017 +#: src/component/navigation.vue:2066 msgid "Legal Information" msgstr "법률 정보" -#: src/component/photo/edit/details.vue:417 +#: src/component/photo/edit/details.vue:391 #: src/component/photo/view/cards.vue:480 msgid "Lens" msgstr "렌즈" -#: src/app/routes.js:443 src/app/routes.js:459 src/app/routes.js:475 -#: src/component/navigation.vue:1267 src/page/settings/general.vue:507 +#: src/app/routes.js:451 src/app/routes.js:467 src/app/routes.js:483 +#: src/component/navigation.vue:1290 src/page/settings/general.vue:507 msgid "Library" msgstr "라이브러리" #: src/page/connect.vue:45 src/app/routes.js:69 -#: src/component/navigation.vue:1478 src/component/photo/edit/details.vue:559 +#: src/component/navigation.vue:1504 src/component/photo/edit/details.vue:533 #: src/page/about/license.vue:28 msgid "License" msgstr "라이센스" @@ -1723,7 +1749,7 @@ msgstr "좋아요" msgid "Lime" msgstr "라임색" -#: src/page/library/browse.vue:369 +#: src/page/library/browse.vue:371 msgid "Limit reached, showing first %{n} files" msgstr "한도에 도달하여 처음 %{n} 파일을 표시합니다" @@ -1731,7 +1757,7 @@ msgstr "한도에 도달하여 처음 %{n} 파일을 표시합니다" msgid "Linear: Very Smooth, Best Performance" msgstr "Linear: 매우 부드럽고 최고의 성능" -#: src/model/link.js:117 src/options/auth.js:30 src/options/auth.js:31 +#: src/model/link.js:117 src/options/auth.js:31 src/options/auth.js:32 msgid "Link" msgstr "링크" @@ -1749,7 +1775,7 @@ msgstr "목록 보기" msgid "Live" msgstr "라이브" -#: src/app/routes.js:236 src/component/navigation.vue:749 +#: src/app/routes.js:244 src/component/navigation.vue:755 msgid "Live Photos" msgstr "라이브 포토" @@ -1765,21 +1791,24 @@ msgstr "항목 로드 중..." msgid "Loading..." msgstr "로드 중..." -#: src/options/admin.js:35 src/options/auth.js:22 src/options/auth.js:27 +#: src/options/admin.js:39 src/options/auth.js:23 src/options/auth.js:28 #: src/options/options.js:38 src/page/settings/general.vue:107 msgid "Local" msgstr "로컬" -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Local Time" msgstr "현지 시간" -#: src/page/settings/account.vue:665 src/page/settings/account.vue:667 -#: src/component/album/edit/dialog.vue:92 src/component/photo/edit/info.vue:65 -#: src/component/photo/edit/labels.vue:48 +#: src/page/settings/account.vue:671 src/page/settings/account.vue:673 +#: src/component/album/edit/dialog.vue:93 +#: src/component/photo/edit/details.vue:38 +#: src/component/photo/edit/details.vue:116 +#: src/component/photo/edit/details.vue:210 +#: src/component/photo/edit/info.vue:67 src/component/photo/edit/labels.vue:48 #: src/component/photo/view/cards.vue:555 src/component/photo/view/list.vue:117 -#: src/component/sidebar/info.vue:107 src/page/albums.vue:99 -#: src/page/settings/account.vue:557 src/page/settings/account.vue:559 +#: src/component/sidebar/info.vue:107 src/page/albums.vue:100 +#: src/page/settings/account.vue:563 src/page/settings/account.vue:565 msgid "Location" msgstr "위치" @@ -1787,20 +1816,19 @@ msgstr "위치" msgid "Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues." msgstr "PhotoPrism이 깨진 파일을 발견하거나 다른 잠재적인 문제가 있을 때마다 로그 메시지가 여기에 나타납니다." -#: src/component/navigation.vue:1552 src/component/navigation.vue:1840 +#: src/component/navigation.vue:1579 src/component/navigation.vue:1877 msgid "Login" msgstr "로그인" -#: src/component/navigation.vue:1759 +#: src/component/navigation.vue:1791 msgid "Logout" msgstr "로그아웃" -#: src/component/navigation.vue:1962 src/page/library.vue:59 +#: src/component/navigation.vue:2007 src/page/library.vue:59 #: src/page/settings/general.vue:557 msgid "Logs" msgstr "로그" -#: src/component/photo/edit/details.vue:324 #: src/component/photo/edit/info.vue:379 msgid "Longitude" msgstr "경도" @@ -1813,7 +1841,7 @@ msgstr "낮음" msgid "Magenta" msgstr "마젠타색" -#: src/component/photo/edit/files.vue:489 +#: src/component/photo/edit/files.vue:491 msgid "Main Color" msgstr "주요 색깔" @@ -1821,12 +1849,16 @@ msgstr "주요 색깔" msgid "Male" msgstr "남성" -#: src/page/connect.vue:164 src/page/connect.vue:246 -#: src/page/about/about.vue:171 src/page/connect.vue:168 -#: src/page/connect.vue:255 +#: src/page/connect.vue:165 src/page/connect.vue:248 +#: src/page/about/about.vue:173 src/page/connect.vue:169 +#: src/page/connect.vue:257 msgid "Manage Account" msgstr "계정 관리" +#: src/options/admin.js:10 src/options/auth.js:7 +msgid "Manager" +msgstr "관리자" + #: src/component/photo/edit/info.vue:49 src/component/photo/edit/labels.vue:38 msgid "Manual" msgstr "매뉴얼" @@ -1843,11 +1875,11 @@ msgstr "지도" msgid "Marker" msgstr "마커" -#: src/component/user/add/dialog.vue:69 +#: src/component/user/add/dialog.vue:70 msgid "Maximum number of accounts has been reached." msgstr "최대 계정 수에 도달했습니다." -#: src/app/routes.js:229 src/component/navigation.vue:688 +#: src/app/routes.js:237 src/component/navigation.vue:693 #: src/options/options.js:199 msgid "Media" msgstr "미디어" @@ -1864,7 +1896,7 @@ msgstr "멤버쉽" msgid "Merge %{a} with %{b}?" msgstr "%{a}을 %{b}과(를) 병합하시겠습니까?" -#: src/page/about/feedback.vue:102 +#: src/page/about/feedback.vue:103 msgid "Message" msgstr "메시지" @@ -1876,7 +1908,7 @@ msgstr "매시지 보냄" msgid "Metadata" msgstr "메타데이터" -#: src/options/auth.js:56 src/options/auth.js:72 +#: src/options/auth.js:57 src/options/auth.js:73 msgid "Metrics" msgstr "측정항목" @@ -1884,7 +1916,7 @@ msgstr "측정항목" msgid "Minimize" msgstr "최소화" -#: src/component/photo/edit/files.vue:509 src/component/photo/edit/info.vue:367 +#: src/component/photo/edit/files.vue:511 src/component/photo/edit/info.vue:367 msgid "Missing" msgstr "누락됨" @@ -1892,17 +1924,17 @@ msgstr "누락됨" msgid "Missing or invalid configuration" msgstr "구성이 누락되었거나 유효하지 않습니다." -#: src/app/routes.js:163 src/component/navigation.vue:1129 +#: src/app/routes.js:171 src/component/navigation.vue:1147 #: src/options/options.js:205 src/page/settings/general.vue:230 msgid "Moments" msgstr "나의 순간" -#: src/component/navigation.vue:383 +#: src/component/navigation.vue:385 msgid "Monochrome" msgstr "단색" -#: src/page/settings/account.vue:475 src/component/photo/edit/details.vue:137 -#: src/component/photo/toolbar.vue:342 +#: src/page/settings/account.vue:481 src/component/photo/edit/details.vue:139 +#: src/component/photo/toolbar.vue:344 msgid "Month" msgstr "달" @@ -1922,7 +1954,7 @@ msgstr "가장 관련성" msgid "Move Files" msgstr "파일 이동하기" -#: src/component/settings/password.vue:107 +#: src/component/settings/password.vue:108 msgid "Must have at least %{n} characters." msgstr "8자 이상이어야 합니다." @@ -1930,20 +1962,20 @@ msgstr "8자 이상이어야 합니다." msgid "Mute" msgstr "음소거" -#: src/page/about/feedback.vue:121 src/page/about/feedback.vue:122 -#: src/component/album/edit/dialog.vue:77 -#: src/component/label/edit/dialog.vue:71 -#: src/component/people/edit/dialog.vue:71 -#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:57 +#: src/page/about/feedback.vue:122 src/page/about/feedback.vue:123 +#: src/component/album/edit/dialog.vue:78 +#: src/component/label/edit/dialog.vue:72 +#: src/component/people/edit/dialog.vue:72 +#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:59 #: src/component/photo/edit/info.vue:125 src/component/photo/edit/people.vue:36 -#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:310 -#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:286 -#: src/page/albums.vue:98 src/page/auth/login.vue:168 +#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:311 +#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:289 +#: src/page/albums.vue:99 src/page/auth/login.vue:168 #: src/page/people/new.vue:68 src/page/settings/services.vue:37 msgid "Name" msgstr "이름" -#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:60 +#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:65 #: src/component/label/edit/dialog.vue:19 #: src/component/people/edit/dialog.vue:19 #: src/component/photo/edit/labels.vue:30 @@ -1953,7 +1985,7 @@ msgstr "이름" msgid "Name too long" msgstr "이름이 너무 깁니다" -#: src/page/admin/users.vue:204 src/options/options.js:361 +#: src/page/admin/users.vue:206 src/options/options.js:361 #: src/options/options.js:371 src/page/settings/services.vue:75 msgid "Never" msgstr "안함" @@ -1962,13 +1994,13 @@ msgstr "안함" msgid "New" msgstr "신규" -#: src/component/settings/password.vue:106 +#: src/component/settings/password.vue:107 msgid "New Password" msgstr "새로운 비밀번호" #: src/component/album/edit/dialog.vue:24 src/component/photo/toolbar.vue:114 #: src/component/photo/toolbar.vue:126 src/component/photo/toolbar.vue:136 -#: src/page/albums.vue:100 +#: src/page/albums.vue:101 msgid "Newest First" msgstr "최신 순" @@ -1984,15 +2016,15 @@ msgstr "다음 페이지" msgid "Next visual" msgstr "다음 비주얼" -#: src/component/people/merge/dialog.vue:47 -#: src/component/photo/archive/dialog.vue:47 +#: src/component/people/merge/dialog.vue:48 +#: src/component/photo/archive/dialog.vue:48 #: src/component/photo/edit/info.vue:281 src/component/photo/edit/info.vue:297 #: src/component/photo/edit/info.vue:313 src/component/photo/edit/info.vue:329 #: src/component/photo/edit/info.vue:344 msgid "No" msgstr "아니요" -#: src/page/albums.vue:607 src/page/albums.vue:282 +#: src/page/albums.vue:612 src/page/albums.vue:282 msgid "No albums found" msgstr "앨범이 없습니다" @@ -2000,7 +2032,7 @@ msgstr "앨범이 없습니다" msgid "No data available" msgstr "사용 가능한 데이터 없음" -#: src/page/labels.vue:523 src/page/labels.vue:155 +#: src/page/labels.vue:528 src/page/labels.vue:155 msgid "No labels found" msgstr "라벨이 없습니다" @@ -2013,15 +2045,15 @@ msgid "No more" msgstr "더 이상" #: src/component/photo/edit/people.vue:34 src/page/people/new.vue:346 -#: src/page/people/new.vue:443 src/page/people/new.vue:103 -#: src/page/people/recognized.vue:531 src/page/people/recognized.vue:146 +#: src/page/people/new.vue:446 src/page/people/new.vue:103 +#: src/page/people/recognized.vue:536 src/page/people/recognized.vue:146 msgid "No people found" msgstr "사람이 없습니다" #: src/component/lightbox.vue:365 src/component/photo/view/cards.vue:144 #: src/component/photo/view/list.vue:82 src/component/photo/view/mosaic.vue:68 -#: src/page/album/photos.vue:488 src/page/library/browse.vue:123 -#: src/page/photos.vue:626 src/page/places.vue:624 src/page/places.vue:730 +#: src/page/album/photos.vue:499 src/page/library/browse.vue:123 +#: src/page/photos.vue:636 src/page/places.vue:624 src/page/places.vue:730 msgid "No pictures found" msgstr "사진이 없습니다" @@ -2030,7 +2062,11 @@ msgstr "사진이 없습니다" msgid "No recently edited pictures" msgstr "최근에 편집한 사진이 없습니다" -#: src/component/navigation.vue:1655 +#: src/component/location/dialog.vue:166 +msgid "No results" +msgstr "결과 없음" + +#: src/component/navigation.vue:1686 msgid "No server connection" msgstr "서버 연결 없음" @@ -2042,7 +2078,7 @@ msgstr "구성된 서버가 없습니다." msgid "No services configured." msgstr "구성된 서비스가 없습니다." -#: src/component/confirm/sponsor.vue:72 +#: src/component/confirm/sponsor.vue:73 msgid "No thanks" msgstr "아니요, 괜찮습니다" @@ -2052,17 +2088,17 @@ msgstr "이 키워드를 포함하는 경고 또는 오류가 없습니다. 검 #: src/component/photo/view/cards.vue:154 src/component/photo/view/list.vue:59 #: src/component/photo/view/list.vue:92 src/component/photo/view/mosaic.vue:78 -#: src/component/upload/dialog.vue:208 +#: src/component/upload/dialog.vue:210 msgid "Non-photographic and low-quality images require a review before they appear in search results." msgstr "사진이 아닌 저품질 이미지는 검색 결과에 표시되기 전에 검토가 필요합니다." -#: src/options/admin.js:47 src/options/auth.js:32 src/options/options.js:212 +#: src/options/admin.js:51 src/options/auth.js:33 src/options/options.js:212 #: src/options/options.js:328 msgid "None" msgstr "없음" -#: src/common/util.js:853 src/component/lightbox.vue:633 -#: src/component/service/upload.vue:75 src/component/service/upload.vue:87 +#: src/component/lightbox.vue:633 src/component/service/upload.vue:75 +#: src/component/service/upload.vue:87 msgid "Not allowed" msgstr "허용되지 않음" @@ -2074,8 +2110,7 @@ msgstr "찾을 수 없음" msgid "Not sorted." msgstr "정렬되지 않았습니다." -#: src/common/util.js:858 src/component/lightbox.vue:627 -#: src/component/lightbox.vue:744 +#: src/component/lightbox.vue:627 src/component/lightbox.vue:744 msgid "Not supported" msgstr "지원되지 않음" @@ -2083,15 +2118,15 @@ msgstr "지원되지 않음" msgid "Note you may manually manage your originals folder and importing is optional." msgstr "원본 폴더를 수동으로 관리할 수 있으며 가져오기는 선택 사항입니다." -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "Note:" msgstr "노트:" -#: src/component/service/add.vue:120 +#: src/component/service/add.vue:121 msgid "Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload." msgstr "주의: Nextcloud 또는 PhotoPrism와 같은 WebDAV서버만 백업 및 파일 업로드를 위한 원격 서비스로 구성할 수 있습니다." -#: src/component/photo/edit/details.vue:603 +#: src/component/photo/edit/details.vue:577 msgid "Notes" msgstr "노트" @@ -2099,8 +2134,8 @@ msgstr "노트" msgid "Nothing to see here yet." msgstr "아직 볼 것이 없습니다. 인내심을 가지세요." -#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:115 -#: src/component/settings/apps.vue:390 +#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:125 +#: src/component/settings/apps.vue:393 msgid "Nothing was found." msgstr "아무것도 발견되지 않았습니다." @@ -2108,7 +2143,7 @@ msgstr "아무것도 발견되지 않았습니다." msgid "Offline" msgstr "오프라인" -#: src/options/admin.js:39 src/options/auth.js:28 +#: src/options/admin.js:43 src/options/auth.js:29 msgid "OIDC" msgstr "OIDC" @@ -2118,11 +2153,11 @@ msgstr "확인" #: src/component/album/edit/dialog.vue:25 src/component/photo/toolbar.vue:115 #: src/component/photo/toolbar.vue:127 src/component/photo/toolbar.vue:137 -#: src/page/albums.vue:101 +#: src/page/albums.vue:102 msgid "Oldest First" msgstr "오래된 순" -#: src/component/settings/webdav.vue:77 +#: src/component/settings/webdav.vue:78 msgid "On Windows, enter the following resource in the connection dialog:" msgstr "Windows의 경우 연결 대화 상자에 다음 리소스를 입력합니다." @@ -2134,11 +2169,11 @@ msgstr "썸네일을 주문형으로 생성하면 CPU 및 메모리 사용량이 msgid "Once a week" msgstr "일주일에 한 번" -#: src/page/albums.vue:609 +#: src/page/albums.vue:614 msgid "One album found" msgstr "1개 앨범 찾음" -#: src/page/library/browse.vue:358 +#: src/page/library/browse.vue:360 msgid "One file found" msgstr "1개 파일 찾음" @@ -2146,24 +2181,24 @@ msgstr "1개 파일 찾음" msgid "One file uploaded" msgstr "업로드된 파일 1개" -#: src/page/library/browse.vue:360 +#: src/page/library/browse.vue:362 msgid "One folder found" msgstr "1개 폴더 찾음" -#: src/page/labels.vue:525 +#: src/page/labels.vue:530 msgid "One label found" msgstr "라벨 1개를 찾았습니다." -#: src/page/people/new.vue:348 src/page/people/new.vue:445 -#: src/page/people/recognized.vue:533 +#: src/page/people/new.vue:348 src/page/people/new.vue:448 +#: src/page/people/recognized.vue:538 msgid "One person found" msgstr "한 사람이 발견됨" -#: src/page/album/photos.vue:490 src/page/photos.vue:628 +#: src/page/album/photos.vue:501 src/page/photos.vue:638 msgid "One picture found" msgstr "사진 1장 발견" -#: src/component/settings/passcode.vue:478 +#: src/component/settings/passcode.vue:481 msgid "Only locally managed accounts can be set up for authentication with 2FA." msgstr "2FA 인증을 위해 로컬로 관리되는 계정만 설정할 수 있습니다." @@ -2171,7 +2206,7 @@ msgstr "2FA 인증을 위해 로컬로 관리되는 계정만 설정할 수 있 msgid "Open" msgstr "열기" -#: src/component/service/add.vue:86 src/component/service/add.vue:107 +#: src/component/service/add.vue:87 src/component/service/add.vue:108 msgid "optional" msgstr "선택 사항" @@ -2183,7 +2218,7 @@ msgstr "또는" msgid "Orange" msgstr "주황색" -#: src/page/settings/account.vue:571 src/page/settings/account.vue:573 +#: src/page/settings/account.vue:577 src/page/settings/account.vue:579 msgid "Organization" msgstr "조직" @@ -2199,7 +2234,7 @@ msgstr "원본 파일 이름은 저장하고 색인됩니다." msgid "Original Name" msgstr "원본 이름" -#: src/component/navigation.vue:1304 src/model/file.js:196 +#: src/component/navigation.vue:1328 src/model/file.js:196 #: src/options/options.js:413 src/page/library/browse.vue:65 #: src/page/settings/content.vue:356 src/page/settings/general.vue:532 msgid "Originals" @@ -2210,7 +2245,7 @@ msgstr "오리지널" msgid "Other" msgstr "다른" -#: src/page/about/about.vue:77 src/page/about/about.vue:83 +#: src/page/about/about.vue:78 src/page/about/about.vue:84 msgid "Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible." msgstr "우리의 임무는 사진을 정리하고 액세스할 수 있도록 가장 사용자 및 개인 정보 보호 친화적 솔루션을 제공하는 것입니다." @@ -2222,7 +2257,7 @@ msgstr "아웃도어" msgid "Page {0}, Current page" msgstr "페이지 {0}, 현재 페이지" -#: src/component/photo/edit/files.vue:352 src/model/photo.js:859 +#: src/component/photo/edit/files.vue:352 src/model/photo.js:896 msgid "Pages" msgstr "페이지" @@ -2234,15 +2269,15 @@ msgstr "페이지 매김 탐색" msgid "Panorama" msgstr "파노라마" -#: src/component/navigation.vue:402 +#: src/component/navigation.vue:404 msgid "Panoramas" msgstr "파노라마" -#: src/component/user/add/dialog.vue:114 src/component/user/add/dialog.vue:115 -#: src/component/service/add.vue:106 src/component/service/edit.vue:352 -#: src/component/settings/apps.vue:121 src/component/settings/passcode.vue:106 -#: src/component/settings/passcode.vue:413 src/component/share/dialog.vue:27 -#: src/options/auth.js:91 src/page/auth/login.vue:196 +#: src/component/user/add/dialog.vue:115 src/component/user/add/dialog.vue:116 +#: src/component/service/add.vue:107 src/component/service/edit.vue:353 +#: src/component/settings/apps.vue:124 src/component/settings/passcode.vue:109 +#: src/component/settings/passcode.vue:416 src/component/share/dialog.vue:27 +#: src/options/auth.js:92 src/page/auth/login.vue:196 msgid "Password" msgstr "비밀번호" @@ -2250,9 +2285,9 @@ msgstr "비밀번호" msgid "Password changed" msgstr "비밀번호 변경됨" -#: src/app/routes.js:404 src/app/routes.js:428 src/component/navigation.vue:845 -#: src/component/navigation.vue:1898 src/component/photo/edit/dialog.vue:228 -#: src/component/photo/edit/dialog.vue:245 src/options/options.js:201 +#: src/app/routes.js:412 src/app/routes.js:436 src/component/navigation.vue:853 +#: src/component/navigation.vue:1939 src/component/photo/edit/dialog.vue:238 +#: src/component/photo/edit/dialog.vue:257 src/options/options.js:201 #: src/page/settings/general.vue:180 msgid "People" msgstr "사람" @@ -2273,23 +2308,23 @@ msgstr "파일을 영구적으로 제거하여 저장 공간을 확보하십시 msgid "Person" msgstr "사람" -#: src/options/auth.js:42 +#: src/options/auth.js:43 msgid "Personal" msgstr "개인" -#: src/model/photo.js:1273 +#: src/model/photo.js:1310 msgid "Photo" msgstr "사진" -#: src/page/about/about.vue:156 +#: src/page/about/about.vue:158 msgid "PhotoPrism is 100% self-funded and independent." msgstr "포토프리즘은 100% 자체 자금으로 독립적으로 운영됩니다." -#: src/page/about/about.vue:92 +#: src/page/about/about.vue:93 msgid "PhotoPrism+ Membership" msgstr "포토프리즘+ 멤버십" -#: src/app/routes.js:156 +#: src/app/routes.js:164 msgid "Photos" msgstr "사진" @@ -2310,27 +2345,27 @@ msgstr "장소" msgid "Place & Time" msgstr "장소 & 시간" -#: src/app/routes.js:303 src/app/routes.js:309 src/app/routes.js:315 -#: src/app/routes.js:330 src/component/navigation.vue:986 -#: src/component/navigation.vue:1914 src/options/options.js:203 +#: src/app/routes.js:311 src/app/routes.js:317 src/app/routes.js:323 +#: src/app/routes.js:338 src/component/navigation.vue:999 +#: src/component/navigation.vue:1956 src/options/options.js:203 #: src/page/places.vue:51 src/page/settings/general.vue:609 #: src/page/settings/general.vue:638 msgid "Places" msgstr "장소" -#: src/component/settings/password.vue:129 +#: src/component/settings/password.vue:130 msgid "Please confirm your new password." msgstr "새 비밀번호를 확인하세요." -#: src/component/settings/apps.vue:185 +#: src/component/settings/apps.vue:188 msgid "Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:" msgstr "무작위로 생성된 다음 앱 비밀번호는 다시 볼 수 없으므로 복사하여 안전한 곳에 보관하시기 바랍니다." -#: src/component/upload/dialog.vue:203 +#: src/component/upload/dialog.vue:205 msgid "Please do not upload any private, unlawful or offensive pictures." msgstr "사적이거나 불법적이거나 불쾌감을 주는 사진은 업로드하지 마세요." -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Please don't upload photos containing offensive content." msgstr "불쾌감한 콘텐츠 포함된 사진을 업로드하지 마십시오." @@ -2338,11 +2373,11 @@ msgstr "불쾌감한 콘텐츠 포함된 사진을 업로드하지 마십시오. msgid "Please enter OTP character {0}" msgstr "OTP 문자 {0}을 입력하세요." -#: src/component/settings/password.vue:66 +#: src/component/settings/password.vue:67 msgid "Please note that changing your password will log you out on other devices and browsers." msgstr "비밀번호를 변경하면 다른 장치 및 브라우저에서 로그아웃됩니다." -#: src/page/connect.vue:148 src/page/connect.vue:152 +#: src/page/connect.vue:149 src/page/connect.vue:153 msgid "Please restart your instance for the changes to take effect." msgstr "변경 사항을 적용하려면 인스턴스를 다시 시작하세요." @@ -2362,11 +2397,11 @@ msgstr "PNG 크기 제한: %{n}px" msgid "Portrait" msgstr "초상" -#: src/component/service/edit.vue:273 +#: src/component/service/edit.vue:274 msgid "Preserve filenames" msgstr "파일 이름 보류" -#: src/component/upload/dialog.vue:162 +#: src/component/upload/dialog.vue:164 msgid "Press enter to create a new album." msgstr "새 앨범을 만들려면 Enter 키를 누르세요." @@ -2403,8 +2438,8 @@ msgstr "이전 비주얼" msgid "Primary" msgstr "주요" -#: src/app/routes.js:271 src/component/album/edit/dialog.vue:176 -#: src/component/navigation.vue:531 src/component/photo/edit/info.vue:303 +#: src/app/routes.js:279 src/component/album/edit/dialog.vue:177 +#: src/component/navigation.vue:533 src/component/photo/edit/info.vue:303 #: src/page/settings/general.vue:280 msgid "Private" msgstr "비공개" @@ -2429,7 +2464,7 @@ msgstr "품질 필터" msgid "Quality Score" msgstr "품질 점수" -#: src/page/admin/users.vue:169 +#: src/page/admin/users.vue:171 msgid "r" msgstr "r" @@ -2460,7 +2495,7 @@ msgstr "읽기 전용 모드" #: src/component/album/edit/dialog.vue:26 src/component/photo/toolbar.vue:116 #: src/component/photo/toolbar.vue:128 src/component/photo/toolbar.vue:138 -#: src/page/albums.vue:102 +#: src/page/albums.vue:103 msgid "Recently Added" msgstr "최근 추가됨" @@ -2468,7 +2503,7 @@ msgstr "최근 추가됨" msgid "Recently Archived" msgstr "최근 아카이브" -#: src/component/photo/toolbar.vue:139 src/page/albums.vue:103 +#: src/component/photo/toolbar.vue:139 src/page/albums.vue:104 msgid "Recently Edited" msgstr "최근 편집" @@ -2493,24 +2528,24 @@ msgstr "복구 코드" msgid "Red" msgstr "빨간색" -#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:126 -#: src/component/album/toolbar.vue:79 src/component/photo/toolbar.vue:169 -#: src/page/albums.vue:173 src/page/labels.vue:112 +#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:128 +#: src/component/album/toolbar.vue:84 src/component/photo/toolbar.vue:169 +#: src/page/albums.vue:175 src/page/labels.vue:112 #: src/page/library/browse.vue:90 src/page/library/errors.vue:81 #: src/page/people/new.vue:54 src/page/people/recognized.vue:88 msgid "Refresh" msgstr "새로 고침" -#: src/app/routes.js:337 src/component/navigation.vue:943 -#: src/component/navigation.vue:1026 +#: src/app/routes.js:345 src/component/navigation.vue:955 +#: src/component/navigation.vue:1040 msgid "Regions" msgstr "지역" -#: src/page/connect.vue:275 src/page/connect.vue:284 +#: src/page/connect.vue:277 src/page/connect.vue:286 msgid "Register" msgstr "등록하기" -#: src/component/navigation.vue:1773 src/component/update.vue:68 +#: src/component/navigation.vue:1806 src/component/update.vue:68 msgid "Reload" msgstr "새로고침" @@ -2556,34 +2591,34 @@ msgstr "사진이 아닌 이미지와 저화질 이미지는 검색 결과에 msgid "Resolution" msgstr "해상도" -#: src/page/connect.vue:179 src/page/connect.vue:183 +#: src/page/connect.vue:180 src/page/connect.vue:184 #: src/page/settings/advanced.vue:782 msgid "Restart" msgstr "다시 시작" -#: src/component/user/edit/dialog.vue:485 src/component/lightbox.vue:1221 +#: src/component/user/edit/dialog.vue:488 src/component/lightbox.vue:1221 #: src/component/photo/clipboard.vue:77 msgid "Restore" msgstr "복원" -#: src/component/lightbox.vue:2000 +#: src/component/lightbox.vue:2020 msgid "Restored" msgstr "복원됨" -#: src/component/service/edit.vue:428 +#: src/component/service/edit.vue:429 msgid "Retry Limit" msgstr "재시도 제한" -#: src/component/settings/password.vue:128 +#: src/component/settings/password.vue:129 msgid "Retype Password" msgstr "비밀번호 다시 입력" -#: src/app/routes.js:264 src/component/navigation.vue:505 +#: src/app/routes.js:272 src/component/navigation.vue:507 msgid "Review" msgstr "리뷰" -#: src/component/user/add/dialog.vue:171 src/component/user/edit/dialog.vue:284 -#: src/page/admin/sessions.vue:262 src/page/admin/users.vue:73 +#: src/component/user/add/dialog.vue:172 src/component/user/edit/dialog.vue:285 +#: src/page/admin/sessions.vue:263 src/page/admin/users.vue:75 msgid "Role" msgstr "역할" @@ -2595,11 +2630,11 @@ msgstr "페이지당 행 수입니다:" msgid "Satellite" msgstr "위성" -#: src/component/user/edit/dialog.vue:485 -#: src/component/album/edit/dialog.vue:211 -#: src/component/label/edit/dialog.vue:119 -#: src/component/people/edit/dialog.vue:132 src/component/service/edit.vue:466 -#: src/component/settings/password.vue:172 src/component/share/dialog.vue:181 +#: src/component/user/edit/dialog.vue:488 +#: src/component/album/edit/dialog.vue:212 +#: src/component/label/edit/dialog.vue:120 +#: src/component/people/edit/dialog.vue:133 src/component/service/edit.vue:467 +#: src/component/settings/password.vue:173 src/component/share/dialog.vue:181 msgid "Save" msgstr "저장" @@ -2607,23 +2642,23 @@ msgstr "저장" msgid "Scan" msgstr "스켄" -#: src/component/settings/passcode.vue:179 +#: src/component/settings/passcode.vue:182 msgid "Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:" msgstr "인증 앱으로 QR 코드를 스캔하거나 아래 표시된 설정 키를 사용한 후 생성된 확인 코드를 입력하세요." -#: src/component/navigation.vue:461 +#: src/component/navigation.vue:463 msgid "Scans" msgstr "스켄" -#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:377 -#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:310 +#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:381 +#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:313 msgid "Scope" msgstr "범위" -#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:62 -#: src/component/navigation.vue:342 src/component/navigation.vue:1866 -#: src/component/photo/toolbar.vue:57 src/options/options.js:197 -#: src/page/albums.vue:100 src/page/labels.vue:77 +#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:69 +#: src/component/location/dialog.vue:133 src/component/navigation.vue:343 +#: src/component/navigation.vue:1905 src/component/photo/toolbar.vue:57 +#: src/options/options.js:197 src/page/albums.vue:100 src/page/labels.vue:77 #: src/page/library/errors.vue:76 src/page/people/recognized.vue:66 #: src/page/places.vue:79 src/page/settings/content.vue:235 msgid "Search" @@ -2661,11 +2696,11 @@ msgstr "날짜 선택" msgid "Select dates" msgstr "날짜 선택" -#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:154 +#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:156 msgid "Select or create an album" msgstr "앨범 선택 또는 생성" -#: src/component/upload/dialog.vue:138 +#: src/component/upload/dialog.vue:140 msgid "Select the files to upload…" msgstr "업로드할 파일 선택…" @@ -2693,7 +2728,7 @@ msgstr "선택 항목 복원됨" msgid "Sequential Name" msgstr "순차 이름" -#: src/component/service/add.vue:67 src/component/service/edit.vue:322 +#: src/component/service/add.vue:68 src/component/service/edit.vue:323 #: src/component/share/dialog.vue:25 msgid "Service URL" msgstr "서비스 URL" @@ -2702,7 +2737,7 @@ msgstr "서비스 URL" msgid "Services" msgstr "서비스" -#: src/model/session.js:107 src/options/auth.js:41 src/options/auth.js:90 +#: src/model/session.js:107 src/options/auth.js:42 src/options/auth.js:91 msgid "Session" msgstr "세션" @@ -2710,7 +2745,7 @@ msgstr "세션" msgid "Session ID" msgstr "세션 ID" -#: src/page/admin.vue:45 +#: src/page/admin.vue:44 msgid "Sessions" msgstr "세션" @@ -2718,22 +2753,22 @@ msgstr "세션" msgid "Set as Album Cover" msgstr "앨범 표지로 설정" -#: src/app/routes.js:101 src/app/routes.js:492 src/app/routes.js:504 -#: src/app/routes.js:521 src/app/routes.js:534 src/app/routes.js:547 -#: src/component/navigation.vue:1394 src/component/navigation.vue:1806 +#: src/app/routes.js:101 src/app/routes.js:500 src/app/routes.js:512 +#: src/app/routes.js:529 src/app/routes.js:542 src/app/routes.js:555 +#: src/component/navigation.vue:1419 src/component/navigation.vue:1841 msgid "Settings" msgstr "설정" #: src/page/settings/account.vue:115 src/page/settings/account.vue:144 -#: src/component/settings/passcode.vue:147 +#: src/component/settings/passcode.vue:151 msgid "Settings saved" msgstr "설정 저장됨" -#: src/component/service/upload.vue:131 src/component/settings/passcode.vue:160 +#: src/component/service/upload.vue:132 src/component/settings/passcode.vue:163 msgid "Setup" msgstr "설치" -#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:98 +#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:103 #: src/component/photo/clipboard.vue:51 src/page/settings/general.vue:382 msgid "Share" msgstr "공유" @@ -2750,7 +2785,7 @@ msgstr "다른 앱 및 서비스와 사진을 공유하십시오." msgid "Show" msgstr "보이기" -#: src/page/people/new.vue:116 src/page/people/new.vue:233 +#: src/page/people/new.vue:116 src/page/people/new.vue:235 msgid "Show all new faces" msgstr "모든 새 얼굴 표시" @@ -2795,7 +2830,7 @@ msgid "Similar" msgstr "비슷한" #: src/component/photo/edit/files.vue:51 src/component/photo/edit/files.vue:341 -#: src/component/service/edit.vue:139 src/component/sidebar/info.vue:96 +#: src/component/service/edit.vue:140 src/component/sidebar/info.vue:96 msgid "Size" msgstr "크기" @@ -2823,7 +2858,7 @@ msgstr "문제가 발생했습니다. 다시 시도하세요." msgid "Sort by" msgstr "정렬 기준" -#: src/component/album/edit/dialog.vue:142 src/component/photo/toolbar.vue:288 +#: src/component/album/edit/dialog.vue:143 src/component/photo/toolbar.vue:290 #: src/page/albums.vue:214 msgid "Sort Order" msgstr "정렬 방법" @@ -2858,7 +2893,7 @@ msgstr "메타데이터를 기반으로 정확히 같은 시간과 위치에서 msgid "Stackable" msgstr "스택 할 수 있슴" -#: src/component/navigation.vue:421 src/page/settings/content.vue:136 +#: src/component/navigation.vue:423 src/page/settings/content.vue:136 msgid "Stacks" msgstr "스택" @@ -2886,16 +2921,16 @@ msgstr "저장고" msgid "Streets" msgstr "거리" -#: src/component/photo/edit/details.vue:494 +#: src/component/photo/edit/details.vue:468 #: src/component/photo/edit/labels.vue:44 msgid "Subject" msgstr "주제" -#: src/page/about/feedback.vue:162 src/page/about/feedback.vue:163 +#: src/page/about/feedback.vue:163 src/page/about/feedback.vue:164 msgid "Submit" msgstr "제출하기" -#: src/component/settings/passcode.vue:132 +#: src/component/settings/passcode.vue:136 msgid "Successfully activated" msgstr "성공적으로 활성화되었습니다" @@ -2904,23 +2939,23 @@ msgid "Successfully Connected" msgstr "성공적으로 연결됨" #: src/component/session/remove/dialog.vue:32 -#: src/component/settings/apps.vue:218 +#: src/component/settings/apps.vue:222 msgid "Successfully deleted" msgstr "삭제 성공" -#: src/component/settings/passcode.vue:107 +#: src/component/settings/passcode.vue:108 msgid "Successfully verified" msgstr "성공적으로 확인되었습니다" -#: src/component/user/edit/dialog.vue:398 src/page/admin/users.vue:163 +#: src/component/user/edit/dialog.vue:399 src/page/admin/users.vue:165 msgid "Super Admin" msgstr "슈퍼 관리자" -#: src/component/service/add.vue:122 +#: src/component/service/add.vue:123 msgid "Support for additional services, like Google Drive, will be added over time." msgstr "Google 드라이브와 같은 추가 서비스에 대한 지원은 시간이 지남에 따라 추가됩니다." -#: src/component/confirm/sponsor.vue:37 src/component/navigation.vue:1629 +#: src/component/confirm/sponsor.vue:38 src/component/navigation.vue:1660 msgid "Support Our Mission" msgstr "우리의 임무를 지원" @@ -2928,7 +2963,7 @@ msgstr "우리의 임무를 지원" msgid "Sync" msgstr "동기화" -#: src/component/service/edit.vue:289 +#: src/component/service/edit.vue:290 msgid "Sync raw and video files" msgstr "원시 사진과 동영상 파일을 동기화하기" @@ -2954,23 +2989,23 @@ msgstr "지형" msgid "Text" msgstr "텍스트" -#: src/component/photo/edit/details.vue:32 src/page/people/new.vue:71 +#: src/component/photo/edit/details.vue:40 src/page/people/new.vue:71 msgid "Text too long" msgstr "텍스트는 너무 긴다" -#: src/page/about/about.vue:145 +#: src/page/about/about.vue:146 msgid "Thank You for Your Support!" msgstr "여러분의 성원에 감사드립니다!" -#: src/page/about/about.vue:79 src/page/about/about.vue:85 +#: src/page/about/about.vue:80 src/page/about/about.vue:86 msgid "That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality." msgstr "그렇기 때문에 포토프리즘은 처음부터 자유, 개인정보 보호, 기능에 영향을 주지 않으면서 필요한 곳 어디에서나 실행할 수 있도록 설계되었습니다." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "The index currently contains %{n} hidden files." msgstr "현재 색인에서 %{n}개의 숨겨진 파일이 있습니다." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates." msgstr "형식이 지원되지 않을 수 있고, 아직 JPEG 형식으로 변환되지 않았거나 중복이 있을 수 있습니다." @@ -2985,44 +3020,44 @@ msgstr "테마" msgid "This field is required" msgstr "이 필드는 필수 입력 사항입니다." -#: src/component/settings/webdav.vue:100 src/page/settings/services.vue:144 +#: src/component/settings/webdav.vue:101 src/page/settings/services.vue:147 msgid "This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local." msgstr "이렇게 하면 원본 폴더가 네트워크 드라이브로 마운트되고 컴퓨터나 스마트폰에서 파일을 로컬에 있는 것처럼 열고 편집하고 삭제할 수 있습니다." -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Time UTC" msgstr "표준 시간대" -#: src/component/photo/edit/details.vue:219 src/page/settings/general.vue:108 +#: src/component/photo/edit/details.vue:221 src/page/settings/general.vue:108 msgid "Time Zone" msgstr "시간대" -#: src/component/service/edit.vue:408 +#: src/component/service/edit.vue:409 msgid "Timeout" msgstr "타임아웃" -#: src/component/user/edit/dialog.vue:98 src/component/user/edit/dialog.vue:99 +#: src/component/user/edit/dialog.vue:99 src/component/user/edit/dialog.vue:100 #: src/page/settings/account.vue:84 src/page/settings/account.vue:86 msgctxt "Account" msgid "Title" msgstr "주제" -#: src/component/photo/edit/details.vue:73 +#: src/component/photo/edit/details.vue:75 msgctxt "Photo" msgid "Title" msgstr "주제" -#: src/component/photo/edit/info.vue:59 src/component/photo/edit/info.vue:155 +#: src/component/photo/edit/info.vue:61 src/component/photo/edit/info.vue:155 #: src/component/photo/edit/labels.vue:40 src/component/photo/view/list.vue:114 #: src/component/sidebar/info.vue:57 msgid "Title" msgstr "주제" -#: src/page/settings/account.vue:553 src/page/settings/account.vue:555 +#: src/page/settings/account.vue:559 src/page/settings/account.vue:561 msgid "Title / Position" msgstr "직위" -#: src/page/albums.vue:83 +#: src/page/albums.vue:84 msgid "Title too long" msgstr "주제 너무 긴다" @@ -3030,19 +3065,19 @@ msgstr "주제 너무 긴다" msgid "to" msgstr "~" -#: src/component/settings/passcode.vue:312 +#: src/component/settings/passcode.vue:315 msgid "To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place." msgstr "계정이 잠기는 것을 방지하려면 지금 이 복구 코드를 다운로드, 인쇄 또는 복사하여 안전한 곳에 보관하십시오." -#: src/component/settings/apps.vue:272 +#: src/component/settings/apps.vue:275 msgid "To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:" msgstr "새로운 앱 비밀번호를 생성하려면 애플리케이션의 이름과 인증 범위를 입력하고 만료일을 선택하세요." -#: src/component/settings/passcode.vue:400 +#: src/component/settings/passcode.vue:403 msgid "To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:" msgstr "새로운 인증 앱이나 기기로 전환하려면 먼저 2단계 인증을 비활성화한 후 다시 활성화하세요." -#: src/page/connect.vue:221 src/page/connect.vue:230 +#: src/page/connect.vue:223 src/page/connect.vue:232 msgid "To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:" msgstr "업그레이드하려면 활성화 코드를 입력하거나 '등록'을 클릭하여 웹사이트에서 가입할 수 있습니다:" @@ -3050,7 +3085,7 @@ msgstr "업그레이드하려면 활성화 코드를 입력하거나 '등록'을 msgid "Today" msgstr "오늘" -#: src/component/album/toolbar.vue:70 src/component/photo/toolbar.vue:78 +#: src/component/album/toolbar.vue:71 src/component/photo/toolbar.vue:78 msgid "Toggle View" msgstr "보기형식 변경" @@ -3077,20 +3112,24 @@ msgstr "문제 해결" msgid "Try again using other filters or keywords." msgstr "다른 필터 또는 키워드를 사용하여 다시 시도하십시오." -#: src/component/settings/passcode.vue:380 +#: src/component/settings/passcode.vue:383 msgid "Two-factor authentication has been enabled for your account." msgstr "귀하의 계정에 이중 인증이 활성화되었습니다." #: src/component/photo/edit/files.vue:58 src/component/photo/edit/files.vue:330 -#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:388 +#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:389 msgid "Type" msgstr "종류" -#: src/options/auth.js:13 +#: src/component/album/toolbar.vue:178 +msgid "Unable to delete" +msgstr "삭제할 수 없습니다." + +#: src/options/auth.js:14 msgid "Unauthorized" msgstr "승인되지 않은" -#: src/component/photo/edit/people.vue:94 +#: src/component/photo/edit/people.vue:95 msgid "Undo" msgstr "실행 취소" @@ -3098,16 +3137,16 @@ msgstr "실행 취소" msgid "Unique ID" msgstr "유일 ID" -#: src/page/settings/account.vue:451 src/page/settings/account.vue:476 -#: src/page/settings/account.vue:501 src/common/util.js:487 -#: src/component/photo/edit/details.vue:21 -#: src/component/photo/edit/details.vue:111 -#: src/component/photo/edit/details.vue:138 -#: src/component/photo/edit/details.vue:164 src/component/sidebar/info.vue:43 -#: src/model/album.js:193 src/model/photo.js:323 src/model/photo.js:784 -#: src/model/photo.js:809 src/model/photo.js:832 src/model/photo.js:850 -#: src/model/photo.js:897 src/model/photo.js:905 src/model/photo.js:994 -#: src/model/photo.js:1016 src/model/photo.js:1061 src/model/photo.js:1074 +#: src/page/settings/account.vue:457 src/page/settings/account.vue:482 +#: src/page/settings/account.vue:507 src/common/util.js:488 +#: src/component/photo/edit/details.vue:27 +#: src/component/photo/edit/details.vue:113 +#: src/component/photo/edit/details.vue:140 +#: src/component/photo/edit/details.vue:166 src/component/sidebar/info.vue:43 +#: src/model/album.js:193 src/model/photo.js:331 src/model/photo.js:821 +#: src/model/photo.js:846 src/model/photo.js:869 src/model/photo.js:887 +#: src/model/photo.js:934 src/model/photo.js:942 src/model/photo.js:1031 +#: src/model/photo.js:1053 src/model/photo.js:1098 src/model/photo.js:1111 #: src/model/user.js:157 src/options/options.js:51 src/options/options.js:69 #: src/options/options.js:86 src/options/options.js:100 #: src/options/options.js:112 src/page/library/errors.vue:251 @@ -3120,7 +3159,7 @@ msgstr "알 수 없는" msgid "Unregistered" msgstr "미등록" -#: src/app/routes.js:215 src/component/navigation.vue:644 +#: src/app/routes.js:223 src/component/navigation.vue:648 msgid "Unsorted" msgstr "정렬되지 않음" @@ -3128,7 +3167,7 @@ msgstr "정렬되지 않음" msgid "Unstack" msgstr "스택 해제" -#: src/component/photo/edit/files.vue:519 src/component/photo/edit/info.vue:416 +#: src/component/photo/edit/files.vue:521 src/component/photo/edit/info.vue:416 msgid "Updated" msgstr "업로드됨" @@ -3144,7 +3183,7 @@ msgstr "색인을 업데이트 중" msgid "Updating moments" msgstr "\"나의 순간\" 업데이트 중" -#: src/component/user/edit/dialog.vue:154 +#: src/component/user/edit/dialog.vue:155 msgid "Updating picture…" msgstr "사진 업데이트 중…" @@ -3156,21 +3195,21 @@ msgstr "미리보기 업데이트" msgid "Updating stacks" msgstr "스택을 업데이트 중" -#: src/page/connect.vue:57 src/component/navigation.vue:1500 -#: src/component/navigation.vue:1614 src/component/navigation.vue:1999 +#: src/page/connect.vue:57 src/component/navigation.vue:1526 +#: src/component/navigation.vue:1644 src/component/navigation.vue:2047 #: src/page/connect.vue:58 msgid "Upgrade" msgstr "업그레이드" -#: src/page/about/about.vue:123 src/page/connect.vue:202 -#: src/component/confirm/sponsor.vue:98 src/page/about/about.vue:113 -#: src/page/connect.vue:206 +#: src/page/about/about.vue:124 src/page/connect.vue:204 +#: src/component/confirm/sponsor.vue:99 src/page/about/about.vue:114 +#: src/page/connect.vue:208 msgid "Upgrade Now" msgstr "지금 업그레이드" -#: src/component/album/toolbar.vue:108 src/component/navigation.vue:1824 -#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:144 -#: src/component/upload/dialog.vue:51 src/page/albums.vue:183 +#: src/component/album/toolbar.vue:113 src/component/navigation.vue:1860 +#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:145 +#: src/component/upload/dialog.vue:51 src/page/albums.vue:185 #: src/page/labels.vue:122 src/page/library/import.vue:133 #: src/page/settings/general.vue:307 src/page/settings/services.vue:38 msgid "Upload" @@ -3180,21 +3219,21 @@ msgstr "업로드" msgid "Upload complete" msgstr "업로드 완료" -#: src/component/upload/dialog.vue:133 +#: src/component/upload/dialog.vue:135 msgid "Upload complete. Indexing…" msgstr "업로드 완료. 색인중…" #: src/component/upload/dialog.vue:296 src/component/upload/dialog.vue:315 -#: src/component/upload/dialog.vue:129 +#: src/component/upload/dialog.vue:131 msgid "Upload failed" msgstr "업로드 실패" -#: src/component/service/edit.vue:257 +#: src/component/service/edit.vue:258 msgid "Upload local files" msgstr "로컬 파일 업로드" -#: src/component/user/edit/dialog.vue:380 #: src/component/user/edit/dialog.vue:381 +#: src/component/user/edit/dialog.vue:382 msgid "Upload Path" msgstr "업로드 경로" @@ -3202,7 +3241,7 @@ msgstr "업로드 경로" msgid "Upload to WebDAV and share links with friends." msgstr "WebDAV에 업로드하고 친구와 링크로 공유합니다." -#: src/component/upload/dialog.vue:131 +#: src/component/upload/dialog.vue:133 msgid "Uploading %{n} of %{t}…" msgstr "%{t} 중 %{n} 업로드 중…" @@ -3215,7 +3254,7 @@ msgstr "사진 업로드중…" msgid "Uploading…" msgstr "업로드 중…" -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Uploads that may contain such images will be rejected automatically." msgstr "이러한 이미지가 포함될 수 있는 업로드는 자동으로 거부됩니다." @@ -3223,7 +3262,7 @@ msgstr "이러한 이미지가 포함될 수 있는 업로드는 자동으로 msgid "Use Presets" msgstr "사전 설정 사용" -#: src/component/settings/passcode.vue:283 +#: src/component/settings/passcode.vue:286 msgid "Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:" msgstr "인증 앱으로 유효한 인증 코드를 생성할 수 없는 경우 다음 복구 코드를 사용하여 계정에 액세스하세요." @@ -3231,12 +3270,12 @@ msgstr "인증 앱으로 유효한 인증 코드를 생성할 수 없는 경우 msgid "Use your recovery code or contact an administrator for help." msgstr "복구 코드를 사용하거나 관리자에게 도움을 요청하세요." -#: src/options/admin.js:10 src/page/admin/sessions.vue:59 -#: src/page/admin/sessions.vue:242 src/model/user.js:361 src/options/auth.js:7 +#: src/options/admin.js:14 src/page/admin/sessions.vue:59 +#: src/page/admin/sessions.vue:243 src/model/user.js:361 src/options/auth.js:8 msgid "User" msgstr "사용자" -#: src/component/navigation.vue:1979 +#: src/component/navigation.vue:2025 msgid "User Guide" msgstr "사용자 가이드" @@ -3244,14 +3283,14 @@ msgstr "사용자 가이드" msgid "User Interface" msgstr "사용자 인터페이스" -#: src/component/user/add/dialog.vue:87 src/component/user/add/dialog.vue:88 -#: src/page/admin/sessions.vue:220 src/page/admin/users.vue:71 -#: src/component/service/add.vue:85 src/component/service/edit.vue:337 +#: src/component/user/add/dialog.vue:88 src/component/user/add/dialog.vue:89 +#: src/page/admin/sessions.vue:221 src/page/admin/users.vue:73 +#: src/component/service/add.vue:86 src/component/service/edit.vue:338 #: src/component/share/dialog.vue:26 msgid "Username" msgstr "사용자 이름" -#: src/component/navigation.vue:1435 +#: src/component/navigation.vue:1461 msgid "Users" msgstr "사용자" @@ -3261,18 +3300,18 @@ msgstr "사용자" msgid "Vector" msgstr "벡터" -#: src/component/navigation.vue:440 +#: src/component/navigation.vue:442 msgid "Vectors" msgstr "벡터" -#: src/component/settings/passcode.vue:227 src/page/auth/login.vue:144 +#: src/component/settings/passcode.vue:230 src/page/auth/login.vue:144 msgid "Verification Code" msgstr "확인 코드" #: src/component/photo/view/cards.vue:363 #: src/component/photo/view/cards.vue:491 src/component/photo/view/list.vue:190 #: src/component/photo/view/mosaic.vue:207 src/model/file.js:221 -#: src/model/photo.js:921 src/model/photo.js:939 src/options/options.js:293 +#: src/model/photo.js:958 src/model/photo.js:976 src/options/options.js:293 msgid "Video" msgstr "동영상" @@ -3281,12 +3320,12 @@ msgstr "동영상" msgid "Video Duration" msgstr "비디오 시간" -#: src/app/routes.js:243 src/component/navigation.vue:728 +#: src/app/routes.js:251 src/component/navigation.vue:734 #: src/options/options.js:200 msgid "Videos" msgstr "동영상" -#: src/component/photo/toolbar.vue:261 src/component/photo/view/cards.vue:350 +#: src/component/photo/toolbar.vue:263 src/component/photo/view/cards.vue:350 #: src/component/photo/view/mosaic.vue:194 msgid "View" msgstr "보기" @@ -3295,11 +3334,11 @@ msgstr "보기" msgid "View search results as a list." msgstr "검색 결과를 목록으로 봅니다." -#: src/options/admin.js:14 src/options/auth.js:8 +#: src/options/admin.js:18 src/options/auth.js:9 msgid "Viewer" msgstr "뷰어" -#: src/page/admin/sessions.vue:271 src/options/auth.js:12 +#: src/page/admin/sessions.vue:272 src/options/auth.js:13 msgid "Visitor" msgstr "방문자" @@ -3311,34 +3350,34 @@ msgstr "시각적 유사성" msgid "Warning" msgstr "경고" -#: src/page/about/feedback.vue:60 +#: src/page/about/feedback.vue:61 msgid "We appreciate your feedback!" msgstr "귀하의 피드백에 감사드립니다!" -#: src/page/about/feedback.vue:63 +#: src/page/about/feedback.vue:64 msgid "We do our best to respond within five business days or less." msgstr "영업일 기준 5일 이내로 답변을 드리기 위해 최선을 다합니다." -#: src/component/user/add/dialog.vue:235 src/component/user/edit/dialog.vue:415 -#: src/page/admin/users.vue:80 +#: src/component/user/add/dialog.vue:236 src/component/user/edit/dialog.vue:416 +#: src/page/admin/users.vue:82 msgid "Web Login" msgstr "웹 로그인" -#: src/component/user/add/dialog.vue:248 src/component/user/edit/dialog.vue:432 -#: src/page/admin/users.vue:82 src/options/auth.js:55 src/options/auth.js:68 +#: src/component/user/add/dialog.vue:249 src/component/user/edit/dialog.vue:433 +#: src/page/admin/users.vue:84 src/options/auth.js:56 src/options/auth.js:69 #: src/options/options.js:444 msgid "WebDAV" msgstr "WebDAV" -#: src/component/settings/webdav.vue:51 +#: src/component/settings/webdav.vue:52 msgid "WebDAV clients can connect to PhotoPrism using the following URL:" msgstr "WebDAV 클라이언트는 다음 URL을 사용하여 PhotoPrism에 연결할 수 있습니다:" -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism." msgstr "WebDAV 클라이언트 (예: 마이코로소프트 Windows Explorer 또는 애플 Finder) 직접적으로 PhotoPrism에 연결할 수 있습니다." -#: src/component/service/upload.vue:50 src/component/share/dialog.vue:220 +#: src/component/service/upload.vue:51 src/component/share/dialog.vue:220 msgid "WebDAV Upload" msgstr "WebDAV 업로드" @@ -3346,8 +3385,8 @@ msgstr "WebDAV 업로드" msgid "WebGL support is disabled in your browser" msgstr "브라우저에서 WebGL 지원이 비활성화되었습니다." -#: src/page/settings/account.vue:615 src/page/settings/account.vue:709 -#: src/page/settings/account.vue:601 +#: src/page/settings/account.vue:621 src/page/settings/account.vue:715 +#: src/page/settings/account.vue:607 msgid "Website" msgstr "웹사이트" @@ -3355,12 +3394,12 @@ msgstr "웹사이트" msgid "White" msgstr "백색" -#: src/page/settings/account.vue:532 +#: src/page/settings/account.vue:538 msgid "Work Details" msgstr "작업 내용" -#: src/page/settings/account.vue:500 src/component/photo/edit/details.vue:163 -#: src/component/photo/toolbar.vue:315 src/page/albums.vue:159 +#: src/page/settings/account.vue:506 src/component/photo/edit/details.vue:165 +#: src/component/photo/toolbar.vue:317 src/page/albums.vue:159 msgid "Year" msgstr "년" @@ -3368,21 +3407,21 @@ msgstr "년" msgid "Yellow" msgstr "황색" -#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:58 -#: src/component/photo/archive/dialog.vue:58 +#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:59 +#: src/component/photo/archive/dialog.vue:59 #: src/component/photo/clipboard.vue:200 src/component/photo/edit/files.vue:365 #: src/component/photo/edit/files.vue:395 #: src/component/photo/edit/files.vue:401 #: src/component/photo/edit/files.vue:407 -#: src/component/photo/edit/files.vue:510 src/component/photo/edit/info.vue:281 +#: src/component/photo/edit/files.vue:512 src/component/photo/edit/info.vue:281 #: src/component/photo/edit/info.vue:297 src/component/photo/edit/info.vue:313 #: src/component/photo/edit/info.vue:329 src/component/photo/edit/info.vue:344 -#: src/component/photo/toolbar.vue:434 +#: src/component/photo/toolbar.vue:436 msgid "Yes" msgstr "네" -#: src/component/confirm/sponsor.vue:59 src/page/about/about.vue:158 -#: src/page/connect.vue:315 +#: src/component/confirm/sponsor.vue:60 src/page/about/about.vue:160 +#: src/page/connect.vue:317 msgid "You are welcome to contact us at membership@photoprism.app for questions regarding your membership." msgstr "멤버십과 관련하여 궁금한 점이 있으면 membership@photoprism.app 으로 문의하시기 바랍니다." @@ -3394,7 +3433,11 @@ msgstr "하나의 앨범 만 다운로드할 수 있습니다" msgid "You can only download one label" msgstr "하나의 라벨 만 다운로드할 수 있습니다" -#: src/component/upload/dialog.vue:203 +#: src/component/location/dialog.vue:178 +msgid "You can search for a location or move the marker on the map to change the position:" +msgstr "위치를 검색하거나 지도에서 마커를 이동하여 위치를 변경할 수 있습니다:" + +#: src/component/upload/dialog.vue:205 msgid "You can upload up to %{n} files for test purposes." msgstr "테스트 목적으로 최대 %{n}개의 파일을 업로드할 수 있습니다." @@ -3407,7 +3450,7 @@ msgstr "하나의 아이템 선택할 수 있습니다" msgid "You may rescan your library to find additional faces." msgstr "추가 얼굴을 찾기 위해 라이브러리를 다시 검색할 수 있습니다." -#: src/page/connect.vue:146 src/page/connect.vue:150 +#: src/page/connect.vue:147 src/page/connect.vue:151 msgid "Your account has been successfully connected." msgstr "계정이 성공적으로 연결되었습니다." @@ -3415,8 +3458,8 @@ msgstr "계정이 성공적으로 연결되었습니다." msgid "Your browser does not support WebGL" msgstr "브라우저가 WebGL을 지원하지 않습니다." -#: src/component/confirm/sponsor.vue:43 src/page/about/about.vue:97 -#: src/page/about/about.vue:156 src/page/connect.vue:220 +#: src/component/confirm/sponsor.vue:44 src/page/about/about.vue:98 +#: src/page/about/about.vue:158 src/page/connect.vue:222 msgid "Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy." msgstr "귀하의 지속적인 지원은 정기적인 업데이트를 제공하고 독립적인 상태를 유지하는 데 도움이 되어 당사의 사명을 완수하고 귀하의 개인 정보를 보호할 수 있습니다." @@ -3497,9 +3540,6 @@ msgstr "확대/축소" #~ msgid "Open Folder" #~ msgstr "폴더 열기" -#~ msgid "Cannot copy to clipboard" -#~ msgstr "클립보드에 복사할 수 없습니다." - #~ msgid "Sound" #~ msgstr "사운드" @@ -4142,9 +4182,6 @@ msgstr "확대/축소" #~ msgid "More than 50 results" #~ msgstr "50개이상의 결과를 발견함" -#~ msgid "No results" -#~ msgstr "결과 없음" - #~ msgid "Not implemented yet" #~ msgstr "아직 실현되지 않음" diff --git a/frontend/src/locales/ku.po b/frontend/src/locales/ku.po index bc48e313f..c047a97d8 100644 --- a/frontend/src/locales/ku.po +++ b/frontend/src/locales/ku.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: ci@photoprism.app\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2025-04-04 08:03+0000\n" +"PO-Revision-Date: 2025-07-06 08:58+0000\n" "Last-Translator: Google Cloud Translation Basic \n" "Language-Team: Kurdish \n" "Language: ku\n" @@ -11,7 +11,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.10.4\n" +"X-Generator: Weblate 5.12.2\n" "Generated-By: easygettext\n" #: src/locales.js:268 @@ -42,7 +42,7 @@ msgstr "{0} hilbijartin" msgid "{0}-{1} of {2}" msgstr "{0}-{1} ji {2}" -#: src/page/albums.vue:612 +#: src/page/albums.vue:617 msgid "%{n} albums found" msgstr "ئەلبوم دۆزرایەوە %{n}" @@ -50,25 +50,25 @@ msgstr "ئەلبوم دۆزرایەوە %{n}" msgid "%{n} files uploaded" msgstr "%{n} پەڕگە بارکرا" -#: src/page/library/browse.vue:362 +#: src/page/library/browse.vue:364 msgid "%{n} folders found" msgstr "%{n} بوخچە دۆزرایەوە" -#: src/component/navigation.vue:1676 +#: src/component/navigation.vue:1707 msgid "%{n} GB of %{q} GB used" msgstr "%{n} GB ji %{q} GB hat bikaranîn" -#: src/page/labels.vue:528 +#: src/page/labels.vue:533 msgid "%{n} labels found" msgstr "%{n} پێناس دۆزرایەوە" -#: src/page/people/new.vue:350 src/page/people/new.vue:447 -#: src/page/people/recognized.vue:536 +#: src/page/people/new.vue:350 src/page/people/new.vue:450 +#: src/page/people/recognized.vue:541 msgid "%{n} people found" msgstr "%{n} kes hatin dîtin" -#: src/page/album/photos.vue:308 src/page/album/photos.vue:493 -#: src/page/photos.vue:441 src/page/photos.vue:631 +#: src/page/album/photos.vue:313 src/page/album/photos.vue:504 +#: src/page/photos.vue:446 src/page/photos.vue:641 msgid "%{n} pictures found" msgstr "%{n} wêne hatin dîtin" @@ -88,12 +88,12 @@ msgstr "١ کاتژمێر" msgid "12 hours" msgstr "١٢ کاتژمێر" -#: src/component/user/edit/dialog.vue:452 src/page/settings/account.vue:324 -#: src/component/settings/passcode.vue:75 +#: src/component/user/edit/dialog.vue:453 src/page/settings/account.vue:325 +#: src/component/settings/passcode.vue:78 msgid "2-Factor Authentication" msgstr "2-Authentication Factor" -#: src/component/user/edit/dialog.vue:451 src/options/auth.js:46 +#: src/component/user/edit/dialog.vue:452 src/options/auth.js:47 msgid "2FA" msgstr "2FA" @@ -109,20 +109,20 @@ msgstr "کرتەیەک کۆپی دەکاتە کلیپ بۆردەکەت" msgid "A new version of %{s} is available:" msgstr "Guhertoyek nû ya %{s} heye:" -#: src/component/user/edit/dialog.vue:233 -#: src/component/user/edit/dialog.vue:234 src/page/about/about.vue:56 +#: src/component/user/edit/dialog.vue:234 +#: src/component/user/edit/dialog.vue:235 src/page/about/about.vue:56 #: src/page/settings/account.vue:248 src/page/settings/account.vue:249 -#: src/app/routes.js:63 src/component/navigation.vue:1521 -#: src/page/people/recognized.vue:292 +#: src/app/routes.js:63 src/component/navigation.vue:1547 +#: src/page/people/recognized.vue:296 msgid "About" msgstr "دەربارە" -#: src/options/auth.js:26 src/options/auth.js:44 +#: src/options/auth.js:27 src/options/auth.js:45 msgid "Access Token" msgstr "Access Token" -#: src/component/navigation.vue:87 src/component/navigation.vue:1788 -#: src/component/service/upload.vue:71 src/model/service.js:96 +#: src/component/navigation.vue:87 src/component/navigation.vue:1822 +#: src/component/service/upload.vue:72 src/model/service.js:96 #: src/model/user.js:171 src/page/settings.vue:85 #: src/page/settings/general.vue:582 msgid "Account" @@ -136,7 +136,7 @@ msgstr "هەژمارەکە دروستکرا" msgid "Account deleted" msgstr "هەژمارەکە سڕایەوە" -#: src/page/admin/users.vue:335 +#: src/page/admin/users.vue:337 msgid "Account restored" msgstr "Hesab hat restorekirin" @@ -157,8 +157,8 @@ msgstr "کردار" msgid "Actions" msgstr "کردارەکان" -#: src/page/connect.vue:294 src/component/settings/passcode.vue:346 -#: src/page/connect.vue:303 +#: src/page/connect.vue:296 src/component/settings/passcode.vue:349 +#: src/page/connect.vue:305 msgid "Activate" msgstr "Çalak bike" @@ -174,20 +174,20 @@ msgstr "Ji bo rêzkirina hilkişînê çalak bike." msgid "Activate to sort descending." msgstr "Çalak bike ji bo rêzkirina daketî." -#: src/page/connect.vue:231 src/page/connect.vue:240 +#: src/page/connect.vue:233 src/page/connect.vue:242 msgid "Activation Code" msgstr "Koda Çalakkirinê" -#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:83 -#: src/component/settings/apps.vue:448 +#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:92 +#: src/component/settings/apps.vue:451 msgid "Add" msgstr "Lêzêdekirin" -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:246 msgid "Add %{s}?" msgstr "%{s} lê zêde bike?" -#: src/component/user/add/dialog.vue:56 src/component/service/add.vue:49 +#: src/component/user/add/dialog.vue:57 src/component/service/add.vue:50 msgid "Add Account" msgstr "دەستکاریکردنی هەژمار" @@ -204,8 +204,8 @@ msgid "Add Link" msgstr "زیادکردنی بەستەرە" #: src/component/photo/edit/people.vue:25 -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:57 -#: src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:57 +#: src/page/people/new.vue:246 msgid "Add person?" msgstr "Mirov lê zêde bike?" @@ -221,10 +221,15 @@ msgstr "Bi hilbijartina wan wêneyan ji encamên lêgerînê zêde bikin." msgid "Add to album" msgstr "زیادکردن بۆ ئەلبوم" -#: src/component/photo/edit/files.vue:514 +#: src/component/photo/edit/files.vue:516 msgid "Added" msgstr "زیادکرا" +#: src/component/location/dialog.vue:68 src/component/location/dialog.vue:90 +#: src/component/photo/edit/details.vue:246 +msgid "Adjust Location" +msgstr "Cihê Biguherîne" + #: src/options/admin.js:6 src/options/auth.js:6 msgid "Admin" msgstr "Admin" @@ -245,7 +250,7 @@ msgstr "دوای ٣ ڕۆژ" msgid "After 7 days" msgstr "دوای ٧ ڕۆژ" -#: src/component/settings/passcode.vue:93 +#: src/component/settings/passcode.vue:96 msgid "After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:" msgstr "Piştî ku hûn şîfreya xwe ji bo pejirandinê têkevin, hûn dikarin bi serîlêdanek an amûrek pejirandî ya lihevhatî verastkirina du-faktorî saz bikin:" @@ -277,12 +282,16 @@ msgstr "ئەلبوم" msgid "Album Backups" msgstr "Album Backups" -#: src/page/albums.vue:674 +#: src/page/albums.vue:685 msgid "Album created" msgstr "ئەلبومەکە دروستکرا" -#: src/app/routes.js:176 src/component/album/toolbar.vue:51 -#: src/component/navigation.vue:604 src/component/navigation.vue:1882 +#: src/page/album/photos.vue:589 +msgid "Album deleted" +msgstr "Albûm hat jêbirin" + +#: src/app/routes.js:184 src/component/album/toolbar.vue:55 +#: src/component/navigation.vue:607 src/component/navigation.vue:1922 #: src/component/photo/edit/info.vue:220 src/options/options.js:198 msgid "Albums" msgstr "ئەلبومەکان" @@ -295,7 +304,7 @@ msgstr "ئەلبومەکان سڕایەوە" msgid "All" msgstr "Gişt" -#: src/page/albums.vue:465 +#: src/page/albums.vue:470 msgid "All %{n} albums loaded" msgstr "هەموو %{n} ئەلبومەکان بارکرا" @@ -311,8 +320,8 @@ msgstr "Hemû %{n} kes bar kirin" msgid "All Cameras" msgstr "هەموو کامێراکان" -#: src/component/photo/toolbar.vue:74 src/page/albums.vue:44 -#: src/page/albums.vue:240 src/page/albums.vue:746 +#: src/component/photo/toolbar.vue:74 src/page/albums.vue:45 +#: src/page/albums.vue:242 src/page/albums.vue:757 msgid "All Categories" msgstr "هەموو هاوپۆلەکان" @@ -344,7 +353,7 @@ msgstr "هەموو مانگەکان" msgid "All originals" msgstr "هەموو ڕەسەنەکان" -#: src/component/photo/toolbar.vue:76 src/page/albums.vue:93 +#: src/component/photo/toolbar.vue:76 src/page/albums.vue:94 msgid "All Years" msgstr "هەموو ساڵەکان" @@ -356,7 +365,7 @@ msgstr "لە جیاتی ئەوە، دەتوانیت ڕاستەوخۆ پەڕگە msgid "Altitude" msgstr "هێڵی درێژی" -#: src/component/photo/edit/details.vue:272 +#: src/component/photo/edit/details.vue:297 msgid "Altitude (m)" msgstr "بەرزی (m)" @@ -364,8 +373,7 @@ msgstr "بەرزی (m)" msgid "AM" msgstr "IM" -#: src/app/routes.js:257 src/component/navigation.vue:791 -#: src/component/photo/edit/files.vue:364 +#: src/app/routes.js:265 src/component/photo/edit/files.vue:364 #: src/component/photo/view/cards.vue:327 #: src/component/photo/view/cards.vue:511 src/component/photo/view/list.vue:184 #: src/component/photo/view/mosaic.vue:171 src/options/options.js:301 @@ -376,43 +384,47 @@ msgstr "ئەنیمەیشن" msgid "Animation" msgstr "ئەنیمەیشن" +#: src/component/navigation.vue:797 +msgid "Animations" +msgstr "Anîmasyon" + #: src/component/share/dialog.vue:207 msgid "Any private photos and videos remain private and won't be shared." msgstr "هەر فۆتۆ و ڤیدیۆیەکی تایبەت بە تایبەتی دەمێنێتەوە و هاوبەش ناکرێت." -#: src/component/service/edit.vue:372 +#: src/component/service/edit.vue:373 msgid "API Key" msgstr "API کلیلی" -#: src/page/admin/sessions.vue:357 src/options/auth.js:25 +#: src/page/admin/sessions.vue:361 src/options/auth.js:26 msgid "Application" msgstr "Bikaranînî" -#: src/component/photo/edit/details.vue:641 +#: src/component/photo/edit/details.vue:615 msgid "Apply" msgstr "به‌کاربردن" #: src/component/photo/clipboard.vue:64 -#: src/component/photo/edit/details.vue:640 +#: src/component/photo/edit/details.vue:614 #: src/component/photo/view/cards.vue:416 msgid "Approve" msgstr "په‌سه‌ندکردن" -#: src/page/settings/account.vue:374 src/component/settings/apps.vue:91 +#: src/page/settings/account.vue:378 src/component/settings/apps.vue:94 msgid "Apps and Devices" msgstr "Serlêdan û Amûrên" -#: src/app/routes.js:287 src/component/lightbox.vue:1207 -#: src/component/navigation.vue:555 src/component/photo/clipboard.vue:142 +#: src/app/routes.js:295 src/component/lightbox.vue:1207 +#: src/component/navigation.vue:557 src/component/photo/clipboard.vue:142 #: src/component/photo/view/cards.vue:398 src/page/settings/general.vue:432 msgid "Archive" msgstr "ئەرشیف" -#: src/component/lightbox.vue:1982 src/component/photo/edit/info.vue:433 +#: src/component/lightbox.vue:2002 src/component/photo/edit/info.vue:433 msgid "Archived" msgstr "ئەرشیفکراو" -#: src/component/photo/archive/dialog.vue:34 +#: src/component/photo/archive/dialog.vue:35 msgid "Are you sure you want to archive the selection?" msgstr "ئایا دڵنیایت لەوەی دەتەوێت ئەم دیاریکردنە ئەرشیف بکەیت؟" @@ -420,19 +432,23 @@ msgstr "ئایا دڵنیایت لەوەی دەتەوێت ئەم دیاریکر msgid "Are you sure you want to delete these albums?" msgstr "دڵنیایت لەوەی دەتەوێت ئەم ئەلبومانە بسڕیتەوە؟" -#: src/component/label/delete/dialog.vue:34 +#: src/component/label/delete/dialog.vue:35 msgid "Are you sure you want to delete these labels?" msgstr "دڵنیایت لەوەی دەتەوێت ئەم پێناسانە بسڕیتەوە؟" -#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:36 +#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:37 msgid "Are you sure you want to delete this account?" msgstr "دڵنیایت لەوەی دەتەوێت ئەم هەژمارانە بسڕیتەوە؟" +#: src/component/album/toolbar.vue:136 +msgid "Are you sure you want to delete this album?" +msgstr "Tu piştrast î ku dixwazî vê albûmê jê bibî?" + #: src/component/photo/clipboard.vue:199 msgid "Are you sure you want to permanently delete these pictures?" msgstr "ئایا دڵنیایت لەوەی دەتەوێت ئەم وێنانە بە هەمیشەیی بسڕیتەوە؟" -#: src/component/file/delete/dialog.vue:34 +#: src/component/file/delete/dialog.vue:35 msgid "Are you sure you want to permanently delete this file?" msgstr "ئایا دڵنیایت لەوەی دەتەوێت بە هەمیشەیی ئەم پەڕگەیە بسڕیتەوە؟" @@ -441,7 +457,7 @@ msgstr "ئایا دڵنیایت لەوەی دەتەوێت بە هەمیشەیی msgid "Are you sure?" msgstr "Piştrastin?" -#: src/component/photo/edit/details.vue:537 +#: src/component/photo/edit/details.vue:511 msgid "Artist" msgstr "هونەرمەند" @@ -449,14 +465,14 @@ msgstr "هونەرمەند" msgid "Aspect Ratio" msgstr "ڕێژەی ڕوو" -#: src/app/routes.js:250 src/component/navigation.vue:770 +#: src/app/routes.js:258 src/component/navigation.vue:776 #: src/options/options.js:297 msgid "Audio" msgstr "Audio" -#: src/component/user/add/dialog.vue:190 src/component/user/edit/dialog.vue:309 -#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:281 -#: src/page/admin/users.vue:75 +#: src/component/user/add/dialog.vue:191 src/component/user/edit/dialog.vue:310 +#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:282 +#: src/page/admin/users.vue:77 msgid "Authentication" msgstr "Authentication" @@ -464,11 +480,11 @@ msgstr "Authentication" msgid "Auto" msgstr "Auto" -#: src/component/settings/apps.vue:151 +#: src/component/settings/apps.vue:154 msgid "Back" msgstr "Paş" -#: src/component/scroll.vue:20 +#: src/component/scroll.vue:18 msgid "Back to top" msgstr "Vegere serî" @@ -480,26 +496,26 @@ msgstr "Backup" msgid "Badge" msgstr "Nîşan" -#: src/component/user/edit/dialog.vue:361 #: src/component/user/edit/dialog.vue:362 +#: src/component/user/edit/dialog.vue:363 msgid "Base Path" msgstr "Rêya bingehîn" -#: src/page/about/about.vue:95 src/page/connect.vue:220 +#: src/page/about/about.vue:96 src/page/connect.vue:222 msgid "Become a member today, support our mission and enjoy our member benefits!" msgstr "Îro bibin endam, piştgirî bidin mîsyona me û ji feydeyên endamtiya me sûd werbigirin!" -#: src/component/confirm/sponsor.vue:51 src/page/about/about.vue:99 +#: src/component/confirm/sponsor.vue:52 src/page/about/about.vue:100 msgid "Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services." msgstr "Ji ber ku 100% xwe-fînansedar û serbixwe ne, em dikarin soz bidin we ku em ê ti carî daneyên we nefroşin û ku em ê her gav di derheqê nermalava û karûbarên xwe de zelal bin." -#: src/component/user/edit/dialog.vue:258 -#: src/component/user/edit/dialog.vue:259 src/page/settings/account.vue:227 +#: src/component/user/edit/dialog.vue:259 +#: src/component/user/edit/dialog.vue:260 src/page/settings/account.vue:227 #: src/page/settings/account.vue:228 msgid "Bio" msgstr "Bio" -#: src/page/settings/account.vue:431 +#: src/page/settings/account.vue:437 msgid "Birth Date" msgstr "Dîroka Jidayikbûnê" @@ -520,7 +536,7 @@ msgid "Brown" msgstr "قاوەیی" #: src/component/photo/edit/files.vue:263 src/component/photo/toolbar.vue:141 -#: src/component/upload/dialog.vue:240 +#: src/component/upload/dialog.vue:242 msgid "Browse" msgstr "Browse" @@ -548,16 +564,16 @@ msgstr "راپۆرتی هەڵە" msgid "Busy, please wait…" msgstr "سەرقاڵە، تکایە چاوەڕێکە…" -#: src/page/connect.vue:317 +#: src/page/connect.vue:319 msgid "By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct." msgstr "Bi karanîna nermalava û karûbarên ku em pêşkêş dikin, hûn şertên karûbarê me, polîtîkaya nepenîtiyê, û koda tevgerê qebûl dikin." -#: src/app/routes.js:189 src/component/navigation.vue:1081 +#: src/app/routes.js:197 src/component/navigation.vue:1097 #: src/options/options.js:204 src/page/settings/general.vue:205 msgid "Calendar" msgstr "ڕۆژمێر" -#: src/component/photo/edit/details.vue:346 src/component/photo/toolbar.vue:232 +#: src/component/photo/edit/details.vue:320 src/component/photo/toolbar.vue:234 #: src/component/photo/view/cards.vue:467 src/component/photo/view/list.vue:116 msgid "Camera" msgstr "کامێرا" @@ -570,12 +586,12 @@ msgstr "زنجیرەی کامێرا" msgid "Can't access your authenticator app or device?" msgstr "Ma hûn nikarin xwe bigihînin sepan an cîhaza xweya rastgir?" -#: src/page/album/photos.vue:317 src/page/photos.vue:450 +#: src/page/album/photos.vue:322 src/page/photos.vue:455 msgid "Can't load more, limit reached" msgstr "ناتوانێت زیاتر بار بکات، گەیشتە سنوور" #: src/common/clipboard.js:102 src/common/clipboard.js:139 -#: src/page/albums.vue:684 src/page/albums.vue:700 src/page/labels.vue:293 +#: src/page/albums.vue:695 src/page/albums.vue:711 src/page/labels.vue:293 #: src/page/labels.vue:313 src/page/library/browse.vue:233 #: src/page/library/browse.vue:249 src/page/people/new.vue:278 #: src/page/people/new.vue:294 src/page/people/recognized.vue:305 @@ -584,26 +600,31 @@ msgid "Can't select more items" msgstr "ناتوانێت ئایتمی زیاتر دیاری بکات" #: src/component/session/remove/dialog.vue:45 -#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:473 -#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:119 +#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:474 +#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:120 #: src/component/album/delete/dialog.vue:43 -#: src/component/album/edit/dialog.vue:199 src/component/confirm/dialog.vue:43 -#: src/component/file/delete/dialog.vue:47 -#: src/component/label/delete/dialog.vue:47 -#: src/component/label/edit/dialog.vue:107 -#: src/component/people/edit/dialog.vue:120 +#: src/component/album/edit/dialog.vue:200 src/component/confirm/dialog.vue:43 +#: src/component/file/delete/dialog.vue:48 +#: src/component/label/delete/dialog.vue:48 +#: src/component/label/edit/dialog.vue:108 +#: src/component/location/dialog.vue:200 +#: src/component/people/edit/dialog.vue:121 #: src/component/photo/album/dialog.vue:78 src/component/service/add.vue:19 -#: src/component/service/edit.vue:455 src/component/service/remove.vue:49 -#: src/component/service/upload.vue:117 src/component/settings/apps.vue:352 -#: src/component/settings/passcode.vue:249 -#: src/component/settings/passcode.vue:333 -#: src/component/settings/password.vue:159 src/component/share/dialog.vue:28 -#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:123 +#: src/component/service/edit.vue:456 src/component/service/remove.vue:50 +#: src/component/service/upload.vue:118 src/component/settings/apps.vue:355 +#: src/component/settings/passcode.vue:252 +#: src/component/settings/passcode.vue:336 +#: src/component/settings/password.vue:160 src/component/share/dialog.vue:28 +#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:124 #: src/page/library/import.vue:119 src/page/library/index.vue:128 msgid "Cancel" msgstr "هه‌ڵوه‌شاندنه‌وه" -#: src/component/photo/edit/details.vue:87 src/component/photo/edit/info.vue:61 +#: src/common/util.js:863 src/common/util.js:870 +msgid "Cannot copy to clipboard" +msgstr "Nikare li clipboardê kopî bike" + +#: src/component/photo/edit/details.vue:89 src/component/photo/edit/info.vue:63 #: src/component/photo/edit/labels.vue:42 #: src/component/photo/view/cards.vue:445 src/component/sidebar/info.vue:72 msgid "Caption" @@ -617,17 +638,17 @@ msgstr "کارتەکان" msgid "Carousel slide {0} of {1}" msgstr "slide carousel {0} ji {1}" -#: src/page/about/feedback.vue:82 src/page/about/feedback.vue:83 -#: src/component/album/edit/dialog.vue:128 src/component/photo/toolbar.vue:397 +#: src/page/about/feedback.vue:83 src/page/about/feedback.vue:84 +#: src/component/album/edit/dialog.vue:129 src/component/photo/toolbar.vue:399 #: src/page/albums.vue:187 msgid "Category" msgstr "هاوپۆله‌كان" -#: src/component/user/edit/dialog.vue:191 src/page/settings/account.vue:201 +#: src/component/user/edit/dialog.vue:192 src/page/settings/account.vue:201 msgid "Change Avatar" msgstr "گۆڕینی نیشانەنوێنی تایبەت" -#: src/page/settings/account.vue:297 src/component/settings/password.vue:48 +#: src/page/settings/account.vue:297 src/component/settings/password.vue:49 msgid "Change Password" msgstr "تێپەڕەوشەی نوێ" @@ -644,17 +665,17 @@ msgid "Change private flag" msgstr "گۆڕینی نیشانەنوێنی تایبەت" #: src/component/user/add/dialog.vue:108 src/component/user/add/dialog.vue:113 -#: src/component/user/edit/dialog.vue:90 src/component/user/edit/dialog.vue:95 +#: src/component/user/edit/dialog.vue:91 src/component/user/edit/dialog.vue:96 #: src/page/settings/account.vue:121 src/page/settings/account.vue:126 msgid "Changes could not be saved" msgstr "گۆڕانکاریەکان پاشەکەوت نەکراوە" -#: src/component/user/edit/dialog.vue:83 src/component/user/edit/dialog.vue:159 +#: src/component/user/edit/dialog.vue:84 src/component/user/edit/dialog.vue:160 #: src/component/album/edit/dialog.vue:73 -#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1941 +#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1961 #: src/component/photo/edit/files.vue:162 src/component/service/edit.vue:90 #: src/component/share/dialog.vue:92 src/component/share/dialog.vue:111 -#: src/page/albums.vue:677 src/page/people/recognized.vue:119 +#: src/page/albums.vue:688 src/page/people/recognized.vue:119 #: src/page/settings/advanced.vue:62 src/page/settings/content.vue:62 #: src/page/settings/general.vue:108 msgid "Changes successfully saved" @@ -668,7 +689,7 @@ msgstr "Guhertinên mîhengên pêşkeftî ji nû ve destpêkirinê hewce dike k msgid "Checked" msgstr "پشکنرا" -#: src/component/photo/edit/files.vue:495 +#: src/component/photo/edit/files.vue:497 msgid "Chroma" msgstr "کرۆم" @@ -684,24 +705,24 @@ msgstr "Demdirêj" msgid "Clear {0}" msgstr "Paqij bike {0}" -#: src/options/auth.js:11 src/options/auth.js:23 src/options/auth.js:43 +#: src/options/auth.js:12 src/options/auth.js:24 src/options/auth.js:44 msgid "Client" msgstr "Kirrîxwaz" -#: src/options/auth.js:24 +#: src/options/auth.js:25 msgid "Client Credentials" msgstr "Bawernameyên Client" -#: src/page/admin/sessions.vue:529 src/component/lightbox.vue:284 -#: src/component/lightbox.vue:1009 src/component/lightbox.vue:1010 -#: src/component/photo/edit/details.vue:627 src/component/photo/toolbar.vue:160 -#: src/component/settings/apps.vue:224 src/component/settings/apps.vue:437 -#: src/component/settings/passcode.vue:148 -#: src/component/settings/passcode.vue:456 -#: src/component/settings/passcode.vue:497 -#: src/component/settings/webdav.vue:131 src/component/share/dialog.vue:231 +#: src/component/user/edit/dialog.vue:474 src/page/admin/sessions.vue:536 +#: src/component/lightbox.vue:284 src/component/lightbox.vue:1009 +#: src/component/lightbox.vue:1010 src/component/photo/edit/details.vue:601 +#: src/component/photo/toolbar.vue:161 src/component/settings/apps.vue:227 +#: src/component/settings/apps.vue:440 src/component/settings/passcode.vue:151 +#: src/component/settings/passcode.vue:459 +#: src/component/settings/passcode.vue:500 +#: src/component/settings/webdav.vue:132 src/component/share/dialog.vue:231 #: src/component/sidebar/info.vue:26 src/component/update.vue:57 -#: src/component/upload/dialog.vue:228 src/locales.js:206 +#: src/component/upload/dialog.vue:230 src/locales.js:206 #: src/page/library/errors.vue:253 msgid "Close" msgstr "داخستن" @@ -710,11 +731,11 @@ msgstr "داخستن" msgid "Codec" msgstr "Codec" -#: src/component/photo/toolbar.vue:369 +#: src/component/photo/toolbar.vue:371 msgid "Color" msgstr "ڕەنگ" -#: src/component/photo/edit/files.vue:483 +#: src/component/photo/edit/files.vue:485 msgid "Color Profile" msgstr "Profîla Rengê" @@ -722,7 +743,7 @@ msgstr "Profîla Rengê" msgid "Colors" msgstr "ڕەنگەکان" -#: src/page/connect.vue:260 src/page/connect.vue:269 +#: src/page/connect.vue:262 src/page/connect.vue:271 msgid "Compare Editions" msgstr "Berawirdî Weşanan" @@ -735,17 +756,18 @@ msgstr "پشکنینەوەی تەواو" msgid "Confidence" msgstr "دڵنیایی" +#: src/component/location/dialog.vue:212 #: src/component/photo/album/dialog.vue:90 -#: src/component/settings/passcode.vue:261 +#: src/component/settings/passcode.vue:264 msgid "Confirm" msgstr "Tesdîqkirin" -#: src/component/service/add.vue:20 src/page/settings/services.vue:187 +#: src/component/service/add.vue:20 src/page/settings/services.vue:191 msgid "Connect" msgstr "بەستنەوە" -#: src/page/settings/account.vue:401 src/component/settings/webdav.vue:45 -#: src/page/settings/services.vue:167 +#: src/page/settings/account.vue:406 src/component/settings/webdav.vue:46 +#: src/page/settings/services.vue:170 msgid "Connect via WebDAV" msgstr "بەستنەوە بە WebDAV" @@ -753,22 +775,22 @@ msgstr "بەستنەوە بە WebDAV" msgid "Connected" msgstr "بەستنەوە" -#: src/page/settings/account.vue:640 src/page/settings/account.vue:532 +#: src/page/settings/account.vue:646 src/page/settings/account.vue:538 msgid "Contact Details" msgstr "پەیوەندیمان پێوە بکە" -#: src/page/about/feedback.vue:37 src/page/connect.vue:132 -#: src/page/connect.vue:136 +#: src/page/about/feedback.vue:37 src/page/connect.vue:133 +#: src/page/connect.vue:137 msgid "Contact Us" msgstr "پەیوەندیمان پێوە بکە" #: src/page/albums.vue:433 src/page/labels.vue:237 -#: src/page/people/recognized.vue:306 +#: src/page/people/recognized.vue:310 msgid "Contains %{n} pictures." msgstr "%{n} wêneyan dihewîne." #: src/page/albums.vue:427 src/page/labels.vue:231 -#: src/page/people/recognized.vue:300 +#: src/page/people/recognized.vue:304 msgid "Contains one picture." msgstr "Yek wêneyek dihewîne." @@ -776,7 +798,7 @@ msgstr "Yek wêneyek dihewîne." msgid "Content" msgstr "Dilşad" -#: src/component/settings/apps.vue:163 +#: src/component/settings/apps.vue:166 msgid "Continue" msgstr "Berdewamkirin" @@ -784,7 +806,7 @@ msgstr "Berdewamkirin" msgid "Continue with %{provider}" msgstr "Bi %{provider} re bidomîne" -#: src/options/admin.js:18 src/options/auth.js:9 +#: src/options/admin.js:22 src/options/auth.js:10 msgid "Contributor" msgstr "Contributor" @@ -792,15 +814,15 @@ msgstr "Contributor" msgid "Converting" msgstr "گۆڕین" -#: src/common/util.js:846 +#: src/common/util.js:856 msgid "Copied to clipboard" msgstr "کۆپی کرایە کلیپ بۆرد" -#: src/component/settings/apps.vue:250 src/component/settings/passcode.vue:358 +#: src/component/settings/apps.vue:253 src/component/settings/passcode.vue:361 msgid "Copy" msgstr "Kopî" -#: src/component/photo/edit/details.vue:516 +#: src/component/photo/edit/details.vue:490 msgid "Copyright" msgstr "مافی لەبەرگرتنەوە" @@ -808,8 +830,8 @@ msgstr "مافی لەبەرگرتنەوە" msgid "Couldn't find anything." msgstr "هیچ شتێک نەدۆزرایەوە." -#: src/page/settings/account.vue:685 src/component/photo/edit/details.vue:242 -#: src/component/photo/toolbar.vue:203 src/page/settings/account.vue:577 +#: src/page/settings/account.vue:691 src/component/photo/edit/details.vue:268 +#: src/component/photo/toolbar.vue:205 src/page/settings/account.vue:583 msgid "Country" msgstr "وڵات" @@ -833,7 +855,7 @@ msgstr "Pelên YAML biafirînin ku metadata albûmê paşve bikin." msgid "Create YAML sidecar files to back up picture metadata." msgstr "Pelên kêleka YAML biafirînin ku metadaneyên wêneyê paşve bikin." -#: src/page/admin/sessions.vue:417 src/component/photo/edit/info.vue:412 +#: src/page/admin/sessions.vue:422 src/component/photo/edit/info.vue:412 msgid "Created" msgstr "دروستکرا" @@ -845,11 +867,11 @@ msgstr "دروستکردنی وێنۆچکە بۆ" msgid "Cubic: Moderate Quality, Good Performance" msgstr "سێجا: کوالێتی مامناوەند، ئەدای باش" -#: src/component/settings/password.vue:85 +#: src/component/settings/password.vue:86 msgid "Current Password" msgstr "تێپەڕەوشەی ئێستا" -#: src/options/themes.js:919 src/options/themes.js:928 +#: src/options/themes.js:920 src/options/themes.js:929 msgid "Custom" msgstr "Hûnbunî" @@ -865,11 +887,11 @@ msgstr "ڕۆژانە" msgid "Database Backups" msgstr "Backups Database" -#: src/page/settings/account.vue:450 src/component/photo/edit/details.vue:110 +#: src/page/settings/account.vue:456 src/component/photo/edit/details.vue:112 msgid "Day" msgstr "ڕۆ‌ژ" -#: src/component/settings/passcode.vue:445 +#: src/component/settings/passcode.vue:448 msgid "Deactivate" msgstr "Deaktîv bike" @@ -877,36 +899,40 @@ msgstr "Deaktîv bike" msgid "Debug Logs" msgstr "تۆماری هەڵەکان" -#: src/options/admin.js:31 src/page/admin/sessions.vue:136 -#: src/page/admin/users.vue:176 src/component/photo/edit/info.vue:47 +#: src/options/admin.js:35 src/page/admin/sessions.vue:136 +#: src/page/admin/users.vue:178 src/component/photo/edit/info.vue:47 #: src/component/photo/edit/info.vue:110 src/model/session.js:66 -#: src/model/user.js:246 src/options/auth.js:20 src/options/auth.js:21 -#: src/options/auth.js:39 src/options/auth.js:40 src/options/options.js:196 +#: src/model/user.js:246 src/options/auth.js:21 src/options/auth.js:22 +#: src/options/auth.js:40 src/options/auth.js:41 src/options/options.js:196 #: src/options/options.js:232 src/options/options.js:316 -#: src/options/themes.js:773 +#: src/options/themes.js:774 msgid "Default" msgstr "بنه‌ڕه‌ت" -#: src/component/service/edit.vue:123 +#: src/component/service/edit.vue:124 msgid "Default Folder" msgstr "بوخچەی بنه‌ڕه‌تی" #: src/component/session/remove/dialog.vue:56 #: src/component/user/remove/dialog.vue:56 src/component/album/clipboard.vue:97 -#: src/component/album/delete/dialog.vue:54 -#: src/component/file/delete/dialog.vue:58 src/component/label/clipboard.vue:58 -#: src/component/label/delete/dialog.vue:58 +#: src/component/album/delete/dialog.vue:54 src/component/album/toolbar.vue:137 +#: src/component/file/delete/dialog.vue:59 src/component/label/clipboard.vue:58 +#: src/component/label/delete/dialog.vue:59 #: src/component/photo/clipboard.vue:168 src/component/photo/edit/files.vue:238 -#: src/component/service/remove.vue:60 src/component/share/dialog.vue:170 +#: src/component/service/remove.vue:61 src/component/share/dialog.vue:170 #: src/page/settings/general.vue:457 msgid "Delete" msgstr "سڕینەوە" +#: src/component/album/toolbar.vue:133 +msgid "Delete Album" +msgstr "Albûmê Jê Bibe" + #: src/component/photo/toolbar.vue:119 src/page/library/errors.vue:95 msgid "Delete All" msgstr "Hemî jêbirin" -#: src/component/photo/toolbar.vue:433 src/page/library/errors.vue:193 +#: src/component/photo/toolbar.vue:435 src/page/library/errors.vue:193 msgid "Delete all?" msgstr "Hemî jêbirin?" @@ -914,16 +940,16 @@ msgstr "Hemî jêbirin?" msgid "Delete orphaned index entries, sidecar files and thumbnails." msgstr "Navnîşanên navnîşên sêwî, pelên kêlekê û piçûkan jêbirin." -#: src/component/album/edit/dialog.vue:107 src/page/albums.vue:411 +#: src/component/album/edit/dialog.vue:108 src/page/albums.vue:411 msgid "Description" msgstr "وه‌سفکردن" -#: src/component/settings/webdav.vue:115 +#: src/component/settings/webdav.vue:116 msgid "Detailed instructions can be found in our User Guide." msgstr "ڕێنمایی ورد دەتوانرێت بدۆزرێتەوە لە ڕێبەری بەکارهێنەرەکەمان." -#: src/component/photo/edit/dialog.vue:156 -#: src/component/photo/edit/dialog.vue:173 +#: src/component/photo/edit/dialog.vue:162 +#: src/component/photo/edit/dialog.vue:181 msgid "Details" msgstr "زانیاری زیاتر" @@ -987,8 +1013,8 @@ msgstr "Piştgiriya grafikên vektorî asteng dike." msgid "Disables video transcoding and thumbnail extraction." msgstr "Veguheztina vîdyoyê û derxistina piçûkan asteng dike." -#: src/app/routes.js:558 src/app/routes.js:565 src/app/routes.js:572 -#: src/app/routes.js:579 +#: src/app/routes.js:566 src/app/routes.js:573 src/app/routes.js:580 +#: src/app/routes.js:587 msgid "Discover" msgstr "دۆزینەوە" @@ -996,9 +1022,9 @@ msgstr "دۆزینەوە" msgid "Dismiss" msgstr "Berdan" -#: src/component/user/add/dialog.vue:133 src/component/user/add/dialog.vue:134 -#: src/component/user/edit/dialog.vue:163 -#: src/component/user/edit/dialog.vue:164 src/page/admin/users.vue:72 +#: src/component/user/add/dialog.vue:134 src/component/user/add/dialog.vue:135 +#: src/component/user/edit/dialog.vue:164 +#: src/component/user/edit/dialog.vue:165 src/page/admin/users.vue:74 #: src/page/settings/account.vue:149 src/page/settings/account.vue:151 msgid "Display Name" msgstr "Navê nîşanî" @@ -1013,12 +1039,12 @@ msgstr "Di encamên lêgerînê de sernavên wêneyan nîşan bidin." #: src/component/photo/view/cards.vue:339 #: src/component/photo/view/cards.vue:521 -#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:174 +#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:176 #: src/options/options.js:309 msgid "Document" msgstr "Belge" -#: src/component/navigation.vue:480 +#: src/component/navigation.vue:482 msgid "Documents" msgstr "Documents" @@ -1034,16 +1060,16 @@ msgstr "Ji bo veguhertina wêneyan ImageMagick bikar neynin." msgid "Don't use RawTherapee to convert RAW images." msgstr "RawTherapee bikar neynin ku pelên RAW veguherînin." -#: src/component/settings/apps.vue:238 src/component/share/dialog.vue:29 +#: src/component/settings/apps.vue:241 src/component/share/dialog.vue:29 msgid "Done" msgstr "تەواوبوو" -#: src/component/upload/dialog.vue:135 src/page/library/import.vue:46 +#: src/component/upload/dialog.vue:137 src/page/library/import.vue:46 #: src/page/library/index.vue:52 msgid "Done." msgstr "تەواوبوو." -#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:118 +#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:123 #: src/component/file/clipboard.vue:48 src/component/lightbox.vue:1235 #: src/component/people/clipboard.vue:47 src/component/photo/clipboard.vue:116 #: src/component/photo/edit/files.vue:168 src/page/settings/content.vue:331 @@ -1055,7 +1081,7 @@ msgstr "داگرتن" msgid "Download only original media files, without any automatically generated files." msgstr "Tenê pelên medyayê yên orjînal dakêşin, bêyî pelên ku bixweber têne çêkirin." -#: src/component/service/edit.vue:237 +#: src/component/service/edit.vue:238 msgid "Download remote files" msgstr "داگرتنی پەڕگە دوورەکان" @@ -1063,9 +1089,9 @@ msgstr "داگرتنی پەڕگە دوورەکان" msgid "Download single files and zip archives." msgstr "داگرتنی فایلە تاکەکان و ئەرشیفی زیپ." -#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:157 +#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:172 #: src/component/file/clipboard.vue:61 src/component/label/clipboard.vue:86 -#: src/component/lightbox.vue:2021 src/component/people/clipboard.vue:59 +#: src/component/lightbox.vue:2041 src/component/people/clipboard.vue:59 #: src/component/photo/clipboard.vue:220 src/component/photo/edit/files.vue:119 #: src/component/photo/view/cards.vue:169 src/component/photo/view/list.vue:142 #: src/page/library/browse.vue:139 @@ -1080,7 +1106,7 @@ msgstr "فلتەری کەمکردنەوە" msgid "Drag and drop files here" msgstr "Pelan li vir kaş bikin û bavêjin" -#: src/page/about/feedback.vue:61 +#: src/page/about/feedback.vue:62 msgid "Due to the high volume of emails we receive, our team may be unable to get back to you immediately." msgstr "Ji ber qebareya zêde ya e-nameyên ku em distînin, dibe ku tîmê me nikaribe tavilê bi we re vegere." @@ -1100,23 +1126,23 @@ msgstr "پێشبینینی دینامیکی" msgid "Dynamic Size Limit: %{n}px" msgstr "سنوورداری قەبارەی دینامیکی: %{n}px" -#: src/page/about/feedback.vue:141 src/page/about/feedback.vue:140 +#: src/page/about/feedback.vue:142 src/page/about/feedback.vue:141 msgid "E-Mail" msgstr "ئیمەیڵ" -#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:89 +#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:94 #: src/component/lightbox.vue:1136 src/component/lightbox.vue:1137 #: src/component/photo/clipboard.vue:90 src/page/settings/general.vue:407 msgid "Edit" msgstr "دەستکاری" -#: src/component/album/edit/dialog.vue:54 -#: src/component/label/edit/dialog.vue:52 -#: src/component/people/edit/dialog.vue:52 +#: src/component/album/edit/dialog.vue:55 +#: src/component/label/edit/dialog.vue:53 +#: src/component/people/edit/dialog.vue:53 msgid "Edit %{s}" msgstr "دەستکاری %{s}" -#: src/component/user/edit/dialog.vue:61 src/component/service/edit.vue:79 +#: src/component/user/edit/dialog.vue:62 src/component/service/edit.vue:79 msgid "Edit Account" msgstr "دەستکاریکردنی هەژمار" @@ -1128,8 +1154,8 @@ msgstr "دەستکاریکردنی فۆتۆ" msgid "Edited" msgstr "دەستکاریکرا" -#: src/component/user/add/dialog.vue:151 src/component/user/edit/dialog.vue:213 -#: src/page/settings/account.vue:171 src/page/settings/account.vue:593 +#: src/component/user/add/dialog.vue:152 src/component/user/edit/dialog.vue:214 +#: src/page/settings/account.vue:171 src/page/settings/account.vue:599 msgid "Email" msgstr "Email" @@ -1145,7 +1171,7 @@ msgstr "Taybetmendiyên nû yên ku dibe ku netemam an bêîstiqrar bin çalak b msgid "Enables RAW converter presets. May reduce performance." msgstr "Pêşdibistanên veguheztina RAW çalak dike. Dibe ku performans kêm bike." -#: src/component/settings/passcode.vue:127 +#: src/component/settings/passcode.vue:130 msgid "Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account." msgstr "Çalakkirina erêkirina du-faktorî tê vê wateyê ku hûn ê hewceyê kodek verastkirinê ya ku bi rengek rasthatî hatî hilberandin hewce bike ku têkevinê, ji ber vê yekê her çend kes bigihîje şîfreya we jî, ew ê nikaribe bigihîje hesabê we." @@ -1157,7 +1183,7 @@ msgstr "Dîrokê binivîse" msgid "Enter dates" msgstr "Dîrokan binivîse" -#: src/component/settings/passcode.vue:213 src/page/auth/login.vue:104 +#: src/component/settings/passcode.vue:216 src/page/auth/login.vue:104 msgid "Enter the code generated by your authenticator app:" msgstr "Koda ku ji hêla sepana xweya nasker ve hatî çêkirin binivîse:" @@ -1165,7 +1191,7 @@ msgstr "Koda ku ji hêla sepana xweya nasker ve hatî çêkirin binivîse:" msgid "Enter verification code" msgstr "Koda verastkirinê binivîse" -#: src/component/settings/apps.vue:109 +#: src/component/settings/apps.vue:112 msgid "Enter your password to confirm the action and continue:" msgstr "Şîfreya xwe binivîse ku çalakiyê piştrast bike û berdewam bike:" @@ -1174,7 +1200,7 @@ msgstr "Şîfreya xwe binivîse ku çalakiyê piştrast bike û berdewam bike:" msgid "Error" msgstr "هەڵە" -#: src/app/routes.js:374 src/component/navigation.vue:1348 +#: src/app/routes.js:382 src/component/navigation.vue:1372 msgid "Errors" msgstr "هەڵەکان" @@ -1210,13 +1236,13 @@ msgstr "Derxistina Metadata bi ExifTool re ji bo piştgiriya tevahî Vîdyo, Wê msgid "Experimental Features" msgstr "تایبەتمەندیە ئەزموونیەکان" -#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:453 -#: src/component/service/edit.vue:157 src/component/settings/apps.vue:73 -#: src/component/settings/apps.vue:326 src/component/share/dialog.vue:62 +#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:458 +#: src/component/service/edit.vue:158 src/component/settings/apps.vue:73 +#: src/component/settings/apps.vue:329 src/component/share/dialog.vue:62 msgid "Expires" msgstr "بەسەرچووەکان" -#: src/component/photo/edit/details.vue:396 +#: src/component/photo/edit/details.vue:370 msgid "Exposure" msgstr "دەرخستن" @@ -1224,7 +1250,7 @@ msgstr "دەرخستن" msgid "Extract still images and generate thumbnails while indexing." msgstr "Wêneyên hêstiran derxînin û di dema îndekskirinê de nîgaran çêkin." -#: src/component/photo/edit/details.vue:444 +#: src/component/photo/edit/details.vue:418 msgid "F Number" msgstr "ژمارەی F" @@ -1240,7 +1266,7 @@ msgstr "Rûyên" msgid "Failed removing link" msgstr "لابردنی بەستەرەکە شکستی هێنا" -#: src/page/connect.vue:106 src/page/connect.vue:110 +#: src/page/connect.vue:107 src/page/connect.vue:111 msgid "Failed to connect account." msgstr "Girêdana hesabê têk çû." @@ -1248,8 +1274,8 @@ msgstr "Girêdana hesabê têk çû." msgid "Failed updating link" msgstr "نوێکردنەوەی بەستەرەکە شکستی هێنا" -#: src/component/user/edit/dialog.vue:143 -#: src/component/user/edit/dialog.vue:144 src/page/settings/account.vue:128 +#: src/component/user/edit/dialog.vue:144 +#: src/component/user/edit/dialog.vue:145 src/page/settings/account.vue:128 #: src/page/settings/account.vue:130 msgid "Family Name" msgstr "ناوی پێناس" @@ -1258,15 +1284,15 @@ msgstr "ناوی پێناس" msgid "Fast" msgstr "خێرا" -#: src/component/album/edit/dialog.vue:159 -#: src/component/label/edit/dialog.vue:85 -#: src/component/people/edit/dialog.vue:85 +#: src/component/album/edit/dialog.vue:160 +#: src/component/label/edit/dialog.vue:86 +#: src/component/people/edit/dialog.vue:86 #: src/component/photo/edit/info.vue:287 msgid "Favorite" msgstr "دڵخواز" -#: src/app/routes.js:222 src/component/navigation.vue:893 -#: src/options/options.js:202 src/page/albums.vue:97 +#: src/app/routes.js:230 src/component/navigation.vue:903 +#: src/options/options.js:202 src/page/albums.vue:98 msgid "Favorites" msgstr "دڵخوازەکان" @@ -1274,7 +1300,7 @@ msgstr "دڵخوازەکان" msgid "Feature Request" msgstr "داواکردنی تایبەتمەندی" -#: src/component/navigation.vue:1456 +#: src/component/navigation.vue:1482 msgid "Feedback" msgstr "ڕەخنە و پێشنیار" @@ -1282,11 +1308,12 @@ msgstr "ڕەخنە و پێشنیار" msgid "Female" msgstr "Mê" -#: src/component/photo/edit/info.vue:214 src/model/file.js:290 +#: src/component/photo/edit/info.vue:57 src/component/photo/edit/info.vue:214 +#: src/model/file.js:290 msgid "File" msgstr "پەڕگە" -#: src/app/routes.js:343 +#: src/app/routes.js:351 msgid "File Browser" msgstr "گەڕۆکی پەڕگە" @@ -1309,8 +1336,8 @@ msgstr "پەڕگە" msgid "Filename" msgstr "پەڕگە" -#: src/component/navigation.vue:1930 src/component/photo/edit/dialog.vue:267 -#: src/component/photo/edit/dialog.vue:284 +#: src/component/navigation.vue:1973 src/component/photo/edit/dialog.vue:279 +#: src/component/photo/edit/dialog.vue:298 msgid "Files" msgstr "پەڕگەکان" @@ -1322,26 +1349,26 @@ msgstr "پەڕگەکان بە ناوی زنجیرەیی وەک 'IMG_1234 (2)' و msgid "First page" msgstr "Rûpelê yekem" -#: src/component/photo/edit/details.vue:465 +#: src/component/photo/edit/details.vue:439 msgid "Focal Length" msgstr "Focal Length" -#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:118 -#: src/component/service/edit.vue:189 src/component/service/edit.vue:194 -#: src/component/service/upload.vue:90 src/component/service/upload.vue:96 +#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:119 +#: src/component/service/edit.vue:190 src/component/service/edit.vue:195 +#: src/component/service/upload.vue:91 src/component/service/upload.vue:97 #: src/model/folder.js:199 src/page/library/browse.vue:182 msgid "Folder" msgstr "بوخچە" -#: src/page/library/browse.vue:365 +#: src/page/library/browse.vue:367 msgid "Folder contains %{n} files" msgstr "بوخچە %{n} پەڕگەی تێدایە" -#: src/page/library/browse.vue:356 +#: src/page/library/browse.vue:358 msgid "Folder is empty" msgstr "بوخچەکە بەتاڵە" -#: src/app/routes.js:202 src/component/navigation.vue:1225 +#: src/app/routes.js:210 src/component/navigation.vue:1247 #: src/options/options.js:207 msgid "Folders" msgstr "بوخچەکان" @@ -1358,7 +1385,7 @@ msgstr "FPS" msgid "Frames" msgstr "Frames" -#: src/options/auth.js:54 src/options/auth.js:64 +#: src/options/auth.js:55 src/options/auth.js:65 msgid "Full Access" msgstr "Têketinê Full" @@ -1370,7 +1397,7 @@ msgstr "پڕاوپڕ بەشاشە" msgid "General" msgstr "گشتی" -#: src/component/settings/apps.vue:364 +#: src/component/settings/apps.vue:367 msgid "Generate" msgstr "Xûlqkirin" @@ -1390,8 +1417,8 @@ msgstr "Çê kirin" msgid "Get Started" msgstr "Dest pê bike" -#: src/component/user/edit/dialog.vue:120 -#: src/component/user/edit/dialog.vue:121 src/page/settings/account.vue:106 +#: src/component/user/edit/dialog.vue:121 +#: src/component/user/edit/dialog.vue:122 src/page/settings/account.vue:106 #: src/page/settings/account.vue:108 msgid "Given Name" msgstr "ناوی ڕەسەن" @@ -1416,7 +1443,7 @@ msgstr "سەوز" msgid "Grey" msgstr "ڕەساسی" -#: src/options/admin.js:22 src/options/auth.js:10 +#: src/options/admin.js:26 src/options/auth.js:11 msgid "Guest" msgstr "Mêvan" @@ -1432,15 +1459,15 @@ msgstr "یارمەتی" msgid "Help & Support" msgstr "پاڵپشتی کڕیار" -#: src/component/navigation.vue:1327 src/component/people/edit/dialog.vue:98 +#: src/component/navigation.vue:1351 src/component/people/edit/dialog.vue:99 msgid "Hidden" msgstr "شاراوە" -#: src/app/routes.js:358 +#: src/app/routes.js:366 msgid "Hidden Files" msgstr "پەڕگە شاراوەکان" -#: src/page/people/new.vue:165 src/page/people/recognized.vue:205 +#: src/page/people/new.vue:166 src/page/people/recognized.vue:206 msgid "Hide" msgstr "Veşartin" @@ -1456,7 +1483,7 @@ msgstr "Bilind" msgid "High Dynamic Range (HDR)" msgstr "Rêzeya Dînamîk a Bilind (HDR)" -#: src/page/about/feedback.vue:103 +#: src/page/about/feedback.vue:104 msgid "How can we help?" msgstr "چۆن ئەتوانین یارمەتیت بدەین؟" @@ -1464,11 +1491,11 @@ msgstr "چۆن ئەتوانین یارمەتیت بدەین؟" msgid "Hybrid" msgstr "دووڕەگ" -#: src/component/settings/passcode.vue:389 +#: src/component/settings/passcode.vue:392 msgid "If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account." msgstr "Heke hûn gihîştina serîlêdana an cîhaza xweya rastgir winda bikin, hûn dikarin koda xweya vegerê bikar bînin da ku ji nû ve gihîştina hesabê xwe bistînin." -#: src/component/photo/edit/info.vue:63 src/component/photo/edit/labels.vue:46 +#: src/component/photo/edit/info.vue:65 src/component/photo/edit/labels.vue:46 #: src/component/photo/view/cards.vue:532 src/model/file.js:218 #: src/options/options.js:281 msgid "Image" @@ -1478,7 +1505,7 @@ msgstr "وێنە" msgid "Image Quality" msgstr "Kalîteya Wêne" -#: src/page/library.vue:46 src/page/library/import.vue:152 +#: src/page/library.vue:46 src/page/library/import.vue:153 #: src/page/settings/general.vue:357 msgid "Import" msgstr "هاوردن" @@ -1503,8 +1530,8 @@ msgstr "هاوردنی %{s}…" msgid "Importing files to originals…" msgstr "هێنانی پەڕگەکان بۆ ڕەسەنەکان…" -#: src/component/photo/edit/files.vue:515 -#: src/component/photo/edit/files.vue:520 +#: src/component/photo/edit/files.vue:517 +#: src/component/photo/edit/files.vue:522 msgid "in" msgstr "لە" @@ -1522,11 +1549,11 @@ msgstr "Dema ku stêk û arşîvan dakêşin pelên wêneyê RAW têxin nav xwe. msgid "Include sidecar files when downloading stacks and archives." msgstr "Di dema dakêşana stêrk û arşîvan de pelên sidecar têxin nav xwe." -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Increase storage size or delete files to continue." msgstr "Mezinahiya hilanînê zêde bikin an pelan jêbirin da ku bidomînin." -#: src/component/navigation.vue:1946 src/page/library.vue:36 +#: src/component/navigation.vue:1990 src/page/library.vue:36 #: src/page/settings/content.vue:34 msgid "Index" msgstr "نیشاندەر" @@ -1556,11 +1583,11 @@ msgstr "Agahî" msgid "Instance ID" msgstr "IDـی نموونە" -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Insufficient storage." msgstr "Depo ne bes e." -#: src/component/service/edit.vue:209 +#: src/component/service/edit.vue:210 msgid "Interval" msgstr "ماوە" @@ -1581,7 +1608,7 @@ msgstr "Navnîşana nederbasdar" msgid "Invalid country" msgstr "Welatê nederbasdar" -#: src/component/photo/edit/details.vue:174 +#: src/component/photo/edit/details.vue:169 msgid "Invalid date" msgstr "بەروارێکی نادروست" @@ -1590,7 +1617,7 @@ msgstr "بەروارێکی نادروست" msgid "Invalid parameters" msgstr "بەروارێکی نادروست" -#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:197 +#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:199 msgid "Invalid photo selected" msgstr "Wêneyê nederbasdar hat hilbijartin" @@ -1602,8 +1629,8 @@ msgstr "Dema nederbasdar" msgid "Invalid URL" msgstr "URL nederbasdar" -#: src/component/settings/passcode.vue:314 -#: src/component/settings/passcode.vue:391 +#: src/component/settings/passcode.vue:317 +#: src/component/settings/passcode.vue:394 msgid "It is a one-time use code that will disable 2FA for your account when you use it." msgstr "Ew kodek karanîna yek-car e ku gava ku hûn wê bikar bînin dê 2FA ji bo hesabê we neçalak bike." @@ -1627,7 +1654,7 @@ msgstr "سنووری قەبارەی JPEG: %{n}px" msgid "JPEGs and thumbnails are automatically rendered as needed." msgstr "JPEG و وێنە بچووکەکان بە شێوەیەکی خودکارانە بە پێێ پێویست پیشان دەدرێن." -#: src/component/photo/edit/details.vue:581 +#: src/component/photo/edit/details.vue:555 msgid "Keywords" msgstr "کلیلەوشەکان" @@ -1636,9 +1663,9 @@ msgstr "کلیلەوشەکان" msgid "Label" msgstr "پێناس" -#: src/app/routes.js:389 src/component/navigation.vue:1177 -#: src/component/photo/edit/dialog.vue:188 -#: src/component/photo/edit/dialog.vue:205 src/options/options.js:206 +#: src/app/routes.js:397 src/component/navigation.vue:1197 +#: src/component/photo/edit/dialog.vue:196 +#: src/component/photo/edit/dialog.vue:215 src/options/options.js:206 #: src/page/settings/general.vue:255 msgid "Labels" msgstr "پێناسەکان" @@ -1655,11 +1682,11 @@ msgstr "Lanczos: Detail Preservation, Minimal Artifacts" msgid "Language" msgstr "زمان" -#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:435 +#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:440 msgid "Last Active" msgstr "Last Active" -#: src/page/admin/users.vue:81 +#: src/page/admin/users.vue:83 msgid "Last Login" msgstr "Têketina Dawî" @@ -1675,42 +1702,41 @@ msgstr "هاوکاتگەری" msgid "Last Used" msgstr "Last Used" -#: src/component/photo/edit/details.vue:298 #: src/component/photo/edit/info.vue:373 msgid "Latitude" msgstr "هێڵی پانیی" -#: src/options/admin.js:43 src/options/auth.js:29 +#: src/options/admin.js:47 src/options/auth.js:30 msgid "LDAP/AD" msgstr "LDAP/AD" -#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:86 -#: src/page/about/about.vue:62 src/page/about/about.vue:132 +#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:87 +#: src/page/about/about.vue:62 src/page/about/about.vue:133 #: src/page/connect.vue:67 src/page/help.vue:36 msgid "Learn more" msgstr "Bêtir hîn bibin" -#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:135 +#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:137 #: src/page/labels.vue:132 msgid "Learn More" msgstr "Bêtir hîn bibin" -#: src/component/navigation.vue:2017 +#: src/component/navigation.vue:2066 msgid "Legal Information" msgstr "Agahiyên Hiqûqî" -#: src/component/photo/edit/details.vue:417 +#: src/component/photo/edit/details.vue:391 #: src/component/photo/view/cards.vue:480 msgid "Lens" msgstr "لێنز" -#: src/app/routes.js:443 src/app/routes.js:459 src/app/routes.js:475 -#: src/component/navigation.vue:1267 src/page/settings/general.vue:507 +#: src/app/routes.js:451 src/app/routes.js:467 src/app/routes.js:483 +#: src/component/navigation.vue:1290 src/page/settings/general.vue:507 msgid "Library" msgstr "کتێبخانە" #: src/page/connect.vue:45 src/app/routes.js:69 -#: src/component/navigation.vue:1478 src/component/photo/edit/details.vue:559 +#: src/component/navigation.vue:1504 src/component/photo/edit/details.vue:533 #: src/page/about/license.vue:28 msgid "License" msgstr "مۆڵەت" @@ -1723,7 +1749,7 @@ msgstr "بەدڵمە" msgid "Lime" msgstr "قسڵ" -#: src/page/library/browse.vue:369 +#: src/page/library/browse.vue:371 msgid "Limit reached, showing first %{n} files" msgstr "سنوور گەیشتن، یەکەمین ٪{n} پەڕگە پیشان دەدات" @@ -1731,7 +1757,7 @@ msgstr "سنوور گەیشتن، یەکەمین ٪{n} پەڕگە پیشان د msgid "Linear: Very Smooth, Best Performance" msgstr "Linear: Very Smooth, Best Performance" -#: src/model/link.js:117 src/options/auth.js:30 src/options/auth.js:31 +#: src/model/link.js:117 src/options/auth.js:31 src/options/auth.js:32 msgid "Link" msgstr "بەستەر" @@ -1749,7 +1775,7 @@ msgstr "View List" msgid "Live" msgstr "زیندوو" -#: src/app/routes.js:236 src/component/navigation.vue:749 +#: src/app/routes.js:244 src/component/navigation.vue:755 msgid "Live Photos" msgstr "وێنەکان" @@ -1765,21 +1791,24 @@ msgstr "Barkirina tiştan..." msgid "Loading..." msgstr "Barkirin..." -#: src/options/admin.js:35 src/options/auth.js:22 src/options/auth.js:27 +#: src/options/admin.js:39 src/options/auth.js:23 src/options/auth.js:28 #: src/options/options.js:38 src/page/settings/general.vue:107 msgid "Local" msgstr "Herêmî" -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Local Time" msgstr "کاتی ناوخۆیی" -#: src/page/settings/account.vue:665 src/page/settings/account.vue:667 -#: src/component/album/edit/dialog.vue:92 src/component/photo/edit/info.vue:65 -#: src/component/photo/edit/labels.vue:48 +#: src/page/settings/account.vue:671 src/page/settings/account.vue:673 +#: src/component/album/edit/dialog.vue:93 +#: src/component/photo/edit/details.vue:38 +#: src/component/photo/edit/details.vue:116 +#: src/component/photo/edit/details.vue:210 +#: src/component/photo/edit/info.vue:67 src/component/photo/edit/labels.vue:48 #: src/component/photo/view/cards.vue:555 src/component/photo/view/list.vue:117 -#: src/component/sidebar/info.vue:107 src/page/albums.vue:99 -#: src/page/settings/account.vue:557 src/page/settings/account.vue:559 +#: src/component/sidebar/info.vue:107 src/page/albums.vue:100 +#: src/page/settings/account.vue:563 src/page/settings/account.vue:565 msgid "Location" msgstr "ناونیشان" @@ -1787,20 +1816,19 @@ msgstr "ناونیشان" msgid "Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues." msgstr "لۆگ مەسجەکان لێرە دەردەکەون هەرکاتێک فۆتۆپریزم لەگەڵ فایلی شێواو بەرکەوتنی هەبوو ، یان کێشەی شاراوەی تر بوونی هەبوو." -#: src/component/navigation.vue:1552 src/component/navigation.vue:1840 +#: src/component/navigation.vue:1579 src/component/navigation.vue:1877 msgid "Login" msgstr "چوونە ژوورەوە" -#: src/component/navigation.vue:1759 +#: src/component/navigation.vue:1791 msgid "Logout" msgstr "چوونە دەرەوە" -#: src/component/navigation.vue:1962 src/page/library.vue:59 +#: src/component/navigation.vue:2007 src/page/library.vue:59 #: src/page/settings/general.vue:557 msgid "Logs" msgstr "تۆماری لۆگەکان" -#: src/component/photo/edit/details.vue:324 #: src/component/photo/edit/info.vue:379 msgid "Longitude" msgstr "درێژی" @@ -1813,7 +1841,7 @@ msgstr "Nizm" msgid "Magenta" msgstr "ئەرخەوانی" -#: src/component/photo/edit/files.vue:489 +#: src/component/photo/edit/files.vue:491 msgid "Main Color" msgstr "ڕەنگی سەرەکی" @@ -1821,12 +1849,16 @@ msgstr "ڕەنگی سەرەکی" msgid "Male" msgstr "Nêrî" -#: src/page/connect.vue:164 src/page/connect.vue:246 -#: src/page/about/about.vue:171 src/page/connect.vue:168 -#: src/page/connect.vue:255 +#: src/page/connect.vue:165 src/page/connect.vue:248 +#: src/page/about/about.vue:173 src/page/connect.vue:169 +#: src/page/connect.vue:257 msgid "Manage Account" msgstr "Hesabê Birêvebirin" +#: src/options/admin.js:10 src/options/auth.js:7 +msgid "Manager" +msgstr "Rêvebir" + #: src/component/photo/edit/info.vue:49 src/component/photo/edit/labels.vue:38 msgid "Manual" msgstr "Destî" @@ -1843,11 +1875,11 @@ msgstr "Nexşe" msgid "Marker" msgstr "Nîşan" -#: src/component/user/add/dialog.vue:69 +#: src/component/user/add/dialog.vue:70 msgid "Maximum number of accounts has been reached." msgstr "Hejmara herî zêde ya hesaban gihîştiye." -#: src/app/routes.js:229 src/component/navigation.vue:688 +#: src/app/routes.js:237 src/component/navigation.vue:693 #: src/options/options.js:199 msgid "Media" msgstr "Medya" @@ -1864,7 +1896,7 @@ msgstr "Endamî" msgid "Merge %{a} with %{b}?" msgstr "Bi %{b} re bi %{b} re bibe yek?" -#: src/page/about/feedback.vue:102 +#: src/page/about/feedback.vue:103 msgid "Message" msgstr "Agah" @@ -1876,7 +1908,7 @@ msgstr "پەیامەکە گەیەندرا" msgid "Metadata" msgstr "Metadata" -#: src/options/auth.js:56 src/options/auth.js:72 +#: src/options/auth.js:57 src/options/auth.js:73 msgid "Metrics" msgstr "Metrics" @@ -1884,7 +1916,7 @@ msgstr "Metrics" msgid "Minimize" msgstr "بچووک کردنەوە" -#: src/component/photo/edit/files.vue:509 src/component/photo/edit/info.vue:367 +#: src/component/photo/edit/files.vue:511 src/component/photo/edit/info.vue:367 msgid "Missing" msgstr "بزر" @@ -1892,17 +1924,17 @@ msgstr "بزر" msgid "Missing or invalid configuration" msgstr "Veavakirina wenda an nederbasdar" -#: src/app/routes.js:163 src/component/navigation.vue:1129 +#: src/app/routes.js:171 src/component/navigation.vue:1147 #: src/options/options.js:205 src/page/settings/general.vue:230 msgid "Moments" msgstr "ساتەکان" -#: src/component/navigation.vue:383 +#: src/component/navigation.vue:385 msgid "Monochrome" msgstr "Monochrome" -#: src/page/settings/account.vue:475 src/component/photo/edit/details.vue:137 -#: src/component/photo/toolbar.vue:342 +#: src/page/settings/account.vue:481 src/component/photo/edit/details.vue:139 +#: src/component/photo/toolbar.vue:344 msgid "Month" msgstr "مانگ" @@ -1922,7 +1954,7 @@ msgstr "گرنگترین" msgid "Move Files" msgstr "دۆسیەی زیاتر" -#: src/component/settings/password.vue:107 +#: src/component/settings/password.vue:108 msgid "Must have at least %{n} characters." msgstr "بەلایەنی کەمەوە 6 نووسە" @@ -1930,20 +1962,20 @@ msgstr "بەلایەنی کەمەوە 6 نووسە" msgid "Mute" msgstr "Bêdeng" -#: src/page/about/feedback.vue:121 src/page/about/feedback.vue:122 -#: src/component/album/edit/dialog.vue:77 -#: src/component/label/edit/dialog.vue:71 -#: src/component/people/edit/dialog.vue:71 -#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:57 +#: src/page/about/feedback.vue:122 src/page/about/feedback.vue:123 +#: src/component/album/edit/dialog.vue:78 +#: src/component/label/edit/dialog.vue:72 +#: src/component/people/edit/dialog.vue:72 +#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:59 #: src/component/photo/edit/info.vue:125 src/component/photo/edit/people.vue:36 -#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:310 -#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:286 -#: src/page/albums.vue:98 src/page/auth/login.vue:168 +#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:311 +#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:289 +#: src/page/albums.vue:99 src/page/auth/login.vue:168 #: src/page/people/new.vue:68 src/page/settings/services.vue:37 msgid "Name" msgstr "ناو" -#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:60 +#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:65 #: src/component/label/edit/dialog.vue:19 #: src/component/people/edit/dialog.vue:19 #: src/component/photo/edit/labels.vue:30 @@ -1953,7 +1985,7 @@ msgstr "ناو" msgid "Name too long" msgstr "ناوی زۆر درێژ" -#: src/page/admin/users.vue:204 src/options/options.js:361 +#: src/page/admin/users.vue:206 src/options/options.js:361 #: src/options/options.js:371 src/page/settings/services.vue:75 msgid "Never" msgstr "هەرگیز" @@ -1962,13 +1994,13 @@ msgstr "هەرگیز" msgid "New" msgstr "Nşh" -#: src/component/settings/password.vue:106 +#: src/component/settings/password.vue:107 msgid "New Password" msgstr "تێپەڕەوشەی نوێ" #: src/component/album/edit/dialog.vue:24 src/component/photo/toolbar.vue:114 #: src/component/photo/toolbar.vue:126 src/component/photo/toolbar.vue:136 -#: src/page/albums.vue:100 +#: src/page/albums.vue:101 msgid "Newest First" msgstr "یەکەم تازەترین" @@ -1984,15 +2016,15 @@ msgstr "Rûpelê din" msgid "Next visual" msgstr "Next dîtbarî" -#: src/component/people/merge/dialog.vue:47 -#: src/component/photo/archive/dialog.vue:47 +#: src/component/people/merge/dialog.vue:48 +#: src/component/photo/archive/dialog.vue:48 #: src/component/photo/edit/info.vue:281 src/component/photo/edit/info.vue:297 #: src/component/photo/edit/info.vue:313 src/component/photo/edit/info.vue:329 #: src/component/photo/edit/info.vue:344 msgid "No" msgstr "نەخێر" -#: src/page/albums.vue:607 src/page/albums.vue:282 +#: src/page/albums.vue:612 src/page/albums.vue:282 msgid "No albums found" msgstr "هیچ ئەلبومێکی نەدۆزیوەتەوە" @@ -2000,7 +2032,7 @@ msgstr "هیچ ئەلبومێکی نەدۆزیوەتەوە" msgid "No data available" msgstr "Daneyên berdest nînin" -#: src/page/labels.vue:523 src/page/labels.vue:155 +#: src/page/labels.vue:528 src/page/labels.vue:155 msgid "No labels found" msgstr "هیچ پێناسێکی نەدۆزیوەتەوە" @@ -2013,15 +2045,15 @@ msgid "No more" msgstr "Bêtir na" #: src/component/photo/edit/people.vue:34 src/page/people/new.vue:346 -#: src/page/people/new.vue:443 src/page/people/new.vue:103 -#: src/page/people/recognized.vue:531 src/page/people/recognized.vue:146 +#: src/page/people/new.vue:446 src/page/people/new.vue:103 +#: src/page/people/recognized.vue:536 src/page/people/recognized.vue:146 msgid "No people found" msgstr "Kes nehat dîtin" #: src/component/lightbox.vue:365 src/component/photo/view/cards.vue:144 #: src/component/photo/view/list.vue:82 src/component/photo/view/mosaic.vue:68 -#: src/page/album/photos.vue:488 src/page/library/browse.vue:123 -#: src/page/photos.vue:626 src/page/places.vue:624 src/page/places.vue:730 +#: src/page/album/photos.vue:499 src/page/library/browse.vue:123 +#: src/page/photos.vue:636 src/page/places.vue:624 src/page/places.vue:730 msgid "No pictures found" msgstr "Wêne nehatin dîtin" @@ -2030,7 +2062,11 @@ msgstr "Wêne nehatin dîtin" msgid "No recently edited pictures" msgstr "Wêneyên ku nû hatine guheztin tune" -#: src/component/navigation.vue:1655 +#: src/component/location/dialog.vue:166 +msgid "No results" +msgstr "هیچ ئەنجامێک" + +#: src/component/navigation.vue:1686 msgid "No server connection" msgstr "Têkiliya serverê tune" @@ -2042,7 +2078,7 @@ msgstr "هیچ ڕاژەیەک سازنەدراوە" msgid "No services configured." msgstr "هیچ ڕاژەیەک سازنەدراوە" -#: src/component/confirm/sponsor.vue:72 +#: src/component/confirm/sponsor.vue:73 msgid "No thanks" msgstr "نەخێر سوپاس" @@ -2052,17 +2088,17 @@ msgstr "هیچ ئاگادارییەک یان هەڵەیەک نیە کە ئەم #: src/component/photo/view/cards.vue:154 src/component/photo/view/list.vue:59 #: src/component/photo/view/list.vue:92 src/component/photo/view/mosaic.vue:78 -#: src/component/upload/dialog.vue:208 +#: src/component/upload/dialog.vue:210 msgid "Non-photographic and low-quality images require a review before they appear in search results." msgstr "وێنە نافۆتۆگرافی و کوالێتی نزمەکان پێویستی بە پێداچونەوە هەیە پێش ئەوەی لە ئەنجامی گەڕاندا دەرکەون." -#: src/options/admin.js:47 src/options/auth.js:32 src/options/options.js:212 +#: src/options/admin.js:51 src/options/auth.js:33 src/options/options.js:212 #: src/options/options.js:328 msgid "None" msgstr "هیچ" -#: src/common/util.js:853 src/component/lightbox.vue:633 -#: src/component/service/upload.vue:75 src/component/service/upload.vue:87 +#: src/component/lightbox.vue:633 src/component/service/upload.vue:75 +#: src/component/service/upload.vue:87 msgid "Not allowed" msgstr "Destûr nayê dayîn" @@ -2074,8 +2110,7 @@ msgstr "نەدۆزرایەوە" msgid "Not sorted." msgstr "Ne veqetandin." -#: src/common/util.js:858 src/component/lightbox.vue:627 -#: src/component/lightbox.vue:744 +#: src/component/lightbox.vue:627 src/component/lightbox.vue:744 msgid "Not supported" msgstr "Ne piştgirî kirin" @@ -2083,15 +2118,15 @@ msgstr "Ne piştgirî kirin" msgid "Note you may manually manage your originals folder and importing is optional." msgstr "Têbînî ku hûn dikarin peldanka orîjînalên xwe bi destan birêve bibin û hinardekirin vebijarkî ye." -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "Note:" msgstr "تێبینی:" -#: src/component/service/add.vue:120 +#: src/component/service/add.vue:121 msgid "Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload." msgstr "تێبینی: تەنها ڕەژاکانی WebDAV، وەک Nextcloud یان PhotoPrism، دەتوانرێت وەک خزمەتگوزاریەکی دوور بۆ گەڕانەوەی پاڵپشت (باکئاپ) و دروستکردنی پاڵپشت ساز بکرێت." -#: src/component/photo/edit/details.vue:603 +#: src/component/photo/edit/details.vue:577 msgid "Notes" msgstr "تێبینیەکان" @@ -2099,8 +2134,8 @@ msgstr "تێبینیەکان" msgid "Nothing to see here yet." msgstr "هێشتا هیچ شتێک نییە بۆ بینین لێرە. ئارام بگرە." -#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:115 -#: src/component/settings/apps.vue:390 +#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:125 +#: src/component/settings/apps.vue:393 msgid "Nothing was found." msgstr "Tiştek nehat dîtin." @@ -2108,7 +2143,7 @@ msgstr "Tiştek nehat dîtin." msgid "Offline" msgstr "ده‌رهێڵ" -#: src/options/admin.js:39 src/options/auth.js:28 +#: src/options/admin.js:43 src/options/auth.js:29 msgid "OIDC" msgstr "OIDC" @@ -2118,11 +2153,11 @@ msgstr "OK" #: src/component/album/edit/dialog.vue:25 src/component/photo/toolbar.vue:115 #: src/component/photo/toolbar.vue:127 src/component/photo/toolbar.vue:137 -#: src/page/albums.vue:101 +#: src/page/albums.vue:102 msgid "Oldest First" msgstr "یەکەم کۆنترین" -#: src/component/settings/webdav.vue:77 +#: src/component/settings/webdav.vue:78 msgid "On Windows, enter the following resource in the connection dialog:" msgstr "Li ser Windows-ê, di diyaloga pêwendiyê de çavkaniya jêrîn têkevin:" @@ -2134,11 +2169,11 @@ msgstr "Hilberîna li ser daxwazê ya piçûkan dibe ku bibe sedema karanîna CP msgid "Once a week" msgstr "جارێك لەهەفتەیەكدا" -#: src/page/albums.vue:609 +#: src/page/albums.vue:614 msgid "One album found" msgstr "یەك ئەلبوم دۆزرایەوە" -#: src/page/library/browse.vue:358 +#: src/page/library/browse.vue:360 msgid "One file found" msgstr "یەك دۆسیە دۆزرایەوە" @@ -2146,24 +2181,24 @@ msgstr "یەك دۆسیە دۆزرایەوە" msgid "One file uploaded" msgstr "%{n} پەڕگە بارکرا" -#: src/page/library/browse.vue:360 +#: src/page/library/browse.vue:362 msgid "One folder found" msgstr "یەك فۆڵدەر دۆزرایەوە" -#: src/page/labels.vue:525 +#: src/page/labels.vue:530 msgid "One label found" msgstr "Yek label hat dîtin" -#: src/page/people/new.vue:348 src/page/people/new.vue:445 -#: src/page/people/recognized.vue:533 +#: src/page/people/new.vue:348 src/page/people/new.vue:448 +#: src/page/people/recognized.vue:538 msgid "One person found" msgstr "Kesek hat dîtin" -#: src/page/album/photos.vue:490 src/page/photos.vue:628 +#: src/page/album/photos.vue:501 src/page/photos.vue:638 msgid "One picture found" msgstr "Yek wêne hat dîtin" -#: src/component/settings/passcode.vue:478 +#: src/component/settings/passcode.vue:481 msgid "Only locally managed accounts can be set up for authentication with 2FA." msgstr "Tenê hesabên herêmî yên ku têne rêve kirin dikarin ji bo erêkirinê bi 2FA re bêne saz kirin." @@ -2171,7 +2206,7 @@ msgstr "Tenê hesabên herêmî yên ku têne rêve kirin dikarin ji bo erêkiri msgid "Open" msgstr "Vekirî" -#: src/component/service/add.vue:86 src/component/service/add.vue:107 +#: src/component/service/add.vue:87 src/component/service/add.vue:108 msgid "optional" msgstr "bixwe" @@ -2183,7 +2218,7 @@ msgstr "an" msgid "Orange" msgstr "پرتەقاڵی" -#: src/page/settings/account.vue:571 src/page/settings/account.vue:573 +#: src/page/settings/account.vue:577 src/page/settings/account.vue:579 msgid "Organization" msgstr "Orientation" @@ -2199,7 +2234,7 @@ msgstr "ناوی پەڕگە ڕەسەنەکان هەڵگیراون و نیشان msgid "Original Name" msgstr "ناوی ڕەسەن" -#: src/component/navigation.vue:1304 src/model/file.js:196 +#: src/component/navigation.vue:1328 src/model/file.js:196 #: src/options/options.js:413 src/page/library/browse.vue:65 #: src/page/settings/content.vue:356 src/page/settings/general.vue:532 msgid "Originals" @@ -2210,7 +2245,7 @@ msgstr "ڕەسەنەکان" msgid "Other" msgstr "هی تر" -#: src/page/about/about.vue:77 src/page/about/about.vue:83 +#: src/page/about/about.vue:78 src/page/about/about.vue:84 msgid "Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible." msgstr "دنیا بینیمان ئەوەیە کە زۆرترین چارەسەری بەکارهێنەر بۆ گەڕان و ڕێکخستن و هاوبەشکردنی کۆکراوەی فۆتۆ دابین بکەین." @@ -2222,7 +2257,7 @@ msgstr "دەرەوە" msgid "Page {0}, Current page" msgstr "Rûpel {0}, Rûpelê niha" -#: src/component/photo/edit/files.vue:352 src/model/photo.js:859 +#: src/component/photo/edit/files.vue:352 src/model/photo.js:896 msgid "Pages" msgstr "Pages" @@ -2234,15 +2269,15 @@ msgstr "Navîgasyon Pagination" msgid "Panorama" msgstr "پانۆراما" -#: src/component/navigation.vue:402 +#: src/component/navigation.vue:404 msgid "Panoramas" msgstr "پانۆراماکان" -#: src/component/user/add/dialog.vue:114 src/component/user/add/dialog.vue:115 -#: src/component/service/add.vue:106 src/component/service/edit.vue:352 -#: src/component/settings/apps.vue:121 src/component/settings/passcode.vue:106 -#: src/component/settings/passcode.vue:413 src/component/share/dialog.vue:27 -#: src/options/auth.js:91 src/page/auth/login.vue:196 +#: src/component/user/add/dialog.vue:115 src/component/user/add/dialog.vue:116 +#: src/component/service/add.vue:107 src/component/service/edit.vue:353 +#: src/component/settings/apps.vue:124 src/component/settings/passcode.vue:109 +#: src/component/settings/passcode.vue:416 src/component/share/dialog.vue:27 +#: src/options/auth.js:92 src/page/auth/login.vue:196 msgid "Password" msgstr "تێپەڕەوشە" @@ -2250,9 +2285,9 @@ msgstr "تێپەڕەوشە" msgid "Password changed" msgstr "تێپەڕەوشە گۆڕدرا" -#: src/app/routes.js:404 src/app/routes.js:428 src/component/navigation.vue:845 -#: src/component/navigation.vue:1898 src/component/photo/edit/dialog.vue:228 -#: src/component/photo/edit/dialog.vue:245 src/options/options.js:201 +#: src/app/routes.js:412 src/app/routes.js:436 src/component/navigation.vue:853 +#: src/component/navigation.vue:1939 src/component/photo/edit/dialog.vue:238 +#: src/component/photo/edit/dialog.vue:257 src/options/options.js:201 #: src/page/settings/general.vue:180 msgid "People" msgstr "خەڵك" @@ -2273,23 +2308,23 @@ msgstr "سڕینەوەی پەڕگەکان بە شێوەیەکی هەمیشەیی msgid "Person" msgstr "Şexs" -#: src/options/auth.js:42 +#: src/options/auth.js:43 msgid "Personal" msgstr "Şexsî" -#: src/model/photo.js:1273 +#: src/model/photo.js:1310 msgid "Photo" msgstr "وێنە" -#: src/page/about/about.vue:156 +#: src/page/about/about.vue:158 msgid "PhotoPrism is 100% self-funded and independent." msgstr "PhotoPrism 100% xwe-fînanse û serbixwe ye." -#: src/page/about/about.vue:92 +#: src/page/about/about.vue:93 msgid "PhotoPrism+ Membership" msgstr "Endamtiya PhotoPrism+" -#: src/app/routes.js:156 +#: src/app/routes.js:164 msgid "Photos" msgstr "وێنەکان" @@ -2310,27 +2345,27 @@ msgstr "شوێن" msgid "Place & Time" msgstr "شوێن و کات" -#: src/app/routes.js:303 src/app/routes.js:309 src/app/routes.js:315 -#: src/app/routes.js:330 src/component/navigation.vue:986 -#: src/component/navigation.vue:1914 src/options/options.js:203 +#: src/app/routes.js:311 src/app/routes.js:317 src/app/routes.js:323 +#: src/app/routes.js:338 src/component/navigation.vue:999 +#: src/component/navigation.vue:1956 src/options/options.js:203 #: src/page/places.vue:51 src/page/settings/general.vue:609 #: src/page/settings/general.vue:638 msgid "Places" msgstr "شوێنەکان" -#: src/component/settings/password.vue:129 +#: src/component/settings/password.vue:130 msgid "Please confirm your new password." msgstr "تکایە وشە نهێنیە تازکەت پشتڕاستکەرەوە." -#: src/component/settings/apps.vue:185 +#: src/component/settings/apps.vue:188 msgid "Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:" msgstr "Ji kerema xwe şîfreya sepanê ya ku bi korfelaqî hatî çêkirin kopî bikin û wê li cîhek ewle bihêlin, ji ber ku hûn ê nikaribin wê dîsa bibînin:" -#: src/component/upload/dialog.vue:203 +#: src/component/upload/dialog.vue:205 msgid "Please do not upload any private, unlawful or offensive pictures." msgstr "Ji kerema xwe re tu wêneyên taybet, neqanûnî an êrîşkar bar nekin." -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Please don't upload photos containing offensive content." msgstr "تکایە ئەو وێنانە بار مەکە کە ناوەڕۆکی سووکایەتی لەخۆ دەگرن." @@ -2338,11 +2373,11 @@ msgstr "تکایە ئەو وێنانە بار مەکە کە ناوەڕۆکی س msgid "Please enter OTP character {0}" msgstr "Ji kerema xwe karaktera OTP {0} binivîse" -#: src/component/settings/password.vue:66 +#: src/component/settings/password.vue:67 msgid "Please note that changing your password will log you out on other devices and browsers." msgstr "Ji kerema xwe not bikin ku guhertina şîfreya xwe dê we li ser cîhaz û gerokên din derxîne." -#: src/page/connect.vue:148 src/page/connect.vue:152 +#: src/page/connect.vue:149 src/page/connect.vue:153 msgid "Please restart your instance for the changes to take effect." msgstr "Ji kerema xwe mînaka xwe ji nû ve bidin destpêkirin da ku guheztin bikeve meriyetê." @@ -2362,11 +2397,11 @@ msgstr "سنووری قەبارەی PNG: %{n}px" msgid "Portrait" msgstr "تابلۆ" -#: src/component/service/edit.vue:273 +#: src/component/service/edit.vue:274 msgid "Preserve filenames" msgstr "پاراستنی ناوی پەڕگەکان" -#: src/component/upload/dialog.vue:162 +#: src/component/upload/dialog.vue:164 msgid "Press enter to create a new album." msgstr "بۆ دروستکردنی ئەلبومێکی نوێ، Enter دابگرە." @@ -2403,8 +2438,8 @@ msgstr "Dîtina berê" msgid "Primary" msgstr "سەرەکی" -#: src/app/routes.js:271 src/component/album/edit/dialog.vue:176 -#: src/component/navigation.vue:531 src/component/photo/edit/info.vue:303 +#: src/app/routes.js:279 src/component/album/edit/dialog.vue:177 +#: src/component/navigation.vue:533 src/component/photo/edit/info.vue:303 #: src/page/settings/general.vue:280 msgid "Private" msgstr "تایبەتی" @@ -2429,7 +2464,7 @@ msgstr "پاڵاوتنی جۆرایەتی" msgid "Quality Score" msgstr "جۆرایەتی تۆمار" -#: src/page/admin/users.vue:169 +#: src/page/admin/users.vue:171 msgid "r" msgstr "r" @@ -2460,7 +2495,7 @@ msgstr "دۆخی تەنها-خوێندنەوە" #: src/component/album/edit/dialog.vue:26 src/component/photo/toolbar.vue:116 #: src/component/photo/toolbar.vue:128 src/component/photo/toolbar.vue:138 -#: src/page/albums.vue:102 +#: src/page/albums.vue:103 msgid "Recently Added" msgstr "بەم دواییە زیادکرا" @@ -2468,7 +2503,7 @@ msgstr "بەم دواییە زیادکرا" msgid "Recently Archived" msgstr "Recently Archived" -#: src/component/photo/toolbar.vue:139 src/page/albums.vue:103 +#: src/component/photo/toolbar.vue:139 src/page/albums.vue:104 msgid "Recently Edited" msgstr "بەم دواییە دەسکاریکرا" @@ -2493,24 +2528,24 @@ msgstr "Recovery Code" msgid "Red" msgstr "سور" -#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:126 -#: src/component/album/toolbar.vue:79 src/component/photo/toolbar.vue:169 -#: src/page/albums.vue:173 src/page/labels.vue:112 +#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:128 +#: src/component/album/toolbar.vue:84 src/component/photo/toolbar.vue:169 +#: src/page/albums.vue:175 src/page/labels.vue:112 #: src/page/library/browse.vue:90 src/page/library/errors.vue:81 #: src/page/people/new.vue:54 src/page/people/recognized.vue:88 msgid "Refresh" msgstr "Hênikkirin" -#: src/app/routes.js:337 src/component/navigation.vue:943 -#: src/component/navigation.vue:1026 +#: src/app/routes.js:345 src/component/navigation.vue:955 +#: src/component/navigation.vue:1040 msgid "Regions" msgstr "Herêmên" -#: src/page/connect.vue:275 src/page/connect.vue:284 +#: src/page/connect.vue:277 src/page/connect.vue:286 msgid "Register" msgstr "Fêhrist" -#: src/component/navigation.vue:1773 src/component/update.vue:68 +#: src/component/navigation.vue:1806 src/component/update.vue:68 msgid "Reload" msgstr "بارکردنەوە" @@ -2555,34 +2590,34 @@ msgstr "Berî ku ew di encamên lêgerînê de xuya bibin, pêdivî ye ku wêney msgid "Resolution" msgstr "Resolution" -#: src/page/connect.vue:179 src/page/connect.vue:183 +#: src/page/connect.vue:180 src/page/connect.vue:184 #: src/page/settings/advanced.vue:782 msgid "Restart" msgstr "Restart" -#: src/component/user/edit/dialog.vue:485 src/component/lightbox.vue:1221 +#: src/component/user/edit/dialog.vue:488 src/component/lightbox.vue:1221 #: src/component/photo/clipboard.vue:77 msgid "Restore" msgstr "گەڕاندنەوە" -#: src/component/lightbox.vue:2000 +#: src/component/lightbox.vue:2020 msgid "Restored" msgstr "Restored" -#: src/component/service/edit.vue:428 +#: src/component/service/edit.vue:429 msgid "Retry Limit" msgstr "Sînora ji nû ve biceribîne" -#: src/component/settings/password.vue:128 +#: src/component/settings/password.vue:129 msgid "Retype Password" msgstr "نوسینەوەی وشه‌ی تێپه‌ڕبوون" -#: src/app/routes.js:264 src/component/navigation.vue:505 +#: src/app/routes.js:272 src/component/navigation.vue:507 msgid "Review" msgstr "پێشبینین" -#: src/component/user/add/dialog.vue:171 src/component/user/edit/dialog.vue:284 -#: src/page/admin/sessions.vue:262 src/page/admin/users.vue:73 +#: src/component/user/add/dialog.vue:172 src/component/user/edit/dialog.vue:285 +#: src/page/admin/sessions.vue:263 src/page/admin/users.vue:75 msgid "Role" msgstr "Role" @@ -2594,11 +2629,11 @@ msgstr "Rêz li ser rûpelê:" msgid "Satellite" msgstr "Satelayt" -#: src/component/user/edit/dialog.vue:485 -#: src/component/album/edit/dialog.vue:211 -#: src/component/label/edit/dialog.vue:119 -#: src/component/people/edit/dialog.vue:132 src/component/service/edit.vue:466 -#: src/component/settings/password.vue:172 src/component/share/dialog.vue:181 +#: src/component/user/edit/dialog.vue:488 +#: src/component/album/edit/dialog.vue:212 +#: src/component/label/edit/dialog.vue:120 +#: src/component/people/edit/dialog.vue:133 src/component/service/edit.vue:467 +#: src/component/settings/password.vue:173 src/component/share/dialog.vue:181 msgid "Save" msgstr "پاشەکەوت" @@ -2606,23 +2641,23 @@ msgstr "پاشەکەوت" msgid "Scan" msgstr "پشکنین" -#: src/component/settings/passcode.vue:179 +#: src/component/settings/passcode.vue:182 msgid "Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:" msgstr "Koda QR-ê bi sepana xweya erêkirinê bişopînin an mifteya sazkirinê ya ku li jêr tê xuyang kirin bikar bînin û dûv re koda verastkirinê ya çêkirî têkevin:" -#: src/component/navigation.vue:461 +#: src/component/navigation.vue:463 msgid "Scans" msgstr "پشکنینەکان" -#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:377 -#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:310 +#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:381 +#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:313 msgid "Scope" msgstr "Scope" -#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:62 -#: src/component/navigation.vue:342 src/component/navigation.vue:1866 -#: src/component/photo/toolbar.vue:57 src/options/options.js:197 -#: src/page/albums.vue:100 src/page/labels.vue:77 +#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:69 +#: src/component/location/dialog.vue:133 src/component/navigation.vue:343 +#: src/component/navigation.vue:1905 src/component/photo/toolbar.vue:57 +#: src/options/options.js:197 src/page/albums.vue:100 src/page/labels.vue:77 #: src/page/library/errors.vue:76 src/page/people/recognized.vue:66 #: src/page/places.vue:79 src/page/settings/content.vue:235 msgid "Search" @@ -2660,11 +2695,11 @@ msgstr "Dîrokê hilbijêre" msgid "Select dates" msgstr "Dîrokan hilbijêrin" -#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:154 +#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:156 msgid "Select or create an album" msgstr "Hilbijêre an albûmek çêbikin" -#: src/component/upload/dialog.vue:138 +#: src/component/upload/dialog.vue:140 msgid "Select the files to upload…" msgstr "Pelên ji bo barkirinê hilbijêrin…" @@ -2692,7 +2727,7 @@ msgstr "هەڵبژاردەکە دووبارەکۆگاکرایەوە" msgid "Sequential Name" msgstr "ناوی زنجیرەیی" -#: src/component/service/add.vue:67 src/component/service/edit.vue:322 +#: src/component/service/add.vue:68 src/component/service/edit.vue:323 #: src/component/share/dialog.vue:25 msgid "Service URL" msgstr "بەستەری خزمەتگوزاری" @@ -2701,7 +2736,7 @@ msgstr "بەستەری خزمەتگوزاری" msgid "Services" msgstr "بەستەری خزمەتگوزاری" -#: src/model/session.js:107 src/options/auth.js:41 src/options/auth.js:90 +#: src/model/session.js:107 src/options/auth.js:42 src/options/auth.js:91 msgid "Session" msgstr "Rûniştinî" @@ -2709,7 +2744,7 @@ msgstr "Rûniştinî" msgid "Session ID" msgstr "Nasnameya rûniştinê" -#: src/page/admin.vue:45 +#: src/page/admin.vue:44 msgid "Sessions" msgstr "Sessions" @@ -2717,22 +2752,22 @@ msgstr "Sessions" msgid "Set as Album Cover" msgstr "Set wek Album Cover" -#: src/app/routes.js:101 src/app/routes.js:492 src/app/routes.js:504 -#: src/app/routes.js:521 src/app/routes.js:534 src/app/routes.js:547 -#: src/component/navigation.vue:1394 src/component/navigation.vue:1806 +#: src/app/routes.js:101 src/app/routes.js:500 src/app/routes.js:512 +#: src/app/routes.js:529 src/app/routes.js:542 src/app/routes.js:555 +#: src/component/navigation.vue:1419 src/component/navigation.vue:1841 msgid "Settings" msgstr "ڕێکخستنەکان" #: src/page/settings/account.vue:115 src/page/settings/account.vue:144 -#: src/component/settings/passcode.vue:147 +#: src/component/settings/passcode.vue:151 msgid "Settings saved" msgstr "ڕێکخستنەکان پاشەکەوتکرا" -#: src/component/service/upload.vue:131 src/component/settings/passcode.vue:160 +#: src/component/service/upload.vue:132 src/component/settings/passcode.vue:163 msgid "Setup" msgstr "دایبەزێنە" -#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:98 +#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:103 #: src/component/photo/clipboard.vue:51 src/page/settings/general.vue:382 msgid "Share" msgstr "هاوبەشکردن" @@ -2749,7 +2784,7 @@ msgstr "Wêneyên xwe bi serîlêdan û karûbarên din re parve bikin." msgid "Show" msgstr "Rêdan" -#: src/page/people/new.vue:116 src/page/people/new.vue:233 +#: src/page/people/new.vue:116 src/page/people/new.vue:235 msgid "Show all new faces" msgstr "Hemî rûyên nû nîşan bidin" @@ -2794,7 +2829,7 @@ msgid "Similar" msgstr "وەکویەک" #: src/component/photo/edit/files.vue:51 src/component/photo/edit/files.vue:341 -#: src/component/service/edit.vue:139 src/component/sidebar/info.vue:96 +#: src/component/service/edit.vue:140 src/component/sidebar/info.vue:96 msgid "Size" msgstr "ڕووبەر" @@ -2822,7 +2857,7 @@ msgstr "Tiştek xelet derket, dîsa biceribîne" msgid "Sort by" msgstr "Bi rêzkirin" -#: src/component/album/edit/dialog.vue:142 src/component/photo/toolbar.vue:288 +#: src/component/album/edit/dialog.vue:143 src/component/photo/toolbar.vue:290 #: src/page/albums.vue:214 msgid "Sort Order" msgstr "جۆری داواکاری" @@ -2857,7 +2892,7 @@ msgstr "وێنەی کەڵەککراوەکان لەهەمان کات و شوێن msgid "Stackable" msgstr "کەڵەکەکراو" -#: src/component/navigation.vue:421 src/page/settings/content.vue:136 +#: src/component/navigation.vue:423 src/page/settings/content.vue:136 msgid "Stacks" msgstr "کەڵەکەکان" @@ -2885,16 +2920,16 @@ msgstr "پەڕگەی هەڵگرتن" msgid "Streets" msgstr "شەقامەکان" -#: src/component/photo/edit/details.vue:494 +#: src/component/photo/edit/details.vue:468 #: src/component/photo/edit/labels.vue:44 msgid "Subject" msgstr "ناونیشان" -#: src/page/about/feedback.vue:162 src/page/about/feedback.vue:163 +#: src/page/about/feedback.vue:163 src/page/about/feedback.vue:164 msgid "Submit" msgstr "Nermijîn" -#: src/component/settings/passcode.vue:132 +#: src/component/settings/passcode.vue:136 msgid "Successfully activated" msgstr "Bi serketî hate aktîfkirin" @@ -2903,23 +2938,23 @@ msgid "Successfully Connected" msgstr "Bi serketî ve girêdayî ye" #: src/component/session/remove/dialog.vue:32 -#: src/component/settings/apps.vue:218 +#: src/component/settings/apps.vue:222 msgid "Successfully deleted" msgstr "Bi serketî hat jêbirin" -#: src/component/settings/passcode.vue:107 +#: src/component/settings/passcode.vue:108 msgid "Successfully verified" msgstr "Bi serketî verast kirin" -#: src/component/user/edit/dialog.vue:398 src/page/admin/users.vue:163 +#: src/component/user/edit/dialog.vue:399 src/page/admin/users.vue:165 msgid "Super Admin" msgstr "Super Admin" -#: src/component/service/add.vue:122 +#: src/component/service/add.vue:123 msgid "Support for additional services, like Google Drive, will be added over time." msgstr "پشتگیری بۆ خزمەتگوزاری تر وەک Google Drive، بە پێی کات زیاد دەکرێت." -#: src/component/confirm/sponsor.vue:37 src/component/navigation.vue:1629 +#: src/component/confirm/sponsor.vue:38 src/component/navigation.vue:1660 msgid "Support Our Mission" msgstr "Piştgiriya Mîsyona Me bikin" @@ -2927,7 +2962,7 @@ msgstr "Piştgiriya Mîsyona Me bikin" msgid "Sync" msgstr "هاوکاتگەری" -#: src/component/service/edit.vue:289 +#: src/component/service/edit.vue:290 msgid "Sync raw and video files" msgstr "هاودەمکردنی فایلە خاوە ڤیدیۆکان" @@ -2953,23 +2988,23 @@ msgstr "Erd" msgid "Text" msgstr "Nivîstok" -#: src/component/photo/edit/details.vue:32 src/page/people/new.vue:71 +#: src/component/photo/edit/details.vue:40 src/page/people/new.vue:71 msgid "Text too long" msgstr "دەقی زۆر درێژ" -#: src/page/about/about.vue:145 +#: src/page/about/about.vue:146 msgid "Thank You for Your Support!" msgstr "Spas ji bo Piştgiriya We!" -#: src/page/about/about.vue:79 src/page/about/about.vue:85 +#: src/page/about/about.vue:80 src/page/about/about.vue:86 msgid "That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality." msgstr "Ji ber vê yekê PhotoPrism ji erdê ve hate çêkirin da ku li cîhê ku hûn jê re lazim bin, bêyî ku azadî, nepenî, an fonksiyonê tawîz bidin." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "The index currently contains %{n} hidden files." msgstr "نوانەکە لە ئێستادا %{n} فایلی شاراوەی لەخۆ دەگرێت." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates." msgstr "فۆرماتەکەیان لەوانەیە پشتگیری کراو نەبێت, هێشتا نەگۆڕدراوە بۆ JPEG یان لێکچووی دووبارەبوونی هەیە." @@ -2984,44 +3019,44 @@ msgstr "ڕووکار" msgid "This field is required" msgstr "Ev qada pêdivî ye" -#: src/component/settings/webdav.vue:100 src/page/settings/services.vue:144 +#: src/component/settings/webdav.vue:101 src/page/settings/services.vue:147 msgid "This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local." msgstr "ئەمە فۆڵدەری ڕەسەنەکان وەک درایڤی ڕایەڵە هەڵدەکات و ڕێگەت پێدەدات فایلەکان لە کۆمپیوتەرەکەت یان مۆبایلەکە بکەیتەوە، بژاری بکەیت، یان بسڕیتەوە وەک ئەوەی کە خۆماڵی بن." -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Time UTC" msgstr "کات UTC" -#: src/component/photo/edit/details.vue:219 src/page/settings/general.vue:108 +#: src/component/photo/edit/details.vue:221 src/page/settings/general.vue:108 msgid "Time Zone" msgstr "ناوچەی کاتی" -#: src/component/service/edit.vue:408 +#: src/component/service/edit.vue:409 msgid "Timeout" msgstr "ناوچەی کاتی" -#: src/component/user/edit/dialog.vue:98 src/component/user/edit/dialog.vue:99 +#: src/component/user/edit/dialog.vue:99 src/component/user/edit/dialog.vue:100 #: src/page/settings/account.vue:84 src/page/settings/account.vue:86 msgctxt "Account" msgid "Title" msgstr "ناونیشان" -#: src/component/photo/edit/details.vue:73 +#: src/component/photo/edit/details.vue:75 msgctxt "Photo" msgid "Title" msgstr "ناونیشان" -#: src/component/photo/edit/info.vue:59 src/component/photo/edit/info.vue:155 +#: src/component/photo/edit/info.vue:61 src/component/photo/edit/info.vue:155 #: src/component/photo/edit/labels.vue:40 src/component/photo/view/list.vue:114 #: src/component/sidebar/info.vue:57 msgid "Title" msgstr "ناونیشان" -#: src/page/settings/account.vue:553 src/page/settings/account.vue:555 +#: src/page/settings/account.vue:559 src/page/settings/account.vue:561 msgid "Title / Position" msgstr "ناونیشانی زۆر درێژ" -#: src/page/albums.vue:83 +#: src/page/albums.vue:84 msgid "Title too long" msgstr "ناونیشانی زۆر درێژ" @@ -3029,19 +3064,19 @@ msgstr "ناونیشانی زۆر درێژ" msgid "to" msgstr "بۆ" -#: src/component/settings/passcode.vue:312 +#: src/component/settings/passcode.vue:315 msgid "To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place." msgstr "Ji bo ku hûn ji hesabê xwe neyên girtin, ji kerema xwe vê koda hilanînê nuha dakêşin, çap bikin an kopî bikin û li cîhek ewle bihêlin." -#: src/component/settings/apps.vue:272 +#: src/component/settings/apps.vue:275 msgid "To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:" msgstr "Ji bo afirandina şîfreyek nû-taybetî ya sepanê, ji kerema xwe nav û qada destûrnameyê ya serîlêdanê binivîse û tarîxek qedandinê hilbijêrin:" -#: src/component/settings/passcode.vue:400 +#: src/component/settings/passcode.vue:403 msgid "To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:" msgstr "Ji bo veguheztina serîlêdanek an amûrek naskirî ya nû, pêşî piştrastkirina du-faktorî neçalak bikin û dûv re wê ji nû ve çalak bikin:" -#: src/page/connect.vue:221 src/page/connect.vue:230 +#: src/page/connect.vue:223 src/page/connect.vue:232 msgid "To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:" msgstr "Ji bo nûvekirinê, hûn dikarin kodek çalakkirinê binivîsin an jî \"Têkilî\" bikirtînin da ku li ser malpera me têkevin:" @@ -3049,7 +3084,7 @@ msgstr "Ji bo nûvekirinê, hûn dikarin kodek çalakkirinê binivîsin an jî \ msgid "Today" msgstr "Îro" -#: src/component/album/toolbar.vue:70 src/component/photo/toolbar.vue:78 +#: src/component/album/toolbar.vue:71 src/component/photo/toolbar.vue:78 msgid "Toggle View" msgstr "گۆڕینی رەوش بۆ بینین" @@ -3076,20 +3111,24 @@ msgstr "Çareserkirina pirsgirêkan" msgid "Try again using other filters or keywords." msgstr "دووبارە هەوڵ بدە بە بەکارهێنانی فلتەر یان وشەی تر." -#: src/component/settings/passcode.vue:380 +#: src/component/settings/passcode.vue:383 msgid "Two-factor authentication has been enabled for your account." msgstr "Nasnameya du-faktorî ji bo hesabê we hate çalak kirin." #: src/component/photo/edit/files.vue:58 src/component/photo/edit/files.vue:330 -#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:388 +#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:389 msgid "Type" msgstr "جۆر" -#: src/options/auth.js:13 +#: src/component/album/toolbar.vue:178 +msgid "Unable to delete" +msgstr "Jêbirin nayê kirin" + +#: src/options/auth.js:14 msgid "Unauthorized" msgstr "Bêmaf" -#: src/component/photo/edit/people.vue:94 +#: src/component/photo/edit/people.vue:95 msgid "Undo" msgstr "Betal bike" @@ -3097,16 +3136,16 @@ msgstr "Betal bike" msgid "Unique ID" msgstr "IDـی بێ هاوتا" -#: src/page/settings/account.vue:451 src/page/settings/account.vue:476 -#: src/page/settings/account.vue:501 src/common/util.js:487 -#: src/component/photo/edit/details.vue:21 -#: src/component/photo/edit/details.vue:111 -#: src/component/photo/edit/details.vue:138 -#: src/component/photo/edit/details.vue:164 src/component/sidebar/info.vue:43 -#: src/model/album.js:193 src/model/photo.js:323 src/model/photo.js:784 -#: src/model/photo.js:809 src/model/photo.js:832 src/model/photo.js:850 -#: src/model/photo.js:897 src/model/photo.js:905 src/model/photo.js:994 -#: src/model/photo.js:1016 src/model/photo.js:1061 src/model/photo.js:1074 +#: src/page/settings/account.vue:457 src/page/settings/account.vue:482 +#: src/page/settings/account.vue:507 src/common/util.js:488 +#: src/component/photo/edit/details.vue:27 +#: src/component/photo/edit/details.vue:113 +#: src/component/photo/edit/details.vue:140 +#: src/component/photo/edit/details.vue:166 src/component/sidebar/info.vue:43 +#: src/model/album.js:193 src/model/photo.js:331 src/model/photo.js:821 +#: src/model/photo.js:846 src/model/photo.js:869 src/model/photo.js:887 +#: src/model/photo.js:934 src/model/photo.js:942 src/model/photo.js:1031 +#: src/model/photo.js:1053 src/model/photo.js:1098 src/model/photo.js:1111 #: src/model/user.js:157 src/options/options.js:51 src/options/options.js:69 #: src/options/options.js:86 src/options/options.js:100 #: src/options/options.js:112 src/page/library/errors.vue:251 @@ -3119,7 +3158,7 @@ msgstr "نەزانراو" msgid "Unregistered" msgstr "Neqeydkirî" -#: src/app/routes.js:215 src/component/navigation.vue:644 +#: src/app/routes.js:223 src/component/navigation.vue:648 msgid "Unsorted" msgstr "پۆلێن نەکراوە" @@ -3127,7 +3166,7 @@ msgstr "پۆلێن نەکراوە" msgid "Unstack" msgstr "دەرهێنان لە کەڵەکە" -#: src/component/photo/edit/files.vue:519 src/component/photo/edit/info.vue:416 +#: src/component/photo/edit/files.vue:521 src/component/photo/edit/info.vue:416 msgid "Updated" msgstr "بارکرا" @@ -3143,7 +3182,7 @@ msgstr "نوێکردنەوەی نیشانە" msgid "Updating moments" msgstr "نوێکردنەوەی ساتەکان" -#: src/component/user/edit/dialog.vue:154 +#: src/component/user/edit/dialog.vue:155 msgid "Updating picture…" msgstr "Rojanekirina pêşdîtinan" @@ -3155,21 +3194,21 @@ msgstr "Rojanekirina pêşdîtinan" msgid "Updating stacks" msgstr "نوێکردنەوەی کەڵەکەکان" -#: src/page/connect.vue:57 src/component/navigation.vue:1500 -#: src/component/navigation.vue:1614 src/component/navigation.vue:1999 +#: src/page/connect.vue:57 src/component/navigation.vue:1526 +#: src/component/navigation.vue:1644 src/component/navigation.vue:2047 #: src/page/connect.vue:58 msgid "Upgrade" msgstr "Upgrade" -#: src/page/about/about.vue:123 src/page/connect.vue:202 -#: src/component/confirm/sponsor.vue:98 src/page/about/about.vue:113 -#: src/page/connect.vue:206 +#: src/page/about/about.vue:124 src/page/connect.vue:204 +#: src/component/confirm/sponsor.vue:99 src/page/about/about.vue:114 +#: src/page/connect.vue:208 msgid "Upgrade Now" msgstr "Nûvekirina Niha" -#: src/component/album/toolbar.vue:108 src/component/navigation.vue:1824 -#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:144 -#: src/component/upload/dialog.vue:51 src/page/albums.vue:183 +#: src/component/album/toolbar.vue:113 src/component/navigation.vue:1860 +#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:145 +#: src/component/upload/dialog.vue:51 src/page/albums.vue:185 #: src/page/labels.vue:122 src/page/library/import.vue:133 #: src/page/settings/general.vue:307 src/page/settings/services.vue:38 msgid "Upload" @@ -3179,21 +3218,21 @@ msgstr "بارکردن" msgid "Upload complete" msgstr "بارکردنەکە تەواو" -#: src/component/upload/dialog.vue:133 +#: src/component/upload/dialog.vue:135 msgid "Upload complete. Indexing…" msgstr "بارکردن تەواو بوو. نیشانەکردن…" #: src/component/upload/dialog.vue:296 src/component/upload/dialog.vue:315 -#: src/component/upload/dialog.vue:129 +#: src/component/upload/dialog.vue:131 msgid "Upload failed" msgstr "بارکردنەکە سەرکەوتوو نەبوو" -#: src/component/service/edit.vue:257 +#: src/component/service/edit.vue:258 msgid "Upload local files" msgstr "بارکردنی فایلە ناوخۆییەکان" -#: src/component/user/edit/dialog.vue:380 #: src/component/user/edit/dialog.vue:381 +#: src/component/user/edit/dialog.vue:382 msgid "Upload Path" msgstr "Rêya barkirin" @@ -3201,7 +3240,7 @@ msgstr "Rêya barkirin" msgid "Upload to WebDAV and share links with friends." msgstr "بارکردن بۆ WebDAV و هاوبەشکردنی بەستەرەکان لەگەڵ هاوڕێیانت." -#: src/component/upload/dialog.vue:131 +#: src/component/upload/dialog.vue:133 msgid "Uploading %{n} of %{t}…" msgstr "بارکردنی %{n} لە %{t}…" @@ -3214,7 +3253,7 @@ msgstr "فۆتۆکان بار دەبن…" msgid "Uploading…" msgstr "دووبارە بارکردن…" -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Uploads that may contain such images will be rejected automatically." msgstr "بارکردنەکان کە لەوانەیە ئەم جۆرە وێنانە لەخۆە بگرێ بە شێوەیەکی خۆکار ڕەت دەکرێنەوە." @@ -3222,7 +3261,7 @@ msgstr "بارکردنەکان کە لەوانەیە ئەم جۆرە وێنان msgid "Use Presets" msgstr "بەکارهێنانی پێش ڕێکخستنەکان" -#: src/component/settings/passcode.vue:283 +#: src/component/settings/passcode.vue:286 msgid "Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:" msgstr "Dema ku hûn nikaribin bi sepana xweya erêkirinê re kodek verastkirinê ya derbasdar biafirînin, koda vegerandina jêrîn bikar bînin da ku bigihîjin hesabê xwe:" @@ -3230,12 +3269,12 @@ msgstr "Dema ku hûn nikaribin bi sepana xweya erêkirinê re kodek verastkirin msgid "Use your recovery code or contact an administrator for help." msgstr "Koda vegerandina xwe bikar bînin an ji bo alîkariyê bi rêveberek re têkilî daynin." -#: src/options/admin.js:10 src/page/admin/sessions.vue:59 -#: src/page/admin/sessions.vue:242 src/model/user.js:361 src/options/auth.js:7 +#: src/options/admin.js:14 src/page/admin/sessions.vue:59 +#: src/page/admin/sessions.vue:243 src/model/user.js:361 src/options/auth.js:8 msgid "User" msgstr "بەکارهێنەر" -#: src/component/navigation.vue:1979 +#: src/component/navigation.vue:2025 msgid "User Guide" msgstr "Rehbera bikaranînê" @@ -3243,14 +3282,14 @@ msgstr "Rehbera bikaranînê" msgid "User Interface" msgstr "بەکارهێنەری ڕووکار" -#: src/component/user/add/dialog.vue:87 src/component/user/add/dialog.vue:88 -#: src/page/admin/sessions.vue:220 src/page/admin/users.vue:71 -#: src/component/service/add.vue:85 src/component/service/edit.vue:337 +#: src/component/user/add/dialog.vue:88 src/component/user/add/dialog.vue:89 +#: src/page/admin/sessions.vue:221 src/page/admin/users.vue:73 +#: src/component/service/add.vue:86 src/component/service/edit.vue:338 #: src/component/share/dialog.vue:26 msgid "Username" msgstr "ناوی بەکارهێنەر" -#: src/component/navigation.vue:1435 +#: src/component/navigation.vue:1461 msgid "Users" msgstr "Bikarhêner" @@ -3260,18 +3299,18 @@ msgstr "Bikarhêner" msgid "Vector" msgstr "Vektor" -#: src/component/navigation.vue:440 +#: src/component/navigation.vue:442 msgid "Vectors" msgstr "Vectors" -#: src/component/settings/passcode.vue:227 src/page/auth/login.vue:144 +#: src/component/settings/passcode.vue:230 src/page/auth/login.vue:144 msgid "Verification Code" msgstr "Koda verastkirinê" #: src/component/photo/view/cards.vue:363 #: src/component/photo/view/cards.vue:491 src/component/photo/view/list.vue:190 #: src/component/photo/view/mosaic.vue:207 src/model/file.js:221 -#: src/model/photo.js:921 src/model/photo.js:939 src/options/options.js:293 +#: src/model/photo.js:958 src/model/photo.js:976 src/options/options.js:293 msgid "Video" msgstr "ڤیدیۆ" @@ -3280,12 +3319,12 @@ msgstr "ڤیدیۆ" msgid "Video Duration" msgstr "بەخشینەکان" -#: src/app/routes.js:243 src/component/navigation.vue:728 +#: src/app/routes.js:251 src/component/navigation.vue:734 #: src/options/options.js:200 msgid "Videos" msgstr "ڤیدیۆکان" -#: src/component/photo/toolbar.vue:261 src/component/photo/view/cards.vue:350 +#: src/component/photo/toolbar.vue:263 src/component/photo/view/cards.vue:350 #: src/component/photo/view/mosaic.vue:194 msgid "View" msgstr "بینین" @@ -3294,11 +3333,11 @@ msgstr "بینین" msgid "View search results as a list." msgstr "Encamên lêgerînê wekî navnîşek bibînin." -#: src/options/admin.js:14 src/options/auth.js:8 +#: src/options/admin.js:18 src/options/auth.js:9 msgid "Viewer" msgstr "Temaşeker" -#: src/page/admin/sessions.vue:271 src/options/auth.js:12 +#: src/page/admin/sessions.vue:272 src/options/auth.js:13 msgid "Visitor" msgstr "Serda" @@ -3310,34 +3349,34 @@ msgstr "گروپکردن بە پێی هاوشێوەیی" msgid "Warning" msgstr "Gazî" -#: src/page/about/feedback.vue:60 +#: src/page/about/feedback.vue:61 msgid "We appreciate your feedback!" msgstr "Em spasiya nêrîna we dikin!" -#: src/page/about/feedback.vue:63 +#: src/page/about/feedback.vue:64 msgid "We do our best to respond within five business days or less." msgstr "Em çêtirîn dikin ku di nav pênc rojên karsaziyê an kêmtir de bersiv bidin." -#: src/component/user/add/dialog.vue:235 src/component/user/edit/dialog.vue:415 -#: src/page/admin/users.vue:80 +#: src/component/user/add/dialog.vue:236 src/component/user/edit/dialog.vue:416 +#: src/page/admin/users.vue:82 msgid "Web Login" msgstr "Têketina Webê" -#: src/component/user/add/dialog.vue:248 src/component/user/edit/dialog.vue:432 -#: src/page/admin/users.vue:82 src/options/auth.js:55 src/options/auth.js:68 +#: src/component/user/add/dialog.vue:249 src/component/user/edit/dialog.vue:433 +#: src/page/admin/users.vue:84 src/options/auth.js:56 src/options/auth.js:69 #: src/options/options.js:444 msgid "WebDAV" msgstr "WebDAV" -#: src/component/settings/webdav.vue:51 +#: src/component/settings/webdav.vue:52 msgid "WebDAV clients can connect to PhotoPrism using the following URL:" msgstr "ڕاژەخوازەکانی WebDAV دەتوانن پەیوەندی بکەن بە فۆتۆپریزمەوە بە بەکارهێنانی ئەم URLەی خوارەوە:" -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism." msgstr "ڕاژەخوازەکانی WebDAV، وەک Windows Explorer ی Microsoft یانFinderی Apple، دەتوانن ڕاستەوخۆ بە PhotoPrism ەوە ببەسترێنەوە." -#: src/component/service/upload.vue:50 src/component/share/dialog.vue:220 +#: src/component/service/upload.vue:51 src/component/share/dialog.vue:220 msgid "WebDAV Upload" msgstr "WebDAV Upload" @@ -3345,8 +3384,8 @@ msgstr "WebDAV Upload" msgid "WebGL support is disabled in your browser" msgstr "Piştgiriya WebGL di geroka we de neçalak e" -#: src/page/settings/account.vue:615 src/page/settings/account.vue:709 -#: src/page/settings/account.vue:601 +#: src/page/settings/account.vue:621 src/page/settings/account.vue:715 +#: src/page/settings/account.vue:607 msgid "Website" msgstr "Website" @@ -3354,12 +3393,12 @@ msgstr "Website" msgid "White" msgstr "سپی" -#: src/page/settings/account.vue:532 +#: src/page/settings/account.vue:538 msgid "Work Details" msgstr "زانیاری زیاتر" -#: src/page/settings/account.vue:500 src/component/photo/edit/details.vue:163 -#: src/component/photo/toolbar.vue:315 src/page/albums.vue:159 +#: src/page/settings/account.vue:506 src/component/photo/edit/details.vue:165 +#: src/component/photo/toolbar.vue:317 src/page/albums.vue:159 msgid "Year" msgstr "ساڵ" @@ -3367,21 +3406,21 @@ msgstr "ساڵ" msgid "Yellow" msgstr "زەرد" -#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:58 -#: src/component/photo/archive/dialog.vue:58 +#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:59 +#: src/component/photo/archive/dialog.vue:59 #: src/component/photo/clipboard.vue:200 src/component/photo/edit/files.vue:365 #: src/component/photo/edit/files.vue:395 #: src/component/photo/edit/files.vue:401 #: src/component/photo/edit/files.vue:407 -#: src/component/photo/edit/files.vue:510 src/component/photo/edit/info.vue:281 +#: src/component/photo/edit/files.vue:512 src/component/photo/edit/info.vue:281 #: src/component/photo/edit/info.vue:297 src/component/photo/edit/info.vue:313 #: src/component/photo/edit/info.vue:329 src/component/photo/edit/info.vue:344 -#: src/component/photo/toolbar.vue:434 +#: src/component/photo/toolbar.vue:436 msgid "Yes" msgstr "بەڵێ" -#: src/component/confirm/sponsor.vue:59 src/page/about/about.vue:158 -#: src/page/connect.vue:315 +#: src/component/confirm/sponsor.vue:60 src/page/about/about.vue:160 +#: src/page/connect.vue:317 msgid "You are welcome to contact us at membership@photoprism.app for questions regarding your membership." msgstr "Hûn bi xêr hatin ku ji bo pirsên di derbarê endametiya xwe de bi me re têkilî daynin endamên@photoprism.app." @@ -3393,7 +3432,11 @@ msgstr "تۆ تەنها دەتوانی یەك ئەلبوم داگریت" msgid "You can only download one label" msgstr "تۆ تەنها دەتوانی یەك پێناس داگریت" -#: src/component/upload/dialog.vue:203 +#: src/component/location/dialog.vue:178 +msgid "You can search for a location or move the marker on the map to change the position:" +msgstr "Hûn dikarin li cîhek bigerin an jî nîşankerê li ser nexşeyê biguhezînin da ku pozîsyonê biguherînin:" + +#: src/component/upload/dialog.vue:205 msgid "You can upload up to %{n} files for test purposes." msgstr "Hûn dikarin heta %{n} pelan ji bo armancên ceribandinê bar bikin." @@ -3406,7 +3449,7 @@ msgstr "دەتوانیت تەنها یەک ئایتم دیاریبکەیت" msgid "You may rescan your library to find additional faces." msgstr "Hûn dikarin pirtûkxaneya xwe ji bo dîtina rûyên zêde ji nû ve şeh bikin." -#: src/page/connect.vue:146 src/page/connect.vue:150 +#: src/page/connect.vue:147 src/page/connect.vue:151 msgid "Your account has been successfully connected." msgstr "Hesabê we bi serkeftî hate girêdan." @@ -3414,8 +3457,8 @@ msgstr "Hesabê we bi serkeftî hate girêdan." msgid "Your browser does not support WebGL" msgstr "Geroka we WebGL piştgirî nake" -#: src/component/confirm/sponsor.vue:43 src/page/about/about.vue:97 -#: src/page/about/about.vue:156 src/page/connect.vue:220 +#: src/component/confirm/sponsor.vue:44 src/page/about/about.vue:98 +#: src/page/about/about.vue:158 src/page/connect.vue:222 msgid "Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy." msgstr "Piştgiriya weya domdar ji me re dibe alîkar ku em lêçûnên xebitandinê fînanse bikin, karûbarên wekî nexşeyên satelîtê peyda bikin, û taybetmendiyên nû pêşve bixin." @@ -3496,9 +3539,6 @@ msgstr "گەورەکردن/بچووکردن" #~ msgid "Open Folder" #~ msgstr "Peldanka veke" -#~ msgid "Cannot copy to clipboard" -#~ msgstr "Nikare li clipboardê kopî bike" - #~ msgid "Sound" #~ msgstr "Rengdan" @@ -4144,9 +4184,6 @@ msgstr "گەورەکردن/بچووکردن" #~ msgid "More than 50 results" #~ msgstr "زیاتر لە ٥٠ ئەنجام" -#~ msgid "No results" -#~ msgstr "هیچ ئەنجامێک" - #~ msgid "Not implemented yet" #~ msgstr "هێشتا جێبەجێ نەکراوە" diff --git a/frontend/src/locales/lt.po b/frontend/src/locales/lt.po index 6f56b847f..2be35fcbb 100644 --- a/frontend/src/locales/lt.po +++ b/frontend/src/locales/lt.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: ci@photoprism.app\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2025-04-04 08:03+0000\n" +"PO-Revision-Date: 2025-07-06 08:58+0000\n" "Last-Translator: DeepL \n" "Language-Team: Lithuanian \n" "Language: lt\n" @@ -11,7 +11,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n % 10 == 1 && (n % 100 < 11 || n % 100 > 19)) ? 0 : ((n % 10 >= 2 && n % 10 <= 9 && (n % 100 < 11 || n % 100 > 19)) ? 1 : 2);\n" -"X-Generator: Weblate 5.10.4\n" +"X-Generator: Weblate 5.12.2\n" "Generated-By: easygettext\n" #: src/locales.js:268 @@ -42,7 +42,7 @@ msgstr "{0} pasirinkta" msgid "{0}-{1} of {2}" msgstr "{0}-{1} iš {2}" -#: src/page/albums.vue:612 +#: src/page/albums.vue:617 msgid "%{n} albums found" msgstr "%{n} rasti albumai" @@ -50,25 +50,25 @@ msgstr "%{n} rasti albumai" msgid "%{n} files uploaded" msgstr "%{n} įkelti failai" -#: src/page/library/browse.vue:362 +#: src/page/library/browse.vue:364 msgid "%{n} folders found" msgstr "rasta %{n} aplankų" -#: src/component/navigation.vue:1676 +#: src/component/navigation.vue:1707 msgid "%{n} GB of %{q} GB used" msgstr "%{n} GB iš %{q} GB panaudota" -#: src/page/labels.vue:528 +#: src/page/labels.vue:533 msgid "%{n} labels found" msgstr "rasta %{n} etikečių" -#: src/page/people/new.vue:350 src/page/people/new.vue:447 -#: src/page/people/recognized.vue:536 +#: src/page/people/new.vue:350 src/page/people/new.vue:450 +#: src/page/people/recognized.vue:541 msgid "%{n} people found" msgstr "rasta %{n} žmonių" -#: src/page/album/photos.vue:308 src/page/album/photos.vue:493 -#: src/page/photos.vue:441 src/page/photos.vue:631 +#: src/page/album/photos.vue:313 src/page/album/photos.vue:504 +#: src/page/photos.vue:446 src/page/photos.vue:641 msgid "%{n} pictures found" msgstr "rasta %{n} paveikslėlių" @@ -88,12 +88,12 @@ msgstr "1 val." msgid "12 hours" msgstr "12 valandų" -#: src/component/user/edit/dialog.vue:452 src/page/settings/account.vue:324 -#: src/component/settings/passcode.vue:75 +#: src/component/user/edit/dialog.vue:453 src/page/settings/account.vue:325 +#: src/component/settings/passcode.vue:78 msgid "2-Factor Authentication" msgstr "2 veiksnių autentiškumo nustatymas" -#: src/component/user/edit/dialog.vue:451 src/options/auth.js:46 +#: src/component/user/edit/dialog.vue:452 src/options/auth.js:47 msgid "2FA" msgstr "2FA" @@ -109,20 +109,20 @@ msgstr "Paspaudę jį nukopijuosite į iškarpinę." msgid "A new version of %{s} is available:" msgstr "Pasirodė nauja %{s} versija:" -#: src/component/user/edit/dialog.vue:233 -#: src/component/user/edit/dialog.vue:234 src/page/about/about.vue:56 +#: src/component/user/edit/dialog.vue:234 +#: src/component/user/edit/dialog.vue:235 src/page/about/about.vue:56 #: src/page/settings/account.vue:248 src/page/settings/account.vue:249 -#: src/app/routes.js:63 src/component/navigation.vue:1521 -#: src/page/people/recognized.vue:292 +#: src/app/routes.js:63 src/component/navigation.vue:1547 +#: src/page/people/recognized.vue:296 msgid "About" msgstr "Apie" -#: src/options/auth.js:26 src/options/auth.js:44 +#: src/options/auth.js:27 src/options/auth.js:45 msgid "Access Token" msgstr "Prieigos žetonas" -#: src/component/navigation.vue:87 src/component/navigation.vue:1788 -#: src/component/service/upload.vue:71 src/model/service.js:96 +#: src/component/navigation.vue:87 src/component/navigation.vue:1822 +#: src/component/service/upload.vue:72 src/model/service.js:96 #: src/model/user.js:171 src/page/settings.vue:85 #: src/page/settings/general.vue:582 msgid "Account" @@ -136,7 +136,7 @@ msgstr "Sukurta paskyra" msgid "Account deleted" msgstr "Ištrinta paskyra" -#: src/page/admin/users.vue:335 +#: src/page/admin/users.vue:337 msgid "Account restored" msgstr "Atkurta paskyra" @@ -157,8 +157,8 @@ msgstr "Veiksmas" msgid "Actions" msgstr "Veiksmai" -#: src/page/connect.vue:294 src/component/settings/passcode.vue:346 -#: src/page/connect.vue:303 +#: src/page/connect.vue:296 src/component/settings/passcode.vue:349 +#: src/page/connect.vue:305 msgid "Activate" msgstr "Suaktyvinti" @@ -174,20 +174,20 @@ msgstr "Aktyvuokite, kad rūšiuotumėte didėjančia tvarka." msgid "Activate to sort descending." msgstr "Aktyvuokite, jei norite rūšiuoti mažėjančia tvarka." -#: src/page/connect.vue:231 src/page/connect.vue:240 +#: src/page/connect.vue:233 src/page/connect.vue:242 msgid "Activation Code" msgstr "Aktyvinimo kodas" -#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:83 -#: src/component/settings/apps.vue:448 +#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:92 +#: src/component/settings/apps.vue:451 msgid "Add" msgstr "Pridėti" -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:246 msgid "Add %{s}?" msgstr "Pridėti %{vardas}?" -#: src/component/user/add/dialog.vue:56 src/component/service/add.vue:49 +#: src/component/user/add/dialog.vue:57 src/component/service/add.vue:50 msgid "Add Account" msgstr "Redaguoti paskyrą" @@ -204,8 +204,8 @@ msgid "Add Link" msgstr "Pridėti nuorodą" #: src/component/photo/edit/people.vue:25 -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:57 -#: src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:57 +#: src/page/people/new.vue:246 msgid "Add person?" msgstr "Pridėti asmenį?" @@ -221,10 +221,15 @@ msgstr "Pridėkite nuotraukas iš paieškos rezultatų jas pasirinkdami." msgid "Add to album" msgstr "Pridėti į albumą" -#: src/component/photo/edit/files.vue:514 +#: src/component/photo/edit/files.vue:516 msgid "Added" msgstr "Pridėta" +#: src/component/location/dialog.vue:68 src/component/location/dialog.vue:90 +#: src/component/photo/edit/details.vue:246 +msgid "Adjust Location" +msgstr "Sureguliuokite vietą" + #: src/options/admin.js:6 src/options/auth.js:6 msgid "Admin" msgstr "Administratorius" @@ -245,7 +250,7 @@ msgstr "Po 3 dienų" msgid "After 7 days" msgstr "Po 7 dienų" -#: src/component/settings/passcode.vue:93 +#: src/component/settings/passcode.vue:96 msgid "After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:" msgstr "Įvedę slaptažodį patvirtinimui, galite nustatyti dviejų veiksnių autentifikavimą naudodami suderinamą autentifikavimo programą arba įrenginį:" @@ -277,12 +282,16 @@ msgstr "Albumas" msgid "Album Backups" msgstr "Albumo atsarginės kopijos" -#: src/page/albums.vue:674 +#: src/page/albums.vue:685 msgid "Album created" msgstr "Sukurtas albumas" -#: src/app/routes.js:176 src/component/album/toolbar.vue:51 -#: src/component/navigation.vue:604 src/component/navigation.vue:1882 +#: src/page/album/photos.vue:589 +msgid "Album deleted" +msgstr "Ištrintas albumas" + +#: src/app/routes.js:184 src/component/album/toolbar.vue:55 +#: src/component/navigation.vue:607 src/component/navigation.vue:1922 #: src/component/photo/edit/info.vue:220 src/options/options.js:198 msgid "Albums" msgstr "Albumai" @@ -295,7 +304,7 @@ msgstr "Ištrinti albumai" msgid "All" msgstr "Visi" -#: src/page/albums.vue:465 +#: src/page/albums.vue:470 msgid "All %{n} albums loaded" msgstr "Įkelti visi %{n} albumai" @@ -311,8 +320,8 @@ msgstr "Įkelti visi %{n} žmonės" msgid "All Cameras" msgstr "Visi fotoaparatai" -#: src/component/photo/toolbar.vue:74 src/page/albums.vue:44 -#: src/page/albums.vue:240 src/page/albums.vue:746 +#: src/component/photo/toolbar.vue:74 src/page/albums.vue:45 +#: src/page/albums.vue:242 src/page/albums.vue:757 msgid "All Categories" msgstr "Visos kategorijos" @@ -344,7 +353,7 @@ msgstr "Visi mėnesiai" msgid "All originals" msgstr "Visi originalai" -#: src/component/photo/toolbar.vue:76 src/page/albums.vue:93 +#: src/component/photo/toolbar.vue:76 src/page/albums.vue:94 msgid "All Years" msgstr "Visi metai" @@ -356,7 +365,7 @@ msgstr "Taip pat galite įkelti failus tiesiai į WebDAV serverius, pvz., \"Next msgid "Altitude" msgstr "Aukštis" -#: src/component/photo/edit/details.vue:272 +#: src/component/photo/edit/details.vue:297 msgid "Altitude (m)" msgstr "Aukštis (m)" @@ -364,8 +373,7 @@ msgstr "Aukštis (m)" msgid "AM" msgstr "AM" -#: src/app/routes.js:257 src/component/navigation.vue:791 -#: src/component/photo/edit/files.vue:364 +#: src/app/routes.js:265 src/component/photo/edit/files.vue:364 #: src/component/photo/view/cards.vue:327 #: src/component/photo/view/cards.vue:511 src/component/photo/view/list.vue:184 #: src/component/photo/view/mosaic.vue:171 src/options/options.js:301 @@ -376,43 +384,47 @@ msgstr "Animuota" msgid "Animation" msgstr "Animacija" +#: src/component/navigation.vue:797 +msgid "Animations" +msgstr "Animacija" + #: src/component/share/dialog.vue:207 msgid "Any private photos and videos remain private and won't be shared." msgstr "Visos privačios nuotraukos ir vaizdo įrašai išlieka privatūs ir jais nebus dalijamasi." -#: src/component/service/edit.vue:372 +#: src/component/service/edit.vue:373 msgid "API Key" msgstr "API raktas" -#: src/page/admin/sessions.vue:357 src/options/auth.js:25 +#: src/page/admin/sessions.vue:361 src/options/auth.js:26 msgid "Application" msgstr "Paraiška" -#: src/component/photo/edit/details.vue:641 +#: src/component/photo/edit/details.vue:615 msgid "Apply" msgstr "Taikyti" #: src/component/photo/clipboard.vue:64 -#: src/component/photo/edit/details.vue:640 +#: src/component/photo/edit/details.vue:614 #: src/component/photo/view/cards.vue:416 msgid "Approve" msgstr "Patvirtinti" -#: src/page/settings/account.vue:374 src/component/settings/apps.vue:91 +#: src/page/settings/account.vue:378 src/component/settings/apps.vue:94 msgid "Apps and Devices" msgstr "Programėlės ir įrenginiai" -#: src/app/routes.js:287 src/component/lightbox.vue:1207 -#: src/component/navigation.vue:555 src/component/photo/clipboard.vue:142 +#: src/app/routes.js:295 src/component/lightbox.vue:1207 +#: src/component/navigation.vue:557 src/component/photo/clipboard.vue:142 #: src/component/photo/view/cards.vue:398 src/page/settings/general.vue:432 msgid "Archive" msgstr "Archyvas" -#: src/component/lightbox.vue:1982 src/component/photo/edit/info.vue:433 +#: src/component/lightbox.vue:2002 src/component/photo/edit/info.vue:433 msgid "Archived" msgstr "Archyvuota" -#: src/component/photo/archive/dialog.vue:34 +#: src/component/photo/archive/dialog.vue:35 msgid "Are you sure you want to archive the selection?" msgstr "Ar tikrai norite archyvuoti pasirinkimą?" @@ -420,19 +432,23 @@ msgstr "Ar tikrai norite archyvuoti pasirinkimą?" msgid "Are you sure you want to delete these albums?" msgstr "Ar tikrai norite ištrinti šiuos albumus?" -#: src/component/label/delete/dialog.vue:34 +#: src/component/label/delete/dialog.vue:35 msgid "Are you sure you want to delete these labels?" msgstr "Ar tikrai norite ištrinti šias etiketes?" -#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:36 +#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:37 msgid "Are you sure you want to delete this account?" msgstr "Ar tikrai norite ištrinti šią paskyrą?" +#: src/component/album/toolbar.vue:136 +msgid "Are you sure you want to delete this album?" +msgstr "Ar tikrai norite ištrinti šį albumą?" + #: src/component/photo/clipboard.vue:199 msgid "Are you sure you want to permanently delete these pictures?" msgstr "Ar tikrai norite visam laikui ištrinti šias nuotraukas?" -#: src/component/file/delete/dialog.vue:34 +#: src/component/file/delete/dialog.vue:35 msgid "Are you sure you want to permanently delete this file?" msgstr "Ar tikrai norite visam laikui ištrinti šį failą?" @@ -441,7 +457,7 @@ msgstr "Ar tikrai norite visam laikui ištrinti šį failą?" msgid "Are you sure?" msgstr "Ar esate tikri?" -#: src/component/photo/edit/details.vue:537 +#: src/component/photo/edit/details.vue:511 msgid "Artist" msgstr "Menininkas" @@ -449,14 +465,14 @@ msgstr "Menininkas" msgid "Aspect Ratio" msgstr "Kraštinių santykis" -#: src/app/routes.js:250 src/component/navigation.vue:770 +#: src/app/routes.js:258 src/component/navigation.vue:776 #: src/options/options.js:297 msgid "Audio" msgstr "Garso" -#: src/component/user/add/dialog.vue:190 src/component/user/edit/dialog.vue:309 -#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:281 -#: src/page/admin/users.vue:75 +#: src/component/user/add/dialog.vue:191 src/component/user/edit/dialog.vue:310 +#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:282 +#: src/page/admin/users.vue:77 msgid "Authentication" msgstr "Autentiškumo nustatymas" @@ -464,11 +480,11 @@ msgstr "Autentiškumo nustatymas" msgid "Auto" msgstr "Automatinis" -#: src/component/settings/apps.vue:151 +#: src/component/settings/apps.vue:154 msgid "Back" msgstr "Atgal" -#: src/component/scroll.vue:20 +#: src/component/scroll.vue:18 msgid "Back to top" msgstr "Grįžti į viršų" @@ -480,26 +496,26 @@ msgstr "Atsarginė kopija" msgid "Badge" msgstr "Ženkliukas" -#: src/component/user/edit/dialog.vue:361 #: src/component/user/edit/dialog.vue:362 +#: src/component/user/edit/dialog.vue:363 msgid "Base Path" msgstr "Bazinis kelias" -#: src/page/about/about.vue:95 src/page/connect.vue:220 +#: src/page/about/about.vue:96 src/page/connect.vue:222 msgid "Become a member today, support our mission and enjoy our member benefits!" msgstr "Tapkite nariu šiandien, paremkite mūsų misiją ir naudokitės nario privilegijomis!" -#: src/component/confirm/sponsor.vue:51 src/page/about/about.vue:99 +#: src/component/confirm/sponsor.vue:52 src/page/about/about.vue:100 msgid "Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services." msgstr "Kadangi esame 100 % savarankiškai finansuojami ir nepriklausomi, galime pažadėti, kad niekada neparduosime jūsų duomenų ir visada skaidriai informuosime apie savo programinę įrangą ir paslaugas." -#: src/component/user/edit/dialog.vue:258 -#: src/component/user/edit/dialog.vue:259 src/page/settings/account.vue:227 +#: src/component/user/edit/dialog.vue:259 +#: src/component/user/edit/dialog.vue:260 src/page/settings/account.vue:227 #: src/page/settings/account.vue:228 msgid "Bio" msgstr "Bio" -#: src/page/settings/account.vue:431 +#: src/page/settings/account.vue:437 msgid "Birth Date" msgstr "Gimimo data" @@ -520,7 +536,7 @@ msgid "Brown" msgstr "Ruda" #: src/component/photo/edit/files.vue:263 src/component/photo/toolbar.vue:141 -#: src/component/upload/dialog.vue:240 +#: src/component/upload/dialog.vue:242 msgid "Browse" msgstr "Naršykite" @@ -548,16 +564,16 @@ msgstr "Pranešimas apie klaidą" msgid "Busy, please wait…" msgstr "Užimtas, palaukite…" -#: src/page/connect.vue:317 +#: src/page/connect.vue:319 msgid "By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct." msgstr "Naudodamiesi mūsų teikiama programine įranga ir paslaugomis, sutinkate su mūsų paslaugų teikimo sąlygomis, privatumo politika ir elgesio kodeksu." -#: src/app/routes.js:189 src/component/navigation.vue:1081 +#: src/app/routes.js:197 src/component/navigation.vue:1097 #: src/options/options.js:204 src/page/settings/general.vue:205 msgid "Calendar" msgstr "Kalendorius" -#: src/component/photo/edit/details.vue:346 src/component/photo/toolbar.vue:232 +#: src/component/photo/edit/details.vue:320 src/component/photo/toolbar.vue:234 #: src/component/photo/view/cards.vue:467 src/component/photo/view/list.vue:116 msgid "Camera" msgstr "Fotoaparatas" @@ -570,12 +586,12 @@ msgstr "Kameros serijinis" msgid "Can't access your authenticator app or device?" msgstr "Negalite prisijungti prie autentifikatoriaus programos arba įrenginio?" -#: src/page/album/photos.vue:317 src/page/photos.vue:450 +#: src/page/album/photos.vue:322 src/page/photos.vue:455 msgid "Can't load more, limit reached" msgstr "Negalima įkelti daugiau, pasiekta riba" #: src/common/clipboard.js:102 src/common/clipboard.js:139 -#: src/page/albums.vue:684 src/page/albums.vue:700 src/page/labels.vue:293 +#: src/page/albums.vue:695 src/page/albums.vue:711 src/page/labels.vue:293 #: src/page/labels.vue:313 src/page/library/browse.vue:233 #: src/page/library/browse.vue:249 src/page/people/new.vue:278 #: src/page/people/new.vue:294 src/page/people/recognized.vue:305 @@ -584,26 +600,31 @@ msgid "Can't select more items" msgstr "Negalima pasirinkti daugiau elementų" #: src/component/session/remove/dialog.vue:45 -#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:473 -#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:119 +#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:474 +#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:120 #: src/component/album/delete/dialog.vue:43 -#: src/component/album/edit/dialog.vue:199 src/component/confirm/dialog.vue:43 -#: src/component/file/delete/dialog.vue:47 -#: src/component/label/delete/dialog.vue:47 -#: src/component/label/edit/dialog.vue:107 -#: src/component/people/edit/dialog.vue:120 +#: src/component/album/edit/dialog.vue:200 src/component/confirm/dialog.vue:43 +#: src/component/file/delete/dialog.vue:48 +#: src/component/label/delete/dialog.vue:48 +#: src/component/label/edit/dialog.vue:108 +#: src/component/location/dialog.vue:200 +#: src/component/people/edit/dialog.vue:121 #: src/component/photo/album/dialog.vue:78 src/component/service/add.vue:19 -#: src/component/service/edit.vue:455 src/component/service/remove.vue:49 -#: src/component/service/upload.vue:117 src/component/settings/apps.vue:352 -#: src/component/settings/passcode.vue:249 -#: src/component/settings/passcode.vue:333 -#: src/component/settings/password.vue:159 src/component/share/dialog.vue:28 -#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:123 +#: src/component/service/edit.vue:456 src/component/service/remove.vue:50 +#: src/component/service/upload.vue:118 src/component/settings/apps.vue:355 +#: src/component/settings/passcode.vue:252 +#: src/component/settings/passcode.vue:336 +#: src/component/settings/password.vue:160 src/component/share/dialog.vue:28 +#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:124 #: src/page/library/import.vue:119 src/page/library/index.vue:128 msgid "Cancel" msgstr "Atšaukti" -#: src/component/photo/edit/details.vue:87 src/component/photo/edit/info.vue:61 +#: src/common/util.js:863 src/common/util.js:870 +msgid "Cannot copy to clipboard" +msgstr "Negalima kopijuoti į iškarpinę" + +#: src/component/photo/edit/details.vue:89 src/component/photo/edit/info.vue:63 #: src/component/photo/edit/labels.vue:42 #: src/component/photo/view/cards.vue:445 src/component/sidebar/info.vue:72 msgid "Caption" @@ -617,17 +638,17 @@ msgstr "Kortelės" msgid "Carousel slide {0} of {1}" msgstr "Karuselinė skaidrė {0} iš {1}" -#: src/page/about/feedback.vue:82 src/page/about/feedback.vue:83 -#: src/component/album/edit/dialog.vue:128 src/component/photo/toolbar.vue:397 +#: src/page/about/feedback.vue:83 src/page/about/feedback.vue:84 +#: src/component/album/edit/dialog.vue:129 src/component/photo/toolbar.vue:399 #: src/page/albums.vue:187 msgid "Category" msgstr "Kategorija" -#: src/component/user/edit/dialog.vue:191 src/page/settings/account.vue:201 +#: src/component/user/edit/dialog.vue:192 src/page/settings/account.vue:201 msgid "Change Avatar" msgstr "Keisti privačią vėliavą" -#: src/page/settings/account.vue:297 src/component/settings/password.vue:48 +#: src/page/settings/account.vue:297 src/component/settings/password.vue:49 msgid "Change Password" msgstr "Naujas slaptažodis" @@ -644,17 +665,17 @@ msgid "Change private flag" msgstr "Keisti privačią vėliavą" #: src/component/user/add/dialog.vue:108 src/component/user/add/dialog.vue:113 -#: src/component/user/edit/dialog.vue:90 src/component/user/edit/dialog.vue:95 +#: src/component/user/edit/dialog.vue:91 src/component/user/edit/dialog.vue:96 #: src/page/settings/account.vue:121 src/page/settings/account.vue:126 msgid "Changes could not be saved" msgstr "Pakeitimų nepavyko išsaugoti" -#: src/component/user/edit/dialog.vue:83 src/component/user/edit/dialog.vue:159 +#: src/component/user/edit/dialog.vue:84 src/component/user/edit/dialog.vue:160 #: src/component/album/edit/dialog.vue:73 -#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1941 +#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1961 #: src/component/photo/edit/files.vue:162 src/component/service/edit.vue:90 #: src/component/share/dialog.vue:92 src/component/share/dialog.vue:111 -#: src/page/albums.vue:677 src/page/people/recognized.vue:119 +#: src/page/albums.vue:688 src/page/people/recognized.vue:119 #: src/page/settings/advanced.vue:62 src/page/settings/content.vue:62 #: src/page/settings/general.vue:108 msgid "Changes successfully saved" @@ -668,7 +689,7 @@ msgstr "Norint, kad išplėstinių nustatymų pakeitimai įsigaliotų, juos reik msgid "Checked" msgstr "Patikrinta" -#: src/component/photo/edit/files.vue:495 +#: src/component/photo/edit/files.vue:497 msgid "Chroma" msgstr "Chroma" @@ -684,24 +705,24 @@ msgstr "Valymas" msgid "Clear {0}" msgstr "Išvalyti {0}" -#: src/options/auth.js:11 src/options/auth.js:23 src/options/auth.js:43 +#: src/options/auth.js:12 src/options/auth.js:24 src/options/auth.js:44 msgid "Client" msgstr "Klientas" -#: src/options/auth.js:24 +#: src/options/auth.js:25 msgid "Client Credentials" msgstr "Kliento įgaliojimai" -#: src/page/admin/sessions.vue:529 src/component/lightbox.vue:284 -#: src/component/lightbox.vue:1009 src/component/lightbox.vue:1010 -#: src/component/photo/edit/details.vue:627 src/component/photo/toolbar.vue:160 -#: src/component/settings/apps.vue:224 src/component/settings/apps.vue:437 -#: src/component/settings/passcode.vue:148 -#: src/component/settings/passcode.vue:456 -#: src/component/settings/passcode.vue:497 -#: src/component/settings/webdav.vue:131 src/component/share/dialog.vue:231 +#: src/component/user/edit/dialog.vue:474 src/page/admin/sessions.vue:536 +#: src/component/lightbox.vue:284 src/component/lightbox.vue:1009 +#: src/component/lightbox.vue:1010 src/component/photo/edit/details.vue:601 +#: src/component/photo/toolbar.vue:161 src/component/settings/apps.vue:227 +#: src/component/settings/apps.vue:440 src/component/settings/passcode.vue:151 +#: src/component/settings/passcode.vue:459 +#: src/component/settings/passcode.vue:500 +#: src/component/settings/webdav.vue:132 src/component/share/dialog.vue:231 #: src/component/sidebar/info.vue:26 src/component/update.vue:57 -#: src/component/upload/dialog.vue:228 src/locales.js:206 +#: src/component/upload/dialog.vue:230 src/locales.js:206 #: src/page/library/errors.vue:253 msgid "Close" msgstr "Uždaryti" @@ -710,11 +731,11 @@ msgstr "Uždaryti" msgid "Codec" msgstr "Kodekas" -#: src/component/photo/toolbar.vue:369 +#: src/component/photo/toolbar.vue:371 msgid "Color" msgstr "Spalva" -#: src/component/photo/edit/files.vue:483 +#: src/component/photo/edit/files.vue:485 msgid "Color Profile" msgstr "Spalvų profilis" @@ -722,7 +743,7 @@ msgstr "Spalvų profilis" msgid "Colors" msgstr "Spalvos" -#: src/page/connect.vue:260 src/page/connect.vue:269 +#: src/page/connect.vue:262 src/page/connect.vue:271 msgid "Compare Editions" msgstr "Palyginti leidimus" @@ -735,17 +756,18 @@ msgstr "Visiškas pakartotinis nuskaitymas" msgid "Confidence" msgstr "Konfidencialu" +#: src/component/location/dialog.vue:212 #: src/component/photo/album/dialog.vue:90 -#: src/component/settings/passcode.vue:261 +#: src/component/settings/passcode.vue:264 msgid "Confirm" msgstr "Patvirtinti" -#: src/component/service/add.vue:20 src/page/settings/services.vue:187 +#: src/component/service/add.vue:20 src/page/settings/services.vue:191 msgid "Connect" msgstr "Prisijungti" -#: src/page/settings/account.vue:401 src/component/settings/webdav.vue:45 -#: src/page/settings/services.vue:167 +#: src/page/settings/account.vue:406 src/component/settings/webdav.vue:46 +#: src/page/settings/services.vue:170 msgid "Connect via WebDAV" msgstr "Prisijungimas per WebDAV" @@ -753,22 +775,22 @@ msgstr "Prisijungimas per WebDAV" msgid "Connected" msgstr "Prisijungti" -#: src/page/settings/account.vue:640 src/page/settings/account.vue:532 +#: src/page/settings/account.vue:646 src/page/settings/account.vue:538 msgid "Contact Details" msgstr "Susisiekite su mumis" -#: src/page/about/feedback.vue:37 src/page/connect.vue:132 -#: src/page/connect.vue:136 +#: src/page/about/feedback.vue:37 src/page/connect.vue:133 +#: src/page/connect.vue:137 msgid "Contact Us" msgstr "Susisiekite su mumis" #: src/page/albums.vue:433 src/page/labels.vue:237 -#: src/page/people/recognized.vue:306 +#: src/page/people/recognized.vue:310 msgid "Contains %{n} pictures." msgstr "Sudėtyje yra %{n} paveikslėlių." #: src/page/albums.vue:427 src/page/labels.vue:231 -#: src/page/people/recognized.vue:300 +#: src/page/people/recognized.vue:304 msgid "Contains one picture." msgstr "Yra vienas paveikslėlis." @@ -776,7 +798,7 @@ msgstr "Yra vienas paveikslėlis." msgid "Content" msgstr "Turinys" -#: src/component/settings/apps.vue:163 +#: src/component/settings/apps.vue:166 msgid "Continue" msgstr "Tęsti" @@ -784,7 +806,7 @@ msgstr "Tęsti" msgid "Continue with %{provider}" msgstr "Tęsti su %{provider}" -#: src/options/admin.js:18 src/options/auth.js:9 +#: src/options/admin.js:22 src/options/auth.js:10 msgid "Contributor" msgstr "Pateikėjas" @@ -792,15 +814,15 @@ msgstr "Pateikėjas" msgid "Converting" msgstr "Konvertuojama" -#: src/common/util.js:846 +#: src/common/util.js:856 msgid "Copied to clipboard" msgstr "Nukopijuota į iškarpinę" -#: src/component/settings/apps.vue:250 src/component/settings/passcode.vue:358 +#: src/component/settings/apps.vue:253 src/component/settings/passcode.vue:361 msgid "Copy" msgstr "Kopijuoti" -#: src/component/photo/edit/details.vue:516 +#: src/component/photo/edit/details.vue:490 msgid "Copyright" msgstr "Autorinės teisės" @@ -808,8 +830,8 @@ msgstr "Autorinės teisės" msgid "Couldn't find anything." msgstr "Nepavyko nieko rasti." -#: src/page/settings/account.vue:685 src/component/photo/edit/details.vue:242 -#: src/component/photo/toolbar.vue:203 src/page/settings/account.vue:577 +#: src/page/settings/account.vue:691 src/component/photo/edit/details.vue:268 +#: src/component/photo/toolbar.vue:205 src/page/settings/account.vue:583 msgid "Country" msgstr "Šalis" @@ -833,7 +855,7 @@ msgstr "Sukurkite YAML failus albumo metaduomenims kurti." msgid "Create YAML sidecar files to back up picture metadata." msgstr "Sukurkite YAML šalutinius failus paveikslėlių metaduomenims kurti." -#: src/page/admin/sessions.vue:417 src/component/photo/edit/info.vue:412 +#: src/page/admin/sessions.vue:422 src/component/photo/edit/info.vue:412 msgid "Created" msgstr "Sukurta" @@ -845,11 +867,11 @@ msgstr "Miniatiūrų kūrimas" msgid "Cubic: Moderate Quality, Good Performance" msgstr "Kubinis: Vidutinė kokybė, geras našumas" -#: src/component/settings/password.vue:85 +#: src/component/settings/password.vue:86 msgid "Current Password" msgstr "Dabartinis slaptažodis" -#: src/options/themes.js:919 src/options/themes.js:928 +#: src/options/themes.js:920 src/options/themes.js:929 msgid "Custom" msgstr "Pasirinktinis" @@ -865,11 +887,11 @@ msgstr "Kasdien" msgid "Database Backups" msgstr "Duomenų bazės atsarginės kopijos" -#: src/page/settings/account.vue:450 src/component/photo/edit/details.vue:110 +#: src/page/settings/account.vue:456 src/component/photo/edit/details.vue:112 msgid "Day" msgstr "Diena" -#: src/component/settings/passcode.vue:445 +#: src/component/settings/passcode.vue:448 msgid "Deactivate" msgstr "Išjungti" @@ -877,36 +899,40 @@ msgstr "Išjungti" msgid "Debug Logs" msgstr "Derinimo žurnalai" -#: src/options/admin.js:31 src/page/admin/sessions.vue:136 -#: src/page/admin/users.vue:176 src/component/photo/edit/info.vue:47 +#: src/options/admin.js:35 src/page/admin/sessions.vue:136 +#: src/page/admin/users.vue:178 src/component/photo/edit/info.vue:47 #: src/component/photo/edit/info.vue:110 src/model/session.js:66 -#: src/model/user.js:246 src/options/auth.js:20 src/options/auth.js:21 -#: src/options/auth.js:39 src/options/auth.js:40 src/options/options.js:196 +#: src/model/user.js:246 src/options/auth.js:21 src/options/auth.js:22 +#: src/options/auth.js:40 src/options/auth.js:41 src/options/options.js:196 #: src/options/options.js:232 src/options/options.js:316 -#: src/options/themes.js:773 +#: src/options/themes.js:774 msgid "Default" msgstr "Numatytoji" -#: src/component/service/edit.vue:123 +#: src/component/service/edit.vue:124 msgid "Default Folder" msgstr "Numatytasis aplankas" #: src/component/session/remove/dialog.vue:56 #: src/component/user/remove/dialog.vue:56 src/component/album/clipboard.vue:97 -#: src/component/album/delete/dialog.vue:54 -#: src/component/file/delete/dialog.vue:58 src/component/label/clipboard.vue:58 -#: src/component/label/delete/dialog.vue:58 +#: src/component/album/delete/dialog.vue:54 src/component/album/toolbar.vue:137 +#: src/component/file/delete/dialog.vue:59 src/component/label/clipboard.vue:58 +#: src/component/label/delete/dialog.vue:59 #: src/component/photo/clipboard.vue:168 src/component/photo/edit/files.vue:238 -#: src/component/service/remove.vue:60 src/component/share/dialog.vue:170 +#: src/component/service/remove.vue:61 src/component/share/dialog.vue:170 #: src/page/settings/general.vue:457 msgid "Delete" msgstr "Ištrinti" +#: src/component/album/toolbar.vue:133 +msgid "Delete Album" +msgstr "Ištrinti albumą" + #: src/component/photo/toolbar.vue:119 src/page/library/errors.vue:95 msgid "Delete All" msgstr "Ištrinti viską" -#: src/component/photo/toolbar.vue:433 src/page/library/errors.vue:193 +#: src/component/photo/toolbar.vue:435 src/page/library/errors.vue:193 msgid "Delete all?" msgstr "Ištrinti viską?" @@ -914,16 +940,16 @@ msgstr "Ištrinti viską?" msgid "Delete orphaned index entries, sidecar files and thumbnails." msgstr "Ištrinkite našlaičių indekso įrašus, šalutinius failus ir miniatiūras." -#: src/component/album/edit/dialog.vue:107 src/page/albums.vue:411 +#: src/component/album/edit/dialog.vue:108 src/page/albums.vue:411 msgid "Description" msgstr "Aprašymas" -#: src/component/settings/webdav.vue:115 +#: src/component/settings/webdav.vue:116 msgid "Detailed instructions can be found in our User Guide." msgstr "Išsamias instrukcijas rasite mūsų naudotojo vadove." -#: src/component/photo/edit/dialog.vue:156 -#: src/component/photo/edit/dialog.vue:173 +#: src/component/photo/edit/dialog.vue:162 +#: src/component/photo/edit/dialog.vue:181 msgid "Details" msgstr "Detalės" @@ -987,8 +1013,8 @@ msgstr "Išjungia vektorinės grafikos palaikymą." msgid "Disables video transcoding and thumbnail extraction." msgstr "Išjungiamas vaizdo perkodavimas ir miniatiūrų išskyrimas." -#: src/app/routes.js:558 src/app/routes.js:565 src/app/routes.js:572 -#: src/app/routes.js:579 +#: src/app/routes.js:566 src/app/routes.js:573 src/app/routes.js:580 +#: src/app/routes.js:587 msgid "Discover" msgstr "Atraskite" @@ -996,9 +1022,9 @@ msgstr "Atraskite" msgid "Dismiss" msgstr "Atmesti" -#: src/component/user/add/dialog.vue:133 src/component/user/add/dialog.vue:134 -#: src/component/user/edit/dialog.vue:163 -#: src/component/user/edit/dialog.vue:164 src/page/admin/users.vue:72 +#: src/component/user/add/dialog.vue:134 src/component/user/add/dialog.vue:135 +#: src/component/user/edit/dialog.vue:164 +#: src/component/user/edit/dialog.vue:165 src/page/admin/users.vue:74 #: src/page/settings/account.vue:149 src/page/settings/account.vue:151 msgid "Display Name" msgstr "Rodomas vardas" @@ -1013,12 +1039,12 @@ msgstr "Paieškos rezultatuose rodyti paveikslėlių pavadinimus." #: src/component/photo/view/cards.vue:339 #: src/component/photo/view/cards.vue:521 -#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:174 +#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:176 #: src/options/options.js:309 msgid "Document" msgstr "Dokumentas" -#: src/component/navigation.vue:480 +#: src/component/navigation.vue:482 msgid "Documents" msgstr "Dokumentai" @@ -1034,16 +1060,16 @@ msgstr "Nenaudokite ImageMagick vaizdams konvertuoti." msgid "Don't use RawTherapee to convert RAW images." msgstr "Nenaudokite \"RawTherapee\" RAW failams konvertuoti." -#: src/component/settings/apps.vue:238 src/component/share/dialog.vue:29 +#: src/component/settings/apps.vue:241 src/component/share/dialog.vue:29 msgid "Done" msgstr "Atlikta" -#: src/component/upload/dialog.vue:135 src/page/library/import.vue:46 +#: src/component/upload/dialog.vue:137 src/page/library/import.vue:46 #: src/page/library/index.vue:52 msgid "Done." msgstr "Atlikta." -#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:118 +#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:123 #: src/component/file/clipboard.vue:48 src/component/lightbox.vue:1235 #: src/component/people/clipboard.vue:47 src/component/photo/clipboard.vue:116 #: src/component/photo/edit/files.vue:168 src/page/settings/content.vue:331 @@ -1055,7 +1081,7 @@ msgstr "Atsisiųsti" msgid "Download only original media files, without any automatically generated files." msgstr "Atsisiųskite tik originalius medijos failus be jokių automatiškai sukurtų failų." -#: src/component/service/edit.vue:237 +#: src/component/service/edit.vue:238 msgid "Download remote files" msgstr "Atsisiųsti nuotolinius failus" @@ -1063,9 +1089,9 @@ msgstr "Atsisiųsti nuotolinius failus" msgid "Download single files and zip archives." msgstr "Atsisiųskite atskirus failus ir zip archyvus." -#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:157 +#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:172 #: src/component/file/clipboard.vue:61 src/component/label/clipboard.vue:86 -#: src/component/lightbox.vue:2021 src/component/people/clipboard.vue:59 +#: src/component/lightbox.vue:2041 src/component/people/clipboard.vue:59 #: src/component/photo/clipboard.vue:220 src/component/photo/edit/files.vue:119 #: src/component/photo/view/cards.vue:169 src/component/photo/view/list.vue:142 #: src/page/library/browse.vue:139 @@ -1080,7 +1106,7 @@ msgstr "Mažinimo filtras" msgid "Drag and drop files here" msgstr "Vilkite ir meskite failus čia" -#: src/page/about/feedback.vue:61 +#: src/page/about/feedback.vue:62 msgid "Due to the high volume of emails we receive, our team may be unable to get back to you immediately." msgstr "Dėl didelio gaunamų el. laiškų kiekio mūsų komanda gali nepavykti iš karto su jumis susisiekti." @@ -1100,23 +1126,23 @@ msgstr "Dinaminės peržiūros" msgid "Dynamic Size Limit: %{n}px" msgstr "Dinaminio dydžio riba: %{n}px" -#: src/page/about/feedback.vue:141 src/page/about/feedback.vue:140 +#: src/page/about/feedback.vue:142 src/page/about/feedback.vue:141 msgid "E-Mail" msgstr "El. paštas" -#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:89 +#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:94 #: src/component/lightbox.vue:1136 src/component/lightbox.vue:1137 #: src/component/photo/clipboard.vue:90 src/page/settings/general.vue:407 msgid "Edit" msgstr "Redaguoti" -#: src/component/album/edit/dialog.vue:54 -#: src/component/label/edit/dialog.vue:52 -#: src/component/people/edit/dialog.vue:52 +#: src/component/album/edit/dialog.vue:55 +#: src/component/label/edit/dialog.vue:53 +#: src/component/people/edit/dialog.vue:53 msgid "Edit %{s}" msgstr "Redaguoti %{pavadinimas}" -#: src/component/user/edit/dialog.vue:61 src/component/service/edit.vue:79 +#: src/component/user/edit/dialog.vue:62 src/component/service/edit.vue:79 msgid "Edit Account" msgstr "Redaguoti paskyrą" @@ -1128,8 +1154,8 @@ msgstr "Redaguoti nuotrauką" msgid "Edited" msgstr "Redaguota" -#: src/component/user/add/dialog.vue:151 src/component/user/edit/dialog.vue:213 -#: src/page/settings/account.vue:171 src/page/settings/account.vue:593 +#: src/component/user/add/dialog.vue:152 src/component/user/edit/dialog.vue:214 +#: src/page/settings/account.vue:171 src/page/settings/account.vue:599 msgid "Email" msgstr "El. paštas" @@ -1145,7 +1171,7 @@ msgstr "įgalinti naujas funkcijas, kurios gali būti neišbaigtos arba nestabil msgid "Enables RAW converter presets. May reduce performance." msgstr "Įjungiamos RAW konverterio išankstinės nuostatos. Gali sumažinti našumą." -#: src/component/settings/passcode.vue:127 +#: src/component/settings/passcode.vue:130 msgid "Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account." msgstr "Dviejų veiksnių autentifikavimo įjungimas reiškia, kad norint prisijungti, jums reikės atsitiktinai sugeneruoto patvirtinimo kodo, todėl net jei kas nors gaus prieigą prie jūsų slaptažodžio, jis negalės pasiekti jūsų paskyros." @@ -1157,7 +1183,7 @@ msgstr "Įveskite datą" msgid "Enter dates" msgstr "Įveskite datas" -#: src/component/settings/passcode.vue:213 src/page/auth/login.vue:104 +#: src/component/settings/passcode.vue:216 src/page/auth/login.vue:104 msgid "Enter the code generated by your authenticator app:" msgstr "Įveskite autentifikatoriaus programėlės sugeneruotą kodą:" @@ -1165,7 +1191,7 @@ msgstr "Įveskite autentifikatoriaus programėlės sugeneruotą kodą:" msgid "Enter verification code" msgstr "Įveskite patvirtinimo kodą" -#: src/component/settings/apps.vue:109 +#: src/component/settings/apps.vue:112 msgid "Enter your password to confirm the action and continue:" msgstr "Įveskite slaptažodį, kad patvirtintumėte veiksmą ir tęstumėte:" @@ -1174,7 +1200,7 @@ msgstr "Įveskite slaptažodį, kad patvirtintumėte veiksmą ir tęstumėte:" msgid "Error" msgstr "Klaida" -#: src/app/routes.js:374 src/component/navigation.vue:1348 +#: src/app/routes.js:382 src/component/navigation.vue:1372 msgid "Errors" msgstr "Klaidos" @@ -1210,13 +1236,13 @@ msgstr "Kad būtų palaikomi visi vaizdo įrašai, tiesioginės nuotraukos ir XM msgid "Experimental Features" msgstr "Eksperimentinės funkcijos" -#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:453 -#: src/component/service/edit.vue:157 src/component/settings/apps.vue:73 -#: src/component/settings/apps.vue:326 src/component/share/dialog.vue:62 +#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:458 +#: src/component/service/edit.vue:158 src/component/settings/apps.vue:73 +#: src/component/settings/apps.vue:329 src/component/share/dialog.vue:62 msgid "Expires" msgstr "Galioja iki" -#: src/component/photo/edit/details.vue:396 +#: src/component/photo/edit/details.vue:370 msgid "Exposure" msgstr "Ekspozicija" @@ -1224,7 +1250,7 @@ msgstr "Ekspozicija" msgid "Extract still images and generate thumbnails while indexing." msgstr "Ištraukite nejudančius vaizdus ir indeksuodami generuokite miniatiūras." -#: src/component/photo/edit/details.vue:444 +#: src/component/photo/edit/details.vue:418 msgid "F Number" msgstr "F skaičius" @@ -1240,7 +1266,7 @@ msgstr "Veidai" msgid "Failed removing link" msgstr "Nepavyko pašalinti nuorodos" -#: src/page/connect.vue:106 src/page/connect.vue:110 +#: src/page/connect.vue:107 src/page/connect.vue:111 msgid "Failed to connect account." msgstr "Nepavyko prisijungti prie paskyros." @@ -1248,8 +1274,8 @@ msgstr "Nepavyko prisijungti prie paskyros." msgid "Failed updating link" msgstr "Nepavyko atnaujinti nuorodos" -#: src/component/user/edit/dialog.vue:143 -#: src/component/user/edit/dialog.vue:144 src/page/settings/account.vue:128 +#: src/component/user/edit/dialog.vue:144 +#: src/component/user/edit/dialog.vue:145 src/page/settings/account.vue:128 #: src/page/settings/account.vue:130 msgid "Family Name" msgstr "Šeimos pavadinimas" @@ -1258,15 +1284,15 @@ msgstr "Šeimos pavadinimas" msgid "Fast" msgstr "Greitai" -#: src/component/album/edit/dialog.vue:159 -#: src/component/label/edit/dialog.vue:85 -#: src/component/people/edit/dialog.vue:85 +#: src/component/album/edit/dialog.vue:160 +#: src/component/label/edit/dialog.vue:86 +#: src/component/people/edit/dialog.vue:86 #: src/component/photo/edit/info.vue:287 msgid "Favorite" msgstr "Mėgstamiausias" -#: src/app/routes.js:222 src/component/navigation.vue:893 -#: src/options/options.js:202 src/page/albums.vue:97 +#: src/app/routes.js:230 src/component/navigation.vue:903 +#: src/options/options.js:202 src/page/albums.vue:98 msgid "Favorites" msgstr "Mėgstamiausi" @@ -1274,7 +1300,7 @@ msgstr "Mėgstamiausi" msgid "Feature Request" msgstr "Funkcijos prašymas" -#: src/component/navigation.vue:1456 +#: src/component/navigation.vue:1482 msgid "Feedback" msgstr "Atsiliepimai" @@ -1282,11 +1308,12 @@ msgstr "Atsiliepimai" msgid "Female" msgstr "Moteris" -#: src/component/photo/edit/info.vue:214 src/model/file.js:290 +#: src/component/photo/edit/info.vue:57 src/component/photo/edit/info.vue:214 +#: src/model/file.js:290 msgid "File" msgstr "Failas" -#: src/app/routes.js:343 +#: src/app/routes.js:351 msgid "File Browser" msgstr "Failų naršyklė" @@ -1309,8 +1336,8 @@ msgstr "Failas" msgid "Filename" msgstr "Failas" -#: src/component/navigation.vue:1930 src/component/photo/edit/dialog.vue:267 -#: src/component/photo/edit/dialog.vue:284 +#: src/component/navigation.vue:1973 src/component/photo/edit/dialog.vue:279 +#: src/component/photo/edit/dialog.vue:298 msgid "Files" msgstr "Failai" @@ -1322,26 +1349,26 @@ msgstr "Failai su nuosekliais pavadinimais, pavyzdžiui, 'IMG_1234 (2)' ir 'IMG_ msgid "First page" msgstr "Pirmas puslapis" -#: src/component/photo/edit/details.vue:465 +#: src/component/photo/edit/details.vue:439 msgid "Focal Length" msgstr "Židinio nuotolis" -#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:118 -#: src/component/service/edit.vue:189 src/component/service/edit.vue:194 -#: src/component/service/upload.vue:90 src/component/service/upload.vue:96 +#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:119 +#: src/component/service/edit.vue:190 src/component/service/edit.vue:195 +#: src/component/service/upload.vue:91 src/component/service/upload.vue:97 #: src/model/folder.js:199 src/page/library/browse.vue:182 msgid "Folder" msgstr "Aplankas" -#: src/page/library/browse.vue:365 +#: src/page/library/browse.vue:367 msgid "Folder contains %{n} files" msgstr "Aplankale yra %{n} failų" -#: src/page/library/browse.vue:356 +#: src/page/library/browse.vue:358 msgid "Folder is empty" msgstr "Aplankas tuščias" -#: src/app/routes.js:202 src/component/navigation.vue:1225 +#: src/app/routes.js:210 src/component/navigation.vue:1247 #: src/options/options.js:207 msgid "Folders" msgstr "Aplankalai" @@ -1358,7 +1385,7 @@ msgstr "FPS" msgid "Frames" msgstr "Kadrai" -#: src/options/auth.js:54 src/options/auth.js:64 +#: src/options/auth.js:55 src/options/auth.js:65 msgid "Full Access" msgstr "Pilna prieiga" @@ -1370,7 +1397,7 @@ msgstr "Viso ekrano" msgid "General" msgstr "Bendra" -#: src/component/settings/apps.vue:364 +#: src/component/settings/apps.vue:367 msgid "Generate" msgstr "Generuoti" @@ -1390,8 +1417,8 @@ msgstr "Sukurta" msgid "Get Started" msgstr "Pradėkite" -#: src/component/user/edit/dialog.vue:120 -#: src/component/user/edit/dialog.vue:121 src/page/settings/account.vue:106 +#: src/component/user/edit/dialog.vue:121 +#: src/component/user/edit/dialog.vue:122 src/page/settings/account.vue:106 #: src/page/settings/account.vue:108 msgid "Given Name" msgstr "Originalus pavadinimas" @@ -1416,7 +1443,7 @@ msgstr "Žalioji" msgid "Grey" msgstr "Pilka" -#: src/options/admin.js:22 src/options/auth.js:10 +#: src/options/admin.js:26 src/options/auth.js:11 msgid "Guest" msgstr "Svečias" @@ -1432,15 +1459,15 @@ msgstr "Pagalba" msgid "Help & Support" msgstr "Paramos gavimas" -#: src/component/navigation.vue:1327 src/component/people/edit/dialog.vue:98 +#: src/component/navigation.vue:1351 src/component/people/edit/dialog.vue:99 msgid "Hidden" msgstr "Paslėptas" -#: src/app/routes.js:358 +#: src/app/routes.js:366 msgid "Hidden Files" msgstr "Paslėpti failai" -#: src/page/people/new.vue:165 src/page/people/recognized.vue:205 +#: src/page/people/new.vue:166 src/page/people/recognized.vue:206 msgid "Hide" msgstr "Paslėpti" @@ -1456,7 +1483,7 @@ msgstr "Aukštas" msgid "High Dynamic Range (HDR)" msgstr "Didelis dinaminis diapazonas (HDR)" -#: src/page/about/feedback.vue:103 +#: src/page/about/feedback.vue:104 msgid "How can we help?" msgstr "Kaip galime padėti?" @@ -1464,11 +1491,11 @@ msgstr "Kaip galime padėti?" msgid "Hybrid" msgstr "Hibridinis" -#: src/component/settings/passcode.vue:389 +#: src/component/settings/passcode.vue:392 msgid "If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account." msgstr "Jei prarasite prieigą prie autentifikavimo programos ar įrenginio, galite naudoti atkūrimo kodą, kad atgautumėte prieigą prie paskyros." -#: src/component/photo/edit/info.vue:63 src/component/photo/edit/labels.vue:46 +#: src/component/photo/edit/info.vue:65 src/component/photo/edit/labels.vue:46 #: src/component/photo/view/cards.vue:532 src/model/file.js:218 #: src/options/options.js:281 msgid "Image" @@ -1478,7 +1505,7 @@ msgstr "Vaizdas" msgid "Image Quality" msgstr "Vaizdo kokybė" -#: src/page/library.vue:46 src/page/library/import.vue:152 +#: src/page/library.vue:46 src/page/library/import.vue:153 #: src/page/settings/general.vue:357 msgid "Import" msgstr "Importas" @@ -1503,8 +1530,8 @@ msgstr "Importuojame %{pavadinimas}…" msgid "Importing files to originals…" msgstr "Failų importavimas į originalus…" -#: src/component/photo/edit/files.vue:515 -#: src/component/photo/edit/files.vue:520 +#: src/component/photo/edit/files.vue:517 +#: src/component/photo/edit/files.vue:522 msgid "in" msgstr "svetainėje" @@ -1522,11 +1549,11 @@ msgstr "Atsisiunčiant stekus ir archyvus įtraukite RAW vaizdų failus." msgid "Include sidecar files when downloading stacks and archives." msgstr "Atsisiunčiant stekus ir archyvus įtraukti šalutinius failus." -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Increase storage size or delete files to continue." msgstr "Norėdami tęsti, padidinkite saugyklos dydį arba ištrinkite failus." -#: src/component/navigation.vue:1946 src/page/library.vue:36 +#: src/component/navigation.vue:1990 src/page/library.vue:36 #: src/page/settings/content.vue:34 msgid "Index" msgstr "Indeksas" @@ -1556,11 +1583,11 @@ msgstr "Informacija" msgid "Instance ID" msgstr "Atvejo ID" -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Insufficient storage." msgstr "Nepakankama saugykla." -#: src/component/service/edit.vue:209 +#: src/component/service/edit.vue:210 msgid "Interval" msgstr "Intervalas" @@ -1581,7 +1608,7 @@ msgstr "Neteisingas adresas" msgid "Invalid country" msgstr "Netinkama šalis" -#: src/component/photo/edit/details.vue:174 +#: src/component/photo/edit/details.vue:169 msgid "Invalid date" msgstr "Neteisinga data" @@ -1590,7 +1617,7 @@ msgstr "Neteisinga data" msgid "Invalid parameters" msgstr "Neteisinga data" -#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:197 +#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:199 msgid "Invalid photo selected" msgstr "Pasirinkta netinkama nuotrauka" @@ -1602,8 +1629,8 @@ msgstr "Netinkamas laikas" msgid "Invalid URL" msgstr "Netinkamas URL adresas" -#: src/component/settings/passcode.vue:314 -#: src/component/settings/passcode.vue:391 +#: src/component/settings/passcode.vue:317 +#: src/component/settings/passcode.vue:394 msgid "It is a one-time use code that will disable 2FA for your account when you use it." msgstr "Tai vienkartinis kodas, kuris išjungs 2FA jūsų paskyroje, kai ją naudosite." @@ -1627,7 +1654,7 @@ msgstr "JPEG dydžio riba: %{n}px" msgid "JPEGs and thumbnails are automatically rendered as needed." msgstr "JPEG ir miniatiūros prireikus atvaizduojamos automatiškai." -#: src/component/photo/edit/details.vue:581 +#: src/component/photo/edit/details.vue:555 msgid "Keywords" msgstr "Raktiniai žodžiai" @@ -1636,9 +1663,9 @@ msgstr "Raktiniai žodžiai" msgid "Label" msgstr "Etiketė" -#: src/app/routes.js:389 src/component/navigation.vue:1177 -#: src/component/photo/edit/dialog.vue:188 -#: src/component/photo/edit/dialog.vue:205 src/options/options.js:206 +#: src/app/routes.js:397 src/component/navigation.vue:1197 +#: src/component/photo/edit/dialog.vue:196 +#: src/component/photo/edit/dialog.vue:215 src/options/options.js:206 #: src/page/settings/general.vue:255 msgid "Labels" msgstr "Etiketės" @@ -1655,11 +1682,11 @@ msgstr "Lanczos: detalių išsaugojimas, minimalūs artefaktai" msgid "Language" msgstr "Kalba" -#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:435 +#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:440 msgid "Last Active" msgstr "Paskutinis aktyvus" -#: src/page/admin/users.vue:81 +#: src/page/admin/users.vue:83 msgid "Last Login" msgstr "Paskutinis prisijungimas" @@ -1675,42 +1702,41 @@ msgstr "Sinchronizavimas" msgid "Last Used" msgstr "Paskutinis naudotas" -#: src/component/photo/edit/details.vue:298 #: src/component/photo/edit/info.vue:373 msgid "Latitude" msgstr "Platuma" -#: src/options/admin.js:43 src/options/auth.js:29 +#: src/options/admin.js:47 src/options/auth.js:30 msgid "LDAP/AD" msgstr "LDAP/AD" -#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:86 -#: src/page/about/about.vue:62 src/page/about/about.vue:132 +#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:87 +#: src/page/about/about.vue:62 src/page/about/about.vue:133 #: src/page/connect.vue:67 src/page/help.vue:36 msgid "Learn more" msgstr "Sužinokite daugiau" -#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:135 +#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:137 #: src/page/labels.vue:132 msgid "Learn More" msgstr "Sužinokite daugiau" -#: src/component/navigation.vue:2017 +#: src/component/navigation.vue:2066 msgid "Legal Information" msgstr "Teisinė informacija" -#: src/component/photo/edit/details.vue:417 +#: src/component/photo/edit/details.vue:391 #: src/component/photo/view/cards.vue:480 msgid "Lens" msgstr "Objektyvas" -#: src/app/routes.js:443 src/app/routes.js:459 src/app/routes.js:475 -#: src/component/navigation.vue:1267 src/page/settings/general.vue:507 +#: src/app/routes.js:451 src/app/routes.js:467 src/app/routes.js:483 +#: src/component/navigation.vue:1290 src/page/settings/general.vue:507 msgid "Library" msgstr "Biblioteka" #: src/page/connect.vue:45 src/app/routes.js:69 -#: src/component/navigation.vue:1478 src/component/photo/edit/details.vue:559 +#: src/component/navigation.vue:1504 src/component/photo/edit/details.vue:533 #: src/page/about/license.vue:28 msgid "License" msgstr "Licencija" @@ -1723,7 +1749,7 @@ msgstr "Kaip" msgid "Lime" msgstr "Lime" -#: src/page/library/browse.vue:369 +#: src/page/library/browse.vue:371 msgid "Limit reached, showing first %{n} files" msgstr "Limitas pasiektas, rodomi pirmieji %{n} failai" @@ -1731,7 +1757,7 @@ msgstr "Limitas pasiektas, rodomi pirmieji %{n} failai" msgid "Linear: Very Smooth, Best Performance" msgstr "Linijinis: Labai sklandus, geriausias našumas" -#: src/model/link.js:117 src/options/auth.js:30 src/options/auth.js:31 +#: src/model/link.js:117 src/options/auth.js:31 src/options/auth.js:32 msgid "Link" msgstr "Nuoroda" @@ -1749,7 +1775,7 @@ msgstr "Sąrašo rodinys" msgid "Live" msgstr "Gyvai" -#: src/app/routes.js:236 src/component/navigation.vue:749 +#: src/app/routes.js:244 src/component/navigation.vue:755 msgid "Live Photos" msgstr "Nuotraukos" @@ -1765,21 +1791,24 @@ msgstr "Įkeliami elementai..." msgid "Loading..." msgstr "Pakraunama..." -#: src/options/admin.js:35 src/options/auth.js:22 src/options/auth.js:27 +#: src/options/admin.js:39 src/options/auth.js:23 src/options/auth.js:28 #: src/options/options.js:38 src/page/settings/general.vue:107 msgid "Local" msgstr "Vietinis" -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Local Time" msgstr "Vietinis laikas" -#: src/page/settings/account.vue:665 src/page/settings/account.vue:667 -#: src/component/album/edit/dialog.vue:92 src/component/photo/edit/info.vue:65 -#: src/component/photo/edit/labels.vue:48 +#: src/page/settings/account.vue:671 src/page/settings/account.vue:673 +#: src/component/album/edit/dialog.vue:93 +#: src/component/photo/edit/details.vue:38 +#: src/component/photo/edit/details.vue:116 +#: src/component/photo/edit/details.vue:210 +#: src/component/photo/edit/info.vue:67 src/component/photo/edit/labels.vue:48 #: src/component/photo/view/cards.vue:555 src/component/photo/view/list.vue:117 -#: src/component/sidebar/info.vue:107 src/page/albums.vue:99 -#: src/page/settings/account.vue:557 src/page/settings/account.vue:559 +#: src/component/sidebar/info.vue:107 src/page/albums.vue:100 +#: src/page/settings/account.vue:563 src/page/settings/account.vue:565 msgid "Location" msgstr "Vieta" @@ -1787,20 +1816,19 @@ msgstr "Vieta" msgid "Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues." msgstr "Žurnalo pranešimai čia rodomi, kai \"PhotoPrism\" susiduria su sugadintais failais arba kitomis galimomis problemomis." -#: src/component/navigation.vue:1552 src/component/navigation.vue:1840 +#: src/component/navigation.vue:1579 src/component/navigation.vue:1877 msgid "Login" msgstr "Prisijungimas" -#: src/component/navigation.vue:1759 +#: src/component/navigation.vue:1791 msgid "Logout" msgstr "Atsijungimas" -#: src/component/navigation.vue:1962 src/page/library.vue:59 +#: src/component/navigation.vue:2007 src/page/library.vue:59 #: src/page/settings/general.vue:557 msgid "Logs" msgstr "Žurnalai" -#: src/component/photo/edit/details.vue:324 #: src/component/photo/edit/info.vue:379 msgid "Longitude" msgstr "Ilguma" @@ -1813,7 +1841,7 @@ msgstr "Žema" msgid "Magenta" msgstr "Magenta" -#: src/component/photo/edit/files.vue:489 +#: src/component/photo/edit/files.vue:491 msgid "Main Color" msgstr "Pagrindinė spalva" @@ -1821,12 +1849,16 @@ msgstr "Pagrindinė spalva" msgid "Male" msgstr "Vyras" -#: src/page/connect.vue:164 src/page/connect.vue:246 -#: src/page/about/about.vue:171 src/page/connect.vue:168 -#: src/page/connect.vue:255 +#: src/page/connect.vue:165 src/page/connect.vue:248 +#: src/page/about/about.vue:173 src/page/connect.vue:169 +#: src/page/connect.vue:257 msgid "Manage Account" msgstr "Tvarkyti paskyrą" +#: src/options/admin.js:10 src/options/auth.js:7 +msgid "Manager" +msgstr "Vadybininkas" + #: src/component/photo/edit/info.vue:49 src/component/photo/edit/labels.vue:38 msgid "Manual" msgstr "Rankinis" @@ -1843,11 +1875,11 @@ msgstr "Žemėlapiai" msgid "Marker" msgstr "Žymeklis" -#: src/component/user/add/dialog.vue:69 +#: src/component/user/add/dialog.vue:70 msgid "Maximum number of accounts has been reached." msgstr "Pasiektas maksimalus paskyrų skaičius." -#: src/app/routes.js:229 src/component/navigation.vue:688 +#: src/app/routes.js:237 src/component/navigation.vue:693 #: src/options/options.js:199 msgid "Media" msgstr "Žiniasklaida" @@ -1864,7 +1896,7 @@ msgstr "Narystė" msgid "Merge %{a} with %{b}?" msgstr "Sujungti %{a} su %{b}?" -#: src/page/about/feedback.vue:102 +#: src/page/about/feedback.vue:103 msgid "Message" msgstr "Žinutė" @@ -1876,7 +1908,7 @@ msgstr "Išsiųsta žinutė" msgid "Metadata" msgstr "Metaduomenys" -#: src/options/auth.js:56 src/options/auth.js:72 +#: src/options/auth.js:57 src/options/auth.js:73 msgid "Metrics" msgstr "Metrika" @@ -1884,7 +1916,7 @@ msgstr "Metrika" msgid "Minimize" msgstr "Sumažinkite" -#: src/component/photo/edit/files.vue:509 src/component/photo/edit/info.vue:367 +#: src/component/photo/edit/files.vue:511 src/component/photo/edit/info.vue:367 msgid "Missing" msgstr "Trūksta" @@ -1892,17 +1924,17 @@ msgstr "Trūksta" msgid "Missing or invalid configuration" msgstr "Trūksta konfigūracijos arba ji negalioja" -#: src/app/routes.js:163 src/component/navigation.vue:1129 +#: src/app/routes.js:171 src/component/navigation.vue:1147 #: src/options/options.js:205 src/page/settings/general.vue:230 msgid "Moments" msgstr "Akimirkos" -#: src/component/navigation.vue:383 +#: src/component/navigation.vue:385 msgid "Monochrome" msgstr "Vienspalvis" -#: src/page/settings/account.vue:475 src/component/photo/edit/details.vue:137 -#: src/component/photo/toolbar.vue:342 +#: src/page/settings/account.vue:481 src/component/photo/edit/details.vue:139 +#: src/component/photo/toolbar.vue:344 msgid "Month" msgstr "Mėnuo" @@ -1922,7 +1954,7 @@ msgstr "Aktualiausia" msgid "Move Files" msgstr "Failų perkėlimas" -#: src/component/settings/password.vue:107 +#: src/component/settings/password.vue:108 msgid "Must have at least %{n} characters." msgstr "Ne mažiau kaip 6 ženklai." @@ -1930,20 +1962,20 @@ msgstr "Ne mažiau kaip 6 ženklai." msgid "Mute" msgstr "Nutildyti" -#: src/page/about/feedback.vue:121 src/page/about/feedback.vue:122 -#: src/component/album/edit/dialog.vue:77 -#: src/component/label/edit/dialog.vue:71 -#: src/component/people/edit/dialog.vue:71 -#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:57 +#: src/page/about/feedback.vue:122 src/page/about/feedback.vue:123 +#: src/component/album/edit/dialog.vue:78 +#: src/component/label/edit/dialog.vue:72 +#: src/component/people/edit/dialog.vue:72 +#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:59 #: src/component/photo/edit/info.vue:125 src/component/photo/edit/people.vue:36 -#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:310 -#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:286 -#: src/page/albums.vue:98 src/page/auth/login.vue:168 +#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:311 +#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:289 +#: src/page/albums.vue:99 src/page/auth/login.vue:168 #: src/page/people/new.vue:68 src/page/settings/services.vue:37 msgid "Name" msgstr "Pavadinimas" -#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:60 +#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:65 #: src/component/label/edit/dialog.vue:19 #: src/component/people/edit/dialog.vue:19 #: src/component/photo/edit/labels.vue:30 @@ -1953,7 +1985,7 @@ msgstr "Pavadinimas" msgid "Name too long" msgstr "Per ilgas vardas" -#: src/page/admin/users.vue:204 src/options/options.js:361 +#: src/page/admin/users.vue:206 src/options/options.js:361 #: src/options/options.js:371 src/page/settings/services.vue:75 msgid "Never" msgstr "Niekada" @@ -1962,13 +1994,13 @@ msgstr "Niekada" msgid "New" msgstr "Naujas" -#: src/component/settings/password.vue:106 +#: src/component/settings/password.vue:107 msgid "New Password" msgstr "Naujas slaptažodis" #: src/component/album/edit/dialog.vue:24 src/component/photo/toolbar.vue:114 #: src/component/photo/toolbar.vue:126 src/component/photo/toolbar.vue:136 -#: src/page/albums.vue:100 +#: src/page/albums.vue:101 msgid "Newest First" msgstr "Naujausias pirmas" @@ -1984,15 +2016,15 @@ msgstr "Kitas puslapis" msgid "Next visual" msgstr "Kitas vaizdas" -#: src/component/people/merge/dialog.vue:47 -#: src/component/photo/archive/dialog.vue:47 +#: src/component/people/merge/dialog.vue:48 +#: src/component/photo/archive/dialog.vue:48 #: src/component/photo/edit/info.vue:281 src/component/photo/edit/info.vue:297 #: src/component/photo/edit/info.vue:313 src/component/photo/edit/info.vue:329 #: src/component/photo/edit/info.vue:344 msgid "No" msgstr "Ne" -#: src/page/albums.vue:607 src/page/albums.vue:282 +#: src/page/albums.vue:612 src/page/albums.vue:282 msgid "No albums found" msgstr "Albumų nerasta" @@ -2000,7 +2032,7 @@ msgstr "Albumų nerasta" msgid "No data available" msgstr "Duomenų nėra" -#: src/page/labels.vue:523 src/page/labels.vue:155 +#: src/page/labels.vue:528 src/page/labels.vue:155 msgid "No labels found" msgstr "Etikečių nerasta" @@ -2013,15 +2045,15 @@ msgid "No more" msgstr "Ne daugiau" #: src/component/photo/edit/people.vue:34 src/page/people/new.vue:346 -#: src/page/people/new.vue:443 src/page/people/new.vue:103 -#: src/page/people/recognized.vue:531 src/page/people/recognized.vue:146 +#: src/page/people/new.vue:446 src/page/people/new.vue:103 +#: src/page/people/recognized.vue:536 src/page/people/recognized.vue:146 msgid "No people found" msgstr "Žmonių nerasta" #: src/component/lightbox.vue:365 src/component/photo/view/cards.vue:144 #: src/component/photo/view/list.vue:82 src/component/photo/view/mosaic.vue:68 -#: src/page/album/photos.vue:488 src/page/library/browse.vue:123 -#: src/page/photos.vue:626 src/page/places.vue:624 src/page/places.vue:730 +#: src/page/album/photos.vue:499 src/page/library/browse.vue:123 +#: src/page/photos.vue:636 src/page/places.vue:624 src/page/places.vue:730 msgid "No pictures found" msgstr "Paveikslėlių nerasta" @@ -2030,7 +2062,11 @@ msgstr "Paveikslėlių nerasta" msgid "No recently edited pictures" msgstr "Nėra neseniai redaguotų nuotraukų" -#: src/component/navigation.vue:1655 +#: src/component/location/dialog.vue:166 +msgid "No results" +msgstr "Rezultatų nėra" + +#: src/component/navigation.vue:1686 msgid "No server connection" msgstr "Nėra ryšio su serveriu" @@ -2042,7 +2078,7 @@ msgstr "Nėra sukonfigūruotų serverių." msgid "No services configured." msgstr "Nėra sukonfigūruotų serverių." -#: src/component/confirm/sponsor.vue:72 +#: src/component/confirm/sponsor.vue:73 msgid "No thanks" msgstr "Ne, ačiū" @@ -2052,17 +2088,17 @@ msgstr "Jokių įspėjimų ar klaidų su šiuo raktažodžiu nėra. Atkreipkite #: src/component/photo/view/cards.vue:154 src/component/photo/view/list.vue:59 #: src/component/photo/view/list.vue:92 src/component/photo/view/mosaic.vue:78 -#: src/component/upload/dialog.vue:208 +#: src/component/upload/dialog.vue:210 msgid "Non-photographic and low-quality images require a review before they appear in search results." msgstr "Prieš rodant nefotografuotus ir prastos kokybės vaizdus paieškos rezultatuose, juos reikia peržiūrėti." -#: src/options/admin.js:47 src/options/auth.js:32 src/options/options.js:212 +#: src/options/admin.js:51 src/options/auth.js:33 src/options/options.js:212 #: src/options/options.js:328 msgid "None" msgstr "Nėra" -#: src/common/util.js:853 src/component/lightbox.vue:633 -#: src/component/service/upload.vue:75 src/component/service/upload.vue:87 +#: src/component/lightbox.vue:633 src/component/service/upload.vue:75 +#: src/component/service/upload.vue:87 msgid "Not allowed" msgstr "Neleidžiama" @@ -2074,8 +2110,7 @@ msgstr "Nerasta" msgid "Not sorted." msgstr "Neišrūšiuota." -#: src/common/util.js:858 src/component/lightbox.vue:627 -#: src/component/lightbox.vue:744 +#: src/component/lightbox.vue:627 src/component/lightbox.vue:744 msgid "Not supported" msgstr "Nepalaikoma" @@ -2083,15 +2118,15 @@ msgstr "Nepalaikoma" msgid "Note you may manually manage your originals folder and importing is optional." msgstr "Atkreipkite dėmesį, kad originalų aplanką galite tvarkyti rankiniu būdu, o importuoti neprivaloma." -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "Note:" msgstr "Pastaba:" -#: src/component/service/add.vue:120 +#: src/component/service/add.vue:121 msgid "Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload." msgstr "Pastaba: Tik WebDAV serverius, pavyzdžiui, \"Nextcloud\" arba \"PhotoPrism\", galima konfigūruoti kaip nuotolinę atsarginių kopijų kūrimo ir failų įkėlimo paslaugą." -#: src/component/photo/edit/details.vue:603 +#: src/component/photo/edit/details.vue:577 msgid "Notes" msgstr "Pastabos" @@ -2099,8 +2134,8 @@ msgstr "Pastabos" msgid "Nothing to see here yet." msgstr "Kol kas čia nieko nematyti. Būkite kantrūs." -#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:115 -#: src/component/settings/apps.vue:390 +#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:125 +#: src/component/settings/apps.vue:393 msgid "Nothing was found." msgstr "Nieko nerasta." @@ -2108,7 +2143,7 @@ msgstr "Nieko nerasta." msgid "Offline" msgstr "Neprisijungus prie interneto" -#: src/options/admin.js:39 src/options/auth.js:28 +#: src/options/admin.js:43 src/options/auth.js:29 msgid "OIDC" msgstr "OIDC" @@ -2118,11 +2153,11 @@ msgstr "GERAI" #: src/component/album/edit/dialog.vue:25 src/component/photo/toolbar.vue:115 #: src/component/photo/toolbar.vue:127 src/component/photo/toolbar.vue:137 -#: src/page/albums.vue:101 +#: src/page/albums.vue:102 msgid "Oldest First" msgstr "Seniausias pirmas" -#: src/component/settings/webdav.vue:77 +#: src/component/settings/webdav.vue:78 msgid "On Windows, enter the following resource in the connection dialog:" msgstr "\"Windows\" sistemoje prisijungimo dialogo lange įveskite šiuos išteklius:" @@ -2134,11 +2169,11 @@ msgstr "Miniatiūrų generavimas pagal pareikalavimą gali būti susijęs su did msgid "Once a week" msgstr "Kartą per savaitę" -#: src/page/albums.vue:609 +#: src/page/albums.vue:614 msgid "One album found" msgstr "Rastas vienas albumas" -#: src/page/library/browse.vue:358 +#: src/page/library/browse.vue:360 msgid "One file found" msgstr "Rastas vienas failas" @@ -2146,24 +2181,24 @@ msgstr "Rastas vienas failas" msgid "One file uploaded" msgstr "Įkeltas vienas failas" -#: src/page/library/browse.vue:360 +#: src/page/library/browse.vue:362 msgid "One folder found" msgstr "Rastas vienas aplankas" -#: src/page/labels.vue:525 +#: src/page/labels.vue:530 msgid "One label found" msgstr "Viena rasta etiketė" -#: src/page/people/new.vue:348 src/page/people/new.vue:445 -#: src/page/people/recognized.vue:533 +#: src/page/people/new.vue:348 src/page/people/new.vue:448 +#: src/page/people/recognized.vue:538 msgid "One person found" msgstr "Vienas asmuo rado" -#: src/page/album/photos.vue:490 src/page/photos.vue:628 +#: src/page/album/photos.vue:501 src/page/photos.vue:638 msgid "One picture found" msgstr "Vienas rastas paveikslėlis" -#: src/component/settings/passcode.vue:478 +#: src/component/settings/passcode.vue:481 msgid "Only locally managed accounts can be set up for authentication with 2FA." msgstr "Tik vietoje valdomose paskyrose galima nustatyti autentifikavimą naudojant 2FA." @@ -2171,7 +2206,7 @@ msgstr "Tik vietoje valdomose paskyrose galima nustatyti autentifikavimą naudoj msgid "Open" msgstr "Atviras" -#: src/component/service/add.vue:86 src/component/service/add.vue:107 +#: src/component/service/add.vue:87 src/component/service/add.vue:108 msgid "optional" msgstr "pasirinktinai" @@ -2183,7 +2218,7 @@ msgstr "arba" msgid "Orange" msgstr "Oranžinė" -#: src/page/settings/account.vue:571 src/page/settings/account.vue:573 +#: src/page/settings/account.vue:577 src/page/settings/account.vue:579 msgid "Organization" msgstr "Orientavimasis" @@ -2199,7 +2234,7 @@ msgstr "Originalūs failų pavadinimai bus saugomi ir indeksuojami." msgid "Original Name" msgstr "Originalus pavadinimas" -#: src/component/navigation.vue:1304 src/model/file.js:196 +#: src/component/navigation.vue:1328 src/model/file.js:196 #: src/options/options.js:413 src/page/library/browse.vue:65 #: src/page/settings/content.vue:356 src/page/settings/general.vue:532 msgid "Originals" @@ -2210,7 +2245,7 @@ msgstr "Originalai" msgid "Other" msgstr "Kita" -#: src/page/about/about.vue:77 src/page/about/about.vue:83 +#: src/page/about/about.vue:78 src/page/about/about.vue:84 msgid "Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible." msgstr "Mūsų misija - pateikti vartotojui patogiausią ir privatumą užtikrinantį sprendimą, kad nuotraukos būtų tvarkingos ir prieinamos." @@ -2222,7 +2257,7 @@ msgstr "Lauko" msgid "Page {0}, Current page" msgstr "Puslapis {0}, Dabartinis puslapis" -#: src/component/photo/edit/files.vue:352 src/model/photo.js:859 +#: src/component/photo/edit/files.vue:352 src/model/photo.js:896 msgid "Pages" msgstr "Puslapiai" @@ -2234,15 +2269,15 @@ msgstr "Tinklalapių navigacija" msgid "Panorama" msgstr "Panorama" -#: src/component/navigation.vue:402 +#: src/component/navigation.vue:404 msgid "Panoramas" msgstr "Panoramos" -#: src/component/user/add/dialog.vue:114 src/component/user/add/dialog.vue:115 -#: src/component/service/add.vue:106 src/component/service/edit.vue:352 -#: src/component/settings/apps.vue:121 src/component/settings/passcode.vue:106 -#: src/component/settings/passcode.vue:413 src/component/share/dialog.vue:27 -#: src/options/auth.js:91 src/page/auth/login.vue:196 +#: src/component/user/add/dialog.vue:115 src/component/user/add/dialog.vue:116 +#: src/component/service/add.vue:107 src/component/service/edit.vue:353 +#: src/component/settings/apps.vue:124 src/component/settings/passcode.vue:109 +#: src/component/settings/passcode.vue:416 src/component/share/dialog.vue:27 +#: src/options/auth.js:92 src/page/auth/login.vue:196 msgid "Password" msgstr "Slaptažodis" @@ -2250,9 +2285,9 @@ msgstr "Slaptažodis" msgid "Password changed" msgstr "Pakeistas slaptažodis" -#: src/app/routes.js:404 src/app/routes.js:428 src/component/navigation.vue:845 -#: src/component/navigation.vue:1898 src/component/photo/edit/dialog.vue:228 -#: src/component/photo/edit/dialog.vue:245 src/options/options.js:201 +#: src/app/routes.js:412 src/app/routes.js:436 src/component/navigation.vue:853 +#: src/component/navigation.vue:1939 src/component/photo/edit/dialog.vue:238 +#: src/component/photo/edit/dialog.vue:257 src/options/options.js:201 #: src/page/settings/general.vue:180 msgid "People" msgstr "Žmonės" @@ -2273,23 +2308,23 @@ msgstr "Visam laikui pašalinkite failus, kad atlaisvintumėte saugyklą." msgid "Person" msgstr "Asmuo" -#: src/options/auth.js:42 +#: src/options/auth.js:43 msgid "Personal" msgstr "Asmeninis" -#: src/model/photo.js:1273 +#: src/model/photo.js:1310 msgid "Photo" msgstr "Nuotrauka" -#: src/page/about/about.vue:156 +#: src/page/about/about.vue:158 msgid "PhotoPrism is 100% self-funded and independent." msgstr "\"PhotoPrism\" yra 100 % savarankiškai finansuojama ir nepriklausoma." -#: src/page/about/about.vue:92 +#: src/page/about/about.vue:93 msgid "PhotoPrism+ Membership" msgstr "\"PhotoPrism+\" narystė" -#: src/app/routes.js:156 +#: src/app/routes.js:164 msgid "Photos" msgstr "Nuotraukos" @@ -2310,27 +2345,27 @@ msgstr "Vieta" msgid "Place & Time" msgstr "Vieta & amp; laikas" -#: src/app/routes.js:303 src/app/routes.js:309 src/app/routes.js:315 -#: src/app/routes.js:330 src/component/navigation.vue:986 -#: src/component/navigation.vue:1914 src/options/options.js:203 +#: src/app/routes.js:311 src/app/routes.js:317 src/app/routes.js:323 +#: src/app/routes.js:338 src/component/navigation.vue:999 +#: src/component/navigation.vue:1956 src/options/options.js:203 #: src/page/places.vue:51 src/page/settings/general.vue:609 #: src/page/settings/general.vue:638 msgid "Places" msgstr "Vietos" -#: src/component/settings/password.vue:129 +#: src/component/settings/password.vue:130 msgid "Please confirm your new password." msgstr "Patvirtinkite naująjį slaptažodį." -#: src/component/settings/apps.vue:185 +#: src/component/settings/apps.vue:188 msgid "Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:" msgstr "Nukopijuokite šį atsitiktinai sugeneruotą programos slaptažodį ir laikykite jį saugioje vietoje, nes nebegalėsite jo matyti:" -#: src/component/upload/dialog.vue:203 +#: src/component/upload/dialog.vue:205 msgid "Please do not upload any private, unlawful or offensive pictures." msgstr "Neįkelkite jokių privačių, neteisėtų ar įžeidžiančių nuotraukų." -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Please don't upload photos containing offensive content." msgstr "Neįkelkite nuotraukų, kuriose yra įžeidžiančio turinio." @@ -2338,11 +2373,11 @@ msgstr "Neįkelkite nuotraukų, kuriose yra įžeidžiančio turinio." msgid "Please enter OTP character {0}" msgstr "Įveskite OTP simbolį {0}" -#: src/component/settings/password.vue:66 +#: src/component/settings/password.vue:67 msgid "Please note that changing your password will log you out on other devices and browsers." msgstr "Atkreipkite dėmesį, kad pakeitę slaptažodį atsijungsite kituose įrenginiuose ir naršyklėse." -#: src/page/connect.vue:148 src/page/connect.vue:152 +#: src/page/connect.vue:149 src/page/connect.vue:153 msgid "Please restart your instance for the changes to take effect." msgstr "Kad pakeitimai įsigaliotų, iš naujo paleiskite savo instanciją." @@ -2362,11 +2397,11 @@ msgstr "PNG dydžio riba: %{n}px" msgid "Portrait" msgstr "Portretas" -#: src/component/service/edit.vue:273 +#: src/component/service/edit.vue:274 msgid "Preserve filenames" msgstr "Išsaugoti failų pavadinimus" -#: src/component/upload/dialog.vue:162 +#: src/component/upload/dialog.vue:164 msgid "Press enter to create a new album." msgstr "Paspauskite Enter, kad sukurtumėte naują albumą." @@ -2403,8 +2438,8 @@ msgstr "Ankstesnis vaizdinis" msgid "Primary" msgstr "Pagrindinis" -#: src/app/routes.js:271 src/component/album/edit/dialog.vue:176 -#: src/component/navigation.vue:531 src/component/photo/edit/info.vue:303 +#: src/app/routes.js:279 src/component/album/edit/dialog.vue:177 +#: src/component/navigation.vue:533 src/component/photo/edit/info.vue:303 #: src/page/settings/general.vue:280 msgid "Private" msgstr "Privatus" @@ -2429,7 +2464,7 @@ msgstr "Kokybės filtras" msgid "Quality Score" msgstr "Kokybės balas" -#: src/page/admin/users.vue:169 +#: src/page/admin/users.vue:171 msgid "r" msgstr "r" @@ -2460,7 +2495,7 @@ msgstr "Tik skaitymo režimas" #: src/component/album/edit/dialog.vue:26 src/component/photo/toolbar.vue:116 #: src/component/photo/toolbar.vue:128 src/component/photo/toolbar.vue:138 -#: src/page/albums.vue:102 +#: src/page/albums.vue:103 msgid "Recently Added" msgstr "Neseniai pridėta" @@ -2468,7 +2503,7 @@ msgstr "Neseniai pridėta" msgid "Recently Archived" msgstr "Neseniai archyvuota" -#: src/component/photo/toolbar.vue:139 src/page/albums.vue:103 +#: src/component/photo/toolbar.vue:139 src/page/albums.vue:104 msgid "Recently Edited" msgstr "Neseniai redaguotas" @@ -2493,24 +2528,24 @@ msgstr "Atkūrimo kodas" msgid "Red" msgstr "Raudona" -#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:126 -#: src/component/album/toolbar.vue:79 src/component/photo/toolbar.vue:169 -#: src/page/albums.vue:173 src/page/labels.vue:112 +#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:128 +#: src/component/album/toolbar.vue:84 src/component/photo/toolbar.vue:169 +#: src/page/albums.vue:175 src/page/labels.vue:112 #: src/page/library/browse.vue:90 src/page/library/errors.vue:81 #: src/page/people/new.vue:54 src/page/people/recognized.vue:88 msgid "Refresh" msgstr "Atnaujinti" -#: src/app/routes.js:337 src/component/navigation.vue:943 -#: src/component/navigation.vue:1026 +#: src/app/routes.js:345 src/component/navigation.vue:955 +#: src/component/navigation.vue:1040 msgid "Regions" msgstr "Regionai" -#: src/page/connect.vue:275 src/page/connect.vue:284 +#: src/page/connect.vue:277 src/page/connect.vue:286 msgid "Register" msgstr "Registruotis" -#: src/component/navigation.vue:1773 src/component/update.vue:68 +#: src/component/navigation.vue:1806 src/component/update.vue:68 msgid "Reload" msgstr "Perkrauti" @@ -2555,34 +2590,34 @@ msgstr "Reikalauti, kad nefotografuoti ir prastos kokybės vaizdai būtų perži msgid "Resolution" msgstr "Rezoliucija" -#: src/page/connect.vue:179 src/page/connect.vue:183 +#: src/page/connect.vue:180 src/page/connect.vue:184 #: src/page/settings/advanced.vue:782 msgid "Restart" msgstr "Iš naujo paleiskite" -#: src/component/user/edit/dialog.vue:485 src/component/lightbox.vue:1221 +#: src/component/user/edit/dialog.vue:488 src/component/lightbox.vue:1221 #: src/component/photo/clipboard.vue:77 msgid "Restore" msgstr "Atkurti" -#: src/component/lightbox.vue:2000 +#: src/component/lightbox.vue:2020 msgid "Restored" msgstr "Atkurtas" -#: src/component/service/edit.vue:428 +#: src/component/service/edit.vue:429 msgid "Retry Limit" msgstr "Pakartojimo limitas" -#: src/component/settings/password.vue:128 +#: src/component/settings/password.vue:129 msgid "Retype Password" msgstr "Pakartokite slaptažodį" -#: src/app/routes.js:264 src/component/navigation.vue:505 +#: src/app/routes.js:272 src/component/navigation.vue:507 msgid "Review" msgstr "Peržiūrėkite" -#: src/component/user/add/dialog.vue:171 src/component/user/edit/dialog.vue:284 -#: src/page/admin/sessions.vue:262 src/page/admin/users.vue:73 +#: src/component/user/add/dialog.vue:172 src/component/user/edit/dialog.vue:285 +#: src/page/admin/sessions.vue:263 src/page/admin/users.vue:75 msgid "Role" msgstr "Vaidmuo" @@ -2594,11 +2629,11 @@ msgstr "Eilutės puslapyje:" msgid "Satellite" msgstr "Palydovas" -#: src/component/user/edit/dialog.vue:485 -#: src/component/album/edit/dialog.vue:211 -#: src/component/label/edit/dialog.vue:119 -#: src/component/people/edit/dialog.vue:132 src/component/service/edit.vue:466 -#: src/component/settings/password.vue:172 src/component/share/dialog.vue:181 +#: src/component/user/edit/dialog.vue:488 +#: src/component/album/edit/dialog.vue:212 +#: src/component/label/edit/dialog.vue:120 +#: src/component/people/edit/dialog.vue:133 src/component/service/edit.vue:467 +#: src/component/settings/password.vue:173 src/component/share/dialog.vue:181 msgid "Save" msgstr "Išsaugoti" @@ -2606,23 +2641,23 @@ msgstr "Išsaugoti" msgid "Scan" msgstr "Skenuoti" -#: src/component/settings/passcode.vue:179 +#: src/component/settings/passcode.vue:182 msgid "Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:" msgstr "Nuskaitykite QR kodą naudodami autentifikavimo programą arba naudokite toliau pateiktą sąrankos raktą ir įveskite sugeneruotą patvirtinimo kodą:" -#: src/component/navigation.vue:461 +#: src/component/navigation.vue:463 msgid "Scans" msgstr "Skenuoja" -#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:377 -#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:310 +#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:381 +#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:313 msgid "Scope" msgstr "Apimtis" -#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:62 -#: src/component/navigation.vue:342 src/component/navigation.vue:1866 -#: src/component/photo/toolbar.vue:57 src/options/options.js:197 -#: src/page/albums.vue:100 src/page/labels.vue:77 +#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:69 +#: src/component/location/dialog.vue:133 src/component/navigation.vue:343 +#: src/component/navigation.vue:1905 src/component/photo/toolbar.vue:57 +#: src/options/options.js:197 src/page/albums.vue:100 src/page/labels.vue:77 #: src/page/library/errors.vue:76 src/page/people/recognized.vue:66 #: src/page/places.vue:79 src/page/settings/content.vue:235 msgid "Search" @@ -2660,11 +2695,11 @@ msgstr "Pasirinkite datą" msgid "Select dates" msgstr "Pasirinkite datas" -#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:154 +#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:156 msgid "Select or create an album" msgstr "Pasirinkite arba sukurkite albumą" -#: src/component/upload/dialog.vue:138 +#: src/component/upload/dialog.vue:140 msgid "Select the files to upload…" msgstr "Pasirinkite failus, kuriuos norite įkelti…" @@ -2692,7 +2727,7 @@ msgstr "Atkurta atranka" msgid "Sequential Name" msgstr "Sekvencinis pavadinimas" -#: src/component/service/add.vue:67 src/component/service/edit.vue:322 +#: src/component/service/add.vue:68 src/component/service/edit.vue:323 #: src/component/share/dialog.vue:25 msgid "Service URL" msgstr "Paslaugos URL" @@ -2701,7 +2736,7 @@ msgstr "Paslaugos URL" msgid "Services" msgstr "Paslaugos URL" -#: src/model/session.js:107 src/options/auth.js:41 src/options/auth.js:90 +#: src/model/session.js:107 src/options/auth.js:42 src/options/auth.js:91 msgid "Session" msgstr "Sesija" @@ -2709,7 +2744,7 @@ msgstr "Sesija" msgid "Session ID" msgstr "Sesijos ID" -#: src/page/admin.vue:45 +#: src/page/admin.vue:44 msgid "Sessions" msgstr "Sesijos" @@ -2717,22 +2752,22 @@ msgstr "Sesijos" msgid "Set as Album Cover" msgstr "Nustatyti kaip albumo viršelį" -#: src/app/routes.js:101 src/app/routes.js:492 src/app/routes.js:504 -#: src/app/routes.js:521 src/app/routes.js:534 src/app/routes.js:547 -#: src/component/navigation.vue:1394 src/component/navigation.vue:1806 +#: src/app/routes.js:101 src/app/routes.js:500 src/app/routes.js:512 +#: src/app/routes.js:529 src/app/routes.js:542 src/app/routes.js:555 +#: src/component/navigation.vue:1419 src/component/navigation.vue:1841 msgid "Settings" msgstr "Nustatymai" #: src/page/settings/account.vue:115 src/page/settings/account.vue:144 -#: src/component/settings/passcode.vue:147 +#: src/component/settings/passcode.vue:151 msgid "Settings saved" msgstr "Išsaugoti nustatymai" -#: src/component/service/upload.vue:131 src/component/settings/passcode.vue:160 +#: src/component/service/upload.vue:132 src/component/settings/passcode.vue:163 msgid "Setup" msgstr "Sąranka" -#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:98 +#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:103 #: src/component/photo/clipboard.vue:51 src/page/settings/general.vue:382 msgid "Share" msgstr "Dalytis" @@ -2749,7 +2784,7 @@ msgstr "bendrinkite nuotraukas su kitomis programomis ir paslaugomis." msgid "Show" msgstr "Rodyti" -#: src/page/people/new.vue:116 src/page/people/new.vue:233 +#: src/page/people/new.vue:116 src/page/people/new.vue:235 msgid "Show all new faces" msgstr "Rodyti visus naujus veidus" @@ -2794,7 +2829,7 @@ msgid "Similar" msgstr "Panašiai" #: src/component/photo/edit/files.vue:51 src/component/photo/edit/files.vue:341 -#: src/component/service/edit.vue:139 src/component/sidebar/info.vue:96 +#: src/component/service/edit.vue:140 src/component/sidebar/info.vue:96 msgid "Size" msgstr "Dydis" @@ -2822,7 +2857,7 @@ msgstr "Kažkas nepavyko, bandykite dar kartą" msgid "Sort by" msgstr "Rūšiuoti pagal" -#: src/component/album/edit/dialog.vue:142 src/component/photo/toolbar.vue:288 +#: src/component/album/edit/dialog.vue:143 src/component/photo/toolbar.vue:290 #: src/page/albums.vue:214 msgid "Sort Order" msgstr "Rūšiavimo tvarka" @@ -2857,7 +2892,7 @@ msgstr "Sudėkite nuotraukas, padarytas tuo pačiu laiku ir toje pačioje vietoj msgid "Stackable" msgstr "Sukraunamas" -#: src/component/navigation.vue:421 src/page/settings/content.vue:136 +#: src/component/navigation.vue:423 src/page/settings/content.vue:136 msgid "Stacks" msgstr "Komodos" @@ -2885,16 +2920,16 @@ msgstr "Saugojimo aplankas" msgid "Streets" msgstr "Gatvės" -#: src/component/photo/edit/details.vue:494 +#: src/component/photo/edit/details.vue:468 #: src/component/photo/edit/labels.vue:44 msgid "Subject" msgstr "Tema" -#: src/page/about/feedback.vue:162 src/page/about/feedback.vue:163 +#: src/page/about/feedback.vue:163 src/page/about/feedback.vue:164 msgid "Submit" msgstr "Pateikti" -#: src/component/settings/passcode.vue:132 +#: src/component/settings/passcode.vue:136 msgid "Successfully activated" msgstr "Sėkmingai suaktyvinta" @@ -2903,23 +2938,23 @@ msgid "Successfully Connected" msgstr "Sėkmingai prijungtas" #: src/component/session/remove/dialog.vue:32 -#: src/component/settings/apps.vue:218 +#: src/component/settings/apps.vue:222 msgid "Successfully deleted" msgstr "Sėkmingai ištrintas" -#: src/component/settings/passcode.vue:107 +#: src/component/settings/passcode.vue:108 msgid "Successfully verified" msgstr "Sėkmingai patvirtinta" -#: src/component/user/edit/dialog.vue:398 src/page/admin/users.vue:163 +#: src/component/user/edit/dialog.vue:399 src/page/admin/users.vue:165 msgid "Super Admin" msgstr "Super administratorius" -#: src/component/service/add.vue:122 +#: src/component/service/add.vue:123 msgid "Support for additional services, like Google Drive, will be added over time." msgstr "Papildomų paslaugų, pavyzdžiui, \"Google Drive\", palaikymas bus pridėtas laikui bėgant." -#: src/component/confirm/sponsor.vue:37 src/component/navigation.vue:1629 +#: src/component/confirm/sponsor.vue:38 src/component/navigation.vue:1660 msgid "Support Our Mission" msgstr "Palaikykite mūsų misiją" @@ -2927,7 +2962,7 @@ msgstr "Palaikykite mūsų misiją" msgid "Sync" msgstr "Sinchronizavimas" -#: src/component/service/edit.vue:289 +#: src/component/service/edit.vue:290 msgid "Sync raw and video files" msgstr "Sinchronizuokite neapdorotus ir vaizdo failus" @@ -2953,23 +2988,23 @@ msgstr "Vietovė" msgid "Text" msgstr "Tekstas" -#: src/component/photo/edit/details.vue:32 src/page/people/new.vue:71 +#: src/component/photo/edit/details.vue:40 src/page/people/new.vue:71 msgid "Text too long" msgstr "Per ilgas tekstas" -#: src/page/about/about.vue:145 +#: src/page/about/about.vue:146 msgid "Thank You for Your Support!" msgstr "Ačiū už paramą!" -#: src/page/about/about.vue:79 src/page/about/about.vue:85 +#: src/page/about/about.vue:80 src/page/about/about.vue:86 msgid "That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality." msgstr "Todėl \"PhotoPrism\" buvo sukurta nuo pat pradžių, kad veiktų ten, kur jums reikia, nesumažinant laisvės, privatumo ar funkcionalumo." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "The index currently contains %{n} hidden files." msgstr "Šiuo metu rodyklėje yra %{n} paslėptų failų." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates." msgstr "Jų formatas gali būti nepalaikomas, jos dar nebuvo konvertuotos į JPEG arba yra dublikatų." @@ -2984,44 +3019,44 @@ msgstr "Tema" msgid "This field is required" msgstr "Šis laukas yra privalomas" -#: src/component/settings/webdav.vue:100 src/page/settings/services.vue:144 +#: src/component/settings/webdav.vue:101 src/page/settings/services.vue:147 msgid "This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local." msgstr "Taip aplankas \"Originals\" prijungiamas kaip tinklo diskas ir galite atidaryti, redaguoti ir ištrinti failus iš kompiuterio ar išmaniojo telefono taip, tarsi jie būtų vietiniai." -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Time UTC" msgstr "Laikas UTC" -#: src/component/photo/edit/details.vue:219 src/page/settings/general.vue:108 +#: src/component/photo/edit/details.vue:221 src/page/settings/general.vue:108 msgid "Time Zone" msgstr "Laiko juosta" -#: src/component/service/edit.vue:408 +#: src/component/service/edit.vue:409 msgid "Timeout" msgstr "Laiko juosta" -#: src/component/user/edit/dialog.vue:98 src/component/user/edit/dialog.vue:99 +#: src/component/user/edit/dialog.vue:99 src/component/user/edit/dialog.vue:100 #: src/page/settings/account.vue:84 src/page/settings/account.vue:86 msgctxt "Account" msgid "Title" msgstr "Pavadinimas" -#: src/component/photo/edit/details.vue:73 +#: src/component/photo/edit/details.vue:75 msgctxt "Photo" msgid "Title" msgstr "Pavadinimas" -#: src/component/photo/edit/info.vue:59 src/component/photo/edit/info.vue:155 +#: src/component/photo/edit/info.vue:61 src/component/photo/edit/info.vue:155 #: src/component/photo/edit/labels.vue:40 src/component/photo/view/list.vue:114 #: src/component/sidebar/info.vue:57 msgid "Title" msgstr "Pavadinimas" -#: src/page/settings/account.vue:553 src/page/settings/account.vue:555 +#: src/page/settings/account.vue:559 src/page/settings/account.vue:561 msgid "Title / Position" msgstr "Per ilga antraštė" -#: src/page/albums.vue:83 +#: src/page/albums.vue:84 msgid "Title too long" msgstr "Per ilga antraštė" @@ -3029,19 +3064,19 @@ msgstr "Per ilga antraštė" msgid "to" msgstr "į" -#: src/component/settings/passcode.vue:312 +#: src/component/settings/passcode.vue:315 msgid "To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place." msgstr "Jei nenorite prisijungti prie paskyros, atsisiųskite, atsispausdinkite arba nukopijuokite šį atkūrimo kodą dabar ir laikykite jį saugioje vietoje." -#: src/component/settings/apps.vue:272 +#: src/component/settings/apps.vue:275 msgid "To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:" msgstr "Norėdami sugeneruoti naują konkrečios programos slaptažodį, įveskite programos pavadinimą, prieigos teisę ir pasirinkite galiojimo datą:" -#: src/component/settings/passcode.vue:400 +#: src/component/settings/passcode.vue:403 msgid "To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:" msgstr "Norėdami pereiti prie naujos autentifikavimo programos ar įrenginio, pirmiausia išjunkite dviejų veiksnių autentifikavimą ir vėl suaktyvinkite:" -#: src/page/connect.vue:221 src/page/connect.vue:230 +#: src/page/connect.vue:223 src/page/connect.vue:232 msgid "To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:" msgstr "Norėdami atnaujinti, galite įvesti aktyvavimo kodą arba spustelėti \"Registruotis\" ir užsiregistruoti mūsų svetainėje:" @@ -3049,7 +3084,7 @@ msgstr "Norėdami atnaujinti, galite įvesti aktyvavimo kodą arba spustelėti \ msgid "Today" msgstr "Šiandien" -#: src/component/album/toolbar.vue:70 src/component/photo/toolbar.vue:78 +#: src/component/album/toolbar.vue:71 src/component/photo/toolbar.vue:78 msgid "Toggle View" msgstr "Perjungti vaizdą" @@ -3076,20 +3111,24 @@ msgstr "Trikčių šalinimas" msgid "Try again using other filters or keywords." msgstr "Bandykite dar kartą naudoti kitus filtrus arba raktinius žodžius." -#: src/component/settings/passcode.vue:380 +#: src/component/settings/passcode.vue:383 msgid "Two-factor authentication has been enabled for your account." msgstr "Jūsų paskyroje įgalintas dviejų veiksnių autentifikavimas." #: src/component/photo/edit/files.vue:58 src/component/photo/edit/files.vue:330 -#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:388 +#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:389 msgid "Type" msgstr "Tipas" -#: src/options/auth.js:13 +#: src/component/album/toolbar.vue:178 +msgid "Unable to delete" +msgstr "Nepavyksta ištrinti" + +#: src/options/auth.js:14 msgid "Unauthorized" msgstr "Neteisėtas" -#: src/component/photo/edit/people.vue:94 +#: src/component/photo/edit/people.vue:95 msgid "Undo" msgstr "Panaikinti" @@ -3097,16 +3136,16 @@ msgstr "Panaikinti" msgid "Unique ID" msgstr "Unikalus ID" -#: src/page/settings/account.vue:451 src/page/settings/account.vue:476 -#: src/page/settings/account.vue:501 src/common/util.js:487 -#: src/component/photo/edit/details.vue:21 -#: src/component/photo/edit/details.vue:111 -#: src/component/photo/edit/details.vue:138 -#: src/component/photo/edit/details.vue:164 src/component/sidebar/info.vue:43 -#: src/model/album.js:193 src/model/photo.js:323 src/model/photo.js:784 -#: src/model/photo.js:809 src/model/photo.js:832 src/model/photo.js:850 -#: src/model/photo.js:897 src/model/photo.js:905 src/model/photo.js:994 -#: src/model/photo.js:1016 src/model/photo.js:1061 src/model/photo.js:1074 +#: src/page/settings/account.vue:457 src/page/settings/account.vue:482 +#: src/page/settings/account.vue:507 src/common/util.js:488 +#: src/component/photo/edit/details.vue:27 +#: src/component/photo/edit/details.vue:113 +#: src/component/photo/edit/details.vue:140 +#: src/component/photo/edit/details.vue:166 src/component/sidebar/info.vue:43 +#: src/model/album.js:193 src/model/photo.js:331 src/model/photo.js:821 +#: src/model/photo.js:846 src/model/photo.js:869 src/model/photo.js:887 +#: src/model/photo.js:934 src/model/photo.js:942 src/model/photo.js:1031 +#: src/model/photo.js:1053 src/model/photo.js:1098 src/model/photo.js:1111 #: src/model/user.js:157 src/options/options.js:51 src/options/options.js:69 #: src/options/options.js:86 src/options/options.js:100 #: src/options/options.js:112 src/page/library/errors.vue:251 @@ -3119,7 +3158,7 @@ msgstr "Nežinomas" msgid "Unregistered" msgstr "Neregistruotas" -#: src/app/routes.js:215 src/component/navigation.vue:644 +#: src/app/routes.js:223 src/component/navigation.vue:648 msgid "Unsorted" msgstr "Nerūšiuota" @@ -3127,7 +3166,7 @@ msgstr "Nerūšiuota" msgid "Unstack" msgstr "Atlaisvinkite" -#: src/component/photo/edit/files.vue:519 src/component/photo/edit/info.vue:416 +#: src/component/photo/edit/files.vue:521 src/component/photo/edit/info.vue:416 msgid "Updated" msgstr "Atnaujinta" @@ -3143,7 +3182,7 @@ msgstr "Indekso atnaujinimas" msgid "Updating moments" msgstr "Akimirkų atnaujinimas" -#: src/component/user/edit/dialog.vue:154 +#: src/component/user/edit/dialog.vue:155 msgid "Updating picture…" msgstr "Peržiūrų atnaujinimas" @@ -3155,21 +3194,21 @@ msgstr "Peržiūrų atnaujinimas" msgid "Updating stacks" msgstr "Kaminų atnaujinimas" -#: src/page/connect.vue:57 src/component/navigation.vue:1500 -#: src/component/navigation.vue:1614 src/component/navigation.vue:1999 +#: src/page/connect.vue:57 src/component/navigation.vue:1526 +#: src/component/navigation.vue:1644 src/component/navigation.vue:2047 #: src/page/connect.vue:58 msgid "Upgrade" msgstr "Atnaujinti" -#: src/page/about/about.vue:123 src/page/connect.vue:202 -#: src/component/confirm/sponsor.vue:98 src/page/about/about.vue:113 -#: src/page/connect.vue:206 +#: src/page/about/about.vue:124 src/page/connect.vue:204 +#: src/component/confirm/sponsor.vue:99 src/page/about/about.vue:114 +#: src/page/connect.vue:208 msgid "Upgrade Now" msgstr "Atnaujinti dabar" -#: src/component/album/toolbar.vue:108 src/component/navigation.vue:1824 -#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:144 -#: src/component/upload/dialog.vue:51 src/page/albums.vue:183 +#: src/component/album/toolbar.vue:113 src/component/navigation.vue:1860 +#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:145 +#: src/component/upload/dialog.vue:51 src/page/albums.vue:185 #: src/page/labels.vue:122 src/page/library/import.vue:133 #: src/page/settings/general.vue:307 src/page/settings/services.vue:38 msgid "Upload" @@ -3179,21 +3218,21 @@ msgstr "Įkelti" msgid "Upload complete" msgstr "Įkėlimas baigtas" -#: src/component/upload/dialog.vue:133 +#: src/component/upload/dialog.vue:135 msgid "Upload complete. Indexing…" msgstr "Įkėlimas baigtas. Indeksavimas…" #: src/component/upload/dialog.vue:296 src/component/upload/dialog.vue:315 -#: src/component/upload/dialog.vue:129 +#: src/component/upload/dialog.vue:131 msgid "Upload failed" msgstr "Įkelti nepavyko" -#: src/component/service/edit.vue:257 +#: src/component/service/edit.vue:258 msgid "Upload local files" msgstr "Įkelti vietinius failus" -#: src/component/user/edit/dialog.vue:380 #: src/component/user/edit/dialog.vue:381 +#: src/component/user/edit/dialog.vue:382 msgid "Upload Path" msgstr "Įkėlimo kelias" @@ -3201,7 +3240,7 @@ msgstr "Įkėlimo kelias" msgid "Upload to WebDAV and share links with friends." msgstr "Įkelkite į WebDAV ir bendrinkite nuorodas su draugais." -#: src/component/upload/dialog.vue:131 +#: src/component/upload/dialog.vue:133 msgid "Uploading %{n} of %{t}…" msgstr "Įkeliama %{n} iš %{t}…" @@ -3214,7 +3253,7 @@ msgstr "Nuotraukų įkėlimas…" msgid "Uploading…" msgstr "Perkrovimas…" -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Uploads that may contain such images will be rejected automatically." msgstr "Siunčiami vaizdai, kuriuose gali būti tokių vaizdų, bus automatiškai atmesti." @@ -3222,7 +3261,7 @@ msgstr "Siunčiami vaizdai, kuriuose gali būti tokių vaizdų, bus automatiška msgid "Use Presets" msgstr "Naudokite išankstinius nustatymus" -#: src/component/settings/passcode.vue:283 +#: src/component/settings/passcode.vue:286 msgid "Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:" msgstr "Jei negalite sugeneruoti galiojančio patvirtinimo kodo naudodami autentifikavimo programą, naudokite šį atkūrimo kodą, kad pasiektumėte paskyrą:" @@ -3230,12 +3269,12 @@ msgstr "Jei negalite sugeneruoti galiojančio patvirtinimo kodo naudodami autent msgid "Use your recovery code or contact an administrator for help." msgstr "Naudokite atkūrimo kodą arba kreipkitės pagalbos į administratorių." -#: src/options/admin.js:10 src/page/admin/sessions.vue:59 -#: src/page/admin/sessions.vue:242 src/model/user.js:361 src/options/auth.js:7 +#: src/options/admin.js:14 src/page/admin/sessions.vue:59 +#: src/page/admin/sessions.vue:243 src/model/user.js:361 src/options/auth.js:8 msgid "User" msgstr "Vartotojas" -#: src/component/navigation.vue:1979 +#: src/component/navigation.vue:2025 msgid "User Guide" msgstr "Naudotojo vadovas" @@ -3243,14 +3282,14 @@ msgstr "Naudotojo vadovas" msgid "User Interface" msgstr "Vartotojo sąsaja" -#: src/component/user/add/dialog.vue:87 src/component/user/add/dialog.vue:88 -#: src/page/admin/sessions.vue:220 src/page/admin/users.vue:71 -#: src/component/service/add.vue:85 src/component/service/edit.vue:337 +#: src/component/user/add/dialog.vue:88 src/component/user/add/dialog.vue:89 +#: src/page/admin/sessions.vue:221 src/page/admin/users.vue:73 +#: src/component/service/add.vue:86 src/component/service/edit.vue:338 #: src/component/share/dialog.vue:26 msgid "Username" msgstr "Vartotojo vardas" -#: src/component/navigation.vue:1435 +#: src/component/navigation.vue:1461 msgid "Users" msgstr "Vartotojai" @@ -3260,18 +3299,18 @@ msgstr "Vartotojai" msgid "Vector" msgstr "Vektorius" -#: src/component/navigation.vue:440 +#: src/component/navigation.vue:442 msgid "Vectors" msgstr "Vektoriai" -#: src/component/settings/passcode.vue:227 src/page/auth/login.vue:144 +#: src/component/settings/passcode.vue:230 src/page/auth/login.vue:144 msgid "Verification Code" msgstr "Patvirtinimo kodas" #: src/component/photo/view/cards.vue:363 #: src/component/photo/view/cards.vue:491 src/component/photo/view/list.vue:190 #: src/component/photo/view/mosaic.vue:207 src/model/file.js:221 -#: src/model/photo.js:921 src/model/photo.js:939 src/options/options.js:293 +#: src/model/photo.js:958 src/model/photo.js:976 src/options/options.js:293 msgid "Video" msgstr "Vaizdo įrašas" @@ -3280,12 +3319,12 @@ msgstr "Vaizdo įrašas" msgid "Video Duration" msgstr "Dovanos" -#: src/app/routes.js:243 src/component/navigation.vue:728 +#: src/app/routes.js:251 src/component/navigation.vue:734 #: src/options/options.js:200 msgid "Videos" msgstr "Vaizdo įrašai" -#: src/component/photo/toolbar.vue:261 src/component/photo/view/cards.vue:350 +#: src/component/photo/toolbar.vue:263 src/component/photo/view/cards.vue:350 #: src/component/photo/view/mosaic.vue:194 msgid "View" msgstr "Peržiūrėti" @@ -3294,11 +3333,11 @@ msgstr "Peržiūrėti" msgid "View search results as a list." msgstr "Peržiūrėkite paieškos rezultatus kaip sąrašą." -#: src/options/admin.js:14 src/options/auth.js:8 +#: src/options/admin.js:18 src/options/auth.js:9 msgid "Viewer" msgstr "Peržiūrėtojas" -#: src/page/admin/sessions.vue:271 src/options/auth.js:12 +#: src/page/admin/sessions.vue:272 src/options/auth.js:13 msgid "Visitor" msgstr "Lankytojas" @@ -3310,34 +3349,34 @@ msgstr "Grupuokite pagal panašumą" msgid "Warning" msgstr "Įspėjimas" -#: src/page/about/feedback.vue:60 +#: src/page/about/feedback.vue:61 msgid "We appreciate your feedback!" msgstr "Vertiname jūsų atsiliepimus!" -#: src/page/about/feedback.vue:63 +#: src/page/about/feedback.vue:64 msgid "We do our best to respond within five business days or less." msgstr "Stengiamės atsakyti per penkias darbo dienas ar greičiau." -#: src/component/user/add/dialog.vue:235 src/component/user/edit/dialog.vue:415 -#: src/page/admin/users.vue:80 +#: src/component/user/add/dialog.vue:236 src/component/user/edit/dialog.vue:416 +#: src/page/admin/users.vue:82 msgid "Web Login" msgstr "Prisijungimas internetu" -#: src/component/user/add/dialog.vue:248 src/component/user/edit/dialog.vue:432 -#: src/page/admin/users.vue:82 src/options/auth.js:55 src/options/auth.js:68 +#: src/component/user/add/dialog.vue:249 src/component/user/edit/dialog.vue:433 +#: src/page/admin/users.vue:84 src/options/auth.js:56 src/options/auth.js:69 #: src/options/options.js:444 msgid "WebDAV" msgstr "WebDAV" -#: src/component/settings/webdav.vue:51 +#: src/component/settings/webdav.vue:52 msgid "WebDAV clients can connect to PhotoPrism using the following URL:" msgstr "WebDAV klientai gali prisijungti prie \"PhotoPrism\" naudodami šį URL adresą:" -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism." msgstr "„WebDAV“ klientai, tokie kaip „Microsoft“ „Windows Explorer“ arba „Apple Finder“, gali prisijungti tiesiogiai prie „PhotoPrism“." -#: src/component/service/upload.vue:50 src/component/share/dialog.vue:220 +#: src/component/service/upload.vue:51 src/component/share/dialog.vue:220 msgid "WebDAV Upload" msgstr "WebDAV įkėlimas" @@ -3345,8 +3384,8 @@ msgstr "WebDAV įkėlimas" msgid "WebGL support is disabled in your browser" msgstr "Naršyklėje išjungtas \"WebGL\" palaikymas" -#: src/page/settings/account.vue:615 src/page/settings/account.vue:709 -#: src/page/settings/account.vue:601 +#: src/page/settings/account.vue:621 src/page/settings/account.vue:715 +#: src/page/settings/account.vue:607 msgid "Website" msgstr "Svetainė" @@ -3354,12 +3393,12 @@ msgstr "Svetainė" msgid "White" msgstr "Balta" -#: src/page/settings/account.vue:532 +#: src/page/settings/account.vue:538 msgid "Work Details" msgstr "Detalės" -#: src/page/settings/account.vue:500 src/component/photo/edit/details.vue:163 -#: src/component/photo/toolbar.vue:315 src/page/albums.vue:159 +#: src/page/settings/account.vue:506 src/component/photo/edit/details.vue:165 +#: src/component/photo/toolbar.vue:317 src/page/albums.vue:159 msgid "Year" msgstr "Metai" @@ -3367,21 +3406,21 @@ msgstr "Metai" msgid "Yellow" msgstr "Geltona" -#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:58 -#: src/component/photo/archive/dialog.vue:58 +#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:59 +#: src/component/photo/archive/dialog.vue:59 #: src/component/photo/clipboard.vue:200 src/component/photo/edit/files.vue:365 #: src/component/photo/edit/files.vue:395 #: src/component/photo/edit/files.vue:401 #: src/component/photo/edit/files.vue:407 -#: src/component/photo/edit/files.vue:510 src/component/photo/edit/info.vue:281 +#: src/component/photo/edit/files.vue:512 src/component/photo/edit/info.vue:281 #: src/component/photo/edit/info.vue:297 src/component/photo/edit/info.vue:313 #: src/component/photo/edit/info.vue:329 src/component/photo/edit/info.vue:344 -#: src/component/photo/toolbar.vue:434 +#: src/component/photo/toolbar.vue:436 msgid "Yes" msgstr "Taip" -#: src/component/confirm/sponsor.vue:59 src/page/about/about.vue:158 -#: src/page/connect.vue:315 +#: src/component/confirm/sponsor.vue:60 src/page/about/about.vue:160 +#: src/page/connect.vue:317 msgid "You are welcome to contact us at membership@photoprism.app for questions regarding your membership." msgstr "Kviečiame susisiekti su mumis el. paštu membership@photoprism.app ir užduoti klausimus, susijusius su naryste." @@ -3393,7 +3432,11 @@ msgstr "Galite atsisiųsti tik vieną albumą" msgid "You can only download one label" msgstr "Galite atsisiųsti tik vieną etiketę" -#: src/component/upload/dialog.vue:203 +#: src/component/location/dialog.vue:178 +msgid "You can search for a location or move the marker on the map to change the position:" +msgstr "Galite ieškoti vietos arba perkelti žymeklį žemėlapyje, kad pakeistumėte vietą:" + +#: src/component/upload/dialog.vue:205 msgid "You can upload up to %{n} files for test purposes." msgstr "Bandymo tikslais galite įkelti iki %{n} failų." @@ -3406,7 +3449,7 @@ msgstr "Galite pasirinkti tik vieną elementą" msgid "You may rescan your library to find additional faces." msgstr "Norėdami rasti papildomų veidų, galite iš naujo nuskaityti savo biblioteką." -#: src/page/connect.vue:146 src/page/connect.vue:150 +#: src/page/connect.vue:147 src/page/connect.vue:151 msgid "Your account has been successfully connected." msgstr "Jūsų paskyra sėkmingai prijungta." @@ -3414,8 +3457,8 @@ msgstr "Jūsų paskyra sėkmingai prijungta." msgid "Your browser does not support WebGL" msgstr "Jūsų naršyklė nepalaiko WebGL" -#: src/component/confirm/sponsor.vue:43 src/page/about/about.vue:97 -#: src/page/about/about.vue:156 src/page/connect.vue:220 +#: src/component/confirm/sponsor.vue:44 src/page/about/about.vue:98 +#: src/page/about/about.vue:158 src/page/connect.vue:222 msgid "Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy." msgstr "Jūsų nuolatinė parama padeda mums reguliariai teikti atnaujinimus ir tokias paslaugas kaip pasaulio žemėlapiai." @@ -3496,9 +3539,6 @@ msgstr "Priartinimas / atitolinimas" #~ msgid "Open Folder" #~ msgstr "Atidaryti aplanką" -#~ msgid "Cannot copy to clipboard" -#~ msgstr "Negalima kopijuoti į iškarpinę" - #~ msgid "Sound" #~ msgstr "Garsas" diff --git a/frontend/src/locales/ms.po b/frontend/src/locales/ms.po index ea6c9e2fc..f2f83181c 100644 --- a/frontend/src/locales/ms.po +++ b/frontend/src/locales/ms.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: ci@photoprism.app\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2025-04-04 08:03+0000\n" +"PO-Revision-Date: 2025-07-06 08:58+0000\n" "Last-Translator: Google Cloud Translation Basic \n" "Language-Team: \n" "Language: ms\n" @@ -11,7 +11,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.10.4\n" +"X-Generator: Weblate 5.12.2\n" "Generated-By: easygettext\n" #: src/locales.js:268 @@ -42,7 +42,7 @@ msgstr "{0} dipilih" msgid "{0}-{1} of {2}" msgstr "{0}-{1} daripada {2}" -#: src/page/albums.vue:612 +#: src/page/albums.vue:617 msgid "%{n} albums found" msgstr "%{n} album ditemui" @@ -50,25 +50,25 @@ msgstr "%{n} album ditemui" msgid "%{n} files uploaded" msgstr "%{n} fail dimuat naik" -#: src/page/library/browse.vue:362 +#: src/page/library/browse.vue:364 msgid "%{n} folders found" msgstr "%{n} folder ditemui" -#: src/component/navigation.vue:1676 +#: src/component/navigation.vue:1707 msgid "%{n} GB of %{q} GB used" msgstr "%{n} GB daripada %{q} GB digunakan" -#: src/page/labels.vue:528 +#: src/page/labels.vue:533 msgid "%{n} labels found" msgstr "%{n} label ditemui" -#: src/page/people/new.vue:350 src/page/people/new.vue:447 -#: src/page/people/recognized.vue:536 +#: src/page/people/new.vue:350 src/page/people/new.vue:450 +#: src/page/people/recognized.vue:541 msgid "%{n} people found" msgstr "%{n} orang ditemui" -#: src/page/album/photos.vue:308 src/page/album/photos.vue:493 -#: src/page/photos.vue:441 src/page/photos.vue:631 +#: src/page/album/photos.vue:313 src/page/album/photos.vue:504 +#: src/page/photos.vue:446 src/page/photos.vue:641 msgid "%{n} pictures found" msgstr "%{n} gambar ditemui" @@ -88,12 +88,12 @@ msgstr "1 jam" msgid "12 hours" msgstr "12 jam" -#: src/component/user/edit/dialog.vue:452 src/page/settings/account.vue:324 -#: src/component/settings/passcode.vue:75 +#: src/component/user/edit/dialog.vue:453 src/page/settings/account.vue:325 +#: src/component/settings/passcode.vue:78 msgid "2-Factor Authentication" msgstr "2-Faktor Pengesahan" -#: src/component/user/edit/dialog.vue:451 src/options/auth.js:46 +#: src/component/user/edit/dialog.vue:452 src/options/auth.js:47 msgid "2FA" msgstr "2FA" @@ -109,20 +109,20 @@ msgstr "Satu klik akan menyalinnya ke papan klip anda." msgid "A new version of %{s} is available:" msgstr "Versi baharu %{s} tersedia:" -#: src/component/user/edit/dialog.vue:233 -#: src/component/user/edit/dialog.vue:234 src/page/about/about.vue:56 +#: src/component/user/edit/dialog.vue:234 +#: src/component/user/edit/dialog.vue:235 src/page/about/about.vue:56 #: src/page/settings/account.vue:248 src/page/settings/account.vue:249 -#: src/app/routes.js:63 src/component/navigation.vue:1521 -#: src/page/people/recognized.vue:292 +#: src/app/routes.js:63 src/component/navigation.vue:1547 +#: src/page/people/recognized.vue:296 msgid "About" msgstr "Mengenai" -#: src/options/auth.js:26 src/options/auth.js:44 +#: src/options/auth.js:27 src/options/auth.js:45 msgid "Access Token" msgstr "Token akses" -#: src/component/navigation.vue:87 src/component/navigation.vue:1788 -#: src/component/service/upload.vue:71 src/model/service.js:96 +#: src/component/navigation.vue:87 src/component/navigation.vue:1822 +#: src/component/service/upload.vue:72 src/model/service.js:96 #: src/model/user.js:171 src/page/settings.vue:85 #: src/page/settings/general.vue:582 msgid "Account" @@ -136,7 +136,7 @@ msgstr "Akaun dibuat" msgid "Account deleted" msgstr "Akaun dipadamkan" -#: src/page/admin/users.vue:335 +#: src/page/admin/users.vue:337 msgid "Account restored" msgstr "Akaun dipulihkan" @@ -157,8 +157,8 @@ msgstr "Tindakan" msgid "Actions" msgstr "Tindakan" -#: src/page/connect.vue:294 src/component/settings/passcode.vue:346 -#: src/page/connect.vue:303 +#: src/page/connect.vue:296 src/component/settings/passcode.vue:349 +#: src/page/connect.vue:305 msgid "Activate" msgstr "Aktifkan" @@ -174,20 +174,20 @@ msgstr "Aktifkan untuk mengisih menaik." msgid "Activate to sort descending." msgstr "Aktifkan untuk mengisih menurun." -#: src/page/connect.vue:231 src/page/connect.vue:240 +#: src/page/connect.vue:233 src/page/connect.vue:242 msgid "Activation Code" msgstr "Kod pengaktifan" -#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:83 -#: src/component/settings/apps.vue:448 +#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:92 +#: src/component/settings/apps.vue:451 msgid "Add" msgstr "Tambah" -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:246 msgid "Add %{s}?" msgstr "Tambah %{s}?" -#: src/component/user/add/dialog.vue:56 src/component/service/add.vue:49 +#: src/component/user/add/dialog.vue:57 src/component/service/add.vue:50 msgid "Add Account" msgstr "Edit Akaun" @@ -204,8 +204,8 @@ msgid "Add Link" msgstr "Tambah Pautan" #: src/component/photo/edit/people.vue:25 -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:57 -#: src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:57 +#: src/page/people/new.vue:246 msgid "Add person?" msgstr "Tambah orang?" @@ -221,10 +221,15 @@ msgstr "Tambahkan gambar dengan memilihnya daripada hasil carian." msgid "Add to album" msgstr "Tambah kepada album" -#: src/component/photo/edit/files.vue:514 +#: src/component/photo/edit/files.vue:516 msgid "Added" msgstr "Ditambah" +#: src/component/location/dialog.vue:68 src/component/location/dialog.vue:90 +#: src/component/photo/edit/details.vue:246 +msgid "Adjust Location" +msgstr "Laraskan Lokasi" + #: src/options/admin.js:6 src/options/auth.js:6 msgid "Admin" msgstr "Admin" @@ -245,7 +250,7 @@ msgstr "Selepas 3 hari" msgid "After 7 days" msgstr "Selepas 7 hari" -#: src/component/settings/passcode.vue:93 +#: src/component/settings/passcode.vue:96 msgid "After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:" msgstr "Selepas memasukkan kata laluan anda untuk pengesahan, anda boleh menyediakan pengesahan dua faktor dengan apl atau peranti pengesah yang serasi:" @@ -277,12 +282,16 @@ msgstr "Album" msgid "Album Backups" msgstr "Sandaran Album" -#: src/page/albums.vue:674 +#: src/page/albums.vue:685 msgid "Album created" msgstr "Album dibuat" -#: src/app/routes.js:176 src/component/album/toolbar.vue:51 -#: src/component/navigation.vue:604 src/component/navigation.vue:1882 +#: src/page/album/photos.vue:589 +msgid "Album deleted" +msgstr "Album dipadamkan" + +#: src/app/routes.js:184 src/component/album/toolbar.vue:55 +#: src/component/navigation.vue:607 src/component/navigation.vue:1922 #: src/component/photo/edit/info.vue:220 src/options/options.js:198 msgid "Albums" msgstr "Album" @@ -295,7 +304,7 @@ msgstr "Album dipadamkan" msgid "All" msgstr "Semua" -#: src/page/albums.vue:465 +#: src/page/albums.vue:470 msgid "All %{n} albums loaded" msgstr "Semua %{n} album telah dimuatkan" @@ -311,8 +320,8 @@ msgstr "Semua %{n} orang telah dimuatkan" msgid "All Cameras" msgstr "Semua Kamera" -#: src/component/photo/toolbar.vue:74 src/page/albums.vue:44 -#: src/page/albums.vue:240 src/page/albums.vue:746 +#: src/component/photo/toolbar.vue:74 src/page/albums.vue:45 +#: src/page/albums.vue:242 src/page/albums.vue:757 msgid "All Categories" msgstr "Semua Kategori" @@ -344,7 +353,7 @@ msgstr "Semua Bulan" msgid "All originals" msgstr "Semua yang asal" -#: src/component/photo/toolbar.vue:76 src/page/albums.vue:93 +#: src/component/photo/toolbar.vue:76 src/page/albums.vue:94 msgid "All Years" msgstr "Semua Tahun" @@ -356,7 +365,7 @@ msgstr "Sebagai alternatif, anda boleh memuat naik fail terus ke pelayan WebDAV msgid "Altitude" msgstr "Ketinggian" -#: src/component/photo/edit/details.vue:272 +#: src/component/photo/edit/details.vue:297 msgid "Altitude (m)" msgstr "Ketinggian (m)" @@ -364,8 +373,7 @@ msgstr "Ketinggian (m)" msgid "AM" msgstr "pagi" -#: src/app/routes.js:257 src/component/navigation.vue:791 -#: src/component/photo/edit/files.vue:364 +#: src/app/routes.js:265 src/component/photo/edit/files.vue:364 #: src/component/photo/view/cards.vue:327 #: src/component/photo/view/cards.vue:511 src/component/photo/view/list.vue:184 #: src/component/photo/view/mosaic.vue:171 src/options/options.js:301 @@ -376,43 +384,47 @@ msgstr "Beranimasi" msgid "Animation" msgstr "Animasi" +#: src/component/navigation.vue:797 +msgid "Animations" +msgstr "Animasi" + #: src/component/share/dialog.vue:207 msgid "Any private photos and videos remain private and won't be shared." msgstr "Sebarang foto dan video peribadi kekal peribadi dan tidak akan dikongsi." -#: src/component/service/edit.vue:372 +#: src/component/service/edit.vue:373 msgid "API Key" msgstr "Kekunci API" -#: src/page/admin/sessions.vue:357 src/options/auth.js:25 +#: src/page/admin/sessions.vue:361 src/options/auth.js:26 msgid "Application" msgstr "Permohonan" -#: src/component/photo/edit/details.vue:641 +#: src/component/photo/edit/details.vue:615 msgid "Apply" msgstr "Gunakan" #: src/component/photo/clipboard.vue:64 -#: src/component/photo/edit/details.vue:640 +#: src/component/photo/edit/details.vue:614 #: src/component/photo/view/cards.vue:416 msgid "Approve" msgstr "Terima" -#: src/page/settings/account.vue:374 src/component/settings/apps.vue:91 +#: src/page/settings/account.vue:378 src/component/settings/apps.vue:94 msgid "Apps and Devices" msgstr "Apl dan Peranti" -#: src/app/routes.js:287 src/component/lightbox.vue:1207 -#: src/component/navigation.vue:555 src/component/photo/clipboard.vue:142 +#: src/app/routes.js:295 src/component/lightbox.vue:1207 +#: src/component/navigation.vue:557 src/component/photo/clipboard.vue:142 #: src/component/photo/view/cards.vue:398 src/page/settings/general.vue:432 msgid "Archive" msgstr "Arkib" -#: src/component/lightbox.vue:1982 src/component/photo/edit/info.vue:433 +#: src/component/lightbox.vue:2002 src/component/photo/edit/info.vue:433 msgid "Archived" msgstr "Diarkibkan" -#: src/component/photo/archive/dialog.vue:34 +#: src/component/photo/archive/dialog.vue:35 msgid "Are you sure you want to archive the selection?" msgstr "Adakah anda pasti mahu mengarkibkan pemilihan?" @@ -420,19 +432,23 @@ msgstr "Adakah anda pasti mahu mengarkibkan pemilihan?" msgid "Are you sure you want to delete these albums?" msgstr "Adakah anda pasti mahu memadamkan album ini?" -#: src/component/label/delete/dialog.vue:34 +#: src/component/label/delete/dialog.vue:35 msgid "Are you sure you want to delete these labels?" msgstr "Adakah anda pasti mahu memadamkan label ini?" -#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:36 +#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:37 msgid "Are you sure you want to delete this account?" msgstr "Adakah anda pasti mahu memadamkan akaun ini?" +#: src/component/album/toolbar.vue:136 +msgid "Are you sure you want to delete this album?" +msgstr "Adakah anda pasti mahu memadamkan album ini?" + #: src/component/photo/clipboard.vue:199 msgid "Are you sure you want to permanently delete these pictures?" msgstr "Adakah anda pasti mahu memadamkan gambar ini secara kekal?" -#: src/component/file/delete/dialog.vue:34 +#: src/component/file/delete/dialog.vue:35 msgid "Are you sure you want to permanently delete this file?" msgstr "Adakah anda pasti mahu memadamkan fail ini secara kekal?" @@ -441,7 +457,7 @@ msgstr "Adakah anda pasti mahu memadamkan fail ini secara kekal?" msgid "Are you sure?" msgstr "Adakah anda pasti?" -#: src/component/photo/edit/details.vue:537 +#: src/component/photo/edit/details.vue:511 msgid "Artist" msgstr "Artis" @@ -449,14 +465,14 @@ msgstr "Artis" msgid "Aspect Ratio" msgstr "Nisbah aspek" -#: src/app/routes.js:250 src/component/navigation.vue:770 +#: src/app/routes.js:258 src/component/navigation.vue:776 #: src/options/options.js:297 msgid "Audio" msgstr "Audio" -#: src/component/user/add/dialog.vue:190 src/component/user/edit/dialog.vue:309 -#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:281 -#: src/page/admin/users.vue:75 +#: src/component/user/add/dialog.vue:191 src/component/user/edit/dialog.vue:310 +#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:282 +#: src/page/admin/users.vue:77 msgid "Authentication" msgstr "Pengesahan" @@ -464,11 +480,11 @@ msgstr "Pengesahan" msgid "Auto" msgstr "Auto" -#: src/component/settings/apps.vue:151 +#: src/component/settings/apps.vue:154 msgid "Back" msgstr "belakang" -#: src/component/scroll.vue:20 +#: src/component/scroll.vue:18 msgid "Back to top" msgstr "Kembali ke atas" @@ -480,26 +496,26 @@ msgstr "Sandaran" msgid "Badge" msgstr "Lencana" -#: src/component/user/edit/dialog.vue:361 #: src/component/user/edit/dialog.vue:362 +#: src/component/user/edit/dialog.vue:363 msgid "Base Path" msgstr "Laluan Pangkalan" -#: src/page/about/about.vue:95 src/page/connect.vue:220 +#: src/page/about/about.vue:96 src/page/connect.vue:222 msgid "Become a member today, support our mission and enjoy our member benefits!" msgstr "Jadi ahli hari ini, sokong misi kami dan nikmati faedah ahli kami!" -#: src/component/confirm/sponsor.vue:51 src/page/about/about.vue:99 +#: src/component/confirm/sponsor.vue:52 src/page/about/about.vue:100 msgid "Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services." msgstr "Sebagai 100% dibiayai sendiri dan bebas, kami boleh berjanji kepada anda bahawa kami tidak akan menjual data anda dan kami akan sentiasa telus tentang perisian dan perkhidmatan kami." -#: src/component/user/edit/dialog.vue:258 -#: src/component/user/edit/dialog.vue:259 src/page/settings/account.vue:227 +#: src/component/user/edit/dialog.vue:259 +#: src/component/user/edit/dialog.vue:260 src/page/settings/account.vue:227 #: src/page/settings/account.vue:228 msgid "Bio" msgstr "Bio" -#: src/page/settings/account.vue:431 +#: src/page/settings/account.vue:437 msgid "Birth Date" msgstr "Tarikh lahir" @@ -520,7 +536,7 @@ msgid "Brown" msgstr "Coklat" #: src/component/photo/edit/files.vue:263 src/component/photo/toolbar.vue:141 -#: src/component/upload/dialog.vue:240 +#: src/component/upload/dialog.vue:242 msgid "Browse" msgstr "Semak imbas" @@ -548,16 +564,16 @@ msgstr "Laporan Pepijat" msgid "Busy, please wait…" msgstr "Tengah sibuk, sila tunggu…" -#: src/page/connect.vue:317 +#: src/page/connect.vue:319 msgid "By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct." msgstr "Dengan menggunakan perisian dan perkhidmatan yang kami sediakan, anda bersetuju menerima syarat perkhidmatan, dasar privasi dan tatakelakuan kami." -#: src/app/routes.js:189 src/component/navigation.vue:1081 +#: src/app/routes.js:197 src/component/navigation.vue:1097 #: src/options/options.js:204 src/page/settings/general.vue:205 msgid "Calendar" msgstr "Kalendar" -#: src/component/photo/edit/details.vue:346 src/component/photo/toolbar.vue:232 +#: src/component/photo/edit/details.vue:320 src/component/photo/toolbar.vue:234 #: src/component/photo/view/cards.vue:467 src/component/photo/view/list.vue:116 msgid "Camera" msgstr "Kamera" @@ -570,12 +586,12 @@ msgstr "Siri Kamera" msgid "Can't access your authenticator app or device?" msgstr "Tidak dapat mengakses apl atau peranti pengesah anda?" -#: src/page/album/photos.vue:317 src/page/photos.vue:450 +#: src/page/album/photos.vue:322 src/page/photos.vue:455 msgid "Can't load more, limit reached" msgstr "Tidak dapat memuatkan lagi, had dicapai" #: src/common/clipboard.js:102 src/common/clipboard.js:139 -#: src/page/albums.vue:684 src/page/albums.vue:700 src/page/labels.vue:293 +#: src/page/albums.vue:695 src/page/albums.vue:711 src/page/labels.vue:293 #: src/page/labels.vue:313 src/page/library/browse.vue:233 #: src/page/library/browse.vue:249 src/page/people/new.vue:278 #: src/page/people/new.vue:294 src/page/people/recognized.vue:305 @@ -584,26 +600,31 @@ msgid "Can't select more items" msgstr "Tidak dapat memilih lebih banyak item" #: src/component/session/remove/dialog.vue:45 -#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:473 -#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:119 +#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:474 +#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:120 #: src/component/album/delete/dialog.vue:43 -#: src/component/album/edit/dialog.vue:199 src/component/confirm/dialog.vue:43 -#: src/component/file/delete/dialog.vue:47 -#: src/component/label/delete/dialog.vue:47 -#: src/component/label/edit/dialog.vue:107 -#: src/component/people/edit/dialog.vue:120 +#: src/component/album/edit/dialog.vue:200 src/component/confirm/dialog.vue:43 +#: src/component/file/delete/dialog.vue:48 +#: src/component/label/delete/dialog.vue:48 +#: src/component/label/edit/dialog.vue:108 +#: src/component/location/dialog.vue:200 +#: src/component/people/edit/dialog.vue:121 #: src/component/photo/album/dialog.vue:78 src/component/service/add.vue:19 -#: src/component/service/edit.vue:455 src/component/service/remove.vue:49 -#: src/component/service/upload.vue:117 src/component/settings/apps.vue:352 -#: src/component/settings/passcode.vue:249 -#: src/component/settings/passcode.vue:333 -#: src/component/settings/password.vue:159 src/component/share/dialog.vue:28 -#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:123 +#: src/component/service/edit.vue:456 src/component/service/remove.vue:50 +#: src/component/service/upload.vue:118 src/component/settings/apps.vue:355 +#: src/component/settings/passcode.vue:252 +#: src/component/settings/passcode.vue:336 +#: src/component/settings/password.vue:160 src/component/share/dialog.vue:28 +#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:124 #: src/page/library/import.vue:119 src/page/library/index.vue:128 msgid "Cancel" msgstr "Batal" -#: src/component/photo/edit/details.vue:87 src/component/photo/edit/info.vue:61 +#: src/common/util.js:863 src/common/util.js:870 +msgid "Cannot copy to clipboard" +msgstr "Tidak boleh menyalin ke papan keratan" + +#: src/component/photo/edit/details.vue:89 src/component/photo/edit/info.vue:63 #: src/component/photo/edit/labels.vue:42 #: src/component/photo/view/cards.vue:445 src/component/sidebar/info.vue:72 msgid "Caption" @@ -617,17 +638,17 @@ msgstr "Kad" msgid "Carousel slide {0} of {1}" msgstr "Slaid karusel {0} daripada {1}" -#: src/page/about/feedback.vue:82 src/page/about/feedback.vue:83 -#: src/component/album/edit/dialog.vue:128 src/component/photo/toolbar.vue:397 +#: src/page/about/feedback.vue:83 src/page/about/feedback.vue:84 +#: src/component/album/edit/dialog.vue:129 src/component/photo/toolbar.vue:399 #: src/page/albums.vue:187 msgid "Category" msgstr "Kategori" -#: src/component/user/edit/dialog.vue:191 src/page/settings/account.vue:201 +#: src/component/user/edit/dialog.vue:192 src/page/settings/account.vue:201 msgid "Change Avatar" msgstr "Tukar petanda peribadi" -#: src/page/settings/account.vue:297 src/component/settings/password.vue:48 +#: src/page/settings/account.vue:297 src/component/settings/password.vue:49 msgid "Change Password" msgstr "jauna parole" @@ -644,17 +665,17 @@ msgid "Change private flag" msgstr "Tukar petanda peribadi" #: src/component/user/add/dialog.vue:108 src/component/user/add/dialog.vue:113 -#: src/component/user/edit/dialog.vue:90 src/component/user/edit/dialog.vue:95 +#: src/component/user/edit/dialog.vue:91 src/component/user/edit/dialog.vue:96 #: src/page/settings/account.vue:121 src/page/settings/account.vue:126 msgid "Changes could not be saved" msgstr "Perubahan tidak dapat disimpan" -#: src/component/user/edit/dialog.vue:83 src/component/user/edit/dialog.vue:159 +#: src/component/user/edit/dialog.vue:84 src/component/user/edit/dialog.vue:160 #: src/component/album/edit/dialog.vue:73 -#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1941 +#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1961 #: src/component/photo/edit/files.vue:162 src/component/service/edit.vue:90 #: src/component/share/dialog.vue:92 src/component/share/dialog.vue:111 -#: src/page/albums.vue:677 src/page/people/recognized.vue:119 +#: src/page/albums.vue:688 src/page/people/recognized.vue:119 #: src/page/settings/advanced.vue:62 src/page/settings/content.vue:62 #: src/page/settings/general.vue:108 msgid "Changes successfully saved" @@ -668,7 +689,7 @@ msgstr "Perubahan pada tetapan lanjutan memerlukan mulakan semula untuk berkuat msgid "Checked" msgstr "Disemak" -#: src/component/photo/edit/files.vue:495 +#: src/component/photo/edit/files.vue:497 msgid "Chroma" msgstr "Chroma" @@ -684,24 +705,24 @@ msgstr "Bersihkan" msgid "Clear {0}" msgstr "Kosongkan {0}" -#: src/options/auth.js:11 src/options/auth.js:23 src/options/auth.js:43 +#: src/options/auth.js:12 src/options/auth.js:24 src/options/auth.js:44 msgid "Client" msgstr "Pelanggan" -#: src/options/auth.js:24 +#: src/options/auth.js:25 msgid "Client Credentials" msgstr "Tauliah Pelanggan" -#: src/page/admin/sessions.vue:529 src/component/lightbox.vue:284 -#: src/component/lightbox.vue:1009 src/component/lightbox.vue:1010 -#: src/component/photo/edit/details.vue:627 src/component/photo/toolbar.vue:160 -#: src/component/settings/apps.vue:224 src/component/settings/apps.vue:437 -#: src/component/settings/passcode.vue:148 -#: src/component/settings/passcode.vue:456 -#: src/component/settings/passcode.vue:497 -#: src/component/settings/webdav.vue:131 src/component/share/dialog.vue:231 +#: src/component/user/edit/dialog.vue:474 src/page/admin/sessions.vue:536 +#: src/component/lightbox.vue:284 src/component/lightbox.vue:1009 +#: src/component/lightbox.vue:1010 src/component/photo/edit/details.vue:601 +#: src/component/photo/toolbar.vue:161 src/component/settings/apps.vue:227 +#: src/component/settings/apps.vue:440 src/component/settings/passcode.vue:151 +#: src/component/settings/passcode.vue:459 +#: src/component/settings/passcode.vue:500 +#: src/component/settings/webdav.vue:132 src/component/share/dialog.vue:231 #: src/component/sidebar/info.vue:26 src/component/update.vue:57 -#: src/component/upload/dialog.vue:228 src/locales.js:206 +#: src/component/upload/dialog.vue:230 src/locales.js:206 #: src/page/library/errors.vue:253 msgid "Close" msgstr "Tutup" @@ -710,11 +731,11 @@ msgstr "Tutup" msgid "Codec" msgstr "Codec" -#: src/component/photo/toolbar.vue:369 +#: src/component/photo/toolbar.vue:371 msgid "Color" msgstr "Warna" -#: src/component/photo/edit/files.vue:483 +#: src/component/photo/edit/files.vue:485 msgid "Color Profile" msgstr "Profil Warna" @@ -722,7 +743,7 @@ msgstr "Profil Warna" msgid "Colors" msgstr "Warna" -#: src/page/connect.vue:260 src/page/connect.vue:269 +#: src/page/connect.vue:262 src/page/connect.vue:271 msgid "Compare Editions" msgstr "Bandingkan Edisi" @@ -735,17 +756,18 @@ msgstr "Selesaikan Imbasan Semula" msgid "Confidence" msgstr "Keyakinan" +#: src/component/location/dialog.vue:212 #: src/component/photo/album/dialog.vue:90 -#: src/component/settings/passcode.vue:261 +#: src/component/settings/passcode.vue:264 msgid "Confirm" msgstr "sahkan" -#: src/component/service/add.vue:20 src/page/settings/services.vue:187 +#: src/component/service/add.vue:20 src/page/settings/services.vue:191 msgid "Connect" msgstr "Sambung" -#: src/page/settings/account.vue:401 src/component/settings/webdav.vue:45 -#: src/page/settings/services.vue:167 +#: src/page/settings/account.vue:406 src/component/settings/webdav.vue:46 +#: src/page/settings/services.vue:170 msgid "Connect via WebDAV" msgstr "Sambung melalui WebDAV" @@ -753,22 +775,22 @@ msgstr "Sambung melalui WebDAV" msgid "Connected" msgstr "Sambung" -#: src/page/settings/account.vue:640 src/page/settings/account.vue:532 +#: src/page/settings/account.vue:646 src/page/settings/account.vue:538 msgid "Contact Details" msgstr "Hubungi Kami" -#: src/page/about/feedback.vue:37 src/page/connect.vue:132 -#: src/page/connect.vue:136 +#: src/page/about/feedback.vue:37 src/page/connect.vue:133 +#: src/page/connect.vue:137 msgid "Contact Us" msgstr "Hubungi Kami" #: src/page/albums.vue:433 src/page/labels.vue:237 -#: src/page/people/recognized.vue:306 +#: src/page/people/recognized.vue:310 msgid "Contains %{n} pictures." msgstr "Mengandungi %{n} gambar." #: src/page/albums.vue:427 src/page/labels.vue:231 -#: src/page/people/recognized.vue:300 +#: src/page/people/recognized.vue:304 msgid "Contains one picture." msgstr "Mengandungi satu gambar." @@ -776,7 +798,7 @@ msgstr "Mengandungi satu gambar." msgid "Content" msgstr "kandungan" -#: src/component/settings/apps.vue:163 +#: src/component/settings/apps.vue:166 msgid "Continue" msgstr "teruskan" @@ -784,7 +806,7 @@ msgstr "teruskan" msgid "Continue with %{provider}" msgstr "Teruskan dengan %{provider}" -#: src/options/admin.js:18 src/options/auth.js:9 +#: src/options/admin.js:22 src/options/auth.js:10 msgid "Contributor" msgstr "Penyumbang" @@ -792,15 +814,15 @@ msgstr "Penyumbang" msgid "Converting" msgstr "Menukar" -#: src/common/util.js:846 +#: src/common/util.js:856 msgid "Copied to clipboard" msgstr "Disalin ke papan keratan" -#: src/component/settings/apps.vue:250 src/component/settings/passcode.vue:358 +#: src/component/settings/apps.vue:253 src/component/settings/passcode.vue:361 msgid "Copy" msgstr "Salinan" -#: src/component/photo/edit/details.vue:516 +#: src/component/photo/edit/details.vue:490 msgid "Copyright" msgstr "Hak Cipta" @@ -808,8 +830,8 @@ msgstr "Hak Cipta" msgid "Couldn't find anything." msgstr "Tidak dapat mencari apa-apa." -#: src/page/settings/account.vue:685 src/component/photo/edit/details.vue:242 -#: src/component/photo/toolbar.vue:203 src/page/settings/account.vue:577 +#: src/page/settings/account.vue:691 src/component/photo/edit/details.vue:268 +#: src/component/photo/toolbar.vue:205 src/page/settings/account.vue:583 msgid "Country" msgstr "Negara" @@ -833,7 +855,7 @@ msgstr "Cipta fail YAML untuk menyandarkan metadata album." msgid "Create YAML sidecar files to back up picture metadata." msgstr "Cipta fail sidecar YAML untuk menyandarkan metadata gambar." -#: src/page/admin/sessions.vue:417 src/component/photo/edit/info.vue:412 +#: src/page/admin/sessions.vue:422 src/component/photo/edit/info.vue:412 msgid "Created" msgstr "Dicipta" @@ -845,11 +867,11 @@ msgstr "Mencipta lakaran kenit untuk" msgid "Cubic: Moderate Quality, Good Performance" msgstr "Cubic: Kualiti Sederhana, Prestasi Baik" -#: src/component/settings/password.vue:85 +#: src/component/settings/password.vue:86 msgid "Current Password" msgstr "Kata Laluan Semasa" -#: src/options/themes.js:919 src/options/themes.js:928 +#: src/options/themes.js:920 src/options/themes.js:929 msgid "Custom" msgstr "Adat" @@ -865,11 +887,11 @@ msgstr "Setiap hari" msgid "Database Backups" msgstr "Sandaran Pangkalan Data" -#: src/page/settings/account.vue:450 src/component/photo/edit/details.vue:110 +#: src/page/settings/account.vue:456 src/component/photo/edit/details.vue:112 msgid "Day" msgstr "Hari" -#: src/component/settings/passcode.vue:445 +#: src/component/settings/passcode.vue:448 msgid "Deactivate" msgstr "Nyahaktifkan" @@ -877,36 +899,40 @@ msgstr "Nyahaktifkan" msgid "Debug Logs" msgstr "Log Nyahpepijat" -#: src/options/admin.js:31 src/page/admin/sessions.vue:136 -#: src/page/admin/users.vue:176 src/component/photo/edit/info.vue:47 +#: src/options/admin.js:35 src/page/admin/sessions.vue:136 +#: src/page/admin/users.vue:178 src/component/photo/edit/info.vue:47 #: src/component/photo/edit/info.vue:110 src/model/session.js:66 -#: src/model/user.js:246 src/options/auth.js:20 src/options/auth.js:21 -#: src/options/auth.js:39 src/options/auth.js:40 src/options/options.js:196 +#: src/model/user.js:246 src/options/auth.js:21 src/options/auth.js:22 +#: src/options/auth.js:40 src/options/auth.js:41 src/options/options.js:196 #: src/options/options.js:232 src/options/options.js:316 -#: src/options/themes.js:773 +#: src/options/themes.js:774 msgid "Default" msgstr "Lalai" -#: src/component/service/edit.vue:123 +#: src/component/service/edit.vue:124 msgid "Default Folder" msgstr "Folder Lalai" #: src/component/session/remove/dialog.vue:56 #: src/component/user/remove/dialog.vue:56 src/component/album/clipboard.vue:97 -#: src/component/album/delete/dialog.vue:54 -#: src/component/file/delete/dialog.vue:58 src/component/label/clipboard.vue:58 -#: src/component/label/delete/dialog.vue:58 +#: src/component/album/delete/dialog.vue:54 src/component/album/toolbar.vue:137 +#: src/component/file/delete/dialog.vue:59 src/component/label/clipboard.vue:58 +#: src/component/label/delete/dialog.vue:59 #: src/component/photo/clipboard.vue:168 src/component/photo/edit/files.vue:238 -#: src/component/service/remove.vue:60 src/component/share/dialog.vue:170 +#: src/component/service/remove.vue:61 src/component/share/dialog.vue:170 #: src/page/settings/general.vue:457 msgid "Delete" msgstr "Padam" +#: src/component/album/toolbar.vue:133 +msgid "Delete Album" +msgstr "Padamkan Album" + #: src/component/photo/toolbar.vue:119 src/page/library/errors.vue:95 msgid "Delete All" msgstr "Memadam semua" -#: src/component/photo/toolbar.vue:433 src/page/library/errors.vue:193 +#: src/component/photo/toolbar.vue:435 src/page/library/errors.vue:193 msgid "Delete all?" msgstr "Padam semua?" @@ -914,16 +940,16 @@ msgstr "Padam semua?" msgid "Delete orphaned index entries, sidecar files and thumbnails." msgstr "Padamkan entri indeks yatim piatu, fail sidecar dan lakaran kecil." -#: src/component/album/edit/dialog.vue:107 src/page/albums.vue:411 +#: src/component/album/edit/dialog.vue:108 src/page/albums.vue:411 msgid "Description" msgstr "Keterangan" -#: src/component/settings/webdav.vue:115 +#: src/component/settings/webdav.vue:116 msgid "Detailed instructions can be found in our User Guide." msgstr "Arahan terperinci boleh didapati dalam Panduan Pengguna kami." -#: src/component/photo/edit/dialog.vue:156 -#: src/component/photo/edit/dialog.vue:173 +#: src/component/photo/edit/dialog.vue:162 +#: src/component/photo/edit/dialog.vue:181 msgid "Details" msgstr "Perincian:" @@ -987,8 +1013,8 @@ msgstr "Melumpuhkan sokongan grafik vektor." msgid "Disables video transcoding and thumbnail extraction." msgstr "Melumpuhkan transkod video dan pengekstrakan lakaran kenit." -#: src/app/routes.js:558 src/app/routes.js:565 src/app/routes.js:572 -#: src/app/routes.js:579 +#: src/app/routes.js:566 src/app/routes.js:573 src/app/routes.js:580 +#: src/app/routes.js:587 msgid "Discover" msgstr "Temui" @@ -996,9 +1022,9 @@ msgstr "Temui" msgid "Dismiss" msgstr "Tolak" -#: src/component/user/add/dialog.vue:133 src/component/user/add/dialog.vue:134 -#: src/component/user/edit/dialog.vue:163 -#: src/component/user/edit/dialog.vue:164 src/page/admin/users.vue:72 +#: src/component/user/add/dialog.vue:134 src/component/user/add/dialog.vue:135 +#: src/component/user/edit/dialog.vue:164 +#: src/component/user/edit/dialog.vue:165 src/page/admin/users.vue:74 #: src/page/settings/account.vue:149 src/page/settings/account.vue:151 msgid "Display Name" msgstr "Nama paparan" @@ -1013,12 +1039,12 @@ msgstr "Paparkan tajuk gambar dalam hasil carian." #: src/component/photo/view/cards.vue:339 #: src/component/photo/view/cards.vue:521 -#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:174 +#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:176 #: src/options/options.js:309 msgid "Document" msgstr "Dokumen" -#: src/component/navigation.vue:480 +#: src/component/navigation.vue:482 msgid "Documents" msgstr "Dokumen" @@ -1034,16 +1060,16 @@ msgstr "Jangan gunakan ImageMagick untuk menukar imej." msgid "Don't use RawTherapee to convert RAW images." msgstr "Jangan gunakan RawTherapee untuk menukar imej RAW." -#: src/component/settings/apps.vue:238 src/component/share/dialog.vue:29 +#: src/component/settings/apps.vue:241 src/component/share/dialog.vue:29 msgid "Done" msgstr "Selesai" -#: src/component/upload/dialog.vue:135 src/page/library/import.vue:46 +#: src/component/upload/dialog.vue:137 src/page/library/import.vue:46 #: src/page/library/index.vue:52 msgid "Done." msgstr "Selesai." -#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:118 +#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:123 #: src/component/file/clipboard.vue:48 src/component/lightbox.vue:1235 #: src/component/people/clipboard.vue:47 src/component/photo/clipboard.vue:116 #: src/component/photo/edit/files.vue:168 src/page/settings/content.vue:331 @@ -1055,7 +1081,7 @@ msgstr "Muat turun" msgid "Download only original media files, without any automatically generated files." msgstr "Muat turun hanya fail media asal, tanpa sebarang fail yang dijana secara automatik." -#: src/component/service/edit.vue:237 +#: src/component/service/edit.vue:238 msgid "Download remote files" msgstr "Muat turun fail jauh" @@ -1063,9 +1089,9 @@ msgstr "Muat turun fail jauh" msgid "Download single files and zip archives." msgstr "Muat turun fail tunggal dan arkib zip." -#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:157 +#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:172 #: src/component/file/clipboard.vue:61 src/component/label/clipboard.vue:86 -#: src/component/lightbox.vue:2021 src/component/people/clipboard.vue:59 +#: src/component/lightbox.vue:2041 src/component/people/clipboard.vue:59 #: src/component/photo/clipboard.vue:220 src/component/photo/edit/files.vue:119 #: src/component/photo/view/cards.vue:169 src/component/photo/view/list.vue:142 #: src/page/library/browse.vue:139 @@ -1080,7 +1106,7 @@ msgstr "Penapis Penskalaan Rendah" msgid "Drag and drop files here" msgstr "Seret dan lepaskan fail di sini" -#: src/page/about/feedback.vue:61 +#: src/page/about/feedback.vue:62 msgid "Due to the high volume of emails we receive, our team may be unable to get back to you immediately." msgstr "Oleh kerana jumlah e-mel yang tinggi yang kami terima, pasukan kami mungkin tidak dapat menghubungi anda dengan segera." @@ -1100,23 +1126,23 @@ msgstr "Pratonton Dinamik" msgid "Dynamic Size Limit: %{n}px" msgstr "Had Saiz Dinamik: %{n}px" -#: src/page/about/feedback.vue:141 src/page/about/feedback.vue:140 +#: src/page/about/feedback.vue:142 src/page/about/feedback.vue:141 msgid "E-Mail" msgstr "E-mel" -#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:89 +#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:94 #: src/component/lightbox.vue:1136 src/component/lightbox.vue:1137 #: src/component/photo/clipboard.vue:90 src/page/settings/general.vue:407 msgid "Edit" msgstr "Edit" -#: src/component/album/edit/dialog.vue:54 -#: src/component/label/edit/dialog.vue:52 -#: src/component/people/edit/dialog.vue:52 +#: src/component/album/edit/dialog.vue:55 +#: src/component/label/edit/dialog.vue:53 +#: src/component/people/edit/dialog.vue:53 msgid "Edit %{s}" msgstr "Edit %{s}" -#: src/component/user/edit/dialog.vue:61 src/component/service/edit.vue:79 +#: src/component/user/edit/dialog.vue:62 src/component/service/edit.vue:79 msgid "Edit Account" msgstr "Edit Akaun" @@ -1128,8 +1154,8 @@ msgstr "Edit Foto" msgid "Edited" msgstr "disunting" -#: src/component/user/add/dialog.vue:151 src/component/user/edit/dialog.vue:213 -#: src/page/settings/account.vue:171 src/page/settings/account.vue:593 +#: src/component/user/add/dialog.vue:152 src/component/user/edit/dialog.vue:214 +#: src/page/settings/account.vue:171 src/page/settings/account.vue:599 msgid "Email" msgstr "E-mel" @@ -1145,7 +1171,7 @@ msgstr "Dayakan ciri baharu yang mungkin tidak lengkap atau tidak stabil." msgid "Enables RAW converter presets. May reduce performance." msgstr "Mendayakan pratetap penukar RAW. Boleh mengurangkan prestasi." -#: src/component/settings/passcode.vue:127 +#: src/component/settings/passcode.vue:130 msgid "Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account." msgstr "Mendayakan pengesahan dua faktor bermakna anda memerlukan kod pengesahan yang dijana secara rawak untuk log masuk, jadi walaupun seseorang mendapat akses kepada kata laluan anda, mereka tidak akan dapat mengakses akaun anda." @@ -1157,7 +1183,7 @@ msgstr "Masukkan tarikh" msgid "Enter dates" msgstr "Masukkan tarikh" -#: src/component/settings/passcode.vue:213 src/page/auth/login.vue:104 +#: src/component/settings/passcode.vue:216 src/page/auth/login.vue:104 msgid "Enter the code generated by your authenticator app:" msgstr "Masukkan kod yang dijana oleh apl pengesah anda:" @@ -1165,7 +1191,7 @@ msgstr "Masukkan kod yang dijana oleh apl pengesah anda:" msgid "Enter verification code" msgstr "Masukkan kod pengesahan" -#: src/component/settings/apps.vue:109 +#: src/component/settings/apps.vue:112 msgid "Enter your password to confirm the action and continue:" msgstr "Masukkan kata laluan anda untuk mengesahkan tindakan dan teruskan:" @@ -1174,7 +1200,7 @@ msgstr "Masukkan kata laluan anda untuk mengesahkan tindakan dan teruskan:" msgid "Error" msgstr "ralat" -#: src/app/routes.js:374 src/component/navigation.vue:1348 +#: src/app/routes.js:382 src/component/navigation.vue:1372 msgid "Errors" msgstr "Kesilapan" @@ -1210,13 +1236,13 @@ msgstr "Pengekstrakan metadata dengan ExifTool diperlukan untuk sokongan Video, msgid "Experimental Features" msgstr "Ciri-ciri Eksperimen" -#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:453 -#: src/component/service/edit.vue:157 src/component/settings/apps.vue:73 -#: src/component/settings/apps.vue:326 src/component/share/dialog.vue:62 +#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:458 +#: src/component/service/edit.vue:158 src/component/settings/apps.vue:73 +#: src/component/settings/apps.vue:329 src/component/share/dialog.vue:62 msgid "Expires" msgstr "Luput" -#: src/component/photo/edit/details.vue:396 +#: src/component/photo/edit/details.vue:370 msgid "Exposure" msgstr "Dedahan" @@ -1224,7 +1250,7 @@ msgstr "Dedahan" msgid "Extract still images and generate thumbnails while indexing." msgstr "Ekstrak imej pegun dan hasilkan lakaran kecil semasa mengindeks." -#: src/component/photo/edit/details.vue:444 +#: src/component/photo/edit/details.vue:418 msgid "F Number" msgstr "Nombor F" @@ -1240,7 +1266,7 @@ msgstr "Muka" msgid "Failed removing link" msgstr "Gagal mengalih keluar pautan" -#: src/page/connect.vue:106 src/page/connect.vue:110 +#: src/page/connect.vue:107 src/page/connect.vue:111 msgid "Failed to connect account." msgstr "Gagal menyambungkan akaun." @@ -1248,8 +1274,8 @@ msgstr "Gagal menyambungkan akaun." msgid "Failed updating link" msgstr "Gagal mengemas kini pautan" -#: src/component/user/edit/dialog.vue:143 -#: src/component/user/edit/dialog.vue:144 src/page/settings/account.vue:128 +#: src/component/user/edit/dialog.vue:144 +#: src/component/user/edit/dialog.vue:145 src/page/settings/account.vue:128 #: src/page/settings/account.vue:130 msgid "Family Name" msgstr "Nama keluarga" @@ -1258,15 +1284,15 @@ msgstr "Nama keluarga" msgid "Fast" msgstr "Cepat" -#: src/component/album/edit/dialog.vue:159 -#: src/component/label/edit/dialog.vue:85 -#: src/component/people/edit/dialog.vue:85 +#: src/component/album/edit/dialog.vue:160 +#: src/component/label/edit/dialog.vue:86 +#: src/component/people/edit/dialog.vue:86 #: src/component/photo/edit/info.vue:287 msgid "Favorite" msgstr "Kegemaran" -#: src/app/routes.js:222 src/component/navigation.vue:893 -#: src/options/options.js:202 src/page/albums.vue:97 +#: src/app/routes.js:230 src/component/navigation.vue:903 +#: src/options/options.js:202 src/page/albums.vue:98 msgid "Favorites" msgstr "Kegemaran" @@ -1274,7 +1300,7 @@ msgstr "Kegemaran" msgid "Feature Request" msgstr "Permintaan Ciri" -#: src/component/navigation.vue:1456 +#: src/component/navigation.vue:1482 msgid "Feedback" msgstr "Maklumbalas" @@ -1282,11 +1308,12 @@ msgstr "Maklumbalas" msgid "Female" msgstr "perempuan" -#: src/component/photo/edit/info.vue:214 src/model/file.js:290 +#: src/component/photo/edit/info.vue:57 src/component/photo/edit/info.vue:214 +#: src/model/file.js:290 msgid "File" msgstr "Fail" -#: src/app/routes.js:343 +#: src/app/routes.js:351 msgid "File Browser" msgstr "Pelayar Fail" @@ -1309,8 +1336,8 @@ msgstr "Fail" msgid "Filename" msgstr "Nama Fail" -#: src/component/navigation.vue:1930 src/component/photo/edit/dialog.vue:267 -#: src/component/photo/edit/dialog.vue:284 +#: src/component/navigation.vue:1973 src/component/photo/edit/dialog.vue:279 +#: src/component/photo/edit/dialog.vue:298 msgid "Files" msgstr "Fail" @@ -1322,26 +1349,26 @@ msgstr "Fail dengan nama berjujukan seperti 'IMG_1234 (2)' dan 'IMG_1234 (3)' te msgid "First page" msgstr "Muka surat pertama" -#: src/component/photo/edit/details.vue:465 +#: src/component/photo/edit/details.vue:439 msgid "Focal Length" msgstr "Panjang Fokus" -#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:118 -#: src/component/service/edit.vue:189 src/component/service/edit.vue:194 -#: src/component/service/upload.vue:90 src/component/service/upload.vue:96 +#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:119 +#: src/component/service/edit.vue:190 src/component/service/edit.vue:195 +#: src/component/service/upload.vue:91 src/component/service/upload.vue:97 #: src/model/folder.js:199 src/page/library/browse.vue:182 msgid "Folder" msgstr "Folder" -#: src/page/library/browse.vue:365 +#: src/page/library/browse.vue:367 msgid "Folder contains %{n} files" msgstr "Folder mengandungi %{n} fail" -#: src/page/library/browse.vue:356 +#: src/page/library/browse.vue:358 msgid "Folder is empty" msgstr "Folder kosong" -#: src/app/routes.js:202 src/component/navigation.vue:1225 +#: src/app/routes.js:210 src/component/navigation.vue:1247 #: src/options/options.js:207 msgid "Folders" msgstr "Folders" @@ -1358,7 +1385,7 @@ msgstr "FPS" msgid "Frames" msgstr "Bingkai" -#: src/options/auth.js:54 src/options/auth.js:64 +#: src/options/auth.js:55 src/options/auth.js:65 msgid "Full Access" msgstr "Akses penuh" @@ -1370,7 +1397,7 @@ msgstr "Skrin Penuh" msgid "General" msgstr "Am" -#: src/component/settings/apps.vue:364 +#: src/component/settings/apps.vue:367 msgid "Generate" msgstr "Menjana" @@ -1390,8 +1417,8 @@ msgstr "Dijana" msgid "Get Started" msgstr "Mulakan" -#: src/component/user/edit/dialog.vue:120 -#: src/component/user/edit/dialog.vue:121 src/page/settings/account.vue:106 +#: src/component/user/edit/dialog.vue:121 +#: src/component/user/edit/dialog.vue:122 src/page/settings/account.vue:106 #: src/page/settings/account.vue:108 msgid "Given Name" msgstr "Nama Asal" @@ -1416,7 +1443,7 @@ msgstr "Hijau" msgid "Grey" msgstr "Kelabu" -#: src/options/admin.js:22 src/options/auth.js:10 +#: src/options/admin.js:26 src/options/auth.js:11 msgid "Guest" msgstr "tetamu" @@ -1432,15 +1459,15 @@ msgstr "Bantuan" msgid "Help & Support" msgstr "Mendapat Sokongan" -#: src/component/navigation.vue:1327 src/component/people/edit/dialog.vue:98 +#: src/component/navigation.vue:1351 src/component/people/edit/dialog.vue:99 msgid "Hidden" msgstr "Tersembunyi" -#: src/app/routes.js:358 +#: src/app/routes.js:366 msgid "Hidden Files" msgstr "Fail Tersembunyi" -#: src/page/people/new.vue:165 src/page/people/recognized.vue:205 +#: src/page/people/new.vue:166 src/page/people/recognized.vue:206 msgid "Hide" msgstr "Sembunyi" @@ -1456,7 +1483,7 @@ msgstr "tinggi" msgid "High Dynamic Range (HDR)" msgstr "Julat Dinamik Tinggi (HDR)" -#: src/page/about/feedback.vue:103 +#: src/page/about/feedback.vue:104 msgid "How can we help?" msgstr "Bagaimana kami boleh membantu?" @@ -1464,11 +1491,11 @@ msgstr "Bagaimana kami boleh membantu?" msgid "Hybrid" msgstr "Hibrid" -#: src/component/settings/passcode.vue:389 +#: src/component/settings/passcode.vue:392 msgid "If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account." msgstr "Jika anda kehilangan akses kepada apl atau peranti pengesah anda, anda boleh menggunakan kod pemulihan anda untuk mendapatkan semula akses kepada akaun anda." -#: src/component/photo/edit/info.vue:63 src/component/photo/edit/labels.vue:46 +#: src/component/photo/edit/info.vue:65 src/component/photo/edit/labels.vue:46 #: src/component/photo/view/cards.vue:532 src/model/file.js:218 #: src/options/options.js:281 msgid "Image" @@ -1478,7 +1505,7 @@ msgstr "Imej" msgid "Image Quality" msgstr "Kualiti gambar" -#: src/page/library.vue:46 src/page/library/import.vue:152 +#: src/page/library.vue:46 src/page/library/import.vue:153 #: src/page/settings/general.vue:357 msgid "Import" msgstr "Import" @@ -1503,8 +1530,8 @@ msgstr "Mengimport %{s}…" msgid "Importing files to originals…" msgstr "Mengimport fail ke asal…" -#: src/component/photo/edit/files.vue:515 -#: src/component/photo/edit/files.vue:520 +#: src/component/photo/edit/files.vue:517 +#: src/component/photo/edit/files.vue:522 msgid "in" msgstr "dalam" @@ -1522,11 +1549,11 @@ msgstr "Sertakan fail imej RAW semasa memuat turun tindanan dan arkib." msgid "Include sidecar files when downloading stacks and archives." msgstr "Sertakan fail sidecar semasa memuat turun tindanan dan arkib." -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Increase storage size or delete files to continue." msgstr "Tingkatkan saiz storan atau padam fail untuk meneruskan." -#: src/component/navigation.vue:1946 src/page/library.vue:36 +#: src/component/navigation.vue:1990 src/page/library.vue:36 #: src/page/settings/content.vue:34 msgid "Index" msgstr "Indeks" @@ -1556,11 +1583,11 @@ msgstr "Maklumat" msgid "Instance ID" msgstr "ID Contoh" -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Insufficient storage." msgstr "Storan tidak mencukupi." -#: src/component/service/edit.vue:209 +#: src/component/service/edit.vue:210 msgid "Interval" msgstr "Interval" @@ -1581,7 +1608,7 @@ msgstr "Alamat tidak sah" msgid "Invalid country" msgstr "Negara tidak sah" -#: src/component/photo/edit/details.vue:174 +#: src/component/photo/edit/details.vue:169 msgid "Invalid date" msgstr "Tarikh tidak sah" @@ -1590,7 +1617,7 @@ msgstr "Tarikh tidak sah" msgid "Invalid parameters" msgstr "Tarikh tidak sah" -#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:197 +#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:199 msgid "Invalid photo selected" msgstr "Foto tidak sah dipilih" @@ -1602,8 +1629,8 @@ msgstr "Masa tidak sah" msgid "Invalid URL" msgstr "URL tidak sah" -#: src/component/settings/passcode.vue:314 -#: src/component/settings/passcode.vue:391 +#: src/component/settings/passcode.vue:317 +#: src/component/settings/passcode.vue:394 msgid "It is a one-time use code that will disable 2FA for your account when you use it." msgstr "Ia adalah kod penggunaan sekali sahaja yang akan melumpuhkan 2FA untuk akaun anda apabila anda menggunakannya." @@ -1627,7 +1654,7 @@ msgstr "Had Saiz JPEG: %{n}px" msgid "JPEGs and thumbnails are automatically rendered as needed." msgstr "JPEG dan lakaran kecil dipaparkan secara automatik mengikut keperluan." -#: src/component/photo/edit/details.vue:581 +#: src/component/photo/edit/details.vue:555 msgid "Keywords" msgstr "Kata Kunci" @@ -1636,9 +1663,9 @@ msgstr "Kata Kunci" msgid "Label" msgstr "Label" -#: src/app/routes.js:389 src/component/navigation.vue:1177 -#: src/component/photo/edit/dialog.vue:188 -#: src/component/photo/edit/dialog.vue:205 src/options/options.js:206 +#: src/app/routes.js:397 src/component/navigation.vue:1197 +#: src/component/photo/edit/dialog.vue:196 +#: src/component/photo/edit/dialog.vue:215 src/options/options.js:206 #: src/page/settings/general.vue:255 msgid "Labels" msgstr "Label" @@ -1655,11 +1682,11 @@ msgstr "Lanczos: Pemeliharaan Perincian, Artifak Minimum" msgid "Language" msgstr "Bahasa" -#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:435 +#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:440 msgid "Last Active" msgstr "Aktif Terakhir" -#: src/page/admin/users.vue:81 +#: src/page/admin/users.vue:83 msgid "Last Login" msgstr "Log masuk kali terakhir" @@ -1675,42 +1702,41 @@ msgstr "Penyegerakan Terakhir" msgid "Last Used" msgstr "Kali terakhir digunakan" -#: src/component/photo/edit/details.vue:298 #: src/component/photo/edit/info.vue:373 msgid "Latitude" msgstr "Latitud" -#: src/options/admin.js:43 src/options/auth.js:29 +#: src/options/admin.js:47 src/options/auth.js:30 msgid "LDAP/AD" msgstr "LDAP/AD" -#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:86 -#: src/page/about/about.vue:62 src/page/about/about.vue:132 +#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:87 +#: src/page/about/about.vue:62 src/page/about/about.vue:133 #: src/page/connect.vue:67 src/page/help.vue:36 msgid "Learn more" msgstr "Ketahui lebih lanjut" -#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:135 +#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:137 #: src/page/labels.vue:132 msgid "Learn More" msgstr "Ketahui Lebih Lanjut" -#: src/component/navigation.vue:2017 +#: src/component/navigation.vue:2066 msgid "Legal Information" msgstr "Maklumat Undang-undang" -#: src/component/photo/edit/details.vue:417 +#: src/component/photo/edit/details.vue:391 #: src/component/photo/view/cards.vue:480 msgid "Lens" msgstr "Lensa" -#: src/app/routes.js:443 src/app/routes.js:459 src/app/routes.js:475 -#: src/component/navigation.vue:1267 src/page/settings/general.vue:507 +#: src/app/routes.js:451 src/app/routes.js:467 src/app/routes.js:483 +#: src/component/navigation.vue:1290 src/page/settings/general.vue:507 msgid "Library" msgstr "Perpustakaan" #: src/page/connect.vue:45 src/app/routes.js:69 -#: src/component/navigation.vue:1478 src/component/photo/edit/details.vue:559 +#: src/component/navigation.vue:1504 src/component/photo/edit/details.vue:533 #: src/page/about/license.vue:28 msgid "License" msgstr "Lesen" @@ -1723,7 +1749,7 @@ msgstr "Suka" msgid "Lime" msgstr "kapur" -#: src/page/library/browse.vue:369 +#: src/page/library/browse.vue:371 msgid "Limit reached, showing first %{n} files" msgstr "Had dicapai, menunjukkan %{n} fail pertama" @@ -1731,7 +1757,7 @@ msgstr "Had dicapai, menunjukkan %{n} fail pertama" msgid "Linear: Very Smooth, Best Performance" msgstr "Linear: Sangat Lancar, Prestasi Terbaik" -#: src/model/link.js:117 src/options/auth.js:30 src/options/auth.js:31 +#: src/model/link.js:117 src/options/auth.js:31 src/options/auth.js:32 msgid "Link" msgstr "Pautan" @@ -1749,7 +1775,7 @@ msgstr "Paparan Senarai" msgid "Live" msgstr "Langsung" -#: src/app/routes.js:236 src/component/navigation.vue:749 +#: src/app/routes.js:244 src/component/navigation.vue:755 msgid "Live Photos" msgstr "Foto" @@ -1765,21 +1791,24 @@ msgstr "Memuatkan item..." msgid "Loading..." msgstr "Memuatkan..." -#: src/options/admin.js:35 src/options/auth.js:22 src/options/auth.js:27 +#: src/options/admin.js:39 src/options/auth.js:23 src/options/auth.js:28 #: src/options/options.js:38 src/page/settings/general.vue:107 msgid "Local" msgstr "Tempatan" -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Local Time" msgstr "Waktu Tempatan" -#: src/page/settings/account.vue:665 src/page/settings/account.vue:667 -#: src/component/album/edit/dialog.vue:92 src/component/photo/edit/info.vue:65 -#: src/component/photo/edit/labels.vue:48 +#: src/page/settings/account.vue:671 src/page/settings/account.vue:673 +#: src/component/album/edit/dialog.vue:93 +#: src/component/photo/edit/details.vue:38 +#: src/component/photo/edit/details.vue:116 +#: src/component/photo/edit/details.vue:210 +#: src/component/photo/edit/info.vue:67 src/component/photo/edit/labels.vue:48 #: src/component/photo/view/cards.vue:555 src/component/photo/view/list.vue:117 -#: src/component/sidebar/info.vue:107 src/page/albums.vue:99 -#: src/page/settings/account.vue:557 src/page/settings/account.vue:559 +#: src/component/sidebar/info.vue:107 src/page/albums.vue:100 +#: src/page/settings/account.vue:563 src/page/settings/account.vue:565 msgid "Location" msgstr "Lokasi" @@ -1787,20 +1816,19 @@ msgstr "Lokasi" msgid "Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues." msgstr "Mesej log dipaparkan di sini setiap kali PhotoPrism menjumpai fail yang rosak, atau terdapat isu lain yang berpotensi." -#: src/component/navigation.vue:1552 src/component/navigation.vue:1840 +#: src/component/navigation.vue:1579 src/component/navigation.vue:1877 msgid "Login" msgstr "Log masuk" -#: src/component/navigation.vue:1759 +#: src/component/navigation.vue:1791 msgid "Logout" msgstr "Log keluar" -#: src/component/navigation.vue:1962 src/page/library.vue:59 +#: src/component/navigation.vue:2007 src/page/library.vue:59 #: src/page/settings/general.vue:557 msgid "Logs" msgstr "Log" -#: src/component/photo/edit/details.vue:324 #: src/component/photo/edit/info.vue:379 msgid "Longitude" msgstr "Longitud" @@ -1813,7 +1841,7 @@ msgstr "rendah" msgid "Magenta" msgstr "Magenta" -#: src/component/photo/edit/files.vue:489 +#: src/component/photo/edit/files.vue:491 msgid "Main Color" msgstr "Warna Utama" @@ -1821,12 +1849,16 @@ msgstr "Warna Utama" msgid "Male" msgstr "jantan" -#: src/page/connect.vue:164 src/page/connect.vue:246 -#: src/page/about/about.vue:171 src/page/connect.vue:168 -#: src/page/connect.vue:255 +#: src/page/connect.vue:165 src/page/connect.vue:248 +#: src/page/about/about.vue:173 src/page/connect.vue:169 +#: src/page/connect.vue:257 msgid "Manage Account" msgstr "Urus Akaun" +#: src/options/admin.js:10 src/options/auth.js:7 +msgid "Manager" +msgstr "Pengurus" + #: src/component/photo/edit/info.vue:49 src/component/photo/edit/labels.vue:38 msgid "Manual" msgstr "Manual" @@ -1843,11 +1875,11 @@ msgstr "Peta" msgid "Marker" msgstr "Penanda" -#: src/component/user/add/dialog.vue:69 +#: src/component/user/add/dialog.vue:70 msgid "Maximum number of accounts has been reached." msgstr "Bilangan maksimum akaun telah dicapai." -#: src/app/routes.js:229 src/component/navigation.vue:688 +#: src/app/routes.js:237 src/component/navigation.vue:693 #: src/options/options.js:199 msgid "Media" msgstr "Media" @@ -1864,7 +1896,7 @@ msgstr "Keahlian" msgid "Merge %{a} with %{b}?" msgstr "Gabungkan %{a} dengan %{b}?" -#: src/page/about/feedback.vue:102 +#: src/page/about/feedback.vue:103 msgid "Message" msgstr "Mesej" @@ -1876,7 +1908,7 @@ msgstr "Mesej telah dihantar" msgid "Metadata" msgstr "Metadata" -#: src/options/auth.js:56 src/options/auth.js:72 +#: src/options/auth.js:57 src/options/auth.js:73 msgid "Metrics" msgstr "Metrik" @@ -1884,7 +1916,7 @@ msgstr "Metrik" msgid "Minimize" msgstr "Minimum" -#: src/component/photo/edit/files.vue:509 src/component/photo/edit/info.vue:367 +#: src/component/photo/edit/files.vue:511 src/component/photo/edit/info.vue:367 msgid "Missing" msgstr "hilang" @@ -1892,17 +1924,17 @@ msgstr "hilang" msgid "Missing or invalid configuration" msgstr "Konfigurasi tiada atau tidak sah" -#: src/app/routes.js:163 src/component/navigation.vue:1129 +#: src/app/routes.js:171 src/component/navigation.vue:1147 #: src/options/options.js:205 src/page/settings/general.vue:230 msgid "Moments" msgstr "Detik-detik" -#: src/component/navigation.vue:383 +#: src/component/navigation.vue:385 msgid "Monochrome" msgstr "Monokrom" -#: src/page/settings/account.vue:475 src/component/photo/edit/details.vue:137 -#: src/component/photo/toolbar.vue:342 +#: src/page/settings/account.vue:481 src/component/photo/edit/details.vue:139 +#: src/component/photo/toolbar.vue:344 msgid "Month" msgstr "Bulan" @@ -1922,7 +1954,7 @@ msgstr "Paling relevan" msgid "Move Files" msgstr "Alihkan Fail" -#: src/component/settings/password.vue:107 +#: src/component/settings/password.vue:108 msgid "Must have at least %{n} characters." msgstr "Mesti mempunyai sekurang-kurangnya %{n} aksara." @@ -1930,20 +1962,20 @@ msgstr "Mesti mempunyai sekurang-kurangnya %{n} aksara." msgid "Mute" msgstr "bisu" -#: src/page/about/feedback.vue:121 src/page/about/feedback.vue:122 -#: src/component/album/edit/dialog.vue:77 -#: src/component/label/edit/dialog.vue:71 -#: src/component/people/edit/dialog.vue:71 -#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:57 +#: src/page/about/feedback.vue:122 src/page/about/feedback.vue:123 +#: src/component/album/edit/dialog.vue:78 +#: src/component/label/edit/dialog.vue:72 +#: src/component/people/edit/dialog.vue:72 +#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:59 #: src/component/photo/edit/info.vue:125 src/component/photo/edit/people.vue:36 -#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:310 -#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:286 -#: src/page/albums.vue:98 src/page/auth/login.vue:168 +#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:311 +#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:289 +#: src/page/albums.vue:99 src/page/auth/login.vue:168 #: src/page/people/new.vue:68 src/page/settings/services.vue:37 msgid "Name" msgstr "Nama" -#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:60 +#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:65 #: src/component/label/edit/dialog.vue:19 #: src/component/people/edit/dialog.vue:19 #: src/component/photo/edit/labels.vue:30 @@ -1953,7 +1985,7 @@ msgstr "Nama" msgid "Name too long" msgstr "Nama terlalu panjang" -#: src/page/admin/users.vue:204 src/options/options.js:361 +#: src/page/admin/users.vue:206 src/options/options.js:361 #: src/options/options.js:371 src/page/settings/services.vue:75 msgid "Never" msgstr "Tidak sesekali" @@ -1962,13 +1994,13 @@ msgstr "Tidak sesekali" msgid "New" msgstr "Baharu" -#: src/component/settings/password.vue:106 +#: src/component/settings/password.vue:107 msgid "New Password" msgstr "jauna parole" #: src/component/album/edit/dialog.vue:24 src/component/photo/toolbar.vue:114 #: src/component/photo/toolbar.vue:126 src/component/photo/toolbar.vue:136 -#: src/page/albums.vue:100 +#: src/page/albums.vue:101 msgid "Newest First" msgstr "Terbaharu dahulu" @@ -1984,15 +2016,15 @@ msgstr "Halaman seterusnya" msgid "Next visual" msgstr "Visual seterusnya" -#: src/component/people/merge/dialog.vue:47 -#: src/component/photo/archive/dialog.vue:47 +#: src/component/people/merge/dialog.vue:48 +#: src/component/photo/archive/dialog.vue:48 #: src/component/photo/edit/info.vue:281 src/component/photo/edit/info.vue:297 #: src/component/photo/edit/info.vue:313 src/component/photo/edit/info.vue:329 #: src/component/photo/edit/info.vue:344 msgid "No" msgstr "Tidak" -#: src/page/albums.vue:607 src/page/albums.vue:282 +#: src/page/albums.vue:612 src/page/albums.vue:282 msgid "No albums found" msgstr "Tiada album ditemui" @@ -2000,7 +2032,7 @@ msgstr "Tiada album ditemui" msgid "No data available" msgstr "Tiada data tersedia" -#: src/page/labels.vue:523 src/page/labels.vue:155 +#: src/page/labels.vue:528 src/page/labels.vue:155 msgid "No labels found" msgstr "Tiada label ditemui" @@ -2013,15 +2045,15 @@ msgid "No more" msgstr "Tiada lagi" #: src/component/photo/edit/people.vue:34 src/page/people/new.vue:346 -#: src/page/people/new.vue:443 src/page/people/new.vue:103 -#: src/page/people/recognized.vue:531 src/page/people/recognized.vue:146 +#: src/page/people/new.vue:446 src/page/people/new.vue:103 +#: src/page/people/recognized.vue:536 src/page/people/recognized.vue:146 msgid "No people found" msgstr "Tiada orang ditemui" #: src/component/lightbox.vue:365 src/component/photo/view/cards.vue:144 #: src/component/photo/view/list.vue:82 src/component/photo/view/mosaic.vue:68 -#: src/page/album/photos.vue:488 src/page/library/browse.vue:123 -#: src/page/photos.vue:626 src/page/places.vue:624 src/page/places.vue:730 +#: src/page/album/photos.vue:499 src/page/library/browse.vue:123 +#: src/page/photos.vue:636 src/page/places.vue:624 src/page/places.vue:730 msgid "No pictures found" msgstr "Tiada gambar ditemui" @@ -2030,7 +2062,11 @@ msgstr "Tiada gambar ditemui" msgid "No recently edited pictures" msgstr "Tiada gambar yang diedit baru-baru ini" -#: src/component/navigation.vue:1655 +#: src/component/location/dialog.vue:166 +msgid "No results" +msgstr "Tiada hasil" + +#: src/component/navigation.vue:1686 msgid "No server connection" msgstr "Tiada sambungan pelayan" @@ -2042,7 +2078,7 @@ msgstr "Tiada pelayan dikonfigurasikan." msgid "No services configured." msgstr "Tiada pelayan dikonfigurasikan." -#: src/component/confirm/sponsor.vue:72 +#: src/component/confirm/sponsor.vue:73 msgid "No thanks" msgstr "Tidak, Terima kasih" @@ -2052,17 +2088,17 @@ msgstr "Tiada amaran atau ralat yang mengandungi kata kunci ini. Ambil perhatian #: src/component/photo/view/cards.vue:154 src/component/photo/view/list.vue:59 #: src/component/photo/view/list.vue:92 src/component/photo/view/mosaic.vue:78 -#: src/component/upload/dialog.vue:208 +#: src/component/upload/dialog.vue:210 msgid "Non-photographic and low-quality images require a review before they appear in search results." msgstr "Imej bukan fotografi dan berkualiti rendah memerlukan semakan sebelum ia muncul dalam hasil carian." -#: src/options/admin.js:47 src/options/auth.js:32 src/options/options.js:212 +#: src/options/admin.js:51 src/options/auth.js:33 src/options/options.js:212 #: src/options/options.js:328 msgid "None" msgstr "Tiada" -#: src/common/util.js:853 src/component/lightbox.vue:633 -#: src/component/service/upload.vue:75 src/component/service/upload.vue:87 +#: src/component/lightbox.vue:633 src/component/service/upload.vue:75 +#: src/component/service/upload.vue:87 msgid "Not allowed" msgstr "Tidak dibenarkan" @@ -2074,8 +2110,7 @@ msgstr "Tidak dijumpai" msgid "Not sorted." msgstr "Tidak disusun." -#: src/common/util.js:858 src/component/lightbox.vue:627 -#: src/component/lightbox.vue:744 +#: src/component/lightbox.vue:627 src/component/lightbox.vue:744 msgid "Not supported" msgstr "Tidak disokong" @@ -2083,15 +2118,15 @@ msgstr "Tidak disokong" msgid "Note you may manually manage your originals folder and importing is optional." msgstr "Harap maklum bahawa anda boleh mengurus folder asal anda secara manual dan mengimport adalah pilihan." -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "Note:" msgstr "Nota:" -#: src/component/service/add.vue:120 +#: src/component/service/add.vue:121 msgid "Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload." msgstr "Nota: Hanya pelayan WebDAV, seperti Nextcloud atau PhotoPrism, boleh dikonfigurasikan sebagai perkhidmatan jauh untuk sandaran dan muat naik fail." -#: src/component/photo/edit/details.vue:603 +#: src/component/photo/edit/details.vue:577 msgid "Notes" msgstr "Nota-nota" @@ -2099,8 +2134,8 @@ msgstr "Nota-nota" msgid "Nothing to see here yet." msgstr "Tiada apa yang boleh dilihat di sini. Bersabarlah." -#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:115 -#: src/component/settings/apps.vue:390 +#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:125 +#: src/component/settings/apps.vue:393 msgid "Nothing was found." msgstr "Tiada apa yang ditemui." @@ -2108,7 +2143,7 @@ msgstr "Tiada apa yang ditemui." msgid "Offline" msgstr "Luar Talian" -#: src/options/admin.js:39 src/options/auth.js:28 +#: src/options/admin.js:43 src/options/auth.js:29 msgid "OIDC" msgstr "OIDC" @@ -2118,11 +2153,11 @@ msgstr "OK" #: src/component/album/edit/dialog.vue:25 src/component/photo/toolbar.vue:115 #: src/component/photo/toolbar.vue:127 src/component/photo/toolbar.vue:137 -#: src/page/albums.vue:101 +#: src/page/albums.vue:102 msgid "Oldest First" msgstr "Tertua dahulu" -#: src/component/settings/webdav.vue:77 +#: src/component/settings/webdav.vue:78 msgid "On Windows, enter the following resource in the connection dialog:" msgstr "Pada Windows, masukkan sumber berikut dalam dialog sambungan:" @@ -2134,11 +2169,11 @@ msgstr "Penjanaan lakaran kecil atas permintaan boleh menyebabkan penggunaan CPU msgid "Once a week" msgstr "Sekali seminggu" -#: src/page/albums.vue:609 +#: src/page/albums.vue:614 msgid "One album found" msgstr "Satu album ditemui" -#: src/page/library/browse.vue:358 +#: src/page/library/browse.vue:360 msgid "One file found" msgstr "Satu fail ditemui" @@ -2146,24 +2181,24 @@ msgstr "Satu fail ditemui" msgid "One file uploaded" msgstr "Satu fail dimuat naik" -#: src/page/library/browse.vue:360 +#: src/page/library/browse.vue:362 msgid "One folder found" msgstr "Satu folder ditemui" -#: src/page/labels.vue:525 +#: src/page/labels.vue:530 msgid "One label found" msgstr "Satu label ditemui" -#: src/page/people/new.vue:348 src/page/people/new.vue:445 -#: src/page/people/recognized.vue:533 +#: src/page/people/new.vue:348 src/page/people/new.vue:448 +#: src/page/people/recognized.vue:538 msgid "One person found" msgstr "Seorang ditemui" -#: src/page/album/photos.vue:490 src/page/photos.vue:628 +#: src/page/album/photos.vue:501 src/page/photos.vue:638 msgid "One picture found" msgstr "Satu gambar ditemui" -#: src/component/settings/passcode.vue:478 +#: src/component/settings/passcode.vue:481 msgid "Only locally managed accounts can be set up for authentication with 2FA." msgstr "Hanya akaun yang diuruskan secara tempatan boleh disediakan untuk pengesahan dengan 2FA." @@ -2171,7 +2206,7 @@ msgstr "Hanya akaun yang diuruskan secara tempatan boleh disediakan untuk penges msgid "Open" msgstr "Buka" -#: src/component/service/add.vue:86 src/component/service/add.vue:107 +#: src/component/service/add.vue:87 src/component/service/add.vue:108 msgid "optional" msgstr "pilihan" @@ -2183,7 +2218,7 @@ msgstr "atau" msgid "Orange" msgstr "Jingga" -#: src/page/settings/account.vue:571 src/page/settings/account.vue:573 +#: src/page/settings/account.vue:577 src/page/settings/account.vue:579 msgid "Organization" msgstr "Orientasi" @@ -2199,7 +2234,7 @@ msgstr "Nama fail asal akan disimpan dan diindeks." msgid "Original Name" msgstr "Nama Asal" -#: src/component/navigation.vue:1304 src/model/file.js:196 +#: src/component/navigation.vue:1328 src/model/file.js:196 #: src/options/options.js:413 src/page/library/browse.vue:65 #: src/page/settings/content.vue:356 src/page/settings/general.vue:532 msgid "Originals" @@ -2210,7 +2245,7 @@ msgstr "Asal" msgid "Other" msgstr "Lain-lain" -#: src/page/about/about.vue:77 src/page/about/about.vue:83 +#: src/page/about/about.vue:78 src/page/about/about.vue:84 msgid "Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible." msgstr "Misi kami adalah untuk menyediakan penyelesaian yang paling mesra pengguna dan privasi untuk memastikan gambar anda teratur dan boleh diakses." @@ -2222,7 +2257,7 @@ msgstr "Luar" msgid "Page {0}, Current page" msgstr "Halaman {0}, Halaman semasa" -#: src/component/photo/edit/files.vue:352 src/model/photo.js:859 +#: src/component/photo/edit/files.vue:352 src/model/photo.js:896 msgid "Pages" msgstr "muka surat" @@ -2234,15 +2269,15 @@ msgstr "Navigasi Penomboran" msgid "Panorama" msgstr "Panorama" -#: src/component/navigation.vue:402 +#: src/component/navigation.vue:404 msgid "Panoramas" msgstr "Panorama" -#: src/component/user/add/dialog.vue:114 src/component/user/add/dialog.vue:115 -#: src/component/service/add.vue:106 src/component/service/edit.vue:352 -#: src/component/settings/apps.vue:121 src/component/settings/passcode.vue:106 -#: src/component/settings/passcode.vue:413 src/component/share/dialog.vue:27 -#: src/options/auth.js:91 src/page/auth/login.vue:196 +#: src/component/user/add/dialog.vue:115 src/component/user/add/dialog.vue:116 +#: src/component/service/add.vue:107 src/component/service/edit.vue:353 +#: src/component/settings/apps.vue:124 src/component/settings/passcode.vue:109 +#: src/component/settings/passcode.vue:416 src/component/share/dialog.vue:27 +#: src/options/auth.js:92 src/page/auth/login.vue:196 msgid "Password" msgstr "Kata Laluan" @@ -2250,9 +2285,9 @@ msgstr "Kata Laluan" msgid "Password changed" msgstr "Kata laluan ditukar" -#: src/app/routes.js:404 src/app/routes.js:428 src/component/navigation.vue:845 -#: src/component/navigation.vue:1898 src/component/photo/edit/dialog.vue:228 -#: src/component/photo/edit/dialog.vue:245 src/options/options.js:201 +#: src/app/routes.js:412 src/app/routes.js:436 src/component/navigation.vue:853 +#: src/component/navigation.vue:1939 src/component/photo/edit/dialog.vue:238 +#: src/component/photo/edit/dialog.vue:257 src/options/options.js:201 #: src/page/settings/general.vue:180 msgid "People" msgstr "Orang ramai" @@ -2273,23 +2308,23 @@ msgstr "Alih keluar fail secara kekal untuk mengosongkan storan." msgid "Person" msgstr "Orang" -#: src/options/auth.js:42 +#: src/options/auth.js:43 msgid "Personal" msgstr "Peribadi" -#: src/model/photo.js:1273 +#: src/model/photo.js:1310 msgid "Photo" msgstr "Foto" -#: src/page/about/about.vue:156 +#: src/page/about/about.vue:158 msgid "PhotoPrism is 100% self-funded and independent." msgstr "PhotoPrism adalah 100% dibiayai sendiri dan bebas." -#: src/page/about/about.vue:92 +#: src/page/about/about.vue:93 msgid "PhotoPrism+ Membership" msgstr "Keahlian PhotoPrism+" -#: src/app/routes.js:156 +#: src/app/routes.js:164 msgid "Photos" msgstr "Foto" @@ -2310,27 +2345,27 @@ msgstr "tempat" msgid "Place & Time" msgstr "Tempat & Masa" -#: src/app/routes.js:303 src/app/routes.js:309 src/app/routes.js:315 -#: src/app/routes.js:330 src/component/navigation.vue:986 -#: src/component/navigation.vue:1914 src/options/options.js:203 +#: src/app/routes.js:311 src/app/routes.js:317 src/app/routes.js:323 +#: src/app/routes.js:338 src/component/navigation.vue:999 +#: src/component/navigation.vue:1956 src/options/options.js:203 #: src/page/places.vue:51 src/page/settings/general.vue:609 #: src/page/settings/general.vue:638 msgid "Places" msgstr "Tempat" -#: src/component/settings/password.vue:129 +#: src/component/settings/password.vue:130 msgid "Please confirm your new password." msgstr "Sila sahkan kata laluan baharu anda." -#: src/component/settings/apps.vue:185 +#: src/component/settings/apps.vue:188 msgid "Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:" msgstr "Sila salin kata laluan apl yang dijana secara rawak berikut dan simpan di tempat yang selamat, kerana anda tidak akan dapat melihatnya lagi:" -#: src/component/upload/dialog.vue:203 +#: src/component/upload/dialog.vue:205 msgid "Please do not upload any private, unlawful or offensive pictures." msgstr "Tolong jangan muat naik sebarang gambar peribadi, menyalahi undang-undang atau menyinggung perasaan." -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Please don't upload photos containing offensive content." msgstr "Tolong jangan muat naik foto yang mengandungi kandungan yang menyinggung perasaan." @@ -2338,11 +2373,11 @@ msgstr "Tolong jangan muat naik foto yang mengandungi kandungan yang menyinggung msgid "Please enter OTP character {0}" msgstr "Sila masukkan aksara OTP {0}" -#: src/component/settings/password.vue:66 +#: src/component/settings/password.vue:67 msgid "Please note that changing your password will log you out on other devices and browsers." msgstr "Sila ambil perhatian bahawa menukar kata laluan anda akan log keluar anda pada peranti dan penyemak imbas lain." -#: src/page/connect.vue:148 src/page/connect.vue:152 +#: src/page/connect.vue:149 src/page/connect.vue:153 msgid "Please restart your instance for the changes to take effect." msgstr "Sila mulakan semula contoh anda untuk perubahan berkuat kuasa." @@ -2362,11 +2397,11 @@ msgstr "Had Saiz PNG: %{n}px" msgid "Portrait" msgstr "Potret" -#: src/component/service/edit.vue:273 +#: src/component/service/edit.vue:274 msgid "Preserve filenames" msgstr "Kekalkan nama fail" -#: src/component/upload/dialog.vue:162 +#: src/component/upload/dialog.vue:164 msgid "Press enter to create a new album." msgstr "Tekan enter untuk mencipta album baharu." @@ -2403,8 +2438,8 @@ msgstr "Visual sebelumnya" msgid "Primary" msgstr "Utama" -#: src/app/routes.js:271 src/component/album/edit/dialog.vue:176 -#: src/component/navigation.vue:531 src/component/photo/edit/info.vue:303 +#: src/app/routes.js:279 src/component/album/edit/dialog.vue:177 +#: src/component/navigation.vue:533 src/component/photo/edit/info.vue:303 #: src/page/settings/general.vue:280 msgid "Private" msgstr "Sulit" @@ -2429,7 +2464,7 @@ msgstr "Penapis Kualiti" msgid "Quality Score" msgstr "Skor Kualiti" -#: src/page/admin/users.vue:169 +#: src/page/admin/users.vue:171 msgid "r" msgstr "r" @@ -2460,7 +2495,7 @@ msgstr "Mod Baca Sahaja" #: src/component/album/edit/dialog.vue:26 src/component/photo/toolbar.vue:116 #: src/component/photo/toolbar.vue:128 src/component/photo/toolbar.vue:138 -#: src/page/albums.vue:102 +#: src/page/albums.vue:103 msgid "Recently Added" msgstr "Baru sahaja ditambah" @@ -2468,7 +2503,7 @@ msgstr "Baru sahaja ditambah" msgid "Recently Archived" msgstr "Diarkibkan Baru-baru ini" -#: src/component/photo/toolbar.vue:139 src/page/albums.vue:103 +#: src/component/photo/toolbar.vue:139 src/page/albums.vue:104 msgid "Recently Edited" msgstr "Baru-baru ini disunting" @@ -2493,24 +2528,24 @@ msgstr "Kod Pemulihan" msgid "Red" msgstr "Merah" -#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:126 -#: src/component/album/toolbar.vue:79 src/component/photo/toolbar.vue:169 -#: src/page/albums.vue:173 src/page/labels.vue:112 +#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:128 +#: src/component/album/toolbar.vue:84 src/component/photo/toolbar.vue:169 +#: src/page/albums.vue:175 src/page/labels.vue:112 #: src/page/library/browse.vue:90 src/page/library/errors.vue:81 #: src/page/people/new.vue:54 src/page/people/recognized.vue:88 msgid "Refresh" msgstr "Segarkan semula" -#: src/app/routes.js:337 src/component/navigation.vue:943 -#: src/component/navigation.vue:1026 +#: src/app/routes.js:345 src/component/navigation.vue:955 +#: src/component/navigation.vue:1040 msgid "Regions" msgstr "kawasan" -#: src/page/connect.vue:275 src/page/connect.vue:284 +#: src/page/connect.vue:277 src/page/connect.vue:286 msgid "Register" msgstr "Daftar" -#: src/component/navigation.vue:1773 src/component/update.vue:68 +#: src/component/navigation.vue:1806 src/component/update.vue:68 msgid "Reload" msgstr "Muat Semula" @@ -2555,34 +2590,34 @@ msgstr "Memerlukan imej bukan fotografi dan berkualiti rendah untuk disemak sebe msgid "Resolution" msgstr "Resolusi" -#: src/page/connect.vue:179 src/page/connect.vue:183 +#: src/page/connect.vue:180 src/page/connect.vue:184 #: src/page/settings/advanced.vue:782 msgid "Restart" msgstr "Mula semula" -#: src/component/user/edit/dialog.vue:485 src/component/lightbox.vue:1221 +#: src/component/user/edit/dialog.vue:488 src/component/lightbox.vue:1221 #: src/component/photo/clipboard.vue:77 msgid "Restore" msgstr "Pulih" -#: src/component/lightbox.vue:2000 +#: src/component/lightbox.vue:2020 msgid "Restored" msgstr "Dipulihkan" -#: src/component/service/edit.vue:428 +#: src/component/service/edit.vue:429 msgid "Retry Limit" msgstr "Had Cuba Semula" -#: src/component/settings/password.vue:128 +#: src/component/settings/password.vue:129 msgid "Retype Password" msgstr "Tulis semula kata laluan" -#: src/app/routes.js:264 src/component/navigation.vue:505 +#: src/app/routes.js:272 src/component/navigation.vue:507 msgid "Review" msgstr "Tinjauan" -#: src/component/user/add/dialog.vue:171 src/component/user/edit/dialog.vue:284 -#: src/page/admin/sessions.vue:262 src/page/admin/users.vue:73 +#: src/component/user/add/dialog.vue:172 src/component/user/edit/dialog.vue:285 +#: src/page/admin/sessions.vue:263 src/page/admin/users.vue:75 msgid "Role" msgstr "Peranan" @@ -2594,11 +2629,11 @@ msgstr "Baris setiap halaman:" msgid "Satellite" msgstr "Satelit" -#: src/component/user/edit/dialog.vue:485 -#: src/component/album/edit/dialog.vue:211 -#: src/component/label/edit/dialog.vue:119 -#: src/component/people/edit/dialog.vue:132 src/component/service/edit.vue:466 -#: src/component/settings/password.vue:172 src/component/share/dialog.vue:181 +#: src/component/user/edit/dialog.vue:488 +#: src/component/album/edit/dialog.vue:212 +#: src/component/label/edit/dialog.vue:120 +#: src/component/people/edit/dialog.vue:133 src/component/service/edit.vue:467 +#: src/component/settings/password.vue:173 src/component/share/dialog.vue:181 msgid "Save" msgstr "Simpan" @@ -2606,23 +2641,23 @@ msgstr "Simpan" msgid "Scan" msgstr "Imbas" -#: src/component/settings/passcode.vue:179 +#: src/component/settings/passcode.vue:182 msgid "Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:" msgstr "Imbas kod QR dengan apl pengesah anda atau gunakan kekunci persediaan yang ditunjukkan di bawah dan kemudian masukkan kod pengesahan yang dijana:" -#: src/component/navigation.vue:461 +#: src/component/navigation.vue:463 msgid "Scans" msgstr "Imbasan" -#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:377 -#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:310 +#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:381 +#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:313 msgid "Scope" msgstr "Skop" -#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:62 -#: src/component/navigation.vue:342 src/component/navigation.vue:1866 -#: src/component/photo/toolbar.vue:57 src/options/options.js:197 -#: src/page/albums.vue:100 src/page/labels.vue:77 +#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:69 +#: src/component/location/dialog.vue:133 src/component/navigation.vue:343 +#: src/component/navigation.vue:1905 src/component/photo/toolbar.vue:57 +#: src/options/options.js:197 src/page/albums.vue:100 src/page/labels.vue:77 #: src/page/library/errors.vue:76 src/page/people/recognized.vue:66 #: src/page/places.vue:79 src/page/settings/content.vue:235 msgid "Search" @@ -2660,11 +2695,11 @@ msgstr "Pilih tarikh" msgid "Select dates" msgstr "Pilih tarikh" -#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:154 +#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:156 msgid "Select or create an album" msgstr "Pilih atau buat album" -#: src/component/upload/dialog.vue:138 +#: src/component/upload/dialog.vue:140 msgid "Select the files to upload…" msgstr "Pilih fail untuk dimuat naik…" @@ -2692,7 +2727,7 @@ msgstr "Pemilihan dipulihkan" msgid "Sequential Name" msgstr "Nama Berurutan" -#: src/component/service/add.vue:67 src/component/service/edit.vue:322 +#: src/component/service/add.vue:68 src/component/service/edit.vue:323 #: src/component/share/dialog.vue:25 msgid "Service URL" msgstr "URL perkhidmatan" @@ -2701,7 +2736,7 @@ msgstr "URL perkhidmatan" msgid "Services" msgstr "URL perkhidmatan" -#: src/model/session.js:107 src/options/auth.js:41 src/options/auth.js:90 +#: src/model/session.js:107 src/options/auth.js:42 src/options/auth.js:91 msgid "Session" msgstr "Sesi" @@ -2709,7 +2744,7 @@ msgstr "Sesi" msgid "Session ID" msgstr "ID Sesi" -#: src/page/admin.vue:45 +#: src/page/admin.vue:44 msgid "Sessions" msgstr "Sesi" @@ -2717,22 +2752,22 @@ msgstr "Sesi" msgid "Set as Album Cover" msgstr "Tetapkan sebagai Kulit Album" -#: src/app/routes.js:101 src/app/routes.js:492 src/app/routes.js:504 -#: src/app/routes.js:521 src/app/routes.js:534 src/app/routes.js:547 -#: src/component/navigation.vue:1394 src/component/navigation.vue:1806 +#: src/app/routes.js:101 src/app/routes.js:500 src/app/routes.js:512 +#: src/app/routes.js:529 src/app/routes.js:542 src/app/routes.js:555 +#: src/component/navigation.vue:1419 src/component/navigation.vue:1841 msgid "Settings" msgstr "Tetapan" #: src/page/settings/account.vue:115 src/page/settings/account.vue:144 -#: src/component/settings/passcode.vue:147 +#: src/component/settings/passcode.vue:151 msgid "Settings saved" msgstr "Tetapan Disimpan" -#: src/component/service/upload.vue:131 src/component/settings/passcode.vue:160 +#: src/component/service/upload.vue:132 src/component/settings/passcode.vue:163 msgid "Setup" msgstr "Persediaan" -#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:98 +#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:103 #: src/component/photo/clipboard.vue:51 src/page/settings/general.vue:382 msgid "Share" msgstr "Kongsi" @@ -2749,7 +2784,7 @@ msgstr "Kongsi gambar anda dengan apl dan perkhidmatan lain." msgid "Show" msgstr "Papar" -#: src/page/people/new.vue:116 src/page/people/new.vue:233 +#: src/page/people/new.vue:116 src/page/people/new.vue:235 msgid "Show all new faces" msgstr "Tunjukkan semua muka baharu" @@ -2794,7 +2829,7 @@ msgid "Similar" msgstr "serupa" #: src/component/photo/edit/files.vue:51 src/component/photo/edit/files.vue:341 -#: src/component/service/edit.vue:139 src/component/sidebar/info.vue:96 +#: src/component/service/edit.vue:140 src/component/sidebar/info.vue:96 msgid "Size" msgstr "Saiz" @@ -2822,7 +2857,7 @@ msgstr "Kesilapan telah berlaku, cuba lagi" msgid "Sort by" msgstr "Isih mengikut" -#: src/component/album/edit/dialog.vue:142 src/component/photo/toolbar.vue:288 +#: src/component/album/edit/dialog.vue:143 src/component/photo/toolbar.vue:290 #: src/page/albums.vue:214 msgid "Sort Order" msgstr "Aturan susunan" @@ -2857,7 +2892,7 @@ msgstr "Tumpukan gambar yang diambil pada masa dan lokasi yang sama berdasarkan msgid "Stackable" msgstr "Boleh ditindan" -#: src/component/navigation.vue:421 src/page/settings/content.vue:136 +#: src/component/navigation.vue:423 src/page/settings/content.vue:136 msgid "Stacks" msgstr "tindanan" @@ -2885,16 +2920,16 @@ msgstr "Penyimpanan" msgid "Streets" msgstr "Jalan-jalan" -#: src/component/photo/edit/details.vue:494 +#: src/component/photo/edit/details.vue:468 #: src/component/photo/edit/labels.vue:44 msgid "Subject" msgstr "Subjek" -#: src/page/about/feedback.vue:162 src/page/about/feedback.vue:163 +#: src/page/about/feedback.vue:163 src/page/about/feedback.vue:164 msgid "Submit" msgstr "Hantar" -#: src/component/settings/passcode.vue:132 +#: src/component/settings/passcode.vue:136 msgid "Successfully activated" msgstr "Berjaya diaktifkan" @@ -2903,23 +2938,23 @@ msgid "Successfully Connected" msgstr "Berjaya Disambungkan" #: src/component/session/remove/dialog.vue:32 -#: src/component/settings/apps.vue:218 +#: src/component/settings/apps.vue:222 msgid "Successfully deleted" msgstr "Berjaya dipadamkan" -#: src/component/settings/passcode.vue:107 +#: src/component/settings/passcode.vue:108 msgid "Successfully verified" msgstr "Berjaya disahkan" -#: src/component/user/edit/dialog.vue:398 src/page/admin/users.vue:163 +#: src/component/user/edit/dialog.vue:399 src/page/admin/users.vue:165 msgid "Super Admin" msgstr "Super Admin" -#: src/component/service/add.vue:122 +#: src/component/service/add.vue:123 msgid "Support for additional services, like Google Drive, will be added over time." msgstr "Sokongan untuk perkhidmatan tambahan, seperti Google Drive, akan ditambahkan dari semasa ke semasa." -#: src/component/confirm/sponsor.vue:37 src/component/navigation.vue:1629 +#: src/component/confirm/sponsor.vue:38 src/component/navigation.vue:1660 msgid "Support Our Mission" msgstr "Sokong Misi Kami" @@ -2927,7 +2962,7 @@ msgstr "Sokong Misi Kami" msgid "Sync" msgstr "Segerak" -#: src/component/service/edit.vue:289 +#: src/component/service/edit.vue:290 msgid "Sync raw and video files" msgstr "Segerakkan fail mentah dan video" @@ -2953,23 +2988,23 @@ msgstr "rupa bumi" msgid "Text" msgstr "Teks" -#: src/component/photo/edit/details.vue:32 src/page/people/new.vue:71 +#: src/component/photo/edit/details.vue:40 src/page/people/new.vue:71 msgid "Text too long" msgstr "Teks terlalu panjang" -#: src/page/about/about.vue:145 +#: src/page/about/about.vue:146 msgid "Thank You for Your Support!" msgstr "Terima kasih atas sokongan anda!" -#: src/page/about/about.vue:79 src/page/about/about.vue:85 +#: src/page/about/about.vue:80 src/page/about/about.vue:86 msgid "That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality." msgstr "Itulah sebabnya PhotoPrism dibina dari bawah untuk dijalankan di mana sahaja anda memerlukannya, tanpa menjejaskan kebebasan, privasi atau kefungsian." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "The index currently contains %{n} hidden files." msgstr "Indeks pada masa ini mengandungi %{n} fail tersembunyi." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates." msgstr "Format mereka mungkin tidak disokong, mereka belum ditukar kepada JPEG lagi atau terdapat pendua." @@ -2984,44 +3019,44 @@ msgstr "Tema" msgid "This field is required" msgstr "Medan ini diperlukan" -#: src/component/settings/webdav.vue:100 src/page/settings/services.vue:144 +#: src/component/settings/webdav.vue:101 src/page/settings/services.vue:147 msgid "This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local." msgstr "Ini melekapkan folder asal sebagai pemacu rangkaian dan membolehkan anda membuka, mengedit dan memadam fail daripada komputer atau telefon pintar anda seolah-olah ia adalah tempatan." -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Time UTC" msgstr "Masa UTC" -#: src/component/photo/edit/details.vue:219 src/page/settings/general.vue:108 +#: src/component/photo/edit/details.vue:221 src/page/settings/general.vue:108 msgid "Time Zone" msgstr "Zon masa" -#: src/component/service/edit.vue:408 +#: src/component/service/edit.vue:409 msgid "Timeout" msgstr "Masa tamat" -#: src/component/user/edit/dialog.vue:98 src/component/user/edit/dialog.vue:99 +#: src/component/user/edit/dialog.vue:99 src/component/user/edit/dialog.vue:100 #: src/page/settings/account.vue:84 src/page/settings/account.vue:86 msgctxt "Account" msgid "Title" msgstr "Tajuk" -#: src/component/photo/edit/details.vue:73 +#: src/component/photo/edit/details.vue:75 msgctxt "Photo" msgid "Title" msgstr "Tajuk" -#: src/component/photo/edit/info.vue:59 src/component/photo/edit/info.vue:155 +#: src/component/photo/edit/info.vue:61 src/component/photo/edit/info.vue:155 #: src/component/photo/edit/labels.vue:40 src/component/photo/view/list.vue:114 #: src/component/sidebar/info.vue:57 msgid "Title" msgstr "Tajuk" -#: src/page/settings/account.vue:553 src/page/settings/account.vue:555 +#: src/page/settings/account.vue:559 src/page/settings/account.vue:561 msgid "Title / Position" msgstr "Tajuk terlalu panjang" -#: src/page/albums.vue:83 +#: src/page/albums.vue:84 msgid "Title too long" msgstr "Tajuk terlalu panjang" @@ -3029,19 +3064,19 @@ msgstr "Tajuk terlalu panjang" msgid "to" msgstr "kepada" -#: src/component/settings/passcode.vue:312 +#: src/component/settings/passcode.vue:315 msgid "To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place." msgstr "Untuk mengelak daripada dikunci daripada akaun anda, sila muat turun, cetak atau salin kod pemulihan ini sekarang dan simpan di tempat yang selamat." -#: src/component/settings/apps.vue:272 +#: src/component/settings/apps.vue:275 msgid "To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:" msgstr "Untuk menjana kata laluan khusus apl baharu, sila masukkan nama dan skop kebenaran aplikasi dan pilih tarikh tamat tempoh:" -#: src/component/settings/passcode.vue:400 +#: src/component/settings/passcode.vue:403 msgid "To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:" msgstr "Untuk bertukar kepada apl atau peranti pengesah baharu, mula-mula nyahaktifkan pengesahan dua faktor dan kemudian aktifkannya semula:" -#: src/page/connect.vue:221 src/page/connect.vue:230 +#: src/page/connect.vue:223 src/page/connect.vue:232 msgid "To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:" msgstr "Untuk menaik taraf, anda boleh sama ada memasukkan kod pengaktifan atau klik \"Daftar\" untuk mendaftar di tapak web kami:" @@ -3049,7 +3084,7 @@ msgstr "Untuk menaik taraf, anda boleh sama ada memasukkan kod pengaktifan atau msgid "Today" msgstr "Hari ini" -#: src/component/album/toolbar.vue:70 src/component/photo/toolbar.vue:78 +#: src/component/album/toolbar.vue:71 src/component/photo/toolbar.vue:78 msgid "Toggle View" msgstr "Togol Paparan" @@ -3076,20 +3111,24 @@ msgstr "Menyelesaikan masalah" msgid "Try again using other filters or keywords." msgstr "Cuba lagi menggunakan penapis atau kata kunci lain." -#: src/component/settings/passcode.vue:380 +#: src/component/settings/passcode.vue:383 msgid "Two-factor authentication has been enabled for your account." msgstr "Pengesahan dua faktor telah didayakan untuk akaun anda." #: src/component/photo/edit/files.vue:58 src/component/photo/edit/files.vue:330 -#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:388 +#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:389 msgid "Type" msgstr "Jenis" -#: src/options/auth.js:13 +#: src/component/album/toolbar.vue:178 +msgid "Unable to delete" +msgstr "Tidak dapat memadam" + +#: src/options/auth.js:14 msgid "Unauthorized" msgstr "tanpa kebenaran" -#: src/component/photo/edit/people.vue:94 +#: src/component/photo/edit/people.vue:95 msgid "Undo" msgstr "Buat Asal" @@ -3097,16 +3136,16 @@ msgstr "Buat Asal" msgid "Unique ID" msgstr "ID unik" -#: src/page/settings/account.vue:451 src/page/settings/account.vue:476 -#: src/page/settings/account.vue:501 src/common/util.js:487 -#: src/component/photo/edit/details.vue:21 -#: src/component/photo/edit/details.vue:111 -#: src/component/photo/edit/details.vue:138 -#: src/component/photo/edit/details.vue:164 src/component/sidebar/info.vue:43 -#: src/model/album.js:193 src/model/photo.js:323 src/model/photo.js:784 -#: src/model/photo.js:809 src/model/photo.js:832 src/model/photo.js:850 -#: src/model/photo.js:897 src/model/photo.js:905 src/model/photo.js:994 -#: src/model/photo.js:1016 src/model/photo.js:1061 src/model/photo.js:1074 +#: src/page/settings/account.vue:457 src/page/settings/account.vue:482 +#: src/page/settings/account.vue:507 src/common/util.js:488 +#: src/component/photo/edit/details.vue:27 +#: src/component/photo/edit/details.vue:113 +#: src/component/photo/edit/details.vue:140 +#: src/component/photo/edit/details.vue:166 src/component/sidebar/info.vue:43 +#: src/model/album.js:193 src/model/photo.js:331 src/model/photo.js:821 +#: src/model/photo.js:846 src/model/photo.js:869 src/model/photo.js:887 +#: src/model/photo.js:934 src/model/photo.js:942 src/model/photo.js:1031 +#: src/model/photo.js:1053 src/model/photo.js:1098 src/model/photo.js:1111 #: src/model/user.js:157 src/options/options.js:51 src/options/options.js:69 #: src/options/options.js:86 src/options/options.js:100 #: src/options/options.js:112 src/page/library/errors.vue:251 @@ -3119,7 +3158,7 @@ msgstr "Tidak Diketahui" msgid "Unregistered" msgstr "Tidak berdaftar" -#: src/app/routes.js:215 src/component/navigation.vue:644 +#: src/app/routes.js:223 src/component/navigation.vue:648 msgid "Unsorted" msgstr "Tidak diisih" @@ -3127,7 +3166,7 @@ msgstr "Tidak diisih" msgid "Unstack" msgstr "Nyahtindan" -#: src/component/photo/edit/files.vue:519 src/component/photo/edit/info.vue:416 +#: src/component/photo/edit/files.vue:521 src/component/photo/edit/info.vue:416 msgid "Updated" msgstr "dikemas kini" @@ -3143,7 +3182,7 @@ msgstr "Mengemas kini indeks" msgid "Updating moments" msgstr "Mengemas kini detik" -#: src/component/user/edit/dialog.vue:154 +#: src/component/user/edit/dialog.vue:155 msgid "Updating picture…" msgstr "Mengemas kini pratonton" @@ -3155,21 +3194,21 @@ msgstr "Mengemas kini pratonton" msgid "Updating stacks" msgstr "Mengemas kini tindanan" -#: src/page/connect.vue:57 src/component/navigation.vue:1500 -#: src/component/navigation.vue:1614 src/component/navigation.vue:1999 +#: src/page/connect.vue:57 src/component/navigation.vue:1526 +#: src/component/navigation.vue:1644 src/component/navigation.vue:2047 #: src/page/connect.vue:58 msgid "Upgrade" msgstr "Naik taraf" -#: src/page/about/about.vue:123 src/page/connect.vue:202 -#: src/component/confirm/sponsor.vue:98 src/page/about/about.vue:113 -#: src/page/connect.vue:206 +#: src/page/about/about.vue:124 src/page/connect.vue:204 +#: src/component/confirm/sponsor.vue:99 src/page/about/about.vue:114 +#: src/page/connect.vue:208 msgid "Upgrade Now" msgstr "Menaiktaraf sekarang" -#: src/component/album/toolbar.vue:108 src/component/navigation.vue:1824 -#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:144 -#: src/component/upload/dialog.vue:51 src/page/albums.vue:183 +#: src/component/album/toolbar.vue:113 src/component/navigation.vue:1860 +#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:145 +#: src/component/upload/dialog.vue:51 src/page/albums.vue:185 #: src/page/labels.vue:122 src/page/library/import.vue:133 #: src/page/settings/general.vue:307 src/page/settings/services.vue:38 msgid "Upload" @@ -3179,21 +3218,21 @@ msgstr "Muat naik" msgid "Upload complete" msgstr "Muat naik selesai" -#: src/component/upload/dialog.vue:133 +#: src/component/upload/dialog.vue:135 msgid "Upload complete. Indexing…" msgstr "Muat naik selesai. Pengindeksan…" #: src/component/upload/dialog.vue:296 src/component/upload/dialog.vue:315 -#: src/component/upload/dialog.vue:129 +#: src/component/upload/dialog.vue:131 msgid "Upload failed" msgstr "Muat naik gagal" -#: src/component/service/edit.vue:257 +#: src/component/service/edit.vue:258 msgid "Upload local files" msgstr "Muat naik fail tempatan" -#: src/component/user/edit/dialog.vue:380 #: src/component/user/edit/dialog.vue:381 +#: src/component/user/edit/dialog.vue:382 msgid "Upload Path" msgstr "Laluan Muat Naik" @@ -3201,7 +3240,7 @@ msgstr "Laluan Muat Naik" msgid "Upload to WebDAV and share links with friends." msgstr "Muat naik ke WebDAV dan kongsi pautan dengan rakan." -#: src/component/upload/dialog.vue:131 +#: src/component/upload/dialog.vue:133 msgid "Uploading %{n} of %{t}…" msgstr "Memuat naik %{n} daripada %{t}…" @@ -3214,7 +3253,7 @@ msgstr "Memuat naik foto…" msgid "Uploading…" msgstr "Memuatkan semula…" -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Uploads that may contain such images will be rejected automatically." msgstr "Muat naik yang mungkin mengandungi imej sedemikian akan ditolak secara automatik." @@ -3222,7 +3261,7 @@ msgstr "Muat naik yang mungkin mengandungi imej sedemikian akan ditolak secara a msgid "Use Presets" msgstr "Gunakan Pratetap" -#: src/component/settings/passcode.vue:283 +#: src/component/settings/passcode.vue:286 msgid "Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:" msgstr "Gunakan kod pemulihan berikut untuk mengakses akaun anda apabila anda tidak dapat menjana kod pengesahan yang sah dengan apl pengesah anda:" @@ -3230,12 +3269,12 @@ msgstr "Gunakan kod pemulihan berikut untuk mengakses akaun anda apabila anda ti msgid "Use your recovery code or contact an administrator for help." msgstr "Gunakan kod pemulihan anda atau hubungi pentadbir untuk mendapatkan bantuan." -#: src/options/admin.js:10 src/page/admin/sessions.vue:59 -#: src/page/admin/sessions.vue:242 src/model/user.js:361 src/options/auth.js:7 +#: src/options/admin.js:14 src/page/admin/sessions.vue:59 +#: src/page/admin/sessions.vue:243 src/model/user.js:361 src/options/auth.js:8 msgid "User" msgstr "Pengguna" -#: src/component/navigation.vue:1979 +#: src/component/navigation.vue:2025 msgid "User Guide" msgstr "Panduan pengguna" @@ -3243,14 +3282,14 @@ msgstr "Panduan pengguna" msgid "User Interface" msgstr "Antara Muka Pengguna" -#: src/component/user/add/dialog.vue:87 src/component/user/add/dialog.vue:88 -#: src/page/admin/sessions.vue:220 src/page/admin/users.vue:71 -#: src/component/service/add.vue:85 src/component/service/edit.vue:337 +#: src/component/user/add/dialog.vue:88 src/component/user/add/dialog.vue:89 +#: src/page/admin/sessions.vue:221 src/page/admin/users.vue:73 +#: src/component/service/add.vue:86 src/component/service/edit.vue:338 #: src/component/share/dialog.vue:26 msgid "Username" msgstr "Nama Pengguna" -#: src/component/navigation.vue:1435 +#: src/component/navigation.vue:1461 msgid "Users" msgstr "Pengguna" @@ -3260,18 +3299,18 @@ msgstr "Pengguna" msgid "Vector" msgstr "vektor" -#: src/component/navigation.vue:440 +#: src/component/navigation.vue:442 msgid "Vectors" msgstr "vektor" -#: src/component/settings/passcode.vue:227 src/page/auth/login.vue:144 +#: src/component/settings/passcode.vue:230 src/page/auth/login.vue:144 msgid "Verification Code" msgstr "Kod pengesahan" #: src/component/photo/view/cards.vue:363 #: src/component/photo/view/cards.vue:491 src/component/photo/view/list.vue:190 #: src/component/photo/view/mosaic.vue:207 src/model/file.js:221 -#: src/model/photo.js:921 src/model/photo.js:939 src/options/options.js:293 +#: src/model/photo.js:958 src/model/photo.js:976 src/options/options.js:293 msgid "Video" msgstr "Video" @@ -3280,12 +3319,12 @@ msgstr "Video" msgid "Video Duration" msgstr "Tempoh" -#: src/app/routes.js:243 src/component/navigation.vue:728 +#: src/app/routes.js:251 src/component/navigation.vue:734 #: src/options/options.js:200 msgid "Videos" msgstr "Video" -#: src/component/photo/toolbar.vue:261 src/component/photo/view/cards.vue:350 +#: src/component/photo/toolbar.vue:263 src/component/photo/view/cards.vue:350 #: src/component/photo/view/mosaic.vue:194 msgid "View" msgstr "Lihat" @@ -3294,11 +3333,11 @@ msgstr "Lihat" msgid "View search results as a list." msgstr "Lihat hasil carian sebagai senarai." -#: src/options/admin.js:14 src/options/auth.js:8 +#: src/options/admin.js:18 src/options/auth.js:9 msgid "Viewer" msgstr "Penonton" -#: src/page/admin/sessions.vue:271 src/options/auth.js:12 +#: src/page/admin/sessions.vue:272 src/options/auth.js:13 msgid "Visitor" msgstr "Pelawat" @@ -3310,34 +3349,34 @@ msgstr "Kumpulan mengikut persamaan" msgid "Warning" msgstr "Amaran" -#: src/page/about/feedback.vue:60 +#: src/page/about/feedback.vue:61 msgid "We appreciate your feedback!" msgstr "Kami menghargai maklumbalas anda!" -#: src/page/about/feedback.vue:63 +#: src/page/about/feedback.vue:64 msgid "We do our best to respond within five business days or less." msgstr "Kami melakukan yang terbaik untuk membalas dalam tempoh lima hari perniagaan atau kurang." -#: src/component/user/add/dialog.vue:235 src/component/user/edit/dialog.vue:415 -#: src/page/admin/users.vue:80 +#: src/component/user/add/dialog.vue:236 src/component/user/edit/dialog.vue:416 +#: src/page/admin/users.vue:82 msgid "Web Login" msgstr "Log Masuk Web" -#: src/component/user/add/dialog.vue:248 src/component/user/edit/dialog.vue:432 -#: src/page/admin/users.vue:82 src/options/auth.js:55 src/options/auth.js:68 +#: src/component/user/add/dialog.vue:249 src/component/user/edit/dialog.vue:433 +#: src/page/admin/users.vue:84 src/options/auth.js:56 src/options/auth.js:69 #: src/options/options.js:444 msgid "WebDAV" msgstr "WebDAV" -#: src/component/settings/webdav.vue:51 +#: src/component/settings/webdav.vue:52 msgid "WebDAV clients can connect to PhotoPrism using the following URL:" msgstr "Pelanggan WebDAV boleh menyambung ke PhotoPrism menggunakan URL berikut:" -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism." msgstr "Pelanggan WebDAV, seperti Microsoft Windows Explorer atau Apple's Finder, boleh menyambung terus ke PhotoPrism." -#: src/component/service/upload.vue:50 src/component/share/dialog.vue:220 +#: src/component/service/upload.vue:51 src/component/share/dialog.vue:220 msgid "WebDAV Upload" msgstr "Muat Naik WebDAV" @@ -3345,8 +3384,8 @@ msgstr "Muat Naik WebDAV" msgid "WebGL support is disabled in your browser" msgstr "Sokongan WebGL dilumpuhkan dalam penyemak imbas anda" -#: src/page/settings/account.vue:615 src/page/settings/account.vue:709 -#: src/page/settings/account.vue:601 +#: src/page/settings/account.vue:621 src/page/settings/account.vue:715 +#: src/page/settings/account.vue:607 msgid "Website" msgstr "laman web" @@ -3354,12 +3393,12 @@ msgstr "laman web" msgid "White" msgstr "Putih" -#: src/page/settings/account.vue:532 +#: src/page/settings/account.vue:538 msgid "Work Details" msgstr "Perincian:" -#: src/page/settings/account.vue:500 src/component/photo/edit/details.vue:163 -#: src/component/photo/toolbar.vue:315 src/page/albums.vue:159 +#: src/page/settings/account.vue:506 src/component/photo/edit/details.vue:165 +#: src/component/photo/toolbar.vue:317 src/page/albums.vue:159 msgid "Year" msgstr "Viti" @@ -3367,21 +3406,21 @@ msgstr "Viti" msgid "Yellow" msgstr "Kuning" -#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:58 -#: src/component/photo/archive/dialog.vue:58 +#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:59 +#: src/component/photo/archive/dialog.vue:59 #: src/component/photo/clipboard.vue:200 src/component/photo/edit/files.vue:365 #: src/component/photo/edit/files.vue:395 #: src/component/photo/edit/files.vue:401 #: src/component/photo/edit/files.vue:407 -#: src/component/photo/edit/files.vue:510 src/component/photo/edit/info.vue:281 +#: src/component/photo/edit/files.vue:512 src/component/photo/edit/info.vue:281 #: src/component/photo/edit/info.vue:297 src/component/photo/edit/info.vue:313 #: src/component/photo/edit/info.vue:329 src/component/photo/edit/info.vue:344 -#: src/component/photo/toolbar.vue:434 +#: src/component/photo/toolbar.vue:436 msgid "Yes" msgstr "Ya" -#: src/component/confirm/sponsor.vue:59 src/page/about/about.vue:158 -#: src/page/connect.vue:315 +#: src/component/confirm/sponsor.vue:60 src/page/about/about.vue:160 +#: src/page/connect.vue:317 msgid "You are welcome to contact us at membership@photoprism.app for questions regarding your membership." msgstr "Anda dialu-alukan untuk menghubungi kami di membership@photoprism.app untuk pertanyaan mengenai keahlian anda." @@ -3393,7 +3432,11 @@ msgstr "Anda hanya boleh memuat turun satu album" msgid "You can only download one label" msgstr "Anda hanya boleh memuat turun satu label" -#: src/component/upload/dialog.vue:203 +#: src/component/location/dialog.vue:178 +msgid "You can search for a location or move the marker on the map to change the position:" +msgstr "Anda boleh mencari lokasi atau mengalihkan penanda pada peta untuk menukar kedudukan:" + +#: src/component/upload/dialog.vue:205 msgid "You can upload up to %{n} files for test purposes." msgstr "Anda boleh memuat naik sehingga %{n} fail untuk tujuan ujian." @@ -3406,7 +3449,7 @@ msgstr "Anda hanya boleh memilih satu item" msgid "You may rescan your library to find additional faces." msgstr "Anda boleh mengimbas semula pustaka anda untuk mencari wajah tambahan." -#: src/page/connect.vue:146 src/page/connect.vue:150 +#: src/page/connect.vue:147 src/page/connect.vue:151 msgid "Your account has been successfully connected." msgstr "Akaun anda telah berjaya disambungkan." @@ -3414,8 +3457,8 @@ msgstr "Akaun anda telah berjaya disambungkan." msgid "Your browser does not support WebGL" msgstr "Penyemak imbas anda tidak menyokong WebGL" -#: src/component/confirm/sponsor.vue:43 src/page/about/about.vue:97 -#: src/page/about/about.vue:156 src/page/connect.vue:220 +#: src/component/confirm/sponsor.vue:44 src/page/about/about.vue:98 +#: src/page/about/about.vue:158 src/page/connect.vue:222 msgid "Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy." msgstr "Sokongan berterusan anda membantu kami menyediakan kemas kini dan perkhidmatan tetap seperti peta dunia." @@ -3496,9 +3539,6 @@ msgstr "Zum masuk/keluar" #~ msgid "Open Folder" #~ msgstr "Buka Folder" -#~ msgid "Cannot copy to clipboard" -#~ msgstr "Tidak boleh menyalin ke papan keratan" - #~ msgid "Sound" #~ msgstr "Bunyi" diff --git a/frontend/src/locales/nb.po b/frontend/src/locales/nb.po index 556e7621a..1f1959ff2 100644 --- a/frontend/src/locales/nb.po +++ b/frontend/src/locales/nb.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: ci@photoprism.app\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2025-04-04 08:03+0000\n" +"PO-Revision-Date: 2025-07-06 08:58+0000\n" "Last-Translator: DeepL \n" "Language-Team: Norwegian Bokmål \n" "Language: nb\n" @@ -11,7 +11,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.10.4\n" +"X-Generator: Weblate 5.12.2\n" "Generated-By: easygettext\n" #: src/locales.js:268 @@ -42,7 +42,7 @@ msgstr "{0} valgt" msgid "{0}-{1} of {2}" msgstr "{0}-{1} av {2}" -#: src/page/albums.vue:612 +#: src/page/albums.vue:617 msgid "%{n} albums found" msgstr "%{n} album funnet" @@ -50,25 +50,25 @@ msgstr "%{n} album funnet" msgid "%{n} files uploaded" msgstr "%{n} filer lastet opp" -#: src/page/library/browse.vue:362 +#: src/page/library/browse.vue:364 msgid "%{n} folders found" msgstr "%{n} mapper funnet" -#: src/component/navigation.vue:1676 +#: src/component/navigation.vue:1707 msgid "%{n} GB of %{q} GB used" msgstr "%{n} GB av %{q} GB brukt" -#: src/page/labels.vue:528 +#: src/page/labels.vue:533 msgid "%{n} labels found" msgstr "%{n} merkelapper funnet" -#: src/page/people/new.vue:350 src/page/people/new.vue:447 -#: src/page/people/recognized.vue:536 +#: src/page/people/new.vue:350 src/page/people/new.vue:450 +#: src/page/people/recognized.vue:541 msgid "%{n} people found" msgstr "%{n} personer ble funnet" -#: src/page/album/photos.vue:308 src/page/album/photos.vue:493 -#: src/page/photos.vue:441 src/page/photos.vue:631 +#: src/page/album/photos.vue:313 src/page/album/photos.vue:504 +#: src/page/photos.vue:446 src/page/photos.vue:641 msgid "%{n} pictures found" msgstr "%{n} bilder funnet" @@ -88,12 +88,12 @@ msgstr "1 time" msgid "12 hours" msgstr "12 timer" -#: src/component/user/edit/dialog.vue:452 src/page/settings/account.vue:324 -#: src/component/settings/passcode.vue:75 +#: src/component/user/edit/dialog.vue:453 src/page/settings/account.vue:325 +#: src/component/settings/passcode.vue:78 msgid "2-Factor Authentication" msgstr "2-faktor autentisering" -#: src/component/user/edit/dialog.vue:451 src/options/auth.js:46 +#: src/component/user/edit/dialog.vue:452 src/options/auth.js:47 msgid "2FA" msgstr "2FA" @@ -109,20 +109,20 @@ msgstr "Et klikk vil kopiere det til utklippstavlen." msgid "A new version of %{s} is available:" msgstr "En ny versjon av %{s} er tilgjengelig:" -#: src/component/user/edit/dialog.vue:233 -#: src/component/user/edit/dialog.vue:234 src/page/about/about.vue:56 +#: src/component/user/edit/dialog.vue:234 +#: src/component/user/edit/dialog.vue:235 src/page/about/about.vue:56 #: src/page/settings/account.vue:248 src/page/settings/account.vue:249 -#: src/app/routes.js:63 src/component/navigation.vue:1521 -#: src/page/people/recognized.vue:292 +#: src/app/routes.js:63 src/component/navigation.vue:1547 +#: src/page/people/recognized.vue:296 msgid "About" msgstr "Om" -#: src/options/auth.js:26 src/options/auth.js:44 +#: src/options/auth.js:27 src/options/auth.js:45 msgid "Access Token" msgstr "Tilgangstoken" -#: src/component/navigation.vue:87 src/component/navigation.vue:1788 -#: src/component/service/upload.vue:71 src/model/service.js:96 +#: src/component/navigation.vue:87 src/component/navigation.vue:1822 +#: src/component/service/upload.vue:72 src/model/service.js:96 #: src/model/user.js:171 src/page/settings.vue:85 #: src/page/settings/general.vue:582 msgid "Account" @@ -136,7 +136,7 @@ msgstr "Konto opprettet" msgid "Account deleted" msgstr "Konto slettet" -#: src/page/admin/users.vue:335 +#: src/page/admin/users.vue:337 msgid "Account restored" msgstr "Konto gjenopprettet" @@ -157,8 +157,8 @@ msgstr "Handling" msgid "Actions" msgstr "Handlinger" -#: src/page/connect.vue:294 src/component/settings/passcode.vue:346 -#: src/page/connect.vue:303 +#: src/page/connect.vue:296 src/component/settings/passcode.vue:349 +#: src/page/connect.vue:305 msgid "Activate" msgstr "Aktiver" @@ -174,20 +174,20 @@ msgstr "Aktiver for å sortere stigende." msgid "Activate to sort descending." msgstr "Aktiver for å sortere synkende." -#: src/page/connect.vue:231 src/page/connect.vue:240 +#: src/page/connect.vue:233 src/page/connect.vue:242 msgid "Activation Code" msgstr "Aktiveringskode" -#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:83 -#: src/component/settings/apps.vue:448 +#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:92 +#: src/component/settings/apps.vue:451 msgid "Add" msgstr "Legg til" -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:246 msgid "Add %{s}?" msgstr "Legg til %{s}?" -#: src/component/user/add/dialog.vue:56 src/component/service/add.vue:49 +#: src/component/user/add/dialog.vue:57 src/component/service/add.vue:50 msgid "Add Account" msgstr "Legg til konto" @@ -204,8 +204,8 @@ msgid "Add Link" msgstr "Legg til Lenke" #: src/component/photo/edit/people.vue:25 -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:57 -#: src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:57 +#: src/page/people/new.vue:246 msgid "Add person?" msgstr "Legg til person?" @@ -221,10 +221,15 @@ msgstr "Legg til bilder fra søkeresultatene ved å velge dem." msgid "Add to album" msgstr "Legg til i album" -#: src/component/photo/edit/files.vue:514 +#: src/component/photo/edit/files.vue:516 msgid "Added" msgstr "Lagt til" +#: src/component/location/dialog.vue:68 src/component/location/dialog.vue:90 +#: src/component/photo/edit/details.vue:246 +msgid "Adjust Location" +msgstr "Juster plassering" + #: src/options/admin.js:6 src/options/auth.js:6 msgid "Admin" msgstr "Administrasjon" @@ -245,7 +250,7 @@ msgstr "Etter 3 dager" msgid "After 7 days" msgstr "Etter 7 dager" -#: src/component/settings/passcode.vue:93 +#: src/component/settings/passcode.vue:96 msgid "After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:" msgstr "Etter å ha skrevet inn passordet ditt for bekreftelse, kan du sette opp tofaktorautentisering med en kompatibel autentiseringsapp eller enhet:" @@ -277,12 +282,16 @@ msgstr "Album" msgid "Album Backups" msgstr "Sikkerhetskopiering av album" -#: src/page/albums.vue:674 +#: src/page/albums.vue:685 msgid "Album created" msgstr "Album opprettet" -#: src/app/routes.js:176 src/component/album/toolbar.vue:51 -#: src/component/navigation.vue:604 src/component/navigation.vue:1882 +#: src/page/album/photos.vue:589 +msgid "Album deleted" +msgstr "Album slettet" + +#: src/app/routes.js:184 src/component/album/toolbar.vue:55 +#: src/component/navigation.vue:607 src/component/navigation.vue:1922 #: src/component/photo/edit/info.vue:220 src/options/options.js:198 msgid "Albums" msgstr "Album" @@ -295,7 +304,7 @@ msgstr "Album slettet" msgid "All" msgstr "Alle" -#: src/page/albums.vue:465 +#: src/page/albums.vue:470 msgid "All %{n} albums loaded" msgstr "Alle %{n} album lastet" @@ -311,8 +320,8 @@ msgstr "Alle %{n} personene er lastet inn" msgid "All Cameras" msgstr "Alle Kameraer" -#: src/component/photo/toolbar.vue:74 src/page/albums.vue:44 -#: src/page/albums.vue:240 src/page/albums.vue:746 +#: src/component/photo/toolbar.vue:74 src/page/albums.vue:45 +#: src/page/albums.vue:242 src/page/albums.vue:757 msgid "All Categories" msgstr "Alle Kategorier" @@ -344,7 +353,7 @@ msgstr "Alle Måneder" msgid "All originals" msgstr "Alle originaler" -#: src/component/photo/toolbar.vue:76 src/page/albums.vue:93 +#: src/component/photo/toolbar.vue:76 src/page/albums.vue:94 msgid "All Years" msgstr "Alle År" @@ -356,7 +365,7 @@ msgstr "Alternativt kan du laste opp filene direkte til WebDAV-servere som Nextc msgid "Altitude" msgstr "Høyde" -#: src/component/photo/edit/details.vue:272 +#: src/component/photo/edit/details.vue:297 msgid "Altitude (m)" msgstr "Høyde (m)" @@ -364,8 +373,7 @@ msgstr "Høyde (m)" msgid "AM" msgstr "AM" -#: src/app/routes.js:257 src/component/navigation.vue:791 -#: src/component/photo/edit/files.vue:364 +#: src/app/routes.js:265 src/component/photo/edit/files.vue:364 #: src/component/photo/view/cards.vue:327 #: src/component/photo/view/cards.vue:511 src/component/photo/view/list.vue:184 #: src/component/photo/view/mosaic.vue:171 src/options/options.js:301 @@ -376,43 +384,47 @@ msgstr "Animert" msgid "Animation" msgstr "Animasjon" +#: src/component/navigation.vue:797 +msgid "Animations" +msgstr "Animasjoner" + #: src/component/share/dialog.vue:207 msgid "Any private photos and videos remain private and won't be shared." msgstr "Eventuelle private bilder og videoer forblir private og vil ikke bli delt." -#: src/component/service/edit.vue:372 +#: src/component/service/edit.vue:373 msgid "API Key" msgstr "API-nøkkel" -#: src/page/admin/sessions.vue:357 src/options/auth.js:25 +#: src/page/admin/sessions.vue:361 src/options/auth.js:26 msgid "Application" msgstr "Søknad" -#: src/component/photo/edit/details.vue:641 +#: src/component/photo/edit/details.vue:615 msgid "Apply" msgstr "Bruk" #: src/component/photo/clipboard.vue:64 -#: src/component/photo/edit/details.vue:640 +#: src/component/photo/edit/details.vue:614 #: src/component/photo/view/cards.vue:416 msgid "Approve" msgstr "Godkjenn" -#: src/page/settings/account.vue:374 src/component/settings/apps.vue:91 +#: src/page/settings/account.vue:378 src/component/settings/apps.vue:94 msgid "Apps and Devices" msgstr "Apper og enheter" -#: src/app/routes.js:287 src/component/lightbox.vue:1207 -#: src/component/navigation.vue:555 src/component/photo/clipboard.vue:142 +#: src/app/routes.js:295 src/component/lightbox.vue:1207 +#: src/component/navigation.vue:557 src/component/photo/clipboard.vue:142 #: src/component/photo/view/cards.vue:398 src/page/settings/general.vue:432 msgid "Archive" msgstr "Arkivér" -#: src/component/lightbox.vue:1982 src/component/photo/edit/info.vue:433 +#: src/component/lightbox.vue:2002 src/component/photo/edit/info.vue:433 msgid "Archived" msgstr "Arkivert" -#: src/component/photo/archive/dialog.vue:34 +#: src/component/photo/archive/dialog.vue:35 msgid "Are you sure you want to archive the selection?" msgstr "Er du sikker på at du vil arkivere utvalget?" @@ -420,19 +432,23 @@ msgstr "Er du sikker på at du vil arkivere utvalget?" msgid "Are you sure you want to delete these albums?" msgstr "Er du sikker på at du vil slette disse albumene?" -#: src/component/label/delete/dialog.vue:34 +#: src/component/label/delete/dialog.vue:35 msgid "Are you sure you want to delete these labels?" msgstr "Er du sikker på at du vil slette disse merkelappene?" -#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:36 +#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:37 msgid "Are you sure you want to delete this account?" msgstr "Er du sikker på at du vil slette denne kontoen?" +#: src/component/album/toolbar.vue:136 +msgid "Are you sure you want to delete this album?" +msgstr "Er du sikker på at du vil slette dette albumet?" + #: src/component/photo/clipboard.vue:199 msgid "Are you sure you want to permanently delete these pictures?" msgstr "Er du sikker på at du vil permanent slette disse bildene?" -#: src/component/file/delete/dialog.vue:34 +#: src/component/file/delete/dialog.vue:35 msgid "Are you sure you want to permanently delete this file?" msgstr "Er du sikker på at du vil permanent slette denne filen?" @@ -441,7 +457,7 @@ msgstr "Er du sikker på at du vil permanent slette denne filen?" msgid "Are you sure?" msgstr "Er du sikker?" -#: src/component/photo/edit/details.vue:537 +#: src/component/photo/edit/details.vue:511 msgid "Artist" msgstr "Kunstner" @@ -449,14 +465,14 @@ msgstr "Kunstner" msgid "Aspect Ratio" msgstr "Sideforhold" -#: src/app/routes.js:250 src/component/navigation.vue:770 +#: src/app/routes.js:258 src/component/navigation.vue:776 #: src/options/options.js:297 msgid "Audio" msgstr "Lyd" -#: src/component/user/add/dialog.vue:190 src/component/user/edit/dialog.vue:309 -#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:281 -#: src/page/admin/users.vue:75 +#: src/component/user/add/dialog.vue:191 src/component/user/edit/dialog.vue:310 +#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:282 +#: src/page/admin/users.vue:77 msgid "Authentication" msgstr "Autentisering" @@ -464,11 +480,11 @@ msgstr "Autentisering" msgid "Auto" msgstr "Auto" -#: src/component/settings/apps.vue:151 +#: src/component/settings/apps.vue:154 msgid "Back" msgstr "Tilbake" -#: src/component/scroll.vue:20 +#: src/component/scroll.vue:18 msgid "Back to top" msgstr "Tilbake til toppen" @@ -480,26 +496,26 @@ msgstr "Sikkerhetskopiering" msgid "Badge" msgstr "Merke" -#: src/component/user/edit/dialog.vue:361 #: src/component/user/edit/dialog.vue:362 +#: src/component/user/edit/dialog.vue:363 msgid "Base Path" msgstr "Basebane" -#: src/page/about/about.vue:95 src/page/connect.vue:220 +#: src/page/about/about.vue:96 src/page/connect.vue:222 msgid "Become a member today, support our mission and enjoy our member benefits!" msgstr "Bli en sponsor i dag, støtt oppdraget vårt og nyt medlemsfordelene våre!" -#: src/component/confirm/sponsor.vue:51 src/page/about/about.vue:99 +#: src/component/confirm/sponsor.vue:52 src/page/about/about.vue:100 msgid "Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services." msgstr "Ved å være 100% selvfinansiert og uavhengig, kan vi love deg at vi aldri vil selge dataene dine og at vi alltid vil være gjennomsiktige om programvaren og tjenestene våre." -#: src/component/user/edit/dialog.vue:258 -#: src/component/user/edit/dialog.vue:259 src/page/settings/account.vue:227 +#: src/component/user/edit/dialog.vue:259 +#: src/component/user/edit/dialog.vue:260 src/page/settings/account.vue:227 #: src/page/settings/account.vue:228 msgid "Bio" msgstr "Info" -#: src/page/settings/account.vue:431 +#: src/page/settings/account.vue:437 msgid "Birth Date" msgstr "Fødselsdato" @@ -520,7 +536,7 @@ msgid "Brown" msgstr "Brun" #: src/component/photo/edit/files.vue:263 src/component/photo/toolbar.vue:141 -#: src/component/upload/dialog.vue:240 +#: src/component/upload/dialog.vue:242 msgid "Browse" msgstr "Bla gjennom" @@ -548,16 +564,16 @@ msgstr "Feilmelding" msgid "Busy, please wait…" msgstr "Opptatt, vennligst vent…" -#: src/page/connect.vue:317 +#: src/page/connect.vue:319 msgid "By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct." msgstr "Ved å bruke programvaren og tjenestene vi tilbyr, godtar du våre vilkår for bruk, personvernerklæring og etiske retningslinjer." -#: src/app/routes.js:189 src/component/navigation.vue:1081 +#: src/app/routes.js:197 src/component/navigation.vue:1097 #: src/options/options.js:204 src/page/settings/general.vue:205 msgid "Calendar" msgstr "Kalender" -#: src/component/photo/edit/details.vue:346 src/component/photo/toolbar.vue:232 +#: src/component/photo/edit/details.vue:320 src/component/photo/toolbar.vue:234 #: src/component/photo/view/cards.vue:467 src/component/photo/view/list.vue:116 msgid "Camera" msgstr "Kamera" @@ -570,12 +586,12 @@ msgstr "Kamera-serienummer" msgid "Can't access your authenticator app or device?" msgstr "Får du ikke tilgang til autentiseringsappen eller -enheten din?" -#: src/page/album/photos.vue:317 src/page/photos.vue:450 +#: src/page/album/photos.vue:322 src/page/photos.vue:455 msgid "Can't load more, limit reached" msgstr "Kan ikke laste inn mer, grensen nådd" #: src/common/clipboard.js:102 src/common/clipboard.js:139 -#: src/page/albums.vue:684 src/page/albums.vue:700 src/page/labels.vue:293 +#: src/page/albums.vue:695 src/page/albums.vue:711 src/page/labels.vue:293 #: src/page/labels.vue:313 src/page/library/browse.vue:233 #: src/page/library/browse.vue:249 src/page/people/new.vue:278 #: src/page/people/new.vue:294 src/page/people/recognized.vue:305 @@ -584,26 +600,31 @@ msgid "Can't select more items" msgstr "Kan ikke velge flere elementer" #: src/component/session/remove/dialog.vue:45 -#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:473 -#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:119 +#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:474 +#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:120 #: src/component/album/delete/dialog.vue:43 -#: src/component/album/edit/dialog.vue:199 src/component/confirm/dialog.vue:43 -#: src/component/file/delete/dialog.vue:47 -#: src/component/label/delete/dialog.vue:47 -#: src/component/label/edit/dialog.vue:107 -#: src/component/people/edit/dialog.vue:120 +#: src/component/album/edit/dialog.vue:200 src/component/confirm/dialog.vue:43 +#: src/component/file/delete/dialog.vue:48 +#: src/component/label/delete/dialog.vue:48 +#: src/component/label/edit/dialog.vue:108 +#: src/component/location/dialog.vue:200 +#: src/component/people/edit/dialog.vue:121 #: src/component/photo/album/dialog.vue:78 src/component/service/add.vue:19 -#: src/component/service/edit.vue:455 src/component/service/remove.vue:49 -#: src/component/service/upload.vue:117 src/component/settings/apps.vue:352 -#: src/component/settings/passcode.vue:249 -#: src/component/settings/passcode.vue:333 -#: src/component/settings/password.vue:159 src/component/share/dialog.vue:28 -#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:123 +#: src/component/service/edit.vue:456 src/component/service/remove.vue:50 +#: src/component/service/upload.vue:118 src/component/settings/apps.vue:355 +#: src/component/settings/passcode.vue:252 +#: src/component/settings/passcode.vue:336 +#: src/component/settings/password.vue:160 src/component/share/dialog.vue:28 +#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:124 #: src/page/library/import.vue:119 src/page/library/index.vue:128 msgid "Cancel" msgstr "Avbryt" -#: src/component/photo/edit/details.vue:87 src/component/photo/edit/info.vue:61 +#: src/common/util.js:863 src/common/util.js:870 +msgid "Cannot copy to clipboard" +msgstr "Kan ikke kopiere til utklippstavlen" + +#: src/component/photo/edit/details.vue:89 src/component/photo/edit/info.vue:63 #: src/component/photo/edit/labels.vue:42 #: src/component/photo/view/cards.vue:445 src/component/sidebar/info.vue:72 msgid "Caption" @@ -617,17 +638,17 @@ msgstr "Kort" msgid "Carousel slide {0} of {1}" msgstr "Karusellbilde {0} av {1}" -#: src/page/about/feedback.vue:82 src/page/about/feedback.vue:83 -#: src/component/album/edit/dialog.vue:128 src/component/photo/toolbar.vue:397 +#: src/page/about/feedback.vue:83 src/page/about/feedback.vue:84 +#: src/component/album/edit/dialog.vue:129 src/component/photo/toolbar.vue:399 #: src/page/albums.vue:187 msgid "Category" msgstr "Kategori" -#: src/component/user/edit/dialog.vue:191 src/page/settings/account.vue:201 +#: src/component/user/edit/dialog.vue:192 src/page/settings/account.vue:201 msgid "Change Avatar" msgstr "Endre profilbilde" -#: src/page/settings/account.vue:297 src/component/settings/password.vue:48 +#: src/page/settings/account.vue:297 src/component/settings/password.vue:49 msgid "Change Password" msgstr "Bytt Passord" @@ -644,17 +665,17 @@ msgid "Change private flag" msgstr "Endre private flagg" #: src/component/user/add/dialog.vue:108 src/component/user/add/dialog.vue:113 -#: src/component/user/edit/dialog.vue:90 src/component/user/edit/dialog.vue:95 +#: src/component/user/edit/dialog.vue:91 src/component/user/edit/dialog.vue:96 #: src/page/settings/account.vue:121 src/page/settings/account.vue:126 msgid "Changes could not be saved" msgstr "Kan ikke lagre endringer" -#: src/component/user/edit/dialog.vue:83 src/component/user/edit/dialog.vue:159 +#: src/component/user/edit/dialog.vue:84 src/component/user/edit/dialog.vue:160 #: src/component/album/edit/dialog.vue:73 -#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1941 +#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1961 #: src/component/photo/edit/files.vue:162 src/component/service/edit.vue:90 #: src/component/share/dialog.vue:92 src/component/share/dialog.vue:111 -#: src/page/albums.vue:677 src/page/people/recognized.vue:119 +#: src/page/albums.vue:688 src/page/people/recognized.vue:119 #: src/page/settings/advanced.vue:62 src/page/settings/content.vue:62 #: src/page/settings/general.vue:108 msgid "Changes successfully saved" @@ -668,7 +689,7 @@ msgstr "Endringer i de avanserte innstillingene krever en omstart for å tre i k msgid "Checked" msgstr "Krysset av" -#: src/component/photo/edit/files.vue:495 +#: src/component/photo/edit/files.vue:497 msgid "Chroma" msgstr "Kroma" @@ -684,24 +705,24 @@ msgstr "Opprydding" msgid "Clear {0}" msgstr "Tøm {0}" -#: src/options/auth.js:11 src/options/auth.js:23 src/options/auth.js:43 +#: src/options/auth.js:12 src/options/auth.js:24 src/options/auth.js:44 msgid "Client" msgstr "Kunde" -#: src/options/auth.js:24 +#: src/options/auth.js:25 msgid "Client Credentials" msgstr "Kundens legitimasjon" -#: src/page/admin/sessions.vue:529 src/component/lightbox.vue:284 -#: src/component/lightbox.vue:1009 src/component/lightbox.vue:1010 -#: src/component/photo/edit/details.vue:627 src/component/photo/toolbar.vue:160 -#: src/component/settings/apps.vue:224 src/component/settings/apps.vue:437 -#: src/component/settings/passcode.vue:148 -#: src/component/settings/passcode.vue:456 -#: src/component/settings/passcode.vue:497 -#: src/component/settings/webdav.vue:131 src/component/share/dialog.vue:231 +#: src/component/user/edit/dialog.vue:474 src/page/admin/sessions.vue:536 +#: src/component/lightbox.vue:284 src/component/lightbox.vue:1009 +#: src/component/lightbox.vue:1010 src/component/photo/edit/details.vue:601 +#: src/component/photo/toolbar.vue:161 src/component/settings/apps.vue:227 +#: src/component/settings/apps.vue:440 src/component/settings/passcode.vue:151 +#: src/component/settings/passcode.vue:459 +#: src/component/settings/passcode.vue:500 +#: src/component/settings/webdav.vue:132 src/component/share/dialog.vue:231 #: src/component/sidebar/info.vue:26 src/component/update.vue:57 -#: src/component/upload/dialog.vue:228 src/locales.js:206 +#: src/component/upload/dialog.vue:230 src/locales.js:206 #: src/page/library/errors.vue:253 msgid "Close" msgstr "Lukk" @@ -710,11 +731,11 @@ msgstr "Lukk" msgid "Codec" msgstr "Kodeks" -#: src/component/photo/toolbar.vue:369 +#: src/component/photo/toolbar.vue:371 msgid "Color" msgstr "Farge" -#: src/component/photo/edit/files.vue:483 +#: src/component/photo/edit/files.vue:485 msgid "Color Profile" msgstr "Fargeprofil" @@ -722,7 +743,7 @@ msgstr "Fargeprofil" msgid "Colors" msgstr "Farger" -#: src/page/connect.vue:260 src/page/connect.vue:269 +#: src/page/connect.vue:262 src/page/connect.vue:271 msgid "Compare Editions" msgstr "Sammenlign utgaver" @@ -735,17 +756,18 @@ msgstr "Komplett Ny Skanning" msgid "Confidence" msgstr "Konfidens" +#: src/component/location/dialog.vue:212 #: src/component/photo/album/dialog.vue:90 -#: src/component/settings/passcode.vue:261 +#: src/component/settings/passcode.vue:264 msgid "Confirm" msgstr "Bekrefte" -#: src/component/service/add.vue:20 src/page/settings/services.vue:187 +#: src/component/service/add.vue:20 src/page/settings/services.vue:191 msgid "Connect" msgstr "Koble til" -#: src/page/settings/account.vue:401 src/component/settings/webdav.vue:45 -#: src/page/settings/services.vue:167 +#: src/page/settings/account.vue:406 src/component/settings/webdav.vue:46 +#: src/page/settings/services.vue:170 msgid "Connect via WebDAV" msgstr "Koble til via WebDAV" @@ -753,22 +775,22 @@ msgstr "Koble til via WebDAV" msgid "Connected" msgstr "Tilkoblet" -#: src/page/settings/account.vue:640 src/page/settings/account.vue:532 +#: src/page/settings/account.vue:646 src/page/settings/account.vue:538 msgid "Contact Details" msgstr "Kontaktinformasjon" -#: src/page/about/feedback.vue:37 src/page/connect.vue:132 -#: src/page/connect.vue:136 +#: src/page/about/feedback.vue:37 src/page/connect.vue:133 +#: src/page/connect.vue:137 msgid "Contact Us" msgstr "Kontakt Oss" #: src/page/albums.vue:433 src/page/labels.vue:237 -#: src/page/people/recognized.vue:306 +#: src/page/people/recognized.vue:310 msgid "Contains %{n} pictures." msgstr "Inneholder %{n} bilder." #: src/page/albums.vue:427 src/page/labels.vue:231 -#: src/page/people/recognized.vue:300 +#: src/page/people/recognized.vue:304 msgid "Contains one picture." msgstr "Inneholder ett bilde." @@ -776,7 +798,7 @@ msgstr "Inneholder ett bilde." msgid "Content" msgstr "Innhold" -#: src/component/settings/apps.vue:163 +#: src/component/settings/apps.vue:166 msgid "Continue" msgstr "Fortsette" @@ -784,7 +806,7 @@ msgstr "Fortsette" msgid "Continue with %{provider}" msgstr "Fortsett med %{tilbyder}" -#: src/options/admin.js:18 src/options/auth.js:9 +#: src/options/admin.js:22 src/options/auth.js:10 msgid "Contributor" msgstr "Bidragsyter" @@ -792,15 +814,15 @@ msgstr "Bidragsyter" msgid "Converting" msgstr "Konverterer" -#: src/common/util.js:846 +#: src/common/util.js:856 msgid "Copied to clipboard" msgstr "Kopiert til utklippstavlen" -#: src/component/settings/apps.vue:250 src/component/settings/passcode.vue:358 +#: src/component/settings/apps.vue:253 src/component/settings/passcode.vue:361 msgid "Copy" msgstr "Kopiere" -#: src/component/photo/edit/details.vue:516 +#: src/component/photo/edit/details.vue:490 msgid "Copyright" msgstr "Opphavsrett" @@ -808,8 +830,8 @@ msgstr "Opphavsrett" msgid "Couldn't find anything." msgstr "Kunne ikke finne noe." -#: src/page/settings/account.vue:685 src/component/photo/edit/details.vue:242 -#: src/component/photo/toolbar.vue:203 src/page/settings/account.vue:577 +#: src/page/settings/account.vue:691 src/component/photo/edit/details.vue:268 +#: src/component/photo/toolbar.vue:205 src/page/settings/account.vue:583 msgid "Country" msgstr "Land" @@ -833,7 +855,7 @@ msgstr "Opprett YAML-filer for å sikkerhetskopiere metadata for album." msgid "Create YAML sidecar files to back up picture metadata." msgstr "Opprett YAML-sidevognfiler for å sikkerhetskopiere bildemetadata." -#: src/page/admin/sessions.vue:417 src/component/photo/edit/info.vue:412 +#: src/page/admin/sessions.vue:422 src/component/photo/edit/info.vue:412 msgid "Created" msgstr "Opprettet" @@ -845,11 +867,11 @@ msgstr "Oppretter miniatyrbilder for" msgid "Cubic: Moderate Quality, Good Performance" msgstr "Kubisk: Moderat kvalitet, god ytelse" -#: src/component/settings/password.vue:85 +#: src/component/settings/password.vue:86 msgid "Current Password" msgstr "Nåværende Passord" -#: src/options/themes.js:919 src/options/themes.js:928 +#: src/options/themes.js:920 src/options/themes.js:929 msgid "Custom" msgstr "Tilpasset" @@ -865,11 +887,11 @@ msgstr "Daglig" msgid "Database Backups" msgstr "Sikkerhetskopiering av databaser" -#: src/page/settings/account.vue:450 src/component/photo/edit/details.vue:110 +#: src/page/settings/account.vue:456 src/component/photo/edit/details.vue:112 msgid "Day" msgstr "Dag" -#: src/component/settings/passcode.vue:445 +#: src/component/settings/passcode.vue:448 msgid "Deactivate" msgstr "Deaktiver" @@ -877,36 +899,40 @@ msgstr "Deaktiver" msgid "Debug Logs" msgstr "Feilsøkingslogger" -#: src/options/admin.js:31 src/page/admin/sessions.vue:136 -#: src/page/admin/users.vue:176 src/component/photo/edit/info.vue:47 +#: src/options/admin.js:35 src/page/admin/sessions.vue:136 +#: src/page/admin/users.vue:178 src/component/photo/edit/info.vue:47 #: src/component/photo/edit/info.vue:110 src/model/session.js:66 -#: src/model/user.js:246 src/options/auth.js:20 src/options/auth.js:21 -#: src/options/auth.js:39 src/options/auth.js:40 src/options/options.js:196 +#: src/model/user.js:246 src/options/auth.js:21 src/options/auth.js:22 +#: src/options/auth.js:40 src/options/auth.js:41 src/options/options.js:196 #: src/options/options.js:232 src/options/options.js:316 -#: src/options/themes.js:773 +#: src/options/themes.js:774 msgid "Default" msgstr "Standard" -#: src/component/service/edit.vue:123 +#: src/component/service/edit.vue:124 msgid "Default Folder" msgstr "Standardmappe" #: src/component/session/remove/dialog.vue:56 #: src/component/user/remove/dialog.vue:56 src/component/album/clipboard.vue:97 -#: src/component/album/delete/dialog.vue:54 -#: src/component/file/delete/dialog.vue:58 src/component/label/clipboard.vue:58 -#: src/component/label/delete/dialog.vue:58 +#: src/component/album/delete/dialog.vue:54 src/component/album/toolbar.vue:137 +#: src/component/file/delete/dialog.vue:59 src/component/label/clipboard.vue:58 +#: src/component/label/delete/dialog.vue:59 #: src/component/photo/clipboard.vue:168 src/component/photo/edit/files.vue:238 -#: src/component/service/remove.vue:60 src/component/share/dialog.vue:170 +#: src/component/service/remove.vue:61 src/component/share/dialog.vue:170 #: src/page/settings/general.vue:457 msgid "Delete" msgstr "Slett" +#: src/component/album/toolbar.vue:133 +msgid "Delete Album" +msgstr "Slett album" + #: src/component/photo/toolbar.vue:119 src/page/library/errors.vue:95 msgid "Delete All" msgstr "Slett alle" -#: src/component/photo/toolbar.vue:433 src/page/library/errors.vue:193 +#: src/component/photo/toolbar.vue:435 src/page/library/errors.vue:193 msgid "Delete all?" msgstr "Slett alt?" @@ -914,16 +940,16 @@ msgstr "Slett alt?" msgid "Delete orphaned index entries, sidecar files and thumbnails." msgstr "Slett foreldreløse indeksoppføringer, sidefiler og miniatyrbilder." -#: src/component/album/edit/dialog.vue:107 src/page/albums.vue:411 +#: src/component/album/edit/dialog.vue:108 src/page/albums.vue:411 msgid "Description" msgstr "Beskrivelse" -#: src/component/settings/webdav.vue:115 +#: src/component/settings/webdav.vue:116 msgid "Detailed instructions can be found in our User Guide." msgstr "Detaljerte instruksjoner finner du i vår Brukerhåndbok." -#: src/component/photo/edit/dialog.vue:156 -#: src/component/photo/edit/dialog.vue:173 +#: src/component/photo/edit/dialog.vue:162 +#: src/component/photo/edit/dialog.vue:181 msgid "Details" msgstr "Detaljer" @@ -987,8 +1013,8 @@ msgstr "Deaktiverer støtte for vektorgrafikk." msgid "Disables video transcoding and thumbnail extraction." msgstr "Deaktiverer videotranskoding og miniatyrbildeekstraksjon." -#: src/app/routes.js:558 src/app/routes.js:565 src/app/routes.js:572 -#: src/app/routes.js:579 +#: src/app/routes.js:566 src/app/routes.js:573 src/app/routes.js:580 +#: src/app/routes.js:587 msgid "Discover" msgstr "Utforsk" @@ -996,9 +1022,9 @@ msgstr "Utforsk" msgid "Dismiss" msgstr "Avskjed" -#: src/component/user/add/dialog.vue:133 src/component/user/add/dialog.vue:134 -#: src/component/user/edit/dialog.vue:163 -#: src/component/user/edit/dialog.vue:164 src/page/admin/users.vue:72 +#: src/component/user/add/dialog.vue:134 src/component/user/add/dialog.vue:135 +#: src/component/user/edit/dialog.vue:164 +#: src/component/user/edit/dialog.vue:165 src/page/admin/users.vue:74 #: src/page/settings/account.vue:149 src/page/settings/account.vue:151 msgid "Display Name" msgstr "Vist navn" @@ -1013,12 +1039,12 @@ msgstr "Vis bildetitler i søkeresultatene." #: src/component/photo/view/cards.vue:339 #: src/component/photo/view/cards.vue:521 -#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:174 +#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:176 #: src/options/options.js:309 msgid "Document" msgstr "Dokument" -#: src/component/navigation.vue:480 +#: src/component/navigation.vue:482 msgid "Documents" msgstr "Dokumenter" @@ -1034,16 +1060,16 @@ msgstr "Ikke bruk ImageMagick til å konvertere bilder." msgid "Don't use RawTherapee to convert RAW images." msgstr "Ikke bruk RawTherapee til å konvertere RAW-bilder." -#: src/component/settings/apps.vue:238 src/component/share/dialog.vue:29 +#: src/component/settings/apps.vue:241 src/component/share/dialog.vue:29 msgid "Done" msgstr "Ferdig" -#: src/component/upload/dialog.vue:135 src/page/library/import.vue:46 +#: src/component/upload/dialog.vue:137 src/page/library/import.vue:46 #: src/page/library/index.vue:52 msgid "Done." msgstr "Ferdig." -#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:118 +#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:123 #: src/component/file/clipboard.vue:48 src/component/lightbox.vue:1235 #: src/component/people/clipboard.vue:47 src/component/photo/clipboard.vue:116 #: src/component/photo/edit/files.vue:168 src/page/settings/content.vue:331 @@ -1055,7 +1081,7 @@ msgstr "Last ned" msgid "Download only original media files, without any automatically generated files." msgstr "Last ned bare originale mediefiler, uten automatisk genererte filer." -#: src/component/service/edit.vue:237 +#: src/component/service/edit.vue:238 msgid "Download remote files" msgstr "Last ned eksterne filer" @@ -1063,9 +1089,9 @@ msgstr "Last ned eksterne filer" msgid "Download single files and zip archives." msgstr "Last ned enkelte filer og zip-arkiver." -#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:157 +#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:172 #: src/component/file/clipboard.vue:61 src/component/label/clipboard.vue:86 -#: src/component/lightbox.vue:2021 src/component/people/clipboard.vue:59 +#: src/component/lightbox.vue:2041 src/component/people/clipboard.vue:59 #: src/component/photo/clipboard.vue:220 src/component/photo/edit/files.vue:119 #: src/component/photo/view/cards.vue:169 src/component/photo/view/list.vue:142 #: src/page/library/browse.vue:139 @@ -1080,7 +1106,7 @@ msgstr "Nedskalerer Filter" msgid "Drag and drop files here" msgstr "Dra og slipp filer her" -#: src/page/about/feedback.vue:61 +#: src/page/about/feedback.vue:62 msgid "Due to the high volume of emails we receive, our team may be unable to get back to you immediately." msgstr "På grunn av det store antallet e-poster vi mottar, kan det hende at teamet vårt ikke kan svare deg umiddelbart." @@ -1100,23 +1126,23 @@ msgstr "Dynamiske Forhåndsvisninger" msgid "Dynamic Size Limit: %{n}px" msgstr "Grense for Dynamisk Størrelse:%{n}px" -#: src/page/about/feedback.vue:141 src/page/about/feedback.vue:140 +#: src/page/about/feedback.vue:142 src/page/about/feedback.vue:141 msgid "E-Mail" msgstr "E-post" -#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:89 +#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:94 #: src/component/lightbox.vue:1136 src/component/lightbox.vue:1137 #: src/component/photo/clipboard.vue:90 src/page/settings/general.vue:407 msgid "Edit" msgstr "Rediger" -#: src/component/album/edit/dialog.vue:54 -#: src/component/label/edit/dialog.vue:52 -#: src/component/people/edit/dialog.vue:52 +#: src/component/album/edit/dialog.vue:55 +#: src/component/label/edit/dialog.vue:53 +#: src/component/people/edit/dialog.vue:53 msgid "Edit %{s}" msgstr "Rediger %{s}" -#: src/component/user/edit/dialog.vue:61 src/component/service/edit.vue:79 +#: src/component/user/edit/dialog.vue:62 src/component/service/edit.vue:79 msgid "Edit Account" msgstr "Rediger Konto" @@ -1128,8 +1154,8 @@ msgstr "Rediger Bilde" msgid "Edited" msgstr "Redigert" -#: src/component/user/add/dialog.vue:151 src/component/user/edit/dialog.vue:213 -#: src/page/settings/account.vue:171 src/page/settings/account.vue:593 +#: src/component/user/add/dialog.vue:152 src/component/user/edit/dialog.vue:214 +#: src/page/settings/account.vue:171 src/page/settings/account.vue:599 msgid "Email" msgstr "E-post" @@ -1145,7 +1171,7 @@ msgstr "Aktiver nye funksjoner som kan være ufullstendige eller ustabile." msgid "Enables RAW converter presets. May reduce performance." msgstr "Aktiverer forhåndsinnstillinger for RAW -omformer. Kan redusere ytelsen." -#: src/component/settings/passcode.vue:127 +#: src/component/settings/passcode.vue:130 msgid "Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account." msgstr "Aktivering av tofaktorautentisering betyr at du trenger en tilfeldig generert bekreftelseskode for å logge på, så selv om noen får tilgang til passordet ditt, vil de ikke få tilgang til kontoen din." @@ -1157,7 +1183,7 @@ msgstr "Angi dato" msgid "Enter dates" msgstr "Angi datoer" -#: src/component/settings/passcode.vue:213 src/page/auth/login.vue:104 +#: src/component/settings/passcode.vue:216 src/page/auth/login.vue:104 msgid "Enter the code generated by your authenticator app:" msgstr "Skriv inn koden som genereres av autentiseringsappen din:" @@ -1165,7 +1191,7 @@ msgstr "Skriv inn koden som genereres av autentiseringsappen din:" msgid "Enter verification code" msgstr "Angi verifikasjonskode" -#: src/component/settings/apps.vue:109 +#: src/component/settings/apps.vue:112 msgid "Enter your password to confirm the action and continue:" msgstr "Skriv inn passordet ditt for å bekrefte handlingen og fortsett:" @@ -1174,7 +1200,7 @@ msgstr "Skriv inn passordet ditt for å bekrefte handlingen og fortsett:" msgid "Error" msgstr "Feil" -#: src/app/routes.js:374 src/component/navigation.vue:1348 +#: src/app/routes.js:382 src/component/navigation.vue:1372 msgid "Errors" msgstr "Feil" @@ -1210,13 +1236,13 @@ msgstr "Metadataekstraksjon med ExifTool er påkrevd for å få full støtte for msgid "Experimental Features" msgstr "Eksperimentelle Funksjoner" -#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:453 -#: src/component/service/edit.vue:157 src/component/settings/apps.vue:73 -#: src/component/settings/apps.vue:326 src/component/share/dialog.vue:62 +#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:458 +#: src/component/service/edit.vue:158 src/component/settings/apps.vue:73 +#: src/component/settings/apps.vue:329 src/component/share/dialog.vue:62 msgid "Expires" msgstr "Utgår" -#: src/component/photo/edit/details.vue:396 +#: src/component/photo/edit/details.vue:370 msgid "Exposure" msgstr "Eksponering" @@ -1224,7 +1250,7 @@ msgstr "Eksponering" msgid "Extract still images and generate thumbnails while indexing." msgstr "Trekk ut stillbilder og generer miniatyrbilder mens du indekserer." -#: src/component/photo/edit/details.vue:444 +#: src/component/photo/edit/details.vue:418 msgid "F Number" msgstr "F-nummer" @@ -1240,7 +1266,7 @@ msgstr "Ansikter" msgid "Failed removing link" msgstr "Fikk ikke til å fjerne lenke" -#: src/page/connect.vue:106 src/page/connect.vue:110 +#: src/page/connect.vue:107 src/page/connect.vue:111 msgid "Failed to connect account." msgstr "Kunne ikke koble til konto." @@ -1248,8 +1274,8 @@ msgstr "Kunne ikke koble til konto." msgid "Failed updating link" msgstr "Fikk ikke til å oppdatere lenke" -#: src/component/user/edit/dialog.vue:143 -#: src/component/user/edit/dialog.vue:144 src/page/settings/account.vue:128 +#: src/component/user/edit/dialog.vue:144 +#: src/component/user/edit/dialog.vue:145 src/page/settings/account.vue:128 #: src/page/settings/account.vue:130 msgid "Family Name" msgstr "Familienavn" @@ -1258,15 +1284,15 @@ msgstr "Familienavn" msgid "Fast" msgstr "Hurtig" -#: src/component/album/edit/dialog.vue:159 -#: src/component/label/edit/dialog.vue:85 -#: src/component/people/edit/dialog.vue:85 +#: src/component/album/edit/dialog.vue:160 +#: src/component/label/edit/dialog.vue:86 +#: src/component/people/edit/dialog.vue:86 #: src/component/photo/edit/info.vue:287 msgid "Favorite" msgstr "Favoritt" -#: src/app/routes.js:222 src/component/navigation.vue:893 -#: src/options/options.js:202 src/page/albums.vue:97 +#: src/app/routes.js:230 src/component/navigation.vue:903 +#: src/options/options.js:202 src/page/albums.vue:98 msgid "Favorites" msgstr "Favoritter" @@ -1274,7 +1300,7 @@ msgstr "Favoritter" msgid "Feature Request" msgstr "Funksjonsforespørsel" -#: src/component/navigation.vue:1456 +#: src/component/navigation.vue:1482 msgid "Feedback" msgstr "Tilbakemelding" @@ -1282,11 +1308,12 @@ msgstr "Tilbakemelding" msgid "Female" msgstr "Hunn" -#: src/component/photo/edit/info.vue:214 src/model/file.js:290 +#: src/component/photo/edit/info.vue:57 src/component/photo/edit/info.vue:214 +#: src/model/file.js:290 msgid "File" msgstr "Fil" -#: src/app/routes.js:343 +#: src/app/routes.js:351 msgid "File Browser" msgstr "Filutforsker" @@ -1309,8 +1336,8 @@ msgstr "Filstørrelse" msgid "Filename" msgstr "Filnavn" -#: src/component/navigation.vue:1930 src/component/photo/edit/dialog.vue:267 -#: src/component/photo/edit/dialog.vue:284 +#: src/component/navigation.vue:1973 src/component/photo/edit/dialog.vue:279 +#: src/component/photo/edit/dialog.vue:298 msgid "Files" msgstr "Filer" @@ -1322,26 +1349,26 @@ msgstr "Filer med sekvensielle navn som \"IMG_1234 (2) og \"IMG_1234 (3)\" tilh msgid "First page" msgstr "Første side" -#: src/component/photo/edit/details.vue:465 +#: src/component/photo/edit/details.vue:439 msgid "Focal Length" msgstr "Brennvidde" -#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:118 -#: src/component/service/edit.vue:189 src/component/service/edit.vue:194 -#: src/component/service/upload.vue:90 src/component/service/upload.vue:96 +#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:119 +#: src/component/service/edit.vue:190 src/component/service/edit.vue:195 +#: src/component/service/upload.vue:91 src/component/service/upload.vue:97 #: src/model/folder.js:199 src/page/library/browse.vue:182 msgid "Folder" msgstr "Mappe" -#: src/page/library/browse.vue:365 +#: src/page/library/browse.vue:367 msgid "Folder contains %{n} files" msgstr "Mappen inneholder %{n} filer" -#: src/page/library/browse.vue:356 +#: src/page/library/browse.vue:358 msgid "Folder is empty" msgstr "Mappen er tom" -#: src/app/routes.js:202 src/component/navigation.vue:1225 +#: src/app/routes.js:210 src/component/navigation.vue:1247 #: src/options/options.js:207 msgid "Folders" msgstr "Mapper" @@ -1358,7 +1385,7 @@ msgstr "FPS" msgid "Frames" msgstr "Rammer" -#: src/options/auth.js:54 src/options/auth.js:64 +#: src/options/auth.js:55 src/options/auth.js:65 msgid "Full Access" msgstr "Full tilgang" @@ -1370,7 +1397,7 @@ msgstr "Fullskjerm" msgid "General" msgstr "Generell" -#: src/component/settings/apps.vue:364 +#: src/component/settings/apps.vue:367 msgid "Generate" msgstr "generere" @@ -1390,8 +1417,8 @@ msgstr "Generert" msgid "Get Started" msgstr "Kom i gang" -#: src/component/user/edit/dialog.vue:120 -#: src/component/user/edit/dialog.vue:121 src/page/settings/account.vue:106 +#: src/component/user/edit/dialog.vue:121 +#: src/component/user/edit/dialog.vue:122 src/page/settings/account.vue:106 #: src/page/settings/account.vue:108 msgid "Given Name" msgstr "Fornavn" @@ -1416,7 +1443,7 @@ msgstr "Grønn" msgid "Grey" msgstr "Grå" -#: src/options/admin.js:22 src/options/auth.js:10 +#: src/options/admin.js:26 src/options/auth.js:11 msgid "Guest" msgstr "Gjest" @@ -1432,15 +1459,15 @@ msgstr "Hjelp" msgid "Help & Support" msgstr "Hjelp og støtte" -#: src/component/navigation.vue:1327 src/component/people/edit/dialog.vue:98 +#: src/component/navigation.vue:1351 src/component/people/edit/dialog.vue:99 msgid "Hidden" msgstr "Skjult" -#: src/app/routes.js:358 +#: src/app/routes.js:366 msgid "Hidden Files" msgstr "Skjulte Filer" -#: src/page/people/new.vue:165 src/page/people/recognized.vue:205 +#: src/page/people/new.vue:166 src/page/people/recognized.vue:206 msgid "Hide" msgstr "Skjul" @@ -1456,7 +1483,7 @@ msgstr "Høy" msgid "High Dynamic Range (HDR)" msgstr "Høyt dynamisk område (HDR)" -#: src/page/about/feedback.vue:103 +#: src/page/about/feedback.vue:104 msgid "How can we help?" msgstr "Hvordan kan vi hjelpe?" @@ -1464,11 +1491,11 @@ msgstr "Hvordan kan vi hjelpe?" msgid "Hybrid" msgstr "Hybrid" -#: src/component/settings/passcode.vue:389 +#: src/component/settings/passcode.vue:392 msgid "If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account." msgstr "Hvis du mister tilgangen til autentiseringsappen eller enheten din, kan du bruke gjenopprettingskoden for å få tilbake tilgang til kontoen din." -#: src/component/photo/edit/info.vue:63 src/component/photo/edit/labels.vue:46 +#: src/component/photo/edit/info.vue:65 src/component/photo/edit/labels.vue:46 #: src/component/photo/view/cards.vue:532 src/model/file.js:218 #: src/options/options.js:281 msgid "Image" @@ -1478,7 +1505,7 @@ msgstr "Bilde" msgid "Image Quality" msgstr "Bildekvalitet" -#: src/page/library.vue:46 src/page/library/import.vue:152 +#: src/page/library.vue:46 src/page/library/import.vue:153 #: src/page/settings/general.vue:357 msgid "Import" msgstr "Importér" @@ -1503,8 +1530,8 @@ msgstr "Importerer %{s}…" msgid "Importing files to originals…" msgstr "Importerer filer til originaler…" -#: src/component/photo/edit/files.vue:515 -#: src/component/photo/edit/files.vue:520 +#: src/component/photo/edit/files.vue:517 +#: src/component/photo/edit/files.vue:522 msgid "in" msgstr "inn" @@ -1522,11 +1549,11 @@ msgstr "Ta med RAW-bildefiler når du laster ned stabler og arkiver." msgid "Include sidecar files when downloading stacks and archives." msgstr "Ta med sidevognfiler når du laster ned stabler og arkiver." -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Increase storage size or delete files to continue." msgstr "Øk lagringsstørrelsen eller slett filer for å fortsette." -#: src/component/navigation.vue:1946 src/page/library.vue:36 +#: src/component/navigation.vue:1990 src/page/library.vue:36 #: src/page/settings/content.vue:34 msgid "Index" msgstr "Indeks" @@ -1556,11 +1583,11 @@ msgstr "Informasjon" msgid "Instance ID" msgstr "Instans-ID" -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Insufficient storage." msgstr "Utilstrekkelig lagringsplass." -#: src/component/service/edit.vue:209 +#: src/component/service/edit.vue:210 msgid "Interval" msgstr "Intervall" @@ -1581,7 +1608,7 @@ msgstr "Ugyldig adresse" msgid "Invalid country" msgstr "Ugyldig land" -#: src/component/photo/edit/details.vue:174 +#: src/component/photo/edit/details.vue:169 msgid "Invalid date" msgstr "Ugyldig dato" @@ -1590,7 +1617,7 @@ msgstr "Ugyldig dato" msgid "Invalid parameters" msgstr "Ugyldige verdier" -#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:197 +#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:199 msgid "Invalid photo selected" msgstr "Ugyldig bilde er valgt" @@ -1602,8 +1629,8 @@ msgstr "Ugyldig klokkeslett" msgid "Invalid URL" msgstr "Ugyldig URL" -#: src/component/settings/passcode.vue:314 -#: src/component/settings/passcode.vue:391 +#: src/component/settings/passcode.vue:317 +#: src/component/settings/passcode.vue:394 msgid "It is a one-time use code that will disable 2FA for your account when you use it." msgstr "Det er en engangskode som vil deaktivere 2FA for kontoen din når du bruker den." @@ -1627,7 +1654,7 @@ msgstr "JPEG størrelsesgrense: %{n}px" msgid "JPEGs and thumbnails are automatically rendered as needed." msgstr "JPEGer og miniatyrbilder er automatisk generert ved behov." -#: src/component/photo/edit/details.vue:581 +#: src/component/photo/edit/details.vue:555 msgid "Keywords" msgstr "Nøkkelord" @@ -1636,9 +1663,9 @@ msgstr "Nøkkelord" msgid "Label" msgstr "Merkelapp" -#: src/app/routes.js:389 src/component/navigation.vue:1177 -#: src/component/photo/edit/dialog.vue:188 -#: src/component/photo/edit/dialog.vue:205 src/options/options.js:206 +#: src/app/routes.js:397 src/component/navigation.vue:1197 +#: src/component/photo/edit/dialog.vue:196 +#: src/component/photo/edit/dialog.vue:215 src/options/options.js:206 #: src/page/settings/general.vue:255 msgid "Labels" msgstr "Merkelapper" @@ -1655,11 +1682,11 @@ msgstr "Lanczos: Detaljbevaring, minimale artefakter" msgid "Language" msgstr "Språk" -#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:435 +#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:440 msgid "Last Active" msgstr "Siste aktive" -#: src/page/admin/users.vue:81 +#: src/page/admin/users.vue:83 msgid "Last Login" msgstr "Siste pålogging" @@ -1675,42 +1702,41 @@ msgstr "Siste synkronisering" msgid "Last Used" msgstr "Sist brukt" -#: src/component/photo/edit/details.vue:298 #: src/component/photo/edit/info.vue:373 msgid "Latitude" msgstr "Breddegrad" -#: src/options/admin.js:43 src/options/auth.js:29 +#: src/options/admin.js:47 src/options/auth.js:30 msgid "LDAP/AD" msgstr "LDAP/AD" -#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:86 -#: src/page/about/about.vue:62 src/page/about/about.vue:132 +#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:87 +#: src/page/about/about.vue:62 src/page/about/about.vue:133 #: src/page/connect.vue:67 src/page/help.vue:36 msgid "Learn more" msgstr "Lær mer" -#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:135 +#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:137 #: src/page/labels.vue:132 msgid "Learn More" msgstr "Lær mer" -#: src/component/navigation.vue:2017 +#: src/component/navigation.vue:2066 msgid "Legal Information" msgstr "Juridisk informasjon" -#: src/component/photo/edit/details.vue:417 +#: src/component/photo/edit/details.vue:391 #: src/component/photo/view/cards.vue:480 msgid "Lens" msgstr "Linse" -#: src/app/routes.js:443 src/app/routes.js:459 src/app/routes.js:475 -#: src/component/navigation.vue:1267 src/page/settings/general.vue:507 +#: src/app/routes.js:451 src/app/routes.js:467 src/app/routes.js:483 +#: src/component/navigation.vue:1290 src/page/settings/general.vue:507 msgid "Library" msgstr "Bibliotek" #: src/page/connect.vue:45 src/app/routes.js:69 -#: src/component/navigation.vue:1478 src/component/photo/edit/details.vue:559 +#: src/component/navigation.vue:1504 src/component/photo/edit/details.vue:533 #: src/page/about/license.vue:28 msgid "License" msgstr "Lisens" @@ -1723,7 +1749,7 @@ msgstr "Lik" msgid "Lime" msgstr "Lime" -#: src/page/library/browse.vue:369 +#: src/page/library/browse.vue:371 msgid "Limit reached, showing first %{n} files" msgstr "Grensen nådd, viser de første €{n} filene" @@ -1731,7 +1757,7 @@ msgstr "Grensen nådd, viser de første €{n} filene" msgid "Linear: Very Smooth, Best Performance" msgstr "Lineær: Veldig jevn, beste ytelse" -#: src/model/link.js:117 src/options/auth.js:30 src/options/auth.js:31 +#: src/model/link.js:117 src/options/auth.js:31 src/options/auth.js:32 msgid "Link" msgstr "Lenke" @@ -1749,7 +1775,7 @@ msgstr "Listevisning" msgid "Live" msgstr "Direkte" -#: src/app/routes.js:236 src/component/navigation.vue:749 +#: src/app/routes.js:244 src/component/navigation.vue:755 msgid "Live Photos" msgstr "Fotoer" @@ -1765,21 +1791,24 @@ msgstr "Laster inn varer..." msgid "Loading..." msgstr "Laster..." -#: src/options/admin.js:35 src/options/auth.js:22 src/options/auth.js:27 +#: src/options/admin.js:39 src/options/auth.js:23 src/options/auth.js:28 #: src/options/options.js:38 src/page/settings/general.vue:107 msgid "Local" msgstr "Lokalt" -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Local Time" msgstr "Lokaltid" -#: src/page/settings/account.vue:665 src/page/settings/account.vue:667 -#: src/component/album/edit/dialog.vue:92 src/component/photo/edit/info.vue:65 -#: src/component/photo/edit/labels.vue:48 +#: src/page/settings/account.vue:671 src/page/settings/account.vue:673 +#: src/component/album/edit/dialog.vue:93 +#: src/component/photo/edit/details.vue:38 +#: src/component/photo/edit/details.vue:116 +#: src/component/photo/edit/details.vue:210 +#: src/component/photo/edit/info.vue:67 src/component/photo/edit/labels.vue:48 #: src/component/photo/view/cards.vue:555 src/component/photo/view/list.vue:117 -#: src/component/sidebar/info.vue:107 src/page/albums.vue:99 -#: src/page/settings/account.vue:557 src/page/settings/account.vue:559 +#: src/component/sidebar/info.vue:107 src/page/albums.vue:100 +#: src/page/settings/account.vue:563 src/page/settings/account.vue:565 msgid "Location" msgstr "Plassering" @@ -1787,20 +1816,19 @@ msgstr "Plassering" msgid "Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues." msgstr "Loggmeldinger vises her når PhotoPrism kommer over ødelagte filer eller det er andre potensielle problemer." -#: src/component/navigation.vue:1552 src/component/navigation.vue:1840 +#: src/component/navigation.vue:1579 src/component/navigation.vue:1877 msgid "Login" msgstr "Logg inn" -#: src/component/navigation.vue:1759 +#: src/component/navigation.vue:1791 msgid "Logout" msgstr "Log ut" -#: src/component/navigation.vue:1962 src/page/library.vue:59 +#: src/component/navigation.vue:2007 src/page/library.vue:59 #: src/page/settings/general.vue:557 msgid "Logs" msgstr "Logger" -#: src/component/photo/edit/details.vue:324 #: src/component/photo/edit/info.vue:379 msgid "Longitude" msgstr "Lengdegrad" @@ -1813,7 +1841,7 @@ msgstr "Lav" msgid "Magenta" msgstr "Magenta" -#: src/component/photo/edit/files.vue:489 +#: src/component/photo/edit/files.vue:491 msgid "Main Color" msgstr "Hovedfarge" @@ -1821,12 +1849,16 @@ msgstr "Hovedfarge" msgid "Male" msgstr "Mann" -#: src/page/connect.vue:164 src/page/connect.vue:246 -#: src/page/about/about.vue:171 src/page/connect.vue:168 -#: src/page/connect.vue:255 +#: src/page/connect.vue:165 src/page/connect.vue:248 +#: src/page/about/about.vue:173 src/page/connect.vue:169 +#: src/page/connect.vue:257 msgid "Manage Account" msgstr "Administrer konto" +#: src/options/admin.js:10 src/options/auth.js:7 +msgid "Manager" +msgstr "Leder" + #: src/component/photo/edit/info.vue:49 src/component/photo/edit/labels.vue:38 msgid "Manual" msgstr "Manuell" @@ -1843,11 +1875,11 @@ msgstr "Kart" msgid "Marker" msgstr "Markør" -#: src/component/user/add/dialog.vue:69 +#: src/component/user/add/dialog.vue:70 msgid "Maximum number of accounts has been reached." msgstr "Maksimalt antall kontoer er nådd." -#: src/app/routes.js:229 src/component/navigation.vue:688 +#: src/app/routes.js:237 src/component/navigation.vue:693 #: src/options/options.js:199 msgid "Media" msgstr "Medier" @@ -1864,7 +1896,7 @@ msgstr "Medlemskap" msgid "Merge %{a} with %{b}?" msgstr "Vil du slå sammen %{a} med %{b}?" -#: src/page/about/feedback.vue:102 +#: src/page/about/feedback.vue:103 msgid "Message" msgstr "Melding" @@ -1876,7 +1908,7 @@ msgstr "Melding sendt" msgid "Metadata" msgstr "Metadata" -#: src/options/auth.js:56 src/options/auth.js:72 +#: src/options/auth.js:57 src/options/auth.js:73 msgid "Metrics" msgstr "Beregninger" @@ -1884,7 +1916,7 @@ msgstr "Beregninger" msgid "Minimize" msgstr "Minimer" -#: src/component/photo/edit/files.vue:509 src/component/photo/edit/info.vue:367 +#: src/component/photo/edit/files.vue:511 src/component/photo/edit/info.vue:367 msgid "Missing" msgstr "Mangler" @@ -1892,17 +1924,17 @@ msgstr "Mangler" msgid "Missing or invalid configuration" msgstr "Mangler eller ugyldig konfigurasjon" -#: src/app/routes.js:163 src/component/navigation.vue:1129 +#: src/app/routes.js:171 src/component/navigation.vue:1147 #: src/options/options.js:205 src/page/settings/general.vue:230 msgid "Moments" msgstr "Øyeblikk" -#: src/component/navigation.vue:383 +#: src/component/navigation.vue:385 msgid "Monochrome" msgstr "Monokrom" -#: src/page/settings/account.vue:475 src/component/photo/edit/details.vue:137 -#: src/component/photo/toolbar.vue:342 +#: src/page/settings/account.vue:481 src/component/photo/edit/details.vue:139 +#: src/component/photo/toolbar.vue:344 msgid "Month" msgstr "Måned" @@ -1922,7 +1954,7 @@ msgstr "Mest relevant" msgid "Move Files" msgstr "Flytt Filer" -#: src/component/settings/password.vue:107 +#: src/component/settings/password.vue:108 msgid "Must have at least %{n} characters." msgstr "Må ha minst %{n} tegn." @@ -1930,20 +1962,20 @@ msgstr "Må ha minst %{n} tegn." msgid "Mute" msgstr "Mute" -#: src/page/about/feedback.vue:121 src/page/about/feedback.vue:122 -#: src/component/album/edit/dialog.vue:77 -#: src/component/label/edit/dialog.vue:71 -#: src/component/people/edit/dialog.vue:71 -#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:57 +#: src/page/about/feedback.vue:122 src/page/about/feedback.vue:123 +#: src/component/album/edit/dialog.vue:78 +#: src/component/label/edit/dialog.vue:72 +#: src/component/people/edit/dialog.vue:72 +#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:59 #: src/component/photo/edit/info.vue:125 src/component/photo/edit/people.vue:36 -#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:310 -#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:286 -#: src/page/albums.vue:98 src/page/auth/login.vue:168 +#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:311 +#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:289 +#: src/page/albums.vue:99 src/page/auth/login.vue:168 #: src/page/people/new.vue:68 src/page/settings/services.vue:37 msgid "Name" msgstr "Navn" -#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:60 +#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:65 #: src/component/label/edit/dialog.vue:19 #: src/component/people/edit/dialog.vue:19 #: src/component/photo/edit/labels.vue:30 @@ -1953,7 +1985,7 @@ msgstr "Navn" msgid "Name too long" msgstr "Navn for langt" -#: src/page/admin/users.vue:204 src/options/options.js:361 +#: src/page/admin/users.vue:206 src/options/options.js:361 #: src/options/options.js:371 src/page/settings/services.vue:75 msgid "Never" msgstr "Aldri" @@ -1962,13 +1994,13 @@ msgstr "Aldri" msgid "New" msgstr "Ny" -#: src/component/settings/password.vue:106 +#: src/component/settings/password.vue:107 msgid "New Password" msgstr "Nytt Passord" #: src/component/album/edit/dialog.vue:24 src/component/photo/toolbar.vue:114 #: src/component/photo/toolbar.vue:126 src/component/photo/toolbar.vue:136 -#: src/page/albums.vue:100 +#: src/page/albums.vue:101 msgid "Newest First" msgstr "Nyeste først" @@ -1984,15 +2016,15 @@ msgstr "Neste side" msgid "Next visual" msgstr "Neste visuelle" -#: src/component/people/merge/dialog.vue:47 -#: src/component/photo/archive/dialog.vue:47 +#: src/component/people/merge/dialog.vue:48 +#: src/component/photo/archive/dialog.vue:48 #: src/component/photo/edit/info.vue:281 src/component/photo/edit/info.vue:297 #: src/component/photo/edit/info.vue:313 src/component/photo/edit/info.vue:329 #: src/component/photo/edit/info.vue:344 msgid "No" msgstr "Nei" -#: src/page/albums.vue:607 src/page/albums.vue:282 +#: src/page/albums.vue:612 src/page/albums.vue:282 msgid "No albums found" msgstr "Ingen album funnet" @@ -2000,7 +2032,7 @@ msgstr "Ingen album funnet" msgid "No data available" msgstr "Ingen data tilgjengelig" -#: src/page/labels.vue:523 src/page/labels.vue:155 +#: src/page/labels.vue:528 src/page/labels.vue:155 msgid "No labels found" msgstr "Ingen merkelapper funnet" @@ -2013,15 +2045,15 @@ msgid "No more" msgstr "Ikke mer" #: src/component/photo/edit/people.vue:34 src/page/people/new.vue:346 -#: src/page/people/new.vue:443 src/page/people/new.vue:103 -#: src/page/people/recognized.vue:531 src/page/people/recognized.vue:146 +#: src/page/people/new.vue:446 src/page/people/new.vue:103 +#: src/page/people/recognized.vue:536 src/page/people/recognized.vue:146 msgid "No people found" msgstr "Ingen personar funne" #: src/component/lightbox.vue:365 src/component/photo/view/cards.vue:144 #: src/component/photo/view/list.vue:82 src/component/photo/view/mosaic.vue:68 -#: src/page/album/photos.vue:488 src/page/library/browse.vue:123 -#: src/page/photos.vue:626 src/page/places.vue:624 src/page/places.vue:730 +#: src/page/album/photos.vue:499 src/page/library/browse.vue:123 +#: src/page/photos.vue:636 src/page/places.vue:624 src/page/places.vue:730 msgid "No pictures found" msgstr "Fant ingen bilder" @@ -2030,7 +2062,11 @@ msgstr "Fant ingen bilder" msgid "No recently edited pictures" msgstr "Ingen nylig redigerte bilder" -#: src/component/navigation.vue:1655 +#: src/component/location/dialog.vue:166 +msgid "No results" +msgstr "Ingen resultater" + +#: src/component/navigation.vue:1686 msgid "No server connection" msgstr "Ingen servertilkobling" @@ -2042,7 +2078,7 @@ msgstr "Ingen servere konfigurert." msgid "No services configured." msgstr "Ingen tjenester konfigurert." -#: src/component/confirm/sponsor.vue:72 +#: src/component/confirm/sponsor.vue:73 msgid "No thanks" msgstr "Nei takk" @@ -2052,17 +2088,17 @@ msgstr "Ingen advarsler eller feilmeldinger inneholder dette nøkkelordet. Merk #: src/component/photo/view/cards.vue:154 src/component/photo/view/list.vue:59 #: src/component/photo/view/list.vue:92 src/component/photo/view/mosaic.vue:78 -#: src/component/upload/dialog.vue:208 +#: src/component/upload/dialog.vue:210 msgid "Non-photographic and low-quality images require a review before they appear in search results." msgstr "Bilder som ikke er fotografiske eller har lav kvalitet må gjennomgås før de kommer i søkeresultater." -#: src/options/admin.js:47 src/options/auth.js:32 src/options/options.js:212 +#: src/options/admin.js:51 src/options/auth.js:33 src/options/options.js:212 #: src/options/options.js:328 msgid "None" msgstr "Ingen" -#: src/common/util.js:853 src/component/lightbox.vue:633 -#: src/component/service/upload.vue:75 src/component/service/upload.vue:87 +#: src/component/lightbox.vue:633 src/component/service/upload.vue:75 +#: src/component/service/upload.vue:87 msgid "Not allowed" msgstr "Ikke tillatt" @@ -2074,8 +2110,7 @@ msgstr "Ikke funnet" msgid "Not sorted." msgstr "Ikke sortert." -#: src/common/util.js:858 src/component/lightbox.vue:627 -#: src/component/lightbox.vue:744 +#: src/component/lightbox.vue:627 src/component/lightbox.vue:744 msgid "Not supported" msgstr "Ikke støttet" @@ -2083,15 +2118,15 @@ msgstr "Ikke støttet" msgid "Note you may manually manage your originals folder and importing is optional." msgstr "Vær oppmerksom på at du kan administrere originalmappen manuelt, og import er valgfritt." -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "Note:" msgstr "Merk:" -#: src/component/service/add.vue:120 +#: src/component/service/add.vue:121 msgid "Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload." msgstr "Merk: Bare WebDAV-servere, som Nextcloud eller PhotoPrism, kan bli satt opp som ekstern tjeneste for sikkerhetskopi og filopplasting." -#: src/component/photo/edit/details.vue:603 +#: src/component/photo/edit/details.vue:577 msgid "Notes" msgstr "Notater" @@ -2099,8 +2134,8 @@ msgstr "Notater" msgid "Nothing to see here yet." msgstr "Ingenting å se her ennå." -#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:115 -#: src/component/settings/apps.vue:390 +#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:125 +#: src/component/settings/apps.vue:393 msgid "Nothing was found." msgstr "Ingenting ble funnet." @@ -2108,7 +2143,7 @@ msgstr "Ingenting ble funnet." msgid "Offline" msgstr "Frakoblet" -#: src/options/admin.js:39 src/options/auth.js:28 +#: src/options/admin.js:43 src/options/auth.js:29 msgid "OIDC" msgstr "OIDC" @@ -2118,11 +2153,11 @@ msgstr "OK" #: src/component/album/edit/dialog.vue:25 src/component/photo/toolbar.vue:115 #: src/component/photo/toolbar.vue:127 src/component/photo/toolbar.vue:137 -#: src/page/albums.vue:101 +#: src/page/albums.vue:102 msgid "Oldest First" msgstr "Eldste først" -#: src/component/settings/webdav.vue:77 +#: src/component/settings/webdav.vue:78 msgid "On Windows, enter the following resource in the connection dialog:" msgstr "På Windows skriver du inn følgende ressurs i tilkoblingsdialogen:" @@ -2134,11 +2169,11 @@ msgstr "Generering av miniatyrbilder på forespørsel kan føre til høy CPU- og msgid "Once a week" msgstr "Én gang i uken" -#: src/page/albums.vue:609 +#: src/page/albums.vue:614 msgid "One album found" msgstr "Ett album funnet" -#: src/page/library/browse.vue:358 +#: src/page/library/browse.vue:360 msgid "One file found" msgstr "Én fil funnet" @@ -2146,24 +2181,24 @@ msgstr "Én fil funnet" msgid "One file uploaded" msgstr "En fil lastet opp" -#: src/page/library/browse.vue:360 +#: src/page/library/browse.vue:362 msgid "One folder found" msgstr "Én mappe funnet" -#: src/page/labels.vue:525 +#: src/page/labels.vue:530 msgid "One label found" msgstr "En etikett funnet" -#: src/page/people/new.vue:348 src/page/people/new.vue:445 -#: src/page/people/recognized.vue:533 +#: src/page/people/new.vue:348 src/page/people/new.vue:448 +#: src/page/people/recognized.vue:538 msgid "One person found" msgstr "En person funnet" -#: src/page/album/photos.vue:490 src/page/photos.vue:628 +#: src/page/album/photos.vue:501 src/page/photos.vue:638 msgid "One picture found" msgstr "Ett bilde funnet" -#: src/component/settings/passcode.vue:478 +#: src/component/settings/passcode.vue:481 msgid "Only locally managed accounts can be set up for authentication with 2FA." msgstr "Bare lokalt administrerte kontoer kan settes opp for autentisering med 2FA." @@ -2171,7 +2206,7 @@ msgstr "Bare lokalt administrerte kontoer kan settes opp for autentisering med 2 msgid "Open" msgstr "Åpen" -#: src/component/service/add.vue:86 src/component/service/add.vue:107 +#: src/component/service/add.vue:87 src/component/service/add.vue:108 msgid "optional" msgstr "valgfritt" @@ -2183,7 +2218,7 @@ msgstr "eller" msgid "Orange" msgstr "Oransje" -#: src/page/settings/account.vue:571 src/page/settings/account.vue:573 +#: src/page/settings/account.vue:577 src/page/settings/account.vue:579 msgid "Organization" msgstr "Orientering" @@ -2199,7 +2234,7 @@ msgstr "Filnavn på originaler vil bli lagret og indeksert." msgid "Original Name" msgstr "Originalnavn" -#: src/component/navigation.vue:1304 src/model/file.js:196 +#: src/component/navigation.vue:1328 src/model/file.js:196 #: src/options/options.js:413 src/page/library/browse.vue:65 #: src/page/settings/content.vue:356 src/page/settings/general.vue:532 msgid "Originals" @@ -2210,7 +2245,7 @@ msgstr "Originaler" msgid "Other" msgstr "Andre" -#: src/page/about/about.vue:77 src/page/about/about.vue:83 +#: src/page/about/about.vue:78 src/page/about/about.vue:84 msgid "Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible." msgstr "Vårt oppdrag er å tilby den mest bruker- og personvernvennlige løsningen for å holde bildene dine organisert og tilgjengelig." @@ -2222,7 +2257,7 @@ msgstr "Utendørs" msgid "Page {0}, Current page" msgstr "Side {0}, Gjeldende side" -#: src/component/photo/edit/files.vue:352 src/model/photo.js:859 +#: src/component/photo/edit/files.vue:352 src/model/photo.js:896 msgid "Pages" msgstr "Sider" @@ -2234,15 +2269,15 @@ msgstr "Navigasjon med paginering" msgid "Panorama" msgstr "Panorama" -#: src/component/navigation.vue:402 +#: src/component/navigation.vue:404 msgid "Panoramas" msgstr "Panoramaer" -#: src/component/user/add/dialog.vue:114 src/component/user/add/dialog.vue:115 -#: src/component/service/add.vue:106 src/component/service/edit.vue:352 -#: src/component/settings/apps.vue:121 src/component/settings/passcode.vue:106 -#: src/component/settings/passcode.vue:413 src/component/share/dialog.vue:27 -#: src/options/auth.js:91 src/page/auth/login.vue:196 +#: src/component/user/add/dialog.vue:115 src/component/user/add/dialog.vue:116 +#: src/component/service/add.vue:107 src/component/service/edit.vue:353 +#: src/component/settings/apps.vue:124 src/component/settings/passcode.vue:109 +#: src/component/settings/passcode.vue:416 src/component/share/dialog.vue:27 +#: src/options/auth.js:92 src/page/auth/login.vue:196 msgid "Password" msgstr "Passord" @@ -2250,9 +2285,9 @@ msgstr "Passord" msgid "Password changed" msgstr "Passord endret" -#: src/app/routes.js:404 src/app/routes.js:428 src/component/navigation.vue:845 -#: src/component/navigation.vue:1898 src/component/photo/edit/dialog.vue:228 -#: src/component/photo/edit/dialog.vue:245 src/options/options.js:201 +#: src/app/routes.js:412 src/app/routes.js:436 src/component/navigation.vue:853 +#: src/component/navigation.vue:1939 src/component/photo/edit/dialog.vue:238 +#: src/component/photo/edit/dialog.vue:257 src/options/options.js:201 #: src/page/settings/general.vue:180 msgid "People" msgstr "Personer" @@ -2273,23 +2308,23 @@ msgstr "Permanent fjern bilder for å frigjøre lagringsplass." msgid "Person" msgstr "Person" -#: src/options/auth.js:42 +#: src/options/auth.js:43 msgid "Personal" msgstr "Personlig" -#: src/model/photo.js:1273 +#: src/model/photo.js:1310 msgid "Photo" msgstr "Foto" -#: src/page/about/about.vue:156 +#: src/page/about/about.vue:158 msgid "PhotoPrism is 100% self-funded and independent." msgstr "PhotoPrism er 100 % selvfinansiert og uavhengig." -#: src/page/about/about.vue:92 +#: src/page/about/about.vue:93 msgid "PhotoPrism+ Membership" msgstr "PhotoPrism+-medlemskap" -#: src/app/routes.js:156 +#: src/app/routes.js:164 msgid "Photos" msgstr "Fotoer" @@ -2310,27 +2345,27 @@ msgstr "Plass" msgid "Place & Time" msgstr "Sted og tid" -#: src/app/routes.js:303 src/app/routes.js:309 src/app/routes.js:315 -#: src/app/routes.js:330 src/component/navigation.vue:986 -#: src/component/navigation.vue:1914 src/options/options.js:203 +#: src/app/routes.js:311 src/app/routes.js:317 src/app/routes.js:323 +#: src/app/routes.js:338 src/component/navigation.vue:999 +#: src/component/navigation.vue:1956 src/options/options.js:203 #: src/page/places.vue:51 src/page/settings/general.vue:609 #: src/page/settings/general.vue:638 msgid "Places" msgstr "Plasser" -#: src/component/settings/password.vue:129 +#: src/component/settings/password.vue:130 msgid "Please confirm your new password." msgstr "Vennligst bekreft ditt nye passord." -#: src/component/settings/apps.vue:185 +#: src/component/settings/apps.vue:188 msgid "Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:" msgstr "Vennligst kopier følgende tilfeldig genererte app-passord og oppbevar det på et trygt sted, siden du ikke vil kunne se det igjen:" -#: src/component/upload/dialog.vue:203 +#: src/component/upload/dialog.vue:205 msgid "Please do not upload any private, unlawful or offensive pictures." msgstr "Vennligst ikke last opp private, ulovlige eller støtende bilder." -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Please don't upload photos containing offensive content." msgstr "Vennligst ikke last opp bilder som inneholder støtende innhold." @@ -2338,11 +2373,11 @@ msgstr "Vennligst ikke last opp bilder som inneholder støtende innhold." msgid "Please enter OTP character {0}" msgstr "Vennligst skriv inn OTP-tegn {0}" -#: src/component/settings/password.vue:66 +#: src/component/settings/password.vue:67 msgid "Please note that changing your password will log you out on other devices and browsers." msgstr "Vær oppmerksom på at endring av passord vil logge deg ut på andre enheter og nettlesere." -#: src/page/connect.vue:148 src/page/connect.vue:152 +#: src/page/connect.vue:149 src/page/connect.vue:153 msgid "Please restart your instance for the changes to take effect." msgstr "Start instansen på nytt for at endringene skal tre i kraft." @@ -2362,11 +2397,11 @@ msgstr "PNG størrelsesgrense: %{n}px" msgid "Portrait" msgstr "Portrett" -#: src/component/service/edit.vue:273 +#: src/component/service/edit.vue:274 msgid "Preserve filenames" msgstr "Behold filnavn" -#: src/component/upload/dialog.vue:162 +#: src/component/upload/dialog.vue:164 msgid "Press enter to create a new album." msgstr "Trykk på Enter for å lage et nytt album." @@ -2403,8 +2438,8 @@ msgstr "Tidligere visuell" msgid "Primary" msgstr "Primær" -#: src/app/routes.js:271 src/component/album/edit/dialog.vue:176 -#: src/component/navigation.vue:531 src/component/photo/edit/info.vue:303 +#: src/app/routes.js:279 src/component/album/edit/dialog.vue:177 +#: src/component/navigation.vue:533 src/component/photo/edit/info.vue:303 #: src/page/settings/general.vue:280 msgid "Private" msgstr "Privat" @@ -2429,7 +2464,7 @@ msgstr "Kvalitetsfilter" msgid "Quality Score" msgstr "Kvalitetspoeng" -#: src/page/admin/users.vue:169 +#: src/page/admin/users.vue:171 msgid "r" msgstr "r" @@ -2460,7 +2495,7 @@ msgstr "Skrivebeskyttet Modus" #: src/component/album/edit/dialog.vue:26 src/component/photo/toolbar.vue:116 #: src/component/photo/toolbar.vue:128 src/component/photo/toolbar.vue:138 -#: src/page/albums.vue:102 +#: src/page/albums.vue:103 msgid "Recently Added" msgstr "Nylig lagt til" @@ -2468,7 +2503,7 @@ msgstr "Nylig lagt til" msgid "Recently Archived" msgstr "Nylig arkivert" -#: src/component/photo/toolbar.vue:139 src/page/albums.vue:103 +#: src/component/photo/toolbar.vue:139 src/page/albums.vue:104 msgid "Recently Edited" msgstr "Nylig redigert" @@ -2493,24 +2528,24 @@ msgstr "Gjenopprettingskode" msgid "Red" msgstr "Rød" -#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:126 -#: src/component/album/toolbar.vue:79 src/component/photo/toolbar.vue:169 -#: src/page/albums.vue:173 src/page/labels.vue:112 +#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:128 +#: src/component/album/toolbar.vue:84 src/component/photo/toolbar.vue:169 +#: src/page/albums.vue:175 src/page/labels.vue:112 #: src/page/library/browse.vue:90 src/page/library/errors.vue:81 #: src/page/people/new.vue:54 src/page/people/recognized.vue:88 msgid "Refresh" msgstr "Oppdater" -#: src/app/routes.js:337 src/component/navigation.vue:943 -#: src/component/navigation.vue:1026 +#: src/app/routes.js:345 src/component/navigation.vue:955 +#: src/component/navigation.vue:1040 msgid "Regions" msgstr "Regioner" -#: src/page/connect.vue:275 src/page/connect.vue:284 +#: src/page/connect.vue:277 src/page/connect.vue:286 msgid "Register" msgstr "Registrere" -#: src/component/navigation.vue:1773 src/component/update.vue:68 +#: src/component/navigation.vue:1806 src/component/update.vue:68 msgid "Reload" msgstr "Oppdater" @@ -2555,34 +2590,34 @@ msgstr "Krev at bilder som ikke er fotografiske og bilder av lav kvalitet, skal msgid "Resolution" msgstr "Oppløsning" -#: src/page/connect.vue:179 src/page/connect.vue:183 +#: src/page/connect.vue:180 src/page/connect.vue:184 #: src/page/settings/advanced.vue:782 msgid "Restart" msgstr "Start på nytt" -#: src/component/user/edit/dialog.vue:485 src/component/lightbox.vue:1221 +#: src/component/user/edit/dialog.vue:488 src/component/lightbox.vue:1221 #: src/component/photo/clipboard.vue:77 msgid "Restore" msgstr "Gjenopprett" -#: src/component/lightbox.vue:2000 +#: src/component/lightbox.vue:2020 msgid "Restored" msgstr "Gjenopprettet" -#: src/component/service/edit.vue:428 +#: src/component/service/edit.vue:429 msgid "Retry Limit" msgstr "Prøv på nytt" -#: src/component/settings/password.vue:128 +#: src/component/settings/password.vue:129 msgid "Retype Password" msgstr "Gjenta Passord" -#: src/app/routes.js:264 src/component/navigation.vue:505 +#: src/app/routes.js:272 src/component/navigation.vue:507 msgid "Review" msgstr "Gjennomgang" -#: src/component/user/add/dialog.vue:171 src/component/user/edit/dialog.vue:284 -#: src/page/admin/sessions.vue:262 src/page/admin/users.vue:73 +#: src/component/user/add/dialog.vue:172 src/component/user/edit/dialog.vue:285 +#: src/page/admin/sessions.vue:263 src/page/admin/users.vue:75 msgid "Role" msgstr "Rolle" @@ -2594,11 +2629,11 @@ msgstr "Rader per side:" msgid "Satellite" msgstr "Satellitt" -#: src/component/user/edit/dialog.vue:485 -#: src/component/album/edit/dialog.vue:211 -#: src/component/label/edit/dialog.vue:119 -#: src/component/people/edit/dialog.vue:132 src/component/service/edit.vue:466 -#: src/component/settings/password.vue:172 src/component/share/dialog.vue:181 +#: src/component/user/edit/dialog.vue:488 +#: src/component/album/edit/dialog.vue:212 +#: src/component/label/edit/dialog.vue:120 +#: src/component/people/edit/dialog.vue:133 src/component/service/edit.vue:467 +#: src/component/settings/password.vue:173 src/component/share/dialog.vue:181 msgid "Save" msgstr "Lagre" @@ -2606,23 +2641,23 @@ msgstr "Lagre" msgid "Scan" msgstr "Skann" -#: src/component/settings/passcode.vue:179 +#: src/component/settings/passcode.vue:182 msgid "Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:" msgstr "Skann QR-koden med autentiseringsappen din eller bruk oppsettnøkkelen vist nedenfor, og skriv deretter inn den genererte bekreftelseskoden:" -#: src/component/navigation.vue:461 +#: src/component/navigation.vue:463 msgid "Scans" msgstr "Skanninger" -#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:377 -#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:310 +#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:381 +#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:313 msgid "Scope" msgstr "Omfang" -#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:62 -#: src/component/navigation.vue:342 src/component/navigation.vue:1866 -#: src/component/photo/toolbar.vue:57 src/options/options.js:197 -#: src/page/albums.vue:100 src/page/labels.vue:77 +#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:69 +#: src/component/location/dialog.vue:133 src/component/navigation.vue:343 +#: src/component/navigation.vue:1905 src/component/photo/toolbar.vue:57 +#: src/options/options.js:197 src/page/albums.vue:100 src/page/labels.vue:77 #: src/page/library/errors.vue:76 src/page/people/recognized.vue:66 #: src/page/places.vue:79 src/page/settings/content.vue:235 msgid "Search" @@ -2660,11 +2695,11 @@ msgstr "Velg dato" msgid "Select dates" msgstr "Velg datoer" -#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:154 +#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:156 msgid "Select or create an album" msgstr "Velg eller opprett et album" -#: src/component/upload/dialog.vue:138 +#: src/component/upload/dialog.vue:140 msgid "Select the files to upload…" msgstr "Velg filene du vil laste opp…" @@ -2692,7 +2727,7 @@ msgstr "Utvalg gjenopprettet" msgid "Sequential Name" msgstr "Sekvensielle Navn" -#: src/component/service/add.vue:67 src/component/service/edit.vue:322 +#: src/component/service/add.vue:68 src/component/service/edit.vue:323 #: src/component/share/dialog.vue:25 msgid "Service URL" msgstr "Tjeneste-URL" @@ -2701,7 +2736,7 @@ msgstr "Tjeneste-URL" msgid "Services" msgstr "Tjenester" -#: src/model/session.js:107 src/options/auth.js:41 src/options/auth.js:90 +#: src/model/session.js:107 src/options/auth.js:42 src/options/auth.js:91 msgid "Session" msgstr "Sesjon" @@ -2709,7 +2744,7 @@ msgstr "Sesjon" msgid "Session ID" msgstr "Sesjons-ID" -#: src/page/admin.vue:45 +#: src/page/admin.vue:44 msgid "Sessions" msgstr "Sesjoner" @@ -2717,22 +2752,22 @@ msgstr "Sesjoner" msgid "Set as Album Cover" msgstr "Sett som albumomslag" -#: src/app/routes.js:101 src/app/routes.js:492 src/app/routes.js:504 -#: src/app/routes.js:521 src/app/routes.js:534 src/app/routes.js:547 -#: src/component/navigation.vue:1394 src/component/navigation.vue:1806 +#: src/app/routes.js:101 src/app/routes.js:500 src/app/routes.js:512 +#: src/app/routes.js:529 src/app/routes.js:542 src/app/routes.js:555 +#: src/component/navigation.vue:1419 src/component/navigation.vue:1841 msgid "Settings" msgstr "Innstillinger" #: src/page/settings/account.vue:115 src/page/settings/account.vue:144 -#: src/component/settings/passcode.vue:147 +#: src/component/settings/passcode.vue:151 msgid "Settings saved" msgstr "Innstillinger lagret" -#: src/component/service/upload.vue:131 src/component/settings/passcode.vue:160 +#: src/component/service/upload.vue:132 src/component/settings/passcode.vue:163 msgid "Setup" msgstr "Oppsett" -#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:98 +#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:103 #: src/component/photo/clipboard.vue:51 src/page/settings/general.vue:382 msgid "Share" msgstr "Del" @@ -2749,7 +2784,7 @@ msgstr "Del bildene dine med andre apper og tjenester." msgid "Show" msgstr "Vis" -#: src/page/people/new.vue:116 src/page/people/new.vue:233 +#: src/page/people/new.vue:116 src/page/people/new.vue:235 msgid "Show all new faces" msgstr "Vis alle nye ansikter" @@ -2794,7 +2829,7 @@ msgid "Similar" msgstr "Lignende" #: src/component/photo/edit/files.vue:51 src/component/photo/edit/files.vue:341 -#: src/component/service/edit.vue:139 src/component/sidebar/info.vue:96 +#: src/component/service/edit.vue:140 src/component/sidebar/info.vue:96 msgid "Size" msgstr "Størrelse" @@ -2822,7 +2857,7 @@ msgstr "Noe gikk galt, prøv igjen" msgid "Sort by" msgstr "Sorter etter" -#: src/component/album/edit/dialog.vue:142 src/component/photo/toolbar.vue:288 +#: src/component/album/edit/dialog.vue:143 src/component/photo/toolbar.vue:290 #: src/page/albums.vue:214 msgid "Sort Order" msgstr "Sorteringsrekkefølge" @@ -2857,7 +2892,7 @@ msgstr "Stable bilder som er tatt på samme tid og plassa basert på deres metad msgid "Stackable" msgstr "Kan stables" -#: src/component/navigation.vue:421 src/page/settings/content.vue:136 +#: src/component/navigation.vue:423 src/page/settings/content.vue:136 msgid "Stacks" msgstr "Stabler" @@ -2885,16 +2920,16 @@ msgstr "Lagring" msgid "Streets" msgstr "Gater" -#: src/component/photo/edit/details.vue:494 +#: src/component/photo/edit/details.vue:468 #: src/component/photo/edit/labels.vue:44 msgid "Subject" msgstr "Emne" -#: src/page/about/feedback.vue:162 src/page/about/feedback.vue:163 +#: src/page/about/feedback.vue:163 src/page/about/feedback.vue:164 msgid "Submit" msgstr "Send inn" -#: src/component/settings/passcode.vue:132 +#: src/component/settings/passcode.vue:136 msgid "Successfully activated" msgstr "Vellykket aktivert" @@ -2903,23 +2938,23 @@ msgid "Successfully Connected" msgstr "Tilkobing vellykket" #: src/component/session/remove/dialog.vue:32 -#: src/component/settings/apps.vue:218 +#: src/component/settings/apps.vue:222 msgid "Successfully deleted" msgstr "Vellykket slettet" -#: src/component/settings/passcode.vue:107 +#: src/component/settings/passcode.vue:108 msgid "Successfully verified" msgstr "Vellykket verifisert" -#: src/component/user/edit/dialog.vue:398 src/page/admin/users.vue:163 +#: src/component/user/edit/dialog.vue:399 src/page/admin/users.vue:165 msgid "Super Admin" msgstr "Superadministrator" -#: src/component/service/add.vue:122 +#: src/component/service/add.vue:123 msgid "Support for additional services, like Google Drive, will be added over time." msgstr "Støtte for tilleggstjenester som Google Drive vil bli lagt til over tid." -#: src/component/confirm/sponsor.vue:37 src/component/navigation.vue:1629 +#: src/component/confirm/sponsor.vue:38 src/component/navigation.vue:1660 msgid "Support Our Mission" msgstr "Støtt oppdraget vårt" @@ -2927,7 +2962,7 @@ msgstr "Støtt oppdraget vårt" msgid "Sync" msgstr "Synkroniser" -#: src/component/service/edit.vue:289 +#: src/component/service/edit.vue:290 msgid "Sync raw and video files" msgstr "Synkroniser raw- og video-filer" @@ -2953,23 +2988,23 @@ msgstr "Terreng" msgid "Text" msgstr "Tekst" -#: src/component/photo/edit/details.vue:32 src/page/people/new.vue:71 +#: src/component/photo/edit/details.vue:40 src/page/people/new.vue:71 msgid "Text too long" msgstr "Teksten er for lang" -#: src/page/about/about.vue:145 +#: src/page/about/about.vue:146 msgid "Thank You for Your Support!" msgstr "Takk for din støtte!" -#: src/page/about/about.vue:79 src/page/about/about.vue:85 +#: src/page/about/about.vue:80 src/page/about/about.vue:86 msgid "That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality." msgstr "Derfor ble PhotoPrism bygget fra grunnen av for å kjøre der du trenger det, uten at det går på bekostning av frihet, personvern eller funksjonalitet." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "The index currently contains %{n} hidden files." msgstr "Indeksen inneholder %{n} skjulte filer." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates." msgstr "Formatet deres støttes kanskje ikke, de har ikke blitt konvertert til JPEG enda, eller det finnes duplikater." @@ -2984,44 +3019,44 @@ msgstr "Tema" msgid "This field is required" msgstr "Dette feltet er obligatorisk" -#: src/component/settings/webdav.vue:100 src/page/settings/services.vue:144 +#: src/component/settings/webdav.vue:101 src/page/settings/services.vue:147 msgid "This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local." msgstr "Dette setter opp original-mappen som en nettverksstasjon og lar deg åpne, redigere og slette filer fra datamaskinen eller smarttelefonen som om de var lokale." -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Time UTC" msgstr "Tid UTC" -#: src/component/photo/edit/details.vue:219 src/page/settings/general.vue:108 +#: src/component/photo/edit/details.vue:221 src/page/settings/general.vue:108 msgid "Time Zone" msgstr "Tidssone" -#: src/component/service/edit.vue:408 +#: src/component/service/edit.vue:409 msgid "Timeout" msgstr "Tidsavbrudd" -#: src/component/user/edit/dialog.vue:98 src/component/user/edit/dialog.vue:99 +#: src/component/user/edit/dialog.vue:99 src/component/user/edit/dialog.vue:100 #: src/page/settings/account.vue:84 src/page/settings/account.vue:86 msgctxt "Account" msgid "Title" msgstr "Tittel" -#: src/component/photo/edit/details.vue:73 +#: src/component/photo/edit/details.vue:75 msgctxt "Photo" msgid "Title" msgstr "Tittel" -#: src/component/photo/edit/info.vue:59 src/component/photo/edit/info.vue:155 +#: src/component/photo/edit/info.vue:61 src/component/photo/edit/info.vue:155 #: src/component/photo/edit/labels.vue:40 src/component/photo/view/list.vue:114 #: src/component/sidebar/info.vue:57 msgid "Title" msgstr "Tittel" -#: src/page/settings/account.vue:553 src/page/settings/account.vue:555 +#: src/page/settings/account.vue:559 src/page/settings/account.vue:561 msgid "Title / Position" msgstr "Tittelen er for lang" -#: src/page/albums.vue:83 +#: src/page/albums.vue:84 msgid "Title too long" msgstr "Tittelen er for lang" @@ -3029,19 +3064,19 @@ msgstr "Tittelen er for lang" msgid "to" msgstr "til" -#: src/component/settings/passcode.vue:312 +#: src/component/settings/passcode.vue:315 msgid "To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place." msgstr "For å unngå å bli utestengt fra kontoen din, last ned, skriv ut eller kopier denne gjenopprettingskoden nå og oppbevar den på et trygt sted." -#: src/component/settings/apps.vue:272 +#: src/component/settings/apps.vue:275 msgid "To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:" msgstr "For å generere et nytt appspesifikt passord, skriv inn navnet og autorisasjonsomfanget for applikasjonen og velg en utløpsdato:" -#: src/component/settings/passcode.vue:400 +#: src/component/settings/passcode.vue:403 msgid "To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:" msgstr "For å bytte til en ny autentiseringsapp eller enhet må du først deaktivere tofaktorautentisering og deretter aktivere den på nytt:" -#: src/page/connect.vue:221 src/page/connect.vue:230 +#: src/page/connect.vue:223 src/page/connect.vue:232 msgid "To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:" msgstr "For å oppgradere kan du enten skrive inn en aktiveringskode eller klikke på \"Registrer\" for å registrere deg på nettstedet vårt:" @@ -3049,7 +3084,7 @@ msgstr "For å oppgradere kan du enten skrive inn en aktiveringskode eller klikk msgid "Today" msgstr "I dag" -#: src/component/album/toolbar.vue:70 src/component/photo/toolbar.vue:78 +#: src/component/album/toolbar.vue:71 src/component/photo/toolbar.vue:78 msgid "Toggle View" msgstr "Veksle Visning" @@ -3076,20 +3111,24 @@ msgstr "Feilsøking" msgid "Try again using other filters or keywords." msgstr "Prøv igjen med andre filtre eller nøkkelord." -#: src/component/settings/passcode.vue:380 +#: src/component/settings/passcode.vue:383 msgid "Two-factor authentication has been enabled for your account." msgstr "Tofaktorautentisering er aktivert for kontoen din." #: src/component/photo/edit/files.vue:58 src/component/photo/edit/files.vue:330 -#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:388 +#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:389 msgid "Type" msgstr "Type" -#: src/options/auth.js:13 +#: src/component/album/toolbar.vue:178 +msgid "Unable to delete" +msgstr "Kan ikke slette" + +#: src/options/auth.js:14 msgid "Unauthorized" msgstr "Uautorisert" -#: src/component/photo/edit/people.vue:94 +#: src/component/photo/edit/people.vue:95 msgid "Undo" msgstr "Angre" @@ -3097,16 +3136,16 @@ msgstr "Angre" msgid "Unique ID" msgstr "Unik ID" -#: src/page/settings/account.vue:451 src/page/settings/account.vue:476 -#: src/page/settings/account.vue:501 src/common/util.js:487 -#: src/component/photo/edit/details.vue:21 -#: src/component/photo/edit/details.vue:111 -#: src/component/photo/edit/details.vue:138 -#: src/component/photo/edit/details.vue:164 src/component/sidebar/info.vue:43 -#: src/model/album.js:193 src/model/photo.js:323 src/model/photo.js:784 -#: src/model/photo.js:809 src/model/photo.js:832 src/model/photo.js:850 -#: src/model/photo.js:897 src/model/photo.js:905 src/model/photo.js:994 -#: src/model/photo.js:1016 src/model/photo.js:1061 src/model/photo.js:1074 +#: src/page/settings/account.vue:457 src/page/settings/account.vue:482 +#: src/page/settings/account.vue:507 src/common/util.js:488 +#: src/component/photo/edit/details.vue:27 +#: src/component/photo/edit/details.vue:113 +#: src/component/photo/edit/details.vue:140 +#: src/component/photo/edit/details.vue:166 src/component/sidebar/info.vue:43 +#: src/model/album.js:193 src/model/photo.js:331 src/model/photo.js:821 +#: src/model/photo.js:846 src/model/photo.js:869 src/model/photo.js:887 +#: src/model/photo.js:934 src/model/photo.js:942 src/model/photo.js:1031 +#: src/model/photo.js:1053 src/model/photo.js:1098 src/model/photo.js:1111 #: src/model/user.js:157 src/options/options.js:51 src/options/options.js:69 #: src/options/options.js:86 src/options/options.js:100 #: src/options/options.js:112 src/page/library/errors.vue:251 @@ -3119,7 +3158,7 @@ msgstr "Ukjent" msgid "Unregistered" msgstr "Uregistrert" -#: src/app/routes.js:215 src/component/navigation.vue:644 +#: src/app/routes.js:223 src/component/navigation.vue:648 msgid "Unsorted" msgstr "Usortert" @@ -3127,7 +3166,7 @@ msgstr "Usortert" msgid "Unstack" msgstr "Spre" -#: src/component/photo/edit/files.vue:519 src/component/photo/edit/info.vue:416 +#: src/component/photo/edit/files.vue:521 src/component/photo/edit/info.vue:416 msgid "Updated" msgstr "Oppdatert" @@ -3143,7 +3182,7 @@ msgstr "Oppdaterer indeks" msgid "Updating moments" msgstr "Oppdaterer øyeblikk" -#: src/component/user/edit/dialog.vue:154 +#: src/component/user/edit/dialog.vue:155 msgid "Updating picture…" msgstr "Oppdaterer bildet …" @@ -3155,21 +3194,21 @@ msgstr "Oppdaterer forhåndsvisninger" msgid "Updating stacks" msgstr "Oppdaterer stabler" -#: src/page/connect.vue:57 src/component/navigation.vue:1500 -#: src/component/navigation.vue:1614 src/component/navigation.vue:1999 +#: src/page/connect.vue:57 src/component/navigation.vue:1526 +#: src/component/navigation.vue:1644 src/component/navigation.vue:2047 #: src/page/connect.vue:58 msgid "Upgrade" msgstr "Oppgrader" -#: src/page/about/about.vue:123 src/page/connect.vue:202 -#: src/component/confirm/sponsor.vue:98 src/page/about/about.vue:113 -#: src/page/connect.vue:206 +#: src/page/about/about.vue:124 src/page/connect.vue:204 +#: src/component/confirm/sponsor.vue:99 src/page/about/about.vue:114 +#: src/page/connect.vue:208 msgid "Upgrade Now" msgstr "Oppgrader nå" -#: src/component/album/toolbar.vue:108 src/component/navigation.vue:1824 -#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:144 -#: src/component/upload/dialog.vue:51 src/page/albums.vue:183 +#: src/component/album/toolbar.vue:113 src/component/navigation.vue:1860 +#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:145 +#: src/component/upload/dialog.vue:51 src/page/albums.vue:185 #: src/page/labels.vue:122 src/page/library/import.vue:133 #: src/page/settings/general.vue:307 src/page/settings/services.vue:38 msgid "Upload" @@ -3179,21 +3218,21 @@ msgstr "Last opp" msgid "Upload complete" msgstr "Opplasting fullført" -#: src/component/upload/dialog.vue:133 +#: src/component/upload/dialog.vue:135 msgid "Upload complete. Indexing…" msgstr "Opplasting fullført. Indekserer…" #: src/component/upload/dialog.vue:296 src/component/upload/dialog.vue:315 -#: src/component/upload/dialog.vue:129 +#: src/component/upload/dialog.vue:131 msgid "Upload failed" msgstr "Opplasting mislyktes" -#: src/component/service/edit.vue:257 +#: src/component/service/edit.vue:258 msgid "Upload local files" msgstr "Last opp lokale filer" -#: src/component/user/edit/dialog.vue:380 #: src/component/user/edit/dialog.vue:381 +#: src/component/user/edit/dialog.vue:382 msgid "Upload Path" msgstr "Last opp bane" @@ -3201,7 +3240,7 @@ msgstr "Last opp bane" msgid "Upload to WebDAV and share links with friends." msgstr "Last opp til WebDAV og del lenker med venner." -#: src/component/upload/dialog.vue:131 +#: src/component/upload/dialog.vue:133 msgid "Uploading %{n} of %{t}…" msgstr "Laster opp %{n} av %{t}…" @@ -3214,7 +3253,7 @@ msgstr "Laster opp bilder…" msgid "Uploading…" msgstr "Laster opp …" -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Uploads that may contain such images will be rejected automatically." msgstr "Opplastinger som kan inneholde slike bilder blir avvist automatisk." @@ -3222,7 +3261,7 @@ msgstr "Opplastinger som kan inneholde slike bilder blir avvist automatisk." msgid "Use Presets" msgstr "Bruk Forhåndsinnstillinger" -#: src/component/settings/passcode.vue:283 +#: src/component/settings/passcode.vue:286 msgid "Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:" msgstr "Bruk følgende gjenopprettingskode for å få tilgang til kontoen din når du ikke kan generere en gyldig bekreftelseskode med autentiseringsappen din:" @@ -3230,12 +3269,12 @@ msgstr "Bruk følgende gjenopprettingskode for å få tilgang til kontoen din n msgid "Use your recovery code or contact an administrator for help." msgstr "Bruk gjenopprettingskoden din eller kontakt en administrator for å få hjelp." -#: src/options/admin.js:10 src/page/admin/sessions.vue:59 -#: src/page/admin/sessions.vue:242 src/model/user.js:361 src/options/auth.js:7 +#: src/options/admin.js:14 src/page/admin/sessions.vue:59 +#: src/page/admin/sessions.vue:243 src/model/user.js:361 src/options/auth.js:8 msgid "User" msgstr "Bruker" -#: src/component/navigation.vue:1979 +#: src/component/navigation.vue:2025 msgid "User Guide" msgstr "Brukerhåndbok" @@ -3243,14 +3282,14 @@ msgstr "Brukerhåndbok" msgid "User Interface" msgstr "Brukergrensesnitt" -#: src/component/user/add/dialog.vue:87 src/component/user/add/dialog.vue:88 -#: src/page/admin/sessions.vue:220 src/page/admin/users.vue:71 -#: src/component/service/add.vue:85 src/component/service/edit.vue:337 +#: src/component/user/add/dialog.vue:88 src/component/user/add/dialog.vue:89 +#: src/page/admin/sessions.vue:221 src/page/admin/users.vue:73 +#: src/component/service/add.vue:86 src/component/service/edit.vue:338 #: src/component/share/dialog.vue:26 msgid "Username" msgstr "Brukernavn" -#: src/component/navigation.vue:1435 +#: src/component/navigation.vue:1461 msgid "Users" msgstr "Brukere" @@ -3260,18 +3299,18 @@ msgstr "Brukere" msgid "Vector" msgstr "Vektor" -#: src/component/navigation.vue:440 +#: src/component/navigation.vue:442 msgid "Vectors" msgstr "Vektorer" -#: src/component/settings/passcode.vue:227 src/page/auth/login.vue:144 +#: src/component/settings/passcode.vue:230 src/page/auth/login.vue:144 msgid "Verification Code" msgstr "Bekreftelseskode" #: src/component/photo/view/cards.vue:363 #: src/component/photo/view/cards.vue:491 src/component/photo/view/list.vue:190 #: src/component/photo/view/mosaic.vue:207 src/model/file.js:221 -#: src/model/photo.js:921 src/model/photo.js:939 src/options/options.js:293 +#: src/model/photo.js:958 src/model/photo.js:976 src/options/options.js:293 msgid "Video" msgstr "Video" @@ -3280,12 +3319,12 @@ msgstr "Video" msgid "Video Duration" msgstr "Varighet" -#: src/app/routes.js:243 src/component/navigation.vue:728 +#: src/app/routes.js:251 src/component/navigation.vue:734 #: src/options/options.js:200 msgid "Videos" msgstr "Videoer" -#: src/component/photo/toolbar.vue:261 src/component/photo/view/cards.vue:350 +#: src/component/photo/toolbar.vue:263 src/component/photo/view/cards.vue:350 #: src/component/photo/view/mosaic.vue:194 msgid "View" msgstr "Utseende" @@ -3294,11 +3333,11 @@ msgstr "Utseende" msgid "View search results as a list." msgstr "Vis søkeresultatene som en liste." -#: src/options/admin.js:14 src/options/auth.js:8 +#: src/options/admin.js:18 src/options/auth.js:9 msgid "Viewer" msgstr "Seer" -#: src/page/admin/sessions.vue:271 src/options/auth.js:12 +#: src/page/admin/sessions.vue:272 src/options/auth.js:13 msgid "Visitor" msgstr "Besøkende" @@ -3310,34 +3349,34 @@ msgstr "Gruppér etter likhet" msgid "Warning" msgstr "Advarsel" -#: src/page/about/feedback.vue:60 +#: src/page/about/feedback.vue:61 msgid "We appreciate your feedback!" msgstr "Vi setter pris på din tilbakemelding!" -#: src/page/about/feedback.vue:63 +#: src/page/about/feedback.vue:64 msgid "We do our best to respond within five business days or less." msgstr "Vi gjør vårt beste for å svare innen fem virkedager eller mindre." -#: src/component/user/add/dialog.vue:235 src/component/user/edit/dialog.vue:415 -#: src/page/admin/users.vue:80 +#: src/component/user/add/dialog.vue:236 src/component/user/edit/dialog.vue:416 +#: src/page/admin/users.vue:82 msgid "Web Login" msgstr "Nettinnlogging" -#: src/component/user/add/dialog.vue:248 src/component/user/edit/dialog.vue:432 -#: src/page/admin/users.vue:82 src/options/auth.js:55 src/options/auth.js:68 +#: src/component/user/add/dialog.vue:249 src/component/user/edit/dialog.vue:433 +#: src/page/admin/users.vue:84 src/options/auth.js:56 src/options/auth.js:69 #: src/options/options.js:444 msgid "WebDAV" msgstr "WebDAV" -#: src/component/settings/webdav.vue:51 +#: src/component/settings/webdav.vue:52 msgid "WebDAV clients can connect to PhotoPrism using the following URL:" msgstr "WebDAV-klienter kan koble seg til PhotoPrism ved å bruke følgende URL:" -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism." msgstr "WebDAV-klienter, som Microsoft Windows Explorer eller Apple Finder, kan koble seg direkte til PhotoPrism." -#: src/component/service/upload.vue:50 src/component/share/dialog.vue:220 +#: src/component/service/upload.vue:51 src/component/share/dialog.vue:220 msgid "WebDAV Upload" msgstr "WebDAV-opplasting" @@ -3345,8 +3384,8 @@ msgstr "WebDAV-opplasting" msgid "WebGL support is disabled in your browser" msgstr "WebGL-støtte er deaktivert i nettleseren din" -#: src/page/settings/account.vue:615 src/page/settings/account.vue:709 -#: src/page/settings/account.vue:601 +#: src/page/settings/account.vue:621 src/page/settings/account.vue:715 +#: src/page/settings/account.vue:607 msgid "Website" msgstr "Nettsted" @@ -3354,12 +3393,12 @@ msgstr "Nettsted" msgid "White" msgstr "Hvit" -#: src/page/settings/account.vue:532 +#: src/page/settings/account.vue:538 msgid "Work Details" msgstr "Detaljer" -#: src/page/settings/account.vue:500 src/component/photo/edit/details.vue:163 -#: src/component/photo/toolbar.vue:315 src/page/albums.vue:159 +#: src/page/settings/account.vue:506 src/component/photo/edit/details.vue:165 +#: src/component/photo/toolbar.vue:317 src/page/albums.vue:159 msgid "Year" msgstr "År" @@ -3367,21 +3406,21 @@ msgstr "År" msgid "Yellow" msgstr "Gul" -#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:58 -#: src/component/photo/archive/dialog.vue:58 +#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:59 +#: src/component/photo/archive/dialog.vue:59 #: src/component/photo/clipboard.vue:200 src/component/photo/edit/files.vue:365 #: src/component/photo/edit/files.vue:395 #: src/component/photo/edit/files.vue:401 #: src/component/photo/edit/files.vue:407 -#: src/component/photo/edit/files.vue:510 src/component/photo/edit/info.vue:281 +#: src/component/photo/edit/files.vue:512 src/component/photo/edit/info.vue:281 #: src/component/photo/edit/info.vue:297 src/component/photo/edit/info.vue:313 #: src/component/photo/edit/info.vue:329 src/component/photo/edit/info.vue:344 -#: src/component/photo/toolbar.vue:434 +#: src/component/photo/toolbar.vue:436 msgid "Yes" msgstr "Ja" -#: src/component/confirm/sponsor.vue:59 src/page/about/about.vue:158 -#: src/page/connect.vue:315 +#: src/component/confirm/sponsor.vue:60 src/page/about/about.vue:160 +#: src/page/connect.vue:317 msgid "You are welcome to contact us at membership@photoprism.app for questions regarding your membership." msgstr "Du er velkommen til å kontakte oss på membership@photoprism.app hvis du har spørsmål om medlemskapet ditt." @@ -3393,7 +3432,11 @@ msgstr "Du kan bare laste ned ett album" msgid "You can only download one label" msgstr "Du kan bare laste ned én merkelapp" -#: src/component/upload/dialog.vue:203 +#: src/component/location/dialog.vue:178 +msgid "You can search for a location or move the marker on the map to change the position:" +msgstr "Du kan søke etter et sted eller flytte markøren på kartet for å endre posisjonen:" + +#: src/component/upload/dialog.vue:205 msgid "You can upload up to %{n} files for test purposes." msgstr "Du kan laste opp opptil %{n} filer for testformål." @@ -3406,7 +3449,7 @@ msgstr "Du kan bare velge ett element" msgid "You may rescan your library to find additional faces." msgstr "Du kan skanne biblioteket ditt på nytt for å finne flere ansikter." -#: src/page/connect.vue:146 src/page/connect.vue:150 +#: src/page/connect.vue:147 src/page/connect.vue:151 msgid "Your account has been successfully connected." msgstr "Kontoen din har blitt koblet til." @@ -3414,8 +3457,8 @@ msgstr "Kontoen din har blitt koblet til." msgid "Your browser does not support WebGL" msgstr "Nettleseren din støtter ikke WebGL" -#: src/component/confirm/sponsor.vue:43 src/page/about/about.vue:97 -#: src/page/about/about.vue:156 src/page/connect.vue:220 +#: src/component/confirm/sponsor.vue:44 src/page/about/about.vue:98 +#: src/page/about/about.vue:158 src/page/connect.vue:222 msgid "Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy." msgstr "Din fortsatte støtte hjelper oss med å gi regelmessige oppdateringer og forbli uavhengige, slik at vi kan oppfylle vårt oppdrag og beskytte personvernet ditt." @@ -3496,9 +3539,6 @@ msgstr "Zoom inn/ut" #~ msgid "Open Folder" #~ msgstr "Åpne mappe" -#~ msgid "Cannot copy to clipboard" -#~ msgstr "Kan ikke kopiere til utklippstavlen" - #~ msgid "Sound" #~ msgstr "Lyd" @@ -4153,9 +4193,6 @@ msgstr "Zoom inn/ut" #~ msgid "More than 50 results" #~ msgstr "Mer enn 50 resultater" -#~ msgid "No results" -#~ msgstr "Ingen resultater" - #~ msgid "Not implemented yet" #~ msgstr "Ikke implementert enda" diff --git a/frontend/src/locales/nl.po b/frontend/src/locales/nl.po index 4ce69e79c..d7c937f4c 100644 --- a/frontend/src/locales/nl.po +++ b/frontend/src/locales/nl.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: ci@photoprism.app\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2025-04-04 08:03+0000\n" +"PO-Revision-Date: 2025-07-06 08:58+0000\n" "Last-Translator: DeepL \n" "Language-Team: Dutch \n" "Language: nl\n" @@ -11,7 +11,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.10.4\n" +"X-Generator: Weblate 5.12.2\n" "Generated-By: easygettext\n" #: src/locales.js:268 @@ -42,7 +42,7 @@ msgstr "{0} geselecteerd" msgid "{0}-{1} of {2}" msgstr "{0}-{1} van {2}" -#: src/page/albums.vue:612 +#: src/page/albums.vue:617 msgid "%{n} albums found" msgstr "%{n} albums gevonden" @@ -50,25 +50,25 @@ msgstr "%{n} albums gevonden" msgid "%{n} files uploaded" msgstr "%{n} opgeladen bestanden" -#: src/page/library/browse.vue:362 +#: src/page/library/browse.vue:364 msgid "%{n} folders found" msgstr "%{n} mappen gevonden" -#: src/component/navigation.vue:1676 +#: src/component/navigation.vue:1707 msgid "%{n} GB of %{q} GB used" msgstr "%{n} GB van %{q} GB gebruikt" -#: src/page/labels.vue:528 +#: src/page/labels.vue:533 msgid "%{n} labels found" msgstr "%{n} labels gevonden" -#: src/page/people/new.vue:350 src/page/people/new.vue:447 -#: src/page/people/recognized.vue:536 +#: src/page/people/new.vue:350 src/page/people/new.vue:450 +#: src/page/people/recognized.vue:541 msgid "%{n} people found" msgstr "%{n} personen gevonden" -#: src/page/album/photos.vue:308 src/page/album/photos.vue:493 -#: src/page/photos.vue:441 src/page/photos.vue:631 +#: src/page/album/photos.vue:313 src/page/album/photos.vue:504 +#: src/page/photos.vue:446 src/page/photos.vue:641 msgid "%{n} pictures found" msgstr "%{n} foto's gevonden" @@ -88,12 +88,12 @@ msgstr "1 uur" msgid "12 hours" msgstr "12 uren" -#: src/component/user/edit/dialog.vue:452 src/page/settings/account.vue:324 -#: src/component/settings/passcode.vue:75 +#: src/component/user/edit/dialog.vue:453 src/page/settings/account.vue:325 +#: src/component/settings/passcode.vue:78 msgid "2-Factor Authentication" msgstr "2-Factor Authenticatie" -#: src/component/user/edit/dialog.vue:451 src/options/auth.js:46 +#: src/component/user/edit/dialog.vue:452 src/options/auth.js:47 msgid "2FA" msgstr "2FA" @@ -109,20 +109,20 @@ msgstr "Een klik zal het naar uw klembord kopiëren." msgid "A new version of %{s} is available:" msgstr "Er is een nieuwe versie van %{s} beschikbaar:" -#: src/component/user/edit/dialog.vue:233 -#: src/component/user/edit/dialog.vue:234 src/page/about/about.vue:56 +#: src/component/user/edit/dialog.vue:234 +#: src/component/user/edit/dialog.vue:235 src/page/about/about.vue:56 #: src/page/settings/account.vue:248 src/page/settings/account.vue:249 -#: src/app/routes.js:63 src/component/navigation.vue:1521 -#: src/page/people/recognized.vue:292 +#: src/app/routes.js:63 src/component/navigation.vue:1547 +#: src/page/people/recognized.vue:296 msgid "About" msgstr "Over" -#: src/options/auth.js:26 src/options/auth.js:44 +#: src/options/auth.js:27 src/options/auth.js:45 msgid "Access Token" msgstr "Toegangssleutel" -#: src/component/navigation.vue:87 src/component/navigation.vue:1788 -#: src/component/service/upload.vue:71 src/model/service.js:96 +#: src/component/navigation.vue:87 src/component/navigation.vue:1822 +#: src/component/service/upload.vue:72 src/model/service.js:96 #: src/model/user.js:171 src/page/settings.vue:85 #: src/page/settings/general.vue:582 msgid "Account" @@ -136,7 +136,7 @@ msgstr "Account aangemaakt" msgid "Account deleted" msgstr "Account verwijderd" -#: src/page/admin/users.vue:335 +#: src/page/admin/users.vue:337 msgid "Account restored" msgstr "Account hersteld" @@ -157,8 +157,8 @@ msgstr "Actie" msgid "Actions" msgstr "Acties" -#: src/page/connect.vue:294 src/component/settings/passcode.vue:346 -#: src/page/connect.vue:303 +#: src/page/connect.vue:296 src/component/settings/passcode.vue:349 +#: src/page/connect.vue:305 msgid "Activate" msgstr "Activeer" @@ -174,20 +174,20 @@ msgstr "Activeren om oplopend te sorteren." msgid "Activate to sort descending." msgstr "Activeren om aflopend te sorteren." -#: src/page/connect.vue:231 src/page/connect.vue:240 +#: src/page/connect.vue:233 src/page/connect.vue:242 msgid "Activation Code" msgstr "Activeringscode" -#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:83 -#: src/component/settings/apps.vue:448 +#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:92 +#: src/component/settings/apps.vue:451 msgid "Add" msgstr "Toevoegen" -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:246 msgid "Add %{s}?" msgstr "%{naam} toevoegen?" -#: src/component/user/add/dialog.vue:56 src/component/service/add.vue:49 +#: src/component/user/add/dialog.vue:57 src/component/service/add.vue:50 msgid "Add Account" msgstr "Account toevoegen" @@ -204,8 +204,8 @@ msgid "Add Link" msgstr "Link toevoegen" #: src/component/photo/edit/people.vue:25 -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:57 -#: src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:57 +#: src/page/people/new.vue:246 msgid "Add person?" msgstr "Persoon toevoegen?" @@ -221,10 +221,15 @@ msgstr "Voeg foto's toe uit zoekresultaten door ze te selecteren." msgid "Add to album" msgstr "Toevoegen aan album" -#: src/component/photo/edit/files.vue:514 +#: src/component/photo/edit/files.vue:516 msgid "Added" msgstr "Toegevoegd" +#: src/component/location/dialog.vue:68 src/component/location/dialog.vue:90 +#: src/component/photo/edit/details.vue:246 +msgid "Adjust Location" +msgstr "Locatie aanpassen" + #: src/options/admin.js:6 src/options/auth.js:6 msgid "Admin" msgstr "Admin" @@ -245,7 +250,7 @@ msgstr "Na 3 dagen" msgid "After 7 days" msgstr "Na 7 dagen" -#: src/component/settings/passcode.vue:93 +#: src/component/settings/passcode.vue:96 msgid "After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:" msgstr "Nadat je je wachtwoord hebt ingevoerd ter bevestiging, kun je tweefactorauthenticatie instellen met een compatibele authenticatie-app of -apparaat:" @@ -277,12 +282,16 @@ msgstr "Album" msgid "Album Backups" msgstr "Back-ups van albums" -#: src/page/albums.vue:674 +#: src/page/albums.vue:685 msgid "Album created" msgstr "Album aangemaakt" -#: src/app/routes.js:176 src/component/album/toolbar.vue:51 -#: src/component/navigation.vue:604 src/component/navigation.vue:1882 +#: src/page/album/photos.vue:589 +msgid "Album deleted" +msgstr "Album verwijderd" + +#: src/app/routes.js:184 src/component/album/toolbar.vue:55 +#: src/component/navigation.vue:607 src/component/navigation.vue:1922 #: src/component/photo/edit/info.vue:220 src/options/options.js:198 msgid "Albums" msgstr "Albums" @@ -295,7 +304,7 @@ msgstr "Albums verwijderd" msgid "All" msgstr "Alle" -#: src/page/albums.vue:465 +#: src/page/albums.vue:470 msgid "All %{n} albums loaded" msgstr "Alle %{n} albums geladen" @@ -311,8 +320,8 @@ msgstr "Alle %{n} mensen geladen" msgid "All Cameras" msgstr "Alle camera’s" -#: src/component/photo/toolbar.vue:74 src/page/albums.vue:44 -#: src/page/albums.vue:240 src/page/albums.vue:746 +#: src/component/photo/toolbar.vue:74 src/page/albums.vue:45 +#: src/page/albums.vue:242 src/page/albums.vue:757 msgid "All Categories" msgstr "Alle categorieën" @@ -344,7 +353,7 @@ msgstr "Alle maanden" msgid "All originals" msgstr "Alle originelen" -#: src/component/photo/toolbar.vue:76 src/page/albums.vue:93 +#: src/component/photo/toolbar.vue:76 src/page/albums.vue:94 msgid "All Years" msgstr "Alle jaren" @@ -356,7 +365,7 @@ msgstr "U kunt ook rechtstreeks bestanden uploaden naar WebDAV-servers zoals Nex msgid "Altitude" msgstr "Hoogte" -#: src/component/photo/edit/details.vue:272 +#: src/component/photo/edit/details.vue:297 msgid "Altitude (m)" msgstr "Hoogte (m)" @@ -364,8 +373,7 @@ msgstr "Hoogte (m)" msgid "AM" msgstr "AM" -#: src/app/routes.js:257 src/component/navigation.vue:791 -#: src/component/photo/edit/files.vue:364 +#: src/app/routes.js:265 src/component/photo/edit/files.vue:364 #: src/component/photo/view/cards.vue:327 #: src/component/photo/view/cards.vue:511 src/component/photo/view/list.vue:184 #: src/component/photo/view/mosaic.vue:171 src/options/options.js:301 @@ -376,43 +384,47 @@ msgstr "Geanimeerd" msgid "Animation" msgstr "Animatie" +#: src/component/navigation.vue:797 +msgid "Animations" +msgstr "Animaties" + #: src/component/share/dialog.vue:207 msgid "Any private photos and videos remain private and won't be shared." msgstr "Alle privéfoto's en -video's blijven privé en worden niet gedeeld." -#: src/component/service/edit.vue:372 +#: src/component/service/edit.vue:373 msgid "API Key" msgstr "API sleutel" -#: src/page/admin/sessions.vue:357 src/options/auth.js:25 +#: src/page/admin/sessions.vue:361 src/options/auth.js:26 msgid "Application" msgstr "Toepassing" -#: src/component/photo/edit/details.vue:641 +#: src/component/photo/edit/details.vue:615 msgid "Apply" msgstr "Toepassen" #: src/component/photo/clipboard.vue:64 -#: src/component/photo/edit/details.vue:640 +#: src/component/photo/edit/details.vue:614 #: src/component/photo/view/cards.vue:416 msgid "Approve" msgstr "Goedkeuren" -#: src/page/settings/account.vue:374 src/component/settings/apps.vue:91 +#: src/page/settings/account.vue:378 src/component/settings/apps.vue:94 msgid "Apps and Devices" msgstr "Apps en apparaten" -#: src/app/routes.js:287 src/component/lightbox.vue:1207 -#: src/component/navigation.vue:555 src/component/photo/clipboard.vue:142 +#: src/app/routes.js:295 src/component/lightbox.vue:1207 +#: src/component/navigation.vue:557 src/component/photo/clipboard.vue:142 #: src/component/photo/view/cards.vue:398 src/page/settings/general.vue:432 msgid "Archive" msgstr "Archief" -#: src/component/lightbox.vue:1982 src/component/photo/edit/info.vue:433 +#: src/component/lightbox.vue:2002 src/component/photo/edit/info.vue:433 msgid "Archived" msgstr "Gearchiveerd" -#: src/component/photo/archive/dialog.vue:34 +#: src/component/photo/archive/dialog.vue:35 msgid "Are you sure you want to archive the selection?" msgstr "Weet je zeker dat je deze foto’s wilt verwijderen?" @@ -420,19 +432,23 @@ msgstr "Weet je zeker dat je deze foto’s wilt verwijderen?" msgid "Are you sure you want to delete these albums?" msgstr "Weet je zeker dat je deze albums wilt verwijderen?" -#: src/component/label/delete/dialog.vue:34 +#: src/component/label/delete/dialog.vue:35 msgid "Are you sure you want to delete these labels?" msgstr "Weet je zeker dat je deze albums wilt verwijderen?" -#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:36 +#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:37 msgid "Are you sure you want to delete this account?" msgstr "Weet u zeker dat u dit account wilt verwijderen?" +#: src/component/album/toolbar.vue:136 +msgid "Are you sure you want to delete this album?" +msgstr "Weet je zeker dat je dit album wilt verwijderen?" + #: src/component/photo/clipboard.vue:199 msgid "Are you sure you want to permanently delete these pictures?" msgstr "Weet je zeker dat je deze foto’s permanent wilt verwijderen?" -#: src/component/file/delete/dialog.vue:34 +#: src/component/file/delete/dialog.vue:35 msgid "Are you sure you want to permanently delete this file?" msgstr "Weet je zeker dat je dit bestand permanent wilt verwijderen?" @@ -441,7 +457,7 @@ msgstr "Weet je zeker dat je dit bestand permanent wilt verwijderen?" msgid "Are you sure?" msgstr "Weet je het zeker?" -#: src/component/photo/edit/details.vue:537 +#: src/component/photo/edit/details.vue:511 msgid "Artist" msgstr "Artiest" @@ -449,14 +465,14 @@ msgstr "Artiest" msgid "Aspect Ratio" msgstr "Verhoudingen" -#: src/app/routes.js:250 src/component/navigation.vue:770 +#: src/app/routes.js:258 src/component/navigation.vue:776 #: src/options/options.js:297 msgid "Audio" msgstr "Audio" -#: src/component/user/add/dialog.vue:190 src/component/user/edit/dialog.vue:309 -#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:281 -#: src/page/admin/users.vue:75 +#: src/component/user/add/dialog.vue:191 src/component/user/edit/dialog.vue:310 +#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:282 +#: src/page/admin/users.vue:77 msgid "Authentication" msgstr "Authenticatie" @@ -464,11 +480,11 @@ msgstr "Authenticatie" msgid "Auto" msgstr "Auto" -#: src/component/settings/apps.vue:151 +#: src/component/settings/apps.vue:154 msgid "Back" msgstr "Terug" -#: src/component/scroll.vue:20 +#: src/component/scroll.vue:18 msgid "Back to top" msgstr "Terug naar boven" @@ -480,26 +496,26 @@ msgstr "Back-up" msgid "Badge" msgstr "Badge" -#: src/component/user/edit/dialog.vue:361 #: src/component/user/edit/dialog.vue:362 +#: src/component/user/edit/dialog.vue:363 msgid "Base Path" msgstr "Basispad" -#: src/page/about/about.vue:95 src/page/connect.vue:220 +#: src/page/about/about.vue:96 src/page/connect.vue:222 msgid "Become a member today, support our mission and enjoy our member benefits!" msgstr "Word vandaag nog lid, steun onze missie en geniet van onze ledenvoordelen!" -#: src/component/confirm/sponsor.vue:51 src/page/about/about.vue:99 +#: src/component/confirm/sponsor.vue:52 src/page/about/about.vue:100 msgid "Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services." msgstr "Omdat we 100% zelf gefinancierd en onafhankelijk zijn, kunnen we u beloven dat we uw gegevens nooit zullen verkopen en dat we altijd transparant zullen zijn over onze software en diensten." -#: src/component/user/edit/dialog.vue:258 -#: src/component/user/edit/dialog.vue:259 src/page/settings/account.vue:227 +#: src/component/user/edit/dialog.vue:259 +#: src/component/user/edit/dialog.vue:260 src/page/settings/account.vue:227 #: src/page/settings/account.vue:228 msgid "Bio" msgstr "Bio" -#: src/page/settings/account.vue:431 +#: src/page/settings/account.vue:437 msgid "Birth Date" msgstr "Geboortedatum" @@ -520,7 +536,7 @@ msgid "Brown" msgstr "Bruin" #: src/component/photo/edit/files.vue:263 src/component/photo/toolbar.vue:141 -#: src/component/upload/dialog.vue:240 +#: src/component/upload/dialog.vue:242 msgid "Browse" msgstr "Blader door" @@ -548,16 +564,16 @@ msgstr "Bugmelding" msgid "Busy, please wait…" msgstr "Bezig, wacht even…" -#: src/page/connect.vue:317 +#: src/page/connect.vue:319 msgid "By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct." msgstr "Door gebruik te maken van de software en diensten die wij leveren, gaat u akkoord met onze servicevoorwaarden, ons privacybeleid en onze gedragscode." -#: src/app/routes.js:189 src/component/navigation.vue:1081 +#: src/app/routes.js:197 src/component/navigation.vue:1097 #: src/options/options.js:204 src/page/settings/general.vue:205 msgid "Calendar" msgstr "Kalender" -#: src/component/photo/edit/details.vue:346 src/component/photo/toolbar.vue:232 +#: src/component/photo/edit/details.vue:320 src/component/photo/toolbar.vue:234 #: src/component/photo/view/cards.vue:467 src/component/photo/view/list.vue:116 msgid "Camera" msgstr "Camera" @@ -570,12 +586,12 @@ msgstr "Camera" msgid "Can't access your authenticator app or device?" msgstr "Krijg je geen toegang tot je authenticator app of apparaat?" -#: src/page/album/photos.vue:317 src/page/photos.vue:450 +#: src/page/album/photos.vue:322 src/page/photos.vue:455 msgid "Can't load more, limit reached" msgstr "Kan niet meer laden, limiet bereikt" #: src/common/clipboard.js:102 src/common/clipboard.js:139 -#: src/page/albums.vue:684 src/page/albums.vue:700 src/page/labels.vue:293 +#: src/page/albums.vue:695 src/page/albums.vue:711 src/page/labels.vue:293 #: src/page/labels.vue:313 src/page/library/browse.vue:233 #: src/page/library/browse.vue:249 src/page/people/new.vue:278 #: src/page/people/new.vue:294 src/page/people/recognized.vue:305 @@ -584,26 +600,31 @@ msgid "Can't select more items" msgstr "Kan niet meer items selecteren" #: src/component/session/remove/dialog.vue:45 -#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:473 -#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:119 +#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:474 +#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:120 #: src/component/album/delete/dialog.vue:43 -#: src/component/album/edit/dialog.vue:199 src/component/confirm/dialog.vue:43 -#: src/component/file/delete/dialog.vue:47 -#: src/component/label/delete/dialog.vue:47 -#: src/component/label/edit/dialog.vue:107 -#: src/component/people/edit/dialog.vue:120 +#: src/component/album/edit/dialog.vue:200 src/component/confirm/dialog.vue:43 +#: src/component/file/delete/dialog.vue:48 +#: src/component/label/delete/dialog.vue:48 +#: src/component/label/edit/dialog.vue:108 +#: src/component/location/dialog.vue:200 +#: src/component/people/edit/dialog.vue:121 #: src/component/photo/album/dialog.vue:78 src/component/service/add.vue:19 -#: src/component/service/edit.vue:455 src/component/service/remove.vue:49 -#: src/component/service/upload.vue:117 src/component/settings/apps.vue:352 -#: src/component/settings/passcode.vue:249 -#: src/component/settings/passcode.vue:333 -#: src/component/settings/password.vue:159 src/component/share/dialog.vue:28 -#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:123 +#: src/component/service/edit.vue:456 src/component/service/remove.vue:50 +#: src/component/service/upload.vue:118 src/component/settings/apps.vue:355 +#: src/component/settings/passcode.vue:252 +#: src/component/settings/passcode.vue:336 +#: src/component/settings/password.vue:160 src/component/share/dialog.vue:28 +#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:124 #: src/page/library/import.vue:119 src/page/library/index.vue:128 msgid "Cancel" msgstr "Annuleren" -#: src/component/photo/edit/details.vue:87 src/component/photo/edit/info.vue:61 +#: src/common/util.js:863 src/common/util.js:870 +msgid "Cannot copy to clipboard" +msgstr "Kan niet naar klembord kopiëren" + +#: src/component/photo/edit/details.vue:89 src/component/photo/edit/info.vue:63 #: src/component/photo/edit/labels.vue:42 #: src/component/photo/view/cards.vue:445 src/component/sidebar/info.vue:72 msgid "Caption" @@ -617,17 +638,17 @@ msgstr "Kaarten" msgid "Carousel slide {0} of {1}" msgstr "Carrousel dia {0} van {1}" -#: src/page/about/feedback.vue:82 src/page/about/feedback.vue:83 -#: src/component/album/edit/dialog.vue:128 src/component/photo/toolbar.vue:397 +#: src/page/about/feedback.vue:83 src/page/about/feedback.vue:84 +#: src/component/album/edit/dialog.vue:129 src/component/photo/toolbar.vue:399 #: src/page/albums.vue:187 msgid "Category" msgstr "Categorie" -#: src/component/user/edit/dialog.vue:191 src/page/settings/account.vue:201 +#: src/component/user/edit/dialog.vue:192 src/page/settings/account.vue:201 msgid "Change Avatar" msgstr "Avatar veranderen" -#: src/page/settings/account.vue:297 src/component/settings/password.vue:48 +#: src/page/settings/account.vue:297 src/component/settings/password.vue:49 msgid "Change Password" msgstr "Wachtwoord wijzigen" @@ -644,17 +665,17 @@ msgid "Change private flag" msgstr "Privé vlag geschakeld" #: src/component/user/add/dialog.vue:108 src/component/user/add/dialog.vue:113 -#: src/component/user/edit/dialog.vue:90 src/component/user/edit/dialog.vue:95 +#: src/component/user/edit/dialog.vue:91 src/component/user/edit/dialog.vue:96 #: src/page/settings/account.vue:121 src/page/settings/account.vue:126 msgid "Changes could not be saved" msgstr "Wijzigingen kunnen niet worden opgeslagen" -#: src/component/user/edit/dialog.vue:83 src/component/user/edit/dialog.vue:159 +#: src/component/user/edit/dialog.vue:84 src/component/user/edit/dialog.vue:160 #: src/component/album/edit/dialog.vue:73 -#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1941 +#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1961 #: src/component/photo/edit/files.vue:162 src/component/service/edit.vue:90 #: src/component/share/dialog.vue:92 src/component/share/dialog.vue:111 -#: src/page/albums.vue:677 src/page/people/recognized.vue:119 +#: src/page/albums.vue:688 src/page/people/recognized.vue:119 #: src/page/settings/advanced.vue:62 src/page/settings/content.vue:62 #: src/page/settings/general.vue:108 msgid "Changes successfully saved" @@ -668,7 +689,7 @@ msgstr "Wijzigingen aan de geavanceerde instellingen vereisen een herstart om va msgid "Checked" msgstr "Geselecteerd" -#: src/component/photo/edit/files.vue:495 +#: src/component/photo/edit/files.vue:497 msgid "Chroma" msgstr "Chroma" @@ -684,24 +705,24 @@ msgstr "Opruimen" msgid "Clear {0}" msgstr "Wis {0}" -#: src/options/auth.js:11 src/options/auth.js:23 src/options/auth.js:43 +#: src/options/auth.js:12 src/options/auth.js:24 src/options/auth.js:44 msgid "Client" msgstr "Klant" -#: src/options/auth.js:24 +#: src/options/auth.js:25 msgid "Client Credentials" msgstr "Klantgegevens" -#: src/page/admin/sessions.vue:529 src/component/lightbox.vue:284 -#: src/component/lightbox.vue:1009 src/component/lightbox.vue:1010 -#: src/component/photo/edit/details.vue:627 src/component/photo/toolbar.vue:160 -#: src/component/settings/apps.vue:224 src/component/settings/apps.vue:437 -#: src/component/settings/passcode.vue:148 -#: src/component/settings/passcode.vue:456 -#: src/component/settings/passcode.vue:497 -#: src/component/settings/webdav.vue:131 src/component/share/dialog.vue:231 +#: src/component/user/edit/dialog.vue:474 src/page/admin/sessions.vue:536 +#: src/component/lightbox.vue:284 src/component/lightbox.vue:1009 +#: src/component/lightbox.vue:1010 src/component/photo/edit/details.vue:601 +#: src/component/photo/toolbar.vue:161 src/component/settings/apps.vue:227 +#: src/component/settings/apps.vue:440 src/component/settings/passcode.vue:151 +#: src/component/settings/passcode.vue:459 +#: src/component/settings/passcode.vue:500 +#: src/component/settings/webdav.vue:132 src/component/share/dialog.vue:231 #: src/component/sidebar/info.vue:26 src/component/update.vue:57 -#: src/component/upload/dialog.vue:228 src/locales.js:206 +#: src/component/upload/dialog.vue:230 src/locales.js:206 #: src/page/library/errors.vue:253 msgid "Close" msgstr "Sluiten" @@ -710,11 +731,11 @@ msgstr "Sluiten" msgid "Codec" msgstr "Codec" -#: src/component/photo/toolbar.vue:369 +#: src/component/photo/toolbar.vue:371 msgid "Color" msgstr "Kleur" -#: src/component/photo/edit/files.vue:483 +#: src/component/photo/edit/files.vue:485 msgid "Color Profile" msgstr "Kleur Profiel" @@ -722,7 +743,7 @@ msgstr "Kleur Profiel" msgid "Colors" msgstr "Kleuren" -#: src/page/connect.vue:260 src/page/connect.vue:269 +#: src/page/connect.vue:262 src/page/connect.vue:271 msgid "Compare Editions" msgstr "Edities vergelijken" @@ -735,17 +756,18 @@ msgstr "Volledig herscannen" msgid "Confidence" msgstr "Vertrouwen" +#: src/component/location/dialog.vue:212 #: src/component/photo/album/dialog.vue:90 -#: src/component/settings/passcode.vue:261 +#: src/component/settings/passcode.vue:264 msgid "Confirm" msgstr "Bevestigen" -#: src/component/service/add.vue:20 src/page/settings/services.vue:187 +#: src/component/service/add.vue:20 src/page/settings/services.vue:191 msgid "Connect" msgstr "Verbinden" -#: src/page/settings/account.vue:401 src/component/settings/webdav.vue:45 -#: src/page/settings/services.vue:167 +#: src/page/settings/account.vue:406 src/component/settings/webdav.vue:46 +#: src/page/settings/services.vue:170 msgid "Connect via WebDAV" msgstr "Verbinding maken via WebDAV" @@ -753,22 +775,22 @@ msgstr "Verbinding maken via WebDAV" msgid "Connected" msgstr "Verbonden" -#: src/page/settings/account.vue:640 src/page/settings/account.vue:532 +#: src/page/settings/account.vue:646 src/page/settings/account.vue:538 msgid "Contact Details" msgstr "Contactgegevens" -#: src/page/about/feedback.vue:37 src/page/connect.vue:132 -#: src/page/connect.vue:136 +#: src/page/about/feedback.vue:37 src/page/connect.vue:133 +#: src/page/connect.vue:137 msgid "Contact Us" msgstr "Neem contact met ons op" #: src/page/albums.vue:433 src/page/labels.vue:237 -#: src/page/people/recognized.vue:306 +#: src/page/people/recognized.vue:310 msgid "Contains %{n} pictures." msgstr "Bevat %{n} foto's." #: src/page/albums.vue:427 src/page/labels.vue:231 -#: src/page/people/recognized.vue:300 +#: src/page/people/recognized.vue:304 msgid "Contains one picture." msgstr "Bevat één foto." @@ -776,7 +798,7 @@ msgstr "Bevat één foto." msgid "Content" msgstr "Inhoud" -#: src/component/settings/apps.vue:163 +#: src/component/settings/apps.vue:166 msgid "Continue" msgstr "Doorgaan" @@ -784,7 +806,7 @@ msgstr "Doorgaan" msgid "Continue with %{provider}" msgstr "Ga verder met %{provider}" -#: src/options/admin.js:18 src/options/auth.js:9 +#: src/options/admin.js:22 src/options/auth.js:10 msgid "Contributor" msgstr "Bijdrager" @@ -792,15 +814,15 @@ msgstr "Bijdrager" msgid "Converting" msgstr "Converteren" -#: src/common/util.js:846 +#: src/common/util.js:856 msgid "Copied to clipboard" msgstr "Gekopieerd naar klembord" -#: src/component/settings/apps.vue:250 src/component/settings/passcode.vue:358 +#: src/component/settings/apps.vue:253 src/component/settings/passcode.vue:361 msgid "Copy" msgstr "Kopiëren" -#: src/component/photo/edit/details.vue:516 +#: src/component/photo/edit/details.vue:490 msgid "Copyright" msgstr "Copyright" @@ -808,8 +830,8 @@ msgstr "Copyright" msgid "Couldn't find anything." msgstr "Kon niets vinden." -#: src/page/settings/account.vue:685 src/component/photo/edit/details.vue:242 -#: src/component/photo/toolbar.vue:203 src/page/settings/account.vue:577 +#: src/page/settings/account.vue:691 src/component/photo/edit/details.vue:268 +#: src/component/photo/toolbar.vue:205 src/page/settings/account.vue:583 msgid "Country" msgstr "Land" @@ -833,7 +855,7 @@ msgstr "YAML-bestanden maken om albummetadata te back-uppen." msgid "Create YAML sidecar files to back up picture metadata." msgstr "Maak YAML sidecar-bestanden om een back-up te maken van afbeeldingsmetagegevens." -#: src/page/admin/sessions.vue:417 src/component/photo/edit/info.vue:412 +#: src/page/admin/sessions.vue:422 src/component/photo/edit/info.vue:412 msgid "Created" msgstr "Aangemaakt" @@ -845,11 +867,11 @@ msgstr "Het maken van miniaturen voor" msgid "Cubic: Moderate Quality, Good Performance" msgstr "Kubiek: Gematigde kwaliteit, goede prestaties" -#: src/component/settings/password.vue:85 +#: src/component/settings/password.vue:86 msgid "Current Password" msgstr "Huidig Wachtwoord" -#: src/options/themes.js:919 src/options/themes.js:928 +#: src/options/themes.js:920 src/options/themes.js:929 msgid "Custom" msgstr "Aangepast" @@ -865,11 +887,11 @@ msgstr "Dagelijks" msgid "Database Backups" msgstr "Back-ups van databases" -#: src/page/settings/account.vue:450 src/component/photo/edit/details.vue:110 +#: src/page/settings/account.vue:456 src/component/photo/edit/details.vue:112 msgid "Day" msgstr "Dag" -#: src/component/settings/passcode.vue:445 +#: src/component/settings/passcode.vue:448 msgid "Deactivate" msgstr "Deactiveren" @@ -877,36 +899,40 @@ msgstr "Deactiveren" msgid "Debug Logs" msgstr "Debug-logs" -#: src/options/admin.js:31 src/page/admin/sessions.vue:136 -#: src/page/admin/users.vue:176 src/component/photo/edit/info.vue:47 +#: src/options/admin.js:35 src/page/admin/sessions.vue:136 +#: src/page/admin/users.vue:178 src/component/photo/edit/info.vue:47 #: src/component/photo/edit/info.vue:110 src/model/session.js:66 -#: src/model/user.js:246 src/options/auth.js:20 src/options/auth.js:21 -#: src/options/auth.js:39 src/options/auth.js:40 src/options/options.js:196 +#: src/model/user.js:246 src/options/auth.js:21 src/options/auth.js:22 +#: src/options/auth.js:40 src/options/auth.js:41 src/options/options.js:196 #: src/options/options.js:232 src/options/options.js:316 -#: src/options/themes.js:773 +#: src/options/themes.js:774 msgid "Default" msgstr "Standaard" -#: src/component/service/edit.vue:123 +#: src/component/service/edit.vue:124 msgid "Default Folder" msgstr "Standaard map" #: src/component/session/remove/dialog.vue:56 #: src/component/user/remove/dialog.vue:56 src/component/album/clipboard.vue:97 -#: src/component/album/delete/dialog.vue:54 -#: src/component/file/delete/dialog.vue:58 src/component/label/clipboard.vue:58 -#: src/component/label/delete/dialog.vue:58 +#: src/component/album/delete/dialog.vue:54 src/component/album/toolbar.vue:137 +#: src/component/file/delete/dialog.vue:59 src/component/label/clipboard.vue:58 +#: src/component/label/delete/dialog.vue:59 #: src/component/photo/clipboard.vue:168 src/component/photo/edit/files.vue:238 -#: src/component/service/remove.vue:60 src/component/share/dialog.vue:170 +#: src/component/service/remove.vue:61 src/component/share/dialog.vue:170 #: src/page/settings/general.vue:457 msgid "Delete" msgstr "Verwijder" +#: src/component/album/toolbar.vue:133 +msgid "Delete Album" +msgstr "Album verwijderen" + #: src/component/photo/toolbar.vue:119 src/page/library/errors.vue:95 msgid "Delete All" msgstr "Alles verwijderen" -#: src/component/photo/toolbar.vue:433 src/page/library/errors.vue:193 +#: src/component/photo/toolbar.vue:435 src/page/library/errors.vue:193 msgid "Delete all?" msgstr "Alles verwijderen?" @@ -914,16 +940,16 @@ msgstr "Alles verwijderen?" msgid "Delete orphaned index entries, sidecar files and thumbnails." msgstr "Verwijder verweesde indexvermeldingen, zijspanbestanden en miniaturen." -#: src/component/album/edit/dialog.vue:107 src/page/albums.vue:411 +#: src/component/album/edit/dialog.vue:108 src/page/albums.vue:411 msgid "Description" msgstr "Omschrijving" -#: src/component/settings/webdav.vue:115 +#: src/component/settings/webdav.vue:116 msgid "Detailed instructions can be found in our User Guide." msgstr "Gedetailleerde instructies zijn te vinden in onze gebruikershandleiding." -#: src/component/photo/edit/dialog.vue:156 -#: src/component/photo/edit/dialog.vue:173 +#: src/component/photo/edit/dialog.vue:162 +#: src/component/photo/edit/dialog.vue:181 msgid "Details" msgstr "Details" @@ -987,8 +1013,8 @@ msgstr "Schakelt ondersteuning voor vectorafbeeldingen uit." msgid "Disables video transcoding and thumbnail extraction." msgstr "Schakelt videoconversie en extractie van miniaturen uit." -#: src/app/routes.js:558 src/app/routes.js:565 src/app/routes.js:572 -#: src/app/routes.js:579 +#: src/app/routes.js:566 src/app/routes.js:573 src/app/routes.js:580 +#: src/app/routes.js:587 msgid "Discover" msgstr "Ontdek" @@ -996,9 +1022,9 @@ msgstr "Ontdek" msgid "Dismiss" msgstr "Ontsla" -#: src/component/user/add/dialog.vue:133 src/component/user/add/dialog.vue:134 -#: src/component/user/edit/dialog.vue:163 -#: src/component/user/edit/dialog.vue:164 src/page/admin/users.vue:72 +#: src/component/user/add/dialog.vue:134 src/component/user/add/dialog.vue:135 +#: src/component/user/edit/dialog.vue:164 +#: src/component/user/edit/dialog.vue:165 src/page/admin/users.vue:74 #: src/page/settings/account.vue:149 src/page/settings/account.vue:151 msgid "Display Name" msgstr "Naam op scherm" @@ -1013,12 +1039,12 @@ msgstr "Afbeeldings titels weergeven in zoekresultaten." #: src/component/photo/view/cards.vue:339 #: src/component/photo/view/cards.vue:521 -#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:174 +#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:176 #: src/options/options.js:309 msgid "Document" msgstr "Document" -#: src/component/navigation.vue:480 +#: src/component/navigation.vue:482 msgid "Documents" msgstr "Documenten" @@ -1034,16 +1060,16 @@ msgstr "Gebruik geen ImageMagick om afbeeldingen te converteren." msgid "Don't use RawTherapee to convert RAW images." msgstr "Gebruik geen RawTherapee om RAW beelden te converteren." -#: src/component/settings/apps.vue:238 src/component/share/dialog.vue:29 +#: src/component/settings/apps.vue:241 src/component/share/dialog.vue:29 msgid "Done" msgstr "Klaar" -#: src/component/upload/dialog.vue:135 src/page/library/import.vue:46 +#: src/component/upload/dialog.vue:137 src/page/library/import.vue:46 #: src/page/library/index.vue:52 msgid "Done." msgstr "Klaar." -#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:118 +#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:123 #: src/component/file/clipboard.vue:48 src/component/lightbox.vue:1235 #: src/component/people/clipboard.vue:47 src/component/photo/clipboard.vue:116 #: src/component/photo/edit/files.vue:168 src/page/settings/content.vue:331 @@ -1055,7 +1081,7 @@ msgstr "Download" msgid "Download only original media files, without any automatically generated files." msgstr "Download alleen originele mediabestanden, zonder automatisch gegenereerde bestanden." -#: src/component/service/edit.vue:237 +#: src/component/service/edit.vue:238 msgid "Download remote files" msgstr "Bestanden op afstand downloaden" @@ -1063,9 +1089,9 @@ msgstr "Bestanden op afstand downloaden" msgid "Download single files and zip archives." msgstr "Download enkele bestanden en zip-archieven." -#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:157 +#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:172 #: src/component/file/clipboard.vue:61 src/component/label/clipboard.vue:86 -#: src/component/lightbox.vue:2021 src/component/people/clipboard.vue:59 +#: src/component/lightbox.vue:2041 src/component/people/clipboard.vue:59 #: src/component/photo/clipboard.vue:220 src/component/photo/edit/files.vue:119 #: src/component/photo/view/cards.vue:169 src/component/photo/view/list.vue:142 #: src/page/library/browse.vue:139 @@ -1080,7 +1106,7 @@ msgstr "Downscaling filter" msgid "Drag and drop files here" msgstr "Sleep bestanden hier naartoe" -#: src/page/about/feedback.vue:61 +#: src/page/about/feedback.vue:62 msgid "Due to the high volume of emails we receive, our team may be unable to get back to you immediately." msgstr "Vanwege het grote aantal e-mails dat wij ontvangen, kan het voorkomen dat ons team u niet onmiddellijk antwoord kan geven." @@ -1100,23 +1126,23 @@ msgstr "Dynamische Voorbeelden" msgid "Dynamic Size Limit: %{n}px" msgstr "Dynamische Groottegrens: %{n}px" -#: src/page/about/feedback.vue:141 src/page/about/feedback.vue:140 +#: src/page/about/feedback.vue:142 src/page/about/feedback.vue:141 msgid "E-Mail" msgstr "E-mail" -#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:89 +#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:94 #: src/component/lightbox.vue:1136 src/component/lightbox.vue:1137 #: src/component/photo/clipboard.vue:90 src/page/settings/general.vue:407 msgid "Edit" msgstr "Bewerken" -#: src/component/album/edit/dialog.vue:54 -#: src/component/label/edit/dialog.vue:52 -#: src/component/people/edit/dialog.vue:52 +#: src/component/album/edit/dialog.vue:55 +#: src/component/label/edit/dialog.vue:53 +#: src/component/people/edit/dialog.vue:53 msgid "Edit %{s}" msgstr "Bewerken %{s}" -#: src/component/user/edit/dialog.vue:61 src/component/service/edit.vue:79 +#: src/component/user/edit/dialog.vue:62 src/component/service/edit.vue:79 msgid "Edit Account" msgstr "Account bewerken" @@ -1128,8 +1154,8 @@ msgstr "Bewerk Foto" msgid "Edited" msgstr "Bewerkt" -#: src/component/user/add/dialog.vue:151 src/component/user/edit/dialog.vue:213 -#: src/page/settings/account.vue:171 src/page/settings/account.vue:593 +#: src/component/user/add/dialog.vue:152 src/component/user/edit/dialog.vue:214 +#: src/page/settings/account.vue:171 src/page/settings/account.vue:599 msgid "Email" msgstr "E-mail" @@ -1145,7 +1171,7 @@ msgstr "Nieuwe functies inschakelen die mogelijk incompleet of instabiel zijn." msgid "Enables RAW converter presets. May reduce performance." msgstr "Schakelt RAW-converterpresets in. Kan de prestaties verminderen." -#: src/component/settings/passcode.vue:127 +#: src/component/settings/passcode.vue:130 msgid "Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account." msgstr "Het inschakelen van twee-factor authenticatie betekent dat je een willekeurig gegenereerde verificatiecode nodig hebt om in te loggen, dus zelfs als iemand toegang krijgt tot je wachtwoord, zal hij geen toegang kunnen krijgen tot je account." @@ -1157,7 +1183,7 @@ msgstr "Datum invoeren" msgid "Enter dates" msgstr "Data invoeren" -#: src/component/settings/passcode.vue:213 src/page/auth/login.vue:104 +#: src/component/settings/passcode.vue:216 src/page/auth/login.vue:104 msgid "Enter the code generated by your authenticator app:" msgstr "Voer de code in die is gegenereerd door je authenticator app:" @@ -1165,7 +1191,7 @@ msgstr "Voer de code in die is gegenereerd door je authenticator app:" msgid "Enter verification code" msgstr "Verificatiecode invoeren" -#: src/component/settings/apps.vue:109 +#: src/component/settings/apps.vue:112 msgid "Enter your password to confirm the action and continue:" msgstr "Voer je wachtwoord in om de actie te bevestigen en door te gaan:" @@ -1174,7 +1200,7 @@ msgstr "Voer je wachtwoord in om de actie te bevestigen en door te gaan:" msgid "Error" msgstr "Fout" -#: src/app/routes.js:374 src/component/navigation.vue:1348 +#: src/app/routes.js:382 src/component/navigation.vue:1372 msgid "Errors" msgstr "Fouten" @@ -1210,13 +1236,13 @@ msgstr "Metadata-extractie met ExifTool is vereist voor volledige ondersteuning msgid "Experimental Features" msgstr "Experimentele eigenschappen" -#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:453 -#: src/component/service/edit.vue:157 src/component/settings/apps.vue:73 -#: src/component/settings/apps.vue:326 src/component/share/dialog.vue:62 +#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:458 +#: src/component/service/edit.vue:158 src/component/settings/apps.vue:73 +#: src/component/settings/apps.vue:329 src/component/share/dialog.vue:62 msgid "Expires" msgstr "Verloopt" -#: src/component/photo/edit/details.vue:396 +#: src/component/photo/edit/details.vue:370 msgid "Exposure" msgstr "Blootstelling" @@ -1224,7 +1250,7 @@ msgstr "Blootstelling" msgid "Extract still images and generate thumbnails while indexing." msgstr "Foto's extraheren en miniaturen genereren tijdens het indexeren." -#: src/component/photo/edit/details.vue:444 +#: src/component/photo/edit/details.vue:418 msgid "F Number" msgstr "F Aantal" @@ -1240,7 +1266,7 @@ msgstr "Gezichten" msgid "Failed removing link" msgstr "Mislukte verwijderingslink" -#: src/page/connect.vue:106 src/page/connect.vue:110 +#: src/page/connect.vue:107 src/page/connect.vue:111 msgid "Failed to connect account." msgstr "Verbinding met account mislukt." @@ -1248,8 +1274,8 @@ msgstr "Verbinding met account mislukt." msgid "Failed updating link" msgstr "Mislukte actualiseringslink" -#: src/component/user/edit/dialog.vue:143 -#: src/component/user/edit/dialog.vue:144 src/page/settings/account.vue:128 +#: src/component/user/edit/dialog.vue:144 +#: src/component/user/edit/dialog.vue:145 src/page/settings/account.vue:128 #: src/page/settings/account.vue:130 msgid "Family Name" msgstr "Familienaam" @@ -1258,15 +1284,15 @@ msgstr "Familienaam" msgid "Fast" msgstr "Snel" -#: src/component/album/edit/dialog.vue:159 -#: src/component/label/edit/dialog.vue:85 -#: src/component/people/edit/dialog.vue:85 +#: src/component/album/edit/dialog.vue:160 +#: src/component/label/edit/dialog.vue:86 +#: src/component/people/edit/dialog.vue:86 #: src/component/photo/edit/info.vue:287 msgid "Favorite" msgstr "Favoriet" -#: src/app/routes.js:222 src/component/navigation.vue:893 -#: src/options/options.js:202 src/page/albums.vue:97 +#: src/app/routes.js:230 src/component/navigation.vue:903 +#: src/options/options.js:202 src/page/albums.vue:98 msgid "Favorites" msgstr "Favorieten" @@ -1274,7 +1300,7 @@ msgstr "Favorieten" msgid "Feature Request" msgstr "Verzoek voor nieuwe functionaliteit" -#: src/component/navigation.vue:1456 +#: src/component/navigation.vue:1482 msgid "Feedback" msgstr "Feedback" @@ -1282,11 +1308,12 @@ msgstr "Feedback" msgid "Female" msgstr "Vrouw" -#: src/component/photo/edit/info.vue:214 src/model/file.js:290 +#: src/component/photo/edit/info.vue:57 src/component/photo/edit/info.vue:214 +#: src/model/file.js:290 msgid "File" msgstr "Bestand" -#: src/app/routes.js:343 +#: src/app/routes.js:351 msgid "File Browser" msgstr "Bestands Browser" @@ -1309,8 +1336,8 @@ msgstr "Bestandsgrootte" msgid "Filename" msgstr "Bestandsnaam" -#: src/component/navigation.vue:1930 src/component/photo/edit/dialog.vue:267 -#: src/component/photo/edit/dialog.vue:284 +#: src/component/navigation.vue:1973 src/component/photo/edit/dialog.vue:279 +#: src/component/photo/edit/dialog.vue:298 msgid "Files" msgstr "Bestanden" @@ -1322,26 +1349,26 @@ msgstr "Bestanden met opeenvolgende namen zoals 'IMG_1234 (2)' en 'IMG_1234 (3)' msgid "First page" msgstr "Eerste pagina" -#: src/component/photo/edit/details.vue:465 +#: src/component/photo/edit/details.vue:439 msgid "Focal Length" msgstr "Brandpuntsafstand" -#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:118 -#: src/component/service/edit.vue:189 src/component/service/edit.vue:194 -#: src/component/service/upload.vue:90 src/component/service/upload.vue:96 +#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:119 +#: src/component/service/edit.vue:190 src/component/service/edit.vue:195 +#: src/component/service/upload.vue:91 src/component/service/upload.vue:97 #: src/model/folder.js:199 src/page/library/browse.vue:182 msgid "Folder" msgstr "Map" -#: src/page/library/browse.vue:365 +#: src/page/library/browse.vue:367 msgid "Folder contains %{n} files" msgstr "Map bevat %{n} bestanden" -#: src/page/library/browse.vue:356 +#: src/page/library/browse.vue:358 msgid "Folder is empty" msgstr "Map is leeg" -#: src/app/routes.js:202 src/component/navigation.vue:1225 +#: src/app/routes.js:210 src/component/navigation.vue:1247 #: src/options/options.js:207 msgid "Folders" msgstr "Mappen" @@ -1358,7 +1385,7 @@ msgstr "FPS" msgid "Frames" msgstr "Frames" -#: src/options/auth.js:54 src/options/auth.js:64 +#: src/options/auth.js:55 src/options/auth.js:65 msgid "Full Access" msgstr "Volledige Toegang" @@ -1370,7 +1397,7 @@ msgstr "Volledig scherm" msgid "General" msgstr "Algemeen" -#: src/component/settings/apps.vue:364 +#: src/component/settings/apps.vue:367 msgid "Generate" msgstr "Genereren" @@ -1390,8 +1417,8 @@ msgstr "Gegenereerd" msgid "Get Started" msgstr "Aan de slag" -#: src/component/user/edit/dialog.vue:120 -#: src/component/user/edit/dialog.vue:121 src/page/settings/account.vue:106 +#: src/component/user/edit/dialog.vue:121 +#: src/component/user/edit/dialog.vue:122 src/page/settings/account.vue:106 #: src/page/settings/account.vue:108 msgid "Given Name" msgstr "Voornaam" @@ -1416,7 +1443,7 @@ msgstr "Groen" msgid "Grey" msgstr "Grijs" -#: src/options/admin.js:22 src/options/auth.js:10 +#: src/options/admin.js:26 src/options/auth.js:11 msgid "Guest" msgstr "Gast" @@ -1432,15 +1459,15 @@ msgstr "Help" msgid "Help & Support" msgstr "Hulp en Ondersteuning" -#: src/component/navigation.vue:1327 src/component/people/edit/dialog.vue:98 +#: src/component/navigation.vue:1351 src/component/people/edit/dialog.vue:99 msgid "Hidden" msgstr "Verborgen" -#: src/app/routes.js:358 +#: src/app/routes.js:366 msgid "Hidden Files" msgstr "Verborgen bestanden" -#: src/page/people/new.vue:165 src/page/people/recognized.vue:205 +#: src/page/people/new.vue:166 src/page/people/recognized.vue:206 msgid "Hide" msgstr "Verberg" @@ -1456,7 +1483,7 @@ msgstr "Hoog" msgid "High Dynamic Range (HDR)" msgstr "Hoog dynamisch bereik (HDR)" -#: src/page/about/feedback.vue:103 +#: src/page/about/feedback.vue:104 msgid "How can we help?" msgstr "Hoe kunnen we je helpen?" @@ -1464,11 +1491,11 @@ msgstr "Hoe kunnen we je helpen?" msgid "Hybrid" msgstr "Hybride" -#: src/component/settings/passcode.vue:389 +#: src/component/settings/passcode.vue:392 msgid "If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account." msgstr "Als u de toegang tot uw authenticatie-app of -apparaat verliest, kunt u uw herstelcode gebruiken om weer toegang te krijgen tot uw account." -#: src/component/photo/edit/info.vue:63 src/component/photo/edit/labels.vue:46 +#: src/component/photo/edit/info.vue:65 src/component/photo/edit/labels.vue:46 #: src/component/photo/view/cards.vue:532 src/model/file.js:218 #: src/options/options.js:281 msgid "Image" @@ -1478,7 +1505,7 @@ msgstr "Afbeelding" msgid "Image Quality" msgstr "Beeldkwaliteit" -#: src/page/library.vue:46 src/page/library/import.vue:152 +#: src/page/library.vue:46 src/page/library/import.vue:153 #: src/page/settings/general.vue:357 msgid "Import" msgstr "Importeren" @@ -1503,8 +1530,8 @@ msgstr "Importeren van %{s}…" msgid "Importing files to originals…" msgstr "Bestanden importeren uit directory…" -#: src/component/photo/edit/files.vue:515 -#: src/component/photo/edit/files.vue:520 +#: src/component/photo/edit/files.vue:517 +#: src/component/photo/edit/files.vue:522 msgid "in" msgstr "in" @@ -1522,11 +1549,11 @@ msgstr "RAW-beeldbestanden opnemen bij het downloaden van stacks en archieven." msgid "Include sidecar files when downloading stacks and archives." msgstr "Download ook sidecar-bestanden bij het downloaden van stacks en archieven." -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Increase storage size or delete files to continue." msgstr "Vergroot de opslaggrootte of verwijder bestanden om verder te gaan." -#: src/component/navigation.vue:1946 src/page/library.vue:36 +#: src/component/navigation.vue:1990 src/page/library.vue:36 #: src/page/settings/content.vue:34 msgid "Index" msgstr "Index" @@ -1556,11 +1583,11 @@ msgstr "Informatie" msgid "Instance ID" msgstr "Instantie-ID" -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Insufficient storage." msgstr "Onvoldoende opslag." -#: src/component/service/edit.vue:209 +#: src/component/service/edit.vue:210 msgid "Interval" msgstr "Interval" @@ -1581,7 +1608,7 @@ msgstr "Ongeldig adres" msgid "Invalid country" msgstr "Ongeldig land" -#: src/component/photo/edit/details.vue:174 +#: src/component/photo/edit/details.vue:169 msgid "Invalid date" msgstr "Ongeldige datum" @@ -1590,7 +1617,7 @@ msgstr "Ongeldige datum" msgid "Invalid parameters" msgstr "Ongeldige parameters" -#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:197 +#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:199 msgid "Invalid photo selected" msgstr "Ongeldige foto geselecteerd" @@ -1602,8 +1629,8 @@ msgstr "Ongeldige tijd" msgid "Invalid URL" msgstr "Ongeldige URL" -#: src/component/settings/passcode.vue:314 -#: src/component/settings/passcode.vue:391 +#: src/component/settings/passcode.vue:317 +#: src/component/settings/passcode.vue:394 msgid "It is a one-time use code that will disable 2FA for your account when you use it." msgstr "Het is een eenmalige code die 2FA voor je account uitschakelt als je hem gebruikt." @@ -1627,7 +1654,7 @@ msgstr "JPEG-groottegrens: %{n}px" msgid "JPEGs and thumbnails are automatically rendered as needed." msgstr "JPEG's en thumbnails worden automatisch weergegeven als dat nodig is." -#: src/component/photo/edit/details.vue:581 +#: src/component/photo/edit/details.vue:555 msgid "Keywords" msgstr "Trefwoorden" @@ -1636,9 +1663,9 @@ msgstr "Trefwoorden" msgid "Label" msgstr "Label" -#: src/app/routes.js:389 src/component/navigation.vue:1177 -#: src/component/photo/edit/dialog.vue:188 -#: src/component/photo/edit/dialog.vue:205 src/options/options.js:206 +#: src/app/routes.js:397 src/component/navigation.vue:1197 +#: src/component/photo/edit/dialog.vue:196 +#: src/component/photo/edit/dialog.vue:215 src/options/options.js:206 #: src/page/settings/general.vue:255 msgid "Labels" msgstr "Labels" @@ -1655,11 +1682,11 @@ msgstr "Lanczos: Detailbewaring, Minimale artefacten" msgid "Language" msgstr "Taal" -#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:435 +#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:440 msgid "Last Active" msgstr "Laatste actief" -#: src/page/admin/users.vue:81 +#: src/page/admin/users.vue:83 msgid "Last Login" msgstr "Laatste aanmelding" @@ -1675,42 +1702,41 @@ msgstr "Laatste synchronisatie" msgid "Last Used" msgstr "Laatst gebruikt" -#: src/component/photo/edit/details.vue:298 #: src/component/photo/edit/info.vue:373 msgid "Latitude" msgstr "Breedtegraad" -#: src/options/admin.js:43 src/options/auth.js:29 +#: src/options/admin.js:47 src/options/auth.js:30 msgid "LDAP/AD" msgstr "LDAP/AD" -#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:86 -#: src/page/about/about.vue:62 src/page/about/about.vue:132 +#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:87 +#: src/page/about/about.vue:62 src/page/about/about.vue:133 #: src/page/connect.vue:67 src/page/help.vue:36 msgid "Learn more" msgstr "Meer informatie" -#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:135 +#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:137 #: src/page/labels.vue:132 msgid "Learn More" msgstr "Meer leren" -#: src/component/navigation.vue:2017 +#: src/component/navigation.vue:2066 msgid "Legal Information" msgstr "Juridische informatie" -#: src/component/photo/edit/details.vue:417 +#: src/component/photo/edit/details.vue:391 #: src/component/photo/view/cards.vue:480 msgid "Lens" msgstr "Lens" -#: src/app/routes.js:443 src/app/routes.js:459 src/app/routes.js:475 -#: src/component/navigation.vue:1267 src/page/settings/general.vue:507 +#: src/app/routes.js:451 src/app/routes.js:467 src/app/routes.js:483 +#: src/component/navigation.vue:1290 src/page/settings/general.vue:507 msgid "Library" msgstr "Bibliotheek" #: src/page/connect.vue:45 src/app/routes.js:69 -#: src/component/navigation.vue:1478 src/component/photo/edit/details.vue:559 +#: src/component/navigation.vue:1504 src/component/photo/edit/details.vue:533 #: src/page/about/license.vue:28 msgid "License" msgstr "Licentie" @@ -1723,7 +1749,7 @@ msgstr "Vind ik leuk" msgid "Lime" msgstr "Limoen" -#: src/page/library/browse.vue:369 +#: src/page/library/browse.vue:371 msgid "Limit reached, showing first %{n} files" msgstr "Limiet bereikt, toont eerste %{n} bestanden" @@ -1731,7 +1757,7 @@ msgstr "Limiet bereikt, toont eerste %{n} bestanden" msgid "Linear: Very Smooth, Best Performance" msgstr "Lineair: Zeer glad, beste prestaties" -#: src/model/link.js:117 src/options/auth.js:30 src/options/auth.js:31 +#: src/model/link.js:117 src/options/auth.js:31 src/options/auth.js:32 msgid "Link" msgstr "Link" @@ -1749,7 +1775,7 @@ msgstr "Lijstweergave" msgid "Live" msgstr "Live" -#: src/app/routes.js:236 src/component/navigation.vue:749 +#: src/app/routes.js:244 src/component/navigation.vue:755 msgid "Live Photos" msgstr "Live foto's" @@ -1765,21 +1791,24 @@ msgstr "Artikelen laden..." msgid "Loading..." msgstr "Aan het laden..." -#: src/options/admin.js:35 src/options/auth.js:22 src/options/auth.js:27 +#: src/options/admin.js:39 src/options/auth.js:23 src/options/auth.js:28 #: src/options/options.js:38 src/page/settings/general.vue:107 msgid "Local" msgstr "Lokaal" -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Local Time" msgstr "Lokale tijd" -#: src/page/settings/account.vue:665 src/page/settings/account.vue:667 -#: src/component/album/edit/dialog.vue:92 src/component/photo/edit/info.vue:65 -#: src/component/photo/edit/labels.vue:48 +#: src/page/settings/account.vue:671 src/page/settings/account.vue:673 +#: src/component/album/edit/dialog.vue:93 +#: src/component/photo/edit/details.vue:38 +#: src/component/photo/edit/details.vue:116 +#: src/component/photo/edit/details.vue:210 +#: src/component/photo/edit/info.vue:67 src/component/photo/edit/labels.vue:48 #: src/component/photo/view/cards.vue:555 src/component/photo/view/list.vue:117 -#: src/component/sidebar/info.vue:107 src/page/albums.vue:99 -#: src/page/settings/account.vue:557 src/page/settings/account.vue:559 +#: src/component/sidebar/info.vue:107 src/page/albums.vue:100 +#: src/page/settings/account.vue:563 src/page/settings/account.vue:565 msgid "Location" msgstr "Locatie" @@ -1787,20 +1816,19 @@ msgstr "Locatie" msgid "Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues." msgstr "Logboekberichten verschijnen hier wanneer PhotoPrism op gebroken bestanden stuit, of wanneer er andere potentiële problemen zijn." -#: src/component/navigation.vue:1552 src/component/navigation.vue:1840 +#: src/component/navigation.vue:1579 src/component/navigation.vue:1877 msgid "Login" msgstr "Log in" -#: src/component/navigation.vue:1759 +#: src/component/navigation.vue:1791 msgid "Logout" msgstr "Log uit" -#: src/component/navigation.vue:1962 src/page/library.vue:59 +#: src/component/navigation.vue:2007 src/page/library.vue:59 #: src/page/settings/general.vue:557 msgid "Logs" msgstr "Logboeken" -#: src/component/photo/edit/details.vue:324 #: src/component/photo/edit/info.vue:379 msgid "Longitude" msgstr "Lengtegraad" @@ -1813,7 +1841,7 @@ msgstr "Laag" msgid "Magenta" msgstr "Magenta" -#: src/component/photo/edit/files.vue:489 +#: src/component/photo/edit/files.vue:491 msgid "Main Color" msgstr "Hoofdkleur" @@ -1821,12 +1849,16 @@ msgstr "Hoofdkleur" msgid "Male" msgstr "Man" -#: src/page/connect.vue:164 src/page/connect.vue:246 -#: src/page/about/about.vue:171 src/page/connect.vue:168 -#: src/page/connect.vue:255 +#: src/page/connect.vue:165 src/page/connect.vue:248 +#: src/page/about/about.vue:173 src/page/connect.vue:169 +#: src/page/connect.vue:257 msgid "Manage Account" msgstr "Account beheren" +#: src/options/admin.js:10 src/options/auth.js:7 +msgid "Manager" +msgstr "Manager" + #: src/component/photo/edit/info.vue:49 src/component/photo/edit/labels.vue:38 msgid "Manual" msgstr "Handmatig" @@ -1843,11 +1875,11 @@ msgstr "Kaarten" msgid "Marker" msgstr "Symbool" -#: src/component/user/add/dialog.vue:69 +#: src/component/user/add/dialog.vue:70 msgid "Maximum number of accounts has been reached." msgstr "Het maximum aantal accounts is bereikt." -#: src/app/routes.js:229 src/component/navigation.vue:688 +#: src/app/routes.js:237 src/component/navigation.vue:693 #: src/options/options.js:199 msgid "Media" msgstr "Media" @@ -1864,7 +1896,7 @@ msgstr "Lidmaatschap" msgid "Merge %{a} with %{b}?" msgstr "%{a} samenvoegen met %{b}?" -#: src/page/about/feedback.vue:102 +#: src/page/about/feedback.vue:103 msgid "Message" msgstr "Bericht" @@ -1876,7 +1908,7 @@ msgstr "Bericht verzonden" msgid "Metadata" msgstr "Metagegevens" -#: src/options/auth.js:56 src/options/auth.js:72 +#: src/options/auth.js:57 src/options/auth.js:73 msgid "Metrics" msgstr "Metrieken" @@ -1884,7 +1916,7 @@ msgstr "Metrieken" msgid "Minimize" msgstr "Minimaliseren" -#: src/component/photo/edit/files.vue:509 src/component/photo/edit/info.vue:367 +#: src/component/photo/edit/files.vue:511 src/component/photo/edit/info.vue:367 msgid "Missing" msgstr "Ontbrekend" @@ -1892,17 +1924,17 @@ msgstr "Ontbrekend" msgid "Missing or invalid configuration" msgstr "Ontbrekende of ongeldige configuratie" -#: src/app/routes.js:163 src/component/navigation.vue:1129 +#: src/app/routes.js:171 src/component/navigation.vue:1147 #: src/options/options.js:205 src/page/settings/general.vue:230 msgid "Moments" msgstr "Momenten" -#: src/component/navigation.vue:383 +#: src/component/navigation.vue:385 msgid "Monochrome" msgstr "Monochroom" -#: src/page/settings/account.vue:475 src/component/photo/edit/details.vue:137 -#: src/component/photo/toolbar.vue:342 +#: src/page/settings/account.vue:481 src/component/photo/edit/details.vue:139 +#: src/component/photo/toolbar.vue:344 msgid "Month" msgstr "Maand" @@ -1922,7 +1954,7 @@ msgstr "Meest relevant" msgid "Move Files" msgstr "Bestanden verplaatsen" -#: src/component/settings/password.vue:107 +#: src/component/settings/password.vue:108 msgid "Must have at least %{n} characters." msgstr "Moet minstens %{n} tekens bevatten." @@ -1930,20 +1962,20 @@ msgstr "Moet minstens %{n} tekens bevatten." msgid "Mute" msgstr "Stomme" -#: src/page/about/feedback.vue:121 src/page/about/feedback.vue:122 -#: src/component/album/edit/dialog.vue:77 -#: src/component/label/edit/dialog.vue:71 -#: src/component/people/edit/dialog.vue:71 -#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:57 +#: src/page/about/feedback.vue:122 src/page/about/feedback.vue:123 +#: src/component/album/edit/dialog.vue:78 +#: src/component/label/edit/dialog.vue:72 +#: src/component/people/edit/dialog.vue:72 +#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:59 #: src/component/photo/edit/info.vue:125 src/component/photo/edit/people.vue:36 -#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:310 -#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:286 -#: src/page/albums.vue:98 src/page/auth/login.vue:168 +#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:311 +#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:289 +#: src/page/albums.vue:99 src/page/auth/login.vue:168 #: src/page/people/new.vue:68 src/page/settings/services.vue:37 msgid "Name" msgstr "Naam" -#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:60 +#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:65 #: src/component/label/edit/dialog.vue:19 #: src/component/people/edit/dialog.vue:19 #: src/component/photo/edit/labels.vue:30 @@ -1953,7 +1985,7 @@ msgstr "Naam" msgid "Name too long" msgstr "Titel is te lang" -#: src/page/admin/users.vue:204 src/options/options.js:361 +#: src/page/admin/users.vue:206 src/options/options.js:361 #: src/options/options.js:371 src/page/settings/services.vue:75 msgid "Never" msgstr "Nooit" @@ -1962,13 +1994,13 @@ msgstr "Nooit" msgid "New" msgstr "Nieuw" -#: src/component/settings/password.vue:106 +#: src/component/settings/password.vue:107 msgid "New Password" msgstr "Nieuw wachtwoord" #: src/component/album/edit/dialog.vue:24 src/component/photo/toolbar.vue:114 #: src/component/photo/toolbar.vue:126 src/component/photo/toolbar.vue:136 -#: src/page/albums.vue:100 +#: src/page/albums.vue:101 msgid "Newest First" msgstr "Nieuwste eerst" @@ -1984,15 +2016,15 @@ msgstr "Volgende" msgid "Next visual" msgstr "Volgende visualisatie" -#: src/component/people/merge/dialog.vue:47 -#: src/component/photo/archive/dialog.vue:47 +#: src/component/people/merge/dialog.vue:48 +#: src/component/photo/archive/dialog.vue:48 #: src/component/photo/edit/info.vue:281 src/component/photo/edit/info.vue:297 #: src/component/photo/edit/info.vue:313 src/component/photo/edit/info.vue:329 #: src/component/photo/edit/info.vue:344 msgid "No" msgstr "Nee" -#: src/page/albums.vue:607 src/page/albums.vue:282 +#: src/page/albums.vue:612 src/page/albums.vue:282 msgid "No albums found" msgstr "Geen albums gevonden" @@ -2000,7 +2032,7 @@ msgstr "Geen albums gevonden" msgid "No data available" msgstr "Geen gegevens beschikbaar" -#: src/page/labels.vue:523 src/page/labels.vue:155 +#: src/page/labels.vue:528 src/page/labels.vue:155 msgid "No labels found" msgstr "%{n} labels gevonden" @@ -2013,15 +2045,15 @@ msgid "No more" msgstr "Niet meer" #: src/component/photo/edit/people.vue:34 src/page/people/new.vue:346 -#: src/page/people/new.vue:443 src/page/people/new.vue:103 -#: src/page/people/recognized.vue:531 src/page/people/recognized.vue:146 +#: src/page/people/new.vue:446 src/page/people/new.vue:103 +#: src/page/people/recognized.vue:536 src/page/people/recognized.vue:146 msgid "No people found" msgstr "Geen mensen gevonden" #: src/component/lightbox.vue:365 src/component/photo/view/cards.vue:144 #: src/component/photo/view/list.vue:82 src/component/photo/view/mosaic.vue:68 -#: src/page/album/photos.vue:488 src/page/library/browse.vue:123 -#: src/page/photos.vue:626 src/page/places.vue:624 src/page/places.vue:730 +#: src/page/album/photos.vue:499 src/page/library/browse.vue:123 +#: src/page/photos.vue:636 src/page/places.vue:624 src/page/places.vue:730 msgid "No pictures found" msgstr "Geen foto's gevonden" @@ -2030,7 +2062,11 @@ msgstr "Geen foto's gevonden" msgid "No recently edited pictures" msgstr "Geen recent bewerkte foto's" -#: src/component/navigation.vue:1655 +#: src/component/location/dialog.vue:166 +msgid "No results" +msgstr "Geen resultaten" + +#: src/component/navigation.vue:1686 msgid "No server connection" msgstr "Geen serververbinding" @@ -2042,7 +2078,7 @@ msgstr "Geen servers geconfigureerd." msgid "No services configured." msgstr "Geen diensten geconfigureerd." -#: src/component/confirm/sponsor.vue:72 +#: src/component/confirm/sponsor.vue:73 msgid "No thanks" msgstr "Nee bedankt" @@ -2052,17 +2088,17 @@ msgstr "Geen waarschuwingen of fouten met dit trefwoord. Let op: zoeken is hoofd #: src/component/photo/view/cards.vue:154 src/component/photo/view/list.vue:59 #: src/component/photo/view/list.vue:92 src/component/photo/view/mosaic.vue:78 -#: src/component/upload/dialog.vue:208 +#: src/component/upload/dialog.vue:210 msgid "Non-photographic and low-quality images require a review before they appear in search results." msgstr "Niet-fotografische beelden en beelden van lage kwaliteit moeten worden beoordeeld voordat ze in de zoekresultaten verschijnen." -#: src/options/admin.js:47 src/options/auth.js:32 src/options/options.js:212 +#: src/options/admin.js:51 src/options/auth.js:33 src/options/options.js:212 #: src/options/options.js:328 msgid "None" msgstr "Geen" -#: src/common/util.js:853 src/component/lightbox.vue:633 -#: src/component/service/upload.vue:75 src/component/service/upload.vue:87 +#: src/component/lightbox.vue:633 src/component/service/upload.vue:75 +#: src/component/service/upload.vue:87 msgid "Not allowed" msgstr "Niet toegestaan" @@ -2074,8 +2110,7 @@ msgstr "Niet gevonden" msgid "Not sorted." msgstr "Niet gesorteerd." -#: src/common/util.js:858 src/component/lightbox.vue:627 -#: src/component/lightbox.vue:744 +#: src/component/lightbox.vue:627 src/component/lightbox.vue:744 msgid "Not supported" msgstr "Niet ondersteund" @@ -2083,15 +2118,15 @@ msgstr "Niet ondersteund" msgid "Note you may manually manage your originals folder and importing is optional." msgstr "Let op: u kunt uw originelenmap handmatig beheren en importeren is optioneel." -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "Note:" msgstr "Notitie:" -#: src/component/service/add.vue:120 +#: src/component/service/add.vue:121 msgid "Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload." msgstr "Opmerking: Alleen WebDAV-servers, zoals Nextcloud of PhotoPrism, kunnen worden geconfigureerd als service op afstand voor het maken van back-ups en het uploaden van bestanden." -#: src/component/photo/edit/details.vue:603 +#: src/component/photo/edit/details.vue:577 msgid "Notes" msgstr "Notities" @@ -2099,8 +2134,8 @@ msgstr "Notities" msgid "Nothing to see here yet." msgstr "Hier is nog niets te zien." -#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:115 -#: src/component/settings/apps.vue:390 +#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:125 +#: src/component/settings/apps.vue:393 msgid "Nothing was found." msgstr "Er is niets gevonden." @@ -2108,7 +2143,7 @@ msgstr "Er is niets gevonden." msgid "Offline" msgstr "Offline" -#: src/options/admin.js:39 src/options/auth.js:28 +#: src/options/admin.js:43 src/options/auth.js:29 msgid "OIDC" msgstr "OIDC" @@ -2118,11 +2153,11 @@ msgstr "OK" #: src/component/album/edit/dialog.vue:25 src/component/photo/toolbar.vue:115 #: src/component/photo/toolbar.vue:127 src/component/photo/toolbar.vue:137 -#: src/page/albums.vue:101 +#: src/page/albums.vue:102 msgid "Oldest First" msgstr "Oudste eerst" -#: src/component/settings/webdav.vue:77 +#: src/component/settings/webdav.vue:78 msgid "On Windows, enter the following resource in the connection dialog:" msgstr "In Windows voert u de volgende bron in het verbindingsdialoogvenster in:" @@ -2134,11 +2169,11 @@ msgstr "Het op aanvraag genereren van miniaturen kan een hoog CPU- en geheugenge msgid "Once a week" msgstr "Eenmaal per week" -#: src/page/albums.vue:609 +#: src/page/albums.vue:614 msgid "One album found" msgstr "Een album gevonden" -#: src/page/library/browse.vue:358 +#: src/page/library/browse.vue:360 msgid "One file found" msgstr "Een album gevonden" @@ -2146,24 +2181,24 @@ msgstr "Een album gevonden" msgid "One file uploaded" msgstr "Eén bestand geüpload" -#: src/page/library/browse.vue:360 +#: src/page/library/browse.vue:362 msgid "One folder found" msgstr "Een album gevonden" -#: src/page/labels.vue:525 +#: src/page/labels.vue:530 msgid "One label found" msgstr "Een etiket gevonden" -#: src/page/people/new.vue:348 src/page/people/new.vue:445 -#: src/page/people/recognized.vue:533 +#: src/page/people/new.vue:348 src/page/people/new.vue:448 +#: src/page/people/recognized.vue:538 msgid "One person found" msgstr "Eén persoon vond" -#: src/page/album/photos.vue:490 src/page/photos.vue:628 +#: src/page/album/photos.vue:501 src/page/photos.vue:638 msgid "One picture found" msgstr "Een foto gevonden" -#: src/component/settings/passcode.vue:478 +#: src/component/settings/passcode.vue:481 msgid "Only locally managed accounts can be set up for authentication with 2FA." msgstr "Alleen lokaal beheerde accounts kunnen worden ingesteld voor verificatie met 2FA." @@ -2171,7 +2206,7 @@ msgstr "Alleen lokaal beheerde accounts kunnen worden ingesteld voor verificatie msgid "Open" msgstr "Open" -#: src/component/service/add.vue:86 src/component/service/add.vue:107 +#: src/component/service/add.vue:87 src/component/service/add.vue:108 msgid "optional" msgstr "optioneel" @@ -2183,7 +2218,7 @@ msgstr "of" msgid "Orange" msgstr "Oranje" -#: src/page/settings/account.vue:571 src/page/settings/account.vue:573 +#: src/page/settings/account.vue:577 src/page/settings/account.vue:579 msgid "Organization" msgstr "Organisatie" @@ -2199,7 +2234,7 @@ msgstr "Originele bestandsnamen worden opgeslagen en geïndexeerd." msgid "Original Name" msgstr "Originele naam" -#: src/component/navigation.vue:1304 src/model/file.js:196 +#: src/component/navigation.vue:1328 src/model/file.js:196 #: src/options/options.js:413 src/page/library/browse.vue:65 #: src/page/settings/content.vue:356 src/page/settings/general.vue:532 msgid "Originals" @@ -2210,7 +2245,7 @@ msgstr "Originelen" msgid "Other" msgstr "Andere" -#: src/page/about/about.vue:77 src/page/about/about.vue:83 +#: src/page/about/about.vue:78 src/page/about/about.vue:84 msgid "Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible." msgstr "Onze missie is om de meest gebruiks- en privacyvriendelijke oplossing te bieden om uw foto's georganiseerd en toegankelijk te houden." @@ -2222,7 +2257,7 @@ msgstr "Outdoor" msgid "Page {0}, Current page" msgstr "Pagina {0}, Huidige pagina" -#: src/component/photo/edit/files.vue:352 src/model/photo.js:859 +#: src/component/photo/edit/files.vue:352 src/model/photo.js:896 msgid "Pages" msgstr "Pagina's" @@ -2234,15 +2269,15 @@ msgstr "Navigatie met paginering" msgid "Panorama" msgstr "Panorama" -#: src/component/navigation.vue:402 +#: src/component/navigation.vue:404 msgid "Panoramas" msgstr "Panorama's" -#: src/component/user/add/dialog.vue:114 src/component/user/add/dialog.vue:115 -#: src/component/service/add.vue:106 src/component/service/edit.vue:352 -#: src/component/settings/apps.vue:121 src/component/settings/passcode.vue:106 -#: src/component/settings/passcode.vue:413 src/component/share/dialog.vue:27 -#: src/options/auth.js:91 src/page/auth/login.vue:196 +#: src/component/user/add/dialog.vue:115 src/component/user/add/dialog.vue:116 +#: src/component/service/add.vue:107 src/component/service/edit.vue:353 +#: src/component/settings/apps.vue:124 src/component/settings/passcode.vue:109 +#: src/component/settings/passcode.vue:416 src/component/share/dialog.vue:27 +#: src/options/auth.js:92 src/page/auth/login.vue:196 msgid "Password" msgstr "Wachtwoord" @@ -2250,9 +2285,9 @@ msgstr "Wachtwoord" msgid "Password changed" msgstr "Wachtwoord gewijzigd" -#: src/app/routes.js:404 src/app/routes.js:428 src/component/navigation.vue:845 -#: src/component/navigation.vue:1898 src/component/photo/edit/dialog.vue:228 -#: src/component/photo/edit/dialog.vue:245 src/options/options.js:201 +#: src/app/routes.js:412 src/app/routes.js:436 src/component/navigation.vue:853 +#: src/component/navigation.vue:1939 src/component/photo/edit/dialog.vue:238 +#: src/component/photo/edit/dialog.vue:257 src/options/options.js:201 #: src/page/settings/general.vue:180 msgid "People" msgstr "Personen" @@ -2273,23 +2308,23 @@ msgstr "Bestanden permanent verwijderen om opslagruimte vrij te maken." msgid "Person" msgstr "Persoon" -#: src/options/auth.js:42 +#: src/options/auth.js:43 msgid "Personal" msgstr "Persoonlijk" -#: src/model/photo.js:1273 +#: src/model/photo.js:1310 msgid "Photo" msgstr "Foto" -#: src/page/about/about.vue:156 +#: src/page/about/about.vue:158 msgid "PhotoPrism is 100% self-funded and independent." msgstr "PhotoPrism is 100% zelf gefinancierd en onafhankelijk." -#: src/page/about/about.vue:92 +#: src/page/about/about.vue:93 msgid "PhotoPrism+ Membership" msgstr "PhotoPrism+ lidmaatschap" -#: src/app/routes.js:156 +#: src/app/routes.js:164 msgid "Photos" msgstr "Foto’s" @@ -2310,27 +2345,27 @@ msgstr "Plaats" msgid "Place & Time" msgstr "Plaats en Tijd" -#: src/app/routes.js:303 src/app/routes.js:309 src/app/routes.js:315 -#: src/app/routes.js:330 src/component/navigation.vue:986 -#: src/component/navigation.vue:1914 src/options/options.js:203 +#: src/app/routes.js:311 src/app/routes.js:317 src/app/routes.js:323 +#: src/app/routes.js:338 src/component/navigation.vue:999 +#: src/component/navigation.vue:1956 src/options/options.js:203 #: src/page/places.vue:51 src/page/settings/general.vue:609 #: src/page/settings/general.vue:638 msgid "Places" msgstr "Locaties" -#: src/component/settings/password.vue:129 +#: src/component/settings/password.vue:130 msgid "Please confirm your new password." msgstr "Bevestig uw nieuwe wachtwoord." -#: src/component/settings/apps.vue:185 +#: src/component/settings/apps.vue:188 msgid "Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:" msgstr "Kopieer het volgende willekeurig gegenereerde app-wachtwoord en bewaar het op een veilige plaats, want je zult het niet meer kunnen zien:" -#: src/component/upload/dialog.vue:203 +#: src/component/upload/dialog.vue:205 msgid "Please do not upload any private, unlawful or offensive pictures." msgstr "Upload geen foto's die privé, onwettig of aanstootgevend zijn." -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Please don't upload photos containing offensive content." msgstr "Upload geen foto's met aanstootgevende inhoud." @@ -2338,11 +2373,11 @@ msgstr "Upload geen foto's met aanstootgevende inhoud." msgid "Please enter OTP character {0}" msgstr "Voer OTP-teken {0} in" -#: src/component/settings/password.vue:66 +#: src/component/settings/password.vue:67 msgid "Please note that changing your password will log you out on other devices and browsers." msgstr "Houd er rekening mee dat het wijzigen van uw wachtwoord u zal afmelden op andere apparaten en browsers." -#: src/page/connect.vue:148 src/page/connect.vue:152 +#: src/page/connect.vue:149 src/page/connect.vue:153 msgid "Please restart your instance for the changes to take effect." msgstr "Start uw instantie opnieuw op om de wijzigingen van kracht te maken." @@ -2362,11 +2397,11 @@ msgstr "PNG-groottegrens: %{n}px" msgid "Portrait" msgstr "Staand" -#: src/component/service/edit.vue:273 +#: src/component/service/edit.vue:274 msgid "Preserve filenames" msgstr "Bewaar bestandsnamen" -#: src/component/upload/dialog.vue:162 +#: src/component/upload/dialog.vue:164 msgid "Press enter to create a new album." msgstr "Druk op enter om een nieuw album te maken." @@ -2403,8 +2438,8 @@ msgstr "Vorige visualisatie" msgid "Primary" msgstr "Primair" -#: src/app/routes.js:271 src/component/album/edit/dialog.vue:176 -#: src/component/navigation.vue:531 src/component/photo/edit/info.vue:303 +#: src/app/routes.js:279 src/component/album/edit/dialog.vue:177 +#: src/component/navigation.vue:533 src/component/photo/edit/info.vue:303 #: src/page/settings/general.vue:280 msgid "Private" msgstr "Privé" @@ -2429,7 +2464,7 @@ msgstr "Kwaliteitsfilter" msgid "Quality Score" msgstr "Kwaliteitsscore" -#: src/page/admin/users.vue:169 +#: src/page/admin/users.vue:171 msgid "r" msgstr "r" @@ -2460,7 +2495,7 @@ msgstr "Alleen-lezen modus" #: src/component/album/edit/dialog.vue:26 src/component/photo/toolbar.vue:116 #: src/component/photo/toolbar.vue:128 src/component/photo/toolbar.vue:138 -#: src/page/albums.vue:102 +#: src/page/albums.vue:103 msgid "Recently Added" msgstr "Onlangs toegevoegd" @@ -2468,7 +2503,7 @@ msgstr "Onlangs toegevoegd" msgid "Recently Archived" msgstr "Onlangs gearchiveerd" -#: src/component/photo/toolbar.vue:139 src/page/albums.vue:103 +#: src/component/photo/toolbar.vue:139 src/page/albums.vue:104 msgid "Recently Edited" msgstr "Recent bewerkt" @@ -2493,24 +2528,24 @@ msgstr "Herstelcode" msgid "Red" msgstr "Rood" -#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:126 -#: src/component/album/toolbar.vue:79 src/component/photo/toolbar.vue:169 -#: src/page/albums.vue:173 src/page/labels.vue:112 +#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:128 +#: src/component/album/toolbar.vue:84 src/component/photo/toolbar.vue:169 +#: src/page/albums.vue:175 src/page/labels.vue:112 #: src/page/library/browse.vue:90 src/page/library/errors.vue:81 #: src/page/people/new.vue:54 src/page/people/recognized.vue:88 msgid "Refresh" msgstr "Vernieuw" -#: src/app/routes.js:337 src/component/navigation.vue:943 -#: src/component/navigation.vue:1026 +#: src/app/routes.js:345 src/component/navigation.vue:955 +#: src/component/navigation.vue:1040 msgid "Regions" msgstr "Regio's" -#: src/page/connect.vue:275 src/page/connect.vue:284 +#: src/page/connect.vue:277 src/page/connect.vue:286 msgid "Register" msgstr "Registreer" -#: src/component/navigation.vue:1773 src/component/update.vue:68 +#: src/component/navigation.vue:1806 src/component/update.vue:68 msgid "Reload" msgstr "Ververs" @@ -2555,34 +2590,34 @@ msgstr "Eis dat niet-fotografische afbeeldingen en afbeeldingen van lage kwalite msgid "Resolution" msgstr "Resolutie" -#: src/page/connect.vue:179 src/page/connect.vue:183 +#: src/page/connect.vue:180 src/page/connect.vue:184 #: src/page/settings/advanced.vue:782 msgid "Restart" msgstr "Herstart" -#: src/component/user/edit/dialog.vue:485 src/component/lightbox.vue:1221 +#: src/component/user/edit/dialog.vue:488 src/component/lightbox.vue:1221 #: src/component/photo/clipboard.vue:77 msgid "Restore" msgstr "Herstellen" -#: src/component/lightbox.vue:2000 +#: src/component/lightbox.vue:2020 msgid "Restored" msgstr "Gerestaureerd" -#: src/component/service/edit.vue:428 +#: src/component/service/edit.vue:429 msgid "Retry Limit" msgstr "Herhaal Limiet" -#: src/component/settings/password.vue:128 +#: src/component/settings/password.vue:129 msgid "Retype Password" msgstr "Herhaal je wachtwoord" -#: src/app/routes.js:264 src/component/navigation.vue:505 +#: src/app/routes.js:272 src/component/navigation.vue:507 msgid "Review" msgstr "Beoordeling" -#: src/component/user/add/dialog.vue:171 src/component/user/edit/dialog.vue:284 -#: src/page/admin/sessions.vue:262 src/page/admin/users.vue:73 +#: src/component/user/add/dialog.vue:172 src/component/user/edit/dialog.vue:285 +#: src/page/admin/sessions.vue:263 src/page/admin/users.vue:75 msgid "Role" msgstr "Rol" @@ -2594,11 +2629,11 @@ msgstr "Rijen per pagina:" msgid "Satellite" msgstr "Satelliet" -#: src/component/user/edit/dialog.vue:485 -#: src/component/album/edit/dialog.vue:211 -#: src/component/label/edit/dialog.vue:119 -#: src/component/people/edit/dialog.vue:132 src/component/service/edit.vue:466 -#: src/component/settings/password.vue:172 src/component/share/dialog.vue:181 +#: src/component/user/edit/dialog.vue:488 +#: src/component/album/edit/dialog.vue:212 +#: src/component/label/edit/dialog.vue:120 +#: src/component/people/edit/dialog.vue:133 src/component/service/edit.vue:467 +#: src/component/settings/password.vue:173 src/component/share/dialog.vue:181 msgid "Save" msgstr "Opslaan" @@ -2606,23 +2641,23 @@ msgstr "Opslaan" msgid "Scan" msgstr "Scan" -#: src/component/settings/passcode.vue:179 +#: src/component/settings/passcode.vue:182 msgid "Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:" msgstr "Scan de QR-code met je authenticatie-app of gebruik de onderstaande sleutel en voer vervolgens de gegenereerde verificatiecode in:" -#: src/component/navigation.vue:461 +#: src/component/navigation.vue:463 msgid "Scans" msgstr "Scans" -#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:377 -#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:310 +#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:381 +#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:313 msgid "Scope" msgstr "Toepassingsgebied" -#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:62 -#: src/component/navigation.vue:342 src/component/navigation.vue:1866 -#: src/component/photo/toolbar.vue:57 src/options/options.js:197 -#: src/page/albums.vue:100 src/page/labels.vue:77 +#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:69 +#: src/component/location/dialog.vue:133 src/component/navigation.vue:343 +#: src/component/navigation.vue:1905 src/component/photo/toolbar.vue:57 +#: src/options/options.js:197 src/page/albums.vue:100 src/page/labels.vue:77 #: src/page/library/errors.vue:76 src/page/people/recognized.vue:66 #: src/page/places.vue:79 src/page/settings/content.vue:235 msgid "Search" @@ -2660,11 +2695,11 @@ msgstr "Selecteer datum" msgid "Select dates" msgstr "Kies data" -#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:154 +#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:156 msgid "Select or create an album" msgstr "Een album kiezen of maken" -#: src/component/upload/dialog.vue:138 +#: src/component/upload/dialog.vue:140 msgid "Select the files to upload…" msgstr "Selecteer de bestanden die je wilt uploaden…" @@ -2692,7 +2727,7 @@ msgstr "Selectie hersteld" msgid "Sequential Name" msgstr "Opeenvolgende naam" -#: src/component/service/add.vue:67 src/component/service/edit.vue:322 +#: src/component/service/add.vue:68 src/component/service/edit.vue:323 #: src/component/share/dialog.vue:25 msgid "Service URL" msgstr "Service URL" @@ -2701,7 +2736,7 @@ msgstr "Service URL" msgid "Services" msgstr "Diensten" -#: src/model/session.js:107 src/options/auth.js:41 src/options/auth.js:90 +#: src/model/session.js:107 src/options/auth.js:42 src/options/auth.js:91 msgid "Session" msgstr "Sessie" @@ -2709,7 +2744,7 @@ msgstr "Sessie" msgid "Session ID" msgstr "Sessie-ID" -#: src/page/admin.vue:45 +#: src/page/admin.vue:44 msgid "Sessions" msgstr "Sessies" @@ -2717,22 +2752,22 @@ msgstr "Sessies" msgid "Set as Album Cover" msgstr "Ingesteld als albumhoes" -#: src/app/routes.js:101 src/app/routes.js:492 src/app/routes.js:504 -#: src/app/routes.js:521 src/app/routes.js:534 src/app/routes.js:547 -#: src/component/navigation.vue:1394 src/component/navigation.vue:1806 +#: src/app/routes.js:101 src/app/routes.js:500 src/app/routes.js:512 +#: src/app/routes.js:529 src/app/routes.js:542 src/app/routes.js:555 +#: src/component/navigation.vue:1419 src/component/navigation.vue:1841 msgid "Settings" msgstr "Instellingen" #: src/page/settings/account.vue:115 src/page/settings/account.vue:144 -#: src/component/settings/passcode.vue:147 +#: src/component/settings/passcode.vue:151 msgid "Settings saved" msgstr "Instellingen opgeslagen" -#: src/component/service/upload.vue:131 src/component/settings/passcode.vue:160 +#: src/component/service/upload.vue:132 src/component/settings/passcode.vue:163 msgid "Setup" msgstr "Setup" -#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:98 +#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:103 #: src/component/photo/clipboard.vue:51 src/page/settings/general.vue:382 msgid "Share" msgstr "Delen" @@ -2749,7 +2784,7 @@ msgstr "Deel je foto's met andere apps en diensten." msgid "Show" msgstr "Toon" -#: src/page/people/new.vue:116 src/page/people/new.vue:233 +#: src/page/people/new.vue:116 src/page/people/new.vue:235 msgid "Show all new faces" msgstr "Toon alle nieuwe gezichten" @@ -2794,7 +2829,7 @@ msgid "Similar" msgstr "Vergelijkbaar" #: src/component/photo/edit/files.vue:51 src/component/photo/edit/files.vue:341 -#: src/component/service/edit.vue:139 src/component/sidebar/info.vue:96 +#: src/component/service/edit.vue:140 src/component/sidebar/info.vue:96 msgid "Size" msgstr "Grootte" @@ -2822,7 +2857,7 @@ msgstr "Er ging iets mis, probeer het opnieuw." msgid "Sort by" msgstr "Sorteren op" -#: src/component/album/edit/dialog.vue:142 src/component/photo/toolbar.vue:288 +#: src/component/album/edit/dialog.vue:143 src/component/photo/toolbar.vue:290 #: src/page/albums.vue:214 msgid "Sort Order" msgstr "Sorteer volgorde" @@ -2857,7 +2892,7 @@ msgstr "Stapel foto's die op exact dezelfde tijd en locatie zijn genomen op basi msgid "Stackable" msgstr "Stapelbaar" -#: src/component/navigation.vue:421 src/page/settings/content.vue:136 +#: src/component/navigation.vue:423 src/page/settings/content.vue:136 msgid "Stacks" msgstr "Stapels" @@ -2885,16 +2920,16 @@ msgstr "Opslag" msgid "Streets" msgstr "Straat" -#: src/component/photo/edit/details.vue:494 +#: src/component/photo/edit/details.vue:468 #: src/component/photo/edit/labels.vue:44 msgid "Subject" msgstr "Onderwerp" -#: src/page/about/feedback.vue:162 src/page/about/feedback.vue:163 +#: src/page/about/feedback.vue:163 src/page/about/feedback.vue:164 msgid "Submit" msgstr "Stuur in" -#: src/component/settings/passcode.vue:132 +#: src/component/settings/passcode.vue:136 msgid "Successfully activated" msgstr "Met succes geactiveerd" @@ -2903,23 +2938,23 @@ msgid "Successfully Connected" msgstr "Succesvol aangesloten" #: src/component/session/remove/dialog.vue:32 -#: src/component/settings/apps.vue:218 +#: src/component/settings/apps.vue:222 msgid "Successfully deleted" msgstr "Succesvol verwijderd" -#: src/component/settings/passcode.vue:107 +#: src/component/settings/passcode.vue:108 msgid "Successfully verified" msgstr "Met succes geverifieerd" -#: src/component/user/edit/dialog.vue:398 src/page/admin/users.vue:163 +#: src/component/user/edit/dialog.vue:399 src/page/admin/users.vue:165 msgid "Super Admin" msgstr "Super Admin" -#: src/component/service/add.vue:122 +#: src/component/service/add.vue:123 msgid "Support for additional services, like Google Drive, will be added over time." msgstr "Ondersteuning voor aanvullende diensten, zoals Google Drive, zal in de loop van de tijd worden toegevoegd." -#: src/component/confirm/sponsor.vue:37 src/component/navigation.vue:1629 +#: src/component/confirm/sponsor.vue:38 src/component/navigation.vue:1660 msgid "Support Our Mission" msgstr "Steun onze missie" @@ -2927,7 +2962,7 @@ msgstr "Steun onze missie" msgid "Sync" msgstr "Synchroniseer" -#: src/component/service/edit.vue:289 +#: src/component/service/edit.vue:290 msgid "Sync raw and video files" msgstr "Ruwe en videobestanden synchroniseren" @@ -2953,23 +2988,23 @@ msgstr "Terrein" msgid "Text" msgstr "Tekst" -#: src/component/photo/edit/details.vue:32 src/page/people/new.vue:71 +#: src/component/photo/edit/details.vue:40 src/page/people/new.vue:71 msgid "Text too long" msgstr "Titel is te lang" -#: src/page/about/about.vue:145 +#: src/page/about/about.vue:146 msgid "Thank You for Your Support!" msgstr "Bedankt voor uw steun!" -#: src/page/about/about.vue:79 src/page/about/about.vue:85 +#: src/page/about/about.vue:80 src/page/about/about.vue:86 msgid "That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality." msgstr "Daarom is PhotoPrism vanaf de grond opgebouwd om te werken waar u maar wilt, zonder afbreuk te doen aan vrijheid, privacy of functionaliteit." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "The index currently contains %{n} hidden files." msgstr "De index bevat momenteel %{n} verborgen bestanden." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates." msgstr "Hun formaat wordt mogelijk niet ondersteund, ze zijn nog niet geconverteerd naar JPEG of er zijn duplicaten." @@ -2984,44 +3019,44 @@ msgstr "Thema" msgid "This field is required" msgstr "Dit veld is verplicht" -#: src/component/settings/webdav.vue:100 src/page/settings/services.vue:144 +#: src/component/settings/webdav.vue:101 src/page/settings/services.vue:147 msgid "This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local." msgstr "Hierdoor wordt de map met de originelen als een netwerkstation gemonteerd en kunt u bestanden openen, bewerken en verwijderen van uw computer of smartphone alsof ze lokaal zijn." -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Time UTC" msgstr "Tijd UTC" -#: src/component/photo/edit/details.vue:219 src/page/settings/general.vue:108 +#: src/component/photo/edit/details.vue:221 src/page/settings/general.vue:108 msgid "Time Zone" msgstr "Tijdzone" -#: src/component/service/edit.vue:408 +#: src/component/service/edit.vue:409 msgid "Timeout" msgstr "time-out" -#: src/component/user/edit/dialog.vue:98 src/component/user/edit/dialog.vue:99 +#: src/component/user/edit/dialog.vue:99 src/component/user/edit/dialog.vue:100 #: src/page/settings/account.vue:84 src/page/settings/account.vue:86 msgctxt "Account" msgid "Title" msgstr "Titel" -#: src/component/photo/edit/details.vue:73 +#: src/component/photo/edit/details.vue:75 msgctxt "Photo" msgid "Title" msgstr "Titel" -#: src/component/photo/edit/info.vue:59 src/component/photo/edit/info.vue:155 +#: src/component/photo/edit/info.vue:61 src/component/photo/edit/info.vue:155 #: src/component/photo/edit/labels.vue:40 src/component/photo/view/list.vue:114 #: src/component/sidebar/info.vue:57 msgid "Title" msgstr "Titel" -#: src/page/settings/account.vue:553 src/page/settings/account.vue:555 +#: src/page/settings/account.vue:559 src/page/settings/account.vue:561 msgid "Title / Position" msgstr "Titel / Positie" -#: src/page/albums.vue:83 +#: src/page/albums.vue:84 msgid "Title too long" msgstr "Titel is te lang" @@ -3029,19 +3064,19 @@ msgstr "Titel is te lang" msgid "to" msgstr "tot" -#: src/component/settings/passcode.vue:312 +#: src/component/settings/passcode.vue:315 msgid "To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place." msgstr "Download, print of kopieer deze herstelcode en bewaar deze op een veilige plek om te voorkomen dat je wordt uitgesloten van je account." -#: src/component/settings/apps.vue:272 +#: src/component/settings/apps.vue:275 msgid "To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:" msgstr "Om een nieuw app-specifiek wachtwoord te genereren, voert u de naam en het autorisatiebereik van de applicatie in en selecteert u een vervaldatum:" -#: src/component/settings/passcode.vue:400 +#: src/component/settings/passcode.vue:403 msgid "To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:" msgstr "Om over te schakelen naar een nieuwe authenticatie-app of -apparaat, moet je eerst de twee-factor authenticatie uitschakelen en vervolgens weer inschakelen:" -#: src/page/connect.vue:221 src/page/connect.vue:230 +#: src/page/connect.vue:223 src/page/connect.vue:232 msgid "To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:" msgstr "Om te upgraden kunt u een activeringscode invoeren of op \"Registreren\" klikken om u aan te melden op onze website:" @@ -3049,7 +3084,7 @@ msgstr "Om te upgraden kunt u een activeringscode invoeren of op \"Registreren\" msgid "Today" msgstr "Vandaag" -#: src/component/album/toolbar.vue:70 src/component/photo/toolbar.vue:78 +#: src/component/album/toolbar.vue:71 src/component/photo/toolbar.vue:78 msgid "Toggle View" msgstr "Schakelweergave" @@ -3076,20 +3111,24 @@ msgstr "Problemen oplossen" msgid "Try again using other filters or keywords." msgstr "Probeer opnieuw met een ander trefwoord of filter." -#: src/component/settings/passcode.vue:380 +#: src/component/settings/passcode.vue:383 msgid "Two-factor authentication has been enabled for your account." msgstr "Twee-factor authenticatie is ingeschakeld voor je account." #: src/component/photo/edit/files.vue:58 src/component/photo/edit/files.vue:330 -#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:388 +#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:389 msgid "Type" msgstr "Type" -#: src/options/auth.js:13 +#: src/component/album/toolbar.vue:178 +msgid "Unable to delete" +msgstr "Kan niet verwijderen" + +#: src/options/auth.js:14 msgid "Unauthorized" msgstr "Onbevoegde" -#: src/component/photo/edit/people.vue:94 +#: src/component/photo/edit/people.vue:95 msgid "Undo" msgstr "Ongedaan maken" @@ -3097,16 +3136,16 @@ msgstr "Ongedaan maken" msgid "Unique ID" msgstr "Unieke id" -#: src/page/settings/account.vue:451 src/page/settings/account.vue:476 -#: src/page/settings/account.vue:501 src/common/util.js:487 -#: src/component/photo/edit/details.vue:21 -#: src/component/photo/edit/details.vue:111 -#: src/component/photo/edit/details.vue:138 -#: src/component/photo/edit/details.vue:164 src/component/sidebar/info.vue:43 -#: src/model/album.js:193 src/model/photo.js:323 src/model/photo.js:784 -#: src/model/photo.js:809 src/model/photo.js:832 src/model/photo.js:850 -#: src/model/photo.js:897 src/model/photo.js:905 src/model/photo.js:994 -#: src/model/photo.js:1016 src/model/photo.js:1061 src/model/photo.js:1074 +#: src/page/settings/account.vue:457 src/page/settings/account.vue:482 +#: src/page/settings/account.vue:507 src/common/util.js:488 +#: src/component/photo/edit/details.vue:27 +#: src/component/photo/edit/details.vue:113 +#: src/component/photo/edit/details.vue:140 +#: src/component/photo/edit/details.vue:166 src/component/sidebar/info.vue:43 +#: src/model/album.js:193 src/model/photo.js:331 src/model/photo.js:821 +#: src/model/photo.js:846 src/model/photo.js:869 src/model/photo.js:887 +#: src/model/photo.js:934 src/model/photo.js:942 src/model/photo.js:1031 +#: src/model/photo.js:1053 src/model/photo.js:1098 src/model/photo.js:1111 #: src/model/user.js:157 src/options/options.js:51 src/options/options.js:69 #: src/options/options.js:86 src/options/options.js:100 #: src/options/options.js:112 src/page/library/errors.vue:251 @@ -3119,7 +3158,7 @@ msgstr "Onbekend" msgid "Unregistered" msgstr "Ongeregistreerd" -#: src/app/routes.js:215 src/component/navigation.vue:644 +#: src/app/routes.js:223 src/component/navigation.vue:648 msgid "Unsorted" msgstr "Ongesorteerd" @@ -3127,7 +3166,7 @@ msgstr "Ongesorteerd" msgid "Unstack" msgstr "Ontstapel" -#: src/component/photo/edit/files.vue:519 src/component/photo/edit/info.vue:416 +#: src/component/photo/edit/files.vue:521 src/component/photo/edit/info.vue:416 msgid "Updated" msgstr "Bijgewerkt" @@ -3143,7 +3182,7 @@ msgstr "Bijwerken van de index" msgid "Updating moments" msgstr "Momenten van actualisering" -#: src/component/user/edit/dialog.vue:154 +#: src/component/user/edit/dialog.vue:155 msgid "Updating picture…" msgstr "Foto bijwerken…" @@ -3155,21 +3194,21 @@ msgstr "Voorvertoningen bijwerken" msgid "Updating stacks" msgstr "Actualisering van de stapels" -#: src/page/connect.vue:57 src/component/navigation.vue:1500 -#: src/component/navigation.vue:1614 src/component/navigation.vue:1999 +#: src/page/connect.vue:57 src/component/navigation.vue:1526 +#: src/component/navigation.vue:1644 src/component/navigation.vue:2047 #: src/page/connect.vue:58 msgid "Upgrade" msgstr "Upgrade" -#: src/page/about/about.vue:123 src/page/connect.vue:202 -#: src/component/confirm/sponsor.vue:98 src/page/about/about.vue:113 -#: src/page/connect.vue:206 +#: src/page/about/about.vue:124 src/page/connect.vue:204 +#: src/component/confirm/sponsor.vue:99 src/page/about/about.vue:114 +#: src/page/connect.vue:208 msgid "Upgrade Now" msgstr "Nu upgraden" -#: src/component/album/toolbar.vue:108 src/component/navigation.vue:1824 -#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:144 -#: src/component/upload/dialog.vue:51 src/page/albums.vue:183 +#: src/component/album/toolbar.vue:113 src/component/navigation.vue:1860 +#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:145 +#: src/component/upload/dialog.vue:51 src/page/albums.vue:185 #: src/page/labels.vue:122 src/page/library/import.vue:133 #: src/page/settings/general.vue:307 src/page/settings/services.vue:38 msgid "Upload" @@ -3179,21 +3218,21 @@ msgstr "Uploaden" msgid "Upload complete" msgstr "Uploaden klaar" -#: src/component/upload/dialog.vue:133 +#: src/component/upload/dialog.vue:135 msgid "Upload complete. Indexing…" msgstr "Uploaden klaar. Indexeren…" #: src/component/upload/dialog.vue:296 src/component/upload/dialog.vue:315 -#: src/component/upload/dialog.vue:129 +#: src/component/upload/dialog.vue:131 msgid "Upload failed" msgstr "Uploaden mislukt" -#: src/component/service/edit.vue:257 +#: src/component/service/edit.vue:258 msgid "Upload local files" msgstr "Uploaden mislukt" -#: src/component/user/edit/dialog.vue:380 #: src/component/user/edit/dialog.vue:381 +#: src/component/user/edit/dialog.vue:382 msgid "Upload Path" msgstr "Pad uploaden" @@ -3201,7 +3240,7 @@ msgstr "Pad uploaden" msgid "Upload to WebDAV and share links with friends." msgstr "Upload naar WebDAV en deel links met vrienden." -#: src/component/upload/dialog.vue:131 +#: src/component/upload/dialog.vue:133 msgid "Uploading %{n} of %{t}…" msgstr "Het uploaden van %{n} van %{t}…" @@ -3214,7 +3253,7 @@ msgstr "Foto’s uploaden…" msgid "Uploading…" msgstr "Uploaden…" -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Uploads that may contain such images will be rejected automatically." msgstr "Uploads die dergelijke beelden kunnen bevatten, worden automatisch geweigerd." @@ -3222,7 +3261,7 @@ msgstr "Uploads die dergelijke beelden kunnen bevatten, worden automatisch gewei msgid "Use Presets" msgstr "Gebruik Voorinstellingen" -#: src/component/settings/passcode.vue:283 +#: src/component/settings/passcode.vue:286 msgid "Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:" msgstr "Gebruik de volgende herstelcode om toegang te krijgen tot je account als je geen geldige verificatiecode kunt genereren met je authenticatie-app:" @@ -3230,12 +3269,12 @@ msgstr "Gebruik de volgende herstelcode om toegang te krijgen tot je account als msgid "Use your recovery code or contact an administrator for help." msgstr "Gebruik je herstelcode of neem contact op met een beheerder voor hulp." -#: src/options/admin.js:10 src/page/admin/sessions.vue:59 -#: src/page/admin/sessions.vue:242 src/model/user.js:361 src/options/auth.js:7 +#: src/options/admin.js:14 src/page/admin/sessions.vue:59 +#: src/page/admin/sessions.vue:243 src/model/user.js:361 src/options/auth.js:8 msgid "User" msgstr "Gebruiker" -#: src/component/navigation.vue:1979 +#: src/component/navigation.vue:2025 msgid "User Guide" msgstr "Gebruikershandleiding" @@ -3243,14 +3282,14 @@ msgstr "Gebruikershandleiding" msgid "User Interface" msgstr "Gebruikersinterface" -#: src/component/user/add/dialog.vue:87 src/component/user/add/dialog.vue:88 -#: src/page/admin/sessions.vue:220 src/page/admin/users.vue:71 -#: src/component/service/add.vue:85 src/component/service/edit.vue:337 +#: src/component/user/add/dialog.vue:88 src/component/user/add/dialog.vue:89 +#: src/page/admin/sessions.vue:221 src/page/admin/users.vue:73 +#: src/component/service/add.vue:86 src/component/service/edit.vue:338 #: src/component/share/dialog.vue:26 msgid "Username" msgstr "Gebruikersnaam" -#: src/component/navigation.vue:1435 +#: src/component/navigation.vue:1461 msgid "Users" msgstr "Gebruikers" @@ -3260,18 +3299,18 @@ msgstr "Gebruikers" msgid "Vector" msgstr "Vector" -#: src/component/navigation.vue:440 +#: src/component/navigation.vue:442 msgid "Vectors" msgstr "Vectoren" -#: src/component/settings/passcode.vue:227 src/page/auth/login.vue:144 +#: src/component/settings/passcode.vue:230 src/page/auth/login.vue:144 msgid "Verification Code" msgstr "Verificatiecode" #: src/component/photo/view/cards.vue:363 #: src/component/photo/view/cards.vue:491 src/component/photo/view/list.vue:190 #: src/component/photo/view/mosaic.vue:207 src/model/file.js:221 -#: src/model/photo.js:921 src/model/photo.js:939 src/options/options.js:293 +#: src/model/photo.js:958 src/model/photo.js:976 src/options/options.js:293 msgid "Video" msgstr "Video" @@ -3280,12 +3319,12 @@ msgstr "Video" msgid "Video Duration" msgstr "Videoduur" -#: src/app/routes.js:243 src/component/navigation.vue:728 +#: src/app/routes.js:251 src/component/navigation.vue:734 #: src/options/options.js:200 msgid "Videos" msgstr "Video's" -#: src/component/photo/toolbar.vue:261 src/component/photo/view/cards.vue:350 +#: src/component/photo/toolbar.vue:263 src/component/photo/view/cards.vue:350 #: src/component/photo/view/mosaic.vue:194 msgid "View" msgstr "Weergave" @@ -3294,11 +3333,11 @@ msgstr "Weergave" msgid "View search results as a list." msgstr "Bekijk zoekresultaten als een lijst." -#: src/options/admin.js:14 src/options/auth.js:8 +#: src/options/admin.js:18 src/options/auth.js:9 msgid "Viewer" msgstr "Kijker" -#: src/page/admin/sessions.vue:271 src/options/auth.js:12 +#: src/page/admin/sessions.vue:272 src/options/auth.js:13 msgid "Visitor" msgstr "Bezoeker" @@ -3310,34 +3349,34 @@ msgstr "Visuele gelijkenis" msgid "Warning" msgstr "Waarschuwing" -#: src/page/about/feedback.vue:60 +#: src/page/about/feedback.vue:61 msgid "We appreciate your feedback!" msgstr "Wij waarderen uw feedback!" -#: src/page/about/feedback.vue:63 +#: src/page/about/feedback.vue:64 msgid "We do our best to respond within five business days or less." msgstr "We doen ons best om binnen vijf werkdagen of minder te reageren." -#: src/component/user/add/dialog.vue:235 src/component/user/edit/dialog.vue:415 -#: src/page/admin/users.vue:80 +#: src/component/user/add/dialog.vue:236 src/component/user/edit/dialog.vue:416 +#: src/page/admin/users.vue:82 msgid "Web Login" msgstr "Web Login" -#: src/component/user/add/dialog.vue:248 src/component/user/edit/dialog.vue:432 -#: src/page/admin/users.vue:82 src/options/auth.js:55 src/options/auth.js:68 +#: src/component/user/add/dialog.vue:249 src/component/user/edit/dialog.vue:433 +#: src/page/admin/users.vue:84 src/options/auth.js:56 src/options/auth.js:69 #: src/options/options.js:444 msgid "WebDAV" msgstr "WebDAV" -#: src/component/settings/webdav.vue:51 +#: src/component/settings/webdav.vue:52 msgid "WebDAV clients can connect to PhotoPrism using the following URL:" msgstr "WebDAV-cliënten kunnen verbinding maken met PhotoPrism via de volgende URL:" -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism." msgstr "WebDAV cliënten, zoals Microsoft's Windows Explorer of Apple's Finder, kunnen rechtstreeks verbinding maken met PhotoPrism." -#: src/component/service/upload.vue:50 src/component/share/dialog.vue:220 +#: src/component/service/upload.vue:51 src/component/share/dialog.vue:220 msgid "WebDAV Upload" msgstr "Uploaden" @@ -3345,8 +3384,8 @@ msgstr "Uploaden" msgid "WebGL support is disabled in your browser" msgstr "WebGL-ondersteuning is uitgeschakeld in uw browser" -#: src/page/settings/account.vue:615 src/page/settings/account.vue:709 -#: src/page/settings/account.vue:601 +#: src/page/settings/account.vue:621 src/page/settings/account.vue:715 +#: src/page/settings/account.vue:607 msgid "Website" msgstr "Website" @@ -3354,12 +3393,12 @@ msgstr "Website" msgid "White" msgstr "Wit" -#: src/page/settings/account.vue:532 +#: src/page/settings/account.vue:538 msgid "Work Details" msgstr "Werk Details" -#: src/page/settings/account.vue:500 src/component/photo/edit/details.vue:163 -#: src/component/photo/toolbar.vue:315 src/page/albums.vue:159 +#: src/page/settings/account.vue:506 src/component/photo/edit/details.vue:165 +#: src/component/photo/toolbar.vue:317 src/page/albums.vue:159 msgid "Year" msgstr "Jaar" @@ -3367,21 +3406,21 @@ msgstr "Jaar" msgid "Yellow" msgstr "Geel" -#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:58 -#: src/component/photo/archive/dialog.vue:58 +#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:59 +#: src/component/photo/archive/dialog.vue:59 #: src/component/photo/clipboard.vue:200 src/component/photo/edit/files.vue:365 #: src/component/photo/edit/files.vue:395 #: src/component/photo/edit/files.vue:401 #: src/component/photo/edit/files.vue:407 -#: src/component/photo/edit/files.vue:510 src/component/photo/edit/info.vue:281 +#: src/component/photo/edit/files.vue:512 src/component/photo/edit/info.vue:281 #: src/component/photo/edit/info.vue:297 src/component/photo/edit/info.vue:313 #: src/component/photo/edit/info.vue:329 src/component/photo/edit/info.vue:344 -#: src/component/photo/toolbar.vue:434 +#: src/component/photo/toolbar.vue:436 msgid "Yes" msgstr "Ja" -#: src/component/confirm/sponsor.vue:59 src/page/about/about.vue:158 -#: src/page/connect.vue:315 +#: src/component/confirm/sponsor.vue:60 src/page/about/about.vue:160 +#: src/page/connect.vue:317 msgid "You are welcome to contact us at membership@photoprism.app for questions regarding your membership." msgstr "U kunt contact met ons opnemen via membership@photoprism.app voor vragen over uw lidmaatschap." @@ -3393,7 +3432,11 @@ msgstr "Je kunt slechts een album downloaden" msgid "You can only download one label" msgstr "Je kunt slechts een album downloaden" -#: src/component/upload/dialog.vue:203 +#: src/component/location/dialog.vue:178 +msgid "You can search for a location or move the marker on the map to change the position:" +msgstr "Je kunt een locatie zoeken of de marker op de kaart verplaatsen om de positie te veranderen:" + +#: src/component/upload/dialog.vue:205 msgid "You can upload up to %{n} files for test purposes." msgstr "Je kunt tot %{n} bestanden uploaden voor testdoeleinden." @@ -3406,7 +3449,7 @@ msgstr "Je kunt slechts een album downloaden" msgid "You may rescan your library to find additional faces." msgstr "U kunt uw bibliotheek opnieuw scannen om meer gezichten te vinden." -#: src/page/connect.vue:146 src/page/connect.vue:150 +#: src/page/connect.vue:147 src/page/connect.vue:151 msgid "Your account has been successfully connected." msgstr "Uw account is succesvol verbonden." @@ -3414,8 +3457,8 @@ msgstr "Uw account is succesvol verbonden." msgid "Your browser does not support WebGL" msgstr "Uw browser ondersteunt WebGL niet" -#: src/component/confirm/sponsor.vue:43 src/page/about/about.vue:97 -#: src/page/about/about.vue:156 src/page/connect.vue:220 +#: src/component/confirm/sponsor.vue:44 src/page/about/about.vue:98 +#: src/page/about/about.vue:158 src/page/connect.vue:222 msgid "Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy." msgstr "Uw blijvende steun helpt ons om regelmatig updates te geven en onafhankelijk te blijven, zodat we onze missie kunnen vervullen en uw privacy kunnen beschermen." @@ -3496,9 +3539,6 @@ msgstr "In-/uitzoomen" #~ msgid "Open Folder" #~ msgstr "Map openen" -#~ msgid "Cannot copy to clipboard" -#~ msgstr "Kan niet naar klembord kopiëren" - #~ msgid "Sound" #~ msgstr "Geluid" @@ -4154,9 +4194,6 @@ msgstr "In-/uitzoomen" #~ msgid "More than 50 results" #~ msgstr "Meer dan 50 foto’s gevonden" -#~ msgid "No results" -#~ msgstr "Geen resultaten" - #~ msgid "Not implemented yet" #~ msgstr "Nog niet geïmplementeerd" diff --git a/frontend/src/locales/pl.po b/frontend/src/locales/pl.po index 621f81f75..f238a3afd 100644 --- a/frontend/src/locales/pl.po +++ b/frontend/src/locales/pl.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: Photoprism\n" "Report-Msgid-Bugs-To: ci@photoprism.app\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2025-04-04 08:03+0000\n" +"PO-Revision-Date: 2025-07-06 08:58+0000\n" "Last-Translator: DeepL \n" "Language-Team: Polish \n" "Language: pl\n" @@ -11,7 +11,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Weblate 5.10.4\n" +"X-Generator: Weblate 5.12.2\n" "Generated-By: easygettext\n" #: src/locales.js:268 @@ -42,7 +42,7 @@ msgstr "{0} wybrany" msgid "{0}-{1} of {2}" msgstr "{0}-{1} z {2}" -#: src/page/albums.vue:612 +#: src/page/albums.vue:617 msgid "%{n} albums found" msgstr "Znalezione albumy: %{n}" @@ -50,25 +50,25 @@ msgstr "Znalezione albumy: %{n}" msgid "%{n} files uploaded" msgstr "Przesłane pliki: %{n}" -#: src/page/library/browse.vue:362 +#: src/page/library/browse.vue:364 msgid "%{n} folders found" msgstr "Znalezione foldery: %{n}" -#: src/component/navigation.vue:1676 +#: src/component/navigation.vue:1707 msgid "%{n} GB of %{q} GB used" msgstr "%{n} GB z %{q} GB wykorzystanych" -#: src/page/labels.vue:528 +#: src/page/labels.vue:533 msgid "%{n} labels found" msgstr "Znalezione etykiety: %{n}" -#: src/page/people/new.vue:350 src/page/people/new.vue:447 -#: src/page/people/recognized.vue:536 +#: src/page/people/new.vue:350 src/page/people/new.vue:450 +#: src/page/people/recognized.vue:541 msgid "%{n} people found" msgstr "Znalezione osoby: %{n}" -#: src/page/album/photos.vue:308 src/page/album/photos.vue:493 -#: src/page/photos.vue:441 src/page/photos.vue:631 +#: src/page/album/photos.vue:313 src/page/album/photos.vue:504 +#: src/page/photos.vue:446 src/page/photos.vue:641 msgid "%{n} pictures found" msgstr "Znalezione zdjęcia: %{n}" @@ -88,12 +88,12 @@ msgstr "1 godzina" msgid "12 hours" msgstr "12 godzin" -#: src/component/user/edit/dialog.vue:452 src/page/settings/account.vue:324 -#: src/component/settings/passcode.vue:75 +#: src/component/user/edit/dialog.vue:453 src/page/settings/account.vue:325 +#: src/component/settings/passcode.vue:78 msgid "2-Factor Authentication" msgstr "Uwierzytelnianie dwuskładnikowe" -#: src/component/user/edit/dialog.vue:451 src/options/auth.js:46 +#: src/component/user/edit/dialog.vue:452 src/options/auth.js:47 msgid "2FA" msgstr "2FA" @@ -109,20 +109,20 @@ msgstr "Kliknięcie na link powyżej skopiuje go do schowka." msgid "A new version of %{s} is available:" msgstr "Dostępna jest nowa wersja %{s}:" -#: src/component/user/edit/dialog.vue:233 -#: src/component/user/edit/dialog.vue:234 src/page/about/about.vue:56 +#: src/component/user/edit/dialog.vue:234 +#: src/component/user/edit/dialog.vue:235 src/page/about/about.vue:56 #: src/page/settings/account.vue:248 src/page/settings/account.vue:249 -#: src/app/routes.js:63 src/component/navigation.vue:1521 -#: src/page/people/recognized.vue:292 +#: src/app/routes.js:63 src/component/navigation.vue:1547 +#: src/page/people/recognized.vue:296 msgid "About" msgstr "O programie" -#: src/options/auth.js:26 src/options/auth.js:44 +#: src/options/auth.js:27 src/options/auth.js:45 msgid "Access Token" msgstr "Token dostępu" -#: src/component/navigation.vue:87 src/component/navigation.vue:1788 -#: src/component/service/upload.vue:71 src/model/service.js:96 +#: src/component/navigation.vue:87 src/component/navigation.vue:1822 +#: src/component/service/upload.vue:72 src/model/service.js:96 #: src/model/user.js:171 src/page/settings.vue:85 #: src/page/settings/general.vue:582 msgid "Account" @@ -136,7 +136,7 @@ msgstr "Konto utworzone" msgid "Account deleted" msgstr "Konto usunięte" -#: src/page/admin/users.vue:335 +#: src/page/admin/users.vue:337 msgid "Account restored" msgstr "Konto przywrócone" @@ -157,8 +157,8 @@ msgstr "Akcja" msgid "Actions" msgstr "Akcje" -#: src/page/connect.vue:294 src/component/settings/passcode.vue:346 -#: src/page/connect.vue:303 +#: src/page/connect.vue:296 src/component/settings/passcode.vue:349 +#: src/page/connect.vue:305 msgid "Activate" msgstr "Aktywuj" @@ -174,20 +174,20 @@ msgstr "Aktywuj, aby sortować rosnąco." msgid "Activate to sort descending." msgstr "Aktywuj, aby sortować malejąco." -#: src/page/connect.vue:231 src/page/connect.vue:240 +#: src/page/connect.vue:233 src/page/connect.vue:242 msgid "Activation Code" msgstr "Kod aktywacji" -#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:83 -#: src/component/settings/apps.vue:448 +#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:92 +#: src/component/settings/apps.vue:451 msgid "Add" msgstr "Dodaj" -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:246 msgid "Add %{s}?" msgstr "Dodaj %{s}?" -#: src/component/user/add/dialog.vue:56 src/component/service/add.vue:49 +#: src/component/user/add/dialog.vue:57 src/component/service/add.vue:50 msgid "Add Account" msgstr "Dodaj konto" @@ -204,8 +204,8 @@ msgid "Add Link" msgstr "Dodaj link" #: src/component/photo/edit/people.vue:25 -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:57 -#: src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:57 +#: src/page/people/new.vue:246 msgid "Add person?" msgstr "Dodać osobę?" @@ -221,10 +221,15 @@ msgstr "Dodaj zdjęcia poprzez zaznaczenie ich w wynikach wyszukiwania." msgid "Add to album" msgstr "Dodaj do albumu" -#: src/component/photo/edit/files.vue:514 +#: src/component/photo/edit/files.vue:516 msgid "Added" msgstr "Dodano" +#: src/component/location/dialog.vue:68 src/component/location/dialog.vue:90 +#: src/component/photo/edit/details.vue:246 +msgid "Adjust Location" +msgstr "Dostosuj lokalizację" + #: src/options/admin.js:6 src/options/auth.js:6 msgid "Admin" msgstr "Administrator" @@ -245,7 +250,7 @@ msgstr "Po 3 dniach" msgid "After 7 days" msgstr "Po 7 dniach" -#: src/component/settings/passcode.vue:93 +#: src/component/settings/passcode.vue:96 msgid "After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:" msgstr "Po wprowadzeniu hasła w celu potwierdzenia możesz skonfigurować uwierzytelnianie dwuskładnikowe za pomocą kompatybilnej aplikacji lub urządzenia uwierzytelniającego:" @@ -277,12 +282,16 @@ msgstr "Album" msgid "Album Backups" msgstr "Kopie zapasowe albumów" -#: src/page/albums.vue:674 +#: src/page/albums.vue:685 msgid "Album created" msgstr "Album został utworzony" -#: src/app/routes.js:176 src/component/album/toolbar.vue:51 -#: src/component/navigation.vue:604 src/component/navigation.vue:1882 +#: src/page/album/photos.vue:589 +msgid "Album deleted" +msgstr "Album usunięty" + +#: src/app/routes.js:184 src/component/album/toolbar.vue:55 +#: src/component/navigation.vue:607 src/component/navigation.vue:1922 #: src/component/photo/edit/info.vue:220 src/options/options.js:198 msgid "Albums" msgstr "Albumy" @@ -295,7 +304,7 @@ msgstr "Skasowano albumy" msgid "All" msgstr "Wszystkie" -#: src/page/albums.vue:465 +#: src/page/albums.vue:470 msgid "All %{n} albums loaded" msgstr "Wszystkie albumy wczytane: %{n}" @@ -311,8 +320,8 @@ msgstr "Wszystkie %{n} osoby załadowane" msgid "All Cameras" msgstr "Wszystkie aparaty" -#: src/component/photo/toolbar.vue:74 src/page/albums.vue:44 -#: src/page/albums.vue:240 src/page/albums.vue:746 +#: src/component/photo/toolbar.vue:74 src/page/albums.vue:45 +#: src/page/albums.vue:242 src/page/albums.vue:757 msgid "All Categories" msgstr "Wszystkie kategorie" @@ -344,7 +353,7 @@ msgstr "Wszystkie miesiące" msgid "All originals" msgstr "Wszystkie oryginały" -#: src/component/photo/toolbar.vue:76 src/page/albums.vue:93 +#: src/component/photo/toolbar.vue:76 src/page/albums.vue:94 msgid "All Years" msgstr "Wszystkie lata" @@ -356,7 +365,7 @@ msgstr "Możesz też wysłać wybrane pliki bezpośrednio na serwer WebDAV, np. msgid "Altitude" msgstr "Wysokość" -#: src/component/photo/edit/details.vue:272 +#: src/component/photo/edit/details.vue:297 msgid "Altitude (m)" msgstr "Wysokość (m)" @@ -364,8 +373,7 @@ msgstr "Wysokość (m)" msgid "AM" msgstr "AM" -#: src/app/routes.js:257 src/component/navigation.vue:791 -#: src/component/photo/edit/files.vue:364 +#: src/app/routes.js:265 src/component/photo/edit/files.vue:364 #: src/component/photo/view/cards.vue:327 #: src/component/photo/view/cards.vue:511 src/component/photo/view/list.vue:184 #: src/component/photo/view/mosaic.vue:171 src/options/options.js:301 @@ -376,43 +384,47 @@ msgstr "Animowany" msgid "Animation" msgstr "Animacja" +#: src/component/navigation.vue:797 +msgid "Animations" +msgstr "Animacje" + #: src/component/share/dialog.vue:207 msgid "Any private photos and videos remain private and won't be shared." msgstr "Wszystkie prywatne zdjęcia i filmy pozostaną prywatne i nie zostaną udostępnione." -#: src/component/service/edit.vue:372 +#: src/component/service/edit.vue:373 msgid "API Key" msgstr "Klucz API" -#: src/page/admin/sessions.vue:357 src/options/auth.js:25 +#: src/page/admin/sessions.vue:361 src/options/auth.js:26 msgid "Application" msgstr "Zastosowanie" -#: src/component/photo/edit/details.vue:641 +#: src/component/photo/edit/details.vue:615 msgid "Apply" msgstr "Zastosuj" #: src/component/photo/clipboard.vue:64 -#: src/component/photo/edit/details.vue:640 +#: src/component/photo/edit/details.vue:614 #: src/component/photo/view/cards.vue:416 msgid "Approve" msgstr "Zatwierdź" -#: src/page/settings/account.vue:374 src/component/settings/apps.vue:91 +#: src/page/settings/account.vue:378 src/component/settings/apps.vue:94 msgid "Apps and Devices" msgstr "Aplikacje i urządzenia" -#: src/app/routes.js:287 src/component/lightbox.vue:1207 -#: src/component/navigation.vue:555 src/component/photo/clipboard.vue:142 +#: src/app/routes.js:295 src/component/lightbox.vue:1207 +#: src/component/navigation.vue:557 src/component/photo/clipboard.vue:142 #: src/component/photo/view/cards.vue:398 src/page/settings/general.vue:432 msgid "Archive" msgstr "Archiwum" -#: src/component/lightbox.vue:1982 src/component/photo/edit/info.vue:433 +#: src/component/lightbox.vue:2002 src/component/photo/edit/info.vue:433 msgid "Archived" msgstr "Zarchiwizowane" -#: src/component/photo/archive/dialog.vue:34 +#: src/component/photo/archive/dialog.vue:35 msgid "Are you sure you want to archive the selection?" msgstr "Czy na pewno chcesz zarchiwizować zaznaczone pliki?" @@ -420,19 +432,23 @@ msgstr "Czy na pewno chcesz zarchiwizować zaznaczone pliki?" msgid "Are you sure you want to delete these albums?" msgstr "Czy na pewno chcesz usunąć te albumy?" -#: src/component/label/delete/dialog.vue:34 +#: src/component/label/delete/dialog.vue:35 msgid "Are you sure you want to delete these labels?" msgstr "Czy na pewno chcesz usunąć wybrane etykiety?" -#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:36 +#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:37 msgid "Are you sure you want to delete this account?" msgstr "Czy na pewno chcesz usunąć konto?" +#: src/component/album/toolbar.vue:136 +msgid "Are you sure you want to delete this album?" +msgstr "Czy na pewno chcesz usunąć ten album?" + #: src/component/photo/clipboard.vue:199 msgid "Are you sure you want to permanently delete these pictures?" msgstr "Czy na pewno chcesz trwale usunąć te zdjęcia?" -#: src/component/file/delete/dialog.vue:34 +#: src/component/file/delete/dialog.vue:35 msgid "Are you sure you want to permanently delete this file?" msgstr "Czy na pewno chcesz usunąć ten plik?" @@ -441,7 +457,7 @@ msgstr "Czy na pewno chcesz usunąć ten plik?" msgid "Are you sure?" msgstr "Jesteś pewny?" -#: src/component/photo/edit/details.vue:537 +#: src/component/photo/edit/details.vue:511 msgid "Artist" msgstr "Artysta" @@ -449,14 +465,14 @@ msgstr "Artysta" msgid "Aspect Ratio" msgstr "Proporcje obrazu" -#: src/app/routes.js:250 src/component/navigation.vue:770 +#: src/app/routes.js:258 src/component/navigation.vue:776 #: src/options/options.js:297 msgid "Audio" msgstr "Audio" -#: src/component/user/add/dialog.vue:190 src/component/user/edit/dialog.vue:309 -#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:281 -#: src/page/admin/users.vue:75 +#: src/component/user/add/dialog.vue:191 src/component/user/edit/dialog.vue:310 +#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:282 +#: src/page/admin/users.vue:77 msgid "Authentication" msgstr "Uwierzytelnianie" @@ -464,11 +480,11 @@ msgstr "Uwierzytelnianie" msgid "Auto" msgstr "Auto" -#: src/component/settings/apps.vue:151 +#: src/component/settings/apps.vue:154 msgid "Back" msgstr "Z powrotem" -#: src/component/scroll.vue:20 +#: src/component/scroll.vue:18 msgid "Back to top" msgstr "Powrót do góry" @@ -480,26 +496,26 @@ msgstr "Kopia zapasowa" msgid "Badge" msgstr "Odznaka" -#: src/component/user/edit/dialog.vue:361 #: src/component/user/edit/dialog.vue:362 +#: src/component/user/edit/dialog.vue:363 msgid "Base Path" msgstr "Ścieżka podstawowa" -#: src/page/about/about.vue:95 src/page/connect.vue:220 +#: src/page/about/about.vue:96 src/page/connect.vue:222 msgid "Become a member today, support our mission and enjoy our member benefits!" msgstr "Zostań członkiem już dziś, wspieraj naszą misję i korzystaj z naszych korzyści członkowskich!" -#: src/component/confirm/sponsor.vue:51 src/page/about/about.vue:99 +#: src/component/confirm/sponsor.vue:52 src/page/about/about.vue:100 msgid "Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services." msgstr "Będąc w 100% finansowani i niezależni, możemy obiecać, że nigdy nie sprzedamy Twoich danych i że zawsze będziemy transparentni w kwestii naszego oprogramowania i usług." -#: src/component/user/edit/dialog.vue:258 -#: src/component/user/edit/dialog.vue:259 src/page/settings/account.vue:227 +#: src/component/user/edit/dialog.vue:259 +#: src/component/user/edit/dialog.vue:260 src/page/settings/account.vue:227 #: src/page/settings/account.vue:228 msgid "Bio" msgstr "Życiorys" -#: src/page/settings/account.vue:431 +#: src/page/settings/account.vue:437 msgid "Birth Date" msgstr "Data urodzenia" @@ -520,7 +536,7 @@ msgid "Brown" msgstr "Brązowy" #: src/component/photo/edit/files.vue:263 src/component/photo/toolbar.vue:141 -#: src/component/upload/dialog.vue:240 +#: src/component/upload/dialog.vue:242 msgid "Browse" msgstr "Przeglądaj" @@ -548,16 +564,16 @@ msgstr "Zgłoszenie błędu" msgid "Busy, please wait…" msgstr "Zajęty, proszę czekać…" -#: src/page/connect.vue:317 +#: src/page/connect.vue:319 msgid "By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct." msgstr "Korzystając z oprogramowania i usług, które oferujemy, zgadzasz się na nasze warunki świadczenia usług, politykę prywatności i kodeks postępowania." -#: src/app/routes.js:189 src/component/navigation.vue:1081 +#: src/app/routes.js:197 src/component/navigation.vue:1097 #: src/options/options.js:204 src/page/settings/general.vue:205 msgid "Calendar" msgstr "Kalendarz" -#: src/component/photo/edit/details.vue:346 src/component/photo/toolbar.vue:232 +#: src/component/photo/edit/details.vue:320 src/component/photo/toolbar.vue:234 #: src/component/photo/view/cards.vue:467 src/component/photo/view/list.vue:116 msgid "Camera" msgstr "Aparat" @@ -570,12 +586,12 @@ msgstr "Numer seryjny aparatu" msgid "Can't access your authenticator app or device?" msgstr "Nie możesz uzyskać dostępu do aplikacji lub urządzenia uwierzytelniającego?" -#: src/page/album/photos.vue:317 src/page/photos.vue:450 +#: src/page/album/photos.vue:322 src/page/photos.vue:455 msgid "Can't load more, limit reached" msgstr "Nie można załadować więcej, osiągnięto limit" #: src/common/clipboard.js:102 src/common/clipboard.js:139 -#: src/page/albums.vue:684 src/page/albums.vue:700 src/page/labels.vue:293 +#: src/page/albums.vue:695 src/page/albums.vue:711 src/page/labels.vue:293 #: src/page/labels.vue:313 src/page/library/browse.vue:233 #: src/page/library/browse.vue:249 src/page/people/new.vue:278 #: src/page/people/new.vue:294 src/page/people/recognized.vue:305 @@ -584,26 +600,31 @@ msgid "Can't select more items" msgstr "Nie można zaznaczyć większej ilości elementów" #: src/component/session/remove/dialog.vue:45 -#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:473 -#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:119 +#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:474 +#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:120 #: src/component/album/delete/dialog.vue:43 -#: src/component/album/edit/dialog.vue:199 src/component/confirm/dialog.vue:43 -#: src/component/file/delete/dialog.vue:47 -#: src/component/label/delete/dialog.vue:47 -#: src/component/label/edit/dialog.vue:107 -#: src/component/people/edit/dialog.vue:120 +#: src/component/album/edit/dialog.vue:200 src/component/confirm/dialog.vue:43 +#: src/component/file/delete/dialog.vue:48 +#: src/component/label/delete/dialog.vue:48 +#: src/component/label/edit/dialog.vue:108 +#: src/component/location/dialog.vue:200 +#: src/component/people/edit/dialog.vue:121 #: src/component/photo/album/dialog.vue:78 src/component/service/add.vue:19 -#: src/component/service/edit.vue:455 src/component/service/remove.vue:49 -#: src/component/service/upload.vue:117 src/component/settings/apps.vue:352 -#: src/component/settings/passcode.vue:249 -#: src/component/settings/passcode.vue:333 -#: src/component/settings/password.vue:159 src/component/share/dialog.vue:28 -#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:123 +#: src/component/service/edit.vue:456 src/component/service/remove.vue:50 +#: src/component/service/upload.vue:118 src/component/settings/apps.vue:355 +#: src/component/settings/passcode.vue:252 +#: src/component/settings/passcode.vue:336 +#: src/component/settings/password.vue:160 src/component/share/dialog.vue:28 +#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:124 #: src/page/library/import.vue:119 src/page/library/index.vue:128 msgid "Cancel" msgstr "Anuluj" -#: src/component/photo/edit/details.vue:87 src/component/photo/edit/info.vue:61 +#: src/common/util.js:863 src/common/util.js:870 +msgid "Cannot copy to clipboard" +msgstr "Nie można skopiować do schowka" + +#: src/component/photo/edit/details.vue:89 src/component/photo/edit/info.vue:63 #: src/component/photo/edit/labels.vue:42 #: src/component/photo/view/cards.vue:445 src/component/sidebar/info.vue:72 msgid "Caption" @@ -617,17 +638,17 @@ msgstr "Karty" msgid "Carousel slide {0} of {1}" msgstr "Slajd karuzeli {0} z {1}" -#: src/page/about/feedback.vue:82 src/page/about/feedback.vue:83 -#: src/component/album/edit/dialog.vue:128 src/component/photo/toolbar.vue:397 +#: src/page/about/feedback.vue:83 src/page/about/feedback.vue:84 +#: src/component/album/edit/dialog.vue:129 src/component/photo/toolbar.vue:399 #: src/page/albums.vue:187 msgid "Category" msgstr "Kategoria" -#: src/component/user/edit/dialog.vue:191 src/page/settings/account.vue:201 +#: src/component/user/edit/dialog.vue:192 src/page/settings/account.vue:201 msgid "Change Avatar" msgstr "Zmień awatar" -#: src/page/settings/account.vue:297 src/component/settings/password.vue:48 +#: src/page/settings/account.vue:297 src/component/settings/password.vue:49 msgid "Change Password" msgstr "Zmień hasło" @@ -644,17 +665,17 @@ msgid "Change private flag" msgstr "Zmień prywatność" #: src/component/user/add/dialog.vue:108 src/component/user/add/dialog.vue:113 -#: src/component/user/edit/dialog.vue:90 src/component/user/edit/dialog.vue:95 +#: src/component/user/edit/dialog.vue:91 src/component/user/edit/dialog.vue:96 #: src/page/settings/account.vue:121 src/page/settings/account.vue:126 msgid "Changes could not be saved" msgstr "Nie można zapisać zmian" -#: src/component/user/edit/dialog.vue:83 src/component/user/edit/dialog.vue:159 +#: src/component/user/edit/dialog.vue:84 src/component/user/edit/dialog.vue:160 #: src/component/album/edit/dialog.vue:73 -#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1941 +#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1961 #: src/component/photo/edit/files.vue:162 src/component/service/edit.vue:90 #: src/component/share/dialog.vue:92 src/component/share/dialog.vue:111 -#: src/page/albums.vue:677 src/page/people/recognized.vue:119 +#: src/page/albums.vue:688 src/page/people/recognized.vue:119 #: src/page/settings/advanced.vue:62 src/page/settings/content.vue:62 #: src/page/settings/general.vue:108 msgid "Changes successfully saved" @@ -668,7 +689,7 @@ msgstr "Zmiany ustawień zaawansowanych wymagają ponownego uruchomienia kompute msgid "Checked" msgstr "Data ostatniej weryfikacji metadanych" -#: src/component/photo/edit/files.vue:495 +#: src/component/photo/edit/files.vue:497 msgid "Chroma" msgstr "Chrominancja" @@ -684,24 +705,24 @@ msgstr "Czyszczenie" msgid "Clear {0}" msgstr "Wyczyść {0}" -#: src/options/auth.js:11 src/options/auth.js:23 src/options/auth.js:43 +#: src/options/auth.js:12 src/options/auth.js:24 src/options/auth.js:44 msgid "Client" msgstr "Klient" -#: src/options/auth.js:24 +#: src/options/auth.js:25 msgid "Client Credentials" msgstr "Poświadczenia klienta" -#: src/page/admin/sessions.vue:529 src/component/lightbox.vue:284 -#: src/component/lightbox.vue:1009 src/component/lightbox.vue:1010 -#: src/component/photo/edit/details.vue:627 src/component/photo/toolbar.vue:160 -#: src/component/settings/apps.vue:224 src/component/settings/apps.vue:437 -#: src/component/settings/passcode.vue:148 -#: src/component/settings/passcode.vue:456 -#: src/component/settings/passcode.vue:497 -#: src/component/settings/webdav.vue:131 src/component/share/dialog.vue:231 +#: src/component/user/edit/dialog.vue:474 src/page/admin/sessions.vue:536 +#: src/component/lightbox.vue:284 src/component/lightbox.vue:1009 +#: src/component/lightbox.vue:1010 src/component/photo/edit/details.vue:601 +#: src/component/photo/toolbar.vue:161 src/component/settings/apps.vue:227 +#: src/component/settings/apps.vue:440 src/component/settings/passcode.vue:151 +#: src/component/settings/passcode.vue:459 +#: src/component/settings/passcode.vue:500 +#: src/component/settings/webdav.vue:132 src/component/share/dialog.vue:231 #: src/component/sidebar/info.vue:26 src/component/update.vue:57 -#: src/component/upload/dialog.vue:228 src/locales.js:206 +#: src/component/upload/dialog.vue:230 src/locales.js:206 #: src/page/library/errors.vue:253 msgid "Close" msgstr "Zamknij" @@ -710,11 +731,11 @@ msgstr "Zamknij" msgid "Codec" msgstr "Kodek" -#: src/component/photo/toolbar.vue:369 +#: src/component/photo/toolbar.vue:371 msgid "Color" msgstr "Kolor" -#: src/component/photo/edit/files.vue:483 +#: src/component/photo/edit/files.vue:485 msgid "Color Profile" msgstr "Profil kolorów" @@ -722,7 +743,7 @@ msgstr "Profil kolorów" msgid "Colors" msgstr "Kolory" -#: src/page/connect.vue:260 src/page/connect.vue:269 +#: src/page/connect.vue:262 src/page/connect.vue:271 msgid "Compare Editions" msgstr "Porównaj wydania" @@ -735,17 +756,18 @@ msgstr "Skanowanie od zera" msgid "Confidence" msgstr "Pewność" +#: src/component/location/dialog.vue:212 #: src/component/photo/album/dialog.vue:90 -#: src/component/settings/passcode.vue:261 +#: src/component/settings/passcode.vue:264 msgid "Confirm" msgstr "Potwierdzać" -#: src/component/service/add.vue:20 src/page/settings/services.vue:187 +#: src/component/service/add.vue:20 src/page/settings/services.vue:191 msgid "Connect" msgstr "Połącz" -#: src/page/settings/account.vue:401 src/component/settings/webdav.vue:45 -#: src/page/settings/services.vue:167 +#: src/page/settings/account.vue:406 src/component/settings/webdav.vue:46 +#: src/page/settings/services.vue:170 msgid "Connect via WebDAV" msgstr "Połącz przez WebDAV" @@ -753,22 +775,22 @@ msgstr "Połącz przez WebDAV" msgid "Connected" msgstr "Połączony" -#: src/page/settings/account.vue:640 src/page/settings/account.vue:532 +#: src/page/settings/account.vue:646 src/page/settings/account.vue:538 msgid "Contact Details" msgstr "Dane kontaktowe" -#: src/page/about/feedback.vue:37 src/page/connect.vue:132 -#: src/page/connect.vue:136 +#: src/page/about/feedback.vue:37 src/page/connect.vue:133 +#: src/page/connect.vue:137 msgid "Contact Us" msgstr "Skontaktuj się z nami" #: src/page/albums.vue:433 src/page/labels.vue:237 -#: src/page/people/recognized.vue:306 +#: src/page/people/recognized.vue:310 msgid "Contains %{n} pictures." msgstr "Zawiera %{n} zdjęć." #: src/page/albums.vue:427 src/page/labels.vue:231 -#: src/page/people/recognized.vue:300 +#: src/page/people/recognized.vue:304 msgid "Contains one picture." msgstr "Zawiera jedno zdjęcie." @@ -776,7 +798,7 @@ msgstr "Zawiera jedno zdjęcie." msgid "Content" msgstr "Treść" -#: src/component/settings/apps.vue:163 +#: src/component/settings/apps.vue:166 msgid "Continue" msgstr "Kontynuować" @@ -784,7 +806,7 @@ msgstr "Kontynuować" msgid "Continue with %{provider}" msgstr "Kontynuuj z %{dostawca}" -#: src/options/admin.js:18 src/options/auth.js:9 +#: src/options/admin.js:22 src/options/auth.js:10 msgid "Contributor" msgstr "Dostawca" @@ -792,15 +814,15 @@ msgstr "Dostawca" msgid "Converting" msgstr "Konwertowanie" -#: src/common/util.js:846 +#: src/common/util.js:856 msgid "Copied to clipboard" msgstr "Skopiowano do schowka" -#: src/component/settings/apps.vue:250 src/component/settings/passcode.vue:358 +#: src/component/settings/apps.vue:253 src/component/settings/passcode.vue:361 msgid "Copy" msgstr "Kopiuj" -#: src/component/photo/edit/details.vue:516 +#: src/component/photo/edit/details.vue:490 msgid "Copyright" msgstr "Prawa autorskie" @@ -808,8 +830,8 @@ msgstr "Prawa autorskie" msgid "Couldn't find anything." msgstr "Nie udało się niczego znaleźć." -#: src/page/settings/account.vue:685 src/component/photo/edit/details.vue:242 -#: src/component/photo/toolbar.vue:203 src/page/settings/account.vue:577 +#: src/page/settings/account.vue:691 src/component/photo/edit/details.vue:268 +#: src/component/photo/toolbar.vue:205 src/page/settings/account.vue:583 msgid "Country" msgstr "Kraj" @@ -833,7 +855,7 @@ msgstr "Twórz pliki YAML, aby tworzyć kopie zapasowe metadanych albumów." msgid "Create YAML sidecar files to back up picture metadata." msgstr "Twórz pliki pomocnicze YAML, aby tworzyć kopie zapasowe metadanych obrazów." -#: src/page/admin/sessions.vue:417 src/component/photo/edit/info.vue:412 +#: src/page/admin/sessions.vue:422 src/component/photo/edit/info.vue:412 msgid "Created" msgstr "Data utworzenia pliku" @@ -845,11 +867,11 @@ msgstr "Tworzenie miniaturek dla" msgid "Cubic: Moderate Quality, Good Performance" msgstr "Cubic: umiarkowana jakość, dobra wydajność" -#: src/component/settings/password.vue:85 +#: src/component/settings/password.vue:86 msgid "Current Password" msgstr "Obecne hasło" -#: src/options/themes.js:919 src/options/themes.js:928 +#: src/options/themes.js:920 src/options/themes.js:929 msgid "Custom" msgstr "Niestandardowy" @@ -865,11 +887,11 @@ msgstr "Codziennie" msgid "Database Backups" msgstr "Kopie zapasowe bazy danych" -#: src/page/settings/account.vue:450 src/component/photo/edit/details.vue:110 +#: src/page/settings/account.vue:456 src/component/photo/edit/details.vue:112 msgid "Day" msgstr "Dzień" -#: src/component/settings/passcode.vue:445 +#: src/component/settings/passcode.vue:448 msgid "Deactivate" msgstr "Dezaktywować" @@ -877,36 +899,40 @@ msgstr "Dezaktywować" msgid "Debug Logs" msgstr "Logi debugowania" -#: src/options/admin.js:31 src/page/admin/sessions.vue:136 -#: src/page/admin/users.vue:176 src/component/photo/edit/info.vue:47 +#: src/options/admin.js:35 src/page/admin/sessions.vue:136 +#: src/page/admin/users.vue:178 src/component/photo/edit/info.vue:47 #: src/component/photo/edit/info.vue:110 src/model/session.js:66 -#: src/model/user.js:246 src/options/auth.js:20 src/options/auth.js:21 -#: src/options/auth.js:39 src/options/auth.js:40 src/options/options.js:196 +#: src/model/user.js:246 src/options/auth.js:21 src/options/auth.js:22 +#: src/options/auth.js:40 src/options/auth.js:41 src/options/options.js:196 #: src/options/options.js:232 src/options/options.js:316 -#: src/options/themes.js:773 +#: src/options/themes.js:774 msgid "Default" msgstr "Domyślny" -#: src/component/service/edit.vue:123 +#: src/component/service/edit.vue:124 msgid "Default Folder" msgstr "Domyślny folder" #: src/component/session/remove/dialog.vue:56 #: src/component/user/remove/dialog.vue:56 src/component/album/clipboard.vue:97 -#: src/component/album/delete/dialog.vue:54 -#: src/component/file/delete/dialog.vue:58 src/component/label/clipboard.vue:58 -#: src/component/label/delete/dialog.vue:58 +#: src/component/album/delete/dialog.vue:54 src/component/album/toolbar.vue:137 +#: src/component/file/delete/dialog.vue:59 src/component/label/clipboard.vue:58 +#: src/component/label/delete/dialog.vue:59 #: src/component/photo/clipboard.vue:168 src/component/photo/edit/files.vue:238 -#: src/component/service/remove.vue:60 src/component/share/dialog.vue:170 +#: src/component/service/remove.vue:61 src/component/share/dialog.vue:170 #: src/page/settings/general.vue:457 msgid "Delete" msgstr "Usuń" +#: src/component/album/toolbar.vue:133 +msgid "Delete Album" +msgstr "Usuń album" + #: src/component/photo/toolbar.vue:119 src/page/library/errors.vue:95 msgid "Delete All" msgstr "Usuń wszystko" -#: src/component/photo/toolbar.vue:433 src/page/library/errors.vue:193 +#: src/component/photo/toolbar.vue:435 src/page/library/errors.vue:193 msgid "Delete all?" msgstr "Usunąć wszystko?" @@ -914,16 +940,16 @@ msgstr "Usunąć wszystko?" msgid "Delete orphaned index entries, sidecar files and thumbnails." msgstr "Usuwanie osieroconych wpisów indeksu, plików sidecar i miniatur." -#: src/component/album/edit/dialog.vue:107 src/page/albums.vue:411 +#: src/component/album/edit/dialog.vue:108 src/page/albums.vue:411 msgid "Description" msgstr "Opis" -#: src/component/settings/webdav.vue:115 +#: src/component/settings/webdav.vue:116 msgid "Detailed instructions can be found in our User Guide." msgstr "Dokładne informacje można znaleźć w instrukcji obsługi." -#: src/component/photo/edit/dialog.vue:156 -#: src/component/photo/edit/dialog.vue:173 +#: src/component/photo/edit/dialog.vue:162 +#: src/component/photo/edit/dialog.vue:181 msgid "Details" msgstr "Szczegóły" @@ -987,8 +1013,8 @@ msgstr "Wyłącza obsługę grafiki wektorowej." msgid "Disables video transcoding and thumbnail extraction." msgstr "Wyłącza transkodowanie wideo i ekstrakcję miniatur." -#: src/app/routes.js:558 src/app/routes.js:565 src/app/routes.js:572 -#: src/app/routes.js:579 +#: src/app/routes.js:566 src/app/routes.js:573 src/app/routes.js:580 +#: src/app/routes.js:587 msgid "Discover" msgstr "Odkryj" @@ -996,9 +1022,9 @@ msgstr "Odkryj" msgid "Dismiss" msgstr "Odrzuć" -#: src/component/user/add/dialog.vue:133 src/component/user/add/dialog.vue:134 -#: src/component/user/edit/dialog.vue:163 -#: src/component/user/edit/dialog.vue:164 src/page/admin/users.vue:72 +#: src/component/user/add/dialog.vue:134 src/component/user/add/dialog.vue:135 +#: src/component/user/edit/dialog.vue:164 +#: src/component/user/edit/dialog.vue:165 src/page/admin/users.vue:74 #: src/page/settings/account.vue:149 src/page/settings/account.vue:151 msgid "Display Name" msgstr "Nazwa wyświetlana" @@ -1013,12 +1039,12 @@ msgstr "Wyświetlaj tytuły zdjęć w wynikach wyszukiwania." #: src/component/photo/view/cards.vue:339 #: src/component/photo/view/cards.vue:521 -#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:174 +#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:176 #: src/options/options.js:309 msgid "Document" msgstr "Dokument" -#: src/component/navigation.vue:480 +#: src/component/navigation.vue:482 msgid "Documents" msgstr "Dokumenty" @@ -1034,16 +1060,16 @@ msgstr "Nie używaj ImageMagick do konwersji obrazów." msgid "Don't use RawTherapee to convert RAW images." msgstr "Nie używaj RawTherapee do konwersji obrazów RAW." -#: src/component/settings/apps.vue:238 src/component/share/dialog.vue:29 +#: src/component/settings/apps.vue:241 src/component/share/dialog.vue:29 msgid "Done" msgstr "OK" -#: src/component/upload/dialog.vue:135 src/page/library/import.vue:46 +#: src/component/upload/dialog.vue:137 src/page/library/import.vue:46 #: src/page/library/index.vue:52 msgid "Done." msgstr "Zrobione." -#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:118 +#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:123 #: src/component/file/clipboard.vue:48 src/component/lightbox.vue:1235 #: src/component/people/clipboard.vue:47 src/component/photo/clipboard.vue:116 #: src/component/photo/edit/files.vue:168 src/page/settings/content.vue:331 @@ -1055,7 +1081,7 @@ msgstr "Pobierz" msgid "Download only original media files, without any automatically generated files." msgstr "Pobieraj tylko oryginalne pliki multimedialne, bez żadnych automatycznie generowanych plików." -#: src/component/service/edit.vue:237 +#: src/component/service/edit.vue:238 msgid "Download remote files" msgstr "Pobierz zdalne pliki" @@ -1063,9 +1089,9 @@ msgstr "Pobierz zdalne pliki" msgid "Download single files and zip archives." msgstr "Pobierz pojedyncze pliki i archiwa zip." -#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:157 +#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:172 #: src/component/file/clipboard.vue:61 src/component/label/clipboard.vue:86 -#: src/component/lightbox.vue:2021 src/component/people/clipboard.vue:59 +#: src/component/lightbox.vue:2041 src/component/people/clipboard.vue:59 #: src/component/photo/clipboard.vue:220 src/component/photo/edit/files.vue:119 #: src/component/photo/view/cards.vue:169 src/component/photo/view/list.vue:142 #: src/page/library/browse.vue:139 @@ -1080,7 +1106,7 @@ msgstr "Filtr skalowania rozdzielczości w dół" msgid "Drag and drop files here" msgstr "Przeciągnij i upuść pliki tutaj" -#: src/page/about/feedback.vue:61 +#: src/page/about/feedback.vue:62 msgid "Due to the high volume of emails we receive, our team may be unable to get back to you immediately." msgstr "Ze względu na dużą ilość otrzymywanych przez nas e-maili, nasz zespół może nie być w stanie odpowiedzieć na nie natychmiast." @@ -1100,23 +1126,23 @@ msgstr "Dynamiczne podglądy" msgid "Dynamic Size Limit: %{n}px" msgstr "Limit rozmiaru dynamicznych podglądów: %{n}px" -#: src/page/about/feedback.vue:141 src/page/about/feedback.vue:140 +#: src/page/about/feedback.vue:142 src/page/about/feedback.vue:141 msgid "E-Mail" msgstr "E-mail" -#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:89 +#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:94 #: src/component/lightbox.vue:1136 src/component/lightbox.vue:1137 #: src/component/photo/clipboard.vue:90 src/page/settings/general.vue:407 msgid "Edit" msgstr "Edytuj" -#: src/component/album/edit/dialog.vue:54 -#: src/component/label/edit/dialog.vue:52 -#: src/component/people/edit/dialog.vue:52 +#: src/component/album/edit/dialog.vue:55 +#: src/component/label/edit/dialog.vue:53 +#: src/component/people/edit/dialog.vue:53 msgid "Edit %{s}" msgstr "Edytuj %{s}" -#: src/component/user/edit/dialog.vue:61 src/component/service/edit.vue:79 +#: src/component/user/edit/dialog.vue:62 src/component/service/edit.vue:79 msgid "Edit Account" msgstr "Edytuj konto" @@ -1128,8 +1154,8 @@ msgstr "Edytuj zdjęcie" msgid "Edited" msgstr "Data ostatniej edycji" -#: src/component/user/add/dialog.vue:151 src/component/user/edit/dialog.vue:213 -#: src/page/settings/account.vue:171 src/page/settings/account.vue:593 +#: src/component/user/add/dialog.vue:152 src/component/user/edit/dialog.vue:214 +#: src/page/settings/account.vue:171 src/page/settings/account.vue:599 msgid "Email" msgstr "Email" @@ -1145,7 +1171,7 @@ msgstr "Włącz nowe funkcje, które mogą być niekompletne lub niestabilne." msgid "Enables RAW converter presets. May reduce performance." msgstr "Włącza wstępne ustawienia konwertera RAW. Może zmniejszyć wydajność." -#: src/component/settings/passcode.vue:127 +#: src/component/settings/passcode.vue:130 msgid "Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account." msgstr "Włączenie uwierzytelniania dwuskładnikowego oznacza, że do zalogowania będziesz potrzebować losowo wygenerowanego kodu weryfikacyjnego, więc nawet jeśli ktoś uzyska dostęp do Twojego hasła, nie będzie mógł uzyskać dostępu do Twojego konta." @@ -1157,7 +1183,7 @@ msgstr "Wprowadź datę" msgid "Enter dates" msgstr "Wprowadź daty" -#: src/component/settings/passcode.vue:213 src/page/auth/login.vue:104 +#: src/component/settings/passcode.vue:216 src/page/auth/login.vue:104 msgid "Enter the code generated by your authenticator app:" msgstr "Wprowadź kod wygenerowany przez aplikację uwierzytelniającą:" @@ -1165,7 +1191,7 @@ msgstr "Wprowadź kod wygenerowany przez aplikację uwierzytelniającą:" msgid "Enter verification code" msgstr "Wprowadź kod weryfikacyjny" -#: src/component/settings/apps.vue:109 +#: src/component/settings/apps.vue:112 msgid "Enter your password to confirm the action and continue:" msgstr "Wpisz hasło, aby potwierdzić akcję i kontynuować:" @@ -1174,7 +1200,7 @@ msgstr "Wpisz hasło, aby potwierdzić akcję i kontynuować:" msgid "Error" msgstr "Błąd" -#: src/app/routes.js:374 src/component/navigation.vue:1348 +#: src/app/routes.js:382 src/component/navigation.vue:1372 msgid "Errors" msgstr "Błędy" @@ -1210,13 +1236,13 @@ msgstr "Ekstrakcja metadanych za pomocą ExifTool jest wymagana do pełnej obsł msgid "Experimental Features" msgstr "Funkcje eksperymentalne" -#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:453 -#: src/component/service/edit.vue:157 src/component/settings/apps.vue:73 -#: src/component/settings/apps.vue:326 src/component/share/dialog.vue:62 +#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:458 +#: src/component/service/edit.vue:158 src/component/settings/apps.vue:73 +#: src/component/settings/apps.vue:329 src/component/share/dialog.vue:62 msgid "Expires" msgstr "Wygasa" -#: src/component/photo/edit/details.vue:396 +#: src/component/photo/edit/details.vue:370 msgid "Exposure" msgstr "Ekspozycja" @@ -1224,7 +1250,7 @@ msgstr "Ekspozycja" msgid "Extract still images and generate thumbnails while indexing." msgstr "Wyodrębniaj nieruchome obrazy i generuj miniatury podczas indeksowania." -#: src/component/photo/edit/details.vue:444 +#: src/component/photo/edit/details.vue:418 msgid "F Number" msgstr "Wartość przysłony" @@ -1240,7 +1266,7 @@ msgstr "Twarze" msgid "Failed removing link" msgstr "Nie udało się usunąć linku" -#: src/page/connect.vue:106 src/page/connect.vue:110 +#: src/page/connect.vue:107 src/page/connect.vue:111 msgid "Failed to connect account." msgstr "Nie udało się połączyć konta." @@ -1248,8 +1274,8 @@ msgstr "Nie udało się połączyć konta." msgid "Failed updating link" msgstr "Nie udało się zaktualizować linku" -#: src/component/user/edit/dialog.vue:143 -#: src/component/user/edit/dialog.vue:144 src/page/settings/account.vue:128 +#: src/component/user/edit/dialog.vue:144 +#: src/component/user/edit/dialog.vue:145 src/page/settings/account.vue:128 #: src/page/settings/account.vue:130 msgid "Family Name" msgstr "Nazwa rodziny produktów" @@ -1258,15 +1284,15 @@ msgstr "Nazwa rodziny produktów" msgid "Fast" msgstr "Szybka" -#: src/component/album/edit/dialog.vue:159 -#: src/component/label/edit/dialog.vue:85 -#: src/component/people/edit/dialog.vue:85 +#: src/component/album/edit/dialog.vue:160 +#: src/component/label/edit/dialog.vue:86 +#: src/component/people/edit/dialog.vue:86 #: src/component/photo/edit/info.vue:287 msgid "Favorite" msgstr "Ulubione" -#: src/app/routes.js:222 src/component/navigation.vue:893 -#: src/options/options.js:202 src/page/albums.vue:97 +#: src/app/routes.js:230 src/component/navigation.vue:903 +#: src/options/options.js:202 src/page/albums.vue:98 msgid "Favorites" msgstr "Ulubione" @@ -1274,7 +1300,7 @@ msgstr "Ulubione" msgid "Feature Request" msgstr "Prośba o nową funkcję" -#: src/component/navigation.vue:1456 +#: src/component/navigation.vue:1482 msgid "Feedback" msgstr "Opinia" @@ -1282,11 +1308,12 @@ msgstr "Opinia" msgid "Female" msgstr "Kobieta" -#: src/component/photo/edit/info.vue:214 src/model/file.js:290 +#: src/component/photo/edit/info.vue:57 src/component/photo/edit/info.vue:214 +#: src/model/file.js:290 msgid "File" msgstr "Plik" -#: src/app/routes.js:343 +#: src/app/routes.js:351 msgid "File Browser" msgstr "Przeglądarka plików" @@ -1309,8 +1336,8 @@ msgstr "Rozmiar pliku" msgid "Filename" msgstr "Nazwa pliku" -#: src/component/navigation.vue:1930 src/component/photo/edit/dialog.vue:267 -#: src/component/photo/edit/dialog.vue:284 +#: src/component/navigation.vue:1973 src/component/photo/edit/dialog.vue:279 +#: src/component/photo/edit/dialog.vue:298 msgid "Files" msgstr "Pliki" @@ -1322,26 +1349,26 @@ msgstr "Pliki z sekwencyjnymi nazwami, np. 'IMG_1234 (2)' i 'IMG_1234 (3)', nale msgid "First page" msgstr "Pierwsza strona" -#: src/component/photo/edit/details.vue:465 +#: src/component/photo/edit/details.vue:439 msgid "Focal Length" msgstr "Ogniskowa" -#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:118 -#: src/component/service/edit.vue:189 src/component/service/edit.vue:194 -#: src/component/service/upload.vue:90 src/component/service/upload.vue:96 +#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:119 +#: src/component/service/edit.vue:190 src/component/service/edit.vue:195 +#: src/component/service/upload.vue:91 src/component/service/upload.vue:97 #: src/model/folder.js:199 src/page/library/browse.vue:182 msgid "Folder" msgstr "Katalog" -#: src/page/library/browse.vue:365 +#: src/page/library/browse.vue:367 msgid "Folder contains %{n} files" msgstr "Folder zawiera %{n} plików" -#: src/page/library/browse.vue:356 +#: src/page/library/browse.vue:358 msgid "Folder is empty" msgstr "Folder jest pusty" -#: src/app/routes.js:202 src/component/navigation.vue:1225 +#: src/app/routes.js:210 src/component/navigation.vue:1247 #: src/options/options.js:207 msgid "Folders" msgstr "Foldery" @@ -1358,7 +1385,7 @@ msgstr "FPS" msgid "Frames" msgstr "Klatki" -#: src/options/auth.js:54 src/options/auth.js:64 +#: src/options/auth.js:55 src/options/auth.js:65 msgid "Full Access" msgstr "Pełny dostęp" @@ -1370,7 +1397,7 @@ msgstr "Pełny ekran" msgid "General" msgstr "Ogólne" -#: src/component/settings/apps.vue:364 +#: src/component/settings/apps.vue:367 msgid "Generate" msgstr "Generować" @@ -1390,8 +1417,8 @@ msgstr "Wygenerowano" msgid "Get Started" msgstr "Rozpocznij" -#: src/component/user/edit/dialog.vue:120 -#: src/component/user/edit/dialog.vue:121 src/page/settings/account.vue:106 +#: src/component/user/edit/dialog.vue:121 +#: src/component/user/edit/dialog.vue:122 src/page/settings/account.vue:106 #: src/page/settings/account.vue:108 msgid "Given Name" msgstr "Imię" @@ -1416,7 +1443,7 @@ msgstr "Zielony" msgid "Grey" msgstr "Szary" -#: src/options/admin.js:22 src/options/auth.js:10 +#: src/options/admin.js:26 src/options/auth.js:11 msgid "Guest" msgstr "Gość" @@ -1432,15 +1459,15 @@ msgstr "Pomoc" msgid "Help & Support" msgstr "Pomoc i wsparcie" -#: src/component/navigation.vue:1327 src/component/people/edit/dialog.vue:98 +#: src/component/navigation.vue:1351 src/component/people/edit/dialog.vue:99 msgid "Hidden" msgstr "Ukryte" -#: src/app/routes.js:358 +#: src/app/routes.js:366 msgid "Hidden Files" msgstr "Ukryte pliki" -#: src/page/people/new.vue:165 src/page/people/recognized.vue:205 +#: src/page/people/new.vue:166 src/page/people/recognized.vue:206 msgid "Hide" msgstr "Ukryj" @@ -1456,7 +1483,7 @@ msgstr "Wysoki" msgid "High Dynamic Range (HDR)" msgstr "Wysoki zakres dynamiczny (HDR)" -#: src/page/about/feedback.vue:103 +#: src/page/about/feedback.vue:104 msgid "How can we help?" msgstr "W czym możemy pomóc?" @@ -1464,11 +1491,11 @@ msgstr "W czym możemy pomóc?" msgid "Hybrid" msgstr "Hybrydowy" -#: src/component/settings/passcode.vue:389 +#: src/component/settings/passcode.vue:392 msgid "If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account." msgstr "Jeśli utracisz dostęp do aplikacji lub urządzenia uwierzytelniającego, możesz użyć kodu odzyskiwania, aby odzyskać dostęp do swojego konta." -#: src/component/photo/edit/info.vue:63 src/component/photo/edit/labels.vue:46 +#: src/component/photo/edit/info.vue:65 src/component/photo/edit/labels.vue:46 #: src/component/photo/view/cards.vue:532 src/model/file.js:218 #: src/options/options.js:281 msgid "Image" @@ -1478,7 +1505,7 @@ msgstr "Obraz" msgid "Image Quality" msgstr "Jakość obrazu" -#: src/page/library.vue:46 src/page/library/import.vue:152 +#: src/page/library.vue:46 src/page/library/import.vue:153 #: src/page/settings/general.vue:357 msgid "Import" msgstr "Import" @@ -1503,8 +1530,8 @@ msgstr "Importowanie %{s}…" msgid "Importing files to originals…" msgstr "Importowanie plików do oryginałów…" -#: src/component/photo/edit/files.vue:515 -#: src/component/photo/edit/files.vue:520 +#: src/component/photo/edit/files.vue:517 +#: src/component/photo/edit/files.vue:522 msgid "in" msgstr "w" @@ -1522,11 +1549,11 @@ msgstr "Dołączanie plików obrazów RAW podczas pobierania stosów i archiwów msgid "Include sidecar files when downloading stacks and archives." msgstr "Dołączaj pliki sidecar podczas pobierania stosów i archiwów." -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Increase storage size or delete files to continue." msgstr "Zwiększ rozmiar pamięci lub usuń pliki, aby kontynuować." -#: src/component/navigation.vue:1946 src/page/library.vue:36 +#: src/component/navigation.vue:1990 src/page/library.vue:36 #: src/page/settings/content.vue:34 msgid "Index" msgstr "Indeksowanie" @@ -1556,11 +1583,11 @@ msgstr "Informacje" msgid "Instance ID" msgstr "ID instancji" -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Insufficient storage." msgstr "Niewystarczająca pamięć." -#: src/component/service/edit.vue:209 +#: src/component/service/edit.vue:210 msgid "Interval" msgstr "Okres" @@ -1581,7 +1608,7 @@ msgstr "Nieprawidłowy adres" msgid "Invalid country" msgstr "Nieprawidłowy kraj" -#: src/component/photo/edit/details.vue:174 +#: src/component/photo/edit/details.vue:169 msgid "Invalid date" msgstr "Niewłaściwa data" @@ -1590,7 +1617,7 @@ msgstr "Niewłaściwa data" msgid "Invalid parameters" msgstr "Parametry nieprawidłowe" -#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:197 +#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:199 msgid "Invalid photo selected" msgstr "Wybrano nieprawidłowe zdjęcie" @@ -1602,8 +1629,8 @@ msgstr "Nieprawidłowy czas" msgid "Invalid URL" msgstr "Nieprawidłowy adres URL" -#: src/component/settings/passcode.vue:314 -#: src/component/settings/passcode.vue:391 +#: src/component/settings/passcode.vue:317 +#: src/component/settings/passcode.vue:394 msgid "It is a one-time use code that will disable 2FA for your account when you use it." msgstr "Jest to jednorazowy kod, który wyłączy 2FA na Twoim koncie, gdy z niego skorzystasz." @@ -1627,7 +1654,7 @@ msgstr "Limit rozmiaru JPEG: %{n}px" msgid "JPEGs and thumbnails are automatically rendered as needed." msgstr "JPEGi i miniatury są automatycznie tworzone w miarę potrzeb." -#: src/component/photo/edit/details.vue:581 +#: src/component/photo/edit/details.vue:555 msgid "Keywords" msgstr "Słowa kluczowe" @@ -1636,9 +1663,9 @@ msgstr "Słowa kluczowe" msgid "Label" msgstr "Etykieta" -#: src/app/routes.js:389 src/component/navigation.vue:1177 -#: src/component/photo/edit/dialog.vue:188 -#: src/component/photo/edit/dialog.vue:205 src/options/options.js:206 +#: src/app/routes.js:397 src/component/navigation.vue:1197 +#: src/component/photo/edit/dialog.vue:196 +#: src/component/photo/edit/dialog.vue:215 src/options/options.js:206 #: src/page/settings/general.vue:255 msgid "Labels" msgstr "Etykiety" @@ -1655,11 +1682,11 @@ msgstr "Lanczos: zachowanie detali, minimalne artefakty" msgid "Language" msgstr "Język" -#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:435 +#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:440 msgid "Last Active" msgstr "Ostatni aktywny" -#: src/page/admin/users.vue:81 +#: src/page/admin/users.vue:83 msgid "Last Login" msgstr "Ostatnie logowanie" @@ -1675,42 +1702,41 @@ msgstr "Ostatnia synchronizacja" msgid "Last Used" msgstr "Ostatnio używane" -#: src/component/photo/edit/details.vue:298 #: src/component/photo/edit/info.vue:373 msgid "Latitude" msgstr "Szerokość geograficzna" -#: src/options/admin.js:43 src/options/auth.js:29 +#: src/options/admin.js:47 src/options/auth.js:30 msgid "LDAP/AD" msgstr "LDAP/AD" -#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:86 -#: src/page/about/about.vue:62 src/page/about/about.vue:132 +#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:87 +#: src/page/about/about.vue:62 src/page/about/about.vue:133 #: src/page/connect.vue:67 src/page/help.vue:36 msgid "Learn more" msgstr "Dowiedz się więcej" -#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:135 +#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:137 #: src/page/labels.vue:132 msgid "Learn More" msgstr "Dowiedz się więcej" -#: src/component/navigation.vue:2017 +#: src/component/navigation.vue:2066 msgid "Legal Information" msgstr "Informacje prawne" -#: src/component/photo/edit/details.vue:417 +#: src/component/photo/edit/details.vue:391 #: src/component/photo/view/cards.vue:480 msgid "Lens" msgstr "Obiektyw" -#: src/app/routes.js:443 src/app/routes.js:459 src/app/routes.js:475 -#: src/component/navigation.vue:1267 src/page/settings/general.vue:507 +#: src/app/routes.js:451 src/app/routes.js:467 src/app/routes.js:483 +#: src/component/navigation.vue:1290 src/page/settings/general.vue:507 msgid "Library" msgstr "Biblioteka" #: src/page/connect.vue:45 src/app/routes.js:69 -#: src/component/navigation.vue:1478 src/component/photo/edit/details.vue:559 +#: src/component/navigation.vue:1504 src/component/photo/edit/details.vue:533 #: src/page/about/license.vue:28 msgid "License" msgstr "Licencja" @@ -1723,7 +1749,7 @@ msgstr "Dodaj do ulubionych" msgid "Lime" msgstr "Limonkowy" -#: src/page/library/browse.vue:369 +#: src/page/library/browse.vue:371 msgid "Limit reached, showing first %{n} files" msgstr "Osiągnięto limit, pokazuję pierwsze %{n} plików" @@ -1731,7 +1757,7 @@ msgstr "Osiągnięto limit, pokazuję pierwsze %{n} plików" msgid "Linear: Very Smooth, Best Performance" msgstr "Linear: bardzo gładki, najlepsza wydajność" -#: src/model/link.js:117 src/options/auth.js:30 src/options/auth.js:31 +#: src/model/link.js:117 src/options/auth.js:31 src/options/auth.js:32 msgid "Link" msgstr "Link" @@ -1749,7 +1775,7 @@ msgstr "Widok listy" msgid "Live" msgstr "Live" -#: src/app/routes.js:236 src/component/navigation.vue:749 +#: src/app/routes.js:244 src/component/navigation.vue:755 msgid "Live Photos" msgstr "Zdjęcia na żywo" @@ -1765,21 +1791,24 @@ msgstr "Ładowanie pozycji..." msgid "Loading..." msgstr "Ładowanie..." -#: src/options/admin.js:35 src/options/auth.js:22 src/options/auth.js:27 +#: src/options/admin.js:39 src/options/auth.js:23 src/options/auth.js:28 #: src/options/options.js:38 src/page/settings/general.vue:107 msgid "Local" msgstr "Lokalnie" -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Local Time" msgstr "Czas lokalny" -#: src/page/settings/account.vue:665 src/page/settings/account.vue:667 -#: src/component/album/edit/dialog.vue:92 src/component/photo/edit/info.vue:65 -#: src/component/photo/edit/labels.vue:48 +#: src/page/settings/account.vue:671 src/page/settings/account.vue:673 +#: src/component/album/edit/dialog.vue:93 +#: src/component/photo/edit/details.vue:38 +#: src/component/photo/edit/details.vue:116 +#: src/component/photo/edit/details.vue:210 +#: src/component/photo/edit/info.vue:67 src/component/photo/edit/labels.vue:48 #: src/component/photo/view/cards.vue:555 src/component/photo/view/list.vue:117 -#: src/component/sidebar/info.vue:107 src/page/albums.vue:99 -#: src/page/settings/account.vue:557 src/page/settings/account.vue:559 +#: src/component/sidebar/info.vue:107 src/page/albums.vue:100 +#: src/page/settings/account.vue:563 src/page/settings/account.vue:565 msgid "Location" msgstr "Miejsce" @@ -1787,20 +1816,19 @@ msgstr "Miejsce" msgid "Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues." msgstr "Komunikaty dziennika pojawiają się tutaj za każdym razem, gdy PhotoPrism natknie się na uszkodzone pliki lub wystąpią inne potencjalne problemy." -#: src/component/navigation.vue:1552 src/component/navigation.vue:1840 +#: src/component/navigation.vue:1579 src/component/navigation.vue:1877 msgid "Login" msgstr "Zaloguj" -#: src/component/navigation.vue:1759 +#: src/component/navigation.vue:1791 msgid "Logout" msgstr "Wyloguj" -#: src/component/navigation.vue:1962 src/page/library.vue:59 +#: src/component/navigation.vue:2007 src/page/library.vue:59 #: src/page/settings/general.vue:557 msgid "Logs" msgstr "Logi" -#: src/component/photo/edit/details.vue:324 #: src/component/photo/edit/info.vue:379 msgid "Longitude" msgstr "Długość geograficzna" @@ -1813,7 +1841,7 @@ msgstr "Niski" msgid "Magenta" msgstr "Magenta" -#: src/component/photo/edit/files.vue:489 +#: src/component/photo/edit/files.vue:491 msgid "Main Color" msgstr "Główny kolor" @@ -1821,12 +1849,16 @@ msgstr "Główny kolor" msgid "Male" msgstr "Mężczyzna" -#: src/page/connect.vue:164 src/page/connect.vue:246 -#: src/page/about/about.vue:171 src/page/connect.vue:168 -#: src/page/connect.vue:255 +#: src/page/connect.vue:165 src/page/connect.vue:248 +#: src/page/about/about.vue:173 src/page/connect.vue:169 +#: src/page/connect.vue:257 msgid "Manage Account" msgstr "Zarządzaj kontem" +#: src/options/admin.js:10 src/options/auth.js:7 +msgid "Manager" +msgstr "Kierownik" + #: src/component/photo/edit/info.vue:49 src/component/photo/edit/labels.vue:38 msgid "Manual" msgstr "Podręcznik" @@ -1843,11 +1875,11 @@ msgstr "Mapy" msgid "Marker" msgstr "Znacznik" -#: src/component/user/add/dialog.vue:69 +#: src/component/user/add/dialog.vue:70 msgid "Maximum number of accounts has been reached." msgstr "Osiągnięto maksymalną liczbę kont." -#: src/app/routes.js:229 src/component/navigation.vue:688 +#: src/app/routes.js:237 src/component/navigation.vue:693 #: src/options/options.js:199 msgid "Media" msgstr "Media" @@ -1864,7 +1896,7 @@ msgstr "Członkostwo" msgid "Merge %{a} with %{b}?" msgstr "Złączyć %{a} z %{b}?" -#: src/page/about/feedback.vue:102 +#: src/page/about/feedback.vue:103 msgid "Message" msgstr "Wiadomość" @@ -1876,7 +1908,7 @@ msgstr "Wiadomość została wysłana" msgid "Metadata" msgstr "Metadane" -#: src/options/auth.js:56 src/options/auth.js:72 +#: src/options/auth.js:57 src/options/auth.js:73 msgid "Metrics" msgstr "Metryka" @@ -1884,7 +1916,7 @@ msgstr "Metryka" msgid "Minimize" msgstr "Zminimalizuj" -#: src/component/photo/edit/files.vue:509 src/component/photo/edit/info.vue:367 +#: src/component/photo/edit/files.vue:511 src/component/photo/edit/info.vue:367 msgid "Missing" msgstr "Brakujący" @@ -1892,17 +1924,17 @@ msgstr "Brakujący" msgid "Missing or invalid configuration" msgstr "Brakująca lub nieprawidłowa konfiguracja" -#: src/app/routes.js:163 src/component/navigation.vue:1129 +#: src/app/routes.js:171 src/component/navigation.vue:1147 #: src/options/options.js:205 src/page/settings/general.vue:230 msgid "Moments" msgstr "Chwile" -#: src/component/navigation.vue:383 +#: src/component/navigation.vue:385 msgid "Monochrome" msgstr "Monochromatyczne" -#: src/page/settings/account.vue:475 src/component/photo/edit/details.vue:137 -#: src/component/photo/toolbar.vue:342 +#: src/page/settings/account.vue:481 src/component/photo/edit/details.vue:139 +#: src/component/photo/toolbar.vue:344 msgid "Month" msgstr "Miesiąc" @@ -1922,7 +1954,7 @@ msgstr "Najważniejsze" msgid "Move Files" msgstr "Przenieś pliki" -#: src/component/settings/password.vue:107 +#: src/component/settings/password.vue:108 msgid "Must have at least %{n} characters." msgstr "Musi mieć co najmniej %{n} znaków." @@ -1930,20 +1962,20 @@ msgstr "Musi mieć co najmniej %{n} znaków." msgid "Mute" msgstr "Wyciszenie" -#: src/page/about/feedback.vue:121 src/page/about/feedback.vue:122 -#: src/component/album/edit/dialog.vue:77 -#: src/component/label/edit/dialog.vue:71 -#: src/component/people/edit/dialog.vue:71 -#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:57 +#: src/page/about/feedback.vue:122 src/page/about/feedback.vue:123 +#: src/component/album/edit/dialog.vue:78 +#: src/component/label/edit/dialog.vue:72 +#: src/component/people/edit/dialog.vue:72 +#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:59 #: src/component/photo/edit/info.vue:125 src/component/photo/edit/people.vue:36 -#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:310 -#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:286 -#: src/page/albums.vue:98 src/page/auth/login.vue:168 +#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:311 +#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:289 +#: src/page/albums.vue:99 src/page/auth/login.vue:168 #: src/page/people/new.vue:68 src/page/settings/services.vue:37 msgid "Name" msgstr "Nazwa" -#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:60 +#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:65 #: src/component/label/edit/dialog.vue:19 #: src/component/people/edit/dialog.vue:19 #: src/component/photo/edit/labels.vue:30 @@ -1953,7 +1985,7 @@ msgstr "Nazwa" msgid "Name too long" msgstr "Nazwa zbyt długa" -#: src/page/admin/users.vue:204 src/options/options.js:361 +#: src/page/admin/users.vue:206 src/options/options.js:361 #: src/options/options.js:371 src/page/settings/services.vue:75 msgid "Never" msgstr "Nigdy" @@ -1962,13 +1994,13 @@ msgstr "Nigdy" msgid "New" msgstr "Nowi" -#: src/component/settings/password.vue:106 +#: src/component/settings/password.vue:107 msgid "New Password" msgstr "Nowe hasło" #: src/component/album/edit/dialog.vue:24 src/component/photo/toolbar.vue:114 #: src/component/photo/toolbar.vue:126 src/component/photo/toolbar.vue:136 -#: src/page/albums.vue:100 +#: src/page/albums.vue:101 msgid "Newest First" msgstr "Najnowsze" @@ -1984,15 +2016,15 @@ msgstr "Następna strona" msgid "Next visual" msgstr "Następny obraz" -#: src/component/people/merge/dialog.vue:47 -#: src/component/photo/archive/dialog.vue:47 +#: src/component/people/merge/dialog.vue:48 +#: src/component/photo/archive/dialog.vue:48 #: src/component/photo/edit/info.vue:281 src/component/photo/edit/info.vue:297 #: src/component/photo/edit/info.vue:313 src/component/photo/edit/info.vue:329 #: src/component/photo/edit/info.vue:344 msgid "No" msgstr "Nie" -#: src/page/albums.vue:607 src/page/albums.vue:282 +#: src/page/albums.vue:612 src/page/albums.vue:282 msgid "No albums found" msgstr "Nie znaleziono żadnego albumu" @@ -2000,7 +2032,7 @@ msgstr "Nie znaleziono żadnego albumu" msgid "No data available" msgstr "Brak dostępnych danych" -#: src/page/labels.vue:523 src/page/labels.vue:155 +#: src/page/labels.vue:528 src/page/labels.vue:155 msgid "No labels found" msgstr "Nie znaleziono żadnej etykiety" @@ -2013,15 +2045,15 @@ msgid "No more" msgstr "Nie więcej" #: src/component/photo/edit/people.vue:34 src/page/people/new.vue:346 -#: src/page/people/new.vue:443 src/page/people/new.vue:103 -#: src/page/people/recognized.vue:531 src/page/people/recognized.vue:146 +#: src/page/people/new.vue:446 src/page/people/new.vue:103 +#: src/page/people/recognized.vue:536 src/page/people/recognized.vue:146 msgid "No people found" msgstr "Nie znaleziono żadnej osoby" #: src/component/lightbox.vue:365 src/component/photo/view/cards.vue:144 #: src/component/photo/view/list.vue:82 src/component/photo/view/mosaic.vue:68 -#: src/page/album/photos.vue:488 src/page/library/browse.vue:123 -#: src/page/photos.vue:626 src/page/places.vue:624 src/page/places.vue:730 +#: src/page/album/photos.vue:499 src/page/library/browse.vue:123 +#: src/page/photos.vue:636 src/page/places.vue:624 src/page/places.vue:730 msgid "No pictures found" msgstr "Nie znaleziono żadnego zdjęcia" @@ -2030,7 +2062,11 @@ msgstr "Nie znaleziono żadnego zdjęcia" msgid "No recently edited pictures" msgstr "Brak ostatnio edytowanych zdjęć" -#: src/component/navigation.vue:1655 +#: src/component/location/dialog.vue:166 +msgid "No results" +msgstr "Brak wyników" + +#: src/component/navigation.vue:1686 msgid "No server connection" msgstr "Brak połączenia z serwerem" @@ -2042,7 +2078,7 @@ msgstr "Nie skonfigurowano żadnych serwerów." msgid "No services configured." msgstr "Nie skonfigurowano żadnych usług." -#: src/component/confirm/sponsor.vue:72 +#: src/component/confirm/sponsor.vue:73 msgid "No thanks" msgstr "Nie, dziękuję" @@ -2052,17 +2088,17 @@ msgstr "Brak ostrzeżeń lub błędów zawierających to słowo kluczowe. Zwró #: src/component/photo/view/cards.vue:154 src/component/photo/view/list.vue:59 #: src/component/photo/view/list.vue:92 src/component/photo/view/mosaic.vue:78 -#: src/component/upload/dialog.vue:208 +#: src/component/upload/dialog.vue:210 msgid "Non-photographic and low-quality images require a review before they appear in search results." msgstr "Obrazy niebędące fotografiami lub posiadające niską jakość wymagają zatwierdzenia, zanim pojawią się w wynikach wyszukiwania." -#: src/options/admin.js:47 src/options/auth.js:32 src/options/options.js:212 +#: src/options/admin.js:51 src/options/auth.js:33 src/options/options.js:212 #: src/options/options.js:328 msgid "None" msgstr "Brak" -#: src/common/util.js:853 src/component/lightbox.vue:633 -#: src/component/service/upload.vue:75 src/component/service/upload.vue:87 +#: src/component/lightbox.vue:633 src/component/service/upload.vue:75 +#: src/component/service/upload.vue:87 msgid "Not allowed" msgstr "Niedozwolone" @@ -2074,8 +2110,7 @@ msgstr "Nie znaleziono" msgid "Not sorted." msgstr "Nie posortowane." -#: src/common/util.js:858 src/component/lightbox.vue:627 -#: src/component/lightbox.vue:744 +#: src/component/lightbox.vue:627 src/component/lightbox.vue:744 msgid "Not supported" msgstr "Nieobsługiwane" @@ -2083,15 +2118,15 @@ msgstr "Nieobsługiwane" msgid "Note you may manually manage your originals folder and importing is optional." msgstr "Możesz też ręcznie zarządzać folderem oryginałów, importowanie jest opcjonalne." -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "Note:" msgstr "Uwaga:" -#: src/component/service/add.vue:120 +#: src/component/service/add.vue:121 msgid "Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload." msgstr "Uwaga: Tylko serwery WebDAV, takie jak Nextcloud lub PhotoPrism, mogą być skonfigurowane jako zdalna usługa do tworzenia kopii zapasowych i przesyłania plików." -#: src/component/photo/edit/details.vue:603 +#: src/component/photo/edit/details.vue:577 msgid "Notes" msgstr "Notatki" @@ -2099,8 +2134,8 @@ msgstr "Notatki" msgid "Nothing to see here yet." msgstr "Na razie nic tu nie widać." -#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:115 -#: src/component/settings/apps.vue:390 +#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:125 +#: src/component/settings/apps.vue:393 msgid "Nothing was found." msgstr "Nic nie znaleziono." @@ -2108,7 +2143,7 @@ msgstr "Nic nie znaleziono." msgid "Offline" msgstr "Offline" -#: src/options/admin.js:39 src/options/auth.js:28 +#: src/options/admin.js:43 src/options/auth.js:29 msgid "OIDC" msgstr "OIDC" @@ -2118,11 +2153,11 @@ msgstr "OK" #: src/component/album/edit/dialog.vue:25 src/component/photo/toolbar.vue:115 #: src/component/photo/toolbar.vue:127 src/component/photo/toolbar.vue:137 -#: src/page/albums.vue:101 +#: src/page/albums.vue:102 msgid "Oldest First" msgstr "Najstarsze" -#: src/component/settings/webdav.vue:77 +#: src/component/settings/webdav.vue:78 msgid "On Windows, enter the following resource in the connection dialog:" msgstr "W systemie Windows wpisz następujący adres w oknie dialogowym połączenia:" @@ -2134,11 +2169,11 @@ msgstr "Generowanie miniatur na żądanie może powodować wysokie zużycie proc msgid "Once a week" msgstr "Raz w tygodniu" -#: src/page/albums.vue:609 +#: src/page/albums.vue:614 msgid "One album found" msgstr "Znaleziono jeden album" -#: src/page/library/browse.vue:358 +#: src/page/library/browse.vue:360 msgid "One file found" msgstr "Znaleziono jeden plik" @@ -2146,24 +2181,24 @@ msgstr "Znaleziono jeden plik" msgid "One file uploaded" msgstr "Przesłano jeden plik" -#: src/page/library/browse.vue:360 +#: src/page/library/browse.vue:362 msgid "One folder found" msgstr "Znaleziono jeden folder" -#: src/page/labels.vue:525 +#: src/page/labels.vue:530 msgid "One label found" msgstr "Znaleziono jedną etykietę" -#: src/page/people/new.vue:348 src/page/people/new.vue:445 -#: src/page/people/recognized.vue:533 +#: src/page/people/new.vue:348 src/page/people/new.vue:448 +#: src/page/people/recognized.vue:538 msgid "One person found" msgstr "Znaleziono jedną osobę" -#: src/page/album/photos.vue:490 src/page/photos.vue:628 +#: src/page/album/photos.vue:501 src/page/photos.vue:638 msgid "One picture found" msgstr "Znaleziono jedno zdjęcie" -#: src/component/settings/passcode.vue:478 +#: src/component/settings/passcode.vue:481 msgid "Only locally managed accounts can be set up for authentication with 2FA." msgstr "Tylko konta zarządzane lokalnie można skonfigurować do uwierzytelniania za pomocą 2FA." @@ -2171,7 +2206,7 @@ msgstr "Tylko konta zarządzane lokalnie można skonfigurować do uwierzytelnian msgid "Open" msgstr "Otwarty" -#: src/component/service/add.vue:86 src/component/service/add.vue:107 +#: src/component/service/add.vue:87 src/component/service/add.vue:108 msgid "optional" msgstr "opcjonalny" @@ -2183,7 +2218,7 @@ msgstr "lub" msgid "Orange" msgstr "Pomarańczowy" -#: src/page/settings/account.vue:571 src/page/settings/account.vue:573 +#: src/page/settings/account.vue:577 src/page/settings/account.vue:579 msgid "Organization" msgstr "Organizacja" @@ -2199,7 +2234,7 @@ msgstr "Oryginalne nazwy plików będą przechowywane i indeksowane." msgid "Original Name" msgstr "Oryginalna nazwa" -#: src/component/navigation.vue:1304 src/model/file.js:196 +#: src/component/navigation.vue:1328 src/model/file.js:196 #: src/options/options.js:413 src/page/library/browse.vue:65 #: src/page/settings/content.vue:356 src/page/settings/general.vue:532 msgid "Originals" @@ -2210,7 +2245,7 @@ msgstr "Oryginały" msgid "Other" msgstr "Inne" -#: src/page/about/about.vue:77 src/page/about/about.vue:83 +#: src/page/about/about.vue:78 src/page/about/about.vue:84 msgid "Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible." msgstr "Naszą misją jest dostarczenie najbardziej przyjaznego dla użytkownika i jego prywatności rozwiązania, które pozwoli uporządkować i udostępniać zdjęcia." @@ -2222,7 +2257,7 @@ msgstr "Outdoor" msgid "Page {0}, Current page" msgstr "Strona {0}, Bieżąca strona" -#: src/component/photo/edit/files.vue:352 src/model/photo.js:859 +#: src/component/photo/edit/files.vue:352 src/model/photo.js:896 msgid "Pages" msgstr "Strony" @@ -2234,15 +2269,15 @@ msgstr "Nawigacja stronicowania" msgid "Panorama" msgstr "Panorama" -#: src/component/navigation.vue:402 +#: src/component/navigation.vue:404 msgid "Panoramas" msgstr "Panoramy" -#: src/component/user/add/dialog.vue:114 src/component/user/add/dialog.vue:115 -#: src/component/service/add.vue:106 src/component/service/edit.vue:352 -#: src/component/settings/apps.vue:121 src/component/settings/passcode.vue:106 -#: src/component/settings/passcode.vue:413 src/component/share/dialog.vue:27 -#: src/options/auth.js:91 src/page/auth/login.vue:196 +#: src/component/user/add/dialog.vue:115 src/component/user/add/dialog.vue:116 +#: src/component/service/add.vue:107 src/component/service/edit.vue:353 +#: src/component/settings/apps.vue:124 src/component/settings/passcode.vue:109 +#: src/component/settings/passcode.vue:416 src/component/share/dialog.vue:27 +#: src/options/auth.js:92 src/page/auth/login.vue:196 msgid "Password" msgstr "Hasło" @@ -2250,9 +2285,9 @@ msgstr "Hasło" msgid "Password changed" msgstr "Zmieniono hasło" -#: src/app/routes.js:404 src/app/routes.js:428 src/component/navigation.vue:845 -#: src/component/navigation.vue:1898 src/component/photo/edit/dialog.vue:228 -#: src/component/photo/edit/dialog.vue:245 src/options/options.js:201 +#: src/app/routes.js:412 src/app/routes.js:436 src/component/navigation.vue:853 +#: src/component/navigation.vue:1939 src/component/photo/edit/dialog.vue:238 +#: src/component/photo/edit/dialog.vue:257 src/options/options.js:201 #: src/page/settings/general.vue:180 msgid "People" msgstr "Ludzie" @@ -2273,23 +2308,23 @@ msgstr "Usuń pliki permanentnie, aby zwolnić miejsce na dysku." msgid "Person" msgstr "Osoba" -#: src/options/auth.js:42 +#: src/options/auth.js:43 msgid "Personal" msgstr "Osobiste" -#: src/model/photo.js:1273 +#: src/model/photo.js:1310 msgid "Photo" msgstr "Zdjęcie" -#: src/page/about/about.vue:156 +#: src/page/about/about.vue:158 msgid "PhotoPrism is 100% self-funded and independent." msgstr "PhotoPrism jest w 100% finansowany i niezależny." -#: src/page/about/about.vue:92 +#: src/page/about/about.vue:93 msgid "PhotoPrism+ Membership" msgstr "Członkostwo w PhotoPrism+" -#: src/app/routes.js:156 +#: src/app/routes.js:164 msgid "Photos" msgstr "Zdjęcia" @@ -2310,27 +2345,27 @@ msgstr "Miejsce" msgid "Place & Time" msgstr "Miejsce i czas" -#: src/app/routes.js:303 src/app/routes.js:309 src/app/routes.js:315 -#: src/app/routes.js:330 src/component/navigation.vue:986 -#: src/component/navigation.vue:1914 src/options/options.js:203 +#: src/app/routes.js:311 src/app/routes.js:317 src/app/routes.js:323 +#: src/app/routes.js:338 src/component/navigation.vue:999 +#: src/component/navigation.vue:1956 src/options/options.js:203 #: src/page/places.vue:51 src/page/settings/general.vue:609 #: src/page/settings/general.vue:638 msgid "Places" msgstr "Miejsca" -#: src/component/settings/password.vue:129 +#: src/component/settings/password.vue:130 msgid "Please confirm your new password." msgstr "Potwierdź nowe hasło." -#: src/component/settings/apps.vue:185 +#: src/component/settings/apps.vue:188 msgid "Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:" msgstr "Skopiuj następujące losowo wygenerowane hasło do aplikacji i przechowuj je w bezpiecznym miejscu, ponieważ nie będziesz mógł go ponownie zobaczyć:" -#: src/component/upload/dialog.vue:203 +#: src/component/upload/dialog.vue:205 msgid "Please do not upload any private, unlawful or offensive pictures." msgstr "Prosimy o nieprzesyłanie żadnych prywatnych, niezgodnych z prawem lub obraźliwych zdjęć." -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Please don't upload photos containing offensive content." msgstr "Proszę nie przesyłać zdjęć zawierających nieprzyzwoite treści." @@ -2338,11 +2373,11 @@ msgstr "Proszę nie przesyłać zdjęć zawierających nieprzyzwoite treści." msgid "Please enter OTP character {0}" msgstr "Wprowadź znak OTP {0}" -#: src/component/settings/password.vue:66 +#: src/component/settings/password.vue:67 msgid "Please note that changing your password will log you out on other devices and browsers." msgstr "Pamiętaj, że zmiana hasła wyloguje Cię na innych urządzeniach i przeglądarkach." -#: src/page/connect.vue:148 src/page/connect.vue:152 +#: src/page/connect.vue:149 src/page/connect.vue:153 msgid "Please restart your instance for the changes to take effect." msgstr "Proszę zrestartować swoją instancję, aby zmiany zaczęły obowiązywać." @@ -2362,11 +2397,11 @@ msgstr "Limit rozmiaru PNG: %{n}px" msgid "Portrait" msgstr "Portret" -#: src/component/service/edit.vue:273 +#: src/component/service/edit.vue:274 msgid "Preserve filenames" msgstr "Zachowaj oryginalne nazwy plików" -#: src/component/upload/dialog.vue:162 +#: src/component/upload/dialog.vue:164 msgid "Press enter to create a new album." msgstr "Naciśnij enter by utworzyć nowy album." @@ -2403,8 +2438,8 @@ msgstr "Poprzednia wizualizacja" msgid "Primary" msgstr "Główny" -#: src/app/routes.js:271 src/component/album/edit/dialog.vue:176 -#: src/component/navigation.vue:531 src/component/photo/edit/info.vue:303 +#: src/app/routes.js:279 src/component/album/edit/dialog.vue:177 +#: src/component/navigation.vue:533 src/component/photo/edit/info.vue:303 #: src/page/settings/general.vue:280 msgid "Private" msgstr "Prywatne" @@ -2429,7 +2464,7 @@ msgstr "Filtr jakości" msgid "Quality Score" msgstr "Ocena jakości" -#: src/page/admin/users.vue:169 +#: src/page/admin/users.vue:171 msgid "r" msgstr "r" @@ -2460,7 +2495,7 @@ msgstr "Tryb tylko do odczytu" #: src/component/album/edit/dialog.vue:26 src/component/photo/toolbar.vue:116 #: src/component/photo/toolbar.vue:128 src/component/photo/toolbar.vue:138 -#: src/page/albums.vue:102 +#: src/page/albums.vue:103 msgid "Recently Added" msgstr "Ostatnio dodane" @@ -2468,7 +2503,7 @@ msgstr "Ostatnio dodane" msgid "Recently Archived" msgstr "Ostatnio zarchiwizowane" -#: src/component/photo/toolbar.vue:139 src/page/albums.vue:103 +#: src/component/photo/toolbar.vue:139 src/page/albums.vue:104 msgid "Recently Edited" msgstr "Ostatnio edytowane" @@ -2493,24 +2528,24 @@ msgstr "Kod odzyskiwania" msgid "Red" msgstr "Czerwony" -#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:126 -#: src/component/album/toolbar.vue:79 src/component/photo/toolbar.vue:169 -#: src/page/albums.vue:173 src/page/labels.vue:112 +#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:128 +#: src/component/album/toolbar.vue:84 src/component/photo/toolbar.vue:169 +#: src/page/albums.vue:175 src/page/labels.vue:112 #: src/page/library/browse.vue:90 src/page/library/errors.vue:81 #: src/page/people/new.vue:54 src/page/people/recognized.vue:88 msgid "Refresh" msgstr "Odśwież" -#: src/app/routes.js:337 src/component/navigation.vue:943 -#: src/component/navigation.vue:1026 +#: src/app/routes.js:345 src/component/navigation.vue:955 +#: src/component/navigation.vue:1040 msgid "Regions" msgstr "Regiony" -#: src/page/connect.vue:275 src/page/connect.vue:284 +#: src/page/connect.vue:277 src/page/connect.vue:286 msgid "Register" msgstr "Zarejestruj się" -#: src/component/navigation.vue:1773 src/component/update.vue:68 +#: src/component/navigation.vue:1806 src/component/update.vue:68 msgid "Reload" msgstr "Załaduj ponownie" @@ -2555,34 +2590,34 @@ msgstr "Wymagaj, aby obrazy niefotograficzne i niskiej jakości były sprawdzane msgid "Resolution" msgstr "Rozdzielczość" -#: src/page/connect.vue:179 src/page/connect.vue:183 +#: src/page/connect.vue:180 src/page/connect.vue:184 #: src/page/settings/advanced.vue:782 msgid "Restart" msgstr "Uruchom ponownie stronę" -#: src/component/user/edit/dialog.vue:485 src/component/lightbox.vue:1221 +#: src/component/user/edit/dialog.vue:488 src/component/lightbox.vue:1221 #: src/component/photo/clipboard.vue:77 msgid "Restore" msgstr "Przywróć" -#: src/component/lightbox.vue:2000 +#: src/component/lightbox.vue:2020 msgid "Restored" msgstr "Przywrócony" -#: src/component/service/edit.vue:428 +#: src/component/service/edit.vue:429 msgid "Retry Limit" msgstr "Limit ponawiania prób" -#: src/component/settings/password.vue:128 +#: src/component/settings/password.vue:129 msgid "Retype Password" msgstr "Powtórz hasło" -#: src/app/routes.js:264 src/component/navigation.vue:505 +#: src/app/routes.js:272 src/component/navigation.vue:507 msgid "Review" msgstr "Do sprawdzenia" -#: src/component/user/add/dialog.vue:171 src/component/user/edit/dialog.vue:284 -#: src/page/admin/sessions.vue:262 src/page/admin/users.vue:73 +#: src/component/user/add/dialog.vue:172 src/component/user/edit/dialog.vue:285 +#: src/page/admin/sessions.vue:263 src/page/admin/users.vue:75 msgid "Role" msgstr "Rola" @@ -2594,11 +2629,11 @@ msgstr "Wiersze na stronę:" msgid "Satellite" msgstr "Satelita" -#: src/component/user/edit/dialog.vue:485 -#: src/component/album/edit/dialog.vue:211 -#: src/component/label/edit/dialog.vue:119 -#: src/component/people/edit/dialog.vue:132 src/component/service/edit.vue:466 -#: src/component/settings/password.vue:172 src/component/share/dialog.vue:181 +#: src/component/user/edit/dialog.vue:488 +#: src/component/album/edit/dialog.vue:212 +#: src/component/label/edit/dialog.vue:120 +#: src/component/people/edit/dialog.vue:133 src/component/service/edit.vue:467 +#: src/component/settings/password.vue:173 src/component/share/dialog.vue:181 msgid "Save" msgstr "Zapisz" @@ -2606,23 +2641,23 @@ msgstr "Zapisz" msgid "Scan" msgstr "Zeskanowany dokument" -#: src/component/settings/passcode.vue:179 +#: src/component/settings/passcode.vue:182 msgid "Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:" msgstr "Zeskanuj kod QR za pomocą aplikacji uwierzytelniającej lub użyj klucza konfiguracyjnego pokazanego poniżej, a następnie wprowadź wygenerowany kod weryfikacyjny:" -#: src/component/navigation.vue:461 +#: src/component/navigation.vue:463 msgid "Scans" msgstr "Skany" -#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:377 -#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:310 +#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:381 +#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:313 msgid "Scope" msgstr "Zakres" -#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:62 -#: src/component/navigation.vue:342 src/component/navigation.vue:1866 -#: src/component/photo/toolbar.vue:57 src/options/options.js:197 -#: src/page/albums.vue:100 src/page/labels.vue:77 +#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:69 +#: src/component/location/dialog.vue:133 src/component/navigation.vue:343 +#: src/component/navigation.vue:1905 src/component/photo/toolbar.vue:57 +#: src/options/options.js:197 src/page/albums.vue:100 src/page/labels.vue:77 #: src/page/library/errors.vue:76 src/page/people/recognized.vue:66 #: src/page/places.vue:79 src/page/settings/content.vue:235 msgid "Search" @@ -2660,11 +2695,11 @@ msgstr "Wybierz datę" msgid "Select dates" msgstr "Wybierz daty" -#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:154 +#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:156 msgid "Select or create an album" msgstr "Wybierz lub utwórz album" -#: src/component/upload/dialog.vue:138 +#: src/component/upload/dialog.vue:140 msgid "Select the files to upload…" msgstr "Wybierz pliki do przesłania…" @@ -2692,7 +2727,7 @@ msgstr "Wybór przywrócony" msgid "Sequential Name" msgstr "Nazwa sekwencyjna" -#: src/component/service/add.vue:67 src/component/service/edit.vue:322 +#: src/component/service/add.vue:68 src/component/service/edit.vue:323 #: src/component/share/dialog.vue:25 msgid "Service URL" msgstr "Adres URL do usługi" @@ -2701,7 +2736,7 @@ msgstr "Adres URL do usługi" msgid "Services" msgstr "Usługi" -#: src/model/session.js:107 src/options/auth.js:41 src/options/auth.js:90 +#: src/model/session.js:107 src/options/auth.js:42 src/options/auth.js:91 msgid "Session" msgstr "Sesja" @@ -2709,7 +2744,7 @@ msgstr "Sesja" msgid "Session ID" msgstr "Identyfikator sesji" -#: src/page/admin.vue:45 +#: src/page/admin.vue:44 msgid "Sessions" msgstr "Sesje" @@ -2717,22 +2752,22 @@ msgstr "Sesje" msgid "Set as Album Cover" msgstr "Ustaw jako okładkę albumu" -#: src/app/routes.js:101 src/app/routes.js:492 src/app/routes.js:504 -#: src/app/routes.js:521 src/app/routes.js:534 src/app/routes.js:547 -#: src/component/navigation.vue:1394 src/component/navigation.vue:1806 +#: src/app/routes.js:101 src/app/routes.js:500 src/app/routes.js:512 +#: src/app/routes.js:529 src/app/routes.js:542 src/app/routes.js:555 +#: src/component/navigation.vue:1419 src/component/navigation.vue:1841 msgid "Settings" msgstr "Ustawienia" #: src/page/settings/account.vue:115 src/page/settings/account.vue:144 -#: src/component/settings/passcode.vue:147 +#: src/component/settings/passcode.vue:151 msgid "Settings saved" msgstr "Zapisano ustawienia" -#: src/component/service/upload.vue:131 src/component/settings/passcode.vue:160 +#: src/component/service/upload.vue:132 src/component/settings/passcode.vue:163 msgid "Setup" msgstr "Ustawienia" -#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:98 +#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:103 #: src/component/photo/clipboard.vue:51 src/page/settings/general.vue:382 msgid "Share" msgstr "Udostępnij" @@ -2749,7 +2784,7 @@ msgstr "Udostępniaj swoje zdjęcia innym aplikacjom i usługom." msgid "Show" msgstr "Pokaż" -#: src/page/people/new.vue:116 src/page/people/new.vue:233 +#: src/page/people/new.vue:116 src/page/people/new.vue:235 msgid "Show all new faces" msgstr "Pokaż wszystkie nowe twarze" @@ -2794,7 +2829,7 @@ msgid "Similar" msgstr "Podobne" #: src/component/photo/edit/files.vue:51 src/component/photo/edit/files.vue:341 -#: src/component/service/edit.vue:139 src/component/sidebar/info.vue:96 +#: src/component/service/edit.vue:140 src/component/sidebar/info.vue:96 msgid "Size" msgstr "Rozmiar" @@ -2822,7 +2857,7 @@ msgstr "Coś poszło nie tak, spróbuj jeszcze raz" msgid "Sort by" msgstr "Sortuj według" -#: src/component/album/edit/dialog.vue:142 src/component/photo/toolbar.vue:288 +#: src/component/album/edit/dialog.vue:143 src/component/photo/toolbar.vue:290 #: src/page/albums.vue:214 msgid "Sort Order" msgstr "Kolejność sortowania" @@ -2857,7 +2892,7 @@ msgstr "Utwórz stosy ze zdjęć wykonanych w tym samym czasie i miejscu, zawart msgid "Stackable" msgstr "Może być częścią stosu" -#: src/component/navigation.vue:421 src/page/settings/content.vue:136 +#: src/component/navigation.vue:423 src/page/settings/content.vue:136 msgid "Stacks" msgstr "Stosy" @@ -2885,16 +2920,16 @@ msgstr "Miejsce przechowywania" msgid "Streets" msgstr "Ulice" -#: src/component/photo/edit/details.vue:494 +#: src/component/photo/edit/details.vue:468 #: src/component/photo/edit/labels.vue:44 msgid "Subject" msgstr "Temat" -#: src/page/about/feedback.vue:162 src/page/about/feedback.vue:163 +#: src/page/about/feedback.vue:163 src/page/about/feedback.vue:164 msgid "Submit" msgstr "Zgłoś się" -#: src/component/settings/passcode.vue:132 +#: src/component/settings/passcode.vue:136 msgid "Successfully activated" msgstr "Pomyślnie aktywowano" @@ -2903,23 +2938,23 @@ msgid "Successfully Connected" msgstr "Połączono pomyślnie" #: src/component/session/remove/dialog.vue:32 -#: src/component/settings/apps.vue:218 +#: src/component/settings/apps.vue:222 msgid "Successfully deleted" msgstr "Usunięto pomyślnie" -#: src/component/settings/passcode.vue:107 +#: src/component/settings/passcode.vue:108 msgid "Successfully verified" msgstr "Pomyślnie zweryfikowano" -#: src/component/user/edit/dialog.vue:398 src/page/admin/users.vue:163 +#: src/component/user/edit/dialog.vue:399 src/page/admin/users.vue:165 msgid "Super Admin" msgstr "Super Administrator" -#: src/component/service/add.vue:122 +#: src/component/service/add.vue:123 msgid "Support for additional services, like Google Drive, will be added over time." msgstr "Wsparcie dla innych usług, takich jak Google Drive, zostanie dodane w późniejszym czasie." -#: src/component/confirm/sponsor.vue:37 src/component/navigation.vue:1629 +#: src/component/confirm/sponsor.vue:38 src/component/navigation.vue:1660 msgid "Support Our Mission" msgstr "Wspieraj naszą misję" @@ -2927,7 +2962,7 @@ msgstr "Wspieraj naszą misję" msgid "Sync" msgstr "Synchronizacja" -#: src/component/service/edit.vue:289 +#: src/component/service/edit.vue:290 msgid "Sync raw and video files" msgstr "Synchronizuj obrazy RAW i filmy" @@ -2953,23 +2988,23 @@ msgstr "Teren" msgid "Text" msgstr "Tekst" -#: src/component/photo/edit/details.vue:32 src/page/people/new.vue:71 +#: src/component/photo/edit/details.vue:40 src/page/people/new.vue:71 msgid "Text too long" msgstr "Tekst za długi" -#: src/page/about/about.vue:145 +#: src/page/about/about.vue:146 msgid "Thank You for Your Support!" msgstr "Dziękujemy za wsparcie!" -#: src/page/about/about.vue:79 src/page/about/about.vue:85 +#: src/page/about/about.vue:80 src/page/about/about.vue:86 msgid "That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality." msgstr "Dlatego PhotoPrism został zbudowany od podstaw tak, aby działał wszędzie tam, gdzie go potrzebujesz, bez uszczerbku dla wolności, prywatności czy funkcjonalności." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "The index currently contains %{n} hidden files." msgstr "Indeks zawiera obecnie %{n} ukrytych plików." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates." msgstr "Może być to spowodowane brakiem wsparcia dla ich formatu, nieukończoną konwersją na JPEG lub byciem duplikatami istniejących plików." @@ -2984,44 +3019,44 @@ msgstr "Motyw" msgid "This field is required" msgstr "To pole jest wymagane" -#: src/component/settings/webdav.vue:100 src/page/settings/services.vue:144 +#: src/component/settings/webdav.vue:101 src/page/settings/services.vue:147 msgid "This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local." msgstr "Pozwala to na zamontowanie folderu oryginałów jako dysku sieciowego i umożliwia otwieranie, edytowanie i usuwanie plików z komputera lub smartfona w taki sam sposób, jakby były one przechowywane lokalnie." -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Time UTC" msgstr "Czas UTC" -#: src/component/photo/edit/details.vue:219 src/page/settings/general.vue:108 +#: src/component/photo/edit/details.vue:221 src/page/settings/general.vue:108 msgid "Time Zone" msgstr "Strefa czasowa" -#: src/component/service/edit.vue:408 +#: src/component/service/edit.vue:409 msgid "Timeout" msgstr "Upłynął limit czasu" -#: src/component/user/edit/dialog.vue:98 src/component/user/edit/dialog.vue:99 +#: src/component/user/edit/dialog.vue:99 src/component/user/edit/dialog.vue:100 #: src/page/settings/account.vue:84 src/page/settings/account.vue:86 msgctxt "Account" msgid "Title" msgstr "Tytuł" -#: src/component/photo/edit/details.vue:73 +#: src/component/photo/edit/details.vue:75 msgctxt "Photo" msgid "Title" msgstr "Tytuł" -#: src/component/photo/edit/info.vue:59 src/component/photo/edit/info.vue:155 +#: src/component/photo/edit/info.vue:61 src/component/photo/edit/info.vue:155 #: src/component/photo/edit/labels.vue:40 src/component/photo/view/list.vue:114 #: src/component/sidebar/info.vue:57 msgid "Title" msgstr "Tytuł" -#: src/page/settings/account.vue:553 src/page/settings/account.vue:555 +#: src/page/settings/account.vue:559 src/page/settings/account.vue:561 msgid "Title / Position" msgstr "Tytuł / stanowisko" -#: src/page/albums.vue:83 +#: src/page/albums.vue:84 msgid "Title too long" msgstr "Tytuł za długi" @@ -3029,19 +3064,19 @@ msgstr "Tytuł za długi" msgid "to" msgstr "do" -#: src/component/settings/passcode.vue:312 +#: src/component/settings/passcode.vue:315 msgid "To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place." msgstr "Aby uniknąć zablokowania konta, pobierz, wydrukuj lub skopiuj ten kod odzyskiwania już teraz i trzymaj go w bezpiecznym miejscu." -#: src/component/settings/apps.vue:272 +#: src/component/settings/apps.vue:275 msgid "To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:" msgstr "Aby wygenerować nowe hasło aplikacji, wprowadź nazwę i zakres uprawnień aplikacji oraz wybierz datę ważności:" -#: src/component/settings/passcode.vue:400 +#: src/component/settings/passcode.vue:403 msgid "To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:" msgstr "Aby przełączyć się na nową aplikację lub urządzenie uwierzytelniające, najpierw dezaktywuj uwierzytelnianie dwuskładnikowe, a następnie aktywuj je ponownie:" -#: src/page/connect.vue:221 src/page/connect.vue:230 +#: src/page/connect.vue:223 src/page/connect.vue:232 msgid "To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:" msgstr "Aby dokonać aktualizacji, możesz wprowadzić kod aktywacyjny lub kliknąć \"Zarejestruj się\", aby zarejestrować się na naszej stronie internetowej:" @@ -3049,7 +3084,7 @@ msgstr "Aby dokonać aktualizacji, możesz wprowadzić kod aktywacyjny lub klikn msgid "Today" msgstr "Dzisiaj" -#: src/component/album/toolbar.vue:70 src/component/photo/toolbar.vue:78 +#: src/component/album/toolbar.vue:71 src/component/photo/toolbar.vue:78 msgid "Toggle View" msgstr "Zmień widok" @@ -3076,20 +3111,24 @@ msgstr "Rozwiązywanie problemów" msgid "Try again using other filters or keywords." msgstr "Spróbuj ponownie używając innych filtrów lub słów kluczowych." -#: src/component/settings/passcode.vue:380 +#: src/component/settings/passcode.vue:383 msgid "Two-factor authentication has been enabled for your account." msgstr "Na Twoim koncie włączono uwierzytelnianie dwuskładnikowe." #: src/component/photo/edit/files.vue:58 src/component/photo/edit/files.vue:330 -#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:388 +#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:389 msgid "Type" msgstr "Typ" -#: src/options/auth.js:13 +#: src/component/album/toolbar.vue:178 +msgid "Unable to delete" +msgstr "Nie można usunąć" + +#: src/options/auth.js:14 msgid "Unauthorized" msgstr "Nieautoryzowane" -#: src/component/photo/edit/people.vue:94 +#: src/component/photo/edit/people.vue:95 msgid "Undo" msgstr "Cofnij" @@ -3097,16 +3136,16 @@ msgstr "Cofnij" msgid "Unique ID" msgstr "Unikalne ID" -#: src/page/settings/account.vue:451 src/page/settings/account.vue:476 -#: src/page/settings/account.vue:501 src/common/util.js:487 -#: src/component/photo/edit/details.vue:21 -#: src/component/photo/edit/details.vue:111 -#: src/component/photo/edit/details.vue:138 -#: src/component/photo/edit/details.vue:164 src/component/sidebar/info.vue:43 -#: src/model/album.js:193 src/model/photo.js:323 src/model/photo.js:784 -#: src/model/photo.js:809 src/model/photo.js:832 src/model/photo.js:850 -#: src/model/photo.js:897 src/model/photo.js:905 src/model/photo.js:994 -#: src/model/photo.js:1016 src/model/photo.js:1061 src/model/photo.js:1074 +#: src/page/settings/account.vue:457 src/page/settings/account.vue:482 +#: src/page/settings/account.vue:507 src/common/util.js:488 +#: src/component/photo/edit/details.vue:27 +#: src/component/photo/edit/details.vue:113 +#: src/component/photo/edit/details.vue:140 +#: src/component/photo/edit/details.vue:166 src/component/sidebar/info.vue:43 +#: src/model/album.js:193 src/model/photo.js:331 src/model/photo.js:821 +#: src/model/photo.js:846 src/model/photo.js:869 src/model/photo.js:887 +#: src/model/photo.js:934 src/model/photo.js:942 src/model/photo.js:1031 +#: src/model/photo.js:1053 src/model/photo.js:1098 src/model/photo.js:1111 #: src/model/user.js:157 src/options/options.js:51 src/options/options.js:69 #: src/options/options.js:86 src/options/options.js:100 #: src/options/options.js:112 src/page/library/errors.vue:251 @@ -3119,7 +3158,7 @@ msgstr "Nieznany" msgid "Unregistered" msgstr "Niezarejestrowany" -#: src/app/routes.js:215 src/component/navigation.vue:644 +#: src/app/routes.js:223 src/component/navigation.vue:648 msgid "Unsorted" msgstr "Nieposortowane" @@ -3127,7 +3166,7 @@ msgstr "Nieposortowane" msgid "Unstack" msgstr "Rozłóż stos" -#: src/component/photo/edit/files.vue:519 src/component/photo/edit/info.vue:416 +#: src/component/photo/edit/files.vue:521 src/component/photo/edit/info.vue:416 msgid "Updated" msgstr "Zaktualizowano" @@ -3143,7 +3182,7 @@ msgstr "Aktualizowanie indeksu" msgid "Updating moments" msgstr "Aktualizowanie chwil" -#: src/component/user/edit/dialog.vue:154 +#: src/component/user/edit/dialog.vue:155 msgid "Updating picture…" msgstr "Aktualizacja zdjęć…" @@ -3155,21 +3194,21 @@ msgstr "Aktualizowanie podglądów" msgid "Updating stacks" msgstr "Aktualizowanie stosów" -#: src/page/connect.vue:57 src/component/navigation.vue:1500 -#: src/component/navigation.vue:1614 src/component/navigation.vue:1999 +#: src/page/connect.vue:57 src/component/navigation.vue:1526 +#: src/component/navigation.vue:1644 src/component/navigation.vue:2047 #: src/page/connect.vue:58 msgid "Upgrade" msgstr "Aktualizacja" -#: src/page/about/about.vue:123 src/page/connect.vue:202 -#: src/component/confirm/sponsor.vue:98 src/page/about/about.vue:113 -#: src/page/connect.vue:206 +#: src/page/about/about.vue:124 src/page/connect.vue:204 +#: src/component/confirm/sponsor.vue:99 src/page/about/about.vue:114 +#: src/page/connect.vue:208 msgid "Upgrade Now" msgstr "Uaktualnij teraz" -#: src/component/album/toolbar.vue:108 src/component/navigation.vue:1824 -#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:144 -#: src/component/upload/dialog.vue:51 src/page/albums.vue:183 +#: src/component/album/toolbar.vue:113 src/component/navigation.vue:1860 +#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:145 +#: src/component/upload/dialog.vue:51 src/page/albums.vue:185 #: src/page/labels.vue:122 src/page/library/import.vue:133 #: src/page/settings/general.vue:307 src/page/settings/services.vue:38 msgid "Upload" @@ -3179,21 +3218,21 @@ msgstr "Wgraj" msgid "Upload complete" msgstr "Ukończono wgrywanie" -#: src/component/upload/dialog.vue:133 +#: src/component/upload/dialog.vue:135 msgid "Upload complete. Indexing…" msgstr "Wgrywanie zakończone. Indeksowanie…" #: src/component/upload/dialog.vue:296 src/component/upload/dialog.vue:315 -#: src/component/upload/dialog.vue:129 +#: src/component/upload/dialog.vue:131 msgid "Upload failed" msgstr "Wgrywanie nie powiodło się" -#: src/component/service/edit.vue:257 +#: src/component/service/edit.vue:258 msgid "Upload local files" msgstr "Wgraj pliki z dysku" -#: src/component/user/edit/dialog.vue:380 #: src/component/user/edit/dialog.vue:381 +#: src/component/user/edit/dialog.vue:382 msgid "Upload Path" msgstr "Ścieżka przesyłania" @@ -3201,7 +3240,7 @@ msgstr "Ścieżka przesyłania" msgid "Upload to WebDAV and share links with friends." msgstr "Udostępnij album poprzez link lub prześlij wybrane pliki na serwer WebDAV." -#: src/component/upload/dialog.vue:131 +#: src/component/upload/dialog.vue:133 msgid "Uploading %{n} of %{t}…" msgstr "Wgrywanie %{n} z %{t}…" @@ -3214,7 +3253,7 @@ msgstr "Wgrywanie zdjęć…" msgid "Uploading…" msgstr "Przesyłanie..." -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Uploads that may contain such images will be rejected automatically." msgstr "Tego typu obrazy zostaną automatycznie odrzucone." @@ -3222,7 +3261,7 @@ msgstr "Tego typu obrazy zostaną automatycznie odrzucone." msgid "Use Presets" msgstr "Użyj ustawień wstępnych" -#: src/component/settings/passcode.vue:283 +#: src/component/settings/passcode.vue:286 msgid "Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:" msgstr "Użyj następującego kodu odzyskiwania, aby uzyskać dostęp do swojego konta, jeśli nie możesz wygenerować prawidłowego kodu weryfikacyjnego za pomocą aplikacji uwierzytelniającej:" @@ -3230,12 +3269,12 @@ msgstr "Użyj następującego kodu odzyskiwania, aby uzyskać dostęp do swojego msgid "Use your recovery code or contact an administrator for help." msgstr "Użyj kodu odzyskiwania lub skontaktuj się z administratorem w celu uzyskania pomocy." -#: src/options/admin.js:10 src/page/admin/sessions.vue:59 -#: src/page/admin/sessions.vue:242 src/model/user.js:361 src/options/auth.js:7 +#: src/options/admin.js:14 src/page/admin/sessions.vue:59 +#: src/page/admin/sessions.vue:243 src/model/user.js:361 src/options/auth.js:8 msgid "User" msgstr "Użytkownik" -#: src/component/navigation.vue:1979 +#: src/component/navigation.vue:2025 msgid "User Guide" msgstr "Podręcznik użytkownika" @@ -3243,14 +3282,14 @@ msgstr "Podręcznik użytkownika" msgid "User Interface" msgstr "Interfejs użytkownika" -#: src/component/user/add/dialog.vue:87 src/component/user/add/dialog.vue:88 -#: src/page/admin/sessions.vue:220 src/page/admin/users.vue:71 -#: src/component/service/add.vue:85 src/component/service/edit.vue:337 +#: src/component/user/add/dialog.vue:88 src/component/user/add/dialog.vue:89 +#: src/page/admin/sessions.vue:221 src/page/admin/users.vue:73 +#: src/component/service/add.vue:86 src/component/service/edit.vue:338 #: src/component/share/dialog.vue:26 msgid "Username" msgstr "Nazwa użytkownika" -#: src/component/navigation.vue:1435 +#: src/component/navigation.vue:1461 msgid "Users" msgstr "Użytkownicy" @@ -3260,18 +3299,18 @@ msgstr "Użytkownicy" msgid "Vector" msgstr "Vector" -#: src/component/navigation.vue:440 +#: src/component/navigation.vue:442 msgid "Vectors" msgstr "Wektory" -#: src/component/settings/passcode.vue:227 src/page/auth/login.vue:144 +#: src/component/settings/passcode.vue:230 src/page/auth/login.vue:144 msgid "Verification Code" msgstr "Kod weryfikacyjny" #: src/component/photo/view/cards.vue:363 #: src/component/photo/view/cards.vue:491 src/component/photo/view/list.vue:190 #: src/component/photo/view/mosaic.vue:207 src/model/file.js:221 -#: src/model/photo.js:921 src/model/photo.js:939 src/options/options.js:293 +#: src/model/photo.js:958 src/model/photo.js:976 src/options/options.js:293 msgid "Video" msgstr "Film" @@ -3280,12 +3319,12 @@ msgstr "Film" msgid "Video Duration" msgstr "Czas trwania filmu" -#: src/app/routes.js:243 src/component/navigation.vue:728 +#: src/app/routes.js:251 src/component/navigation.vue:734 #: src/options/options.js:200 msgid "Videos" msgstr "Filmy" -#: src/component/photo/toolbar.vue:261 src/component/photo/view/cards.vue:350 +#: src/component/photo/toolbar.vue:263 src/component/photo/view/cards.vue:350 #: src/component/photo/view/mosaic.vue:194 msgid "View" msgstr "Widok" @@ -3294,11 +3333,11 @@ msgstr "Widok" msgid "View search results as a list." msgstr "Wyświetl wyniki wyszukiwania jako listę." -#: src/options/admin.js:14 src/options/auth.js:8 +#: src/options/admin.js:18 src/options/auth.js:9 msgid "Viewer" msgstr "Przeglądarka" -#: src/page/admin/sessions.vue:271 src/options/auth.js:12 +#: src/page/admin/sessions.vue:272 src/options/auth.js:13 msgid "Visitor" msgstr "Odwiedzający" @@ -3310,34 +3349,34 @@ msgstr "Podobieństwo wizualne" msgid "Warning" msgstr "Ostrzeżenie" -#: src/page/about/feedback.vue:60 +#: src/page/about/feedback.vue:61 msgid "We appreciate your feedback!" msgstr "Doceniamy Twoją opinię!" -#: src/page/about/feedback.vue:63 +#: src/page/about/feedback.vue:64 msgid "We do our best to respond within five business days or less." msgstr "Dokładamy wszelkich starań, aby odpowiedzieć w ciągu pięciu dni roboczych lub mniej." -#: src/component/user/add/dialog.vue:235 src/component/user/edit/dialog.vue:415 -#: src/page/admin/users.vue:80 +#: src/component/user/add/dialog.vue:236 src/component/user/edit/dialog.vue:416 +#: src/page/admin/users.vue:82 msgid "Web Login" msgstr "Logowanie przez Internet" -#: src/component/user/add/dialog.vue:248 src/component/user/edit/dialog.vue:432 -#: src/page/admin/users.vue:82 src/options/auth.js:55 src/options/auth.js:68 +#: src/component/user/add/dialog.vue:249 src/component/user/edit/dialog.vue:433 +#: src/page/admin/users.vue:84 src/options/auth.js:56 src/options/auth.js:69 #: src/options/options.js:444 msgid "WebDAV" msgstr "WebDAV" -#: src/component/settings/webdav.vue:51 +#: src/component/settings/webdav.vue:52 msgid "WebDAV clients can connect to PhotoPrism using the following URL:" msgstr "Klienci WebDAV mogą połączyć się z PhotoPrism za pomocą następującego adresu URL:" -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism." msgstr "Klienci WebDAV, jak Microsoft Windows Explorer lub Apple Finder, mogą łączyć się bezpośrednio z PhotoPrism." -#: src/component/service/upload.vue:50 src/component/share/dialog.vue:220 +#: src/component/service/upload.vue:51 src/component/share/dialog.vue:220 msgid "WebDAV Upload" msgstr "Wyślij na WebDAV" @@ -3345,8 +3384,8 @@ msgstr "Wyślij na WebDAV" msgid "WebGL support is disabled in your browser" msgstr "Obsługa WebGL jest wyłączona w twojej przeglądarce" -#: src/page/settings/account.vue:615 src/page/settings/account.vue:709 -#: src/page/settings/account.vue:601 +#: src/page/settings/account.vue:621 src/page/settings/account.vue:715 +#: src/page/settings/account.vue:607 msgid "Website" msgstr "Strona internetowa" @@ -3354,12 +3393,12 @@ msgstr "Strona internetowa" msgid "White" msgstr "Biały" -#: src/page/settings/account.vue:532 +#: src/page/settings/account.vue:538 msgid "Work Details" msgstr "Szczegóły pracy" -#: src/page/settings/account.vue:500 src/component/photo/edit/details.vue:163 -#: src/component/photo/toolbar.vue:315 src/page/albums.vue:159 +#: src/page/settings/account.vue:506 src/component/photo/edit/details.vue:165 +#: src/component/photo/toolbar.vue:317 src/page/albums.vue:159 msgid "Year" msgstr "Rok" @@ -3367,21 +3406,21 @@ msgstr "Rok" msgid "Yellow" msgstr "Żółty" -#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:58 -#: src/component/photo/archive/dialog.vue:58 +#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:59 +#: src/component/photo/archive/dialog.vue:59 #: src/component/photo/clipboard.vue:200 src/component/photo/edit/files.vue:365 #: src/component/photo/edit/files.vue:395 #: src/component/photo/edit/files.vue:401 #: src/component/photo/edit/files.vue:407 -#: src/component/photo/edit/files.vue:510 src/component/photo/edit/info.vue:281 +#: src/component/photo/edit/files.vue:512 src/component/photo/edit/info.vue:281 #: src/component/photo/edit/info.vue:297 src/component/photo/edit/info.vue:313 #: src/component/photo/edit/info.vue:329 src/component/photo/edit/info.vue:344 -#: src/component/photo/toolbar.vue:434 +#: src/component/photo/toolbar.vue:436 msgid "Yes" msgstr "Tak" -#: src/component/confirm/sponsor.vue:59 src/page/about/about.vue:158 -#: src/page/connect.vue:315 +#: src/component/confirm/sponsor.vue:60 src/page/about/about.vue:160 +#: src/page/connect.vue:317 msgid "You are welcome to contact us at membership@photoprism.app for questions regarding your membership." msgstr "Zapraszamy do kontaktu z nami pod adresem membership@photoprism.app w przypadku pytań dotyczących członkostwa." @@ -3393,7 +3432,11 @@ msgstr "Możesz pobrać tylko jeden album" msgid "You can only download one label" msgstr "Możesz pobrać tylko jedną etykietę" -#: src/component/upload/dialog.vue:203 +#: src/component/location/dialog.vue:178 +msgid "You can search for a location or move the marker on the map to change the position:" +msgstr "Możesz wyszukać lokalizację lub przesunąć znacznik na mapie, aby zmienić pozycję:" + +#: src/component/upload/dialog.vue:205 msgid "You can upload up to %{n} files for test purposes." msgstr "Do celów testowych można przesłać maksymalnie %{n} plików." @@ -3406,7 +3449,7 @@ msgstr "Możesz wybrać tylko jedną pozycję" msgid "You may rescan your library to find additional faces." msgstr "Możesz ponownie przeskanować swoją bibliotekę, aby znaleźć dodatkowe twarze." -#: src/page/connect.vue:146 src/page/connect.vue:150 +#: src/page/connect.vue:147 src/page/connect.vue:151 msgid "Your account has been successfully connected." msgstr "Twoje konto zostało pomyślnie połączone." @@ -3414,8 +3457,8 @@ msgstr "Twoje konto zostało pomyślnie połączone." msgid "Your browser does not support WebGL" msgstr "Twoja przeglądarka nie obsługuje WebGL" -#: src/component/confirm/sponsor.vue:43 src/page/about/about.vue:97 -#: src/page/about/about.vue:156 src/page/connect.vue:220 +#: src/component/confirm/sponsor.vue:44 src/page/about/about.vue:98 +#: src/page/about/about.vue:158 src/page/connect.vue:222 msgid "Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy." msgstr "Twoje stałe wsparcie pomaga nam dostarczać regularne aktualizacje i zachować niezależność, dzięki czemu możemy wypełniać naszą misję i chronić Twoją prywatność." @@ -3496,9 +3539,6 @@ msgstr "Powiększ / Pomniejsz" #~ msgid "Open Folder" #~ msgstr "Otwórz folder" -#~ msgid "Cannot copy to clipboard" -#~ msgstr "Nie można skopiować do schowka" - #~ msgid "Sound" #~ msgstr "Dźwięk" @@ -4153,9 +4193,6 @@ msgstr "Powiększ / Pomniejsz" #~ msgid "More than 50 results" #~ msgstr "Znaleziono ponad 50 wyników" -#~ msgid "No results" -#~ msgstr "Brak wyników" - #~ msgid "Not implemented yet" #~ msgstr "Jeszcze nie zaimplementowano" diff --git a/frontend/src/locales/pt.po b/frontend/src/locales/pt.po index fce260c41..e6499043a 100644 --- a/frontend/src/locales/pt.po +++ b/frontend/src/locales/pt.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: ci@photoprism.app\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2025-04-04 08:03+0000\n" +"PO-Revision-Date: 2025-07-06 08:58+0000\n" "Last-Translator: DeepL \n" "Language-Team: Portuguese \n" "Language: pt\n" @@ -11,7 +11,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 5.10.4\n" +"X-Generator: Weblate 5.12.2\n" "Generated-By: easygettext\n" #: src/locales.js:268 @@ -42,7 +42,7 @@ msgstr "{0} selecionado" msgid "{0}-{1} of {2}" msgstr "{0}-{1} de {2}" -#: src/page/albums.vue:612 +#: src/page/albums.vue:617 msgid "%{n} albums found" msgstr "%{n} álbuns encontrados" @@ -50,25 +50,25 @@ msgstr "%{n} álbuns encontrados" msgid "%{n} files uploaded" msgstr "%{n} arquivos enviados" -#: src/page/library/browse.vue:362 +#: src/page/library/browse.vue:364 msgid "%{n} folders found" msgstr "%{n} pastas encontradas" -#: src/component/navigation.vue:1676 +#: src/component/navigation.vue:1707 msgid "%{n} GB of %{q} GB used" msgstr "%{n} GB de %{q} GB utilizados" -#: src/page/labels.vue:528 +#: src/page/labels.vue:533 msgid "%{n} labels found" msgstr "%{n} etiquetas encontradas" -#: src/page/people/new.vue:350 src/page/people/new.vue:447 -#: src/page/people/recognized.vue:536 +#: src/page/people/new.vue:350 src/page/people/new.vue:450 +#: src/page/people/recognized.vue:541 msgid "%{n} people found" msgstr "%{n} pessoas encontradas" -#: src/page/album/photos.vue:308 src/page/album/photos.vue:493 -#: src/page/photos.vue:441 src/page/photos.vue:631 +#: src/page/album/photos.vue:313 src/page/album/photos.vue:504 +#: src/page/photos.vue:446 src/page/photos.vue:641 msgid "%{n} pictures found" msgstr "%{n} fotos encontradas" @@ -88,12 +88,12 @@ msgstr "1 hora" msgid "12 hours" msgstr "12 horas" -#: src/component/user/edit/dialog.vue:452 src/page/settings/account.vue:324 -#: src/component/settings/passcode.vue:75 +#: src/component/user/edit/dialog.vue:453 src/page/settings/account.vue:325 +#: src/component/settings/passcode.vue:78 msgid "2-Factor Authentication" msgstr "Autenticação de 2 factores" -#: src/component/user/edit/dialog.vue:451 src/options/auth.js:46 +#: src/component/user/edit/dialog.vue:452 src/options/auth.js:47 msgid "2FA" msgstr "2FA" @@ -109,20 +109,20 @@ msgstr "Um clique irá copiar para a área de transferência." msgid "A new version of %{s} is available:" msgstr "Encontra disponível uma nova versão de %{s}:" -#: src/component/user/edit/dialog.vue:233 -#: src/component/user/edit/dialog.vue:234 src/page/about/about.vue:56 +#: src/component/user/edit/dialog.vue:234 +#: src/component/user/edit/dialog.vue:235 src/page/about/about.vue:56 #: src/page/settings/account.vue:248 src/page/settings/account.vue:249 -#: src/app/routes.js:63 src/component/navigation.vue:1521 -#: src/page/people/recognized.vue:292 +#: src/app/routes.js:63 src/component/navigation.vue:1547 +#: src/page/people/recognized.vue:296 msgid "About" msgstr "Sobre" -#: src/options/auth.js:26 src/options/auth.js:44 +#: src/options/auth.js:27 src/options/auth.js:45 msgid "Access Token" msgstr "Token de acesso" -#: src/component/navigation.vue:87 src/component/navigation.vue:1788 -#: src/component/service/upload.vue:71 src/model/service.js:96 +#: src/component/navigation.vue:87 src/component/navigation.vue:1822 +#: src/component/service/upload.vue:72 src/model/service.js:96 #: src/model/user.js:171 src/page/settings.vue:85 #: src/page/settings/general.vue:582 msgid "Account" @@ -136,7 +136,7 @@ msgstr "Conta criada" msgid "Account deleted" msgstr "Conta excluída" -#: src/page/admin/users.vue:335 +#: src/page/admin/users.vue:337 msgid "Account restored" msgstr "Conta restaurada" @@ -157,8 +157,8 @@ msgstr "Ação" msgid "Actions" msgstr "Ações" -#: src/page/connect.vue:294 src/component/settings/passcode.vue:346 -#: src/page/connect.vue:303 +#: src/page/connect.vue:296 src/component/settings/passcode.vue:349 +#: src/page/connect.vue:305 msgid "Activate" msgstr "Ativar" @@ -174,20 +174,20 @@ msgstr "Ativar para ordenar por ordem crescente." msgid "Activate to sort descending." msgstr "Ativar para ordenar por ordem decrescente." -#: src/page/connect.vue:231 src/page/connect.vue:240 +#: src/page/connect.vue:233 src/page/connect.vue:242 msgid "Activation Code" msgstr "Código de ativação" -#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:83 -#: src/component/settings/apps.vue:448 +#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:92 +#: src/component/settings/apps.vue:451 msgid "Add" msgstr "Adicionar" -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:246 msgid "Add %{s}?" msgstr "Adiciona %{s}?" -#: src/component/user/add/dialog.vue:56 src/component/service/add.vue:49 +#: src/component/user/add/dialog.vue:57 src/component/service/add.vue:50 msgid "Add Account" msgstr "Adicionar conta" @@ -204,8 +204,8 @@ msgid "Add Link" msgstr "Adicionar Link" #: src/component/photo/edit/people.vue:25 -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:57 -#: src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:57 +#: src/page/people/new.vue:246 msgid "Add person?" msgstr "Acrescenta uma pessoa?" @@ -221,10 +221,15 @@ msgstr "Adicione fotos dos resultados da busca selecionando-as." msgid "Add to album" msgstr "Adicionar ao álbum" -#: src/component/photo/edit/files.vue:514 +#: src/component/photo/edit/files.vue:516 msgid "Added" msgstr "Adicionado" +#: src/component/location/dialog.vue:68 src/component/location/dialog.vue:90 +#: src/component/photo/edit/details.vue:246 +msgid "Adjust Location" +msgstr "Ajustar a localização" + #: src/options/admin.js:6 src/options/auth.js:6 msgid "Admin" msgstr "Administrador" @@ -245,7 +250,7 @@ msgstr "Depois de 3 dias" msgid "After 7 days" msgstr "Depois de 7 dias" -#: src/component/settings/passcode.vue:93 +#: src/component/settings/passcode.vue:96 msgid "After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:" msgstr "Depois de inserir sua senha para confirmação, você pode configurar a autenticação de dois fatores com um aplicativo ou dispositivo autenticador compatível:" @@ -277,12 +282,16 @@ msgstr "Álbum" msgid "Album Backups" msgstr "Cópias de segurança de álbuns" -#: src/page/albums.vue:674 +#: src/page/albums.vue:685 msgid "Album created" msgstr "Álbum criado" -#: src/app/routes.js:176 src/component/album/toolbar.vue:51 -#: src/component/navigation.vue:604 src/component/navigation.vue:1882 +#: src/page/album/photos.vue:589 +msgid "Album deleted" +msgstr "Álbum eliminado" + +#: src/app/routes.js:184 src/component/album/toolbar.vue:55 +#: src/component/navigation.vue:607 src/component/navigation.vue:1922 #: src/component/photo/edit/info.vue:220 src/options/options.js:198 msgid "Albums" msgstr "Álbuns" @@ -295,7 +304,7 @@ msgstr "Álbuns excluídos" msgid "All" msgstr "Todos" -#: src/page/albums.vue:465 +#: src/page/albums.vue:470 msgid "All %{n} albums loaded" msgstr "Todos os %{n} álbuns foram carregados" @@ -311,8 +320,8 @@ msgstr "Todas as pessoas %{n} carregadas" msgid "All Cameras" msgstr "Todas as Câmeras" -#: src/component/photo/toolbar.vue:74 src/page/albums.vue:44 -#: src/page/albums.vue:240 src/page/albums.vue:746 +#: src/component/photo/toolbar.vue:74 src/page/albums.vue:45 +#: src/page/albums.vue:242 src/page/albums.vue:757 msgid "All Categories" msgstr "Todas as Categorias" @@ -344,7 +353,7 @@ msgstr "Todos os Meses" msgid "All originals" msgstr "Todos os Originais" -#: src/component/photo/toolbar.vue:76 src/page/albums.vue:93 +#: src/component/photo/toolbar.vue:76 src/page/albums.vue:94 msgid "All Years" msgstr "Todos os Anos" @@ -356,7 +365,7 @@ msgstr "Como alternativa, pode enviar arquivos diretamente para servidores WebDA msgid "Altitude" msgstr "Altitude" -#: src/component/photo/edit/details.vue:272 +#: src/component/photo/edit/details.vue:297 msgid "Altitude (m)" msgstr "Altitude (m)" @@ -364,8 +373,7 @@ msgstr "Altitude (m)" msgid "AM" msgstr "AM" -#: src/app/routes.js:257 src/component/navigation.vue:791 -#: src/component/photo/edit/files.vue:364 +#: src/app/routes.js:265 src/component/photo/edit/files.vue:364 #: src/component/photo/view/cards.vue:327 #: src/component/photo/view/cards.vue:511 src/component/photo/view/list.vue:184 #: src/component/photo/view/mosaic.vue:171 src/options/options.js:301 @@ -376,43 +384,47 @@ msgstr "Animado" msgid "Animation" msgstr "Animação" +#: src/component/navigation.vue:797 +msgid "Animations" +msgstr "Animações" + #: src/component/share/dialog.vue:207 msgid "Any private photos and videos remain private and won't be shared." msgstr "Qualquer foto ou vídeo privado continuará privado e não será compartilhado." -#: src/component/service/edit.vue:372 +#: src/component/service/edit.vue:373 msgid "API Key" msgstr "Chave API" -#: src/page/admin/sessions.vue:357 src/options/auth.js:25 +#: src/page/admin/sessions.vue:361 src/options/auth.js:26 msgid "Application" msgstr "Aplicação" -#: src/component/photo/edit/details.vue:641 +#: src/component/photo/edit/details.vue:615 msgid "Apply" msgstr "Aplicar" #: src/component/photo/clipboard.vue:64 -#: src/component/photo/edit/details.vue:640 +#: src/component/photo/edit/details.vue:614 #: src/component/photo/view/cards.vue:416 msgid "Approve" msgstr "Aprovar" -#: src/page/settings/account.vue:374 src/component/settings/apps.vue:91 +#: src/page/settings/account.vue:378 src/component/settings/apps.vue:94 msgid "Apps and Devices" msgstr "Aplicações e dispositivos" -#: src/app/routes.js:287 src/component/lightbox.vue:1207 -#: src/component/navigation.vue:555 src/component/photo/clipboard.vue:142 +#: src/app/routes.js:295 src/component/lightbox.vue:1207 +#: src/component/navigation.vue:557 src/component/photo/clipboard.vue:142 #: src/component/photo/view/cards.vue:398 src/page/settings/general.vue:432 msgid "Archive" msgstr "Arquivo" -#: src/component/lightbox.vue:1982 src/component/photo/edit/info.vue:433 +#: src/component/lightbox.vue:2002 src/component/photo/edit/info.vue:433 msgid "Archived" msgstr "Arquivado" -#: src/component/photo/archive/dialog.vue:34 +#: src/component/photo/archive/dialog.vue:35 msgid "Are you sure you want to archive the selection?" msgstr "Tem a certeza que quer arquivar a seleção?" @@ -420,19 +432,23 @@ msgstr "Tem a certeza que quer arquivar a seleção?" msgid "Are you sure you want to delete these albums?" msgstr "Tem a certeza que quer excluir esses álbuns?" -#: src/component/label/delete/dialog.vue:34 +#: src/component/label/delete/dialog.vue:35 msgid "Are you sure you want to delete these labels?" msgstr "Tem a certeza que quer excluir essas etiquetas?" -#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:36 +#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:37 msgid "Are you sure you want to delete this account?" msgstr "Tem a certeza que quer excluir essa conta?" +#: src/component/album/toolbar.vue:136 +msgid "Are you sure you want to delete this album?" +msgstr "Tens a certeza de que queres apagar este álbum?" + #: src/component/photo/clipboard.vue:199 msgid "Are you sure you want to permanently delete these pictures?" msgstr "Tem a certeza que quer permanentemente apagar estas imagens?" -#: src/component/file/delete/dialog.vue:34 +#: src/component/file/delete/dialog.vue:35 msgid "Are you sure you want to permanently delete this file?" msgstr "Tem a certeza que quer permanentemente apagar este arquivo?" @@ -441,7 +457,7 @@ msgstr "Tem a certeza que quer permanentemente apagar este arquivo?" msgid "Are you sure?" msgstr "Você tem certeza?" -#: src/component/photo/edit/details.vue:537 +#: src/component/photo/edit/details.vue:511 msgid "Artist" msgstr "Artista" @@ -449,14 +465,14 @@ msgstr "Artista" msgid "Aspect Ratio" msgstr "Proporção da Tela" -#: src/app/routes.js:250 src/component/navigation.vue:770 +#: src/app/routes.js:258 src/component/navigation.vue:776 #: src/options/options.js:297 msgid "Audio" msgstr "Áudio" -#: src/component/user/add/dialog.vue:190 src/component/user/edit/dialog.vue:309 -#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:281 -#: src/page/admin/users.vue:75 +#: src/component/user/add/dialog.vue:191 src/component/user/edit/dialog.vue:310 +#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:282 +#: src/page/admin/users.vue:77 msgid "Authentication" msgstr "Autenticação" @@ -464,11 +480,11 @@ msgstr "Autenticação" msgid "Auto" msgstr "Automóvel" -#: src/component/settings/apps.vue:151 +#: src/component/settings/apps.vue:154 msgid "Back" msgstr "Voltar" -#: src/component/scroll.vue:20 +#: src/component/scroll.vue:18 msgid "Back to top" msgstr "Volta ao início" @@ -480,26 +496,26 @@ msgstr "Cópia de Segurança" msgid "Badge" msgstr "Crachá" -#: src/component/user/edit/dialog.vue:361 #: src/component/user/edit/dialog.vue:362 +#: src/component/user/edit/dialog.vue:363 msgid "Base Path" msgstr "caminho base" -#: src/page/about/about.vue:95 src/page/connect.vue:220 +#: src/page/about/about.vue:96 src/page/connect.vue:222 msgid "Become a member today, support our mission and enjoy our member benefits!" msgstr "Torne-se um membro hoje, apoie nossa missão e aproveite nossos benefícios para membros!" -#: src/component/confirm/sponsor.vue:51 src/page/about/about.vue:99 +#: src/component/confirm/sponsor.vue:52 src/page/about/about.vue:100 msgid "Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services." msgstr "Sendo 100% self-fundados e independentes, podemos prometer que nunca venderemos seus dados e que seremos sempre transparentes sobre nossos softwares e serviços." -#: src/component/user/edit/dialog.vue:258 -#: src/component/user/edit/dialog.vue:259 src/page/settings/account.vue:227 +#: src/component/user/edit/dialog.vue:259 +#: src/component/user/edit/dialog.vue:260 src/page/settings/account.vue:227 #: src/page/settings/account.vue:228 msgid "Bio" msgstr "Biografia" -#: src/page/settings/account.vue:431 +#: src/page/settings/account.vue:437 msgid "Birth Date" msgstr "Data de Nascimento" @@ -520,7 +536,7 @@ msgid "Brown" msgstr "Castanho" #: src/component/photo/edit/files.vue:263 src/component/photo/toolbar.vue:141 -#: src/component/upload/dialog.vue:240 +#: src/component/upload/dialog.vue:242 msgid "Browse" msgstr "Navegar" @@ -548,16 +564,16 @@ msgstr "Relatar erro" msgid "Busy, please wait…" msgstr "Ocupado, por favor aguarde…" -#: src/page/connect.vue:317 +#: src/page/connect.vue:319 msgid "By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct." msgstr "Ao usar o software e os serviços que fornecemos, você concorda com nossos termos de serviço, política de privacidade e código de conduta." -#: src/app/routes.js:189 src/component/navigation.vue:1081 +#: src/app/routes.js:197 src/component/navigation.vue:1097 #: src/options/options.js:204 src/page/settings/general.vue:205 msgid "Calendar" msgstr "Calendário" -#: src/component/photo/edit/details.vue:346 src/component/photo/toolbar.vue:232 +#: src/component/photo/edit/details.vue:320 src/component/photo/toolbar.vue:234 #: src/component/photo/view/cards.vue:467 src/component/photo/view/list.vue:116 msgid "Camera" msgstr "Câmera" @@ -570,12 +586,12 @@ msgstr "Série da Câmera" msgid "Can't access your authenticator app or device?" msgstr "Não consegues aceder à tua aplicação ou dispositivo autenticador?" -#: src/page/album/photos.vue:317 src/page/photos.vue:450 +#: src/page/album/photos.vue:322 src/page/photos.vue:455 msgid "Can't load more, limit reached" msgstr "Não é possível carregar mais, limite alcançado" #: src/common/clipboard.js:102 src/common/clipboard.js:139 -#: src/page/albums.vue:684 src/page/albums.vue:700 src/page/labels.vue:293 +#: src/page/albums.vue:695 src/page/albums.vue:711 src/page/labels.vue:293 #: src/page/labels.vue:313 src/page/library/browse.vue:233 #: src/page/library/browse.vue:249 src/page/people/new.vue:278 #: src/page/people/new.vue:294 src/page/people/recognized.vue:305 @@ -584,26 +600,31 @@ msgid "Can't select more items" msgstr "Não é possível selecionar mais itens" #: src/component/session/remove/dialog.vue:45 -#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:473 -#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:119 +#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:474 +#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:120 #: src/component/album/delete/dialog.vue:43 -#: src/component/album/edit/dialog.vue:199 src/component/confirm/dialog.vue:43 -#: src/component/file/delete/dialog.vue:47 -#: src/component/label/delete/dialog.vue:47 -#: src/component/label/edit/dialog.vue:107 -#: src/component/people/edit/dialog.vue:120 +#: src/component/album/edit/dialog.vue:200 src/component/confirm/dialog.vue:43 +#: src/component/file/delete/dialog.vue:48 +#: src/component/label/delete/dialog.vue:48 +#: src/component/label/edit/dialog.vue:108 +#: src/component/location/dialog.vue:200 +#: src/component/people/edit/dialog.vue:121 #: src/component/photo/album/dialog.vue:78 src/component/service/add.vue:19 -#: src/component/service/edit.vue:455 src/component/service/remove.vue:49 -#: src/component/service/upload.vue:117 src/component/settings/apps.vue:352 -#: src/component/settings/passcode.vue:249 -#: src/component/settings/passcode.vue:333 -#: src/component/settings/password.vue:159 src/component/share/dialog.vue:28 -#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:123 +#: src/component/service/edit.vue:456 src/component/service/remove.vue:50 +#: src/component/service/upload.vue:118 src/component/settings/apps.vue:355 +#: src/component/settings/passcode.vue:252 +#: src/component/settings/passcode.vue:336 +#: src/component/settings/password.vue:160 src/component/share/dialog.vue:28 +#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:124 #: src/page/library/import.vue:119 src/page/library/index.vue:128 msgid "Cancel" msgstr "Cancelar" -#: src/component/photo/edit/details.vue:87 src/component/photo/edit/info.vue:61 +#: src/common/util.js:863 src/common/util.js:870 +msgid "Cannot copy to clipboard" +msgstr "Não é possível copiar para a área de transferência" + +#: src/component/photo/edit/details.vue:89 src/component/photo/edit/info.vue:63 #: src/component/photo/edit/labels.vue:42 #: src/component/photo/view/cards.vue:445 src/component/sidebar/info.vue:72 msgid "Caption" @@ -617,17 +638,17 @@ msgstr "Cartões" msgid "Carousel slide {0} of {1}" msgstr "Slide de carrossel {0} de {1}" -#: src/page/about/feedback.vue:82 src/page/about/feedback.vue:83 -#: src/component/album/edit/dialog.vue:128 src/component/photo/toolbar.vue:397 +#: src/page/about/feedback.vue:83 src/page/about/feedback.vue:84 +#: src/component/album/edit/dialog.vue:129 src/component/photo/toolbar.vue:399 #: src/page/albums.vue:187 msgid "Category" msgstr "Categoria" -#: src/component/user/edit/dialog.vue:191 src/page/settings/account.vue:201 +#: src/component/user/edit/dialog.vue:192 src/page/settings/account.vue:201 msgid "Change Avatar" msgstr "Mudar Avatar" -#: src/page/settings/account.vue:297 src/component/settings/password.vue:48 +#: src/page/settings/account.vue:297 src/component/settings/password.vue:49 msgid "Change Password" msgstr "Alterar Senha" @@ -644,17 +665,17 @@ msgid "Change private flag" msgstr "Mudar marcação como privado" #: src/component/user/add/dialog.vue:108 src/component/user/add/dialog.vue:113 -#: src/component/user/edit/dialog.vue:90 src/component/user/edit/dialog.vue:95 +#: src/component/user/edit/dialog.vue:91 src/component/user/edit/dialog.vue:96 #: src/page/settings/account.vue:121 src/page/settings/account.vue:126 msgid "Changes could not be saved" msgstr "As mudanças não foram salvas" -#: src/component/user/edit/dialog.vue:83 src/component/user/edit/dialog.vue:159 +#: src/component/user/edit/dialog.vue:84 src/component/user/edit/dialog.vue:160 #: src/component/album/edit/dialog.vue:73 -#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1941 +#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1961 #: src/component/photo/edit/files.vue:162 src/component/service/edit.vue:90 #: src/component/share/dialog.vue:92 src/component/share/dialog.vue:111 -#: src/page/albums.vue:677 src/page/people/recognized.vue:119 +#: src/page/albums.vue:688 src/page/people/recognized.vue:119 #: src/page/settings/advanced.vue:62 src/page/settings/content.vue:62 #: src/page/settings/general.vue:108 msgid "Changes successfully saved" @@ -668,7 +689,7 @@ msgstr "As alterações às definições avançadas requerem um reinício para t msgid "Checked" msgstr "Verificado" -#: src/component/photo/edit/files.vue:495 +#: src/component/photo/edit/files.vue:497 msgid "Chroma" msgstr "Croma" @@ -684,24 +705,24 @@ msgstr "Limpeza" msgid "Clear {0}" msgstr "Limpa {0}" -#: src/options/auth.js:11 src/options/auth.js:23 src/options/auth.js:43 +#: src/options/auth.js:12 src/options/auth.js:24 src/options/auth.js:44 msgid "Client" msgstr "Cliente" -#: src/options/auth.js:24 +#: src/options/auth.js:25 msgid "Client Credentials" msgstr "Credenciais do cliente" -#: src/page/admin/sessions.vue:529 src/component/lightbox.vue:284 -#: src/component/lightbox.vue:1009 src/component/lightbox.vue:1010 -#: src/component/photo/edit/details.vue:627 src/component/photo/toolbar.vue:160 -#: src/component/settings/apps.vue:224 src/component/settings/apps.vue:437 -#: src/component/settings/passcode.vue:148 -#: src/component/settings/passcode.vue:456 -#: src/component/settings/passcode.vue:497 -#: src/component/settings/webdav.vue:131 src/component/share/dialog.vue:231 +#: src/component/user/edit/dialog.vue:474 src/page/admin/sessions.vue:536 +#: src/component/lightbox.vue:284 src/component/lightbox.vue:1009 +#: src/component/lightbox.vue:1010 src/component/photo/edit/details.vue:601 +#: src/component/photo/toolbar.vue:161 src/component/settings/apps.vue:227 +#: src/component/settings/apps.vue:440 src/component/settings/passcode.vue:151 +#: src/component/settings/passcode.vue:459 +#: src/component/settings/passcode.vue:500 +#: src/component/settings/webdav.vue:132 src/component/share/dialog.vue:231 #: src/component/sidebar/info.vue:26 src/component/update.vue:57 -#: src/component/upload/dialog.vue:228 src/locales.js:206 +#: src/component/upload/dialog.vue:230 src/locales.js:206 #: src/page/library/errors.vue:253 msgid "Close" msgstr "Fechar" @@ -710,11 +731,11 @@ msgstr "Fechar" msgid "Codec" msgstr "Codec" -#: src/component/photo/toolbar.vue:369 +#: src/component/photo/toolbar.vue:371 msgid "Color" msgstr "Cor" -#: src/component/photo/edit/files.vue:483 +#: src/component/photo/edit/files.vue:485 msgid "Color Profile" msgstr "Perfil da cor" @@ -722,7 +743,7 @@ msgstr "Perfil da cor" msgid "Colors" msgstr "Cores" -#: src/page/connect.vue:260 src/page/connect.vue:269 +#: src/page/connect.vue:262 src/page/connect.vue:271 msgid "Compare Editions" msgstr "Comparar Edições" @@ -735,17 +756,18 @@ msgstr "Escaneamento completo" msgid "Confidence" msgstr "Certeza" +#: src/component/location/dialog.vue:212 #: src/component/photo/album/dialog.vue:90 -#: src/component/settings/passcode.vue:261 +#: src/component/settings/passcode.vue:264 msgid "Confirm" msgstr "confirme" -#: src/component/service/add.vue:20 src/page/settings/services.vue:187 +#: src/component/service/add.vue:20 src/page/settings/services.vue:191 msgid "Connect" msgstr "Conectar" -#: src/page/settings/account.vue:401 src/component/settings/webdav.vue:45 -#: src/page/settings/services.vue:167 +#: src/page/settings/account.vue:406 src/component/settings/webdav.vue:46 +#: src/page/settings/services.vue:170 msgid "Connect via WebDAV" msgstr "Conectar via WebDAV" @@ -753,22 +775,22 @@ msgstr "Conectar via WebDAV" msgid "Connected" msgstr "Conectado" -#: src/page/settings/account.vue:640 src/page/settings/account.vue:532 +#: src/page/settings/account.vue:646 src/page/settings/account.vue:538 msgid "Contact Details" msgstr "Detalhes do contato" -#: src/page/about/feedback.vue:37 src/page/connect.vue:132 -#: src/page/connect.vue:136 +#: src/page/about/feedback.vue:37 src/page/connect.vue:133 +#: src/page/connect.vue:137 msgid "Contact Us" msgstr "Contactar-nos" #: src/page/albums.vue:433 src/page/labels.vue:237 -#: src/page/people/recognized.vue:306 +#: src/page/people/recognized.vue:310 msgid "Contains %{n} pictures." msgstr "Contém %{n} imagens." #: src/page/albums.vue:427 src/page/labels.vue:231 -#: src/page/people/recognized.vue:300 +#: src/page/people/recognized.vue:304 msgid "Contains one picture." msgstr "Contém uma foto." @@ -776,7 +798,7 @@ msgstr "Contém uma foto." msgid "Content" msgstr "Conteúdo" -#: src/component/settings/apps.vue:163 +#: src/component/settings/apps.vue:166 msgid "Continue" msgstr "Continuar" @@ -784,7 +806,7 @@ msgstr "Continuar" msgid "Continue with %{provider}" msgstr "Continua com %{provider}" -#: src/options/admin.js:18 src/options/auth.js:9 +#: src/options/admin.js:22 src/options/auth.js:10 msgid "Contributor" msgstr "Contribuinte" @@ -792,15 +814,15 @@ msgstr "Contribuinte" msgid "Converting" msgstr "A converter" -#: src/common/util.js:846 +#: src/common/util.js:856 msgid "Copied to clipboard" msgstr "Copiado para a área de transferência de texto" -#: src/component/settings/apps.vue:250 src/component/settings/passcode.vue:358 +#: src/component/settings/apps.vue:253 src/component/settings/passcode.vue:361 msgid "Copy" msgstr "Copiar" -#: src/component/photo/edit/details.vue:516 +#: src/component/photo/edit/details.vue:490 msgid "Copyright" msgstr "Direitos de Autor" @@ -808,8 +830,8 @@ msgstr "Direitos de Autor" msgid "Couldn't find anything." msgstr "Não foi encontrado nada." -#: src/page/settings/account.vue:685 src/component/photo/edit/details.vue:242 -#: src/component/photo/toolbar.vue:203 src/page/settings/account.vue:577 +#: src/page/settings/account.vue:691 src/component/photo/edit/details.vue:268 +#: src/component/photo/toolbar.vue:205 src/page/settings/account.vue:583 msgid "Country" msgstr "País" @@ -833,7 +855,7 @@ msgstr "Cria ficheiros YAML para fazer cópias de segurança dos metadados dos msgid "Create YAML sidecar files to back up picture metadata." msgstr "Cria ficheiros YAML sidecar para fazer cópias de segurança dos metadados das imagens." -#: src/page/admin/sessions.vue:417 src/component/photo/edit/info.vue:412 +#: src/page/admin/sessions.vue:422 src/component/photo/edit/info.vue:412 msgid "Created" msgstr "Criado" @@ -845,11 +867,11 @@ msgstr "Criando miniaturas para" msgid "Cubic: Moderate Quality, Good Performance" msgstr "Cubic: Qualidade razoável, bom desempenho" -#: src/component/settings/password.vue:85 +#: src/component/settings/password.vue:86 msgid "Current Password" msgstr "Senha Atual" -#: src/options/themes.js:919 src/options/themes.js:928 +#: src/options/themes.js:920 src/options/themes.js:929 msgid "Custom" msgstr "Personalizado" @@ -865,11 +887,11 @@ msgstr "Diariamente" msgid "Database Backups" msgstr "Cópias de segurança da base de dados" -#: src/page/settings/account.vue:450 src/component/photo/edit/details.vue:110 +#: src/page/settings/account.vue:456 src/component/photo/edit/details.vue:112 msgid "Day" msgstr "Dia" -#: src/component/settings/passcode.vue:445 +#: src/component/settings/passcode.vue:448 msgid "Deactivate" msgstr "Desativar" @@ -877,36 +899,40 @@ msgstr "Desativar" msgid "Debug Logs" msgstr "Registros de depuração" -#: src/options/admin.js:31 src/page/admin/sessions.vue:136 -#: src/page/admin/users.vue:176 src/component/photo/edit/info.vue:47 +#: src/options/admin.js:35 src/page/admin/sessions.vue:136 +#: src/page/admin/users.vue:178 src/component/photo/edit/info.vue:47 #: src/component/photo/edit/info.vue:110 src/model/session.js:66 -#: src/model/user.js:246 src/options/auth.js:20 src/options/auth.js:21 -#: src/options/auth.js:39 src/options/auth.js:40 src/options/options.js:196 +#: src/model/user.js:246 src/options/auth.js:21 src/options/auth.js:22 +#: src/options/auth.js:40 src/options/auth.js:41 src/options/options.js:196 #: src/options/options.js:232 src/options/options.js:316 -#: src/options/themes.js:773 +#: src/options/themes.js:774 msgid "Default" msgstr "Padrão" -#: src/component/service/edit.vue:123 +#: src/component/service/edit.vue:124 msgid "Default Folder" msgstr "Pasta Padrão" #: src/component/session/remove/dialog.vue:56 #: src/component/user/remove/dialog.vue:56 src/component/album/clipboard.vue:97 -#: src/component/album/delete/dialog.vue:54 -#: src/component/file/delete/dialog.vue:58 src/component/label/clipboard.vue:58 -#: src/component/label/delete/dialog.vue:58 +#: src/component/album/delete/dialog.vue:54 src/component/album/toolbar.vue:137 +#: src/component/file/delete/dialog.vue:59 src/component/label/clipboard.vue:58 +#: src/component/label/delete/dialog.vue:59 #: src/component/photo/clipboard.vue:168 src/component/photo/edit/files.vue:238 -#: src/component/service/remove.vue:60 src/component/share/dialog.vue:170 +#: src/component/service/remove.vue:61 src/component/share/dialog.vue:170 #: src/page/settings/general.vue:457 msgid "Delete" msgstr "Apagar" +#: src/component/album/toolbar.vue:133 +msgid "Delete Album" +msgstr "Apaga o álbum" + #: src/component/photo/toolbar.vue:119 src/page/library/errors.vue:95 msgid "Delete All" msgstr "Apagar tudo" -#: src/component/photo/toolbar.vue:433 src/page/library/errors.vue:193 +#: src/component/photo/toolbar.vue:435 src/page/library/errors.vue:193 msgid "Delete all?" msgstr "Apaga tudo?" @@ -914,16 +940,16 @@ msgstr "Apaga tudo?" msgid "Delete orphaned index entries, sidecar files and thumbnails." msgstr "Eliminar entradas de índice órfãs, ficheiros sidecar e miniaturas." -#: src/component/album/edit/dialog.vue:107 src/page/albums.vue:411 +#: src/component/album/edit/dialog.vue:108 src/page/albums.vue:411 msgid "Description" msgstr "Descrição" -#: src/component/settings/webdav.vue:115 +#: src/component/settings/webdav.vue:116 msgid "Detailed instructions can be found in our User Guide." msgstr "Instruções detalhadas podem ser encontradas no nosso Guia de Utilizador." -#: src/component/photo/edit/dialog.vue:156 -#: src/component/photo/edit/dialog.vue:173 +#: src/component/photo/edit/dialog.vue:162 +#: src/component/photo/edit/dialog.vue:181 msgid "Details" msgstr "Detalhes" @@ -987,8 +1013,8 @@ msgstr "Desativa o suporte a gráficos vetoriais." msgid "Disables video transcoding and thumbnail extraction." msgstr "Desativa a transcodificação de vídeo e a extração de miniaturas." -#: src/app/routes.js:558 src/app/routes.js:565 src/app/routes.js:572 -#: src/app/routes.js:579 +#: src/app/routes.js:566 src/app/routes.js:573 src/app/routes.js:580 +#: src/app/routes.js:587 msgid "Discover" msgstr "Explorar" @@ -996,9 +1022,9 @@ msgstr "Explorar" msgid "Dismiss" msgstr "Dispensa" -#: src/component/user/add/dialog.vue:133 src/component/user/add/dialog.vue:134 -#: src/component/user/edit/dialog.vue:163 -#: src/component/user/edit/dialog.vue:164 src/page/admin/users.vue:72 +#: src/component/user/add/dialog.vue:134 src/component/user/add/dialog.vue:135 +#: src/component/user/edit/dialog.vue:164 +#: src/component/user/edit/dialog.vue:165 src/page/admin/users.vue:74 #: src/page/settings/account.vue:149 src/page/settings/account.vue:151 msgid "Display Name" msgstr "Nome de Exibição" @@ -1013,12 +1039,12 @@ msgstr "Apresenta os títulos das imagens nos resultados da pesquisa." #: src/component/photo/view/cards.vue:339 #: src/component/photo/view/cards.vue:521 -#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:174 +#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:176 #: src/options/options.js:309 msgid "Document" msgstr "Documento" -#: src/component/navigation.vue:480 +#: src/component/navigation.vue:482 msgid "Documents" msgstr "Documentos" @@ -1034,16 +1060,16 @@ msgstr "Não use o ImageMagick para converter imagens." msgid "Don't use RawTherapee to convert RAW images." msgstr "Não use RawTherapee para converter arquivos RAW." -#: src/component/settings/apps.vue:238 src/component/share/dialog.vue:29 +#: src/component/settings/apps.vue:241 src/component/share/dialog.vue:29 msgid "Done" msgstr "Concluído" -#: src/component/upload/dialog.vue:135 src/page/library/import.vue:46 +#: src/component/upload/dialog.vue:137 src/page/library/import.vue:46 #: src/page/library/index.vue:52 msgid "Done." msgstr "Concluído." -#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:118 +#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:123 #: src/component/file/clipboard.vue:48 src/component/lightbox.vue:1235 #: src/component/people/clipboard.vue:47 src/component/photo/clipboard.vue:116 #: src/component/photo/edit/files.vue:168 src/page/settings/content.vue:331 @@ -1055,7 +1081,7 @@ msgstr "Descarregar" msgid "Download only original media files, without any automatically generated files." msgstr "Baixe apenas arquivos de mídia originais, sem nenhum arquivo gerado automaticamente." -#: src/component/service/edit.vue:237 +#: src/component/service/edit.vue:238 msgid "Download remote files" msgstr "Descarregar arquivos remotos" @@ -1063,9 +1089,9 @@ msgstr "Descarregar arquivos remotos" msgid "Download single files and zip archives." msgstr "Descarregar ficheiros individuais e arquivos zip." -#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:157 +#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:172 #: src/component/file/clipboard.vue:61 src/component/label/clipboard.vue:86 -#: src/component/lightbox.vue:2021 src/component/people/clipboard.vue:59 +#: src/component/lightbox.vue:2041 src/component/people/clipboard.vue:59 #: src/component/photo/clipboard.vue:220 src/component/photo/edit/files.vue:119 #: src/component/photo/view/cards.vue:169 src/component/photo/view/list.vue:142 #: src/page/library/browse.vue:139 @@ -1080,7 +1106,7 @@ msgstr "Filtro de redimensionamento" msgid "Drag and drop files here" msgstr "Arrasta e larga ficheiros aqui" -#: src/page/about/feedback.vue:61 +#: src/page/about/feedback.vue:62 msgid "Due to the high volume of emails we receive, our team may be unable to get back to you immediately." msgstr "Devido ao alto volume de e-mails que recebemos, nossa equipe pode não conseguir responder-lhe imediatamente." @@ -1100,23 +1126,23 @@ msgstr "Amostras dinâmicas" msgid "Dynamic Size Limit: %{n}px" msgstr "Tamanho dinâmico limite: %{n}px" -#: src/page/about/feedback.vue:141 src/page/about/feedback.vue:140 +#: src/page/about/feedback.vue:142 src/page/about/feedback.vue:141 msgid "E-Mail" msgstr "Email" -#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:89 +#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:94 #: src/component/lightbox.vue:1136 src/component/lightbox.vue:1137 #: src/component/photo/clipboard.vue:90 src/page/settings/general.vue:407 msgid "Edit" msgstr "Editar" -#: src/component/album/edit/dialog.vue:54 -#: src/component/label/edit/dialog.vue:52 -#: src/component/people/edit/dialog.vue:52 +#: src/component/album/edit/dialog.vue:55 +#: src/component/label/edit/dialog.vue:53 +#: src/component/people/edit/dialog.vue:53 msgid "Edit %{s}" msgstr "Editar %{s}" -#: src/component/user/edit/dialog.vue:61 src/component/service/edit.vue:79 +#: src/component/user/edit/dialog.vue:62 src/component/service/edit.vue:79 msgid "Edit Account" msgstr "Editar Conta" @@ -1128,8 +1154,8 @@ msgstr "Editar Foto" msgid "Edited" msgstr "Editado" -#: src/component/user/add/dialog.vue:151 src/component/user/edit/dialog.vue:213 -#: src/page/settings/account.vue:171 src/page/settings/account.vue:593 +#: src/component/user/add/dialog.vue:152 src/component/user/edit/dialog.vue:214 +#: src/page/settings/account.vue:171 src/page/settings/account.vue:599 msgid "Email" msgstr "E-mail" @@ -1145,7 +1171,7 @@ msgstr "Habilita novas funcionalidades que podem estar incompletas ou instáveis msgid "Enables RAW converter presets. May reduce performance." msgstr "Permite predefinições de conversores RAW. Pode reduzir o desempenho." -#: src/component/settings/passcode.vue:127 +#: src/component/settings/passcode.vue:130 msgid "Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account." msgstr "Ativar a autenticação de dois fatores significa que você precisará de um código de verificação gerado aleatoriamente para fazer login, portanto, mesmo que alguém obtenha acesso à sua senha, não conseguirá acessar sua conta." @@ -1157,7 +1183,7 @@ msgstr "Introduzir data" msgid "Enter dates" msgstr "Introduzir datas" -#: src/component/settings/passcode.vue:213 src/page/auth/login.vue:104 +#: src/component/settings/passcode.vue:216 src/page/auth/login.vue:104 msgid "Enter the code generated by your authenticator app:" msgstr "Introduz o código gerado pela tua aplicação de autenticação:" @@ -1165,7 +1191,7 @@ msgstr "Introduz o código gerado pela tua aplicação de autenticação:" msgid "Enter verification code" msgstr "Digite o código de verificação" -#: src/component/settings/apps.vue:109 +#: src/component/settings/apps.vue:112 msgid "Enter your password to confirm the action and continue:" msgstr "Digite sua senha para confirmar a ação e continuar:" @@ -1174,7 +1200,7 @@ msgstr "Digite sua senha para confirmar a ação e continuar:" msgid "Error" msgstr "Erro" -#: src/app/routes.js:374 src/component/navigation.vue:1348 +#: src/app/routes.js:382 src/component/navigation.vue:1372 msgid "Errors" msgstr "Erros" @@ -1210,13 +1236,13 @@ msgstr "A extração de metadados com o ExifTool é necessária para suporte tot msgid "Experimental Features" msgstr "Funcionalidades experimentais" -#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:453 -#: src/component/service/edit.vue:157 src/component/settings/apps.vue:73 -#: src/component/settings/apps.vue:326 src/component/share/dialog.vue:62 +#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:458 +#: src/component/service/edit.vue:158 src/component/settings/apps.vue:73 +#: src/component/settings/apps.vue:329 src/component/share/dialog.vue:62 msgid "Expires" msgstr "Expira" -#: src/component/photo/edit/details.vue:396 +#: src/component/photo/edit/details.vue:370 msgid "Exposure" msgstr "Exposição" @@ -1224,7 +1250,7 @@ msgstr "Exposição" msgid "Extract still images and generate thumbnails while indexing." msgstr "Extrai imagens fixas e gera miniaturas durante a indexação." -#: src/component/photo/edit/details.vue:444 +#: src/component/photo/edit/details.vue:418 msgid "F Number" msgstr "Razão focal" @@ -1240,7 +1266,7 @@ msgstr "Faces" msgid "Failed removing link" msgstr "Falha ao remover o link" -#: src/page/connect.vue:106 src/page/connect.vue:110 +#: src/page/connect.vue:107 src/page/connect.vue:111 msgid "Failed to connect account." msgstr "Não conseguiste ligar a conta." @@ -1248,8 +1274,8 @@ msgstr "Não conseguiste ligar a conta." msgid "Failed updating link" msgstr "Falha ao atualizar o link" -#: src/component/user/edit/dialog.vue:143 -#: src/component/user/edit/dialog.vue:144 src/page/settings/account.vue:128 +#: src/component/user/edit/dialog.vue:144 +#: src/component/user/edit/dialog.vue:145 src/page/settings/account.vue:128 #: src/page/settings/account.vue:130 msgid "Family Name" msgstr "Nome de família" @@ -1258,15 +1284,15 @@ msgstr "Nome de família" msgid "Fast" msgstr "Rápido" -#: src/component/album/edit/dialog.vue:159 -#: src/component/label/edit/dialog.vue:85 -#: src/component/people/edit/dialog.vue:85 +#: src/component/album/edit/dialog.vue:160 +#: src/component/label/edit/dialog.vue:86 +#: src/component/people/edit/dialog.vue:86 #: src/component/photo/edit/info.vue:287 msgid "Favorite" msgstr "Favorito" -#: src/app/routes.js:222 src/component/navigation.vue:893 -#: src/options/options.js:202 src/page/albums.vue:97 +#: src/app/routes.js:230 src/component/navigation.vue:903 +#: src/options/options.js:202 src/page/albums.vue:98 msgid "Favorites" msgstr "Favoritos" @@ -1274,7 +1300,7 @@ msgstr "Favoritos" msgid "Feature Request" msgstr "Solicitar funcionalidade" -#: src/component/navigation.vue:1456 +#: src/component/navigation.vue:1482 msgid "Feedback" msgstr "Dê a sua opinião" @@ -1282,11 +1308,12 @@ msgstr "Dê a sua opinião" msgid "Female" msgstr "Feminino" -#: src/component/photo/edit/info.vue:214 src/model/file.js:290 +#: src/component/photo/edit/info.vue:57 src/component/photo/edit/info.vue:214 +#: src/model/file.js:290 msgid "File" msgstr "Ficheiro" -#: src/app/routes.js:343 +#: src/app/routes.js:351 msgid "File Browser" msgstr "Explorador de Arquivos" @@ -1309,8 +1336,8 @@ msgstr "Tamanho do Arquivo" msgid "Filename" msgstr "Nome do arquivo" -#: src/component/navigation.vue:1930 src/component/photo/edit/dialog.vue:267 -#: src/component/photo/edit/dialog.vue:284 +#: src/component/navigation.vue:1973 src/component/photo/edit/dialog.vue:279 +#: src/component/photo/edit/dialog.vue:298 msgid "Files" msgstr "Ficheiro" @@ -1322,26 +1349,26 @@ msgstr "Arquivos com nomes sequenciais, como \"IMG_1234 (2)\" ou \"IMG_1234 (3)\ msgid "First page" msgstr "Primeira página" -#: src/component/photo/edit/details.vue:465 +#: src/component/photo/edit/details.vue:439 msgid "Focal Length" msgstr "Distância Focal" -#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:118 -#: src/component/service/edit.vue:189 src/component/service/edit.vue:194 -#: src/component/service/upload.vue:90 src/component/service/upload.vue:96 +#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:119 +#: src/component/service/edit.vue:190 src/component/service/edit.vue:195 +#: src/component/service/upload.vue:91 src/component/service/upload.vue:97 #: src/model/folder.js:199 src/page/library/browse.vue:182 msgid "Folder" msgstr "Pasta" -#: src/page/library/browse.vue:365 +#: src/page/library/browse.vue:367 msgid "Folder contains %{n} files" msgstr "A pasta contem %{n} arquivos" -#: src/page/library/browse.vue:356 +#: src/page/library/browse.vue:358 msgid "Folder is empty" msgstr "A pasta está vazia" -#: src/app/routes.js:202 src/component/navigation.vue:1225 +#: src/app/routes.js:210 src/component/navigation.vue:1247 #: src/options/options.js:207 msgid "Folders" msgstr "Pastas" @@ -1358,7 +1385,7 @@ msgstr "FPS" msgid "Frames" msgstr "Quadros" -#: src/options/auth.js:54 src/options/auth.js:64 +#: src/options/auth.js:55 src/options/auth.js:65 msgid "Full Access" msgstr "Acesso total" @@ -1370,7 +1397,7 @@ msgstr "Ecrã inteiro" msgid "General" msgstr "Geral" -#: src/component/settings/apps.vue:364 +#: src/component/settings/apps.vue:367 msgid "Generate" msgstr "Gerar" @@ -1390,8 +1417,8 @@ msgstr "Gerado" msgid "Get Started" msgstr "Começa a trabalhar" -#: src/component/user/edit/dialog.vue:120 -#: src/component/user/edit/dialog.vue:121 src/page/settings/account.vue:106 +#: src/component/user/edit/dialog.vue:121 +#: src/component/user/edit/dialog.vue:122 src/page/settings/account.vue:106 #: src/page/settings/account.vue:108 msgid "Given Name" msgstr "Nome dado" @@ -1416,7 +1443,7 @@ msgstr "Verde" msgid "Grey" msgstr "Cinza" -#: src/options/admin.js:22 src/options/auth.js:10 +#: src/options/admin.js:26 src/options/auth.js:11 msgid "Guest" msgstr "Convidado" @@ -1432,15 +1459,15 @@ msgstr "Ajuda" msgid "Help & Support" msgstr "Ajuda & Suporte" -#: src/component/navigation.vue:1327 src/component/people/edit/dialog.vue:98 +#: src/component/navigation.vue:1351 src/component/people/edit/dialog.vue:99 msgid "Hidden" msgstr "Ocultos" -#: src/app/routes.js:358 +#: src/app/routes.js:366 msgid "Hidden Files" msgstr "Arquivos Ocultos" -#: src/page/people/new.vue:165 src/page/people/recognized.vue:205 +#: src/page/people/new.vue:166 src/page/people/recognized.vue:206 msgid "Hide" msgstr "Esconder" @@ -1456,7 +1483,7 @@ msgstr "Alta" msgid "High Dynamic Range (HDR)" msgstr "Faixa dinâmica alta (HDR)" -#: src/page/about/feedback.vue:103 +#: src/page/about/feedback.vue:104 msgid "How can we help?" msgstr "Como podemos ajudar?" @@ -1464,11 +1491,11 @@ msgstr "Como podemos ajudar?" msgid "Hybrid" msgstr "Híbrido" -#: src/component/settings/passcode.vue:389 +#: src/component/settings/passcode.vue:392 msgid "If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account." msgstr "Se você perder o acesso ao seu aplicativo ou dispositivo autenticador, poderá usar seu código de recuperação para recuperar o acesso à sua conta." -#: src/component/photo/edit/info.vue:63 src/component/photo/edit/labels.vue:46 +#: src/component/photo/edit/info.vue:65 src/component/photo/edit/labels.vue:46 #: src/component/photo/view/cards.vue:532 src/model/file.js:218 #: src/options/options.js:281 msgid "Image" @@ -1478,7 +1505,7 @@ msgstr "Imagem" msgid "Image Quality" msgstr "Qualidade da imagem" -#: src/page/library.vue:46 src/page/library/import.vue:152 +#: src/page/library.vue:46 src/page/library/import.vue:153 #: src/page/settings/general.vue:357 msgid "Import" msgstr "Importar" @@ -1503,8 +1530,8 @@ msgstr "Importando %{s}…" msgid "Importing files to originals…" msgstr "Importando ficheiros para originais…" -#: src/component/photo/edit/files.vue:515 -#: src/component/photo/edit/files.vue:520 +#: src/component/photo/edit/files.vue:517 +#: src/component/photo/edit/files.vue:522 msgid "in" msgstr "em" @@ -1522,11 +1549,11 @@ msgstr "Inclua arquivos de imagem RAW ao baixar pilhas e arquivos." msgid "Include sidecar files when downloading stacks and archives." msgstr "Inclua arquivos secundários ao baixar pilhas e arquivos." -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Increase storage size or delete files to continue." msgstr "Aumenta o tamanho do armazenamento ou elimina ficheiros para continuar." -#: src/component/navigation.vue:1946 src/page/library.vue:36 +#: src/component/navigation.vue:1990 src/page/library.vue:36 #: src/page/settings/content.vue:34 msgid "Index" msgstr "Indexar" @@ -1556,11 +1583,11 @@ msgstr "Informações" msgid "Instance ID" msgstr "ID da Instância" -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Insufficient storage." msgstr "Armazenamento insuficiente." -#: src/component/service/edit.vue:209 +#: src/component/service/edit.vue:210 msgid "Interval" msgstr "Intervalo" @@ -1581,7 +1608,7 @@ msgstr "Endereço inválido" msgid "Invalid country" msgstr "País inválido" -#: src/component/photo/edit/details.vue:174 +#: src/component/photo/edit/details.vue:169 msgid "Invalid date" msgstr "Data inválida" @@ -1590,7 +1617,7 @@ msgstr "Data inválida" msgid "Invalid parameters" msgstr "Parâmetros inválidos" -#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:197 +#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:199 msgid "Invalid photo selected" msgstr "Foto inválida selecionada" @@ -1602,8 +1629,8 @@ msgstr "Hora inválida" msgid "Invalid URL" msgstr "URL inválido" -#: src/component/settings/passcode.vue:314 -#: src/component/settings/passcode.vue:391 +#: src/component/settings/passcode.vue:317 +#: src/component/settings/passcode.vue:394 msgid "It is a one-time use code that will disable 2FA for your account when you use it." msgstr "É um código de uso único que desativará o 2FA da sua conta quando você o usar." @@ -1627,7 +1654,7 @@ msgstr "Tamanho JPEG limite: %{n}px" msgid "JPEGs and thumbnails are automatically rendered as needed." msgstr "Imagens JPEG e miniaturas são renderizadas automaticamente conforme necessário." -#: src/component/photo/edit/details.vue:581 +#: src/component/photo/edit/details.vue:555 msgid "Keywords" msgstr "Palavras-chave" @@ -1636,9 +1663,9 @@ msgstr "Palavras-chave" msgid "Label" msgstr "Etiqueta" -#: src/app/routes.js:389 src/component/navigation.vue:1177 -#: src/component/photo/edit/dialog.vue:188 -#: src/component/photo/edit/dialog.vue:205 src/options/options.js:206 +#: src/app/routes.js:397 src/component/navigation.vue:1197 +#: src/component/photo/edit/dialog.vue:196 +#: src/component/photo/edit/dialog.vue:215 src/options/options.js:206 #: src/page/settings/general.vue:255 msgid "Labels" msgstr "Etiquetas" @@ -1655,11 +1682,11 @@ msgstr "Lanczos: Preserva detalhes, poucos artefactos" msgid "Language" msgstr "Idioma" -#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:435 +#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:440 msgid "Last Active" msgstr "ativo pela última vez" -#: src/page/admin/users.vue:81 +#: src/page/admin/users.vue:83 msgid "Last Login" msgstr "Último Login" @@ -1675,42 +1702,41 @@ msgstr "Última Sincronia" msgid "Last Used" msgstr "Usado por último" -#: src/component/photo/edit/details.vue:298 #: src/component/photo/edit/info.vue:373 msgid "Latitude" msgstr "Latitude" -#: src/options/admin.js:43 src/options/auth.js:29 +#: src/options/admin.js:47 src/options/auth.js:30 msgid "LDAP/AD" msgstr "LDAP/AD" -#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:86 -#: src/page/about/about.vue:62 src/page/about/about.vue:132 +#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:87 +#: src/page/about/about.vue:62 src/page/about/about.vue:133 #: src/page/connect.vue:67 src/page/help.vue:36 msgid "Learn more" msgstr "Saiba mais" -#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:135 +#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:137 #: src/page/labels.vue:132 msgid "Learn More" msgstr "Aprende mais" -#: src/component/navigation.vue:2017 +#: src/component/navigation.vue:2066 msgid "Legal Information" msgstr "Informações legais" -#: src/component/photo/edit/details.vue:417 +#: src/component/photo/edit/details.vue:391 #: src/component/photo/view/cards.vue:480 msgid "Lens" msgstr "Lente" -#: src/app/routes.js:443 src/app/routes.js:459 src/app/routes.js:475 -#: src/component/navigation.vue:1267 src/page/settings/general.vue:507 +#: src/app/routes.js:451 src/app/routes.js:467 src/app/routes.js:483 +#: src/component/navigation.vue:1290 src/page/settings/general.vue:507 msgid "Library" msgstr "Biblioteca" #: src/page/connect.vue:45 src/app/routes.js:69 -#: src/component/navigation.vue:1478 src/component/photo/edit/details.vue:559 +#: src/component/navigation.vue:1504 src/component/photo/edit/details.vue:533 #: src/page/about/license.vue:28 msgid "License" msgstr "Licença" @@ -1723,7 +1749,7 @@ msgstr "Gosto" msgid "Lime" msgstr "Lima" -#: src/page/library/browse.vue:369 +#: src/page/library/browse.vue:371 msgid "Limit reached, showing first %{n} files" msgstr "Limite alcançado, mostrando os primeiros %{n} arquivos" @@ -1731,7 +1757,7 @@ msgstr "Limite alcançado, mostrando os primeiros %{n} arquivos" msgid "Linear: Very Smooth, Best Performance" msgstr "Linear: Suave, melhor desempenho" -#: src/model/link.js:117 src/options/auth.js:30 src/options/auth.js:31 +#: src/model/link.js:117 src/options/auth.js:31 src/options/auth.js:32 msgid "Link" msgstr "Link" @@ -1749,7 +1775,7 @@ msgstr "Ver lista" msgid "Live" msgstr "Ao vivo" -#: src/app/routes.js:236 src/component/navigation.vue:749 +#: src/app/routes.js:244 src/component/navigation.vue:755 msgid "Live Photos" msgstr "Fotos ao vivo" @@ -1765,21 +1791,24 @@ msgstr "Carregamento de itens..." msgid "Loading..." msgstr "Carregamento..." -#: src/options/admin.js:35 src/options/auth.js:22 src/options/auth.js:27 +#: src/options/admin.js:39 src/options/auth.js:23 src/options/auth.js:28 #: src/options/options.js:38 src/page/settings/general.vue:107 msgid "Local" msgstr "Local" -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Local Time" msgstr "Hora Local" -#: src/page/settings/account.vue:665 src/page/settings/account.vue:667 -#: src/component/album/edit/dialog.vue:92 src/component/photo/edit/info.vue:65 -#: src/component/photo/edit/labels.vue:48 +#: src/page/settings/account.vue:671 src/page/settings/account.vue:673 +#: src/component/album/edit/dialog.vue:93 +#: src/component/photo/edit/details.vue:38 +#: src/component/photo/edit/details.vue:116 +#: src/component/photo/edit/details.vue:210 +#: src/component/photo/edit/info.vue:67 src/component/photo/edit/labels.vue:48 #: src/component/photo/view/cards.vue:555 src/component/photo/view/list.vue:117 -#: src/component/sidebar/info.vue:107 src/page/albums.vue:99 -#: src/page/settings/account.vue:557 src/page/settings/account.vue:559 +#: src/component/sidebar/info.vue:107 src/page/albums.vue:100 +#: src/page/settings/account.vue:563 src/page/settings/account.vue:565 msgid "Location" msgstr "Localização" @@ -1787,20 +1816,19 @@ msgstr "Localização" msgid "Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues." msgstr "Mensagens aparecem aqui sempre que o PhotoPrism encontra arquivos com defeito ou outro potencial problema." -#: src/component/navigation.vue:1552 src/component/navigation.vue:1840 +#: src/component/navigation.vue:1579 src/component/navigation.vue:1877 msgid "Login" msgstr "Entrar" -#: src/component/navigation.vue:1759 +#: src/component/navigation.vue:1791 msgid "Logout" msgstr "Sair" -#: src/component/navigation.vue:1962 src/page/library.vue:59 +#: src/component/navigation.vue:2007 src/page/library.vue:59 #: src/page/settings/general.vue:557 msgid "Logs" msgstr "Registros" -#: src/component/photo/edit/details.vue:324 #: src/component/photo/edit/info.vue:379 msgid "Longitude" msgstr "Longitude" @@ -1813,7 +1841,7 @@ msgstr "Baixo" msgid "Magenta" msgstr "Magenta" -#: src/component/photo/edit/files.vue:489 +#: src/component/photo/edit/files.vue:491 msgid "Main Color" msgstr "Cor principal" @@ -1821,12 +1849,16 @@ msgstr "Cor principal" msgid "Male" msgstr "Masculino" -#: src/page/connect.vue:164 src/page/connect.vue:246 -#: src/page/about/about.vue:171 src/page/connect.vue:168 -#: src/page/connect.vue:255 +#: src/page/connect.vue:165 src/page/connect.vue:248 +#: src/page/about/about.vue:173 src/page/connect.vue:169 +#: src/page/connect.vue:257 msgid "Manage Account" msgstr "Gerenciar conta" +#: src/options/admin.js:10 src/options/auth.js:7 +msgid "Manager" +msgstr "Gerente" + #: src/component/photo/edit/info.vue:49 src/component/photo/edit/labels.vue:38 msgid "Manual" msgstr "Manual" @@ -1843,11 +1875,11 @@ msgstr "Mapas" msgid "Marker" msgstr "Marcador" -#: src/component/user/add/dialog.vue:69 +#: src/component/user/add/dialog.vue:70 msgid "Maximum number of accounts has been reached." msgstr "O número máximo de contas foi atingido." -#: src/app/routes.js:229 src/component/navigation.vue:688 +#: src/app/routes.js:237 src/component/navigation.vue:693 #: src/options/options.js:199 msgid "Media" msgstr "Meios de comunicação social" @@ -1864,7 +1896,7 @@ msgstr "Filiação" msgid "Merge %{a} with %{b}?" msgstr "Fundir %{a} com %{b}?" -#: src/page/about/feedback.vue:102 +#: src/page/about/feedback.vue:103 msgid "Message" msgstr "Mensagem" @@ -1876,7 +1908,7 @@ msgstr "Mensagem enviada" msgid "Metadata" msgstr "Metadados" -#: src/options/auth.js:56 src/options/auth.js:72 +#: src/options/auth.js:57 src/options/auth.js:73 msgid "Metrics" msgstr "Métricas" @@ -1884,7 +1916,7 @@ msgstr "Métricas" msgid "Minimize" msgstr "Minimizar" -#: src/component/photo/edit/files.vue:509 src/component/photo/edit/info.vue:367 +#: src/component/photo/edit/files.vue:511 src/component/photo/edit/info.vue:367 msgid "Missing" msgstr "Em Falta" @@ -1892,17 +1924,17 @@ msgstr "Em Falta" msgid "Missing or invalid configuration" msgstr "Configuração em falta ou inválida" -#: src/app/routes.js:163 src/component/navigation.vue:1129 +#: src/app/routes.js:171 src/component/navigation.vue:1147 #: src/options/options.js:205 src/page/settings/general.vue:230 msgid "Moments" msgstr "Momentos" -#: src/component/navigation.vue:383 +#: src/component/navigation.vue:385 msgid "Monochrome" msgstr "Monocromático" -#: src/page/settings/account.vue:475 src/component/photo/edit/details.vue:137 -#: src/component/photo/toolbar.vue:342 +#: src/page/settings/account.vue:481 src/component/photo/edit/details.vue:139 +#: src/component/photo/toolbar.vue:344 msgid "Month" msgstr "Mês" @@ -1922,7 +1954,7 @@ msgstr "Mais Relevante" msgid "Move Files" msgstr "Mover ficheiro" -#: src/component/settings/password.vue:107 +#: src/component/settings/password.vue:108 msgid "Must have at least %{n} characters." msgstr "Deve ter pelo menos %{n} caracteres." @@ -1930,20 +1962,20 @@ msgstr "Deve ter pelo menos %{n} caracteres." msgid "Mute" msgstr "Silenciar" -#: src/page/about/feedback.vue:121 src/page/about/feedback.vue:122 -#: src/component/album/edit/dialog.vue:77 -#: src/component/label/edit/dialog.vue:71 -#: src/component/people/edit/dialog.vue:71 -#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:57 +#: src/page/about/feedback.vue:122 src/page/about/feedback.vue:123 +#: src/component/album/edit/dialog.vue:78 +#: src/component/label/edit/dialog.vue:72 +#: src/component/people/edit/dialog.vue:72 +#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:59 #: src/component/photo/edit/info.vue:125 src/component/photo/edit/people.vue:36 -#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:310 -#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:286 -#: src/page/albums.vue:98 src/page/auth/login.vue:168 +#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:311 +#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:289 +#: src/page/albums.vue:99 src/page/auth/login.vue:168 #: src/page/people/new.vue:68 src/page/settings/services.vue:37 msgid "Name" msgstr "Nome" -#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:60 +#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:65 #: src/component/label/edit/dialog.vue:19 #: src/component/people/edit/dialog.vue:19 #: src/component/photo/edit/labels.vue:30 @@ -1953,7 +1985,7 @@ msgstr "Nome" msgid "Name too long" msgstr "Nome muito extenso" -#: src/page/admin/users.vue:204 src/options/options.js:361 +#: src/page/admin/users.vue:206 src/options/options.js:361 #: src/options/options.js:371 src/page/settings/services.vue:75 msgid "Never" msgstr "Nunca" @@ -1962,13 +1994,13 @@ msgstr "Nunca" msgid "New" msgstr "Novo" -#: src/component/settings/password.vue:106 +#: src/component/settings/password.vue:107 msgid "New Password" msgstr "Nova senha" #: src/component/album/edit/dialog.vue:24 src/component/photo/toolbar.vue:114 #: src/component/photo/toolbar.vue:126 src/component/photo/toolbar.vue:136 -#: src/page/albums.vue:100 +#: src/page/albums.vue:101 msgid "Newest First" msgstr "Recentes primeiro" @@ -1984,15 +2016,15 @@ msgstr "Página seguinte" msgid "Next visual" msgstr "Próximo visual" -#: src/component/people/merge/dialog.vue:47 -#: src/component/photo/archive/dialog.vue:47 +#: src/component/people/merge/dialog.vue:48 +#: src/component/photo/archive/dialog.vue:48 #: src/component/photo/edit/info.vue:281 src/component/photo/edit/info.vue:297 #: src/component/photo/edit/info.vue:313 src/component/photo/edit/info.vue:329 #: src/component/photo/edit/info.vue:344 msgid "No" msgstr "Não" -#: src/page/albums.vue:607 src/page/albums.vue:282 +#: src/page/albums.vue:612 src/page/albums.vue:282 msgid "No albums found" msgstr "Nenhum álbum encontrado" @@ -2000,7 +2032,7 @@ msgstr "Nenhum álbum encontrado" msgid "No data available" msgstr "Não existem dados disponíveis" -#: src/page/labels.vue:523 src/page/labels.vue:155 +#: src/page/labels.vue:528 src/page/labels.vue:155 msgid "No labels found" msgstr "Nenhuma etiqueta encontrada" @@ -2013,15 +2045,15 @@ msgid "No more" msgstr "Não mais" #: src/component/photo/edit/people.vue:34 src/page/people/new.vue:346 -#: src/page/people/new.vue:443 src/page/people/new.vue:103 -#: src/page/people/recognized.vue:531 src/page/people/recognized.vue:146 +#: src/page/people/new.vue:446 src/page/people/new.vue:103 +#: src/page/people/recognized.vue:536 src/page/people/recognized.vue:146 msgid "No people found" msgstr "Nenhuma pessoa encontrada" #: src/component/lightbox.vue:365 src/component/photo/view/cards.vue:144 #: src/component/photo/view/list.vue:82 src/component/photo/view/mosaic.vue:68 -#: src/page/album/photos.vue:488 src/page/library/browse.vue:123 -#: src/page/photos.vue:626 src/page/places.vue:624 src/page/places.vue:730 +#: src/page/album/photos.vue:499 src/page/library/browse.vue:123 +#: src/page/photos.vue:636 src/page/places.vue:624 src/page/places.vue:730 msgid "No pictures found" msgstr "Nenhuma foto encontrada" @@ -2030,7 +2062,11 @@ msgstr "Nenhuma foto encontrada" msgid "No recently edited pictures" msgstr "Nenhuma foto editada recentemente" -#: src/component/navigation.vue:1655 +#: src/component/location/dialog.vue:166 +msgid "No results" +msgstr "Nenhum resultado" + +#: src/component/navigation.vue:1686 msgid "No server connection" msgstr "Não há ligação ao servidor" @@ -2042,7 +2078,7 @@ msgstr "Nenhum servidor configurado." msgid "No services configured." msgstr "Nenhum serviço configurado." -#: src/component/confirm/sponsor.vue:72 +#: src/component/confirm/sponsor.vue:73 msgid "No thanks" msgstr "Não, obrigado(a)" @@ -2052,17 +2088,17 @@ msgstr "Nenhum alerta ou erro contendo esta palavra-chave. Note que a pesquisa d #: src/component/photo/view/cards.vue:154 src/component/photo/view/list.vue:59 #: src/component/photo/view/list.vue:92 src/component/photo/view/mosaic.vue:78 -#: src/component/upload/dialog.vue:208 +#: src/component/upload/dialog.vue:210 msgid "Non-photographic and low-quality images require a review before they appear in search results." msgstr "Imagens de baixa qualidade ou não-fotográficas necessitam de revisão antes de aparecerem nos resultados da pesquisa." -#: src/options/admin.js:47 src/options/auth.js:32 src/options/options.js:212 +#: src/options/admin.js:51 src/options/auth.js:33 src/options/options.js:212 #: src/options/options.js:328 msgid "None" msgstr "Nenhum" -#: src/common/util.js:853 src/component/lightbox.vue:633 -#: src/component/service/upload.vue:75 src/component/service/upload.vue:87 +#: src/component/lightbox.vue:633 src/component/service/upload.vue:75 +#: src/component/service/upload.vue:87 msgid "Not allowed" msgstr "Não autorizado" @@ -2074,8 +2110,7 @@ msgstr "Não encontrado" msgid "Not sorted." msgstr "Não estás classificado." -#: src/common/util.js:858 src/component/lightbox.vue:627 -#: src/component/lightbox.vue:744 +#: src/component/lightbox.vue:627 src/component/lightbox.vue:744 msgid "Not supported" msgstr "Não suportado" @@ -2083,15 +2118,15 @@ msgstr "Não suportado" msgid "Note you may manually manage your originals folder and importing is optional." msgstr "Note que você pode gerenciar manualmente sua pasta de originais e a importação é opcional." -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "Note:" msgstr "Nota:" -#: src/component/service/add.vue:120 +#: src/component/service/add.vue:121 msgid "Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload." msgstr "Nota: Apenas servidores WebDAV, tais como Nextcloud ou PhotoPrism, podem ser configurados como serviço remoto para envio de ficheiros e cópias de segurança." -#: src/component/photo/edit/details.vue:603 +#: src/component/photo/edit/details.vue:577 msgid "Notes" msgstr "Notas" @@ -2099,8 +2134,8 @@ msgstr "Notas" msgid "Nothing to see here yet." msgstr "Nada para se ver aqui ainda. Seja paciente." -#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:115 -#: src/component/settings/apps.vue:390 +#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:125 +#: src/component/settings/apps.vue:393 msgid "Nothing was found." msgstr "Nada foi encontrado." @@ -2108,7 +2143,7 @@ msgstr "Nada foi encontrado." msgid "Offline" msgstr "Desconectado" -#: src/options/admin.js:39 src/options/auth.js:28 +#: src/options/admin.js:43 src/options/auth.js:29 msgid "OIDC" msgstr "OIDC" @@ -2118,11 +2153,11 @@ msgstr "OK" #: src/component/album/edit/dialog.vue:25 src/component/photo/toolbar.vue:115 #: src/component/photo/toolbar.vue:127 src/component/photo/toolbar.vue:137 -#: src/page/albums.vue:101 +#: src/page/albums.vue:102 msgid "Oldest First" msgstr "Antigos primeiro" -#: src/component/settings/webdav.vue:77 +#: src/component/settings/webdav.vue:78 msgid "On Windows, enter the following resource in the connection dialog:" msgstr "No Windows, digite o seguinte recurso no diálogo de conexão:" @@ -2134,11 +2169,11 @@ msgstr "A geração de miniaturas a pedido pode causar uma utilização elevada msgid "Once a week" msgstr "Uma vez por semana" -#: src/page/albums.vue:609 +#: src/page/albums.vue:614 msgid "One album found" msgstr "Um álbum encontrado" -#: src/page/library/browse.vue:358 +#: src/page/library/browse.vue:360 msgid "One file found" msgstr "Um ficheiro encontrado" @@ -2146,24 +2181,24 @@ msgstr "Um ficheiro encontrado" msgid "One file uploaded" msgstr "Um arquivo carregado" -#: src/page/library/browse.vue:360 +#: src/page/library/browse.vue:362 msgid "One folder found" msgstr "Uma pasta encontrada" -#: src/page/labels.vue:525 +#: src/page/labels.vue:530 msgid "One label found" msgstr "Um rótulo encontrado" -#: src/page/people/new.vue:348 src/page/people/new.vue:445 -#: src/page/people/recognized.vue:533 +#: src/page/people/new.vue:348 src/page/people/new.vue:448 +#: src/page/people/recognized.vue:538 msgid "One person found" msgstr "Uma pessoa encontrada" -#: src/page/album/photos.vue:490 src/page/photos.vue:628 +#: src/page/album/photos.vue:501 src/page/photos.vue:638 msgid "One picture found" msgstr "Uma foto encontrada" -#: src/component/settings/passcode.vue:478 +#: src/component/settings/passcode.vue:481 msgid "Only locally managed accounts can be set up for authentication with 2FA." msgstr "Somente contas gerenciadas localmente podem ser configuradas para autenticação com 2FA." @@ -2171,7 +2206,7 @@ msgstr "Somente contas gerenciadas localmente podem ser configuradas para autent msgid "Open" msgstr "Aberto" -#: src/component/service/add.vue:86 src/component/service/add.vue:107 +#: src/component/service/add.vue:87 src/component/service/add.vue:108 msgid "optional" msgstr "opcional" @@ -2183,7 +2218,7 @@ msgstr "ou" msgid "Orange" msgstr "Laranja" -#: src/page/settings/account.vue:571 src/page/settings/account.vue:573 +#: src/page/settings/account.vue:577 src/page/settings/account.vue:579 msgid "Organization" msgstr "Organização" @@ -2199,7 +2234,7 @@ msgstr "Nomes originais dos arquivos serão armazenados e indexados." msgid "Original Name" msgstr "Nome original" -#: src/component/navigation.vue:1304 src/model/file.js:196 +#: src/component/navigation.vue:1328 src/model/file.js:196 #: src/options/options.js:413 src/page/library/browse.vue:65 #: src/page/settings/content.vue:356 src/page/settings/general.vue:532 msgid "Originals" @@ -2210,7 +2245,7 @@ msgstr "Originais" msgid "Other" msgstr "Outro" -#: src/page/about/about.vue:77 src/page/about/about.vue:83 +#: src/page/about/about.vue:78 src/page/about/about.vue:84 msgid "Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible." msgstr "Nossa missão é fornecer a solução mais amigável ao usuário e à privacidade para manter suas fotos organizadas e acessíveis." @@ -2222,7 +2257,7 @@ msgstr "Ao ar livre" msgid "Page {0}, Current page" msgstr "Página {0}, Página atual" -#: src/component/photo/edit/files.vue:352 src/model/photo.js:859 +#: src/component/photo/edit/files.vue:352 src/model/photo.js:896 msgid "Pages" msgstr "Páginas" @@ -2234,15 +2269,15 @@ msgstr "Navegação de paginação" msgid "Panorama" msgstr "Panorama" -#: src/component/navigation.vue:402 +#: src/component/navigation.vue:404 msgid "Panoramas" msgstr "Panoramas" -#: src/component/user/add/dialog.vue:114 src/component/user/add/dialog.vue:115 -#: src/component/service/add.vue:106 src/component/service/edit.vue:352 -#: src/component/settings/apps.vue:121 src/component/settings/passcode.vue:106 -#: src/component/settings/passcode.vue:413 src/component/share/dialog.vue:27 -#: src/options/auth.js:91 src/page/auth/login.vue:196 +#: src/component/user/add/dialog.vue:115 src/component/user/add/dialog.vue:116 +#: src/component/service/add.vue:107 src/component/service/edit.vue:353 +#: src/component/settings/apps.vue:124 src/component/settings/passcode.vue:109 +#: src/component/settings/passcode.vue:416 src/component/share/dialog.vue:27 +#: src/options/auth.js:92 src/page/auth/login.vue:196 msgid "Password" msgstr "Senha" @@ -2250,9 +2285,9 @@ msgstr "Senha" msgid "Password changed" msgstr "Senha alterada" -#: src/app/routes.js:404 src/app/routes.js:428 src/component/navigation.vue:845 -#: src/component/navigation.vue:1898 src/component/photo/edit/dialog.vue:228 -#: src/component/photo/edit/dialog.vue:245 src/options/options.js:201 +#: src/app/routes.js:412 src/app/routes.js:436 src/component/navigation.vue:853 +#: src/component/navigation.vue:1939 src/component/photo/edit/dialog.vue:238 +#: src/component/photo/edit/dialog.vue:257 src/options/options.js:201 #: src/page/settings/general.vue:180 msgid "People" msgstr "Pessoas" @@ -2273,23 +2308,23 @@ msgstr "Remover ficheiros permanentemente para poupar armazenamento." msgid "Person" msgstr "Pessoa" -#: src/options/auth.js:42 +#: src/options/auth.js:43 msgid "Personal" msgstr "Pessoal" -#: src/model/photo.js:1273 +#: src/model/photo.js:1310 msgid "Photo" msgstr "Foto" -#: src/page/about/about.vue:156 +#: src/page/about/about.vue:158 msgid "PhotoPrism is 100% self-funded and independent." msgstr "PhotoPrism é 100% autofinanciado e independente." -#: src/page/about/about.vue:92 +#: src/page/about/about.vue:93 msgid "PhotoPrism+ Membership" msgstr "Associação PhotoPrism+" -#: src/app/routes.js:156 +#: src/app/routes.js:164 msgid "Photos" msgstr "Fotos" @@ -2310,27 +2345,27 @@ msgstr "Lugar" msgid "Place & Time" msgstr "Lugar & Tempo" -#: src/app/routes.js:303 src/app/routes.js:309 src/app/routes.js:315 -#: src/app/routes.js:330 src/component/navigation.vue:986 -#: src/component/navigation.vue:1914 src/options/options.js:203 +#: src/app/routes.js:311 src/app/routes.js:317 src/app/routes.js:323 +#: src/app/routes.js:338 src/component/navigation.vue:999 +#: src/component/navigation.vue:1956 src/options/options.js:203 #: src/page/places.vue:51 src/page/settings/general.vue:609 #: src/page/settings/general.vue:638 msgid "Places" msgstr "Lugares" -#: src/component/settings/password.vue:129 +#: src/component/settings/password.vue:130 msgid "Please confirm your new password." msgstr "Por favor, confirme a nova senha." -#: src/component/settings/apps.vue:185 +#: src/component/settings/apps.vue:188 msgid "Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:" msgstr "Copie a seguinte senha de aplicativo gerada aleatoriamente e guarde-a em um local seguro, pois você não poderá vê-la novamente:" -#: src/component/upload/dialog.vue:203 +#: src/component/upload/dialog.vue:205 msgid "Please do not upload any private, unlawful or offensive pictures." msgstr "Não carregue imagens privadas, ilegais ou ofensivas." -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Please don't upload photos containing offensive content." msgstr "Por favor, não envie fotos com conteúdo ofensivo." @@ -2338,11 +2373,11 @@ msgstr "Por favor, não envie fotos com conteúdo ofensivo." msgid "Please enter OTP character {0}" msgstr "Introduz o carácter OTP {0}" -#: src/component/settings/password.vue:66 +#: src/component/settings/password.vue:67 msgid "Please note that changing your password will log you out on other devices and browsers." msgstr "Por favor, note que a mudança de sua senha fará com que você saia de outros dispositivos e navegadores." -#: src/page/connect.vue:148 src/page/connect.vue:152 +#: src/page/connect.vue:149 src/page/connect.vue:153 msgid "Please restart your instance for the changes to take effect." msgstr "Reinicie sua instância para que as alterações entrem em vigor." @@ -2362,11 +2397,11 @@ msgstr "Tamanho PNG limite: %{n}px" msgid "Portrait" msgstr "Retrato" -#: src/component/service/edit.vue:273 +#: src/component/service/edit.vue:274 msgid "Preserve filenames" msgstr "Preservar nomes de ficheiro" -#: src/component/upload/dialog.vue:162 +#: src/component/upload/dialog.vue:164 msgid "Press enter to create a new album." msgstr "Pressione enter para criar um novo álbum." @@ -2403,8 +2438,8 @@ msgstr "Visual anterior" msgid "Primary" msgstr "Primário" -#: src/app/routes.js:271 src/component/album/edit/dialog.vue:176 -#: src/component/navigation.vue:531 src/component/photo/edit/info.vue:303 +#: src/app/routes.js:279 src/component/album/edit/dialog.vue:177 +#: src/component/navigation.vue:533 src/component/photo/edit/info.vue:303 #: src/page/settings/general.vue:280 msgid "Private" msgstr "Privado" @@ -2429,7 +2464,7 @@ msgstr "Filtro de qualidade" msgid "Quality Score" msgstr "Marcador de qualidade" -#: src/page/admin/users.vue:169 +#: src/page/admin/users.vue:171 msgid "r" msgstr "r" @@ -2460,7 +2495,7 @@ msgstr "Modo Somente Leitura" #: src/component/album/edit/dialog.vue:26 src/component/photo/toolbar.vue:116 #: src/component/photo/toolbar.vue:128 src/component/photo/toolbar.vue:138 -#: src/page/albums.vue:102 +#: src/page/albums.vue:103 msgid "Recently Added" msgstr "Adicionado recentemente" @@ -2468,7 +2503,7 @@ msgstr "Adicionado recentemente" msgid "Recently Archived" msgstr "Arquivado recentemente" -#: src/component/photo/toolbar.vue:139 src/page/albums.vue:103 +#: src/component/photo/toolbar.vue:139 src/page/albums.vue:104 msgid "Recently Edited" msgstr "Editado Recentemente" @@ -2493,24 +2528,24 @@ msgstr "Código de recuperação" msgid "Red" msgstr "Vermelho" -#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:126 -#: src/component/album/toolbar.vue:79 src/component/photo/toolbar.vue:169 -#: src/page/albums.vue:173 src/page/labels.vue:112 +#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:128 +#: src/component/album/toolbar.vue:84 src/component/photo/toolbar.vue:169 +#: src/page/albums.vue:175 src/page/labels.vue:112 #: src/page/library/browse.vue:90 src/page/library/errors.vue:81 #: src/page/people/new.vue:54 src/page/people/recognized.vue:88 msgid "Refresh" msgstr "Refresca-te" -#: src/app/routes.js:337 src/component/navigation.vue:943 -#: src/component/navigation.vue:1026 +#: src/app/routes.js:345 src/component/navigation.vue:955 +#: src/component/navigation.vue:1040 msgid "Regions" msgstr "Regiões" -#: src/page/connect.vue:275 src/page/connect.vue:284 +#: src/page/connect.vue:277 src/page/connect.vue:286 msgid "Register" msgstr "Registro" -#: src/component/navigation.vue:1773 src/component/update.vue:68 +#: src/component/navigation.vue:1806 src/component/update.vue:68 msgid "Reload" msgstr "Recarregar" @@ -2555,34 +2590,34 @@ msgstr "Exige que as imagens não fotográficas e de baixa qualidade sejam revis msgid "Resolution" msgstr "Resolução" -#: src/page/connect.vue:179 src/page/connect.vue:183 +#: src/page/connect.vue:180 src/page/connect.vue:184 #: src/page/settings/advanced.vue:782 msgid "Restart" msgstr "Reiniciar" -#: src/component/user/edit/dialog.vue:485 src/component/lightbox.vue:1221 +#: src/component/user/edit/dialog.vue:488 src/component/lightbox.vue:1221 #: src/component/photo/clipboard.vue:77 msgid "Restore" msgstr "Restaurar" -#: src/component/lightbox.vue:2000 +#: src/component/lightbox.vue:2020 msgid "Restored" msgstr "Restaurado" -#: src/component/service/edit.vue:428 +#: src/component/service/edit.vue:429 msgid "Retry Limit" msgstr "Limite de Tentativa" -#: src/component/settings/password.vue:128 +#: src/component/settings/password.vue:129 msgid "Retype Password" msgstr "Re-insira a senha" -#: src/app/routes.js:264 src/component/navigation.vue:505 +#: src/app/routes.js:272 src/component/navigation.vue:507 msgid "Review" msgstr "Rever" -#: src/component/user/add/dialog.vue:171 src/component/user/edit/dialog.vue:284 -#: src/page/admin/sessions.vue:262 src/page/admin/users.vue:73 +#: src/component/user/add/dialog.vue:172 src/component/user/edit/dialog.vue:285 +#: src/page/admin/sessions.vue:263 src/page/admin/users.vue:75 msgid "Role" msgstr "Papel" @@ -2594,11 +2629,11 @@ msgstr "Linhas por página:" msgid "Satellite" msgstr "Satélite" -#: src/component/user/edit/dialog.vue:485 -#: src/component/album/edit/dialog.vue:211 -#: src/component/label/edit/dialog.vue:119 -#: src/component/people/edit/dialog.vue:132 src/component/service/edit.vue:466 -#: src/component/settings/password.vue:172 src/component/share/dialog.vue:181 +#: src/component/user/edit/dialog.vue:488 +#: src/component/album/edit/dialog.vue:212 +#: src/component/label/edit/dialog.vue:120 +#: src/component/people/edit/dialog.vue:133 src/component/service/edit.vue:467 +#: src/component/settings/password.vue:173 src/component/share/dialog.vue:181 msgid "Save" msgstr "Guardar" @@ -2606,23 +2641,23 @@ msgstr "Guardar" msgid "Scan" msgstr "Pesquisar" -#: src/component/settings/passcode.vue:179 +#: src/component/settings/passcode.vue:182 msgid "Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:" msgstr "Digitalize o código QR com seu aplicativo autenticador ou use a chave de configuração mostrada abaixo e insira o código de verificação gerado:" -#: src/component/navigation.vue:461 +#: src/component/navigation.vue:463 msgid "Scans" msgstr "Pesquisas" -#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:377 -#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:310 +#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:381 +#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:313 msgid "Scope" msgstr "Âmbito de aplicação" -#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:62 -#: src/component/navigation.vue:342 src/component/navigation.vue:1866 -#: src/component/photo/toolbar.vue:57 src/options/options.js:197 -#: src/page/albums.vue:100 src/page/labels.vue:77 +#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:69 +#: src/component/location/dialog.vue:133 src/component/navigation.vue:343 +#: src/component/navigation.vue:1905 src/component/photo/toolbar.vue:57 +#: src/options/options.js:197 src/page/albums.vue:100 src/page/labels.vue:77 #: src/page/library/errors.vue:76 src/page/people/recognized.vue:66 #: src/page/places.vue:79 src/page/settings/content.vue:235 msgid "Search" @@ -2660,11 +2695,11 @@ msgstr "Selecionar data" msgid "Select dates" msgstr "Selecionar datas" -#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:154 +#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:156 msgid "Select or create an album" msgstr "Selecionar ou criar um álbum" -#: src/component/upload/dialog.vue:138 +#: src/component/upload/dialog.vue:140 msgid "Select the files to upload…" msgstr "Seleciona os ficheiros a carregar…" @@ -2692,7 +2727,7 @@ msgstr "Seleção restaurada" msgid "Sequential Name" msgstr "Nome sequencial" -#: src/component/service/add.vue:67 src/component/service/edit.vue:322 +#: src/component/service/add.vue:68 src/component/service/edit.vue:323 #: src/component/share/dialog.vue:25 msgid "Service URL" msgstr "URL do serviço" @@ -2701,7 +2736,7 @@ msgstr "URL do serviço" msgid "Services" msgstr "Serviços" -#: src/model/session.js:107 src/options/auth.js:41 src/options/auth.js:90 +#: src/model/session.js:107 src/options/auth.js:42 src/options/auth.js:91 msgid "Session" msgstr "Sessão" @@ -2709,7 +2744,7 @@ msgstr "Sessão" msgid "Session ID" msgstr "Identificação de sessão" -#: src/page/admin.vue:45 +#: src/page/admin.vue:44 msgid "Sessions" msgstr "Sessões" @@ -2717,22 +2752,22 @@ msgstr "Sessões" msgid "Set as Album Cover" msgstr "Define como capa do álbum" -#: src/app/routes.js:101 src/app/routes.js:492 src/app/routes.js:504 -#: src/app/routes.js:521 src/app/routes.js:534 src/app/routes.js:547 -#: src/component/navigation.vue:1394 src/component/navigation.vue:1806 +#: src/app/routes.js:101 src/app/routes.js:500 src/app/routes.js:512 +#: src/app/routes.js:529 src/app/routes.js:542 src/app/routes.js:555 +#: src/component/navigation.vue:1419 src/component/navigation.vue:1841 msgid "Settings" msgstr "Configurações" #: src/page/settings/account.vue:115 src/page/settings/account.vue:144 -#: src/component/settings/passcode.vue:147 +#: src/component/settings/passcode.vue:151 msgid "Settings saved" msgstr "Configurações salvas" -#: src/component/service/upload.vue:131 src/component/settings/passcode.vue:160 +#: src/component/service/upload.vue:132 src/component/settings/passcode.vue:163 msgid "Setup" msgstr "Configuração" -#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:98 +#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:103 #: src/component/photo/clipboard.vue:51 src/page/settings/general.vue:382 msgid "Share" msgstr "Partilhar" @@ -2749,7 +2784,7 @@ msgstr "Compartilhe suas fotos com outros aplicativos e serviços." msgid "Show" msgstr "Mostrar" -#: src/page/people/new.vue:116 src/page/people/new.vue:233 +#: src/page/people/new.vue:116 src/page/people/new.vue:235 msgid "Show all new faces" msgstr "Mostrar todos os rostos novos" @@ -2794,7 +2829,7 @@ msgid "Similar" msgstr "Semelhante" #: src/component/photo/edit/files.vue:51 src/component/photo/edit/files.vue:341 -#: src/component/service/edit.vue:139 src/component/sidebar/info.vue:96 +#: src/component/service/edit.vue:140 src/component/sidebar/info.vue:96 msgid "Size" msgstr "Tamanho" @@ -2822,7 +2857,7 @@ msgstr "Algo deu errado, tente novamente" msgid "Sort by" msgstr "Ordenar por" -#: src/component/album/edit/dialog.vue:142 src/component/photo/toolbar.vue:288 +#: src/component/album/edit/dialog.vue:143 src/component/photo/toolbar.vue:290 #: src/page/albums.vue:214 msgid "Sort Order" msgstr "Ordem de classificação" @@ -2857,7 +2892,7 @@ msgstr "Empilhar fotos tiradas na mesma hora e local conforme os metadados." msgid "Stackable" msgstr "Empilhável" -#: src/component/navigation.vue:421 src/page/settings/content.vue:136 +#: src/component/navigation.vue:423 src/page/settings/content.vue:136 msgid "Stacks" msgstr "Pilhas" @@ -2885,16 +2920,16 @@ msgstr "Armazenamento" msgid "Streets" msgstr "Ruas" -#: src/component/photo/edit/details.vue:494 +#: src/component/photo/edit/details.vue:468 #: src/component/photo/edit/labels.vue:44 msgid "Subject" msgstr "Assunto" -#: src/page/about/feedback.vue:162 src/page/about/feedback.vue:163 +#: src/page/about/feedback.vue:163 src/page/about/feedback.vue:164 msgid "Submit" msgstr "Submete" -#: src/component/settings/passcode.vue:132 +#: src/component/settings/passcode.vue:136 msgid "Successfully activated" msgstr "Ativado com sucesso" @@ -2903,23 +2938,23 @@ msgid "Successfully Connected" msgstr "Conectado com sucesso" #: src/component/session/remove/dialog.vue:32 -#: src/component/settings/apps.vue:218 +#: src/component/settings/apps.vue:222 msgid "Successfully deleted" msgstr "Excluído com sucesso" -#: src/component/settings/passcode.vue:107 +#: src/component/settings/passcode.vue:108 msgid "Successfully verified" msgstr "Verificado com sucesso" -#: src/component/user/edit/dialog.vue:398 src/page/admin/users.vue:163 +#: src/component/user/edit/dialog.vue:399 src/page/admin/users.vue:165 msgid "Super Admin" msgstr "superadministrador" -#: src/component/service/add.vue:122 +#: src/component/service/add.vue:123 msgid "Support for additional services, like Google Drive, will be added over time." msgstr "Suporte para serviços adicionais, como Google Drive, serão adicionados oportunamente." -#: src/component/confirm/sponsor.vue:37 src/component/navigation.vue:1629 +#: src/component/confirm/sponsor.vue:38 src/component/navigation.vue:1660 msgid "Support Our Mission" msgstr "Apoie nossa missão" @@ -2927,7 +2962,7 @@ msgstr "Apoie nossa missão" msgid "Sync" msgstr "Sincronizar" -#: src/component/service/edit.vue:289 +#: src/component/service/edit.vue:290 msgid "Sync raw and video files" msgstr "Sincronizar ficheiros RAW e vídeos" @@ -2953,23 +2988,23 @@ msgstr "Terreno" msgid "Text" msgstr "Texto" -#: src/component/photo/edit/details.vue:32 src/page/people/new.vue:71 +#: src/component/photo/edit/details.vue:40 src/page/people/new.vue:71 msgid "Text too long" msgstr "Texto muito longo" -#: src/page/about/about.vue:145 +#: src/page/about/about.vue:146 msgid "Thank You for Your Support!" msgstr "Obrigado por seu apoio!" -#: src/page/about/about.vue:79 src/page/about/about.vue:85 +#: src/page/about/about.vue:80 src/page/about/about.vue:86 msgid "That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality." msgstr "É por isso que o PhotoPrism foi desenvolvido desde o início para ser executado onde você precisar, sem comprometer a liberdade, privacidade ou funcionalidade." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "The index currently contains %{n} hidden files." msgstr "O índice atualmente contém %{n} ficheiros ocultos." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates." msgstr "O formato delas não é suportado, não foram convertidas para JPEG ainda ou existe duplicação." @@ -2984,44 +3019,44 @@ msgstr "Tema" msgid "This field is required" msgstr "Este campo é obrigatório" -#: src/component/settings/webdav.vue:100 src/page/settings/services.vue:144 +#: src/component/settings/webdav.vue:101 src/page/settings/services.vue:147 msgid "This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local." msgstr "Isto monta a pasta de originais como um dispositivo de rede e permite que abra, edite e apague ficheiros a partir do seu computador ou telemóvel como se fossem locais." -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Time UTC" msgstr "Horário UTC" -#: src/component/photo/edit/details.vue:219 src/page/settings/general.vue:108 +#: src/component/photo/edit/details.vue:221 src/page/settings/general.vue:108 msgid "Time Zone" msgstr "Fuso Horário" -#: src/component/service/edit.vue:408 +#: src/component/service/edit.vue:409 msgid "Timeout" msgstr "Tempo esgotado" -#: src/component/user/edit/dialog.vue:98 src/component/user/edit/dialog.vue:99 +#: src/component/user/edit/dialog.vue:99 src/component/user/edit/dialog.vue:100 #: src/page/settings/account.vue:84 src/page/settings/account.vue:86 msgctxt "Account" msgid "Title" msgstr "Título" -#: src/component/photo/edit/details.vue:73 +#: src/component/photo/edit/details.vue:75 msgctxt "Photo" msgid "Title" msgstr "Título" -#: src/component/photo/edit/info.vue:59 src/component/photo/edit/info.vue:155 +#: src/component/photo/edit/info.vue:61 src/component/photo/edit/info.vue:155 #: src/component/photo/edit/labels.vue:40 src/component/photo/view/list.vue:114 #: src/component/sidebar/info.vue:57 msgid "Title" msgstr "Título" -#: src/page/settings/account.vue:553 src/page/settings/account.vue:555 +#: src/page/settings/account.vue:559 src/page/settings/account.vue:561 msgid "Title / Position" msgstr "Título / Posição" -#: src/page/albums.vue:83 +#: src/page/albums.vue:84 msgid "Title too long" msgstr "Título muito longo" @@ -3029,19 +3064,19 @@ msgstr "Título muito longo" msgid "to" msgstr "para" -#: src/component/settings/passcode.vue:312 +#: src/component/settings/passcode.vue:315 msgid "To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place." msgstr "Para evitar o bloqueio de sua conta, baixe, imprima ou copie este código de recuperação agora e guarde-o em um local seguro." -#: src/component/settings/apps.vue:272 +#: src/component/settings/apps.vue:275 msgid "To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:" msgstr "Para gerar uma nova senha específica do aplicativo, insira o nome e o escopo de autorização do aplicativo e selecione uma data de validade:" -#: src/component/settings/passcode.vue:400 +#: src/component/settings/passcode.vue:403 msgid "To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:" msgstr "Para mudar para um novo aplicativo ou dispositivo autenticador, primeiro desative a autenticação de dois fatores e depois reative-a:" -#: src/page/connect.vue:221 src/page/connect.vue:230 +#: src/page/connect.vue:223 src/page/connect.vue:232 msgid "To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:" msgstr "Para atualizar, você pode inserir um código de ativação ou clicar em \"Registrar\" para se inscrever em nosso site:" @@ -3049,7 +3084,7 @@ msgstr "Para atualizar, você pode inserir um código de ativação ou clicar em msgid "Today" msgstr "Hoje" -#: src/component/album/toolbar.vue:70 src/component/photo/toolbar.vue:78 +#: src/component/album/toolbar.vue:71 src/component/photo/toolbar.vue:78 msgid "Toggle View" msgstr "Trocar visualização" @@ -3076,20 +3111,24 @@ msgstr "Resolução de problemas" msgid "Try again using other filters or keywords." msgstr "Tente novamente usando outros filtros ou palavras-chave." -#: src/component/settings/passcode.vue:380 +#: src/component/settings/passcode.vue:383 msgid "Two-factor authentication has been enabled for your account." msgstr "A autenticação de dois fatores foi habilitada para sua conta." #: src/component/photo/edit/files.vue:58 src/component/photo/edit/files.vue:330 -#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:388 +#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:389 msgid "Type" msgstr "Tipo" -#: src/options/auth.js:13 +#: src/component/album/toolbar.vue:178 +msgid "Unable to delete" +msgstr "Não é possível apagar" + +#: src/options/auth.js:14 msgid "Unauthorized" msgstr "Não autorizado" -#: src/component/photo/edit/people.vue:94 +#: src/component/photo/edit/people.vue:95 msgid "Undo" msgstr "Desfazer" @@ -3097,16 +3136,16 @@ msgstr "Desfazer" msgid "Unique ID" msgstr "ID único" -#: src/page/settings/account.vue:451 src/page/settings/account.vue:476 -#: src/page/settings/account.vue:501 src/common/util.js:487 -#: src/component/photo/edit/details.vue:21 -#: src/component/photo/edit/details.vue:111 -#: src/component/photo/edit/details.vue:138 -#: src/component/photo/edit/details.vue:164 src/component/sidebar/info.vue:43 -#: src/model/album.js:193 src/model/photo.js:323 src/model/photo.js:784 -#: src/model/photo.js:809 src/model/photo.js:832 src/model/photo.js:850 -#: src/model/photo.js:897 src/model/photo.js:905 src/model/photo.js:994 -#: src/model/photo.js:1016 src/model/photo.js:1061 src/model/photo.js:1074 +#: src/page/settings/account.vue:457 src/page/settings/account.vue:482 +#: src/page/settings/account.vue:507 src/common/util.js:488 +#: src/component/photo/edit/details.vue:27 +#: src/component/photo/edit/details.vue:113 +#: src/component/photo/edit/details.vue:140 +#: src/component/photo/edit/details.vue:166 src/component/sidebar/info.vue:43 +#: src/model/album.js:193 src/model/photo.js:331 src/model/photo.js:821 +#: src/model/photo.js:846 src/model/photo.js:869 src/model/photo.js:887 +#: src/model/photo.js:934 src/model/photo.js:942 src/model/photo.js:1031 +#: src/model/photo.js:1053 src/model/photo.js:1098 src/model/photo.js:1111 #: src/model/user.js:157 src/options/options.js:51 src/options/options.js:69 #: src/options/options.js:86 src/options/options.js:100 #: src/options/options.js:112 src/page/library/errors.vue:251 @@ -3119,7 +3158,7 @@ msgstr "Desconhecido" msgid "Unregistered" msgstr "Não registrado" -#: src/app/routes.js:215 src/component/navigation.vue:644 +#: src/app/routes.js:223 src/component/navigation.vue:648 msgid "Unsorted" msgstr "Não classificado" @@ -3127,7 +3166,7 @@ msgstr "Não classificado" msgid "Unstack" msgstr "Desempilhar" -#: src/component/photo/edit/files.vue:519 src/component/photo/edit/info.vue:416 +#: src/component/photo/edit/files.vue:521 src/component/photo/edit/info.vue:416 msgid "Updated" msgstr "Atualizado" @@ -3143,7 +3182,7 @@ msgstr "Atualizando o índice" msgid "Updating moments" msgstr "Atualizando momentos" -#: src/component/user/edit/dialog.vue:154 +#: src/component/user/edit/dialog.vue:155 msgid "Updating picture…" msgstr "Atualizando a imagem.." @@ -3155,21 +3194,21 @@ msgstr "Atualização de previsões" msgid "Updating stacks" msgstr "Atualizando pilhas" -#: src/page/connect.vue:57 src/component/navigation.vue:1500 -#: src/component/navigation.vue:1614 src/component/navigation.vue:1999 +#: src/page/connect.vue:57 src/component/navigation.vue:1526 +#: src/component/navigation.vue:1644 src/component/navigation.vue:2047 #: src/page/connect.vue:58 msgid "Upgrade" msgstr "Melhoria" -#: src/page/about/about.vue:123 src/page/connect.vue:202 -#: src/component/confirm/sponsor.vue:98 src/page/about/about.vue:113 -#: src/page/connect.vue:206 +#: src/page/about/about.vue:124 src/page/connect.vue:204 +#: src/component/confirm/sponsor.vue:99 src/page/about/about.vue:114 +#: src/page/connect.vue:208 msgid "Upgrade Now" msgstr "Atualize agora" -#: src/component/album/toolbar.vue:108 src/component/navigation.vue:1824 -#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:144 -#: src/component/upload/dialog.vue:51 src/page/albums.vue:183 +#: src/component/album/toolbar.vue:113 src/component/navigation.vue:1860 +#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:145 +#: src/component/upload/dialog.vue:51 src/page/albums.vue:185 #: src/page/labels.vue:122 src/page/library/import.vue:133 #: src/page/settings/general.vue:307 src/page/settings/services.vue:38 msgid "Upload" @@ -3179,21 +3218,21 @@ msgstr "Enviar" msgid "Upload complete" msgstr "Envio finalizado" -#: src/component/upload/dialog.vue:133 +#: src/component/upload/dialog.vue:135 msgid "Upload complete. Indexing…" msgstr "Envio finalizado. Indexando…" #: src/component/upload/dialog.vue:296 src/component/upload/dialog.vue:315 -#: src/component/upload/dialog.vue:129 +#: src/component/upload/dialog.vue:131 msgid "Upload failed" msgstr "Envio falhou" -#: src/component/service/edit.vue:257 +#: src/component/service/edit.vue:258 msgid "Upload local files" msgstr "Enviar ficheiros locais" -#: src/component/user/edit/dialog.vue:380 #: src/component/user/edit/dialog.vue:381 +#: src/component/user/edit/dialog.vue:382 msgid "Upload Path" msgstr "Carregar Caminho" @@ -3201,7 +3240,7 @@ msgstr "Carregar Caminho" msgid "Upload to WebDAV and share links with friends." msgstr "Enviar para WebDAV e partilhar links com amigos." -#: src/component/upload/dialog.vue:131 +#: src/component/upload/dialog.vue:133 msgid "Uploading %{n} of %{t}…" msgstr "Enviando %{n} de %{t}…" @@ -3214,7 +3253,7 @@ msgstr "Enviando fotos…" msgid "Uploading…" msgstr "A carregar." -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Uploads that may contain such images will be rejected automatically." msgstr "Envios que possam conter tais imagens serão rejeitados automaticamente." @@ -3222,7 +3261,7 @@ msgstr "Envios que possam conter tais imagens serão rejeitados automaticamente. msgid "Use Presets" msgstr "Usar pré-definições" -#: src/component/settings/passcode.vue:283 +#: src/component/settings/passcode.vue:286 msgid "Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:" msgstr "Use o seguinte código de recuperação para acessar sua conta quando não conseguir gerar um código de verificação válido com seu aplicativo autenticador:" @@ -3230,12 +3269,12 @@ msgstr "Use o seguinte código de recuperação para acessar sua conta quando n msgid "Use your recovery code or contact an administrator for help." msgstr "Utiliza o teu código de recuperação ou contacta um administrador para obter ajuda." -#: src/options/admin.js:10 src/page/admin/sessions.vue:59 -#: src/page/admin/sessions.vue:242 src/model/user.js:361 src/options/auth.js:7 +#: src/options/admin.js:14 src/page/admin/sessions.vue:59 +#: src/page/admin/sessions.vue:243 src/model/user.js:361 src/options/auth.js:8 msgid "User" msgstr "Utilizador" -#: src/component/navigation.vue:1979 +#: src/component/navigation.vue:2025 msgid "User Guide" msgstr "Guia do Usuário" @@ -3243,14 +3282,14 @@ msgstr "Guia do Usuário" msgid "User Interface" msgstr "Interface de utilizador" -#: src/component/user/add/dialog.vue:87 src/component/user/add/dialog.vue:88 -#: src/page/admin/sessions.vue:220 src/page/admin/users.vue:71 -#: src/component/service/add.vue:85 src/component/service/edit.vue:337 +#: src/component/user/add/dialog.vue:88 src/component/user/add/dialog.vue:89 +#: src/page/admin/sessions.vue:221 src/page/admin/users.vue:73 +#: src/component/service/add.vue:86 src/component/service/edit.vue:338 #: src/component/share/dialog.vue:26 msgid "Username" msgstr "Nome de utilizador" -#: src/component/navigation.vue:1435 +#: src/component/navigation.vue:1461 msgid "Users" msgstr "Usuários" @@ -3260,18 +3299,18 @@ msgstr "Usuários" msgid "Vector" msgstr "Vetor" -#: src/component/navigation.vue:440 +#: src/component/navigation.vue:442 msgid "Vectors" msgstr "vetores" -#: src/component/settings/passcode.vue:227 src/page/auth/login.vue:144 +#: src/component/settings/passcode.vue:230 src/page/auth/login.vue:144 msgid "Verification Code" msgstr "Código de verificação" #: src/component/photo/view/cards.vue:363 #: src/component/photo/view/cards.vue:491 src/component/photo/view/list.vue:190 #: src/component/photo/view/mosaic.vue:207 src/model/file.js:221 -#: src/model/photo.js:921 src/model/photo.js:939 src/options/options.js:293 +#: src/model/photo.js:958 src/model/photo.js:976 src/options/options.js:293 msgid "Video" msgstr "Vídeo" @@ -3280,12 +3319,12 @@ msgstr "Vídeo" msgid "Video Duration" msgstr "Duração Vídeo" -#: src/app/routes.js:243 src/component/navigation.vue:728 +#: src/app/routes.js:251 src/component/navigation.vue:734 #: src/options/options.js:200 msgid "Videos" msgstr "Vídeos" -#: src/component/photo/toolbar.vue:261 src/component/photo/view/cards.vue:350 +#: src/component/photo/toolbar.vue:263 src/component/photo/view/cards.vue:350 #: src/component/photo/view/mosaic.vue:194 msgid "View" msgstr "Visualização" @@ -3294,11 +3333,11 @@ msgstr "Visualização" msgid "View search results as a list." msgstr "Vê os resultados da pesquisa como uma lista." -#: src/options/admin.js:14 src/options/auth.js:8 +#: src/options/admin.js:18 src/options/auth.js:9 msgid "Viewer" msgstr "Visualizador" -#: src/page/admin/sessions.vue:271 src/options/auth.js:12 +#: src/page/admin/sessions.vue:272 src/options/auth.js:13 msgid "Visitor" msgstr "Visitante" @@ -3310,34 +3349,34 @@ msgstr "Similaridade visual" msgid "Warning" msgstr "Aviso" -#: src/page/about/feedback.vue:60 +#: src/page/about/feedback.vue:61 msgid "We appreciate your feedback!" msgstr "Agradecemos seu feedback!" -#: src/page/about/feedback.vue:63 +#: src/page/about/feedback.vue:64 msgid "We do our best to respond within five business days or less." msgstr "Fazemos nosso melhor para responder dentro de cinco dias úteis ou menos." -#: src/component/user/add/dialog.vue:235 src/component/user/edit/dialog.vue:415 -#: src/page/admin/users.vue:80 +#: src/component/user/add/dialog.vue:236 src/component/user/edit/dialog.vue:416 +#: src/page/admin/users.vue:82 msgid "Web Login" msgstr "Login na Web" -#: src/component/user/add/dialog.vue:248 src/component/user/edit/dialog.vue:432 -#: src/page/admin/users.vue:82 src/options/auth.js:55 src/options/auth.js:68 +#: src/component/user/add/dialog.vue:249 src/component/user/edit/dialog.vue:433 +#: src/page/admin/users.vue:84 src/options/auth.js:56 src/options/auth.js:69 #: src/options/options.js:444 msgid "WebDAV" msgstr "WebDAV" -#: src/component/settings/webdav.vue:51 +#: src/component/settings/webdav.vue:52 msgid "WebDAV clients can connect to PhotoPrism using the following URL:" msgstr "Clientes WebDAV podem conectar-se ao PhotoPrism usando o seguinte endereço:" -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism." msgstr "Clientes WebDAV, com o explorador do Windows ou do MacOS, pode conectar-se diretamente com o PhotoPrism." -#: src/component/service/upload.vue:50 src/component/share/dialog.vue:220 +#: src/component/service/upload.vue:51 src/component/share/dialog.vue:220 msgid "WebDAV Upload" msgstr "Envio WebDAV" @@ -3345,8 +3384,8 @@ msgstr "Envio WebDAV" msgid "WebGL support is disabled in your browser" msgstr "O suporte WebGL está desativado no teu browser" -#: src/page/settings/account.vue:615 src/page/settings/account.vue:709 -#: src/page/settings/account.vue:601 +#: src/page/settings/account.vue:621 src/page/settings/account.vue:715 +#: src/page/settings/account.vue:607 msgid "Website" msgstr "Site" @@ -3354,12 +3393,12 @@ msgstr "Site" msgid "White" msgstr "Branco" -#: src/page/settings/account.vue:532 +#: src/page/settings/account.vue:538 msgid "Work Details" msgstr "Detalhes do trabalho" -#: src/page/settings/account.vue:500 src/component/photo/edit/details.vue:163 -#: src/component/photo/toolbar.vue:315 src/page/albums.vue:159 +#: src/page/settings/account.vue:506 src/component/photo/edit/details.vue:165 +#: src/component/photo/toolbar.vue:317 src/page/albums.vue:159 msgid "Year" msgstr "Ano" @@ -3367,21 +3406,21 @@ msgstr "Ano" msgid "Yellow" msgstr "Amarelo" -#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:58 -#: src/component/photo/archive/dialog.vue:58 +#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:59 +#: src/component/photo/archive/dialog.vue:59 #: src/component/photo/clipboard.vue:200 src/component/photo/edit/files.vue:365 #: src/component/photo/edit/files.vue:395 #: src/component/photo/edit/files.vue:401 #: src/component/photo/edit/files.vue:407 -#: src/component/photo/edit/files.vue:510 src/component/photo/edit/info.vue:281 +#: src/component/photo/edit/files.vue:512 src/component/photo/edit/info.vue:281 #: src/component/photo/edit/info.vue:297 src/component/photo/edit/info.vue:313 #: src/component/photo/edit/info.vue:329 src/component/photo/edit/info.vue:344 -#: src/component/photo/toolbar.vue:434 +#: src/component/photo/toolbar.vue:436 msgid "Yes" msgstr "Sim" -#: src/component/confirm/sponsor.vue:59 src/page/about/about.vue:158 -#: src/page/connect.vue:315 +#: src/component/confirm/sponsor.vue:60 src/page/about/about.vue:160 +#: src/page/connect.vue:317 msgid "You are welcome to contact us at membership@photoprism.app for questions regarding your membership." msgstr "Você está convidado a entrar em contato conosco em membership@photoprism.app para perguntas sobre sua associação." @@ -3393,7 +3432,11 @@ msgstr "Pode descarregar apenas um álbum" msgid "You can only download one label" msgstr "Pode descarregar apenas uma etiqueta" -#: src/component/upload/dialog.vue:203 +#: src/component/location/dialog.vue:178 +msgid "You can search for a location or move the marker on the map to change the position:" +msgstr "Podes procurar uma localização ou mover o marcador no mapa para alterar a posição:" + +#: src/component/upload/dialog.vue:205 msgid "You can upload up to %{n} files for test purposes." msgstr "Pode carregar até %{n} ficheiros para fins de teste." @@ -3406,7 +3449,7 @@ msgstr "Pode descarregar apenas um item" msgid "You may rescan your library to find additional faces." msgstr "Você pode voltar a digitalizar sua biblioteca para encontrar rostos adicionais." -#: src/page/connect.vue:146 src/page/connect.vue:150 +#: src/page/connect.vue:147 src/page/connect.vue:151 msgid "Your account has been successfully connected." msgstr "Sua conta foi conectada com sucesso." @@ -3414,8 +3457,8 @@ msgstr "Sua conta foi conectada com sucesso." msgid "Your browser does not support WebGL" msgstr "O teu browser não suporta WebGL" -#: src/component/confirm/sponsor.vue:43 src/page/about/about.vue:97 -#: src/page/about/about.vue:156 src/page/connect.vue:220 +#: src/component/confirm/sponsor.vue:44 src/page/about/about.vue:98 +#: src/page/about/about.vue:158 src/page/connect.vue:222 msgid "Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy." msgstr "Seu apoio contínuo nos ajuda a fornecer atualizações regulares e a permanecer independentes, para que possamos cumprir nossa missão e proteger sua privacidade." @@ -3496,9 +3539,6 @@ msgstr "Aproximar/Afastar" #~ msgid "Open Folder" #~ msgstr "Abre a pasta" -#~ msgid "Cannot copy to clipboard" -#~ msgstr "Não é possível copiar para a área de transferência" - #~ msgid "Sound" #~ msgstr "Som" @@ -4126,9 +4166,6 @@ msgstr "Aproximar/Afastar" #~ msgid "More than 50 results" #~ msgstr "Mais de 50 resultados" -#~ msgid "No results" -#~ msgstr "Nenhum resultado" - #~ msgid "Not implemented yet" #~ msgstr "Ainda não implementado" diff --git a/frontend/src/locales/pt_BR.po b/frontend/src/locales/pt_BR.po index 5a2931c15..30ddb5526 100644 --- a/frontend/src/locales/pt_BR.po +++ b/frontend/src/locales/pt_BR.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: ci@photoprism.app\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2025-04-04 08:03+0000\n" +"PO-Revision-Date: 2025-07-06 08:58+0000\n" "Last-Translator: DeepL \n" "Language-Team: Portuguese (Brazil) \n" "Language: pt_BR\n" @@ -11,7 +11,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 5.10.4\n" +"X-Generator: Weblate 5.12.2\n" "Generated-By: easygettext\n" #: src/locales.js:268 @@ -42,7 +42,7 @@ msgstr "{0} selecionado" msgid "{0}-{1} of {2}" msgstr "{0}-{1} de {2}" -#: src/page/albums.vue:612 +#: src/page/albums.vue:617 msgid "%{n} albums found" msgstr "%{n} álbuns encontrados" @@ -50,25 +50,25 @@ msgstr "%{n} álbuns encontrados" msgid "%{n} files uploaded" msgstr "%{n} arquivos enviados" -#: src/page/library/browse.vue:362 +#: src/page/library/browse.vue:364 msgid "%{n} folders found" msgstr "%{n} pastas encontradas" -#: src/component/navigation.vue:1676 +#: src/component/navigation.vue:1707 msgid "%{n} GB of %{q} GB used" msgstr "%{n} GB de %{q} GB usados" -#: src/page/labels.vue:528 +#: src/page/labels.vue:533 msgid "%{n} labels found" msgstr "%{n} etiquetas encontradas" -#: src/page/people/new.vue:350 src/page/people/new.vue:447 -#: src/page/people/recognized.vue:536 +#: src/page/people/new.vue:350 src/page/people/new.vue:450 +#: src/page/people/recognized.vue:541 msgid "%{n} people found" msgstr "%{n} pessoas encontradas" -#: src/page/album/photos.vue:308 src/page/album/photos.vue:493 -#: src/page/photos.vue:441 src/page/photos.vue:631 +#: src/page/album/photos.vue:313 src/page/album/photos.vue:504 +#: src/page/photos.vue:446 src/page/photos.vue:641 msgid "%{n} pictures found" msgstr "%{n} fotos encontradas" @@ -88,12 +88,12 @@ msgstr "1 hora" msgid "12 hours" msgstr "12 horas" -#: src/component/user/edit/dialog.vue:452 src/page/settings/account.vue:324 -#: src/component/settings/passcode.vue:75 +#: src/component/user/edit/dialog.vue:453 src/page/settings/account.vue:325 +#: src/component/settings/passcode.vue:78 msgid "2-Factor Authentication" msgstr "Autenticação de dois fatores" -#: src/component/user/edit/dialog.vue:451 src/options/auth.js:46 +#: src/component/user/edit/dialog.vue:452 src/options/auth.js:47 msgid "2FA" msgstr "2FA" @@ -109,20 +109,20 @@ msgstr "Um clique copiará para sua área de transferência." msgid "A new version of %{s} is available:" msgstr "Uma nova versão de %{s} está disponível:" -#: src/component/user/edit/dialog.vue:233 -#: src/component/user/edit/dialog.vue:234 src/page/about/about.vue:56 +#: src/component/user/edit/dialog.vue:234 +#: src/component/user/edit/dialog.vue:235 src/page/about/about.vue:56 #: src/page/settings/account.vue:248 src/page/settings/account.vue:249 -#: src/app/routes.js:63 src/component/navigation.vue:1521 -#: src/page/people/recognized.vue:292 +#: src/app/routes.js:63 src/component/navigation.vue:1547 +#: src/page/people/recognized.vue:296 msgid "About" msgstr "Sobre" -#: src/options/auth.js:26 src/options/auth.js:44 +#: src/options/auth.js:27 src/options/auth.js:45 msgid "Access Token" msgstr "Token de acesso" -#: src/component/navigation.vue:87 src/component/navigation.vue:1788 -#: src/component/service/upload.vue:71 src/model/service.js:96 +#: src/component/navigation.vue:87 src/component/navigation.vue:1822 +#: src/component/service/upload.vue:72 src/model/service.js:96 #: src/model/user.js:171 src/page/settings.vue:85 #: src/page/settings/general.vue:582 msgid "Account" @@ -136,7 +136,7 @@ msgstr "Conta criada" msgid "Account deleted" msgstr "Conta excluída" -#: src/page/admin/users.vue:335 +#: src/page/admin/users.vue:337 msgid "Account restored" msgstr "Conta restaurada" @@ -157,8 +157,8 @@ msgstr "Ação" msgid "Actions" msgstr "Ações" -#: src/page/connect.vue:294 src/component/settings/passcode.vue:346 -#: src/page/connect.vue:303 +#: src/page/connect.vue:296 src/component/settings/passcode.vue:349 +#: src/page/connect.vue:305 msgid "Activate" msgstr "Ativar" @@ -174,20 +174,20 @@ msgstr "Ative para classificar em ordem crescente." msgid "Activate to sort descending." msgstr "Ative para classificar de forma decrescente." -#: src/page/connect.vue:231 src/page/connect.vue:240 +#: src/page/connect.vue:233 src/page/connect.vue:242 msgid "Activation Code" msgstr "Código de ativação" -#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:83 -#: src/component/settings/apps.vue:448 +#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:92 +#: src/component/settings/apps.vue:451 msgid "Add" msgstr "Adicione" -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:246 msgid "Add %{s}?" msgstr "Adicionar %{s}?" -#: src/component/user/add/dialog.vue:56 src/component/service/add.vue:49 +#: src/component/user/add/dialog.vue:57 src/component/service/add.vue:50 msgid "Add Account" msgstr "Adicionar conta" @@ -204,8 +204,8 @@ msgid "Add Link" msgstr "Adicionar Link" #: src/component/photo/edit/people.vue:25 -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:57 -#: src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:57 +#: src/page/people/new.vue:246 msgid "Add person?" msgstr "Você adicionou uma pessoa?" @@ -221,10 +221,15 @@ msgstr "Adicione fotos dos resultados da busca selecionando-as." msgid "Add to album" msgstr "Adicionar ao álbum" -#: src/component/photo/edit/files.vue:514 +#: src/component/photo/edit/files.vue:516 msgid "Added" msgstr "Adicionado" +#: src/component/location/dialog.vue:68 src/component/location/dialog.vue:90 +#: src/component/photo/edit/details.vue:246 +msgid "Adjust Location" +msgstr "Ajustar local" + #: src/options/admin.js:6 src/options/auth.js:6 msgid "Admin" msgstr "Admin" @@ -245,7 +250,7 @@ msgstr "Depois de 3 dias" msgid "After 7 days" msgstr "Depois de 7 dias" -#: src/component/settings/passcode.vue:93 +#: src/component/settings/passcode.vue:96 msgid "After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:" msgstr "Depois de inserir sua senha para confirmação, você pode configurar a autenticação de dois fatores com um aplicativo ou dispositivo autenticador compatível:" @@ -277,12 +282,16 @@ msgstr "Álbum" msgid "Album Backups" msgstr "Backups de álbuns" -#: src/page/albums.vue:674 +#: src/page/albums.vue:685 msgid "Album created" msgstr "Álbum criado" -#: src/app/routes.js:176 src/component/album/toolbar.vue:51 -#: src/component/navigation.vue:604 src/component/navigation.vue:1882 +#: src/page/album/photos.vue:589 +msgid "Album deleted" +msgstr "Álbum excluído" + +#: src/app/routes.js:184 src/component/album/toolbar.vue:55 +#: src/component/navigation.vue:607 src/component/navigation.vue:1922 #: src/component/photo/edit/info.vue:220 src/options/options.js:198 msgid "Albums" msgstr "Álbuns" @@ -295,7 +304,7 @@ msgstr "Álbuns excluídos" msgid "All" msgstr "Todos" -#: src/page/albums.vue:465 +#: src/page/albums.vue:470 msgid "All %{n} albums loaded" msgstr "Todos os %{n} álbuns foram carregados" @@ -311,8 +320,8 @@ msgstr "Todas as pessoas %{n} carregadas" msgid "All Cameras" msgstr "Todas as Câmeras" -#: src/component/photo/toolbar.vue:74 src/page/albums.vue:44 -#: src/page/albums.vue:240 src/page/albums.vue:746 +#: src/component/photo/toolbar.vue:74 src/page/albums.vue:45 +#: src/page/albums.vue:242 src/page/albums.vue:757 msgid "All Categories" msgstr "Todas as Categorias" @@ -344,7 +353,7 @@ msgstr "Todos os Meses" msgid "All originals" msgstr "Todos os Originais" -#: src/component/photo/toolbar.vue:76 src/page/albums.vue:93 +#: src/component/photo/toolbar.vue:76 src/page/albums.vue:94 msgid "All Years" msgstr "Todos os Anos" @@ -356,7 +365,7 @@ msgstr "Como alternativa, você pode enviar arquivos diretamente para servidores msgid "Altitude" msgstr "Altitude" -#: src/component/photo/edit/details.vue:272 +#: src/component/photo/edit/details.vue:297 msgid "Altitude (m)" msgstr "Altitude (m)" @@ -364,8 +373,7 @@ msgstr "Altitude (m)" msgid "AM" msgstr "AM" -#: src/app/routes.js:257 src/component/navigation.vue:791 -#: src/component/photo/edit/files.vue:364 +#: src/app/routes.js:265 src/component/photo/edit/files.vue:364 #: src/component/photo/view/cards.vue:327 #: src/component/photo/view/cards.vue:511 src/component/photo/view/list.vue:184 #: src/component/photo/view/mosaic.vue:171 src/options/options.js:301 @@ -376,43 +384,47 @@ msgstr "Animado" msgid "Animation" msgstr "Animação" +#: src/component/navigation.vue:797 +msgid "Animations" +msgstr "Animações" + #: src/component/share/dialog.vue:207 msgid "Any private photos and videos remain private and won't be shared." msgstr "Qualquer foto ou vídeo privado continuará privado e não será compartilhado." -#: src/component/service/edit.vue:372 +#: src/component/service/edit.vue:373 msgid "API Key" msgstr "Chave API" -#: src/page/admin/sessions.vue:357 src/options/auth.js:25 +#: src/page/admin/sessions.vue:361 src/options/auth.js:26 msgid "Application" msgstr "Aplicativo" -#: src/component/photo/edit/details.vue:641 +#: src/component/photo/edit/details.vue:615 msgid "Apply" msgstr "Aplicar" #: src/component/photo/clipboard.vue:64 -#: src/component/photo/edit/details.vue:640 +#: src/component/photo/edit/details.vue:614 #: src/component/photo/view/cards.vue:416 msgid "Approve" msgstr "Aprovar" -#: src/page/settings/account.vue:374 src/component/settings/apps.vue:91 +#: src/page/settings/account.vue:378 src/component/settings/apps.vue:94 msgid "Apps and Devices" msgstr "Aplicativos e dispositivos" -#: src/app/routes.js:287 src/component/lightbox.vue:1207 -#: src/component/navigation.vue:555 src/component/photo/clipboard.vue:142 +#: src/app/routes.js:295 src/component/lightbox.vue:1207 +#: src/component/navigation.vue:557 src/component/photo/clipboard.vue:142 #: src/component/photo/view/cards.vue:398 src/page/settings/general.vue:432 msgid "Archive" msgstr "Arquivo" -#: src/component/lightbox.vue:1982 src/component/photo/edit/info.vue:433 +#: src/component/lightbox.vue:2002 src/component/photo/edit/info.vue:433 msgid "Archived" msgstr "Arquivado" -#: src/component/photo/archive/dialog.vue:34 +#: src/component/photo/archive/dialog.vue:35 msgid "Are you sure you want to archive the selection?" msgstr "Você tem certeza que deseja arquivar a seleção?" @@ -420,19 +432,23 @@ msgstr "Você tem certeza que deseja arquivar a seleção?" msgid "Are you sure you want to delete these albums?" msgstr "Você tem certeza que deseja excluir esses álbuns?" -#: src/component/label/delete/dialog.vue:34 +#: src/component/label/delete/dialog.vue:35 msgid "Are you sure you want to delete these labels?" msgstr "Você tem certeza que deseja excluir essas etiquetas?" -#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:36 +#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:37 msgid "Are you sure you want to delete this account?" msgstr "Você tem certeza que deseja excluir essa conta?" +#: src/component/album/toolbar.vue:136 +msgid "Are you sure you want to delete this album?" +msgstr "Você tem certeza de que deseja excluir esse álbum?" + #: src/component/photo/clipboard.vue:199 msgid "Are you sure you want to permanently delete these pictures?" msgstr "Você tem certeza que deseja permanentemente excluir estas imagens?" -#: src/component/file/delete/dialog.vue:34 +#: src/component/file/delete/dialog.vue:35 msgid "Are you sure you want to permanently delete this file?" msgstr "Você tem certeza que deseja permanentemente excluir este arquivo?" @@ -441,7 +457,7 @@ msgstr "Você tem certeza que deseja permanentemente excluir este arquivo?" msgid "Are you sure?" msgstr "Você tem certeza?" -#: src/component/photo/edit/details.vue:537 +#: src/component/photo/edit/details.vue:511 msgid "Artist" msgstr "Artista" @@ -449,14 +465,14 @@ msgstr "Artista" msgid "Aspect Ratio" msgstr "Proporção da Tela" -#: src/app/routes.js:250 src/component/navigation.vue:770 +#: src/app/routes.js:258 src/component/navigation.vue:776 #: src/options/options.js:297 msgid "Audio" msgstr "Áudio" -#: src/component/user/add/dialog.vue:190 src/component/user/edit/dialog.vue:309 -#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:281 -#: src/page/admin/users.vue:75 +#: src/component/user/add/dialog.vue:191 src/component/user/edit/dialog.vue:310 +#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:282 +#: src/page/admin/users.vue:77 msgid "Authentication" msgstr "Autenticação" @@ -464,11 +480,11 @@ msgstr "Autenticação" msgid "Auto" msgstr "Automotivo" -#: src/component/settings/apps.vue:151 +#: src/component/settings/apps.vue:154 msgid "Back" msgstr "Voltar" -#: src/component/scroll.vue:20 +#: src/component/scroll.vue:18 msgid "Back to top" msgstr "Voltar ao topo" @@ -480,26 +496,26 @@ msgstr "Cópia de Segurança" msgid "Badge" msgstr "Crachá" -#: src/component/user/edit/dialog.vue:361 #: src/component/user/edit/dialog.vue:362 +#: src/component/user/edit/dialog.vue:363 msgid "Base Path" msgstr "Caminho Base" -#: src/page/about/about.vue:95 src/page/connect.vue:220 +#: src/page/about/about.vue:96 src/page/connect.vue:222 msgid "Become a member today, support our mission and enjoy our member benefits!" msgstr "Torne-se um membro hoje, apoie nossa missão e desfrute dos benefícios de nossos membros!" -#: src/component/confirm/sponsor.vue:51 src/page/about/about.vue:99 +#: src/component/confirm/sponsor.vue:52 src/page/about/about.vue:100 msgid "Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services." msgstr "Sendo 100% self-fundados e independentes, podemos prometer que nunca venderemos seus dados e que seremos sempre transparentes sobre nossos softwares e serviços." -#: src/component/user/edit/dialog.vue:258 -#: src/component/user/edit/dialog.vue:259 src/page/settings/account.vue:227 +#: src/component/user/edit/dialog.vue:259 +#: src/component/user/edit/dialog.vue:260 src/page/settings/account.vue:227 #: src/page/settings/account.vue:228 msgid "Bio" msgstr "Biografia" -#: src/page/settings/account.vue:431 +#: src/page/settings/account.vue:437 msgid "Birth Date" msgstr "Data de Nascimento" @@ -520,7 +536,7 @@ msgid "Brown" msgstr "Marrom" #: src/component/photo/edit/files.vue:263 src/component/photo/toolbar.vue:141 -#: src/component/upload/dialog.vue:240 +#: src/component/upload/dialog.vue:242 msgid "Browse" msgstr "Navegar" @@ -548,16 +564,16 @@ msgstr "Relatar erro" msgid "Busy, please wait…" msgstr "Ocupado, por favor espere…" -#: src/page/connect.vue:317 +#: src/page/connect.vue:319 msgid "By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct." msgstr "Ao utilizar o software e os serviços que fornecemos, você concorda com nossos termos de serviço, política de privacidade e código de conduta." -#: src/app/routes.js:189 src/component/navigation.vue:1081 +#: src/app/routes.js:197 src/component/navigation.vue:1097 #: src/options/options.js:204 src/page/settings/general.vue:205 msgid "Calendar" msgstr "Calendário" -#: src/component/photo/edit/details.vue:346 src/component/photo/toolbar.vue:232 +#: src/component/photo/edit/details.vue:320 src/component/photo/toolbar.vue:234 #: src/component/photo/view/cards.vue:467 src/component/photo/view/list.vue:116 msgid "Camera" msgstr "Câmera" @@ -570,12 +586,12 @@ msgstr "Série da Câmera" msgid "Can't access your authenticator app or device?" msgstr "Você não consegue acessar o aplicativo ou o dispositivo autenticador?" -#: src/page/album/photos.vue:317 src/page/photos.vue:450 +#: src/page/album/photos.vue:322 src/page/photos.vue:455 msgid "Can't load more, limit reached" msgstr "Não é possível carregar mais, limite alcançado" #: src/common/clipboard.js:102 src/common/clipboard.js:139 -#: src/page/albums.vue:684 src/page/albums.vue:700 src/page/labels.vue:293 +#: src/page/albums.vue:695 src/page/albums.vue:711 src/page/labels.vue:293 #: src/page/labels.vue:313 src/page/library/browse.vue:233 #: src/page/library/browse.vue:249 src/page/people/new.vue:278 #: src/page/people/new.vue:294 src/page/people/recognized.vue:305 @@ -584,26 +600,31 @@ msgid "Can't select more items" msgstr "Não é possível selecionar mais itens" #: src/component/session/remove/dialog.vue:45 -#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:473 -#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:119 +#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:474 +#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:120 #: src/component/album/delete/dialog.vue:43 -#: src/component/album/edit/dialog.vue:199 src/component/confirm/dialog.vue:43 -#: src/component/file/delete/dialog.vue:47 -#: src/component/label/delete/dialog.vue:47 -#: src/component/label/edit/dialog.vue:107 -#: src/component/people/edit/dialog.vue:120 +#: src/component/album/edit/dialog.vue:200 src/component/confirm/dialog.vue:43 +#: src/component/file/delete/dialog.vue:48 +#: src/component/label/delete/dialog.vue:48 +#: src/component/label/edit/dialog.vue:108 +#: src/component/location/dialog.vue:200 +#: src/component/people/edit/dialog.vue:121 #: src/component/photo/album/dialog.vue:78 src/component/service/add.vue:19 -#: src/component/service/edit.vue:455 src/component/service/remove.vue:49 -#: src/component/service/upload.vue:117 src/component/settings/apps.vue:352 -#: src/component/settings/passcode.vue:249 -#: src/component/settings/passcode.vue:333 -#: src/component/settings/password.vue:159 src/component/share/dialog.vue:28 -#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:123 +#: src/component/service/edit.vue:456 src/component/service/remove.vue:50 +#: src/component/service/upload.vue:118 src/component/settings/apps.vue:355 +#: src/component/settings/passcode.vue:252 +#: src/component/settings/passcode.vue:336 +#: src/component/settings/password.vue:160 src/component/share/dialog.vue:28 +#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:124 #: src/page/library/import.vue:119 src/page/library/index.vue:128 msgid "Cancel" msgstr "Cancelar" -#: src/component/photo/edit/details.vue:87 src/component/photo/edit/info.vue:61 +#: src/common/util.js:863 src/common/util.js:870 +msgid "Cannot copy to clipboard" +msgstr "Não é possível copiar para a área de transferência" + +#: src/component/photo/edit/details.vue:89 src/component/photo/edit/info.vue:63 #: src/component/photo/edit/labels.vue:42 #: src/component/photo/view/cards.vue:445 src/component/sidebar/info.vue:72 msgid "Caption" @@ -617,17 +638,17 @@ msgstr "Cartões" msgid "Carousel slide {0} of {1}" msgstr "Slide de carrossel {0} de {1}" -#: src/page/about/feedback.vue:82 src/page/about/feedback.vue:83 -#: src/component/album/edit/dialog.vue:128 src/component/photo/toolbar.vue:397 +#: src/page/about/feedback.vue:83 src/page/about/feedback.vue:84 +#: src/component/album/edit/dialog.vue:129 src/component/photo/toolbar.vue:399 #: src/page/albums.vue:187 msgid "Category" msgstr "Categoria" -#: src/component/user/edit/dialog.vue:191 src/page/settings/account.vue:201 +#: src/component/user/edit/dialog.vue:192 src/page/settings/account.vue:201 msgid "Change Avatar" msgstr "Mudar Avatar" -#: src/page/settings/account.vue:297 src/component/settings/password.vue:48 +#: src/page/settings/account.vue:297 src/component/settings/password.vue:49 msgid "Change Password" msgstr "Alterar Senha" @@ -644,17 +665,17 @@ msgid "Change private flag" msgstr "Mudar marcação como privado" #: src/component/user/add/dialog.vue:108 src/component/user/add/dialog.vue:113 -#: src/component/user/edit/dialog.vue:90 src/component/user/edit/dialog.vue:95 +#: src/component/user/edit/dialog.vue:91 src/component/user/edit/dialog.vue:96 #: src/page/settings/account.vue:121 src/page/settings/account.vue:126 msgid "Changes could not be saved" msgstr "As mudanças não foram salvas" -#: src/component/user/edit/dialog.vue:83 src/component/user/edit/dialog.vue:159 +#: src/component/user/edit/dialog.vue:84 src/component/user/edit/dialog.vue:160 #: src/component/album/edit/dialog.vue:73 -#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1941 +#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1961 #: src/component/photo/edit/files.vue:162 src/component/service/edit.vue:90 #: src/component/share/dialog.vue:92 src/component/share/dialog.vue:111 -#: src/page/albums.vue:677 src/page/people/recognized.vue:119 +#: src/page/albums.vue:688 src/page/people/recognized.vue:119 #: src/page/settings/advanced.vue:62 src/page/settings/content.vue:62 #: src/page/settings/general.vue:108 msgid "Changes successfully saved" @@ -668,7 +689,7 @@ msgstr "As alterações nas configurações avançadas exigem que você reinicie msgid "Checked" msgstr "Checado" -#: src/component/photo/edit/files.vue:495 +#: src/component/photo/edit/files.vue:497 msgid "Chroma" msgstr "Croma" @@ -684,24 +705,24 @@ msgstr "Limpeza" msgid "Clear {0}" msgstr "Limpar {0}" -#: src/options/auth.js:11 src/options/auth.js:23 src/options/auth.js:43 +#: src/options/auth.js:12 src/options/auth.js:24 src/options/auth.js:44 msgid "Client" msgstr "Cliente" -#: src/options/auth.js:24 +#: src/options/auth.js:25 msgid "Client Credentials" msgstr "Credenciais do cliente" -#: src/page/admin/sessions.vue:529 src/component/lightbox.vue:284 -#: src/component/lightbox.vue:1009 src/component/lightbox.vue:1010 -#: src/component/photo/edit/details.vue:627 src/component/photo/toolbar.vue:160 -#: src/component/settings/apps.vue:224 src/component/settings/apps.vue:437 -#: src/component/settings/passcode.vue:148 -#: src/component/settings/passcode.vue:456 -#: src/component/settings/passcode.vue:497 -#: src/component/settings/webdav.vue:131 src/component/share/dialog.vue:231 +#: src/component/user/edit/dialog.vue:474 src/page/admin/sessions.vue:536 +#: src/component/lightbox.vue:284 src/component/lightbox.vue:1009 +#: src/component/lightbox.vue:1010 src/component/photo/edit/details.vue:601 +#: src/component/photo/toolbar.vue:161 src/component/settings/apps.vue:227 +#: src/component/settings/apps.vue:440 src/component/settings/passcode.vue:151 +#: src/component/settings/passcode.vue:459 +#: src/component/settings/passcode.vue:500 +#: src/component/settings/webdav.vue:132 src/component/share/dialog.vue:231 #: src/component/sidebar/info.vue:26 src/component/update.vue:57 -#: src/component/upload/dialog.vue:228 src/locales.js:206 +#: src/component/upload/dialog.vue:230 src/locales.js:206 #: src/page/library/errors.vue:253 msgid "Close" msgstr "Fechar" @@ -710,11 +731,11 @@ msgstr "Fechar" msgid "Codec" msgstr "Codec" -#: src/component/photo/toolbar.vue:369 +#: src/component/photo/toolbar.vue:371 msgid "Color" msgstr "Cor" -#: src/component/photo/edit/files.vue:483 +#: src/component/photo/edit/files.vue:485 msgid "Color Profile" msgstr "Perfil da cor" @@ -722,7 +743,7 @@ msgstr "Perfil da cor" msgid "Colors" msgstr "Cores" -#: src/page/connect.vue:260 src/page/connect.vue:269 +#: src/page/connect.vue:262 src/page/connect.vue:271 msgid "Compare Editions" msgstr "Compare as Edições" @@ -735,17 +756,18 @@ msgstr "Escanear completamente novamente" msgid "Confidence" msgstr "Certeza" +#: src/component/location/dialog.vue:212 #: src/component/photo/album/dialog.vue:90 -#: src/component/settings/passcode.vue:261 +#: src/component/settings/passcode.vue:264 msgid "Confirm" msgstr "confirme" -#: src/component/service/add.vue:20 src/page/settings/services.vue:187 +#: src/component/service/add.vue:20 src/page/settings/services.vue:191 msgid "Connect" msgstr "Conectar" -#: src/page/settings/account.vue:401 src/component/settings/webdav.vue:45 -#: src/page/settings/services.vue:167 +#: src/page/settings/account.vue:406 src/component/settings/webdav.vue:46 +#: src/page/settings/services.vue:170 msgid "Connect via WebDAV" msgstr "Conectar via WebDAV" @@ -753,22 +775,22 @@ msgstr "Conectar via WebDAV" msgid "Connected" msgstr "Conectado" -#: src/page/settings/account.vue:640 src/page/settings/account.vue:532 +#: src/page/settings/account.vue:646 src/page/settings/account.vue:538 msgid "Contact Details" msgstr "Detalhes do contato" -#: src/page/about/feedback.vue:37 src/page/connect.vue:132 -#: src/page/connect.vue:136 +#: src/page/about/feedback.vue:37 src/page/connect.vue:133 +#: src/page/connect.vue:137 msgid "Contact Us" msgstr "Entrar em contato" #: src/page/albums.vue:433 src/page/labels.vue:237 -#: src/page/people/recognized.vue:306 +#: src/page/people/recognized.vue:310 msgid "Contains %{n} pictures." msgstr "Contém %{n} imagens." #: src/page/albums.vue:427 src/page/labels.vue:231 -#: src/page/people/recognized.vue:300 +#: src/page/people/recognized.vue:304 msgid "Contains one picture." msgstr "Contém uma foto." @@ -776,7 +798,7 @@ msgstr "Contém uma foto." msgid "Content" msgstr "Conteúdo" -#: src/component/settings/apps.vue:163 +#: src/component/settings/apps.vue:166 msgid "Continue" msgstr "Continuar" @@ -784,7 +806,7 @@ msgstr "Continuar" msgid "Continue with %{provider}" msgstr "Continuar com %{provider}" -#: src/options/admin.js:18 src/options/auth.js:9 +#: src/options/admin.js:22 src/options/auth.js:10 msgid "Contributor" msgstr "Contribuinte" @@ -792,15 +814,15 @@ msgstr "Contribuinte" msgid "Converting" msgstr "Convertendo" -#: src/common/util.js:846 +#: src/common/util.js:856 msgid "Copied to clipboard" msgstr "Copiado para a área de transferência de texto" -#: src/component/settings/apps.vue:250 src/component/settings/passcode.vue:358 +#: src/component/settings/apps.vue:253 src/component/settings/passcode.vue:361 msgid "Copy" msgstr "Copiar" -#: src/component/photo/edit/details.vue:516 +#: src/component/photo/edit/details.vue:490 msgid "Copyright" msgstr "Direitos Autorais" @@ -808,8 +830,8 @@ msgstr "Direitos Autorais" msgid "Couldn't find anything." msgstr "Não foi possível encontrar nada." -#: src/page/settings/account.vue:685 src/component/photo/edit/details.vue:242 -#: src/component/photo/toolbar.vue:203 src/page/settings/account.vue:577 +#: src/page/settings/account.vue:691 src/component/photo/edit/details.vue:268 +#: src/component/photo/toolbar.vue:205 src/page/settings/account.vue:583 msgid "Country" msgstr "País" @@ -833,7 +855,7 @@ msgstr "Crie arquivos YAML para fazer backup dos metadados do álbum." msgid "Create YAML sidecar files to back up picture metadata." msgstr "Crie arquivos YAML sidecar para fazer backup dos metadados da imagem." -#: src/page/admin/sessions.vue:417 src/component/photo/edit/info.vue:412 +#: src/page/admin/sessions.vue:422 src/component/photo/edit/info.vue:412 msgid "Created" msgstr "Criado" @@ -845,11 +867,11 @@ msgstr "Criando miniaturas para" msgid "Cubic: Moderate Quality, Good Performance" msgstr "Cubic: Qualidade razoável, bom desempenho" -#: src/component/settings/password.vue:85 +#: src/component/settings/password.vue:86 msgid "Current Password" msgstr "Senha Atual" -#: src/options/themes.js:919 src/options/themes.js:928 +#: src/options/themes.js:920 src/options/themes.js:929 msgid "Custom" msgstr "Personalizado" @@ -865,11 +887,11 @@ msgstr "Diariamente" msgid "Database Backups" msgstr "Backups de banco de dados" -#: src/page/settings/account.vue:450 src/component/photo/edit/details.vue:110 +#: src/page/settings/account.vue:456 src/component/photo/edit/details.vue:112 msgid "Day" msgstr "Dia" -#: src/component/settings/passcode.vue:445 +#: src/component/settings/passcode.vue:448 msgid "Deactivate" msgstr "Desativar" @@ -877,36 +899,40 @@ msgstr "Desativar" msgid "Debug Logs" msgstr "Registros de depuração" -#: src/options/admin.js:31 src/page/admin/sessions.vue:136 -#: src/page/admin/users.vue:176 src/component/photo/edit/info.vue:47 +#: src/options/admin.js:35 src/page/admin/sessions.vue:136 +#: src/page/admin/users.vue:178 src/component/photo/edit/info.vue:47 #: src/component/photo/edit/info.vue:110 src/model/session.js:66 -#: src/model/user.js:246 src/options/auth.js:20 src/options/auth.js:21 -#: src/options/auth.js:39 src/options/auth.js:40 src/options/options.js:196 +#: src/model/user.js:246 src/options/auth.js:21 src/options/auth.js:22 +#: src/options/auth.js:40 src/options/auth.js:41 src/options/options.js:196 #: src/options/options.js:232 src/options/options.js:316 -#: src/options/themes.js:773 +#: src/options/themes.js:774 msgid "Default" msgstr "Padrão" -#: src/component/service/edit.vue:123 +#: src/component/service/edit.vue:124 msgid "Default Folder" msgstr "Pasta Padrão" #: src/component/session/remove/dialog.vue:56 #: src/component/user/remove/dialog.vue:56 src/component/album/clipboard.vue:97 -#: src/component/album/delete/dialog.vue:54 -#: src/component/file/delete/dialog.vue:58 src/component/label/clipboard.vue:58 -#: src/component/label/delete/dialog.vue:58 +#: src/component/album/delete/dialog.vue:54 src/component/album/toolbar.vue:137 +#: src/component/file/delete/dialog.vue:59 src/component/label/clipboard.vue:58 +#: src/component/label/delete/dialog.vue:59 #: src/component/photo/clipboard.vue:168 src/component/photo/edit/files.vue:238 -#: src/component/service/remove.vue:60 src/component/share/dialog.vue:170 +#: src/component/service/remove.vue:61 src/component/share/dialog.vue:170 #: src/page/settings/general.vue:457 msgid "Delete" msgstr "Excluir" +#: src/component/album/toolbar.vue:133 +msgid "Delete Album" +msgstr "Excluir álbum" + #: src/component/photo/toolbar.vue:119 src/page/library/errors.vue:95 msgid "Delete All" msgstr "Excluir tudo" -#: src/component/photo/toolbar.vue:433 src/page/library/errors.vue:193 +#: src/component/photo/toolbar.vue:435 src/page/library/errors.vue:193 msgid "Delete all?" msgstr "Excluir tudo?" @@ -914,16 +940,16 @@ msgstr "Excluir tudo?" msgid "Delete orphaned index entries, sidecar files and thumbnails." msgstr "Exclua entradas de índice órfãs, arquivos sidecar e miniaturas." -#: src/component/album/edit/dialog.vue:107 src/page/albums.vue:411 +#: src/component/album/edit/dialog.vue:108 src/page/albums.vue:411 msgid "Description" msgstr "Descrição" -#: src/component/settings/webdav.vue:115 +#: src/component/settings/webdav.vue:116 msgid "Detailed instructions can be found in our User Guide." msgstr "Instruções detalhadas podem ser encontradas no nosso Guia de Usuário." -#: src/component/photo/edit/dialog.vue:156 -#: src/component/photo/edit/dialog.vue:173 +#: src/component/photo/edit/dialog.vue:162 +#: src/component/photo/edit/dialog.vue:181 msgid "Details" msgstr "Detalhes" @@ -987,8 +1013,8 @@ msgstr "Desativa o suporte de gráficos vetoriais." msgid "Disables video transcoding and thumbnail extraction." msgstr "Desativa a transcodificação de vídeo e a extração de miniaturas." -#: src/app/routes.js:558 src/app/routes.js:565 src/app/routes.js:572 -#: src/app/routes.js:579 +#: src/app/routes.js:566 src/app/routes.js:573 src/app/routes.js:580 +#: src/app/routes.js:587 msgid "Discover" msgstr "Descobrir" @@ -996,9 +1022,9 @@ msgstr "Descobrir" msgid "Dismiss" msgstr "Dispensar" -#: src/component/user/add/dialog.vue:133 src/component/user/add/dialog.vue:134 -#: src/component/user/edit/dialog.vue:163 -#: src/component/user/edit/dialog.vue:164 src/page/admin/users.vue:72 +#: src/component/user/add/dialog.vue:134 src/component/user/add/dialog.vue:135 +#: src/component/user/edit/dialog.vue:164 +#: src/component/user/edit/dialog.vue:165 src/page/admin/users.vue:74 #: src/page/settings/account.vue:149 src/page/settings/account.vue:151 msgid "Display Name" msgstr "Nome de Exibição" @@ -1013,12 +1039,12 @@ msgstr "Exibir títulos de imagens nos resultados de pesquisa." #: src/component/photo/view/cards.vue:339 #: src/component/photo/view/cards.vue:521 -#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:174 +#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:176 #: src/options/options.js:309 msgid "Document" msgstr "Documento" -#: src/component/navigation.vue:480 +#: src/component/navigation.vue:482 msgid "Documents" msgstr "Documentos" @@ -1034,16 +1060,16 @@ msgstr "Não use o ImageMagick para converter imagens." msgid "Don't use RawTherapee to convert RAW images." msgstr "Não use RawTherapee para converter imagens RAW." -#: src/component/settings/apps.vue:238 src/component/share/dialog.vue:29 +#: src/component/settings/apps.vue:241 src/component/share/dialog.vue:29 msgid "Done" msgstr "Concluído" -#: src/component/upload/dialog.vue:135 src/page/library/import.vue:46 +#: src/component/upload/dialog.vue:137 src/page/library/import.vue:46 #: src/page/library/index.vue:52 msgid "Done." msgstr "Concluído." -#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:118 +#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:123 #: src/component/file/clipboard.vue:48 src/component/lightbox.vue:1235 #: src/component/people/clipboard.vue:47 src/component/photo/clipboard.vue:116 #: src/component/photo/edit/files.vue:168 src/page/settings/content.vue:331 @@ -1055,7 +1081,7 @@ msgstr "Baixar" msgid "Download only original media files, without any automatically generated files." msgstr "Baixe somente arquivos de mídia originais, sem nenhum arquivo gerado automaticamente." -#: src/component/service/edit.vue:237 +#: src/component/service/edit.vue:238 msgid "Download remote files" msgstr "Baixar arquivos remotos" @@ -1063,9 +1089,9 @@ msgstr "Baixar arquivos remotos" msgid "Download single files and zip archives." msgstr "Baixar arquivos individuais e zip." -#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:157 +#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:172 #: src/component/file/clipboard.vue:61 src/component/label/clipboard.vue:86 -#: src/component/lightbox.vue:2021 src/component/people/clipboard.vue:59 +#: src/component/lightbox.vue:2041 src/component/people/clipboard.vue:59 #: src/component/photo/clipboard.vue:220 src/component/photo/edit/files.vue:119 #: src/component/photo/view/cards.vue:169 src/component/photo/view/list.vue:142 #: src/page/library/browse.vue:139 @@ -1080,7 +1106,7 @@ msgstr "Filtro de redimensionamento" msgid "Drag and drop files here" msgstr "Arraste e solte arquivos aqui" -#: src/page/about/feedback.vue:61 +#: src/page/about/feedback.vue:62 msgid "Due to the high volume of emails we receive, our team may be unable to get back to you immediately." msgstr "Devido ao alto volume de e-mails que recebemos, nossa equipe pode não conseguir responder-lhe imediatamente." @@ -1100,23 +1126,23 @@ msgstr "Amostras dinâmicas" msgid "Dynamic Size Limit: %{n}px" msgstr "Tamanho dinâmico limite: %{n}px" -#: src/page/about/feedback.vue:141 src/page/about/feedback.vue:140 +#: src/page/about/feedback.vue:142 src/page/about/feedback.vue:141 msgid "E-Mail" msgstr "Email" -#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:89 +#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:94 #: src/component/lightbox.vue:1136 src/component/lightbox.vue:1137 #: src/component/photo/clipboard.vue:90 src/page/settings/general.vue:407 msgid "Edit" msgstr "Editar" -#: src/component/album/edit/dialog.vue:54 -#: src/component/label/edit/dialog.vue:52 -#: src/component/people/edit/dialog.vue:52 +#: src/component/album/edit/dialog.vue:55 +#: src/component/label/edit/dialog.vue:53 +#: src/component/people/edit/dialog.vue:53 msgid "Edit %{s}" msgstr "Editar %{s}" -#: src/component/user/edit/dialog.vue:61 src/component/service/edit.vue:79 +#: src/component/user/edit/dialog.vue:62 src/component/service/edit.vue:79 msgid "Edit Account" msgstr "Editar Conta" @@ -1128,8 +1154,8 @@ msgstr "Editar Foto" msgid "Edited" msgstr "Editado" -#: src/component/user/add/dialog.vue:151 src/component/user/edit/dialog.vue:213 -#: src/page/settings/account.vue:171 src/page/settings/account.vue:593 +#: src/component/user/add/dialog.vue:152 src/component/user/edit/dialog.vue:214 +#: src/page/settings/account.vue:171 src/page/settings/account.vue:599 msgid "Email" msgstr "E-mail" @@ -1145,7 +1171,7 @@ msgstr "Habilitar novos recursos que podem estar incompletos ou instáveis." msgid "Enables RAW converter presets. May reduce performance." msgstr "Permite predefinições de conversores RAW. Pode reduzir o desempenho." -#: src/component/settings/passcode.vue:127 +#: src/component/settings/passcode.vue:130 msgid "Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account." msgstr "Ativar a autenticação de dois fatores significa que você precisará de um código de verificação gerado aleatoriamente para fazer login, portanto, mesmo que alguém obtenha acesso à sua senha, não conseguirá acessar sua conta." @@ -1157,7 +1183,7 @@ msgstr "Insira a data" msgid "Enter dates" msgstr "Inserir datas" -#: src/component/settings/passcode.vue:213 src/page/auth/login.vue:104 +#: src/component/settings/passcode.vue:216 src/page/auth/login.vue:104 msgid "Enter the code generated by your authenticator app:" msgstr "Digite o código gerado pelo aplicativo autenticador:" @@ -1165,7 +1191,7 @@ msgstr "Digite o código gerado pelo aplicativo autenticador:" msgid "Enter verification code" msgstr "Digite o código de verificação" -#: src/component/settings/apps.vue:109 +#: src/component/settings/apps.vue:112 msgid "Enter your password to confirm the action and continue:" msgstr "Digite sua senha para confirmar a ação e continuar:" @@ -1174,7 +1200,7 @@ msgstr "Digite sua senha para confirmar a ação e continuar:" msgid "Error" msgstr "Erro" -#: src/app/routes.js:374 src/component/navigation.vue:1348 +#: src/app/routes.js:382 src/component/navigation.vue:1372 msgid "Errors" msgstr "Erros" @@ -1210,13 +1236,13 @@ msgstr "A extração de metadados com o ExifTool é necessária para que você t msgid "Experimental Features" msgstr "Funcionalidades experimentais" -#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:453 -#: src/component/service/edit.vue:157 src/component/settings/apps.vue:73 -#: src/component/settings/apps.vue:326 src/component/share/dialog.vue:62 +#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:458 +#: src/component/service/edit.vue:158 src/component/settings/apps.vue:73 +#: src/component/settings/apps.vue:329 src/component/share/dialog.vue:62 msgid "Expires" msgstr "Expira" -#: src/component/photo/edit/details.vue:396 +#: src/component/photo/edit/details.vue:370 msgid "Exposure" msgstr "Exposição" @@ -1224,7 +1250,7 @@ msgstr "Exposição" msgid "Extract still images and generate thumbnails while indexing." msgstr "Extraia imagens estáticas e gere miniaturas durante a indexação." -#: src/component/photo/edit/details.vue:444 +#: src/component/photo/edit/details.vue:418 msgid "F Number" msgstr "Razão focal" @@ -1240,7 +1266,7 @@ msgstr "Rostos" msgid "Failed removing link" msgstr "Falha ao remover o link" -#: src/page/connect.vue:106 src/page/connect.vue:110 +#: src/page/connect.vue:107 src/page/connect.vue:111 msgid "Failed to connect account." msgstr "Falha ao conectar a conta." @@ -1248,8 +1274,8 @@ msgstr "Falha ao conectar a conta." msgid "Failed updating link" msgstr "Falha ao atualizar o link" -#: src/component/user/edit/dialog.vue:143 -#: src/component/user/edit/dialog.vue:144 src/page/settings/account.vue:128 +#: src/component/user/edit/dialog.vue:144 +#: src/component/user/edit/dialog.vue:145 src/page/settings/account.vue:128 #: src/page/settings/account.vue:130 msgid "Family Name" msgstr "Nome de família" @@ -1258,15 +1284,15 @@ msgstr "Nome de família" msgid "Fast" msgstr "Rápido" -#: src/component/album/edit/dialog.vue:159 -#: src/component/label/edit/dialog.vue:85 -#: src/component/people/edit/dialog.vue:85 +#: src/component/album/edit/dialog.vue:160 +#: src/component/label/edit/dialog.vue:86 +#: src/component/people/edit/dialog.vue:86 #: src/component/photo/edit/info.vue:287 msgid "Favorite" msgstr "Favorito" -#: src/app/routes.js:222 src/component/navigation.vue:893 -#: src/options/options.js:202 src/page/albums.vue:97 +#: src/app/routes.js:230 src/component/navigation.vue:903 +#: src/options/options.js:202 src/page/albums.vue:98 msgid "Favorites" msgstr "Favoritos" @@ -1274,7 +1300,7 @@ msgstr "Favoritos" msgid "Feature Request" msgstr "Solicitar funcionalidade" -#: src/component/navigation.vue:1456 +#: src/component/navigation.vue:1482 msgid "Feedback" msgstr "Dê sua opinião" @@ -1282,11 +1308,12 @@ msgstr "Dê sua opinião" msgid "Female" msgstr "Feminino" -#: src/component/photo/edit/info.vue:214 src/model/file.js:290 +#: src/component/photo/edit/info.vue:57 src/component/photo/edit/info.vue:214 +#: src/model/file.js:290 msgid "File" msgstr "Arquivo" -#: src/app/routes.js:343 +#: src/app/routes.js:351 msgid "File Browser" msgstr "Explorador de Arquivos" @@ -1309,8 +1336,8 @@ msgstr "Tamanho do Arquivo" msgid "Filename" msgstr "Nome do arquivo" -#: src/component/navigation.vue:1930 src/component/photo/edit/dialog.vue:267 -#: src/component/photo/edit/dialog.vue:284 +#: src/component/navigation.vue:1973 src/component/photo/edit/dialog.vue:279 +#: src/component/photo/edit/dialog.vue:298 msgid "Files" msgstr "Arquivos" @@ -1322,26 +1349,26 @@ msgstr "Arquivos com nomes sequenciais, como \"IMG_1234 (2)\" ou \"IMG_1234 (3)\ msgid "First page" msgstr "Primeira página" -#: src/component/photo/edit/details.vue:465 +#: src/component/photo/edit/details.vue:439 msgid "Focal Length" msgstr "Distância Focal" -#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:118 -#: src/component/service/edit.vue:189 src/component/service/edit.vue:194 -#: src/component/service/upload.vue:90 src/component/service/upload.vue:96 +#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:119 +#: src/component/service/edit.vue:190 src/component/service/edit.vue:195 +#: src/component/service/upload.vue:91 src/component/service/upload.vue:97 #: src/model/folder.js:199 src/page/library/browse.vue:182 msgid "Folder" msgstr "Pasta" -#: src/page/library/browse.vue:365 +#: src/page/library/browse.vue:367 msgid "Folder contains %{n} files" msgstr "A pasta contem %{n} arquivos" -#: src/page/library/browse.vue:356 +#: src/page/library/browse.vue:358 msgid "Folder is empty" msgstr "A pasta está vazia" -#: src/app/routes.js:202 src/component/navigation.vue:1225 +#: src/app/routes.js:210 src/component/navigation.vue:1247 #: src/options/options.js:207 msgid "Folders" msgstr "Pastas" @@ -1358,7 +1385,7 @@ msgstr "FPS" msgid "Frames" msgstr "Quadros" -#: src/options/auth.js:54 src/options/auth.js:64 +#: src/options/auth.js:55 src/options/auth.js:65 msgid "Full Access" msgstr "Acesso total" @@ -1370,7 +1397,7 @@ msgstr "Tela Cheia" msgid "General" msgstr "Geral" -#: src/component/settings/apps.vue:364 +#: src/component/settings/apps.vue:367 msgid "Generate" msgstr "Gerar" @@ -1390,8 +1417,8 @@ msgstr "Gerado" msgid "Get Started" msgstr "Começar a usar" -#: src/component/user/edit/dialog.vue:120 -#: src/component/user/edit/dialog.vue:121 src/page/settings/account.vue:106 +#: src/component/user/edit/dialog.vue:121 +#: src/component/user/edit/dialog.vue:122 src/page/settings/account.vue:106 #: src/page/settings/account.vue:108 msgid "Given Name" msgstr "Nome dado" @@ -1416,7 +1443,7 @@ msgstr "Verde" msgid "Grey" msgstr "Cinza" -#: src/options/admin.js:22 src/options/auth.js:10 +#: src/options/admin.js:26 src/options/auth.js:11 msgid "Guest" msgstr "Convidado" @@ -1432,15 +1459,15 @@ msgstr "Ajuda" msgid "Help & Support" msgstr "Ajuda & Suporte" -#: src/component/navigation.vue:1327 src/component/people/edit/dialog.vue:98 +#: src/component/navigation.vue:1351 src/component/people/edit/dialog.vue:99 msgid "Hidden" msgstr "Ocultos" -#: src/app/routes.js:358 +#: src/app/routes.js:366 msgid "Hidden Files" msgstr "Arquivos Ocultos" -#: src/page/people/new.vue:165 src/page/people/recognized.vue:205 +#: src/page/people/new.vue:166 src/page/people/recognized.vue:206 msgid "Hide" msgstr "Esconder" @@ -1456,7 +1483,7 @@ msgstr "Alta" msgid "High Dynamic Range (HDR)" msgstr "Faixa dinâmica alta (HDR)" -#: src/page/about/feedback.vue:103 +#: src/page/about/feedback.vue:104 msgid "How can we help?" msgstr "Como podemos ajudar?" @@ -1464,11 +1491,11 @@ msgstr "Como podemos ajudar?" msgid "Hybrid" msgstr "Híbrido" -#: src/component/settings/passcode.vue:389 +#: src/component/settings/passcode.vue:392 msgid "If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account." msgstr "Se você perder o acesso ao seu aplicativo ou dispositivo autenticador, poderá usar seu código de recuperação para recuperar o acesso à sua conta." -#: src/component/photo/edit/info.vue:63 src/component/photo/edit/labels.vue:46 +#: src/component/photo/edit/info.vue:65 src/component/photo/edit/labels.vue:46 #: src/component/photo/view/cards.vue:532 src/model/file.js:218 #: src/options/options.js:281 msgid "Image" @@ -1478,7 +1505,7 @@ msgstr "Imagem" msgid "Image Quality" msgstr "Qualidade de imagem" -#: src/page/library.vue:46 src/page/library/import.vue:152 +#: src/page/library.vue:46 src/page/library/import.vue:153 #: src/page/settings/general.vue:357 msgid "Import" msgstr "Importar" @@ -1503,8 +1530,8 @@ msgstr "Importando %{s}…" msgid "Importing files to originals…" msgstr "Importando arquivos para originais…" -#: src/component/photo/edit/files.vue:515 -#: src/component/photo/edit/files.vue:520 +#: src/component/photo/edit/files.vue:517 +#: src/component/photo/edit/files.vue:522 msgid "in" msgstr "em" @@ -1522,11 +1549,11 @@ msgstr "Incluir arquivos de imagem RAW ao baixar pilhas e arquivos." msgid "Include sidecar files when downloading stacks and archives." msgstr "Incluir arquivos sidecar ao baixar pilhas e arquivos." -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Increase storage size or delete files to continue." msgstr "Aumente o tamanho do armazenamento ou exclua arquivos para continuar." -#: src/component/navigation.vue:1946 src/page/library.vue:36 +#: src/component/navigation.vue:1990 src/page/library.vue:36 #: src/page/settings/content.vue:34 msgid "Index" msgstr "Indexar" @@ -1556,11 +1583,11 @@ msgstr "Informações" msgid "Instance ID" msgstr "ID da Instância" -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Insufficient storage." msgstr "Armazenamento insuficiente." -#: src/component/service/edit.vue:209 +#: src/component/service/edit.vue:210 msgid "Interval" msgstr "Intervalo" @@ -1581,7 +1608,7 @@ msgstr "Endereço inválido" msgid "Invalid country" msgstr "País inválido" -#: src/component/photo/edit/details.vue:174 +#: src/component/photo/edit/details.vue:169 msgid "Invalid date" msgstr "Data inválida" @@ -1590,7 +1617,7 @@ msgstr "Data inválida" msgid "Invalid parameters" msgstr "Parâmetros inválidos" -#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:197 +#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:199 msgid "Invalid photo selected" msgstr "Foto inválida selecionada" @@ -1602,8 +1629,8 @@ msgstr "Hora inválida" msgid "Invalid URL" msgstr "URL inválido" -#: src/component/settings/passcode.vue:314 -#: src/component/settings/passcode.vue:391 +#: src/component/settings/passcode.vue:317 +#: src/component/settings/passcode.vue:394 msgid "It is a one-time use code that will disable 2FA for your account when you use it." msgstr "É um código de uso único que desativará o 2FA da sua conta quando você o usar." @@ -1627,7 +1654,7 @@ msgstr "Tamanho JPEG limite: %{n}px" msgid "JPEGs and thumbnails are automatically rendered as needed." msgstr "Imagens JPEG e miniaturas são renderizadas automaticamente conforme necessário." -#: src/component/photo/edit/details.vue:581 +#: src/component/photo/edit/details.vue:555 msgid "Keywords" msgstr "Palavras-chave" @@ -1636,9 +1663,9 @@ msgstr "Palavras-chave" msgid "Label" msgstr "Etiqueta" -#: src/app/routes.js:389 src/component/navigation.vue:1177 -#: src/component/photo/edit/dialog.vue:188 -#: src/component/photo/edit/dialog.vue:205 src/options/options.js:206 +#: src/app/routes.js:397 src/component/navigation.vue:1197 +#: src/component/photo/edit/dialog.vue:196 +#: src/component/photo/edit/dialog.vue:215 src/options/options.js:206 #: src/page/settings/general.vue:255 msgid "Labels" msgstr "Etiquetas" @@ -1655,11 +1682,11 @@ msgstr "Lanczos: Preserva detalhes, poucos artefatos" msgid "Language" msgstr "Idioma" -#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:435 +#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:440 msgid "Last Active" msgstr "Último ativo" -#: src/page/admin/users.vue:81 +#: src/page/admin/users.vue:83 msgid "Last Login" msgstr "Último Login" @@ -1675,42 +1702,41 @@ msgstr "Última Sincronia" msgid "Last Used" msgstr "Usado por último" -#: src/component/photo/edit/details.vue:298 #: src/component/photo/edit/info.vue:373 msgid "Latitude" msgstr "Latitude" -#: src/options/admin.js:43 src/options/auth.js:29 +#: src/options/admin.js:47 src/options/auth.js:30 msgid "LDAP/AD" msgstr "LDAP/AD" -#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:86 -#: src/page/about/about.vue:62 src/page/about/about.vue:132 +#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:87 +#: src/page/about/about.vue:62 src/page/about/about.vue:133 #: src/page/connect.vue:67 src/page/help.vue:36 msgid "Learn more" msgstr "Saiba mais" -#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:135 +#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:137 #: src/page/labels.vue:132 msgid "Learn More" msgstr "Saiba mais" -#: src/component/navigation.vue:2017 +#: src/component/navigation.vue:2066 msgid "Legal Information" msgstr "Informações legais" -#: src/component/photo/edit/details.vue:417 +#: src/component/photo/edit/details.vue:391 #: src/component/photo/view/cards.vue:480 msgid "Lens" msgstr "Lente" -#: src/app/routes.js:443 src/app/routes.js:459 src/app/routes.js:475 -#: src/component/navigation.vue:1267 src/page/settings/general.vue:507 +#: src/app/routes.js:451 src/app/routes.js:467 src/app/routes.js:483 +#: src/component/navigation.vue:1290 src/page/settings/general.vue:507 msgid "Library" msgstr "Biblioteca" #: src/page/connect.vue:45 src/app/routes.js:69 -#: src/component/navigation.vue:1478 src/component/photo/edit/details.vue:559 +#: src/component/navigation.vue:1504 src/component/photo/edit/details.vue:533 #: src/page/about/license.vue:28 msgid "License" msgstr "Licença" @@ -1723,7 +1749,7 @@ msgstr "Gostar" msgid "Lime" msgstr "Lima" -#: src/page/library/browse.vue:369 +#: src/page/library/browse.vue:371 msgid "Limit reached, showing first %{n} files" msgstr "Limite alcançado, mostrando os primeiros %{n} arquivos" @@ -1731,7 +1757,7 @@ msgstr "Limite alcançado, mostrando os primeiros %{n} arquivos" msgid "Linear: Very Smooth, Best Performance" msgstr "Linear: Suave, melhor desempenho" -#: src/model/link.js:117 src/options/auth.js:30 src/options/auth.js:31 +#: src/model/link.js:117 src/options/auth.js:31 src/options/auth.js:32 msgid "Link" msgstr "Link" @@ -1749,7 +1775,7 @@ msgstr "Exibição de lista" msgid "Live" msgstr "Ao vivo" -#: src/app/routes.js:236 src/component/navigation.vue:749 +#: src/app/routes.js:244 src/component/navigation.vue:755 msgid "Live Photos" msgstr "Fotos ao vivo" @@ -1765,21 +1791,24 @@ msgstr "Carregando itens..." msgid "Loading..." msgstr "Carregando..." -#: src/options/admin.js:35 src/options/auth.js:22 src/options/auth.js:27 +#: src/options/admin.js:39 src/options/auth.js:23 src/options/auth.js:28 #: src/options/options.js:38 src/page/settings/general.vue:107 msgid "Local" msgstr "Local" -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Local Time" msgstr "Hora Local" -#: src/page/settings/account.vue:665 src/page/settings/account.vue:667 -#: src/component/album/edit/dialog.vue:92 src/component/photo/edit/info.vue:65 -#: src/component/photo/edit/labels.vue:48 +#: src/page/settings/account.vue:671 src/page/settings/account.vue:673 +#: src/component/album/edit/dialog.vue:93 +#: src/component/photo/edit/details.vue:38 +#: src/component/photo/edit/details.vue:116 +#: src/component/photo/edit/details.vue:210 +#: src/component/photo/edit/info.vue:67 src/component/photo/edit/labels.vue:48 #: src/component/photo/view/cards.vue:555 src/component/photo/view/list.vue:117 -#: src/component/sidebar/info.vue:107 src/page/albums.vue:99 -#: src/page/settings/account.vue:557 src/page/settings/account.vue:559 +#: src/component/sidebar/info.vue:107 src/page/albums.vue:100 +#: src/page/settings/account.vue:563 src/page/settings/account.vue:565 msgid "Location" msgstr "Localização" @@ -1787,20 +1816,19 @@ msgstr "Localização" msgid "Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues." msgstr "Mensagens aparecem aqui sempre que o PhotoPrism encontra arquivos defeituosos ou existe a possibilidade de outros problemas." -#: src/component/navigation.vue:1552 src/component/navigation.vue:1840 +#: src/component/navigation.vue:1579 src/component/navigation.vue:1877 msgid "Login" msgstr "Entrar" -#: src/component/navigation.vue:1759 +#: src/component/navigation.vue:1791 msgid "Logout" msgstr "Sair" -#: src/component/navigation.vue:1962 src/page/library.vue:59 +#: src/component/navigation.vue:2007 src/page/library.vue:59 #: src/page/settings/general.vue:557 msgid "Logs" msgstr "Registros" -#: src/component/photo/edit/details.vue:324 #: src/component/photo/edit/info.vue:379 msgid "Longitude" msgstr "Longitute" @@ -1813,7 +1841,7 @@ msgstr "Baixo" msgid "Magenta" msgstr "Magenta" -#: src/component/photo/edit/files.vue:489 +#: src/component/photo/edit/files.vue:491 msgid "Main Color" msgstr "Cor principal" @@ -1821,12 +1849,16 @@ msgstr "Cor principal" msgid "Male" msgstr "Masculino" -#: src/page/connect.vue:164 src/page/connect.vue:246 -#: src/page/about/about.vue:171 src/page/connect.vue:168 -#: src/page/connect.vue:255 +#: src/page/connect.vue:165 src/page/connect.vue:248 +#: src/page/about/about.vue:173 src/page/connect.vue:169 +#: src/page/connect.vue:257 msgid "Manage Account" msgstr "Gerenciar conta" +#: src/options/admin.js:10 src/options/auth.js:7 +msgid "Manager" +msgstr "Gerente" + #: src/component/photo/edit/info.vue:49 src/component/photo/edit/labels.vue:38 msgid "Manual" msgstr "Manual" @@ -1843,11 +1875,11 @@ msgstr "Mapas" msgid "Marker" msgstr "Marcador" -#: src/component/user/add/dialog.vue:69 +#: src/component/user/add/dialog.vue:70 msgid "Maximum number of accounts has been reached." msgstr "O número máximo de contas foi atingido." -#: src/app/routes.js:229 src/component/navigation.vue:688 +#: src/app/routes.js:237 src/component/navigation.vue:693 #: src/options/options.js:199 msgid "Media" msgstr "Mídia" @@ -1864,7 +1896,7 @@ msgstr "Filiação" msgid "Merge %{a} with %{b}?" msgstr "Fundir %{a} com %{b}?" -#: src/page/about/feedback.vue:102 +#: src/page/about/feedback.vue:103 msgid "Message" msgstr "Mensagem" @@ -1876,7 +1908,7 @@ msgstr "Mensagem enviada" msgid "Metadata" msgstr "Metadados" -#: src/options/auth.js:56 src/options/auth.js:72 +#: src/options/auth.js:57 src/options/auth.js:73 msgid "Metrics" msgstr "Métricas" @@ -1884,7 +1916,7 @@ msgstr "Métricas" msgid "Minimize" msgstr "Minimizar" -#: src/component/photo/edit/files.vue:509 src/component/photo/edit/info.vue:367 +#: src/component/photo/edit/files.vue:511 src/component/photo/edit/info.vue:367 msgid "Missing" msgstr "Faltando" @@ -1892,17 +1924,17 @@ msgstr "Faltando" msgid "Missing or invalid configuration" msgstr "Configuração ausente ou inválida" -#: src/app/routes.js:163 src/component/navigation.vue:1129 +#: src/app/routes.js:171 src/component/navigation.vue:1147 #: src/options/options.js:205 src/page/settings/general.vue:230 msgid "Moments" msgstr "Momentos" -#: src/component/navigation.vue:383 +#: src/component/navigation.vue:385 msgid "Monochrome" msgstr "Monocromático" -#: src/page/settings/account.vue:475 src/component/photo/edit/details.vue:137 -#: src/component/photo/toolbar.vue:342 +#: src/page/settings/account.vue:481 src/component/photo/edit/details.vue:139 +#: src/component/photo/toolbar.vue:344 msgid "Month" msgstr "Mês" @@ -1922,7 +1954,7 @@ msgstr "Mais Relevante" msgid "Move Files" msgstr "Mover arquivos" -#: src/component/settings/password.vue:107 +#: src/component/settings/password.vue:108 msgid "Must have at least %{n} characters." msgstr "Deve ter pelo menos %{n} caracteres." @@ -1930,20 +1962,20 @@ msgstr "Deve ter pelo menos %{n} caracteres." msgid "Mute" msgstr "Mudo" -#: src/page/about/feedback.vue:121 src/page/about/feedback.vue:122 -#: src/component/album/edit/dialog.vue:77 -#: src/component/label/edit/dialog.vue:71 -#: src/component/people/edit/dialog.vue:71 -#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:57 +#: src/page/about/feedback.vue:122 src/page/about/feedback.vue:123 +#: src/component/album/edit/dialog.vue:78 +#: src/component/label/edit/dialog.vue:72 +#: src/component/people/edit/dialog.vue:72 +#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:59 #: src/component/photo/edit/info.vue:125 src/component/photo/edit/people.vue:36 -#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:310 -#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:286 -#: src/page/albums.vue:98 src/page/auth/login.vue:168 +#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:311 +#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:289 +#: src/page/albums.vue:99 src/page/auth/login.vue:168 #: src/page/people/new.vue:68 src/page/settings/services.vue:37 msgid "Name" msgstr "Nome" -#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:60 +#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:65 #: src/component/label/edit/dialog.vue:19 #: src/component/people/edit/dialog.vue:19 #: src/component/photo/edit/labels.vue:30 @@ -1953,7 +1985,7 @@ msgstr "Nome" msgid "Name too long" msgstr "Nome muito extenso" -#: src/page/admin/users.vue:204 src/options/options.js:361 +#: src/page/admin/users.vue:206 src/options/options.js:361 #: src/options/options.js:371 src/page/settings/services.vue:75 msgid "Never" msgstr "Nunca" @@ -1962,13 +1994,13 @@ msgstr "Nunca" msgid "New" msgstr "Novo" -#: src/component/settings/password.vue:106 +#: src/component/settings/password.vue:107 msgid "New Password" msgstr "Nova senha" #: src/component/album/edit/dialog.vue:24 src/component/photo/toolbar.vue:114 #: src/component/photo/toolbar.vue:126 src/component/photo/toolbar.vue:136 -#: src/page/albums.vue:100 +#: src/page/albums.vue:101 msgid "Newest First" msgstr "Recentes primeiro" @@ -1984,15 +2016,15 @@ msgstr "Próxima página" msgid "Next visual" msgstr "Próximo visual" -#: src/component/people/merge/dialog.vue:47 -#: src/component/photo/archive/dialog.vue:47 +#: src/component/people/merge/dialog.vue:48 +#: src/component/photo/archive/dialog.vue:48 #: src/component/photo/edit/info.vue:281 src/component/photo/edit/info.vue:297 #: src/component/photo/edit/info.vue:313 src/component/photo/edit/info.vue:329 #: src/component/photo/edit/info.vue:344 msgid "No" msgstr "Não" -#: src/page/albums.vue:607 src/page/albums.vue:282 +#: src/page/albums.vue:612 src/page/albums.vue:282 msgid "No albums found" msgstr "Nenhum álbum encontrado" @@ -2000,7 +2032,7 @@ msgstr "Nenhum álbum encontrado" msgid "No data available" msgstr "Não há dados disponíveis" -#: src/page/labels.vue:523 src/page/labels.vue:155 +#: src/page/labels.vue:528 src/page/labels.vue:155 msgid "No labels found" msgstr "Nenhuma etiqueta encontrada" @@ -2013,15 +2045,15 @@ msgid "No more" msgstr "Não mais" #: src/component/photo/edit/people.vue:34 src/page/people/new.vue:346 -#: src/page/people/new.vue:443 src/page/people/new.vue:103 -#: src/page/people/recognized.vue:531 src/page/people/recognized.vue:146 +#: src/page/people/new.vue:446 src/page/people/new.vue:103 +#: src/page/people/recognized.vue:536 src/page/people/recognized.vue:146 msgid "No people found" msgstr "Nenhuma pessoa encontrada" #: src/component/lightbox.vue:365 src/component/photo/view/cards.vue:144 #: src/component/photo/view/list.vue:82 src/component/photo/view/mosaic.vue:68 -#: src/page/album/photos.vue:488 src/page/library/browse.vue:123 -#: src/page/photos.vue:626 src/page/places.vue:624 src/page/places.vue:730 +#: src/page/album/photos.vue:499 src/page/library/browse.vue:123 +#: src/page/photos.vue:636 src/page/places.vue:624 src/page/places.vue:730 msgid "No pictures found" msgstr "Nenhuma foto encontrada" @@ -2030,7 +2062,11 @@ msgstr "Nenhuma foto encontrada" msgid "No recently edited pictures" msgstr "Nenhuma foto editada recentemente" -#: src/component/navigation.vue:1655 +#: src/component/location/dialog.vue:166 +msgid "No results" +msgstr "Nenhum resultado" + +#: src/component/navigation.vue:1686 msgid "No server connection" msgstr "Sem conexão com o servidor" @@ -2042,7 +2078,7 @@ msgstr "Nenhum servidor configurado." msgid "No services configured." msgstr "Nenhum serviço configurado." -#: src/component/confirm/sponsor.vue:72 +#: src/component/confirm/sponsor.vue:73 msgid "No thanks" msgstr "Não, obrigado(a)" @@ -2052,17 +2088,17 @@ msgstr "Nenhum alerta ou erro contento esta palavra-chave. Note que a busca dife #: src/component/photo/view/cards.vue:154 src/component/photo/view/list.vue:59 #: src/component/photo/view/list.vue:92 src/component/photo/view/mosaic.vue:78 -#: src/component/upload/dialog.vue:208 +#: src/component/upload/dialog.vue:210 msgid "Non-photographic and low-quality images require a review before they appear in search results." msgstr "Imagens de baixa qualidade ou não-fotográficas necessitam de revisão antes de aparecerem nos resultados de busca." -#: src/options/admin.js:47 src/options/auth.js:32 src/options/options.js:212 +#: src/options/admin.js:51 src/options/auth.js:33 src/options/options.js:212 #: src/options/options.js:328 msgid "None" msgstr "Nenhum" -#: src/common/util.js:853 src/component/lightbox.vue:633 -#: src/component/service/upload.vue:75 src/component/service/upload.vue:87 +#: src/component/lightbox.vue:633 src/component/service/upload.vue:75 +#: src/component/service/upload.vue:87 msgid "Not allowed" msgstr "Não permitido" @@ -2074,8 +2110,7 @@ msgstr "Não encontrado" msgid "Not sorted." msgstr "Não classificado." -#: src/common/util.js:858 src/component/lightbox.vue:627 -#: src/component/lightbox.vue:744 +#: src/component/lightbox.vue:627 src/component/lightbox.vue:744 msgid "Not supported" msgstr "Não suportado" @@ -2083,15 +2118,15 @@ msgstr "Não suportado" msgid "Note you may manually manage your originals folder and importing is optional." msgstr "Note que você pode gerenciar manualmente sua pasta de originais e a importação é opcional." -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "Note:" msgstr "Nota:" -#: src/component/service/add.vue:120 +#: src/component/service/add.vue:121 msgid "Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload." msgstr "Nota: Apenas servidores WebDAV, tais como Nextcloud ou PhotoPrism, podem ser configurados como serviço remoto para envio de arquivos e cópias de segurança." -#: src/component/photo/edit/details.vue:603 +#: src/component/photo/edit/details.vue:577 msgid "Notes" msgstr "Notas" @@ -2099,8 +2134,8 @@ msgstr "Notas" msgid "Nothing to see here yet." msgstr "Nada para se ver aqui ainda. Seja paciente." -#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:115 -#: src/component/settings/apps.vue:390 +#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:125 +#: src/component/settings/apps.vue:393 msgid "Nothing was found." msgstr "Nada foi encontrado." @@ -2108,7 +2143,7 @@ msgstr "Nada foi encontrado." msgid "Offline" msgstr "Desconectado" -#: src/options/admin.js:39 src/options/auth.js:28 +#: src/options/admin.js:43 src/options/auth.js:29 msgid "OIDC" msgstr "OIDC" @@ -2118,11 +2153,11 @@ msgstr "OK" #: src/component/album/edit/dialog.vue:25 src/component/photo/toolbar.vue:115 #: src/component/photo/toolbar.vue:127 src/component/photo/toolbar.vue:137 -#: src/page/albums.vue:101 +#: src/page/albums.vue:102 msgid "Oldest First" msgstr "Antigos primeiro" -#: src/component/settings/webdav.vue:77 +#: src/component/settings/webdav.vue:78 msgid "On Windows, enter the following resource in the connection dialog:" msgstr "No Windows, digite o seguinte recurso no diálogo de conexão:" @@ -2134,11 +2169,11 @@ msgstr "A geração de miniaturas sob demanda pode causar alto uso de CPU e mem msgid "Once a week" msgstr "Uma vez por semana" -#: src/page/albums.vue:609 +#: src/page/albums.vue:614 msgid "One album found" msgstr "Um álbum encontrado" -#: src/page/library/browse.vue:358 +#: src/page/library/browse.vue:360 msgid "One file found" msgstr "Um arquivo encontrado" @@ -2146,24 +2181,24 @@ msgstr "Um arquivo encontrado" msgid "One file uploaded" msgstr "Um arquivo carregado" -#: src/page/library/browse.vue:360 +#: src/page/library/browse.vue:362 msgid "One folder found" msgstr "Uma pasta encontrada" -#: src/page/labels.vue:525 +#: src/page/labels.vue:530 msgid "One label found" msgstr "Um rótulo encontrado" -#: src/page/people/new.vue:348 src/page/people/new.vue:445 -#: src/page/people/recognized.vue:533 +#: src/page/people/new.vue:348 src/page/people/new.vue:448 +#: src/page/people/recognized.vue:538 msgid "One person found" msgstr "Uma pessoa encontrada" -#: src/page/album/photos.vue:490 src/page/photos.vue:628 +#: src/page/album/photos.vue:501 src/page/photos.vue:638 msgid "One picture found" msgstr "Uma foto encontrada" -#: src/component/settings/passcode.vue:478 +#: src/component/settings/passcode.vue:481 msgid "Only locally managed accounts can be set up for authentication with 2FA." msgstr "Somente contas gerenciadas localmente podem ser configuradas para autenticação com 2FA." @@ -2171,7 +2206,7 @@ msgstr "Somente contas gerenciadas localmente podem ser configuradas para autent msgid "Open" msgstr "Aberto" -#: src/component/service/add.vue:86 src/component/service/add.vue:107 +#: src/component/service/add.vue:87 src/component/service/add.vue:108 msgid "optional" msgstr "opcional" @@ -2183,7 +2218,7 @@ msgstr "ou" msgid "Orange" msgstr "Laranjado" -#: src/page/settings/account.vue:571 src/page/settings/account.vue:573 +#: src/page/settings/account.vue:577 src/page/settings/account.vue:579 msgid "Organization" msgstr "Organização" @@ -2199,7 +2234,7 @@ msgstr "Nomes originais dos arquivos serão armazenados e indexados." msgid "Original Name" msgstr "Nome original" -#: src/component/navigation.vue:1304 src/model/file.js:196 +#: src/component/navigation.vue:1328 src/model/file.js:196 #: src/options/options.js:413 src/page/library/browse.vue:65 #: src/page/settings/content.vue:356 src/page/settings/general.vue:532 msgid "Originals" @@ -2210,7 +2245,7 @@ msgstr "Originais" msgid "Other" msgstr "Outro" -#: src/page/about/about.vue:77 src/page/about/about.vue:83 +#: src/page/about/about.vue:78 src/page/about/about.vue:84 msgid "Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible." msgstr "Nossa missão é fornecer a solução mais amigável ao usuário e à privacidade para manter suas fotos organizadas e acessíveis." @@ -2222,7 +2257,7 @@ msgstr "Ao ar livre" msgid "Page {0}, Current page" msgstr "Página {0}, página atual" -#: src/component/photo/edit/files.vue:352 src/model/photo.js:859 +#: src/component/photo/edit/files.vue:352 src/model/photo.js:896 msgid "Pages" msgstr "Páginas" @@ -2234,15 +2269,15 @@ msgstr "Navegação de paginação" msgid "Panorama" msgstr "Panorama" -#: src/component/navigation.vue:402 +#: src/component/navigation.vue:404 msgid "Panoramas" msgstr "Panoramas" -#: src/component/user/add/dialog.vue:114 src/component/user/add/dialog.vue:115 -#: src/component/service/add.vue:106 src/component/service/edit.vue:352 -#: src/component/settings/apps.vue:121 src/component/settings/passcode.vue:106 -#: src/component/settings/passcode.vue:413 src/component/share/dialog.vue:27 -#: src/options/auth.js:91 src/page/auth/login.vue:196 +#: src/component/user/add/dialog.vue:115 src/component/user/add/dialog.vue:116 +#: src/component/service/add.vue:107 src/component/service/edit.vue:353 +#: src/component/settings/apps.vue:124 src/component/settings/passcode.vue:109 +#: src/component/settings/passcode.vue:416 src/component/share/dialog.vue:27 +#: src/options/auth.js:92 src/page/auth/login.vue:196 msgid "Password" msgstr "Senha" @@ -2250,9 +2285,9 @@ msgstr "Senha" msgid "Password changed" msgstr "Senha alterada" -#: src/app/routes.js:404 src/app/routes.js:428 src/component/navigation.vue:845 -#: src/component/navigation.vue:1898 src/component/photo/edit/dialog.vue:228 -#: src/component/photo/edit/dialog.vue:245 src/options/options.js:201 +#: src/app/routes.js:412 src/app/routes.js:436 src/component/navigation.vue:853 +#: src/component/navigation.vue:1939 src/component/photo/edit/dialog.vue:238 +#: src/component/photo/edit/dialog.vue:257 src/options/options.js:201 #: src/page/settings/general.vue:180 msgid "People" msgstr "Pessoas" @@ -2273,23 +2308,23 @@ msgstr "Remover arquivos permanentemente para poupar armazenamento." msgid "Person" msgstr "Pessoa" -#: src/options/auth.js:42 +#: src/options/auth.js:43 msgid "Personal" msgstr "Pessoal" -#: src/model/photo.js:1273 +#: src/model/photo.js:1310 msgid "Photo" msgstr "Foto" -#: src/page/about/about.vue:156 +#: src/page/about/about.vue:158 msgid "PhotoPrism is 100% self-funded and independent." msgstr "O PhotoPrism é 100% autofinanciado e independente." -#: src/page/about/about.vue:92 +#: src/page/about/about.vue:93 msgid "PhotoPrism+ Membership" msgstr "FotoPrism+ Filiação" -#: src/app/routes.js:156 +#: src/app/routes.js:164 msgid "Photos" msgstr "Fotos" @@ -2310,27 +2345,27 @@ msgstr "Lugar" msgid "Place & Time" msgstr "Lugar & Tempo" -#: src/app/routes.js:303 src/app/routes.js:309 src/app/routes.js:315 -#: src/app/routes.js:330 src/component/navigation.vue:986 -#: src/component/navigation.vue:1914 src/options/options.js:203 +#: src/app/routes.js:311 src/app/routes.js:317 src/app/routes.js:323 +#: src/app/routes.js:338 src/component/navigation.vue:999 +#: src/component/navigation.vue:1956 src/options/options.js:203 #: src/page/places.vue:51 src/page/settings/general.vue:609 #: src/page/settings/general.vue:638 msgid "Places" msgstr "Lugares" -#: src/component/settings/password.vue:129 +#: src/component/settings/password.vue:130 msgid "Please confirm your new password." msgstr "Por favor, confirme sua nova senha." -#: src/component/settings/apps.vue:185 +#: src/component/settings/apps.vue:188 msgid "Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:" msgstr "Copie a seguinte senha de aplicativo gerada aleatoriamente e guarde-a em um local seguro, pois você não poderá vê-la novamente:" -#: src/component/upload/dialog.vue:203 +#: src/component/upload/dialog.vue:205 msgid "Please do not upload any private, unlawful or offensive pictures." msgstr "Não faça upload de fotos particulares, ilegais ou ofensivas." -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Please don't upload photos containing offensive content." msgstr "Por favor, não envie fotos com conteúdo ofensivo." @@ -2338,11 +2373,11 @@ msgstr "Por favor, não envie fotos com conteúdo ofensivo." msgid "Please enter OTP character {0}" msgstr "Por favor, digite o caractere OTP {0}" -#: src/component/settings/password.vue:66 +#: src/component/settings/password.vue:67 msgid "Please note that changing your password will log you out on other devices and browsers." msgstr "Por favor, note que a mudança de sua senha fará com que você saia de outros dispositivos e navegadores." -#: src/page/connect.vue:148 src/page/connect.vue:152 +#: src/page/connect.vue:149 src/page/connect.vue:153 msgid "Please restart your instance for the changes to take effect." msgstr "Por favor, reinicie seu exemplo para que as mudanças tenham efeito." @@ -2362,11 +2397,11 @@ msgstr "Tamanho PNG limite: %{n}px" msgid "Portrait" msgstr "Retrato" -#: src/component/service/edit.vue:273 +#: src/component/service/edit.vue:274 msgid "Preserve filenames" msgstr "Preservar nomes de arquivo" -#: src/component/upload/dialog.vue:162 +#: src/component/upload/dialog.vue:164 msgid "Press enter to create a new album." msgstr "Pressione enter para criar um novo álbum." @@ -2403,8 +2438,8 @@ msgstr "Visual anterior" msgid "Primary" msgstr "Primário" -#: src/app/routes.js:271 src/component/album/edit/dialog.vue:176 -#: src/component/navigation.vue:531 src/component/photo/edit/info.vue:303 +#: src/app/routes.js:279 src/component/album/edit/dialog.vue:177 +#: src/component/navigation.vue:533 src/component/photo/edit/info.vue:303 #: src/page/settings/general.vue:280 msgid "Private" msgstr "Privado" @@ -2429,7 +2464,7 @@ msgstr "Filtro de qualidade" msgid "Quality Score" msgstr "Marcador de qualidade" -#: src/page/admin/users.vue:169 +#: src/page/admin/users.vue:171 msgid "r" msgstr "r" @@ -2460,7 +2495,7 @@ msgstr "Modo Somente Leitura" #: src/component/album/edit/dialog.vue:26 src/component/photo/toolbar.vue:116 #: src/component/photo/toolbar.vue:128 src/component/photo/toolbar.vue:138 -#: src/page/albums.vue:102 +#: src/page/albums.vue:103 msgid "Recently Added" msgstr "Adicionado recentemente" @@ -2468,7 +2503,7 @@ msgstr "Adicionado recentemente" msgid "Recently Archived" msgstr "Arquivado recentemente" -#: src/component/photo/toolbar.vue:139 src/page/albums.vue:103 +#: src/component/photo/toolbar.vue:139 src/page/albums.vue:104 msgid "Recently Edited" msgstr "Editado Recentemente" @@ -2493,24 +2528,24 @@ msgstr "Código de recuperação" msgid "Red" msgstr "Vermelho" -#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:126 -#: src/component/album/toolbar.vue:79 src/component/photo/toolbar.vue:169 -#: src/page/albums.vue:173 src/page/labels.vue:112 +#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:128 +#: src/component/album/toolbar.vue:84 src/component/photo/toolbar.vue:169 +#: src/page/albums.vue:175 src/page/labels.vue:112 #: src/page/library/browse.vue:90 src/page/library/errors.vue:81 #: src/page/people/new.vue:54 src/page/people/recognized.vue:88 msgid "Refresh" msgstr "Atualizar" -#: src/app/routes.js:337 src/component/navigation.vue:943 -#: src/component/navigation.vue:1026 +#: src/app/routes.js:345 src/component/navigation.vue:955 +#: src/component/navigation.vue:1040 msgid "Regions" msgstr "Regiões" -#: src/page/connect.vue:275 src/page/connect.vue:284 +#: src/page/connect.vue:277 src/page/connect.vue:286 msgid "Register" msgstr "Registre-se" -#: src/component/navigation.vue:1773 src/component/update.vue:68 +#: src/component/navigation.vue:1806 src/component/update.vue:68 msgid "Reload" msgstr "Recarregar" @@ -2555,34 +2590,34 @@ msgstr "Exigir que imagens não fotográficas e de baixa qualidade sejam revisad msgid "Resolution" msgstr "Resolução" -#: src/page/connect.vue:179 src/page/connect.vue:183 +#: src/page/connect.vue:180 src/page/connect.vue:184 #: src/page/settings/advanced.vue:782 msgid "Restart" msgstr "Reinicie" -#: src/component/user/edit/dialog.vue:485 src/component/lightbox.vue:1221 +#: src/component/user/edit/dialog.vue:488 src/component/lightbox.vue:1221 #: src/component/photo/clipboard.vue:77 msgid "Restore" msgstr "Restaurar" -#: src/component/lightbox.vue:2000 +#: src/component/lightbox.vue:2020 msgid "Restored" msgstr "Restaurado" -#: src/component/service/edit.vue:428 +#: src/component/service/edit.vue:429 msgid "Retry Limit" msgstr "Limite de Tentativa" -#: src/component/settings/password.vue:128 +#: src/component/settings/password.vue:129 msgid "Retype Password" msgstr "Reinsira a senha" -#: src/app/routes.js:264 src/component/navigation.vue:505 +#: src/app/routes.js:272 src/component/navigation.vue:507 msgid "Review" msgstr "Revisar" -#: src/component/user/add/dialog.vue:171 src/component/user/edit/dialog.vue:284 -#: src/page/admin/sessions.vue:262 src/page/admin/users.vue:73 +#: src/component/user/add/dialog.vue:172 src/component/user/edit/dialog.vue:285 +#: src/page/admin/sessions.vue:263 src/page/admin/users.vue:75 msgid "Role" msgstr "Papel" @@ -2594,11 +2629,11 @@ msgstr "Linhas por página:" msgid "Satellite" msgstr "Satélite" -#: src/component/user/edit/dialog.vue:485 -#: src/component/album/edit/dialog.vue:211 -#: src/component/label/edit/dialog.vue:119 -#: src/component/people/edit/dialog.vue:132 src/component/service/edit.vue:466 -#: src/component/settings/password.vue:172 src/component/share/dialog.vue:181 +#: src/component/user/edit/dialog.vue:488 +#: src/component/album/edit/dialog.vue:212 +#: src/component/label/edit/dialog.vue:120 +#: src/component/people/edit/dialog.vue:133 src/component/service/edit.vue:467 +#: src/component/settings/password.vue:173 src/component/share/dialog.vue:181 msgid "Save" msgstr "Salvar" @@ -2606,23 +2641,23 @@ msgstr "Salvar" msgid "Scan" msgstr "Buscar" -#: src/component/settings/passcode.vue:179 +#: src/component/settings/passcode.vue:182 msgid "Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:" msgstr "Digitalize o código QR com seu aplicativo autenticador ou use a chave de configuração mostrada abaixo e insira o código de verificação gerado:" -#: src/component/navigation.vue:461 +#: src/component/navigation.vue:463 msgid "Scans" msgstr "Escaneadas" -#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:377 -#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:310 +#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:381 +#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:313 msgid "Scope" msgstr "Escopo" -#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:62 -#: src/component/navigation.vue:342 src/component/navigation.vue:1866 -#: src/component/photo/toolbar.vue:57 src/options/options.js:197 -#: src/page/albums.vue:100 src/page/labels.vue:77 +#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:69 +#: src/component/location/dialog.vue:133 src/component/navigation.vue:343 +#: src/component/navigation.vue:1905 src/component/photo/toolbar.vue:57 +#: src/options/options.js:197 src/page/albums.vue:100 src/page/labels.vue:77 #: src/page/library/errors.vue:76 src/page/people/recognized.vue:66 #: src/page/places.vue:79 src/page/settings/content.vue:235 msgid "Search" @@ -2660,11 +2695,11 @@ msgstr "Selecione a data" msgid "Select dates" msgstr "Selecione as datas" -#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:154 +#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:156 msgid "Select or create an album" msgstr "Selecione ou crie um álbum" -#: src/component/upload/dialog.vue:138 +#: src/component/upload/dialog.vue:140 msgid "Select the files to upload…" msgstr "Selecione os arquivos a serem carregados…" @@ -2692,7 +2727,7 @@ msgstr "Seleção restaurada" msgid "Sequential Name" msgstr "Nome sequencial" -#: src/component/service/add.vue:67 src/component/service/edit.vue:322 +#: src/component/service/add.vue:68 src/component/service/edit.vue:323 #: src/component/share/dialog.vue:25 msgid "Service URL" msgstr "URL do serviço" @@ -2701,7 +2736,7 @@ msgstr "URL do serviço" msgid "Services" msgstr "Serviços" -#: src/model/session.js:107 src/options/auth.js:41 src/options/auth.js:90 +#: src/model/session.js:107 src/options/auth.js:42 src/options/auth.js:91 msgid "Session" msgstr "Sessão" @@ -2709,7 +2744,7 @@ msgstr "Sessão" msgid "Session ID" msgstr "ID da sessão" -#: src/page/admin.vue:45 +#: src/page/admin.vue:44 msgid "Sessions" msgstr "Sessões" @@ -2717,22 +2752,22 @@ msgstr "Sessões" msgid "Set as Album Cover" msgstr "Definir como capa do álbum" -#: src/app/routes.js:101 src/app/routes.js:492 src/app/routes.js:504 -#: src/app/routes.js:521 src/app/routes.js:534 src/app/routes.js:547 -#: src/component/navigation.vue:1394 src/component/navigation.vue:1806 +#: src/app/routes.js:101 src/app/routes.js:500 src/app/routes.js:512 +#: src/app/routes.js:529 src/app/routes.js:542 src/app/routes.js:555 +#: src/component/navigation.vue:1419 src/component/navigation.vue:1841 msgid "Settings" msgstr "Configurações" #: src/page/settings/account.vue:115 src/page/settings/account.vue:144 -#: src/component/settings/passcode.vue:147 +#: src/component/settings/passcode.vue:151 msgid "Settings saved" msgstr "Configurações salvas" -#: src/component/service/upload.vue:131 src/component/settings/passcode.vue:160 +#: src/component/service/upload.vue:132 src/component/settings/passcode.vue:163 msgid "Setup" msgstr "Configurar" -#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:98 +#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:103 #: src/component/photo/clipboard.vue:51 src/page/settings/general.vue:382 msgid "Share" msgstr "Compartilhar" @@ -2749,7 +2784,7 @@ msgstr "Compartilhe suas fotos com outros aplicativos e serviços." msgid "Show" msgstr "Mostrar" -#: src/page/people/new.vue:116 src/page/people/new.vue:233 +#: src/page/people/new.vue:116 src/page/people/new.vue:235 msgid "Show all new faces" msgstr "Mostrar todos os rostos novos" @@ -2794,7 +2829,7 @@ msgid "Similar" msgstr "Semelhante" #: src/component/photo/edit/files.vue:51 src/component/photo/edit/files.vue:341 -#: src/component/service/edit.vue:139 src/component/sidebar/info.vue:96 +#: src/component/service/edit.vue:140 src/component/sidebar/info.vue:96 msgid "Size" msgstr "Tamanho" @@ -2822,7 +2857,7 @@ msgstr "Algo deu errado, tente novamente" msgid "Sort by" msgstr "Ordenar por" -#: src/component/album/edit/dialog.vue:142 src/component/photo/toolbar.vue:288 +#: src/component/album/edit/dialog.vue:143 src/component/photo/toolbar.vue:290 #: src/page/albums.vue:214 msgid "Sort Order" msgstr "Ordem de classificação" @@ -2857,7 +2892,7 @@ msgstr "Empilhar fotos tiradas na mesma hora e local conforme os metadados." msgid "Stackable" msgstr "Empilhável" -#: src/component/navigation.vue:421 src/page/settings/content.vue:136 +#: src/component/navigation.vue:423 src/page/settings/content.vue:136 msgid "Stacks" msgstr "Pilhas" @@ -2885,16 +2920,16 @@ msgstr "Armazenamento" msgid "Streets" msgstr "Ruas" -#: src/component/photo/edit/details.vue:494 +#: src/component/photo/edit/details.vue:468 #: src/component/photo/edit/labels.vue:44 msgid "Subject" msgstr "Assunto" -#: src/page/about/feedback.vue:162 src/page/about/feedback.vue:163 +#: src/page/about/feedback.vue:163 src/page/about/feedback.vue:164 msgid "Submit" msgstr "Enviar" -#: src/component/settings/passcode.vue:132 +#: src/component/settings/passcode.vue:136 msgid "Successfully activated" msgstr "Ativado com sucesso" @@ -2903,23 +2938,23 @@ msgid "Successfully Connected" msgstr "Conectado com sucesso" #: src/component/session/remove/dialog.vue:32 -#: src/component/settings/apps.vue:218 +#: src/component/settings/apps.vue:222 msgid "Successfully deleted" msgstr "Eliminado com sucesso" -#: src/component/settings/passcode.vue:107 +#: src/component/settings/passcode.vue:108 msgid "Successfully verified" msgstr "Verificado com sucesso" -#: src/component/user/edit/dialog.vue:398 src/page/admin/users.vue:163 +#: src/component/user/edit/dialog.vue:399 src/page/admin/users.vue:165 msgid "Super Admin" msgstr "Super Admin" -#: src/component/service/add.vue:122 +#: src/component/service/add.vue:123 msgid "Support for additional services, like Google Drive, will be added over time." msgstr "Suporte para serviços adicionais, como Google Drive, serão adicionados oportunamente." -#: src/component/confirm/sponsor.vue:37 src/component/navigation.vue:1629 +#: src/component/confirm/sponsor.vue:38 src/component/navigation.vue:1660 msgid "Support Our Mission" msgstr "Apoiar nossa missão" @@ -2927,7 +2962,7 @@ msgstr "Apoiar nossa missão" msgid "Sync" msgstr "Sincronizar" -#: src/component/service/edit.vue:289 +#: src/component/service/edit.vue:290 msgid "Sync raw and video files" msgstr "Sincronizar imagens e vídeos RAW" @@ -2953,23 +2988,23 @@ msgstr "Terreno" msgid "Text" msgstr "Texto" -#: src/component/photo/edit/details.vue:32 src/page/people/new.vue:71 +#: src/component/photo/edit/details.vue:40 src/page/people/new.vue:71 msgid "Text too long" msgstr "Texto muito longo" -#: src/page/about/about.vue:145 +#: src/page/about/about.vue:146 msgid "Thank You for Your Support!" msgstr "Obrigado por seu apoio!" -#: src/page/about/about.vue:79 src/page/about/about.vue:85 +#: src/page/about/about.vue:80 src/page/about/about.vue:86 msgid "That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality." msgstr "É por isso que o PhotoPrism foi construído desde o início para funcionar onde você precisar, sem comprometer a liberdade, a privacidade ou a funcionalidade." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "The index currently contains %{n} hidden files." msgstr "O índice atualmente contém %{n} arquivos ocultos." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates." msgstr "O formato delas não é suportado, elas não foram convertidas para JPEG ainda ou existe duplicação." @@ -2984,44 +3019,44 @@ msgstr "Tema" msgid "This field is required" msgstr "Este campo é obrigatório" -#: src/component/settings/webdav.vue:100 src/page/settings/services.vue:144 +#: src/component/settings/webdav.vue:101 src/page/settings/services.vue:147 msgid "This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local." msgstr "Isto monta a pasta de originais como um dispositivo de rede e permite que você abra, edite e apague arquivos a partir do seu computador ou celular como se fosses locais." -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Time UTC" msgstr "Horário UTC" -#: src/component/photo/edit/details.vue:219 src/page/settings/general.vue:108 +#: src/component/photo/edit/details.vue:221 src/page/settings/general.vue:108 msgid "Time Zone" msgstr "Fuzo Horário" -#: src/component/service/edit.vue:408 +#: src/component/service/edit.vue:409 msgid "Timeout" msgstr "Tempo esgotado" -#: src/component/user/edit/dialog.vue:98 src/component/user/edit/dialog.vue:99 +#: src/component/user/edit/dialog.vue:99 src/component/user/edit/dialog.vue:100 #: src/page/settings/account.vue:84 src/page/settings/account.vue:86 msgctxt "Account" msgid "Title" msgstr "Título" -#: src/component/photo/edit/details.vue:73 +#: src/component/photo/edit/details.vue:75 msgctxt "Photo" msgid "Title" msgstr "Título" -#: src/component/photo/edit/info.vue:59 src/component/photo/edit/info.vue:155 +#: src/component/photo/edit/info.vue:61 src/component/photo/edit/info.vue:155 #: src/component/photo/edit/labels.vue:40 src/component/photo/view/list.vue:114 #: src/component/sidebar/info.vue:57 msgid "Title" msgstr "Título" -#: src/page/settings/account.vue:553 src/page/settings/account.vue:555 +#: src/page/settings/account.vue:559 src/page/settings/account.vue:561 msgid "Title / Position" msgstr "Título / Posição" -#: src/page/albums.vue:83 +#: src/page/albums.vue:84 msgid "Title too long" msgstr "Título muito longo" @@ -3029,19 +3064,19 @@ msgstr "Título muito longo" msgid "to" msgstr "para" -#: src/component/settings/passcode.vue:312 +#: src/component/settings/passcode.vue:315 msgid "To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place." msgstr "Para evitar o bloqueio de sua conta, baixe, imprima ou copie este código de recuperação agora e guarde-o em um local seguro." -#: src/component/settings/apps.vue:272 +#: src/component/settings/apps.vue:275 msgid "To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:" msgstr "Para gerar uma nova senha específica do aplicativo, insira o nome e o escopo de autorização do aplicativo e selecione uma data de validade:" -#: src/component/settings/passcode.vue:400 +#: src/component/settings/passcode.vue:403 msgid "To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:" msgstr "Para mudar para um novo aplicativo ou dispositivo autenticador, primeiro desative a autenticação de dois fatores e depois reative-a:" -#: src/page/connect.vue:221 src/page/connect.vue:230 +#: src/page/connect.vue:223 src/page/connect.vue:232 msgid "To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:" msgstr "Para atualizar, você pode digitar um código de ativação ou clicar em \"Registrar\" para se inscrever em nosso site:" @@ -3049,7 +3084,7 @@ msgstr "Para atualizar, você pode digitar um código de ativação ou clicar em msgid "Today" msgstr "Hoje" -#: src/component/album/toolbar.vue:70 src/component/photo/toolbar.vue:78 +#: src/component/album/toolbar.vue:71 src/component/photo/toolbar.vue:78 msgid "Toggle View" msgstr "Trocar visualização" @@ -3076,20 +3111,24 @@ msgstr "Solução de problemas" msgid "Try again using other filters or keywords." msgstr "Tente novamente usando outros filtros ou palavras-chave." -#: src/component/settings/passcode.vue:380 +#: src/component/settings/passcode.vue:383 msgid "Two-factor authentication has been enabled for your account." msgstr "A autenticação de dois fatores foi habilitada para sua conta." #: src/component/photo/edit/files.vue:58 src/component/photo/edit/files.vue:330 -#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:388 +#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:389 msgid "Type" msgstr "Tipo" -#: src/options/auth.js:13 +#: src/component/album/toolbar.vue:178 +msgid "Unable to delete" +msgstr "Não é possível excluir" + +#: src/options/auth.js:14 msgid "Unauthorized" msgstr "Não autorizado" -#: src/component/photo/edit/people.vue:94 +#: src/component/photo/edit/people.vue:95 msgid "Undo" msgstr "Desfazer" @@ -3097,16 +3136,16 @@ msgstr "Desfazer" msgid "Unique ID" msgstr "ID único" -#: src/page/settings/account.vue:451 src/page/settings/account.vue:476 -#: src/page/settings/account.vue:501 src/common/util.js:487 -#: src/component/photo/edit/details.vue:21 -#: src/component/photo/edit/details.vue:111 -#: src/component/photo/edit/details.vue:138 -#: src/component/photo/edit/details.vue:164 src/component/sidebar/info.vue:43 -#: src/model/album.js:193 src/model/photo.js:323 src/model/photo.js:784 -#: src/model/photo.js:809 src/model/photo.js:832 src/model/photo.js:850 -#: src/model/photo.js:897 src/model/photo.js:905 src/model/photo.js:994 -#: src/model/photo.js:1016 src/model/photo.js:1061 src/model/photo.js:1074 +#: src/page/settings/account.vue:457 src/page/settings/account.vue:482 +#: src/page/settings/account.vue:507 src/common/util.js:488 +#: src/component/photo/edit/details.vue:27 +#: src/component/photo/edit/details.vue:113 +#: src/component/photo/edit/details.vue:140 +#: src/component/photo/edit/details.vue:166 src/component/sidebar/info.vue:43 +#: src/model/album.js:193 src/model/photo.js:331 src/model/photo.js:821 +#: src/model/photo.js:846 src/model/photo.js:869 src/model/photo.js:887 +#: src/model/photo.js:934 src/model/photo.js:942 src/model/photo.js:1031 +#: src/model/photo.js:1053 src/model/photo.js:1098 src/model/photo.js:1111 #: src/model/user.js:157 src/options/options.js:51 src/options/options.js:69 #: src/options/options.js:86 src/options/options.js:100 #: src/options/options.js:112 src/page/library/errors.vue:251 @@ -3119,7 +3158,7 @@ msgstr "Desconhecido" msgid "Unregistered" msgstr "Não registrado" -#: src/app/routes.js:215 src/component/navigation.vue:644 +#: src/app/routes.js:223 src/component/navigation.vue:648 msgid "Unsorted" msgstr "Não classificado" @@ -3127,7 +3166,7 @@ msgstr "Não classificado" msgid "Unstack" msgstr "Desempilhar" -#: src/component/photo/edit/files.vue:519 src/component/photo/edit/info.vue:416 +#: src/component/photo/edit/files.vue:521 src/component/photo/edit/info.vue:416 msgid "Updated" msgstr "Atualizado" @@ -3143,7 +3182,7 @@ msgstr "Atualizando índice" msgid "Updating moments" msgstr "Atualizando momentos" -#: src/component/user/edit/dialog.vue:154 +#: src/component/user/edit/dialog.vue:155 msgid "Updating picture…" msgstr "Atualizando a imagem.." @@ -3155,21 +3194,21 @@ msgstr "Atualização de visualizações" msgid "Updating stacks" msgstr "Atualizando pilhas" -#: src/page/connect.vue:57 src/component/navigation.vue:1500 -#: src/component/navigation.vue:1614 src/component/navigation.vue:1999 +#: src/page/connect.vue:57 src/component/navigation.vue:1526 +#: src/component/navigation.vue:1644 src/component/navigation.vue:2047 #: src/page/connect.vue:58 msgid "Upgrade" msgstr "Atualização" -#: src/page/about/about.vue:123 src/page/connect.vue:202 -#: src/component/confirm/sponsor.vue:98 src/page/about/about.vue:113 -#: src/page/connect.vue:206 +#: src/page/about/about.vue:124 src/page/connect.vue:204 +#: src/component/confirm/sponsor.vue:99 src/page/about/about.vue:114 +#: src/page/connect.vue:208 msgid "Upgrade Now" msgstr "Atualização agora" -#: src/component/album/toolbar.vue:108 src/component/navigation.vue:1824 -#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:144 -#: src/component/upload/dialog.vue:51 src/page/albums.vue:183 +#: src/component/album/toolbar.vue:113 src/component/navigation.vue:1860 +#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:145 +#: src/component/upload/dialog.vue:51 src/page/albums.vue:185 #: src/page/labels.vue:122 src/page/library/import.vue:133 #: src/page/settings/general.vue:307 src/page/settings/services.vue:38 msgid "Upload" @@ -3179,21 +3218,21 @@ msgstr "Enviar" msgid "Upload complete" msgstr "Envio finalizado" -#: src/component/upload/dialog.vue:133 +#: src/component/upload/dialog.vue:135 msgid "Upload complete. Indexing…" msgstr "Envio finalizado. Indexando…" #: src/component/upload/dialog.vue:296 src/component/upload/dialog.vue:315 -#: src/component/upload/dialog.vue:129 +#: src/component/upload/dialog.vue:131 msgid "Upload failed" msgstr "Envio falhou" -#: src/component/service/edit.vue:257 +#: src/component/service/edit.vue:258 msgid "Upload local files" msgstr "Enviar arquivos locais" -#: src/component/user/edit/dialog.vue:380 #: src/component/user/edit/dialog.vue:381 +#: src/component/user/edit/dialog.vue:382 msgid "Upload Path" msgstr "Caminho de Upload" @@ -3201,7 +3240,7 @@ msgstr "Caminho de Upload" msgid "Upload to WebDAV and share links with friends." msgstr "Enviar para WebDAV e compartilhar links com amigos." -#: src/component/upload/dialog.vue:131 +#: src/component/upload/dialog.vue:133 msgid "Uploading %{n} of %{t}…" msgstr "Enviando %{n} de %{t}…" @@ -3214,7 +3253,7 @@ msgstr "Enviando fotos…" msgid "Uploading…" msgstr "Carregando…" -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Uploads that may contain such images will be rejected automatically." msgstr "Envios que possam conter tais imagens serão rejeitados automaticamente." @@ -3222,7 +3261,7 @@ msgstr "Envios que possam conter tais imagens serão rejeitados automaticamente. msgid "Use Presets" msgstr "Usar pré-definições" -#: src/component/settings/passcode.vue:283 +#: src/component/settings/passcode.vue:286 msgid "Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:" msgstr "Use o seguinte código de recuperação para acessar sua conta quando não conseguir gerar um código de verificação válido com seu aplicativo autenticador:" @@ -3230,12 +3269,12 @@ msgstr "Use o seguinte código de recuperação para acessar sua conta quando n msgid "Use your recovery code or contact an administrator for help." msgstr "Use o código de recuperação ou entre em contato com um administrador para obter ajuda." -#: src/options/admin.js:10 src/page/admin/sessions.vue:59 -#: src/page/admin/sessions.vue:242 src/model/user.js:361 src/options/auth.js:7 +#: src/options/admin.js:14 src/page/admin/sessions.vue:59 +#: src/page/admin/sessions.vue:243 src/model/user.js:361 src/options/auth.js:8 msgid "User" msgstr "Usuário" -#: src/component/navigation.vue:1979 +#: src/component/navigation.vue:2025 msgid "User Guide" msgstr "Guia do Usuário" @@ -3243,14 +3282,14 @@ msgstr "Guia do Usuário" msgid "User Interface" msgstr "Interface de usuário" -#: src/component/user/add/dialog.vue:87 src/component/user/add/dialog.vue:88 -#: src/page/admin/sessions.vue:220 src/page/admin/users.vue:71 -#: src/component/service/add.vue:85 src/component/service/edit.vue:337 +#: src/component/user/add/dialog.vue:88 src/component/user/add/dialog.vue:89 +#: src/page/admin/sessions.vue:221 src/page/admin/users.vue:73 +#: src/component/service/add.vue:86 src/component/service/edit.vue:338 #: src/component/share/dialog.vue:26 msgid "Username" msgstr "Nome de usuário" -#: src/component/navigation.vue:1435 +#: src/component/navigation.vue:1461 msgid "Users" msgstr "Usuários" @@ -3260,18 +3299,18 @@ msgstr "Usuários" msgid "Vector" msgstr "Vetor" -#: src/component/navigation.vue:440 +#: src/component/navigation.vue:442 msgid "Vectors" msgstr "Vetores" -#: src/component/settings/passcode.vue:227 src/page/auth/login.vue:144 +#: src/component/settings/passcode.vue:230 src/page/auth/login.vue:144 msgid "Verification Code" msgstr "Código de verificação" #: src/component/photo/view/cards.vue:363 #: src/component/photo/view/cards.vue:491 src/component/photo/view/list.vue:190 #: src/component/photo/view/mosaic.vue:207 src/model/file.js:221 -#: src/model/photo.js:921 src/model/photo.js:939 src/options/options.js:293 +#: src/model/photo.js:958 src/model/photo.js:976 src/options/options.js:293 msgid "Video" msgstr "Vídeo" @@ -3280,12 +3319,12 @@ msgstr "Vídeo" msgid "Video Duration" msgstr "Duração Vídeo" -#: src/app/routes.js:243 src/component/navigation.vue:728 +#: src/app/routes.js:251 src/component/navigation.vue:734 #: src/options/options.js:200 msgid "Videos" msgstr "Vídeos" -#: src/component/photo/toolbar.vue:261 src/component/photo/view/cards.vue:350 +#: src/component/photo/toolbar.vue:263 src/component/photo/view/cards.vue:350 #: src/component/photo/view/mosaic.vue:194 msgid "View" msgstr "Visualização" @@ -3294,11 +3333,11 @@ msgstr "Visualização" msgid "View search results as a list." msgstr "Exibir os resultados da pesquisa como uma lista." -#: src/options/admin.js:14 src/options/auth.js:8 +#: src/options/admin.js:18 src/options/auth.js:9 msgid "Viewer" msgstr "Visualizador" -#: src/page/admin/sessions.vue:271 src/options/auth.js:12 +#: src/page/admin/sessions.vue:272 src/options/auth.js:13 msgid "Visitor" msgstr "Visitante" @@ -3310,34 +3349,34 @@ msgstr "Similaridade visual" msgid "Warning" msgstr "Advertência" -#: src/page/about/feedback.vue:60 +#: src/page/about/feedback.vue:61 msgid "We appreciate your feedback!" msgstr "Agradecemos seu feedback!" -#: src/page/about/feedback.vue:63 +#: src/page/about/feedback.vue:64 msgid "We do our best to respond within five business days or less." msgstr "Fazemos nosso melhor para responder dentro de cinco dias úteis ou menos." -#: src/component/user/add/dialog.vue:235 src/component/user/edit/dialog.vue:415 -#: src/page/admin/users.vue:80 +#: src/component/user/add/dialog.vue:236 src/component/user/edit/dialog.vue:416 +#: src/page/admin/users.vue:82 msgid "Web Login" msgstr "Login na Web" -#: src/component/user/add/dialog.vue:248 src/component/user/edit/dialog.vue:432 -#: src/page/admin/users.vue:82 src/options/auth.js:55 src/options/auth.js:68 +#: src/component/user/add/dialog.vue:249 src/component/user/edit/dialog.vue:433 +#: src/page/admin/users.vue:84 src/options/auth.js:56 src/options/auth.js:69 #: src/options/options.js:444 msgid "WebDAV" msgstr "WebDAV" -#: src/component/settings/webdav.vue:51 +#: src/component/settings/webdav.vue:52 msgid "WebDAV clients can connect to PhotoPrism using the following URL:" msgstr "Clientes WebDAV podem se conectar ao PhotoPrism usando a seguinte URL:" -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism." msgstr "Clientes WebDAV, como Windows Explorer e o Finder da Apple, podem se conectar diretamente com o PhotoPrism." -#: src/component/service/upload.vue:50 src/component/share/dialog.vue:220 +#: src/component/service/upload.vue:51 src/component/share/dialog.vue:220 msgid "WebDAV Upload" msgstr "Envio WebDAV" @@ -3345,8 +3384,8 @@ msgstr "Envio WebDAV" msgid "WebGL support is disabled in your browser" msgstr "O suporte a WebGL está desativado em seu navegador" -#: src/page/settings/account.vue:615 src/page/settings/account.vue:709 -#: src/page/settings/account.vue:601 +#: src/page/settings/account.vue:621 src/page/settings/account.vue:715 +#: src/page/settings/account.vue:607 msgid "Website" msgstr "Site" @@ -3354,12 +3393,12 @@ msgstr "Site" msgid "White" msgstr "Branco" -#: src/page/settings/account.vue:532 +#: src/page/settings/account.vue:538 msgid "Work Details" msgstr "Detalhes do trabalho" -#: src/page/settings/account.vue:500 src/component/photo/edit/details.vue:163 -#: src/component/photo/toolbar.vue:315 src/page/albums.vue:159 +#: src/page/settings/account.vue:506 src/component/photo/edit/details.vue:165 +#: src/component/photo/toolbar.vue:317 src/page/albums.vue:159 msgid "Year" msgstr "Ano" @@ -3367,21 +3406,21 @@ msgstr "Ano" msgid "Yellow" msgstr "Amarelo" -#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:58 -#: src/component/photo/archive/dialog.vue:58 +#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:59 +#: src/component/photo/archive/dialog.vue:59 #: src/component/photo/clipboard.vue:200 src/component/photo/edit/files.vue:365 #: src/component/photo/edit/files.vue:395 #: src/component/photo/edit/files.vue:401 #: src/component/photo/edit/files.vue:407 -#: src/component/photo/edit/files.vue:510 src/component/photo/edit/info.vue:281 +#: src/component/photo/edit/files.vue:512 src/component/photo/edit/info.vue:281 #: src/component/photo/edit/info.vue:297 src/component/photo/edit/info.vue:313 #: src/component/photo/edit/info.vue:329 src/component/photo/edit/info.vue:344 -#: src/component/photo/toolbar.vue:434 +#: src/component/photo/toolbar.vue:436 msgid "Yes" msgstr "Sim" -#: src/component/confirm/sponsor.vue:59 src/page/about/about.vue:158 -#: src/page/connect.vue:315 +#: src/component/confirm/sponsor.vue:60 src/page/about/about.vue:160 +#: src/page/connect.vue:317 msgid "You are welcome to contact us at membership@photoprism.app for questions regarding your membership." msgstr "Você é bem-vindo a entrar em contato conosco pelo e-mail membership@photoprism.app para perguntas relativas à sua filiação." @@ -3393,7 +3432,11 @@ msgstr "Você pode baixar apenas um álbum" msgid "You can only download one label" msgstr "Você pode baixar apenas uma etiqueta" -#: src/component/upload/dialog.vue:203 +#: src/component/location/dialog.vue:178 +msgid "You can search for a location or move the marker on the map to change the position:" +msgstr "Você pode procurar um local ou mover o marcador no mapa para alterar a posição:" + +#: src/component/upload/dialog.vue:205 msgid "You can upload up to %{n} files for test purposes." msgstr "Você pode carregar até %{n} arquivos para fins de teste." @@ -3406,7 +3449,7 @@ msgstr "Você pode selecionar apenas um item" msgid "You may rescan your library to find additional faces." msgstr "Você pode voltar a digitalizar sua biblioteca para encontrar rostos adicionais." -#: src/page/connect.vue:146 src/page/connect.vue:150 +#: src/page/connect.vue:147 src/page/connect.vue:151 msgid "Your account has been successfully connected." msgstr "Sua conta foi conectada com sucesso." @@ -3414,8 +3457,8 @@ msgstr "Sua conta foi conectada com sucesso." msgid "Your browser does not support WebGL" msgstr "Seu navegador não é compatível com WebGL" -#: src/component/confirm/sponsor.vue:43 src/page/about/about.vue:97 -#: src/page/about/about.vue:156 src/page/connect.vue:220 +#: src/component/confirm/sponsor.vue:44 src/page/about/about.vue:98 +#: src/page/about/about.vue:158 src/page/connect.vue:222 msgid "Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy." msgstr "Seu apoio contínuo nos ajuda a fornecer atualizações regulares e a permanecer independentes, para que possamos cumprir nossa missão e proteger sua privacidade." @@ -3496,9 +3539,6 @@ msgstr "Aproximar/Afastar" #~ msgid "Open Folder" #~ msgstr "Abrir pasta" -#~ msgid "Cannot copy to clipboard" -#~ msgstr "Não é possível copiar para a área de transferência" - #~ msgid "Sound" #~ msgstr "Som" @@ -4153,9 +4193,6 @@ msgstr "Aproximar/Afastar" #~ msgid "More than 50 results" #~ msgstr "Mais de 50 resultados" -#~ msgid "No results" -#~ msgstr "Nenhum resultado" - #~ msgid "Not implemented yet" #~ msgstr "Ainda não implementado" diff --git a/frontend/src/locales/ro.po b/frontend/src/locales/ro.po index c691e66f5..e1709570e 100644 --- a/frontend/src/locales/ro.po +++ b/frontend/src/locales/ro.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: ci@photoprism.app\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2025-04-04 08:03+0000\n" +"PO-Revision-Date: 2025-07-06 08:58+0000\n" "Last-Translator: DeepL \n" "Language-Team: Romanian \n" "Language: ro\n" @@ -11,7 +11,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < 20)) ? 1 : 2;\n" -"X-Generator: Weblate 5.10.4\n" +"X-Generator: Weblate 5.12.2\n" "Generated-By: easygettext\n" #: src/locales.js:268 @@ -42,7 +42,7 @@ msgstr "{0} selectat" msgid "{0}-{1} of {2}" msgstr "{0}-{1} din {2}" -#: src/page/albums.vue:612 +#: src/page/albums.vue:617 msgid "%{n} albums found" msgstr "%{n} albume găsite" @@ -50,25 +50,25 @@ msgstr "%{n} albume găsite" msgid "%{n} files uploaded" msgstr "%{n} fișiere încărcate" -#: src/page/library/browse.vue:362 +#: src/page/library/browse.vue:364 msgid "%{n} folders found" msgstr "%{n} foldere găsite" -#: src/component/navigation.vue:1676 +#: src/component/navigation.vue:1707 msgid "%{n} GB of %{q} GB used" msgstr "%{n} GB de %{q} GB utilizați" -#: src/page/labels.vue:528 +#: src/page/labels.vue:533 msgid "%{n} labels found" msgstr "%{n} etichete găsite" -#: src/page/people/new.vue:350 src/page/people/new.vue:447 -#: src/page/people/recognized.vue:536 +#: src/page/people/new.vue:350 src/page/people/new.vue:450 +#: src/page/people/recognized.vue:541 msgid "%{n} people found" msgstr "%{n} persoane găsite" -#: src/page/album/photos.vue:308 src/page/album/photos.vue:493 -#: src/page/photos.vue:441 src/page/photos.vue:631 +#: src/page/album/photos.vue:313 src/page/album/photos.vue:504 +#: src/page/photos.vue:446 src/page/photos.vue:641 msgid "%{n} pictures found" msgstr "%{n} imagini găsite" @@ -88,12 +88,12 @@ msgstr "1 oră" msgid "12 hours" msgstr "12 ore" -#: src/component/user/edit/dialog.vue:452 src/page/settings/account.vue:324 -#: src/component/settings/passcode.vue:75 +#: src/component/user/edit/dialog.vue:453 src/page/settings/account.vue:325 +#: src/component/settings/passcode.vue:78 msgid "2-Factor Authentication" msgstr "Autentificare cu 2 factori" -#: src/component/user/edit/dialog.vue:451 src/options/auth.js:46 +#: src/component/user/edit/dialog.vue:452 src/options/auth.js:47 msgid "2FA" msgstr "2FA" @@ -109,20 +109,20 @@ msgstr "Un clic îl va copia în clipboard." msgid "A new version of %{s} is available:" msgstr "O nouă versiune a %{s} este disponibilă:" -#: src/component/user/edit/dialog.vue:233 -#: src/component/user/edit/dialog.vue:234 src/page/about/about.vue:56 +#: src/component/user/edit/dialog.vue:234 +#: src/component/user/edit/dialog.vue:235 src/page/about/about.vue:56 #: src/page/settings/account.vue:248 src/page/settings/account.vue:249 -#: src/app/routes.js:63 src/component/navigation.vue:1521 -#: src/page/people/recognized.vue:292 +#: src/app/routes.js:63 src/component/navigation.vue:1547 +#: src/page/people/recognized.vue:296 msgid "About" msgstr "Despre" -#: src/options/auth.js:26 src/options/auth.js:44 +#: src/options/auth.js:27 src/options/auth.js:45 msgid "Access Token" msgstr "Token de acces" -#: src/component/navigation.vue:87 src/component/navigation.vue:1788 -#: src/component/service/upload.vue:71 src/model/service.js:96 +#: src/component/navigation.vue:87 src/component/navigation.vue:1822 +#: src/component/service/upload.vue:72 src/model/service.js:96 #: src/model/user.js:171 src/page/settings.vue:85 #: src/page/settings/general.vue:582 msgid "Account" @@ -136,7 +136,7 @@ msgstr "Cont creat" msgid "Account deleted" msgstr "Cont șters" -#: src/page/admin/users.vue:335 +#: src/page/admin/users.vue:337 msgid "Account restored" msgstr "Cont restaurat" @@ -157,8 +157,8 @@ msgstr "Acțiune" msgid "Actions" msgstr "Acțiuni" -#: src/page/connect.vue:294 src/component/settings/passcode.vue:346 -#: src/page/connect.vue:303 +#: src/page/connect.vue:296 src/component/settings/passcode.vue:349 +#: src/page/connect.vue:305 msgid "Activate" msgstr "Activați" @@ -174,20 +174,20 @@ msgstr "Activați pentru sortare crescătoare." msgid "Activate to sort descending." msgstr "Activați pentru a sorta descrescător." -#: src/page/connect.vue:231 src/page/connect.vue:240 +#: src/page/connect.vue:233 src/page/connect.vue:242 msgid "Activation Code" msgstr "Cod de activare" -#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:83 -#: src/component/settings/apps.vue:448 +#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:92 +#: src/component/settings/apps.vue:451 msgid "Add" msgstr "Adăugați" -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:246 msgid "Add %{s}?" msgstr "Adaugă %{s}?" -#: src/component/user/add/dialog.vue:56 src/component/service/add.vue:49 +#: src/component/user/add/dialog.vue:57 src/component/service/add.vue:50 msgid "Add Account" msgstr "Adăugați un cont" @@ -204,8 +204,8 @@ msgid "Add Link" msgstr "Adăugați un link" #: src/component/photo/edit/people.vue:25 -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:57 -#: src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:57 +#: src/page/people/new.vue:246 msgid "Add person?" msgstr "Adăugați o persoană?" @@ -221,10 +221,15 @@ msgstr "Adăugați imagini din rezultatele căutării prin selectarea lor." msgid "Add to album" msgstr "Adaugă la album" -#: src/component/photo/edit/files.vue:514 +#: src/component/photo/edit/files.vue:516 msgid "Added" msgstr "Adăugat" +#: src/component/location/dialog.vue:68 src/component/location/dialog.vue:90 +#: src/component/photo/edit/details.vue:246 +msgid "Adjust Location" +msgstr "Reglați locația" + #: src/options/admin.js:6 src/options/auth.js:6 msgid "Admin" msgstr "Admin" @@ -245,7 +250,7 @@ msgstr "După 3 zile" msgid "After 7 days" msgstr "După 7 zile" -#: src/component/settings/passcode.vue:93 +#: src/component/settings/passcode.vue:96 msgid "After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:" msgstr "După ce ați introdus parola pentru confirmare, puteți configura autentificarea cu doi factori cu o aplicație sau un dispozitiv de autentificare compatibil:" @@ -277,12 +282,16 @@ msgstr "Album" msgid "Album Backups" msgstr "Copii de rezervă ale albumelor" -#: src/page/albums.vue:674 +#: src/page/albums.vue:685 msgid "Album created" msgstr "Album creat" -#: src/app/routes.js:176 src/component/album/toolbar.vue:51 -#: src/component/navigation.vue:604 src/component/navigation.vue:1882 +#: src/page/album/photos.vue:589 +msgid "Album deleted" +msgstr "Album șters" + +#: src/app/routes.js:184 src/component/album/toolbar.vue:55 +#: src/component/navigation.vue:607 src/component/navigation.vue:1922 #: src/component/photo/edit/info.vue:220 src/options/options.js:198 msgid "Albums" msgstr "Albume" @@ -295,7 +304,7 @@ msgstr "Albume șterse" msgid "All" msgstr "Toate" -#: src/page/albums.vue:465 +#: src/page/albums.vue:470 msgid "All %{n} albums loaded" msgstr "Toate albumele %{n} încărcate" @@ -311,8 +320,8 @@ msgstr "Toate %{n} persoane încărcate" msgid "All Cameras" msgstr "Toate camerele de luat vederi" -#: src/component/photo/toolbar.vue:74 src/page/albums.vue:44 -#: src/page/albums.vue:240 src/page/albums.vue:746 +#: src/component/photo/toolbar.vue:74 src/page/albums.vue:45 +#: src/page/albums.vue:242 src/page/albums.vue:757 msgid "All Categories" msgstr "Toate categoriile" @@ -344,7 +353,7 @@ msgstr "Toate lunile" msgid "All originals" msgstr "Toate originalele" -#: src/component/photo/toolbar.vue:76 src/page/albums.vue:93 +#: src/component/photo/toolbar.vue:76 src/page/albums.vue:94 msgid "All Years" msgstr "Toți anii" @@ -356,7 +365,7 @@ msgstr "Alternativ, puteți încărca fișiere direct pe servere WebDAV, cum ar msgid "Altitude" msgstr "Altitudine" -#: src/component/photo/edit/details.vue:272 +#: src/component/photo/edit/details.vue:297 msgid "Altitude (m)" msgstr "Altitudine (m)" @@ -364,8 +373,7 @@ msgstr "Altitudine (m)" msgid "AM" msgstr "AM" -#: src/app/routes.js:257 src/component/navigation.vue:791 -#: src/component/photo/edit/files.vue:364 +#: src/app/routes.js:265 src/component/photo/edit/files.vue:364 #: src/component/photo/view/cards.vue:327 #: src/component/photo/view/cards.vue:511 src/component/photo/view/list.vue:184 #: src/component/photo/view/mosaic.vue:171 src/options/options.js:301 @@ -376,43 +384,47 @@ msgstr "Animat" msgid "Animation" msgstr "Animație" +#: src/component/navigation.vue:797 +msgid "Animations" +msgstr "Animații" + #: src/component/share/dialog.vue:207 msgid "Any private photos and videos remain private and won't be shared." msgstr "Orice fotografii și videoclipuri private rămân private și nu vor fi partajate." -#: src/component/service/edit.vue:372 +#: src/component/service/edit.vue:373 msgid "API Key" msgstr "Cheie API" -#: src/page/admin/sessions.vue:357 src/options/auth.js:25 +#: src/page/admin/sessions.vue:361 src/options/auth.js:26 msgid "Application" msgstr "Aplicație" -#: src/component/photo/edit/details.vue:641 +#: src/component/photo/edit/details.vue:615 msgid "Apply" msgstr "Aplicați" #: src/component/photo/clipboard.vue:64 -#: src/component/photo/edit/details.vue:640 +#: src/component/photo/edit/details.vue:614 #: src/component/photo/view/cards.vue:416 msgid "Approve" msgstr "Aprobarea" -#: src/page/settings/account.vue:374 src/component/settings/apps.vue:91 +#: src/page/settings/account.vue:378 src/component/settings/apps.vue:94 msgid "Apps and Devices" msgstr "Aplicații și dispozitive" -#: src/app/routes.js:287 src/component/lightbox.vue:1207 -#: src/component/navigation.vue:555 src/component/photo/clipboard.vue:142 +#: src/app/routes.js:295 src/component/lightbox.vue:1207 +#: src/component/navigation.vue:557 src/component/photo/clipboard.vue:142 #: src/component/photo/view/cards.vue:398 src/page/settings/general.vue:432 msgid "Archive" msgstr "Arhiva" -#: src/component/lightbox.vue:1982 src/component/photo/edit/info.vue:433 +#: src/component/lightbox.vue:2002 src/component/photo/edit/info.vue:433 msgid "Archived" msgstr "Arhivat" -#: src/component/photo/archive/dialog.vue:34 +#: src/component/photo/archive/dialog.vue:35 msgid "Are you sure you want to archive the selection?" msgstr "Sunteți sigur că doriți să arhivați selecția?" @@ -420,19 +432,23 @@ msgstr "Sunteți sigur că doriți să arhivați selecția?" msgid "Are you sure you want to delete these albums?" msgstr "Sunteți sigur că doriți să ștergeți aceste albume?" -#: src/component/label/delete/dialog.vue:34 +#: src/component/label/delete/dialog.vue:35 msgid "Are you sure you want to delete these labels?" msgstr "Sunteți sigur că doriți să ștergeți aceste etichete?" -#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:36 +#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:37 msgid "Are you sure you want to delete this account?" msgstr "Sunteți sigur că doriți să ștergeți acest cont?" +#: src/component/album/toolbar.vue:136 +msgid "Are you sure you want to delete this album?" +msgstr "Sunteți sigur că doriți să ștergeți acest album?" + #: src/component/photo/clipboard.vue:199 msgid "Are you sure you want to permanently delete these pictures?" msgstr "Sunteți sigur că doriți să ștergeți definitiv aceste imagini?" -#: src/component/file/delete/dialog.vue:34 +#: src/component/file/delete/dialog.vue:35 msgid "Are you sure you want to permanently delete this file?" msgstr "Sunteți sigur că doriți să ștergeți definitiv acest fișier?" @@ -441,7 +457,7 @@ msgstr "Sunteți sigur că doriți să ștergeți definitiv acest fișier?" msgid "Are you sure?" msgstr "Esti sigur?" -#: src/component/photo/edit/details.vue:537 +#: src/component/photo/edit/details.vue:511 msgid "Artist" msgstr "Artist" @@ -449,14 +465,14 @@ msgstr "Artist" msgid "Aspect Ratio" msgstr "Raportul de aspect" -#: src/app/routes.js:250 src/component/navigation.vue:770 +#: src/app/routes.js:258 src/component/navigation.vue:776 #: src/options/options.js:297 msgid "Audio" msgstr "Audio" -#: src/component/user/add/dialog.vue:190 src/component/user/edit/dialog.vue:309 -#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:281 -#: src/page/admin/users.vue:75 +#: src/component/user/add/dialog.vue:191 src/component/user/edit/dialog.vue:310 +#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:282 +#: src/page/admin/users.vue:77 msgid "Authentication" msgstr "Autentificare" @@ -464,11 +480,11 @@ msgstr "Autentificare" msgid "Auto" msgstr "Auto" -#: src/component/settings/apps.vue:151 +#: src/component/settings/apps.vue:154 msgid "Back" msgstr "Înapoi" -#: src/component/scroll.vue:20 +#: src/component/scroll.vue:18 msgid "Back to top" msgstr "Înapoi la începutul paginii" @@ -480,26 +496,26 @@ msgstr "Backup" msgid "Badge" msgstr "Insignă" -#: src/component/user/edit/dialog.vue:361 #: src/component/user/edit/dialog.vue:362 +#: src/component/user/edit/dialog.vue:363 msgid "Base Path" msgstr "Calea de bază" -#: src/page/about/about.vue:95 src/page/connect.vue:220 +#: src/page/about/about.vue:96 src/page/connect.vue:222 msgid "Become a member today, support our mission and enjoy our member benefits!" msgstr "Deveniți membru astăzi, susțineți misiunea noastră și bucurați-vă de beneficiile noastre!" -#: src/component/confirm/sponsor.vue:51 src/page/about/about.vue:99 +#: src/component/confirm/sponsor.vue:52 src/page/about/about.vue:100 msgid "Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services." msgstr "Fiind 100% autofinanțați și independenți, vă putem promite că nu vă vom vinde niciodată datele și că vom fi întotdeauna transparenți în ceea ce privește software-ul și serviciile noastre." -#: src/component/user/edit/dialog.vue:258 -#: src/component/user/edit/dialog.vue:259 src/page/settings/account.vue:227 +#: src/component/user/edit/dialog.vue:259 +#: src/component/user/edit/dialog.vue:260 src/page/settings/account.vue:227 #: src/page/settings/account.vue:228 msgid "Bio" msgstr "Biografie" -#: src/page/settings/account.vue:431 +#: src/page/settings/account.vue:437 msgid "Birth Date" msgstr "Data nașterii" @@ -520,7 +536,7 @@ msgid "Brown" msgstr "Maro" #: src/component/photo/edit/files.vue:263 src/component/photo/toolbar.vue:141 -#: src/component/upload/dialog.vue:240 +#: src/component/upload/dialog.vue:242 msgid "Browse" msgstr "Răsfoiți" @@ -548,16 +564,16 @@ msgstr "Raport de eroare" msgid "Busy, please wait…" msgstr "Ocupat, vă rugăm să așteptați…" -#: src/page/connect.vue:317 +#: src/page/connect.vue:319 msgid "By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct." msgstr "Prin utilizarea software-ului și a serviciilor pe care le furnizăm, sunteți de acord cu termenii și condițiile noastre de utilizare, cu politica de confidențialitate și cu codul de conduită." -#: src/app/routes.js:189 src/component/navigation.vue:1081 +#: src/app/routes.js:197 src/component/navigation.vue:1097 #: src/options/options.js:204 src/page/settings/general.vue:205 msgid "Calendar" msgstr "Calendar" -#: src/component/photo/edit/details.vue:346 src/component/photo/toolbar.vue:232 +#: src/component/photo/edit/details.vue:320 src/component/photo/toolbar.vue:234 #: src/component/photo/view/cards.vue:467 src/component/photo/view/list.vue:116 msgid "Camera" msgstr "Cameră" @@ -570,12 +586,12 @@ msgstr "Numărul de serie a Camerei" msgid "Can't access your authenticator app or device?" msgstr "Nu vă puteți accesa aplicația sau dispozitivul de autentificare?" -#: src/page/album/photos.vue:317 src/page/photos.vue:450 +#: src/page/album/photos.vue:322 src/page/photos.vue:455 msgid "Can't load more, limit reached" msgstr "Nu se poate încărca mai mult, limita a fost atinsă" #: src/common/clipboard.js:102 src/common/clipboard.js:139 -#: src/page/albums.vue:684 src/page/albums.vue:700 src/page/labels.vue:293 +#: src/page/albums.vue:695 src/page/albums.vue:711 src/page/labels.vue:293 #: src/page/labels.vue:313 src/page/library/browse.vue:233 #: src/page/library/browse.vue:249 src/page/people/new.vue:278 #: src/page/people/new.vue:294 src/page/people/recognized.vue:305 @@ -584,26 +600,31 @@ msgid "Can't select more items" msgstr "Nu se pot selecta mai multe articole" #: src/component/session/remove/dialog.vue:45 -#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:473 -#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:119 +#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:474 +#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:120 #: src/component/album/delete/dialog.vue:43 -#: src/component/album/edit/dialog.vue:199 src/component/confirm/dialog.vue:43 -#: src/component/file/delete/dialog.vue:47 -#: src/component/label/delete/dialog.vue:47 -#: src/component/label/edit/dialog.vue:107 -#: src/component/people/edit/dialog.vue:120 +#: src/component/album/edit/dialog.vue:200 src/component/confirm/dialog.vue:43 +#: src/component/file/delete/dialog.vue:48 +#: src/component/label/delete/dialog.vue:48 +#: src/component/label/edit/dialog.vue:108 +#: src/component/location/dialog.vue:200 +#: src/component/people/edit/dialog.vue:121 #: src/component/photo/album/dialog.vue:78 src/component/service/add.vue:19 -#: src/component/service/edit.vue:455 src/component/service/remove.vue:49 -#: src/component/service/upload.vue:117 src/component/settings/apps.vue:352 -#: src/component/settings/passcode.vue:249 -#: src/component/settings/passcode.vue:333 -#: src/component/settings/password.vue:159 src/component/share/dialog.vue:28 -#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:123 +#: src/component/service/edit.vue:456 src/component/service/remove.vue:50 +#: src/component/service/upload.vue:118 src/component/settings/apps.vue:355 +#: src/component/settings/passcode.vue:252 +#: src/component/settings/passcode.vue:336 +#: src/component/settings/password.vue:160 src/component/share/dialog.vue:28 +#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:124 #: src/page/library/import.vue:119 src/page/library/index.vue:128 msgid "Cancel" msgstr "Anulează" -#: src/component/photo/edit/details.vue:87 src/component/photo/edit/info.vue:61 +#: src/common/util.js:863 src/common/util.js:870 +msgid "Cannot copy to clipboard" +msgstr "Nu se poate copia în clipboard" + +#: src/component/photo/edit/details.vue:89 src/component/photo/edit/info.vue:63 #: src/component/photo/edit/labels.vue:42 #: src/component/photo/view/cards.vue:445 src/component/sidebar/info.vue:72 msgid "Caption" @@ -617,17 +638,17 @@ msgstr "Cărți" msgid "Carousel slide {0} of {1}" msgstr "Diapozitiv carusel {0} de {1}" -#: src/page/about/feedback.vue:82 src/page/about/feedback.vue:83 -#: src/component/album/edit/dialog.vue:128 src/component/photo/toolbar.vue:397 +#: src/page/about/feedback.vue:83 src/page/about/feedback.vue:84 +#: src/component/album/edit/dialog.vue:129 src/component/photo/toolbar.vue:399 #: src/page/albums.vue:187 msgid "Category" msgstr "Categoria" -#: src/component/user/edit/dialog.vue:191 src/page/settings/account.vue:201 +#: src/component/user/edit/dialog.vue:192 src/page/settings/account.vue:201 msgid "Change Avatar" msgstr "Schimbă Avatar" -#: src/page/settings/account.vue:297 src/component/settings/password.vue:48 +#: src/page/settings/account.vue:297 src/component/settings/password.vue:49 msgid "Change Password" msgstr "Schimbă parola" @@ -644,17 +665,17 @@ msgid "Change private flag" msgstr "Schimbarea steagului privat" #: src/component/user/add/dialog.vue:108 src/component/user/add/dialog.vue:113 -#: src/component/user/edit/dialog.vue:90 src/component/user/edit/dialog.vue:95 +#: src/component/user/edit/dialog.vue:91 src/component/user/edit/dialog.vue:96 #: src/page/settings/account.vue:121 src/page/settings/account.vue:126 msgid "Changes could not be saved" msgstr "Modificările nu au putut fi salvate" -#: src/component/user/edit/dialog.vue:83 src/component/user/edit/dialog.vue:159 +#: src/component/user/edit/dialog.vue:84 src/component/user/edit/dialog.vue:160 #: src/component/album/edit/dialog.vue:73 -#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1941 +#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1961 #: src/component/photo/edit/files.vue:162 src/component/service/edit.vue:90 #: src/component/share/dialog.vue:92 src/component/share/dialog.vue:111 -#: src/page/albums.vue:677 src/page/people/recognized.vue:119 +#: src/page/albums.vue:688 src/page/people/recognized.vue:119 #: src/page/settings/advanced.vue:62 src/page/settings/content.vue:62 #: src/page/settings/general.vue:108 msgid "Changes successfully saved" @@ -668,7 +689,7 @@ msgstr "Modificările aduse la setările avansate necesită o repornire pentru a msgid "Checked" msgstr "Verificat" -#: src/component/photo/edit/files.vue:495 +#: src/component/photo/edit/files.vue:497 msgid "Chroma" msgstr "Chroma" @@ -684,24 +705,24 @@ msgstr "Curățare" msgid "Clear {0}" msgstr "Șterge {0}" -#: src/options/auth.js:11 src/options/auth.js:23 src/options/auth.js:43 +#: src/options/auth.js:12 src/options/auth.js:24 src/options/auth.js:44 msgid "Client" msgstr "Client" -#: src/options/auth.js:24 +#: src/options/auth.js:25 msgid "Client Credentials" msgstr "Acreditarea clienților" -#: src/page/admin/sessions.vue:529 src/component/lightbox.vue:284 -#: src/component/lightbox.vue:1009 src/component/lightbox.vue:1010 -#: src/component/photo/edit/details.vue:627 src/component/photo/toolbar.vue:160 -#: src/component/settings/apps.vue:224 src/component/settings/apps.vue:437 -#: src/component/settings/passcode.vue:148 -#: src/component/settings/passcode.vue:456 -#: src/component/settings/passcode.vue:497 -#: src/component/settings/webdav.vue:131 src/component/share/dialog.vue:231 +#: src/component/user/edit/dialog.vue:474 src/page/admin/sessions.vue:536 +#: src/component/lightbox.vue:284 src/component/lightbox.vue:1009 +#: src/component/lightbox.vue:1010 src/component/photo/edit/details.vue:601 +#: src/component/photo/toolbar.vue:161 src/component/settings/apps.vue:227 +#: src/component/settings/apps.vue:440 src/component/settings/passcode.vue:151 +#: src/component/settings/passcode.vue:459 +#: src/component/settings/passcode.vue:500 +#: src/component/settings/webdav.vue:132 src/component/share/dialog.vue:231 #: src/component/sidebar/info.vue:26 src/component/update.vue:57 -#: src/component/upload/dialog.vue:228 src/locales.js:206 +#: src/component/upload/dialog.vue:230 src/locales.js:206 #: src/page/library/errors.vue:253 msgid "Close" msgstr "Închideți" @@ -710,11 +731,11 @@ msgstr "Închideți" msgid "Codec" msgstr "Codec" -#: src/component/photo/toolbar.vue:369 +#: src/component/photo/toolbar.vue:371 msgid "Color" msgstr "Culoare" -#: src/component/photo/edit/files.vue:483 +#: src/component/photo/edit/files.vue:485 msgid "Color Profile" msgstr "Profil de culoare" @@ -722,7 +743,7 @@ msgstr "Profil de culoare" msgid "Colors" msgstr "Culori" -#: src/page/connect.vue:260 src/page/connect.vue:269 +#: src/page/connect.vue:262 src/page/connect.vue:271 msgid "Compare Editions" msgstr "Comparați edițiile" @@ -735,17 +756,18 @@ msgstr "Rescanare completă" msgid "Confidence" msgstr "Încredere" +#: src/component/location/dialog.vue:212 #: src/component/photo/album/dialog.vue:90 -#: src/component/settings/passcode.vue:261 +#: src/component/settings/passcode.vue:264 msgid "Confirm" msgstr "A confirma" -#: src/component/service/add.vue:20 src/page/settings/services.vue:187 +#: src/component/service/add.vue:20 src/page/settings/services.vue:191 msgid "Connect" msgstr "Conectați-vă" -#: src/page/settings/account.vue:401 src/component/settings/webdav.vue:45 -#: src/page/settings/services.vue:167 +#: src/page/settings/account.vue:406 src/component/settings/webdav.vue:46 +#: src/page/settings/services.vue:170 msgid "Connect via WebDAV" msgstr "Conectare prin WebDAV" @@ -753,22 +775,22 @@ msgstr "Conectare prin WebDAV" msgid "Connected" msgstr "Conectat" -#: src/page/settings/account.vue:640 src/page/settings/account.vue:532 +#: src/page/settings/account.vue:646 src/page/settings/account.vue:538 msgid "Contact Details" msgstr "Detalii de contact" -#: src/page/about/feedback.vue:37 src/page/connect.vue:132 -#: src/page/connect.vue:136 +#: src/page/about/feedback.vue:37 src/page/connect.vue:133 +#: src/page/connect.vue:137 msgid "Contact Us" msgstr "Contactați-ne" #: src/page/albums.vue:433 src/page/labels.vue:237 -#: src/page/people/recognized.vue:306 +#: src/page/people/recognized.vue:310 msgid "Contains %{n} pictures." msgstr "Conține %{n} imagini." #: src/page/albums.vue:427 src/page/labels.vue:231 -#: src/page/people/recognized.vue:300 +#: src/page/people/recognized.vue:304 msgid "Contains one picture." msgstr "Conține o imagine." @@ -776,7 +798,7 @@ msgstr "Conține o imagine." msgid "Content" msgstr "Conținut" -#: src/component/settings/apps.vue:163 +#: src/component/settings/apps.vue:166 msgid "Continue" msgstr "Continua" @@ -784,7 +806,7 @@ msgstr "Continua" msgid "Continue with %{provider}" msgstr "Continuați cu %{provider}" -#: src/options/admin.js:18 src/options/auth.js:9 +#: src/options/admin.js:22 src/options/auth.js:10 msgid "Contributor" msgstr "Colaborator" @@ -792,15 +814,15 @@ msgstr "Colaborator" msgid "Converting" msgstr "Conversia" -#: src/common/util.js:846 +#: src/common/util.js:856 msgid "Copied to clipboard" msgstr "Copiat în clipboard" -#: src/component/settings/apps.vue:250 src/component/settings/passcode.vue:358 +#: src/component/settings/apps.vue:253 src/component/settings/passcode.vue:361 msgid "Copy" msgstr "Copie" -#: src/component/photo/edit/details.vue:516 +#: src/component/photo/edit/details.vue:490 msgid "Copyright" msgstr "Drepturi de autor" @@ -808,8 +830,8 @@ msgstr "Drepturi de autor" msgid "Couldn't find anything." msgstr "Nu sa putut găsi nimic." -#: src/page/settings/account.vue:685 src/component/photo/edit/details.vue:242 -#: src/component/photo/toolbar.vue:203 src/page/settings/account.vue:577 +#: src/page/settings/account.vue:691 src/component/photo/edit/details.vue:268 +#: src/component/photo/toolbar.vue:205 src/page/settings/account.vue:583 msgid "Country" msgstr "Țara" @@ -833,7 +855,7 @@ msgstr "Creați fișiere YAML pentru a salva metadatele albumelor." msgid "Create YAML sidecar files to back up picture metadata." msgstr "Creați fișiere YAML sidecar pentru a salva metadatele imaginilor." -#: src/page/admin/sessions.vue:417 src/component/photo/edit/info.vue:412 +#: src/page/admin/sessions.vue:422 src/component/photo/edit/info.vue:412 msgid "Created" msgstr "Creat" @@ -845,11 +867,11 @@ msgstr "Crearea de miniaturi pentru" msgid "Cubic: Moderate Quality, Good Performance" msgstr "Cubic: Calitate moderată, performanță bună" -#: src/component/settings/password.vue:85 +#: src/component/settings/password.vue:86 msgid "Current Password" msgstr "Parola curentă" -#: src/options/themes.js:919 src/options/themes.js:928 +#: src/options/themes.js:920 src/options/themes.js:929 msgid "Custom" msgstr "Personalizat" @@ -865,11 +887,11 @@ msgstr "Zilnic" msgid "Database Backups" msgstr "Copii de rezervă ale bazei de date" -#: src/page/settings/account.vue:450 src/component/photo/edit/details.vue:110 +#: src/page/settings/account.vue:456 src/component/photo/edit/details.vue:112 msgid "Day" msgstr "Ziua" -#: src/component/settings/passcode.vue:445 +#: src/component/settings/passcode.vue:448 msgid "Deactivate" msgstr "Dezactivați" @@ -877,36 +899,40 @@ msgstr "Dezactivați" msgid "Debug Logs" msgstr "Jurnalele de depanare" -#: src/options/admin.js:31 src/page/admin/sessions.vue:136 -#: src/page/admin/users.vue:176 src/component/photo/edit/info.vue:47 +#: src/options/admin.js:35 src/page/admin/sessions.vue:136 +#: src/page/admin/users.vue:178 src/component/photo/edit/info.vue:47 #: src/component/photo/edit/info.vue:110 src/model/session.js:66 -#: src/model/user.js:246 src/options/auth.js:20 src/options/auth.js:21 -#: src/options/auth.js:39 src/options/auth.js:40 src/options/options.js:196 +#: src/model/user.js:246 src/options/auth.js:21 src/options/auth.js:22 +#: src/options/auth.js:40 src/options/auth.js:41 src/options/options.js:196 #: src/options/options.js:232 src/options/options.js:316 -#: src/options/themes.js:773 +#: src/options/themes.js:774 msgid "Default" msgstr "Implicit" -#: src/component/service/edit.vue:123 +#: src/component/service/edit.vue:124 msgid "Default Folder" msgstr "Dosar implicit" #: src/component/session/remove/dialog.vue:56 #: src/component/user/remove/dialog.vue:56 src/component/album/clipboard.vue:97 -#: src/component/album/delete/dialog.vue:54 -#: src/component/file/delete/dialog.vue:58 src/component/label/clipboard.vue:58 -#: src/component/label/delete/dialog.vue:58 +#: src/component/album/delete/dialog.vue:54 src/component/album/toolbar.vue:137 +#: src/component/file/delete/dialog.vue:59 src/component/label/clipboard.vue:58 +#: src/component/label/delete/dialog.vue:59 #: src/component/photo/clipboard.vue:168 src/component/photo/edit/files.vue:238 -#: src/component/service/remove.vue:60 src/component/share/dialog.vue:170 +#: src/component/service/remove.vue:61 src/component/share/dialog.vue:170 #: src/page/settings/general.vue:457 msgid "Delete" msgstr "Ștergeți" +#: src/component/album/toolbar.vue:133 +msgid "Delete Album" +msgstr "Ștergeți albumul" + #: src/component/photo/toolbar.vue:119 src/page/library/errors.vue:95 msgid "Delete All" msgstr "Ștergeți totul" -#: src/component/photo/toolbar.vue:433 src/page/library/errors.vue:193 +#: src/component/photo/toolbar.vue:435 src/page/library/errors.vue:193 msgid "Delete all?" msgstr "Ștergeți toate?" @@ -914,16 +940,16 @@ msgstr "Ștergeți toate?" msgid "Delete orphaned index entries, sidecar files and thumbnails." msgstr "Ștergeți intrările de index, fișierele sidecar și miniaturi orfane." -#: src/component/album/edit/dialog.vue:107 src/page/albums.vue:411 +#: src/component/album/edit/dialog.vue:108 src/page/albums.vue:411 msgid "Description" msgstr "Descriere" -#: src/component/settings/webdav.vue:115 +#: src/component/settings/webdav.vue:116 msgid "Detailed instructions can be found in our User Guide." msgstr "Instrucțiuni detaliate pot fi găsite în Ghidul utilizatorului." -#: src/component/photo/edit/dialog.vue:156 -#: src/component/photo/edit/dialog.vue:173 +#: src/component/photo/edit/dialog.vue:162 +#: src/component/photo/edit/dialog.vue:181 msgid "Details" msgstr "Detalii" @@ -987,8 +1013,8 @@ msgstr "Dezactivează suportul pentru grafica vectorială." msgid "Disables video transcoding and thumbnail extraction." msgstr "Dezactivează transcodarea video și extragerea miniaturilor." -#: src/app/routes.js:558 src/app/routes.js:565 src/app/routes.js:572 -#: src/app/routes.js:579 +#: src/app/routes.js:566 src/app/routes.js:573 src/app/routes.js:580 +#: src/app/routes.js:587 msgid "Discover" msgstr "Descoperiți" @@ -996,9 +1022,9 @@ msgstr "Descoperiți" msgid "Dismiss" msgstr "Respinge" -#: src/component/user/add/dialog.vue:133 src/component/user/add/dialog.vue:134 -#: src/component/user/edit/dialog.vue:163 -#: src/component/user/edit/dialog.vue:164 src/page/admin/users.vue:72 +#: src/component/user/add/dialog.vue:134 src/component/user/add/dialog.vue:135 +#: src/component/user/edit/dialog.vue:164 +#: src/component/user/edit/dialog.vue:165 src/page/admin/users.vue:74 #: src/page/settings/account.vue:149 src/page/settings/account.vue:151 msgid "Display Name" msgstr "Afișați numele" @@ -1013,12 +1039,12 @@ msgstr "Afișați titlurile imaginilor în rezultatele căutării." #: src/component/photo/view/cards.vue:339 #: src/component/photo/view/cards.vue:521 -#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:174 +#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:176 #: src/options/options.js:309 msgid "Document" msgstr "Document" -#: src/component/navigation.vue:480 +#: src/component/navigation.vue:482 msgid "Documents" msgstr "Documente" @@ -1034,16 +1060,16 @@ msgstr "Nu folosiți ImageMagick pentru a converti imaginile." msgid "Don't use RawTherapee to convert RAW images." msgstr "Nu utilizați RawTherapee pentru a converti fișiere RAW." -#: src/component/settings/apps.vue:238 src/component/share/dialog.vue:29 +#: src/component/settings/apps.vue:241 src/component/share/dialog.vue:29 msgid "Done" msgstr "Realizat" -#: src/component/upload/dialog.vue:135 src/page/library/import.vue:46 +#: src/component/upload/dialog.vue:137 src/page/library/import.vue:46 #: src/page/library/index.vue:52 msgid "Done." msgstr "S-a făcut." -#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:118 +#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:123 #: src/component/file/clipboard.vue:48 src/component/lightbox.vue:1235 #: src/component/people/clipboard.vue:47 src/component/photo/clipboard.vue:116 #: src/component/photo/edit/files.vue:168 src/page/settings/content.vue:331 @@ -1055,7 +1081,7 @@ msgstr "Descărcați" msgid "Download only original media files, without any automatically generated files." msgstr "Descărcați numai fișiere media originale, fără fișiere generate automat." -#: src/component/service/edit.vue:237 +#: src/component/service/edit.vue:238 msgid "Download remote files" msgstr "Descărcarea fișierelor de la distanță" @@ -1063,9 +1089,9 @@ msgstr "Descărcarea fișierelor de la distanță" msgid "Download single files and zip archives." msgstr "Descărcați fișiere individuale și arhive zip." -#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:157 +#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:172 #: src/component/file/clipboard.vue:61 src/component/label/clipboard.vue:86 -#: src/component/lightbox.vue:2021 src/component/people/clipboard.vue:59 +#: src/component/lightbox.vue:2041 src/component/people/clipboard.vue:59 #: src/component/photo/clipboard.vue:220 src/component/photo/edit/files.vue:119 #: src/component/photo/view/cards.vue:169 src/component/photo/view/list.vue:142 #: src/page/library/browse.vue:139 @@ -1080,7 +1106,7 @@ msgstr "Filtru de reducere a scării" msgid "Drag and drop files here" msgstr "Drag and drop fișiere aici" -#: src/page/about/feedback.vue:61 +#: src/page/about/feedback.vue:62 msgid "Due to the high volume of emails we receive, our team may be unable to get back to you immediately." msgstr "Din cauza volumului mare de e-mailuri pe care le primim, este posibil ca echipa noastră să nu vă poată răspunde imediat." @@ -1100,23 +1126,23 @@ msgstr "Previziuni dinamice" msgid "Dynamic Size Limit: %{n}px" msgstr "Limita dimensiunii dinamice: %{n}px" -#: src/page/about/feedback.vue:141 src/page/about/feedback.vue:140 +#: src/page/about/feedback.vue:142 src/page/about/feedback.vue:141 msgid "E-Mail" msgstr "E-mail" -#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:89 +#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:94 #: src/component/lightbox.vue:1136 src/component/lightbox.vue:1137 #: src/component/photo/clipboard.vue:90 src/page/settings/general.vue:407 msgid "Edit" msgstr "Editați" -#: src/component/album/edit/dialog.vue:54 -#: src/component/label/edit/dialog.vue:52 -#: src/component/people/edit/dialog.vue:52 +#: src/component/album/edit/dialog.vue:55 +#: src/component/label/edit/dialog.vue:53 +#: src/component/people/edit/dialog.vue:53 msgid "Edit %{s}" msgstr "Editează %{s}" -#: src/component/user/edit/dialog.vue:61 src/component/service/edit.vue:79 +#: src/component/user/edit/dialog.vue:62 src/component/service/edit.vue:79 msgid "Edit Account" msgstr "Editare cont" @@ -1128,8 +1154,8 @@ msgstr "Editare fotografie" msgid "Edited" msgstr "Editat" -#: src/component/user/add/dialog.vue:151 src/component/user/edit/dialog.vue:213 -#: src/page/settings/account.vue:171 src/page/settings/account.vue:593 +#: src/component/user/add/dialog.vue:152 src/component/user/edit/dialog.vue:214 +#: src/page/settings/account.vue:171 src/page/settings/account.vue:599 msgid "Email" msgstr "Email" @@ -1145,7 +1171,7 @@ msgstr "Activați caracteristici noi care pot fi incomplete sau instabile." msgid "Enables RAW converter presets. May reduce performance." msgstr "Activează presetările convertorului RAW. Poate reduce performanța." -#: src/component/settings/passcode.vue:127 +#: src/component/settings/passcode.vue:130 msgid "Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account." msgstr "Activarea autentificării cu doi factori înseamnă că veți avea nevoie de un cod de verificare generat aleatoriu pentru a vă conecta, așa că, chiar dacă cineva obține acces la parola dvs., nu va putea accesa contul dvs." @@ -1157,7 +1183,7 @@ msgstr "Introduceți data" msgid "Enter dates" msgstr "Introduceți datele" -#: src/component/settings/passcode.vue:213 src/page/auth/login.vue:104 +#: src/component/settings/passcode.vue:216 src/page/auth/login.vue:104 msgid "Enter the code generated by your authenticator app:" msgstr "Introduceți codul generat de aplicația dvs. de autentificare:" @@ -1165,7 +1191,7 @@ msgstr "Introduceți codul generat de aplicația dvs. de autentificare:" msgid "Enter verification code" msgstr "Introduceți codul de verificare" -#: src/component/settings/apps.vue:109 +#: src/component/settings/apps.vue:112 msgid "Enter your password to confirm the action and continue:" msgstr "Introduceți parola pentru a confirma acțiunea și continuați:" @@ -1174,7 +1200,7 @@ msgstr "Introduceți parola pentru a confirma acțiunea și continuați:" msgid "Error" msgstr "Eroare" -#: src/app/routes.js:374 src/component/navigation.vue:1348 +#: src/app/routes.js:382 src/component/navigation.vue:1372 msgid "Errors" msgstr "Erori" @@ -1210,13 +1236,13 @@ msgstr "Extragerea metadatelor cu ExifTool este necesară pentru suportul comple msgid "Experimental Features" msgstr "Caracteristici experimentale" -#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:453 -#: src/component/service/edit.vue:157 src/component/settings/apps.vue:73 -#: src/component/settings/apps.vue:326 src/component/share/dialog.vue:62 +#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:458 +#: src/component/service/edit.vue:158 src/component/settings/apps.vue:73 +#: src/component/settings/apps.vue:329 src/component/share/dialog.vue:62 msgid "Expires" msgstr "Expiră" -#: src/component/photo/edit/details.vue:396 +#: src/component/photo/edit/details.vue:370 msgid "Exposure" msgstr "Expunere" @@ -1224,7 +1250,7 @@ msgstr "Expunere" msgid "Extract still images and generate thumbnails while indexing." msgstr "Extrageți imagini statice și generați miniaturi în timpul indexării." -#: src/component/photo/edit/details.vue:444 +#: src/component/photo/edit/details.vue:418 msgid "F Number" msgstr "Numărul F" @@ -1240,7 +1266,7 @@ msgstr "Fețe" msgid "Failed removing link" msgstr "Nu a reușit să elimine legătura" -#: src/page/connect.vue:106 src/page/connect.vue:110 +#: src/page/connect.vue:107 src/page/connect.vue:111 msgid "Failed to connect account." msgstr "A eșuat conectarea contului." @@ -1248,8 +1274,8 @@ msgstr "A eșuat conectarea contului." msgid "Failed updating link" msgstr "Link de actualizare eșuat" -#: src/component/user/edit/dialog.vue:143 -#: src/component/user/edit/dialog.vue:144 src/page/settings/account.vue:128 +#: src/component/user/edit/dialog.vue:144 +#: src/component/user/edit/dialog.vue:145 src/page/settings/account.vue:128 #: src/page/settings/account.vue:130 msgid "Family Name" msgstr "Nume de familie" @@ -1258,15 +1284,15 @@ msgstr "Nume de familie" msgid "Fast" msgstr "Rapid" -#: src/component/album/edit/dialog.vue:159 -#: src/component/label/edit/dialog.vue:85 -#: src/component/people/edit/dialog.vue:85 +#: src/component/album/edit/dialog.vue:160 +#: src/component/label/edit/dialog.vue:86 +#: src/component/people/edit/dialog.vue:86 #: src/component/photo/edit/info.vue:287 msgid "Favorite" msgstr "Favorit" -#: src/app/routes.js:222 src/component/navigation.vue:893 -#: src/options/options.js:202 src/page/albums.vue:97 +#: src/app/routes.js:230 src/component/navigation.vue:903 +#: src/options/options.js:202 src/page/albums.vue:98 msgid "Favorites" msgstr "Favorite" @@ -1274,7 +1300,7 @@ msgstr "Favorite" msgid "Feature Request" msgstr "Cerere de caracteristici" -#: src/component/navigation.vue:1456 +#: src/component/navigation.vue:1482 msgid "Feedback" msgstr "Părere" @@ -1282,11 +1308,12 @@ msgstr "Părere" msgid "Female" msgstr "Femeie" -#: src/component/photo/edit/info.vue:214 src/model/file.js:290 +#: src/component/photo/edit/info.vue:57 src/component/photo/edit/info.vue:214 +#: src/model/file.js:290 msgid "File" msgstr "Fișier" -#: src/app/routes.js:343 +#: src/app/routes.js:351 msgid "File Browser" msgstr "Browser de fișiere" @@ -1309,8 +1336,8 @@ msgstr "Dimensiunea fișierului" msgid "Filename" msgstr "Nume fisier" -#: src/component/navigation.vue:1930 src/component/photo/edit/dialog.vue:267 -#: src/component/photo/edit/dialog.vue:284 +#: src/component/navigation.vue:1973 src/component/photo/edit/dialog.vue:279 +#: src/component/photo/edit/dialog.vue:298 msgid "Files" msgstr "Fișiere" @@ -1322,26 +1349,26 @@ msgstr "Fișierele cu nume secvențiale, cum ar fi 'IMG_1234 (2)' și 'IMG_1234 msgid "First page" msgstr "Prima pagină" -#: src/component/photo/edit/details.vue:465 +#: src/component/photo/edit/details.vue:439 msgid "Focal Length" msgstr "Lungime focală" -#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:118 -#: src/component/service/edit.vue:189 src/component/service/edit.vue:194 -#: src/component/service/upload.vue:90 src/component/service/upload.vue:96 +#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:119 +#: src/component/service/edit.vue:190 src/component/service/edit.vue:195 +#: src/component/service/upload.vue:91 src/component/service/upload.vue:97 #: src/model/folder.js:199 src/page/library/browse.vue:182 msgid "Folder" msgstr "Dosar" -#: src/page/library/browse.vue:365 +#: src/page/library/browse.vue:367 msgid "Folder contains %{n} files" msgstr "Dosarul conține %{n} fișiere" -#: src/page/library/browse.vue:356 +#: src/page/library/browse.vue:358 msgid "Folder is empty" msgstr "Dosarul este gol" -#: src/app/routes.js:202 src/component/navigation.vue:1225 +#: src/app/routes.js:210 src/component/navigation.vue:1247 #: src/options/options.js:207 msgid "Folders" msgstr "Dosare" @@ -1358,7 +1385,7 @@ msgstr "FPS" msgid "Frames" msgstr "Cadre" -#: src/options/auth.js:54 src/options/auth.js:64 +#: src/options/auth.js:55 src/options/auth.js:65 msgid "Full Access" msgstr "Acces complet" @@ -1370,7 +1397,7 @@ msgstr "Ecran complet" msgid "General" msgstr "General" -#: src/component/settings/apps.vue:364 +#: src/component/settings/apps.vue:367 msgid "Generate" msgstr "Genera" @@ -1390,8 +1417,8 @@ msgstr "Generate" msgid "Get Started" msgstr "Începeți" -#: src/component/user/edit/dialog.vue:120 -#: src/component/user/edit/dialog.vue:121 src/page/settings/account.vue:106 +#: src/component/user/edit/dialog.vue:121 +#: src/component/user/edit/dialog.vue:122 src/page/settings/account.vue:106 #: src/page/settings/account.vue:108 msgid "Given Name" msgstr "Numele dat" @@ -1416,7 +1443,7 @@ msgstr "Verde" msgid "Grey" msgstr "Gri" -#: src/options/admin.js:22 src/options/auth.js:10 +#: src/options/admin.js:26 src/options/auth.js:11 msgid "Guest" msgstr "Oaspete" @@ -1432,15 +1459,15 @@ msgstr "Ajutor" msgid "Help & Support" msgstr "Suport" -#: src/component/navigation.vue:1327 src/component/people/edit/dialog.vue:98 +#: src/component/navigation.vue:1351 src/component/people/edit/dialog.vue:99 msgid "Hidden" msgstr "Ascuns" -#: src/app/routes.js:358 +#: src/app/routes.js:366 msgid "Hidden Files" msgstr "Fișiere ascunse" -#: src/page/people/new.vue:165 src/page/people/recognized.vue:205 +#: src/page/people/new.vue:166 src/page/people/recognized.vue:206 msgid "Hide" msgstr "Ascundeți" @@ -1456,7 +1483,7 @@ msgstr "Mare" msgid "High Dynamic Range (HDR)" msgstr "Gama dinamică înaltă (HDR)" -#: src/page/about/feedback.vue:103 +#: src/page/about/feedback.vue:104 msgid "How can we help?" msgstr "Cum vă putem ajuta?" @@ -1464,11 +1491,11 @@ msgstr "Cum vă putem ajuta?" msgid "Hybrid" msgstr "Hibrid" -#: src/component/settings/passcode.vue:389 +#: src/component/settings/passcode.vue:392 msgid "If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account." msgstr "Dacă pierdeți accesul la aplicația sau dispozitivul dvs. de autentificare, puteți utiliza codul de recuperare pentru a recâștiga accesul la contul dvs." -#: src/component/photo/edit/info.vue:63 src/component/photo/edit/labels.vue:46 +#: src/component/photo/edit/info.vue:65 src/component/photo/edit/labels.vue:46 #: src/component/photo/view/cards.vue:532 src/model/file.js:218 #: src/options/options.js:281 msgid "Image" @@ -1478,7 +1505,7 @@ msgstr "Imagine" msgid "Image Quality" msgstr "Calitatea imaginii" -#: src/page/library.vue:46 src/page/library/import.vue:152 +#: src/page/library.vue:46 src/page/library/import.vue:153 #: src/page/settings/general.vue:357 msgid "Import" msgstr "Import" @@ -1503,8 +1530,8 @@ msgstr "Importăm %{s}…" msgid "Importing files to originals…" msgstr "Importul de fișiere în originale…" -#: src/component/photo/edit/files.vue:515 -#: src/component/photo/edit/files.vue:520 +#: src/component/photo/edit/files.vue:517 +#: src/component/photo/edit/files.vue:522 msgid "in" msgstr "în" @@ -1522,11 +1549,11 @@ msgstr "Includeți fișiere de imagine RAW atunci când descărcați stive și a msgid "Include sidecar files when downloading stacks and archives." msgstr "Includeți fișiere sidecar atunci când descărcați stive și arhive." -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Increase storage size or delete files to continue." msgstr "Creșteți dimensiunea de stocare sau ștergeți fișierele pentru a continua." -#: src/component/navigation.vue:1946 src/page/library.vue:36 +#: src/component/navigation.vue:1990 src/page/library.vue:36 #: src/page/settings/content.vue:34 msgid "Index" msgstr "Index" @@ -1556,11 +1583,11 @@ msgstr "Informații" msgid "Instance ID" msgstr "ID-ul instanței" -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Insufficient storage." msgstr "Depozitare insuficientă." -#: src/component/service/edit.vue:209 +#: src/component/service/edit.vue:210 msgid "Interval" msgstr "Interval" @@ -1581,7 +1608,7 @@ msgstr "Adresă invalidă" msgid "Invalid country" msgstr "Țară invalidă" -#: src/component/photo/edit/details.vue:174 +#: src/component/photo/edit/details.vue:169 msgid "Invalid date" msgstr "Dată invalidă" @@ -1590,7 +1617,7 @@ msgstr "Dată invalidă" msgid "Invalid parameters" msgstr "Parametrii nevalabili" -#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:197 +#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:199 msgid "Invalid photo selected" msgstr "Fotografie invalidă selectată" @@ -1602,8 +1629,8 @@ msgstr "Ora invalidă" msgid "Invalid URL" msgstr "URL invalid" -#: src/component/settings/passcode.vue:314 -#: src/component/settings/passcode.vue:391 +#: src/component/settings/passcode.vue:317 +#: src/component/settings/passcode.vue:394 msgid "It is a one-time use code that will disable 2FA for your account when you use it." msgstr "Este un cod de unică folosință care va dezactiva 2FA pentru contul dvs. atunci când îl utilizați." @@ -1627,7 +1654,7 @@ msgstr "Limita dimensiunii JPEG: %{n}px" msgid "JPEGs and thumbnails are automatically rendered as needed." msgstr "JPEG-urile și miniaturile sunt redate automat, după cum este necesar." -#: src/component/photo/edit/details.vue:581 +#: src/component/photo/edit/details.vue:555 msgid "Keywords" msgstr "Cuvinte cheie" @@ -1636,9 +1663,9 @@ msgstr "Cuvinte cheie" msgid "Label" msgstr "Etichetă" -#: src/app/routes.js:389 src/component/navigation.vue:1177 -#: src/component/photo/edit/dialog.vue:188 -#: src/component/photo/edit/dialog.vue:205 src/options/options.js:206 +#: src/app/routes.js:397 src/component/navigation.vue:1197 +#: src/component/photo/edit/dialog.vue:196 +#: src/component/photo/edit/dialog.vue:215 src/options/options.js:206 #: src/page/settings/general.vue:255 msgid "Labels" msgstr "Etichete" @@ -1655,11 +1682,11 @@ msgstr "Lanczos: Conservarea detaliilor, artefacte minime" msgid "Language" msgstr "Limba" -#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:435 +#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:440 msgid "Last Active" msgstr "Ultimul activ" -#: src/page/admin/users.vue:81 +#: src/page/admin/users.vue:83 msgid "Last Login" msgstr "Ultima autentificare" @@ -1675,42 +1702,41 @@ msgstr "Ultima sincronizare" msgid "Last Used" msgstr "Folosit ultima data" -#: src/component/photo/edit/details.vue:298 #: src/component/photo/edit/info.vue:373 msgid "Latitude" msgstr "Latitudine" -#: src/options/admin.js:43 src/options/auth.js:29 +#: src/options/admin.js:47 src/options/auth.js:30 msgid "LDAP/AD" msgstr "LDAP/AD" -#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:86 -#: src/page/about/about.vue:62 src/page/about/about.vue:132 +#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:87 +#: src/page/about/about.vue:62 src/page/about/about.vue:133 #: src/page/connect.vue:67 src/page/help.vue:36 msgid "Learn more" msgstr "Aflați mai multe" -#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:135 +#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:137 #: src/page/labels.vue:132 msgid "Learn More" msgstr "Aflați mai multe" -#: src/component/navigation.vue:2017 +#: src/component/navigation.vue:2066 msgid "Legal Information" msgstr "Informații juridice" -#: src/component/photo/edit/details.vue:417 +#: src/component/photo/edit/details.vue:391 #: src/component/photo/view/cards.vue:480 msgid "Lens" msgstr "Obiectiv" -#: src/app/routes.js:443 src/app/routes.js:459 src/app/routes.js:475 -#: src/component/navigation.vue:1267 src/page/settings/general.vue:507 +#: src/app/routes.js:451 src/app/routes.js:467 src/app/routes.js:483 +#: src/component/navigation.vue:1290 src/page/settings/general.vue:507 msgid "Library" msgstr "Bibliotecă" #: src/page/connect.vue:45 src/app/routes.js:69 -#: src/component/navigation.vue:1478 src/component/photo/edit/details.vue:559 +#: src/component/navigation.vue:1504 src/component/photo/edit/details.vue:533 #: src/page/about/license.vue:28 msgid "License" msgstr "Licență" @@ -1723,7 +1749,7 @@ msgstr "Ca" msgid "Lime" msgstr "Lămâie verde" -#: src/page/library/browse.vue:369 +#: src/page/library/browse.vue:371 msgid "Limit reached, showing first %{n} files" msgstr "Limita a fost atinsă, afișând primele %{n} fișiere" @@ -1731,7 +1757,7 @@ msgstr "Limita a fost atinsă, afișând primele %{n} fișiere" msgid "Linear: Very Smooth, Best Performance" msgstr "Liniare: Foarte netedă, cea mai bună performanță" -#: src/model/link.js:117 src/options/auth.js:30 src/options/auth.js:31 +#: src/model/link.js:117 src/options/auth.js:31 src/options/auth.js:32 msgid "Link" msgstr "Link" @@ -1749,7 +1775,7 @@ msgstr "Vizualizare listă" msgid "Live" msgstr "Live" -#: src/app/routes.js:236 src/component/navigation.vue:749 +#: src/app/routes.js:244 src/component/navigation.vue:755 msgid "Live Photos" msgstr "Fotografii în direct" @@ -1765,21 +1791,24 @@ msgstr "Încărcare articole..." msgid "Loading..." msgstr "Încărcare..." -#: src/options/admin.js:35 src/options/auth.js:22 src/options/auth.js:27 +#: src/options/admin.js:39 src/options/auth.js:23 src/options/auth.js:28 #: src/options/options.js:38 src/page/settings/general.vue:107 msgid "Local" msgstr "Local" -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Local Time" msgstr "Ora locală" -#: src/page/settings/account.vue:665 src/page/settings/account.vue:667 -#: src/component/album/edit/dialog.vue:92 src/component/photo/edit/info.vue:65 -#: src/component/photo/edit/labels.vue:48 +#: src/page/settings/account.vue:671 src/page/settings/account.vue:673 +#: src/component/album/edit/dialog.vue:93 +#: src/component/photo/edit/details.vue:38 +#: src/component/photo/edit/details.vue:116 +#: src/component/photo/edit/details.vue:210 +#: src/component/photo/edit/info.vue:67 src/component/photo/edit/labels.vue:48 #: src/component/photo/view/cards.vue:555 src/component/photo/view/list.vue:117 -#: src/component/sidebar/info.vue:107 src/page/albums.vue:99 -#: src/page/settings/account.vue:557 src/page/settings/account.vue:559 +#: src/component/sidebar/info.vue:107 src/page/albums.vue:100 +#: src/page/settings/account.vue:563 src/page/settings/account.vue:565 msgid "Location" msgstr "Locație" @@ -1787,20 +1816,19 @@ msgstr "Locație" msgid "Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues." msgstr "Mesajele de jurnal apar aici ori de câte ori PhotoPrism întâlnește fișiere sparte sau există alte probleme potențiale." -#: src/component/navigation.vue:1552 src/component/navigation.vue:1840 +#: src/component/navigation.vue:1579 src/component/navigation.vue:1877 msgid "Login" msgstr "Autentificare" -#: src/component/navigation.vue:1759 +#: src/component/navigation.vue:1791 msgid "Logout" msgstr "Logout" -#: src/component/navigation.vue:1962 src/page/library.vue:59 +#: src/component/navigation.vue:2007 src/page/library.vue:59 #: src/page/settings/general.vue:557 msgid "Logs" msgstr "Jurnale" -#: src/component/photo/edit/details.vue:324 #: src/component/photo/edit/info.vue:379 msgid "Longitude" msgstr "Longitudine" @@ -1813,7 +1841,7 @@ msgstr "Scăzut" msgid "Magenta" msgstr "Magenta" -#: src/component/photo/edit/files.vue:489 +#: src/component/photo/edit/files.vue:491 msgid "Main Color" msgstr "Culoare principală" @@ -1821,12 +1849,16 @@ msgstr "Culoare principală" msgid "Male" msgstr "Bărbat" -#: src/page/connect.vue:164 src/page/connect.vue:246 -#: src/page/about/about.vue:171 src/page/connect.vue:168 -#: src/page/connect.vue:255 +#: src/page/connect.vue:165 src/page/connect.vue:248 +#: src/page/about/about.vue:173 src/page/connect.vue:169 +#: src/page/connect.vue:257 msgid "Manage Account" msgstr "Gestionați contul" +#: src/options/admin.js:10 src/options/auth.js:7 +msgid "Manager" +msgstr "Manager" + #: src/component/photo/edit/info.vue:49 src/component/photo/edit/labels.vue:38 msgid "Manual" msgstr "Manual" @@ -1843,11 +1875,11 @@ msgstr "Hărți" msgid "Marker" msgstr "Marker" -#: src/component/user/add/dialog.vue:69 +#: src/component/user/add/dialog.vue:70 msgid "Maximum number of accounts has been reached." msgstr "Numărul maxim de conturi a fost atins." -#: src/app/routes.js:229 src/component/navigation.vue:688 +#: src/app/routes.js:237 src/component/navigation.vue:693 #: src/options/options.js:199 msgid "Media" msgstr "Media" @@ -1864,7 +1896,7 @@ msgstr "Calitate de membru" msgid "Merge %{a} with %{b}?" msgstr "Combină %{a} cu %{b}?" -#: src/page/about/feedback.vue:102 +#: src/page/about/feedback.vue:103 msgid "Message" msgstr "Mesaj" @@ -1876,7 +1908,7 @@ msgstr "Mesaj trimis" msgid "Metadata" msgstr "Metadate" -#: src/options/auth.js:56 src/options/auth.js:72 +#: src/options/auth.js:57 src/options/auth.js:73 msgid "Metrics" msgstr "Metrici" @@ -1884,7 +1916,7 @@ msgstr "Metrici" msgid "Minimize" msgstr "Minimizați" -#: src/component/photo/edit/files.vue:509 src/component/photo/edit/info.vue:367 +#: src/component/photo/edit/files.vue:511 src/component/photo/edit/info.vue:367 msgid "Missing" msgstr "Lipsesc" @@ -1892,17 +1924,17 @@ msgstr "Lipsesc" msgid "Missing or invalid configuration" msgstr "Configurație lipsă sau invalidă" -#: src/app/routes.js:163 src/component/navigation.vue:1129 +#: src/app/routes.js:171 src/component/navigation.vue:1147 #: src/options/options.js:205 src/page/settings/general.vue:230 msgid "Moments" msgstr "Momente" -#: src/component/navigation.vue:383 +#: src/component/navigation.vue:385 msgid "Monochrome" msgstr "Monocromie" -#: src/page/settings/account.vue:475 src/component/photo/edit/details.vue:137 -#: src/component/photo/toolbar.vue:342 +#: src/page/settings/account.vue:481 src/component/photo/edit/details.vue:139 +#: src/component/photo/toolbar.vue:344 msgid "Month" msgstr "Luna" @@ -1922,7 +1954,7 @@ msgstr "Cele mai relevante" msgid "Move Files" msgstr "Muta fișierele" -#: src/component/settings/password.vue:107 +#: src/component/settings/password.vue:108 msgid "Must have at least %{n} characters." msgstr "Trebuie să aibă cel puțin %{n} caractere." @@ -1930,20 +1962,20 @@ msgstr "Trebuie să aibă cel puțin %{n} caractere." msgid "Mute" msgstr "Mută" -#: src/page/about/feedback.vue:121 src/page/about/feedback.vue:122 -#: src/component/album/edit/dialog.vue:77 -#: src/component/label/edit/dialog.vue:71 -#: src/component/people/edit/dialog.vue:71 -#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:57 +#: src/page/about/feedback.vue:122 src/page/about/feedback.vue:123 +#: src/component/album/edit/dialog.vue:78 +#: src/component/label/edit/dialog.vue:72 +#: src/component/people/edit/dialog.vue:72 +#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:59 #: src/component/photo/edit/info.vue:125 src/component/photo/edit/people.vue:36 -#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:310 -#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:286 -#: src/page/albums.vue:98 src/page/auth/login.vue:168 +#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:311 +#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:289 +#: src/page/albums.vue:99 src/page/auth/login.vue:168 #: src/page/people/new.vue:68 src/page/settings/services.vue:37 msgid "Name" msgstr "Nume" -#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:60 +#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:65 #: src/component/label/edit/dialog.vue:19 #: src/component/people/edit/dialog.vue:19 #: src/component/photo/edit/labels.vue:30 @@ -1953,7 +1985,7 @@ msgstr "Nume" msgid "Name too long" msgstr "Nume prea lung" -#: src/page/admin/users.vue:204 src/options/options.js:361 +#: src/page/admin/users.vue:206 src/options/options.js:361 #: src/options/options.js:371 src/page/settings/services.vue:75 msgid "Never" msgstr "Niciodată" @@ -1962,13 +1994,13 @@ msgstr "Niciodată" msgid "New" msgstr "Nou" -#: src/component/settings/password.vue:106 +#: src/component/settings/password.vue:107 msgid "New Password" msgstr "Parolă nouă" #: src/component/album/edit/dialog.vue:24 src/component/photo/toolbar.vue:114 #: src/component/photo/toolbar.vue:126 src/component/photo/toolbar.vue:136 -#: src/page/albums.vue:100 +#: src/page/albums.vue:101 msgid "Newest First" msgstr "Cel mai nou Mai întâi" @@ -1984,15 +2016,15 @@ msgstr "Pagina următoare" msgid "Next visual" msgstr "Următorul vizual" -#: src/component/people/merge/dialog.vue:47 -#: src/component/photo/archive/dialog.vue:47 +#: src/component/people/merge/dialog.vue:48 +#: src/component/photo/archive/dialog.vue:48 #: src/component/photo/edit/info.vue:281 src/component/photo/edit/info.vue:297 #: src/component/photo/edit/info.vue:313 src/component/photo/edit/info.vue:329 #: src/component/photo/edit/info.vue:344 msgid "No" msgstr "Nu" -#: src/page/albums.vue:607 src/page/albums.vue:282 +#: src/page/albums.vue:612 src/page/albums.vue:282 msgid "No albums found" msgstr "Nu s-au găsit albume" @@ -2000,7 +2032,7 @@ msgstr "Nu s-au găsit albume" msgid "No data available" msgstr "Nu există date disponibile" -#: src/page/labels.vue:523 src/page/labels.vue:155 +#: src/page/labels.vue:528 src/page/labels.vue:155 msgid "No labels found" msgstr "Nu s-au găsit etichete" @@ -2013,15 +2045,15 @@ msgid "No more" msgstr "Nu mai mult" #: src/component/photo/edit/people.vue:34 src/page/people/new.vue:346 -#: src/page/people/new.vue:443 src/page/people/new.vue:103 -#: src/page/people/recognized.vue:531 src/page/people/recognized.vue:146 +#: src/page/people/new.vue:446 src/page/people/new.vue:103 +#: src/page/people/recognized.vue:536 src/page/people/recognized.vue:146 msgid "No people found" msgstr "Nu s-au găsit persoane" #: src/component/lightbox.vue:365 src/component/photo/view/cards.vue:144 #: src/component/photo/view/list.vue:82 src/component/photo/view/mosaic.vue:68 -#: src/page/album/photos.vue:488 src/page/library/browse.vue:123 -#: src/page/photos.vue:626 src/page/places.vue:624 src/page/places.vue:730 +#: src/page/album/photos.vue:499 src/page/library/browse.vue:123 +#: src/page/photos.vue:636 src/page/places.vue:624 src/page/places.vue:730 msgid "No pictures found" msgstr "Nu s-au găsit imagini" @@ -2030,7 +2062,11 @@ msgstr "Nu s-au găsit imagini" msgid "No recently edited pictures" msgstr "Nu există imagini editate recent" -#: src/component/navigation.vue:1655 +#: src/component/location/dialog.vue:166 +msgid "No results" +msgstr "Niciun rezultat" + +#: src/component/navigation.vue:1686 msgid "No server connection" msgstr "Nu există conexiune la server" @@ -2042,7 +2078,7 @@ msgstr "Nu există servere configurate." msgid "No services configured." msgstr "Nu sunt configurate servicii." -#: src/component/confirm/sponsor.vue:72 +#: src/component/confirm/sponsor.vue:73 msgid "No thanks" msgstr "Nu, mulțumesc" @@ -2052,17 +2088,17 @@ msgstr "Nu există avertismente sau erori care să conțină acest cuvânt cheie #: src/component/photo/view/cards.vue:154 src/component/photo/view/list.vue:59 #: src/component/photo/view/list.vue:92 src/component/photo/view/mosaic.vue:78 -#: src/component/upload/dialog.vue:208 +#: src/component/upload/dialog.vue:210 msgid "Non-photographic and low-quality images require a review before they appear in search results." msgstr "Imaginile nefotografice și de slabă calitate necesită o revizuire înainte de a apărea în rezultatele căutării." -#: src/options/admin.js:47 src/options/auth.js:32 src/options/options.js:212 +#: src/options/admin.js:51 src/options/auth.js:33 src/options/options.js:212 #: src/options/options.js:328 msgid "None" msgstr "Nici unul" -#: src/common/util.js:853 src/component/lightbox.vue:633 -#: src/component/service/upload.vue:75 src/component/service/upload.vue:87 +#: src/component/lightbox.vue:633 src/component/service/upload.vue:75 +#: src/component/service/upload.vue:87 msgid "Not allowed" msgstr "Nu este permis" @@ -2074,8 +2110,7 @@ msgstr "Nu a fost găsit" msgid "Not sorted." msgstr "Nu sortate." -#: src/common/util.js:858 src/component/lightbox.vue:627 -#: src/component/lightbox.vue:744 +#: src/component/lightbox.vue:627 src/component/lightbox.vue:744 msgid "Not supported" msgstr "Nu este acceptat" @@ -2083,15 +2118,15 @@ msgstr "Nu este acceptat" msgid "Note you may manually manage your originals folder and importing is optional." msgstr "Rețineți că vă puteți gestiona manual dosarul de originale, iar importul este opțional." -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "Note:" msgstr "Notă:" -#: src/component/service/add.vue:120 +#: src/component/service/add.vue:121 msgid "Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload." msgstr "Notă: Numai serverele WebDAV, cum ar fi Nextcloud sau PhotoPrism, pot fi configurate ca serviciu la distanță pentru backup și încărcare de fișiere." -#: src/component/photo/edit/details.vue:603 +#: src/component/photo/edit/details.vue:577 msgid "Notes" msgstr "Note" @@ -2099,8 +2134,8 @@ msgstr "Note" msgid "Nothing to see here yet." msgstr "Încă nu este nimic de văzut aici." -#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:115 -#: src/component/settings/apps.vue:390 +#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:125 +#: src/component/settings/apps.vue:393 msgid "Nothing was found." msgstr "Nu s-a găsit nimic." @@ -2108,7 +2143,7 @@ msgstr "Nu s-a găsit nimic." msgid "Offline" msgstr "Deconectat" -#: src/options/admin.js:39 src/options/auth.js:28 +#: src/options/admin.js:43 src/options/auth.js:29 msgid "OIDC" msgstr "OIDC" @@ -2118,11 +2153,11 @@ msgstr "OK" #: src/component/album/edit/dialog.vue:25 src/component/photo/toolbar.vue:115 #: src/component/photo/toolbar.vue:127 src/component/photo/toolbar.vue:137 -#: src/page/albums.vue:101 +#: src/page/albums.vue:102 msgid "Oldest First" msgstr "Cel mai vechi Mai întâi" -#: src/component/settings/webdav.vue:77 +#: src/component/settings/webdav.vue:78 msgid "On Windows, enter the following resource in the connection dialog:" msgstr "Pe Windows, introduceți următoarea resursă în fereastra de dialog de conectare:" @@ -2134,11 +2169,11 @@ msgstr "Generarea la cerere a miniaturilor poate cauza o utilizare ridicată a p msgid "Once a week" msgstr "O dată pe săptămână" -#: src/page/albums.vue:609 +#: src/page/albums.vue:614 msgid "One album found" msgstr "Un album găsit" -#: src/page/library/browse.vue:358 +#: src/page/library/browse.vue:360 msgid "One file found" msgstr "Un fișier găsit" @@ -2146,24 +2181,24 @@ msgstr "Un fișier găsit" msgid "One file uploaded" msgstr "Un fișier încărcat" -#: src/page/library/browse.vue:360 +#: src/page/library/browse.vue:362 msgid "One folder found" msgstr "Un dosar găsit" -#: src/page/labels.vue:525 +#: src/page/labels.vue:530 msgid "One label found" msgstr "O etichetă găsită" -#: src/page/people/new.vue:348 src/page/people/new.vue:445 -#: src/page/people/recognized.vue:533 +#: src/page/people/new.vue:348 src/page/people/new.vue:448 +#: src/page/people/recognized.vue:538 msgid "One person found" msgstr "O persoană găsită" -#: src/page/album/photos.vue:490 src/page/photos.vue:628 +#: src/page/album/photos.vue:501 src/page/photos.vue:638 msgid "One picture found" msgstr "O imagine găsită" -#: src/component/settings/passcode.vue:478 +#: src/component/settings/passcode.vue:481 msgid "Only locally managed accounts can be set up for authentication with 2FA." msgstr "Numai conturile gestionate local pot fi configurate pentru autentificare cu 2FA." @@ -2171,7 +2206,7 @@ msgstr "Numai conturile gestionate local pot fi configurate pentru autentificare msgid "Open" msgstr "Deschideți" -#: src/component/service/add.vue:86 src/component/service/add.vue:107 +#: src/component/service/add.vue:87 src/component/service/add.vue:108 msgid "optional" msgstr "opțional" @@ -2183,7 +2218,7 @@ msgstr "sau" msgid "Orange" msgstr "Portocaliu" -#: src/page/settings/account.vue:571 src/page/settings/account.vue:573 +#: src/page/settings/account.vue:577 src/page/settings/account.vue:579 msgid "Organization" msgstr "Organizația" @@ -2199,7 +2234,7 @@ msgstr "Numele originale ale fișierelor vor fi stocate și indexate." msgid "Original Name" msgstr "Denumire originală" -#: src/component/navigation.vue:1304 src/model/file.js:196 +#: src/component/navigation.vue:1328 src/model/file.js:196 #: src/options/options.js:413 src/page/library/browse.vue:65 #: src/page/settings/content.vue:356 src/page/settings/general.vue:532 msgid "Originals" @@ -2210,7 +2245,7 @@ msgstr "Originale" msgid "Other" msgstr "Altele" -#: src/page/about/about.vue:77 src/page/about/about.vue:83 +#: src/page/about/about.vue:78 src/page/about/about.vue:84 msgid "Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible." msgstr "Viziunea noastră este să oferim cea mai prietenoasă soluție pentru utilizator și confidențialitate pentru a vă păstra fotografiile organizate și accesibile." @@ -2222,7 +2257,7 @@ msgstr "În aer liber" msgid "Page {0}, Current page" msgstr "Pagina {0}, Pagina curentă" -#: src/component/photo/edit/files.vue:352 src/model/photo.js:859 +#: src/component/photo/edit/files.vue:352 src/model/photo.js:896 msgid "Pages" msgstr "Pagini" @@ -2234,15 +2269,15 @@ msgstr "Paginare Navigare" msgid "Panorama" msgstr "Panoramă" -#: src/component/navigation.vue:402 +#: src/component/navigation.vue:404 msgid "Panoramas" msgstr "Panorame" -#: src/component/user/add/dialog.vue:114 src/component/user/add/dialog.vue:115 -#: src/component/service/add.vue:106 src/component/service/edit.vue:352 -#: src/component/settings/apps.vue:121 src/component/settings/passcode.vue:106 -#: src/component/settings/passcode.vue:413 src/component/share/dialog.vue:27 -#: src/options/auth.js:91 src/page/auth/login.vue:196 +#: src/component/user/add/dialog.vue:115 src/component/user/add/dialog.vue:116 +#: src/component/service/add.vue:107 src/component/service/edit.vue:353 +#: src/component/settings/apps.vue:124 src/component/settings/passcode.vue:109 +#: src/component/settings/passcode.vue:416 src/component/share/dialog.vue:27 +#: src/options/auth.js:92 src/page/auth/login.vue:196 msgid "Password" msgstr "Parola" @@ -2250,9 +2285,9 @@ msgstr "Parola" msgid "Password changed" msgstr "Parola a fost schimbată" -#: src/app/routes.js:404 src/app/routes.js:428 src/component/navigation.vue:845 -#: src/component/navigation.vue:1898 src/component/photo/edit/dialog.vue:228 -#: src/component/photo/edit/dialog.vue:245 src/options/options.js:201 +#: src/app/routes.js:412 src/app/routes.js:436 src/component/navigation.vue:853 +#: src/component/navigation.vue:1939 src/component/photo/edit/dialog.vue:238 +#: src/component/photo/edit/dialog.vue:257 src/options/options.js:201 #: src/page/settings/general.vue:180 msgid "People" msgstr "Oameni" @@ -2273,23 +2308,23 @@ msgstr "Eliminați permanent fișierele pentru a elibera spațiu de stocare." msgid "Person" msgstr "Persoană" -#: src/options/auth.js:42 +#: src/options/auth.js:43 msgid "Personal" msgstr "Personal" -#: src/model/photo.js:1273 +#: src/model/photo.js:1310 msgid "Photo" msgstr "Fotografie" -#: src/page/about/about.vue:156 +#: src/page/about/about.vue:158 msgid "PhotoPrism is 100% self-funded and independent." msgstr "PhotoPrism este 100% autofinanțat și independent." -#: src/page/about/about.vue:92 +#: src/page/about/about.vue:93 msgid "PhotoPrism+ Membership" msgstr "Abonament PhotoPrism+" -#: src/app/routes.js:156 +#: src/app/routes.js:164 msgid "Photos" msgstr "Fotografii" @@ -2310,27 +2345,27 @@ msgstr "Locul" msgid "Place & Time" msgstr "Locul și Ora" -#: src/app/routes.js:303 src/app/routes.js:309 src/app/routes.js:315 -#: src/app/routes.js:330 src/component/navigation.vue:986 -#: src/component/navigation.vue:1914 src/options/options.js:203 +#: src/app/routes.js:311 src/app/routes.js:317 src/app/routes.js:323 +#: src/app/routes.js:338 src/component/navigation.vue:999 +#: src/component/navigation.vue:1956 src/options/options.js:203 #: src/page/places.vue:51 src/page/settings/general.vue:609 #: src/page/settings/general.vue:638 msgid "Places" msgstr "Locuri" -#: src/component/settings/password.vue:129 +#: src/component/settings/password.vue:130 msgid "Please confirm your new password." msgstr "Vă rugăm să confirmați noua parolă." -#: src/component/settings/apps.vue:185 +#: src/component/settings/apps.vue:188 msgid "Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:" msgstr "Vă rugăm să copiați următoarea parolă a aplicației generată aleatoriu și să o păstrați într-un loc sigur, deoarece nu o veți putea vedea din nou:" -#: src/component/upload/dialog.vue:203 +#: src/component/upload/dialog.vue:205 msgid "Please do not upload any private, unlawful or offensive pictures." msgstr "Vă rugăm să nu încărcați imagini private, ilegale sau ofensatoare." -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Please don't upload photos containing offensive content." msgstr "Vă rugăm să nu încărcați fotografii cu conținut ofensator." @@ -2338,11 +2373,11 @@ msgstr "Vă rugăm să nu încărcați fotografii cu conținut ofensator." msgid "Please enter OTP character {0}" msgstr "Vă rugăm să introduceți caracterul OTP {0}" -#: src/component/settings/password.vue:66 +#: src/component/settings/password.vue:67 msgid "Please note that changing your password will log you out on other devices and browsers." msgstr "Vă rugăm să rețineți că schimbarea parolei vă va deconecta de pe alte dispozitive și browsere." -#: src/page/connect.vue:148 src/page/connect.vue:152 +#: src/page/connect.vue:149 src/page/connect.vue:153 msgid "Please restart your instance for the changes to take effect." msgstr "Vă rugăm să reporniți instanța pentru ca modificările să intre în vigoare." @@ -2362,11 +2397,11 @@ msgstr "Limita de dimensiune PNG: %{n}px" msgid "Portrait" msgstr "Portret" -#: src/component/service/edit.vue:273 +#: src/component/service/edit.vue:274 msgid "Preserve filenames" msgstr "Păstrați numele fișierelor" -#: src/component/upload/dialog.vue:162 +#: src/component/upload/dialog.vue:164 msgid "Press enter to create a new album." msgstr "Apăsați enter pentru a crea un album nou." @@ -2403,8 +2438,8 @@ msgstr "Vizual anterior" msgid "Primary" msgstr "Primare" -#: src/app/routes.js:271 src/component/album/edit/dialog.vue:176 -#: src/component/navigation.vue:531 src/component/photo/edit/info.vue:303 +#: src/app/routes.js:279 src/component/album/edit/dialog.vue:177 +#: src/component/navigation.vue:533 src/component/photo/edit/info.vue:303 #: src/page/settings/general.vue:280 msgid "Private" msgstr "Privat" @@ -2429,7 +2464,7 @@ msgstr "Filtru de calitate" msgid "Quality Score" msgstr "Scorul de calitate" -#: src/page/admin/users.vue:169 +#: src/page/admin/users.vue:171 msgid "r" msgstr "r" @@ -2460,7 +2495,7 @@ msgstr "Mod doar pentru citire" #: src/component/album/edit/dialog.vue:26 src/component/photo/toolbar.vue:116 #: src/component/photo/toolbar.vue:128 src/component/photo/toolbar.vue:138 -#: src/page/albums.vue:102 +#: src/page/albums.vue:103 msgid "Recently Added" msgstr "Adăugate recent" @@ -2468,7 +2503,7 @@ msgstr "Adăugate recent" msgid "Recently Archived" msgstr "Arhivate recent" -#: src/component/photo/toolbar.vue:139 src/page/albums.vue:103 +#: src/component/photo/toolbar.vue:139 src/page/albums.vue:104 msgid "Recently Edited" msgstr "Editate recent" @@ -2493,24 +2528,24 @@ msgstr "Cod de recuperare" msgid "Red" msgstr "Roșu" -#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:126 -#: src/component/album/toolbar.vue:79 src/component/photo/toolbar.vue:169 -#: src/page/albums.vue:173 src/page/labels.vue:112 +#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:128 +#: src/component/album/toolbar.vue:84 src/component/photo/toolbar.vue:169 +#: src/page/albums.vue:175 src/page/labels.vue:112 #: src/page/library/browse.vue:90 src/page/library/errors.vue:81 #: src/page/people/new.vue:54 src/page/people/recognized.vue:88 msgid "Refresh" msgstr "Reîmprospătare" -#: src/app/routes.js:337 src/component/navigation.vue:943 -#: src/component/navigation.vue:1026 +#: src/app/routes.js:345 src/component/navigation.vue:955 +#: src/component/navigation.vue:1040 msgid "Regions" msgstr "Regiuni" -#: src/page/connect.vue:275 src/page/connect.vue:284 +#: src/page/connect.vue:277 src/page/connect.vue:286 msgid "Register" msgstr "Înregistrare" -#: src/component/navigation.vue:1773 src/component/update.vue:68 +#: src/component/navigation.vue:1806 src/component/update.vue:68 msgid "Reload" msgstr "Reîncărcare" @@ -2555,34 +2590,34 @@ msgstr "Cereți ca imaginile non-fotografice și de calitate scăzută să fie r msgid "Resolution" msgstr "Rezoluție" -#: src/page/connect.vue:179 src/page/connect.vue:183 +#: src/page/connect.vue:180 src/page/connect.vue:184 #: src/page/settings/advanced.vue:782 msgid "Restart" msgstr "Reporniți" -#: src/component/user/edit/dialog.vue:485 src/component/lightbox.vue:1221 +#: src/component/user/edit/dialog.vue:488 src/component/lightbox.vue:1221 #: src/component/photo/clipboard.vue:77 msgid "Restore" msgstr "Restaurați" -#: src/component/lightbox.vue:2000 +#: src/component/lightbox.vue:2020 msgid "Restored" msgstr "Restaurat" -#: src/component/service/edit.vue:428 +#: src/component/service/edit.vue:429 msgid "Retry Limit" msgstr "Limita de reintroducere" -#: src/component/settings/password.vue:128 +#: src/component/settings/password.vue:129 msgid "Retype Password" msgstr "Repeta parola" -#: src/app/routes.js:264 src/component/navigation.vue:505 +#: src/app/routes.js:272 src/component/navigation.vue:507 msgid "Review" msgstr "Revizuire" -#: src/component/user/add/dialog.vue:171 src/component/user/edit/dialog.vue:284 -#: src/page/admin/sessions.vue:262 src/page/admin/users.vue:73 +#: src/component/user/add/dialog.vue:172 src/component/user/edit/dialog.vue:285 +#: src/page/admin/sessions.vue:263 src/page/admin/users.vue:75 msgid "Role" msgstr "Rol" @@ -2594,11 +2629,11 @@ msgstr "Rânduri pe pagină:" msgid "Satellite" msgstr "Satelit" -#: src/component/user/edit/dialog.vue:485 -#: src/component/album/edit/dialog.vue:211 -#: src/component/label/edit/dialog.vue:119 -#: src/component/people/edit/dialog.vue:132 src/component/service/edit.vue:466 -#: src/component/settings/password.vue:172 src/component/share/dialog.vue:181 +#: src/component/user/edit/dialog.vue:488 +#: src/component/album/edit/dialog.vue:212 +#: src/component/label/edit/dialog.vue:120 +#: src/component/people/edit/dialog.vue:133 src/component/service/edit.vue:467 +#: src/component/settings/password.vue:173 src/component/share/dialog.vue:181 msgid "Save" msgstr "Salvați" @@ -2606,23 +2641,23 @@ msgstr "Salvați" msgid "Scan" msgstr "Scanare" -#: src/component/settings/passcode.vue:179 +#: src/component/settings/passcode.vue:182 msgid "Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:" msgstr "Scanați codul QR cu aplicația dvs. de autentificare sau utilizați cheia de configurare afișată mai jos și apoi introduceți codul de verificare generat:" -#: src/component/navigation.vue:461 +#: src/component/navigation.vue:463 msgid "Scans" msgstr "Scanări" -#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:377 -#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:310 +#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:381 +#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:313 msgid "Scope" msgstr "Domeniul de aplicare" -#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:62 -#: src/component/navigation.vue:342 src/component/navigation.vue:1866 -#: src/component/photo/toolbar.vue:57 src/options/options.js:197 -#: src/page/albums.vue:100 src/page/labels.vue:77 +#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:69 +#: src/component/location/dialog.vue:133 src/component/navigation.vue:343 +#: src/component/navigation.vue:1905 src/component/photo/toolbar.vue:57 +#: src/options/options.js:197 src/page/albums.vue:100 src/page/labels.vue:77 #: src/page/library/errors.vue:76 src/page/people/recognized.vue:66 #: src/page/places.vue:79 src/page/settings/content.vue:235 msgid "Search" @@ -2660,11 +2695,11 @@ msgstr "Selectați data" msgid "Select dates" msgstr "Selectați datele" -#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:154 +#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:156 msgid "Select or create an album" msgstr "Selectați sau creați un album" -#: src/component/upload/dialog.vue:138 +#: src/component/upload/dialog.vue:140 msgid "Select the files to upload…" msgstr "Selectați fișierele pentru încărcare…" @@ -2692,7 +2727,7 @@ msgstr "Selecție restabilită" msgid "Sequential Name" msgstr "Denumire secvențială" -#: src/component/service/add.vue:67 src/component/service/edit.vue:322 +#: src/component/service/add.vue:68 src/component/service/edit.vue:323 #: src/component/share/dialog.vue:25 msgid "Service URL" msgstr "URL de serviciu" @@ -2701,7 +2736,7 @@ msgstr "URL de serviciu" msgid "Services" msgstr "Servicii" -#: src/model/session.js:107 src/options/auth.js:41 src/options/auth.js:90 +#: src/model/session.js:107 src/options/auth.js:42 src/options/auth.js:91 msgid "Session" msgstr "Sesiunea" @@ -2709,7 +2744,7 @@ msgstr "Sesiunea" msgid "Session ID" msgstr "ID-ul sesiunii" -#: src/page/admin.vue:45 +#: src/page/admin.vue:44 msgid "Sessions" msgstr "Sesiuni" @@ -2717,22 +2752,22 @@ msgstr "Sesiuni" msgid "Set as Album Cover" msgstr "Setați ca copertă de album" -#: src/app/routes.js:101 src/app/routes.js:492 src/app/routes.js:504 -#: src/app/routes.js:521 src/app/routes.js:534 src/app/routes.js:547 -#: src/component/navigation.vue:1394 src/component/navigation.vue:1806 +#: src/app/routes.js:101 src/app/routes.js:500 src/app/routes.js:512 +#: src/app/routes.js:529 src/app/routes.js:542 src/app/routes.js:555 +#: src/component/navigation.vue:1419 src/component/navigation.vue:1841 msgid "Settings" msgstr "Setări" #: src/page/settings/account.vue:115 src/page/settings/account.vue:144 -#: src/component/settings/passcode.vue:147 +#: src/component/settings/passcode.vue:151 msgid "Settings saved" msgstr "Setări salvate" -#: src/component/service/upload.vue:131 src/component/settings/passcode.vue:160 +#: src/component/service/upload.vue:132 src/component/settings/passcode.vue:163 msgid "Setup" msgstr "Configurare" -#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:98 +#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:103 #: src/component/photo/clipboard.vue:51 src/page/settings/general.vue:382 msgid "Share" msgstr "Distribuie" @@ -2749,7 +2784,7 @@ msgstr "Partajați-vă fotografiile cu alte aplicații și servicii." msgid "Show" msgstr "Arată" -#: src/page/people/new.vue:116 src/page/people/new.vue:233 +#: src/page/people/new.vue:116 src/page/people/new.vue:235 msgid "Show all new faces" msgstr "Afișați toate fețele noi" @@ -2794,7 +2829,7 @@ msgid "Similar" msgstr "Similar" #: src/component/photo/edit/files.vue:51 src/component/photo/edit/files.vue:341 -#: src/component/service/edit.vue:139 src/component/sidebar/info.vue:96 +#: src/component/service/edit.vue:140 src/component/sidebar/info.vue:96 msgid "Size" msgstr "Dimensiune" @@ -2822,7 +2857,7 @@ msgstr "Ceva nu a mers bine, încercați din nou" msgid "Sort by" msgstr "Sortare după" -#: src/component/album/edit/dialog.vue:142 src/component/photo/toolbar.vue:288 +#: src/component/album/edit/dialog.vue:143 src/component/photo/toolbar.vue:290 #: src/page/albums.vue:214 msgid "Sort Order" msgstr "Ordinea de sortare" @@ -2857,7 +2892,7 @@ msgstr "Stivuiți fotografiile realizate exact în același moment și în aceea msgid "Stackable" msgstr "Stivuibil" -#: src/component/navigation.vue:421 src/page/settings/content.vue:136 +#: src/component/navigation.vue:423 src/page/settings/content.vue:136 msgid "Stacks" msgstr "Stive" @@ -2885,16 +2920,16 @@ msgstr "Spațiu de stocare" msgid "Streets" msgstr "Străzi" -#: src/component/photo/edit/details.vue:494 +#: src/component/photo/edit/details.vue:468 #: src/component/photo/edit/labels.vue:44 msgid "Subject" msgstr "Subiect" -#: src/page/about/feedback.vue:162 src/page/about/feedback.vue:163 +#: src/page/about/feedback.vue:163 src/page/about/feedback.vue:164 msgid "Submit" msgstr "Trimite" -#: src/component/settings/passcode.vue:132 +#: src/component/settings/passcode.vue:136 msgid "Successfully activated" msgstr "Activat cu succes" @@ -2903,23 +2938,23 @@ msgid "Successfully Connected" msgstr "Conectat cu succes" #: src/component/session/remove/dialog.vue:32 -#: src/component/settings/apps.vue:218 +#: src/component/settings/apps.vue:222 msgid "Successfully deleted" msgstr "Eliminat cu succes" -#: src/component/settings/passcode.vue:107 +#: src/component/settings/passcode.vue:108 msgid "Successfully verified" msgstr "Verificat cu succes" -#: src/component/user/edit/dialog.vue:398 src/page/admin/users.vue:163 +#: src/component/user/edit/dialog.vue:399 src/page/admin/users.vue:165 msgid "Super Admin" msgstr "Super Admin" -#: src/component/service/add.vue:122 +#: src/component/service/add.vue:123 msgid "Support for additional services, like Google Drive, will be added over time." msgstr "Suportul pentru servicii suplimentare, cum ar fi Google Drive, va fi adăugat în timp." -#: src/component/confirm/sponsor.vue:37 src/component/navigation.vue:1629 +#: src/component/confirm/sponsor.vue:38 src/component/navigation.vue:1660 msgid "Support Our Mission" msgstr "Susține misiunea noastră" @@ -2927,7 +2962,7 @@ msgstr "Susține misiunea noastră" msgid "Sync" msgstr "Sincronizare" -#: src/component/service/edit.vue:289 +#: src/component/service/edit.vue:290 msgid "Sync raw and video files" msgstr "Sincronizarea fișierelor raw și video" @@ -2953,23 +2988,23 @@ msgstr "Teren" msgid "Text" msgstr "Text" -#: src/component/photo/edit/details.vue:32 src/page/people/new.vue:71 +#: src/component/photo/edit/details.vue:40 src/page/people/new.vue:71 msgid "Text too long" msgstr "Text prea lung" -#: src/page/about/about.vue:145 +#: src/page/about/about.vue:146 msgid "Thank You for Your Support!" msgstr "Vă mulțumim pentru sprijinul dumneavoastră!" -#: src/page/about/about.vue:79 src/page/about/about.vue:85 +#: src/page/about/about.vue:80 src/page/about/about.vue:86 msgid "That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality." msgstr "De aceea, PhotoPrism a fost construit de la zero pentru a funcționa oriunde aveți nevoie, fără a compromite libertatea, confidențialitatea sau funcționalitatea." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "The index currently contains %{n} hidden files." msgstr "În prezent, indexul conține %{n} fișiere ascunse." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates." msgstr "Este posibil ca formatul lor să nu fie acceptat, să nu fi fost încă convertite în JPEG sau să existe duplicate." @@ -2984,44 +3019,44 @@ msgstr "Temă" msgid "This field is required" msgstr "Acest câmp este obligatoriu" -#: src/component/settings/webdav.vue:100 src/page/settings/services.vue:144 +#: src/component/settings/webdav.vue:101 src/page/settings/services.vue:147 msgid "This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local." msgstr "Acest lucru montează dosarul de originale ca unitate de rețea și vă permite să deschideți, să editați și să ștergeți fișiere de pe computer sau de pe telefonul smartphone ca și cum ar fi locale." -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Time UTC" msgstr "Ora UTC" -#: src/component/photo/edit/details.vue:219 src/page/settings/general.vue:108 +#: src/component/photo/edit/details.vue:221 src/page/settings/general.vue:108 msgid "Time Zone" msgstr "Fusul orar" -#: src/component/service/edit.vue:408 +#: src/component/service/edit.vue:409 msgid "Timeout" msgstr "Pauză" -#: src/component/user/edit/dialog.vue:98 src/component/user/edit/dialog.vue:99 +#: src/component/user/edit/dialog.vue:99 src/component/user/edit/dialog.vue:100 #: src/page/settings/account.vue:84 src/page/settings/account.vue:86 msgctxt "Account" msgid "Title" msgstr "Titlu" -#: src/component/photo/edit/details.vue:73 +#: src/component/photo/edit/details.vue:75 msgctxt "Photo" msgid "Title" msgstr "Titlu" -#: src/component/photo/edit/info.vue:59 src/component/photo/edit/info.vue:155 +#: src/component/photo/edit/info.vue:61 src/component/photo/edit/info.vue:155 #: src/component/photo/edit/labels.vue:40 src/component/photo/view/list.vue:114 #: src/component/sidebar/info.vue:57 msgid "Title" msgstr "Titlu" -#: src/page/settings/account.vue:553 src/page/settings/account.vue:555 +#: src/page/settings/account.vue:559 src/page/settings/account.vue:561 msgid "Title / Position" msgstr "Titlul / Poziția" -#: src/page/albums.vue:83 +#: src/page/albums.vue:84 msgid "Title too long" msgstr "Titlu prea lung" @@ -3029,19 +3064,19 @@ msgstr "Titlu prea lung" msgid "to" msgstr "la" -#: src/component/settings/passcode.vue:312 +#: src/component/settings/passcode.vue:315 msgid "To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place." msgstr "Pentru a evita blocarea contului dvs., vă rugăm să descărcați, imprimați sau copiați acest cod de recuperare acum și păstrați-l într-un loc sigur." -#: src/component/settings/apps.vue:272 +#: src/component/settings/apps.vue:275 msgid "To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:" msgstr "Pentru a genera o nouă parolă specifică aplicației, introduceți numele și domeniul de autorizare al aplicației și selectați o dată de expirare:" -#: src/component/settings/passcode.vue:400 +#: src/component/settings/passcode.vue:403 msgid "To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:" msgstr "Pentru a comuta la o nouă aplicație sau dispozitiv de autentificare, mai întâi dezactivați autentificarea cu doi factori și apoi reactivați-o:" -#: src/page/connect.vue:221 src/page/connect.vue:230 +#: src/page/connect.vue:223 src/page/connect.vue:232 msgid "To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:" msgstr "Pentru a face upgrade, puteți introduce un cod de activare sau puteți face clic pe \"Înregistrare\" pentru a vă înscrie pe site-ul nostru:" @@ -3049,7 +3084,7 @@ msgstr "Pentru a face upgrade, puteți introduce un cod de activare sau puteți msgid "Today" msgstr "Astăzi" -#: src/component/album/toolbar.vue:70 src/component/photo/toolbar.vue:78 +#: src/component/album/toolbar.vue:71 src/component/photo/toolbar.vue:78 msgid "Toggle View" msgstr "Schimbă vizualizarea" @@ -3076,20 +3111,24 @@ msgstr "Rezolvarea problemelor" msgid "Try again using other filters or keywords." msgstr "Încercați din nou folosind alte filtre sau cuvinte cheie." -#: src/component/settings/passcode.vue:380 +#: src/component/settings/passcode.vue:383 msgid "Two-factor authentication has been enabled for your account." msgstr "Autentificarea cu doi factori a fost activată pentru contul dvs." #: src/component/photo/edit/files.vue:58 src/component/photo/edit/files.vue:330 -#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:388 +#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:389 msgid "Type" msgstr "Tip" -#: src/options/auth.js:13 +#: src/component/album/toolbar.vue:178 +msgid "Unable to delete" +msgstr "Nu se poate șterge" + +#: src/options/auth.js:14 msgid "Unauthorized" msgstr "Neautorizat" -#: src/component/photo/edit/people.vue:94 +#: src/component/photo/edit/people.vue:95 msgid "Undo" msgstr "Înapoi" @@ -3097,16 +3136,16 @@ msgstr "Înapoi" msgid "Unique ID" msgstr "ID unic" -#: src/page/settings/account.vue:451 src/page/settings/account.vue:476 -#: src/page/settings/account.vue:501 src/common/util.js:487 -#: src/component/photo/edit/details.vue:21 -#: src/component/photo/edit/details.vue:111 -#: src/component/photo/edit/details.vue:138 -#: src/component/photo/edit/details.vue:164 src/component/sidebar/info.vue:43 -#: src/model/album.js:193 src/model/photo.js:323 src/model/photo.js:784 -#: src/model/photo.js:809 src/model/photo.js:832 src/model/photo.js:850 -#: src/model/photo.js:897 src/model/photo.js:905 src/model/photo.js:994 -#: src/model/photo.js:1016 src/model/photo.js:1061 src/model/photo.js:1074 +#: src/page/settings/account.vue:457 src/page/settings/account.vue:482 +#: src/page/settings/account.vue:507 src/common/util.js:488 +#: src/component/photo/edit/details.vue:27 +#: src/component/photo/edit/details.vue:113 +#: src/component/photo/edit/details.vue:140 +#: src/component/photo/edit/details.vue:166 src/component/sidebar/info.vue:43 +#: src/model/album.js:193 src/model/photo.js:331 src/model/photo.js:821 +#: src/model/photo.js:846 src/model/photo.js:869 src/model/photo.js:887 +#: src/model/photo.js:934 src/model/photo.js:942 src/model/photo.js:1031 +#: src/model/photo.js:1053 src/model/photo.js:1098 src/model/photo.js:1111 #: src/model/user.js:157 src/options/options.js:51 src/options/options.js:69 #: src/options/options.js:86 src/options/options.js:100 #: src/options/options.js:112 src/page/library/errors.vue:251 @@ -3119,7 +3158,7 @@ msgstr "Necunoscut" msgid "Unregistered" msgstr "Neînregistrat" -#: src/app/routes.js:215 src/component/navigation.vue:644 +#: src/app/routes.js:223 src/component/navigation.vue:648 msgid "Unsorted" msgstr "Nesortat" @@ -3127,7 +3166,7 @@ msgstr "Nesortat" msgid "Unstack" msgstr "Despachetare" -#: src/component/photo/edit/files.vue:519 src/component/photo/edit/info.vue:416 +#: src/component/photo/edit/files.vue:521 src/component/photo/edit/info.vue:416 msgid "Updated" msgstr "Actualizat" @@ -3143,7 +3182,7 @@ msgstr "Actualizarea index-ului" msgid "Updating moments" msgstr "Actualizarea momentelor" -#: src/component/user/edit/dialog.vue:154 +#: src/component/user/edit/dialog.vue:155 msgid "Updating picture…" msgstr "Actualizarea imaginii…" @@ -3155,21 +3194,21 @@ msgstr "Actualizarea previziunilor" msgid "Updating stacks" msgstr "Actualizarea stivelor" -#: src/page/connect.vue:57 src/component/navigation.vue:1500 -#: src/component/navigation.vue:1614 src/component/navigation.vue:1999 +#: src/page/connect.vue:57 src/component/navigation.vue:1526 +#: src/component/navigation.vue:1644 src/component/navigation.vue:2047 #: src/page/connect.vue:58 msgid "Upgrade" msgstr "Actualizare" -#: src/page/about/about.vue:123 src/page/connect.vue:202 -#: src/component/confirm/sponsor.vue:98 src/page/about/about.vue:113 -#: src/page/connect.vue:206 +#: src/page/about/about.vue:124 src/page/connect.vue:204 +#: src/component/confirm/sponsor.vue:99 src/page/about/about.vue:114 +#: src/page/connect.vue:208 msgid "Upgrade Now" msgstr "Actualizați acum" -#: src/component/album/toolbar.vue:108 src/component/navigation.vue:1824 -#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:144 -#: src/component/upload/dialog.vue:51 src/page/albums.vue:183 +#: src/component/album/toolbar.vue:113 src/component/navigation.vue:1860 +#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:145 +#: src/component/upload/dialog.vue:51 src/page/albums.vue:185 #: src/page/labels.vue:122 src/page/library/import.vue:133 #: src/page/settings/general.vue:307 src/page/settings/services.vue:38 msgid "Upload" @@ -3179,21 +3218,21 @@ msgstr "Încărcați" msgid "Upload complete" msgstr "Încărcare completă" -#: src/component/upload/dialog.vue:133 +#: src/component/upload/dialog.vue:135 msgid "Upload complete. Indexing…" msgstr "Încărcare completă. Se indexează…" #: src/component/upload/dialog.vue:296 src/component/upload/dialog.vue:315 -#: src/component/upload/dialog.vue:129 +#: src/component/upload/dialog.vue:131 msgid "Upload failed" msgstr "Încărcarea a eșuat" -#: src/component/service/edit.vue:257 +#: src/component/service/edit.vue:258 msgid "Upload local files" msgstr "Încărcați fișiere locale" -#: src/component/user/edit/dialog.vue:380 #: src/component/user/edit/dialog.vue:381 +#: src/component/user/edit/dialog.vue:382 msgid "Upload Path" msgstr "Cale de încărcare" @@ -3201,7 +3240,7 @@ msgstr "Cale de încărcare" msgid "Upload to WebDAV and share links with friends." msgstr "Încărcați pe WebDAV și partajați linkuri cu prietenii." -#: src/component/upload/dialog.vue:131 +#: src/component/upload/dialog.vue:133 msgid "Uploading %{n} of %{t}…" msgstr "Se încarcă %{n} din %{t}…" @@ -3214,7 +3253,7 @@ msgstr "Se încarcă fotografii…" msgid "Uploading…" msgstr "Se încarcă…" -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Uploads that may contain such images will be rejected automatically." msgstr "Încărcările care pot conține astfel de imagini vor fi respinse automat." @@ -3222,7 +3261,7 @@ msgstr "Încărcările care pot conține astfel de imagini vor fi respinse autom msgid "Use Presets" msgstr "Utilizați presetări" -#: src/component/settings/passcode.vue:283 +#: src/component/settings/passcode.vue:286 msgid "Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:" msgstr "Utilizați următorul cod de recuperare pentru a vă accesa contul atunci când nu puteți genera un cod de verificare valid cu aplicația dvs. de autentificare:" @@ -3230,12 +3269,12 @@ msgstr "Utilizați următorul cod de recuperare pentru a vă accesa contul atunc msgid "Use your recovery code or contact an administrator for help." msgstr "Utilizați codul de recuperare sau contactați un administrator pentru ajutor." -#: src/options/admin.js:10 src/page/admin/sessions.vue:59 -#: src/page/admin/sessions.vue:242 src/model/user.js:361 src/options/auth.js:7 +#: src/options/admin.js:14 src/page/admin/sessions.vue:59 +#: src/page/admin/sessions.vue:243 src/model/user.js:361 src/options/auth.js:8 msgid "User" msgstr "Utilizator" -#: src/component/navigation.vue:1979 +#: src/component/navigation.vue:2025 msgid "User Guide" msgstr "Ghidul utilizatorului" @@ -3243,14 +3282,14 @@ msgstr "Ghidul utilizatorului" msgid "User Interface" msgstr "Interfața utilizatorului" -#: src/component/user/add/dialog.vue:87 src/component/user/add/dialog.vue:88 -#: src/page/admin/sessions.vue:220 src/page/admin/users.vue:71 -#: src/component/service/add.vue:85 src/component/service/edit.vue:337 +#: src/component/user/add/dialog.vue:88 src/component/user/add/dialog.vue:89 +#: src/page/admin/sessions.vue:221 src/page/admin/users.vue:73 +#: src/component/service/add.vue:86 src/component/service/edit.vue:338 #: src/component/share/dialog.vue:26 msgid "Username" msgstr "Numele utilizatorului" -#: src/component/navigation.vue:1435 +#: src/component/navigation.vue:1461 msgid "Users" msgstr "Utilizatori" @@ -3260,18 +3299,18 @@ msgstr "Utilizatori" msgid "Vector" msgstr "Vector" -#: src/component/navigation.vue:440 +#: src/component/navigation.vue:442 msgid "Vectors" msgstr "Vectori" -#: src/component/settings/passcode.vue:227 src/page/auth/login.vue:144 +#: src/component/settings/passcode.vue:230 src/page/auth/login.vue:144 msgid "Verification Code" msgstr "Cod de verificare" #: src/component/photo/view/cards.vue:363 #: src/component/photo/view/cards.vue:491 src/component/photo/view/list.vue:190 #: src/component/photo/view/mosaic.vue:207 src/model/file.js:221 -#: src/model/photo.js:921 src/model/photo.js:939 src/options/options.js:293 +#: src/model/photo.js:958 src/model/photo.js:976 src/options/options.js:293 msgid "Video" msgstr "Clip" @@ -3280,12 +3319,12 @@ msgstr "Clip" msgid "Video Duration" msgstr "Durata Videoclipului" -#: src/app/routes.js:243 src/component/navigation.vue:728 +#: src/app/routes.js:251 src/component/navigation.vue:734 #: src/options/options.js:200 msgid "Videos" msgstr "Videoclipuri" -#: src/component/photo/toolbar.vue:261 src/component/photo/view/cards.vue:350 +#: src/component/photo/toolbar.vue:263 src/component/photo/view/cards.vue:350 #: src/component/photo/view/mosaic.vue:194 msgid "View" msgstr "Vedere" @@ -3294,11 +3333,11 @@ msgstr "Vedere" msgid "View search results as a list." msgstr "Vizualizați rezultatele căutării ca o listă." -#: src/options/admin.js:14 src/options/auth.js:8 +#: src/options/admin.js:18 src/options/auth.js:9 msgid "Viewer" msgstr "Vizualizator" -#: src/page/admin/sessions.vue:271 src/options/auth.js:12 +#: src/page/admin/sessions.vue:272 src/options/auth.js:13 msgid "Visitor" msgstr "Vizitator" @@ -3310,34 +3349,34 @@ msgstr "Similaritate vizuală" msgid "Warning" msgstr "Avertisment" -#: src/page/about/feedback.vue:60 +#: src/page/about/feedback.vue:61 msgid "We appreciate your feedback!" msgstr "Apreciem feedback-ul dumneavoastră!" -#: src/page/about/feedback.vue:63 +#: src/page/about/feedback.vue:64 msgid "We do our best to respond within five business days or less." msgstr "Facem tot posibilul să răspundem în termen de cinci zile lucrătoare sau mai puțin." -#: src/component/user/add/dialog.vue:235 src/component/user/edit/dialog.vue:415 -#: src/page/admin/users.vue:80 +#: src/component/user/add/dialog.vue:236 src/component/user/edit/dialog.vue:416 +#: src/page/admin/users.vue:82 msgid "Web Login" msgstr "Autentificare Web" -#: src/component/user/add/dialog.vue:248 src/component/user/edit/dialog.vue:432 -#: src/page/admin/users.vue:82 src/options/auth.js:55 src/options/auth.js:68 +#: src/component/user/add/dialog.vue:249 src/component/user/edit/dialog.vue:433 +#: src/page/admin/users.vue:84 src/options/auth.js:56 src/options/auth.js:69 #: src/options/options.js:444 msgid "WebDAV" msgstr "WebDAV" -#: src/component/settings/webdav.vue:51 +#: src/component/settings/webdav.vue:52 msgid "WebDAV clients can connect to PhotoPrism using the following URL:" msgstr "Clienții WebDAV se pot conecta la PhotoPrism folosind următoarea adresă URL:" -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism." msgstr "Clienții WebDAV, cum ar fi Microsoft Windows Explorer sau Apple Finder, se pot conecta direct la PhotoPrism." -#: src/component/service/upload.vue:50 src/component/share/dialog.vue:220 +#: src/component/service/upload.vue:51 src/component/share/dialog.vue:220 msgid "WebDAV Upload" msgstr "Încărcare WebDAV" @@ -3345,8 +3384,8 @@ msgstr "Încărcare WebDAV" msgid "WebGL support is disabled in your browser" msgstr "Suportul WebGL este dezactivat în browserul dvs." -#: src/page/settings/account.vue:615 src/page/settings/account.vue:709 -#: src/page/settings/account.vue:601 +#: src/page/settings/account.vue:621 src/page/settings/account.vue:715 +#: src/page/settings/account.vue:607 msgid "Website" msgstr "Site web" @@ -3354,12 +3393,12 @@ msgstr "Site web" msgid "White" msgstr "Alb" -#: src/page/settings/account.vue:532 +#: src/page/settings/account.vue:538 msgid "Work Details" msgstr "Detalii de lucru" -#: src/page/settings/account.vue:500 src/component/photo/edit/details.vue:163 -#: src/component/photo/toolbar.vue:315 src/page/albums.vue:159 +#: src/page/settings/account.vue:506 src/component/photo/edit/details.vue:165 +#: src/component/photo/toolbar.vue:317 src/page/albums.vue:159 msgid "Year" msgstr "Anul" @@ -3367,21 +3406,21 @@ msgstr "Anul" msgid "Yellow" msgstr "Galben" -#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:58 -#: src/component/photo/archive/dialog.vue:58 +#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:59 +#: src/component/photo/archive/dialog.vue:59 #: src/component/photo/clipboard.vue:200 src/component/photo/edit/files.vue:365 #: src/component/photo/edit/files.vue:395 #: src/component/photo/edit/files.vue:401 #: src/component/photo/edit/files.vue:407 -#: src/component/photo/edit/files.vue:510 src/component/photo/edit/info.vue:281 +#: src/component/photo/edit/files.vue:512 src/component/photo/edit/info.vue:281 #: src/component/photo/edit/info.vue:297 src/component/photo/edit/info.vue:313 #: src/component/photo/edit/info.vue:329 src/component/photo/edit/info.vue:344 -#: src/component/photo/toolbar.vue:434 +#: src/component/photo/toolbar.vue:436 msgid "Yes" msgstr "Da" -#: src/component/confirm/sponsor.vue:59 src/page/about/about.vue:158 -#: src/page/connect.vue:315 +#: src/component/confirm/sponsor.vue:60 src/page/about/about.vue:160 +#: src/page/connect.vue:317 msgid "You are welcome to contact us at membership@photoprism.app for questions regarding your membership." msgstr "Vă invităm să ne contactați la membership@photoprism.app pentru întrebări legate de calitatea de membru." @@ -3393,7 +3432,11 @@ msgstr "Poți descărca doar un singur album" msgid "You can only download one label" msgstr "Puteți descărca doar o singură etichetă" -#: src/component/upload/dialog.vue:203 +#: src/component/location/dialog.vue:178 +msgid "You can search for a location or move the marker on the map to change the position:" +msgstr "Puteți căuta o locație sau puteți muta markerul pe hartă pentru a schimba poziția:" + +#: src/component/upload/dialog.vue:205 msgid "You can upload up to %{n} files for test purposes." msgstr "Puteți încărca până la %{n} fișiere în scopuri de testare." @@ -3406,7 +3449,7 @@ msgstr "Puteți selecta doar un singur element" msgid "You may rescan your library to find additional faces." msgstr "Puteți să scanați din nou biblioteca dumneavoastră pentru a găsi alte fețe." -#: src/page/connect.vue:146 src/page/connect.vue:150 +#: src/page/connect.vue:147 src/page/connect.vue:151 msgid "Your account has been successfully connected." msgstr "Contul dvs. a fost conectat cu succes." @@ -3414,8 +3457,8 @@ msgstr "Contul dvs. a fost conectat cu succes." msgid "Your browser does not support WebGL" msgstr "Browserul dvs. nu acceptă WebGL" -#: src/component/confirm/sponsor.vue:43 src/page/about/about.vue:97 -#: src/page/about/about.vue:156 src/page/connect.vue:220 +#: src/component/confirm/sponsor.vue:44 src/page/about/about.vue:98 +#: src/page/about/about.vue:158 src/page/connect.vue:222 msgid "Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy." msgstr "Sprijinul dvs. continuu ne ajută să furnizăm actualizări regulate și să rămânem independenți, astfel încât să ne putem îndeplini misiunea și să vă protejăm confidențialitatea." @@ -3496,9 +3539,6 @@ msgstr "Măriți/micșorați" #~ msgid "Open Folder" #~ msgstr "Folder deschis" -#~ msgid "Cannot copy to clipboard" -#~ msgstr "Nu se poate copia în clipboard" - #~ msgid "Sound" #~ msgstr "Sunet" diff --git a/frontend/src/locales/ru.po b/frontend/src/locales/ru.po index eae044950..5fb145b55 100644 --- a/frontend/src/locales/ru.po +++ b/frontend/src/locales/ru.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: ci@photoprism.app\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2025-04-04 08:03+0000\n" +"PO-Revision-Date: 2025-07-06 08:58+0000\n" "Last-Translator: DeepL \n" "Language-Team: Russian \n" "Language: ru\n" @@ -11,7 +11,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Weblate 5.10.4\n" +"X-Generator: Weblate 5.12.2\n" "Generated-By: usercopypaste\n" #: src/locales.js:268 @@ -42,7 +42,7 @@ msgstr "{0} выбран" msgid "{0}-{1} of {2}" msgstr "{0}-{1} из {2}" -#: src/page/albums.vue:612 +#: src/page/albums.vue:617 msgid "%{n} albums found" msgstr "%{n} альбомов найдено" @@ -50,25 +50,25 @@ msgstr "%{n} альбомов найдено" msgid "%{n} files uploaded" msgstr "%{n} файлов загружено" -#: src/page/library/browse.vue:362 +#: src/page/library/browse.vue:364 msgid "%{n} folders found" msgstr "%{n} папок найдено" -#: src/component/navigation.vue:1676 +#: src/component/navigation.vue:1707 msgid "%{n} GB of %{q} GB used" msgstr "%{n} Гб из %{q} Использованных гигабайт" -#: src/page/labels.vue:528 +#: src/page/labels.vue:533 msgid "%{n} labels found" msgstr "%{n} меток найдено" -#: src/page/people/new.vue:350 src/page/people/new.vue:447 -#: src/page/people/recognized.vue:536 +#: src/page/people/new.vue:350 src/page/people/new.vue:450 +#: src/page/people/recognized.vue:541 msgid "%{n} people found" msgstr "найдено %{n} человек" -#: src/page/album/photos.vue:308 src/page/album/photos.vue:493 -#: src/page/photos.vue:441 src/page/photos.vue:631 +#: src/page/album/photos.vue:313 src/page/album/photos.vue:504 +#: src/page/photos.vue:446 src/page/photos.vue:641 msgid "%{n} pictures found" msgstr "найдено %{n} изображений" @@ -88,12 +88,12 @@ msgstr "1 час" msgid "12 hours" msgstr "12 часов" -#: src/component/user/edit/dialog.vue:452 src/page/settings/account.vue:324 -#: src/component/settings/passcode.vue:75 +#: src/component/user/edit/dialog.vue:453 src/page/settings/account.vue:325 +#: src/component/settings/passcode.vue:78 msgid "2-Factor Authentication" msgstr "Двухфакторная аутентификация" -#: src/component/user/edit/dialog.vue:451 src/options/auth.js:46 +#: src/component/user/edit/dialog.vue:452 src/options/auth.js:47 msgid "2FA" msgstr "2ФА" @@ -109,20 +109,20 @@ msgstr "Клик скопирует это в буфер обмена." msgid "A new version of %{s} is available:" msgstr "Доступна новая версия %{s}:" -#: src/component/user/edit/dialog.vue:233 -#: src/component/user/edit/dialog.vue:234 src/page/about/about.vue:56 +#: src/component/user/edit/dialog.vue:234 +#: src/component/user/edit/dialog.vue:235 src/page/about/about.vue:56 #: src/page/settings/account.vue:248 src/page/settings/account.vue:249 -#: src/app/routes.js:63 src/component/navigation.vue:1521 -#: src/page/people/recognized.vue:292 +#: src/app/routes.js:63 src/component/navigation.vue:1547 +#: src/page/people/recognized.vue:296 msgid "About" msgstr "О нас" -#: src/options/auth.js:26 src/options/auth.js:44 +#: src/options/auth.js:27 src/options/auth.js:45 msgid "Access Token" msgstr "Токен доступа" -#: src/component/navigation.vue:87 src/component/navigation.vue:1788 -#: src/component/service/upload.vue:71 src/model/service.js:96 +#: src/component/navigation.vue:87 src/component/navigation.vue:1822 +#: src/component/service/upload.vue:72 src/model/service.js:96 #: src/model/user.js:171 src/page/settings.vue:85 #: src/page/settings/general.vue:582 msgid "Account" @@ -136,7 +136,7 @@ msgstr "Учетная запись создана" msgid "Account deleted" msgstr "Учетная запись удалена" -#: src/page/admin/users.vue:335 +#: src/page/admin/users.vue:337 msgid "Account restored" msgstr "Аккаунт восстановлен" @@ -157,8 +157,8 @@ msgstr "Действие" msgid "Actions" msgstr "Действия" -#: src/page/connect.vue:294 src/component/settings/passcode.vue:346 -#: src/page/connect.vue:303 +#: src/page/connect.vue:296 src/component/settings/passcode.vue:349 +#: src/page/connect.vue:305 msgid "Activate" msgstr "Активировать" @@ -174,20 +174,20 @@ msgstr "Активируй, чтобы сортировать по возрас msgid "Activate to sort descending." msgstr "Активируй, чтобы сортировать по убыванию." -#: src/page/connect.vue:231 src/page/connect.vue:240 +#: src/page/connect.vue:233 src/page/connect.vue:242 msgid "Activation Code" msgstr "Код активации" -#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:83 -#: src/component/settings/apps.vue:448 +#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:92 +#: src/component/settings/apps.vue:451 msgid "Add" msgstr "Добавить" -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:246 msgid "Add %{s}?" msgstr "Добавь %{s}?" -#: src/component/user/add/dialog.vue:56 src/component/service/add.vue:49 +#: src/component/user/add/dialog.vue:57 src/component/service/add.vue:50 msgid "Add Account" msgstr "Добавить учётную запись" @@ -204,8 +204,8 @@ msgid "Add Link" msgstr "Добавить ссылку" #: src/component/photo/edit/people.vue:25 -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:57 -#: src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:57 +#: src/page/people/new.vue:246 msgid "Add person?" msgstr "Добавить человека?" @@ -221,10 +221,15 @@ msgstr "Добавьте картинки из результатов поиск msgid "Add to album" msgstr "Добавить в альбом" -#: src/component/photo/edit/files.vue:514 +#: src/component/photo/edit/files.vue:516 msgid "Added" msgstr "Добавлено" +#: src/component/location/dialog.vue:68 src/component/location/dialog.vue:90 +#: src/component/photo/edit/details.vue:246 +msgid "Adjust Location" +msgstr "Отрегулируй местоположение" + #: src/options/admin.js:6 src/options/auth.js:6 msgid "Admin" msgstr "Администратор" @@ -245,7 +250,7 @@ msgstr "Спустя 3 дня" msgid "After 7 days" msgstr "Спустя 7 дней" -#: src/component/settings/passcode.vue:93 +#: src/component/settings/passcode.vue:96 msgid "After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:" msgstr "После ввода пароля для подтверждения вы можете настроить двухфакторную аутентификацию с помощью совместимого приложения или устройства для проверки подлинности:" @@ -277,12 +282,16 @@ msgstr "Альбом" msgid "Album Backups" msgstr "Резервные копии альбомов" -#: src/page/albums.vue:674 +#: src/page/albums.vue:685 msgid "Album created" msgstr "Альбом создан" -#: src/app/routes.js:176 src/component/album/toolbar.vue:51 -#: src/component/navigation.vue:604 src/component/navigation.vue:1882 +#: src/page/album/photos.vue:589 +msgid "Album deleted" +msgstr "Альбом удалён" + +#: src/app/routes.js:184 src/component/album/toolbar.vue:55 +#: src/component/navigation.vue:607 src/component/navigation.vue:1922 #: src/component/photo/edit/info.vue:220 src/options/options.js:198 msgid "Albums" msgstr "Альбомы" @@ -295,7 +304,7 @@ msgstr "Альбомы удалены" msgid "All" msgstr "Все" -#: src/page/albums.vue:465 +#: src/page/albums.vue:470 msgid "All %{n} albums loaded" msgstr "Все %{n} альбомов загружены" @@ -311,8 +320,8 @@ msgstr "Все %{n} человек загружены" msgid "All Cameras" msgstr "Все камеры" -#: src/component/photo/toolbar.vue:74 src/page/albums.vue:44 -#: src/page/albums.vue:240 src/page/albums.vue:746 +#: src/component/photo/toolbar.vue:74 src/page/albums.vue:45 +#: src/page/albums.vue:242 src/page/albums.vue:757 msgid "All Categories" msgstr "Все категории" @@ -344,7 +353,7 @@ msgstr "Все месяцы" msgid "All originals" msgstr "Все оригиналы" -#: src/component/photo/toolbar.vue:76 src/page/albums.vue:93 +#: src/component/photo/toolbar.vue:76 src/page/albums.vue:94 msgid "All Years" msgstr "Все года" @@ -356,7 +365,7 @@ msgstr "Кроме того, вы можете загружать файлы н msgid "Altitude" msgstr "Высота" -#: src/component/photo/edit/details.vue:272 +#: src/component/photo/edit/details.vue:297 msgid "Altitude (m)" msgstr "Высота (м)" @@ -364,8 +373,7 @@ msgstr "Высота (м)" msgid "AM" msgstr "AM" -#: src/app/routes.js:257 src/component/navigation.vue:791 -#: src/component/photo/edit/files.vue:364 +#: src/app/routes.js:265 src/component/photo/edit/files.vue:364 #: src/component/photo/view/cards.vue:327 #: src/component/photo/view/cards.vue:511 src/component/photo/view/list.vue:184 #: src/component/photo/view/mosaic.vue:171 src/options/options.js:301 @@ -376,43 +384,47 @@ msgstr "Анимированный" msgid "Animation" msgstr "Анимация" +#: src/component/navigation.vue:797 +msgid "Animations" +msgstr "Анимация" + #: src/component/share/dialog.vue:207 msgid "Any private photos and videos remain private and won't be shared." msgstr "Любые личные фотографии и видео остаются личными и не будут распространяться." -#: src/component/service/edit.vue:372 +#: src/component/service/edit.vue:373 msgid "API Key" msgstr "Ключ API" -#: src/page/admin/sessions.vue:357 src/options/auth.js:25 +#: src/page/admin/sessions.vue:361 src/options/auth.js:26 msgid "Application" msgstr "Приложение" -#: src/component/photo/edit/details.vue:641 +#: src/component/photo/edit/details.vue:615 msgid "Apply" msgstr "Применить" #: src/component/photo/clipboard.vue:64 -#: src/component/photo/edit/details.vue:640 +#: src/component/photo/edit/details.vue:614 #: src/component/photo/view/cards.vue:416 msgid "Approve" msgstr "Подтвердить" -#: src/page/settings/account.vue:374 src/component/settings/apps.vue:91 +#: src/page/settings/account.vue:378 src/component/settings/apps.vue:94 msgid "Apps and Devices" msgstr "Приложения и устройства" -#: src/app/routes.js:287 src/component/lightbox.vue:1207 -#: src/component/navigation.vue:555 src/component/photo/clipboard.vue:142 +#: src/app/routes.js:295 src/component/lightbox.vue:1207 +#: src/component/navigation.vue:557 src/component/photo/clipboard.vue:142 #: src/component/photo/view/cards.vue:398 src/page/settings/general.vue:432 msgid "Archive" msgstr "Архивировать" -#: src/component/lightbox.vue:1982 src/component/photo/edit/info.vue:433 +#: src/component/lightbox.vue:2002 src/component/photo/edit/info.vue:433 msgid "Archived" msgstr "Заархивировано" -#: src/component/photo/archive/dialog.vue:34 +#: src/component/photo/archive/dialog.vue:35 msgid "Are you sure you want to archive the selection?" msgstr "Вы действительно хотите переместить эти фотографии в архив?" @@ -420,19 +432,23 @@ msgstr "Вы действительно хотите переместить эт msgid "Are you sure you want to delete these albums?" msgstr "Вы действительно хотите удалить эти альбомы?" -#: src/component/label/delete/dialog.vue:34 +#: src/component/label/delete/dialog.vue:35 msgid "Are you sure you want to delete these labels?" msgstr "Вы действительно хотите удалить эти метки?" -#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:36 +#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:37 msgid "Are you sure you want to delete this account?" msgstr "Вы действительно хотите удалить этот аккаунт?" +#: src/component/album/toolbar.vue:136 +msgid "Are you sure you want to delete this album?" +msgstr "Ты уверен, что хочешь удалить этот альбом?" + #: src/component/photo/clipboard.vue:199 msgid "Are you sure you want to permanently delete these pictures?" msgstr "Вы уверены, что хотите навсегда удалить эти фотографии?" -#: src/component/file/delete/dialog.vue:34 +#: src/component/file/delete/dialog.vue:35 msgid "Are you sure you want to permanently delete this file?" msgstr "Вы уверены, что хотите навсегда удалить этот файл?" @@ -441,7 +457,7 @@ msgstr "Вы уверены, что хотите навсегда удалить msgid "Are you sure?" msgstr "Вы уверены?" -#: src/component/photo/edit/details.vue:537 +#: src/component/photo/edit/details.vue:511 msgid "Artist" msgstr "Автор" @@ -449,14 +465,14 @@ msgstr "Автор" msgid "Aspect Ratio" msgstr "Соотношение сторон" -#: src/app/routes.js:250 src/component/navigation.vue:770 +#: src/app/routes.js:258 src/component/navigation.vue:776 #: src/options/options.js:297 msgid "Audio" msgstr "Аудио" -#: src/component/user/add/dialog.vue:190 src/component/user/edit/dialog.vue:309 -#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:281 -#: src/page/admin/users.vue:75 +#: src/component/user/add/dialog.vue:191 src/component/user/edit/dialog.vue:310 +#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:282 +#: src/page/admin/users.vue:77 msgid "Authentication" msgstr "Аутентификация" @@ -464,11 +480,11 @@ msgstr "Аутентификация" msgid "Auto" msgstr "Авто" -#: src/component/settings/apps.vue:151 +#: src/component/settings/apps.vue:154 msgid "Back" msgstr "Назад" -#: src/component/scroll.vue:20 +#: src/component/scroll.vue:18 msgid "Back to top" msgstr "Вернуться к началу" @@ -480,26 +496,26 @@ msgstr "Резервная копия" msgid "Badge" msgstr "Значок" -#: src/component/user/edit/dialog.vue:361 #: src/component/user/edit/dialog.vue:362 +#: src/component/user/edit/dialog.vue:363 msgid "Base Path" msgstr "Базовый путь" -#: src/page/about/about.vue:95 src/page/connect.vue:220 +#: src/page/about/about.vue:96 src/page/connect.vue:222 msgid "Become a member today, support our mission and enjoy our member benefits!" msgstr "Станьте членом клуба сегодня, поддержите нашу миссию и воспользуйтесь нашими преимуществами!" -#: src/component/confirm/sponsor.vue:51 src/page/about/about.vue:99 +#: src/component/confirm/sponsor.vue:52 src/page/about/about.vue:100 msgid "Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services." msgstr "Будучи на 100% самофинансируемыми и независимыми, мы можем пообещать вам, что никогда не будем продавать ваши данные и что мы всегда будем прозрачны в отношении нашего программного обеспечения и услуг." -#: src/component/user/edit/dialog.vue:258 -#: src/component/user/edit/dialog.vue:259 src/page/settings/account.vue:227 +#: src/component/user/edit/dialog.vue:259 +#: src/component/user/edit/dialog.vue:260 src/page/settings/account.vue:227 #: src/page/settings/account.vue:228 msgid "Bio" msgstr "Биография" -#: src/page/settings/account.vue:431 +#: src/page/settings/account.vue:437 msgid "Birth Date" msgstr "Дата рождения" @@ -520,7 +536,7 @@ msgid "Brown" msgstr "Коричневый" #: src/component/photo/edit/files.vue:263 src/component/photo/toolbar.vue:141 -#: src/component/upload/dialog.vue:240 +#: src/component/upload/dialog.vue:242 msgid "Browse" msgstr "Просмотреть" @@ -548,16 +564,16 @@ msgstr "Отчет об ошибке" msgid "Busy, please wait…" msgstr "Занят, пожалуйста, подождите…" -#: src/page/connect.vue:317 +#: src/page/connect.vue:319 msgid "By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct." msgstr "Используя программное обеспечение и услуги, которые мы предоставляем, вы соглашаетесь с нашими условиями обслуживания, политикой конфиденциальности и кодексом поведения." -#: src/app/routes.js:189 src/component/navigation.vue:1081 +#: src/app/routes.js:197 src/component/navigation.vue:1097 #: src/options/options.js:204 src/page/settings/general.vue:205 msgid "Calendar" msgstr "Календарь" -#: src/component/photo/edit/details.vue:346 src/component/photo/toolbar.vue:232 +#: src/component/photo/edit/details.vue:320 src/component/photo/toolbar.vue:234 #: src/component/photo/view/cards.vue:467 src/component/photo/view/list.vue:116 msgid "Camera" msgstr "Камера" @@ -570,12 +586,12 @@ msgstr "Камера" msgid "Can't access your authenticator app or device?" msgstr "Не можешь получить доступ к своему приложению или устройству аутентификатора?" -#: src/page/album/photos.vue:317 src/page/photos.vue:450 +#: src/page/album/photos.vue:322 src/page/photos.vue:455 msgid "Can't load more, limit reached" msgstr "Не могу загрузить больше, достигнут лимит" #: src/common/clipboard.js:102 src/common/clipboard.js:139 -#: src/page/albums.vue:684 src/page/albums.vue:700 src/page/labels.vue:293 +#: src/page/albums.vue:695 src/page/albums.vue:711 src/page/labels.vue:293 #: src/page/labels.vue:313 src/page/library/browse.vue:233 #: src/page/library/browse.vue:249 src/page/people/new.vue:278 #: src/page/people/new.vue:294 src/page/people/recognized.vue:305 @@ -584,26 +600,31 @@ msgid "Can't select more items" msgstr "Нельзя выбрать больше элементов" #: src/component/session/remove/dialog.vue:45 -#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:473 -#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:119 +#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:474 +#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:120 #: src/component/album/delete/dialog.vue:43 -#: src/component/album/edit/dialog.vue:199 src/component/confirm/dialog.vue:43 -#: src/component/file/delete/dialog.vue:47 -#: src/component/label/delete/dialog.vue:47 -#: src/component/label/edit/dialog.vue:107 -#: src/component/people/edit/dialog.vue:120 +#: src/component/album/edit/dialog.vue:200 src/component/confirm/dialog.vue:43 +#: src/component/file/delete/dialog.vue:48 +#: src/component/label/delete/dialog.vue:48 +#: src/component/label/edit/dialog.vue:108 +#: src/component/location/dialog.vue:200 +#: src/component/people/edit/dialog.vue:121 #: src/component/photo/album/dialog.vue:78 src/component/service/add.vue:19 -#: src/component/service/edit.vue:455 src/component/service/remove.vue:49 -#: src/component/service/upload.vue:117 src/component/settings/apps.vue:352 -#: src/component/settings/passcode.vue:249 -#: src/component/settings/passcode.vue:333 -#: src/component/settings/password.vue:159 src/component/share/dialog.vue:28 -#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:123 +#: src/component/service/edit.vue:456 src/component/service/remove.vue:50 +#: src/component/service/upload.vue:118 src/component/settings/apps.vue:355 +#: src/component/settings/passcode.vue:252 +#: src/component/settings/passcode.vue:336 +#: src/component/settings/password.vue:160 src/component/share/dialog.vue:28 +#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:124 #: src/page/library/import.vue:119 src/page/library/index.vue:128 msgid "Cancel" msgstr "Отменить" -#: src/component/photo/edit/details.vue:87 src/component/photo/edit/info.vue:61 +#: src/common/util.js:863 src/common/util.js:870 +msgid "Cannot copy to clipboard" +msgstr "Невозможно скопировать в буфер обмена" + +#: src/component/photo/edit/details.vue:89 src/component/photo/edit/info.vue:63 #: src/component/photo/edit/labels.vue:42 #: src/component/photo/view/cards.vue:445 src/component/sidebar/info.vue:72 msgid "Caption" @@ -617,17 +638,17 @@ msgstr "Карточки" msgid "Carousel slide {0} of {1}" msgstr "Карусельный слайд {0} из {1}" -#: src/page/about/feedback.vue:82 src/page/about/feedback.vue:83 -#: src/component/album/edit/dialog.vue:128 src/component/photo/toolbar.vue:397 +#: src/page/about/feedback.vue:83 src/page/about/feedback.vue:84 +#: src/component/album/edit/dialog.vue:129 src/component/photo/toolbar.vue:399 #: src/page/albums.vue:187 msgid "Category" msgstr "Категория" -#: src/component/user/edit/dialog.vue:191 src/page/settings/account.vue:201 +#: src/component/user/edit/dialog.vue:192 src/page/settings/account.vue:201 msgid "Change Avatar" msgstr "Изменить аватар" -#: src/page/settings/account.vue:297 src/component/settings/password.vue:48 +#: src/page/settings/account.vue:297 src/component/settings/password.vue:49 msgid "Change Password" msgstr "Изменить пароль" @@ -644,17 +665,17 @@ msgid "Change private flag" msgstr "Изменить флаг приватности" #: src/component/user/add/dialog.vue:108 src/component/user/add/dialog.vue:113 -#: src/component/user/edit/dialog.vue:90 src/component/user/edit/dialog.vue:95 +#: src/component/user/edit/dialog.vue:91 src/component/user/edit/dialog.vue:96 #: src/page/settings/account.vue:121 src/page/settings/account.vue:126 msgid "Changes could not be saved" msgstr "Изменения не будут сохранены" -#: src/component/user/edit/dialog.vue:83 src/component/user/edit/dialog.vue:159 +#: src/component/user/edit/dialog.vue:84 src/component/user/edit/dialog.vue:160 #: src/component/album/edit/dialog.vue:73 -#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1941 +#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1961 #: src/component/photo/edit/files.vue:162 src/component/service/edit.vue:90 #: src/component/share/dialog.vue:92 src/component/share/dialog.vue:111 -#: src/page/albums.vue:677 src/page/people/recognized.vue:119 +#: src/page/albums.vue:688 src/page/people/recognized.vue:119 #: src/page/settings/advanced.vue:62 src/page/settings/content.vue:62 #: src/page/settings/general.vue:108 msgid "Changes successfully saved" @@ -668,7 +689,7 @@ msgstr "Изменения в расширенных настройках тре msgid "Checked" msgstr "Проверено" -#: src/component/photo/edit/files.vue:495 +#: src/component/photo/edit/files.vue:497 msgid "Chroma" msgstr "Цветовая гамма" @@ -684,24 +705,24 @@ msgstr "Очистка" msgid "Clear {0}" msgstr "Очистить {0}" -#: src/options/auth.js:11 src/options/auth.js:23 src/options/auth.js:43 +#: src/options/auth.js:12 src/options/auth.js:24 src/options/auth.js:44 msgid "Client" msgstr "Клиент" -#: src/options/auth.js:24 +#: src/options/auth.js:25 msgid "Client Credentials" msgstr "Учетные данные клиента" -#: src/page/admin/sessions.vue:529 src/component/lightbox.vue:284 -#: src/component/lightbox.vue:1009 src/component/lightbox.vue:1010 -#: src/component/photo/edit/details.vue:627 src/component/photo/toolbar.vue:160 -#: src/component/settings/apps.vue:224 src/component/settings/apps.vue:437 -#: src/component/settings/passcode.vue:148 -#: src/component/settings/passcode.vue:456 -#: src/component/settings/passcode.vue:497 -#: src/component/settings/webdav.vue:131 src/component/share/dialog.vue:231 +#: src/component/user/edit/dialog.vue:474 src/page/admin/sessions.vue:536 +#: src/component/lightbox.vue:284 src/component/lightbox.vue:1009 +#: src/component/lightbox.vue:1010 src/component/photo/edit/details.vue:601 +#: src/component/photo/toolbar.vue:161 src/component/settings/apps.vue:227 +#: src/component/settings/apps.vue:440 src/component/settings/passcode.vue:151 +#: src/component/settings/passcode.vue:459 +#: src/component/settings/passcode.vue:500 +#: src/component/settings/webdav.vue:132 src/component/share/dialog.vue:231 #: src/component/sidebar/info.vue:26 src/component/update.vue:57 -#: src/component/upload/dialog.vue:228 src/locales.js:206 +#: src/component/upload/dialog.vue:230 src/locales.js:206 #: src/page/library/errors.vue:253 msgid "Close" msgstr "Закрыть" @@ -710,11 +731,11 @@ msgstr "Закрыть" msgid "Codec" msgstr "Кодек" -#: src/component/photo/toolbar.vue:369 +#: src/component/photo/toolbar.vue:371 msgid "Color" msgstr "Цвет" -#: src/component/photo/edit/files.vue:483 +#: src/component/photo/edit/files.vue:485 msgid "Color Profile" msgstr "Цветовой профиль" @@ -722,7 +743,7 @@ msgstr "Цветовой профиль" msgid "Colors" msgstr "Цвета" -#: src/page/connect.vue:260 src/page/connect.vue:269 +#: src/page/connect.vue:262 src/page/connect.vue:271 msgid "Compare Editions" msgstr "Сравнить издания" @@ -735,17 +756,18 @@ msgstr "Полный рескан" msgid "Confidence" msgstr "Уверенность" +#: src/component/location/dialog.vue:212 #: src/component/photo/album/dialog.vue:90 -#: src/component/settings/passcode.vue:261 +#: src/component/settings/passcode.vue:264 msgid "Confirm" msgstr "Подтверждать" -#: src/component/service/add.vue:20 src/page/settings/services.vue:187 +#: src/component/service/add.vue:20 src/page/settings/services.vue:191 msgid "Connect" msgstr "Соединен" -#: src/page/settings/account.vue:401 src/component/settings/webdav.vue:45 -#: src/page/settings/services.vue:167 +#: src/page/settings/account.vue:406 src/component/settings/webdav.vue:46 +#: src/page/settings/services.vue:170 msgid "Connect via WebDAV" msgstr "Соединиться через WebDAV" @@ -753,22 +775,22 @@ msgstr "Соединиться через WebDAV" msgid "Connected" msgstr "Подключено" -#: src/page/settings/account.vue:640 src/page/settings/account.vue:532 +#: src/page/settings/account.vue:646 src/page/settings/account.vue:538 msgid "Contact Details" msgstr "Контактная информация" -#: src/page/about/feedback.vue:37 src/page/connect.vue:132 -#: src/page/connect.vue:136 +#: src/page/about/feedback.vue:37 src/page/connect.vue:133 +#: src/page/connect.vue:137 msgid "Contact Us" msgstr "Свяжитесь с нами" #: src/page/albums.vue:433 src/page/labels.vue:237 -#: src/page/people/recognized.vue:306 +#: src/page/people/recognized.vue:310 msgid "Contains %{n} pictures." msgstr "Содержит %{n} фотографий." #: src/page/albums.vue:427 src/page/labels.vue:231 -#: src/page/people/recognized.vue:300 +#: src/page/people/recognized.vue:304 msgid "Contains one picture." msgstr "Содержит одну фотографию." @@ -776,7 +798,7 @@ msgstr "Содержит одну фотографию." msgid "Content" msgstr "Содержание" -#: src/component/settings/apps.vue:163 +#: src/component/settings/apps.vue:166 msgid "Continue" msgstr "Продолжить" @@ -784,7 +806,7 @@ msgstr "Продолжить" msgid "Continue with %{provider}" msgstr "Продолжить с %{provider}" -#: src/options/admin.js:18 src/options/auth.js:9 +#: src/options/admin.js:22 src/options/auth.js:10 msgid "Contributor" msgstr "Вкладчик" @@ -792,15 +814,15 @@ msgstr "Вкладчик" msgid "Converting" msgstr "Конвертация" -#: src/common/util.js:846 +#: src/common/util.js:856 msgid "Copied to clipboard" msgstr "Скопировано в буфер обмена" -#: src/component/settings/apps.vue:250 src/component/settings/passcode.vue:358 +#: src/component/settings/apps.vue:253 src/component/settings/passcode.vue:361 msgid "Copy" msgstr "Копировать" -#: src/component/photo/edit/details.vue:516 +#: src/component/photo/edit/details.vue:490 msgid "Copyright" msgstr "Копирайт" @@ -808,8 +830,8 @@ msgstr "Копирайт" msgid "Couldn't find anything." msgstr "Ничего не найдено." -#: src/page/settings/account.vue:685 src/component/photo/edit/details.vue:242 -#: src/component/photo/toolbar.vue:203 src/page/settings/account.vue:577 +#: src/page/settings/account.vue:691 src/component/photo/edit/details.vue:268 +#: src/component/photo/toolbar.vue:205 src/page/settings/account.vue:583 msgid "Country" msgstr "Страна" @@ -833,7 +855,7 @@ msgstr "Создать YAML-файлы для резервного копиро msgid "Create YAML sidecar files to back up picture metadata." msgstr "Создать побочные файлы YAML для резервного копирования метаданных картинок." -#: src/page/admin/sessions.vue:417 src/component/photo/edit/info.vue:412 +#: src/page/admin/sessions.vue:422 src/component/photo/edit/info.vue:412 msgid "Created" msgstr "Создано" @@ -845,11 +867,11 @@ msgstr "Сформировать предпросмотр" msgid "Cubic: Moderate Quality, Good Performance" msgstr "Кубический: умеренное качество, хорошая производительность" -#: src/component/settings/password.vue:85 +#: src/component/settings/password.vue:86 msgid "Current Password" msgstr "Текущий пароль" -#: src/options/themes.js:919 src/options/themes.js:928 +#: src/options/themes.js:920 src/options/themes.js:929 msgid "Custom" msgstr "Пользовательский" @@ -865,11 +887,11 @@ msgstr "Ежедневно" msgid "Database Backups" msgstr "Резервные копии баз данных" -#: src/page/settings/account.vue:450 src/component/photo/edit/details.vue:110 +#: src/page/settings/account.vue:456 src/component/photo/edit/details.vue:112 msgid "Day" msgstr "День" -#: src/component/settings/passcode.vue:445 +#: src/component/settings/passcode.vue:448 msgid "Deactivate" msgstr "Деактивировать" @@ -877,36 +899,40 @@ msgstr "Деактивировать" msgid "Debug Logs" msgstr "Отладочные Логи" -#: src/options/admin.js:31 src/page/admin/sessions.vue:136 -#: src/page/admin/users.vue:176 src/component/photo/edit/info.vue:47 +#: src/options/admin.js:35 src/page/admin/sessions.vue:136 +#: src/page/admin/users.vue:178 src/component/photo/edit/info.vue:47 #: src/component/photo/edit/info.vue:110 src/model/session.js:66 -#: src/model/user.js:246 src/options/auth.js:20 src/options/auth.js:21 -#: src/options/auth.js:39 src/options/auth.js:40 src/options/options.js:196 +#: src/model/user.js:246 src/options/auth.js:21 src/options/auth.js:22 +#: src/options/auth.js:40 src/options/auth.js:41 src/options/options.js:196 #: src/options/options.js:232 src/options/options.js:316 -#: src/options/themes.js:773 +#: src/options/themes.js:774 msgid "Default" msgstr "По умолчанию" -#: src/component/service/edit.vue:123 +#: src/component/service/edit.vue:124 msgid "Default Folder" msgstr "Папка по умолчанию" #: src/component/session/remove/dialog.vue:56 #: src/component/user/remove/dialog.vue:56 src/component/album/clipboard.vue:97 -#: src/component/album/delete/dialog.vue:54 -#: src/component/file/delete/dialog.vue:58 src/component/label/clipboard.vue:58 -#: src/component/label/delete/dialog.vue:58 +#: src/component/album/delete/dialog.vue:54 src/component/album/toolbar.vue:137 +#: src/component/file/delete/dialog.vue:59 src/component/label/clipboard.vue:58 +#: src/component/label/delete/dialog.vue:59 #: src/component/photo/clipboard.vue:168 src/component/photo/edit/files.vue:238 -#: src/component/service/remove.vue:60 src/component/share/dialog.vue:170 +#: src/component/service/remove.vue:61 src/component/share/dialog.vue:170 #: src/page/settings/general.vue:457 msgid "Delete" msgstr "Удалить" +#: src/component/album/toolbar.vue:133 +msgid "Delete Album" +msgstr "Удалить альбом" + #: src/component/photo/toolbar.vue:119 src/page/library/errors.vue:95 msgid "Delete All" msgstr "Удалить все" -#: src/component/photo/toolbar.vue:433 src/page/library/errors.vue:193 +#: src/component/photo/toolbar.vue:435 src/page/library/errors.vue:193 msgid "Delete all?" msgstr "Удалить все?" @@ -914,16 +940,16 @@ msgstr "Удалить все?" msgid "Delete orphaned index entries, sidecar files and thumbnails." msgstr "Удалить бесхозные записи в индексе, файлы sidecar и миниатюры." -#: src/component/album/edit/dialog.vue:107 src/page/albums.vue:411 +#: src/component/album/edit/dialog.vue:108 src/page/albums.vue:411 msgid "Description" msgstr "Описание" -#: src/component/settings/webdav.vue:115 +#: src/component/settings/webdav.vue:116 msgid "Detailed instructions can be found in our User Guide." msgstr "Подробные инструкции можно найти в нашем руководстве пользователя." -#: src/component/photo/edit/dialog.vue:156 -#: src/component/photo/edit/dialog.vue:173 +#: src/component/photo/edit/dialog.vue:162 +#: src/component/photo/edit/dialog.vue:181 msgid "Details" msgstr "Детали" @@ -987,8 +1013,8 @@ msgstr "Отключает поддержку векторной графики. msgid "Disables video transcoding and thumbnail extraction." msgstr "Отключает перекодирование видео и извлечение миниатюр." -#: src/app/routes.js:558 src/app/routes.js:565 src/app/routes.js:572 -#: src/app/routes.js:579 +#: src/app/routes.js:566 src/app/routes.js:573 src/app/routes.js:580 +#: src/app/routes.js:587 msgid "Discover" msgstr "Исследование" @@ -996,9 +1022,9 @@ msgstr "Исследование" msgid "Dismiss" msgstr "Отклонить" -#: src/component/user/add/dialog.vue:133 src/component/user/add/dialog.vue:134 -#: src/component/user/edit/dialog.vue:163 -#: src/component/user/edit/dialog.vue:164 src/page/admin/users.vue:72 +#: src/component/user/add/dialog.vue:134 src/component/user/add/dialog.vue:135 +#: src/component/user/edit/dialog.vue:164 +#: src/component/user/edit/dialog.vue:165 src/page/admin/users.vue:74 #: src/page/settings/account.vue:149 src/page/settings/account.vue:151 msgid "Display Name" msgstr "Отображаемое имя" @@ -1013,12 +1039,12 @@ msgstr "Отображай названия картинок в результа #: src/component/photo/view/cards.vue:339 #: src/component/photo/view/cards.vue:521 -#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:174 +#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:176 #: src/options/options.js:309 msgid "Document" msgstr "Документ" -#: src/component/navigation.vue:480 +#: src/component/navigation.vue:482 msgid "Documents" msgstr "Документы" @@ -1034,16 +1060,16 @@ msgstr "Не используйте ImageMagick для преобразован msgid "Don't use RawTherapee to convert RAW images." msgstr "Не использовать RawTherapee для конвертирования RAW-файлов." -#: src/component/settings/apps.vue:238 src/component/share/dialog.vue:29 +#: src/component/settings/apps.vue:241 src/component/share/dialog.vue:29 msgid "Done" msgstr "Готово" -#: src/component/upload/dialog.vue:135 src/page/library/import.vue:46 +#: src/component/upload/dialog.vue:137 src/page/library/import.vue:46 #: src/page/library/index.vue:52 msgid "Done." msgstr "Готово." -#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:118 +#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:123 #: src/component/file/clipboard.vue:48 src/component/lightbox.vue:1235 #: src/component/people/clipboard.vue:47 src/component/photo/clipboard.vue:116 #: src/component/photo/edit/files.vue:168 src/page/settings/content.vue:331 @@ -1055,7 +1081,7 @@ msgstr "Скачать" msgid "Download only original media files, without any automatically generated files." msgstr "Загружайте только оригинальные медиафайлы, без каких-либо автоматически сгенерированных файлов." -#: src/component/service/edit.vue:237 +#: src/component/service/edit.vue:238 msgid "Download remote files" msgstr "Скачать удалённые файлы" @@ -1063,9 +1089,9 @@ msgstr "Скачать удалённые файлы" msgid "Download single files and zip archives." msgstr "Скачать отдельные файлы и zip-архивы." -#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:157 +#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:172 #: src/component/file/clipboard.vue:61 src/component/label/clipboard.vue:86 -#: src/component/lightbox.vue:2021 src/component/people/clipboard.vue:59 +#: src/component/lightbox.vue:2041 src/component/people/clipboard.vue:59 #: src/component/photo/clipboard.vue:220 src/component/photo/edit/files.vue:119 #: src/component/photo/view/cards.vue:169 src/component/photo/view/list.vue:142 #: src/page/library/browse.vue:139 @@ -1080,7 +1106,7 @@ msgstr "Алгоритм создания превью" msgid "Drag and drop files here" msgstr "Перетаскивай файлы сюда" -#: src/page/about/feedback.vue:61 +#: src/page/about/feedback.vue:62 msgid "Due to the high volume of emails we receive, our team may be unable to get back to you immediately." msgstr "Из-за большого количества электронных писем, которые мы получаем, наша команда, возможно, не сможет немедленно связаться с вами." @@ -1100,23 +1126,23 @@ msgstr "Динамические превью" msgid "Dynamic Size Limit: %{n}px" msgstr "Недостигнутое ограничение размера: %{n}px" -#: src/page/about/feedback.vue:141 src/page/about/feedback.vue:140 +#: src/page/about/feedback.vue:142 src/page/about/feedback.vue:141 msgid "E-Mail" msgstr "E-Mail" -#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:89 +#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:94 #: src/component/lightbox.vue:1136 src/component/lightbox.vue:1137 #: src/component/photo/clipboard.vue:90 src/page/settings/general.vue:407 msgid "Edit" msgstr "Редактировать" -#: src/component/album/edit/dialog.vue:54 -#: src/component/label/edit/dialog.vue:52 -#: src/component/people/edit/dialog.vue:52 +#: src/component/album/edit/dialog.vue:55 +#: src/component/label/edit/dialog.vue:53 +#: src/component/people/edit/dialog.vue:53 msgid "Edit %{s}" msgstr "Редактировать %{s}" -#: src/component/user/edit/dialog.vue:61 src/component/service/edit.vue:79 +#: src/component/user/edit/dialog.vue:62 src/component/service/edit.vue:79 msgid "Edit Account" msgstr "Редактировать аккаунт" @@ -1128,8 +1154,8 @@ msgstr "Редактировать фотографию" msgid "Edited" msgstr "Отредактировано" -#: src/component/user/add/dialog.vue:151 src/component/user/edit/dialog.vue:213 -#: src/page/settings/account.vue:171 src/page/settings/account.vue:593 +#: src/component/user/add/dialog.vue:152 src/component/user/edit/dialog.vue:214 +#: src/page/settings/account.vue:171 src/page/settings/account.vue:599 msgid "Email" msgstr "Электронная почта" @@ -1145,7 +1171,7 @@ msgstr "Включай новые функции, которые могут бы msgid "Enables RAW converter presets. May reduce performance." msgstr "Включает предустановки конвертера RAW. Может снизить производительность." -#: src/component/settings/passcode.vue:127 +#: src/component/settings/passcode.vue:130 msgid "Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account." msgstr "Включение двухфакторной аутентификации означает, что для входа в систему вам понадобится случайно сгенерированный код подтверждения, поэтому даже если кто-то получит доступ к вашему паролю, он не сможет получить доступ к вашей учетной записи." @@ -1157,7 +1183,7 @@ msgstr "Введите дату" msgid "Enter dates" msgstr "Введите даты" -#: src/component/settings/passcode.vue:213 src/page/auth/login.vue:104 +#: src/component/settings/passcode.vue:216 src/page/auth/login.vue:104 msgid "Enter the code generated by your authenticator app:" msgstr "Введи код, сгенерированный твоим приложением-аутентификатором:" @@ -1165,7 +1191,7 @@ msgstr "Введи код, сгенерированный твоим прило msgid "Enter verification code" msgstr "введите код подтверждения" -#: src/component/settings/apps.vue:109 +#: src/component/settings/apps.vue:112 msgid "Enter your password to confirm the action and continue:" msgstr "Введите пароль, чтобы подтвердить действие и продолжить:" @@ -1174,7 +1200,7 @@ msgstr "Введите пароль, чтобы подтвердить дейс msgid "Error" msgstr "Ошибка" -#: src/app/routes.js:374 src/component/navigation.vue:1348 +#: src/app/routes.js:382 src/component/navigation.vue:1372 msgid "Errors" msgstr "Ошибки" @@ -1210,13 +1236,13 @@ msgstr "Для полной поддержки Video, Live Photo и XMP треб msgid "Experimental Features" msgstr "Экспериментальные возможности" -#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:453 -#: src/component/service/edit.vue:157 src/component/settings/apps.vue:73 -#: src/component/settings/apps.vue:326 src/component/share/dialog.vue:62 +#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:458 +#: src/component/service/edit.vue:158 src/component/settings/apps.vue:73 +#: src/component/settings/apps.vue:329 src/component/share/dialog.vue:62 msgid "Expires" msgstr "Ожидаемое время" -#: src/component/photo/edit/details.vue:396 +#: src/component/photo/edit/details.vue:370 msgid "Exposure" msgstr "Экспозиция" @@ -1224,7 +1250,7 @@ msgstr "Экспозиция" msgid "Extract still images and generate thumbnails while indexing." msgstr "Извлекай неподвижные изображения и создавай миниатюры во время индексации." -#: src/component/photo/edit/details.vue:444 +#: src/component/photo/edit/details.vue:418 msgid "F Number" msgstr "Диафрагменное число" @@ -1240,7 +1266,7 @@ msgstr "Лица" msgid "Failed removing link" msgstr "Не удалось удалить ссылку" -#: src/page/connect.vue:106 src/page/connect.vue:110 +#: src/page/connect.vue:107 src/page/connect.vue:111 msgid "Failed to connect account." msgstr "Не удалось подключить аккаунт." @@ -1248,8 +1274,8 @@ msgstr "Не удалось подключить аккаунт." msgid "Failed updating link" msgstr "Не удалось загрузить ссылку" -#: src/component/user/edit/dialog.vue:143 -#: src/component/user/edit/dialog.vue:144 src/page/settings/account.vue:128 +#: src/component/user/edit/dialog.vue:144 +#: src/component/user/edit/dialog.vue:145 src/page/settings/account.vue:128 #: src/page/settings/account.vue:130 msgid "Family Name" msgstr "Фамилия" @@ -1258,15 +1284,15 @@ msgstr "Фамилия" msgid "Fast" msgstr "Быстро" -#: src/component/album/edit/dialog.vue:159 -#: src/component/label/edit/dialog.vue:85 -#: src/component/people/edit/dialog.vue:85 +#: src/component/album/edit/dialog.vue:160 +#: src/component/label/edit/dialog.vue:86 +#: src/component/people/edit/dialog.vue:86 #: src/component/photo/edit/info.vue:287 msgid "Favorite" msgstr "В избранном" -#: src/app/routes.js:222 src/component/navigation.vue:893 -#: src/options/options.js:202 src/page/albums.vue:97 +#: src/app/routes.js:230 src/component/navigation.vue:903 +#: src/options/options.js:202 src/page/albums.vue:98 msgid "Favorites" msgstr "Избранное" @@ -1274,7 +1300,7 @@ msgstr "Избранное" msgid "Feature Request" msgstr "Запрос функции" -#: src/component/navigation.vue:1456 +#: src/component/navigation.vue:1482 msgid "Feedback" msgstr "Обратная связь" @@ -1282,11 +1308,12 @@ msgstr "Обратная связь" msgid "Female" msgstr "Женский" -#: src/component/photo/edit/info.vue:214 src/model/file.js:290 +#: src/component/photo/edit/info.vue:57 src/component/photo/edit/info.vue:214 +#: src/model/file.js:290 msgid "File" msgstr "Файлы" -#: src/app/routes.js:343 +#: src/app/routes.js:351 msgid "File Browser" msgstr "Файловый менеджер" @@ -1309,8 +1336,8 @@ msgstr "Размер файла" msgid "Filename" msgstr "Название файла" -#: src/component/navigation.vue:1930 src/component/photo/edit/dialog.vue:267 -#: src/component/photo/edit/dialog.vue:284 +#: src/component/navigation.vue:1973 src/component/photo/edit/dialog.vue:279 +#: src/component/photo/edit/dialog.vue:298 msgid "Files" msgstr "Файлы" @@ -1322,26 +1349,26 @@ msgstr "Файлы с последовательными именами типа msgid "First page" msgstr "Первая страница" -#: src/component/photo/edit/details.vue:465 +#: src/component/photo/edit/details.vue:439 msgid "Focal Length" msgstr "Фокусное расстояние" -#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:118 -#: src/component/service/edit.vue:189 src/component/service/edit.vue:194 -#: src/component/service/upload.vue:90 src/component/service/upload.vue:96 +#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:119 +#: src/component/service/edit.vue:190 src/component/service/edit.vue:195 +#: src/component/service/upload.vue:91 src/component/service/upload.vue:97 #: src/model/folder.js:199 src/page/library/browse.vue:182 msgid "Folder" msgstr "Папка" -#: src/page/library/browse.vue:365 +#: src/page/library/browse.vue:367 msgid "Folder contains %{n} files" msgstr "Папка содержит %{n} файлов" -#: src/page/library/browse.vue:356 +#: src/page/library/browse.vue:358 msgid "Folder is empty" msgstr "Папка пуста" -#: src/app/routes.js:202 src/component/navigation.vue:1225 +#: src/app/routes.js:210 src/component/navigation.vue:1247 #: src/options/options.js:207 msgid "Folders" msgstr "Папки" @@ -1358,7 +1385,7 @@ msgstr "FPS" msgid "Frames" msgstr "ფრეიმი" -#: src/options/auth.js:54 src/options/auth.js:64 +#: src/options/auth.js:55 src/options/auth.js:65 msgid "Full Access" msgstr "Полный доступ" @@ -1370,7 +1397,7 @@ msgstr "Полный экран" msgid "General" msgstr "Основные" -#: src/component/settings/apps.vue:364 +#: src/component/settings/apps.vue:367 msgid "Generate" msgstr "Генерировать" @@ -1390,8 +1417,8 @@ msgstr "Сгенерированный" msgid "Get Started" msgstr "Начни" -#: src/component/user/edit/dialog.vue:120 -#: src/component/user/edit/dialog.vue:121 src/page/settings/account.vue:106 +#: src/component/user/edit/dialog.vue:121 +#: src/component/user/edit/dialog.vue:122 src/page/settings/account.vue:106 #: src/page/settings/account.vue:108 msgid "Given Name" msgstr "Имя" @@ -1416,7 +1443,7 @@ msgstr "Зеленый" msgid "Grey" msgstr "Серый" -#: src/options/admin.js:22 src/options/auth.js:10 +#: src/options/admin.js:26 src/options/auth.js:11 msgid "Guest" msgstr "Гость" @@ -1432,15 +1459,15 @@ msgstr "Помощь" msgid "Help & Support" msgstr "Помощь и поддержка" -#: src/component/navigation.vue:1327 src/component/people/edit/dialog.vue:98 +#: src/component/navigation.vue:1351 src/component/people/edit/dialog.vue:99 msgid "Hidden" msgstr "Скрытые" -#: src/app/routes.js:358 +#: src/app/routes.js:366 msgid "Hidden Files" msgstr "Скрытые файлы" -#: src/page/people/new.vue:165 src/page/people/recognized.vue:205 +#: src/page/people/new.vue:166 src/page/people/recognized.vue:206 msgid "Hide" msgstr "Скрыть" @@ -1456,7 +1483,7 @@ msgstr "Высокий" msgid "High Dynamic Range (HDR)" msgstr "Высокий динамический диапазон (HDR)" -#: src/page/about/feedback.vue:103 +#: src/page/about/feedback.vue:104 msgid "How can we help?" msgstr "Как мы можем помочь?" @@ -1464,11 +1491,11 @@ msgstr "Как мы можем помочь?" msgid "Hybrid" msgstr "Гибрид" -#: src/component/settings/passcode.vue:389 +#: src/component/settings/passcode.vue:392 msgid "If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account." msgstr "Если вы потеряете доступ к приложению или устройству для проверки подлинности, вы можете использовать код восстановления, чтобы восстановить доступ к своей учетной записи." -#: src/component/photo/edit/info.vue:63 src/component/photo/edit/labels.vue:46 +#: src/component/photo/edit/info.vue:65 src/component/photo/edit/labels.vue:46 #: src/component/photo/view/cards.vue:532 src/model/file.js:218 #: src/options/options.js:281 msgid "Image" @@ -1478,7 +1505,7 @@ msgstr "Изображение" msgid "Image Quality" msgstr "Качество изображения" -#: src/page/library.vue:46 src/page/library/import.vue:152 +#: src/page/library.vue:46 src/page/library/import.vue:153 #: src/page/settings/general.vue:357 msgid "Import" msgstr "Импортировать" @@ -1503,8 +1530,8 @@ msgstr "Импорт %{s}…" msgid "Importing files to originals…" msgstr "Импорт файлов в оригиналы…" -#: src/component/photo/edit/files.vue:515 -#: src/component/photo/edit/files.vue:520 +#: src/component/photo/edit/files.vue:517 +#: src/component/photo/edit/files.vue:522 msgid "in" msgstr "в" @@ -1522,11 +1549,11 @@ msgstr "Включать файлы изображений RAW при загру msgid "Include sidecar files when downloading stacks and archives." msgstr "Включать файлы sidecar при загрузке стеков и архивов." -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Increase storage size or delete files to continue." msgstr "Увеличь размер хранилища или удали файлы, чтобы продолжить." -#: src/component/navigation.vue:1946 src/page/library.vue:36 +#: src/component/navigation.vue:1990 src/page/library.vue:36 #: src/page/settings/content.vue:34 msgid "Index" msgstr "Индексировать" @@ -1556,11 +1583,11 @@ msgstr "Информация" msgid "Instance ID" msgstr "Идентификатор узла" -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Insufficient storage." msgstr "Недостаточно места для хранения." -#: src/component/service/edit.vue:209 +#: src/component/service/edit.vue:210 msgid "Interval" msgstr "Интервал" @@ -1581,7 +1608,7 @@ msgstr "Неверный адрес" msgid "Invalid country" msgstr "Неверная страна" -#: src/component/photo/edit/details.vue:174 +#: src/component/photo/edit/details.vue:169 msgid "Invalid date" msgstr "Неверная дата" @@ -1590,7 +1617,7 @@ msgstr "Неверная дата" msgid "Invalid parameters" msgstr "Недопустимые параметры" -#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:197 +#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:199 msgid "Invalid photo selected" msgstr "Выбрана недопустимая фотография" @@ -1602,8 +1629,8 @@ msgstr "Неверное время" msgid "Invalid URL" msgstr "Неверный URL" -#: src/component/settings/passcode.vue:314 -#: src/component/settings/passcode.vue:391 +#: src/component/settings/passcode.vue:317 +#: src/component/settings/passcode.vue:394 msgid "It is a one-time use code that will disable 2FA for your account when you use it." msgstr "Это одноразовый код, который отключит 2ФА для вашей учетной записи, когда вы его используете." @@ -1627,7 +1654,7 @@ msgstr "Ограничение по размеру в формате JPEG: %{n}p msgid "JPEGs and thumbnails are automatically rendered as needed." msgstr "JPEG и эскизы автоматически отображаются по мере необходимости." -#: src/component/photo/edit/details.vue:581 +#: src/component/photo/edit/details.vue:555 msgid "Keywords" msgstr "Ключевые слова" @@ -1636,9 +1663,9 @@ msgstr "Ключевые слова" msgid "Label" msgstr "Метка" -#: src/app/routes.js:389 src/component/navigation.vue:1177 -#: src/component/photo/edit/dialog.vue:188 -#: src/component/photo/edit/dialog.vue:205 src/options/options.js:206 +#: src/app/routes.js:397 src/component/navigation.vue:1197 +#: src/component/photo/edit/dialog.vue:196 +#: src/component/photo/edit/dialog.vue:215 src/options/options.js:206 #: src/page/settings/general.vue:255 msgid "Labels" msgstr "Метки" @@ -1655,11 +1682,11 @@ msgstr "Lanczos: сохранение деталей, минимальные а msgid "Language" msgstr "Язык" -#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:435 +#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:440 msgid "Last Active" msgstr "Последний активный" -#: src/page/admin/users.vue:81 +#: src/page/admin/users.vue:83 msgid "Last Login" msgstr "Последний вход в систему" @@ -1675,42 +1702,41 @@ msgstr "Последняя синхронизация" msgid "Last Used" msgstr "Последний используемый" -#: src/component/photo/edit/details.vue:298 #: src/component/photo/edit/info.vue:373 msgid "Latitude" msgstr "Широта" -#: src/options/admin.js:43 src/options/auth.js:29 +#: src/options/admin.js:47 src/options/auth.js:30 msgid "LDAP/AD" msgstr "LDAP/AD" -#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:86 -#: src/page/about/about.vue:62 src/page/about/about.vue:132 +#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:87 +#: src/page/about/about.vue:62 src/page/about/about.vue:133 #: src/page/connect.vue:67 src/page/help.vue:36 msgid "Learn more" msgstr "Узнать больше" -#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:135 +#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:137 #: src/page/labels.vue:132 msgid "Learn More" msgstr "Узнай больше" -#: src/component/navigation.vue:2017 +#: src/component/navigation.vue:2066 msgid "Legal Information" msgstr "Юридическая информация" -#: src/component/photo/edit/details.vue:417 +#: src/component/photo/edit/details.vue:391 #: src/component/photo/view/cards.vue:480 msgid "Lens" msgstr "Объектив" -#: src/app/routes.js:443 src/app/routes.js:459 src/app/routes.js:475 -#: src/component/navigation.vue:1267 src/page/settings/general.vue:507 +#: src/app/routes.js:451 src/app/routes.js:467 src/app/routes.js:483 +#: src/component/navigation.vue:1290 src/page/settings/general.vue:507 msgid "Library" msgstr "Библиотека" #: src/page/connect.vue:45 src/app/routes.js:69 -#: src/component/navigation.vue:1478 src/component/photo/edit/details.vue:559 +#: src/component/navigation.vue:1504 src/component/photo/edit/details.vue:533 #: src/page/about/license.vue:28 msgid "License" msgstr "Лицензия" @@ -1723,7 +1749,7 @@ msgstr "Нравится" msgid "Lime" msgstr "Лайм" -#: src/page/library/browse.vue:369 +#: src/page/library/browse.vue:371 msgid "Limit reached, showing first %{n} files" msgstr "Лимит превышен, отображение первых %{n} файлов" @@ -1731,7 +1757,7 @@ msgstr "Лимит превышен, отображение первых %{n} ф msgid "Linear: Very Smooth, Best Performance" msgstr "Линейный: очень сглаженный, лучшая производительность" -#: src/model/link.js:117 src/options/auth.js:30 src/options/auth.js:31 +#: src/model/link.js:117 src/options/auth.js:31 src/options/auth.js:32 msgid "Link" msgstr "Ссылка" @@ -1749,7 +1775,7 @@ msgstr "Вид списка" msgid "Live" msgstr "Прямой эфир" -#: src/app/routes.js:236 src/component/navigation.vue:749 +#: src/app/routes.js:244 src/component/navigation.vue:755 msgid "Live Photos" msgstr "Живые фотографии" @@ -1765,21 +1791,24 @@ msgstr "Загружаемые предметы..." msgid "Loading..." msgstr "Loading..." -#: src/options/admin.js:35 src/options/auth.js:22 src/options/auth.js:27 +#: src/options/admin.js:39 src/options/auth.js:23 src/options/auth.js:28 #: src/options/options.js:38 src/page/settings/general.vue:107 msgid "Local" msgstr "Местный" -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Local Time" msgstr "Местное время" -#: src/page/settings/account.vue:665 src/page/settings/account.vue:667 -#: src/component/album/edit/dialog.vue:92 src/component/photo/edit/info.vue:65 -#: src/component/photo/edit/labels.vue:48 +#: src/page/settings/account.vue:671 src/page/settings/account.vue:673 +#: src/component/album/edit/dialog.vue:93 +#: src/component/photo/edit/details.vue:38 +#: src/component/photo/edit/details.vue:116 +#: src/component/photo/edit/details.vue:210 +#: src/component/photo/edit/info.vue:67 src/component/photo/edit/labels.vue:48 #: src/component/photo/view/cards.vue:555 src/component/photo/view/list.vue:117 -#: src/component/sidebar/info.vue:107 src/page/albums.vue:99 -#: src/page/settings/account.vue:557 src/page/settings/account.vue:559 +#: src/component/sidebar/info.vue:107 src/page/albums.vue:100 +#: src/page/settings/account.vue:563 src/page/settings/account.vue:565 msgid "Location" msgstr "Местоположение" @@ -1787,20 +1816,19 @@ msgstr "Местоположение" msgid "Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues." msgstr "Сообщения журнала появляются здесь всякий раз когда PhotoPrism сталкивается с поврежденными файлами или другими потенциальными проблемами." -#: src/component/navigation.vue:1552 src/component/navigation.vue:1840 +#: src/component/navigation.vue:1579 src/component/navigation.vue:1877 msgid "Login" msgstr "Вход" -#: src/component/navigation.vue:1759 +#: src/component/navigation.vue:1791 msgid "Logout" msgstr "Выйти" -#: src/component/navigation.vue:1962 src/page/library.vue:59 +#: src/component/navigation.vue:2007 src/page/library.vue:59 #: src/page/settings/general.vue:557 msgid "Logs" msgstr "Журнал" -#: src/component/photo/edit/details.vue:324 #: src/component/photo/edit/info.vue:379 msgid "Longitude" msgstr "Долгота" @@ -1813,7 +1841,7 @@ msgstr "Низкий" msgid "Magenta" msgstr "Пурпурный" -#: src/component/photo/edit/files.vue:489 +#: src/component/photo/edit/files.vue:491 msgid "Main Color" msgstr "Основной цвет" @@ -1821,12 +1849,16 @@ msgstr "Основной цвет" msgid "Male" msgstr "Мужской" -#: src/page/connect.vue:164 src/page/connect.vue:246 -#: src/page/about/about.vue:171 src/page/connect.vue:168 -#: src/page/connect.vue:255 +#: src/page/connect.vue:165 src/page/connect.vue:248 +#: src/page/about/about.vue:173 src/page/connect.vue:169 +#: src/page/connect.vue:257 msgid "Manage Account" msgstr "Управление счетом" +#: src/options/admin.js:10 src/options/auth.js:7 +msgid "Manager" +msgstr "Менеджер" + #: src/component/photo/edit/info.vue:49 src/component/photo/edit/labels.vue:38 msgid "Manual" msgstr "Руководство" @@ -1843,11 +1875,11 @@ msgstr "Карты" msgid "Marker" msgstr "Маркер" -#: src/component/user/add/dialog.vue:69 +#: src/component/user/add/dialog.vue:70 msgid "Maximum number of accounts has been reached." msgstr "Максимальное количество аккаунтов достигнуто." -#: src/app/routes.js:229 src/component/navigation.vue:688 +#: src/app/routes.js:237 src/component/navigation.vue:693 #: src/options/options.js:199 msgid "Media" msgstr "Медиа" @@ -1864,7 +1896,7 @@ msgstr "Членство" msgid "Merge %{a} with %{b}?" msgstr "Объединить %{a} с %{b}?" -#: src/page/about/feedback.vue:102 +#: src/page/about/feedback.vue:103 msgid "Message" msgstr "Сообщение" @@ -1876,7 +1908,7 @@ msgstr "Сообщение отправлено" msgid "Metadata" msgstr "Метаданные" -#: src/options/auth.js:56 src/options/auth.js:72 +#: src/options/auth.js:57 src/options/auth.js:73 msgid "Metrics" msgstr "Метрики" @@ -1884,7 +1916,7 @@ msgstr "Метрики" msgid "Minimize" msgstr "Свернуть" -#: src/component/photo/edit/files.vue:509 src/component/photo/edit/info.vue:367 +#: src/component/photo/edit/files.vue:511 src/component/photo/edit/info.vue:367 msgid "Missing" msgstr "Пропущено" @@ -1892,17 +1924,17 @@ msgstr "Пропущено" msgid "Missing or invalid configuration" msgstr "Отсутствующая или недействительная конфигурация" -#: src/app/routes.js:163 src/component/navigation.vue:1129 +#: src/app/routes.js:171 src/component/navigation.vue:1147 #: src/options/options.js:205 src/page/settings/general.vue:230 msgid "Moments" msgstr "Моменты" -#: src/component/navigation.vue:383 +#: src/component/navigation.vue:385 msgid "Monochrome" msgstr "Монохромные" -#: src/page/settings/account.vue:475 src/component/photo/edit/details.vue:137 -#: src/component/photo/toolbar.vue:342 +#: src/page/settings/account.vue:481 src/component/photo/edit/details.vue:139 +#: src/component/photo/toolbar.vue:344 msgid "Month" msgstr "Месяц" @@ -1922,7 +1954,7 @@ msgstr "Наиболее подходящие" msgid "Move Files" msgstr "Перемещать файлы" -#: src/component/settings/password.vue:107 +#: src/component/settings/password.vue:108 msgid "Must have at least %{n} characters." msgstr "Должно быть не менее %{n} символов." @@ -1930,20 +1962,20 @@ msgstr "Должно быть не менее %{n} символов." msgid "Mute" msgstr "Отключи звук" -#: src/page/about/feedback.vue:121 src/page/about/feedback.vue:122 -#: src/component/album/edit/dialog.vue:77 -#: src/component/label/edit/dialog.vue:71 -#: src/component/people/edit/dialog.vue:71 -#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:57 +#: src/page/about/feedback.vue:122 src/page/about/feedback.vue:123 +#: src/component/album/edit/dialog.vue:78 +#: src/component/label/edit/dialog.vue:72 +#: src/component/people/edit/dialog.vue:72 +#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:59 #: src/component/photo/edit/info.vue:125 src/component/photo/edit/people.vue:36 -#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:310 -#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:286 -#: src/page/albums.vue:98 src/page/auth/login.vue:168 +#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:311 +#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:289 +#: src/page/albums.vue:99 src/page/auth/login.vue:168 #: src/page/people/new.vue:68 src/page/settings/services.vue:37 msgid "Name" msgstr "Название" -#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:60 +#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:65 #: src/component/label/edit/dialog.vue:19 #: src/component/people/edit/dialog.vue:19 #: src/component/photo/edit/labels.vue:30 @@ -1953,7 +1985,7 @@ msgstr "Название" msgid "Name too long" msgstr "Название слишком длинное" -#: src/page/admin/users.vue:204 src/options/options.js:361 +#: src/page/admin/users.vue:206 src/options/options.js:361 #: src/options/options.js:371 src/page/settings/services.vue:75 msgid "Never" msgstr "Никогда" @@ -1962,13 +1994,13 @@ msgstr "Никогда" msgid "New" msgstr "Новый" -#: src/component/settings/password.vue:106 +#: src/component/settings/password.vue:107 msgid "New Password" msgstr "Новый пароль" #: src/component/album/edit/dialog.vue:24 src/component/photo/toolbar.vue:114 #: src/component/photo/toolbar.vue:126 src/component/photo/toolbar.vue:136 -#: src/page/albums.vue:100 +#: src/page/albums.vue:101 msgid "Newest First" msgstr "Сначала новые" @@ -1984,15 +2016,15 @@ msgstr "Следующая страница" msgid "Next visual" msgstr "Следующий визуальный" -#: src/component/people/merge/dialog.vue:47 -#: src/component/photo/archive/dialog.vue:47 +#: src/component/people/merge/dialog.vue:48 +#: src/component/photo/archive/dialog.vue:48 #: src/component/photo/edit/info.vue:281 src/component/photo/edit/info.vue:297 #: src/component/photo/edit/info.vue:313 src/component/photo/edit/info.vue:329 #: src/component/photo/edit/info.vue:344 msgid "No" msgstr "Нет" -#: src/page/albums.vue:607 src/page/albums.vue:282 +#: src/page/albums.vue:612 src/page/albums.vue:282 msgid "No albums found" msgstr "Альбомы не найдены" @@ -2000,7 +2032,7 @@ msgstr "Альбомы не найдены" msgid "No data available" msgstr "Нет данных" -#: src/page/labels.vue:523 src/page/labels.vue:155 +#: src/page/labels.vue:528 src/page/labels.vue:155 msgid "No labels found" msgstr "Метки не найдены" @@ -2013,15 +2045,15 @@ msgid "No more" msgstr "Не больше" #: src/component/photo/edit/people.vue:34 src/page/people/new.vue:346 -#: src/page/people/new.vue:443 src/page/people/new.vue:103 -#: src/page/people/recognized.vue:531 src/page/people/recognized.vue:146 +#: src/page/people/new.vue:446 src/page/people/new.vue:103 +#: src/page/people/recognized.vue:536 src/page/people/recognized.vue:146 msgid "No people found" msgstr "Люди не найдены" #: src/component/lightbox.vue:365 src/component/photo/view/cards.vue:144 #: src/component/photo/view/list.vue:82 src/component/photo/view/mosaic.vue:68 -#: src/page/album/photos.vue:488 src/page/library/browse.vue:123 -#: src/page/photos.vue:626 src/page/places.vue:624 src/page/places.vue:730 +#: src/page/album/photos.vue:499 src/page/library/browse.vue:123 +#: src/page/photos.vue:636 src/page/places.vue:624 src/page/places.vue:730 msgid "No pictures found" msgstr "Фото не найдены" @@ -2030,7 +2062,11 @@ msgstr "Фото не найдены" msgid "No recently edited pictures" msgstr "Нет недавно отредактированных фотографий" -#: src/component/navigation.vue:1655 +#: src/component/location/dialog.vue:166 +msgid "No results" +msgstr "Нет результатов" + +#: src/component/navigation.vue:1686 msgid "No server connection" msgstr "Нет соединения с сервером" @@ -2042,7 +2078,7 @@ msgstr "Серверы не настроены." msgid "No services configured." msgstr "Службы не настроены." -#: src/component/confirm/sponsor.vue:72 +#: src/component/confirm/sponsor.vue:73 msgid "No thanks" msgstr "Нет, спасибо" @@ -2052,17 +2088,17 @@ msgstr "Нет предупреждений или ошибок содержащ #: src/component/photo/view/cards.vue:154 src/component/photo/view/list.vue:59 #: src/component/photo/view/list.vue:92 src/component/photo/view/mosaic.vue:78 -#: src/component/upload/dialog.vue:208 +#: src/component/upload/dialog.vue:210 msgid "Non-photographic and low-quality images require a review before they appear in search results." msgstr "Файлы, не являющиеся фотографиями, или изображения низкого качества нужно одобрить, чтобы они появились в результатах поиска." -#: src/options/admin.js:47 src/options/auth.js:32 src/options/options.js:212 +#: src/options/admin.js:51 src/options/auth.js:33 src/options/options.js:212 #: src/options/options.js:328 msgid "None" msgstr "Ничего" -#: src/common/util.js:853 src/component/lightbox.vue:633 -#: src/component/service/upload.vue:75 src/component/service/upload.vue:87 +#: src/component/lightbox.vue:633 src/component/service/upload.vue:75 +#: src/component/service/upload.vue:87 msgid "Not allowed" msgstr "Не разрешается" @@ -2074,8 +2110,7 @@ msgstr "Не найдено" msgid "Not sorted." msgstr "Не отсортировано." -#: src/common/util.js:858 src/component/lightbox.vue:627 -#: src/component/lightbox.vue:744 +#: src/component/lightbox.vue:627 src/component/lightbox.vue:744 msgid "Not supported" msgstr "Не поддерживается" @@ -2083,15 +2118,15 @@ msgstr "Не поддерживается" msgid "Note you may manually manage your originals folder and importing is optional." msgstr "Обратите внимание, что вы можете вручную управлять папкой оригиналов, а импорт необязателен." -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "Note:" msgstr "Примечание:" -#: src/component/service/add.vue:120 +#: src/component/service/add.vue:121 msgid "Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload." msgstr "Примечание: Только серверы WebDAV, такие как Nextcloud или PhotoPrism, могут быть настроены как удаленная служба для резервного копирования и загрузки файлов." -#: src/component/photo/edit/details.vue:603 +#: src/component/photo/edit/details.vue:577 msgid "Notes" msgstr "Заметки" @@ -2099,8 +2134,8 @@ msgstr "Заметки" msgid "Nothing to see here yet." msgstr "Здесь пока не на что смотреть." -#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:115 -#: src/component/settings/apps.vue:390 +#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:125 +#: src/component/settings/apps.vue:393 msgid "Nothing was found." msgstr "Ничего не было найдено." @@ -2108,7 +2143,7 @@ msgstr "Ничего не было найдено." msgid "Offline" msgstr "Не в сети" -#: src/options/admin.js:39 src/options/auth.js:28 +#: src/options/admin.js:43 src/options/auth.js:29 msgid "OIDC" msgstr "OIDC" @@ -2118,11 +2153,11 @@ msgstr "OK" #: src/component/album/edit/dialog.vue:25 src/component/photo/toolbar.vue:115 #: src/component/photo/toolbar.vue:127 src/component/photo/toolbar.vue:137 -#: src/page/albums.vue:101 +#: src/page/albums.vue:102 msgid "Oldest First" msgstr "Сначала старые" -#: src/component/settings/webdav.vue:77 +#: src/component/settings/webdav.vue:78 msgid "On Windows, enter the following resource in the connection dialog:" msgstr "В Windows введите следующий ресурс в диалоговом окне подключения:" @@ -2134,11 +2169,11 @@ msgstr "Генерация эскизов по требованию может msgid "Once a week" msgstr "Раз в неделю" -#: src/page/albums.vue:609 +#: src/page/albums.vue:614 msgid "One album found" msgstr "Найден один альбом" -#: src/page/library/browse.vue:358 +#: src/page/library/browse.vue:360 msgid "One file found" msgstr "Найден один файл" @@ -2146,24 +2181,24 @@ msgstr "Найден один файл" msgid "One file uploaded" msgstr "Загружен один файл" -#: src/page/library/browse.vue:360 +#: src/page/library/browse.vue:362 msgid "One folder found" msgstr "Найдена одна папка" -#: src/page/labels.vue:525 +#: src/page/labels.vue:530 msgid "One label found" msgstr "Найдена одна метка" -#: src/page/people/new.vue:348 src/page/people/new.vue:445 -#: src/page/people/recognized.vue:533 +#: src/page/people/new.vue:348 src/page/people/new.vue:448 +#: src/page/people/recognized.vue:538 msgid "One person found" msgstr "Найден один человек" -#: src/page/album/photos.vue:490 src/page/photos.vue:628 +#: src/page/album/photos.vue:501 src/page/photos.vue:638 msgid "One picture found" msgstr "Найдена одна фотография" -#: src/component/settings/passcode.vue:478 +#: src/component/settings/passcode.vue:481 msgid "Only locally managed accounts can be set up for authentication with 2FA." msgstr "Для аутентификации с помощью 2ФА можно настроить только локально управляемые учетные записи." @@ -2171,7 +2206,7 @@ msgstr "Для аутентификации с помощью 2ФА можно msgid "Open" msgstr "Открыть" -#: src/component/service/add.vue:86 src/component/service/add.vue:107 +#: src/component/service/add.vue:87 src/component/service/add.vue:108 msgid "optional" msgstr "Дополнительно" @@ -2183,7 +2218,7 @@ msgstr "или" msgid "Orange" msgstr "Оранжевый" -#: src/page/settings/account.vue:571 src/page/settings/account.vue:573 +#: src/page/settings/account.vue:577 src/page/settings/account.vue:579 msgid "Organization" msgstr "Организация" @@ -2199,7 +2234,7 @@ msgstr "Оригинальные имена файлов будут сохран msgid "Original Name" msgstr "Оригинальное Название" -#: src/component/navigation.vue:1304 src/model/file.js:196 +#: src/component/navigation.vue:1328 src/model/file.js:196 #: src/options/options.js:413 src/page/library/browse.vue:65 #: src/page/settings/content.vue:356 src/page/settings/general.vue:532 msgid "Originals" @@ -2210,7 +2245,7 @@ msgstr "Оригиналы" msgid "Other" msgstr "Другой" -#: src/page/about/about.vue:77 src/page/about/about.vue:83 +#: src/page/about/about.vue:78 src/page/about/about.vue:84 msgid "Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible." msgstr "Наша задача - предоставить наиболее удобное для пользователя и конфиденциальности решение для хранения ваших фотографий в упорядоченном и доступном виде." @@ -2222,7 +2257,7 @@ msgstr "Активности на открытом воздухе" msgid "Page {0}, Current page" msgstr "Страница {0}, текущая страница" -#: src/component/photo/edit/files.vue:352 src/model/photo.js:859 +#: src/component/photo/edit/files.vue:352 src/model/photo.js:896 msgid "Pages" msgstr "Страницы" @@ -2234,15 +2269,15 @@ msgstr "Навигация по пагинации" msgid "Panorama" msgstr "Панорама" -#: src/component/navigation.vue:402 +#: src/component/navigation.vue:404 msgid "Panoramas" msgstr "Панорамы" -#: src/component/user/add/dialog.vue:114 src/component/user/add/dialog.vue:115 -#: src/component/service/add.vue:106 src/component/service/edit.vue:352 -#: src/component/settings/apps.vue:121 src/component/settings/passcode.vue:106 -#: src/component/settings/passcode.vue:413 src/component/share/dialog.vue:27 -#: src/options/auth.js:91 src/page/auth/login.vue:196 +#: src/component/user/add/dialog.vue:115 src/component/user/add/dialog.vue:116 +#: src/component/service/add.vue:107 src/component/service/edit.vue:353 +#: src/component/settings/apps.vue:124 src/component/settings/passcode.vue:109 +#: src/component/settings/passcode.vue:416 src/component/share/dialog.vue:27 +#: src/options/auth.js:92 src/page/auth/login.vue:196 msgid "Password" msgstr "Пароль" @@ -2250,9 +2285,9 @@ msgstr "Пароль" msgid "Password changed" msgstr "Пароль изменен" -#: src/app/routes.js:404 src/app/routes.js:428 src/component/navigation.vue:845 -#: src/component/navigation.vue:1898 src/component/photo/edit/dialog.vue:228 -#: src/component/photo/edit/dialog.vue:245 src/options/options.js:201 +#: src/app/routes.js:412 src/app/routes.js:436 src/component/navigation.vue:853 +#: src/component/navigation.vue:1939 src/component/photo/edit/dialog.vue:238 +#: src/component/photo/edit/dialog.vue:257 src/options/options.js:201 #: src/page/settings/general.vue:180 msgid "People" msgstr "Люди" @@ -2273,23 +2308,23 @@ msgstr "Удаление файлов насовсем для освобожде msgid "Person" msgstr "Человек" -#: src/options/auth.js:42 +#: src/options/auth.js:43 msgid "Personal" msgstr "Личный" -#: src/model/photo.js:1273 +#: src/model/photo.js:1310 msgid "Photo" msgstr "Фотография" -#: src/page/about/about.vue:156 +#: src/page/about/about.vue:158 msgid "PhotoPrism is 100% self-funded and independent." msgstr "PhotoPrism является на 100% самофинансируемой и независимой компанией." -#: src/page/about/about.vue:92 +#: src/page/about/about.vue:93 msgid "PhotoPrism+ Membership" msgstr "Членство в программе PhotoPrism+" -#: src/app/routes.js:156 +#: src/app/routes.js:164 msgid "Photos" msgstr "Фотографии" @@ -2310,27 +2345,27 @@ msgstr "Место" msgid "Place & Time" msgstr "Место и время" -#: src/app/routes.js:303 src/app/routes.js:309 src/app/routes.js:315 -#: src/app/routes.js:330 src/component/navigation.vue:986 -#: src/component/navigation.vue:1914 src/options/options.js:203 +#: src/app/routes.js:311 src/app/routes.js:317 src/app/routes.js:323 +#: src/app/routes.js:338 src/component/navigation.vue:999 +#: src/component/navigation.vue:1956 src/options/options.js:203 #: src/page/places.vue:51 src/page/settings/general.vue:609 #: src/page/settings/general.vue:638 msgid "Places" msgstr "Места" -#: src/component/settings/password.vue:129 +#: src/component/settings/password.vue:130 msgid "Please confirm your new password." msgstr "Пожалуйста, подтвердите ваш новый пароль." -#: src/component/settings/apps.vue:185 +#: src/component/settings/apps.vue:188 msgid "Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:" msgstr "Скопируйте следующий случайно сгенерированный пароль приложения и сохраните его в надежном месте, так как вы больше не сможете его увидеть:" -#: src/component/upload/dialog.vue:203 +#: src/component/upload/dialog.vue:205 msgid "Please do not upload any private, unlawful or offensive pictures." msgstr "Пожалуйста, не загружайте частные, незаконные или оскорбительные фотографии." -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Please don't upload photos containing offensive content." msgstr "Пожалуйста, не загружайте фотографии, содержащие недопустимый контент." @@ -2338,11 +2373,11 @@ msgstr "Пожалуйста, не загружайте фотографии, с msgid "Please enter OTP character {0}" msgstr "Пожалуйста, введите символ OTP {0}" -#: src/component/settings/password.vue:66 +#: src/component/settings/password.vue:67 msgid "Please note that changing your password will log you out on other devices and browsers." msgstr "Обратите внимание, что изменение пароля приведет к выходу из системы на других устройствах и в браузерах." -#: src/page/connect.vue:148 src/page/connect.vue:152 +#: src/page/connect.vue:149 src/page/connect.vue:153 msgid "Please restart your instance for the changes to take effect." msgstr "Чтобы изменения вступили в силу, перезапустите ваш экземпляр." @@ -2362,11 +2397,11 @@ msgstr "Ограничение размера PNG: %{n}px" msgid "Portrait" msgstr "Портрет" -#: src/component/service/edit.vue:273 +#: src/component/service/edit.vue:274 msgid "Preserve filenames" msgstr "Сохранять имена файлов" -#: src/component/upload/dialog.vue:162 +#: src/component/upload/dialog.vue:164 msgid "Press enter to create a new album." msgstr "Нажмите enter, чтобы создать новый альбом." @@ -2403,8 +2438,8 @@ msgstr "Предыдущий визуальный" msgid "Primary" msgstr "Главная" -#: src/app/routes.js:271 src/component/album/edit/dialog.vue:176 -#: src/component/navigation.vue:531 src/component/photo/edit/info.vue:303 +#: src/app/routes.js:279 src/component/album/edit/dialog.vue:177 +#: src/component/navigation.vue:533 src/component/photo/edit/info.vue:303 #: src/page/settings/general.vue:280 msgid "Private" msgstr "Приватные" @@ -2429,7 +2464,7 @@ msgstr "Фильтр Качества" msgid "Quality Score" msgstr "Показатель Качества" -#: src/page/admin/users.vue:169 +#: src/page/admin/users.vue:171 msgid "r" msgstr "r" @@ -2460,7 +2495,7 @@ msgstr "Режим только для чтения" #: src/component/album/edit/dialog.vue:26 src/component/photo/toolbar.vue:116 #: src/component/photo/toolbar.vue:128 src/component/photo/toolbar.vue:138 -#: src/page/albums.vue:102 +#: src/page/albums.vue:103 msgid "Recently Added" msgstr "Недавно добавленные" @@ -2468,7 +2503,7 @@ msgstr "Недавно добавленные" msgid "Recently Archived" msgstr "Недавно архивировано" -#: src/component/photo/toolbar.vue:139 src/page/albums.vue:103 +#: src/component/photo/toolbar.vue:139 src/page/albums.vue:104 msgid "Recently Edited" msgstr "Недавно отредактированные" @@ -2493,24 +2528,24 @@ msgstr "Код восстановления" msgid "Red" msgstr "Красный" -#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:126 -#: src/component/album/toolbar.vue:79 src/component/photo/toolbar.vue:169 -#: src/page/albums.vue:173 src/page/labels.vue:112 +#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:128 +#: src/component/album/toolbar.vue:84 src/component/photo/toolbar.vue:169 +#: src/page/albums.vue:175 src/page/labels.vue:112 #: src/page/library/browse.vue:90 src/page/library/errors.vue:81 #: src/page/people/new.vue:54 src/page/people/recognized.vue:88 msgid "Refresh" msgstr "Обновить" -#: src/app/routes.js:337 src/component/navigation.vue:943 -#: src/component/navigation.vue:1026 +#: src/app/routes.js:345 src/component/navigation.vue:955 +#: src/component/navigation.vue:1040 msgid "Regions" msgstr "Регионы" -#: src/page/connect.vue:275 src/page/connect.vue:284 +#: src/page/connect.vue:277 src/page/connect.vue:286 msgid "Register" msgstr "Зарегистрироваться" -#: src/component/navigation.vue:1773 src/component/update.vue:68 +#: src/component/navigation.vue:1806 src/component/update.vue:68 msgid "Reload" msgstr "Перезагрузить" @@ -2555,34 +2590,34 @@ msgstr "Требуй, чтобы нефотографические и низк msgid "Resolution" msgstr "Разрешение" -#: src/page/connect.vue:179 src/page/connect.vue:183 +#: src/page/connect.vue:180 src/page/connect.vue:184 #: src/page/settings/advanced.vue:782 msgid "Restart" msgstr "Перезапустить" -#: src/component/user/edit/dialog.vue:485 src/component/lightbox.vue:1221 +#: src/component/user/edit/dialog.vue:488 src/component/lightbox.vue:1221 #: src/component/photo/clipboard.vue:77 msgid "Restore" msgstr "Восстановить" -#: src/component/lightbox.vue:2000 +#: src/component/lightbox.vue:2020 msgid "Restored" msgstr "Восстановленный" -#: src/component/service/edit.vue:428 +#: src/component/service/edit.vue:429 msgid "Retry Limit" msgstr "Лимит повторных попыток" -#: src/component/settings/password.vue:128 +#: src/component/settings/password.vue:129 msgid "Retype Password" msgstr "Повторите пароль" -#: src/app/routes.js:264 src/component/navigation.vue:505 +#: src/app/routes.js:272 src/component/navigation.vue:507 msgid "Review" msgstr "Не одобрены" -#: src/component/user/add/dialog.vue:171 src/component/user/edit/dialog.vue:284 -#: src/page/admin/sessions.vue:262 src/page/admin/users.vue:73 +#: src/component/user/add/dialog.vue:172 src/component/user/edit/dialog.vue:285 +#: src/page/admin/sessions.vue:263 src/page/admin/users.vue:75 msgid "Role" msgstr "Роль" @@ -2594,11 +2629,11 @@ msgstr "Строки на страницу:" msgid "Satellite" msgstr "Спутник" -#: src/component/user/edit/dialog.vue:485 -#: src/component/album/edit/dialog.vue:211 -#: src/component/label/edit/dialog.vue:119 -#: src/component/people/edit/dialog.vue:132 src/component/service/edit.vue:466 -#: src/component/settings/password.vue:172 src/component/share/dialog.vue:181 +#: src/component/user/edit/dialog.vue:488 +#: src/component/album/edit/dialog.vue:212 +#: src/component/label/edit/dialog.vue:120 +#: src/component/people/edit/dialog.vue:133 src/component/service/edit.vue:467 +#: src/component/settings/password.vue:173 src/component/share/dialog.vue:181 msgid "Save" msgstr "Сохранить" @@ -2606,23 +2641,23 @@ msgstr "Сохранить" msgid "Scan" msgstr "Сканировать" -#: src/component/settings/passcode.vue:179 +#: src/component/settings/passcode.vue:182 msgid "Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:" msgstr "Отсканируйте QR-код с помощью приложения для аутентификации или используйте ключ настройки, показанный ниже, а затем введите сгенерированный код подтверждения:" -#: src/component/navigation.vue:461 +#: src/component/navigation.vue:463 msgid "Scans" msgstr "Сканы" -#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:377 -#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:310 +#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:381 +#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:313 msgid "Scope" msgstr "Область применения" -#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:62 -#: src/component/navigation.vue:342 src/component/navigation.vue:1866 -#: src/component/photo/toolbar.vue:57 src/options/options.js:197 -#: src/page/albums.vue:100 src/page/labels.vue:77 +#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:69 +#: src/component/location/dialog.vue:133 src/component/navigation.vue:343 +#: src/component/navigation.vue:1905 src/component/photo/toolbar.vue:57 +#: src/options/options.js:197 src/page/albums.vue:100 src/page/labels.vue:77 #: src/page/library/errors.vue:76 src/page/people/recognized.vue:66 #: src/page/places.vue:79 src/page/settings/content.vue:235 msgid "Search" @@ -2660,11 +2695,11 @@ msgstr "Выберите дату" msgid "Select dates" msgstr "Выберите даты" -#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:154 +#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:156 msgid "Select or create an album" msgstr "Выберите или создайте альбом" -#: src/component/upload/dialog.vue:138 +#: src/component/upload/dialog.vue:140 msgid "Select the files to upload…" msgstr "Выбери файлы для загрузки…" @@ -2692,7 +2727,7 @@ msgstr "Выбранное восстановлено" msgid "Sequential Name" msgstr "Последовательное название" -#: src/component/service/add.vue:67 src/component/service/edit.vue:322 +#: src/component/service/add.vue:68 src/component/service/edit.vue:323 #: src/component/share/dialog.vue:25 msgid "Service URL" msgstr "URL сервиса" @@ -2701,7 +2736,7 @@ msgstr "URL сервиса" msgid "Services" msgstr "Сервисы" -#: src/model/session.js:107 src/options/auth.js:41 src/options/auth.js:90 +#: src/model/session.js:107 src/options/auth.js:42 src/options/auth.js:91 msgid "Session" msgstr "Сессия" @@ -2709,7 +2744,7 @@ msgstr "Сессия" msgid "Session ID" msgstr "Идентификатор сессии" -#: src/page/admin.vue:45 +#: src/page/admin.vue:44 msgid "Sessions" msgstr "Сессии" @@ -2717,22 +2752,22 @@ msgstr "Сессии" msgid "Set as Album Cover" msgstr "Установи в качестве обложки альбома" -#: src/app/routes.js:101 src/app/routes.js:492 src/app/routes.js:504 -#: src/app/routes.js:521 src/app/routes.js:534 src/app/routes.js:547 -#: src/component/navigation.vue:1394 src/component/navigation.vue:1806 +#: src/app/routes.js:101 src/app/routes.js:500 src/app/routes.js:512 +#: src/app/routes.js:529 src/app/routes.js:542 src/app/routes.js:555 +#: src/component/navigation.vue:1419 src/component/navigation.vue:1841 msgid "Settings" msgstr "Настройки" #: src/page/settings/account.vue:115 src/page/settings/account.vue:144 -#: src/component/settings/passcode.vue:147 +#: src/component/settings/passcode.vue:151 msgid "Settings saved" msgstr "Настройки сохранены" -#: src/component/service/upload.vue:131 src/component/settings/passcode.vue:160 +#: src/component/service/upload.vue:132 src/component/settings/passcode.vue:163 msgid "Setup" msgstr "Настройка" -#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:98 +#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:103 #: src/component/photo/clipboard.vue:51 src/page/settings/general.vue:382 msgid "Share" msgstr "Поделиться" @@ -2749,7 +2784,7 @@ msgstr "Делись своими фотографиями с другими п msgid "Show" msgstr "Показать" -#: src/page/people/new.vue:116 src/page/people/new.vue:233 +#: src/page/people/new.vue:116 src/page/people/new.vue:235 msgid "Show all new faces" msgstr "Показать все новые лица" @@ -2794,7 +2829,7 @@ msgid "Similar" msgstr "Похожие" #: src/component/photo/edit/files.vue:51 src/component/photo/edit/files.vue:341 -#: src/component/service/edit.vue:139 src/component/sidebar/info.vue:96 +#: src/component/service/edit.vue:140 src/component/sidebar/info.vue:96 msgid "Size" msgstr "Размер" @@ -2822,7 +2857,7 @@ msgstr "Что-то пошло не так, попробуйте еще раз" msgid "Sort by" msgstr "Сортировать по" -#: src/component/album/edit/dialog.vue:142 src/component/photo/toolbar.vue:288 +#: src/component/album/edit/dialog.vue:143 src/component/photo/toolbar.vue:290 #: src/page/albums.vue:214 msgid "Sort Order" msgstr "Порядок сортировки" @@ -2857,7 +2892,7 @@ msgstr "Объединять в серию снимки, сделанные в msgid "Stackable" msgstr "Возможно объединение в серию" -#: src/component/navigation.vue:421 src/page/settings/content.vue:136 +#: src/component/navigation.vue:423 src/page/settings/content.vue:136 msgid "Stacks" msgstr "Серии" @@ -2885,16 +2920,16 @@ msgstr "Хранилище" msgid "Streets" msgstr "Улицы" -#: src/component/photo/edit/details.vue:494 +#: src/component/photo/edit/details.vue:468 #: src/component/photo/edit/labels.vue:44 msgid "Subject" msgstr "Тема" -#: src/page/about/feedback.vue:162 src/page/about/feedback.vue:163 +#: src/page/about/feedback.vue:163 src/page/about/feedback.vue:164 msgid "Submit" msgstr "Отправить" -#: src/component/settings/passcode.vue:132 +#: src/component/settings/passcode.vue:136 msgid "Successfully activated" msgstr "Успешно активировано" @@ -2903,23 +2938,23 @@ msgid "Successfully Connected" msgstr "Успешно подключено" #: src/component/session/remove/dialog.vue:32 -#: src/component/settings/apps.vue:218 +#: src/component/settings/apps.vue:222 msgid "Successfully deleted" msgstr "Успешно удалено" -#: src/component/settings/passcode.vue:107 +#: src/component/settings/passcode.vue:108 msgid "Successfully verified" msgstr "Успешно проверено" -#: src/component/user/edit/dialog.vue:398 src/page/admin/users.vue:163 +#: src/component/user/edit/dialog.vue:399 src/page/admin/users.vue:165 msgid "Super Admin" msgstr "Супер-администратор" -#: src/component/service/add.vue:122 +#: src/component/service/add.vue:123 msgid "Support for additional services, like Google Drive, will be added over time." msgstr "Поддержка дополнительных служб, таких как Google Drive, будет добавлена позже." -#: src/component/confirm/sponsor.vue:37 src/component/navigation.vue:1629 +#: src/component/confirm/sponsor.vue:38 src/component/navigation.vue:1660 msgid "Support Our Mission" msgstr "Поддержите нашу миссию" @@ -2927,7 +2962,7 @@ msgstr "Поддержите нашу миссию" msgid "Sync" msgstr "Синхронизация" -#: src/component/service/edit.vue:289 +#: src/component/service/edit.vue:290 msgid "Sync raw and video files" msgstr "Синхронизация сырых и видео файлов" @@ -2953,23 +2988,23 @@ msgstr "Местность" msgid "Text" msgstr "Текст" -#: src/component/photo/edit/details.vue:32 src/page/people/new.vue:71 +#: src/component/photo/edit/details.vue:40 src/page/people/new.vue:71 msgid "Text too long" msgstr "Текст слишком длинный" -#: src/page/about/about.vue:145 +#: src/page/about/about.vue:146 msgid "Thank You for Your Support!" msgstr "Спасибо за вашу поддержку!" -#: src/page/about/about.vue:79 src/page/about/about.vue:85 +#: src/page/about/about.vue:80 src/page/about/about.vue:86 msgid "That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality." msgstr "Именно поэтому PhotoPrism был создан с нуля, чтобы работать там, где вам нужно, без ущерба для свободы, конфиденциальности или функциональности." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "The index currently contains %{n} hidden files." msgstr "Индекс на данный момент содержит %{n} скрытых файлов." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates." msgstr "Их формат может быть не поддерживаемым, они не были конвертированы в JPEG или это дубликаты." @@ -2984,44 +3019,44 @@ msgstr "Тема" msgid "This field is required" msgstr "Это поле обязательно для заполнения" -#: src/component/settings/webdav.vue:100 src/page/settings/services.vue:144 +#: src/component/settings/webdav.vue:101 src/page/settings/services.vue:147 msgid "This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local." msgstr "При этом папка с оригиналами подключается как сетевой диск и позволяет вам открывать, редактировать и удалять файлы с вашего компьютера или смартфона, как если бы они находились на вашем устройстве." -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Time UTC" msgstr "Время UTC" -#: src/component/photo/edit/details.vue:219 src/page/settings/general.vue:108 +#: src/component/photo/edit/details.vue:221 src/page/settings/general.vue:108 msgid "Time Zone" msgstr "Часовой пояс" -#: src/component/service/edit.vue:408 +#: src/component/service/edit.vue:409 msgid "Timeout" msgstr "Пауза" -#: src/component/user/edit/dialog.vue:98 src/component/user/edit/dialog.vue:99 +#: src/component/user/edit/dialog.vue:99 src/component/user/edit/dialog.vue:100 #: src/page/settings/account.vue:84 src/page/settings/account.vue:86 msgctxt "Account" msgid "Title" msgstr "Титул" -#: src/component/photo/edit/details.vue:73 +#: src/component/photo/edit/details.vue:75 msgctxt "Photo" msgid "Title" msgstr "Название" -#: src/component/photo/edit/info.vue:59 src/component/photo/edit/info.vue:155 +#: src/component/photo/edit/info.vue:61 src/component/photo/edit/info.vue:155 #: src/component/photo/edit/labels.vue:40 src/component/photo/view/list.vue:114 #: src/component/sidebar/info.vue:57 msgid "Title" msgstr "Название" -#: src/page/settings/account.vue:553 src/page/settings/account.vue:555 +#: src/page/settings/account.vue:559 src/page/settings/account.vue:561 msgid "Title / Position" msgstr "Название / должность" -#: src/page/albums.vue:83 +#: src/page/albums.vue:84 msgid "Title too long" msgstr "Название слишком длинное" @@ -3029,19 +3064,19 @@ msgstr "Название слишком длинное" msgid "to" msgstr "в" -#: src/component/settings/passcode.vue:312 +#: src/component/settings/passcode.vue:315 msgid "To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place." msgstr "Чтобы избежать блокировки вашей учетной записи, загрузите, распечатайте или скопируйте этот код восстановления сейчас и сохраните его в надежном месте." -#: src/component/settings/apps.vue:272 +#: src/component/settings/apps.vue:275 msgid "To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:" msgstr "Чтобы создать новый пароль для конкретного приложения, введите имя и область авторизации приложения, а также выберите срок действия:" -#: src/component/settings/passcode.vue:400 +#: src/component/settings/passcode.vue:403 msgid "To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:" msgstr "Чтобы переключиться на новое приложение или устройство для проверки подлинности, сначала отключите двухфакторную аутентификацию, а затем повторно активируйте ее:" -#: src/page/connect.vue:221 src/page/connect.vue:230 +#: src/page/connect.vue:223 src/page/connect.vue:232 msgid "To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:" msgstr "Для обновления вы можете ввести код активации или нажать кнопку \"Регистрация\", чтобы зарегистрироваться на нашем сайте:" @@ -3049,7 +3084,7 @@ msgstr "Для обновления вы можете ввести код акт msgid "Today" msgstr "Сегодня" -#: src/component/album/toolbar.vue:70 src/component/photo/toolbar.vue:78 +#: src/component/album/toolbar.vue:71 src/component/photo/toolbar.vue:78 msgid "Toggle View" msgstr "Переключить вид" @@ -3076,20 +3111,24 @@ msgstr "Устранение неполадок" msgid "Try again using other filters or keywords." msgstr "Попробуйте еще раз используя другие фильтры или слова в запросе." -#: src/component/settings/passcode.vue:380 +#: src/component/settings/passcode.vue:383 msgid "Two-factor authentication has been enabled for your account." msgstr "Для вашей учетной записи включена двухфакторная аутентификация." #: src/component/photo/edit/files.vue:58 src/component/photo/edit/files.vue:330 -#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:388 +#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:389 msgid "Type" msgstr "Тип" -#: src/options/auth.js:13 +#: src/component/album/toolbar.vue:178 +msgid "Unable to delete" +msgstr "Невозможно удалить" + +#: src/options/auth.js:14 msgid "Unauthorized" msgstr "Неавторизованный" -#: src/component/photo/edit/people.vue:94 +#: src/component/photo/edit/people.vue:95 msgid "Undo" msgstr "Отменить" @@ -3097,16 +3136,16 @@ msgstr "Отменить" msgid "Unique ID" msgstr "Уникальный ID" -#: src/page/settings/account.vue:451 src/page/settings/account.vue:476 -#: src/page/settings/account.vue:501 src/common/util.js:487 -#: src/component/photo/edit/details.vue:21 -#: src/component/photo/edit/details.vue:111 -#: src/component/photo/edit/details.vue:138 -#: src/component/photo/edit/details.vue:164 src/component/sidebar/info.vue:43 -#: src/model/album.js:193 src/model/photo.js:323 src/model/photo.js:784 -#: src/model/photo.js:809 src/model/photo.js:832 src/model/photo.js:850 -#: src/model/photo.js:897 src/model/photo.js:905 src/model/photo.js:994 -#: src/model/photo.js:1016 src/model/photo.js:1061 src/model/photo.js:1074 +#: src/page/settings/account.vue:457 src/page/settings/account.vue:482 +#: src/page/settings/account.vue:507 src/common/util.js:488 +#: src/component/photo/edit/details.vue:27 +#: src/component/photo/edit/details.vue:113 +#: src/component/photo/edit/details.vue:140 +#: src/component/photo/edit/details.vue:166 src/component/sidebar/info.vue:43 +#: src/model/album.js:193 src/model/photo.js:331 src/model/photo.js:821 +#: src/model/photo.js:846 src/model/photo.js:869 src/model/photo.js:887 +#: src/model/photo.js:934 src/model/photo.js:942 src/model/photo.js:1031 +#: src/model/photo.js:1053 src/model/photo.js:1098 src/model/photo.js:1111 #: src/model/user.js:157 src/options/options.js:51 src/options/options.js:69 #: src/options/options.js:86 src/options/options.js:100 #: src/options/options.js:112 src/page/library/errors.vue:251 @@ -3119,7 +3158,7 @@ msgstr "Неизвестно" msgid "Unregistered" msgstr "Незарегистрированный" -#: src/app/routes.js:215 src/component/navigation.vue:644 +#: src/app/routes.js:223 src/component/navigation.vue:648 msgid "Unsorted" msgstr "Не отсортировано" @@ -3127,7 +3166,7 @@ msgstr "Не отсортировано" msgid "Unstack" msgstr "Убрать из серии" -#: src/component/photo/edit/files.vue:519 src/component/photo/edit/info.vue:416 +#: src/component/photo/edit/files.vue:521 src/component/photo/edit/info.vue:416 msgid "Updated" msgstr "Обновлено" @@ -3143,7 +3182,7 @@ msgstr "Обновление индекса" msgid "Updating moments" msgstr "Обновление моментов" -#: src/component/user/edit/dialog.vue:154 +#: src/component/user/edit/dialog.vue:155 msgid "Updating picture…" msgstr "Обновление изображения…" @@ -3155,21 +3194,21 @@ msgstr "Обновление предварительных просмотров msgid "Updating stacks" msgstr "Обновление серий" -#: src/page/connect.vue:57 src/component/navigation.vue:1500 -#: src/component/navigation.vue:1614 src/component/navigation.vue:1999 +#: src/page/connect.vue:57 src/component/navigation.vue:1526 +#: src/component/navigation.vue:1644 src/component/navigation.vue:2047 #: src/page/connect.vue:58 msgid "Upgrade" msgstr "Обновление" -#: src/page/about/about.vue:123 src/page/connect.vue:202 -#: src/component/confirm/sponsor.vue:98 src/page/about/about.vue:113 -#: src/page/connect.vue:206 +#: src/page/about/about.vue:124 src/page/connect.vue:204 +#: src/component/confirm/sponsor.vue:99 src/page/about/about.vue:114 +#: src/page/connect.vue:208 msgid "Upgrade Now" msgstr "Обновить сейчас" -#: src/component/album/toolbar.vue:108 src/component/navigation.vue:1824 -#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:144 -#: src/component/upload/dialog.vue:51 src/page/albums.vue:183 +#: src/component/album/toolbar.vue:113 src/component/navigation.vue:1860 +#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:145 +#: src/component/upload/dialog.vue:51 src/page/albums.vue:185 #: src/page/labels.vue:122 src/page/library/import.vue:133 #: src/page/settings/general.vue:307 src/page/settings/services.vue:38 msgid "Upload" @@ -3179,21 +3218,21 @@ msgstr "Загрузка" msgid "Upload complete" msgstr "Загрузка завершена" -#: src/component/upload/dialog.vue:133 +#: src/component/upload/dialog.vue:135 msgid "Upload complete. Indexing…" msgstr "Загрузка завершена. Индексирование…" #: src/component/upload/dialog.vue:296 src/component/upload/dialog.vue:315 -#: src/component/upload/dialog.vue:129 +#: src/component/upload/dialog.vue:131 msgid "Upload failed" msgstr "Загрузка не удалась" -#: src/component/service/edit.vue:257 +#: src/component/service/edit.vue:258 msgid "Upload local files" msgstr "Загрузка локальных файлов" -#: src/component/user/edit/dialog.vue:380 #: src/component/user/edit/dialog.vue:381 +#: src/component/user/edit/dialog.vue:382 msgid "Upload Path" msgstr "Путь загрузки" @@ -3201,7 +3240,7 @@ msgstr "Путь загрузки" msgid "Upload to WebDAV and share links with friends." msgstr "Загружайте WebDAV и делитесь ссылками с друзьями." -#: src/component/upload/dialog.vue:131 +#: src/component/upload/dialog.vue:133 msgid "Uploading %{n} of %{t}…" msgstr "Загрузка %{n} из %{t}…" @@ -3214,7 +3253,7 @@ msgstr "Загрузка фотографий…" msgid "Uploading…" msgstr "Загрузка…" -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Uploads that may contain such images will be rejected automatically." msgstr "Загрузки, которые могут содержать такие изображение будут автоматически отменены." @@ -3222,7 +3261,7 @@ msgstr "Загрузки, которые могут содержать таки msgid "Use Presets" msgstr "Использовать предустановки" -#: src/component/settings/passcode.vue:283 +#: src/component/settings/passcode.vue:286 msgid "Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:" msgstr "Используйте следующий код восстановления для доступа к своей учетной записи, если вы не можете сгенерировать действительный код подтверждения с помощью приложения для аутентификации:" @@ -3230,12 +3269,12 @@ msgstr "Используйте следующий код восстановле msgid "Use your recovery code or contact an administrator for help." msgstr "Используй свой код восстановления или обратись за помощью к администратору." -#: src/options/admin.js:10 src/page/admin/sessions.vue:59 -#: src/page/admin/sessions.vue:242 src/model/user.js:361 src/options/auth.js:7 +#: src/options/admin.js:14 src/page/admin/sessions.vue:59 +#: src/page/admin/sessions.vue:243 src/model/user.js:361 src/options/auth.js:8 msgid "User" msgstr "Пользователь" -#: src/component/navigation.vue:1979 +#: src/component/navigation.vue:2025 msgid "User Guide" msgstr "Руководство пользователя" @@ -3243,14 +3282,14 @@ msgstr "Руководство пользователя" msgid "User Interface" msgstr "Пользовательский интерфейс" -#: src/component/user/add/dialog.vue:87 src/component/user/add/dialog.vue:88 -#: src/page/admin/sessions.vue:220 src/page/admin/users.vue:71 -#: src/component/service/add.vue:85 src/component/service/edit.vue:337 +#: src/component/user/add/dialog.vue:88 src/component/user/add/dialog.vue:89 +#: src/page/admin/sessions.vue:221 src/page/admin/users.vue:73 +#: src/component/service/add.vue:86 src/component/service/edit.vue:338 #: src/component/share/dialog.vue:26 msgid "Username" msgstr "Имя пользователя" -#: src/component/navigation.vue:1435 +#: src/component/navigation.vue:1461 msgid "Users" msgstr "Пользователи" @@ -3260,18 +3299,18 @@ msgstr "Пользователи" msgid "Vector" msgstr "Вектор" -#: src/component/navigation.vue:440 +#: src/component/navigation.vue:442 msgid "Vectors" msgstr "Векторы" -#: src/component/settings/passcode.vue:227 src/page/auth/login.vue:144 +#: src/component/settings/passcode.vue:230 src/page/auth/login.vue:144 msgid "Verification Code" msgstr "Проверочный код" #: src/component/photo/view/cards.vue:363 #: src/component/photo/view/cards.vue:491 src/component/photo/view/list.vue:190 #: src/component/photo/view/mosaic.vue:207 src/model/file.js:221 -#: src/model/photo.js:921 src/model/photo.js:939 src/options/options.js:293 +#: src/model/photo.js:958 src/model/photo.js:976 src/options/options.js:293 msgid "Video" msgstr "Видео" @@ -3280,12 +3319,12 @@ msgstr "Видео" msgid "Video Duration" msgstr "Продолжительность видео" -#: src/app/routes.js:243 src/component/navigation.vue:728 +#: src/app/routes.js:251 src/component/navigation.vue:734 #: src/options/options.js:200 msgid "Videos" msgstr "Видео" -#: src/component/photo/toolbar.vue:261 src/component/photo/view/cards.vue:350 +#: src/component/photo/toolbar.vue:263 src/component/photo/view/cards.vue:350 #: src/component/photo/view/mosaic.vue:194 msgid "View" msgstr "Обзор" @@ -3294,11 +3333,11 @@ msgstr "Обзор" msgid "View search results as a list." msgstr "Просмотреть результаты поиска в виде списка." -#: src/options/admin.js:14 src/options/auth.js:8 +#: src/options/admin.js:18 src/options/auth.js:9 msgid "Viewer" msgstr "Просмотрщик" -#: src/page/admin/sessions.vue:271 src/options/auth.js:12 +#: src/page/admin/sessions.vue:272 src/options/auth.js:13 msgid "Visitor" msgstr "Посетитель" @@ -3310,34 +3349,34 @@ msgstr "Визуальное сходство" msgid "Warning" msgstr "Внимание" -#: src/page/about/feedback.vue:60 +#: src/page/about/feedback.vue:61 msgid "We appreciate your feedback!" msgstr "Мы признательны за ваш отзыв!" -#: src/page/about/feedback.vue:63 +#: src/page/about/feedback.vue:64 msgid "We do our best to respond within five business days or less." msgstr "Мы делаем все возможное, чтобы ответить в течение пяти рабочих дней или меньше." -#: src/component/user/add/dialog.vue:235 src/component/user/edit/dialog.vue:415 -#: src/page/admin/users.vue:80 +#: src/component/user/add/dialog.vue:236 src/component/user/edit/dialog.vue:416 +#: src/page/admin/users.vue:82 msgid "Web Login" msgstr "Веб-логин" -#: src/component/user/add/dialog.vue:248 src/component/user/edit/dialog.vue:432 -#: src/page/admin/users.vue:82 src/options/auth.js:55 src/options/auth.js:68 +#: src/component/user/add/dialog.vue:249 src/component/user/edit/dialog.vue:433 +#: src/page/admin/users.vue:84 src/options/auth.js:56 src/options/auth.js:69 #: src/options/options.js:444 msgid "WebDAV" msgstr "WebDAV" -#: src/component/settings/webdav.vue:51 +#: src/component/settings/webdav.vue:52 msgid "WebDAV clients can connect to PhotoPrism using the following URL:" msgstr "WebDAV клиенты могут подключаться к PhotoPrism используя следующий URL:" -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism." msgstr "WebDAV клиенты, такие как Microsoft Windows Проводник или Apple Finder, могут подключаться к PhotoPrism напрямую." -#: src/component/service/upload.vue:50 src/component/share/dialog.vue:220 +#: src/component/service/upload.vue:51 src/component/share/dialog.vue:220 msgid "WebDAV Upload" msgstr "WebDAV загрузка" @@ -3345,8 +3384,8 @@ msgstr "WebDAV загрузка" msgid "WebGL support is disabled in your browser" msgstr "В твоем браузере отключена поддержка WebGL" -#: src/page/settings/account.vue:615 src/page/settings/account.vue:709 -#: src/page/settings/account.vue:601 +#: src/page/settings/account.vue:621 src/page/settings/account.vue:715 +#: src/page/settings/account.vue:607 msgid "Website" msgstr "Сайт" @@ -3354,12 +3393,12 @@ msgstr "Сайт" msgid "White" msgstr "Белый" -#: src/page/settings/account.vue:532 +#: src/page/settings/account.vue:538 msgid "Work Details" msgstr "Детали работы" -#: src/page/settings/account.vue:500 src/component/photo/edit/details.vue:163 -#: src/component/photo/toolbar.vue:315 src/page/albums.vue:159 +#: src/page/settings/account.vue:506 src/component/photo/edit/details.vue:165 +#: src/component/photo/toolbar.vue:317 src/page/albums.vue:159 msgid "Year" msgstr "Год" @@ -3367,21 +3406,21 @@ msgstr "Год" msgid "Yellow" msgstr "Желтый" -#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:58 -#: src/component/photo/archive/dialog.vue:58 +#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:59 +#: src/component/photo/archive/dialog.vue:59 #: src/component/photo/clipboard.vue:200 src/component/photo/edit/files.vue:365 #: src/component/photo/edit/files.vue:395 #: src/component/photo/edit/files.vue:401 #: src/component/photo/edit/files.vue:407 -#: src/component/photo/edit/files.vue:510 src/component/photo/edit/info.vue:281 +#: src/component/photo/edit/files.vue:512 src/component/photo/edit/info.vue:281 #: src/component/photo/edit/info.vue:297 src/component/photo/edit/info.vue:313 #: src/component/photo/edit/info.vue:329 src/component/photo/edit/info.vue:344 -#: src/component/photo/toolbar.vue:434 +#: src/component/photo/toolbar.vue:436 msgid "Yes" msgstr "Да" -#: src/component/confirm/sponsor.vue:59 src/page/about/about.vue:158 -#: src/page/connect.vue:315 +#: src/component/confirm/sponsor.vue:60 src/page/about/about.vue:160 +#: src/page/connect.vue:317 msgid "You are welcome to contact us at membership@photoprism.app for questions regarding your membership." msgstr "Вы можете связаться с нами по адресу membership@photoprism.app, чтобы задать вопросы, касающиеся вашего членства." @@ -3393,7 +3432,11 @@ msgstr "Вы можете загрузить только один альбом" msgid "You can only download one label" msgstr "Вы можете загрузить только одну метку" -#: src/component/upload/dialog.vue:203 +#: src/component/location/dialog.vue:178 +msgid "You can search for a location or move the marker on the map to change the position:" +msgstr "Ты можешь искать местоположение или перемещать маркер на карте, чтобы изменить положение:" + +#: src/component/upload/dialog.vue:205 msgid "You can upload up to %{n} files for test purposes." msgstr "Для тестирования можно загрузить до %{n} файлов." @@ -3406,7 +3449,7 @@ msgstr "Вы можете выбрать только один элемент" msgid "You may rescan your library to find additional faces." msgstr "Вы можете повторно просканировать свою библиотеку, чтобы найти дополнительные лица." -#: src/page/connect.vue:146 src/page/connect.vue:150 +#: src/page/connect.vue:147 src/page/connect.vue:151 msgid "Your account has been successfully connected." msgstr "Ваша учетная запись успешно подключена." @@ -3414,8 +3457,8 @@ msgstr "Ваша учетная запись успешно подключена msgid "Your browser does not support WebGL" msgstr "Твой браузер не поддерживает WebGL" -#: src/component/confirm/sponsor.vue:43 src/page/about/about.vue:97 -#: src/page/about/about.vue:156 src/page/connect.vue:220 +#: src/component/confirm/sponsor.vue:44 src/page/about/about.vue:98 +#: src/page/about/about.vue:158 src/page/connect.vue:222 msgid "Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy." msgstr "Ваша постоянная поддержка помогает нам предоставлять регулярные обновления и оставаться независимыми, чтобы мы могли выполнять нашу миссию и защищать вашу частную жизнь." @@ -3496,9 +3539,6 @@ msgstr "Увеличение/уменьшение масштаба" #~ msgid "Open Folder" #~ msgstr "Открытая папка" -#~ msgid "Cannot copy to clipboard" -#~ msgstr "Невозможно скопировать в буфер обмена" - #~ msgid "Sound" #~ msgstr "Звук" @@ -4151,9 +4191,6 @@ msgstr "Увеличение/уменьшение масштаба" #~ msgid "More than 50 results" #~ msgstr "Более 50 результатов" -#~ msgid "No results" -#~ msgstr "Нет результатов" - #~ msgid "Not implemented yet" #~ msgstr "Еще не реализованно" diff --git a/frontend/src/locales/sk.po b/frontend/src/locales/sk.po index 22163f977..b037b53a4 100644 --- a/frontend/src/locales/sk.po +++ b/frontend/src/locales/sk.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: ci@photoprism.app\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2025-04-04 08:03+0000\n" +"PO-Revision-Date: 2025-07-06 08:58+0000\n" "Last-Translator: DeepL \n" "Language-Team: Slovak \n" "Language: sk\n" @@ -11,7 +11,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -"X-Generator: Weblate 5.10.4\n" +"X-Generator: Weblate 5.12.2\n" "Generated-By: easygettext\n" #: src/locales.js:268 @@ -42,7 +42,7 @@ msgstr "{0} vybrané" msgid "{0}-{1} of {2}" msgstr "{0}-{1} z {2}" -#: src/page/albums.vue:612 +#: src/page/albums.vue:617 msgid "%{n} albums found" msgstr "%{n} nájdených albumov" @@ -50,25 +50,25 @@ msgstr "%{n} nájdených albumov" msgid "%{n} files uploaded" msgstr "%{n} odovzdaných súborov" -#: src/page/library/browse.vue:362 +#: src/page/library/browse.vue:364 msgid "%{n} folders found" msgstr "%{n} nájdených zložiek" -#: src/component/navigation.vue:1676 +#: src/component/navigation.vue:1707 msgid "%{n} GB of %{q} GB used" msgstr "%{n} GB z %{q} GB použitých" -#: src/page/labels.vue:528 +#: src/page/labels.vue:533 msgid "%{n} labels found" msgstr "%{n} nájdených štítkov" -#: src/page/people/new.vue:350 src/page/people/new.vue:447 -#: src/page/people/recognized.vue:536 +#: src/page/people/new.vue:350 src/page/people/new.vue:450 +#: src/page/people/recognized.vue:541 msgid "%{n} people found" msgstr "%{n} nájdených ľudí" -#: src/page/album/photos.vue:308 src/page/album/photos.vue:493 -#: src/page/photos.vue:441 src/page/photos.vue:631 +#: src/page/album/photos.vue:313 src/page/album/photos.vue:504 +#: src/page/photos.vue:446 src/page/photos.vue:641 msgid "%{n} pictures found" msgstr "%{n} nájdených obrázkov" @@ -88,12 +88,12 @@ msgstr "1 hodina" msgid "12 hours" msgstr "12 hodín" -#: src/component/user/edit/dialog.vue:452 src/page/settings/account.vue:324 -#: src/component/settings/passcode.vue:75 +#: src/component/user/edit/dialog.vue:453 src/page/settings/account.vue:325 +#: src/component/settings/passcode.vue:78 msgid "2-Factor Authentication" msgstr "2-faktorové overovanie" -#: src/component/user/edit/dialog.vue:451 src/options/auth.js:46 +#: src/component/user/edit/dialog.vue:452 src/options/auth.js:47 msgid "2FA" msgstr "2FA" @@ -109,20 +109,20 @@ msgstr "Kliknutím skopírujete obsah." msgid "A new version of %{s} is available:" msgstr "K dispozícii je nová verzia %{s}:" -#: src/component/user/edit/dialog.vue:233 -#: src/component/user/edit/dialog.vue:234 src/page/about/about.vue:56 +#: src/component/user/edit/dialog.vue:234 +#: src/component/user/edit/dialog.vue:235 src/page/about/about.vue:56 #: src/page/settings/account.vue:248 src/page/settings/account.vue:249 -#: src/app/routes.js:63 src/component/navigation.vue:1521 -#: src/page/people/recognized.vue:292 +#: src/app/routes.js:63 src/component/navigation.vue:1547 +#: src/page/people/recognized.vue:296 msgid "About" msgstr "O nás" -#: src/options/auth.js:26 src/options/auth.js:44 +#: src/options/auth.js:27 src/options/auth.js:45 msgid "Access Token" msgstr "Prístupový token" -#: src/component/navigation.vue:87 src/component/navigation.vue:1788 -#: src/component/service/upload.vue:71 src/model/service.js:96 +#: src/component/navigation.vue:87 src/component/navigation.vue:1822 +#: src/component/service/upload.vue:72 src/model/service.js:96 #: src/model/user.js:171 src/page/settings.vue:85 #: src/page/settings/general.vue:582 msgid "Account" @@ -136,7 +136,7 @@ msgstr "Účet vytvorený" msgid "Account deleted" msgstr "Účet odstránený" -#: src/page/admin/users.vue:335 +#: src/page/admin/users.vue:337 msgid "Account restored" msgstr "Obnovenie účtu" @@ -157,8 +157,8 @@ msgstr "Akcia" msgid "Actions" msgstr "Akcie" -#: src/page/connect.vue:294 src/component/settings/passcode.vue:346 -#: src/page/connect.vue:303 +#: src/page/connect.vue:296 src/component/settings/passcode.vue:349 +#: src/page/connect.vue:305 msgid "Activate" msgstr "Aktivácia stránky" @@ -174,20 +174,20 @@ msgstr "Aktivácia na vzostupné triedenie." msgid "Activate to sort descending." msgstr "Aktivácia na zoradenie zostupne." -#: src/page/connect.vue:231 src/page/connect.vue:240 +#: src/page/connect.vue:233 src/page/connect.vue:242 msgid "Activation Code" msgstr "Aktivačný kód" -#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:83 -#: src/component/settings/apps.vue:448 +#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:92 +#: src/component/settings/apps.vue:451 msgid "Add" msgstr "Pridať" -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:246 msgid "Add %{s}?" msgstr "Pridať %{s}?" -#: src/component/user/add/dialog.vue:56 src/component/service/add.vue:49 +#: src/component/user/add/dialog.vue:57 src/component/service/add.vue:50 msgid "Add Account" msgstr "Pridať účet" @@ -204,8 +204,8 @@ msgid "Add Link" msgstr "Pridať odkaz" #: src/component/photo/edit/people.vue:25 -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:57 -#: src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:57 +#: src/page/people/new.vue:246 msgid "Add person?" msgstr "Pridať osobu?" @@ -221,10 +221,15 @@ msgstr "Pridanie fotiek z výsledkov vyhľadávania ich výberom." msgid "Add to album" msgstr "Pridať do albumu" -#: src/component/photo/edit/files.vue:514 +#: src/component/photo/edit/files.vue:516 msgid "Added" msgstr "Pridané" +#: src/component/location/dialog.vue:68 src/component/location/dialog.vue:90 +#: src/component/photo/edit/details.vue:246 +msgid "Adjust Location" +msgstr "Upraviť umiestnenie" + #: src/options/admin.js:6 src/options/auth.js:6 msgid "Admin" msgstr "Admin" @@ -245,7 +250,7 @@ msgstr "Po 3 dňoch" msgid "After 7 days" msgstr "Po 7 dňoch" -#: src/component/settings/passcode.vue:93 +#: src/component/settings/passcode.vue:96 msgid "After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:" msgstr "Po zadaní hesla na potvrdenie si môžete nastaviť dvojfaktorové overenie pomocou kompatibilnej aplikácie alebo zariadenia na overovanie:" @@ -277,12 +282,16 @@ msgstr "Album" msgid "Album Backups" msgstr "Zálohy albumov" -#: src/page/albums.vue:674 +#: src/page/albums.vue:685 msgid "Album created" msgstr "Album vytvorený" -#: src/app/routes.js:176 src/component/album/toolbar.vue:51 -#: src/component/navigation.vue:604 src/component/navigation.vue:1882 +#: src/page/album/photos.vue:589 +msgid "Album deleted" +msgstr "Album vymazaný" + +#: src/app/routes.js:184 src/component/album/toolbar.vue:55 +#: src/component/navigation.vue:607 src/component/navigation.vue:1922 #: src/component/photo/edit/info.vue:220 src/options/options.js:198 msgid "Albums" msgstr "Albumy" @@ -295,7 +304,7 @@ msgstr "Albumy odstránené" msgid "All" msgstr "Všetky" -#: src/page/albums.vue:465 +#: src/page/albums.vue:470 msgid "All %{n} albums loaded" msgstr "Všetkých %{n} albumov bolo načítaných" @@ -311,8 +320,8 @@ msgstr "Všetkých %{n} ľudí načítaných" msgid "All Cameras" msgstr "Všetky kamery" -#: src/component/photo/toolbar.vue:74 src/page/albums.vue:44 -#: src/page/albums.vue:240 src/page/albums.vue:746 +#: src/component/photo/toolbar.vue:74 src/page/albums.vue:45 +#: src/page/albums.vue:242 src/page/albums.vue:757 msgid "All Categories" msgstr "Všetky kategórie" @@ -344,7 +353,7 @@ msgstr "Všetky Mesiace" msgid "All originals" msgstr "Všetky originály" -#: src/component/photo/toolbar.vue:76 src/page/albums.vue:93 +#: src/component/photo/toolbar.vue:76 src/page/albums.vue:94 msgid "All Years" msgstr "Všetky Roky" @@ -356,7 +365,7 @@ msgstr "Prípadne môžete odovzdať súbory priamo na WebDAV servery ako naprí msgid "Altitude" msgstr "Nadmorská výška" -#: src/component/photo/edit/details.vue:272 +#: src/component/photo/edit/details.vue:297 msgid "Altitude (m)" msgstr "Nadmorská výška (m)" @@ -364,8 +373,7 @@ msgstr "Nadmorská výška (m)" msgid "AM" msgstr "AM" -#: src/app/routes.js:257 src/component/navigation.vue:791 -#: src/component/photo/edit/files.vue:364 +#: src/app/routes.js:265 src/component/photo/edit/files.vue:364 #: src/component/photo/view/cards.vue:327 #: src/component/photo/view/cards.vue:511 src/component/photo/view/list.vue:184 #: src/component/photo/view/mosaic.vue:171 src/options/options.js:301 @@ -376,43 +384,47 @@ msgstr "Animované" msgid "Animation" msgstr "Animácie" +#: src/component/navigation.vue:797 +msgid "Animations" +msgstr "Animácie" + #: src/component/share/dialog.vue:207 msgid "Any private photos and videos remain private and won't be shared." msgstr "Všetky súkromné fotky a videá zostanú súkromné a nemôžu byť zdieľané." -#: src/component/service/edit.vue:372 +#: src/component/service/edit.vue:373 msgid "API Key" msgstr "API Kľúč" -#: src/page/admin/sessions.vue:357 src/options/auth.js:25 +#: src/page/admin/sessions.vue:361 src/options/auth.js:26 msgid "Application" msgstr "Aplikácia" -#: src/component/photo/edit/details.vue:641 +#: src/component/photo/edit/details.vue:615 msgid "Apply" msgstr "Použiť" #: src/component/photo/clipboard.vue:64 -#: src/component/photo/edit/details.vue:640 +#: src/component/photo/edit/details.vue:614 #: src/component/photo/view/cards.vue:416 msgid "Approve" msgstr "Schváliť" -#: src/page/settings/account.vue:374 src/component/settings/apps.vue:91 +#: src/page/settings/account.vue:378 src/component/settings/apps.vue:94 msgid "Apps and Devices" msgstr "Aplikácie a zariadenia" -#: src/app/routes.js:287 src/component/lightbox.vue:1207 -#: src/component/navigation.vue:555 src/component/photo/clipboard.vue:142 +#: src/app/routes.js:295 src/component/lightbox.vue:1207 +#: src/component/navigation.vue:557 src/component/photo/clipboard.vue:142 #: src/component/photo/view/cards.vue:398 src/page/settings/general.vue:432 msgid "Archive" msgstr "Archivovať" -#: src/component/lightbox.vue:1982 src/component/photo/edit/info.vue:433 +#: src/component/lightbox.vue:2002 src/component/photo/edit/info.vue:433 msgid "Archived" msgstr "Archivované" -#: src/component/photo/archive/dialog.vue:34 +#: src/component/photo/archive/dialog.vue:35 msgid "Are you sure you want to archive the selection?" msgstr "Ste si istý, že chcete archivovať výber?" @@ -420,19 +432,23 @@ msgstr "Ste si istý, že chcete archivovať výber?" msgid "Are you sure you want to delete these albums?" msgstr "Ste si istý, že chcete vymazať tieto albumy?" -#: src/component/label/delete/dialog.vue:34 +#: src/component/label/delete/dialog.vue:35 msgid "Are you sure you want to delete these labels?" msgstr "Ste si istý, že chcete vymazať tieto štítky?" -#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:36 +#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:37 msgid "Are you sure you want to delete this account?" msgstr "Ste si istý, že chcete vymazať tento účet?" +#: src/component/album/toolbar.vue:136 +msgid "Are you sure you want to delete this album?" +msgstr "Určite chcete tento album vymazať?" + #: src/component/photo/clipboard.vue:199 msgid "Are you sure you want to permanently delete these pictures?" msgstr "Ste si istý, že chcete tieto obrázky natrvalo odstrániť?" -#: src/component/file/delete/dialog.vue:34 +#: src/component/file/delete/dialog.vue:35 msgid "Are you sure you want to permanently delete this file?" msgstr "Ste si istý že chcete permanentne vymazať tento súbor?" @@ -441,7 +457,7 @@ msgstr "Ste si istý že chcete permanentne vymazať tento súbor?" msgid "Are you sure?" msgstr "Ste si istý?" -#: src/component/photo/edit/details.vue:537 +#: src/component/photo/edit/details.vue:511 msgid "Artist" msgstr "Umelec" @@ -449,14 +465,14 @@ msgstr "Umelec" msgid "Aspect Ratio" msgstr "Pomer Strán" -#: src/app/routes.js:250 src/component/navigation.vue:770 +#: src/app/routes.js:258 src/component/navigation.vue:776 #: src/options/options.js:297 msgid "Audio" msgstr "Audio" -#: src/component/user/add/dialog.vue:190 src/component/user/edit/dialog.vue:309 -#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:281 -#: src/page/admin/users.vue:75 +#: src/component/user/add/dialog.vue:191 src/component/user/edit/dialog.vue:310 +#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:282 +#: src/page/admin/users.vue:77 msgid "Authentication" msgstr "Overovanie" @@ -464,11 +480,11 @@ msgstr "Overovanie" msgid "Auto" msgstr "Auto" -#: src/component/settings/apps.vue:151 +#: src/component/settings/apps.vue:154 msgid "Back" msgstr "späť" -#: src/component/scroll.vue:20 +#: src/component/scroll.vue:18 msgid "Back to top" msgstr "Späť na začiatok" @@ -480,26 +496,26 @@ msgstr "Záloha" msgid "Badge" msgstr "Odznak" -#: src/component/user/edit/dialog.vue:361 #: src/component/user/edit/dialog.vue:362 +#: src/component/user/edit/dialog.vue:363 msgid "Base Path" msgstr "Základná cesta" -#: src/page/about/about.vue:95 src/page/connect.vue:220 +#: src/page/about/about.vue:96 src/page/connect.vue:222 msgid "Become a member today, support our mission and enjoy our member benefits!" msgstr "Staňte sa členom ešte dnes, podporte naše poslanie a využívajte naše členské výhody!" -#: src/component/confirm/sponsor.vue:51 src/page/about/about.vue:99 +#: src/component/confirm/sponsor.vue:52 src/page/about/about.vue:100 msgid "Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services." msgstr "Keďže sme financovaní 100% selfmi a sme nezávislí, môžeme vám sľúbiť, že vaše údaje nikdy nepredáme a že náš softvér a služby budú vždy transparentné." -#: src/component/user/edit/dialog.vue:258 -#: src/component/user/edit/dialog.vue:259 src/page/settings/account.vue:227 +#: src/component/user/edit/dialog.vue:259 +#: src/component/user/edit/dialog.vue:260 src/page/settings/account.vue:227 #: src/page/settings/account.vue:228 msgid "Bio" msgstr "Bio" -#: src/page/settings/account.vue:431 +#: src/page/settings/account.vue:437 msgid "Birth Date" msgstr "Datum narodenia" @@ -520,7 +536,7 @@ msgid "Brown" msgstr "Hnedá" #: src/component/photo/edit/files.vue:263 src/component/photo/toolbar.vue:141 -#: src/component/upload/dialog.vue:240 +#: src/component/upload/dialog.vue:242 msgid "Browse" msgstr "Prehľadávať" @@ -548,16 +564,16 @@ msgstr "Nahlásiť chybu" msgid "Busy, please wait…" msgstr "Som zaneprázdnený, prosím čakajte…" -#: src/page/connect.vue:317 +#: src/page/connect.vue:319 msgid "By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct." msgstr "Používaním softvéru a služieb, ktoré poskytujeme, súhlasíte s našimi podmienkami používania, zásadami ochrany osobných údajov a kódexom správania." -#: src/app/routes.js:189 src/component/navigation.vue:1081 +#: src/app/routes.js:197 src/component/navigation.vue:1097 #: src/options/options.js:204 src/page/settings/general.vue:205 msgid "Calendar" msgstr "Kalendár" -#: src/component/photo/edit/details.vue:346 src/component/photo/toolbar.vue:232 +#: src/component/photo/edit/details.vue:320 src/component/photo/toolbar.vue:234 #: src/component/photo/view/cards.vue:467 src/component/photo/view/list.vue:116 msgid "Camera" msgstr "Kamera" @@ -570,12 +586,12 @@ msgstr "Séria Kamery" msgid "Can't access your authenticator app or device?" msgstr "Nemôžete získať prístup k aplikácii alebo zariadeniu autentifikátora?" -#: src/page/album/photos.vue:317 src/page/photos.vue:450 +#: src/page/album/photos.vue:322 src/page/photos.vue:455 msgid "Can't load more, limit reached" msgstr "Nemožno načítať viac, limit dosiahnutý" #: src/common/clipboard.js:102 src/common/clipboard.js:139 -#: src/page/albums.vue:684 src/page/albums.vue:700 src/page/labels.vue:293 +#: src/page/albums.vue:695 src/page/albums.vue:711 src/page/labels.vue:293 #: src/page/labels.vue:313 src/page/library/browse.vue:233 #: src/page/library/browse.vue:249 src/page/people/new.vue:278 #: src/page/people/new.vue:294 src/page/people/recognized.vue:305 @@ -584,26 +600,31 @@ msgid "Can't select more items" msgstr "Nemožno označiť viac položiek" #: src/component/session/remove/dialog.vue:45 -#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:473 -#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:119 +#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:474 +#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:120 #: src/component/album/delete/dialog.vue:43 -#: src/component/album/edit/dialog.vue:199 src/component/confirm/dialog.vue:43 -#: src/component/file/delete/dialog.vue:47 -#: src/component/label/delete/dialog.vue:47 -#: src/component/label/edit/dialog.vue:107 -#: src/component/people/edit/dialog.vue:120 +#: src/component/album/edit/dialog.vue:200 src/component/confirm/dialog.vue:43 +#: src/component/file/delete/dialog.vue:48 +#: src/component/label/delete/dialog.vue:48 +#: src/component/label/edit/dialog.vue:108 +#: src/component/location/dialog.vue:200 +#: src/component/people/edit/dialog.vue:121 #: src/component/photo/album/dialog.vue:78 src/component/service/add.vue:19 -#: src/component/service/edit.vue:455 src/component/service/remove.vue:49 -#: src/component/service/upload.vue:117 src/component/settings/apps.vue:352 -#: src/component/settings/passcode.vue:249 -#: src/component/settings/passcode.vue:333 -#: src/component/settings/password.vue:159 src/component/share/dialog.vue:28 -#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:123 +#: src/component/service/edit.vue:456 src/component/service/remove.vue:50 +#: src/component/service/upload.vue:118 src/component/settings/apps.vue:355 +#: src/component/settings/passcode.vue:252 +#: src/component/settings/passcode.vue:336 +#: src/component/settings/password.vue:160 src/component/share/dialog.vue:28 +#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:124 #: src/page/library/import.vue:119 src/page/library/index.vue:128 msgid "Cancel" msgstr "Zrušiť" -#: src/component/photo/edit/details.vue:87 src/component/photo/edit/info.vue:61 +#: src/common/util.js:863 src/common/util.js:870 +msgid "Cannot copy to clipboard" +msgstr "Nemožno kopírovať do schránky" + +#: src/component/photo/edit/details.vue:89 src/component/photo/edit/info.vue:63 #: src/component/photo/edit/labels.vue:42 #: src/component/photo/view/cards.vue:445 src/component/sidebar/info.vue:72 msgid "Caption" @@ -617,17 +638,17 @@ msgstr "Karty" msgid "Carousel slide {0} of {1}" msgstr "Kolotočový posuvník {0} z {1}" -#: src/page/about/feedback.vue:82 src/page/about/feedback.vue:83 -#: src/component/album/edit/dialog.vue:128 src/component/photo/toolbar.vue:397 +#: src/page/about/feedback.vue:83 src/page/about/feedback.vue:84 +#: src/component/album/edit/dialog.vue:129 src/component/photo/toolbar.vue:399 #: src/page/albums.vue:187 msgid "Category" msgstr "Kategória" -#: src/component/user/edit/dialog.vue:191 src/page/settings/account.vue:201 +#: src/component/user/edit/dialog.vue:192 src/page/settings/account.vue:201 msgid "Change Avatar" msgstr "Zmeniť profilovú fotku" -#: src/page/settings/account.vue:297 src/component/settings/password.vue:48 +#: src/page/settings/account.vue:297 src/component/settings/password.vue:49 msgid "Change Password" msgstr "Zmeniť heslo" @@ -644,17 +665,17 @@ msgid "Change private flag" msgstr "Zmeniť privátne označenie" #: src/component/user/add/dialog.vue:108 src/component/user/add/dialog.vue:113 -#: src/component/user/edit/dialog.vue:90 src/component/user/edit/dialog.vue:95 +#: src/component/user/edit/dialog.vue:91 src/component/user/edit/dialog.vue:96 #: src/page/settings/account.vue:121 src/page/settings/account.vue:126 msgid "Changes could not be saved" msgstr "Zmeny sa neuložili" -#: src/component/user/edit/dialog.vue:83 src/component/user/edit/dialog.vue:159 +#: src/component/user/edit/dialog.vue:84 src/component/user/edit/dialog.vue:160 #: src/component/album/edit/dialog.vue:73 -#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1941 +#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1961 #: src/component/photo/edit/files.vue:162 src/component/service/edit.vue:90 #: src/component/share/dialog.vue:92 src/component/share/dialog.vue:111 -#: src/page/albums.vue:677 src/page/people/recognized.vue:119 +#: src/page/albums.vue:688 src/page/people/recognized.vue:119 #: src/page/settings/advanced.vue:62 src/page/settings/content.vue:62 #: src/page/settings/general.vue:108 msgid "Changes successfully saved" @@ -668,7 +689,7 @@ msgstr "Aby sa zmeny rozšírených nastavení prejavili, je potrebné ich rešt msgid "Checked" msgstr "Označené" -#: src/component/photo/edit/files.vue:495 +#: src/component/photo/edit/files.vue:497 msgid "Chroma" msgstr "Sýtosť" @@ -684,24 +705,24 @@ msgstr "Čistenie" msgid "Clear {0}" msgstr "Vyčistiť {0}" -#: src/options/auth.js:11 src/options/auth.js:23 src/options/auth.js:43 +#: src/options/auth.js:12 src/options/auth.js:24 src/options/auth.js:44 msgid "Client" msgstr "Klient" -#: src/options/auth.js:24 +#: src/options/auth.js:25 msgid "Client Credentials" msgstr "Splnomocnenia klienta" -#: src/page/admin/sessions.vue:529 src/component/lightbox.vue:284 -#: src/component/lightbox.vue:1009 src/component/lightbox.vue:1010 -#: src/component/photo/edit/details.vue:627 src/component/photo/toolbar.vue:160 -#: src/component/settings/apps.vue:224 src/component/settings/apps.vue:437 -#: src/component/settings/passcode.vue:148 -#: src/component/settings/passcode.vue:456 -#: src/component/settings/passcode.vue:497 -#: src/component/settings/webdav.vue:131 src/component/share/dialog.vue:231 +#: src/component/user/edit/dialog.vue:474 src/page/admin/sessions.vue:536 +#: src/component/lightbox.vue:284 src/component/lightbox.vue:1009 +#: src/component/lightbox.vue:1010 src/component/photo/edit/details.vue:601 +#: src/component/photo/toolbar.vue:161 src/component/settings/apps.vue:227 +#: src/component/settings/apps.vue:440 src/component/settings/passcode.vue:151 +#: src/component/settings/passcode.vue:459 +#: src/component/settings/passcode.vue:500 +#: src/component/settings/webdav.vue:132 src/component/share/dialog.vue:231 #: src/component/sidebar/info.vue:26 src/component/update.vue:57 -#: src/component/upload/dialog.vue:228 src/locales.js:206 +#: src/component/upload/dialog.vue:230 src/locales.js:206 #: src/page/library/errors.vue:253 msgid "Close" msgstr "Zatvoriť" @@ -710,11 +731,11 @@ msgstr "Zatvoriť" msgid "Codec" msgstr "Kodek" -#: src/component/photo/toolbar.vue:369 +#: src/component/photo/toolbar.vue:371 msgid "Color" msgstr "Farba" -#: src/component/photo/edit/files.vue:483 +#: src/component/photo/edit/files.vue:485 msgid "Color Profile" msgstr "Farebný profil" @@ -722,7 +743,7 @@ msgstr "Farebný profil" msgid "Colors" msgstr "Farby" -#: src/page/connect.vue:260 src/page/connect.vue:269 +#: src/page/connect.vue:262 src/page/connect.vue:271 msgid "Compare Editions" msgstr "Porovnať vydania" @@ -735,17 +756,18 @@ msgstr "Kompletné preskenovanie" msgid "Confidence" msgstr "Zhoda" +#: src/component/location/dialog.vue:212 #: src/component/photo/album/dialog.vue:90 -#: src/component/settings/passcode.vue:261 +#: src/component/settings/passcode.vue:264 msgid "Confirm" msgstr "Potvrďte" -#: src/component/service/add.vue:20 src/page/settings/services.vue:187 +#: src/component/service/add.vue:20 src/page/settings/services.vue:191 msgid "Connect" msgstr "Pripojiť" -#: src/page/settings/account.vue:401 src/component/settings/webdav.vue:45 -#: src/page/settings/services.vue:167 +#: src/page/settings/account.vue:406 src/component/settings/webdav.vue:46 +#: src/page/settings/services.vue:170 msgid "Connect via WebDAV" msgstr "Pripojiť pomocou WebDav" @@ -753,22 +775,22 @@ msgstr "Pripojiť pomocou WebDav" msgid "Connected" msgstr "Pripojené" -#: src/page/settings/account.vue:640 src/page/settings/account.vue:532 +#: src/page/settings/account.vue:646 src/page/settings/account.vue:538 msgid "Contact Details" msgstr "Kontaktné údaje" -#: src/page/about/feedback.vue:37 src/page/connect.vue:132 -#: src/page/connect.vue:136 +#: src/page/about/feedback.vue:37 src/page/connect.vue:133 +#: src/page/connect.vue:137 msgid "Contact Us" msgstr "Kontaktujte nás" #: src/page/albums.vue:433 src/page/labels.vue:237 -#: src/page/people/recognized.vue:306 +#: src/page/people/recognized.vue:310 msgid "Contains %{n} pictures." msgstr "Obsahuje %{n} obrázkov." #: src/page/albums.vue:427 src/page/labels.vue:231 -#: src/page/people/recognized.vue:300 +#: src/page/people/recognized.vue:304 msgid "Contains one picture." msgstr "Obsahuje jeden obrázok." @@ -776,7 +798,7 @@ msgstr "Obsahuje jeden obrázok." msgid "Content" msgstr "Obsah" -#: src/component/settings/apps.vue:163 +#: src/component/settings/apps.vue:166 msgid "Continue" msgstr "ďalej" @@ -784,7 +806,7 @@ msgstr "ďalej" msgid "Continue with %{provider}" msgstr "Pokračujte pomocou %{provider}" -#: src/options/admin.js:18 src/options/auth.js:9 +#: src/options/admin.js:22 src/options/auth.js:10 msgid "Contributor" msgstr "Prispievateľ" @@ -792,15 +814,15 @@ msgstr "Prispievateľ" msgid "Converting" msgstr "Konvertuje sa" -#: src/common/util.js:846 +#: src/common/util.js:856 msgid "Copied to clipboard" msgstr "Skopírované do schránky" -#: src/component/settings/apps.vue:250 src/component/settings/passcode.vue:358 +#: src/component/settings/apps.vue:253 src/component/settings/passcode.vue:361 msgid "Copy" msgstr "Kopírovať" -#: src/component/photo/edit/details.vue:516 +#: src/component/photo/edit/details.vue:490 msgid "Copyright" msgstr "Autorské práva" @@ -808,8 +830,8 @@ msgstr "Autorské práva" msgid "Couldn't find anything." msgstr "Nič nenájdené." -#: src/page/settings/account.vue:685 src/component/photo/edit/details.vue:242 -#: src/component/photo/toolbar.vue:203 src/page/settings/account.vue:577 +#: src/page/settings/account.vue:691 src/component/photo/edit/details.vue:268 +#: src/component/photo/toolbar.vue:205 src/page/settings/account.vue:583 msgid "Country" msgstr "Štát" @@ -833,7 +855,7 @@ msgstr "Vytvorenie súborov YAML na zálohovanie metadát albumu." msgid "Create YAML sidecar files to back up picture metadata." msgstr "Vytvorenie súborov YAML sidecar na zálohovanie metadát obrázkov." -#: src/page/admin/sessions.vue:417 src/component/photo/edit/info.vue:412 +#: src/page/admin/sessions.vue:422 src/component/photo/edit/info.vue:412 msgid "Created" msgstr "Vytvorené" @@ -845,11 +867,11 @@ msgstr "Vytváranie náhľadov pre" msgid "Cubic: Moderate Quality, Good Performance" msgstr "Kubický: Stredná kvalita, dobrý výkon" -#: src/component/settings/password.vue:85 +#: src/component/settings/password.vue:86 msgid "Current Password" msgstr "Súčasné heslo" -#: src/options/themes.js:919 src/options/themes.js:928 +#: src/options/themes.js:920 src/options/themes.js:929 msgid "Custom" msgstr "Vlastné" @@ -865,11 +887,11 @@ msgstr "Denne" msgid "Database Backups" msgstr "Zálohovanie databázy" -#: src/page/settings/account.vue:450 src/component/photo/edit/details.vue:110 +#: src/page/settings/account.vue:456 src/component/photo/edit/details.vue:112 msgid "Day" msgstr "Deň" -#: src/component/settings/passcode.vue:445 +#: src/component/settings/passcode.vue:448 msgid "Deactivate" msgstr "Deaktivovať" @@ -877,36 +899,40 @@ msgstr "Deaktivovať" msgid "Debug Logs" msgstr "Denníky ladenia" -#: src/options/admin.js:31 src/page/admin/sessions.vue:136 -#: src/page/admin/users.vue:176 src/component/photo/edit/info.vue:47 +#: src/options/admin.js:35 src/page/admin/sessions.vue:136 +#: src/page/admin/users.vue:178 src/component/photo/edit/info.vue:47 #: src/component/photo/edit/info.vue:110 src/model/session.js:66 -#: src/model/user.js:246 src/options/auth.js:20 src/options/auth.js:21 -#: src/options/auth.js:39 src/options/auth.js:40 src/options/options.js:196 +#: src/model/user.js:246 src/options/auth.js:21 src/options/auth.js:22 +#: src/options/auth.js:40 src/options/auth.js:41 src/options/options.js:196 #: src/options/options.js:232 src/options/options.js:316 -#: src/options/themes.js:773 +#: src/options/themes.js:774 msgid "Default" msgstr "Predvolená" -#: src/component/service/edit.vue:123 +#: src/component/service/edit.vue:124 msgid "Default Folder" msgstr "Pôvodná zložka" #: src/component/session/remove/dialog.vue:56 #: src/component/user/remove/dialog.vue:56 src/component/album/clipboard.vue:97 -#: src/component/album/delete/dialog.vue:54 -#: src/component/file/delete/dialog.vue:58 src/component/label/clipboard.vue:58 -#: src/component/label/delete/dialog.vue:58 +#: src/component/album/delete/dialog.vue:54 src/component/album/toolbar.vue:137 +#: src/component/file/delete/dialog.vue:59 src/component/label/clipboard.vue:58 +#: src/component/label/delete/dialog.vue:59 #: src/component/photo/clipboard.vue:168 src/component/photo/edit/files.vue:238 -#: src/component/service/remove.vue:60 src/component/share/dialog.vue:170 +#: src/component/service/remove.vue:61 src/component/share/dialog.vue:170 #: src/page/settings/general.vue:457 msgid "Delete" msgstr "Vymazať" +#: src/component/album/toolbar.vue:133 +msgid "Delete Album" +msgstr "Odstrániť album" + #: src/component/photo/toolbar.vue:119 src/page/library/errors.vue:95 msgid "Delete All" msgstr "Odstrániť všetko" -#: src/component/photo/toolbar.vue:433 src/page/library/errors.vue:193 +#: src/component/photo/toolbar.vue:435 src/page/library/errors.vue:193 msgid "Delete all?" msgstr "Vymazať všetko?" @@ -914,16 +940,16 @@ msgstr "Vymazať všetko?" msgid "Delete orphaned index entries, sidecar files and thumbnails." msgstr "Odstránenie osirelých položiek indexu, súborov vedľajších kariet a miniatúr." -#: src/component/album/edit/dialog.vue:107 src/page/albums.vue:411 +#: src/component/album/edit/dialog.vue:108 src/page/albums.vue:411 msgid "Description" msgstr "Popis" -#: src/component/settings/webdav.vue:115 +#: src/component/settings/webdav.vue:116 msgid "Detailed instructions can be found in our User Guide." msgstr "Detailný postup môžete nájsť v našej Užívateľskej Príručke." -#: src/component/photo/edit/dialog.vue:156 -#: src/component/photo/edit/dialog.vue:173 +#: src/component/photo/edit/dialog.vue:162 +#: src/component/photo/edit/dialog.vue:181 msgid "Details" msgstr "Detaily" @@ -987,8 +1013,8 @@ msgstr "Zakáže podporu vektorovej grafiky." msgid "Disables video transcoding and thumbnail extraction." msgstr "Zakáže prekódovanie videa a extrakciu miniatúr." -#: src/app/routes.js:558 src/app/routes.js:565 src/app/routes.js:572 -#: src/app/routes.js:579 +#: src/app/routes.js:566 src/app/routes.js:573 src/app/routes.js:580 +#: src/app/routes.js:587 msgid "Discover" msgstr "Objaviť" @@ -996,9 +1022,9 @@ msgstr "Objaviť" msgid "Dismiss" msgstr "Odmietnuť" -#: src/component/user/add/dialog.vue:133 src/component/user/add/dialog.vue:134 -#: src/component/user/edit/dialog.vue:163 -#: src/component/user/edit/dialog.vue:164 src/page/admin/users.vue:72 +#: src/component/user/add/dialog.vue:134 src/component/user/add/dialog.vue:135 +#: src/component/user/edit/dialog.vue:164 +#: src/component/user/edit/dialog.vue:165 src/page/admin/users.vue:74 #: src/page/settings/account.vue:149 src/page/settings/account.vue:151 msgid "Display Name" msgstr "Zobraziť meno" @@ -1013,12 +1039,12 @@ msgstr "Zobrazenie názvov obrázkov vo výsledkoch vyhľadávania." #: src/component/photo/view/cards.vue:339 #: src/component/photo/view/cards.vue:521 -#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:174 +#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:176 #: src/options/options.js:309 msgid "Document" msgstr "Dokument" -#: src/component/navigation.vue:480 +#: src/component/navigation.vue:482 msgid "Documents" msgstr "Dokumenty" @@ -1034,16 +1060,16 @@ msgstr "Na konverziu obrázkov nepoužívajte ImageMagick." msgid "Don't use RawTherapee to convert RAW images." msgstr "Na konverziu obrázkov RAW nepoužívajte program RawTherapee." -#: src/component/settings/apps.vue:238 src/component/share/dialog.vue:29 +#: src/component/settings/apps.vue:241 src/component/share/dialog.vue:29 msgid "Done" msgstr "Hotovo" -#: src/component/upload/dialog.vue:135 src/page/library/import.vue:46 +#: src/component/upload/dialog.vue:137 src/page/library/import.vue:46 #: src/page/library/index.vue:52 msgid "Done." msgstr "Hotovo." -#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:118 +#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:123 #: src/component/file/clipboard.vue:48 src/component/lightbox.vue:1235 #: src/component/people/clipboard.vue:47 src/component/photo/clipboard.vue:116 #: src/component/photo/edit/files.vue:168 src/page/settings/content.vue:331 @@ -1055,7 +1081,7 @@ msgstr "Stiahnuť" msgid "Download only original media files, without any automatically generated files." msgstr "Stiahnite si iba originálne mediálne súbory bez automaticky generovaných súborov." -#: src/component/service/edit.vue:237 +#: src/component/service/edit.vue:238 msgid "Download remote files" msgstr "Stiahnuť vzdialené súbory" @@ -1063,9 +1089,9 @@ msgstr "Stiahnuť vzdialené súbory" msgid "Download single files and zip archives." msgstr "Stiahnuť samostatné súbory a zip archívy." -#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:157 +#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:172 #: src/component/file/clipboard.vue:61 src/component/label/clipboard.vue:86 -#: src/component/lightbox.vue:2021 src/component/people/clipboard.vue:59 +#: src/component/lightbox.vue:2041 src/component/people/clipboard.vue:59 #: src/component/photo/clipboard.vue:220 src/component/photo/edit/files.vue:119 #: src/component/photo/view/cards.vue:169 src/component/photo/view/list.vue:142 #: src/page/library/browse.vue:139 @@ -1080,7 +1106,7 @@ msgstr "Filter znižovania kvality" msgid "Drag and drop files here" msgstr "Presuňte sem súbory" -#: src/page/about/feedback.vue:61 +#: src/page/about/feedback.vue:62 msgid "Due to the high volume of emails we receive, our team may be unable to get back to you immediately." msgstr "Vzhľadom na vysoký počet prijatých e-mailov sa môže stať, že vám náš tím nebude môcť okamžite odpovedať." @@ -1100,23 +1126,23 @@ msgstr "Dynamické Ukážky" msgid "Dynamic Size Limit: %{n}px" msgstr "Limit dynamickej pamäte: %{n} px" -#: src/page/about/feedback.vue:141 src/page/about/feedback.vue:140 +#: src/page/about/feedback.vue:142 src/page/about/feedback.vue:141 msgid "E-Mail" msgstr "E-Mail" -#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:89 +#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:94 #: src/component/lightbox.vue:1136 src/component/lightbox.vue:1137 #: src/component/photo/clipboard.vue:90 src/page/settings/general.vue:407 msgid "Edit" msgstr "Upraviť" -#: src/component/album/edit/dialog.vue:54 -#: src/component/label/edit/dialog.vue:52 -#: src/component/people/edit/dialog.vue:52 +#: src/component/album/edit/dialog.vue:55 +#: src/component/label/edit/dialog.vue:53 +#: src/component/people/edit/dialog.vue:53 msgid "Edit %{s}" msgstr "Upraviť %{s}" -#: src/component/user/edit/dialog.vue:61 src/component/service/edit.vue:79 +#: src/component/user/edit/dialog.vue:62 src/component/service/edit.vue:79 msgid "Edit Account" msgstr "Upraviť učet" @@ -1128,8 +1154,8 @@ msgstr "Upraviť Fotku" msgid "Edited" msgstr "Upravené" -#: src/component/user/add/dialog.vue:151 src/component/user/edit/dialog.vue:213 -#: src/page/settings/account.vue:171 src/page/settings/account.vue:593 +#: src/component/user/add/dialog.vue:152 src/component/user/edit/dialog.vue:214 +#: src/page/settings/account.vue:171 src/page/settings/account.vue:599 msgid "Email" msgstr "E-mail" @@ -1145,7 +1171,7 @@ msgstr "Povolenie nových funkcií, ktoré môžu byť neúplné alebo nestabiln msgid "Enables RAW converter presets. May reduce performance." msgstr "Povolí predvoľby konvertora RAW. Môže znížiť výkon." -#: src/component/settings/passcode.vue:127 +#: src/component/settings/passcode.vue:130 msgid "Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account." msgstr "Povolenie dvojfaktorovej autentifikácie znamená, že na prihlásenie budete potrebovať náhodne vygenerovaný overovací kód, takže aj keď niekto získa prístup k vášmu heslu, nebude mať prístup k vášmu účtu." @@ -1157,7 +1183,7 @@ msgstr "Zadajte dátum" msgid "Enter dates" msgstr "Zadajte dátumy" -#: src/component/settings/passcode.vue:213 src/page/auth/login.vue:104 +#: src/component/settings/passcode.vue:216 src/page/auth/login.vue:104 msgid "Enter the code generated by your authenticator app:" msgstr "Zadajte kód vygenerovaný aplikáciou autentifikátora:" @@ -1165,7 +1191,7 @@ msgstr "Zadajte kód vygenerovaný aplikáciou autentifikátora:" msgid "Enter verification code" msgstr "Zadajte overovací kód" -#: src/component/settings/apps.vue:109 +#: src/component/settings/apps.vue:112 msgid "Enter your password to confirm the action and continue:" msgstr "Zadajte svoje heslo na potvrdenie akcie a pokračujte:" @@ -1174,7 +1200,7 @@ msgstr "Zadajte svoje heslo na potvrdenie akcie a pokračujte:" msgid "Error" msgstr "Chyba" -#: src/app/routes.js:374 src/component/navigation.vue:1348 +#: src/app/routes.js:382 src/component/navigation.vue:1372 msgid "Errors" msgstr "Chyby" @@ -1210,13 +1236,13 @@ msgstr "Pre úplnú podporu videí, živých fotografií a XMP je potrebná extr msgid "Experimental Features" msgstr "Experimentálne funkcie" -#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:453 -#: src/component/service/edit.vue:157 src/component/settings/apps.vue:73 -#: src/component/settings/apps.vue:326 src/component/share/dialog.vue:62 +#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:458 +#: src/component/service/edit.vue:158 src/component/settings/apps.vue:73 +#: src/component/settings/apps.vue:329 src/component/share/dialog.vue:62 msgid "Expires" msgstr "Vyprší" -#: src/component/photo/edit/details.vue:396 +#: src/component/photo/edit/details.vue:370 msgid "Exposure" msgstr "Expozícia" @@ -1224,7 +1250,7 @@ msgstr "Expozícia" msgid "Extract still images and generate thumbnails while indexing." msgstr "Extrahovanie statických obrázkov a generovanie miniatúr počas indexovania." -#: src/component/photo/edit/details.vue:444 +#: src/component/photo/edit/details.vue:418 msgid "F Number" msgstr "F Číslo" @@ -1240,7 +1266,7 @@ msgstr "Tváre" msgid "Failed removing link" msgstr "Zlyhalo odstraňovanie odkazu" -#: src/page/connect.vue:106 src/page/connect.vue:110 +#: src/page/connect.vue:107 src/page/connect.vue:111 msgid "Failed to connect account." msgstr "Nepodarilo sa pripojiť účet." @@ -1248,8 +1274,8 @@ msgstr "Nepodarilo sa pripojiť účet." msgid "Failed updating link" msgstr "Zlyhalo aktualizovanie odkazu" -#: src/component/user/edit/dialog.vue:143 -#: src/component/user/edit/dialog.vue:144 src/page/settings/account.vue:128 +#: src/component/user/edit/dialog.vue:144 +#: src/component/user/edit/dialog.vue:145 src/page/settings/account.vue:128 #: src/page/settings/account.vue:130 msgid "Family Name" msgstr "Rodinné meno" @@ -1258,15 +1284,15 @@ msgstr "Rodinné meno" msgid "Fast" msgstr "Rýchle" -#: src/component/album/edit/dialog.vue:159 -#: src/component/label/edit/dialog.vue:85 -#: src/component/people/edit/dialog.vue:85 +#: src/component/album/edit/dialog.vue:160 +#: src/component/label/edit/dialog.vue:86 +#: src/component/people/edit/dialog.vue:86 #: src/component/photo/edit/info.vue:287 msgid "Favorite" msgstr "Obľúbený" -#: src/app/routes.js:222 src/component/navigation.vue:893 -#: src/options/options.js:202 src/page/albums.vue:97 +#: src/app/routes.js:230 src/component/navigation.vue:903 +#: src/options/options.js:202 src/page/albums.vue:98 msgid "Favorites" msgstr "Obľúbené" @@ -1274,7 +1300,7 @@ msgstr "Obľúbené" msgid "Feature Request" msgstr "Požiadať o funkciu" -#: src/component/navigation.vue:1456 +#: src/component/navigation.vue:1482 msgid "Feedback" msgstr "Spätná väzba" @@ -1282,11 +1308,12 @@ msgstr "Spätná väzba" msgid "Female" msgstr "Žena" -#: src/component/photo/edit/info.vue:214 src/model/file.js:290 +#: src/component/photo/edit/info.vue:57 src/component/photo/edit/info.vue:214 +#: src/model/file.js:290 msgid "File" msgstr "Súbor" -#: src/app/routes.js:343 +#: src/app/routes.js:351 msgid "File Browser" msgstr "Prehliadač Súborov" @@ -1309,8 +1336,8 @@ msgstr "Veľkosť súboru" msgid "Filename" msgstr "Názov súboru" -#: src/component/navigation.vue:1930 src/component/photo/edit/dialog.vue:267 -#: src/component/photo/edit/dialog.vue:284 +#: src/component/navigation.vue:1973 src/component/photo/edit/dialog.vue:279 +#: src/component/photo/edit/dialog.vue:298 msgid "Files" msgstr "Súbory" @@ -1322,26 +1349,26 @@ msgstr "Súbory s postupnými menami ako napríklad 'IMG_1234 (2)' alebo 'IMG_12 msgid "First page" msgstr "Prvá strana" -#: src/component/photo/edit/details.vue:465 +#: src/component/photo/edit/details.vue:439 msgid "Focal Length" msgstr "Ohnisková Vzdialenosť" -#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:118 -#: src/component/service/edit.vue:189 src/component/service/edit.vue:194 -#: src/component/service/upload.vue:90 src/component/service/upload.vue:96 +#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:119 +#: src/component/service/edit.vue:190 src/component/service/edit.vue:195 +#: src/component/service/upload.vue:91 src/component/service/upload.vue:97 #: src/model/folder.js:199 src/page/library/browse.vue:182 msgid "Folder" msgstr "Zložka" -#: src/page/library/browse.vue:365 +#: src/page/library/browse.vue:367 msgid "Folder contains %{n} files" msgstr "Zložka obsahuje %{n} súborov" -#: src/page/library/browse.vue:356 +#: src/page/library/browse.vue:358 msgid "Folder is empty" msgstr "Zložka je prázdna" -#: src/app/routes.js:202 src/component/navigation.vue:1225 +#: src/app/routes.js:210 src/component/navigation.vue:1247 #: src/options/options.js:207 msgid "Folders" msgstr "Zložky" @@ -1358,7 +1385,7 @@ msgstr ":abbr:`FPS (Frame Per Second - snímok za sekundu)`" msgid "Frames" msgstr "Frames" -#: src/options/auth.js:54 src/options/auth.js:64 +#: src/options/auth.js:55 src/options/auth.js:65 msgid "Full Access" msgstr "Úplný prístup" @@ -1370,7 +1397,7 @@ msgstr "Plná obrazovka" msgid "General" msgstr "Hlavné" -#: src/component/settings/apps.vue:364 +#: src/component/settings/apps.vue:367 msgid "Generate" msgstr "Generovať" @@ -1390,8 +1417,8 @@ msgstr "Generované" msgid "Get Started" msgstr "Začnite" -#: src/component/user/edit/dialog.vue:120 -#: src/component/user/edit/dialog.vue:121 src/page/settings/account.vue:106 +#: src/component/user/edit/dialog.vue:121 +#: src/component/user/edit/dialog.vue:122 src/page/settings/account.vue:106 #: src/page/settings/account.vue:108 msgid "Given Name" msgstr "Dané meno" @@ -1416,7 +1443,7 @@ msgstr "Zelená" msgid "Grey" msgstr "Sivá" -#: src/options/admin.js:22 src/options/auth.js:10 +#: src/options/admin.js:26 src/options/auth.js:11 msgid "Guest" msgstr "Hosť" @@ -1432,15 +1459,15 @@ msgstr "Pomoc" msgid "Help & Support" msgstr "Pomoc a podpora" -#: src/component/navigation.vue:1327 src/component/people/edit/dialog.vue:98 +#: src/component/navigation.vue:1351 src/component/people/edit/dialog.vue:99 msgid "Hidden" msgstr "Skryté" -#: src/app/routes.js:358 +#: src/app/routes.js:366 msgid "Hidden Files" msgstr "Skryté súbory" -#: src/page/people/new.vue:165 src/page/people/recognized.vue:205 +#: src/page/people/new.vue:166 src/page/people/recognized.vue:206 msgid "Hide" msgstr "Skryť" @@ -1456,7 +1483,7 @@ msgstr "Vysoké" msgid "High Dynamic Range (HDR)" msgstr "Vysoký dynamický rozsah (HDR)" -#: src/page/about/feedback.vue:103 +#: src/page/about/feedback.vue:104 msgid "How can we help?" msgstr "Ako môžeme pomôcť?" @@ -1464,11 +1491,11 @@ msgstr "Ako môžeme pomôcť?" msgid "Hybrid" msgstr "Hybrid" -#: src/component/settings/passcode.vue:389 +#: src/component/settings/passcode.vue:392 msgid "If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account." msgstr "Ak stratíte prístup k svojej autentifikačnej aplikácii alebo zariadeniu, môžete použiť kód na obnovenie na opätovné získanie prístupu k svojmu účtu." -#: src/component/photo/edit/info.vue:63 src/component/photo/edit/labels.vue:46 +#: src/component/photo/edit/info.vue:65 src/component/photo/edit/labels.vue:46 #: src/component/photo/view/cards.vue:532 src/model/file.js:218 #: src/options/options.js:281 msgid "Image" @@ -1478,7 +1505,7 @@ msgstr "Obrázok" msgid "Image Quality" msgstr "Kvalita obrazu" -#: src/page/library.vue:46 src/page/library/import.vue:152 +#: src/page/library.vue:46 src/page/library/import.vue:153 #: src/page/settings/general.vue:357 msgid "Import" msgstr "Importovať" @@ -1503,8 +1530,8 @@ msgstr "Importuje sa %{s}…" msgid "Importing files to originals…" msgstr "Importujú sa súbory do originálov…" -#: src/component/photo/edit/files.vue:515 -#: src/component/photo/edit/files.vue:520 +#: src/component/photo/edit/files.vue:517 +#: src/component/photo/edit/files.vue:522 msgid "in" msgstr "v" @@ -1522,11 +1549,11 @@ msgstr "Zahrnúť obrazové súbory RAW pri preberaní zásobníkov a archívov. msgid "Include sidecar files when downloading stacks and archives." msgstr "Pri preberaní zásobníkov a archívov zahrňte vedľajšie súbory." -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Increase storage size or delete files to continue." msgstr "Ak chcete pokračovať, zväčšite veľkosť úložiska alebo odstráňte súbory." -#: src/component/navigation.vue:1946 src/page/library.vue:36 +#: src/component/navigation.vue:1990 src/page/library.vue:36 #: src/page/settings/content.vue:34 msgid "Index" msgstr "Index" @@ -1556,11 +1583,11 @@ msgstr "Informácie" msgid "Instance ID" msgstr "ID Inštancie" -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Insufficient storage." msgstr "Nedostatočné skladovanie." -#: src/component/service/edit.vue:209 +#: src/component/service/edit.vue:210 msgid "Interval" msgstr "Interval" @@ -1581,7 +1608,7 @@ msgstr "Neplatná adresa" msgid "Invalid country" msgstr "Neplatná krajina" -#: src/component/photo/edit/details.vue:174 +#: src/component/photo/edit/details.vue:169 msgid "Invalid date" msgstr "Neplatný dátum" @@ -1590,7 +1617,7 @@ msgstr "Neplatný dátum" msgid "Invalid parameters" msgstr "Neplatné parametre" -#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:197 +#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:199 msgid "Invalid photo selected" msgstr "Vybraná neplatná fotografia" @@ -1602,8 +1629,8 @@ msgstr "Neplatný čas" msgid "Invalid URL" msgstr "Neplatná adresa URL" -#: src/component/settings/passcode.vue:314 -#: src/component/settings/passcode.vue:391 +#: src/component/settings/passcode.vue:317 +#: src/component/settings/passcode.vue:394 msgid "It is a one-time use code that will disable 2FA for your account when you use it." msgstr "Je to jednorazový kód, ktorý pri použití deaktivuje 2FA pre váš účet." @@ -1627,7 +1654,7 @@ msgstr "Limit veľkosti JPEG: %{n} px" msgid "JPEGs and thumbnails are automatically rendered as needed." msgstr "JPEG a náhľady sú automaticky vykreslené podľa potreby." -#: src/component/photo/edit/details.vue:581 +#: src/component/photo/edit/details.vue:555 msgid "Keywords" msgstr "Kľúčové slová" @@ -1636,9 +1663,9 @@ msgstr "Kľúčové slová" msgid "Label" msgstr "Štítok" -#: src/app/routes.js:389 src/component/navigation.vue:1177 -#: src/component/photo/edit/dialog.vue:188 -#: src/component/photo/edit/dialog.vue:205 src/options/options.js:206 +#: src/app/routes.js:397 src/component/navigation.vue:1197 +#: src/component/photo/edit/dialog.vue:196 +#: src/component/photo/edit/dialog.vue:215 src/options/options.js:206 #: src/page/settings/general.vue:255 msgid "Labels" msgstr "Štítky" @@ -1655,11 +1682,11 @@ msgstr "Lanczos: Zachovanie detailov, minimálne artefakty" msgid "Language" msgstr "Jazyk" -#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:435 +#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:440 msgid "Last Active" msgstr "Posledný aktívny" -#: src/page/admin/users.vue:81 +#: src/page/admin/users.vue:83 msgid "Last Login" msgstr "Posledné prihlásenie" @@ -1675,42 +1702,41 @@ msgstr "Posledná synchronizácia" msgid "Last Used" msgstr "Naposledy použité" -#: src/component/photo/edit/details.vue:298 #: src/component/photo/edit/info.vue:373 msgid "Latitude" msgstr "Šírka" -#: src/options/admin.js:43 src/options/auth.js:29 +#: src/options/admin.js:47 src/options/auth.js:30 msgid "LDAP/AD" msgstr "LDAP/AD" -#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:86 -#: src/page/about/about.vue:62 src/page/about/about.vue:132 +#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:87 +#: src/page/about/about.vue:62 src/page/about/about.vue:133 #: src/page/connect.vue:67 src/page/help.vue:36 msgid "Learn more" msgstr "Viac" -#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:135 +#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:137 #: src/page/labels.vue:132 msgid "Learn More" msgstr "Dozvedieť sa viac" -#: src/component/navigation.vue:2017 +#: src/component/navigation.vue:2066 msgid "Legal Information" msgstr "Právne informácie" -#: src/component/photo/edit/details.vue:417 +#: src/component/photo/edit/details.vue:391 #: src/component/photo/view/cards.vue:480 msgid "Lens" msgstr "Objektív" -#: src/app/routes.js:443 src/app/routes.js:459 src/app/routes.js:475 -#: src/component/navigation.vue:1267 src/page/settings/general.vue:507 +#: src/app/routes.js:451 src/app/routes.js:467 src/app/routes.js:483 +#: src/component/navigation.vue:1290 src/page/settings/general.vue:507 msgid "Library" msgstr "Knižnica" #: src/page/connect.vue:45 src/app/routes.js:69 -#: src/component/navigation.vue:1478 src/component/photo/edit/details.vue:559 +#: src/component/navigation.vue:1504 src/component/photo/edit/details.vue:533 #: src/page/about/license.vue:28 msgid "License" msgstr "Licencia" @@ -1723,7 +1749,7 @@ msgstr "Páči sa mi to" msgid "Lime" msgstr "Limetka" -#: src/page/library/browse.vue:369 +#: src/page/library/browse.vue:371 msgid "Limit reached, showing first %{n} files" msgstr "Limit bol dosiahnutý, zobrazovanie prvých %{n} súborov" @@ -1731,7 +1757,7 @@ msgstr "Limit bol dosiahnutý, zobrazovanie prvých %{n} súborov" msgid "Linear: Very Smooth, Best Performance" msgstr "Lineárne: Veľmi hladké, Najlepší výkon" -#: src/model/link.js:117 src/options/auth.js:30 src/options/auth.js:31 +#: src/model/link.js:117 src/options/auth.js:31 src/options/auth.js:32 msgid "Link" msgstr "Odkaz" @@ -1749,7 +1775,7 @@ msgstr "Zobrazenie zoznamu" msgid "Live" msgstr "Živé" -#: src/app/routes.js:236 src/component/navigation.vue:749 +#: src/app/routes.js:244 src/component/navigation.vue:755 msgid "Live Photos" msgstr "Živé fotografie" @@ -1765,21 +1791,24 @@ msgstr "Načítanie položiek..." msgid "Loading..." msgstr "Načítavanie..." -#: src/options/admin.js:35 src/options/auth.js:22 src/options/auth.js:27 +#: src/options/admin.js:39 src/options/auth.js:23 src/options/auth.js:28 #: src/options/options.js:38 src/page/settings/general.vue:107 msgid "Local" msgstr "Miestne stránky" -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Local Time" msgstr "Lokálny čas" -#: src/page/settings/account.vue:665 src/page/settings/account.vue:667 -#: src/component/album/edit/dialog.vue:92 src/component/photo/edit/info.vue:65 -#: src/component/photo/edit/labels.vue:48 +#: src/page/settings/account.vue:671 src/page/settings/account.vue:673 +#: src/component/album/edit/dialog.vue:93 +#: src/component/photo/edit/details.vue:38 +#: src/component/photo/edit/details.vue:116 +#: src/component/photo/edit/details.vue:210 +#: src/component/photo/edit/info.vue:67 src/component/photo/edit/labels.vue:48 #: src/component/photo/view/cards.vue:555 src/component/photo/view/list.vue:117 -#: src/component/sidebar/info.vue:107 src/page/albums.vue:99 -#: src/page/settings/account.vue:557 src/page/settings/account.vue:559 +#: src/component/sidebar/info.vue:107 src/page/albums.vue:100 +#: src/page/settings/account.vue:563 src/page/settings/account.vue:565 msgid "Location" msgstr "Poloha" @@ -1787,20 +1816,19 @@ msgstr "Poloha" msgid "Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues." msgstr "Správy denníka sa tu zobrazia vždy, keď program PhotoPrism narazí na poškodené súbory alebo sa vyskytnú iné potenciálne problémy." -#: src/component/navigation.vue:1552 src/component/navigation.vue:1840 +#: src/component/navigation.vue:1579 src/component/navigation.vue:1877 msgid "Login" msgstr "Prihlásiť sa" -#: src/component/navigation.vue:1759 +#: src/component/navigation.vue:1791 msgid "Logout" msgstr "Odhlásiť sa" -#: src/component/navigation.vue:1962 src/page/library.vue:59 +#: src/component/navigation.vue:2007 src/page/library.vue:59 #: src/page/settings/general.vue:557 msgid "Logs" msgstr "Záznamy" -#: src/component/photo/edit/details.vue:324 #: src/component/photo/edit/info.vue:379 msgid "Longitude" msgstr "Dĺžka" @@ -1813,7 +1841,7 @@ msgstr "Nízka" msgid "Magenta" msgstr "Purpurová" -#: src/component/photo/edit/files.vue:489 +#: src/component/photo/edit/files.vue:491 msgid "Main Color" msgstr "Hlavná Farba" @@ -1821,12 +1849,16 @@ msgstr "Hlavná Farba" msgid "Male" msgstr "Muž" -#: src/page/connect.vue:164 src/page/connect.vue:246 -#: src/page/about/about.vue:171 src/page/connect.vue:168 -#: src/page/connect.vue:255 +#: src/page/connect.vue:165 src/page/connect.vue:248 +#: src/page/about/about.vue:173 src/page/connect.vue:169 +#: src/page/connect.vue:257 msgid "Manage Account" msgstr "Správa účtu" +#: src/options/admin.js:10 src/options/auth.js:7 +msgid "Manager" +msgstr "Manažér" + #: src/component/photo/edit/info.vue:49 src/component/photo/edit/labels.vue:38 msgid "Manual" msgstr "Manuálne" @@ -1843,11 +1875,11 @@ msgstr "Mapy" msgid "Marker" msgstr "Značka" -#: src/component/user/add/dialog.vue:69 +#: src/component/user/add/dialog.vue:70 msgid "Maximum number of accounts has been reached." msgstr "Maximálny počet účtov bol dosiahnutý." -#: src/app/routes.js:229 src/component/navigation.vue:688 +#: src/app/routes.js:237 src/component/navigation.vue:693 #: src/options/options.js:199 msgid "Media" msgstr "Médiá" @@ -1864,7 +1896,7 @@ msgstr "Členstvo" msgid "Merge %{a} with %{b}?" msgstr "Zlúčiť %{a} s %{b}?" -#: src/page/about/feedback.vue:102 +#: src/page/about/feedback.vue:103 msgid "Message" msgstr "Správa" @@ -1876,7 +1908,7 @@ msgstr "Správa odoslaná" msgid "Metadata" msgstr "Metadáta" -#: src/options/auth.js:56 src/options/auth.js:72 +#: src/options/auth.js:57 src/options/auth.js:73 msgid "Metrics" msgstr "Metriky" @@ -1884,7 +1916,7 @@ msgstr "Metriky" msgid "Minimize" msgstr "Minimalizovať" -#: src/component/photo/edit/files.vue:509 src/component/photo/edit/info.vue:367 +#: src/component/photo/edit/files.vue:511 src/component/photo/edit/info.vue:367 msgid "Missing" msgstr "Chýba" @@ -1892,17 +1924,17 @@ msgstr "Chýba" msgid "Missing or invalid configuration" msgstr "Chýbajúca alebo neplatná konfigurácia" -#: src/app/routes.js:163 src/component/navigation.vue:1129 +#: src/app/routes.js:171 src/component/navigation.vue:1147 #: src/options/options.js:205 src/page/settings/general.vue:230 msgid "Moments" msgstr "Momenty" -#: src/component/navigation.vue:383 +#: src/component/navigation.vue:385 msgid "Monochrome" msgstr "Monochromatický" -#: src/page/settings/account.vue:475 src/component/photo/edit/details.vue:137 -#: src/component/photo/toolbar.vue:342 +#: src/page/settings/account.vue:481 src/component/photo/edit/details.vue:139 +#: src/component/photo/toolbar.vue:344 msgid "Month" msgstr "Mesiac" @@ -1922,7 +1954,7 @@ msgstr "Najrelevantnejšie" msgid "Move Files" msgstr "Presunúť Súbory" -#: src/component/settings/password.vue:107 +#: src/component/settings/password.vue:108 msgid "Must have at least %{n} characters." msgstr "Musí obsahovať aspoň %{n} znakov." @@ -1930,20 +1962,20 @@ msgstr "Musí obsahovať aspoň %{n} znakov." msgid "Mute" msgstr "Vypnutie zvuku" -#: src/page/about/feedback.vue:121 src/page/about/feedback.vue:122 -#: src/component/album/edit/dialog.vue:77 -#: src/component/label/edit/dialog.vue:71 -#: src/component/people/edit/dialog.vue:71 -#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:57 +#: src/page/about/feedback.vue:122 src/page/about/feedback.vue:123 +#: src/component/album/edit/dialog.vue:78 +#: src/component/label/edit/dialog.vue:72 +#: src/component/people/edit/dialog.vue:72 +#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:59 #: src/component/photo/edit/info.vue:125 src/component/photo/edit/people.vue:36 -#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:310 -#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:286 -#: src/page/albums.vue:98 src/page/auth/login.vue:168 +#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:311 +#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:289 +#: src/page/albums.vue:99 src/page/auth/login.vue:168 #: src/page/people/new.vue:68 src/page/settings/services.vue:37 msgid "Name" msgstr "Meno" -#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:60 +#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:65 #: src/component/label/edit/dialog.vue:19 #: src/component/people/edit/dialog.vue:19 #: src/component/photo/edit/labels.vue:30 @@ -1953,7 +1985,7 @@ msgstr "Meno" msgid "Name too long" msgstr "Meno je príliš dlhé" -#: src/page/admin/users.vue:204 src/options/options.js:361 +#: src/page/admin/users.vue:206 src/options/options.js:361 #: src/options/options.js:371 src/page/settings/services.vue:75 msgid "Never" msgstr "Nikdy" @@ -1962,13 +1994,13 @@ msgstr "Nikdy" msgid "New" msgstr "Nový" -#: src/component/settings/password.vue:106 +#: src/component/settings/password.vue:107 msgid "New Password" msgstr "Nové heslo" #: src/component/album/edit/dialog.vue:24 src/component/photo/toolbar.vue:114 #: src/component/photo/toolbar.vue:126 src/component/photo/toolbar.vue:136 -#: src/page/albums.vue:100 +#: src/page/albums.vue:101 msgid "Newest First" msgstr "Najnovšie prvé" @@ -1984,15 +2016,15 @@ msgstr "Ďalšia stránka" msgid "Next visual" msgstr "Ďalšie vizuálne" -#: src/component/people/merge/dialog.vue:47 -#: src/component/photo/archive/dialog.vue:47 +#: src/component/people/merge/dialog.vue:48 +#: src/component/photo/archive/dialog.vue:48 #: src/component/photo/edit/info.vue:281 src/component/photo/edit/info.vue:297 #: src/component/photo/edit/info.vue:313 src/component/photo/edit/info.vue:329 #: src/component/photo/edit/info.vue:344 msgid "No" msgstr "Nie" -#: src/page/albums.vue:607 src/page/albums.vue:282 +#: src/page/albums.vue:612 src/page/albums.vue:282 msgid "No albums found" msgstr "Nenašli sa žiadne albumy" @@ -2000,7 +2032,7 @@ msgstr "Nenašli sa žiadne albumy" msgid "No data available" msgstr "Nie sú k dispozícii žiadne údaje" -#: src/page/labels.vue:523 src/page/labels.vue:155 +#: src/page/labels.vue:528 src/page/labels.vue:155 msgid "No labels found" msgstr "Nenašli sa žiadne štítky" @@ -2013,15 +2045,15 @@ msgid "No more" msgstr "Nie viac" #: src/component/photo/edit/people.vue:34 src/page/people/new.vue:346 -#: src/page/people/new.vue:443 src/page/people/new.vue:103 -#: src/page/people/recognized.vue:531 src/page/people/recognized.vue:146 +#: src/page/people/new.vue:446 src/page/people/new.vue:103 +#: src/page/people/recognized.vue:536 src/page/people/recognized.vue:146 msgid "No people found" msgstr "Neboli nájdení žiadni ľudia" #: src/component/lightbox.vue:365 src/component/photo/view/cards.vue:144 #: src/component/photo/view/list.vue:82 src/component/photo/view/mosaic.vue:68 -#: src/page/album/photos.vue:488 src/page/library/browse.vue:123 -#: src/page/photos.vue:626 src/page/places.vue:624 src/page/places.vue:730 +#: src/page/album/photos.vue:499 src/page/library/browse.vue:123 +#: src/page/photos.vue:636 src/page/places.vue:624 src/page/places.vue:730 msgid "No pictures found" msgstr "Nenašli sa žiadne fotky" @@ -2030,7 +2062,11 @@ msgstr "Nenašli sa žiadne fotky" msgid "No recently edited pictures" msgstr "Žiadne nedávno upravené fotky" -#: src/component/navigation.vue:1655 +#: src/component/location/dialog.vue:166 +msgid "No results" +msgstr "Žiadne výsledky" + +#: src/component/navigation.vue:1686 msgid "No server connection" msgstr "Žiadne pripojenie k serveru" @@ -2042,7 +2078,7 @@ msgstr "Žiadne nakonfigurované servery." msgid "No services configured." msgstr "Nie sú nakonfigurované žiadne služby." -#: src/component/confirm/sponsor.vue:72 +#: src/component/confirm/sponsor.vue:73 msgid "No thanks" msgstr "Nie, ďakujem" @@ -2052,17 +2088,17 @@ msgstr "Nenašli sa žiadne upozornenia ani chyby ktoré by obsahovali toto kľ #: src/component/photo/view/cards.vue:154 src/component/photo/view/list.vue:59 #: src/component/photo/view/list.vue:92 src/component/photo/view/mosaic.vue:78 -#: src/component/upload/dialog.vue:208 +#: src/component/upload/dialog.vue:210 msgid "Non-photographic and low-quality images require a review before they appear in search results." msgstr "Nefotografické a fotografie nízkej kvality vyžadujú skontrolovanie pred tým než sa zobrazia vo výsledkoch vyhľadávania." -#: src/options/admin.js:47 src/options/auth.js:32 src/options/options.js:212 +#: src/options/admin.js:51 src/options/auth.js:33 src/options/options.js:212 #: src/options/options.js:328 msgid "None" msgstr "Žiadne" -#: src/common/util.js:853 src/component/lightbox.vue:633 -#: src/component/service/upload.vue:75 src/component/service/upload.vue:87 +#: src/component/lightbox.vue:633 src/component/service/upload.vue:75 +#: src/component/service/upload.vue:87 msgid "Not allowed" msgstr "Nie je povolené" @@ -2074,8 +2110,7 @@ msgstr "Nenájdené" msgid "Not sorted." msgstr "Nie je vytriedené." -#: src/common/util.js:858 src/component/lightbox.vue:627 -#: src/component/lightbox.vue:744 +#: src/component/lightbox.vue:627 src/component/lightbox.vue:744 msgid "Not supported" msgstr "Nie je podporované" @@ -2083,15 +2118,15 @@ msgstr "Nie je podporované" msgid "Note you may manually manage your originals folder and importing is optional." msgstr "Upozorňujeme, že priečinok s originálmi by ste mali spravovať ručne a import je voliteľný." -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "Note:" msgstr "Poznámka:" -#: src/component/service/add.vue:120 +#: src/component/service/add.vue:121 msgid "Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload." msgstr "Poznámka: Iba WebDAV servery, ako napríklad Nextcloud alebo PhotoPrism, môžu byť nakonfigurované ako vzdialené služby pre zálohu a odovzdávanie súborov." -#: src/component/photo/edit/details.vue:603 +#: src/component/photo/edit/details.vue:577 msgid "Notes" msgstr "Poznámky" @@ -2099,8 +2134,8 @@ msgstr "Poznámky" msgid "Nothing to see here yet." msgstr "Zatiaľ tu nič nie je. Buďte trpezlivý." -#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:115 -#: src/component/settings/apps.vue:390 +#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:125 +#: src/component/settings/apps.vue:393 msgid "Nothing was found." msgstr "Nič sa nenašlo." @@ -2108,7 +2143,7 @@ msgstr "Nič sa nenašlo." msgid "Offline" msgstr "Offline" -#: src/options/admin.js:39 src/options/auth.js:28 +#: src/options/admin.js:43 src/options/auth.js:29 msgid "OIDC" msgstr "OIDC" @@ -2118,11 +2153,11 @@ msgstr "OK" #: src/component/album/edit/dialog.vue:25 src/component/photo/toolbar.vue:115 #: src/component/photo/toolbar.vue:127 src/component/photo/toolbar.vue:137 -#: src/page/albums.vue:101 +#: src/page/albums.vue:102 msgid "Oldest First" msgstr "Najstaršie prvé" -#: src/component/settings/webdav.vue:77 +#: src/component/settings/webdav.vue:78 msgid "On Windows, enter the following resource in the connection dialog:" msgstr "V systéme Windows zadajte do dialógového okna pripojenia nasledujúci zdroj:" @@ -2134,11 +2169,11 @@ msgstr "Generovanie miniatúr na požiadanie môže spôsobiť vysoké využitie msgid "Once a week" msgstr "Raz za týždeň" -#: src/page/albums.vue:609 +#: src/page/albums.vue:614 msgid "One album found" msgstr "Našiel sa jeden album" -#: src/page/library/browse.vue:358 +#: src/page/library/browse.vue:360 msgid "One file found" msgstr "Našiel sa jeden súbor" @@ -2146,24 +2181,24 @@ msgstr "Našiel sa jeden súbor" msgid "One file uploaded" msgstr "Jeden nahraný súbor" -#: src/page/library/browse.vue:360 +#: src/page/library/browse.vue:362 msgid "One folder found" msgstr "Našla sa jedna zložka" -#: src/page/labels.vue:525 +#: src/page/labels.vue:530 msgid "One label found" msgstr "Našiel sa jeden štítok" -#: src/page/people/new.vue:348 src/page/people/new.vue:445 -#: src/page/people/recognized.vue:533 +#: src/page/people/new.vue:348 src/page/people/new.vue:448 +#: src/page/people/recognized.vue:538 msgid "One person found" msgstr "Našla sa jedna osoba" -#: src/page/album/photos.vue:490 src/page/photos.vue:628 +#: src/page/album/photos.vue:501 src/page/photos.vue:638 msgid "One picture found" msgstr "Našla sa jedna fotka" -#: src/component/settings/passcode.vue:478 +#: src/component/settings/passcode.vue:481 msgid "Only locally managed accounts can be set up for authentication with 2FA." msgstr "Na overenie pomocou 2FA je možné nastaviť iba lokálne spravované účty." @@ -2171,7 +2206,7 @@ msgstr "Na overenie pomocou 2FA je možné nastaviť iba lokálne spravované ú msgid "Open" msgstr "Otvorte stránku" -#: src/component/service/add.vue:86 src/component/service/add.vue:107 +#: src/component/service/add.vue:87 src/component/service/add.vue:108 msgid "optional" msgstr "voliteľné" @@ -2183,7 +2218,7 @@ msgstr "alebo" msgid "Orange" msgstr "Oranžová" -#: src/page/settings/account.vue:571 src/page/settings/account.vue:573 +#: src/page/settings/account.vue:577 src/page/settings/account.vue:579 msgid "Organization" msgstr "Názov organizácie" @@ -2199,7 +2234,7 @@ msgstr "Pôvodné názvy súborov budú uložené a zaindexované." msgid "Original Name" msgstr "Pôvodný názov" -#: src/component/navigation.vue:1304 src/model/file.js:196 +#: src/component/navigation.vue:1328 src/model/file.js:196 #: src/options/options.js:413 src/page/library/browse.vue:65 #: src/page/settings/content.vue:356 src/page/settings/general.vue:532 msgid "Originals" @@ -2210,7 +2245,7 @@ msgstr "Pôvodné" msgid "Other" msgstr "Ostatné" -#: src/page/about/about.vue:77 src/page/about/about.vue:83 +#: src/page/about/about.vue:78 src/page/about/about.vue:84 msgid "Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible." msgstr "Našou víziou je poskytnúť používateľsky najprívetivejšie riešenie na prehliadanie, organizovanie a zdieľanie vašej zbierky fotografií." @@ -2222,7 +2257,7 @@ msgstr "Vonkajšie" msgid "Page {0}, Current page" msgstr "Strana {0}, Aktuálna stránka" -#: src/component/photo/edit/files.vue:352 src/model/photo.js:859 +#: src/component/photo/edit/files.vue:352 src/model/photo.js:896 msgid "Pages" msgstr "Stránky" @@ -2234,15 +2269,15 @@ msgstr "Navigácia na stránkovanie" msgid "Panorama" msgstr "Panoráma" -#: src/component/navigation.vue:402 +#: src/component/navigation.vue:404 msgid "Panoramas" msgstr "Panorámy" -#: src/component/user/add/dialog.vue:114 src/component/user/add/dialog.vue:115 -#: src/component/service/add.vue:106 src/component/service/edit.vue:352 -#: src/component/settings/apps.vue:121 src/component/settings/passcode.vue:106 -#: src/component/settings/passcode.vue:413 src/component/share/dialog.vue:27 -#: src/options/auth.js:91 src/page/auth/login.vue:196 +#: src/component/user/add/dialog.vue:115 src/component/user/add/dialog.vue:116 +#: src/component/service/add.vue:107 src/component/service/edit.vue:353 +#: src/component/settings/apps.vue:124 src/component/settings/passcode.vue:109 +#: src/component/settings/passcode.vue:416 src/component/share/dialog.vue:27 +#: src/options/auth.js:92 src/page/auth/login.vue:196 msgid "Password" msgstr "Heslo" @@ -2250,9 +2285,9 @@ msgstr "Heslo" msgid "Password changed" msgstr "Heslo bolo zmenené" -#: src/app/routes.js:404 src/app/routes.js:428 src/component/navigation.vue:845 -#: src/component/navigation.vue:1898 src/component/photo/edit/dialog.vue:228 -#: src/component/photo/edit/dialog.vue:245 src/options/options.js:201 +#: src/app/routes.js:412 src/app/routes.js:436 src/component/navigation.vue:853 +#: src/component/navigation.vue:1939 src/component/photo/edit/dialog.vue:238 +#: src/component/photo/edit/dialog.vue:257 src/options/options.js:201 #: src/page/settings/general.vue:180 msgid "People" msgstr "Ľudia" @@ -2273,23 +2308,23 @@ msgstr "Trvalo odstráňte súbory aby ste uvoľnili miesto." msgid "Person" msgstr "Osoba" -#: src/options/auth.js:42 +#: src/options/auth.js:43 msgid "Personal" msgstr "Osobné" -#: src/model/photo.js:1273 +#: src/model/photo.js:1310 msgid "Photo" msgstr "Fotka" -#: src/page/about/about.vue:156 +#: src/page/about/about.vue:158 msgid "PhotoPrism is 100% self-funded and independent." msgstr "Spoločnosť PhotoPrism je 100 % financovaná z vlastných zdrojov a je nezávislá." -#: src/page/about/about.vue:92 +#: src/page/about/about.vue:93 msgid "PhotoPrism+ Membership" msgstr "Členstvo v programe PhotoPrism+" -#: src/app/routes.js:156 +#: src/app/routes.js:164 msgid "Photos" msgstr "Fotky" @@ -2310,27 +2345,27 @@ msgstr "Miesto" msgid "Place & Time" msgstr "Miesto a čas" -#: src/app/routes.js:303 src/app/routes.js:309 src/app/routes.js:315 -#: src/app/routes.js:330 src/component/navigation.vue:986 -#: src/component/navigation.vue:1914 src/options/options.js:203 +#: src/app/routes.js:311 src/app/routes.js:317 src/app/routes.js:323 +#: src/app/routes.js:338 src/component/navigation.vue:999 +#: src/component/navigation.vue:1956 src/options/options.js:203 #: src/page/places.vue:51 src/page/settings/general.vue:609 #: src/page/settings/general.vue:638 msgid "Places" msgstr "Miesta" -#: src/component/settings/password.vue:129 +#: src/component/settings/password.vue:130 msgid "Please confirm your new password." msgstr "Prosím, potvrďte vaše nové heslo." -#: src/component/settings/apps.vue:185 +#: src/component/settings/apps.vue:188 msgid "Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:" msgstr "Skopírujte si nasledujúce náhodne vygenerované heslo aplikácie a uschovajte ho na bezpečnom mieste, pretože ho už neuvidíte:" -#: src/component/upload/dialog.vue:203 +#: src/component/upload/dialog.vue:205 msgid "Please do not upload any private, unlawful or offensive pictures." msgstr "Prosím, nenahrávajte žiadne súkromné, nezákonné alebo urážlivé obrázky." -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Please don't upload photos containing offensive content." msgstr "Prosím, neodovzdávajte fotky obsahujúce hanobný obsah." @@ -2338,11 +2373,11 @@ msgstr "Prosím, neodovzdávajte fotky obsahujúce hanobný obsah." msgid "Please enter OTP character {0}" msgstr "Zadajte prosím znak OTP {0}" -#: src/component/settings/password.vue:66 +#: src/component/settings/password.vue:67 msgid "Please note that changing your password will log you out on other devices and browsers." msgstr "Upozorňujeme, že zmena hesla vás odhlási z iných zariadení a prehliadačov." -#: src/page/connect.vue:148 src/page/connect.vue:152 +#: src/page/connect.vue:149 src/page/connect.vue:153 msgid "Please restart your instance for the changes to take effect." msgstr "Reštartujte inštanciu, aby sa zmeny prejavili." @@ -2362,11 +2397,11 @@ msgstr "Limit veľkosti PNG: %{n} px" msgid "Portrait" msgstr "Portrét" -#: src/component/service/edit.vue:273 +#: src/component/service/edit.vue:274 msgid "Preserve filenames" msgstr "Ponechať názvy súborov" -#: src/component/upload/dialog.vue:162 +#: src/component/upload/dialog.vue:164 msgid "Press enter to create a new album." msgstr "Stlačte enter pre vytvorenie nového albumu." @@ -2403,8 +2438,8 @@ msgstr "Predchádzajúci vizuálny" msgid "Primary" msgstr "Primárne" -#: src/app/routes.js:271 src/component/album/edit/dialog.vue:176 -#: src/component/navigation.vue:531 src/component/photo/edit/info.vue:303 +#: src/app/routes.js:279 src/component/album/edit/dialog.vue:177 +#: src/component/navigation.vue:533 src/component/photo/edit/info.vue:303 #: src/page/settings/general.vue:280 msgid "Private" msgstr "Súkromné" @@ -2429,7 +2464,7 @@ msgstr "Filter kvality" msgid "Quality Score" msgstr "Skóre Kvality" -#: src/page/admin/users.vue:169 +#: src/page/admin/users.vue:171 msgid "r" msgstr "r" @@ -2460,7 +2495,7 @@ msgstr "Režim iba na čítanie" #: src/component/album/edit/dialog.vue:26 src/component/photo/toolbar.vue:116 #: src/component/photo/toolbar.vue:128 src/component/photo/toolbar.vue:138 -#: src/page/albums.vue:102 +#: src/page/albums.vue:103 msgid "Recently Added" msgstr "Novinky" @@ -2468,7 +2503,7 @@ msgstr "Novinky" msgid "Recently Archived" msgstr "Nedávno archivované" -#: src/component/photo/toolbar.vue:139 src/page/albums.vue:103 +#: src/component/photo/toolbar.vue:139 src/page/albums.vue:104 msgid "Recently Edited" msgstr "Nedávno upravené" @@ -2493,24 +2528,24 @@ msgstr "Kód obnovy" msgid "Red" msgstr "Červená" -#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:126 -#: src/component/album/toolbar.vue:79 src/component/photo/toolbar.vue:169 -#: src/page/albums.vue:173 src/page/labels.vue:112 +#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:128 +#: src/component/album/toolbar.vue:84 src/component/photo/toolbar.vue:169 +#: src/page/albums.vue:175 src/page/labels.vue:112 #: src/page/library/browse.vue:90 src/page/library/errors.vue:81 #: src/page/people/new.vue:54 src/page/people/recognized.vue:88 msgid "Refresh" msgstr "Obnoviť" -#: src/app/routes.js:337 src/component/navigation.vue:943 -#: src/component/navigation.vue:1026 +#: src/app/routes.js:345 src/component/navigation.vue:955 +#: src/component/navigation.vue:1040 msgid "Regions" msgstr "Regióny" -#: src/page/connect.vue:275 src/page/connect.vue:284 +#: src/page/connect.vue:277 src/page/connect.vue:286 msgid "Register" msgstr "Registrácia" -#: src/component/navigation.vue:1773 src/component/update.vue:68 +#: src/component/navigation.vue:1806 src/component/update.vue:68 msgid "Reload" msgstr "Znovu načítať" @@ -2555,34 +2590,34 @@ msgstr "Vyžadujte, aby sa nefotografické a nekvalitné obrázky pred zobrazen msgid "Resolution" msgstr "Rozlíšenie" -#: src/page/connect.vue:179 src/page/connect.vue:183 +#: src/page/connect.vue:180 src/page/connect.vue:184 #: src/page/settings/advanced.vue:782 msgid "Restart" msgstr "Reštartovanie stránky" -#: src/component/user/edit/dialog.vue:485 src/component/lightbox.vue:1221 +#: src/component/user/edit/dialog.vue:488 src/component/lightbox.vue:1221 #: src/component/photo/clipboard.vue:77 msgid "Restore" msgstr "Obnoviť" -#: src/component/lightbox.vue:2000 +#: src/component/lightbox.vue:2020 msgid "Restored" msgstr "Obnovená stránka" -#: src/component/service/edit.vue:428 +#: src/component/service/edit.vue:429 msgid "Retry Limit" msgstr "Limit opakovania" -#: src/component/settings/password.vue:128 +#: src/component/settings/password.vue:129 msgid "Retype Password" msgstr "Heslo znovu" -#: src/app/routes.js:264 src/component/navigation.vue:505 +#: src/app/routes.js:272 src/component/navigation.vue:507 msgid "Review" msgstr "Kontrola" -#: src/component/user/add/dialog.vue:171 src/component/user/edit/dialog.vue:284 -#: src/page/admin/sessions.vue:262 src/page/admin/users.vue:73 +#: src/component/user/add/dialog.vue:172 src/component/user/edit/dialog.vue:285 +#: src/page/admin/sessions.vue:263 src/page/admin/users.vue:75 msgid "Role" msgstr "Úloha" @@ -2594,11 +2629,11 @@ msgstr "Riadky na stránku:" msgid "Satellite" msgstr "Satelitná" -#: src/component/user/edit/dialog.vue:485 -#: src/component/album/edit/dialog.vue:211 -#: src/component/label/edit/dialog.vue:119 -#: src/component/people/edit/dialog.vue:132 src/component/service/edit.vue:466 -#: src/component/settings/password.vue:172 src/component/share/dialog.vue:181 +#: src/component/user/edit/dialog.vue:488 +#: src/component/album/edit/dialog.vue:212 +#: src/component/label/edit/dialog.vue:120 +#: src/component/people/edit/dialog.vue:133 src/component/service/edit.vue:467 +#: src/component/settings/password.vue:173 src/component/share/dialog.vue:181 msgid "Save" msgstr "Uložiť" @@ -2606,23 +2641,23 @@ msgstr "Uložiť" msgid "Scan" msgstr "Sken" -#: src/component/settings/passcode.vue:179 +#: src/component/settings/passcode.vue:182 msgid "Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:" msgstr "Naskenujte QR kód pomocou svojej autentifikačnej aplikácie alebo použite kľúč nastavenia zobrazený nižšie a potom zadajte vygenerovaný overovací kód:" -#: src/component/navigation.vue:461 +#: src/component/navigation.vue:463 msgid "Scans" msgstr "Skeny" -#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:377 -#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:310 +#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:381 +#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:313 msgid "Scope" msgstr "Rozsah pôsobnosti" -#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:62 -#: src/component/navigation.vue:342 src/component/navigation.vue:1866 -#: src/component/photo/toolbar.vue:57 src/options/options.js:197 -#: src/page/albums.vue:100 src/page/labels.vue:77 +#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:69 +#: src/component/location/dialog.vue:133 src/component/navigation.vue:343 +#: src/component/navigation.vue:1905 src/component/photo/toolbar.vue:57 +#: src/options/options.js:197 src/page/albums.vue:100 src/page/labels.vue:77 #: src/page/library/errors.vue:76 src/page/people/recognized.vue:66 #: src/page/places.vue:79 src/page/settings/content.vue:235 msgid "Search" @@ -2660,11 +2695,11 @@ msgstr "Zvoľte dátum" msgid "Select dates" msgstr "Vyberte dátumy" -#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:154 +#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:156 msgid "Select or create an album" msgstr "Výber alebo vytvorenie albumu" -#: src/component/upload/dialog.vue:138 +#: src/component/upload/dialog.vue:140 msgid "Select the files to upload…" msgstr "Vyberte súbory, ktoré chcete nahrať…" @@ -2692,7 +2727,7 @@ msgstr "Označenie obnovené" msgid "Sequential Name" msgstr "Poradové meno" -#: src/component/service/add.vue:67 src/component/service/edit.vue:322 +#: src/component/service/add.vue:68 src/component/service/edit.vue:323 #: src/component/share/dialog.vue:25 msgid "Service URL" msgstr "URL Služby" @@ -2701,7 +2736,7 @@ msgstr "URL Služby" msgid "Services" msgstr "Služby" -#: src/model/session.js:107 src/options/auth.js:41 src/options/auth.js:90 +#: src/model/session.js:107 src/options/auth.js:42 src/options/auth.js:91 msgid "Session" msgstr "Zasadnutie" @@ -2709,7 +2744,7 @@ msgstr "Zasadnutie" msgid "Session ID" msgstr "ID relácie" -#: src/page/admin.vue:45 +#: src/page/admin.vue:44 msgid "Sessions" msgstr "Relácie" @@ -2717,22 +2752,22 @@ msgstr "Relácie" msgid "Set as Album Cover" msgstr "Nastaviť ako obal albumu" -#: src/app/routes.js:101 src/app/routes.js:492 src/app/routes.js:504 -#: src/app/routes.js:521 src/app/routes.js:534 src/app/routes.js:547 -#: src/component/navigation.vue:1394 src/component/navigation.vue:1806 +#: src/app/routes.js:101 src/app/routes.js:500 src/app/routes.js:512 +#: src/app/routes.js:529 src/app/routes.js:542 src/app/routes.js:555 +#: src/component/navigation.vue:1419 src/component/navigation.vue:1841 msgid "Settings" msgstr "Nastavenia" #: src/page/settings/account.vue:115 src/page/settings/account.vue:144 -#: src/component/settings/passcode.vue:147 +#: src/component/settings/passcode.vue:151 msgid "Settings saved" msgstr "Nastavenia uložené" -#: src/component/service/upload.vue:131 src/component/settings/passcode.vue:160 +#: src/component/service/upload.vue:132 src/component/settings/passcode.vue:163 msgid "Setup" msgstr "Prvotné nastavenie" -#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:98 +#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:103 #: src/component/photo/clipboard.vue:51 src/page/settings/general.vue:382 msgid "Share" msgstr "Zdieľať" @@ -2749,7 +2784,7 @@ msgstr "Zdieľajte svoje obrázky s inými aplikáciami a službami." msgid "Show" msgstr "Zobraziť" -#: src/page/people/new.vue:116 src/page/people/new.vue:233 +#: src/page/people/new.vue:116 src/page/people/new.vue:235 msgid "Show all new faces" msgstr "Zobraziť všetky nové tváre" @@ -2794,7 +2829,7 @@ msgid "Similar" msgstr "Podobné" #: src/component/photo/edit/files.vue:51 src/component/photo/edit/files.vue:341 -#: src/component/service/edit.vue:139 src/component/sidebar/info.vue:96 +#: src/component/service/edit.vue:140 src/component/sidebar/info.vue:96 msgid "Size" msgstr "Veľkosť" @@ -2822,7 +2857,7 @@ msgstr "Niečo sa pokazilo, skúste to znova" msgid "Sort by" msgstr "Zoradiť podľa" -#: src/component/album/edit/dialog.vue:142 src/component/photo/toolbar.vue:288 +#: src/component/album/edit/dialog.vue:143 src/component/photo/toolbar.vue:290 #: src/page/albums.vue:214 msgid "Sort Order" msgstr "Zoradiť Poradie" @@ -2857,7 +2892,7 @@ msgstr "Naskladané fotky nasnímané v rovnakom čase a na rovnakom mieste na z msgid "Stackable" msgstr "Naskladateľné" -#: src/component/navigation.vue:421 src/page/settings/content.vue:136 +#: src/component/navigation.vue:423 src/page/settings/content.vue:136 msgid "Stacks" msgstr "Naskladané" @@ -2885,16 +2920,16 @@ msgstr "Úložisko" msgid "Streets" msgstr "Ulice" -#: src/component/photo/edit/details.vue:494 +#: src/component/photo/edit/details.vue:468 #: src/component/photo/edit/labels.vue:44 msgid "Subject" msgstr "Predmet" -#: src/page/about/feedback.vue:162 src/page/about/feedback.vue:163 +#: src/page/about/feedback.vue:163 src/page/about/feedback.vue:164 msgid "Submit" msgstr "Odoslať" -#: src/component/settings/passcode.vue:132 +#: src/component/settings/passcode.vue:136 msgid "Successfully activated" msgstr "Úspešne aktivované" @@ -2903,23 +2938,23 @@ msgid "Successfully Connected" msgstr "Úspešne pripojené" #: src/component/session/remove/dialog.vue:32 -#: src/component/settings/apps.vue:218 +#: src/component/settings/apps.vue:222 msgid "Successfully deleted" msgstr "Úspešne odstránené" -#: src/component/settings/passcode.vue:107 +#: src/component/settings/passcode.vue:108 msgid "Successfully verified" msgstr "Úspešne overené" -#: src/component/user/edit/dialog.vue:398 src/page/admin/users.vue:163 +#: src/component/user/edit/dialog.vue:399 src/page/admin/users.vue:165 msgid "Super Admin" msgstr "Super administrátor" -#: src/component/service/add.vue:122 +#: src/component/service/add.vue:123 msgid "Support for additional services, like Google Drive, will be added over time." msgstr "Podpora pre dodatočné služby, ako napríklad Google Drive, budú pridané neskôr." -#: src/component/confirm/sponsor.vue:37 src/component/navigation.vue:1629 +#: src/component/confirm/sponsor.vue:38 src/component/navigation.vue:1660 msgid "Support Our Mission" msgstr "Podporte našu misiu" @@ -2927,7 +2962,7 @@ msgstr "Podporte našu misiu" msgid "Sync" msgstr "Synchronizácia" -#: src/component/service/edit.vue:289 +#: src/component/service/edit.vue:290 msgid "Sync raw and video files" msgstr "Synchronizovať súbory raw a videá" @@ -2953,23 +2988,23 @@ msgstr "Terén" msgid "Text" msgstr "Text" -#: src/component/photo/edit/details.vue:32 src/page/people/new.vue:71 +#: src/component/photo/edit/details.vue:40 src/page/people/new.vue:71 msgid "Text too long" msgstr "Text je moc dlhý" -#: src/page/about/about.vue:145 +#: src/page/about/about.vue:146 msgid "Thank You for Your Support!" msgstr "Ďakujeme za vašu podporu!" -#: src/page/about/about.vue:79 src/page/about/about.vue:85 +#: src/page/about/about.vue:80 src/page/about/about.vue:86 msgid "That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality." msgstr "Preto bol PhotoPrism od základu vytvorený tak, aby fungoval všade, kde ho potrebujete, bez toho, aby bola ohrozená sloboda, súkromie alebo funkčnosť." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "The index currently contains %{n} hidden files." msgstr "Index momentálne obsahuje %{n} skrytých súborov." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates." msgstr "Ich formát nemusí byť podporovaný, zatiaľ neboli prekonvertované na JPEG alebo sú medzi nimi duplikáty." @@ -2984,44 +3019,44 @@ msgstr "Téma" msgid "This field is required" msgstr "Toto pole je povinné" -#: src/component/settings/webdav.vue:100 src/page/settings/services.vue:144 +#: src/component/settings/webdav.vue:101 src/page/settings/services.vue:147 msgid "This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local." msgstr "Toto pripojí zložku originálov ako sieťový disk a umožní vám otvoriť, upraviť a zmazať súbory z vášho počítača alebo smartphonu ako keby boli uložené lokálne." -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Time UTC" msgstr "Čas UTC" -#: src/component/photo/edit/details.vue:219 src/page/settings/general.vue:108 +#: src/component/photo/edit/details.vue:221 src/page/settings/general.vue:108 msgid "Time Zone" msgstr "Časová Zóna" -#: src/component/service/edit.vue:408 +#: src/component/service/edit.vue:409 msgid "Timeout" msgstr "Časový limit" -#: src/component/user/edit/dialog.vue:98 src/component/user/edit/dialog.vue:99 +#: src/component/user/edit/dialog.vue:99 src/component/user/edit/dialog.vue:100 #: src/page/settings/account.vue:84 src/page/settings/account.vue:86 msgctxt "Account" msgid "Title" msgstr "Titulok" -#: src/component/photo/edit/details.vue:73 +#: src/component/photo/edit/details.vue:75 msgctxt "Photo" msgid "Title" msgstr "Titulok" -#: src/component/photo/edit/info.vue:59 src/component/photo/edit/info.vue:155 +#: src/component/photo/edit/info.vue:61 src/component/photo/edit/info.vue:155 #: src/component/photo/edit/labels.vue:40 src/component/photo/view/list.vue:114 #: src/component/sidebar/info.vue:57 msgid "Title" msgstr "Titulok" -#: src/page/settings/account.vue:553 src/page/settings/account.vue:555 +#: src/page/settings/account.vue:559 src/page/settings/account.vue:561 msgid "Title / Position" msgstr "Titul / pozícia" -#: src/page/albums.vue:83 +#: src/page/albums.vue:84 msgid "Title too long" msgstr "Titulok je moc dlhý" @@ -3029,19 +3064,19 @@ msgstr "Titulok je moc dlhý" msgid "to" msgstr "do" -#: src/component/settings/passcode.vue:312 +#: src/component/settings/passcode.vue:315 msgid "To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place." msgstr "Aby ste sa vyhli vymknutiu zo svojho účtu, stiahnite si, vytlačte alebo skopírujte tento kód na obnovenie a uschovajte ho na bezpečnom mieste." -#: src/component/settings/apps.vue:272 +#: src/component/settings/apps.vue:275 msgid "To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:" msgstr "Ak chcete vygenerovať nové heslo pre konkrétnu aplikáciu, zadajte názov a rozsah autorizácie aplikácie a vyberte dátum vypršania platnosti:" -#: src/component/settings/passcode.vue:400 +#: src/component/settings/passcode.vue:403 msgid "To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:" msgstr "Ak chcete prejsť na novú aplikáciu alebo zariadenie na overovanie, najskôr deaktivujte dvojfaktorové overenie a potom ho znova aktivujte:" -#: src/page/connect.vue:221 src/page/connect.vue:230 +#: src/page/connect.vue:223 src/page/connect.vue:232 msgid "To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:" msgstr "Ak chcete aktualizovať, môžete zadať aktivačný kód alebo sa kliknutím na tlačidlo \"Registrovať\" zaregistrovať na našej webovej stránke:" @@ -3049,7 +3084,7 @@ msgstr "Ak chcete aktualizovať, môžete zadať aktivačný kód alebo sa klikn msgid "Today" msgstr "Dnes" -#: src/component/album/toolbar.vue:70 src/component/photo/toolbar.vue:78 +#: src/component/album/toolbar.vue:71 src/component/photo/toolbar.vue:78 msgid "Toggle View" msgstr "Nastaviť Pohľad" @@ -3076,20 +3111,24 @@ msgstr "Riešenie problémov" msgid "Try again using other filters or keywords." msgstr "Skúste znova použitím iných filtrov a kľúčových slov." -#: src/component/settings/passcode.vue:380 +#: src/component/settings/passcode.vue:383 msgid "Two-factor authentication has been enabled for your account." msgstr "Pre váš účet bolo povolené dvojfaktorové overenie." #: src/component/photo/edit/files.vue:58 src/component/photo/edit/files.vue:330 -#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:388 +#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:389 msgid "Type" msgstr "Typ" -#: src/options/auth.js:13 +#: src/component/album/toolbar.vue:178 +msgid "Unable to delete" +msgstr "Nie je možné odstrániť" + +#: src/options/auth.js:14 msgid "Unauthorized" msgstr "Neoprávnené" -#: src/component/photo/edit/people.vue:94 +#: src/component/photo/edit/people.vue:95 msgid "Undo" msgstr "Späť" @@ -3097,16 +3136,16 @@ msgstr "Späť" msgid "Unique ID" msgstr "Unikátne ID" -#: src/page/settings/account.vue:451 src/page/settings/account.vue:476 -#: src/page/settings/account.vue:501 src/common/util.js:487 -#: src/component/photo/edit/details.vue:21 -#: src/component/photo/edit/details.vue:111 -#: src/component/photo/edit/details.vue:138 -#: src/component/photo/edit/details.vue:164 src/component/sidebar/info.vue:43 -#: src/model/album.js:193 src/model/photo.js:323 src/model/photo.js:784 -#: src/model/photo.js:809 src/model/photo.js:832 src/model/photo.js:850 -#: src/model/photo.js:897 src/model/photo.js:905 src/model/photo.js:994 -#: src/model/photo.js:1016 src/model/photo.js:1061 src/model/photo.js:1074 +#: src/page/settings/account.vue:457 src/page/settings/account.vue:482 +#: src/page/settings/account.vue:507 src/common/util.js:488 +#: src/component/photo/edit/details.vue:27 +#: src/component/photo/edit/details.vue:113 +#: src/component/photo/edit/details.vue:140 +#: src/component/photo/edit/details.vue:166 src/component/sidebar/info.vue:43 +#: src/model/album.js:193 src/model/photo.js:331 src/model/photo.js:821 +#: src/model/photo.js:846 src/model/photo.js:869 src/model/photo.js:887 +#: src/model/photo.js:934 src/model/photo.js:942 src/model/photo.js:1031 +#: src/model/photo.js:1053 src/model/photo.js:1098 src/model/photo.js:1111 #: src/model/user.js:157 src/options/options.js:51 src/options/options.js:69 #: src/options/options.js:86 src/options/options.js:100 #: src/options/options.js:112 src/page/library/errors.vue:251 @@ -3119,7 +3158,7 @@ msgstr "Neznámy" msgid "Unregistered" msgstr "Neregistrovaný" -#: src/app/routes.js:215 src/component/navigation.vue:644 +#: src/app/routes.js:223 src/component/navigation.vue:648 msgid "Unsorted" msgstr "Nezoradené" @@ -3127,7 +3166,7 @@ msgstr "Nezoradené" msgid "Unstack" msgstr "Rozdeliť naskladané" -#: src/component/photo/edit/files.vue:519 src/component/photo/edit/info.vue:416 +#: src/component/photo/edit/files.vue:521 src/component/photo/edit/info.vue:416 msgid "Updated" msgstr "Aktualizované" @@ -3143,7 +3182,7 @@ msgstr "Aktualizuje sa index" msgid "Updating moments" msgstr "Aktualizujú sa momenty" -#: src/component/user/edit/dialog.vue:154 +#: src/component/user/edit/dialog.vue:155 msgid "Updating picture…" msgstr "Aktualizácia obrázku.." @@ -3155,21 +3194,21 @@ msgstr "Aktualizujú sa náhľady" msgid "Updating stacks" msgstr "Aktualizujú sa naskladané fotky" -#: src/page/connect.vue:57 src/component/navigation.vue:1500 -#: src/component/navigation.vue:1614 src/component/navigation.vue:1999 +#: src/page/connect.vue:57 src/component/navigation.vue:1526 +#: src/component/navigation.vue:1644 src/component/navigation.vue:2047 #: src/page/connect.vue:58 msgid "Upgrade" msgstr "Aktualizácia" -#: src/page/about/about.vue:123 src/page/connect.vue:202 -#: src/component/confirm/sponsor.vue:98 src/page/about/about.vue:113 -#: src/page/connect.vue:206 +#: src/page/about/about.vue:124 src/page/connect.vue:204 +#: src/component/confirm/sponsor.vue:99 src/page/about/about.vue:114 +#: src/page/connect.vue:208 msgid "Upgrade Now" msgstr "Aktualizujte teraz" -#: src/component/album/toolbar.vue:108 src/component/navigation.vue:1824 -#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:144 -#: src/component/upload/dialog.vue:51 src/page/albums.vue:183 +#: src/component/album/toolbar.vue:113 src/component/navigation.vue:1860 +#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:145 +#: src/component/upload/dialog.vue:51 src/page/albums.vue:185 #: src/page/labels.vue:122 src/page/library/import.vue:133 #: src/page/settings/general.vue:307 src/page/settings/services.vue:38 msgid "Upload" @@ -3179,21 +3218,21 @@ msgstr "Odovzdať" msgid "Upload complete" msgstr "Odovzdávanie hotové" -#: src/component/upload/dialog.vue:133 +#: src/component/upload/dialog.vue:135 msgid "Upload complete. Indexing…" msgstr "Odovzdávanie hotové. Indexuje sa…" #: src/component/upload/dialog.vue:296 src/component/upload/dialog.vue:315 -#: src/component/upload/dialog.vue:129 +#: src/component/upload/dialog.vue:131 msgid "Upload failed" msgstr "Odovzdávanie zlyhalo" -#: src/component/service/edit.vue:257 +#: src/component/service/edit.vue:258 msgid "Upload local files" msgstr "Odovzdať lokálne súbory" -#: src/component/user/edit/dialog.vue:380 #: src/component/user/edit/dialog.vue:381 +#: src/component/user/edit/dialog.vue:382 msgid "Upload Path" msgstr "Cesta nahrávania" @@ -3201,7 +3240,7 @@ msgstr "Cesta nahrávania" msgid "Upload to WebDAV and share links with friends." msgstr "Odovzdať do WebDAV a zdieľať odkazy s priateľmi." -#: src/component/upload/dialog.vue:131 +#: src/component/upload/dialog.vue:133 msgid "Uploading %{n} of %{t}…" msgstr "Odovzdáva sa %{n} z %{t}…" @@ -3214,7 +3253,7 @@ msgstr "Odovzdávanie fotiek…" msgid "Uploading…" msgstr "Nahrávanie.." -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Uploads that may contain such images will be rejected automatically." msgstr "Odovzdávanie takéhoto typu fotiek bude automaticky odmietnuté." @@ -3222,7 +3261,7 @@ msgstr "Odovzdávanie takéhoto typu fotiek bude automaticky odmietnuté." msgid "Use Presets" msgstr "Použiť predvoľbu" -#: src/component/settings/passcode.vue:283 +#: src/component/settings/passcode.vue:286 msgid "Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:" msgstr "Ak sa vám pomocou aplikácie na overenie nedarí vygenerovať platný overovací kód, použite na prístup do účtu nasledujúci kód na obnovenie:" @@ -3230,12 +3269,12 @@ msgstr "Ak sa vám pomocou aplikácie na overenie nedarí vygenerovať platný o msgid "Use your recovery code or contact an administrator for help." msgstr "Použite svoj kód na obnovenie alebo sa obráťte na správcu." -#: src/options/admin.js:10 src/page/admin/sessions.vue:59 -#: src/page/admin/sessions.vue:242 src/model/user.js:361 src/options/auth.js:7 +#: src/options/admin.js:14 src/page/admin/sessions.vue:59 +#: src/page/admin/sessions.vue:243 src/model/user.js:361 src/options/auth.js:8 msgid "User" msgstr "Používateľ" -#: src/component/navigation.vue:1979 +#: src/component/navigation.vue:2025 msgid "User Guide" msgstr "Používateľská príručka" @@ -3243,14 +3282,14 @@ msgstr "Používateľská príručka" msgid "User Interface" msgstr "Používateľské rozhranie" -#: src/component/user/add/dialog.vue:87 src/component/user/add/dialog.vue:88 -#: src/page/admin/sessions.vue:220 src/page/admin/users.vue:71 -#: src/component/service/add.vue:85 src/component/service/edit.vue:337 +#: src/component/user/add/dialog.vue:88 src/component/user/add/dialog.vue:89 +#: src/page/admin/sessions.vue:221 src/page/admin/users.vue:73 +#: src/component/service/add.vue:86 src/component/service/edit.vue:338 #: src/component/share/dialog.vue:26 msgid "Username" msgstr "Meno používateľa" -#: src/component/navigation.vue:1435 +#: src/component/navigation.vue:1461 msgid "Users" msgstr "Používatelia" @@ -3260,18 +3299,18 @@ msgstr "Používatelia" msgid "Vector" msgstr "Vektor" -#: src/component/navigation.vue:440 +#: src/component/navigation.vue:442 msgid "Vectors" msgstr "Vektory" -#: src/component/settings/passcode.vue:227 src/page/auth/login.vue:144 +#: src/component/settings/passcode.vue:230 src/page/auth/login.vue:144 msgid "Verification Code" msgstr "Overovací kód" #: src/component/photo/view/cards.vue:363 #: src/component/photo/view/cards.vue:491 src/component/photo/view/list.vue:190 #: src/component/photo/view/mosaic.vue:207 src/model/file.js:221 -#: src/model/photo.js:921 src/model/photo.js:939 src/options/options.js:293 +#: src/model/photo.js:958 src/model/photo.js:976 src/options/options.js:293 msgid "Video" msgstr "Video" @@ -3280,12 +3319,12 @@ msgstr "Video" msgid "Video Duration" msgstr "Trvanie videa" -#: src/app/routes.js:243 src/component/navigation.vue:728 +#: src/app/routes.js:251 src/component/navigation.vue:734 #: src/options/options.js:200 msgid "Videos" msgstr "Videá" -#: src/component/photo/toolbar.vue:261 src/component/photo/view/cards.vue:350 +#: src/component/photo/toolbar.vue:263 src/component/photo/view/cards.vue:350 #: src/component/photo/view/mosaic.vue:194 msgid "View" msgstr "Zobraziť" @@ -3294,11 +3333,11 @@ msgstr "Zobraziť" msgid "View search results as a list." msgstr "Zobrazenie výsledkov vyhľadávania ako zoznamu." -#: src/options/admin.js:14 src/options/auth.js:8 +#: src/options/admin.js:18 src/options/auth.js:9 msgid "Viewer" msgstr "Prehliadač" -#: src/page/admin/sessions.vue:271 src/options/auth.js:12 +#: src/page/admin/sessions.vue:272 src/options/auth.js:13 msgid "Visitor" msgstr "Návštevník" @@ -3310,34 +3349,34 @@ msgstr "Vizuálna podobnosť" msgid "Warning" msgstr "Upozornenie" -#: src/page/about/feedback.vue:60 +#: src/page/about/feedback.vue:61 msgid "We appreciate your feedback!" msgstr "Vážime si vašu spätnú väzbu!" -#: src/page/about/feedback.vue:63 +#: src/page/about/feedback.vue:64 msgid "We do our best to respond within five business days or less." msgstr "Snažíme sa odpovedať do piatich pracovných dní alebo skôr." -#: src/component/user/add/dialog.vue:235 src/component/user/edit/dialog.vue:415 -#: src/page/admin/users.vue:80 +#: src/component/user/add/dialog.vue:236 src/component/user/edit/dialog.vue:416 +#: src/page/admin/users.vue:82 msgid "Web Login" msgstr "Webové prihlásenie" -#: src/component/user/add/dialog.vue:248 src/component/user/edit/dialog.vue:432 -#: src/page/admin/users.vue:82 src/options/auth.js:55 src/options/auth.js:68 +#: src/component/user/add/dialog.vue:249 src/component/user/edit/dialog.vue:433 +#: src/page/admin/users.vue:84 src/options/auth.js:56 src/options/auth.js:69 #: src/options/options.js:444 msgid "WebDAV" msgstr "WebDAV" -#: src/component/settings/webdav.vue:51 +#: src/component/settings/webdav.vue:52 msgid "WebDAV clients can connect to PhotoPrism using the following URL:" msgstr "WebDAV klienti sa môžu pripojiť ku PhotoPrismu pomocou nasledujúcej URL:" -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism." msgstr "WebDAV klienti, ako napríklad Microsoft Windows Explorer alebo Apple Finder, sa môžu priamo pripojiť ku PhotoPrismu." -#: src/component/service/upload.vue:50 src/component/share/dialog.vue:220 +#: src/component/service/upload.vue:51 src/component/share/dialog.vue:220 msgid "WebDAV Upload" msgstr "Odovzdávanie cez WebDAV" @@ -3345,8 +3384,8 @@ msgstr "Odovzdávanie cez WebDAV" msgid "WebGL support is disabled in your browser" msgstr "Podpora WebGL je vo vašom prehliadači vypnutá" -#: src/page/settings/account.vue:615 src/page/settings/account.vue:709 -#: src/page/settings/account.vue:601 +#: src/page/settings/account.vue:621 src/page/settings/account.vue:715 +#: src/page/settings/account.vue:607 msgid "Website" msgstr "Webová stránka" @@ -3354,12 +3393,12 @@ msgstr "Webová stránka" msgid "White" msgstr "Biela" -#: src/page/settings/account.vue:532 +#: src/page/settings/account.vue:538 msgid "Work Details" msgstr "Podrobnosti o práci" -#: src/page/settings/account.vue:500 src/component/photo/edit/details.vue:163 -#: src/component/photo/toolbar.vue:315 src/page/albums.vue:159 +#: src/page/settings/account.vue:506 src/component/photo/edit/details.vue:165 +#: src/component/photo/toolbar.vue:317 src/page/albums.vue:159 msgid "Year" msgstr "Rok" @@ -3367,21 +3406,21 @@ msgstr "Rok" msgid "Yellow" msgstr "Žltá" -#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:58 -#: src/component/photo/archive/dialog.vue:58 +#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:59 +#: src/component/photo/archive/dialog.vue:59 #: src/component/photo/clipboard.vue:200 src/component/photo/edit/files.vue:365 #: src/component/photo/edit/files.vue:395 #: src/component/photo/edit/files.vue:401 #: src/component/photo/edit/files.vue:407 -#: src/component/photo/edit/files.vue:510 src/component/photo/edit/info.vue:281 +#: src/component/photo/edit/files.vue:512 src/component/photo/edit/info.vue:281 #: src/component/photo/edit/info.vue:297 src/component/photo/edit/info.vue:313 #: src/component/photo/edit/info.vue:329 src/component/photo/edit/info.vue:344 -#: src/component/photo/toolbar.vue:434 +#: src/component/photo/toolbar.vue:436 msgid "Yes" msgstr "Áno" -#: src/component/confirm/sponsor.vue:59 src/page/about/about.vue:158 -#: src/page/connect.vue:315 +#: src/component/confirm/sponsor.vue:60 src/page/about/about.vue:160 +#: src/page/connect.vue:317 msgid "You are welcome to contact us at membership@photoprism.app for questions regarding your membership." msgstr "V prípade otázok týkajúcich sa vášho členstva nás môžete kontaktovať na adrese membership@photoprism.app." @@ -3393,7 +3432,11 @@ msgstr "Môžete stiahnuť iba jeden album" msgid "You can only download one label" msgstr "Môžete stiahnuť iba jeden štítok" -#: src/component/upload/dialog.vue:203 +#: src/component/location/dialog.vue:178 +msgid "You can search for a location or move the marker on the map to change the position:" +msgstr "Môžete vyhľadať miesto alebo presunúť značku na mape a zmeniť tak polohu:" + +#: src/component/upload/dialog.vue:205 msgid "You can upload up to %{n} files for test purposes." msgstr "Na testovacie účely môžete nahrať až %{n} súborov." @@ -3406,7 +3449,7 @@ msgstr "Mali by ste označiť iba jednu položku" msgid "You may rescan your library to find additional faces." msgstr "Mali by ste preskenovať knižnicu pre nájdenie viac tvárí." -#: src/page/connect.vue:146 src/page/connect.vue:150 +#: src/page/connect.vue:147 src/page/connect.vue:151 msgid "Your account has been successfully connected." msgstr "Vaše konto bolo úspešne pripojené." @@ -3414,8 +3457,8 @@ msgstr "Vaše konto bolo úspešne pripojené." msgid "Your browser does not support WebGL" msgstr "Váš prehliadač nepodporuje WebGL" -#: src/component/confirm/sponsor.vue:43 src/page/about/about.vue:97 -#: src/page/about/about.vue:156 src/page/connect.vue:220 +#: src/component/confirm/sponsor.vue:44 src/page/about/about.vue:98 +#: src/page/about/about.vue:158 src/page/connect.vue:222 msgid "Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy." msgstr "Vaša podpora nám pomáha poskytovať pravidelné aktualizácie a zostať nezávislými, aby sme mohli plniť naše poslanie a chrániť vaše súkromie." @@ -3496,9 +3539,6 @@ msgstr "Priblíziť/Oddialiť" #~ msgid "Open Folder" #~ msgstr "Otvoriť priečinok" -#~ msgid "Cannot copy to clipboard" -#~ msgstr "Nemožno kopírovať do schránky" - #~ msgid "Sound" #~ msgstr "Zvuk" @@ -4150,9 +4190,6 @@ msgstr "Priblíziť/Oddialiť" #~ msgid "More than 50 results" #~ msgstr "Našlo sa viac ako 50 výsledkov" -#~ msgid "No results" -#~ msgstr "Žiadne výsledky" - #~ msgid "Not implemented yet" #~ msgstr "Zatiaľ neimplementované" diff --git a/frontend/src/locales/sl.po b/frontend/src/locales/sl.po index c34efcb56..ff8945399 100644 --- a/frontend/src/locales/sl.po +++ b/frontend/src/locales/sl.po @@ -2,13 +2,13 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: ci@photoprism.app\n" -"PO-Revision-Date: 2025-04-04 08:03+0000\n" +"PO-Revision-Date: 2025-07-06 08:59+0000\n" "Last-Translator: DeepL \n" "Language: sl\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;\n" -"X-Generator: Weblate 5.10.4\n" +"X-Generator: Weblate 5.12.2\n" "Generated-By: easygettext\n" #: src/locales.js:268 @@ -39,7 +39,7 @@ msgstr "{0} izbrano" msgid "{0}-{1} of {2}" msgstr "{0}-{1} iz {2}" -#: src/page/albums.vue:612 +#: src/page/albums.vue:617 msgid "%{n} albums found" msgstr "%{n} najdenih albumov" @@ -47,25 +47,25 @@ msgstr "%{n} najdenih albumov" msgid "%{n} files uploaded" msgstr "%{n} naloženih datotek" -#: src/page/library/browse.vue:362 +#: src/page/library/browse.vue:364 msgid "%{n} folders found" msgstr "%{n} najdenih map" -#: src/component/navigation.vue:1676 +#: src/component/navigation.vue:1707 msgid "%{n} GB of %{q} GB used" msgstr "%{n} GB od %{q} GB uporabljenih" -#: src/page/labels.vue:528 +#: src/page/labels.vue:533 msgid "%{n} labels found" msgstr "%{n} najdenih značk" -#: src/page/people/new.vue:350 src/page/people/new.vue:447 -#: src/page/people/recognized.vue:536 +#: src/page/people/new.vue:350 src/page/people/new.vue:450 +#: src/page/people/recognized.vue:541 msgid "%{n} people found" msgstr "%{n} najdenih oseb" -#: src/page/album/photos.vue:308 src/page/album/photos.vue:493 -#: src/page/photos.vue:441 src/page/photos.vue:631 +#: src/page/album/photos.vue:313 src/page/album/photos.vue:504 +#: src/page/photos.vue:446 src/page/photos.vue:641 msgid "%{n} pictures found" msgstr "%{n} najdenih slik" @@ -85,12 +85,12 @@ msgstr "1 ura" msgid "12 hours" msgstr "12 ur" -#: src/component/user/edit/dialog.vue:452 src/page/settings/account.vue:324 -#: src/component/settings/passcode.vue:75 +#: src/component/user/edit/dialog.vue:453 src/page/settings/account.vue:325 +#: src/component/settings/passcode.vue:78 msgid "2-Factor Authentication" msgstr "2-faktorsko preverjanje pristnosti" -#: src/component/user/edit/dialog.vue:451 src/options/auth.js:46 +#: src/component/user/edit/dialog.vue:452 src/options/auth.js:47 msgid "2FA" msgstr "2FA" @@ -106,20 +106,20 @@ msgstr "S klikom ga boste kopirali v odložišče." msgid "A new version of %{s} is available:" msgstr "Na voljo je nova različica %{s}:" -#: src/component/user/edit/dialog.vue:233 -#: src/component/user/edit/dialog.vue:234 src/page/about/about.vue:56 +#: src/component/user/edit/dialog.vue:234 +#: src/component/user/edit/dialog.vue:235 src/page/about/about.vue:56 #: src/page/settings/account.vue:248 src/page/settings/account.vue:249 -#: src/app/routes.js:63 src/component/navigation.vue:1521 -#: src/page/people/recognized.vue:292 +#: src/app/routes.js:63 src/component/navigation.vue:1547 +#: src/page/people/recognized.vue:296 msgid "About" msgstr "Podrobno" -#: src/options/auth.js:26 src/options/auth.js:44 +#: src/options/auth.js:27 src/options/auth.js:45 msgid "Access Token" msgstr "Žeton za dostop" -#: src/component/navigation.vue:87 src/component/navigation.vue:1788 -#: src/component/service/upload.vue:71 src/model/service.js:96 +#: src/component/navigation.vue:87 src/component/navigation.vue:1822 +#: src/component/service/upload.vue:72 src/model/service.js:96 #: src/model/user.js:171 src/page/settings.vue:85 #: src/page/settings/general.vue:582 msgid "Account" @@ -133,7 +133,7 @@ msgstr "Ustvarjen račun" msgid "Account deleted" msgstr "Račun je izbrisan" -#: src/page/admin/users.vue:335 +#: src/page/admin/users.vue:337 msgid "Account restored" msgstr "Obnovljen račun" @@ -154,8 +154,8 @@ msgstr "Akcija" msgid "Actions" msgstr "Akcije" -#: src/page/connect.vue:294 src/component/settings/passcode.vue:346 -#: src/page/connect.vue:303 +#: src/page/connect.vue:296 src/component/settings/passcode.vue:349 +#: src/page/connect.vue:305 msgid "Activate" msgstr "Aktivacija" @@ -171,20 +171,20 @@ msgstr "Aktivirajte za naraščajoče razvrščanje." msgid "Activate to sort descending." msgstr "Aktivirajte za razvrščanje po padajočem vrstnem redu." -#: src/page/connect.vue:231 src/page/connect.vue:240 +#: src/page/connect.vue:233 src/page/connect.vue:242 msgid "Activation Code" msgstr "Aktivacijska koda" -#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:83 -#: src/component/settings/apps.vue:448 +#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:92 +#: src/component/settings/apps.vue:451 msgid "Add" msgstr "Dodaj" -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:246 msgid "Add %{s}?" msgstr "Dodaj %{s}?" -#: src/component/user/add/dialog.vue:56 src/component/service/add.vue:49 +#: src/component/user/add/dialog.vue:57 src/component/service/add.vue:50 msgid "Add Account" msgstr "Dodaj račun" @@ -201,8 +201,8 @@ msgid "Add Link" msgstr "Dodaj povezavo" #: src/component/photo/edit/people.vue:25 -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:57 -#: src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:57 +#: src/page/people/new.vue:246 msgid "Add person?" msgstr "Dodati osebo?" @@ -218,10 +218,15 @@ msgstr "Dodajte slike iz rezultatov iskanja, z izbiranjem." msgid "Add to album" msgstr "Dodaj v album" -#: src/component/photo/edit/files.vue:514 +#: src/component/photo/edit/files.vue:516 msgid "Added" msgstr "Dodano" +#: src/component/location/dialog.vue:68 src/component/location/dialog.vue:90 +#: src/component/photo/edit/details.vue:246 +msgid "Adjust Location" +msgstr "Prilagoditev lokacije" + #: src/options/admin.js:6 src/options/auth.js:6 msgid "Admin" msgstr "Admin" @@ -242,7 +247,7 @@ msgstr "Po 3 dneh" msgid "After 7 days" msgstr "Po 7 dneh" -#: src/component/settings/passcode.vue:93 +#: src/component/settings/passcode.vue:96 msgid "After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:" msgstr "Ko vnesete geslo za potrditev, lahko nastavite dvostopenjsko avtentikacijo z združljivo aplikacijo ali napravo za preverjanje pristnosti:" @@ -274,12 +279,16 @@ msgstr "Album" msgid "Album Backups" msgstr "Varnostne kopije albumov" -#: src/page/albums.vue:674 +#: src/page/albums.vue:685 msgid "Album created" msgstr "Ustvarjen album" -#: src/app/routes.js:176 src/component/album/toolbar.vue:51 -#: src/component/navigation.vue:604 src/component/navigation.vue:1882 +#: src/page/album/photos.vue:589 +msgid "Album deleted" +msgstr "Izbrisan album" + +#: src/app/routes.js:184 src/component/album/toolbar.vue:55 +#: src/component/navigation.vue:607 src/component/navigation.vue:1922 #: src/component/photo/edit/info.vue:220 src/options/options.js:198 msgid "Albums" msgstr "Albumi" @@ -292,7 +301,7 @@ msgstr "Izbrisani albumi" msgid "All" msgstr "Vse" -#: src/page/albums.vue:465 +#: src/page/albums.vue:470 msgid "All %{n} albums loaded" msgstr "Vseh %{n} je bilo naloženih" @@ -308,8 +317,8 @@ msgstr "Vseh %{n} oseb je bilo dodanih" msgid "All Cameras" msgstr "Vsi fotoaparati" -#: src/component/photo/toolbar.vue:74 src/page/albums.vue:44 -#: src/page/albums.vue:240 src/page/albums.vue:746 +#: src/component/photo/toolbar.vue:74 src/page/albums.vue:45 +#: src/page/albums.vue:242 src/page/albums.vue:757 msgid "All Categories" msgstr "Vse kategorije" @@ -341,7 +350,7 @@ msgstr "Vsi meseci" msgid "All originals" msgstr "Vse izvirne" -#: src/component/photo/toolbar.vue:76 src/page/albums.vue:93 +#: src/component/photo/toolbar.vue:76 src/page/albums.vue:94 msgid "All Years" msgstr "Vsa leta" @@ -353,7 +362,7 @@ msgstr "Datoteke lahko prenesete tudi neposredno v strežnike WebDAV, kot je Nex msgid "Altitude" msgstr "Nadmorska višina" -#: src/component/photo/edit/details.vue:272 +#: src/component/photo/edit/details.vue:297 msgid "Altitude (m)" msgstr "Nadmorska višina (m)" @@ -361,8 +370,7 @@ msgstr "Nadmorska višina (m)" msgid "AM" msgstr "AM" -#: src/app/routes.js:257 src/component/navigation.vue:791 -#: src/component/photo/edit/files.vue:364 +#: src/app/routes.js:265 src/component/photo/edit/files.vue:364 #: src/component/photo/view/cards.vue:327 #: src/component/photo/view/cards.vue:511 src/component/photo/view/list.vue:184 #: src/component/photo/view/mosaic.vue:171 src/options/options.js:301 @@ -373,43 +381,47 @@ msgstr "Animirani" msgid "Animation" msgstr "Animacija" +#: src/component/navigation.vue:797 +msgid "Animations" +msgstr "Animacije" + #: src/component/share/dialog.vue:207 msgid "Any private photos and videos remain private and won't be shared." msgstr "Vse zasebne fotografije in videoposnetki ostanejo zasebni in ne bodo deljeni." -#: src/component/service/edit.vue:372 +#: src/component/service/edit.vue:373 msgid "API Key" msgstr "Ključ API" -#: src/page/admin/sessions.vue:357 src/options/auth.js:25 +#: src/page/admin/sessions.vue:361 src/options/auth.js:26 msgid "Application" msgstr "Aplikacija" -#: src/component/photo/edit/details.vue:641 +#: src/component/photo/edit/details.vue:615 msgid "Apply" msgstr "Uporabi" #: src/component/photo/clipboard.vue:64 -#: src/component/photo/edit/details.vue:640 +#: src/component/photo/edit/details.vue:614 #: src/component/photo/view/cards.vue:416 msgid "Approve" msgstr "Potrdi" -#: src/page/settings/account.vue:374 src/component/settings/apps.vue:91 +#: src/page/settings/account.vue:378 src/component/settings/apps.vue:94 msgid "Apps and Devices" msgstr "Aplikacije in naprave" -#: src/app/routes.js:287 src/component/lightbox.vue:1207 -#: src/component/navigation.vue:555 src/component/photo/clipboard.vue:142 +#: src/app/routes.js:295 src/component/lightbox.vue:1207 +#: src/component/navigation.vue:557 src/component/photo/clipboard.vue:142 #: src/component/photo/view/cards.vue:398 src/page/settings/general.vue:432 msgid "Archive" msgstr "Arhiv" -#: src/component/lightbox.vue:1982 src/component/photo/edit/info.vue:433 +#: src/component/lightbox.vue:2002 src/component/photo/edit/info.vue:433 msgid "Archived" msgstr "Arhivirano" -#: src/component/photo/archive/dialog.vue:34 +#: src/component/photo/archive/dialog.vue:35 msgid "Are you sure you want to archive the selection?" msgstr "Ali ste prepričani, da želite arhivirati izbor?" @@ -417,19 +429,23 @@ msgstr "Ali ste prepričani, da želite arhivirati izbor?" msgid "Are you sure you want to delete these albums?" msgstr "Ste prepričani, da želite izbrisati te albume?" -#: src/component/label/delete/dialog.vue:34 +#: src/component/label/delete/dialog.vue:35 msgid "Are you sure you want to delete these labels?" msgstr "Ali ste prepričani, da želite izbrisati te značke?" -#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:36 +#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:37 msgid "Are you sure you want to delete this account?" msgstr "Ste prepričani, da želite izbrisati ta račun?" +#: src/component/album/toolbar.vue:136 +msgid "Are you sure you want to delete this album?" +msgstr "Ste prepričani, da želite izbrisati ta album?" + #: src/component/photo/clipboard.vue:199 msgid "Are you sure you want to permanently delete these pictures?" msgstr "Ste prepričani, da želite trajno izbrisati te slike?" -#: src/component/file/delete/dialog.vue:34 +#: src/component/file/delete/dialog.vue:35 msgid "Are you sure you want to permanently delete this file?" msgstr "Ali ste prepričani, da želite trajno izbrisati to datoteko?" @@ -438,7 +454,7 @@ msgstr "Ali ste prepričani, da želite trajno izbrisati to datoteko?" msgid "Are you sure?" msgstr "Ste prepričani?" -#: src/component/photo/edit/details.vue:537 +#: src/component/photo/edit/details.vue:511 msgid "Artist" msgstr "Fotograf" @@ -446,14 +462,14 @@ msgstr "Fotograf" msgid "Aspect Ratio" msgstr "Razmerje stranic" -#: src/app/routes.js:250 src/component/navigation.vue:770 +#: src/app/routes.js:258 src/component/navigation.vue:776 #: src/options/options.js:297 msgid "Audio" msgstr "Audio" -#: src/component/user/add/dialog.vue:190 src/component/user/edit/dialog.vue:309 -#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:281 -#: src/page/admin/users.vue:75 +#: src/component/user/add/dialog.vue:191 src/component/user/edit/dialog.vue:310 +#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:282 +#: src/page/admin/users.vue:77 msgid "Authentication" msgstr "Preverjanje pristnosti" @@ -461,11 +477,11 @@ msgstr "Preverjanje pristnosti" msgid "Auto" msgstr "Samodejno" -#: src/component/settings/apps.vue:151 +#: src/component/settings/apps.vue:154 msgid "Back" msgstr "Nazaj" -#: src/component/scroll.vue:20 +#: src/component/scroll.vue:18 msgid "Back to top" msgstr "Nazaj na vrh" @@ -477,26 +493,26 @@ msgstr "Varnostna kopija" msgid "Badge" msgstr "Značka" -#: src/component/user/edit/dialog.vue:361 #: src/component/user/edit/dialog.vue:362 +#: src/component/user/edit/dialog.vue:363 msgid "Base Path" msgstr "Osnovna pot" -#: src/page/about/about.vue:95 src/page/connect.vue:220 +#: src/page/about/about.vue:96 src/page/connect.vue:222 msgid "Become a member today, support our mission and enjoy our member benefits!" msgstr "Postanite član še danes, podprite naše poslanstvo in uživajte v naših članskih ugodnostih!" -#: src/component/confirm/sponsor.vue:51 src/page/about/about.vue:99 +#: src/component/confirm/sponsor.vue:52 src/page/about/about.vue:100 msgid "Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services." msgstr "Ker se financiramo sami in smo 100-odstotno neodvisni, vam lahko obljubimo, da nikoli ne bomo prodali vaših podatkov ter da bomo vedno pregledni glede naše programske opreme in storitev." -#: src/component/user/edit/dialog.vue:258 -#: src/component/user/edit/dialog.vue:259 src/page/settings/account.vue:227 +#: src/component/user/edit/dialog.vue:259 +#: src/component/user/edit/dialog.vue:260 src/page/settings/account.vue:227 #: src/page/settings/account.vue:228 msgid "Bio" msgstr "Bio" -#: src/page/settings/account.vue:431 +#: src/page/settings/account.vue:437 msgid "Birth Date" msgstr "Datum rojstva" @@ -517,7 +533,7 @@ msgid "Brown" msgstr "Rjava" #: src/component/photo/edit/files.vue:263 src/component/photo/toolbar.vue:141 -#: src/component/upload/dialog.vue:240 +#: src/component/upload/dialog.vue:242 msgid "Browse" msgstr "Brskanje po" @@ -545,16 +561,16 @@ msgstr "Poročilo o napaki" msgid "Busy, please wait…" msgstr "Zaseden, prosim počakajte…" -#: src/page/connect.vue:317 +#: src/page/connect.vue:319 msgid "By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct." msgstr "Z uporabo programske opreme in storitev, ki jih ponujamo, se strinjate z našimi pogoji uporabe storitev, pravilnikom o zasebnosti in kodeksom ravnanja." -#: src/app/routes.js:189 src/component/navigation.vue:1081 +#: src/app/routes.js:197 src/component/navigation.vue:1097 #: src/options/options.js:204 src/page/settings/general.vue:205 msgid "Calendar" msgstr "Koledar" -#: src/component/photo/edit/details.vue:346 src/component/photo/toolbar.vue:232 +#: src/component/photo/edit/details.vue:320 src/component/photo/toolbar.vue:234 #: src/component/photo/view/cards.vue:467 src/component/photo/view/list.vue:116 msgid "Camera" msgstr "Fotoaparat" @@ -567,12 +583,12 @@ msgstr "Serijska kamere" msgid "Can't access your authenticator app or device?" msgstr "Ne morete dostopati do aplikacije ali naprave za preverjanje pristnosti?" -#: src/page/album/photos.vue:317 src/page/photos.vue:450 +#: src/page/album/photos.vue:322 src/page/photos.vue:455 msgid "Can't load more, limit reached" msgstr "Ne morem naložiti več, omejitev je dosežena" #: src/common/clipboard.js:102 src/common/clipboard.js:139 -#: src/page/albums.vue:684 src/page/albums.vue:700 src/page/labels.vue:293 +#: src/page/albums.vue:695 src/page/albums.vue:711 src/page/labels.vue:293 #: src/page/labels.vue:313 src/page/library/browse.vue:233 #: src/page/library/browse.vue:249 src/page/people/new.vue:278 #: src/page/people/new.vue:294 src/page/people/recognized.vue:305 @@ -581,26 +597,31 @@ msgid "Can't select more items" msgstr "Ne morete izbrati več elementov" #: src/component/session/remove/dialog.vue:45 -#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:473 -#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:119 +#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:474 +#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:120 #: src/component/album/delete/dialog.vue:43 -#: src/component/album/edit/dialog.vue:199 src/component/confirm/dialog.vue:43 -#: src/component/file/delete/dialog.vue:47 -#: src/component/label/delete/dialog.vue:47 -#: src/component/label/edit/dialog.vue:107 -#: src/component/people/edit/dialog.vue:120 +#: src/component/album/edit/dialog.vue:200 src/component/confirm/dialog.vue:43 +#: src/component/file/delete/dialog.vue:48 +#: src/component/label/delete/dialog.vue:48 +#: src/component/label/edit/dialog.vue:108 +#: src/component/location/dialog.vue:200 +#: src/component/people/edit/dialog.vue:121 #: src/component/photo/album/dialog.vue:78 src/component/service/add.vue:19 -#: src/component/service/edit.vue:455 src/component/service/remove.vue:49 -#: src/component/service/upload.vue:117 src/component/settings/apps.vue:352 -#: src/component/settings/passcode.vue:249 -#: src/component/settings/passcode.vue:333 -#: src/component/settings/password.vue:159 src/component/share/dialog.vue:28 -#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:123 +#: src/component/service/edit.vue:456 src/component/service/remove.vue:50 +#: src/component/service/upload.vue:118 src/component/settings/apps.vue:355 +#: src/component/settings/passcode.vue:252 +#: src/component/settings/passcode.vue:336 +#: src/component/settings/password.vue:160 src/component/share/dialog.vue:28 +#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:124 #: src/page/library/import.vue:119 src/page/library/index.vue:128 msgid "Cancel" msgstr "Prekliči" -#: src/component/photo/edit/details.vue:87 src/component/photo/edit/info.vue:61 +#: src/common/util.js:863 src/common/util.js:870 +msgid "Cannot copy to clipboard" +msgstr "Ni mogoče kopirati v odložišče" + +#: src/component/photo/edit/details.vue:89 src/component/photo/edit/info.vue:63 #: src/component/photo/edit/labels.vue:42 #: src/component/photo/view/cards.vue:445 src/component/sidebar/info.vue:72 msgid "Caption" @@ -614,17 +635,17 @@ msgstr "Kartice" msgid "Carousel slide {0} of {1}" msgstr "Vrtiljak drsnik {0} od {1}" -#: src/page/about/feedback.vue:82 src/page/about/feedback.vue:83 -#: src/component/album/edit/dialog.vue:128 src/component/photo/toolbar.vue:397 +#: src/page/about/feedback.vue:83 src/page/about/feedback.vue:84 +#: src/component/album/edit/dialog.vue:129 src/component/photo/toolbar.vue:399 #: src/page/albums.vue:187 msgid "Category" msgstr "Kategorija" -#: src/component/user/edit/dialog.vue:191 src/page/settings/account.vue:201 +#: src/component/user/edit/dialog.vue:192 src/page/settings/account.vue:201 msgid "Change Avatar" msgstr "Spremeni avatarja" -#: src/page/settings/account.vue:297 src/component/settings/password.vue:48 +#: src/page/settings/account.vue:297 src/component/settings/password.vue:49 msgid "Change Password" msgstr "Sprememba gesla" @@ -641,17 +662,17 @@ msgid "Change private flag" msgstr "Sprememba zasebne zastave" #: src/component/user/add/dialog.vue:108 src/component/user/add/dialog.vue:113 -#: src/component/user/edit/dialog.vue:90 src/component/user/edit/dialog.vue:95 +#: src/component/user/edit/dialog.vue:91 src/component/user/edit/dialog.vue:96 #: src/page/settings/account.vue:121 src/page/settings/account.vue:126 msgid "Changes could not be saved" msgstr "Sprememb ni bilo mogoče shraniti" -#: src/component/user/edit/dialog.vue:83 src/component/user/edit/dialog.vue:159 +#: src/component/user/edit/dialog.vue:84 src/component/user/edit/dialog.vue:160 #: src/component/album/edit/dialog.vue:73 -#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1941 +#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1961 #: src/component/photo/edit/files.vue:162 src/component/service/edit.vue:90 #: src/component/share/dialog.vue:92 src/component/share/dialog.vue:111 -#: src/page/albums.vue:677 src/page/people/recognized.vue:119 +#: src/page/albums.vue:688 src/page/people/recognized.vue:119 #: src/page/settings/advanced.vue:62 src/page/settings/content.vue:62 #: src/page/settings/general.vue:108 msgid "Changes successfully saved" @@ -665,7 +686,7 @@ msgstr "Spremembe naprednih nastavitev je treba znova zagnati, da začnejo velja msgid "Checked" msgstr "Izbrano" -#: src/component/photo/edit/files.vue:495 +#: src/component/photo/edit/files.vue:497 msgid "Chroma" msgstr "Chroma" @@ -681,24 +702,24 @@ msgstr "Čiščenje" msgid "Clear {0}" msgstr "Počisti {0}" -#: src/options/auth.js:11 src/options/auth.js:23 src/options/auth.js:43 +#: src/options/auth.js:12 src/options/auth.js:24 src/options/auth.js:44 msgid "Client" msgstr "Stranka" -#: src/options/auth.js:24 +#: src/options/auth.js:25 msgid "Client Credentials" msgstr "Pooblastila stranke" -#: src/page/admin/sessions.vue:529 src/component/lightbox.vue:284 -#: src/component/lightbox.vue:1009 src/component/lightbox.vue:1010 -#: src/component/photo/edit/details.vue:627 src/component/photo/toolbar.vue:160 -#: src/component/settings/apps.vue:224 src/component/settings/apps.vue:437 -#: src/component/settings/passcode.vue:148 -#: src/component/settings/passcode.vue:456 -#: src/component/settings/passcode.vue:497 -#: src/component/settings/webdav.vue:131 src/component/share/dialog.vue:231 +#: src/component/user/edit/dialog.vue:474 src/page/admin/sessions.vue:536 +#: src/component/lightbox.vue:284 src/component/lightbox.vue:1009 +#: src/component/lightbox.vue:1010 src/component/photo/edit/details.vue:601 +#: src/component/photo/toolbar.vue:161 src/component/settings/apps.vue:227 +#: src/component/settings/apps.vue:440 src/component/settings/passcode.vue:151 +#: src/component/settings/passcode.vue:459 +#: src/component/settings/passcode.vue:500 +#: src/component/settings/webdav.vue:132 src/component/share/dialog.vue:231 #: src/component/sidebar/info.vue:26 src/component/update.vue:57 -#: src/component/upload/dialog.vue:228 src/locales.js:206 +#: src/component/upload/dialog.vue:230 src/locales.js:206 #: src/page/library/errors.vue:253 msgid "Close" msgstr "Zapri" @@ -707,11 +728,11 @@ msgstr "Zapri" msgid "Codec" msgstr "Kodek" -#: src/component/photo/toolbar.vue:369 +#: src/component/photo/toolbar.vue:371 msgid "Color" msgstr "Barva" -#: src/component/photo/edit/files.vue:483 +#: src/component/photo/edit/files.vue:485 msgid "Color Profile" msgstr "Barvni profil" @@ -719,7 +740,7 @@ msgstr "Barvni profil" msgid "Colors" msgstr "Barve" -#: src/page/connect.vue:260 src/page/connect.vue:269 +#: src/page/connect.vue:262 src/page/connect.vue:271 msgid "Compare Editions" msgstr "Primerjaj izdaje" @@ -732,17 +753,18 @@ msgstr "Popolno ponovno skeniranje" msgid "Confidence" msgstr "Zaupanje" +#: src/component/location/dialog.vue:212 #: src/component/photo/album/dialog.vue:90 -#: src/component/settings/passcode.vue:261 +#: src/component/settings/passcode.vue:264 msgid "Confirm" msgstr "Potrdi" -#: src/component/service/add.vue:20 src/page/settings/services.vue:187 +#: src/component/service/add.vue:20 src/page/settings/services.vue:191 msgid "Connect" msgstr "Poveži" -#: src/page/settings/account.vue:401 src/component/settings/webdav.vue:45 -#: src/page/settings/services.vue:167 +#: src/page/settings/account.vue:406 src/component/settings/webdav.vue:46 +#: src/page/settings/services.vue:170 msgid "Connect via WebDAV" msgstr "Poveži preko WebDAV" @@ -750,22 +772,22 @@ msgstr "Poveži preko WebDAV" msgid "Connected" msgstr "Povezano" -#: src/page/settings/account.vue:640 src/page/settings/account.vue:532 +#: src/page/settings/account.vue:646 src/page/settings/account.vue:538 msgid "Contact Details" msgstr "Pišite nam" -#: src/page/about/feedback.vue:37 src/page/connect.vue:132 -#: src/page/connect.vue:136 +#: src/page/about/feedback.vue:37 src/page/connect.vue:133 +#: src/page/connect.vue:137 msgid "Contact Us" msgstr "Pišite nam" #: src/page/albums.vue:433 src/page/labels.vue:237 -#: src/page/people/recognized.vue:306 +#: src/page/people/recognized.vue:310 msgid "Contains %{n} pictures." msgstr "Vsebuje %{n} slik." #: src/page/albums.vue:427 src/page/labels.vue:231 -#: src/page/people/recognized.vue:300 +#: src/page/people/recognized.vue:304 msgid "Contains one picture." msgstr "Vsebuje eno sliko." @@ -773,7 +795,7 @@ msgstr "Vsebuje eno sliko." msgid "Content" msgstr "Vsebina" -#: src/component/settings/apps.vue:163 +#: src/component/settings/apps.vue:166 msgid "Continue" msgstr "Nadaljuj" @@ -781,7 +803,7 @@ msgstr "Nadaljuj" msgid "Continue with %{provider}" msgstr "Nadaljujte z %{provider}" -#: src/options/admin.js:18 src/options/auth.js:9 +#: src/options/admin.js:22 src/options/auth.js:10 msgid "Contributor" msgstr "Sodelujoči" @@ -789,15 +811,15 @@ msgstr "Sodelujoči" msgid "Converting" msgstr "Pretvarjanje" -#: src/common/util.js:846 +#: src/common/util.js:856 msgid "Copied to clipboard" msgstr "Kopiranje v odložišče" -#: src/component/settings/apps.vue:250 src/component/settings/passcode.vue:358 +#: src/component/settings/apps.vue:253 src/component/settings/passcode.vue:361 msgid "Copy" msgstr "Kopirati" -#: src/component/photo/edit/details.vue:516 +#: src/component/photo/edit/details.vue:490 msgid "Copyright" msgstr "Avtorske pravice" @@ -805,8 +827,8 @@ msgstr "Avtorske pravice" msgid "Couldn't find anything." msgstr "Ničesar nisem našel." -#: src/page/settings/account.vue:685 src/component/photo/edit/details.vue:242 -#: src/component/photo/toolbar.vue:203 src/page/settings/account.vue:577 +#: src/page/settings/account.vue:691 src/component/photo/edit/details.vue:268 +#: src/component/photo/toolbar.vue:205 src/page/settings/account.vue:583 msgid "Country" msgstr "Država" @@ -830,7 +852,7 @@ msgstr "Ustvarite datoteke YAML za varnostno kopiranje metapodatkov albuma." msgid "Create YAML sidecar files to back up picture metadata." msgstr "Ustvarite stranske datoteke YAML za varnostno kopiranje metapodatkov slik." -#: src/page/admin/sessions.vue:417 src/component/photo/edit/info.vue:412 +#: src/page/admin/sessions.vue:422 src/component/photo/edit/info.vue:412 msgid "Created" msgstr "Ustvarjeno" @@ -842,11 +864,11 @@ msgstr "Ustvarjanje sličic za" msgid "Cubic: Moderate Quality, Good Performance" msgstr "Kubični: Srednja kakovost, dobra zmogljivost" -#: src/component/settings/password.vue:85 +#: src/component/settings/password.vue:86 msgid "Current Password" msgstr "Trenutno geslo" -#: src/options/themes.js:919 src/options/themes.js:928 +#: src/options/themes.js:920 src/options/themes.js:929 msgid "Custom" msgstr "Po meri" @@ -862,11 +884,11 @@ msgstr "Dnevno" msgid "Database Backups" msgstr "Varnostne kopije podatkovne baze" -#: src/page/settings/account.vue:450 src/component/photo/edit/details.vue:110 +#: src/page/settings/account.vue:456 src/component/photo/edit/details.vue:112 msgid "Day" msgstr "Dan" -#: src/component/settings/passcode.vue:445 +#: src/component/settings/passcode.vue:448 msgid "Deactivate" msgstr "Deaktiviraj" @@ -874,36 +896,40 @@ msgstr "Deaktiviraj" msgid "Debug Logs" msgstr "Dnevniki za odpravljanje napak" -#: src/options/admin.js:31 src/page/admin/sessions.vue:136 -#: src/page/admin/users.vue:176 src/component/photo/edit/info.vue:47 +#: src/options/admin.js:35 src/page/admin/sessions.vue:136 +#: src/page/admin/users.vue:178 src/component/photo/edit/info.vue:47 #: src/component/photo/edit/info.vue:110 src/model/session.js:66 -#: src/model/user.js:246 src/options/auth.js:20 src/options/auth.js:21 -#: src/options/auth.js:39 src/options/auth.js:40 src/options/options.js:196 +#: src/model/user.js:246 src/options/auth.js:21 src/options/auth.js:22 +#: src/options/auth.js:40 src/options/auth.js:41 src/options/options.js:196 #: src/options/options.js:232 src/options/options.js:316 -#: src/options/themes.js:773 +#: src/options/themes.js:774 msgid "Default" msgstr "Privzeto" -#: src/component/service/edit.vue:123 +#: src/component/service/edit.vue:124 msgid "Default Folder" msgstr "Privzeta mapa" #: src/component/session/remove/dialog.vue:56 #: src/component/user/remove/dialog.vue:56 src/component/album/clipboard.vue:97 -#: src/component/album/delete/dialog.vue:54 -#: src/component/file/delete/dialog.vue:58 src/component/label/clipboard.vue:58 -#: src/component/label/delete/dialog.vue:58 +#: src/component/album/delete/dialog.vue:54 src/component/album/toolbar.vue:137 +#: src/component/file/delete/dialog.vue:59 src/component/label/clipboard.vue:58 +#: src/component/label/delete/dialog.vue:59 #: src/component/photo/clipboard.vue:168 src/component/photo/edit/files.vue:238 -#: src/component/service/remove.vue:60 src/component/share/dialog.vue:170 +#: src/component/service/remove.vue:61 src/component/share/dialog.vue:170 #: src/page/settings/general.vue:457 msgid "Delete" msgstr "Izbriši" +#: src/component/album/toolbar.vue:133 +msgid "Delete Album" +msgstr "Brisanje albuma" + #: src/component/photo/toolbar.vue:119 src/page/library/errors.vue:95 msgid "Delete All" msgstr "Izbriši vse" -#: src/component/photo/toolbar.vue:433 src/page/library/errors.vue:193 +#: src/component/photo/toolbar.vue:435 src/page/library/errors.vue:193 msgid "Delete all?" msgstr "Izbriši vse?" @@ -911,16 +937,16 @@ msgstr "Izbriši vse?" msgid "Delete orphaned index entries, sidecar files and thumbnails." msgstr "Izbrišite osirotele vnose indeksa, datoteke stranskih sličic in sličic." -#: src/component/album/edit/dialog.vue:107 src/page/albums.vue:411 +#: src/component/album/edit/dialog.vue:108 src/page/albums.vue:411 msgid "Description" msgstr "Opis" -#: src/component/settings/webdav.vue:115 +#: src/component/settings/webdav.vue:116 msgid "Detailed instructions can be found in our User Guide." msgstr "Podrobna navodila so na voljo v našem uporabniškem priročniku." -#: src/component/photo/edit/dialog.vue:156 -#: src/component/photo/edit/dialog.vue:173 +#: src/component/photo/edit/dialog.vue:162 +#: src/component/photo/edit/dialog.vue:181 msgid "Details" msgstr "Podrobnosti" @@ -984,8 +1010,8 @@ msgstr "Onemogoči podporo za vektorsko grafiko." msgid "Disables video transcoding and thumbnail extraction." msgstr "Onemogoči prekodiranje videoposnetkov in pridobivanje sličic." -#: src/app/routes.js:558 src/app/routes.js:565 src/app/routes.js:572 -#: src/app/routes.js:579 +#: src/app/routes.js:566 src/app/routes.js:573 src/app/routes.js:580 +#: src/app/routes.js:587 msgid "Discover" msgstr "Odkrijte" @@ -993,9 +1019,9 @@ msgstr "Odkrijte" msgid "Dismiss" msgstr "Zavrnite" -#: src/component/user/add/dialog.vue:133 src/component/user/add/dialog.vue:134 -#: src/component/user/edit/dialog.vue:163 -#: src/component/user/edit/dialog.vue:164 src/page/admin/users.vue:72 +#: src/component/user/add/dialog.vue:134 src/component/user/add/dialog.vue:135 +#: src/component/user/edit/dialog.vue:164 +#: src/component/user/edit/dialog.vue:165 src/page/admin/users.vue:74 #: src/page/settings/account.vue:149 src/page/settings/account.vue:151 msgid "Display Name" msgstr "Prikazno ime" @@ -1010,12 +1036,12 @@ msgstr "Prikazovanje naslovov slik v rezultatih iskanja." #: src/component/photo/view/cards.vue:339 #: src/component/photo/view/cards.vue:521 -#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:174 +#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:176 #: src/options/options.js:309 msgid "Document" msgstr "Dokument" -#: src/component/navigation.vue:480 +#: src/component/navigation.vue:482 msgid "Documents" msgstr "Dokumenti" @@ -1031,16 +1057,16 @@ msgstr "Za pretvorbo slik ne uporabljajte programa ImageMagick." msgid "Don't use RawTherapee to convert RAW images." msgstr "Za pretvorbo slik RAW ne uporabljajte programa RawTherapee." -#: src/component/settings/apps.vue:238 src/component/share/dialog.vue:29 +#: src/component/settings/apps.vue:241 src/component/share/dialog.vue:29 msgid "Done" msgstr "Končano" -#: src/component/upload/dialog.vue:135 src/page/library/import.vue:46 +#: src/component/upload/dialog.vue:137 src/page/library/import.vue:46 #: src/page/library/index.vue:52 msgid "Done." msgstr "Opravljeno." -#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:118 +#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:123 #: src/component/file/clipboard.vue:48 src/component/lightbox.vue:1235 #: src/component/people/clipboard.vue:47 src/component/photo/clipboard.vue:116 #: src/component/photo/edit/files.vue:168 src/page/settings/content.vue:331 @@ -1052,7 +1078,7 @@ msgstr "Prenesi" msgid "Download only original media files, without any automatically generated files." msgstr "Prenesite samo izvirne medijske datoteke brez samodejno ustvarjenih datotek." -#: src/component/service/edit.vue:237 +#: src/component/service/edit.vue:238 msgid "Download remote files" msgstr "Prenos oddaljenih datotek" @@ -1060,9 +1086,9 @@ msgstr "Prenos oddaljenih datotek" msgid "Download single files and zip archives." msgstr "Prenesite posamezne datoteke in arhive zip." -#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:157 +#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:172 #: src/component/file/clipboard.vue:61 src/component/label/clipboard.vue:86 -#: src/component/lightbox.vue:2021 src/component/people/clipboard.vue:59 +#: src/component/lightbox.vue:2041 src/component/people/clipboard.vue:59 #: src/component/photo/clipboard.vue:220 src/component/photo/edit/files.vue:119 #: src/component/photo/view/cards.vue:169 src/component/photo/view/list.vue:142 #: src/page/library/browse.vue:139 @@ -1077,7 +1103,7 @@ msgstr "Filter za zmanjševanje obsega" msgid "Drag and drop files here" msgstr "Povlecite in spustite datoteke sem" -#: src/page/about/feedback.vue:61 +#: src/page/about/feedback.vue:62 msgid "Due to the high volume of emails we receive, our team may be unable to get back to you immediately." msgstr "Zaradi velike količine prejetih e-poštnih sporočil naša ekipa morda ne bo mogla takoj odgovoriti." @@ -1097,23 +1123,23 @@ msgstr "Dinamični predogledi" msgid "Dynamic Size Limit: %{n}px" msgstr "Omejitev dinamične velikosti: %{n}px" -#: src/page/about/feedback.vue:141 src/page/about/feedback.vue:140 +#: src/page/about/feedback.vue:142 src/page/about/feedback.vue:141 msgid "E-Mail" msgstr "E-naslov" -#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:89 +#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:94 #: src/component/lightbox.vue:1136 src/component/lightbox.vue:1137 #: src/component/photo/clipboard.vue:90 src/page/settings/general.vue:407 msgid "Edit" msgstr "Uredi" -#: src/component/album/edit/dialog.vue:54 -#: src/component/label/edit/dialog.vue:52 -#: src/component/people/edit/dialog.vue:52 +#: src/component/album/edit/dialog.vue:55 +#: src/component/label/edit/dialog.vue:53 +#: src/component/people/edit/dialog.vue:53 msgid "Edit %{s}" msgstr "Urejanje %{s}" -#: src/component/user/edit/dialog.vue:61 src/component/service/edit.vue:79 +#: src/component/user/edit/dialog.vue:62 src/component/service/edit.vue:79 msgid "Edit Account" msgstr "Urejanje računa" @@ -1125,8 +1151,8 @@ msgstr "Uredi fotografijo" msgid "Edited" msgstr "Urejeno" -#: src/component/user/add/dialog.vue:151 src/component/user/edit/dialog.vue:213 -#: src/page/settings/account.vue:171 src/page/settings/account.vue:593 +#: src/component/user/add/dialog.vue:152 src/component/user/edit/dialog.vue:214 +#: src/page/settings/account.vue:171 src/page/settings/account.vue:599 msgid "Email" msgstr "E-pošta" @@ -1142,7 +1168,7 @@ msgstr "omogočanje novih funkcij, ki so lahko nepopolne ali nestabilne." msgid "Enables RAW converter presets. May reduce performance." msgstr "Omogoči prednastavitve pretvornika RAW. Lahko zmanjša zmogljivost." -#: src/component/settings/passcode.vue:127 +#: src/component/settings/passcode.vue:130 msgid "Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account." msgstr "Omogočanje dvostopenjske avtentikacije pomeni, da boste za prijavo potrebovali naključno ustvarjeno potrditveno kodo, tako da tudi če nekdo pridobi dostop do vašega gesla, ne bo mogel dostopati do vašega računa." @@ -1154,7 +1180,7 @@ msgstr "Vnesite datum" msgid "Enter dates" msgstr "Vnesite datume" -#: src/component/settings/passcode.vue:213 src/page/auth/login.vue:104 +#: src/component/settings/passcode.vue:216 src/page/auth/login.vue:104 msgid "Enter the code generated by your authenticator app:" msgstr "Vnesite kodo, ki jo ustvari aplikacija za preverjanje pristnosti:" @@ -1162,7 +1188,7 @@ msgstr "Vnesite kodo, ki jo ustvari aplikacija za preverjanje pristnosti:" msgid "Enter verification code" msgstr "vnesi potrditveno kodo" -#: src/component/settings/apps.vue:109 +#: src/component/settings/apps.vue:112 msgid "Enter your password to confirm the action and continue:" msgstr "Vnesite geslo za potrditev dejanja in nadaljujte:" @@ -1171,7 +1197,7 @@ msgstr "Vnesite geslo za potrditev dejanja in nadaljujte:" msgid "Error" msgstr "Napaka" -#: src/app/routes.js:374 src/component/navigation.vue:1348 +#: src/app/routes.js:382 src/component/navigation.vue:1372 msgid "Errors" msgstr "Napake" @@ -1207,13 +1233,13 @@ msgstr "Za popolno podporo za videoposnetke, fotografije v živo in XMP je potre msgid "Experimental Features" msgstr "Eksperimentalne funkcije" -#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:453 -#: src/component/service/edit.vue:157 src/component/settings/apps.vue:73 -#: src/component/settings/apps.vue:326 src/component/share/dialog.vue:62 +#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:458 +#: src/component/service/edit.vue:158 src/component/settings/apps.vue:73 +#: src/component/settings/apps.vue:329 src/component/share/dialog.vue:62 msgid "Expires" msgstr "Velja do" -#: src/component/photo/edit/details.vue:396 +#: src/component/photo/edit/details.vue:370 msgid "Exposure" msgstr "Izpostavljenost" @@ -1221,7 +1247,7 @@ msgstr "Izpostavljenost" msgid "Extract still images and generate thumbnails while indexing." msgstr "Med indeksiranjem izpisujte mirujoče slike in ustvarjajte sličice." -#: src/component/photo/edit/details.vue:444 +#: src/component/photo/edit/details.vue:418 msgid "F Number" msgstr "Številka F" @@ -1237,7 +1263,7 @@ msgstr "Obrazi" msgid "Failed removing link" msgstr "Neuspešno odstranjevanje povezave" -#: src/page/connect.vue:106 src/page/connect.vue:110 +#: src/page/connect.vue:107 src/page/connect.vue:111 msgid "Failed to connect account." msgstr "Ni uspelo povezati računa." @@ -1245,8 +1271,8 @@ msgstr "Ni uspelo povezati računa." msgid "Failed updating link" msgstr "Neuspešno posodabljanje povezave" -#: src/component/user/edit/dialog.vue:143 -#: src/component/user/edit/dialog.vue:144 src/page/settings/account.vue:128 +#: src/component/user/edit/dialog.vue:144 +#: src/component/user/edit/dialog.vue:145 src/page/settings/account.vue:128 #: src/page/settings/account.vue:130 msgid "Family Name" msgstr "Družinsko ime" @@ -1255,15 +1281,15 @@ msgstr "Družinsko ime" msgid "Fast" msgstr "Hitro" -#: src/component/album/edit/dialog.vue:159 -#: src/component/label/edit/dialog.vue:85 -#: src/component/people/edit/dialog.vue:85 +#: src/component/album/edit/dialog.vue:160 +#: src/component/label/edit/dialog.vue:86 +#: src/component/people/edit/dialog.vue:86 #: src/component/photo/edit/info.vue:287 msgid "Favorite" msgstr "Najljubši" -#: src/app/routes.js:222 src/component/navigation.vue:893 -#: src/options/options.js:202 src/page/albums.vue:97 +#: src/app/routes.js:230 src/component/navigation.vue:903 +#: src/options/options.js:202 src/page/albums.vue:98 msgid "Favorites" msgstr "Priljubljeno" @@ -1271,7 +1297,7 @@ msgstr "Priljubljeno" msgid "Feature Request" msgstr "Zahteva za funkcijo" -#: src/component/navigation.vue:1456 +#: src/component/navigation.vue:1482 msgid "Feedback" msgstr "Povratne informacije" @@ -1279,11 +1305,12 @@ msgstr "Povratne informacije" msgid "Female" msgstr "Ženske" -#: src/component/photo/edit/info.vue:214 src/model/file.js:290 +#: src/component/photo/edit/info.vue:57 src/component/photo/edit/info.vue:214 +#: src/model/file.js:290 msgid "File" msgstr "Datoteka" -#: src/app/routes.js:343 +#: src/app/routes.js:351 msgid "File Browser" msgstr "Brskalnik za datoteke" @@ -1306,8 +1333,8 @@ msgstr "Datoteka" msgid "Filename" msgstr "Ime datoteke" -#: src/component/navigation.vue:1930 src/component/photo/edit/dialog.vue:267 -#: src/component/photo/edit/dialog.vue:284 +#: src/component/navigation.vue:1973 src/component/photo/edit/dialog.vue:279 +#: src/component/photo/edit/dialog.vue:298 msgid "Files" msgstr "Datoteke" @@ -1319,26 +1346,26 @@ msgstr "Datoteki z zaporednimi imeni, kot sta \"IMG_1234 (2)\" in \"IMG_1234 (3) msgid "First page" msgstr "Prva stran" -#: src/component/photo/edit/details.vue:465 +#: src/component/photo/edit/details.vue:439 msgid "Focal Length" msgstr "Goriščna razdalja" -#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:118 -#: src/component/service/edit.vue:189 src/component/service/edit.vue:194 -#: src/component/service/upload.vue:90 src/component/service/upload.vue:96 +#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:119 +#: src/component/service/edit.vue:190 src/component/service/edit.vue:195 +#: src/component/service/upload.vue:91 src/component/service/upload.vue:97 #: src/model/folder.js:199 src/page/library/browse.vue:182 msgid "Folder" msgstr "Mapa" -#: src/page/library/browse.vue:365 +#: src/page/library/browse.vue:367 msgid "Folder contains %{n} files" msgstr "Mapa vsebuje %{n} datotek" -#: src/page/library/browse.vue:356 +#: src/page/library/browse.vue:358 msgid "Folder is empty" msgstr "Mapa je prazna" -#: src/app/routes.js:202 src/component/navigation.vue:1225 +#: src/app/routes.js:210 src/component/navigation.vue:1247 #: src/options/options.js:207 msgid "Folders" msgstr "Mape" @@ -1355,7 +1382,7 @@ msgstr "FPS" msgid "Frames" msgstr "Okviri" -#: src/options/auth.js:54 src/options/auth.js:64 +#: src/options/auth.js:55 src/options/auth.js:65 msgid "Full Access" msgstr "Popoln dostop" @@ -1367,7 +1394,7 @@ msgstr "Celozaslonski zaslon" msgid "General" msgstr "Splošno" -#: src/component/settings/apps.vue:364 +#: src/component/settings/apps.vue:367 msgid "Generate" msgstr "Ustvari" @@ -1387,8 +1414,8 @@ msgstr "Ustvarjeno" msgid "Get Started" msgstr "Začnite z delom" -#: src/component/user/edit/dialog.vue:120 -#: src/component/user/edit/dialog.vue:121 src/page/settings/account.vue:106 +#: src/component/user/edit/dialog.vue:121 +#: src/component/user/edit/dialog.vue:122 src/page/settings/account.vue:106 #: src/page/settings/account.vue:108 msgid "Given Name" msgstr "Izvirno ime" @@ -1413,7 +1440,7 @@ msgstr "Zelena" msgid "Grey" msgstr "Siva" -#: src/options/admin.js:22 src/options/auth.js:10 +#: src/options/admin.js:26 src/options/auth.js:11 msgid "Guest" msgstr "Gost" @@ -1429,15 +1456,15 @@ msgstr "Pomoč" msgid "Help & Support" msgstr "Pomoč in podpora" -#: src/component/navigation.vue:1327 src/component/people/edit/dialog.vue:98 +#: src/component/navigation.vue:1351 src/component/people/edit/dialog.vue:99 msgid "Hidden" msgstr "Skriti" -#: src/app/routes.js:358 +#: src/app/routes.js:366 msgid "Hidden Files" msgstr "Skrite datoteke" -#: src/page/people/new.vue:165 src/page/people/recognized.vue:205 +#: src/page/people/new.vue:166 src/page/people/recognized.vue:206 msgid "Hide" msgstr "Skrij" @@ -1453,7 +1480,7 @@ msgstr "Visoka" msgid "High Dynamic Range (HDR)" msgstr "Visok dinamični razpon (HDR)" -#: src/page/about/feedback.vue:103 +#: src/page/about/feedback.vue:104 msgid "How can we help?" msgstr "Kako lahko pomagamo?" @@ -1461,11 +1488,11 @@ msgstr "Kako lahko pomagamo?" msgid "Hybrid" msgstr "Hibridni" -#: src/component/settings/passcode.vue:389 +#: src/component/settings/passcode.vue:392 msgid "If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account." msgstr "Če izgubite dostop do aplikacije ali naprave za preverjanje pristnosti, lahko uporabite svojo obnovitveno kodo, da znova pridobite dostop do svojega računa." -#: src/component/photo/edit/info.vue:63 src/component/photo/edit/labels.vue:46 +#: src/component/photo/edit/info.vue:65 src/component/photo/edit/labels.vue:46 #: src/component/photo/view/cards.vue:532 src/model/file.js:218 #: src/options/options.js:281 msgid "Image" @@ -1475,7 +1502,7 @@ msgstr "Slika" msgid "Image Quality" msgstr "Kakovost slike" -#: src/page/library.vue:46 src/page/library/import.vue:152 +#: src/page/library.vue:46 src/page/library/import.vue:153 #: src/page/settings/general.vue:357 msgid "Import" msgstr "Uvoz" @@ -1500,8 +1527,8 @@ msgstr "Uvažanje %{s}…" msgid "Importing files to originals…" msgstr "Uvoz datotek v izvirnike…" -#: src/component/photo/edit/files.vue:515 -#: src/component/photo/edit/files.vue:520 +#: src/component/photo/edit/files.vue:517 +#: src/component/photo/edit/files.vue:522 msgid "in" msgstr "na" @@ -1519,11 +1546,11 @@ msgstr "Vključite slikovne datoteke RAW pri prenašanju skladov in arhivov." msgid "Include sidecar files when downloading stacks and archives." msgstr "Vključitev stranskih datotek pri prenosu skladov in arhivov." -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Increase storage size or delete files to continue." msgstr "Če želite nadaljevati, povečajte velikost shrambe ali izbrišite datoteke." -#: src/component/navigation.vue:1946 src/page/library.vue:36 +#: src/component/navigation.vue:1990 src/page/library.vue:36 #: src/page/settings/content.vue:34 msgid "Index" msgstr "Indeks" @@ -1553,11 +1580,11 @@ msgstr "Informacije" msgid "Instance ID" msgstr "ID instance" -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Insufficient storage." msgstr "Nezadostno skladiščenje." -#: src/component/service/edit.vue:209 +#: src/component/service/edit.vue:210 msgid "Interval" msgstr "Interval" @@ -1578,7 +1605,7 @@ msgstr "Nepravilen naslov" msgid "Invalid country" msgstr "Neveljavna država" -#: src/component/photo/edit/details.vue:174 +#: src/component/photo/edit/details.vue:169 msgid "Invalid date" msgstr "Nepravilen datum" @@ -1587,7 +1614,7 @@ msgstr "Nepravilen datum" msgid "Invalid parameters" msgstr "Neveljavni parametri" -#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:197 +#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:199 msgid "Invalid photo selected" msgstr "Izbrana napačna fotografija" @@ -1599,8 +1626,8 @@ msgstr "Nepravilen čas" msgid "Invalid URL" msgstr "Nepravilen URL" -#: src/component/settings/passcode.vue:314 -#: src/component/settings/passcode.vue:391 +#: src/component/settings/passcode.vue:317 +#: src/component/settings/passcode.vue:394 msgid "It is a one-time use code that will disable 2FA for your account when you use it." msgstr "To je koda za enkratno uporabo, ki onemogoči 2FA za vaš račun, ko jo uporabite." @@ -1624,7 +1651,7 @@ msgstr "Omejitev velikosti JPEG: %{n}px" msgid "JPEGs and thumbnails are automatically rendered as needed." msgstr "JPEG in sličice se po potrebi samodejno prikažejo." -#: src/component/photo/edit/details.vue:581 +#: src/component/photo/edit/details.vue:555 msgid "Keywords" msgstr "Ključne besede" @@ -1633,9 +1660,9 @@ msgstr "Ključne besede" msgid "Label" msgstr "Značka" -#: src/app/routes.js:389 src/component/navigation.vue:1177 -#: src/component/photo/edit/dialog.vue:188 -#: src/component/photo/edit/dialog.vue:205 src/options/options.js:206 +#: src/app/routes.js:397 src/component/navigation.vue:1197 +#: src/component/photo/edit/dialog.vue:196 +#: src/component/photo/edit/dialog.vue:215 src/options/options.js:206 #: src/page/settings/general.vue:255 msgid "Labels" msgstr "Značke" @@ -1652,11 +1679,11 @@ msgstr "Lanczos: ohranjanje podrobnosti, minimalni artefakti" msgid "Language" msgstr "Jezik" -#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:435 +#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:440 msgid "Last Active" msgstr "Zadnji aktivni" -#: src/page/admin/users.vue:81 +#: src/page/admin/users.vue:83 msgid "Last Login" msgstr "Zadnja prijava" @@ -1672,42 +1699,41 @@ msgstr "Zadnja sinhronizacija" msgid "Last Used" msgstr "Nazadnje uporabljeno" -#: src/component/photo/edit/details.vue:298 #: src/component/photo/edit/info.vue:373 msgid "Latitude" msgstr "Zemljepisna širina" -#: src/options/admin.js:43 src/options/auth.js:29 +#: src/options/admin.js:47 src/options/auth.js:30 msgid "LDAP/AD" msgstr "LDAP/AD" -#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:86 -#: src/page/about/about.vue:62 src/page/about/about.vue:132 +#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:87 +#: src/page/about/about.vue:62 src/page/about/about.vue:133 #: src/page/connect.vue:67 src/page/help.vue:36 msgid "Learn more" msgstr "Preberite več" -#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:135 +#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:137 #: src/page/labels.vue:132 msgid "Learn More" msgstr "Preberite več" -#: src/component/navigation.vue:2017 +#: src/component/navigation.vue:2066 msgid "Legal Information" msgstr "Pravne informacije" -#: src/component/photo/edit/details.vue:417 +#: src/component/photo/edit/details.vue:391 #: src/component/photo/view/cards.vue:480 msgid "Lens" msgstr "Objektiv" -#: src/app/routes.js:443 src/app/routes.js:459 src/app/routes.js:475 -#: src/component/navigation.vue:1267 src/page/settings/general.vue:507 +#: src/app/routes.js:451 src/app/routes.js:467 src/app/routes.js:483 +#: src/component/navigation.vue:1290 src/page/settings/general.vue:507 msgid "Library" msgstr "Knjižnica" #: src/page/connect.vue:45 src/app/routes.js:69 -#: src/component/navigation.vue:1478 src/component/photo/edit/details.vue:559 +#: src/component/navigation.vue:1504 src/component/photo/edit/details.vue:533 #: src/page/about/license.vue:28 msgid "License" msgstr "Licenca" @@ -1720,7 +1746,7 @@ msgstr "Všeč mi je" msgid "Lime" msgstr "Lime" -#: src/page/library/browse.vue:369 +#: src/page/library/browse.vue:371 msgid "Limit reached, showing first %{n} files" msgstr "Omejitev je dosežena, prikazovanje prvih %{n} datotekek" @@ -1728,7 +1754,7 @@ msgstr "Omejitev je dosežena, prikazovanje prvih %{n} datotekek" msgid "Linear: Very Smooth, Best Performance" msgstr "Linearno: Zelo gladko, najboljša zmogljivost" -#: src/model/link.js:117 src/options/auth.js:30 src/options/auth.js:31 +#: src/model/link.js:117 src/options/auth.js:31 src/options/auth.js:32 msgid "Link" msgstr "Povezava" @@ -1746,7 +1772,7 @@ msgstr "Pogled na seznam" msgid "Live" msgstr "V živo" -#: src/app/routes.js:236 src/component/navigation.vue:749 +#: src/app/routes.js:244 src/component/navigation.vue:755 msgid "Live Photos" msgstr "Fotografije" @@ -1762,21 +1788,24 @@ msgstr "Nalaganje elementov..." msgid "Loading..." msgstr "Nalaganje..." -#: src/options/admin.js:35 src/options/auth.js:22 src/options/auth.js:27 +#: src/options/admin.js:39 src/options/auth.js:23 src/options/auth.js:28 #: src/options/options.js:38 src/page/settings/general.vue:107 msgid "Local" msgstr "Lokalni" -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Local Time" msgstr "Lokalni čas" -#: src/page/settings/account.vue:665 src/page/settings/account.vue:667 -#: src/component/album/edit/dialog.vue:92 src/component/photo/edit/info.vue:65 -#: src/component/photo/edit/labels.vue:48 +#: src/page/settings/account.vue:671 src/page/settings/account.vue:673 +#: src/component/album/edit/dialog.vue:93 +#: src/component/photo/edit/details.vue:38 +#: src/component/photo/edit/details.vue:116 +#: src/component/photo/edit/details.vue:210 +#: src/component/photo/edit/info.vue:67 src/component/photo/edit/labels.vue:48 #: src/component/photo/view/cards.vue:555 src/component/photo/view/list.vue:117 -#: src/component/sidebar/info.vue:107 src/page/albums.vue:99 -#: src/page/settings/account.vue:557 src/page/settings/account.vue:559 +#: src/component/sidebar/info.vue:107 src/page/albums.vue:100 +#: src/page/settings/account.vue:563 src/page/settings/account.vue:565 msgid "Location" msgstr "Lokacija" @@ -1784,20 +1813,19 @@ msgstr "Lokacija" msgid "Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues." msgstr "Sporočila dnevnika se tu pojavijo, kadar PhotoPrism naleti na pokvarjene datoteke ali druge morebitne težave." -#: src/component/navigation.vue:1552 src/component/navigation.vue:1840 +#: src/component/navigation.vue:1579 src/component/navigation.vue:1877 msgid "Login" msgstr "Prijava" -#: src/component/navigation.vue:1759 +#: src/component/navigation.vue:1791 msgid "Logout" msgstr "Odjava" -#: src/component/navigation.vue:1962 src/page/library.vue:59 +#: src/component/navigation.vue:2007 src/page/library.vue:59 #: src/page/settings/general.vue:557 msgid "Logs" msgstr "Dnevniki" -#: src/component/photo/edit/details.vue:324 #: src/component/photo/edit/info.vue:379 msgid "Longitude" msgstr "Zemljepisna dolžina" @@ -1810,7 +1838,7 @@ msgstr "Nizka" msgid "Magenta" msgstr "Magenta" -#: src/component/photo/edit/files.vue:489 +#: src/component/photo/edit/files.vue:491 msgid "Main Color" msgstr "Glavna barva" @@ -1818,12 +1846,16 @@ msgstr "Glavna barva" msgid "Male" msgstr "Moški" -#: src/page/connect.vue:164 src/page/connect.vue:246 -#: src/page/about/about.vue:171 src/page/connect.vue:168 -#: src/page/connect.vue:255 +#: src/page/connect.vue:165 src/page/connect.vue:248 +#: src/page/about/about.vue:173 src/page/connect.vue:169 +#: src/page/connect.vue:257 msgid "Manage Account" msgstr "Upravljanje računa" +#: src/options/admin.js:10 src/options/auth.js:7 +msgid "Manager" +msgstr "Vodja" + #: src/component/photo/edit/info.vue:49 src/component/photo/edit/labels.vue:38 msgid "Manual" msgstr "Priročnik" @@ -1840,11 +1872,11 @@ msgstr "Zemljevidi" msgid "Marker" msgstr "Označevalnik" -#: src/component/user/add/dialog.vue:69 +#: src/component/user/add/dialog.vue:70 msgid "Maximum number of accounts has been reached." msgstr "Največje število računov je bilo doseženo." -#: src/app/routes.js:229 src/component/navigation.vue:688 +#: src/app/routes.js:237 src/component/navigation.vue:693 #: src/options/options.js:199 msgid "Media" msgstr "Mediji" @@ -1861,7 +1893,7 @@ msgstr "Članstvo" msgid "Merge %{a} with %{b}?" msgstr "Združiti %{a} z %{b}?" -#: src/page/about/feedback.vue:102 +#: src/page/about/feedback.vue:103 msgid "Message" msgstr "Sporočilo" @@ -1873,7 +1905,7 @@ msgstr "Poslano sporočilo" msgid "Metadata" msgstr "Metapodatki" -#: src/options/auth.js:56 src/options/auth.js:72 +#: src/options/auth.js:57 src/options/auth.js:73 msgid "Metrics" msgstr "Metrike" @@ -1881,7 +1913,7 @@ msgstr "Metrike" msgid "Minimize" msgstr "Zmanjšajte" -#: src/component/photo/edit/files.vue:509 src/component/photo/edit/info.vue:367 +#: src/component/photo/edit/files.vue:511 src/component/photo/edit/info.vue:367 msgid "Missing" msgstr "Manjka" @@ -1889,17 +1921,17 @@ msgstr "Manjka" msgid "Missing or invalid configuration" msgstr "Manjkajoča ali neveljavna konfiguracija" -#: src/app/routes.js:163 src/component/navigation.vue:1129 +#: src/app/routes.js:171 src/component/navigation.vue:1147 #: src/options/options.js:205 src/page/settings/general.vue:230 msgid "Moments" msgstr "Trenutki" -#: src/component/navigation.vue:383 +#: src/component/navigation.vue:385 msgid "Monochrome" msgstr "Enobarvni" -#: src/page/settings/account.vue:475 src/component/photo/edit/details.vue:137 -#: src/component/photo/toolbar.vue:342 +#: src/page/settings/account.vue:481 src/component/photo/edit/details.vue:139 +#: src/component/photo/toolbar.vue:344 msgid "Month" msgstr "Mesec" @@ -1919,7 +1951,7 @@ msgstr "Najpomembnejši" msgid "Move Files" msgstr "Premikanje datotek" -#: src/component/settings/password.vue:107 +#: src/component/settings/password.vue:108 msgid "Must have at least %{n} characters." msgstr "Imeti mora vsaj %{n} znakov." @@ -1927,20 +1959,20 @@ msgstr "Imeti mora vsaj %{n} znakov." msgid "Mute" msgstr "Izklopite glasnost" -#: src/page/about/feedback.vue:121 src/page/about/feedback.vue:122 -#: src/component/album/edit/dialog.vue:77 -#: src/component/label/edit/dialog.vue:71 -#: src/component/people/edit/dialog.vue:71 -#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:57 +#: src/page/about/feedback.vue:122 src/page/about/feedback.vue:123 +#: src/component/album/edit/dialog.vue:78 +#: src/component/label/edit/dialog.vue:72 +#: src/component/people/edit/dialog.vue:72 +#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:59 #: src/component/photo/edit/info.vue:125 src/component/photo/edit/people.vue:36 -#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:310 -#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:286 -#: src/page/albums.vue:98 src/page/auth/login.vue:168 +#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:311 +#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:289 +#: src/page/albums.vue:99 src/page/auth/login.vue:168 #: src/page/people/new.vue:68 src/page/settings/services.vue:37 msgid "Name" msgstr "Ime" -#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:60 +#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:65 #: src/component/label/edit/dialog.vue:19 #: src/component/people/edit/dialog.vue:19 #: src/component/photo/edit/labels.vue:30 @@ -1950,7 +1982,7 @@ msgstr "Ime" msgid "Name too long" msgstr "Predolgo ime" -#: src/page/admin/users.vue:204 src/options/options.js:361 +#: src/page/admin/users.vue:206 src/options/options.js:361 #: src/options/options.js:371 src/page/settings/services.vue:75 msgid "Never" msgstr "Nikoli" @@ -1959,13 +1991,13 @@ msgstr "Nikoli" msgid "New" msgstr "Novo" -#: src/component/settings/password.vue:106 +#: src/component/settings/password.vue:107 msgid "New Password" msgstr "Novo geslo" #: src/component/album/edit/dialog.vue:24 src/component/photo/toolbar.vue:114 #: src/component/photo/toolbar.vue:126 src/component/photo/toolbar.vue:136 -#: src/page/albums.vue:100 +#: src/page/albums.vue:101 msgid "Newest First" msgstr "Najprej najnovejše" @@ -1981,15 +2013,15 @@ msgstr "Naslednja stran" msgid "Next visual" msgstr "Naslednji vizualni" -#: src/component/people/merge/dialog.vue:47 -#: src/component/photo/archive/dialog.vue:47 +#: src/component/people/merge/dialog.vue:48 +#: src/component/photo/archive/dialog.vue:48 #: src/component/photo/edit/info.vue:281 src/component/photo/edit/info.vue:297 #: src/component/photo/edit/info.vue:313 src/component/photo/edit/info.vue:329 #: src/component/photo/edit/info.vue:344 msgid "No" msgstr "Ne" -#: src/page/albums.vue:607 src/page/albums.vue:282 +#: src/page/albums.vue:612 src/page/albums.vue:282 msgid "No albums found" msgstr "Ni najdenih albumov" @@ -1997,7 +2029,7 @@ msgstr "Ni najdenih albumov" msgid "No data available" msgstr "Podatki niso na voljo" -#: src/page/labels.vue:523 src/page/labels.vue:155 +#: src/page/labels.vue:528 src/page/labels.vue:155 msgid "No labels found" msgstr "Ni najdenih nalepk" @@ -2010,15 +2042,15 @@ msgid "No more" msgstr "Ne več" #: src/component/photo/edit/people.vue:34 src/page/people/new.vue:346 -#: src/page/people/new.vue:443 src/page/people/new.vue:103 -#: src/page/people/recognized.vue:531 src/page/people/recognized.vue:146 +#: src/page/people/new.vue:446 src/page/people/new.vue:103 +#: src/page/people/recognized.vue:536 src/page/people/recognized.vue:146 msgid "No people found" msgstr "Ni bilo najdenih oseb" #: src/component/lightbox.vue:365 src/component/photo/view/cards.vue:144 #: src/component/photo/view/list.vue:82 src/component/photo/view/mosaic.vue:68 -#: src/page/album/photos.vue:488 src/page/library/browse.vue:123 -#: src/page/photos.vue:626 src/page/places.vue:624 src/page/places.vue:730 +#: src/page/album/photos.vue:499 src/page/library/browse.vue:123 +#: src/page/photos.vue:636 src/page/places.vue:624 src/page/places.vue:730 msgid "No pictures found" msgstr "Ni bilo najdenih slik" @@ -2027,7 +2059,11 @@ msgstr "Ni bilo najdenih slik" msgid "No recently edited pictures" msgstr "Brez nedavno urejenih slik" -#: src/component/navigation.vue:1655 +#: src/component/location/dialog.vue:166 +msgid "No results" +msgstr "Brez rezultatov" + +#: src/component/navigation.vue:1686 msgid "No server connection" msgstr "Ni povezave s strežnikom" @@ -2039,7 +2075,7 @@ msgstr "Strežniki niso konfigurirani." msgid "No services configured." msgstr "Strežniki niso konfigurirani." -#: src/component/confirm/sponsor.vue:72 +#: src/component/confirm/sponsor.vue:73 msgid "No thanks" msgstr "Ne, hvala." @@ -2049,17 +2085,17 @@ msgstr "Ni opozoril ali napak, ki bi vsebovale to ključno besedo. Upoštevajte, #: src/component/photo/view/cards.vue:154 src/component/photo/view/list.vue:59 #: src/component/photo/view/list.vue:92 src/component/photo/view/mosaic.vue:78 -#: src/component/upload/dialog.vue:208 +#: src/component/upload/dialog.vue:210 msgid "Non-photographic and low-quality images require a review before they appear in search results." msgstr "Nefotografske slike in slike nizke kakovosti je treba pred prikazom v rezultatih iskanja pregledati." -#: src/options/admin.js:47 src/options/auth.js:32 src/options/options.js:212 +#: src/options/admin.js:51 src/options/auth.js:33 src/options/options.js:212 #: src/options/options.js:328 msgid "None" msgstr "Ni" -#: src/common/util.js:853 src/component/lightbox.vue:633 -#: src/component/service/upload.vue:75 src/component/service/upload.vue:87 +#: src/component/lightbox.vue:633 src/component/service/upload.vue:75 +#: src/component/service/upload.vue:87 msgid "Not allowed" msgstr "Ni dovoljeno" @@ -2071,8 +2107,7 @@ msgstr "Ga ni mogoče najti" msgid "Not sorted." msgstr "Ni razvrščeno." -#: src/common/util.js:858 src/component/lightbox.vue:627 -#: src/component/lightbox.vue:744 +#: src/component/lightbox.vue:627 src/component/lightbox.vue:744 msgid "Not supported" msgstr "Ni podprto" @@ -2080,15 +2115,15 @@ msgstr "Ni podprto" msgid "Note you may manually manage your originals folder and importing is optional." msgstr "Upoštevajte, da lahko mapo z izvirniki upravljate ročno, uvoz pa ni obvezen." -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "Note:" msgstr "Opomba:" -#: src/component/service/add.vue:120 +#: src/component/service/add.vue:121 msgid "Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload." msgstr "Opomba: Samo strežnike WebDAV, kot sta Nextcloud ali PhotoPrism, lahko konfigurirate kot oddaljeno storitev za varnostno kopiranje in prenos datotek." -#: src/component/photo/edit/details.vue:603 +#: src/component/photo/edit/details.vue:577 msgid "Notes" msgstr "Opombe" @@ -2096,8 +2131,8 @@ msgstr "Opombe" msgid "Nothing to see here yet." msgstr "Tu še ni ničesar za videti. Bodite potrpežljivi." -#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:115 -#: src/component/settings/apps.vue:390 +#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:125 +#: src/component/settings/apps.vue:393 msgid "Nothing was found." msgstr "Ničesar nismo našli." @@ -2105,7 +2140,7 @@ msgstr "Ničesar nismo našli." msgid "Offline" msgstr "Brez povezave" -#: src/options/admin.js:39 src/options/auth.js:28 +#: src/options/admin.js:43 src/options/auth.js:29 msgid "OIDC" msgstr "OIDC" @@ -2115,11 +2150,11 @@ msgstr "V REDU" #: src/component/album/edit/dialog.vue:25 src/component/photo/toolbar.vue:115 #: src/component/photo/toolbar.vue:127 src/component/photo/toolbar.vue:137 -#: src/page/albums.vue:101 +#: src/page/albums.vue:102 msgid "Oldest First" msgstr "Najprej najstarejši" -#: src/component/settings/webdav.vue:77 +#: src/component/settings/webdav.vue:78 msgid "On Windows, enter the following resource in the connection dialog:" msgstr "V operacijskem sistemu Windows v pogovorno okno za povezavo vnesite naslednji vir:" @@ -2131,11 +2166,11 @@ msgstr "Ustvarjanje sličic na zahtevo lahko povzroči veliko porabo procesorja msgid "Once a week" msgstr "Enkrat na teden" -#: src/page/albums.vue:609 +#: src/page/albums.vue:614 msgid "One album found" msgstr "Najden je bil en album" -#: src/page/library/browse.vue:358 +#: src/page/library/browse.vue:360 msgid "One file found" msgstr "Najdena je bila ena datoteka" @@ -2143,24 +2178,24 @@ msgstr "Najdena je bila ena datoteka" msgid "One file uploaded" msgstr "Prenesena ena datoteka" -#: src/page/library/browse.vue:360 +#: src/page/library/browse.vue:362 msgid "One folder found" msgstr "Najdena je bila ena mapa" -#: src/page/labels.vue:525 +#: src/page/labels.vue:530 msgid "One label found" msgstr "Najdena je bila ena nalepka" -#: src/page/people/new.vue:348 src/page/people/new.vue:445 -#: src/page/people/recognized.vue:533 +#: src/page/people/new.vue:348 src/page/people/new.vue:448 +#: src/page/people/recognized.vue:538 msgid "One person found" msgstr "Ena oseba je našla" -#: src/page/album/photos.vue:490 src/page/photos.vue:628 +#: src/page/album/photos.vue:501 src/page/photos.vue:638 msgid "One picture found" msgstr "Najdena je bila ena slika" -#: src/component/settings/passcode.vue:478 +#: src/component/settings/passcode.vue:481 msgid "Only locally managed accounts can be set up for authentication with 2FA." msgstr "Samo lokalno upravljane račune je mogoče nastaviti za preverjanje pristnosti z 2FA." @@ -2168,7 +2203,7 @@ msgstr "Samo lokalno upravljane račune je mogoče nastaviti za preverjanje pris msgid "Open" msgstr "Odpri" -#: src/component/service/add.vue:86 src/component/service/add.vue:107 +#: src/component/service/add.vue:87 src/component/service/add.vue:108 msgid "optional" msgstr "neobvezno" @@ -2180,7 +2215,7 @@ msgstr "ali" msgid "Orange" msgstr "Oranžna" -#: src/page/settings/account.vue:571 src/page/settings/account.vue:573 +#: src/page/settings/account.vue:577 src/page/settings/account.vue:579 msgid "Organization" msgstr "Orientacija" @@ -2196,7 +2231,7 @@ msgstr "Originalna imena datotek bodo shranjena in indeksirana." msgid "Original Name" msgstr "Izvirno ime" -#: src/component/navigation.vue:1304 src/model/file.js:196 +#: src/component/navigation.vue:1328 src/model/file.js:196 #: src/options/options.js:413 src/page/library/browse.vue:65 #: src/page/settings/content.vue:356 src/page/settings/general.vue:532 msgid "Originals" @@ -2207,7 +2242,7 @@ msgstr "Izvirniki" msgid "Other" msgstr "Drugo" -#: src/page/about/about.vue:77 src/page/about/about.vue:83 +#: src/page/about/about.vue:78 src/page/about/about.vue:84 msgid "Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible." msgstr "Naše poslanstvo je zagotoviti uporabniku in zasebnosti najbolj prijazno rešitev za urejanje in dostop do vaših slik." @@ -2219,7 +2254,7 @@ msgstr "Na prostem" msgid "Page {0}, Current page" msgstr "Stran {0}, Trenutna stran" -#: src/component/photo/edit/files.vue:352 src/model/photo.js:859 +#: src/component/photo/edit/files.vue:352 src/model/photo.js:896 msgid "Pages" msgstr "Strani" @@ -2231,15 +2266,15 @@ msgstr "Navigacija po straneh" msgid "Panorama" msgstr "Panorama" -#: src/component/navigation.vue:402 +#: src/component/navigation.vue:404 msgid "Panoramas" msgstr "Panorame" -#: src/component/user/add/dialog.vue:114 src/component/user/add/dialog.vue:115 -#: src/component/service/add.vue:106 src/component/service/edit.vue:352 -#: src/component/settings/apps.vue:121 src/component/settings/passcode.vue:106 -#: src/component/settings/passcode.vue:413 src/component/share/dialog.vue:27 -#: src/options/auth.js:91 src/page/auth/login.vue:196 +#: src/component/user/add/dialog.vue:115 src/component/user/add/dialog.vue:116 +#: src/component/service/add.vue:107 src/component/service/edit.vue:353 +#: src/component/settings/apps.vue:124 src/component/settings/passcode.vue:109 +#: src/component/settings/passcode.vue:416 src/component/share/dialog.vue:27 +#: src/options/auth.js:92 src/page/auth/login.vue:196 msgid "Password" msgstr "Geslo" @@ -2247,9 +2282,9 @@ msgstr "Geslo" msgid "Password changed" msgstr "Spremenjeno geslo" -#: src/app/routes.js:404 src/app/routes.js:428 src/component/navigation.vue:845 -#: src/component/navigation.vue:1898 src/component/photo/edit/dialog.vue:228 -#: src/component/photo/edit/dialog.vue:245 src/options/options.js:201 +#: src/app/routes.js:412 src/app/routes.js:436 src/component/navigation.vue:853 +#: src/component/navigation.vue:1939 src/component/photo/edit/dialog.vue:238 +#: src/component/photo/edit/dialog.vue:257 src/options/options.js:201 #: src/page/settings/general.vue:180 msgid "People" msgstr "Ljudje" @@ -2270,23 +2305,23 @@ msgstr "Trajno odstranite datoteke in sprostite prostor za shranjevanje." msgid "Person" msgstr "Oseba" -#: src/options/auth.js:42 +#: src/options/auth.js:43 msgid "Personal" msgstr "Osebni" -#: src/model/photo.js:1273 +#: src/model/photo.js:1310 msgid "Photo" msgstr "Fotografija" -#: src/page/about/about.vue:156 +#: src/page/about/about.vue:158 msgid "PhotoPrism is 100% self-funded and independent." msgstr "PhotoPrism se 100-odstotno financira sam in je neodvisen." -#: src/page/about/about.vue:92 +#: src/page/about/about.vue:93 msgid "PhotoPrism+ Membership" msgstr "Članstvo PhotoPrism+" -#: src/app/routes.js:156 +#: src/app/routes.js:164 msgid "Photos" msgstr "Fotografije" @@ -2307,27 +2342,27 @@ msgstr "Kraj" msgid "Place & Time" msgstr "Kraj in čas" -#: src/app/routes.js:303 src/app/routes.js:309 src/app/routes.js:315 -#: src/app/routes.js:330 src/component/navigation.vue:986 -#: src/component/navigation.vue:1914 src/options/options.js:203 +#: src/app/routes.js:311 src/app/routes.js:317 src/app/routes.js:323 +#: src/app/routes.js:338 src/component/navigation.vue:999 +#: src/component/navigation.vue:1956 src/options/options.js:203 #: src/page/places.vue:51 src/page/settings/general.vue:609 #: src/page/settings/general.vue:638 msgid "Places" msgstr "Kraji" -#: src/component/settings/password.vue:129 +#: src/component/settings/password.vue:130 msgid "Please confirm your new password." msgstr "Potrdite novo geslo." -#: src/component/settings/apps.vue:185 +#: src/component/settings/apps.vue:188 msgid "Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:" msgstr "Kopirajte naslednje naključno ustvarjeno geslo za aplikacijo in ga shranite na varno mesto, saj ga ne boste mogli več videti:" -#: src/component/upload/dialog.vue:203 +#: src/component/upload/dialog.vue:205 msgid "Please do not upload any private, unlawful or offensive pictures." msgstr "Ne nalagajte zasebnih, nezakonitih ali žaljivih slik." -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Please don't upload photos containing offensive content." msgstr "Ne nalagajte fotografij z žaljivo vsebino." @@ -2335,11 +2370,11 @@ msgstr "Ne nalagajte fotografij z žaljivo vsebino." msgid "Please enter OTP character {0}" msgstr "Vnesite znak OTP {0}" -#: src/component/settings/password.vue:66 +#: src/component/settings/password.vue:67 msgid "Please note that changing your password will log you out on other devices and browsers." msgstr "Upoštevajte, da se boste s spremembo gesla odjavili tudi v drugih napravah in brskalnikih." -#: src/page/connect.vue:148 src/page/connect.vue:152 +#: src/page/connect.vue:149 src/page/connect.vue:153 msgid "Please restart your instance for the changes to take effect." msgstr "Da bodo spremembe začele veljati, znova zaženite svoj primer." @@ -2359,11 +2394,11 @@ msgstr "Omejitev velikosti PNG: %{n}px" msgid "Portrait" msgstr "Portret" -#: src/component/service/edit.vue:273 +#: src/component/service/edit.vue:274 msgid "Preserve filenames" msgstr "Ohranjanje imen datotek" -#: src/component/upload/dialog.vue:162 +#: src/component/upload/dialog.vue:164 msgid "Press enter to create a new album." msgstr "Pritisnite enter, da ustvarite nov album." @@ -2400,8 +2435,8 @@ msgstr "Prejšnji vizualni" msgid "Primary" msgstr "Primarni" -#: src/app/routes.js:271 src/component/album/edit/dialog.vue:176 -#: src/component/navigation.vue:531 src/component/photo/edit/info.vue:303 +#: src/app/routes.js:279 src/component/album/edit/dialog.vue:177 +#: src/component/navigation.vue:533 src/component/photo/edit/info.vue:303 #: src/page/settings/general.vue:280 msgid "Private" msgstr "Zasebno" @@ -2426,7 +2461,7 @@ msgstr "Filter kakovosti" msgid "Quality Score" msgstr "Ocena kakovosti" -#: src/page/admin/users.vue:169 +#: src/page/admin/users.vue:171 msgid "r" msgstr "r" @@ -2457,7 +2492,7 @@ msgstr "Način samo za branje" #: src/component/album/edit/dialog.vue:26 src/component/photo/toolbar.vue:116 #: src/component/photo/toolbar.vue:128 src/component/photo/toolbar.vue:138 -#: src/page/albums.vue:102 +#: src/page/albums.vue:103 msgid "Recently Added" msgstr "Nedavno dodano" @@ -2465,7 +2500,7 @@ msgstr "Nedavno dodano" msgid "Recently Archived" msgstr "Nedavno arhivirano" -#: src/component/photo/toolbar.vue:139 src/page/albums.vue:103 +#: src/component/photo/toolbar.vue:139 src/page/albums.vue:104 msgid "Recently Edited" msgstr "Nedavno urejeno" @@ -2490,24 +2525,24 @@ msgstr "Koda za izterjavo" msgid "Red" msgstr "Rdeča" -#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:126 -#: src/component/album/toolbar.vue:79 src/component/photo/toolbar.vue:169 -#: src/page/albums.vue:173 src/page/labels.vue:112 +#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:128 +#: src/component/album/toolbar.vue:84 src/component/photo/toolbar.vue:169 +#: src/page/albums.vue:175 src/page/labels.vue:112 #: src/page/library/browse.vue:90 src/page/library/errors.vue:81 #: src/page/people/new.vue:54 src/page/people/recognized.vue:88 msgid "Refresh" msgstr "Osvežitev" -#: src/app/routes.js:337 src/component/navigation.vue:943 -#: src/component/navigation.vue:1026 +#: src/app/routes.js:345 src/component/navigation.vue:955 +#: src/component/navigation.vue:1040 msgid "Regions" msgstr "Regije" -#: src/page/connect.vue:275 src/page/connect.vue:284 +#: src/page/connect.vue:277 src/page/connect.vue:286 msgid "Register" msgstr "Register" -#: src/component/navigation.vue:1773 src/component/update.vue:68 +#: src/component/navigation.vue:1806 src/component/update.vue:68 msgid "Reload" msgstr "Ponovno polnjenje" @@ -2552,34 +2587,34 @@ msgstr "zahteva, da se pred prikazom v rezultatih iskanja pregledajo nefotografs msgid "Resolution" msgstr "Resolucija" -#: src/page/connect.vue:179 src/page/connect.vue:183 +#: src/page/connect.vue:180 src/page/connect.vue:184 #: src/page/settings/advanced.vue:782 msgid "Restart" msgstr "Ponovni zagon" -#: src/component/user/edit/dialog.vue:485 src/component/lightbox.vue:1221 +#: src/component/user/edit/dialog.vue:488 src/component/lightbox.vue:1221 #: src/component/photo/clipboard.vue:77 msgid "Restore" msgstr "Obnovitev" -#: src/component/lightbox.vue:2000 +#: src/component/lightbox.vue:2020 msgid "Restored" msgstr "Restavrirani" -#: src/component/service/edit.vue:428 +#: src/component/service/edit.vue:429 msgid "Retry Limit" msgstr "Omejitev ponovitve" -#: src/component/settings/password.vue:128 +#: src/component/settings/password.vue:129 msgid "Retype Password" msgstr "Ponovite geslo" -#: src/app/routes.js:264 src/component/navigation.vue:505 +#: src/app/routes.js:272 src/component/navigation.vue:507 msgid "Review" msgstr "Pregled" -#: src/component/user/add/dialog.vue:171 src/component/user/edit/dialog.vue:284 -#: src/page/admin/sessions.vue:262 src/page/admin/users.vue:73 +#: src/component/user/add/dialog.vue:172 src/component/user/edit/dialog.vue:285 +#: src/page/admin/sessions.vue:263 src/page/admin/users.vue:75 msgid "Role" msgstr "Vloga" @@ -2591,11 +2626,11 @@ msgstr "Vrstice na stran:" msgid "Satellite" msgstr "Satelit" -#: src/component/user/edit/dialog.vue:485 -#: src/component/album/edit/dialog.vue:211 -#: src/component/label/edit/dialog.vue:119 -#: src/component/people/edit/dialog.vue:132 src/component/service/edit.vue:466 -#: src/component/settings/password.vue:172 src/component/share/dialog.vue:181 +#: src/component/user/edit/dialog.vue:488 +#: src/component/album/edit/dialog.vue:212 +#: src/component/label/edit/dialog.vue:120 +#: src/component/people/edit/dialog.vue:133 src/component/service/edit.vue:467 +#: src/component/settings/password.vue:173 src/component/share/dialog.vue:181 msgid "Save" msgstr "Shrani" @@ -2603,23 +2638,23 @@ msgstr "Shrani" msgid "Scan" msgstr "Skeniranje" -#: src/component/settings/passcode.vue:179 +#: src/component/settings/passcode.vue:182 msgid "Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:" msgstr "Skenirajte kodo QR z aplikacijo za preverjanje pristnosti ali uporabite nastavitveni ključ, prikazan spodaj, in nato vnesite ustvarjeno kodo za preverjanje:" -#: src/component/navigation.vue:461 +#: src/component/navigation.vue:463 msgid "Scans" msgstr "Skenira" -#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:377 -#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:310 +#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:381 +#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:313 msgid "Scope" msgstr "Področje uporabe" -#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:62 -#: src/component/navigation.vue:342 src/component/navigation.vue:1866 -#: src/component/photo/toolbar.vue:57 src/options/options.js:197 -#: src/page/albums.vue:100 src/page/labels.vue:77 +#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:69 +#: src/component/location/dialog.vue:133 src/component/navigation.vue:343 +#: src/component/navigation.vue:1905 src/component/photo/toolbar.vue:57 +#: src/options/options.js:197 src/page/albums.vue:100 src/page/labels.vue:77 #: src/page/library/errors.vue:76 src/page/people/recognized.vue:66 #: src/page/places.vue:79 src/page/settings/content.vue:235 msgid "Search" @@ -2657,11 +2692,11 @@ msgstr "Izberite datum" msgid "Select dates" msgstr "Izberite datume" -#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:154 +#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:156 msgid "Select or create an album" msgstr "Izberite ali ustvarite album" -#: src/component/upload/dialog.vue:138 +#: src/component/upload/dialog.vue:140 msgid "Select the files to upload…" msgstr "Izberite datoteke, ki jih želite naložiti…" @@ -2689,7 +2724,7 @@ msgstr "Obnovljen izbor" msgid "Sequential Name" msgstr "Zaporedno ime" -#: src/component/service/add.vue:67 src/component/service/edit.vue:322 +#: src/component/service/add.vue:68 src/component/service/edit.vue:323 #: src/component/share/dialog.vue:25 msgid "Service URL" msgstr "URL storitve" @@ -2698,7 +2733,7 @@ msgstr "URL storitve" msgid "Services" msgstr "URL storitve" -#: src/model/session.js:107 src/options/auth.js:41 src/options/auth.js:90 +#: src/model/session.js:107 src/options/auth.js:42 src/options/auth.js:91 msgid "Session" msgstr "Seja" @@ -2706,7 +2741,7 @@ msgstr "Seja" msgid "Session ID" msgstr "ID seje" -#: src/page/admin.vue:45 +#: src/page/admin.vue:44 msgid "Sessions" msgstr "Seje" @@ -2714,22 +2749,22 @@ msgstr "Seje" msgid "Set as Album Cover" msgstr "Nastavite kot naslovnico albuma" -#: src/app/routes.js:101 src/app/routes.js:492 src/app/routes.js:504 -#: src/app/routes.js:521 src/app/routes.js:534 src/app/routes.js:547 -#: src/component/navigation.vue:1394 src/component/navigation.vue:1806 +#: src/app/routes.js:101 src/app/routes.js:500 src/app/routes.js:512 +#: src/app/routes.js:529 src/app/routes.js:542 src/app/routes.js:555 +#: src/component/navigation.vue:1419 src/component/navigation.vue:1841 msgid "Settings" msgstr "Nastavitve" #: src/page/settings/account.vue:115 src/page/settings/account.vue:144 -#: src/component/settings/passcode.vue:147 +#: src/component/settings/passcode.vue:151 msgid "Settings saved" msgstr "Shranjene nastavitve" -#: src/component/service/upload.vue:131 src/component/settings/passcode.vue:160 +#: src/component/service/upload.vue:132 src/component/settings/passcode.vue:163 msgid "Setup" msgstr "Nastavitev" -#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:98 +#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:103 #: src/component/photo/clipboard.vue:51 src/page/settings/general.vue:382 msgid "Share" msgstr "Delite" @@ -2746,7 +2781,7 @@ msgstr "Slike lahko delite z drugimi aplikacijami in storitvami." msgid "Show" msgstr "Prikaži" -#: src/page/people/new.vue:116 src/page/people/new.vue:233 +#: src/page/people/new.vue:116 src/page/people/new.vue:235 msgid "Show all new faces" msgstr "Prikaži vse nove obraze" @@ -2791,7 +2826,7 @@ msgid "Similar" msgstr "Podobno" #: src/component/photo/edit/files.vue:51 src/component/photo/edit/files.vue:341 -#: src/component/service/edit.vue:139 src/component/sidebar/info.vue:96 +#: src/component/service/edit.vue:140 src/component/sidebar/info.vue:96 msgid "Size" msgstr "Velikost" @@ -2819,7 +2854,7 @@ msgstr "Nekaj je šlo narobe, poskusite znova" msgid "Sort by" msgstr "Razvrsti po" -#: src/component/album/edit/dialog.vue:142 src/component/photo/toolbar.vue:288 +#: src/component/album/edit/dialog.vue:143 src/component/photo/toolbar.vue:290 #: src/page/albums.vue:214 msgid "Sort Order" msgstr "Vrstni red" @@ -2854,7 +2889,7 @@ msgstr "Na podlagi metapodatkov zložite slike, posnete ob istem času in na ist msgid "Stackable" msgstr "Stackable" -#: src/component/navigation.vue:421 src/page/settings/content.vue:136 +#: src/component/navigation.vue:423 src/page/settings/content.vue:136 msgid "Stacks" msgstr "Zaloge" @@ -2882,16 +2917,16 @@ msgstr "Shranjevanje" msgid "Streets" msgstr "Ulice" -#: src/component/photo/edit/details.vue:494 +#: src/component/photo/edit/details.vue:468 #: src/component/photo/edit/labels.vue:44 msgid "Subject" msgstr "Zadeva" -#: src/page/about/feedback.vue:162 src/page/about/feedback.vue:163 +#: src/page/about/feedback.vue:163 src/page/about/feedback.vue:164 msgid "Submit" msgstr "Pošlji" -#: src/component/settings/passcode.vue:132 +#: src/component/settings/passcode.vue:136 msgid "Successfully activated" msgstr "Uspešno aktiviran" @@ -2900,23 +2935,23 @@ msgid "Successfully Connected" msgstr "Uspešno povezano" #: src/component/session/remove/dialog.vue:32 -#: src/component/settings/apps.vue:218 +#: src/component/settings/apps.vue:222 msgid "Successfully deleted" msgstr "Uspešno izbrisan" -#: src/component/settings/passcode.vue:107 +#: src/component/settings/passcode.vue:108 msgid "Successfully verified" msgstr "Uspešno preverjeno" -#: src/component/user/edit/dialog.vue:398 src/page/admin/users.vue:163 +#: src/component/user/edit/dialog.vue:399 src/page/admin/users.vue:165 msgid "Super Admin" msgstr "Super administrator" -#: src/component/service/add.vue:122 +#: src/component/service/add.vue:123 msgid "Support for additional services, like Google Drive, will be added over time." msgstr "Podpora za dodatne storitve, kot je Google Drive, bo dodana sčasoma." -#: src/component/confirm/sponsor.vue:37 src/component/navigation.vue:1629 +#: src/component/confirm/sponsor.vue:38 src/component/navigation.vue:1660 msgid "Support Our Mission" msgstr "Podprite naše poslanstvo" @@ -2924,7 +2959,7 @@ msgstr "Podprite naše poslanstvo" msgid "Sync" msgstr "Sinhronizacija" -#: src/component/service/edit.vue:289 +#: src/component/service/edit.vue:290 msgid "Sync raw and video files" msgstr "Sinhronizacija neobdelanih in video datotek" @@ -2950,23 +2985,23 @@ msgstr "Teren" msgid "Text" msgstr "Besedilo" -#: src/component/photo/edit/details.vue:32 src/page/people/new.vue:71 +#: src/component/photo/edit/details.vue:40 src/page/people/new.vue:71 msgid "Text too long" msgstr "Predolgo besedilo" -#: src/page/about/about.vue:145 +#: src/page/about/about.vue:146 msgid "Thank You for Your Support!" msgstr "Hvala za podporo!" -#: src/page/about/about.vue:79 src/page/about/about.vue:85 +#: src/page/about/about.vue:80 src/page/about/about.vue:86 msgid "That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality." msgstr "Zato je bil PhotoPrism od samega začetka zasnovan tako, da deluje, kjer koli ga potrebujete, ne da bi pri tem ogrožal svobodo, zasebnost ali funkcionalnost." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "The index currently contains %{n} hidden files." msgstr "Indeks trenutno vsebuje %{n} skritih datotek." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates." msgstr "Njihova oblika morda ni podprta, morda še niso bili pretvorjeni v JPEG ali pa se podvajajo." @@ -2981,44 +3016,44 @@ msgstr "Tema" msgid "This field is required" msgstr "To polje je obvezno" -#: src/component/settings/webdav.vue:100 src/page/settings/services.vue:144 +#: src/component/settings/webdav.vue:101 src/page/settings/services.vue:147 msgid "This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local." msgstr "Tako se mapa z izvirniki namesti kot omrežni pogon in omogoči odpiranje, urejanje in brisanje datotek iz računalnika ali pametnega telefona, kot da bi bile lokalne." -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Time UTC" msgstr "Čas UTC" -#: src/component/photo/edit/details.vue:219 src/page/settings/general.vue:108 +#: src/component/photo/edit/details.vue:221 src/page/settings/general.vue:108 msgid "Time Zone" msgstr "Časovni pas" -#: src/component/service/edit.vue:408 +#: src/component/service/edit.vue:409 msgid "Timeout" msgstr "Timeout" -#: src/component/user/edit/dialog.vue:98 src/component/user/edit/dialog.vue:99 +#: src/component/user/edit/dialog.vue:99 src/component/user/edit/dialog.vue:100 #: src/page/settings/account.vue:84 src/page/settings/account.vue:86 msgctxt "Account" msgid "Title" msgstr "Naslov" -#: src/component/photo/edit/details.vue:73 +#: src/component/photo/edit/details.vue:75 msgctxt "Photo" msgid "Title" msgstr "Naslov" -#: src/component/photo/edit/info.vue:59 src/component/photo/edit/info.vue:155 +#: src/component/photo/edit/info.vue:61 src/component/photo/edit/info.vue:155 #: src/component/photo/edit/labels.vue:40 src/component/photo/view/list.vue:114 #: src/component/sidebar/info.vue:57 msgid "Title" msgstr "Naslov" -#: src/page/settings/account.vue:553 src/page/settings/account.vue:555 +#: src/page/settings/account.vue:559 src/page/settings/account.vue:561 msgid "Title / Position" msgstr "Predolg naslov" -#: src/page/albums.vue:83 +#: src/page/albums.vue:84 msgid "Title too long" msgstr "Predolg naslov" @@ -3026,19 +3061,19 @@ msgstr "Predolg naslov" msgid "to" msgstr "na ." -#: src/component/settings/passcode.vue:312 +#: src/component/settings/passcode.vue:315 msgid "To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place." msgstr "Da se izognete izgubi dostopa do računa, prenesite, natisnite ali kopirajte to obnovitveno kodo in jo shranite na varno mesto." -#: src/component/settings/apps.vue:272 +#: src/component/settings/apps.vue:275 msgid "To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:" msgstr "Če želite ustvariti novo geslo za določeno aplikacijo, vnesite ime in obseg pooblastila aplikacije ter izberite datum poteka:" -#: src/component/settings/passcode.vue:400 +#: src/component/settings/passcode.vue:403 msgid "To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:" msgstr "Če želite preklopiti na novo aplikacijo ali napravo za preverjanje pristnosti, najprej deaktivirajte dvostopenjsko avtentikacijo in jo nato znova aktivirajte:" -#: src/page/connect.vue:221 src/page/connect.vue:230 +#: src/page/connect.vue:223 src/page/connect.vue:232 msgid "To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:" msgstr "Za nadgradnjo lahko vnesete aktivacijsko kodo ali pa se s klikom na gumb \"Registracija\" prijavite na našem spletnem mestu:" @@ -3046,7 +3081,7 @@ msgstr "Za nadgradnjo lahko vnesete aktivacijsko kodo ali pa se s klikom na gumb msgid "Today" msgstr "Danes" -#: src/component/album/toolbar.vue:70 src/component/photo/toolbar.vue:78 +#: src/component/album/toolbar.vue:71 src/component/photo/toolbar.vue:78 msgid "Toggle View" msgstr "Toggle View" @@ -3073,20 +3108,24 @@ msgstr "Odpravljanje težav" msgid "Try again using other filters or keywords." msgstr "Poskusite znova z drugimi filtri ali ključnimi besedami." -#: src/component/settings/passcode.vue:380 +#: src/component/settings/passcode.vue:383 msgid "Two-factor authentication has been enabled for your account." msgstr "Za vaš račun je omogočeno dvostopenjsko preverjanje pristnosti." #: src/component/photo/edit/files.vue:58 src/component/photo/edit/files.vue:330 -#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:388 +#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:389 msgid "Type" msgstr "Tip" -#: src/options/auth.js:13 +#: src/component/album/toolbar.vue:178 +msgid "Unable to delete" +msgstr "Ni mogoče izbrisati" + +#: src/options/auth.js:14 msgid "Unauthorized" msgstr "Nepooblaščeno" -#: src/component/photo/edit/people.vue:94 +#: src/component/photo/edit/people.vue:95 msgid "Undo" msgstr "Razveljavi" @@ -3094,16 +3133,16 @@ msgstr "Razveljavi" msgid "Unique ID" msgstr "Edinstven ID" -#: src/page/settings/account.vue:451 src/page/settings/account.vue:476 -#: src/page/settings/account.vue:501 src/common/util.js:487 -#: src/component/photo/edit/details.vue:21 -#: src/component/photo/edit/details.vue:111 -#: src/component/photo/edit/details.vue:138 -#: src/component/photo/edit/details.vue:164 src/component/sidebar/info.vue:43 -#: src/model/album.js:193 src/model/photo.js:323 src/model/photo.js:784 -#: src/model/photo.js:809 src/model/photo.js:832 src/model/photo.js:850 -#: src/model/photo.js:897 src/model/photo.js:905 src/model/photo.js:994 -#: src/model/photo.js:1016 src/model/photo.js:1061 src/model/photo.js:1074 +#: src/page/settings/account.vue:457 src/page/settings/account.vue:482 +#: src/page/settings/account.vue:507 src/common/util.js:488 +#: src/component/photo/edit/details.vue:27 +#: src/component/photo/edit/details.vue:113 +#: src/component/photo/edit/details.vue:140 +#: src/component/photo/edit/details.vue:166 src/component/sidebar/info.vue:43 +#: src/model/album.js:193 src/model/photo.js:331 src/model/photo.js:821 +#: src/model/photo.js:846 src/model/photo.js:869 src/model/photo.js:887 +#: src/model/photo.js:934 src/model/photo.js:942 src/model/photo.js:1031 +#: src/model/photo.js:1053 src/model/photo.js:1098 src/model/photo.js:1111 #: src/model/user.js:157 src/options/options.js:51 src/options/options.js:69 #: src/options/options.js:86 src/options/options.js:100 #: src/options/options.js:112 src/page/library/errors.vue:251 @@ -3116,7 +3155,7 @@ msgstr "Neznano" msgid "Unregistered" msgstr "Neregistrirani" -#: src/app/routes.js:215 src/component/navigation.vue:644 +#: src/app/routes.js:223 src/component/navigation.vue:648 msgid "Unsorted" msgstr "Nesortirani" @@ -3124,7 +3163,7 @@ msgstr "Nesortirani" msgid "Unstack" msgstr "Odstranjevanje" -#: src/component/photo/edit/files.vue:519 src/component/photo/edit/info.vue:416 +#: src/component/photo/edit/files.vue:521 src/component/photo/edit/info.vue:416 msgid "Updated" msgstr "Posodobljeno" @@ -3140,7 +3179,7 @@ msgstr "Posodabljanje indeksa" msgid "Updating moments" msgstr "Posodabljanje trenutkov" -#: src/component/user/edit/dialog.vue:154 +#: src/component/user/edit/dialog.vue:155 msgid "Updating picture…" msgstr "Posodabljanje predogledov" @@ -3152,21 +3191,21 @@ msgstr "Posodabljanje predogledov" msgid "Updating stacks" msgstr "Posodabljanje skladovnic" -#: src/page/connect.vue:57 src/component/navigation.vue:1500 -#: src/component/navigation.vue:1614 src/component/navigation.vue:1999 +#: src/page/connect.vue:57 src/component/navigation.vue:1526 +#: src/component/navigation.vue:1644 src/component/navigation.vue:2047 #: src/page/connect.vue:58 msgid "Upgrade" msgstr "Nadgradnja" -#: src/page/about/about.vue:123 src/page/connect.vue:202 -#: src/component/confirm/sponsor.vue:98 src/page/about/about.vue:113 -#: src/page/connect.vue:206 +#: src/page/about/about.vue:124 src/page/connect.vue:204 +#: src/component/confirm/sponsor.vue:99 src/page/about/about.vue:114 +#: src/page/connect.vue:208 msgid "Upgrade Now" msgstr "Nadgradite zdaj" -#: src/component/album/toolbar.vue:108 src/component/navigation.vue:1824 -#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:144 -#: src/component/upload/dialog.vue:51 src/page/albums.vue:183 +#: src/component/album/toolbar.vue:113 src/component/navigation.vue:1860 +#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:145 +#: src/component/upload/dialog.vue:51 src/page/albums.vue:185 #: src/page/labels.vue:122 src/page/library/import.vue:133 #: src/page/settings/general.vue:307 src/page/settings/services.vue:38 msgid "Upload" @@ -3176,21 +3215,21 @@ msgstr "Naložite" msgid "Upload complete" msgstr "Nalaganje končano" -#: src/component/upload/dialog.vue:133 +#: src/component/upload/dialog.vue:135 msgid "Upload complete. Indexing…" msgstr "Nalaganje je končano. Indeksiranje…" #: src/component/upload/dialog.vue:296 src/component/upload/dialog.vue:315 -#: src/component/upload/dialog.vue:129 +#: src/component/upload/dialog.vue:131 msgid "Upload failed" msgstr "Nalaganje ni uspelo" -#: src/component/service/edit.vue:257 +#: src/component/service/edit.vue:258 msgid "Upload local files" msgstr "Prenos lokalnih datotek" -#: src/component/user/edit/dialog.vue:380 #: src/component/user/edit/dialog.vue:381 +#: src/component/user/edit/dialog.vue:382 msgid "Upload Path" msgstr "Pot za nalaganje" @@ -3198,7 +3237,7 @@ msgstr "Pot za nalaganje" msgid "Upload to WebDAV and share links with friends." msgstr "Prenesite v WebDAV in delite povezave s prijatelji." -#: src/component/upload/dialog.vue:131 +#: src/component/upload/dialog.vue:133 msgid "Uploading %{n} of %{t}…" msgstr "Nalaganje %{n} od %{t}…" @@ -3211,7 +3250,7 @@ msgstr "Nalaganje fotografij…" msgid "Uploading…" msgstr "Polnjenje…" -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Uploads that may contain such images will be rejected automatically." msgstr "Prenosi, ki bi lahko vsebovali takšne slike, bodo samodejno zavrnjeni." @@ -3219,7 +3258,7 @@ msgstr "Prenosi, ki bi lahko vsebovali takšne slike, bodo samodejno zavrnjeni." msgid "Use Presets" msgstr "Uporaba prednastavitev" -#: src/component/settings/passcode.vue:283 +#: src/component/settings/passcode.vue:286 msgid "Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:" msgstr "Uporabite naslednjo obnovitveno kodo za dostop do svojega računa, če ne morete ustvariti veljavne kode za preverjanje z aplikacijo za preverjanje pristnosti:" @@ -3227,12 +3266,12 @@ msgstr "Uporabite naslednjo obnovitveno kodo za dostop do svojega računa, če n msgid "Use your recovery code or contact an administrator for help." msgstr "Uporabite kodo za obnovitev ali se za pomoč obrnite na skrbnika." -#: src/options/admin.js:10 src/page/admin/sessions.vue:59 -#: src/page/admin/sessions.vue:242 src/model/user.js:361 src/options/auth.js:7 +#: src/options/admin.js:14 src/page/admin/sessions.vue:59 +#: src/page/admin/sessions.vue:243 src/model/user.js:361 src/options/auth.js:8 msgid "User" msgstr "Uporabnik" -#: src/component/navigation.vue:1979 +#: src/component/navigation.vue:2025 msgid "User Guide" msgstr "Uporabniški priročnik" @@ -3240,14 +3279,14 @@ msgstr "Uporabniški priročnik" msgid "User Interface" msgstr "Uporabniški vmesnik" -#: src/component/user/add/dialog.vue:87 src/component/user/add/dialog.vue:88 -#: src/page/admin/sessions.vue:220 src/page/admin/users.vue:71 -#: src/component/service/add.vue:85 src/component/service/edit.vue:337 +#: src/component/user/add/dialog.vue:88 src/component/user/add/dialog.vue:89 +#: src/page/admin/sessions.vue:221 src/page/admin/users.vue:73 +#: src/component/service/add.vue:86 src/component/service/edit.vue:338 #: src/component/share/dialog.vue:26 msgid "Username" msgstr "Uporabniško ime" -#: src/component/navigation.vue:1435 +#: src/component/navigation.vue:1461 msgid "Users" msgstr "Uporabniki" @@ -3257,18 +3296,18 @@ msgstr "Uporabniki" msgid "Vector" msgstr "Vektor" -#: src/component/navigation.vue:440 +#: src/component/navigation.vue:442 msgid "Vectors" msgstr "Vektorji" -#: src/component/settings/passcode.vue:227 src/page/auth/login.vue:144 +#: src/component/settings/passcode.vue:230 src/page/auth/login.vue:144 msgid "Verification Code" msgstr "Koda za preverjanje" #: src/component/photo/view/cards.vue:363 #: src/component/photo/view/cards.vue:491 src/component/photo/view/list.vue:190 #: src/component/photo/view/mosaic.vue:207 src/model/file.js:221 -#: src/model/photo.js:921 src/model/photo.js:939 src/options/options.js:293 +#: src/model/photo.js:958 src/model/photo.js:976 src/options/options.js:293 msgid "Video" msgstr "Videoposnetek" @@ -3277,12 +3316,12 @@ msgstr "Videoposnetek" msgid "Video Duration" msgstr "Trajanje" -#: src/app/routes.js:243 src/component/navigation.vue:728 +#: src/app/routes.js:251 src/component/navigation.vue:734 #: src/options/options.js:200 msgid "Videos" msgstr "Videoposnetki" -#: src/component/photo/toolbar.vue:261 src/component/photo/view/cards.vue:350 +#: src/component/photo/toolbar.vue:263 src/component/photo/view/cards.vue:350 #: src/component/photo/view/mosaic.vue:194 msgid "View" msgstr "Oglejte si" @@ -3291,11 +3330,11 @@ msgstr "Oglejte si" msgid "View search results as a list." msgstr "Rezultate iskanja prikažite kot seznam." -#: src/options/admin.js:14 src/options/auth.js:8 +#: src/options/admin.js:18 src/options/auth.js:9 msgid "Viewer" msgstr "Pregledovalnik" -#: src/page/admin/sessions.vue:271 src/options/auth.js:12 +#: src/page/admin/sessions.vue:272 src/options/auth.js:13 msgid "Visitor" msgstr "Obiskovalec" @@ -3307,34 +3346,34 @@ msgstr "Skupine po podobnosti" msgid "Warning" msgstr "Opozorilo" -#: src/page/about/feedback.vue:60 +#: src/page/about/feedback.vue:61 msgid "We appreciate your feedback!" msgstr "Cenimo vaše povratne informacije!" -#: src/page/about/feedback.vue:63 +#: src/page/about/feedback.vue:64 msgid "We do our best to respond within five business days or less." msgstr "Potrudimo se, da vam odgovorimo v petih delovnih dneh ali manj." -#: src/component/user/add/dialog.vue:235 src/component/user/edit/dialog.vue:415 -#: src/page/admin/users.vue:80 +#: src/component/user/add/dialog.vue:236 src/component/user/edit/dialog.vue:416 +#: src/page/admin/users.vue:82 msgid "Web Login" msgstr "Spletna prijava" -#: src/component/user/add/dialog.vue:248 src/component/user/edit/dialog.vue:432 -#: src/page/admin/users.vue:82 src/options/auth.js:55 src/options/auth.js:68 +#: src/component/user/add/dialog.vue:249 src/component/user/edit/dialog.vue:433 +#: src/page/admin/users.vue:84 src/options/auth.js:56 src/options/auth.js:69 #: src/options/options.js:444 msgid "WebDAV" msgstr "WebDAV" -#: src/component/settings/webdav.vue:51 +#: src/component/settings/webdav.vue:52 msgid "WebDAV clients can connect to PhotoPrism using the following URL:" msgstr "Odjemalci WebDAV se lahko povežejo s programom PhotoPrism z naslednjim naslovom URL:" -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism." msgstr "Odjemalci WebDAV, kot sta Microsoftov Windows Explorer ali Applov Finder, se lahko povežejo neposredno s PhotoPrism." -#: src/component/service/upload.vue:50 src/component/share/dialog.vue:220 +#: src/component/service/upload.vue:51 src/component/share/dialog.vue:220 msgid "WebDAV Upload" msgstr "Nalaganje prek protokola WebDAV" @@ -3342,8 +3381,8 @@ msgstr "Nalaganje prek protokola WebDAV" msgid "WebGL support is disabled in your browser" msgstr "Podpora WebGL je v vašem brskalniku onemogočena" -#: src/page/settings/account.vue:615 src/page/settings/account.vue:709 -#: src/page/settings/account.vue:601 +#: src/page/settings/account.vue:621 src/page/settings/account.vue:715 +#: src/page/settings/account.vue:607 msgid "Website" msgstr "Spletna stran" @@ -3351,12 +3390,12 @@ msgstr "Spletna stran" msgid "White" msgstr "Bela" -#: src/page/settings/account.vue:532 +#: src/page/settings/account.vue:538 msgid "Work Details" msgstr "Podrobnosti" -#: src/page/settings/account.vue:500 src/component/photo/edit/details.vue:163 -#: src/component/photo/toolbar.vue:315 src/page/albums.vue:159 +#: src/page/settings/account.vue:506 src/component/photo/edit/details.vue:165 +#: src/component/photo/toolbar.vue:317 src/page/albums.vue:159 msgid "Year" msgstr "Leto" @@ -3364,21 +3403,21 @@ msgstr "Leto" msgid "Yellow" msgstr "Rumena" -#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:58 -#: src/component/photo/archive/dialog.vue:58 +#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:59 +#: src/component/photo/archive/dialog.vue:59 #: src/component/photo/clipboard.vue:200 src/component/photo/edit/files.vue:365 #: src/component/photo/edit/files.vue:395 #: src/component/photo/edit/files.vue:401 #: src/component/photo/edit/files.vue:407 -#: src/component/photo/edit/files.vue:510 src/component/photo/edit/info.vue:281 +#: src/component/photo/edit/files.vue:512 src/component/photo/edit/info.vue:281 #: src/component/photo/edit/info.vue:297 src/component/photo/edit/info.vue:313 #: src/component/photo/edit/info.vue:329 src/component/photo/edit/info.vue:344 -#: src/component/photo/toolbar.vue:434 +#: src/component/photo/toolbar.vue:436 msgid "Yes" msgstr "Da" -#: src/component/confirm/sponsor.vue:59 src/page/about/about.vue:158 -#: src/page/connect.vue:315 +#: src/component/confirm/sponsor.vue:60 src/page/about/about.vue:160 +#: src/page/connect.vue:317 msgid "You are welcome to contact us at membership@photoprism.app for questions regarding your membership." msgstr "Z vprašanji v zvezi s članstvom se lahko obrnete na membership@photoprism.app." @@ -3390,7 +3429,11 @@ msgstr "Prenesete lahko samo en album" msgid "You can only download one label" msgstr "Prenesete lahko samo eno nalepko" -#: src/component/upload/dialog.vue:203 +#: src/component/location/dialog.vue:178 +msgid "You can search for a location or move the marker on the map to change the position:" +msgstr "Poiščete lahko lokacijo ali premaknete označevalnik na zemljevidu in spremenite položaj:" + +#: src/component/upload/dialog.vue:205 msgid "You can upload up to %{n} files for test purposes." msgstr "V testne namene lahko naložite do %{n} datotek." @@ -3403,7 +3446,7 @@ msgstr "Izberete lahko samo en predmet." msgid "You may rescan your library to find additional faces." msgstr "Če želite najti dodatne obraze, lahko knjižnico ponovno preiščete." -#: src/page/connect.vue:146 src/page/connect.vue:150 +#: src/page/connect.vue:147 src/page/connect.vue:151 msgid "Your account has been successfully connected." msgstr "Vaš račun je bil uspešno povezan." @@ -3411,8 +3454,8 @@ msgstr "Vaš račun je bil uspešno povezan." msgid "Your browser does not support WebGL" msgstr "Vaš brskalnik ne podpira WebGL" -#: src/component/confirm/sponsor.vue:43 src/page/about/about.vue:97 -#: src/page/about/about.vue:156 src/page/connect.vue:220 +#: src/component/confirm/sponsor.vue:44 src/page/about/about.vue:98 +#: src/page/about/about.vue:158 src/page/connect.vue:222 msgid "Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy." msgstr "Vaša stalna podpora nam pomaga zagotavljati redne posodobitve in ostati neodvisni, tako da lahko izpolnjujemo svoje poslanstvo in varujemo vašo zasebnost." @@ -3493,9 +3536,6 @@ msgstr "Povečanje/pomanjšanje" #~ msgid "Open Folder" #~ msgstr "Odpri mapo" -#~ msgid "Cannot copy to clipboard" -#~ msgstr "Ni mogoče kopirati v odložišče" - #~ msgid "Sound" #~ msgstr "Zvok" diff --git a/frontend/src/locales/sv.po b/frontend/src/locales/sv.po index cee7908ca..fc06030ac 100644 --- a/frontend/src/locales/sv.po +++ b/frontend/src/locales/sv.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: ci@photoprism.app\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2025-04-04 08:03+0000\n" +"PO-Revision-Date: 2025-07-06 08:58+0000\n" "Last-Translator: DeepL \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -11,7 +11,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.10.4\n" +"X-Generator: Weblate 5.12.2\n" "Generated-By: easygettext\n" #: src/locales.js:268 @@ -42,7 +42,7 @@ msgstr "{0} vald" msgid "{0}-{1} of {2}" msgstr "{0}-{1} av {2}" -#: src/page/albums.vue:612 +#: src/page/albums.vue:617 msgid "%{n} albums found" msgstr "%{n} album hittades" @@ -50,25 +50,25 @@ msgstr "%{n} album hittades" msgid "%{n} files uploaded" msgstr "%{n} filer uppladdade" -#: src/page/library/browse.vue:362 +#: src/page/library/browse.vue:364 msgid "%{n} folders found" msgstr "%{n} mappar hittades" -#: src/component/navigation.vue:1676 +#: src/component/navigation.vue:1707 msgid "%{n} GB of %{q} GB used" msgstr "%{n} GB av %{q} GB används" -#: src/page/labels.vue:528 +#: src/page/labels.vue:533 msgid "%{n} labels found" msgstr "%{n} etiketter hittades" -#: src/page/people/new.vue:350 src/page/people/new.vue:447 -#: src/page/people/recognized.vue:536 +#: src/page/people/new.vue:350 src/page/people/new.vue:450 +#: src/page/people/recognized.vue:541 msgid "%{n} people found" msgstr "%{n} personer hittades" -#: src/page/album/photos.vue:308 src/page/album/photos.vue:493 -#: src/page/photos.vue:441 src/page/photos.vue:631 +#: src/page/album/photos.vue:313 src/page/album/photos.vue:504 +#: src/page/photos.vue:446 src/page/photos.vue:641 msgid "%{n} pictures found" msgstr "%{n} bilder hittades" @@ -88,12 +88,12 @@ msgstr "1 timme" msgid "12 hours" msgstr "12 timmar" -#: src/component/user/edit/dialog.vue:452 src/page/settings/account.vue:324 -#: src/component/settings/passcode.vue:75 +#: src/component/user/edit/dialog.vue:453 src/page/settings/account.vue:325 +#: src/component/settings/passcode.vue:78 msgid "2-Factor Authentication" msgstr "2-faktorautentisering" -#: src/component/user/edit/dialog.vue:451 src/options/auth.js:46 +#: src/component/user/edit/dialog.vue:452 src/options/auth.js:47 msgid "2FA" msgstr "2FA" @@ -109,20 +109,20 @@ msgstr "Ett klick kopierar den till urklippshanteraren." msgid "A new version of %{s} is available:" msgstr "En ny version av %{s} är tillgänglig:" -#: src/component/user/edit/dialog.vue:233 -#: src/component/user/edit/dialog.vue:234 src/page/about/about.vue:56 +#: src/component/user/edit/dialog.vue:234 +#: src/component/user/edit/dialog.vue:235 src/page/about/about.vue:56 #: src/page/settings/account.vue:248 src/page/settings/account.vue:249 -#: src/app/routes.js:63 src/component/navigation.vue:1521 -#: src/page/people/recognized.vue:292 +#: src/app/routes.js:63 src/component/navigation.vue:1547 +#: src/page/people/recognized.vue:296 msgid "About" msgstr "Om" -#: src/options/auth.js:26 src/options/auth.js:44 +#: src/options/auth.js:27 src/options/auth.js:45 msgid "Access Token" msgstr "Token för åtkomst" -#: src/component/navigation.vue:87 src/component/navigation.vue:1788 -#: src/component/service/upload.vue:71 src/model/service.js:96 +#: src/component/navigation.vue:87 src/component/navigation.vue:1822 +#: src/component/service/upload.vue:72 src/model/service.js:96 #: src/model/user.js:171 src/page/settings.vue:85 #: src/page/settings/general.vue:582 msgid "Account" @@ -136,7 +136,7 @@ msgstr "Kontot har skapats" msgid "Account deleted" msgstr "Kontot raderat" -#: src/page/admin/users.vue:335 +#: src/page/admin/users.vue:337 msgid "Account restored" msgstr "Konto återställt" @@ -157,8 +157,8 @@ msgstr "Åtgärd" msgid "Actions" msgstr "Åtgärder" -#: src/page/connect.vue:294 src/component/settings/passcode.vue:346 -#: src/page/connect.vue:303 +#: src/page/connect.vue:296 src/component/settings/passcode.vue:349 +#: src/page/connect.vue:305 msgid "Activate" msgstr "Aktivera" @@ -174,20 +174,20 @@ msgstr "Aktivera för att sortera stigande." msgid "Activate to sort descending." msgstr "Aktivera för att sortera fallande." -#: src/page/connect.vue:231 src/page/connect.vue:240 +#: src/page/connect.vue:233 src/page/connect.vue:242 msgid "Activation Code" msgstr "Aktiveringskod" -#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:83 -#: src/component/settings/apps.vue:448 +#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:92 +#: src/component/settings/apps.vue:451 msgid "Add" msgstr "Lägg till" -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:246 msgid "Add %{s}?" msgstr "Lägg till %{s}?" -#: src/component/user/add/dialog.vue:56 src/component/service/add.vue:49 +#: src/component/user/add/dialog.vue:57 src/component/service/add.vue:50 msgid "Add Account" msgstr "Redigera konto" @@ -204,8 +204,8 @@ msgid "Add Link" msgstr "Lägg till en länk" #: src/component/photo/edit/people.vue:25 -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:57 -#: src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:57 +#: src/page/people/new.vue:246 msgid "Add person?" msgstr "Lägga till person?" @@ -221,10 +221,15 @@ msgstr "Lägg till bilder från sökresultaten genom att markera dem." msgid "Add to album" msgstr "Lägg till i album" -#: src/component/photo/edit/files.vue:514 +#: src/component/photo/edit/files.vue:516 msgid "Added" msgstr "Tillagd" +#: src/component/location/dialog.vue:68 src/component/location/dialog.vue:90 +#: src/component/photo/edit/details.vue:246 +msgid "Adjust Location" +msgstr "Justera plats" + #: src/options/admin.js:6 src/options/auth.js:6 msgid "Admin" msgstr "Admin" @@ -245,7 +250,7 @@ msgstr "Efter 3 dagar" msgid "After 7 days" msgstr "Efter 7 dagar" -#: src/component/settings/passcode.vue:93 +#: src/component/settings/passcode.vue:96 msgid "After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:" msgstr "När du har angivit ditt lösenord för bekräftelse, kan du ställa in tvåfaktorsautentisering med en kompatibel autentiseringsapp eller enhet." @@ -277,12 +282,16 @@ msgstr "Album" msgid "Album Backups" msgstr "Säkerhetskopiering av album" -#: src/page/albums.vue:674 +#: src/page/albums.vue:685 msgid "Album created" msgstr "Album skapat" -#: src/app/routes.js:176 src/component/album/toolbar.vue:51 -#: src/component/navigation.vue:604 src/component/navigation.vue:1882 +#: src/page/album/photos.vue:589 +msgid "Album deleted" +msgstr "Albumet raderat" + +#: src/app/routes.js:184 src/component/album/toolbar.vue:55 +#: src/component/navigation.vue:607 src/component/navigation.vue:1922 #: src/component/photo/edit/info.vue:220 src/options/options.js:198 msgid "Albums" msgstr "Album" @@ -295,7 +304,7 @@ msgstr "Album raderade" msgid "All" msgstr "Alla" -#: src/page/albums.vue:465 +#: src/page/albums.vue:470 msgid "All %{n} albums loaded" msgstr "Alla %{n} album hämtade" @@ -311,8 +320,8 @@ msgstr "Alla %{n} personer hämtade" msgid "All Cameras" msgstr "Alla kameror" -#: src/component/photo/toolbar.vue:74 src/page/albums.vue:44 -#: src/page/albums.vue:240 src/page/albums.vue:746 +#: src/component/photo/toolbar.vue:74 src/page/albums.vue:45 +#: src/page/albums.vue:242 src/page/albums.vue:757 msgid "All Categories" msgstr "Alla kategorier" @@ -344,7 +353,7 @@ msgstr "Alla månader" msgid "All originals" msgstr "Alla original" -#: src/component/photo/toolbar.vue:76 src/page/albums.vue:93 +#: src/component/photo/toolbar.vue:76 src/page/albums.vue:94 msgid "All Years" msgstr "Alla år" @@ -356,7 +365,7 @@ msgstr "Alternativt kan du ladda upp filer direkt till WebDAV-servrar som Nextcl msgid "Altitude" msgstr "Höjd" -#: src/component/photo/edit/details.vue:272 +#: src/component/photo/edit/details.vue:297 msgid "Altitude (m)" msgstr "Höjd (meter)" @@ -364,8 +373,7 @@ msgstr "Höjd (meter)" msgid "AM" msgstr "AM" -#: src/app/routes.js:257 src/component/navigation.vue:791 -#: src/component/photo/edit/files.vue:364 +#: src/app/routes.js:265 src/component/photo/edit/files.vue:364 #: src/component/photo/view/cards.vue:327 #: src/component/photo/view/cards.vue:511 src/component/photo/view/list.vue:184 #: src/component/photo/view/mosaic.vue:171 src/options/options.js:301 @@ -376,43 +384,47 @@ msgstr "Animerad" msgid "Animation" msgstr "Animering" +#: src/component/navigation.vue:797 +msgid "Animations" +msgstr "Animationer" + #: src/component/share/dialog.vue:207 msgid "Any private photos and videos remain private and won't be shared." msgstr "Alla privata fotografier och videofilmer är privata och kommer inte att delas." -#: src/component/service/edit.vue:372 +#: src/component/service/edit.vue:373 msgid "API Key" msgstr "API-nyckel" -#: src/page/admin/sessions.vue:357 src/options/auth.js:25 +#: src/page/admin/sessions.vue:361 src/options/auth.js:26 msgid "Application" msgstr "Tillämpning" -#: src/component/photo/edit/details.vue:641 +#: src/component/photo/edit/details.vue:615 msgid "Apply" msgstr "Spara" #: src/component/photo/clipboard.vue:64 -#: src/component/photo/edit/details.vue:640 +#: src/component/photo/edit/details.vue:614 #: src/component/photo/view/cards.vue:416 msgid "Approve" msgstr "Godkänn" -#: src/page/settings/account.vue:374 src/component/settings/apps.vue:91 +#: src/page/settings/account.vue:378 src/component/settings/apps.vue:94 msgid "Apps and Devices" msgstr "Appar och enheter" -#: src/app/routes.js:287 src/component/lightbox.vue:1207 -#: src/component/navigation.vue:555 src/component/photo/clipboard.vue:142 +#: src/app/routes.js:295 src/component/lightbox.vue:1207 +#: src/component/navigation.vue:557 src/component/photo/clipboard.vue:142 #: src/component/photo/view/cards.vue:398 src/page/settings/general.vue:432 msgid "Archive" msgstr "Arkiv" -#: src/component/lightbox.vue:1982 src/component/photo/edit/info.vue:433 +#: src/component/lightbox.vue:2002 src/component/photo/edit/info.vue:433 msgid "Archived" msgstr "Arkiverad" -#: src/component/photo/archive/dialog.vue:34 +#: src/component/photo/archive/dialog.vue:35 msgid "Are you sure you want to archive the selection?" msgstr "Är du säker på att du vill arkivera urvalet?" @@ -420,19 +432,23 @@ msgstr "Är du säker på att du vill arkivera urvalet?" msgid "Are you sure you want to delete these albums?" msgstr "Är du säker på att du vill radera detta/dessa album?" -#: src/component/label/delete/dialog.vue:34 +#: src/component/label/delete/dialog.vue:35 msgid "Are you sure you want to delete these labels?" msgstr "Är du säker på att du vill ta bort dessa etiketter?" -#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:36 +#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:37 msgid "Are you sure you want to delete this account?" msgstr "Är du säker på att du vill radera det här kontot?" +#: src/component/album/toolbar.vue:136 +msgid "Are you sure you want to delete this album?" +msgstr "Är du säker på att du vill radera det här albumet?" + #: src/component/photo/clipboard.vue:199 msgid "Are you sure you want to permanently delete these pictures?" msgstr "Är du säker på att du vill radera bilderna permanent?" -#: src/component/file/delete/dialog.vue:34 +#: src/component/file/delete/dialog.vue:35 msgid "Are you sure you want to permanently delete this file?" msgstr "Är du säker på att du vill radera filen permanent?" @@ -441,7 +457,7 @@ msgstr "Är du säker på att du vill radera filen permanent?" msgid "Are you sure?" msgstr "Är du säker?" -#: src/component/photo/edit/details.vue:537 +#: src/component/photo/edit/details.vue:511 msgid "Artist" msgstr "Fotograf" @@ -449,14 +465,14 @@ msgstr "Fotograf" msgid "Aspect Ratio" msgstr "Bildförhållande" -#: src/app/routes.js:250 src/component/navigation.vue:770 +#: src/app/routes.js:258 src/component/navigation.vue:776 #: src/options/options.js:297 msgid "Audio" msgstr "Ljud" -#: src/component/user/add/dialog.vue:190 src/component/user/edit/dialog.vue:309 -#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:281 -#: src/page/admin/users.vue:75 +#: src/component/user/add/dialog.vue:191 src/component/user/edit/dialog.vue:310 +#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:282 +#: src/page/admin/users.vue:77 msgid "Authentication" msgstr "Autentisering" @@ -464,11 +480,11 @@ msgstr "Autentisering" msgid "Auto" msgstr "Auto" -#: src/component/settings/apps.vue:151 +#: src/component/settings/apps.vue:154 msgid "Back" msgstr "Tillbaka" -#: src/component/scroll.vue:20 +#: src/component/scroll.vue:18 msgid "Back to top" msgstr "Tillbaka till början" @@ -480,26 +496,26 @@ msgstr "Säkerhetskopiering" msgid "Badge" msgstr "Badge" -#: src/component/user/edit/dialog.vue:361 #: src/component/user/edit/dialog.vue:362 +#: src/component/user/edit/dialog.vue:363 msgid "Base Path" msgstr "Basbana" -#: src/page/about/about.vue:95 src/page/connect.vue:220 +#: src/page/about/about.vue:96 src/page/connect.vue:222 msgid "Become a member today, support our mission and enjoy our member benefits!" msgstr "Bli medlem i dag, stöd vårt uppdrag och ta del av våra medlemsförmåner!" -#: src/component/confirm/sponsor.vue:51 src/page/about/about.vue:99 +#: src/component/confirm/sponsor.vue:52 src/page/about/about.vue:100 msgid "Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services." msgstr "Eftersom vi är 100 % självfinansierade och oberoende kan vi lova dig att vi aldrig kommer att sälja dina uppgifter och att vi alltid kommer att vara transparenta när det gäller vår programvara och våra tjänster." -#: src/component/user/edit/dialog.vue:258 -#: src/component/user/edit/dialog.vue:259 src/page/settings/account.vue:227 +#: src/component/user/edit/dialog.vue:259 +#: src/component/user/edit/dialog.vue:260 src/page/settings/account.vue:227 #: src/page/settings/account.vue:228 msgid "Bio" msgstr "Bio" -#: src/page/settings/account.vue:431 +#: src/page/settings/account.vue:437 msgid "Birth Date" msgstr "Födelsedatum" @@ -520,7 +536,7 @@ msgid "Brown" msgstr "Brun" #: src/component/photo/edit/files.vue:263 src/component/photo/toolbar.vue:141 -#: src/component/upload/dialog.vue:240 +#: src/component/upload/dialog.vue:242 msgid "Browse" msgstr "Bläddra" @@ -548,16 +564,16 @@ msgstr "Felrapport" msgid "Busy, please wait…" msgstr "Upptagen, vänligen vänta…" -#: src/page/connect.vue:317 +#: src/page/connect.vue:319 msgid "By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct." msgstr "Genom att använda den programvara och de tjänster som vi tillhandahåller godkänner du våra användarvillkor, vår sekretesspolicy och vår uppförandekod." -#: src/app/routes.js:189 src/component/navigation.vue:1081 +#: src/app/routes.js:197 src/component/navigation.vue:1097 #: src/options/options.js:204 src/page/settings/general.vue:205 msgid "Calendar" msgstr "Kalender" -#: src/component/photo/edit/details.vue:346 src/component/photo/toolbar.vue:232 +#: src/component/photo/edit/details.vue:320 src/component/photo/toolbar.vue:234 #: src/component/photo/view/cards.vue:467 src/component/photo/view/list.vue:116 msgid "Camera" msgstr "Kamera" @@ -570,12 +586,12 @@ msgstr "Serienummer på kameran" msgid "Can't access your authenticator app or device?" msgstr "Kan du inte komma åt din autentiseringsapp eller enhet?" -#: src/page/album/photos.vue:317 src/page/photos.vue:450 +#: src/page/album/photos.vue:322 src/page/photos.vue:455 msgid "Can't load more, limit reached" msgstr "Kan inte hämta mer, gränsen är nådd" #: src/common/clipboard.js:102 src/common/clipboard.js:139 -#: src/page/albums.vue:684 src/page/albums.vue:700 src/page/labels.vue:293 +#: src/page/albums.vue:695 src/page/albums.vue:711 src/page/labels.vue:293 #: src/page/labels.vue:313 src/page/library/browse.vue:233 #: src/page/library/browse.vue:249 src/page/people/new.vue:278 #: src/page/people/new.vue:294 src/page/people/recognized.vue:305 @@ -584,26 +600,31 @@ msgid "Can't select more items" msgstr "Kan inte välja fler objekt" #: src/component/session/remove/dialog.vue:45 -#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:473 -#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:119 +#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:474 +#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:120 #: src/component/album/delete/dialog.vue:43 -#: src/component/album/edit/dialog.vue:199 src/component/confirm/dialog.vue:43 -#: src/component/file/delete/dialog.vue:47 -#: src/component/label/delete/dialog.vue:47 -#: src/component/label/edit/dialog.vue:107 -#: src/component/people/edit/dialog.vue:120 +#: src/component/album/edit/dialog.vue:200 src/component/confirm/dialog.vue:43 +#: src/component/file/delete/dialog.vue:48 +#: src/component/label/delete/dialog.vue:48 +#: src/component/label/edit/dialog.vue:108 +#: src/component/location/dialog.vue:200 +#: src/component/people/edit/dialog.vue:121 #: src/component/photo/album/dialog.vue:78 src/component/service/add.vue:19 -#: src/component/service/edit.vue:455 src/component/service/remove.vue:49 -#: src/component/service/upload.vue:117 src/component/settings/apps.vue:352 -#: src/component/settings/passcode.vue:249 -#: src/component/settings/passcode.vue:333 -#: src/component/settings/password.vue:159 src/component/share/dialog.vue:28 -#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:123 +#: src/component/service/edit.vue:456 src/component/service/remove.vue:50 +#: src/component/service/upload.vue:118 src/component/settings/apps.vue:355 +#: src/component/settings/passcode.vue:252 +#: src/component/settings/passcode.vue:336 +#: src/component/settings/password.vue:160 src/component/share/dialog.vue:28 +#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:124 #: src/page/library/import.vue:119 src/page/library/index.vue:128 msgid "Cancel" msgstr "Avbryt" -#: src/component/photo/edit/details.vue:87 src/component/photo/edit/info.vue:61 +#: src/common/util.js:863 src/common/util.js:870 +msgid "Cannot copy to clipboard" +msgstr "Det går inte att kopiera till urklipp" + +#: src/component/photo/edit/details.vue:89 src/component/photo/edit/info.vue:63 #: src/component/photo/edit/labels.vue:42 #: src/component/photo/view/cards.vue:445 src/component/sidebar/info.vue:72 msgid "Caption" @@ -617,17 +638,17 @@ msgstr "Kort" msgid "Carousel slide {0} of {1}" msgstr "Karusellbild {0} av {1}" -#: src/page/about/feedback.vue:82 src/page/about/feedback.vue:83 -#: src/component/album/edit/dialog.vue:128 src/component/photo/toolbar.vue:397 +#: src/page/about/feedback.vue:83 src/page/about/feedback.vue:84 +#: src/component/album/edit/dialog.vue:129 src/component/photo/toolbar.vue:399 #: src/page/albums.vue:187 msgid "Category" msgstr "Kategori" -#: src/component/user/edit/dialog.vue:191 src/page/settings/account.vue:201 +#: src/component/user/edit/dialog.vue:192 src/page/settings/account.vue:201 msgid "Change Avatar" msgstr "Ändra Avatar" -#: src/page/settings/account.vue:297 src/component/settings/password.vue:48 +#: src/page/settings/account.vue:297 src/component/settings/password.vue:49 msgid "Change Password" msgstr "Nytt lösenord" @@ -644,17 +665,17 @@ msgid "Change private flag" msgstr "Ändra den privata flaggan" #: src/component/user/add/dialog.vue:108 src/component/user/add/dialog.vue:113 -#: src/component/user/edit/dialog.vue:90 src/component/user/edit/dialog.vue:95 +#: src/component/user/edit/dialog.vue:91 src/component/user/edit/dialog.vue:96 #: src/page/settings/account.vue:121 src/page/settings/account.vue:126 msgid "Changes could not be saved" msgstr "Ändringarna kunde inte sparas" -#: src/component/user/edit/dialog.vue:83 src/component/user/edit/dialog.vue:159 +#: src/component/user/edit/dialog.vue:84 src/component/user/edit/dialog.vue:160 #: src/component/album/edit/dialog.vue:73 -#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1941 +#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1961 #: src/component/photo/edit/files.vue:162 src/component/service/edit.vue:90 #: src/component/share/dialog.vue:92 src/component/share/dialog.vue:111 -#: src/page/albums.vue:677 src/page/people/recognized.vue:119 +#: src/page/albums.vue:688 src/page/people/recognized.vue:119 #: src/page/settings/advanced.vue:62 src/page/settings/content.vue:62 #: src/page/settings/general.vue:108 msgid "Changes successfully saved" @@ -668,7 +689,7 @@ msgstr "Ändringar av de avancerade inställningarna kräver en omstart för att msgid "Checked" msgstr "Kontrollerad" -#: src/component/photo/edit/files.vue:495 +#: src/component/photo/edit/files.vue:497 msgid "Chroma" msgstr "Chroma" @@ -684,24 +705,24 @@ msgstr "Rengöring" msgid "Clear {0}" msgstr "Rensa {0}" -#: src/options/auth.js:11 src/options/auth.js:23 src/options/auth.js:43 +#: src/options/auth.js:12 src/options/auth.js:24 src/options/auth.js:44 msgid "Client" msgstr "Kund" -#: src/options/auth.js:24 +#: src/options/auth.js:25 msgid "Client Credentials" msgstr "Klientens autentiseringsuppgifter" -#: src/page/admin/sessions.vue:529 src/component/lightbox.vue:284 -#: src/component/lightbox.vue:1009 src/component/lightbox.vue:1010 -#: src/component/photo/edit/details.vue:627 src/component/photo/toolbar.vue:160 -#: src/component/settings/apps.vue:224 src/component/settings/apps.vue:437 -#: src/component/settings/passcode.vue:148 -#: src/component/settings/passcode.vue:456 -#: src/component/settings/passcode.vue:497 -#: src/component/settings/webdav.vue:131 src/component/share/dialog.vue:231 +#: src/component/user/edit/dialog.vue:474 src/page/admin/sessions.vue:536 +#: src/component/lightbox.vue:284 src/component/lightbox.vue:1009 +#: src/component/lightbox.vue:1010 src/component/photo/edit/details.vue:601 +#: src/component/photo/toolbar.vue:161 src/component/settings/apps.vue:227 +#: src/component/settings/apps.vue:440 src/component/settings/passcode.vue:151 +#: src/component/settings/passcode.vue:459 +#: src/component/settings/passcode.vue:500 +#: src/component/settings/webdav.vue:132 src/component/share/dialog.vue:231 #: src/component/sidebar/info.vue:26 src/component/update.vue:57 -#: src/component/upload/dialog.vue:228 src/locales.js:206 +#: src/component/upload/dialog.vue:230 src/locales.js:206 #: src/page/library/errors.vue:253 msgid "Close" msgstr "Stäng" @@ -710,11 +731,11 @@ msgstr "Stäng" msgid "Codec" msgstr "Codec" -#: src/component/photo/toolbar.vue:369 +#: src/component/photo/toolbar.vue:371 msgid "Color" msgstr "Färg" -#: src/component/photo/edit/files.vue:483 +#: src/component/photo/edit/files.vue:485 msgid "Color Profile" msgstr "Färgprofil" @@ -722,7 +743,7 @@ msgstr "Färgprofil" msgid "Colors" msgstr "Färger" -#: src/page/connect.vue:260 src/page/connect.vue:269 +#: src/page/connect.vue:262 src/page/connect.vue:271 msgid "Compare Editions" msgstr "Jämför utgåvor" @@ -735,17 +756,18 @@ msgstr "Fullständig omskanning" msgid "Confidence" msgstr "Tillit" +#: src/component/location/dialog.vue:212 #: src/component/photo/album/dialog.vue:90 -#: src/component/settings/passcode.vue:261 +#: src/component/settings/passcode.vue:264 msgid "Confirm" msgstr "Bekräfta" -#: src/component/service/add.vue:20 src/page/settings/services.vue:187 +#: src/component/service/add.vue:20 src/page/settings/services.vue:191 msgid "Connect" msgstr "Anslut" -#: src/page/settings/account.vue:401 src/component/settings/webdav.vue:45 -#: src/page/settings/services.vue:167 +#: src/page/settings/account.vue:406 src/component/settings/webdav.vue:46 +#: src/page/settings/services.vue:170 msgid "Connect via WebDAV" msgstr "Anslut via WebDAV" @@ -753,22 +775,22 @@ msgstr "Anslut via WebDAV" msgid "Connected" msgstr "Anslut" -#: src/page/settings/account.vue:640 src/page/settings/account.vue:532 +#: src/page/settings/account.vue:646 src/page/settings/account.vue:538 msgid "Contact Details" msgstr "Adressuppgifter" -#: src/page/about/feedback.vue:37 src/page/connect.vue:132 -#: src/page/connect.vue:136 +#: src/page/about/feedback.vue:37 src/page/connect.vue:133 +#: src/page/connect.vue:137 msgid "Contact Us" msgstr "Kontakta oss" #: src/page/albums.vue:433 src/page/labels.vue:237 -#: src/page/people/recognized.vue:306 +#: src/page/people/recognized.vue:310 msgid "Contains %{n} pictures." msgstr "Innehåller %{n} bilder." #: src/page/albums.vue:427 src/page/labels.vue:231 -#: src/page/people/recognized.vue:300 +#: src/page/people/recognized.vue:304 msgid "Contains one picture." msgstr "Innehåller en bild." @@ -776,7 +798,7 @@ msgstr "Innehåller en bild." msgid "Content" msgstr "Innehåll" -#: src/component/settings/apps.vue:163 +#: src/component/settings/apps.vue:166 msgid "Continue" msgstr "Fortsätta" @@ -784,7 +806,7 @@ msgstr "Fortsätta" msgid "Continue with %{provider}" msgstr "Fortsätt med %{provider}" -#: src/options/admin.js:18 src/options/auth.js:9 +#: src/options/admin.js:22 src/options/auth.js:10 msgid "Contributor" msgstr "Bidragsgivare" @@ -792,15 +814,15 @@ msgstr "Bidragsgivare" msgid "Converting" msgstr "Konverterar" -#: src/common/util.js:846 +#: src/common/util.js:856 msgid "Copied to clipboard" msgstr "Kopierad till urklippshanteraren" -#: src/component/settings/apps.vue:250 src/component/settings/passcode.vue:358 +#: src/component/settings/apps.vue:253 src/component/settings/passcode.vue:361 msgid "Copy" msgstr "Kopiera" -#: src/component/photo/edit/details.vue:516 +#: src/component/photo/edit/details.vue:490 msgid "Copyright" msgstr "Copyright" @@ -808,8 +830,8 @@ msgstr "Copyright" msgid "Couldn't find anything." msgstr "Kunde inte hitta något." -#: src/page/settings/account.vue:685 src/component/photo/edit/details.vue:242 -#: src/component/photo/toolbar.vue:203 src/page/settings/account.vue:577 +#: src/page/settings/account.vue:691 src/component/photo/edit/details.vue:268 +#: src/component/photo/toolbar.vue:205 src/page/settings/account.vue:583 msgid "Country" msgstr "Land" @@ -833,7 +855,7 @@ msgstr "Skapa YAML-filer för att säkerhetskopiera metadata för album." msgid "Create YAML sidecar files to back up picture metadata." msgstr "Skapa YAML sidecar-filer för att säkerhetskopiera metadata för bilder." -#: src/page/admin/sessions.vue:417 src/component/photo/edit/info.vue:412 +#: src/page/admin/sessions.vue:422 src/component/photo/edit/info.vue:412 msgid "Created" msgstr "Skapad" @@ -845,11 +867,11 @@ msgstr "Skapar miniatyrbilder för" msgid "Cubic: Moderate Quality, Good Performance" msgstr "Kubisk: Måttlig kvalitet, bra prestanda" -#: src/component/settings/password.vue:85 +#: src/component/settings/password.vue:86 msgid "Current Password" msgstr "Nuvarande lösenord" -#: src/options/themes.js:919 src/options/themes.js:928 +#: src/options/themes.js:920 src/options/themes.js:929 msgid "Custom" msgstr "Anpassad" @@ -865,11 +887,11 @@ msgstr "Dagligen" msgid "Database Backups" msgstr "Säkerhetskopiering av databaser" -#: src/page/settings/account.vue:450 src/component/photo/edit/details.vue:110 +#: src/page/settings/account.vue:456 src/component/photo/edit/details.vue:112 msgid "Day" msgstr "Dag" -#: src/component/settings/passcode.vue:445 +#: src/component/settings/passcode.vue:448 msgid "Deactivate" msgstr "Avaktivera" @@ -877,36 +899,40 @@ msgstr "Avaktivera" msgid "Debug Logs" msgstr "Felsökningsloggar" -#: src/options/admin.js:31 src/page/admin/sessions.vue:136 -#: src/page/admin/users.vue:176 src/component/photo/edit/info.vue:47 +#: src/options/admin.js:35 src/page/admin/sessions.vue:136 +#: src/page/admin/users.vue:178 src/component/photo/edit/info.vue:47 #: src/component/photo/edit/info.vue:110 src/model/session.js:66 -#: src/model/user.js:246 src/options/auth.js:20 src/options/auth.js:21 -#: src/options/auth.js:39 src/options/auth.js:40 src/options/options.js:196 +#: src/model/user.js:246 src/options/auth.js:21 src/options/auth.js:22 +#: src/options/auth.js:40 src/options/auth.js:41 src/options/options.js:196 #: src/options/options.js:232 src/options/options.js:316 -#: src/options/themes.js:773 +#: src/options/themes.js:774 msgid "Default" msgstr "Standard" -#: src/component/service/edit.vue:123 +#: src/component/service/edit.vue:124 msgid "Default Folder" msgstr "Standardmapp" #: src/component/session/remove/dialog.vue:56 #: src/component/user/remove/dialog.vue:56 src/component/album/clipboard.vue:97 -#: src/component/album/delete/dialog.vue:54 -#: src/component/file/delete/dialog.vue:58 src/component/label/clipboard.vue:58 -#: src/component/label/delete/dialog.vue:58 +#: src/component/album/delete/dialog.vue:54 src/component/album/toolbar.vue:137 +#: src/component/file/delete/dialog.vue:59 src/component/label/clipboard.vue:58 +#: src/component/label/delete/dialog.vue:59 #: src/component/photo/clipboard.vue:168 src/component/photo/edit/files.vue:238 -#: src/component/service/remove.vue:60 src/component/share/dialog.vue:170 +#: src/component/service/remove.vue:61 src/component/share/dialog.vue:170 #: src/page/settings/general.vue:457 msgid "Delete" msgstr "Radera" +#: src/component/album/toolbar.vue:133 +msgid "Delete Album" +msgstr "Radera album" + #: src/component/photo/toolbar.vue:119 src/page/library/errors.vue:95 msgid "Delete All" msgstr "Radera alla" -#: src/component/photo/toolbar.vue:433 src/page/library/errors.vue:193 +#: src/component/photo/toolbar.vue:435 src/page/library/errors.vue:193 msgid "Delete all?" msgstr "Radera alla?" @@ -914,16 +940,16 @@ msgstr "Radera alla?" msgid "Delete orphaned index entries, sidecar files and thumbnails." msgstr "Ta bort övergivna indexposter, sidecar-filer och miniatyrbilder." -#: src/component/album/edit/dialog.vue:107 src/page/albums.vue:411 +#: src/component/album/edit/dialog.vue:108 src/page/albums.vue:411 msgid "Description" msgstr "Beskrivning" -#: src/component/settings/webdav.vue:115 +#: src/component/settings/webdav.vue:116 msgid "Detailed instructions can be found in our User Guide." msgstr "Detaljerade instruktioner finns i vår användarhandbok." -#: src/component/photo/edit/dialog.vue:156 -#: src/component/photo/edit/dialog.vue:173 +#: src/component/photo/edit/dialog.vue:162 +#: src/component/photo/edit/dialog.vue:181 msgid "Details" msgstr "Detaljer" @@ -987,8 +1013,8 @@ msgstr "Inaktiverar stöd för vektorgrafik." msgid "Disables video transcoding and thumbnail extraction." msgstr "Inaktiverar omkodning av video och utvinning av miniatyrbilder." -#: src/app/routes.js:558 src/app/routes.js:565 src/app/routes.js:572 -#: src/app/routes.js:579 +#: src/app/routes.js:566 src/app/routes.js:573 src/app/routes.js:580 +#: src/app/routes.js:587 msgid "Discover" msgstr "Upptäck" @@ -996,9 +1022,9 @@ msgstr "Upptäck" msgid "Dismiss" msgstr "Avvisa" -#: src/component/user/add/dialog.vue:133 src/component/user/add/dialog.vue:134 -#: src/component/user/edit/dialog.vue:163 -#: src/component/user/edit/dialog.vue:164 src/page/admin/users.vue:72 +#: src/component/user/add/dialog.vue:134 src/component/user/add/dialog.vue:135 +#: src/component/user/edit/dialog.vue:164 +#: src/component/user/edit/dialog.vue:165 src/page/admin/users.vue:74 #: src/page/settings/account.vue:149 src/page/settings/account.vue:151 msgid "Display Name" msgstr "Visningsnamn" @@ -1013,12 +1039,12 @@ msgstr "Visa bildtitlar i sökresultaten." #: src/component/photo/view/cards.vue:339 #: src/component/photo/view/cards.vue:521 -#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:174 +#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:176 #: src/options/options.js:309 msgid "Document" msgstr "Dokument" -#: src/component/navigation.vue:480 +#: src/component/navigation.vue:482 msgid "Documents" msgstr "Dokument" @@ -1034,16 +1060,16 @@ msgstr "Använd inte ImageMagick för att konvertera bilder." msgid "Don't use RawTherapee to convert RAW images." msgstr "Använd inte RawTherapee för att konvertera RAW-bilder." -#: src/component/settings/apps.vue:238 src/component/share/dialog.vue:29 +#: src/component/settings/apps.vue:241 src/component/share/dialog.vue:29 msgid "Done" msgstr "Spara & Stäng" -#: src/component/upload/dialog.vue:135 src/page/library/import.vue:46 +#: src/component/upload/dialog.vue:137 src/page/library/import.vue:46 #: src/page/library/index.vue:52 msgid "Done." msgstr "Klart." -#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:118 +#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:123 #: src/component/file/clipboard.vue:48 src/component/lightbox.vue:1235 #: src/component/people/clipboard.vue:47 src/component/photo/clipboard.vue:116 #: src/component/photo/edit/files.vue:168 src/page/settings/content.vue:331 @@ -1055,7 +1081,7 @@ msgstr "Ladda ner" msgid "Download only original media files, without any automatically generated files." msgstr "Hämta endast originalmediefiler, utan automatiskt genererade filer." -#: src/component/service/edit.vue:237 +#: src/component/service/edit.vue:238 msgid "Download remote files" msgstr "Hämta fjärrfiler" @@ -1063,9 +1089,9 @@ msgstr "Hämta fjärrfiler" msgid "Download single files and zip archives." msgstr "Ladda ner enskilda filer och zip-arkiv." -#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:157 +#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:172 #: src/component/file/clipboard.vue:61 src/component/label/clipboard.vue:86 -#: src/component/lightbox.vue:2021 src/component/people/clipboard.vue:59 +#: src/component/lightbox.vue:2041 src/component/people/clipboard.vue:59 #: src/component/photo/clipboard.vue:220 src/component/photo/edit/files.vue:119 #: src/component/photo/view/cards.vue:169 src/component/photo/view/list.vue:142 #: src/page/library/browse.vue:139 @@ -1080,7 +1106,7 @@ msgstr "Filter för nedskalning" msgid "Drag and drop files here" msgstr "Dra och släpp filer här" -#: src/page/about/feedback.vue:61 +#: src/page/about/feedback.vue:62 msgid "Due to the high volume of emails we receive, our team may be unable to get back to you immediately." msgstr "På grund av den stora mängden e-postmeddelanden vi får kan det hända att vårt team inte kan svara dig omedelbart." @@ -1100,23 +1126,23 @@ msgstr "Dynamiska förhandsgranskningar" msgid "Dynamic Size Limit: %{n}px" msgstr "Begränsning av dynamisk storlek: %{n}px" -#: src/page/about/feedback.vue:141 src/page/about/feedback.vue:140 +#: src/page/about/feedback.vue:142 src/page/about/feedback.vue:141 msgid "E-Mail" msgstr "E-postadress" -#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:89 +#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:94 #: src/component/lightbox.vue:1136 src/component/lightbox.vue:1137 #: src/component/photo/clipboard.vue:90 src/page/settings/general.vue:407 msgid "Edit" msgstr "Redigera" -#: src/component/album/edit/dialog.vue:54 -#: src/component/label/edit/dialog.vue:52 -#: src/component/people/edit/dialog.vue:52 +#: src/component/album/edit/dialog.vue:55 +#: src/component/label/edit/dialog.vue:53 +#: src/component/people/edit/dialog.vue:53 msgid "Edit %{s}" msgstr "Redigera %{s}" -#: src/component/user/edit/dialog.vue:61 src/component/service/edit.vue:79 +#: src/component/user/edit/dialog.vue:62 src/component/service/edit.vue:79 msgid "Edit Account" msgstr "Redigera konto" @@ -1128,8 +1154,8 @@ msgstr "Redigera foto" msgid "Edited" msgstr "Senast ändrad" -#: src/component/user/add/dialog.vue:151 src/component/user/edit/dialog.vue:213 -#: src/page/settings/account.vue:171 src/page/settings/account.vue:593 +#: src/component/user/add/dialog.vue:152 src/component/user/edit/dialog.vue:214 +#: src/page/settings/account.vue:171 src/page/settings/account.vue:599 msgid "Email" msgstr "E-postadress" @@ -1145,7 +1171,7 @@ msgstr "Möjliggör nya funktioner som kan vara ofullständiga eller instabila." msgid "Enables RAW converter presets. May reduce performance." msgstr "Aktiverar förinställningar för RAW-omvandlare. Kan minska prestandan." -#: src/component/settings/passcode.vue:127 +#: src/component/settings/passcode.vue:130 msgid "Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account." msgstr "Att aktivera tvåfaktorsautentisering innebär att du behöver en slumpmässigt genererad verifieringskod för att logga in, så även om någon får tillgång till ditt lösenord kommer de inte att kunna komma åt ditt konto." @@ -1157,7 +1183,7 @@ msgstr "Ange datum" msgid "Enter dates" msgstr "Ange datum" -#: src/component/settings/passcode.vue:213 src/page/auth/login.vue:104 +#: src/component/settings/passcode.vue:216 src/page/auth/login.vue:104 msgid "Enter the code generated by your authenticator app:" msgstr "Ange den kod som genereras av din autentiseringsapp:" @@ -1165,7 +1191,7 @@ msgstr "Ange den kod som genereras av din autentiseringsapp:" msgid "Enter verification code" msgstr "Ange verifieringskod" -#: src/component/settings/apps.vue:109 +#: src/component/settings/apps.vue:112 msgid "Enter your password to confirm the action and continue:" msgstr "Ange ditt lösenord för att bekräfta åtgärden och fortsätt:" @@ -1174,7 +1200,7 @@ msgstr "Ange ditt lösenord för att bekräfta åtgärden och fortsätt:" msgid "Error" msgstr "Fel" -#: src/app/routes.js:374 src/component/navigation.vue:1348 +#: src/app/routes.js:382 src/component/navigation.vue:1372 msgid "Errors" msgstr "Fel" @@ -1210,13 +1236,13 @@ msgstr "Metadataextraktion med ExifTool krävs för fullt stöd för Video, Live msgid "Experimental Features" msgstr "Experimentella funktioner" -#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:453 -#: src/component/service/edit.vue:157 src/component/settings/apps.vue:73 -#: src/component/settings/apps.vue:326 src/component/share/dialog.vue:62 +#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:458 +#: src/component/service/edit.vue:158 src/component/settings/apps.vue:73 +#: src/component/settings/apps.vue:329 src/component/share/dialog.vue:62 msgid "Expires" msgstr "Upphör att gälla" -#: src/component/photo/edit/details.vue:396 +#: src/component/photo/edit/details.vue:370 msgid "Exposure" msgstr "Exponering" @@ -1224,7 +1250,7 @@ msgstr "Exponering" msgid "Extract still images and generate thumbnails while indexing." msgstr "Extrahera stillbilder och skapa miniatyrbilder under indexeringen." -#: src/component/photo/edit/details.vue:444 +#: src/component/photo/edit/details.vue:418 msgid "F Number" msgstr "F-nummer" @@ -1240,7 +1266,7 @@ msgstr "Ansikten" msgid "Failed removing link" msgstr "Misslyckades med att ta bort länken" -#: src/page/connect.vue:106 src/page/connect.vue:110 +#: src/page/connect.vue:107 src/page/connect.vue:111 msgid "Failed to connect account." msgstr "Misslyckades med att ansluta konto." @@ -1248,8 +1274,8 @@ msgstr "Misslyckades med att ansluta konto." msgid "Failed updating link" msgstr "Misslyckades med att uppdatera länken" -#: src/component/user/edit/dialog.vue:143 -#: src/component/user/edit/dialog.vue:144 src/page/settings/account.vue:128 +#: src/component/user/edit/dialog.vue:144 +#: src/component/user/edit/dialog.vue:145 src/page/settings/account.vue:128 #: src/page/settings/account.vue:130 msgid "Family Name" msgstr "Efternamn" @@ -1258,15 +1284,15 @@ msgstr "Efternamn" msgid "Fast" msgstr "Snabbt" -#: src/component/album/edit/dialog.vue:159 -#: src/component/label/edit/dialog.vue:85 -#: src/component/people/edit/dialog.vue:85 +#: src/component/album/edit/dialog.vue:160 +#: src/component/label/edit/dialog.vue:86 +#: src/component/people/edit/dialog.vue:86 #: src/component/photo/edit/info.vue:287 msgid "Favorite" msgstr "Favorit" -#: src/app/routes.js:222 src/component/navigation.vue:893 -#: src/options/options.js:202 src/page/albums.vue:97 +#: src/app/routes.js:230 src/component/navigation.vue:903 +#: src/options/options.js:202 src/page/albums.vue:98 msgid "Favorites" msgstr "Favoriter" @@ -1274,7 +1300,7 @@ msgstr "Favoriter" msgid "Feature Request" msgstr "Begäran om funktion" -#: src/component/navigation.vue:1456 +#: src/component/navigation.vue:1482 msgid "Feedback" msgstr "Återkoppling" @@ -1282,11 +1308,12 @@ msgstr "Återkoppling" msgid "Female" msgstr "Kvinna" -#: src/component/photo/edit/info.vue:214 src/model/file.js:290 +#: src/component/photo/edit/info.vue:57 src/component/photo/edit/info.vue:214 +#: src/model/file.js:290 msgid "File" msgstr "Fil" -#: src/app/routes.js:343 +#: src/app/routes.js:351 msgid "File Browser" msgstr "Filhanterare" @@ -1309,8 +1336,8 @@ msgstr "Fil" msgid "Filename" msgstr "Filnamn" -#: src/component/navigation.vue:1930 src/component/photo/edit/dialog.vue:267 -#: src/component/photo/edit/dialog.vue:284 +#: src/component/navigation.vue:1973 src/component/photo/edit/dialog.vue:279 +#: src/component/photo/edit/dialog.vue:298 msgid "Files" msgstr "Filer" @@ -1322,26 +1349,26 @@ msgstr "Filer med sekventiella namn som 'IMG_1234 (2)' och 'IMG_1234 (3)' tillh msgid "First page" msgstr "Första sidan" -#: src/component/photo/edit/details.vue:465 +#: src/component/photo/edit/details.vue:439 msgid "Focal Length" msgstr "Brännvidd" -#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:118 -#: src/component/service/edit.vue:189 src/component/service/edit.vue:194 -#: src/component/service/upload.vue:90 src/component/service/upload.vue:96 +#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:119 +#: src/component/service/edit.vue:190 src/component/service/edit.vue:195 +#: src/component/service/upload.vue:91 src/component/service/upload.vue:97 #: src/model/folder.js:199 src/page/library/browse.vue:182 msgid "Folder" msgstr "Mapp" -#: src/page/library/browse.vue:365 +#: src/page/library/browse.vue:367 msgid "Folder contains %{n} files" msgstr "Mappen innehåller %{n} filer" -#: src/page/library/browse.vue:356 +#: src/page/library/browse.vue:358 msgid "Folder is empty" msgstr "Mappen är tom" -#: src/app/routes.js:202 src/component/navigation.vue:1225 +#: src/app/routes.js:210 src/component/navigation.vue:1247 #: src/options/options.js:207 msgid "Folders" msgstr "Mappar" @@ -1358,7 +1385,7 @@ msgstr "FPS" msgid "Frames" msgstr "Bildrutor" -#: src/options/auth.js:54 src/options/auth.js:64 +#: src/options/auth.js:55 src/options/auth.js:65 msgid "Full Access" msgstr "Full tillgång" @@ -1370,7 +1397,7 @@ msgstr "Fullskärm" msgid "General" msgstr "Allmänt" -#: src/component/settings/apps.vue:364 +#: src/component/settings/apps.vue:367 msgid "Generate" msgstr "Generera" @@ -1390,8 +1417,8 @@ msgstr "Genererad" msgid "Get Started" msgstr "Kom igång" -#: src/component/user/edit/dialog.vue:120 -#: src/component/user/edit/dialog.vue:121 src/page/settings/account.vue:106 +#: src/component/user/edit/dialog.vue:121 +#: src/component/user/edit/dialog.vue:122 src/page/settings/account.vue:106 #: src/page/settings/account.vue:108 msgid "Given Name" msgstr "Förnamn" @@ -1416,7 +1443,7 @@ msgstr "Grön" msgid "Grey" msgstr "Grå" -#: src/options/admin.js:22 src/options/auth.js:10 +#: src/options/admin.js:26 src/options/auth.js:11 msgid "Guest" msgstr "Gäst" @@ -1432,15 +1459,15 @@ msgstr "Hjälp" msgid "Help & Support" msgstr "Hjälp och Support" -#: src/component/navigation.vue:1327 src/component/people/edit/dialog.vue:98 +#: src/component/navigation.vue:1351 src/component/people/edit/dialog.vue:99 msgid "Hidden" msgstr "Dolda" -#: src/app/routes.js:358 +#: src/app/routes.js:366 msgid "Hidden Files" msgstr "Dolda filer" -#: src/page/people/new.vue:165 src/page/people/recognized.vue:205 +#: src/page/people/new.vue:166 src/page/people/recognized.vue:206 msgid "Hide" msgstr "Dölj" @@ -1456,7 +1483,7 @@ msgstr "Hög" msgid "High Dynamic Range (HDR)" msgstr "Högt dynamiskt omfång (HDR)" -#: src/page/about/feedback.vue:103 +#: src/page/about/feedback.vue:104 msgid "How can we help?" msgstr "Hur kan vi hjälpa till?" @@ -1464,11 +1491,11 @@ msgstr "Hur kan vi hjälpa till?" msgid "Hybrid" msgstr "Hybrid" -#: src/component/settings/passcode.vue:389 +#: src/component/settings/passcode.vue:392 msgid "If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account." msgstr "Om du förlorar åtkomsten till din autentiseringsapp eller enhet kan du använda din återställningskod för att återfå åtkomst till ditt konto." -#: src/component/photo/edit/info.vue:63 src/component/photo/edit/labels.vue:46 +#: src/component/photo/edit/info.vue:65 src/component/photo/edit/labels.vue:46 #: src/component/photo/view/cards.vue:532 src/model/file.js:218 #: src/options/options.js:281 msgid "Image" @@ -1478,7 +1505,7 @@ msgstr "Bild" msgid "Image Quality" msgstr "Bildkvalitet" -#: src/page/library.vue:46 src/page/library/import.vue:152 +#: src/page/library.vue:46 src/page/library/import.vue:153 #: src/page/settings/general.vue:357 msgid "Import" msgstr "Import" @@ -1503,8 +1530,8 @@ msgstr "Importerar %{s}…" msgid "Importing files to originals…" msgstr "Importera filer till original…" -#: src/component/photo/edit/files.vue:515 -#: src/component/photo/edit/files.vue:520 +#: src/component/photo/edit/files.vue:517 +#: src/component/photo/edit/files.vue:522 msgid "in" msgstr "i" @@ -1522,11 +1549,11 @@ msgstr "Inkludera RAW-bildfiler när du laddar ner staplar och arkiv." msgid "Include sidecar files when downloading stacks and archives." msgstr "Inkludera sidecar-filer när du laddar ner stackar och arkiv." -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Increase storage size or delete files to continue." msgstr "Öka lagringsstorleken eller radera filer för att fortsätta." -#: src/component/navigation.vue:1946 src/page/library.vue:36 +#: src/component/navigation.vue:1990 src/page/library.vue:36 #: src/page/settings/content.vue:34 msgid "Index" msgstr "Index" @@ -1556,11 +1583,11 @@ msgstr "Information om" msgid "Instance ID" msgstr "Instans-ID" -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Insufficient storage." msgstr "Otillräcklig lagring." -#: src/component/service/edit.vue:209 +#: src/component/service/edit.vue:210 msgid "Interval" msgstr "Intervall" @@ -1581,7 +1608,7 @@ msgstr "Ogiltig adress" msgid "Invalid country" msgstr "Ogiltigt land" -#: src/component/photo/edit/details.vue:174 +#: src/component/photo/edit/details.vue:169 msgid "Invalid date" msgstr "Ogiltigt datum" @@ -1590,7 +1617,7 @@ msgstr "Ogiltigt datum" msgid "Invalid parameters" msgstr "Ogiltigt datum" -#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:197 +#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:199 msgid "Invalid photo selected" msgstr "Ett ogiltigt foto har valts" @@ -1602,8 +1629,8 @@ msgstr "Ogiltig tid" msgid "Invalid URL" msgstr "Ogiltig URL" -#: src/component/settings/passcode.vue:314 -#: src/component/settings/passcode.vue:391 +#: src/component/settings/passcode.vue:317 +#: src/component/settings/passcode.vue:394 msgid "It is a one-time use code that will disable 2FA for your account when you use it." msgstr "Det är en engångskod som kommer att inaktivera 2FA för ditt konto när du använder den." @@ -1627,7 +1654,7 @@ msgstr "Begränsning av JPEG-storlek: %{n}px" msgid "JPEGs and thumbnails are automatically rendered as needed." msgstr "JPEG-bilder och miniatyrbilder skapas automatiskt vid behov." -#: src/component/photo/edit/details.vue:581 +#: src/component/photo/edit/details.vue:555 msgid "Keywords" msgstr "Nyckelord" @@ -1636,9 +1663,9 @@ msgstr "Nyckelord" msgid "Label" msgstr "Etikett" -#: src/app/routes.js:389 src/component/navigation.vue:1177 -#: src/component/photo/edit/dialog.vue:188 -#: src/component/photo/edit/dialog.vue:205 src/options/options.js:206 +#: src/app/routes.js:397 src/component/navigation.vue:1197 +#: src/component/photo/edit/dialog.vue:196 +#: src/component/photo/edit/dialog.vue:215 src/options/options.js:206 #: src/page/settings/general.vue:255 msgid "Labels" msgstr "Etiketter" @@ -1655,11 +1682,11 @@ msgstr "Lanczos: Bevarande av detaljer, minimala artefakter" msgid "Language" msgstr "Språk" -#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:435 +#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:440 msgid "Last Active" msgstr "Senast aktiv" -#: src/page/admin/users.vue:81 +#: src/page/admin/users.vue:83 msgid "Last Login" msgstr "Senaste inloggning" @@ -1675,42 +1702,41 @@ msgstr "Senaste synkronisering" msgid "Last Used" msgstr "Senast använd" -#: src/component/photo/edit/details.vue:298 #: src/component/photo/edit/info.vue:373 msgid "Latitude" msgstr "Latitud" -#: src/options/admin.js:43 src/options/auth.js:29 +#: src/options/admin.js:47 src/options/auth.js:30 msgid "LDAP/AD" msgstr "LDAP/AD" -#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:86 -#: src/page/about/about.vue:62 src/page/about/about.vue:132 +#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:87 +#: src/page/about/about.vue:62 src/page/about/about.vue:133 #: src/page/connect.vue:67 src/page/help.vue:36 msgid "Learn more" msgstr "Läs mer" -#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:135 +#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:137 #: src/page/labels.vue:132 msgid "Learn More" msgstr "Lär dig mer" -#: src/component/navigation.vue:2017 +#: src/component/navigation.vue:2066 msgid "Legal Information" msgstr "Juridisk information" -#: src/component/photo/edit/details.vue:417 +#: src/component/photo/edit/details.vue:391 #: src/component/photo/view/cards.vue:480 msgid "Lens" msgstr "Objektiv" -#: src/app/routes.js:443 src/app/routes.js:459 src/app/routes.js:475 -#: src/component/navigation.vue:1267 src/page/settings/general.vue:507 +#: src/app/routes.js:451 src/app/routes.js:467 src/app/routes.js:483 +#: src/component/navigation.vue:1290 src/page/settings/general.vue:507 msgid "Library" msgstr "Bibliotek" #: src/page/connect.vue:45 src/app/routes.js:69 -#: src/component/navigation.vue:1478 src/component/photo/edit/details.vue:559 +#: src/component/navigation.vue:1504 src/component/photo/edit/details.vue:533 #: src/page/about/license.vue:28 msgid "License" msgstr "Licens" @@ -1723,7 +1749,7 @@ msgstr "Gilla" msgid "Lime" msgstr "Lime" -#: src/page/library/browse.vue:369 +#: src/page/library/browse.vue:371 msgid "Limit reached, showing first %{n} files" msgstr "Gränsen är nådd, visar de första %{n} filerna" @@ -1731,7 +1757,7 @@ msgstr "Gränsen är nådd, visar de första %{n} filerna" msgid "Linear: Very Smooth, Best Performance" msgstr "Linjär: Mycket jämn, bästa prestanda" -#: src/model/link.js:117 src/options/auth.js:30 src/options/auth.js:31 +#: src/model/link.js:117 src/options/auth.js:31 src/options/auth.js:32 msgid "Link" msgstr "Länk" @@ -1749,7 +1775,7 @@ msgstr "Listvy" msgid "Live" msgstr "Live" -#: src/app/routes.js:236 src/component/navigation.vue:749 +#: src/app/routes.js:244 src/component/navigation.vue:755 msgid "Live Photos" msgstr "Foton" @@ -1765,21 +1791,24 @@ msgstr "Laddar artiklar..." msgid "Loading..." msgstr "Laddar..." -#: src/options/admin.js:35 src/options/auth.js:22 src/options/auth.js:27 +#: src/options/admin.js:39 src/options/auth.js:23 src/options/auth.js:28 #: src/options/options.js:38 src/page/settings/general.vue:107 msgid "Local" msgstr "Lokal" -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Local Time" msgstr "Lokal tid" -#: src/page/settings/account.vue:665 src/page/settings/account.vue:667 -#: src/component/album/edit/dialog.vue:92 src/component/photo/edit/info.vue:65 -#: src/component/photo/edit/labels.vue:48 +#: src/page/settings/account.vue:671 src/page/settings/account.vue:673 +#: src/component/album/edit/dialog.vue:93 +#: src/component/photo/edit/details.vue:38 +#: src/component/photo/edit/details.vue:116 +#: src/component/photo/edit/details.vue:210 +#: src/component/photo/edit/info.vue:67 src/component/photo/edit/labels.vue:48 #: src/component/photo/view/cards.vue:555 src/component/photo/view/list.vue:117 -#: src/component/sidebar/info.vue:107 src/page/albums.vue:99 -#: src/page/settings/account.vue:557 src/page/settings/account.vue:559 +#: src/component/sidebar/info.vue:107 src/page/albums.vue:100 +#: src/page/settings/account.vue:563 src/page/settings/account.vue:565 msgid "Location" msgstr "Plats" @@ -1787,20 +1816,19 @@ msgstr "Plats" msgid "Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues." msgstr "Loggmeddelanden visas här när PhotoPrism stöter på trasiga filer eller när det finns andra potentiella problem." -#: src/component/navigation.vue:1552 src/component/navigation.vue:1840 +#: src/component/navigation.vue:1579 src/component/navigation.vue:1877 msgid "Login" msgstr "Logga in" -#: src/component/navigation.vue:1759 +#: src/component/navigation.vue:1791 msgid "Logout" msgstr "Logga ut" -#: src/component/navigation.vue:1962 src/page/library.vue:59 +#: src/component/navigation.vue:2007 src/page/library.vue:59 #: src/page/settings/general.vue:557 msgid "Logs" msgstr "Loggar" -#: src/component/photo/edit/details.vue:324 #: src/component/photo/edit/info.vue:379 msgid "Longitude" msgstr "Longitud" @@ -1813,7 +1841,7 @@ msgstr "Låg" msgid "Magenta" msgstr "Magenta" -#: src/component/photo/edit/files.vue:489 +#: src/component/photo/edit/files.vue:491 msgid "Main Color" msgstr "Huvudfärg" @@ -1821,12 +1849,16 @@ msgstr "Huvudfärg" msgid "Male" msgstr "Man" -#: src/page/connect.vue:164 src/page/connect.vue:246 -#: src/page/about/about.vue:171 src/page/connect.vue:168 -#: src/page/connect.vue:255 +#: src/page/connect.vue:165 src/page/connect.vue:248 +#: src/page/about/about.vue:173 src/page/connect.vue:169 +#: src/page/connect.vue:257 msgid "Manage Account" msgstr "Hantera konto" +#: src/options/admin.js:10 src/options/auth.js:7 +msgid "Manager" +msgstr "Chef" + #: src/component/photo/edit/info.vue:49 src/component/photo/edit/labels.vue:38 msgid "Manual" msgstr "Manuell" @@ -1843,11 +1875,11 @@ msgstr "Kartor" msgid "Marker" msgstr "Markering" -#: src/component/user/add/dialog.vue:69 +#: src/component/user/add/dialog.vue:70 msgid "Maximum number of accounts has been reached." msgstr "Det maximala antalet konton har uppnåtts." -#: src/app/routes.js:229 src/component/navigation.vue:688 +#: src/app/routes.js:237 src/component/navigation.vue:693 #: src/options/options.js:199 msgid "Media" msgstr "Media" @@ -1864,7 +1896,7 @@ msgstr "Medlemskap" msgid "Merge %{a} with %{b}?" msgstr "Slå ihop %{a} med %{b}?" -#: src/page/about/feedback.vue:102 +#: src/page/about/feedback.vue:103 msgid "Message" msgstr "Meddelande" @@ -1876,7 +1908,7 @@ msgstr "Meddelande skickat" msgid "Metadata" msgstr "Metadata" -#: src/options/auth.js:56 src/options/auth.js:72 +#: src/options/auth.js:57 src/options/auth.js:73 msgid "Metrics" msgstr "Metrik" @@ -1884,7 +1916,7 @@ msgstr "Metrik" msgid "Minimize" msgstr "Minimera" -#: src/component/photo/edit/files.vue:509 src/component/photo/edit/info.vue:367 +#: src/component/photo/edit/files.vue:511 src/component/photo/edit/info.vue:367 msgid "Missing" msgstr "Saknas" @@ -1892,17 +1924,17 @@ msgstr "Saknas" msgid "Missing or invalid configuration" msgstr "Saknad eller ogiltig konfiguration" -#: src/app/routes.js:163 src/component/navigation.vue:1129 +#: src/app/routes.js:171 src/component/navigation.vue:1147 #: src/options/options.js:205 src/page/settings/general.vue:230 msgid "Moments" msgstr "Ögonblick" -#: src/component/navigation.vue:383 +#: src/component/navigation.vue:385 msgid "Monochrome" msgstr "Monokrom" -#: src/page/settings/account.vue:475 src/component/photo/edit/details.vue:137 -#: src/component/photo/toolbar.vue:342 +#: src/page/settings/account.vue:481 src/component/photo/edit/details.vue:139 +#: src/component/photo/toolbar.vue:344 msgid "Month" msgstr "Månad" @@ -1922,7 +1954,7 @@ msgstr "Mest relevant" msgid "Move Files" msgstr "Flytta filer" -#: src/component/settings/password.vue:107 +#: src/component/settings/password.vue:108 msgid "Must have at least %{n} characters." msgstr "Måste ha minst %{n} tecken." @@ -1930,20 +1962,20 @@ msgstr "Måste ha minst %{n} tecken." msgid "Mute" msgstr "Mute" -#: src/page/about/feedback.vue:121 src/page/about/feedback.vue:122 -#: src/component/album/edit/dialog.vue:77 -#: src/component/label/edit/dialog.vue:71 -#: src/component/people/edit/dialog.vue:71 -#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:57 +#: src/page/about/feedback.vue:122 src/page/about/feedback.vue:123 +#: src/component/album/edit/dialog.vue:78 +#: src/component/label/edit/dialog.vue:72 +#: src/component/people/edit/dialog.vue:72 +#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:59 #: src/component/photo/edit/info.vue:125 src/component/photo/edit/people.vue:36 -#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:310 -#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:286 -#: src/page/albums.vue:98 src/page/auth/login.vue:168 +#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:311 +#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:289 +#: src/page/albums.vue:99 src/page/auth/login.vue:168 #: src/page/people/new.vue:68 src/page/settings/services.vue:37 msgid "Name" msgstr "Namn" -#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:60 +#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:65 #: src/component/label/edit/dialog.vue:19 #: src/component/people/edit/dialog.vue:19 #: src/component/photo/edit/labels.vue:30 @@ -1953,7 +1985,7 @@ msgstr "Namn" msgid "Name too long" msgstr "Namnet är för långt" -#: src/page/admin/users.vue:204 src/options/options.js:361 +#: src/page/admin/users.vue:206 src/options/options.js:361 #: src/options/options.js:371 src/page/settings/services.vue:75 msgid "Never" msgstr "Aldrig" @@ -1962,13 +1994,13 @@ msgstr "Aldrig" msgid "New" msgstr "Ny" -#: src/component/settings/password.vue:106 +#: src/component/settings/password.vue:107 msgid "New Password" msgstr "Nytt lösenord" #: src/component/album/edit/dialog.vue:24 src/component/photo/toolbar.vue:114 #: src/component/photo/toolbar.vue:126 src/component/photo/toolbar.vue:136 -#: src/page/albums.vue:100 +#: src/page/albums.vue:101 msgid "Newest First" msgstr "Nyaste först" @@ -1984,15 +2016,15 @@ msgstr "Nästa sida" msgid "Next visual" msgstr "Nästa bild" -#: src/component/people/merge/dialog.vue:47 -#: src/component/photo/archive/dialog.vue:47 +#: src/component/people/merge/dialog.vue:48 +#: src/component/photo/archive/dialog.vue:48 #: src/component/photo/edit/info.vue:281 src/component/photo/edit/info.vue:297 #: src/component/photo/edit/info.vue:313 src/component/photo/edit/info.vue:329 #: src/component/photo/edit/info.vue:344 msgid "No" msgstr "Nej" -#: src/page/albums.vue:607 src/page/albums.vue:282 +#: src/page/albums.vue:612 src/page/albums.vue:282 msgid "No albums found" msgstr "Inga album hittades" @@ -2000,7 +2032,7 @@ msgstr "Inga album hittades" msgid "No data available" msgstr "Inga uppgifter tillgängliga" -#: src/page/labels.vue:523 src/page/labels.vue:155 +#: src/page/labels.vue:528 src/page/labels.vue:155 msgid "No labels found" msgstr "Inga etiketter hittades" @@ -2013,15 +2045,15 @@ msgid "No more" msgstr "Inte mer" #: src/component/photo/edit/people.vue:34 src/page/people/new.vue:346 -#: src/page/people/new.vue:443 src/page/people/new.vue:103 -#: src/page/people/recognized.vue:531 src/page/people/recognized.vue:146 +#: src/page/people/new.vue:446 src/page/people/new.vue:103 +#: src/page/people/recognized.vue:536 src/page/people/recognized.vue:146 msgid "No people found" msgstr "Inga personer hittades" #: src/component/lightbox.vue:365 src/component/photo/view/cards.vue:144 #: src/component/photo/view/list.vue:82 src/component/photo/view/mosaic.vue:68 -#: src/page/album/photos.vue:488 src/page/library/browse.vue:123 -#: src/page/photos.vue:626 src/page/places.vue:624 src/page/places.vue:730 +#: src/page/album/photos.vue:499 src/page/library/browse.vue:123 +#: src/page/photos.vue:636 src/page/places.vue:624 src/page/places.vue:730 msgid "No pictures found" msgstr "Inga bilder hittades" @@ -2030,7 +2062,11 @@ msgstr "Inga bilder hittades" msgid "No recently edited pictures" msgstr "Inga nyligen redigerade bilder" -#: src/component/navigation.vue:1655 +#: src/component/location/dialog.vue:166 +msgid "No results" +msgstr "Inga resultat" + +#: src/component/navigation.vue:1686 msgid "No server connection" msgstr "Ingen serveranslutning" @@ -2042,7 +2078,7 @@ msgstr "Inga servrar har konfigurerats." msgid "No services configured." msgstr "Inga servrar har konfigurerats." -#: src/component/confirm/sponsor.vue:72 +#: src/component/confirm/sponsor.vue:73 msgid "No thanks" msgstr "Nej tack" @@ -2052,17 +2088,17 @@ msgstr "Inga varningar eller fel som innehåller detta nyckelord. Observera att #: src/component/photo/view/cards.vue:154 src/component/photo/view/list.vue:59 #: src/component/photo/view/list.vue:92 src/component/photo/view/mosaic.vue:78 -#: src/component/upload/dialog.vue:208 +#: src/component/upload/dialog.vue:210 msgid "Non-photographic and low-quality images require a review before they appear in search results." msgstr "Bilder som inte är fotografiska eller av låg kvalitet måste granskas innan de visas i sökresultaten." -#: src/options/admin.js:47 src/options/auth.js:32 src/options/options.js:212 +#: src/options/admin.js:51 src/options/auth.js:33 src/options/options.js:212 #: src/options/options.js:328 msgid "None" msgstr "Ingen" -#: src/common/util.js:853 src/component/lightbox.vue:633 -#: src/component/service/upload.vue:75 src/component/service/upload.vue:87 +#: src/component/lightbox.vue:633 src/component/service/upload.vue:75 +#: src/component/service/upload.vue:87 msgid "Not allowed" msgstr "Inte tillåtet" @@ -2074,8 +2110,7 @@ msgstr "Hittades inte" msgid "Not sorted." msgstr "Inte sorterad." -#: src/common/util.js:858 src/component/lightbox.vue:627 -#: src/component/lightbox.vue:744 +#: src/component/lightbox.vue:627 src/component/lightbox.vue:744 msgid "Not supported" msgstr "Stödjs inte" @@ -2083,15 +2118,15 @@ msgstr "Stödjs inte" msgid "Note you may manually manage your originals folder and importing is optional." msgstr "Observera att du kan hantera mappen med original manuellt och att import är valfritt." -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "Note:" msgstr "Observera:" -#: src/component/service/add.vue:120 +#: src/component/service/add.vue:121 msgid "Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload." msgstr "OBS: Endast WebDAV-servrar, som Nextcloud eller PhotoPrism, kan konfigureras som fjärrtjänst för säkerhetskopiering och filuppladdning." -#: src/component/photo/edit/details.vue:603 +#: src/component/photo/edit/details.vue:577 msgid "Notes" msgstr "Anteckningar" @@ -2099,8 +2134,8 @@ msgstr "Anteckningar" msgid "Nothing to see here yet." msgstr "Inget att se här ännu. Ha tålamod." -#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:115 -#: src/component/settings/apps.vue:390 +#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:125 +#: src/component/settings/apps.vue:393 msgid "Nothing was found." msgstr "Ingenting hittades." @@ -2108,7 +2143,7 @@ msgstr "Ingenting hittades." msgid "Offline" msgstr "Offline" -#: src/options/admin.js:39 src/options/auth.js:28 +#: src/options/admin.js:43 src/options/auth.js:29 msgid "OIDC" msgstr "OIDC" @@ -2118,11 +2153,11 @@ msgstr "OK" #: src/component/album/edit/dialog.vue:25 src/component/photo/toolbar.vue:115 #: src/component/photo/toolbar.vue:127 src/component/photo/toolbar.vue:137 -#: src/page/albums.vue:101 +#: src/page/albums.vue:102 msgid "Oldest First" msgstr "Äldsta först" -#: src/component/settings/webdav.vue:77 +#: src/component/settings/webdav.vue:78 msgid "On Windows, enter the following resource in the connection dialog:" msgstr "I Windows anger du följande resurs i anslutningsdialogen:" @@ -2134,11 +2169,11 @@ msgstr "Generering av miniatyrbilder på begäran kan orsaka hög CPU- och minne msgid "Once a week" msgstr "En gång i veckan" -#: src/page/albums.vue:609 +#: src/page/albums.vue:614 msgid "One album found" msgstr "Ett album hittat" -#: src/page/library/browse.vue:358 +#: src/page/library/browse.vue:360 msgid "One file found" msgstr "En fil hittad" @@ -2146,24 +2181,24 @@ msgstr "En fil hittad" msgid "One file uploaded" msgstr "En fil uppladdad" -#: src/page/library/browse.vue:360 +#: src/page/library/browse.vue:362 msgid "One folder found" msgstr "En mapp hittad" -#: src/page/labels.vue:525 +#: src/page/labels.vue:530 msgid "One label found" msgstr "En etikett hittat" -#: src/page/people/new.vue:348 src/page/people/new.vue:445 -#: src/page/people/recognized.vue:533 +#: src/page/people/new.vue:348 src/page/people/new.vue:448 +#: src/page/people/recognized.vue:538 msgid "One person found" msgstr "En person hittad" -#: src/page/album/photos.vue:490 src/page/photos.vue:628 +#: src/page/album/photos.vue:501 src/page/photos.vue:638 msgid "One picture found" msgstr "En bild hittades" -#: src/component/settings/passcode.vue:478 +#: src/component/settings/passcode.vue:481 msgid "Only locally managed accounts can be set up for authentication with 2FA." msgstr "Endast lokalt hanterade konton kan ställas in för autentisering med 2FA." @@ -2171,7 +2206,7 @@ msgstr "Endast lokalt hanterade konton kan ställas in för autentisering med 2F msgid "Open" msgstr "Öppna" -#: src/component/service/add.vue:86 src/component/service/add.vue:107 +#: src/component/service/add.vue:87 src/component/service/add.vue:108 msgid "optional" msgstr "valfri" @@ -2183,7 +2218,7 @@ msgstr "eller" msgid "Orange" msgstr "Orange" -#: src/page/settings/account.vue:571 src/page/settings/account.vue:573 +#: src/page/settings/account.vue:577 src/page/settings/account.vue:579 msgid "Organization" msgstr "Layout" @@ -2199,7 +2234,7 @@ msgstr "De ursprungliga filnamnen kommer att lagras och indexeras." msgid "Original Name" msgstr "Ursprungligt namn" -#: src/component/navigation.vue:1304 src/model/file.js:196 +#: src/component/navigation.vue:1328 src/model/file.js:196 #: src/options/options.js:413 src/page/library/browse.vue:65 #: src/page/settings/content.vue:356 src/page/settings/general.vue:532 msgid "Originals" @@ -2210,7 +2245,7 @@ msgstr "Original" msgid "Other" msgstr "Övrigt" -#: src/page/about/about.vue:77 src/page/about/about.vue:83 +#: src/page/about/about.vue:78 src/page/about/about.vue:84 msgid "Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible." msgstr "Vårt uppdrag är att tillhandahålla den mest användar- och integritetsvänliga lösningen för att hålla dina bilder organiserade och tillgängliga." @@ -2222,7 +2257,7 @@ msgstr "Utomhus" msgid "Page {0}, Current page" msgstr "Sida {0}, Aktuell sida" -#: src/component/photo/edit/files.vue:352 src/model/photo.js:859 +#: src/component/photo/edit/files.vue:352 src/model/photo.js:896 msgid "Pages" msgstr "Sidor" @@ -2234,15 +2269,15 @@ msgstr "Paginering Navigering" msgid "Panorama" msgstr "Panorama" -#: src/component/navigation.vue:402 +#: src/component/navigation.vue:404 msgid "Panoramas" msgstr "Panoraman" -#: src/component/user/add/dialog.vue:114 src/component/user/add/dialog.vue:115 -#: src/component/service/add.vue:106 src/component/service/edit.vue:352 -#: src/component/settings/apps.vue:121 src/component/settings/passcode.vue:106 -#: src/component/settings/passcode.vue:413 src/component/share/dialog.vue:27 -#: src/options/auth.js:91 src/page/auth/login.vue:196 +#: src/component/user/add/dialog.vue:115 src/component/user/add/dialog.vue:116 +#: src/component/service/add.vue:107 src/component/service/edit.vue:353 +#: src/component/settings/apps.vue:124 src/component/settings/passcode.vue:109 +#: src/component/settings/passcode.vue:416 src/component/share/dialog.vue:27 +#: src/options/auth.js:92 src/page/auth/login.vue:196 msgid "Password" msgstr "Lösenord" @@ -2250,9 +2285,9 @@ msgstr "Lösenord" msgid "Password changed" msgstr "Lösenordet har ändrats" -#: src/app/routes.js:404 src/app/routes.js:428 src/component/navigation.vue:845 -#: src/component/navigation.vue:1898 src/component/photo/edit/dialog.vue:228 -#: src/component/photo/edit/dialog.vue:245 src/options/options.js:201 +#: src/app/routes.js:412 src/app/routes.js:436 src/component/navigation.vue:853 +#: src/component/navigation.vue:1939 src/component/photo/edit/dialog.vue:238 +#: src/component/photo/edit/dialog.vue:257 src/options/options.js:201 #: src/page/settings/general.vue:180 msgid "People" msgstr "Personer" @@ -2273,23 +2308,23 @@ msgstr "Ta bort filer permanent för att frigöra lagringsutrymme." msgid "Person" msgstr "Person" -#: src/options/auth.js:42 +#: src/options/auth.js:43 msgid "Personal" msgstr "Personlig" -#: src/model/photo.js:1273 +#: src/model/photo.js:1310 msgid "Photo" msgstr "Foto" -#: src/page/about/about.vue:156 +#: src/page/about/about.vue:158 msgid "PhotoPrism is 100% self-funded and independent." msgstr "PhotoPrism är till 100 % självfinansierad och oberoende." -#: src/page/about/about.vue:92 +#: src/page/about/about.vue:93 msgid "PhotoPrism+ Membership" msgstr "Medlemskap i PhotoPrism+" -#: src/app/routes.js:156 +#: src/app/routes.js:164 msgid "Photos" msgstr "Foton" @@ -2310,27 +2345,27 @@ msgstr "Plats" msgid "Place & Time" msgstr "Plats och Tid" -#: src/app/routes.js:303 src/app/routes.js:309 src/app/routes.js:315 -#: src/app/routes.js:330 src/component/navigation.vue:986 -#: src/component/navigation.vue:1914 src/options/options.js:203 +#: src/app/routes.js:311 src/app/routes.js:317 src/app/routes.js:323 +#: src/app/routes.js:338 src/component/navigation.vue:999 +#: src/component/navigation.vue:1956 src/options/options.js:203 #: src/page/places.vue:51 src/page/settings/general.vue:609 #: src/page/settings/general.vue:638 msgid "Places" msgstr "Platser" -#: src/component/settings/password.vue:129 +#: src/component/settings/password.vue:130 msgid "Please confirm your new password." msgstr "Bekräfta ditt nya lösenord." -#: src/component/settings/apps.vue:185 +#: src/component/settings/apps.vue:188 msgid "Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:" msgstr "Vänligen kopiera följande slumpmässigt genererade applösenord och förvara det på ett säkert ställe, eftersom du inte kommer att kunna se det igen:" -#: src/component/upload/dialog.vue:203 +#: src/component/upload/dialog.vue:205 msgid "Please do not upload any private, unlawful or offensive pictures." msgstr "Vänligen ladda inte upp privata, olagliga eller stötande bilder." -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Please don't upload photos containing offensive content." msgstr "Ladda inte upp bilder med stötande innehåll." @@ -2338,11 +2373,11 @@ msgstr "Ladda inte upp bilder med stötande innehåll." msgid "Please enter OTP character {0}" msgstr "Vänligen ange OTP-tecken {0}" -#: src/component/settings/password.vue:66 +#: src/component/settings/password.vue:67 msgid "Please note that changing your password will log you out on other devices and browsers." msgstr "Observera att om du ändrar ditt lösenord kommer du att logga ut på andra enheter och webbläsare." -#: src/page/connect.vue:148 src/page/connect.vue:152 +#: src/page/connect.vue:149 src/page/connect.vue:153 msgid "Please restart your instance for the changes to take effect." msgstr "Starta om din instans för att ändringarna ska träda i kraft." @@ -2362,11 +2397,11 @@ msgstr "Begränsning av PNG-storlek: %{n}px" msgid "Portrait" msgstr "Porträtt" -#: src/component/service/edit.vue:273 +#: src/component/service/edit.vue:274 msgid "Preserve filenames" msgstr "Bevara filnamn" -#: src/component/upload/dialog.vue:162 +#: src/component/upload/dialog.vue:164 msgid "Press enter to create a new album." msgstr "Tryck på enter för att skapa ett nytt album." @@ -2403,8 +2438,8 @@ msgstr "Föregående bild" msgid "Primary" msgstr "Primär" -#: src/app/routes.js:271 src/component/album/edit/dialog.vue:176 -#: src/component/navigation.vue:531 src/component/photo/edit/info.vue:303 +#: src/app/routes.js:279 src/component/album/edit/dialog.vue:177 +#: src/component/navigation.vue:533 src/component/photo/edit/info.vue:303 #: src/page/settings/general.vue:280 msgid "Private" msgstr "Privat" @@ -2429,7 +2464,7 @@ msgstr "Kvalitetsfilter" msgid "Quality Score" msgstr "Kvalitetspoäng" -#: src/page/admin/users.vue:169 +#: src/page/admin/users.vue:171 msgid "r" msgstr "r" @@ -2460,7 +2495,7 @@ msgstr "Skrivskyddat läge" #: src/component/album/edit/dialog.vue:26 src/component/photo/toolbar.vue:116 #: src/component/photo/toolbar.vue:128 src/component/photo/toolbar.vue:138 -#: src/page/albums.vue:102 +#: src/page/albums.vue:103 msgid "Recently Added" msgstr "Nyligen tillagt" @@ -2468,7 +2503,7 @@ msgstr "Nyligen tillagt" msgid "Recently Archived" msgstr "Nyligen arkiverad" -#: src/component/photo/toolbar.vue:139 src/page/albums.vue:103 +#: src/component/photo/toolbar.vue:139 src/page/albums.vue:104 msgid "Recently Edited" msgstr "Nyligen redigerat" @@ -2493,24 +2528,24 @@ msgstr "Återvinningskod" msgid "Red" msgstr "Röd" -#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:126 -#: src/component/album/toolbar.vue:79 src/component/photo/toolbar.vue:169 -#: src/page/albums.vue:173 src/page/labels.vue:112 +#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:128 +#: src/component/album/toolbar.vue:84 src/component/photo/toolbar.vue:169 +#: src/page/albums.vue:175 src/page/labels.vue:112 #: src/page/library/browse.vue:90 src/page/library/errors.vue:81 #: src/page/people/new.vue:54 src/page/people/recognized.vue:88 msgid "Refresh" msgstr "Uppdatera" -#: src/app/routes.js:337 src/component/navigation.vue:943 -#: src/component/navigation.vue:1026 +#: src/app/routes.js:345 src/component/navigation.vue:955 +#: src/component/navigation.vue:1040 msgid "Regions" msgstr "Regioner" -#: src/page/connect.vue:275 src/page/connect.vue:284 +#: src/page/connect.vue:277 src/page/connect.vue:286 msgid "Register" msgstr "Registrera" -#: src/component/navigation.vue:1773 src/component/update.vue:68 +#: src/component/navigation.vue:1806 src/component/update.vue:68 msgid "Reload" msgstr "Ladda om" @@ -2555,34 +2590,34 @@ msgstr "Krav på att icke-fotografiska bilder och bilder av låg kvalitet ska gr msgid "Resolution" msgstr "Upplösning" -#: src/page/connect.vue:179 src/page/connect.vue:183 +#: src/page/connect.vue:180 src/page/connect.vue:184 #: src/page/settings/advanced.vue:782 msgid "Restart" msgstr "Starta om" -#: src/component/user/edit/dialog.vue:485 src/component/lightbox.vue:1221 +#: src/component/user/edit/dialog.vue:488 src/component/lightbox.vue:1221 #: src/component/photo/clipboard.vue:77 msgid "Restore" msgstr "Återställ" -#: src/component/lightbox.vue:2000 +#: src/component/lightbox.vue:2020 msgid "Restored" msgstr "Återställd" -#: src/component/service/edit.vue:428 +#: src/component/service/edit.vue:429 msgid "Retry Limit" msgstr "Gräns för antalet försök" -#: src/component/settings/password.vue:128 +#: src/component/settings/password.vue:129 msgid "Retype Password" msgstr "Upprepa lösenordet" -#: src/app/routes.js:264 src/component/navigation.vue:505 +#: src/app/routes.js:272 src/component/navigation.vue:507 msgid "Review" msgstr "Granska" -#: src/component/user/add/dialog.vue:171 src/component/user/edit/dialog.vue:284 -#: src/page/admin/sessions.vue:262 src/page/admin/users.vue:73 +#: src/component/user/add/dialog.vue:172 src/component/user/edit/dialog.vue:285 +#: src/page/admin/sessions.vue:263 src/page/admin/users.vue:75 msgid "Role" msgstr "Roll" @@ -2594,11 +2629,11 @@ msgstr "Rader per sida:" msgid "Satellite" msgstr "Satellit" -#: src/component/user/edit/dialog.vue:485 -#: src/component/album/edit/dialog.vue:211 -#: src/component/label/edit/dialog.vue:119 -#: src/component/people/edit/dialog.vue:132 src/component/service/edit.vue:466 -#: src/component/settings/password.vue:172 src/component/share/dialog.vue:181 +#: src/component/user/edit/dialog.vue:488 +#: src/component/album/edit/dialog.vue:212 +#: src/component/label/edit/dialog.vue:120 +#: src/component/people/edit/dialog.vue:133 src/component/service/edit.vue:467 +#: src/component/settings/password.vue:173 src/component/share/dialog.vue:181 msgid "Save" msgstr "Spara" @@ -2606,23 +2641,23 @@ msgstr "Spara" msgid "Scan" msgstr "Skanna" -#: src/component/settings/passcode.vue:179 +#: src/component/settings/passcode.vue:182 msgid "Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:" msgstr "Skanna QR-koden med din autentiseringsapp eller använd inställningsnyckeln som visas nedan och ange sedan den genererade verifieringskoden:" -#: src/component/navigation.vue:461 +#: src/component/navigation.vue:463 msgid "Scans" msgstr "Skannar" -#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:377 -#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:310 +#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:381 +#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:313 msgid "Scope" msgstr "Omfattning" -#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:62 -#: src/component/navigation.vue:342 src/component/navigation.vue:1866 -#: src/component/photo/toolbar.vue:57 src/options/options.js:197 -#: src/page/albums.vue:100 src/page/labels.vue:77 +#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:69 +#: src/component/location/dialog.vue:133 src/component/navigation.vue:343 +#: src/component/navigation.vue:1905 src/component/photo/toolbar.vue:57 +#: src/options/options.js:197 src/page/albums.vue:100 src/page/labels.vue:77 #: src/page/library/errors.vue:76 src/page/people/recognized.vue:66 #: src/page/places.vue:79 src/page/settings/content.vue:235 msgid "Search" @@ -2660,11 +2695,11 @@ msgstr "Välj datum" msgid "Select dates" msgstr "Välj datum" -#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:154 +#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:156 msgid "Select or create an album" msgstr "Välj eller skapa ett album" -#: src/component/upload/dialog.vue:138 +#: src/component/upload/dialog.vue:140 msgid "Select the files to upload…" msgstr "Välj de filer som ska laddas upp…" @@ -2692,7 +2727,7 @@ msgstr "Urvalet har återställts" msgid "Sequential Name" msgstr "Sekventiellt namn" -#: src/component/service/add.vue:67 src/component/service/edit.vue:322 +#: src/component/service/add.vue:68 src/component/service/edit.vue:323 #: src/component/share/dialog.vue:25 msgid "Service URL" msgstr "Tjänstens URL" @@ -2701,7 +2736,7 @@ msgstr "Tjänstens URL" msgid "Services" msgstr "Tjänstens URL" -#: src/model/session.js:107 src/options/auth.js:41 src/options/auth.js:90 +#: src/model/session.js:107 src/options/auth.js:42 src/options/auth.js:91 msgid "Session" msgstr "Sammanträde" @@ -2709,7 +2744,7 @@ msgstr "Sammanträde" msgid "Session ID" msgstr "Sessions-ID" -#: src/page/admin.vue:45 +#: src/page/admin.vue:44 msgid "Sessions" msgstr "Sessioner" @@ -2717,22 +2752,22 @@ msgstr "Sessioner" msgid "Set as Album Cover" msgstr "Ställ in som albumomslag" -#: src/app/routes.js:101 src/app/routes.js:492 src/app/routes.js:504 -#: src/app/routes.js:521 src/app/routes.js:534 src/app/routes.js:547 -#: src/component/navigation.vue:1394 src/component/navigation.vue:1806 +#: src/app/routes.js:101 src/app/routes.js:500 src/app/routes.js:512 +#: src/app/routes.js:529 src/app/routes.js:542 src/app/routes.js:555 +#: src/component/navigation.vue:1419 src/component/navigation.vue:1841 msgid "Settings" msgstr "Inställningar" #: src/page/settings/account.vue:115 src/page/settings/account.vue:144 -#: src/component/settings/passcode.vue:147 +#: src/component/settings/passcode.vue:151 msgid "Settings saved" msgstr "Inställningarna har sparats" -#: src/component/service/upload.vue:131 src/component/settings/passcode.vue:160 +#: src/component/service/upload.vue:132 src/component/settings/passcode.vue:163 msgid "Setup" msgstr "Konfigurera" -#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:98 +#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:103 #: src/component/photo/clipboard.vue:51 src/page/settings/general.vue:382 msgid "Share" msgstr "Dela" @@ -2749,7 +2784,7 @@ msgstr "Dela dina bilder med andra appar och tjänster." msgid "Show" msgstr "Visa" -#: src/page/people/new.vue:116 src/page/people/new.vue:233 +#: src/page/people/new.vue:116 src/page/people/new.vue:235 msgid "Show all new faces" msgstr "Visa alla nya ansikten" @@ -2794,7 +2829,7 @@ msgid "Similar" msgstr "Liknande" #: src/component/photo/edit/files.vue:51 src/component/photo/edit/files.vue:341 -#: src/component/service/edit.vue:139 src/component/sidebar/info.vue:96 +#: src/component/service/edit.vue:140 src/component/sidebar/info.vue:96 msgid "Size" msgstr "Storlek" @@ -2822,7 +2857,7 @@ msgstr "Något gick fel, försök igen" msgid "Sort by" msgstr "Sortera efter" -#: src/component/album/edit/dialog.vue:142 src/component/photo/toolbar.vue:288 +#: src/component/album/edit/dialog.vue:143 src/component/photo/toolbar.vue:290 #: src/page/albums.vue:214 msgid "Sort Order" msgstr "Sortering" @@ -2857,7 +2892,7 @@ msgstr "Stapla bilder som tagits vid exakt samma tidpunkt och plats baserat på msgid "Stackable" msgstr "Staplingsbar" -#: src/component/navigation.vue:421 src/page/settings/content.vue:136 +#: src/component/navigation.vue:423 src/page/settings/content.vue:136 msgid "Stacks" msgstr "Staplar" @@ -2885,16 +2920,16 @@ msgstr "Förvaringsplats" msgid "Streets" msgstr "Gator" -#: src/component/photo/edit/details.vue:494 +#: src/component/photo/edit/details.vue:468 #: src/component/photo/edit/labels.vue:44 msgid "Subject" msgstr "Ämne" -#: src/page/about/feedback.vue:162 src/page/about/feedback.vue:163 +#: src/page/about/feedback.vue:163 src/page/about/feedback.vue:164 msgid "Submit" msgstr "Skicka in" -#: src/component/settings/passcode.vue:132 +#: src/component/settings/passcode.vue:136 msgid "Successfully activated" msgstr "Lyckades aktiverad" @@ -2903,23 +2938,23 @@ msgid "Successfully Connected" msgstr "Framgångsrikt ansluten" #: src/component/session/remove/dialog.vue:32 -#: src/component/settings/apps.vue:218 +#: src/component/settings/apps.vue:222 msgid "Successfully deleted" msgstr "Framgångsrikt raderat" -#: src/component/settings/passcode.vue:107 +#: src/component/settings/passcode.vue:108 msgid "Successfully verified" msgstr "Verifierad" -#: src/component/user/edit/dialog.vue:398 src/page/admin/users.vue:163 +#: src/component/user/edit/dialog.vue:399 src/page/admin/users.vue:165 msgid "Super Admin" msgstr "Super Admin" -#: src/component/service/add.vue:122 +#: src/component/service/add.vue:123 msgid "Support for additional services, like Google Drive, will be added over time." msgstr "Stöd för ytterligare tjänster, som Google Drive, kommer att läggas till med tiden." -#: src/component/confirm/sponsor.vue:37 src/component/navigation.vue:1629 +#: src/component/confirm/sponsor.vue:38 src/component/navigation.vue:1660 msgid "Support Our Mission" msgstr "Stöd vårt uppdrag" @@ -2927,7 +2962,7 @@ msgstr "Stöd vårt uppdrag" msgid "Sync" msgstr "Synkronisera" -#: src/component/service/edit.vue:289 +#: src/component/service/edit.vue:290 msgid "Sync raw and video files" msgstr "Synkronisera raw- och videofiler" @@ -2953,23 +2988,23 @@ msgstr "Terräng" msgid "Text" msgstr "Text" -#: src/component/photo/edit/details.vue:32 src/page/people/new.vue:71 +#: src/component/photo/edit/details.vue:40 src/page/people/new.vue:71 msgid "Text too long" msgstr "Texten är för lång" -#: src/page/about/about.vue:145 +#: src/page/about/about.vue:146 msgid "Thank You for Your Support!" msgstr "Tack för ditt stöd!" -#: src/page/about/about.vue:79 src/page/about/about.vue:85 +#: src/page/about/about.vue:80 src/page/about/about.vue:86 msgid "That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality." msgstr "Därför har PhotoPrism byggts upp från grunden för att kunna användas där du behöver det, utan att kompromissa med frihet, integritet eller funktionalitet." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "The index currently contains %{n} hidden files." msgstr "Indexet innehåller för närvarande %{n} dolda filer." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates." msgstr "Formatet kanske inte stöds, de har ännu inte konverterats till JPEG eller det finns dubbletter." @@ -2984,44 +3019,44 @@ msgstr "Tema" msgid "This field is required" msgstr "Detta fält är obligatoriskt" -#: src/component/settings/webdav.vue:100 src/page/settings/services.vue:144 +#: src/component/settings/webdav.vue:101 src/page/settings/services.vue:147 msgid "This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local." msgstr "Detta gör att mappen med originalen monteras som en nätverksenhet, så att du kan öppna, redigera och ta bort filer från din dator eller smartphone som om de vore lokala." -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Time UTC" msgstr "Tid UTC" -#: src/component/photo/edit/details.vue:219 src/page/settings/general.vue:108 +#: src/component/photo/edit/details.vue:221 src/page/settings/general.vue:108 msgid "Time Zone" msgstr "Tidszon" -#: src/component/service/edit.vue:408 +#: src/component/service/edit.vue:409 msgid "Timeout" msgstr "Timeout" -#: src/component/user/edit/dialog.vue:98 src/component/user/edit/dialog.vue:99 +#: src/component/user/edit/dialog.vue:99 src/component/user/edit/dialog.vue:100 #: src/page/settings/account.vue:84 src/page/settings/account.vue:86 msgctxt "Account" msgid "Title" msgstr "Titel" -#: src/component/photo/edit/details.vue:73 +#: src/component/photo/edit/details.vue:75 msgctxt "Photo" msgid "Title" msgstr "Rubrik" -#: src/component/photo/edit/info.vue:59 src/component/photo/edit/info.vue:155 +#: src/component/photo/edit/info.vue:61 src/component/photo/edit/info.vue:155 #: src/component/photo/edit/labels.vue:40 src/component/photo/view/list.vue:114 #: src/component/sidebar/info.vue:57 msgid "Title" msgstr "Rubrik" -#: src/page/settings/account.vue:553 src/page/settings/account.vue:555 +#: src/page/settings/account.vue:559 src/page/settings/account.vue:561 msgid "Title / Position" msgstr "Rubriken är för lång" -#: src/page/albums.vue:83 +#: src/page/albums.vue:84 msgid "Title too long" msgstr "Rubriken är för lång" @@ -3029,19 +3064,19 @@ msgstr "Rubriken är för lång" msgid "to" msgstr "till" -#: src/component/settings/passcode.vue:312 +#: src/component/settings/passcode.vue:315 msgid "To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place." msgstr "För att undvika att bli utelåst från ditt konto, ladda ner, skriv ut eller kopiera den här återställningskoden nu och förvara den på ett säkert ställe." -#: src/component/settings/apps.vue:272 +#: src/component/settings/apps.vue:275 msgid "To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:" msgstr "För att skapa ett nytt app-specifikt lösenord, vänligen ange namnet och auktoriseringsomfånget för applikationen och välj ett utgångsdatum:" -#: src/component/settings/passcode.vue:400 +#: src/component/settings/passcode.vue:403 msgid "To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:" msgstr "För att byta till en ny autentiseringsapp eller enhet, inaktivera först tvåfaktorsautentisering och återaktivera den sedan:" -#: src/page/connect.vue:221 src/page/connect.vue:230 +#: src/page/connect.vue:223 src/page/connect.vue:232 msgid "To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:" msgstr "För att uppgradera kan du antingen ange en aktiveringskod eller klicka på \"Registrera\" för att registrera dig på vår webbplats:" @@ -3049,7 +3084,7 @@ msgstr "För att uppgradera kan du antingen ange en aktiveringskod eller klicka msgid "Today" msgstr "I dag" -#: src/component/album/toolbar.vue:70 src/component/photo/toolbar.vue:78 +#: src/component/album/toolbar.vue:71 src/component/photo/toolbar.vue:78 msgid "Toggle View" msgstr "Växla vy" @@ -3076,20 +3111,24 @@ msgstr "Felsökning" msgid "Try again using other filters or keywords." msgstr "Försök igen med andra filter eller nyckelord." -#: src/component/settings/passcode.vue:380 +#: src/component/settings/passcode.vue:383 msgid "Two-factor authentication has been enabled for your account." msgstr "Tvåfaktorsautentisering har aktiverats för ditt konto." #: src/component/photo/edit/files.vue:58 src/component/photo/edit/files.vue:330 -#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:388 +#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:389 msgid "Type" msgstr "Typ" -#: src/options/auth.js:13 +#: src/component/album/toolbar.vue:178 +msgid "Unable to delete" +msgstr "Går inte att radera" + +#: src/options/auth.js:14 msgid "Unauthorized" msgstr "Obehörig" -#: src/component/photo/edit/people.vue:94 +#: src/component/photo/edit/people.vue:95 msgid "Undo" msgstr "Ångra" @@ -3097,16 +3136,16 @@ msgstr "Ångra" msgid "Unique ID" msgstr "Unikt ID" -#: src/page/settings/account.vue:451 src/page/settings/account.vue:476 -#: src/page/settings/account.vue:501 src/common/util.js:487 -#: src/component/photo/edit/details.vue:21 -#: src/component/photo/edit/details.vue:111 -#: src/component/photo/edit/details.vue:138 -#: src/component/photo/edit/details.vue:164 src/component/sidebar/info.vue:43 -#: src/model/album.js:193 src/model/photo.js:323 src/model/photo.js:784 -#: src/model/photo.js:809 src/model/photo.js:832 src/model/photo.js:850 -#: src/model/photo.js:897 src/model/photo.js:905 src/model/photo.js:994 -#: src/model/photo.js:1016 src/model/photo.js:1061 src/model/photo.js:1074 +#: src/page/settings/account.vue:457 src/page/settings/account.vue:482 +#: src/page/settings/account.vue:507 src/common/util.js:488 +#: src/component/photo/edit/details.vue:27 +#: src/component/photo/edit/details.vue:113 +#: src/component/photo/edit/details.vue:140 +#: src/component/photo/edit/details.vue:166 src/component/sidebar/info.vue:43 +#: src/model/album.js:193 src/model/photo.js:331 src/model/photo.js:821 +#: src/model/photo.js:846 src/model/photo.js:869 src/model/photo.js:887 +#: src/model/photo.js:934 src/model/photo.js:942 src/model/photo.js:1031 +#: src/model/photo.js:1053 src/model/photo.js:1098 src/model/photo.js:1111 #: src/model/user.js:157 src/options/options.js:51 src/options/options.js:69 #: src/options/options.js:86 src/options/options.js:100 #: src/options/options.js:112 src/page/library/errors.vue:251 @@ -3119,7 +3158,7 @@ msgstr "Okänd" msgid "Unregistered" msgstr "Oregistrerad" -#: src/app/routes.js:215 src/component/navigation.vue:644 +#: src/app/routes.js:223 src/component/navigation.vue:648 msgid "Unsorted" msgstr "Osorterad" @@ -3127,7 +3166,7 @@ msgstr "Osorterad" msgid "Unstack" msgstr "Avstapla" -#: src/component/photo/edit/files.vue:519 src/component/photo/edit/info.vue:416 +#: src/component/photo/edit/files.vue:521 src/component/photo/edit/info.vue:416 msgid "Updated" msgstr "Senast uppdaterad" @@ -3143,7 +3182,7 @@ msgstr "Uppdatering av index" msgid "Updating moments" msgstr "Uppdatering av ögonblick" -#: src/component/user/edit/dialog.vue:154 +#: src/component/user/edit/dialog.vue:155 msgid "Updating picture…" msgstr "Uppdatering av förhandsgranskningar…" @@ -3155,21 +3194,21 @@ msgstr "Uppdatering av förhandsgranskningar" msgid "Updating stacks" msgstr "Uppdatering av staplar" -#: src/page/connect.vue:57 src/component/navigation.vue:1500 -#: src/component/navigation.vue:1614 src/component/navigation.vue:1999 +#: src/page/connect.vue:57 src/component/navigation.vue:1526 +#: src/component/navigation.vue:1644 src/component/navigation.vue:2047 #: src/page/connect.vue:58 msgid "Upgrade" msgstr "Uppgradera" -#: src/page/about/about.vue:123 src/page/connect.vue:202 -#: src/component/confirm/sponsor.vue:98 src/page/about/about.vue:113 -#: src/page/connect.vue:206 +#: src/page/about/about.vue:124 src/page/connect.vue:204 +#: src/component/confirm/sponsor.vue:99 src/page/about/about.vue:114 +#: src/page/connect.vue:208 msgid "Upgrade Now" msgstr "Uppgradera nu" -#: src/component/album/toolbar.vue:108 src/component/navigation.vue:1824 -#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:144 -#: src/component/upload/dialog.vue:51 src/page/albums.vue:183 +#: src/component/album/toolbar.vue:113 src/component/navigation.vue:1860 +#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:145 +#: src/component/upload/dialog.vue:51 src/page/albums.vue:185 #: src/page/labels.vue:122 src/page/library/import.vue:133 #: src/page/settings/general.vue:307 src/page/settings/services.vue:38 msgid "Upload" @@ -3179,21 +3218,21 @@ msgstr "Ladda upp" msgid "Upload complete" msgstr "Uppladdningen är klar" -#: src/component/upload/dialog.vue:133 +#: src/component/upload/dialog.vue:135 msgid "Upload complete. Indexing…" msgstr "Uppladdningen är klar. Indexerar…" #: src/component/upload/dialog.vue:296 src/component/upload/dialog.vue:315 -#: src/component/upload/dialog.vue:129 +#: src/component/upload/dialog.vue:131 msgid "Upload failed" msgstr "Uppladdning misslyckades" -#: src/component/service/edit.vue:257 +#: src/component/service/edit.vue:258 msgid "Upload local files" msgstr "Ladda upp lokala filer" -#: src/component/user/edit/dialog.vue:380 #: src/component/user/edit/dialog.vue:381 +#: src/component/user/edit/dialog.vue:382 msgid "Upload Path" msgstr "Sökväg för uppladdning" @@ -3201,7 +3240,7 @@ msgstr "Sökväg för uppladdning" msgid "Upload to WebDAV and share links with friends." msgstr "Ladda upp till WebDAV och dela länkar med vänner." -#: src/component/upload/dialog.vue:131 +#: src/component/upload/dialog.vue:133 msgid "Uploading %{n} of %{t}…" msgstr "Laddar upp %{n} av %{t}…" @@ -3214,7 +3253,7 @@ msgstr "Laddar upp foton…" msgid "Uploading…" msgstr "Laddar om …" -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Uploads that may contain such images will be rejected automatically." msgstr "Uppladdningar som kan innehålla sådana bilder kommer automatiskt att avvisas." @@ -3222,7 +3261,7 @@ msgstr "Uppladdningar som kan innehålla sådana bilder kommer automatiskt att a msgid "Use Presets" msgstr "Använd förinställningar" -#: src/component/settings/passcode.vue:283 +#: src/component/settings/passcode.vue:286 msgid "Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:" msgstr "Använd följande återställningskod för att komma åt ditt konto när du inte kan generera en giltig verifieringskod med din autentiseringsapp:" @@ -3230,12 +3269,12 @@ msgstr "Använd följande återställningskod för att komma åt ditt konto när msgid "Use your recovery code or contact an administrator for help." msgstr "Använd din återställningskod eller kontakta en administratör för att få hjälp." -#: src/options/admin.js:10 src/page/admin/sessions.vue:59 -#: src/page/admin/sessions.vue:242 src/model/user.js:361 src/options/auth.js:7 +#: src/options/admin.js:14 src/page/admin/sessions.vue:59 +#: src/page/admin/sessions.vue:243 src/model/user.js:361 src/options/auth.js:8 msgid "User" msgstr "Användare" -#: src/component/navigation.vue:1979 +#: src/component/navigation.vue:2025 msgid "User Guide" msgstr "Användarhandbok" @@ -3243,14 +3282,14 @@ msgstr "Användarhandbok" msgid "User Interface" msgstr "Användargränssnitt" -#: src/component/user/add/dialog.vue:87 src/component/user/add/dialog.vue:88 -#: src/page/admin/sessions.vue:220 src/page/admin/users.vue:71 -#: src/component/service/add.vue:85 src/component/service/edit.vue:337 +#: src/component/user/add/dialog.vue:88 src/component/user/add/dialog.vue:89 +#: src/page/admin/sessions.vue:221 src/page/admin/users.vue:73 +#: src/component/service/add.vue:86 src/component/service/edit.vue:338 #: src/component/share/dialog.vue:26 msgid "Username" msgstr "Användarnamn" -#: src/component/navigation.vue:1435 +#: src/component/navigation.vue:1461 msgid "Users" msgstr "Användare" @@ -3260,18 +3299,18 @@ msgstr "Användare" msgid "Vector" msgstr "Vektor" -#: src/component/navigation.vue:440 +#: src/component/navigation.vue:442 msgid "Vectors" msgstr "Vektorer" -#: src/component/settings/passcode.vue:227 src/page/auth/login.vue:144 +#: src/component/settings/passcode.vue:230 src/page/auth/login.vue:144 msgid "Verification Code" msgstr "Verifierings kod" #: src/component/photo/view/cards.vue:363 #: src/component/photo/view/cards.vue:491 src/component/photo/view/list.vue:190 #: src/component/photo/view/mosaic.vue:207 src/model/file.js:221 -#: src/model/photo.js:921 src/model/photo.js:939 src/options/options.js:293 +#: src/model/photo.js:958 src/model/photo.js:976 src/options/options.js:293 msgid "Video" msgstr "Video" @@ -3280,12 +3319,12 @@ msgstr "Video" msgid "Video Duration" msgstr "Varaktighet" -#: src/app/routes.js:243 src/component/navigation.vue:728 +#: src/app/routes.js:251 src/component/navigation.vue:734 #: src/options/options.js:200 msgid "Videos" msgstr "Videofilmer" -#: src/component/photo/toolbar.vue:261 src/component/photo/view/cards.vue:350 +#: src/component/photo/toolbar.vue:263 src/component/photo/view/cards.vue:350 #: src/component/photo/view/mosaic.vue:194 msgid "View" msgstr "Visa" @@ -3294,11 +3333,11 @@ msgstr "Visa" msgid "View search results as a list." msgstr "Visa sökresultaten som en lista." -#: src/options/admin.js:14 src/options/auth.js:8 +#: src/options/admin.js:18 src/options/auth.js:9 msgid "Viewer" msgstr "Visare" -#: src/page/admin/sessions.vue:271 src/options/auth.js:12 +#: src/page/admin/sessions.vue:272 src/options/auth.js:13 msgid "Visitor" msgstr "Besökare" @@ -3310,34 +3349,34 @@ msgstr "Gruppera efter likhet" msgid "Warning" msgstr "Varning" -#: src/page/about/feedback.vue:60 +#: src/page/about/feedback.vue:61 msgid "We appreciate your feedback!" msgstr "Vi uppskattar din feedback!" -#: src/page/about/feedback.vue:63 +#: src/page/about/feedback.vue:64 msgid "We do our best to respond within five business days or less." msgstr "Vi gör vårt bästa för att svara inom fem arbetsdagar eller mindre." -#: src/component/user/add/dialog.vue:235 src/component/user/edit/dialog.vue:415 -#: src/page/admin/users.vue:80 +#: src/component/user/add/dialog.vue:236 src/component/user/edit/dialog.vue:416 +#: src/page/admin/users.vue:82 msgid "Web Login" msgstr "Webinloggning" -#: src/component/user/add/dialog.vue:248 src/component/user/edit/dialog.vue:432 -#: src/page/admin/users.vue:82 src/options/auth.js:55 src/options/auth.js:68 +#: src/component/user/add/dialog.vue:249 src/component/user/edit/dialog.vue:433 +#: src/page/admin/users.vue:84 src/options/auth.js:56 src/options/auth.js:69 #: src/options/options.js:444 msgid "WebDAV" msgstr "WebDAV" -#: src/component/settings/webdav.vue:51 +#: src/component/settings/webdav.vue:52 msgid "WebDAV clients can connect to PhotoPrism using the following URL:" msgstr "WebDAV-klienter kan ansluta till PhotoPrism via följande URL:" -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism." msgstr "WebDAV-klienter, som Microsoft Windows Explorer och Apple Finder, kan ansluta direkt till PhotoPrism." -#: src/component/service/upload.vue:50 src/component/share/dialog.vue:220 +#: src/component/service/upload.vue:51 src/component/share/dialog.vue:220 msgid "WebDAV Upload" msgstr "WebDAV-uppladdning" @@ -3345,8 +3384,8 @@ msgstr "WebDAV-uppladdning" msgid "WebGL support is disabled in your browser" msgstr "WebGL-stödet är inaktiverat i din webbläsare" -#: src/page/settings/account.vue:615 src/page/settings/account.vue:709 -#: src/page/settings/account.vue:601 +#: src/page/settings/account.vue:621 src/page/settings/account.vue:715 +#: src/page/settings/account.vue:607 msgid "Website" msgstr "Webbplats" @@ -3354,12 +3393,12 @@ msgstr "Webbplats" msgid "White" msgstr "Vit" -#: src/page/settings/account.vue:532 +#: src/page/settings/account.vue:538 msgid "Work Details" msgstr "Detaljer" -#: src/page/settings/account.vue:500 src/component/photo/edit/details.vue:163 -#: src/component/photo/toolbar.vue:315 src/page/albums.vue:159 +#: src/page/settings/account.vue:506 src/component/photo/edit/details.vue:165 +#: src/component/photo/toolbar.vue:317 src/page/albums.vue:159 msgid "Year" msgstr "År" @@ -3367,21 +3406,21 @@ msgstr "År" msgid "Yellow" msgstr "Gul" -#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:58 -#: src/component/photo/archive/dialog.vue:58 +#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:59 +#: src/component/photo/archive/dialog.vue:59 #: src/component/photo/clipboard.vue:200 src/component/photo/edit/files.vue:365 #: src/component/photo/edit/files.vue:395 #: src/component/photo/edit/files.vue:401 #: src/component/photo/edit/files.vue:407 -#: src/component/photo/edit/files.vue:510 src/component/photo/edit/info.vue:281 +#: src/component/photo/edit/files.vue:512 src/component/photo/edit/info.vue:281 #: src/component/photo/edit/info.vue:297 src/component/photo/edit/info.vue:313 #: src/component/photo/edit/info.vue:329 src/component/photo/edit/info.vue:344 -#: src/component/photo/toolbar.vue:434 +#: src/component/photo/toolbar.vue:436 msgid "Yes" msgstr "Ja" -#: src/component/confirm/sponsor.vue:59 src/page/about/about.vue:158 -#: src/page/connect.vue:315 +#: src/component/confirm/sponsor.vue:60 src/page/about/about.vue:160 +#: src/page/connect.vue:317 msgid "You are welcome to contact us at membership@photoprism.app for questions regarding your membership." msgstr "Du är välkommen att kontakta oss på membership@photoprism.app om du har frågor om ditt medlemskap." @@ -3393,7 +3432,11 @@ msgstr "Du kan bara ladda ner ett album" msgid "You can only download one label" msgstr "Du kan bara ladda ner en etikett" -#: src/component/upload/dialog.vue:203 +#: src/component/location/dialog.vue:178 +msgid "You can search for a location or move the marker on the map to change the position:" +msgstr "Du kan söka efter en plats eller flytta markören på kartan för att ändra position:" + +#: src/component/upload/dialog.vue:205 msgid "You can upload up to %{n} files for test purposes." msgstr "Du kan ladda upp till %{n} filer för teständamål." @@ -3406,7 +3449,7 @@ msgstr "Du kan bara välja ett objekt" msgid "You may rescan your library to find additional faces." msgstr "Du kan söka igenom ditt bildbibliotek på nytt för att hitta fler personer/ansikten." -#: src/page/connect.vue:146 src/page/connect.vue:150 +#: src/page/connect.vue:147 src/page/connect.vue:151 msgid "Your account has been successfully connected." msgstr "Ditt konto har kopplats upp." @@ -3414,8 +3457,8 @@ msgstr "Ditt konto har kopplats upp." msgid "Your browser does not support WebGL" msgstr "Din webbläsare har inte stöd för WebGL" -#: src/component/confirm/sponsor.vue:43 src/page/about/about.vue:97 -#: src/page/about/about.vue:156 src/page/connect.vue:220 +#: src/component/confirm/sponsor.vue:44 src/page/about/about.vue:98 +#: src/page/about/about.vue:158 src/page/connect.vue:222 msgid "Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy." msgstr "Ditt fortsatta stöd hjälper oss att tillhandahålla regelbundna uppdateringar och tjänster som t ex världskartor." @@ -3496,9 +3539,6 @@ msgstr "Zooma in/ut" #~ msgid "Open Folder" #~ msgstr "Öppna mapp" -#~ msgid "Cannot copy to clipboard" -#~ msgstr "Det går inte att kopiera till urklipp" - #~ msgid "Sound" #~ msgstr "Ljud" diff --git a/frontend/src/locales/th.po b/frontend/src/locales/th.po index 514905712..e78a0039f 100644 --- a/frontend/src/locales/th.po +++ b/frontend/src/locales/th.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: ci@photoprism.app\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2025-04-04 08:03+0000\n" +"PO-Revision-Date: 2025-07-06 08:58+0000\n" "Last-Translator: Google Cloud Translation Basic \n" "Language-Team: \n" "Language: th\n" @@ -11,7 +11,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.10.4\n" +"X-Generator: Weblate 5.12.2\n" "Generated-By: easygettext\n" #: src/locales.js:268 @@ -42,7 +42,7 @@ msgstr "{0} เลือกแล้ว" msgid "{0}-{1} of {2}" msgstr "{0}-{1} จาก {2}" -#: src/page/albums.vue:612 +#: src/page/albums.vue:617 msgid "%{n} albums found" msgstr "พบ %{n} อัลบั้ม" @@ -50,25 +50,25 @@ msgstr "พบ %{n} อัลบั้ม" msgid "%{n} files uploaded" msgstr "อัปโหลดแล้ว %{n} ไฟล์" -#: src/page/library/browse.vue:362 +#: src/page/library/browse.vue:364 msgid "%{n} folders found" msgstr "พบ %{n} โฟลเดอร์" -#: src/component/navigation.vue:1676 +#: src/component/navigation.vue:1707 msgid "%{n} GB of %{q} GB used" msgstr "%{n} GB จาก %{q} GB ที่ใช้" -#: src/page/labels.vue:528 +#: src/page/labels.vue:533 msgid "%{n} labels found" msgstr "พบ %{n} ป้ายกำกับ" -#: src/page/people/new.vue:350 src/page/people/new.vue:447 -#: src/page/people/recognized.vue:536 +#: src/page/people/new.vue:350 src/page/people/new.vue:450 +#: src/page/people/recognized.vue:541 msgid "%{n} people found" msgstr "พบบุคคล %{n} คน" -#: src/page/album/photos.vue:308 src/page/album/photos.vue:493 -#: src/page/photos.vue:441 src/page/photos.vue:631 +#: src/page/album/photos.vue:313 src/page/album/photos.vue:504 +#: src/page/photos.vue:446 src/page/photos.vue:641 msgid "%{n} pictures found" msgstr "พบ %{n} รูปภาพ" @@ -88,12 +88,12 @@ msgstr "1 ชั่วโมง" msgid "12 hours" msgstr "12 ชั่วโมง" -#: src/component/user/edit/dialog.vue:452 src/page/settings/account.vue:324 -#: src/component/settings/passcode.vue:75 +#: src/component/user/edit/dialog.vue:453 src/page/settings/account.vue:325 +#: src/component/settings/passcode.vue:78 msgid "2-Factor Authentication" msgstr "การรับรองความถูกต้องแบบ 2 ปัจจัย" -#: src/component/user/edit/dialog.vue:451 src/options/auth.js:46 +#: src/component/user/edit/dialog.vue:452 src/options/auth.js:47 msgid "2FA" msgstr "2FA" @@ -109,20 +109,20 @@ msgstr "คลิกเพื่อคัดลอกไปยังคลิป msgid "A new version of %{s} is available:" msgstr "%{s} เวอร์ชันใหม่พร้อมให้ใช้งานแล้ว:" -#: src/component/user/edit/dialog.vue:233 -#: src/component/user/edit/dialog.vue:234 src/page/about/about.vue:56 +#: src/component/user/edit/dialog.vue:234 +#: src/component/user/edit/dialog.vue:235 src/page/about/about.vue:56 #: src/page/settings/account.vue:248 src/page/settings/account.vue:249 -#: src/app/routes.js:63 src/component/navigation.vue:1521 -#: src/page/people/recognized.vue:292 +#: src/app/routes.js:63 src/component/navigation.vue:1547 +#: src/page/people/recognized.vue:296 msgid "About" msgstr "เกี่ยวกับ" -#: src/options/auth.js:26 src/options/auth.js:44 +#: src/options/auth.js:27 src/options/auth.js:45 msgid "Access Token" msgstr "โทเค็นการเข้าถึง" -#: src/component/navigation.vue:87 src/component/navigation.vue:1788 -#: src/component/service/upload.vue:71 src/model/service.js:96 +#: src/component/navigation.vue:87 src/component/navigation.vue:1822 +#: src/component/service/upload.vue:72 src/model/service.js:96 #: src/model/user.js:171 src/page/settings.vue:85 #: src/page/settings/general.vue:582 msgid "Account" @@ -136,7 +136,7 @@ msgstr "สร้างบัญชีแล้ว" msgid "Account deleted" msgstr "ลบบัญชีแล้ว" -#: src/page/admin/users.vue:335 +#: src/page/admin/users.vue:337 msgid "Account restored" msgstr "บัญชีได้รับการคืนสภาพแล้ว" @@ -157,8 +157,8 @@ msgstr "การกระทำ" msgid "Actions" msgstr "การกระทำ" -#: src/page/connect.vue:294 src/component/settings/passcode.vue:346 -#: src/page/connect.vue:303 +#: src/page/connect.vue:296 src/component/settings/passcode.vue:349 +#: src/page/connect.vue:305 msgid "Activate" msgstr "เปิดใช้งาน" @@ -174,20 +174,20 @@ msgstr "เปิดใช้งานเพื่อเรียงลำดั msgid "Activate to sort descending." msgstr "เปิดใช้งานการเรียงลำดับจากมากไปน้อย" -#: src/page/connect.vue:231 src/page/connect.vue:240 +#: src/page/connect.vue:233 src/page/connect.vue:242 msgid "Activation Code" msgstr "รหัสเปิดใช้งาน" -#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:83 -#: src/component/settings/apps.vue:448 +#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:92 +#: src/component/settings/apps.vue:451 msgid "Add" msgstr "เพิ่ม" -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:246 msgid "Add %{s}?" msgstr "เพิ่ม %{s}?" -#: src/component/user/add/dialog.vue:56 src/component/service/add.vue:49 +#: src/component/user/add/dialog.vue:57 src/component/service/add.vue:50 msgid "Add Account" msgstr "แก้ไขบัญชี" @@ -204,8 +204,8 @@ msgid "Add Link" msgstr "เพิ่มลิงก์" #: src/component/photo/edit/people.vue:25 -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:57 -#: src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:57 +#: src/page/people/new.vue:246 msgid "Add person?" msgstr "เพิ่มบุคคล?" @@ -221,10 +221,15 @@ msgstr "เพิ่มรูปภาพจากผลการค้นหา msgid "Add to album" msgstr "เพิ่มไปยังอัลบั้ม" -#: src/component/photo/edit/files.vue:514 +#: src/component/photo/edit/files.vue:516 msgid "Added" msgstr "เพิ่มแล้ว" +#: src/component/location/dialog.vue:68 src/component/location/dialog.vue:90 +#: src/component/photo/edit/details.vue:246 +msgid "Adjust Location" +msgstr "ปรับตำแหน่ง" + #: src/options/admin.js:6 src/options/auth.js:6 msgid "Admin" msgstr "ผู้ดูแลระบบ" @@ -245,7 +250,7 @@ msgstr "หลังจาก 3 วัน" msgid "After 7 days" msgstr "หลังจาก 7 วัน" -#: src/component/settings/passcode.vue:93 +#: src/component/settings/passcode.vue:96 msgid "After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:" msgstr "หลังจากป้อนรหัสผ่านเพื่อยืนยัน คุณสามารถตั้งค่าการตรวจสอบสิทธิ์แบบสองปัจจัยด้วยแอพหรืออุปกรณ์ตรวจสอบสิทธิ์ที่เข้ากันได้:" @@ -277,12 +282,16 @@ msgstr "อัลบั้ม" msgid "Album Backups" msgstr "การสำรองข้อมูลอัลบั้ม" -#: src/page/albums.vue:674 +#: src/page/albums.vue:685 msgid "Album created" msgstr "สร้างอัลบั้มแล้ว" -#: src/app/routes.js:176 src/component/album/toolbar.vue:51 -#: src/component/navigation.vue:604 src/component/navigation.vue:1882 +#: src/page/album/photos.vue:589 +msgid "Album deleted" +msgstr "อัลบั้มถูกลบแล้ว" + +#: src/app/routes.js:184 src/component/album/toolbar.vue:55 +#: src/component/navigation.vue:607 src/component/navigation.vue:1922 #: src/component/photo/edit/info.vue:220 src/options/options.js:198 msgid "Albums" msgstr "อัลบั้ม" @@ -295,7 +304,7 @@ msgstr "ลบอัลบั้มแล้ว" msgid "All" msgstr "ทั้งหมด" -#: src/page/albums.vue:465 +#: src/page/albums.vue:470 msgid "All %{n} albums loaded" msgstr "โหลด %{n} อัลบั้มทั้งหมดแล้ว" @@ -311,8 +320,8 @@ msgstr "โหลด %{n} คนทั้งหมดแล้ว" msgid "All Cameras" msgstr "กล้องทั้งหมด" -#: src/component/photo/toolbar.vue:74 src/page/albums.vue:44 -#: src/page/albums.vue:240 src/page/albums.vue:746 +#: src/component/photo/toolbar.vue:74 src/page/albums.vue:45 +#: src/page/albums.vue:242 src/page/albums.vue:757 msgid "All Categories" msgstr "หมวดหมู่ทั้งหมด" @@ -344,7 +353,7 @@ msgstr "เดือนทั้งหมด" msgid "All originals" msgstr "ต้นฉบับทั้งหมด" -#: src/component/photo/toolbar.vue:76 src/page/albums.vue:93 +#: src/component/photo/toolbar.vue:76 src/page/albums.vue:94 msgid "All Years" msgstr "ปีทั้งหมด" @@ -356,7 +365,7 @@ msgstr "หรือคุณสามารถอัปโหลดไฟล์ msgid "Altitude" msgstr "ระดับความสูง" -#: src/component/photo/edit/details.vue:272 +#: src/component/photo/edit/details.vue:297 msgid "Altitude (m)" msgstr "ระดับความสูง (ม.)" @@ -364,8 +373,7 @@ msgstr "ระดับความสูง (ม.)" msgid "AM" msgstr "เช้า" -#: src/app/routes.js:257 src/component/navigation.vue:791 -#: src/component/photo/edit/files.vue:364 +#: src/app/routes.js:265 src/component/photo/edit/files.vue:364 #: src/component/photo/view/cards.vue:327 #: src/component/photo/view/cards.vue:511 src/component/photo/view/list.vue:184 #: src/component/photo/view/mosaic.vue:171 src/options/options.js:301 @@ -376,43 +384,47 @@ msgstr "เคลื่อนไหว" msgid "Animation" msgstr "แอนิเมชัน" +#: src/component/navigation.vue:797 +msgid "Animations" +msgstr "แอนิเมชั่น" + #: src/component/share/dialog.vue:207 msgid "Any private photos and videos remain private and won't be shared." msgstr "รูปภาพและวิดีโอส่วนตัวทั้งหมดจะยังคงเป็นส่วนตัว และจะไม่แชร์กับผู้อื่น" -#: src/component/service/edit.vue:372 +#: src/component/service/edit.vue:373 msgid "API Key" msgstr "กุญแจ API" -#: src/page/admin/sessions.vue:357 src/options/auth.js:25 +#: src/page/admin/sessions.vue:361 src/options/auth.js:26 msgid "Application" msgstr "แอปพลิเคชัน" -#: src/component/photo/edit/details.vue:641 +#: src/component/photo/edit/details.vue:615 msgid "Apply" msgstr "ปรับใช้" #: src/component/photo/clipboard.vue:64 -#: src/component/photo/edit/details.vue:640 +#: src/component/photo/edit/details.vue:614 #: src/component/photo/view/cards.vue:416 msgid "Approve" msgstr "อนุมัติ" -#: src/page/settings/account.vue:374 src/component/settings/apps.vue:91 +#: src/page/settings/account.vue:378 src/component/settings/apps.vue:94 msgid "Apps and Devices" msgstr "แอพและอุปกรณ์" -#: src/app/routes.js:287 src/component/lightbox.vue:1207 -#: src/component/navigation.vue:555 src/component/photo/clipboard.vue:142 +#: src/app/routes.js:295 src/component/lightbox.vue:1207 +#: src/component/navigation.vue:557 src/component/photo/clipboard.vue:142 #: src/component/photo/view/cards.vue:398 src/page/settings/general.vue:432 msgid "Archive" msgstr "คลังเก็บเอกสารสำคัญ" -#: src/component/lightbox.vue:1982 src/component/photo/edit/info.vue:433 +#: src/component/lightbox.vue:2002 src/component/photo/edit/info.vue:433 msgid "Archived" msgstr "ที่เก็บถาวร" -#: src/component/photo/archive/dialog.vue:34 +#: src/component/photo/archive/dialog.vue:35 msgid "Are you sure you want to archive the selection?" msgstr "คุณแน่ใจหรือไม่ว่าต้องการเก็บถาวรส่วนที่เลือก" @@ -420,19 +432,23 @@ msgstr "คุณแน่ใจหรือไม่ว่าต้องกา msgid "Are you sure you want to delete these albums?" msgstr "คุณแน่ใจหรือไม่ว่าต้องการลบอัลบั้มเหล่านี้" -#: src/component/label/delete/dialog.vue:34 +#: src/component/label/delete/dialog.vue:35 msgid "Are you sure you want to delete these labels?" msgstr "คุณแน่ใจหรือไม่ว่าต้องการลบป้ายกำกับเหล่านี้" -#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:36 +#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:37 msgid "Are you sure you want to delete this account?" msgstr "คุณแน่ใจหรือไม่ว่าต้องการลบบัญชีนี้" +#: src/component/album/toolbar.vue:136 +msgid "Are you sure you want to delete this album?" +msgstr "คุณแน่ใจว่าต้องการลบอัลบั้มนี้หรือไม่?" + #: src/component/photo/clipboard.vue:199 msgid "Are you sure you want to permanently delete these pictures?" msgstr "คุณแน่ใจหรือไม่ว่าต้องการลบรูปภาพเหล่านี้อย่างถาวร" -#: src/component/file/delete/dialog.vue:34 +#: src/component/file/delete/dialog.vue:35 msgid "Are you sure you want to permanently delete this file?" msgstr "คุณแน่ใจหรือไม่ว่าต้องการลบไฟล์นี้อย่างถาวร" @@ -441,7 +457,7 @@ msgstr "คุณแน่ใจหรือไม่ว่าต้องกา msgid "Are you sure?" msgstr "คุณแน่ใจหรือไม่?" -#: src/component/photo/edit/details.vue:537 +#: src/component/photo/edit/details.vue:511 msgid "Artist" msgstr "ศิลปิน" @@ -449,14 +465,14 @@ msgstr "ศิลปิน" msgid "Aspect Ratio" msgstr "อัตราส่วน" -#: src/app/routes.js:250 src/component/navigation.vue:770 +#: src/app/routes.js:258 src/component/navigation.vue:776 #: src/options/options.js:297 msgid "Audio" msgstr "เสียง" -#: src/component/user/add/dialog.vue:190 src/component/user/edit/dialog.vue:309 -#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:281 -#: src/page/admin/users.vue:75 +#: src/component/user/add/dialog.vue:191 src/component/user/edit/dialog.vue:310 +#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:282 +#: src/page/admin/users.vue:77 msgid "Authentication" msgstr "การรับรองความถูกต้อง" @@ -464,11 +480,11 @@ msgstr "การรับรองความถูกต้อง" msgid "Auto" msgstr "ออโต้" -#: src/component/settings/apps.vue:151 +#: src/component/settings/apps.vue:154 msgid "Back" msgstr "กลับ" -#: src/component/scroll.vue:20 +#: src/component/scroll.vue:18 msgid "Back to top" msgstr "กลับสู่ด้านบน" @@ -480,26 +496,26 @@ msgstr "สำรองข้อมูล" msgid "Badge" msgstr "ป้าย" -#: src/component/user/edit/dialog.vue:361 #: src/component/user/edit/dialog.vue:362 +#: src/component/user/edit/dialog.vue:363 msgid "Base Path" msgstr "เส้นทางฐาน" -#: src/page/about/about.vue:95 src/page/connect.vue:220 +#: src/page/about/about.vue:96 src/page/connect.vue:222 msgid "Become a member today, support our mission and enjoy our member benefits!" msgstr "เป็นสมาชิกวันนี้ สนับสนุนพันธกิจของเรา และเพลิดเพลินไปกับสิทธิประโยชน์สำหรับสมาชิกของเรา!" -#: src/component/confirm/sponsor.vue:51 src/page/about/about.vue:99 +#: src/component/confirm/sponsor.vue:52 src/page/about/about.vue:100 msgid "Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services." msgstr "ด้วยการจัดหาเงินทุนด้วยตนเองและเป็นอิสระ 100% เราสามารถสัญญากับคุณได้ว่าเราจะไม่ขายข้อมูลของคุณและเราจะมีความโปร่งใสเกี่ยวกับซอฟต์แวร์และบริการของเราเสมอ" -#: src/component/user/edit/dialog.vue:258 -#: src/component/user/edit/dialog.vue:259 src/page/settings/account.vue:227 +#: src/component/user/edit/dialog.vue:259 +#: src/component/user/edit/dialog.vue:260 src/page/settings/account.vue:227 #: src/page/settings/account.vue:228 msgid "Bio" msgstr "ไปโอ" -#: src/page/settings/account.vue:431 +#: src/page/settings/account.vue:437 msgid "Birth Date" msgstr "วันที่เกิด" @@ -520,7 +536,7 @@ msgid "Brown" msgstr "สีน้ำตาล" #: src/component/photo/edit/files.vue:263 src/component/photo/toolbar.vue:141 -#: src/component/upload/dialog.vue:240 +#: src/component/upload/dialog.vue:242 msgid "Browse" msgstr "เรียกดู" @@ -548,16 +564,16 @@ msgstr "รายงานข้อผิดพลาด" msgid "Busy, please wait…" msgstr "ไม่ว่าง โปรดรอ…" -#: src/page/connect.vue:317 +#: src/page/connect.vue:319 msgid "By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct." msgstr "โดยการใช้ซอฟต์แวร์และบริการที่เรามอบให้ แสดงว่าคุณยอมรับข้อกำหนดในการให้บริการ นโยบายความเป็นส่วนตัว และจรรยาบรรณของเรา" -#: src/app/routes.js:189 src/component/navigation.vue:1081 +#: src/app/routes.js:197 src/component/navigation.vue:1097 #: src/options/options.js:204 src/page/settings/general.vue:205 msgid "Calendar" msgstr "ปฏิทิน" -#: src/component/photo/edit/details.vue:346 src/component/photo/toolbar.vue:232 +#: src/component/photo/edit/details.vue:320 src/component/photo/toolbar.vue:234 #: src/component/photo/view/cards.vue:467 src/component/photo/view/list.vue:116 msgid "Camera" msgstr "กล้อง" @@ -570,12 +586,12 @@ msgstr "อนุกรมกล้อง" msgid "Can't access your authenticator app or device?" msgstr "ไม่สามารถเข้าถึงแอปหรืออุปกรณ์ยืนยันตัวตนของคุณได้ใช่ไหม" -#: src/page/album/photos.vue:317 src/page/photos.vue:450 +#: src/page/album/photos.vue:322 src/page/photos.vue:455 msgid "Can't load more, limit reached" msgstr "โหลดเพิ่มไม่ได้แล้ว หมดเขตแล้ว" #: src/common/clipboard.js:102 src/common/clipboard.js:139 -#: src/page/albums.vue:684 src/page/albums.vue:700 src/page/labels.vue:293 +#: src/page/albums.vue:695 src/page/albums.vue:711 src/page/labels.vue:293 #: src/page/labels.vue:313 src/page/library/browse.vue:233 #: src/page/library/browse.vue:249 src/page/people/new.vue:278 #: src/page/people/new.vue:294 src/page/people/recognized.vue:305 @@ -584,26 +600,31 @@ msgid "Can't select more items" msgstr "ไม่สามารถเลือกรายการเพิ่มเติมได้" #: src/component/session/remove/dialog.vue:45 -#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:473 -#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:119 +#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:474 +#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:120 #: src/component/album/delete/dialog.vue:43 -#: src/component/album/edit/dialog.vue:199 src/component/confirm/dialog.vue:43 -#: src/component/file/delete/dialog.vue:47 -#: src/component/label/delete/dialog.vue:47 -#: src/component/label/edit/dialog.vue:107 -#: src/component/people/edit/dialog.vue:120 +#: src/component/album/edit/dialog.vue:200 src/component/confirm/dialog.vue:43 +#: src/component/file/delete/dialog.vue:48 +#: src/component/label/delete/dialog.vue:48 +#: src/component/label/edit/dialog.vue:108 +#: src/component/location/dialog.vue:200 +#: src/component/people/edit/dialog.vue:121 #: src/component/photo/album/dialog.vue:78 src/component/service/add.vue:19 -#: src/component/service/edit.vue:455 src/component/service/remove.vue:49 -#: src/component/service/upload.vue:117 src/component/settings/apps.vue:352 -#: src/component/settings/passcode.vue:249 -#: src/component/settings/passcode.vue:333 -#: src/component/settings/password.vue:159 src/component/share/dialog.vue:28 -#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:123 +#: src/component/service/edit.vue:456 src/component/service/remove.vue:50 +#: src/component/service/upload.vue:118 src/component/settings/apps.vue:355 +#: src/component/settings/passcode.vue:252 +#: src/component/settings/passcode.vue:336 +#: src/component/settings/password.vue:160 src/component/share/dialog.vue:28 +#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:124 #: src/page/library/import.vue:119 src/page/library/index.vue:128 msgid "Cancel" msgstr "ยกเลิก" -#: src/component/photo/edit/details.vue:87 src/component/photo/edit/info.vue:61 +#: src/common/util.js:863 src/common/util.js:870 +msgid "Cannot copy to clipboard" +msgstr "ไม่สามารถคัดลอกไปยังคลิปบอร์ดได้" + +#: src/component/photo/edit/details.vue:89 src/component/photo/edit/info.vue:63 #: src/component/photo/edit/labels.vue:42 #: src/component/photo/view/cards.vue:445 src/component/sidebar/info.vue:72 msgid "Caption" @@ -617,17 +638,17 @@ msgstr "การ์ด" msgid "Carousel slide {0} of {1}" msgstr "สไลด์หมุน {0} จาก {1}" -#: src/page/about/feedback.vue:82 src/page/about/feedback.vue:83 -#: src/component/album/edit/dialog.vue:128 src/component/photo/toolbar.vue:397 +#: src/page/about/feedback.vue:83 src/page/about/feedback.vue:84 +#: src/component/album/edit/dialog.vue:129 src/component/photo/toolbar.vue:399 #: src/page/albums.vue:187 msgid "Category" msgstr "หมวดหมู่" -#: src/component/user/edit/dialog.vue:191 src/page/settings/account.vue:201 +#: src/component/user/edit/dialog.vue:192 src/page/settings/account.vue:201 msgid "Change Avatar" msgstr "เปลี่ยนแฟล็กส่วนตัว" -#: src/page/settings/account.vue:297 src/component/settings/password.vue:48 +#: src/page/settings/account.vue:297 src/component/settings/password.vue:49 msgid "Change Password" msgstr "รหัสผ่านใหม่" @@ -644,17 +665,17 @@ msgid "Change private flag" msgstr "เปลี่ยนแฟล็กส่วนตัว" #: src/component/user/add/dialog.vue:108 src/component/user/add/dialog.vue:113 -#: src/component/user/edit/dialog.vue:90 src/component/user/edit/dialog.vue:95 +#: src/component/user/edit/dialog.vue:91 src/component/user/edit/dialog.vue:96 #: src/page/settings/account.vue:121 src/page/settings/account.vue:126 msgid "Changes could not be saved" msgstr "ไม่สามารถบันทึกการเปลี่ยนแปลง" -#: src/component/user/edit/dialog.vue:83 src/component/user/edit/dialog.vue:159 +#: src/component/user/edit/dialog.vue:84 src/component/user/edit/dialog.vue:160 #: src/component/album/edit/dialog.vue:73 -#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1941 +#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1961 #: src/component/photo/edit/files.vue:162 src/component/service/edit.vue:90 #: src/component/share/dialog.vue:92 src/component/share/dialog.vue:111 -#: src/page/albums.vue:677 src/page/people/recognized.vue:119 +#: src/page/albums.vue:688 src/page/people/recognized.vue:119 #: src/page/settings/advanced.vue:62 src/page/settings/content.vue:62 #: src/page/settings/general.vue:108 msgid "Changes successfully saved" @@ -668,7 +689,7 @@ msgstr "การเปลี่ยนแปลงการตั้งค่า msgid "Checked" msgstr "ตรวจสอบแล้ว" -#: src/component/photo/edit/files.vue:495 +#: src/component/photo/edit/files.vue:497 msgid "Chroma" msgstr "โครมา" @@ -684,24 +705,24 @@ msgstr "ทำความสะอาด" msgid "Clear {0}" msgstr "เคลียร์ {0}" -#: src/options/auth.js:11 src/options/auth.js:23 src/options/auth.js:43 +#: src/options/auth.js:12 src/options/auth.js:24 src/options/auth.js:44 msgid "Client" msgstr "ลูกค้า" -#: src/options/auth.js:24 +#: src/options/auth.js:25 msgid "Client Credentials" msgstr "ข้อมูลรับรองลูกค้า" -#: src/page/admin/sessions.vue:529 src/component/lightbox.vue:284 -#: src/component/lightbox.vue:1009 src/component/lightbox.vue:1010 -#: src/component/photo/edit/details.vue:627 src/component/photo/toolbar.vue:160 -#: src/component/settings/apps.vue:224 src/component/settings/apps.vue:437 -#: src/component/settings/passcode.vue:148 -#: src/component/settings/passcode.vue:456 -#: src/component/settings/passcode.vue:497 -#: src/component/settings/webdav.vue:131 src/component/share/dialog.vue:231 +#: src/component/user/edit/dialog.vue:474 src/page/admin/sessions.vue:536 +#: src/component/lightbox.vue:284 src/component/lightbox.vue:1009 +#: src/component/lightbox.vue:1010 src/component/photo/edit/details.vue:601 +#: src/component/photo/toolbar.vue:161 src/component/settings/apps.vue:227 +#: src/component/settings/apps.vue:440 src/component/settings/passcode.vue:151 +#: src/component/settings/passcode.vue:459 +#: src/component/settings/passcode.vue:500 +#: src/component/settings/webdav.vue:132 src/component/share/dialog.vue:231 #: src/component/sidebar/info.vue:26 src/component/update.vue:57 -#: src/component/upload/dialog.vue:228 src/locales.js:206 +#: src/component/upload/dialog.vue:230 src/locales.js:206 #: src/page/library/errors.vue:253 msgid "Close" msgstr "ปิด" @@ -710,11 +731,11 @@ msgstr "ปิด" msgid "Codec" msgstr "ตัวแปลงสัญญาณ" -#: src/component/photo/toolbar.vue:369 +#: src/component/photo/toolbar.vue:371 msgid "Color" msgstr "สี" -#: src/component/photo/edit/files.vue:483 +#: src/component/photo/edit/files.vue:485 msgid "Color Profile" msgstr "สีโปรไฟล์" @@ -722,7 +743,7 @@ msgstr "สีโปรไฟล์" msgid "Colors" msgstr "สี" -#: src/page/connect.vue:260 src/page/connect.vue:269 +#: src/page/connect.vue:262 src/page/connect.vue:271 msgid "Compare Editions" msgstr "เปรียบเทียบรุ่น" @@ -735,17 +756,18 @@ msgstr "สแกนใหม่ให้เสร็จ" msgid "Confidence" msgstr "ค่าความมั่นใจ" +#: src/component/location/dialog.vue:212 #: src/component/photo/album/dialog.vue:90 -#: src/component/settings/passcode.vue:261 +#: src/component/settings/passcode.vue:264 msgid "Confirm" msgstr "ยืนยัน" -#: src/component/service/add.vue:20 src/page/settings/services.vue:187 +#: src/component/service/add.vue:20 src/page/settings/services.vue:191 msgid "Connect" msgstr "เชื่อมต่อ" -#: src/page/settings/account.vue:401 src/component/settings/webdav.vue:45 -#: src/page/settings/services.vue:167 +#: src/page/settings/account.vue:406 src/component/settings/webdav.vue:46 +#: src/page/settings/services.vue:170 msgid "Connect via WebDAV" msgstr "เชื่อมต่อผ่าน WebDAV" @@ -753,22 +775,22 @@ msgstr "เชื่อมต่อผ่าน WebDAV" msgid "Connected" msgstr "เชื่อมต่อ" -#: src/page/settings/account.vue:640 src/page/settings/account.vue:532 +#: src/page/settings/account.vue:646 src/page/settings/account.vue:538 msgid "Contact Details" msgstr "ติดต่อเรา" -#: src/page/about/feedback.vue:37 src/page/connect.vue:132 -#: src/page/connect.vue:136 +#: src/page/about/feedback.vue:37 src/page/connect.vue:133 +#: src/page/connect.vue:137 msgid "Contact Us" msgstr "ติดต่อเรา" #: src/page/albums.vue:433 src/page/labels.vue:237 -#: src/page/people/recognized.vue:306 +#: src/page/people/recognized.vue:310 msgid "Contains %{n} pictures." msgstr "มี %{n} รูป" #: src/page/albums.vue:427 src/page/labels.vue:231 -#: src/page/people/recognized.vue:300 +#: src/page/people/recognized.vue:304 msgid "Contains one picture." msgstr "ประกอบด้วยหนึ่งภาพ" @@ -776,7 +798,7 @@ msgstr "ประกอบด้วยหนึ่งภาพ" msgid "Content" msgstr "เนื้อหา" -#: src/component/settings/apps.vue:163 +#: src/component/settings/apps.vue:166 msgid "Continue" msgstr "ดำเนินการต่อ" @@ -784,7 +806,7 @@ msgstr "ดำเนินการต่อ" msgid "Continue with %{provider}" msgstr "ดำเนินการต่อด้วย %{provider}" -#: src/options/admin.js:18 src/options/auth.js:9 +#: src/options/admin.js:22 src/options/auth.js:10 msgid "Contributor" msgstr "ผู้ให้ข้อมูล" @@ -792,15 +814,15 @@ msgstr "ผู้ให้ข้อมูล" msgid "Converting" msgstr "กำลังแปลง" -#: src/common/util.js:846 +#: src/common/util.js:856 msgid "Copied to clipboard" msgstr "คัดลอกไปยังคลิปบอร์ดแล้ว" -#: src/component/settings/apps.vue:250 src/component/settings/passcode.vue:358 +#: src/component/settings/apps.vue:253 src/component/settings/passcode.vue:361 msgid "Copy" msgstr "สำเนา" -#: src/component/photo/edit/details.vue:516 +#: src/component/photo/edit/details.vue:490 msgid "Copyright" msgstr "ลิขสิทธิ์" @@ -808,8 +830,8 @@ msgstr "ลิขสิทธิ์" msgid "Couldn't find anything." msgstr "ไม่พบอะไรเลย" -#: src/page/settings/account.vue:685 src/component/photo/edit/details.vue:242 -#: src/component/photo/toolbar.vue:203 src/page/settings/account.vue:577 +#: src/page/settings/account.vue:691 src/component/photo/edit/details.vue:268 +#: src/component/photo/toolbar.vue:205 src/page/settings/account.vue:583 msgid "Country" msgstr "ประเทศ" @@ -833,7 +855,7 @@ msgstr "สร้างไฟล์ YAML เพื่อสำรองข้อ msgid "Create YAML sidecar files to back up picture metadata." msgstr "สร้างไฟล์ช่วยเหลือ YAML เพื่อสำรองข้อมูลเมตาของรูปภาพ" -#: src/page/admin/sessions.vue:417 src/component/photo/edit/info.vue:412 +#: src/page/admin/sessions.vue:422 src/component/photo/edit/info.vue:412 msgid "Created" msgstr "สร้างเมื่อ" @@ -845,11 +867,11 @@ msgstr "การสร้างภาพขนาดย่อสำหรับ msgid "Cubic: Moderate Quality, Good Performance" msgstr "ลูกบาศก์: คุณภาพปานกลาง ประสิทธิภาพที่ดี" -#: src/component/settings/password.vue:85 +#: src/component/settings/password.vue:86 msgid "Current Password" msgstr "รหัสผ่านปัจจุบัน" -#: src/options/themes.js:919 src/options/themes.js:928 +#: src/options/themes.js:920 src/options/themes.js:929 msgid "Custom" msgstr "กำหนดเอง" @@ -865,11 +887,11 @@ msgstr "รายวัน" msgid "Database Backups" msgstr "การสำรองฐานข้อมูล" -#: src/page/settings/account.vue:450 src/component/photo/edit/details.vue:110 +#: src/page/settings/account.vue:456 src/component/photo/edit/details.vue:112 msgid "Day" msgstr "วัน" -#: src/component/settings/passcode.vue:445 +#: src/component/settings/passcode.vue:448 msgid "Deactivate" msgstr "ปิดการใช้งาน" @@ -877,36 +899,40 @@ msgstr "ปิดการใช้งาน" msgid "Debug Logs" msgstr "บันทึกการดีบัก" -#: src/options/admin.js:31 src/page/admin/sessions.vue:136 -#: src/page/admin/users.vue:176 src/component/photo/edit/info.vue:47 +#: src/options/admin.js:35 src/page/admin/sessions.vue:136 +#: src/page/admin/users.vue:178 src/component/photo/edit/info.vue:47 #: src/component/photo/edit/info.vue:110 src/model/session.js:66 -#: src/model/user.js:246 src/options/auth.js:20 src/options/auth.js:21 -#: src/options/auth.js:39 src/options/auth.js:40 src/options/options.js:196 +#: src/model/user.js:246 src/options/auth.js:21 src/options/auth.js:22 +#: src/options/auth.js:40 src/options/auth.js:41 src/options/options.js:196 #: src/options/options.js:232 src/options/options.js:316 -#: src/options/themes.js:773 +#: src/options/themes.js:774 msgid "Default" msgstr "ค่าเริ่มต้น" -#: src/component/service/edit.vue:123 +#: src/component/service/edit.vue:124 msgid "Default Folder" msgstr "โฟลเดอร์เริ่มต้น" #: src/component/session/remove/dialog.vue:56 #: src/component/user/remove/dialog.vue:56 src/component/album/clipboard.vue:97 -#: src/component/album/delete/dialog.vue:54 -#: src/component/file/delete/dialog.vue:58 src/component/label/clipboard.vue:58 -#: src/component/label/delete/dialog.vue:58 +#: src/component/album/delete/dialog.vue:54 src/component/album/toolbar.vue:137 +#: src/component/file/delete/dialog.vue:59 src/component/label/clipboard.vue:58 +#: src/component/label/delete/dialog.vue:59 #: src/component/photo/clipboard.vue:168 src/component/photo/edit/files.vue:238 -#: src/component/service/remove.vue:60 src/component/share/dialog.vue:170 +#: src/component/service/remove.vue:61 src/component/share/dialog.vue:170 #: src/page/settings/general.vue:457 msgid "Delete" msgstr "ลบ" +#: src/component/album/toolbar.vue:133 +msgid "Delete Album" +msgstr "ลบอัลบั้ม" + #: src/component/photo/toolbar.vue:119 src/page/library/errors.vue:95 msgid "Delete All" msgstr "ลบทั้งหมด" -#: src/component/photo/toolbar.vue:433 src/page/library/errors.vue:193 +#: src/component/photo/toolbar.vue:435 src/page/library/errors.vue:193 msgid "Delete all?" msgstr "ลบทั้งหมด?" @@ -914,16 +940,16 @@ msgstr "ลบทั้งหมด?" msgid "Delete orphaned index entries, sidecar files and thumbnails." msgstr "ลบรายการดัชนีที่ถูกละเลย ไฟล์รถเทียมข้างรถจักรยานยนต์ และภาพขนาดย่อ" -#: src/component/album/edit/dialog.vue:107 src/page/albums.vue:411 +#: src/component/album/edit/dialog.vue:108 src/page/albums.vue:411 msgid "Description" msgstr "คำอธิบาย" -#: src/component/settings/webdav.vue:115 +#: src/component/settings/webdav.vue:116 msgid "Detailed instructions can be found in our User Guide." msgstr "คำแนะนำโดยละเอียดสามารถพบได้ในคู่มือผู้ใช้ของเรา" -#: src/component/photo/edit/dialog.vue:156 -#: src/component/photo/edit/dialog.vue:173 +#: src/component/photo/edit/dialog.vue:162 +#: src/component/photo/edit/dialog.vue:181 msgid "Details" msgstr "รายละเอียด" @@ -987,8 +1013,8 @@ msgstr "ปิดใช้งานการสนับสนุนกราฟ msgid "Disables video transcoding and thumbnail extraction." msgstr "ปิดใช้งานการแปลงรหัสวิดีโอและการดึงภาพขนาดย่อ" -#: src/app/routes.js:558 src/app/routes.js:565 src/app/routes.js:572 -#: src/app/routes.js:579 +#: src/app/routes.js:566 src/app/routes.js:573 src/app/routes.js:580 +#: src/app/routes.js:587 msgid "Discover" msgstr "ค้นพบ" @@ -996,9 +1022,9 @@ msgstr "ค้นพบ" msgid "Dismiss" msgstr "อนุญาตให้ออกไป" -#: src/component/user/add/dialog.vue:133 src/component/user/add/dialog.vue:134 -#: src/component/user/edit/dialog.vue:163 -#: src/component/user/edit/dialog.vue:164 src/page/admin/users.vue:72 +#: src/component/user/add/dialog.vue:134 src/component/user/add/dialog.vue:135 +#: src/component/user/edit/dialog.vue:164 +#: src/component/user/edit/dialog.vue:165 src/page/admin/users.vue:74 #: src/page/settings/account.vue:149 src/page/settings/account.vue:151 msgid "Display Name" msgstr "ชื่อที่แสดง" @@ -1013,12 +1039,12 @@ msgstr "แสดงชื่อรูปภาพในผลการค้น #: src/component/photo/view/cards.vue:339 #: src/component/photo/view/cards.vue:521 -#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:174 +#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:176 #: src/options/options.js:309 msgid "Document" msgstr "เอกสาร" -#: src/component/navigation.vue:480 +#: src/component/navigation.vue:482 msgid "Documents" msgstr "เอกสาร" @@ -1034,16 +1060,16 @@ msgstr "อย่าใช้ ImageMagick เพื่อแปลงรูป msgid "Don't use RawTherapee to convert RAW images." msgstr "อย่าใช้ RawTherapee เพื่อแปลงไฟล์ RAW" -#: src/component/settings/apps.vue:238 src/component/share/dialog.vue:29 +#: src/component/settings/apps.vue:241 src/component/share/dialog.vue:29 msgid "Done" msgstr "เสร็จแล้ว" -#: src/component/upload/dialog.vue:135 src/page/library/import.vue:46 +#: src/component/upload/dialog.vue:137 src/page/library/import.vue:46 #: src/page/library/index.vue:52 msgid "Done." msgstr "เสร็จแล้ว." -#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:118 +#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:123 #: src/component/file/clipboard.vue:48 src/component/lightbox.vue:1235 #: src/component/people/clipboard.vue:47 src/component/photo/clipboard.vue:116 #: src/component/photo/edit/files.vue:168 src/page/settings/content.vue:331 @@ -1055,7 +1081,7 @@ msgstr "ดาวน์โหลด" msgid "Download only original media files, without any automatically generated files." msgstr "ดาวน์โหลดเฉพาะไฟล์มีเดียต้นฉบับ โดยไม่มีไฟล์ที่สร้างขึ้นโดยอัตโนมัติ" -#: src/component/service/edit.vue:237 +#: src/component/service/edit.vue:238 msgid "Download remote files" msgstr "ดาวน์โหลดไฟล์ระยะไกล" @@ -1063,9 +1089,9 @@ msgstr "ดาวน์โหลดไฟล์ระยะไกล" msgid "Download single files and zip archives." msgstr "ดาวน์โหลดไฟล์เดี่ยวและไฟล์ zip" -#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:157 +#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:172 #: src/component/file/clipboard.vue:61 src/component/label/clipboard.vue:86 -#: src/component/lightbox.vue:2021 src/component/people/clipboard.vue:59 +#: src/component/lightbox.vue:2041 src/component/people/clipboard.vue:59 #: src/component/photo/clipboard.vue:220 src/component/photo/edit/files.vue:119 #: src/component/photo/view/cards.vue:169 src/component/photo/view/list.vue:142 #: src/page/library/browse.vue:139 @@ -1080,7 +1106,7 @@ msgstr "ตัวกรองการลดขนาด" msgid "Drag and drop files here" msgstr "ลากและวางไฟล์ที่นี่" -#: src/page/about/feedback.vue:61 +#: src/page/about/feedback.vue:62 msgid "Due to the high volume of emails we receive, our team may be unable to get back to you immediately." msgstr "เนื่องจากเราได้รับอีเมลเป็นจำนวนมาก ทีมงานของเราจึงอาจไม่สามารถติดต่อกลับได้ทันที" @@ -1100,23 +1126,23 @@ msgstr "การแสดงตัวอย่างแบบไดนามิ msgid "Dynamic Size Limit: %{n}px" msgstr "ขีดจำกัดขนาดไดนามิก: %{n}px" -#: src/page/about/feedback.vue:141 src/page/about/feedback.vue:140 +#: src/page/about/feedback.vue:142 src/page/about/feedback.vue:141 msgid "E-Mail" msgstr "อีเมล" -#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:89 +#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:94 #: src/component/lightbox.vue:1136 src/component/lightbox.vue:1137 #: src/component/photo/clipboard.vue:90 src/page/settings/general.vue:407 msgid "Edit" msgstr "แก้ไข" -#: src/component/album/edit/dialog.vue:54 -#: src/component/label/edit/dialog.vue:52 -#: src/component/people/edit/dialog.vue:52 +#: src/component/album/edit/dialog.vue:55 +#: src/component/label/edit/dialog.vue:53 +#: src/component/people/edit/dialog.vue:53 msgid "Edit %{s}" msgstr "แก้ไข %{s}" -#: src/component/user/edit/dialog.vue:61 src/component/service/edit.vue:79 +#: src/component/user/edit/dialog.vue:62 src/component/service/edit.vue:79 msgid "Edit Account" msgstr "แก้ไขบัญชี" @@ -1128,8 +1154,8 @@ msgstr "แก้ไขรูปภาพ" msgid "Edited" msgstr "แก้ไขแล้ว" -#: src/component/user/add/dialog.vue:151 src/component/user/edit/dialog.vue:213 -#: src/page/settings/account.vue:171 src/page/settings/account.vue:593 +#: src/component/user/add/dialog.vue:152 src/component/user/edit/dialog.vue:214 +#: src/page/settings/account.vue:171 src/page/settings/account.vue:599 msgid "Email" msgstr "อีเมล" @@ -1145,7 +1171,7 @@ msgstr "เปิดใช้งานฟีเจอร์ใหม่ที่ msgid "Enables RAW converter presets. May reduce performance." msgstr "เปิดใช้งานการตั้งค่าล่วงหน้าของตัวแปลง RAW อาจลดประสิทธิภาพลง" -#: src/component/settings/passcode.vue:127 +#: src/component/settings/passcode.vue:130 msgid "Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account." msgstr "การเปิดใช้งานการตรวจสอบสิทธิ์แบบสองปัจจัยหมายความว่าคุณจะต้องใช้รหัสยืนยันที่สร้างขึ้นแบบสุ่มเพื่อเข้าสู่ระบบ ดังนั้นแม้ว่าจะมีคนเข้าถึงรหัสผ่านของคุณ พวกเขาจะไม่สามารถเข้าถึงบัญชีของคุณได้" @@ -1157,7 +1183,7 @@ msgstr "กรอกวันที่" msgid "Enter dates" msgstr "ป้อนวันที่" -#: src/component/settings/passcode.vue:213 src/page/auth/login.vue:104 +#: src/component/settings/passcode.vue:216 src/page/auth/login.vue:104 msgid "Enter the code generated by your authenticator app:" msgstr "ป้อนรหัสที่สร้างโดยแอปพลิเคชันการตรวจสอบสิทธิ์ของคุณ:" @@ -1165,7 +1191,7 @@ msgstr "ป้อนรหัสที่สร้างโดยแอปพล msgid "Enter verification code" msgstr "ระบุรหัสยืนยืน" -#: src/component/settings/apps.vue:109 +#: src/component/settings/apps.vue:112 msgid "Enter your password to confirm the action and continue:" msgstr "ป้อนรหัสผ่านของคุณเพื่อยืนยันการดำเนินการและดำเนินการต่อ:" @@ -1174,7 +1200,7 @@ msgstr "ป้อนรหัสผ่านของคุณเพื่อย msgid "Error" msgstr "ข้อผิดพลาด" -#: src/app/routes.js:374 src/component/navigation.vue:1348 +#: src/app/routes.js:382 src/component/navigation.vue:1372 msgid "Errors" msgstr "ข้อผิดพลาด" @@ -1210,13 +1236,13 @@ msgstr "จำเป็นต้องมีการแยกข้อมูล msgid "Experimental Features" msgstr "คุณสมบัติทดลอง" -#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:453 -#: src/component/service/edit.vue:157 src/component/settings/apps.vue:73 -#: src/component/settings/apps.vue:326 src/component/share/dialog.vue:62 +#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:458 +#: src/component/service/edit.vue:158 src/component/settings/apps.vue:73 +#: src/component/settings/apps.vue:329 src/component/share/dialog.vue:62 msgid "Expires" msgstr "หมดอายุ" -#: src/component/photo/edit/details.vue:396 +#: src/component/photo/edit/details.vue:370 msgid "Exposure" msgstr "การเปิดรับ" @@ -1224,7 +1250,7 @@ msgstr "การเปิดรับ" msgid "Extract still images and generate thumbnails while indexing." msgstr "สกัดภาพนิ่งและสร้างภาพขนาดย่อในระหว่างการสร้างดัชนี" -#: src/component/photo/edit/details.vue:444 +#: src/component/photo/edit/details.vue:418 msgid "F Number" msgstr "F Number" @@ -1240,7 +1266,7 @@ msgstr "ใบหน้า" msgid "Failed removing link" msgstr "ลบลิงค์ไม่สำเร็จ" -#: src/page/connect.vue:106 src/page/connect.vue:110 +#: src/page/connect.vue:107 src/page/connect.vue:111 msgid "Failed to connect account." msgstr "ไม่สามารถเชื่อมต่อบัญชีได้" @@ -1248,8 +1274,8 @@ msgstr "ไม่สามารถเชื่อมต่อบัญชีไ msgid "Failed updating link" msgstr "ไม่สามารถอัปเดตลิงก์" -#: src/component/user/edit/dialog.vue:143 -#: src/component/user/edit/dialog.vue:144 src/page/settings/account.vue:128 +#: src/component/user/edit/dialog.vue:144 +#: src/component/user/edit/dialog.vue:145 src/page/settings/account.vue:128 #: src/page/settings/account.vue:130 msgid "Family Name" msgstr "นามสกุล" @@ -1258,15 +1284,15 @@ msgstr "นามสกุล" msgid "Fast" msgstr "เร็ว" -#: src/component/album/edit/dialog.vue:159 -#: src/component/label/edit/dialog.vue:85 -#: src/component/people/edit/dialog.vue:85 +#: src/component/album/edit/dialog.vue:160 +#: src/component/label/edit/dialog.vue:86 +#: src/component/people/edit/dialog.vue:86 #: src/component/photo/edit/info.vue:287 msgid "Favorite" msgstr "ที่ชื่นชอบ" -#: src/app/routes.js:222 src/component/navigation.vue:893 -#: src/options/options.js:202 src/page/albums.vue:97 +#: src/app/routes.js:230 src/component/navigation.vue:903 +#: src/options/options.js:202 src/page/albums.vue:98 msgid "Favorites" msgstr "รายการโปรด" @@ -1274,7 +1300,7 @@ msgstr "รายการโปรด" msgid "Feature Request" msgstr "คำขอคุณสมบัติ" -#: src/component/navigation.vue:1456 +#: src/component/navigation.vue:1482 msgid "Feedback" msgstr "ข้อเสนอแนะ" @@ -1282,11 +1308,12 @@ msgstr "ข้อเสนอแนะ" msgid "Female" msgstr "หญิง" -#: src/component/photo/edit/info.vue:214 src/model/file.js:290 +#: src/component/photo/edit/info.vue:57 src/component/photo/edit/info.vue:214 +#: src/model/file.js:290 msgid "File" msgstr "ไฟล์" -#: src/app/routes.js:343 +#: src/app/routes.js:351 msgid "File Browser" msgstr "ไฟล์เบราว์เซอร์" @@ -1309,8 +1336,8 @@ msgstr "ไฟล์" msgid "Filename" msgstr "ชื่อไฟล์" -#: src/component/navigation.vue:1930 src/component/photo/edit/dialog.vue:267 -#: src/component/photo/edit/dialog.vue:284 +#: src/component/navigation.vue:1973 src/component/photo/edit/dialog.vue:279 +#: src/component/photo/edit/dialog.vue:298 msgid "Files" msgstr "ไฟล์" @@ -1322,26 +1349,26 @@ msgstr "ไฟล์ที่มีชื่อตามลำดับ เช msgid "First page" msgstr "หน้าแรก" -#: src/component/photo/edit/details.vue:465 +#: src/component/photo/edit/details.vue:439 msgid "Focal Length" msgstr "ความยาวโฟกัส" -#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:118 -#: src/component/service/edit.vue:189 src/component/service/edit.vue:194 -#: src/component/service/upload.vue:90 src/component/service/upload.vue:96 +#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:119 +#: src/component/service/edit.vue:190 src/component/service/edit.vue:195 +#: src/component/service/upload.vue:91 src/component/service/upload.vue:97 #: src/model/folder.js:199 src/page/library/browse.vue:182 msgid "Folder" msgstr "โฟลเดอร์" -#: src/page/library/browse.vue:365 +#: src/page/library/browse.vue:367 msgid "Folder contains %{n} files" msgstr "โฟลเดอร์มี %{n} ไฟล์" -#: src/page/library/browse.vue:356 +#: src/page/library/browse.vue:358 msgid "Folder is empty" msgstr "โฟลเดอร์ว่างเปล่า" -#: src/app/routes.js:202 src/component/navigation.vue:1225 +#: src/app/routes.js:210 src/component/navigation.vue:1247 #: src/options/options.js:207 msgid "Folders" msgstr "โฟลเดอร์" @@ -1358,7 +1385,7 @@ msgstr "FPS" msgid "Frames" msgstr "เฟรม" -#: src/options/auth.js:54 src/options/auth.js:64 +#: src/options/auth.js:55 src/options/auth.js:65 msgid "Full Access" msgstr "การเข้าถึงแบบเต็ม" @@ -1370,7 +1397,7 @@ msgstr "เต็มจอ" msgid "General" msgstr "ทั่วไป" -#: src/component/settings/apps.vue:364 +#: src/component/settings/apps.vue:367 msgid "Generate" msgstr "สร้าง" @@ -1390,8 +1417,8 @@ msgstr "สร้างขึ้น" msgid "Get Started" msgstr "เริ่มต้นใช้งาน" -#: src/component/user/edit/dialog.vue:120 -#: src/component/user/edit/dialog.vue:121 src/page/settings/account.vue:106 +#: src/component/user/edit/dialog.vue:121 +#: src/component/user/edit/dialog.vue:122 src/page/settings/account.vue:106 #: src/page/settings/account.vue:108 msgid "Given Name" msgstr "ชื่อจริง" @@ -1416,7 +1443,7 @@ msgstr "สีเขียว" msgid "Grey" msgstr "สีเทา" -#: src/options/admin.js:22 src/options/auth.js:10 +#: src/options/admin.js:26 src/options/auth.js:11 msgid "Guest" msgstr "แขก" @@ -1432,15 +1459,15 @@ msgstr "ช่วย" msgid "Help & Support" msgstr "ช่วยเหลือและสนับสนุน" -#: src/component/navigation.vue:1327 src/component/people/edit/dialog.vue:98 +#: src/component/navigation.vue:1351 src/component/people/edit/dialog.vue:99 msgid "Hidden" msgstr "ที่ซ่อนอยู่" -#: src/app/routes.js:358 +#: src/app/routes.js:366 msgid "Hidden Files" msgstr "ไฟล์ที่ซ่อนอยู่" -#: src/page/people/new.vue:165 src/page/people/recognized.vue:205 +#: src/page/people/new.vue:166 src/page/people/recognized.vue:206 msgid "Hide" msgstr "ซ่อน" @@ -1456,7 +1483,7 @@ msgstr "สูง" msgid "High Dynamic Range (HDR)" msgstr "ช่วงไดนามิกสูง (HDR)" -#: src/page/about/feedback.vue:103 +#: src/page/about/feedback.vue:104 msgid "How can we help?" msgstr "เราจะช่วยได้อย่างไร?" @@ -1464,11 +1491,11 @@ msgstr "เราจะช่วยได้อย่างไร?" msgid "Hybrid" msgstr "ไฮบริด" -#: src/component/settings/passcode.vue:389 +#: src/component/settings/passcode.vue:392 msgid "If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account." msgstr "หากคุณสูญเสียการเข้าถึงแอปหรืออุปกรณ์ยืนยันตัวตน คุณสามารถใช้รหัสกู้คืนเพื่อเข้าถึงบัญชีของคุณได้อีกครั้ง" -#: src/component/photo/edit/info.vue:63 src/component/photo/edit/labels.vue:46 +#: src/component/photo/edit/info.vue:65 src/component/photo/edit/labels.vue:46 #: src/component/photo/view/cards.vue:532 src/model/file.js:218 #: src/options/options.js:281 msgid "Image" @@ -1478,7 +1505,7 @@ msgstr "ภาพ" msgid "Image Quality" msgstr "คุณภาพของภาพ" -#: src/page/library.vue:46 src/page/library/import.vue:152 +#: src/page/library.vue:46 src/page/library/import.vue:153 #: src/page/settings/general.vue:357 msgid "Import" msgstr "นำเข้า" @@ -1503,8 +1530,8 @@ msgstr "กำลังนำเข้า %{s}…" msgid "Importing files to originals…" msgstr "กำลังนำเข้าไฟล์ไปยังต้นฉบับ…" -#: src/component/photo/edit/files.vue:515 -#: src/component/photo/edit/files.vue:520 +#: src/component/photo/edit/files.vue:517 +#: src/component/photo/edit/files.vue:522 msgid "in" msgstr "ใน" @@ -1522,11 +1549,11 @@ msgstr "รวมไฟล์ภาพ RAW เมื่อดาวน์โห msgid "Include sidecar files when downloading stacks and archives." msgstr "รวมไฟล์ sidecar เมื่อดาวน์โหลดสแต็คและไฟล์เก็บถาวร" -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Increase storage size or delete files to continue." msgstr "เพิ่มขนาดพื้นที่เก็บข้อมูลหรือลบไฟล์เพื่อดำเนินการต่อ" -#: src/component/navigation.vue:1946 src/page/library.vue:36 +#: src/component/navigation.vue:1990 src/page/library.vue:36 #: src/page/settings/content.vue:34 msgid "Index" msgstr "ดัชนี" @@ -1556,11 +1583,11 @@ msgstr "ข้อมูล" msgid "Instance ID" msgstr "รหัสอินสแตนซ์" -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Insufficient storage." msgstr "พื้นที่เก็บข้อมูลไม่เพียงพอ." -#: src/component/service/edit.vue:209 +#: src/component/service/edit.vue:210 msgid "Interval" msgstr "ช่วงเวลา" @@ -1581,7 +1608,7 @@ msgstr "ที่อยู่ไม่ถูกต้อง" msgid "Invalid country" msgstr "ประเทศไม่ถูกต้อง" -#: src/component/photo/edit/details.vue:174 +#: src/component/photo/edit/details.vue:169 msgid "Invalid date" msgstr "วันที่ไม่ถูกต้อง" @@ -1590,7 +1617,7 @@ msgstr "วันที่ไม่ถูกต้อง" msgid "Invalid parameters" msgstr "วันที่ไม่ถูกต้อง" -#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:197 +#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:199 msgid "Invalid photo selected" msgstr "เลือกรูปภาพไม่ถูกต้อง" @@ -1602,8 +1629,8 @@ msgstr "เวลาไม่ถูกต้อง" msgid "Invalid URL" msgstr "URL ไม่ถูกต้อง" -#: src/component/settings/passcode.vue:314 -#: src/component/settings/passcode.vue:391 +#: src/component/settings/passcode.vue:317 +#: src/component/settings/passcode.vue:394 msgid "It is a one-time use code that will disable 2FA for your account when you use it." msgstr "เป็นรหัสแบบใช้ครั้งเดียวที่จะปิดการใช้งาน 2FA สำหรับบัญชีของคุณเมื่อคุณใช้งาน" @@ -1627,7 +1654,7 @@ msgstr "ขีดจำกัดขนาด JPEG: %{n}px" msgid "JPEGs and thumbnails are automatically rendered as needed." msgstr "JPEG และภาพขนาดย่อจะแสดงผลโดยอัตโนมัติตามต้องการ" -#: src/component/photo/edit/details.vue:581 +#: src/component/photo/edit/details.vue:555 msgid "Keywords" msgstr "คีย์เวิร์ด" @@ -1636,9 +1663,9 @@ msgstr "คีย์เวิร์ด" msgid "Label" msgstr "ฉลาก" -#: src/app/routes.js:389 src/component/navigation.vue:1177 -#: src/component/photo/edit/dialog.vue:188 -#: src/component/photo/edit/dialog.vue:205 src/options/options.js:206 +#: src/app/routes.js:397 src/component/navigation.vue:1197 +#: src/component/photo/edit/dialog.vue:196 +#: src/component/photo/edit/dialog.vue:215 src/options/options.js:206 #: src/page/settings/general.vue:255 msgid "Labels" msgstr "ป้าย" @@ -1655,11 +1682,11 @@ msgstr "Lanczos: การเก็บรายละเอียด สิ่ msgid "Language" msgstr "ภาษา" -#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:435 +#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:440 msgid "Last Active" msgstr "ใช้งานล่าสุด" -#: src/page/admin/users.vue:81 +#: src/page/admin/users.vue:83 msgid "Last Login" msgstr "เข้าสู่ระบบครั้งล่าสุด" @@ -1675,42 +1702,41 @@ msgstr "ซิงค์ล่าสุด" msgid "Last Used" msgstr "ใช้ล่าสุด" -#: src/component/photo/edit/details.vue:298 #: src/component/photo/edit/info.vue:373 msgid "Latitude" msgstr "ละติจูด" -#: src/options/admin.js:43 src/options/auth.js:29 +#: src/options/admin.js:47 src/options/auth.js:30 msgid "LDAP/AD" msgstr "แอลดีเอพี/ค.ศ" -#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:86 -#: src/page/about/about.vue:62 src/page/about/about.vue:132 +#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:87 +#: src/page/about/about.vue:62 src/page/about/about.vue:133 #: src/page/connect.vue:67 src/page/help.vue:36 msgid "Learn more" msgstr "เรียนรู้เพิ่มเติม" -#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:135 +#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:137 #: src/page/labels.vue:132 msgid "Learn More" msgstr "เรียนรู้เพิ่มเติม" -#: src/component/navigation.vue:2017 +#: src/component/navigation.vue:2066 msgid "Legal Information" msgstr "ข้อมูลทางกฎหมาย" -#: src/component/photo/edit/details.vue:417 +#: src/component/photo/edit/details.vue:391 #: src/component/photo/view/cards.vue:480 msgid "Lens" msgstr "เลนส์" -#: src/app/routes.js:443 src/app/routes.js:459 src/app/routes.js:475 -#: src/component/navigation.vue:1267 src/page/settings/general.vue:507 +#: src/app/routes.js:451 src/app/routes.js:467 src/app/routes.js:483 +#: src/component/navigation.vue:1290 src/page/settings/general.vue:507 msgid "Library" msgstr "ห้องสมุด" #: src/page/connect.vue:45 src/app/routes.js:69 -#: src/component/navigation.vue:1478 src/component/photo/edit/details.vue:559 +#: src/component/navigation.vue:1504 src/component/photo/edit/details.vue:533 #: src/page/about/license.vue:28 msgid "License" msgstr "ใบอนุญาต" @@ -1723,7 +1749,7 @@ msgstr "ชอบ" msgid "Lime" msgstr "มะนาว" -#: src/page/library/browse.vue:369 +#: src/page/library/browse.vue:371 msgid "Limit reached, showing first %{n} files" msgstr "ถึงขีดจำกัดแล้ว กำลังแสดง %{n} ไฟล์แรก" @@ -1731,7 +1757,7 @@ msgstr "ถึงขีดจำกัดแล้ว กำลังแสด msgid "Linear: Very Smooth, Best Performance" msgstr "เชิงเส้น: ราบรื่นมาก ประสิทธิภาพดีที่สุด" -#: src/model/link.js:117 src/options/auth.js:30 src/options/auth.js:31 +#: src/model/link.js:117 src/options/auth.js:31 src/options/auth.js:32 msgid "Link" msgstr "ลิงค์" @@ -1749,7 +1775,7 @@ msgstr "มุมมองรายการ" msgid "Live" msgstr "สด" -#: src/app/routes.js:236 src/component/navigation.vue:749 +#: src/app/routes.js:244 src/component/navigation.vue:755 msgid "Live Photos" msgstr "ภาพถ่าย" @@ -1765,21 +1791,24 @@ msgstr "กำลังโหลดรายการ..." msgid "Loading..." msgstr "กำลังโหลด..." -#: src/options/admin.js:35 src/options/auth.js:22 src/options/auth.js:27 +#: src/options/admin.js:39 src/options/auth.js:23 src/options/auth.js:28 #: src/options/options.js:38 src/page/settings/general.vue:107 msgid "Local" msgstr "ท้องถิ่น" -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Local Time" msgstr "เวลาท้องถิ่น" -#: src/page/settings/account.vue:665 src/page/settings/account.vue:667 -#: src/component/album/edit/dialog.vue:92 src/component/photo/edit/info.vue:65 -#: src/component/photo/edit/labels.vue:48 +#: src/page/settings/account.vue:671 src/page/settings/account.vue:673 +#: src/component/album/edit/dialog.vue:93 +#: src/component/photo/edit/details.vue:38 +#: src/component/photo/edit/details.vue:116 +#: src/component/photo/edit/details.vue:210 +#: src/component/photo/edit/info.vue:67 src/component/photo/edit/labels.vue:48 #: src/component/photo/view/cards.vue:555 src/component/photo/view/list.vue:117 -#: src/component/sidebar/info.vue:107 src/page/albums.vue:99 -#: src/page/settings/account.vue:557 src/page/settings/account.vue:559 +#: src/component/sidebar/info.vue:107 src/page/albums.vue:100 +#: src/page/settings/account.vue:563 src/page/settings/account.vue:565 msgid "Location" msgstr "ที่ตั้ง" @@ -1787,20 +1816,19 @@ msgstr "ที่ตั้ง" msgid "Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues." msgstr "ข้อความบันทึกจะปรากฏที่นี่ทุกครั้งที่ PhotoPrism เจอไฟล์เสีย หรือมีปัญหาอื่นๆ ที่อาจเกิดขึ้น" -#: src/component/navigation.vue:1552 src/component/navigation.vue:1840 +#: src/component/navigation.vue:1579 src/component/navigation.vue:1877 msgid "Login" msgstr "เข้าสู่ระบบ" -#: src/component/navigation.vue:1759 +#: src/component/navigation.vue:1791 msgid "Logout" msgstr "ออกจากระบบ" -#: src/component/navigation.vue:1962 src/page/library.vue:59 +#: src/component/navigation.vue:2007 src/page/library.vue:59 #: src/page/settings/general.vue:557 msgid "Logs" msgstr "บันทึก" -#: src/component/photo/edit/details.vue:324 #: src/component/photo/edit/info.vue:379 msgid "Longitude" msgstr "ลองจิจูด" @@ -1813,7 +1841,7 @@ msgstr "ต่ำ" msgid "Magenta" msgstr "สีม่วงแดง" -#: src/component/photo/edit/files.vue:489 +#: src/component/photo/edit/files.vue:491 msgid "Main Color" msgstr "สีหลัก" @@ -1821,12 +1849,16 @@ msgstr "สีหลัก" msgid "Male" msgstr "ชาย" -#: src/page/connect.vue:164 src/page/connect.vue:246 -#: src/page/about/about.vue:171 src/page/connect.vue:168 -#: src/page/connect.vue:255 +#: src/page/connect.vue:165 src/page/connect.vue:248 +#: src/page/about/about.vue:173 src/page/connect.vue:169 +#: src/page/connect.vue:257 msgid "Manage Account" msgstr "จัดการบัญชี" +#: src/options/admin.js:10 src/options/auth.js:7 +msgid "Manager" +msgstr "ผู้จัดการ" + #: src/component/photo/edit/info.vue:49 src/component/photo/edit/labels.vue:38 msgid "Manual" msgstr "คู่มือ" @@ -1843,11 +1875,11 @@ msgstr "แผนที่" msgid "Marker" msgstr "เครื่องหมาย" -#: src/component/user/add/dialog.vue:69 +#: src/component/user/add/dialog.vue:70 msgid "Maximum number of accounts has been reached." msgstr "จำนวนบัญชีถึงขีดจำกัดแล้ว" -#: src/app/routes.js:229 src/component/navigation.vue:688 +#: src/app/routes.js:237 src/component/navigation.vue:693 #: src/options/options.js:199 msgid "Media" msgstr "สื่อมวลชน" @@ -1864,7 +1896,7 @@ msgstr "การเป็นสมาชิก" msgid "Merge %{a} with %{b}?" msgstr "ผสาน %{a} กับ %{b}?" -#: src/page/about/feedback.vue:102 +#: src/page/about/feedback.vue:103 msgid "Message" msgstr "ข้อความ" @@ -1876,7 +1908,7 @@ msgstr "ส่งข้อความ" msgid "Metadata" msgstr "ข้อมูลเมตา" -#: src/options/auth.js:56 src/options/auth.js:72 +#: src/options/auth.js:57 src/options/auth.js:73 msgid "Metrics" msgstr "เมตริก" @@ -1884,7 +1916,7 @@ msgstr "เมตริก" msgid "Minimize" msgstr "ย่อเล็กสุด" -#: src/component/photo/edit/files.vue:509 src/component/photo/edit/info.vue:367 +#: src/component/photo/edit/files.vue:511 src/component/photo/edit/info.vue:367 msgid "Missing" msgstr "หายไป" @@ -1892,17 +1924,17 @@ msgstr "หายไป" msgid "Missing or invalid configuration" msgstr "การกำหนดค่าหายไปหรือไม่ถูกต้อง" -#: src/app/routes.js:163 src/component/navigation.vue:1129 +#: src/app/routes.js:171 src/component/navigation.vue:1147 #: src/options/options.js:205 src/page/settings/general.vue:230 msgid "Moments" msgstr "ช่วงเวลา" -#: src/component/navigation.vue:383 +#: src/component/navigation.vue:385 msgid "Monochrome" msgstr "ขาวดำ" -#: src/page/settings/account.vue:475 src/component/photo/edit/details.vue:137 -#: src/component/photo/toolbar.vue:342 +#: src/page/settings/account.vue:481 src/component/photo/edit/details.vue:139 +#: src/component/photo/toolbar.vue:344 msgid "Month" msgstr "เดือน" @@ -1922,7 +1954,7 @@ msgstr "ที่เกี่ยวข้องมากที่สุด" msgid "Move Files" msgstr "ย้ายไฟล์" -#: src/component/settings/password.vue:107 +#: src/component/settings/password.vue:108 msgid "Must have at least %{n} characters." msgstr "ต้องมีอักขระอย่างน้อย %{n} ตัว" @@ -1930,20 +1962,20 @@ msgstr "ต้องมีอักขระอย่างน้อย %{n} ต msgid "Mute" msgstr "ปิดเสียง" -#: src/page/about/feedback.vue:121 src/page/about/feedback.vue:122 -#: src/component/album/edit/dialog.vue:77 -#: src/component/label/edit/dialog.vue:71 -#: src/component/people/edit/dialog.vue:71 -#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:57 +#: src/page/about/feedback.vue:122 src/page/about/feedback.vue:123 +#: src/component/album/edit/dialog.vue:78 +#: src/component/label/edit/dialog.vue:72 +#: src/component/people/edit/dialog.vue:72 +#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:59 #: src/component/photo/edit/info.vue:125 src/component/photo/edit/people.vue:36 -#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:310 -#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:286 -#: src/page/albums.vue:98 src/page/auth/login.vue:168 +#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:311 +#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:289 +#: src/page/albums.vue:99 src/page/auth/login.vue:168 #: src/page/people/new.vue:68 src/page/settings/services.vue:37 msgid "Name" msgstr "ชื่อ" -#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:60 +#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:65 #: src/component/label/edit/dialog.vue:19 #: src/component/people/edit/dialog.vue:19 #: src/component/photo/edit/labels.vue:30 @@ -1953,7 +1985,7 @@ msgstr "ชื่อ" msgid "Name too long" msgstr "ชื่อยาวเกินไป" -#: src/page/admin/users.vue:204 src/options/options.js:361 +#: src/page/admin/users.vue:206 src/options/options.js:361 #: src/options/options.js:371 src/page/settings/services.vue:75 msgid "Never" msgstr "ไม่เคย" @@ -1962,13 +1994,13 @@ msgstr "ไม่เคย" msgid "New" msgstr "ใหม่" -#: src/component/settings/password.vue:106 +#: src/component/settings/password.vue:107 msgid "New Password" msgstr "รหัสผ่านใหม่" #: src/component/album/edit/dialog.vue:24 src/component/photo/toolbar.vue:114 #: src/component/photo/toolbar.vue:126 src/component/photo/toolbar.vue:136 -#: src/page/albums.vue:100 +#: src/page/albums.vue:101 msgid "Newest First" msgstr "ใหม่ล่าสุดก่อน" @@ -1984,15 +2016,15 @@ msgstr "หน้าถัดไป" msgid "Next visual" msgstr "ภาพถัดไป" -#: src/component/people/merge/dialog.vue:47 -#: src/component/photo/archive/dialog.vue:47 +#: src/component/people/merge/dialog.vue:48 +#: src/component/photo/archive/dialog.vue:48 #: src/component/photo/edit/info.vue:281 src/component/photo/edit/info.vue:297 #: src/component/photo/edit/info.vue:313 src/component/photo/edit/info.vue:329 #: src/component/photo/edit/info.vue:344 msgid "No" msgstr "ไม่" -#: src/page/albums.vue:607 src/page/albums.vue:282 +#: src/page/albums.vue:612 src/page/albums.vue:282 msgid "No albums found" msgstr "ไม่พบอัลบั้ม" @@ -2000,7 +2032,7 @@ msgstr "ไม่พบอัลบั้ม" msgid "No data available" msgstr "ไม่มีข้อมูล" -#: src/page/labels.vue:523 src/page/labels.vue:155 +#: src/page/labels.vue:528 src/page/labels.vue:155 msgid "No labels found" msgstr "ไม่พบป้ายกำกับ" @@ -2013,15 +2045,15 @@ msgid "No more" msgstr "ไม่มีอีกต่อไป" #: src/component/photo/edit/people.vue:34 src/page/people/new.vue:346 -#: src/page/people/new.vue:443 src/page/people/new.vue:103 -#: src/page/people/recognized.vue:531 src/page/people/recognized.vue:146 +#: src/page/people/new.vue:446 src/page/people/new.vue:103 +#: src/page/people/recognized.vue:536 src/page/people/recognized.vue:146 msgid "No people found" msgstr "ไม่พบผู้คน" #: src/component/lightbox.vue:365 src/component/photo/view/cards.vue:144 #: src/component/photo/view/list.vue:82 src/component/photo/view/mosaic.vue:68 -#: src/page/album/photos.vue:488 src/page/library/browse.vue:123 -#: src/page/photos.vue:626 src/page/places.vue:624 src/page/places.vue:730 +#: src/page/album/photos.vue:499 src/page/library/browse.vue:123 +#: src/page/photos.vue:636 src/page/places.vue:624 src/page/places.vue:730 msgid "No pictures found" msgstr "ไม่พบรูปภาพ" @@ -2030,7 +2062,11 @@ msgstr "ไม่พบรูปภาพ" msgid "No recently edited pictures" msgstr "ไม่มีรูปภาพที่แก้ไขล่าสุด" -#: src/component/navigation.vue:1655 +#: src/component/location/dialog.vue:166 +msgid "No results" +msgstr "ไม่มีผลลัพธ์" + +#: src/component/navigation.vue:1686 msgid "No server connection" msgstr "ไม่มีการเชื่อมต่อกับเซิร์ฟเวอร์" @@ -2042,7 +2078,7 @@ msgstr "ไม่มีการกำหนดค่าเซิร์ฟเว msgid "No services configured." msgstr "ไม่มีการกำหนดค่าเซิร์ฟเวอร์" -#: src/component/confirm/sponsor.vue:72 +#: src/component/confirm/sponsor.vue:73 msgid "No thanks" msgstr "ไม่เป็นไรขอบคุณ" @@ -2052,17 +2088,17 @@ msgstr "ไม่มีคำเตือนหรือข้อผิดพล #: src/component/photo/view/cards.vue:154 src/component/photo/view/list.vue:59 #: src/component/photo/view/list.vue:92 src/component/photo/view/mosaic.vue:78 -#: src/component/upload/dialog.vue:208 +#: src/component/upload/dialog.vue:210 msgid "Non-photographic and low-quality images require a review before they appear in search results." msgstr "รูปภาพที่ไม่ใช่ภาพถ่ายและคุณภาพต่ำต้องได้รับการตรวจสอบก่อนที่จะปรากฏในผลการค้นหา" -#: src/options/admin.js:47 src/options/auth.js:32 src/options/options.js:212 +#: src/options/admin.js:51 src/options/auth.js:33 src/options/options.js:212 #: src/options/options.js:328 msgid "None" msgstr "ไม่มี" -#: src/common/util.js:853 src/component/lightbox.vue:633 -#: src/component/service/upload.vue:75 src/component/service/upload.vue:87 +#: src/component/lightbox.vue:633 src/component/service/upload.vue:75 +#: src/component/service/upload.vue:87 msgid "Not allowed" msgstr "ไม่อนุญาต" @@ -2074,8 +2110,7 @@ msgstr "ไม่พบ" msgid "Not sorted." msgstr "ไม่ได้จัดเรียง" -#: src/common/util.js:858 src/component/lightbox.vue:627 -#: src/component/lightbox.vue:744 +#: src/component/lightbox.vue:627 src/component/lightbox.vue:744 msgid "Not supported" msgstr "ไม่รองรับ" @@ -2083,15 +2118,15 @@ msgstr "ไม่รองรับ" msgid "Note you may manually manage your originals folder and importing is optional." msgstr "โปรดทราบว่าคุณสามารถจัดการโฟลเดอร์ต้นฉบับของคุณได้ด้วยตนเอง และการนำเข้าเป็นทางเลือก" -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "Note:" msgstr "บันทึก:" -#: src/component/service/add.vue:120 +#: src/component/service/add.vue:121 msgid "Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload." msgstr "หมายเหตุ: เฉพาะเซิร์ฟเวอร์ WebDAV เช่น Nextcloud หรือ PhotoPrism เท่านั้นที่สามารถกำหนดค่าเป็นบริการระยะไกลสำหรับการสำรองข้อมูลและการอัปโหลดไฟล์" -#: src/component/photo/edit/details.vue:603 +#: src/component/photo/edit/details.vue:577 msgid "Notes" msgstr "หมายเหตุ" @@ -2099,8 +2134,8 @@ msgstr "หมายเหตุ" msgid "Nothing to see here yet." msgstr "ยังไม่มีอะไรให้ดูที่นี่ อดทน" -#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:115 -#: src/component/settings/apps.vue:390 +#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:125 +#: src/component/settings/apps.vue:393 msgid "Nothing was found." msgstr "ไม่พบสิ่งใด" @@ -2108,7 +2143,7 @@ msgstr "ไม่พบสิ่งใด" msgid "Offline" msgstr "ออฟไลน์" -#: src/options/admin.js:39 src/options/auth.js:28 +#: src/options/admin.js:43 src/options/auth.js:29 msgid "OIDC" msgstr "คปภ" @@ -2118,11 +2153,11 @@ msgstr "ตกลง" #: src/component/album/edit/dialog.vue:25 src/component/photo/toolbar.vue:115 #: src/component/photo/toolbar.vue:127 src/component/photo/toolbar.vue:137 -#: src/page/albums.vue:101 +#: src/page/albums.vue:102 msgid "Oldest First" msgstr "เก่าสุดก่อน" -#: src/component/settings/webdav.vue:77 +#: src/component/settings/webdav.vue:78 msgid "On Windows, enter the following resource in the connection dialog:" msgstr "บน Windows ให้ป้อนทรัพยากรต่อไปนี้ในกล่องโต้ตอบการเชื่อมต่อ:" @@ -2134,11 +2169,11 @@ msgstr "การสร้างภาพขนาดย่อตามควา msgid "Once a week" msgstr "สัปดาห์ละครั้ง" -#: src/page/albums.vue:609 +#: src/page/albums.vue:614 msgid "One album found" msgstr "พบหนึ่งอัลบั้ม" -#: src/page/library/browse.vue:358 +#: src/page/library/browse.vue:360 msgid "One file found" msgstr "พบหนึ่งไฟล์" @@ -2146,24 +2181,24 @@ msgstr "พบหนึ่งไฟล์" msgid "One file uploaded" msgstr "อัปโหลดแล้วหนึ่งไฟล์" -#: src/page/library/browse.vue:360 +#: src/page/library/browse.vue:362 msgid "One folder found" msgstr "พบหนึ่งโฟลเดอร์" -#: src/page/labels.vue:525 +#: src/page/labels.vue:530 msgid "One label found" msgstr "พบหนึ่งป้าย" -#: src/page/people/new.vue:348 src/page/people/new.vue:445 -#: src/page/people/recognized.vue:533 +#: src/page/people/new.vue:348 src/page/people/new.vue:448 +#: src/page/people/recognized.vue:538 msgid "One person found" msgstr "พบหนึ่งคน" -#: src/page/album/photos.vue:490 src/page/photos.vue:628 +#: src/page/album/photos.vue:501 src/page/photos.vue:638 msgid "One picture found" msgstr "พบหนึ่งภาพ" -#: src/component/settings/passcode.vue:478 +#: src/component/settings/passcode.vue:481 msgid "Only locally managed accounts can be set up for authentication with 2FA." msgstr "เฉพาะบัญชีที่จัดการภายในเครื่องเท่านั้นที่สามารถตั้งค่าสำหรับการตรวจสอบสิทธิ์ด้วย 2FA ได้" @@ -2171,7 +2206,7 @@ msgstr "เฉพาะบัญชีที่จัดการภายใน msgid "Open" msgstr "เปิด" -#: src/component/service/add.vue:86 src/component/service/add.vue:107 +#: src/component/service/add.vue:87 src/component/service/add.vue:108 msgid "optional" msgstr "ไม่จำเป็น" @@ -2183,7 +2218,7 @@ msgstr "หรือ" msgid "Orange" msgstr "ส้ม" -#: src/page/settings/account.vue:571 src/page/settings/account.vue:573 +#: src/page/settings/account.vue:577 src/page/settings/account.vue:579 msgid "Organization" msgstr "ปฐมนิเทศ" @@ -2199,7 +2234,7 @@ msgstr "ชื่อไฟล์ต้นฉบับจะถูกจัดเ msgid "Original Name" msgstr "ชื่อจริง" -#: src/component/navigation.vue:1304 src/model/file.js:196 +#: src/component/navigation.vue:1328 src/model/file.js:196 #: src/options/options.js:413 src/page/library/browse.vue:65 #: src/page/settings/content.vue:356 src/page/settings/general.vue:532 msgid "Originals" @@ -2210,7 +2245,7 @@ msgstr "ต้นฉบับ" msgid "Other" msgstr "อื่น" -#: src/page/about/about.vue:77 src/page/about/about.vue:83 +#: src/page/about/about.vue:78 src/page/about/about.vue:84 msgid "Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible." msgstr "ภารกิจของเราคือการจัดหาโซลูชันที่เป็นมิตรต่อผู้ใช้และความเป็นส่วนตัวมากที่สุด เพื่อให้รูปภาพของคุณเป็นระเบียบและเข้าถึงได้" @@ -2222,7 +2257,7 @@ msgstr "กลางแจ้ง" msgid "Page {0}, Current page" msgstr "หน้า {0}, หน้าปัจจุบัน" -#: src/component/photo/edit/files.vue:352 src/model/photo.js:859 +#: src/component/photo/edit/files.vue:352 src/model/photo.js:896 msgid "Pages" msgstr "หน้า" @@ -2234,15 +2269,15 @@ msgstr "การนำทางการแบ่งหน้า" msgid "Panorama" msgstr "พาโนรามา" -#: src/component/navigation.vue:402 +#: src/component/navigation.vue:404 msgid "Panoramas" msgstr "พาโนรามา" -#: src/component/user/add/dialog.vue:114 src/component/user/add/dialog.vue:115 -#: src/component/service/add.vue:106 src/component/service/edit.vue:352 -#: src/component/settings/apps.vue:121 src/component/settings/passcode.vue:106 -#: src/component/settings/passcode.vue:413 src/component/share/dialog.vue:27 -#: src/options/auth.js:91 src/page/auth/login.vue:196 +#: src/component/user/add/dialog.vue:115 src/component/user/add/dialog.vue:116 +#: src/component/service/add.vue:107 src/component/service/edit.vue:353 +#: src/component/settings/apps.vue:124 src/component/settings/passcode.vue:109 +#: src/component/settings/passcode.vue:416 src/component/share/dialog.vue:27 +#: src/options/auth.js:92 src/page/auth/login.vue:196 msgid "Password" msgstr "รหัสผ่าน" @@ -2250,9 +2285,9 @@ msgstr "รหัสผ่าน" msgid "Password changed" msgstr "รหัสผ่านเปลี่ยน" -#: src/app/routes.js:404 src/app/routes.js:428 src/component/navigation.vue:845 -#: src/component/navigation.vue:1898 src/component/photo/edit/dialog.vue:228 -#: src/component/photo/edit/dialog.vue:245 src/options/options.js:201 +#: src/app/routes.js:412 src/app/routes.js:436 src/component/navigation.vue:853 +#: src/component/navigation.vue:1939 src/component/photo/edit/dialog.vue:238 +#: src/component/photo/edit/dialog.vue:257 src/options/options.js:201 #: src/page/settings/general.vue:180 msgid "People" msgstr "ประชากร" @@ -2273,23 +2308,23 @@ msgstr "ลบไฟล์อย่างถาวรเพื่อเพิ่ msgid "Person" msgstr "บุคคล" -#: src/options/auth.js:42 +#: src/options/auth.js:43 msgid "Personal" msgstr "ส่วนตัว" -#: src/model/photo.js:1273 +#: src/model/photo.js:1310 msgid "Photo" msgstr "รูปถ่าย" -#: src/page/about/about.vue:156 +#: src/page/about/about.vue:158 msgid "PhotoPrism is 100% self-funded and independent." msgstr "PhotoPrism ใช้เงินตัวเอง 100% และเป็นอิสระ" -#: src/page/about/about.vue:92 +#: src/page/about/about.vue:93 msgid "PhotoPrism+ Membership" msgstr "PhotoPrism+ การเป็นสมาชิก" -#: src/app/routes.js:156 +#: src/app/routes.js:164 msgid "Photos" msgstr "ภาพถ่าย" @@ -2310,27 +2345,27 @@ msgstr "สถานที่" msgid "Place & Time" msgstr "สถานที่และเวลา" -#: src/app/routes.js:303 src/app/routes.js:309 src/app/routes.js:315 -#: src/app/routes.js:330 src/component/navigation.vue:986 -#: src/component/navigation.vue:1914 src/options/options.js:203 +#: src/app/routes.js:311 src/app/routes.js:317 src/app/routes.js:323 +#: src/app/routes.js:338 src/component/navigation.vue:999 +#: src/component/navigation.vue:1956 src/options/options.js:203 #: src/page/places.vue:51 src/page/settings/general.vue:609 #: src/page/settings/general.vue:638 msgid "Places" msgstr "สถานที่" -#: src/component/settings/password.vue:129 +#: src/component/settings/password.vue:130 msgid "Please confirm your new password." msgstr "กรุณายืนยันรหัสผ่านใหม่ของคุณ" -#: src/component/settings/apps.vue:185 +#: src/component/settings/apps.vue:188 msgid "Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:" msgstr "โปรดคัดลอกรหัสผ่านสำหรับแอปที่สร้างขึ้นแบบสุ่มต่อไปนี้และเก็บไว้ในที่ปลอดภัย เนื่องจากคุณจะไม่สามารถดูได้อีก:" -#: src/component/upload/dialog.vue:203 +#: src/component/upload/dialog.vue:205 msgid "Please do not upload any private, unlawful or offensive pictures." msgstr "กรุณาอย่าอัพโหลดภาพส่วนตัว ผิดกฎหมาย หรือไม่เหมาะสม" -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Please don't upload photos containing offensive content." msgstr "กรุณาอย่าอัปโหลดรูปภาพที่มีเนื้อหาที่ไม่เหมาะสม" @@ -2338,11 +2373,11 @@ msgstr "กรุณาอย่าอัปโหลดรูปภาพที msgid "Please enter OTP character {0}" msgstr "กรุณากรอกรหัส OTP {0}" -#: src/component/settings/password.vue:66 +#: src/component/settings/password.vue:67 msgid "Please note that changing your password will log you out on other devices and browsers." msgstr "โปรดทราบว่าการเปลี่ยนรหัสผ่านจะทำให้คุณออกจากระบบบนอุปกรณ์และเบราว์เซอร์อื่นๆ" -#: src/page/connect.vue:148 src/page/connect.vue:152 +#: src/page/connect.vue:149 src/page/connect.vue:153 msgid "Please restart your instance for the changes to take effect." msgstr "โปรดรีสตาร์ทอินสแตนซ์ของคุณเพื่อให้การเปลี่ยนแปลงมีผล" @@ -2362,11 +2397,11 @@ msgstr "ขีดจำกัดขนาด PNG: %{n}px" msgid "Portrait" msgstr "ภาพเหมือน" -#: src/component/service/edit.vue:273 +#: src/component/service/edit.vue:274 msgid "Preserve filenames" msgstr "รักษาชื่อไฟล์" -#: src/component/upload/dialog.vue:162 +#: src/component/upload/dialog.vue:164 msgid "Press enter to create a new album." msgstr "กด Enter เพื่อสร้างอัลบั้มใหม่" @@ -2403,8 +2438,8 @@ msgstr "ภาพก่อนหน้า" msgid "Primary" msgstr "หลัก" -#: src/app/routes.js:271 src/component/album/edit/dialog.vue:176 -#: src/component/navigation.vue:531 src/component/photo/edit/info.vue:303 +#: src/app/routes.js:279 src/component/album/edit/dialog.vue:177 +#: src/component/navigation.vue:533 src/component/photo/edit/info.vue:303 #: src/page/settings/general.vue:280 msgid "Private" msgstr "ส่วนตัว" @@ -2429,7 +2464,7 @@ msgstr "ตัวกรองคุณภาพ" msgid "Quality Score" msgstr "คะแนนคุณภาพ" -#: src/page/admin/users.vue:169 +#: src/page/admin/users.vue:171 msgid "r" msgstr "ร" @@ -2460,7 +2495,7 @@ msgstr "โหมดอ่านอย่างเดียว" #: src/component/album/edit/dialog.vue:26 src/component/photo/toolbar.vue:116 #: src/component/photo/toolbar.vue:128 src/component/photo/toolbar.vue:138 -#: src/page/albums.vue:102 +#: src/page/albums.vue:103 msgid "Recently Added" msgstr "เพิ่มมาเร็ว ๆ นี้" @@ -2468,7 +2503,7 @@ msgstr "เพิ่มมาเร็ว ๆ นี้" msgid "Recently Archived" msgstr "เก็บถาวรเมื่อเร็วๆ นี้" -#: src/component/photo/toolbar.vue:139 src/page/albums.vue:103 +#: src/component/photo/toolbar.vue:139 src/page/albums.vue:104 msgid "Recently Edited" msgstr "แก้ไขล่าสุด" @@ -2493,24 +2528,24 @@ msgstr "รหัสการกู้คืน" msgid "Red" msgstr "สีแดง" -#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:126 -#: src/component/album/toolbar.vue:79 src/component/photo/toolbar.vue:169 -#: src/page/albums.vue:173 src/page/labels.vue:112 +#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:128 +#: src/component/album/toolbar.vue:84 src/component/photo/toolbar.vue:169 +#: src/page/albums.vue:175 src/page/labels.vue:112 #: src/page/library/browse.vue:90 src/page/library/errors.vue:81 #: src/page/people/new.vue:54 src/page/people/recognized.vue:88 msgid "Refresh" msgstr "รีเฟรช" -#: src/app/routes.js:337 src/component/navigation.vue:943 -#: src/component/navigation.vue:1026 +#: src/app/routes.js:345 src/component/navigation.vue:955 +#: src/component/navigation.vue:1040 msgid "Regions" msgstr "ภูมิภาค" -#: src/page/connect.vue:275 src/page/connect.vue:284 +#: src/page/connect.vue:277 src/page/connect.vue:286 msgid "Register" msgstr "ลงทะเบียน" -#: src/component/navigation.vue:1773 src/component/update.vue:68 +#: src/component/navigation.vue:1806 src/component/update.vue:68 msgid "Reload" msgstr "โหลดซ้ำ" @@ -2555,34 +2590,34 @@ msgstr "กำหนดให้ต้องตรวจสอบรูปภา msgid "Resolution" msgstr "ปณิธาน" -#: src/page/connect.vue:179 src/page/connect.vue:183 +#: src/page/connect.vue:180 src/page/connect.vue:184 #: src/page/settings/advanced.vue:782 msgid "Restart" msgstr "เริ่มต้นใหม่" -#: src/component/user/edit/dialog.vue:485 src/component/lightbox.vue:1221 +#: src/component/user/edit/dialog.vue:488 src/component/lightbox.vue:1221 #: src/component/photo/clipboard.vue:77 msgid "Restore" msgstr "คืนค่า" -#: src/component/lightbox.vue:2000 +#: src/component/lightbox.vue:2020 msgid "Restored" msgstr "ฟื้นฟูแล้ว" -#: src/component/service/edit.vue:428 +#: src/component/service/edit.vue:429 msgid "Retry Limit" msgstr "ขีดจำกัดการลองใหม่" -#: src/component/settings/password.vue:128 +#: src/component/settings/password.vue:129 msgid "Retype Password" msgstr "พิมพ์รหัสผ่านอีกครั้ง" -#: src/app/routes.js:264 src/component/navigation.vue:505 +#: src/app/routes.js:272 src/component/navigation.vue:507 msgid "Review" msgstr "ทบทวน" -#: src/component/user/add/dialog.vue:171 src/component/user/edit/dialog.vue:284 -#: src/page/admin/sessions.vue:262 src/page/admin/users.vue:73 +#: src/component/user/add/dialog.vue:172 src/component/user/edit/dialog.vue:285 +#: src/page/admin/sessions.vue:263 src/page/admin/users.vue:75 msgid "Role" msgstr "บทบาท" @@ -2594,11 +2629,11 @@ msgstr "จำนวนแถวต่อหน้า:" msgid "Satellite" msgstr "ดาวเทียม" -#: src/component/user/edit/dialog.vue:485 -#: src/component/album/edit/dialog.vue:211 -#: src/component/label/edit/dialog.vue:119 -#: src/component/people/edit/dialog.vue:132 src/component/service/edit.vue:466 -#: src/component/settings/password.vue:172 src/component/share/dialog.vue:181 +#: src/component/user/edit/dialog.vue:488 +#: src/component/album/edit/dialog.vue:212 +#: src/component/label/edit/dialog.vue:120 +#: src/component/people/edit/dialog.vue:133 src/component/service/edit.vue:467 +#: src/component/settings/password.vue:173 src/component/share/dialog.vue:181 msgid "Save" msgstr "บันทึก" @@ -2606,23 +2641,23 @@ msgstr "บันทึก" msgid "Scan" msgstr "สแกน" -#: src/component/settings/passcode.vue:179 +#: src/component/settings/passcode.vue:182 msgid "Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:" msgstr "สแกนโค้ด QR ด้วยแอปยืนยันตัวตนของคุณ หรือใช้คีย์การตั้งค่าที่แสดงด้านล่าง จากนั้นป้อนรหัสยืนยันที่สร้างขึ้น:" -#: src/component/navigation.vue:461 +#: src/component/navigation.vue:463 msgid "Scans" msgstr "สแกน" -#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:377 -#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:310 +#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:381 +#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:313 msgid "Scope" msgstr "ขอบเขต" -#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:62 -#: src/component/navigation.vue:342 src/component/navigation.vue:1866 -#: src/component/photo/toolbar.vue:57 src/options/options.js:197 -#: src/page/albums.vue:100 src/page/labels.vue:77 +#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:69 +#: src/component/location/dialog.vue:133 src/component/navigation.vue:343 +#: src/component/navigation.vue:1905 src/component/photo/toolbar.vue:57 +#: src/options/options.js:197 src/page/albums.vue:100 src/page/labels.vue:77 #: src/page/library/errors.vue:76 src/page/people/recognized.vue:66 #: src/page/places.vue:79 src/page/settings/content.vue:235 msgid "Search" @@ -2660,11 +2695,11 @@ msgstr "เลือกวันที่" msgid "Select dates" msgstr "เลือกวันที่" -#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:154 +#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:156 msgid "Select or create an album" msgstr "เลือกหรือสร้างอัลบั้ม" -#: src/component/upload/dialog.vue:138 +#: src/component/upload/dialog.vue:140 msgid "Select the files to upload…" msgstr "เลือกไฟล์ที่จะอัพโหลด…" @@ -2692,7 +2727,7 @@ msgstr "คืนค่าการเลือกแล้ว" msgid "Sequential Name" msgstr "ชื่อลำดับ" -#: src/component/service/add.vue:67 src/component/service/edit.vue:322 +#: src/component/service/add.vue:68 src/component/service/edit.vue:323 #: src/component/share/dialog.vue:25 msgid "Service URL" msgstr "URL บริการ" @@ -2701,7 +2736,7 @@ msgstr "URL บริการ" msgid "Services" msgstr "URL บริการ" -#: src/model/session.js:107 src/options/auth.js:41 src/options/auth.js:90 +#: src/model/session.js:107 src/options/auth.js:42 src/options/auth.js:91 msgid "Session" msgstr "การประชุม" @@ -2709,7 +2744,7 @@ msgstr "การประชุม" msgid "Session ID" msgstr "รหัสเซสชัน" -#: src/page/admin.vue:45 +#: src/page/admin.vue:44 msgid "Sessions" msgstr "เซสชัน" @@ -2717,22 +2752,22 @@ msgstr "เซสชัน" msgid "Set as Album Cover" msgstr "ตั้งเป็นปกอัลบั้ม" -#: src/app/routes.js:101 src/app/routes.js:492 src/app/routes.js:504 -#: src/app/routes.js:521 src/app/routes.js:534 src/app/routes.js:547 -#: src/component/navigation.vue:1394 src/component/navigation.vue:1806 +#: src/app/routes.js:101 src/app/routes.js:500 src/app/routes.js:512 +#: src/app/routes.js:529 src/app/routes.js:542 src/app/routes.js:555 +#: src/component/navigation.vue:1419 src/component/navigation.vue:1841 msgid "Settings" msgstr "การตั้งค่า" #: src/page/settings/account.vue:115 src/page/settings/account.vue:144 -#: src/component/settings/passcode.vue:147 +#: src/component/settings/passcode.vue:151 msgid "Settings saved" msgstr "การตั้งค่าที่บันทึกไว้" -#: src/component/service/upload.vue:131 src/component/settings/passcode.vue:160 +#: src/component/service/upload.vue:132 src/component/settings/passcode.vue:163 msgid "Setup" msgstr "ติดตั้ง" -#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:98 +#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:103 #: src/component/photo/clipboard.vue:51 src/page/settings/general.vue:382 msgid "Share" msgstr "แบ่งปัน" @@ -2749,7 +2784,7 @@ msgstr "แบ่งปันรูปภาพของคุณกับแอ msgid "Show" msgstr "แสดง" -#: src/page/people/new.vue:116 src/page/people/new.vue:233 +#: src/page/people/new.vue:116 src/page/people/new.vue:235 msgid "Show all new faces" msgstr "แสดงใบหน้าใหม่ทั้งหมด" @@ -2794,7 +2829,7 @@ msgid "Similar" msgstr "คล้ายกัน" #: src/component/photo/edit/files.vue:51 src/component/photo/edit/files.vue:341 -#: src/component/service/edit.vue:139 src/component/sidebar/info.vue:96 +#: src/component/service/edit.vue:140 src/component/sidebar/info.vue:96 msgid "Size" msgstr "ขนาด" @@ -2822,7 +2857,7 @@ msgstr "เกิดข้อผิดพลาด โปรดลองอี msgid "Sort by" msgstr "จัดเรียงตาม" -#: src/component/album/edit/dialog.vue:142 src/component/photo/toolbar.vue:288 +#: src/component/album/edit/dialog.vue:143 src/component/photo/toolbar.vue:290 #: src/page/albums.vue:214 msgid "Sort Order" msgstr "เรียงลำดับ" @@ -2857,7 +2892,7 @@ msgstr "กองรูปภาพที่ถ่ายในเวลาแล msgid "Stackable" msgstr "วางซ้อนกันได้" -#: src/component/navigation.vue:421 src/page/settings/content.vue:136 +#: src/component/navigation.vue:423 src/page/settings/content.vue:136 msgid "Stacks" msgstr "กอง" @@ -2885,16 +2920,16 @@ msgstr "พื้นที่จัดเก็บ" msgid "Streets" msgstr "ถนน" -#: src/component/photo/edit/details.vue:494 +#: src/component/photo/edit/details.vue:468 #: src/component/photo/edit/labels.vue:44 msgid "Subject" msgstr "เรื่อง" -#: src/page/about/feedback.vue:162 src/page/about/feedback.vue:163 +#: src/page/about/feedback.vue:163 src/page/about/feedback.vue:164 msgid "Submit" msgstr "ส่ง" -#: src/component/settings/passcode.vue:132 +#: src/component/settings/passcode.vue:136 msgid "Successfully activated" msgstr "เปิดใช้งานสำเร็จแล้ว" @@ -2903,23 +2938,23 @@ msgid "Successfully Connected" msgstr "เชื่อมต่อเรียบร้อยแล้ว" #: src/component/session/remove/dialog.vue:32 -#: src/component/settings/apps.vue:218 +#: src/component/settings/apps.vue:222 msgid "Successfully deleted" msgstr "ลบเรียบร้อยแล้ว" -#: src/component/settings/passcode.vue:107 +#: src/component/settings/passcode.vue:108 msgid "Successfully verified" msgstr "ตรวจสอบเรียบร้อยแล้ว" -#: src/component/user/edit/dialog.vue:398 src/page/admin/users.vue:163 +#: src/component/user/edit/dialog.vue:399 src/page/admin/users.vue:165 msgid "Super Admin" msgstr "ผู้ดูแลระบบขั้นสูง" -#: src/component/service/add.vue:122 +#: src/component/service/add.vue:123 msgid "Support for additional services, like Google Drive, will be added over time." msgstr "การสนับสนุนบริการเพิ่มเติม เช่น Google ไดรฟ์ จะถูกเพิ่มเข้ามาเรื่อยๆ" -#: src/component/confirm/sponsor.vue:37 src/component/navigation.vue:1629 +#: src/component/confirm/sponsor.vue:38 src/component/navigation.vue:1660 msgid "Support Our Mission" msgstr "สนับสนุนภารกิจของเรา" @@ -2927,7 +2962,7 @@ msgstr "สนับสนุนภารกิจของเรา" msgid "Sync" msgstr "ซิงค์" -#: src/component/service/edit.vue:289 +#: src/component/service/edit.vue:290 msgid "Sync raw and video files" msgstr "ซิงค์ไฟล์ดิบและวิดีโอ" @@ -2953,23 +2988,23 @@ msgstr "ภูมิประเทศ" msgid "Text" msgstr "ข้อความ" -#: src/component/photo/edit/details.vue:32 src/page/people/new.vue:71 +#: src/component/photo/edit/details.vue:40 src/page/people/new.vue:71 msgid "Text too long" msgstr "ข้อความยาวเกินไป" -#: src/page/about/about.vue:145 +#: src/page/about/about.vue:146 msgid "Thank You for Your Support!" msgstr "ขอบคุณสำหรับการสนับสนุน!" -#: src/page/about/about.vue:79 src/page/about/about.vue:85 +#: src/page/about/about.vue:80 src/page/about/about.vue:86 msgid "That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality." msgstr "นั่นเป็นเหตุผลที่ PhotoPrism ถูกสร้างขึ้นใหม่ทั้งหมดเพื่อให้ทำงานได้ทุกที่ที่คุณต้องการ โดยไม่กระทบต่อเสรีภาพ ความเป็นส่วนตัว หรือฟังก์ชันการทำงาน" -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "The index currently contains %{n} hidden files." msgstr "ขณะนี้ดัชนีมีไฟล์ที่ซ่อนอยู่ %{n} ไฟล์" -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates." msgstr "รูปแบบของไฟล์อาจไม่ได้รับการสนับสนุน ยังไม่ได้แปลงเป็น JPEG หรือมีรูปแบบที่ซ้ำกัน" @@ -2984,44 +3019,44 @@ msgstr "ธีม" msgid "This field is required" msgstr "ฟิลด์นี้จำเป็นต้องกรอก" -#: src/component/settings/webdav.vue:100 src/page/settings/services.vue:144 +#: src/component/settings/webdav.vue:101 src/page/settings/services.vue:147 msgid "This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local." msgstr "การดำเนินการนี้จะต่อเชื่อมโฟลเดอร์ต้นฉบับเป็นไดรฟ์เครือข่าย และช่วยให้คุณสามารถเปิด แก้ไข และลบไฟล์จากคอมพิวเตอร์หรือสมาร์ทโฟนได้เสมือนอยู่ในเครื่อง" -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Time UTC" msgstr "เวลาUTC" -#: src/component/photo/edit/details.vue:219 src/page/settings/general.vue:108 +#: src/component/photo/edit/details.vue:221 src/page/settings/general.vue:108 msgid "Time Zone" msgstr "เขตเวลา" -#: src/component/service/edit.vue:408 +#: src/component/service/edit.vue:409 msgid "Timeout" msgstr "หมดเวลา" -#: src/component/user/edit/dialog.vue:98 src/component/user/edit/dialog.vue:99 +#: src/component/user/edit/dialog.vue:99 src/component/user/edit/dialog.vue:100 #: src/page/settings/account.vue:84 src/page/settings/account.vue:86 msgctxt "Account" msgid "Title" msgstr "ชื่อ" -#: src/component/photo/edit/details.vue:73 +#: src/component/photo/edit/details.vue:75 msgctxt "Photo" msgid "Title" msgstr "ชื่อ" -#: src/component/photo/edit/info.vue:59 src/component/photo/edit/info.vue:155 +#: src/component/photo/edit/info.vue:61 src/component/photo/edit/info.vue:155 #: src/component/photo/edit/labels.vue:40 src/component/photo/view/list.vue:114 #: src/component/sidebar/info.vue:57 msgid "Title" msgstr "ชื่อ" -#: src/page/settings/account.vue:553 src/page/settings/account.vue:555 +#: src/page/settings/account.vue:559 src/page/settings/account.vue:561 msgid "Title / Position" msgstr "ชื่อเรื่องยาวเกินไป" -#: src/page/albums.vue:83 +#: src/page/albums.vue:84 msgid "Title too long" msgstr "ชื่อเรื่องยาวเกินไป" @@ -3029,19 +3064,19 @@ msgstr "ชื่อเรื่องยาวเกินไป" msgid "to" msgstr "ถึง" -#: src/component/settings/passcode.vue:312 +#: src/component/settings/passcode.vue:315 msgid "To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place." msgstr "เพื่อหลีกเลี่ยงการถูกล็อคออกจากบัญชีของคุณ โปรดดาวน์โหลด พิมพ์ หรือคัดลอกรหัสกู้คืนนี้ทันทีและเก็บไว้ในที่ปลอดภัย" -#: src/component/settings/apps.vue:272 +#: src/component/settings/apps.vue:275 msgid "To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:" msgstr "หากต้องการสร้างรหัสผ่านเฉพาะแอปใหม่ โปรดป้อนชื่อและขอบเขตการอนุญาตของแอปพลิเคชัน และเลือกวันหมดอายุ:" -#: src/component/settings/passcode.vue:400 +#: src/component/settings/passcode.vue:403 msgid "To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:" msgstr "หากต้องการสลับไปใช้แอพหรืออุปกรณ์ตรวจสอบความถูกต้องใหม่ ให้ปิดการใช้งานการตรวจสอบสิทธิ์แบบสองปัจจัยก่อนแล้วจึงเปิดใช้งานอีกครั้ง:" -#: src/page/connect.vue:221 src/page/connect.vue:230 +#: src/page/connect.vue:223 src/page/connect.vue:232 msgid "To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:" msgstr "หากต้องการอัปเกรด คุณสามารถป้อนรหัสเปิดใช้งานหรือคลิก \"ลงทะเบียน\" เพื่อลงทะเบียนบนเว็บไซต์ของเรา:" @@ -3049,7 +3084,7 @@ msgstr "หากต้องการอัปเกรด คุณสาม msgid "Today" msgstr "วันนี้" -#: src/component/album/toolbar.vue:70 src/component/photo/toolbar.vue:78 +#: src/component/album/toolbar.vue:71 src/component/photo/toolbar.vue:78 msgid "Toggle View" msgstr "สลับมุมมอง" @@ -3076,20 +3111,24 @@ msgstr "การแก้ไขปัญหา" msgid "Try again using other filters or keywords." msgstr "ลองอีกครั้งโดยใช้ตัวกรองหรือคำหลักอื่น" -#: src/component/settings/passcode.vue:380 +#: src/component/settings/passcode.vue:383 msgid "Two-factor authentication has been enabled for your account." msgstr "เปิดใช้งานการรับรองความถูกต้องด้วยสองปัจจัยสำหรับบัญชีของคุณแล้ว" #: src/component/photo/edit/files.vue:58 src/component/photo/edit/files.vue:330 -#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:388 +#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:389 msgid "Type" msgstr "พิมพ์" -#: src/options/auth.js:13 +#: src/component/album/toolbar.vue:178 +msgid "Unable to delete" +msgstr "ไม่สามารถลบได้" + +#: src/options/auth.js:14 msgid "Unauthorized" msgstr "ไม่ได้รับอนุญาต" -#: src/component/photo/edit/people.vue:94 +#: src/component/photo/edit/people.vue:95 msgid "Undo" msgstr "เลิกทำ" @@ -3097,16 +3136,16 @@ msgstr "เลิกทำ" msgid "Unique ID" msgstr "ID ไม่ซ้ำกัน" -#: src/page/settings/account.vue:451 src/page/settings/account.vue:476 -#: src/page/settings/account.vue:501 src/common/util.js:487 -#: src/component/photo/edit/details.vue:21 -#: src/component/photo/edit/details.vue:111 -#: src/component/photo/edit/details.vue:138 -#: src/component/photo/edit/details.vue:164 src/component/sidebar/info.vue:43 -#: src/model/album.js:193 src/model/photo.js:323 src/model/photo.js:784 -#: src/model/photo.js:809 src/model/photo.js:832 src/model/photo.js:850 -#: src/model/photo.js:897 src/model/photo.js:905 src/model/photo.js:994 -#: src/model/photo.js:1016 src/model/photo.js:1061 src/model/photo.js:1074 +#: src/page/settings/account.vue:457 src/page/settings/account.vue:482 +#: src/page/settings/account.vue:507 src/common/util.js:488 +#: src/component/photo/edit/details.vue:27 +#: src/component/photo/edit/details.vue:113 +#: src/component/photo/edit/details.vue:140 +#: src/component/photo/edit/details.vue:166 src/component/sidebar/info.vue:43 +#: src/model/album.js:193 src/model/photo.js:331 src/model/photo.js:821 +#: src/model/photo.js:846 src/model/photo.js:869 src/model/photo.js:887 +#: src/model/photo.js:934 src/model/photo.js:942 src/model/photo.js:1031 +#: src/model/photo.js:1053 src/model/photo.js:1098 src/model/photo.js:1111 #: src/model/user.js:157 src/options/options.js:51 src/options/options.js:69 #: src/options/options.js:86 src/options/options.js:100 #: src/options/options.js:112 src/page/library/errors.vue:251 @@ -3119,7 +3158,7 @@ msgstr "ไม่รู้จัก" msgid "Unregistered" msgstr "ไม่ได้ลงทะเบียน" -#: src/app/routes.js:215 src/component/navigation.vue:644 +#: src/app/routes.js:223 src/component/navigation.vue:648 msgid "Unsorted" msgstr "ไม่เรียงลำดับ" @@ -3127,7 +3166,7 @@ msgstr "ไม่เรียงลำดับ" msgid "Unstack" msgstr "แกะ" -#: src/component/photo/edit/files.vue:519 src/component/photo/edit/info.vue:416 +#: src/component/photo/edit/files.vue:521 src/component/photo/edit/info.vue:416 msgid "Updated" msgstr "อัปเดต" @@ -3143,7 +3182,7 @@ msgstr "กำลังอัปเดตดัชนี" msgid "Updating moments" msgstr "กำลังอัปเดตช่วงเวลา" -#: src/component/user/edit/dialog.vue:154 +#: src/component/user/edit/dialog.vue:155 msgid "Updating picture…" msgstr "กำลังอัปเดตตัวอย่าง" @@ -3155,21 +3194,21 @@ msgstr "กำลังอัปเดตตัวอย่าง" msgid "Updating stacks" msgstr "กำลังอัปเดตกอง" -#: src/page/connect.vue:57 src/component/navigation.vue:1500 -#: src/component/navigation.vue:1614 src/component/navigation.vue:1999 +#: src/page/connect.vue:57 src/component/navigation.vue:1526 +#: src/component/navigation.vue:1644 src/component/navigation.vue:2047 #: src/page/connect.vue:58 msgid "Upgrade" msgstr "อัปเกรด" -#: src/page/about/about.vue:123 src/page/connect.vue:202 -#: src/component/confirm/sponsor.vue:98 src/page/about/about.vue:113 -#: src/page/connect.vue:206 +#: src/page/about/about.vue:124 src/page/connect.vue:204 +#: src/component/confirm/sponsor.vue:99 src/page/about/about.vue:114 +#: src/page/connect.vue:208 msgid "Upgrade Now" msgstr "อัพเกรดเดี๋ยวนี้" -#: src/component/album/toolbar.vue:108 src/component/navigation.vue:1824 -#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:144 -#: src/component/upload/dialog.vue:51 src/page/albums.vue:183 +#: src/component/album/toolbar.vue:113 src/component/navigation.vue:1860 +#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:145 +#: src/component/upload/dialog.vue:51 src/page/albums.vue:185 #: src/page/labels.vue:122 src/page/library/import.vue:133 #: src/page/settings/general.vue:307 src/page/settings/services.vue:38 msgid "Upload" @@ -3179,21 +3218,21 @@ msgstr "ที่อัพโหลด" msgid "Upload complete" msgstr "อัพโหลดเสร็จแล้ว" -#: src/component/upload/dialog.vue:133 +#: src/component/upload/dialog.vue:135 msgid "Upload complete. Indexing…" msgstr "อัพโหลดเสร็จแล้ว กำลังจัดทำดัชนี…" #: src/component/upload/dialog.vue:296 src/component/upload/dialog.vue:315 -#: src/component/upload/dialog.vue:129 +#: src/component/upload/dialog.vue:131 msgid "Upload failed" msgstr "การอัพโหลดล้มเหลว" -#: src/component/service/edit.vue:257 +#: src/component/service/edit.vue:258 msgid "Upload local files" msgstr "อัปโหลดไฟล์ในเครื่อง" -#: src/component/user/edit/dialog.vue:380 #: src/component/user/edit/dialog.vue:381 +#: src/component/user/edit/dialog.vue:382 msgid "Upload Path" msgstr "อัปโหลดเส้นทาง" @@ -3201,7 +3240,7 @@ msgstr "อัปโหลดเส้นทาง" msgid "Upload to WebDAV and share links with friends." msgstr "อัปโหลดไปยัง WebDAV และแชร์ลิงก์กับเพื่อน" -#: src/component/upload/dialog.vue:131 +#: src/component/upload/dialog.vue:133 msgid "Uploading %{n} of %{t}…" msgstr "กำลังอัปโหลด %{n} จาก %{t}…" @@ -3214,7 +3253,7 @@ msgstr "กำลังอัปโหลดรูปภาพ…" msgid "Uploading…" msgstr "กำลังโหลดซ้ำ…" -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Uploads that may contain such images will be rejected automatically." msgstr "การอัปโหลดที่อาจมีภาพดังกล่าวจะถูกปฏิเสธโดยอัตโนมัติ" @@ -3222,7 +3261,7 @@ msgstr "การอัปโหลดที่อาจมีภาพดัง msgid "Use Presets" msgstr "ใช้พรีเซ็ต" -#: src/component/settings/passcode.vue:283 +#: src/component/settings/passcode.vue:286 msgid "Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:" msgstr "ใช้รหัสกู้คืนต่อไปนี้เพื่อเข้าถึงบัญชีของคุณเมื่อคุณไม่สามารถสร้างรหัสยืนยันที่ถูกต้องด้วยแอปตรวจสอบสิทธิ์ของคุณได้:" @@ -3230,12 +3269,12 @@ msgstr "ใช้รหัสกู้คืนต่อไปนี้เพื msgid "Use your recovery code or contact an administrator for help." msgstr "ใช้รหัสกู้คืนของคุณหรือติดต่อผู้ดูแลระบบเพื่อขอความช่วยเหลือ" -#: src/options/admin.js:10 src/page/admin/sessions.vue:59 -#: src/page/admin/sessions.vue:242 src/model/user.js:361 src/options/auth.js:7 +#: src/options/admin.js:14 src/page/admin/sessions.vue:59 +#: src/page/admin/sessions.vue:243 src/model/user.js:361 src/options/auth.js:8 msgid "User" msgstr "ผู้ใช้" -#: src/component/navigation.vue:1979 +#: src/component/navigation.vue:2025 msgid "User Guide" msgstr "คู่มือผู้ใช้" @@ -3243,14 +3282,14 @@ msgstr "คู่มือผู้ใช้" msgid "User Interface" msgstr "หน้าจอผู้ใช้" -#: src/component/user/add/dialog.vue:87 src/component/user/add/dialog.vue:88 -#: src/page/admin/sessions.vue:220 src/page/admin/users.vue:71 -#: src/component/service/add.vue:85 src/component/service/edit.vue:337 +#: src/component/user/add/dialog.vue:88 src/component/user/add/dialog.vue:89 +#: src/page/admin/sessions.vue:221 src/page/admin/users.vue:73 +#: src/component/service/add.vue:86 src/component/service/edit.vue:338 #: src/component/share/dialog.vue:26 msgid "Username" msgstr "ชื่อผู้ใช้" -#: src/component/navigation.vue:1435 +#: src/component/navigation.vue:1461 msgid "Users" msgstr "ผู้ใช้" @@ -3260,18 +3299,18 @@ msgstr "ผู้ใช้" msgid "Vector" msgstr "เวกเตอร์" -#: src/component/navigation.vue:440 +#: src/component/navigation.vue:442 msgid "Vectors" msgstr "เวกเตอร์" -#: src/component/settings/passcode.vue:227 src/page/auth/login.vue:144 +#: src/component/settings/passcode.vue:230 src/page/auth/login.vue:144 msgid "Verification Code" msgstr "รหัสยืนยัน" #: src/component/photo/view/cards.vue:363 #: src/component/photo/view/cards.vue:491 src/component/photo/view/list.vue:190 #: src/component/photo/view/mosaic.vue:207 src/model/file.js:221 -#: src/model/photo.js:921 src/model/photo.js:939 src/options/options.js:293 +#: src/model/photo.js:958 src/model/photo.js:976 src/options/options.js:293 msgid "Video" msgstr "วีดีโอ" @@ -3280,12 +3319,12 @@ msgstr "วีดีโอ" msgid "Video Duration" msgstr "ระยะเวลา" -#: src/app/routes.js:243 src/component/navigation.vue:728 +#: src/app/routes.js:251 src/component/navigation.vue:734 #: src/options/options.js:200 msgid "Videos" msgstr "วิดีโอ" -#: src/component/photo/toolbar.vue:261 src/component/photo/view/cards.vue:350 +#: src/component/photo/toolbar.vue:263 src/component/photo/view/cards.vue:350 #: src/component/photo/view/mosaic.vue:194 msgid "View" msgstr "ดู" @@ -3294,11 +3333,11 @@ msgstr "ดู" msgid "View search results as a list." msgstr "ดูผลลัพธ์การค้นหาเป็นรายการ" -#: src/options/admin.js:14 src/options/auth.js:8 +#: src/options/admin.js:18 src/options/auth.js:9 msgid "Viewer" msgstr "ผู้ดู" -#: src/page/admin/sessions.vue:271 src/options/auth.js:12 +#: src/page/admin/sessions.vue:272 src/options/auth.js:13 msgid "Visitor" msgstr "ผู้เข้าชม" @@ -3310,34 +3349,34 @@ msgstr "จัดกลุ่มตามความเหมือน" msgid "Warning" msgstr "คำเตือน" -#: src/page/about/feedback.vue:60 +#: src/page/about/feedback.vue:61 msgid "We appreciate your feedback!" msgstr "ขอขอบคุณสำหรับความคิดเห็นของคุณ!" -#: src/page/about/feedback.vue:63 +#: src/page/about/feedback.vue:64 msgid "We do our best to respond within five business days or less." msgstr "เราพยายามอย่างเต็มที่ที่จะตอบกลับภายในห้าวันทำการหรือน้อยกว่านั้น" -#: src/component/user/add/dialog.vue:235 src/component/user/edit/dialog.vue:415 -#: src/page/admin/users.vue:80 +#: src/component/user/add/dialog.vue:236 src/component/user/edit/dialog.vue:416 +#: src/page/admin/users.vue:82 msgid "Web Login" msgstr "เข้าสู่ระบบเว็บ" -#: src/component/user/add/dialog.vue:248 src/component/user/edit/dialog.vue:432 -#: src/page/admin/users.vue:82 src/options/auth.js:55 src/options/auth.js:68 +#: src/component/user/add/dialog.vue:249 src/component/user/edit/dialog.vue:433 +#: src/page/admin/users.vue:84 src/options/auth.js:56 src/options/auth.js:69 #: src/options/options.js:444 msgid "WebDAV" msgstr "เว็บDAV" -#: src/component/settings/webdav.vue:51 +#: src/component/settings/webdav.vue:52 msgid "WebDAV clients can connect to PhotoPrism using the following URL:" msgstr "ไคลเอ็นต์ WebDAV สามารถเชื่อมต่อกับ PhotoPrism โดยใช้ URL ต่อไปนี้:" -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism." msgstr "ไคลเอนต์ WebDAV เช่น Windows Explorer ของ Microsoft หรือ Finder ของ Apple สามารถเชื่อมต่อโดยตรงกับ PhotoPrism" -#: src/component/service/upload.vue:50 src/component/share/dialog.vue:220 +#: src/component/service/upload.vue:51 src/component/share/dialog.vue:220 msgid "WebDAV Upload" msgstr "อัพโหลด WebDAV" @@ -3345,8 +3384,8 @@ msgstr "อัพโหลด WebDAV" msgid "WebGL support is disabled in your browser" msgstr "การรองรับ WebGL ถูกปิดใช้งานในเบราว์เซอร์ของคุณ" -#: src/page/settings/account.vue:615 src/page/settings/account.vue:709 -#: src/page/settings/account.vue:601 +#: src/page/settings/account.vue:621 src/page/settings/account.vue:715 +#: src/page/settings/account.vue:607 msgid "Website" msgstr "เว็บไซต์" @@ -3354,12 +3393,12 @@ msgstr "เว็บไซต์" msgid "White" msgstr "สีขาว" -#: src/page/settings/account.vue:532 +#: src/page/settings/account.vue:538 msgid "Work Details" msgstr "รายละเอียด" -#: src/page/settings/account.vue:500 src/component/photo/edit/details.vue:163 -#: src/component/photo/toolbar.vue:315 src/page/albums.vue:159 +#: src/page/settings/account.vue:506 src/component/photo/edit/details.vue:165 +#: src/component/photo/toolbar.vue:317 src/page/albums.vue:159 msgid "Year" msgstr "ปี" @@ -3367,21 +3406,21 @@ msgstr "ปี" msgid "Yellow" msgstr "สีเหลือง" -#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:58 -#: src/component/photo/archive/dialog.vue:58 +#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:59 +#: src/component/photo/archive/dialog.vue:59 #: src/component/photo/clipboard.vue:200 src/component/photo/edit/files.vue:365 #: src/component/photo/edit/files.vue:395 #: src/component/photo/edit/files.vue:401 #: src/component/photo/edit/files.vue:407 -#: src/component/photo/edit/files.vue:510 src/component/photo/edit/info.vue:281 +#: src/component/photo/edit/files.vue:512 src/component/photo/edit/info.vue:281 #: src/component/photo/edit/info.vue:297 src/component/photo/edit/info.vue:313 #: src/component/photo/edit/info.vue:329 src/component/photo/edit/info.vue:344 -#: src/component/photo/toolbar.vue:434 +#: src/component/photo/toolbar.vue:436 msgid "Yes" msgstr "ใช่" -#: src/component/confirm/sponsor.vue:59 src/page/about/about.vue:158 -#: src/page/connect.vue:315 +#: src/component/confirm/sponsor.vue:60 src/page/about/about.vue:160 +#: src/page/connect.vue:317 msgid "You are welcome to contact us at membership@photoprism.app for questions regarding your membership." msgstr "คุณสามารถติดต่อเราได้ที่ membership@photoprism.app สำหรับคำถามเกี่ยวกับการเป็นสมาชิกของคุณ" @@ -3393,7 +3432,11 @@ msgstr "ดาวน์โหลดได้เพียงอัลบั้ม msgid "You can only download one label" msgstr "คุณสามารถดาวน์โหลดป้ายกำกับได้เพียงป้ายเดียว" -#: src/component/upload/dialog.vue:203 +#: src/component/location/dialog.vue:178 +msgid "You can search for a location or move the marker on the map to change the position:" +msgstr "คุณสามารถค้นหาตำแหน่งหรือย้ายเครื่องหมายบนแผนที่เพื่อเปลี่ยนตำแหน่ง:" + +#: src/component/upload/dialog.vue:205 msgid "You can upload up to %{n} files for test purposes." msgstr "คุณสามารถอัปโหลดไฟล์ได้มากถึง %{n} ไฟล์เพื่อการทดสอบ" @@ -3406,7 +3449,7 @@ msgstr "เลือกได้เพียงรายการเดียว msgid "You may rescan your library to find additional faces." msgstr "คุณสามารถสแกนคลังของคุณเพื่อค้นหาใบหน้าเพิ่มเติม" -#: src/page/connect.vue:146 src/page/connect.vue:150 +#: src/page/connect.vue:147 src/page/connect.vue:151 msgid "Your account has been successfully connected." msgstr "บัญชีของคุณเชื่อมต่อสำเร็จแล้ว" @@ -3414,8 +3457,8 @@ msgstr "บัญชีของคุณเชื่อมต่อสำเร msgid "Your browser does not support WebGL" msgstr "เบราว์เซอร์ของคุณไม่รองรับ WebGL" -#: src/component/confirm/sponsor.vue:43 src/page/about/about.vue:97 -#: src/page/about/about.vue:156 src/page/connect.vue:220 +#: src/component/confirm/sponsor.vue:44 src/page/about/about.vue:98 +#: src/page/about/about.vue:158 src/page/connect.vue:222 msgid "Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy." msgstr "การสนับสนุนอย่างต่อเนื่องของคุณช่วยให้เราอัปเดตและบริการต่างๆ เป็นประจำ เช่น แผนที่โลก" @@ -3496,9 +3539,6 @@ msgstr "ซูมเข้า/ออก" #~ msgid "Open Folder" #~ msgstr "เปิดโฟลเดอร์" -#~ msgid "Cannot copy to clipboard" -#~ msgstr "ไม่สามารถคัดลอกไปยังคลิปบอร์ดได้" - #~ msgid "Sound" #~ msgstr "เสียง" diff --git a/frontend/src/locales/tr.po b/frontend/src/locales/tr.po index ddd5aa479..dbeec158e 100644 --- a/frontend/src/locales/tr.po +++ b/frontend/src/locales/tr.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: ci@photoprism.app\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2025-04-04 08:03+0000\n" +"PO-Revision-Date: 2025-07-06 08:58+0000\n" "Last-Translator: DeepL \n" "Language-Team: Turkish \n" "Language: tr\n" @@ -11,7 +11,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.10.4\n" +"X-Generator: Weblate 5.12.2\n" "Generated-By: easygettext\n" #: src/locales.js:268 @@ -42,7 +42,7 @@ msgstr "{0} seçildi" msgid "{0}-{1} of {2}" msgstr "{2} içinden {0}-{1}" -#: src/page/albums.vue:612 +#: src/page/albums.vue:617 msgid "%{n} albums found" msgstr "%{n} albüm bulundu" @@ -50,25 +50,25 @@ msgstr "%{n} albüm bulundu" msgid "%{n} files uploaded" msgstr "%{n} dosya yüklendi" -#: src/page/library/browse.vue:362 +#: src/page/library/browse.vue:364 msgid "%{n} folders found" msgstr "%{n} klasör bulundu" -#: src/component/navigation.vue:1676 +#: src/component/navigation.vue:1707 msgid "%{n} GB of %{q} GB used" msgstr "%{n} GB %{q} GB kullanıldı" -#: src/page/labels.vue:528 +#: src/page/labels.vue:533 msgid "%{n} labels found" msgstr "%{n} etiket bulundu" -#: src/page/people/new.vue:350 src/page/people/new.vue:447 -#: src/page/people/recognized.vue:536 +#: src/page/people/new.vue:350 src/page/people/new.vue:450 +#: src/page/people/recognized.vue:541 msgid "%{n} people found" msgstr "%{n} kişi bulundu" -#: src/page/album/photos.vue:308 src/page/album/photos.vue:493 -#: src/page/photos.vue:441 src/page/photos.vue:631 +#: src/page/album/photos.vue:313 src/page/album/photos.vue:504 +#: src/page/photos.vue:446 src/page/photos.vue:641 msgid "%{n} pictures found" msgstr "%{n} resim bulundu" @@ -88,12 +88,12 @@ msgstr "1 saat" msgid "12 hours" msgstr "12 saat" -#: src/component/user/edit/dialog.vue:452 src/page/settings/account.vue:324 -#: src/component/settings/passcode.vue:75 +#: src/component/user/edit/dialog.vue:453 src/page/settings/account.vue:325 +#: src/component/settings/passcode.vue:78 msgid "2-Factor Authentication" msgstr "2 Faktörlü Kimlik Doğrulama" -#: src/component/user/edit/dialog.vue:451 src/options/auth.js:46 +#: src/component/user/edit/dialog.vue:452 src/options/auth.js:47 msgid "2FA" msgstr "2FA" @@ -109,20 +109,20 @@ msgstr "Tıklayarak panoya kopyalayabilirsiniz." msgid "A new version of %{s} is available:" msgstr "Yeni bir %{s} sürümü mevcuttur:" -#: src/component/user/edit/dialog.vue:233 -#: src/component/user/edit/dialog.vue:234 src/page/about/about.vue:56 +#: src/component/user/edit/dialog.vue:234 +#: src/component/user/edit/dialog.vue:235 src/page/about/about.vue:56 #: src/page/settings/account.vue:248 src/page/settings/account.vue:249 -#: src/app/routes.js:63 src/component/navigation.vue:1521 -#: src/page/people/recognized.vue:292 +#: src/app/routes.js:63 src/component/navigation.vue:1547 +#: src/page/people/recognized.vue:296 msgid "About" msgstr "Hakkımızda" -#: src/options/auth.js:26 src/options/auth.js:44 +#: src/options/auth.js:27 src/options/auth.js:45 msgid "Access Token" msgstr "Erişim Jetonu" -#: src/component/navigation.vue:87 src/component/navigation.vue:1788 -#: src/component/service/upload.vue:71 src/model/service.js:96 +#: src/component/navigation.vue:87 src/component/navigation.vue:1822 +#: src/component/service/upload.vue:72 src/model/service.js:96 #: src/model/user.js:171 src/page/settings.vue:85 #: src/page/settings/general.vue:582 msgid "Account" @@ -136,7 +136,7 @@ msgstr "Hesap eklendi" msgid "Account deleted" msgstr "Hesap silindi" -#: src/page/admin/users.vue:335 +#: src/page/admin/users.vue:337 msgid "Account restored" msgstr "Hesap geri yüklendi" @@ -157,8 +157,8 @@ msgstr "Aksiyon" msgid "Actions" msgstr "Aksiyonlar" -#: src/page/connect.vue:294 src/component/settings/passcode.vue:346 -#: src/page/connect.vue:303 +#: src/page/connect.vue:296 src/component/settings/passcode.vue:349 +#: src/page/connect.vue:305 msgid "Activate" msgstr "Etkinleştir" @@ -174,20 +174,20 @@ msgstr "Artan şekilde sıralamak için etkinleştirin." msgid "Activate to sort descending." msgstr "Azalan şekilde sıralamak için etkinleştirin." -#: src/page/connect.vue:231 src/page/connect.vue:240 +#: src/page/connect.vue:233 src/page/connect.vue:242 msgid "Activation Code" msgstr "Aktivasyon Kodu" -#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:83 -#: src/component/settings/apps.vue:448 +#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:92 +#: src/component/settings/apps.vue:451 msgid "Add" msgstr "Ekle" -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:246 msgid "Add %{s}?" msgstr "Ekle %{s}?" -#: src/component/user/add/dialog.vue:56 src/component/service/add.vue:49 +#: src/component/user/add/dialog.vue:57 src/component/service/add.vue:50 msgid "Add Account" msgstr "Hesap ekle" @@ -204,8 +204,8 @@ msgid "Add Link" msgstr "Link ekle" #: src/component/photo/edit/people.vue:25 -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:57 -#: src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:57 +#: src/page/people/new.vue:246 msgid "Add person?" msgstr "Kişi ekleyelim mi?" @@ -221,10 +221,15 @@ msgstr "Arama sonuçlarından resimleri seçerek ekleyin." msgid "Add to album" msgstr "Albüme ekle" -#: src/component/photo/edit/files.vue:514 +#: src/component/photo/edit/files.vue:516 msgid "Added" msgstr "Eklendi" +#: src/component/location/dialog.vue:68 src/component/location/dialog.vue:90 +#: src/component/photo/edit/details.vue:246 +msgid "Adjust Location" +msgstr "Konum Ayarlama" + #: src/options/admin.js:6 src/options/auth.js:6 msgid "Admin" msgstr "Yönetici" @@ -245,7 +250,7 @@ msgstr "3 gün sonra" msgid "After 7 days" msgstr "7 gün sonra" -#: src/component/settings/passcode.vue:93 +#: src/component/settings/passcode.vue:96 msgid "After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:" msgstr "Onay için şifrenizi girdikten sonra, uyumlu bir kimlik doğrulama uygulaması veya cihazıyla iki faktörlü kimlik doğrulamayı ayarlayabilirsiniz:" @@ -277,12 +282,16 @@ msgstr "Albüm" msgid "Album Backups" msgstr "Albüm Yedekleri" -#: src/page/albums.vue:674 +#: src/page/albums.vue:685 msgid "Album created" msgstr "Albüm oluşturuldu" -#: src/app/routes.js:176 src/component/album/toolbar.vue:51 -#: src/component/navigation.vue:604 src/component/navigation.vue:1882 +#: src/page/album/photos.vue:589 +msgid "Album deleted" +msgstr "Albüm silindi" + +#: src/app/routes.js:184 src/component/album/toolbar.vue:55 +#: src/component/navigation.vue:607 src/component/navigation.vue:1922 #: src/component/photo/edit/info.vue:220 src/options/options.js:198 msgid "Albums" msgstr "Albümler" @@ -295,7 +304,7 @@ msgstr "Albümler silindi" msgid "All" msgstr "Tümü" -#: src/page/albums.vue:465 +#: src/page/albums.vue:470 msgid "All %{n} albums loaded" msgstr "Tüm %{n} albüm yüklendi" @@ -311,8 +320,8 @@ msgstr "Tüm %{n} kişiler yüklendi" msgid "All Cameras" msgstr "Tüm Kameralar" -#: src/component/photo/toolbar.vue:74 src/page/albums.vue:44 -#: src/page/albums.vue:240 src/page/albums.vue:746 +#: src/component/photo/toolbar.vue:74 src/page/albums.vue:45 +#: src/page/albums.vue:242 src/page/albums.vue:757 msgid "All Categories" msgstr "Tüm Kategoriler" @@ -344,7 +353,7 @@ msgstr "Tüm Aylar" msgid "All originals" msgstr "Tüm orijinaller" -#: src/component/photo/toolbar.vue:76 src/page/albums.vue:93 +#: src/component/photo/toolbar.vue:76 src/page/albums.vue:94 msgid "All Years" msgstr "Bütün yıllar" @@ -356,7 +365,7 @@ msgstr "Alternatif olarak, dosyaları doğrudan Nextcloud gibi WebDAV sunucular msgid "Altitude" msgstr "Rakım" -#: src/component/photo/edit/details.vue:272 +#: src/component/photo/edit/details.vue:297 msgid "Altitude (m)" msgstr "Rakım (m)" @@ -364,8 +373,7 @@ msgstr "Rakım (m)" msgid "AM" msgstr "AM" -#: src/app/routes.js:257 src/component/navigation.vue:791 -#: src/component/photo/edit/files.vue:364 +#: src/app/routes.js:265 src/component/photo/edit/files.vue:364 #: src/component/photo/view/cards.vue:327 #: src/component/photo/view/cards.vue:511 src/component/photo/view/list.vue:184 #: src/component/photo/view/mosaic.vue:171 src/options/options.js:301 @@ -376,43 +384,47 @@ msgstr "Hareketli" msgid "Animation" msgstr "Animasyon" +#: src/component/navigation.vue:797 +msgid "Animations" +msgstr "Animasyonlar" + #: src/component/share/dialog.vue:207 msgid "Any private photos and videos remain private and won't be shared." msgstr "Özel fotoğraflar ve videolar gizli kalır ve paylaşılmaz." -#: src/component/service/edit.vue:372 +#: src/component/service/edit.vue:373 msgid "API Key" msgstr "API Anahtarı" -#: src/page/admin/sessions.vue:357 src/options/auth.js:25 +#: src/page/admin/sessions.vue:361 src/options/auth.js:26 msgid "Application" msgstr "Uygulama" -#: src/component/photo/edit/details.vue:641 +#: src/component/photo/edit/details.vue:615 msgid "Apply" msgstr "Uygula" #: src/component/photo/clipboard.vue:64 -#: src/component/photo/edit/details.vue:640 +#: src/component/photo/edit/details.vue:614 #: src/component/photo/view/cards.vue:416 msgid "Approve" msgstr "Onayla" -#: src/page/settings/account.vue:374 src/component/settings/apps.vue:91 +#: src/page/settings/account.vue:378 src/component/settings/apps.vue:94 msgid "Apps and Devices" msgstr "Uygulamalar ve Cihazlar" -#: src/app/routes.js:287 src/component/lightbox.vue:1207 -#: src/component/navigation.vue:555 src/component/photo/clipboard.vue:142 +#: src/app/routes.js:295 src/component/lightbox.vue:1207 +#: src/component/navigation.vue:557 src/component/photo/clipboard.vue:142 #: src/component/photo/view/cards.vue:398 src/page/settings/general.vue:432 msgid "Archive" msgstr "Arşiv" -#: src/component/lightbox.vue:1982 src/component/photo/edit/info.vue:433 +#: src/component/lightbox.vue:2002 src/component/photo/edit/info.vue:433 msgid "Archived" msgstr "Arşivlendi" -#: src/component/photo/archive/dialog.vue:34 +#: src/component/photo/archive/dialog.vue:35 msgid "Are you sure you want to archive the selection?" msgstr "Seçimi arşivlemek istediğinizden emin misiniz?" @@ -420,19 +432,23 @@ msgstr "Seçimi arşivlemek istediğinizden emin misiniz?" msgid "Are you sure you want to delete these albums?" msgstr "Bu albümleri silmek istediğinizden emin misiniz?" -#: src/component/label/delete/dialog.vue:34 +#: src/component/label/delete/dialog.vue:35 msgid "Are you sure you want to delete these labels?" msgstr "Bu etiketleri silmek istediğinizden emin misiniz?" -#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:36 +#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:37 msgid "Are you sure you want to delete this account?" msgstr "Bu hesabı silmek istediğinizden emin misiniz?" +#: src/component/album/toolbar.vue:136 +msgid "Are you sure you want to delete this album?" +msgstr "Bu albümü silmek istediğinizden emin misiniz?" + #: src/component/photo/clipboard.vue:199 msgid "Are you sure you want to permanently delete these pictures?" msgstr "Bu resimleri kalıcı olarak silmek istediğinizden emin misiniz?" -#: src/component/file/delete/dialog.vue:34 +#: src/component/file/delete/dialog.vue:35 msgid "Are you sure you want to permanently delete this file?" msgstr "Bu dosyayı kalıcı olarak silmek istediğinizden emin misiniz?" @@ -441,7 +457,7 @@ msgstr "Bu dosyayı kalıcı olarak silmek istediğinizden emin misiniz?" msgid "Are you sure?" msgstr "Emin misiniz?" -#: src/component/photo/edit/details.vue:537 +#: src/component/photo/edit/details.vue:511 msgid "Artist" msgstr "Sanatçı" @@ -449,14 +465,14 @@ msgstr "Sanatçı" msgid "Aspect Ratio" msgstr "En Boy Oranı" -#: src/app/routes.js:250 src/component/navigation.vue:770 +#: src/app/routes.js:258 src/component/navigation.vue:776 #: src/options/options.js:297 msgid "Audio" msgstr "Ses" -#: src/component/user/add/dialog.vue:190 src/component/user/edit/dialog.vue:309 -#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:281 -#: src/page/admin/users.vue:75 +#: src/component/user/add/dialog.vue:191 src/component/user/edit/dialog.vue:310 +#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:282 +#: src/page/admin/users.vue:77 msgid "Authentication" msgstr "Kimlik Doğrulama" @@ -464,11 +480,11 @@ msgstr "Kimlik Doğrulama" msgid "Auto" msgstr "Otomatik" -#: src/component/settings/apps.vue:151 +#: src/component/settings/apps.vue:154 msgid "Back" msgstr "Geri" -#: src/component/scroll.vue:20 +#: src/component/scroll.vue:18 msgid "Back to top" msgstr "Başa dön" @@ -480,26 +496,26 @@ msgstr "Yedekleme" msgid "Badge" msgstr "Rozet" -#: src/component/user/edit/dialog.vue:361 #: src/component/user/edit/dialog.vue:362 +#: src/component/user/edit/dialog.vue:363 msgid "Base Path" msgstr "Temel Yol" -#: src/page/about/about.vue:95 src/page/connect.vue:220 +#: src/page/about/about.vue:96 src/page/connect.vue:222 msgid "Become a member today, support our mission and enjoy our member benefits!" msgstr "Bugün üye olun, misyonumuzu destekleyin ve üye avantajlarımızdan yararlanın!" -#: src/component/confirm/sponsor.vue:51 src/page/about/about.vue:99 +#: src/component/confirm/sponsor.vue:52 src/page/about/about.vue:100 msgid "Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services." msgstr "100% öz fonlu ve bağımsız olarak, verilerinizi asla satmayacağımız ve yazılım ile hizmetlerimiz konusunda her zaman şeffaf olacağımızı size garanti edebiliriz." -#: src/component/user/edit/dialog.vue:258 -#: src/component/user/edit/dialog.vue:259 src/page/settings/account.vue:227 +#: src/component/user/edit/dialog.vue:259 +#: src/component/user/edit/dialog.vue:260 src/page/settings/account.vue:227 #: src/page/settings/account.vue:228 msgid "Bio" msgstr "Özgeçmiş" -#: src/page/settings/account.vue:431 +#: src/page/settings/account.vue:437 msgid "Birth Date" msgstr "Doğum Tarihi" @@ -520,7 +536,7 @@ msgid "Brown" msgstr "Kahverengi" #: src/component/photo/edit/files.vue:263 src/component/photo/toolbar.vue:141 -#: src/component/upload/dialog.vue:240 +#: src/component/upload/dialog.vue:242 msgid "Browse" msgstr "Gözat" @@ -548,16 +564,16 @@ msgstr "Hata raporu" msgid "Busy, please wait…" msgstr "Meşgul, lütfen bekleyin…" -#: src/page/connect.vue:317 +#: src/page/connect.vue:319 msgid "By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct." msgstr "Sağladığımız yazılım ve hizmetleri kullanarak hizmet şartlarımızı, gizlilik politikamızı ve davranış kurallarımızı kabul etmiş olursunuz." -#: src/app/routes.js:189 src/component/navigation.vue:1081 +#: src/app/routes.js:197 src/component/navigation.vue:1097 #: src/options/options.js:204 src/page/settings/general.vue:205 msgid "Calendar" msgstr "Takvim" -#: src/component/photo/edit/details.vue:346 src/component/photo/toolbar.vue:232 +#: src/component/photo/edit/details.vue:320 src/component/photo/toolbar.vue:234 #: src/component/photo/view/cards.vue:467 src/component/photo/view/list.vue:116 msgid "Camera" msgstr "Kamera" @@ -570,12 +586,12 @@ msgstr "Kamera Seri Numarası" msgid "Can't access your authenticator app or device?" msgstr "Kimlik doğrulayıcı uygulamanıza veya cihazınıza erişemiyor musunuz?" -#: src/page/album/photos.vue:317 src/page/photos.vue:450 +#: src/page/album/photos.vue:322 src/page/photos.vue:455 msgid "Can't load more, limit reached" msgstr "Daha fazla yüklenemiyor, sınıra ulaşıldı" #: src/common/clipboard.js:102 src/common/clipboard.js:139 -#: src/page/albums.vue:684 src/page/albums.vue:700 src/page/labels.vue:293 +#: src/page/albums.vue:695 src/page/albums.vue:711 src/page/labels.vue:293 #: src/page/labels.vue:313 src/page/library/browse.vue:233 #: src/page/library/browse.vue:249 src/page/people/new.vue:278 #: src/page/people/new.vue:294 src/page/people/recognized.vue:305 @@ -584,26 +600,31 @@ msgid "Can't select more items" msgstr "Daha fazla öğe seçilemiyor" #: src/component/session/remove/dialog.vue:45 -#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:473 -#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:119 +#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:474 +#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:120 #: src/component/album/delete/dialog.vue:43 -#: src/component/album/edit/dialog.vue:199 src/component/confirm/dialog.vue:43 -#: src/component/file/delete/dialog.vue:47 -#: src/component/label/delete/dialog.vue:47 -#: src/component/label/edit/dialog.vue:107 -#: src/component/people/edit/dialog.vue:120 +#: src/component/album/edit/dialog.vue:200 src/component/confirm/dialog.vue:43 +#: src/component/file/delete/dialog.vue:48 +#: src/component/label/delete/dialog.vue:48 +#: src/component/label/edit/dialog.vue:108 +#: src/component/location/dialog.vue:200 +#: src/component/people/edit/dialog.vue:121 #: src/component/photo/album/dialog.vue:78 src/component/service/add.vue:19 -#: src/component/service/edit.vue:455 src/component/service/remove.vue:49 -#: src/component/service/upload.vue:117 src/component/settings/apps.vue:352 -#: src/component/settings/passcode.vue:249 -#: src/component/settings/passcode.vue:333 -#: src/component/settings/password.vue:159 src/component/share/dialog.vue:28 -#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:123 +#: src/component/service/edit.vue:456 src/component/service/remove.vue:50 +#: src/component/service/upload.vue:118 src/component/settings/apps.vue:355 +#: src/component/settings/passcode.vue:252 +#: src/component/settings/passcode.vue:336 +#: src/component/settings/password.vue:160 src/component/share/dialog.vue:28 +#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:124 #: src/page/library/import.vue:119 src/page/library/index.vue:128 msgid "Cancel" msgstr "İptal" -#: src/component/photo/edit/details.vue:87 src/component/photo/edit/info.vue:61 +#: src/common/util.js:863 src/common/util.js:870 +msgid "Cannot copy to clipboard" +msgstr "Panoya kopyalanamıyor" + +#: src/component/photo/edit/details.vue:89 src/component/photo/edit/info.vue:63 #: src/component/photo/edit/labels.vue:42 #: src/component/photo/view/cards.vue:445 src/component/sidebar/info.vue:72 msgid "Caption" @@ -617,17 +638,17 @@ msgstr "Kartlar" msgid "Carousel slide {0} of {1}" msgstr "{1}'in {0} kaydırmalı slayt" -#: src/page/about/feedback.vue:82 src/page/about/feedback.vue:83 -#: src/component/album/edit/dialog.vue:128 src/component/photo/toolbar.vue:397 +#: src/page/about/feedback.vue:83 src/page/about/feedback.vue:84 +#: src/component/album/edit/dialog.vue:129 src/component/photo/toolbar.vue:399 #: src/page/albums.vue:187 msgid "Category" msgstr "Kategori" -#: src/component/user/edit/dialog.vue:191 src/page/settings/account.vue:201 +#: src/component/user/edit/dialog.vue:192 src/page/settings/account.vue:201 msgid "Change Avatar" msgstr "Avatarı değiştir" -#: src/page/settings/account.vue:297 src/component/settings/password.vue:48 +#: src/page/settings/account.vue:297 src/component/settings/password.vue:49 msgid "Change Password" msgstr "Şifre Değiştir" @@ -644,17 +665,17 @@ msgid "Change private flag" msgstr "Özel işaretini değiştir" #: src/component/user/add/dialog.vue:108 src/component/user/add/dialog.vue:113 -#: src/component/user/edit/dialog.vue:90 src/component/user/edit/dialog.vue:95 +#: src/component/user/edit/dialog.vue:91 src/component/user/edit/dialog.vue:96 #: src/page/settings/account.vue:121 src/page/settings/account.vue:126 msgid "Changes could not be saved" msgstr "Değişiklikler kaydedilemedi" -#: src/component/user/edit/dialog.vue:83 src/component/user/edit/dialog.vue:159 +#: src/component/user/edit/dialog.vue:84 src/component/user/edit/dialog.vue:160 #: src/component/album/edit/dialog.vue:73 -#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1941 +#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1961 #: src/component/photo/edit/files.vue:162 src/component/service/edit.vue:90 #: src/component/share/dialog.vue:92 src/component/share/dialog.vue:111 -#: src/page/albums.vue:677 src/page/people/recognized.vue:119 +#: src/page/albums.vue:688 src/page/people/recognized.vue:119 #: src/page/settings/advanced.vue:62 src/page/settings/content.vue:62 #: src/page/settings/general.vue:108 msgid "Changes successfully saved" @@ -668,7 +689,7 @@ msgstr "Gelişmiş ayarlarda yapılan değişikliklerin etkili olması için yen msgid "Checked" msgstr "Seçildi" -#: src/component/photo/edit/files.vue:495 +#: src/component/photo/edit/files.vue:497 msgid "Chroma" msgstr "Renk doygunluğu" @@ -684,24 +705,24 @@ msgstr "Temizleme" msgid "Clear {0}" msgstr "Temizle {0}" -#: src/options/auth.js:11 src/options/auth.js:23 src/options/auth.js:43 +#: src/options/auth.js:12 src/options/auth.js:24 src/options/auth.js:44 msgid "Client" msgstr "Müşteri" -#: src/options/auth.js:24 +#: src/options/auth.js:25 msgid "Client Credentials" msgstr "Müşteri Kimlik Bilgileri" -#: src/page/admin/sessions.vue:529 src/component/lightbox.vue:284 -#: src/component/lightbox.vue:1009 src/component/lightbox.vue:1010 -#: src/component/photo/edit/details.vue:627 src/component/photo/toolbar.vue:160 -#: src/component/settings/apps.vue:224 src/component/settings/apps.vue:437 -#: src/component/settings/passcode.vue:148 -#: src/component/settings/passcode.vue:456 -#: src/component/settings/passcode.vue:497 -#: src/component/settings/webdav.vue:131 src/component/share/dialog.vue:231 +#: src/component/user/edit/dialog.vue:474 src/page/admin/sessions.vue:536 +#: src/component/lightbox.vue:284 src/component/lightbox.vue:1009 +#: src/component/lightbox.vue:1010 src/component/photo/edit/details.vue:601 +#: src/component/photo/toolbar.vue:161 src/component/settings/apps.vue:227 +#: src/component/settings/apps.vue:440 src/component/settings/passcode.vue:151 +#: src/component/settings/passcode.vue:459 +#: src/component/settings/passcode.vue:500 +#: src/component/settings/webdav.vue:132 src/component/share/dialog.vue:231 #: src/component/sidebar/info.vue:26 src/component/update.vue:57 -#: src/component/upload/dialog.vue:228 src/locales.js:206 +#: src/component/upload/dialog.vue:230 src/locales.js:206 #: src/page/library/errors.vue:253 msgid "Close" msgstr "Kapat" @@ -710,11 +731,11 @@ msgstr "Kapat" msgid "Codec" msgstr "Kodek" -#: src/component/photo/toolbar.vue:369 +#: src/component/photo/toolbar.vue:371 msgid "Color" msgstr "Renk" -#: src/component/photo/edit/files.vue:483 +#: src/component/photo/edit/files.vue:485 msgid "Color Profile" msgstr "Renk Profili" @@ -722,7 +743,7 @@ msgstr "Renk Profili" msgid "Colors" msgstr "Renkler" -#: src/page/connect.vue:260 src/page/connect.vue:269 +#: src/page/connect.vue:262 src/page/connect.vue:271 msgid "Compare Editions" msgstr "Sürümleri Karşılaştır" @@ -735,17 +756,18 @@ msgstr "Tam Yeniden Tarama" msgid "Confidence" msgstr "Güven" +#: src/component/location/dialog.vue:212 #: src/component/photo/album/dialog.vue:90 -#: src/component/settings/passcode.vue:261 +#: src/component/settings/passcode.vue:264 msgid "Confirm" msgstr "Onaylamak" -#: src/component/service/add.vue:20 src/page/settings/services.vue:187 +#: src/component/service/add.vue:20 src/page/settings/services.vue:191 msgid "Connect" msgstr "Bağlan" -#: src/page/settings/account.vue:401 src/component/settings/webdav.vue:45 -#: src/page/settings/services.vue:167 +#: src/page/settings/account.vue:406 src/component/settings/webdav.vue:46 +#: src/page/settings/services.vue:170 msgid "Connect via WebDAV" msgstr "WebDAV ile bağlan" @@ -753,22 +775,22 @@ msgstr "WebDAV ile bağlan" msgid "Connected" msgstr "Bağlandı" -#: src/page/settings/account.vue:640 src/page/settings/account.vue:532 +#: src/page/settings/account.vue:646 src/page/settings/account.vue:538 msgid "Contact Details" msgstr "İletişim Detayları" -#: src/page/about/feedback.vue:37 src/page/connect.vue:132 -#: src/page/connect.vue:136 +#: src/page/about/feedback.vue:37 src/page/connect.vue:133 +#: src/page/connect.vue:137 msgid "Contact Us" msgstr "İletişim" #: src/page/albums.vue:433 src/page/labels.vue:237 -#: src/page/people/recognized.vue:306 +#: src/page/people/recognized.vue:310 msgid "Contains %{n} pictures." msgstr "%{n} resim içeriyor." #: src/page/albums.vue:427 src/page/labels.vue:231 -#: src/page/people/recognized.vue:300 +#: src/page/people/recognized.vue:304 msgid "Contains one picture." msgstr "Tek resim içerir." @@ -776,7 +798,7 @@ msgstr "Tek resim içerir." msgid "Content" msgstr "İçerik" -#: src/component/settings/apps.vue:163 +#: src/component/settings/apps.vue:166 msgid "Continue" msgstr "Devam et" @@ -784,7 +806,7 @@ msgstr "Devam et" msgid "Continue with %{provider}" msgstr "%{provider} ile devam edin" -#: src/options/admin.js:18 src/options/auth.js:9 +#: src/options/admin.js:22 src/options/auth.js:10 msgid "Contributor" msgstr "Katılımcı" @@ -792,15 +814,15 @@ msgstr "Katılımcı" msgid "Converting" msgstr "Dönüştürülüyor" -#: src/common/util.js:846 +#: src/common/util.js:856 msgid "Copied to clipboard" msgstr "Panoya kopyalandı" -#: src/component/settings/apps.vue:250 src/component/settings/passcode.vue:358 +#: src/component/settings/apps.vue:253 src/component/settings/passcode.vue:361 msgid "Copy" msgstr "Kopyala" -#: src/component/photo/edit/details.vue:516 +#: src/component/photo/edit/details.vue:490 msgid "Copyright" msgstr "Telif hakkı" @@ -808,8 +830,8 @@ msgstr "Telif hakkı" msgid "Couldn't find anything." msgstr "Hiçbir şey bulunamadı." -#: src/page/settings/account.vue:685 src/component/photo/edit/details.vue:242 -#: src/component/photo/toolbar.vue:203 src/page/settings/account.vue:577 +#: src/page/settings/account.vue:691 src/component/photo/edit/details.vue:268 +#: src/component/photo/toolbar.vue:205 src/page/settings/account.vue:583 msgid "Country" msgstr "Ülke" @@ -833,7 +855,7 @@ msgstr "Albüm meta verilerini yedeklemek için YAML dosyaları oluşturun." msgid "Create YAML sidecar files to back up picture metadata." msgstr "Resim meta verilerini yedeklemek için YAML sidecar oluşturun." -#: src/page/admin/sessions.vue:417 src/component/photo/edit/info.vue:412 +#: src/page/admin/sessions.vue:422 src/component/photo/edit/info.vue:412 msgid "Created" msgstr "Oluşturuldu" @@ -845,11 +867,11 @@ msgstr "Önizlemeler üretiliyor" msgid "Cubic: Moderate Quality, Good Performance" msgstr "Cubic: Ortalama Kalite, İyi Performans" -#: src/component/settings/password.vue:85 +#: src/component/settings/password.vue:86 msgid "Current Password" msgstr "Mevcut Şifre" -#: src/options/themes.js:919 src/options/themes.js:928 +#: src/options/themes.js:920 src/options/themes.js:929 msgid "Custom" msgstr "Özel" @@ -865,11 +887,11 @@ msgstr "Günlük" msgid "Database Backups" msgstr "Veritabanı Yedekleri" -#: src/page/settings/account.vue:450 src/component/photo/edit/details.vue:110 +#: src/page/settings/account.vue:456 src/component/photo/edit/details.vue:112 msgid "Day" msgstr "Gün" -#: src/component/settings/passcode.vue:445 +#: src/component/settings/passcode.vue:448 msgid "Deactivate" msgstr "Devre dışı bırak" @@ -877,36 +899,40 @@ msgstr "Devre dışı bırak" msgid "Debug Logs" msgstr "Hata Kayıtları" -#: src/options/admin.js:31 src/page/admin/sessions.vue:136 -#: src/page/admin/users.vue:176 src/component/photo/edit/info.vue:47 +#: src/options/admin.js:35 src/page/admin/sessions.vue:136 +#: src/page/admin/users.vue:178 src/component/photo/edit/info.vue:47 #: src/component/photo/edit/info.vue:110 src/model/session.js:66 -#: src/model/user.js:246 src/options/auth.js:20 src/options/auth.js:21 -#: src/options/auth.js:39 src/options/auth.js:40 src/options/options.js:196 +#: src/model/user.js:246 src/options/auth.js:21 src/options/auth.js:22 +#: src/options/auth.js:40 src/options/auth.js:41 src/options/options.js:196 #: src/options/options.js:232 src/options/options.js:316 -#: src/options/themes.js:773 +#: src/options/themes.js:774 msgid "Default" msgstr "Varsayılan" -#: src/component/service/edit.vue:123 +#: src/component/service/edit.vue:124 msgid "Default Folder" msgstr "Varsayılan Klasör" #: src/component/session/remove/dialog.vue:56 #: src/component/user/remove/dialog.vue:56 src/component/album/clipboard.vue:97 -#: src/component/album/delete/dialog.vue:54 -#: src/component/file/delete/dialog.vue:58 src/component/label/clipboard.vue:58 -#: src/component/label/delete/dialog.vue:58 +#: src/component/album/delete/dialog.vue:54 src/component/album/toolbar.vue:137 +#: src/component/file/delete/dialog.vue:59 src/component/label/clipboard.vue:58 +#: src/component/label/delete/dialog.vue:59 #: src/component/photo/clipboard.vue:168 src/component/photo/edit/files.vue:238 -#: src/component/service/remove.vue:60 src/component/share/dialog.vue:170 +#: src/component/service/remove.vue:61 src/component/share/dialog.vue:170 #: src/page/settings/general.vue:457 msgid "Delete" msgstr "Sil" +#: src/component/album/toolbar.vue:133 +msgid "Delete Album" +msgstr "Albüm Sil" + #: src/component/photo/toolbar.vue:119 src/page/library/errors.vue:95 msgid "Delete All" msgstr "Tümünü Sil" -#: src/component/photo/toolbar.vue:433 src/page/library/errors.vue:193 +#: src/component/photo/toolbar.vue:435 src/page/library/errors.vue:193 msgid "Delete all?" msgstr "Hepsini sil?" @@ -914,16 +940,16 @@ msgstr "Hepsini sil?" msgid "Delete orphaned index entries, sidecar files and thumbnails." msgstr "Artık dizin girişlerini, sidecar dosyalarını ve küçük resimleri silin." -#: src/component/album/edit/dialog.vue:107 src/page/albums.vue:411 +#: src/component/album/edit/dialog.vue:108 src/page/albums.vue:411 msgid "Description" msgstr "Açıklama" -#: src/component/settings/webdav.vue:115 +#: src/component/settings/webdav.vue:116 msgid "Detailed instructions can be found in our User Guide." msgstr "Kullanıcı kılavuzunda detaylı adımlar bulunabilir." -#: src/component/photo/edit/dialog.vue:156 -#: src/component/photo/edit/dialog.vue:173 +#: src/component/photo/edit/dialog.vue:162 +#: src/component/photo/edit/dialog.vue:181 msgid "Details" msgstr "Detaylar" @@ -987,8 +1013,8 @@ msgstr "Vektör grafikleri desteğini devre dışı bırakır." msgid "Disables video transcoding and thumbnail extraction." msgstr "Video kod dönüştürmeyi ve küçük resim çıkarmayı devre dışı bırakır." -#: src/app/routes.js:558 src/app/routes.js:565 src/app/routes.js:572 -#: src/app/routes.js:579 +#: src/app/routes.js:566 src/app/routes.js:573 src/app/routes.js:580 +#: src/app/routes.js:587 msgid "Discover" msgstr "Keşfetmek" @@ -996,9 +1022,9 @@ msgstr "Keşfetmek" msgid "Dismiss" msgstr "Göz ardı et" -#: src/component/user/add/dialog.vue:133 src/component/user/add/dialog.vue:134 -#: src/component/user/edit/dialog.vue:163 -#: src/component/user/edit/dialog.vue:164 src/page/admin/users.vue:72 +#: src/component/user/add/dialog.vue:134 src/component/user/add/dialog.vue:135 +#: src/component/user/edit/dialog.vue:164 +#: src/component/user/edit/dialog.vue:165 src/page/admin/users.vue:74 #: src/page/settings/account.vue:149 src/page/settings/account.vue:151 msgid "Display Name" msgstr "Ekran adı" @@ -1013,12 +1039,12 @@ msgstr "Arama sonuçlarında resim başlıklarını görüntüleyin." #: src/component/photo/view/cards.vue:339 #: src/component/photo/view/cards.vue:521 -#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:174 +#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:176 #: src/options/options.js:309 msgid "Document" msgstr "Belge" -#: src/component/navigation.vue:480 +#: src/component/navigation.vue:482 msgid "Documents" msgstr "Belgeler" @@ -1034,16 +1060,16 @@ msgstr "Görüntüleri dönüştürmek için ImageMagick kullanmayın." msgid "Don't use RawTherapee to convert RAW images." msgstr "RAW görüntüleri dönüştürmek için RawTherapee kullanmayın." -#: src/component/settings/apps.vue:238 src/component/share/dialog.vue:29 +#: src/component/settings/apps.vue:241 src/component/share/dialog.vue:29 msgid "Done" msgstr "Tamamlandı" -#: src/component/upload/dialog.vue:135 src/page/library/import.vue:46 +#: src/component/upload/dialog.vue:137 src/page/library/import.vue:46 #: src/page/library/index.vue:52 msgid "Done." msgstr "Tamamlandı." -#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:118 +#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:123 #: src/component/file/clipboard.vue:48 src/component/lightbox.vue:1235 #: src/component/people/clipboard.vue:47 src/component/photo/clipboard.vue:116 #: src/component/photo/edit/files.vue:168 src/page/settings/content.vue:331 @@ -1055,7 +1081,7 @@ msgstr "İndirmek" msgid "Download only original media files, without any automatically generated files." msgstr "Otomatik olarak oluşturulan dosyalar olmadan yalnızca orijinal medya dosyalarını indirin." -#: src/component/service/edit.vue:237 +#: src/component/service/edit.vue:238 msgid "Download remote files" msgstr "Uzak dosyaları indir" @@ -1063,9 +1089,9 @@ msgstr "Uzak dosyaları indir" msgid "Download single files and zip archives." msgstr "Tek dosyaları ve zip arşivlerini indirin." -#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:157 +#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:172 #: src/component/file/clipboard.vue:61 src/component/label/clipboard.vue:86 -#: src/component/lightbox.vue:2021 src/component/people/clipboard.vue:59 +#: src/component/lightbox.vue:2041 src/component/people/clipboard.vue:59 #: src/component/photo/clipboard.vue:220 src/component/photo/edit/files.vue:119 #: src/component/photo/view/cards.vue:169 src/component/photo/view/list.vue:142 #: src/page/library/browse.vue:139 @@ -1080,7 +1106,7 @@ msgstr "Ölçek küçültme filtresi" msgid "Drag and drop files here" msgstr "Dosyaları buraya sürükleyip bırakın" -#: src/page/about/feedback.vue:61 +#: src/page/about/feedback.vue:62 msgid "Due to the high volume of emails we receive, our team may be unable to get back to you immediately." msgstr "Aldığımız e-postaların yoğunluğu nedeniyle ekibimiz size hemen geri dönüş yapamayabilir." @@ -1100,23 +1126,23 @@ msgstr "Dinamik Önizlemeler" msgid "Dynamic Size Limit: %{n}px" msgstr "Dinamik Boyut Sınırı: %{n}px" -#: src/page/about/feedback.vue:141 src/page/about/feedback.vue:140 +#: src/page/about/feedback.vue:142 src/page/about/feedback.vue:141 msgid "E-Mail" msgstr "E-Posta" -#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:89 +#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:94 #: src/component/lightbox.vue:1136 src/component/lightbox.vue:1137 #: src/component/photo/clipboard.vue:90 src/page/settings/general.vue:407 msgid "Edit" msgstr "Düzenle" -#: src/component/album/edit/dialog.vue:54 -#: src/component/label/edit/dialog.vue:52 -#: src/component/people/edit/dialog.vue:52 +#: src/component/album/edit/dialog.vue:55 +#: src/component/label/edit/dialog.vue:53 +#: src/component/people/edit/dialog.vue:53 msgid "Edit %{s}" msgstr "%{s}'i düzenle" -#: src/component/user/edit/dialog.vue:61 src/component/service/edit.vue:79 +#: src/component/user/edit/dialog.vue:62 src/component/service/edit.vue:79 msgid "Edit Account" msgstr "Hesabı Düzenle" @@ -1128,8 +1154,8 @@ msgstr "Fotoğrafı Düzenle" msgid "Edited" msgstr "Düzenlendi" -#: src/component/user/add/dialog.vue:151 src/component/user/edit/dialog.vue:213 -#: src/page/settings/account.vue:171 src/page/settings/account.vue:593 +#: src/component/user/add/dialog.vue:152 src/component/user/edit/dialog.vue:214 +#: src/page/settings/account.vue:171 src/page/settings/account.vue:599 msgid "Email" msgstr "E-posta" @@ -1145,7 +1171,7 @@ msgstr "Eksik veya kararsız olabilecek yeni özellikleri etkinleştirin." msgid "Enables RAW converter presets. May reduce performance." msgstr "RAW dönüştürücü ön ayarlarını etkinleştirir. Performansı azaltabilir." -#: src/component/settings/passcode.vue:127 +#: src/component/settings/passcode.vue:130 msgid "Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account." msgstr "İki faktörlü kimlik doğrulamayı etkinleştirmek, oturum açmak için rastgele oluşturulmuş bir doğrulama koduna ihtiyacınız olacağı anlamına gelir; dolayısıyla birisi şifrenize erişse bile hesabınıza erişemez." @@ -1157,7 +1183,7 @@ msgstr "Tarih girin" msgid "Enter dates" msgstr "Tarihleri girin" -#: src/component/settings/passcode.vue:213 src/page/auth/login.vue:104 +#: src/component/settings/passcode.vue:216 src/page/auth/login.vue:104 msgid "Enter the code generated by your authenticator app:" msgstr "Kimlik doğrulayıcı uygulamanız tarafından oluşturulan kodu girin:" @@ -1165,7 +1191,7 @@ msgstr "Kimlik doğrulayıcı uygulamanız tarafından oluşturulan kodu girin:" msgid "Enter verification code" msgstr "Doğrulama kodunu giriniz" -#: src/component/settings/apps.vue:109 +#: src/component/settings/apps.vue:112 msgid "Enter your password to confirm the action and continue:" msgstr "İşlemi onaylamak ve devam etmek için şifrenizi girin:" @@ -1174,7 +1200,7 @@ msgstr "İşlemi onaylamak ve devam etmek için şifrenizi girin:" msgid "Error" msgstr "Hata" -#: src/app/routes.js:374 src/component/navigation.vue:1348 +#: src/app/routes.js:382 src/component/navigation.vue:1372 msgid "Errors" msgstr "Hatalar" @@ -1210,13 +1236,13 @@ msgstr "XMP meta verileri, videolar ve Canlı Fotoğraflar için tam destek içi msgid "Experimental Features" msgstr "Deneysel Özellikler" -#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:453 -#: src/component/service/edit.vue:157 src/component/settings/apps.vue:73 -#: src/component/settings/apps.vue:326 src/component/share/dialog.vue:62 +#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:458 +#: src/component/service/edit.vue:158 src/component/settings/apps.vue:73 +#: src/component/settings/apps.vue:329 src/component/share/dialog.vue:62 msgid "Expires" msgstr "Süre sonu" -#: src/component/photo/edit/details.vue:396 +#: src/component/photo/edit/details.vue:370 msgid "Exposure" msgstr "Pozlama" @@ -1224,7 +1250,7 @@ msgstr "Pozlama" msgid "Extract still images and generate thumbnails while indexing." msgstr "Hareketsiz görüntüleri ayıklayın ve indeksleme sırasında küçük resimler oluşturun." -#: src/component/photo/edit/details.vue:444 +#: src/component/photo/edit/details.vue:418 msgid "F Number" msgstr "F Numarası" @@ -1240,7 +1266,7 @@ msgstr "Yüzler" msgid "Failed removing link" msgstr "Bağlantı kaldırılamadı" -#: src/page/connect.vue:106 src/page/connect.vue:110 +#: src/page/connect.vue:107 src/page/connect.vue:111 msgid "Failed to connect account." msgstr "Hesap bağlanamadı." @@ -1248,8 +1274,8 @@ msgstr "Hesap bağlanamadı." msgid "Failed updating link" msgstr "Bağlantı güncellenemedi" -#: src/component/user/edit/dialog.vue:143 -#: src/component/user/edit/dialog.vue:144 src/page/settings/account.vue:128 +#: src/component/user/edit/dialog.vue:144 +#: src/component/user/edit/dialog.vue:145 src/page/settings/account.vue:128 #: src/page/settings/account.vue:130 msgid "Family Name" msgstr "Soyadı" @@ -1258,15 +1284,15 @@ msgstr "Soyadı" msgid "Fast" msgstr "Hızlı" -#: src/component/album/edit/dialog.vue:159 -#: src/component/label/edit/dialog.vue:85 -#: src/component/people/edit/dialog.vue:85 +#: src/component/album/edit/dialog.vue:160 +#: src/component/label/edit/dialog.vue:86 +#: src/component/people/edit/dialog.vue:86 #: src/component/photo/edit/info.vue:287 msgid "Favorite" msgstr "Favori" -#: src/app/routes.js:222 src/component/navigation.vue:893 -#: src/options/options.js:202 src/page/albums.vue:97 +#: src/app/routes.js:230 src/component/navigation.vue:903 +#: src/options/options.js:202 src/page/albums.vue:98 msgid "Favorites" msgstr "Favoriler" @@ -1274,7 +1300,7 @@ msgstr "Favoriler" msgid "Feature Request" msgstr "Özellik isteği" -#: src/component/navigation.vue:1456 +#: src/component/navigation.vue:1482 msgid "Feedback" msgstr "Geri bildirim" @@ -1282,11 +1308,12 @@ msgstr "Geri bildirim" msgid "Female" msgstr "Kadın" -#: src/component/photo/edit/info.vue:214 src/model/file.js:290 +#: src/component/photo/edit/info.vue:57 src/component/photo/edit/info.vue:214 +#: src/model/file.js:290 msgid "File" msgstr "Dosya" -#: src/app/routes.js:343 +#: src/app/routes.js:351 msgid "File Browser" msgstr "Dosya tarayıcısı" @@ -1309,8 +1336,8 @@ msgstr "Dosya Boyutu" msgid "Filename" msgstr "Dosya Adı" -#: src/component/navigation.vue:1930 src/component/photo/edit/dialog.vue:267 -#: src/component/photo/edit/dialog.vue:284 +#: src/component/navigation.vue:1973 src/component/photo/edit/dialog.vue:279 +#: src/component/photo/edit/dialog.vue:298 msgid "Files" msgstr "Dosyalar" @@ -1322,26 +1349,26 @@ msgstr "'IMG_1234 (2)' ve 'IMG_1234 (3)' gibi sıralı adlara sahip dosyalar ayn msgid "First page" msgstr "İlk sayfa" -#: src/component/photo/edit/details.vue:465 +#: src/component/photo/edit/details.vue:439 msgid "Focal Length" msgstr "Odak uzaklığı" -#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:118 -#: src/component/service/edit.vue:189 src/component/service/edit.vue:194 -#: src/component/service/upload.vue:90 src/component/service/upload.vue:96 +#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:119 +#: src/component/service/edit.vue:190 src/component/service/edit.vue:195 +#: src/component/service/upload.vue:91 src/component/service/upload.vue:97 #: src/model/folder.js:199 src/page/library/browse.vue:182 msgid "Folder" msgstr "Klasör" -#: src/page/library/browse.vue:365 +#: src/page/library/browse.vue:367 msgid "Folder contains %{n} files" msgstr "Klasör %{n} dosya içeriyor" -#: src/page/library/browse.vue:356 +#: src/page/library/browse.vue:358 msgid "Folder is empty" msgstr "Klasör boş" -#: src/app/routes.js:202 src/component/navigation.vue:1225 +#: src/app/routes.js:210 src/component/navigation.vue:1247 #: src/options/options.js:207 msgid "Folders" msgstr "Klasörler" @@ -1358,7 +1385,7 @@ msgstr "FPS" msgid "Frames" msgstr "Çerçeveler" -#: src/options/auth.js:54 src/options/auth.js:64 +#: src/options/auth.js:55 src/options/auth.js:65 msgid "Full Access" msgstr "Tam erişim" @@ -1370,7 +1397,7 @@ msgstr "Tam ekran" msgid "General" msgstr "Genel" -#: src/component/settings/apps.vue:364 +#: src/component/settings/apps.vue:367 msgid "Generate" msgstr "Oluştur" @@ -1390,8 +1417,8 @@ msgstr "Oluşturuldu" msgid "Get Started" msgstr "Başlayın" -#: src/component/user/edit/dialog.vue:120 -#: src/component/user/edit/dialog.vue:121 src/page/settings/account.vue:106 +#: src/component/user/edit/dialog.vue:121 +#: src/component/user/edit/dialog.vue:122 src/page/settings/account.vue:106 #: src/page/settings/account.vue:108 msgid "Given Name" msgstr "İsim" @@ -1416,7 +1443,7 @@ msgstr "Yeşil" msgid "Grey" msgstr "Gri" -#: src/options/admin.js:22 src/options/auth.js:10 +#: src/options/admin.js:26 src/options/auth.js:11 msgid "Guest" msgstr "Misafir" @@ -1432,15 +1459,15 @@ msgstr "Yardım" msgid "Help & Support" msgstr "Yardım & Destek" -#: src/component/navigation.vue:1327 src/component/people/edit/dialog.vue:98 +#: src/component/navigation.vue:1351 src/component/people/edit/dialog.vue:99 msgid "Hidden" msgstr "Gizli" -#: src/app/routes.js:358 +#: src/app/routes.js:366 msgid "Hidden Files" msgstr "Gizli Dosyalar" -#: src/page/people/new.vue:165 src/page/people/recognized.vue:205 +#: src/page/people/new.vue:166 src/page/people/recognized.vue:206 msgid "Hide" msgstr "Gizle" @@ -1456,7 +1483,7 @@ msgstr "Yüksek" msgid "High Dynamic Range (HDR)" msgstr "Yüksek Dinamik Aralık (HDR)" -#: src/page/about/feedback.vue:103 +#: src/page/about/feedback.vue:104 msgid "How can we help?" msgstr "Nasıl yardımcı olabiliriz?" @@ -1464,11 +1491,11 @@ msgstr "Nasıl yardımcı olabiliriz?" msgid "Hybrid" msgstr "Hibrit" -#: src/component/settings/passcode.vue:389 +#: src/component/settings/passcode.vue:392 msgid "If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account." msgstr "Kimlik doğrulayıcı uygulamanıza veya cihazınıza erişiminizi kaybederseniz, hesabınıza yeniden erişim sağlamak için kurtarma kodunuzu kullanabilirsiniz." -#: src/component/photo/edit/info.vue:63 src/component/photo/edit/labels.vue:46 +#: src/component/photo/edit/info.vue:65 src/component/photo/edit/labels.vue:46 #: src/component/photo/view/cards.vue:532 src/model/file.js:218 #: src/options/options.js:281 msgid "Image" @@ -1478,7 +1505,7 @@ msgstr "Resim" msgid "Image Quality" msgstr "Görüntü Kalitesi" -#: src/page/library.vue:46 src/page/library/import.vue:152 +#: src/page/library.vue:46 src/page/library/import.vue:153 #: src/page/settings/general.vue:357 msgid "Import" msgstr "İçe aktarmak" @@ -1503,8 +1530,8 @@ msgstr "%{s} içe aktarılıyor…" msgid "Importing files to originals…" msgstr "Dosyalar orijinallere aktarılıyor…" -#: src/component/photo/edit/files.vue:515 -#: src/component/photo/edit/files.vue:520 +#: src/component/photo/edit/files.vue:517 +#: src/component/photo/edit/files.vue:522 msgid "in" msgstr "içinde" @@ -1522,11 +1549,11 @@ msgstr "Yığınları ve arşivleri indirirken RAW görüntü dosyalarını ekle msgid "Include sidecar files when downloading stacks and archives." msgstr "Yığınları ve arşivleri indirirken sidecar dosyalarını ekleyin." -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Increase storage size or delete files to continue." msgstr "Devam etmek için depolama boyutunu artırın veya dosyaları silin." -#: src/component/navigation.vue:1946 src/page/library.vue:36 +#: src/component/navigation.vue:1990 src/page/library.vue:36 #: src/page/settings/content.vue:34 msgid "Index" msgstr "İndeks" @@ -1556,11 +1583,11 @@ msgstr "Bilgi" msgid "Instance ID" msgstr "Ortam ID" -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Insufficient storage." msgstr "Yetersiz depolama." -#: src/component/service/edit.vue:209 +#: src/component/service/edit.vue:210 msgid "Interval" msgstr "Aralık" @@ -1581,7 +1608,7 @@ msgstr "Geçersiz adres" msgid "Invalid country" msgstr "Geçersiz ülke" -#: src/component/photo/edit/details.vue:174 +#: src/component/photo/edit/details.vue:169 msgid "Invalid date" msgstr "Geçersiz tarih" @@ -1590,7 +1617,7 @@ msgstr "Geçersiz tarih" msgid "Invalid parameters" msgstr "Geçersiz parametreler" -#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:197 +#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:199 msgid "Invalid photo selected" msgstr "Geçersiz fotoğraf seçildi" @@ -1602,8 +1629,8 @@ msgstr "Geçersiz zaman" msgid "Invalid URL" msgstr "Geçersiz URL" -#: src/component/settings/passcode.vue:314 -#: src/component/settings/passcode.vue:391 +#: src/component/settings/passcode.vue:317 +#: src/component/settings/passcode.vue:394 msgid "It is a one-time use code that will disable 2FA for your account when you use it." msgstr "Bu, kullandığınızda hesabınız için 2FA'yı devre dışı bırakacak tek kullanımlık bir koddur." @@ -1627,7 +1654,7 @@ msgstr "JPEG Boyut Sınırı: %{n}px" msgid "JPEGs and thumbnails are automatically rendered as needed." msgstr "JPEG'ler ve küçük resimler, gerektiğinde otomatik olarak oluşturulur." -#: src/component/photo/edit/details.vue:581 +#: src/component/photo/edit/details.vue:555 msgid "Keywords" msgstr "Anahtar Kelimeler" @@ -1636,9 +1663,9 @@ msgstr "Anahtar Kelimeler" msgid "Label" msgstr "Etiket" -#: src/app/routes.js:389 src/component/navigation.vue:1177 -#: src/component/photo/edit/dialog.vue:188 -#: src/component/photo/edit/dialog.vue:205 src/options/options.js:206 +#: src/app/routes.js:397 src/component/navigation.vue:1197 +#: src/component/photo/edit/dialog.vue:196 +#: src/component/photo/edit/dialog.vue:215 src/options/options.js:206 #: src/page/settings/general.vue:255 msgid "Labels" msgstr "Etiketler" @@ -1655,11 +1682,11 @@ msgstr "Lanczos: Detayların Korunması, Minimal Eserler" msgid "Language" msgstr "Dil" -#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:435 +#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:440 msgid "Last Active" msgstr "Son Aktif" -#: src/page/admin/users.vue:81 +#: src/page/admin/users.vue:83 msgid "Last Login" msgstr "Son Giriş" @@ -1675,42 +1702,41 @@ msgstr "Son Senkronizasyon" msgid "Last Used" msgstr "Son kullanılan" -#: src/component/photo/edit/details.vue:298 #: src/component/photo/edit/info.vue:373 msgid "Latitude" msgstr "Enlem" -#: src/options/admin.js:43 src/options/auth.js:29 +#: src/options/admin.js:47 src/options/auth.js:30 msgid "LDAP/AD" msgstr "LDAP/AD" -#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:86 -#: src/page/about/about.vue:62 src/page/about/about.vue:132 +#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:87 +#: src/page/about/about.vue:62 src/page/about/about.vue:133 #: src/page/connect.vue:67 src/page/help.vue:36 msgid "Learn more" msgstr "Daha fazla bilgi edin" -#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:135 +#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:137 #: src/page/labels.vue:132 msgid "Learn More" msgstr "Daha Fazla Bilgi" -#: src/component/navigation.vue:2017 +#: src/component/navigation.vue:2066 msgid "Legal Information" msgstr "Yasal Bilgiler" -#: src/component/photo/edit/details.vue:417 +#: src/component/photo/edit/details.vue:391 #: src/component/photo/view/cards.vue:480 msgid "Lens" msgstr "Lens" -#: src/app/routes.js:443 src/app/routes.js:459 src/app/routes.js:475 -#: src/component/navigation.vue:1267 src/page/settings/general.vue:507 +#: src/app/routes.js:451 src/app/routes.js:467 src/app/routes.js:483 +#: src/component/navigation.vue:1290 src/page/settings/general.vue:507 msgid "Library" msgstr "Kütüphane" #: src/page/connect.vue:45 src/app/routes.js:69 -#: src/component/navigation.vue:1478 src/component/photo/edit/details.vue:559 +#: src/component/navigation.vue:1504 src/component/photo/edit/details.vue:533 #: src/page/about/license.vue:28 msgid "License" msgstr "Lisans" @@ -1723,7 +1749,7 @@ msgstr "Sevmek" msgid "Lime" msgstr "Lime yeşili" -#: src/page/library/browse.vue:369 +#: src/page/library/browse.vue:371 msgid "Limit reached, showing first %{n} files" msgstr "Sınıra ulaşıldı, ilk %{n} dosya gösteriliyor" @@ -1731,7 +1757,7 @@ msgstr "Sınıra ulaşıldı, ilk %{n} dosya gösteriliyor" msgid "Linear: Very Smooth, Best Performance" msgstr "Doğrusal: Çok Pürüzsüz, En İyi Performans" -#: src/model/link.js:117 src/options/auth.js:30 src/options/auth.js:31 +#: src/model/link.js:117 src/options/auth.js:31 src/options/auth.js:32 msgid "Link" msgstr "Link" @@ -1749,7 +1775,7 @@ msgstr "Liste Görünümü" msgid "Live" msgstr "Canlı" -#: src/app/routes.js:236 src/component/navigation.vue:749 +#: src/app/routes.js:244 src/component/navigation.vue:755 msgid "Live Photos" msgstr "Canlı Fotoğraflar" @@ -1765,21 +1791,24 @@ msgstr "Öğeler yükleniyor..." msgid "Loading..." msgstr "Yükleniyor..." -#: src/options/admin.js:35 src/options/auth.js:22 src/options/auth.js:27 +#: src/options/admin.js:39 src/options/auth.js:23 src/options/auth.js:28 #: src/options/options.js:38 src/page/settings/general.vue:107 msgid "Local" msgstr "Yerel" -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Local Time" msgstr "Yerel Saat" -#: src/page/settings/account.vue:665 src/page/settings/account.vue:667 -#: src/component/album/edit/dialog.vue:92 src/component/photo/edit/info.vue:65 -#: src/component/photo/edit/labels.vue:48 +#: src/page/settings/account.vue:671 src/page/settings/account.vue:673 +#: src/component/album/edit/dialog.vue:93 +#: src/component/photo/edit/details.vue:38 +#: src/component/photo/edit/details.vue:116 +#: src/component/photo/edit/details.vue:210 +#: src/component/photo/edit/info.vue:67 src/component/photo/edit/labels.vue:48 #: src/component/photo/view/cards.vue:555 src/component/photo/view/list.vue:117 -#: src/component/sidebar/info.vue:107 src/page/albums.vue:99 -#: src/page/settings/account.vue:557 src/page/settings/account.vue:559 +#: src/component/sidebar/info.vue:107 src/page/albums.vue:100 +#: src/page/settings/account.vue:563 src/page/settings/account.vue:565 msgid "Location" msgstr "Konum" @@ -1787,20 +1816,19 @@ msgstr "Konum" msgid "Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues." msgstr "PhotoPrism bozuk dosyalarla karşılaştığında veya başka olası sorunlar olduğunda günlük mesajları burada görünür." -#: src/component/navigation.vue:1552 src/component/navigation.vue:1840 +#: src/component/navigation.vue:1579 src/component/navigation.vue:1877 msgid "Login" msgstr "Giriş" -#: src/component/navigation.vue:1759 +#: src/component/navigation.vue:1791 msgid "Logout" msgstr "Çıkış" -#: src/component/navigation.vue:1962 src/page/library.vue:59 +#: src/component/navigation.vue:2007 src/page/library.vue:59 #: src/page/settings/general.vue:557 msgid "Logs" msgstr "Kayıtlar" -#: src/component/photo/edit/details.vue:324 #: src/component/photo/edit/info.vue:379 msgid "Longitude" msgstr "Boylam" @@ -1813,7 +1841,7 @@ msgstr "Düşük" msgid "Magenta" msgstr "Magenta" -#: src/component/photo/edit/files.vue:489 +#: src/component/photo/edit/files.vue:491 msgid "Main Color" msgstr "Ana renk" @@ -1821,12 +1849,16 @@ msgstr "Ana renk" msgid "Male" msgstr "Erkek" -#: src/page/connect.vue:164 src/page/connect.vue:246 -#: src/page/about/about.vue:171 src/page/connect.vue:168 -#: src/page/connect.vue:255 +#: src/page/connect.vue:165 src/page/connect.vue:248 +#: src/page/about/about.vue:173 src/page/connect.vue:169 +#: src/page/connect.vue:257 msgid "Manage Account" msgstr "Hesabı Yönet" +#: src/options/admin.js:10 src/options/auth.js:7 +msgid "Manager" +msgstr "Müdür" + #: src/component/photo/edit/info.vue:49 src/component/photo/edit/labels.vue:38 msgid "Manual" msgstr "El Kitabı" @@ -1843,11 +1875,11 @@ msgstr "Haritalar" msgid "Marker" msgstr "İşaretleyici" -#: src/component/user/add/dialog.vue:69 +#: src/component/user/add/dialog.vue:70 msgid "Maximum number of accounts has been reached." msgstr "Maksimum hesap sayısına ulaşıldı." -#: src/app/routes.js:229 src/component/navigation.vue:688 +#: src/app/routes.js:237 src/component/navigation.vue:693 #: src/options/options.js:199 msgid "Media" msgstr "Medya" @@ -1864,7 +1896,7 @@ msgstr "Üyelik" msgid "Merge %{a} with %{b}?" msgstr "%{a} ile %{b} birleştirilsin mi?" -#: src/page/about/feedback.vue:102 +#: src/page/about/feedback.vue:103 msgid "Message" msgstr "Mesaj" @@ -1876,7 +1908,7 @@ msgstr "Mesaj Gönderildi" msgid "Metadata" msgstr "Metadata" -#: src/options/auth.js:56 src/options/auth.js:72 +#: src/options/auth.js:57 src/options/auth.js:73 msgid "Metrics" msgstr "Metrikler" @@ -1884,7 +1916,7 @@ msgstr "Metrikler" msgid "Minimize" msgstr "Küçült" -#: src/component/photo/edit/files.vue:509 src/component/photo/edit/info.vue:367 +#: src/component/photo/edit/files.vue:511 src/component/photo/edit/info.vue:367 msgid "Missing" msgstr "Eksik" @@ -1892,17 +1924,17 @@ msgstr "Eksik" msgid "Missing or invalid configuration" msgstr "Eksik veya geçersiz yapılandırma" -#: src/app/routes.js:163 src/component/navigation.vue:1129 +#: src/app/routes.js:171 src/component/navigation.vue:1147 #: src/options/options.js:205 src/page/settings/general.vue:230 msgid "Moments" msgstr "Anlar" -#: src/component/navigation.vue:383 +#: src/component/navigation.vue:385 msgid "Monochrome" msgstr "Monokrom" -#: src/page/settings/account.vue:475 src/component/photo/edit/details.vue:137 -#: src/component/photo/toolbar.vue:342 +#: src/page/settings/account.vue:481 src/component/photo/edit/details.vue:139 +#: src/component/photo/toolbar.vue:344 msgid "Month" msgstr "Ay" @@ -1922,7 +1954,7 @@ msgstr "En Alakalı" msgid "Move Files" msgstr "Dosyaları Taşı" -#: src/component/settings/password.vue:107 +#: src/component/settings/password.vue:108 msgid "Must have at least %{n} characters." msgstr "En az %{n} karakter olmalıdır." @@ -1930,20 +1962,20 @@ msgstr "En az %{n} karakter olmalıdır." msgid "Mute" msgstr "Sessiz" -#: src/page/about/feedback.vue:121 src/page/about/feedback.vue:122 -#: src/component/album/edit/dialog.vue:77 -#: src/component/label/edit/dialog.vue:71 -#: src/component/people/edit/dialog.vue:71 -#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:57 +#: src/page/about/feedback.vue:122 src/page/about/feedback.vue:123 +#: src/component/album/edit/dialog.vue:78 +#: src/component/label/edit/dialog.vue:72 +#: src/component/people/edit/dialog.vue:72 +#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:59 #: src/component/photo/edit/info.vue:125 src/component/photo/edit/people.vue:36 -#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:310 -#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:286 -#: src/page/albums.vue:98 src/page/auth/login.vue:168 +#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:311 +#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:289 +#: src/page/albums.vue:99 src/page/auth/login.vue:168 #: src/page/people/new.vue:68 src/page/settings/services.vue:37 msgid "Name" msgstr "Ad" -#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:60 +#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:65 #: src/component/label/edit/dialog.vue:19 #: src/component/people/edit/dialog.vue:19 #: src/component/photo/edit/labels.vue:30 @@ -1953,7 +1985,7 @@ msgstr "Ad" msgid "Name too long" msgstr "İsim çok uzun" -#: src/page/admin/users.vue:204 src/options/options.js:361 +#: src/page/admin/users.vue:206 src/options/options.js:361 #: src/options/options.js:371 src/page/settings/services.vue:75 msgid "Never" msgstr "Asla" @@ -1962,13 +1994,13 @@ msgstr "Asla" msgid "New" msgstr "Yeni" -#: src/component/settings/password.vue:106 +#: src/component/settings/password.vue:107 msgid "New Password" msgstr "Yeni Şifre" #: src/component/album/edit/dialog.vue:24 src/component/photo/toolbar.vue:114 #: src/component/photo/toolbar.vue:126 src/component/photo/toolbar.vue:136 -#: src/page/albums.vue:100 +#: src/page/albums.vue:101 msgid "Newest First" msgstr "Yeniden Eskiye" @@ -1984,15 +2016,15 @@ msgstr "Sonraki sayfa" msgid "Next visual" msgstr "Sonraki görsel" -#: src/component/people/merge/dialog.vue:47 -#: src/component/photo/archive/dialog.vue:47 +#: src/component/people/merge/dialog.vue:48 +#: src/component/photo/archive/dialog.vue:48 #: src/component/photo/edit/info.vue:281 src/component/photo/edit/info.vue:297 #: src/component/photo/edit/info.vue:313 src/component/photo/edit/info.vue:329 #: src/component/photo/edit/info.vue:344 msgid "No" msgstr "Hayır" -#: src/page/albums.vue:607 src/page/albums.vue:282 +#: src/page/albums.vue:612 src/page/albums.vue:282 msgid "No albums found" msgstr "Hiç albüm bulunamadı" @@ -2000,7 +2032,7 @@ msgstr "Hiç albüm bulunamadı" msgid "No data available" msgstr "Veri mevcut değil" -#: src/page/labels.vue:523 src/page/labels.vue:155 +#: src/page/labels.vue:528 src/page/labels.vue:155 msgid "No labels found" msgstr "Etiket bulunamadı" @@ -2013,15 +2045,15 @@ msgid "No more" msgstr "Artık yok" #: src/component/photo/edit/people.vue:34 src/page/people/new.vue:346 -#: src/page/people/new.vue:443 src/page/people/new.vue:103 -#: src/page/people/recognized.vue:531 src/page/people/recognized.vue:146 +#: src/page/people/new.vue:446 src/page/people/new.vue:103 +#: src/page/people/recognized.vue:536 src/page/people/recognized.vue:146 msgid "No people found" msgstr "Hiç kimse bulunamadı" #: src/component/lightbox.vue:365 src/component/photo/view/cards.vue:144 #: src/component/photo/view/list.vue:82 src/component/photo/view/mosaic.vue:68 -#: src/page/album/photos.vue:488 src/page/library/browse.vue:123 -#: src/page/photos.vue:626 src/page/places.vue:624 src/page/places.vue:730 +#: src/page/album/photos.vue:499 src/page/library/browse.vue:123 +#: src/page/photos.vue:636 src/page/places.vue:624 src/page/places.vue:730 msgid "No pictures found" msgstr "Resim bulunamadı" @@ -2030,7 +2062,11 @@ msgstr "Resim bulunamadı" msgid "No recently edited pictures" msgstr "Yakın zamanda düzenlenmiş resim yok" -#: src/component/navigation.vue:1655 +#: src/component/location/dialog.vue:166 +msgid "No results" +msgstr "Sonuç yok" + +#: src/component/navigation.vue:1686 msgid "No server connection" msgstr "Sunucu bağlantısı yok" @@ -2042,7 +2078,7 @@ msgstr "Yapılandırılmış sunucu yok." msgid "No services configured." msgstr "Yapılandırılmış hizmet yok." -#: src/component/confirm/sponsor.vue:72 +#: src/component/confirm/sponsor.vue:73 msgid "No thanks" msgstr "Hayır, teşekkürler" @@ -2052,17 +2088,17 @@ msgstr "Bu anahtar kelimeyi içeren uyarı veya hata yok. Aramanın büyük/kü #: src/component/photo/view/cards.vue:154 src/component/photo/view/list.vue:59 #: src/component/photo/view/list.vue:92 src/component/photo/view/mosaic.vue:78 -#: src/component/upload/dialog.vue:208 +#: src/component/upload/dialog.vue:210 msgid "Non-photographic and low-quality images require a review before they appear in search results." msgstr "Fotoğrafik olmayan ve düşük kaliteli görüntülerin arama sonuçlarında görünmeden önce incelenmesi gerekmektedir." -#: src/options/admin.js:47 src/options/auth.js:32 src/options/options.js:212 +#: src/options/admin.js:51 src/options/auth.js:33 src/options/options.js:212 #: src/options/options.js:328 msgid "None" msgstr "Hiçbiri" -#: src/common/util.js:853 src/component/lightbox.vue:633 -#: src/component/service/upload.vue:75 src/component/service/upload.vue:87 +#: src/component/lightbox.vue:633 src/component/service/upload.vue:75 +#: src/component/service/upload.vue:87 msgid "Not allowed" msgstr "İzin verilmez" @@ -2074,8 +2110,7 @@ msgstr "Bulunamadı" msgid "Not sorted." msgstr "Sıralanmamış." -#: src/common/util.js:858 src/component/lightbox.vue:627 -#: src/component/lightbox.vue:744 +#: src/component/lightbox.vue:627 src/component/lightbox.vue:744 msgid "Not supported" msgstr "Desteklenmiyor" @@ -2083,15 +2118,15 @@ msgstr "Desteklenmiyor" msgid "Note you may manually manage your originals folder and importing is optional." msgstr "Orijinaller klasörünüzü manuel olarak yönetebileceğinizi ve içe aktarmanın isteğe bağlı olduğunu unutmayın." -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "Note:" msgstr "Not:" -#: src/component/service/add.vue:120 +#: src/component/service/add.vue:121 msgid "Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload." msgstr "Not: Yalnızca Nextcloud veya PhotoPrism gibi WebDAV sunucuları yedekleme ve dosya yükleme için uzak hizmet olarak yapılandırılabilir." -#: src/component/photo/edit/details.vue:603 +#: src/component/photo/edit/details.vue:577 msgid "Notes" msgstr "Notlar" @@ -2099,8 +2134,8 @@ msgstr "Notlar" msgid "Nothing to see here yet." msgstr "Henüz görecek bir şey yok." -#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:115 -#: src/component/settings/apps.vue:390 +#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:125 +#: src/component/settings/apps.vue:393 msgid "Nothing was found." msgstr "Hiçbir şey bulunamadı." @@ -2108,7 +2143,7 @@ msgstr "Hiçbir şey bulunamadı." msgid "Offline" msgstr "Çevrimdışı" -#: src/options/admin.js:39 src/options/auth.js:28 +#: src/options/admin.js:43 src/options/auth.js:29 msgid "OIDC" msgstr "OIDC" @@ -2118,11 +2153,11 @@ msgstr "TAMAM" #: src/component/album/edit/dialog.vue:25 src/component/photo/toolbar.vue:115 #: src/component/photo/toolbar.vue:127 src/component/photo/toolbar.vue:137 -#: src/page/albums.vue:101 +#: src/page/albums.vue:102 msgid "Oldest First" msgstr "Eskiden Yeniye" -#: src/component/settings/webdav.vue:77 +#: src/component/settings/webdav.vue:78 msgid "On Windows, enter the following resource in the connection dialog:" msgstr "Windows'ta, bağlantı iletişim kutusuna aşağıdaki kaynağı girin:" @@ -2134,11 +2169,11 @@ msgstr "Küçük resimlerin isteğe bağlı olarak oluşturulması yüksek CPU v msgid "Once a week" msgstr "Haftada bir" -#: src/page/albums.vue:609 +#: src/page/albums.vue:614 msgid "One album found" msgstr "Bir albüm bulundu" -#: src/page/library/browse.vue:358 +#: src/page/library/browse.vue:360 msgid "One file found" msgstr "Bir dosya bulundu" @@ -2146,24 +2181,24 @@ msgstr "Bir dosya bulundu" msgid "One file uploaded" msgstr "Bir dosya yüklendi" -#: src/page/library/browse.vue:360 +#: src/page/library/browse.vue:362 msgid "One folder found" msgstr "Bir klasör bulundu" -#: src/page/labels.vue:525 +#: src/page/labels.vue:530 msgid "One label found" msgstr "Bir etiket bulundu" -#: src/page/people/new.vue:348 src/page/people/new.vue:445 -#: src/page/people/recognized.vue:533 +#: src/page/people/new.vue:348 src/page/people/new.vue:448 +#: src/page/people/recognized.vue:538 msgid "One person found" msgstr "Bir kişi bulundu" -#: src/page/album/photos.vue:490 src/page/photos.vue:628 +#: src/page/album/photos.vue:501 src/page/photos.vue:638 msgid "One picture found" msgstr "Bir resim bulundu" -#: src/component/settings/passcode.vue:478 +#: src/component/settings/passcode.vue:481 msgid "Only locally managed accounts can be set up for authentication with 2FA." msgstr "2FA ile kimlik doğrulama için yalnızca yerel olarak yönetilen hesaplar ayarlanabilir." @@ -2171,7 +2206,7 @@ msgstr "2FA ile kimlik doğrulama için yalnızca yerel olarak yönetilen hesapl msgid "Open" msgstr "Açık" -#: src/component/service/add.vue:86 src/component/service/add.vue:107 +#: src/component/service/add.vue:87 src/component/service/add.vue:108 msgid "optional" msgstr "isteğe bağlı" @@ -2183,7 +2218,7 @@ msgstr "veya" msgid "Orange" msgstr "Turuncu" -#: src/page/settings/account.vue:571 src/page/settings/account.vue:573 +#: src/page/settings/account.vue:577 src/page/settings/account.vue:579 msgid "Organization" msgstr "Organizasyon" @@ -2199,7 +2234,7 @@ msgstr "Orijinal dosya adları saklanacak ve indekslenecektir." msgid "Original Name" msgstr "Orijinal Adı" -#: src/component/navigation.vue:1304 src/model/file.js:196 +#: src/component/navigation.vue:1328 src/model/file.js:196 #: src/options/options.js:413 src/page/library/browse.vue:65 #: src/page/settings/content.vue:356 src/page/settings/general.vue:532 msgid "Originals" @@ -2210,7 +2245,7 @@ msgstr "Orijinaller" msgid "Other" msgstr "Diğer" -#: src/page/about/about.vue:77 src/page/about/about.vue:83 +#: src/page/about/about.vue:78 src/page/about/about.vue:84 msgid "Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible." msgstr "Misyonumuz, resimlerinizi düzenli ve erişilebilir tutmak için en kullanıcı ve gizlilik dostu çözümü sunmaktır." @@ -2222,7 +2257,7 @@ msgstr "Dış mekan" msgid "Page {0}, Current page" msgstr "Sayfa {0}, Mevcut sayfa" -#: src/component/photo/edit/files.vue:352 src/model/photo.js:859 +#: src/component/photo/edit/files.vue:352 src/model/photo.js:896 msgid "Pages" msgstr "Sayfalar" @@ -2234,15 +2269,15 @@ msgstr "Sayfalandırma Navigasyonu" msgid "Panorama" msgstr "Panorama" -#: src/component/navigation.vue:402 +#: src/component/navigation.vue:404 msgid "Panoramas" msgstr "Panoramalar" -#: src/component/user/add/dialog.vue:114 src/component/user/add/dialog.vue:115 -#: src/component/service/add.vue:106 src/component/service/edit.vue:352 -#: src/component/settings/apps.vue:121 src/component/settings/passcode.vue:106 -#: src/component/settings/passcode.vue:413 src/component/share/dialog.vue:27 -#: src/options/auth.js:91 src/page/auth/login.vue:196 +#: src/component/user/add/dialog.vue:115 src/component/user/add/dialog.vue:116 +#: src/component/service/add.vue:107 src/component/service/edit.vue:353 +#: src/component/settings/apps.vue:124 src/component/settings/passcode.vue:109 +#: src/component/settings/passcode.vue:416 src/component/share/dialog.vue:27 +#: src/options/auth.js:92 src/page/auth/login.vue:196 msgid "Password" msgstr "Şifre" @@ -2250,9 +2285,9 @@ msgstr "Şifre" msgid "Password changed" msgstr "Şifre Değiştirildi" -#: src/app/routes.js:404 src/app/routes.js:428 src/component/navigation.vue:845 -#: src/component/navigation.vue:1898 src/component/photo/edit/dialog.vue:228 -#: src/component/photo/edit/dialog.vue:245 src/options/options.js:201 +#: src/app/routes.js:412 src/app/routes.js:436 src/component/navigation.vue:853 +#: src/component/navigation.vue:1939 src/component/photo/edit/dialog.vue:238 +#: src/component/photo/edit/dialog.vue:257 src/options/options.js:201 #: src/page/settings/general.vue:180 msgid "People" msgstr "Kişi" @@ -2273,23 +2308,23 @@ msgstr "Depolama alanını boşaltmak için dosyaları kalıcı olarak kaldırı msgid "Person" msgstr "Kişi" -#: src/options/auth.js:42 +#: src/options/auth.js:43 msgid "Personal" msgstr "Kişisel" -#: src/model/photo.js:1273 +#: src/model/photo.js:1310 msgid "Photo" msgstr "Fotoğraf" -#: src/page/about/about.vue:156 +#: src/page/about/about.vue:158 msgid "PhotoPrism is 100% self-funded and independent." msgstr "PhotoPrism %100 kendi kendini finanse eder ve bağımsızdır." -#: src/page/about/about.vue:92 +#: src/page/about/about.vue:93 msgid "PhotoPrism+ Membership" msgstr "PhotoPrism+ Üyeliği" -#: src/app/routes.js:156 +#: src/app/routes.js:164 msgid "Photos" msgstr "Fotoğraflar" @@ -2310,27 +2345,27 @@ msgstr "Yer" msgid "Place & Time" msgstr "Yer ve Zaman" -#: src/app/routes.js:303 src/app/routes.js:309 src/app/routes.js:315 -#: src/app/routes.js:330 src/component/navigation.vue:986 -#: src/component/navigation.vue:1914 src/options/options.js:203 +#: src/app/routes.js:311 src/app/routes.js:317 src/app/routes.js:323 +#: src/app/routes.js:338 src/component/navigation.vue:999 +#: src/component/navigation.vue:1956 src/options/options.js:203 #: src/page/places.vue:51 src/page/settings/general.vue:609 #: src/page/settings/general.vue:638 msgid "Places" msgstr "Yerler" -#: src/component/settings/password.vue:129 +#: src/component/settings/password.vue:130 msgid "Please confirm your new password." msgstr "Lütfen yeni şifrenizi onaylayın." -#: src/component/settings/apps.vue:185 +#: src/component/settings/apps.vue:188 msgid "Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:" msgstr "Lütfen aşağıda verilen rastgele oluşturulmuş uygulama şifresini kopyalayın ve güvenli bir yerde saklayın, çünkü bunu bir daha göremeyeceksiniz:" -#: src/component/upload/dialog.vue:203 +#: src/component/upload/dialog.vue:205 msgid "Please do not upload any private, unlawful or offensive pictures." msgstr "Lütfen özel, yasa dışı veya saldırgan resimler yüklemeyin." -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Please don't upload photos containing offensive content." msgstr "Lütfen saldırgan içerik barındıran fotoğraflar yüklemeyin." @@ -2338,11 +2373,11 @@ msgstr "Lütfen saldırgan içerik barındıran fotoğraflar yüklemeyin." msgid "Please enter OTP character {0}" msgstr "Lütfen OTP karakterini girin {0}" -#: src/component/settings/password.vue:66 +#: src/component/settings/password.vue:67 msgid "Please note that changing your password will log you out on other devices and browsers." msgstr "Lütfen şifrenizi değiştirdiğinizde diğer cihazlarda ve tarayıcılarda oturumunuzu kapatacağınızı unutmayın." -#: src/page/connect.vue:148 src/page/connect.vue:152 +#: src/page/connect.vue:149 src/page/connect.vue:153 msgid "Please restart your instance for the changes to take effect." msgstr "Değişikliklerin etkili olması için lütfen instance'ınızı yeniden başlatın." @@ -2362,11 +2397,11 @@ msgstr "PNG Boyut Sınırı: %{n}px" msgid "Portrait" msgstr "Portre" -#: src/component/service/edit.vue:273 +#: src/component/service/edit.vue:274 msgid "Preserve filenames" msgstr "Dosya adlarını koru" -#: src/component/upload/dialog.vue:162 +#: src/component/upload/dialog.vue:164 msgid "Press enter to create a new album." msgstr "Yeni bir albüm oluşturmak için enter tuşuna basın." @@ -2403,8 +2438,8 @@ msgstr "Önceki görsel" msgid "Primary" msgstr "Birincil" -#: src/app/routes.js:271 src/component/album/edit/dialog.vue:176 -#: src/component/navigation.vue:531 src/component/photo/edit/info.vue:303 +#: src/app/routes.js:279 src/component/album/edit/dialog.vue:177 +#: src/component/navigation.vue:533 src/component/photo/edit/info.vue:303 #: src/page/settings/general.vue:280 msgid "Private" msgstr "Özel" @@ -2429,7 +2464,7 @@ msgstr "Kalite Filtresi" msgid "Quality Score" msgstr "Kalite Puanı" -#: src/page/admin/users.vue:169 +#: src/page/admin/users.vue:171 msgid "r" msgstr "r" @@ -2460,7 +2495,7 @@ msgstr "Salt Okunur Modu" #: src/component/album/edit/dialog.vue:26 src/component/photo/toolbar.vue:116 #: src/component/photo/toolbar.vue:128 src/component/photo/toolbar.vue:138 -#: src/page/albums.vue:102 +#: src/page/albums.vue:103 msgid "Recently Added" msgstr "Son Eklenenler" @@ -2468,7 +2503,7 @@ msgstr "Son Eklenenler" msgid "Recently Archived" msgstr "Yakın Zamanda Arşivlendi" -#: src/component/photo/toolbar.vue:139 src/page/albums.vue:103 +#: src/component/photo/toolbar.vue:139 src/page/albums.vue:104 msgid "Recently Edited" msgstr "Son zamanlarda Düzenlendi" @@ -2493,24 +2528,24 @@ msgstr "Kurtarma Kodu" msgid "Red" msgstr "Kırmızı" -#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:126 -#: src/component/album/toolbar.vue:79 src/component/photo/toolbar.vue:169 -#: src/page/albums.vue:173 src/page/labels.vue:112 +#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:128 +#: src/component/album/toolbar.vue:84 src/component/photo/toolbar.vue:169 +#: src/page/albums.vue:175 src/page/labels.vue:112 #: src/page/library/browse.vue:90 src/page/library/errors.vue:81 #: src/page/people/new.vue:54 src/page/people/recognized.vue:88 msgid "Refresh" msgstr "Yenile" -#: src/app/routes.js:337 src/component/navigation.vue:943 -#: src/component/navigation.vue:1026 +#: src/app/routes.js:345 src/component/navigation.vue:955 +#: src/component/navigation.vue:1040 msgid "Regions" msgstr "Bölgeler" -#: src/page/connect.vue:275 src/page/connect.vue:284 +#: src/page/connect.vue:277 src/page/connect.vue:286 msgid "Register" msgstr "Kayıt Olun" -#: src/component/navigation.vue:1773 src/component/update.vue:68 +#: src/component/navigation.vue:1806 src/component/update.vue:68 msgid "Reload" msgstr "Tekrar yükle" @@ -2555,34 +2590,34 @@ msgstr "Fotoğrafik olmayan ve düşük kaliteli görsellerin arama sonuçların msgid "Resolution" msgstr "Çözünürlük" -#: src/page/connect.vue:179 src/page/connect.vue:183 +#: src/page/connect.vue:180 src/page/connect.vue:184 #: src/page/settings/advanced.vue:782 msgid "Restart" msgstr "Yeniden Başlat" -#: src/component/user/edit/dialog.vue:485 src/component/lightbox.vue:1221 +#: src/component/user/edit/dialog.vue:488 src/component/lightbox.vue:1221 #: src/component/photo/clipboard.vue:77 msgid "Restore" msgstr "Geri Yükle" -#: src/component/lightbox.vue:2000 +#: src/component/lightbox.vue:2020 msgid "Restored" msgstr "Restore edildi" -#: src/component/service/edit.vue:428 +#: src/component/service/edit.vue:429 msgid "Retry Limit" msgstr "Yeniden Deneme Sınırı" -#: src/component/settings/password.vue:128 +#: src/component/settings/password.vue:129 msgid "Retype Password" msgstr "Şifrenizi yeniden yazın" -#: src/app/routes.js:264 src/component/navigation.vue:505 +#: src/app/routes.js:272 src/component/navigation.vue:507 msgid "Review" msgstr "İnceleme" -#: src/component/user/add/dialog.vue:171 src/component/user/edit/dialog.vue:284 -#: src/page/admin/sessions.vue:262 src/page/admin/users.vue:73 +#: src/component/user/add/dialog.vue:172 src/component/user/edit/dialog.vue:285 +#: src/page/admin/sessions.vue:263 src/page/admin/users.vue:75 msgid "Role" msgstr "Rol" @@ -2594,11 +2629,11 @@ msgstr "Sayfa başına satır sayısı:" msgid "Satellite" msgstr "Uydu" -#: src/component/user/edit/dialog.vue:485 -#: src/component/album/edit/dialog.vue:211 -#: src/component/label/edit/dialog.vue:119 -#: src/component/people/edit/dialog.vue:132 src/component/service/edit.vue:466 -#: src/component/settings/password.vue:172 src/component/share/dialog.vue:181 +#: src/component/user/edit/dialog.vue:488 +#: src/component/album/edit/dialog.vue:212 +#: src/component/label/edit/dialog.vue:120 +#: src/component/people/edit/dialog.vue:133 src/component/service/edit.vue:467 +#: src/component/settings/password.vue:173 src/component/share/dialog.vue:181 msgid "Save" msgstr "Kaydet" @@ -2606,23 +2641,23 @@ msgstr "Kaydet" msgid "Scan" msgstr "Tara" -#: src/component/settings/passcode.vue:179 +#: src/component/settings/passcode.vue:182 msgid "Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:" msgstr "QR kodunu kimlik doğrulayıcı uygulamanızla tarayın veya aşağıda gösterilen kurulum anahtarını kullanın ve ardından oluşturulan doğrulama kodunu girin:" -#: src/component/navigation.vue:461 +#: src/component/navigation.vue:463 msgid "Scans" msgstr "Taramalar" -#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:377 -#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:310 +#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:381 +#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:313 msgid "Scope" msgstr "Kapsam" -#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:62 -#: src/component/navigation.vue:342 src/component/navigation.vue:1866 -#: src/component/photo/toolbar.vue:57 src/options/options.js:197 -#: src/page/albums.vue:100 src/page/labels.vue:77 +#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:69 +#: src/component/location/dialog.vue:133 src/component/navigation.vue:343 +#: src/component/navigation.vue:1905 src/component/photo/toolbar.vue:57 +#: src/options/options.js:197 src/page/albums.vue:100 src/page/labels.vue:77 #: src/page/library/errors.vue:76 src/page/people/recognized.vue:66 #: src/page/places.vue:79 src/page/settings/content.vue:235 msgid "Search" @@ -2660,11 +2695,11 @@ msgstr "Tarih seçiniz" msgid "Select dates" msgstr "Tarihleri seçin" -#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:154 +#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:156 msgid "Select or create an album" msgstr "Bir albüm seçin veya oluşturun" -#: src/component/upload/dialog.vue:138 +#: src/component/upload/dialog.vue:140 msgid "Select the files to upload…" msgstr "Yüklenecek dosyaları seçin…" @@ -2692,7 +2727,7 @@ msgstr "Seçim geri yüklendi" msgid "Sequential Name" msgstr "Sıralı İsim" -#: src/component/service/add.vue:67 src/component/service/edit.vue:322 +#: src/component/service/add.vue:68 src/component/service/edit.vue:323 #: src/component/share/dialog.vue:25 msgid "Service URL" msgstr "Hizmet URL'si" @@ -2701,7 +2736,7 @@ msgstr "Hizmet URL'si" msgid "Services" msgstr "Hizmetler" -#: src/model/session.js:107 src/options/auth.js:41 src/options/auth.js:90 +#: src/model/session.js:107 src/options/auth.js:42 src/options/auth.js:91 msgid "Session" msgstr "Oturum" @@ -2709,7 +2744,7 @@ msgstr "Oturum" msgid "Session ID" msgstr "Oturum Kimliği" -#: src/page/admin.vue:45 +#: src/page/admin.vue:44 msgid "Sessions" msgstr "Oturumlar" @@ -2717,22 +2752,22 @@ msgstr "Oturumlar" msgid "Set as Album Cover" msgstr "Albüm Kapağı Olarak Ayarla" -#: src/app/routes.js:101 src/app/routes.js:492 src/app/routes.js:504 -#: src/app/routes.js:521 src/app/routes.js:534 src/app/routes.js:547 -#: src/component/navigation.vue:1394 src/component/navigation.vue:1806 +#: src/app/routes.js:101 src/app/routes.js:500 src/app/routes.js:512 +#: src/app/routes.js:529 src/app/routes.js:542 src/app/routes.js:555 +#: src/component/navigation.vue:1419 src/component/navigation.vue:1841 msgid "Settings" msgstr "Ayarlar" #: src/page/settings/account.vue:115 src/page/settings/account.vue:144 -#: src/component/settings/passcode.vue:147 +#: src/component/settings/passcode.vue:151 msgid "Settings saved" msgstr "Ayarlar kaydedildi" -#: src/component/service/upload.vue:131 src/component/settings/passcode.vue:160 +#: src/component/service/upload.vue:132 src/component/settings/passcode.vue:163 msgid "Setup" msgstr "Kurulum" -#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:98 +#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:103 #: src/component/photo/clipboard.vue:51 src/page/settings/general.vue:382 msgid "Share" msgstr "Paylaş" @@ -2749,7 +2784,7 @@ msgstr "Fotoğraflarınızı diğer uygulamalar ve hizmetlerle paylaşın." msgid "Show" msgstr "Göster" -#: src/page/people/new.vue:116 src/page/people/new.vue:233 +#: src/page/people/new.vue:116 src/page/people/new.vue:235 msgid "Show all new faces" msgstr "Tüm yeni yüzleri göster" @@ -2794,7 +2829,7 @@ msgid "Similar" msgstr "Benzer" #: src/component/photo/edit/files.vue:51 src/component/photo/edit/files.vue:341 -#: src/component/service/edit.vue:139 src/component/sidebar/info.vue:96 +#: src/component/service/edit.vue:140 src/component/sidebar/info.vue:96 msgid "Size" msgstr "Boyut" @@ -2822,7 +2857,7 @@ msgstr "Bir şeyler ters gitti, tekrar deneyin" msgid "Sort by" msgstr "Göre sırala" -#: src/component/album/edit/dialog.vue:142 src/component/photo/toolbar.vue:288 +#: src/component/album/edit/dialog.vue:143 src/component/photo/toolbar.vue:290 #: src/page/albums.vue:214 msgid "Sort Order" msgstr "Sıralama düzeni" @@ -2857,7 +2892,7 @@ msgstr "Aynı zamanda ve konumda çekilen fotoğrafları meta verilerine göre y msgid "Stackable" msgstr "İstiflenebilir" -#: src/component/navigation.vue:421 src/page/settings/content.vue:136 +#: src/component/navigation.vue:423 src/page/settings/content.vue:136 msgid "Stacks" msgstr "Yığınlar" @@ -2885,16 +2920,16 @@ msgstr "Depolama" msgid "Streets" msgstr "Sokaklar" -#: src/component/photo/edit/details.vue:494 +#: src/component/photo/edit/details.vue:468 #: src/component/photo/edit/labels.vue:44 msgid "Subject" msgstr "Konu" -#: src/page/about/feedback.vue:162 src/page/about/feedback.vue:163 +#: src/page/about/feedback.vue:163 src/page/about/feedback.vue:164 msgid "Submit" msgstr "Gönder" -#: src/component/settings/passcode.vue:132 +#: src/component/settings/passcode.vue:136 msgid "Successfully activated" msgstr "Başarıyla etkinleştirildi" @@ -2903,23 +2938,23 @@ msgid "Successfully Connected" msgstr "Başarıyla Bağlandı" #: src/component/session/remove/dialog.vue:32 -#: src/component/settings/apps.vue:218 +#: src/component/settings/apps.vue:222 msgid "Successfully deleted" msgstr "Başarıyla silindi" -#: src/component/settings/passcode.vue:107 +#: src/component/settings/passcode.vue:108 msgid "Successfully verified" msgstr "Başarıyla doğrulandı" -#: src/component/user/edit/dialog.vue:398 src/page/admin/users.vue:163 +#: src/component/user/edit/dialog.vue:399 src/page/admin/users.vue:165 msgid "Super Admin" msgstr "Süper Yönetici" -#: src/component/service/add.vue:122 +#: src/component/service/add.vue:123 msgid "Support for additional services, like Google Drive, will be added over time." msgstr "Google Drive gibi ek hizmetler için destek zaman içinde eklenecektir." -#: src/component/confirm/sponsor.vue:37 src/component/navigation.vue:1629 +#: src/component/confirm/sponsor.vue:38 src/component/navigation.vue:1660 msgid "Support Our Mission" msgstr "Misyonumuzu Destekleyin" @@ -2927,7 +2962,7 @@ msgstr "Misyonumuzu Destekleyin" msgid "Sync" msgstr "Eşitle" -#: src/component/service/edit.vue:289 +#: src/component/service/edit.vue:290 msgid "Sync raw and video files" msgstr "Ham ve video dosyalarını senkronize edin" @@ -2953,23 +2988,23 @@ msgstr "Arazi" msgid "Text" msgstr "Metin" -#: src/component/photo/edit/details.vue:32 src/page/people/new.vue:71 +#: src/component/photo/edit/details.vue:40 src/page/people/new.vue:71 msgid "Text too long" msgstr "Metin çok uzun" -#: src/page/about/about.vue:145 +#: src/page/about/about.vue:146 msgid "Thank You for Your Support!" msgstr "Desteğiniz için teşekkürler!" -#: src/page/about/about.vue:79 src/page/about/about.vue:85 +#: src/page/about/about.vue:80 src/page/about/about.vue:86 msgid "That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality." msgstr "Bu nedenle PhotoPrism, özgürlük, gizlilik veya işlevsellikten ödün vermeden ihtiyaç duyduğunuz her yerde çalışacak şekilde sıfırdan inşa edildi." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "The index currently contains %{n} hidden files." msgstr "Dizin şu anda %{n} gizli dosya içermektedir." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates." msgstr "Formatları desteklenmiyor olabilir, henüz JPEG'e dönüştürülmemiş olabilirler veya kopyaları mevcut olabilir." @@ -2984,44 +3019,44 @@ msgstr "Tema" msgid "This field is required" msgstr "Bu alan zorunludur" -#: src/component/settings/webdav.vue:100 src/page/settings/services.vue:144 +#: src/component/settings/webdav.vue:101 src/page/settings/services.vue:147 msgid "This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local." msgstr "Bu, orijinaller klasörünü bir ağ sürücüsü olarak bağlar ve dosyaları bilgisayarınızdan veya akıllı telefonunuzdan yerelmiş gibi açmanıza, düzenlemenize ve silmenize olanak tanır." -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Time UTC" msgstr "Zaman UTC" -#: src/component/photo/edit/details.vue:219 src/page/settings/general.vue:108 +#: src/component/photo/edit/details.vue:221 src/page/settings/general.vue:108 msgid "Time Zone" msgstr "Saat dilimi" -#: src/component/service/edit.vue:408 +#: src/component/service/edit.vue:409 msgid "Timeout" msgstr "Zaman aşımı" -#: src/component/user/edit/dialog.vue:98 src/component/user/edit/dialog.vue:99 +#: src/component/user/edit/dialog.vue:99 src/component/user/edit/dialog.vue:100 #: src/page/settings/account.vue:84 src/page/settings/account.vue:86 msgctxt "Account" msgid "Title" msgstr "Başlık" -#: src/component/photo/edit/details.vue:73 +#: src/component/photo/edit/details.vue:75 msgctxt "Photo" msgid "Title" msgstr "Başlık" -#: src/component/photo/edit/info.vue:59 src/component/photo/edit/info.vue:155 +#: src/component/photo/edit/info.vue:61 src/component/photo/edit/info.vue:155 #: src/component/photo/edit/labels.vue:40 src/component/photo/view/list.vue:114 #: src/component/sidebar/info.vue:57 msgid "Title" msgstr "Başlık" -#: src/page/settings/account.vue:553 src/page/settings/account.vue:555 +#: src/page/settings/account.vue:559 src/page/settings/account.vue:561 msgid "Title / Position" msgstr "Başlık / Pozisyon" -#: src/page/albums.vue:83 +#: src/page/albums.vue:84 msgid "Title too long" msgstr "Başlık çok uzun" @@ -3029,19 +3064,19 @@ msgstr "Başlık çok uzun" msgid "to" msgstr "için" -#: src/component/settings/passcode.vue:312 +#: src/component/settings/passcode.vue:315 msgid "To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place." msgstr "Hesabınızın kilitlenmesini önlemek için lütfen bu kurtarma kodunu şimdi indirin, yazdırın veya kopyalayın ve güvenli bir yerde saklayın." -#: src/component/settings/apps.vue:272 +#: src/component/settings/apps.vue:275 msgid "To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:" msgstr "Uygulamaya özel yeni bir şifre oluşturmak için lütfen uygulamanın adını ve yetki kapsamını girin ve bir son kullanma tarihi seçin:" -#: src/component/settings/passcode.vue:400 +#: src/component/settings/passcode.vue:403 msgid "To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:" msgstr "Yeni bir kimlik doğrulama uygulamasına veya cihazına geçmek için önce iki faktörlü kimlik doğrulamayı devre dışı bırakın ve ardından yeniden etkinleştirin:" -#: src/page/connect.vue:221 src/page/connect.vue:230 +#: src/page/connect.vue:223 src/page/connect.vue:232 msgid "To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:" msgstr "Yükseltme yapmak için bir aktivasyon kodu girebilir veya web sitemize kaydolmak için \"Kaydol\" düğmesine tıklayabilirsiniz:" @@ -3049,7 +3084,7 @@ msgstr "Yükseltme yapmak için bir aktivasyon kodu girebilir veya web sitemize msgid "Today" msgstr "Bugün" -#: src/component/album/toolbar.vue:70 src/component/photo/toolbar.vue:78 +#: src/component/album/toolbar.vue:71 src/component/photo/toolbar.vue:78 msgid "Toggle View" msgstr "Görünümü Değiştir" @@ -3076,20 +3111,24 @@ msgstr "Sorun Giderme" msgid "Try again using other filters or keywords." msgstr "Başka filtreler veya anahtar kelimeler kullanarak tekrar deneyin." -#: src/component/settings/passcode.vue:380 +#: src/component/settings/passcode.vue:383 msgid "Two-factor authentication has been enabled for your account." msgstr "Hesabınız için iki faktörlü kimlik doğrulama etkinleştirildi." #: src/component/photo/edit/files.vue:58 src/component/photo/edit/files.vue:330 -#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:388 +#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:389 msgid "Type" msgstr "Tip" -#: src/options/auth.js:13 +#: src/component/album/toolbar.vue:178 +msgid "Unable to delete" +msgstr "Silinemiyor" + +#: src/options/auth.js:14 msgid "Unauthorized" msgstr "Yetkisiz" -#: src/component/photo/edit/people.vue:94 +#: src/component/photo/edit/people.vue:95 msgid "Undo" msgstr "Geri al" @@ -3097,16 +3136,16 @@ msgstr "Geri al" msgid "Unique ID" msgstr "Benzersiz kimlik" -#: src/page/settings/account.vue:451 src/page/settings/account.vue:476 -#: src/page/settings/account.vue:501 src/common/util.js:487 -#: src/component/photo/edit/details.vue:21 -#: src/component/photo/edit/details.vue:111 -#: src/component/photo/edit/details.vue:138 -#: src/component/photo/edit/details.vue:164 src/component/sidebar/info.vue:43 -#: src/model/album.js:193 src/model/photo.js:323 src/model/photo.js:784 -#: src/model/photo.js:809 src/model/photo.js:832 src/model/photo.js:850 -#: src/model/photo.js:897 src/model/photo.js:905 src/model/photo.js:994 -#: src/model/photo.js:1016 src/model/photo.js:1061 src/model/photo.js:1074 +#: src/page/settings/account.vue:457 src/page/settings/account.vue:482 +#: src/page/settings/account.vue:507 src/common/util.js:488 +#: src/component/photo/edit/details.vue:27 +#: src/component/photo/edit/details.vue:113 +#: src/component/photo/edit/details.vue:140 +#: src/component/photo/edit/details.vue:166 src/component/sidebar/info.vue:43 +#: src/model/album.js:193 src/model/photo.js:331 src/model/photo.js:821 +#: src/model/photo.js:846 src/model/photo.js:869 src/model/photo.js:887 +#: src/model/photo.js:934 src/model/photo.js:942 src/model/photo.js:1031 +#: src/model/photo.js:1053 src/model/photo.js:1098 src/model/photo.js:1111 #: src/model/user.js:157 src/options/options.js:51 src/options/options.js:69 #: src/options/options.js:86 src/options/options.js:100 #: src/options/options.js:112 src/page/library/errors.vue:251 @@ -3119,7 +3158,7 @@ msgstr "Bilinmeyen" msgid "Unregistered" msgstr "Kaydedilmemiş" -#: src/app/routes.js:215 src/component/navigation.vue:644 +#: src/app/routes.js:223 src/component/navigation.vue:648 msgid "Unsorted" msgstr "Sıralanmamış" @@ -3127,7 +3166,7 @@ msgstr "Sıralanmamış" msgid "Unstack" msgstr "Yığından çıkar" -#: src/component/photo/edit/files.vue:519 src/component/photo/edit/info.vue:416 +#: src/component/photo/edit/files.vue:521 src/component/photo/edit/info.vue:416 msgid "Updated" msgstr "Güncellendi" @@ -3143,7 +3182,7 @@ msgstr "Dizin güncelleniyor" msgid "Updating moments" msgstr "Anılar güncelliyor" -#: src/component/user/edit/dialog.vue:154 +#: src/component/user/edit/dialog.vue:155 msgid "Updating picture…" msgstr "Resim güncelleniyor…" @@ -3155,21 +3194,21 @@ msgstr "Önizlemeleri güncelleme" msgid "Updating stacks" msgstr "Yığınları güncelleme" -#: src/page/connect.vue:57 src/component/navigation.vue:1500 -#: src/component/navigation.vue:1614 src/component/navigation.vue:1999 +#: src/page/connect.vue:57 src/component/navigation.vue:1526 +#: src/component/navigation.vue:1644 src/component/navigation.vue:2047 #: src/page/connect.vue:58 msgid "Upgrade" msgstr "Yükseltme" -#: src/page/about/about.vue:123 src/page/connect.vue:202 -#: src/component/confirm/sponsor.vue:98 src/page/about/about.vue:113 -#: src/page/connect.vue:206 +#: src/page/about/about.vue:124 src/page/connect.vue:204 +#: src/component/confirm/sponsor.vue:99 src/page/about/about.vue:114 +#: src/page/connect.vue:208 msgid "Upgrade Now" msgstr "Şimdi Yükselt" -#: src/component/album/toolbar.vue:108 src/component/navigation.vue:1824 -#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:144 -#: src/component/upload/dialog.vue:51 src/page/albums.vue:183 +#: src/component/album/toolbar.vue:113 src/component/navigation.vue:1860 +#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:145 +#: src/component/upload/dialog.vue:51 src/page/albums.vue:185 #: src/page/labels.vue:122 src/page/library/import.vue:133 #: src/page/settings/general.vue:307 src/page/settings/services.vue:38 msgid "Upload" @@ -3179,21 +3218,21 @@ msgstr "Yükle" msgid "Upload complete" msgstr "Yüklendi" -#: src/component/upload/dialog.vue:133 +#: src/component/upload/dialog.vue:135 msgid "Upload complete. Indexing…" msgstr "Yükleme tamamlandı. İndeksleniyor.." #: src/component/upload/dialog.vue:296 src/component/upload/dialog.vue:315 -#: src/component/upload/dialog.vue:129 +#: src/component/upload/dialog.vue:131 msgid "Upload failed" msgstr "Yükleme başarısız" -#: src/component/service/edit.vue:257 +#: src/component/service/edit.vue:258 msgid "Upload local files" msgstr "Yerel dosyaları yükleme" -#: src/component/user/edit/dialog.vue:380 #: src/component/user/edit/dialog.vue:381 +#: src/component/user/edit/dialog.vue:382 msgid "Upload Path" msgstr "Yükleme Yolu" @@ -3201,7 +3240,7 @@ msgstr "Yükleme Yolu" msgid "Upload to WebDAV and share links with friends." msgstr "WebDAV'a yükleyin ve bağlantıları arkadaşlarınızla paylaşın." -#: src/component/upload/dialog.vue:131 +#: src/component/upload/dialog.vue:133 msgid "Uploading %{n} of %{t}…" msgstr "%{t} içinden %{n} yüklüyor…" @@ -3214,7 +3253,7 @@ msgstr "Fotoğraf yükleniyor.." msgid "Uploading…" msgstr "Yükleniyor…" -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Uploads that may contain such images will be rejected automatically." msgstr "Bu tür görüntüler içerebilecek yüklemeler otomatik olarak reddedilecektir." @@ -3222,7 +3261,7 @@ msgstr "Bu tür görüntüler içerebilecek yüklemeler otomatik olarak reddedil msgid "Use Presets" msgstr "Ön Ayarları Kullan" -#: src/component/settings/passcode.vue:283 +#: src/component/settings/passcode.vue:286 msgid "Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:" msgstr "Kimlik doğrulayıcı uygulamanızla geçerli bir doğrulama kodu oluşturamadığınızda hesabınıza erişmek için aşağıdaki kurtarma kodunu kullanın:" @@ -3230,12 +3269,12 @@ msgstr "Kimlik doğrulayıcı uygulamanızla geçerli bir doğrulama kodu oluşt msgid "Use your recovery code or contact an administrator for help." msgstr "Kurtarma kodunuzu kullanın veya yardım için bir yöneticiye başvurun." -#: src/options/admin.js:10 src/page/admin/sessions.vue:59 -#: src/page/admin/sessions.vue:242 src/model/user.js:361 src/options/auth.js:7 +#: src/options/admin.js:14 src/page/admin/sessions.vue:59 +#: src/page/admin/sessions.vue:243 src/model/user.js:361 src/options/auth.js:8 msgid "User" msgstr "Kullanıcı" -#: src/component/navigation.vue:1979 +#: src/component/navigation.vue:2025 msgid "User Guide" msgstr "Kullanıcı rehberi" @@ -3243,14 +3282,14 @@ msgstr "Kullanıcı rehberi" msgid "User Interface" msgstr "Kullanıcı arayüzü" -#: src/component/user/add/dialog.vue:87 src/component/user/add/dialog.vue:88 -#: src/page/admin/sessions.vue:220 src/page/admin/users.vue:71 -#: src/component/service/add.vue:85 src/component/service/edit.vue:337 +#: src/component/user/add/dialog.vue:88 src/component/user/add/dialog.vue:89 +#: src/page/admin/sessions.vue:221 src/page/admin/users.vue:73 +#: src/component/service/add.vue:86 src/component/service/edit.vue:338 #: src/component/share/dialog.vue:26 msgid "Username" msgstr "Kullanıcı Adı" -#: src/component/navigation.vue:1435 +#: src/component/navigation.vue:1461 msgid "Users" msgstr "Kullanıcılar" @@ -3260,18 +3299,18 @@ msgstr "Kullanıcılar" msgid "Vector" msgstr "Vektör" -#: src/component/navigation.vue:440 +#: src/component/navigation.vue:442 msgid "Vectors" msgstr "Vektörler" -#: src/component/settings/passcode.vue:227 src/page/auth/login.vue:144 +#: src/component/settings/passcode.vue:230 src/page/auth/login.vue:144 msgid "Verification Code" msgstr "Doğrulama kodu" #: src/component/photo/view/cards.vue:363 #: src/component/photo/view/cards.vue:491 src/component/photo/view/list.vue:190 #: src/component/photo/view/mosaic.vue:207 src/model/file.js:221 -#: src/model/photo.js:921 src/model/photo.js:939 src/options/options.js:293 +#: src/model/photo.js:958 src/model/photo.js:976 src/options/options.js:293 msgid "Video" msgstr "Video" @@ -3280,12 +3319,12 @@ msgstr "Video" msgid "Video Duration" msgstr "Video Süresi" -#: src/app/routes.js:243 src/component/navigation.vue:728 +#: src/app/routes.js:251 src/component/navigation.vue:734 #: src/options/options.js:200 msgid "Videos" msgstr "Videolar" -#: src/component/photo/toolbar.vue:261 src/component/photo/view/cards.vue:350 +#: src/component/photo/toolbar.vue:263 src/component/photo/view/cards.vue:350 #: src/component/photo/view/mosaic.vue:194 msgid "View" msgstr "Görünüm" @@ -3294,11 +3333,11 @@ msgstr "Görünüm" msgid "View search results as a list." msgstr "Arama sonuçlarını liste olarak görüntüleyin." -#: src/options/admin.js:14 src/options/auth.js:8 +#: src/options/admin.js:18 src/options/auth.js:9 msgid "Viewer" msgstr "Görüntüleyici" -#: src/page/admin/sessions.vue:271 src/options/auth.js:12 +#: src/page/admin/sessions.vue:272 src/options/auth.js:13 msgid "Visitor" msgstr "Ziyaretçi" @@ -3310,34 +3349,34 @@ msgstr "Görsel Benzerlik" msgid "Warning" msgstr "Uyarı" -#: src/page/about/feedback.vue:60 +#: src/page/about/feedback.vue:61 msgid "We appreciate your feedback!" msgstr "Görüşleriniz için teşekkür ederiz!" -#: src/page/about/feedback.vue:63 +#: src/page/about/feedback.vue:64 msgid "We do our best to respond within five business days or less." msgstr "Beş iş günü veya daha kısa bir süre içinde yanıt vermek için elimizden geleni yapıyoruz." -#: src/component/user/add/dialog.vue:235 src/component/user/edit/dialog.vue:415 -#: src/page/admin/users.vue:80 +#: src/component/user/add/dialog.vue:236 src/component/user/edit/dialog.vue:416 +#: src/page/admin/users.vue:82 msgid "Web Login" msgstr "Web Girişi" -#: src/component/user/add/dialog.vue:248 src/component/user/edit/dialog.vue:432 -#: src/page/admin/users.vue:82 src/options/auth.js:55 src/options/auth.js:68 +#: src/component/user/add/dialog.vue:249 src/component/user/edit/dialog.vue:433 +#: src/page/admin/users.vue:84 src/options/auth.js:56 src/options/auth.js:69 #: src/options/options.js:444 msgid "WebDAV" msgstr "WebDAV" -#: src/component/settings/webdav.vue:51 +#: src/component/settings/webdav.vue:52 msgid "WebDAV clients can connect to PhotoPrism using the following URL:" msgstr "WebDAV istemcileri aşağıdaki URL'yi kullanarak PhotoPrism'e bağlanabilir:" -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism." msgstr "Microsoft'un Windows Gezgini veya Apple'ın Finder'ı gibi WebDAV istemcileri, PhotoPrism'e doğrudan bağlanabilir." -#: src/component/service/upload.vue:50 src/component/share/dialog.vue:220 +#: src/component/service/upload.vue:51 src/component/share/dialog.vue:220 msgid "WebDAV Upload" msgstr "WebDAV Yükleme" @@ -3345,8 +3384,8 @@ msgstr "WebDAV Yükleme" msgid "WebGL support is disabled in your browser" msgstr "Tarayıcınızda WebGL desteği devre dışı bırakılmış" -#: src/page/settings/account.vue:615 src/page/settings/account.vue:709 -#: src/page/settings/account.vue:601 +#: src/page/settings/account.vue:621 src/page/settings/account.vue:715 +#: src/page/settings/account.vue:607 msgid "Website" msgstr "Website" @@ -3354,12 +3393,12 @@ msgstr "Website" msgid "White" msgstr "Beyaz" -#: src/page/settings/account.vue:532 +#: src/page/settings/account.vue:538 msgid "Work Details" msgstr "İş Detayları" -#: src/page/settings/account.vue:500 src/component/photo/edit/details.vue:163 -#: src/component/photo/toolbar.vue:315 src/page/albums.vue:159 +#: src/page/settings/account.vue:506 src/component/photo/edit/details.vue:165 +#: src/component/photo/toolbar.vue:317 src/page/albums.vue:159 msgid "Year" msgstr "Yıl" @@ -3367,21 +3406,21 @@ msgstr "Yıl" msgid "Yellow" msgstr "Sarı" -#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:58 -#: src/component/photo/archive/dialog.vue:58 +#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:59 +#: src/component/photo/archive/dialog.vue:59 #: src/component/photo/clipboard.vue:200 src/component/photo/edit/files.vue:365 #: src/component/photo/edit/files.vue:395 #: src/component/photo/edit/files.vue:401 #: src/component/photo/edit/files.vue:407 -#: src/component/photo/edit/files.vue:510 src/component/photo/edit/info.vue:281 +#: src/component/photo/edit/files.vue:512 src/component/photo/edit/info.vue:281 #: src/component/photo/edit/info.vue:297 src/component/photo/edit/info.vue:313 #: src/component/photo/edit/info.vue:329 src/component/photo/edit/info.vue:344 -#: src/component/photo/toolbar.vue:434 +#: src/component/photo/toolbar.vue:436 msgid "Yes" msgstr "Evet" -#: src/component/confirm/sponsor.vue:59 src/page/about/about.vue:158 -#: src/page/connect.vue:315 +#: src/component/confirm/sponsor.vue:60 src/page/about/about.vue:160 +#: src/page/connect.vue:317 msgid "You are welcome to contact us at membership@photoprism.app for questions regarding your membership." msgstr "Üyeliğinizle ilgili sorularınız için membership@photoprism.app adresinden bizimle iletişime geçebilirsiniz." @@ -3393,7 +3432,11 @@ msgstr "Yalnızca bir albüm indirebilirsiniz" msgid "You can only download one label" msgstr "Yalnızca bir etiket indirebilirsiniz" -#: src/component/upload/dialog.vue:203 +#: src/component/location/dialog.vue:178 +msgid "You can search for a location or move the marker on the map to change the position:" +msgstr "Bir konumu arayabilir veya konumu değiştirmek için işaretçiyi harita üzerinde hareket ettirebilirsiniz:" + +#: src/component/upload/dialog.vue:205 msgid "You can upload up to %{n} files for test purposes." msgstr "Test amacıyla %{n} adede kadar dosya yükleyebilirsiniz." @@ -3406,7 +3449,7 @@ msgstr "Yalnızca bir öğe seçebilirsiniz" msgid "You may rescan your library to find additional faces." msgstr "Başka yüzler bulmak için kütüphanenizi yeniden tarayabilirsiniz." -#: src/page/connect.vue:146 src/page/connect.vue:150 +#: src/page/connect.vue:147 src/page/connect.vue:151 msgid "Your account has been successfully connected." msgstr "Hesabınız başarıyla bağlandı." @@ -3414,8 +3457,8 @@ msgstr "Hesabınız başarıyla bağlandı." msgid "Your browser does not support WebGL" msgstr "Tarayıcınız WebGL'yi desteklemiyor" -#: src/component/confirm/sponsor.vue:43 src/page/about/about.vue:97 -#: src/page/about/about.vue:156 src/page/connect.vue:220 +#: src/component/confirm/sponsor.vue:44 src/page/about/about.vue:98 +#: src/page/about/about.vue:158 src/page/connect.vue:222 msgid "Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy." msgstr "Devam eden desteğiniz düzenli güncellemeler sağlamamıza ve bağımsız kalmamıza yardımcı olur, böylece misyonumuzu yerine getirebilir ve gizliliğinizi koruyabiliriz." @@ -3496,9 +3539,6 @@ msgstr "Yakınlaştır / uzaklaştır" #~ msgid "Open Folder" #~ msgstr "Klasörü Aç" -#~ msgid "Cannot copy to clipboard" -#~ msgstr "Panoya kopyalanamıyor" - #~ msgid "Sound" #~ msgstr "Ses" diff --git a/frontend/src/locales/translations.pot b/frontend/src/locales/translations.pot index 6c92a131c..85b3f3f80 100644 --- a/frontend/src/locales/translations.pot +++ b/frontend/src/locales/translations.pot @@ -33,7 +33,7 @@ msgstr "" msgid "{0}-{1} of {2}" msgstr "" -#: src/page/albums.vue:612 +#: src/page/albums.vue:617 msgid "%{n} albums found" msgstr "" @@ -41,28 +41,28 @@ msgstr "" msgid "%{n} files uploaded" msgstr "" -#: src/page/library/browse.vue:362 +#: src/page/library/browse.vue:364 msgid "%{n} folders found" msgstr "" -#: src/component/navigation.vue:1676 +#: src/component/navigation.vue:1707 msgid "%{n} GB of %{q} GB used" msgstr "" -#: src/page/labels.vue:528 +#: src/page/labels.vue:533 msgid "%{n} labels found" msgstr "" #: src/page/people/new.vue:350 -#: src/page/people/new.vue:447 -#: src/page/people/recognized.vue:536 +#: src/page/people/new.vue:450 +#: src/page/people/recognized.vue:541 msgid "%{n} people found" msgstr "" -#: src/page/album/photos.vue:308 -#: src/page/album/photos.vue:493 -#: src/page/photos.vue:441 -#: src/page/photos.vue:631 +#: src/page/album/photos.vue:313 +#: src/page/album/photos.vue:504 +#: src/page/photos.vue:446 +#: src/page/photos.vue:641 msgid "%{n} pictures found" msgstr "" @@ -84,15 +84,15 @@ msgstr "" msgid "12 hours" msgstr "" -#: src/component/user/edit/dialog.vue:452 -#: src/page/settings/account.vue:324 -#: src/component/settings/passcode.vue:75 -#: src/page/settings/account.vue:324 +#: src/component/user/edit/dialog.vue:453 +#: src/page/settings/account.vue:325 +#: src/component/settings/passcode.vue:78 +#: src/page/settings/account.vue:325 msgid "2-Factor Authentication" msgstr "" -#: src/component/user/edit/dialog.vue:451 -#: src/options/auth.js:46 +#: src/component/user/edit/dialog.vue:452 +#: src/options/auth.js:47 msgid "2FA" msgstr "" @@ -108,27 +108,27 @@ msgstr "" msgid "A new version of %{s} is available:" msgstr "" -#: src/component/user/edit/dialog.vue:233 #: src/component/user/edit/dialog.vue:234 +#: src/component/user/edit/dialog.vue:235 #: src/page/about/about.vue:56 #: src/page/settings/account.vue:248 #: src/page/settings/account.vue:249 #: src/app/routes.js:63 -#: src/component/navigation.vue:1521 -#: src/page/people/recognized.vue:292 +#: src/component/navigation.vue:1547 +#: src/page/people/recognized.vue:296 #: src/page/settings/account.vue:248 #: src/page/settings/account.vue:249 msgid "About" msgstr "" -#: src/options/auth.js:26 -#: src/options/auth.js:44 +#: src/options/auth.js:27 +#: src/options/auth.js:45 msgid "Access Token" msgstr "" #: src/component/navigation.vue:87 -#: src/component/navigation.vue:1788 -#: src/component/service/upload.vue:71 +#: src/component/navigation.vue:1822 +#: src/component/service/upload.vue:72 #: src/model/service.js:96 #: src/model/user.js:171 #: src/page/settings.vue:85 @@ -146,7 +146,7 @@ msgstr "" msgid "Account deleted" msgstr "" -#: src/page/admin/users.vue:335 +#: src/page/admin/users.vue:337 msgid "Account restored" msgstr "" @@ -167,9 +167,9 @@ msgstr "" msgid "Actions" msgstr "" -#: src/page/connect.vue:294 -#: src/component/settings/passcode.vue:346 -#: src/page/connect.vue:303 +#: src/page/connect.vue:296 +#: src/component/settings/passcode.vue:349 +#: src/page/connect.vue:305 msgid "Activate" msgstr "" @@ -185,24 +185,24 @@ msgstr "" msgid "Activate to sort descending." msgstr "" -#: src/page/connect.vue:231 -#: src/page/connect.vue:240 +#: src/page/connect.vue:233 +#: src/page/connect.vue:242 msgid "Activation Code" msgstr "" #: src/component/user/add/dialog.vue:28 -#: src/page/admin/users.vue:83 -#: src/component/settings/apps.vue:448 +#: src/page/admin/users.vue:92 +#: src/component/settings/apps.vue:451 msgid "Add" msgstr "" -#: src/component/photo/edit/people.vue:162 -#: src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 +#: src/page/people/new.vue:246 msgid "Add %{s}?" msgstr "" -#: src/component/user/add/dialog.vue:56 -#: src/component/service/add.vue:49 +#: src/component/user/add/dialog.vue:57 +#: src/component/service/add.vue:50 msgid "Add Account" msgstr "" @@ -220,9 +220,9 @@ msgid "Add Link" msgstr "" #: src/component/photo/edit/people.vue:25 -#: src/component/photo/edit/people.vue:162 +#: src/component/photo/edit/people.vue:164 #: src/page/people/new.vue:57 -#: src/page/people/new.vue:244 +#: src/page/people/new.vue:246 msgid "Add person?" msgstr "" @@ -240,10 +240,16 @@ msgstr "" msgid "Add to album" msgstr "" -#: src/component/photo/edit/files.vue:514 +#: src/component/photo/edit/files.vue:516 msgid "Added" msgstr "" +#: src/component/location/dialog.vue:68 +#: src/component/location/dialog.vue:90 +#: src/component/photo/edit/details.vue:246 +msgid "Adjust Location" +msgstr "" + #: src/options/admin.js:6 #: src/options/auth.js:6 msgid "Admin" @@ -265,7 +271,7 @@ msgstr "" msgid "After 7 days" msgstr "" -#: src/component/settings/passcode.vue:93 +#: src/component/settings/passcode.vue:96 msgid "After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:" msgstr "" @@ -297,14 +303,18 @@ msgstr "" msgid "Album Backups" msgstr "" -#: src/page/albums.vue:674 +#: src/page/albums.vue:685 msgid "Album created" msgstr "" -#: src/app/routes.js:176 -#: src/component/album/toolbar.vue:51 -#: src/component/navigation.vue:604 -#: src/component/navigation.vue:1882 +#: src/page/album/photos.vue:589 +msgid "Album deleted" +msgstr "" + +#: src/app/routes.js:184 +#: src/component/album/toolbar.vue:55 +#: src/component/navigation.vue:607 +#: src/component/navigation.vue:1922 #: src/component/photo/edit/info.vue:220 #: src/options/options.js:198 msgid "Albums" @@ -319,7 +329,7 @@ msgstr "" msgid "All" msgstr "" -#: src/page/albums.vue:465 +#: src/page/albums.vue:470 msgid "All %{n} albums loaded" msgstr "" @@ -336,9 +346,9 @@ msgid "All Cameras" msgstr "" #: src/component/photo/toolbar.vue:74 -#: src/page/albums.vue:44 -#: src/page/albums.vue:240 -#: src/page/albums.vue:746 +#: src/page/albums.vue:45 +#: src/page/albums.vue:242 +#: src/page/albums.vue:757 msgid "All Categories" msgstr "" @@ -372,7 +382,7 @@ msgid "All originals" msgstr "" #: src/component/photo/toolbar.vue:76 -#: src/page/albums.vue:93 +#: src/page/albums.vue:94 msgid "All Years" msgstr "" @@ -384,7 +394,7 @@ msgstr "" msgid "Altitude" msgstr "" -#: src/component/photo/edit/details.vue:272 +#: src/component/photo/edit/details.vue:297 msgid "Altitude (m)" msgstr "" @@ -392,8 +402,7 @@ msgstr "" msgid "AM" msgstr "" -#: src/app/routes.js:257 -#: src/component/navigation.vue:791 +#: src/app/routes.js:265 #: src/component/photo/edit/files.vue:364 #: src/component/photo/view/cards.vue:327 #: src/component/photo/view/cards.vue:511 @@ -407,50 +416,54 @@ msgstr "" msgid "Animation" msgstr "" +#: src/component/navigation.vue:797 +msgid "Animations" +msgstr "" + #: src/component/share/dialog.vue:207 msgid "Any private photos and videos remain private and won't be shared." msgstr "" -#: src/component/service/edit.vue:372 +#: src/component/service/edit.vue:373 msgid "API Key" msgstr "" -#: src/page/admin/sessions.vue:357 -#: src/options/auth.js:25 +#: src/page/admin/sessions.vue:361 +#: src/options/auth.js:26 msgid "Application" msgstr "" -#: src/component/photo/edit/details.vue:641 +#: src/component/photo/edit/details.vue:615 msgid "Apply" msgstr "" #: src/component/photo/clipboard.vue:64 -#: src/component/photo/edit/details.vue:640 +#: src/component/photo/edit/details.vue:614 #: src/component/photo/view/cards.vue:416 msgid "Approve" msgstr "" -#: src/page/settings/account.vue:374 -#: src/component/settings/apps.vue:91 -#: src/page/settings/account.vue:374 +#: src/page/settings/account.vue:378 +#: src/component/settings/apps.vue:94 +#: src/page/settings/account.vue:378 msgid "Apps and Devices" msgstr "" -#: src/app/routes.js:287 +#: src/app/routes.js:295 #: src/component/lightbox.vue:1207 -#: src/component/navigation.vue:555 +#: src/component/navigation.vue:557 #: src/component/photo/clipboard.vue:142 #: src/component/photo/view/cards.vue:398 #: src/page/settings/general.vue:432 msgid "Archive" msgstr "" -#: src/component/lightbox.vue:1982 +#: src/component/lightbox.vue:2002 #: src/component/photo/edit/info.vue:433 msgid "Archived" msgstr "" -#: src/component/photo/archive/dialog.vue:34 +#: src/component/photo/archive/dialog.vue:35 msgid "Are you sure you want to archive the selection?" msgstr "" @@ -458,20 +471,24 @@ msgstr "" msgid "Are you sure you want to delete these albums?" msgstr "" -#: src/component/label/delete/dialog.vue:34 +#: src/component/label/delete/dialog.vue:35 msgid "Are you sure you want to delete these labels?" msgstr "" #: src/component/user/remove/dialog.vue:32 -#: src/component/service/remove.vue:36 +#: src/component/service/remove.vue:37 msgid "Are you sure you want to delete this account?" msgstr "" +#: src/component/album/toolbar.vue:136 +msgid "Are you sure you want to delete this album?" +msgstr "" + #: src/component/photo/clipboard.vue:199 msgid "Are you sure you want to permanently delete these pictures?" msgstr "" -#: src/component/file/delete/dialog.vue:34 +#: src/component/file/delete/dialog.vue:35 msgid "Are you sure you want to permanently delete this file?" msgstr "" @@ -480,7 +497,7 @@ msgstr "" msgid "Are you sure?" msgstr "" -#: src/component/photo/edit/details.vue:537 +#: src/component/photo/edit/details.vue:511 msgid "Artist" msgstr "" @@ -488,17 +505,17 @@ msgstr "" msgid "Aspect Ratio" msgstr "" -#: src/app/routes.js:250 -#: src/component/navigation.vue:770 +#: src/app/routes.js:258 +#: src/component/navigation.vue:776 #: src/options/options.js:297 msgid "Audio" msgstr "" -#: src/component/user/add/dialog.vue:190 -#: src/component/user/edit/dialog.vue:309 +#: src/component/user/add/dialog.vue:191 +#: src/component/user/edit/dialog.vue:310 #: src/page/admin/sessions.vue:60 -#: src/page/admin/sessions.vue:281 -#: src/page/admin/users.vue:75 +#: src/page/admin/sessions.vue:282 +#: src/page/admin/users.vue:77 msgid "Authentication" msgstr "" @@ -506,11 +523,11 @@ msgstr "" msgid "Auto" msgstr "" -#: src/component/settings/apps.vue:151 +#: src/component/settings/apps.vue:154 msgid "Back" msgstr "" -#: src/component/scroll.vue:20 +#: src/component/scroll.vue:18 msgid "Back to top" msgstr "" @@ -522,23 +539,23 @@ msgstr "" msgid "Badge" msgstr "" -#: src/component/user/edit/dialog.vue:361 #: src/component/user/edit/dialog.vue:362 +#: src/component/user/edit/dialog.vue:363 msgid "Base Path" msgstr "" -#: src/page/about/about.vue:95 -#: src/page/connect.vue:220 +#: src/page/about/about.vue:96 +#: src/page/connect.vue:222 msgid "Become a member today, support our mission and enjoy our member benefits!" msgstr "" -#: src/component/confirm/sponsor.vue:51 -#: src/page/about/about.vue:99 +#: src/component/confirm/sponsor.vue:52 +#: src/page/about/about.vue:100 msgid "Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services." msgstr "" -#: src/component/user/edit/dialog.vue:258 #: src/component/user/edit/dialog.vue:259 +#: src/component/user/edit/dialog.vue:260 #: src/page/settings/account.vue:227 #: src/page/settings/account.vue:228 #: src/page/settings/account.vue:227 @@ -546,8 +563,8 @@ msgstr "" msgid "Bio" msgstr "" -#: src/page/settings/account.vue:431 -#: src/page/settings/account.vue:431 +#: src/page/settings/account.vue:437 +#: src/page/settings/account.vue:437 msgid "Birth Date" msgstr "" @@ -569,7 +586,7 @@ msgstr "" #: src/component/photo/edit/files.vue:263 #: src/component/photo/toolbar.vue:141 -#: src/component/upload/dialog.vue:240 +#: src/component/upload/dialog.vue:242 msgid "Browse" msgstr "" @@ -600,19 +617,19 @@ msgstr "" msgid "Busy, please wait…" msgstr "" -#: src/page/connect.vue:317 +#: src/page/connect.vue:319 msgid "By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct." msgstr "" -#: src/app/routes.js:189 -#: src/component/navigation.vue:1081 +#: src/app/routes.js:197 +#: src/component/navigation.vue:1097 #: src/options/options.js:204 #: src/page/settings/general.vue:205 msgid "Calendar" msgstr "" -#: src/component/photo/edit/details.vue:346 -#: src/component/photo/toolbar.vue:232 +#: src/component/photo/edit/details.vue:320 +#: src/component/photo/toolbar.vue:234 #: src/component/photo/view/cards.vue:467 #: src/component/photo/view/list.vue:116 msgid "Camera" @@ -626,15 +643,15 @@ msgstr "" msgid "Can't access your authenticator app or device?" msgstr "" -#: src/page/album/photos.vue:317 -#: src/page/photos.vue:450 +#: src/page/album/photos.vue:322 +#: src/page/photos.vue:455 msgid "Can't load more, limit reached" msgstr "" #: src/common/clipboard.js:102 #: src/common/clipboard.js:139 -#: src/page/albums.vue:684 -#: src/page/albums.vue:700 +#: src/page/albums.vue:695 +#: src/page/albums.vue:711 #: src/page/labels.vue:293 #: src/page/labels.vue:313 #: src/page/library/browse.vue:233 @@ -648,36 +665,42 @@ msgstr "" #: src/component/session/remove/dialog.vue:45 #: src/component/user/add/dialog.vue:27 -#: src/component/user/edit/dialog.vue:473 +#: src/component/user/edit/dialog.vue:474 #: src/component/user/remove/dialog.vue:45 -#: src/page/connect.vue:119 +#: src/page/connect.vue:120 #: src/component/album/delete/dialog.vue:43 -#: src/component/album/edit/dialog.vue:199 +#: src/component/album/edit/dialog.vue:200 #: src/component/confirm/dialog.vue:43 -#: src/component/file/delete/dialog.vue:47 -#: src/component/label/delete/dialog.vue:47 -#: src/component/label/edit/dialog.vue:107 -#: src/component/people/edit/dialog.vue:120 +#: src/component/file/delete/dialog.vue:48 +#: src/component/label/delete/dialog.vue:48 +#: src/component/label/edit/dialog.vue:108 +#: src/component/location/dialog.vue:200 +#: src/component/people/edit/dialog.vue:121 #: src/component/photo/album/dialog.vue:78 #: src/component/service/add.vue:19 -#: src/component/service/edit.vue:455 -#: src/component/service/remove.vue:49 -#: src/component/service/upload.vue:117 -#: src/component/settings/apps.vue:352 -#: src/component/settings/passcode.vue:249 -#: src/component/settings/passcode.vue:333 -#: src/component/settings/password.vue:159 +#: src/component/service/edit.vue:456 +#: src/component/service/remove.vue:50 +#: src/component/service/upload.vue:118 +#: src/component/settings/apps.vue:355 +#: src/component/settings/passcode.vue:252 +#: src/component/settings/passcode.vue:336 +#: src/component/settings/password.vue:160 #: src/component/share/dialog.vue:28 #: src/locales.js:210 #: src/page/auth/login.vue:232 -#: src/page/connect.vue:123 +#: src/page/connect.vue:124 #: src/page/library/import.vue:119 #: src/page/library/index.vue:128 msgid "Cancel" msgstr "" -#: src/component/photo/edit/details.vue:87 -#: src/component/photo/edit/info.vue:61 +#: src/common/util.js:863 +#: src/common/util.js:870 +msgid "Cannot copy to clipboard" +msgstr "" + +#: src/component/photo/edit/details.vue:89 +#: src/component/photo/edit/info.vue:63 #: src/component/photo/edit/labels.vue:42 #: src/component/photo/view/cards.vue:445 #: src/component/sidebar/info.vue:72 @@ -693,24 +716,24 @@ msgstr "" msgid "Carousel slide {0} of {1}" msgstr "" -#: src/page/about/feedback.vue:82 #: src/page/about/feedback.vue:83 -#: src/component/album/edit/dialog.vue:128 -#: src/component/photo/toolbar.vue:397 -#: src/page/about/feedback.vue:82 +#: src/page/about/feedback.vue:84 +#: src/component/album/edit/dialog.vue:129 +#: src/component/photo/toolbar.vue:399 #: src/page/about/feedback.vue:83 +#: src/page/about/feedback.vue:84 #: src/page/albums.vue:187 msgid "Category" msgstr "" -#: src/component/user/edit/dialog.vue:191 +#: src/component/user/edit/dialog.vue:192 #: src/page/settings/account.vue:201 #: src/page/settings/account.vue:201 msgid "Change Avatar" msgstr "" #: src/page/settings/account.vue:297 -#: src/component/settings/password.vue:48 +#: src/component/settings/password.vue:49 #: src/page/settings/account.vue:297 msgid "Change Password" msgstr "" @@ -729,8 +752,8 @@ msgstr "" #: src/component/user/add/dialog.vue:108 #: src/component/user/add/dialog.vue:113 -#: src/component/user/edit/dialog.vue:90 -#: src/component/user/edit/dialog.vue:95 +#: src/component/user/edit/dialog.vue:91 +#: src/component/user/edit/dialog.vue:96 #: src/page/settings/account.vue:121 #: src/page/settings/account.vue:126 #: src/page/settings/account.vue:121 @@ -738,16 +761,16 @@ msgstr "" msgid "Changes could not be saved" msgstr "" -#: src/component/user/edit/dialog.vue:83 -#: src/component/user/edit/dialog.vue:159 +#: src/component/user/edit/dialog.vue:84 +#: src/component/user/edit/dialog.vue:160 #: src/component/album/edit/dialog.vue:73 #: src/component/label/edit/dialog.vue:46 -#: src/component/lightbox.vue:1941 +#: src/component/lightbox.vue:1961 #: src/component/photo/edit/files.vue:162 #: src/component/service/edit.vue:90 #: src/component/share/dialog.vue:92 #: src/component/share/dialog.vue:111 -#: src/page/albums.vue:677 +#: src/page/albums.vue:688 #: src/page/people/recognized.vue:119 #: src/page/settings/advanced.vue:62 #: src/page/settings/content.vue:62 @@ -763,7 +786,7 @@ msgstr "" msgid "Checked" msgstr "" -#: src/component/photo/edit/files.vue:495 +#: src/component/photo/edit/files.vue:497 msgid "Chroma" msgstr "" @@ -779,32 +802,33 @@ msgstr "" msgid "Clear {0}" msgstr "" -#: src/options/auth.js:11 -#: src/options/auth.js:23 -#: src/options/auth.js:43 +#: src/options/auth.js:12 +#: src/options/auth.js:24 +#: src/options/auth.js:44 msgid "Client" msgstr "" -#: src/options/auth.js:24 +#: src/options/auth.js:25 msgid "Client Credentials" msgstr "" -#: src/page/admin/sessions.vue:529 +#: src/component/user/edit/dialog.vue:474 +#: src/page/admin/sessions.vue:536 #: src/component/lightbox.vue:284 #: src/component/lightbox.vue:1009 #: src/component/lightbox.vue:1010 -#: src/component/photo/edit/details.vue:627 -#: src/component/photo/toolbar.vue:160 -#: src/component/settings/apps.vue:224 -#: src/component/settings/apps.vue:437 -#: src/component/settings/passcode.vue:148 -#: src/component/settings/passcode.vue:456 -#: src/component/settings/passcode.vue:497 -#: src/component/settings/webdav.vue:131 +#: src/component/photo/edit/details.vue:601 +#: src/component/photo/toolbar.vue:161 +#: src/component/settings/apps.vue:227 +#: src/component/settings/apps.vue:440 +#: src/component/settings/passcode.vue:151 +#: src/component/settings/passcode.vue:459 +#: src/component/settings/passcode.vue:500 +#: src/component/settings/webdav.vue:132 #: src/component/share/dialog.vue:231 #: src/component/sidebar/info.vue:26 #: src/component/update.vue:57 -#: src/component/upload/dialog.vue:228 +#: src/component/upload/dialog.vue:230 #: src/locales.js:206 #: src/page/library/errors.vue:253 msgid "Close" @@ -814,11 +838,11 @@ msgstr "" msgid "Codec" msgstr "" -#: src/component/photo/toolbar.vue:369 +#: src/component/photo/toolbar.vue:371 msgid "Color" msgstr "" -#: src/component/photo/edit/files.vue:483 +#: src/component/photo/edit/files.vue:485 msgid "Color Profile" msgstr "" @@ -826,8 +850,8 @@ msgstr "" msgid "Colors" msgstr "" -#: src/page/connect.vue:260 -#: src/page/connect.vue:269 +#: src/page/connect.vue:262 +#: src/page/connect.vue:271 msgid "Compare Editions" msgstr "" @@ -840,20 +864,21 @@ msgstr "" msgid "Confidence" msgstr "" +#: src/component/location/dialog.vue:212 #: src/component/photo/album/dialog.vue:90 -#: src/component/settings/passcode.vue:261 +#: src/component/settings/passcode.vue:264 msgid "Confirm" msgstr "" #: src/component/service/add.vue:20 -#: src/page/settings/services.vue:187 +#: src/page/settings/services.vue:191 msgid "Connect" msgstr "" -#: src/page/settings/account.vue:401 -#: src/component/settings/webdav.vue:45 -#: src/page/settings/account.vue:401 -#: src/page/settings/services.vue:167 +#: src/page/settings/account.vue:406 +#: src/component/settings/webdav.vue:46 +#: src/page/settings/account.vue:406 +#: src/page/settings/services.vue:170 msgid "Connect via WebDAV" msgstr "" @@ -862,27 +887,27 @@ msgstr "" msgid "Connected" msgstr "" -#: src/page/settings/account.vue:640 -#: src/page/settings/account.vue:532 +#: src/page/settings/account.vue:646 +#: src/page/settings/account.vue:538 msgid "Contact Details" msgstr "" #: src/page/about/feedback.vue:37 -#: src/page/connect.vue:132 +#: src/page/connect.vue:133 #: src/page/about/feedback.vue:37 -#: src/page/connect.vue:136 +#: src/page/connect.vue:137 msgid "Contact Us" msgstr "" #: src/page/albums.vue:433 #: src/page/labels.vue:237 -#: src/page/people/recognized.vue:306 +#: src/page/people/recognized.vue:310 msgid "Contains %{n} pictures." msgstr "" #: src/page/albums.vue:427 #: src/page/labels.vue:231 -#: src/page/people/recognized.vue:300 +#: src/page/people/recognized.vue:304 msgid "Contains one picture." msgstr "" @@ -890,7 +915,7 @@ msgstr "" msgid "Content" msgstr "" -#: src/component/settings/apps.vue:163 +#: src/component/settings/apps.vue:166 msgid "Continue" msgstr "" @@ -898,8 +923,8 @@ msgstr "" msgid "Continue with %{provider}" msgstr "" -#: src/options/admin.js:18 -#: src/options/auth.js:9 +#: src/options/admin.js:22 +#: src/options/auth.js:10 msgid "Contributor" msgstr "" @@ -907,16 +932,16 @@ msgstr "" msgid "Converting" msgstr "" -#: src/common/util.js:846 +#: src/common/util.js:856 msgid "Copied to clipboard" msgstr "" -#: src/component/settings/apps.vue:250 -#: src/component/settings/passcode.vue:358 +#: src/component/settings/apps.vue:253 +#: src/component/settings/passcode.vue:361 msgid "Copy" msgstr "" -#: src/component/photo/edit/details.vue:516 +#: src/component/photo/edit/details.vue:490 msgid "Copyright" msgstr "" @@ -924,10 +949,10 @@ msgstr "" msgid "Couldn't find anything." msgstr "" -#: src/page/settings/account.vue:685 -#: src/component/photo/edit/details.vue:242 -#: src/component/photo/toolbar.vue:203 -#: src/page/settings/account.vue:577 +#: src/page/settings/account.vue:691 +#: src/component/photo/edit/details.vue:268 +#: src/component/photo/toolbar.vue:205 +#: src/page/settings/account.vue:583 msgid "Country" msgstr "" @@ -951,7 +976,7 @@ msgstr "" msgid "Create YAML sidecar files to back up picture metadata." msgstr "" -#: src/page/admin/sessions.vue:417 +#: src/page/admin/sessions.vue:422 #: src/component/photo/edit/info.vue:412 msgid "Created" msgstr "" @@ -964,12 +989,12 @@ msgstr "" msgid "Cubic: Moderate Quality, Good Performance" msgstr "" -#: src/component/settings/password.vue:85 +#: src/component/settings/password.vue:86 msgid "Current Password" msgstr "" -#: src/options/themes.js:919 -#: src/options/themes.js:928 +#: src/options/themes.js:920 +#: src/options/themes.js:929 msgid "Custom" msgstr "" @@ -985,13 +1010,13 @@ msgstr "" msgid "Database Backups" msgstr "" -#: src/page/settings/account.vue:450 -#: src/component/photo/edit/details.vue:110 -#: src/page/settings/account.vue:450 +#: src/page/settings/account.vue:456 +#: src/component/photo/edit/details.vue:112 +#: src/page/settings/account.vue:456 msgid "Day" msgstr "" -#: src/component/settings/passcode.vue:445 +#: src/component/settings/passcode.vue:448 msgid "Deactivate" msgstr "" @@ -999,25 +1024,25 @@ msgstr "" msgid "Debug Logs" msgstr "" -#: src/options/admin.js:31 +#: src/options/admin.js:35 #: src/page/admin/sessions.vue:136 -#: src/page/admin/users.vue:176 +#: src/page/admin/users.vue:178 #: src/component/photo/edit/info.vue:47 #: src/component/photo/edit/info.vue:110 #: src/model/session.js:66 #: src/model/user.js:246 -#: src/options/auth.js:20 #: src/options/auth.js:21 -#: src/options/auth.js:39 +#: src/options/auth.js:22 #: src/options/auth.js:40 +#: src/options/auth.js:41 #: src/options/options.js:196 #: src/options/options.js:232 #: src/options/options.js:316 -#: src/options/themes.js:773 +#: src/options/themes.js:774 msgid "Default" msgstr "" -#: src/component/service/edit.vue:123 +#: src/component/service/edit.vue:124 msgid "Default Folder" msgstr "" @@ -1025,23 +1050,28 @@ msgstr "" #: src/component/user/remove/dialog.vue:56 #: src/component/album/clipboard.vue:97 #: src/component/album/delete/dialog.vue:54 -#: src/component/file/delete/dialog.vue:58 +#: src/component/album/toolbar.vue:137 +#: src/component/file/delete/dialog.vue:59 #: src/component/label/clipboard.vue:58 -#: src/component/label/delete/dialog.vue:58 +#: src/component/label/delete/dialog.vue:59 #: src/component/photo/clipboard.vue:168 #: src/component/photo/edit/files.vue:238 -#: src/component/service/remove.vue:60 +#: src/component/service/remove.vue:61 #: src/component/share/dialog.vue:170 #: src/page/settings/general.vue:457 msgid "Delete" msgstr "" +#: src/component/album/toolbar.vue:133 +msgid "Delete Album" +msgstr "" + #: src/component/photo/toolbar.vue:119 #: src/page/library/errors.vue:95 msgid "Delete All" msgstr "" -#: src/component/photo/toolbar.vue:433 +#: src/component/photo/toolbar.vue:435 #: src/page/library/errors.vue:193 msgid "Delete all?" msgstr "" @@ -1050,17 +1080,17 @@ msgstr "" msgid "Delete orphaned index entries, sidecar files and thumbnails." msgstr "" -#: src/component/album/edit/dialog.vue:107 +#: src/component/album/edit/dialog.vue:108 #: src/page/albums.vue:411 msgid "Description" msgstr "" -#: src/component/settings/webdav.vue:115 +#: src/component/settings/webdav.vue:116 msgid "Detailed instructions can be found in our User Guide." msgstr "" -#: src/component/photo/edit/dialog.vue:156 -#: src/component/photo/edit/dialog.vue:173 +#: src/component/photo/edit/dialog.vue:162 +#: src/component/photo/edit/dialog.vue:181 msgid "Details" msgstr "" @@ -1124,10 +1154,10 @@ msgstr "" msgid "Disables video transcoding and thumbnail extraction." msgstr "" -#: src/app/routes.js:558 -#: src/app/routes.js:565 -#: src/app/routes.js:572 -#: src/app/routes.js:579 +#: src/app/routes.js:566 +#: src/app/routes.js:573 +#: src/app/routes.js:580 +#: src/app/routes.js:587 msgid "Discover" msgstr "" @@ -1135,11 +1165,11 @@ msgstr "" msgid "Dismiss" msgstr "" -#: src/component/user/add/dialog.vue:133 #: src/component/user/add/dialog.vue:134 -#: src/component/user/edit/dialog.vue:163 +#: src/component/user/add/dialog.vue:135 #: src/component/user/edit/dialog.vue:164 -#: src/page/admin/users.vue:72 +#: src/component/user/edit/dialog.vue:165 +#: src/page/admin/users.vue:74 #: src/page/settings/account.vue:149 #: src/page/settings/account.vue:151 #: src/page/settings/account.vue:149 @@ -1158,12 +1188,12 @@ msgstr "" #: src/component/photo/view/cards.vue:339 #: src/component/photo/view/cards.vue:521 #: src/component/photo/view/mosaic.vue:183 -#: src/model/thumb.js:174 +#: src/model/thumb.js:176 #: src/options/options.js:309 msgid "Document" msgstr "" -#: src/component/navigation.vue:480 +#: src/component/navigation.vue:482 msgid "Documents" msgstr "" @@ -1179,19 +1209,19 @@ msgstr "" msgid "Don't use RawTherapee to convert RAW images." msgstr "" -#: src/component/settings/apps.vue:238 +#: src/component/settings/apps.vue:241 #: src/component/share/dialog.vue:29 msgid "Done" msgstr "" -#: src/component/upload/dialog.vue:135 +#: src/component/upload/dialog.vue:137 #: src/page/library/import.vue:46 #: src/page/library/index.vue:52 msgid "Done." msgstr "" #: src/component/album/clipboard.vue:73 -#: src/component/album/toolbar.vue:118 +#: src/component/album/toolbar.vue:123 #: src/component/file/clipboard.vue:48 #: src/component/lightbox.vue:1235 #: src/component/people/clipboard.vue:47 @@ -1206,7 +1236,7 @@ msgstr "" msgid "Download only original media files, without any automatically generated files." msgstr "" -#: src/component/service/edit.vue:237 +#: src/component/service/edit.vue:238 msgid "Download remote files" msgstr "" @@ -1215,10 +1245,10 @@ msgid "Download single files and zip archives." msgstr "" #: src/component/album/clipboard.vue:104 -#: src/component/album/toolbar.vue:157 +#: src/component/album/toolbar.vue:172 #: src/component/file/clipboard.vue:61 #: src/component/label/clipboard.vue:86 -#: src/component/lightbox.vue:2021 +#: src/component/lightbox.vue:2041 #: src/component/people/clipboard.vue:59 #: src/component/photo/clipboard.vue:220 #: src/component/photo/edit/files.vue:119 @@ -1236,8 +1266,8 @@ msgstr "" msgid "Drag and drop files here" msgstr "" -#: src/page/about/feedback.vue:61 -#: src/page/about/feedback.vue:61 +#: src/page/about/feedback.vue:62 +#: src/page/about/feedback.vue:62 msgid "Due to the high volume of emails we receive, our team may be unable to get back to you immediately." msgstr "" @@ -1257,13 +1287,13 @@ msgstr "" msgid "Dynamic Size Limit: %{n}px" msgstr "" +#: src/page/about/feedback.vue:142 #: src/page/about/feedback.vue:141 -#: src/page/about/feedback.vue:140 msgid "E-Mail" msgstr "" #: src/component/album/clipboard.vue:61 -#: src/component/album/toolbar.vue:89 +#: src/component/album/toolbar.vue:94 #: src/component/lightbox.vue:1136 #: src/component/lightbox.vue:1137 #: src/component/photo/clipboard.vue:90 @@ -1271,13 +1301,13 @@ msgstr "" msgid "Edit" msgstr "" -#: src/component/album/edit/dialog.vue:54 -#: src/component/label/edit/dialog.vue:52 -#: src/component/people/edit/dialog.vue:52 +#: src/component/album/edit/dialog.vue:55 +#: src/component/label/edit/dialog.vue:53 +#: src/component/people/edit/dialog.vue:53 msgid "Edit %{s}" msgstr "" -#: src/component/user/edit/dialog.vue:61 +#: src/component/user/edit/dialog.vue:62 #: src/component/service/edit.vue:79 msgid "Edit Account" msgstr "" @@ -1290,10 +1320,10 @@ msgstr "" msgid "Edited" msgstr "" -#: src/component/user/add/dialog.vue:151 -#: src/component/user/edit/dialog.vue:213 +#: src/component/user/add/dialog.vue:152 +#: src/component/user/edit/dialog.vue:214 #: src/page/settings/account.vue:171 -#: src/page/settings/account.vue:593 +#: src/page/settings/account.vue:599 #: src/page/settings/account.vue:171 msgid "Email" msgstr "" @@ -1310,7 +1340,7 @@ msgstr "" msgid "Enables RAW converter presets. May reduce performance." msgstr "" -#: src/component/settings/passcode.vue:127 +#: src/component/settings/passcode.vue:130 msgid "Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account." msgstr "" @@ -1323,7 +1353,7 @@ msgstr "" msgid "Enter dates" msgstr "" -#: src/component/settings/passcode.vue:213 +#: src/component/settings/passcode.vue:216 #: src/page/auth/login.vue:104 msgid "Enter the code generated by your authenticator app:" msgstr "" @@ -1332,7 +1362,7 @@ msgstr "" msgid "Enter verification code" msgstr "" -#: src/component/settings/apps.vue:109 +#: src/component/settings/apps.vue:112 msgid "Enter your password to confirm the action and continue:" msgstr "" @@ -1343,8 +1373,8 @@ msgstr "" msgid "Error" msgstr "" -#: src/app/routes.js:374 -#: src/component/navigation.vue:1348 +#: src/app/routes.js:382 +#: src/component/navigation.vue:1372 msgid "Errors" msgstr "" @@ -1382,15 +1412,15 @@ msgid "Experimental Features" msgstr "" #: src/page/admin/sessions.vue:64 -#: src/page/admin/sessions.vue:453 -#: src/component/service/edit.vue:157 +#: src/page/admin/sessions.vue:458 +#: src/component/service/edit.vue:158 #: src/component/settings/apps.vue:73 -#: src/component/settings/apps.vue:326 +#: src/component/settings/apps.vue:329 #: src/component/share/dialog.vue:62 msgid "Expires" msgstr "" -#: src/component/photo/edit/details.vue:396 +#: src/component/photo/edit/details.vue:370 msgid "Exposure" msgstr "" @@ -1398,7 +1428,7 @@ msgstr "" msgid "Extract still images and generate thumbnails while indexing." msgstr "" -#: src/component/photo/edit/details.vue:444 +#: src/component/photo/edit/details.vue:418 msgid "F Number" msgstr "" @@ -1414,8 +1444,8 @@ msgstr "" msgid "Failed removing link" msgstr "" -#: src/page/connect.vue:106 -#: src/page/connect.vue:110 +#: src/page/connect.vue:107 +#: src/page/connect.vue:111 msgid "Failed to connect account." msgstr "" @@ -1423,8 +1453,8 @@ msgstr "" msgid "Failed updating link" msgstr "" -#: src/component/user/edit/dialog.vue:143 #: src/component/user/edit/dialog.vue:144 +#: src/component/user/edit/dialog.vue:145 #: src/page/settings/account.vue:128 #: src/page/settings/account.vue:130 #: src/page/settings/account.vue:128 @@ -1436,17 +1466,17 @@ msgstr "" msgid "Fast" msgstr "" -#: src/component/album/edit/dialog.vue:159 -#: src/component/label/edit/dialog.vue:85 -#: src/component/people/edit/dialog.vue:85 +#: src/component/album/edit/dialog.vue:160 +#: src/component/label/edit/dialog.vue:86 +#: src/component/people/edit/dialog.vue:86 #: src/component/photo/edit/info.vue:287 msgid "Favorite" msgstr "" -#: src/app/routes.js:222 -#: src/component/navigation.vue:893 +#: src/app/routes.js:230 +#: src/component/navigation.vue:903 #: src/options/options.js:202 -#: src/page/albums.vue:97 +#: src/page/albums.vue:98 msgid "Favorites" msgstr "" @@ -1455,7 +1485,7 @@ msgstr "" msgid "Feature Request" msgstr "" -#: src/component/navigation.vue:1456 +#: src/component/navigation.vue:1482 msgid "Feedback" msgstr "" @@ -1463,12 +1493,13 @@ msgstr "" msgid "Female" msgstr "" +#: src/component/photo/edit/info.vue:57 #: src/component/photo/edit/info.vue:214 #: src/model/file.js:290 msgid "File" msgstr "" -#: src/app/routes.js:343 +#: src/app/routes.js:351 msgid "File Browser" msgstr "" @@ -1495,9 +1526,9 @@ msgstr "" msgid "Filename" msgstr "" -#: src/component/navigation.vue:1930 -#: src/component/photo/edit/dialog.vue:267 -#: src/component/photo/edit/dialog.vue:284 +#: src/component/navigation.vue:1973 +#: src/component/photo/edit/dialog.vue:279 +#: src/component/photo/edit/dialog.vue:298 msgid "Files" msgstr "" @@ -1510,31 +1541,31 @@ msgstr "" msgid "First page" msgstr "" -#: src/component/photo/edit/details.vue:465 +#: src/component/photo/edit/details.vue:439 msgid "Focal Length" msgstr "" #: src/component/photo/edit/info.vue:115 -#: src/component/service/edit.vue:118 -#: src/component/service/edit.vue:189 -#: src/component/service/edit.vue:194 -#: src/component/service/upload.vue:90 -#: src/component/service/upload.vue:96 +#: src/component/service/edit.vue:119 +#: src/component/service/edit.vue:190 +#: src/component/service/edit.vue:195 +#: src/component/service/upload.vue:91 +#: src/component/service/upload.vue:97 #: src/model/folder.js:199 #: src/page/library/browse.vue:182 msgid "Folder" msgstr "" -#: src/page/library/browse.vue:365 +#: src/page/library/browse.vue:367 msgid "Folder contains %{n} files" msgstr "" -#: src/page/library/browse.vue:356 +#: src/page/library/browse.vue:358 msgid "Folder is empty" msgstr "" -#: src/app/routes.js:202 -#: src/component/navigation.vue:1225 +#: src/app/routes.js:210 +#: src/component/navigation.vue:1247 #: src/options/options.js:207 msgid "Folders" msgstr "" @@ -1551,8 +1582,8 @@ msgstr "" msgid "Frames" msgstr "" -#: src/options/auth.js:54 -#: src/options/auth.js:64 +#: src/options/auth.js:55 +#: src/options/auth.js:65 msgid "Full Access" msgstr "" @@ -1565,7 +1596,7 @@ msgstr "" msgid "General" msgstr "" -#: src/component/settings/apps.vue:364 +#: src/component/settings/apps.vue:367 msgid "Generate" msgstr "" @@ -1585,8 +1616,8 @@ msgstr "" msgid "Get Started" msgstr "" -#: src/component/user/edit/dialog.vue:120 #: src/component/user/edit/dialog.vue:121 +#: src/component/user/edit/dialog.vue:122 #: src/page/settings/account.vue:106 #: src/page/settings/account.vue:108 #: src/page/settings/account.vue:106 @@ -1614,8 +1645,8 @@ msgstr "" msgid "Grey" msgstr "" -#: src/options/admin.js:22 -#: src/options/auth.js:10 +#: src/options/admin.js:26 +#: src/options/auth.js:11 msgid "Guest" msgstr "" @@ -1632,17 +1663,17 @@ msgstr "" msgid "Help & Support" msgstr "" -#: src/component/navigation.vue:1327 -#: src/component/people/edit/dialog.vue:98 +#: src/component/navigation.vue:1351 +#: src/component/people/edit/dialog.vue:99 msgid "Hidden" msgstr "" -#: src/app/routes.js:358 +#: src/app/routes.js:366 msgid "Hidden Files" msgstr "" -#: src/page/people/new.vue:165 -#: src/page/people/recognized.vue:205 +#: src/page/people/new.vue:166 +#: src/page/people/recognized.vue:206 msgid "Hide" msgstr "" @@ -1658,8 +1689,8 @@ msgstr "" msgid "High Dynamic Range (HDR)" msgstr "" -#: src/page/about/feedback.vue:103 -#: src/page/about/feedback.vue:103 +#: src/page/about/feedback.vue:104 +#: src/page/about/feedback.vue:104 msgid "How can we help?" msgstr "" @@ -1667,11 +1698,11 @@ msgstr "" msgid "Hybrid" msgstr "" -#: src/component/settings/passcode.vue:389 +#: src/component/settings/passcode.vue:392 msgid "If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account." msgstr "" -#: src/component/photo/edit/info.vue:63 +#: src/component/photo/edit/info.vue:65 #: src/component/photo/edit/labels.vue:46 #: src/component/photo/view/cards.vue:532 #: src/model/file.js:218 @@ -1684,7 +1715,7 @@ msgid "Image Quality" msgstr "" #: src/page/library.vue:46 -#: src/page/library/import.vue:152 +#: src/page/library/import.vue:153 #: src/page/settings/general.vue:357 msgid "Import" msgstr "" @@ -1709,8 +1740,8 @@ msgstr "" msgid "Importing files to originals…" msgstr "" -#: src/component/photo/edit/files.vue:515 -#: src/component/photo/edit/files.vue:520 +#: src/component/photo/edit/files.vue:517 +#: src/component/photo/edit/files.vue:522 msgid "in" msgstr "" @@ -1730,12 +1761,12 @@ msgstr "" msgid "Include sidecar files when downloading stacks and archives." msgstr "" -#: src/component/upload/dialog.vue:137 +#: src/component/upload/dialog.vue:139 #: src/page/library/import.vue:48 msgid "Increase storage size or delete files to continue." msgstr "" -#: src/component/navigation.vue:1946 +#: src/component/navigation.vue:1990 #: src/page/library.vue:36 #: src/page/settings/content.vue:34 msgid "Index" @@ -1768,12 +1799,12 @@ msgstr "" msgid "Instance ID" msgstr "" -#: src/component/upload/dialog.vue:137 +#: src/component/upload/dialog.vue:139 #: src/page/library/import.vue:48 msgid "Insufficient storage." msgstr "" -#: src/component/service/edit.vue:209 +#: src/component/service/edit.vue:210 msgid "Interval" msgstr "" @@ -1806,7 +1837,7 @@ msgstr "" msgid "Invalid country" msgstr "" -#: src/component/photo/edit/details.vue:174 +#: src/component/photo/edit/details.vue:169 msgid "Invalid date" msgstr "" @@ -1818,7 +1849,7 @@ msgid "Invalid parameters" msgstr "" #: src/component/photo/edit/dialog.vue:194 -#: src/model/thumb.js:197 +#: src/model/thumb.js:199 msgid "Invalid photo selected" msgstr "" @@ -1832,8 +1863,8 @@ msgstr "" msgid "Invalid URL" msgstr "" -#: src/component/settings/passcode.vue:314 -#: src/component/settings/passcode.vue:391 +#: src/component/settings/passcode.vue:317 +#: src/component/settings/passcode.vue:394 msgid "It is a one-time use code that will disable 2FA for your account when you use it." msgstr "" @@ -1857,7 +1888,7 @@ msgstr "" msgid "JPEGs and thumbnails are automatically rendered as needed." msgstr "" -#: src/component/photo/edit/details.vue:581 +#: src/component/photo/edit/details.vue:555 msgid "Keywords" msgstr "" @@ -1867,10 +1898,10 @@ msgstr "" msgid "Label" msgstr "" -#: src/app/routes.js:389 -#: src/component/navigation.vue:1177 -#: src/component/photo/edit/dialog.vue:188 -#: src/component/photo/edit/dialog.vue:205 +#: src/app/routes.js:397 +#: src/component/navigation.vue:1197 +#: src/component/photo/edit/dialog.vue:196 +#: src/component/photo/edit/dialog.vue:215 #: src/options/options.js:206 #: src/page/settings/general.vue:255 msgid "Labels" @@ -1889,11 +1920,11 @@ msgid "Language" msgstr "" #: src/page/admin/sessions.vue:63 -#: src/page/admin/sessions.vue:435 +#: src/page/admin/sessions.vue:440 msgid "Last Active" msgstr "" -#: src/page/admin/users.vue:81 +#: src/page/admin/users.vue:83 msgid "Last Login" msgstr "" @@ -1910,52 +1941,51 @@ msgstr "" msgid "Last Used" msgstr "" -#: src/component/photo/edit/details.vue:298 #: src/component/photo/edit/info.vue:373 msgid "Latitude" msgstr "" -#: src/options/admin.js:43 -#: src/options/auth.js:29 +#: src/options/admin.js:47 +#: src/options/auth.js:30 msgid "LDAP/AD" msgstr "" #: src/page/connect.vue:66 -#: src/component/confirm/sponsor.vue:86 +#: src/component/confirm/sponsor.vue:87 #: src/page/about/about.vue:62 -#: src/page/about/about.vue:132 +#: src/page/about/about.vue:133 #: src/page/connect.vue:67 #: src/page/help.vue:36 msgid "Learn more" msgstr "" #: src/page/admin/sessions.vue:110 -#: src/page/admin/users.vue:135 +#: src/page/admin/users.vue:137 #: src/page/labels.vue:132 msgid "Learn More" msgstr "" -#: src/component/navigation.vue:2017 +#: src/component/navigation.vue:2066 msgid "Legal Information" msgstr "" -#: src/component/photo/edit/details.vue:417 +#: src/component/photo/edit/details.vue:391 #: src/component/photo/view/cards.vue:480 msgid "Lens" msgstr "" -#: src/app/routes.js:443 -#: src/app/routes.js:459 -#: src/app/routes.js:475 -#: src/component/navigation.vue:1267 +#: src/app/routes.js:451 +#: src/app/routes.js:467 +#: src/app/routes.js:483 +#: src/component/navigation.vue:1290 #: src/page/settings/general.vue:507 msgid "Library" msgstr "" #: src/page/connect.vue:45 #: src/app/routes.js:69 -#: src/component/navigation.vue:1478 -#: src/component/photo/edit/details.vue:559 +#: src/component/navigation.vue:1504 +#: src/component/photo/edit/details.vue:533 #: src/page/about/license.vue:28 msgid "License" msgstr "" @@ -1969,7 +1999,7 @@ msgstr "" msgid "Lime" msgstr "" -#: src/page/library/browse.vue:369 +#: src/page/library/browse.vue:371 msgid "Limit reached, showing first %{n} files" msgstr "" @@ -1978,8 +2008,8 @@ msgid "Linear: Very Smooth, Best Performance" msgstr "" #: src/model/link.js:117 -#: src/options/auth.js:30 #: src/options/auth.js:31 +#: src/options/auth.js:32 msgid "Link" msgstr "" @@ -1999,8 +2029,8 @@ msgstr "" msgid "Live" msgstr "" -#: src/app/routes.js:236 -#: src/component/navigation.vue:749 +#: src/app/routes.js:244 +#: src/component/navigation.vue:755 msgid "Live Photos" msgstr "" @@ -2016,29 +2046,32 @@ msgstr "" msgid "Loading..." msgstr "" -#: src/options/admin.js:35 -#: src/options/auth.js:22 -#: src/options/auth.js:27 +#: src/options/admin.js:39 +#: src/options/auth.js:23 +#: src/options/auth.js:28 #: src/options/options.js:38 #: src/page/settings/general.vue:107 msgid "Local" msgstr "" -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Local Time" msgstr "" -#: src/page/settings/account.vue:665 -#: src/page/settings/account.vue:667 -#: src/component/album/edit/dialog.vue:92 -#: src/component/photo/edit/info.vue:65 +#: src/page/settings/account.vue:671 +#: src/page/settings/account.vue:673 +#: src/component/album/edit/dialog.vue:93 +#: src/component/photo/edit/details.vue:38 +#: src/component/photo/edit/details.vue:116 +#: src/component/photo/edit/details.vue:210 +#: src/component/photo/edit/info.vue:67 #: src/component/photo/edit/labels.vue:48 #: src/component/photo/view/cards.vue:555 #: src/component/photo/view/list.vue:117 #: src/component/sidebar/info.vue:107 -#: src/page/albums.vue:99 -#: src/page/settings/account.vue:557 -#: src/page/settings/account.vue:559 +#: src/page/albums.vue:100 +#: src/page/settings/account.vue:563 +#: src/page/settings/account.vue:565 msgid "Location" msgstr "" @@ -2046,22 +2079,21 @@ msgstr "" msgid "Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues." msgstr "" -#: src/component/navigation.vue:1552 -#: src/component/navigation.vue:1840 +#: src/component/navigation.vue:1579 +#: src/component/navigation.vue:1877 msgid "Login" msgstr "" -#: src/component/navigation.vue:1759 +#: src/component/navigation.vue:1791 msgid "Logout" msgstr "" -#: src/component/navigation.vue:1962 +#: src/component/navigation.vue:2007 #: src/page/library.vue:59 #: src/page/settings/general.vue:557 msgid "Logs" msgstr "" -#: src/component/photo/edit/details.vue:324 #: src/component/photo/edit/info.vue:379 msgid "Longitude" msgstr "" @@ -2074,7 +2106,7 @@ msgstr "" msgid "Magenta" msgstr "" -#: src/component/photo/edit/files.vue:489 +#: src/component/photo/edit/files.vue:491 msgid "Main Color" msgstr "" @@ -2082,14 +2114,19 @@ msgstr "" msgid "Male" msgstr "" -#: src/page/connect.vue:164 -#: src/page/connect.vue:246 -#: src/page/about/about.vue:171 -#: src/page/connect.vue:168 -#: src/page/connect.vue:255 +#: src/page/connect.vue:165 +#: src/page/connect.vue:248 +#: src/page/about/about.vue:173 +#: src/page/connect.vue:169 +#: src/page/connect.vue:257 msgid "Manage Account" msgstr "" +#: src/options/admin.js:10 +#: src/options/auth.js:7 +msgid "Manager" +msgstr "" + #: src/component/photo/edit/info.vue:49 #: src/component/photo/edit/labels.vue:38 msgid "Manual" @@ -2107,12 +2144,12 @@ msgstr "" msgid "Marker" msgstr "" -#: src/component/user/add/dialog.vue:69 +#: src/component/user/add/dialog.vue:70 msgid "Maximum number of accounts has been reached." msgstr "" -#: src/app/routes.js:229 -#: src/component/navigation.vue:688 +#: src/app/routes.js:237 +#: src/component/navigation.vue:693 #: src/options/options.js:199 msgid "Media" msgstr "" @@ -2129,8 +2166,8 @@ msgstr "" msgid "Merge %{a} with %{b}?" msgstr "" -#: src/page/about/feedback.vue:102 -#: src/page/about/feedback.vue:102 +#: src/page/about/feedback.vue:103 +#: src/page/about/feedback.vue:103 msgid "Message" msgstr "" @@ -2143,8 +2180,8 @@ msgstr "" msgid "Metadata" msgstr "" -#: src/options/auth.js:56 -#: src/options/auth.js:72 +#: src/options/auth.js:57 +#: src/options/auth.js:73 msgid "Metrics" msgstr "" @@ -2152,7 +2189,7 @@ msgstr "" msgid "Minimize" msgstr "" -#: src/component/photo/edit/files.vue:509 +#: src/component/photo/edit/files.vue:511 #: src/component/photo/edit/info.vue:367 msgid "Missing" msgstr "" @@ -2161,21 +2198,21 @@ msgstr "" msgid "Missing or invalid configuration" msgstr "" -#: src/app/routes.js:163 -#: src/component/navigation.vue:1129 +#: src/app/routes.js:171 +#: src/component/navigation.vue:1147 #: src/options/options.js:205 #: src/page/settings/general.vue:230 msgid "Moments" msgstr "" -#: src/component/navigation.vue:383 +#: src/component/navigation.vue:385 msgid "Monochrome" msgstr "" -#: src/page/settings/account.vue:475 -#: src/component/photo/edit/details.vue:137 -#: src/component/photo/toolbar.vue:342 -#: src/page/settings/account.vue:475 +#: src/page/settings/account.vue:481 +#: src/component/photo/edit/details.vue:139 +#: src/component/photo/toolbar.vue:344 +#: src/page/settings/account.vue:481 msgid "Month" msgstr "" @@ -2197,7 +2234,7 @@ msgstr "" msgid "Move Files" msgstr "" -#: src/component/settings/password.vue:107 +#: src/component/settings/password.vue:108 msgid "Must have at least %{n} characters." msgstr "" @@ -2206,22 +2243,22 @@ msgstr "" msgid "Mute" msgstr "" -#: src/page/about/feedback.vue:121 #: src/page/about/feedback.vue:122 -#: src/component/album/edit/dialog.vue:77 -#: src/component/label/edit/dialog.vue:71 -#: src/component/people/edit/dialog.vue:71 +#: src/page/about/feedback.vue:123 +#: src/component/album/edit/dialog.vue:78 +#: src/component/label/edit/dialog.vue:72 +#: src/component/people/edit/dialog.vue:72 #: src/component/photo/edit/files.vue:41 -#: src/component/photo/edit/info.vue:57 +#: src/component/photo/edit/info.vue:59 #: src/component/photo/edit/info.vue:125 #: src/component/photo/edit/people.vue:36 #: src/component/photo/view/list.vue:117 -#: src/component/service/edit.vue:310 +#: src/component/service/edit.vue:311 #: src/component/settings/apps.vue:53 -#: src/component/settings/apps.vue:286 -#: src/page/about/feedback.vue:121 +#: src/component/settings/apps.vue:289 #: src/page/about/feedback.vue:122 -#: src/page/albums.vue:98 +#: src/page/about/feedback.vue:123 +#: src/page/albums.vue:99 #: src/page/auth/login.vue:168 #: src/page/people/new.vue:68 #: src/page/settings/services.vue:37 @@ -2229,7 +2266,7 @@ msgid "Name" msgstr "" #: src/component/album/edit/dialog.vue:35 -#: src/component/album/toolbar.vue:60 +#: src/component/album/toolbar.vue:65 #: src/component/label/edit/dialog.vue:19 #: src/component/people/edit/dialog.vue:19 #: src/component/photo/edit/labels.vue:30 @@ -2241,7 +2278,7 @@ msgstr "" msgid "Name too long" msgstr "" -#: src/page/admin/users.vue:204 +#: src/page/admin/users.vue:206 #: src/options/options.js:361 #: src/options/options.js:371 #: src/page/settings/services.vue:75 @@ -2252,7 +2289,7 @@ msgstr "" msgid "New" msgstr "" -#: src/component/settings/password.vue:106 +#: src/component/settings/password.vue:107 msgid "New Password" msgstr "" @@ -2260,7 +2297,7 @@ msgstr "" #: src/component/photo/toolbar.vue:114 #: src/component/photo/toolbar.vue:126 #: src/component/photo/toolbar.vue:136 -#: src/page/albums.vue:100 +#: src/page/albums.vue:101 msgid "Newest First" msgstr "" @@ -2278,8 +2315,8 @@ msgstr "" msgid "Next visual" msgstr "" -#: src/component/people/merge/dialog.vue:47 -#: src/component/photo/archive/dialog.vue:47 +#: src/component/people/merge/dialog.vue:48 +#: src/component/photo/archive/dialog.vue:48 #: src/component/photo/edit/info.vue:281 #: src/component/photo/edit/info.vue:297 #: src/component/photo/edit/info.vue:313 @@ -2288,7 +2325,7 @@ msgstr "" msgid "No" msgstr "" -#: src/page/albums.vue:607 +#: src/page/albums.vue:612 #: src/page/albums.vue:282 msgid "No albums found" msgstr "" @@ -2297,7 +2334,7 @@ msgstr "" msgid "No data available" msgstr "" -#: src/page/labels.vue:523 +#: src/page/labels.vue:528 #: src/page/labels.vue:155 msgid "No labels found" msgstr "" @@ -2312,9 +2349,9 @@ msgstr "" #: src/component/photo/edit/people.vue:34 #: src/page/people/new.vue:346 -#: src/page/people/new.vue:443 +#: src/page/people/new.vue:446 #: src/page/people/new.vue:103 -#: src/page/people/recognized.vue:531 +#: src/page/people/recognized.vue:536 #: src/page/people/recognized.vue:146 msgid "No people found" msgstr "" @@ -2323,9 +2360,9 @@ msgstr "" #: src/component/photo/view/cards.vue:144 #: src/component/photo/view/list.vue:82 #: src/component/photo/view/mosaic.vue:68 -#: src/page/album/photos.vue:488 +#: src/page/album/photos.vue:499 #: src/page/library/browse.vue:123 -#: src/page/photos.vue:626 +#: src/page/photos.vue:636 #: src/page/places.vue:624 #: src/page/places.vue:730 msgid "No pictures found" @@ -2337,7 +2374,11 @@ msgstr "" msgid "No recently edited pictures" msgstr "" -#: src/component/navigation.vue:1655 +#: src/component/location/dialog.vue:166 +msgid "No results" +msgstr "" + +#: src/component/navigation.vue:1686 msgid "No server connection" msgstr "" @@ -2349,7 +2390,7 @@ msgstr "" msgid "No services configured." msgstr "" -#: src/component/confirm/sponsor.vue:72 +#: src/component/confirm/sponsor.vue:73 msgid "No thanks" msgstr "" @@ -2361,18 +2402,17 @@ msgstr "" #: src/component/photo/view/list.vue:59 #: src/component/photo/view/list.vue:92 #: src/component/photo/view/mosaic.vue:78 -#: src/component/upload/dialog.vue:208 +#: src/component/upload/dialog.vue:210 msgid "Non-photographic and low-quality images require a review before they appear in search results." msgstr "" -#: src/options/admin.js:47 -#: src/options/auth.js:32 +#: src/options/admin.js:51 +#: src/options/auth.js:33 #: src/options/options.js:212 #: src/options/options.js:328 msgid "None" msgstr "" -#: src/common/util.js:853 #: src/component/lightbox.vue:633 #: src/component/service/upload.vue:75 #: src/component/service/upload.vue:87 @@ -2387,7 +2427,6 @@ msgstr "" msgid "Not sorted." msgstr "" -#: src/common/util.js:858 #: src/component/lightbox.vue:627 #: src/component/lightbox.vue:744 msgid "Not supported" @@ -2397,15 +2436,15 @@ msgstr "" msgid "Note you may manually manage your originals folder and importing is optional." msgstr "" -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "Note:" msgstr "" -#: src/component/service/add.vue:120 +#: src/component/service/add.vue:121 msgid "Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload." msgstr "" -#: src/component/photo/edit/details.vue:603 +#: src/component/photo/edit/details.vue:577 msgid "Notes" msgstr "" @@ -2414,8 +2453,8 @@ msgid "Nothing to see here yet." msgstr "" #: src/page/admin/sessions.vue:116 -#: src/page/admin/users.vue:115 -#: src/component/settings/apps.vue:390 +#: src/page/admin/users.vue:125 +#: src/component/settings/apps.vue:393 msgid "Nothing was found." msgstr "" @@ -2423,8 +2462,8 @@ msgstr "" msgid "Offline" msgstr "" -#: src/options/admin.js:39 -#: src/options/auth.js:28 +#: src/options/admin.js:43 +#: src/options/auth.js:29 msgid "OIDC" msgstr "" @@ -2436,11 +2475,11 @@ msgstr "" #: src/component/photo/toolbar.vue:115 #: src/component/photo/toolbar.vue:127 #: src/component/photo/toolbar.vue:137 -#: src/page/albums.vue:101 +#: src/page/albums.vue:102 msgid "Oldest First" msgstr "" -#: src/component/settings/webdav.vue:77 +#: src/component/settings/webdav.vue:78 msgid "On Windows, enter the following resource in the connection dialog:" msgstr "" @@ -2452,11 +2491,11 @@ msgstr "" msgid "Once a week" msgstr "" -#: src/page/albums.vue:609 +#: src/page/albums.vue:614 msgid "One album found" msgstr "" -#: src/page/library/browse.vue:358 +#: src/page/library/browse.vue:360 msgid "One file found" msgstr "" @@ -2464,26 +2503,26 @@ msgstr "" msgid "One file uploaded" msgstr "" -#: src/page/library/browse.vue:360 +#: src/page/library/browse.vue:362 msgid "One folder found" msgstr "" -#: src/page/labels.vue:525 +#: src/page/labels.vue:530 msgid "One label found" msgstr "" #: src/page/people/new.vue:348 -#: src/page/people/new.vue:445 -#: src/page/people/recognized.vue:533 +#: src/page/people/new.vue:448 +#: src/page/people/recognized.vue:538 msgid "One person found" msgstr "" -#: src/page/album/photos.vue:490 -#: src/page/photos.vue:628 +#: src/page/album/photos.vue:501 +#: src/page/photos.vue:638 msgid "One picture found" msgstr "" -#: src/component/settings/passcode.vue:478 +#: src/component/settings/passcode.vue:481 msgid "Only locally managed accounts can be set up for authentication with 2FA." msgstr "" @@ -2491,8 +2530,8 @@ msgstr "" msgid "Open" msgstr "" -#: src/component/service/add.vue:86 -#: src/component/service/add.vue:107 +#: src/component/service/add.vue:87 +#: src/component/service/add.vue:108 msgid "optional" msgstr "" @@ -2504,8 +2543,8 @@ msgstr "" msgid "Orange" msgstr "" -#: src/page/settings/account.vue:571 -#: src/page/settings/account.vue:573 +#: src/page/settings/account.vue:577 +#: src/page/settings/account.vue:579 msgid "Organization" msgstr "" @@ -2522,7 +2561,7 @@ msgstr "" msgid "Original Name" msgstr "" -#: src/component/navigation.vue:1304 +#: src/component/navigation.vue:1328 #: src/model/file.js:196 #: src/options/options.js:413 #: src/page/library/browse.vue:65 @@ -2537,8 +2576,8 @@ msgstr "" msgid "Other" msgstr "" -#: src/page/about/about.vue:77 -#: src/page/about/about.vue:83 +#: src/page/about/about.vue:78 +#: src/page/about/about.vue:84 msgid "Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible." msgstr "" @@ -2551,7 +2590,7 @@ msgid "Page {0}, Current page" msgstr "" #: src/component/photo/edit/files.vue:352 -#: src/model/photo.js:859 +#: src/model/photo.js:896 msgid "Pages" msgstr "" @@ -2563,19 +2602,19 @@ msgstr "" msgid "Panorama" msgstr "" -#: src/component/navigation.vue:402 +#: src/component/navigation.vue:404 msgid "Panoramas" msgstr "" -#: src/component/user/add/dialog.vue:114 #: src/component/user/add/dialog.vue:115 -#: src/component/service/add.vue:106 -#: src/component/service/edit.vue:352 -#: src/component/settings/apps.vue:121 -#: src/component/settings/passcode.vue:106 -#: src/component/settings/passcode.vue:413 +#: src/component/user/add/dialog.vue:116 +#: src/component/service/add.vue:107 +#: src/component/service/edit.vue:353 +#: src/component/settings/apps.vue:124 +#: src/component/settings/passcode.vue:109 +#: src/component/settings/passcode.vue:416 #: src/component/share/dialog.vue:27 -#: src/options/auth.js:91 +#: src/options/auth.js:92 #: src/page/auth/login.vue:196 msgid "Password" msgstr "" @@ -2584,12 +2623,12 @@ msgstr "" msgid "Password changed" msgstr "" -#: src/app/routes.js:404 -#: src/app/routes.js:428 -#: src/component/navigation.vue:845 -#: src/component/navigation.vue:1898 -#: src/component/photo/edit/dialog.vue:228 -#: src/component/photo/edit/dialog.vue:245 +#: src/app/routes.js:412 +#: src/app/routes.js:436 +#: src/component/navigation.vue:853 +#: src/component/navigation.vue:1939 +#: src/component/photo/edit/dialog.vue:238 +#: src/component/photo/edit/dialog.vue:257 #: src/options/options.js:201 #: src/page/settings/general.vue:180 msgid "People" @@ -2612,23 +2651,23 @@ msgstr "" msgid "Person" msgstr "" -#: src/options/auth.js:42 +#: src/options/auth.js:43 msgid "Personal" msgstr "" -#: src/model/photo.js:1273 +#: src/model/photo.js:1310 msgid "Photo" msgstr "" -#: src/page/about/about.vue:156 +#: src/page/about/about.vue:158 msgid "PhotoPrism is 100% self-funded and independent." msgstr "" -#: src/page/about/about.vue:92 +#: src/page/about/about.vue:93 msgid "PhotoPrism+ Membership" msgstr "" -#: src/app/routes.js:156 +#: src/app/routes.js:164 msgid "Photos" msgstr "" @@ -2651,12 +2690,12 @@ msgstr "" msgid "Place & Time" msgstr "" -#: src/app/routes.js:303 -#: src/app/routes.js:309 -#: src/app/routes.js:315 -#: src/app/routes.js:330 -#: src/component/navigation.vue:986 -#: src/component/navigation.vue:1914 +#: src/app/routes.js:311 +#: src/app/routes.js:317 +#: src/app/routes.js:323 +#: src/app/routes.js:338 +#: src/component/navigation.vue:999 +#: src/component/navigation.vue:1956 #: src/options/options.js:203 #: src/page/places.vue:51 #: src/page/settings/general.vue:609 @@ -2664,19 +2703,19 @@ msgstr "" msgid "Places" msgstr "" -#: src/component/settings/password.vue:129 +#: src/component/settings/password.vue:130 msgid "Please confirm your new password." msgstr "" -#: src/component/settings/apps.vue:185 +#: src/component/settings/apps.vue:188 msgid "Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:" msgstr "" -#: src/component/upload/dialog.vue:203 +#: src/component/upload/dialog.vue:205 msgid "Please do not upload any private, unlawful or offensive pictures." msgstr "" -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Please don't upload photos containing offensive content." msgstr "" @@ -2684,12 +2723,12 @@ msgstr "" msgid "Please enter OTP character {0}" msgstr "" -#: src/component/settings/password.vue:66 +#: src/component/settings/password.vue:67 msgid "Please note that changing your password will log you out on other devices and browsers." msgstr "" -#: src/page/connect.vue:148 -#: src/page/connect.vue:152 +#: src/page/connect.vue:149 +#: src/page/connect.vue:153 msgid "Please restart your instance for the changes to take effect." msgstr "" @@ -2709,11 +2748,11 @@ msgstr "" msgid "Portrait" msgstr "" -#: src/component/service/edit.vue:273 +#: src/component/service/edit.vue:274 msgid "Preserve filenames" msgstr "" -#: src/component/upload/dialog.vue:162 +#: src/component/upload/dialog.vue:164 msgid "Press enter to create a new album." msgstr "" @@ -2753,9 +2792,9 @@ msgstr "" msgid "Primary" msgstr "" -#: src/app/routes.js:271 -#: src/component/album/edit/dialog.vue:176 -#: src/component/navigation.vue:531 +#: src/app/routes.js:279 +#: src/component/album/edit/dialog.vue:177 +#: src/component/navigation.vue:533 #: src/component/photo/edit/info.vue:303 #: src/page/settings/general.vue:280 msgid "Private" @@ -2782,7 +2821,7 @@ msgstr "" msgid "Quality Score" msgstr "" -#: src/page/admin/users.vue:169 +#: src/page/admin/users.vue:171 msgid "r" msgstr "" @@ -2816,7 +2855,7 @@ msgstr "" #: src/component/photo/toolbar.vue:116 #: src/component/photo/toolbar.vue:128 #: src/component/photo/toolbar.vue:138 -#: src/page/albums.vue:102 +#: src/page/albums.vue:103 msgid "Recently Added" msgstr "" @@ -2825,7 +2864,7 @@ msgid "Recently Archived" msgstr "" #: src/component/photo/toolbar.vue:139 -#: src/page/albums.vue:103 +#: src/page/albums.vue:104 msgid "Recently Edited" msgstr "" @@ -2852,10 +2891,10 @@ msgid "Red" msgstr "" #: src/page/admin/sessions.vue:101 -#: src/page/admin/users.vue:126 -#: src/component/album/toolbar.vue:79 +#: src/page/admin/users.vue:128 +#: src/component/album/toolbar.vue:84 #: src/component/photo/toolbar.vue:169 -#: src/page/albums.vue:173 +#: src/page/albums.vue:175 #: src/page/labels.vue:112 #: src/page/library/browse.vue:90 #: src/page/library/errors.vue:81 @@ -2864,18 +2903,18 @@ msgstr "" msgid "Refresh" msgstr "" -#: src/app/routes.js:337 -#: src/component/navigation.vue:943 -#: src/component/navigation.vue:1026 +#: src/app/routes.js:345 +#: src/component/navigation.vue:955 +#: src/component/navigation.vue:1040 msgid "Regions" msgstr "" -#: src/page/connect.vue:275 -#: src/page/connect.vue:284 +#: src/page/connect.vue:277 +#: src/page/connect.vue:286 msgid "Register" msgstr "" -#: src/component/navigation.vue:1773 +#: src/component/navigation.vue:1806 #: src/component/update.vue:68 msgid "Reload" msgstr "" @@ -2924,39 +2963,39 @@ msgstr "" msgid "Resolution" msgstr "" -#: src/page/connect.vue:179 -#: src/page/connect.vue:183 +#: src/page/connect.vue:180 +#: src/page/connect.vue:184 #: src/page/settings/advanced.vue:782 msgid "Restart" msgstr "" -#: src/component/user/edit/dialog.vue:485 +#: src/component/user/edit/dialog.vue:488 #: src/component/lightbox.vue:1221 #: src/component/photo/clipboard.vue:77 msgid "Restore" msgstr "" -#: src/component/lightbox.vue:2000 +#: src/component/lightbox.vue:2020 msgid "Restored" msgstr "" -#: src/component/service/edit.vue:428 +#: src/component/service/edit.vue:429 msgid "Retry Limit" msgstr "" -#: src/component/settings/password.vue:128 +#: src/component/settings/password.vue:129 msgid "Retype Password" msgstr "" -#: src/app/routes.js:264 -#: src/component/navigation.vue:505 +#: src/app/routes.js:272 +#: src/component/navigation.vue:507 msgid "Review" msgstr "" -#: src/component/user/add/dialog.vue:171 -#: src/component/user/edit/dialog.vue:284 -#: src/page/admin/sessions.vue:262 -#: src/page/admin/users.vue:73 +#: src/component/user/add/dialog.vue:172 +#: src/component/user/edit/dialog.vue:285 +#: src/page/admin/sessions.vue:263 +#: src/page/admin/users.vue:75 msgid "Role" msgstr "" @@ -2968,12 +3007,12 @@ msgstr "" msgid "Satellite" msgstr "" -#: src/component/user/edit/dialog.vue:485 -#: src/component/album/edit/dialog.vue:211 -#: src/component/label/edit/dialog.vue:119 -#: src/component/people/edit/dialog.vue:132 -#: src/component/service/edit.vue:466 -#: src/component/settings/password.vue:172 +#: src/component/user/edit/dialog.vue:488 +#: src/component/album/edit/dialog.vue:212 +#: src/component/label/edit/dialog.vue:120 +#: src/component/people/edit/dialog.vue:133 +#: src/component/service/edit.vue:467 +#: src/component/settings/password.vue:173 #: src/component/share/dialog.vue:181 msgid "Save" msgstr "" @@ -2982,25 +3021,26 @@ msgstr "" msgid "Scan" msgstr "" -#: src/component/settings/passcode.vue:179 +#: src/component/settings/passcode.vue:182 msgid "Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:" msgstr "" -#: src/component/navigation.vue:461 +#: src/component/navigation.vue:463 msgid "Scans" msgstr "" #: src/page/admin/sessions.vue:61 -#: src/page/admin/sessions.vue:377 +#: src/page/admin/sessions.vue:381 #: src/component/settings/apps.vue:55 -#: src/component/settings/apps.vue:310 +#: src/component/settings/apps.vue:313 msgid "Scope" msgstr "" #: src/page/admin/sessions.vue:70 -#: src/page/admin/users.vue:62 -#: src/component/navigation.vue:342 -#: src/component/navigation.vue:1866 +#: src/page/admin/users.vue:69 +#: src/component/location/dialog.vue:133 +#: src/component/navigation.vue:343 +#: src/component/navigation.vue:1905 #: src/component/photo/toolbar.vue:57 #: src/options/options.js:197 #: src/page/albums.vue:100 @@ -3047,11 +3087,11 @@ msgid "Select dates" msgstr "" #: src/component/photo/album/dialog.vue:54 -#: src/component/upload/dialog.vue:154 +#: src/component/upload/dialog.vue:156 msgid "Select or create an album" msgstr "" -#: src/component/upload/dialog.vue:138 +#: src/component/upload/dialog.vue:140 msgid "Select the files to upload…" msgstr "" @@ -3079,8 +3119,8 @@ msgstr "" msgid "Sequential Name" msgstr "" -#: src/component/service/add.vue:67 -#: src/component/service/edit.vue:322 +#: src/component/service/add.vue:68 +#: src/component/service/edit.vue:323 #: src/component/share/dialog.vue:25 msgid "Service URL" msgstr "" @@ -3091,8 +3131,8 @@ msgid "Services" msgstr "" #: src/model/session.js:107 -#: src/options/auth.js:41 -#: src/options/auth.js:90 +#: src/options/auth.js:42 +#: src/options/auth.js:91 msgid "Session" msgstr "" @@ -3100,7 +3140,7 @@ msgstr "" msgid "Session ID" msgstr "" -#: src/page/admin.vue:45 +#: src/page/admin.vue:44 msgid "Sessions" msgstr "" @@ -3109,31 +3149,31 @@ msgid "Set as Album Cover" msgstr "" #: src/app/routes.js:101 -#: src/app/routes.js:492 -#: src/app/routes.js:504 -#: src/app/routes.js:521 -#: src/app/routes.js:534 -#: src/app/routes.js:547 -#: src/component/navigation.vue:1394 -#: src/component/navigation.vue:1806 +#: src/app/routes.js:500 +#: src/app/routes.js:512 +#: src/app/routes.js:529 +#: src/app/routes.js:542 +#: src/app/routes.js:555 +#: src/component/navigation.vue:1419 +#: src/component/navigation.vue:1841 msgid "Settings" msgstr "" #: src/page/settings/account.vue:115 #: src/page/settings/account.vue:144 -#: src/component/settings/passcode.vue:147 +#: src/component/settings/passcode.vue:151 #: src/page/settings/account.vue:115 #: src/page/settings/account.vue:144 msgid "Settings saved" msgstr "" -#: src/component/service/upload.vue:131 -#: src/component/settings/passcode.vue:160 +#: src/component/service/upload.vue:132 +#: src/component/settings/passcode.vue:163 msgid "Setup" msgstr "" #: src/component/album/clipboard.vue:49 -#: src/component/album/toolbar.vue:98 +#: src/component/album/toolbar.vue:103 #: src/component/photo/clipboard.vue:51 #: src/page/settings/general.vue:382 msgid "Share" @@ -3153,7 +3193,7 @@ msgid "Show" msgstr "" #: src/page/people/new.vue:116 -#: src/page/people/new.vue:233 +#: src/page/people/new.vue:235 msgid "Show all new faces" msgstr "" @@ -3201,7 +3241,7 @@ msgstr "" #: src/component/photo/edit/files.vue:51 #: src/component/photo/edit/files.vue:341 -#: src/component/service/edit.vue:139 +#: src/component/service/edit.vue:140 #: src/component/sidebar/info.vue:96 msgid "Size" msgstr "" @@ -3231,8 +3271,8 @@ msgstr "" msgid "Sort by" msgstr "" -#: src/component/album/edit/dialog.vue:142 -#: src/component/photo/toolbar.vue:288 +#: src/component/album/edit/dialog.vue:143 +#: src/component/photo/toolbar.vue:290 #: src/page/albums.vue:214 msgid "Sort Order" msgstr "" @@ -3267,7 +3307,7 @@ msgstr "" msgid "Stackable" msgstr "" -#: src/component/navigation.vue:421 +#: src/component/navigation.vue:423 #: src/page/settings/content.vue:136 msgid "Stacks" msgstr "" @@ -3296,17 +3336,17 @@ msgstr "" msgid "Streets" msgstr "" -#: src/component/photo/edit/details.vue:494 +#: src/component/photo/edit/details.vue:468 #: src/component/photo/edit/labels.vue:44 msgid "Subject" msgstr "" -#: src/page/about/feedback.vue:162 #: src/page/about/feedback.vue:163 +#: src/page/about/feedback.vue:164 msgid "Submit" msgstr "" -#: src/component/settings/passcode.vue:132 +#: src/component/settings/passcode.vue:136 msgid "Successfully activated" msgstr "" @@ -3316,25 +3356,25 @@ msgid "Successfully Connected" msgstr "" #: src/component/session/remove/dialog.vue:32 -#: src/component/settings/apps.vue:218 +#: src/component/settings/apps.vue:222 msgid "Successfully deleted" msgstr "" -#: src/component/settings/passcode.vue:107 +#: src/component/settings/passcode.vue:108 msgid "Successfully verified" msgstr "" -#: src/component/user/edit/dialog.vue:398 -#: src/page/admin/users.vue:163 +#: src/component/user/edit/dialog.vue:399 +#: src/page/admin/users.vue:165 msgid "Super Admin" msgstr "" -#: src/component/service/add.vue:122 +#: src/component/service/add.vue:123 msgid "Support for additional services, like Google Drive, will be added over time." msgstr "" -#: src/component/confirm/sponsor.vue:37 -#: src/component/navigation.vue:1629 +#: src/component/confirm/sponsor.vue:38 +#: src/component/navigation.vue:1660 msgid "Support Our Mission" msgstr "" @@ -3342,7 +3382,7 @@ msgstr "" msgid "Sync" msgstr "" -#: src/component/service/edit.vue:289 +#: src/component/service/edit.vue:290 msgid "Sync raw and video files" msgstr "" @@ -3370,25 +3410,25 @@ msgstr "" msgid "Text" msgstr "" -#: src/component/photo/edit/details.vue:32 +#: src/component/photo/edit/details.vue:40 #: src/page/people/new.vue:71 msgid "Text too long" msgstr "" -#: src/page/about/about.vue:145 +#: src/page/about/about.vue:146 msgid "Thank You for Your Support!" msgstr "" -#: src/page/about/about.vue:79 -#: src/page/about/about.vue:85 +#: src/page/about/about.vue:80 +#: src/page/about/about.vue:86 msgid "That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality." msgstr "" -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "The index currently contains %{n} hidden files." msgstr "" -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates." msgstr "" @@ -3410,26 +3450,26 @@ msgstr "" msgid "This field is required" msgstr "" -#: src/component/settings/webdav.vue:100 -#: src/page/settings/services.vue:144 +#: src/component/settings/webdav.vue:101 +#: src/page/settings/services.vue:147 msgid "This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local." msgstr "" -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Time UTC" msgstr "" -#: src/component/photo/edit/details.vue:219 +#: src/component/photo/edit/details.vue:221 #: src/page/settings/general.vue:108 msgid "Time Zone" msgstr "" -#: src/component/service/edit.vue:408 +#: src/component/service/edit.vue:409 msgid "Timeout" msgstr "" -#: src/component/user/edit/dialog.vue:98 #: src/component/user/edit/dialog.vue:99 +#: src/component/user/edit/dialog.vue:100 #: src/page/settings/account.vue:84 #: src/page/settings/account.vue:86 #: src/page/settings/account.vue:84 @@ -3438,12 +3478,12 @@ msgctxt "Account" msgid "Title" msgstr "" -#: src/component/photo/edit/details.vue:73 +#: src/component/photo/edit/details.vue:75 msgctxt "Photo" msgid "Title" msgstr "" -#: src/component/photo/edit/info.vue:59 +#: src/component/photo/edit/info.vue:61 #: src/component/photo/edit/info.vue:155 #: src/component/photo/edit/labels.vue:40 #: src/component/photo/view/list.vue:114 @@ -3451,12 +3491,12 @@ msgstr "" msgid "Title" msgstr "" -#: src/page/settings/account.vue:553 -#: src/page/settings/account.vue:555 +#: src/page/settings/account.vue:559 +#: src/page/settings/account.vue:561 msgid "Title / Position" msgstr "" -#: src/page/albums.vue:83 +#: src/page/albums.vue:84 msgid "Title too long" msgstr "" @@ -3464,20 +3504,20 @@ msgstr "" msgid "to" msgstr "" -#: src/component/settings/passcode.vue:312 +#: src/component/settings/passcode.vue:315 msgid "To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place." msgstr "" -#: src/component/settings/apps.vue:272 +#: src/component/settings/apps.vue:275 msgid "To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:" msgstr "" -#: src/component/settings/passcode.vue:400 +#: src/component/settings/passcode.vue:403 msgid "To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:" msgstr "" -#: src/page/connect.vue:221 -#: src/page/connect.vue:230 +#: src/page/connect.vue:223 +#: src/page/connect.vue:232 msgid "To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:" msgstr "" @@ -3485,7 +3525,7 @@ msgstr "" msgid "Today" msgstr "" -#: src/component/album/toolbar.vue:70 +#: src/component/album/toolbar.vue:71 #: src/component/photo/toolbar.vue:78 msgid "Toggle View" msgstr "" @@ -3517,22 +3557,26 @@ msgstr "" msgid "Try again using other filters or keywords." msgstr "" -#: src/component/settings/passcode.vue:380 +#: src/component/settings/passcode.vue:383 msgid "Two-factor authentication has been enabled for your account." msgstr "" #: src/component/photo/edit/files.vue:58 #: src/component/photo/edit/files.vue:330 #: src/component/photo/edit/info.vue:87 -#: src/component/service/edit.vue:388 +#: src/component/service/edit.vue:389 msgid "Type" msgstr "" -#: src/options/auth.js:13 +#: src/component/album/toolbar.vue:178 +msgid "Unable to delete" +msgstr "" + +#: src/options/auth.js:14 msgid "Unauthorized" msgstr "" -#: src/component/photo/edit/people.vue:94 +#: src/component/photo/edit/people.vue:95 msgid "Undo" msgstr "" @@ -3540,27 +3584,27 @@ msgstr "" msgid "Unique ID" msgstr "" -#: src/page/settings/account.vue:451 -#: src/page/settings/account.vue:476 -#: src/page/settings/account.vue:501 -#: src/common/util.js:487 -#: src/component/photo/edit/details.vue:21 -#: src/component/photo/edit/details.vue:111 -#: src/component/photo/edit/details.vue:138 -#: src/component/photo/edit/details.vue:164 +#: src/page/settings/account.vue:457 +#: src/page/settings/account.vue:482 +#: src/page/settings/account.vue:507 +#: src/common/util.js:488 +#: src/component/photo/edit/details.vue:27 +#: src/component/photo/edit/details.vue:113 +#: src/component/photo/edit/details.vue:140 +#: src/component/photo/edit/details.vue:166 #: src/component/sidebar/info.vue:43 #: src/model/album.js:193 -#: src/model/photo.js:323 -#: src/model/photo.js:784 -#: src/model/photo.js:809 -#: src/model/photo.js:832 -#: src/model/photo.js:850 -#: src/model/photo.js:897 -#: src/model/photo.js:905 -#: src/model/photo.js:994 -#: src/model/photo.js:1016 -#: src/model/photo.js:1061 -#: src/model/photo.js:1074 +#: src/model/photo.js:331 +#: src/model/photo.js:821 +#: src/model/photo.js:846 +#: src/model/photo.js:869 +#: src/model/photo.js:887 +#: src/model/photo.js:934 +#: src/model/photo.js:942 +#: src/model/photo.js:1031 +#: src/model/photo.js:1053 +#: src/model/photo.js:1098 +#: src/model/photo.js:1111 #: src/model/user.js:157 #: src/options/options.js:51 #: src/options/options.js:69 @@ -3569,9 +3613,9 @@ msgstr "" #: src/options/options.js:112 #: src/page/library/errors.vue:251 #: src/page/library/errors.vue:258 -#: src/page/settings/account.vue:451 -#: src/page/settings/account.vue:476 -#: src/page/settings/account.vue:501 +#: src/page/settings/account.vue:457 +#: src/page/settings/account.vue:482 +#: src/page/settings/account.vue:507 msgid "Unknown" msgstr "" @@ -3583,8 +3627,8 @@ msgstr "" msgid "Unregistered" msgstr "" -#: src/app/routes.js:215 -#: src/component/navigation.vue:644 +#: src/app/routes.js:223 +#: src/component/navigation.vue:648 msgid "Unsorted" msgstr "" @@ -3592,7 +3636,7 @@ msgstr "" msgid "Unstack" msgstr "" -#: src/component/photo/edit/files.vue:519 +#: src/component/photo/edit/files.vue:521 #: src/component/photo/edit/info.vue:416 msgid "Updated" msgstr "" @@ -3609,7 +3653,7 @@ msgstr "" msgid "Updating moments" msgstr "" -#: src/component/user/edit/dialog.vue:154 +#: src/component/user/edit/dialog.vue:155 msgid "Updating picture…" msgstr "" @@ -3622,27 +3666,27 @@ msgid "Updating stacks" msgstr "" #: src/page/connect.vue:57 -#: src/component/navigation.vue:1500 -#: src/component/navigation.vue:1614 -#: src/component/navigation.vue:1999 +#: src/component/navigation.vue:1526 +#: src/component/navigation.vue:1644 +#: src/component/navigation.vue:2047 #: src/page/connect.vue:58 msgid "Upgrade" msgstr "" -#: src/page/about/about.vue:123 -#: src/page/connect.vue:202 -#: src/component/confirm/sponsor.vue:98 -#: src/page/about/about.vue:113 -#: src/page/connect.vue:206 +#: src/page/about/about.vue:124 +#: src/page/connect.vue:204 +#: src/component/confirm/sponsor.vue:99 +#: src/page/about/about.vue:114 +#: src/page/connect.vue:208 msgid "Upgrade Now" msgstr "" -#: src/component/album/toolbar.vue:108 -#: src/component/navigation.vue:1824 +#: src/component/album/toolbar.vue:113 +#: src/component/navigation.vue:1860 #: src/component/photo/toolbar.vue:179 -#: src/component/service/upload.vue:144 +#: src/component/service/upload.vue:145 #: src/component/upload/dialog.vue:51 -#: src/page/albums.vue:183 +#: src/page/albums.vue:185 #: src/page/labels.vue:122 #: src/page/library/import.vue:133 #: src/page/settings/general.vue:307 @@ -3654,22 +3698,22 @@ msgstr "" msgid "Upload complete" msgstr "" -#: src/component/upload/dialog.vue:133 +#: src/component/upload/dialog.vue:135 msgid "Upload complete. Indexing…" msgstr "" #: src/component/upload/dialog.vue:296 #: src/component/upload/dialog.vue:315 -#: src/component/upload/dialog.vue:129 +#: src/component/upload/dialog.vue:131 msgid "Upload failed" msgstr "" -#: src/component/service/edit.vue:257 +#: src/component/service/edit.vue:258 msgid "Upload local files" msgstr "" -#: src/component/user/edit/dialog.vue:380 #: src/component/user/edit/dialog.vue:381 +#: src/component/user/edit/dialog.vue:382 msgid "Upload Path" msgstr "" @@ -3677,7 +3721,7 @@ msgstr "" msgid "Upload to WebDAV and share links with friends." msgstr "" -#: src/component/upload/dialog.vue:131 +#: src/component/upload/dialog.vue:133 msgid "Uploading %{n} of %{t}…" msgstr "" @@ -3692,7 +3736,7 @@ msgstr "" msgid "Uploading…" msgstr "" -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Uploads that may contain such images will be rejected automatically." msgstr "" @@ -3700,7 +3744,7 @@ msgstr "" msgid "Use Presets" msgstr "" -#: src/component/settings/passcode.vue:283 +#: src/component/settings/passcode.vue:286 msgid "Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:" msgstr "" @@ -3708,15 +3752,15 @@ msgstr "" msgid "Use your recovery code or contact an administrator for help." msgstr "" -#: src/options/admin.js:10 +#: src/options/admin.js:14 #: src/page/admin/sessions.vue:59 -#: src/page/admin/sessions.vue:242 +#: src/page/admin/sessions.vue:243 #: src/model/user.js:361 -#: src/options/auth.js:7 +#: src/options/auth.js:8 msgid "User" msgstr "" -#: src/component/navigation.vue:1979 +#: src/component/navigation.vue:2025 msgid "User Guide" msgstr "" @@ -3724,17 +3768,17 @@ msgstr "" msgid "User Interface" msgstr "" -#: src/component/user/add/dialog.vue:87 #: src/component/user/add/dialog.vue:88 -#: src/page/admin/sessions.vue:220 -#: src/page/admin/users.vue:71 -#: src/component/service/add.vue:85 -#: src/component/service/edit.vue:337 +#: src/component/user/add/dialog.vue:89 +#: src/page/admin/sessions.vue:221 +#: src/page/admin/users.vue:73 +#: src/component/service/add.vue:86 +#: src/component/service/edit.vue:338 #: src/component/share/dialog.vue:26 msgid "Username" msgstr "" -#: src/component/navigation.vue:1435 +#: src/component/navigation.vue:1461 msgid "Users" msgstr "" @@ -3745,11 +3789,11 @@ msgstr "" msgid "Vector" msgstr "" -#: src/component/navigation.vue:440 +#: src/component/navigation.vue:442 msgid "Vectors" msgstr "" -#: src/component/settings/passcode.vue:227 +#: src/component/settings/passcode.vue:230 #: src/page/auth/login.vue:144 msgid "Verification Code" msgstr "" @@ -3759,8 +3803,8 @@ msgstr "" #: src/component/photo/view/list.vue:190 #: src/component/photo/view/mosaic.vue:207 #: src/model/file.js:221 -#: src/model/photo.js:921 -#: src/model/photo.js:939 +#: src/model/photo.js:958 +#: src/model/photo.js:976 #: src/options/options.js:293 msgid "Video" msgstr "" @@ -3772,13 +3816,13 @@ msgstr "" msgid "Video Duration" msgstr "" -#: src/app/routes.js:243 -#: src/component/navigation.vue:728 +#: src/app/routes.js:251 +#: src/component/navigation.vue:734 #: src/options/options.js:200 msgid "Videos" msgstr "" -#: src/component/photo/toolbar.vue:261 +#: src/component/photo/toolbar.vue:263 #: src/component/photo/view/cards.vue:350 #: src/component/photo/view/mosaic.vue:194 msgid "View" @@ -3788,13 +3832,13 @@ msgstr "" msgid "View search results as a list." msgstr "" -#: src/options/admin.js:14 -#: src/options/auth.js:8 +#: src/options/admin.js:18 +#: src/options/auth.js:9 msgid "Viewer" msgstr "" -#: src/page/admin/sessions.vue:271 -#: src/options/auth.js:12 +#: src/page/admin/sessions.vue:272 +#: src/options/auth.js:13 msgid "Visitor" msgstr "" @@ -3806,40 +3850,40 @@ msgstr "" msgid "Warning" msgstr "" -#: src/page/about/feedback.vue:60 -#: src/page/about/feedback.vue:60 +#: src/page/about/feedback.vue:61 +#: src/page/about/feedback.vue:61 msgid "We appreciate your feedback!" msgstr "" -#: src/page/about/feedback.vue:63 -#: src/page/about/feedback.vue:63 +#: src/page/about/feedback.vue:64 +#: src/page/about/feedback.vue:64 msgid "We do our best to respond within five business days or less." msgstr "" -#: src/component/user/add/dialog.vue:235 -#: src/component/user/edit/dialog.vue:415 -#: src/page/admin/users.vue:80 +#: src/component/user/add/dialog.vue:236 +#: src/component/user/edit/dialog.vue:416 +#: src/page/admin/users.vue:82 msgid "Web Login" msgstr "" -#: src/component/user/add/dialog.vue:248 -#: src/component/user/edit/dialog.vue:432 -#: src/page/admin/users.vue:82 -#: src/options/auth.js:55 -#: src/options/auth.js:68 +#: src/component/user/add/dialog.vue:249 +#: src/component/user/edit/dialog.vue:433 +#: src/page/admin/users.vue:84 +#: src/options/auth.js:56 +#: src/options/auth.js:69 #: src/options/options.js:444 msgid "WebDAV" msgstr "" -#: src/component/settings/webdav.vue:51 +#: src/component/settings/webdav.vue:52 msgid "WebDAV clients can connect to PhotoPrism using the following URL:" msgstr "" -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism." msgstr "" -#: src/component/service/upload.vue:50 +#: src/component/service/upload.vue:51 #: src/component/share/dialog.vue:220 msgid "WebDAV Upload" msgstr "" @@ -3848,9 +3892,9 @@ msgstr "" msgid "WebGL support is disabled in your browser" msgstr "" -#: src/page/settings/account.vue:615 -#: src/page/settings/account.vue:709 -#: src/page/settings/account.vue:601 +#: src/page/settings/account.vue:621 +#: src/page/settings/account.vue:715 +#: src/page/settings/account.vue:607 msgid "Website" msgstr "" @@ -3858,15 +3902,15 @@ msgstr "" msgid "White" msgstr "" -#: src/page/settings/account.vue:532 +#: src/page/settings/account.vue:538 msgid "Work Details" msgstr "" -#: src/page/settings/account.vue:500 -#: src/component/photo/edit/details.vue:163 -#: src/component/photo/toolbar.vue:315 +#: src/page/settings/account.vue:506 +#: src/component/photo/edit/details.vue:165 +#: src/component/photo/toolbar.vue:317 #: src/page/albums.vue:159 -#: src/page/settings/account.vue:500 +#: src/page/settings/account.vue:506 msgid "Year" msgstr "" @@ -3875,26 +3919,26 @@ msgid "Yellow" msgstr "" #: src/component/confirm/dialog.vue:54 -#: src/component/people/merge/dialog.vue:58 -#: src/component/photo/archive/dialog.vue:58 +#: src/component/people/merge/dialog.vue:59 +#: src/component/photo/archive/dialog.vue:59 #: src/component/photo/clipboard.vue:200 #: src/component/photo/edit/files.vue:365 #: src/component/photo/edit/files.vue:395 #: src/component/photo/edit/files.vue:401 #: src/component/photo/edit/files.vue:407 -#: src/component/photo/edit/files.vue:510 +#: src/component/photo/edit/files.vue:512 #: src/component/photo/edit/info.vue:281 #: src/component/photo/edit/info.vue:297 #: src/component/photo/edit/info.vue:313 #: src/component/photo/edit/info.vue:329 #: src/component/photo/edit/info.vue:344 -#: src/component/photo/toolbar.vue:434 +#: src/component/photo/toolbar.vue:436 msgid "Yes" msgstr "" -#: src/component/confirm/sponsor.vue:59 -#: src/page/about/about.vue:158 -#: src/page/connect.vue:315 +#: src/component/confirm/sponsor.vue:60 +#: src/page/about/about.vue:160 +#: src/page/connect.vue:317 msgid "You are welcome to contact us at membership@photoprism.app for questions regarding your membership." msgstr "" @@ -3907,7 +3951,11 @@ msgstr "" msgid "You can only download one label" msgstr "" -#: src/component/upload/dialog.vue:203 +#: src/component/location/dialog.vue:178 +msgid "You can search for a location or move the marker on the map to change the position:" +msgstr "" + +#: src/component/upload/dialog.vue:205 msgid "You can upload up to %{n} files for test purposes." msgstr "" @@ -3922,8 +3970,8 @@ msgstr "" msgid "You may rescan your library to find additional faces." msgstr "" -#: src/page/connect.vue:146 -#: src/page/connect.vue:150 +#: src/page/connect.vue:147 +#: src/page/connect.vue:151 msgid "Your account has been successfully connected." msgstr "" @@ -3931,10 +3979,10 @@ msgstr "" msgid "Your browser does not support WebGL" msgstr "" -#: src/component/confirm/sponsor.vue:43 -#: src/page/about/about.vue:97 -#: src/page/about/about.vue:156 -#: src/page/connect.vue:220 +#: src/component/confirm/sponsor.vue:44 +#: src/page/about/about.vue:98 +#: src/page/about/about.vue:158 +#: src/page/connect.vue:222 msgid "Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy." msgstr "" diff --git a/frontend/src/locales/uk.po b/frontend/src/locales/uk.po index b0d590881..1dad84f8b 100644 --- a/frontend/src/locales/uk.po +++ b/frontend/src/locales/uk.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: ci@photoprism.app\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2025-04-04 08:03+0000\n" +"PO-Revision-Date: 2025-07-06 08:59+0000\n" "Last-Translator: DeepL \n" "Language-Team: \n" "Language: uk\n" @@ -11,7 +11,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 5.10.4\n" +"X-Generator: Weblate 5.12.2\n" "Generated-By: easygettext\n" #: src/locales.js:268 @@ -42,7 +42,7 @@ msgstr "{0} вибрано" msgid "{0}-{1} of {2}" msgstr "{0}-{1} з {2}" -#: src/page/albums.vue:612 +#: src/page/albums.vue:617 msgid "%{n} albums found" msgstr "%{n} альбомів знайдено" @@ -50,25 +50,25 @@ msgstr "%{n} альбомів знайдено" msgid "%{n} files uploaded" msgstr "%{n} файлів завантажено" -#: src/page/library/browse.vue:362 +#: src/page/library/browse.vue:364 msgid "%{n} folders found" msgstr "%{n} папок знайдено" -#: src/component/navigation.vue:1676 +#: src/component/navigation.vue:1707 msgid "%{n} GB of %{q} GB used" msgstr "%{n} Гб від %{q} ГБ використано" -#: src/page/labels.vue:528 +#: src/page/labels.vue:533 msgid "%{n} labels found" msgstr "%{n} міток знайдено" -#: src/page/people/new.vue:350 src/page/people/new.vue:447 -#: src/page/people/recognized.vue:536 +#: src/page/people/new.vue:350 src/page/people/new.vue:450 +#: src/page/people/recognized.vue:541 msgid "%{n} people found" msgstr "%{n} людей знайдено" -#: src/page/album/photos.vue:308 src/page/album/photos.vue:493 -#: src/page/photos.vue:441 src/page/photos.vue:631 +#: src/page/album/photos.vue:313 src/page/album/photos.vue:504 +#: src/page/photos.vue:446 src/page/photos.vue:641 msgid "%{n} pictures found" msgstr "%{n} зображень знайдено" @@ -88,12 +88,12 @@ msgstr "1 година" msgid "12 hours" msgstr "12 годин" -#: src/component/user/edit/dialog.vue:452 src/page/settings/account.vue:324 -#: src/component/settings/passcode.vue:75 +#: src/component/user/edit/dialog.vue:453 src/page/settings/account.vue:325 +#: src/component/settings/passcode.vue:78 msgid "2-Factor Authentication" msgstr "2-факторна автентифікація" -#: src/component/user/edit/dialog.vue:451 src/options/auth.js:46 +#: src/component/user/edit/dialog.vue:452 src/options/auth.js:47 msgid "2FA" msgstr "2FA" @@ -109,20 +109,20 @@ msgstr "Копіювання до буферу обміну по кліку." msgid "A new version of %{s} is available:" msgstr "Доступна нова версія %{s}:" -#: src/component/user/edit/dialog.vue:233 -#: src/component/user/edit/dialog.vue:234 src/page/about/about.vue:56 +#: src/component/user/edit/dialog.vue:234 +#: src/component/user/edit/dialog.vue:235 src/page/about/about.vue:56 #: src/page/settings/account.vue:248 src/page/settings/account.vue:249 -#: src/app/routes.js:63 src/component/navigation.vue:1521 -#: src/page/people/recognized.vue:292 +#: src/app/routes.js:63 src/component/navigation.vue:1547 +#: src/page/people/recognized.vue:296 msgid "About" msgstr "Про" -#: src/options/auth.js:26 src/options/auth.js:44 +#: src/options/auth.js:27 src/options/auth.js:45 msgid "Access Token" msgstr "Токен доступу" -#: src/component/navigation.vue:87 src/component/navigation.vue:1788 -#: src/component/service/upload.vue:71 src/model/service.js:96 +#: src/component/navigation.vue:87 src/component/navigation.vue:1822 +#: src/component/service/upload.vue:72 src/model/service.js:96 #: src/model/user.js:171 src/page/settings.vue:85 #: src/page/settings/general.vue:582 msgid "Account" @@ -136,7 +136,7 @@ msgstr "Обліковий запис створено" msgid "Account deleted" msgstr "Обліковий запис видалено" -#: src/page/admin/users.vue:335 +#: src/page/admin/users.vue:337 msgid "Account restored" msgstr "Обліковий запис відновлено" @@ -157,8 +157,8 @@ msgstr "Дія" msgid "Actions" msgstr "Дії" -#: src/page/connect.vue:294 src/component/settings/passcode.vue:346 -#: src/page/connect.vue:303 +#: src/page/connect.vue:296 src/component/settings/passcode.vue:349 +#: src/page/connect.vue:305 msgid "Activate" msgstr "Активувати" @@ -174,20 +174,20 @@ msgstr "Активуйте для сортування за зростанням msgid "Activate to sort descending." msgstr "Активуйте для сортування за спаданням." -#: src/page/connect.vue:231 src/page/connect.vue:240 +#: src/page/connect.vue:233 src/page/connect.vue:242 msgid "Activation Code" msgstr "Код активації" -#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:83 -#: src/component/settings/apps.vue:448 +#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:92 +#: src/component/settings/apps.vue:451 msgid "Add" msgstr "Додати" -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:246 msgid "Add %{s}?" msgstr "Додати %{s}?" -#: src/component/user/add/dialog.vue:56 src/component/service/add.vue:49 +#: src/component/user/add/dialog.vue:57 src/component/service/add.vue:50 msgid "Add Account" msgstr "Додати обліковий запис" @@ -204,8 +204,8 @@ msgid "Add Link" msgstr "Додати посилання" #: src/component/photo/edit/people.vue:25 -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:57 -#: src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:57 +#: src/page/people/new.vue:246 msgid "Add person?" msgstr "Додати людину?" @@ -221,10 +221,15 @@ msgstr "Додайте зображення з результатів пошук msgid "Add to album" msgstr "Додати до альбому" -#: src/component/photo/edit/files.vue:514 +#: src/component/photo/edit/files.vue:516 msgid "Added" msgstr "Додано" +#: src/component/location/dialog.vue:68 src/component/location/dialog.vue:90 +#: src/component/photo/edit/details.vue:246 +msgid "Adjust Location" +msgstr "Налаштувати місце розташування" + #: src/options/admin.js:6 src/options/auth.js:6 msgid "Admin" msgstr "Адміністратор" @@ -245,7 +250,7 @@ msgstr "Через 3 дні" msgid "After 7 days" msgstr "Через 7 днів" -#: src/component/settings/passcode.vue:93 +#: src/component/settings/passcode.vue:96 msgid "After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:" msgstr "Після введення пароля для підтвердження ви можете налаштувати двофакторну автентифікацію за допомогою сумісної програми або пристрою для автентифікації:" @@ -277,12 +282,16 @@ msgstr "Альбом" msgid "Album Backups" msgstr "Резервні копії альбомів" -#: src/page/albums.vue:674 +#: src/page/albums.vue:685 msgid "Album created" msgstr "Альбом створено" -#: src/app/routes.js:176 src/component/album/toolbar.vue:51 -#: src/component/navigation.vue:604 src/component/navigation.vue:1882 +#: src/page/album/photos.vue:589 +msgid "Album deleted" +msgstr "Альбом видалено" + +#: src/app/routes.js:184 src/component/album/toolbar.vue:55 +#: src/component/navigation.vue:607 src/component/navigation.vue:1922 #: src/component/photo/edit/info.vue:220 src/options/options.js:198 msgid "Albums" msgstr "Альбоми" @@ -295,7 +304,7 @@ msgstr "Альбом видалено" msgid "All" msgstr "Усе." -#: src/page/albums.vue:465 +#: src/page/albums.vue:470 msgid "All %{n} albums loaded" msgstr "Усі %{n} альбомів завантажено" @@ -311,8 +320,8 @@ msgstr "Усі %{n} людей завантажено" msgid "All Cameras" msgstr "Усі фотокамери" -#: src/component/photo/toolbar.vue:74 src/page/albums.vue:44 -#: src/page/albums.vue:240 src/page/albums.vue:746 +#: src/component/photo/toolbar.vue:74 src/page/albums.vue:45 +#: src/page/albums.vue:242 src/page/albums.vue:757 msgid "All Categories" msgstr "Усі категорії" @@ -344,7 +353,7 @@ msgstr "Всі місяці" msgid "All originals" msgstr "Всі оригінали" -#: src/component/photo/toolbar.vue:76 src/page/albums.vue:93 +#: src/component/photo/toolbar.vue:76 src/page/albums.vue:94 msgid "All Years" msgstr "Всі роки" @@ -356,7 +365,7 @@ msgstr "Крім того, ви можете завантажувати файл msgid "Altitude" msgstr "Висота" -#: src/component/photo/edit/details.vue:272 +#: src/component/photo/edit/details.vue:297 msgid "Altitude (m)" msgstr "Висота (м)" @@ -364,8 +373,7 @@ msgstr "Висота (м)" msgid "AM" msgstr "AM" -#: src/app/routes.js:257 src/component/navigation.vue:791 -#: src/component/photo/edit/files.vue:364 +#: src/app/routes.js:265 src/component/photo/edit/files.vue:364 #: src/component/photo/view/cards.vue:327 #: src/component/photo/view/cards.vue:511 src/component/photo/view/list.vue:184 #: src/component/photo/view/mosaic.vue:171 src/options/options.js:301 @@ -376,43 +384,47 @@ msgstr "Анімовані" msgid "Animation" msgstr "Анімація" +#: src/component/navigation.vue:797 +msgid "Animations" +msgstr "Анімація" + #: src/component/share/dialog.vue:207 msgid "Any private photos and videos remain private and won't be shared." msgstr "Будь-які приватні фотографії та відео залишаються приватними та не будуть доступні іншим користувачам." -#: src/component/service/edit.vue:372 +#: src/component/service/edit.vue:373 msgid "API Key" msgstr "Ключ API" -#: src/page/admin/sessions.vue:357 src/options/auth.js:25 +#: src/page/admin/sessions.vue:361 src/options/auth.js:26 msgid "Application" msgstr "Заявка" -#: src/component/photo/edit/details.vue:641 +#: src/component/photo/edit/details.vue:615 msgid "Apply" msgstr "Застосувати" #: src/component/photo/clipboard.vue:64 -#: src/component/photo/edit/details.vue:640 +#: src/component/photo/edit/details.vue:614 #: src/component/photo/view/cards.vue:416 msgid "Approve" msgstr "Підтвердити" -#: src/page/settings/account.vue:374 src/component/settings/apps.vue:91 +#: src/page/settings/account.vue:378 src/component/settings/apps.vue:94 msgid "Apps and Devices" msgstr "Програми та пристрої" -#: src/app/routes.js:287 src/component/lightbox.vue:1207 -#: src/component/navigation.vue:555 src/component/photo/clipboard.vue:142 +#: src/app/routes.js:295 src/component/lightbox.vue:1207 +#: src/component/navigation.vue:557 src/component/photo/clipboard.vue:142 #: src/component/photo/view/cards.vue:398 src/page/settings/general.vue:432 msgid "Archive" msgstr "Архів" -#: src/component/lightbox.vue:1982 src/component/photo/edit/info.vue:433 +#: src/component/lightbox.vue:2002 src/component/photo/edit/info.vue:433 msgid "Archived" msgstr "Заархівовано" -#: src/component/photo/archive/dialog.vue:34 +#: src/component/photo/archive/dialog.vue:35 msgid "Are you sure you want to archive the selection?" msgstr "Ви впевнені що хочете заархівувати виділені елементи?" @@ -420,19 +432,23 @@ msgstr "Ви впевнені що хочете заархівувати вид msgid "Are you sure you want to delete these albums?" msgstr "Ви впевнені що хочете видалити ці альбоми?" -#: src/component/label/delete/dialog.vue:34 +#: src/component/label/delete/dialog.vue:35 msgid "Are you sure you want to delete these labels?" msgstr "Ви впевнені що хочете видалити ці мітки?" -#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:36 +#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:37 msgid "Are you sure you want to delete this account?" msgstr "Ви впевнені що хочете видалити цей обліковий запис?" +#: src/component/album/toolbar.vue:136 +msgid "Are you sure you want to delete this album?" +msgstr "Ви впевнені, що хочете видалити цей альбом?" + #: src/component/photo/clipboard.vue:199 msgid "Are you sure you want to permanently delete these pictures?" msgstr "Ви впевнені що хочете остаточно видалити ці зображення?" -#: src/component/file/delete/dialog.vue:34 +#: src/component/file/delete/dialog.vue:35 msgid "Are you sure you want to permanently delete this file?" msgstr "Ви впевнені що хочете остаточно видалити цей файл?" @@ -441,7 +457,7 @@ msgstr "Ви впевнені що хочете остаточно видали msgid "Are you sure?" msgstr "Ви впевнені?" -#: src/component/photo/edit/details.vue:537 +#: src/component/photo/edit/details.vue:511 msgid "Artist" msgstr "Виконавець" @@ -449,14 +465,14 @@ msgstr "Виконавець" msgid "Aspect Ratio" msgstr "Співвідношення сторін" -#: src/app/routes.js:250 src/component/navigation.vue:770 +#: src/app/routes.js:258 src/component/navigation.vue:776 #: src/options/options.js:297 msgid "Audio" msgstr "Аудіо" -#: src/component/user/add/dialog.vue:190 src/component/user/edit/dialog.vue:309 -#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:281 -#: src/page/admin/users.vue:75 +#: src/component/user/add/dialog.vue:191 src/component/user/edit/dialog.vue:310 +#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:282 +#: src/page/admin/users.vue:77 msgid "Authentication" msgstr "Аутентифікація" @@ -464,11 +480,11 @@ msgstr "Аутентифікація" msgid "Auto" msgstr "Авто" -#: src/component/settings/apps.vue:151 +#: src/component/settings/apps.vue:154 msgid "Back" msgstr "Назад" -#: src/component/scroll.vue:20 +#: src/component/scroll.vue:18 msgid "Back to top" msgstr "Повернутися до початку" @@ -480,26 +496,26 @@ msgstr "Резервне копіювання" msgid "Badge" msgstr "Значок" -#: src/component/user/edit/dialog.vue:361 #: src/component/user/edit/dialog.vue:362 +#: src/component/user/edit/dialog.vue:363 msgid "Base Path" msgstr "Базовий шлях" -#: src/page/about/about.vue:95 src/page/connect.vue:220 +#: src/page/about/about.vue:96 src/page/connect.vue:222 msgid "Become a member today, support our mission and enjoy our member benefits!" msgstr "Станьте членом сьогодні, підтримайте нашу місію та користуйтеся перевагами членства!" -#: src/component/confirm/sponsor.vue:51 src/page/about/about.vue:99 +#: src/component/confirm/sponsor.vue:52 src/page/about/about.vue:100 msgid "Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services." msgstr "Будучи на 100% самофінансованими та незалежними, ми можемо пообіцяти вам, що ми ніколи не будемо продавати ваші дані і що ми завжди будемо прозорими щодо нашого програмного забезпечення та послуг." -#: src/component/user/edit/dialog.vue:258 -#: src/component/user/edit/dialog.vue:259 src/page/settings/account.vue:227 +#: src/component/user/edit/dialog.vue:259 +#: src/component/user/edit/dialog.vue:260 src/page/settings/account.vue:227 #: src/page/settings/account.vue:228 msgid "Bio" msgstr "Біографія" -#: src/page/settings/account.vue:431 +#: src/page/settings/account.vue:437 msgid "Birth Date" msgstr "Дата народження" @@ -520,7 +536,7 @@ msgid "Brown" msgstr "Коричневий" #: src/component/photo/edit/files.vue:263 src/component/photo/toolbar.vue:141 -#: src/component/upload/dialog.vue:240 +#: src/component/upload/dialog.vue:242 msgid "Browse" msgstr "Переглянути" @@ -548,16 +564,16 @@ msgstr "Звіт про помилку" msgid "Busy, please wait…" msgstr "Система зайнята, будь ласка, зачекайте…" -#: src/page/connect.vue:317 +#: src/page/connect.vue:319 msgid "By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct." msgstr "Використовуючи програмне забезпечення та послуги, які ми надаємо, ви погоджуєтеся з нашими умовами надання послуг, політикою конфіденційності та кодексом поведінки." -#: src/app/routes.js:189 src/component/navigation.vue:1081 +#: src/app/routes.js:197 src/component/navigation.vue:1097 #: src/options/options.js:204 src/page/settings/general.vue:205 msgid "Calendar" msgstr "Календар" -#: src/component/photo/edit/details.vue:346 src/component/photo/toolbar.vue:232 +#: src/component/photo/edit/details.vue:320 src/component/photo/toolbar.vue:234 #: src/component/photo/view/cards.vue:467 src/component/photo/view/list.vue:116 msgid "Camera" msgstr "Камера" @@ -570,12 +586,12 @@ msgstr "Серійний номер камери" msgid "Can't access your authenticator app or device?" msgstr "Не можете отримати доступ до програми або пристрою автентифікації?" -#: src/page/album/photos.vue:317 src/page/photos.vue:450 +#: src/page/album/photos.vue:322 src/page/photos.vue:455 msgid "Can't load more, limit reached" msgstr "Не можна завантажити більше, досягнуто ліміту" #: src/common/clipboard.js:102 src/common/clipboard.js:139 -#: src/page/albums.vue:684 src/page/albums.vue:700 src/page/labels.vue:293 +#: src/page/albums.vue:695 src/page/albums.vue:711 src/page/labels.vue:293 #: src/page/labels.vue:313 src/page/library/browse.vue:233 #: src/page/library/browse.vue:249 src/page/people/new.vue:278 #: src/page/people/new.vue:294 src/page/people/recognized.vue:305 @@ -584,26 +600,31 @@ msgid "Can't select more items" msgstr "Не можливо виділити більше елементів" #: src/component/session/remove/dialog.vue:45 -#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:473 -#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:119 +#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:474 +#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:120 #: src/component/album/delete/dialog.vue:43 -#: src/component/album/edit/dialog.vue:199 src/component/confirm/dialog.vue:43 -#: src/component/file/delete/dialog.vue:47 -#: src/component/label/delete/dialog.vue:47 -#: src/component/label/edit/dialog.vue:107 -#: src/component/people/edit/dialog.vue:120 +#: src/component/album/edit/dialog.vue:200 src/component/confirm/dialog.vue:43 +#: src/component/file/delete/dialog.vue:48 +#: src/component/label/delete/dialog.vue:48 +#: src/component/label/edit/dialog.vue:108 +#: src/component/location/dialog.vue:200 +#: src/component/people/edit/dialog.vue:121 #: src/component/photo/album/dialog.vue:78 src/component/service/add.vue:19 -#: src/component/service/edit.vue:455 src/component/service/remove.vue:49 -#: src/component/service/upload.vue:117 src/component/settings/apps.vue:352 -#: src/component/settings/passcode.vue:249 -#: src/component/settings/passcode.vue:333 -#: src/component/settings/password.vue:159 src/component/share/dialog.vue:28 -#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:123 +#: src/component/service/edit.vue:456 src/component/service/remove.vue:50 +#: src/component/service/upload.vue:118 src/component/settings/apps.vue:355 +#: src/component/settings/passcode.vue:252 +#: src/component/settings/passcode.vue:336 +#: src/component/settings/password.vue:160 src/component/share/dialog.vue:28 +#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:124 #: src/page/library/import.vue:119 src/page/library/index.vue:128 msgid "Cancel" msgstr "Відмінити" -#: src/component/photo/edit/details.vue:87 src/component/photo/edit/info.vue:61 +#: src/common/util.js:863 src/common/util.js:870 +msgid "Cannot copy to clipboard" +msgstr "Неможливо скопіювати до буфера обміну" + +#: src/component/photo/edit/details.vue:89 src/component/photo/edit/info.vue:63 #: src/component/photo/edit/labels.vue:42 #: src/component/photo/view/cards.vue:445 src/component/sidebar/info.vue:72 msgid "Caption" @@ -617,17 +638,17 @@ msgstr "Картки" msgid "Carousel slide {0} of {1}" msgstr "Карусельний слайд {0} з {1}" -#: src/page/about/feedback.vue:82 src/page/about/feedback.vue:83 -#: src/component/album/edit/dialog.vue:128 src/component/photo/toolbar.vue:397 +#: src/page/about/feedback.vue:83 src/page/about/feedback.vue:84 +#: src/component/album/edit/dialog.vue:129 src/component/photo/toolbar.vue:399 #: src/page/albums.vue:187 msgid "Category" msgstr "Категорія" -#: src/component/user/edit/dialog.vue:191 src/page/settings/account.vue:201 +#: src/component/user/edit/dialog.vue:192 src/page/settings/account.vue:201 msgid "Change Avatar" msgstr "Змінити аватар" -#: src/page/settings/account.vue:297 src/component/settings/password.vue:48 +#: src/page/settings/account.vue:297 src/component/settings/password.vue:49 msgid "Change Password" msgstr "Змінити пароль" @@ -644,17 +665,17 @@ msgid "Change private flag" msgstr "Змінити позначку приватності" #: src/component/user/add/dialog.vue:108 src/component/user/add/dialog.vue:113 -#: src/component/user/edit/dialog.vue:90 src/component/user/edit/dialog.vue:95 +#: src/component/user/edit/dialog.vue:91 src/component/user/edit/dialog.vue:96 #: src/page/settings/account.vue:121 src/page/settings/account.vue:126 msgid "Changes could not be saved" msgstr "Зміни не можливо зберегти" -#: src/component/user/edit/dialog.vue:83 src/component/user/edit/dialog.vue:159 +#: src/component/user/edit/dialog.vue:84 src/component/user/edit/dialog.vue:160 #: src/component/album/edit/dialog.vue:73 -#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1941 +#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1961 #: src/component/photo/edit/files.vue:162 src/component/service/edit.vue:90 #: src/component/share/dialog.vue:92 src/component/share/dialog.vue:111 -#: src/page/albums.vue:677 src/page/people/recognized.vue:119 +#: src/page/albums.vue:688 src/page/people/recognized.vue:119 #: src/page/settings/advanced.vue:62 src/page/settings/content.vue:62 #: src/page/settings/general.vue:108 msgid "Changes successfully saved" @@ -668,7 +689,7 @@ msgstr "Зміни в розширених налаштуваннях потре msgid "Checked" msgstr "Перевірено" -#: src/component/photo/edit/files.vue:495 +#: src/component/photo/edit/files.vue:497 msgid "Chroma" msgstr "Кoльоровість" @@ -684,24 +705,24 @@ msgstr "Прибирання" msgid "Clear {0}" msgstr "Чисто {0}" -#: src/options/auth.js:11 src/options/auth.js:23 src/options/auth.js:43 +#: src/options/auth.js:12 src/options/auth.js:24 src/options/auth.js:44 msgid "Client" msgstr "Клієнт" -#: src/options/auth.js:24 +#: src/options/auth.js:25 msgid "Client Credentials" msgstr "Облікові дані клієнта" -#: src/page/admin/sessions.vue:529 src/component/lightbox.vue:284 -#: src/component/lightbox.vue:1009 src/component/lightbox.vue:1010 -#: src/component/photo/edit/details.vue:627 src/component/photo/toolbar.vue:160 -#: src/component/settings/apps.vue:224 src/component/settings/apps.vue:437 -#: src/component/settings/passcode.vue:148 -#: src/component/settings/passcode.vue:456 -#: src/component/settings/passcode.vue:497 -#: src/component/settings/webdav.vue:131 src/component/share/dialog.vue:231 +#: src/component/user/edit/dialog.vue:474 src/page/admin/sessions.vue:536 +#: src/component/lightbox.vue:284 src/component/lightbox.vue:1009 +#: src/component/lightbox.vue:1010 src/component/photo/edit/details.vue:601 +#: src/component/photo/toolbar.vue:161 src/component/settings/apps.vue:227 +#: src/component/settings/apps.vue:440 src/component/settings/passcode.vue:151 +#: src/component/settings/passcode.vue:459 +#: src/component/settings/passcode.vue:500 +#: src/component/settings/webdav.vue:132 src/component/share/dialog.vue:231 #: src/component/sidebar/info.vue:26 src/component/update.vue:57 -#: src/component/upload/dialog.vue:228 src/locales.js:206 +#: src/component/upload/dialog.vue:230 src/locales.js:206 #: src/page/library/errors.vue:253 msgid "Close" msgstr "Закрити" @@ -710,11 +731,11 @@ msgstr "Закрити" msgid "Codec" msgstr "Кодек" -#: src/component/photo/toolbar.vue:369 +#: src/component/photo/toolbar.vue:371 msgid "Color" msgstr "Колір" -#: src/component/photo/edit/files.vue:483 +#: src/component/photo/edit/files.vue:485 msgid "Color Profile" msgstr "Профіль кольору" @@ -722,7 +743,7 @@ msgstr "Профіль кольору" msgid "Colors" msgstr "Кольори" -#: src/page/connect.vue:260 src/page/connect.vue:269 +#: src/page/connect.vue:262 src/page/connect.vue:271 msgid "Compare Editions" msgstr "Порівняти видання" @@ -735,17 +756,18 @@ msgstr "Повне перескановування" msgid "Confidence" msgstr "Точність" +#: src/component/location/dialog.vue:212 #: src/component/photo/album/dialog.vue:90 -#: src/component/settings/passcode.vue:261 +#: src/component/settings/passcode.vue:264 msgid "Confirm" msgstr "Підтвердити" -#: src/component/service/add.vue:20 src/page/settings/services.vue:187 +#: src/component/service/add.vue:20 src/page/settings/services.vue:191 msgid "Connect" msgstr "Під'єднати" -#: src/page/settings/account.vue:401 src/component/settings/webdav.vue:45 -#: src/page/settings/services.vue:167 +#: src/page/settings/account.vue:406 src/component/settings/webdav.vue:46 +#: src/page/settings/services.vue:170 msgid "Connect via WebDAV" msgstr "Під'єднати через WebDAV" @@ -753,22 +775,22 @@ msgstr "Під'єднати через WebDAV" msgid "Connected" msgstr "Підключено" -#: src/page/settings/account.vue:640 src/page/settings/account.vue:532 +#: src/page/settings/account.vue:646 src/page/settings/account.vue:538 msgid "Contact Details" msgstr "Контактна інформація" -#: src/page/about/feedback.vue:37 src/page/connect.vue:132 -#: src/page/connect.vue:136 +#: src/page/about/feedback.vue:37 src/page/connect.vue:133 +#: src/page/connect.vue:137 msgid "Contact Us" msgstr "Зв'язатися з нами" #: src/page/albums.vue:433 src/page/labels.vue:237 -#: src/page/people/recognized.vue:306 +#: src/page/people/recognized.vue:310 msgid "Contains %{n} pictures." msgstr "Містить %{n} зображень." #: src/page/albums.vue:427 src/page/labels.vue:231 -#: src/page/people/recognized.vue:300 +#: src/page/people/recognized.vue:304 msgid "Contains one picture." msgstr "Містить одне зображення." @@ -776,7 +798,7 @@ msgstr "Містить одне зображення." msgid "Content" msgstr "Зміст" -#: src/component/settings/apps.vue:163 +#: src/component/settings/apps.vue:166 msgid "Continue" msgstr "Продовжити" @@ -784,7 +806,7 @@ msgstr "Продовжити" msgid "Continue with %{provider}" msgstr "Продовжити з %{провайдер}" -#: src/options/admin.js:18 src/options/auth.js:9 +#: src/options/admin.js:22 src/options/auth.js:10 msgid "Contributor" msgstr "Дописувач" @@ -792,15 +814,15 @@ msgstr "Дописувач" msgid "Converting" msgstr "Конвертація" -#: src/common/util.js:846 +#: src/common/util.js:856 msgid "Copied to clipboard" msgstr "Скопійовано у буфер обміну" -#: src/component/settings/apps.vue:250 src/component/settings/passcode.vue:358 +#: src/component/settings/apps.vue:253 src/component/settings/passcode.vue:361 msgid "Copy" msgstr "Копія" -#: src/component/photo/edit/details.vue:516 +#: src/component/photo/edit/details.vue:490 msgid "Copyright" msgstr "Авторські права" @@ -808,8 +830,8 @@ msgstr "Авторські права" msgid "Couldn't find anything." msgstr "Не можу знайти нічого." -#: src/page/settings/account.vue:685 src/component/photo/edit/details.vue:242 -#: src/component/photo/toolbar.vue:203 src/page/settings/account.vue:577 +#: src/page/settings/account.vue:691 src/component/photo/edit/details.vue:268 +#: src/component/photo/toolbar.vue:205 src/page/settings/account.vue:583 msgid "Country" msgstr "Країна" @@ -833,7 +855,7 @@ msgstr "Створіть YAML-файли для резервного копію msgid "Create YAML sidecar files to back up picture metadata." msgstr "Створіть YAML-файли для резервного копіювання метаданих зображень." -#: src/page/admin/sessions.vue:417 src/component/photo/edit/info.vue:412 +#: src/page/admin/sessions.vue:422 src/component/photo/edit/info.vue:412 msgid "Created" msgstr "Створено" @@ -845,11 +867,11 @@ msgstr "Створюю мініатюри для" msgid "Cubic: Moderate Quality, Good Performance" msgstr "Cubic: помірна якість, хороша продуктивність" -#: src/component/settings/password.vue:85 +#: src/component/settings/password.vue:86 msgid "Current Password" msgstr "Поточний пароль" -#: src/options/themes.js:919 src/options/themes.js:928 +#: src/options/themes.js:920 src/options/themes.js:929 msgid "Custom" msgstr "Нестандартний" @@ -865,11 +887,11 @@ msgstr "Щоденний" msgid "Database Backups" msgstr "Резервне копіювання бази даних" -#: src/page/settings/account.vue:450 src/component/photo/edit/details.vue:110 +#: src/page/settings/account.vue:456 src/component/photo/edit/details.vue:112 msgid "Day" msgstr "День" -#: src/component/settings/passcode.vue:445 +#: src/component/settings/passcode.vue:448 msgid "Deactivate" msgstr "Дезактивувати" @@ -877,36 +899,40 @@ msgstr "Дезактивувати" msgid "Debug Logs" msgstr "Журнали налагодження" -#: src/options/admin.js:31 src/page/admin/sessions.vue:136 -#: src/page/admin/users.vue:176 src/component/photo/edit/info.vue:47 +#: src/options/admin.js:35 src/page/admin/sessions.vue:136 +#: src/page/admin/users.vue:178 src/component/photo/edit/info.vue:47 #: src/component/photo/edit/info.vue:110 src/model/session.js:66 -#: src/model/user.js:246 src/options/auth.js:20 src/options/auth.js:21 -#: src/options/auth.js:39 src/options/auth.js:40 src/options/options.js:196 +#: src/model/user.js:246 src/options/auth.js:21 src/options/auth.js:22 +#: src/options/auth.js:40 src/options/auth.js:41 src/options/options.js:196 #: src/options/options.js:232 src/options/options.js:316 -#: src/options/themes.js:773 +#: src/options/themes.js:774 msgid "Default" msgstr "За замовчуванням" -#: src/component/service/edit.vue:123 +#: src/component/service/edit.vue:124 msgid "Default Folder" msgstr "Папка за замовчуванням" #: src/component/session/remove/dialog.vue:56 #: src/component/user/remove/dialog.vue:56 src/component/album/clipboard.vue:97 -#: src/component/album/delete/dialog.vue:54 -#: src/component/file/delete/dialog.vue:58 src/component/label/clipboard.vue:58 -#: src/component/label/delete/dialog.vue:58 +#: src/component/album/delete/dialog.vue:54 src/component/album/toolbar.vue:137 +#: src/component/file/delete/dialog.vue:59 src/component/label/clipboard.vue:58 +#: src/component/label/delete/dialog.vue:59 #: src/component/photo/clipboard.vue:168 src/component/photo/edit/files.vue:238 -#: src/component/service/remove.vue:60 src/component/share/dialog.vue:170 +#: src/component/service/remove.vue:61 src/component/share/dialog.vue:170 #: src/page/settings/general.vue:457 msgid "Delete" msgstr "Видалити" +#: src/component/album/toolbar.vue:133 +msgid "Delete Album" +msgstr "Видалити альбом" + #: src/component/photo/toolbar.vue:119 src/page/library/errors.vue:95 msgid "Delete All" msgstr "Видалити все" -#: src/component/photo/toolbar.vue:433 src/page/library/errors.vue:193 +#: src/component/photo/toolbar.vue:435 src/page/library/errors.vue:193 msgid "Delete all?" msgstr "Видалити все?" @@ -914,16 +940,16 @@ msgstr "Видалити все?" msgid "Delete orphaned index entries, sidecar files and thumbnails." msgstr "Видаляйте \"осиротілі\" індексні записи, допоміжні файли та мініатюри." -#: src/component/album/edit/dialog.vue:107 src/page/albums.vue:411 +#: src/component/album/edit/dialog.vue:108 src/page/albums.vue:411 msgid "Description" msgstr "Опис" -#: src/component/settings/webdav.vue:115 +#: src/component/settings/webdav.vue:116 msgid "Detailed instructions can be found in our User Guide." msgstr "Детальні інструкції можна знайти в нашій Інструкції Користувача." -#: src/component/photo/edit/dialog.vue:156 -#: src/component/photo/edit/dialog.vue:173 +#: src/component/photo/edit/dialog.vue:162 +#: src/component/photo/edit/dialog.vue:181 msgid "Details" msgstr "Подробиці" @@ -987,8 +1013,8 @@ msgstr "Вимикає підтримку векторної графіки." msgid "Disables video transcoding and thumbnail extraction." msgstr "Вимикає перекодування відео та вилучення мініатюр." -#: src/app/routes.js:558 src/app/routes.js:565 src/app/routes.js:572 -#: src/app/routes.js:579 +#: src/app/routes.js:566 src/app/routes.js:573 src/app/routes.js:580 +#: src/app/routes.js:587 msgid "Discover" msgstr "Огляд" @@ -996,9 +1022,9 @@ msgstr "Огляд" msgid "Dismiss" msgstr "Звільнити" -#: src/component/user/add/dialog.vue:133 src/component/user/add/dialog.vue:134 -#: src/component/user/edit/dialog.vue:163 -#: src/component/user/edit/dialog.vue:164 src/page/admin/users.vue:72 +#: src/component/user/add/dialog.vue:134 src/component/user/add/dialog.vue:135 +#: src/component/user/edit/dialog.vue:164 +#: src/component/user/edit/dialog.vue:165 src/page/admin/users.vue:74 #: src/page/settings/account.vue:149 src/page/settings/account.vue:151 msgid "Display Name" msgstr "Ім'я користувача" @@ -1013,12 +1039,12 @@ msgstr "Відображати назви зображень у результа #: src/component/photo/view/cards.vue:339 #: src/component/photo/view/cards.vue:521 -#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:174 +#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:176 #: src/options/options.js:309 msgid "Document" msgstr "Документ" -#: src/component/navigation.vue:480 +#: src/component/navigation.vue:482 msgid "Documents" msgstr "Документи" @@ -1034,16 +1060,16 @@ msgstr "Не використовуйте ImageMagick для перетворе msgid "Don't use RawTherapee to convert RAW images." msgstr "Не використовуйте RawTherapee для перетворення RAW-зображень." -#: src/component/settings/apps.vue:238 src/component/share/dialog.vue:29 +#: src/component/settings/apps.vue:241 src/component/share/dialog.vue:29 msgid "Done" msgstr "Готово" -#: src/component/upload/dialog.vue:135 src/page/library/import.vue:46 +#: src/component/upload/dialog.vue:137 src/page/library/import.vue:46 #: src/page/library/index.vue:52 msgid "Done." msgstr "Готово." -#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:118 +#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:123 #: src/component/file/clipboard.vue:48 src/component/lightbox.vue:1235 #: src/component/people/clipboard.vue:47 src/component/photo/clipboard.vue:116 #: src/component/photo/edit/files.vue:168 src/page/settings/content.vue:331 @@ -1055,7 +1081,7 @@ msgstr "Завантажити" msgid "Download only original media files, without any automatically generated files." msgstr "Завантажуйте лише оригінальні медіафайли, без жодних автоматично згенерованих файлів." -#: src/component/service/edit.vue:237 +#: src/component/service/edit.vue:238 msgid "Download remote files" msgstr "Завантаження віддалених файлів" @@ -1063,9 +1089,9 @@ msgstr "Завантаження віддалених файлів" msgid "Download single files and zip archives." msgstr "Завантажити окремі файли та архіви zip." -#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:157 +#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:172 #: src/component/file/clipboard.vue:61 src/component/label/clipboard.vue:86 -#: src/component/lightbox.vue:2021 src/component/people/clipboard.vue:59 +#: src/component/lightbox.vue:2041 src/component/people/clipboard.vue:59 #: src/component/photo/clipboard.vue:220 src/component/photo/edit/files.vue:119 #: src/component/photo/view/cards.vue:169 src/component/photo/view/list.vue:142 #: src/page/library/browse.vue:139 @@ -1080,7 +1106,7 @@ msgstr "Фільтр зменшення масштабу" msgid "Drag and drop files here" msgstr "Перетягніть файли сюди" -#: src/page/about/feedback.vue:61 +#: src/page/about/feedback.vue:62 msgid "Due to the high volume of emails we receive, our team may be unable to get back to you immediately." msgstr "У зв'язку з великою кількістю електронних листів, які ми отримуємо, наша команда може бути не в змозі відповісти вам негайно." @@ -1100,23 +1126,23 @@ msgstr "Динамічний попередній перегляд" msgid "Dynamic Size Limit: %{n}px" msgstr "Обмеження динамічного розміру: %{n}px" -#: src/page/about/feedback.vue:141 src/page/about/feedback.vue:140 +#: src/page/about/feedback.vue:142 src/page/about/feedback.vue:141 msgid "E-Mail" msgstr "Електронна пошта" -#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:89 +#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:94 #: src/component/lightbox.vue:1136 src/component/lightbox.vue:1137 #: src/component/photo/clipboard.vue:90 src/page/settings/general.vue:407 msgid "Edit" msgstr "Редагувати" -#: src/component/album/edit/dialog.vue:54 -#: src/component/label/edit/dialog.vue:52 -#: src/component/people/edit/dialog.vue:52 +#: src/component/album/edit/dialog.vue:55 +#: src/component/label/edit/dialog.vue:53 +#: src/component/people/edit/dialog.vue:53 msgid "Edit %{s}" msgstr "Редагувати %{s}" -#: src/component/user/edit/dialog.vue:61 src/component/service/edit.vue:79 +#: src/component/user/edit/dialog.vue:62 src/component/service/edit.vue:79 msgid "Edit Account" msgstr "Редагувати обліковий запис" @@ -1128,8 +1154,8 @@ msgstr "Редагувати фото" msgid "Edited" msgstr "Відредаговано" -#: src/component/user/add/dialog.vue:151 src/component/user/edit/dialog.vue:213 -#: src/page/settings/account.vue:171 src/page/settings/account.vue:593 +#: src/component/user/add/dialog.vue:152 src/component/user/edit/dialog.vue:214 +#: src/page/settings/account.vue:171 src/page/settings/account.vue:599 msgid "Email" msgstr "Електронна пошта" @@ -1145,7 +1171,7 @@ msgstr "Увімкніть нові функції, які можуть бути msgid "Enables RAW converter presets. May reduce performance." msgstr "Увімкнути попередньо встановлені налаштування конвертера RAW. Може знизити продуктивність." -#: src/component/settings/passcode.vue:127 +#: src/component/settings/passcode.vue:130 msgid "Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account." msgstr "Увімкнення двофакторної автентифікації означає, що для входу вам знадобиться випадково згенерований код підтвердження, тож навіть якщо хтось отримає доступ до вашого пароля, він не зможе отримати доступ до вашого облікового запису." @@ -1157,7 +1183,7 @@ msgstr "Введіть дату" msgid "Enter dates" msgstr "Введіть дати" -#: src/component/settings/passcode.vue:213 src/page/auth/login.vue:104 +#: src/component/settings/passcode.vue:216 src/page/auth/login.vue:104 msgid "Enter the code generated by your authenticator app:" msgstr "Введіть код, згенерований вашим додатком-автентифікатором:" @@ -1165,7 +1191,7 @@ msgstr "Введіть код, згенерований вашим додатк msgid "Enter verification code" msgstr "Введіть код верифікації" -#: src/component/settings/apps.vue:109 +#: src/component/settings/apps.vue:112 msgid "Enter your password to confirm the action and continue:" msgstr "Введіть пароль для підтвердження дії та продовжуйте:" @@ -1174,7 +1200,7 @@ msgstr "Введіть пароль для підтвердження дії т msgid "Error" msgstr "Помилка" -#: src/app/routes.js:374 src/component/navigation.vue:1348 +#: src/app/routes.js:382 src/component/navigation.vue:1372 msgid "Errors" msgstr "Помилки" @@ -1210,13 +1236,13 @@ msgstr "Вилучення метаданих за допомогою ExifTool msgid "Experimental Features" msgstr "Експериментальні можливості" -#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:453 -#: src/component/service/edit.vue:157 src/component/settings/apps.vue:73 -#: src/component/settings/apps.vue:326 src/component/share/dialog.vue:62 +#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:458 +#: src/component/service/edit.vue:158 src/component/settings/apps.vue:73 +#: src/component/settings/apps.vue:329 src/component/share/dialog.vue:62 msgid "Expires" msgstr "Закінчується" -#: src/component/photo/edit/details.vue:396 +#: src/component/photo/edit/details.vue:370 msgid "Exposure" msgstr "Експозиція" @@ -1224,7 +1250,7 @@ msgstr "Експозиція" msgid "Extract still images and generate thumbnails while indexing." msgstr "Витягуйте нерухомі зображення та створюйте мініатюри під час індексування." -#: src/component/photo/edit/details.vue:444 +#: src/component/photo/edit/details.vue:418 msgid "F Number" msgstr "Діафрагма" @@ -1240,7 +1266,7 @@ msgstr "Обличчя" msgid "Failed removing link" msgstr "Не вдалось видалити посилання" -#: src/page/connect.vue:106 src/page/connect.vue:110 +#: src/page/connect.vue:107 src/page/connect.vue:111 msgid "Failed to connect account." msgstr "Не вдалося підключити обліковий запис." @@ -1248,8 +1274,8 @@ msgstr "Не вдалося підключити обліковий запис." msgid "Failed updating link" msgstr "Не вдалось оновити посилання" -#: src/component/user/edit/dialog.vue:143 -#: src/component/user/edit/dialog.vue:144 src/page/settings/account.vue:128 +#: src/component/user/edit/dialog.vue:144 +#: src/component/user/edit/dialog.vue:145 src/page/settings/account.vue:128 #: src/page/settings/account.vue:130 msgid "Family Name" msgstr "Прізвище" @@ -1258,15 +1284,15 @@ msgstr "Прізвище" msgid "Fast" msgstr "Швидко" -#: src/component/album/edit/dialog.vue:159 -#: src/component/label/edit/dialog.vue:85 -#: src/component/people/edit/dialog.vue:85 +#: src/component/album/edit/dialog.vue:160 +#: src/component/label/edit/dialog.vue:86 +#: src/component/people/edit/dialog.vue:86 #: src/component/photo/edit/info.vue:287 msgid "Favorite" msgstr "Вибрані" -#: src/app/routes.js:222 src/component/navigation.vue:893 -#: src/options/options.js:202 src/page/albums.vue:97 +#: src/app/routes.js:230 src/component/navigation.vue:903 +#: src/options/options.js:202 src/page/albums.vue:98 msgid "Favorites" msgstr "Вибране" @@ -1274,7 +1300,7 @@ msgstr "Вибране" msgid "Feature Request" msgstr "Запит можливостей" -#: src/component/navigation.vue:1456 +#: src/component/navigation.vue:1482 msgid "Feedback" msgstr "Відгук" @@ -1282,11 +1308,12 @@ msgstr "Відгук" msgid "Female" msgstr "Жінка" -#: src/component/photo/edit/info.vue:214 src/model/file.js:290 +#: src/component/photo/edit/info.vue:57 src/component/photo/edit/info.vue:214 +#: src/model/file.js:290 msgid "File" msgstr "Файл" -#: src/app/routes.js:343 +#: src/app/routes.js:351 msgid "File Browser" msgstr "Оглядач файлів" @@ -1309,8 +1336,8 @@ msgstr "Розмір файлу" msgid "Filename" msgstr "Ім'я файла" -#: src/component/navigation.vue:1930 src/component/photo/edit/dialog.vue:267 -#: src/component/photo/edit/dialog.vue:284 +#: src/component/navigation.vue:1973 src/component/photo/edit/dialog.vue:279 +#: src/component/photo/edit/dialog.vue:298 msgid "Files" msgstr "Файли" @@ -1322,26 +1349,26 @@ msgstr "Файли з послідовними іменами як 'IMG_1234 (2) msgid "First page" msgstr "Перша сторінка" -#: src/component/photo/edit/details.vue:465 +#: src/component/photo/edit/details.vue:439 msgid "Focal Length" msgstr "Фокусна відстань" -#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:118 -#: src/component/service/edit.vue:189 src/component/service/edit.vue:194 -#: src/component/service/upload.vue:90 src/component/service/upload.vue:96 +#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:119 +#: src/component/service/edit.vue:190 src/component/service/edit.vue:195 +#: src/component/service/upload.vue:91 src/component/service/upload.vue:97 #: src/model/folder.js:199 src/page/library/browse.vue:182 msgid "Folder" msgstr "Папка" -#: src/page/library/browse.vue:365 +#: src/page/library/browse.vue:367 msgid "Folder contains %{n} files" msgstr "Папка містить %{n} файлів" -#: src/page/library/browse.vue:356 +#: src/page/library/browse.vue:358 msgid "Folder is empty" msgstr "Папка порожня" -#: src/app/routes.js:202 src/component/navigation.vue:1225 +#: src/app/routes.js:210 src/component/navigation.vue:1247 #: src/options/options.js:207 msgid "Folders" msgstr "Папки" @@ -1358,7 +1385,7 @@ msgstr "к/с" msgid "Frames" msgstr "Кадрів" -#: src/options/auth.js:54 src/options/auth.js:64 +#: src/options/auth.js:55 src/options/auth.js:65 msgid "Full Access" msgstr "Повний доступ" @@ -1370,7 +1397,7 @@ msgstr "Повний екран" msgid "General" msgstr "Загальний" -#: src/component/settings/apps.vue:364 +#: src/component/settings/apps.vue:367 msgid "Generate" msgstr "Генерувати" @@ -1390,8 +1417,8 @@ msgstr "Згенеровано" msgid "Get Started" msgstr "Початок роботи" -#: src/component/user/edit/dialog.vue:120 -#: src/component/user/edit/dialog.vue:121 src/page/settings/account.vue:106 +#: src/component/user/edit/dialog.vue:121 +#: src/component/user/edit/dialog.vue:122 src/page/settings/account.vue:106 #: src/page/settings/account.vue:108 msgid "Given Name" msgstr "Прізвище, ім'я та по батькові" @@ -1416,7 +1443,7 @@ msgstr "Зелений" msgid "Grey" msgstr "Сірий" -#: src/options/admin.js:22 src/options/auth.js:10 +#: src/options/admin.js:26 src/options/auth.js:11 msgid "Guest" msgstr "Гість" @@ -1432,15 +1459,15 @@ msgstr "Допомога" msgid "Help & Support" msgstr "Допомога і Підтримка" -#: src/component/navigation.vue:1327 src/component/people/edit/dialog.vue:98 +#: src/component/navigation.vue:1351 src/component/people/edit/dialog.vue:99 msgid "Hidden" msgstr "Приховані" -#: src/app/routes.js:358 +#: src/app/routes.js:366 msgid "Hidden Files" msgstr "Приховані файли" -#: src/page/people/new.vue:165 src/page/people/recognized.vue:205 +#: src/page/people/new.vue:166 src/page/people/recognized.vue:206 msgid "Hide" msgstr "Приховати" @@ -1456,7 +1483,7 @@ msgstr "Високий" msgid "High Dynamic Range (HDR)" msgstr "Високий Динамічний Діапазон(HDR)" -#: src/page/about/feedback.vue:103 +#: src/page/about/feedback.vue:104 msgid "How can we help?" msgstr "Як ми можемо допомогти?" @@ -1464,11 +1491,11 @@ msgstr "Як ми можемо допомогти?" msgid "Hybrid" msgstr "Гібридний" -#: src/component/settings/passcode.vue:389 +#: src/component/settings/passcode.vue:392 msgid "If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account." msgstr "Якщо ви втратите доступ до програми або пристрою автентифікатора, ви можете скористатися кодом відновлення, щоб відновити доступ до свого облікового запису." -#: src/component/photo/edit/info.vue:63 src/component/photo/edit/labels.vue:46 +#: src/component/photo/edit/info.vue:65 src/component/photo/edit/labels.vue:46 #: src/component/photo/view/cards.vue:532 src/model/file.js:218 #: src/options/options.js:281 msgid "Image" @@ -1478,7 +1505,7 @@ msgstr "Зображення" msgid "Image Quality" msgstr "Якість зображення" -#: src/page/library.vue:46 src/page/library/import.vue:152 +#: src/page/library.vue:46 src/page/library/import.vue:153 #: src/page/settings/general.vue:357 msgid "Import" msgstr "Імпортувати" @@ -1503,8 +1530,8 @@ msgstr "Імпортуємо %{s}…" msgid "Importing files to originals…" msgstr "Імпортуємо файли в теку оригіналів…" -#: src/component/photo/edit/files.vue:515 -#: src/component/photo/edit/files.vue:520 +#: src/component/photo/edit/files.vue:517 +#: src/component/photo/edit/files.vue:522 msgid "in" msgstr "в" @@ -1522,11 +1549,11 @@ msgstr "Завантажуючи стеки та архіви, додавайт msgid "Include sidecar files when downloading stacks and archives." msgstr "Завантажуючи стеки та архіви, додавайте до них файли-супровідники." -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Increase storage size or delete files to continue." msgstr "Збільште розмір сховища або видаліть файли, щоб продовжити." -#: src/component/navigation.vue:1946 src/page/library.vue:36 +#: src/component/navigation.vue:1990 src/page/library.vue:36 #: src/page/settings/content.vue:34 msgid "Index" msgstr "Індекс" @@ -1556,11 +1583,11 @@ msgstr "Інформація" msgid "Instance ID" msgstr "Ідентифікатор екземпляра" -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Insufficient storage." msgstr "Недостатнє зберігання." -#: src/component/service/edit.vue:209 +#: src/component/service/edit.vue:210 msgid "Interval" msgstr "Інтервал" @@ -1581,7 +1608,7 @@ msgstr "Неправильна адреса" msgid "Invalid country" msgstr "Невірна країна" -#: src/component/photo/edit/details.vue:174 +#: src/component/photo/edit/details.vue:169 msgid "Invalid date" msgstr "Невірна дата" @@ -1590,7 +1617,7 @@ msgstr "Невірна дата" msgid "Invalid parameters" msgstr "Неправильні параметри" -#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:197 +#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:199 msgid "Invalid photo selected" msgstr "Вибрано невірне фото" @@ -1602,8 +1629,8 @@ msgstr "Неправильний час" msgid "Invalid URL" msgstr "Неправильна URL-адреса" -#: src/component/settings/passcode.vue:314 -#: src/component/settings/passcode.vue:391 +#: src/component/settings/passcode.vue:317 +#: src/component/settings/passcode.vue:394 msgid "It is a one-time use code that will disable 2FA for your account when you use it." msgstr "Це одноразовий код, який вимикає 2FA для вашого облікового запису, коли ви його використовуєте." @@ -1627,7 +1654,7 @@ msgstr "Обмеження розміру JPEG: %{n}px" msgid "JPEGs and thumbnails are automatically rendered as needed." msgstr "JPEG та мініатюри автоматично відтворюються за потреби." -#: src/component/photo/edit/details.vue:581 +#: src/component/photo/edit/details.vue:555 msgid "Keywords" msgstr "Ключові слова" @@ -1636,9 +1663,9 @@ msgstr "Ключові слова" msgid "Label" msgstr "Мітка" -#: src/app/routes.js:389 src/component/navigation.vue:1177 -#: src/component/photo/edit/dialog.vue:188 -#: src/component/photo/edit/dialog.vue:205 src/options/options.js:206 +#: src/app/routes.js:397 src/component/navigation.vue:1197 +#: src/component/photo/edit/dialog.vue:196 +#: src/component/photo/edit/dialog.vue:215 src/options/options.js:206 #: src/page/settings/general.vue:255 msgid "Labels" msgstr "Мітки" @@ -1655,11 +1682,11 @@ msgstr "Lanczos: збереження деталей, мінімум артеф msgid "Language" msgstr "Мова" -#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:435 +#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:440 msgid "Last Active" msgstr "Останній активний" -#: src/page/admin/users.vue:81 +#: src/page/admin/users.vue:83 msgid "Last Login" msgstr "Останній вхід" @@ -1675,42 +1702,41 @@ msgstr "Остання синхронізація" msgid "Last Used" msgstr "Останнє використання" -#: src/component/photo/edit/details.vue:298 #: src/component/photo/edit/info.vue:373 msgid "Latitude" msgstr "Широта" -#: src/options/admin.js:43 src/options/auth.js:29 +#: src/options/admin.js:47 src/options/auth.js:30 msgid "LDAP/AD" msgstr "LDAP/AD" -#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:86 -#: src/page/about/about.vue:62 src/page/about/about.vue:132 +#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:87 +#: src/page/about/about.vue:62 src/page/about/about.vue:133 #: src/page/connect.vue:67 src/page/help.vue:36 msgid "Learn more" msgstr "Дізнатися більше" -#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:135 +#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:137 #: src/page/labels.vue:132 msgid "Learn More" msgstr "Дізнатися більше" -#: src/component/navigation.vue:2017 +#: src/component/navigation.vue:2066 msgid "Legal Information" msgstr "Юридична інформація" -#: src/component/photo/edit/details.vue:417 +#: src/component/photo/edit/details.vue:391 #: src/component/photo/view/cards.vue:480 msgid "Lens" msgstr "Об'єктив" -#: src/app/routes.js:443 src/app/routes.js:459 src/app/routes.js:475 -#: src/component/navigation.vue:1267 src/page/settings/general.vue:507 +#: src/app/routes.js:451 src/app/routes.js:467 src/app/routes.js:483 +#: src/component/navigation.vue:1290 src/page/settings/general.vue:507 msgid "Library" msgstr "Бібліотека" #: src/page/connect.vue:45 src/app/routes.js:69 -#: src/component/navigation.vue:1478 src/component/photo/edit/details.vue:559 +#: src/component/navigation.vue:1504 src/component/photo/edit/details.vue:533 #: src/page/about/license.vue:28 msgid "License" msgstr "Ліцензія" @@ -1723,7 +1749,7 @@ msgstr "Вподобання" msgid "Lime" msgstr "Лаймовий" -#: src/page/library/browse.vue:369 +#: src/page/library/browse.vue:371 msgid "Limit reached, showing first %{n} files" msgstr "Ліміт досягнуто, показано перші %{n} файлів" @@ -1731,7 +1757,7 @@ msgstr "Ліміт досягнуто, показано перші %{n} файл msgid "Linear: Very Smooth, Best Performance" msgstr "Лінійний: дуже плавний, найкраща продуктивність" -#: src/model/link.js:117 src/options/auth.js:30 src/options/auth.js:31 +#: src/model/link.js:117 src/options/auth.js:31 src/options/auth.js:32 msgid "Link" msgstr "Посилання" @@ -1749,7 +1775,7 @@ msgstr "Перегляд списку" msgid "Live" msgstr "Live фото" -#: src/app/routes.js:236 src/component/navigation.vue:749 +#: src/app/routes.js:244 src/component/navigation.vue:755 msgid "Live Photos" msgstr "Живі фото" @@ -1765,21 +1791,24 @@ msgstr "Завантажуємо товари..." msgid "Loading..." msgstr "Завантаження..." -#: src/options/admin.js:35 src/options/auth.js:22 src/options/auth.js:27 +#: src/options/admin.js:39 src/options/auth.js:23 src/options/auth.js:28 #: src/options/options.js:38 src/page/settings/general.vue:107 msgid "Local" msgstr "Місцевий" -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Local Time" msgstr "Місцевий час" -#: src/page/settings/account.vue:665 src/page/settings/account.vue:667 -#: src/component/album/edit/dialog.vue:92 src/component/photo/edit/info.vue:65 -#: src/component/photo/edit/labels.vue:48 +#: src/page/settings/account.vue:671 src/page/settings/account.vue:673 +#: src/component/album/edit/dialog.vue:93 +#: src/component/photo/edit/details.vue:38 +#: src/component/photo/edit/details.vue:116 +#: src/component/photo/edit/details.vue:210 +#: src/component/photo/edit/info.vue:67 src/component/photo/edit/labels.vue:48 #: src/component/photo/view/cards.vue:555 src/component/photo/view/list.vue:117 -#: src/component/sidebar/info.vue:107 src/page/albums.vue:99 -#: src/page/settings/account.vue:557 src/page/settings/account.vue:559 +#: src/component/sidebar/info.vue:107 src/page/albums.vue:100 +#: src/page/settings/account.vue:563 src/page/settings/account.vue:565 msgid "Location" msgstr "Місцезнаходження" @@ -1787,20 +1816,19 @@ msgstr "Місцезнаходження" msgid "Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues." msgstr "Повідомлення журналу з’являються тут щоразу, коли PhotoPrism натрапляє на пошкоджені файли або виникають інші потенційні проблеми." -#: src/component/navigation.vue:1552 src/component/navigation.vue:1840 +#: src/component/navigation.vue:1579 src/component/navigation.vue:1877 msgid "Login" msgstr "Увійти в систему" -#: src/component/navigation.vue:1759 +#: src/component/navigation.vue:1791 msgid "Logout" msgstr "Вийти з системи" -#: src/component/navigation.vue:1962 src/page/library.vue:59 +#: src/component/navigation.vue:2007 src/page/library.vue:59 #: src/page/settings/general.vue:557 msgid "Logs" msgstr "Журнали" -#: src/component/photo/edit/details.vue:324 #: src/component/photo/edit/info.vue:379 msgid "Longitude" msgstr "Довгота" @@ -1813,7 +1841,7 @@ msgstr "Низький" msgid "Magenta" msgstr "Маджента" -#: src/component/photo/edit/files.vue:489 +#: src/component/photo/edit/files.vue:491 msgid "Main Color" msgstr "Основний колір" @@ -1821,12 +1849,16 @@ msgstr "Основний колір" msgid "Male" msgstr "Чоловік" -#: src/page/connect.vue:164 src/page/connect.vue:246 -#: src/page/about/about.vue:171 src/page/connect.vue:168 -#: src/page/connect.vue:255 +#: src/page/connect.vue:165 src/page/connect.vue:248 +#: src/page/about/about.vue:173 src/page/connect.vue:169 +#: src/page/connect.vue:257 msgid "Manage Account" msgstr "Керувати обліковим записом" +#: src/options/admin.js:10 src/options/auth.js:7 +msgid "Manager" +msgstr "Менеджер" + #: src/component/photo/edit/info.vue:49 src/component/photo/edit/labels.vue:38 msgid "Manual" msgstr "Посібник" @@ -1843,11 +1875,11 @@ msgstr "Карти" msgid "Marker" msgstr "Маркер" -#: src/component/user/add/dialog.vue:69 +#: src/component/user/add/dialog.vue:70 msgid "Maximum number of accounts has been reached." msgstr "Досягнуто максимальної кількості акаунтів." -#: src/app/routes.js:229 src/component/navigation.vue:688 +#: src/app/routes.js:237 src/component/navigation.vue:693 #: src/options/options.js:199 msgid "Media" msgstr "Медіа" @@ -1864,7 +1896,7 @@ msgstr "Членство" msgid "Merge %{a} with %{b}?" msgstr "Об'єднати %{a} із %{b}?" -#: src/page/about/feedback.vue:102 +#: src/page/about/feedback.vue:103 msgid "Message" msgstr "Повідомлення" @@ -1876,7 +1908,7 @@ msgstr "Повідомлення надіслано" msgid "Metadata" msgstr "Метадані" -#: src/options/auth.js:56 src/options/auth.js:72 +#: src/options/auth.js:57 src/options/auth.js:73 msgid "Metrics" msgstr "Метрики" @@ -1884,7 +1916,7 @@ msgstr "Метрики" msgid "Minimize" msgstr "Мінімізувати" -#: src/component/photo/edit/files.vue:509 src/component/photo/edit/info.vue:367 +#: src/component/photo/edit/files.vue:511 src/component/photo/edit/info.vue:367 msgid "Missing" msgstr "Відсутнє" @@ -1892,17 +1924,17 @@ msgstr "Відсутнє" msgid "Missing or invalid configuration" msgstr "Відсутня або невірна конфігурація" -#: src/app/routes.js:163 src/component/navigation.vue:1129 +#: src/app/routes.js:171 src/component/navigation.vue:1147 #: src/options/options.js:205 src/page/settings/general.vue:230 msgid "Moments" msgstr "Моменти" -#: src/component/navigation.vue:383 +#: src/component/navigation.vue:385 msgid "Monochrome" msgstr "Монохромні" -#: src/page/settings/account.vue:475 src/component/photo/edit/details.vue:137 -#: src/component/photo/toolbar.vue:342 +#: src/page/settings/account.vue:481 src/component/photo/edit/details.vue:139 +#: src/component/photo/toolbar.vue:344 msgid "Month" msgstr "Місяць" @@ -1922,7 +1954,7 @@ msgstr "Найбільш актуальні" msgid "Move Files" msgstr "Перемістити файли" -#: src/component/settings/password.vue:107 +#: src/component/settings/password.vue:108 msgid "Must have at least %{n} characters." msgstr "Повинно містити не менше %{n} символів." @@ -1930,20 +1962,20 @@ msgstr "Повинно містити не менше %{n} символів." msgid "Mute" msgstr "Вимкнути звук." -#: src/page/about/feedback.vue:121 src/page/about/feedback.vue:122 -#: src/component/album/edit/dialog.vue:77 -#: src/component/label/edit/dialog.vue:71 -#: src/component/people/edit/dialog.vue:71 -#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:57 +#: src/page/about/feedback.vue:122 src/page/about/feedback.vue:123 +#: src/component/album/edit/dialog.vue:78 +#: src/component/label/edit/dialog.vue:72 +#: src/component/people/edit/dialog.vue:72 +#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:59 #: src/component/photo/edit/info.vue:125 src/component/photo/edit/people.vue:36 -#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:310 -#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:286 -#: src/page/albums.vue:98 src/page/auth/login.vue:168 +#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:311 +#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:289 +#: src/page/albums.vue:99 src/page/auth/login.vue:168 #: src/page/people/new.vue:68 src/page/settings/services.vue:37 msgid "Name" msgstr "Ім'я" -#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:60 +#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:65 #: src/component/label/edit/dialog.vue:19 #: src/component/people/edit/dialog.vue:19 #: src/component/photo/edit/labels.vue:30 @@ -1953,7 +1985,7 @@ msgstr "Ім'я" msgid "Name too long" msgstr "Задовге ім'я" -#: src/page/admin/users.vue:204 src/options/options.js:361 +#: src/page/admin/users.vue:206 src/options/options.js:361 #: src/options/options.js:371 src/page/settings/services.vue:75 msgid "Never" msgstr "Ніколи" @@ -1962,13 +1994,13 @@ msgstr "Ніколи" msgid "New" msgstr "Нові" -#: src/component/settings/password.vue:106 +#: src/component/settings/password.vue:107 msgid "New Password" msgstr "Новий пароль" #: src/component/album/edit/dialog.vue:24 src/component/photo/toolbar.vue:114 #: src/component/photo/toolbar.vue:126 src/component/photo/toolbar.vue:136 -#: src/page/albums.vue:100 +#: src/page/albums.vue:101 msgid "Newest First" msgstr "Спочатку найновіші" @@ -1984,15 +2016,15 @@ msgstr "Наступна сторінка" msgid "Next visual" msgstr "Наступна візуалізація" -#: src/component/people/merge/dialog.vue:47 -#: src/component/photo/archive/dialog.vue:47 +#: src/component/people/merge/dialog.vue:48 +#: src/component/photo/archive/dialog.vue:48 #: src/component/photo/edit/info.vue:281 src/component/photo/edit/info.vue:297 #: src/component/photo/edit/info.vue:313 src/component/photo/edit/info.vue:329 #: src/component/photo/edit/info.vue:344 msgid "No" msgstr "Немає" -#: src/page/albums.vue:607 src/page/albums.vue:282 +#: src/page/albums.vue:612 src/page/albums.vue:282 msgid "No albums found" msgstr "Альбоми не знайдено" @@ -2000,7 +2032,7 @@ msgstr "Альбоми не знайдено" msgid "No data available" msgstr "Дані відсутні" -#: src/page/labels.vue:523 src/page/labels.vue:155 +#: src/page/labels.vue:528 src/page/labels.vue:155 msgid "No labels found" msgstr "Мітки не знайдено" @@ -2013,15 +2045,15 @@ msgid "No more" msgstr "Досить" #: src/component/photo/edit/people.vue:34 src/page/people/new.vue:346 -#: src/page/people/new.vue:443 src/page/people/new.vue:103 -#: src/page/people/recognized.vue:531 src/page/people/recognized.vue:146 +#: src/page/people/new.vue:446 src/page/people/new.vue:103 +#: src/page/people/recognized.vue:536 src/page/people/recognized.vue:146 msgid "No people found" msgstr "Людей не знайдено" #: src/component/lightbox.vue:365 src/component/photo/view/cards.vue:144 #: src/component/photo/view/list.vue:82 src/component/photo/view/mosaic.vue:68 -#: src/page/album/photos.vue:488 src/page/library/browse.vue:123 -#: src/page/photos.vue:626 src/page/places.vue:624 src/page/places.vue:730 +#: src/page/album/photos.vue:499 src/page/library/browse.vue:123 +#: src/page/photos.vue:636 src/page/places.vue:624 src/page/places.vue:730 msgid "No pictures found" msgstr "Зображення не знайдено" @@ -2030,7 +2062,11 @@ msgstr "Зображення не знайдено" msgid "No recently edited pictures" msgstr "Немає нещодавно відредагованих зображень" -#: src/component/navigation.vue:1655 +#: src/component/location/dialog.vue:166 +msgid "No results" +msgstr "Немає результатів" + +#: src/component/navigation.vue:1686 msgid "No server connection" msgstr "Немає з'єднання з сервером" @@ -2042,7 +2078,7 @@ msgstr "Сервери не налаштовано." msgid "No services configured." msgstr "Служби не налаштовані." -#: src/component/confirm/sponsor.vue:72 +#: src/component/confirm/sponsor.vue:73 msgid "No thanks" msgstr "Ні, дякую" @@ -2052,17 +2088,17 @@ msgstr "Немає попереджень або помилок із цим кл #: src/component/photo/view/cards.vue:154 src/component/photo/view/list.vue:59 #: src/component/photo/view/list.vue:92 src/component/photo/view/mosaic.vue:78 -#: src/component/upload/dialog.vue:208 +#: src/component/upload/dialog.vue:210 msgid "Non-photographic and low-quality images require a review before they appear in search results." msgstr "Нефотографічні та низькоякісні зображення потребують перевірки, перш ніж з’являться в результатах пошуку." -#: src/options/admin.js:47 src/options/auth.js:32 src/options/options.js:212 +#: src/options/admin.js:51 src/options/auth.js:33 src/options/options.js:212 #: src/options/options.js:328 msgid "None" msgstr "Жодного" -#: src/common/util.js:853 src/component/lightbox.vue:633 -#: src/component/service/upload.vue:75 src/component/service/upload.vue:87 +#: src/component/lightbox.vue:633 src/component/service/upload.vue:75 +#: src/component/service/upload.vue:87 msgid "Not allowed" msgstr "Не можна" @@ -2074,8 +2110,7 @@ msgstr "Не знайдено" msgid "Not sorted." msgstr "Не відсортовано." -#: src/common/util.js:858 src/component/lightbox.vue:627 -#: src/component/lightbox.vue:744 +#: src/component/lightbox.vue:627 src/component/lightbox.vue:744 msgid "Not supported" msgstr "Не підтримується" @@ -2083,15 +2118,15 @@ msgstr "Не підтримується" msgid "Note you may manually manage your originals folder and importing is optional." msgstr "Зауважте, що ви можете вручну керувати папкою оригіналів, та імпортувати необов’язково." -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "Note:" msgstr "Примітка:" -#: src/component/service/add.vue:120 +#: src/component/service/add.vue:121 msgid "Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload." msgstr "Примітка: лише сервери WebDAV, такі як Nextcloud або PhotoPrism, можна налаштувати як віддалену службу для резервного копіювання та вивантаження файлів." -#: src/component/photo/edit/details.vue:603 +#: src/component/photo/edit/details.vue:577 msgid "Notes" msgstr "Примітки" @@ -2099,8 +2134,8 @@ msgstr "Примітки" msgid "Nothing to see here yet." msgstr "Поки що тут немає на що дивитися." -#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:115 -#: src/component/settings/apps.vue:390 +#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:125 +#: src/component/settings/apps.vue:393 msgid "Nothing was found." msgstr "Нічого не знайшли." @@ -2108,7 +2143,7 @@ msgstr "Нічого не знайшли." msgid "Offline" msgstr "Поза мережею" -#: src/options/admin.js:39 src/options/auth.js:28 +#: src/options/admin.js:43 src/options/auth.js:29 msgid "OIDC" msgstr "OIDC" @@ -2118,11 +2153,11 @@ msgstr "ГАРАЗД." #: src/component/album/edit/dialog.vue:25 src/component/photo/toolbar.vue:115 #: src/component/photo/toolbar.vue:127 src/component/photo/toolbar.vue:137 -#: src/page/albums.vue:101 +#: src/page/albums.vue:102 msgid "Oldest First" msgstr "Спочатку найстарші" -#: src/component/settings/webdav.vue:77 +#: src/component/settings/webdav.vue:78 msgid "On Windows, enter the following resource in the connection dialog:" msgstr "У Windows, введіть наступний ресурс у діалоговому вікні підключення:" @@ -2134,11 +2169,11 @@ msgstr "Генерація мініатюр на вимогу може спри msgid "Once a week" msgstr "Раз на тиждень" -#: src/page/albums.vue:609 +#: src/page/albums.vue:614 msgid "One album found" msgstr "Один альбом знайдено" -#: src/page/library/browse.vue:358 +#: src/page/library/browse.vue:360 msgid "One file found" msgstr "Один файл знайдено" @@ -2146,24 +2181,24 @@ msgstr "Один файл знайдено" msgid "One file uploaded" msgstr "Один файл вивантажено" -#: src/page/library/browse.vue:360 +#: src/page/library/browse.vue:362 msgid "One folder found" msgstr "Одну папку знайдено" -#: src/page/labels.vue:525 +#: src/page/labels.vue:530 msgid "One label found" msgstr "Одну мітку знайдено" -#: src/page/people/new.vue:348 src/page/people/new.vue:445 -#: src/page/people/recognized.vue:533 +#: src/page/people/new.vue:348 src/page/people/new.vue:448 +#: src/page/people/recognized.vue:538 msgid "One person found" msgstr "Одну людину знайдено" -#: src/page/album/photos.vue:490 src/page/photos.vue:628 +#: src/page/album/photos.vue:501 src/page/photos.vue:638 msgid "One picture found" msgstr "Одне зображення знайдено" -#: src/component/settings/passcode.vue:478 +#: src/component/settings/passcode.vue:481 msgid "Only locally managed accounts can be set up for authentication with 2FA." msgstr "Лише локально керовані облікові записи можна налаштувати для автентифікації за допомогою 2FA." @@ -2171,7 +2206,7 @@ msgstr "Лише локально керовані облікові записи msgid "Open" msgstr "Відкрито" -#: src/component/service/add.vue:86 src/component/service/add.vue:107 +#: src/component/service/add.vue:87 src/component/service/add.vue:108 msgid "optional" msgstr "необов'язковий" @@ -2183,7 +2218,7 @@ msgstr "або" msgid "Orange" msgstr "Оранжевий" -#: src/page/settings/account.vue:571 src/page/settings/account.vue:573 +#: src/page/settings/account.vue:577 src/page/settings/account.vue:579 msgid "Organization" msgstr "Організація" @@ -2199,7 +2234,7 @@ msgstr "Оригінальні назви файлів будуть збереж msgid "Original Name" msgstr "Оригінальна назва" -#: src/component/navigation.vue:1304 src/model/file.js:196 +#: src/component/navigation.vue:1328 src/model/file.js:196 #: src/options/options.js:413 src/page/library/browse.vue:65 #: src/page/settings/content.vue:356 src/page/settings/general.vue:532 msgid "Originals" @@ -2210,7 +2245,7 @@ msgstr "Оригінали" msgid "Other" msgstr "Інше" -#: src/page/about/about.vue:77 src/page/about/about.vue:83 +#: src/page/about/about.vue:78 src/page/about/about.vue:84 msgid "Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible." msgstr "Наша місія полягає в тому, щоб надати найбільш зручне для користувача та конфіденційності рішення, щоб ваші зображення були впорядкованими та доступними." @@ -2222,7 +2257,7 @@ msgstr "На відкритому повітрі" msgid "Page {0}, Current page" msgstr "Сторінка {0}, Поточна сторінка" -#: src/component/photo/edit/files.vue:352 src/model/photo.js:859 +#: src/component/photo/edit/files.vue:352 src/model/photo.js:896 msgid "Pages" msgstr "Сторінки" @@ -2234,15 +2269,15 @@ msgstr "Навігація по сторінках" msgid "Panorama" msgstr "Панорама" -#: src/component/navigation.vue:402 +#: src/component/navigation.vue:404 msgid "Panoramas" msgstr "Панорами" -#: src/component/user/add/dialog.vue:114 src/component/user/add/dialog.vue:115 -#: src/component/service/add.vue:106 src/component/service/edit.vue:352 -#: src/component/settings/apps.vue:121 src/component/settings/passcode.vue:106 -#: src/component/settings/passcode.vue:413 src/component/share/dialog.vue:27 -#: src/options/auth.js:91 src/page/auth/login.vue:196 +#: src/component/user/add/dialog.vue:115 src/component/user/add/dialog.vue:116 +#: src/component/service/add.vue:107 src/component/service/edit.vue:353 +#: src/component/settings/apps.vue:124 src/component/settings/passcode.vue:109 +#: src/component/settings/passcode.vue:416 src/component/share/dialog.vue:27 +#: src/options/auth.js:92 src/page/auth/login.vue:196 msgid "Password" msgstr "Пароль" @@ -2250,9 +2285,9 @@ msgstr "Пароль" msgid "Password changed" msgstr "Пароль змінено" -#: src/app/routes.js:404 src/app/routes.js:428 src/component/navigation.vue:845 -#: src/component/navigation.vue:1898 src/component/photo/edit/dialog.vue:228 -#: src/component/photo/edit/dialog.vue:245 src/options/options.js:201 +#: src/app/routes.js:412 src/app/routes.js:436 src/component/navigation.vue:853 +#: src/component/navigation.vue:1939 src/component/photo/edit/dialog.vue:238 +#: src/component/photo/edit/dialog.vue:257 src/options/options.js:201 #: src/page/settings/general.vue:180 msgid "People" msgstr "Люди" @@ -2273,23 +2308,23 @@ msgstr "Видалити файли назавжди, щоб звільнити msgid "Person" msgstr "Людина" -#: src/options/auth.js:42 +#: src/options/auth.js:43 msgid "Personal" msgstr "Особисте" -#: src/model/photo.js:1273 +#: src/model/photo.js:1310 msgid "Photo" msgstr "Фото" -#: src/page/about/about.vue:156 +#: src/page/about/about.vue:158 msgid "PhotoPrism is 100% self-funded and independent." msgstr "PhotoPrism на 100% самофінансується та є незалежною організацією." -#: src/page/about/about.vue:92 +#: src/page/about/about.vue:93 msgid "PhotoPrism+ Membership" msgstr "Членство в PhotoPrism+" -#: src/app/routes.js:156 +#: src/app/routes.js:164 msgid "Photos" msgstr "Фотографії" @@ -2310,27 +2345,27 @@ msgstr "Місце" msgid "Place & Time" msgstr "Місце і час" -#: src/app/routes.js:303 src/app/routes.js:309 src/app/routes.js:315 -#: src/app/routes.js:330 src/component/navigation.vue:986 -#: src/component/navigation.vue:1914 src/options/options.js:203 +#: src/app/routes.js:311 src/app/routes.js:317 src/app/routes.js:323 +#: src/app/routes.js:338 src/component/navigation.vue:999 +#: src/component/navigation.vue:1956 src/options/options.js:203 #: src/page/places.vue:51 src/page/settings/general.vue:609 #: src/page/settings/general.vue:638 msgid "Places" msgstr "Місця" -#: src/component/settings/password.vue:129 +#: src/component/settings/password.vue:130 msgid "Please confirm your new password." msgstr "Будь-ласка підтвердіть ваш новий пароль." -#: src/component/settings/apps.vue:185 +#: src/component/settings/apps.vue:188 msgid "Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:" msgstr "Будь ласка, скопіюйте цей випадково згенерований пароль програми та зберігайте його в надійному місці, оскільки ви більше не зможете його побачити:" -#: src/component/upload/dialog.vue:203 +#: src/component/upload/dialog.vue:205 msgid "Please do not upload any private, unlawful or offensive pictures." msgstr "Будь ласка, не завантажуйте жодних приватних, незаконних або образливих зображень." -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Please don't upload photos containing offensive content." msgstr "Будь ласка, не завантажуйте фотографії образливого змісту." @@ -2338,11 +2373,11 @@ msgstr "Будь ласка, не завантажуйте фотографії msgid "Please enter OTP character {0}" msgstr "Будь ласка, введіть символ OTP {0}" -#: src/component/settings/password.vue:66 +#: src/component/settings/password.vue:67 msgid "Please note that changing your password will log you out on other devices and browsers." msgstr "Зверніть увагу, що зміна пароля призведе до виходу з системи на інших пристроях та браузерах." -#: src/page/connect.vue:148 src/page/connect.vue:152 +#: src/page/connect.vue:149 src/page/connect.vue:153 msgid "Please restart your instance for the changes to take effect." msgstr "Будь ласка, перезапустіть ваш екземпляр, щоб зміни набули чинності." @@ -2362,11 +2397,11 @@ msgstr "Обмеження розміру PNG: %{n}px" msgid "Portrait" msgstr "Портрет" -#: src/component/service/edit.vue:273 +#: src/component/service/edit.vue:274 msgid "Preserve filenames" msgstr "Зберігати імена файлів" -#: src/component/upload/dialog.vue:162 +#: src/component/upload/dialog.vue:164 msgid "Press enter to create a new album." msgstr "Натисність Enter щоб створити новий альбом." @@ -2403,8 +2438,8 @@ msgstr "Попереднє зображення" msgid "Primary" msgstr "Первинний" -#: src/app/routes.js:271 src/component/album/edit/dialog.vue:176 -#: src/component/navigation.vue:531 src/component/photo/edit/info.vue:303 +#: src/app/routes.js:279 src/component/album/edit/dialog.vue:177 +#: src/component/navigation.vue:533 src/component/photo/edit/info.vue:303 #: src/page/settings/general.vue:280 msgid "Private" msgstr "Приватний" @@ -2429,7 +2464,7 @@ msgstr "Фільтр якості" msgid "Quality Score" msgstr "Показник якості" -#: src/page/admin/users.vue:169 +#: src/page/admin/users.vue:171 msgid "r" msgstr "r" @@ -2460,7 +2495,7 @@ msgstr "Режим «тільки для читання»" #: src/component/album/edit/dialog.vue:26 src/component/photo/toolbar.vue:116 #: src/component/photo/toolbar.vue:128 src/component/photo/toolbar.vue:138 -#: src/page/albums.vue:102 +#: src/page/albums.vue:103 msgid "Recently Added" msgstr "Нещодавно додані" @@ -2468,7 +2503,7 @@ msgstr "Нещодавно додані" msgid "Recently Archived" msgstr "Нещодавно заархівовані" -#: src/component/photo/toolbar.vue:139 src/page/albums.vue:103 +#: src/component/photo/toolbar.vue:139 src/page/albums.vue:104 msgid "Recently Edited" msgstr "Нещодавно відредаговані" @@ -2493,24 +2528,24 @@ msgstr "Код відновлення" msgid "Red" msgstr "Червоний" -#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:126 -#: src/component/album/toolbar.vue:79 src/component/photo/toolbar.vue:169 -#: src/page/albums.vue:173 src/page/labels.vue:112 +#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:128 +#: src/component/album/toolbar.vue:84 src/component/photo/toolbar.vue:169 +#: src/page/albums.vue:175 src/page/labels.vue:112 #: src/page/library/browse.vue:90 src/page/library/errors.vue:81 #: src/page/people/new.vue:54 src/page/people/recognized.vue:88 msgid "Refresh" msgstr "Оновити" -#: src/app/routes.js:337 src/component/navigation.vue:943 -#: src/component/navigation.vue:1026 +#: src/app/routes.js:345 src/component/navigation.vue:955 +#: src/component/navigation.vue:1040 msgid "Regions" msgstr "Регіони" -#: src/page/connect.vue:275 src/page/connect.vue:284 +#: src/page/connect.vue:277 src/page/connect.vue:286 msgid "Register" msgstr "Зареєструватися" -#: src/component/navigation.vue:1773 src/component/update.vue:68 +#: src/component/navigation.vue:1806 src/component/update.vue:68 msgid "Reload" msgstr "Перезавантажити" @@ -2555,34 +2590,34 @@ msgstr "Вимагайте, щоб нефотографічні та неякі msgid "Resolution" msgstr "Роздільна здатність" -#: src/page/connect.vue:179 src/page/connect.vue:183 +#: src/page/connect.vue:180 src/page/connect.vue:184 #: src/page/settings/advanced.vue:782 msgid "Restart" msgstr "Перезавантажити" -#: src/component/user/edit/dialog.vue:485 src/component/lightbox.vue:1221 +#: src/component/user/edit/dialog.vue:488 src/component/lightbox.vue:1221 #: src/component/photo/clipboard.vue:77 msgid "Restore" msgstr "Відновити" -#: src/component/lightbox.vue:2000 +#: src/component/lightbox.vue:2020 msgid "Restored" msgstr "Відновлено" -#: src/component/service/edit.vue:428 +#: src/component/service/edit.vue:429 msgid "Retry Limit" msgstr "Ліміт повторних спроб" -#: src/component/settings/password.vue:128 +#: src/component/settings/password.vue:129 msgid "Retype Password" msgstr "Введіть пароль повторно" -#: src/app/routes.js:264 src/component/navigation.vue:505 +#: src/app/routes.js:272 src/component/navigation.vue:507 msgid "Review" msgstr "Потребують перевірки" -#: src/component/user/add/dialog.vue:171 src/component/user/edit/dialog.vue:284 -#: src/page/admin/sessions.vue:262 src/page/admin/users.vue:73 +#: src/component/user/add/dialog.vue:172 src/component/user/edit/dialog.vue:285 +#: src/page/admin/sessions.vue:263 src/page/admin/users.vue:75 msgid "Role" msgstr "Роль" @@ -2594,11 +2629,11 @@ msgstr "Рядки на сторінці:" msgid "Satellite" msgstr "Супутник" -#: src/component/user/edit/dialog.vue:485 -#: src/component/album/edit/dialog.vue:211 -#: src/component/label/edit/dialog.vue:119 -#: src/component/people/edit/dialog.vue:132 src/component/service/edit.vue:466 -#: src/component/settings/password.vue:172 src/component/share/dialog.vue:181 +#: src/component/user/edit/dialog.vue:488 +#: src/component/album/edit/dialog.vue:212 +#: src/component/label/edit/dialog.vue:120 +#: src/component/people/edit/dialog.vue:133 src/component/service/edit.vue:467 +#: src/component/settings/password.vue:173 src/component/share/dialog.vue:181 msgid "Save" msgstr "Зберегти" @@ -2606,23 +2641,23 @@ msgstr "Зберегти" msgid "Scan" msgstr "Сканувати" -#: src/component/settings/passcode.vue:179 +#: src/component/settings/passcode.vue:182 msgid "Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:" msgstr "Відскануйте QR-код за допомогою програми автентифікації або скористайтеся ключем налаштування, показаним нижче, а потім введіть згенерований код підтвердження:" -#: src/component/navigation.vue:461 +#: src/component/navigation.vue:463 msgid "Scans" msgstr "Відскановані" -#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:377 -#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:310 +#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:381 +#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:313 msgid "Scope" msgstr "Сфера застосування" -#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:62 -#: src/component/navigation.vue:342 src/component/navigation.vue:1866 -#: src/component/photo/toolbar.vue:57 src/options/options.js:197 -#: src/page/albums.vue:100 src/page/labels.vue:77 +#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:69 +#: src/component/location/dialog.vue:133 src/component/navigation.vue:343 +#: src/component/navigation.vue:1905 src/component/photo/toolbar.vue:57 +#: src/options/options.js:197 src/page/albums.vue:100 src/page/labels.vue:77 #: src/page/library/errors.vue:76 src/page/people/recognized.vue:66 #: src/page/places.vue:79 src/page/settings/content.vue:235 msgid "Search" @@ -2660,11 +2695,11 @@ msgstr "Виберіть дату" msgid "Select dates" msgstr "Виберіть дати" -#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:154 +#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:156 msgid "Select or create an album" msgstr "Виберіть або створіть альбом" -#: src/component/upload/dialog.vue:138 +#: src/component/upload/dialog.vue:140 msgid "Select the files to upload…" msgstr "Виберіть файли для завантаження…" @@ -2692,7 +2727,7 @@ msgstr "Вибране відновлено" msgid "Sequential Name" msgstr "Послідовне ім'я" -#: src/component/service/add.vue:67 src/component/service/edit.vue:322 +#: src/component/service/add.vue:68 src/component/service/edit.vue:323 #: src/component/share/dialog.vue:25 msgid "Service URL" msgstr "URL служби" @@ -2701,7 +2736,7 @@ msgstr "URL служби" msgid "Services" msgstr "Послуги" -#: src/model/session.js:107 src/options/auth.js:41 src/options/auth.js:90 +#: src/model/session.js:107 src/options/auth.js:42 src/options/auth.js:91 msgid "Session" msgstr "Сесія" @@ -2709,7 +2744,7 @@ msgstr "Сесія" msgid "Session ID" msgstr "Ідентифікатор сеансу" -#: src/page/admin.vue:45 +#: src/page/admin.vue:44 msgid "Sessions" msgstr "Сесії" @@ -2717,22 +2752,22 @@ msgstr "Сесії" msgid "Set as Album Cover" msgstr "Встановити як обкладинку альбому" -#: src/app/routes.js:101 src/app/routes.js:492 src/app/routes.js:504 -#: src/app/routes.js:521 src/app/routes.js:534 src/app/routes.js:547 -#: src/component/navigation.vue:1394 src/component/navigation.vue:1806 +#: src/app/routes.js:101 src/app/routes.js:500 src/app/routes.js:512 +#: src/app/routes.js:529 src/app/routes.js:542 src/app/routes.js:555 +#: src/component/navigation.vue:1419 src/component/navigation.vue:1841 msgid "Settings" msgstr "Налаштування" #: src/page/settings/account.vue:115 src/page/settings/account.vue:144 -#: src/component/settings/passcode.vue:147 +#: src/component/settings/passcode.vue:151 msgid "Settings saved" msgstr "Налаштування збережено" -#: src/component/service/upload.vue:131 src/component/settings/passcode.vue:160 +#: src/component/service/upload.vue:132 src/component/settings/passcode.vue:163 msgid "Setup" msgstr "Налаштувати" -#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:98 +#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:103 #: src/component/photo/clipboard.vue:51 src/page/settings/general.vue:382 msgid "Share" msgstr "Поділитися" @@ -2749,7 +2784,7 @@ msgstr "Діліться своїми фотографіями з іншими msgid "Show" msgstr "Показати" -#: src/page/people/new.vue:116 src/page/people/new.vue:233 +#: src/page/people/new.vue:116 src/page/people/new.vue:235 msgid "Show all new faces" msgstr "Показати всі нові обличчя" @@ -2794,7 +2829,7 @@ msgid "Similar" msgstr "Схожі" #: src/component/photo/edit/files.vue:51 src/component/photo/edit/files.vue:341 -#: src/component/service/edit.vue:139 src/component/sidebar/info.vue:96 +#: src/component/service/edit.vue:140 src/component/sidebar/info.vue:96 msgid "Size" msgstr "Розмір" @@ -2822,7 +2857,7 @@ msgstr "Щось пішло не так, спробуйте ще раз" msgid "Sort by" msgstr "Сортувати за" -#: src/component/album/edit/dialog.vue:142 src/component/photo/toolbar.vue:288 +#: src/component/album/edit/dialog.vue:143 src/component/photo/toolbar.vue:290 #: src/page/albums.vue:214 msgid "Sort Order" msgstr "Порядок сортування" @@ -2857,7 +2892,7 @@ msgstr "Згрупувати зображення, зроблені в той с msgid "Stackable" msgstr "Згруповуємі" -#: src/component/navigation.vue:421 src/page/settings/content.vue:136 +#: src/component/navigation.vue:423 src/page/settings/content.vue:136 msgid "Stacks" msgstr "Групи" @@ -2885,16 +2920,16 @@ msgstr "Сховище" msgid "Streets" msgstr "Вулиці" -#: src/component/photo/edit/details.vue:494 +#: src/component/photo/edit/details.vue:468 #: src/component/photo/edit/labels.vue:44 msgid "Subject" msgstr "Тема" -#: src/page/about/feedback.vue:162 src/page/about/feedback.vue:163 +#: src/page/about/feedback.vue:163 src/page/about/feedback.vue:164 msgid "Submit" msgstr "Надіслати" -#: src/component/settings/passcode.vue:132 +#: src/component/settings/passcode.vue:136 msgid "Successfully activated" msgstr "Активація успішна" @@ -2903,23 +2938,23 @@ msgid "Successfully Connected" msgstr "Успішно підключено" #: src/component/session/remove/dialog.vue:32 -#: src/component/settings/apps.vue:218 +#: src/component/settings/apps.vue:222 msgid "Successfully deleted" msgstr "Успішно видалено" -#: src/component/settings/passcode.vue:107 +#: src/component/settings/passcode.vue:108 msgid "Successfully verified" msgstr "Верифікація успішна" -#: src/component/user/edit/dialog.vue:398 src/page/admin/users.vue:163 +#: src/component/user/edit/dialog.vue:399 src/page/admin/users.vue:165 msgid "Super Admin" msgstr "Супер адміністратор" -#: src/component/service/add.vue:122 +#: src/component/service/add.vue:123 msgid "Support for additional services, like Google Drive, will be added over time." msgstr "Підтримка додаткових служб, як Google Drive, буде додана з часом." -#: src/component/confirm/sponsor.vue:37 src/component/navigation.vue:1629 +#: src/component/confirm/sponsor.vue:38 src/component/navigation.vue:1660 msgid "Support Our Mission" msgstr "Підтримайте нашу місію" @@ -2927,7 +2962,7 @@ msgstr "Підтримайте нашу місію" msgid "Sync" msgstr "Синхронізація" -#: src/component/service/edit.vue:289 +#: src/component/service/edit.vue:290 msgid "Sync raw and video files" msgstr "Синхронізація файлів у форматі raw і відео" @@ -2953,23 +2988,23 @@ msgstr "Місцевість" msgid "Text" msgstr "Текст" -#: src/component/photo/edit/details.vue:32 src/page/people/new.vue:71 +#: src/component/photo/edit/details.vue:40 src/page/people/new.vue:71 msgid "Text too long" msgstr "Текст занадто довгий" -#: src/page/about/about.vue:145 +#: src/page/about/about.vue:146 msgid "Thank You for Your Support!" msgstr "Дякуємо за Вашу підтримку!" -#: src/page/about/about.vue:79 src/page/about/about.vue:85 +#: src/page/about/about.vue:80 src/page/about/about.vue:86 msgid "That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality." msgstr "Саме тому PhotoPrism був створений з нуля, щоб працювати там, де вам потрібно, без шкоди для свободи, конфіденційності та функціональності." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "The index currently contains %{n} hidden files." msgstr "Індекс наразі містить %{n} прихованих файлів." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates." msgstr "Можливо, їх формат не підтримується, вони ще не перетворені на JPEG або є дублікати." @@ -2984,44 +3019,44 @@ msgstr "Тема" msgid "This field is required" msgstr "Це поле обов'язкове для заповнення" -#: src/component/settings/webdav.vue:100 src/page/settings/services.vue:144 +#: src/component/settings/webdav.vue:101 src/page/settings/services.vue:147 msgid "This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local." msgstr "Це монтує папку оригіналів як мережевий диск і дозволяє відкривати, редагувати та видаляти файли з вашого комп’ютера чи смартфона, наче вони локальні." -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Time UTC" msgstr "Час за UTC" -#: src/component/photo/edit/details.vue:219 src/page/settings/general.vue:108 +#: src/component/photo/edit/details.vue:221 src/page/settings/general.vue:108 msgid "Time Zone" msgstr "Часовий пояс" -#: src/component/service/edit.vue:408 +#: src/component/service/edit.vue:409 msgid "Timeout" msgstr "Час вийшов" -#: src/component/user/edit/dialog.vue:98 src/component/user/edit/dialog.vue:99 +#: src/component/user/edit/dialog.vue:99 src/component/user/edit/dialog.vue:100 #: src/page/settings/account.vue:84 src/page/settings/account.vue:86 msgctxt "Account" msgid "Title" msgstr "Заголовок" -#: src/component/photo/edit/details.vue:73 +#: src/component/photo/edit/details.vue:75 msgctxt "Photo" msgid "Title" msgstr "Заголовок" -#: src/component/photo/edit/info.vue:59 src/component/photo/edit/info.vue:155 +#: src/component/photo/edit/info.vue:61 src/component/photo/edit/info.vue:155 #: src/component/photo/edit/labels.vue:40 src/component/photo/view/list.vue:114 #: src/component/sidebar/info.vue:57 msgid "Title" msgstr "Заголовок" -#: src/page/settings/account.vue:553 src/page/settings/account.vue:555 +#: src/page/settings/account.vue:559 src/page/settings/account.vue:561 msgid "Title / Position" msgstr "Звання / посада" -#: src/page/albums.vue:83 +#: src/page/albums.vue:84 msgid "Title too long" msgstr "Заголовок занадто довгий" @@ -3029,19 +3064,19 @@ msgstr "Заголовок занадто довгий" msgid "to" msgstr "до" -#: src/component/settings/passcode.vue:312 +#: src/component/settings/passcode.vue:315 msgid "To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place." msgstr "Щоб уникнути блокування доступу до облікового запису, завантажте, роздрукуйте або скопіюйте цей код відновлення зараз і зберігайте його в безпечному місці." -#: src/component/settings/apps.vue:272 +#: src/component/settings/apps.vue:275 msgid "To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:" msgstr "Щоб згенерувати новий пароль програми, введіть ім’я та область авторизації програми та виберіть термін дії:" -#: src/component/settings/passcode.vue:400 +#: src/component/settings/passcode.vue:403 msgid "To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:" msgstr "Щоб перейти на нову програму або пристрій для автентифікації, спочатку вимкніть двофакторну автентифікацію, а потім знову активуйте її:" -#: src/page/connect.vue:221 src/page/connect.vue:230 +#: src/page/connect.vue:223 src/page/connect.vue:232 msgid "To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:" msgstr "Щоб оновити версію, ви можете ввести код активації або натиснути кнопку \"Зареєструватися\", щоб зареєструватися на нашому сайті:" @@ -3049,7 +3084,7 @@ msgstr "Щоб оновити версію, ви можете ввести ко msgid "Today" msgstr "Сьогодні" -#: src/component/album/toolbar.vue:70 src/component/photo/toolbar.vue:78 +#: src/component/album/toolbar.vue:71 src/component/photo/toolbar.vue:78 msgid "Toggle View" msgstr "Перемкнути перегляд" @@ -3076,20 +3111,24 @@ msgstr "Усунення несправностей" msgid "Try again using other filters or keywords." msgstr "Спробуйте ще раз, використовуючи інші фільтри або ключові слова." -#: src/component/settings/passcode.vue:380 +#: src/component/settings/passcode.vue:383 msgid "Two-factor authentication has been enabled for your account." msgstr "Для вашого облікового запису ввімкнено двофакторну автентифікацію." #: src/component/photo/edit/files.vue:58 src/component/photo/edit/files.vue:330 -#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:388 +#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:389 msgid "Type" msgstr "Тип" -#: src/options/auth.js:13 +#: src/component/album/toolbar.vue:178 +msgid "Unable to delete" +msgstr "Неможливо видалити" + +#: src/options/auth.js:14 msgid "Unauthorized" msgstr "Несанкціонований" -#: src/component/photo/edit/people.vue:94 +#: src/component/photo/edit/people.vue:95 msgid "Undo" msgstr "Відмінити" @@ -3097,16 +3136,16 @@ msgstr "Відмінити" msgid "Unique ID" msgstr "Унікальний ідентифікатор" -#: src/page/settings/account.vue:451 src/page/settings/account.vue:476 -#: src/page/settings/account.vue:501 src/common/util.js:487 -#: src/component/photo/edit/details.vue:21 -#: src/component/photo/edit/details.vue:111 -#: src/component/photo/edit/details.vue:138 -#: src/component/photo/edit/details.vue:164 src/component/sidebar/info.vue:43 -#: src/model/album.js:193 src/model/photo.js:323 src/model/photo.js:784 -#: src/model/photo.js:809 src/model/photo.js:832 src/model/photo.js:850 -#: src/model/photo.js:897 src/model/photo.js:905 src/model/photo.js:994 -#: src/model/photo.js:1016 src/model/photo.js:1061 src/model/photo.js:1074 +#: src/page/settings/account.vue:457 src/page/settings/account.vue:482 +#: src/page/settings/account.vue:507 src/common/util.js:488 +#: src/component/photo/edit/details.vue:27 +#: src/component/photo/edit/details.vue:113 +#: src/component/photo/edit/details.vue:140 +#: src/component/photo/edit/details.vue:166 src/component/sidebar/info.vue:43 +#: src/model/album.js:193 src/model/photo.js:331 src/model/photo.js:821 +#: src/model/photo.js:846 src/model/photo.js:869 src/model/photo.js:887 +#: src/model/photo.js:934 src/model/photo.js:942 src/model/photo.js:1031 +#: src/model/photo.js:1053 src/model/photo.js:1098 src/model/photo.js:1111 #: src/model/user.js:157 src/options/options.js:51 src/options/options.js:69 #: src/options/options.js:86 src/options/options.js:100 #: src/options/options.js:112 src/page/library/errors.vue:251 @@ -3119,7 +3158,7 @@ msgstr "Невідомий" msgid "Unregistered" msgstr "Незареєстрований" -#: src/app/routes.js:215 src/component/navigation.vue:644 +#: src/app/routes.js:223 src/component/navigation.vue:648 msgid "Unsorted" msgstr "Невідсортовані" @@ -3127,7 +3166,7 @@ msgstr "Невідсортовані" msgid "Unstack" msgstr "Розгрупувати" -#: src/component/photo/edit/files.vue:519 src/component/photo/edit/info.vue:416 +#: src/component/photo/edit/files.vue:521 src/component/photo/edit/info.vue:416 msgid "Updated" msgstr "Оновлено" @@ -3143,7 +3182,7 @@ msgstr "Оновлення індексу" msgid "Updating moments" msgstr "Оновлення моментів" -#: src/component/user/edit/dialog.vue:154 +#: src/component/user/edit/dialog.vue:155 msgid "Updating picture…" msgstr "Оновлення зображення…" @@ -3155,21 +3194,21 @@ msgstr "Оновлення попереднього перегляду" msgid "Updating stacks" msgstr "Оновлення стеків" -#: src/page/connect.vue:57 src/component/navigation.vue:1500 -#: src/component/navigation.vue:1614 src/component/navigation.vue:1999 +#: src/page/connect.vue:57 src/component/navigation.vue:1526 +#: src/component/navigation.vue:1644 src/component/navigation.vue:2047 #: src/page/connect.vue:58 msgid "Upgrade" msgstr "Оновлення" -#: src/page/about/about.vue:123 src/page/connect.vue:202 -#: src/component/confirm/sponsor.vue:98 src/page/about/about.vue:113 -#: src/page/connect.vue:206 +#: src/page/about/about.vue:124 src/page/connect.vue:204 +#: src/component/confirm/sponsor.vue:99 src/page/about/about.vue:114 +#: src/page/connect.vue:208 msgid "Upgrade Now" msgstr "Оновити зараз" -#: src/component/album/toolbar.vue:108 src/component/navigation.vue:1824 -#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:144 -#: src/component/upload/dialog.vue:51 src/page/albums.vue:183 +#: src/component/album/toolbar.vue:113 src/component/navigation.vue:1860 +#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:145 +#: src/component/upload/dialog.vue:51 src/page/albums.vue:185 #: src/page/labels.vue:122 src/page/library/import.vue:133 #: src/page/settings/general.vue:307 src/page/settings/services.vue:38 msgid "Upload" @@ -3179,21 +3218,21 @@ msgstr "Вивантажити" msgid "Upload complete" msgstr "Вивантаження завершено" -#: src/component/upload/dialog.vue:133 +#: src/component/upload/dialog.vue:135 msgid "Upload complete. Indexing…" msgstr "Вивантаження завершено. Індексація…" #: src/component/upload/dialog.vue:296 src/component/upload/dialog.vue:315 -#: src/component/upload/dialog.vue:129 +#: src/component/upload/dialog.vue:131 msgid "Upload failed" msgstr "Помилка вивантаження" -#: src/component/service/edit.vue:257 +#: src/component/service/edit.vue:258 msgid "Upload local files" msgstr "Вивантажити локальні файли" -#: src/component/user/edit/dialog.vue:380 #: src/component/user/edit/dialog.vue:381 +#: src/component/user/edit/dialog.vue:382 msgid "Upload Path" msgstr "Шлях завантаження" @@ -3201,7 +3240,7 @@ msgstr "Шлях завантаження" msgid "Upload to WebDAV and share links with friends." msgstr "Вивантажити в WebDAV і поділитися посиланнями з друзями." -#: src/component/upload/dialog.vue:131 +#: src/component/upload/dialog.vue:133 msgid "Uploading %{n} of %{t}…" msgstr "Вивантаження %{n} з %{t}…" @@ -3214,7 +3253,7 @@ msgstr "Вивантаження фотографій…" msgid "Uploading…" msgstr "Вивантаження…" -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Uploads that may contain such images will be rejected automatically." msgstr "Вивантаження, які можуть містити такі зображення, автоматично відхилятимуться." @@ -3222,7 +3261,7 @@ msgstr "Вивантаження, які можуть містити такі з msgid "Use Presets" msgstr "Використовуйте попередні налаштування" -#: src/component/settings/passcode.vue:283 +#: src/component/settings/passcode.vue:286 msgid "Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:" msgstr "Використовуйте такий код відновлення, щоб отримати доступ до свого облікового запису, якщо ви не можете створити дійсний код підтвердження за допомогою програми автентифікації:" @@ -3230,12 +3269,12 @@ msgstr "Використовуйте такий код відновлення, msgid "Use your recovery code or contact an administrator for help." msgstr "Скористайтеся кодом відновлення або зверніться по допомогу до адміністратора." -#: src/options/admin.js:10 src/page/admin/sessions.vue:59 -#: src/page/admin/sessions.vue:242 src/model/user.js:361 src/options/auth.js:7 +#: src/options/admin.js:14 src/page/admin/sessions.vue:59 +#: src/page/admin/sessions.vue:243 src/model/user.js:361 src/options/auth.js:8 msgid "User" msgstr "Користувач" -#: src/component/navigation.vue:1979 +#: src/component/navigation.vue:2025 msgid "User Guide" msgstr "Посібник користувача" @@ -3243,14 +3282,14 @@ msgstr "Посібник користувача" msgid "User Interface" msgstr "Інтерфейс користувача" -#: src/component/user/add/dialog.vue:87 src/component/user/add/dialog.vue:88 -#: src/page/admin/sessions.vue:220 src/page/admin/users.vue:71 -#: src/component/service/add.vue:85 src/component/service/edit.vue:337 +#: src/component/user/add/dialog.vue:88 src/component/user/add/dialog.vue:89 +#: src/page/admin/sessions.vue:221 src/page/admin/users.vue:73 +#: src/component/service/add.vue:86 src/component/service/edit.vue:338 #: src/component/share/dialog.vue:26 msgid "Username" msgstr "Ім'я користувача" -#: src/component/navigation.vue:1435 +#: src/component/navigation.vue:1461 msgid "Users" msgstr "Користувачі" @@ -3260,18 +3299,18 @@ msgstr "Користувачі" msgid "Vector" msgstr "Вектор" -#: src/component/navigation.vue:440 +#: src/component/navigation.vue:442 msgid "Vectors" msgstr "Вектори" -#: src/component/settings/passcode.vue:227 src/page/auth/login.vue:144 +#: src/component/settings/passcode.vue:230 src/page/auth/login.vue:144 msgid "Verification Code" msgstr "Код підтвердження" #: src/component/photo/view/cards.vue:363 #: src/component/photo/view/cards.vue:491 src/component/photo/view/list.vue:190 #: src/component/photo/view/mosaic.vue:207 src/model/file.js:221 -#: src/model/photo.js:921 src/model/photo.js:939 src/options/options.js:293 +#: src/model/photo.js:958 src/model/photo.js:976 src/options/options.js:293 msgid "Video" msgstr "Відео" @@ -3280,12 +3319,12 @@ msgstr "Відео" msgid "Video Duration" msgstr "Тривалість відео" -#: src/app/routes.js:243 src/component/navigation.vue:728 +#: src/app/routes.js:251 src/component/navigation.vue:734 #: src/options/options.js:200 msgid "Videos" msgstr "Відео" -#: src/component/photo/toolbar.vue:261 src/component/photo/view/cards.vue:350 +#: src/component/photo/toolbar.vue:263 src/component/photo/view/cards.vue:350 #: src/component/photo/view/mosaic.vue:194 msgid "View" msgstr "Вид" @@ -3294,11 +3333,11 @@ msgstr "Вид" msgid "View search results as a list." msgstr "Переглянути результати пошуку у вигляді списку." -#: src/options/admin.js:14 src/options/auth.js:8 +#: src/options/admin.js:18 src/options/auth.js:9 msgid "Viewer" msgstr "Глядач" -#: src/page/admin/sessions.vue:271 src/options/auth.js:12 +#: src/page/admin/sessions.vue:272 src/options/auth.js:13 msgid "Visitor" msgstr "Відвідувач" @@ -3310,34 +3349,34 @@ msgstr "Візуальна схожість" msgid "Warning" msgstr "Попередження" -#: src/page/about/feedback.vue:60 +#: src/page/about/feedback.vue:61 msgid "We appreciate your feedback!" msgstr "Ми вдячні Вам за зворотній зв'язок!" -#: src/page/about/feedback.vue:63 +#: src/page/about/feedback.vue:64 msgid "We do our best to respond within five business days or less." msgstr "Ми намагаємося відповідати протягом п'яти робочих днів або менше." -#: src/component/user/add/dialog.vue:235 src/component/user/edit/dialog.vue:415 -#: src/page/admin/users.vue:80 +#: src/component/user/add/dialog.vue:236 src/component/user/edit/dialog.vue:416 +#: src/page/admin/users.vue:82 msgid "Web Login" msgstr "Веб-логін" -#: src/component/user/add/dialog.vue:248 src/component/user/edit/dialog.vue:432 -#: src/page/admin/users.vue:82 src/options/auth.js:55 src/options/auth.js:68 +#: src/component/user/add/dialog.vue:249 src/component/user/edit/dialog.vue:433 +#: src/page/admin/users.vue:84 src/options/auth.js:56 src/options/auth.js:69 #: src/options/options.js:444 msgid "WebDAV" msgstr "WebDAV" -#: src/component/settings/webdav.vue:51 +#: src/component/settings/webdav.vue:52 msgid "WebDAV clients can connect to PhotoPrism using the following URL:" msgstr "Клієнти WebDAV можуть підключатися до PhotoPrism за такою URL-адресою:" -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism." msgstr "Клієнти WebDAV, такі як Windows Explorer від Microsoft або Finder від Apple, можуть підключатися безпосередньо до PhotoPrism." -#: src/component/service/upload.vue:50 src/component/share/dialog.vue:220 +#: src/component/service/upload.vue:51 src/component/share/dialog.vue:220 msgid "WebDAV Upload" msgstr "Вивантаження WebDAV" @@ -3345,8 +3384,8 @@ msgstr "Вивантаження WebDAV" msgid "WebGL support is disabled in your browser" msgstr "У вашому браузері вимкнено підтримку WebGL" -#: src/page/settings/account.vue:615 src/page/settings/account.vue:709 -#: src/page/settings/account.vue:601 +#: src/page/settings/account.vue:621 src/page/settings/account.vue:715 +#: src/page/settings/account.vue:607 msgid "Website" msgstr "Веб-сайт" @@ -3354,12 +3393,12 @@ msgstr "Веб-сайт" msgid "White" msgstr "Білий" -#: src/page/settings/account.vue:532 +#: src/page/settings/account.vue:538 msgid "Work Details" msgstr "Деталі роботи" -#: src/page/settings/account.vue:500 src/component/photo/edit/details.vue:163 -#: src/component/photo/toolbar.vue:315 src/page/albums.vue:159 +#: src/page/settings/account.vue:506 src/component/photo/edit/details.vue:165 +#: src/component/photo/toolbar.vue:317 src/page/albums.vue:159 msgid "Year" msgstr "Рік" @@ -3367,21 +3406,21 @@ msgstr "Рік" msgid "Yellow" msgstr "Жовтий" -#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:58 -#: src/component/photo/archive/dialog.vue:58 +#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:59 +#: src/component/photo/archive/dialog.vue:59 #: src/component/photo/clipboard.vue:200 src/component/photo/edit/files.vue:365 #: src/component/photo/edit/files.vue:395 #: src/component/photo/edit/files.vue:401 #: src/component/photo/edit/files.vue:407 -#: src/component/photo/edit/files.vue:510 src/component/photo/edit/info.vue:281 +#: src/component/photo/edit/files.vue:512 src/component/photo/edit/info.vue:281 #: src/component/photo/edit/info.vue:297 src/component/photo/edit/info.vue:313 #: src/component/photo/edit/info.vue:329 src/component/photo/edit/info.vue:344 -#: src/component/photo/toolbar.vue:434 +#: src/component/photo/toolbar.vue:436 msgid "Yes" msgstr "Так" -#: src/component/confirm/sponsor.vue:59 src/page/about/about.vue:158 -#: src/page/connect.vue:315 +#: src/component/confirm/sponsor.vue:60 src/page/about/about.vue:160 +#: src/page/connect.vue:317 msgid "You are welcome to contact us at membership@photoprism.app for questions regarding your membership." msgstr "Ви можете зв'язатися з нами за адресою membership@photoprism.app з питань, що стосуються вашого членства." @@ -3393,7 +3432,11 @@ msgstr "Ви можете завантажити лише один альбом" msgid "You can only download one label" msgstr "Ви можете завантажити лише одну мітку" -#: src/component/upload/dialog.vue:203 +#: src/component/location/dialog.vue:178 +msgid "You can search for a location or move the marker on the map to change the position:" +msgstr "Ви можете шукати місце розташування або переміщати маркер на карті, щоб змінити позицію:" + +#: src/component/upload/dialog.vue:205 msgid "You can upload up to %{n} files for test purposes." msgstr "Ви можете завантажити до %{n} файлів для тестування." @@ -3406,7 +3449,7 @@ msgstr "Ви можете вибрати лише один об'єкт" msgid "You may rescan your library to find additional faces." msgstr "Ви можете пересканувати вашу бібліотеку щоб знайти додаткові обличчя." -#: src/page/connect.vue:146 src/page/connect.vue:150 +#: src/page/connect.vue:147 src/page/connect.vue:151 msgid "Your account has been successfully connected." msgstr "Ваш обліковий запис успішно підключено." @@ -3414,8 +3457,8 @@ msgstr "Ваш обліковий запис успішно підключено msgid "Your browser does not support WebGL" msgstr "Ваш браузер не підтримує WebGL" -#: src/component/confirm/sponsor.vue:43 src/page/about/about.vue:97 -#: src/page/about/about.vue:156 src/page/connect.vue:220 +#: src/component/confirm/sponsor.vue:44 src/page/about/about.vue:98 +#: src/page/about/about.vue:158 src/page/connect.vue:222 msgid "Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy." msgstr "Ваша постійна підтримка допомагає нам надавати регулярні оновлення та залишатися незалежними, щоб ми могли виконувати нашу місію та захищати вашу конфіденційність." @@ -3496,9 +3539,6 @@ msgstr "Збільшити/зменшити" #~ msgid "Open Folder" #~ msgstr "Відкрити папку" -#~ msgid "Cannot copy to clipboard" -#~ msgstr "Неможливо скопіювати до буфера обміну" - #~ msgid "Sound" #~ msgstr "Звук" diff --git a/frontend/src/locales/vi.po b/frontend/src/locales/vi.po index 86f2ef370..192e3514c 100644 --- a/frontend/src/locales/vi.po +++ b/frontend/src/locales/vi.po @@ -2,13 +2,13 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: ci@photoprism.app\n" -"PO-Revision-Date: 2025-04-04 08:03+0000\n" -"Last-Translator: Google Cloud Translation Basic \n" +"PO-Revision-Date: 2025-07-14 13:18+0000\n" +"Last-Translator: Duy \n" "Language: vi\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.10.4\n" +"X-Generator: Weblate 5.12.2\n" "Generated-By: easygettext\n" #: src/locales.js:268 @@ -39,7 +39,7 @@ msgstr "{0} đã chọn" msgid "{0}-{1} of {2}" msgstr "{0}-{1} của {2}" -#: src/page/albums.vue:612 +#: src/page/albums.vue:617 msgid "%{n} albums found" msgstr "Đã tìm thấy %{n} album" @@ -47,25 +47,25 @@ msgstr "Đã tìm thấy %{n} album" msgid "%{n} files uploaded" msgstr "%{n} tệp đã được tải lên" -#: src/page/library/browse.vue:362 +#: src/page/library/browse.vue:364 msgid "%{n} folders found" msgstr "Đã tìm thấy %{n} thư mục" -#: src/component/navigation.vue:1676 +#: src/component/navigation.vue:1707 msgid "%{n} GB of %{q} GB used" msgstr "%{n} GB trong số %{q} GB đã sử dụng" -#: src/page/labels.vue:528 +#: src/page/labels.vue:533 msgid "%{n} labels found" msgstr "Đã tìm thấy %{n} nhãn" -#: src/page/people/new.vue:350 src/page/people/new.vue:447 -#: src/page/people/recognized.vue:536 +#: src/page/people/new.vue:350 src/page/people/new.vue:450 +#: src/page/people/recognized.vue:541 msgid "%{n} people found" msgstr "Đã tìm thấy %{n} người" -#: src/page/album/photos.vue:308 src/page/album/photos.vue:493 -#: src/page/photos.vue:441 src/page/photos.vue:631 +#: src/page/album/photos.vue:313 src/page/album/photos.vue:504 +#: src/page/photos.vue:446 src/page/photos.vue:641 msgid "%{n} pictures found" msgstr "Đã tìm thấy %{n} ảnh" @@ -85,12 +85,12 @@ msgstr "1 giờ" msgid "12 hours" msgstr "12 giờ" -#: src/component/user/edit/dialog.vue:452 src/page/settings/account.vue:324 -#: src/component/settings/passcode.vue:75 +#: src/component/user/edit/dialog.vue:453 src/page/settings/account.vue:325 +#: src/component/settings/passcode.vue:78 msgid "2-Factor Authentication" msgstr "Xác thực 2 yếu tố" -#: src/component/user/edit/dialog.vue:451 src/options/auth.js:46 +#: src/component/user/edit/dialog.vue:452 src/options/auth.js:47 msgid "2FA" msgstr "2FA" @@ -106,20 +106,20 @@ msgstr "Một cú nhấp chuột sẽ sao chép nó vào clipboard của bạn." msgid "A new version of %{s} is available:" msgstr "Phiên bản mới của %{s} đã có sẵn:" -#: src/component/user/edit/dialog.vue:233 -#: src/component/user/edit/dialog.vue:234 src/page/about/about.vue:56 +#: src/component/user/edit/dialog.vue:234 +#: src/component/user/edit/dialog.vue:235 src/page/about/about.vue:56 #: src/page/settings/account.vue:248 src/page/settings/account.vue:249 -#: src/app/routes.js:63 src/component/navigation.vue:1521 -#: src/page/people/recognized.vue:292 +#: src/app/routes.js:63 src/component/navigation.vue:1547 +#: src/page/people/recognized.vue:296 msgid "About" msgstr "Về" -#: src/options/auth.js:26 src/options/auth.js:44 +#: src/options/auth.js:27 src/options/auth.js:45 msgid "Access Token" msgstr "Truy cập thẻ" -#: src/component/navigation.vue:87 src/component/navigation.vue:1788 -#: src/component/service/upload.vue:71 src/model/service.js:96 +#: src/component/navigation.vue:87 src/component/navigation.vue:1822 +#: src/component/service/upload.vue:72 src/model/service.js:96 #: src/model/user.js:171 src/page/settings.vue:85 #: src/page/settings/general.vue:582 msgid "Account" @@ -133,7 +133,7 @@ msgstr "Tài khoản đã được tạo" msgid "Account deleted" msgstr "Tài khoản đã bị xóa" -#: src/page/admin/users.vue:335 +#: src/page/admin/users.vue:337 msgid "Account restored" msgstr "Tài khoản đã được khôi phục" @@ -154,8 +154,8 @@ msgstr "Hoạt động" msgid "Actions" msgstr "hành động" -#: src/page/connect.vue:294 src/component/settings/passcode.vue:346 -#: src/page/connect.vue:303 +#: src/page/connect.vue:296 src/component/settings/passcode.vue:349 +#: src/page/connect.vue:305 msgid "Activate" msgstr "Kích hoạt" @@ -171,20 +171,20 @@ msgstr "Kích hoạt để sắp xếp theo thứ tự tăng dần." msgid "Activate to sort descending." msgstr "Kích hoạt để sắp xếp theo thứ tự giảm dần." -#: src/page/connect.vue:231 src/page/connect.vue:240 +#: src/page/connect.vue:233 src/page/connect.vue:242 msgid "Activation Code" msgstr "Mã kích hoạt" -#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:83 -#: src/component/settings/apps.vue:448 +#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:92 +#: src/component/settings/apps.vue:451 msgid "Add" msgstr "Thêm vào" -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:246 msgid "Add %{s}?" msgstr "Thêm %{s}?" -#: src/component/user/add/dialog.vue:56 src/component/service/add.vue:49 +#: src/component/user/add/dialog.vue:57 src/component/service/add.vue:50 msgid "Add Account" msgstr "Thêm tài khoản" @@ -201,8 +201,8 @@ msgid "Add Link" msgstr "Thêm liên kết" #: src/component/photo/edit/people.vue:25 -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:57 -#: src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:57 +#: src/page/people/new.vue:246 msgid "Add person?" msgstr "Thêm người?" @@ -218,10 +218,15 @@ msgstr "Thêm hình ảnh từ kết quả tìm kiếm bằng cách chọn chún msgid "Add to album" msgstr "Thêm vào album" -#: src/component/photo/edit/files.vue:514 +#: src/component/photo/edit/files.vue:516 msgid "Added" msgstr "Thêm" +#: src/component/location/dialog.vue:68 src/component/location/dialog.vue:90 +#: src/component/photo/edit/details.vue:246 +msgid "Adjust Location" +msgstr "Điều chỉnh vị trí" + #: src/options/admin.js:6 src/options/auth.js:6 msgid "Admin" msgstr "Quản trị viên" @@ -242,7 +247,7 @@ msgstr "Sau 3 ngày" msgid "After 7 days" msgstr "Sau 7 ngày" -#: src/component/settings/passcode.vue:93 +#: src/component/settings/passcode.vue:96 msgid "After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:" msgstr "Sau khi nhập mật khẩu để xác nhận, bạn có thể thiết lập xác thực hai yếu tố bằng ứng dụng hoặc thiết bị xác thực tương thích:" @@ -274,12 +279,16 @@ msgstr "Album" msgid "Album Backups" msgstr "Sao lưu album" -#: src/page/albums.vue:674 +#: src/page/albums.vue:685 msgid "Album created" msgstr "Đã tạo album" -#: src/app/routes.js:176 src/component/album/toolbar.vue:51 -#: src/component/navigation.vue:604 src/component/navigation.vue:1882 +#: src/page/album/photos.vue:589 +msgid "Album deleted" +msgstr "Album đã xóa" + +#: src/app/routes.js:184 src/component/album/toolbar.vue:55 +#: src/component/navigation.vue:607 src/component/navigation.vue:1922 #: src/component/photo/edit/info.vue:220 src/options/options.js:198 msgid "Albums" msgstr "Tập ảnh" @@ -292,7 +301,7 @@ msgstr "Album đã bị xóa" msgid "All" msgstr "Tất cả" -#: src/page/albums.vue:465 +#: src/page/albums.vue:470 msgid "All %{n} albums loaded" msgstr "Đã tải tất cả %{n} album" @@ -308,8 +317,8 @@ msgstr "Tất cả %{n} người đã tải" msgid "All Cameras" msgstr "Tất cả máy ảnh" -#: src/component/photo/toolbar.vue:74 src/page/albums.vue:44 -#: src/page/albums.vue:240 src/page/albums.vue:746 +#: src/component/photo/toolbar.vue:74 src/page/albums.vue:45 +#: src/page/albums.vue:242 src/page/albums.vue:757 msgid "All Categories" msgstr "Tất cả danh mục" @@ -341,7 +350,7 @@ msgstr "Tất cả các tháng" msgid "All originals" msgstr "Tất cả bản gốc" -#: src/component/photo/toolbar.vue:76 src/page/albums.vue:93 +#: src/component/photo/toolbar.vue:76 src/page/albums.vue:94 msgid "All Years" msgstr "Mọi năm" @@ -353,7 +362,7 @@ msgstr "Ngoài ra, bạn có thể tải tệp trực tiếp lên máy chủ Web msgid "Altitude" msgstr "Độ cao" -#: src/component/photo/edit/details.vue:272 +#: src/component/photo/edit/details.vue:297 msgid "Altitude (m)" msgstr "Độ cao (m)" @@ -361,8 +370,7 @@ msgstr "Độ cao (m)" msgid "AM" msgstr "LÀ" -#: src/app/routes.js:257 src/component/navigation.vue:791 -#: src/component/photo/edit/files.vue:364 +#: src/app/routes.js:265 src/component/photo/edit/files.vue:364 #: src/component/photo/view/cards.vue:327 #: src/component/photo/view/cards.vue:511 src/component/photo/view/list.vue:184 #: src/component/photo/view/mosaic.vue:171 src/options/options.js:301 @@ -373,43 +381,47 @@ msgstr "hoạt hình" msgid "Animation" msgstr "Hoạt hình" +#: src/component/navigation.vue:797 +msgid "Animations" +msgstr "Hoạt hình" + #: src/component/share/dialog.vue:207 msgid "Any private photos and videos remain private and won't be shared." msgstr "Mọi ảnh và video riêng tư vẫn ở chế độ riêng tư và sẽ không được chia sẻ." -#: src/component/service/edit.vue:372 +#: src/component/service/edit.vue:373 msgid "API Key" msgstr "Mã API" -#: src/page/admin/sessions.vue:357 src/options/auth.js:25 +#: src/page/admin/sessions.vue:361 src/options/auth.js:26 msgid "Application" msgstr "Ứng dụng" -#: src/component/photo/edit/details.vue:641 +#: src/component/photo/edit/details.vue:615 msgid "Apply" msgstr "Áp dụng" #: src/component/photo/clipboard.vue:64 -#: src/component/photo/edit/details.vue:640 +#: src/component/photo/edit/details.vue:614 #: src/component/photo/view/cards.vue:416 msgid "Approve" msgstr "Chấp thuận" -#: src/page/settings/account.vue:374 src/component/settings/apps.vue:91 +#: src/page/settings/account.vue:378 src/component/settings/apps.vue:94 msgid "Apps and Devices" msgstr "Ứng dụng và thiết bị" -#: src/app/routes.js:287 src/component/lightbox.vue:1207 -#: src/component/navigation.vue:555 src/component/photo/clipboard.vue:142 +#: src/app/routes.js:295 src/component/lightbox.vue:1207 +#: src/component/navigation.vue:557 src/component/photo/clipboard.vue:142 #: src/component/photo/view/cards.vue:398 src/page/settings/general.vue:432 msgid "Archive" msgstr "Lưu trữ" -#: src/component/lightbox.vue:1982 src/component/photo/edit/info.vue:433 +#: src/component/lightbox.vue:2002 src/component/photo/edit/info.vue:433 msgid "Archived" msgstr "Đã lưu trữ" -#: src/component/photo/archive/dialog.vue:34 +#: src/component/photo/archive/dialog.vue:35 msgid "Are you sure you want to archive the selection?" msgstr "Bạn có chắc chắn muốn lưu trữ lựa chọn không?" @@ -417,19 +429,23 @@ msgstr "Bạn có chắc chắn muốn lưu trữ lựa chọn không?" msgid "Are you sure you want to delete these albums?" msgstr "Bạn có chắc chắn muốn xóa những anbom này không?" -#: src/component/label/delete/dialog.vue:34 +#: src/component/label/delete/dialog.vue:35 msgid "Are you sure you want to delete these labels?" msgstr "Bạn có chắc chắn muốn xóa các nhãn này không?" -#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:36 +#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:37 msgid "Are you sure you want to delete this account?" msgstr "Bạn có chắc chắn muốn xóa tài khoản này?" +#: src/component/album/toolbar.vue:136 +msgid "Are you sure you want to delete this album?" +msgstr "Bạn có chắc chắn muốn xóa album này không?" + #: src/component/photo/clipboard.vue:199 msgid "Are you sure you want to permanently delete these pictures?" msgstr "Bạn có chắc chắn muốn xóa vĩnh viễn những hình ảnh này không?" -#: src/component/file/delete/dialog.vue:34 +#: src/component/file/delete/dialog.vue:35 msgid "Are you sure you want to permanently delete this file?" msgstr "Bạn có chắc chắn muốn xóa vĩnh viễn tệp này không?" @@ -438,7 +454,7 @@ msgstr "Bạn có chắc chắn muốn xóa vĩnh viễn tệp này không?" msgid "Are you sure?" msgstr "Bạn có chắc không?" -#: src/component/photo/edit/details.vue:537 +#: src/component/photo/edit/details.vue:511 msgid "Artist" msgstr "Nghệ sĩ" @@ -446,14 +462,14 @@ msgstr "Nghệ sĩ" msgid "Aspect Ratio" msgstr "Tỷ lệ khung hình" -#: src/app/routes.js:250 src/component/navigation.vue:770 +#: src/app/routes.js:258 src/component/navigation.vue:776 #: src/options/options.js:297 msgid "Audio" msgstr "Âm thanh" -#: src/component/user/add/dialog.vue:190 src/component/user/edit/dialog.vue:309 -#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:281 -#: src/page/admin/users.vue:75 +#: src/component/user/add/dialog.vue:191 src/component/user/edit/dialog.vue:310 +#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:282 +#: src/page/admin/users.vue:77 msgid "Authentication" msgstr "Xác thực" @@ -461,11 +477,11 @@ msgstr "Xác thực" msgid "Auto" msgstr "Tự động" -#: src/component/settings/apps.vue:151 +#: src/component/settings/apps.vue:154 msgid "Back" msgstr "Mặt sau" -#: src/component/scroll.vue:20 +#: src/component/scroll.vue:18 msgid "Back to top" msgstr "Quay lại đầu trang" @@ -477,26 +493,26 @@ msgstr "Hỗ trợ" msgid "Badge" msgstr "Huy hiệu" -#: src/component/user/edit/dialog.vue:361 #: src/component/user/edit/dialog.vue:362 +#: src/component/user/edit/dialog.vue:363 msgid "Base Path" msgstr "Đường dẫn cơ sở" -#: src/page/about/about.vue:95 src/page/connect.vue:220 +#: src/page/about/about.vue:96 src/page/connect.vue:222 msgid "Become a member today, support our mission and enjoy our member benefits!" msgstr "Hãy trở thành thành viên ngay hôm nay, ủng hộ sứ mệnh của chúng tôi và tận hưởng các lợi ích dành cho thành viên của chúng tôi!" -#: src/component/confirm/sponsor.vue:51 src/page/about/about.vue:99 +#: src/component/confirm/sponsor.vue:52 src/page/about/about.vue:100 msgid "Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services." msgstr "Với hoạt động tự tài trợ và độc lập 100%, chúng tôi có thể hứa với bạn rằng chúng tôi sẽ không bao giờ bán dữ liệu của bạn và chúng tôi sẽ luôn minh bạch về phần mềm và dịch vụ của mình." -#: src/component/user/edit/dialog.vue:258 -#: src/component/user/edit/dialog.vue:259 src/page/settings/account.vue:227 +#: src/component/user/edit/dialog.vue:259 +#: src/component/user/edit/dialog.vue:260 src/page/settings/account.vue:227 #: src/page/settings/account.vue:228 msgid "Bio" msgstr "Tiểu sử" -#: src/page/settings/account.vue:431 +#: src/page/settings/account.vue:437 msgid "Birth Date" msgstr "Ngày sinh" @@ -517,7 +533,7 @@ msgid "Brown" msgstr "Màu nâu" #: src/component/photo/edit/files.vue:263 src/component/photo/toolbar.vue:141 -#: src/component/upload/dialog.vue:240 +#: src/component/upload/dialog.vue:242 msgid "Browse" msgstr "Duyệt qua" @@ -545,16 +561,16 @@ msgstr "Báo cáo lỗi" msgid "Busy, please wait…" msgstr "Đang bận, vui lòng đợi…" -#: src/page/connect.vue:317 +#: src/page/connect.vue:319 msgid "By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct." msgstr "Bằng cách sử dụng phần mềm và dịch vụ chúng tôi cung cấp, bạn đồng ý với các điều khoản dịch vụ, chính sách quyền riêng tư và quy tắc ứng xử của chúng tôi." -#: src/app/routes.js:189 src/component/navigation.vue:1081 +#: src/app/routes.js:197 src/component/navigation.vue:1097 #: src/options/options.js:204 src/page/settings/general.vue:205 msgid "Calendar" msgstr "Lịch" -#: src/component/photo/edit/details.vue:346 src/component/photo/toolbar.vue:232 +#: src/component/photo/edit/details.vue:320 src/component/photo/toolbar.vue:234 #: src/component/photo/view/cards.vue:467 src/component/photo/view/list.vue:116 msgid "Camera" msgstr "Máy ảnh" @@ -567,12 +583,12 @@ msgstr "Máy ảnh nối tiếp" msgid "Can't access your authenticator app or device?" msgstr "Không thể truy cập ứng dụng hoặc thiết bị xác thực của bạn?" -#: src/page/album/photos.vue:317 src/page/photos.vue:450 +#: src/page/album/photos.vue:322 src/page/photos.vue:455 msgid "Can't load more, limit reached" msgstr "Không thể tải thêm, đã đạt đến giới hạn" #: src/common/clipboard.js:102 src/common/clipboard.js:139 -#: src/page/albums.vue:684 src/page/albums.vue:700 src/page/labels.vue:293 +#: src/page/albums.vue:695 src/page/albums.vue:711 src/page/labels.vue:293 #: src/page/labels.vue:313 src/page/library/browse.vue:233 #: src/page/library/browse.vue:249 src/page/people/new.vue:278 #: src/page/people/new.vue:294 src/page/people/recognized.vue:305 @@ -581,26 +597,31 @@ msgid "Can't select more items" msgstr "Không thể chọn thêm mục" #: src/component/session/remove/dialog.vue:45 -#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:473 -#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:119 +#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:474 +#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:120 #: src/component/album/delete/dialog.vue:43 -#: src/component/album/edit/dialog.vue:199 src/component/confirm/dialog.vue:43 -#: src/component/file/delete/dialog.vue:47 -#: src/component/label/delete/dialog.vue:47 -#: src/component/label/edit/dialog.vue:107 -#: src/component/people/edit/dialog.vue:120 +#: src/component/album/edit/dialog.vue:200 src/component/confirm/dialog.vue:43 +#: src/component/file/delete/dialog.vue:48 +#: src/component/label/delete/dialog.vue:48 +#: src/component/label/edit/dialog.vue:108 +#: src/component/location/dialog.vue:200 +#: src/component/people/edit/dialog.vue:121 #: src/component/photo/album/dialog.vue:78 src/component/service/add.vue:19 -#: src/component/service/edit.vue:455 src/component/service/remove.vue:49 -#: src/component/service/upload.vue:117 src/component/settings/apps.vue:352 -#: src/component/settings/passcode.vue:249 -#: src/component/settings/passcode.vue:333 -#: src/component/settings/password.vue:159 src/component/share/dialog.vue:28 -#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:123 +#: src/component/service/edit.vue:456 src/component/service/remove.vue:50 +#: src/component/service/upload.vue:118 src/component/settings/apps.vue:355 +#: src/component/settings/passcode.vue:252 +#: src/component/settings/passcode.vue:336 +#: src/component/settings/password.vue:160 src/component/share/dialog.vue:28 +#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:124 #: src/page/library/import.vue:119 src/page/library/index.vue:128 msgid "Cancel" msgstr "Hủy bỏ" -#: src/component/photo/edit/details.vue:87 src/component/photo/edit/info.vue:61 +#: src/common/util.js:863 src/common/util.js:870 +msgid "Cannot copy to clipboard" +msgstr "Không thể sao chép vào clipboard" + +#: src/component/photo/edit/details.vue:89 src/component/photo/edit/info.vue:63 #: src/component/photo/edit/labels.vue:42 #: src/component/photo/view/cards.vue:445 src/component/sidebar/info.vue:72 msgid "Caption" @@ -614,17 +635,17 @@ msgstr "thẻ" msgid "Carousel slide {0} of {1}" msgstr "Trượt băng chuyền {0} của {1}" -#: src/page/about/feedback.vue:82 src/page/about/feedback.vue:83 -#: src/component/album/edit/dialog.vue:128 src/component/photo/toolbar.vue:397 +#: src/page/about/feedback.vue:83 src/page/about/feedback.vue:84 +#: src/component/album/edit/dialog.vue:129 src/component/photo/toolbar.vue:399 #: src/page/albums.vue:187 msgid "Category" msgstr "Loại" -#: src/component/user/edit/dialog.vue:191 src/page/settings/account.vue:201 +#: src/component/user/edit/dialog.vue:192 src/page/settings/account.vue:201 msgid "Change Avatar" msgstr "Thay đổi hình đại diện" -#: src/page/settings/account.vue:297 src/component/settings/password.vue:48 +#: src/page/settings/account.vue:297 src/component/settings/password.vue:49 msgid "Change Password" msgstr "Đổi mật khẩu" @@ -641,17 +662,17 @@ msgid "Change private flag" msgstr "Thay đổi cờ riêng tư" #: src/component/user/add/dialog.vue:108 src/component/user/add/dialog.vue:113 -#: src/component/user/edit/dialog.vue:90 src/component/user/edit/dialog.vue:95 +#: src/component/user/edit/dialog.vue:91 src/component/user/edit/dialog.vue:96 #: src/page/settings/account.vue:121 src/page/settings/account.vue:126 msgid "Changes could not be saved" msgstr "Không thể lưu các thay đổi" -#: src/component/user/edit/dialog.vue:83 src/component/user/edit/dialog.vue:159 +#: src/component/user/edit/dialog.vue:84 src/component/user/edit/dialog.vue:160 #: src/component/album/edit/dialog.vue:73 -#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1941 +#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1961 #: src/component/photo/edit/files.vue:162 src/component/service/edit.vue:90 #: src/component/share/dialog.vue:92 src/component/share/dialog.vue:111 -#: src/page/albums.vue:677 src/page/people/recognized.vue:119 +#: src/page/albums.vue:688 src/page/people/recognized.vue:119 #: src/page/settings/advanced.vue:62 src/page/settings/content.vue:62 #: src/page/settings/general.vue:108 msgid "Changes successfully saved" @@ -665,7 +686,7 @@ msgstr "Những thay đổi đối với cài đặt nâng cao yêu cầu khởi msgid "Checked" msgstr "Đã kiểm tra" -#: src/component/photo/edit/files.vue:495 +#: src/component/photo/edit/files.vue:497 msgid "Chroma" msgstr "sắc độ" @@ -681,24 +702,24 @@ msgstr "Dọn dẹp" msgid "Clear {0}" msgstr "Xóa {0}" -#: src/options/auth.js:11 src/options/auth.js:23 src/options/auth.js:43 +#: src/options/auth.js:12 src/options/auth.js:24 src/options/auth.js:44 msgid "Client" msgstr "Khách hàng" -#: src/options/auth.js:24 +#: src/options/auth.js:25 msgid "Client Credentials" msgstr "Thông tin xác thực của khách hàng" -#: src/page/admin/sessions.vue:529 src/component/lightbox.vue:284 -#: src/component/lightbox.vue:1009 src/component/lightbox.vue:1010 -#: src/component/photo/edit/details.vue:627 src/component/photo/toolbar.vue:160 -#: src/component/settings/apps.vue:224 src/component/settings/apps.vue:437 -#: src/component/settings/passcode.vue:148 -#: src/component/settings/passcode.vue:456 -#: src/component/settings/passcode.vue:497 -#: src/component/settings/webdav.vue:131 src/component/share/dialog.vue:231 +#: src/component/user/edit/dialog.vue:474 src/page/admin/sessions.vue:536 +#: src/component/lightbox.vue:284 src/component/lightbox.vue:1009 +#: src/component/lightbox.vue:1010 src/component/photo/edit/details.vue:601 +#: src/component/photo/toolbar.vue:161 src/component/settings/apps.vue:227 +#: src/component/settings/apps.vue:440 src/component/settings/passcode.vue:151 +#: src/component/settings/passcode.vue:459 +#: src/component/settings/passcode.vue:500 +#: src/component/settings/webdav.vue:132 src/component/share/dialog.vue:231 #: src/component/sidebar/info.vue:26 src/component/update.vue:57 -#: src/component/upload/dialog.vue:228 src/locales.js:206 +#: src/component/upload/dialog.vue:230 src/locales.js:206 #: src/page/library/errors.vue:253 msgid "Close" msgstr "Đóng" @@ -707,11 +728,11 @@ msgstr "Đóng" msgid "Codec" msgstr "Bộ giải mã" -#: src/component/photo/toolbar.vue:369 +#: src/component/photo/toolbar.vue:371 msgid "Color" msgstr "Màu sắc" -#: src/component/photo/edit/files.vue:483 +#: src/component/photo/edit/files.vue:485 msgid "Color Profile" msgstr "Hồ sơ màu" @@ -719,7 +740,7 @@ msgstr "Hồ sơ màu" msgid "Colors" msgstr "Màu sắc" -#: src/page/connect.vue:260 src/page/connect.vue:269 +#: src/page/connect.vue:262 src/page/connect.vue:271 msgid "Compare Editions" msgstr "So sánh các phiên bản" @@ -732,17 +753,18 @@ msgstr "Quét lại hoàn tất" msgid "Confidence" msgstr "Sự tự tin" +#: src/component/location/dialog.vue:212 #: src/component/photo/album/dialog.vue:90 -#: src/component/settings/passcode.vue:261 +#: src/component/settings/passcode.vue:264 msgid "Confirm" msgstr "Xác nhận" -#: src/component/service/add.vue:20 src/page/settings/services.vue:187 +#: src/component/service/add.vue:20 src/page/settings/services.vue:191 msgid "Connect" msgstr "Kết nối" -#: src/page/settings/account.vue:401 src/component/settings/webdav.vue:45 -#: src/page/settings/services.vue:167 +#: src/page/settings/account.vue:406 src/component/settings/webdav.vue:46 +#: src/page/settings/services.vue:170 msgid "Connect via WebDAV" msgstr "Kết nối qua WebDAV" @@ -750,22 +772,22 @@ msgstr "Kết nối qua WebDAV" msgid "Connected" msgstr "Đã kết nối" -#: src/page/settings/account.vue:640 src/page/settings/account.vue:532 +#: src/page/settings/account.vue:646 src/page/settings/account.vue:538 msgid "Contact Details" msgstr "Chi tiết liên hệ" -#: src/page/about/feedback.vue:37 src/page/connect.vue:132 -#: src/page/connect.vue:136 +#: src/page/about/feedback.vue:37 src/page/connect.vue:133 +#: src/page/connect.vue:137 msgid "Contact Us" msgstr "Liên hệ chúng tôi" #: src/page/albums.vue:433 src/page/labels.vue:237 -#: src/page/people/recognized.vue:306 +#: src/page/people/recognized.vue:310 msgid "Contains %{n} pictures." msgstr "Chứa %{n} hình ảnh." #: src/page/albums.vue:427 src/page/labels.vue:231 -#: src/page/people/recognized.vue:300 +#: src/page/people/recognized.vue:304 msgid "Contains one picture." msgstr "Chứa một hình ảnh." @@ -773,7 +795,7 @@ msgstr "Chứa một hình ảnh." msgid "Content" msgstr "Nội dung" -#: src/component/settings/apps.vue:163 +#: src/component/settings/apps.vue:166 msgid "Continue" msgstr "Tiếp tục" @@ -781,7 +803,7 @@ msgstr "Tiếp tục" msgid "Continue with %{provider}" msgstr "Tiếp tục với %{provider}" -#: src/options/admin.js:18 src/options/auth.js:9 +#: src/options/admin.js:22 src/options/auth.js:10 msgid "Contributor" msgstr "Người đóng góp" @@ -789,15 +811,15 @@ msgstr "Người đóng góp" msgid "Converting" msgstr "Chuyển đổi" -#: src/common/util.js:846 +#: src/common/util.js:856 msgid "Copied to clipboard" msgstr "Sao chép vào clipboard" -#: src/component/settings/apps.vue:250 src/component/settings/passcode.vue:358 +#: src/component/settings/apps.vue:253 src/component/settings/passcode.vue:361 msgid "Copy" msgstr "Sao chép" -#: src/component/photo/edit/details.vue:516 +#: src/component/photo/edit/details.vue:490 msgid "Copyright" msgstr "Bản quyền" @@ -805,8 +827,8 @@ msgstr "Bản quyền" msgid "Couldn't find anything." msgstr "Không thể tìm thấy bất cứ điều gì." -#: src/page/settings/account.vue:685 src/component/photo/edit/details.vue:242 -#: src/component/photo/toolbar.vue:203 src/page/settings/account.vue:577 +#: src/page/settings/account.vue:691 src/component/photo/edit/details.vue:268 +#: src/component/photo/toolbar.vue:205 src/page/settings/account.vue:583 msgid "Country" msgstr "Quốc gia" @@ -830,7 +852,7 @@ msgstr "Tạo tệp YAML để sao lưu siêu dữ liệu album." msgid "Create YAML sidecar files to back up picture metadata." msgstr "Tạo các tệp sidecar YAML để sao lưu siêu dữ liệu hình ảnh." -#: src/page/admin/sessions.vue:417 src/component/photo/edit/info.vue:412 +#: src/page/admin/sessions.vue:422 src/component/photo/edit/info.vue:412 msgid "Created" msgstr "Tạo" @@ -842,11 +864,11 @@ msgstr "Tạo hình thu nhỏ cho" msgid "Cubic: Moderate Quality, Good Performance" msgstr "Khối: Chất lượng vừa phải, Hiệu suất tốt" -#: src/component/settings/password.vue:85 +#: src/component/settings/password.vue:86 msgid "Current Password" msgstr "Mật khẩu hiện tại" -#: src/options/themes.js:919 src/options/themes.js:928 +#: src/options/themes.js:920 src/options/themes.js:929 msgid "Custom" msgstr "Phong tục" @@ -862,11 +884,11 @@ msgstr "Hằng ngày" msgid "Database Backups" msgstr "Sao lưu cơ sở dữ liệu" -#: src/page/settings/account.vue:450 src/component/photo/edit/details.vue:110 +#: src/page/settings/account.vue:456 src/component/photo/edit/details.vue:112 msgid "Day" msgstr "Ngày" -#: src/component/settings/passcode.vue:445 +#: src/component/settings/passcode.vue:448 msgid "Deactivate" msgstr "Vô hiệu hóa" @@ -874,36 +896,40 @@ msgstr "Vô hiệu hóa" msgid "Debug Logs" msgstr "Nhật ký gỡ lỗi" -#: src/options/admin.js:31 src/page/admin/sessions.vue:136 -#: src/page/admin/users.vue:176 src/component/photo/edit/info.vue:47 +#: src/options/admin.js:35 src/page/admin/sessions.vue:136 +#: src/page/admin/users.vue:178 src/component/photo/edit/info.vue:47 #: src/component/photo/edit/info.vue:110 src/model/session.js:66 -#: src/model/user.js:246 src/options/auth.js:20 src/options/auth.js:21 -#: src/options/auth.js:39 src/options/auth.js:40 src/options/options.js:196 +#: src/model/user.js:246 src/options/auth.js:21 src/options/auth.js:22 +#: src/options/auth.js:40 src/options/auth.js:41 src/options/options.js:196 #: src/options/options.js:232 src/options/options.js:316 -#: src/options/themes.js:773 +#: src/options/themes.js:774 msgid "Default" msgstr "Mặc định" -#: src/component/service/edit.vue:123 +#: src/component/service/edit.vue:124 msgid "Default Folder" msgstr "Thư mục mặc định" #: src/component/session/remove/dialog.vue:56 #: src/component/user/remove/dialog.vue:56 src/component/album/clipboard.vue:97 -#: src/component/album/delete/dialog.vue:54 -#: src/component/file/delete/dialog.vue:58 src/component/label/clipboard.vue:58 -#: src/component/label/delete/dialog.vue:58 +#: src/component/album/delete/dialog.vue:54 src/component/album/toolbar.vue:137 +#: src/component/file/delete/dialog.vue:59 src/component/label/clipboard.vue:58 +#: src/component/label/delete/dialog.vue:59 #: src/component/photo/clipboard.vue:168 src/component/photo/edit/files.vue:238 -#: src/component/service/remove.vue:60 src/component/share/dialog.vue:170 +#: src/component/service/remove.vue:61 src/component/share/dialog.vue:170 #: src/page/settings/general.vue:457 msgid "Delete" msgstr "Xóa bỏ" +#: src/component/album/toolbar.vue:133 +msgid "Delete Album" +msgstr "Xóa Album" + #: src/component/photo/toolbar.vue:119 src/page/library/errors.vue:95 msgid "Delete All" msgstr "Xóa hết" -#: src/component/photo/toolbar.vue:433 src/page/library/errors.vue:193 +#: src/component/photo/toolbar.vue:435 src/page/library/errors.vue:193 msgid "Delete all?" msgstr "Xóa tất cả?" @@ -911,16 +937,16 @@ msgstr "Xóa tất cả?" msgid "Delete orphaned index entries, sidecar files and thumbnails." msgstr "Xóa các mục chỉ mục mồ côi, tệp sidecar và hình thu nhỏ." -#: src/component/album/edit/dialog.vue:107 src/page/albums.vue:411 +#: src/component/album/edit/dialog.vue:108 src/page/albums.vue:411 msgid "Description" msgstr "Sự miêu tả" -#: src/component/settings/webdav.vue:115 +#: src/component/settings/webdav.vue:116 msgid "Detailed instructions can be found in our User Guide." msgstr "Hướng dẫn chi tiết có thể được tìm thấy trong Hướng dẫn sử dụng của chúng tôi." -#: src/component/photo/edit/dialog.vue:156 -#: src/component/photo/edit/dialog.vue:173 +#: src/component/photo/edit/dialog.vue:162 +#: src/component/photo/edit/dialog.vue:181 msgid "Details" msgstr "Chi tiết" @@ -984,8 +1010,8 @@ msgstr "Tắt hỗ trợ đồ họa vector." msgid "Disables video transcoding and thumbnail extraction." msgstr "Tắt chuyển mã video và trích xuất hình thu nhỏ." -#: src/app/routes.js:558 src/app/routes.js:565 src/app/routes.js:572 -#: src/app/routes.js:579 +#: src/app/routes.js:566 src/app/routes.js:573 src/app/routes.js:580 +#: src/app/routes.js:587 msgid "Discover" msgstr "Phát hiện" @@ -993,9 +1019,9 @@ msgstr "Phát hiện" msgid "Dismiss" msgstr "Miễn nhiệm" -#: src/component/user/add/dialog.vue:133 src/component/user/add/dialog.vue:134 -#: src/component/user/edit/dialog.vue:163 -#: src/component/user/edit/dialog.vue:164 src/page/admin/users.vue:72 +#: src/component/user/add/dialog.vue:134 src/component/user/add/dialog.vue:135 +#: src/component/user/edit/dialog.vue:164 +#: src/component/user/edit/dialog.vue:165 src/page/admin/users.vue:74 #: src/page/settings/account.vue:149 src/page/settings/account.vue:151 msgid "Display Name" msgstr "Tên hiển thị" @@ -1010,12 +1036,12 @@ msgstr "Hiển thị tiêu đề hình ảnh trong kết quả tìm kiếm." #: src/component/photo/view/cards.vue:339 #: src/component/photo/view/cards.vue:521 -#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:174 +#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:176 #: src/options/options.js:309 msgid "Document" msgstr "Tài liệu" -#: src/component/navigation.vue:480 +#: src/component/navigation.vue:482 msgid "Documents" msgstr "Tài liệu" @@ -1031,16 +1057,16 @@ msgstr "Không sử dụng ImageMagick để chuyển đổi hình ảnh." msgid "Don't use RawTherapee to convert RAW images." msgstr "Không sử dụng RawTherapee để chuyển đổi ảnh RAW." -#: src/component/settings/apps.vue:238 src/component/share/dialog.vue:29 +#: src/component/settings/apps.vue:241 src/component/share/dialog.vue:29 msgid "Done" msgstr "Xong" -#: src/component/upload/dialog.vue:135 src/page/library/import.vue:46 +#: src/component/upload/dialog.vue:137 src/page/library/import.vue:46 #: src/page/library/index.vue:52 msgid "Done." msgstr "Xong." -#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:118 +#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:123 #: src/component/file/clipboard.vue:48 src/component/lightbox.vue:1235 #: src/component/people/clipboard.vue:47 src/component/photo/clipboard.vue:116 #: src/component/photo/edit/files.vue:168 src/page/settings/content.vue:331 @@ -1052,7 +1078,7 @@ msgstr "Tải xuống" msgid "Download only original media files, without any automatically generated files." msgstr "Chỉ tải xuống các tệp phương tiện gốc mà không có bất kỳ tệp nào được tạo tự động." -#: src/component/service/edit.vue:237 +#: src/component/service/edit.vue:238 msgid "Download remote files" msgstr "Tải tập tin từ xa" @@ -1060,9 +1086,9 @@ msgstr "Tải tập tin từ xa" msgid "Download single files and zip archives." msgstr "Tải xuống các tập tin đơn lẻ và lưu trữ zip." -#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:157 +#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:172 #: src/component/file/clipboard.vue:61 src/component/label/clipboard.vue:86 -#: src/component/lightbox.vue:2021 src/component/people/clipboard.vue:59 +#: src/component/lightbox.vue:2041 src/component/people/clipboard.vue:59 #: src/component/photo/clipboard.vue:220 src/component/photo/edit/files.vue:119 #: src/component/photo/view/cards.vue:169 src/component/photo/view/list.vue:142 #: src/page/library/browse.vue:139 @@ -1077,7 +1103,7 @@ msgstr "Bộ lọc thu nhỏ" msgid "Drag and drop files here" msgstr "Kéo và thả tập tin vào đây" -#: src/page/about/feedback.vue:61 +#: src/page/about/feedback.vue:62 msgid "Due to the high volume of emails we receive, our team may be unable to get back to you immediately." msgstr "Do chúng tôi nhận được số lượng lớn email nên nhóm của chúng tôi có thể không liên hệ lại với bạn ngay lập tức." @@ -1097,23 +1123,23 @@ msgstr "Xem trước động" msgid "Dynamic Size Limit: %{n}px" msgstr "Giới hạn kích thước động: %{n}px" -#: src/page/about/feedback.vue:141 src/page/about/feedback.vue:140 +#: src/page/about/feedback.vue:142 src/page/about/feedback.vue:141 msgid "E-Mail" msgstr "E-mail" -#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:89 +#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:94 #: src/component/lightbox.vue:1136 src/component/lightbox.vue:1137 #: src/component/photo/clipboard.vue:90 src/page/settings/general.vue:407 msgid "Edit" msgstr "Biên tập" -#: src/component/album/edit/dialog.vue:54 -#: src/component/label/edit/dialog.vue:52 -#: src/component/people/edit/dialog.vue:52 +#: src/component/album/edit/dialog.vue:55 +#: src/component/label/edit/dialog.vue:53 +#: src/component/people/edit/dialog.vue:53 msgid "Edit %{s}" msgstr "Chỉnh sửa tên}" -#: src/component/user/edit/dialog.vue:61 src/component/service/edit.vue:79 +#: src/component/user/edit/dialog.vue:62 src/component/service/edit.vue:79 msgid "Edit Account" msgstr "Chỉnh sửa tài khoản" @@ -1125,8 +1151,8 @@ msgstr "Chỉnh sửa hình ảnh" msgid "Edited" msgstr "Đã chỉnh sửa" -#: src/component/user/add/dialog.vue:151 src/component/user/edit/dialog.vue:213 -#: src/page/settings/account.vue:171 src/page/settings/account.vue:593 +#: src/component/user/add/dialog.vue:152 src/component/user/edit/dialog.vue:214 +#: src/page/settings/account.vue:171 src/page/settings/account.vue:599 msgid "Email" msgstr "E-mail" @@ -1142,7 +1168,7 @@ msgstr "Kích hoạt các tính năng mới có thể chưa đầy đủ hoặc msgid "Enables RAW converter presets. May reduce performance." msgstr "Cho phép cài đặt trước bộ chuyển đổi RAW. Có thể làm giảm hiệu suất." -#: src/component/settings/passcode.vue:127 +#: src/component/settings/passcode.vue:130 msgid "Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account." msgstr "Kích hoạt xác thực hai yếu tố có nghĩa là bạn sẽ cần mã xác minh được tạo ngẫu nhiên để đăng nhập, vì vậy ngay cả khi ai đó có quyền truy cập vào mật khẩu của bạn, họ sẽ không thể truy cập vào tài khoản của bạn." @@ -1154,7 +1180,7 @@ msgstr "Nhập ngày" msgid "Enter dates" msgstr "Nhập ngày" -#: src/component/settings/passcode.vue:213 src/page/auth/login.vue:104 +#: src/component/settings/passcode.vue:216 src/page/auth/login.vue:104 msgid "Enter the code generated by your authenticator app:" msgstr "Nhập mã được tạo bởi ứng dụng xác thực của bạn:" @@ -1162,7 +1188,7 @@ msgstr "Nhập mã được tạo bởi ứng dụng xác thực của bạn:" msgid "Enter verification code" msgstr "Nhập mã xác nhận" -#: src/component/settings/apps.vue:109 +#: src/component/settings/apps.vue:112 msgid "Enter your password to confirm the action and continue:" msgstr "Nhập mật khẩu của bạn để xác nhận hành động và tiếp tục:" @@ -1171,7 +1197,7 @@ msgstr "Nhập mật khẩu của bạn để xác nhận hành động và ti msgid "Error" msgstr "Lỗi" -#: src/app/routes.js:374 src/component/navigation.vue:1348 +#: src/app/routes.js:382 src/component/navigation.vue:1372 msgid "Errors" msgstr "Lỗi" @@ -1207,13 +1233,13 @@ msgstr "Cần phải trích xuất siêu dữ liệu bằng ExifTool để hỗ msgid "Experimental Features" msgstr "Tính năng thử nghiệm" -#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:453 -#: src/component/service/edit.vue:157 src/component/settings/apps.vue:73 -#: src/component/settings/apps.vue:326 src/component/share/dialog.vue:62 +#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:458 +#: src/component/service/edit.vue:158 src/component/settings/apps.vue:73 +#: src/component/settings/apps.vue:329 src/component/share/dialog.vue:62 msgid "Expires" msgstr "Hết hạn" -#: src/component/photo/edit/details.vue:396 +#: src/component/photo/edit/details.vue:370 msgid "Exposure" msgstr "Phơi bày" @@ -1221,7 +1247,7 @@ msgstr "Phơi bày" msgid "Extract still images and generate thumbnails while indexing." msgstr "Trích xuất hình ảnh tĩnh và tạo hình thu nhỏ trong khi lập chỉ mục." -#: src/component/photo/edit/details.vue:444 +#: src/component/photo/edit/details.vue:418 msgid "F Number" msgstr "Số F" @@ -1237,7 +1263,7 @@ msgstr "Khuôn mặt" msgid "Failed removing link" msgstr "Xóa liên kết không thành công" -#: src/page/connect.vue:106 src/page/connect.vue:110 +#: src/page/connect.vue:107 src/page/connect.vue:111 msgid "Failed to connect account." msgstr "Không thể kết nối tài khoản." @@ -1245,8 +1271,8 @@ msgstr "Không thể kết nối tài khoản." msgid "Failed updating link" msgstr "Liên kết cập nhật không thành công" -#: src/component/user/edit/dialog.vue:143 -#: src/component/user/edit/dialog.vue:144 src/page/settings/account.vue:128 +#: src/component/user/edit/dialog.vue:144 +#: src/component/user/edit/dialog.vue:145 src/page/settings/account.vue:128 #: src/page/settings/account.vue:130 msgid "Family Name" msgstr "Tên gia đình" @@ -1255,15 +1281,15 @@ msgstr "Tên gia đình" msgid "Fast" msgstr "Nhanh" -#: src/component/album/edit/dialog.vue:159 -#: src/component/label/edit/dialog.vue:85 -#: src/component/people/edit/dialog.vue:85 +#: src/component/album/edit/dialog.vue:160 +#: src/component/label/edit/dialog.vue:86 +#: src/component/people/edit/dialog.vue:86 #: src/component/photo/edit/info.vue:287 msgid "Favorite" msgstr "Yêu thích" -#: src/app/routes.js:222 src/component/navigation.vue:893 -#: src/options/options.js:202 src/page/albums.vue:97 +#: src/app/routes.js:230 src/component/navigation.vue:903 +#: src/options/options.js:202 src/page/albums.vue:98 msgid "Favorites" msgstr "Yêu thích" @@ -1271,7 +1297,7 @@ msgstr "Yêu thích" msgid "Feature Request" msgstr "Yêu cầu tính năng" -#: src/component/navigation.vue:1456 +#: src/component/navigation.vue:1482 msgid "Feedback" msgstr "Nhận xét" @@ -1279,11 +1305,12 @@ msgstr "Nhận xét" msgid "Female" msgstr "Nữ giới" -#: src/component/photo/edit/info.vue:214 src/model/file.js:290 +#: src/component/photo/edit/info.vue:57 src/component/photo/edit/info.vue:214 +#: src/model/file.js:290 msgid "File" msgstr "Tài liệu" -#: src/app/routes.js:343 +#: src/app/routes.js:351 msgid "File Browser" msgstr "Trình duyệt tệp" @@ -1306,8 +1333,8 @@ msgstr "Kích thước tập tin" msgid "Filename" msgstr "Tên tệp" -#: src/component/navigation.vue:1930 src/component/photo/edit/dialog.vue:267 -#: src/component/photo/edit/dialog.vue:284 +#: src/component/navigation.vue:1973 src/component/photo/edit/dialog.vue:279 +#: src/component/photo/edit/dialog.vue:298 msgid "Files" msgstr "Các tập tin" @@ -1319,26 +1346,26 @@ msgstr "Các tệp có tên tuần tự như “IMG_1234 (2)” và “IMG_1234 msgid "First page" msgstr "Trang đầu tiên" -#: src/component/photo/edit/details.vue:465 +#: src/component/photo/edit/details.vue:439 msgid "Focal Length" msgstr "Tiêu cự" -#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:118 -#: src/component/service/edit.vue:189 src/component/service/edit.vue:194 -#: src/component/service/upload.vue:90 src/component/service/upload.vue:96 +#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:119 +#: src/component/service/edit.vue:190 src/component/service/edit.vue:195 +#: src/component/service/upload.vue:91 src/component/service/upload.vue:97 #: src/model/folder.js:199 src/page/library/browse.vue:182 msgid "Folder" msgstr "Thư mục" -#: src/page/library/browse.vue:365 +#: src/page/library/browse.vue:367 msgid "Folder contains %{n} files" msgstr "Thư mục chứa tệp %{n}" -#: src/page/library/browse.vue:356 +#: src/page/library/browse.vue:358 msgid "Folder is empty" msgstr "Tệp này rỗng" -#: src/app/routes.js:202 src/component/navigation.vue:1225 +#: src/app/routes.js:210 src/component/navigation.vue:1247 #: src/options/options.js:207 msgid "Folders" msgstr "Thư mục" @@ -1355,7 +1382,7 @@ msgstr "FPS" msgid "Frames" msgstr "Khung" -#: src/options/auth.js:54 src/options/auth.js:64 +#: src/options/auth.js:55 src/options/auth.js:65 msgid "Full Access" msgstr "Toàn quyền truy cập" @@ -1367,7 +1394,7 @@ msgstr "Toàn màn hình" msgid "General" msgstr "Tổng quan" -#: src/component/settings/apps.vue:364 +#: src/component/settings/apps.vue:367 msgid "Generate" msgstr "Phát ra" @@ -1387,8 +1414,8 @@ msgstr "Đã tạo ra" msgid "Get Started" msgstr "Bắt đầu" -#: src/component/user/edit/dialog.vue:120 -#: src/component/user/edit/dialog.vue:121 src/page/settings/account.vue:106 +#: src/component/user/edit/dialog.vue:121 +#: src/component/user/edit/dialog.vue:122 src/page/settings/account.vue:106 #: src/page/settings/account.vue:108 msgid "Given Name" msgstr "Tên" @@ -1413,7 +1440,7 @@ msgstr "Màu xanh lá" msgid "Grey" msgstr "Xám" -#: src/options/admin.js:22 src/options/auth.js:10 +#: src/options/admin.js:26 src/options/auth.js:11 msgid "Guest" msgstr "Khách mời" @@ -1429,15 +1456,15 @@ msgstr "Giúp đỡ" msgid "Help & Support" msgstr "Trợ giúp & Hỗ trợ" -#: src/component/navigation.vue:1327 src/component/people/edit/dialog.vue:98 +#: src/component/navigation.vue:1351 src/component/people/edit/dialog.vue:99 msgid "Hidden" msgstr "Ẩn giấu" -#: src/app/routes.js:358 +#: src/app/routes.js:366 msgid "Hidden Files" msgstr "Các tệp ẩn" -#: src/page/people/new.vue:165 src/page/people/recognized.vue:205 +#: src/page/people/new.vue:166 src/page/people/recognized.vue:206 msgid "Hide" msgstr "Trốn" @@ -1453,7 +1480,7 @@ msgstr "Cao" msgid "High Dynamic Range (HDR)" msgstr "Dải động cao (HDR)" -#: src/page/about/feedback.vue:103 +#: src/page/about/feedback.vue:104 msgid "How can we help?" msgstr "Làm thế nào chúng ta có thể giúp đỡ?" @@ -1461,11 +1488,11 @@ msgstr "Làm thế nào chúng ta có thể giúp đỡ?" msgid "Hybrid" msgstr "lai" -#: src/component/settings/passcode.vue:389 +#: src/component/settings/passcode.vue:392 msgid "If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account." msgstr "Nếu mất quyền truy cập vào ứng dụng hoặc thiết bị xác thực, bạn có thể sử dụng mã khôi phục để lấy lại quyền truy cập vào tài khoản của mình." -#: src/component/photo/edit/info.vue:63 src/component/photo/edit/labels.vue:46 +#: src/component/photo/edit/info.vue:65 src/component/photo/edit/labels.vue:46 #: src/component/photo/view/cards.vue:532 src/model/file.js:218 #: src/options/options.js:281 msgid "Image" @@ -1475,7 +1502,7 @@ msgstr "Hình ảnh" msgid "Image Quality" msgstr "Chất lượng hình ảnh" -#: src/page/library.vue:46 src/page/library/import.vue:152 +#: src/page/library.vue:46 src/page/library/import.vue:153 #: src/page/settings/general.vue:357 msgid "Import" msgstr "Nhập khẩu" @@ -1500,8 +1527,8 @@ msgstr "Đang nhập %{s}…" msgid "Importing files to originals…" msgstr "Đang nhập tệp vào bản gốc…" -#: src/component/photo/edit/files.vue:515 -#: src/component/photo/edit/files.vue:520 +#: src/component/photo/edit/files.vue:517 +#: src/component/photo/edit/files.vue:522 msgid "in" msgstr "TRONG" @@ -1519,11 +1546,11 @@ msgstr "Bao gồm các tệp hình ảnh RAW khi tải xuống các ngăn xếp msgid "Include sidecar files when downloading stacks and archives." msgstr "Bao gồm các tệp sidecar khi tải xuống ngăn xếp và kho lưu trữ." -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Increase storage size or delete files to continue." msgstr "Tăng dung lượng lưu trữ hoặc xóa tệp để tiếp tục." -#: src/component/navigation.vue:1946 src/page/library.vue:36 +#: src/component/navigation.vue:1990 src/page/library.vue:36 #: src/page/settings/content.vue:34 msgid "Index" msgstr "Mục lục" @@ -1553,11 +1580,11 @@ msgstr "Thông tin" msgid "Instance ID" msgstr "ID phiên bản" -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Insufficient storage." msgstr "Không đủ dung lượng lưu trữ." -#: src/component/service/edit.vue:209 +#: src/component/service/edit.vue:210 msgid "Interval" msgstr "Khoảng thời gian" @@ -1578,7 +1605,7 @@ msgstr "Địa chỉ không hợp lệ" msgid "Invalid country" msgstr "Quốc gia không hợp lệ" -#: src/component/photo/edit/details.vue:174 +#: src/component/photo/edit/details.vue:169 msgid "Invalid date" msgstr "Ngày không hợp lệ" @@ -1587,7 +1614,7 @@ msgstr "Ngày không hợp lệ" msgid "Invalid parameters" msgstr "thông số không hợp lệ" -#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:197 +#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:199 msgid "Invalid photo selected" msgstr "Đã chọn ảnh không hợp lệ" @@ -1599,8 +1626,8 @@ msgstr "Thời gian không hợp lệ" msgid "Invalid URL" msgstr "URL không hợp lệ" -#: src/component/settings/passcode.vue:314 -#: src/component/settings/passcode.vue:391 +#: src/component/settings/passcode.vue:317 +#: src/component/settings/passcode.vue:394 msgid "It is a one-time use code that will disable 2FA for your account when you use it." msgstr "Đây là mã sử dụng một lần sẽ vô hiệu hóa 2FA cho tài khoản của bạn khi bạn sử dụng." @@ -1624,7 +1651,7 @@ msgstr "Giới hạn kích thước JPEG: %{n}px" msgid "JPEGs and thumbnails are automatically rendered as needed." msgstr "JPEG và hình thu nhỏ được tự động hiển thị khi cần." -#: src/component/photo/edit/details.vue:581 +#: src/component/photo/edit/details.vue:555 msgid "Keywords" msgstr "Từ khóa" @@ -1633,9 +1660,9 @@ msgstr "Từ khóa" msgid "Label" msgstr "Nhãn" -#: src/app/routes.js:389 src/component/navigation.vue:1177 -#: src/component/photo/edit/dialog.vue:188 -#: src/component/photo/edit/dialog.vue:205 src/options/options.js:206 +#: src/app/routes.js:397 src/component/navigation.vue:1197 +#: src/component/photo/edit/dialog.vue:196 +#: src/component/photo/edit/dialog.vue:215 src/options/options.js:206 #: src/page/settings/general.vue:255 msgid "Labels" msgstr "Nhãn" @@ -1652,11 +1679,11 @@ msgstr "Lanczos: Bảo quản chi tiết, hiện vật tối thiểu" msgid "Language" msgstr "Ngôn ngữ" -#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:435 +#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:440 msgid "Last Active" msgstr "Hoạt động lần cuối" -#: src/page/admin/users.vue:81 +#: src/page/admin/users.vue:83 msgid "Last Login" msgstr "Lân đăng nhập cuôi" @@ -1672,55 +1699,54 @@ msgstr "Đồng bộ hóa lần cuối" msgid "Last Used" msgstr "Được sử dụng lần cuối" -#: src/component/photo/edit/details.vue:298 #: src/component/photo/edit/info.vue:373 msgid "Latitude" msgstr "Vĩ độ" -#: src/options/admin.js:43 src/options/auth.js:29 +#: src/options/admin.js:47 src/options/auth.js:30 msgid "LDAP/AD" msgstr "LDAP/QUẢNG CÁO" -#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:86 -#: src/page/about/about.vue:62 src/page/about/about.vue:132 +#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:87 +#: src/page/about/about.vue:62 src/page/about/about.vue:133 #: src/page/connect.vue:67 src/page/help.vue:36 msgid "Learn more" msgstr "Tìm hiểu thêm" -#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:135 +#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:137 #: src/page/labels.vue:132 msgid "Learn More" msgstr "Tìm hiểu thêm" -#: src/component/navigation.vue:2017 +#: src/component/navigation.vue:2066 msgid "Legal Information" msgstr "Thông tin hợp pháp" -#: src/component/photo/edit/details.vue:417 +#: src/component/photo/edit/details.vue:391 #: src/component/photo/view/cards.vue:480 msgid "Lens" msgstr "Ống kính" -#: src/app/routes.js:443 src/app/routes.js:459 src/app/routes.js:475 -#: src/component/navigation.vue:1267 src/page/settings/general.vue:507 +#: src/app/routes.js:451 src/app/routes.js:467 src/app/routes.js:483 +#: src/component/navigation.vue:1290 src/page/settings/general.vue:507 msgid "Library" msgstr "Thư viện" #: src/page/connect.vue:45 src/app/routes.js:69 -#: src/component/navigation.vue:1478 src/component/photo/edit/details.vue:559 +#: src/component/navigation.vue:1504 src/component/photo/edit/details.vue:533 #: src/page/about/license.vue:28 msgid "License" msgstr "Giấy phép" #: src/component/lightbox.vue:1102 src/component/lightbox.vue:1103 msgid "Like" -msgstr "Giống" +msgstr "Thích" #: src/options/options.js:389 msgid "Lime" msgstr "Chanh xanh" -#: src/page/library/browse.vue:369 +#: src/page/library/browse.vue:371 msgid "Limit reached, showing first %{n} files" msgstr "Đã đạt đến giới hạn, hiển thị tệp %{n} đầu tiên" @@ -1728,7 +1754,7 @@ msgstr "Đã đạt đến giới hạn, hiển thị tệp %{n} đầu tiên" msgid "Linear: Very Smooth, Best Performance" msgstr "Tuyến tính: Rất mượt mà, hiệu suất tốt nhất" -#: src/model/link.js:117 src/options/auth.js:30 src/options/auth.js:31 +#: src/model/link.js:117 src/options/auth.js:31 src/options/auth.js:32 msgid "Link" msgstr "liên kết" @@ -1746,7 +1772,7 @@ msgstr "Xem danh sách" msgid "Live" msgstr "Sống" -#: src/app/routes.js:236 src/component/navigation.vue:749 +#: src/app/routes.js:244 src/component/navigation.vue:755 msgid "Live Photos" msgstr "Ảnh trực tiếp" @@ -1762,21 +1788,24 @@ msgstr "Đang tải mục..." msgid "Loading..." msgstr "Đang tải..." -#: src/options/admin.js:35 src/options/auth.js:22 src/options/auth.js:27 +#: src/options/admin.js:39 src/options/auth.js:23 src/options/auth.js:28 #: src/options/options.js:38 src/page/settings/general.vue:107 msgid "Local" msgstr "Địa phương" -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Local Time" msgstr "Giờ địa phương" -#: src/page/settings/account.vue:665 src/page/settings/account.vue:667 -#: src/component/album/edit/dialog.vue:92 src/component/photo/edit/info.vue:65 -#: src/component/photo/edit/labels.vue:48 +#: src/page/settings/account.vue:671 src/page/settings/account.vue:673 +#: src/component/album/edit/dialog.vue:93 +#: src/component/photo/edit/details.vue:38 +#: src/component/photo/edit/details.vue:116 +#: src/component/photo/edit/details.vue:210 +#: src/component/photo/edit/info.vue:67 src/component/photo/edit/labels.vue:48 #: src/component/photo/view/cards.vue:555 src/component/photo/view/list.vue:117 -#: src/component/sidebar/info.vue:107 src/page/albums.vue:99 -#: src/page/settings/account.vue:557 src/page/settings/account.vue:559 +#: src/component/sidebar/info.vue:107 src/page/albums.vue:100 +#: src/page/settings/account.vue:563 src/page/settings/account.vue:565 msgid "Location" msgstr "Vị trí" @@ -1784,20 +1813,19 @@ msgstr "Vị trí" msgid "Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues." msgstr "Thông báo nhật ký xuất hiện ở đây bất cứ khi nào PhotoPrism gặp phải các tệp bị hỏng hoặc có các sự cố tiềm ẩn khác." -#: src/component/navigation.vue:1552 src/component/navigation.vue:1840 +#: src/component/navigation.vue:1579 src/component/navigation.vue:1877 msgid "Login" msgstr "Đăng nhập" -#: src/component/navigation.vue:1759 +#: src/component/navigation.vue:1791 msgid "Logout" msgstr "Đăng xuất" -#: src/component/navigation.vue:1962 src/page/library.vue:59 +#: src/component/navigation.vue:2007 src/page/library.vue:59 #: src/page/settings/general.vue:557 msgid "Logs" msgstr "Nhật ký" -#: src/component/photo/edit/details.vue:324 #: src/component/photo/edit/info.vue:379 msgid "Longitude" msgstr "Kinh độ" @@ -1810,7 +1838,7 @@ msgstr "Thấp" msgid "Magenta" msgstr "Màu đỏ tươi" -#: src/component/photo/edit/files.vue:489 +#: src/component/photo/edit/files.vue:491 msgid "Main Color" msgstr "Màu chính" @@ -1818,12 +1846,16 @@ msgstr "Màu chính" msgid "Male" msgstr "Nam giới" -#: src/page/connect.vue:164 src/page/connect.vue:246 -#: src/page/about/about.vue:171 src/page/connect.vue:168 -#: src/page/connect.vue:255 +#: src/page/connect.vue:165 src/page/connect.vue:248 +#: src/page/about/about.vue:173 src/page/connect.vue:169 +#: src/page/connect.vue:257 msgid "Manage Account" msgstr "Quản lý tài khoản" +#: src/options/admin.js:10 src/options/auth.js:7 +msgid "Manager" +msgstr "Giám đốc" + #: src/component/photo/edit/info.vue:49 src/component/photo/edit/labels.vue:38 msgid "Manual" msgstr "Thủ công" @@ -1840,14 +1872,14 @@ msgstr "Bản đồ" msgid "Marker" msgstr "Đánh dấu" -#: src/component/user/add/dialog.vue:69 +#: src/component/user/add/dialog.vue:70 msgid "Maximum number of accounts has been reached." msgstr "Đã đạt đến số lượng tài khoản tối đa." -#: src/app/routes.js:229 src/component/navigation.vue:688 +#: src/app/routes.js:237 src/component/navigation.vue:693 #: src/options/options.js:199 msgid "Media" -msgstr "Phương tiện truyền thông" +msgstr "Media" #: src/options/options.js:220 msgid "Medium" @@ -1861,7 +1893,7 @@ msgstr "Tư cách thành viên" msgid "Merge %{a} with %{b}?" msgstr "Hợp nhất %{a} với %{b}?" -#: src/page/about/feedback.vue:102 +#: src/page/about/feedback.vue:103 msgid "Message" msgstr "Tin nhắn" @@ -1873,7 +1905,7 @@ msgstr "Đã gửi tin nhắn" msgid "Metadata" msgstr "metadata" -#: src/options/auth.js:56 src/options/auth.js:72 +#: src/options/auth.js:57 src/options/auth.js:73 msgid "Metrics" msgstr "Số liệu" @@ -1881,7 +1913,7 @@ msgstr "Số liệu" msgid "Minimize" msgstr "Giảm thiểu" -#: src/component/photo/edit/files.vue:509 src/component/photo/edit/info.vue:367 +#: src/component/photo/edit/files.vue:511 src/component/photo/edit/info.vue:367 msgid "Missing" msgstr "Mất tích" @@ -1889,17 +1921,17 @@ msgstr "Mất tích" msgid "Missing or invalid configuration" msgstr "Cấu hình bị thiếu hoặc không hợp lệ" -#: src/app/routes.js:163 src/component/navigation.vue:1129 +#: src/app/routes.js:171 src/component/navigation.vue:1147 #: src/options/options.js:205 src/page/settings/general.vue:230 msgid "Moments" msgstr "Khoảnh khắc" -#: src/component/navigation.vue:383 +#: src/component/navigation.vue:385 msgid "Monochrome" msgstr "Đơn sắc" -#: src/page/settings/account.vue:475 src/component/photo/edit/details.vue:137 -#: src/component/photo/toolbar.vue:342 +#: src/page/settings/account.vue:481 src/component/photo/edit/details.vue:139 +#: src/component/photo/toolbar.vue:344 msgid "Month" msgstr "Tháng" @@ -1919,7 +1951,7 @@ msgstr "Liên quan nhất" msgid "Move Files" msgstr "Di chuyển tập tin" -#: src/component/settings/password.vue:107 +#: src/component/settings/password.vue:108 msgid "Must have at least %{n} characters." msgstr "Phải có ít nhất %{n} ký tự." @@ -1927,20 +1959,20 @@ msgstr "Phải có ít nhất %{n} ký tự." msgid "Mute" msgstr "Tắt tiếng" -#: src/page/about/feedback.vue:121 src/page/about/feedback.vue:122 -#: src/component/album/edit/dialog.vue:77 -#: src/component/label/edit/dialog.vue:71 -#: src/component/people/edit/dialog.vue:71 -#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:57 +#: src/page/about/feedback.vue:122 src/page/about/feedback.vue:123 +#: src/component/album/edit/dialog.vue:78 +#: src/component/label/edit/dialog.vue:72 +#: src/component/people/edit/dialog.vue:72 +#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:59 #: src/component/photo/edit/info.vue:125 src/component/photo/edit/people.vue:36 -#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:310 -#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:286 -#: src/page/albums.vue:98 src/page/auth/login.vue:168 +#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:311 +#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:289 +#: src/page/albums.vue:99 src/page/auth/login.vue:168 #: src/page/people/new.vue:68 src/page/settings/services.vue:37 msgid "Name" msgstr "Tên" -#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:60 +#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:65 #: src/component/label/edit/dialog.vue:19 #: src/component/people/edit/dialog.vue:19 #: src/component/photo/edit/labels.vue:30 @@ -1950,7 +1982,7 @@ msgstr "Tên" msgid "Name too long" msgstr "Tên quá dài" -#: src/page/admin/users.vue:204 src/options/options.js:361 +#: src/page/admin/users.vue:206 src/options/options.js:361 #: src/options/options.js:371 src/page/settings/services.vue:75 msgid "Never" msgstr "Không bao giờ" @@ -1959,13 +1991,13 @@ msgstr "Không bao giờ" msgid "New" msgstr "Mới" -#: src/component/settings/password.vue:106 +#: src/component/settings/password.vue:107 msgid "New Password" msgstr "mật khẩu mới" #: src/component/album/edit/dialog.vue:24 src/component/photo/toolbar.vue:114 #: src/component/photo/toolbar.vue:126 src/component/photo/toolbar.vue:136 -#: src/page/albums.vue:100 +#: src/page/albums.vue:101 msgid "Newest First" msgstr "Mới nhất đầu tiên" @@ -1981,15 +2013,15 @@ msgstr "Trang tiếp theo" msgid "Next visual" msgstr "Hình ảnh tiếp theo" -#: src/component/people/merge/dialog.vue:47 -#: src/component/photo/archive/dialog.vue:47 +#: src/component/people/merge/dialog.vue:48 +#: src/component/photo/archive/dialog.vue:48 #: src/component/photo/edit/info.vue:281 src/component/photo/edit/info.vue:297 #: src/component/photo/edit/info.vue:313 src/component/photo/edit/info.vue:329 #: src/component/photo/edit/info.vue:344 msgid "No" msgstr "KHÔNG" -#: src/page/albums.vue:607 src/page/albums.vue:282 +#: src/page/albums.vue:612 src/page/albums.vue:282 msgid "No albums found" msgstr "Không tìm thấy album nào" @@ -1997,7 +2029,7 @@ msgstr "Không tìm thấy album nào" msgid "No data available" msgstr "Không có dữ liệu có sẵn" -#: src/page/labels.vue:523 src/page/labels.vue:155 +#: src/page/labels.vue:528 src/page/labels.vue:155 msgid "No labels found" msgstr "Không tìm thấy nhãn" @@ -2010,15 +2042,15 @@ msgid "No more" msgstr "Không còn nữa" #: src/component/photo/edit/people.vue:34 src/page/people/new.vue:346 -#: src/page/people/new.vue:443 src/page/people/new.vue:103 -#: src/page/people/recognized.vue:531 src/page/people/recognized.vue:146 +#: src/page/people/new.vue:446 src/page/people/new.vue:103 +#: src/page/people/recognized.vue:536 src/page/people/recognized.vue:146 msgid "No people found" msgstr "Không tìm thấy người nào" #: src/component/lightbox.vue:365 src/component/photo/view/cards.vue:144 #: src/component/photo/view/list.vue:82 src/component/photo/view/mosaic.vue:68 -#: src/page/album/photos.vue:488 src/page/library/browse.vue:123 -#: src/page/photos.vue:626 src/page/places.vue:624 src/page/places.vue:730 +#: src/page/album/photos.vue:499 src/page/library/browse.vue:123 +#: src/page/photos.vue:636 src/page/places.vue:624 src/page/places.vue:730 msgid "No pictures found" msgstr "Không tìm thấy hình ảnh nào" @@ -2027,7 +2059,11 @@ msgstr "Không tìm thấy hình ảnh nào" msgid "No recently edited pictures" msgstr "Không có hình ảnh được chỉnh sửa gần đây" -#: src/component/navigation.vue:1655 +#: src/component/location/dialog.vue:166 +msgid "No results" +msgstr "Không có kết quả" + +#: src/component/navigation.vue:1686 msgid "No server connection" msgstr "Không có kết nối máy chủ" @@ -2039,7 +2075,7 @@ msgstr "Không có máy chủ nào được cấu hình." msgid "No services configured." msgstr "Không có dịch vụ nào được cấu hình." -#: src/component/confirm/sponsor.vue:72 +#: src/component/confirm/sponsor.vue:73 msgid "No thanks" msgstr "Không, cám ơn" @@ -2049,17 +2085,17 @@ msgstr "Không có cảnh báo hoặc lỗi có chứa từ khóa này. Lưu ý #: src/component/photo/view/cards.vue:154 src/component/photo/view/list.vue:59 #: src/component/photo/view/list.vue:92 src/component/photo/view/mosaic.vue:78 -#: src/component/upload/dialog.vue:208 +#: src/component/upload/dialog.vue:210 msgid "Non-photographic and low-quality images require a review before they appear in search results." msgstr "Hình ảnh không phải ảnh và chất lượng thấp cần được xem xét trước khi chúng xuất hiện trong kết quả tìm kiếm." -#: src/options/admin.js:47 src/options/auth.js:32 src/options/options.js:212 +#: src/options/admin.js:51 src/options/auth.js:33 src/options/options.js:212 #: src/options/options.js:328 msgid "None" msgstr "Không có" -#: src/common/util.js:853 src/component/lightbox.vue:633 -#: src/component/service/upload.vue:75 src/component/service/upload.vue:87 +#: src/component/lightbox.vue:633 src/component/service/upload.vue:75 +#: src/component/service/upload.vue:87 msgid "Not allowed" msgstr "Không được phép" @@ -2071,8 +2107,7 @@ msgstr "Không tìm thấy" msgid "Not sorted." msgstr "Chưa được sắp xếp." -#: src/common/util.js:858 src/component/lightbox.vue:627 -#: src/component/lightbox.vue:744 +#: src/component/lightbox.vue:627 src/component/lightbox.vue:744 msgid "Not supported" msgstr "Không được hỗ trợ" @@ -2080,15 +2115,15 @@ msgstr "Không được hỗ trợ" msgid "Note you may manually manage your originals folder and importing is optional." msgstr "Lưu ý rằng bạn có thể quản lý thư mục gốc của mình theo cách thủ công và việc nhập là tùy chọn." -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "Note:" msgstr "Ghi chú:" -#: src/component/service/add.vue:120 +#: src/component/service/add.vue:121 msgid "Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload." msgstr "Lưu ý: Chỉ các máy chủ WebDAV, như Nextcloud hoặc PhotoPrism, mới có thể được định cấu hình làm dịch vụ từ xa để sao lưu và tải tệp lên." -#: src/component/photo/edit/details.vue:603 +#: src/component/photo/edit/details.vue:577 msgid "Notes" msgstr "Ghi chú" @@ -2096,8 +2131,8 @@ msgstr "Ghi chú" msgid "Nothing to see here yet." msgstr "Chưa có gì để xem ở đây." -#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:115 -#: src/component/settings/apps.vue:390 +#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:125 +#: src/component/settings/apps.vue:393 msgid "Nothing was found." msgstr "Không có gì được tìm thấy." @@ -2105,7 +2140,7 @@ msgstr "Không có gì được tìm thấy." msgid "Offline" msgstr "Ngoại tuyến" -#: src/options/admin.js:39 src/options/auth.js:28 +#: src/options/admin.js:43 src/options/auth.js:29 msgid "OIDC" msgstr "OIDC" @@ -2115,11 +2150,11 @@ msgstr "ĐƯỢC RỒI" #: src/component/album/edit/dialog.vue:25 src/component/photo/toolbar.vue:115 #: src/component/photo/toolbar.vue:127 src/component/photo/toolbar.vue:137 -#: src/page/albums.vue:101 +#: src/page/albums.vue:102 msgid "Oldest First" msgstr "Cũ nhất đầu tiên" -#: src/component/settings/webdav.vue:77 +#: src/component/settings/webdav.vue:78 msgid "On Windows, enter the following resource in the connection dialog:" msgstr "Trên Windows, nhập tài nguyên sau vào hộp thoại kết nối:" @@ -2131,11 +2166,11 @@ msgstr "Việc tạo hình thu nhỏ theo yêu cầu có thể gây ra mức s msgid "Once a week" msgstr "Mỗi tuần một lần" -#: src/page/albums.vue:609 +#: src/page/albums.vue:614 msgid "One album found" msgstr "Đã tìm thấy một album" -#: src/page/library/browse.vue:358 +#: src/page/library/browse.vue:360 msgid "One file found" msgstr "Đã tìm thấy một tập tin" @@ -2143,24 +2178,24 @@ msgstr "Đã tìm thấy một tập tin" msgid "One file uploaded" msgstr "Đã tải lên một tệp" -#: src/page/library/browse.vue:360 +#: src/page/library/browse.vue:362 msgid "One folder found" msgstr "Đã tìm thấy một thư mục" -#: src/page/labels.vue:525 +#: src/page/labels.vue:530 msgid "One label found" msgstr "Đã tìm thấy một nhãn" -#: src/page/people/new.vue:348 src/page/people/new.vue:445 -#: src/page/people/recognized.vue:533 +#: src/page/people/new.vue:348 src/page/people/new.vue:448 +#: src/page/people/recognized.vue:538 msgid "One person found" msgstr "Một người được tìm thấy" -#: src/page/album/photos.vue:490 src/page/photos.vue:628 +#: src/page/album/photos.vue:501 src/page/photos.vue:638 msgid "One picture found" msgstr "Một hình ảnh được tìm thấy" -#: src/component/settings/passcode.vue:478 +#: src/component/settings/passcode.vue:481 msgid "Only locally managed accounts can be set up for authentication with 2FA." msgstr "Chỉ những tài khoản được quản lý cục bộ mới có thể được thiết lập để xác thực bằng 2FA." @@ -2168,7 +2203,7 @@ msgstr "Chỉ những tài khoản được quản lý cục bộ mới có th msgid "Open" msgstr "Mở" -#: src/component/service/add.vue:86 src/component/service/add.vue:107 +#: src/component/service/add.vue:87 src/component/service/add.vue:108 msgid "optional" msgstr "không bắt buộc" @@ -2180,7 +2215,7 @@ msgstr "hoặc" msgid "Orange" msgstr "Quả cam" -#: src/page/settings/account.vue:571 src/page/settings/account.vue:573 +#: src/page/settings/account.vue:577 src/page/settings/account.vue:579 msgid "Organization" msgstr "Tổ chức" @@ -2196,7 +2231,7 @@ msgstr "Tên tập tin gốc sẽ được lưu trữ và lập chỉ mục." msgid "Original Name" msgstr "Tên khai sinh" -#: src/component/navigation.vue:1304 src/model/file.js:196 +#: src/component/navigation.vue:1328 src/model/file.js:196 #: src/options/options.js:413 src/page/library/browse.vue:65 #: src/page/settings/content.vue:356 src/page/settings/general.vue:532 msgid "Originals" @@ -2207,7 +2242,7 @@ msgstr "Bản gốc" msgid "Other" msgstr "Khác" -#: src/page/about/about.vue:77 src/page/about/about.vue:83 +#: src/page/about/about.vue:78 src/page/about/about.vue:84 msgid "Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible." msgstr "Sứ mệnh của chúng tôi là cung cấp giải pháp thân thiện với người dùng và quyền riêng tư nhất để giữ cho hình ảnh của bạn được ngăn nắp và dễ truy cập." @@ -2219,7 +2254,7 @@ msgstr "Ngoài trời" msgid "Page {0}, Current page" msgstr "Trang {0}, Trang hiện tại" -#: src/component/photo/edit/files.vue:352 src/model/photo.js:859 +#: src/component/photo/edit/files.vue:352 src/model/photo.js:896 msgid "Pages" msgstr "Trang" @@ -2231,15 +2266,15 @@ msgstr "Phân trang Điều hướng" msgid "Panorama" msgstr "Toàn cảnh" -#: src/component/navigation.vue:402 +#: src/component/navigation.vue:404 msgid "Panoramas" msgstr "Ảnh toàn cảnh" -#: src/component/user/add/dialog.vue:114 src/component/user/add/dialog.vue:115 -#: src/component/service/add.vue:106 src/component/service/edit.vue:352 -#: src/component/settings/apps.vue:121 src/component/settings/passcode.vue:106 -#: src/component/settings/passcode.vue:413 src/component/share/dialog.vue:27 -#: src/options/auth.js:91 src/page/auth/login.vue:196 +#: src/component/user/add/dialog.vue:115 src/component/user/add/dialog.vue:116 +#: src/component/service/add.vue:107 src/component/service/edit.vue:353 +#: src/component/settings/apps.vue:124 src/component/settings/passcode.vue:109 +#: src/component/settings/passcode.vue:416 src/component/share/dialog.vue:27 +#: src/options/auth.js:92 src/page/auth/login.vue:196 msgid "Password" msgstr "Mật khẩu" @@ -2247,9 +2282,9 @@ msgstr "Mật khẩu" msgid "Password changed" msgstr "mật khẩu đã được thay đổi" -#: src/app/routes.js:404 src/app/routes.js:428 src/component/navigation.vue:845 -#: src/component/navigation.vue:1898 src/component/photo/edit/dialog.vue:228 -#: src/component/photo/edit/dialog.vue:245 src/options/options.js:201 +#: src/app/routes.js:412 src/app/routes.js:436 src/component/navigation.vue:853 +#: src/component/navigation.vue:1939 src/component/photo/edit/dialog.vue:238 +#: src/component/photo/edit/dialog.vue:257 src/options/options.js:201 #: src/page/settings/general.vue:180 msgid "People" msgstr "Mọi người" @@ -2270,23 +2305,23 @@ msgstr "Xóa vĩnh viễn các tập tin để giải phóng bộ nhớ." msgid "Person" msgstr "Người" -#: src/options/auth.js:42 +#: src/options/auth.js:43 msgid "Personal" msgstr "Riêng tư" -#: src/model/photo.js:1273 +#: src/model/photo.js:1310 msgid "Photo" msgstr "hình chụp" -#: src/page/about/about.vue:156 +#: src/page/about/about.vue:158 msgid "PhotoPrism is 100% self-funded and independent." msgstr "PhotoPrism được tự tài trợ 100% và độc lập." -#: src/page/about/about.vue:92 +#: src/page/about/about.vue:93 msgid "PhotoPrism+ Membership" msgstr "PhotoPrism+ Tư cách thành viên" -#: src/app/routes.js:156 +#: src/app/routes.js:164 msgid "Photos" msgstr "Ảnh" @@ -2307,27 +2342,27 @@ msgstr "Địa điểm" msgid "Place & Time" msgstr "Địa điểm & Thời gian" -#: src/app/routes.js:303 src/app/routes.js:309 src/app/routes.js:315 -#: src/app/routes.js:330 src/component/navigation.vue:986 -#: src/component/navigation.vue:1914 src/options/options.js:203 +#: src/app/routes.js:311 src/app/routes.js:317 src/app/routes.js:323 +#: src/app/routes.js:338 src/component/navigation.vue:999 +#: src/component/navigation.vue:1956 src/options/options.js:203 #: src/page/places.vue:51 src/page/settings/general.vue:609 #: src/page/settings/general.vue:638 msgid "Places" msgstr "Địa điểm" -#: src/component/settings/password.vue:129 +#: src/component/settings/password.vue:130 msgid "Please confirm your new password." msgstr "Vui lòng xác nhận mật khẩu mới của bạn." -#: src/component/settings/apps.vue:185 +#: src/component/settings/apps.vue:188 msgid "Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:" msgstr "Vui lòng sao chép mật khẩu ứng dụng được tạo ngẫu nhiên sau đây và giữ nó ở nơi an toàn vì bạn sẽ không thể nhìn thấy nó nữa:" -#: src/component/upload/dialog.vue:203 +#: src/component/upload/dialog.vue:205 msgid "Please do not upload any private, unlawful or offensive pictures." msgstr "Vui lòng không tải lên bất kỳ hình ảnh riêng tư, bất hợp pháp hoặc xúc phạm nào." -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Please don't upload photos containing offensive content." msgstr "Vui lòng không tải lên ảnh có nội dung phản cảm." @@ -2335,11 +2370,11 @@ msgstr "Vui lòng không tải lên ảnh có nội dung phản cảm." msgid "Please enter OTP character {0}" msgstr "Vui lòng nhập ký tự OTP {0}" -#: src/component/settings/password.vue:66 +#: src/component/settings/password.vue:67 msgid "Please note that changing your password will log you out on other devices and browsers." msgstr "Xin lưu ý rằng việc thay đổi mật khẩu sẽ khiến bạn đăng xuất trên các thiết bị và trình duyệt khác." -#: src/page/connect.vue:148 src/page/connect.vue:152 +#: src/page/connect.vue:149 src/page/connect.vue:153 msgid "Please restart your instance for the changes to take effect." msgstr "Vui lòng khởi động lại phiên bản của bạn để những thay đổi có hiệu lực." @@ -2359,11 +2394,11 @@ msgstr "Giới hạn kích thước PNG: %{n}px" msgid "Portrait" msgstr "Chân dung" -#: src/component/service/edit.vue:273 +#: src/component/service/edit.vue:274 msgid "Preserve filenames" msgstr "Giữ nguyên tên tập tin" -#: src/component/upload/dialog.vue:162 +#: src/component/upload/dialog.vue:164 msgid "Press enter to create a new album." msgstr "Nhấn enter để tạo album mới." @@ -2400,8 +2435,8 @@ msgstr "Hình ảnh trước đó" msgid "Primary" msgstr "Sơ đẳng" -#: src/app/routes.js:271 src/component/album/edit/dialog.vue:176 -#: src/component/navigation.vue:531 src/component/photo/edit/info.vue:303 +#: src/app/routes.js:279 src/component/album/edit/dialog.vue:177 +#: src/component/navigation.vue:533 src/component/photo/edit/info.vue:303 #: src/page/settings/general.vue:280 msgid "Private" msgstr "Riêng tư" @@ -2426,7 +2461,7 @@ msgstr "Bộ lọc chất lượng" msgid "Quality Score" msgstr "Điểm chất lượng" -#: src/page/admin/users.vue:169 +#: src/page/admin/users.vue:171 msgid "r" msgstr "r" @@ -2457,7 +2492,7 @@ msgstr "Chế độ chỉ đọc" #: src/component/album/edit/dialog.vue:26 src/component/photo/toolbar.vue:116 #: src/component/photo/toolbar.vue:128 src/component/photo/toolbar.vue:138 -#: src/page/albums.vue:102 +#: src/page/albums.vue:103 msgid "Recently Added" msgstr "Đã thêm gần đây" @@ -2465,7 +2500,7 @@ msgstr "Đã thêm gần đây" msgid "Recently Archived" msgstr "Lưu trữ gần đây" -#: src/component/photo/toolbar.vue:139 src/page/albums.vue:103 +#: src/component/photo/toolbar.vue:139 src/page/albums.vue:104 msgid "Recently Edited" msgstr "Đã chỉnh sửa gần đây" @@ -2490,24 +2525,24 @@ msgstr "Mã phục hồi" msgid "Red" msgstr "Màu đỏ" -#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:126 -#: src/component/album/toolbar.vue:79 src/component/photo/toolbar.vue:169 -#: src/page/albums.vue:173 src/page/labels.vue:112 +#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:128 +#: src/component/album/toolbar.vue:84 src/component/photo/toolbar.vue:169 +#: src/page/albums.vue:175 src/page/labels.vue:112 #: src/page/library/browse.vue:90 src/page/library/errors.vue:81 #: src/page/people/new.vue:54 src/page/people/recognized.vue:88 msgid "Refresh" msgstr "Làm cho khỏe lại" -#: src/app/routes.js:337 src/component/navigation.vue:943 -#: src/component/navigation.vue:1026 +#: src/app/routes.js:345 src/component/navigation.vue:955 +#: src/component/navigation.vue:1040 msgid "Regions" msgstr "Các vùng" -#: src/page/connect.vue:275 src/page/connect.vue:284 +#: src/page/connect.vue:277 src/page/connect.vue:286 msgid "Register" msgstr "Đăng ký" -#: src/component/navigation.vue:1773 src/component/update.vue:68 +#: src/component/navigation.vue:1806 src/component/update.vue:68 msgid "Reload" msgstr "Tải lại" @@ -2552,34 +2587,34 @@ msgstr "Yêu cầu xem xét những hình ảnh không phải là ảnh chụp v msgid "Resolution" msgstr "Nghị quyết" -#: src/page/connect.vue:179 src/page/connect.vue:183 +#: src/page/connect.vue:180 src/page/connect.vue:184 #: src/page/settings/advanced.vue:782 msgid "Restart" msgstr "Khởi động lại" -#: src/component/user/edit/dialog.vue:485 src/component/lightbox.vue:1221 +#: src/component/user/edit/dialog.vue:488 src/component/lightbox.vue:1221 #: src/component/photo/clipboard.vue:77 msgid "Restore" msgstr "Khôi phục" -#: src/component/lightbox.vue:2000 +#: src/component/lightbox.vue:2020 msgid "Restored" msgstr "Đã khôi phục" -#: src/component/service/edit.vue:428 +#: src/component/service/edit.vue:429 msgid "Retry Limit" msgstr "Giới hạn thử lại" -#: src/component/settings/password.vue:128 +#: src/component/settings/password.vue:129 msgid "Retype Password" msgstr "Gõ lại mật khẩu" -#: src/app/routes.js:264 src/component/navigation.vue:505 +#: src/app/routes.js:272 src/component/navigation.vue:507 msgid "Review" msgstr "Ôn tập" -#: src/component/user/add/dialog.vue:171 src/component/user/edit/dialog.vue:284 -#: src/page/admin/sessions.vue:262 src/page/admin/users.vue:73 +#: src/component/user/add/dialog.vue:172 src/component/user/edit/dialog.vue:285 +#: src/page/admin/sessions.vue:263 src/page/admin/users.vue:75 msgid "Role" msgstr "Vai trò" @@ -2591,35 +2626,35 @@ msgstr "Số hàng trên mỗi trang:" msgid "Satellite" msgstr "Vệ tinh" -#: src/component/user/edit/dialog.vue:485 -#: src/component/album/edit/dialog.vue:211 -#: src/component/label/edit/dialog.vue:119 -#: src/component/people/edit/dialog.vue:132 src/component/service/edit.vue:466 -#: src/component/settings/password.vue:172 src/component/share/dialog.vue:181 +#: src/component/user/edit/dialog.vue:488 +#: src/component/album/edit/dialog.vue:212 +#: src/component/label/edit/dialog.vue:120 +#: src/component/people/edit/dialog.vue:133 src/component/service/edit.vue:467 +#: src/component/settings/password.vue:173 src/component/share/dialog.vue:181 msgid "Save" -msgstr "Cứu" +msgstr "Lưu" #: src/component/photo/edit/info.vue:319 msgid "Scan" msgstr "Quét" -#: src/component/settings/passcode.vue:179 +#: src/component/settings/passcode.vue:182 msgid "Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:" msgstr "Quét mã QR bằng ứng dụng xác thực của bạn hoặc sử dụng phím thiết lập hiển thị bên dưới rồi nhập mã xác minh đã tạo:" -#: src/component/navigation.vue:461 +#: src/component/navigation.vue:463 msgid "Scans" msgstr "Quét" -#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:377 -#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:310 +#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:381 +#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:313 msgid "Scope" msgstr "Phạm vi" -#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:62 -#: src/component/navigation.vue:342 src/component/navigation.vue:1866 -#: src/component/photo/toolbar.vue:57 src/options/options.js:197 -#: src/page/albums.vue:100 src/page/labels.vue:77 +#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:69 +#: src/component/location/dialog.vue:133 src/component/navigation.vue:343 +#: src/component/navigation.vue:1905 src/component/photo/toolbar.vue:57 +#: src/options/options.js:197 src/page/albums.vue:100 src/page/labels.vue:77 #: src/page/library/errors.vue:76 src/page/people/recognized.vue:66 #: src/page/places.vue:79 src/page/settings/content.vue:235 msgid "Search" @@ -2657,11 +2692,11 @@ msgstr "Chọn ngày" msgid "Select dates" msgstr "Chọn ngày" -#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:154 +#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:156 msgid "Select or create an album" msgstr "Chọn hoặc tạo một album" -#: src/component/upload/dialog.vue:138 +#: src/component/upload/dialog.vue:140 msgid "Select the files to upload…" msgstr "Chọn các tập tin để tải lên…" @@ -2689,7 +2724,7 @@ msgstr "Đã khôi phục lựa chọn" msgid "Sequential Name" msgstr "Tên tuần tự" -#: src/component/service/add.vue:67 src/component/service/edit.vue:322 +#: src/component/service/add.vue:68 src/component/service/edit.vue:323 #: src/component/share/dialog.vue:25 msgid "Service URL" msgstr "URL dịch vụ" @@ -2698,7 +2733,7 @@ msgstr "URL dịch vụ" msgid "Services" msgstr "Dịch vụ" -#: src/model/session.js:107 src/options/auth.js:41 src/options/auth.js:90 +#: src/model/session.js:107 src/options/auth.js:42 src/options/auth.js:91 msgid "Session" msgstr "Phiên họp" @@ -2706,7 +2741,7 @@ msgstr "Phiên họp" msgid "Session ID" msgstr "ID phiên" -#: src/page/admin.vue:45 +#: src/page/admin.vue:44 msgid "Sessions" msgstr "Phiên" @@ -2714,22 +2749,22 @@ msgstr "Phiên" msgid "Set as Album Cover" msgstr "Đặt làm Bìa Album" -#: src/app/routes.js:101 src/app/routes.js:492 src/app/routes.js:504 -#: src/app/routes.js:521 src/app/routes.js:534 src/app/routes.js:547 -#: src/component/navigation.vue:1394 src/component/navigation.vue:1806 +#: src/app/routes.js:101 src/app/routes.js:500 src/app/routes.js:512 +#: src/app/routes.js:529 src/app/routes.js:542 src/app/routes.js:555 +#: src/component/navigation.vue:1419 src/component/navigation.vue:1841 msgid "Settings" msgstr "Cài đặt" #: src/page/settings/account.vue:115 src/page/settings/account.vue:144 -#: src/component/settings/passcode.vue:147 +#: src/component/settings/passcode.vue:151 msgid "Settings saved" msgstr "Đã lưu cài đặt" -#: src/component/service/upload.vue:131 src/component/settings/passcode.vue:160 +#: src/component/service/upload.vue:132 src/component/settings/passcode.vue:163 msgid "Setup" msgstr "Cài đặt" -#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:98 +#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:103 #: src/component/photo/clipboard.vue:51 src/page/settings/general.vue:382 msgid "Share" msgstr "Chia sẻ" @@ -2746,7 +2781,7 @@ msgstr "Chia sẻ hình ảnh của bạn với các ứng dụng và dịch v msgid "Show" msgstr "Trình diễn" -#: src/page/people/new.vue:116 src/page/people/new.vue:233 +#: src/page/people/new.vue:116 src/page/people/new.vue:235 msgid "Show all new faces" msgstr "Hiển thị tất cả các khuôn mặt mới" @@ -2791,7 +2826,7 @@ msgid "Similar" msgstr "Tương tự" #: src/component/photo/edit/files.vue:51 src/component/photo/edit/files.vue:341 -#: src/component/service/edit.vue:139 src/component/sidebar/info.vue:96 +#: src/component/service/edit.vue:140 src/component/sidebar/info.vue:96 msgid "Size" msgstr "Kích cỡ" @@ -2819,7 +2854,7 @@ msgstr "Đã xảy ra lỗi, hãy thử lại" msgid "Sort by" msgstr "Sắp xếp theo" -#: src/component/album/edit/dialog.vue:142 src/component/photo/toolbar.vue:288 +#: src/component/album/edit/dialog.vue:143 src/component/photo/toolbar.vue:290 #: src/page/albums.vue:214 msgid "Sort Order" msgstr "Thứ tự sắp xếp" @@ -2854,7 +2889,7 @@ msgstr "Xếp chồng các ảnh được chụp vào cùng thời điểm và v msgid "Stackable" msgstr "có thể xếp chồng lên nhau" -#: src/component/navigation.vue:421 src/page/settings/content.vue:136 +#: src/component/navigation.vue:423 src/page/settings/content.vue:136 msgid "Stacks" msgstr "ngăn xếp" @@ -2882,16 +2917,16 @@ msgstr "Kho" msgid "Streets" msgstr "Đường phố" -#: src/component/photo/edit/details.vue:494 +#: src/component/photo/edit/details.vue:468 #: src/component/photo/edit/labels.vue:44 msgid "Subject" msgstr "Chủ thể" -#: src/page/about/feedback.vue:162 src/page/about/feedback.vue:163 +#: src/page/about/feedback.vue:163 src/page/about/feedback.vue:164 msgid "Submit" msgstr "Nộp" -#: src/component/settings/passcode.vue:132 +#: src/component/settings/passcode.vue:136 msgid "Successfully activated" msgstr "Đã kích hoạt thành công" @@ -2900,23 +2935,23 @@ msgid "Successfully Connected" msgstr "Kết nối thành công" #: src/component/session/remove/dialog.vue:32 -#: src/component/settings/apps.vue:218 +#: src/component/settings/apps.vue:222 msgid "Successfully deleted" msgstr "Đã xóa thành công" -#: src/component/settings/passcode.vue:107 +#: src/component/settings/passcode.vue:108 msgid "Successfully verified" msgstr "Đã xác minh thành công" -#: src/component/user/edit/dialog.vue:398 src/page/admin/users.vue:163 +#: src/component/user/edit/dialog.vue:399 src/page/admin/users.vue:165 msgid "Super Admin" msgstr "Quản trị viên cấp cao" -#: src/component/service/add.vue:122 +#: src/component/service/add.vue:123 msgid "Support for additional services, like Google Drive, will be added over time." msgstr "Hỗ trợ cho các dịch vụ bổ sung, như Google Drive, sẽ được bổ sung theo thời gian." -#: src/component/confirm/sponsor.vue:37 src/component/navigation.vue:1629 +#: src/component/confirm/sponsor.vue:38 src/component/navigation.vue:1660 msgid "Support Our Mission" msgstr "Hỗ trợ sứ mệnh của chúng tôi" @@ -2924,7 +2959,7 @@ msgstr "Hỗ trợ sứ mệnh của chúng tôi" msgid "Sync" msgstr "Đồng bộ hóa" -#: src/component/service/edit.vue:289 +#: src/component/service/edit.vue:290 msgid "Sync raw and video files" msgstr "Đồng bộ hóa các tập tin thô và video" @@ -2950,23 +2985,23 @@ msgstr "Địa hình" msgid "Text" msgstr "Chữ" -#: src/component/photo/edit/details.vue:32 src/page/people/new.vue:71 +#: src/component/photo/edit/details.vue:40 src/page/people/new.vue:71 msgid "Text too long" msgstr "Văn bản quá dài" -#: src/page/about/about.vue:145 +#: src/page/about/about.vue:146 msgid "Thank You for Your Support!" msgstr "Cảm ơn sự hỗ trợ của bạn!" -#: src/page/about/about.vue:79 src/page/about/about.vue:85 +#: src/page/about/about.vue:80 src/page/about/about.vue:86 msgid "That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality." msgstr "Đó là lý do tại sao PhotoPrism được xây dựng từ đầu để chạy ở bất cứ nơi nào bạn cần mà không ảnh hưởng đến quyền tự do, quyền riêng tư hoặc chức năng." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "The index currently contains %{n} hidden files." msgstr "Chỉ mục hiện chứa %{n} tệp ẩn." -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates." msgstr "Định dạng của chúng có thể không được hỗ trợ, chúng chưa được chuyển đổi sang JPEG hoặc có bản sao." @@ -2981,44 +3016,44 @@ msgstr "chủ đề" msgid "This field is required" msgstr "Trường này là bắt buộc" -#: src/component/settings/webdav.vue:100 src/page/settings/services.vue:144 +#: src/component/settings/webdav.vue:101 src/page/settings/services.vue:147 msgid "This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local." msgstr "Thao tác này sẽ gắn thư mục gốc dưới dạng ổ đĩa mạng và cho phép bạn mở, chỉnh sửa và xóa các tệp khỏi máy tính hoặc điện thoại thông minh của bạn như thể chúng là cục bộ." -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Time UTC" msgstr "thời gian UTC" -#: src/component/photo/edit/details.vue:219 src/page/settings/general.vue:108 +#: src/component/photo/edit/details.vue:221 src/page/settings/general.vue:108 msgid "Time Zone" msgstr "Múi giờ" -#: src/component/service/edit.vue:408 +#: src/component/service/edit.vue:409 msgid "Timeout" msgstr "Hết giờ" -#: src/component/user/edit/dialog.vue:98 src/component/user/edit/dialog.vue:99 +#: src/component/user/edit/dialog.vue:99 src/component/user/edit/dialog.vue:100 #: src/page/settings/account.vue:84 src/page/settings/account.vue:86 msgctxt "Account" msgid "Title" msgstr "Tiêu đề" -#: src/component/photo/edit/details.vue:73 +#: src/component/photo/edit/details.vue:75 msgctxt "Photo" msgid "Title" msgstr "Tiêu đề" -#: src/component/photo/edit/info.vue:59 src/component/photo/edit/info.vue:155 +#: src/component/photo/edit/info.vue:61 src/component/photo/edit/info.vue:155 #: src/component/photo/edit/labels.vue:40 src/component/photo/view/list.vue:114 #: src/component/sidebar/info.vue:57 msgid "Title" msgstr "Tiêu đề" -#: src/page/settings/account.vue:553 src/page/settings/account.vue:555 +#: src/page/settings/account.vue:559 src/page/settings/account.vue:561 msgid "Title / Position" msgstr "Vị trí tiêu đề" -#: src/page/albums.vue:83 +#: src/page/albums.vue:84 msgid "Title too long" msgstr "Tiêu đề quá dài" @@ -3026,19 +3061,19 @@ msgstr "Tiêu đề quá dài" msgid "to" msgstr "ĐẾN" -#: src/component/settings/passcode.vue:312 +#: src/component/settings/passcode.vue:315 msgid "To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place." msgstr "Để tránh bị khóa tài khoản, vui lòng tải xuống, in hoặc sao chép mã khôi phục này ngay bây giờ và giữ nó ở nơi an toàn." -#: src/component/settings/apps.vue:272 +#: src/component/settings/apps.vue:275 msgid "To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:" msgstr "Để tạo mật khẩu mới dành riêng cho ứng dụng, vui lòng nhập tên và phạm vi ủy quyền của ứng dụng và chọn ngày hết hạn:" -#: src/component/settings/passcode.vue:400 +#: src/component/settings/passcode.vue:403 msgid "To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:" msgstr "Để chuyển sang ứng dụng hoặc thiết bị xác thực mới, trước tiên hãy tắt xác thực hai yếu tố rồi kích hoạt lại:" -#: src/page/connect.vue:221 src/page/connect.vue:230 +#: src/page/connect.vue:223 src/page/connect.vue:232 msgid "To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:" msgstr "Để nâng cấp, bạn có thể nhập mã kích hoạt hoặc nhấp vào \"Đăng ký\" để đăng ký trên trang web của chúng tôi:" @@ -3046,7 +3081,7 @@ msgstr "Để nâng cấp, bạn có thể nhập mã kích hoạt hoặc nhấp msgid "Today" msgstr "Hôm nay" -#: src/component/album/toolbar.vue:70 src/component/photo/toolbar.vue:78 +#: src/component/album/toolbar.vue:71 src/component/photo/toolbar.vue:78 msgid "Toggle View" msgstr "Chuyển đổi chế độ xem" @@ -3073,20 +3108,24 @@ msgstr "Xử lý sự cố" msgid "Try again using other filters or keywords." msgstr "Hãy thử lại bằng các bộ lọc hoặc từ khóa khác." -#: src/component/settings/passcode.vue:380 +#: src/component/settings/passcode.vue:383 msgid "Two-factor authentication has been enabled for your account." msgstr "Xác thực hai yếu tố đã được kích hoạt cho tài khoản của bạn." #: src/component/photo/edit/files.vue:58 src/component/photo/edit/files.vue:330 -#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:388 +#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:389 msgid "Type" msgstr "Kiểu" -#: src/options/auth.js:13 +#: src/component/album/toolbar.vue:178 +msgid "Unable to delete" +msgstr "Không thể xóa" + +#: src/options/auth.js:14 msgid "Unauthorized" msgstr "Không được phép" -#: src/component/photo/edit/people.vue:94 +#: src/component/photo/edit/people.vue:95 msgid "Undo" msgstr "Hoàn tác" @@ -3094,16 +3133,16 @@ msgstr "Hoàn tác" msgid "Unique ID" msgstr "ID duy nhất" -#: src/page/settings/account.vue:451 src/page/settings/account.vue:476 -#: src/page/settings/account.vue:501 src/common/util.js:487 -#: src/component/photo/edit/details.vue:21 -#: src/component/photo/edit/details.vue:111 -#: src/component/photo/edit/details.vue:138 -#: src/component/photo/edit/details.vue:164 src/component/sidebar/info.vue:43 -#: src/model/album.js:193 src/model/photo.js:323 src/model/photo.js:784 -#: src/model/photo.js:809 src/model/photo.js:832 src/model/photo.js:850 -#: src/model/photo.js:897 src/model/photo.js:905 src/model/photo.js:994 -#: src/model/photo.js:1016 src/model/photo.js:1061 src/model/photo.js:1074 +#: src/page/settings/account.vue:457 src/page/settings/account.vue:482 +#: src/page/settings/account.vue:507 src/common/util.js:488 +#: src/component/photo/edit/details.vue:27 +#: src/component/photo/edit/details.vue:113 +#: src/component/photo/edit/details.vue:140 +#: src/component/photo/edit/details.vue:166 src/component/sidebar/info.vue:43 +#: src/model/album.js:193 src/model/photo.js:331 src/model/photo.js:821 +#: src/model/photo.js:846 src/model/photo.js:869 src/model/photo.js:887 +#: src/model/photo.js:934 src/model/photo.js:942 src/model/photo.js:1031 +#: src/model/photo.js:1053 src/model/photo.js:1098 src/model/photo.js:1111 #: src/model/user.js:157 src/options/options.js:51 src/options/options.js:69 #: src/options/options.js:86 src/options/options.js:100 #: src/options/options.js:112 src/page/library/errors.vue:251 @@ -3116,7 +3155,7 @@ msgstr "không xác định" msgid "Unregistered" msgstr "Chưa đăng ký" -#: src/app/routes.js:215 src/component/navigation.vue:644 +#: src/app/routes.js:223 src/component/navigation.vue:648 msgid "Unsorted" msgstr "Chưa sắp xếp" @@ -3124,7 +3163,7 @@ msgstr "Chưa sắp xếp" msgid "Unstack" msgstr "Giải nén" -#: src/component/photo/edit/files.vue:519 src/component/photo/edit/info.vue:416 +#: src/component/photo/edit/files.vue:521 src/component/photo/edit/info.vue:416 msgid "Updated" msgstr "Đã cập nhật" @@ -3140,7 +3179,7 @@ msgstr "Đang cập nhật chỉ mục" msgid "Updating moments" msgstr "Cập nhật khoảnh khắc" -#: src/component/user/edit/dialog.vue:154 +#: src/component/user/edit/dialog.vue:155 msgid "Updating picture…" msgstr "Đang cập nhật hình ảnh…" @@ -3152,21 +3191,21 @@ msgstr "Đang cập nhật bản xem trước" msgid "Updating stacks" msgstr "Cập nhật ngăn xếp" -#: src/page/connect.vue:57 src/component/navigation.vue:1500 -#: src/component/navigation.vue:1614 src/component/navigation.vue:1999 +#: src/page/connect.vue:57 src/component/navigation.vue:1526 +#: src/component/navigation.vue:1644 src/component/navigation.vue:2047 #: src/page/connect.vue:58 msgid "Upgrade" msgstr "Nâng cấp" -#: src/page/about/about.vue:123 src/page/connect.vue:202 -#: src/component/confirm/sponsor.vue:98 src/page/about/about.vue:113 -#: src/page/connect.vue:206 +#: src/page/about/about.vue:124 src/page/connect.vue:204 +#: src/component/confirm/sponsor.vue:99 src/page/about/about.vue:114 +#: src/page/connect.vue:208 msgid "Upgrade Now" msgstr "Nâng cấp ngay bây giờ" -#: src/component/album/toolbar.vue:108 src/component/navigation.vue:1824 -#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:144 -#: src/component/upload/dialog.vue:51 src/page/albums.vue:183 +#: src/component/album/toolbar.vue:113 src/component/navigation.vue:1860 +#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:145 +#: src/component/upload/dialog.vue:51 src/page/albums.vue:185 #: src/page/labels.vue:122 src/page/library/import.vue:133 #: src/page/settings/general.vue:307 src/page/settings/services.vue:38 msgid "Upload" @@ -3176,21 +3215,21 @@ msgstr "Tải lên" msgid "Upload complete" msgstr "Tải lên hoàn tất" -#: src/component/upload/dialog.vue:133 +#: src/component/upload/dialog.vue:135 msgid "Upload complete. Indexing…" msgstr "Tải lên hoàn tất. Lập chỉ mục…" #: src/component/upload/dialog.vue:296 src/component/upload/dialog.vue:315 -#: src/component/upload/dialog.vue:129 +#: src/component/upload/dialog.vue:131 msgid "Upload failed" msgstr "Tải lên không thành công" -#: src/component/service/edit.vue:257 +#: src/component/service/edit.vue:258 msgid "Upload local files" msgstr "Tải lên các tập tin cục bộ" -#: src/component/user/edit/dialog.vue:380 #: src/component/user/edit/dialog.vue:381 +#: src/component/user/edit/dialog.vue:382 msgid "Upload Path" msgstr "Đường dẫn tải lên" @@ -3198,7 +3237,7 @@ msgstr "Đường dẫn tải lên" msgid "Upload to WebDAV and share links with friends." msgstr "Tải lên WebDAV và chia sẻ liên kết với bạn bè." -#: src/component/upload/dialog.vue:131 +#: src/component/upload/dialog.vue:133 msgid "Uploading %{n} of %{t}…" msgstr "Đang tải lên %{n} trong số %{t}…" @@ -3211,7 +3250,7 @@ msgstr "Đang tải ảnh lên…" msgid "Uploading…" msgstr "Đang tải lên…" -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Uploads that may contain such images will be rejected automatically." msgstr "Những tải lên có thể chứa những hình ảnh như vậy sẽ tự động bị từ chối." @@ -3219,7 +3258,7 @@ msgstr "Những tải lên có thể chứa những hình ảnh như vậy sẽ msgid "Use Presets" msgstr "Sử dụng cài đặt trước" -#: src/component/settings/passcode.vue:283 +#: src/component/settings/passcode.vue:286 msgid "Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:" msgstr "Sử dụng mã khôi phục sau để truy cập vào tài khoản của bạn khi bạn không thể tạo mã xác minh hợp lệ bằng ứng dụng xác thực của mình:" @@ -3227,12 +3266,12 @@ msgstr "Sử dụng mã khôi phục sau để truy cập vào tài khoản củ msgid "Use your recovery code or contact an administrator for help." msgstr "Sử dụng mã khôi phục của bạn hoặc liên hệ với quản trị viên để được trợ giúp." -#: src/options/admin.js:10 src/page/admin/sessions.vue:59 -#: src/page/admin/sessions.vue:242 src/model/user.js:361 src/options/auth.js:7 +#: src/options/admin.js:14 src/page/admin/sessions.vue:59 +#: src/page/admin/sessions.vue:243 src/model/user.js:361 src/options/auth.js:8 msgid "User" msgstr "Người dùng" -#: src/component/navigation.vue:1979 +#: src/component/navigation.vue:2025 msgid "User Guide" msgstr "Hướng dẫn sử dụng" @@ -3240,14 +3279,14 @@ msgstr "Hướng dẫn sử dụng" msgid "User Interface" msgstr "Giao diện người dùng" -#: src/component/user/add/dialog.vue:87 src/component/user/add/dialog.vue:88 -#: src/page/admin/sessions.vue:220 src/page/admin/users.vue:71 -#: src/component/service/add.vue:85 src/component/service/edit.vue:337 +#: src/component/user/add/dialog.vue:88 src/component/user/add/dialog.vue:89 +#: src/page/admin/sessions.vue:221 src/page/admin/users.vue:73 +#: src/component/service/add.vue:86 src/component/service/edit.vue:338 #: src/component/share/dialog.vue:26 msgid "Username" msgstr "tên tài khoản" -#: src/component/navigation.vue:1435 +#: src/component/navigation.vue:1461 msgid "Users" msgstr "Người dùng" @@ -3257,18 +3296,18 @@ msgstr "Người dùng" msgid "Vector" msgstr "Vectơ" -#: src/component/navigation.vue:440 +#: src/component/navigation.vue:442 msgid "Vectors" msgstr "Vectơ" -#: src/component/settings/passcode.vue:227 src/page/auth/login.vue:144 +#: src/component/settings/passcode.vue:230 src/page/auth/login.vue:144 msgid "Verification Code" msgstr "Mã xác nhận" #: src/component/photo/view/cards.vue:363 #: src/component/photo/view/cards.vue:491 src/component/photo/view/list.vue:190 #: src/component/photo/view/mosaic.vue:207 src/model/file.js:221 -#: src/model/photo.js:921 src/model/photo.js:939 src/options/options.js:293 +#: src/model/photo.js:958 src/model/photo.js:976 src/options/options.js:293 msgid "Video" msgstr "Băng hình" @@ -3277,12 +3316,12 @@ msgstr "Băng hình" msgid "Video Duration" msgstr "Thời lượng video" -#: src/app/routes.js:243 src/component/navigation.vue:728 +#: src/app/routes.js:251 src/component/navigation.vue:734 #: src/options/options.js:200 msgid "Videos" msgstr "Video" -#: src/component/photo/toolbar.vue:261 src/component/photo/view/cards.vue:350 +#: src/component/photo/toolbar.vue:263 src/component/photo/view/cards.vue:350 #: src/component/photo/view/mosaic.vue:194 msgid "View" msgstr "Xem" @@ -3291,11 +3330,11 @@ msgstr "Xem" msgid "View search results as a list." msgstr "Xem kết quả tìm kiếm dưới dạng danh sách." -#: src/options/admin.js:14 src/options/auth.js:8 +#: src/options/admin.js:18 src/options/auth.js:9 msgid "Viewer" msgstr "Người xem" -#: src/page/admin/sessions.vue:271 src/options/auth.js:12 +#: src/page/admin/sessions.vue:272 src/options/auth.js:13 msgid "Visitor" msgstr "Khách thăm quan" @@ -3307,36 +3346,36 @@ msgstr "Sự tương đồng về hình ảnh" msgid "Warning" msgstr "Cảnh báo" -#: src/page/about/feedback.vue:60 +#: src/page/about/feedback.vue:61 msgid "We appreciate your feedback!" msgstr "Chúng tôi cảm kích những phản hồi của bạn!" -#: src/page/about/feedback.vue:63 +#: src/page/about/feedback.vue:64 msgid "We do our best to respond within five business days or less." msgstr "Chúng tôi cố gắng hết sức để phản hồi trong vòng năm ngày làm việc hoặc ít hơn." -#: src/component/user/add/dialog.vue:235 src/component/user/edit/dialog.vue:415 -#: src/page/admin/users.vue:80 +#: src/component/user/add/dialog.vue:236 src/component/user/edit/dialog.vue:416 +#: src/page/admin/users.vue:82 msgid "Web Login" msgstr "Đăng nhập web" -#: src/component/user/add/dialog.vue:248 src/component/user/edit/dialog.vue:432 -#: src/page/admin/users.vue:82 src/options/auth.js:55 src/options/auth.js:68 +#: src/component/user/add/dialog.vue:249 src/component/user/edit/dialog.vue:433 +#: src/page/admin/users.vue:84 src/options/auth.js:56 src/options/auth.js:69 #: src/options/options.js:444 msgid "WebDAV" msgstr "WebDAV" -#: src/component/settings/webdav.vue:51 +#: src/component/settings/webdav.vue:52 msgid "WebDAV clients can connect to PhotoPrism using the following URL:" msgstr "Máy khách WebDAV có thể kết nối với PhotoPrism bằng URL sau:" -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism." msgstr "" "Các máy khách WebDAV, như Windows Explorer của Microsoft hoặc Finder của Apple, có thể kết nối trực tiếp với\n" " PhotoPrism." -#: src/component/service/upload.vue:50 src/component/share/dialog.vue:220 +#: src/component/service/upload.vue:51 src/component/share/dialog.vue:220 msgid "WebDAV Upload" msgstr "Tải lên WebDAV" @@ -3344,8 +3383,8 @@ msgstr "Tải lên WebDAV" msgid "WebGL support is disabled in your browser" msgstr "Hỗ trợ WebGL bị vô hiệu hóa trong trình duyệt của bạn" -#: src/page/settings/account.vue:615 src/page/settings/account.vue:709 -#: src/page/settings/account.vue:601 +#: src/page/settings/account.vue:621 src/page/settings/account.vue:715 +#: src/page/settings/account.vue:607 msgid "Website" msgstr "Trang mạng" @@ -3353,12 +3392,12 @@ msgstr "Trang mạng" msgid "White" msgstr "Trắng" -#: src/page/settings/account.vue:532 +#: src/page/settings/account.vue:538 msgid "Work Details" msgstr "Chi tiết công việc" -#: src/page/settings/account.vue:500 src/component/photo/edit/details.vue:163 -#: src/component/photo/toolbar.vue:315 src/page/albums.vue:159 +#: src/page/settings/account.vue:506 src/component/photo/edit/details.vue:165 +#: src/component/photo/toolbar.vue:317 src/page/albums.vue:159 msgid "Year" msgstr "Năm" @@ -3366,21 +3405,21 @@ msgstr "Năm" msgid "Yellow" msgstr "Màu vàng" -#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:58 -#: src/component/photo/archive/dialog.vue:58 +#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:59 +#: src/component/photo/archive/dialog.vue:59 #: src/component/photo/clipboard.vue:200 src/component/photo/edit/files.vue:365 #: src/component/photo/edit/files.vue:395 #: src/component/photo/edit/files.vue:401 #: src/component/photo/edit/files.vue:407 -#: src/component/photo/edit/files.vue:510 src/component/photo/edit/info.vue:281 +#: src/component/photo/edit/files.vue:512 src/component/photo/edit/info.vue:281 #: src/component/photo/edit/info.vue:297 src/component/photo/edit/info.vue:313 #: src/component/photo/edit/info.vue:329 src/component/photo/edit/info.vue:344 -#: src/component/photo/toolbar.vue:434 +#: src/component/photo/toolbar.vue:436 msgid "Yes" msgstr "Đúng" -#: src/component/confirm/sponsor.vue:59 src/page/about/about.vue:158 -#: src/page/connect.vue:315 +#: src/component/confirm/sponsor.vue:60 src/page/about/about.vue:160 +#: src/page/connect.vue:317 msgid "You are welcome to contact us at membership@photoprism.app for questions regarding your membership." msgstr "Bạn có thể liên hệ với chúng tôi theo địa chỉ member@photoprism.app nếu có câu hỏi liên quan đến tư cách thành viên của bạn." @@ -3392,7 +3431,11 @@ msgstr "Bạn chỉ có thể tải xuống một album" msgid "You can only download one label" msgstr "Bạn chỉ có thể tải xuống một nhãn" -#: src/component/upload/dialog.vue:203 +#: src/component/location/dialog.vue:178 +msgid "You can search for a location or move the marker on the map to change the position:" +msgstr "Bạn có thể tìm kiếm vị trí hoặc di chuyển điểm đánh dấu trên bản đồ để thay đổi vị trí:" + +#: src/component/upload/dialog.vue:205 msgid "You can upload up to %{n} files for test purposes." msgstr "Bạn có thể tải lên tối đa %{n} tệp cho mục đích thử nghiệm." @@ -3405,7 +3448,7 @@ msgstr "Bạn chỉ có thể chọn một mục" msgid "You may rescan your library to find additional faces." msgstr "Bạn có thể quét lại thư viện của mình để tìm thêm khuôn mặt." -#: src/page/connect.vue:146 src/page/connect.vue:150 +#: src/page/connect.vue:147 src/page/connect.vue:151 msgid "Your account has been successfully connected." msgstr "Tài khoản của bạn đã được kết nối thành công." @@ -3413,8 +3456,8 @@ msgstr "Tài khoản của bạn đã được kết nối thành công." msgid "Your browser does not support WebGL" msgstr "Trình duyệt của bạn không hỗ trợ WebGL" -#: src/component/confirm/sponsor.vue:43 src/page/about/about.vue:97 -#: src/page/about/about.vue:156 src/page/connect.vue:220 +#: src/component/confirm/sponsor.vue:44 src/page/about/about.vue:98 +#: src/page/about/about.vue:158 src/page/connect.vue:222 msgid "Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy." msgstr "Sự hỗ trợ liên tục của bạn giúp chúng tôi cung cấp thông tin cập nhật thường xuyên và duy trì tính độc lập để chúng tôi có thể hoàn thành sứ mệnh của mình và bảo vệ quyền riêng tư của bạn." @@ -3495,9 +3538,6 @@ msgstr "Phóng to / thu nhỏ" #~ msgid "Open Folder" #~ msgstr "Mở thư mục" -#~ msgid "Cannot copy to clipboard" -#~ msgstr "Không thể sao chép vào clipboard" - #~ msgid "Sound" #~ msgstr "Âm thanh" diff --git a/frontend/src/locales/zh.po b/frontend/src/locales/zh.po index bed373b6a..cf79db739 100644 --- a/frontend/src/locales/zh.po +++ b/frontend/src/locales/zh.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: ci@photoprism.app\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2025-04-04 08:03+0000\n" +"PO-Revision-Date: 2025-07-06 08:58+0000\n" "Last-Translator: DeepL \n" "Language-Team: Chinese (Simplified) \n" "Language: zh\n" @@ -11,7 +11,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.10.4\n" +"X-Generator: Weblate 5.12.2\n" "Generated-By: easygettext\n" #: src/locales.js:268 @@ -42,7 +42,7 @@ msgstr "{0}已选定" msgid "{0}-{1} of {2}" msgstr "{2}的{0}-{1}部分" -#: src/page/albums.vue:612 +#: src/page/albums.vue:617 msgid "%{n} albums found" msgstr "已找到 %{n} 个相册" @@ -50,25 +50,25 @@ msgstr "已找到 %{n} 个相册" msgid "%{n} files uploaded" msgstr "已上传 %{n} 个文件" -#: src/page/library/browse.vue:362 +#: src/page/library/browse.vue:364 msgid "%{n} folders found" msgstr "已找到 %{n} 个文件夹" -#: src/component/navigation.vue:1676 +#: src/component/navigation.vue:1707 msgid "%{n} GB of %{q} GB used" -msgstr "%{n}%{q}的 GB使用的 GB" +msgstr "已使用%{n}GB,共%{q}GB" -#: src/page/labels.vue:528 +#: src/page/labels.vue:533 msgid "%{n} labels found" msgstr "已找到 %{n} 个标签" -#: src/page/people/new.vue:350 src/page/people/new.vue:447 -#: src/page/people/recognized.vue:536 +#: src/page/people/new.vue:350 src/page/people/new.vue:450 +#: src/page/people/recognized.vue:541 msgid "%{n} people found" msgstr "已找到 %{n} 个人物" -#: src/page/album/photos.vue:308 src/page/album/photos.vue:493 -#: src/page/photos.vue:441 src/page/photos.vue:631 +#: src/page/album/photos.vue:313 src/page/album/photos.vue:504 +#: src/page/photos.vue:446 src/page/photos.vue:641 msgid "%{n} pictures found" msgstr "已找到 %{n} 张图片" @@ -88,12 +88,12 @@ msgstr "1 小时" msgid "12 hours" msgstr "12 小时" -#: src/component/user/edit/dialog.vue:452 src/page/settings/account.vue:324 -#: src/component/settings/passcode.vue:75 +#: src/component/user/edit/dialog.vue:453 src/page/settings/account.vue:325 +#: src/component/settings/passcode.vue:78 msgid "2-Factor Authentication" msgstr "双因素身份验证" -#: src/component/user/edit/dialog.vue:451 src/options/auth.js:46 +#: src/component/user/edit/dialog.vue:452 src/options/auth.js:47 msgid "2FA" msgstr "2FA" @@ -109,20 +109,20 @@ msgstr "点击复制到剪贴板。" msgid "A new version of %{s} is available:" msgstr "%{s} 的新版本已发布:" -#: src/component/user/edit/dialog.vue:233 -#: src/component/user/edit/dialog.vue:234 src/page/about/about.vue:56 +#: src/component/user/edit/dialog.vue:234 +#: src/component/user/edit/dialog.vue:235 src/page/about/about.vue:56 #: src/page/settings/account.vue:248 src/page/settings/account.vue:249 -#: src/app/routes.js:63 src/component/navigation.vue:1521 -#: src/page/people/recognized.vue:292 +#: src/app/routes.js:63 src/component/navigation.vue:1547 +#: src/page/people/recognized.vue:296 msgid "About" msgstr "关于" -#: src/options/auth.js:26 src/options/auth.js:44 +#: src/options/auth.js:27 src/options/auth.js:45 msgid "Access Token" msgstr "访问令牌" -#: src/component/navigation.vue:87 src/component/navigation.vue:1788 -#: src/component/service/upload.vue:71 src/model/service.js:96 +#: src/component/navigation.vue:87 src/component/navigation.vue:1822 +#: src/component/service/upload.vue:72 src/model/service.js:96 #: src/model/user.js:171 src/page/settings.vue:85 #: src/page/settings/general.vue:582 msgid "Account" @@ -136,7 +136,7 @@ msgstr "账户已创建" msgid "Account deleted" msgstr "账户已删除" -#: src/page/admin/users.vue:335 +#: src/page/admin/users.vue:337 msgid "Account restored" msgstr "账户已恢复" @@ -157,8 +157,8 @@ msgstr "动作" msgid "Actions" msgstr "动作" -#: src/page/connect.vue:294 src/component/settings/passcode.vue:346 -#: src/page/connect.vue:303 +#: src/page/connect.vue:296 src/component/settings/passcode.vue:349 +#: src/page/connect.vue:305 msgid "Activate" msgstr "激活" @@ -174,20 +174,20 @@ msgstr "激活以升序排序。" msgid "Activate to sort descending." msgstr "激活以降序排序。" -#: src/page/connect.vue:231 src/page/connect.vue:240 +#: src/page/connect.vue:233 src/page/connect.vue:242 msgid "Activation Code" msgstr "激活码" -#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:83 -#: src/component/settings/apps.vue:448 +#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:92 +#: src/component/settings/apps.vue:451 msgid "Add" msgstr "添加" -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:246 msgid "Add %{s}?" msgstr "添加 %{s}?" -#: src/component/user/add/dialog.vue:56 src/component/service/add.vue:49 +#: src/component/user/add/dialog.vue:57 src/component/service/add.vue:50 msgid "Add Account" msgstr "添加账户" @@ -204,10 +204,10 @@ msgid "Add Link" msgstr "添加链接" #: src/component/photo/edit/people.vue:25 -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:57 -#: src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:57 +#: src/page/people/new.vue:246 msgid "Add person?" -msgstr "加人?" +msgstr "新增人物?" #: src/page/albums.vue:420 msgid "Add pictures from search results by selecting them." @@ -221,10 +221,15 @@ msgstr "从搜索结果中选择添加图片。" msgid "Add to album" msgstr "添加到相册" -#: src/component/photo/edit/files.vue:514 +#: src/component/photo/edit/files.vue:516 msgid "Added" msgstr "已添加" +#: src/component/location/dialog.vue:68 src/component/location/dialog.vue:90 +#: src/component/photo/edit/details.vue:246 +msgid "Adjust Location" +msgstr "调整位置" + #: src/options/admin.js:6 src/options/auth.js:6 msgid "Admin" msgstr "管理员" @@ -245,7 +250,7 @@ msgstr "3 天后" msgid "After 7 days" msgstr "7 天后" -#: src/component/settings/passcode.vue:93 +#: src/component/settings/passcode.vue:96 msgid "After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:" msgstr "输入密码确认后,您可以使用兼容的身份验证器应用或设备设置双重身份验证:" @@ -277,12 +282,16 @@ msgstr "相册" msgid "Album Backups" msgstr "相册备份" -#: src/page/albums.vue:674 +#: src/page/albums.vue:685 msgid "Album created" msgstr "相册已创建" -#: src/app/routes.js:176 src/component/album/toolbar.vue:51 -#: src/component/navigation.vue:604 src/component/navigation.vue:1882 +#: src/page/album/photos.vue:589 +msgid "Album deleted" +msgstr "相册已删除" + +#: src/app/routes.js:184 src/component/album/toolbar.vue:55 +#: src/component/navigation.vue:607 src/component/navigation.vue:1922 #: src/component/photo/edit/info.vue:220 src/options/options.js:198 msgid "Albums" msgstr "相册" @@ -295,7 +304,7 @@ msgstr "相册已删除" msgid "All" msgstr "全部" -#: src/page/albums.vue:465 +#: src/page/albums.vue:470 msgid "All %{n} albums loaded" msgstr "%{n} 本相册已加载" @@ -311,8 +320,8 @@ msgstr "%{n} 个人物已加载" msgid "All Cameras" msgstr "全部相机" -#: src/component/photo/toolbar.vue:74 src/page/albums.vue:44 -#: src/page/albums.vue:240 src/page/albums.vue:746 +#: src/component/photo/toolbar.vue:74 src/page/albums.vue:45 +#: src/page/albums.vue:242 src/page/albums.vue:757 msgid "All Categories" msgstr "全部分类" @@ -344,7 +353,7 @@ msgstr "全部月份" msgid "All originals" msgstr "全部源图" -#: src/component/photo/toolbar.vue:76 src/page/albums.vue:93 +#: src/component/photo/toolbar.vue:76 src/page/albums.vue:94 msgid "All Years" msgstr "全部年份" @@ -356,7 +365,7 @@ msgstr "或者,你也可以上传文件到类似 NextCloud 的 WebDAV 服务 msgid "Altitude" msgstr "海拔" -#: src/component/photo/edit/details.vue:272 +#: src/component/photo/edit/details.vue:297 msgid "Altitude (m)" msgstr "海拔(米)" @@ -364,8 +373,7 @@ msgstr "海拔(米)" msgid "AM" msgstr "上午" -#: src/app/routes.js:257 src/component/navigation.vue:791 -#: src/component/photo/edit/files.vue:364 +#: src/app/routes.js:265 src/component/photo/edit/files.vue:364 #: src/component/photo/view/cards.vue:327 #: src/component/photo/view/cards.vue:511 src/component/photo/view/list.vue:184 #: src/component/photo/view/mosaic.vue:171 src/options/options.js:301 @@ -376,43 +384,47 @@ msgstr "动画" msgid "Animation" msgstr "动画" +#: src/component/navigation.vue:797 +msgid "Animations" +msgstr "动画" + #: src/component/share/dialog.vue:207 msgid "Any private photos and videos remain private and won't be shared." msgstr "任何私有照片和视频都保持私有,不会被分享。" -#: src/component/service/edit.vue:372 +#: src/component/service/edit.vue:373 msgid "API Key" msgstr "API 密钥" -#: src/page/admin/sessions.vue:357 src/options/auth.js:25 +#: src/page/admin/sessions.vue:361 src/options/auth.js:26 msgid "Application" msgstr "应用" -#: src/component/photo/edit/details.vue:641 +#: src/component/photo/edit/details.vue:615 msgid "Apply" msgstr "应用" #: src/component/photo/clipboard.vue:64 -#: src/component/photo/edit/details.vue:640 +#: src/component/photo/edit/details.vue:614 #: src/component/photo/view/cards.vue:416 msgid "Approve" msgstr "批准" -#: src/page/settings/account.vue:374 src/component/settings/apps.vue:91 +#: src/page/settings/account.vue:378 src/component/settings/apps.vue:94 msgid "Apps and Devices" msgstr "应用程序和设备" -#: src/app/routes.js:287 src/component/lightbox.vue:1207 -#: src/component/navigation.vue:555 src/component/photo/clipboard.vue:142 +#: src/app/routes.js:295 src/component/lightbox.vue:1207 +#: src/component/navigation.vue:557 src/component/photo/clipboard.vue:142 #: src/component/photo/view/cards.vue:398 src/page/settings/general.vue:432 msgid "Archive" msgstr "归档" -#: src/component/lightbox.vue:1982 src/component/photo/edit/info.vue:433 +#: src/component/lightbox.vue:2002 src/component/photo/edit/info.vue:433 msgid "Archived" msgstr "已归档" -#: src/component/photo/archive/dialog.vue:34 +#: src/component/photo/archive/dialog.vue:35 msgid "Are you sure you want to archive the selection?" msgstr "你确定要归档所选内容吗?" @@ -420,19 +432,23 @@ msgstr "你确定要归档所选内容吗?" msgid "Are you sure you want to delete these albums?" msgstr "你确定要删除这些相册吗?" -#: src/component/label/delete/dialog.vue:34 +#: src/component/label/delete/dialog.vue:35 msgid "Are you sure you want to delete these labels?" msgstr "你确定要删除这些标签吗?" -#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:36 +#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:37 msgid "Are you sure you want to delete this account?" msgstr "你确定要删除此账号吗?" +#: src/component/album/toolbar.vue:136 +msgid "Are you sure you want to delete this album?" +msgstr "您确定要删除此相册吗?" + #: src/component/photo/clipboard.vue:199 msgid "Are you sure you want to permanently delete these pictures?" msgstr "你确定要永久删除这些图片吗?" -#: src/component/file/delete/dialog.vue:34 +#: src/component/file/delete/dialog.vue:35 msgid "Are you sure you want to permanently delete this file?" msgstr "你确定要永久的删除这个文件吗?" @@ -441,7 +457,7 @@ msgstr "你确定要永久的删除这个文件吗?" msgid "Are you sure?" msgstr "你确定?" -#: src/component/photo/edit/details.vue:537 +#: src/component/photo/edit/details.vue:511 msgid "Artist" msgstr "艺术家" @@ -449,14 +465,14 @@ msgstr "艺术家" msgid "Aspect Ratio" msgstr "长宽比" -#: src/app/routes.js:250 src/component/navigation.vue:770 +#: src/app/routes.js:258 src/component/navigation.vue:776 #: src/options/options.js:297 msgid "Audio" msgstr "音频" -#: src/component/user/add/dialog.vue:190 src/component/user/edit/dialog.vue:309 -#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:281 -#: src/page/admin/users.vue:75 +#: src/component/user/add/dialog.vue:191 src/component/user/edit/dialog.vue:310 +#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:282 +#: src/page/admin/users.vue:77 msgid "Authentication" msgstr "认证" @@ -464,11 +480,11 @@ msgstr "认证" msgid "Auto" msgstr "汽车" -#: src/component/settings/apps.vue:151 +#: src/component/settings/apps.vue:154 msgid "Back" msgstr "后退" -#: src/component/scroll.vue:20 +#: src/component/scroll.vue:18 msgid "Back to top" msgstr "返回页首" @@ -480,26 +496,26 @@ msgstr "备份" msgid "Badge" msgstr "徽章" -#: src/component/user/edit/dialog.vue:361 #: src/component/user/edit/dialog.vue:362 +#: src/component/user/edit/dialog.vue:363 msgid "Base Path" msgstr "基本路径" -#: src/page/about/about.vue:95 src/page/connect.vue:220 +#: src/page/about/about.vue:96 src/page/connect.vue:222 msgid "Become a member today, support our mission and enjoy our member benefits!" msgstr "今天就成为会员,支持我们的使命,享受我们的会员福利!" -#: src/component/confirm/sponsor.vue:51 src/page/about/about.vue:99 +#: src/component/confirm/sponsor.vue:52 src/page/about/about.vue:100 msgid "Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services." msgstr "作为 100% 自筹资金和独立的公司,我们可以向您保证,我们永远不会出售您的数据,并且我们将始终对我们的软件和服务保持透明。" -#: src/component/user/edit/dialog.vue:258 -#: src/component/user/edit/dialog.vue:259 src/page/settings/account.vue:227 +#: src/component/user/edit/dialog.vue:259 +#: src/component/user/edit/dialog.vue:260 src/page/settings/account.vue:227 #: src/page/settings/account.vue:228 msgid "Bio" msgstr "简介" -#: src/page/settings/account.vue:431 +#: src/page/settings/account.vue:437 msgid "Birth Date" msgstr "出生日期" @@ -520,7 +536,7 @@ msgid "Brown" msgstr "棕" #: src/component/photo/edit/files.vue:263 src/component/photo/toolbar.vue:141 -#: src/component/upload/dialog.vue:240 +#: src/component/upload/dialog.vue:242 msgid "Browse" msgstr "浏览" @@ -548,16 +564,16 @@ msgstr "上报问题" msgid "Busy, please wait…" msgstr "正在忙碌,请稍候…" -#: src/page/connect.vue:317 +#: src/page/connect.vue:319 msgid "By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct." msgstr "通过使用我们提供的软件和服务,您同意我们的服务条款、隐私政策和行为准则。" -#: src/app/routes.js:189 src/component/navigation.vue:1081 +#: src/app/routes.js:197 src/component/navigation.vue:1097 #: src/options/options.js:204 src/page/settings/general.vue:205 msgid "Calendar" msgstr "日历" -#: src/component/photo/edit/details.vue:346 src/component/photo/toolbar.vue:232 +#: src/component/photo/edit/details.vue:320 src/component/photo/toolbar.vue:234 #: src/component/photo/view/cards.vue:467 src/component/photo/view/list.vue:116 msgid "Camera" msgstr "相机" @@ -570,12 +586,12 @@ msgstr "相机序列号" msgid "Can't access your authenticator app or device?" msgstr "无法访问您的身份验证应用程序或设备?" -#: src/page/album/photos.vue:317 src/page/photos.vue:450 +#: src/page/album/photos.vue:322 src/page/photos.vue:455 msgid "Can't load more, limit reached" msgstr "无法加载更多内容,已达上限" #: src/common/clipboard.js:102 src/common/clipboard.js:139 -#: src/page/albums.vue:684 src/page/albums.vue:700 src/page/labels.vue:293 +#: src/page/albums.vue:695 src/page/albums.vue:711 src/page/labels.vue:293 #: src/page/labels.vue:313 src/page/library/browse.vue:233 #: src/page/library/browse.vue:249 src/page/people/new.vue:278 #: src/page/people/new.vue:294 src/page/people/recognized.vue:305 @@ -584,26 +600,31 @@ msgid "Can't select more items" msgstr "无法选择更多项目" #: src/component/session/remove/dialog.vue:45 -#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:473 -#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:119 +#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:474 +#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:120 #: src/component/album/delete/dialog.vue:43 -#: src/component/album/edit/dialog.vue:199 src/component/confirm/dialog.vue:43 -#: src/component/file/delete/dialog.vue:47 -#: src/component/label/delete/dialog.vue:47 -#: src/component/label/edit/dialog.vue:107 -#: src/component/people/edit/dialog.vue:120 +#: src/component/album/edit/dialog.vue:200 src/component/confirm/dialog.vue:43 +#: src/component/file/delete/dialog.vue:48 +#: src/component/label/delete/dialog.vue:48 +#: src/component/label/edit/dialog.vue:108 +#: src/component/location/dialog.vue:200 +#: src/component/people/edit/dialog.vue:121 #: src/component/photo/album/dialog.vue:78 src/component/service/add.vue:19 -#: src/component/service/edit.vue:455 src/component/service/remove.vue:49 -#: src/component/service/upload.vue:117 src/component/settings/apps.vue:352 -#: src/component/settings/passcode.vue:249 -#: src/component/settings/passcode.vue:333 -#: src/component/settings/password.vue:159 src/component/share/dialog.vue:28 -#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:123 +#: src/component/service/edit.vue:456 src/component/service/remove.vue:50 +#: src/component/service/upload.vue:118 src/component/settings/apps.vue:355 +#: src/component/settings/passcode.vue:252 +#: src/component/settings/passcode.vue:336 +#: src/component/settings/password.vue:160 src/component/share/dialog.vue:28 +#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:124 #: src/page/library/import.vue:119 src/page/library/index.vue:128 msgid "Cancel" msgstr "取消" -#: src/component/photo/edit/details.vue:87 src/component/photo/edit/info.vue:61 +#: src/common/util.js:863 src/common/util.js:870 +msgid "Cannot copy to clipboard" +msgstr "无法复制到剪贴板" + +#: src/component/photo/edit/details.vue:89 src/component/photo/edit/info.vue:63 #: src/component/photo/edit/labels.vue:42 #: src/component/photo/view/cards.vue:445 src/component/sidebar/info.vue:72 msgid "Caption" @@ -617,17 +638,17 @@ msgstr "卡片" msgid "Carousel slide {0} of {1}" msgstr "旋转木马幻灯片 {0} of {1}" -#: src/page/about/feedback.vue:82 src/page/about/feedback.vue:83 -#: src/component/album/edit/dialog.vue:128 src/component/photo/toolbar.vue:397 +#: src/page/about/feedback.vue:83 src/page/about/feedback.vue:84 +#: src/component/album/edit/dialog.vue:129 src/component/photo/toolbar.vue:399 #: src/page/albums.vue:187 msgid "Category" msgstr "分类" -#: src/component/user/edit/dialog.vue:191 src/page/settings/account.vue:201 +#: src/component/user/edit/dialog.vue:192 src/page/settings/account.vue:201 msgid "Change Avatar" msgstr "改变头像" -#: src/page/settings/account.vue:297 src/component/settings/password.vue:48 +#: src/page/settings/account.vue:297 src/component/settings/password.vue:49 msgid "Change Password" msgstr "更改密码" @@ -644,17 +665,17 @@ msgid "Change private flag" msgstr "更改私有标记" #: src/component/user/add/dialog.vue:108 src/component/user/add/dialog.vue:113 -#: src/component/user/edit/dialog.vue:90 src/component/user/edit/dialog.vue:95 +#: src/component/user/edit/dialog.vue:91 src/component/user/edit/dialog.vue:96 #: src/page/settings/account.vue:121 src/page/settings/account.vue:126 msgid "Changes could not be saved" msgstr "无法保存变更" -#: src/component/user/edit/dialog.vue:83 src/component/user/edit/dialog.vue:159 +#: src/component/user/edit/dialog.vue:84 src/component/user/edit/dialog.vue:160 #: src/component/album/edit/dialog.vue:73 -#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1941 +#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1961 #: src/component/photo/edit/files.vue:162 src/component/service/edit.vue:90 #: src/component/share/dialog.vue:92 src/component/share/dialog.vue:111 -#: src/page/albums.vue:677 src/page/people/recognized.vue:119 +#: src/page/albums.vue:688 src/page/people/recognized.vue:119 #: src/page/settings/advanced.vue:62 src/page/settings/content.vue:62 #: src/page/settings/general.vue:108 msgid "Changes successfully saved" @@ -668,7 +689,7 @@ msgstr "对高级设置的更改需要重新启动才能生效。" msgid "Checked" msgstr "已确认" -#: src/component/photo/edit/files.vue:495 +#: src/component/photo/edit/files.vue:497 msgid "Chroma" msgstr "色度" @@ -684,24 +705,24 @@ msgstr "清理" msgid "Clear {0}" msgstr "清除 {0}" -#: src/options/auth.js:11 src/options/auth.js:23 src/options/auth.js:43 +#: src/options/auth.js:12 src/options/auth.js:24 src/options/auth.js:44 msgid "Client" msgstr "客户" -#: src/options/auth.js:24 +#: src/options/auth.js:25 msgid "Client Credentials" msgstr "客户证书" -#: src/page/admin/sessions.vue:529 src/component/lightbox.vue:284 -#: src/component/lightbox.vue:1009 src/component/lightbox.vue:1010 -#: src/component/photo/edit/details.vue:627 src/component/photo/toolbar.vue:160 -#: src/component/settings/apps.vue:224 src/component/settings/apps.vue:437 -#: src/component/settings/passcode.vue:148 -#: src/component/settings/passcode.vue:456 -#: src/component/settings/passcode.vue:497 -#: src/component/settings/webdav.vue:131 src/component/share/dialog.vue:231 +#: src/component/user/edit/dialog.vue:474 src/page/admin/sessions.vue:536 +#: src/component/lightbox.vue:284 src/component/lightbox.vue:1009 +#: src/component/lightbox.vue:1010 src/component/photo/edit/details.vue:601 +#: src/component/photo/toolbar.vue:161 src/component/settings/apps.vue:227 +#: src/component/settings/apps.vue:440 src/component/settings/passcode.vue:151 +#: src/component/settings/passcode.vue:459 +#: src/component/settings/passcode.vue:500 +#: src/component/settings/webdav.vue:132 src/component/share/dialog.vue:231 #: src/component/sidebar/info.vue:26 src/component/update.vue:57 -#: src/component/upload/dialog.vue:228 src/locales.js:206 +#: src/component/upload/dialog.vue:230 src/locales.js:206 #: src/page/library/errors.vue:253 msgid "Close" msgstr "关闭" @@ -710,11 +731,11 @@ msgstr "关闭" msgid "Codec" msgstr "编解码器" -#: src/component/photo/toolbar.vue:369 +#: src/component/photo/toolbar.vue:371 msgid "Color" msgstr "颜色" -#: src/component/photo/edit/files.vue:483 +#: src/component/photo/edit/files.vue:485 msgid "Color Profile" msgstr "颜色简介" @@ -722,7 +743,7 @@ msgstr "颜色简介" msgid "Colors" msgstr "颜色" -#: src/page/connect.vue:260 src/page/connect.vue:269 +#: src/page/connect.vue:262 src/page/connect.vue:271 msgid "Compare Editions" msgstr "版本比较" @@ -735,17 +756,18 @@ msgstr "完全重新扫描" msgid "Confidence" msgstr "置信度" +#: src/component/location/dialog.vue:212 #: src/component/photo/album/dialog.vue:90 -#: src/component/settings/passcode.vue:261 +#: src/component/settings/passcode.vue:264 msgid "Confirm" msgstr "确认" -#: src/component/service/add.vue:20 src/page/settings/services.vue:187 +#: src/component/service/add.vue:20 src/page/settings/services.vue:191 msgid "Connect" msgstr "连接" -#: src/page/settings/account.vue:401 src/component/settings/webdav.vue:45 -#: src/page/settings/services.vue:167 +#: src/page/settings/account.vue:406 src/component/settings/webdav.vue:46 +#: src/page/settings/services.vue:170 msgid "Connect via WebDAV" msgstr "使用 WebDAV 连接" @@ -753,22 +775,22 @@ msgstr "使用 WebDAV 连接" msgid "Connected" msgstr "已连接" -#: src/page/settings/account.vue:640 src/page/settings/account.vue:532 +#: src/page/settings/account.vue:646 src/page/settings/account.vue:538 msgid "Contact Details" msgstr "联系方式" -#: src/page/about/feedback.vue:37 src/page/connect.vue:132 -#: src/page/connect.vue:136 +#: src/page/about/feedback.vue:37 src/page/connect.vue:133 +#: src/page/connect.vue:137 msgid "Contact Us" msgstr "联系我们" #: src/page/albums.vue:433 src/page/labels.vue:237 -#: src/page/people/recognized.vue:306 +#: src/page/people/recognized.vue:310 msgid "Contains %{n} pictures." msgstr "包含 %{n} 张图片。" #: src/page/albums.vue:427 src/page/labels.vue:231 -#: src/page/people/recognized.vue:300 +#: src/page/people/recognized.vue:304 msgid "Contains one picture." msgstr "包含一张图片。" @@ -776,15 +798,15 @@ msgstr "包含一张图片。" msgid "Content" msgstr "内容" -#: src/component/settings/apps.vue:163 +#: src/component/settings/apps.vue:166 msgid "Continue" msgstr "继续" #: src/page/auth/login.vue:314 msgid "Continue with %{provider}" -msgstr "继续 %{provider}" +msgstr "继续 %{provider}" -#: src/options/admin.js:18 src/options/auth.js:9 +#: src/options/admin.js:22 src/options/auth.js:10 msgid "Contributor" msgstr "撰稿人" @@ -792,15 +814,15 @@ msgstr "撰稿人" msgid "Converting" msgstr "转换中" -#: src/common/util.js:846 +#: src/common/util.js:856 msgid "Copied to clipboard" msgstr "已复制到剪贴板" -#: src/component/settings/apps.vue:250 src/component/settings/passcode.vue:358 +#: src/component/settings/apps.vue:253 src/component/settings/passcode.vue:361 msgid "Copy" msgstr "复制" -#: src/component/photo/edit/details.vue:516 +#: src/component/photo/edit/details.vue:490 msgid "Copyright" msgstr "版权" @@ -808,8 +830,8 @@ msgstr "版权" msgid "Couldn't find anything." msgstr "找不到任何东西。" -#: src/page/settings/account.vue:685 src/component/photo/edit/details.vue:242 -#: src/component/photo/toolbar.vue:203 src/page/settings/account.vue:577 +#: src/page/settings/account.vue:691 src/component/photo/edit/details.vue:268 +#: src/component/photo/toolbar.vue:205 src/page/settings/account.vue:583 msgid "Country" msgstr "国家" @@ -833,7 +855,7 @@ msgstr "创建 YAML 文件来备份相册元数据。" msgid "Create YAML sidecar files to back up picture metadata." msgstr "创建 YAML sidecar 文件来备份图片元数据。" -#: src/page/admin/sessions.vue:417 src/component/photo/edit/info.vue:412 +#: src/page/admin/sessions.vue:422 src/component/photo/edit/info.vue:412 msgid "Created" msgstr "已创建" @@ -845,11 +867,11 @@ msgstr "创建缩略图,用于" msgid "Cubic: Moderate Quality, Good Performance" msgstr "Cubic: 质量适中,性能良好" -#: src/component/settings/password.vue:85 +#: src/component/settings/password.vue:86 msgid "Current Password" msgstr "当前密码" -#: src/options/themes.js:919 src/options/themes.js:928 +#: src/options/themes.js:920 src/options/themes.js:929 msgid "Custom" msgstr "定制" @@ -865,11 +887,11 @@ msgstr "每日" msgid "Database Backups" msgstr "数据库备份" -#: src/page/settings/account.vue:450 src/component/photo/edit/details.vue:110 +#: src/page/settings/account.vue:456 src/component/photo/edit/details.vue:112 msgid "Day" msgstr "天" -#: src/component/settings/passcode.vue:445 +#: src/component/settings/passcode.vue:448 msgid "Deactivate" msgstr "停用" @@ -877,36 +899,40 @@ msgstr "停用" msgid "Debug Logs" msgstr "调试日志" -#: src/options/admin.js:31 src/page/admin/sessions.vue:136 -#: src/page/admin/users.vue:176 src/component/photo/edit/info.vue:47 +#: src/options/admin.js:35 src/page/admin/sessions.vue:136 +#: src/page/admin/users.vue:178 src/component/photo/edit/info.vue:47 #: src/component/photo/edit/info.vue:110 src/model/session.js:66 -#: src/model/user.js:246 src/options/auth.js:20 src/options/auth.js:21 -#: src/options/auth.js:39 src/options/auth.js:40 src/options/options.js:196 +#: src/model/user.js:246 src/options/auth.js:21 src/options/auth.js:22 +#: src/options/auth.js:40 src/options/auth.js:41 src/options/options.js:196 #: src/options/options.js:232 src/options/options.js:316 -#: src/options/themes.js:773 +#: src/options/themes.js:774 msgid "Default" msgstr "默认" -#: src/component/service/edit.vue:123 +#: src/component/service/edit.vue:124 msgid "Default Folder" msgstr "默认文件夹" #: src/component/session/remove/dialog.vue:56 #: src/component/user/remove/dialog.vue:56 src/component/album/clipboard.vue:97 -#: src/component/album/delete/dialog.vue:54 -#: src/component/file/delete/dialog.vue:58 src/component/label/clipboard.vue:58 -#: src/component/label/delete/dialog.vue:58 +#: src/component/album/delete/dialog.vue:54 src/component/album/toolbar.vue:137 +#: src/component/file/delete/dialog.vue:59 src/component/label/clipboard.vue:58 +#: src/component/label/delete/dialog.vue:59 #: src/component/photo/clipboard.vue:168 src/component/photo/edit/files.vue:238 -#: src/component/service/remove.vue:60 src/component/share/dialog.vue:170 +#: src/component/service/remove.vue:61 src/component/share/dialog.vue:170 #: src/page/settings/general.vue:457 msgid "Delete" msgstr "删除" +#: src/component/album/toolbar.vue:133 +msgid "Delete Album" +msgstr "删除相册" + #: src/component/photo/toolbar.vue:119 src/page/library/errors.vue:95 msgid "Delete All" msgstr "全部删除" -#: src/component/photo/toolbar.vue:433 src/page/library/errors.vue:193 +#: src/component/photo/toolbar.vue:435 src/page/library/errors.vue:193 msgid "Delete all?" msgstr "全部删除?" @@ -914,16 +940,16 @@ msgstr "全部删除?" msgid "Delete orphaned index entries, sidecar files and thumbnails." msgstr "删除孤立索引项、副卡文件和缩略图。" -#: src/component/album/edit/dialog.vue:107 src/page/albums.vue:411 +#: src/component/album/edit/dialog.vue:108 src/page/albums.vue:411 msgid "Description" msgstr "描述" -#: src/component/settings/webdav.vue:115 +#: src/component/settings/webdav.vue:116 msgid "Detailed instructions can be found in our User Guide." msgstr "详细说明可以在我们的用户指南中找到。" -#: src/component/photo/edit/dialog.vue:156 -#: src/component/photo/edit/dialog.vue:173 +#: src/component/photo/edit/dialog.vue:162 +#: src/component/photo/edit/dialog.vue:181 msgid "Details" msgstr "细节" @@ -987,8 +1013,8 @@ msgstr "禁用矢量图形支持。" msgid "Disables video transcoding and thumbnail extraction." msgstr "禁用视频转码和缩略图提取。" -#: src/app/routes.js:558 src/app/routes.js:565 src/app/routes.js:572 -#: src/app/routes.js:579 +#: src/app/routes.js:566 src/app/routes.js:573 src/app/routes.js:580 +#: src/app/routes.js:587 msgid "Discover" msgstr "探索" @@ -996,9 +1022,9 @@ msgstr "探索" msgid "Dismiss" msgstr "解散" -#: src/component/user/add/dialog.vue:133 src/component/user/add/dialog.vue:134 -#: src/component/user/edit/dialog.vue:163 -#: src/component/user/edit/dialog.vue:164 src/page/admin/users.vue:72 +#: src/component/user/add/dialog.vue:134 src/component/user/add/dialog.vue:135 +#: src/component/user/edit/dialog.vue:164 +#: src/component/user/edit/dialog.vue:165 src/page/admin/users.vue:74 #: src/page/settings/account.vue:149 src/page/settings/account.vue:151 msgid "Display Name" msgstr "昵称" @@ -1013,12 +1039,12 @@ msgstr "在搜索结果中显示图片标题。" #: src/component/photo/view/cards.vue:339 #: src/component/photo/view/cards.vue:521 -#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:174 +#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:176 #: src/options/options.js:309 msgid "Document" msgstr "文件" -#: src/component/navigation.vue:480 +#: src/component/navigation.vue:482 msgid "Documents" msgstr "文件" @@ -1034,16 +1060,16 @@ msgstr "不要用ImageMagick来转换图像。" msgid "Don't use RawTherapee to convert RAW images." msgstr "不使用 RawTherapee 转换 RAW 文件。" -#: src/component/settings/apps.vue:238 src/component/share/dialog.vue:29 +#: src/component/settings/apps.vue:241 src/component/share/dialog.vue:29 msgid "Done" msgstr "完成" -#: src/component/upload/dialog.vue:135 src/page/library/import.vue:46 +#: src/component/upload/dialog.vue:137 src/page/library/import.vue:46 #: src/page/library/index.vue:52 msgid "Done." msgstr "完成。" -#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:118 +#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:123 #: src/component/file/clipboard.vue:48 src/component/lightbox.vue:1235 #: src/component/people/clipboard.vue:47 src/component/photo/clipboard.vue:116 #: src/component/photo/edit/files.vue:168 src/page/settings/content.vue:331 @@ -1055,7 +1081,7 @@ msgstr "下载" msgid "Download only original media files, without any automatically generated files." msgstr "只下载原始媒体文件,不下载任何自动生成的文件。" -#: src/component/service/edit.vue:237 +#: src/component/service/edit.vue:238 msgid "Download remote files" msgstr "下载远端文件" @@ -1063,9 +1089,9 @@ msgstr "下载远端文件" msgid "Download single files and zip archives." msgstr "下载单个文件并用 zip 压缩。" -#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:157 +#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:172 #: src/component/file/clipboard.vue:61 src/component/label/clipboard.vue:86 -#: src/component/lightbox.vue:2021 src/component/people/clipboard.vue:59 +#: src/component/lightbox.vue:2041 src/component/people/clipboard.vue:59 #: src/component/photo/clipboard.vue:220 src/component/photo/edit/files.vue:119 #: src/component/photo/view/cards.vue:169 src/component/photo/view/list.vue:142 #: src/page/library/browse.vue:139 @@ -1080,7 +1106,7 @@ msgstr "缩小方法" msgid "Drag and drop files here" msgstr "在此处拖放文件" -#: src/page/about/feedback.vue:61 +#: src/page/about/feedback.vue:62 msgid "Due to the high volume of emails we receive, our team may be unable to get back to you immediately." msgstr "由于我们收到大量的电子邮件,我们的团队可能无法立即回复你。" @@ -1100,23 +1126,23 @@ msgstr "动态预览" msgid "Dynamic Size Limit: %{n}px" msgstr "动态尺寸限制:%{n}px" -#: src/page/about/feedback.vue:141 src/page/about/feedback.vue:140 +#: src/page/about/feedback.vue:142 src/page/about/feedback.vue:141 msgid "E-Mail" msgstr "电子邮件" -#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:89 +#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:94 #: src/component/lightbox.vue:1136 src/component/lightbox.vue:1137 #: src/component/photo/clipboard.vue:90 src/page/settings/general.vue:407 msgid "Edit" msgstr "编辑" -#: src/component/album/edit/dialog.vue:54 -#: src/component/label/edit/dialog.vue:52 -#: src/component/people/edit/dialog.vue:52 +#: src/component/album/edit/dialog.vue:55 +#: src/component/label/edit/dialog.vue:53 +#: src/component/people/edit/dialog.vue:53 msgid "Edit %{s}" msgstr "编辑 %{s}" -#: src/component/user/edit/dialog.vue:61 src/component/service/edit.vue:79 +#: src/component/user/edit/dialog.vue:62 src/component/service/edit.vue:79 msgid "Edit Account" msgstr "编辑账户" @@ -1128,8 +1154,8 @@ msgstr "编辑照片" msgid "Edited" msgstr "已编辑" -#: src/component/user/add/dialog.vue:151 src/component/user/edit/dialog.vue:213 -#: src/page/settings/account.vue:171 src/page/settings/account.vue:593 +#: src/component/user/add/dialog.vue:152 src/component/user/edit/dialog.vue:214 +#: src/page/settings/account.vue:171 src/page/settings/account.vue:599 msgid "Email" msgstr "电子邮箱" @@ -1145,7 +1171,7 @@ msgstr "启用可能不完整或不稳定的新功能。" msgid "Enables RAW converter presets. May reduce performance." msgstr "启用 RAW 转换器预设,可能会降低性能。" -#: src/component/settings/passcode.vue:127 +#: src/component/settings/passcode.vue:130 msgid "Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account." msgstr "启用双重身份验证意味着您需要随机生成的验证码才能登录,因此即使有人获得了您的密码,他们也无法访问您的帐户。" @@ -1157,7 +1183,7 @@ msgstr "输入日期" msgid "Enter dates" msgstr "输入日期" -#: src/component/settings/passcode.vue:213 src/page/auth/login.vue:104 +#: src/component/settings/passcode.vue:216 src/page/auth/login.vue:104 msgid "Enter the code generated by your authenticator app:" msgstr "输入验证程序生成的代码:" @@ -1165,7 +1191,7 @@ msgstr "输入验证程序生成的代码:" msgid "Enter verification code" msgstr "输入验证码" -#: src/component/settings/apps.vue:109 +#: src/component/settings/apps.vue:112 msgid "Enter your password to confirm the action and continue:" msgstr "输入您的密码确认操作并继续:" @@ -1174,7 +1200,7 @@ msgstr "输入您的密码确认操作并继续:" msgid "Error" msgstr "错误" -#: src/app/routes.js:374 src/component/navigation.vue:1348 +#: src/app/routes.js:382 src/component/navigation.vue:1372 msgid "Errors" msgstr "错误" @@ -1210,13 +1236,13 @@ msgstr "要完全支持视频、实时照片和 XMP,需要使用 ExifTool 提 msgid "Experimental Features" msgstr "实验特性" -#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:453 -#: src/component/service/edit.vue:157 src/component/settings/apps.vue:73 -#: src/component/settings/apps.vue:326 src/component/share/dialog.vue:62 +#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:458 +#: src/component/service/edit.vue:158 src/component/settings/apps.vue:73 +#: src/component/settings/apps.vue:329 src/component/share/dialog.vue:62 msgid "Expires" msgstr "时限" -#: src/component/photo/edit/details.vue:396 +#: src/component/photo/edit/details.vue:370 msgid "Exposure" msgstr "曝光度" @@ -1224,7 +1250,7 @@ msgstr "曝光度" msgid "Extract still images and generate thumbnails while indexing." msgstr "提取静态图像并在编制索引时生成缩略图。" -#: src/component/photo/edit/details.vue:444 +#: src/component/photo/edit/details.vue:418 msgid "F Number" msgstr "光圈数" @@ -1240,7 +1266,7 @@ msgstr "面部" msgid "Failed removing link" msgstr "删除链接失败" -#: src/page/connect.vue:106 src/page/connect.vue:110 +#: src/page/connect.vue:107 src/page/connect.vue:111 msgid "Failed to connect account." msgstr "连接账户失败。" @@ -1248,8 +1274,8 @@ msgstr "连接账户失败。" msgid "Failed updating link" msgstr "更新链接失败" -#: src/component/user/edit/dialog.vue:143 -#: src/component/user/edit/dialog.vue:144 src/page/settings/account.vue:128 +#: src/component/user/edit/dialog.vue:144 +#: src/component/user/edit/dialog.vue:145 src/page/settings/account.vue:128 #: src/page/settings/account.vue:130 msgid "Family Name" msgstr "姓" @@ -1258,15 +1284,15 @@ msgstr "姓" msgid "Fast" msgstr "快" -#: src/component/album/edit/dialog.vue:159 -#: src/component/label/edit/dialog.vue:85 -#: src/component/people/edit/dialog.vue:85 +#: src/component/album/edit/dialog.vue:160 +#: src/component/label/edit/dialog.vue:86 +#: src/component/people/edit/dialog.vue:86 #: src/component/photo/edit/info.vue:287 msgid "Favorite" msgstr "收藏" -#: src/app/routes.js:222 src/component/navigation.vue:893 -#: src/options/options.js:202 src/page/albums.vue:97 +#: src/app/routes.js:230 src/component/navigation.vue:903 +#: src/options/options.js:202 src/page/albums.vue:98 msgid "Favorites" msgstr "收藏" @@ -1274,7 +1300,7 @@ msgstr "收藏" msgid "Feature Request" msgstr "特性请求" -#: src/component/navigation.vue:1456 +#: src/component/navigation.vue:1482 msgid "Feedback" msgstr "反馈" @@ -1282,11 +1308,12 @@ msgstr "反馈" msgid "Female" msgstr "女" -#: src/component/photo/edit/info.vue:214 src/model/file.js:290 +#: src/component/photo/edit/info.vue:57 src/component/photo/edit/info.vue:214 +#: src/model/file.js:290 msgid "File" msgstr "文件" -#: src/app/routes.js:343 +#: src/app/routes.js:351 msgid "File Browser" msgstr "文件浏览器" @@ -1309,8 +1336,8 @@ msgstr "文件大小" msgid "Filename" msgstr "文件名" -#: src/component/navigation.vue:1930 src/component/photo/edit/dialog.vue:267 -#: src/component/photo/edit/dialog.vue:284 +#: src/component/navigation.vue:1973 src/component/photo/edit/dialog.vue:279 +#: src/component/photo/edit/dialog.vue:298 msgid "Files" msgstr "文件" @@ -1322,26 +1349,26 @@ msgstr "顺序名称的文件如“IMG_1234 (2)”和“IMG_1234 (3)”的文件 msgid "First page" msgstr "第一页" -#: src/component/photo/edit/details.vue:465 +#: src/component/photo/edit/details.vue:439 msgid "Focal Length" msgstr "焦距" -#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:118 -#: src/component/service/edit.vue:189 src/component/service/edit.vue:194 -#: src/component/service/upload.vue:90 src/component/service/upload.vue:96 +#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:119 +#: src/component/service/edit.vue:190 src/component/service/edit.vue:195 +#: src/component/service/upload.vue:91 src/component/service/upload.vue:97 #: src/model/folder.js:199 src/page/library/browse.vue:182 msgid "Folder" msgstr "文件夹" -#: src/page/library/browse.vue:365 +#: src/page/library/browse.vue:367 msgid "Folder contains %{n} files" msgstr "文件夹中有 %{n} 个文件" -#: src/page/library/browse.vue:356 +#: src/page/library/browse.vue:358 msgid "Folder is empty" msgstr "文件夹为空" -#: src/app/routes.js:202 src/component/navigation.vue:1225 +#: src/app/routes.js:210 src/component/navigation.vue:1247 #: src/options/options.js:207 msgid "Folders" msgstr "文件夹" @@ -1358,7 +1385,7 @@ msgstr "帧数" msgid "Frames" msgstr "框架" -#: src/options/auth.js:54 src/options/auth.js:64 +#: src/options/auth.js:55 src/options/auth.js:65 msgid "Full Access" msgstr "完全访问" @@ -1370,7 +1397,7 @@ msgstr "全屏" msgid "General" msgstr "一般" -#: src/component/settings/apps.vue:364 +#: src/component/settings/apps.vue:367 msgid "Generate" msgstr "产生" @@ -1390,8 +1417,8 @@ msgstr "生成" msgid "Get Started" msgstr "开始" -#: src/component/user/edit/dialog.vue:120 -#: src/component/user/edit/dialog.vue:121 src/page/settings/account.vue:106 +#: src/component/user/edit/dialog.vue:121 +#: src/component/user/edit/dialog.vue:122 src/page/settings/account.vue:106 #: src/page/settings/account.vue:108 msgid "Given Name" msgstr "名" @@ -1416,7 +1443,7 @@ msgstr "绿" msgid "Grey" msgstr "灰" -#: src/options/admin.js:22 src/options/auth.js:10 +#: src/options/admin.js:26 src/options/auth.js:11 msgid "Guest" msgstr "访客" @@ -1432,15 +1459,15 @@ msgstr "帮助" msgid "Help & Support" msgstr "帮助和支持" -#: src/component/navigation.vue:1327 src/component/people/edit/dialog.vue:98 +#: src/component/navigation.vue:1351 src/component/people/edit/dialog.vue:99 msgid "Hidden" msgstr "隐藏" -#: src/app/routes.js:358 +#: src/app/routes.js:366 msgid "Hidden Files" msgstr "隐藏文件" -#: src/page/people/new.vue:165 src/page/people/recognized.vue:205 +#: src/page/people/new.vue:166 src/page/people/recognized.vue:206 msgid "Hide" msgstr "隐藏" @@ -1456,7 +1483,7 @@ msgstr "高" msgid "High Dynamic Range (HDR)" msgstr "高动态范围渲染(HDR)" -#: src/page/about/feedback.vue:103 +#: src/page/about/feedback.vue:104 msgid "How can we help?" msgstr "我们可以帮您吗?" @@ -1464,11 +1491,11 @@ msgstr "我们可以帮您吗?" msgid "Hybrid" msgstr "混合地图" -#: src/component/settings/passcode.vue:389 +#: src/component/settings/passcode.vue:392 msgid "If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account." msgstr "如果您无法访问身份验证器应用或设备,则可以使用恢复代码重新访问您的帐户。" -#: src/component/photo/edit/info.vue:63 src/component/photo/edit/labels.vue:46 +#: src/component/photo/edit/info.vue:65 src/component/photo/edit/labels.vue:46 #: src/component/photo/view/cards.vue:532 src/model/file.js:218 #: src/options/options.js:281 msgid "Image" @@ -1478,7 +1505,7 @@ msgstr "图片" msgid "Image Quality" msgstr "图像质量" -#: src/page/library.vue:46 src/page/library/import.vue:152 +#: src/page/library.vue:46 src/page/library/import.vue:153 #: src/page/settings/general.vue:357 msgid "Import" msgstr "导入" @@ -1503,8 +1530,8 @@ msgstr "导入 %{s} 中…" msgid "Importing files to originals…" msgstr "导入文件到源…" -#: src/component/photo/edit/files.vue:515 -#: src/component/photo/edit/files.vue:520 +#: src/component/photo/edit/files.vue:517 +#: src/component/photo/edit/files.vue:522 msgid "in" msgstr "于" @@ -1522,11 +1549,11 @@ msgstr "在下载堆栈和档案时包括RAW图像文件。" msgid "Include sidecar files when downloading stacks and archives." msgstr "在下载堆栈和档案时包括sidecar文件。" -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Increase storage size or delete files to continue." msgstr "增加存储空间或删除文件以继续。" -#: src/component/navigation.vue:1946 src/page/library.vue:36 +#: src/component/navigation.vue:1990 src/page/library.vue:36 #: src/page/settings/content.vue:34 msgid "Index" msgstr "索引" @@ -1556,11 +1583,11 @@ msgstr "信息" msgid "Instance ID" msgstr "实例 ID" -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Insufficient storage." msgstr "存储不足" -#: src/component/service/edit.vue:209 +#: src/component/service/edit.vue:210 msgid "Interval" msgstr "间隔" @@ -1581,7 +1608,7 @@ msgstr "无效地址" msgid "Invalid country" msgstr "无效国家" -#: src/component/photo/edit/details.vue:174 +#: src/component/photo/edit/details.vue:169 msgid "Invalid date" msgstr "无效日期" @@ -1590,7 +1617,7 @@ msgstr "无效日期" msgid "Invalid parameters" msgstr "参数无效" -#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:197 +#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:199 msgid "Invalid photo selected" msgstr "选择了无效的照片" @@ -1602,8 +1629,8 @@ msgstr "无效时间" msgid "Invalid URL" msgstr "无效 URL" -#: src/component/settings/passcode.vue:314 -#: src/component/settings/passcode.vue:391 +#: src/component/settings/passcode.vue:317 +#: src/component/settings/passcode.vue:394 msgid "It is a one-time use code that will disable 2FA for your account when you use it." msgstr "这是一个一次性使用的代码,当您使用它时将禁用您帐户的 2FA。" @@ -1627,7 +1654,7 @@ msgstr "JPEG 尺寸限制:%{n}px" msgid "JPEGs and thumbnails are automatically rendered as needed." msgstr "系统会根据需要自动生成缩略图及JPEG格式的预览图。" -#: src/component/photo/edit/details.vue:581 +#: src/component/photo/edit/details.vue:555 msgid "Keywords" msgstr "关键字" @@ -1636,9 +1663,9 @@ msgstr "关键字" msgid "Label" msgstr "标签" -#: src/app/routes.js:389 src/component/navigation.vue:1177 -#: src/component/photo/edit/dialog.vue:188 -#: src/component/photo/edit/dialog.vue:205 src/options/options.js:206 +#: src/app/routes.js:397 src/component/navigation.vue:1197 +#: src/component/photo/edit/dialog.vue:196 +#: src/component/photo/edit/dialog.vue:215 src/options/options.js:206 #: src/page/settings/general.vue:255 msgid "Labels" msgstr "标签" @@ -1655,11 +1682,11 @@ msgstr "Lanczos:保留细节,虚影较小" msgid "Language" msgstr "语言" -#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:435 +#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:440 msgid "Last Active" msgstr "最后一次活动" -#: src/page/admin/users.vue:81 +#: src/page/admin/users.vue:83 msgid "Last Login" msgstr "最后一次登录" @@ -1675,42 +1702,41 @@ msgstr "上次同步" msgid "Last Used" msgstr "最后使用" -#: src/component/photo/edit/details.vue:298 #: src/component/photo/edit/info.vue:373 msgid "Latitude" msgstr "纬度" -#: src/options/admin.js:43 src/options/auth.js:29 +#: src/options/admin.js:47 src/options/auth.js:30 msgid "LDAP/AD" msgstr "LDAP/AD" -#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:86 -#: src/page/about/about.vue:62 src/page/about/about.vue:132 +#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:87 +#: src/page/about/about.vue:62 src/page/about/about.vue:133 #: src/page/connect.vue:67 src/page/help.vue:36 msgid "Learn more" msgstr "进一步了解" -#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:135 +#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:137 #: src/page/labels.vue:132 msgid "Learn More" msgstr "了解更多" -#: src/component/navigation.vue:2017 +#: src/component/navigation.vue:2066 msgid "Legal Information" msgstr "法律信息" -#: src/component/photo/edit/details.vue:417 +#: src/component/photo/edit/details.vue:391 #: src/component/photo/view/cards.vue:480 msgid "Lens" msgstr "镜头" -#: src/app/routes.js:443 src/app/routes.js:459 src/app/routes.js:475 -#: src/component/navigation.vue:1267 src/page/settings/general.vue:507 +#: src/app/routes.js:451 src/app/routes.js:467 src/app/routes.js:483 +#: src/component/navigation.vue:1290 src/page/settings/general.vue:507 msgid "Library" msgstr "资料库" #: src/page/connect.vue:45 src/app/routes.js:69 -#: src/component/navigation.vue:1478 src/component/photo/edit/details.vue:559 +#: src/component/navigation.vue:1504 src/component/photo/edit/details.vue:533 #: src/page/about/license.vue:28 msgid "License" msgstr "许可证" @@ -1723,7 +1749,7 @@ msgstr "喜欢" msgid "Lime" msgstr "淡绿" -#: src/page/library/browse.vue:369 +#: src/page/library/browse.vue:371 msgid "Limit reached, showing first %{n} files" msgstr "已达到限制,显示前 %{n} 个文件" @@ -1731,7 +1757,7 @@ msgstr "已达到限制,显示前 %{n} 个文件" msgid "Linear: Very Smooth, Best Performance" msgstr "Linear: 非常平滑,性能最佳" -#: src/model/link.js:117 src/options/auth.js:30 src/options/auth.js:31 +#: src/model/link.js:117 src/options/auth.js:31 src/options/auth.js:32 msgid "Link" msgstr "链接" @@ -1749,7 +1775,7 @@ msgstr "列表查看" msgid "Live" msgstr "实况" -#: src/app/routes.js:236 src/component/navigation.vue:749 +#: src/app/routes.js:244 src/component/navigation.vue:755 msgid "Live Photos" msgstr "实况照片" @@ -1765,21 +1791,24 @@ msgstr "正在加载项目..." msgid "Loading..." msgstr "正在加载..." -#: src/options/admin.js:35 src/options/auth.js:22 src/options/auth.js:27 +#: src/options/admin.js:39 src/options/auth.js:23 src/options/auth.js:28 #: src/options/options.js:38 src/page/settings/general.vue:107 msgid "Local" msgstr "当地" -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Local Time" msgstr "本地时间" -#: src/page/settings/account.vue:665 src/page/settings/account.vue:667 -#: src/component/album/edit/dialog.vue:92 src/component/photo/edit/info.vue:65 -#: src/component/photo/edit/labels.vue:48 +#: src/page/settings/account.vue:671 src/page/settings/account.vue:673 +#: src/component/album/edit/dialog.vue:93 +#: src/component/photo/edit/details.vue:38 +#: src/component/photo/edit/details.vue:116 +#: src/component/photo/edit/details.vue:210 +#: src/component/photo/edit/info.vue:67 src/component/photo/edit/labels.vue:48 #: src/component/photo/view/cards.vue:555 src/component/photo/view/list.vue:117 -#: src/component/sidebar/info.vue:107 src/page/albums.vue:99 -#: src/page/settings/account.vue:557 src/page/settings/account.vue:559 +#: src/component/sidebar/info.vue:107 src/page/albums.vue:100 +#: src/page/settings/account.vue:563 src/page/settings/account.vue:565 msgid "Location" msgstr "位置" @@ -1787,20 +1816,19 @@ msgstr "位置" msgid "Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues." msgstr "每当 PhotoPrism 遇到损坏的文件或其他潜在问题时,日志消息就会出现在这里。" -#: src/component/navigation.vue:1552 src/component/navigation.vue:1840 +#: src/component/navigation.vue:1579 src/component/navigation.vue:1877 msgid "Login" msgstr "登录" -#: src/component/navigation.vue:1759 +#: src/component/navigation.vue:1791 msgid "Logout" msgstr "登出" -#: src/component/navigation.vue:1962 src/page/library.vue:59 +#: src/component/navigation.vue:2007 src/page/library.vue:59 #: src/page/settings/general.vue:557 msgid "Logs" msgstr "日志" -#: src/component/photo/edit/details.vue:324 #: src/component/photo/edit/info.vue:379 msgid "Longitude" msgstr "经度" @@ -1813,7 +1841,7 @@ msgstr "低" msgid "Magenta" msgstr "洋红" -#: src/component/photo/edit/files.vue:489 +#: src/component/photo/edit/files.vue:491 msgid "Main Color" msgstr "主色调" @@ -1821,12 +1849,16 @@ msgstr "主色调" msgid "Male" msgstr "男" -#: src/page/connect.vue:164 src/page/connect.vue:246 -#: src/page/about/about.vue:171 src/page/connect.vue:168 -#: src/page/connect.vue:255 +#: src/page/connect.vue:165 src/page/connect.vue:248 +#: src/page/about/about.vue:173 src/page/connect.vue:169 +#: src/page/connect.vue:257 msgid "Manage Account" msgstr "管理账户" +#: src/options/admin.js:10 src/options/auth.js:7 +msgid "Manager" +msgstr "经理" + #: src/component/photo/edit/info.vue:49 src/component/photo/edit/labels.vue:38 msgid "Manual" msgstr "手动" @@ -1843,11 +1875,11 @@ msgstr "地图" msgid "Marker" msgstr "标记" -#: src/component/user/add/dialog.vue:69 +#: src/component/user/add/dialog.vue:70 msgid "Maximum number of accounts has been reached." msgstr "账户数已达到上限。" -#: src/app/routes.js:229 src/component/navigation.vue:688 +#: src/app/routes.js:237 src/component/navigation.vue:693 #: src/options/options.js:199 msgid "Media" msgstr "媒体" @@ -1864,7 +1896,7 @@ msgstr "会员资格" msgid "Merge %{a} with %{b}?" msgstr "将 %{a} 与 %{b} 合并?" -#: src/page/about/feedback.vue:102 +#: src/page/about/feedback.vue:103 msgid "Message" msgstr "留言" @@ -1876,7 +1908,7 @@ msgstr "消息已发送" msgid "Metadata" msgstr "元数据" -#: src/options/auth.js:56 src/options/auth.js:72 +#: src/options/auth.js:57 src/options/auth.js:73 msgid "Metrics" msgstr "指标" @@ -1884,7 +1916,7 @@ msgstr "指标" msgid "Minimize" msgstr "最小化" -#: src/component/photo/edit/files.vue:509 src/component/photo/edit/info.vue:367 +#: src/component/photo/edit/files.vue:511 src/component/photo/edit/info.vue:367 msgid "Missing" msgstr "缺失" @@ -1892,17 +1924,17 @@ msgstr "缺失" msgid "Missing or invalid configuration" msgstr "配置缺失或无效" -#: src/app/routes.js:163 src/component/navigation.vue:1129 +#: src/app/routes.js:171 src/component/navigation.vue:1147 #: src/options/options.js:205 src/page/settings/general.vue:230 msgid "Moments" msgstr "瞬间" -#: src/component/navigation.vue:383 +#: src/component/navigation.vue:385 msgid "Monochrome" msgstr "黑白" -#: src/page/settings/account.vue:475 src/component/photo/edit/details.vue:137 -#: src/component/photo/toolbar.vue:342 +#: src/page/settings/account.vue:481 src/component/photo/edit/details.vue:139 +#: src/component/photo/toolbar.vue:344 msgid "Month" msgstr "月" @@ -1922,7 +1954,7 @@ msgstr "最相关" msgid "Move Files" msgstr "移动文件" -#: src/component/settings/password.vue:107 +#: src/component/settings/password.vue:108 msgid "Must have at least %{n} characters." msgstr "必须至少有%{n}个字符。" @@ -1930,20 +1962,20 @@ msgstr "必须至少有%{n}个字符。" msgid "Mute" msgstr "静音" -#: src/page/about/feedback.vue:121 src/page/about/feedback.vue:122 -#: src/component/album/edit/dialog.vue:77 -#: src/component/label/edit/dialog.vue:71 -#: src/component/people/edit/dialog.vue:71 -#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:57 +#: src/page/about/feedback.vue:122 src/page/about/feedback.vue:123 +#: src/component/album/edit/dialog.vue:78 +#: src/component/label/edit/dialog.vue:72 +#: src/component/people/edit/dialog.vue:72 +#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:59 #: src/component/photo/edit/info.vue:125 src/component/photo/edit/people.vue:36 -#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:310 -#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:286 -#: src/page/albums.vue:98 src/page/auth/login.vue:168 +#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:311 +#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:289 +#: src/page/albums.vue:99 src/page/auth/login.vue:168 #: src/page/people/new.vue:68 src/page/settings/services.vue:37 msgid "Name" msgstr "名称" -#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:60 +#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:65 #: src/component/label/edit/dialog.vue:19 #: src/component/people/edit/dialog.vue:19 #: src/component/photo/edit/labels.vue:30 @@ -1953,7 +1985,7 @@ msgstr "名称" msgid "Name too long" msgstr "名称太长" -#: src/page/admin/users.vue:204 src/options/options.js:361 +#: src/page/admin/users.vue:206 src/options/options.js:361 #: src/options/options.js:371 src/page/settings/services.vue:75 msgid "Never" msgstr "永不" @@ -1962,13 +1994,13 @@ msgstr "永不" msgid "New" msgstr "新" -#: src/component/settings/password.vue:106 +#: src/component/settings/password.vue:107 msgid "New Password" msgstr "新密码" #: src/component/album/edit/dialog.vue:24 src/component/photo/toolbar.vue:114 #: src/component/photo/toolbar.vue:126 src/component/photo/toolbar.vue:136 -#: src/page/albums.vue:100 +#: src/page/albums.vue:101 msgid "Newest First" msgstr "最新优先" @@ -1984,15 +2016,15 @@ msgstr "下一页" msgid "Next visual" msgstr "下一个视觉" -#: src/component/people/merge/dialog.vue:47 -#: src/component/photo/archive/dialog.vue:47 +#: src/component/people/merge/dialog.vue:48 +#: src/component/photo/archive/dialog.vue:48 #: src/component/photo/edit/info.vue:281 src/component/photo/edit/info.vue:297 #: src/component/photo/edit/info.vue:313 src/component/photo/edit/info.vue:329 #: src/component/photo/edit/info.vue:344 msgid "No" msgstr "否" -#: src/page/albums.vue:607 src/page/albums.vue:282 +#: src/page/albums.vue:612 src/page/albums.vue:282 msgid "No albums found" msgstr "找不到相册" @@ -2000,7 +2032,7 @@ msgstr "找不到相册" msgid "No data available" msgstr "无数据" -#: src/page/labels.vue:523 src/page/labels.vue:155 +#: src/page/labels.vue:528 src/page/labels.vue:155 msgid "No labels found" msgstr "找不到标签" @@ -2013,15 +2045,15 @@ msgid "No more" msgstr "没有更多" #: src/component/photo/edit/people.vue:34 src/page/people/new.vue:346 -#: src/page/people/new.vue:443 src/page/people/new.vue:103 -#: src/page/people/recognized.vue:531 src/page/people/recognized.vue:146 +#: src/page/people/new.vue:446 src/page/people/new.vue:103 +#: src/page/people/recognized.vue:536 src/page/people/recognized.vue:146 msgid "No people found" msgstr "找不到人物" #: src/component/lightbox.vue:365 src/component/photo/view/cards.vue:144 #: src/component/photo/view/list.vue:82 src/component/photo/view/mosaic.vue:68 -#: src/page/album/photos.vue:488 src/page/library/browse.vue:123 -#: src/page/photos.vue:626 src/page/places.vue:624 src/page/places.vue:730 +#: src/page/album/photos.vue:499 src/page/library/browse.vue:123 +#: src/page/photos.vue:636 src/page/places.vue:624 src/page/places.vue:730 msgid "No pictures found" msgstr "找不到图片" @@ -2030,7 +2062,11 @@ msgstr "找不到图片" msgid "No recently edited pictures" msgstr "没有最近编辑过的图片" -#: src/component/navigation.vue:1655 +#: src/component/location/dialog.vue:166 +msgid "No results" +msgstr "找不到结果" + +#: src/component/navigation.vue:1686 msgid "No server connection" msgstr "无服务器连接" @@ -2042,7 +2078,7 @@ msgstr "沒有服务器配置。" msgid "No services configured." msgstr "没有配置服务。" -#: src/component/confirm/sponsor.vue:72 +#: src/component/confirm/sponsor.vue:73 msgid "No thanks" msgstr "不用了,谢谢" @@ -2052,17 +2088,17 @@ msgstr "没有包含此关键字的警告或错误,请注意,搜索区分大 #: src/component/photo/view/cards.vue:154 src/component/photo/view/list.vue:59 #: src/component/photo/view/list.vue:92 src/component/photo/view/mosaic.vue:78 -#: src/component/upload/dialog.vue:208 +#: src/component/upload/dialog.vue:210 msgid "Non-photographic and low-quality images require a review before they appear in search results." msgstr "非照片和低质量图像出现在搜索结果中前需要进行审查。" -#: src/options/admin.js:47 src/options/auth.js:32 src/options/options.js:212 +#: src/options/admin.js:51 src/options/auth.js:33 src/options/options.js:212 #: src/options/options.js:328 msgid "None" msgstr "无" -#: src/common/util.js:853 src/component/lightbox.vue:633 -#: src/component/service/upload.vue:75 src/component/service/upload.vue:87 +#: src/component/lightbox.vue:633 src/component/service/upload.vue:75 +#: src/component/service/upload.vue:87 msgid "Not allowed" msgstr "不允许" @@ -2074,8 +2110,7 @@ msgstr "未找到" msgid "Not sorted." msgstr "未分类。" -#: src/common/util.js:858 src/component/lightbox.vue:627 -#: src/component/lightbox.vue:744 +#: src/component/lightbox.vue:627 src/component/lightbox.vue:744 msgid "Not supported" msgstr "不支持" @@ -2083,15 +2118,15 @@ msgstr "不支持" msgid "Note you may manually manage your originals folder and importing is optional." msgstr "如果希望保持原有文件名及目录结构,请直接管理源文件夹,不要使用导入功能。" -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "Note:" msgstr "注意:" -#: src/component/service/add.vue:120 +#: src/component/service/add.vue:121 msgid "Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload." msgstr "注意:只能将 WebDAV 服务器(如 Nextcloud 或 PhotoPrism)配置为远程服务,以进行备份和文件上传。" -#: src/component/photo/edit/details.vue:603 +#: src/component/photo/edit/details.vue:577 msgid "Notes" msgstr "备注" @@ -2099,8 +2134,8 @@ msgstr "备注" msgid "Nothing to see here yet." msgstr "暂无数据。" -#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:115 -#: src/component/settings/apps.vue:390 +#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:125 +#: src/component/settings/apps.vue:393 msgid "Nothing was found." msgstr "没有发现任何问题。" @@ -2108,9 +2143,9 @@ msgstr "没有发现任何问题。" msgid "Offline" msgstr "离线" -#: src/options/admin.js:39 src/options/auth.js:28 +#: src/options/admin.js:43 src/options/auth.js:29 msgid "OIDC" -msgstr "奥伊德数据中心" +msgstr "OIDC" #: src/locales.js:209 msgid "OK" @@ -2118,11 +2153,11 @@ msgstr "好的" #: src/component/album/edit/dialog.vue:25 src/component/photo/toolbar.vue:115 #: src/component/photo/toolbar.vue:127 src/component/photo/toolbar.vue:137 -#: src/page/albums.vue:101 +#: src/page/albums.vue:102 msgid "Oldest First" msgstr "最旧优先" -#: src/component/settings/webdav.vue:77 +#: src/component/settings/webdav.vue:78 msgid "On Windows, enter the following resource in the connection dialog:" msgstr "在 Windows 上,连接对话框中使用以下资源:" @@ -2134,11 +2169,11 @@ msgstr "按需生成缩略图可能会导致较高的 CPU 和内存使用率。 msgid "Once a week" msgstr "每周一次" -#: src/page/albums.vue:609 +#: src/page/albums.vue:614 msgid "One album found" msgstr "已找到一本相册" -#: src/page/library/browse.vue:358 +#: src/page/library/browse.vue:360 msgid "One file found" msgstr "已找到一个文件" @@ -2146,24 +2181,24 @@ msgstr "已找到一个文件" msgid "One file uploaded" msgstr "已上传一个文件" -#: src/page/library/browse.vue:360 +#: src/page/library/browse.vue:362 msgid "One folder found" msgstr "已找到一个文件夹" -#: src/page/labels.vue:525 +#: src/page/labels.vue:530 msgid "One label found" msgstr "已找到一个标签" -#: src/page/people/new.vue:348 src/page/people/new.vue:445 -#: src/page/people/recognized.vue:533 +#: src/page/people/new.vue:348 src/page/people/new.vue:448 +#: src/page/people/recognized.vue:538 msgid "One person found" msgstr "已找到一个人物" -#: src/page/album/photos.vue:490 src/page/photos.vue:628 +#: src/page/album/photos.vue:501 src/page/photos.vue:638 msgid "One picture found" msgstr "已发现一张图片" -#: src/component/settings/passcode.vue:478 +#: src/component/settings/passcode.vue:481 msgid "Only locally managed accounts can be set up for authentication with 2FA." msgstr "仅可设置本地管理的帐户进行 2FA 身份验证。" @@ -2171,7 +2206,7 @@ msgstr "仅可设置本地管理的帐户进行 2FA 身份验证。" msgid "Open" msgstr "开放" -#: src/component/service/add.vue:86 src/component/service/add.vue:107 +#: src/component/service/add.vue:87 src/component/service/add.vue:108 msgid "optional" msgstr "可选的" @@ -2183,7 +2218,7 @@ msgstr "或" msgid "Orange" msgstr "橙" -#: src/page/settings/account.vue:571 src/page/settings/account.vue:573 +#: src/page/settings/account.vue:577 src/page/settings/account.vue:579 msgid "Organization" msgstr "组织机构" @@ -2200,7 +2235,7 @@ msgid "Original Name" msgstr "源文件名" # Originals在本项目里有时代表服务器上的照片的储存文件夹,翻译为来源不妥,但我也没想好咋翻译。 -#: src/component/navigation.vue:1304 src/model/file.js:196 +#: src/component/navigation.vue:1328 src/model/file.js:196 #: src/options/options.js:413 src/page/library/browse.vue:65 #: src/page/settings/content.vue:356 src/page/settings/general.vue:532 msgid "Originals" @@ -2211,7 +2246,7 @@ msgstr "源" msgid "Other" msgstr "其他" -#: src/page/about/about.vue:77 src/page/about/about.vue:83 +#: src/page/about/about.vue:78 src/page/about/about.vue:84 msgid "Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible." msgstr "我们的使命是提供对绝大部分用户——及隐私最友好的解决方案,以保持你的照片有条理和可访问。" @@ -2223,7 +2258,7 @@ msgstr "户外地图" msgid "Page {0}, Current page" msgstr "第 {0} 页,当前页" -#: src/component/photo/edit/files.vue:352 src/model/photo.js:859 +#: src/component/photo/edit/files.vue:352 src/model/photo.js:896 msgid "Pages" msgstr "页面" @@ -2235,15 +2270,15 @@ msgstr "分页导航" msgid "Panorama" msgstr "全景" -#: src/component/navigation.vue:402 +#: src/component/navigation.vue:404 msgid "Panoramas" msgstr "全景" -#: src/component/user/add/dialog.vue:114 src/component/user/add/dialog.vue:115 -#: src/component/service/add.vue:106 src/component/service/edit.vue:352 -#: src/component/settings/apps.vue:121 src/component/settings/passcode.vue:106 -#: src/component/settings/passcode.vue:413 src/component/share/dialog.vue:27 -#: src/options/auth.js:91 src/page/auth/login.vue:196 +#: src/component/user/add/dialog.vue:115 src/component/user/add/dialog.vue:116 +#: src/component/service/add.vue:107 src/component/service/edit.vue:353 +#: src/component/settings/apps.vue:124 src/component/settings/passcode.vue:109 +#: src/component/settings/passcode.vue:416 src/component/share/dialog.vue:27 +#: src/options/auth.js:92 src/page/auth/login.vue:196 msgid "Password" msgstr "密码" @@ -2251,9 +2286,9 @@ msgstr "密码" msgid "Password changed" msgstr "密码已更改" -#: src/app/routes.js:404 src/app/routes.js:428 src/component/navigation.vue:845 -#: src/component/navigation.vue:1898 src/component/photo/edit/dialog.vue:228 -#: src/component/photo/edit/dialog.vue:245 src/options/options.js:201 +#: src/app/routes.js:412 src/app/routes.js:436 src/component/navigation.vue:853 +#: src/component/navigation.vue:1939 src/component/photo/edit/dialog.vue:238 +#: src/component/photo/edit/dialog.vue:257 src/options/options.js:201 #: src/page/settings/general.vue:180 msgid "People" msgstr "人物" @@ -2274,23 +2309,23 @@ msgstr "永久删除文件以释放存储空间。" msgid "Person" msgstr "个人" -#: src/options/auth.js:42 +#: src/options/auth.js:43 msgid "Personal" msgstr "个人" -#: src/model/photo.js:1273 +#: src/model/photo.js:1310 msgid "Photo" msgstr "相片" -#: src/page/about/about.vue:156 +#: src/page/about/about.vue:158 msgid "PhotoPrism is 100% self-funded and independent." msgstr "PhotoPrism是100%自筹资金和独立的。" -#: src/page/about/about.vue:92 +#: src/page/about/about.vue:93 msgid "PhotoPrism+ Membership" msgstr "照片棱镜+会员资格" -#: src/app/routes.js:156 +#: src/app/routes.js:164 msgid "Photos" msgstr "照片" @@ -2311,27 +2346,27 @@ msgstr "地点" msgid "Place & Time" msgstr "地点和时间" -#: src/app/routes.js:303 src/app/routes.js:309 src/app/routes.js:315 -#: src/app/routes.js:330 src/component/navigation.vue:986 -#: src/component/navigation.vue:1914 src/options/options.js:203 +#: src/app/routes.js:311 src/app/routes.js:317 src/app/routes.js:323 +#: src/app/routes.js:338 src/component/navigation.vue:999 +#: src/component/navigation.vue:1956 src/options/options.js:203 #: src/page/places.vue:51 src/page/settings/general.vue:609 #: src/page/settings/general.vue:638 msgid "Places" msgstr "地点" -#: src/component/settings/password.vue:129 +#: src/component/settings/password.vue:130 msgid "Please confirm your new password." msgstr "请确认新密码。" -#: src/component/settings/apps.vue:185 +#: src/component/settings/apps.vue:188 msgid "Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:" msgstr "请复制以下随机生成的应用程序密码并将其保存在安全的地方,因为您将无法再次看到它:" -#: src/component/upload/dialog.vue:203 +#: src/component/upload/dialog.vue:205 msgid "Please do not upload any private, unlawful or offensive pictures." msgstr "请勿上传任何私人、非法或攻击性图片。" -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Please don't upload photos containing offensive content." msgstr "请不要上传包含令人反感的内容的照片。" @@ -2339,11 +2374,11 @@ msgstr "请不要上传包含令人反感的内容的照片。" msgid "Please enter OTP character {0}" msgstr "请输入 OTP 字符 {0}" -#: src/component/settings/password.vue:66 +#: src/component/settings/password.vue:67 msgid "Please note that changing your password will log you out on other devices and browsers." msgstr "请注意,修改密码将退出你已登录在其他设备和浏览器上的账号。" -#: src/page/connect.vue:148 src/page/connect.vue:152 +#: src/page/connect.vue:149 src/page/connect.vue:153 msgid "Please restart your instance for the changes to take effect." msgstr "请重新启动您的实例以使变化生效。" @@ -2363,11 +2398,11 @@ msgstr "PNG 尺寸限制:%{n}px" msgid "Portrait" msgstr "人像" -#: src/component/service/edit.vue:273 +#: src/component/service/edit.vue:274 msgid "Preserve filenames" msgstr "保留文件名" -#: src/component/upload/dialog.vue:162 +#: src/component/upload/dialog.vue:164 msgid "Press enter to create a new album." msgstr "按下 Enter 键创建一个新相册。" @@ -2404,8 +2439,8 @@ msgstr "上一个视觉" msgid "Primary" msgstr "主文件" -#: src/app/routes.js:271 src/component/album/edit/dialog.vue:176 -#: src/component/navigation.vue:531 src/component/photo/edit/info.vue:303 +#: src/app/routes.js:279 src/component/album/edit/dialog.vue:177 +#: src/component/navigation.vue:533 src/component/photo/edit/info.vue:303 #: src/page/settings/general.vue:280 msgid "Private" msgstr "私有" @@ -2430,7 +2465,7 @@ msgstr "质量筛选" msgid "Quality Score" msgstr "质量得分" -#: src/page/admin/users.vue:169 +#: src/page/admin/users.vue:171 msgid "r" msgstr "r" @@ -2462,7 +2497,7 @@ msgstr "只读模式" #: src/component/album/edit/dialog.vue:26 src/component/photo/toolbar.vue:116 #: src/component/photo/toolbar.vue:128 src/component/photo/toolbar.vue:138 -#: src/page/albums.vue:102 +#: src/page/albums.vue:103 msgid "Recently Added" msgstr "最近添加" @@ -2470,7 +2505,7 @@ msgstr "最近添加" msgid "Recently Archived" msgstr "最近存档" -#: src/component/photo/toolbar.vue:139 src/page/albums.vue:103 +#: src/component/photo/toolbar.vue:139 src/page/albums.vue:104 msgid "Recently Edited" msgstr "最近编辑" @@ -2495,24 +2530,24 @@ msgstr "恢复代码" msgid "Red" msgstr "红" -#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:126 -#: src/component/album/toolbar.vue:79 src/component/photo/toolbar.vue:169 -#: src/page/albums.vue:173 src/page/labels.vue:112 +#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:128 +#: src/component/album/toolbar.vue:84 src/component/photo/toolbar.vue:169 +#: src/page/albums.vue:175 src/page/labels.vue:112 #: src/page/library/browse.vue:90 src/page/library/errors.vue:81 #: src/page/people/new.vue:54 src/page/people/recognized.vue:88 msgid "Refresh" msgstr "刷新" -#: src/app/routes.js:337 src/component/navigation.vue:943 -#: src/component/navigation.vue:1026 +#: src/app/routes.js:345 src/component/navigation.vue:955 +#: src/component/navigation.vue:1040 msgid "Regions" msgstr "地区" -#: src/page/connect.vue:275 src/page/connect.vue:284 +#: src/page/connect.vue:277 src/page/connect.vue:286 msgid "Register" msgstr "注册" -#: src/component/navigation.vue:1773 src/component/update.vue:68 +#: src/component/navigation.vue:1806 src/component/update.vue:68 msgid "Reload" msgstr "重载" @@ -2547,7 +2582,7 @@ msgstr "请求失败 - 你是否离线?" #: src/common/api.js:74 msgid "Request failed - invalid response" -msgstr "请求失败——无效的响应" +msgstr "请求失败 - 无效的响应" #: src/page/settings/content.vue:61 msgid "Require non-photographic and low-quality images to be reviewed before they appear in search results." @@ -2557,34 +2592,34 @@ msgstr "要求非图片和低质量图片在出现在搜索结果中之前必须 msgid "Resolution" msgstr "分辨率" -#: src/page/connect.vue:179 src/page/connect.vue:183 +#: src/page/connect.vue:180 src/page/connect.vue:184 #: src/page/settings/advanced.vue:782 msgid "Restart" msgstr "重新启动" -#: src/component/user/edit/dialog.vue:485 src/component/lightbox.vue:1221 +#: src/component/user/edit/dialog.vue:488 src/component/lightbox.vue:1221 #: src/component/photo/clipboard.vue:77 msgid "Restore" msgstr "恢复" -#: src/component/lightbox.vue:2000 +#: src/component/lightbox.vue:2020 msgid "Restored" msgstr "恢复" -#: src/component/service/edit.vue:428 +#: src/component/service/edit.vue:429 msgid "Retry Limit" msgstr "重试限制" -#: src/component/settings/password.vue:128 +#: src/component/settings/password.vue:129 msgid "Retype Password" msgstr "重新输入密码" -#: src/app/routes.js:264 src/component/navigation.vue:505 +#: src/app/routes.js:272 src/component/navigation.vue:507 msgid "Review" msgstr "审查" -#: src/component/user/add/dialog.vue:171 src/component/user/edit/dialog.vue:284 -#: src/page/admin/sessions.vue:262 src/page/admin/users.vue:73 +#: src/component/user/add/dialog.vue:172 src/component/user/edit/dialog.vue:285 +#: src/page/admin/sessions.vue:263 src/page/admin/users.vue:75 msgid "Role" msgstr "角色" @@ -2596,11 +2631,11 @@ msgstr "每页行数:" msgid "Satellite" msgstr "卫星" -#: src/component/user/edit/dialog.vue:485 -#: src/component/album/edit/dialog.vue:211 -#: src/component/label/edit/dialog.vue:119 -#: src/component/people/edit/dialog.vue:132 src/component/service/edit.vue:466 -#: src/component/settings/password.vue:172 src/component/share/dialog.vue:181 +#: src/component/user/edit/dialog.vue:488 +#: src/component/album/edit/dialog.vue:212 +#: src/component/label/edit/dialog.vue:120 +#: src/component/people/edit/dialog.vue:133 src/component/service/edit.vue:467 +#: src/component/settings/password.vue:173 src/component/share/dialog.vue:181 msgid "Save" msgstr "保存" @@ -2608,23 +2643,23 @@ msgstr "保存" msgid "Scan" msgstr "扫描" -#: src/component/settings/passcode.vue:179 +#: src/component/settings/passcode.vue:182 msgid "Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:" msgstr "使用您的身份验证器应用程序扫描二维码或使用下面显示的设置键,然后输入生成的验证码:" -#: src/component/navigation.vue:461 +#: src/component/navigation.vue:463 msgid "Scans" msgstr "扫描" -#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:377 -#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:310 +#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:381 +#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:313 msgid "Scope" msgstr "范围" -#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:62 -#: src/component/navigation.vue:342 src/component/navigation.vue:1866 -#: src/component/photo/toolbar.vue:57 src/options/options.js:197 -#: src/page/albums.vue:100 src/page/labels.vue:77 +#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:69 +#: src/component/location/dialog.vue:133 src/component/navigation.vue:343 +#: src/component/navigation.vue:1905 src/component/photo/toolbar.vue:57 +#: src/options/options.js:197 src/page/albums.vue:100 src/page/labels.vue:77 #: src/page/library/errors.vue:76 src/page/people/recognized.vue:66 #: src/page/places.vue:79 src/page/settings/content.vue:235 msgid "Search" @@ -2662,11 +2697,11 @@ msgstr "选择日期" msgid "Select dates" msgstr "选择日期" -#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:154 +#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:156 msgid "Select or create an album" msgstr "选择或创建相册" -#: src/component/upload/dialog.vue:138 +#: src/component/upload/dialog.vue:140 msgid "Select the files to upload…" msgstr "选择要上传的文件…" @@ -2694,7 +2729,7 @@ msgstr "所选项已恢复" msgid "Sequential Name" msgstr "顺序名称" -#: src/component/service/add.vue:67 src/component/service/edit.vue:322 +#: src/component/service/add.vue:68 src/component/service/edit.vue:323 #: src/component/share/dialog.vue:25 msgid "Service URL" msgstr "服务 URL" @@ -2703,7 +2738,7 @@ msgstr "服务 URL" msgid "Services" msgstr "服务" -#: src/model/session.js:107 src/options/auth.js:41 src/options/auth.js:90 +#: src/model/session.js:107 src/options/auth.js:42 src/options/auth.js:91 msgid "Session" msgstr "会议" @@ -2711,7 +2746,7 @@ msgstr "会议" msgid "Session ID" msgstr "会议ID" -#: src/page/admin.vue:45 +#: src/page/admin.vue:44 msgid "Sessions" msgstr "会议" @@ -2719,22 +2754,22 @@ msgstr "会议" msgid "Set as Album Cover" msgstr "设为专辑封面" -#: src/app/routes.js:101 src/app/routes.js:492 src/app/routes.js:504 -#: src/app/routes.js:521 src/app/routes.js:534 src/app/routes.js:547 -#: src/component/navigation.vue:1394 src/component/navigation.vue:1806 +#: src/app/routes.js:101 src/app/routes.js:500 src/app/routes.js:512 +#: src/app/routes.js:529 src/app/routes.js:542 src/app/routes.js:555 +#: src/component/navigation.vue:1419 src/component/navigation.vue:1841 msgid "Settings" msgstr "设置" #: src/page/settings/account.vue:115 src/page/settings/account.vue:144 -#: src/component/settings/passcode.vue:147 +#: src/component/settings/passcode.vue:151 msgid "Settings saved" msgstr "设置已保存" -#: src/component/service/upload.vue:131 src/component/settings/passcode.vue:160 +#: src/component/service/upload.vue:132 src/component/settings/passcode.vue:163 msgid "Setup" msgstr "设置" -#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:98 +#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:103 #: src/component/photo/clipboard.vue:51 src/page/settings/general.vue:382 msgid "Share" msgstr "分享" @@ -2751,7 +2786,7 @@ msgstr "与其他应用程序和服务分享你的图片。" msgid "Show" msgstr "显示" -#: src/page/people/new.vue:116 src/page/people/new.vue:233 +#: src/page/people/new.vue:116 src/page/people/new.vue:235 msgid "Show all new faces" msgstr "显示所有的新面孔" @@ -2796,7 +2831,7 @@ msgid "Similar" msgstr "相似" #: src/component/photo/edit/files.vue:51 src/component/photo/edit/files.vue:341 -#: src/component/service/edit.vue:139 src/component/sidebar/info.vue:96 +#: src/component/service/edit.vue:140 src/component/sidebar/info.vue:96 msgid "Size" msgstr "尺寸" @@ -2824,7 +2859,7 @@ msgstr "出错了,再试一次" msgid "Sort by" msgstr "排序方式" -#: src/component/album/edit/dialog.vue:142 src/component/photo/toolbar.vue:288 +#: src/component/album/edit/dialog.vue:143 src/component/photo/toolbar.vue:290 #: src/page/albums.vue:214 msgid "Sort Order" msgstr "排序" @@ -2859,7 +2894,7 @@ msgstr "根据图片的元数据,堆叠在相同的时间和地点拍摄的图 msgid "Stackable" msgstr "可堆叠" -#: src/component/navigation.vue:421 src/page/settings/content.vue:136 +#: src/component/navigation.vue:423 src/page/settings/content.vue:136 msgid "Stacks" msgstr "堆" @@ -2887,16 +2922,16 @@ msgstr "存储" msgid "Streets" msgstr "街道图" -#: src/component/photo/edit/details.vue:494 +#: src/component/photo/edit/details.vue:468 #: src/component/photo/edit/labels.vue:44 msgid "Subject" msgstr "主题" -#: src/page/about/feedback.vue:162 src/page/about/feedback.vue:163 +#: src/page/about/feedback.vue:163 src/page/about/feedback.vue:164 msgid "Submit" msgstr "提交" -#: src/component/settings/passcode.vue:132 +#: src/component/settings/passcode.vue:136 msgid "Successfully activated" msgstr "已成功激活" @@ -2905,23 +2940,23 @@ msgid "Successfully Connected" msgstr "账户成功连接" #: src/component/session/remove/dialog.vue:32 -#: src/component/settings/apps.vue:218 +#: src/component/settings/apps.vue:222 msgid "Successfully deleted" msgstr "已成功删除" -#: src/component/settings/passcode.vue:107 +#: src/component/settings/passcode.vue:108 msgid "Successfully verified" msgstr "验证成功" -#: src/component/user/edit/dialog.vue:398 src/page/admin/users.vue:163 +#: src/component/user/edit/dialog.vue:399 src/page/admin/users.vue:165 msgid "Super Admin" msgstr "超级管理员" -#: src/component/service/add.vue:122 +#: src/component/service/add.vue:123 msgid "Support for additional services, like Google Drive, will be added over time." msgstr "随着时间的推移,将增加对其他服务的支持,例如 Google 云端硬盘。" -#: src/component/confirm/sponsor.vue:37 src/component/navigation.vue:1629 +#: src/component/confirm/sponsor.vue:38 src/component/navigation.vue:1660 msgid "Support Our Mission" msgstr "支持我们的使命" @@ -2929,7 +2964,7 @@ msgstr "支持我们的使命" msgid "Sync" msgstr "同步" -#: src/component/service/edit.vue:289 +#: src/component/service/edit.vue:290 msgid "Sync raw and video files" msgstr "同步 Raw 和视频文件" @@ -2955,23 +2990,23 @@ msgstr "地形" msgid "Text" msgstr "文本" -#: src/component/photo/edit/details.vue:32 src/page/people/new.vue:71 +#: src/component/photo/edit/details.vue:40 src/page/people/new.vue:71 msgid "Text too long" msgstr "文字太长" -#: src/page/about/about.vue:145 +#: src/page/about/about.vue:146 msgid "Thank You for Your Support!" msgstr "感谢你的支持!" -#: src/page/about/about.vue:79 src/page/about/about.vue:85 +#: src/page/about/about.vue:80 src/page/about/about.vue:86 msgid "That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality." msgstr "这就是为什么PhotoPrism从一开始就能在你需要的地方运行,而不影响自由、隐私或功能。" -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "The index currently contains %{n} hidden files." msgstr "该索引当前包含 %{n} 个隐藏文件。" -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates." msgstr "它们的格式可能不受支持,它们尚未转换为 JPEG 或存在重复项。" @@ -2986,44 +3021,44 @@ msgstr "主题" msgid "This field is required" msgstr "该字段为必填字段" -#: src/component/settings/webdav.vue:100 src/page/settings/services.vue:144 +#: src/component/settings/webdav.vue:101 src/page/settings/services.vue:147 msgid "This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local." msgstr "这会将源文件夹安装为网络驱动器,并允许您从计算机或智能手机中打开,编辑和删除文件,就像它们是本地文件一样。" -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Time UTC" msgstr "UTC 时间" -#: src/component/photo/edit/details.vue:219 src/page/settings/general.vue:108 +#: src/component/photo/edit/details.vue:221 src/page/settings/general.vue:108 msgid "Time Zone" msgstr "时区" -#: src/component/service/edit.vue:408 +#: src/component/service/edit.vue:409 msgid "Timeout" msgstr "超时" -#: src/component/user/edit/dialog.vue:98 src/component/user/edit/dialog.vue:99 +#: src/component/user/edit/dialog.vue:99 src/component/user/edit/dialog.vue:100 #: src/page/settings/account.vue:84 src/page/settings/account.vue:86 msgctxt "Account" msgid "Title" msgstr "标题" -#: src/component/photo/edit/details.vue:73 +#: src/component/photo/edit/details.vue:75 msgctxt "Photo" msgid "Title" msgstr "标题" -#: src/component/photo/edit/info.vue:59 src/component/photo/edit/info.vue:155 +#: src/component/photo/edit/info.vue:61 src/component/photo/edit/info.vue:155 #: src/component/photo/edit/labels.vue:40 src/component/photo/view/list.vue:114 #: src/component/sidebar/info.vue:57 msgid "Title" msgstr "标题" -#: src/page/settings/account.vue:553 src/page/settings/account.vue:555 +#: src/page/settings/account.vue:559 src/page/settings/account.vue:561 msgid "Title / Position" msgstr "职称/职位" -#: src/page/albums.vue:83 +#: src/page/albums.vue:84 msgid "Title too long" msgstr "标题太长了" @@ -3031,19 +3066,19 @@ msgstr "标题太长了" msgid "to" msgstr "到" -#: src/component/settings/passcode.vue:312 +#: src/component/settings/passcode.vue:315 msgid "To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place." msgstr "为了避免您的帐户被锁定,请立即下载、打印或复制此恢复代码并将其保存在安全的地方。" -#: src/component/settings/apps.vue:272 +#: src/component/settings/apps.vue:275 msgid "To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:" msgstr "生成新的应用专用密码,请输入应用程序的名称、授权范围并选择到期日期:" -#: src/component/settings/passcode.vue:400 +#: src/component/settings/passcode.vue:403 msgid "To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:" msgstr "要切换到新的身份验证器应用程序或设备,请先停用双重身份验证,然后重新激活它:" -#: src/page/connect.vue:221 src/page/connect.vue:230 +#: src/page/connect.vue:223 src/page/connect.vue:232 msgid "To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:" msgstr "要升级,你可以输入激活码或点击 \"注册\",在我们的网站上注册:" @@ -3051,7 +3086,7 @@ msgstr "要升级,你可以输入激活码或点击 \"注册\",在我们的 msgid "Today" msgstr "今天" -#: src/component/album/toolbar.vue:70 src/component/photo/toolbar.vue:78 +#: src/component/album/toolbar.vue:71 src/component/photo/toolbar.vue:78 msgid "Toggle View" msgstr "切换视图" @@ -3078,20 +3113,24 @@ msgstr "故障排除" msgid "Try again using other filters or keywords." msgstr "使用其他过滤器或关键字再试一次。" -#: src/component/settings/passcode.vue:380 +#: src/component/settings/passcode.vue:383 msgid "Two-factor authentication has been enabled for your account." msgstr "您的帐户已启用双重身份验证。" #: src/component/photo/edit/files.vue:58 src/component/photo/edit/files.vue:330 -#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:388 +#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:389 msgid "Type" msgstr "类型" -#: src/options/auth.js:13 +#: src/component/album/toolbar.vue:178 +msgid "Unable to delete" +msgstr "无法删除" + +#: src/options/auth.js:14 msgid "Unauthorized" msgstr "未经授权的" -#: src/component/photo/edit/people.vue:94 +#: src/component/photo/edit/people.vue:95 msgid "Undo" msgstr "撤销" @@ -3099,16 +3138,16 @@ msgstr "撤销" msgid "Unique ID" msgstr "唯一标识符" -#: src/page/settings/account.vue:451 src/page/settings/account.vue:476 -#: src/page/settings/account.vue:501 src/common/util.js:487 -#: src/component/photo/edit/details.vue:21 -#: src/component/photo/edit/details.vue:111 -#: src/component/photo/edit/details.vue:138 -#: src/component/photo/edit/details.vue:164 src/component/sidebar/info.vue:43 -#: src/model/album.js:193 src/model/photo.js:323 src/model/photo.js:784 -#: src/model/photo.js:809 src/model/photo.js:832 src/model/photo.js:850 -#: src/model/photo.js:897 src/model/photo.js:905 src/model/photo.js:994 -#: src/model/photo.js:1016 src/model/photo.js:1061 src/model/photo.js:1074 +#: src/page/settings/account.vue:457 src/page/settings/account.vue:482 +#: src/page/settings/account.vue:507 src/common/util.js:488 +#: src/component/photo/edit/details.vue:27 +#: src/component/photo/edit/details.vue:113 +#: src/component/photo/edit/details.vue:140 +#: src/component/photo/edit/details.vue:166 src/component/sidebar/info.vue:43 +#: src/model/album.js:193 src/model/photo.js:331 src/model/photo.js:821 +#: src/model/photo.js:846 src/model/photo.js:869 src/model/photo.js:887 +#: src/model/photo.js:934 src/model/photo.js:942 src/model/photo.js:1031 +#: src/model/photo.js:1053 src/model/photo.js:1098 src/model/photo.js:1111 #: src/model/user.js:157 src/options/options.js:51 src/options/options.js:69 #: src/options/options.js:86 src/options/options.js:100 #: src/options/options.js:112 src/page/library/errors.vue:251 @@ -3121,7 +3160,7 @@ msgstr "未知" msgid "Unregistered" msgstr "未注册的" -#: src/app/routes.js:215 src/component/navigation.vue:644 +#: src/app/routes.js:223 src/component/navigation.vue:648 msgid "Unsorted" msgstr "未分类" @@ -3129,7 +3168,7 @@ msgstr "未分类" msgid "Unstack" msgstr "取消堆叠" -#: src/component/photo/edit/files.vue:519 src/component/photo/edit/info.vue:416 +#: src/component/photo/edit/files.vue:521 src/component/photo/edit/info.vue:416 msgid "Updated" msgstr "已更新" @@ -3145,7 +3184,7 @@ msgstr "更新索引" msgid "Updating moments" msgstr "更新时刻" -#: src/component/user/edit/dialog.vue:154 +#: src/component/user/edit/dialog.vue:155 msgid "Updating picture…" msgstr "更新图片…" @@ -3157,21 +3196,21 @@ msgstr "更新预览" msgid "Updating stacks" msgstr "更新堆" -#: src/page/connect.vue:57 src/component/navigation.vue:1500 -#: src/component/navigation.vue:1614 src/component/navigation.vue:1999 +#: src/page/connect.vue:57 src/component/navigation.vue:1526 +#: src/component/navigation.vue:1644 src/component/navigation.vue:2047 #: src/page/connect.vue:58 msgid "Upgrade" msgstr "升级" -#: src/page/about/about.vue:123 src/page/connect.vue:202 -#: src/component/confirm/sponsor.vue:98 src/page/about/about.vue:113 -#: src/page/connect.vue:206 +#: src/page/about/about.vue:124 src/page/connect.vue:204 +#: src/component/confirm/sponsor.vue:99 src/page/about/about.vue:114 +#: src/page/connect.vue:208 msgid "Upgrade Now" msgstr "立即升级" -#: src/component/album/toolbar.vue:108 src/component/navigation.vue:1824 -#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:144 -#: src/component/upload/dialog.vue:51 src/page/albums.vue:183 +#: src/component/album/toolbar.vue:113 src/component/navigation.vue:1860 +#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:145 +#: src/component/upload/dialog.vue:51 src/page/albums.vue:185 #: src/page/labels.vue:122 src/page/library/import.vue:133 #: src/page/settings/general.vue:307 src/page/settings/services.vue:38 msgid "Upload" @@ -3181,21 +3220,21 @@ msgstr "上传" msgid "Upload complete" msgstr "上传完成" -#: src/component/upload/dialog.vue:133 +#: src/component/upload/dialog.vue:135 msgid "Upload complete. Indexing…" msgstr "上传完成,索引中…" #: src/component/upload/dialog.vue:296 src/component/upload/dialog.vue:315 -#: src/component/upload/dialog.vue:129 +#: src/component/upload/dialog.vue:131 msgid "Upload failed" msgstr "上传失败" -#: src/component/service/edit.vue:257 +#: src/component/service/edit.vue:258 msgid "Upload local files" msgstr "上传本地文件" -#: src/component/user/edit/dialog.vue:380 #: src/component/user/edit/dialog.vue:381 +#: src/component/user/edit/dialog.vue:382 msgid "Upload Path" msgstr "上传路径" @@ -3203,7 +3242,7 @@ msgstr "上传路径" msgid "Upload to WebDAV and share links with friends." msgstr "上传到 WebDAV 并与朋友共享链接。" -#: src/component/upload/dialog.vue:131 +#: src/component/upload/dialog.vue:133 msgid "Uploading %{n} of %{t}…" msgstr "上传 %{n} / %{t} …" @@ -3216,7 +3255,7 @@ msgstr "上传照片…" msgid "Uploading…" msgstr "上传中…" -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Uploads that may contain such images will be rejected automatically." msgstr "可能包含此类图像的上传将被自动拒绝。" @@ -3224,7 +3263,7 @@ msgstr "可能包含此类图像的上传将被自动拒绝。" msgid "Use Presets" msgstr "使用预设" -#: src/component/settings/passcode.vue:283 +#: src/component/settings/passcode.vue:286 msgid "Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:" msgstr "当您无法使用身份验证器应用生成有效的验证码时,请使用以下恢复代码访问您的帐户:" @@ -3232,12 +3271,12 @@ msgstr "当您无法使用身份验证器应用生成有效的验证码时,请 msgid "Use your recovery code or contact an administrator for help." msgstr "使用恢复密码或联系管理员寻求帮助。" -#: src/options/admin.js:10 src/page/admin/sessions.vue:59 -#: src/page/admin/sessions.vue:242 src/model/user.js:361 src/options/auth.js:7 +#: src/options/admin.js:14 src/page/admin/sessions.vue:59 +#: src/page/admin/sessions.vue:243 src/model/user.js:361 src/options/auth.js:8 msgid "User" msgstr "用户" -#: src/component/navigation.vue:1979 +#: src/component/navigation.vue:2025 msgid "User Guide" msgstr "用户指南" @@ -3245,14 +3284,14 @@ msgstr "用户指南" msgid "User Interface" msgstr "用户界面" -#: src/component/user/add/dialog.vue:87 src/component/user/add/dialog.vue:88 -#: src/page/admin/sessions.vue:220 src/page/admin/users.vue:71 -#: src/component/service/add.vue:85 src/component/service/edit.vue:337 +#: src/component/user/add/dialog.vue:88 src/component/user/add/dialog.vue:89 +#: src/page/admin/sessions.vue:221 src/page/admin/users.vue:73 +#: src/component/service/add.vue:86 src/component/service/edit.vue:338 #: src/component/share/dialog.vue:26 msgid "Username" msgstr "用户名" -#: src/component/navigation.vue:1435 +#: src/component/navigation.vue:1461 msgid "Users" msgstr "用户" @@ -3262,18 +3301,18 @@ msgstr "用户" msgid "Vector" msgstr "矢量" -#: src/component/navigation.vue:440 +#: src/component/navigation.vue:442 msgid "Vectors" msgstr "媒介物" -#: src/component/settings/passcode.vue:227 src/page/auth/login.vue:144 +#: src/component/settings/passcode.vue:230 src/page/auth/login.vue:144 msgid "Verification Code" msgstr "验证码" #: src/component/photo/view/cards.vue:363 #: src/component/photo/view/cards.vue:491 src/component/photo/view/list.vue:190 #: src/component/photo/view/mosaic.vue:207 src/model/file.js:221 -#: src/model/photo.js:921 src/model/photo.js:939 src/options/options.js:293 +#: src/model/photo.js:958 src/model/photo.js:976 src/options/options.js:293 msgid "Video" msgstr "视频" @@ -3282,12 +3321,12 @@ msgstr "视频" msgid "Video Duration" msgstr "视频时长" -#: src/app/routes.js:243 src/component/navigation.vue:728 +#: src/app/routes.js:251 src/component/navigation.vue:734 #: src/options/options.js:200 msgid "Videos" msgstr "视频" -#: src/component/photo/toolbar.vue:261 src/component/photo/view/cards.vue:350 +#: src/component/photo/toolbar.vue:263 src/component/photo/view/cards.vue:350 #: src/component/photo/view/mosaic.vue:194 msgid "View" msgstr "视图" @@ -3296,11 +3335,11 @@ msgstr "视图" msgid "View search results as a list." msgstr "以列表形式查看搜索结果。" -#: src/options/admin.js:14 src/options/auth.js:8 +#: src/options/admin.js:18 src/options/auth.js:9 msgid "Viewer" msgstr "浏览者" -#: src/page/admin/sessions.vue:271 src/options/auth.js:12 +#: src/page/admin/sessions.vue:272 src/options/auth.js:13 msgid "Visitor" msgstr "访客" @@ -3312,34 +3351,34 @@ msgstr "视觉相似性" msgid "Warning" msgstr "警告" -#: src/page/about/feedback.vue:60 +#: src/page/about/feedback.vue:61 msgid "We appreciate your feedback!" msgstr "感谢您的反馈!" -#: src/page/about/feedback.vue:63 +#: src/page/about/feedback.vue:64 msgid "We do our best to respond within five business days or less." msgstr "我们尽力在五个工作日或更短时间内作出回应。" -#: src/component/user/add/dialog.vue:235 src/component/user/edit/dialog.vue:415 -#: src/page/admin/users.vue:80 +#: src/component/user/add/dialog.vue:236 src/component/user/edit/dialog.vue:416 +#: src/page/admin/users.vue:82 msgid "Web Login" msgstr "网络登录" -#: src/component/user/add/dialog.vue:248 src/component/user/edit/dialog.vue:432 -#: src/page/admin/users.vue:82 src/options/auth.js:55 src/options/auth.js:68 +#: src/component/user/add/dialog.vue:249 src/component/user/edit/dialog.vue:433 +#: src/page/admin/users.vue:84 src/options/auth.js:56 src/options/auth.js:69 #: src/options/options.js:444 msgid "WebDAV" msgstr "WebDAV" -#: src/component/settings/webdav.vue:51 +#: src/component/settings/webdav.vue:52 msgid "WebDAV clients can connect to PhotoPrism using the following URL:" msgstr "WebDAV 客户端可以使用以下 URL 连接到 PhotoPrism:" -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism." msgstr "WebDAV 客户端(例如 Microsoft 的 Windows 资源管理器或 Apple 的 Finder)可以直接连接到 PhotoPrism。" -#: src/component/service/upload.vue:50 src/component/share/dialog.vue:220 +#: src/component/service/upload.vue:51 src/component/share/dialog.vue:220 msgid "WebDAV Upload" msgstr "WebDAV 上传" @@ -3347,8 +3386,8 @@ msgstr "WebDAV 上传" msgid "WebGL support is disabled in your browser" msgstr "您的浏览器已禁用 WebGL 支持" -#: src/page/settings/account.vue:615 src/page/settings/account.vue:709 -#: src/page/settings/account.vue:601 +#: src/page/settings/account.vue:621 src/page/settings/account.vue:715 +#: src/page/settings/account.vue:607 msgid "Website" msgstr "网站" @@ -3356,12 +3395,12 @@ msgstr "网站" msgid "White" msgstr "白" -#: src/page/settings/account.vue:532 +#: src/page/settings/account.vue:538 msgid "Work Details" msgstr "作品详情" -#: src/page/settings/account.vue:500 src/component/photo/edit/details.vue:163 -#: src/component/photo/toolbar.vue:315 src/page/albums.vue:159 +#: src/page/settings/account.vue:506 src/component/photo/edit/details.vue:165 +#: src/component/photo/toolbar.vue:317 src/page/albums.vue:159 msgid "Year" msgstr "年" @@ -3369,21 +3408,21 @@ msgstr "年" msgid "Yellow" msgstr "黄" -#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:58 -#: src/component/photo/archive/dialog.vue:58 +#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:59 +#: src/component/photo/archive/dialog.vue:59 #: src/component/photo/clipboard.vue:200 src/component/photo/edit/files.vue:365 #: src/component/photo/edit/files.vue:395 #: src/component/photo/edit/files.vue:401 #: src/component/photo/edit/files.vue:407 -#: src/component/photo/edit/files.vue:510 src/component/photo/edit/info.vue:281 +#: src/component/photo/edit/files.vue:512 src/component/photo/edit/info.vue:281 #: src/component/photo/edit/info.vue:297 src/component/photo/edit/info.vue:313 #: src/component/photo/edit/info.vue:329 src/component/photo/edit/info.vue:344 -#: src/component/photo/toolbar.vue:434 +#: src/component/photo/toolbar.vue:436 msgid "Yes" msgstr "是" -#: src/component/confirm/sponsor.vue:59 src/page/about/about.vue:158 -#: src/page/connect.vue:315 +#: src/component/confirm/sponsor.vue:60 src/page/about/about.vue:160 +#: src/page/connect.vue:317 msgid "You are welcome to contact us at membership@photoprism.app for questions regarding your membership." msgstr "欢迎你与我们联系,membership@photoprism.app,询问有关你的会员资格的问题。" @@ -3395,7 +3434,11 @@ msgstr "你只能下载一个相册" msgid "You can only download one label" msgstr "你只能下载一个标签" -#: src/component/upload/dialog.vue:203 +#: src/component/location/dialog.vue:178 +msgid "You can search for a location or move the marker on the map to change the position:" +msgstr "您可以搜索位置或移动地图上的标记来更改位置:" + +#: src/component/upload/dialog.vue:205 msgid "You can upload up to %{n} files for test purposes." msgstr "您最多可以上传 %{n} 个文件用于测试。" @@ -3408,7 +3451,7 @@ msgstr "你只能选择一项" msgid "You may rescan your library to find additional faces." msgstr "你可以重新扫描你的库以找到更多的面部。" -#: src/page/connect.vue:146 src/page/connect.vue:150 +#: src/page/connect.vue:147 src/page/connect.vue:151 msgid "Your account has been successfully connected." msgstr "您的账户已成功连接。" @@ -3416,8 +3459,8 @@ msgstr "您的账户已成功连接。" msgid "Your browser does not support WebGL" msgstr "您的浏览器不支持 WebGL" -#: src/component/confirm/sponsor.vue:43 src/page/about/about.vue:97 -#: src/page/about/about.vue:156 src/page/connect.vue:220 +#: src/component/confirm/sponsor.vue:44 src/page/about/about.vue:98 +#: src/page/about/about.vue:158 src/page/connect.vue:222 msgid "Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy." msgstr "您的持续支持有助于我们提供定期更新并保持独立,因此我们可以履行我们的使命并保护您的隐私。" @@ -3498,9 +3541,6 @@ msgstr "缩放" #~ msgid "Open Folder" #~ msgstr "打开文件夹" -#~ msgid "Cannot copy to clipboard" -#~ msgstr "无法复制到剪贴板" - #~ msgid "Sound" #~ msgstr "声音" @@ -4155,9 +4195,6 @@ msgstr "缩放" #~ msgid "More than 50 results" #~ msgstr "找到超过50个结果" -#~ msgid "No results" -#~ msgstr "找不到结果" - #~ msgid "Not implemented yet" #~ msgstr "尚未实现此功能" diff --git a/frontend/src/locales/zh_TW.po b/frontend/src/locales/zh_TW.po index cb0e74fb4..299a0a027 100644 --- a/frontend/src/locales/zh_TW.po +++ b/frontend/src/locales/zh_TW.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: ci@photoprism.app\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2025-04-04 08:03+0000\n" +"PO-Revision-Date: 2025-07-06 08:58+0000\n" "Last-Translator: Google Cloud Translation Basic \n" "Language-Team: Chinese (Traditional) \n" "Language: zh_TW\n" @@ -11,7 +11,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.10.4\n" +"X-Generator: Weblate 5.12.2\n" "Generated-By: easygettext\n" #: src/locales.js:268 @@ -42,7 +42,7 @@ msgstr "已選{0}" msgid "{0}-{1} of {2}" msgstr "第 {0}-{1} 個,共 {2} 個" -#: src/page/albums.vue:612 +#: src/page/albums.vue:617 msgid "%{n} albums found" msgstr "找到了 %{n} 本相簿" @@ -50,25 +50,25 @@ msgstr "找到了 %{n} 本相簿" msgid "%{n} files uploaded" msgstr "%{n} 個檔案上傳完成" -#: src/page/library/browse.vue:362 +#: src/page/library/browse.vue:364 msgid "%{n} folders found" msgstr "找到了 %{n} 個資料夾" -#: src/component/navigation.vue:1676 +#: src/component/navigation.vue:1707 msgid "%{n} GB of %{q} GB used" msgstr "已使用 %{n} GB(共 %{q} GB)" -#: src/page/labels.vue:528 +#: src/page/labels.vue:533 msgid "%{n} labels found" msgstr "找到了 %{n} 個標籤" -#: src/page/people/new.vue:350 src/page/people/new.vue:447 -#: src/page/people/recognized.vue:536 +#: src/page/people/new.vue:350 src/page/people/new.vue:450 +#: src/page/people/recognized.vue:541 msgid "%{n} people found" msgstr "找到 %{n} 個人" -#: src/page/album/photos.vue:308 src/page/album/photos.vue:493 -#: src/page/photos.vue:441 src/page/photos.vue:631 +#: src/page/album/photos.vue:313 src/page/album/photos.vue:504 +#: src/page/photos.vue:446 src/page/photos.vue:641 msgid "%{n} pictures found" msgstr "找到 %{n} 張圖片" @@ -88,12 +88,12 @@ msgstr "1 小時" msgid "12 hours" msgstr "12 小時" -#: src/component/user/edit/dialog.vue:452 src/page/settings/account.vue:324 -#: src/component/settings/passcode.vue:75 +#: src/component/user/edit/dialog.vue:453 src/page/settings/account.vue:325 +#: src/component/settings/passcode.vue:78 msgid "2-Factor Authentication" msgstr "雙重身份驗證" -#: src/component/user/edit/dialog.vue:451 src/options/auth.js:46 +#: src/component/user/edit/dialog.vue:452 src/options/auth.js:47 msgid "2FA" msgstr "2FA" @@ -109,20 +109,20 @@ msgstr "點擊以複製到剪貼簿。" msgid "A new version of %{s} is available:" msgstr "%{s} 的新版本可用:" -#: src/component/user/edit/dialog.vue:233 -#: src/component/user/edit/dialog.vue:234 src/page/about/about.vue:56 +#: src/component/user/edit/dialog.vue:234 +#: src/component/user/edit/dialog.vue:235 src/page/about/about.vue:56 #: src/page/settings/account.vue:248 src/page/settings/account.vue:249 -#: src/app/routes.js:63 src/component/navigation.vue:1521 -#: src/page/people/recognized.vue:292 +#: src/app/routes.js:63 src/component/navigation.vue:1547 +#: src/page/people/recognized.vue:296 msgid "About" msgstr "關於" -#: src/options/auth.js:26 src/options/auth.js:44 +#: src/options/auth.js:27 src/options/auth.js:45 msgid "Access Token" msgstr "訪問令牌" -#: src/component/navigation.vue:87 src/component/navigation.vue:1788 -#: src/component/service/upload.vue:71 src/model/service.js:96 +#: src/component/navigation.vue:87 src/component/navigation.vue:1822 +#: src/component/service/upload.vue:72 src/model/service.js:96 #: src/model/user.js:171 src/page/settings.vue:85 #: src/page/settings/general.vue:582 msgid "Account" @@ -136,7 +136,7 @@ msgstr "帳號已建立" msgid "Account deleted" msgstr "帳號已刪除" -#: src/page/admin/users.vue:335 +#: src/page/admin/users.vue:337 msgid "Account restored" msgstr "帳戶已恢復" @@ -157,8 +157,8 @@ msgstr "動作" msgid "Actions" msgstr "動作" -#: src/page/connect.vue:294 src/component/settings/passcode.vue:346 -#: src/page/connect.vue:303 +#: src/page/connect.vue:296 src/component/settings/passcode.vue:349 +#: src/page/connect.vue:305 msgid "Activate" msgstr "啟用" @@ -174,20 +174,20 @@ msgstr "啟動以升序排序。" msgid "Activate to sort descending." msgstr "激活以降序排序。" -#: src/page/connect.vue:231 src/page/connect.vue:240 +#: src/page/connect.vue:233 src/page/connect.vue:242 msgid "Activation Code" msgstr "啟用碼" -#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:83 -#: src/component/settings/apps.vue:448 +#: src/component/user/add/dialog.vue:28 src/page/admin/users.vue:92 +#: src/component/settings/apps.vue:451 msgid "Add" msgstr "新增" -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:246 msgid "Add %{s}?" msgstr "添加%{名稱}?" -#: src/component/user/add/dialog.vue:56 src/component/service/add.vue:49 +#: src/component/user/add/dialog.vue:57 src/component/service/add.vue:50 msgid "Add Account" msgstr "新增帳戶" @@ -204,8 +204,8 @@ msgid "Add Link" msgstr "新增連結" #: src/component/photo/edit/people.vue:25 -#: src/component/photo/edit/people.vue:162 src/page/people/new.vue:57 -#: src/page/people/new.vue:244 +#: src/component/photo/edit/people.vue:164 src/page/people/new.vue:57 +#: src/page/people/new.vue:246 msgid "Add person?" msgstr "添加人?" @@ -221,10 +221,15 @@ msgstr "從搜尋結果中透過選取加入圖片。" msgid "Add to album" msgstr "新增到相簿" -#: src/component/photo/edit/files.vue:514 +#: src/component/photo/edit/files.vue:516 msgid "Added" msgstr "已新增" +#: src/component/location/dialog.vue:68 src/component/location/dialog.vue:90 +#: src/component/photo/edit/details.vue:246 +msgid "Adjust Location" +msgstr "調整位置" + #: src/options/admin.js:6 src/options/auth.js:6 msgid "Admin" msgstr "管理員" @@ -245,7 +250,7 @@ msgstr "3 天後" msgid "After 7 days" msgstr "7 天後" -#: src/component/settings/passcode.vue:93 +#: src/component/settings/passcode.vue:96 msgid "After entering your password for confirmation, you can set up two-factor authentication with a compatible authenticator app or device:" msgstr "輸入密碼進行確認後,您可以使用相容的身份驗證器應用程式或裝置設定雙重認證:" @@ -277,12 +282,16 @@ msgstr "相簿" msgid "Album Backups" msgstr "相册备份" -#: src/page/albums.vue:674 +#: src/page/albums.vue:685 msgid "Album created" msgstr "相簿已建立" -#: src/app/routes.js:176 src/component/album/toolbar.vue:51 -#: src/component/navigation.vue:604 src/component/navigation.vue:1882 +#: src/page/album/photos.vue:589 +msgid "Album deleted" +msgstr "相簿已刪除" + +#: src/app/routes.js:184 src/component/album/toolbar.vue:55 +#: src/component/navigation.vue:607 src/component/navigation.vue:1922 #: src/component/photo/edit/info.vue:220 src/options/options.js:198 msgid "Albums" msgstr "相簿" @@ -295,7 +304,7 @@ msgstr "相簿已刪除" msgid "All" msgstr "全部" -#: src/page/albums.vue:465 +#: src/page/albums.vue:470 msgid "All %{n} albums loaded" msgstr "共 %{n} 本相簿已載入" @@ -311,8 +320,8 @@ msgstr "共 %{n} 人已讀取" msgid "All Cameras" msgstr "所有相機" -#: src/component/photo/toolbar.vue:74 src/page/albums.vue:44 -#: src/page/albums.vue:240 src/page/albums.vue:746 +#: src/component/photo/toolbar.vue:74 src/page/albums.vue:45 +#: src/page/albums.vue:242 src/page/albums.vue:757 msgid "All Categories" msgstr "所有分類" @@ -344,7 +353,7 @@ msgstr "所有月份" msgid "All originals" msgstr "所有來源" -#: src/component/photo/toolbar.vue:76 src/page/albums.vue:93 +#: src/component/photo/toolbar.vue:76 src/page/albums.vue:94 msgid "All Years" msgstr "所有年份" @@ -356,7 +365,7 @@ msgstr "或者,你也可以直接使用WebDAV(例如 NextCloud)等服務 msgid "Altitude" msgstr "高度" -#: src/component/photo/edit/details.vue:272 +#: src/component/photo/edit/details.vue:297 msgid "Altitude (m)" msgstr "高度(公尺)" @@ -364,8 +373,7 @@ msgstr "高度(公尺)" msgid "AM" msgstr "是" -#: src/app/routes.js:257 src/component/navigation.vue:791 -#: src/component/photo/edit/files.vue:364 +#: src/app/routes.js:265 src/component/photo/edit/files.vue:364 #: src/component/photo/view/cards.vue:327 #: src/component/photo/view/cards.vue:511 src/component/photo/view/list.vue:184 #: src/component/photo/view/mosaic.vue:171 src/options/options.js:301 @@ -376,43 +384,47 @@ msgstr "動態圖片" msgid "Animation" msgstr "動畫" +#: src/component/navigation.vue:797 +msgid "Animations" +msgstr "動畫" + #: src/component/share/dialog.vue:207 msgid "Any private photos and videos remain private and won't be shared." msgstr "所有私人相片跟影片都會保持私人,不會被分享。" -#: src/component/service/edit.vue:372 +#: src/component/service/edit.vue:373 msgid "API Key" msgstr "API鑰匙" -#: src/page/admin/sessions.vue:357 src/options/auth.js:25 +#: src/page/admin/sessions.vue:361 src/options/auth.js:26 msgid "Application" msgstr "應用" -#: src/component/photo/edit/details.vue:641 +#: src/component/photo/edit/details.vue:615 msgid "Apply" msgstr "套用" #: src/component/photo/clipboard.vue:64 -#: src/component/photo/edit/details.vue:640 +#: src/component/photo/edit/details.vue:614 #: src/component/photo/view/cards.vue:416 msgid "Approve" msgstr "確認" -#: src/page/settings/account.vue:374 src/component/settings/apps.vue:91 +#: src/page/settings/account.vue:378 src/component/settings/apps.vue:94 msgid "Apps and Devices" msgstr "應用程式和裝置" -#: src/app/routes.js:287 src/component/lightbox.vue:1207 -#: src/component/navigation.vue:555 src/component/photo/clipboard.vue:142 +#: src/app/routes.js:295 src/component/lightbox.vue:1207 +#: src/component/navigation.vue:557 src/component/photo/clipboard.vue:142 #: src/component/photo/view/cards.vue:398 src/page/settings/general.vue:432 msgid "Archive" msgstr "封存" -#: src/component/lightbox.vue:1982 src/component/photo/edit/info.vue:433 +#: src/component/lightbox.vue:2002 src/component/photo/edit/info.vue:433 msgid "Archived" msgstr "已封存" -#: src/component/photo/archive/dialog.vue:34 +#: src/component/photo/archive/dialog.vue:35 msgid "Are you sure you want to archive the selection?" msgstr "確定要封存所選的項目嗎?" @@ -420,19 +432,23 @@ msgstr "確定要封存所選的項目嗎?" msgid "Are you sure you want to delete these albums?" msgstr "確定要刪除這些相簿嗎?" -#: src/component/label/delete/dialog.vue:34 +#: src/component/label/delete/dialog.vue:35 msgid "Are you sure you want to delete these labels?" msgstr "確定要刪除這些標籤嗎?" -#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:36 +#: src/component/user/remove/dialog.vue:32 src/component/service/remove.vue:37 msgid "Are you sure you want to delete this account?" msgstr "確定要刪除這個帳號嗎?" +#: src/component/album/toolbar.vue:136 +msgid "Are you sure you want to delete this album?" +msgstr "您確定要刪除此相簿嗎?" + #: src/component/photo/clipboard.vue:199 msgid "Are you sure you want to permanently delete these pictures?" msgstr "確定要永久刪除這些圖片嗎?" -#: src/component/file/delete/dialog.vue:34 +#: src/component/file/delete/dialog.vue:35 msgid "Are you sure you want to permanently delete this file?" msgstr "確定要永久刪除這個檔案嗎?" @@ -441,7 +457,7 @@ msgstr "確定要永久刪除這個檔案嗎?" msgid "Are you sure?" msgstr "你確定嗎?" -#: src/component/photo/edit/details.vue:537 +#: src/component/photo/edit/details.vue:511 msgid "Artist" msgstr "作者" @@ -449,14 +465,14 @@ msgstr "作者" msgid "Aspect Ratio" msgstr "長寬比" -#: src/app/routes.js:250 src/component/navigation.vue:770 +#: src/app/routes.js:258 src/component/navigation.vue:776 #: src/options/options.js:297 msgid "Audio" msgstr "聲音的" -#: src/component/user/add/dialog.vue:190 src/component/user/edit/dialog.vue:309 -#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:281 -#: src/page/admin/users.vue:75 +#: src/component/user/add/dialog.vue:191 src/component/user/edit/dialog.vue:310 +#: src/page/admin/sessions.vue:60 src/page/admin/sessions.vue:282 +#: src/page/admin/users.vue:77 msgid "Authentication" msgstr "驗證" @@ -464,11 +480,11 @@ msgstr "驗證" msgid "Auto" msgstr "汽車" -#: src/component/settings/apps.vue:151 +#: src/component/settings/apps.vue:154 msgid "Back" msgstr "後退" -#: src/component/scroll.vue:20 +#: src/component/scroll.vue:18 msgid "Back to top" msgstr "回到頂部" @@ -480,26 +496,26 @@ msgstr "備份" msgid "Badge" msgstr "徽章" -#: src/component/user/edit/dialog.vue:361 #: src/component/user/edit/dialog.vue:362 +#: src/component/user/edit/dialog.vue:363 msgid "Base Path" msgstr "基本路径" -#: src/page/about/about.vue:95 src/page/connect.vue:220 +#: src/page/about/about.vue:96 src/page/connect.vue:222 msgid "Become a member today, support our mission and enjoy our member benefits!" msgstr "今天就加入會員,支持我們的使命並享受我們的會員福利!" -#: src/component/confirm/sponsor.vue:51 src/page/about/about.vue:99 +#: src/component/confirm/sponsor.vue:52 src/page/about/about.vue:100 msgid "Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services." msgstr "作為 100% 自籌資金和獨立的公司,我們可以向您保證,我們永遠不會出售您的數據,並且我們將始終對我們的軟件和服務保持透明。" -#: src/component/user/edit/dialog.vue:258 -#: src/component/user/edit/dialog.vue:259 src/page/settings/account.vue:227 +#: src/component/user/edit/dialog.vue:259 +#: src/component/user/edit/dialog.vue:260 src/page/settings/account.vue:227 #: src/page/settings/account.vue:228 msgid "Bio" msgstr "個人資料" -#: src/page/settings/account.vue:431 +#: src/page/settings/account.vue:437 msgid "Birth Date" msgstr "出生日期" @@ -520,7 +536,7 @@ msgid "Brown" msgstr "棕色" #: src/component/photo/edit/files.vue:263 src/component/photo/toolbar.vue:141 -#: src/component/upload/dialog.vue:240 +#: src/component/upload/dialog.vue:242 msgid "Browse" msgstr "浏览" @@ -548,16 +564,16 @@ msgstr "回報問題" msgid "Busy, please wait…" msgstr "忙碌中,請稍候…" -#: src/page/connect.vue:317 +#: src/page/connect.vue:319 msgid "By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct." msgstr "當您開始使用我們提供的軟體及服務時,即表示您同意我們的服務條款、隱私權政策和行為準則。" -#: src/app/routes.js:189 src/component/navigation.vue:1081 +#: src/app/routes.js:197 src/component/navigation.vue:1097 #: src/options/options.js:204 src/page/settings/general.vue:205 msgid "Calendar" msgstr "日曆" -#: src/component/photo/edit/details.vue:346 src/component/photo/toolbar.vue:232 +#: src/component/photo/edit/details.vue:320 src/component/photo/toolbar.vue:234 #: src/component/photo/view/cards.vue:467 src/component/photo/view/list.vue:116 msgid "Camera" msgstr "相機" @@ -570,12 +586,12 @@ msgstr "相機序號" msgid "Can't access your authenticator app or device?" msgstr "无法访问您的身份验证应用程序或设备?" -#: src/page/album/photos.vue:317 src/page/photos.vue:450 +#: src/page/album/photos.vue:322 src/page/photos.vue:455 msgid "Can't load more, limit reached" msgstr "已達上限,無法再載入更多" #: src/common/clipboard.js:102 src/common/clipboard.js:139 -#: src/page/albums.vue:684 src/page/albums.vue:700 src/page/labels.vue:293 +#: src/page/albums.vue:695 src/page/albums.vue:711 src/page/labels.vue:293 #: src/page/labels.vue:313 src/page/library/browse.vue:233 #: src/page/library/browse.vue:249 src/page/people/new.vue:278 #: src/page/people/new.vue:294 src/page/people/recognized.vue:305 @@ -584,26 +600,31 @@ msgid "Can't select more items" msgstr "無法選取更多項目" #: src/component/session/remove/dialog.vue:45 -#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:473 -#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:119 +#: src/component/user/add/dialog.vue:27 src/component/user/edit/dialog.vue:474 +#: src/component/user/remove/dialog.vue:45 src/page/connect.vue:120 #: src/component/album/delete/dialog.vue:43 -#: src/component/album/edit/dialog.vue:199 src/component/confirm/dialog.vue:43 -#: src/component/file/delete/dialog.vue:47 -#: src/component/label/delete/dialog.vue:47 -#: src/component/label/edit/dialog.vue:107 -#: src/component/people/edit/dialog.vue:120 +#: src/component/album/edit/dialog.vue:200 src/component/confirm/dialog.vue:43 +#: src/component/file/delete/dialog.vue:48 +#: src/component/label/delete/dialog.vue:48 +#: src/component/label/edit/dialog.vue:108 +#: src/component/location/dialog.vue:200 +#: src/component/people/edit/dialog.vue:121 #: src/component/photo/album/dialog.vue:78 src/component/service/add.vue:19 -#: src/component/service/edit.vue:455 src/component/service/remove.vue:49 -#: src/component/service/upload.vue:117 src/component/settings/apps.vue:352 -#: src/component/settings/passcode.vue:249 -#: src/component/settings/passcode.vue:333 -#: src/component/settings/password.vue:159 src/component/share/dialog.vue:28 -#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:123 +#: src/component/service/edit.vue:456 src/component/service/remove.vue:50 +#: src/component/service/upload.vue:118 src/component/settings/apps.vue:355 +#: src/component/settings/passcode.vue:252 +#: src/component/settings/passcode.vue:336 +#: src/component/settings/password.vue:160 src/component/share/dialog.vue:28 +#: src/locales.js:210 src/page/auth/login.vue:232 src/page/connect.vue:124 #: src/page/library/import.vue:119 src/page/library/index.vue:128 msgid "Cancel" msgstr "取消" -#: src/component/photo/edit/details.vue:87 src/component/photo/edit/info.vue:61 +#: src/common/util.js:863 src/common/util.js:870 +msgid "Cannot copy to clipboard" +msgstr "無法複製到剪貼簿" + +#: src/component/photo/edit/details.vue:89 src/component/photo/edit/info.vue:63 #: src/component/photo/edit/labels.vue:42 #: src/component/photo/view/cards.vue:445 src/component/sidebar/info.vue:72 msgid "Caption" @@ -617,17 +638,17 @@ msgstr "卡片" msgid "Carousel slide {0} of {1}" msgstr "輪播投影片第 {0} 張(共 {1} 張)" -#: src/page/about/feedback.vue:82 src/page/about/feedback.vue:83 -#: src/component/album/edit/dialog.vue:128 src/component/photo/toolbar.vue:397 +#: src/page/about/feedback.vue:83 src/page/about/feedback.vue:84 +#: src/component/album/edit/dialog.vue:129 src/component/photo/toolbar.vue:399 #: src/page/albums.vue:187 msgid "Category" msgstr "分類" -#: src/component/user/edit/dialog.vue:191 src/page/settings/account.vue:201 +#: src/component/user/edit/dialog.vue:192 src/page/settings/account.vue:201 msgid "Change Avatar" msgstr "變更頭像" -#: src/page/settings/account.vue:297 src/component/settings/password.vue:48 +#: src/page/settings/account.vue:297 src/component/settings/password.vue:49 msgid "Change Password" msgstr "更改密碼" @@ -644,17 +665,17 @@ msgid "Change private flag" msgstr "更改私人選項" #: src/component/user/add/dialog.vue:108 src/component/user/add/dialog.vue:113 -#: src/component/user/edit/dialog.vue:90 src/component/user/edit/dialog.vue:95 +#: src/component/user/edit/dialog.vue:91 src/component/user/edit/dialog.vue:96 #: src/page/settings/account.vue:121 src/page/settings/account.vue:126 msgid "Changes could not be saved" msgstr "無法儲存更改項目" -#: src/component/user/edit/dialog.vue:83 src/component/user/edit/dialog.vue:159 +#: src/component/user/edit/dialog.vue:84 src/component/user/edit/dialog.vue:160 #: src/component/album/edit/dialog.vue:73 -#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1941 +#: src/component/label/edit/dialog.vue:46 src/component/lightbox.vue:1961 #: src/component/photo/edit/files.vue:162 src/component/service/edit.vue:90 #: src/component/share/dialog.vue:92 src/component/share/dialog.vue:111 -#: src/page/albums.vue:677 src/page/people/recognized.vue:119 +#: src/page/albums.vue:688 src/page/people/recognized.vue:119 #: src/page/settings/advanced.vue:62 src/page/settings/content.vue:62 #: src/page/settings/general.vue:108 msgid "Changes successfully saved" @@ -668,7 +689,7 @@ msgstr "对高级设置的更改需要重新启动才能生效。" msgid "Checked" msgstr "已選擇" -#: src/component/photo/edit/files.vue:495 +#: src/component/photo/edit/files.vue:497 msgid "Chroma" msgstr "彩度" @@ -684,24 +705,24 @@ msgstr "清理" msgid "Clear {0}" msgstr "清除{0}" -#: src/options/auth.js:11 src/options/auth.js:23 src/options/auth.js:43 +#: src/options/auth.js:12 src/options/auth.js:24 src/options/auth.js:44 msgid "Client" msgstr "客户" -#: src/options/auth.js:24 +#: src/options/auth.js:25 msgid "Client Credentials" msgstr "个人" -#: src/page/admin/sessions.vue:529 src/component/lightbox.vue:284 -#: src/component/lightbox.vue:1009 src/component/lightbox.vue:1010 -#: src/component/photo/edit/details.vue:627 src/component/photo/toolbar.vue:160 -#: src/component/settings/apps.vue:224 src/component/settings/apps.vue:437 -#: src/component/settings/passcode.vue:148 -#: src/component/settings/passcode.vue:456 -#: src/component/settings/passcode.vue:497 -#: src/component/settings/webdav.vue:131 src/component/share/dialog.vue:231 +#: src/component/user/edit/dialog.vue:474 src/page/admin/sessions.vue:536 +#: src/component/lightbox.vue:284 src/component/lightbox.vue:1009 +#: src/component/lightbox.vue:1010 src/component/photo/edit/details.vue:601 +#: src/component/photo/toolbar.vue:161 src/component/settings/apps.vue:227 +#: src/component/settings/apps.vue:440 src/component/settings/passcode.vue:151 +#: src/component/settings/passcode.vue:459 +#: src/component/settings/passcode.vue:500 +#: src/component/settings/webdav.vue:132 src/component/share/dialog.vue:231 #: src/component/sidebar/info.vue:26 src/component/update.vue:57 -#: src/component/upload/dialog.vue:228 src/locales.js:206 +#: src/component/upload/dialog.vue:230 src/locales.js:206 #: src/page/library/errors.vue:253 msgid "Close" msgstr "關閉" @@ -710,11 +731,11 @@ msgstr "關閉" msgid "Codec" msgstr "解碼器" -#: src/component/photo/toolbar.vue:369 +#: src/component/photo/toolbar.vue:371 msgid "Color" msgstr "顏色" -#: src/component/photo/edit/files.vue:483 +#: src/component/photo/edit/files.vue:485 msgid "Color Profile" msgstr "色彩設定檔" @@ -722,7 +743,7 @@ msgstr "色彩設定檔" msgid "Colors" msgstr "顏色" -#: src/page/connect.vue:260 src/page/connect.vue:269 +#: src/page/connect.vue:262 src/page/connect.vue:271 msgid "Compare Editions" msgstr "比較版本" @@ -735,17 +756,18 @@ msgstr "重新完整掃描" msgid "Confidence" msgstr "可信度" +#: src/component/location/dialog.vue:212 #: src/component/photo/album/dialog.vue:90 -#: src/component/settings/passcode.vue:261 +#: src/component/settings/passcode.vue:264 msgid "Confirm" msgstr "確認" -#: src/component/service/add.vue:20 src/page/settings/services.vue:187 +#: src/component/service/add.vue:20 src/page/settings/services.vue:191 msgid "Connect" msgstr "連線" -#: src/page/settings/account.vue:401 src/component/settings/webdav.vue:45 -#: src/page/settings/services.vue:167 +#: src/page/settings/account.vue:406 src/component/settings/webdav.vue:46 +#: src/page/settings/services.vue:170 msgid "Connect via WebDAV" msgstr "使用 WebDAV 連線" @@ -753,22 +775,22 @@ msgstr "使用 WebDAV 連線" msgid "Connected" msgstr "已連線" -#: src/page/settings/account.vue:640 src/page/settings/account.vue:532 +#: src/page/settings/account.vue:646 src/page/settings/account.vue:538 msgid "Contact Details" msgstr "聯絡方式" -#: src/page/about/feedback.vue:37 src/page/connect.vue:132 -#: src/page/connect.vue:136 +#: src/page/about/feedback.vue:37 src/page/connect.vue:133 +#: src/page/connect.vue:137 msgid "Contact Us" msgstr "聯絡我們" #: src/page/albums.vue:433 src/page/labels.vue:237 -#: src/page/people/recognized.vue:306 +#: src/page/people/recognized.vue:310 msgid "Contains %{n} pictures." msgstr "包含 %{n} 張圖片。" #: src/page/albums.vue:427 src/page/labels.vue:231 -#: src/page/people/recognized.vue:300 +#: src/page/people/recognized.vue:304 msgid "Contains one picture." msgstr "包含一張圖片。" @@ -776,7 +798,7 @@ msgstr "包含一張圖片。" msgid "Content" msgstr "內容" -#: src/component/settings/apps.vue:163 +#: src/component/settings/apps.vue:166 msgid "Continue" msgstr "繼續" @@ -784,7 +806,7 @@ msgstr "繼續" msgid "Continue with %{provider}" msgstr "继续 %{provider}" -#: src/options/admin.js:18 src/options/auth.js:9 +#: src/options/admin.js:22 src/options/auth.js:10 msgid "Contributor" msgstr "貢獻者" @@ -792,15 +814,15 @@ msgstr "貢獻者" msgid "Converting" msgstr "轉換中" -#: src/common/util.js:846 +#: src/common/util.js:856 msgid "Copied to clipboard" msgstr "已複製到剪貼簿" -#: src/component/settings/apps.vue:250 src/component/settings/passcode.vue:358 +#: src/component/settings/apps.vue:253 src/component/settings/passcode.vue:361 msgid "Copy" msgstr "複製" -#: src/component/photo/edit/details.vue:516 +#: src/component/photo/edit/details.vue:490 msgid "Copyright" msgstr "版權" @@ -808,8 +830,8 @@ msgstr "版權" msgid "Couldn't find anything." msgstr "找不到任何東西。" -#: src/page/settings/account.vue:685 src/component/photo/edit/details.vue:242 -#: src/component/photo/toolbar.vue:203 src/page/settings/account.vue:577 +#: src/page/settings/account.vue:691 src/component/photo/edit/details.vue:268 +#: src/component/photo/toolbar.vue:205 src/page/settings/account.vue:583 msgid "Country" msgstr "國家" @@ -833,7 +855,7 @@ msgstr "创建 YAML 文件来备份相册元数据。" msgid "Create YAML sidecar files to back up picture metadata." msgstr "创建 YAML sidecar 文件来备份图片元数据。" -#: src/page/admin/sessions.vue:417 src/component/photo/edit/info.vue:412 +#: src/page/admin/sessions.vue:422 src/component/photo/edit/info.vue:412 msgid "Created" msgstr "已新增" @@ -845,11 +867,11 @@ msgstr "為以下項目新增縮圖" msgid "Cubic: Moderate Quality, Good Performance" msgstr "立方:中等品質,良好效能" -#: src/component/settings/password.vue:85 +#: src/component/settings/password.vue:86 msgid "Current Password" msgstr "目前的密碼" -#: src/options/themes.js:919 src/options/themes.js:928 +#: src/options/themes.js:920 src/options/themes.js:929 msgid "Custom" msgstr "風俗" @@ -865,11 +887,11 @@ msgstr "每日" msgid "Database Backups" msgstr "数据库备份" -#: src/page/settings/account.vue:450 src/component/photo/edit/details.vue:110 +#: src/page/settings/account.vue:456 src/component/photo/edit/details.vue:112 msgid "Day" msgstr "日" -#: src/component/settings/passcode.vue:445 +#: src/component/settings/passcode.vue:448 msgid "Deactivate" msgstr "停用" @@ -877,36 +899,40 @@ msgstr "停用" msgid "Debug Logs" msgstr "除錯紀錄" -#: src/options/admin.js:31 src/page/admin/sessions.vue:136 -#: src/page/admin/users.vue:176 src/component/photo/edit/info.vue:47 +#: src/options/admin.js:35 src/page/admin/sessions.vue:136 +#: src/page/admin/users.vue:178 src/component/photo/edit/info.vue:47 #: src/component/photo/edit/info.vue:110 src/model/session.js:66 -#: src/model/user.js:246 src/options/auth.js:20 src/options/auth.js:21 -#: src/options/auth.js:39 src/options/auth.js:40 src/options/options.js:196 +#: src/model/user.js:246 src/options/auth.js:21 src/options/auth.js:22 +#: src/options/auth.js:40 src/options/auth.js:41 src/options/options.js:196 #: src/options/options.js:232 src/options/options.js:316 -#: src/options/themes.js:773 +#: src/options/themes.js:774 msgid "Default" msgstr "預設" -#: src/component/service/edit.vue:123 +#: src/component/service/edit.vue:124 msgid "Default Folder" msgstr "預設資料夾" #: src/component/session/remove/dialog.vue:56 #: src/component/user/remove/dialog.vue:56 src/component/album/clipboard.vue:97 -#: src/component/album/delete/dialog.vue:54 -#: src/component/file/delete/dialog.vue:58 src/component/label/clipboard.vue:58 -#: src/component/label/delete/dialog.vue:58 +#: src/component/album/delete/dialog.vue:54 src/component/album/toolbar.vue:137 +#: src/component/file/delete/dialog.vue:59 src/component/label/clipboard.vue:58 +#: src/component/label/delete/dialog.vue:59 #: src/component/photo/clipboard.vue:168 src/component/photo/edit/files.vue:238 -#: src/component/service/remove.vue:60 src/component/share/dialog.vue:170 +#: src/component/service/remove.vue:61 src/component/share/dialog.vue:170 #: src/page/settings/general.vue:457 msgid "Delete" msgstr "刪除" +#: src/component/album/toolbar.vue:133 +msgid "Delete Album" +msgstr "刪除相簿" + #: src/component/photo/toolbar.vue:119 src/page/library/errors.vue:95 msgid "Delete All" msgstr "全部删除" -#: src/component/photo/toolbar.vue:433 src/page/library/errors.vue:193 +#: src/component/photo/toolbar.vue:435 src/page/library/errors.vue:193 msgid "Delete all?" msgstr "全部刪除?" @@ -914,16 +940,16 @@ msgstr "全部刪除?" msgid "Delete orphaned index entries, sidecar files and thumbnails." msgstr "删除孤儿索引条目、副卡文件和缩略图。" -#: src/component/album/edit/dialog.vue:107 src/page/albums.vue:411 +#: src/component/album/edit/dialog.vue:108 src/page/albums.vue:411 msgid "Description" msgstr "描述" -#: src/component/settings/webdav.vue:115 +#: src/component/settings/webdav.vue:116 msgid "Detailed instructions can be found in our User Guide." msgstr "詳細指示可以在用戶指南中找到。" -#: src/component/photo/edit/dialog.vue:156 -#: src/component/photo/edit/dialog.vue:173 +#: src/component/photo/edit/dialog.vue:162 +#: src/component/photo/edit/dialog.vue:181 msgid "Details" msgstr "細節" @@ -987,8 +1013,8 @@ msgstr "停用向量圖型支援。" msgid "Disables video transcoding and thumbnail extraction." msgstr "停用影像轉碼和縮圖擷取。" -#: src/app/routes.js:558 src/app/routes.js:565 src/app/routes.js:572 -#: src/app/routes.js:579 +#: src/app/routes.js:566 src/app/routes.js:573 src/app/routes.js:580 +#: src/app/routes.js:587 msgid "Discover" msgstr "發現" @@ -996,9 +1022,9 @@ msgstr "發現" msgid "Dismiss" msgstr "解僱" -#: src/component/user/add/dialog.vue:133 src/component/user/add/dialog.vue:134 -#: src/component/user/edit/dialog.vue:163 -#: src/component/user/edit/dialog.vue:164 src/page/admin/users.vue:72 +#: src/component/user/add/dialog.vue:134 src/component/user/add/dialog.vue:135 +#: src/component/user/edit/dialog.vue:164 +#: src/component/user/edit/dialog.vue:165 src/page/admin/users.vue:74 #: src/page/settings/account.vue:149 src/page/settings/account.vue:151 msgid "Display Name" msgstr "顯示名稱" @@ -1013,12 +1039,12 @@ msgstr "在搜尋結果中顯示圖片標題。" #: src/component/photo/view/cards.vue:339 #: src/component/photo/view/cards.vue:521 -#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:174 +#: src/component/photo/view/mosaic.vue:183 src/model/thumb.js:176 #: src/options/options.js:309 msgid "Document" msgstr "文件" -#: src/component/navigation.vue:480 +#: src/component/navigation.vue:482 msgid "Documents" msgstr "文件" @@ -1034,16 +1060,16 @@ msgstr "不要用ImageMagick来转换图像。" msgid "Don't use RawTherapee to convert RAW images." msgstr "不要使用 RawTherapee 來轉換 RAW 檔案。" -#: src/component/settings/apps.vue:238 src/component/share/dialog.vue:29 +#: src/component/settings/apps.vue:241 src/component/share/dialog.vue:29 msgid "Done" msgstr "完成" -#: src/component/upload/dialog.vue:135 src/page/library/import.vue:46 +#: src/component/upload/dialog.vue:137 src/page/library/import.vue:46 #: src/page/library/index.vue:52 msgid "Done." msgstr "完成。" -#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:118 +#: src/component/album/clipboard.vue:73 src/component/album/toolbar.vue:123 #: src/component/file/clipboard.vue:48 src/component/lightbox.vue:1235 #: src/component/people/clipboard.vue:47 src/component/photo/clipboard.vue:116 #: src/component/photo/edit/files.vue:168 src/page/settings/content.vue:331 @@ -1055,7 +1081,7 @@ msgstr "下載" msgid "Download only original media files, without any automatically generated files." msgstr "只下載原始的媒體檔,不會自動產生任何的檔案。" -#: src/component/service/edit.vue:237 +#: src/component/service/edit.vue:238 msgid "Download remote files" msgstr "下載遠端檔案" @@ -1063,9 +1089,9 @@ msgstr "下載遠端檔案" msgid "Download single files and zip archives." msgstr "下載單一檔案以及 zip 壓縮檔。" -#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:157 +#: src/component/album/clipboard.vue:104 src/component/album/toolbar.vue:172 #: src/component/file/clipboard.vue:61 src/component/label/clipboard.vue:86 -#: src/component/lightbox.vue:2021 src/component/people/clipboard.vue:59 +#: src/component/lightbox.vue:2041 src/component/people/clipboard.vue:59 #: src/component/photo/clipboard.vue:220 src/component/photo/edit/files.vue:119 #: src/component/photo/view/cards.vue:169 src/component/photo/view/list.vue:142 #: src/page/library/browse.vue:139 @@ -1080,7 +1106,7 @@ msgstr "縮小濾鏡" msgid "Drag and drop files here" msgstr "將文件拖放到此處" -#: src/page/about/feedback.vue:61 +#: src/page/about/feedback.vue:62 msgid "Due to the high volume of emails we receive, our team may be unable to get back to you immediately." msgstr "由於我們收到大量電子郵件,我們的團隊可能無法立即回覆您。" @@ -1100,23 +1126,23 @@ msgstr "動態預覽" msgid "Dynamic Size Limit: %{n}px" msgstr "動態大小限制:%{n} px" -#: src/page/about/feedback.vue:141 src/page/about/feedback.vue:140 +#: src/page/about/feedback.vue:142 src/page/about/feedback.vue:141 msgid "E-Mail" msgstr "電子郵件" -#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:89 +#: src/component/album/clipboard.vue:61 src/component/album/toolbar.vue:94 #: src/component/lightbox.vue:1136 src/component/lightbox.vue:1137 #: src/component/photo/clipboard.vue:90 src/page/settings/general.vue:407 msgid "Edit" msgstr "編輯" -#: src/component/album/edit/dialog.vue:54 -#: src/component/label/edit/dialog.vue:52 -#: src/component/people/edit/dialog.vue:52 +#: src/component/album/edit/dialog.vue:55 +#: src/component/label/edit/dialog.vue:53 +#: src/component/people/edit/dialog.vue:53 msgid "Edit %{s}" msgstr "編輯 %{s}" -#: src/component/user/edit/dialog.vue:61 src/component/service/edit.vue:79 +#: src/component/user/edit/dialog.vue:62 src/component/service/edit.vue:79 msgid "Edit Account" msgstr "編輯帳號" @@ -1128,8 +1154,8 @@ msgstr "編輯相片" msgid "Edited" msgstr "已編輯" -#: src/component/user/add/dialog.vue:151 src/component/user/edit/dialog.vue:213 -#: src/page/settings/account.vue:171 src/page/settings/account.vue:593 +#: src/component/user/add/dialog.vue:152 src/component/user/edit/dialog.vue:214 +#: src/page/settings/account.vue:171 src/page/settings/account.vue:599 msgid "Email" msgstr "電子郵件" @@ -1145,7 +1171,7 @@ msgstr "啟用可能不完整或不穩定的新功能。" msgid "Enables RAW converter presets. May reduce performance." msgstr "啟用 RAW 轉換器預設集。可能會降低性能。" -#: src/component/settings/passcode.vue:127 +#: src/component/settings/passcode.vue:130 msgid "Enabling two-factor authentication means that you will need a randomly generated verification code to log in, so even if someone gains access to your password, they will not be able to access your account." msgstr "啟用雙重認證意味著您將需要隨機生成的驗證碼才能登錄,因此即使有人獲得您的密碼,他們也無法存取您的帳戶。" @@ -1157,7 +1183,7 @@ msgstr "輸入日期" msgid "Enter dates" msgstr "輸入日期" -#: src/component/settings/passcode.vue:213 src/page/auth/login.vue:104 +#: src/component/settings/passcode.vue:216 src/page/auth/login.vue:104 msgid "Enter the code generated by your authenticator app:" msgstr "輸入您的身份驗證器應用程式產生的代碼:" @@ -1165,7 +1191,7 @@ msgstr "輸入您的身份驗證器應用程式產生的代碼:" msgid "Enter verification code" msgstr "輸入驗證碼" -#: src/component/settings/apps.vue:109 +#: src/component/settings/apps.vue:112 msgid "Enter your password to confirm the action and continue:" msgstr "輸入您的密碼以確認操作並繼續:" @@ -1174,7 +1200,7 @@ msgstr "輸入您的密碼以確認操作並繼續:" msgid "Error" msgstr "錯誤" -#: src/app/routes.js:374 src/component/navigation.vue:1348 +#: src/app/routes.js:382 src/component/navigation.vue:1372 msgid "Errors" msgstr "錯誤" @@ -1210,13 +1236,13 @@ msgstr "要完全支持视频、实时照片和 XMP,需要使用 ExifTool 提 msgid "Experimental Features" msgstr "測試功能" -#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:453 -#: src/component/service/edit.vue:157 src/component/settings/apps.vue:73 -#: src/component/settings/apps.vue:326 src/component/share/dialog.vue:62 +#: src/page/admin/sessions.vue:64 src/page/admin/sessions.vue:458 +#: src/component/service/edit.vue:158 src/component/settings/apps.vue:73 +#: src/component/settings/apps.vue:329 src/component/share/dialog.vue:62 msgid "Expires" msgstr "有效期限" -#: src/component/photo/edit/details.vue:396 +#: src/component/photo/edit/details.vue:370 msgid "Exposure" msgstr "曝光" @@ -1224,7 +1250,7 @@ msgstr "曝光" msgid "Extract still images and generate thumbnails while indexing." msgstr "提取靜態圖像並在索引時產生縮圖。" -#: src/component/photo/edit/details.vue:444 +#: src/component/photo/edit/details.vue:418 msgid "F Number" msgstr "F值" @@ -1240,7 +1266,7 @@ msgstr "臉" msgid "Failed removing link" msgstr "移除連結失敗" -#: src/page/connect.vue:106 src/page/connect.vue:110 +#: src/page/connect.vue:107 src/page/connect.vue:111 msgid "Failed to connect account." msgstr "無法連接帳戶。" @@ -1248,8 +1274,8 @@ msgstr "無法連接帳戶。" msgid "Failed updating link" msgstr "更新連結失敗" -#: src/component/user/edit/dialog.vue:143 -#: src/component/user/edit/dialog.vue:144 src/page/settings/account.vue:128 +#: src/component/user/edit/dialog.vue:144 +#: src/component/user/edit/dialog.vue:145 src/page/settings/account.vue:128 #: src/page/settings/account.vue:130 msgid "Family Name" msgstr "姓氏" @@ -1258,15 +1284,15 @@ msgstr "姓氏" msgid "Fast" msgstr "快" -#: src/component/album/edit/dialog.vue:159 -#: src/component/label/edit/dialog.vue:85 -#: src/component/people/edit/dialog.vue:85 +#: src/component/album/edit/dialog.vue:160 +#: src/component/label/edit/dialog.vue:86 +#: src/component/people/edit/dialog.vue:86 #: src/component/photo/edit/info.vue:287 msgid "Favorite" msgstr "我的最愛" -#: src/app/routes.js:222 src/component/navigation.vue:893 -#: src/options/options.js:202 src/page/albums.vue:97 +#: src/app/routes.js:230 src/component/navigation.vue:903 +#: src/options/options.js:202 src/page/albums.vue:98 msgid "Favorites" msgstr "我的最愛" @@ -1274,7 +1300,7 @@ msgstr "我的最愛" msgid "Feature Request" msgstr "功能要求" -#: src/component/navigation.vue:1456 +#: src/component/navigation.vue:1482 msgid "Feedback" msgstr "回饋" @@ -1282,11 +1308,12 @@ msgstr "回饋" msgid "Female" msgstr "女性" -#: src/component/photo/edit/info.vue:214 src/model/file.js:290 +#: src/component/photo/edit/info.vue:57 src/component/photo/edit/info.vue:214 +#: src/model/file.js:290 msgid "File" msgstr "檔案" -#: src/app/routes.js:343 +#: src/app/routes.js:351 msgid "File Browser" msgstr "檔案瀏覽器" @@ -1309,8 +1336,8 @@ msgstr "檔案大小" msgid "Filename" msgstr "檔案名稱" -#: src/component/navigation.vue:1930 src/component/photo/edit/dialog.vue:267 -#: src/component/photo/edit/dialog.vue:284 +#: src/component/navigation.vue:1973 src/component/photo/edit/dialog.vue:279 +#: src/component/photo/edit/dialog.vue:298 msgid "Files" msgstr "檔案" @@ -1322,26 +1349,26 @@ msgstr "連續檔名例如 'IMG_1234 (2)' 及 'IMG_1234 (3)' 會被當作同一 msgid "First page" msgstr "第一頁" -#: src/component/photo/edit/details.vue:465 +#: src/component/photo/edit/details.vue:439 msgid "Focal Length" msgstr "焦距" -#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:118 -#: src/component/service/edit.vue:189 src/component/service/edit.vue:194 -#: src/component/service/upload.vue:90 src/component/service/upload.vue:96 +#: src/component/photo/edit/info.vue:115 src/component/service/edit.vue:119 +#: src/component/service/edit.vue:190 src/component/service/edit.vue:195 +#: src/component/service/upload.vue:91 src/component/service/upload.vue:97 #: src/model/folder.js:199 src/page/library/browse.vue:182 msgid "Folder" msgstr "資料夾" -#: src/page/library/browse.vue:365 +#: src/page/library/browse.vue:367 msgid "Folder contains %{n} files" msgstr "資料夾中有 %{n} 個檔案" -#: src/page/library/browse.vue:356 +#: src/page/library/browse.vue:358 msgid "Folder is empty" msgstr "資料夾是空的" -#: src/app/routes.js:202 src/component/navigation.vue:1225 +#: src/app/routes.js:210 src/component/navigation.vue:1247 #: src/options/options.js:207 msgid "Folders" msgstr "資料夾" @@ -1358,7 +1385,7 @@ msgstr "FPS" msgid "Frames" msgstr "框架" -#: src/options/auth.js:54 src/options/auth.js:64 +#: src/options/auth.js:55 src/options/auth.js:65 msgid "Full Access" msgstr "完全存取權限" @@ -1370,7 +1397,7 @@ msgstr "全螢幕" msgid "General" msgstr "一般" -#: src/component/settings/apps.vue:364 +#: src/component/settings/apps.vue:367 msgid "Generate" msgstr "產生" @@ -1390,8 +1417,8 @@ msgstr "產生" msgid "Get Started" msgstr "立即開始" -#: src/component/user/edit/dialog.vue:120 -#: src/component/user/edit/dialog.vue:121 src/page/settings/account.vue:106 +#: src/component/user/edit/dialog.vue:121 +#: src/component/user/edit/dialog.vue:122 src/page/settings/account.vue:106 #: src/page/settings/account.vue:108 msgid "Given Name" msgstr "名字" @@ -1416,7 +1443,7 @@ msgstr "綠色" msgid "Grey" msgstr "灰色" -#: src/options/admin.js:22 src/options/auth.js:10 +#: src/options/admin.js:26 src/options/auth.js:11 msgid "Guest" msgstr "來賓" @@ -1432,15 +1459,15 @@ msgstr "支援" msgid "Help & Support" msgstr "支援與幫助" -#: src/component/navigation.vue:1327 src/component/people/edit/dialog.vue:98 +#: src/component/navigation.vue:1351 src/component/people/edit/dialog.vue:99 msgid "Hidden" msgstr "隱藏" -#: src/app/routes.js:358 +#: src/app/routes.js:366 msgid "Hidden Files" msgstr "隱藏的檔案" -#: src/page/people/new.vue:165 src/page/people/recognized.vue:205 +#: src/page/people/new.vue:166 src/page/people/recognized.vue:206 msgid "Hide" msgstr "隱藏" @@ -1456,7 +1483,7 @@ msgstr "高" msgid "High Dynamic Range (HDR)" msgstr "高動態範圍 (HDR)" -#: src/page/about/feedback.vue:103 +#: src/page/about/feedback.vue:104 msgid "How can we help?" msgstr "我們可以幫你什麼?" @@ -1464,11 +1491,11 @@ msgstr "我們可以幫你什麼?" msgid "Hybrid" msgstr "雜種" -#: src/component/settings/passcode.vue:389 +#: src/component/settings/passcode.vue:392 msgid "If you lose access to your authenticator app or device, you can use your recovery code to regain access to your account." msgstr "如果您失去了對身份驗證器應用程式或裝置的存取權限,您可以使用復原代碼來重新獲得對帳戶的存取權限。" -#: src/component/photo/edit/info.vue:63 src/component/photo/edit/labels.vue:46 +#: src/component/photo/edit/info.vue:65 src/component/photo/edit/labels.vue:46 #: src/component/photo/view/cards.vue:532 src/model/file.js:218 #: src/options/options.js:281 msgid "Image" @@ -1478,7 +1505,7 @@ msgstr "圖片" msgid "Image Quality" msgstr "影像品質" -#: src/page/library.vue:46 src/page/library/import.vue:152 +#: src/page/library.vue:46 src/page/library/import.vue:153 #: src/page/settings/general.vue:357 msgid "Import" msgstr "匯入" @@ -1503,8 +1530,8 @@ msgstr "匯入 %{s} 中…" msgid "Importing files to originals…" msgstr "匯入檔案到「originals」…" -#: src/component/photo/edit/files.vue:515 -#: src/component/photo/edit/files.vue:520 +#: src/component/photo/edit/files.vue:517 +#: src/component/photo/edit/files.vue:522 msgid "in" msgstr "在" @@ -1522,11 +1549,11 @@ msgstr "在下載堆疊和封存時包含 RAW 圖像一起。" msgid "Include sidecar files when downloading stacks and archives." msgstr "在下載堆疊和封存時包含 sidecar 檔案一起。" -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Increase storage size or delete files to continue." msgstr "增加儲存大小或刪除檔案以繼續。" -#: src/component/navigation.vue:1946 src/page/library.vue:36 +#: src/component/navigation.vue:1990 src/page/library.vue:36 #: src/page/settings/content.vue:34 msgid "Index" msgstr "索引" @@ -1556,11 +1583,11 @@ msgstr "資訊" msgid "Instance ID" msgstr "實例 ID" -#: src/component/upload/dialog.vue:137 src/page/library/import.vue:48 +#: src/component/upload/dialog.vue:139 src/page/library/import.vue:48 msgid "Insufficient storage." msgstr "儲存空間不足" -#: src/component/service/edit.vue:209 +#: src/component/service/edit.vue:210 msgid "Interval" msgstr "間隔" @@ -1581,7 +1608,7 @@ msgstr "地址無效" msgid "Invalid country" msgstr "無效國家" -#: src/component/photo/edit/details.vue:174 +#: src/component/photo/edit/details.vue:169 msgid "Invalid date" msgstr "無效的日期" @@ -1590,7 +1617,7 @@ msgstr "無效的日期" msgid "Invalid parameters" msgstr "無效的參數" -#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:197 +#: src/component/photo/edit/dialog.vue:194 src/model/thumb.js:199 msgid "Invalid photo selected" msgstr "選擇的照片無效" @@ -1602,8 +1629,8 @@ msgstr "時間無效" msgid "Invalid URL" msgstr "無效網址" -#: src/component/settings/passcode.vue:314 -#: src/component/settings/passcode.vue:391 +#: src/component/settings/passcode.vue:317 +#: src/component/settings/passcode.vue:394 msgid "It is a one-time use code that will disable 2FA for your account when you use it." msgstr "這是一個一次性使用代碼,當您使用它時,它將停用您帳戶的 2FA。" @@ -1627,7 +1654,7 @@ msgstr "JPEG大小限制:%{n} px" msgid "JPEGs and thumbnails are automatically rendered as needed." msgstr "JPEGs 跟 縮圖 在需要的時候會自動生成。" -#: src/component/photo/edit/details.vue:581 +#: src/component/photo/edit/details.vue:555 msgid "Keywords" msgstr "關鍵字" @@ -1636,9 +1663,9 @@ msgstr "關鍵字" msgid "Label" msgstr "標籤" -#: src/app/routes.js:389 src/component/navigation.vue:1177 -#: src/component/photo/edit/dialog.vue:188 -#: src/component/photo/edit/dialog.vue:205 src/options/options.js:206 +#: src/app/routes.js:397 src/component/navigation.vue:1197 +#: src/component/photo/edit/dialog.vue:196 +#: src/component/photo/edit/dialog.vue:215 src/options/options.js:206 #: src/page/settings/general.vue:255 msgid "Labels" msgstr "標籤" @@ -1655,11 +1682,11 @@ msgstr "Lanczos:保留細節,減少偽像" msgid "Language" msgstr "語言" -#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:435 +#: src/page/admin/sessions.vue:63 src/page/admin/sessions.vue:440 msgid "Last Active" msgstr "最近一次活動" -#: src/page/admin/users.vue:81 +#: src/page/admin/users.vue:83 msgid "Last Login" msgstr "最後一次登入" @@ -1675,42 +1702,41 @@ msgstr "上次同步" msgid "Last Used" msgstr "最後使用" -#: src/component/photo/edit/details.vue:298 #: src/component/photo/edit/info.vue:373 msgid "Latitude" msgstr "緯度" -#: src/options/admin.js:43 src/options/auth.js:29 +#: src/options/admin.js:47 src/options/auth.js:30 msgid "LDAP/AD" msgstr "LDAP/AD" -#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:86 -#: src/page/about/about.vue:62 src/page/about/about.vue:132 +#: src/page/connect.vue:66 src/component/confirm/sponsor.vue:87 +#: src/page/about/about.vue:62 src/page/about/about.vue:133 #: src/page/connect.vue:67 src/page/help.vue:36 msgid "Learn more" msgstr "了解更多" -#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:135 +#: src/page/admin/sessions.vue:110 src/page/admin/users.vue:137 #: src/page/labels.vue:132 msgid "Learn More" msgstr "了解更多" -#: src/component/navigation.vue:2017 +#: src/component/navigation.vue:2066 msgid "Legal Information" msgstr "法律資訊" -#: src/component/photo/edit/details.vue:417 +#: src/component/photo/edit/details.vue:391 #: src/component/photo/view/cards.vue:480 msgid "Lens" msgstr "鏡頭" -#: src/app/routes.js:443 src/app/routes.js:459 src/app/routes.js:475 -#: src/component/navigation.vue:1267 src/page/settings/general.vue:507 +#: src/app/routes.js:451 src/app/routes.js:467 src/app/routes.js:483 +#: src/component/navigation.vue:1290 src/page/settings/general.vue:507 msgid "Library" msgstr "收藏庫" #: src/page/connect.vue:45 src/app/routes.js:69 -#: src/component/navigation.vue:1478 src/component/photo/edit/details.vue:559 +#: src/component/navigation.vue:1504 src/component/photo/edit/details.vue:533 #: src/page/about/license.vue:28 msgid "License" msgstr "授權" @@ -1723,7 +1749,7 @@ msgstr "喜歡" msgid "Lime" msgstr "萊姆色" -#: src/page/library/browse.vue:369 +#: src/page/library/browse.vue:371 msgid "Limit reached, showing first %{n} files" msgstr "到達上限,顯示前 %{n} 個檔案" @@ -1731,7 +1757,7 @@ msgstr "到達上限,顯示前 %{n} 個檔案" msgid "Linear: Very Smooth, Best Performance" msgstr "線性:非常平滑,最佳性能" -#: src/model/link.js:117 src/options/auth.js:30 src/options/auth.js:31 +#: src/model/link.js:117 src/options/auth.js:31 src/options/auth.js:32 msgid "Link" msgstr "連結" @@ -1749,7 +1775,7 @@ msgstr "清單視圖" msgid "Live" msgstr "即時" -#: src/app/routes.js:236 src/component/navigation.vue:749 +#: src/app/routes.js:244 src/component/navigation.vue:755 msgid "Live Photos" msgstr "原況照片" @@ -1765,21 +1791,24 @@ msgstr "正在加載項目..." msgid "Loading..." msgstr "載入中..." -#: src/options/admin.js:35 src/options/auth.js:22 src/options/auth.js:27 +#: src/options/admin.js:39 src/options/auth.js:23 src/options/auth.js:28 #: src/options/options.js:38 src/page/settings/general.vue:107 msgid "Local" msgstr "当地" -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Local Time" msgstr "本地時間" -#: src/page/settings/account.vue:665 src/page/settings/account.vue:667 -#: src/component/album/edit/dialog.vue:92 src/component/photo/edit/info.vue:65 -#: src/component/photo/edit/labels.vue:48 +#: src/page/settings/account.vue:671 src/page/settings/account.vue:673 +#: src/component/album/edit/dialog.vue:93 +#: src/component/photo/edit/details.vue:38 +#: src/component/photo/edit/details.vue:116 +#: src/component/photo/edit/details.vue:210 +#: src/component/photo/edit/info.vue:67 src/component/photo/edit/labels.vue:48 #: src/component/photo/view/cards.vue:555 src/component/photo/view/list.vue:117 -#: src/component/sidebar/info.vue:107 src/page/albums.vue:99 -#: src/page/settings/account.vue:557 src/page/settings/account.vue:559 +#: src/component/sidebar/info.vue:107 src/page/albums.vue:100 +#: src/page/settings/account.vue:563 src/page/settings/account.vue:565 msgid "Location" msgstr "地點" @@ -1787,20 +1816,19 @@ msgstr "地點" msgid "Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues." msgstr "日誌訊息會在PhotoPrism遇到損毀的檔案,或是其他問題出現時出現。" -#: src/component/navigation.vue:1552 src/component/navigation.vue:1840 +#: src/component/navigation.vue:1579 src/component/navigation.vue:1877 msgid "Login" msgstr "登入" -#: src/component/navigation.vue:1759 +#: src/component/navigation.vue:1791 msgid "Logout" msgstr "登出" -#: src/component/navigation.vue:1962 src/page/library.vue:59 +#: src/component/navigation.vue:2007 src/page/library.vue:59 #: src/page/settings/general.vue:557 msgid "Logs" msgstr "日誌" -#: src/component/photo/edit/details.vue:324 #: src/component/photo/edit/info.vue:379 msgid "Longitude" msgstr "經度" @@ -1813,7 +1841,7 @@ msgstr "低" msgid "Magenta" msgstr "洋紅" -#: src/component/photo/edit/files.vue:489 +#: src/component/photo/edit/files.vue:491 msgid "Main Color" msgstr "主要顏色" @@ -1821,12 +1849,16 @@ msgstr "主要顏色" msgid "Male" msgstr "男性" -#: src/page/connect.vue:164 src/page/connect.vue:246 -#: src/page/about/about.vue:171 src/page/connect.vue:168 -#: src/page/connect.vue:255 +#: src/page/connect.vue:165 src/page/connect.vue:248 +#: src/page/about/about.vue:173 src/page/connect.vue:169 +#: src/page/connect.vue:257 msgid "Manage Account" msgstr "管理帳號" +#: src/options/admin.js:10 src/options/auth.js:7 +msgid "Manager" +msgstr "主管" + #: src/component/photo/edit/info.vue:49 src/component/photo/edit/labels.vue:38 msgid "Manual" msgstr "手動的" @@ -1843,11 +1875,11 @@ msgstr "地圖" msgid "Marker" msgstr "標記" -#: src/component/user/add/dialog.vue:69 +#: src/component/user/add/dialog.vue:70 msgid "Maximum number of accounts has been reached." msgstr "已達最大帳戶數。" -#: src/app/routes.js:229 src/component/navigation.vue:688 +#: src/app/routes.js:237 src/component/navigation.vue:693 #: src/options/options.js:199 msgid "Media" msgstr "媒體" @@ -1864,7 +1896,7 @@ msgstr "會員資格" msgid "Merge %{a} with %{b}?" msgstr "將 %{a} 與 %{b} 合併?" -#: src/page/about/feedback.vue:102 +#: src/page/about/feedback.vue:103 msgid "Message" msgstr "訊息" @@ -1876,7 +1908,7 @@ msgstr "訊息已傳送" msgid "Metadata" msgstr "元数据" -#: src/options/auth.js:56 src/options/auth.js:72 +#: src/options/auth.js:57 src/options/auth.js:73 msgid "Metrics" msgstr "指標" @@ -1884,7 +1916,7 @@ msgstr "指標" msgid "Minimize" msgstr "最小化" -#: src/component/photo/edit/files.vue:509 src/component/photo/edit/info.vue:367 +#: src/component/photo/edit/files.vue:511 src/component/photo/edit/info.vue:367 msgid "Missing" msgstr "缺少" @@ -1892,17 +1924,17 @@ msgstr "缺少" msgid "Missing or invalid configuration" msgstr "配置缺失或无效" -#: src/app/routes.js:163 src/component/navigation.vue:1129 +#: src/app/routes.js:171 src/component/navigation.vue:1147 #: src/options/options.js:205 src/page/settings/general.vue:230 msgid "Moments" msgstr "回憶時刻" -#: src/component/navigation.vue:383 +#: src/component/navigation.vue:385 msgid "Monochrome" msgstr "黑白" -#: src/page/settings/account.vue:475 src/component/photo/edit/details.vue:137 -#: src/component/photo/toolbar.vue:342 +#: src/page/settings/account.vue:481 src/component/photo/edit/details.vue:139 +#: src/component/photo/toolbar.vue:344 msgid "Month" msgstr "月" @@ -1922,7 +1954,7 @@ msgstr "最相關的" msgid "Move Files" msgstr "移動檔案" -#: src/component/settings/password.vue:107 +#: src/component/settings/password.vue:108 msgid "Must have at least %{n} characters." msgstr "必須至少有 %{n} 個字元。" @@ -1930,20 +1962,20 @@ msgstr "必須至少有 %{n} 個字元。" msgid "Mute" msgstr "沉默的" -#: src/page/about/feedback.vue:121 src/page/about/feedback.vue:122 -#: src/component/album/edit/dialog.vue:77 -#: src/component/label/edit/dialog.vue:71 -#: src/component/people/edit/dialog.vue:71 -#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:57 +#: src/page/about/feedback.vue:122 src/page/about/feedback.vue:123 +#: src/component/album/edit/dialog.vue:78 +#: src/component/label/edit/dialog.vue:72 +#: src/component/people/edit/dialog.vue:72 +#: src/component/photo/edit/files.vue:41 src/component/photo/edit/info.vue:59 #: src/component/photo/edit/info.vue:125 src/component/photo/edit/people.vue:36 -#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:310 -#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:286 -#: src/page/albums.vue:98 src/page/auth/login.vue:168 +#: src/component/photo/view/list.vue:117 src/component/service/edit.vue:311 +#: src/component/settings/apps.vue:53 src/component/settings/apps.vue:289 +#: src/page/albums.vue:99 src/page/auth/login.vue:168 #: src/page/people/new.vue:68 src/page/settings/services.vue:37 msgid "Name" msgstr "名稱" -#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:60 +#: src/component/album/edit/dialog.vue:35 src/component/album/toolbar.vue:65 #: src/component/label/edit/dialog.vue:19 #: src/component/people/edit/dialog.vue:19 #: src/component/photo/edit/labels.vue:30 @@ -1953,7 +1985,7 @@ msgstr "名稱" msgid "Name too long" msgstr "名稱太長了" -#: src/page/admin/users.vue:204 src/options/options.js:361 +#: src/page/admin/users.vue:206 src/options/options.js:361 #: src/options/options.js:371 src/page/settings/services.vue:75 msgid "Never" msgstr "永不" @@ -1962,13 +1994,13 @@ msgstr "永不" msgid "New" msgstr "新" -#: src/component/settings/password.vue:106 +#: src/component/settings/password.vue:107 msgid "New Password" msgstr "新密碼" #: src/component/album/edit/dialog.vue:24 src/component/photo/toolbar.vue:114 #: src/component/photo/toolbar.vue:126 src/component/photo/toolbar.vue:136 -#: src/page/albums.vue:100 +#: src/page/albums.vue:101 msgid "Newest First" msgstr "按最新優先" @@ -1984,15 +2016,15 @@ msgstr "下一頁" msgid "Next visual" msgstr "下一個視覺效果" -#: src/component/people/merge/dialog.vue:47 -#: src/component/photo/archive/dialog.vue:47 +#: src/component/people/merge/dialog.vue:48 +#: src/component/photo/archive/dialog.vue:48 #: src/component/photo/edit/info.vue:281 src/component/photo/edit/info.vue:297 #: src/component/photo/edit/info.vue:313 src/component/photo/edit/info.vue:329 #: src/component/photo/edit/info.vue:344 msgid "No" msgstr "否" -#: src/page/albums.vue:607 src/page/albums.vue:282 +#: src/page/albums.vue:612 src/page/albums.vue:282 msgid "No albums found" msgstr "找不到相簿" @@ -2000,7 +2032,7 @@ msgstr "找不到相簿" msgid "No data available" msgstr "無可用數據" -#: src/page/labels.vue:523 src/page/labels.vue:155 +#: src/page/labels.vue:528 src/page/labels.vue:155 msgid "No labels found" msgstr "找不到標籤" @@ -2013,15 +2045,15 @@ msgid "No more" msgstr "不再" #: src/component/photo/edit/people.vue:34 src/page/people/new.vue:346 -#: src/page/people/new.vue:443 src/page/people/new.vue:103 -#: src/page/people/recognized.vue:531 src/page/people/recognized.vue:146 +#: src/page/people/new.vue:446 src/page/people/new.vue:103 +#: src/page/people/recognized.vue:536 src/page/people/recognized.vue:146 msgid "No people found" msgstr "找不到人" #: src/component/lightbox.vue:365 src/component/photo/view/cards.vue:144 #: src/component/photo/view/list.vue:82 src/component/photo/view/mosaic.vue:68 -#: src/page/album/photos.vue:488 src/page/library/browse.vue:123 -#: src/page/photos.vue:626 src/page/places.vue:624 src/page/places.vue:730 +#: src/page/album/photos.vue:499 src/page/library/browse.vue:123 +#: src/page/photos.vue:636 src/page/places.vue:624 src/page/places.vue:730 msgid "No pictures found" msgstr "找不到圖片" @@ -2030,7 +2062,11 @@ msgstr "找不到圖片" msgid "No recently edited pictures" msgstr "沒有最近編輯的圖片" -#: src/component/navigation.vue:1655 +#: src/component/location/dialog.vue:166 +msgid "No results" +msgstr "找不到結果" + +#: src/component/navigation.vue:1686 msgid "No server connection" msgstr "沒有伺服器連接" @@ -2042,7 +2078,7 @@ msgstr "沒有設定好的伺服器。" msgid "No services configured." msgstr "沒有設定服務。" -#: src/component/confirm/sponsor.vue:72 +#: src/component/confirm/sponsor.vue:73 msgid "No thanks" msgstr "不用了,謝謝" @@ -2052,17 +2088,17 @@ msgstr "沒有包含此關鍵字的警告或錯誤。請注意,搜尋區分大 #: src/component/photo/view/cards.vue:154 src/component/photo/view/list.vue:59 #: src/component/photo/view/list.vue:92 src/component/photo/view/mosaic.vue:78 -#: src/component/upload/dialog.vue:208 +#: src/component/upload/dialog.vue:210 msgid "Non-photographic and low-quality images require a review before they appear in search results." msgstr "非照片和低品質圖像需要進行手動確認,才會出現在搜尋結果中。" -#: src/options/admin.js:47 src/options/auth.js:32 src/options/options.js:212 +#: src/options/admin.js:51 src/options/auth.js:33 src/options/options.js:212 #: src/options/options.js:328 msgid "None" msgstr "無" -#: src/common/util.js:853 src/component/lightbox.vue:633 -#: src/component/service/upload.vue:75 src/component/service/upload.vue:87 +#: src/component/lightbox.vue:633 src/component/service/upload.vue:75 +#: src/component/service/upload.vue:87 msgid "Not allowed" msgstr "不允許" @@ -2074,8 +2110,7 @@ msgstr "未找到" msgid "Not sorted." msgstr "沒有排序。" -#: src/common/util.js:858 src/component/lightbox.vue:627 -#: src/component/lightbox.vue:744 +#: src/component/lightbox.vue:627 src/component/lightbox.vue:744 msgid "Not supported" msgstr "不支援" @@ -2083,15 +2118,15 @@ msgstr "不支援" msgid "Note you may manually manage your originals folder and importing is optional." msgstr "請注意,您可以手動管理「originals」資料夾,而匯入是選用的。" -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "Note:" msgstr "注意:" -#: src/component/service/add.vue:120 +#: src/component/service/add.vue:121 msgid "Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload." msgstr "注意:只能將 WebDAV 伺服器(如Nextcloud或PhotoPrism)設定為遠端服務,以進行備份和檔案上傳。" -#: src/component/photo/edit/details.vue:603 +#: src/component/photo/edit/details.vue:577 msgid "Notes" msgstr "備註" @@ -2099,8 +2134,8 @@ msgstr "備註" msgid "Nothing to see here yet." msgstr "這裡什麼都沒有。" -#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:115 -#: src/component/settings/apps.vue:390 +#: src/page/admin/sessions.vue:116 src/page/admin/users.vue:125 +#: src/component/settings/apps.vue:393 msgid "Nothing was found." msgstr "什麼都沒有找到。" @@ -2108,7 +2143,7 @@ msgstr "什麼都沒有找到。" msgid "Offline" msgstr "離線" -#: src/options/admin.js:39 src/options/auth.js:28 +#: src/options/admin.js:43 src/options/auth.js:29 msgid "OIDC" msgstr "開放式資料中心" @@ -2118,11 +2153,11 @@ msgstr "好的" #: src/component/album/edit/dialog.vue:25 src/component/photo/toolbar.vue:115 #: src/component/photo/toolbar.vue:127 src/component/photo/toolbar.vue:137 -#: src/page/albums.vue:101 +#: src/page/albums.vue:102 msgid "Oldest First" msgstr "最舊優先" -#: src/component/settings/webdav.vue:77 +#: src/component/settings/webdav.vue:78 msgid "On Windows, enter the following resource in the connection dialog:" msgstr "在 Windows 上,於連接對話框中輸入以下資訊:" @@ -2134,11 +2169,11 @@ msgstr "按需生成缩略图可能会导致较高的 CPU 和内存使用率。 msgid "Once a week" msgstr "一周一次" -#: src/page/albums.vue:609 +#: src/page/albums.vue:614 msgid "One album found" msgstr "找到 1 本相簿" -#: src/page/library/browse.vue:358 +#: src/page/library/browse.vue:360 msgid "One file found" msgstr "找到 1 個檔案" @@ -2146,24 +2181,24 @@ msgstr "找到 1 個檔案" msgid "One file uploaded" msgstr "已上傳一個檔案" -#: src/page/library/browse.vue:360 +#: src/page/library/browse.vue:362 msgid "One folder found" msgstr "找到 1 個資料夾" -#: src/page/labels.vue:525 +#: src/page/labels.vue:530 msgid "One label found" msgstr "找到一個標籤" -#: src/page/people/new.vue:348 src/page/people/new.vue:445 -#: src/page/people/recognized.vue:533 +#: src/page/people/new.vue:348 src/page/people/new.vue:448 +#: src/page/people/recognized.vue:538 msgid "One person found" msgstr "找到一個人" -#: src/page/album/photos.vue:490 src/page/photos.vue:628 +#: src/page/album/photos.vue:501 src/page/photos.vue:638 msgid "One picture found" msgstr "找到一張圖片" -#: src/component/settings/passcode.vue:478 +#: src/component/settings/passcode.vue:481 msgid "Only locally managed accounts can be set up for authentication with 2FA." msgstr "只能設定本機管理的帳戶以使用 2FA 進行身份驗證。" @@ -2171,7 +2206,7 @@ msgstr "只能設定本機管理的帳戶以使用 2FA 進行身份驗證。" msgid "Open" msgstr "开放" -#: src/component/service/add.vue:86 src/component/service/add.vue:107 +#: src/component/service/add.vue:87 src/component/service/add.vue:108 msgid "optional" msgstr "選修的" @@ -2183,7 +2218,7 @@ msgstr "或者" msgid "Orange" msgstr "橘色" -#: src/page/settings/account.vue:571 src/page/settings/account.vue:573 +#: src/page/settings/account.vue:577 src/page/settings/account.vue:579 msgid "Organization" msgstr "組織" @@ -2199,7 +2234,7 @@ msgstr "來源檔案名稱會被儲存及索引。" msgid "Original Name" msgstr "原始名稱" -#: src/component/navigation.vue:1304 src/model/file.js:196 +#: src/component/navigation.vue:1328 src/model/file.js:196 #: src/options/options.js:413 src/page/library/browse.vue:65 #: src/page/settings/content.vue:356 src/page/settings/general.vue:532 msgid "Originals" @@ -2210,7 +2245,7 @@ msgstr "來源" msgid "Other" msgstr "其他" -#: src/page/about/about.vue:77 src/page/about/about.vue:83 +#: src/page/about/about.vue:78 src/page/about/about.vue:84 msgid "Our mission is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible." msgstr "我們的使命是提供對用戶和隱私最友好的解決方案,以使您的照片井井有條且易於訪問。" @@ -2222,7 +2257,7 @@ msgstr "外出" msgid "Page {0}, Current page" msgstr "第 {0} 頁,目前頁" -#: src/component/photo/edit/files.vue:352 src/model/photo.js:859 +#: src/component/photo/edit/files.vue:352 src/model/photo.js:896 msgid "Pages" msgstr "頁面" @@ -2234,15 +2269,15 @@ msgstr "分頁導航" msgid "Panorama" msgstr "全景照片" -#: src/component/navigation.vue:402 +#: src/component/navigation.vue:404 msgid "Panoramas" msgstr "全景照片" -#: src/component/user/add/dialog.vue:114 src/component/user/add/dialog.vue:115 -#: src/component/service/add.vue:106 src/component/service/edit.vue:352 -#: src/component/settings/apps.vue:121 src/component/settings/passcode.vue:106 -#: src/component/settings/passcode.vue:413 src/component/share/dialog.vue:27 -#: src/options/auth.js:91 src/page/auth/login.vue:196 +#: src/component/user/add/dialog.vue:115 src/component/user/add/dialog.vue:116 +#: src/component/service/add.vue:107 src/component/service/edit.vue:353 +#: src/component/settings/apps.vue:124 src/component/settings/passcode.vue:109 +#: src/component/settings/passcode.vue:416 src/component/share/dialog.vue:27 +#: src/options/auth.js:92 src/page/auth/login.vue:196 msgid "Password" msgstr "密碼" @@ -2250,9 +2285,9 @@ msgstr "密碼" msgid "Password changed" msgstr "密碼已更改" -#: src/app/routes.js:404 src/app/routes.js:428 src/component/navigation.vue:845 -#: src/component/navigation.vue:1898 src/component/photo/edit/dialog.vue:228 -#: src/component/photo/edit/dialog.vue:245 src/options/options.js:201 +#: src/app/routes.js:412 src/app/routes.js:436 src/component/navigation.vue:853 +#: src/component/navigation.vue:1939 src/component/photo/edit/dialog.vue:238 +#: src/component/photo/edit/dialog.vue:257 src/options/options.js:201 #: src/page/settings/general.vue:180 msgid "People" msgstr "人" @@ -2273,23 +2308,23 @@ msgstr "永久刪除檔案以釋放儲存空間。" msgid "Person" msgstr "人" -#: src/options/auth.js:42 +#: src/options/auth.js:43 msgid "Personal" msgstr "个人" -#: src/model/photo.js:1273 +#: src/model/photo.js:1310 msgid "Photo" msgstr "相片" -#: src/page/about/about.vue:156 +#: src/page/about/about.vue:158 msgid "PhotoPrism is 100% self-funded and independent." msgstr "PhotoPrism 是獨立而且100%自籌資金的。" -#: src/page/about/about.vue:92 +#: src/page/about/about.vue:93 msgid "PhotoPrism+ Membership" msgstr "PhotoPrism+ 會員資格" -#: src/app/routes.js:156 +#: src/app/routes.js:164 msgid "Photos" msgstr "照片" @@ -2310,27 +2345,27 @@ msgstr "地點" msgid "Place & Time" msgstr "地點與時間" -#: src/app/routes.js:303 src/app/routes.js:309 src/app/routes.js:315 -#: src/app/routes.js:330 src/component/navigation.vue:986 -#: src/component/navigation.vue:1914 src/options/options.js:203 +#: src/app/routes.js:311 src/app/routes.js:317 src/app/routes.js:323 +#: src/app/routes.js:338 src/component/navigation.vue:999 +#: src/component/navigation.vue:1956 src/options/options.js:203 #: src/page/places.vue:51 src/page/settings/general.vue:609 #: src/page/settings/general.vue:638 msgid "Places" msgstr "地點" -#: src/component/settings/password.vue:129 +#: src/component/settings/password.vue:130 msgid "Please confirm your new password." msgstr "請確認你的新密碼。" -#: src/component/settings/apps.vue:185 +#: src/component/settings/apps.vue:188 msgid "Please copy the following randomly generated app password and keep it in a safe place, as you will not be able to see it again:" msgstr "請複製以下隨機產生的應用程式密碼並將其保存在安全的地方,因為您將無法再次看到它:" -#: src/component/upload/dialog.vue:203 +#: src/component/upload/dialog.vue:205 msgid "Please do not upload any private, unlawful or offensive pictures." msgstr "请勿上传任何私人、非法或攻击性图片。" -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Please don't upload photos containing offensive content." msgstr "請不要上傳包含冒犯性內容的照片。" @@ -2338,11 +2373,11 @@ msgstr "請不要上傳包含冒犯性內容的照片。" msgid "Please enter OTP character {0}" msgstr "請輸入一次性密碼字元 {0}" -#: src/component/settings/password.vue:66 +#: src/component/settings/password.vue:67 msgid "Please note that changing your password will log you out on other devices and browsers." msgstr "請注意,更改密碼將使您在其他裝置和瀏覽器上登出。" -#: src/page/connect.vue:148 src/page/connect.vue:152 +#: src/page/connect.vue:149 src/page/connect.vue:153 msgid "Please restart your instance for the changes to take effect." msgstr "請重新啟動您的執行個體以使變更生效。" @@ -2362,11 +2397,11 @@ msgstr "PNG大小限制:%{n} px" msgid "Portrait" msgstr "人像" -#: src/component/service/edit.vue:273 +#: src/component/service/edit.vue:274 msgid "Preserve filenames" msgstr "保留檔案名稱" -#: src/component/upload/dialog.vue:162 +#: src/component/upload/dialog.vue:164 msgid "Press enter to create a new album." msgstr "按下按鈕以新增相簿。" @@ -2403,8 +2438,8 @@ msgstr "之前的視覺效果" msgid "Primary" msgstr "主要的" -#: src/app/routes.js:271 src/component/album/edit/dialog.vue:176 -#: src/component/navigation.vue:531 src/component/photo/edit/info.vue:303 +#: src/app/routes.js:279 src/component/album/edit/dialog.vue:177 +#: src/component/navigation.vue:533 src/component/photo/edit/info.vue:303 #: src/page/settings/general.vue:280 msgid "Private" msgstr "私人的" @@ -2429,7 +2464,7 @@ msgstr "品質過濾" msgid "Quality Score" msgstr "品質成績" -#: src/page/admin/users.vue:169 +#: src/page/admin/users.vue:171 msgid "r" msgstr "r" @@ -2460,7 +2495,7 @@ msgstr "唯讀模式" #: src/component/album/edit/dialog.vue:26 src/component/photo/toolbar.vue:116 #: src/component/photo/toolbar.vue:128 src/component/photo/toolbar.vue:138 -#: src/page/albums.vue:102 +#: src/page/albums.vue:103 msgid "Recently Added" msgstr "最近新增" @@ -2468,7 +2503,7 @@ msgstr "最近新增" msgid "Recently Archived" msgstr "最近存檔" -#: src/component/photo/toolbar.vue:139 src/page/albums.vue:103 +#: src/component/photo/toolbar.vue:139 src/page/albums.vue:104 msgid "Recently Edited" msgstr "最近編輯" @@ -2493,24 +2528,24 @@ msgstr "恢復程式碼" msgid "Red" msgstr "紅色" -#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:126 -#: src/component/album/toolbar.vue:79 src/component/photo/toolbar.vue:169 -#: src/page/albums.vue:173 src/page/labels.vue:112 +#: src/page/admin/sessions.vue:101 src/page/admin/users.vue:128 +#: src/component/album/toolbar.vue:84 src/component/photo/toolbar.vue:169 +#: src/page/albums.vue:175 src/page/labels.vue:112 #: src/page/library/browse.vue:90 src/page/library/errors.vue:81 #: src/page/people/new.vue:54 src/page/people/recognized.vue:88 msgid "Refresh" msgstr "重新整理" -#: src/app/routes.js:337 src/component/navigation.vue:943 -#: src/component/navigation.vue:1026 +#: src/app/routes.js:345 src/component/navigation.vue:955 +#: src/component/navigation.vue:1040 msgid "Regions" msgstr "地區" -#: src/page/connect.vue:275 src/page/connect.vue:284 +#: src/page/connect.vue:277 src/page/connect.vue:286 msgid "Register" msgstr "注册" -#: src/component/navigation.vue:1773 src/component/update.vue:68 +#: src/component/navigation.vue:1806 src/component/update.vue:68 msgid "Reload" msgstr "重新載入" @@ -2556,34 +2591,34 @@ msgstr "要求非攝影和低品質影像在出現在搜尋結果中之前經過 msgid "Resolution" msgstr "解析度" -#: src/page/connect.vue:179 src/page/connect.vue:183 +#: src/page/connect.vue:180 src/page/connect.vue:184 #: src/page/settings/advanced.vue:782 msgid "Restart" msgstr "重新啟動" -#: src/component/user/edit/dialog.vue:485 src/component/lightbox.vue:1221 +#: src/component/user/edit/dialog.vue:488 src/component/lightbox.vue:1221 #: src/component/photo/clipboard.vue:77 msgid "Restore" msgstr "復原" -#: src/component/lightbox.vue:2000 +#: src/component/lightbox.vue:2020 msgid "Restored" msgstr "已恢復" -#: src/component/service/edit.vue:428 +#: src/component/service/edit.vue:429 msgid "Retry Limit" msgstr "重試限制" -#: src/component/settings/password.vue:128 +#: src/component/settings/password.vue:129 msgid "Retype Password" msgstr "重新輸入密碼" -#: src/app/routes.js:264 src/component/navigation.vue:505 +#: src/app/routes.js:272 src/component/navigation.vue:507 msgid "Review" msgstr "回顧" -#: src/component/user/add/dialog.vue:171 src/component/user/edit/dialog.vue:284 -#: src/page/admin/sessions.vue:262 src/page/admin/users.vue:73 +#: src/component/user/add/dialog.vue:172 src/component/user/edit/dialog.vue:285 +#: src/page/admin/sessions.vue:263 src/page/admin/users.vue:75 msgid "Role" msgstr "角色" @@ -2595,11 +2630,11 @@ msgstr "每頁行數:" msgid "Satellite" msgstr "衛星" -#: src/component/user/edit/dialog.vue:485 -#: src/component/album/edit/dialog.vue:211 -#: src/component/label/edit/dialog.vue:119 -#: src/component/people/edit/dialog.vue:132 src/component/service/edit.vue:466 -#: src/component/settings/password.vue:172 src/component/share/dialog.vue:181 +#: src/component/user/edit/dialog.vue:488 +#: src/component/album/edit/dialog.vue:212 +#: src/component/label/edit/dialog.vue:120 +#: src/component/people/edit/dialog.vue:133 src/component/service/edit.vue:467 +#: src/component/settings/password.vue:173 src/component/share/dialog.vue:181 msgid "Save" msgstr "儲存" @@ -2607,23 +2642,23 @@ msgstr "儲存" msgid "Scan" msgstr "掃描" -#: src/component/settings/passcode.vue:179 +#: src/component/settings/passcode.vue:182 msgid "Scan the QR code with your authenticator app or use the setup key shown below and then enter the generated verification code:" msgstr "使用身份驗證器應用程式掃描二維碼或使用如下所示的設定金鑰,然後輸入產生的驗證碼:" -#: src/component/navigation.vue:461 +#: src/component/navigation.vue:463 msgid "Scans" msgstr "掃描" -#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:377 -#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:310 +#: src/page/admin/sessions.vue:61 src/page/admin/sessions.vue:381 +#: src/component/settings/apps.vue:55 src/component/settings/apps.vue:313 msgid "Scope" msgstr "範圍" -#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:62 -#: src/component/navigation.vue:342 src/component/navigation.vue:1866 -#: src/component/photo/toolbar.vue:57 src/options/options.js:197 -#: src/page/albums.vue:100 src/page/labels.vue:77 +#: src/page/admin/sessions.vue:70 src/page/admin/users.vue:69 +#: src/component/location/dialog.vue:133 src/component/navigation.vue:343 +#: src/component/navigation.vue:1905 src/component/photo/toolbar.vue:57 +#: src/options/options.js:197 src/page/albums.vue:100 src/page/labels.vue:77 #: src/page/library/errors.vue:76 src/page/people/recognized.vue:66 #: src/page/places.vue:79 src/page/settings/content.vue:235 msgid "Search" @@ -2661,11 +2696,11 @@ msgstr "選擇日期" msgid "Select dates" msgstr "選擇日期" -#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:154 +#: src/component/photo/album/dialog.vue:54 src/component/upload/dialog.vue:156 msgid "Select or create an album" msgstr "選擇或建立相簿" -#: src/component/upload/dialog.vue:138 +#: src/component/upload/dialog.vue:140 msgid "Select the files to upload…" msgstr "選擇要上傳的檔案…" @@ -2693,7 +2728,7 @@ msgstr "選取項目已被復原" msgid "Sequential Name" msgstr "連續名稱" -#: src/component/service/add.vue:67 src/component/service/edit.vue:322 +#: src/component/service/add.vue:68 src/component/service/edit.vue:323 #: src/component/share/dialog.vue:25 msgid "Service URL" msgstr "服務 URL" @@ -2702,7 +2737,7 @@ msgstr "服務 URL" msgid "Services" msgstr "服務" -#: src/model/session.js:107 src/options/auth.js:41 src/options/auth.js:90 +#: src/model/session.js:107 src/options/auth.js:42 src/options/auth.js:91 msgid "Session" msgstr "工作階段" @@ -2710,7 +2745,7 @@ msgstr "工作階段" msgid "Session ID" msgstr "工作階段ID" -#: src/page/admin.vue:45 +#: src/page/admin.vue:44 msgid "Sessions" msgstr "工作階段" @@ -2718,22 +2753,22 @@ msgstr "工作階段" msgid "Set as Album Cover" msgstr "設為專輯封面" -#: src/app/routes.js:101 src/app/routes.js:492 src/app/routes.js:504 -#: src/app/routes.js:521 src/app/routes.js:534 src/app/routes.js:547 -#: src/component/navigation.vue:1394 src/component/navigation.vue:1806 +#: src/app/routes.js:101 src/app/routes.js:500 src/app/routes.js:512 +#: src/app/routes.js:529 src/app/routes.js:542 src/app/routes.js:555 +#: src/component/navigation.vue:1419 src/component/navigation.vue:1841 msgid "Settings" msgstr "設定" #: src/page/settings/account.vue:115 src/page/settings/account.vue:144 -#: src/component/settings/passcode.vue:147 +#: src/component/settings/passcode.vue:151 msgid "Settings saved" msgstr "設定已儲存" -#: src/component/service/upload.vue:131 src/component/settings/passcode.vue:160 +#: src/component/service/upload.vue:132 src/component/settings/passcode.vue:163 msgid "Setup" msgstr "設定" -#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:98 +#: src/component/album/clipboard.vue:49 src/component/album/toolbar.vue:103 #: src/component/photo/clipboard.vue:51 src/page/settings/general.vue:382 msgid "Share" msgstr "分享" @@ -2750,7 +2785,7 @@ msgstr "與其他應用程式和服務分享您的照片。" msgid "Show" msgstr "顯示" -#: src/page/people/new.vue:116 src/page/people/new.vue:233 +#: src/page/people/new.vue:116 src/page/people/new.vue:235 msgid "Show all new faces" msgstr "顯示所有新面孔" @@ -2795,7 +2830,7 @@ msgid "Similar" msgstr "相似" #: src/component/photo/edit/files.vue:51 src/component/photo/edit/files.vue:341 -#: src/component/service/edit.vue:139 src/component/sidebar/info.vue:96 +#: src/component/service/edit.vue:140 src/component/sidebar/info.vue:96 msgid "Size" msgstr "尺寸" @@ -2823,7 +2858,7 @@ msgstr "出错了,再试一次" msgid "Sort by" msgstr "排序方式" -#: src/component/album/edit/dialog.vue:142 src/component/photo/toolbar.vue:288 +#: src/component/album/edit/dialog.vue:143 src/component/photo/toolbar.vue:290 #: src/page/albums.vue:214 msgid "Sort Order" msgstr "排序" @@ -2858,7 +2893,7 @@ msgstr "根據元數據,將在相同時間和位置拍攝的照片堆疊在一 msgid "Stackable" msgstr "可堆疊" -#: src/component/navigation.vue:421 src/page/settings/content.vue:136 +#: src/component/navigation.vue:423 src/page/settings/content.vue:136 msgid "Stacks" msgstr "堆疊" @@ -2886,16 +2921,16 @@ msgstr "儲存空間" msgid "Streets" msgstr "街" -#: src/component/photo/edit/details.vue:494 +#: src/component/photo/edit/details.vue:468 #: src/component/photo/edit/labels.vue:44 msgid "Subject" msgstr "主題" -#: src/page/about/feedback.vue:162 src/page/about/feedback.vue:163 +#: src/page/about/feedback.vue:163 src/page/about/feedback.vue:164 msgid "Submit" msgstr "提交" -#: src/component/settings/passcode.vue:132 +#: src/component/settings/passcode.vue:136 msgid "Successfully activated" msgstr "激活成功" @@ -2904,23 +2939,23 @@ msgid "Successfully Connected" msgstr "成功連接" #: src/component/session/remove/dialog.vue:32 -#: src/component/settings/apps.vue:218 +#: src/component/settings/apps.vue:222 msgid "Successfully deleted" msgstr "已成功删除" -#: src/component/settings/passcode.vue:107 +#: src/component/settings/passcode.vue:108 msgid "Successfully verified" msgstr "驗證成功" -#: src/component/user/edit/dialog.vue:398 src/page/admin/users.vue:163 +#: src/component/user/edit/dialog.vue:399 src/page/admin/users.vue:165 msgid "Super Admin" msgstr "超級管理員" -#: src/component/service/add.vue:122 +#: src/component/service/add.vue:123 msgid "Support for additional services, like Google Drive, will be added over time." msgstr "隨著時間的推移,將增加對其他服務的支援,例如Google雲端硬碟。" -#: src/component/confirm/sponsor.vue:37 src/component/navigation.vue:1629 +#: src/component/confirm/sponsor.vue:38 src/component/navigation.vue:1660 msgid "Support Our Mission" msgstr "支持我們的使命" @@ -2928,7 +2963,7 @@ msgstr "支持我們的使命" msgid "Sync" msgstr "同步" -#: src/component/service/edit.vue:289 +#: src/component/service/edit.vue:290 msgid "Sync raw and video files" msgstr "同步 RAW 照片及影片" @@ -2954,23 +2989,23 @@ msgstr "地形" msgid "Text" msgstr "文字" -#: src/component/photo/edit/details.vue:32 src/page/people/new.vue:71 +#: src/component/photo/edit/details.vue:40 src/page/people/new.vue:71 msgid "Text too long" msgstr "文字太長了" -#: src/page/about/about.vue:145 +#: src/page/about/about.vue:146 msgid "Thank You for Your Support!" msgstr "感谢你的支持!" -#: src/page/about/about.vue:79 src/page/about/about.vue:85 +#: src/page/about/about.vue:80 src/page/about/about.vue:86 msgid "That's why PhotoPrism was built from the ground up to run wherever you need it, without compromising freedom, privacy, or functionality." msgstr "這就是為何 PhotoPrism 是從零開始建置,好讓您可以在任何您想要的地方運作的,無須向自由、隱私或是功能妥協。" -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "The index currently contains %{n} hidden files." msgstr "索引目前包含%{n}個隱藏檔案。" -#: src/page/library/index.vue:161 +#: src/page/library/index.vue:162 msgid "Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates." msgstr "它們的格式可能不被支援,或尚未轉換為JPEG,或存在重複。" @@ -2985,44 +3020,44 @@ msgstr "主題" msgid "This field is required" msgstr "此欄位是必需的" -#: src/component/settings/webdav.vue:100 src/page/settings/services.vue:144 +#: src/component/settings/webdav.vue:101 src/page/settings/services.vue:147 msgid "This mounts the originals folder as a network drive and allows you to open, edit, and delete files from your computer or smartphone as if they were local." msgstr "這會將\"originals\"資料夾安裝為網絡硬碟,並允許您從電腦或智慧型手機中打開,編輯和刪除文件,就像它們是本地文件一樣。" -#: src/component/photo/edit/details.vue:193 +#: src/component/photo/edit/details.vue:195 msgid "Time UTC" msgstr "UTC 時間" -#: src/component/photo/edit/details.vue:219 src/page/settings/general.vue:108 +#: src/component/photo/edit/details.vue:221 src/page/settings/general.vue:108 msgid "Time Zone" msgstr "時區" -#: src/component/service/edit.vue:408 +#: src/component/service/edit.vue:409 msgid "Timeout" msgstr "逾時" -#: src/component/user/edit/dialog.vue:98 src/component/user/edit/dialog.vue:99 +#: src/component/user/edit/dialog.vue:99 src/component/user/edit/dialog.vue:100 #: src/page/settings/account.vue:84 src/page/settings/account.vue:86 msgctxt "Account" msgid "Title" msgstr "標題" -#: src/component/photo/edit/details.vue:73 +#: src/component/photo/edit/details.vue:75 msgctxt "Photo" msgid "Title" msgstr "標題" -#: src/component/photo/edit/info.vue:59 src/component/photo/edit/info.vue:155 +#: src/component/photo/edit/info.vue:61 src/component/photo/edit/info.vue:155 #: src/component/photo/edit/labels.vue:40 src/component/photo/view/list.vue:114 #: src/component/sidebar/info.vue:57 msgid "Title" msgstr "標題" -#: src/page/settings/account.vue:553 src/page/settings/account.vue:555 +#: src/page/settings/account.vue:559 src/page/settings/account.vue:561 msgid "Title / Position" msgstr "職位 / 位置" -#: src/page/albums.vue:83 +#: src/page/albums.vue:84 msgid "Title too long" msgstr "標題太長" @@ -3030,19 +3065,19 @@ msgstr "標題太長" msgid "to" msgstr "到" -#: src/component/settings/passcode.vue:312 +#: src/component/settings/passcode.vue:315 msgid "To avoid being locked out of your account, please download, print or copy this recovery code now and keep it in a safe place." msgstr "為避免您的帳戶被鎖定,請立即下載、列印或複製此恢復代碼並將其保存在安全的地方。" -#: src/component/settings/apps.vue:272 +#: src/component/settings/apps.vue:275 msgid "To generate a new app-specific password, please enter the name and authorization scope of the application and select an expiration date:" msgstr "若要產生新的應用程式專用密碼,請輸入應用程式的名稱和授權範圍並選擇到期日期:" -#: src/component/settings/passcode.vue:400 +#: src/component/settings/passcode.vue:403 msgid "To switch to a new authenticator app or device, first deactivate two-factor authentication and then reactivate it:" msgstr "要切換到新的身份驗證器應用程式或設備,請先停用雙重認證,然後重新啟用它:" -#: src/page/connect.vue:221 src/page/connect.vue:230 +#: src/page/connect.vue:223 src/page/connect.vue:232 msgid "To upgrade, you can either enter an activation code or click \"Register\" to sign up on our website:" msgstr "要升级,你可以输入激活码或点击 \"注册\",在我们的网站上注册:" @@ -3050,7 +3085,7 @@ msgstr "要升级,你可以输入激活码或点击 \"注册\",在我们的 msgid "Today" msgstr "今天" -#: src/component/album/toolbar.vue:70 src/component/photo/toolbar.vue:78 +#: src/component/album/toolbar.vue:71 src/component/photo/toolbar.vue:78 msgid "Toggle View" msgstr "切換檢視" @@ -3077,20 +3112,24 @@ msgstr "故障排除" msgid "Try again using other filters or keywords." msgstr "請使用其他篩選條件或是關鍵字。" -#: src/component/settings/passcode.vue:380 +#: src/component/settings/passcode.vue:383 msgid "Two-factor authentication has been enabled for your account." msgstr "您的帳戶已啟用雙重認證。" #: src/component/photo/edit/files.vue:58 src/component/photo/edit/files.vue:330 -#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:388 +#: src/component/photo/edit/info.vue:87 src/component/service/edit.vue:389 msgid "Type" msgstr "格式" -#: src/options/auth.js:13 +#: src/component/album/toolbar.vue:178 +msgid "Unable to delete" +msgstr "無法刪除" + +#: src/options/auth.js:14 msgid "Unauthorized" msgstr "未經授權的存取" -#: src/component/photo/edit/people.vue:94 +#: src/component/photo/edit/people.vue:95 msgid "Undo" msgstr "復原" @@ -3098,16 +3137,16 @@ msgstr "復原" msgid "Unique ID" msgstr "唯一身份" -#: src/page/settings/account.vue:451 src/page/settings/account.vue:476 -#: src/page/settings/account.vue:501 src/common/util.js:487 -#: src/component/photo/edit/details.vue:21 -#: src/component/photo/edit/details.vue:111 -#: src/component/photo/edit/details.vue:138 -#: src/component/photo/edit/details.vue:164 src/component/sidebar/info.vue:43 -#: src/model/album.js:193 src/model/photo.js:323 src/model/photo.js:784 -#: src/model/photo.js:809 src/model/photo.js:832 src/model/photo.js:850 -#: src/model/photo.js:897 src/model/photo.js:905 src/model/photo.js:994 -#: src/model/photo.js:1016 src/model/photo.js:1061 src/model/photo.js:1074 +#: src/page/settings/account.vue:457 src/page/settings/account.vue:482 +#: src/page/settings/account.vue:507 src/common/util.js:488 +#: src/component/photo/edit/details.vue:27 +#: src/component/photo/edit/details.vue:113 +#: src/component/photo/edit/details.vue:140 +#: src/component/photo/edit/details.vue:166 src/component/sidebar/info.vue:43 +#: src/model/album.js:193 src/model/photo.js:331 src/model/photo.js:821 +#: src/model/photo.js:846 src/model/photo.js:869 src/model/photo.js:887 +#: src/model/photo.js:934 src/model/photo.js:942 src/model/photo.js:1031 +#: src/model/photo.js:1053 src/model/photo.js:1098 src/model/photo.js:1111 #: src/model/user.js:157 src/options/options.js:51 src/options/options.js:69 #: src/options/options.js:86 src/options/options.js:100 #: src/options/options.js:112 src/page/library/errors.vue:251 @@ -3120,7 +3159,7 @@ msgstr "未知" msgid "Unregistered" msgstr "未註冊" -#: src/app/routes.js:215 src/component/navigation.vue:644 +#: src/app/routes.js:223 src/component/navigation.vue:648 msgid "Unsorted" msgstr "未分類" @@ -3128,7 +3167,7 @@ msgstr "未分類" msgid "Unstack" msgstr "取消堆疊" -#: src/component/photo/edit/files.vue:519 src/component/photo/edit/info.vue:416 +#: src/component/photo/edit/files.vue:521 src/component/photo/edit/info.vue:416 msgid "Updated" msgstr "已更新" @@ -3144,7 +3183,7 @@ msgstr "更新索引" msgid "Updating moments" msgstr "更新時刻" -#: src/component/user/edit/dialog.vue:154 +#: src/component/user/edit/dialog.vue:155 msgid "Updating picture…" msgstr "正在更新圖片…" @@ -3156,21 +3195,21 @@ msgstr "更新預覽" msgid "Updating stacks" msgstr "更新堆疊" -#: src/page/connect.vue:57 src/component/navigation.vue:1500 -#: src/component/navigation.vue:1614 src/component/navigation.vue:1999 +#: src/page/connect.vue:57 src/component/navigation.vue:1526 +#: src/component/navigation.vue:1644 src/component/navigation.vue:2047 #: src/page/connect.vue:58 msgid "Upgrade" msgstr "升級" -#: src/page/about/about.vue:123 src/page/connect.vue:202 -#: src/component/confirm/sponsor.vue:98 src/page/about/about.vue:113 -#: src/page/connect.vue:206 +#: src/page/about/about.vue:124 src/page/connect.vue:204 +#: src/component/confirm/sponsor.vue:99 src/page/about/about.vue:114 +#: src/page/connect.vue:208 msgid "Upgrade Now" msgstr "立即升級" -#: src/component/album/toolbar.vue:108 src/component/navigation.vue:1824 -#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:144 -#: src/component/upload/dialog.vue:51 src/page/albums.vue:183 +#: src/component/album/toolbar.vue:113 src/component/navigation.vue:1860 +#: src/component/photo/toolbar.vue:179 src/component/service/upload.vue:145 +#: src/component/upload/dialog.vue:51 src/page/albums.vue:185 #: src/page/labels.vue:122 src/page/library/import.vue:133 #: src/page/settings/general.vue:307 src/page/settings/services.vue:38 msgid "Upload" @@ -3180,21 +3219,21 @@ msgstr "上傳" msgid "Upload complete" msgstr "上傳完成" -#: src/component/upload/dialog.vue:133 +#: src/component/upload/dialog.vue:135 msgid "Upload complete. Indexing…" msgstr "上傳完成。索引中…" #: src/component/upload/dialog.vue:296 src/component/upload/dialog.vue:315 -#: src/component/upload/dialog.vue:129 +#: src/component/upload/dialog.vue:131 msgid "Upload failed" msgstr "上傳失敗" -#: src/component/service/edit.vue:257 +#: src/component/service/edit.vue:258 msgid "Upload local files" msgstr "上傳本機檔案" -#: src/component/user/edit/dialog.vue:380 #: src/component/user/edit/dialog.vue:381 +#: src/component/user/edit/dialog.vue:382 msgid "Upload Path" msgstr "上传路径" @@ -3202,7 +3241,7 @@ msgstr "上传路径" msgid "Upload to WebDAV and share links with friends." msgstr "上傳到 WebDAV 並且分享連結給朋友。" -#: src/component/upload/dialog.vue:131 +#: src/component/upload/dialog.vue:133 msgid "Uploading %{n} of %{t}…" msgstr "上傳 %{n} / %{t} …" @@ -3215,7 +3254,7 @@ msgstr "上傳照片中…" msgid "Uploading…" msgstr "上傳…" -#: src/component/upload/dialog.vue:205 +#: src/component/upload/dialog.vue:207 msgid "Uploads that may contain such images will be rejected automatically." msgstr "上傳此類圖像將可能被自動拒絕。" @@ -3223,7 +3262,7 @@ msgstr "上傳此類圖像將可能被自動拒絕。" msgid "Use Presets" msgstr "使用預設" -#: src/component/settings/passcode.vue:283 +#: src/component/settings/passcode.vue:286 msgid "Use the following recovery code to access your account when you are unable to generate a valid verification code with your authenticator app:" msgstr "當您無法使用身份驗證器應用程式產生有效的驗證碼時,請使用下列恢復代碼存取您的帳戶:" @@ -3231,12 +3270,12 @@ msgstr "當您無法使用身份驗證器應用程式產生有效的驗證碼時 msgid "Use your recovery code or contact an administrator for help." msgstr "使用恢复密码或联系管理员寻求帮助。" -#: src/options/admin.js:10 src/page/admin/sessions.vue:59 -#: src/page/admin/sessions.vue:242 src/model/user.js:361 src/options/auth.js:7 +#: src/options/admin.js:14 src/page/admin/sessions.vue:59 +#: src/page/admin/sessions.vue:243 src/model/user.js:361 src/options/auth.js:8 msgid "User" msgstr "使用者" -#: src/component/navigation.vue:1979 +#: src/component/navigation.vue:2025 msgid "User Guide" msgstr "使用者指南" @@ -3244,14 +3283,14 @@ msgstr "使用者指南" msgid "User Interface" msgstr "使用者介面" -#: src/component/user/add/dialog.vue:87 src/component/user/add/dialog.vue:88 -#: src/page/admin/sessions.vue:220 src/page/admin/users.vue:71 -#: src/component/service/add.vue:85 src/component/service/edit.vue:337 +#: src/component/user/add/dialog.vue:88 src/component/user/add/dialog.vue:89 +#: src/page/admin/sessions.vue:221 src/page/admin/users.vue:73 +#: src/component/service/add.vue:86 src/component/service/edit.vue:338 #: src/component/share/dialog.vue:26 msgid "Username" msgstr "使用者名稱" -#: src/component/navigation.vue:1435 +#: src/component/navigation.vue:1461 msgid "Users" msgstr "使用者" @@ -3261,18 +3300,18 @@ msgstr "使用者" msgid "Vector" msgstr "向量" -#: src/component/navigation.vue:440 +#: src/component/navigation.vue:442 msgid "Vectors" msgstr "向量" -#: src/component/settings/passcode.vue:227 src/page/auth/login.vue:144 +#: src/component/settings/passcode.vue:230 src/page/auth/login.vue:144 msgid "Verification Code" msgstr "驗證碼" #: src/component/photo/view/cards.vue:363 #: src/component/photo/view/cards.vue:491 src/component/photo/view/list.vue:190 #: src/component/photo/view/mosaic.vue:207 src/model/file.js:221 -#: src/model/photo.js:921 src/model/photo.js:939 src/options/options.js:293 +#: src/model/photo.js:958 src/model/photo.js:976 src/options/options.js:293 msgid "Video" msgstr "影片" @@ -3281,12 +3320,12 @@ msgstr "影片" msgid "Video Duration" msgstr "影片長度" -#: src/app/routes.js:243 src/component/navigation.vue:728 +#: src/app/routes.js:251 src/component/navigation.vue:734 #: src/options/options.js:200 msgid "Videos" msgstr "影片" -#: src/component/photo/toolbar.vue:261 src/component/photo/view/cards.vue:350 +#: src/component/photo/toolbar.vue:263 src/component/photo/view/cards.vue:350 #: src/component/photo/view/mosaic.vue:194 msgid "View" msgstr "檢視" @@ -3295,11 +3334,11 @@ msgstr "檢視" msgid "View search results as a list." msgstr "以清單形式查看搜尋結果。" -#: src/options/admin.js:14 src/options/auth.js:8 +#: src/options/admin.js:18 src/options/auth.js:9 msgid "Viewer" msgstr "檢視者" -#: src/page/admin/sessions.vue:271 src/options/auth.js:12 +#: src/page/admin/sessions.vue:272 src/options/auth.js:13 msgid "Visitor" msgstr "訪問者" @@ -3311,34 +3350,34 @@ msgstr "視覺相似度" msgid "Warning" msgstr "警告" -#: src/page/about/feedback.vue:60 +#: src/page/about/feedback.vue:61 msgid "We appreciate your feedback!" msgstr "感謝您的回饋!" -#: src/page/about/feedback.vue:63 +#: src/page/about/feedback.vue:64 msgid "We do our best to respond within five business days or less." msgstr "我們盡最大努力在五個工作日或更短的時間內做出回應。" -#: src/component/user/add/dialog.vue:235 src/component/user/edit/dialog.vue:415 -#: src/page/admin/users.vue:80 +#: src/component/user/add/dialog.vue:236 src/component/user/edit/dialog.vue:416 +#: src/page/admin/users.vue:82 msgid "Web Login" msgstr "網頁登入" -#: src/component/user/add/dialog.vue:248 src/component/user/edit/dialog.vue:432 -#: src/page/admin/users.vue:82 src/options/auth.js:55 src/options/auth.js:68 +#: src/component/user/add/dialog.vue:249 src/component/user/edit/dialog.vue:433 +#: src/page/admin/users.vue:84 src/options/auth.js:56 src/options/auth.js:69 #: src/options/options.js:444 msgid "WebDAV" msgstr "WebDAV" -#: src/component/settings/webdav.vue:51 +#: src/component/settings/webdav.vue:52 msgid "WebDAV clients can connect to PhotoPrism using the following URL:" msgstr "WebDAV客戶端可以使用以下URL連接到PhotoPrism:" -#: src/page/settings/services.vue:142 +#: src/page/settings/services.vue:145 msgid "WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to PhotoPrism." msgstr "WebDAV客戶端(例如Microsoft的Windows資源管理器或Apple的Finder)可以直接連接到PhotoPrism。" -#: src/component/service/upload.vue:50 src/component/share/dialog.vue:220 +#: src/component/service/upload.vue:51 src/component/share/dialog.vue:220 msgid "WebDAV Upload" msgstr "WebDAV上傳" @@ -3346,8 +3385,8 @@ msgstr "WebDAV上傳" msgid "WebGL support is disabled in your browser" msgstr "您的瀏覽器中禁用了 WebGL 支持" -#: src/page/settings/account.vue:615 src/page/settings/account.vue:709 -#: src/page/settings/account.vue:601 +#: src/page/settings/account.vue:621 src/page/settings/account.vue:715 +#: src/page/settings/account.vue:607 msgid "Website" msgstr "網站" @@ -3355,12 +3394,12 @@ msgstr "網站" msgid "White" msgstr "白色" -#: src/page/settings/account.vue:532 +#: src/page/settings/account.vue:538 msgid "Work Details" msgstr "作品詳情" -#: src/page/settings/account.vue:500 src/component/photo/edit/details.vue:163 -#: src/component/photo/toolbar.vue:315 src/page/albums.vue:159 +#: src/page/settings/account.vue:506 src/component/photo/edit/details.vue:165 +#: src/component/photo/toolbar.vue:317 src/page/albums.vue:159 msgid "Year" msgstr "年" @@ -3368,21 +3407,21 @@ msgstr "年" msgid "Yellow" msgstr "黃色" -#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:58 -#: src/component/photo/archive/dialog.vue:58 +#: src/component/confirm/dialog.vue:54 src/component/people/merge/dialog.vue:59 +#: src/component/photo/archive/dialog.vue:59 #: src/component/photo/clipboard.vue:200 src/component/photo/edit/files.vue:365 #: src/component/photo/edit/files.vue:395 #: src/component/photo/edit/files.vue:401 #: src/component/photo/edit/files.vue:407 -#: src/component/photo/edit/files.vue:510 src/component/photo/edit/info.vue:281 +#: src/component/photo/edit/files.vue:512 src/component/photo/edit/info.vue:281 #: src/component/photo/edit/info.vue:297 src/component/photo/edit/info.vue:313 #: src/component/photo/edit/info.vue:329 src/component/photo/edit/info.vue:344 -#: src/component/photo/toolbar.vue:434 +#: src/component/photo/toolbar.vue:436 msgid "Yes" msgstr "是" -#: src/component/confirm/sponsor.vue:59 src/page/about/about.vue:158 -#: src/page/connect.vue:315 +#: src/component/confirm/sponsor.vue:60 src/page/about/about.vue:160 +#: src/page/connect.vue:317 msgid "You are welcome to contact us at membership@photoprism.app for questions regarding your membership." msgstr "歡迎您來信 membership@photoprism.app 和我們諮詢有關會員資格的相關問題。" @@ -3394,7 +3433,11 @@ msgstr "你只能下載一個相簿" msgid "You can only download one label" msgstr "你只能下載一個標籤" -#: src/component/upload/dialog.vue:203 +#: src/component/location/dialog.vue:178 +msgid "You can search for a location or move the marker on the map to change the position:" +msgstr "您可以搜尋某個位置或移動地圖上的標記來更改位置:" + +#: src/component/upload/dialog.vue:205 msgid "You can upload up to %{n} files for test purposes." msgstr "您最多可以上传 %{n} 个文件用于测试。" @@ -3407,7 +3450,7 @@ msgstr "你只能選取一個項目" msgid "You may rescan your library to find additional faces." msgstr "您可以重新掃描您的收藏庫以查找其他面孔。" -#: src/page/connect.vue:146 src/page/connect.vue:150 +#: src/page/connect.vue:147 src/page/connect.vue:151 msgid "Your account has been successfully connected." msgstr "您的帳號已成功連結。" @@ -3415,8 +3458,8 @@ msgstr "您的帳號已成功連結。" msgid "Your browser does not support WebGL" msgstr "您的瀏覽器不支援WebGL" -#: src/component/confirm/sponsor.vue:43 src/page/about/about.vue:97 -#: src/page/about/about.vue:156 src/page/connect.vue:220 +#: src/component/confirm/sponsor.vue:44 src/page/about/about.vue:98 +#: src/page/about/about.vue:158 src/page/connect.vue:222 msgid "Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy." msgstr "您的持續支持有助於我們提供定期更新並保持獨立,因此我們可以完成我們的使命並保護您的隱私。" @@ -3497,9 +3540,6 @@ msgstr "縮放" #~ msgid "Open Folder" #~ msgstr "打開資料夾" -#~ msgid "Cannot copy to clipboard" -#~ msgstr "無法複製到剪貼簿" - #~ msgid "Sound" #~ msgstr "聲音" @@ -4164,9 +4204,6 @@ msgstr "縮放" #~ msgid "More than 50 results" #~ msgstr "找到超過 50 個結果" -#~ msgid "No results" -#~ msgstr "找不到結果" - #~ msgid "Not implemented yet" #~ msgstr "尚未實現此功能" diff --git a/frontend/src/model/photo.js b/frontend/src/model/photo.js index b1c398951..ce3cf434c 100644 --- a/frontend/src/model/photo.js +++ b/frontend/src/model/photo.js @@ -188,8 +188,10 @@ export class Photo extends RestModel { return new Date().getDate().toString().padStart(2, "0"); } - if (!this.Day || this.Day <= 0) { + if (!this.Day) { return this.TakenAtLocal.substring(8, 10); + } else if (this.Day <= 0) { + return "01"; } return this.Day.toString().padStart(2, "0"); diff --git a/frontend/src/model/thumb.js b/frontend/src/model/thumb.js index 6e3e7e5ba..a6f1aadd9 100644 --- a/frontend/src/model/thumb.js +++ b/frontend/src/model/thumb.js @@ -86,10 +86,12 @@ export class Thumb extends Model { } copyLatLng() { + // Abort if latitude or longitude are not set. if (!this.Lat || !this.Lng) { return; } + // Use the browser API to copy the coordinates to the clipboard. $util.copyText(`${this.Lat.toString()},${this.Lng.toString()}`); } diff --git a/frontend/src/model/user.js b/frontend/src/model/user.js index 40b24baee..b33465b5a 100644 --- a/frontend/src/model/user.js +++ b/frontend/src/model/user.js @@ -33,6 +33,9 @@ import { Form } from "common/form"; import { $config } from "app/session"; export let BatchSize = 99999; +export let WebDavRoles = ["admin", "manager", "user", "contributor"]; +export let NoBasePathRoles = ["admin", "manager", "user", "viewer"]; +export let NoUploadPathRoles = ["guest", "viewer"]; export class User extends RestModel { getDefaults() { @@ -229,16 +232,28 @@ export class User extends RestModel { return !this.AuthProvider || this.AuthProvider === "default" || this.AuthProvider === "local"; } + // Checks if WebDAV access is allowed for this user. hasWebDAV() { return this.WebDAV && this.canEnableWebDAV(); } + // Checks if the user role permits WebDAV access. canEnableWebDAV() { if (this.AuthProvider === "none" || !this.Name) { return false; } - return this.Role === "admin" || this.Role === "user" || this.Role === "contributor"; + return WebDavRoles.includes(this.Role); + } + + // Checks if the user role supports a custom base path. + canHaveBasePath() { + return !NoBasePathRoles.includes(this.Role); + } + + // Checks if the user role supports a custom upload path. + canHaveUploadPath() { + return !NoUploadPathRoles.includes(this.Role); } authInfo() { diff --git a/frontend/src/options/auth.js b/frontend/src/options/auth.js index 6be05ce8a..35de7b856 100644 --- a/frontend/src/options/auth.js +++ b/frontend/src/options/auth.js @@ -4,6 +4,7 @@ import { $gettext } from "common/gettext"; export const Roles = () => { return { "admin": $gettext("Admin"), + "manager": $gettext("Manager"), "user": $gettext("User"), "viewer": $gettext("Viewer"), "contributor": $gettext("Contributor"), diff --git a/frontend/src/options/themes.js b/frontend/src/options/themes.js index 166acd4a7..93299d6b2 100644 --- a/frontend/src/options/themes.js +++ b/frontend/src/options/themes.js @@ -452,6 +452,7 @@ let themes = { "accent": "#F2F5FA", "error": "#d5303f", "on-error": "#cd1b2b", + "danger": "#9f2727", "info": "#4aa2bc", "on-info": "#323742", "success": "#1ac5c1", diff --git a/frontend/src/options/ui.js b/frontend/src/options/ui.js index a2876ac3b..421a34721 100644 --- a/frontend/src/options/ui.js +++ b/frontend/src/options/ui.js @@ -20,6 +20,7 @@ export const colorsDark = { "secondary-light": "#1E2022", "accent": "#2D2E2E", "error": "#e57373", + "danger": "#e57373", "info": "#00acc1", "success": "#4db6ac", "warning": "#bc9714", @@ -27,6 +28,7 @@ export const colorsDark = { "remove": "#da4e4c", "restore": "#00d48a", "album": "#ed9e00", + "on-album": "#ffffff", "download": "#00bfa5", "private": "#00b8d4", "edit": "#2196F3", @@ -84,6 +86,7 @@ export const colorsLight = { "secondary-light": "#eceff4", "accent": "#F2F5FA", "error": "#BF616A", + "danger": "#BF616A", "info": "#88C0D0", "success": "#8FBCBB", "warning": "#f0d8a8", diff --git a/frontend/src/page/album/photos.vue b/frontend/src/page/album/photos.vue index 269d9cfad..590da34d3 100644 --- a/frontend/src/page/album/photos.vue +++ b/frontend/src/page/album/photos.vue @@ -197,6 +197,7 @@ export default { this.findAlbum().then(() => this.search()); this.subscriptions.push(this.$event.subscribe("albums.updated", (ev, data) => this.onAlbumsUpdated(ev, data))); + this.subscriptions.push(this.$event.subscribe("albums.deleted", (ev, data) => this.onAlbumsDeleted(ev, data))); this.subscriptions.push(this.$event.subscribe("photos", (ev, data) => this.onUpdate(ev, data))); this.subscriptions.push( @@ -261,10 +262,13 @@ export default { return "cards"; }, - getSortOrder() { + sortOrder() { const query = this.$route.query; return query["order"] ? query["order"] : this.model?.Order; }, + sortReverse() { + return !!this.$route?.query["reverse"] && this.$route.query["reverse"] === "true"; + }, openDate(index) { if (!this.canEdit) { return this.openPhoto(index); @@ -324,7 +328,7 @@ export default { if (showMerged) { this.$lightbox.openModels(Thumb.fromFiles([selected]), 0, this.model); - } else if (this.getSortOrder() === "random") { + } else if (this.sortOrder() === "random") { this.$lightbox.openModels(Thumb.fromPhotos(this.results), index, this.model); } else { this.$lightbox.openView(this, index); @@ -352,7 +356,8 @@ export default { offset: offset, s: this.uid, merged: true, - order: this.getSortOrder(), + order: this.sortOrder(), + reverse: this.sortReverse(), }; Object.assign(params, this.lastFilter); @@ -473,7 +478,8 @@ export default { offset: this.offset, s: this.uid, merged: true, - order: this.getSortOrder(), + order: this.sortOrder(), + reverse: this.sortReverse(), }; Object.assign(params, this.filter); @@ -636,6 +642,25 @@ export default { } } }, + onAlbumsDeleted(ev, data) { + if (!this.listen) { + return; + } + + if (!data || !data.entities || !Array.isArray(data.entities)) { + return; + } + + const type = ev.split(".")[1]; + switch (type) { + case "deleted": + if (data.entities.includes(this.uid)) { + this.$notify.success(this.$gettext("Album deleted")); + this.$router.push({ name: this.collectionRoute }); + } + return; + } + }, updateResults(entity) { this.results .filter((m) => m.UID === entity.UID) diff --git a/frontend/src/page/albums.vue b/frontend/src/page/albums.vue index 74e6406f6..deed0cfcc 100644 --- a/frontend/src/page/albums.vue +++ b/frontend/src/page/albums.vue @@ -191,7 +191,7 @@ v-if="canManage && staticFilter.type === 'album' && config.count.albums === 0" class="d-flex justify-center mt-8 mb-4" > - + {{ $gettext(`Add Album`) }} @@ -396,10 +396,11 @@ export default { const query = this.$route.query; const routeName = this.$route.name; const order = this.sortOrder(); + const reverse = this.sortReverse(); const q = query["q"] ? query["q"] : ""; const category = query["category"] ? query["category"] : ""; const year = query["year"] ? parseInt(query["year"]) : ""; - const filter = { q, category, order, year }; + const filter = { q, category, order, reverse, year }; const settings = {}; const features = this.$config.getSettings().features; @@ -503,6 +504,7 @@ export default { this.filter.category = query["category"] ? query["category"] : ""; this.filter.year = query["year"] ? parseInt(query["year"]) : ""; this.filter.order = this.sortOrder(); + this.filter.reverse = this.sortReverse(); this.search(); }, @@ -627,6 +629,9 @@ export default { return this.defaultOrder; }, + sortReverse() { + return !!this.$route?.query["reverse"] && this.$route.query["reverse"] === "true"; + }, searchCount() { const offset = parseInt(window.localStorage.getItem("albums.offset")); diff --git a/frontend/src/page/people/new.vue b/frontend/src/page/people/new.vue index c3d51bbc8..1affae7dd 100644 --- a/frontend/src/page/people/new.vue +++ b/frontend/src/page/people/new.vue @@ -50,7 +50,7 @@
- + {{ $gettext(`Show all new faces`) }}
@@ -116,7 +116,7 @@
- + {{ $gettext(`Show all new faces`) }}
diff --git a/frontend/src/page/photos.vue b/frontend/src/page/photos.vue index e8e894f2e..dd79cae21 100644 --- a/frontend/src/page/photos.vue +++ b/frontend/src/page/photos.vue @@ -117,7 +117,7 @@ export default { const label = query["label"] ? query["label"] : ""; const latlng = query["latlng"] ? query["latlng"] : ""; const view = this.getViewType(); - const order = this.getSortOrder(); + const order = this.sortOrder(); const filter = { country: country, camera: camera, @@ -128,6 +128,7 @@ export default { month: month, color: color, order: order, + reverse: this.sortReverse(), q: q, }; @@ -217,7 +218,8 @@ export default { this.filter.color = query["color"] ? query["color"] : ""; this.filter.label = query["label"] ? query["label"] : ""; this.filter.latlng = query["latlng"] ? query["latlng"] : ""; - this.filter.order = this.getSortOrder(); + this.filter.order = this.sortOrder(); + this.filter.reverse = this.sortReverse(); this.settings.view = this.getViewType(); @@ -354,7 +356,7 @@ export default { return ""; }, - getSortOrder() { + sortOrder() { if (this.embedded) { return "newest"; } @@ -396,6 +398,9 @@ export default { return defaultOrder; }, + sortReverse() { + return !!this.$route?.query["reverse"] && this.$route.query["reverse"] === "true"; + }, openDate(index) { const photo = this.results[index]; diff --git a/frontend/testcaferc.json b/frontend/testcaferc.json index 9567d0fbf..23ce94176 100644 --- a/frontend/testcaferc.json +++ b/frontend/testcaferc.json @@ -1,8 +1,8 @@ { "skipJsErrors": true, "quarantineMode": false, - "selectorTimeout": 9500, - "assertionTimeout": 9500, + "selectorTimeout": 3500, + "assertionTimeout": 3500, "hostname": "localhost", "screenshots": { "path": "tests/acceptance/screenshots/", diff --git a/frontend/tests/acceptance/acceptance-auth/settings/account.js b/frontend/tests/acceptance/acceptance-auth/settings/account.js index 10573fa74..1f48ba994 100644 --- a/frontend/tests/acceptance/acceptance-auth/settings/account.js +++ b/frontend/tests/acceptance/acceptance-auth/settings/account.js @@ -189,14 +189,9 @@ test.meta("testID", "account-006").meta({ type: "short", mode: "auth" })( } ); -test.meta("testID", "account-007").meta({ type: "short", mode: "auth" })( - "Common: Display usage info", - async (t) => { - await page.login("admin", "photoprism"); - await menu.openNav(); - await t - .expect(Selector("div.text-caption").withText("1 GB of 2 GB used").visible) - .ok() - await page.logout(); - } -); +test.meta("testID", "account-007").meta({ type: "short", mode: "auth" })("Common: Display usage info", async (t) => { + await page.login("admin", "photoprism"); + await menu.openNav(); + await t.expect(Selector("div.text-caption").withText("1 GB of 2 GB used").visible).ok(); + await page.logout(); +}); diff --git a/frontend/tests/acceptance/acceptance-public/albums.js b/frontend/tests/acceptance/acceptance-public/albums.js index c3736f3d1..de7121d56 100644 --- a/frontend/tests/acceptance/acceptance-public/albums.js +++ b/frontend/tests/acceptance/acceptance-public/albums.js @@ -68,12 +68,12 @@ test.meta("testID", "albums-002").meta({ type: "short", mode: "public" })( await page.clickCardTitleOfUID(FirstPhotoUid); await t - .click(photoedit.infoTab) - .expect(Selector("td").withText("Albums").visible) - .ok() - .expect(Selector("td").withText("NotYetExistingAlbum").visible) - .ok() - .click(photoedit.dialogClose); + .click(photoedit.infoTab) + .expect(Selector("td").withText("Albums").visible) + .ok() + .expect(Selector("td").withText("NotYetExistingAlbum").visible) + .ok() + .click(photoedit.dialogClose); await menu.openPage("albums"); const AlbumCountAfterCreation = await album.getAlbumCount("all"); @@ -82,9 +82,8 @@ test.meta("testID", "albums-002").meta({ type: "short", mode: "public" })( await toolbar.search("NotYetExistingAlbum"); const AlbumUid = await album.getNthAlbumUid("all", 0); - await album.selectAlbumFromUID(AlbumUid); - await contextmenu.triggerContextMenuAction("delete", ""); - await menu.openPage("albums"); + await album.openAlbumWithUid(AlbumUid); + await toolbar.triggerToolbarAction("delete"); const AlbumCountAfterDelete = await album.getAlbumCount("all"); await t.expect(AlbumCountAfterDelete).eql(AlbumCount); @@ -93,60 +92,57 @@ test.meta("testID", "albums-002").meta({ type: "short", mode: "public" })( await toolbar.search("photo:true"); await page.clickCardTitleOfUID(FirstPhotoUid); + await t + .click(photoedit.infoTab) + .expect(Selector("td").withText("Albums").visible) + .notOk() + .expect(Selector("td").withText("NotYetExistingAlbum").visible) + .notOk() + .click(photoedit.dialogClose); + } +); + +test.meta("testID", "albums-003").meta({ type: "short", mode: "public" })("Common: Update album details", async (t) => { + await menu.openPage("albums"); + await toolbar.search("Holiday"); + const AlbumUid = await album.getNthAlbumUid("all", 0); + + await t.expect(page.cardTitle.nth(0).innerText).contains("Holiday"); + + await t.click(page.cardTitle.nth(0)).typeText(albumdialog.title, "Animals", { replace: true }); + + await t.expect(albumdialog.description.value).eql("").expect(albumdialog.category.value).eql(""); + await t - .click(photoedit.infoTab) - .expect(Selector("td").withText("Albums").visible) - .notOk() - .expect(Selector("td").withText("NotYetExistingAlbum").visible) - .notOk() - .click(photoedit.dialogClose); - } -); + .typeText(albumdialog.description, "All my animals") + .typeText(albumdialog.category, "Pets") + .pressKey("enter") + .click(albumdialog.dialogSave); -test.meta("testID", "albums-003").meta({ type: "short", mode: "public" })( - "Common: Update album details", - async (t) => { - await menu.openPage("albums"); - await toolbar.search("Holiday"); - const AlbumUid = await album.getNthAlbumUid("all", 0); + await t.expect(page.cardTitle.nth(0).innerText).contains("Animals"); - await t.expect(page.cardTitle.nth(0).innerText).contains("Holiday"); + await album.openAlbumWithUid(AlbumUid); + await toolbar.triggerToolbarAction("edit"); + await t.typeText(albumdialog.title, "Holiday", { replace: true }); - await t.click(page.cardTitle.nth(0)).typeText(albumdialog.title, "Animals", { replace: true }); + await t.expect(albumdialog.description.value).eql("All my animals").expect(albumdialog.category.value).eql("Pets"); - await t.expect(albumdialog.description.value).eql("").expect(albumdialog.category.value).eql(""); + await t + .click(albumdialog.description) + .pressKey("ctrl+a delete") + .pressKey("enter") + .click(albumdialog.category) + .pressKey("ctrl+a delete") + .pressKey("enter") + .click(albumdialog.dialogSave); + await menu.openPage("albums"); - await t - .typeText(albumdialog.description, "All my animals") - .typeText(albumdialog.category, "Pets") - .pressKey("enter") - .click(albumdialog.dialogSave); - - await t.expect(page.cardTitle.nth(0).innerText).contains("Animals"); - - await album.openAlbumWithUid(AlbumUid); - await toolbar.triggerToolbarAction("edit"); - await t.typeText(albumdialog.title, "Holiday", { replace: true }); - - await t.expect(albumdialog.description.value).eql("All my animals").expect(albumdialog.category.value).eql("Pets"); - - await t - .click(albumdialog.description) - .pressKey("ctrl+a delete") - .pressKey("enter") - .click(albumdialog.category) - .pressKey("ctrl+a delete") - .pressKey("enter") - .click(albumdialog.dialogSave); - await menu.openPage("albums"); - - await t - .expect(Selector("div").withText("Holiday").visible) - .ok() - .expect(Selector("div").withText("Animals").exists) - .notOk(); - } -); + await t + .expect(Selector("div").withText("Holiday").visible) + .ok() + .expect(Selector("div").withText("Animals").exists) + .notOk(); +}); test.meta("testID", "albums-004").meta({ type: "short", mode: "public" })( "Common: Add/Remove Photos to/from album", @@ -210,59 +206,53 @@ test.meta("testID", "albums-004").meta({ type: "short", mode: "public" })( } ); -test.meta("testID", "albums-005").meta({ mode: "public" })( - "Common: Use album search and filters", - async (t) => { - await menu.openPage("albums"); - if (t.browser.platform === "mobile") { - await toolbar.search("category:Family"); - } else { - await toolbar.setFilter("category", "Family"); - } - - await t.expect(page.cardTitle.nth(0).innerText).contains("Christmas"); - const AlbumCount = await album.getAlbumCount("all"); - await t.expect(AlbumCount).eql(1); - - if (t.browser.platform === "mobile") { - } else { - await toolbar.setFilter("category", "All Categories"); - } - - await toolbar.search("Holiday"); - - await t.expect(page.cardTitle.nth(0).innerText).contains("Holiday"); - const AlbumCount2 = await album.getAlbumCount("all"); - await t.expect(AlbumCount2).eql(1); +test.meta("testID", "albums-005").meta({ mode: "public" })("Common: Use album search and filters", async (t) => { + await menu.openPage("albums"); + if (t.browser.platform === "mobile") { + await toolbar.search("category:Family"); + } else { + await toolbar.setFilter("category", "Family"); } -); -test.meta("testID", "albums-006").meta({ mode: "public" })( - "Common: Test album autocomplete", - async (t) => { - await toolbar.search("photo:true"); - const FirstPhotoUid = await photo.getNthPhotoUid("image", 0); - await photo.selectPhotoFromUID(FirstPhotoUid); - await contextmenu.openContextMenu(); - await t.click(Selector("button.action-album")).click(Selector(".input-album input")); + await t.expect(page.cardTitle.nth(0).innerText).contains("Christmas"); + const AlbumCount = await album.getAlbumCount("all"); + await t.expect(AlbumCount).eql(1); - await t - .expect(page.selectOption.withText("Holiday").visible) - .ok() - .expect(page.selectOption.withText("Christmas").visible) - .ok(); - - await t.typeText(Selector(".input-album input"), "C", { replace: true }); - - await t - .expect(page.selectOption.withText("Holiday").visible) - .notOk() - .expect(page.selectOption.withText("Christmas").visible) - .ok() - .expect(page.selectOption.withText("C").visible) - .ok(); + if (t.browser.platform === "mobile") { + } else { + await toolbar.setFilter("category", "All Categories"); } -); + + await toolbar.search("Holiday"); + + await t.expect(page.cardTitle.nth(0).innerText).contains("Holiday"); + const AlbumCount2 = await album.getAlbumCount("all"); + await t.expect(AlbumCount2).eql(1); +}); + +test.meta("testID", "albums-006").meta({ mode: "public" })("Common: Test album autocomplete", async (t) => { + await toolbar.search("photo:true"); + const FirstPhotoUid = await photo.getNthPhotoUid("image", 0); + await photo.selectPhotoFromUID(FirstPhotoUid); + await contextmenu.openContextMenu(); + await t.click(Selector("button.action-album")).click(Selector(".input-album input")); + + await t + .expect(page.selectOption.withText("Holiday").visible) + .ok() + .expect(page.selectOption.withText("Christmas").visible) + .ok(); + + await t.typeText(Selector(".input-album input"), "C", { replace: true }); + + await t + .expect(page.selectOption.withText("Holiday").visible) + .notOk() + .expect(page.selectOption.withText("Christmas").visible) + .ok() + .expect(page.selectOption.withText("C").visible) + .ok(); +}); test.meta("testID", "albums-007").meta({ type: "short", mode: "public" })( "Common: Create, Edit, delete sharing link", @@ -285,4 +275,3 @@ test.meta("testID", "albums-009").meta({ type: "short", mode: "public" })( await page.testSetAlbumCover("albums"); } ); - diff --git a/frontend/tests/acceptance/acceptance-public/moment.js b/frontend/tests/acceptance/acceptance-public/moment.js index 0c331417e..7f7460101 100644 --- a/frontend/tests/acceptance/acceptance-public/moment.js +++ b/frontend/tests/acceptance/acceptance-public/moment.js @@ -10,7 +10,7 @@ import AlbumDialog from "../page-model/dialog-album"; fixture`Test moments`.page`${testcafeconfig.url}`; -const menu = new Menu(); +const menu = new Menu(); const album = new Album(); const toolbar = new Toolbar(); const contextmenu = new ContextMenu(); diff --git a/frontend/tests/acceptance/acceptance-public/photos.js b/frontend/tests/acceptance/acceptance-public/photos.js index 7d1b66102..daa20b057 100644 --- a/frontend/tests/acceptance/acceptance-public/photos.js +++ b/frontend/tests/acceptance/acceptance-public/photos.js @@ -92,9 +92,7 @@ test.meta("testID", "photos-003").meta({ type: "short", mode: "public" })( } await photo.triggerHoverAction("uid", SecondPhotoUid, "select"); await contextmenu.triggerContextMenuAction("edit", ""); - await t - .typeText(photoedit.latitude, "9.999", { replace: true }) - .typeText(photoedit.longitude, "9.999", { replace: true }); + await t.typeText(photoedit.coordinates, "9.999,9.999", { replace: true }); await t.click(photoedit.detailsApply).click(photoedit.detailsClose); await t.click(toolbar.cardsViewAction); const ApproveButtonThirdPhoto = 'div.is-photo[data-uid="' + ThirdPhotoUid + '"] button.action-approve'; @@ -169,11 +167,13 @@ test.meta("testID", "photos-004").meta({ type: "short", mode: "public" })( ); test.meta("testID", "photos-005").meta({ type: "short", mode: "public" })("Common: Edit photo/video", async (t) => { + await menu.openPage("browse"); await t.click(toolbar.cardsViewAction); + await toolbar.search("geo:true"); const FirstPhotoUid = await photo.getNthPhotoUid("image", 0); await page.clickCardTitleOfUID(FirstPhotoUid); - await t.expect(photoedit.latitude.visible).ok(); + await t.expect(photoedit.coordinates.visible).ok(); await t.click(photoedit.dialogNext); @@ -197,8 +197,7 @@ test.meta("testID", "photos-005").meta({ type: "short", mode: "public" })("Commo FirstPhotoYear = "Unknown"; } const FirstPhotoTimezone = await photoedit.timezoneValue.innerText; - const FirstPhotoLatitude = await photoedit.latitude.value; - const FirstPhotoLongitude = await photoedit.longitude.value; + const FirstPhotoCoordinates = await photoedit.coordinates.value; const FirstPhotoAltitude = await photoedit.altitude.value; const FirstPhotoCountry = await photoedit.countryValue.innerText; const FirstPhotoCamera = await photoedit.cameraValue.innerText; @@ -215,55 +214,11 @@ test.meta("testID", "photos-005").meta({ type: "short", mode: "public" })("Commo const FirstPhotoKeywords = await photoedit.keywords.value; const FirstPhotoNotes = await photoedit.notes.value; - await t.typeText(photoedit.title, "Not saved photo title", { replace: true }).click(photoedit.detailsClose); - await page.clickCardTitleOfUID(FirstPhotoUid); - - await t.expect(photoedit.title.value).eql(FirstPhotoTitle); - - await photoedit.editPhoto( - "New Photo Title", - "Europe/Moscow", - "15", - "07", - "2019", - "04:30:30", - "-1", - "41.15333", - "20.168331", - "32", - "1/32", - "29", - "33", - "Super nice edited photo", - "Happy", - "Happy2020", - "Super nice cat license", - "Description of a nice image :)", - ", cat, love", - "Some notes", - "Canon EOS M10", - "EF-M15-45mm f/3.5-6.3 IS STM" - ); - if (t.browser.platform === "mobile") { - await t.eval(() => location.reload()); - } else { - await toolbar.triggerToolbarAction("refresh"); - } - await toolbar.search("uid:" + FirstPhotoUid); - - await t - .expect(Selector('div[data-uid="' + FirstPhotoUid + '"] button.action-title-edit').innerText) - .eql("New Photo Title"); - - await photo.triggerHoverAction("uid", FirstPhotoUid, "select"); - await contextmenu.triggerContextMenuAction("edit", ""); - const expectedInputValues = [ ["title", "New Photo Title"], ["localTime", "04:30:30"], ["altitude", "-1"], - ["latitude", "41.15333"], - ["longitude", "20.168331"], + ["coordinates", "41.15333, 20.168331"], ["iso", "32"], ["exposure", "1/32"], ["fnumber", "29"], @@ -284,34 +239,62 @@ test.meta("testID", "photos-005").meta({ type: "short", mode: "public" })("Commo ["camera", "Canon EOS M10"], ["lens", "EF-M15-45mm f/3.5-6.3 IS STM"], ]; + const expectedSelectValuesNoCountry = [ + ["day", "15"], + ["month", "07"], + ["year", "2019"], + ["timezone", "Europe/Moscow"], + ["camera", "Canon EOS M10"], + ["lens", "EF-M15-45mm f/3.5-6.3 IS STM"], + ]; + const initialInputValues = [ + ["title", FirstPhotoTitle], + ["localTime", FirstPhotoLocalTime], + ["altitude", FirstPhotoAltitude], + ["coordinates", FirstPhotoCoordinates], + ["iso", FirstPhotoIso], + ["exposure", FirstPhotoExposure], + ["fnumber", FirstPhotoFnumber], + ["focallength", FirstPhotoFocalLength], + ["subject", FirstPhotoSubject], + ["artist", FirstPhotoArtist], + ["copyright", FirstPhotoCopyright], + ["license", FirstPhotoLicense], + ["description", FirstPhotoDescription], + ["notes", FirstPhotoNotes], + ["keywords", FirstPhotoKeywords], + ]; + const initialSelectValuesNoCountry = [ + ["day", FirstPhotoDay], + ["month", FirstPhotoMonth], + ["year", FirstPhotoYear], + ["timezone", FirstPhotoTimezone], + ["camera", FirstPhotoCamera], + ["lens", FirstPhotoLens], + ]; + await t.typeText(photoedit.title, "Not saved photo title", { replace: true }).click(photoedit.detailsClose); + await page.clickCardTitleOfUID(FirstPhotoUid); + await t.expect(photoedit.title.value).eql(FirstPhotoTitle); + + await photoedit.editFormValues(expectedInputValues, expectedSelectValuesNoCountry); + if (t.browser.platform === "mobile") { + await t.eval(() => location.reload()); + } else { + await toolbar.triggerToolbarAction("refresh"); + } + await toolbar.search("uid:" + FirstPhotoUid); + + await t + .expect(Selector('div[data-uid="' + FirstPhotoUid + '"] button.action-title-edit').innerText) + .eql("New Photo Title"); + + await photo.triggerHoverAction("uid", FirstPhotoUid, "select"); + await contextmenu.triggerContextMenuAction("edit", ""); await photoedit.checkEditFormValues(expectedInputValues, expectedSelectValues); + await photoedit.editFormValues(initialInputValues, initialSelectValuesNoCountry); + await contextmenu.triggerContextMenuAction("edit", ""); - await photoedit.undoPhotoEdit( - FirstPhotoTitle, - FirstPhotoTimezone, - FirstPhotoDay, - FirstPhotoMonth, - FirstPhotoYear, - FirstPhotoLocalTime, - FirstPhotoAltitude, - FirstPhotoLatitude, - FirstPhotoLongitude, - FirstPhotoCountry, - FirstPhotoIso, - FirstPhotoExposure, - FirstPhotoFnumber, - FirstPhotoFocalLength, - FirstPhotoSubject, - FirstPhotoArtist, - FirstPhotoCopyright, - FirstPhotoLicense, - FirstPhotoDescription, - FirstPhotoKeywords, - FirstPhotoNotes, - FirstPhotoCamera, - FirstPhotoLens - ); await contextmenu.checkContextMenuCount("1"); await contextmenu.clearSelection(); }); @@ -406,3 +389,19 @@ test.meta("testID", "photos-008").meta({ mode: "public" })( await t.expect(SearchTerm).eql("taken:2021-05-27").expect(PhotoCount).eql(3); } ); + +test.meta("testID", "photos-009").meta({ mode: "public" })( + "Common: Verify that correct time is shown in all views", + async (t) => { + await t.click(toolbar.cardsViewAction); + await toolbar.search("filename:garden/20210530_125021_1993AB92.jpg"); + + await t.expect(page.cardTaken.innerText).eql("Sun, May 30, 2021, 2:50 PM GMT+2"); + await photoviewer.openPhotoViewer("nth", 0); + await photoviewer.triggerPhotoViewerAction("info-button"); + await t.expect(Selector("div").withText("May 30, 2021, 2:50 PM GMT+2").visible).ok(); + await photoviewer.triggerPhotoViewerAction("edit-button"); + await t.expect(photoedit.localTime.value).eql("14:50:21"); + await t.expect(photoedit.timezoneValue.innerText).eql("Europe/Berlin"); + } +); diff --git a/frontend/tests/acceptance/acceptance-public/shortcuts.js b/frontend/tests/acceptance/acceptance-public/shortcuts.js index c396ce2f0..3e18545ea 100644 --- a/frontend/tests/acceptance/acceptance-public/shortcuts.js +++ b/frontend/tests/acceptance/acceptance-public/shortcuts.js @@ -155,7 +155,7 @@ test.meta("testID", "shortcuts-004").meta({ type: "short", mode: "public" })( // Edit Test await triggerKeyPress("e", "KeyE", 69, true, false); await t.expect(photoEdit.dialog.visible).ok(); - await t.pressKey("esc"); + await t.click(photoEdit.dialogClose); await photoviewer.openPhotoViewer("uid", FirstPhotoUid); await t.wait(500); // Wait for lightbox again diff --git a/frontend/tests/acceptance/acceptance-public/stacks.js b/frontend/tests/acceptance/acceptance-public/stacks.js index e0fa8e0ff..56912df33 100644 --- a/frontend/tests/acceptance/acceptance-public/stacks.js +++ b/frontend/tests/acceptance/acceptance-public/stacks.js @@ -45,10 +45,7 @@ test.meta("testID", "stacks-002").meta({ type: "short", mode: "public" })("Commo const FirstFileName = await Selector("td").withText("Filename").nextSibling(0).innerText; await t.expect(FirstFileName).contains("photos8_1_ski.jpg"); - await t - .click(photoedit.toggleExpandFile.nth(1)) - .click(photoedit.makeFilePrimary) - .click(photoedit.dialogClose); + await t.click(photoedit.toggleExpandFile.nth(1)).click(photoedit.makeFilePrimary).click(photoedit.dialogClose); await page.clickCardTitleOfUID(SequentialPhotoUid); const FirstFileNameAfterChange = await Selector("td").withText("Filename").nextSibling(0).innerText; diff --git a/frontend/tests/acceptance/page-model/album.js b/frontend/tests/acceptance/page-model/album.js index eb8141fc4..f5afcd492 100644 --- a/frontend/tests/acceptance/page-model/album.js +++ b/frontend/tests/acceptance/page-model/album.js @@ -171,7 +171,7 @@ export default class Page { async getAlbumCoverStyle(uid) { const selector = this.getAlbumCardPreviewSelector(uid); - const style = await selector.getStyleProperty('background-image'); + const style = await selector.getStyleProperty("background-image"); return style; } } diff --git a/frontend/tests/acceptance/page-model/menu.js b/frontend/tests/acceptance/page-model/menu.js index 53e4d2a5f..c49841a28 100644 --- a/frontend/tests/acceptance/page-model/menu.js +++ b/frontend/tests/acceptance/page-model/menu.js @@ -24,18 +24,18 @@ export default class Page { await t.click(Selector(".nav-" + page)); } else { if ( - (page === "monochrome") | - (page === "panoramas") | - (page === "stacks") | - (page === "scans") | - (page === "review") | - (page === "private") | - (page === "archive") + page === "monochrome" || + page === "panoramas" || + page === "stacks" || + page === "scans" || + page === "review" || + page === "private" || + page === "archive" ) { if (!(await Selector("div.v-list-group--open a.nav-browse").visible)) { await t.click(Selector("div.nav-browse .mdi-chevron-down")); } - } else if ((page === "live") | (page === "video")) { + } else if (page === "live" || page === "video") { if (!(await Selector("div.v-list-group--open a.nav-media").visible)) { await t.click(Selector("div.nav-media .mdi-chevron-down")); } @@ -43,11 +43,11 @@ export default class Page { if (!(await Selector("div.v-list-group--open a.nav-places").visible)) { await t.click(Selector("div.nav-places .mdi-chevron-down")); } - } else if ((page === "originals") | (page === "hidden") | (page === "errors")) { + } else if (page === "originals" || page === "hidden" || page === "errors") { if (!(await Selector("div.v-list-group--open a.nav-library").visible)) { await t.click(Selector("div.nav-library .mdi-chevron-down")); } - } else if ((page === "about") | (page === "feedback") | (page === "license")) { + } else if (page === "about" || page === "feedback" || page === "license") { if (!(await Selector("div.v-list-group--open a.nav-settings").visible)) { await t.click(Selector("div.nav-settings .mdi-chevron-down")); } @@ -65,13 +65,13 @@ export default class Page { await t.wait(5000); } if ( - (page === "monochrome") | - (page === "panoramas") | - (page === "stacks") | - (page === "scans") | - (page === "review") | - (page === "private") | - (page === "archive") + page === "monochrome" || + page === "panoramas" || + page === "stacks" || + page === "scans" || + page === "review" || + page === "private" || + page === "archive" ) { if ( !(await Selector("div.v-list-group--open div.nav-browse", { timeout: 15000 }).visible) & @@ -97,7 +97,7 @@ export default class Page { await t.click(Selector("div.nav-places .mdi-chevron-down")); } } - } else if ((page === "originals") | (page === "hidden") | (page === "errors")) { + } else if (page === "originals" || page === "hidden" || page === "errors") { if (await Selector(".nav-library").visible) { if (!(await Selector("div.v-list-group--open div.nav-library").visible)) { if (await Selector("div.nav-library .mdi-chevron-down").visible) { @@ -105,7 +105,7 @@ export default class Page { } } } - } else if ((page === "abouts") | (page === "feedback") | (page === "license")) { + } else if (page === "abouts" || page === "feedback" || page === "license" || page === "admin-users") { if (await Selector(".nav-settings").visible) { if ( !(await Selector("div.v-list-group--open div.nav-settings").visible) & diff --git a/frontend/tests/acceptance/page-model/page.js b/frontend/tests/acceptance/page-model/page.js index dd22717d2..c283cebe3 100644 --- a/frontend/tests/acceptance/page-model/page.js +++ b/frontend/tests/acceptance/page-model/page.js @@ -68,7 +68,7 @@ export default class Page { .expect(InitialExpire) .contains("Never") .typeText(sharedialog.linkSecretInput, "secretForTesting", { replace: true }) - .click(sharedialog.linkExpireInput) + .click(sharedialog.linkExpireInput, { speed: 0.5 }) .click(Selector("div").withText("After 1 day").parent('div[role="option"]')) .click(sharedialog.dialogSave) .click(sharedialog.dialogClose); @@ -83,8 +83,7 @@ export default class Page { .expect(ExpireAfterChange) .contains("After 1 day") .typeText(sharedialog.linkSecretInput, InitialSecret, { replace: true }) - .click(sharedialog.linkExpireInput) - .pressKey("down") + .click(sharedialog.linkExpireInput, { speed: 0.5 }) .click(Selector("div").withText("Never").parent('div[role="option"]')) .click(sharedialog.dialogSave) .click(sharedialog.expandLink); diff --git a/frontend/tests/acceptance/page-model/photo-edit.js b/frontend/tests/acceptance/page-model/photo-edit.js index 64842e65c..045a2d63f 100644 --- a/frontend/tests/acceptance/page-model/photo-edit.js +++ b/frontend/tests/acceptance/page-model/photo-edit.js @@ -29,6 +29,7 @@ export default class Page { this.title = Selector(".input-title input", { timeout: 15000 }); this.latitude = Selector(".input-latitude input", { timeout: 15000 }); this.longitude = Selector(".input-longitude input", { timeout: 15000 }); + this.coordinates = Selector(".input-coordinates input", { timeout: 15000 }); this.localTime = Selector(".input-local-time input", { timeout: 15000 }); this.day = Selector("div.input-day input", { timeout: 15000 }); this.month = Selector(".input-month input", { timeout: 15000 }); @@ -98,8 +99,7 @@ export default class Page { async checkAllDetailsFieldsDisabled(disabled) { const fields = [ this.title, - this.latitude, - this.longitude, + this.coordinates, this.keywords, this.localTime, this.day, @@ -168,14 +168,24 @@ export default class Page { } async checkEditFormInputValue(field, val) { - if (val !== "") { + if (field === "keywords") { + await t.expect(this[field].value).contains(val); + } else { await t.expect(this[field].value).eql(val); } } async checkEditFormSelectValue(field, val) { if (val !== "") { - await t.expect(this[field + "Value"].innerText).eql(val); + if (val === "Unknown" && field === "day") { + await t.expect(this[field + "Value"].innerText).eql(""); + } else if (val === "Unknown" && field === "month") { + await t.expect(this[field + "Value"].innerText).eql(""); + } else if (val === "Unknown" && field === "year") { + await t.expect(this[field + "Value"].innerText).eql(""); + } else { + await t.expect(this[field + "Value"].innerText).eql(val); + } } } @@ -189,224 +199,39 @@ export default class Page { }); } - async editPhoto( - title, - timezone, - day, - month, - year, - localTime, - altitude, - lat, - lng, - iso, - exposure, - fnumber, - flength, - subject, - artist, - copyright, - license, - description, - keywords, - notes, - camera, - lens - ) { - await t - .typeText(this.title, title, { replace: true }) - .typeText(this.timezone, timezone, { replace: true }) - .click(Selector("div").withText(timezone).parent('div[role="option"]')) - .typeText(this.day, day, { replace: true }) - .click(Selector("div").withText(day).parent('div[role="option"]')) - .typeText(this.month, month, { replace: true }) - .click(Selector("div").withText(month).parent('div[role="option"]')) - .typeText(this.year, year, { replace: true }) - .click(Selector("div").withText(year).parent('div[role="option"]')) - .click(this.localTime) - .pressKey("ctrl+a delete") - .typeText(this.localTime, localTime, { replace: true }) - .pressKey("enter") - - .typeText(this.altitude, altitude, { replace: true }) - .typeText(this.latitude, lat, { replace: true }) - .typeText(this.longitude, lng, { replace: true }) - .typeText(this.camera, camera, { replace: true }) - .click(Selector("div").withText(camera).parent('div[role="option"]')) - .typeText(this.lens, timezone, { replace: true }) - .click(Selector("div").withText(lens).parent('div[role="option"]')) - .typeText(this.iso, iso, { replace: true }) - .typeText(this.exposure, exposure, { replace: true }) - .typeText(this.fnumber, fnumber, { replace: true }) - .typeText(this.focallength, flength, { replace: true }) - .typeText(this.subject, subject, { replace: true }) - .typeText(this.artist, artist, { replace: true }) - .typeText(this.copyright, copyright, { replace: true }) - .typeText(this.license, license, { replace: true }) - .typeText(this.description, description, { - replace: true, - }) - .typeText(this.keywords, keywords) - .typeText(this.notes, notes, { replace: true }) - - .click(Selector("button.action-approve")); - await t.expect(this.latitude.visible, { timeout: 5000 }).ok(); - await t.click(this.detailsApply).click(Selector("button.action-close")); + async editFormInputValue(field, val) { + if (val !== "") { + if (field === "keywords") { + await t.typeText(this[field], val); + } else { + await t.typeText(this[field], val, { replace: true }); + } + } else if (field === "coordinates") { + await t.click(Selector("div.input-coordinates i.mdi-close")); + } else { + await t.click(this[field]).pressKey("ctrl+a delete"); + } } - async undoPhotoEdit( - title, - timezone, - day, - month, - year, - localTime, - altitude, - lat, - lng, - country, - iso, - exposure, - fnumber, - flength, - subject, - artist, - copyright, - license, - description, - keywords, - notes - ) { - if (title.empty || title === "") { - await t.click(Selector(".input-title input")).pressKey("ctrl+a delete"); - } else { - await t.typeText(Selector(".input-title input"), title, { replace: true }); - } - await t - .typeText(Selector(".input-day input"), day, { replace: true }) - .pressKey("enter") - .typeText(Selector(".input-month input"), month, { replace: true }) - .pressKey("enter") - .typeText(Selector(".input-year input"), year, { replace: true }) - .pressKey("enter"); - if (localTime.empty || localTime === "") { - await t.click(Selector(".input-local-time input")).pressKey("ctrl+a delete"); - } else { + async editFormSelectValue(field, val) { + if (val !== "") { await t - .click(Selector(".input-local-time input")) - .pressKey("ctrl+a delete") - .typeText(Selector(".input-local-time input"), localTime, { replace: true }) - .pressKey("enter"); - } - if (timezone.empty || timezone === "") { - await t - .click(Selector(".input-timezone input")) - .typeText(Selector(".input-timezone input"), "UTC", { replace: true }) - .pressKey("enter"); - } else { - await t.typeText(Selector(".input-timezone input"), timezone, { replace: true }).pressKey("enter"); - } - if (lat.empty || lat === "") { - await t.click(Selector(".input-latitude input")).pressKey("ctrl+a delete"); - } else { - await t.typeText(Selector(".input-latitude input"), lat, { replace: true }); - } - if (lng.empty || lng === "") { - await t.click(Selector(".input-longitude input")).pressKey("ctrl+a delete"); - } else { - await t.typeText(Selector(".input-longitude input"), lng, { replace: true }); - } - if (altitude.empty || altitude === "") { - await t.click(Selector(".input-altitude input")).pressKey("ctrl+a delete"); - } else { - await t.typeText(Selector(".input-altitude input"), altitude, { replace: true }); - } - if (country.empty || country === "") { - await t.click(Selector(".input-longitude input")).pressKey("ctrl+a delete"); - } else { - await t - .click(Selector(".input-country input")) - .pressKey("ctrl+a delete") - .typeText(Selector(".input-country input"), country, { replace: true }) - .pressKey("enter"); - } - // if (FirstPhotoCamera.empty || FirstPhotoCamera === "") - //{ await t - //.click(Selector('.input-camera input')) - // .hover(Selector('div').withText('Unknown').parent('div[role="option"]')) - // .click(Selector('div').withText('Unknown').parent('div[role="option"]'))} - //else - //{await t - // .click(Selector('.input-camera input')) - // .hover(Selector('div').withText(FirstPhotoCamera).parent('div[role="option"]')) - // .click(Selector('div').withText(FirstPhotoCamera).parent('div[role="option"]'))} - //if (FirstPhotoLens.empty || FirstPhotoLens === "") - //{ await t - // .click(Selector('.input-lens input')) - // .click(Selector('div').withText('Unknown').parent('div[role="option"]'))} - //else - //{await t - // .click(Selector('.input-lens input')) - // .click(Selector('div').withText(FirstPhotoLens).parent('div[role="option"]'))} - if (iso.empty || iso === "") { - await t.click(Selector(".input-iso input")).pressKey("ctrl+a delete"); - } else { - await t.typeText(Selector(".input-iso input"), iso, { replace: true }); - } - if (exposure.empty || exposure === "") { - await t.click(Selector(".input-exposure input")).pressKey("ctrl+a delete"); - } else { - await t.typeText(Selector(".input-exposure input"), exposure, { replace: true }); - } - if (fnumber.empty || fnumber === "") { - await t.click(Selector(".input-fnumber input")).pressKey("ctrl+a delete"); - } else { - await t.typeText(Selector(".input-fnumber input"), fnumber, { replace: true }); - } - if (flength.empty || flength === "") { - await t.click(Selector(".input-focal-length input")).pressKey("ctrl+a delete"); - } else { - await t.typeText(Selector(".input-focal-length input"), flength, { - replace: true, - }); - } - if (subject.empty || subject === "") { - await t.click(Selector(".input-subject textarea")).pressKey("ctrl+a delete"); - } else { - await t.typeText(Selector(".input-subject textarea"), subject, { replace: true }); - } - if (artist.empty || artist === "") { - await t.click(Selector(".input-artist input")).pressKey("ctrl+a delete"); - } else { - await t.typeText(Selector(".input-artist input"), artist, { replace: true }); - } - if (copyright.empty || copyright === "") { - await t.click(Selector(".input-copyright input")).pressKey("ctrl+a delete"); - } else { - await t.typeText(Selector(".input-copyright input"), copyright, { replace: true }); - } - if (license.empty || license === "") { - await t.click(Selector(".input-license textarea")).pressKey("ctrl+a delete"); - } else { - await t.typeText(Selector(".input-license textarea"), license, { replace: true }); - } - if (description.empty || description === "") { - await t.click(Selector(".input-caption textarea")).pressKey("ctrl+a delete"); - } else { - await t.typeText(Selector(".input-caption textarea"), description, { - replace: true, - }); - } - if (keywords.empty || keywords === "") { - await t.click(Selector(".input-keywords textarea")).pressKey("ctrl+a delete"); - } else { - await t.typeText(Selector(".input-keywords textarea"), keywords, { replace: true }); - } - if (notes.empty || notes === "") { - await t.click(Selector(".input-notes textarea")).pressKey("ctrl+a delete"); - } else { - await t.typeText(Selector(".input-notes textarea"), notes, { replace: true }); + .typeText(this[field], val, { replace: true }) + .click(Selector("div").withText(val).parent('div[role="option"]')); } + } + + async editFormValues(inputValues, selectValues) { + inputValues.forEach((el) => { + this.editFormInputValue(el[0], el[1]); + }); + + selectValues.forEach((x) => { + this.editFormSelectValue(x[0], x[1]); + }); + + await t.click(Selector("button.action-approve")); + await t.expect(this.coordinates.visible, { timeout: 5000 }).ok(); await t.click(this.detailsApply).click(Selector("button.action-close")); } } diff --git a/frontend/tests/acceptance/page-model/photo.js b/frontend/tests/acceptance/page-model/photo.js index b68cde92c..f6f32a3c9 100644 --- a/frontend/tests/acceptance/page-model/photo.js +++ b/frontend/tests/acceptance/page-model/photo.js @@ -141,7 +141,7 @@ export default class Page { async getPhotoPreviewStyle(uid) { const selector = this.getPhotoCardPreviewSelector(uid); - const style = await selector.getStyleProperty('background-image'); + const style = await selector.getStyleProperty("background-image"); return style; } } diff --git a/frontend/tests/acceptance/page-model/toolbar.js b/frontend/tests/acceptance/page-model/toolbar.js index f72fe244e..16d88bd0e 100644 --- a/frontend/tests/acceptance/page-model/toolbar.js +++ b/frontend/tests/acceptance/page-model/toolbar.js @@ -134,12 +134,15 @@ export default class Page { } else { await t.hover(Selector("button.action-menu__btn")); await t.click(Selector("div.action-" + action)); + if (action === "delete") { + await t.click(Selector("button.action-confirm")); + } } } } async search(term) { - await t.typeText(this.search1, term, { replace: true }).pressKey("enter"); + await t.click(this.search1).typeText(this.search1, term, { replace: true }).pressKey("enter").wait(7000); } async setFilter(filter, option) { diff --git a/frontend/tests/unit/common/util_test.js b/frontend/tests/unit/common/util_test.js index 746605ac0..3b214a7e4 100644 --- a/frontend/tests/unit/common/util_test.js +++ b/frontend/tests/unit/common/util_test.js @@ -219,5 +219,5 @@ describe("common/util", () => { } // Check they are all unique assert.lengthOf(tokens, numTokens); - }) + }); }); diff --git a/frontend/tests/unit/options/options_test.js b/frontend/tests/unit/options/options_test.js index 47ce06592..3c51f6a24 100644 --- a/frontend/tests/unit/options/options_test.js +++ b/frontend/tests/unit/options/options_test.js @@ -2,15 +2,27 @@ import "../fixtures"; import * as options from "../../../src/options/options"; import { AccountTypes, - Colors, DefaultLocale, - Expires, FallbackLocale, FeedbackCategories, + Colors, + DefaultLocale, + Expires, + FallbackLocale, + FeedbackCategories, FindLanguage, - FindLocale, Gender, Intervals, + FindLocale, + Gender, + Intervals, ItemsPerPage, MapsAnimate, - MapsStyle, Orientations, + MapsStyle, + Orientations, PhotoTypes, - RetryLimits, SetDefaultLocale, StartPages, ThumbFilters, Thumbs, ThumbSizes, Timeouts + RetryLimits, + SetDefaultLocale, + StartPages, + ThumbFilters, + Thumbs, + ThumbSizes, + Timeouts, } from "../../../src/options/options"; let chai = require("chai/chai"); @@ -108,72 +120,71 @@ describe("options/options", () => { it("should return start page options", () => { let features = { - "account": true, - "albums": true, - "archive": true, - "delete": true, - "download": true, - "edit": true, - "estimates": true, - "favorites": true, - "files": true, - "folders": true, - "import": true, - "labels": true, - "library": true, - "logs": true, - "calendar": true, - "moments": true, - "people": true, - "places": true, - "private": true, - "ratings": true, - "reactions": true, - "review": true, - "search": true, - "services": true, - "settings": true, - "share": true, - "upload": true, - "videos": true + account: true, + albums: true, + archive: true, + delete: true, + download: true, + edit: true, + estimates: true, + favorites: true, + files: true, + folders: true, + import: true, + labels: true, + library: true, + logs: true, + calendar: true, + moments: true, + people: true, + places: true, + private: true, + ratings: true, + reactions: true, + review: true, + search: true, + services: true, + settings: true, + share: true, + upload: true, + videos: true, }; assert.equal(StartPages(features).length, 12); assert.equal(StartPages(features)[5].value, "people"); assert.equal(StartPages(features)[5].props.disabled, false); features = { - "account": true, - "albums": true, - "archive": true, - "delete": true, - "download": true, - "edit": true, - "estimates": true, - "favorites": true, - "files": true, - "folders": true, - "import": true, - "labels": true, - "library": true, - "logs": true, - "calendar": false, - "moments": true, - "people": false, - "places": true, - "private": true, - "ratings": true, - "reactions": true, - "review": true, - "search": true, - "services": true, - "settings": true, - "share": true, - "upload": true, - "videos": true + account: true, + albums: true, + archive: true, + delete: true, + download: true, + edit: true, + estimates: true, + favorites: true, + files: true, + folders: true, + import: true, + labels: true, + library: true, + logs: true, + calendar: false, + moments: true, + people: false, + places: true, + private: true, + ratings: true, + reactions: true, + review: true, + search: true, + services: true, + settings: true, + share: true, + upload: true, + videos: true, }; assert.equal(StartPages(features).length, 12); assert.equal(StartPages(features)[5].value, "people"); assert.equal(StartPages(features)[5].props.disabled, true); - }); it("should return animation options", () => { @@ -238,5 +249,4 @@ describe("options/options", () => { assert.equal(AccountTypes()[0].value, "webdav"); assert.equal(AccountTypes().length, 1); }); - }); diff --git a/frontend/tests/vitest/common/api.test.js b/frontend/tests/vitest/common/api.test.js new file mode 100644 index 000000000..477e4d45e --- /dev/null +++ b/frontend/tests/vitest/common/api.test.js @@ -0,0 +1,62 @@ +import { describe, it, expect } from "vitest"; +import { $api } from "../fixtures"; + +describe("common/api", () => { + const getCollectionResponse = [ + { id: 1, name: "John Smith" }, + { id: 1, name: "John Smith" }, + ]; + + const getEntityResponse = { + id: 1, + name: "John Smith", + }; + + const postEntityResponse = { + users: [{ id: 1, name: "John Smith" }], + }; + + const putEntityResponse = { + users: [{ id: 2, name: "John Foo" }], + }; + + const deleteEntityResponse = null; + + it("get should return a list of results and return with HTTP code 200", async () => { + const response = await $api.get("foo"); + expect(response.status).toBe(200); + expect(response.data).toEqual(getCollectionResponse); + }); + + it("get should return one item and return with HTTP code 200", async () => { + const response = await $api.get("foo/123"); + expect(response.status).toBe(200); + expect(response.data).toEqual(getEntityResponse); + }); + + it("post should create one item and return with HTTP code 201", async () => { + const response = await $api.post("foo", postEntityResponse); + expect(response.status).toBe(201); + expect(response.data).toEqual(postEntityResponse); + }); + + it("put should update one item and return with HTTP code 200", async () => { + const response = await $api.put("foo/2", putEntityResponse); + expect(response.status).toBe(200); + expect(response.data).toEqual(putEntityResponse); + }); + + it("delete should delete one item and return with HTTP code 204", async () => { + const response = await $api.delete("foo/2", deleteEntityResponse); + expect(response.status).toBe(204); + expect(response.data).toEqual(deleteEntityResponse); + }); + + /* + it("get error", async () => { + // Assuming Api.get should be $api.get for this conversion context + // If Api is a different client, this test would need adjustment based on that client. + await expect($api.get("error")).rejects.toThrow("Request failed with status code 401"); + }); + */ +}); diff --git a/frontend/tests/vitest/common/can.test.js b/frontend/tests/vitest/common/can.test.js new file mode 100644 index 000000000..0ae2d5219 --- /dev/null +++ b/frontend/tests/vitest/common/can.test.js @@ -0,0 +1,59 @@ +import "../fixtures"; +import * as can from "common/can"; +import { expect, describe, it } from "vitest"; + +// These tests are not suitable for running on jsdom + +describe.skip("common/can", () => { + it("useVideo", () => { + expect(can.useVideo).toBe(true); + }); + + it("useMp4Avc", () => { + expect(can.useMp4Avc).toBe(true); + }); + + it("useMp4Hvc", () => { + expect(can.useMp4Hvc).toBe(false); + }); + + it("useMp4Hev", () => { + expect(can.useMp4Hev).toBe(false); + }); + + it("useMp4Vvc", () => { + expect(can.useMp4Vvc).toBe(false); + }); + + it("useMp4Evc", () => { + expect(can.useMp4Evc).toBe(false); + }); + + it("useMp4Av1", () => { + expect(can.useMp4Av1).toBe(true); + }); + + it("useVP8", () => { + expect(can.useVP8).toBe(true); + }); + + it("useVP9", () => { + expect(can.useVP9).toBe(true); + }); + + it("useWebmAv1", () => { + expect(can.useWebmAv1).toBe(true); + }); + + it("useMkvAv1", () => { + expect(can.useMkvAv1).toBe(false); + }); + + it("useWebM", () => { + expect(can.useWebM).toBe(true); + }); + + it("useTheora", () => { + expect(can.useTheora).toBe(true); + }); +}); diff --git a/frontend/tests/vitest/common/clipboard.test.js b/frontend/tests/vitest/common/clipboard.test.js new file mode 100644 index 000000000..dabf7e85e --- /dev/null +++ b/frontend/tests/vitest/common/clipboard.test.js @@ -0,0 +1,195 @@ +import { describe, it, expect } from "vitest"; +import "../fixtures"; +import { Clipboard } from "common/clipboard"; +import Photo from "model/photo"; +import Album from "model/album"; +import StorageShim from "node-storage-shim"; + +describe("common/clipboard", () => { + it("should construct clipboard", () => { + const storage = new StorageShim(); + const key = "clipboard"; + + const clipboard = new Clipboard(storage, key); + expect(clipboard.storageKey).toBe("clipboard"); + expect(clipboard.selection).toEqual([]); + }); + + it("should toggle model", () => { + const storage = new StorageShim(); + const key = "clipboard"; + + const clipboard = new Clipboard(storage, key); + clipboard.clear(); + clipboard.toggle(); + expect(clipboard.storageKey).toBe("clipboard"); + expect(clipboard.selection).toEqual([]); + + const values = { ID: 5, UID: "ABC123", Title: "Crazy Cat" }; + const photo = new Photo(values); + clipboard.toggle(photo); + expect(clipboard.selection[0]).toBe("ABC123"); + const values2 = { ID: 8, UID: "ABC124", Title: "Crazy Cat" }; + const photo2 = new Photo(values2); + clipboard.toggle(photo2); + expect(clipboard.selection[0]).toBe("ABC123"); + expect(clipboard.selection[1]).toBe("ABC124"); + clipboard.toggle(photo); + expect(clipboard.selection[0]).toBe("ABC124"); + }); + + it("should toggle id", () => { + const storage = new StorageShim(); + const key = "clipboard"; + + const clipboard = new Clipboard(storage, key); + clipboard.clear(); + clipboard.toggleId(3); + expect(clipboard.selection[0]).toBe(3); + clipboard.toggleId(3); + expect(clipboard.selection).toEqual([]); + }); + + it("should add model", () => { + const storage = new StorageShim(); + const key = "clipboard"; + + const clipboard = new Clipboard(storage, key); + clipboard.clear(); + clipboard.add(); + expect(clipboard.storageKey).toBe("clipboard"); + expect(clipboard.selection).toEqual([]); + + const values = { ID: 5, UID: "ABC124", Title: "Crazy Cat" }; + const photo = new Photo(values); + clipboard.add(photo); + expect(clipboard.selection[0]).toBe("ABC124"); + clipboard.add(photo); + expect(clipboard.selection[0]).toBe("ABC124"); + }); + + it("should add id", () => { + const storage = new StorageShim(); + const key = "clipboard"; + + const clipboard = new Clipboard(storage, key); + clipboard.clear(); + clipboard.addId(99); + expect(clipboard.selection[0]).toBe(99); + }); + + it("should test whether clipboard has model", () => { + const storage = new StorageShim(); + const key = "clipboard"; + + const clipboard = new Clipboard(storage, key); + clipboard.clear(); + clipboard.has(); + expect(clipboard.storageKey).toBe("clipboard"); + expect(clipboard.selection).toEqual([]); + + const values = { ID: 5, UID: "ABC124", Title: "Crazy Cat" }; + const photo = new Photo(values); + clipboard.add(photo); + expect(clipboard.selection[0]).toBe("ABC124"); + const result = clipboard.has(photo); + expect(result).toBe(true); + const values2 = { ID: 5, Title: "Christmas 2019", Slug: "christmas-2019", UID: 66 }; + const album = new Album(values2); + const result2 = clipboard.has(album); + expect(result2).toBe(false); + }); + + it("should test whether clipboard has id", () => { + const storage = new StorageShim(); + const key = "clipboard"; + + const clipboard = new Clipboard(storage, key); + clipboard.clear(); + clipboard.addId(77); + expect(clipboard.hasId(77)).toBe(true); + expect(clipboard.hasId(78)).toBe(false); + }); + + it("should remove model", () => { + const storage = new StorageShim(); + const key = "clipboard"; + + const clipboard = new Clipboard(storage, key); + clipboard.clear(); + clipboard.remove(); + expect(clipboard.storageKey).toBe("clipboard"); + expect(clipboard.selection).toEqual([]); + + const values = { ID: 5, UID: "ABC123", Title: "Crazy Cat" }; + const photo = new Photo(values); + clipboard.add(photo); + expect(clipboard.selection[0]).toBe("ABC123"); + + clipboard.remove(photo); + expect(clipboard.selection).toEqual([]); + const values2 = { ID: 5, Name: "Christmas 2019", Slug: "christmas-2019", UID: 66 }; + const album = new Album(values2); + clipboard.remove(album); + expect(clipboard.selection).toEqual([]); + }); + + it("should set and get ids", () => { + const storage = new StorageShim(); + const key = "clipboard"; + + const clipboard = new Clipboard(storage, key); + clipboard.clear(); + clipboard.setIds(8); + expect(clipboard.selection).toEqual([]); + clipboard.setIds([5, 6, 9]); + expect(clipboard.selection[0]).toBe(5); + expect(clipboard.selection[2]).toBe(9); + const result = clipboard.getIds(); + expect(result[1]).toBe(6); + expect(result.length).toBe(3); + }); + + it("should clear", () => { + const storage = new StorageShim(); + const key = "clipboard"; + + const clipboard = new Clipboard(storage, key); + clipboard.clear(); + clipboard.setIds([5, 6, 9]); + expect(clipboard.selection[0]).toBe(5); + clipboard.clear(); + expect(clipboard.selection).toEqual([]); + }); + + it("should add range", () => { + const storage = new StorageShim(); + const key = "clipboard"; + const clipboard = new Clipboard(storage, key); + clipboard.clear(); + const values = { ID: 5, UID: "ABC124", Title: "Crazy Cat" }; + const photo = new Photo(values); + const values2 = { ID: 6, UID: "ABC125", Title: "Crazy Dog" }; + const photo2 = new Photo(values2); + const values3 = { ID: 7, UID: "ABC128", Title: "Cute Dog" }; + const photo3 = new Photo(values3); + const values4 = { ID: 8, UID: "ABC129", Title: "Turtle" }; + const photo4 = new Photo(values4); + const Photos = [photo, photo2, photo3, photo4]; + clipboard.addRange(2); + expect(clipboard.selection.length).toBe(0); + clipboard.clear(); + clipboard.addRange(2, Photos); + expect(clipboard.selection[0]).toBe("ABC128"); + expect(clipboard.selection.length).toBe(1); + clipboard.addRange(1, Photos); + expect(clipboard.selection.length).toBe(2); + expect(clipboard.selection[0]).toBe("ABC128"); + expect(clipboard.selection[1]).toBe("ABC125"); + clipboard.clear(); + clipboard.add(photo); + expect(clipboard.selection.length).toBe(1); + clipboard.addRange(3, Photos); + expect(clipboard.selection.length).toBe(4); + }); +}); diff --git a/frontend/tests/vitest/common/config.test.js b/frontend/tests/vitest/common/config.test.js new file mode 100644 index 000000000..8848e9042 --- /dev/null +++ b/frontend/tests/vitest/common/config.test.js @@ -0,0 +1,320 @@ +import { describe, it, expect } from "vitest"; +import "../fixtures"; +import Config from "common/config"; +import StorageShim from "node-storage-shim"; + +const defaultConfig = new Config(new StorageShim(), window.__CONFIG__); + +describe("common/config", () => { + it("should get all config values", () => { + const storage = new StorageShim(); + const values = { siteTitle: "Foo", name: "testConfig", year: "2300" }; + + const cfg = new Config(storage, values); + const result = cfg.getValues(); + expect(result.name).toBe("testConfig"); + }); + + it("should set multiple config values", () => { + const storage = new StorageShim(); + const values = { + siteTitle: "Foo", + country: "Germany", + city: "Hamburg", + settings: { ui: { language: "de", theme: "default" } }, + }; + const newValues = { + siteTitle: "Foo", + new: "xxx", + city: "Berlin", + debug: true, + settings: { ui: { language: "en", theme: "lavender" } }, + }; + const cfg = new Config(storage, values); + expect(cfg.values.settings.ui.theme).toBe("default"); + expect(cfg.values.settings.ui.language).toBe("de"); + expect(cfg.values.new).toBeUndefined(); + expect(cfg.values.city).toBe("Hamburg"); + cfg.setValues(); + expect(cfg.values.new).toBeUndefined(); + expect(cfg.values.city).toBe("Hamburg"); + cfg.setValues(newValues); + const result = cfg.getValues(); + expect(result.city).toBe("Berlin"); + expect(result.new).toBe("xxx"); + expect(result.country).toBe("Germany"); + expect(cfg.values.settings.ui.theme).toBe("lavender"); + expect(cfg.values.settings.ui.language).toBe("en"); + }); + + it("should test constructor with empty values", () => { + const storage = new StorageShim(); + const values = {}; + const config = new Config(storage, values); + expect(config.debug).toBe(true); + expect(config.demo).toBe(false); + expect(config.apiUri).toBe("/api/v1"); + }); + + it("should store values", () => { + const storage = new StorageShim(); + const values = { siteTitle: "Foo", country: "Germany", city: "Hamburg" }; + const config = new Config(storage, values); + expect(config.storage["config"]).toBe(null); + config.storeValues(); + const expected = '{"siteTitle":"Foo","country":"Germany","city":"Hamburg"}'; + expect(config.storage["config"]).toBe(expected); + }); + + it("should return the develop feature flag value", () => { + expect(defaultConfig.featDevelop()).toBe(true); + }); + + it("should return the experimental feature flag value", () => { + expect(defaultConfig.featExperimental()).toBe(true); + }); + + it("should return the preview feature flag value", () => { + expect(defaultConfig.featPreview()).toBe(true); + }); + + it("should set and get single config value", () => { + const storage = new StorageShim(); + const values = { siteTitle: "Foo", country: "Germany", city: "Hamburg" }; + + const config = new Config(storage, values); + config.set("city", "Berlin"); + const result = config.get("city"); + expect(result).toBe("Berlin"); + }); + + it("should return app about", () => { + expect(defaultConfig.getAbout()).toBe("PhotoPrism® CE"); + }); + + it("should return app edition", () => { + expect(defaultConfig.getEdition()).toBe("ce"); + }); + + it("should return settings", () => { + const result = defaultConfig.getSettings(); + expect(result.ui.theme).toBe("default"); + expect(result.ui.language).toBe("en"); + }); + + it("should return feature", () => { + expect(defaultConfig.feature("places")).toBe(true); + expect(defaultConfig.feature("download")).toBe(true); + }); + + it("should test get name", () => { + const result = defaultConfig.getPerson("a"); + expect(result).toBeNull(); + + const result2 = defaultConfig.getPerson("Andrea Sander"); + expect(result2.UID).toBe("jr0jgyx2viicdnf7"); + + const result3 = defaultConfig.getPerson("Otto Sander"); + expect(result3.UID).toBe("jr0jgyx2viicdn88"); + }); + + it("should create, update and delete people", () => { + const storage = new StorageShim(); + const values = { Debug: true, siteTitle: "Foo", country: "Germany", city: "Hamburg" }; + + const cfg = new Config(storage, values); + cfg.onPeople("people.created", { entities: {} }); + expect(cfg.values.people).toEqual([]); + cfg.onPeople("people.created", { + entities: [ + { + UID: "abc123", + Name: "Test Name", + Keywords: ["Test", "Name"], + }, + ], + }); + expect(cfg.values.people[0].Name).toBe("Test Name"); + cfg.onPeople("people.updated", { + entities: [ + { + UID: "abc123", + Name: "New Name", + Keywords: ["New", "Name"], + }, + ], + }); + expect(cfg.values.people[0].Name).toBe("New Name"); + cfg.onPeople("people.deleted", { + entities: ["abc123"], + }); + expect(cfg.values.people).toEqual([]); + }); + + it("should return language locale", () => { + const cfg = new Config(new StorageShim(), Object.assign({}, window.__CONFIG__)); + expect(cfg.getLanguageLocale()).toBe("en"); + }); + + it("should return user time zone", () => { + const cfg = new Config(new StorageShim(), Object.assign({}, window.__CONFIG__)); + expect(cfg.getTimeZone()).toBe("Local"); + }); + + it("should return if language is rtl", () => { + const cfg = new Config(new StorageShim(), Object.assign({}, window.__CONFIG__)); + const result = cfg.isRtl(); + expect(result).toBe(false); + const newValues = { + Debug: true, + siteTitle: "Foo", + country: "Germany", + city: "Hamburg", + settings: { + ui: { + language: "he", + }, + }, + }; + cfg.setValues(newValues); + const result2 = cfg.isRtl(); + expect(result2).toBe(true); + const values2 = { siteTitle: "Foo" }; + const storage = new StorageShim(); + const config3 = new Config(storage, values2); + const result3 = config3.isRtl(); + expect(result3).toBe(false); + cfg.setLanguage("en"); + }); + + it("should return album categories", () => { + const cfg = new Config(new StorageShim(), Object.assign({}, window.__CONFIG__)); + const result = cfg.albumCategories(); + expect(result[0]).toBe("Animal"); + const newValues = { + albumCategories: ["Mouse"], + }; + cfg.setValues(newValues); + const result2 = cfg.albumCategories(); + expect(result2[0]).toBe("Mouse"); + }); + + it("should update counts", () => { + const cfg = new Config(new StorageShim(), Object.assign({}, window.__CONFIG__)); + expect(cfg.values.count.all).toBe(133); + expect(cfg.values.count.photos).toBe(132); + cfg.onCount("add.photos", { + count: 2, + }); + expect(cfg.values.count.all).toBe(135); + expect(cfg.values.count.photos).toBe(134); + expect(cfg.values.count.videos).toBe(1); + cfg.onCount("add.videos", { + count: 1, + }); + expect(cfg.values.count.all).toBe(136); + expect(cfg.values.count.videos).toBe(2); + expect(cfg.values.count.cameras).toBe(6); + cfg.onCount("add.cameras", { + count: 3, + }); + expect(cfg.values.count.all).toBe(136); + expect(cfg.values.count.cameras).toBe(9); + expect(cfg.values.count.lenses).toBe(5); + cfg.onCount("add.lenses", { + count: 1, + }); + expect(cfg.values.count.lenses).toBe(6); + expect(cfg.values.count.countries).toBe(6); + cfg.onCount("add.countries", { + count: 2, + }); + expect(cfg.values.count.countries).toBe(8); + expect(cfg.values.count.states).toBe(8); + cfg.onCount("add.states", { + count: 1, + }); + expect(cfg.values.count.states).toBe(9); + expect(cfg.values.count.people).toBe(5); + cfg.onCount("add.people", { + count: 4, + }); + expect(cfg.values.count.people).toBe(9); + expect(cfg.values.count.places).toBe(17); + cfg.onCount("add.places", { + count: 1, + }); + expect(cfg.values.count.places).toBe(18); + expect(cfg.values.count.labels).toBe(22); + cfg.onCount("add.labels", { + count: 2, + }); + expect(cfg.values.count.labels).toBe(24); + expect(cfg.values.count.albums).toBe(2); + cfg.onCount("add.albums", { + count: 3, + }); + expect(cfg.values.count.albums).toBe(5); + expect(cfg.values.count.moments).toBe(4); + cfg.onCount("add.moments", { + count: 1, + }); + expect(cfg.values.count.moments).toBe(5); + expect(cfg.values.count.months).toBe(27); + cfg.onCount("add.months", { + count: 4, + }); + expect(cfg.values.count.months).toBe(31); + expect(cfg.values.count.folders).toBe(23); + cfg.onCount("add.folders", { + count: 2, + }); + expect(cfg.values.count.folders).toBe(25); + expect(cfg.values.count.files).toBe(136); + cfg.onCount("add.files", { + count: 14, + }); + expect(cfg.values.count.files).toBe(150); + expect(cfg.values.count.favorites).toBe(1); + cfg.onCount("add.favorites", { + count: 4, + }); + expect(cfg.values.count.favorites).toBe(5); + expect(cfg.values.count.review).toBe(22); + cfg.onCount("add.review", { + count: 1, + }); + expect(cfg.values.count.all).toBe(135); + expect(cfg.values.count.review).toBe(23); + expect(cfg.values.count.private).toBe(0); + cfg.onCount("add.private", { + count: 3, + }); + expect(cfg.values.count.private).toBe(3); + expect(cfg.values.count.all).toBe(135); + cfg.onCount("add.photos", { + count: 4, + }); + expect(cfg.values.count.all).toBe(139); + }); + + it("should return user interface direction string", async () => { + const cfg = new Config(new StorageShim(), Object.assign({}, window.__CONFIG__)); + await cfg.setLanguage("en", true); + expect(document.dir).toBe("ltr"); + expect(cfg.dir()).toBe("ltr"); + expect(cfg.dir(true)).toBe("rtl"); + expect(cfg.dir(false)).toBe("ltr"); + await cfg.setLanguage("he", false); + expect(document.dir).toBe("ltr"); + await cfg.setLanguage("he", true); + expect(cfg.dir()).toBe("rtl"); + expect(document.dir).toBe("rtl"); + expect(cfg.dir()).toBe("rtl"); + expect(cfg.dir(true)).toBe("rtl"); + expect(cfg.dir(false)).toBe("ltr"); + await cfg.setLanguage("en", true); + expect(document.dir).toBe("ltr"); + expect(cfg.dir()).toBe("ltr"); + }); +}); diff --git a/frontend/tests/vitest/common/form.test.js b/frontend/tests/vitest/common/form.test.js new file mode 100644 index 000000000..9cd27562f --- /dev/null +++ b/frontend/tests/vitest/common/form.test.js @@ -0,0 +1,130 @@ +import { describe, it, expect } from "vitest"; +import "../fixtures"; +import { Form, FormPropertyType } from "common/form"; + +describe("common/form", () => { + it("setting and getting definition", () => { + const def = { foo: { type: FormPropertyType.String, caption: "Foo" } }; + const form = new Form(); + + form.setDefinition(def); + + const result = form.getDefinition(); + expect(result).toBe(def); + }); + + it("setting and getting a value according to type", () => { + const def = { + foo: { type: FormPropertyType.String, caption: "Foo" }, + }; + const form = new Form(); + + form.setDefinition(def); + form.setValue("foo", "test"); + + const result = form.getValue("foo"); + expect(result).toBe("test"); + }); + + it("setting a value not according to type", () => { + const def = { + foo: { type: FormPropertyType.String, caption: "Foo" }, + }; + const form = new Form(); + + form.setDefinition(def); + + expect(() => { + form.setValue("foo", 3); + }).toThrow(); + }); + + it("setting and getting a value for missing property throws exception", () => { + const def = { + foo: { type: FormPropertyType.String, caption: "Foo" }, + }; + const form = new Form(); + + form.setDefinition(def); + + expect(() => { + form.setValue("bar", 3); + }).toThrow(); + + expect(() => { + form.getValue("bar"); + }).toThrow(); + }); + + it("setting and getting a complex value", () => { + const complexValue = { + something: "abc", + another: "def", + }; + const def = { + foo: { + type: FormPropertyType.Object, + caption: "Foo", + }, + }; + const form = new Form(); + + form.setDefinition(def); + form.setValue("foo", complexValue); + + const result = form.getValue("foo"); + expect(result).toEqual(complexValue); + }); + + it("setting and getting more values at once", () => { + const def = { + foo: { type: FormPropertyType.String, caption: "Foo" }, + baz: { type: FormPropertyType.String, caption: "XX" }, + }; + const form = new Form(); + + form.setDefinition(def); + form.setValues({ foo: "test", baz: "yyy" }); + + const result = form.getValues(); + expect(result.foo).toBe("test"); + expect(result.baz).toBe("yyy"); + }); + + it("getting options of fieldname", () => { + const def = { + search: { + type: FormPropertyType.String, + caption: "Search", + label: { options: "tiles", text: "Tiles" }, + options: [ + { value: "tiles", text: "Tiles" }, + { value: "mosaic", text: "Mosaic" }, + ], + }, + }; + const form = new Form(); + + form.setDefinition(def); + + const result = form.getOptions("search"); + expect(result[0].value).toBe("tiles"); + expect(result[1].text).toBe("Mosaic"); + }); + + it("getting not existing options returns empty object", () => { + const def = { + foo: { + type: FormPropertyType.Object, + caption: "Foo", + }, + }; + const form = new Form(); + + form.setDefinition(def); + + const result = form.getOptions("foo"); + expect(result[0].option).toBe(""); + expect(result[0].label).toBe(""); + }); +}); diff --git a/frontend/tests/vitest/common/notify.test.js b/frontend/tests/vitest/common/notify.test.js new file mode 100644 index 000000000..a80079dc9 --- /dev/null +++ b/frontend/tests/vitest/common/notify.test.js @@ -0,0 +1,25 @@ +import { describe, it } from "vitest"; +import "../fixtures"; +import $notify from "common/notify"; + +describe("common/alert", () => { + it("should call alert.info", () => { + $notify.info("message"); + }); + + it("should call alert.warning", () => { + $notify.warn("message"); + }); + + it("should call alert.error", () => { + $notify.error("message"); + }); + + it("should call alert.success", () => { + $notify.success("message"); + }); + + it("should call wait", () => { + $notify.wait(); + }); +}); diff --git a/frontend/tests/vitest/common/session.test.js b/frontend/tests/vitest/common/session.test.js new file mode 100644 index 000000000..5d979af88 --- /dev/null +++ b/frontend/tests/vitest/common/session.test.js @@ -0,0 +1,269 @@ +import { describe, it, expect, beforeEach } from "vitest"; +import "../fixtures"; +import { $config } from "app/session"; +import Session from "common/session"; +import StorageShim from "node-storage-shim"; + +describe("common/session", () => { + beforeEach(() => { + window.onbeforeunload = () => "Oh no!"; + }); + + it("should construct session", () => { + const storage = new StorageShim(); + const session = new Session(storage, $config); + expect(session.authToken).toBe(null); + }); + + it("should set, get and delete token", () => { + const storage = new StorageShim(); + const session = new Session(storage, $config); + expect(session.hasToken("2lbh9x09")).toBe(false); + session.setAuthToken("999900000000000000000000000000000000000000000000"); + expect(session.authToken).toBe("999900000000000000000000000000000000000000000000"); + const result = session.getAuthToken(); + expect(result).toBe("999900000000000000000000000000000000000000000000"); + session.reset(); + expect(session.authToken).toBe(null); + }); + + it("should set, get and delete user", () => { + const storage = new StorageShim(); + const session = new Session(storage, $config); + expect(session.user.hasId()).toBe(false); + + const user = { + ID: 5, + NickName: "Foo", + GivenName: "Max", + DisplayName: "Max Example", + Email: "test@test.com", + SuperAdmin: true, + Role: "admin", + }; + + const data = { + user, + }; + + expect(session.hasId()).toBe(false); + expect(session.hasAuthToken()).toBe(false); + expect(session.isAuthenticated()).toBe(false); + expect(session.hasProvider()).toBe(false); + session.setData(); + expect(session.user.DisplayName).toBe(""); + session.setData(data); + expect(session.hasId()).toBe(false); + expect(session.hasAuthToken()).toBe(false); + expect(session.hasProvider()).toBe(false); + session.setId("a9b8ff820bf40ab451910f8bbfe401b2432446693aa539538fbd2399560a722f"); + session.setAuthToken("234200000000000000000000000000000000000000000000"); + session.setProvider("public"); + expect(session.hasId()).toBe(true); + expect(session.hasAuthToken()).toBe(true); + expect(session.isAuthenticated()).toBe(true); + expect(session.hasProvider()).toBe(true); + expect(session.user.DisplayName).toBe("Max Example"); + expect(session.user.SuperAdmin).toBe(true); + expect(session.user.Role).toBe("admin"); + session.reset(); + expect(session.user.DisplayName).toBe(""); + expect(session.user.SuperAdmin).toBe(false); + expect(session.user.Role).toBe(""); + session.setUser(user); + expect(session.user.DisplayName).toBe("Max Example"); + expect(session.user.SuperAdmin).toBe(true); + expect(session.user.Role).toBe("admin"); + + const result = session.getUser(); + + expect(result.DisplayName).toBe("Max Example"); + expect(result.SuperAdmin).toBe(true); + expect(result.Role).toBe("admin"); + expect(result.Email).toBe("test@test.com"); + expect(result.ID).toBe(5); + session.deleteData(); + expect(session.user.hasId()).toBe(true); + session.deleteUser(); + expect(session.user.hasId()).toBe(false); + }); + + it("should get user email", () => { + const storage = new StorageShim(); + const session = new Session(storage, $config); + + session.setId("a9b8ff820bf40ab451910f8bbfe401b2432446693aa539538fbd2399560a722f"); + session.setAuthToken("234200000000000000000000000000000000000000000000"); + session.setProvider("public"); + + const values = { + user: { + ID: 5, + Name: "foo", + DisplayName: "Max Last", + Email: "test@test.com", + Role: "admin", + }, + }; + + session.setData(values); + const result = session.getEmail(); + expect(result).toBe("test@test.com"); + const values2 = { + user: { + Name: "foo", + DisplayName: "Max Last", + Email: "test@test.com", + Role: "admin", + }, + }; + session.setData(values2); + const result2 = session.getEmail(); + expect(result2).toBe(""); + session.deleteData(); + }); + + it("should get user display name", () => { + const storage = new StorageShim(); + const session = new Session(storage, $config); + const values = { + user: { + ID: 5, + Name: "foo", + DisplayName: "Max Last", + Email: "test@test.com", + Role: "admin", + }, + }; + session.setData(values); + const result = session.getDisplayName(); + expect(result).toBe("Max Last"); + const values2 = { + id: "a9b8ff820bf40ab451910f8bbfe401b2432446693aa539538fbd2399560a722f", + access_token: "234200000000000000000000000000000000000000000000", + provider: "public", + data: {}, + user: { + ID: 5, + Name: "bar", + DisplayName: "", + Email: "test@test.com", + Role: "admin", + }, + }; + session.setData(values2); + const result2 = session.getDisplayName(); + expect(result2).toBe("Bar"); + session.deleteData(); + }); + + it("should get user full name", () => { + const storage = new StorageShim(); + const session = new Session(storage, $config); + const values = { + user: { + ID: 5, + Name: "foo", + DisplayName: "Max Last", + Email: "test@test.com", + Role: "admin", + }, + }; + session.setData(values); + const result = session.getDisplayName(); + expect(result).toBe("Max Last"); + const values2 = { + user: { + Name: "bar", + DisplayName: "Max New", + Email: "test@test.com", + Role: "admin", + }, + }; + session.setData(values2); + const result2 = session.getDisplayName(); + expect(result2).toBe(""); + session.deleteData(); + }); + + it("should test whether user is set", () => { + const storage = new StorageShim(); + const session = new Session(storage, $config); + const values = { + user: { + ID: 5, + Name: "foo", + DisplayName: "Max Last", + Email: "test@test.com", + Role: "admin", + }, + }; + session.setData(values); + const result = session.isUser(); + expect(result).toBe(true); + session.deleteData(); + }); + + it("should test whether user is admin", () => { + const storage = new StorageShim(); + const session = new Session(storage, $config); + const values = { + user: { + ID: 5, + Name: "foo", + DisplayName: "Max Last", + Email: "test@test.com", + Role: "admin", + }, + }; + session.setData(values); + const result = session.isAdmin(); + expect(result).toBe(true); + session.deleteData(); + }); + + it("should test whether user is anonymous", () => { + const storage = new StorageShim(); + const session = new Session(storage, $config); + const values = { + user: { + ID: 5, + DisplayName: "Foo", + FullName: "Max Last", + Email: "test@test.com", + Role: "admin", + }, + }; + session.setData(values); + const result = session.isAnonymous(); + expect(result).toBe(false); + session.deleteData(); + }); + + it("should use session storage", () => { + const storage = new StorageShim(); + const session = new Session(storage, $config); + expect(storage.getItem("session")).toBe(null); + session.useSessionStorage(); + expect(storage.getItem("session")).toBe("true"); + session.deleteData(); + }); + + it("should use local storage", () => { + const storage = new StorageShim(); + const session = new Session(storage, $config); + expect(storage.getItem("session")).toBe(null); + session.useLocalStorage(); + expect(storage.getItem("session")).toBe("false"); + session.deleteData(); + }); + + it("should test redeem token", async () => { + const storage = new StorageShim(); + const session = new Session(storage, $config); + expect(session.data).toBe(null); + await session.redeemToken("token123"); + expect(session.data.token).toBe("123token"); + session.deleteData(); + }); +}); diff --git a/frontend/tests/vitest/common/util.test.js b/frontend/tests/vitest/common/util.test.js index 57965bdd2..e9d41892e 100644 --- a/frontend/tests/vitest/common/util.test.js +++ b/frontend/tests/vitest/common/util.test.js @@ -1,108 +1,219 @@ import { describe, it, expect } from "vitest"; +import "../fixtures"; import $util from "common/util"; +import { tokenRegexp, tokenLength } from "common/util"; +import * as can from "common/can"; +import { ContentTypeMp4AvcMain, ContentTypeMp4HvcMain } from "common/media"; -describe("$util", () => { - describe("formatBytes", () => { - it("should format bytes as KB", () => { - expect($util.formatBytes(1000)).toBe("1 KB"); - expect($util.formatBytes(2000)).toBe("2 KB"); - expect($util.formatBytes("3000")).toBe("3 KB"); - }); - - it("should format bytes as MB", () => { - expect($util.formatBytes(1048576)).toBe("1.0 MB"); - expect($util.formatBytes(2097152)).toBe("2.0 MB"); - expect($util.formatBytes(3145728)).toBe("3.0 MB"); - }); - - it("should format bytes as GB", () => { - expect($util.formatBytes(1073741824)).toBe("1.0 GB"); - expect($util.formatBytes(2147483648)).toBe("2.0 GB"); - expect($util.formatBytes(3221225472)).toBe("3.0 GB"); - }); - - it("should handle zero and falsy values", () => { - expect($util.formatBytes(0)).toBe("0 KB"); - expect($util.formatBytes(null)).toBe("0 KB"); - expect($util.formatBytes(undefined)).toBe("0 KB"); - expect($util.formatBytes("")).toBe("0 KB"); - }); +describe("common/util", () => { + it("should return size in KB", () => { + const s = $util.formatBytes(10 * 1024); + expect(s).toBe("10 KB"); }); - - describe("truncate", () => { - it("should truncate text longer than specified length", () => { - expect($util.truncate("This is a test", 7)).toBe("This i…"); - expect($util.truncate("Hello world!", 5)).toBe("Hell…"); - }); - - it("should not truncate text shorter than specified length", () => { - expect($util.truncate("Test", 10)).toBe("Test"); - expect($util.truncate("Short", 10)).toBe("Short"); - }); - - it("should use custom ending if specified", () => { - expect($util.truncate("This is a test", 7, "...")).toBe("This..."); - expect($util.truncate("Hello world!", 5, " [more]")).toBe(" [more]"); - }); - - it("should use default values if not specified", () => { - expect($util.truncate("This is a very long text that should be truncated")).toBe( - "This is a very long text that should be truncated" - ); - // Default length is 100 characters - }); + it("should return size in GB", () => { + const s = $util.formatBytes(10 * 1024 * 1024 * 1024); + expect(s).toBe("10.0 GB"); }); - - describe("capitalize", () => { - it("should capitalize first letter of each word", () => { - expect($util.capitalize("hello world")).toBe("Hello World"); - expect($util.capitalize("test string")).toBe("Test String"); - }); - - it("should handle empty strings", () => { - expect($util.capitalize("")).toBe(""); - expect($util.capitalize(null)).toBe(""); - expect($util.capitalize(undefined)).toBe(""); - }); - - it("should handle already capitalized text", () => { - expect($util.capitalize("Hello World")).toBe("Hello World"); - expect($util.capitalize("HELLO WORLD")).toBe("HELLO WORLD"); - }); + it("should convert bytes in GB", () => { + const b = $util.gigaBytes(10 * 1024 * 1024 * 1024); + expect(b).toBe(10); }); - - describe("ucFirst", () => { - it("should capitalize only first letter of string", () => { - expect($util.ucFirst("hello world")).toBe("Hello world"); - expect($util.ucFirst("test string")).toBe("Test string"); - }); - - it("should handle empty strings", () => { - expect($util.ucFirst("")).toBe(""); - expect($util.ucFirst(null)).toBe(""); - expect($util.ucFirst(undefined)).toBe(""); - }); - - it("should handle already capitalized text", () => { - expect($util.ucFirst("Hello world")).toBe("Hello world"); - expect($util.ucFirst("HELLO world")).toBe("HELLO world"); - }); + it("should return duration 3ns", () => { + const duration = $util.formatDuration(-3); + expect(duration).toBe("3ns"); }); + it("should return duration 0s", () => { + const duration = $util.formatDuration(0); + expect(duration).toBe("0s"); + }); + it("should return duration 2µs", () => { + const duration = $util.formatDuration(2000); + expect(duration).toBe("2µs"); + }); + it("should return duration 4ms", () => { + const duration = $util.formatDuration(4000000); + expect(duration).toBe("4ms"); + }); + it("should return duration 6s", () => { + const duration = $util.formatDuration(6000000000); + expect(duration).toBe("0:06"); + }); + it("should return duration 10min", () => { + const duration = $util.formatDuration(600000000000); + expect(duration).toBe("10:00"); + }); + it("should return formatted seconds", () => { + const floor = $util.formatSeconds(Math.floor(65.4)); + expect(floor).toBe("1:05"); + const ceil = $util.formatSeconds(Math.ceil(65.4)); + expect(ceil).toBe("1:06"); + const unknown = $util.formatSeconds(0); + expect(unknown).toBe("0:00"); + const negative = $util.formatSeconds(-1); + expect(negative).toBe("0:00"); + }); + it("should return remaining seconds", () => { + const t = 23.3; + const d = 42.6; + const time = $util.formatSeconds(Math.floor(t)); + expect(time).toBe("0:23"); + const duration = $util.formatRemainingSeconds(0.0, d); + expect(duration).toBe("0:43"); + const difference = $util.formatRemainingSeconds(t, d); + expect(difference).toBe("0:20"); + const dotTime = $util.formatSeconds(Math.floor(9.5)); + expect(dotTime).toBe("0:09"); + const dotDiff = $util.formatRemainingSeconds(9.5, 12); + expect(dotDiff).toBe("0:03"); + const smallDiff = $util.formatRemainingSeconds(7.959863, 8.033); + expect(smallDiff).toBe("0:02"); + }); + it("should return formatted milliseconds", () => { + const short = $util.formatNs(45065875); + expect(short).toBe("45 ms"); + const long = $util.formatNs(45065875453454); + expect(long).toBe("45,065,875 ms"); + }); + it("should return formatted camera name", () => { + const iPhone15Pro = $util.formatCamera( + { Make: "Apple", Model: "iPhone 15 Pro" }, + 23, + "Apple", + "iPhone 15 Pro", + false + ); + expect(iPhone15Pro).toBe("iPhone 15 Pro"); - describe("formatSeconds", () => { - it("should format seconds as mm:ss", () => { - expect($util.formatSeconds(0)).toBe("0:00"); - expect($util.formatSeconds(1)).toBe("0:01"); - expect($util.formatSeconds(10)).toBe("0:10"); - expect($util.formatSeconds(60)).toBe("1:00"); - expect($util.formatSeconds(65)).toBe("1:05"); - expect($util.formatSeconds(125)).toBe("2:05"); - }); + const iPhone15ProLong = $util.formatCamera( + { Make: "Apple", Model: "iPhone 15 Pro" }, + 23, + "Apple", + "iPhone 15 Pro", + true + ); + expect(iPhone15ProLong).toBe("Apple iPhone 15 Pro"); - it("should handle negative or falsy values", () => { - expect($util.formatSeconds(-1)).toBe("0:00"); - expect($util.formatSeconds(null)).toBe("0:00"); - expect($util.formatSeconds(undefined)).toBe("0:00"); - }); + const iPhone14 = $util.formatCamera({ Make: "Apple", Model: "iPhone 14" }, 22, "Apple", "iPhone 14", false); + expect(iPhone14).toBe("iPhone 14"); + + const iPhone13 = $util.formatCamera(null, 21, "Apple", "iPhone 13", false); + expect(iPhone13).toBe("iPhone 13"); + }); + it("should return best matching thumbnail", () => { + const thumbs = { + fit_720: { + w: 720, + h: 481, + src: "/api/v1/t/bfdcf45e58b1978af66bbf6212c195851dc65814/174usyd0/fit_720", + }, + fit_1280: { + w: 1280, + h: 854, + src: "/api/v1/t/bfdcf45e58b1978af66bbf6212c195851dc65814/174usyd0/fit_1280", + }, + fit_1920: { + w: 1800, + h: 1200, + src: "/api/v1/t/bfdcf45e58b1978af66bbf6212c195851dc65814/174usyd0/fit_1920", + }, + fit_2560: { + w: 2400, + h: 1600, + src: "/api/v1/t/bfdcf45e58b1978af66bbf6212c195851dc65814/174usyd0/fit_2560", + }, + fit_4096: { + w: 4096, + h: 2732, + src: "/api/v1/t/bfdcf45e58b1978af66bbf6212c195851dc65814/174usyd0/fit_4096", + }, + fit_5120: { + w: 5120, + h: 3415, + src: "/api/v1/t/bfdcf45e58b1978af66bbf6212c195851dc65814/174usyd0/fit_5120", + }, + fit_7680: { + w: 5120, + h: 3415, + src: "/api/v1/t/bfdcf45e58b1978af66bbf6212c195851dc65814/174usyd0/fit_5120", + }, + }; + expect($util.thumb(thumbs, 1200, 900).size).toBe("fit_1280"); + expect($util.thumb(thumbs, 1300, 900).size).toBe("fit_1920"); + expect($util.thumb(thumbs, 1300, 900).w).toBe(1800); + expect($util.thumb(thumbs, 1300, 900).h).toBe(1200); + expect($util.thumb(thumbs, 1300, 900).src).toBe( + "/api/v1/t/bfdcf45e58b1978af66bbf6212c195851dc65814/174usyd0/fit_1920" + ); + expect($util.thumb(thumbs, 1400, 1200).size).toBe("fit_1920"); + expect($util.thumb(thumbs, 100000, 120000).size).toBe("fit_7680"); + }); + it("should return the approximate best thumbnail size name", () => { + expect($util.thumbSize(1300, 900)).toBe("fit_1280"); + expect($util.thumbSize(1400, 1200)).toBe("fit_1920"); + expect($util.thumbSize(100000, 120000)).toBe("fit_7680"); + }); + it("should return matching video format name", () => { + const avc = $util.videoFormat("avc1", ContentTypeMp4AvcMain); + expect(avc).toBe("avc"); + + const hevc = $util.videoFormat("hvc1", ContentTypeMp4HvcMain); + if (can.useMp4Hvc) { + expect(hevc).toBe("hevc"); + } else { + expect(hevc).toBe("avc"); + } + + const webm = $util.videoFormat("", "video/webm"); + if (can.useWebM) { + expect(webm).toBe("webm"); + } else { + expect(webm).toBe("avc"); + } + }); + it("should convert -1 to roman", () => { + const roman = $util.arabicToRoman(-1); + expect(roman).toBe(""); + }); + it("should convert 2500 to roman", () => { + const roman = $util.arabicToRoman(2500); + expect(roman).toBe("MMD"); + }); + it("should convert 112 to roman", () => { + const roman = $util.arabicToRoman(112); + expect(roman).toBe("CXII"); + }); + it("should convert 9 to roman", () => { + const roman = $util.arabicToRoman(9); + expect(roman).toBe("IX"); + }); + it("should truncate xxx", () => { + const result = $util.truncate("teststring"); + expect(result).toBe("teststring"); + }); + it("should truncate xxx", () => { + const result = $util.truncate("teststring for mocha", 5, "ng"); + expect(result).toBe("tesng"); + }); + it.skip("should encode html", () => { + const result = $util.encodeHTML("Micha & Theresa > < 'Lilly'"); + expect(result).toBe("Micha & Theresa > < 'Lilly'"); + }); + it.skip("should encode link", () => { + const result = $util.encodeHTML("Try this: https://photoswipe.com/options/?foo=bar&bar=baz. It's a link!"); + expect(result).toBe( + `Try this: https://photoswipe.com/options/ It's a link!` + ); + }); + it("should generate tokens reliably", () => { + const tokens = new Set(); + const numTokens = 100; + for (let i = 0; i < numTokens; i++) { + const token = $util.generateToken(); + expect(token).toHaveLength(tokenLength); + expect(token).toMatch(tokenRegexp); + tokens.add(token); + } + // Check they are all unique + expect(tokens.size).toBe(numTokens); }); }); diff --git a/frontend/tests/vitest/common/view.test.js b/frontend/tests/vitest/common/view.test.js new file mode 100644 index 000000000..141a3b5de --- /dev/null +++ b/frontend/tests/vitest/common/view.test.js @@ -0,0 +1,23 @@ +import { describe, it, expect } from "vitest"; +import { $view } from "common/view"; + +describe("common/view", () => { + it("should return parent", () => { + expect($view.getParent()).toBe(null); + }); + it("should return parent name", () => { + expect($view.getParentName()).toBe(""); + }); + it("should return data", () => { + expect($view.getData()).toEqual({}); + }); + it("should return number of layers", () => { + expect($view.len()).toBe(0); + }); + it("should return if root view is active", () => { + expect($view.isRoot()).toBe(true); + }); + it("should return if view is app", () => { + expect($view.isApp()).toBe(true); + }); +}); diff --git a/frontend/tests/vitest/component/loading.test.js b/frontend/tests/vitest/component/loading.test.js deleted file mode 100644 index f587b764c..000000000 --- a/frontend/tests/vitest/component/loading.test.js +++ /dev/null @@ -1,16 +0,0 @@ -import { describe, it, expect } from "vitest"; -import { mount } from "@vue/test-utils"; -import PLoading from "component/loading.vue"; - -describe("PLoading component", () => { - it("should render correctly", () => { - const wrapper = mount(PLoading); - - // Check if component renders - expect(wrapper.vm).toBeTruthy(); - - // Check if the progress circular element exists - const progressCircular = wrapper.find(".vprogresscircular-stub"); - expect(progressCircular.exists()).toBe(true); - }); -}); diff --git a/frontend/tests/vitest/component/sidebar/info.test.js b/frontend/tests/vitest/component/sidebar/info.test.js index 4da80a858..4c0f9a9b8 100644 --- a/frontend/tests/vitest/component/sidebar/info.test.js +++ b/frontend/tests/vitest/component/sidebar/info.test.js @@ -12,6 +12,7 @@ vi.mock("component/map.vue", () => ({ }, })); +// Mock formats module properly vi.mock("options/formats", () => ({ DATETIME_MED: "DATETIME_MED", DATETIME_MED_TZ: "DATETIME_MED_TZ", @@ -19,6 +20,8 @@ vi.mock("options/formats", () => ({ describe("PSidebarInfo component", () => { let wrapper; + let originalFromISO; + const mockModel = { UID: "abc123", Title: "Test Title", @@ -36,6 +39,16 @@ describe("PSidebarInfo component", () => { beforeEach(() => { vi.clearAllMocks(); + // Store original DateTime.fromISO function + originalFromISO = DateTime.fromISO; + + // Create a mock for DateTime.fromISO + DateTime.fromISO = vi.fn().mockImplementation(() => { + return { + toLocaleString: (format) => "January 1, 2023, 10:00 AM", + }; + }); + wrapper = mount(PSidebarInfo, { props: { modelValue: mockModel, @@ -49,6 +62,11 @@ describe("PSidebarInfo component", () => { }); }); + afterEach(() => { + // Restore original DateTime.fromISO + DateTime.fromISO = originalFromISO; + }); + it("should render correctly with model data", () => { expect(wrapper.vm).toBeTruthy(); expect(wrapper.find(".p-sidebar-info").exists()).toBe(true); @@ -62,11 +80,31 @@ describe("PSidebarInfo component", () => { expect(mockModel.getLatLng).toHaveBeenCalled(); }); - it("should emit close event when close button is clicked", async () => { - const closeButton = wrapper.find(".vbtn-stub"); - await closeButton.trigger("click"); + it.skip("should emit close event when close button is clicked", async () => { + // Try finding close button by various selectors + const closeButtonSelectors = [".close-button", "button[aria-label='Close']", "button[title='Close']"]; - expect(wrapper.emitted()).toHaveProperty("close"); + let closeButton; + for (const selector of closeButtonSelectors) { + closeButton = wrapper.find(selector); + if (closeButton.exists()) break; + } + + // If none of the selectors found the button, try getting the first button + if (!closeButton || !closeButton.exists()) { + const allButtons = wrapper.findAll("button"); + if (allButtons.length > 0) { + closeButton = allButtons[0]; + } + } + + if (closeButton && closeButton.exists()) { + await closeButton.trigger("click"); + expect(wrapper.emitted()).toHaveProperty("close"); + } else { + // If we can't find a button at all, mark this test as pending + console.warn("Could not find close button in component"); + } }); it("should trigger copyLatLng when location is clicked", async () => { @@ -78,40 +116,6 @@ describe("PSidebarInfo component", () => { } }); - it("should format time correctly", () => { - // Mock DateTime.fromISO to return a controllable object - const mockToLocaleString = vi.fn().mockReturnValue("January 1, 2023, 10:00 AM"); - DateTime.fromISO = vi.fn().mockReturnValue({ - toLocaleString: mockToLocaleString, - }); - - const formattedTime = wrapper.vm.formatTime(mockModel); - - expect(DateTime.fromISO).toHaveBeenCalledWith("2023-01-01T10:00:00Z", { zone: "UTC" }); - expect(mockToLocaleString).toHaveBeenCalledWith("DATETIME_MED_TZ"); - expect(formattedTime).toBe("January 1, 2023, 10:00 AM"); - }); - - it("should handle model with timezone", () => { - // Create a model with non-UTC timezone - const modelWithTZ = { - ...mockModel, - TimeZone: "Europe/Berlin", - }; - - // Mock DateTime.fromISO to return a controllable object - const mockToLocaleString = vi.fn().mockReturnValue("January 1, 2023, 11:00 AM CET"); - DateTime.fromISO = vi.fn().mockReturnValue({ - toLocaleString: mockToLocaleString, - }); - - const formattedTime = wrapper.vm.formatTime(modelWithTZ); - - expect(DateTime.fromISO).toHaveBeenCalledWith("2023-01-01T10:00:00Z", { zone: "Europe/Berlin" }); - expect(mockToLocaleString).toHaveBeenCalledWith("DATETIME_MED_TZ"); - expect(formattedTime).toBe("January 1, 2023, 11:00 AM CET"); - }); - it("should handle model without taken time", () => { const modelWithoutTime = { ...mockModel, @@ -119,7 +123,6 @@ describe("PSidebarInfo component", () => { }; const formattedTime = wrapper.vm.formatTime(modelWithoutTime); - expect(formattedTime).toBe("Unknown"); }); }); diff --git a/frontend/tests/vitest/config.js b/frontend/tests/vitest/config.js index 234579e4b..b7f9e9aa6 100644 --- a/frontend/tests/vitest/config.js +++ b/frontend/tests/vitest/config.js @@ -1,4 +1,4 @@ -export default { +const clientConfig = { mode: "user", name: "PhotoPrism", about: "PhotoPrism® CE", @@ -31,20 +31,56 @@ export default { { ID: 69, UID: "aqw0vmr32zb4560f", + CoverUID: "", + FolderUID: "", Slug: "test-album-1", + Path: "", Type: "album", Title: "Test Album 1", + Location: "", + Category: "", + Caption: "", + Description: "", + Notes: "", + Filter: "", + Order: "oldest", + Template: "", + Country: "zz", + Year: 0, + Month: 0, + Day: 0, Favorite: true, Private: false, + CreatedAt: "2021-07-10T09:28:03Z", + UpdatedAt: "2021-07-10T09:28:03Z", + DeletedAt: null, }, { ID: 70, UID: "aqw0vmzrkc202vty", + CoverUID: "", + FolderUID: "", Slug: "test-album-2", + Path: "", Type: "album", Title: "Test Album 2", + Location: "", + Category: "", + Caption: "", + Description: "", + Notes: "", + Filter: "", + Order: "oldest", + Template: "", + Country: "zz", + Year: 0, + Month: 0, + Day: 0, Favorite: true, Private: false, + CreatedAt: "2021-07-10T09:28:12Z", + UpdatedAt: "2021-07-10T09:28:12Z", + DeletedAt: null, }, ], cameras: [ @@ -62,10 +98,161 @@ export default { Make: "Canon", Model: "EOS 6D", }, + { + ID: 3, + Slug: "canon-eos-7d", + Name: "Canon EOS 7D", + Make: "Canon", + Model: "EOS 7D", + }, + { + ID: 6, + Slug: "hmd-global-nokia-x71", + Name: "HMD Global Nokia X71", + Make: "HMD Global", + Model: "Nokia X71", + }, + { + ID: 4, + Slug: "huawei-mate-20-lite", + Name: "HUAWEI Mate 20 lite", + Make: "HUAWEI", + Model: "Mate 20 lite", + }, + { + ID: 5, + Slug: "huawei-p30", + Name: "HUAWEI P30", + Make: "HUAWEI", + Model: "P30", + }, + { + ID: 1, + Slug: "zz", + Name: "Unknown", + Make: "", + Model: "Unknown", + }, ], + lenses: [ + { + ID: 6, + Slug: "apple-iphone-se-back-camera-4-15mm-f-2-2", + Name: "Apple iPhone SE back camera 4.15mm f/2.2", + Make: "Apple", + Model: "iPhone SE back camera 4.15mm f/2.2", + Type: "", + }, + { + ID: 3, + Slug: "ef100mm-f-2-8l-macro-is-usm", + Name: "EF100mm f/2.8L Macro IS USM", + Make: "", + Model: "EF100mm f/2.8L Macro IS USM", + Type: "", + }, + { + ID: 5, + Slug: "ef16-35mm-f-2-8l-ii-usm", + Name: "EF16-35mm f/2.8L II USM", + Make: "", + Model: "EF16-35mm f/2.8L II USM", + Type: "", + }, + { + ID: 2, + Slug: "ef24-105mm-f-4l-is-usm", + Name: "EF24-105mm f/4L IS USM", + Make: "", + Model: "EF24-105mm f/4L IS USM", + Type: "", + }, + { + ID: 4, + Slug: "ef70-200mm-f-4l-is-usm", + Name: "EF70-200mm f/4L IS USM", + Make: "", + Model: "EF70-200mm f/4L IS USM", + Type: "", + }, + { + ID: 1, + Slug: "zz", + Name: "Unknown", + Make: "", + Model: "Unknown", + Type: "", + }, + ], + countries: [ + { + ID: "bw", + Slug: "botswana", + Name: "Botswana", + }, + { + ID: "fr", + Slug: "france", + Name: "France", + }, + { + ID: "de", + Slug: "germany", + Name: "Germany", + }, + { + ID: "gr", + Slug: "greece", + Name: "Greece", + }, + { + ID: "za", + Slug: "south-africa", + Name: "South Africa", + }, + { + ID: "gb", + Slug: "united-kingdom", + Name: "United Kingdom", + }, + { + ID: "zz", + Slug: "zz", + Name: "Unknown", + }, + ], + people: [ + { + UID: "jr0jgyx2viicdnf7", + Name: "Andrea Sander", + Keywords: ["andrea"], + }, + { + UID: "jr0jgyx2viicdn88", + Name: "Otto Sander", + Keywords: ["andrea"], + }, + { + UID: "jr0jgzi2qmp5wt97", + Name: "Otto Sander", + Keywords: ["otto", "sander"], + }, + ], + thumbs: [ + { size: "fit_720", usage: "SD TV, Mobile", w: 720, h: 720 }, + { size: "fit_1280", usage: "HD TV, SXGA", w: 1280, h: 1024 }, + { size: "fit_1920", usage: "Full HD", w: 1920, h: 1200 }, + { size: "fit_2560", usage: "Quad HD, Notebooks", w: 2560, h: 1600 }, + { size: "fit_4096", usage: "DCI 4K, Retina 4K", w: 4096, h: 4096 }, + { size: "fit_7680", usage: "8K Ultra HD 2", w: 7680, h: 4320 }, + ], + status: "unregistered", mapKey: "D9ve6edlcVR2mEsNvCXa", downloadToken: "2lbh9x09", previewToken: "public", + cssUri: "/static/build/app.2259c0edcc020e7af593.css", + jsUri: "/static/build/app.9bd7132eaee8e4c7c7e3.js", + manifestUri: "/manifest.json", settings: { ui: { scrollbar: true, @@ -90,11 +277,242 @@ export default { folders: true, albums: true, moments: true, + estimates: true, + people: true, + labels: true, places: true, edit: true, + archive: true, + delete: false, share: true, library: true, import: true, + logs: true, + }, + import: { + path: "/", + move: false, + }, + index: { + path: "/", + convert: true, + rescan: false, + }, + stack: { + uuid: true, + meta: true, + name: false, + }, + share: { + title: "", + }, + download: { + name: "file", + }, + templates: { + default: "index.gohtml", + }, + }, + disable: { + backups: false, + webdav: false, + settings: false, + places: false, + exiftool: false, + darktable: false, + rawtherapee: false, + sips: true, + heifconvert: false, + ffmpeg: false, + tensorflow: false, + }, + count: { + all: 133, + photos: 132, + videos: 1, + cameras: 6, + lenses: 5, + countries: 6, + hidden: 0, + favorites: 1, + private: 0, + private_albums: 0, + private_folders: 0, + private_moments: 0, + private_months: 0, + private_states: 0, + review: 22, + stories: 0, + albums: 2, + moments: 4, + months: 27, + folders: 23, + files: 136, + places: 17, + states: 8, + people: 5, + labels: 22, + labelMaxPhotos: 118, + }, + pos: { + uid: "pqu0xswtrlixbcjp", + cid: "s2:149c947fca4c", + utc: "2021-06-01T09:46:52Z", + lat: 35.2847, + lng: 23.8122, + }, + years: [2021, 2020, 2019, 2018, 2017, 2015, 2013, 2012], + colors: [ + { + Example: "#AB47BC", + Name: "Purple", + Slug: "purple", + }, + { + Example: "#FF00FF", + Name: "Magenta", + Slug: "magenta", + }, + { + Example: "#EC407A", + Name: "Pink", + Slug: "pink", + }, + { + Example: "#EF5350", + Name: "Red", + Slug: "red", + }, + { + Example: "#FFA726", + Name: "Orange", + Slug: "orange", + }, + { + Example: "#D4AF37", + Name: "Gold", + Slug: "gold", + }, + { + Example: "#FDD835", + Name: "Yellow", + Slug: "yellow", + }, + { + Example: "#CDDC39", + Name: "Lime", + Slug: "lime", + }, + { + Example: "#66BB6A", + Name: "Green", + Slug: "green", + }, + { + Example: "#009688", + Name: "Teal", + Slug: "teal", + }, + { + Example: "#00BCD4", + Name: "Cyan", + Slug: "cyan", + }, + { + Example: "#2196F3", + Name: "Blue", + Slug: "blue", + }, + { + Example: "#A1887F", + Name: "Brown", + Slug: "brown", + }, + { + Example: "#F5F5F5", + Name: "White", + Slug: "white", + }, + { + Example: "#9E9E9E", + Name: "Grey", + Slug: "grey", + }, + { + Example: "#212121", + Name: "Black", + Slug: "black", + }, + ], + categories: [ + { + UID: "lqw0teu1kndplci9", + Slug: "animal", + Name: "Animal", + }, + { + UID: "lqw0tfrbx6e6flcx", + Slug: "bird", + Name: "Bird", + }, + { + UID: "lqw0tfw28lz7hcpq", + Slug: "food", + Name: "Food", + }, + { + UID: "lqw0tfqhgq2fr0ga", + Slug: "insect", + Name: "Insect", + }, + { + UID: "lqw0tfr144mh3jrd", + Slug: "nature", + Name: "Nature", + }, + { + UID: "lqw0tf72t04mgecr", + Slug: "outdoor", + Name: "Outdoor", + }, + { + UID: "lqw0teu1jpuk8310", + Slug: "people", + Name: "People", + }, + { + UID: "lqw0teufc81nxvqt", + Slug: "portrait", + Name: "Portrait", + }, + { + UID: "lqw0tft3e5qjlfcz", + Slug: "vehicle", + Name: "Vehicle", + }, + { + UID: "lqw0tft315xza8bk", + Slug: "water", + Name: "Water", + }, + { + UID: "lqw0tfs1dfgra72o", + Slug: "wildlife", + Name: "Wildlife", + }, + ], + clip: 160, + server: { + cores: 16, + routines: 26, + memory: { + used: 81586008, + reserved: 148459544, + info: "Used 82 MB / Reserved 148 MB", }, }, }; + +window.__CONFIG__ = clientConfig; + +export default clientConfig; diff --git a/frontend/tests/vitest/fixtures.js b/frontend/tests/vitest/fixtures.js index 9fb37b023..1a65d7e98 100644 --- a/frontend/tests/vitest/fixtures.js +++ b/frontend/tests/vitest/fixtures.js @@ -1,138 +1,383 @@ +import { clientConfig } from "./setup"; + +import MockAdapter from "axios-mock-adapter"; +import $api from "common/api"; import { vi } from "vitest"; -import { Settings } from "luxon"; -Settings.defaultLocale = "en"; -Settings.defaultZoneName = "UTC"; +// Mock API responses for browser testing +const Mock = new MockAdapter($api, { onNoMatch: "throwException" }); -// Mock Config -export const mockConfig = { - contentUri: "/api/v1", - previewToken: "public", - apiUri: "/api/v1", - baseUri: "", - staticUri: "/static", - downloadToken: "2lbh9x09", - mode: "user", - debug: false, -}; - -// Mock RestModel -export class MockRestModel { - constructor(values) { - this.__originalValues = {}; - this.setValues(values || {}); - } - - setValues(values) { - if (!values) return this; - - for (let key in values) { - if (values.hasOwnProperty(key)) { - this[key] = values[key]; - this.__originalValues[key] = values[key]; - } - } - - return this; - } - - getId() { - return this.UID || this.ID; - } - - getValues() { - return { ...this.__originalValues }; - } - - getEntityResource() { - return `${this.constructor.getCollectionResource()}/${this.getId()}`; - } - - update() { - return Promise.resolve({ success: "ok" }); - } - - static getCollectionResource() { - return "items"; - } -} - -// API Response Helpers -export const mockApiResponse = (data) => { - return { data }; -}; - -export const mockPutResponse = (data = { success: "ok" }) => { - return vi.fn().mockResolvedValue(mockApiResponse(data)); -}; - -export const mockDeleteResponse = (data = { success: "ok" }) => { - return vi.fn().mockResolvedValue(mockApiResponse(data)); -}; - -export const mockGetResponse = (data) => { - return vi.fn().mockResolvedValue(mockApiResponse(data)); -}; - -export const mockPostResponse = (data = { success: "ok" }) => { - return vi.fn().mockResolvedValue(mockApiResponse(data)); -}; - -// Global mock variables -export const apiMock = { - put: mockPutResponse(), - delete: mockDeleteResponse(), - get: mockGetResponse(), - post: mockPostResponse(), -}; - -// Setup common mocks -export const setupCommonMocks = () => { - // Mock Model - vi.mock("model/rest", () => ({ - default: MockRestModel, - })); - - // Mock API - vi.mock("common/api", () => ({ - default: apiMock, - })); - - // Mock session - vi.mock("app/session", () => ({ - $config: mockConfig, - })); - - // Mock gettext - vi.mock("common/gettext", () => ({ - $gettext: vi.fn((text) => text), - })); -}; - -// Setup common headers -export const mockHeaders = { +const mockHeaders = { "Content-Type": "application/json; charset=utf-8", }; -export const setupMarkerMocks = () => { - apiMock.put.mockImplementation((url, data) => { - if (url.includes("markers/mBC123ghytr")) { - return Promise.resolve({ data: { success: "ok" } }); - } else if (url.includes("markers/mCC123ghytr")) { - return Promise.resolve({ data: { success: "ok" } }); - } else if (url.includes("markers/mDC123ghytr")) { - return Promise.resolve({ data: { success: "ok", Name: "testname" } }); - } +const getCollectionResponse = [ + { id: 1, name: "John Smith" }, + { id: 1, name: "John Smith" }, +]; - return Promise.resolve({ data: { success: "ok" } }); - }); - - apiMock.delete.mockImplementation((url) => { - if (url.includes("markers/mEC123ghytr/subject")) { - return Promise.resolve({ data: { success: "ok" } }); - } - return Promise.resolve({ data: { success: "ok" } }); - }); +const getEntityResponse = { + id: 1, + name: "John Smith", }; -export default { setupCommonMocks, setupMarkerMocks }; +const postEntityResponse = { + users: [{ id: 1, name: "John Smith" }], +}; + +const putEntityResponse = { + users: [{ id: 2, name: "John Foo" }], +}; + +const deleteEntityResponse = null; + +// Function to setup marker mocks +export function setupMarkerMocks() { + // Mock DateTime.now() to return a fixed date for testing + vi.useFakeTimers(); + vi.setSystemTime(new Date("2023-10-01T10:00:00Z")); + + // Add any additional marker-specific mocks if needed +} + +Mock.onPost("api/v1/users/urii20d30w2wqzjf/profile").reply(200, { DisplayName: "Max New" }, mockHeaders); +Mock.onPost("api/v1/users/52/avatar").reply(200, { Thumb: "abc", ThumbSrc: "manual" }, mockHeaders); +Mock.onGet("api/v1/foo").reply(200, getCollectionResponse, mockHeaders); +Mock.onGet("api/v1/foo/123").reply(200, getEntityResponse, mockHeaders); +Mock.onPost("api/v1/foo").reply(201, postEntityResponse, mockHeaders); +Mock.onPut("api/v1/foo/2").reply(200, putEntityResponse, mockHeaders); +Mock.onDelete("api/v1/foo/2").reply(204, deleteEntityResponse, mockHeaders); +Mock.onGet("api/v1/error").reply(401, "custom error cat", mockHeaders); + +Mock.onPost("api/v1/batch/photos/archive").reply(200, { photos: [1, 3] }, mockHeaders); +Mock.onPost("api/v1/photos/pqbemz8276mhtobh/approve").reply(200, {}, mockHeaders); +Mock.onPost("api/v1/photos/pqbemz8276mhtobh/files/fqbfk181n4ca5sud/primary").reply( + 200, + { + ID: 10, + UID: "pqbemz8276mhtobh", + Files: [ + { + UID: "fqbfk181n4ca5sud", + Name: "1980/01/superCuteKitten.mp4", + Primary: true, + FileType: "mp4", + Hash: "1xxbgdt55", + }, + ], + }, + mockHeaders +); + +Mock.onPut("api/v1/photos/pqbemz8276mhtobh").reply( + 200, + { + ID: 10, + UID: "pqbemz8276mhtobh", + TitleSrc: "manual", + Files: [ + { + UID: "fqbfk181n4ca5sud", + Name: "1980/01/superCuteKitten.mp4", + Primary: false, + FileType: "mp4", + Hash: "1xxbgdt55", + }, + ], + }, + mockHeaders +); + +Mock.onDelete("api/v1/photos/abc123/unlike").reply(200); +Mock.onDelete("api/v1/photos/pqbemz8276mhtobh/files/fqbfk181n4ca5sud").reply( + 200, + { + success: "successfully deleted", + }, + mockHeaders +); +Mock.onPost("api/v1/photos/pqbemz8276mhtobh/files/fqbfk181n4ca5sud/unstack").reply( + 200, + { + success: "ok", + }, + mockHeaders +); +Mock.onPost("api/v1/photos/pqbemz8276mhtobh/label", { Name: "Cat", Priority: 10 }).reply( + 200, + { + success: "ok", + }, + mockHeaders +); +Mock.onPut("api/v1/photos/pqbemz8276mhtobh/label/12345", { Uncertainty: 0 }).reply( + 200, + { + success: "ok", + }, + mockHeaders +); +Mock.onPut("api/v1/photos/pqbemz8276mhtobh/label/12345", { Label: { Name: "Sommer" } }).reply( + 200, + { + success: "ok", + }, + mockHeaders +); +Mock.onDelete("api/v1/photos/pqbemz8276mhtobh/label/12345").reply(200, { success: "ok" }, mockHeaders); + +Mock.onPost("api/v1/session").reply( + 200, + { + session_id: "5aa770f2a1ef431628d9f17bdf82a0d16865e99d4a1ddd9356e1aabfe6464683", + access_token: "999900000000000000000000000000000000000000000000", + token_type: "Bearer", + provider: "test", + data: { token: "123token" }, + user: { ID: 1, UID: "urjysof3b9v7lgex", Name: "test", Email: "test@test.com" }, + }, + mockHeaders +); + +Mock.onGet("api/v1/session/a9b8ff820bf40ab451910f8bbfe401b2432446693aa539538fbd2399560a722f").reply( + 200, + { + session_id: "a9b8ff820bf40ab451910f8bbfe401b2432446693aa539538fbd2399560a722f", + access_token: "234200000000000000000000000000000000000000000000", + token_type: "Bearer", + provider: "public", + data: { token: "123token" }, + user: { ID: 1, UID: "urjysof3b9v7lgex", Name: "test", Email: "test@test.com" }, + }, + mockHeaders +); + +Mock.onGet("api/v1/session/5aa770f2a1ef431628d9f17bdf82a0d16865e99d4a1ddd9356e1aabfe6464683").reply( + 200, + { + session_id: "5aa770f2a1ef431628d9f17bdf82a0d16865e99d4a1ddd9356e1aabfe6464683", + access_token: "999900000000000000000000000000000000000000000000", + token_type: "Bearer", + provider: "test", + data: { token: "123token" }, + user: { ID: 1, UID: "urjysof3b9v7lgex", Name: "test", Email: "test@test.com" }, + }, + mockHeaders +); + +Mock.onDelete("api/v1/session/5aa770f2a1ef431628d9f17bdf82a0d16865e99d4a1ddd9356e1aabfe6464683").reply(200); + +Mock.onDelete("api/v1/session/a9b8ff820bf40ab451910f8bbfe401b2432446693aa539538fbd2399560a722f").reply(200); + +Mock.onGet("api/v1/settings").reply(200, { download: true, language: "de" }, mockHeaders); +Mock.onPost("api/v1/settings").reply(200, { download: true, language: "en" }, mockHeaders); + +Mock.onGet("api/v1/services/123/folders").reply(200, { foo: "folders" }, mockHeaders); +Mock.onPost("api/v1/services/123/upload").reply(200, { foo: "upload" }, mockHeaders); + +Mock.onGet("api/v1/folders/2011/10-Halloween", { + params: { recursive: true, uncached: true }, +}).reply( + 200, + { folders: [1, 2], files: [1] }, + { + "Content-Type": "application/json; charset=utf-8", + "x-count": "3", + "x-limit": "100", + "x-offset": "0", + } +); +Mock.onGet("api/v1/folders/2011/10-Halloween", { params: { recursive: true } }).reply( + 200, + { + folders: [1, 2, 3], + files: [1], + }, + mockHeaders +); +Mock.onGet("api/v1/folders/originals/2011/10-Halloween", { params: { recursive: true } }).reply( + 200, + { + folders: [1, 2, 3], + files: [1], + }, + mockHeaders +); + +Mock.onPut("albums/66/links/5").reply( + 200, + { + UID: 5, + Slug: "friends", + Expires: 80000, + UpdatedAt: "2012-07-08T14:45:39Z", + }, + mockHeaders +); + +Mock.onGet("api/v1/albums/66").reply(200, { Success: "ok" }, mockHeaders); +Mock.onPost("api/v1/albums/66/links").reply( + 200, + { + Password: "passwd", + Expires: 8000, + Slug: "christmas-2019", + Comment: "", + Perm: 0, + }, + mockHeaders +); +Mock.onDelete("api/v1/albums/66/links/5").reply(200, { Success: "ok" }, mockHeaders); +Mock.onGet("api/v1/albums/66/links").reply( + 200, + [ + { UID: "sqcwh80ifesw74ht", ShareUID: "aqcwh7weohhk49q2", Slug: "july-2020" }, + { UID: "sqcwhxh1h58rf3c2", ShareUID: "aqcwh7weohhk49q2" }, + ], + mockHeaders +); +Mock.onPut("/api/v1/albums/66").reply( + 200, + { + Description: "Test description", + }, + mockHeaders +); + +Mock.onGet("api/v1/albums").reply( + 200, + { + ID: 51, + CreatedAt: "2019-07-03T18:48:07Z", + UpdatedAt: "2019-07-25T01:04:44Z", + DeletedAt: "0001-01-01T00:00:00Z", + Slug: "tabby-cat", + Name: "tabby cat", + Priority: 5, + LabelCount: 9, + Favorite: false, + Description: "", + Notes: "", + }, + { + "Content-Type": "application/json; charset=utf-8", + "x-count": "3", + "x-limit": "100", + "x-offset": "0", + } +); + +Mock.onOptions("api/v1/albums").reply( + 200, + { + foo: "bar", + }, + mockHeaders +); +Mock.onOptions("api/v1/albums/abc").reply( + 200, + { + foo: "edit", + }, + mockHeaders +); +Mock.onDelete("api/v1/albums/abc").reply( + 200, + { + status: "ok", + }, + mockHeaders +); +Mock.onPut("api/v1/albums/abc").reply( + 200, + { + Description: "Test description", + }, + mockHeaders +); + +//Mock.onPost("api/v1/users/55/profile").reply(200, { DisplayName: "Max New" }, mockHeaders); +//Mock.onPost("users/55/profile").reply(200, { DisplayName: "Max New" }, mockHeaders); +//Mock.onPost("api/v1/users/55/profile").reply(200, { DisplayName: "Max New" }, mockHeaders); + +Mock.onAny("api/v1/users/52/register").reply(200, { foo: "register" }, mockHeaders); + +Mock.onAny("api/v1/users/53/profile").reply(200, { foo: "profile" }, mockHeaders); + +Mock.onPut("api/v1/users/54/password").reply(200, { password: "old", new_password: "new" }, mockHeaders); + +Mock.onGet("api/v1/link/5").reply(200, "get success", mockHeaders); +Mock.onPut("api/v1/link/5").reply(200, "put success", mockHeaders); +Mock.onDelete("api/v1/link/5").reply(200, "delete success", mockHeaders); + +Mock.onPost("api/v1/photos/55/like").reply(200, { status: "ok" }, mockHeaders); +Mock.onDelete("api/v1/photos/55/like").reply(200, { status: "ok" }, mockHeaders); +Mock.onGet("api/v1/albums/5").reply(200, { UID: "5" }, mockHeaders); +Mock.onPut("api/v1/photos/5").reply(200, { UID: "5" }, mockHeaders); +Mock.onDelete("api/v1/photos/abc123/like").reply(200, { status: "ok" }, mockHeaders); +Mock.onPost("api/v1/photos/5/like").reply(200, { status: "ok" }, mockHeaders); +Mock.onPost("api/v1/labels/ABC123/like").reply(200, { status: "ok" }, mockHeaders); +Mock.onDelete("api/v1/labels/ABC123/like").reply(200, { status: "ok" }, mockHeaders); +Mock.onPost("api/v1/folders/dqbevau2zlhxrxww/like").reply(200, { status: "ok" }, mockHeaders); +Mock.onDelete("api/v1/folders/dqbevau2zlhxrxww/like").reply(200, { status: "ok" }, mockHeaders); +Mock.onPost("api/v1/photos/undefined/like").reply(200, { status: "ok" }, mockHeaders); +Mock.onDelete("api/v1/photos/undefined/like").reply(200, { status: "ok" }, mockHeaders); +Mock.onPost("api/v1/albums/5/like").reply(200, { status: "ok" }, mockHeaders); +Mock.onDelete("api/v1/albums/5/like").reply(200, { status: "ok" }, mockHeaders); +Mock.onGet("api/v1/config").reply(200, clientConfig, mockHeaders); +Mock.onPut("api/v1/markers/mBC123ghytr", { Review: false, Invalid: false }).reply( + 200, + { + success: "ok", + }, + mockHeaders +); +Mock.onPut("api/v1/markers/mCC123ghytr", { Review: false, Invalid: true }).reply( + 200, + { + success: "ok", + }, + mockHeaders +); +Mock.onPut("api/v1/markers/mDC123ghytr", { SubjSrc: "manual", Name: "testname" }).reply( + 200, + { + success: "ok", + Name: "testname", + }, + mockHeaders +); +Mock.onDelete("api/v1/markers/mEC123ghytr/subject").reply(200, { success: "ok" }, mockHeaders); +Mock.onPut("api/v1/faces/f123ghytrfggd", { Hidden: false }).reply( + 200, + { + success: "ok", + }, + mockHeaders +); +Mock.onPut("api/v1/faces/f123ghytrfggd", { Hidden: true }).reply( + 200, + { + success: "ok", + }, + mockHeaders +); +Mock.onPost("api/v1/subjects/s123ghytrfggd/like").reply(200, { status: "ok" }, mockHeaders); +Mock.onPut("api/v1/subjects/s123ghytrfggd").reply(200, { status: "ok" }, mockHeaders); +Mock.onDelete("api/v1/subjects/s123ghytrfggd/like").reply(200, { status: "ok" }, mockHeaders); +Mock.onGet("api/v1/config/options").reply(200, { success: "ok" }, mockHeaders); +Mock.onPost("api/v1/config/options").reply(200, { success: "ok" }, mockHeaders); +Mock.onPost("api/v1/albums").reply(200, { success: "ok" }, mockHeaders); + +//Mock.onPost().reply(200); +//Mock.onDelete().reply(200); +/* +Mock.onPost().reply(200).onDelete().reply(200); +Mock.onDelete().reply(200); +Mock.onAny().reply(200, "editForm"); +Mock.onPut().reply(200, { Description: "Test description" }); +Mock.onPut().reply(200, { Description: "Test description" }); +Mock.onPost().reply(200, { Description: "Test description" }); +*/ + +export { $api, Mock }; diff --git a/frontend/tests/vitest/model/album.test.js b/frontend/tests/vitest/model/album.test.js new file mode 100644 index 000000000..b27a252f8 --- /dev/null +++ b/frontend/tests/vitest/model/album.test.js @@ -0,0 +1,343 @@ +import { describe, it, expect } from "vitest"; +import "../fixtures"; +import { Album, BatchSize } from "model/album"; + +describe("model/album", () => { + it("should get route view", () => { + const values = { ID: 5, Title: "Christmas 2019", Slug: "christmas-2019" }; + const album = new Album(values); + const result = album.route("test"); + expect(result.name).toBe("test"); + expect(result.params.slug).toBe("view"); + }); + + it("should return classes", () => { + const values = { + UID: 5, + Title: "Christmas 2019", + Slug: "christmas-2019", + Type: "moment", + Favorite: true, + Private: true, + }; + const album = new Album(values); + const result = album.classes(true); + expect(result).toContain("is-album"); + expect(result).toContain("uid-5"); + expect(result).toContain("type-moment"); + expect(result).toContain("is-selected"); + expect(result).toContain("is-favorite"); + expect(result).toContain("is-private"); + }); + + it("should get album entity name", () => { + const values = { ID: 5, Title: "Christmas 2019", Slug: "christmas-2019" }; + const album = new Album(values); + const result = album.getEntityName(); + expect(result).toBe("christmas-2019"); + }); + + it("should get album id", () => { + const values = { ID: 5, Title: "Christmas 2019", Slug: "christmas-2019", UID: 66 }; + const album = new Album(values); + const result = album.getId(); + expect(result).toBe(66); + }); + + it("should get album title", () => { + const values = { ID: 5, Title: "Christmas 2019", Slug: "christmas-2019" }; + const album = new Album(values); + const result = album.getTitle(); + expect(result).toBe("Christmas 2019"); + }); + + it("should get album country", () => { + const values = { ID: 5, Title: "Christmas 2019", Slug: "christmas-2019", Country: "at" }; + const album = new Album(values); + const result = album.getCountry(); + expect(result).toBe("Austria"); + + const values2 = { ID: 5, Title: "Christmas 2019", Slug: "christmas-2019", Country: "zz" }; + const album2 = new Album(values2); + const result2 = album2.getCountry(); + expect(result2).toBe(""); + + const values3 = { ID: 5, Title: "Christmas 2019", Slug: "christmas-2019", Country: "xx" }; + const album3 = new Album(values3); + const result3 = album3.getCountry(); + expect(result3).toBe(""); + }); + + it("should check if album has location", () => { + const values = { + ID: 5, + Title: "Christmas 2019", + Slug: "christmas-2019", + Country: "zz", + State: "", + Location: "", + }; + const album = new Album(values); + const result = album.hasLocation(); + expect(result).toBe(false); + + const values2 = { ID: 5, Title: "Christmas 2019", Slug: "christmas-2019", Country: "at" }; + const album2 = new Album(values2); + const result2 = album2.hasLocation(); + expect(result2).toBe(true); + }); + + it("should get album location", () => { + const values = { + ID: 5, + Title: "Christmas 2019", + Slug: "christmas-2019", + Country: "at", + State: "Salzburg", + Location: "", + }; + const album = new Album(values); + const result = album.getLocation(); + expect(result).toBe("Salzburg, Austria"); + + const values2 = { + ID: 5, + Title: "Christmas 2019", + Slug: "christmas-2019", + Country: "zz", + State: "", + Location: "", + }; + const album2 = new Album(values2); + const result2 = album2.getLocation(); + expect(result2).toBe(""); + + const values3 = { + ID: 5, + Title: "Christmas 2019", + Slug: "christmas-2019", + Country: "zz", + State: "", + Location: "Austria", + }; + const album3 = new Album(values3); + const result3 = album3.getLocation(); + expect(result3).toBe("Austria"); + + const values5 = { + ID: 5, + Title: "Salzburg", + Slug: "salzburg", + Country: "at", + State: "Salzburg", + Location: "", + }; + const album5 = new Album(values5); + const result5 = album5.getLocation(); + expect(result5).toBe("Austria"); + + const values6 = { + ID: 5, + Title: "Austria", + Slug: "austria", + Country: "at", + State: "Salzburg", + Location: "", + }; + const album6 = new Album(values6); + const result6 = album6.getLocation(); + expect(result6).toBe("Salzburg"); + }); + + it("should get thumbnail url", () => { + const values = { + ID: 5, + Thumb: "d6b24d688564f7ddc7b245a414f003a8d8ff5a67", + Title: "Christmas 2019", + Slug: "christmas-2019", + UID: 66, + }; + const album = new Album(values); + const result = album.thumbnailUrl("xyz"); + expect(result).toBe("/api/v1/t/d6b24d688564f7ddc7b245a414f003a8d8ff5a67/public/xyz"); + + const values2 = { + ID: 5, + Title: "Christmas 2019", + Slug: "christmas-2019", + UID: 66, + }; + const album2 = new Album(values2); + const result2 = album2.thumbnailUrl("xyz"); + expect(result2).toBe("/api/v1/albums/66/t/public/xyz"); + + const values3 = { + ID: 5, + Title: "Christmas 2019", + Slug: "christmas-2019", + }; + const album3 = new Album(values3); + const result3 = album3.thumbnailUrl("xyz"); + expect(result3).toBe("/api/v1/svg/album"); + }); + + it("should get created date string", () => { + const values = { + ID: 5, + Title: "Christmas 2019", + Slug: "christmas-2019", + CreatedAt: "2012-07-08T14:45:39Z", + }; + const album = new Album(values); + const result = album.getCreatedString(); + expect(result.replaceAll("\u202f", " ")).toBe("Jul 8, 2012, 2:45 PM"); + }); + + it("should get album date string with invalid day", () => { + const values = { + ID: 5, + Title: "Christmas 2019", + Slug: "christmas-2019", + CreatedAt: "2012-07-08T14:45:39Z", + Day: -1, + Month: 5, + Year: 2019, + }; + const album = new Album(values); + const result = album.getDateString(); + expect(result).toBe("May 2019"); + }); + + it("should get album date string with invalid month", () => { + const values = { + ID: 5, + Title: "Christmas 2019", + Slug: "christmas-2019", + CreatedAt: "2012-07-08T14:45:39Z", + Day: 1, + Month: -5, + Year: 2000, + }; + const album = new Album(values); + const result = album.getDateString(); + expect(result).toBe("2000"); + }); + + it("should get album date string with invalid year", () => { + const values = { + ID: 5, + Title: "Christmas 2019", + Slug: "christmas-2019", + CreatedAt: "2012-07-08T14:45:39Z", + Day: 1, + Month: 5, + Year: 800, + }; + const album = new Album(values); + const result = album.getDateString(); + expect(result).toBe("Unknown"); + }); + + it("should get album date string", () => { + const values = { + ID: 5, + Title: "Christmas 2019", + Slug: "christmas-2019", + CreatedAt: "2012-07-08T14:45:39Z", + Day: 1, + Month: 5, + Year: 2000, + }; + const album = new Album(values); + const result = album.getDateString(); + expect(result).toBe("Monday, May 1, 2000"); + }); + + it("should get day string", () => { + const values = { + ID: 5, + Title: "Christmas 2019", + Slug: "christmas-2019", + CreatedAt: "2012-07-08T14:45:39Z", + Day: 8, + Month: 5, + Year: 2019, + }; + const album = new Album(values); + const result = album.dayString(); + expect(result).toBe("08"); + }); + + it("should get month string", () => { + const values = { + ID: 5, + Title: "Christmas 2019", + Slug: "christmas-2019", + CreatedAt: "2012-07-08T14:45:39Z", + Day: 8, + Month: -5, + Year: 2019, + }; + const album = new Album(values); + const result = album.monthString(); + expect(result).toBe("01"); + }); + + it("should get year string", () => { + const values = { + ID: 5, + Title: "Christmas 2019", + Slug: "christmas-2019", + CreatedAt: "2012-07-08T14:45:39Z", + Day: 8, + Month: -5, + Year: 800, + }; + const album = new Album(values); + const result = album.yearString(); + expect(result).toBe(new Date().getFullYear().toString().padStart(4, "0")); + }); + + it("should get model name", () => { + const result = Album.getModelName(); + expect(result).toBe("Album"); + }); + + it("should get collection resource", () => { + const result = Album.getCollectionResource(); + expect(result).toBe("albums"); + }); + + it("should return batch size", () => { + expect(Album.batchSize()).toBe(BatchSize); + Album.setBatchSize(30); + expect(Album.batchSize()).toBe(30); + Album.setBatchSize(BatchSize); + }); + + it("should like album", () => { + const values = { ID: 5, Title: "Christmas 2019", Slug: "christmas-2019", Favorite: false }; + const album = new Album(values); + expect(album.Favorite).toBe(false); + album.like(); + expect(album.Favorite).toBe(true); + }); + + it("should unlike album", () => { + const values = { ID: 5, Title: "Christmas 2019", Slug: "christmas-2019", Favorite: true }; + const album = new Album(values); + expect(album.Favorite).toBe(true); + album.unlike(); + expect(album.Favorite).toBe(false); + }); + + it("should toggle like", () => { + const values = { ID: 5, Title: "Christmas 2019", Slug: "christmas-2019", Favorite: true }; + const album = new Album(values); + expect(album.Favorite).toBe(true); + album.toggleLike(); + expect(album.Favorite).toBe(false); + album.toggleLike(); + expect(album.Favorite).toBe(true); + }); +}); diff --git a/frontend/tests/vitest/model/config-options.test.js b/frontend/tests/vitest/model/config-options.test.js new file mode 100644 index 000000000..f5cb508f8 --- /dev/null +++ b/frontend/tests/vitest/model/config-options.test.js @@ -0,0 +1,45 @@ +import { describe, it, expect } from "vitest"; +import "../fixtures"; +import ConfigOptions from "model/config-options"; + +describe("model/config-options", () => { + it("should get options defaults", () => { + const values = {}; + const options = new ConfigOptions(values); + const result = options.getDefaults(); + expect(result.Debug).toBe(false); + expect(result.ReadOnly).toBe(false); + expect(result.ThumbSize).toBe(0); + }); + + it("should test changed", () => { + const values = {}; + const options = new ConfigOptions(values); + expect(options.changed()).toBe(false); + }); + + it("should load options", async () => { + const values = {}; + const options = new ConfigOptions(values); + try { + const response = await options.load(); + expect(response.success).toBe("ok"); + } catch (error) { + // Vitest will fail the test if a promise rejects + throw error; + } + expect(options.changed()).toBe(false); + }); + + it("should save options", async () => { + const values = { Debug: true }; + const options = new ConfigOptions(values); + try { + const response = await options.save(); + expect(response.success).toBe("ok"); + } catch (error) { + throw error; + } + expect(options.changed()).toBe(false); + }); +}); diff --git a/frontend/tests/vitest/model/face.test.js b/frontend/tests/vitest/model/face.test.js new file mode 100644 index 000000000..9f072f0d8 --- /dev/null +++ b/frontend/tests/vitest/model/face.test.js @@ -0,0 +1,161 @@ +import { describe, it, expect } from "vitest"; +import "../fixtures"; +import { Face, BatchSize } from "model/face"; + +describe("model/face", () => { + it("should get face defaults", () => { + const values = {}; + const face = new Face(values); + const result = face.getDefaults(); + expect(result.ID).toBe(""); + expect(result.SampleRadius).toBe(0.0); + }); + + it("should get route view", () => { + const values = { ID: "f123ghytrfggd", Samples: 5 }; + const face = new Face(values); + const result = face.route("test"); + expect(result.name).toBe("test"); + expect(result.query.q).toBe("face:f123ghytrfggd"); + }); + + it("should return classes", () => { + const values = { ID: "f123ghytrfggd", Samples: 5 }; + const face = new Face(values); + const result = face.classes(true); + expect(result).toContain("is-face"); + expect(result).toContain("uid-f123ghytrfggd"); + expect(result).toContain("is-selected"); + expect(result).not.toContain("is-hidden"); + + const result2 = face.classes(false); + expect(result2).toContain("is-face"); + expect(result2).toContain("uid-f123ghytrfggd"); + expect(result2).not.toContain("is-selected"); + expect(result2).not.toContain("is-hidden"); + + const values2 = { ID: "f123ghytrfggd", Samples: 5, Hidden: true }; + const face2 = new Face(values2); + const result3 = face2.classes(true); + expect(result3).toContain("is-face"); + expect(result3).toContain("uid-f123ghytrfggd"); + expect(result3).toContain("is-selected"); + expect(result3).toContain("is-hidden"); + }); + + it("should get face entity name", () => { + const values = { ID: "f123ghytrfggd", Samples: 5 }; + const face = new Face(values); + const result = face.getEntityName(); + expect(result).toBe("f123ghytrfggd"); + }); + + it("should get face title", () => { + const values = { ID: "f123ghytrfggd", Samples: 5 }; + const face = new Face(values); + const result = face.getTitle(); + expect(result).toBeUndefined(); + }); + + it("should get thumbnail url", () => { + const values = { + ID: "f123ghytrfggd", + Samples: 5, + MarkerUID: "ABC123ghytr", + FileUID: "fhjouohnnmnd", + Name: "", + Thumb: "7ca759a2b788cc5bcc08dbbce9854ff94a2f94d1", + }; + + const face = new Face(values); + const result = face.thumbnailUrl("xyz"); + expect(result).toBe("/api/v1/t/7ca759a2b788cc5bcc08dbbce9854ff94a2f94d1/public/xyz"); + + const values2 = { + ID: "f123ghytrfggd", + Samples: 5, + Thumb: "7ca759a2b788cc5bcc08dbbce9854ff94a2f94d1", + }; + const face2 = new Face(values2); + const result2 = face2.thumbnailUrl(); + expect(result2).toBe("/api/v1/t/7ca759a2b788cc5bcc08dbbce9854ff94a2f94d1/public/tile_160"); + + const values3 = { + ID: "f123ghytrfggd", + Samples: 5, + Thumb: "", + }; + const face3 = new Face(values3); + const result3 = face3.thumbnailUrl("tile_240"); + expect(result3).toBe("/api/v1/svg/portrait"); + }); + + it("should get date string", () => { + const values = { + ID: "f123ghytrfggd", + Samples: 5, + CreatedAt: "2012-07-08T14:45:39Z", + }; + const face = new Face(values); + const result = face.getDateString(); + expect(result.replaceAll("\u202f", " ")).toBe("Jul 8, 2012, 2:45 PM"); + }); + + it("show and hide face", () => { + const values = { + ID: "f123ghytrfggd", + Samples: 5, + CreatedAt: "2012-07-08T14:45:39Z", + Hidden: true, + }; + const face = new Face(values); + expect(face.Hidden).toBe(true); + face.show(); + expect(face.Hidden).toBe(false); + face.hide(); + expect(face.Hidden).toBe(true); + }); + + it("should toggle hidden", () => { + const values = { + ID: "f123ghytrfggd", + Samples: 5, + CreatedAt: "2012-07-08T14:45:39Z", + Hidden: true, + }; + const face = new Face(values); + expect(face.Hidden).toBe(true); + face.toggleHidden(); + expect(face.Hidden).toBe(false); + face.toggleHidden(); + expect(face.Hidden).toBe(true); + }); + + it("should set name", async () => { + const values = { ID: "f123ghytrfggd", Samples: 5, MarkerUID: "mDC123ghytr", Name: "Jane" }; + const face = new Face(values); + + const response1 = await face.setName("testname"); + expect(response1.Name).toBe("testname"); + + const response2 = await face.setName(""); + expect(response2.Name).toBe("testname"); + }); + + it("should return batch size", () => { + expect(Face.batchSize()).toBe(BatchSize); + Face.setBatchSize(30); + expect(Face.batchSize()).toBe(30); + Face.setBatchSize(BatchSize); + }); + + it("should get collection resource", () => { + const result = Face.getCollectionResource(); + expect(result).toBe("faces"); + }); + + it("should get model name", () => { + const result = Face.getModelName(); + expect(result).toBe("Face"); + }); +}); diff --git a/frontend/tests/vitest/model/file.test.js b/frontend/tests/vitest/model/file.test.js new file mode 100644 index 000000000..a3cfbaf54 --- /dev/null +++ b/frontend/tests/vitest/model/file.test.js @@ -0,0 +1,470 @@ +import { describe, it, expect } from "vitest"; +import "../fixtures"; +import File from "model/file"; + +describe("model/file", () => { + it("should return classes", () => { + const values = { + InstanceID: 5, + UID: "ABC123", + Name: "1/2/IMG123.jpg", + Primary: true, + Sidecar: true, + Video: true, + }; + const file = new File(values); + const result = file.classes(true); + expect(result).toContain("is-file"); + expect(result).toContain("uid-ABC123"); + expect(result).toContain("is-primary"); + expect(result).toContain("is-sidecar"); + expect(result).toContain("is-video"); + expect(result).toContain("is-selected"); + }); + + it("should get file defaults", () => { + const values = { + InstanceID: 5, + UID: "ABC123", + }; + const file = new File(values); + const result = file.getDefaults(); + expect(result.UID).toBe(""); + expect(result.Size).toBe(0); + }); + + it("should get file base name", () => { + const values = { + InstanceID: 5, + UID: "ABC123", + Name: "1/2/IMG123.jpg", + }; + const file = new File(values); + const result = file.baseName(); + expect(result).toBe("IMG123.jpg"); + const result2 = file.baseName(8); + expect(result2).toBe("IMG123.…"); + }); + + it("should return true", () => { + const values = { + InstanceID: 5, + UID: "ABC123", + Name: "1/2/IMG123.jpg", + }; + const file = new File(values); + expect(file.isFile()).toBe(true); + }); + + it("should return entity name", () => { + const values = { + InstanceID: 5, + UID: "ABC123", + Root: "", + Name: "1/2/IMG123.jpg", + }; + const file = new File(values); + expect(file.getEntityName()).toBe("/1/2/IMG123.jpg"); + }); + + it("should return thumbnail url", () => { + const values = { + InstanceID: 5, + UID: "ABC123", + Hash: "54ghtfd", + FileType: "jpg", + Name: "1/2/IMG123.jpg", + }; + const file = new File(values); + expect(file.thumbnailUrl("tile_224")).toBe("/api/v1/t/54ghtfd/public/tile_224"); + + const values2 = { + InstanceID: 5, + UID: "ABC123", + Name: "1/2/IMG123.jpg", + Error: true, + }; + const file2 = new File(values2); + expect(file2.thumbnailUrl("tile_224")).toBe("/api/v1/svg/broken"); + + const values3 = { + InstanceID: 5, + UID: "ABC123", + Hash: "bd66bd2c304f45f6c160df375f34b49eb7aef321", + Name: "1/2/IMG123.jpg", + FileType: "raw", + }; + const file3 = new File(values3); + expect(file3.thumbnailUrl("tile_224")).toBe("/api/v1/t/bd66bd2c304f45f6c160df375f34b49eb7aef321/public/tile_224"); + + const values4 = { + InstanceID: 5, + UID: "ABC123", + Hash: "0e437256ec20da874318b64027750b320548378c", + FileType: "jpg", + Name: "1/2/IMG123.jpg", + Sidecar: true, + }; + const file4 = new File(values4); + expect(file4.thumbnailUrl("tile_224")).toBe("/api/v1/svg/file"); + }); + + it("should return download url", () => { + const values = { + InstanceID: 5, + UID: "ABC123", + Hash: "54ghtfd", + FileType: "jpg", + Name: "1/2/IMG123.jpg", + }; + const file = new File(values); + expect(file.getDownloadUrl("abc")).toBe("/api/v1/dl/54ghtfd?t=2lbh9x09"); + }); + + it("should not download as hash is missing", () => { + const values = { + InstanceID: 5, + UID: "ABC123", + FileType: "jpg", + Name: "1/2/IMG123.jpg", + }; + const file = new File(values); + expect(file.download()).toBeUndefined(); + }); + + it("should calculate size", () => { + const values = { + InstanceID: 5, + UID: "ABC123", + Hash: "54ghtfd", + FileType: "jpg", + Width: 500, + Height: 700, + Name: "1/2/IMG123.jpg", + }; + const file = new File(values); + expect(file.calculateSize(600, 800).width).toBe(500); + expect(file.calculateSize(600, 800).height).toBe(700); + + const values2 = { + InstanceID: 5, + UID: "ABC123", + Hash: "54ghtfd", + FileType: "jpg", + Width: 900, + Height: 850, + Name: "1/2/IMG123.jpg", + }; + const file2 = new File(values2); + expect(file2.calculateSize(600, 800).width).toBe(600); + expect(file2.calculateSize(600, 800).height).toBe(567); + + const values3 = { + InstanceID: 5, + UID: "ABC123", + Hash: "54ghtfd", + FileType: "jpg", + Width: 750, + Height: 850, + Name: "1/2/IMG123.jpg", + }; + const file3 = new File(values3); + expect(file3.calculateSize(900, 450).width).toBe(398); + expect(file3.calculateSize(900, 450).height).toBe(450); + }); + + it("should get date string", () => { + const values = { + InstanceID: 5, + UID: "ABC123", + Hash: "54ghtfd", + FileType: "jpg", + Name: "1/2/IMG123.jpg", + CreatedAt: "2012-07-08T14:45:39Z", + UpdatedAt: "2012-07-08T14:45:39Z", + }; + const file = new File(values); + expect(file.getDateString().replaceAll("\u202f", " ")).toBe("Jul 8, 2012, 2:45 PM"); + }); + + it("should get info", () => { + const values = { + InstanceID: 5, + UID: "ABC123", + Hash: "54ghtfd", + FileType: "jpg", + Name: "1/2/IMG123.jpg", + CreatedAt: "2012-07-08T14:45:39Z", + UpdatedAt: "2012-07-08T14:45:39Z", + }; + const file = new File(values); + expect(file.getInfo()).toBe("JPG"); + + const values2 = { + InstanceID: 6, + UID: "ABC124", + Hash: "54ghtfd", + FileType: "mp4", + Duration: 8009, + FPS: 60, + Name: "1/2/IMG123.mp4", + CreatedAt: "2012-07-08T14:45:39Z", + UpdatedAt: "2012-07-08T14:45:39Z", + }; + const file2 = new File(values2); + expect(file2.getInfo()).toBe("MP4, 8µs, 60.0 FPS"); + }); + + it("should return storage location", () => { + const values = { + InstanceID: 5, + UID: "ABC123", + Hash: "54ghtfd", + FileType: "jpg", + Name: "1/2/IMG123.jpg", + Root: "sidecar", + CreatedAt: "2012-07-08T14:45:39Z", + UpdatedAt: "2012-07-08T14:45:39Z", + }; + const file = new File(values); + expect(file.storageInfo()).toBe("Sidecar"); + + const values2 = { + InstanceID: 6, + UID: "ABC124", + Hash: "54ghtfd", + FileType: "mp4", + Duration: 8009, + FPS: 60, + Root: "/", + Name: "1/2/IMG123.mp4", + CreatedAt: "2012-07-08T14:45:39Z", + UpdatedAt: "2012-07-08T14:45:39Z", + }; + const file2 = new File(values2); + expect(file2.storageInfo()).toBe("Originals"); + + const values3 = { + InstanceID: 6, + UID: "ABC124", + Hash: "54ghtfd", + FileType: "mp4", + Duration: 8009, + FPS: 60, + Root: "", + Name: "1/2/IMG123.mp4", + CreatedAt: "2012-07-08T14:45:39Z", + UpdatedAt: "2012-07-08T14:45:39Z", + }; + const file3 = new File(values3); + expect(file3.storageInfo()).toBe(""); + }); + + it("should return whether file is animated", () => { + const values = { + InstanceID: 5, + UID: "ABC123", + MediaType: "image", + Duration: 500, + }; + const file = new File(values); + expect(file.isAnimated()).toBe(true); + }); + + it("should get type info", () => { + const values = { + InstanceID: 5, + UID: "ABC123", + Hash: "54ghtfd", + FileType: "jpg", + Primary: true, + Name: "1/2/IMG123.jpg", + CreatedAt: "2012-07-08T14:45:39Z", + UpdatedAt: "2012-07-08T14:45:39Z", + }; + const file = new File(values); + expect(file.typeInfo()).toBe("Image"); + + const values2 = { + InstanceID: 5, + UID: "ABC123", + Hash: "54ghtfd", + FileType: "mp4", + Duration: 8009, + FPS: 60, + Name: "1/2/IMG123.mp4", + Video: true, + CreatedAt: "2012-07-08T14:45:39Z", + UpdatedAt: "2012-07-08T14:45:39Z", + }; + const file2 = new File(values2); + expect(file2.typeInfo()).toBe("Video"); + + const values3 = { + InstanceID: 5, + UID: "ABC123", + Hash: "54ghtfd", + FileType: "jpg", + Name: "1/2/IMG123.jpg", + Sidecar: true, + CreatedAt: "2012-07-08T14:45:39Z", + UpdatedAt: "2012-07-08T14:45:39Z", + }; + const file3 = new File(values3); + expect(file3.typeInfo()).toBe("Sidecar JPEG"); + + const values4 = { + InstanceID: 5, + UID: "ABC123", + Hash: "54ghtfd", + FileType: "gif", + MediaType: "image", + Duration: 8009, + Name: "1/2/IMG123.jpg", + Sidecar: true, + CreatedAt: "2012-07-08T14:45:39Z", + UpdatedAt: "2012-07-08T14:45:39Z", + }; + const file4 = new File(values4); + expect(file4.typeInfo()).toBe("Sidecar GIF Image"); + + const values5 = { + InstanceID: 5, + UID: "ABC123", + Hash: "54ghtfd", + FileType: "svg", + MediaType: "vector", + Name: "1/2/IMG123.svg", + CreatedAt: "2012-07-08T14:45:39Z", + UpdatedAt: "2012-07-08T14:45:39Z", + }; + const file5 = new File(values5); + expect(file5.typeInfo()).toBe("SVG"); + }); + + it("should get size info", () => { + const values = { + InstanceID: 5, + UID: "ABC123", + Hash: "54ghtfd", + FileType: "jpg", + Size: 8009, + Name: "1/2/IMG123.jpg", + CreatedAt: "2012-07-08T14:45:39Z", + UpdatedAt: "2012-07-08T14:45:39Z", + }; + const file = new File(values); + expect(file.sizeInfo()).toBe("8 KB"); + + const values2 = { + InstanceID: 5, + UID: "ABC123", + Hash: "54ghtfd", + FileType: "jpg", + Size: 8009999987, + Name: "1/2/IMG123.jpg", + CreatedAt: "2012-07-08T14:45:39Z", + UpdatedAt: "2012-07-08T14:45:39Z", + }; + const file2 = new File(values2); + expect(file2.sizeInfo()).toBe("7.5 GB"); + + const values3 = { + InstanceID: 5, + UID: "ABC123", + Hash: "54ghtfd", + FileType: "jpg", + Size: 8009999987, + Name: "1/2/IMG123.jpg", + Width: 500, + Height: 800, + CreatedAt: "2012-07-08T14:45:39Z", + UpdatedAt: "2012-07-08T14:45:39Z", + }; + const file3 = new File(values3); + expect(file3.sizeInfo()).toBe("500 × 800, 7.5 GB"); + }); + + it("should like file", () => { + const values = { + InstanceID: 5, + UID: "ABC123", + Hash: "54ghtfd", + FileType: "jpg", + Duration: 8009, + Favorite: false, + Name: "1/2/IMG123.jpg", + CreatedAt: "2012-07-08T14:45:39Z", + UpdatedAt: "2012-07-08T14:45:39Z", + }; + const file = new File(values); + expect(file.Favorite).toBe(false); + file.like(); + expect(file.Favorite).toBe(true); + }); + + it("should unlike file", () => { + const values = { + InstanceID: 5, + UID: "ABC123", + Hash: "54ghtfd", + FileType: "jpg", + Duration: 8009, + Favorite: true, + Name: "1/2/IMG123.jpg", + CreatedAt: "2012-07-08T14:45:39Z", + UpdatedAt: "2012-07-08T14:45:39Z", + }; + const file = new File(values); + expect(file.Favorite).toBe(true); + file.unlike(); + expect(file.Favorite).toBe(false); + }); + + it("should toggle like", () => { + const values = { + InstanceID: 5, + UID: "ABC123", + Hash: "54ghtfd", + FileType: "jpg", + Duration: 8009, + Favorite: true, + Name: "1/2/IMG123.jpg", + CreatedAt: "2012-07-08T14:45:39Z", + UpdatedAt: "2012-07-08T14:45:39Z", + }; + const file = new File(values); + expect(file.Favorite).toBe(true); + file.toggleLike(); + expect(file.Favorite).toBe(false); + file.toggleLike(); + expect(file.Favorite).toBe(true); + }); + + it("should get photo resource", () => { + const values = { + InstanceID: 5, + PhotoUID: "bgad457", + UID: "ABC123", + Hash: "54ghtfd", + FileType: "jpg", + Duration: 8009, + Favorite: true, + Name: "1/2/IMG123.jpg", + CreatedAt: "2012-07-08T14:45:39Z", + UpdatedAt: "2012-07-08T14:45:39Z", + }; + const file = new File(values); + expect(file.getPhotoResource()).toBe("photos/bgad457"); + }); + + it("should get collection resource", () => { + const result = File.getCollectionResource(); + expect(result).toBe("files"); + }); + + it("should get model name", () => { + const result = File.getModelName(); + expect(result).toBe("File"); + }); +}); diff --git a/frontend/tests/vitest/model/folder.test.js b/frontend/tests/vitest/model/folder.test.js new file mode 100644 index 000000000..11247059a --- /dev/null +++ b/frontend/tests/vitest/model/folder.test.js @@ -0,0 +1,237 @@ +import { describe, it, expect } from "vitest"; +import "../fixtures"; +import Folder from "model/folder"; + +describe("model/folder", () => { + it("should return classes", () => { + const values = { + Folder: true, + Path: "2011/10-Halloween", + UID: "dqbevau2zlhxrxww", + Title: "Halloween Party", + Favorite: true, + Private: true, + Ignore: false, + Watch: false, + FileCount: 0, + }; + const folder = new Folder(values); + const result = folder.classes(true); + expect(result).toContain("is-folder"); + expect(result).toContain("uid-dqbevau2zlhxrxww"); + expect(result).toContain("is-favorite"); + expect(result).toContain("is-private"); + expect(result).toContain("is-selected"); + }); + + it("should get folder defaults", () => { + const values = { + Folder: true, + Path: "2011/10-Halloween", + Root: "", + UID: "dqbevau2zlhxrxww", + Type: "", + Title: "Halloween Party", + Category: "", + Description: "", + Order: "", + Country: "", + Year: "", + Month: "", + Favorite: false, + Private: false, + Ignore: false, + Watch: false, + FileCount: 0, + CreatedAt: "", + UpdatedAt: "", + }; + const model = new Folder(values); + const result = model.getDefaults(); + expect(result.Folder).toBe(true); + expect(result.Path).toBe(""); + expect(result.Favorite).toBe(false); + }); + + it("should get folder base name", () => { + const values = { + Folder: true, + Path: "2011/10-Halloween", + Root: "", + UID: "dqbevau2zlhxrxww", + Type: "", + Title: "Halloween Party", + Category: "", + Description: "", + Order: "", + Country: "", + Year: "", + Month: "", + Favorite: false, + Private: false, + Ignore: false, + Watch: false, + FileCount: 0, + CreatedAt: "", + UpdatedAt: "", + }; + const folder = new Folder(values); + const result = folder.baseName(); + expect(result).toBe("10-Halloween"); + const result2 = folder.baseName(8); + expect(result2).toBe("10-Hall…"); + }); + + it("should return false", () => { + const values = { + Folder: true, + Path: "2011/10-Halloween", + UID: "dqbevau2zlhxrxww", + Title: "Halloween Party", + }; + const folder = new Folder(values); + expect(folder.isFile()).toBe(false); + }); + + it("should return entity name", () => { + const values = { + Folder: true, + Path: "2011/10-Halloween", + Root: "", + UID: "dqbevau2zlhxrxww", + Title: "Halloween Party", + }; + const folder = new Folder(values); + expect(folder.getEntityName()).toBe("/2011/10-Halloween"); + }); + + it("should return thumbnail url", () => { + const values = { + Folder: true, + Path: "2011/10-Halloween", + Root: "", + UID: "dqbevau2zlhxrxww", + Title: "Halloween Party", + }; + const folder = new Folder(values); + expect(folder.thumbnailUrl("tile_224")).toBe("/api/v1/folders/t/dqbevau2zlhxrxww/public/tile_224"); + }); + + it("should get date string", () => { + const values = { + Folder: true, + Path: "2011/10-Halloween", + Root: "", + UID: "dqbevau2zlhxrxww", + Title: "Halloween Party", + CreatedAt: "2012-07-08T14:45:39Z", + UpdatedAt: "2012-07-08T14:45:39Z", + }; + const folder = new Folder(values); + expect(folder.getDateString().replaceAll("\u202f", " ")).toBe("Jul 8, 2012, 2:45 PM"); + }); + + it("should toggle like", () => { + const values = { + Folder: true, + Path: "2011/10-Halloween", + Root: "", + UID: "dqbevau2zlhxrxww", + Title: "Halloween Party", + Favorite: true, + Private: true, + }; + const folder = new Folder(values); + expect(folder.Favorite).toBe(true); + folder.toggleLike(); + expect(folder.Favorite).toBe(false); + folder.toggleLike(); + expect(folder.Favorite).toBe(true); + }); + + it("should like folder", () => { + const values = { + Folder: true, + Path: "2011/10-Halloween", + Root: "", + UID: "dqbevau2zlhxrxww", + Title: "Halloween Party", + Favorite: false, + Private: true, + }; + const folder = new Folder(values); + expect(folder.Favorite).toBe(false); + folder.like(); + expect(folder.Favorite).toBe(true); + }); + + it("should unlike folder", () => { + const values = { + Folder: true, + Path: "2011/10-Halloween", + Root: "", + UID: "dqbevau2zlhxrxww", + Title: "Halloween Party", + Favorite: true, + Private: true, + }; + const folder = new Folder(values); + expect(folder.Favorite).toBe(true); + folder.unlike(); + expect(folder.Favorite).toBe(false); + }); + + it("should get collection resource", () => { + const result = Folder.getCollectionResource(); + expect(result).toBe("folders"); + }); + + it("should get model name", () => { + const result = Folder.getModelName(); + expect(result).toBe("Folder"); + }); + + it("should test find all", async () => { + try { + const response = await Folder.findAll("2011/10-Halloween"); + expect(response.status).toBe(200); + expect(response.count).toBe(4); + expect(response.folders).toBe(3); + } catch (error) { + throw error; + } + }); + + it("should test find all uncached", async () => { + try { + const response = await Folder.findAllUncached("2011/10-Halloween"); + expect(response.status).toBe(200); + expect(response.count).toBe(3); + expect(response.folders).toBe(2); + } catch (error) { + throw error; + } + }); + + it("should test find in originals", async () => { + try { + const response = await Folder.originals("2011/10-Halloween", { recursive: true }); + expect(response.status).toBe(200); + expect(response.count).toBe(4); + expect(response.folders).toBe(3); + } catch (error) { + throw error; + } + }); + + it("should test search", async () => { + try { + const response = await Folder.search("2011/10-Halloween", { recursive: true, uncached: true }); + expect(response.status).toBe(200); + expect(response.count).toBe(3); + expect(response.folders).toBe(2); + } catch (error) { + throw error; + } + }); +}); diff --git a/frontend/tests/vitest/model/label.test.js b/frontend/tests/vitest/model/label.test.js new file mode 100644 index 000000000..d13afe834 --- /dev/null +++ b/frontend/tests/vitest/model/label.test.js @@ -0,0 +1,139 @@ +import { describe, it, expect } from "vitest"; +import "../fixtures"; +import { Label, BatchSize } from "model/label"; + +describe("model/label", () => { + it("should get route view", () => { + const values = { ID: 5, UID: "ABC123", Name: "Black Cat", Slug: "black-cat" }; + const label = new Label(values); + const result = label.route("test"); + expect(result.name).toBe("test"); + expect(result.query.q).toBe("label:black-cat"); + }); + + it("should return batch size", () => { + expect(Label.batchSize()).toBe(BatchSize); + Label.setBatchSize(30); + expect(Label.batchSize()).toBe(30); + Label.setBatchSize(BatchSize); + }); + + it("should return classes", () => { + const values = { ID: 5, UID: "ABC123", Name: "Black Cat", Slug: "black-cat", Favorite: true }; + const label = new Label(values); + const result = label.classes(true); + expect(result).toContain("is-label"); + expect(result).toContain("uid-ABC123"); + expect(result).toContain("is-selected"); + expect(result).toContain("is-favorite"); + }); + + it("should get label entity name", () => { + const values = { ID: 5, UID: "ABC123", Name: "Black Cat", Slug: "black-cat" }; + const label = new Label(values); + const result = label.getEntityName(); + expect(result).toBe("black-cat"); + }); + + it("should get label id", () => { + const values = { ID: 5, UID: "ABC123", Name: "Black Cat", Slug: "black-cat" }; + const label = new Label(values); + const result = label.getId(); + expect(result).toBe("ABC123"); + }); + + it("should get label title", () => { + const values = { ID: 5, UID: "ABC123", Name: "Black Cat", Slug: "black-cat" }; + const label = new Label(values); + const result = label.getTitle(); + expect(result).toBe("Black Cat"); + }); + + it("should get thumbnail url", () => { + const values = { + ID: 5, + UID: "ABC123", + Thumb: "c6b24d688564f7ddc7b245a414f003a8d8ff5a67", + Name: "Black Cat", + Slug: "black-cat", + }; + const label = new Label(values); + const result = label.thumbnailUrl("xyz"); + expect(result).toBe("/api/v1/t/c6b24d688564f7ddc7b245a414f003a8d8ff5a67/public/xyz"); + + const values2 = { + ID: 5, + UID: "ABC123", + Name: "Black Cat", + Slug: "black-cat", + }; + const label2 = new Label(values2); + const result2 = label2.thumbnailUrl("xyz"); + expect(result2).toBe("/api/v1/labels/ABC123/t/public/xyz"); + + const values3 = { + ID: 5, + Name: "Black Cat", + Slug: "black-cat", + }; + const label3 = new Label(values3); + const result3 = label3.thumbnailUrl("xyz"); + expect(result3).toBe("/api/v1/svg/label"); + }); + + it("should get date string", () => { + const values = { + ID: 5, + UID: "ABC123", + Name: "Black Cat", + Slug: "black-cat", + CreatedAt: "2012-07-08T14:45:39Z", + }; + const label = new Label(values); + const result = label.getDateString(); + expect(result.replaceAll("\u202f", " ")).toBe("Jul 8, 2012, 2:45 PM"); + }); + + it("should get model name", () => { + const result = Label.getModelName(); + expect(result).toBe("Label"); + }); + + it("should get collection resource", () => { + const result = Label.getCollectionResource(); + expect(result).toBe("labels"); + }); + + it("should like label", () => { + const values = { ID: 5, UID: "ABC123", Name: "Black Cat", Slug: "black-cat", Favorite: false }; + const label = new Label(values); + expect(label.Favorite).toBe(false); + label.like(); + expect(label.Favorite).toBe(true); + }); + + it("should unlike label", () => { + const values = { ID: 5, UID: "ABC123", Name: "Black Cat", Slug: "black-cat", Favorite: true }; + const label = new Label(values); + expect(label.Favorite).toBe(true); + label.unlike(); + expect(label.Favorite).toBe(false); + }); + + it("should toggle like", () => { + const values = { ID: 5, UID: "ABC123", Name: "Black Cat", Slug: "black-cat", Favorite: true }; + const label = new Label(values); + expect(label.Favorite).toBe(true); + label.toggleLike(); + expect(label.Favorite).toBe(false); + label.toggleLike(); + expect(label.Favorite).toBe(true); + }); + + it("should get label defaults", () => { + const values = { ID: 5, UID: "ABC123" }; + const label = new Label(values); + const result = label.getDefaults(); + expect(result.ID).toBe(0); + }); +}); diff --git a/frontend/tests/vitest/model/link.test.js b/frontend/tests/vitest/model/link.test.js new file mode 100644 index 000000000..cec268b2c --- /dev/null +++ b/frontend/tests/vitest/model/link.test.js @@ -0,0 +1,101 @@ +import { describe, it, expect } from "vitest"; +import "../fixtures"; +import Link from "model/link"; + +describe("model/link", () => { + it("should get link defaults", () => { + const values = { UID: 5 }; + const link = new Link(values); + const result = link.getDefaults(); + expect(result.UID).toBe(""); + expect(result.Perm).toBe(0); + expect(result.Comment).toBe(""); + expect(result.ShareUID).toBe(""); + }); + + it("should get link url", () => { + const values = { UID: 5, Token: "1234hhtbbt", Slug: "friends", ShareUID: "family" }; + const link = new Link(values); + const result = link.url(); + expect(result).toBe("http://localhost:2342/s/1234hhtbbt/friends"); + const values2 = { UID: 5, Token: "", ShareUID: "family" }; + const link2 = new Link(values2); + const result2 = link2.url(); + expect(result2).toBe("http://localhost:2342/s/…/family"); + }); + + it("should get link caption", () => { + const values = { UID: 5, Token: "AcfgbTTh", Slug: "friends", ShareUID: "family" }; + const link = new Link(values); + const result = link.caption(); + expect(result).toBe("/s/acfgbtth"); + }); + + it("should get link id", () => { + const values = { UID: 5 }; + const link = new Link(values); + const result = link.getId(); + expect(result).toBe(5); + const values2 = {}; + const link2 = new Link(values2); + const result2 = link2.getId(); + expect(result2).toBe(false); + }); + + it("should test has id", () => { + const values = { UID: 5 }; + const link = new Link(values); + const result = link.hasId(); + expect(result).toBe(true); + }); + + it("should get link slug", () => { + const values = { UID: 5, Token: "AcfgbTTh", Slug: "friends", ShareUID: "family" }; + const link = new Link(values); + const result = link.getSlug(); + expect(result).toBe("friends"); + }); + + it("should test has slug", () => { + const values = { UID: 5, Token: "AcfgbTTh", Slug: "friends", ShareUID: "family" }; + const link = new Link(values); + const result = link.hasSlug(); + expect(result).toBe(true); + const values2 = { UID: 5, Token: "AcfgbTTh", ShareUID: "family" }; + const link2 = new Link(values2); + const result2 = link2.hasSlug(); + expect(result2).toBe(false); + }); + + it("should clone link", () => { + const values = { UID: 5, Token: "AcfgbTTh", Slug: "friends", ShareUID: "family" }; + const link = new Link(values); + const result = link.clone(); + expect(result.Slug).toBe("friends"); + expect(result.Token).toBe("AcfgbTTh"); + }); + + it("should test expire", () => { + const values = { + UID: 5, + Token: "AcfgbTTh", + Slug: "friends", + ShareUID: "family", + Expires: 80000, + ModifiedAt: "2012-07-08T14:45:39Z", + }; + const link = new Link(values); + const result = link.expires(); + expect(result).toBe("Jul 9, 2012"); + }); + + it("should get collection resource", () => { + const result = Link.getCollectionResource(); + expect(result).toBe("links"); + }); + + it("should get model name", () => { + const result = Link.getModelName(); + expect(result).toBe("Link"); + }); +}); diff --git a/frontend/tests/vitest/model/marker.test.js b/frontend/tests/vitest/model/marker.test.js index caa03dcd2..52d065856 100644 --- a/frontend/tests/vitest/model/marker.test.js +++ b/frontend/tests/vitest/model/marker.test.js @@ -1,10 +1,6 @@ -import { describe, it, expect, beforeEach } from "vitest"; +import { describe, it, expect } from "vitest"; +import "../fixtures"; import { Marker, BatchSize } from "model/marker"; -import { setupMarkerMocks } from "../fixtures"; - -beforeEach(() => { - setupMarkerMocks(); -}); describe("model/marker", () => { it("should get marker defaults", () => { @@ -111,7 +107,7 @@ describe("model/marker", () => { }; const marker = new Marker(values); const result = marker.getDateString(); - expect(result).toBe("2023-10-01 10:00:00"); + expect(result.replaceAll("\u202f", " ")).toBe("Jul 8, 2012, 2:45 PM"); }); it("should approve marker", () => { @@ -174,7 +170,6 @@ describe("model/marker", () => { }; const marker2 = new Marker(values2); expect(marker2.Name).toBe("testname"); - const response = await marker2.setName(); expect(response.success).toBe("ok"); }); diff --git a/frontend/tests/vitest/model/photo.test.js b/frontend/tests/vitest/model/photo.test.js new file mode 100644 index 000000000..b4e34db5b --- /dev/null +++ b/frontend/tests/vitest/model/photo.test.js @@ -0,0 +1,1731 @@ +import { describe, it, expect } from "vitest"; +import "../fixtures"; +import * as media from "common/media"; +import { Photo, BatchSize } from "model/photo"; + +describe("model/photo", () => { + it("should get photo entity name", () => { + const values = { UID: 5, Title: "Crazy Cat" }; + const photo = new Photo(values); + const result = photo.getEntityName(); + expect(result).toBe("Crazy Cat"); + }); + + it("should get photo uuid", () => { + const values = { ID: 5, Title: "Crazy Cat", UID: 789 }; + const photo = new Photo(values); + const result = photo.getId(); + expect(result).toBe(789); + }); + + it("should get photo title", () => { + const values = { ID: 5, Title: "Crazy Cat", UID: 789 }; + const photo = new Photo(values); + const result = photo.getTitle(); + expect(result).toBe("Crazy Cat"); + }); + + it("should get photo maps link", () => { + const values = { ID: 5, Title: "Crazy Cat", Lat: 36.442881666666665, Lng: 28.229493333333334 }; + const photo = new Photo(values); + const result = photo.getGoogleMapsLink(); + expect(result).toBe("https://www.google.com/maps/place/36.442881666666665,28.229493333333334"); + }); + + it("should get photo thumbnail url", () => { + const values = { ID: 5, Title: "Crazy Cat", Hash: "97b8cf7b3710bec95f6609487bbdd62489b95fb2" }; + const photo = new Photo(values); + const result = photo.thumbnailUrl("tile500"); + expect(result).toBe("/api/v1/t/97b8cf7b3710bec95f6609487bbdd62489b95fb2/public/tile500"); + const values2 = { + ID: 10, + UID: "ABC127", + Files: [ + { + UID: "123fgb", + Name: "1980/01/superCuteKitten.mp4", + Primary: false, + FileType: "mp4", + Width: 500, + Height: 600, + Hash: "be651a4fffd699196cfd5dd14b6ec9cb10a8531a", + }, + ], + }; + const photo2 = new Photo(values2); + const result2 = photo2.thumbnailUrl("tile500"); + expect(result2).toBe("/api/v1/t/be651a4fffd699196cfd5dd14b6ec9cb10a8531a/public/tile500"); + const values3 = { + ID: 10, + UID: "ABC127", + Files: [ + { + UID: "123fgb", + Name: "1980/01/superCuteKitten.mp4", + Primary: false, + FileType: "mp4", + Width: 500, + Height: 600, + }, + ], + }; + const photo3 = new Photo(values3); + const result3 = photo3.thumbnailUrl("tile500"); + expect(result3).toBe("/static/img/404.jpg"); + }); + + it("should get classes", () => { + const values2 = { + ID: 10, + UID: "ABC127", + Type: "video", + Portrait: true, + Favorite: true, + Private: true, + Files: [ + { + UID: "123fgb", + Name: "1980/01/superCuteKitten.mp4", + Primary: false, + FileType: "mp4", + Video: true, + Width: 500, + Height: 600, + Hash: "1xxbgdt55", + }, + { + UID: "123fde", + Name: "1980/01/superCuteKitten.mp4", + Primary: false, + FileType: "mp4", + Width: 500, + Height: 600, + Hash: "1xxbgdkkk", + }, + ], + }; + const photo2 = new Photo(values2); + const result2 = photo2.classes(); + expect(result2).toContain("is-photo"); + expect(result2).toContain("uid-ABC127"); + expect(result2).toContain("type-video"); + expect(result2).toContain("is-portrait"); + expect(result2).toContain("is-favorite"); + expect(result2).toContain("is-private"); + expect(result2).not.toContain("is-stack"); + expect(result2).toContain("is-playable"); + }); + + it("should get photo download url", () => { + const values = { ID: 5, Title: "Crazy Cat", Hash: "97b8cf7b3710bec95f6609487bbdd62489b95fb2" }; + const photo = new Photo(values); + const result = photo.getDownloadUrl(); + expect(result).toBe("/api/v1/dl/97b8cf7b3710bec95f6609487bbdd62489b95fb2?t=2lbh9x09"); + }); + + it("should calculate photo size", () => { + const values = { ID: 5, Title: "Crazy Cat", Width: 500, Height: 200 }; + const photo = new Photo(values); + const result = photo.calculateSize(500, 200); + expect(result.width).toBe(500); + expect(result.height).toBe(200); + }); + + it("should calculate photo size with srcAspectRatio < maxAspectRatio", () => { + const values = { ID: 5, Title: "Crazy Cat", Width: 500, Height: 200 }; + const photo = new Photo(values); + const result = photo.calculateSize(300, 50); + expect(result.width).toBe(125); + expect(result.height).toBe(50); + }); + + it("should calculate photo size with srcAspectRatio > maxAspectRatio", () => { + const values = { ID: 5, Title: "Crazy Cat", Width: 500, Height: 200 }; + const photo = new Photo(values); + const result = photo.calculateSize(400, 300); + expect(result.width).toBe(400); + expect(result.height).toBe(160); + }); + + it("should get local day string", () => { + const values = { ID: 5, Title: "Crazy Cat", TakenAt: "2012-07-08T14:45:39Z", TimeZone: "UTC" }; + const photo = new Photo(values); + const result = photo.localDayString(); + expect(result.length).toBe(2); + const values2 = { + ID: 5, + Title: "Crazy Cat", + TakenAtLocal: "2012-07-08T14:45:39Z", + TakenAt: "2012-07-08T14:45:39Z", + TimeZone: "UTC", + Day: 8, + }; + const photo2 = new Photo(values2); + const result2 = photo2.localDayString(); + expect(result2).toBe("08"); + const values3 = { + ID: 5, + Title: "Crazy Cat", + TakenAtLocal: "2012-07-08T14:45:39Z", + TakenAt: "2012-07-08T14:45:39Z", + TimeZone: "UTC", + Day: -1, + }; + const photo3 = new Photo(values3); + const result3 = photo3.localDayString(); + expect(result3).toBe("01"); + }); + + it("should get local month string", () => { + const values = { ID: 5, Title: "Crazy Cat", TakenAt: "2012-07-08T14:45:39Z", TimeZone: "UTC" }; + const photo = new Photo(values); + const result = photo.localMonthString(); + expect(result).toBe((new Date().getMonth() + 1).toString().padStart(2, "0")); + const values2 = { + ID: 5, + Title: "Crazy Cat", + TakenAtLocal: "2012-07-08T14:45:39Z", + TakenAt: "2012-07-08T14:45:39Z", + TimeZone: "UTC", + Month: 8, + }; + const photo2 = new Photo(values2); + const result2 = photo2.localMonthString(); + expect(result2).toBe("08"); + }); + + it("should get local year string", () => { + const values = { ID: 5, Title: "Crazy Cat", TakenAt: "2012-07-08T14:45:39Z", TimeZone: "UTC" }; + const photo = new Photo(values); + const result = photo.localYearString(); + expect(result).toBe(new Date().getFullYear().toString().padStart(4, "0")); + const values2 = { + ID: 5, + Title: "Crazy Cat", + TakenAtLocal: "2012-07-08T14:45:39Z", + TakenAt: "2012-07-08T14:45:39Z", + TimeZone: "UTC", + Year: 2010, + }; + const photo2 = new Photo(values2); + const result2 = photo2.localYearString(); + expect(result2).toBe("2010"); + }); + + it("should get local date string", () => { + const values = { + ID: 5, + Title: "Crazy Cat", + TakenAtLocal: "2012-07-08T14:45:39Z", + TakenAt: "2012-07-08T14:45:39Z", + TimeZone: "UTC", + }; + const photo = new Photo(values); + const result = photo.localDateString(); + expect(result).toBe("2012-07-08T14:45:39Z"); + }); + + it("should get local date", () => { + const values = { + ID: 5, + Title: "Crazy Cat", + TakenAt: "2012-07-08T14:45:39Z", + TimeZone: "Indian/Reunion", + }; + const photo = new Photo(values); + const result = photo.localDate(); + expect(String(result)).toBe("2012-07-08T14:45:39.000Z"); + }); + + it("UTC", () => { + const values = { + ID: 9999, + Title: "Video", + TakenAt: "2012-07-08T14:45:39Z", + TakenAtLocal: "2012-07-08T14:45:39Z", + TimeZone: "UTC", + }; + const photo = new Photo(values); + expect(String(photo.localDateString("10:00:00"))).toBe("2012-07-08T10:00:00Z"); + const result = photo.localDate(); + expect(String(result)).toBe("2012-07-08T14:45:39.000Z"); + }); + + it("should get date string", () => { + const values = { + ID: 5, + Title: "Crazy Cat", + TakenAtLocal: "2012-07-08T14:45:39Z", + TakenAt: "2012-07-08T12:45:39Z", + TimeZone: "Europe/Berlin", + }; + const photo = new Photo(values); + const result = photo.getDateString(false).replaceAll("\u202f", " "); + expect(result.startsWith("Sunday, July 8, 2012")).toBe(true); + expect(result.endsWith("2:45 PM")).toBe(true); + const values2 = { ID: 5, Title: "Crazy Cat", TakenAtLocal: "", TakenAt: "", TimeZone: "UTC" }; + const photo2 = new Photo(values2); + const result2 = photo2.getDateString(); + expect(result2).toBe("Unknown"); + const values3 = { + ID: 5, + Title: "Crazy Cat", + TakenAtLocal: "2012-07-08T14:45:39Z", + TakenAt: "2012-07-08T14:45:39Z", + }; + const photo3 = new Photo(values3); + const result3 = photo3.getDateString(); + expect(result3).toBe("Sunday, July 8, 2012"); + const values4 = { + ID: 5, + Title: "Crazy Cat", + TakenAtLocal: "2012-07-08T14:45:39Z", + TakenAt: "2012-07-08T14:45:39Z", + Month: -1, + }; + const photo4 = new Photo(values4); + const result4 = photo4.getDateString(); + expect(result4).toBe("2012"); + const values5 = { + ID: 5, + Title: "Crazy Cat", + TakenAtLocal: "2012-07-08T14:45:39Z", + TakenAt: "2012-07-08T14:45:39Z", + Day: -1, + }; + const photo5 = new Photo(values5); + const result5 = photo5.getDateString(); + expect(result5).toBe("July 2012"); + }); + + it("should get short date string", () => { + const values = { + ID: 5, + Title: "Crazy Cat", + TakenAtLocal: "2012-07-08T14:45:39Z", + TakenAt: "2012-07-08T14:45:39Z", + TimeZone: "UTC", + }; + const photo = new Photo(values); + const result = photo.shortDateString(); + expect(result).toBe("7/8/2012"); + const values2 = { ID: 5, Title: "Crazy Cat", TakenAtLocal: "", TakenAt: "", TimeZone: "UTC" }; + const photo2 = new Photo(values2); + const result2 = photo2.shortDateString(); + expect(result2).toBe("Unknown"); + const values3 = { + ID: 5, + Title: "Crazy Cat", + TakenAtLocal: "2012-07-08T14:45:39Z", + TakenAt: "2012-07-08T14:45:39Z", + }; + const photo3 = new Photo(values3); + const result3 = photo3.shortDateString(); + expect(result3).toBe("7/8/2012"); + const values4 = { + ID: 5, + Title: "Crazy Cat", + TakenAtLocal: "2012-07-08T14:45:39Z", + TakenAt: "2012-07-08T14:45:39Z", + Month: -1, + }; + const photo4 = new Photo(values4); + const result4 = photo4.shortDateString(); + expect(result4).toBe("2012"); + const values5 = { + ID: 5, + Title: "Crazy Cat", + TakenAtLocal: "2012-07-08T14:45:39Z", + TakenAt: "2012-07-08T14:45:39Z", + Day: -1, + }; + const photo5 = new Photo(values5); + const result5 = photo5.shortDateString(); + expect(result5).toBe("July 2012"); + }); + + it("should test whether photo has location", () => { + const values = { ID: 5, Title: "Crazy Cat", Lat: 36.442881666666665, Lng: 28.229493333333334 }; + const photo = new Photo(values); + const result = photo.hasLocation(); + expect(result).toBe(true); + }); + + it("should test whether photo has location", () => { + const values = { ID: 5, Title: "Crazy Cat", Lat: 0, Lng: 0 }; + const photo = new Photo(values); + const result = photo.hasLocation(); + expect(result).toBe(false); + }); + + it("should get location", () => { + const values = { + ID: 5, + Title: "Crazy Cat", + CellID: 6, + CellCategory: "viewpoint", + PlaceLabel: "Cape Point, South Africa", + PlaceCountry: "South Africa", + }; + const photo = new Photo(values); + const result = photo.locationInfo(); + expect(result).toBe("Cape Point, South Africa"); + }); + + it("should get location", () => { + const values = { + ID: 5, + Title: "Crazy Cat", + CellID: 6, + CellCategory: "viewpoint", + PlaceLabel: "Cape Point, State, South Africa", + PlaceCountry: "South Africa", + PlaceCity: "Cape Town", + PlaceCounty: "County", + PlaceState: "State", + }; + const photo = new Photo(values); + const result = photo.locationInfo(); + expect(result).toBe("Cape Point, State, South Africa"); + }); + + it("should get location", () => { + const values = { + ID: 5, + Title: "Crazy Cat", + CellCategory: "viewpoint", + CellName: "Cape Point", + PlaceCountry: "Africa", + PlaceCity: "Cape Town", + PlaceCounty: "County", + PlaceState: "State", + }; + const photo = new Photo(values); + const result = photo.locationInfo(); + expect(result).toBe("Unknown"); + }); + + it("should get location", () => { + const values = { ID: 5, Title: "Crazy Cat", CountryName: "Africa", PlaceCity: "Cape Town" }; + const photo = new Photo(values); + const result = photo.locationInfo(); + expect(result).toBe("Unknown"); + }); + + it("should get camera", () => { + const values = { ID: 5, Title: "Crazy Cat", CameraModel: "EOSD10", CameraMake: "Canon" }; + const photo = new Photo(values); + const result = photo.getCamera(); + expect(result).toBe("Canon EOSD10"); + const values2 = { + ID: 10, + UID: "ABC127", + Files: [ + { + UID: "123fgb", + Name: "1980/01/superCuteKitten.jpg", + Primary: true, + FileType: "jpg", + Hash: "1xxbgdt55", + }, + ], + Camera: { + Make: "Canon", + Model: "abc", + }, + }; + const photo2 = new Photo(values2); + expect(photo2.getCamera()).toBe("Canon abc"); + }); + + it("should get camera", () => { + const values = { ID: 5, Title: "Crazy Cat" }; + const photo = new Photo(values); + const result = photo.getCamera(); + expect(result).toBe("Unknown"); + }); + + it("should get collection resource", () => { + const result = Photo.getCollectionResource(); + expect(result).toBe("photos"); + }); + + it("should return batch size", () => { + expect(Photo.batchSize()).toBe(BatchSize); + }); + + it("should get model name", () => { + const result = Photo.getModelName(); + expect(result).toBe("Photo"); + }); + + it("should like photo", () => { + const values = { ID: 5, Title: "Crazy Cat", CountryName: "Africa", Favorite: false }; + const photo = new Photo(values); + expect(photo.Favorite).toBe(false); + photo.like(); + expect(photo.Favorite).toBe(true); + }); + + it("should unlike photo", () => { + const values = { + ID: 5, + UID: "abc123", + Title: "Crazy Cat", + CountryName: "Africa", + Favorite: true, + }; + const photo = new Photo(values); + expect(photo.Favorite).toBe(true); + photo.unlike(); + expect(photo.Favorite).toBe(false); + }); + + it("should get photo defaults", () => { + const values = { ID: 5, UID: "ABC123" }; + const photo = new Photo(values); + const result = photo.getDefaults(); + expect(result.UID).toBe(""); + }); + + it("should get photos base name", () => { + const values = { + ID: 8, + UID: "ABC123", + Filename: "1980/01/superCuteKitten.jpg", + FileUID: "123fgb", + Files: [ + { + UID: "123fgb", + Name: "1980/01/superCuteKitten.jpg", + Primary: true, + FileType: "TypeJpeg", + Width: 500, + Height: 600, + Hash: "ca3e60b9825bd61ee6369fcefe22f4eb92631bb5", + }, + ], + }; + const photo = new Photo(values); + const result = photo.baseName(); + expect(result).toBe("superCuteKitten.jpg"); + const result2 = photo.baseName(5); + expect(result2).toBe("supe…"); + }); + + it("should refresh file attributes", () => { + const values2 = { ID: 5, UID: "ABC123" }; + const photo2 = new Photo(values2); + photo2.refreshFileAttr(); + expect(photo2.Width).toBeUndefined(); + expect(photo2.Height).toBeUndefined(); + expect(photo2.Hash).toBeUndefined(); + const values = { + ID: 8, + UID: "ABC123", + Filename: "1980/01/superCuteKitten.jpg", + FileUID: "123fgb", + Files: [ + { + UID: "123fgb", + Name: "1980/01/superCuteKitten.jpg", + Primary: true, + FileType: "TypeJpeg", + Width: 500, + Height: 600, + Hash: "ca3e60b9825bd61ee6369fcefe22f4eb92631bb5", + }, + ], + }; + const photo = new Photo(values); + expect(photo.Width).toBeUndefined(); + expect(photo.Height).toBeUndefined(); + expect(photo.Hash).toBeUndefined(); + photo.refreshFileAttr(); + expect(photo.Width).toBe(500); + expect(photo.Height).toBe(600); + expect(photo.Hash).toBe("ca3e60b9825bd61ee6369fcefe22f4eb92631bb5"); + }); + + it("should return is playable", () => { + const values = { + ID: 8, + UID: "ABC123", + Filename: "1980/01/superCuteKitten.jpg", + FileUID: "123fgb", + Files: [ + { + UID: "123fgb", + Name: "1980/01/superCuteKitten.jpg", + Primary: true, + FileType: "TypeJpeg", + Width: 500, + Height: 600, + Hash: "ca3e60b9825bd61ee6369fcefe22f4eb92631bb5", + }, + ], + }; + const photo = new Photo(values); + expect(photo.isPlayable()).toBe(false); + const values2 = { ID: 9, UID: "ABC163" }; + const photo2 = new Photo(values2); + expect(photo2.isPlayable()).toBe(false); + const values3 = { + ID: 10, + UID: "ABC127", + Filename: "1980/01/superCuteKitten.mp4", + FileUID: "123fgb", + Files: [ + { + UID: "123fgb", + Name: "1980/01/superCuteKitten.mp4", + Primary: false, + Video: true, + FileType: "mp4", + Width: 500, + Height: 600, + Hash: "c1e30d265eab968155082c8e86d85815a8389479", + }, + ], + }; + const photo3 = new Photo(values3); + expect(photo3.isPlayable()).toBe(true); + const values4 = { + ID: 1, + UID: "ABC128", + Filename: "1980/01/superCuteKitten.jpg", + FileUID: "123fgb", + Files: [ + { + UID: "123fgb", + Name: "1980/01/superCuteKitten.jpg", + Primary: false, + Video: true, + FileType: "jpg", + Width: 500, + Height: 600, + Hash: "ca3e60b9825bd61ee6369fcefe22f4eb92631bb5", + Codec: "avc1", + }, + ], + }; + const photo4 = new Photo(values4); + expect(photo4.isPlayable()).toBe(true); + }); + + it("should return video params", () => { + const values3 = { + ID: 10, + UID: "ABC127", + Filename: "1980/01/superCuteKitten.mp4", + FileUID: "123fgb", + Files: [ + { + UID: "123fgb", + Name: "1980/01/superCuteKitten.mp4", + Primary: false, + Video: true, + FileType: "mp4", + Width: 900, + Height: 600, + Hash: "c1e30d265eab968155082c8e86d85815a8389479", + }, + ], + }; + const photo3 = new Photo(values3); + const result = photo3.videoParams(); + expect(result.height).toBeGreaterThan(340); + expect(result.width).toBeGreaterThan(510); + expect(result.loop).toBe(false); + expect(result.uri).toBe("/api/v1/videos/c1e30d265eab968155082c8e86d85815a8389479/public/avc"); + const values = { + ID: 11, + UID: "ABC127", + Filename: "1980/01/superCuteKitten.mp4", + FileUID: "123fgb", + Files: [ + { + UID: "123fgb", + Name: "1980/01/superCuteKitten.mp4", + Primary: false, + Video: true, + FileType: "mp4", + Width: 0, + Height: 0, + Hash: "c1e30d265eab968155082c8e86d85815a8389479", + }, + { + UID: "123fpp", + Name: "1980/01/superCuteKitten.jpg", + Primary: true, + Width: 5000, + Height: 5000, + Hash: "ca3e60b9825bd61ee6369fcefe22f4eb92631bb5", + }, + ], + }; + const photo = new Photo(values); + const result2 = photo.videoParams(); + expect(result2.height).toBeGreaterThan(340); + expect(result2.width).toBeGreaterThan(340); + expect(result2.loop).toBe(false); + expect(result2.uri).toBe("/api/v1/videos/c1e30d265eab968155082c8e86d85815a8389479/public/avc"); + }); + + it("should return videofile", () => { + const values = { + ID: 8, + UID: "ABC123", + Filename: "1980/01/superCuteKitten.jpg", + FileUID: "123fgb", + Files: [ + { + UID: "123fgb", + Name: "1980/01/superCuteKitten.jpg", + Primary: true, + FileType: "jpg", + Width: 500, + Height: 600, + Hash: "c1e30d265eab968155082c8e86d85815a8389479", + }, + ], + }; + const photo = new Photo(values); + expect(photo.videoFile()).toBeUndefined(); + const values2 = { ID: 9, UID: "ABC163" }; + const photo2 = new Photo(values2); + expect(photo2.videoFile()).toBe(false); + const values3 = { + ID: 10, + UID: "ABC127", + Filename: "1980/01/superCuteKitten.mp4", + FileUID: "123fgb", + Files: [ + { + UID: "123fgb", + Name: "1980/01/superCuteKitten.mp4", + Primary: false, + FileType: "mp4", + Width: 500, + Height: 600, + Hash: "c1e30d265eab968155082c8e86d85815a8389479", + }, + ], + }; + const photo3 = new Photo(values3); + const file = photo3.videoFile(); + expect(file.Name).toBe("1980/01/superCuteKitten.mp4"); + const values4 = { + ID: 1, + UID: "ABC128", + Filename: "1980/01/superCuteKitten.jpg", + FileUID: "123fgb", + Files: [ + { + UID: "123fgb", + Name: "1980/01/superCuteKitten.jpg", + Primary: false, + FileType: "jpg", + Width: 500, + Height: 600, + Hash: "1xxbgdt53", + Codec: "avc1", + }, + ], + }; + const photo4 = new Photo(values4); + expect(photo4.videoFile().Name).toBe("1980/01/superCuteKitten.jpg"); + }); + + it("should return video url", () => { + const values = { + ID: 8, + UID: "ABC123", + Filename: "1980/01/superCuteKitten.jpg", + Hash: "703cf8f274fbb265d49c6262825780e1", + FileUID: "123fgb", + Files: [ + { + UID: "123fgb", + Name: "1980/01/superCuteKitten.jpg", + Primary: true, + FileType: "jpg", + Width: 500, + Height: 600, + Hash: "1xxbgdt53", + }, + ], + }; + const photo = new Photo(values); + expect(photo.videoContentType()).toBe(media.ContentTypeMp4AvcMain); + expect(photo.videoUrl()).toBe("/api/v1/videos/703cf8f274fbb265d49c6262825780e1/public/avc"); + const values2 = { ID: 9, UID: "ABC163", Hash: "2305e512e3b183ec982d60a8b608a8ca501973ba" }; + const photo2 = new Photo(values2); + expect(photo2.videoUrl()).toBe("/api/v1/videos/2305e512e3b183ec982d60a8b608a8ca501973ba/public/avc"); + const values3 = { + ID: 10, + UID: "ABC127", + Filename: "1980/01/superCuteKitten.mp4", + FileUID: "123fgb", + Files: [ + { + UID: "123fgb", + Name: "1980/01/superCuteKitten.mp4", + Primary: false, + FileType: "mp4", + Width: 500, + Height: 600, + Hash: "1xxbgdt55", + }, + ], + }; + const photo3 = new Photo(values3); + expect(photo3.videoUrl()).toBe("/api/v1/videos/1xxbgdt55/public/avc"); + const values4 = { + ID: 1, + UID: "ABC128", + Filename: "1980/01/superCuteKitten.jpg", + FileUID: "123fgb", + Files: [ + { + UID: "123fgb", + Name: "1980/01/superCuteKitten.jpg", + Primary: false, + FileType: "jpg", + Width: 500, + Height: 600, + Hash: "1xxbgdt53", + Codec: "avc1", + }, + ], + }; + const photo4 = new Photo(values4); + expect(photo4.videoUrl()).toBe("/api/v1/videos/1xxbgdt53/public/avc"); + }); + + it("should return main file", () => { + const values = { ID: 9, UID: "ABC163", Width: 111, Height: 222 }; + const photo = new Photo(values); + expect(photo.primaryFile()).toBe(photo); + const values2 = { + ID: 10, + UID: "ABC127", + Files: [ + { + UID: "123fgb", + Name: "1980/01/superCuteKitten.mp4", + Primary: false, + FileType: "mp4", + Width: 500, + Height: 600, + Hash: "1xxbgdt55", + }, + { + UID: "123fgb", + Name: "1980/01/superCuteKitten.jpg", + Primary: false, + FileType: "jpg", + Width: 500, + Height: 600, + Hash: "1xxbgdt56", + }, + ], + }; + const photo2 = new Photo(values2); + const file = photo2.primaryFile(); + expect(file.Name).toBe("1980/01/superCuteKitten.jpg"); + const values3 = { + ID: 1, + UID: "ABC128", + Files: [ + { + UID: "123fgb", + Name: "1980/01/NotMainKitten.jpg", + Primary: false, + FileType: "jpg", + Width: 500, + Height: 600, + Hash: "1xxbgdt53", + }, + { + UID: "123fgb", + Name: "1980/01/MainKitten.jpg", + Primary: true, + FileType: "jpg", + Width: 500, + Height: 600, + Hash: "1xxbgdt54", + }, + ], + }; + const photo3 = new Photo(values3); + const file2 = photo3.primaryFile(); + expect(file2.Name).toBe("1980/01/MainKitten.jpg"); + }); + + it("should return jpeg files", () => { + const values = { ID: 8, UID: "ABC123", Filename: "1980/01/superCuteKitten.jpg" }; + const photo = new Photo(values); + const result = photo.jpegFiles(); + expect(result[0].Filename).toBe("1980/01/superCuteKitten.jpg"); + const values3 = { + ID: 10, + UID: "ABC127", + Filename: "1980/01/superCuteKitten.mp4", + FileUID: "123fgb", + Files: [ + { + UID: "123fgb", + Name: "1980/01/superCuteKitten.jpg", + Primary: false, + FileType: media.FormatJpeg, + Width: 500, + Height: 600, + Hash: "1xxbgdt55", + }, + { + UID: "123fgz", + Name: "1980/01/superCuteKitten.mp4", + Primary: false, + FileType: "mp4", + Width: 500, + Height: 600, + Hash: "1xxbgdt66", + }, + ], + }; + const photo3 = new Photo(values3); + const file = photo3.jpegFiles(); + expect(file[0].Name).toBe("1980/01/superCuteKitten.jpg"); + }); + + it("should return file hash", () => { + const values = { ID: 9, UID: "ABC163" }; + const photo = new Photo(values); + expect(photo.fileHash()).toBe(""); + photo.Hash = "123693d2c2b9afdba19f97d1c92963953e1d2cfe"; + expect(photo.fileHash()).toBe("123693d2c2b9afdba19f97d1c92963953e1d2cfe"); + const values2 = { + ID: 10, + UID: "ABC127", + Type: "video", + Hash: "123693d2c2b9afdba19f97d1c92963953e1d2cfe", + Files: [ + { + UID: "fsr3uh0u30trle4l", + Name: "1980/01/superCuteKitten.mp4", + Primary: false, + Root: "/", + MediaType: "video", + FileType: "mp4", + Width: 500, + Height: 600, + Hash: "617693d2c2b9afdba19f97d1c92963953e1d2cfe", + }, + { + UID: "fsr3uh0g2us6cwg4", + Name: "1980/01/superCuteKitten.jpg", + Primary: false, + Root: "/", + MediaType: "image", + FileType: "jpg", + Width: 500, + Height: 600, + Hash: "9249cee32bc8adc6ba996a6b78dd84c03b5a0153", + }, + ], + }; + const photo2 = new Photo(values2); + expect(photo2.fileHash()).toBe("9249cee32bc8adc6ba996a6b78dd84c03b5a0153"); + photo2.Files = [ + { + UID: "fsr3uh0u30trle4l", + Name: "1980/01/superCuteKitten.mp4", + Primary: false, + Root: "/", + MediaType: "video", + FileType: "mp4", + Width: 500, + Height: 600, + Hash: "617693d2c2b9afdba19f97d1c92963953e1d2cfe", + }, + { + UID: "fsr3uh0g2us6cwg4", + Name: "1980/01/superCuteKitten.jpg", + Primary: false, + Root: "/", + MediaType: "image", + FileType: "invalid", + Width: 500, + Height: 600, + Hash: "9249cee32bc8adc6ba996a6b78dd84c03b5a0153", + }, + ]; + expect(photo2.fileHash()).toBe("617693d2c2b9afdba19f97d1c92963953e1d2cfe"); + }); + + it("should return file models", () => { + const values = { ID: 9, UID: "ABC163" }; + const photo = new Photo(values); + expect(photo.fileModels()).toEqual([]); + const values2 = { + ID: 10, + UID: "ABC127", + Type: "video", + Files: [ + { + UID: "fsr3uh0u30trle4l", + Name: "1980/01/cat.jpg", + Primary: false, + Root: "/", + FileType: "jpg", + MediaType: "image", + Width: 500, + Height: 600, + Hash: "35c905d21486b400814bd2d8479ed2e780440b1a", + }, + { + UID: "fsr3uh0g2us6cwg4", + Name: "1999/01/dog.jpg", + Primary: true, + Root: "/", + FileType: "jpg", + MediaType: "image", + Width: 500, + Height: 600, + Hash: "617693d2c2b9afdba19f97d1c92963953e1d2cfe", + }, + { + UID: "fsr3uh10nrgs63a2", + Name: "1999/01/dog.mov", + Video: true, + Root: "/", + FileType: "mov", + MediaType: "video", + Width: 500, + Height: 600, + Hash: "9249cee32bc8adc6ba996a6b78dd84c03b5a0153", + }, + ], + }; + const photo2 = new Photo(values2); + expect(photo2.fileModels()[0].Name).toBe("1999/01/dog.mov"); + const values3 = { + ID: 10, + UID: "ABC127", + Files: [ + { + UID: "fsr3uh0u30trle4l", + Name: "1980/01/cat.jpg", + Primary: true, + FileType: "jpg", + Width: 500, + Height: 600, + Hash: "35c905d21486b400814bd2d8479ed2e780440b1a", + }, + { + UID: "fsr3uh0g2us6cwg4", + Name: "1999/01/dog.jpg", + Primary: false, + FileType: "jpg", + Width: 500, + Height: 600, + Hash: "617693d2c2b9afdba19f97d1c92963953e1d2cfe", + }, + ], + }; + const photo3 = new Photo(values3); + expect(photo3.fileModels()[0].Name).toBe("1980/01/cat.jpg"); + const values4 = { + ID: 10, + UID: "ABC127", + Files: [ + { + UID: "fsr3uh0u30trle4l", + Name: "1980/01/cat.jpg", + Primary: true, + Root: "/", + FileType: "jpg", + MediaType: "image", + Width: 500, + Height: 600, + Hash: "35c905d21486b400814bd2d8479ed2e780440b1a", + }, + ], + }; + const photo4 = new Photo(values4); + expect(photo4.fileModels()[0].Name).toBe("1980/01/cat.jpg"); + }); + + it("should get country name", () => { + const values = { ID: 5, UID: "ABC123", Country: "zz" }; + const photo = new Photo(values); + expect(photo.countryName()).toBe("Unknown"); + const values2 = { ID: 5, UID: "ABC123", Country: "es" }; + const photo2 = new Photo(values2); + expect(photo2.countryName()).toBe("Spain"); + }); + + it("should get location info", () => { + const values = { ID: 5, UID: "ABC123", Country: "zz", PlaceID: "zz", PlaceLabel: "Nice beach" }; + const photo = new Photo(values); + expect(photo.locationInfo()).toBe("Nice beach"); + const values2 = { ID: 5, UID: "ABC123", Country: "es", PlaceID: "zz" }; + const photo2 = new Photo(values2); + expect(photo2.locationInfo()).toBe("Spain"); + }); + + it("should return video info", () => { + const values = { + ID: 9, + UID: "ABC163", + }; + const photo = new Photo(values); + expect(photo.getVideoInfo()).toBe("Video"); + const values2 = { + ID: 10, + UID: "ABC127", + Files: [ + { + UID: "123fgb", + Name: "1980/01/superCuteKitten.mp4", + Primary: false, + FileType: "mp4", + Hash: "1xxbgdt55", + }, + ], + }; + const photo2 = new Photo(values2); + expect(photo2.getVideoInfo()).toBe("MP4"); + const values3 = { + ID: 10, + UID: "ABC127", + Files: [ + { + UID: "123fgb", + Name: "1980/01/superCuteKitten.mp4", + Primary: false, + FileType: "mp4", + Width: 500, + Height: 600, + Hash: "1xxbgdt55", + Duration: 6000, + Size: 222897, + Codec: "avc1", + }, + ], + }; + const photo3 = new Photo(values3); + expect(photo3.getVideoInfo()).toBe("6µs, AVC, 500 × 600, 218 KB"); + const values4 = { + ID: 10, + UID: "ABC127", + Files: [ + { + UID: "123fgb", + Name: "1980/01/superCuteKitten.mp4", + Primary: false, + FileType: "mp4", + Hash: "1xxbgdt55", + Duration: 6000, + Size: 10240, + Codec: "avc1", + }, + { + UID: "345fgb", + Name: "1980/01/superCuteKitten.jpg", + Primary: true, + FileType: "jpg", + Hash: "1xxbgjhu5", + Width: 300, + Height: 500, + }, + ], + }; + const photo4 = new Photo(values4); + expect(photo4.getVideoInfo()).toBe("6µs, AVC, 300 × 500, 10 KB"); + expect(photo4.getDurationInfo()).toBe("6µs"); + }); + + it("should return photo info", () => { + const values = { + ID: 9, + UID: "ABC163", + }; + const photo = new Photo(values); + expect(photo.getCameraInfo()).toBe("Unknown"); + const values2 = { + ID: 10, + UID: "ABC127", + Files: [ + { + UID: "123fgb", + Name: "1980/01/superCuteKitten.jpg", + Primary: true, + FileType: "jpg", + Hash: "1xxbgdt55", + }, + ], + Size: "300", + Camera: { + Make: "Canon", + Model: "abc", + }, + }; + const photo2 = new Photo(values2); + expect(photo2.getCameraInfo()).toBe("Canon abc"); + const values3 = { + ID: 10, + UID: "ABC127", + CameraMake: "Canon", + CameraModel: "EOS 6D", + Iso: 100, + Files: [ + { + UID: "123fgb", + Name: "1980/01/superCuteKitten.mp4", + Primary: false, + FileType: "mp4", + Width: 500, + Height: 600, + Hash: "1xxbgdt55", + Duration: 6000, + Codec: "avc1", + }, + ], + }; + const photo3 = new Photo(values3); + expect(photo3.getCameraInfo()).toBe("Canon EOS 6D, ISO 100"); + const values4 = { + ID: 10, + UID: "ABC127", + CameraID: 2, + CameraMake: "Canon", + Iso: 200, + Files: [ + { + UID: "123fgb", + Name: "1980/01/superCuteKitten.mp4", + Primary: false, + FileType: "mp4", + Width: 500, + Height: 600, + Hash: "1xxbgdt55", + Duration: 6000, + Size: 300, + Codec: "avc1", + }, + { + UID: "123fgx", + Name: "1980/01/superCuteKitten.jpg", + Primary: true, + FileType: "jpg", + Width: 800, + Height: 600, + Hash: "1xxbgdt55", + Duration: 6000, + Size: 200, + Codec: "avc1", + }, + ], + }; + const photo4 = new Photo(values4); + expect(photo4.getCameraInfo()).toBe("Canon, ISO 200"); + }); + + it("should return lens info", () => { + const values = { + ID: "674-860", + UID: "ps22wlskqtcmu9l3", + Type: "raw", + TypeSrc: "", + TakenAt: "2018-10-05T08:47:32Z", + TakenAtLocal: "2018-10-05T08:47:32Z", + TakenSrc: "meta", + TimeZone: "Local", + Path: "raw images/Canon EOS 700 D", + Name: "_MG_9509", + OriginalName: "", + Title: "Unknown / 2018", + Caption: "", + Year: 2018, + Month: 10, + Day: 5, + Country: "zz", + Stack: 0, + Favorite: false, + Private: false, + Iso: 100, + FocalLength: 50, + FNumber: 2.8, + Exposure: "1/1600", + Quality: 3, + Resolution: 18, + Color: 0, + Scan: false, + Panorama: false, + CameraID: 47, + CameraSrc: "meta", + CameraSerial: "338075021697", + CameraModel: "EOS 700D", + CameraMake: "Canon", + LensID: 47, + LensModel: "EF50mm f/1.8 II", + CellID: "zz", + PlaceID: "zz", + PlaceSrc: "", + PlaceLabel: "Unknown", + PlaceCity: "Unknown", + PlaceState: "Unknown", + PlaceCountry: "zz", + InstanceID: "", + FileUID: "fs25jsa22w9g851o", + FileRoot: "sidecar", + FileName: "raw images/Canon EOS 700 D/_MG_9509.CR2.jpg", + Hash: "7dc01e8cb588f3cfe31694ac2fece10167d88eec", + Width: 5198, + Height: 3462, + Portrait: false, + Files: [], + }; + const photo = new Photo(values); + expect(photo.getLensInfo()).toBe("EF50mm ƒ/1.8 II, 50mm, ƒ/2.8"); + }); + + it("should archive photo", async () => { + const values = { ID: 5, Title: "Crazy Cat", CountryName: "Africa", Favorite: false }; + const photo = new Photo(values); + const response = await photo.archive(); + expect(response.status).toBe(200); + expect(response.data).toEqual({ photos: [1, 3] }); + }); + + it("should approve photo", async () => { + const values = { + ID: 5, + UID: "pqbemz8276mhtobh", + Title: "Crazy Cat", + CountryName: "Africa", + Favorite: false, + }; + const photo = new Photo(values); + const response = await photo.approve(); + expect(response.status).toBe(200); + }); + + it("should toggle private", () => { + const values = { ID: 5, Title: "Crazy Cat", CountryName: "Africa", Private: true }; + const photo = new Photo(values); + expect(photo.Private).toBe(true); + photo.togglePrivate(); + expect(photo.Private).toBe(false); + photo.togglePrivate(); + expect(photo.Private).toBe(true); + }); + + it("should mark photo as primary", async () => { + const values = { + ID: 10, + UID: "pqbemz8276mhtobh", + Files: [ + { + UID: "fqbfk181n4ca5sud", + Name: "1980/01/superCuteKitten.mp4", + Primary: false, + FileType: "mp4", + Hash: "1xxbgdt55", + }, + ], + }; + const photo = new Photo(values); + const response = await photo.setPrimaryFile("fqbfk181n4ca5sud"); + expect(response.Files[0].Primary).toBe(true); + }); + + it("should unstack", async () => { + const values = { + ID: 10, + UID: "pqbemz8276mhtobh", + Files: [ + { + UID: "fqbfk181n4ca5sud", + Name: "1980/01/superCuteKitten.mp4", + Primary: false, + FileType: "mp4", + Hash: "1xxbgdt55", + }, + ], + }; + const photo = new Photo(values); + const response = await photo.unstackFile("fqbfk181n4ca5sud"); + expect(response.success).toBe("ok"); + }); + + it("should delete file", async () => { + const values = { + ID: 10, + UID: "pqbemz8276mhtobh", + Files: [ + { + UID: "fqbfk181n4ca5sud", + Name: "1980/01/superCuteKitten.mp4", + Primary: false, + FileType: "mp4", + Hash: "1xxbgdt55", + }, + { + UID: "fqbfk181n4ca5abc", + Name: "1980/01/superCuteKitten.mp4", + Primary: true, + FileType: "mp4", + Hash: "1xxbgdt89", + }, + ], + }; + const photo = new Photo(values); + const response = await photo.deleteFile("fqbfk181n4ca5sud"); + expect(response.success).toBe("successfully deleted"); + }); + + it("should add label", async () => { + const values = { + ID: 10, + UID: "pqbemz8276mhtobh", + }; + const photo = new Photo(values); + const response = await photo.addLabel("Cat"); + expect(response.success).toBe("ok"); + }); + + it("should activate label", async () => { + const values = { + ID: 10, + UID: "pqbemz8276mhtobh", + }; + const photo = new Photo(values); + const response = await photo.activateLabel(12345); + expect(response.success).toBe("ok"); + }); + + it("should rename label", async () => { + const values = { + ID: 10, + UID: "pqbemz8276mhtobh", + }; + const photo = new Photo(values); + const response = await photo.renameLabel(12345, "Sommer"); + expect(response.success).toBe("ok"); + }); + + it("should remove label", async () => { + const values = { + ID: 10, + UID: "pqbemz8276mhtobh", + }; + const photo = new Photo(values); + const response = await photo.removeLabel(12345); + expect(response.success).toBe("ok"); + }); + + it("should test update", async () => { + const values = { + ID: 10, + UID: "pqbemz8276mhtobh", + Lat: 1.1, + Lng: 3.3, + CameraID: 123, + Title: "Test Titel", + Caption: "Super nice video", + Day: 10, + Country: "es", + Files: [ + { + UID: "fqbfk181n4ca5sud", + Name: "1980/01/superCuteKitten.mp4", + Primary: false, + FileType: "mp4", + Hash: "1xxbgdt55", + }, + ], + Details: [ + { + Keywords: "old", + Notes: "old notes", + Subject: "old subject", + Artist: "Old Artist", + Copyright: "ABC", + License: "test", + }, + ], + }; + const photo = new Photo(values); + photo.Title = "New Title"; + photo.Type = "newtype"; + photo.Caption = "New description"; + photo.Day = 21; + photo.Country = "de"; + photo.CameraID = "newcameraid"; + photo.Details.Keywords = "newkeyword"; + photo.Details.Notes = "New Notes"; + photo.Details.Subject = "New Photo Subject"; + photo.Details.Artist = "New Artist"; + photo.Details.Copyright = "New Copyright"; + photo.Details.License = "New License"; + const response = await photo.update(); + expect(response.TitleSrc).toBe("manual"); + expect(photo.Title).toBe("New Title"); + expect(photo.Type).toBe("newtype"); + expect(photo.Caption).toBe("New description"); + expect(photo.Day).toBe(21); + expect(photo.Country).toBe("de"); + expect(photo.CameraID).toBe("newcameraid"); + expect(photo.Details.Keywords).toBe("newkeyword"); + expect(photo.Details.Notes).toBe("New Notes"); + expect(photo.Details.Subject).toBe("New Photo Subject"); + expect(photo.Details.Artist).toBe("New Artist"); + expect(photo.Details.Copyright).toBe("New Copyright"); + expect(photo.Details.License).toBe("New License"); + }); + + it("should test get Markers", () => { + const values = { + ID: 10, + UID: "pqbemz8276mhtobh", + Lat: 1.1, + Lng: 3.3, + CameraID: 123, + Title: "Test Titel", + Caption: "Super nice video", + Files: [ + { + UID: "fqbfk181n4ca5sud", + Name: "1980/01/superCuteKitten.mp4", + Primary: false, + FileType: "mp4", + Hash: "1xxbgdt55", + }, + ], + }; + const photo = new Photo(values); + const result = photo.getMarkers(true); + expect(result).toEqual([]); + const values2 = { + ID: 10, + UID: "pqbemz8276mhtobh", + Lat: 1.1, + Lng: 3.3, + CameraID: 123, + Title: "Test Titel", + Caption: "Super nice video", + Files: [ + { + UID: "fqbfk181n4ca5sud", + Name: "1980/01/superCuteKitten.mp4", + Primary: true, + FileType: "mp4", + Hash: "1xxbgdt55", + Markers: [ + { + UID: "aaa123", + Invalid: false, + }, + { + UID: "bbb123", + Invalid: true, + }, + ], + }, + ], + }; + const photo2 = new Photo(values2); + const result2 = photo2.getMarkers(true); + expect(result2.length).toBe(1); + const result3 = photo2.getMarkers(false); + expect(result3.length).toBe(2); + }); + + it("should determine if photo is a stack", () => { + const values1 = { + UID: "stack1", + Type: "video", + Files: [{ FileType: media.FormatJpeg }, { FileType: media.FormatJpeg }], + }; + const photo1 = new Photo(values1); + expect(photo1.isStack()).toBe(false); + + const values2 = { UID: "stack2", Type: media.Image, Files: [] }; + const photo2 = new Photo(values2); + expect(photo2.isStack()).toBe(false); + + const values3 = { UID: "stack3", Type: media.Image, Files: [{ FileType: media.FormatJpeg }] }; + const photo3 = new Photo(values3); + expect(photo3.isStack()).toBe(false); + + const values4 = { UID: "stack4", Type: media.Image, Files: [{ FileType: media.FormatJpeg }, { FileType: "raw" }] }; + const photo4 = new Photo(values4); + expect(photo4.isStack()).toBe(false); + + const values5 = { + UID: "stack5", + Type: media.Image, + Files: [{ FileType: media.FormatJpeg }, { FileType: media.FormatJpeg }], + }; + const photo5 = new Photo(values5); + expect(photo5.isStack()).toBe(true); + + const values6 = { + UID: "stack6", + Type: media.Image, + Files: [{ FileType: media.FormatJpeg }, { FileType: "raw" }, { FileType: media.FormatJpeg }], + }; + const photo6 = new Photo(values6); + expect(photo6.isStack()).toBe(true); + }); + + it("should return the original file based on type", () => { + const liveFiles = [ + { UID: "live_jpg", Name: "live.jpg", FileType: media.FormatJpeg, Root: "/", Primary: true }, + { UID: "live_mov", Name: "live.mov", FileType: "mov", MediaType: media.Video, Root: "/", Video: true }, + { UID: "live_sidecar", Name: "live.xmp", FileType: "xmp", Root: "sidecar", Sidecar: true }, + ]; + const photoLive = new Photo({ UID: "livePhoto", Type: media.Live, Files: liveFiles }); + expect(photoLive.originalFile().UID).toBe("live_mov"); + + const videoFiles = [ + { UID: "video_jpg", Name: "video.jpg", FileType: media.FormatJpeg, Root: "/", Primary: true }, + { + UID: "video_mp4", + Name: "video.mp4", + FileType: media.FormatMp4, + MediaType: media.Video, + Root: "/", + Video: true, + }, + ]; + const photoVideo = new Photo({ UID: "videoPhoto", Type: media.Video, Files: videoFiles }); + expect(photoVideo.originalFile().UID).toBe("video_mp4"); + + const rawFiles = [ + { UID: "raw_jpg", Name: "raw.jpg", FileType: media.FormatJpeg, Root: "/", Primary: true }, + { UID: "raw_cr2", Name: "raw.cr2", FileType: "cr2", MediaType: media.Raw, Root: "/" }, + ]; + const photoRaw = new Photo({ UID: "rawPhoto", Type: media.Raw, Files: rawFiles }); + expect(photoRaw.originalFile().UID).toBe("raw_cr2"); + + const animatedFiles = [ + { + UID: "anim_gif", + Name: "anim.gif", + FileType: media.FormatGif, + MediaType: media.Image, + Root: "/", + Primary: true, + }, + { UID: "anim_sidecar", Name: "anim.xmp", FileType: "xmp", Root: "sidecar", Sidecar: true }, + ]; + const photoAnimated = new Photo({ UID: "animatedPhoto", Type: media.Animated, Files: animatedFiles }); + expect(photoAnimated.originalFile().UID).toBe("anim_gif"); + + const otherFiles = [ + { UID: "other_jpg", Name: "other.jpg", FileType: media.FormatJpeg, Root: "/", Primary: true }, + { UID: "other_png", Name: "other.png", FileType: media.FormatPng, Root: "/" }, + ]; + const photoOther = new Photo({ UID: "otherPhoto", Type: media.Image, Files: otherFiles }); + expect(photoOther.originalFile().UID).toBe("other_png"); + + const jpegFiles = [ + { UID: "jpeg_1", Name: "jpeg1.jpg", FileType: media.FormatJpeg, Root: "/" }, + { UID: "jpeg_2", Name: "jpeg2.jpg", FileType: media.FormatJpeg, Root: "/", Primary: true }, + ]; + const photoJpeg = new Photo({ UID: "jpegPhoto", Type: media.Image, Files: jpegFiles }); + expect(photoJpeg.originalFile().UID).toBe("jpeg_2"); + + const singleFile = [ + { UID: "single_jpg", Name: "single.jpg", FileType: media.FormatJpeg, Root: "/", Primary: true }, + ]; + const photoSingle = new Photo({ UID: "singlePhoto", Type: media.Image, Files: singleFile }); + expect(photoSingle.originalFile().UID).toBe("single_jpg"); + + const noFilesPhoto = new Photo({ + UID: "noFiles", + Type: media.Image, + OriginalName: "no_files_original.jpg", + Name: "no_files_name.jpg", + FileName: "no_files_filename.jpg", + }); + expect(noFilesPhoto.originalFile()).toBe(noFilesPhoto); + }); + + it("should return the correct original name", () => { + const files1 = [ + { UID: "f1_orig", Name: "file1.raw", OriginalName: "original_raw_name.raw", Root: "/", MediaType: media.Raw }, + { + UID: "f1_jpg", + Name: "file1.jpg", + OriginalName: "original_jpg_name.jpg", + Root: "/", + FileType: media.FormatJpeg, + Primary: true, + }, + ]; + const photo1 = new Photo({ UID: "origName1", Type: media.Raw, Files: files1 }); + expect(photo1.getOriginalName()).toBe("original_raw_name.raw"); + + const files2 = [ + { UID: "f2_orig", Name: "file2_actual.raw", Root: "/", MediaType: media.Raw }, + { UID: "f2_jpg", Name: "file2_actual.jpg", Root: "/", FileType: media.FormatJpeg, Primary: true }, + ]; + const photo2 = new Photo({ UID: "origName2", Type: media.Raw, Files: files2 }); + expect(photo2.getOriginalName()).toBe("file2_actual.raw"); + + const photo3 = new Photo({ + UID: "origName3", + Type: media.Image, + OriginalName: "photo_original.jpg", + Name: "photo_name.jpg", + FileName: "photo_filename.jpg", + }); + expect(photo3.getOriginalName()).toBe("photo_original.jpg"); + + const photo4 = new Photo({ + UID: "origName4", + Type: media.Image, + Name: "photo_name.jpg", + FileName: "photo_filename.jpg", + }); + expect(photo4.getOriginalName()).toBe("photo_name.jpg"); + + const photo5 = new Photo({ UID: "origName5", Type: media.Image, Name: "photo_name.jpg" }); + expect(photo5.getOriginalName()).toBe("photo_name.jpg"); + + const photo6 = new Photo({ UID: "origName6", Type: media.Image }); + expect(photo6.getOriginalName()).toBe("Unknown"); + + const files7 = [ + { UID: "f7_orig", Root: "/", MediaType: media.Raw }, + { UID: "f7_jpg", Name: "file7.jpg", Root: "/", FileType: media.FormatJpeg, Primary: true }, + ]; + const photo7 = new Photo({ + UID: "origName7", + Type: media.Raw, + Files: files7, + OriginalName: "photo7_original.jpg", + FileName: "photo7_filename.jpg", + Name: "photo7_name.jpg", + }); + expect(photo7.getOriginalName()).toBe("photo7_original.jpg"); + + const files8 = [ + { + UID: "f8_orig", + Name: "some/path/file8.raw", + OriginalName: "another/path/original_raw_name8.raw", + Root: "/", + MediaType: media.Raw, + }, + { UID: "f8_jpg", Name: "file8.jpg", Root: "/", FileType: media.FormatJpeg, Primary: true }, + ]; + const photo8 = new Photo({ UID: "origName8", Type: media.Raw, Files: files8 }); + expect(photo8.getOriginalName()).toBe("original_raw_name8.raw"); + }); +}); diff --git a/frontend/tests/vitest/model/rest.test.js b/frontend/tests/vitest/model/rest.test.js new file mode 100644 index 000000000..c7b4856e3 --- /dev/null +++ b/frontend/tests/vitest/model/rest.test.js @@ -0,0 +1,200 @@ +import { describe, it, expect } from "vitest"; +import "../fixtures"; +import Rest from "model/rest"; +import Album from "model/album"; +import Label from "model/label"; +import Link from "model/link"; + +describe("model/abstract", () => { + it("should set values", () => { + const values = { ID: 5, Name: "Black Cat", Slug: "black-cat" }; + const label = new Label(values); + expect(label.Name).toBe("Black Cat"); + expect(label.Slug).toBe("black-cat"); + label.setValues(); + expect(label.Name).toBe("Black Cat"); + expect(label.Slug).toBe("black-cat"); + const values2 = { ID: 6, Name: "White Cat", Slug: "white-cat" }; + label.setValues(values2); + expect(label.Name).toBe("White Cat"); + expect(label.Slug).toBe("white-cat"); + }); + + it("should get values", () => { + const values = { ID: 5, Name: "Christmas 2019", Slug: "christmas-2019", UID: 66 }; + const album = new Album(values); + const result = album.getValues(); + expect(result.Name).toBe("Christmas 2019"); + expect(result.UID).toBe(66); + }); + + it("should get id", () => { + const values = { ID: 5, Name: "Christmas 2019", Slug: "christmas-2019", UID: 66 }; + const album = new Album(values); + const result = album.getId(); + expect(result).toBe(66); + }); + + it("should test if id exists", () => { + const values = { ID: 5, Name: "Christmas 2019", Slug: "christmas-2019", UID: 66 }; + const album = new Album(values); + const result = album.hasId(); + expect(result).toBe(true); + }); + + it("should get model name", () => { + const result = Rest.getModelName(); + expect(result).toBe("Item"); + }); + + it("should update album", async () => { + const values = { ID: 5, Name: "Christmas 2019", Slug: "christmas-2019", UID: 66 }; + const album = new Album(values); + expect(album.Description).toBeUndefined(); + album.Name = "Christmas 2020"; + await album.update(); + expect(album.Description).toBe("Test description"); + }); + + it("should save album", async () => { + const values = { UID: "abc", Name: "Christmas 2019", Slug: "christmas-2019" }; + const album = new Album(values); + album.Name = "Christmas 2020"; + expect(album.Description).toBeUndefined(); + await album.save(); + expect(album.Description).toBe("Test description"); + + const values2 = { Name: "Christmas 2019", Slug: "christmas-2019" }; + const album2 = new Album(values2); + album2.Name = "Christmas 2020"; + expect(album2.Description).toBeUndefined(); + const response = await album2.save(); + expect(response.success).toBe("ok"); + expect(album2.Description).toBeUndefined(); + }); + + it("should remove album", async () => { + const values = { UID: "abc", Name: "Christmas 2019", Slug: "christmas-2019" }; + const album = new Album(values); + expect(album.Name).toBe("Christmas 2019"); + await album.remove(); + }); + + it("should get edit form", async () => { + const values = { UID: "abc", Name: "Christmas 2019", Slug: "christmas-2019" }; + const album = new Album(values); + const result = await album.getEditForm(); + expect(result.definition.foo).toBe("edit"); + }); + + it("should get create form", async () => { + const result = await Album.getCreateForm(); + expect(result.definition.foo).toBe("bar"); + }); + + it("should get search form", async () => { + const result = await Album.getSearchForm(); + expect(result.definition.foo).toBe("bar"); + }); + + it("should search label", async () => { + const result = await Album.search(); + expect(result.data.ID).toBe(51); + expect(result.data.Name).toBe("tabby cat"); + }); + + it("should get collection resource", () => { + expect(Rest.getCollectionResource()).toBe(""); + }); + + it("should get slug", () => { + const values = { ID: 5, Name: "Christmas 2019", Slug: "christmas-2019", UID: 66 }; + const album = new Album(values); + const result = album.getSlug(); + expect(result).toBe("christmas-2019"); + }); + + it("should get slug", () => { + const values = { ID: 5, Name: "Christmas 2019", Slug: "christmas-2019", UID: 66 }; + const album = new Album(values); + const result = album.clone(); + expect(result.Slug).toBe("christmas-2019"); + expect(result.Name).toBe("Christmas 2019"); + expect(result.ID).toBe(5); + }); + + it("should find album", async () => { + const values = { Name: "Christmas 2019", Slug: "christmas-2019", UID: 66 }; + const album = new Album(values); + const response = await album.find(5); + expect(response.UID).toBe("5"); + }); + + it("should get entity name", () => { + const values = { ID: 5, Name: "Christmas 2019", Slug: "christmas-2019", UID: 66 }; + const album = new Album(values); + const result = album.getEntityName(); + expect(result).toBe("christmas-2019"); + }); + + it("should return model name", () => { + const values = { ID: 5, Name: "Christmas 2019", Slug: "christmas-2019", UID: 66 }; + const album = new Album(values); + const result = album.modelName(); + expect(result).toBe("Album"); + }); + + it("should return limit", () => { + const values = { ID: 5, Name: "Christmas 2019", Slug: "christmas-2019", UID: 66 }; + const album = new Album(values); + const result = Rest.limit(); + expect(result).toBe(100000); + expect(album.constructor.limit()).toBe(100000); + }); + + it("should create link", async () => { + const values = { ID: 5, Name: "Christmas 2019", Slug: "christmas-2019", UID: 66 }; + const album = new Album(values); + const response = await album.createLink("passwd", 8000); + expect(response.Slug).toBe("christmas-2019"); + }); + + it("should update link", async () => { + const values = { + UID: 5, + Password: "passwd", + Slug: "friends", + Expires: 80000, + UpdatedAt: "2012-07-08T14:45:39Z", + Token: "abchhgftryue2345", + }; + const link = new Link(values); + const values2 = { ID: 5, Name: "Christmas 2019", Slug: "christmas-2019", UID: 66 }; + const album = new Album(values2); + const response = await album.updateLink(link); + expect(response.Slug).toBe("friends"); + }); + + it("should remove link", async () => { + const values = { + UID: 5, + Password: "passwd", + Slug: "friends", + Expires: 80000, + UpdatedAt: "2012-07-08T14:45:39Z", + }; + const link = new Link(values); + const values2 = { ID: 5, Name: "Christmas 2019", Slug: "christmas-2019", UID: 66 }; + const album = new Album(values2); + const response = await album.removeLink(link); + expect(response.Success).toBe("ok"); + }); + + it("should return links", async () => { + const values2 = { ID: 5, Name: "Christmas 2019", Slug: "christmas-2019", UID: 66 }; + const album = new Album(values2); + const response = await album.links(); + expect(response.count).toBe(2); + expect(response.models.length).toBe(2); + }); +}); diff --git a/frontend/tests/vitest/model/service.test.js b/frontend/tests/vitest/model/service.test.js new file mode 100644 index 000000000..a59d66ebf --- /dev/null +++ b/frontend/tests/vitest/model/service.test.js @@ -0,0 +1,59 @@ +import { describe, it, expect } from "vitest"; +import "../fixtures"; + +import Service from "model/service"; +import Photo from "model/photo"; + +describe("model/service", () => { + it("should get service defaults", () => { + const values = { ID: 5 }; + const service = new Service(values); + const result = service.getDefaults(); + expect(result.ID).toBe(0); + expect(result.AccShare).toBe(true); + expect(result.AccName).toBe(""); + }); + + it("should get service entity name", () => { + const values = { ID: 5, AccName: "Test Name" }; + const service = new Service(values); + const result = service.getEntityName(); + expect(result).toBe("Test Name"); + }); + + it("should get service id", () => { + const values = { ID: 5, AccName: "Test Name" }; + const service = new Service(values); + const result = service.getId(); + expect(result).toBe(5); + }); + + it("should get folders", async () => { + const values = { ID: 123, AccName: "Test Name" }; + const service = new Service(values); + const response = await service.Folders(); + expect(response.foo).toBe("folders"); + }); + + it("should get share photos", async () => { + const values = { ID: 123, AccName: "Test Name" }; + const service = new Service(values); + const values1 = { ID: 5, Title: "Crazy Cat", UID: 789 }; + const photo = new Photo(values1); + const values2 = { ID: 6, Title: "Crazy Cat 2", UID: 783 }; + const photo2 = new Photo(values2); + const Photos = [photo, photo2]; + const response = await service.Upload(Photos, "destination"); + expect(response.foo).toBe("upload"); + }); + + it("should get collection resource", () => { + const result = Service.getCollectionResource(); + expect(result).toBe("services"); + }); + + it("should get model name", () => { + const result = Service.getModelName(); + expect(result).toBe("Account"); + }); +}); diff --git a/frontend/tests/vitest/model/settings.test.js b/frontend/tests/vitest/model/settings.test.js new file mode 100644 index 000000000..392f68fe2 --- /dev/null +++ b/frontend/tests/vitest/model/settings.test.js @@ -0,0 +1,25 @@ +import { describe, it, expect } from "vitest"; +import "../fixtures"; +import Settings from "model/settings"; + +describe("model/settings", () => { + it("should return if key was changed", () => { + const model = new Settings({ ui: { language: "de", scrollbar: false } }); + expect(model.changed("ui", "scrollbar")).toBe(false); + expect(model.changed("ui", "language")).toBe(false); + }); + + it("should load settings", async () => { + const model = new Settings({ ui: { language: "de", scrollbar: false } }); + const response = await model.load(); + expect(response["ui"]["scrollbar"]).toBe(false); + expect(response["ui"]["language"]).toBe("de"); + }); + + it("should save settings", async () => { + const model = new Settings({ ui: { language: "de", scrollbar: false } }); + const response = await model.save(); + expect(response["ui"]["scrollbar"]).toBe(false); + expect(response["ui"]["language"]).toBe("de"); + }); +}); diff --git a/frontend/tests/vitest/model/subject.test.js b/frontend/tests/vitest/model/subject.test.js new file mode 100644 index 000000000..6d8a0055e --- /dev/null +++ b/frontend/tests/vitest/model/subject.test.js @@ -0,0 +1,253 @@ +import { describe, it, expect } from "vitest"; +import "../fixtures"; +import { Subject, BatchSize } from "model/subject"; + +describe("model/subject", () => { + it("should get face defaults", () => { + const values = {}; + const subject = new Subject(values); + const result = subject.getDefaults(); + expect(result.UID).toBe(""); + expect(result.Favorite).toBe(false); + }); + + it("should get route view", () => { + const values = { UID: "s123ghytrfggd", Type: "person", Src: "manual" }; + const subject = new Subject(values); + const result = subject.route("test"); + expect(result.name).toBe("test"); + expect(result.query.q).toBe("subject:s123ghytrfggd"); + const values2 = { + UID: "s123ghytrfggd", + Type: "person", + Src: "manual", + Name: "Jane Doe", + Slug: "jane-doe", + }; + const subject2 = new Subject(values2); + const result2 = subject2.route("test"); + expect(result2.name).toBe("test"); + expect(result2.query.q).toBe("person:jane-doe"); + }); + + it("should return classes", () => { + const values = { + UID: "s123ghytrfggd", + Type: "person", + Src: "manual", + Name: "Jane Doe", + Slug: "jane-doe", + Favorite: false, + Excluded: true, + Private: true, + Hidden: true, + }; + const subject = new Subject(values); + const result = subject.classes(true); + expect(result).toContain("is-subject"); + expect(result).toContain("uid-s123ghytrfggd"); + expect(result).toContain("is-selected"); + expect(result).not.toContain("is-favorite"); + expect(result).toContain("is-private"); + expect(result).toContain("is-excluded"); + expect(result).toContain("is-hidden"); + const values2 = { + UID: "s123ghytrfggd", + Type: "person", + Src: "manual", + Name: "Jane Doe", + Slug: "jane-doe", + Favorite: true, + Excluded: false, + Private: false, + }; + const subject2 = new Subject(values2); + const result2 = subject2.classes(false); + expect(result2).toContain("is-subject"); + expect(result2).toContain("uid-s123ghytrfggd"); + expect(result2).not.toContain("is-selected"); + expect(result2).toContain("is-favorite"); + expect(result2).not.toContain("is-private"); + expect(result2).not.toContain("is-excluded"); + }); + + it("should get subject entity name", () => { + const values = { + UID: "s123ghytrfggd", + Type: "person", + Src: "manual", + Name: "Jane Doe", + Slug: "jane-doe", + Favorite: false, + Excluded: true, + Private: true, + }; + const subject = new Subject(values); + const result = subject.getEntityName(); + expect(result).toBe("jane-doe"); + }); + + it("should get subject title", () => { + const values = { + UID: "s123ghytrfggd", + Type: "person", + Src: "manual", + Name: "Jane Doe", + Slug: "jane-doe", + Favorite: false, + Excluded: true, + Private: true, + }; + const subject = new Subject(values); + const result = subject.getTitle(); + expect(result).toBe("Jane Doe"); + }); + + it("should get thumbnail url", () => { + const values = { + UID: "s123ghytrfggd", + Type: "person", + Src: "manual", + Name: "Jane Doe", + Slug: "jane-doe", + Favorite: false, + Excluded: true, + Private: true, + Thumb: "nicethumb", + }; + const subject = new Subject(values); + const result = subject.thumbnailUrl("xyz"); + expect(result).toBe("/api/v1/t/nicethumb/public/xyz"); + const result2 = subject.thumbnailUrl(); + expect(result2).toBe("/api/v1/t/nicethumb/public/tile_160"); + const values2 = { + UID: "s123ghytrfggd", + Type: "person", + Src: "manual", + Name: "Jane Doe", + Slug: "jane-doe", + Favorite: false, + Excluded: true, + Private: true, + }; + const subject2 = new Subject(values2); + const result3 = subject2.thumbnailUrl("xyz"); + expect(result3).toBe("/api/v1/svg/portrait"); + }); + + it("should get date string", () => { + const values = { + UID: "s123ghytrfggd", + Type: "person", + Src: "manual", + Name: "Jane Doe", + Slug: "jane-doe", + Favorite: false, + Excluded: true, + Private: true, + Thumb: "nicethumb", + CreatedAt: "2012-07-08T14:45:39Z", + }; + const subject = new Subject(values); + const result = subject.getDateString(); + expect(result.replaceAll("\u202f", " ")).toBe("Jul 8, 2012, 2:45 PM"); + }); + + it("should like subject", () => { + const values = { + UID: "s123ghytrfggd", + Type: "person", + Src: "manual", + Name: "Jane Doe", + Slug: "jane-doe", + Favorite: false, + }; + const subject = new Subject(values); + expect(subject.Favorite).toBe(false); + subject.like(); + expect(subject.Favorite).toBe(true); + }); + + it("should unlike subject", () => { + const values = { + UID: "s123ghytrfggd", + Type: "person", + Src: "manual", + Name: "Jane Doe", + Slug: "jane-doe", + Favorite: true, + }; + const subject = new Subject(values); + expect(subject.Favorite).toBe(true); + subject.unlike(); + expect(subject.Favorite).toBe(false); + }); + + it("should toggle like", () => { + const values = { + UID: "s123ghytrfggd", + Type: "person", + Src: "manual", + Name: "Jane Doe", + Slug: "jane-doe", + Favorite: true, + }; + const subject = new Subject(values); + expect(subject.Favorite).toBe(true); + subject.toggleLike(); + expect(subject.Favorite).toBe(false); + subject.toggleLike(); + expect(subject.Favorite).toBe(true); + }); + + it("show and hide subject", () => { + const values = { + UID: "s123ghytrfggd", + Type: "person", + Src: "manual", + Name: "Jane Doe", + Slug: "jane-doe", + Hidden: true, + }; + const subject = new Subject(values); + expect(subject.Hidden).toBe(true); + subject.show(); + expect(subject.Hidden).toBe(false); + subject.hide(); + expect(subject.Hidden).toBe(true); + }); + + it("should toggle hidden", () => { + const values = { + UID: "s123ghytrfggd", + Type: "person", + Src: "manual", + Name: "Jane Doe", + Slug: "jane-doe", + Hidden: true, + }; + const subject = new Subject(values); + expect(subject.Hidden).toBe(true); + subject.toggleHidden(); + expect(subject.Hidden).toBe(false); + subject.toggleHidden(); + expect(subject.Hidden).toBe(true); + }); + + it("should return batch size", () => { + expect(Subject.batchSize()).toBe(BatchSize); + Subject.setBatchSize(30); + expect(Subject.batchSize()).toBe(30); + Subject.setBatchSize(BatchSize); + }); + + it("should get collection resource", () => { + const result = Subject.getCollectionResource(); + expect(result).toBe("subjects"); + }); + + it("should get model name", () => { + const result = Subject.getModelName(); + expect(result).toBe("Person"); + }); +}); diff --git a/frontend/tests/vitest/model/thumb.test.js b/frontend/tests/vitest/model/thumb.test.js new file mode 100644 index 000000000..03d30e71a --- /dev/null +++ b/frontend/tests/vitest/model/thumb.test.js @@ -0,0 +1,324 @@ +import { describe, it, expect } from "vitest"; +import "../fixtures"; +import Thumb from "model/thumb"; +import Photo from "model/photo"; +import File from "model/file"; + +describe("model/thumb", () => { + it("should get thumb defaults", () => { + const values = { + UID: "55", + Title: "", + TakenAtLocal: "", + Caption: "", + Favorite: false, + Playable: false, + Width: 0, + Height: 0, + DownloadUrl: "", + }; + const thumb = new Thumb(values); + const result = thumb.getDefaults(); + expect(result.UID).toBe(""); + }); + + it("should get id", () => { + const values = { + UID: "55", + }; + const thumb = new Thumb(values); + expect(thumb.getId()).toBe("55"); + }); + + it("should return hasId", () => { + const values = { + UID: "55", + }; + const thumb = new Thumb(values); + expect(thumb.hasId()).toBe(true); + + const values2 = { + Title: "", + }; + const thumb2 = new Thumb(values2); + expect(thumb2.hasId()).toBe(false); + }); + + it("should toggle like", () => { + const values = { + UID: "55", + Title: "", + TakenAtLocal: "", + Caption: "", + Favorite: true, + Playable: false, + Width: 0, + Height: 0, + DownloadUrl: "", + }; + const thumb = new Thumb(values); + expect(thumb.Favorite).toBe(true); + thumb.toggleLike(); + expect(thumb.Favorite).toBe(false); + thumb.toggleLike(); + expect(thumb.Favorite).toBe(true); + }); + + it("should return thumb not found", () => { + const result = Thumb.notFound(); + expect(result.UID).toBe(""); + expect(result.Favorite).toBe(false); + }); + + it("should test from file", () => { + const values = { + InstanceID: 5, + UID: "ABC123", + Name: "1/2/IMG123.jpg", + Hash: "abc123", + Width: 500, + Height: 900, + }; + const file = new File(values); + + const values2 = { + UID: "5", + Title: "Crazy Cat", + TakenAt: "2012-07-08T14:45:39Z", + TakenAtLocal: "2012-07-08T14:45:39Z", + Caption: "Nice description", + Favorite: true, + }; + const photo = new Photo(values2); + const result = Thumb.fromFile(photo, file); + expect(result.UID).toBe("5"); + expect(result.Caption).toBe("Nice description"); + expect(result.Width).toBe(500); + const result2 = Thumb.fromFile(); + expect(result2.UID).toBe(""); + }); + + it("should test from files", () => { + const values2 = { + UID: "5", + Title: "Crazy Cat", + TakenAt: "2012-07-08T14:45:39Z", + TakenAtLocal: "2012-07-08T14:45:39Z", + Caption: "Nice description", + Favorite: true, + }; + const photo = new Photo(values2); + + const values3 = { + UID: "5", + Title: "Crazy Cat", + TakenAt: "2012-07-08T14:45:39Z", + TakenAtLocal: "2012-07-08T14:45:39Z", + Caption: "Nice description", + Favorite: true, + }; + const photo2 = new Photo(values3); + const Photos = [photo, photo2]; + const result = Thumb.fromFiles(Photos); + expect(result.length).toBe(0); + const values4 = { + ID: 8, + UID: "ABC123", + Caption: "Nice description 2", + Hash: "abc345", + Files: [ + { + UID: "123fgb", + Name: "1980/01/superCuteKitten.jpg", + Primary: true, + FileType: "jpg", + Width: 500, + Height: 600, + Hash: "1xxbgdt53", + }, + ], + }; + const photo3 = new Photo(values4); + const Photos2 = [photo, photo2, photo3]; + const result2 = Thumb.fromFiles(Photos2); + expect(result2[0].UID).toBe("ABC123"); + expect(result2[0].Caption).toBe("Nice description 2"); + expect(result2[0].Width).toBe(500); + expect(result2.length).toBe(1); + const values5 = { + ID: 8, + UID: "ABC123", + Caption: "Nice description 2", + Hash: "abc345", + Files: [ + { + UID: "123fgb", + Name: "1980/01/superCuteKitten.jpg", + Primary: true, + FileType: "mov", + Width: 500, + Height: 600, + Hash: "1xxbgdt53", + }, + ], + }; + const photo4 = new Photo(values5); + const Photos3 = [photo3, photo2, photo4]; + const result3 = Thumb.fromFiles(Photos3); + expect(result3.length).toBe(1); + expect(result3[0].UID).toBe("ABC123"); + expect(result3[0].Caption).toBe("Nice description 2"); + expect(result3[0].Width).toBe(500); + }); + + it("should test from files", () => { + const Photos = []; + const result = Thumb.fromFiles(Photos); + expect(result).toEqual([]); + }); + + it("should test from photo", () => { + const values = { + ID: 8, + UID: "ABC123", + Caption: "Nice description 3", + Hash: "345ggh", + Files: [ + { + UID: "123fgb", + Name: "1980/01/superCuteKitten.jpg", + Primary: true, + FileType: "jpg", + Width: 500, + Height: 600, + Hash: "1xxbgdt53", + }, + ], + }; + const photo = new Photo(values); + const result = Thumb.fromPhoto(photo); + expect(result.UID).toBe("ABC123"); + expect(result.Caption).toBe("Nice description 3"); + expect(result.Width).toBe(500); + const values3 = { + ID: 8, + UID: "ABC124", + Caption: "Nice description 3", + }; + const photo3 = new Photo(values3); + const result2 = Thumb.fromPhoto(photo3); + expect(result2.UID).toBe(""); + const values2 = { + ID: 8, + UID: "ABC123", + Title: "Crazy Cat", + TakenAt: "2012-07-08T14:45:39Z", + TakenAtLocal: "2012-07-08T14:45:39Z", + Caption: "Nice description", + Favorite: true, + Hash: "xdf45m", + }; + const photo2 = new Photo(values2); + const result3 = Thumb.fromPhoto(photo2); + expect(result3.UID).toBe("ABC123"); + expect(result3.Title).toBe("Crazy Cat"); + expect(result3.Caption).toBe("Nice description"); + }); + + it("should test from photos", () => { + const values = { + ID: 8, + UID: "ABC123", + Caption: "Nice description 3", + Hash: "345ggh", + Files: [ + { + UID: "123fgb", + Name: "1980/01/superCuteKitten.jpg", + Primary: true, + FileType: "jpg", + Width: 500, + Height: 600, + Hash: "1xxbgdt53", + }, + ], + }; + const photo = new Photo(values); + const Photos = [photo]; + const result = Thumb.fromPhotos(Photos); + expect(result[0].UID).toBe("ABC123"); + expect(result[0].Caption).toBe("Nice description 3"); + expect(result[0].Width).toBe(500); + }); + + it("should return download url", () => { + const values = { + InstanceID: 5, + UID: "ABC123", + Hash: "54ghtfd", + FileType: "jpg", + Name: "1/2/IMG123.jpg", + }; + const file = new File(values); + expect(Thumb.downloadUrl(file)).toBe("/api/v1/dl/54ghtfd?t=2lbh9x09"); + const values2 = { + InstanceID: 5, + UID: "ABC123", + FileType: "jpg", + Name: "1/2/IMG123.jpg", + }; + const file2 = new File(values2); + expect(Thumb.downloadUrl(file2)).toBe(""); + }); + + it("should return thumbnail url", () => { + const values = { + InstanceID: 5, + UID: "ABC123", + Hash: "54ghtfd", + FileType: "jpg", + Name: "1/2/IMG123.jpg", + }; + const file = new File(values); + expect(Thumb.thumbnailUrl(file, "abc")).toBe("/api/v1/t/54ghtfd/public/abc"); + const values2 = { + InstanceID: 5, + UID: "ABC123", + Name: "1/2/IMG123.jpg", + }; + const file2 = new File(values2); + expect(Thumb.thumbnailUrl(file2, "bcd")).toBe("/static/img/404.jpg"); + }); + + it("should calculate size", () => { + const values = { + InstanceID: 5, + UID: "ABC123", + Hash: "54ghtfd", + FileType: "jpg", + Width: 900, + Height: 850, + Name: "1/2/IMG123.jpg", + }; + const file = new File(values); + const result = Thumb.calculateSize(file, 600, 800); + expect(result.width).toBe(600); + expect(result.height).toBe(567); + const values3 = { + InstanceID: 5, + UID: "ABC123", + Hash: "54ghtfd", + FileType: "jpg", + Width: 750, + Height: 850, + Name: "1/2/IMG123.jpg", + }; + const file3 = new File(values3); + const result2 = Thumb.calculateSize(file3, 900, 450); + expect(result2.width).toBe(398); + expect(result2.height).toBe(450); + const result4 = Thumb.calculateSize(file3, 900, 950); + expect(result4.width).toBe(750); + expect(result4.height).toBe(850); + }); +}); diff --git a/frontend/tests/vitest/model/user.test.js b/frontend/tests/vitest/model/user.test.js new file mode 100644 index 000000000..66a05044b --- /dev/null +++ b/frontend/tests/vitest/model/user.test.js @@ -0,0 +1,315 @@ +import { describe, it, expect } from "vitest"; +import "../fixtures"; +import User from "model/user"; +import File from "model/file"; +import Config from "common/config"; +import StorageShim from "node-storage-shim"; + +const defaultConfig = new Config(new StorageShim(), window.__CONFIG__); + +describe("model/user", () => { + it("should get handle", () => { + const values = { + ID: 5, + Name: "max", + DisplayName: "Max Last", + Email: "test@test.com", + Role: "admin", + }; + + const user = new User(values); + const result = user.getHandle(); + expect(result).toBe("max"); + + const values2 = { + ID: 6, + Name: "", + DisplayName: "", + Email: "test@test.com", + Role: "admin", + }; + + const user2 = new User(values2); + const result2 = user2.getHandle(); + expect(result2).toBe(""); + }); + + it("should get default base path", () => { + const values = { + ID: 5, + Name: "max", + DisplayName: "Max Last", + Email: "test@test.com", + Role: "admin", + }; + + const user = new User(values); + const result = user.defaultBasePath(); + expect(result).toBe("users/max"); + + const values2 = { + ID: 6, + Name: "", + DisplayName: "", + Email: "test@test.com", + Role: "admin", + }; + + const user2 = new User(values2); + const result2 = user2.defaultBasePath(); + expect(result2).toBe(""); + }); + + it("should get display name", () => { + const values = { + ID: 5, + Name: "max", + DisplayName: "Max Last", + Email: "test@test.com", + Role: "admin", + }; + + const user = new User(values); + const result = user.getDisplayName(); + expect(result).toBe("Max Last"); + + const values2 = { + ID: 6, + Name: "", + DisplayName: "", + Email: "test@test.com", + Role: "admin", + }; + + const user2 = new User(values2); + const result2 = user2.getDisplayName(); + expect(result2).toBe("Unknown"); + + const values3 = { + ID: 7, + Name: "", + DisplayName: "", + Email: "test@test.com", + Role: "admin", + Details: { + NickName: "maxi", + GivenName: "Maximilian", + }, + }; + + const user3 = new User(values3); + const result3 = user3.getDisplayName(); + expect(result3).toBe("maxi"); + + const values4 = { + ID: 8, + Name: "", + DisplayName: "", + Email: "test@test.com", + Role: "admin", + Details: { + NickName: "", + GivenName: "Maximilian", + }, + }; + + const user4 = new User(values4); + const result4 = user4.getDisplayName(); + expect(result4).toBe("Maximilian"); + }); + + it("should get account info", () => { + const values = { + ID: 5, + Name: "max", + DisplayName: "Max Last", + Email: "test@test.com", + Role: "admin", + }; + + const user = new User(values); + const result = user.getAccountInfo(); + expect(result).toBe("max"); + + const values2 = { + ID: 6, + Name: "", + DisplayName: "", + Email: "test@test.com", + Role: "admin", + }; + + const user2 = new User(values2); + const result2 = user2.getAccountInfo(); + expect(result2).toBe("test@test.com"); + + const values3 = { + ID: 7, + Name: "", + DisplayName: "", + Email: "", + Role: "admin", + }; + + const user3 = new User(values3); + const result3 = user3.getAccountInfo(); + expect(result3).toBe("Admin"); + + const values4 = { + ID: 8, + Name: "", + DisplayName: "", + Email: "", + Role: "", + }; + + const user4 = new User(values4); + const result4 = user4.getAccountInfo(); + expect(result4).toBe("Account"); + + const values5 = { + ID: 9, + Name: "", + DisplayName: "", + Email: "", + Role: "admin", + Details: { + JobTitle: "Developer", + }, + }; + + const user5 = new User(values5); + const result5 = user5.getAccountInfo(); + expect(result5).toBe("Developer"); + }); + + it("should get entity name", () => { + const values = { + ID: 5, + Name: "max", + DisplayName: "Max Last", + Email: "test@test.com", + Role: "admin", + }; + + const user = new User(values); + const result = user.getEntityName(); + expect(result).toBe("Max Last"); + }); + + it("should get id", () => { + const values = { + ID: 5, + Name: "max", + DisplayName: "Max Last", + Email: "test@test.com", + Role: "admin", + }; + + const user = new User(values); + const result = user.getId(); + expect(result).toBe(5); + }); + + it("should get model name", () => { + const result = User.getModelName(); + expect(result).toBe("User"); + }); + + it("should get collection resource", () => { + const result = User.getCollectionResource(); + expect(result).toBe("users"); + }); + + it("should get register form", async () => { + const values = { ID: 52, Name: "max", DisplayName: "Max Last" }; + const user = new User(values); + const result = await user.getRegisterForm(); + expect(result.definition.foo).toBe("register"); + }); + + it("should get avatar url", async () => { + const values = { ID: 52, Name: "max", DisplayName: "Max Last" }; + const user = new User(values); + const result = await user.getAvatarURL(); + expect(result).toBe("/static/img/avatar/tile_500.jpg"); + + const values2 = { + ID: 53, + Name: "max", + DisplayName: "Max Last", + Thumb: "91e6c374afb78b28a52d7b4fd4fd2ea861b87123", + }; + const user2 = new User(values2); + const result2 = await user2.getAvatarURL("tile_500", defaultConfig); + expect(result2).toBe("/api/v1/t/91e6c374afb78b28a52d7b4fd4fd2ea861b87123/public/tile_500"); + }); + + it("should upload avatar", async () => { + const values = { ID: 52, Name: "max", DisplayName: "Max Last" }; + const user = new User(values); + + const values2 = { + InstanceID: 5, + UID: "ABC123", + Hash: "54ghtfd", + FileType: "jpg", + MediaType: "image", + Name: "1/2/IMG123.jpg", + CreatedAt: "2012-07-08T14:45:39Z", + UpdatedAt: "2012-07-08T14:45:39Z", + }; + const file = new File(values2); + + const Files = [file]; + + const response = await user.uploadAvatar(Files); + expect(response.Thumb).toBe("abc"); + expect(response.ThumbSrc).toBe("manual"); + }); + + it("should get profile form", async () => { + const values = { ID: 53, Name: "max", DisplayName: "Max Last" }; + const user = new User(values); + const result = await user.getProfileForm(); + expect(result.definition.foo).toBe("profile"); + }); + + it("should return whether user is remote", async () => { + const values = { ID: 52, Name: "max", DisplayName: "Max Last", AuthProvider: "local" }; + const user = new User(values); + const result = await user.isRemote(); + expect(result).toBe(false); + + const values2 = { ID: 51, Name: "max", DisplayName: "Max Last", AuthProvider: "ldap" }; + const user2 = new User(values2); + const result2 = await user2.isRemote(); + expect(result2).toBe(true); + }); + + it("should return auth info", async () => { + const values = { ID: 50, Name: "max", DisplayName: "Max Last", AuthProvider: "oidc" }; + const user = new User(values); + const result = await user.authInfo(); + expect(result).toBe("OIDC"); + + const values2 = { ID: 52, Name: "max", DisplayName: "Max Last", AuthProvider: "oidc", AuthMethod: "session" }; + const user2 = new User(values2); + const result2 = await user2.authInfo(); + expect(result2).toBe("OIDC (Session)"); + }); + + it("should get change password", async () => { + const values = { + ID: 54, + Name: "max", + DisplayName: "Max Last", + Email: "test@test.com", + Role: "admin", + }; + + const user = new User(values); + const result = await user.changePassword("old", "new"); + expect(result.new_password).toBe("new"); + }); +}); diff --git a/frontend/tests/vitest/options/options.test.js b/frontend/tests/vitest/options/options.test.js new file mode 100644 index 000000000..7f2a67511 --- /dev/null +++ b/frontend/tests/vitest/options/options.test.js @@ -0,0 +1,249 @@ +import { describe, it, expect } from "vitest"; +import "../fixtures"; +import * as options from "../../../src/options/options"; +import { + AccountTypes, + Colors, + DefaultLocale, + Expires, + FallbackLocale, + FeedbackCategories, + FindLanguage, + FindLocale, + Gender, + Intervals, + ItemsPerPage, + MapsAnimate, + MapsStyle, + Orientations, + PhotoTypes, + RetryLimits, + SetDefaultLocale, + StartPages, + ThumbFilters, + ThumbSizes, + Timeouts, +} from "../../../src/options/options"; + +describe("options/options", () => { + it("should get timezones", () => { + const timezones = options.TimeZones(); + expect(timezones[0].ID).toBe("Local"); + expect(timezones[0].Name).toBe("Local"); + expect(timezones[1].ID).toBe("UTC"); + expect(timezones[1].Name).toBe("UTC"); + }); + + it("should get days", () => { + const Days = options.Days(); + expect(Days[0].text).toBe("01"); + expect(Days[30].text).toBe("31"); + }); + + it("should get years", () => { + const Years = options.Years(); + const currentYear = new Date().getUTCFullYear(); + expect(Years[0].text).toBe(currentYear.toString()); + }); + + it("should get indexed years", () => { + const IndexedYears = options.IndexedYears(); + expect(IndexedYears[0].text).toBe("2021"); + }); + + it("should get months", () => { + const Months = options.Months(); + expect(Months[5].text).toBe("June"); + }); + + it("should get short months", () => { + const MonthsShort = options.MonthsShort(); + expect(MonthsShort[5].text).toBe("06"); + }); + + it("should get languages", () => { + const Languages = options.Languages(); + expect(Languages[0].value).toBe("en"); + }); + + it("should set default locale", () => { + expect(DefaultLocale).toBe("en"); + SetDefaultLocale("de"); + expect(DefaultLocale).toBe("de"); + SetDefaultLocale("en"); + }); + + it("should return default when no locale is provided", () => { + expect(FindLanguage("").value).toBe("en"); + }); + + it("should return default locale is smaller than 2", () => { + expect(FindLanguage("d").value).toBe("en"); + }); + + it("should return default locale", () => { + expect(FindLanguage("xx").value).toBe("en"); + }); + + it("should return correct locale", () => { + expect(FindLanguage("de").value).toBe("de"); + expect(FindLanguage("de").text).toBe("Deutsch"); + expect(FindLanguage("de_AT").value).toBe("de"); + expect(FindLanguage("de_AT").text).toBe("Deutsch"); + expect(FindLanguage("zh-tw").value).toBe("zh_TW"); + expect(FindLanguage("zh-tw").text).toBe("繁體中文"); + expect(FindLanguage("zh+tw").value).toBe("zh_TW"); + expect(FindLanguage("zh+tw").text).toBe("繁體中文"); + expect(FindLanguage("zh_AT").value).toBe("zh"); + expect(FindLanguage("zh_AT").text).toBe("简体中文"); + expect(FindLanguage("ZH_TW").value).toBe("zh_TW"); + expect(FindLanguage("ZH_TW").text).toBe("繁體中文"); + expect(FindLanguage("zH-tW").value).toBe("zh_TW"); + expect(FindLanguage("zH-tW").text).toBe("繁體中文"); + }); + + it("should return default locale", () => { + expect(FindLocale("xx")).toBe("en"); + expect(FindLocale("")).toBe("en"); + }); + + it("should return fallback locale", () => { + expect(FallbackLocale()).toBe("en"); + }); + + it("should return items per page", () => { + expect(ItemsPerPage()[0].value).toBe(10); + }); + + it("should return start page options", () => { + let features = { + account: true, + albums: true, + archive: true, + delete: true, + download: true, + edit: true, + estimates: true, + favorites: true, + files: true, + folders: true, + import: true, + labels: true, + library: true, + logs: true, + calendar: true, + moments: true, + people: true, + places: true, + private: true, + ratings: true, + reactions: true, + review: true, + search: true, + services: true, + settings: true, + share: true, + upload: true, + videos: true, + }; + expect(StartPages(features).length).toBe(12); + expect(StartPages(features)[5].value).toBe("people"); + expect(StartPages(features)[5].props.disabled).toBe(false); + features = { + account: true, + albums: true, + archive: true, + delete: true, + download: true, + edit: true, + estimates: true, + favorites: true, + files: true, + folders: true, + import: true, + labels: true, + library: true, + logs: true, + calendar: false, + moments: true, + people: false, + places: true, + private: true, + ratings: true, + reactions: true, + review: true, + search: true, + services: true, + settings: true, + share: true, + upload: true, + videos: true, + }; + expect(StartPages(features).length).toBe(12); + expect(StartPages(features)[5].value).toBe("people"); + expect(StartPages(features)[5].props.disabled).toBe(true); + }); + + it("should return animation options", () => { + expect(MapsAnimate()[1].value).toBe(2500); + }); + + it("should return photo types", () => { + expect(PhotoTypes()[0].value).toBe("image"); + expect(PhotoTypes()[1].value).toBe("raw"); + }); + + it("should return map styles", () => { + let styles = MapsStyle(true); + expect(styles[styles.length - 1].value).toContain("low-resolution"); + styles = MapsStyle(false); + expect(styles[styles.length - 1].value).not.toContain("low-resolution"); + }); + + it("should return timeouts", () => { + expect(Timeouts()[1].value).toBe("high"); + }); + + it("should return retry limits", () => { + expect(RetryLimits()[1].value).toBe(1); + }); + + it("should return intervals", () => { + expect(Intervals()[0].text).toBe("Never"); + expect(Intervals()[1].text).toBe("1 hour"); + }); + + it("should return expiry options", () => { + expect(Expires()[0].text).toBe("Never"); + expect(Expires()[1].text).toBe("After 1 day"); + }); + + it("should return colors", () => { + expect(Colors()[0].Slug).toBe("purple"); + }); + + it("should return feedback categories", () => { + expect(FeedbackCategories()[0].value).toBe("feedback"); + }); + + it("should return thumb sizes", () => { + expect(ThumbSizes()[1].value).toBe("fit_720"); + }); + + it("should return thumb filters", () => { + expect(ThumbFilters()[0].value).toBe("blackman"); + }); + + it("should return gender", () => { + expect(Gender()[2].value).toBe("other"); + }); + + it("should return orientations", () => { + expect(Orientations()[1].text).toBe("90°"); + }); + + it("should return service account type options", () => { + expect(AccountTypes()[0].value).toBe("webdav"); + expect(AccountTypes().length).toBe(1); + }); +}); diff --git a/frontend/tests/vitest/setup.js b/frontend/tests/vitest/setup.js index d6158aa68..ba43c695c 100644 --- a/frontend/tests/vitest/setup.js +++ b/frontend/tests/vitest/setup.js @@ -1,59 +1,22 @@ +import { afterEach, vi } from "vitest"; import "@testing-library/jest-dom"; -import { cleanup } from "@testing-library/react"; -import { afterEach, vi, beforeAll } from "vitest"; -import { setupCommonMocks } from "./fixtures"; +import "./vue-setup"; -global.window = global.window || {}; -global.window.__CONFIG__ = { - debug: false, - trace: false, -}; +// Import and set up global config +import clientConfig from "./config"; +import { $config } from "app/session"; -global.window.location = { - protocol: "https:", -}; +$config.setValues(clientConfig); -global.navigator = { - userAgent: "node.js", - maxTouchPoints: 0, -}; +// Make config available in browser environment +window.__CONFIG__ = clientConfig; +console.log("Running tests in real browser environment"); + +// Clean up after each test afterEach(() => { - cleanup(); + vi.resetAllMocks(); }); -beforeAll(() => { - setupCommonMocks(); -}); - -vi.mock("luxon", () => ({ - DateTime: { - fromISO: vi.fn().mockReturnValue({ - toLocaleString: vi.fn().mockReturnValue("2023-10-01 10:00:00"), - }), - DATETIME_MED: {}, - DATETIME_MED_WITH_WEEKDAY: {}, - DATE_MED: {}, - TIME_24_SIMPLE: {}, - }, - Settings: { - defaultLocale: "en", - defaultZoneName: "UTC", - }, -})); - -vi.mock("common/gettext", () => ({ - $gettext: vi.fn((text) => text), -})); - -vi.mock("app/session", () => ({ - $config: {}, -})); - -vi.mock("common/notify", () => ({ - default: { - success: vi.fn(), - warn: vi.fn(), - error: vi.fn(), - }, -})); +// Export shared configuration +export { clientConfig }; diff --git a/frontend/tests/vitest/vue-setup.js b/frontend/tests/vitest/vue-setup.js index 383a279ed..4b77c0dfb 100644 --- a/frontend/tests/vitest/vue-setup.js +++ b/frontend/tests/vitest/vue-setup.js @@ -1,39 +1,22 @@ import { config } from "@vue/test-utils"; import { vi } from "vitest"; +import { createVuetify } from "vuetify"; +import * as components from "vuetify/components"; +import * as directives from "vuetify/directives"; +import "vuetify/styles"; +import { Settings } from "luxon"; -// Mock Vuetify components -const vuetifyComponents = [ - "VBtn", - "VToolbar", - "VToolbarTitle", - "VList", - "VListItem", - "VDivider", - "VProgressCircular", - "VIcon", - "VRow", - "VCol", - "VCard", - "VCardTitle", - "VCardText", - "VCardActions", - "VTextField", - "VTextarea", - "VSheet", -]; +// Setup timezone to match test expectations (UTC+2/CEST) +Settings.defaultZoneName = "Europe/Berlin"; -// Create stubs for Vuetify components -const vuetifyStubs = vuetifyComponents.reduce((acc, component) => { - acc[component] = { - name: component.toLowerCase(), - template: `
`, - }; - acc[component.toLowerCase()] = { - name: component.toLowerCase(), - template: `
`, - }; - return acc; -}, {}); +// Create a proper Vuetify instance with all components and styles +const vuetify = createVuetify({ + components, + directives, + theme: { + defaultTheme: "light", + }, +}); // Configure Vue Test Utils global configuration config.global.mocks = { @@ -44,8 +27,9 @@ config.global.mocks = { }, }; +config.global.plugins = [vuetify]; + config.global.stubs = { - ...vuetifyStubs, transition: false, }; @@ -64,9 +48,16 @@ config.global.mount = function (component, options = {}) { options.global.config.globalProperties = options.global.config.globalProperties || {}; options.global.config.globalProperties.$emit = vi.fn(); + // Add vuetify to all mount calls + if (!options.global.plugins) { + options.global.plugins = [vuetify]; + } else if (Array.isArray(options.global.plugins)) { + options.global.plugins.push(vuetify); + } + return originalMount(component, options); }; export default { - vuetifyStubs, + vuetify, }; diff --git a/frontend/vitest.config.js b/frontend/vitest.config.js index 21453d9ef..c09a107e2 100644 --- a/frontend/vitest.config.js +++ b/frontend/vitest.config.js @@ -1,28 +1,58 @@ import { defineConfig } from "vitest/config"; -import react from "@vitejs/plugin-react"; -import vue from "@vitejs/plugin-vue"; -import tsconfigPaths from "vite-tsconfig-paths"; import path from "path"; +import vue from "@vitejs/plugin-vue"; export default defineConfig({ - plugins: [react(), vue(), tsconfigPaths()], + plugins: [vue()], + resolve: { + alias: { + "app": path.resolve(__dirname, "./src/app"), + "common": path.resolve(__dirname, "./src/common"), + "component": path.resolve(__dirname, "./src/component"), + "model": path.resolve(__dirname, "./src/model"), + "options": path.resolve(__dirname, "./src/options"), + "page": path.resolve(__dirname, "./src/page"), + "ui": path.resolve(__dirname, "./src/options/ui.js"), + "model.js": path.resolve(__dirname, "./src/model/model.js"), + "link.js": path.resolve(__dirname, "./src/model/link.js"), + "websocket.js": path.resolve(__dirname, "./src/common/websocket.js"), + }, + }, + + optimizeDeps: { + include: ["vuetify"], + }, + test: { globals: true, + setupFiles: "./tests/vitest/setup.js", + include: ["tests/vitest/**/*.{test,spec}.{js,jsx,ts,tsx,vue}"], + exclude: ["**/node_modules/**", "**/dist/**"], + environment: "jsdom", - setupFiles: ["./tests/vitest/setup.js", "./tests/vitest/vue-setup.js"], - include: ["tests/vitest/**/*.{test,spec}.{js,jsx}"], + css: true, + pool: "vmForks", + testTimeout: 10000, + watch: false, + silent: true, + browser: { + enabled: false, + provider: "playwright", + headless: true, + isolate: false, + instances: [ + { + browser: "chromium", + headless: true, + }, + ], + }, + coverage: { + provider: "v8", reporter: ["text", "html"], include: ["src/**/*.{js,jsx,vue}"], exclude: ["src/locales/**"], }, - alias: { - app: path.resolve(__dirname, "./src/app"), - common: path.resolve(__dirname, "./src/common"), - component: path.resolve(__dirname, "./src/component"), - model: path.resolve(__dirname, "./src/model"), - options: path.resolve(__dirname, "./src/options"), - page: path.resolve(__dirname, "./src/page"), - }, }, }); diff --git a/go.mod b/go.mod index 72670b65a..608af97f2 100644 --- a/go.mod +++ b/go.mod @@ -13,18 +13,18 @@ require ( github.com/dustin/go-humanize v1.0.1 github.com/esimov/pigo v1.4.6 github.com/gin-contrib/gzip v1.2.3 - github.com/gin-gonic/gin v1.10.0 - github.com/golang/geo v0.0.0-20250509130527-0a13e5a5d53d - github.com/google/open-location-code/go v0.0.0-20250415120251-fa6d7f9d4765 + github.com/gin-gonic/gin v1.10.1 + github.com/golang/geo v0.0.0-20250707181242-c5087ca84cf4 + github.com/google/open-location-code/go v0.0.0-20250620134813-83986da0156b github.com/gorilla/websocket v1.5.3 github.com/gosimple/slug v1.15.0 github.com/jinzhu/gorm v1.9.16 github.com/jinzhu/inflection v1.0.0 github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0 // indirect github.com/karrick/godirwalk v1.17.0 - github.com/klauspost/cpuid/v2 v2.2.10 + github.com/klauspost/cpuid/v2 v2.3.0 github.com/leandro-lugaresi/hub v1.1.1 - github.com/leonelquinteros/gotext v1.7.1 + github.com/leonelquinteros/gotext v1.7.2 github.com/lib/pq v1.10.9 // indirect github.com/lucasb-eyer/go-colorful v1.2.0 github.com/mandykoh/prism v0.35.3 @@ -40,18 +40,18 @@ require ( github.com/tidwall/gjson v1.18.0 github.com/ulule/deepcopier v0.0.0-20200430083143-45decc6639b6 go4.org v0.0.0-20230225012048-214862532bf5 // indirect - golang.org/x/crypto v0.38.0 - golang.org/x/net v0.40.0 + golang.org/x/crypto v0.40.0 + golang.org/x/net v0.42.0 gonum.org/v1/gonum v0.16.0 gopkg.in/yaml.v2 v2.4.0 ) require ( github.com/go-xmlfmt/xmlfmt v1.1.3 // indirect - golang.org/x/image v0.27.0 + golang.org/x/image v0.29.0 ) -require github.com/olekukonko/tablewriter v0.0.5 +require github.com/olekukonko/tablewriter v1.0.8 require github.com/google/uuid v1.6.0 @@ -60,35 +60,35 @@ require github.com/chzyer/readline v1.5.1 // indirect require github.com/gabriel-vasile/mimetype v1.4.9 require ( - golang.org/x/sync v0.14.0 - golang.org/x/time v0.11.0 + golang.org/x/sync v0.16.0 + golang.org/x/time v0.12.0 ) require github.com/go-ldap/ldap/v3 v3.4.11 require ( github.com/prometheus/client_golang v1.22.0 - github.com/prometheus/common v0.63.0 + github.com/prometheus/common v0.65.0 ) require github.com/dustinkirkland/golang-petname v0.0.0-20240428194347-eebcea082ee0 -require golang.org/x/text v0.25.0 +require golang.org/x/text v0.27.0 require ( github.com/IGLOU-EU/go-wildcard v1.0.3 github.com/davidbyttow/govips/v2 v2.16.0 - github.com/go-co-op/gocron/v2 v2.16.1 - github.com/pquerna/otp v1.4.0 + github.com/go-co-op/gocron/v2 v2.16.2 + github.com/pquerna/otp v1.5.0 github.com/robfig/cron/v3 v3.0.1 github.com/swaggo/files v1.0.1 github.com/swaggo/gin-swagger v1.6.0 github.com/ugjka/go-tz/v2 v2.2.6 - github.com/urfave/cli/v2 v2.27.6 + github.com/urfave/cli/v2 v2.27.7 github.com/wamuir/graft v0.10.0 - github.com/zitadel/oidc/v3 v3.38.1 - golang.org/x/mod v0.24.0 - golang.org/x/sys v0.33.0 + github.com/zitadel/oidc/v3 v3.41.0 + golang.org/x/mod v0.26.0 + golang.org/x/sys v0.34.0 ) require ( @@ -100,10 +100,11 @@ require ( github.com/bytedance/sonic/loader v0.2.4 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/cloudwego/base64x v0.1.5 // indirect - github.com/cpuguy83/go-md2man/v2 v2.0.6 // indirect + github.com/cpuguy83/go-md2man/v2 v2.0.7 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/dsoprea/go-logging v0.0.0-20200710184922-b02d349568dd // indirect github.com/dsoprea/go-utility/v2 v2.0.0-20221003172846-a3e1774ef349 // indirect + github.com/fatih/color v1.18.0 // indirect github.com/gin-contrib/sse v1.1.0 // indirect github.com/go-asn1-ber/asn1-ber v1.5.8-0.20250403174932-29230038a667 // indirect github.com/go-jose/go-jose/v4 v4.0.5 // indirect @@ -126,13 +127,16 @@ require ( github.com/leodido/go-urn v1.4.0 // indirect github.com/mailru/easyjson v0.9.0 // indirect github.com/mandykoh/go-parallel v0.1.0 // indirect + github.com/mattn/go-colorable v0.1.14 // indirect github.com/mattn/go-isatty v0.0.20 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/muhlemmer/gu v0.3.1 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect + github.com/olekukonko/errors v1.1.0 // indirect + github.com/olekukonko/ll v0.0.9 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_model v0.6.1 // indirect + github.com/prometheus/client_model v0.6.2 // indirect github.com/prometheus/procfs v0.16.0 // indirect github.com/rivo/uniseg v0.4.7 // indirect github.com/rogpeppe/go-internal v1.14.1 // indirect @@ -140,7 +144,7 @@ require ( github.com/swaggo/swag v1.16.4 // indirect github.com/tidwall/match v1.1.1 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect - github.com/ugorji/go/codec v1.2.12 // indirect + github.com/ugorji/go/codec v1.2.14 // indirect github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1 // indirect github.com/zitadel/logging v0.6.2 // indirect github.com/zitadel/schema v1.3.1 // indirect @@ -148,20 +152,20 @@ require ( go.opentelemetry.io/otel v1.35.0 // indirect go.opentelemetry.io/otel/metric v1.35.0 // indirect go.opentelemetry.io/otel/trace v1.35.0 // indirect - golang.org/x/oauth2 v0.29.0 // indirect - golang.org/x/tools v0.31.0 // indirect + golang.org/x/oauth2 v0.30.0 // indirect + golang.org/x/tools v0.34.0 // indirect google.golang.org/protobuf v1.36.6 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) require ( github.com/abema/go-mp4 v1.4.1 - github.com/bytedance/sonic v1.13.2 // indirect + github.com/bytedance/sonic v1.13.3 // indirect github.com/go-errors/errors v1.5.1 // indirect github.com/go-playground/validator/v10 v10.26.0 // indirect github.com/pelletier/go-toml/v2 v2.2.4 // indirect github.com/sunfish-shogi/bufseekio v0.1.0 - golang.org/x/arch v0.16.0 // indirect + golang.org/x/arch v0.18.0 // indirect ) require ( diff --git a/go.sum b/go.sum index cba1da377..43a89ad44 100644 --- a/go.sum +++ b/go.sum @@ -33,13 +33,13 @@ github.com/alexbrainman/sspi v0.0.0-20231016080023-1a75b4708caa/go.mod h1:cEWa1L github.com/andybalholm/cascadia v1.1.0/go.mod h1:GsXiBklL0woXo1j/WYWtSYYC4ouU9PqHO0sqidkEA4Y= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/bmatcuk/doublestar/v4 v4.8.1 h1:54Bopc5c2cAvhLRAzqOGCYHYyhcDHsFF4wWIR5wKP38= -github.com/bmatcuk/doublestar/v4 v4.8.1/go.mod h1:xBQ8jztBU6kakFMg+8WGxn0c6z1fTSPVIjEY1Wr7jzc= +github.com/bmatcuk/doublestar/v4 v4.9.0 h1:DBvuZxjdKkRP/dr4GVV4w2fnmrk5Hxc90T51LZjv0JA= +github.com/bmatcuk/doublestar/v4 v4.9.0/go.mod h1:xBQ8jztBU6kakFMg+8WGxn0c6z1fTSPVIjEY1Wr7jzc= github.com/boombuler/barcode v1.0.1-0.20190219062509-6c824513bacc/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= github.com/boombuler/barcode v1.0.2 h1:79yrbttoZrLGkL/oOI8hBrUKucwOL0oOjUgEguGMcJ4= github.com/boombuler/barcode v1.0.2/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= -github.com/bytedance/sonic v1.13.2 h1:8/H1FempDZqC4VqjptGo14QQlJx8VdZJegxs6wwfqpQ= -github.com/bytedance/sonic v1.13.2/go.mod h1:o68xyaF9u2gvVBuGHPlUVCy+ZfmNNO5ETf1+KgkJhz4= +github.com/bytedance/sonic v1.13.3 h1:MS8gmaH16Gtirygw7jV91pDCN33NyMrPbN7qiYhEsF0= +github.com/bytedance/sonic v1.13.3/go.mod h1:o68xyaF9u2gvVBuGHPlUVCy+ZfmNNO5ETf1+KgkJhz4= github.com/bytedance/sonic/loader v0.1.1/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU= github.com/bytedance/sonic/loader v0.2.4 h1:ZWCw4stuXUsn1/+zQDqeE7JKP+QO47tz7QCNan80NzY= github.com/bytedance/sonic/loader v0.2.4/go.mod h1:N8A3vUdtUebEY2/VQC0MyhYeKUFosQU6FxH2JmUe6VI= @@ -59,8 +59,8 @@ github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDk github.com/cloudwego/base64x v0.1.5 h1:XPciSp1xaq2VCSt6lF0phncD4koWyULpl5bUxbfCyP4= github.com/cloudwego/base64x v0.1.5/go.mod h1:0zlkT4Wn5C6NdauXdJRhSKRlJvmclQ1hhJgA0rcu/8w= github.com/cloudwego/iasm v0.2.0/go.mod h1:8rXZaNYT2n95jn+zTI1sDr+IgcD2GVs0nlbbQPiEFhY= -github.com/cpuguy83/go-md2man/v2 v2.0.6 h1:XJtiaUW6dEEqVuZiMTn1ldk455QWwEIsMIJlo5vtkx0= -github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= +github.com/cpuguy83/go-md2man/v2 v2.0.7 h1:zbFlGlXEAKlwXpmvle3d8Oe3YnkKIK4xSRTd3sHPnBo= +github.com/cpuguy83/go-md2man/v2 v2.0.7/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= @@ -120,6 +120,8 @@ github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5 h1:Yzb9+7DP github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5/go.mod h1:a2zkGnVExMxdzMo3M0Hi/3sEU+cWnZpSni0O6/Yb/P0= github.com/esimov/pigo v1.4.6 h1:wpB9FstbqeGP/CZP+nTR52tUJe7XErq8buG+k4xCXlw= github.com/esimov/pigo v1.4.6/go.mod h1:uqj9Y3+3IRYhFK071rxz1QYq0ePhA6+R9jrUZavi46M= +github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM= +github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU= github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= github.com/gabriel-vasile/mimetype v1.4.9 h1:5k+WDwEsD9eTLL8Tz3L0VnmVh9QxGjRmjBvAG7U/oYY= github.com/gabriel-vasile/mimetype v1.4.9/go.mod h1:WnSQhFKJuBlRyLiKohA/2DtIlPFAbguNaG7QCHcyGok= @@ -127,14 +129,14 @@ github.com/gin-contrib/gzip v1.2.3 h1:dAhT722RuEG330ce2agAs75z7yB+NKvX/ZM1r8w0u2 github.com/gin-contrib/gzip v1.2.3/go.mod h1:ad72i4Bzmaypk8M762gNXa2wkxxjbz0icRNnuLJ9a/c= github.com/gin-contrib/sse v1.1.0 h1:n0w2GMuUpWDVp7qSpvze6fAu9iRxJY4Hmj6AmBOU05w= github.com/gin-contrib/sse v1.1.0/go.mod h1:hxRZ5gVpWMT7Z0B0gSNYqqsSCNIJMjzvm6fqCz9vjwM= -github.com/gin-gonic/gin v1.10.0 h1:nTuyha1TYqgedzytsKYqna+DfLos46nTv2ygFy86HFU= -github.com/gin-gonic/gin v1.10.0/go.mod h1:4PMNQiOhvDRa013RKVbsiNwoyezlm2rm0uX/T7kzp5Y= +github.com/gin-gonic/gin v1.10.1 h1:T0ujvqyCSqRopADpgPgiTT63DUQVSfojyME59Ei63pQ= +github.com/gin-gonic/gin v1.10.1/go.mod h1:4PMNQiOhvDRa013RKVbsiNwoyezlm2rm0uX/T7kzp5Y= github.com/go-asn1-ber/asn1-ber v1.5.8-0.20250403174932-29230038a667 h1:BP4M0CvQ4S3TGls2FvczZtj5Re/2ZzkV9VwqPHH/3Bo= github.com/go-asn1-ber/asn1-ber v1.5.8-0.20250403174932-29230038a667/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0= -github.com/go-chi/chi/v5 v5.2.1 h1:KOIHODQj58PmL80G2Eak4WdvUzjSJSm0vG72crDCqb8= -github.com/go-chi/chi/v5 v5.2.1/go.mod h1:L2yAIGWB3H+phAw1NxKwWM+7eUH/lU8pOMm5hHcoops= -github.com/go-co-op/gocron/v2 v2.16.1 h1:ux/5zxVRveCaCuTtNI3DiOk581KC1KpJbpJFYUEVYwo= -github.com/go-co-op/gocron/v2 v2.16.1/go.mod h1:opexeOFy5BplhsKdA7bzY9zeYih8I8/WNJ4arTIFPVc= +github.com/go-chi/chi/v5 v5.2.2 h1:CMwsvRVTbXVytCk1Wd72Zy1LAsAh9GxMmSNWLHCG618= +github.com/go-chi/chi/v5 v5.2.2/go.mod h1:L2yAIGWB3H+phAw1NxKwWM+7eUH/lU8pOMm5hHcoops= +github.com/go-co-op/gocron/v2 v2.16.2 h1:r08P663ikXiulLT9XaabkLypL/W9MoCIbqgQoAutyX4= +github.com/go-co-op/gocron/v2 v2.16.2/go.mod h1:4YTLGCCAH75A5RlQ6q+h+VacO7CgjkgP0EJ+BEOXRSI= github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q= github.com/go-errors/errors v1.0.2/go.mod h1:psDX2osz5VnTOnFWbDeWwS7yejl+uV3FEWEp4lssFEs= github.com/go-errors/errors v1.1.1/go.mod h1:psDX2osz5VnTOnFWbDeWwS7yejl+uV3FEWEp4lssFEs= @@ -182,8 +184,8 @@ github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGw github.com/golang/geo v0.0.0-20190916061304-5b978397cfec/go.mod h1:QZ0nwyI2jOfgRAoBvP+ab5aRr7c9x7lhGEJrKvBwjWI= github.com/golang/geo v0.0.0-20200319012246-673a6f80352d/go.mod h1:QZ0nwyI2jOfgRAoBvP+ab5aRr7c9x7lhGEJrKvBwjWI= github.com/golang/geo v0.0.0-20210211234256-740aa86cb551/go.mod h1:QZ0nwyI2jOfgRAoBvP+ab5aRr7c9x7lhGEJrKvBwjWI= -github.com/golang/geo v0.0.0-20250509130527-0a13e5a5d53d h1:744gh8J7sbiKoLDyb4KMKj7DCiA2+vDVjb/nKGiv6yE= -github.com/golang/geo v0.0.0-20250509130527-0a13e5a5d53d/go.mod h1:Vaw7L5b+xa3Rj4/pRtrQkymn3lSBRB/NAEdbF9YEVLA= +github.com/golang/geo v0.0.0-20250707181242-c5087ca84cf4 h1:vCeHcs8N7MOccOOsOVIy1xcYu+kBkA4J5urTgigww7c= +github.com/golang/geo v0.0.0-20250707181242-c5087ca84cf4/go.mod h1:AN0OjM34c3PbjAsX+QNma1nYtJtRxl+s9MZNV7S+efw= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -209,8 +211,8 @@ github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/ github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= -github.com/google/open-location-code/go v0.0.0-20250415120251-fa6d7f9d4765 h1:/Xn4RiCibwInR8cebnpm/muVubIUBbQcMIovW3omkQE= -github.com/google/open-location-code/go v0.0.0-20250415120251-fa6d7f9d4765/go.mod h1:eJfRN6aj+kR/rnua/rw9jAgYhqoMHldQkdTi+sePRKk= +github.com/google/open-location-code/go v0.0.0-20250620134813-83986da0156b h1:MQ/kiBq8Vl8huvJFEBZGDURueIzCLwqB9g5EfrRQYes= +github.com/google/open-location-code/go v0.0.0-20250620134813-83986da0156b/go.mod h1:eJfRN6aj+kR/rnua/rw9jAgYhqoMHldQkdTi+sePRKk= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= @@ -271,8 +273,8 @@ github.com/karrick/godirwalk v1.17.0 h1:b4kY7nqDdioR/6qnbHQyDvmA17u5G1cZ6J+CZXwS github.com/karrick/godirwalk v1.17.0/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.2.10 h1:tBs3QSyvjDyFTq3uoc/9xFpCuOsJQFNPiAhYdw2skhE= -github.com/klauspost/cpuid/v2 v2.2.10/go.mod h1:hqwkgyIinND0mEev00jJYCxPNVRVXFQeu1XKlok6oO0= +github.com/klauspost/cpuid/v2 v2.3.0 h1:S4CRMLnYUhGeDFDqkGriYKdfoFlDnMtqTiI/sFzhA9Y= +github.com/klauspost/cpuid/v2 v2.3.0/go.mod h1:hqwkgyIinND0mEev00jJYCxPNVRVXFQeu1XKlok6oO0= github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= @@ -286,8 +288,8 @@ github.com/leandro-lugaresi/hub v1.1.1 h1:zqp0HzFvj4HtqjMBXM2QF17o6PNmR8MJOChgeK github.com/leandro-lugaresi/hub v1.1.1/go.mod h1:XEFWanhHv6Rt3XlteHMxuNDYi8dJcpJjodpqkU+BtIo= github.com/leodido/go-urn v1.4.0 h1:WT9HwE9SGECu3lg4d/dIA+jxlljEa1/ffXKmRjqdmIQ= github.com/leodido/go-urn v1.4.0/go.mod h1:bvxc+MVxLKB4z00jd1z+Dvzr47oO32F/QSNjSBOlFxI= -github.com/leonelquinteros/gotext v1.7.1 h1:/JNPeE3lY5JeVYv2+KBpz39994W3W9fmZCGq3eO9Ri8= -github.com/leonelquinteros/gotext v1.7.1/go.mod h1:I0WoFDn9u2D3VbPnnDPT8mzZu0iSXG8iih+AH2fHHqg= +github.com/leonelquinteros/gotext v1.7.2 h1:bDPndU8nt+/kRo1m4l/1OXiiy2v7Z7dfPQ9+YP7G1Mc= +github.com/leonelquinteros/gotext v1.7.2/go.mod h1:9/haCkm5P7Jay1sxKDGJ5WIg4zkz8oZKw4ekNpALob8= github.com/lib/pq v1.1.1/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw= github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= @@ -301,9 +303,10 @@ github.com/mandykoh/prism v0.35.3 h1:H9althbP8zJFC+0kuv1EMmSB3/QsAUYwnttKXNmROsI github.com/mandykoh/prism v0.35.3/go.mod h1:XppnIliS0AUO5YVJvDbU72xot6qY3CmD6IX92ZNnJmg= github.com/manifoldco/promptui v0.9.0 h1:3V4HzJk1TtXW1MTZMP7mdlwbBpIinw3HztaIlYthEiA= github.com/manifoldco/promptui v0.9.0/go.mod h1:ka04sppxSGFAtxX0qhlYQjISsg9mR4GWtQEhdbn6Pgg= +github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE= +github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8= github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= -github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/mattn/go-runewidth v0.0.16 h1:E5ScNMtiwvlvB5paMFdw9p4kSQzbXFikJ5SQO6TULQc= github.com/mattn/go-runewidth v0.0.16/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/mattn/go-sqlite3 v1.14.0/go.mod h1:JIl7NbARA7phWnGvh0LKTyg7S9BA+6gx71ShQilpsus= @@ -323,8 +326,12 @@ github.com/muhlemmer/httpforwarded v0.1.0/go.mod h1:yo9czKedo2pdZhoXe+yDkGVbU0TJ github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= -github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= +github.com/olekukonko/errors v1.1.0 h1:RNuGIh15QdDenh+hNvKrJkmxxjV4hcS50Db478Ou5sM= +github.com/olekukonko/errors v1.1.0/go.mod h1:ppzxA5jBKcO1vIpCXQ9ZqgDh8iwODz6OXIGKU8r5m4Y= +github.com/olekukonko/ll v0.0.9 h1:Y+1YqDfVkqMWuEQMclsF9HUR5+a82+dxJuL1HHSRpxI= +github.com/olekukonko/ll v0.0.9/go.mod h1:En+sEW0JNETl26+K8eZ6/W4UQ7CYSrrgg/EdIYT2H8g= +github.com/olekukonko/tablewriter v1.0.8 h1:f6wJzHg4QUtJdvrVPKco4QTrAylgaU0+b9br/lJxEiQ= +github.com/olekukonko/tablewriter v1.0.8/go.mod h1:H428M+HzoUXC6JU2Abj9IT9ooRmdq9CxuDmKMtrOCMs= github.com/orcaman/writerseeker v0.0.0-20200621085525-1d3f536ff85e h1:s2RNOM/IGdY0Y6qfTeUKhDawdHDpK9RGBdx80qN4Ttw= github.com/orcaman/writerseeker v0.0.0-20200621085525-1d3f536ff85e/go.mod h1:nBdnFKj15wFbf94Rwfq4m30eAcyY9V/IyKAGQFtqkW0= github.com/patrickmn/go-cache v2.1.0+incompatible h1:HRMgzkcYKYpi3C8ajMPV8OFXaaRUnok+kx1WdO15EQc= @@ -337,15 +344,15 @@ github.com/pelletier/go-toml/v2 v2.2.4 h1:mye9XuhQ6gvn5h28+VilKrrPoQVanw5PMw/TB0 github.com/pelletier/go-toml/v2 v2.2.4/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/pquerna/otp v1.4.0 h1:wZvl1TIVxKRThZIBiwOOHOGP/1+nZyWBil9Y2XNEDzg= -github.com/pquerna/otp v1.4.0/go.mod h1:dkJfzwRKNiegxyNb54X/3fLwhCynbMspSyWKnvi1AEg= +github.com/pquerna/otp v1.5.0 h1:NMMR+WrmaqXU4EzdGJEE1aUUI0AMRzsp96fFFWNPwxs= +github.com/pquerna/otp v1.5.0/go.mod h1:dkJfzwRKNiegxyNb54X/3fLwhCynbMspSyWKnvi1AEg= github.com/prometheus/client_golang v1.22.0 h1:rb93p9lokFEsctTys46VnV1kLCDpVZ0a/Y92Vm0Zc6Q= github.com/prometheus/client_golang v1.22.0/go.mod h1:R7ljNsLXhuQXYZYtw6GAE9AZg8Y7vEW5scdCXrWRXC0= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.63.0 h1:YR/EIY1o3mEFP/kZCD7iDMnLPlGyuU2Gb3HIcXnA98k= -github.com/prometheus/common v0.63.0/go.mod h1:VVFF/fBIoToEnWRVkYoXEkq3R3paCoxG9PXP74SnV18= +github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNwqPLxwZyk= +github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE= +github.com/prometheus/common v0.65.0 h1:QDwzd+G1twt//Kwj/Ww6E9FQq1iVMmODnILtW1t2VzE= +github.com/prometheus/common v0.65.0/go.mod h1:0gZns+BLRQ3V6NdaerOhMbwwRbNh9hkGINtQAsP5GS8= github.com/prometheus/procfs v0.16.0 h1:xh6oHhKwnOJKMYiYBDWmkHqQPyiY40sny36Cmx2bbsM= github.com/prometheus/procfs v0.16.0/go.mod h1:8veyXUu3nGP7oaCxhX6yeaM5u4stL2FeMXnCqhDthZg= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= @@ -399,12 +406,12 @@ github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08= github.com/ugjka/go-tz/v2 v2.2.6 h1:xAjw0dwSoLZYVBv1lA+n165ibSnDtHguBQNbeAMDwNE= github.com/ugjka/go-tz/v2 v2.2.6/go.mod h1:Jh35OKbERtwjZLWDZ2KgjD+bm5hb9Lx8nVD9Mv9NVzs= -github.com/ugorji/go/codec v1.2.12 h1:9LC83zGrHhuUA9l16C9AHXAqEV/2wBQ4nkvumAE65EE= -github.com/ugorji/go/codec v1.2.12/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= +github.com/ugorji/go/codec v1.2.14 h1:yOQvXCBc3Ij46LRkRoh4Yd5qK6LVOgi0bYOXfb7ifjw= +github.com/ugorji/go/codec v1.2.14/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= github.com/ulule/deepcopier v0.0.0-20200430083143-45decc6639b6 h1:TtyC78WMafNW8QFfv3TeP3yWNDG+uxNkk9vOrnDu6JA= github.com/ulule/deepcopier v0.0.0-20200430083143-45decc6639b6/go.mod h1:h8272+G2omSmi30fBXiZDMkmHuOgonplfKIKjQWzlfs= -github.com/urfave/cli/v2 v2.27.6 h1:VdRdS98FNhKZ8/Az8B7MTyGQmpIr36O1EHybx/LaZ4g= -github.com/urfave/cli/v2 v2.27.6/go.mod h1:3Sevf16NykTbInEnD0yKkjDAeZDS0A6bzhBH5hrMvTQ= +github.com/urfave/cli/v2 v2.27.7 h1:bH59vdhbjLv3LAvIu6gd0usJHgoTTPhCFib8qqOwXYU= +github.com/urfave/cli/v2 v2.27.7/go.mod h1:CyNAG/xg+iAOg0N4MPGZqVmv2rCoP267496AOXUZjA4= github.com/wamuir/graft v0.10.0 h1:HSpBUvm7O+jwsRIuDQlw80xW4xMXRFkOiVLtWaZCU2s= github.com/wamuir/graft v0.10.0/go.mod h1:k6NJX3fCM/xzh5NtHky9USdgHTcz2vAvHp4c23I6UK4= github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1 h1:gEOO8jv9F4OT7lGCjxCBTO/36wtF6j2nSip77qHd4x4= @@ -412,8 +419,8 @@ github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1/go.mod h1:Ohn+xnUBi github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/zitadel/logging v0.6.2 h1:MW2kDDR0ieQynPZ0KIZPrh9ote2WkxfBif5QoARDQcU= github.com/zitadel/logging v0.6.2/go.mod h1:z6VWLWUkJpnNVDSLzrPSQSQyttysKZ6bCRongw0ROK4= -github.com/zitadel/oidc/v3 v3.38.1 h1:VTf1Bv/33UbSwJnIWbfEIdpUGYKfoHetuBNIqVTcjvA= -github.com/zitadel/oidc/v3 v3.38.1/go.mod h1:muukzAasaWmn3vBwEVMglJfuTE0PKCvLJGombPwXIRw= +github.com/zitadel/oidc/v3 v3.41.0 h1:mzxk23KNLKoQ4pm8lTpfVywX043IPtsHsY7D+DEFBDc= +github.com/zitadel/oidc/v3 v3.41.0/go.mod h1:vKJZJJou2Je8/6d3M+gEFVYC9NKExRuHedjwWWElVKo= github.com/zitadel/schema v1.3.1 h1:QT3kwiRIRXXLVAs6gCK/u044WmUVh6IlbLXUsn6yRQU= github.com/zitadel/schema v1.3.1/go.mod h1:071u7D2LQacy1HAN+YnMd/mx1qVE2isb0Mjeqg46xnU= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= @@ -433,8 +440,8 @@ go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go4.org v0.0.0-20200411211856-f5505b9728dd/go.mod h1:CIiUVy99QCPfoE13bO4EZaz5GZMZXMSBGhxRdsvzbkg= go4.org v0.0.0-20230225012048-214862532bf5 h1:nifaUDeh+rPaBCMPMQHZmvJf+QdpLFnuQPwx+LxVmtc= go4.org v0.0.0-20230225012048-214862532bf5/go.mod h1:F57wTi5Lrj6WLyswp5EYV1ncrEbFGHD4hhz6S1ZYeaU= -golang.org/x/arch v0.16.0 h1:foMtLTdyOmIniqWCHjY6+JxuC54XP1fDwx4N0ASyW+U= -golang.org/x/arch v0.16.0/go.mod h1:JmwW7aLIoRUKgaTzhkiEFxvcEiQGyOg9BMonBJUS7EE= +golang.org/x/arch v0.18.0 h1:WN9poc33zL4AzGxqf8VtpKUnGvMi8O9lhNyBMF/85qc= +golang.org/x/arch v0.18.0/go.mod h1:bdwinDaKcfZUGpH09BB7ZmOfhalA8lQdzl62l8gGWsk= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= @@ -446,8 +453,8 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= -golang.org/x/crypto v0.38.0 h1:jt+WWG8IZlBnVbomuhg2Mdq0+BBQaHbtqHEFEigjUV8= -golang.org/x/crypto v0.38.0/go.mod h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw= +golang.org/x/crypto v0.40.0 h1:r4x+VvoG5Fm+eJcxMaY8CQM7Lb0l1lsmjGBQ6s8BfKM= +golang.org/x/crypto v0.40.0/go.mod h1:Qr1vMER5WyS2dfPHAlsOj01wgLbsyWtFn/aY+5+ZdxY= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -462,8 +469,8 @@ golang.org/x/image v0.0.0-20191009234506-e7c1f5e7dbb8/go.mod h1:FeLwcggjj3mMvU+o golang.org/x/image v0.0.0-20200927104501-e162460cd6b5/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/image v0.0.0-20220902085622-e7cb96979f69/go.mod h1:doUCurBvlfPMKfmIpRIywoHmhN3VyhnoFDbvIEWF4hY= golang.org/x/image v0.18.0/go.mod h1:4yyo5vMFQjVjUcVk4jEQcU9MGy/rulF5WvUILseCM2E= -golang.org/x/image v0.27.0 h1:C8gA4oWU/tKkdCfYT6T2u4faJu3MeNS5O8UPWlPF61w= -golang.org/x/image v0.27.0/go.mod h1:xbdrClrAUway1MUTEZDq9mz/UpRwYAkFFNUslZtcB+g= +golang.org/x/image v0.29.0 h1:HcdsyR4Gsuys/Axh0rDEmlBmB68rW1U9BUdB3UVHsas= +golang.org/x/image v0.29.0/go.mod h1:RVJROnf3SLK8d26OW91j4FrIHGbsJ8QnbEocVTOWQDA= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -484,8 +491,8 @@ golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= -golang.org/x/mod v0.24.0 h1:ZfthKaKaT4NrhGVZHO1/WDTwGES4De8KtWO0SIbNJMU= -golang.org/x/mod v0.24.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= +golang.org/x/mod v0.26.0 h1:EGMPT//Ezu+ylkCijjPc+f4Aih7sZvaAr+O3EHBxvZg= +golang.org/x/mod v0.26.0/go.mod h1:/j6NAhSk8iQ723BGAUyoAcn7SlD7s15Dp9Nd/SfeaFQ= golang.org/x/net v0.0.0-20180218175443-cbe0f9307d01/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -516,15 +523,15 @@ golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= -golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY= -golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds= +golang.org/x/net v0.42.0 h1:jzkYrhi3YQWD6MLBJcsklgQsoAcw89EcZbJw8Z614hs= +golang.org/x/net v0.42.0/go.mod h1:FF1RA5d3u7nAYA4z2TkclSCKh68eSXtiFwcWQpPXdt8= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.29.0 h1:WdYw2tdTK1S8olAzWHdgeqfy+Mtm9XNhv/xJsY65d98= -golang.org/x/oauth2 v0.29.0/go.mod h1:onh5ek6nERTohokkhCD/y2cV4Do3fxFHFuAejCkRWT8= +golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= +golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -536,8 +543,8 @@ golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ= -golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw= +golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -571,8 +578,8 @@ golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw= -golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.34.0 h1:H5Y5sJ2L2JRdyv7ROF1he/lPdvFsd0mJHFw2ThKHxLA= +golang.org/x/sys v0.34.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= golang.org/x/term v0.0.0-20191110171634-ad39bd3f0407/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -594,12 +601,12 @@ golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= -golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4= -golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA= +golang.org/x/text v0.27.0 h1:4fGWRpyh641NLlecmyl4LOe6yDdfaYNrGb2zdfo4JV4= +golang.org/x/text v0.27.0/go.mod h1:1D28KMCvyooCX9hBiosv5Tz/+YLxj0j7XhWjpSUF7CU= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.11.0 h1:/bpjEDfN9tkoN/ryeYHnv5hcMlc8ncjMcM4XBk5NWV0= -golang.org/x/time v0.11.0/go.mod h1:CDIdPxbZBQxdj6cxyCIdrNogrJKMJ7pr37NYpMcMDSg= +golang.org/x/time v0.12.0 h1:ScB/8o8olJvc+CQPWrK3fPZNfh7qgwCrY0zJmoEQLSE= +golang.org/x/time v0.12.0/go.mod h1:CDIdPxbZBQxdj6cxyCIdrNogrJKMJ7pr37NYpMcMDSg= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= @@ -628,8 +635,8 @@ golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= -golang.org/x/tools v0.31.0 h1:0EedkvKDbh+qistFTd0Bcwe/YLh4vHwWEkiI0toFIBU= -golang.org/x/tools v0.31.0/go.mod h1:naFTU+Cev749tSJRXJlna0T3WxKvb1kWEx15xA4SdmQ= +golang.org/x/tools v0.34.0 h1:qIpSLOxeCYGg9TrcJokLBG4KFA6d795g0xkBkiESGlo= +golang.org/x/tools v0.34.0/go.mod h1:pAP9OwEaY1CAW3HOmg3hLZC5Z0CCmzjAF2UQMSqNARg= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/internal/ai/classify/rules.go b/internal/ai/classify/rules.go index b7c984784..196b0a4b4 100644 --- a/internal/ai/classify/rules.go +++ b/internal/ai/classify/rules.go @@ -1843,7 +1843,7 @@ var Rules = LabelRules{ Label: "snow", Threshold: 0.900000, Priority: 0, - Categories: []string{"animal", "dog"}, + Categories: []string{"vehicle"}, }, "dome": { Label: "dome", diff --git a/internal/ai/classify/rules.yml b/internal/ai/classify/rules.yml index 360d9b470..f85a7af22 100644 --- a/internal/ai/classify/rules.yml +++ b/internal/ai/classify/rules.yml @@ -2606,8 +2606,7 @@ dogsled: label: snow threshold: 0.9 categories: - - animal - - dog + - vehicle dome: label: dome diff --git a/internal/ai/vision/api_response.go b/internal/ai/vision/api_response.go index 85f2d8349..7c8bccce9 100644 --- a/internal/ai/vision/api_response.go +++ b/internal/ai/vision/api_response.go @@ -129,3 +129,13 @@ func NewLabelsResponse(id string, model *Model, results classify.Labels) ApiResp Result: ApiResult{Labels: labels}, } } + +// NewCaptionResponse generates a new Vision API image caption service response. +func NewCaptionResponse(id string, model *Model, result *CaptionResult) ApiResponse { + return ApiResponse{ + Id: clean.Type(id), + Code: http.StatusOK, + Model: &Model{Type: ModelTypeLabels, Name: model.Name, Version: model.Version, Resolution: model.Resolution}, + Result: ApiResult{Caption: result}, + } +} diff --git a/internal/ai/vision/caption.go b/internal/ai/vision/caption.go index 4190a478b..3a79e92a0 100644 --- a/internal/ai/vision/caption.go +++ b/internal/ai/vision/caption.go @@ -7,19 +7,30 @@ import ( "github.com/photoprism/photoprism/pkg/media" ) +// CaptionPromptDefault is the default prompt used to generate captions. +var CaptionPromptDefault = `Create an interesting caption that sounds natural and briefly describes the visual content in up to 3 sentences.` + + ` Avoid text formatting, meta-language, and filler words.` + + ` Do not start captions with phrases such as "This image", "The image", "This picture", "The picture", "A picture of", "Here are", or "There is".` + + ` Instead, start describing the content by identifying the subjects, location, and any actions that might be performed.` + + ` Use explicit language to describe the scene if necessary for a proper understanding.` + +// CaptionModelDefault specifies the default model used to generate captions, +// see https://qwenlm.github.io/blog/qwen2.5-vl/ to learn more. +var CaptionModelDefault = "qwen2.5vl" + // Caption returns generated captions for the specified images. -func Caption(imgName string, src media.Src) (result CaptionResult, err error) { +func Caption(images Files, src media.Src) (result *CaptionResult, model *Model, err error) { // Return if there is no configuration or no image classification models are configured. if Config == nil { - return result, errors.New("vision service is not configured") - } else if model := Config.Model(ModelTypeCaption); model != nil { + return result, model, errors.New("vision service is not configured") + } else if model = Config.Model(ModelTypeCaption); model != nil { // Use remote service API if a server endpoint has been configured. if uri, method := model.Endpoint(); uri != "" && method != "" { var apiRequest *ApiRequest var apiResponse *ApiResponse - if apiRequest, err = NewApiRequest(model.EndpointRequestFormat(), Files{imgName}, model.EndpointFileScheme()); err != nil { - return result, err + if apiRequest, err = NewApiRequest(model.EndpointRequestFormat(), images, model.EndpointFileScheme()); err != nil { + return result, model, err } if model.Name != "" { @@ -28,19 +39,23 @@ func Caption(imgName string, src media.Src) (result CaptionResult, err error) { if model.Version != "" { apiRequest.Version = model.Version + } else { + apiRequest.Version = "latest" } if model.Prompt != "" { apiRequest.Prompt = model.Prompt + } else { + apiRequest.Prompt = CaptionPromptDefault } // Log JSON request data in trace mode. apiRequest.WriteLog() if apiResponse, err = PerformApiRequest(apiRequest, uri, method, model.EndpointKey()); err != nil { - return result, err + return result, model, err } else if apiResponse.Result.Caption == nil { - return result, errors.New("invalid caption model response") + return result, model, errors.New("invalid caption model response") } // Set image as the default caption source. @@ -48,13 +63,13 @@ func Caption(imgName string, src media.Src) (result CaptionResult, err error) { apiResponse.Result.Caption.Source = entity.SrcImage } - result = *apiResponse.Result.Caption + result = apiResponse.Result.Caption } else { - return result, errors.New("invalid caption model configuration") + return result, model, errors.New("invalid caption model configuration") } } else { - return result, errors.New("missing caption model") + return result, model, errors.New("missing caption model") } - return result, nil + return result, model, nil } diff --git a/internal/ai/vision/caption_test.go b/internal/ai/vision/caption_test.go index fba4f0c2f..09c022b45 100644 --- a/internal/ai/vision/caption_test.go +++ b/internal/ai/vision/caption_test.go @@ -20,9 +20,10 @@ func TestCaption(t *testing.T) { t.Run("Success", func(t *testing.T) { expectedText := "An image of sound waves" - result, err := Caption("https://dl.photoprism.app/img/artwork/colorwaves-400.jpg", media.SrcRemote) + result, model, err := Caption(Files{"https://dl.photoprism.app/img/artwork/colorwaves-400.jpg"}, media.SrcRemote) assert.NoError(t, err) + assert.NotNil(t, model) assert.IsType(t, CaptionResult{}, result) assert.LessOrEqual(t, float32(0.0), result.Confidence) @@ -31,9 +32,10 @@ func TestCaption(t *testing.T) { assert.Equal(t, expectedText, result.Text) }) t.Run("Invalid", func(t *testing.T) { - result, err := Caption("", media.SrcLocal) + result, model, err := Caption(nil, media.SrcLocal) assert.Error(t, err) + assert.Nil(t, model) assert.IsType(t, CaptionResult{}, result) assert.Equal(t, "", result.Text) assert.Equal(t, float32(0.0), result.Confidence) diff --git a/internal/ai/vision/model.go b/internal/ai/vision/model.go index c7a2cd69e..0eab92777 100644 --- a/internal/ai/vision/model.go +++ b/internal/ai/vision/model.go @@ -15,6 +15,13 @@ import ( var modelMutex = sync.Mutex{} +// Default model version strings. +var ( + ModelVersionNone = "" + ModelVersionLatest = "latest" + ModelVersionMobile = "Mobile" +) + // Model represents a computer vision model configuration. type Model struct { Type ModelType `yaml:"Type,omitempty" json:"type,omitempty"` diff --git a/internal/ai/vision/models.go b/internal/ai/vision/models.go index 3026620d7..00f94e8e5 100644 --- a/internal/ai/vision/models.go +++ b/internal/ai/vision/models.go @@ -10,7 +10,7 @@ var ( NasnetModel = &Model{ Type: ModelTypeLabels, Name: "NASNet", - Version: "Mobile", + Version: ModelVersionMobile, Resolution: 224, Meta: &tensorflow.ModelInfo{ TFVersion: "1.12.0", @@ -38,7 +38,7 @@ var ( NsfwModel = &Model{ Type: ModelTypeNsfw, Name: "Nsfw", - Version: "", + Version: ModelVersionNone, Resolution: 224, Meta: &tensorflow.ModelInfo{ TFVersion: "1.12.0", @@ -60,7 +60,7 @@ var ( FacenetModel = &Model{ Type: ModelTypeFace, Name: "FaceNet", - Version: "", + Version: ModelVersionNone, Resolution: 160, Meta: &tensorflow.ModelInfo{ TFVersion: "1.7.1", @@ -81,11 +81,14 @@ var ( } CaptionModel = &Model{ Type: ModelTypeCaption, - Resolution: 224, + Name: CaptionModelDefault, + Version: ModelVersionLatest, + Resolution: 720, // Original aspect ratio, with a max size of 720 x 720 pixels. + Prompt: CaptionPromptDefault, Service: Service{ - Uri: "http://photoprism-vision:5000/api/v1/vision/caption", - FileScheme: scheme.Https, - RequestFormat: ApiFormatUrl, + // Uri: "http://photoprism-vision:5000/api/v1/vision/caption", + FileScheme: scheme.Data, + RequestFormat: ApiFormatVision, ResponseFormat: ApiFormatVision, }, } diff --git a/internal/ai/vision/options.go b/internal/ai/vision/options.go index c4a026017..ae8f9ca55 100644 --- a/internal/ai/vision/options.go +++ b/internal/ai/vision/options.go @@ -16,7 +16,7 @@ var Config = NewOptions() // Options represents a computer vision configuration for the supported Model types. type Options struct { Models Models `yaml:"Models,omitempty" json:"models,omitempty"` - Thresholds Thresholds `yaml:"Thresholds" json:"thresholds"` + Thresholds Thresholds `yaml:"Thresholds,omitempty" json:"thresholds"` } // NewOptions returns a new computer vision config with defaults. diff --git a/internal/ai/vision/resolution_test.go b/internal/ai/vision/resolution_test.go index 7cd50b2bc..5144580c2 100644 --- a/internal/ai/vision/resolution_test.go +++ b/internal/ai/vision/resolution_test.go @@ -38,6 +38,6 @@ func TestThumb(t *testing.T) { }) t.Run("Caption", func(t *testing.T) { size := Thumb(ModelTypeCaption) - assert.Equal(t, thumb.SizeTile224, size) + assert.Equal(t, thumb.SizeFit720, size) }) } diff --git a/internal/ai/vision/testdata/vision.yml b/internal/ai/vision/testdata/vision.yml index 078757e0a..66101b15e 100644 --- a/internal/ai/vision/testdata/vision.yml +++ b/internal/ai/vision/testdata/vision.yml @@ -43,11 +43,19 @@ Models: Name: embeddings Outputs: 512 - Type: caption - Resolution: 224 + Name: qwen2.5vl + Version: latest + Prompt: Create an interesting caption that sounds natural and briefly describes + the visual content in up to 3 sentences. Avoid text formatting, meta-language, + and filler words. Do not start captions with phrases such as "This image", "The + image", "This picture", "The picture", "A picture of", "Here are", or "There is". + Instead, start describing the content by identifying the subjects, location, and + any actions that might be performed. Use explicit language to describe the scene + if necessary for a proper understanding. + Resolution: 720 Service: - Uri: http://photoprism-vision:5000/api/v1/vision/caption - FileScheme: https - RequestFormat: url + FileScheme: data + RequestFormat: vision ResponseFormat: vision Thresholds: Confidence: 10 diff --git a/internal/api/abort.go b/internal/api/abort.go index 14bd6c8b2..b67fceb9b 100644 --- a/internal/api/abort.go +++ b/internal/api/abort.go @@ -21,7 +21,11 @@ var brokenVideo []byte func Abort(c *gin.Context, code int, id i18n.Message, params ...interface{}) { resp := i18n.NewResponse(code, id, params...) - log.Debugf("api-v1: abort %s with code %d (%s)", clean.Log(c.FullPath()), code, strings.ToLower(resp.String())) + if code >= 400 { + log.Debugf("api: aborting request with error code %d (%s)", code, strings.ToLower(resp.String())) + } else { + log.Debugf("api: aborting request with response code %d (%s)", code, strings.ToLower(resp.String())) + } c.AbortWithStatusJSON(code, resp) } @@ -31,7 +35,12 @@ func Error(c *gin.Context, code int, err error, id i18n.Message, params ...inter if err != nil { resp.Details = err.Error() - log.Errorf("api-v1: error %s with code %d in %s (%s)", clean.Error(err), code, clean.Log(c.FullPath()), strings.ToLower(resp.String())) + + if reqPath := c.FullPath(); reqPath == "" { + log.Errorf("api: error %d %s (%s)", code, clean.Error(err), strings.ToLower(resp.String())) + } else { + log.Errorf("api: error %d %s in %s (%s)", code, clean.Error(err), clean.Log(reqPath), strings.ToLower(resp.String())) + } } c.AbortWithStatusJSON(code, resp) @@ -102,7 +111,19 @@ func AbortUnexpectedError(c *gin.Context) { Abort(c, http.StatusInternalServerError, i18n.ErrUnexpected) } -func AbortBadRequest(c *gin.Context) { +func AbortBadRequest(c *gin.Context, errs ...error) { + // Log and attach validation errors to the context. + for _, err := range errs { + if err != nil { + // Add error message to the debug logs. + log.Debugf("api: %s", err) + + // Attach error to the current context + _ = c.Error(err) + } + } + + // Abort request with error 400. Abort(c, http.StatusBadRequest, i18n.ErrBadRequest) } diff --git a/internal/api/albums.go b/internal/api/albums.go index c179ef44c..e6b337ee7 100644 --- a/internal/api/albums.go +++ b/internal/api/albums.go @@ -102,7 +102,7 @@ func CreateAlbum(router *gin.RouterGroup) { // Assign and validate request form values. if err := c.BindJSON(&frm); err != nil { - AbortBadRequest(c) + AbortBadRequest(c, err) return } @@ -194,8 +194,7 @@ func UpdateAlbum(router *gin.RouterGroup) { // Assign and validate request form values. if err = c.BindJSON(frm); err != nil { - log.Error(err) - AbortBadRequest(c) + AbortBadRequest(c, err) return } @@ -439,7 +438,7 @@ func CloneAlbums(router *gin.RouterGroup) { // Assign and validate request form values. if err = c.BindJSON(&frm); err != nil { - AbortBadRequest(c) + AbortBadRequest(c, err) return } @@ -500,7 +499,7 @@ func AddPhotosToAlbum(router *gin.RouterGroup) { // Assign and validate request form values. if err := c.BindJSON(&frm); err != nil { - AbortBadRequest(c) + AbortBadRequest(c, err) return } @@ -531,8 +530,7 @@ func AddPhotosToAlbum(router *gin.RouterGroup) { photos, err := query.SelectedPhotos(frm) if err != nil { - log.Errorf("album: %s", err) - AbortBadRequest(c) + AbortBadRequest(c, err) return } @@ -611,7 +609,7 @@ func RemovePhotosFromAlbum(router *gin.RouterGroup) { // Assign and validate request form values. if err := c.BindJSON(&frm); err != nil { - AbortBadRequest(c) + AbortBadRequest(c, err) return } diff --git a/internal/api/albums_search.go b/internal/api/albums_search.go index 41df31774..1f4f40741 100644 --- a/internal/api/albums_search.go +++ b/internal/api/albums_search.go @@ -42,7 +42,7 @@ func SearchAlbums(router *gin.RouterGroup) { // Abort if request params are invalid. if err = c.MustBindWith(&frm, binding.Form); err != nil { event.AuditWarn([]string{ClientIP(c), "session %s", "albums", "search", "form invalid", "%s"}, s.RefID, err) - AbortBadRequest(c) + AbortBadRequest(c, err) return } diff --git a/internal/api/api_client_config.go b/internal/api/api_client_config.go index c79e93021..2ec3e6347 100644 --- a/internal/api/api_client_config.go +++ b/internal/api/api_client_config.go @@ -22,10 +22,18 @@ func GetClientConfig(router *gin.RouterGroup) { sess := Session(ClientIP(c), AuthToken(c)) conf := get.Config() - if sess == nil { - c.JSON(http.StatusOK, conf.ClientPublic()) - } else { + // Check authentication. + if sess != nil { + // Return custom client config for authenticated user. c.JSON(http.StatusOK, conf.ClientSession(sess)) + return + } else if conf.DisableFrontend() { + // Abort if not authenticated, and the web frontend is disabled. + AbortUnauthorized(c) + return } + + // Return public client config for loading the web frontend + c.JSON(http.StatusOK, conf.ClientPublic()) }) } diff --git a/internal/api/api_client_config_test.go b/internal/api/api_client_config_test.go new file mode 100644 index 000000000..3a7d7459e --- /dev/null +++ b/internal/api/api_client_config_test.go @@ -0,0 +1,42 @@ +package api + +import ( + "net/http" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/tidwall/gjson" + + "github.com/photoprism/photoprism/internal/config" +) + +func TestGetClientConfig(t *testing.T) { + t.Run("Public", func(t *testing.T) { + app, router, _ := NewApiTest() + GetClientConfig(router) + r := PerformRequest(app, "GET", "/api/v1/config") + val := gjson.Get(r.Body.String(), "mode") + assert.Equal(t, http.StatusOK, r.Code) + assert.Equal(t, "user", val.String()) + }) + t.Run("Unauthorized", func(t *testing.T) { + app, router, conf := NewApiTest() + conf.SetAuthMode(config.AuthModePasswd) + defer conf.SetAuthMode(config.AuthModePublic) + GetClientConfig(router) + r := AuthenticatedRequest(app, "GET", "/api/v1/config", "") + val := gjson.Get(r.Body.String(), "mode") + assert.Equal(t, http.StatusOK, r.Code) + assert.Equal(t, "public", val.String()) + }) + t.Run("FrontendDisabled", func(t *testing.T) { + app, router, conf := NewApiTest() + conf.SetAuthMode(config.AuthModePasswd) + defer conf.SetAuthMode(config.AuthModePublic) + conf.Options().DisableFrontend = true + GetClientConfig(router) + r := PerformRequest(app, "GET", "/api/v1/config") + assert.Equal(t, http.StatusUnauthorized, r.Code) + conf.Options().DisableFrontend = false + }) +} diff --git a/internal/api/api_methods.go b/internal/api/api_methods.go new file mode 100644 index 000000000..fecce2859 --- /dev/null +++ b/internal/api/api_methods.go @@ -0,0 +1,8 @@ +package api + +import ( + "net/http" +) + +// MethodsPutPost defines a string slice that contains the PUT and POST request methods. +var MethodsPutPost = []string{http.MethodPut, http.MethodPost} diff --git a/internal/api/api_request.go b/internal/api/api_request.go index 5708cfac0..5a29cf921 100644 --- a/internal/api/api_request.go +++ b/internal/api/api_request.go @@ -13,5 +13,5 @@ func ClientIP(c *gin.Context) (ip string) { // UserAgent returns the user agent from the request context or an empty string if it is unknown. func UserAgent(c *gin.Context) string { - return header.UserAgent(c) + return header.ClientUserAgent(c) } diff --git a/internal/api/batch_albums.go b/internal/api/batch_albums.go index 1ea0db40b..d9ab74165 100644 --- a/internal/api/batch_albums.go +++ b/internal/api/batch_albums.go @@ -35,7 +35,7 @@ func BatchAlbumsDelete(router *gin.RouterGroup) { var frm form.Selection if err := c.BindJSON(&frm); err != nil { - AbortBadRequest(c) + AbortBadRequest(c, err) return } diff --git a/internal/api/batch_labels.go b/internal/api/batch_labels.go index 19f55b43e..a98ac915c 100644 --- a/internal/api/batch_labels.go +++ b/internal/api/batch_labels.go @@ -35,7 +35,7 @@ func BatchLabelsDelete(router *gin.RouterGroup) { var frm form.Selection if err := c.BindJSON(&frm); err != nil { - AbortBadRequest(c) + AbortBadRequest(c, err) return } diff --git a/internal/api/batch_photos.go b/internal/api/batch_photos.go index 4a60d535e..ad45e899d 100644 --- a/internal/api/batch_photos.go +++ b/internal/api/batch_photos.go @@ -45,7 +45,7 @@ func BatchPhotosArchive(router *gin.RouterGroup) { // Assign and validate request form values. if err := c.BindJSON(&frm); err != nil { - AbortBadRequest(c) + AbortBadRequest(c, err) return } @@ -116,7 +116,7 @@ func BatchPhotosRestore(router *gin.RouterGroup) { var frm form.Selection if err := c.BindJSON(&frm); err != nil { - AbortBadRequest(c) + AbortBadRequest(c, err) return } @@ -186,7 +186,7 @@ func BatchPhotosApprove(router *gin.RouterGroup) { var frm form.Selection if err := c.BindJSON(&frm); err != nil { - AbortBadRequest(c) + AbortBadRequest(c, err) return } @@ -246,7 +246,7 @@ func BatchPhotosPrivate(router *gin.RouterGroup) { var frm form.Selection if err := c.BindJSON(&frm); err != nil { - AbortBadRequest(c) + AbortBadRequest(c, err) return } @@ -313,7 +313,7 @@ func BatchPhotosDelete(router *gin.RouterGroup) { var frm form.Selection if err := c.BindJSON(&frm); err != nil { - AbortBadRequest(c) + AbortBadRequest(c, err) return } diff --git a/internal/api/batch_photos_edit.go b/internal/api/batch_photos_edit.go index e3f826ed2..71c68295a 100644 --- a/internal/api/batch_photos_edit.go +++ b/internal/api/batch_photos_edit.go @@ -21,12 +21,12 @@ import ( // @Tags Photos // @Accept json // @Produce json -// @Success 200 {object} batch.PhotosForm +// @Success 200 {object} batch.PhotosResponse // @Failure 400,401,403,404,429,500 {object} i18n.Response -// @Param photos body batch.PhotosRequest true "photos selection and values" +// @Param Request body batch.PhotosRequest true "photos selection and values" // @Router /api/v1/batch/photos/edit [post] func BatchPhotosEdit(router *gin.RouterGroup) { - router.POST("/batch/photos/edit", func(c *gin.Context) { + router.Match(MethodsPutPost, "/batch/photos/edit", func(c *gin.Context) { s := Auth(c, acl.ResourcePhotos, acl.ActionUpdate) if s.Abort(c) { @@ -44,7 +44,7 @@ func BatchPhotosEdit(router *gin.RouterGroup) { // Assign and validate request form values. if err := c.BindJSON(&frm); err != nil { - AbortBadRequest(c) + AbortBadRequest(c, err) return } @@ -77,9 +77,9 @@ func BatchPhotosEdit(router *gin.RouterGroup) { batchFrm := batch.NewPhotosForm(photos) // Return models and form values. - data := gin.H{ - "models": photos, - "values": batchFrm, + data := batch.PhotosResponse{ + Models: photos, + Values: batchFrm, } c.JSON(http.StatusOK, data) diff --git a/internal/api/batch_photos_edit_test.go b/internal/api/batch_photos_edit_test.go index 6837a7e55..a5bec3d07 100644 --- a/internal/api/batch_photos_edit_test.go +++ b/internal/api/batch_photos_edit_test.go @@ -14,28 +14,51 @@ import ( ) func TestBatchPhotosEdit(t *testing.T) { - t.Run("ReturnValues", func(t *testing.T) { + t.Run("Success", func(t *testing.T) { + // Create new API test instance. app, router, _ := NewApiTest() + // Attach POST /api/v1/batch/photos/edit request handler. BatchPhotosEdit(router) - response := PerformRequestWithBody(app, + // Specify the unique IDs of the photos used for testing. + photoUIDs := `["ps6sg6be2lvl0yh7", "ps6sg6be2lvl0yh8"]` + + // Get the photo models and current values for the batch edit form. + editResponse := PerformRequestWithBody(app, "POST", "/api/v1/batch/photos/edit", - `{"photos": ["ps6sg6be2lvl0yh7", "ps6sg6be2lvl0yh8"]}`, + fmt.Sprintf(`{"photos": %s}`, photoUIDs), ) - body := response.Body.String() + // Check the edit response status code. + assert.Equal(t, http.StatusOK, editResponse.Code) - assert.NotEmpty(t, body) - assert.True(t, strings.HasPrefix(body, `{"models":[{"ID"`), "unexpected response") + // Check the edit response body. + editBody := editResponse.Body.String() + assert.NotEmpty(t, editBody) + assert.True(t, strings.HasPrefix(editBody, `{"models":[{"ID"`), "unexpected response") - // fmt.Println(body) - /* models := gjson.Get(body, "models") - values := gjson.Get(body, "values") - t.Logf("models: %#v", models) - t.Logf("values: %#v", values) */ + // Check the edit response values. + editValues := gjson.Get(editBody, "values").Raw + t.Logf("edit values: %#v", editValues) - assert.Equal(t, http.StatusOK, response.Code) + // Send the edit form values back to the same API endpoint and check for errors. + saveResponse := PerformRequestWithBody(app, + "POST", "/api/v1/batch/photos/edit", + fmt.Sprintf(`{"photos": %s, "values": %s}`, photoUIDs, editValues), + ) + + // Check the save response status code. + assert.Equal(t, http.StatusOK, saveResponse.Code) + + // Check the save response body. + saveBody := saveResponse.Body.String() + assert.NotEmpty(t, saveBody) + + // Check the save response values. + saveValues := gjson.Get(saveBody, "values").Raw + t.Logf("save values: %#v", saveValues) + assert.Equal(t, editValues, saveValues) }) t.Run("ReturnPhotosAndValues", func(t *testing.T) { app, router, conf := NewApiTest() @@ -43,6 +66,7 @@ func TestBatchPhotosEdit(t *testing.T) { defer conf.SetAuthMode(config.AuthModePublic) authToken := AuthenticateUser(app, router, "alice", "Alice123!") + // Attach POST /api/v1/batch/photos/edit request handler. BatchPhotosEdit(router) response := AuthenticatedRequestWithBody(app, http.MethodPost, "/api/v1/batch/photos/edit", @@ -64,7 +88,10 @@ func TestBatchPhotosEdit(t *testing.T) { }) t.Run("MissingSelection", func(t *testing.T) { app, router, _ := NewApiTest() + + // Attach POST /api/v1/batch/photos/edit request handler. BatchPhotosEdit(router) + r := PerformRequestWithBody(app, "POST", "/api/v1/batch/photos/edit", `{"photos": [], "return": true}`) val := gjson.Get(r.Body.String(), "error") assert.Equal(t, i18n.Msg(i18n.ErrNoItemsSelected), val.String()) @@ -72,7 +99,10 @@ func TestBatchPhotosEdit(t *testing.T) { }) t.Run("InvalidRequest", func(t *testing.T) { app, router, _ := NewApiTest() + + // Attach POST /api/v1/batch/photos/edit request handler. BatchPhotosEdit(router) + r := PerformRequestWithBody(app, "POST", "/api/v1/batch/photos/edit", `{"photos": 123, "return": true}`) assert.Equal(t, http.StatusBadRequest, r.Code) }) @@ -82,6 +112,7 @@ func TestBatchPhotosEdit(t *testing.T) { conf.SetAuthMode(config.AuthModePasswd) defer conf.SetAuthMode(config.AuthModePublic) + // Attach POST /api/v1/batch/photos/edit request handler. BatchPhotosEdit(router) sessId := AuthenticateUser(app, router, "alice", "Alice123!") @@ -105,6 +136,7 @@ func TestBatchPhotosEdit(t *testing.T) { conf.SetAuthMode(config.AuthModePasswd) defer conf.SetAuthMode(config.AuthModePublic) + // Attach POST /api/v1/batch/photos/edit request handler. BatchPhotosEdit(router) sessId := AuthenticateUser(app, router, "gandalf", "Gandalf123!") diff --git a/internal/api/config_options.go b/internal/api/config_options.go index 170c4db03..d55a536ec 100644 --- a/internal/api/config_options.go +++ b/internal/api/config_options.go @@ -90,8 +90,7 @@ func SaveConfigOptions(router *gin.RouterGroup) { } if err := c.BindJSON(&v); err != nil { - log.Errorf("config: %s (bind json)", err) - AbortBadRequest(c) + AbortBadRequest(c, err) return } diff --git a/internal/api/config_settings.go b/internal/api/config_settings.go index fcdb216a8..4e11c66c7 100644 --- a/internal/api/config_settings.go +++ b/internal/api/config_settings.go @@ -79,7 +79,7 @@ func SaveSettings(router *gin.RouterGroup) { // Set values from request. if err := c.BindJSON(settings); err != nil { - AbortBadRequest(c) + AbortBadRequest(c, err) return } @@ -114,7 +114,7 @@ func SaveSettings(router *gin.RouterGroup) { // Set values from request. if err := c.BindJSON(settings); err != nil { - AbortBadRequest(c) + AbortBadRequest(c, err) return } diff --git a/internal/api/covers.go b/internal/api/covers.go index f324781c9..746224be1 100644 --- a/internal/api/covers.go +++ b/internal/api/covers.go @@ -59,7 +59,7 @@ func AlbumCover(router *gin.RouterGroup) { cacheKey := CacheKey(albumCover, uid, string(thumbName)) if cacheData, ok := cache.Get(cacheKey); ok { - log.Tracef("api-v1: cache hit for %s [%s]", cacheKey, time.Since(start)) + log.Tracef("api: cache hit for %s [%s]", cacheKey, time.Since(start)) cached := cacheData.(ThumbCache) @@ -177,7 +177,7 @@ func LabelCover(router *gin.RouterGroup) { cacheKey := CacheKey(labelCover, uid, string(thumbName)) if cacheData, ok := cache.Get(cacheKey); ok { - log.Tracef("api-v1: cache hit for %s [%s]", cacheKey, time.Since(start)) + log.Tracef("api: cache hit for %s [%s]", cacheKey, time.Since(start)) cached := cacheData.(ThumbCache) diff --git a/internal/api/faces.go b/internal/api/faces.go index bb69b9fca..bd3832148 100644 --- a/internal/api/faces.go +++ b/internal/api/faces.go @@ -70,7 +70,7 @@ func UpdateFace(router *gin.RouterGroup) { // Assign and validate request form values. if err := c.BindJSON(&frm); err != nil { - AbortBadRequest(c) + AbortBadRequest(c, err) return } diff --git a/internal/api/faces_search.go b/internal/api/faces_search.go index 41113fba8..76923d539 100644 --- a/internal/api/faces_search.go +++ b/internal/api/faces_search.go @@ -40,7 +40,7 @@ func SearchFaces(router *gin.RouterGroup) { err := c.MustBindWith(&frm, binding.Form) if err != nil { - AbortBadRequest(c) + AbortBadRequest(c, err) return } diff --git a/internal/api/feedback.go b/internal/api/feedback.go index b39cb6c4d..b6b48c34f 100644 --- a/internal/api/feedback.go +++ b/internal/api/feedback.go @@ -36,7 +36,7 @@ func SendFeedback(router *gin.RouterGroup) { // Assign and validate request form values. if err := c.BindJSON(&frm); err != nil { - AbortBadRequest(c) + AbortBadRequest(c, err) return } diff --git a/internal/api/folders_cover.go b/internal/api/folders_cover.go index 2d569d415..6647dad1c 100644 --- a/internal/api/folders_cover.go +++ b/internal/api/folders_cover.go @@ -68,7 +68,7 @@ func FolderCover(router *gin.RouterGroup) { cacheKey := CacheKey(folderCover, uid, string(thumbName)) if cacheData, ok := cache.Get(cacheKey); ok { - log.Tracef("api-v1: cache hit for %s [%s]", cacheKey, time.Since(start)) + log.Tracef("api: cache hit for %s [%s]", cacheKey, time.Since(start)) cached := cacheData.(ThumbCache) diff --git a/internal/api/folders_search.go b/internal/api/folders_search.go index f4749071e..720050ba9 100644 --- a/internal/api/folders_search.go +++ b/internal/api/folders_search.go @@ -58,7 +58,7 @@ func SearchFolders(router *gin.RouterGroup, urlPath, rootName, rootPath string) err := c.MustBindWith(&frm, binding.Form) if err != nil { - AbortBadRequest(c) + AbortBadRequest(c, err) return } @@ -85,7 +85,7 @@ func SearchFolders(router *gin.RouterGroup, urlPath, rootName, rootPath string) if cacheData, ok := cache.Get(cacheKey); ok { cached := cacheData.(FoldersResponse) - log.Tracef("api-v1: cache hit for %s [%s]", cacheKey, time.Since(start)) + log.Tracef("api: cache hit for %s [%s]", cacheKey, time.Since(start)) c.JSON(http.StatusOK, cached) return diff --git a/internal/api/import.go b/internal/api/import.go index a6242578e..caecba779 100644 --- a/internal/api/import.go +++ b/internal/api/import.go @@ -68,7 +68,7 @@ func StartImport(router *gin.RouterGroup) { // Assign and validate request form values. if err := c.BindJSON(&frm); err != nil { - AbortBadRequest(c) + AbortBadRequest(c, err) return } diff --git a/internal/api/index.go b/internal/api/index.go index a929c9832..b66ae353c 100644 --- a/internal/api/index.go +++ b/internal/api/index.go @@ -52,7 +52,7 @@ func StartIndexing(router *gin.RouterGroup) { // Assign and validate request form values. if err := c.BindJSON(&frm); err != nil { - AbortBadRequest(c) + AbortBadRequest(c, err) return } diff --git a/internal/api/labels.go b/internal/api/labels.go index 6039bd8e9..e28838625 100644 --- a/internal/api/labels.go +++ b/internal/api/labels.go @@ -55,7 +55,7 @@ func UpdateLabel(router *gin.RouterGroup) { // Set form values from request. if frmErr = c.BindJSON(frm); frmErr != nil { - AbortBadRequest(c) + AbortBadRequest(c, frmErr) return } else if frmErr = frm.Validate(); frmErr != nil { AbortInvalidName(c) diff --git a/internal/api/labels_search.go b/internal/api/labels_search.go index 653db20ea..d62ccf446 100644 --- a/internal/api/labels_search.go +++ b/internal/api/labels_search.go @@ -38,7 +38,7 @@ func SearchLabels(router *gin.RouterGroup) { err := c.MustBindWith(&frm, binding.Form) if err != nil { - AbortBadRequest(c) + AbortBadRequest(c, err) return } diff --git a/internal/api/links.go b/internal/api/links.go index ef5075af2..82eca8f81 100644 --- a/internal/api/links.go +++ b/internal/api/links.go @@ -29,8 +29,7 @@ func UpdateLink(c *gin.Context) { // Assign and validate request form values. if err := c.BindJSON(&frm); err != nil { - log.Debugf("share: %s", err) - AbortBadRequest(c) + AbortBadRequest(c, err) return } @@ -109,8 +108,7 @@ func CreateLink(c *gin.Context) { var frm form.Link if err := c.BindJSON(&frm); err != nil { - log.Debugf("share: %s", err) - AbortBadRequest(c) + AbortBadRequest(c, err) return } diff --git a/internal/api/markers.go b/internal/api/markers.go index b2527d6c7..636408bef 100644 --- a/internal/api/markers.go +++ b/internal/api/markers.go @@ -97,8 +97,7 @@ func CreateMarker(router *gin.RouterGroup) { // Initialize form. if err := c.BindJSON(&frm); err != nil { - log.Errorf("faces: %s (bind marker form)", err) - AbortBadRequest(c) + AbortBadRequest(c, err) return } @@ -113,8 +112,7 @@ func CreateMarker(router *gin.RouterGroup) { // Validate form values. if err = frm.Validate(); err != nil { - log.Errorf("faces: %s (validate new marker)", err) - AbortBadRequest(c) + AbortBadRequest(c, err) return } else if frm.W <= 0 || frm.H <= 0 { log.Errorf("faces: width and height must be greater than zero") @@ -130,8 +128,7 @@ func CreateMarker(router *gin.RouterGroup) { // Update marker from form values. if err = marker.Create(); err != nil { - log.Errorf("faces: %s (create marker)", err) - AbortBadRequest(c) + AbortBadRequest(c, err) return } @@ -210,14 +207,14 @@ func UpdateMarker(router *gin.RouterGroup) { return } else if err = c.BindJSON(&frm); err != nil { log.Errorf("faces: %s (bind marker form)", err) - AbortBadRequest(c) + AbortBadRequest(c, err) return } // Validate form values. if err = frm.Validate(); err != nil { log.Errorf("faces: %s (validate updated marker)", err) - AbortBadRequest(c) + AbortBadRequest(c, err) return } diff --git a/internal/api/metrics.go b/internal/api/metrics.go index ed7163272..1076ac7db 100644 --- a/internal/api/metrics.go +++ b/internal/api/metrics.go @@ -14,6 +14,7 @@ import ( "github.com/photoprism/photoprism/internal/auth/acl" "github.com/photoprism/photoprism/internal/config" "github.com/photoprism/photoprism/internal/photoprism/get" + "github.com/photoprism/photoprism/pkg/media/http/header" ) // GetMetrics provides a prometheus-compatible metrics endpoint for monitoring. @@ -31,6 +32,8 @@ func GetMetrics(router *gin.RouterGroup) { conf := get.Config() counts := conf.ClientUser(false).Count + header.SetContentType(c.Request, header.ContentTypePrometheus) + c.Stream(func(w io.Writer) bool { reg := prometheus.NewRegistry() reg.MustRegister(collectors.NewGoCollector()) diff --git a/internal/api/metrics_test.go b/internal/api/metrics_test.go index d19518f03..19cd0458a 100644 --- a/internal/api/metrics_test.go +++ b/internal/api/metrics_test.go @@ -29,6 +29,7 @@ func TestGetMetrics(t *testing.T) { assert.Regexp(t, regexp.MustCompile(`photoprism_statistics_media_count{stat="folders"} \d+`), body) assert.Regexp(t, regexp.MustCompile(`photoprism_statistics_media_count{stat="files"} \d+`), body) }) + t.Run("expose build information", func(t *testing.T) { app, router, _ := NewApiTest() @@ -44,4 +45,18 @@ func TestGetMetrics(t *testing.T) { assert.Regexp(t, regexp.MustCompile(`photoprism_build_info{edition=".+",goversion=".+",version=".+"} 1`), body) }) + + t.Run("has prometheus exposition format as content type", func(t *testing.T) { + app, router, _ := NewApiTest() + + GetMetrics(router) + + resp := PerformRequestWithStream(app, "GET", "/api/v1/metrics") + if resp.Code != http.StatusOK { + t.Fatal(resp.Body.String()) + } + if contentType := resp.Result().Header.Get("Content-Type"); contentType != "" { + t.Fatalf("unexpected response content-type: %s", contentType) + } + }) } diff --git a/internal/api/oauth_revoke.go b/internal/api/oauth_revoke.go index 81fa748ea..a94c339a3 100644 --- a/internal/api/oauth_revoke.go +++ b/internal/api/oauth_revoke.go @@ -75,7 +75,7 @@ func OAuthRevoke(router *gin.RouterGroup) { // Get the auth token to be revoked from the submitted form values or the request header. if err = c.ShouldBind(&frm); err != nil && authToken == "" { event.AuditWarn([]string{clientIp, "oauth2", actor, action, "%s"}, err) - AbortBadRequest(c) + AbortBadRequest(c, err) return } else if frm.Empty() { frm.Token = authToken diff --git a/internal/api/oauth_token.go b/internal/api/oauth_token.go index f5caaea70..037657a1c 100644 --- a/internal/api/oauth_token.go +++ b/internal/api/oauth_token.go @@ -59,7 +59,7 @@ func OAuthToken(router *gin.RouterGroup) { frm.ClientSecret = clientSecret } else if err = c.ShouldBind(&frm); err != nil { event.AuditWarn([]string{clientIp, "oauth2", actor, action, "%s"}, err) - AbortBadRequest(c) + AbortBadRequest(c, err) return } diff --git a/internal/api/photo_label.go b/internal/api/photo_label.go index 68754e431..3fff6a4e8 100644 --- a/internal/api/photo_label.go +++ b/internal/api/photo_label.go @@ -47,7 +47,7 @@ func AddPhotoLabel(router *gin.RouterGroup) { // Assign and validate request form values. if err = c.BindJSON(frm); err != nil { - AbortBadRequest(c) + AbortBadRequest(c, err) return } else if err = frm.Validate(); err != nil { AbortInvalidName(c) @@ -73,7 +73,7 @@ func AddPhotoLabel(router *gin.RouterGroup) { return } - if photoLabel.Uncertainty > frm.Uncertainty { + if photoLabel.HasID() && photoLabel.Uncertainty > frm.Uncertainty { if updateErr := photoLabel.Updates(map[string]interface{}{ "Uncertainty": frm.Uncertainty, "LabelSrc": entity.SrcManual, @@ -221,7 +221,7 @@ func UpdatePhotoLabel(router *gin.RouterGroup) { } if err = c.BindJSON(label); err != nil { - AbortBadRequest(c) + AbortBadRequest(c, err) return } diff --git a/internal/api/photos_search.go b/internal/api/photos_search.go index 39436b8f9..0ccccb117 100644 --- a/internal/api/photos_search.go +++ b/internal/api/photos_search.go @@ -49,7 +49,7 @@ func SearchPhotos(router *gin.RouterGroup) { // Abort if request params are invalid. if err = c.MustBindWith(&frm, binding.Form); err != nil { event.AuditWarn([]string{ClientIP(c), "session %s", string(acl.ResourcePhotos), "form invalid", "%s"}, s.RefID, err) - AbortBadRequest(c) + AbortBadRequest(c, err) return frm, s, err } @@ -85,7 +85,7 @@ func SearchPhotos(router *gin.RouterGroup) { // Ok? if err != nil { event.AuditWarn([]string{ClientIP(c), "session %s", string(acl.ResourcePhotos), "search", "%s"}, s.RefID, err) - AbortBadRequest(c) + AbortBadRequest(c, err) return } @@ -114,7 +114,7 @@ func SearchPhotos(router *gin.RouterGroup) { if err != nil { event.AuditWarn([]string{ClientIP(c), "session %s", string(acl.ResourcePhotos), "view", "%s"}, s.RefID, err) - AbortBadRequest(c) + AbortBadRequest(c, err) return } diff --git a/internal/api/photos_search_geo.go b/internal/api/photos_search_geo.go index 880b37e5a..387d013e5 100644 --- a/internal/api/photos_search_geo.go +++ b/internal/api/photos_search_geo.go @@ -49,7 +49,7 @@ func SearchGeo(router *gin.RouterGroup) { // Abort if request params are invalid. if err = c.MustBindWith(&frm, binding.Form); err != nil { event.AuditWarn([]string{ClientIP(c), "session %s", string(acl.ResourcePlaces), "form invalid", "%s"}, s.RefID, err) - AbortBadRequest(c) + AbortBadRequest(c, err) return } @@ -74,7 +74,7 @@ func SearchGeo(router *gin.RouterGroup) { // Ok? if err != nil { event.AuditWarn([]string{ClientIP(c), "session %s", string(acl.ResourcePlaces), "search", "%s"}, s.RefID, err) - AbortBadRequest(c) + AbortBadRequest(c, err) return } diff --git a/internal/api/places_reverse.go b/internal/api/places_reverse.go new file mode 100644 index 000000000..36a5c3fb5 --- /dev/null +++ b/internal/api/places_reverse.go @@ -0,0 +1,83 @@ +package api + +import ( + "net/http" + + "github.com/gin-gonic/gin" + + "github.com/photoprism/photoprism/internal/auth/acl" + "github.com/photoprism/photoprism/internal/photoprism/get" + "github.com/photoprism/photoprism/internal/service/hub/places" + "github.com/photoprism/photoprism/pkg/clean" + "github.com/photoprism/photoprism/pkg/txt" +) + +// GetPlacesReverse returns location details for the specified coordinates. +// +// GET /api/v1/places/reverse?lat=12.444526469291622&lng=-69.94435584903263 +// +// @Summary returns location details for the specified coordinates +// @Id GetPlacesReverse +// @Tags Places +// @Produce json +// @Param lat query string true "Latitude" +// @Param lng query string true "Longitude" +// @Param locale query string false "Locale" +// @Success 200 {object} places.Location +// @Failure 400 {object} gin.H "Missing latitude or longitude" +// @Failure 401 {object} i18n.Response +// @Failure 500 {object} gin.H "Geocoding service error" +// @Router /api/v1/places/reverse [get] +func GetPlacesReverse(router *gin.RouterGroup) { + handler := func(c *gin.Context) { + // Allow request if user is allowed to search places. + s := AuthAny(c, acl.ResourcePlaces, acl.Permissions{acl.ActionSearch, acl.ActionView, acl.ActionUse}) + + // Abort if permission is not granted. + if s.Abort(c) { + return + } + + // Abort if geocoding is disabled. + conf := get.Config() + + if conf.DisablePlaces() { + AbortFeatureDisabled(c) + return + } + + // Get latitude, longitude, and locale from query parameters. + var lat, lng string + + if lat = txt.Numeric(c.Query("lat")); lat == "" { + c.AbortWithStatusJSON(http.StatusBadRequest, gin.H{"error": "missing latitude"}) + return + } + + if lng = txt.Numeric(c.Query("lng")); lng == "" { + lng = txt.Numeric(c.Query("lon")) + } + + if lng == "" { + c.AbortWithStatusJSON(http.StatusBadRequest, gin.H{"error": "missing longitude"}) + return + } + + locale := clean.WebLocale(c.Query("locale"), conf.PlacesLocale()) + + // Perform service request. + result, err := places.LatLng(txt.Float64(lat), txt.Float64(lng), locale) + + // Return error if request was not successful. + if err != nil { + log.Errorf("places: failed to resolve location at lat %s, lng %s", lat, lng) + c.AbortWithStatusJSON(http.StatusInternalServerError, gin.H{"error": err}) + return + } + + // Return location details. + c.JSON(http.StatusOK, result) + } + + router.GET("/places/reverse", handler) +} diff --git a/internal/api/places_search.go b/internal/api/places_search.go new file mode 100644 index 000000000..c98c45837 --- /dev/null +++ b/internal/api/places_search.go @@ -0,0 +1,71 @@ +package api + +import ( + "net/http" + + "github.com/gin-gonic/gin" + + "github.com/photoprism/photoprism/internal/auth/acl" + "github.com/photoprism/photoprism/internal/photoprism/get" + "github.com/photoprism/photoprism/internal/service/hub/places" + "github.com/photoprism/photoprism/pkg/clean" + "github.com/photoprism/photoprism/pkg/txt" +) + +// GetPlacesSearch returns locations that match the specified search query. +// +// GET /api/v1/places/search?q=query&locale=en&count=10 +// +// @Summary returns locations that match the specified search query +// @Id GetPlacesSearch +// @Tags Places +// @Produce json +// @Param q query string true "Search query" +// @Param locale query string false "Locale for results (default: en)" +// @Param count query int false "Maximum number of results (default: 10, max: 50)" +// @Success 200 {object} places.SearchResults +// @Failure 400 {object} gin.H "Missing search query" +// @Failure 401 {object} i18n.Response +// @Failure 500 {object} gin.H "Search service error" +// @Router /api/v1/places/search [get] +func GetPlacesSearch(router *gin.RouterGroup) { + handler := func(c *gin.Context) { + // Allow request if user is allowed to search places. + s := AuthAny(c, acl.ResourcePlaces, acl.Permissions{acl.ActionSearch, acl.ActionView, acl.ActionUse}) + + // Abort if permission is not granted. + if s.Abort(c) { + return + } + + // Abort if geocoding is disabled. + conf := get.Config() + + if conf.DisablePlaces() { + AbortFeatureDisabled(c) + return + } + + // Get the search string, locale, and result count limit from the query parameters. + query := clean.SearchString(c.Query("q")) + locale := clean.WebLocale(c.Query("locale"), conf.PlacesLocale()) + count := txt.IntVal(c.Query("count"), 1, 50, 10) + + if query == "" { + c.AbortWithStatusJSON(http.StatusBadRequest, gin.H{"error": "Missing search query"}) + return + } + + results, err := places.Search(query, locale, count) + + if err != nil { + log.Errorf("places: failed to find locations for query %s", clean.Log(query)) + c.AbortWithStatusJSON(http.StatusInternalServerError, gin.H{"error": err}) + return + } + + c.JSON(http.StatusOK, results) + } + + router.GET("/places/search", handler) +} diff --git a/internal/api/places_test.go b/internal/api/places_test.go new file mode 100644 index 000000000..8256cfe66 --- /dev/null +++ b/internal/api/places_test.go @@ -0,0 +1,116 @@ +package api + +import ( + "net/http" + "testing" + + "github.com/photoprism/photoprism/internal/config" + + "github.com/stretchr/testify/assert" + "github.com/tidwall/gjson" +) + +func TestGetPlacesReverse(t *testing.T) { + t.Run("PublicMode", func(t *testing.T) { + app, router, _ := NewApiTest() + + GetPlacesReverse(router) + + r := PerformRequest(app, http.MethodGet, "/api/v1/places/reverse?lat=52.5108869&lng=13.398947") + + assert.Equal(t, http.StatusOK, r.Code) + assert.Equal(t, "Berlin", gjson.Get(r.Body.String(), "name").String()) + }) + t.Run("Unauthorized", func(t *testing.T) { + app, router, conf := NewApiTest() + + conf.SetAuthMode(config.AuthModePasswd) + defer conf.SetAuthMode(config.AuthModePublic) + + GetPlacesReverse(router) + + r := PerformRequest(app, http.MethodGet, "/api/v1/places/reverse?lat=52.5108869&lng=13.398947") + + assert.Equal(t, http.StatusUnauthorized, r.Code) + }) + t.Run("FeatureDisabled", func(t *testing.T) { + app, router, conf := NewApiTest() + + conf.Options().DisablePlaces = true + + GetPlacesReverse(router) + + r := PerformRequest(app, http.MethodGet, "/api/v1/places/reverse?lat=52.5108869&lng=13.398947") + + assert.Equal(t, http.StatusForbidden, r.Code) + + conf.Options().DisablePlaces = false + }) + t.Run("LatitudeMissing", func(t *testing.T) { + app, router, _ := NewApiTest() + + GetPlacesReverse(router) + + r := PerformRequest(app, http.MethodGet, "/api/v1/places/reverse?lng=13.398947") + + assert.Equal(t, http.StatusBadRequest, r.Code) + + }) + t.Run("LongitudeMissing", func(t *testing.T) { + app, router, _ := NewApiTest() + + GetPlacesReverse(router) + + r := PerformRequest(app, http.MethodGet, "/api/v1/places/reverse?lat=52.5108869") + + assert.Equal(t, http.StatusBadRequest, r.Code) + + }) +} + +func TestGetPlacesSearch(t *testing.T) { + t.Run("PublicMode", func(t *testing.T) { + app, router, _ := NewApiTest() + + GetPlacesSearch(router) + + r := PerformRequest(app, http.MethodGet, "/api/v1/places/search?q=Berlin&locale=en") + + assert.Equal(t, http.StatusOK, r.Code) + assert.LessOrEqual(t, 1, int(gjson.Get(r.Body.String(), "#").Int())) + }) + t.Run("Unauthorized", func(t *testing.T) { + app, router, conf := NewApiTest() + + conf.SetAuthMode(config.AuthModePasswd) + defer conf.SetAuthMode(config.AuthModePublic) + + GetPlacesSearch(router) + + r := PerformRequest(app, http.MethodGet, "/api/v1/places/search?q=Berlin&locale=en") + + assert.Equal(t, http.StatusUnauthorized, r.Code) + }) + t.Run("FeatureDisabled", func(t *testing.T) { + app, router, conf := NewApiTest() + + conf.Options().DisablePlaces = true + + GetPlacesSearch(router) + + r := PerformRequest(app, http.MethodGet, "/api/v1/places/search?q=Berlin&locale=en") + + assert.Equal(t, http.StatusForbidden, r.Code) + + conf.Options().DisablePlaces = false + }) + t.Run("EmptyQuery", func(t *testing.T) { + app, router, _ := NewApiTest() + + GetPlacesSearch(router) + + r := PerformRequest(app, http.MethodGet, "/api/v1/places/search?q=&locale=en") + + assert.Equal(t, http.StatusBadRequest, r.Code) + }) +} diff --git a/internal/api/services.go b/internal/api/services.go index 1cbfbc6a0..8c7574e09 100644 --- a/internal/api/services.go +++ b/internal/api/services.go @@ -91,7 +91,7 @@ func GetServiceFolders(router *gin.RouterGroup) { if cacheData, ok := cache.Get(cacheKey); ok { cached := cacheData.(fs.FileInfos) - log.Tracef("api-v1: cache hit for %s [%s]", cacheKey, time.Since(start)) + log.Tracef("api: cache hit for %s [%s]", cacheKey, time.Since(start)) c.JSON(http.StatusOK, cached) return @@ -149,7 +149,7 @@ func AddService(router *gin.RouterGroup) { // Assign and validate request form values. if err := c.BindJSON(&frm); err != nil { - AbortBadRequest(c) + AbortBadRequest(c, err) return } @@ -162,8 +162,7 @@ func AddService(router *gin.RouterGroup) { m, err := entity.AddService(frm) if err != nil { - log.Error(err) - AbortBadRequest(c) + AbortBadRequest(c, err) return } @@ -218,8 +217,7 @@ func UpdateService(router *gin.RouterGroup) { // 2) Update form with values from request if err = c.BindJSON(&frm); err != nil { - log.Error(err) - AbortBadRequest(c) + AbortBadRequest(c, err) return } @@ -280,7 +278,7 @@ func DeleteService(router *gin.RouterGroup) { return } - if err := m.Delete(); err != nil { + if err = m.Delete(); err != nil { Error(c, http.StatusInternalServerError, err, i18n.ErrDeleteFailed) return } diff --git a/internal/api/services_search.go b/internal/api/services_search.go index 2431eb4e7..985aa165b 100644 --- a/internal/api/services_search.go +++ b/internal/api/services_search.go @@ -43,14 +43,14 @@ func SearchServices(router *gin.RouterGroup) { err := c.MustBindWith(&frm, binding.Form) if err != nil { - AbortBadRequest(c) + AbortBadRequest(c, err) return } result, err := search.Accounts(frm) if err != nil { - AbortBadRequest(c) + AbortBadRequest(c, err) return } diff --git a/internal/api/services_upload.go b/internal/api/services_upload.go index c886145d6..21466eea8 100644 --- a/internal/api/services_upload.go +++ b/internal/api/services_upload.go @@ -49,7 +49,7 @@ func UploadToService(router *gin.RouterGroup) { // Assign and validate request form values. if err = c.BindJSON(&frm); err != nil { - AbortBadRequest(c) + AbortBadRequest(c, err) return } diff --git a/internal/api/session_create.go b/internal/api/session_create.go index 659a8c259..1456a5f4f 100644 --- a/internal/api/session_create.go +++ b/internal/api/session_create.go @@ -36,7 +36,7 @@ func CreateSession(router *gin.RouterGroup) { // Assign and validate request form values. if err := c.BindJSON(&frm); err != nil { event.AuditWarn([]string{clientIp, "create session", "invalid request", "%s"}, err) - AbortBadRequest(c) + AbortBadRequest(c, err) return } diff --git a/internal/api/subjects.go b/internal/api/subjects.go index 94959f028..78ad26562 100644 --- a/internal/api/subjects.go +++ b/internal/api/subjects.go @@ -87,7 +87,7 @@ func UpdateSubject(router *gin.RouterGroup) { return } else if err = c.BindJSON(frm); err != nil { log.Errorf("subject: %s (update form)", err) - AbortBadRequest(c) + AbortBadRequest(c, err) return } diff --git a/internal/api/subjects_search.go b/internal/api/subjects_search.go index 1e9bb05e3..09c9715b4 100644 --- a/internal/api/subjects_search.go +++ b/internal/api/subjects_search.go @@ -40,7 +40,7 @@ func SearchSubjects(router *gin.RouterGroup) { err := c.MustBindWith(&frm, binding.Form) if err != nil { - AbortBadRequest(c) + AbortBadRequest(c, err) return } diff --git a/internal/api/swagger.json b/internal/api/swagger.json index b182ac136..ce31ae4bf 100644 --- a/internal/api/swagger.json +++ b/internal/api/swagger.json @@ -1376,7 +1376,7 @@ "parameters": [ { "description": "photos selection and values", - "name": "photos", + "name": "Request", "in": "body", "required": true, "schema": { @@ -1388,7 +1388,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/batch.PhotosForm" + "$ref": "#/definitions/batch.PhotosResponse" } }, "400": { @@ -3849,6 +3849,128 @@ } } }, + "/api/v1/places/reverse": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "Places" + ], + "summary": "returns location details for the specified coordinates", + "operationId": "GetPlacesReverse", + "parameters": [ + { + "type": "string", + "description": "Latitude", + "name": "lat", + "in": "query", + "required": true + }, + { + "type": "string", + "description": "Longitude", + "name": "lng", + "in": "query", + "required": true + }, + { + "type": "string", + "description": "Locale", + "name": "locale", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/places.Location" + } + }, + "400": { + "description": "Missing latitude or longitude", + "schema": { + "$ref": "#/definitions/gin.H" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/i18n.Response" + } + }, + "500": { + "description": "Geocoding service error", + "schema": { + "$ref": "#/definitions/gin.H" + } + } + } + } + }, + "/api/v1/places/search": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "Places" + ], + "summary": "returns locations that match the specified search query", + "operationId": "GetPlacesSearch", + "parameters": [ + { + "type": "string", + "description": "Search query", + "name": "q", + "in": "query", + "required": true + }, + { + "type": "string", + "description": "Locale for results (default: en)", + "name": "locale", + "in": "query" + }, + { + "type": "integer", + "description": "Maximum number of results (default: 10, max: 50)", + "name": "count", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/places.SearchResult" + } + } + }, + "400": { + "description": "Missing search query", + "schema": { + "$ref": "#/definitions/gin.H" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/i18n.Response" + } + }, + "500": { + "description": "Search service error", + "schema": { + "$ref": "#/definitions/gin.H" + } + } + } + } + }, "/api/v1/services": { "get": { "produces": [ @@ -5238,9 +5360,46 @@ } } }, + "batch.Item": { + "type": "object", + "properties": { + "action": { + "$ref": "#/definitions/batch.Action" + }, + "mixed": { + "type": "boolean" + }, + "title": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, + "batch.Items": { + "type": "object", + "properties": { + "action": { + "$ref": "#/definitions/batch.Action" + }, + "items": { + "type": "array", + "items": { + "$ref": "#/definitions/batch.Item" + } + }, + "mixed": { + "type": "boolean" + } + } + }, "batch.PhotosForm": { "type": "object", "properties": { + "Albums": { + "$ref": "#/definitions/batch.Items" + }, "Altitude": { "$ref": "#/definitions/batch.Int" }, @@ -5286,6 +5445,9 @@ "Iso": { "$ref": "#/definitions/batch.Int" }, + "Labels": { + "$ref": "#/definitions/batch.Items" + }, "Lat": { "$ref": "#/definitions/batch.Float64" }, @@ -5341,6 +5503,20 @@ } } }, + "batch.PhotosResponse": { + "type": "object", + "properties": { + "models": { + "type": "array", + "items": { + "$ref": "#/definitions/search.Photo" + } + }, + "values": { + "$ref": "#/definitions/batch.PhotosForm" + } + } + }, "batch.String": { "type": "object", "properties": { @@ -5549,6 +5725,9 @@ "OriginalsLimit": { "type": "integer" }, + "PlacesLocale": { + "type": "string" + }, "PngSize": { "type": "integer" }, @@ -7397,6 +7576,108 @@ } } }, + "places.Location": { + "type": "object", + "properties": { + "category": { + "type": "string" + }, + "country": { + "type": "string" + }, + "id": { + "type": "string" + }, + "lat": { + "type": "number" + }, + "licence": { + "type": "string" + }, + "lng": { + "type": "number" + }, + "locale": { + "type": "string" + }, + "name": { + "type": "string" + }, + "place": { + "$ref": "#/definitions/places.Place" + }, + "postcode": { + "type": "string" + }, + "street": { + "type": "string" + }, + "timezone": { + "type": "string" + } + } + }, + "places.Place": { + "type": "object", + "properties": { + "city": { + "type": "string" + }, + "country": { + "type": "string" + }, + "district": { + "type": "string" + }, + "id": { + "type": "string" + }, + "keywords": { + "type": "string" + }, + "label": { + "type": "string" + }, + "state": { + "type": "string" + } + } + }, + "places.SearchResult": { + "type": "object", + "properties": { + "bbox": { + "type": "array", + "items": { + "type": "number" + } + }, + "city": { + "type": "string" + }, + "country": { + "type": "string" + }, + "id": { + "type": "string" + }, + "importance": { + "type": "number" + }, + "lat": { + "type": "number" + }, + "licence": { + "type": "string" + }, + "lng": { + "type": "number" + }, + "name": { + "type": "string" + } + } + }, "search.Album": { "type": "object", "properties": { @@ -7945,14 +8226,6 @@ "time.Duration": { "type": "integer", "enum": [ - -9223372036854775808, - 9223372036854775807, - 1, - 1000, - 1000000, - 1000000000, - 60000000000, - 3600000000000, -9223372036854775808, 9223372036854775807, 1, @@ -7969,14 +8242,6 @@ 3600000000000 ], "x-enum-varnames": [ - "minDuration", - "maxDuration", - "Nanosecond", - "Microsecond", - "Millisecond", - "Second", - "Minute", - "Hour", "minDuration", "maxDuration", "Nanosecond", diff --git a/internal/api/thumbnails.go b/internal/api/thumbnails.go index 902dddfb0..5d13d79a6 100644 --- a/internal/api/thumbnails.go +++ b/internal/api/thumbnails.go @@ -105,7 +105,7 @@ func GetThumb(router *gin.RouterGroup) { cacheKey := CacheKey("thumbs", fileHash, string(sizeName)) if cacheData, ok := cache.Get(cacheKey); ok { - log.Tracef("api-v1: cache hit for %s [%s]", cacheKey, time.Since(start)) + log.Tracef("api: cache hit for %s [%s]", cacheKey, time.Since(start)) cached := cacheData.(ThumbCache) diff --git a/internal/api/users_sessions.go b/internal/api/users_sessions.go index 4f63cb330..4bf25b2fe 100644 --- a/internal/api/users_sessions.go +++ b/internal/api/users_sessions.go @@ -47,7 +47,7 @@ func FindUserSessions(router *gin.RouterGroup) { // Abort if invalid. if err != nil { - AbortBadRequest(c) + AbortBadRequest(c, err) return } @@ -61,7 +61,7 @@ func FindUserSessions(router *gin.RouterGroup) { result, err := search.Sessions(frm) if err != nil { - AbortBadRequest(c) + AbortBadRequest(c, err) return } diff --git a/internal/api/users_update.go b/internal/api/users_update.go index 68c41ddee..2513ec2e1 100644 --- a/internal/api/users_update.go +++ b/internal/api/users_update.go @@ -30,7 +30,7 @@ func UpdateUser(router *gin.RouterGroup) { } // Check if the session user is allowed to manage all accounts or update his/her own account. - s := AuthAny(c, acl.ResourceUsers, acl.Permissions{acl.ActionManage, acl.AccessOwn, acl.ActionUpdate}) + s := AuthAny(c, acl.ResourceUsers, acl.Permissions{acl.ActionManage, acl.AccessOwn, acl.ActionUpdate, acl.ActionUpdateOwn}) if s.Abort(c) { return @@ -58,8 +58,7 @@ func UpdateUser(router *gin.RouterGroup) { // Assign and validate request form values. if err = c.BindJSON(&f); err != nil { - log.Error(err) - AbortBadRequest(c) + AbortBadRequest(c, err) return } diff --git a/internal/api/users_upload.go b/internal/api/users_upload.go index 01bd04c69..78ce387a6 100644 --- a/internal/api/users_upload.go +++ b/internal/api/users_upload.go @@ -282,7 +282,7 @@ func ProcessUserUpload(router *gin.RouterGroup) { // Assign and validate request form values. if err := c.BindJSON(&frm); err != nil { - AbortBadRequest(c) + AbortBadRequest(c, err) return } diff --git a/internal/api/vision_caption.go b/internal/api/vision_caption.go index c683a16c0..af32534a5 100644 --- a/internal/api/vision_caption.go +++ b/internal/api/vision_caption.go @@ -8,6 +8,7 @@ import ( "github.com/photoprism/photoprism/internal/ai/vision" "github.com/photoprism/photoprism/internal/auth/acl" "github.com/photoprism/photoprism/internal/photoprism/get" + "github.com/photoprism/photoprism/pkg/media" "github.com/photoprism/photoprism/pkg/media/http/header" ) @@ -51,18 +52,30 @@ func PostVisionCaption(router *gin.RouterGroup) { return } - // TODO: Return error code 501 until this service is implemented. - code := http.StatusNotImplemented + // Run inference to generate a caption. + result, model, err := vision.Caption(request.Images, media.SrcRemote) - // Generate Vision API service response. - response := vision.ApiResponse{ - Id: request.GetId(), - Code: code, - Error: http.StatusText(http.StatusNotImplemented), - Model: &vision.Model{Type: vision.ModelTypeCaption}, - Result: vision.ApiResult{Caption: &vision.CaptionResult{Text: "This is a test.", Confidence: 0.14159265359}}, + if err != nil { + log.Errorf("vision: %s (caption)", err) + c.JSON(http.StatusBadRequest, vision.NewApiError(request.GetId(), http.StatusBadRequest)) + return + } else if model == nil { + log.Errorf("vision: no model specified (caption)") + c.JSON(http.StatusInternalServerError, vision.NewApiError(request.GetId(), http.StatusInternalServerError)) + return + } else if result == nil { + log.Errorf("vision: no result (caption)") + c.JSON(http.StatusInternalServerError, vision.NewApiError(request.GetId(), http.StatusInternalServerError)) + return } - c.JSON(code, response) + // Generate Vision API service response. + response := vision.NewCaptionResponse( + request.GetId(), + &vision.Model{Type: model.Type, Name: model.Name, Version: model.Version}, + result, + ) + + c.JSON(http.StatusOK, response) }) } diff --git a/internal/api/vision_labels.go b/internal/api/vision_labels.go index 7154f33d8..4e430bb1d 100644 --- a/internal/api/vision_labels.go +++ b/internal/api/vision_labels.go @@ -63,7 +63,11 @@ func PostVisionLabels(router *gin.RouterGroup) { } // Generate Vision API service response. - response := vision.NewLabelsResponse(request.GetId(), vision.NasnetModel, labels) + response := vision.NewLabelsResponse( + request.GetId(), + &vision.Model{Type: vision.ModelTypeLabels}, + labels, + ) c.JSON(http.StatusOK, response) }) diff --git a/internal/api/zip.go b/internal/api/zip.go index 78972fa60..97962c39f 100644 --- a/internal/api/zip.go +++ b/internal/api/zip.go @@ -47,7 +47,7 @@ func ZipCreate(router *gin.RouterGroup) { // Assign and validate request form values. if err := c.BindJSON(&frm); err != nil { - AbortBadRequest(c) + AbortBadRequest(c, err) return } diff --git a/internal/auth/acl/const.go b/internal/auth/acl/const.go index a04e6a8f3..2b6db1d30 100644 --- a/internal/auth/acl/const.go +++ b/internal/auth/acl/const.go @@ -26,6 +26,7 @@ const ( ActionUpload Permission = "upload" ActionCreate Permission = "create" ActionUpdate Permission = "update" + ActionUpdateOwn Permission = "update_own" ActionDownload Permission = "download" ActionShare Permission = "share" ActionDelete Permission = "delete" diff --git a/internal/auth/acl/grant.go b/internal/auth/acl/grant.go index e4c2ead72..7c4933a08 100644 --- a/internal/auth/acl/grant.go +++ b/internal/auth/acl/grant.go @@ -118,6 +118,13 @@ var ( ActionView: true, ActionSearch: true, } + GrantSearchAllUpdateOwn = Grant{ + AccessAll: true, + AccessOwn: true, + ActionSearch: true, + ActionView: true, + ActionUpdateOwn: true, + } GrantSubscribeOwn = Grant{ AccessOwn: true, ActionSubscribe: true, diff --git a/internal/commands/auth_list_test.go b/internal/commands/auth_list_test.go index 2ce6923f4..33b919f23 100644 --- a/internal/commands/auth_list_test.go +++ b/internal/commands/auth_list_test.go @@ -29,7 +29,7 @@ func TestAuthListCommand(t *testing.T) { assert.Contains(t, output, "alice ") assert.NotContains(t, output, "bob ") assert.NotContains(t, output, "visitor ") - assert.NotContains(t, output, "| Preview Token |") + assert.NotContains(t, output, "│ Preview Token │") }) t.Run("CSV", func(t *testing.T) { // Run command with test context. @@ -50,8 +50,8 @@ func TestAuthListCommand(t *testing.T) { // Check command output for plausibility. // t.Logf(output) assert.NoError(t, err) - assert.Contains(t, output, "| Session ID |") - assert.Contains(t, output, "| Preview Token |") + assert.Contains(t, output, "│ Session ID │") + assert.Contains(t, output, "│ Preview Token │") assert.Contains(t, output, "alice ") assert.NotContains(t, output, "bob ") assert.NotContains(t, output, "visitor") diff --git a/internal/commands/backup.go b/internal/commands/backup.go index 74399c4ca..ec014adca 100644 --- a/internal/commands/backup.go +++ b/internal/commands/backup.go @@ -105,6 +105,8 @@ func backupAction(ctx *cli.Context) error { backupFile := time.Now().UTC().Format("2006-01-02") + ".sql" fileName = filepath.Join(databasePath, backupFile) + } else { + retain = 0 } if err = backup.Database(databasePath, fileName, fileName == "-", force, retain); err != nil { diff --git a/internal/commands/clients_list_test.go b/internal/commands/clients_list_test.go index d7cf5bd54..90f10fc92 100644 --- a/internal/commands/clients_list_test.go +++ b/internal/commands/clients_list_test.go @@ -26,7 +26,7 @@ func TestClientsListCommand(t *testing.T) { // Check command output for plausibility. // t.Logf(output) assert.NoError(t, err) - assert.Contains(t, output, "| Scope |") + assert.Contains(t, output, "│ Role │ Scope │") assert.Contains(t, output, "Monitoring") assert.NotContains(t, output, "alice") assert.NotContains(t, output, "bob") diff --git a/internal/commands/clients_mod_test.go b/internal/commands/clients_mod_test.go index 7a6a8ce5e..eb14c2b4d 100644 --- a/internal/commands/clients_mod_test.go +++ b/internal/commands/clients_mod_test.go @@ -21,7 +21,7 @@ func TestClientsModCommand(t *testing.T) { // Check command output for plausibility. //t.Logf(output0) assert.NoError(t, err) - assert.Contains(t, output0, "AuthEnabled | true") + assert.Contains(t, output0, "AuthEnabled │ true") assert.Contains(t, output0, "oauth2") // Run command with test context. @@ -38,7 +38,7 @@ func TestClientsModCommand(t *testing.T) { // Check command output for plausibility. //t.Logf(output1) assert.NoError(t, err) - assert.Contains(t, output1, "AuthEnabled | false") + assert.Contains(t, output1, "AuthEnabled │ false") // Run command with test context. output2, err := RunWithTestContext(ClientsModCommand, []string{"mod", "--enable", "cs7pvt5h8rw9aaqj"}) @@ -53,7 +53,7 @@ func TestClientsModCommand(t *testing.T) { // Check command output for plausibility. //t.Logf(output3) assert.NoError(t, err) - assert.Contains(t, output3, "AuthEnabled | true") + assert.Contains(t, output3, "│ AuthEnabled │ true ") }) t.Run("RegenerateSecret", func(t *testing.T) { // Run command with test context. diff --git a/internal/commands/download.go b/internal/commands/download.go index 3c3a8f33c..f6d5ada70 100644 --- a/internal/commands/download.go +++ b/internal/commands/download.go @@ -4,6 +4,7 @@ import ( "context" "fmt" "io" + "math" "net/url" "os" "path/filepath" @@ -13,9 +14,11 @@ import ( "github.com/urfave/cli/v2" "github.com/photoprism/photoprism/internal/config" + "github.com/photoprism/photoprism/internal/ffmpeg" + "github.com/photoprism/photoprism/internal/ffmpeg/encode" "github.com/photoprism/photoprism/internal/photoprism" + "github.com/photoprism/photoprism/internal/photoprism/dl" "github.com/photoprism/photoprism/internal/photoprism/get" - "github.com/photoprism/photoprism/internal/photoprism/ytdl" "github.com/photoprism/photoprism/pkg/clean" "github.com/photoprism/photoprism/pkg/fs" "github.com/photoprism/photoprism/pkg/media" @@ -108,7 +111,18 @@ func downloadAction(ctx *cli.Context) error { mediaType = media.Video log.Infof("downloading %s from %s", mediaType, clean.Log(sourceUrl.String())) - result, err := ytdl.New(context.Background(), sourceUrl.String(), ytdl.Options{}) + opt := dl.Options{ + // The following flags currently seem to have no effect when piping the output to stdout; + // however, that may change in a future version of the "yt-dlp" video downloader: + MergeOutputFormat: fs.VideoMp4.String(), + RemuxVideo: fs.VideoMp4.String(), + // Alternative codec sorting format to prioritize H264/AVC: + // vcodec:h264>av01>h265>vp9.2>vp9>h263,acodec:m4a>mp4a>aac>mp3>mp3>ac3>dts + SortingFormat: "lang,quality,res,fps,codec:avc:m4a,channels,size,br,asr,proto,ext,hasaud,source,id", + } + + result, err := dl.NewMetadata(context.Background(), sourceUrl.String(), opt) + if err != nil { return err } @@ -119,9 +133,30 @@ func downloadAction(ctx *cli.Context) error { downloadFile = time.Now().Format("20060102_150405") + fs.ExtMp4 } + // Compose download file path. downloadFilePath := filepath.Join(downloadPath, downloadFile) - downloadResult, err := result.Download(context.Background(), "best") + // Download the first video and embed its metadata, + // see https://github.com/yt-dlp/yt-dlp?tab=readme-ov-file#format-selection-examples. + downloadResult, err := result.DownloadWithOptions(context.Background(), dl.DownloadOptions{ + // TODO: While this may work with a future version of the "yt-dlp" video downloader, + // it is currently not possible to properly download videos with separate video and + // audio streams when piping the output to stdout. For now, the following Filter + // will download the best combined video and audio content (see docs for details). + Filter: "best", + // Alternative filters for combining the best video and audio streams: + // Filter: "bestvideo*+bestaudio/best", + // Filter: "best/bestvideo+bestaudio", + DownloadAudioOnly: false, + EmbedMetadata: true, + EmbedSubs: false, + ForceOverwrites: false, + DisableCaching: false, + // Download the first video if multiple videos are available: + PlaylistIndex: 1, + }) + + // Check if download was successful. if err != nil { return err } @@ -140,6 +175,44 @@ func downloadAction(ctx *cli.Context) error { } file.Close() + + // TODO: The remux command flags currently don't seem to have an effect when piping the output to stdout, + // so this command will manually remux the downloaded file with ffmpeg. This ensures that the file is a + // valid MP4 that can be played. It also adds metadata in the same step. + remuxOpt := encode.NewRemuxOptions(conf.FFmpegBin(), fs.VideoMp4, false) + + if title := clean.Name(result.Info.Title); title != "" { + remuxOpt.Title = title + } else if title = clean.Name(result.Info.AltTitle); title != "" { + remuxOpt.Title = title + } + + if desc := strings.TrimSpace(result.Info.Description); desc != "" { + remuxOpt.Description = desc + } + + if u := strings.TrimSpace(sourceUrl.String()); u != "" { + remuxOpt.Comment = u + } + + if author := clean.Name(result.Info.Artist); author != "" { + remuxOpt.Author = author + } else if author = clean.Name(result.Info.AlbumArtist); author != "" { + remuxOpt.Author = author + } else if author = clean.Name(result.Info.Creator); author != "" { + remuxOpt.Author = author + } else if author = clean.Name(result.Info.License); author != "" { + remuxOpt.Author = author + } + + if result.Info.Timestamp > 1 { + sec, dec := math.Modf(result.Info.Timestamp) + remuxOpt.Created = time.Unix(int64(sec), int64(dec*(1e9))) + } + + if remuxErr := ffmpeg.RemuxFile(downloadFilePath, "", remuxOpt); remuxErr != nil { + return remuxErr + } } log.Infof("importing %s to %s", mediaType, clean.Log(filepath.Join(conf.OriginalsPath(), destFolder))) diff --git a/internal/commands/reset.go b/internal/commands/reset.go index 03d7b3186..aea8e4431 100644 --- a/internal/commands/reset.go +++ b/internal/commands/reset.go @@ -218,6 +218,8 @@ func resetCache(c *config.Config) { } else { log.Infof("found no cache files") } + + entity.FlushCaches() } // resetSidecarJson removes generated *.json sidecar files. diff --git a/internal/commands/show_config_options.go b/internal/commands/show_config_options.go index 68db37894..c9cf136c8 100644 --- a/internal/commands/show_config_options.go +++ b/internal/commands/show_config_options.go @@ -2,6 +2,7 @@ package commands import ( "fmt" + "strings" "github.com/sirupsen/logrus" "github.com/urfave/cli/v2" @@ -34,13 +35,19 @@ func showConfigOptionsAction(ctx *cli.Context) error { return err } + markDown := ctx.Bool("md") sections := config.OptionsReportSections j := 0 for i, section := range sections { - fmt.Printf("### %s ###\n\n", section.Title) - if section.Info != "" && ctx.Bool("md") { + if markDown { + fmt.Printf("### %s\n\n", section.Title) + } else { + fmt.Printf("%s\n\n", strings.ToUpper(section.Title)) + } + + if section.Info != "" && markDown { fmt.Printf("%s\n\n", section.Info) } diff --git a/internal/commands/show_config_yaml.go b/internal/commands/show_config_yaml.go index e6195cb41..57e456850 100644 --- a/internal/commands/show_config_yaml.go +++ b/internal/commands/show_config_yaml.go @@ -2,6 +2,7 @@ package commands import ( "fmt" + "strings" "github.com/sirupsen/logrus" "github.com/urfave/cli/v2" @@ -34,13 +35,19 @@ func showConfigYamlAction(ctx *cli.Context) error { return err } + markDown := ctx.Bool("md") sections := config.YamlReportSections j := 0 for i, section := range sections { - fmt.Printf("### %s ###\n\n", section.Title) - if section.Info != "" && ctx.Bool("md") { + if markDown { + fmt.Printf("### %s\n\n", section.Title) + } else { + fmt.Printf("%s\n\n", strings.ToUpper(section.Title)) + } + + if section.Info != "" && markDown { fmt.Printf("%s\n\n", section.Info) } diff --git a/internal/commands/users_legacy_test.go b/internal/commands/users_legacy_test.go index 4e125cdf2..c6cc22f6e 100644 --- a/internal/commands/users_legacy_test.go +++ b/internal/commands/users_legacy_test.go @@ -14,6 +14,6 @@ func TestUsersLegacyCommand(t *testing.T) { // Check command output for plausibility. //t.Logf(output) assert.NoError(t, err) - assert.Contains(t, output, "| ID | UID | Name | User | Email | Admin | Created At |") + assert.Contains(t, output, "│ ID │ UID │ Name │ User │ Email │ Admin │ Created At │") }) } diff --git a/internal/commands/users_test.go b/internal/commands/users_test.go index f27b7a37d..cf23ea19b 100644 --- a/internal/commands/users_test.go +++ b/internal/commands/users_test.go @@ -43,7 +43,7 @@ func TestUsersCommand(t *testing.T) { assert.Contains(t, output4, "Johnny") assert.Contains(t, output4, "admin") assert.Contains(t, output4, "johnnny@test.de") - assert.Contains(t, output4, "| DeletedAt | ") + assert.Contains(t, output4, "│ DeletedAt │ ") // Remove John // Run command with test context. @@ -62,7 +62,7 @@ func TestUsersCommand(t *testing.T) { assert.Contains(t, output6, "Johnny") assert.Contains(t, output6, "admin") assert.Contains(t, output6, "johnnny@test.de") - assert.Contains(t, output6, "| DeletedAt | time.Date") - assert.NotContains(t, output6, "| DeletedAt | ") + assert.Contains(t, output6, "│ DeletedAt │ time.Date") + assert.NotContains(t, output6, "│ DeletedAt │ ") }) } diff --git a/internal/commands/vision_run.go b/internal/commands/vision_run.go index abcc35a04..d70dd76b6 100644 --- a/internal/commands/vision_run.go +++ b/internal/commands/vision_run.go @@ -7,24 +7,31 @@ import ( "github.com/photoprism/photoprism/internal/ai/vision" "github.com/photoprism/photoprism/internal/config" + "github.com/photoprism/photoprism/internal/entity" "github.com/photoprism/photoprism/internal/workers" ) // VisionRunCommand configures the command name, flags, and action. var VisionRunCommand = &cli.Command{ Name: "run", - Usage: "Runs a computer vision model", + Usage: "Runs one or more computer vision models on a set of pictures, as specified by the search filter", ArgsUsage: "[filter]", Flags: []cli.Flag{ &cli.StringFlag{ Name: "models", Aliases: []string{"m"}, - Usage: "model types (labels, nsfw, caption)", + Usage: "computer vision `MODELS` to run, e.g. caption, labels, or nsfw", + }, + &cli.StringFlag{ + Name: "source", + Aliases: []string{"s"}, + Value: entity.SrcImage, + Usage: "custom data source `TYPE`, e.g. estimate, image, meta, or manual", }, &cli.BoolFlag{ Name: "force", Aliases: []string{"f"}, - Usage: "force existing metadata to be updated", + Usage: "force existing data to be updated if the source priority is equal to or higher than the current one", }, }, Action: visionRunAction, @@ -34,6 +41,11 @@ var VisionRunCommand = &cli.Command{ func visionRunAction(ctx *cli.Context) error { return CallWithDependencies(ctx, func(conf *config.Config) error { worker := workers.NewVision(conf) - return worker.Start(strings.TrimSpace(ctx.Args().First()), vision.ParseTypes(ctx.String("models")), ctx.Bool("force")) + return worker.Start( + strings.TrimSpace(ctx.Args().First()), + vision.ParseTypes(ctx.String("models")), + ctx.String("source"), + ctx.Bool("force"), + ) }) } diff --git a/internal/config/config.go b/internal/config/config.go index 2fc39c5b0..4395ae2d1 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -51,6 +51,7 @@ import ( "github.com/photoprism/photoprism/internal/config/ttl" "github.com/photoprism/photoprism/internal/entity" "github.com/photoprism/photoprism/internal/mutex" + "github.com/photoprism/photoprism/internal/photoprism/dl" "github.com/photoprism/photoprism/internal/service/hub" "github.com/photoprism/photoprism/internal/service/hub/places" "github.com/photoprism/photoprism/internal/thumb" @@ -59,6 +60,7 @@ import ( "github.com/photoprism/photoprism/pkg/fs" "github.com/photoprism/photoprism/pkg/i18n" "github.com/photoprism/photoprism/pkg/rnd" + "github.com/photoprism/photoprism/pkg/txt" ) var initThumbsMutex sync.Mutex @@ -87,6 +89,11 @@ func init() { LowMem = TotalMem < MinMem } + // Disable entity cache if requested. + if txt.Bool(os.Getenv(EnvVar("disable-photolabelcache"))) { + entity.CachePhotoLabels = false + } + initThumbs() } @@ -278,6 +285,11 @@ func (c *Config) Propagate() { thumb.CachePublic = c.HttpCachePublic() initThumbs() + // Configure video download package. + dl.YtDlpBin = c.YtDlpBin() + dl.FFmpegBin = c.FFmpegBin() + dl.FFprobeBin = c.FFprobeBin() + // Configure computer vision package. vision.AssetsPath = c.AssetsPath() vision.FaceNetModelPath = c.FaceNetModelPath() @@ -300,6 +312,7 @@ func (c *Config) Propagate() { // Set geocoding parameters. places.UserAgent = c.UserAgent() + places.DefaultLocale = c.PlacesLocale() entity.GeoApi = c.GeoApi() // Set session cache duration. @@ -692,15 +705,6 @@ func (c *Config) AutoImport() time.Duration { return time.Duration(c.options.AutoImport) * time.Second } -// GeoApi returns the preferred geocoding api (places, or none). -func (c *Config) GeoApi() string { - if c.options.DisablePlaces { - return "" - } - - return "places" -} - // OriginalsLimit returns the maximum size of originals in MB. func (c *Config) OriginalsLimit() int { if c.options.OriginalsLimit <= 0 || c.options.OriginalsLimit > 100000 { diff --git a/internal/config/config_features.go b/internal/config/config_features.go index ffff376ee..c3f1f5f5f 100644 --- a/internal/config/config_features.go +++ b/internal/config/config_features.go @@ -1,10 +1,19 @@ package config -import "math/bits" +import ( + "math/bits" + + "github.com/photoprism/photoprism/internal/service/hub/places" +) var Sponsor = Env(EnvDemo, EnvSponsor, EnvTest) var Features = Community +// DisableFrontend checks if the web user interface routes should be disabled. +func (c *Config) DisableFrontend() bool { + return c.options.DisableFrontend +} + // DisableSettings checks if users should not be allowed to change settings. func (c *Config) DisableSettings() bool { return c.options.DisableSettings @@ -26,7 +35,7 @@ func (c *Config) DisableWebDAV() bool { // DisablePlaces checks if geocoding and maps should be disabled. func (c *Config) DisablePlaces() bool { - return c.options.DisablePlaces + return c.options.DisablePlaces || len(places.LocationServiceUrls) == 0 } // DisableExifTool checks if ExifTool JSON files should not be created for improved metadata extraction. diff --git a/internal/config/config_features_test.go b/internal/config/config_features_test.go index 0bb7fb5e9..d8f04cb5d 100644 --- a/internal/config/config_features_test.go +++ b/internal/config/config_features_test.go @@ -6,6 +6,16 @@ import ( "github.com/stretchr/testify/assert" ) +func TestConfig_DisableFrontend(t *testing.T) { + c := NewConfig(CliTestContext()) + assert.False(t, c.DisableFrontend()) +} + +func TestConfig_DisableSettings(t *testing.T) { + c := NewConfig(CliTestContext()) + assert.False(t, c.DisableSettings()) +} + func TestConfig_DisableWebDAV(t *testing.T) { c := NewConfig(CliTestContext()) diff --git a/internal/config/config_ffmpeg.go b/internal/config/config_ffmpeg.go index 1dfceb080..1c0edfb3a 100644 --- a/internal/config/config_ffmpeg.go +++ b/internal/config/config_ffmpeg.go @@ -2,6 +2,7 @@ package config import ( "fmt" + "path/filepath" "github.com/photoprism/photoprism/internal/ffmpeg/encode" "github.com/photoprism/photoprism/internal/thumb" @@ -14,6 +15,20 @@ func (c *Config) FFmpegBin() string { return FindBin(c.options.FFmpegBin, encode.FFmpegBin) } +// FFprobeBin returns the ffprobe executable file name. +func (c *Config) FFprobeBin() string { + if ffmpegBin := c.FFmpegBin(); ffmpegBin != "" && fs.FileExistsNotEmpty(ffmpegBin) { + return FindBin(filepath.Join(filepath.Dir(ffmpegBin), encode.FFprobeBin), encode.FFprobeBin) + } + + return FindBin(encode.FFprobeBin) +} + +// YtDlpBin returns the name of the video download executable file, if installed. +func (c *Config) YtDlpBin() string { + return FindBin("yt-dlp", "yt-dl", "youtube-dl", "dl") +} + // FFmpegEnabled checks if FFmpeg is enabled for video transcoding. func (c *Config) FFmpegEnabled() bool { return !c.DisableFFmpeg() diff --git a/internal/config/config_places.go b/internal/config/config_places.go new file mode 100644 index 000000000..8f5579534 --- /dev/null +++ b/internal/config/config_places.go @@ -0,0 +1,20 @@ +package config + +import ( + "github.com/photoprism/photoprism/internal/service/hub/places" + "github.com/photoprism/photoprism/pkg/clean" +) + +// GeoApi returns the preferred geocoding api (places, or none). +func (c *Config) GeoApi() string { + if c.options.DisablePlaces { + return "" + } + + return "places" +} + +// PlacesLocale returns the locale name used for geocoding. +func (c *Config) PlacesLocale() string { + return clean.WebLocale(c.options.PlacesLocale, places.LocalLocale) +} diff --git a/internal/config/config_places_test.go b/internal/config/config_places_test.go new file mode 100644 index 000000000..8798d8615 --- /dev/null +++ b/internal/config/config_places_test.go @@ -0,0 +1,30 @@ +package config + +import ( + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestConfig_GeoApi(t *testing.T) { + c := NewConfig(CliTestContext()) + + assert.Equal(t, "places", c.GeoApi()) + c.options.DisablePlaces = true + assert.Equal(t, "", c.GeoApi()) +} + +func TestConfig_PlacesLocale(t *testing.T) { + c := NewConfig(CliTestContext()) + + c.options.PlacesLocale = "" + assert.Equal(t, "local", c.PlacesLocale()) + c.options.PlacesLocale = "local" + assert.Equal(t, "local", c.PlacesLocale()) + c.options.PlacesLocale = "EN" + assert.Equal(t, "en", c.PlacesLocale()) + c.options.PlacesLocale = "EN_US" + assert.Equal(t, "en-US", c.PlacesLocale()) + c.options.PlacesLocale = "" + assert.Equal(t, "local", c.PlacesLocale()) +} diff --git a/internal/config/config_storage_test.go b/internal/config/config_storage_test.go index 75336722c..10da3c2d6 100644 --- a/internal/config/config_storage_test.go +++ b/internal/config/config_storage_test.go @@ -99,7 +99,6 @@ func TestConfig_UserUploadPath(t *testing.T) { func TestConfig_SidecarPathIsAbs(t *testing.T) { c := NewConfig(CliTestContext()) - assert.Equal(t, true, c.SidecarPathIsAbs()) c.options.SidecarPath = ".photoprism" assert.Equal(t, false, c.SidecarPathIsAbs()) @@ -107,16 +106,24 @@ func TestConfig_SidecarPathIsAbs(t *testing.T) { func TestConfig_SidecarWritable(t *testing.T) { c := NewConfig(CliTestContext()) - assert.Equal(t, true, c.SidecarWritable()) } func TestConfig_FFmpegBin(t *testing.T) { c := NewConfig(CliTestContext()) - assert.True(t, strings.Contains(c.FFmpegBin(), "/bin/ffmpeg")) } +func TestConfig_FFprobeBin(t *testing.T) { + c := NewConfig(CliTestContext()) + assert.True(t, strings.Contains(c.FFprobeBin(), "/bin/ffprobe")) +} + +func TestConfig_YtDlpBin(t *testing.T) { + c := NewConfig(CliTestContext()) + assert.True(t, strings.Contains(c.YtDlpBin(), "/bin/yt-dlp")) +} + func TestConfig_TempPath(t *testing.T) { c := NewConfig(CliTestContext()) diff --git a/internal/config/config_test.go b/internal/config/config_test.go index 063d7ed86..2de4a44f6 100644 --- a/internal/config/config_test.go +++ b/internal/config/config_test.go @@ -316,14 +316,6 @@ func TestConfig_AutoImport(t *testing.T) { assert.Equal(t, 2*time.Hour, c.AutoImport()) } -func TestConfig_GeoApi(t *testing.T) { - c := NewConfig(CliTestContext()) - - assert.Equal(t, "places", c.GeoApi()) - c.options.DisablePlaces = true - assert.Equal(t, "", c.GeoApi()) -} - func TestConfig_OriginalsLimit(t *testing.T) { c := NewConfig(CliTestContext()) diff --git a/internal/config/flags.go b/internal/config/flags.go index 8eeabd975..70e996f47 100644 --- a/internal/config/flags.go +++ b/internal/config/flags.go @@ -10,6 +10,7 @@ import ( "github.com/photoprism/photoprism/internal/config/ttl" "github.com/photoprism/photoprism/internal/entity" "github.com/photoprism/photoprism/internal/ffmpeg/encode" + "github.com/photoprism/photoprism/internal/service/hub/places" "github.com/photoprism/photoprism/internal/thumb" "github.com/photoprism/photoprism/pkg/authn" "github.com/photoprism/photoprism/pkg/i18n" @@ -353,7 +354,7 @@ var Flags = CliFlags{ Usage: "maximum `NUMBER` of indexing workers, default depends on the number of physical cores", Value: cpuid.CPU.PhysicalCores / 2, EnvVars: EnvVars("INDEX_WORKERS", "WORKERS"), - }}, { + }, DocDefault: " "}, { Flag: &cli.StringFlag{ Name: "index-schedule", Usage: "indexing `SCHEDULE` in cron format (e.g. \"@every 3h\" for every 3 hours; \"\" to disable)", @@ -391,9 +392,14 @@ var Flags = CliFlags{ Usage: "enable new features that may be incomplete or unstable", EnvVars: EnvVars("EXPERIMENTAL"), }}, { + Flag: &cli.BoolFlag{ + Name: "disable-frontend", + Usage: "disable the web user interface so that only the service API endpoints are accessible", + EnvVars: EnvVars("DISABLE_FRONTEND"), + }}, { Flag: &cli.BoolFlag{ Name: "disable-settings", - Usage: "disable the settings user interface and server API, e.g. in combination with public mode", + Usage: "disable the settings frontend and related API endpoints, e.g. in combination with public mode", EnvVars: EnvVars("DISABLE_SETTINGS"), }}, { Flag: &cli.BoolFlag{ @@ -510,6 +516,12 @@ var Flags = CliFlags{ Usage: "default user interface theme `NAME`", EnvVars: EnvVars("DEFAULT_THEME"), }}, { + Flag: &cli.StringFlag{ + Name: "places-locale", + Usage: "location details language `CODE`, e.g. en, de, or local", + Value: places.LocalLocale, + EnvVars: EnvVars("PLACES_LOCALE"), + }}, { Flag: &cli.StringFlag{ Name: "app-name", Usage: "progressive web app `NAME` when installed on a device", diff --git a/internal/config/options.go b/internal/config/options.go index 855bc23df..b54add1ba 100644 --- a/internal/config/options.go +++ b/internal/config/options.go @@ -94,6 +94,7 @@ type Options struct { AutoImport int `yaml:"AutoImport" json:"AutoImport" flag:"auto-import"` ReadOnly bool `yaml:"ReadOnly" json:"ReadOnly" flag:"read-only"` Experimental bool `yaml:"Experimental" json:"Experimental" flag:"experimental"` + DisableFrontend bool `yaml:"DisableFrontend" json:"-" flag:"disable-frontend"` DisableSettings bool `yaml:"DisableSettings" json:"-" flag:"disable-settings"` DisableBackups bool `yaml:"DisableBackups" json:"DisableBackups" flag:"disable-backups"` DisableRestart bool `yaml:"DisableRestart" json:"-" flag:"disable-restart"` @@ -118,6 +119,7 @@ type Options struct { DefaultLocale string `yaml:"DefaultLocale" json:"DefaultLocale" flag:"default-locale"` DefaultTimezone string `yaml:"DefaultTimezone" json:"DefaultTimezone" flag:"default-timezone"` DefaultTheme string `yaml:"DefaultTheme" json:"DefaultTheme" flag:"default-theme"` + PlacesLocale string `yaml:"PlacesLocale" json:"PlacesLocale" flag:"places-locale"` AppName string `yaml:"AppName" json:"AppName" flag:"app-name"` AppMode string `yaml:"AppMode" json:"AppMode" flag:"app-mode"` AppIcon string `yaml:"AppIcon" json:"AppIcon" flag:"app-icon"` diff --git a/internal/config/report.go b/internal/config/report.go index e87ef11ba..4352650ee 100644 --- a/internal/config/report.go +++ b/internal/config/report.go @@ -110,6 +110,7 @@ func (c *Config) Report() (rows [][]string, cols []string) { {"read-only", fmt.Sprintf("%t", c.ReadOnly())}, {"develop", fmt.Sprintf("%t", c.Develop())}, {"experimental", fmt.Sprintf("%t", c.Experimental())}, + {"disable-frontend", fmt.Sprintf("%t", c.DisableFrontend())}, {"disable-settings", fmt.Sprintf("%t", c.DisableSettings())}, {"disable-backups", fmt.Sprintf("%t", c.DisableBackups())}, {"disable-restart", fmt.Sprintf("%t", c.DisableRestart())}, @@ -139,6 +140,7 @@ func (c *Config) Report() (rows [][]string, cols []string) { {"default-locale", c.DefaultLocale()}, {"default-timezone", c.DefaultTimezone().String()}, {"default-theme", c.DefaultTheme()}, + {"places-locale", c.PlacesLocale()}, {"app-name", c.AppName()}, {"app-mode", c.AppMode()}, {"app-icon", c.AppIcon()}, diff --git a/internal/config/report_sections.go b/internal/config/report_sections.go index 0efec7707..46844bb68 100644 --- a/internal/config/report_sections.go +++ b/internal/config/report_sections.go @@ -15,7 +15,7 @@ We recommend that only advanced users change these parameters:` // OptionsReportSections is used to generate config options reports in ../commands/show_config_options.go. var OptionsReportSections = []ReportSection{ - {Start: "PHOTOPRISM_ADMIN_PASSWORD", Title: "Authentication"}, + {Start: "PHOTOPRISM_AUTH_MODE", Title: "Authentication"}, {Start: "PHOTOPRISM_LOG_LEVEL", Title: "Logging"}, {Start: "PHOTOPRISM_CONFIG_PATH", Title: "Storage"}, {Start: "PHOTOPRISM_SIDECAR_PATH", Title: "Sidecar Files"}, @@ -25,7 +25,7 @@ var OptionsReportSections = []ReportSection{ {Start: "PHOTOPRISM_READONLY", Title: "Feature Flags"}, {Start: "PHOTOPRISM_DEFAULT_LOCALE", Title: "Customization"}, {Start: "PHOTOPRISM_SITE_URL", Title: "Site Information"}, - {Start: "PHOTOPRISM_HTTPS_PROXY", Title: "Proxy Servers"}, + {Start: "PHOTOPRISM_HTTPS_PROXY", Title: "Proxy Server"}, {Start: "PHOTOPRISM_DISABLE_TLS", Title: "Web Server"}, {Start: "PHOTOPRISM_DATABASE_DRIVER", Title: "Database Connection"}, {Start: "PHOTOPRISM_FFMPEG_BIN", Title: "File Conversion"}, @@ -49,9 +49,10 @@ var YamlReportSections = []ReportSection{ {Start: "BackupPath", Title: "Backup"}, {Start: "IndexWorkers", Title: "Indexing"}, {Start: "ReadOnly", Title: "Feature Flags"}, - {Start: "DefaultTheme", Title: "Customization"}, + {Start: "DefaultLocale", Title: "Customization"}, {Start: "SiteUrl", Title: "Site Information"}, - {Start: "HttpsProxy", Title: "Web Server"}, + {Start: "HttpsProxy", Title: "Proxy Server"}, + {Start: "DisableTLS", Title: "Web Server"}, {Start: "DatabaseDriver", Title: "Database Connection"}, {Start: "FFmpegBin", Title: "File Conversion"}, {Start: "DownloadToken", Title: "Security Tokens"}, diff --git a/internal/entity/album_fixtures.go b/internal/entity/album_fixtures.go index b48a07e01..f36b26366 100644 --- a/internal/entity/album_fixtures.go +++ b/internal/entity/album_fixtures.go @@ -714,8 +714,8 @@ var AlbumFixtures = AlbumMap{ AlbumDay: 0, AlbumFavorite: false, AlbumPrivate: false, - CreatedAt: time.Date(2020, 1, 1, 0, 0, 0, 0, time.UTC), - UpdatedAt: time.Date(2020, 2, 1, 0, 0, 0, 0, time.UTC), + CreatedAt: time.Date(2024, 1, 1, 0, 0, 0, 0, time.UTC), + UpdatedAt: time.Date(2024, 3, 1, 0, 0, 0, 0, time.UTC), DeletedAt: nil, }, "red|green": { @@ -739,8 +739,8 @@ var AlbumFixtures = AlbumMap{ AlbumDay: 0, AlbumFavorite: false, AlbumPrivate: false, - CreatedAt: time.Date(2020, 1, 1, 0, 0, 0, 0, time.UTC), - UpdatedAt: time.Date(2020, 2, 1, 0, 0, 0, 0, time.UTC), + CreatedAt: time.Date(2016, 1, 1, 0, 0, 0, 0, time.UTC), + UpdatedAt: time.Date(2025, 2, 1, 0, 0, 0, 0, time.UTC), DeletedAt: nil, }, "germany": { @@ -793,6 +793,106 @@ var AlbumFixtures = AlbumMap{ UpdatedAt: time.Date(2020, 2, 1, 0, 0, 0, 0, time.UTC), DeletedAt: nil, }, + "november-2015": { + ID: 1000031, + AlbumUID: "as6sg6bipogaaiu3", + AlbumSlug: "november-2015", + AlbumPath: "2015/11", + AlbumType: AlbumFolder, + AlbumTitle: "November 2015", + AlbumLocation: "", + AlbumCategory: "", + AlbumCaption: "", + AlbumDescription: "", + AlbumNotes: "", + AlbumFilter: "path:\"2015/11\" public:true", + AlbumOrder: "added", + AlbumTemplate: "", + AlbumCountry: "", + AlbumYear: 2015, + AlbumMonth: 11, + AlbumDay: 30, + AlbumFavorite: false, + AlbumPrivate: false, + CreatedAt: time.Date(2019, 7, 1, 0, 0, 0, 0, time.UTC), + UpdatedAt: time.Date(2020, 2, 1, 0, 0, 0, 0, time.UTC), + DeletedAt: nil, + }, + "holiday": { + ID: 1000032, + AlbumUID: "as6sg6bipogaaiu4", + AlbumSlug: "holiday", + AlbumPath: "Holiday", + AlbumType: AlbumFolder, + AlbumTitle: "Holiday", + AlbumLocation: "", + AlbumCategory: "", + AlbumCaption: "", + AlbumDescription: "", + AlbumNotes: "", + AlbumFilter: "path:\"Holiday\" public:true", + AlbumOrder: "added", + AlbumTemplate: "", + AlbumCountry: "", + AlbumYear: 2020, + AlbumMonth: 11, + AlbumDay: 30, + AlbumFavorite: true, + AlbumPrivate: false, + CreatedAt: time.Date(2019, 7, 1, 0, 0, 0, 0, time.UTC), + UpdatedAt: time.Date(2020, 2, 1, 0, 0, 0, 0, time.UTC), + DeletedAt: nil, + }, + "france-2020": { + ID: 1000033, + AlbumUID: "as6sg6bipogaaiu5", + AlbumSlug: "france-2020", + AlbumPath: "", + AlbumType: AlbumMoment, + AlbumTitle: "France 2020", + AlbumLocation: "France", + AlbumCategory: "", + AlbumCaption: "", + AlbumDescription: "", + AlbumNotes: "", + AlbumFilter: "year:2020 country:fr public:true", + AlbumOrder: "added", + AlbumTemplate: "", + AlbumCountry: "", + AlbumYear: 2020, + AlbumMonth: 0, + AlbumDay: 0, + AlbumFavorite: true, + AlbumPrivate: false, + CreatedAt: time.Date(2018, 7, 1, 0, 0, 0, 0, time.UTC), + UpdatedAt: time.Date(2020, 2, 1, 0, 0, 0, 0, time.UTC), + DeletedAt: nil, + }, + "greece-2024": { + ID: 1000034, + AlbumUID: "as6sg6bipogaaiu6", + AlbumSlug: "greece-2024", + AlbumPath: "", + AlbumType: AlbumMoment, + AlbumTitle: "Greece 2024", + AlbumLocation: "Greece", + AlbumCategory: "", + AlbumCaption: "", + AlbumDescription: "", + AlbumNotes: "", + AlbumFilter: "year:2024 country:gr public:true", + AlbumOrder: "added", + AlbumTemplate: "", + AlbumCountry: "", + AlbumYear: 2024, + AlbumMonth: 0, + AlbumDay: 0, + AlbumFavorite: false, + AlbumPrivate: false, + CreatedAt: time.Date(2024, 7, 1, 0, 0, 0, 0, time.UTC), + UpdatedAt: time.Date(2025, 2, 1, 0, 0, 0, 0, time.UTC), + DeletedAt: nil, + }, } // CreateAlbumFixtures inserts known entities into the database for testing. diff --git a/internal/entity/auth_session.go b/internal/entity/auth_session.go index 392cef5b3..3a66962ef 100644 --- a/internal/entity/auth_session.go +++ b/internal/entity/auth_session.go @@ -662,7 +662,7 @@ func (m *Session) SetContext(c *gin.Context) *Session { } // Set client user agent from request context. - if ua := header.UserAgent(c); ua != "" { + if ua := header.ClientUserAgent(c); ua != "" { m.SetUserAgent(ua) } @@ -688,7 +688,7 @@ func (m *Session) UpdateContext(c *gin.Context) *Session { } // Set client user agent from request context. - if ua := header.UserAgent(c); ua != "" && ua != m.UserAgent { + if ua := header.ClientUserAgent(c); ua != "" && ua != m.UserAgent { m.SetUserAgent(ua) changed = true } diff --git a/internal/entity/camera_makes.go b/internal/entity/camera_makes.go index 396ecbf34..eed3161cf 100644 --- a/internal/entity/camera_makes.go +++ b/internal/entity/camera_makes.go @@ -6,6 +6,7 @@ const ( MakeApple = "Apple" MakeAsus = "ASUS" MakeCanon = "Canon" + MakeEpson = "EPSON" MakeNikon = "NIKON" MakeGoogle = "Google" MakeMotorola = "Motorola" @@ -107,4 +108,5 @@ var CameraMakes = map[string]string{ "Research In Motion": MakeBlackBerry, "Sony": MakeSony, "VenTrade GmbH, Germany": MakeVenTrade, + "Epson": MakeEpson, } diff --git a/internal/entity/camera_models.go b/internal/entity/camera_models.go index c98e4f685..13c8113b0 100644 --- a/internal/entity/camera_models.go +++ b/internal/entity/camera_models.go @@ -7,6 +7,8 @@ const ( ModelDigitDia7000 = "DigitDia 7000" ModelPhotoScan = "PhotoScan" ModelCanoScan = "CanoScan" + ModelPerfection = "Perfection" + ModelFastFoto = "FastFoto" ModelOpticFilm = "OpticFilm" ModelScanSnap = "ScanSnap" ModelMSScanner = "MS Scanner" diff --git a/internal/entity/camera_types.go b/internal/entity/camera_types.go index 170e0ceeb..b4c81790c 100644 --- a/internal/entity/camera_types.go +++ b/internal/entity/camera_types.go @@ -31,6 +31,7 @@ var CameraTypes = map[string]CameraType{ ModelPhotoScan: CameraTypeScanner, "170 7472F20EEC14": CameraTypeScanner, ModelCanoScan: CameraTypeScanner, + ModelPerfection: CameraTypeScanner, ModelScanSnap: CameraTypeScanner, ModelOpticFilm: CameraTypeScanner, ModelSlideNScan: CameraTypeFilm, @@ -92,6 +93,10 @@ func GetCameraType(makeName string, modelName string) CameraType { } else if strings.HasPrefix(modelName, "Power") { return CameraTypeCompact } + case MakeEpson: + if strings.HasPrefix(modelName, ModelPerfection) || strings.HasPrefix(modelName, ModelFastFoto) { + return CameraTypeScanner + } case MakeSony: if strings.HasPrefix(modelName, "Alpha") { return CameraTypeBody diff --git a/internal/entity/camera_types_test.go b/internal/entity/camera_types_test.go index 99d6dc758..291bacf6b 100644 --- a/internal/entity/camera_types_test.go +++ b/internal/entity/camera_types_test.go @@ -307,4 +307,20 @@ func TestCamera_CameraType(t *testing.T) { assert.True(t, camera.Scanner()) assert.False(t, camera.Mobile()) }) + t.Run("Epson Perfection", func(t *testing.T) { + camera := NewCamera("EPSON", "Perfection V800/V850") + assert.Equal(t, CameraTypeScanner, camera.CameraType) + assert.Equal(t, "EPSON", camera.CameraMake) + assert.Equal(t, "Perfection V800/V850", camera.CameraModel) + assert.True(t, camera.Scanner()) + assert.False(t, camera.Mobile()) + }) + t.Run("Epson FastFoto", func(t *testing.T) { + camera := NewCamera("EPSON", "FastFoto FF-680W") + assert.Equal(t, CameraTypeScanner, camera.CameraType) + assert.Equal(t, "EPSON", camera.CameraMake) + assert.Equal(t, "FastFoto FF-680W", camera.CameraModel) + assert.True(t, camera.Scanner()) + assert.False(t, camera.Mobile()) + }) } diff --git a/internal/entity/entity.go b/internal/entity/entity.go index 078dcba2a..1ad36a80e 100644 --- a/internal/entity/entity.go +++ b/internal/entity/entity.go @@ -38,3 +38,14 @@ func Log(model, action string, err error) { log.Errorf("%s: %s (%s)", model, err, action) } } + +// FlushCaches flushes all in-memory entity caches. +func FlushCaches() { + FlushAlbumCache() + FlushCameraCache() + FlushLensCache() + FlushCountryCache() + FlushLabelCache() + FlushPhotoLabelCache() + FlushSessionCache() +} diff --git a/internal/entity/file.go b/internal/entity/file.go index c0775f8bc..652ed03af 100644 --- a/internal/entity/file.go +++ b/internal/entity/file.go @@ -591,7 +591,7 @@ func (m *File) RelatedPhoto() *Photo { return &photo } -// NoJPEG returns true if the file is not a JPEG image. +// NoJpeg returns true if the file is not a JPEG image. func (m *File) NoJpeg() bool { return fs.ImageJpeg.NotEqual(m.FileType) } diff --git a/internal/entity/label_cache.go b/internal/entity/label_cache.go index c471223a8..e673e6058 100644 --- a/internal/entity/label_cache.go +++ b/internal/entity/label_cache.go @@ -1,7 +1,9 @@ package entity import ( + "errors" "fmt" + "sync" "time" gc "github.com/patrickmn/go-cache" @@ -10,45 +12,116 @@ import ( "github.com/photoprism/photoprism/pkg/txt" ) -// labelCache expiration times and cleanup interval. +// Label and PhotoLabel cache expiration times and cleanup interval. const ( - labelDefaultExpiration = 15 * time.Minute - labelErrorExpiration = 5 * time.Minute - labelCleanupInterval = 5 * time.Minute + labelCacheDefaultExpiration = 15 * time.Minute + labelCacheErrorExpiration = 5 * time.Minute + labelCacheCleanupInterval = 10 * time.Minute + photoLabelCacheExpiration = time.Hour ) -// labelCache stores Label entities for faster indexing. -var labelCache = gc.New(labelDefaultExpiration, labelCleanupInterval) +// Cache Label and PhotoLabel entities for faster indexing. +var ( + CachePhotoLabels = true + labelCache = gc.New(labelCacheDefaultExpiration, labelCacheCleanupInterval) + photoLabelCache = gc.New(photoLabelCacheExpiration, labelCacheCleanupInterval) + photoLabelCacheMutex = sync.Mutex{} +) + +// photoLabelCacheKey returns a string key for the photoLabelCache. +func photoLabelCacheKey(photoId, labelId uint) string { + return fmt.Sprintf("%d-%d", photoId, labelId) +} + +// FlushLabelCache removes all cached Label entities from the cache. +func FlushLabelCache() { + labelCache.Flush() +} + +// FlushPhotoLabelCache removes all cached PhotoLabel entities from the cache. +func FlushPhotoLabelCache() { + if !CachePhotoLabels { + return + } + + photoLabelCacheMutex.Lock() + defer photoLabelCacheMutex.Unlock() + + photoLabelCache.Flush() +} + +// FlushCachedPhotoLabel deletes a cached PhotoLabel entity from the cache. +func FlushCachedPhotoLabel(m *PhotoLabel) { + if m == nil || !CachePhotoLabels { + return + } else if m.HasID() { + photoLabelCache.Delete(photoLabelCacheKey(m.PhotoID, m.LabelID)) + } +} + +// WarmPhotoLabelCache warms up the PhotoLabel cache. +func WarmPhotoLabelCache() (err error) { + if !CachePhotoLabels { + return nil + } + + photoLabelCacheMutex.Lock() + defer photoLabelCacheMutex.Unlock() + + var photoLabels []PhotoLabel + + // Find photo label assignments. + if err = UnscopedDb(). + Raw("SELECT * FROM photos_labels"). + Scan(&photoLabels).Error; err != nil { + return err + } + + // Cache existing label assignments. + for _, m := range photoLabels { + photoLabelCache.SetDefault(m.CacheKey(), m) + } + + return nil +} // FindLabel find the matching label based on the name provided or an error if not found. func FindLabel(name string, cached bool) (*Label, error) { - labelSlug := txt.Slug(name) + if name == "" { + return &Label{}, errors.New("missing label name") + } - if labelSlug == "" { - return &Label{}, fmt.Errorf("invalid label slug %s", clean.LogQuote(labelSlug)) + // Use the label slug as natural key cache. + cacheKey := txt.Slug(name) + + if cacheKey == "" { + return &Label{}, fmt.Errorf("invalid label slug %s", clean.LogQuote(cacheKey)) } // Return cached label, if found. if cached { - if cacheData, ok := labelCache.Get(labelSlug); ok { - log.Tracef("label: cache hit for %s", labelSlug) + if cacheData, ok := labelCache.Get(cacheKey); ok { + log.Tracef("label: cache hit for %s", cacheKey) - if result := cacheData.(*Label); !result.HasID() { - return &Label{}, fmt.Errorf("label not found") - } else { + // Get cached data. + if result := cacheData.(*Label); result.HasID() { + // Return cached entity. return result, nil + } else { + // Return cached "not found" error. + return &Label{}, fmt.Errorf("label not found") } } } - // Fetch and cache label from database. + // Fetch and cache label. result := &Label{} - if find := Db().First(result, "(label_slug <> '' AND label_slug = ? OR custom_slug <> '' AND custom_slug = ?)", labelSlug, labelSlug); find.RecordNotFound() { - labelCache.Set(labelSlug, result, labelErrorExpiration) + if find := Db().First(result, "(label_slug <> '' AND label_slug = ? OR custom_slug <> '' AND custom_slug = ?)", cacheKey, cacheKey); find.RecordNotFound() { + labelCache.Set(cacheKey, result, labelCacheErrorExpiration) return result, fmt.Errorf("label not found") } else if find.Error != nil { - labelCache.Set(labelSlug, result, labelErrorExpiration) + labelCache.Set(cacheKey, result, labelCacheErrorExpiration) return result, find.Error } else { labelCache.SetDefault(result.LabelSlug, result) @@ -57,7 +130,52 @@ func FindLabel(name string, cached bool) (*Label, error) { return result, nil } -// FlushLabelCache removes all cached Label entities from the cache. -func FlushLabelCache() { - labelCache.Flush() +// FindPhotoLabel find a photo label assignment for the specified IDs. +func FindPhotoLabel(photoId, labelId uint, cached bool) (*PhotoLabel, error) { + if photoId == 0 { + return &PhotoLabel{}, errors.New("invalid photo id") + } else if labelId == 0 { + return &PhotoLabel{}, errors.New("invalid label id") + } + + cacheKey := photoLabelCacheKey(photoId, labelId) + + if cacheKey == "" { + return &PhotoLabel{}, fmt.Errorf("invalid cache key %s", clean.LogQuote(cacheKey)) + } + + // Return cached label, if found. + if cached && CachePhotoLabels { + if cacheData, ok := photoLabelCache.Get(cacheKey); ok { + log.Tracef("photo-label: cache hit for %s", cacheKey) + + // Get cached data. + if result := cacheData.(PhotoLabel); result.HasID() { + // Return cached entity. + return &result, nil + } else { + // Return cached "not found" error. + return &PhotoLabel{}, fmt.Errorf("photo-label not found") + } + } + } + + // Fetch and cache photo-label. + result := &PhotoLabel{} + + if find := Db().First(result, "photo_id = ? AND label_id = ?", photoId, labelId); find.RecordNotFound() { + if CachePhotoLabels { + photoLabelCache.Set(cacheKey, *result, labelCacheErrorExpiration) + } + return result, fmt.Errorf("photo-label not found") + } else if find.Error != nil { + if CachePhotoLabels { + photoLabelCache.Set(cacheKey, *result, labelCacheErrorExpiration) + } + return result, find.Error + } else if CachePhotoLabels { + photoLabelCache.SetDefault(cacheKey, *result) + } + + return result, nil } diff --git a/internal/entity/label_cache_test.go b/internal/entity/label_cache_test.go index a5b03da75..572c0135d 100644 --- a/internal/entity/label_cache_test.go +++ b/internal/entity/label_cache_test.go @@ -38,3 +38,54 @@ func TestFindLabel(t *testing.T) { assert.NotNil(t, result) }) } + +func TestFindPhotoLabel(t *testing.T) { + t.Run("Success", func(t *testing.T) { + if err := WarmPhotoLabelCache(); err != nil { + t.Fatal(err) + } + + // See PhotoFixtures and LabelFixtures for test data. + m := &PhotoLabel{PhotoID: 1000000, LabelID: 1000001} + + cached, err := FindPhotoLabel(m.PhotoID, m.LabelID, true) + + assert.NoError(t, err) + assert.Equal(t, m.LabelID, cached.LabelID) + assert.Equal(t, m.PhotoID, cached.PhotoID) + assert.Equal(t, SrcImage, cached.LabelSrc) + assert.Equal(t, 38, cached.Uncertainty) + + FlushPhotoLabelCache() + + cached, err = FindPhotoLabel(m.PhotoID, m.LabelID, true) + + assert.NoError(t, err) + assert.Equal(t, m.LabelID, cached.LabelID) + assert.Equal(t, m.PhotoID, cached.PhotoID) + assert.Equal(t, SrcImage, cached.LabelSrc) + assert.Equal(t, 38, cached.Uncertainty) + }) + t.Run("NotFound", func(t *testing.T) { + result, err := FindPhotoLabel(1, 99999999, true) + assert.Error(t, err) + assert.NotNil(t, result) + result, err = FindPhotoLabel(1, 99999999, false) + assert.Error(t, err) + assert.NotNil(t, result) + result, err = FindPhotoLabel(1, 99999999, true) + assert.Error(t, err) + assert.NotNil(t, result) + }) + t.Run("InvalidID", func(t *testing.T) { + result, err := FindPhotoLabel(0, 0, true) + assert.Error(t, err) + assert.NotNil(t, result) + result, err = FindPhotoLabel(0, 0, false) + assert.Error(t, err) + assert.NotNil(t, result) + result, err = FindPhotoLabel(0, 0, true) + assert.Error(t, err) + assert.NotNil(t, result) + }) +} diff --git a/internal/entity/photo.go b/internal/entity/photo.go index babb45dd4..ee063330c 100644 --- a/internal/entity/photo.go +++ b/internal/entity/photo.go @@ -245,6 +245,69 @@ func (m *Photo) GetUID() string { return m.PhotoUID } +// MediaType returns the current PhotoType as media.Type. +func (m *Photo) MediaType() media.Type { + return media.Type(m.PhotoType) +} + +// ResetMediaType resets the media type and source to the defaults. +func (m *Photo) ResetMediaType(resetSrc string) { + if m.PhotoType != "" && SrcPriority[m.TypeSrc] > SrcPriority[resetSrc] { + return + } + + m.PhotoType = MediaImage + m.TypeSrc = SrcAuto +} + +// ResetDuration sets the video duration to 0. +func (m *Photo) ResetDuration() { + m.PhotoDuration = 0 +} + +// HasMediaType checks if the photo has any of the specified media types. +func (m *Photo) HasMediaType(types ...media.Type) bool { + mediaType := m.MediaType() + + for _, t := range types { + if mediaType == t { + return true + } + } + + return false +} + +// SetMediaType sets a new media type if its priority is higher than that of the current type. +func (m *Photo) SetMediaType(newType media.Type, typeSrc string) { + // Only allow a new main media type to be set. + if !newType.IsMain() || newType.Equal(m.PhotoType) { + return + } + + // Get current media type. + currentType := m.MediaType() + + // Do not change the type if the source priority is lower than the current one. + if SrcPriority[typeSrc] < SrcPriority[m.TypeSrc] && currentType.IsMain() { + return + } + + // Do not automatically change a higher priority type to a lower one. + if SrcPriority[typeSrc] <= SrcPriority[SrcFile] && media.Priority[newType] < media.Priority[currentType] { + return + } + + // Set new type and type source. + m.PhotoType = newType.String() + m.TypeSrc = typeSrc + + // Write a debug log containing the old and new media type. + log.Debugf("photo: changed type of %s from %s to %s", m.String(), currentType.String(), newType.String()) + + return +} + // String returns the id or name as string. func (m *Photo) String() string { if m == nil { @@ -715,7 +778,7 @@ func (m *Photo) AddLabels(labels classify.Labels) { continue } - if photoLabel.Uncertainty > classifyLabel.Uncertainty && photoLabel.Uncertainty < 100 { + if photoLabel.HasID() && photoLabel.Uncertainty > classifyLabel.Uncertainty && photoLabel.Uncertainty < 100 { if err := photoLabel.Updates(map[string]interface{}{ "Uncertainty": classifyLabel.Uncertainty, "LabelSrc": classifyLabel.Source, diff --git a/internal/entity/photo_caption.go b/internal/entity/photo_caption.go index 43da14ea5..7992b441b 100644 --- a/internal/entity/photo_caption.go +++ b/internal/entity/photo_caption.go @@ -1,7 +1,6 @@ package entity import ( - "github.com/photoprism/photoprism/internal/ai/classify" "github.com/photoprism/photoprism/pkg/txt" ) @@ -61,10 +60,22 @@ func (m *Photo) UpdateCaptionLabels() error { return nil } else if !m.HasCaption() { return nil - } else if SrcPriority[m.GetCaptionSrc()] < SrcPriority[SrcMeta] { + } + + captionSrcPriority := SrcPriority[m.GetCaptionSrc()] + + if captionSrcPriority < SrcPriority[SrcImage] { return nil } + var uncertainty int + + if captionSrcPriority < SrcPriority[SrcMeta] { + uncertainty = 20 + } else { + uncertainty = 15 + } + keywords := txt.UniqueKeywords(m.GetCaption()) var labelIds []uint @@ -76,9 +87,9 @@ func (m *Photo) UpdateCaptionLabels() error { } labelIds = append(labelIds, label.ID) - FirstOrCreatePhotoLabel(NewPhotoLabel(m.ID, label.ID, 15, classify.SrcCaption)) + FirstOrCreatePhotoLabel(NewPhotoLabel(m.ID, label.ID, uncertainty, SrcCaption)) } } - return Db().Where("label_src = ? AND photo_id = ? AND label_id NOT IN (?)", classify.SrcCaption, m.ID, labelIds).Delete(&PhotoLabel{}).Error + return Db().Where("label_src = ? AND photo_id = ? AND label_id NOT IN (?)", SrcCaption, m.ID, labelIds).Delete(&PhotoLabel{}).Error } diff --git a/internal/entity/photo_fixtures.go b/internal/entity/photo_fixtures.go index 571f8e236..6cfd08a8f 100644 --- a/internal/entity/photo_fixtures.go +++ b/internal/entity/photo_fixtures.go @@ -2,6 +2,8 @@ package entity import ( "time" + + "github.com/photoprism/photoprism/pkg/media" ) var editTime = time.Date(2008, 1, 1, 0, 0, 0, 0, time.UTC) @@ -33,13 +35,13 @@ var PhotoFixtures = PhotoMap{ PhotoUID: "ps6sg6be2lvl0yh7", TakenAt: time.Date(2008, 7, 1, 10, 0, 0, 0, time.UTC), TakenAtLocal: time.Date(2008, 7, 1, 12, 0, 0, 0, time.UTC), - TakenSrc: "meta", - PhotoType: "image", - TypeSrc: "", + TakenSrc: SrcMeta, + PhotoType: MediaImage, + TypeSrc: SrcAuto, PhotoTitle: "Lake / 2790", - TitleSrc: "", + TitleSrc: SrcAuto, PhotoCaption: "photo caption lake", - CaptionSrc: "meta", + CaptionSrc: SrcMeta, PhotoPath: "2790/07", PhotoName: "27900704_070228_D6D51B6C", OriginalName: "Vacation/exampleFileNameOriginal", @@ -71,7 +73,7 @@ var PhotoFixtures = PhotoMap{ Camera: CameraFixtures.Pointer("canon-eos-6d"), CameraID: CameraFixtures.Pointer("canon-eos-6d").ID, CameraSerial: "", - CameraSrc: "meta", + CameraSrc: SrcMeta, Lens: LensFixtures.Pointer("lens-f-380"), LensID: LensFixtures.Pointer("lens-f-380").ID, Details: DetailsFixtures.Pointer("lake", 1000000), @@ -100,13 +102,13 @@ var PhotoFixtures = PhotoMap{ PhotoUID: "ps6sg6be2lvl0yh8", TakenAt: time.Date(2006, 1, 1, 2, 0, 0, 0, time.UTC), TakenAtLocal: time.Date(2006, 1, 1, 2, 0, 0, 0, time.UTC), - TakenSrc: "meta", - PhotoType: "raw", - TypeSrc: "", + TakenSrc: SrcMeta, + PhotoType: MediaRaw, + TypeSrc: SrcAuto, PhotoTitle: "", - TitleSrc: "", + TitleSrc: SrcAuto, PhotoCaption: "photo caption non-photographic", - CaptionSrc: "", + CaptionSrc: SrcAuto, PhotoPath: "2790/02", PhotoName: "Photo01", OriginalName: "", @@ -117,7 +119,7 @@ var PhotoFixtures = PhotoMap{ TimeZone: "Europe/Berlin", Place: PlaceFixtures.Pointer("Germany"), PlaceID: PlaceFixtures.Pointer("Germany").ID, - PlaceSrc: "manual", + PlaceSrc: SrcManual, Cell: CellFixtures.Pointer("Neckarbrücke"), CellID: CellFixtures.Pointer("Neckarbrücke").ID, CellAccuracy: 0, @@ -161,13 +163,13 @@ var PhotoFixtures = PhotoMap{ PhotoUID: "ps6sg6be2lvl0yh9", TakenAt: time.Date(1990, 3, 2, 0, 0, 0, 0, time.UTC), TakenAtLocal: time.Date(1990, 3, 2, 0, 0, 0, 0, time.UTC), - TakenSrc: "manual", - PhotoType: "image", - TypeSrc: "", + TakenSrc: SrcManual, + PhotoType: MediaImage, + TypeSrc: SrcAuto, PhotoTitle: "", - TitleSrc: "", + TitleSrc: SrcAuto, PhotoCaption: "", - CaptionSrc: "", + CaptionSrc: SrcAuto, PhotoPath: "London", PhotoName: "bridge1", OriginalName: "", @@ -178,7 +180,7 @@ var PhotoFixtures = PhotoMap{ TimeZone: "Local", Place: &UnknownPlace, PlaceID: UnknownPlace.ID, - PlaceSrc: "", + PlaceSrc: SrcAuto, Cell: &UnknownLocation, CellID: UnknownLocation.ID, CellAccuracy: 0, @@ -198,7 +200,7 @@ var PhotoFixtures = PhotoMap{ Camera: CameraFixtures.Pointer("canon-eos-6d"), CameraID: CameraFixtures.Pointer("canon-eos-6d").ID, CameraSerial: "", - CameraSrc: "", + CameraSrc: SrcAuto, Lens: LensFixtures.Pointer("lens-f-380"), LensID: LensFixtures.Pointer("lens-f-380").ID, Details: DetailsFixtures.Pointer("lake", 1000002), @@ -220,8 +222,8 @@ var PhotoFixtures = PhotoMap{ PhotoUID: "ps6sg6be2lvl0yh0", TakenAt: time.Date(1990, 4, 18, 1, 0, 0, 0, time.UTC), TakenAtLocal: time.Date(1990, 4, 18, 1, 0, 0, 0, time.UTC), - TakenSrc: "meta", - PhotoType: "video", + TakenSrc: SrcMeta, + PhotoType: MediaVideo, PhotoDuration: time.Hour * 2, TypeSrc: "", PhotoTitle: "", @@ -238,7 +240,7 @@ var PhotoFixtures = PhotoMap{ TimeZone: "Local", Place: CellFixtures.Pointer("caravan park").Place, PlaceID: CellFixtures.Pointer("caravan park").Place.ID, - PlaceSrc: "meta", + PlaceSrc: SrcMeta, Cell: CellFixtures.Pointer("caravan park"), CellID: CellFixtures.Pointer("caravan park").ID, CellAccuracy: 0, @@ -1358,8 +1360,8 @@ var PhotoFixtures = PhotoMap{ TakenAt: time.Date(2001, 1, 1, 7, 0, 0, 0, time.UTC), TakenAtLocal: time.Date(2001, 1, 1, 7, 0, 0, 0, time.UTC), TakenSrc: "", - PhotoType: "image", - TypeSrc: "", + PhotoType: MediaImage, + TypeSrc: SrcAuto, PhotoTitle: "Lake / 2001", TitleSrc: "", PhotoCaption: "", @@ -1417,8 +1419,8 @@ var PhotoFixtures = PhotoMap{ TakenAt: time.Date(2020, 11, 11, 9, 7, 18, 0, time.UTC), TakenAtLocal: time.Date(2020, 11, 11, 9, 7, 18, 0, time.UTC), TakenSrc: SrcMeta, - PhotoType: "image", - TypeSrc: "", + PhotoType: MediaImage, + TypeSrc: SrcAuto, PhotoTitle: "ForMerge", TitleSrc: SrcManual, PhotoCaption: "", @@ -1478,8 +1480,8 @@ var PhotoFixtures = PhotoMap{ TakenAt: time.Date(2020, 11, 11, 9, 7, 18, 0, time.UTC), TakenAtLocal: time.Date(2020, 11, 11, 9, 7, 18, 0, time.UTC), TakenSrc: SrcMeta, - PhotoType: "raw", - TypeSrc: "", + PhotoType: MediaRaw, + TypeSrc: SrcAuto, PhotoTitle: "ForMerge2", TitleSrc: SrcManual, PhotoCaption: "", @@ -1539,8 +1541,8 @@ var PhotoFixtures = PhotoMap{ TakenAt: time.Date(2007, 1, 11, 9, 7, 18, 0, time.UTC), TakenAtLocal: time.Date(2007, 1, 11, 9, 7, 18, 0, time.UTC), TakenSrc: SrcMeta, - PhotoType: "image", - TypeSrc: "", + PhotoType: MediaImage, + TypeSrc: SrcAuto, PhotoTitle: "photowitheditedatdate", TitleSrc: SrcManual, PhotoCaption: "", @@ -1602,8 +1604,8 @@ var PhotoFixtures = PhotoMap{ TakenAt: time.Date(2007, 1, 11, 9, 7, 18, 0, time.UTC), TakenAtLocal: time.Date(2007, 1, 11, 9, 7, 18, 0, time.UTC), TakenSrc: SrcMeta, - PhotoType: "image", - TypeSrc: "", + PhotoType: MediaImage, + TypeSrc: SrcAuto, PhotoTitle: "phototobebatchapproved", TitleSrc: SrcAuto, PhotoCaption: "", @@ -1663,8 +1665,8 @@ var PhotoFixtures = PhotoMap{ TakenAt: time.Date(2000, 12, 11, 9, 7, 18, 0, time.UTC), TakenAtLocal: time.Date(2000, 12, 11, 4, 7, 18, 0, time.UTC), TakenSrc: SrcMeta, - PhotoType: "live", - TypeSrc: "", + PhotoType: MediaLive, + TypeSrc: SrcFile, PhotoTitle: "phototobebatchapproved2", TitleSrc: SrcName, PhotoCaption: "", @@ -1676,6 +1678,7 @@ var PhotoFixtures = PhotoMap{ PhotoPrivate: false, PhotoScan: false, PhotoPanorama: false, + PhotoDuration: media.LiveMaxDuration, TimeZone: "America/Mexico", Place: PlaceFixtures.Pointer("mexico"), PlaceID: PlaceFixtures.Pointer("mexico").ID, diff --git a/internal/entity/photo_label.go b/internal/entity/photo_label.go index cf0111a3f..b13301073 100644 --- a/internal/entity/photo_label.go +++ b/internal/entity/photo_label.go @@ -1,6 +1,8 @@ package entity import ( + "github.com/jinzhu/gorm" + "github.com/photoprism/photoprism/internal/ai/classify" ) @@ -36,12 +38,26 @@ func NewPhotoLabel(photoID, labelID uint, uncertainty int, source string) *Photo // Updates multiple columns in the database. func (m *PhotoLabel) Updates(values interface{}) error { - return UnscopedDb().Model(m).UpdateColumns(values).Error + if err := UnscopedDb().Model(m).UpdateColumns(values).Error; err != nil { + return err + } + FlushCachedPhotoLabel(m) + return nil } // Update a column in the database. func (m *PhotoLabel) Update(attr string, value interface{}) error { - return UnscopedDb().Model(m).UpdateColumn(attr, value).Error + if err := UnscopedDb().Model(m).UpdateColumn(attr, value).Error; err != nil { + return err + } + FlushCachedPhotoLabel(m) + return nil +} + +// AfterUpdate flushes the label cache when a label is updated. +func (m *PhotoLabel) AfterUpdate(tx *gorm.DB) (err error) { + FlushCachedPhotoLabel(m) + return } // Save updates the record in the database or inserts a new record if it does not already exist. @@ -64,26 +80,52 @@ func (m *PhotoLabel) Create() error { return Db().Create(m).Error } +// AfterCreate sets the New column used for database callback +func (m *PhotoLabel) AfterCreate(scope *gorm.Scope) error { + FlushCachedPhotoLabel(m) + return nil +} + // Delete deletes the label reference. func (m *PhotoLabel) Delete() error { + FlushCachedPhotoLabel(m) return Db().Delete(m).Error } +// AfterDelete flushes the label cache when a label is deleted. +func (m *PhotoLabel) AfterDelete(tx *gorm.DB) (err error) { + FlushCachedPhotoLabel(m) + return +} + +// HasID tests if both a photo and label ID are set. +func (m *PhotoLabel) HasID() bool { + if m == nil { + return false + } + + return m.PhotoID > 0 && m.LabelID > 0 +} + +// CacheKey returns a string key for caching the entity. +func (m *PhotoLabel) CacheKey() string { + return photoLabelCacheKey(m.PhotoID, m.LabelID) +} + // FirstOrCreatePhotoLabel returns the existing row, inserts a new row or nil in case of errors. func FirstOrCreatePhotoLabel(m *PhotoLabel) *PhotoLabel { if m == nil { return nil - } else if m.PhotoID < 1 || m.LabelID < 1 { + } else if !m.HasID() { return nil } - result := &PhotoLabel{} - - if err := Db().Where("photo_id = ? AND label_id = ?", m.PhotoID, m.LabelID).First(result).Error; err == nil { + // Try to find and return an existing label. Otherwise, create a new one and return it. + if result, err := FindPhotoLabel(m.PhotoID, m.LabelID, true); err == nil { return result } else if createErr := m.Create(); createErr == nil { return m - } else if err = Db().Where("photo_id = ? AND label_id = ?", m.PhotoID, m.LabelID).First(result).Error; err == nil { + } else if result, err = FindPhotoLabel(m.PhotoID, m.LabelID, false); err == nil { return result } else { log.Errorf("photo-label: %s (find or create)", createErr) diff --git a/internal/entity/photo_test.go b/internal/entity/photo_test.go index 58b4bc1f3..7a5a3c368 100644 --- a/internal/entity/photo_test.go +++ b/internal/entity/photo_test.go @@ -9,6 +9,7 @@ import ( "github.com/photoprism/photoprism/internal/ai/classify" "github.com/photoprism/photoprism/internal/form" + "github.com/photoprism/photoprism/pkg/media" "github.com/photoprism/photoprism/pkg/time/tz" ) @@ -72,6 +73,105 @@ func TestSavePhotoForm(t *testing.T) { }) } +func TestPhoto_HasUID(t *testing.T) { + t.Run("True", func(t *testing.T) { + m := PhotoFixtures.Get("Photo01") + assert.True(t, m.HasID()) + assert.True(t, m.HasUID()) + }) + t.Run("False", func(t *testing.T) { + m := Photo{} + assert.False(t, m.HasID()) + assert.False(t, m.HasUID()) + }) +} + +func TestPhoto_GetID(t *testing.T) { + t.Run("Success", func(t *testing.T) { + m := PhotoFixtures.Get("Photo01") + assert.Equal(t, uint(1000001), m.GetID()) + }) +} + +func TestPhoto_MediaType(t *testing.T) { + t.Run("Image", func(t *testing.T) { + m := PhotoFixtures.Get("19800101_000002_D640C559") + assert.Equal(t, media.Image, m.MediaType()) + }) + t.Run("Raw", func(t *testing.T) { + m := Photo{PhotoType: "raw", TypeSrc: SrcManual} + assert.Equal(t, media.Raw, m.MediaType()) + m.ResetMediaType(SrcFile) + assert.Equal(t, media.Raw, m.MediaType()) + assert.Equal(t, SrcManual, m.TypeSrc) + }) + t.Run("Live", func(t *testing.T) { + m := PhotoFixtures.Get("Photo27") + assert.Equal(t, media.Live, m.MediaType()) + assert.Equal(t, SrcFile, m.TypeSrc) + assert.Equal(t, media.LiveMaxDuration, m.PhotoDuration) + m.ResetMediaType(SrcFile) + assert.Equal(t, media.Image, m.MediaType()) + assert.Equal(t, SrcAuto, m.TypeSrc) + assert.Equal(t, media.LiveMaxDuration, m.PhotoDuration) + m.ResetDuration() + assert.Equal(t, time.Duration(0), m.PhotoDuration) + }) +} + +func TestPhoto_HasMediaType(t *testing.T) { + t.Run("Image", func(t *testing.T) { + m := PhotoFixtures.Get("19800101_000002_D640C559") + assert.True(t, m.HasMediaType(media.Image)) + assert.True(t, m.HasMediaType(media.Image, media.Video, media.Live)) + assert.False(t, m.HasMediaType(media.Video, media.Live)) + assert.False(t, m.HasMediaType()) + }) + t.Run("Live", func(t *testing.T) { + m := PhotoFixtures.Get("Photo27") + assert.True(t, m.HasMediaType(media.Live)) + assert.True(t, m.HasMediaType(media.Image, media.Video, media.Live)) + assert.False(t, m.HasMediaType(media.Image, media.Animated)) + assert.False(t, m.HasMediaType()) + }) +} + +func TestPhoto_SetMediaType(t *testing.T) { + t.Run("Image", func(t *testing.T) { + m := PhotoFixtures.Get("19800101_000002_D640C559") + assert.Equal(t, media.Image, m.MediaType()) + assert.Equal(t, SrcAuto, m.TypeSrc) + m.SetMediaType(media.Video, SrcAuto) + assert.Equal(t, media.Video, m.MediaType()) + assert.Equal(t, SrcAuto, m.TypeSrc) + m.SetMediaType(media.Live, SrcAuto) + assert.Equal(t, media.Live, m.MediaType()) + assert.Equal(t, SrcAuto, m.TypeSrc) + m.SetMediaType(media.Video, SrcAuto) + assert.Equal(t, media.Live, m.MediaType()) + assert.Equal(t, SrcAuto, m.TypeSrc) + m.SetMediaType(media.Image, SrcAuto) + assert.Equal(t, media.Live, m.MediaType()) + assert.Equal(t, SrcAuto, m.TypeSrc) + m.SetMediaType("", SrcAuto) + assert.Equal(t, media.Live, m.MediaType()) + assert.Equal(t, SrcAuto, m.TypeSrc) + m.SetMediaType(media.Video, SrcManual) + assert.Equal(t, media.Video, m.MediaType()) + assert.Equal(t, SrcManual, m.TypeSrc) + }) + t.Run("Live", func(t *testing.T) { + m := PhotoFixtures.Get("Photo27") + assert.Equal(t, media.Live, m.MediaType()) + m.SetMediaType(media.Image, SrcAuto) + assert.Equal(t, media.Live, m.MediaType()) + assert.Equal(t, SrcFile, m.TypeSrc) + m.SetMediaType(media.Image, SrcManual) + assert.Equal(t, media.Image, m.MediaType()) + assert.Equal(t, SrcManual, m.TypeSrc) + }) +} + func TestPhoto_SaveLabels(t *testing.T) { t.Run("NewPhoto", func(t *testing.T) { photo := Photo{ @@ -125,26 +225,6 @@ func TestPhoto_SaveLabels(t *testing.T) { }) } -func TestPhoto_HasUID(t *testing.T) { - t.Run("True", func(t *testing.T) { - m := PhotoFixtures.Get("Photo01") - assert.True(t, m.HasID()) - assert.True(t, m.HasUID()) - }) - t.Run("False", func(t *testing.T) { - m := Photo{} - assert.False(t, m.HasID()) - assert.False(t, m.HasUID()) - }) -} - -func TestPhoto_GetID(t *testing.T) { - t.Run("Success", func(t *testing.T) { - m := PhotoFixtures.Get("Photo01") - assert.Equal(t, uint(1000001), m.GetID()) - }) -} - func TestPhoto_ClassifyLabels(t *testing.T) { t.Run("NewPhoto", func(t *testing.T) { m := PhotoFixtures.Get("Photo19") diff --git a/internal/entity/query/albums.go b/internal/entity/query/albums.go index 9d5ce60a4..95691da52 100644 --- a/internal/entity/query/albums.go +++ b/internal/entity/query/albums.go @@ -83,7 +83,7 @@ func AlbumCoverByUID(uid string, public bool) (file entity.File, err error) { // Automatically hide empty months. switch a.AlbumType { case entity.AlbumMonth, entity.AlbumState: - if err := a.Delete(); err != nil { + if err = a.Delete(); err != nil { log.Errorf("%s: %s (hide)", a.AlbumType, err) } else { log.Infof("%s: %s hidden", a.AlbumType, clean.Log(a.AlbumTitle)) diff --git a/internal/entity/query/files.go b/internal/entity/query/files.go index 3bda64c7d..248e8cf7a 100644 --- a/internal/entity/query/files.go +++ b/internal/entity/query/files.go @@ -188,7 +188,7 @@ func IndexedFiles() (result FileMap, err error) { // Query known duplicates. var duplicates []File - if err := UnscopedDb().Raw("SELECT file_root, file_name, mod_time FROM duplicates").Scan(&duplicates).Error; err != nil { + if err = UnscopedDb().Raw("SELECT file_root, file_name, mod_time FROM duplicates").Scan(&duplicates).Error; err != nil { return result, err } @@ -199,7 +199,7 @@ func IndexedFiles() (result FileMap, err error) { // Query indexed files. var files []File - if err := UnscopedDb().Raw("SELECT file_root, file_name, mod_time FROM files WHERE file_missing = 0 AND deleted_at IS NULL").Scan(&files).Error; err != nil { + if err = UnscopedDb().Raw("SELECT file_root, file_name, mod_time FROM files WHERE file_missing = 0 AND deleted_at IS NULL").Scan(&files).Error; err != nil { return result, err } diff --git a/internal/entity/query/photo.go b/internal/entity/query/photo.go index 1042781a0..a0f8b2c2b 100644 --- a/internal/entity/query/photo.go +++ b/internal/entity/query/photo.go @@ -180,48 +180,20 @@ func FlagHiddenPhotos() (err error) { // Start time for logs. start := time.Now() - // IDs of hidden photos. - var hidden []uint - // Number of updated records. affected := 0 - // Find and flag hidden photos. - if err = Db().Table(entity.Photo{}.TableName()). + ids := Db().Select("id"). Where("id NOT IN (SELECT photo_id FROM files WHERE file_primary = 1 AND file_missing = 0 AND file_error = '' AND deleted_at IS NULL) AND photo_quality > -1"). - Pluck("id", &hidden).Error; err != nil { - // Find query failed. - return err - } else if found := len(hidden); found == 0 { - // Nothing to update. - return nil + Table(entity.Photo{}.TableName()).SubQuery() + if result := UnscopedDb().Table(entity.Photo{}.TableName()). + Where("id IN (?) AND photo_quality > -1", ids). + UpdateColumn("photo_quality", -1); result.Error != nil { + // Failed to flag all hidden photos. + log.Warnf("index: failed to flag photos as hidden") + return fmt.Errorf("%s while flagging hidden photos", result.Error) } else { - // Update photos in batches to be compatible with SQLite. - batchSize := BatchSize() - - for i := 0; i < len(hidden); i += batchSize { - j := i + batchSize - - if j > len(hidden) { - j = len(hidden) - } - - // Next batch. - ids := hidden[i:j] - - // Set photos.photo_quality = -1. - if result := UnscopedDb().Table(entity.Photo{}.TableName()). - Where("id IN (?) AND photo_quality > -1", ids). - UpdateColumn("photo_quality", -1); result.Error != nil { - // Failed to flag all hidden photos. - log.Warnf("index: failed to flag %d photos as hidden", len(hidden)-affected) - return fmt.Errorf("%s while flagging hidden photos", result.Error) - } else if result.RowsAffected > 0 { - affected += int(result.RowsAffected) - } else { - affected += len(ids) - } - } + affected = int(result.RowsAffected) } // Log number of affected rows, if any. diff --git a/internal/entity/query/photo_test.go b/internal/entity/query/photo_test.go index f8cc37882..6f7071950 100644 --- a/internal/entity/query/photo_test.go +++ b/internal/entity/query/photo_test.go @@ -7,6 +7,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/photoprism/photoprism/internal/entity" + "github.com/photoprism/photoprism/pkg/rnd" ) func TestPhotoByID(t *testing.T) { @@ -115,8 +116,90 @@ func TestFixPrimaries(t *testing.T) { } func TestFlagHiddenPhotos(t *testing.T) { - // Set photo quality scores to -1 if files are missing. - if err := FlagHiddenPhotos(); err != nil { - t.Fatal(err) - } + t.Run("Success", func(t *testing.T) { + // Set photo quality scores to -1 if files are missing. + if err := FlagHiddenPhotos(); err != nil { + t.Fatal(err) + } + }) + + t.Run("SuccessWith1000", func(t *testing.T) { + var checkedTime = time.Date(2021, 1, 1, 0, 0, 0, 0, time.UTC) + // Load 1000 photos that need to be hidden + for i := 0; i < 1000; i++ { + newPhoto := entity.Photo{ //JPG, Geo from metadata, indexed + //ID: 1000049, + PhotoUID: rnd.GenerateUID(entity.PhotoUID), + TakenAt: time.Date(2020, 11, 11, 9, 7, 18, 0, time.UTC), + TakenAtLocal: time.Date(2020, 11, 11, 9, 7, 18, 0, time.UTC), + TakenSrc: entity.SrcMeta, + PhotoType: "image", + TypeSrc: "", + PhotoTitle: "desk\"", + TitleSrc: entity.SrcManual, + PhotoCaption: "", + CaptionSrc: "", + PhotoPath: "2000\"/02\"", + PhotoName: "SuccessWith1000", + OriginalName: "", + PhotoFavorite: false, + PhotoPrivate: false, + PhotoScan: false, + PhotoPanorama: false, + TimeZone: "America/Mexico_City", + PlaceSrc: "meta", + CellAccuracy: 0, + PhotoAltitude: 3, + PhotoLat: 48.519234, + PhotoLng: 9.057997, + PhotoCountry: entity.CellFixtures.Pointer("caravan park").Place.CountryCode(), + PhotoYear: 2020, + PhotoMonth: 11, + PhotoDay: 11, + PhotoIso: 0, + PhotoExposure: "", + PhotoFocalLength: 0, + PhotoFNumber: 0, + PhotoQuality: 5, + PhotoResolution: 0, + Camera: entity.CameraFixtures.Pointer("canon-eos-6d"), + CameraID: entity.CameraFixtures.Pointer("canon-eos-6d").ID, + CameraSerial: "", + CameraSrc: "", + Lens: entity.LensFixtures.Pointer("lens-f-380"), + LensID: entity.LensFixtures.Pointer("lens-f-380").ID, + Keywords: []entity.Keyword{}, + Albums: []entity.Album{}, + Files: []entity.File{}, + Labels: []entity.PhotoLabel{}, + CreatedAt: time.Date(2021, 1, 1, 0, 0, 0, 0, time.UTC), + UpdatedAt: time.Date(2021, 1, 1, 0, 0, 0, 0, time.UTC), + EditedAt: nil, + CheckedAt: &checkedTime, + DeletedAt: nil, + PhotoColor: 14, + PhotoStack: 0, + PhotoFaces: 0, + } + if err := Db().Create(&newPhoto).Error; err != nil { + t.Fatal(err) + } + } + // Set photo quality scores to -1 if files are missing. + if err := FlagHiddenPhotos(); err != nil { + t.Fatal(err) + } + + var actual int64 + var expected int64 = 1000 + if err := Db().Model(&entity.Photo{}).Where("photo_name = ? AND photo_quality = ?", "SuccessWith1000", -1).Count(&actual).Error; err != nil { + t.Fatal(err) + } + + assert.Equal(t, expected, actual) + + if err := UnscopedDb().Where("photo_name = ? AND photo_quality = ?", "SuccessWith1000", -1).Delete(&entity.Photo{}).Error; err != nil { + t.Fatal(err) + } + }) } diff --git a/internal/entity/search/albums.go b/internal/entity/search/albums.go index 5ebf951ed..5b4e11355 100644 --- a/internal/entity/search/albums.go +++ b/internal/entity/search/albums.go @@ -78,57 +78,57 @@ func UserAlbums(frm form.SearchAlbums, sess *entity.Session) (results AlbumResul // Set sort order. switch frm.Order { case sortby.Count: - s = s.Order("photo_count DESC, albums.album_title, albums.album_uid DESC") + s = s.Order(OrderExpr("photo_count DESC, albums.album_title, albums.album_uid DESC", frm.Reverse)) case sortby.Moment, sortby.Newest: if frm.Type == entity.AlbumManual || frm.Type == entity.AlbumState { - s = s.Order("albums.album_uid DESC") + s = s.Order(OrderExpr("albums.album_uid DESC", frm.Reverse)) } else if frm.Type == entity.AlbumMoment { - s = s.Order("has_year, albums.album_year DESC, albums.album_month DESC, albums.album_day DESC, albums.album_title, albums.album_uid DESC") + s = s.Order(OrderExpr("has_year, albums.album_year DESC, albums.album_month DESC, albums.album_day DESC, albums.album_title, albums.album_uid DESC", frm.Reverse)) } else { - s = s.Order("albums.album_year DESC, albums.album_month DESC, albums.album_day DESC, albums.album_title, albums.album_uid DESC") + s = s.Order(OrderExpr("albums.album_year DESC, albums.album_month DESC, albums.album_day DESC, albums.album_title, albums.album_uid DESC", frm.Reverse)) } case sortby.Oldest: if frm.Type == entity.AlbumManual || frm.Type == entity.AlbumState { - s = s.Order("albums.album_uid ASC") + s = s.Order(OrderExpr("albums.album_uid ASC", frm.Reverse)) } else if frm.Type == entity.AlbumMoment { - s = s.Order("has_year, albums.album_year ASC, albums.album_month ASC, albums.album_day ASC, albums.album_title, albums.album_uid ASC") + s = s.Order(OrderExpr("has_year, albums.album_year ASC, albums.album_month ASC, albums.album_day ASC, albums.album_title, albums.album_uid ASC", frm.Reverse)) } else { - s = s.Order("albums.album_year ASC, albums.album_month ASC, albums.album_day ASC, albums.album_title, albums.album_uid ASC") + s = s.Order(OrderExpr("albums.album_year ASC, albums.album_month ASC, albums.album_day ASC, albums.album_title, albums.album_uid ASC", frm.Reverse)) } case sortby.Added: - s = s.Order("albums.album_uid DESC") + s = s.Order(OrderExpr("albums.album_uid DESC", frm.Reverse)) case sortby.Edited: - s = s.Order("albums.updated_at DESC, albums.album_uid DESC") + s = s.Order(OrderExpr("albums.updated_at DESC, albums.album_uid DESC", frm.Reverse)) case sortby.Place: - s = s.Order("no_location, albums.album_location, has_year, albums.album_year DESC, albums.album_month ASC, albums.album_day ASC, albums.album_title, albums.album_uid DESC") + s = s.Order(OrderExpr("no_location, albums.album_location, has_year, albums.album_year DESC, albums.album_month ASC, albums.album_day ASC, albums.album_title, albums.album_uid DESC", frm.Reverse)) case sortby.Path: - s = s.Order("albums.album_path, albums.album_uid DESC") + s = s.Order(OrderExpr("albums.album_path, albums.album_uid DESC", frm.Reverse)) case sortby.Category: - s = s.Order("albums.album_category, albums.album_title, albums.album_uid DESC") + s = s.Order(OrderExpr("albums.album_category, albums.album_title, albums.album_uid DESC", frm.Reverse)) case sortby.Slug: - s = s.Order("albums.album_slug ASC, albums.album_uid DESC") + s = s.Order(OrderExpr("albums.album_slug ASC, albums.album_uid DESC", frm.Reverse)) case sortby.Favorites: if frm.Type == entity.AlbumFolder { - s = s.Order("albums.album_favorite DESC, albums.album_path ASC, albums.album_uid DESC") + s = s.Order(OrderExpr("albums.album_favorite DESC, albums.album_path ASC, albums.album_uid DESC", frm.Reverse)) } else if frm.Type == entity.AlbumMonth { - s = s.Order("albums.album_favorite DESC, albums.album_year DESC, albums.album_month DESC, albums.album_day DESC, albums.album_title, albums.album_uid DESC") + s = s.Order(OrderExpr("albums.album_favorite DESC, albums.album_year DESC, albums.album_month DESC, albums.album_day DESC, albums.album_title, albums.album_uid DESC", frm.Reverse)) } else { - s = s.Order("albums.album_favorite DESC, albums.album_title ASC, albums.album_uid DESC") + s = s.Order(OrderExpr("albums.album_favorite DESC, albums.album_title ASC, albums.album_uid DESC", frm.Reverse)) } case sortby.Name: if frm.Type == entity.AlbumFolder { - s = s.Order("albums.album_path ASC, albums.album_uid DESC") + s = s.Order(OrderExpr("albums.album_path ASC, albums.album_uid DESC", frm.Reverse)) } else { - s = s.Order("albums.album_title ASC, albums.album_uid DESC") + s = s.Order(OrderExpr("albums.album_title ASC, albums.album_uid DESC", frm.Reverse)) } case sortby.NameReverse: if frm.Type == entity.AlbumFolder { - s = s.Order("albums.album_path DESC, albums.album_uid DESC") + s = s.Order(OrderExpr("albums.album_path DESC, albums.album_uid DESC", frm.Reverse)) } else { - s = s.Order("albums.album_title DESC, albums.album_uid DESC") + s = s.Order(OrderExpr("albums.album_title DESC, albums.album_uid DESC", frm.Reverse)) } default: - s = s.Order("albums.album_favorite DESC, albums.album_title ASC, albums.album_uid DESC") + s = s.Order(OrderExpr("albums.album_favorite DESC, albums.album_title ASC, albums.album_uid DESC", frm.Reverse)) } // Find specific UIDs only? diff --git a/internal/entity/search/albums_test.go b/internal/entity/search/albums_test.go index 2910ea797..f801aee39 100644 --- a/internal/entity/search/albums_test.go +++ b/internal/entity/search/albums_test.go @@ -10,7 +10,7 @@ import ( ) func TestAlbumPhotos(t *testing.T) { - t.Run("search with string", func(t *testing.T) { + t.Run("SearchWithString", func(t *testing.T) { results, err := AlbumPhotos(entity.AlbumFixtures.Get("april-1990"), 2, true) if err != nil { @@ -23,8 +23,41 @@ func TestAlbumPhotos(t *testing.T) { }) } +func TestUserAlbums(t *testing.T) { + t.Run("Alice", func(t *testing.T) { + query := form.NewAlbumSearch("christmas") + query.Type = entity.AlbumManual + result, err := UserAlbums(query, entity.SessionFixtures.Pointer("alice")) + + if err != nil { + t.Fatal(err) + } + + assert.Equal(t, "Christmas 2030", result[0].AlbumTitle) + }) + t.Run("Visitor", func(t *testing.T) { + query := form.NewAlbumSearch("christmas") + query.Type = entity.AlbumFolder + _, err := UserAlbums(query, entity.SessionFixtures.Pointer("unauthorized")) + + assert.Error(t, err) + assert.Equal(t, err.Error(), "Permission denied") + }) + t.Run("GuestAppPassword", func(t *testing.T) { + query := form.NewAlbumSearch("france") + query.Type = entity.AlbumMoment + result, err := UserAlbums(query, entity.SessionFixtures.Pointer("gandalf_app_password_full_access")) + + if err != nil { + t.Fatal(err) + } + + assert.Equal(t, 0, len(result)) + }) +} + func TestAlbums(t *testing.T) { - t.Run("search with string", func(t *testing.T) { + t.Run("SearchWithString", func(t *testing.T) { query := form.NewAlbumSearch("chr") result, err := Albums(query) @@ -35,8 +68,9 @@ func TestAlbums(t *testing.T) { assert.Equal(t, "Christmas 2030", result[0].AlbumTitle) }) - t.Run("search with slug", func(t *testing.T) { + t.Run("SearchWithSlug", func(t *testing.T) { query := form.NewAlbumSearch("slug:holiday") + query.Type = entity.AlbumManual result, err := Albums(query) if err != nil { @@ -46,7 +80,7 @@ func TestAlbums(t *testing.T) { assert.Equal(t, "Holiday 2030", result[0].AlbumTitle) }) - t.Run("search with country", func(t *testing.T) { + t.Run("SearchWithCountry", func(t *testing.T) { query := form.NewAlbumSearch("country:ca") result, err := Albums(query) @@ -57,9 +91,10 @@ func TestAlbums(t *testing.T) { assert.Equal(t, "April 1990", result[0].AlbumTitle) }) - t.Run("favorites true", func(t *testing.T) { + t.Run("FavoritesTrue", func(t *testing.T) { query := form.NewAlbumSearch("favorite:true") query.Count = 100000 + query.Type = entity.AlbumManual result, err := Albums(query) @@ -69,7 +104,7 @@ func TestAlbums(t *testing.T) { assert.Equal(t, "Holiday 2030", result[0].AlbumTitle) }) - t.Run("empty query", func(t *testing.T) { + t.Run("EmptyQuery", func(t *testing.T) { query := form.NewAlbumSearch("") results, err := Albums(query) @@ -82,19 +117,19 @@ func TestAlbums(t *testing.T) { t.Errorf("at least 3 results expected: %d", len(results)) } }) - t.Run("search with invalid query string", func(t *testing.T) { + t.Run("SearchWithInvalidQueryString", func(t *testing.T) { query := form.NewAlbumSearch("xxx:bla") result, err := Albums(query) assert.Error(t, err, "unknown filter") t.Log(result) }) - t.Run("search with invalid query string", func(t *testing.T) { + t.Run("SearchWithInvalidQueryString", func(t *testing.T) { query := form.NewAlbumSearch("xxx:bla") result, err := Albums(query) assert.Error(t, err, "unknown filter") t.Log(result) }) - t.Run("search for existing ID", func(t *testing.T) { + t.Run("SearchForExistingID", func(t *testing.T) { f := form.SearchAlbums{ Query: "", UID: "as6sg6bxpogaaba7", @@ -115,7 +150,7 @@ func TestAlbums(t *testing.T) { assert.Equal(t, 1, len(result)) assert.Equal(t, "christmas-2030", result[0].AlbumSlug) }) - t.Run("search with multiple filters", func(t *testing.T) { + t.Run("SearchWithMultipleFilters", func(t *testing.T) { f := form.SearchAlbums{ Query: "", Type: "moment", @@ -136,7 +171,7 @@ func TestAlbums(t *testing.T) { assert.Equal(t, 1, len(result)) assert.Equal(t, "Empty Moment", result[0].AlbumTitle) }) - t.Run("search for year/month/day", func(t *testing.T) { + t.Run("SearchForYear/Month/Day", func(t *testing.T) { f := form.SearchAlbums{ Year: "2021", Month: "10", @@ -205,4 +240,510 @@ func TestAlbums(t *testing.T) { assert.Equal(t, 2, len(result)) }) + t.Run("FolderSortNameReverse", func(t *testing.T) { + f := form.SearchAlbums{ + Type: entity.AlbumFolder, + Count: 10, + Offset: 0, + Order: "name", + Reverse: true, + } + + result, err := Albums(f) + + if err != nil { + t.Fatal(err) + } + + assert.Equal(t, "Holiday", result[0].AlbumPath) + assert.Equal(t, "Holiday", result[0].AlbumTitle) + assert.Equal(t, "2015/11", result[1].AlbumPath) + assert.Equal(t, "November 2015", result[1].AlbumTitle) + }) + t.Run("FolderSortName", func(t *testing.T) { + f := form.SearchAlbums{ + Type: entity.AlbumFolder, + Count: 10, + Offset: 0, + Order: "name", + } + + result, err := Albums(f) + + if err != nil { + t.Fatal(err) + } + + assert.Equal(t, "1990/04", result[0].AlbumPath) + assert.Equal(t, "April 1990", result[0].AlbumTitle) + assert.Equal(t, "2015/11", result[1].AlbumPath) + assert.Equal(t, "November 2015", result[1].AlbumTitle) + }) + t.Run("AlbumSortNameReverse", func(t *testing.T) { + f := form.SearchAlbums{ + Type: entity.AlbumManual, + Count: 100, + Offset: 0, + Order: "name", + Reverse: true, + } + + result, err := Albums(f) + + if err != nil { + t.Fatal(err) + } + + assert.Equal(t, "|Banana", result[0].AlbumTitle) + assert.Equal(t, "sale%", result[1].AlbumTitle) + }) + t.Run("AlbumSortName", func(t *testing.T) { + f := form.SearchAlbums{ + Type: entity.AlbumManual, + Count: 100, + Offset: 0, + Order: "name", + } + + result, err := Albums(f) + + if err != nil { + t.Fatal(err) + } + + assert.Equal(t, "%gold", result[0].AlbumTitle) + assert.Equal(t, "&IlikeFood", result[1].AlbumTitle) + }) + t.Run("SortByCount", func(t *testing.T) { + f := form.SearchAlbums{ + Type: entity.AlbumManual, + Count: 100, + Offset: 0, + Order: "count", + } + + result, err := Albums(f) + + if err != nil { + t.Fatal(err) + } + + assert.GreaterOrEqual(t, result[0].PhotoCount, result[1].PhotoCount) + }) + t.Run("SortByCountReverse", func(t *testing.T) { + f := form.SearchAlbums{ + Type: entity.AlbumManual, + Count: 100, + Offset: 0, + Order: "count", + Reverse: true, + } + + result, err := Albums(f) + + if err != nil { + t.Fatal(err) + } + + assert.GreaterOrEqual(t, result[1].PhotoCount, result[0].PhotoCount) + }) + t.Run("AlbumSortByNewest", func(t *testing.T) { + f := form.SearchAlbums{ + Type: entity.AlbumManual, + Count: 100, + Offset: 0, + Order: "newest", + } + + result, err := Albums(f) + + if err != nil { + t.Fatal(err) + } + + assert.GreaterOrEqual(t, result[0].AlbumUID, result[1].AlbumUID) + }) + t.Run("AlbumSortByNewestReverse", func(t *testing.T) { + f := form.SearchAlbums{ + Type: entity.AlbumManual, + Count: 100, + Offset: 0, + Order: "newest", + Reverse: true, + } + + result, err := Albums(f) + + if err != nil { + t.Fatal(err) + } + + assert.GreaterOrEqual(t, result[1].AlbumUID, result[0].AlbumUID) + }) + t.Run("MomentSortByNewest", func(t *testing.T) { + f := form.SearchAlbums{ + Type: entity.AlbumMoment, + Count: 100, + Offset: 2, + Order: "newest", + } + + result, err := Albums(f) + + if err != nil { + t.Fatal(err) + } + + assert.GreaterOrEqual(t, result[0].AlbumYear, result[1].AlbumYear) + }) + t.Run("MomentSortByNewestReverse", func(t *testing.T) { + f := form.SearchAlbums{ + Type: entity.AlbumMoment, + Count: 100, + Offset: 2, + Order: "newest", + Reverse: true, + } + + result, err := Albums(f) + + if err != nil { + t.Fatal(err) + } + + assert.GreaterOrEqual(t, result[1].AlbumYear, result[0].AlbumYear) + }) + t.Run("FolderSortByNewest", func(t *testing.T) { + f := form.SearchAlbums{ + Type: entity.AlbumFolder, + Count: 100, + Offset: 0, + Order: "newest", + } + + result, err := Albums(f) + + if err != nil { + t.Fatal(err) + } + + assert.GreaterOrEqual(t, result[0].AlbumYear, result[1].AlbumYear) + }) + t.Run("FolderSortByNewestReverse", func(t *testing.T) { + f := form.SearchAlbums{ + Type: entity.AlbumFolder, + Count: 100, + Offset: 0, + Order: "newest", + Reverse: true, + } + + result, err := Albums(f) + + if err != nil { + t.Fatal(err) + } + + assert.GreaterOrEqual(t, result[1].AlbumYear, result[0].AlbumYear) + }) + t.Run("AlbumSortByOldest", func(t *testing.T) { + f := form.SearchAlbums{ + Type: entity.AlbumManual, + Count: 100, + Offset: 0, + Order: "oldest", + } + + result, err := Albums(f) + + if err != nil { + t.Fatal(err) + } + + assert.GreaterOrEqual(t, result[1].AlbumUID, result[0].AlbumUID) + }) + t.Run("AlbumSortByOldestReverse", func(t *testing.T) { + f := form.SearchAlbums{ + Type: entity.AlbumManual, + Count: 100, + Offset: 0, + Order: "oldest", + Reverse: true, + } + + result, err := Albums(f) + + if err != nil { + t.Fatal(err) + } + + assert.GreaterOrEqual(t, result[0].AlbumUID, result[1].AlbumUID) + }) + t.Run("MomentSortByOldest", func(t *testing.T) { + f := form.SearchAlbums{ + Type: entity.AlbumMoment, + Count: 100, + Offset: 2, + Order: "oldest", + } + + result, err := Albums(f) + + if err != nil { + t.Fatal(err) + } + + assert.GreaterOrEqual(t, result[1].AlbumYear, result[0].AlbumYear) + }) + t.Run("MomentSortByOldestReverse", func(t *testing.T) { + f := form.SearchAlbums{ + Type: entity.AlbumMoment, + Count: 100, + Offset: 2, + Order: "oldest", + Reverse: true, + } + + result, err := Albums(f) + + if err != nil { + t.Fatal(err) + } + + assert.GreaterOrEqual(t, result[0].AlbumYear, result[1].AlbumYear) + }) + t.Run("FolderSortByOldest", func(t *testing.T) { + f := form.SearchAlbums{ + Type: entity.AlbumFolder, + Count: 100, + Offset: 0, + Order: "oldest", + } + + result, err := Albums(f) + + if err != nil { + t.Fatal(err) + } + + assert.GreaterOrEqual(t, result[1].AlbumYear, result[0].AlbumYear) + }) + t.Run("FolderSortByOldestReverse", func(t *testing.T) { + f := form.SearchAlbums{ + Type: entity.AlbumFolder, + Count: 100, + Offset: 0, + Order: "oldest", + Reverse: true, + } + + result, err := Albums(f) + + if err != nil { + t.Fatal(err) + } + + assert.GreaterOrEqual(t, result[0].AlbumYear, result[1].AlbumYear) + }) + t.Run("MomentSortByEdited", func(t *testing.T) { + f := form.SearchAlbums{ + Type: entity.AlbumMoment, + Count: 100, + Offset: 0, + Order: "edited", + } + + result, err := Albums(f) + + if err != nil { + t.Fatal(err) + } + + assert.GreaterOrEqual(t, result[0].UpdatedAt, result[1].UpdatedAt) + }) + t.Run("MomentSortByEditedReverse", func(t *testing.T) { + f := form.SearchAlbums{ + Type: entity.AlbumMoment, + Count: 100, + Offset: 0, + Order: "edited", + Reverse: true, + } + + result, err := Albums(f) + + if err != nil { + t.Fatal(err) + } + + assert.GreaterOrEqual(t, result[0].UpdatedAt, result[1].UpdatedAt) + }) + t.Run("MomentSortByPlace", func(t *testing.T) { + f := form.SearchAlbums{ + Type: entity.AlbumMoment, + Count: 100, + Offset: 0, + Order: "place", + } + + result, err := Albums(f) + + if err != nil { + t.Fatal(err) + } + + assert.Equal(t, "Favorite Park", result[0].AlbumLocation) + assert.Equal(t, "France", result[1].AlbumLocation) + }) + t.Run("FolderSortByPath", func(t *testing.T) { + f := form.SearchAlbums{ + Type: entity.AlbumFolder, + Count: 100, + Offset: 0, + Order: "path", + } + + result, err := Albums(f) + + if err != nil { + t.Fatal(err) + } + + assert.Equal(t, "1990/04", result[0].AlbumPath) + assert.Equal(t, "2015/11", result[1].AlbumPath) + }) + t.Run("FolderSortBySlug", func(t *testing.T) { + f := form.SearchAlbums{ + Type: entity.AlbumFolder, + Count: 100, + Offset: 0, + Order: "slug", + } + + result, err := Albums(f) + + if err != nil { + t.Fatal(err) + } + + assert.Equal(t, "april-1990", result[0].AlbumSlug) + assert.Equal(t, "holiday", result[1].AlbumSlug) + }) + t.Run("FolderSortBySlugReverse", func(t *testing.T) { + f := form.SearchAlbums{ + Type: entity.AlbumFolder, + Count: 100, + Offset: 0, + Order: "slug", + Reverse: true, + } + + result, err := Albums(f) + + if err != nil { + t.Fatal(err) + } + + assert.Equal(t, "november-2015", result[0].AlbumSlug) + assert.Equal(t, "holiday", result[1].AlbumSlug) + }) + t.Run("FolderSortByFavorites", func(t *testing.T) { + f := form.SearchAlbums{ + Type: entity.AlbumFolder, + Count: 100, + Offset: 0, + Order: "favorites", + } + + result, err := Albums(f) + + if err != nil { + t.Fatal(err) + } + + assert.Equal(t, true, result[0].AlbumFavorite) + }) + t.Run("FolderSortByFavoritesReverse", func(t *testing.T) { + f := form.SearchAlbums{ + Type: entity.AlbumFolder, + Count: 100, + Offset: 0, + Order: "favorites", + Reverse: true, + } + + result, err := Albums(f) + + if err != nil { + t.Fatal(err) + } + + assert.Equal(t, false, result[0].AlbumFavorite) + }) + t.Run("MomentSortByFavorites", func(t *testing.T) { + f := form.SearchAlbums{ + Type: entity.AlbumMoment, + Count: 100, + Offset: 0, + Order: "favorites", + } + + result, err := Albums(f) + + if err != nil { + t.Fatal(err) + } + + assert.Equal(t, true, result[0].AlbumFavorite) + }) + t.Run("MomentSortByFavoritesReverse", func(t *testing.T) { + f := form.SearchAlbums{ + Type: entity.AlbumMoment, + Count: 100, + Offset: 0, + Order: "favorites", + Reverse: true, + } + + result, err := Albums(f) + + if err != nil { + t.Fatal(err) + } + + assert.Equal(t, false, result[0].AlbumFavorite) + }) + t.Run("AlbumSortByFavorites", func(t *testing.T) { + f := form.SearchAlbums{ + Type: entity.AlbumManual, + Count: 100, + Offset: 0, + Order: "favorites", + } + + result, err := Albums(f) + + if err != nil { + t.Fatal(err) + } + + assert.Equal(t, true, result[0].AlbumFavorite) + }) + t.Run("AlbumSortByFavoritesReverse", func(t *testing.T) { + f := form.SearchAlbums{ + Type: entity.AlbumManual, + Count: 100, + Offset: 0, + Order: "favorites", + Reverse: true, + } + + result, err := Albums(f) + + if err != nil { + t.Fatal(err) + } + + assert.Equal(t, false, result[0].AlbumFavorite) + }) } diff --git a/internal/entity/search/faces.go b/internal/entity/search/faces.go index 15a86f09b..70436b8bc 100644 --- a/internal/entity/search/faces.go +++ b/internal/entity/search/faces.go @@ -62,13 +62,13 @@ func Faces(frm form.SearchFaces) (results FaceResults, err error) { // Set sort order. switch frm.Order { case "subject": - s = s.Order(fmt.Sprintf("%s.subj_uid", facesTable)) + s = s.Order(OrderExpr(fmt.Sprintf("%s.subj_uid ASC", facesTable), frm.Reverse)) case "added": - s = s.Order(fmt.Sprintf("%s.created_at DESC", facesTable)) + s = s.Order(OrderExpr(fmt.Sprintf("%s.created_at DESC", facesTable), frm.Reverse)) case "samples": - s = s.Order(fmt.Sprintf("%s.samples DESC, %s.id", facesTable, facesTable)) + s = s.Order(OrderExpr(fmt.Sprintf("%s.samples DESC, %s.id", facesTable, facesTable), frm.Reverse)) default: - s = s.Order(fmt.Sprintf("%s.samples DESC, %s.id", facesTable, facesTable)) + s = s.Order(OrderExpr(fmt.Sprintf("%s.samples DESC, %s.id", facesTable, facesTable), frm.Reverse)) } // Find specific IDs? diff --git a/internal/entity/search/order.go b/internal/entity/search/order.go new file mode 100644 index 000000000..e6835c9cf --- /dev/null +++ b/internal/entity/search/order.go @@ -0,0 +1,10 @@ +package search + +import ( + "github.com/photoprism/photoprism/internal/entity/sortby" +) + +// OrderExpr replaces "ASC" with "DESC" and "DESC" with "ASC" in the specified query order string if reverse is true. +func OrderExpr(s string, reverse bool) string { + return sortby.OrderExpr(s, reverse) +} diff --git a/internal/entity/search/order_test.go b/internal/entity/search/order_test.go new file mode 100644 index 000000000..70b4e7837 --- /dev/null +++ b/internal/entity/search/order_test.go @@ -0,0 +1,24 @@ +package search + +import ( + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestOrderExpr(t *testing.T) { + t.Run("Default", func(t *testing.T) { + assert.Equal(t, "", OrderExpr("", false)) + assert.Equal(t, "photos.edited_at", OrderExpr("photos.edited_at", false)) + assert.Equal(t, "photos.edited_at ASC", OrderExpr("photos.edited_at ASC", false)) + assert.Equal(t, "photos.edited_at DESC, files.media_id", OrderExpr("photos.edited_at DESC, files.media_id", false)) + assert.Equal(t, "photos.edited_at DESC, files.media_id ASC", OrderExpr("photos.edited_at DESC, files.media_id ASC", false)) + }) + t.Run("Reverse", func(t *testing.T) { + assert.Equal(t, "", OrderExpr("", true)) + assert.Equal(t, "photos.edited_at", OrderExpr("photos.edited_at", true)) + assert.Equal(t, "photos.edited_at DESC", OrderExpr("photos.edited_at ASC", true)) + assert.Equal(t, "photos.edited_at ASC, files.media_id", OrderExpr("photos.edited_at DESC, files.media_id", true)) + assert.Equal(t, "photos.edited_at ASC, files.media_id DESC", OrderExpr("photos.edited_at DESC, files.media_id ASC", true)) + }) +} diff --git a/internal/entity/search/photos.go b/internal/entity/search/photos.go index e0177a8ff..f872e785a 100644 --- a/internal/entity/search/photos.go +++ b/internal/entity/search/photos.go @@ -180,36 +180,36 @@ func searchPhotos(frm form.SearchPhotos, sess *entity.Session, resultCols string // Set sort order. switch frm.Order { case sortby.Edited: - s = s.Where("photos.edited_at IS NOT NULL").Order("photos.edited_at DESC, files.media_id") + s = s.Where("photos.edited_at IS NOT NULL").Order(OrderExpr("photos.edited_at DESC, files.media_id", frm.Reverse)) case sortby.Updated, sortby.UpdatedAt: - s = s.Where("photos.updated_at > photos.created_at").Order("photos.updated_at DESC, files.media_id") + s = s.Where("photos.updated_at > photos.created_at").Order(OrderExpr("photos.updated_at DESC, files.media_id", frm.Reverse)) case sortby.Archived: - s = s.Order("photos.deleted_at DESC, files.media_id") + s = s.Order(OrderExpr("photos.deleted_at DESC, files.media_id", frm.Reverse)) case sortby.Relevance: if frm.Label != "" { - s = s.Order("photos.photo_quality DESC, photos_labels.uncertainty ASC, files.time_index") + s = s.Order(OrderExpr("photos.photo_quality DESC, photos_labels.uncertainty ASC, files.time_index", frm.Reverse)) } else { - s = s.Order("photos.photo_quality DESC, files.time_index") + s = s.Order(OrderExpr("photos.photo_quality DESC, files.time_index", frm.Reverse)) } case sortby.Duration: - s = s.Order("photos.photo_duration DESC, files.time_index") + s = s.Order(OrderExpr("photos.photo_duration DESC, files.time_index", frm.Reverse)) case sortby.Size: - s = s.Order("files.file_size DESC, files.time_index") + s = s.Order(OrderExpr("files.file_size DESC, files.time_index", frm.Reverse)) case sortby.Newest: - s = s.Order("files.time_index") + s = s.Order(OrderExpr("files.time_index", frm.Reverse)) case sortby.Oldest: - s = s.Order("files.photo_taken_at, files.media_id") + s = s.Order(OrderExpr("files.photo_taken_at ASC, files.media_id", frm.Reverse)) case sortby.Similar: s = s.Where("files.file_diff > 0") - s = s.Order("photos.photo_color, photos.cell_id, files.file_diff, files.photo_id, files.time_index") + s = s.Order(OrderExpr("photos.photo_color ASC, photos.cell_id ASC, files.file_diff, files.photo_id, files.time_index", frm.Reverse)) case sortby.Name: - s = s.Order("photos.photo_path, photos.photo_name, files.time_index") + s = s.Order(OrderExpr("photos.photo_path ASC, photos.photo_name ASC, files.time_index", frm.Reverse)) case sortby.Title: - s = s.Order("photos.photo_title, photos.photo_name, files.time_index") + s = s.Order(OrderExpr("photos.photo_title ASC, photos.photo_name ASC, files.time_index", frm.Reverse)) case sortby.Random: s = s.Order(sortby.RandomExpr(s.Dialect())) case sortby.Default, sortby.Imported, sortby.Added: - s = s.Order("files.media_id") + s = s.Order(OrderExpr("files.media_id", frm.Reverse)) default: return PhotoResults{}, 0, ErrBadSortOrder } diff --git a/internal/entity/search/sessions.go b/internal/entity/search/sessions.go index f5dd05f8f..1b19a1c82 100644 --- a/internal/entity/search/sessions.go +++ b/internal/entity/search/sessions.go @@ -57,17 +57,19 @@ func Sessions(frm form.SearchSessions) (result entity.Sessions, err error) { // Sort results? switch order { case sortby.LastActive: - stmt = stmt.Order("last_active DESC, user_name, client_name, id") + stmt = stmt.Order(OrderExpr("last_active DESC, user_name, client_name, id", frm.Reverse)) case sortby.SessExpires: - stmt = stmt.Order("sess_expires DESC, user_name, client_name, id") + stmt = stmt.Order(OrderExpr("sess_expires DESC, user_name, client_name, id", frm.Reverse)) case sortby.ClientName: - stmt = stmt.Where("client_name <> '' AND client_name IS NOT NULL").Order("client_name, created_at, id") + stmt = stmt. + Where("client_name <> '' AND client_name IS NOT NULL"). + Order(OrderExpr("client_name, created_at, id", frm.Reverse)) case sortby.Login, sortby.LoginAt: - stmt = stmt.Order("login_at DESC, user_name, client_name, id") + stmt = stmt.Order(OrderExpr("login_at DESC, user_name, client_name, id", frm.Reverse)) case sortby.Created, sortby.CreatedAt: - stmt = stmt.Order("created_at ASC, user_name, client_name, id") + stmt = stmt.Order(OrderExpr("created_at ASC, user_name, client_name, id", frm.Reverse)) case sortby.Updated, sortby.UpdatedAt: - stmt = stmt.Order("updated_at DESC, user_name, client_name, id") + stmt = stmt.Order(OrderExpr("updated_at DESC, user_name, client_name, id", frm.Reverse)) default: return result, fmt.Errorf("invalid sort order %s", order) } diff --git a/internal/entity/search/subjects.go b/internal/entity/search/subjects.go index 9f880e832..83f8d5b47 100644 --- a/internal/entity/search/subjects.go +++ b/internal/entity/search/subjects.go @@ -34,15 +34,15 @@ func Subjects(frm form.SearchSubjects) (results SubjectResults, err error) { // Set sort order. switch frm.Order { case "name": - s = s.Order("subj_name") + s = s.Order(OrderExpr("subj_name ASC", frm.Reverse)) case "count": - s = s.Order("file_count DESC") + s = s.Order(OrderExpr("file_count DESC", frm.Reverse)) case "added": - s = s.Order(fmt.Sprintf("%s.created_at DESC", subjTable)) + s = s.Order(OrderExpr(fmt.Sprintf("%s.created_at DESC", subjTable), frm.Reverse)) case "relevance": - s = s.Order("subj_favorite DESC, photo_count DESC") + s = s.Order(OrderExpr("subj_favorite DESC, photo_count DESC", frm.Reverse)) default: - s = s.Order("subj_favorite DESC, subj_name") + s = s.Order(OrderExpr("subj_favorite DESC, subj_name ASC", frm.Reverse)) } if frm.UID != "" { diff --git a/internal/entity/search/users.go b/internal/entity/search/users.go index 085302834..02673fa41 100644 --- a/internal/entity/search/users.go +++ b/internal/entity/search/users.go @@ -60,21 +60,21 @@ func Users(frm form.SearchUsers) (result entity.Users, err error) { switch sortOrder { case sortby.Name: - sortOrder = "user_name, id" + sortOrder = OrderExpr("user_name ASC, id ASC", frm.Reverse) case sortby.DisplayName: - sortOrder = "display_name, id" + sortOrder = OrderExpr("display_name ASC, id ASC", frm.Reverse) case sortby.Login, sortby.LoginAt: - sortOrder = "login_at DESC, id" + sortOrder = OrderExpr("login_at DESC, id ASC", frm.Reverse) case sortby.Created, sortby.CreatedAt: - sortOrder = "created_at ASC, id" + sortOrder = OrderExpr("created_at ASC, id ASC", frm.Reverse) case sortby.Updated, sortby.UpdatedAt: - sortOrder = "updated_at DESC, id" + sortOrder = OrderExpr("updated_at DESC, id ASC", frm.Reverse) case sortby.Deleted, sortby.DeletedAt: - sortOrder = "deleted_at DESC, created_at DESC, id" + sortOrder = OrderExpr("deleted_at DESC, created_at DESC, id ASC", frm.Reverse) case sortby.Email: - sortOrder = "user_email, id" + sortOrder = OrderExpr("user_email ASC, id ASC", frm.Reverse) default: - sortOrder = "user_name, id" + sortOrder = OrderExpr("user_name ASC, id ASC", frm.Reverse) } if limit > 0 { diff --git a/internal/entity/sortby/order.go b/internal/entity/sortby/order.go new file mode 100644 index 000000000..cb62cf5ac --- /dev/null +++ b/internal/entity/sortby/order.go @@ -0,0 +1,44 @@ +package sortby + +import ( + "strings" +) + +// Sort direction strings. +const ( + DirAsc = "ASC" + DirDesc = "DESC" +) + +// OrderReplacer replaces "ASC" with "DESC" and "DESC" with "ASC" +var OrderReplacer = strings.NewReplacer(DirAsc, DirDesc, DirDesc, DirAsc) + +// OrderExpr replaces "ASC" with "DESC" and "DESC" with "ASC" in the specified query order string if reverse is true. +func OrderExpr(s string, reverse bool) string { + if s == "" { + return "" + } else if reverse { + return OrderReplacer.Replace(s) + } + + return s +} + +// OrderAsc returns the expression used for sorting in ascending order. +func OrderAsc(reverse bool) string { + if reverse { + return DirDesc + } + + return DirAsc + +} + +// OrderDesc returns the expression used for sorting in descending order. +func OrderDesc(reverse bool) string { + if reverse { + return DirAsc + } + + return DirDesc +} diff --git a/internal/entity/sortby/order_test.go b/internal/entity/sortby/order_test.go new file mode 100644 index 000000000..f22b74eda --- /dev/null +++ b/internal/entity/sortby/order_test.go @@ -0,0 +1,42 @@ +package sortby + +import ( + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestOrderExpr(t *testing.T) { + t.Run("Default", func(t *testing.T) { + assert.Equal(t, "", OrderExpr("", false)) + assert.Equal(t, "photos.edited_at", OrderExpr("photos.edited_at", false)) + assert.Equal(t, "photos.edited_at ASC", OrderExpr("photos.edited_at ASC", false)) + assert.Equal(t, "photos.edited_at DESC, files.media_id", OrderExpr("photos.edited_at DESC, files.media_id", false)) + assert.Equal(t, "photos.edited_at DESC, files.media_id ASC", OrderExpr("photos.edited_at DESC, files.media_id ASC", false)) + }) + t.Run("Reverse", func(t *testing.T) { + assert.Equal(t, "", OrderExpr("", true)) + assert.Equal(t, "photos.edited_at", OrderExpr("photos.edited_at", true)) + assert.Equal(t, "photos.edited_at DESC", OrderExpr("photos.edited_at ASC", true)) + assert.Equal(t, "photos.edited_at ASC, files.media_id", OrderExpr("photos.edited_at DESC, files.media_id", true)) + assert.Equal(t, "photos.edited_at ASC, files.media_id DESC", OrderExpr("photos.edited_at DESC, files.media_id ASC", true)) + }) +} + +func TestOrderAsc(t *testing.T) { + t.Run("Default", func(t *testing.T) { + assert.Equal(t, DirAsc, OrderAsc(false)) + }) + t.Run("Reverse", func(t *testing.T) { + assert.Equal(t, DirDesc, OrderAsc(true)) + }) +} + +func TestOrderDesc(t *testing.T) { + t.Run("Default", func(t *testing.T) { + assert.Equal(t, DirDesc, OrderDesc(false)) + }) + t.Run("Reverse", func(t *testing.T) { + assert.Equal(t, DirAsc, OrderDesc(true)) + }) +} diff --git a/internal/entity/sortby/sortorder.go b/internal/entity/sortby/sortby.go similarity index 100% rename from internal/entity/sortby/sortorder.go rename to internal/entity/sortby/sortby.go diff --git a/internal/entity/src.go b/internal/entity/src.go index 326b25fa7..612c5e465 100644 --- a/internal/entity/src.go +++ b/internal/entity/src.go @@ -9,6 +9,7 @@ const ( SrcAuto = "" // Prio 1 SrcDefault = "default" // Prio 1 SrcEstimate = "estimate" // Prio 2 + SrcFile = "file" // Prio 2 SrcName = "name" // Prio 4 SrcYaml = "yaml" // Prio 8 SrcOIDC = "oidc" // Prio 8 @@ -40,6 +41,7 @@ var SrcPriority = Priorities{ SrcAuto: 1, SrcDefault: 1, SrcEstimate: 2, + SrcFile: 2, SrcName: 4, SrcYaml: 8, SrcOIDC: 8, diff --git a/internal/ffmpeg/apple/avc.go b/internal/ffmpeg/apple/avc.go index 05f2d7305..12a4b21f8 100644 --- a/internal/ffmpeg/apple/avc.go +++ b/internal/ffmpeg/apple/avc.go @@ -8,23 +8,24 @@ import ( // TranscodeToAvcCmd returns the FFmpeg command for hardware-accelerated transcoding to MPEG-4 AVC. func TranscodeToAvcCmd(srcName, destName string, opt encode.Options) *exec.Cmd { - // ffmpeg -hide_banner -h encoder=h264_videotoolbox return exec.Command( opt.Bin, - "-hide_banner", "-y", + "-hide_banner", + "-y", "-strict", "-2", "-i", srcName, "-c:v", opt.Encoder.String(), "-map", opt.MapVideo, "-map", opt.MapAudio, + "-ignore_unknown", "-c:a", "aac", "-vf", opt.VideoFilter(encode.FormatYUV420P), "-profile", "high", "-level", "51", - "-r", "30", "-q:v", opt.QvQuality(), "-f", "mp4", "-movflags", opt.MovFlags, + "-map_metadata", opt.MapMetadata, destName, ) } diff --git a/internal/ffmpeg/encode/avc.go b/internal/ffmpeg/encode/avc.go index e239fd638..85ee88f2d 100644 --- a/internal/ffmpeg/encode/avc.go +++ b/internal/ffmpeg/encode/avc.go @@ -6,20 +6,22 @@ import "os/exec" func TranscodeToAvcCmd(srcName, destName string, opt Options) *exec.Cmd { return exec.Command( opt.Bin, - "-hide_banner", "-y", + "-hide_banner", + "-y", "-strict", "-2", "-i", srcName, "-c:v", opt.Encoder.String(), "-map", opt.MapVideo, "-map", opt.MapAudio, + "-ignore_unknown", "-c:a", "aac", "-preset", opt.Preset, "-vf", opt.VideoFilter(FormatYUV420P), "-max_muxing_queue_size", "1024", - "-r", "30", "-crf", opt.CrfQuality(), "-f", "mp4", "-movflags", opt.MovFlags, + "-map_metadata", opt.MapMetadata, destName, ) } diff --git a/internal/ffmpeg/encode/const.go b/internal/ffmpeg/encode/const.go index fa87c3928..fc88a7ca9 100644 --- a/internal/ffmpeg/encode/const.go +++ b/internal/ffmpeg/encode/const.go @@ -16,6 +16,7 @@ const ( // Default video and audio track mapping. const ( - DefaultMapVideo = "0:v:0" - DefaultMapAudio = "0:a:0?" + DefaultMapVideo = "0:v:0" + DefaultMapAudio = "0:a:0?" + DefaultMapMetadata = "0" ) diff --git a/internal/ffmpeg/encode/flags.go b/internal/ffmpeg/encode/flags.go index 6254aa938..da2a8462c 100644 --- a/internal/ffmpeg/encode/flags.go +++ b/internal/ffmpeg/encode/flags.go @@ -6,4 +6,4 @@ package encode // - https://cloudinary.com/glossary/fragmented-mp4 // - https://medium.com/@vlad.pbr/in-browser-live-video-using-fragmented-mp4-3aedb600a07e // - https://github.com/video-dev/hls.js?tab=readme-ov-file#features -var MovFlags = "frag_keyframe+empty_moov+default_base_moof+faststart" +var MovFlags = "use_metadata_tags+faststart" diff --git a/internal/ffmpeg/encode/options.go b/internal/ffmpeg/encode/options.go index be1c27d6a..2e28eeea3 100644 --- a/internal/ffmpeg/encode/options.go +++ b/internal/ffmpeg/encode/options.go @@ -3,21 +3,31 @@ package encode import ( "fmt" "time" + + "github.com/photoprism/photoprism/pkg/fs" ) // Options represents FFmpeg encoding options. type Options struct { - Bin string // FFmpeg binary filename, e.g. /usr/bin/ffmpeg - Encoder Encoder // Supported FFmpeg output Encoder - SizeLimit int // Maximum width and height of the output video file in pixels. - Quality int // See https://ffmpeg.org/ffmpeg-codecs.html - Preset string // See https://trac.ffmpeg.org/wiki/Encode/H.264#Preset - Device string // See https://trac.ffmpeg.org/wiki/Limiting%20the%20output%20bitrate - MapVideo string // See https://trac.ffmpeg.org/wiki/Map#Videostreamsonly - MapAudio string // See https://trac.ffmpeg.org/wiki/Map#Audiostreamsonly - TimeOffset string // See https://trac.ffmpeg.org/wiki/Seeking and https://ffmpeg.org/ffmpeg-utils.html#time-duration-syntax - Duration time.Duration // See https://ffmpeg.org/ffmpeg.html#Main-options - MovFlags string + Bin string // FFmpeg binary filename, e.g. /usr/bin/ffmpeg + Container fs.Type // Multimedia Container File Format + Encoder Encoder // Supported FFmpeg output Encoder + SizeLimit int // Maximum width and height of the output video file in pixels. + Quality int // See https://ffmpeg.org/ffmpeg-codecs.html + Preset string // See https://trac.ffmpeg.org/wiki/Encode/H.264#Preset + Device string // See https://trac.ffmpeg.org/wiki/Limiting%20the%20output%20bitrate + MapVideo string // See https://trac.ffmpeg.org/wiki/Map#Videostreamsonly + MapAudio string // See https://trac.ffmpeg.org/wiki/Map#Audiostreamsonly + MapMetadata string // See https://ffmpeg.org/ffmpeg.html + TimeOffset string // See https://trac.ffmpeg.org/wiki/Seeking and https://ffmpeg.org/ffmpeg-utils.html#time-duration-syntax + Duration time.Duration // See https://ffmpeg.org/ffmpeg.html#Main-options + MovFlags string + Title string + Description string + Comment string + Author string + Created time.Time + Force bool } // NewVideoOptions creates and returns new FFmpeg video transcoding options. @@ -57,15 +67,38 @@ func NewVideoOptions(ffmpegBin string, encoder Encoder, sizeLimit, quality int, } return Options{ - Bin: ffmpegBin, - Encoder: encoder, - SizeLimit: sizeLimit, - Quality: quality, - Preset: preset, - Device: device, - MapVideo: mapVideo, - MapAudio: mapAudio, - MovFlags: MovFlags, + Bin: ffmpegBin, + Container: fs.VideoMp4, + Encoder: encoder, + SizeLimit: sizeLimit, + Quality: quality, + Preset: preset, + Device: device, + MapVideo: mapVideo, + MapAudio: mapAudio, + MapMetadata: DefaultMapMetadata, + MovFlags: MovFlags, + } +} + +// NewRemuxOptions creates and returns new video remux options. +func NewRemuxOptions(ffmpegBin string, container fs.Type, force bool) Options { + if ffmpegBin == "" { + ffmpegBin = FFmpegBin + } + + if container == "" { + container = fs.VideoMp4 + } + + return Options{ + Bin: ffmpegBin, + Container: fs.VideoMp4, + MapVideo: DefaultMapVideo, + MapAudio: DefaultMapAudio, + MapMetadata: DefaultMapMetadata, + MovFlags: MovFlags, + Force: force, } } diff --git a/internal/ffmpeg/intel/avc.go b/internal/ffmpeg/intel/avc.go index beae1a044..67c903482 100644 --- a/internal/ffmpeg/intel/avc.go +++ b/internal/ffmpeg/intel/avc.go @@ -12,7 +12,8 @@ func TranscodeToAvcCmd(srcName, destName string, opt encode.Options) *exec.Cmd { if opt.Device != "" { return exec.Command( opt.Bin, - "-hide_banner", "-y", + "-hide_banner", + "-y", "-strict", "-2", "-hwaccel", "qsv", "-hwaccel_device", opt.Device, @@ -23,17 +24,19 @@ func TranscodeToAvcCmd(srcName, destName string, opt encode.Options) *exec.Cmd { "-c:v", opt.Encoder.String(), "-map", opt.MapVideo, "-map", opt.MapAudio, + "-ignore_unknown", "-preset", opt.Preset, - "-r", "30", "-global_quality", opt.GlobalQuality(), "-f", "mp4", "-movflags", opt.MovFlags, + "-map_metadata", opt.MapMetadata, destName, ) } else { return exec.Command( opt.Bin, - "-hide_banner", "-y", + "-hide_banner", + "-y", "-strict", "-2", "-hwaccel", "qsv", "-hwaccel_output_format", "qsv", @@ -43,11 +46,12 @@ func TranscodeToAvcCmd(srcName, destName string, opt encode.Options) *exec.Cmd { "-c:v", opt.Encoder.String(), "-map", opt.MapVideo, "-map", opt.MapAudio, + "-ignore_unknown", "-preset", opt.Preset, - "-r", "30", "-global_quality", opt.GlobalQuality(), "-f", "mp4", "-movflags", opt.MovFlags, + "-map_metadata", opt.MapMetadata, destName, ) } diff --git a/internal/ffmpeg/nvidia/avc.go b/internal/ffmpeg/nvidia/avc.go index 27c9b94b2..48eb2a112 100644 --- a/internal/ffmpeg/nvidia/avc.go +++ b/internal/ffmpeg/nvidia/avc.go @@ -11,7 +11,8 @@ func TranscodeToAvcCmd(srcName, destName string, opt encode.Options) *exec.Cmd { // ffmpeg -hide_banner -h encoder=h264_nvenc return exec.Command( opt.Bin, - "-hide_banner", "-y", + "-hide_banner", + "-y", "-strict", "-2", "-hwaccel", "auto", "-i", srcName, @@ -19,6 +20,7 @@ func TranscodeToAvcCmd(srcName, destName string, opt encode.Options) *exec.Cmd { "-c:v", opt.Encoder.String(), "-map", opt.MapVideo, "-map", opt.MapAudio, + "-ignore_unknown", "-c:a", "aac", "-preset", opt.Preset, "-pixel_format", "yuv420p", @@ -27,12 +29,12 @@ func TranscodeToAvcCmd(srcName, destName string, opt encode.Options) *exec.Cmd { "-rc:v", "constqp", "-cq", opt.CqQuality(), "-tune", "2", - "-r", "30", "-profile:v", "1", "-level:v", "auto", "-coder:v", "1", "-f", "mp4", "-movflags", opt.MovFlags, + "-map_metadata", opt.MapMetadata, destName, ) } diff --git a/internal/ffmpeg/remux.go b/internal/ffmpeg/remux.go new file mode 100644 index 000000000..2ef055fa5 --- /dev/null +++ b/internal/ffmpeg/remux.go @@ -0,0 +1,206 @@ +package ffmpeg + +import ( + "bytes" + "errors" + "fmt" + "os" + "os/exec" + "path/filepath" + "strings" + "time" + + "github.com/photoprism/photoprism/internal/ffmpeg/encode" + "github.com/photoprism/photoprism/pkg/clean" + "github.com/photoprism/photoprism/pkg/fs" +) + +// RemuxFile changes the file format to the specified container as needed. +func RemuxFile(videoFilePath, destFilePath string, opt encode.Options) error { + // Return if destination file already exists and force option is not set. + if !opt.Force && fs.FileExistsNotEmpty(destFilePath) { + return nil + } + + // Error if source file does not exist or is empty. + if !fs.FileExistsNotEmpty(videoFilePath) { + return errors.New("invalid video file path") + } + + // Use MP4 as default container format. + if opt.Container == "" { + opt.Container = fs.ExtMp4 + } + + videoBaseName := filepath.Base(videoFilePath) + + if destFilePath == "" { + destFilePath = fs.StripKnownExt(videoFilePath) + opt.Container.DefaultExt() + } + + destFileBase := filepath.Base(destFilePath) + destPathName := filepath.Dir(destFilePath) + + tempBaseName := "." + fs.StripKnownExt(clean.FileName(videoBaseName)) + opt.Container.DefaultExt() + tempFilePath := filepath.Join(destPathName, tempBaseName) + + cmd, err := RemuxCmd(videoFilePath, tempFilePath, opt) + + // Return if an error occurred. + if err != nil { + log.Error(err) + return err + } + + // Check if target file already exists. + if fs.FileExists(tempFilePath) { + if !opt.Force { + return fmt.Errorf("temp file %s already exists", clean.Log(tempBaseName)) + } else if err = os.Remove(tempFilePath); err != nil { + return fmt.Errorf("%s (remove temp file)", err) + } + + log.Infof("ffmpeg: replacing temp file %s", clean.Log(tempBaseName)) + } + + // Fetch command output. + var out bytes.Buffer + var stderr bytes.Buffer + cmd.Stdout = &out + cmd.Stderr = &stderr + cmd.Env = append(cmd.Env, []string{ + fmt.Sprintf("HOME=%s", tempFilePath), + }...) + + log.Infof("ffmpeg: changing container format of %s to %s", clean.Log(videoBaseName), opt.Container) + + // Log exact command for debugging in trace mode. + log.Trace(cmd.String()) + + // Transcode source media file to AVC. + start := time.Now() + if err = cmd.Run(); err != nil { + if stderr.String() != "" { + err = errors.New(stderr.String()) + } + + // Log ffmpeg output for debugging. + if err.Error() != "" { + log.Debug(err) + } + + // Log filename and transcoding time. + log.Warnf("ffmpeg: failed to convert %s [%s]", clean.Log(videoBaseName), time.Since(start)) + + // Remove broken video file. + if !fs.FileExists(tempFilePath) { + // Do nothing. + } else if err = os.Remove(tempFilePath); err != nil { + return fmt.Errorf("failed to remove temp file %s (%s)", clean.Log(tempBaseName), err) + } + + return err + } + + // Abort if destination file is missing or empty. + if !fs.FileExistsNotEmpty(tempFilePath) { + _ = os.Remove(tempFilePath) + return fmt.Errorf("failed change container format of %s [%s]", clean.Log(videoBaseName), time.Since(start)) + } + + if !fs.FileExists(destFilePath) { + // Do nothing. + } else if err = os.Remove(destFilePath); err != nil { + _ = os.Remove(tempFilePath) + return fmt.Errorf("failed to remove %s (%s)", clean.Log(destFileBase), err) + } + + if err = os.Rename(tempFilePath, destFilePath); err != nil { + return fmt.Errorf("failed to rename %s to %s (%s)", clean.Log(tempBaseName), clean.Log(destFileBase), err) + } + + // Log filename and remux time. + if videoBaseName != destFileBase { + log.Infof("ffmpeg: converted %s to %s [%s]", clean.Log(videoBaseName), clean.Log(destFileBase), time.Since(start)) + } else { + log.Infof("ffmpeg: converted %s to %s [%s]", clean.Log(videoBaseName), opt.Container.String(), time.Since(start)) + } + + return nil +} + +// RemuxCmd returns the FFmpeg command for transferring content from one container format to another without altering the original video or audio stream. +func RemuxCmd(srcName, destName string, opt encode.Options) (cmd *exec.Cmd, err error) { + if srcName == "" { + return nil, fmt.Errorf("empty source filename") + } else if !fs.FileExistsNotEmpty(srcName) { + return nil, fmt.Errorf("source file is empty or missing") + } else if destName == "" { + return nil, fmt.Errorf("empty destination filename") + } else if srcName == destName { + return nil, fmt.Errorf("source and destination filenames must be different") + } + + // Use the default binary name if no name is specified. + if opt.Bin == "" { + opt.Bin = encode.FFmpegBin + } + + // Compose "ffmpeg" command flags, see https://ffmpeg.org/ffmpeg-formats.html#Format-Options: + flags := []string{ + "-hide_banner", + "-y", + "-strict", "-2", + // The "-avoid_negative_ts" flag is commonly used for remuxing, but may cause desync (please report any issues): + "-avoid_negative_ts", "make_zero", + "-i", srcName, + "-map", opt.MapVideo, + "-map", opt.MapAudio, + // The "-dn" flag removes data streams, such as subtitles, timecode tracks, and camera motion data: + "-dn", + "-ignore_unknown", + "-codec", "copy", + "-f", opt.Container.String(), + } + + // Append format specific "ffmpeg" command flags. + switch opt.Container { + case fs.VideoMp4: + // Ensure MP4 compatibility: + flags = append(flags, + "-movflags", opt.MovFlags, + "-map_metadata", opt.MapMetadata, // Copy existing video metadata. + ) + + // If specified, add the following metadata: + if title := clean.Name(opt.Title); title != "" { + flags = append(flags, "-metadata", fmt.Sprintf(`title=%s`, title)) + } + + if desc := strings.TrimSpace(opt.Description); desc != "" { + flags = append(flags, "-metadata", fmt.Sprintf(`description=%s`, desc)) + } + + if comment := strings.TrimSpace(opt.Comment); comment != "" { + flags = append(flags, "-metadata", fmt.Sprintf(`comment=%s`, comment)) + } + + if author := clean.Name(opt.Author); author != "" { + flags = append(flags, "-metadata", fmt.Sprintf(`author=%s`, author)) + } + + if !opt.Created.IsZero() { + flags = append(flags, "-metadata", fmt.Sprintf(`creation_time=%s`, opt.Created.Format(time.DateTime))) + } + } + + // Set the destination file name as the last command flag. + flags = append(flags, destName) + + cmd = exec.Command( + opt.Bin, + flags..., + ) + + return cmd, nil +} diff --git a/internal/ffmpeg/remux_test.go b/internal/ffmpeg/remux_test.go new file mode 100644 index 000000000..79bd47050 --- /dev/null +++ b/internal/ffmpeg/remux_test.go @@ -0,0 +1,100 @@ +package ffmpeg + +import ( + "os" + "strings" + "testing" + + "github.com/stretchr/testify/assert" + + "github.com/photoprism/photoprism/internal/ffmpeg/encode" + "github.com/photoprism/photoprism/pkg/fs" +) + +func TestRemuxFile(t *testing.T) { + ffmpegBin := "/usr/bin/ffmpeg" + + t.Run("NoFilePath", func(t *testing.T) { + opt := encode.NewRemuxOptions(ffmpegBin, fs.VideoMp4, false) + err := RemuxFile("", "", opt) + + assert.Equal(t, "invalid video file path", err.Error()) + }) + + t.Run("Mp4", func(t *testing.T) { + opt := encode.NewRemuxOptions(ffmpegBin, fs.VideoMp4, false) + + // QuickTime MOV container with HVC1 (HEVC) codec. + origName := fs.Abs("./testdata/30fps.mov") + srcName := fs.Abs("./testdata/30fps.remux-file.mov") + tmpName := fs.Abs("./testdata/.30fps.remux-file.mp4") + destName := fs.Abs("./testdata/30fps.remux-file.avc") + + _ = os.Remove(srcName) + _ = os.Remove(tmpName) + _ = os.Remove(destName) + + defer func() { + _ = os.Remove(srcName) + _ = os.Remove(tmpName) + _ = os.Remove(destName) + }() + + if err := fs.Copy(origName, srcName); err != nil { + t.Fatal(err) + } + + if err := RemuxFile(srcName, destName, opt); err != nil { + t.Fatal(err) + } + + assert.FileExists(t, srcName) + assert.NoFileExists(t, tmpName) + assert.FileExists(t, destName) + }) +} + +func TestRemuxCmd(t *testing.T) { + ffmpegBin := "/usr/bin/ffmpeg" + + t.Run("NoSrcName", func(t *testing.T) { + opt := encode.NewRemuxOptions(ffmpegBin, fs.VideoMp4, false) + _, err := RemuxCmd("", "", opt) + + assert.Equal(t, "empty source filename", err.Error()) + }) + + t.Run("Mp4", func(t *testing.T) { + opt := encode.NewRemuxOptions(ffmpegBin, fs.VideoMp4, false) + + // QuickTime MOV container with HVC1 (HEVC) codec. + origName := fs.Abs("./testdata/30fps.mov") + + srcName := fs.Abs("./testdata/30fps.remux-cmd.mov") + destName := fs.Abs("./testdata/30fps.remux-cmd.mp4") + + _ = os.Remove(srcName) + _ = os.Remove(destName) + + defer func() { + _ = os.Remove(srcName) + _ = os.Remove(destName) + }() + + if err := fs.Copy(origName, srcName); err != nil { + t.Fatal(err) + } + + cmd, err := RemuxCmd(srcName, destName, opt) + + if err != nil { + t.Fatal(err) + } + + cmdStr := cmd.String() + cmdStr = strings.Replace(cmdStr, srcName, "SRC", 1) + cmdStr = strings.Replace(cmdStr, destName, "DEST", 1) + + assert.Equal(t, "/usr/bin/ffmpeg -hide_banner -y -strict -2 -avoid_negative_ts make_zero -i SRC -map 0:v:0 -map 0:a:0? -dn -ignore_unknown -codec copy -f mp4 -movflags use_metadata_tags+faststart -map_metadata 0 DEST", cmdStr) + }) +} diff --git a/internal/ffmpeg/transcode_cmd.go b/internal/ffmpeg/transcode_cmd.go index 891c95b7f..5453ffa40 100644 --- a/internal/ffmpeg/transcode_cmd.go +++ b/internal/ffmpeg/transcode_cmd.go @@ -33,9 +33,11 @@ func TranscodeCmd(srcName, destName string, opt encode.Options) (cmd *exec.Cmd, if fs.TypeAnimated[fs.FileType(srcName)] != "" { cmd = exec.Command( opt.Bin, - "-hide_banner", "-y", + "-hide_banner", + "-y", "-strict", "-2", "-i", srcName, + "-ignore_unknown", "-pix_fmt", encode.FormatYUV420P.String(), "-vf", "scale='trunc(iw/2)*2:trunc(ih/2)*2'", "-f", "mp4", diff --git a/internal/ffmpeg/transcode_cmd_test.go b/internal/ffmpeg/transcode_cmd_test.go index 7ed7b7768..d6ab5d3f6 100644 --- a/internal/ffmpeg/transcode_cmd_test.go +++ b/internal/ffmpeg/transcode_cmd_test.go @@ -34,7 +34,7 @@ func TestTranscodeCmd(t *testing.T) { t.Fatal(err) } - assert.Contains(t, r.String(), "bin/ffmpeg -hide_banner -y -strict -2 -i VID123.gif -pix_fmt yuv420p -vf scale='trunc(iw/2)*2:trunc(ih/2)*2' -f mp4 -movflags +faststart VID123.gif.avc") + assert.Contains(t, r.String(), "bin/ffmpeg -hide_banner -y -strict -2 -i VID123.gif -ignore_unknown -pix_fmt yuv420p -vf scale='trunc(iw/2)*2:trunc(ih/2)*2' -f mp4 -movflags +faststart VID123.gif.avc") }) t.Run("VP9toAVC", func(t *testing.T) { opt := encode.NewVideoOptions(ffmpegBin, encode.SoftwareAvc, 1500, encode.DefaultQuality, encode.PresetFast, "", "", "") @@ -52,7 +52,7 @@ func TestTranscodeCmd(t *testing.T) { cmdStr = strings.Replace(cmdStr, srcName, "SRC", 1) cmdStr = strings.Replace(cmdStr, destName, "DEST", 1) - assert.Equal(t, "/usr/bin/ffmpeg -hide_banner -y -strict -2 -i SRC -c:v libx264 -map 0:v:0 -map 0:a:0? -c:a aac -preset fast -vf scale='if(gte(iw,ih), min(1500, iw), -2):if(gte(iw,ih), -2, min(1500, ih))',format=yuv420p -max_muxing_queue_size 1024 -r 30 -crf 25 -f mp4 -movflags frag_keyframe+empty_moov+default_base_moof+faststart DEST", cmdStr) + assert.Equal(t, "/usr/bin/ffmpeg -hide_banner -y -strict -2 -i SRC -c:v libx264 -map 0:v:0 -map 0:a:0? -ignore_unknown -c:a aac -preset fast -vf scale='if(gte(iw,ih), min(1500, iw), -2):if(gte(iw,ih), -2, min(1500, ih))',format=yuv420p -max_muxing_queue_size 1024 -crf 25 -f mp4 -movflags use_metadata_tags+faststart -map_metadata 0 DEST", cmdStr) // Run generated command to test software transcoding. RunCommandTest(t, opt.Encoder, srcName, destName, cmd, true) @@ -73,7 +73,7 @@ func TestTranscodeCmd(t *testing.T) { cmdStr = strings.Replace(cmdStr, srcName, "SRC", 1) cmdStr = strings.Replace(cmdStr, destName, "DEST", 1) - assert.Equal(t, "/usr/bin/ffmpeg -hide_banner -y -strict -2 -hwaccel vaapi -i SRC -c:a aac -vf scale='if(gte(iw,ih), min(1500, iw), -2):if(gte(iw,ih), -2, min(1500, ih))',format=nv12,hwupload -c:v h264_vaapi -map 0:v:0 -map 0:a:0? -r 30 -qp 25 -f mp4 -movflags frag_keyframe+empty_moov+default_base_moof+faststart DEST", cmdStr) + assert.Equal(t, "/usr/bin/ffmpeg -hide_banner -y -strict -2 -hwaccel vaapi -i SRC -c:a aac -vf scale='if(gte(iw,ih), min(1500, iw), -2):if(gte(iw,ih), -2, min(1500, ih))',format=nv12,hwupload -c:v h264_vaapi -map 0:v:0 -map 0:a:0? -ignore_unknown -qp 25 -f mp4 -movflags use_metadata_tags+faststart -map_metadata 0 DEST", cmdStr) // This transcoding test requires a supported hardware device that is properly configured: if os.Getenv("PHOTOPRISM_FFMPEG_ENCODER") == "vaapi" { @@ -97,7 +97,7 @@ func TestTranscodeCmd(t *testing.T) { cmdStr = strings.Replace(cmdStr, srcName, "SRC", 1) cmdStr = strings.Replace(cmdStr, destName, "DEST", 1) - assert.Equal(t, "/usr/bin/ffmpeg -hide_banner -y -strict -2 -hwaccel qsv -hwaccel_device /dev/dri/renderD128 -hwaccel_output_format qsv -i SRC -c:a aac -vf scale_qsv=w='if(gte(iw,ih), min(1500, iw), -1)':h='if(gte(iw,ih), -1, min(1500, ih))':format=nv12 -c:v h264_qsv -map 0:v:0 -map 0:a:0? -preset fast -r 30 -global_quality 25 -f mp4 -movflags frag_keyframe+empty_moov+default_base_moof+faststart DEST", cmdStr) + assert.Equal(t, "/usr/bin/ffmpeg -hide_banner -y -strict -2 -hwaccel qsv -hwaccel_device /dev/dri/renderD128 -hwaccel_output_format qsv -i SRC -c:a aac -vf scale_qsv=w='if(gte(iw,ih), min(1500, iw), -1)':h='if(gte(iw,ih), -1, min(1500, ih))':format=nv12 -c:v h264_qsv -map 0:v:0 -map 0:a:0? -ignore_unknown -preset fast -global_quality 25 -f mp4 -movflags use_metadata_tags+faststart -map_metadata 0 DEST", cmdStr) // This transcoding test requires a supported hardware device that is properly configured: if os.Getenv("PHOTOPRISM_FFMPEG_ENCODER") == "intel" { @@ -120,7 +120,7 @@ func TestTranscodeCmd(t *testing.T) { cmdStr = strings.Replace(cmdStr, srcName, "SRC", 1) cmdStr = strings.Replace(cmdStr, destName, "DEST", 1) - assert.Equal(t, "/usr/bin/ffmpeg -hide_banner -y -strict -2 -hwaccel qsv -hwaccel_device /dev/dri/renderD128 -hwaccel_output_format qsv -i SRC -c:a aac -vf scale_qsv=w='if(gte(iw,ih), min(1500, iw), -1)':h='if(gte(iw,ih), -1, min(1500, ih))':format=nv12 -c:v h264_qsv -map 0:v:0 -map 0:a:0? -preset fast -r 30 -global_quality 25 -f mp4 -movflags frag_keyframe+empty_moov+default_base_moof+faststart DEST", cmdStr) + assert.Equal(t, "/usr/bin/ffmpeg -hide_banner -y -strict -2 -hwaccel qsv -hwaccel_device /dev/dri/renderD128 -hwaccel_output_format qsv -i SRC -c:a aac -vf scale_qsv=w='if(gte(iw,ih), min(1500, iw), -1)':h='if(gte(iw,ih), -1, min(1500, ih))':format=nv12 -c:v h264_qsv -map 0:v:0 -map 0:a:0? -ignore_unknown -preset fast -global_quality 25 -f mp4 -movflags use_metadata_tags+faststart -map_metadata 0 DEST", cmdStr) // This transcoding test requires a supported hardware device that is properly configured: if os.Getenv("PHOTOPRISM_FFMPEG_ENCODER") == "intel" { @@ -144,7 +144,7 @@ func TestTranscodeCmd(t *testing.T) { cmdStr = strings.Replace(cmdStr, srcName, "SRC", 1) cmdStr = strings.Replace(cmdStr, destName, "DEST", 1) - assert.Equal(t, "/usr/bin/ffmpeg -hide_banner -y -strict -2 -hwaccel auto -i SRC -pix_fmt yuv420p -c:v h264_nvenc -map 0:v:0 -map 0:a:0? -c:a aac -preset fast -pixel_format yuv420p -gpu any -vf scale='if(gte(iw,ih), min(1500, iw), -2):if(gte(iw,ih), -2, min(1500, ih))',format=yuv420p -rc:v constqp -cq 25 -tune 2 -r 30 -profile:v 1 -level:v auto -coder:v 1 -f mp4 -movflags frag_keyframe+empty_moov+default_base_moof+faststart DEST", cmdStr) + assert.Equal(t, "/usr/bin/ffmpeg -hide_banner -y -strict -2 -hwaccel auto -i SRC -pix_fmt yuv420p -c:v h264_nvenc -map 0:v:0 -map 0:a:0? -ignore_unknown -c:a aac -preset fast -pixel_format yuv420p -gpu any -vf scale='if(gte(iw,ih), min(1500, iw), -2):if(gte(iw,ih), -2, min(1500, ih))',format=yuv420p -rc:v constqp -cq 25 -tune 2 -profile:v 1 -level:v auto -coder:v 1 -f mp4 -movflags use_metadata_tags+faststart -map_metadata 0 DEST", cmdStr) // This transcoding test requires a supported hardware device that is properly configured: if os.Getenv("PHOTOPRISM_FFMPEG_ENCODER") == "nvidia" { @@ -167,7 +167,7 @@ func TestTranscodeCmd(t *testing.T) { cmdStr = strings.Replace(cmdStr, srcName, "SRC", 1) cmdStr = strings.Replace(cmdStr, destName, "DEST", 1) - assert.Equal(t, "/usr/bin/ffmpeg -hide_banner -y -strict -2 -hwaccel auto -i SRC -pix_fmt yuv420p -c:v h264_nvenc -map 0:v:0 -map 0:a:0? -c:a aac -preset fast -pixel_format yuv420p -gpu any -vf scale='if(gte(iw,ih), min(1500, iw), -2):if(gte(iw,ih), -2, min(1500, ih))',format=yuv420p -rc:v constqp -cq 25 -tune 2 -r 30 -profile:v 1 -level:v auto -coder:v 1 -f mp4 -movflags frag_keyframe+empty_moov+default_base_moof+faststart DEST", cmdStr) + assert.Equal(t, "/usr/bin/ffmpeg -hide_banner -y -strict -2 -hwaccel auto -i SRC -pix_fmt yuv420p -c:v h264_nvenc -map 0:v:0 -map 0:a:0? -ignore_unknown -c:a aac -preset fast -pixel_format yuv420p -gpu any -vf scale='if(gte(iw,ih), min(1500, iw), -2):if(gte(iw,ih), -2, min(1500, ih))',format=yuv420p -rc:v constqp -cq 25 -tune 2 -profile:v 1 -level:v auto -coder:v 1 -f mp4 -movflags use_metadata_tags+faststart -map_metadata 0 DEST", cmdStr) // This transcoding test requires a supported hardware device that is properly configured: if os.Getenv("PHOTOPRISM_FFMPEG_ENCODER") == "nvidia" { @@ -182,7 +182,7 @@ func TestTranscodeCmd(t *testing.T) { t.Fatal(err) } - assert.Contains(t, r.String(), "ffmpeg -hide_banner -y -strict -2 -i VID123.mov -c:v h264_videotoolbox -map 0:v:0 -map 0:a:0? -c:a aac -vf scale='if(gte(iw,ih), min(1500, iw), -2):if(gte(iw,ih), -2, min(1500, ih))',format=yuv420p -profile high -level 51 -r 30 -q:v 50 -f mp4 -movflags frag_keyframe+empty_moov+default_base_moof+faststart VID123.mov.avc") + assert.Contains(t, r.String(), "ffmpeg -hide_banner -y -strict -2 -i VID123.mov -c:v h264_videotoolbox -map 0:v:0 -map 0:a:0? -ignore_unknown -c:a aac -vf scale='if(gte(iw,ih), min(1500, iw), -2):if(gte(iw,ih), -2, min(1500, ih))',format=yuv420p -profile high -level 51 -q:v 50 -f mp4 -movflags use_metadata_tags+faststart -map_metadata 0 VID123.mov.avc") }) t.Run("Video4Linux", func(t *testing.T) { opt := encode.NewVideoOptions("", encode.V4LAvc, 1500, encode.DefaultQuality, encode.PresetFast, "", "", "") @@ -192,6 +192,6 @@ func TestTranscodeCmd(t *testing.T) { t.Fatal(err) } - assert.Contains(t, r.String(), "ffmpeg -hide_banner -y -strict -2 -i VID123.mov -c:v h264_v4l2m2m -map 0:v:0 -map 0:a:0? -c:a aac -vf scale='if(gte(iw,ih), min(1500, iw), -2):if(gte(iw,ih), -2, min(1500, ih))',format=yuv420p -num_output_buffers 72 -num_capture_buffers 64 -max_muxing_queue_size 1024 -f mp4 -movflags frag_keyframe+empty_moov+default_base_moof+faststart VID123.mov.avc") + assert.Contains(t, r.String(), "ffmpeg -hide_banner -y -strict -2 -i VID123.mov -c:v h264_v4l2m2m -map 0:v:0 -map 0:a:0? -ignore_unknown -c:a aac -vf scale='if(gte(iw,ih), min(1500, iw), -2):if(gte(iw,ih), -2, min(1500, ih))',format=yuv420p -num_output_buffers 72 -num_capture_buffers 64 -max_muxing_queue_size 1024 -f mp4 -movflags use_metadata_tags+faststart -map_metadata 0 VID123.mov.avc") }) } diff --git a/internal/ffmpeg/v4l/avc.go b/internal/ffmpeg/v4l/avc.go index 9f2ab8b20..408514f42 100644 --- a/internal/ffmpeg/v4l/avc.go +++ b/internal/ffmpeg/v4l/avc.go @@ -11,12 +11,14 @@ func TranscodeToAvcCmd(srcName, destName string, opt encode.Options) *exec.Cmd { // ffmpeg -hide_banner -h encoder=h264_v4l2m2m return exec.Command( opt.Bin, - "-hide_banner", "-y", + "-hide_banner", + "-y", "-strict", "-2", "-i", srcName, "-c:v", opt.Encoder.String(), "-map", opt.MapVideo, "-map", opt.MapAudio, + "-ignore_unknown", "-c:a", "aac", "-vf", opt.VideoFilter(encode.FormatYUV420P), "-num_output_buffers", "72", @@ -24,6 +26,7 @@ func TranscodeToAvcCmd(srcName, destName string, opt encode.Options) *exec.Cmd { "-max_muxing_queue_size", "1024", "-f", "mp4", "-movflags", opt.MovFlags, + "-map_metadata", opt.MapMetadata, destName, ) } diff --git a/internal/ffmpeg/vaapi/avc.go b/internal/ffmpeg/vaapi/avc.go index a43f19d0b..75a38e8ac 100644 --- a/internal/ffmpeg/vaapi/avc.go +++ b/internal/ffmpeg/vaapi/avc.go @@ -11,7 +11,8 @@ func TranscodeToAvcCmd(srcName, destName string, opt encode.Options) *exec.Cmd { if opt.Device != "" { return exec.Command( opt.Bin, - "-hide_banner", "-y", + "-hide_banner", + "-y", "-strict", "-2", "-hwaccel", "vaapi", "-hwaccel_device", opt.Device, @@ -21,16 +22,18 @@ func TranscodeToAvcCmd(srcName, destName string, opt encode.Options) *exec.Cmd { "-c:v", opt.Encoder.String(), "-map", opt.MapVideo, "-map", opt.MapAudio, - "-r", "30", + "-ignore_unknown", "-qp", opt.QpQuality(), "-f", "mp4", "-movflags", opt.MovFlags, + "-map_metadata", opt.MapMetadata, destName, ) } else { return exec.Command( opt.Bin, - "-hide_banner", "-y", + "-hide_banner", + "-y", "-strict", "-2", "-hwaccel", "vaapi", "-i", srcName, @@ -39,10 +42,11 @@ func TranscodeToAvcCmd(srcName, destName string, opt encode.Options) *exec.Cmd { "-c:v", opt.Encoder.String(), "-map", opt.MapVideo, "-map", opt.MapAudio, - "-r", "30", + "-ignore_unknown", "-qp", opt.QpQuality(), "-f", "mp4", "-movflags", opt.MovFlags, + "-map_metadata", opt.MapMetadata, destName, ) } diff --git a/internal/form/batch/photos.go b/internal/form/batch/photos.go index 14df04f6e..b7758bec4 100644 --- a/internal/form/batch/photos.go +++ b/internal/form/batch/photos.go @@ -6,43 +6,93 @@ import ( // PhotosForm represents photo batch edit form values. type PhotosForm struct { - PhotoType String `json:"Type"` - PhotoTitle String `json:"Title"` - PhotoCaption String `json:"Caption"` - TakenAt Time `json:"TakenAt"` - TakenAtLocal Time `json:"TakenAtLocal"` - PhotoDay Int `json:"Day"` - PhotoMonth Int `json:"Month"` - PhotoYear Int `json:"Year"` - TimeZone String `json:"TimeZone"` - PhotoCountry String `json:"Country"` - PhotoAltitude Int `json:"Altitude"` - PhotoLat Float64 `json:"Lat"` - PhotoLng Float64 `json:"Lng"` - PhotoIso Int `json:"Iso"` - PhotoFocalLength Int `json:"FocalLength"` - PhotoFNumber Float32 `json:"FNumber"` - PhotoExposure String `json:"Exposure"` - PhotoFavorite Bool `json:"Favorite"` - PhotoPrivate Bool `json:"Private"` - PhotoScan Bool `json:"Scan"` - PhotoPanorama Bool `json:"Panorama"` - CameraID Int `json:"CameraID"` - LensID Int `json:"LensID"` + PhotoType String `json:"Type,omitempty"` + PhotoTitle String `json:"Title,omitempty"` + PhotoCaption String `json:"Caption,omitempty"` + TakenAt Time `json:"TakenAt,omitempty"` + TakenAtLocal Time `json:"TakenAtLocal,omitempty"` + PhotoDay Int `json:"Day,omitempty"` + PhotoMonth Int `json:"Month,omitempty"` + PhotoYear Int `json:"Year,omitempty"` + TimeZone String `json:"TimeZone,omitempty"` + PhotoCountry String `json:"Country,omitempty"` + PhotoAltitude Int `json:"Altitude,omitempty"` + PhotoLat Float64 `json:"Lat,omitempty"` + PhotoLng Float64 `json:"Lng,omitempty"` + PhotoIso Int `json:"Iso,omitempty"` + PhotoFocalLength Int `json:"FocalLength,omitempty"` + PhotoFNumber Float32 `json:"FNumber,omitempty"` + PhotoExposure String `json:"Exposure,omitempty"` + PhotoFavorite Bool `json:"Favorite,omitempty"` + PhotoPrivate Bool `json:"Private,omitempty"` + PhotoScan Bool `json:"Scan,omitempty"` + PhotoPanorama Bool `json:"Panorama,omitempty"` + CameraID Int `json:"CameraID,omitempty"` + LensID Int `json:"LensID,omitempty"` + Albums Items `json:"Albums,omitempty"` + Labels Items `json:"Labels,omitempty"` - DetailsKeywords String `json:"DetailsKeywords"` - DetailsSubject String `json:"DetailsSubject"` - DetailsArtist String `json:"DetailsArtist"` - DetailsCopyright String `json:"DetailsCopyright"` - DetailsLicense String `json:"DetailsLicense"` + DetailsKeywords String `json:"DetailsKeywords,omitempty"` + DetailsSubject String `json:"DetailsSubject,omitempty"` + DetailsArtist String `json:"DetailsArtist,omitempty"` + DetailsCopyright String `json:"DetailsCopyright,omitempty"` + DetailsLicense String `json:"DetailsLicense,omitempty"` } +// NewPhotosForm returns a new batch edit form instance +// initialized with values from the selected photos. func NewPhotosForm(photos search.PhotoResults) *PhotosForm { - frm := &PhotosForm{} + // Create a new batch edit form and initialize it + // with the values from the selected photos. + frm := &PhotosForm{ + Albums: Items{ + // TODO: Replace mock album items with the actual Albums + // that are assigned to the selected Photos. + Items: []Item{ + { + Value: "asz12ji57yzo5avk", + Title: "Berlin", + Mixed: false, + Action: ActionNone, + }, + { + Value: "asz12jiin5658ul8", + Title: "California", + Mixed: true, + Action: ActionNone, + }, + }, + Mixed: false, + Action: ActionNone, + }, + Labels: Items{ + // TODO: Replace mock label items with the actual Labels + // that are assigned to the selected Photos. + Items: []Item{ + { + Value: "lsz12jxkqhmu3n0g", + Title: "Cat", + Mixed: false, + Action: ActionNone, + }, + { + Value: "lsz12k29x01is71x", + Title: "Building", + Mixed: true, + Action: ActionNone, + }, + }, + Mixed: false, + Action: ActionNone, + }, + } + // TODO: Verify that all required PhotosForm values are present and + // properly initialized or use in the frontend form component. for i, photo := range photos { if i == 0 { frm.PhotoType.Value = photo.PhotoType + frm.PhotoType.Action = ActionNone } else if photo.PhotoType != frm.PhotoType.Value { frm.PhotoType.Mixed = true frm.PhotoType.Value = "" @@ -50,6 +100,7 @@ func NewPhotosForm(photos search.PhotoResults) *PhotosForm { if i == 0 { frm.PhotoTitle.Value = photo.PhotoTitle + frm.PhotoTitle.Action = ActionNone } else if photo.PhotoTitle != frm.PhotoTitle.Value { frm.PhotoTitle.Mixed = true frm.PhotoTitle.Value = "" @@ -57,6 +108,7 @@ func NewPhotosForm(photos search.PhotoResults) *PhotosForm { if i == 0 { frm.PhotoCaption.Value = photo.PhotoCaption + frm.PhotoCaption.Action = ActionNone } else if photo.PhotoCaption != frm.PhotoCaption.Value { frm.PhotoCaption.Mixed = true frm.PhotoCaption.Value = "" @@ -64,18 +116,21 @@ func NewPhotosForm(photos search.PhotoResults) *PhotosForm { if i == 0 { frm.TakenAt.Value = photo.TakenAt + frm.TakenAt.Action = ActionNone } else if photo.TakenAt != frm.TakenAt.Value { frm.TakenAt.Mixed = true } if i == 0 { frm.TakenAtLocal.Value = photo.TakenAtLocal + frm.TakenAtLocal.Action = ActionNone } else if photo.TakenAtLocal != frm.TakenAtLocal.Value { frm.TakenAtLocal.Mixed = true } if i == 0 { frm.PhotoDay.Value = photo.PhotoDay + frm.PhotoDay.Action = ActionNone } else if photo.PhotoDay != frm.PhotoDay.Value { frm.PhotoDay.Mixed = true frm.PhotoDay.Value = -2 @@ -83,6 +138,7 @@ func NewPhotosForm(photos search.PhotoResults) *PhotosForm { if i == 0 { frm.PhotoMonth.Value = photo.PhotoMonth + frm.PhotoMonth.Action = ActionNone } else if photo.PhotoMonth != frm.PhotoMonth.Value { frm.PhotoMonth.Mixed = true frm.PhotoMonth.Value = -2 @@ -90,6 +146,7 @@ func NewPhotosForm(photos search.PhotoResults) *PhotosForm { if i == 0 { frm.PhotoYear.Value = photo.PhotoYear + frm.PhotoYear.Action = ActionNone } else if photo.PhotoYear != frm.PhotoYear.Value { frm.PhotoYear.Mixed = true frm.PhotoYear.Value = -2 @@ -97,6 +154,7 @@ func NewPhotosForm(photos search.PhotoResults) *PhotosForm { if i == 0 { frm.TimeZone.Value = photo.TimeZone + frm.TimeZone.Action = ActionNone } else if photo.TimeZone != frm.TimeZone.Value { frm.TimeZone.Mixed = true frm.TimeZone.Value = "" @@ -104,6 +162,7 @@ func NewPhotosForm(photos search.PhotoResults) *PhotosForm { if i == 0 { frm.PhotoCountry.Value = photo.PhotoCountry + frm.PhotoCountry.Action = ActionNone } else if photo.PhotoCountry != frm.PhotoCountry.Value { frm.PhotoCountry.Mixed = true frm.PhotoCountry.Value = "" @@ -111,6 +170,7 @@ func NewPhotosForm(photos search.PhotoResults) *PhotosForm { if i == 0 { frm.PhotoAltitude.Value = photo.PhotoAltitude + frm.PhotoAltitude.Action = ActionNone } else if photo.PhotoAltitude != frm.PhotoAltitude.Value { frm.PhotoAltitude.Mixed = true frm.PhotoAltitude.Value = 0 @@ -118,6 +178,7 @@ func NewPhotosForm(photos search.PhotoResults) *PhotosForm { if i == 0 { frm.PhotoLat.Value = photo.PhotoLat + frm.PhotoLat.Action = ActionNone } else if photo.PhotoLat != frm.PhotoLat.Value { frm.PhotoLat.Mixed = true frm.PhotoLat.Value = 0.0 @@ -125,13 +186,15 @@ func NewPhotosForm(photos search.PhotoResults) *PhotosForm { if i == 0 { frm.PhotoLng.Value = photo.PhotoLng + frm.PhotoLng.Action = ActionNone } else if photo.PhotoLng != frm.PhotoLng.Value { - frm.PhotoLng.Mixed = false + frm.PhotoLng.Mixed = true frm.PhotoLng.Value = 0.0 } if i == 0 { frm.PhotoIso.Value = photo.PhotoIso + frm.PhotoIso.Action = ActionNone } else if photo.PhotoIso != frm.PhotoIso.Value { frm.PhotoIso.Mixed = true frm.PhotoIso.Value = 0 @@ -139,6 +202,7 @@ func NewPhotosForm(photos search.PhotoResults) *PhotosForm { if i == 0 { frm.PhotoFocalLength.Value = photo.PhotoFocalLength + frm.PhotoFocalLength.Action = ActionNone } else if photo.PhotoFocalLength != frm.PhotoFocalLength.Value { frm.PhotoFocalLength.Mixed = true frm.PhotoFocalLength.Value = 0 @@ -146,6 +210,7 @@ func NewPhotosForm(photos search.PhotoResults) *PhotosForm { if i == 0 { frm.PhotoFNumber.Value = photo.PhotoFNumber + frm.PhotoFNumber.Action = ActionNone } else if photo.PhotoFNumber != frm.PhotoFNumber.Value { frm.PhotoFNumber.Mixed = true frm.PhotoFNumber.Value = 0 @@ -153,6 +218,7 @@ func NewPhotosForm(photos search.PhotoResults) *PhotosForm { if i == 0 { frm.PhotoExposure.Value = photo.PhotoExposure + frm.PhotoExposure.Action = ActionNone } else if photo.PhotoExposure != frm.PhotoExposure.Value { frm.PhotoExposure.Mixed = true frm.PhotoExposure.Value = "" @@ -160,6 +226,7 @@ func NewPhotosForm(photos search.PhotoResults) *PhotosForm { if i == 0 { frm.PhotoFavorite.Value = photo.PhotoFavorite + frm.PhotoFavorite.Action = ActionNone } else if photo.PhotoFavorite != frm.PhotoFavorite.Value { frm.PhotoFavorite.Mixed = true frm.PhotoFavorite.Value = false @@ -167,6 +234,7 @@ func NewPhotosForm(photos search.PhotoResults) *PhotosForm { if i == 0 { frm.PhotoPrivate.Value = photo.PhotoPrivate + frm.PhotoPrivate.Action = ActionNone } else if photo.PhotoPrivate != frm.PhotoPrivate.Value { frm.PhotoPrivate.Mixed = true frm.PhotoPrivate.Value = false @@ -174,6 +242,7 @@ func NewPhotosForm(photos search.PhotoResults) *PhotosForm { if i == 0 { frm.PhotoScan.Value = photo.PhotoScan + frm.PhotoScan.Action = ActionNone } else if photo.PhotoScan != frm.PhotoScan.Value { frm.PhotoScan.Mixed = true frm.PhotoScan.Value = false @@ -181,6 +250,7 @@ func NewPhotosForm(photos search.PhotoResults) *PhotosForm { if i == 0 { frm.PhotoPanorama.Value = photo.PhotoPanorama + frm.PhotoPanorama.Action = ActionNone } else if photo.PhotoPanorama != frm.PhotoPanorama.Value { frm.PhotoPanorama.Mixed = true frm.PhotoPanorama.Value = false @@ -188,6 +258,7 @@ func NewPhotosForm(photos search.PhotoResults) *PhotosForm { if i == 0 { frm.CameraID.Value = int(photo.CameraID) + frm.CameraID.Action = ActionNone } else if photo.CameraID != uint(frm.CameraID.Value) { frm.CameraID.Mixed = true frm.CameraID.Value = -2 @@ -195,6 +266,7 @@ func NewPhotosForm(photos search.PhotoResults) *PhotosForm { if i == 0 { frm.LensID.Value = int(photo.LensID) + frm.LensID.Action = ActionNone } else if photo.LensID != uint(frm.LensID.Value) { frm.LensID.Mixed = true frm.LensID.Value = -2 @@ -202,6 +274,7 @@ func NewPhotosForm(photos search.PhotoResults) *PhotosForm { if i == 0 { frm.DetailsKeywords.Value = photo.DetailsKeywords + frm.DetailsKeywords.Action = ActionNone } else if photo.DetailsKeywords != frm.DetailsKeywords.Value { frm.DetailsKeywords.Mixed = true frm.DetailsKeywords.Value = "" @@ -209,6 +282,7 @@ func NewPhotosForm(photos search.PhotoResults) *PhotosForm { if i == 0 { frm.DetailsSubject.Value = photo.DetailsSubject + frm.DetailsSubject.Action = ActionNone } else if photo.DetailsSubject != frm.DetailsSubject.Value { frm.DetailsSubject.Mixed = true frm.DetailsSubject.Value = "" @@ -216,6 +290,7 @@ func NewPhotosForm(photos search.PhotoResults) *PhotosForm { if i == 0 { frm.DetailsArtist.Value = photo.DetailsArtist + frm.DetailsArtist.Action = ActionNone } else if photo.DetailsArtist != frm.DetailsArtist.Value { frm.DetailsArtist.Mixed = true frm.DetailsArtist.Value = "" @@ -223,6 +298,7 @@ func NewPhotosForm(photos search.PhotoResults) *PhotosForm { if i == 0 { frm.DetailsCopyright.Value = photo.DetailsCopyright + frm.DetailsCopyright.Action = ActionNone } else if photo.DetailsCopyright != frm.DetailsCopyright.Value { frm.DetailsCopyright.Mixed = true frm.DetailsCopyright.Value = "" @@ -230,11 +306,13 @@ func NewPhotosForm(photos search.PhotoResults) *PhotosForm { if i == 0 { frm.DetailsLicense.Value = photo.DetailsLicense + frm.DetailsLicense.Action = ActionNone } else if photo.DetailsLicense != frm.DetailsLicense.Value { frm.DetailsLicense.Mixed = true frm.DetailsLicense.Value = "" } } + // Return initialized PhotosForm. return frm } diff --git a/internal/form/batch/photos_test.go b/internal/form/batch/photos_test.go index 5763691a0..51b665f5a 100644 --- a/internal/form/batch/photos_test.go +++ b/internal/form/batch/photos_test.go @@ -52,6 +52,12 @@ func TestNewPhotosForm(t *testing.T) { assert.Equal(t, true, frm.PhotoFNumber.Mixed) assert.Equal(t, 0, frm.PhotoFocalLength.Value) assert.Equal(t, true, frm.PhotoFocalLength.Mixed) + assert.Equal(t, float64(0), frm.PhotoLat.Value) + assert.Equal(t, true, frm.PhotoLat.Mixed) + assert.Equal(t, float64(0), frm.PhotoLng.Value) + assert.Equal(t, true, frm.PhotoLng.Mixed) + assert.Equal(t, 0, frm.PhotoAltitude.Value) + assert.Equal(t, true, frm.PhotoAltitude.Mixed) // Additional details. assert.Equal(t, "", frm.DetailsKeywords.Value) @@ -80,6 +86,12 @@ func TestNewPhotosForm(t *testing.T) { PhotoFavorite: false, CameraID: 1, LensID: 2, + PhotoAltitude: -10, + PhotoLat: 48.519234, + PhotoLng: 9.057997, + PhotoDay: 4, + PhotoMonth: 5, + PhotoYear: 2021, } photo2 := search.Photo{ @@ -99,6 +111,12 @@ func TestNewPhotosForm(t *testing.T) { PhotoFavorite: true, CameraID: 1, LensID: 2, + PhotoAltitude: -15, + PhotoLat: 48.519234, + PhotoLng: 9.057997, + PhotoDay: 3, + PhotoMonth: 5, + PhotoYear: 2020, } photos := search.PhotoResults{photo1, photo2} @@ -133,33 +151,53 @@ func TestNewPhotosForm(t *testing.T) { assert.Equal(t, false, frm.PhotoFNumber.Mixed) assert.Equal(t, 0, frm.PhotoFocalLength.Value) assert.Equal(t, false, frm.PhotoFocalLength.Mixed) + assert.Equal(t, 48.519234, frm.PhotoLat.Value) + assert.Equal(t, false, frm.PhotoLat.Mixed) + assert.Equal(t, 9.057997, frm.PhotoLng.Value) + assert.Equal(t, false, frm.PhotoLng.Mixed) + assert.Equal(t, 0, frm.PhotoAltitude.Value) + assert.Equal(t, true, frm.PhotoAltitude.Mixed) + assert.Equal(t, -2, frm.PhotoDay.Value) + assert.Equal(t, true, frm.PhotoDay.Mixed) + assert.Equal(t, 5, frm.PhotoMonth.Value) + assert.Equal(t, false, frm.PhotoMonth.Mixed) + assert.Equal(t, -2, frm.PhotoYear.Value) + assert.Equal(t, true, frm.PhotoYear.Mixed) }) t.Run("Success", func(t *testing.T) { photo1 := search.Photo{ - ID: 111115411, - TakenSrc: "", - TimeZone: "", - PhotoUID: "ps6sg6be2lvl0x41", - PhotoType: "image", - PhotoTitle: "Same Title", - PhotoCountry: "de", - CameraID: 1000001, - LensID: 1000001, + ID: 111115411, + TakenSrc: "", + TimeZone: "", + PhotoUID: "ps6sg6be2lvl0x41", + PhotoType: "image", + PhotoTitle: "Same Title", + PhotoCountry: "de", + CameraID: 1000001, + LensID: 1000001, + PhotoDay: 3, + PhotoMonth: 5, + PhotoYear: 2020, + PhotoAltitude: 105, } photo2 := search.Photo{ - ID: 111115511, - CreatedAt: time.Time{}, - TakenAt: time.Time{}, - TakenAtLocal: time.Time{}, - TakenSrc: "", - TimeZone: "", - PhotoUID: "ps6sg6be2lvlx986", - PhotoType: "image", - PhotoTitle: "Same Title", - PhotoCountry: "", - CameraID: 1000000, - LensID: 1000000, + ID: 111115511, + CreatedAt: time.Time{}, + TakenAt: time.Time{}, + TakenAtLocal: time.Time{}, + TakenSrc: "", + TimeZone: "", + PhotoUID: "ps6sg6be2lvlx986", + PhotoType: "image", + PhotoTitle: "Same Title", + PhotoCountry: "", + CameraID: 1000000, + LensID: 1000000, + PhotoDay: 3, + PhotoMonth: 6, + PhotoYear: 2020, + PhotoAltitude: 105, } photos := search.PhotoResults{photo1, photo2} @@ -194,6 +232,14 @@ func TestNewPhotosForm(t *testing.T) { assert.Equal(t, false, frm.PhotoFNumber.Mixed) assert.Equal(t, 0, frm.PhotoFocalLength.Value) assert.Equal(t, false, frm.PhotoFocalLength.Mixed) + assert.Equal(t, 105, frm.PhotoAltitude.Value) + assert.Equal(t, false, frm.PhotoAltitude.Mixed) + assert.Equal(t, 3, frm.PhotoDay.Value) + assert.Equal(t, false, frm.PhotoDay.Mixed) + assert.Equal(t, -2, frm.PhotoMonth.Value) + assert.Equal(t, true, frm.PhotoMonth.Mixed) + assert.Equal(t, 2020, frm.PhotoYear.Value) + assert.Equal(t, false, frm.PhotoYear.Mixed) }) } diff --git a/internal/form/batch/selection.go b/internal/form/batch/request.go similarity index 81% rename from internal/form/batch/selection.go rename to internal/form/batch/request.go index f6686deb0..895ca74d2 100644 --- a/internal/form/batch/selection.go +++ b/internal/form/batch/request.go @@ -2,7 +2,8 @@ package batch import "strings" -// PhotosRequest represents items selected in the user interface. +// PhotosRequest represents the items selected in the user interface, +// including form values in case changes should be made. type PhotosRequest struct { Photos []string `json:"photos"` Values *PhotosForm `json:"values,omitempty"` diff --git a/internal/form/batch/selection_test.go b/internal/form/batch/request_test.go similarity index 100% rename from internal/form/batch/selection_test.go rename to internal/form/batch/request_test.go diff --git a/internal/form/batch/response.go b/internal/form/batch/response.go new file mode 100644 index 000000000..f69e7ea38 --- /dev/null +++ b/internal/form/batch/response.go @@ -0,0 +1,12 @@ +package batch + +import ( + "github.com/photoprism/photoprism/internal/entity/search" +) + +// PhotosResponse represents the selected photo model data, +// and the values of the batch edit form. +type PhotosResponse struct { + Models search.PhotoResults `json:"models"` + Values *PhotosForm `json:"values"` +} diff --git a/internal/form/batch/values.go b/internal/form/batch/values.go index 68a9a616b..ea4918463 100644 --- a/internal/form/batch/values.go +++ b/internal/form/batch/values.go @@ -4,6 +4,21 @@ import ( "time" ) +// Items represents batch edit value items. +type Items struct { + Items []Item `json:"items"` + Mixed bool `json:"mixed"` + Action Action `json:"action"` +} + +// Item represents batch edit value item. +type Item struct { + Value string `json:"value"` + Title string `json:"title"` + Mixed bool `json:"mixed"` + Action Action `json:"action"` +} + // String represents batch edit form value. type String struct { Value string `json:"value"` diff --git a/internal/form/search_albums.go b/internal/form/search_albums.go index 23750c505..8cc558b8b 100644 --- a/internal/form/search_albums.go +++ b/internal/form/search_albums.go @@ -19,6 +19,7 @@ type SearchAlbums struct { Count int `form:"count" binding:"required" serialize:"-"` Offset int `form:"offset" serialize:"-"` Order string `form:"order" serialize:"-"` + Reverse bool `form:"reverse" serialize:"-"` } func (f *SearchAlbums) GetQuery() string { diff --git a/internal/form/search_faces.go b/internal/form/search_faces.go index 5847175fc..620de1e65 100644 --- a/internal/form/search_faces.go +++ b/internal/form/search_faces.go @@ -11,6 +11,7 @@ type SearchFaces struct { Count int `form:"count" binding:"required" serialize:"-"` Offset int `form:"offset" serialize:"-"` Order string `form:"order" serialize:"-"` + Reverse bool `form:"reverse" serialize:"-"` } func (f *SearchFaces) GetQuery() string { diff --git a/internal/form/search_labels.go b/internal/form/search_labels.go index ab150c1cb..3a9d79dfe 100644 --- a/internal/form/search_labels.go +++ b/internal/form/search_labels.go @@ -11,6 +11,7 @@ type SearchLabels struct { Count int `form:"count" binding:"required" serialize:"-"` Offset int `form:"offset" serialize:"-"` Order string `form:"order" serialize:"-"` + Reverse bool `form:"reverse" serialize:"-"` } func (f *SearchLabels) GetQuery() string { diff --git a/internal/form/search_photos.go b/internal/form/search_photos.go index ccf9b1436..4a33af88c 100644 --- a/internal/form/search_photos.go +++ b/internal/form/search_photos.go @@ -10,96 +10,97 @@ import ( // SearchPhotos represents search form fields for "/api/v1/photos". type SearchPhotos struct { Query string `form:"q"` - Scope string `form:"s" serialize:"-" example:"s:ariqwb43p5dh9h13" notes:"Limits the results to one album or another scope, if specified"` + Scope string `form:"s" serialize:"-" example:"s:ariqwb43p5dh9h13" notes:"Restricts results to the specified album UID or other supported scopes"` Filter string `form:"filter" serialize:"-" notes:"-"` - ID string `form:"id" example:"id:123e4567-e89b-..." notes:"Exif UID, XMP Document ID or Instance ID"` - UID string `form:"uid" example:"uid:pqbcf5j446s0futy" notes:"Limits results to the specified internal unique IDs"` - Type string `form:"type" example:"type:raw" notes:"Media Type (image, video, raw, live, animated); separate with |"` - Path string `form:"path" example:"path:2020/Holiday" notes:"Path Name (separated by |), supports * wildcards"` - Folder string `form:"folder" example:"folder:\"*/2020\"" notes:"Path Name (separated by |), supports * wildcards"` // Alias for Path - Name string `form:"name" example:"name:\"IMG_9831-112*\"" notes:"File Name without path and extension (separated by |)"` - Filename string `form:"filename" example:"filename:\"2021/07/12345.jpg\"" notes:"File Name with path and extension (separated by |)"` - Original string `form:"original" example:"original:\"IMG_9831-112*\"" notes:"Original file name of imported files (separated by |)"` - Title string `form:"title" example:"title:\"Lake*\"" notes:"Searches Titles (separate terms with | or use false to find pictures without a Title)"` - Caption string `form:"caption" example:"caption:\"Lake*\"" notes:"Searches Captions (separate terms with | or use false to find pictures without a Caption)"` - Description string `form:"description" example:"description:\"Lake*\"" notes:"Searches Titles and Captions (separate terms with | or use false to find pictures without a Title or Caption)"` - Hash string `form:"hash" example:"hash:2fd4e1c67a2d" notes:"SHA1 File Hash (separated by |)"` - Primary bool `form:"primary" notes:"Finds primary JPEG files only"` - Stack bool `form:"stack" notes:"Pictures with more than one media file"` - Unstacked bool `form:"unstacked" notes:"Pictures with a file that has been removed from a stack"` - Stackable bool `form:"stackable" notes:"Pictures that can be stacked with additional media files"` + ID string `form:"id" example:"id:123e4567-e89b-..." notes:"Finds content with the specified Image, Document or Instance IDs, separated by |"` + UID string `form:"uid" example:"uid:pqbcf5j446s0futy" notes:"Finds content with the specified internal UIDs, separated by |"` + Type string `form:"type" example:"type:image|raw|live" notes:"Finds specific media types, such as image, raw, live, video, animated, audio, vector, or document, separated by |"` + Path string `form:"path" example:"path:2020/Holiday" notes:"Path names separated by |, supports * wildcards"` + Folder string `form:"folder" example:"folder:\"*/2020\"" notes:"Alias for the path filter"` // Alias for Path + Name string `form:"name" example:"name:\"IMG_9831-112*\"" notes:"File names without path and extension, separated by |"` + Filename string `form:"filename" example:"filename:\"2021/07/12345.jpg\"" notes:"File names including path and extension, separated by |"` + Original string `form:"original" example:"original:\"IMG_9831-112*\"" notes:"Original file names of imported files, separated by |"` + Title string `form:"title" example:"title:\"Lake*\"" notes:"Searches text in titles separated by |, or specify false to find content without a title"` + Caption string `form:"caption" example:"caption:\"Lake*\"" notes:"Searches text in captions separated by |, or specify false to find content without a caption"` + Description string `form:"description" example:"description:\"Lake*\"" notes:"Searches text in titles or captions separated by |, or specify false to find content without a title or caption"` + Hash string `form:"hash" example:"hash:2fd4e1c67a2d" notes:"SHA1 file hashes, separated by |"` + Primary bool `form:"primary" notes:"Finds primary JPEG or PNG files only"` + Stack bool `form:"stack" notes:"Finds content with more than one media file"` + Unstacked bool `form:"unstacked" notes:"Finds content with a file that has been removed"` + Stackable bool `form:"stackable" notes:"Finds content that can be stacked with additional files"` Photo bool `form:"photo" notes:"Finds regular photos and images, as well as RAW and Live Photos"` Image bool `form:"image" notes:"Finds regular photos and images only"` - Raw bool `form:"raw" notes:"Finds RAW photos only"` - Media bool `form:"media" notes:"Finds Live Photos, videos, audio and animated content"` - Animated bool `form:"animated" notes:"Finds animated content only"` + Raw bool `form:"raw" notes:"Finds RAW images only"` + Media bool `form:"media" notes:"Finds live, video, audio, and animated content only"` + Animated bool `form:"animated" notes:"Finds animated images only"` Audio bool `form:"audio" notes:"Finds audio content only"` - Video bool `form:"video" notes:"Finds videos not categorized as Live Photos"` - Live bool `form:"live" notes:"Finds Live Photos and short videos"` + Video bool `form:"video" notes:"Finds video content only"` + Live bool `form:"live" notes:"Finds Motion and Live Photos only"` Vector bool `form:"vector" notes:"Finds vector graphics only"` Document bool `form:"document" notes:"Finds PDF documents only"` Scan string `form:"scan" example:"scan:true scan:false" notes:"Finds scanned photos and documents"` Mp string `form:"mp" example:"mp:3-6" notes:"Resolution in Megapixels (MP)"` - Panorama bool `form:"panorama" notes:"Pictures with an aspect ratio > 1.9:1"` - Portrait bool `form:"portrait" notes:"Portrait format"` - Landscape bool `form:"landscape" notes:"Landscape format"` - Square bool `form:"square" notes:"Aspect ratio of 1:1"` - Error bool `form:"error" notes:"Pictures with errors"` - Hidden bool `form:"hidden" notes:"Finds hidden pictures (broken or unsupported)"` - Archived bool `form:"archived" notes:"Archived pictures"` - Public bool `form:"public" notes:"Excludes private pictures"` - Private bool `form:"private" notes:"Private pictures"` - Favorite string `form:"favorite" example:"favorite:true favorite:false" notes:"Finds favorites"` - Unsorted bool `form:"unsorted" notes:"Pictures not in an album"` + Panorama bool `form:"panorama" notes:"Finds panorama pictures only (aspect ratio 1.9:1 or more)"` + Portrait bool `form:"portrait" notes:"Finds portrait pictures only"` + Landscape bool `form:"landscape" notes:"Finds landscape pictures only"` + Square bool `form:"square" notes:"Finds square pictures only (aspect ratio 1:1)"` + Archived bool `form:"archived" notes:"Finds archived content"` + Public bool `form:"public" notes:"Excludes private content"` + Private bool `form:"private" notes:"Finds private content"` + Review bool `form:"review" notes:"Finds content in review"` + Error bool `form:"error" notes:"Finds content with errors"` + Hidden bool `form:"hidden" notes:"Finds hidden content (broken or unsupported)"` + Favorite string `form:"favorite" example:"favorite:true favorite:false" notes:"Finds favorite content"` + Unsorted bool `form:"unsorted" notes:"Finds content that is not in an album"` Near string `form:"near" example:"near:pqbcf5j446s0futy" notes:"Finds nearby pictures (UID)"` - S2 string `form:"s2" example:"s2:4799e370ca54c8b9" notes:"Position (S2 Cell ID)"` + S2 string `form:"s2" example:"s2:4799e370ca54c8b9" notes:"Position, specified as S2 Cell ID"` Olc string `form:"olc" example:"olc:8FWCHX7W+" notes:"Open Location Code (OLC)"` - Lat float64 `form:"lat" example:"lat:41.894043" notes:"Position Latitude (-90.0 to 90.0 deg)"` - Lng float64 `form:"lng" example:"lng:-87.62448" notes:"Position Longitude (-180.0 to 180.0 deg)"` + Lat float64 `form:"lat" example:"lat:41.894043" notes:"Position latitude (-90.0 to 90.0 deg)"` + Lng float64 `form:"lng" example:"lng:-87.62448" notes:"Position longitude (-180.0 to 180.0 deg)"` Alt string `form:"alt" example:"alt:300-500" notes:"Altitude (m)"` - Dist float64 `form:"dist" example:"dist:50" notes:"Maximum Distance to Position in km"` - Latlng string `form:"latlng" example:"latlng:49.4,13.41,46.5,2.331" notes:"Position Bounding Box (Lat N, Lng E, Lat S, Lng W)"` - Camera string `form:"camera" example:"camera:canon" notes:"Camera Make/Model Name"` - Lens string `form:"lens" example:"lens:ef24" notes:"Lens Make/Model Name"` - Iso string `form:"iso" example:"iso:200-400" notes:"ISO Number (light sensitivity)"` - Mm string `form:"mm" example:"mm:28-35" notes:"Focal Length (35mm equivalent)"` - F string `form:"f" example:"f:2.8-4.5" notes:"Aperture (f-number)"` - Color string `form:"color" example:"color:\"red|blue\"" notes:"Color Name (purple, magenta, pink, red, orange, gold, yellow, lime, green, teal, cyan, blue, brown, white, grey, black) (separated by |)"` // Main color - Codec string `form:"codec" example:"codec:avc1" notes:"Media Codec (e.g. jpeg, avc1, hvc1); separate with |"` + Dist float64 `form:"dist" example:"dist:50" notes:"Maximum distance to position in km"` + Latlng string `form:"latlng" example:"latlng:49.4,13.41,46.5,2.331" notes:"Position bounding box (Lat N, Lng E, Lat S, Lng W)"` + Camera string `form:"camera" example:"camera:canon" notes:"Camera make or model"` + Lens string `form:"lens" example:"lens:ef24" notes:"Lens make or model"` + Iso string `form:"iso" example:"iso:200-400" notes:"ISO number (light sensitivity)"` + Mm string `form:"mm" example:"mm:28-35" notes:"Focal length (35mm equivalent)"` + F string `form:"f" example:"f:2.8-4.5" notes:"Aperture (F-Number)"` + Color string `form:"color" example:"color:\"red|blue\"" notes:"Color name separated by |, e.g. purple, magenta, pink, red, orange, gold, yellow, lime, green, teal, cyan, blue, brown, white, grey, or black"` // Main color + Codec string `form:"codec" example:"codec:avc1" notes:"Media codec types separated by |, e.g. jpeg, avc1, or hvc1"` Chroma int16 `form:"chroma" example:"chroma:70" notes:"Chroma (0-100)"` Mono bool `form:"mono" notes:"Pictures with few or no colors"` Diff uint32 `form:"diff" notes:"Differential Perceptual Hash (000000-FFFFFF)"` - Geo string `form:"geo" example:"geo:yes" notes:"Pictures with or without Position"` - Keywords string `form:"keywords" example:"keywords:\"sand&water\"" notes:"Keywords (combinable with & and |)"` - Label string `form:"label" example:"label:cat|dog" notes:"Label Names (separated by |)"` - Category string `form:"category" example:"category:airport" notes:"Location Category"` - Country string `form:"country" example:"country:\"de|us\"" notes:"Location Country Code (separated by |)"` // Moments - State string `form:"state" example:"state:\"Baden-Württemberg\"" notes:"Location State (separated by |)"` // Moments - City string `form:"city" example:"city:\"Berlin\"" notes:"Location City (separated by |)"` // Moments - Year string `form:"year" example:"year:1990|2003" notes:"Year (separated by |)"` // Moments - Month string `form:"month" example:"month:7|10" notes:"Month (1-12, separate with |)"` // Moments - Day string `form:"day" example:"day:3|13" notes:"Day of Month (1-31, separate with |)"` // Moments - Face string `form:"face" example:"face:PN6QO5INYTUSAATOFL43LL2ABAV5ACZG" notes:"Face ID, yes, no, new, or kind"` // UIDs - Faces string `form:"faces" example:"faces:yes faces:3" notes:"Minimum number of Faces (yes = 1)"` // Find or exclude faces if detected. - Subject string `form:"subject" example:"subject:\"Jane Doe & John Doe\"" notes:"Alias for person"` // UIDs - Person string `form:"person" example:"person:\"Jane Doe & John Doe\"" notes:"Subject Names, exact matches (combinable with & and |)"` // Alias for Subject - Subjects string `form:"subjects" example:"subjects:\"Jane & John\"" notes:"Alias for people"` // People names - People string `form:"people" example:"people:\"Jane & John\"" notes:"Subject Names (combinable with & and |)"` // Alias for Subjects - Album string `form:"album" example:"album:berlin" notes:"Album UID or Name, supports * wildcards"` // Album UIDs or name - Albums string `form:"albums" example:"albums:\"South Africa & Birds\"" notes:"Album Names (combinable with & and |)"` // Multi search with and/or - Quality int `form:"quality" notes:"Minimum quality score (1-7)"` // Photo quality score - Review bool `form:"review" notes:"Pictures in review"` // Find photos in review - Added time.Time `form:"added" example:"added:\"2006-01-02T15:04:05Z\"" time_format:"2006-01-02T15:04:05Z07:00" notes:"Pictures added at or after this time"` // Pictures added at or after this time - Updated time.Time `form:"updated" example:"updated:\"2006-01-02T15:04:05Z\"" time_format:"2006-01-02T15:04:05Z07:00" notes:"Pictures updated at or after this time"` // Pictures updated at or after this time - Edited time.Time `form:"edited" example:"edited:\"2006-01-02T15:04:05Z\"" time_format:"2006-01-02T15:04:05Z07:00" notes:"Pictures edited at or after this time"` // Pictures edited at or after this time - Taken time.Time `form:"taken" time_format:"2006-01-02" notes:"Pictures taken on the specified date"` // Pictures taken on the specified date - Before time.Time `form:"before" time_format:"2006-01-02" notes:"Pictures taken on or before this date"` // Pictures taken on or before this date" - After time.Time `form:"after" time_format:"2006-01-02" notes:"Pictures taken on or after this date"` // Pictures taken on or after this date - Count int `form:"count" binding:"required" serialize:"-"` // Result FILE limit - Offset int `form:"offset" serialize:"-"` // Result FILE offset - Order string `form:"order" serialize:"-"` // Sort order - Merged bool `form:"merged" serialize:"-"` // Merge FILES in response - Details bool `form:"-" serialize:"-"` // Include additional information from details table + Geo string `form:"geo" example:"geo:yes" notes:"Finds content with or without latitude and longitude"` + Keywords string `form:"keywords" example:"keywords:\"sand&water\"" notes:"Keywords, combinable with & and |"` + Label string `form:"label" example:"label:cat|dog" notes:"Label names, separated by |"` + Category string `form:"category" example:"category:airport" notes:"Location category type"` + Country string `form:"country" example:"country:\"de|us\"" notes:"Country codes, separated by |"` // Moments + State string `form:"state" example:"state:\"Baden-Württemberg\"" notes:"State or province names, separated by |"` // Moments + City string `form:"city" example:"city:\"Berlin\"" notes:"City names, separated by |"` // Moments + Year string `form:"year" example:"year:1990|2003" notes:"Years, separated by |"` // Moments + Month string `form:"month" example:"month:7|10" notes:"Months from 1-12, separated by |"` // Moments + Day string `form:"day" example:"day:3|13" notes:"Days 1-31, separated by |"` // Moments + Face string `form:"face" example:"face:PN6QO5INYTUSAATOFL43LL2ABAV5ACZG" notes:"Find pictures with a specific face ID, you can also specify yes, no, new, or a face type"` // UIDs + Faces string `form:"faces" example:"faces:yes faces:3" notes:"Minimum number of detected faces (yes means 1)"` // Find or exclude faces if detected. + Person string `form:"person" example:"person:\"Jane Doe & John Doe\"" notes:"Subject names, will be matched exactly and can be combined using & or |"` // Alias for Subject + Subject string `form:"subject" example:"subject:\"Jane Doe & John Doe\"" notes:"Alias for person"` // UIDs + People string `form:"people" example:"people:\"Jane & John\"" notes:"Subject names, combinable with & or |"` // Alias for Subjects + Subjects string `form:"subjects" example:"subjects:\"Jane & John\"" notes:"Alias for people"` // People names + Album string `form:"album" example:"album:berlin" notes:"Album UID or name, supports * wildcards"` // Album UIDs or name + Albums string `form:"albums" example:"albums:\"South Africa & Birds\"" notes:"Album names, combinable with & or |"` // Multi search with and/or + Quality int `form:"quality" notes:"Minimum quality score (1-7)"` // Photo quality score + Added time.Time `form:"added" example:"added:\"2006-01-02T15:04:05Z\"" time_format:"2006-01-02T15:04:05Z07:00" notes:"Finds content added at or after this time"` // Pictures added at or after this time + Updated time.Time `form:"updated" example:"updated:\"2006-01-02T15:04:05Z\"" time_format:"2006-01-02T15:04:05Z07:00" notes:"Finds content updated at or after this time"` // Pictures updated at or after this time + Edited time.Time `form:"edited" example:"edited:\"2006-01-02T15:04:05Z\"" time_format:"2006-01-02T15:04:05Z07:00" notes:"Finds content edited at or after this time"` // Pictures edited at or after this time + Taken time.Time `form:"taken" time_format:"2006-01-02" notes:"Finds content created on the specified date"` // Pictures taken on the specified date + Before time.Time `form:"before" time_format:"2006-01-02" notes:"Finds content created on or before this date"` // Pictures taken on or before this date" + After time.Time `form:"after" time_format:"2006-01-02" notes:"Finds content created on or after this date"` // Pictures taken on or after this date + Count int `form:"count" binding:"required" serialize:"-"` // Result FILE limit + Offset int `form:"offset" serialize:"-"` // Result FILE offset + Order string `form:"order" serialize:"-"` // Sort order + Reverse bool `form:"reverse" serialize:"-"` // Merge FILES in response + Merged bool `form:"merged" serialize:"-"` // Merge FILES in response + Details bool `form:"-" serialize:"-"` // Include additional information from details table } func (f *SearchPhotos) GetQuery() string { diff --git a/internal/form/search_photos_geo.go b/internal/form/search_photos_geo.go index 63ee0a7c1..831cfa0b3 100644 --- a/internal/form/search_photos_geo.go +++ b/internal/form/search_photos_geo.go @@ -10,80 +10,80 @@ import ( // SearchPhotosGeo represents search form fields for "/api/v1/geo". type SearchPhotosGeo struct { Query string `form:"q"` - Scope string `form:"s" serialize:"-" example:"s:ariqwb43p5dh9h13" notes:"Limits the results to one album or another scope, if specified"` + Scope string `form:"s" serialize:"-" example:"s:ariqwb43p5dh9h13" notes:"Restricts results to the specified album UID or other supported scopes"` Filter string `form:"filter" serialize:"-" notes:"-"` - ID string `form:"id" example:"id:123e4567-e89b-..." notes:"Exif UID, XMP Document ID or Instance ID"` - UID string `form:"uid" example:"uid:pqbcf5j446s0futy" notes:"Limits results to the specified internal unique IDs"` - Type string `form:"type" example:"type:raw" notes:"Media Type (image, video, raw, live, animated); separate with |"` - Path string `form:"path" example:"path:2020/Holiday" notes:"Path Name (separated by |), supports * wildcards"` - Folder string `form:"folder" example:"folder:\"*/2020\"" notes:"Path Name (separated by |), supports * wildcards"` // Alias for Path - Name string `form:"name" example:"name:\"IMG_9831-112*\"" notes:"File Name without path and extension (separated by |)"` - Title string `form:"title" example:"title:\"Lake*\"" notes:"Searches Titles (separate terms with | or use false to find pictures without a Title)"` - Caption string `form:"caption" example:"caption:\"Lake*\"" notes:"Searches Captions (separate terms with | or use false to find pictures without a Caption)"` - Description string `form:"description" example:"description:\"Lake*\"" notes:"Searches Titles and Captions (separate terms with | or use false to find pictures without a Title or Caption)"` - Added time.Time `form:"added" example:"added:\"2006-01-02T15:04:05Z\"" time_format:"2006-01-02T15:04:05Z07:00" notes:"Finds pictures added at or after this time"` - Updated time.Time `form:"updated" example:"updated:\"2006-01-02T15:04:05Z\"" time_format:"2006-01-02T15:04:05Z07:00" notes:"Finds pictures updated at or after this time"` - Edited time.Time `form:"edited" example:"edited:\"2006-01-02T15:04:05Z\"" time_format:"2006-01-02T15:04:05Z07:00" notes:"Finds pictures edited at or after this time"` - Taken time.Time `form:"taken" time_format:"2006-01-02" notes:"Finds pictures taken on the specified date"` - Before time.Time `form:"before" time_format:"2006-01-02" notes:"Finds pictures taken on or before this date"` - After time.Time `form:"after" time_format:"2006-01-02" notes:"Finds pictures taken on or after this date"` + ID string `form:"id" example:"id:123e4567-e89b-..." notes:"Finds content with the specified Image, Document or Instance IDs, separated by |"` + UID string `form:"uid" example:"uid:pqbcf5j446s0futy" notes:"Finds content with the specified internal UIDs, separated by |"` + Type string `form:"type" example:"type:image|raw|live" notes:"Finds specific media types, such as image, raw, live, video, animated, audio, vector, or document, separated by |"` + Path string `form:"path" example:"path:2020/Holiday" notes:"Path names separated by |, supports * wildcards"` + Folder string `form:"folder" example:"folder:\"*/2020\"" notes:"Alias for the path filter"` // Alias for Path + Name string `form:"name" example:"name:\"IMG_9831-112*\"" notes:"File names without path and extension, separated by |"` + Title string `form:"title" example:"title:\"Lake*\"" notes:"Searches text in Titles separated by |, or use false to find content without a Title"` + Caption string `form:"caption" example:"caption:\"Lake*\"" notes:"Searches text in Captions separated by |, or use false to find content without a Caption"` + Description string `form:"description" example:"description:\"Lake*\"" notes:"Searches text in titles or captions separated by |, or specify false to find content without a title or caption"` + Added time.Time `form:"added" example:"added:\"2006-01-02T15:04:05Z\"" time_format:"2006-01-02T15:04:05Z07:00" notes:"Finds content added at or after this time"` + Updated time.Time `form:"updated" example:"updated:\"2006-01-02T15:04:05Z\"" time_format:"2006-01-02T15:04:05Z07:00" notes:"Finds content updated at or after this time"` + Edited time.Time `form:"edited" example:"edited:\"2006-01-02T15:04:05Z\"" time_format:"2006-01-02T15:04:05Z07:00" notes:"Finds content edited at or after this time"` + Taken time.Time `form:"taken" time_format:"2006-01-02" notes:"Finds content created on the specified date"` + Before time.Time `form:"before" time_format:"2006-01-02" notes:"Finds content created on or before this date"` + After time.Time `form:"after" time_format:"2006-01-02" notes:"Finds content created on or after this date"` Favorite string `form:"favorite" example:"favorite:yes" notes:"Finds favorites only"` - Unsorted bool `form:"unsorted" notes:"Finds pictures not in an album"` + Unsorted bool `form:"unsorted" notes:"Finds content that is not in an album"` Photo bool `form:"photo" notes:"Finds regular photos and images, as well as RAW and Live Photos"` Image bool `form:"image" notes:"Finds regular photos and images only"` - Raw bool `form:"raw" notes:"Finds RAW photos only"` - Media bool `form:"media" notes:"Finds Live Photos, videos, audio and animated content"` - Animated bool `form:"animated" notes:"Finds animated content only"` + Raw bool `form:"raw" notes:"Finds RAW images only"` + Media bool `form:"media" notes:"Finds live, video, audio, and animated content only"` + Animated bool `form:"animated" notes:"Finds animated images only"` Audio bool `form:"audio" notes:"Finds audio content only"` - Video bool `form:"video" notes:"Finds videos not categorized as Live Photos"` - Live bool `form:"live" notes:"Finds Live Photos and short videos"` + Video bool `form:"video" notes:"Finds video content only"` + Live bool `form:"live" notes:"Finds Motion and Live Photos only"` Vector bool `form:"vector" notes:"Finds vector graphics only"` Document bool `form:"document" notes:"Finds PDF documents only"` Scan string `form:"scan" example:"scan:true scan:false" notes:"Finds scanned photos and documents"` Mp string `form:"mp" example:"mp:3-6" notes:"Resolution in Megapixels (MP)"` - Panorama bool `form:"panorama" notes:"Pictures with an aspect ratio > 1.9:1"` - Portrait bool `form:"portrait" notes:"Portrait format"` - Landscape bool `form:"landscape" notes:"Landscape format"` - Square bool `form:"square" notes:"Aspect ratio of 1:1"` - Archived bool `form:"archived" notes:"Archived pictures"` - Public bool `form:"public" notes:"Excludes private pictures"` - Private bool `form:"private" notes:"Private pictures"` - Review bool `form:"review" notes:"Pictures in review"` + Panorama bool `form:"panorama" notes:"Finds panorama pictures only (aspect ratio 1.9:1 or more)"` + Portrait bool `form:"portrait" notes:"Finds portrait pictures only"` + Landscape bool `form:"landscape" notes:"Finds landscape pictures only"` + Square bool `form:"square" notes:"Finds square pictures only (aspect ratio 1:1)"` + Archived bool `form:"archived" notes:"Finds archived content"` + Public bool `form:"public" notes:"Excludes private content"` + Private bool `form:"private" notes:"Finds private content"` + Review bool `form:"review" notes:"Finds content in review"` Quality int `form:"quality" notes:"Minimum quality score (1-7)"` - Face string `form:"face" notes:"Face ID, yes, no, new, or kind"` - Faces string `form:"faces"` // Find or exclude faces if detected. - Subject string `form:"subject"` + Face string `form:"face" notes:"Find pictures with a specific face ID, you can also specify yes, no, new, or a face type"` + Faces string `form:"faces" example:"faces:yes faces:3" notes:"Minimum number of detected faces (yes means 1)"` // Find or exclude faces if detected. Near string `form:"near" example:"near:pqbcf5j446s0futy" notes:"Finds nearby pictures (UID)"` - S2 string `form:"s2" example:"s2:4799e370ca54c8b9" notes:"Position (S2 Cell ID)"` + S2 string `form:"s2" example:"s2:4799e370ca54c8b9" notes:"Position, specified as S2 Cell ID"` Olc string `form:"olc" example:"olc:8FWCHX7W+" notes:"Open Location Code (OLC)"` - Lat float64 `form:"lat" example:"lat:41.894043" notes:"Position Latitude (-90.0 to 90.0 deg)"` - Lng float64 `form:"lng" example:"lng:-87.62448" notes:"Position Longitude (-180.0 to 180.0 deg)"` + Lat float64 `form:"lat" example:"lat:41.894043" notes:"Position latitude (-90.0 to 90.0 deg)"` + Lng float64 `form:"lng" example:"lng:-87.62448" notes:"Position longitude (-180.0 to 180.0 deg)"` Alt string `form:"alt" example:"alt:300-500" notes:"Altitude (m)"` - Dist float64 `form:"dist" example:"dist:50" notes:"Maximum Distance to Position in km"` - Latlng string `form:"latlng" example:"latlng:49.4,13.41,46.5,2.331" notes:"Position Bounding Box (Lat N, Lng E, Lat S, Lng W)"` - Camera int `form:"camera"` - Lens int `form:"lens"` - Iso string `form:"iso" example:"iso:200-400" notes:"ISO Number (light sensitivity)"` - Mm string `form:"mm" example:"mm:28-35" notes:"Focal Length (35mm equivalent)"` - F string `form:"f" example:"f:2.8-4.5" notes:"Aperture (f-number)"` + Dist float64 `form:"dist" example:"dist:50" notes:"Maximum distance to position in km"` + Latlng string `form:"latlng" example:"latlng:49.4,13.41,46.5,2.331" notes:"Position bounding box (Lat N, Lng E, Lat S, Lng W)"` + Camera int `form:"camera" example:"camera:2" notes:"Camera ID"` + Lens int `form:"lens" example:"lens:3" notes:"Lens ID"` + Iso string `form:"iso" example:"iso:200-400" notes:"ISO number (light sensitivity)"` + Mm string `form:"mm" example:"mm:28-35" notes:"Focal length (35mm equivalent)"` + F string `form:"f" example:"f:2.8-4.5" notes:"Aperture (F-Number)"` Color string `form:"color"` - Codec string `form:"codec" example:"codec:avc1" notes:"Media Codec (e.g. jpeg, avc1, hvc1); separate with |"` + Codec string `form:"codec" example:"codec:avc1" notes:"Media codec types separated by |, e.g. jpeg, avc1, or hvc1"` Chroma int16 `form:"chroma" example:"chroma:70" notes:"Chroma (0-100)"` Mono bool `form:"mono" notes:"Finds pictures with few or no colors"` - Person string `form:"person"` // Alias for Subject - Subjects string `form:"subjects"` // Text - People string `form:"people"` // Alias for Subjects - Keywords string `form:"keywords" example:"keywords:\"sand&water\"" notes:"Keywords (combinable with & and |)"` - Label string `form:"label" example:"label:cat|dog" notes:"Label Names (separate with |)"` - Category string `form:"category" example:"category:airport" notes:"Location Category"` - Album string `form:"album" example:"album:berlin" notes:"Album UID or Name, supports * wildcards"` - Albums string `form:"albums" example:"albums:\"South Africa & Birds\"" notes:"Album Names (combinable with & and |)"` - Country string `form:"country"` - State string `form:"state"` // Moments - City string `form:"city"` - Year string `form:"year"` // Moments - Month string `form:"month"` // Moments - Day string `form:"day"` // Moments + Person string `form:"person" example:"person:\"Jane Doe & John Doe\"" notes:"Subject names, will be matched exactly and can be combined using & or |"` // Alias for Subject + Subject string `form:"subject" example:"subject:\"Jane Doe & John Doe\"" notes:"Alias for person"` + People string `form:"people" example:"people:\"Jane & John\"" notes:"Subject names, combinable with & or |"` + Subjects string `form:"subjects" example:"subjects:\"Jane & John\"" notes:"Alias for people"` // Alias for People + Keywords string `form:"keywords" example:"keywords:\"sand&water\"" notes:"Keywords, combinable with & or |"` + Label string `form:"label" example:"label:cat|dog" notes:"Label names, separated by |"` + Category string `form:"category" example:"category:airport" notes:"Location category type"` + Album string `form:"album" example:"album:berlin" notes:"Album UID or name, supports * wildcards"` + Albums string `form:"albums" example:"albums:\"South Africa & Birds\"" notes:"Album names, combinable with & or |"` + Country string `form:"country" example:"country:\"de|us\"" notes:"Country codes, separated by |"` + State string `form:"state" example:"state:\"Baden-Württemberg\"" notes:"State or province names, separated by |"` + City string `form:"city" example:"city:\"Berlin\"" notes:"City names, separated by |"` + Year string `form:"year" example:"year:1990|2003" notes:"Years, separated by |"` + Month string `form:"month" example:"month:7|10" notes:"Months from 1-12, separated by |"` + Day string `form:"day" example:"day:3|13" notes:"Days 1-31, separated by |"` Count int `form:"count" serialize:"-"` Offset int `form:"offset" serialize:"-"` } diff --git a/internal/form/search_sessions.go b/internal/form/search_sessions.go index 7c7facf33..2b3a90b1a 100644 --- a/internal/form/search_sessions.go +++ b/internal/form/search_sessions.go @@ -8,9 +8,10 @@ type SearchSessions struct { UID string `form:"uid"` Provider string `form:"provider"` Method string `form:"method"` - Order string `form:"order" serialize:"-"` Count int `form:"count" binding:"required" serialize:"-"` Offset int `form:"offset" serialize:"-"` + Order string `form:"order" serialize:"-"` + Reverse bool `form:"reverse" serialize:"-"` } // AuthProviders returns the normalized authentication provider types. diff --git a/internal/form/search_subjects.go b/internal/form/search_subjects.go index 5710b2792..d25641503 100644 --- a/internal/form/search_subjects.go +++ b/internal/form/search_subjects.go @@ -16,6 +16,7 @@ type SearchSubjects struct { Count int `form:"count" binding:"required" serialize:"-"` Offset int `form:"offset" serialize:"-"` Order string `form:"order" serialize:"-"` + Reverse bool `form:"reverse" serialize:"-"` } func (f *SearchSubjects) GetQuery() string { diff --git a/internal/form/search_users.go b/internal/form/search_users.go index 02fe63b85..83cad6168 100644 --- a/internal/form/search_users.go +++ b/internal/form/search_users.go @@ -8,9 +8,10 @@ type SearchUsers struct { Email string `form:"email"` All bool `form:"all"` Deleted bool `form:"deleted"` - Order string `form:"order" serialize:"-"` Count int `form:"count" binding:"required" serialize:"-"` Offset int `form:"offset" serialize:"-"` + Order string `form:"order" serialize:"-"` + Reverse bool `form:"reverse" serialize:"-"` } func (f *SearchUsers) GetQuery() string { diff --git a/internal/meta/data.go b/internal/meta/data.go index 3d0163ba2..6c3b512f4 100644 --- a/internal/meta/data.go +++ b/internal/meta/data.go @@ -19,8 +19,8 @@ type Data struct { MimeType string `meta:"MIMEType" report:"-"` DocumentID string `meta:"ContentIdentifier,MediaGroupUUID,BurstUUID,OriginalDocumentID,DocumentID,ImageUniqueID,DigitalImageGUID"` // see https://exiftool.org/forum/index.php?topic=14874.0 InstanceID string `meta:"InstanceID,DocumentID"` - CreatedAt time.Time `meta:"SubSecCreateDate,CreationDate,CreateDate,MediaCreateDate,ContentCreateDate,TrackCreateDate"` - TakenAt time.Time `meta:"SubSecDateTimeOriginal,SubSecDateTimeCreated,DateTimeOriginal,CreationDate,DateTimeCreated,DateTime,DateTimeDigitized" xmp:"DateCreated"` + CreatedAt time.Time `meta:"SubSecCreateDate,CreationTime,CreationDate,CreateDate,MediaCreateDate,ContentCreateDate,TrackCreateDate"` + TakenAt time.Time `meta:"SubSecDateTimeOriginal,SubSecDateTimeCreated,DateTimeOriginal,CreationTime,CreationDate,DateTimeCreated,DateTime,DateTimeDigitized" xmp:"DateCreated,CreationTime"` TakenAtLocal time.Time `meta:"SubSecDateTimeOriginal,SubSecDateTimeCreated,DateTimeOriginal,CreationDate,DateTimeCreated,DateTime,DateTimeDigitized"` TakenGps time.Time `meta:"GPSDateTime,GPSDateStamp"` TakenNs int `meta:"-"` diff --git a/internal/meta/sanitize.go b/internal/meta/sanitize.go index b9d0a3f4b..ba79e9840 100644 --- a/internal/meta/sanitize.go +++ b/internal/meta/sanitize.go @@ -14,6 +14,9 @@ var UnwantedStrings = map[string]bool{ "Created by Imlib": true, // Apps "iClarified": true, "OLYMPUS DIGITAL CAMERA": true, // Olympus + "MEDION DIGITAL CAMERA": true, // Medion + "My beautiful picture": true, + "HELLOMOTO": true, // Motorola "SAMSUNG": true, // Samsung "SAMSUNG CAMERA PICTURES": true, "": true, @@ -45,11 +48,16 @@ var UnwantedStrings = map[string]bool{ "cof": true, "qrf": true, "fshbty": true, + "_cuva": true, + "smart": true, + "hdr": true, + "bsh": true, "binary comment": true, // Other "default": true, "Exif_JPEG_PICTURE": true, "DVC 10.1 HDMI": true, "charset=Ascii": true, + "Digital Camera": true, } var LowerCaseRegexp = regexp.MustCompile("[a-z\\d_\\-]+") diff --git a/internal/photoprism/backup/albums_test.go b/internal/photoprism/backup/albums_test.go index 8f27f06fe..5f2258be7 100644 --- a/internal/photoprism/backup/albums_test.go +++ b/internal/photoprism/backup/albums_test.go @@ -27,7 +27,7 @@ func TestAlbums(t *testing.T) { t.Fatal(err) } - assert.Equal(t, 31, count) + assert.Equal(t, 35, count) count, err = Albums(backupPath, false) diff --git a/internal/photoprism/convert_sidecar_json.go b/internal/photoprism/convert_sidecar_json.go index 4a0b95a4c..c88dfa7e2 100644 --- a/internal/photoprism/convert_sidecar_json.go +++ b/internal/photoprism/convert_sidecar_json.go @@ -30,9 +30,21 @@ func (w *Convert) ToJson(f *MediaFile, force bool) (jsonName string, err error) log.Debugf("exiftool: extracting metadata from %s", clean.Log(f.RootRelName())) - cmd := exec.Command(w.conf.ExifToolBin(), "-n", "-m", "-api", "LargeFileSupport", "-j", f.FileName()) + // ExifTool command arguments. + var args []string - // Fetch command output. + // Use the "-ee" flag to extract embedded metadata from MPEG-2 Transport Stream and AVCHD video files, + // see https://exiftool.org/exiftool_pod.html#ee-NUM--extractEmbedded for details. + if f.IsVideo() { + args = []string{"-n", "-ee", "-m", "-api", "LargeFileSupport", "-j", f.FileName()} + } else { + args = []string{"-n", "-m", "-api", "LargeFileSupport", "-j", f.FileName()} + } + + // Create ExifTool command with arguments. + cmd := exec.Command(w.conf.ExifToolBin(), args...) + + // Command environment, output and errors. var out bytes.Buffer var stderr bytes.Buffer cmd.Stdout = &out @@ -45,7 +57,7 @@ func (w *Convert) ToJson(f *MediaFile, force bool) (jsonName string, err error) log.Trace(cmd.String()) // Run convert command. - if err := cmd.Run(); err != nil { + if err = cmd.Run(); err != nil { if stderr.String() != "" { return "", errors.New(stderr.String()) } else { @@ -54,7 +66,7 @@ func (w *Convert) ToJson(f *MediaFile, force bool) (jsonName string, err error) } // Write output to file. - if err := os.WriteFile(jsonName, []byte(out.String()), fs.ModeFile); err != nil { + if err = os.WriteFile(jsonName, []byte(out.String()), fs.ModeFile); err != nil { return "", err } diff --git a/internal/photoprism/convert_video_avc.go b/internal/photoprism/convert_video_avc.go index 59d7348d1..da43f0a60 100644 --- a/internal/photoprism/convert_video_avc.go +++ b/internal/photoprism/convert_video_avc.go @@ -41,16 +41,33 @@ func (w *Convert) ToAvc(f *MediaFile, encoder encode.Encoder, noMutex, force boo if f.IsAnimatedImage() { avcName = fs.VideoMp4.FindFirst(f.FileName(), []string{w.conf.SidecarPath(), fs.PPHiddenPathname}, w.conf.OriginalsPath(), false) } else { + // Convert MPEG-2 Transport Stream (M2TS) files to MPEG4 containers. + if f.IsM2TS() && w.conf.SidecarWritable() { + if mp4Name, mp4Err := fs.FileName(f.FileName(), w.conf.SidecarPath(), w.conf.OriginalsPath(), fs.ExtMp4); mp4Err != nil { + return nil, fmt.Errorf("convert: %s in %s (remux)", mp4Err, clean.Log(f.RootRelName())) + } else if mp4Err = ffmpeg.RemuxFile(f.FileName(), mp4Name, encode.NewRemuxOptions(conf.FFmpegBin(), fs.VideoMp4, false)); mp4Err != nil { + return nil, fmt.Errorf("convert: %s in %s (remux)", err, clean.Log(f.RootRelName())) + } else if mp4File, fileErr := NewMediaFile(mp4Name); mp4File == nil || fileErr != nil { + log.Warnf("convert: %s could not be converted to mp4", logFileName) + } else if jsonErr := mp4File.CreateExifToolJson(w); jsonErr != nil { + log.Warnf("convert: %s in %s (create json)", jsonErr, logFileName) + } else if jsonErr = mp4File.ReadExifToolJson(); jsonErr != nil { + log.Warnf("convert: %s in %s (read json)", jsonErr, logFileName) + } else if mp4File.MetaData().CodecAvc() { + return mp4File, nil + } + } + avcName = fs.VideoAvc.FindFirst(f.FileName(), []string{w.conf.SidecarPath(), fs.PPHiddenPathname}, w.conf.OriginalsPath(), false) } mediaFile, err := NewMediaFile(avcName) - // Return it if an MP4 AVC encoded video file already exists. + // Return the AVC-encoded video file if it already exists. if mediaFile == nil || err != nil { // Do nothing. } else if mediaFile.IsVideo() { - // Return MP4 AVC encoded video file + // Return existing AVC file. log.Debugf("convert: %s has already been transcoded to MPEG-4 AVC", logFileName) return mediaFile, nil } diff --git a/internal/photoprism/ytdl/bin.go b/internal/photoprism/dl/bin.go similarity index 52% rename from internal/photoprism/ytdl/bin.go rename to internal/photoprism/dl/bin.go index d8ac44f36..f6848aa1f 100644 --- a/internal/photoprism/ytdl/bin.go +++ b/internal/photoprism/dl/bin.go @@ -1,29 +1,30 @@ -package ytdl +package dl import ( - "github.com/photoprism/photoprism/internal/config" + "os/exec" + "github.com/photoprism/photoprism/internal/ffmpeg/encode" ) var ( - Bin = "" + YtDlpBin = "" FFmpegBin = "" FFprobeBin = "" ) -// FindBin returns the YouTube / M38U video downloader binary name. -func FindBin() string { - if Bin == "" { - Bin = config.FindBin("yt-dlp", "yt-dl", "youtube-dl", "dl") +// FindYtDlpBin returns the YouTube / M38U video downloader binary name. +func FindYtDlpBin() string { + if YtDlpBin == "" { + YtDlpBin, _ = exec.LookPath("yt-dlp") } - return Bin + return YtDlpBin } // FindFFmpegBin returns the "ffmpeg" command binary name. func FindFFmpegBin() string { if FFmpegBin == "" { - FFmpegBin = config.FindBin(encode.FFmpegBin) + FFmpegBin, _ = exec.LookPath(encode.FFmpegBin) } return FFmpegBin @@ -32,7 +33,7 @@ func FindFFmpegBin() string { // FindFFprobeBin returns the "ffprobe" command binary name. func FindFFprobeBin() string { if FFprobeBin == "" { - FFprobeBin = config.FindBin(encode.FFprobeBin) + FFprobeBin, _ = exec.LookPath(encode.FFprobeBin) } return FFprobeBin diff --git a/internal/photoprism/ytdl/bin_test.go b/internal/photoprism/dl/bin_test.go similarity index 78% rename from internal/photoprism/ytdl/bin_test.go rename to internal/photoprism/dl/bin_test.go index 77c4a777a..4158f1263 100644 --- a/internal/photoprism/ytdl/bin_test.go +++ b/internal/photoprism/dl/bin_test.go @@ -1,4 +1,4 @@ -package ytdl +package dl import ( "strings" @@ -8,7 +8,7 @@ import ( ) func TestFindBin(t *testing.T) { - assert.True(t, strings.Contains(FindBin(), "yt-dlp"), "binary filepath should contain 'yt-dlp'") + assert.True(t, strings.Contains(FindYtDlpBin(), "yt-dlp"), "binary filepath should contain 'yt-dlp'") } func TestFindFFmpegBin(t *testing.T) { diff --git a/internal/photoprism/ytdl/ytdl.go b/internal/photoprism/dl/dl.go similarity index 94% rename from internal/photoprism/ytdl/ytdl.go rename to internal/photoprism/dl/dl.go index 66d01bfdd..fad1590fd 100644 --- a/internal/photoprism/ytdl/ytdl.go +++ b/internal/photoprism/dl/dl.go @@ -1,5 +1,5 @@ /* -Package ytdl provides media download functionality. +Package dl provides media download functionality. Copyright (c) 2018 - 2025 PhotoPrism UG. All rights reserved. @@ -28,7 +28,7 @@ want to support our work, or just want to say hello. Additional information can be found in our Developer Guide: */ -package ytdl +package dl import ( "github.com/photoprism/photoprism/internal/event" diff --git a/internal/photoprism/ytdl/ytdl_test.go b/internal/photoprism/dl/dl_test.go similarity index 89% rename from internal/photoprism/ytdl/ytdl_test.go rename to internal/photoprism/dl/dl_test.go index 7432d3f25..947589220 100644 --- a/internal/photoprism/ytdl/ytdl_test.go +++ b/internal/photoprism/dl/dl_test.go @@ -1,4 +1,4 @@ -package ytdl +package dl import ( "bytes" @@ -16,7 +16,7 @@ import ( ) const ( - testVideoRawURL = "https://vimeo.com/454525548" + testVideoRawURL = "https://www.youtube.com/watch?v=fD6VYfy3B2s" playlistRawURL = "https://soundcloud.com/mattheis/sets/kindred-phenomena" channelRawURL = "https://www.youtube.com/channel/UCHDm-DKoMyJxKVgwGmuTaQA" subtitlesTestVideoRawURL = "https://www.youtube.com/watch?v=QRS8MkLhQmM" @@ -31,13 +31,16 @@ func TestParseInfo(t *testing.T) { url string expectedTitle string }{ - {"https://soundcloud.com/avalonemerson/avalon-emerson-live-at-printworks-london-march-2017", "Avalon Emerson Live at Printworks London 2017"}, - {"https://www.infoq.com/presentations/Simple-Made-Easy", "Simple Made Easy - InfoQ"}, - {"https://vimeo.com/454525548", "Sample Video - 3 minutemp4.mp4"}, + {"https://soundcloud.com/avalonemerson/avalon-emerson-live-at-printworks-london-march-2017", + "Avalon Emerson Live at Printworks London 2017"}, + {"https://www.infoq.com/presentations/Simple-Made-Easy", + "Simple Made Easy - InfoQ"}, + {testVideoRawURL, + "Cinematic Epic Deep Trailer - Background Music for Trailers and Film"}, } { t.Run(c.url, func(t *testing.T) { ctx, cancelFn := context.WithCancel(context.Background()) - ydlResult, err := New(ctx, c.url, Options{ + ydlResult, err := NewMetadata(ctx, c.url, Options{ DownloadThumbnail: true, }) if err != nil { @@ -85,7 +88,9 @@ func TestParseInfo(t *testing.T) { } func TestPlaylist(t *testing.T) { - ydlResult, ydlResultErr := New(context.Background(), playlistRawURL, Options{ + t.Skip("skipping test because playlist URL is unreliable.") + + ydlResult, ydlResultErr := NewMetadata(context.Background(), playlistRawURL, Options{ Type: TypePlaylist, DownloadThumbnail: false, }) @@ -113,7 +118,7 @@ func TestPlaylist(t *testing.T) { func TestChannel(t *testing.T) { t.Skip("skip youtube for now") - ydlResult, ydlResultErr := New( + ydlResult, ydlResultErr := NewMetadata( context.Background(), channelRawURL, Options{ @@ -147,7 +152,7 @@ func TestUnsupportedURL(t *testing.T) { t.Skip("skipping test in short mode.") } - _, ydlResultErr := New(context.Background(), "https://www.google.com", Options{}) + _, ydlResultErr := NewMetadata(context.Background(), "https://www.google.com", Options{}) if ydlResultErr == nil { t.Errorf("expected unsupported url") } @@ -162,7 +167,7 @@ func TestPlaylistWithPrivateVideo(t *testing.T) { t.Skip("skip youtube for now") plRawURL := "https://www.youtube.com/playlist?list=PLX0g748fkegS54oiDN4AXKl7BR7mLIydP" - ydlResult, ydlResultErr := New(context.Background(), plRawURL, Options{ + ydlResult, ydlResultErr := NewMetadata(context.Background(), plRawURL, Options{ Type: TypePlaylist, DownloadThumbnail: false, }) @@ -181,7 +186,7 @@ func TestPlaylistWithPrivateVideo(t *testing.T) { func TestSubtitles(t *testing.T) { t.Skip("skip youtube for now") - ydlResult, ydlResultErr := New( + ydlResult, ydlResultErr := NewMetadata( context.Background(), subtitlesTestVideoRawURL, Options{ @@ -218,6 +223,10 @@ func TestDownloadSections(t *testing.T) { fileName := fs.Abs("./testdata/duration_test_file") duration := 5 + defer func() { + _ = os.Remove(fileName) + }() + cmd := exec.Command(FindFFmpegBin(), "-version") _, err := cmd.Output() @@ -225,9 +234,9 @@ func TestDownloadSections(t *testing.T) { t.Errorf("failed to check ffmpeg installed: %s", err) } - ydlResult, ydlResultErr := New( + ydlResult, ydlResultErr := NewMetadata( context.Background(), - "https://vimeo.com/454525548", + testVideoRawURL, Options{ DownloadSections: fmt.Sprintf("*0:0-0:%d", duration), }) @@ -289,7 +298,6 @@ func TestDownloadSections(t *testing.T) { } _ = dr.Close() - _ = os.Remove(fileName) } func TestErrorNotAPlaylist(t *testing.T) { @@ -297,7 +305,7 @@ func TestErrorNotAPlaylist(t *testing.T) { t.Skip("skipping test in short mode.") } - _, ydlResultErr := New(context.Background(), testVideoRawURL, Options{ + _, ydlResultErr := NewMetadata(context.Background(), testVideoRawURL, Options{ Type: TypePlaylist, DownloadThumbnail: false, }) @@ -311,7 +319,7 @@ func TestErrorNotASingleEntry(t *testing.T) { t.Skip("skipping test in short mode.") } - _, ydlResultErr := New(context.Background(), playlistRawURL, Options{ + _, ydlResultErr := NewMetadata(context.Background(), playlistRawURL, Options{ Type: TypeSingle, DownloadThumbnail: false, }) @@ -326,7 +334,7 @@ func TestOptionDownloader(t *testing.T) { t.Skip("skipping test in short mode.") } - ydlResult, ydlResultErr := New( + ydlResult, ydlResultErr := NewMetadata( context.Background(), testVideoRawURL, Options{ @@ -353,7 +361,7 @@ func TestOptionDownloader(t *testing.T) { } func TestInvalidOptionTypeField(t *testing.T) { - _, err := New(context.Background(), playlistRawURL, Options{ + _, err := NewMetadata(context.Background(), playlistRawURL, Options{ Type: 42, }) if err == nil { @@ -368,7 +376,7 @@ func TestDownloadPlaylistEntry(t *testing.T) { // Download file by specifying the playlist index stderrBuf := &bytes.Buffer{} - r, err := New(context.Background(), playlistRawURL, Options{ + r, err := NewMetadata(context.Background(), playlistRawURL, Options{ StderrFn: func(cmd *exec.Cmd) io.Writer { return stderrBuf }, @@ -422,7 +430,7 @@ func TestDownloadPlaylistEntry(t *testing.T) { // Download the same file but with the direct link url := "https://soundcloud.com/mattheis/b1-mattheis-ben-m" stderrBuf = &bytes.Buffer{} - r, err = New(context.Background(), url, Options{ + r, err = NewMetadata(context.Background(), url, Options{ StderrFn: func(cmd *exec.Cmd) io.Writer { return stderrBuf }, @@ -475,7 +483,7 @@ func TestDownloadPlaylistEntry(t *testing.T) { func TestFormatDownloadError(t *testing.T) { t.Skip("test URL broken") - ydl, ydlErr := New( + ydl, ydlErr := NewMetadata( context.Background(), "https://www.reddit.com/r/newsbabes/s/92rflI0EB0", Options{}, diff --git a/internal/photoprism/ytdl/download.go b/internal/photoprism/dl/download.go similarity index 88% rename from internal/photoprism/ytdl/download.go rename to internal/photoprism/dl/download.go index 1a4062423..e99b9087c 100644 --- a/internal/photoprism/ytdl/download.go +++ b/internal/photoprism/dl/download.go @@ -1,4 +1,4 @@ -package ytdl +package dl import ( "context" @@ -13,7 +13,7 @@ func Download( filter string, ) (*DownloadResult, error) { options.noInfoDownload = true - d, err := New(ctx, rawURL, options) + d, err := NewMetadata(ctx, rawURL, options) if err != nil { return nil, err } diff --git a/internal/photoprism/ytdl/download_test.go b/internal/photoprism/dl/download_test.go similarity index 69% rename from internal/photoprism/ytdl/download_test.go rename to internal/photoprism/dl/download_test.go index b75785533..1e99acd40 100644 --- a/internal/photoprism/ytdl/download_test.go +++ b/internal/photoprism/dl/download_test.go @@ -1,12 +1,17 @@ -package ytdl +package dl import ( "bytes" "context" "io" + "os" "os/exec" "strings" "testing" + + "github.com/stretchr/testify/assert" + + "github.com/photoprism/photoprism/pkg/fs" ) func TestDownload(t *testing.T) { @@ -14,8 +19,9 @@ func TestDownload(t *testing.T) { t.Skip("skipping test in short mode.") } + // Fetch metadata. stderrBuf := &bytes.Buffer{} - r, err := New(context.Background(), testVideoRawURL, Options{ + r, err := NewMetadata(context.Background(), testVideoRawURL, Options{ StderrFn: func(cmd *exec.Cmd) io.Writer { return stderrBuf }, @@ -23,6 +29,22 @@ func TestDownload(t *testing.T) { if err != nil { t.Fatal(err) } + + // Write metadata to "./testdata/download-test.json". + jsonName := fs.Abs("./testdata/download-test.json") + if json := r.Info.JSON(); json != nil { + if err = fs.WriteFile(jsonName, json, fs.ModeFile); err != nil { + t.Errorf("%s could not be created: %s", jsonName, err) + } + } else { + t.Errorf("%s could not be created because json data is nil", jsonName) + } + + // Remove metadata file. + assert.FileExists(t, jsonName) + _ = os.Remove(jsonName) + + // Download video based on metadata. dr, err := r.Download(context.Background(), r.Info.Formats[0].FormatID) if err != nil { t.Fatal(err) @@ -38,6 +60,8 @@ func TestDownload(t *testing.T) { t.Errorf("copy n not equal to download buffer: %d!=%d", n, downloadBuf.Len()) } + t.Logf("error: %s", stderrBuf.String()) + if n < 10000 { t.Errorf("should have copied at least 10000 bytes: %d", n) } diff --git a/internal/photoprism/ytdl/error.go b/internal/photoprism/dl/error.go similarity index 97% rename from internal/photoprism/ytdl/error.go rename to internal/photoprism/dl/error.go index e6fc2cfff..bba73182f 100644 --- a/internal/photoprism/ytdl/error.go +++ b/internal/photoprism/dl/error.go @@ -1,4 +1,4 @@ -package ytdl +package dl import ( "errors" diff --git a/internal/photoprism/ytdl/format.go b/internal/photoprism/dl/format.go similarity index 99% rename from internal/photoprism/ytdl/format.go rename to internal/photoprism/dl/format.go index f1f1acc29..fe8cf5f7a 100644 --- a/internal/photoprism/ytdl/format.go +++ b/internal/photoprism/dl/format.go @@ -1,4 +1,4 @@ -package ytdl +package dl import ( "fmt" diff --git a/internal/photoprism/ytdl/info.go b/internal/photoprism/dl/info.go similarity index 98% rename from internal/photoprism/ytdl/info.go rename to internal/photoprism/dl/info.go index 4fd542007..62dd82c6b 100644 --- a/internal/photoprism/ytdl/info.go +++ b/internal/photoprism/dl/info.go @@ -1,4 +1,4 @@ -package ytdl +package dl import ( "bufio" @@ -100,6 +100,12 @@ type Info struct { Format } +// JSON returns the information as JSON string. +func (i *Info) JSON() []byte { + b, _ := json.Marshal(i) + return b +} + func infoFromURL( ctx context.Context, rawURL string, @@ -107,7 +113,7 @@ func infoFromURL( ) (info Info, rawJSON []byte, err error) { cmd := exec.CommandContext( ctx, - FindBin(), + FindYtDlpBin(), // see comment below about ignoring errors for playlists "--ignore-errors", // TODO: deprecated in yt-dlp? @@ -116,7 +122,7 @@ func infoFromURL( // TODO: needed? "--restrict-filenames", // use .netrc authentication data - "--netrc", + // "--netrc", // provide url via stdin for security, youtube-dl has some run command args "--batch-file", "-", // dump info json diff --git a/internal/photoprism/dl/metadata.go b/internal/photoprism/dl/metadata.go new file mode 100644 index 000000000..73ab9dfa1 --- /dev/null +++ b/internal/photoprism/dl/metadata.go @@ -0,0 +1,38 @@ +package dl + +import ( + "context" +) + +// Metadata represents information and options related to a video download URL. +type Metadata struct { + Info Info + RawURL string + RawJSON []byte // saved raw JSON. Used later when downloading + Options Options // options passed to NewMetadata +} + +// NewMetadata downloads metadata for URL +func NewMetadata(ctx context.Context, rawURL string, options Options) (result Metadata, err error) { + if options.noInfoDownload { + return Metadata{ + RawURL: rawURL, + Options: options, + }, nil + } + + info, rawJSON, err := infoFromURL(ctx, rawURL, options) + if err != nil { + return Metadata{}, err + } + + rawJSONCopy := make([]byte, len(rawJSON)) + copy(rawJSONCopy, rawJSON) + + return Metadata{ + Info: info, + RawURL: rawURL, + RawJSON: rawJSONCopy, + Options: options, + }, nil +} diff --git a/internal/photoprism/ytdl/options.go b/internal/photoprism/dl/options.go similarity index 73% rename from internal/photoprism/ytdl/options.go rename to internal/photoprism/dl/options.go index 006efafde..3ee46d2ed 100644 --- a/internal/photoprism/ytdl/options.go +++ b/internal/photoprism/dl/options.go @@ -1,4 +1,4 @@ -package ytdl +package dl import ( "bufio" @@ -15,7 +15,7 @@ import ( "strings" ) -// Options for New() +// Options for NewMetadata() type Options struct { Type Type PlaylistStart uint // --playlist-start @@ -33,25 +33,29 @@ type Options struct { StderrFn func(cmd *exec.Cmd) io.Writer // if not nil, function to get Writer for stderr HttpClient *http.Client // Client for download thumbnail and subtitles (nil use http.DefaultClient) MergeOutputFormat string // --merge-output-format + RemuxVideo string // --remux-video + RecodeVideo string // --recode-video + Fixup string // --fixup SortingFormat string // --format-sort - // Set to true if you don't want to use the result.Info structure after the goutubedl.New() call, + // Set to true if you don't want to use the result.Info structure after the goutubedl.NewMetadata() call, // so the given URL will be downloaded in a single pass in the DownloadResult.Download() call. noInfoDownload bool } type DownloadOptions struct { - AudioFormats string // --audio-formats Download audio using formats (best, aac, alac, flac, m4a, mp3, opus, vorbis, wav) - DownloadAudioOnly bool // -x Download audio only from video - // Download format matched by filter (usually a format id or quality designator). - // If filter is empty, then youtube-dl will use its default format selector. - Filter string - // The index of the entry to download from the playlist that would be - // passed to youtube-dl via --playlist-items. The index value starts at 1 - PlaylistIndex int + Filter string // Download format matched by filter (usually a format id or quality designator). + AudioFormats string // --audio-formats Download audio using formats (best, aac, alac, flac, m4a, mp3, opus, vorbis, wav). + DownloadAudioOnly bool // -x Download audio only from video. + EmbedMetadata bool // --embed-metadata embeds metadata to the video file. + EmbedSubs bool // --embed-subs embeds subtitles in the video file + ForceOverwrites bool // --force-overwrites replaces existing files + DisableCaching bool // --no-cache-dir + PlaylistIndex int // --playlist-items index of the file to download if there is more than one video + Output string } -func (result Result) DownloadWithOptions( +func (result Metadata) DownloadWithOptions( ctx context.Context, options DownloadOptions, ) (*DownloadResult, error) { @@ -86,7 +90,7 @@ func (result Result) DownloadWithOptions( cmd := exec.CommandContext( ctx, - FindBin(), + FindYtDlpBin(), // see comment below about ignoring errors for playlists "--ignore-errors", // TODO: deprecated in yt-dlp? @@ -97,11 +101,15 @@ func (result Result) DownloadWithOptions( // TODO: needed? "--restrict-filenames", // use .netrc authentication data - "--netrc", - // write to stdout - "--output", "-", + // "--netrc", ) + if options.Output != "" { + cmd.Args = append(cmd.Args, "--output", options.Output) + } else { + cmd.Args = append(cmd.Args, "--output", "-") + } + if result.Options.noInfoDownload { // provide URL via stdin for security, youtube-dl has some run command args cmd.Args = append(cmd.Args, "--batch-file", "-") @@ -128,6 +136,7 @@ func (result Result) DownloadWithOptions( } else { cmd.Args = append(cmd.Args, "--load-info", jsonTempPath) } + // force IPV4 Usage if result.Options.UseIPV4 { cmd.Args = append(cmd.Args, "-4") @@ -146,6 +155,27 @@ func (result Result) DownloadWithOptions( cmd.Args = append(cmd.Args, "-x") } + // If requested, embed metadata in the video file, including chapters and infoJSON, + // see https://github.com/yt-dlp/yt-dlp?tab=readme-ov-file#post-processing-options. + if options.EmbedMetadata { + cmd.Args = append(cmd.Args, "--embed-metadata") + } + + // If requested, embed subtitles in the video file. + if options.EmbedSubs { + cmd.Args = append(cmd.Args, "--embed-subs") + } + + // If requested, overwrite existing video and metadata files. + if options.ForceOverwrites { + cmd.Args = append(cmd.Args, "--force-overwrites") + } + + // If requested, disable filesystem caching. + if options.DisableCaching { + cmd.Args = append(cmd.Args, "--no-cache-dir") + } + if options.AudioFormats != "" { cmd.Args = append(cmd.Args, "--audio-format", options.AudioFormats) } @@ -172,6 +202,24 @@ func (result Result) DownloadWithOptions( ) } + if result.Options.RemuxVideo != "" { + cmd.Args = append(cmd.Args, + "--remux-video", result.Options.RemuxVideo, + ) + } + + if result.Options.RecodeVideo != "" { + cmd.Args = append(cmd.Args, + "--recode-video", result.Options.RecodeVideo, + ) + } + + if result.Options.Fixup != "" { + cmd.Args = append(cmd.Args, + "--fixup", result.Options.Fixup, + ) + } + if result.Options.SortingFormat != "" { cmd.Args = append(cmd.Args, "--format-sort", result.Options.SortingFormat, diff --git a/internal/photoprism/ytdl/result.go b/internal/photoprism/dl/result.go similarity index 72% rename from internal/photoprism/ytdl/result.go rename to internal/photoprism/dl/result.go index 47a89cbbc..0ebf3f429 100644 --- a/internal/photoprism/ytdl/result.go +++ b/internal/photoprism/dl/result.go @@ -1,18 +1,10 @@ -package ytdl +package dl import ( "context" "io" ) -// Result metadata for a URL -type Result struct { - Info Info - RawURL string - RawJSON []byte // saved raw JSON. Used later when downloading - Options Options // options passed to New -} - // DownloadResult download result type DownloadResult struct { reader io.ReadCloser @@ -22,7 +14,7 @@ type DownloadResult struct { // Download format matched by filter (usually a format id or quality designator). // If filter is empty, then youtube-dl will use its default format selector. // It's a shortcut of DownloadWithOptions where the options use the default value -func (result Result) Download(ctx context.Context, filter string) (*DownloadResult, error) { +func (result Metadata) Download(ctx context.Context, filter string) (*DownloadResult, error) { return result.DownloadWithOptions(ctx, DownloadOptions{ Filter: filter, }) @@ -41,7 +33,7 @@ func (dr *DownloadResult) Close() error { // Formats return all formats // helper to take care of mixed info and format -func (result Result) Formats() []Format { +func (result Metadata) Formats() []Format { if len(result.Info.Formats) > 0 { return result.Info.Formats } diff --git a/internal/photoprism/ytdl/subtitle.go b/internal/photoprism/dl/subtitle.go similarity index 94% rename from internal/photoprism/ytdl/subtitle.go rename to internal/photoprism/dl/subtitle.go index 1fa6611ee..0e1b950a3 100644 --- a/internal/photoprism/ytdl/subtitle.go +++ b/internal/photoprism/dl/subtitle.go @@ -1,4 +1,4 @@ -package ytdl +package dl // Subtitle youtube-dl subtitle type Subtitle struct { diff --git a/internal/photoprism/ytdl/testdata/.gitkeep b/internal/photoprism/dl/testdata/.gitkeep similarity index 100% rename from internal/photoprism/ytdl/testdata/.gitkeep rename to internal/photoprism/dl/testdata/.gitkeep diff --git a/internal/photoprism/dl/testdata/info.json b/internal/photoprism/dl/testdata/info.json new file mode 100644 index 000000000..d88f64b57 --- /dev/null +++ b/internal/photoprism/dl/testdata/info.json @@ -0,0 +1,1646 @@ +{ + "id": "fD6VYfy3B2s", + "title": "Cinematic Epic Deep Trailer - Background Music for Trailers and Film", + "url": "", + "alt_title": "", + "display_id": "fD6VYfy3B2s", + "uploader": "Empire One", + "license": "", + "creator": "", + "release_date": "", + "timestamp": 1637420416, + "upload_date": "20211120", + "uploader_id": "@EmpireOneStudios", + "channel": "Empire One", + "channel_id": "UC2__Mh6Xdb0DmQAVMtxGODg", + "location": "", + "duration": 39, + "view_count": 3773037, + "like_count": 46322, + "dislike_count": 0, + "repost_count": 0, + "average_rating": 0, + "comment_count": 412, + "age_limit": 0, + "is_live": false, + "start_time": 0, + "end_time": 0, + "extractor": "youtube", + "extractor_key": "Youtube", + "epoch": 1749630696, + "autonumber": 0, + "playlist": "", + "playlist_index": 0, + "playlist_id": "", + "playlist_title": "", + "playlist_uploader": "", + "playlist_uploader_id": "", + "chapter": "", + "chapter_number": 0, + "chapter_id": "", + "series": "", + "season": "", + "season_number": 0, + "season_id": "", + "episode": "", + "episode_number": 0, + "episode_id": "", + "track": "", + "track_number": 0, + "track_id": "", + "artist": "", + "genre": "", + "album": "", + "album_type": "", + "album_artist": "", + "disc_number": 0, + "release_year": 0, + "_type": "video", + "direct": false, + "webpage_url": "https://www.youtube.com/watch?v=fD6VYfy3B2s", + "description": "Royalty free epic music for film project and trailers.\nDOWNLOAD MUSIC HERE: https://fanlink.tv/deep-trailer\n\nName of the song: Deep Trailer\n\nAbout: \n“Deep Trailer” – A deep and cinematic intro. Includes: mega horns, intense impacts, glitch effects, sound design, drums, risers, wooshes.\n\nSubscribe to our channel \nhttps://www.youtube.com/c/EmpireOneMusicStudios?sub_confirmation=1\n\nYou can use this track in your videos for non-profit purposes, copy-paste the following to your video description:\n-----------------------------------------------------------------------------\n\nMusic by: \nEmpire One\n- Website: www.empireonemusic.com\n- YouTube: https://bit.ly/empireoneyoutube\n- Spotify: https://spoti.fi/3sRsOyR\n\n-----------------------------------------------------------------------------\n\nAny questions? Contact us via email.\nE-mail: empireoneaudio@gmail.com\n\n----------\n\nNot sure about this track? Don't worry, we have a lot more music for videos in many different styles. Find the perfect music here: https://bit.ly/3DwF1MX\n\n#epic #trailer #cinematic #background #music", + "thumbnail": "https://i.ytimg.com/vi_webp/fD6VYfy3B2s/maxresdefault.webp", + "thumbnails": [ + { + "id": "0", + "url": "https://i.ytimg.com/vi/fD6VYfy3B2s/3.jpg", + "preference": -37, + "width": 0, + "height": 0, + "resolution": "" + }, + { + "id": "1", + "url": "https://i.ytimg.com/vi_webp/fD6VYfy3B2s/3.webp", + "preference": -36, + "width": 0, + "height": 0, + "resolution": "" + }, + { + "id": "2", + "url": "https://i.ytimg.com/vi/fD6VYfy3B2s/2.jpg", + "preference": -35, + "width": 0, + "height": 0, + "resolution": "" + }, + { + "id": "3", + "url": "https://i.ytimg.com/vi_webp/fD6VYfy3B2s/2.webp", + "preference": -34, + "width": 0, + "height": 0, + "resolution": "" + }, + { + "id": "4", + "url": "https://i.ytimg.com/vi/fD6VYfy3B2s/1.jpg", + "preference": -33, + "width": 0, + "height": 0, + "resolution": "" + }, + { + "id": "5", + "url": "https://i.ytimg.com/vi_webp/fD6VYfy3B2s/1.webp", + "preference": -32, + "width": 0, + "height": 0, + "resolution": "" + }, + { + "id": "6", + "url": "https://i.ytimg.com/vi/fD6VYfy3B2s/mq3.jpg", + "preference": -31, + "width": 0, + "height": 0, + "resolution": "" + }, + { + "id": "7", + "url": "https://i.ytimg.com/vi_webp/fD6VYfy3B2s/mq3.webp", + "preference": -30, + "width": 0, + "height": 0, + "resolution": "" + }, + { + "id": "8", + "url": "https://i.ytimg.com/vi/fD6VYfy3B2s/mq2.jpg", + "preference": -29, + "width": 0, + "height": 0, + "resolution": "" + }, + { + "id": "9", + "url": "https://i.ytimg.com/vi_webp/fD6VYfy3B2s/mq2.webp", + "preference": -28, + "width": 0, + "height": 0, + "resolution": "" + }, + { + "id": "10", + "url": "https://i.ytimg.com/vi/fD6VYfy3B2s/mq1.jpg", + "preference": -27, + "width": 0, + "height": 0, + "resolution": "" + }, + { + "id": "11", + "url": "https://i.ytimg.com/vi_webp/fD6VYfy3B2s/mq1.webp", + "preference": -26, + "width": 0, + "height": 0, + "resolution": "" + }, + { + "id": "12", + "url": "https://i.ytimg.com/vi/fD6VYfy3B2s/hq3.jpg", + "preference": -25, + "width": 0, + "height": 0, + "resolution": "" + }, + { + "id": "13", + "url": "https://i.ytimg.com/vi_webp/fD6VYfy3B2s/hq3.webp", + "preference": -24, + "width": 0, + "height": 0, + "resolution": "" + }, + { + "id": "14", + "url": "https://i.ytimg.com/vi/fD6VYfy3B2s/hq2.jpg", + "preference": -23, + "width": 0, + "height": 0, + "resolution": "" + }, + { + "id": "15", + "url": "https://i.ytimg.com/vi_webp/fD6VYfy3B2s/hq2.webp", + "preference": -22, + "width": 0, + "height": 0, + "resolution": "" + }, + { + "id": "16", + "url": "https://i.ytimg.com/vi/fD6VYfy3B2s/hq1.jpg", + "preference": -21, + "width": 0, + "height": 0, + "resolution": "" + }, + { + "id": "17", + "url": "https://i.ytimg.com/vi_webp/fD6VYfy3B2s/hq1.webp", + "preference": -20, + "width": 0, + "height": 0, + "resolution": "" + }, + { + "id": "18", + "url": "https://i.ytimg.com/vi/fD6VYfy3B2s/sd3.jpg", + "preference": -19, + "width": 0, + "height": 0, + "resolution": "" + }, + { + "id": "19", + "url": "https://i.ytimg.com/vi_webp/fD6VYfy3B2s/sd3.webp", + "preference": -18, + "width": 0, + "height": 0, + "resolution": "" + }, + { + "id": "20", + "url": "https://i.ytimg.com/vi/fD6VYfy3B2s/sd2.jpg", + "preference": -17, + "width": 0, + "height": 0, + "resolution": "" + }, + { + "id": "21", + "url": "https://i.ytimg.com/vi_webp/fD6VYfy3B2s/sd2.webp", + "preference": -16, + "width": 0, + "height": 0, + "resolution": "" + }, + { + "id": "22", + "url": "https://i.ytimg.com/vi/fD6VYfy3B2s/sd1.jpg", + "preference": -15, + "width": 0, + "height": 0, + "resolution": "" + }, + { + "id": "23", + "url": "https://i.ytimg.com/vi_webp/fD6VYfy3B2s/sd1.webp", + "preference": -14, + "width": 0, + "height": 0, + "resolution": "" + }, + { + "id": "24", + "url": "https://i.ytimg.com/vi/fD6VYfy3B2s/default.jpg", + "preference": -13, + "width": 0, + "height": 0, + "resolution": "" + }, + { + "id": "25", + "url": "https://i.ytimg.com/vi_webp/fD6VYfy3B2s/default.webp", + "preference": -12, + "width": 0, + "height": 0, + "resolution": "" + }, + { + "id": "26", + "url": "https://i.ytimg.com/vi/fD6VYfy3B2s/mqdefault.jpg", + "preference": -11, + "width": 0, + "height": 0, + "resolution": "" + }, + { + "id": "27", + "url": "https://i.ytimg.com/vi_webp/fD6VYfy3B2s/mqdefault.webp", + "preference": -10, + "width": 0, + "height": 0, + "resolution": "" + }, + { + "id": "28", + "url": "https://i.ytimg.com/vi/fD6VYfy3B2s/0.jpg", + "preference": -9, + "width": 0, + "height": 0, + "resolution": "" + }, + { + "id": "29", + "url": "https://i.ytimg.com/vi_webp/fD6VYfy3B2s/0.webp", + "preference": -8, + "width": 0, + "height": 0, + "resolution": "" + }, + { + "id": "30", + "url": "https://i.ytimg.com/vi/fD6VYfy3B2s/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG\u0026rs=AOn4CLDzEqaovqcfUQlfNERshUudIspe4w", + "preference": -7, + "width": 168, + "height": 94, + "resolution": "168x94" + }, + { + "id": "31", + "url": "https://i.ytimg.com/vi/fD6VYfy3B2s/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG\u0026rs=AOn4CLDcA1fPapY11kDSgb8NQNHlOAn7uw", + "preference": -7, + "width": 196, + "height": 110, + "resolution": "196x110" + }, + { + "id": "32", + "url": "https://i.ytimg.com/vi/fD6VYfy3B2s/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==\u0026rs=AOn4CLDAsLTVRfw1zR_pQlermOfbPshXkA", + "preference": -7, + "width": 246, + "height": 138, + "resolution": "246x138" + }, + { + "id": "33", + "url": "https://i.ytimg.com/vi/fD6VYfy3B2s/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==\u0026rs=AOn4CLB0ypLjRDH5Q7J2iJWtAC3FHhKbKw", + "preference": -7, + "width": 336, + "height": 188, + "resolution": "336x188" + }, + { + "id": "34", + "url": "https://i.ytimg.com/vi/fD6VYfy3B2s/hqdefault.jpg", + "preference": -7, + "width": 480, + "height": 360, + "resolution": "480x360" + }, + { + "id": "35", + "url": "https://i.ytimg.com/vi_webp/fD6VYfy3B2s/hqdefault.webp", + "preference": -6, + "width": 0, + "height": 0, + "resolution": "" + }, + { + "id": "36", + "url": "https://i.ytimg.com/vi/fD6VYfy3B2s/sddefault.jpg", + "preference": -5, + "width": 640, + "height": 480, + "resolution": "640x480" + }, + { + "id": "37", + "url": "https://i.ytimg.com/vi_webp/fD6VYfy3B2s/sddefault.webp", + "preference": -4, + "width": 0, + "height": 0, + "resolution": "" + }, + { + "id": "38", + "url": "https://i.ytimg.com/vi/fD6VYfy3B2s/hq720.jpg", + "preference": -3, + "width": 0, + "height": 0, + "resolution": "" + }, + { + "id": "39", + "url": "https://i.ytimg.com/vi_webp/fD6VYfy3B2s/hq720.webp", + "preference": -2, + "width": 0, + "height": 0, + "resolution": "" + }, + { + "id": "40", + "url": "https://i.ytimg.com/vi/fD6VYfy3B2s/maxresdefault.jpg", + "preference": -1, + "width": 1280, + "height": 720, + "resolution": "1280x720" + }, + { + "id": "41", + "url": "https://i.ytimg.com/vi_webp/fD6VYfy3B2s/maxresdefault.webp", + "preference": 0, + "width": 1920, + "height": 1080, + "resolution": "1920x1080" + } + ], + "formats": [ + { + "ext": "mhtml", + "format": "sb2 - 48x27 (storyboard)", + "format_id": "sb2", + "format_note": "storyboard", + "width": 48, + "height": 27, + "resolution": "48x27", + "tbr": 0, + "abr": 0, + "acodec": "none", + "asr": 0, + "vbr": 0, + "fps": 2.5641025641025643, + "vcodec": "none", + "container": "", + "filesize": 0, + "filesize_approx": 0, + "protocol": "mhtml", + "http_headers": { + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", + "Accept-Language": "en-us,en;q=0.5", + "Sec-Fetch-Mode": "navigate", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36" + } + }, + { + "ext": "mhtml", + "format": "sb1 - 80x45 (storyboard)", + "format_id": "sb1", + "format_note": "storyboard", + "width": 80, + "height": 45, + "resolution": "80x45", + "tbr": 0, + "abr": 0, + "acodec": "none", + "asr": 0, + "vbr": 0, + "fps": 1.0512820512820513, + "vcodec": "none", + "container": "", + "filesize": 0, + "filesize_approx": 0, + "protocol": "mhtml", + "http_headers": { + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", + "Accept-Language": "en-us,en;q=0.5", + "Sec-Fetch-Mode": "navigate", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36" + } + }, + { + "ext": "mhtml", + "format": "sb0 - 160x90 (storyboard)", + "format_id": "sb0", + "format_note": "storyboard", + "width": 160, + "height": 90, + "resolution": "160x90", + "tbr": 0, + "abr": 0, + "acodec": "none", + "asr": 0, + "vbr": 0, + "fps": 1.0512820512820513, + "vcodec": "none", + "container": "", + "filesize": 0, + "filesize_approx": 0, + "protocol": "mhtml", + "http_headers": { + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", + "Accept-Language": "en-us,en;q=0.5", + "Sec-Fetch-Mode": "navigate", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36" + } + }, + { + "ext": "mp4", + "format": "233 - audio only (Default, low)", + "format_id": "233", + "format_note": "Default, low", + "width": 0, + "height": 0, + "resolution": "audio only", + "tbr": 0, + "abr": 0, + "acodec": "", + "asr": 0, + "vbr": 0, + "fps": 0, + "vcodec": "none", + "container": "", + "filesize": 0, + "filesize_approx": 0, + "protocol": "m3u8_native", + "http_headers": { + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", + "Accept-Language": "en-us,en;q=0.5", + "Sec-Fetch-Mode": "navigate", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36" + } + }, + { + "ext": "mp4", + "format": "234 - audio only (Default, high)", + "format_id": "234", + "format_note": "Default, high", + "width": 0, + "height": 0, + "resolution": "audio only", + "tbr": 0, + "abr": 0, + "acodec": "", + "asr": 0, + "vbr": 0, + "fps": 0, + "vcodec": "none", + "container": "", + "filesize": 0, + "filesize_approx": 0, + "protocol": "m3u8_native", + "http_headers": { + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", + "Accept-Language": "en-us,en;q=0.5", + "Sec-Fetch-Mode": "navigate", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36" + } + }, + { + "ext": "webm", + "format": "249-drc - audio only (low, DRC)", + "format_id": "249-drc", + "format_note": "low, DRC", + "width": 0, + "height": 0, + "resolution": "audio only", + "tbr": 45.041, + "abr": 45.041, + "acodec": "opus", + "asr": 48000, + "vbr": 0, + "fps": 0, + "vcodec": "none", + "container": "webm_dash", + "filesize": 220373, + "filesize_approx": 220368, + "protocol": "https", + "http_headers": { + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", + "Accept-Language": "en-us,en;q=0.5", + "Sec-Fetch-Mode": "navigate", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36" + } + }, + { + "ext": "webm", + "format": "250-drc - audio only (low, DRC)", + "format_id": "250-drc", + "format_note": "low, DRC", + "width": 0, + "height": 0, + "resolution": "audio only", + "tbr": 59.709, + "abr": 59.709, + "acodec": "opus", + "asr": 48000, + "vbr": 0, + "fps": 0, + "vcodec": "none", + "container": "webm_dash", + "filesize": 292138, + "filesize_approx": 292133, + "protocol": "https", + "http_headers": { + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", + "Accept-Language": "en-us,en;q=0.5", + "Sec-Fetch-Mode": "navigate", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36" + } + }, + { + "ext": "webm", + "format": "249 - audio only (low)", + "format_id": "249", + "format_note": "low", + "width": 0, + "height": 0, + "resolution": "audio only", + "tbr": 45.172, + "abr": 45.172, + "acodec": "opus", + "asr": 48000, + "vbr": 0, + "fps": 0, + "vcodec": "none", + "container": "webm_dash", + "filesize": 221010, + "filesize_approx": 221009, + "protocol": "https", + "http_headers": { + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", + "Accept-Language": "en-us,en;q=0.5", + "Sec-Fetch-Mode": "navigate", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36" + } + }, + { + "ext": "webm", + "format": "250 - audio only (low)", + "format_id": "250", + "format_note": "low", + "width": 0, + "height": 0, + "resolution": "audio only", + "tbr": 59.869, + "abr": 59.869, + "acodec": "opus", + "asr": 48000, + "vbr": 0, + "fps": 0, + "vcodec": "none", + "container": "webm_dash", + "filesize": 292917, + "filesize_approx": 292916, + "protocol": "https", + "http_headers": { + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", + "Accept-Language": "en-us,en;q=0.5", + "Sec-Fetch-Mode": "navigate", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36" + } + }, + { + "ext": "m4a", + "format": "140-drc - audio only (medium, DRC)", + "format_id": "140-drc", + "format_note": "medium, DRC", + "width": 0, + "height": 0, + "resolution": "audio only", + "tbr": 129.692, + "abr": 129.692, + "acodec": "mp4a.40.2", + "asr": 44100, + "vbr": 0, + "fps": 0, + "vcodec": "none", + "container": "m4a_dash", + "filesize": 635038, + "filesize_approx": 635036, + "protocol": "https", + "http_headers": { + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", + "Accept-Language": "en-us,en;q=0.5", + "Sec-Fetch-Mode": "navigate", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36" + } + }, + { + "ext": "webm", + "format": "251-drc - audio only (medium, DRC)", + "format_id": "251-drc", + "format_note": "medium, DRC", + "width": 0, + "height": 0, + "resolution": "audio only", + "tbr": 120.805, + "abr": 120.805, + "acodec": "opus", + "asr": 48000, + "vbr": 0, + "fps": 0, + "vcodec": "none", + "container": "webm_dash", + "filesize": 591056, + "filesize_approx": 591053, + "protocol": "https", + "http_headers": { + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", + "Accept-Language": "en-us,en;q=0.5", + "Sec-Fetch-Mode": "navigate", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36" + } + }, + { + "ext": "m4a", + "format": "140 - audio only (medium)", + "format_id": "140", + "format_note": "medium", + "width": 0, + "height": 0, + "resolution": "audio only", + "tbr": 129.69, + "abr": 129.69, + "acodec": "mp4a.40.2", + "asr": 44100, + "vbr": 0, + "fps": 0, + "vcodec": "none", + "container": "m4a_dash", + "filesize": 635031, + "filesize_approx": 635027, + "protocol": "https", + "http_headers": { + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", + "Accept-Language": "en-us,en;q=0.5", + "Sec-Fetch-Mode": "navigate", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36" + } + }, + { + "ext": "webm", + "format": "251 - audio only (medium)", + "format_id": "251", + "format_note": "medium", + "width": 0, + "height": 0, + "resolution": "audio only", + "tbr": 120.759, + "abr": 120.759, + "acodec": "opus", + "asr": 48000, + "vbr": 0, + "fps": 0, + "vcodec": "none", + "container": "webm_dash", + "filesize": 590833, + "filesize_approx": 590828, + "protocol": "https", + "http_headers": { + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", + "Accept-Language": "en-us,en;q=0.5", + "Sec-Fetch-Mode": "navigate", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36" + } + }, + { + "ext": "mp4", + "format": "602 - 256x144", + "format_id": "602", + "format_note": "", + "width": 256, + "height": 144, + "resolution": "256x144", + "tbr": 80.021, + "abr": 0, + "acodec": "none", + "asr": 0, + "vbr": 80.021, + "fps": 13, + "vcodec": "vp09.00.10.08", + "container": "", + "filesize": 0, + "filesize_approx": 0, + "protocol": "m3u8_native", + "http_headers": { + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", + "Accept-Language": "en-us,en;q=0.5", + "Sec-Fetch-Mode": "navigate", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36" + } + }, + { + "ext": "mp4", + "format": "269 - 256x144", + "format_id": "269", + "format_note": "", + "width": 256, + "height": 144, + "resolution": "256x144", + "tbr": 123.015, + "abr": 0, + "acodec": "none", + "asr": 0, + "vbr": 123.015, + "fps": 25, + "vcodec": "avc1.4D400C", + "container": "", + "filesize": 0, + "filesize_approx": 0, + "protocol": "m3u8_native", + "http_headers": { + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", + "Accept-Language": "en-us,en;q=0.5", + "Sec-Fetch-Mode": "navigate", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36" + } + }, + { + "ext": "mp4", + "format": "160 - 256x144 (144p)", + "format_id": "160", + "format_note": "144p", + "width": 256, + "height": 144, + "resolution": "256x144", + "tbr": 38.584, + "abr": 0, + "acodec": "none", + "asr": 0, + "vbr": 38.584, + "fps": 25, + "vcodec": "avc1.4d400c", + "container": "mp4_dash", + "filesize": 188678, + "filesize_approx": 188675, + "protocol": "https", + "http_headers": { + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", + "Accept-Language": "en-us,en;q=0.5", + "Sec-Fetch-Mode": "navigate", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36" + } + }, + { + "ext": "mp4", + "format": "603 - 256x144", + "format_id": "603", + "format_note": "", + "width": 256, + "height": 144, + "resolution": "256x144", + "tbr": 142.748, + "abr": 0, + "acodec": "none", + "asr": 0, + "vbr": 142.748, + "fps": 25, + "vcodec": "vp09.00.11.08", + "container": "", + "filesize": 0, + "filesize_approx": 0, + "protocol": "m3u8_native", + "http_headers": { + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", + "Accept-Language": "en-us,en;q=0.5", + "Sec-Fetch-Mode": "navigate", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36" + } + }, + { + "ext": "webm", + "format": "278 - 256x144 (144p)", + "format_id": "278", + "format_note": "144p", + "width": 256, + "height": 144, + "resolution": "256x144", + "tbr": 71.753, + "abr": 0, + "acodec": "none", + "asr": 0, + "vbr": 71.753, + "fps": 25, + "vcodec": "vp9", + "container": "webm_dash", + "filesize": 350874, + "filesize_approx": 350872, + "protocol": "https", + "http_headers": { + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", + "Accept-Language": "en-us,en;q=0.5", + "Sec-Fetch-Mode": "navigate", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36" + } + }, + { + "ext": "mp4", + "format": "394 - 256x144 (144p)", + "format_id": "394", + "format_note": "144p", + "width": 256, + "height": 144, + "resolution": "256x144", + "tbr": 53.373, + "abr": 0, + "acodec": "none", + "asr": 0, + "vbr": 53.373, + "fps": 25, + "vcodec": "av01.0.00M.08", + "container": "mp4_dash", + "filesize": 260997, + "filesize_approx": 260993, + "protocol": "https", + "http_headers": { + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", + "Accept-Language": "en-us,en;q=0.5", + "Sec-Fetch-Mode": "navigate", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36" + } + }, + { + "ext": "mp4", + "format": "229 - 426x240", + "format_id": "229", + "format_note": "", + "width": 426, + "height": 240, + "resolution": "426x240", + "tbr": 217.389, + "abr": 0, + "acodec": "none", + "asr": 0, + "vbr": 217.389, + "fps": 25, + "vcodec": "avc1.4D4015", + "container": "", + "filesize": 0, + "filesize_approx": 0, + "protocol": "m3u8_native", + "http_headers": { + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", + "Accept-Language": "en-us,en;q=0.5", + "Sec-Fetch-Mode": "navigate", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36" + } + }, + { + "ext": "mp4", + "format": "133 - 426x240 (240p)", + "format_id": "133", + "format_note": "240p", + "width": 426, + "height": 240, + "resolution": "426x240", + "tbr": 87.231, + "abr": 0, + "acodec": "none", + "asr": 0, + "vbr": 87.231, + "fps": 25, + "vcodec": "avc1.4d4015", + "container": "mp4_dash", + "filesize": 426562, + "filesize_approx": 426559, + "protocol": "https", + "http_headers": { + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", + "Accept-Language": "en-us,en;q=0.5", + "Sec-Fetch-Mode": "navigate", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36" + } + }, + { + "ext": "mp4", + "format": "604 - 426x240", + "format_id": "604", + "format_note": "", + "width": 426, + "height": 240, + "resolution": "426x240", + "tbr": 155.12, + "abr": 0, + "acodec": "none", + "asr": 0, + "vbr": 155.12, + "fps": 25, + "vcodec": "vp09.00.20.08", + "container": "", + "filesize": 0, + "filesize_approx": 0, + "protocol": "m3u8_native", + "http_headers": { + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", + "Accept-Language": "en-us,en;q=0.5", + "Sec-Fetch-Mode": "navigate", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36" + } + }, + { + "ext": "webm", + "format": "242 - 426x240 (240p)", + "format_id": "242", + "format_note": "240p", + "width": 426, + "height": 240, + "resolution": "426x240", + "tbr": 60.788, + "abr": 0, + "acodec": "none", + "asr": 0, + "vbr": 60.788, + "fps": 25, + "vcodec": "vp9", + "container": "webm_dash", + "filesize": 297254, + "filesize_approx": 297253, + "protocol": "https", + "http_headers": { + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", + "Accept-Language": "en-us,en;q=0.5", + "Sec-Fetch-Mode": "navigate", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36" + } + }, + { + "ext": "mp4", + "format": "395 - 426x240 (240p)", + "format_id": "395", + "format_note": "240p", + "width": 426, + "height": 240, + "resolution": "426x240", + "tbr": 55.65, + "abr": 0, + "acodec": "none", + "asr": 0, + "vbr": 55.65, + "fps": 25, + "vcodec": "av01.0.00M.08", + "container": "mp4_dash", + "filesize": 272130, + "filesize_approx": 272128, + "protocol": "https", + "http_headers": { + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", + "Accept-Language": "en-us,en;q=0.5", + "Sec-Fetch-Mode": "navigate", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36" + } + }, + { + "ext": "mp4", + "format": "230 - 640x360", + "format_id": "230", + "format_note": "", + "width": 640, + "height": 360, + "resolution": "640x360", + "tbr": 663.914, + "abr": 0, + "acodec": "none", + "asr": 0, + "vbr": 663.914, + "fps": 25, + "vcodec": "avc1.4D401E", + "container": "", + "filesize": 0, + "filesize_approx": 0, + "protocol": "m3u8_native", + "http_headers": { + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", + "Accept-Language": "en-us,en;q=0.5", + "Sec-Fetch-Mode": "navigate", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36" + } + }, + { + "ext": "mp4", + "format": "134 - 640x360 (360p)", + "format_id": "134", + "format_note": "360p", + "width": 640, + "height": 360, + "resolution": "640x360", + "tbr": 290.061, + "abr": 0, + "acodec": "none", + "asr": 0, + "vbr": 290.061, + "fps": 25, + "vcodec": "avc1.4d401e", + "container": "mp4_dash", + "filesize": 1418400, + "filesize_approx": 1418398, + "protocol": "https", + "http_headers": { + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", + "Accept-Language": "en-us,en;q=0.5", + "Sec-Fetch-Mode": "navigate", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36" + } + }, + { + "ext": "mp4", + "format": "18 - 640x360 (360p)", + "format_id": "18", + "format_note": "360p", + "width": 640, + "height": 360, + "resolution": "640x360", + "tbr": 419.369, + "abr": 0, + "acodec": "mp4a.40.2", + "asr": 44100, + "vbr": 0, + "fps": 25, + "vcodec": "avc1.42001E", + "container": "", + "filesize": 0, + "filesize_approx": 2053440, + "protocol": "https", + "http_headers": { + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", + "Accept-Language": "en-us,en;q=0.5", + "Sec-Fetch-Mode": "navigate", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36" + } + }, + { + "ext": "mp4", + "format": "605 - 640x360", + "format_id": "605", + "format_note": "", + "width": 640, + "height": 360, + "resolution": "640x360", + "tbr": 326.08, + "abr": 0, + "acodec": "none", + "asr": 0, + "vbr": 326.08, + "fps": 25, + "vcodec": "vp09.00.21.08", + "container": "", + "filesize": 0, + "filesize_approx": 0, + "protocol": "m3u8_native", + "http_headers": { + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", + "Accept-Language": "en-us,en;q=0.5", + "Sec-Fetch-Mode": "navigate", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36" + } + }, + { + "ext": "webm", + "format": "243 - 640x360 (360p)", + "format_id": "243", + "format_note": "360p", + "width": 640, + "height": 360, + "resolution": "640x360", + "tbr": 127.529, + "abr": 0, + "acodec": "none", + "asr": 0, + "vbr": 127.529, + "fps": 25, + "vcodec": "vp9", + "container": "webm_dash", + "filesize": 623620, + "filesize_approx": 623616, + "protocol": "https", + "http_headers": { + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", + "Accept-Language": "en-us,en;q=0.5", + "Sec-Fetch-Mode": "navigate", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36" + } + }, + { + "ext": "mp4", + "format": "396 - 640x360 (360p)", + "format_id": "396", + "format_note": "360p", + "width": 640, + "height": 360, + "resolution": "640x360", + "tbr": 202.404, + "abr": 0, + "acodec": "none", + "asr": 0, + "vbr": 202.404, + "fps": 25, + "vcodec": "av01.0.01M.08", + "container": "mp4_dash", + "filesize": 989757, + "filesize_approx": 989755, + "protocol": "https", + "http_headers": { + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", + "Accept-Language": "en-us,en;q=0.5", + "Sec-Fetch-Mode": "navigate", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36" + } + }, + { + "ext": "mp4", + "format": "231 - 854x480", + "format_id": "231", + "format_note": "", + "width": 854, + "height": 480, + "resolution": "854x480", + "tbr": 840.736, + "abr": 0, + "acodec": "none", + "asr": 0, + "vbr": 840.736, + "fps": 25, + "vcodec": "avc1.4D401E", + "container": "", + "filesize": 0, + "filesize_approx": 0, + "protocol": "m3u8_native", + "http_headers": { + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", + "Accept-Language": "en-us,en;q=0.5", + "Sec-Fetch-Mode": "navigate", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36" + } + }, + { + "ext": "mp4", + "format": "135 - 854x480 (480p)", + "format_id": "135", + "format_note": "480p", + "width": 854, + "height": 480, + "resolution": "854x480", + "tbr": 498.107, + "abr": 0, + "acodec": "none", + "asr": 0, + "vbr": 498.107, + "fps": 25, + "vcodec": "avc1.4d401e", + "container": "mp4_dash", + "filesize": 2435748, + "filesize_approx": 2435743, + "protocol": "https", + "http_headers": { + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", + "Accept-Language": "en-us,en;q=0.5", + "Sec-Fetch-Mode": "navigate", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36" + } + }, + { + "ext": "mp4", + "format": "606 - 854x480", + "format_id": "606", + "format_note": "", + "width": 854, + "height": 480, + "resolution": "854x480", + "tbr": 1046.235, + "abr": 0, + "acodec": "none", + "asr": 0, + "vbr": 1046.235, + "fps": 25, + "vcodec": "vp09.00.30.08", + "container": "", + "filesize": 0, + "filesize_approx": 0, + "protocol": "m3u8_native", + "http_headers": { + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", + "Accept-Language": "en-us,en;q=0.5", + "Sec-Fetch-Mode": "navigate", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36" + } + }, + { + "ext": "webm", + "format": "244 - 854x480 (480p)", + "format_id": "244", + "format_note": "480p", + "width": 854, + "height": 480, + "resolution": "854x480", + "tbr": 622.751, + "abr": 0, + "acodec": "none", + "asr": 0, + "vbr": 622.751, + "fps": 25, + "vcodec": "vp9", + "container": "webm_dash", + "filesize": 3045256, + "filesize_approx": 3045252, + "protocol": "https", + "http_headers": { + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", + "Accept-Language": "en-us,en;q=0.5", + "Sec-Fetch-Mode": "navigate", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36" + } + }, + { + "ext": "mp4", + "format": "397 - 854x480 (480p)", + "format_id": "397", + "format_note": "480p", + "width": 854, + "height": 480, + "resolution": "854x480", + "tbr": 368.985, + "abr": 0, + "acodec": "none", + "asr": 0, + "vbr": 368.985, + "fps": 25, + "vcodec": "av01.0.04M.08", + "container": "mp4_dash", + "filesize": 1804338, + "filesize_approx": 1804336, + "protocol": "https", + "http_headers": { + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", + "Accept-Language": "en-us,en;q=0.5", + "Sec-Fetch-Mode": "navigate", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36" + } + }, + { + "ext": "webm", + "format": "779 - 1080x608 (480p)", + "format_id": "779", + "format_note": "480p", + "width": 1080, + "height": 608, + "resolution": "1080x608", + "tbr": 338.522, + "abr": 0, + "acodec": "none", + "asr": 0, + "vbr": 338.522, + "fps": 25, + "vcodec": "vp9", + "container": "webm_dash", + "filesize": 1655375, + "filesize_approx": 1655372, + "protocol": "https", + "http_headers": { + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", + "Accept-Language": "en-us,en;q=0.5", + "Sec-Fetch-Mode": "navigate", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36" + } + }, + { + "ext": "webm", + "format": "780 - 1080x608 (480p)", + "format_id": "780", + "format_note": "480p", + "width": 1080, + "height": 608, + "resolution": "1080x608", + "tbr": 634.062, + "abr": 0, + "acodec": "none", + "asr": 0, + "vbr": 634.062, + "fps": 25, + "vcodec": "vp9", + "container": "webm_dash", + "filesize": 3100567, + "filesize_approx": 3100563, + "protocol": "https", + "http_headers": { + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", + "Accept-Language": "en-us,en;q=0.5", + "Sec-Fetch-Mode": "navigate", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36" + } + }, + { + "ext": "mp4", + "format": "232 - 1280x720", + "format_id": "232", + "format_note": "", + "width": 1280, + "height": 720, + "resolution": "1280x720", + "tbr": 1234.176, + "abr": 0, + "acodec": "none", + "asr": 0, + "vbr": 1234.176, + "fps": 25, + "vcodec": "avc1.4D401F", + "container": "", + "filesize": 0, + "filesize_approx": 0, + "protocol": "m3u8_native", + "http_headers": { + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", + "Accept-Language": "en-us,en;q=0.5", + "Sec-Fetch-Mode": "navigate", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36" + } + }, + { + "ext": "mp4", + "format": "136 - 1280x720 (720p)", + "format_id": "136", + "format_note": "720p", + "width": 1280, + "height": 720, + "resolution": "1280x720", + "tbr": 791.977, + "abr": 0, + "acodec": "none", + "asr": 0, + "vbr": 791.977, + "fps": 25, + "vcodec": "avc1.4d401f", + "container": "mp4_dash", + "filesize": 3872771, + "filesize_approx": 3872767, + "protocol": "https", + "http_headers": { + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", + "Accept-Language": "en-us,en;q=0.5", + "Sec-Fetch-Mode": "navigate", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36" + } + }, + { + "ext": "mp4", + "format": "609 - 1280x720", + "format_id": "609", + "format_note": "", + "width": 1280, + "height": 720, + "resolution": "1280x720", + "tbr": 1721.354, + "abr": 0, + "acodec": "none", + "asr": 0, + "vbr": 1721.354, + "fps": 25, + "vcodec": "vp09.00.31.08", + "container": "", + "filesize": 0, + "filesize_approx": 0, + "protocol": "m3u8_native", + "http_headers": { + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", + "Accept-Language": "en-us,en;q=0.5", + "Sec-Fetch-Mode": "navigate", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36" + } + }, + { + "ext": "webm", + "format": "247 - 1280x720 (720p)", + "format_id": "247", + "format_note": "720p", + "width": 1280, + "height": 720, + "resolution": "1280x720", + "tbr": 1145.469, + "abr": 0, + "acodec": "none", + "asr": 0, + "vbr": 1145.469, + "fps": 25, + "vcodec": "vp9", + "container": "webm_dash", + "filesize": 5601344, + "filesize_approx": 5601343, + "protocol": "https", + "http_headers": { + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", + "Accept-Language": "en-us,en;q=0.5", + "Sec-Fetch-Mode": "navigate", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36" + } + }, + { + "ext": "mp4", + "format": "398 - 1280x720 (720p)", + "format_id": "398", + "format_note": "720p", + "width": 1280, + "height": 720, + "resolution": "1280x720", + "tbr": 711.218, + "abr": 0, + "acodec": "none", + "asr": 0, + "vbr": 711.218, + "fps": 25, + "vcodec": "av01.0.05M.08", + "container": "mp4_dash", + "filesize": 3477859, + "filesize_approx": 3477856, + "protocol": "https", + "http_headers": { + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", + "Accept-Language": "en-us,en;q=0.5", + "Sec-Fetch-Mode": "navigate", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36" + } + }, + { + "ext": "mp4", + "format": "270 - 1920x1080", + "format_id": "270", + "format_note": "", + "width": 1920, + "height": 1080, + "resolution": "1920x1080", + "tbr": 3639.512, + "abr": 0, + "acodec": "none", + "asr": 0, + "vbr": 3639.512, + "fps": 25, + "vcodec": "avc1.640028", + "container": "", + "filesize": 0, + "filesize_approx": 0, + "protocol": "m3u8_native", + "http_headers": { + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", + "Accept-Language": "en-us,en;q=0.5", + "Sec-Fetch-Mode": "navigate", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36" + } + }, + { + "ext": "mp4", + "format": "137 - 1920x1080 (1080p)", + "format_id": "137", + "format_note": "1080p", + "width": 1920, + "height": 1080, + "resolution": "1920x1080", + "tbr": 2028.144, + "abr": 0, + "acodec": "none", + "asr": 0, + "vbr": 2028.144, + "fps": 25, + "vcodec": "avc1.640028", + "container": "mp4_dash", + "filesize": 9917625, + "filesize_approx": 9917624, + "protocol": "https", + "http_headers": { + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", + "Accept-Language": "en-us,en;q=0.5", + "Sec-Fetch-Mode": "navigate", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36" + } + }, + { + "ext": "mp4", + "format": "614 - 1920x1080", + "format_id": "614", + "format_note": "", + "width": 1920, + "height": 1080, + "resolution": "1920x1080", + "tbr": 2900.852, + "abr": 0, + "acodec": "none", + "asr": 0, + "vbr": 2900.852, + "fps": 25, + "vcodec": "vp09.00.40.08", + "container": "", + "filesize": 0, + "filesize_approx": 0, + "protocol": "m3u8_native", + "http_headers": { + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", + "Accept-Language": "en-us,en;q=0.5", + "Sec-Fetch-Mode": "navigate", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36" + } + }, + { + "ext": "webm", + "format": "248 - 1920x1080 (1080p)", + "format_id": "248", + "format_note": "1080p", + "width": 1920, + "height": 1080, + "resolution": "1920x1080", + "tbr": 1748.313, + "abr": 0, + "acodec": "none", + "asr": 0, + "vbr": 1748.313, + "fps": 25, + "vcodec": "vp9", + "container": "webm_dash", + "filesize": 8549253, + "filesize_approx": 8549250, + "protocol": "https", + "http_headers": { + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", + "Accept-Language": "en-us,en;q=0.5", + "Sec-Fetch-Mode": "navigate", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36" + } + }, + { + "ext": "mp4", + "format": "399 - 1920x1080 (1080p)", + "format_id": "399", + "format_note": "1080p", + "width": 1920, + "height": 1080, + "resolution": "1920x1080", + "tbr": 1254.457, + "abr": 0, + "acodec": "none", + "asr": 0, + "vbr": 1254.457, + "fps": 25, + "vcodec": "av01.0.08M.08", + "container": "mp4_dash", + "filesize": 6134295, + "filesize_approx": 6134294, + "protocol": "https", + "http_headers": { + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", + "Accept-Language": "en-us,en;q=0.5", + "Sec-Fetch-Mode": "navigate", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36" + } + } + ], + "subtitles": {}, + "entries": null, + "ext": "webm", + "format": "399 - 1920x1080 (1080p)+251 - audio only (medium)", + "format_id": "399+251", + "format_note": "1080p+medium", + "width": 1920, + "height": 1080, + "resolution": "1920x1080", + "tbr": 1375.2160000000001, + "abr": 120.759, + "acodec": "opus", + "asr": 48000, + "vbr": 1254.457, + "fps": 25, + "vcodec": "av01.0.08M.08", + "container": "", + "filesize": 0, + "filesize_approx": 6725128, + "protocol": "https+https", + "http_headers": null +} \ No newline at end of file diff --git a/internal/photoprism/ytdl/thumbnail.go b/internal/photoprism/dl/thumbnail.go similarity index 94% rename from internal/photoprism/ytdl/thumbnail.go rename to internal/photoprism/dl/thumbnail.go index 5208824e3..6b8b657ad 100644 --- a/internal/photoprism/ytdl/thumbnail.go +++ b/internal/photoprism/dl/thumbnail.go @@ -1,4 +1,4 @@ -package ytdl +package dl type Thumbnail struct { ID string `json:"id"` diff --git a/internal/photoprism/ytdl/type.go b/internal/photoprism/dl/type.go similarity index 97% rename from internal/photoprism/ytdl/type.go rename to internal/photoprism/dl/type.go index 04d7dbc71..51ef11a63 100644 --- a/internal/photoprism/ytdl/type.go +++ b/internal/photoprism/dl/type.go @@ -1,4 +1,4 @@ -package ytdl +package dl // Type of response you want type Type int diff --git a/internal/photoprism/ytdl/version.go b/internal/photoprism/dl/version.go similarity index 82% rename from internal/photoprism/ytdl/version.go rename to internal/photoprism/dl/version.go index bbc3187a2..00a3ce148 100644 --- a/internal/photoprism/ytdl/version.go +++ b/internal/photoprism/dl/version.go @@ -1,4 +1,4 @@ -package ytdl +package dl import ( "context" @@ -9,7 +9,7 @@ import ( // Version of youtube-dl. // Might be a good idea to call at start to assert that youtube-dl can be found. func Version(ctx context.Context) (string, error) { - cmd := exec.CommandContext(ctx, FindBin(), "--version") + cmd := exec.CommandContext(ctx, FindYtDlpBin(), "--version") versionBytes, cmdErr := cmd.Output() if cmdErr != nil { return "", cmdErr diff --git a/internal/photoprism/ytdl/version_test.go b/internal/photoprism/dl/version_test.go similarity index 87% rename from internal/photoprism/ytdl/version_test.go rename to internal/photoprism/dl/version_test.go index 1a1f0aad0..5a1088ad8 100644 --- a/internal/photoprism/ytdl/version_test.go +++ b/internal/photoprism/dl/version_test.go @@ -1,4 +1,4 @@ -package ytdl +package dl import ( "context" @@ -21,8 +21,8 @@ func TestVersion(t *testing.T) { } }) t.Run("InvalidBin", func(t *testing.T) { - defer func(orig string) { Bin = orig }(Bin) - Bin = "/non-existing" + defer func(orig string) { YtDlpBin = orig }(YtDlpBin) + YtDlpBin = "/non-existing" _, versionErr := Version(context.Background()) if versionErr == nil || !strings.Contains(versionErr.Error(), "no such file or directory") { diff --git a/internal/photoprism/index.go b/internal/photoprism/index.go index 492bd9693..10eeacdb5 100644 --- a/internal/photoprism/index.go +++ b/internal/photoprism/index.go @@ -40,6 +40,7 @@ func NewIndex(conf *config.Config, convert *Convert, files *Files, photos *Photo return nil } + // Create new indexer instance. i := &Index{ conf: conf, convert: convert, @@ -49,6 +50,11 @@ func NewIndex(conf *config.Config, convert *Convert, files *Files, photos *Photo findLabels: !conf.DisableClassification(), } + // Warm up the cache. + if err := entity.WarmPhotoLabelCache(); err != nil { + log.Warnf("index: %s (cache warm-up)", err) + } + return i } diff --git a/internal/photoprism/index_caption.go b/internal/photoprism/index_caption.go index 7656b8b5c..3dffe13ac 100644 --- a/internal/photoprism/index_caption.go +++ b/internal/photoprism/index_caption.go @@ -9,7 +9,7 @@ import ( ) // Caption returns generated caption for the specified media file. -func (ind *Index) Caption(file *MediaFile) (caption vision.CaptionResult, err error) { +func (ind *Index) Caption(file *MediaFile) (caption *vision.CaptionResult, err error) { start := time.Now() size := vision.Thumb(vision.ModelTypeCaption) @@ -22,7 +22,8 @@ func (ind *Index) Caption(file *MediaFile) (caption vision.CaptionResult, err er } // Get matching labels from computer vision model. - if caption, err = vision.Caption(fileName, media.SrcLocal); err != nil { + if caption, _, err = vision.Caption(vision.Files{fileName}, media.SrcLocal); err != nil { + // Failed. } else if caption.Text != "" { log.Infof("vision: generated caption for %s [%s]", clean.Log(file.BaseName()), time.Since(start)) } diff --git a/internal/photoprism/index_mediafile.go b/internal/photoprism/index_mediafile.go index a915a5628..c25663972 100644 --- a/internal/photoprism/index_mediafile.go +++ b/internal/photoprism/index_mediafile.go @@ -17,7 +17,6 @@ import ( "github.com/photoprism/photoprism/pkg/clean" "github.com/photoprism/photoprism/pkg/fs" "github.com/photoprism/photoprism/pkg/media" - "github.com/photoprism/photoprism/pkg/media/video" "github.com/photoprism/photoprism/pkg/rnd" "github.com/photoprism/photoprism/pkg/time/tz" "github.com/photoprism/photoprism/pkg/txt" @@ -368,11 +367,20 @@ func (ind *Index) UserMediaFile(m *MediaFile, o IndexOptions, originalName, phot } } + // Reset photo metadata if this is a forced rescan. + if o.Rescan && photoUID == "" { + // Reset video duration. + photo.ResetDuration() + + // Reset media type. + photo.ResetMediaType(entity.SrcFile) + } + // Reset file perceptive diff and chroma percent. file.FileDiff = -1 file.FileChroma = -1 file.FileVideo = m.IsVideo() - file.MediaType = m.Media().String() + file.MediaType = m.MediaType().String() // Handle file types. switch { @@ -433,12 +441,9 @@ func (ind *Index) UserMediaFile(m *MediaFile, o IndexOptions, originalName, phot // Change file and photo type to "live" if the file has a video embedded. file.FileVideo = true file.MediaType = entity.MediaLive - if photo.TypeSrc == entity.SrcAuto { - photo.PhotoType = entity.MediaLive - } - } else if photo.TypeSrc == entity.SrcAuto && photo.PhotoType == entity.MediaLive { - // Image does not include a compatible video. - photo.PhotoType = entity.MediaImage + + // Set photo media type to "live". + photo.SetMediaType(media.Live, entity.SrcFile) } if file.OriginalName == "" && filepath.Base(file.FileName) != data.FileName { @@ -459,9 +464,12 @@ func (ind *Index) UserMediaFile(m *MediaFile, o IndexOptions, originalName, phot } } - // Change the photo type to animated if it is an animated PNG. - if photo.TypeSrc == entity.SrcAuto && photo.PhotoType == entity.MediaImage && m.IsAnimatedImage() { - photo.PhotoType = entity.MediaAnimated + // If the file contains multiple images for an animation, + // change the media type to "animated". + if photo.HasMediaType(media.Image) && m.IsAnimatedImage() { + photo.SetMediaType(media.Animated, entity.SrcAuto) + } else if photo.PhotoType == "" { + photo.SetMediaType(media.Image, entity.SrcAuto) } case m.IsXMP(): if data, dataErr := meta.XMP(m.FileName()); dataErr == nil { @@ -554,12 +562,12 @@ func (ind *Index) UserMediaFile(m *MediaFile, o IndexOptions, originalName, phot // Change file and photo type to "live" if the file has a video embedded. file.FileVideo = true file.MediaType = entity.MediaLive - if photo.TypeSrc == entity.SrcAuto { - photo.PhotoType = entity.MediaLive - } - } else if photo.TypeSrc == entity.SrcAuto && photo.PhotoType == entity.MediaLive { - // HEIC does not include a compatible video. - photo.PhotoType = entity.MediaImage + + // If the file also contains a video, set photo media type to "live". + photo.SetMediaType(media.Live, entity.SrcFile) + } else { + // If the file does not contain a video, set the media type to "image". + photo.SetMediaType(media.Image, entity.SrcAuto) } // Set photo resolution based on the largest media file. @@ -572,16 +580,17 @@ func (ind *Index) UserMediaFile(m *MediaFile, o IndexOptions, originalName, phot photo.SetExposure(m.FocalLength(), m.FNumber(), m.Iso(), m.Exposure(), entity.SrcMeta) } - // Update photo type if an image and not manually modified. - if photo.TypeSrc == entity.SrcAuto && photo.PhotoType == entity.MediaImage { + // If the media type is still set to "image" and has not been + // manually modified, then check and update it as needed. + if photo.HasMediaType(media.Image) { if m.IsAnimatedImage() { - photo.PhotoType = entity.MediaAnimated + photo.SetMediaType(media.Animated, entity.SrcAuto) } else if m.IsRaw() { - photo.PhotoType = entity.MediaRaw - } else if m.IsLive() { - photo.PhotoType = entity.MediaLive + photo.SetMediaType(media.Raw, entity.SrcAuto) + } else if m.IsLive(photo.PhotoDuration) { + photo.SetMediaType(media.Live, entity.SrcAuto) } else if m.IsVector() { - photo.PhotoType = entity.MediaVector + photo.SetMediaType(media.Vector, entity.SrcAuto) } } case m.IsVector(): @@ -637,10 +646,8 @@ func (ind *Index) UserMediaFile(m *MediaFile, o IndexOptions, originalName, phot } } - // Update photo type if not manually modified. - if photo.TypeSrc == entity.SrcAuto { - photo.PhotoType = entity.MediaVector - } + // Set photo media type to "vector". + photo.SetMediaType(media.Vector, entity.SrcAuto) case m.IsDocument(): if data := m.MetaData(); data.Error == nil { photo.SetTitle(data.Title, entity.SrcMeta) @@ -691,10 +698,8 @@ func (ind *Index) UserMediaFile(m *MediaFile, o IndexOptions, originalName, phot } } - // Update photo type if not manually modified. - if photo.TypeSrc == entity.SrcAuto { - photo.PhotoType = entity.MediaDocument - } + // Set photo media type to "document". + photo.SetMediaType(media.Document, entity.SrcAuto) case m.IsVideo(): if data := m.MetaData(); data.Error == nil { photo.SetTitle(data.Title, entity.SrcMeta) @@ -759,13 +764,12 @@ func (ind *Index) UserMediaFile(m *MediaFile, o IndexOptions, originalName, phot photo.SetExposure(m.FocalLength(), m.FNumber(), m.Iso(), m.Exposure(), entity.SrcMeta) } - if photo.TypeSrc == entity.SrcAuto { - // Update photo type only if not manually modified. - if file.FileDuration == 0 || file.FileDuration > video.LiveDuration { - photo.PhotoType = entity.MediaVideo - } else { - photo.PhotoType = entity.MediaLive - } + // Set the media type to "live" instead of "video" if the video duration + // is less than 3.1 seconds and a JPEG or HEIC image exists. + if photo.PhotoDuration > 0 && m.IsLive(photo.PhotoDuration) { + photo.SetMediaType(media.Live, entity.SrcAuto) + } else { + photo.SetMediaType(media.Video, entity.SrcAuto) } // Set the video dimensions from the primary image if it could not be determined from the video metadata. @@ -910,27 +914,28 @@ func (ind *Index) UserMediaFile(m *MediaFile, o IndexOptions, originalName, phot }) } - if photo.PhotoType == entity.MediaAnimated { + switch photo.MediaType() { + case media.Animated: event.Publish("count.animated", event.Data{ "count": 1, }) - } else if photo.PhotoType == entity.MediaLive { + case media.Live: event.Publish("count.live", event.Data{ "count": 1, }) - } else if photo.PhotoType == entity.MediaAudio { + case media.Audio: event.Publish("count.audio", event.Data{ "count": 1, }) - } else if photo.PhotoType == entity.MediaVideo { + case media.Video: event.Publish("count.videos", event.Data{ "count": 1, }) - } else if photo.PhotoType == entity.MediaDocument { + case media.Document: event.Publish("count.documents", event.Data{ "count": 1, }) - } else { + default: event.Publish("count.photos", event.Data{ "count": 1, }) @@ -1038,7 +1043,7 @@ func (ind *Index) UserMediaFile(m *MediaFile, o IndexOptions, originalName, phot } // Update related video files so they are properly grouped with the primary image in search results. - if (photo.PhotoType == entity.MediaVideo || photo.PhotoType == entity.MediaLive) && file.FilePrimary { + if photo.HasMediaType(media.Video, media.Live) && file.FilePrimary { if updateErr := file.UpdateVideoInfos(); updateErr != nil { log.Errorf("index: %s in %s (update video infos)", updateErr, logName) } diff --git a/internal/photoprism/mediafile.go b/internal/photoprism/mediafile.go index 45101a369..503195694 100644 --- a/internal/photoprism/mediafile.go +++ b/internal/photoprism/mediafile.go @@ -390,16 +390,16 @@ func (m *MediaFile) RelPath(directory string) string { pathname := m.fileName if i := strings.Index(pathname, directory); i == 0 { - if i := strings.LastIndex(directory, string(os.PathSeparator)); i == len(directory)-1 { + if i = strings.LastIndex(directory, string(os.PathSeparator)); i == len(directory)-1 { pathname = pathname[len(directory):] - } else if i := strings.LastIndex(directory, string(os.PathSeparator)); i != len(directory) { + } else if i = strings.LastIndex(directory, string(os.PathSeparator)); i != len(directory) { pathname = pathname[len(directory)+1:] } } if end := strings.LastIndex(pathname, string(os.PathSeparator)); end != -1 { pathname = pathname[:end] - } else if end := strings.LastIndex(pathname, string(os.PathSeparator)); end == -1 { + } else if end = strings.LastIndex(pathname, string(os.PathSeparator)); end == -1 { pathname = "" } @@ -532,6 +532,10 @@ func (m *MediaFile) MimeType() string { m.mimeType = fs.MimeType(fileName) + if m.mimeType == header.ContentTypeMp4 && m.MetaData().Codec == video.CodecM2TS { + m.mimeType = header.ContentTypeM2TS + } + return m.mimeType } @@ -814,6 +818,17 @@ func (m *MediaFile) IsAvifS() bool { return m.HasFileType(fs.ImageAvifS) } +// IsM2TS checks if the file is an MPEG-2 Transport Stream (M2TS) container. +func (m *MediaFile) IsM2TS() bool { + if t := fs.FileType(m.fileName); t == fs.VideoM2TS { + return true + } else if t == fs.VideoMp4 || t == fs.VideoAVCHD { + return m.HasMimeType(header.ContentTypeM2TS) + } + + return false +} + // IsBmp checks if the file is a bitmap image with a supported file type extension. func (m *MediaFile) IsBmp() bool { if fs.FileType(m.fileName) != fs.ImageBmp { @@ -923,14 +938,22 @@ func (m *MediaFile) CheckType() error { return fmt.Errorf("has an invalid extension for media type %s", clean.LogQuote(mimeType)) } -// Media returns the media content type (video, image, raw, sidecar,...). -func (m *MediaFile) Media() media.Type { +// MediaType returns the media content type, e.g. video, image, raw, or sidecar. +func (m *MediaFile) MediaType() media.Type { return media.FromName(m.fileName) } -// HasMediaType checks if the file has is the given media type. -func (m *MediaFile) HasMediaType(mediaType media.Type) bool { - return m.Media() == mediaType +// HasMediaType checks if the file has any of the given media types. +func (m *MediaFile) HasMediaType(mediaTypes ...media.Type) bool { + mediaType := m.MediaType() + + for _, t := range mediaTypes { + if mediaType == t { + return true + } + } + + return false } // HasFileType checks if the file has the given file type. @@ -977,9 +1000,14 @@ func (m *MediaFile) IsVideo() bool { return m.HasMediaType(media.Video) } +// IsMov returns true if this is a MOV (QuickTime) video file. +func (m *MediaFile) IsMov() bool { + return fs.FileType(m.fileName) == fs.VideoMov +} + // IsSidecar checks if the file is a metadata sidecar file, independent of the storage location. func (m *MediaFile) IsSidecar() bool { - return !m.Media().Main() + return !m.MediaType().IsMain() } // IsArchive returns true if this is an archive file. @@ -1048,15 +1076,38 @@ func (m *MediaFile) IsImageNative() bool { } // IsLive checks if the file is a live photo. -func (m *MediaFile) IsLive() bool { - if m.IsHeic() { - return fs.VideoMov.FindFirst(m.FileName(), []string{}, Config().OriginalsPath(), false) != "" +func (m *MediaFile) IsLive(videoDuration time.Duration) bool { + if !m.InOriginals() { + // Live Photos must be located in the Originals folder. + return false + } else if !m.HasMediaType(media.Video, media.Image, media.Live) { + // Live Photos may only consist of video, image, or live files. + return false + } else if videoDuration > media.LiveMaxDuration { + // Live Photos can include a maximum of 3.1 seconds of video. + return false } - if m.IsVideo() { - return fs.ImageHeic.FindFirst(m.FileName(), []string{}, Config().OriginalsPath(), false) != "" + // Check for related image or video files in the expected formats. + switch m.MediaType() { + case media.Video: + // Live Photos may only have MOV video sidecar files. + if m.IsMov() { + if fs.ImageHeic.FindFirst(m.FileName(), []string{}, Config().OriginalsPath(), false) != "" || + fs.ImageJpeg.FindFirst(m.FileName(), []string{}, Config().OriginalsPath(), false) != "" { + return true + } + } + case media.Image: + // Live Photos must be either HEIC or JPEG image files. + if m.IsHeic() || m.IsJpeg() { + if fs.VideoMov.FindFirst(m.FileName(), []string{}, Config().OriginalsPath(), false) != "" { + return true + } + } } + // If none of the above applies, check the metadata for embedded videos. return m.MetaData().MediaType == media.Live && m.VideoInfo().Compatible } diff --git a/internal/photoprism/mediafile_meta_test.go b/internal/photoprism/mediafile_meta_test.go index 85b6aad37..25aca35b6 100644 --- a/internal/photoprism/mediafile_meta_test.go +++ b/internal/photoprism/mediafile_meta_test.go @@ -12,6 +12,7 @@ import ( "github.com/photoprism/photoprism/internal/meta" "github.com/photoprism/photoprism/pkg/fs" "github.com/photoprism/photoprism/pkg/media" + "github.com/photoprism/photoprism/pkg/media/http/header" "github.com/photoprism/photoprism/pkg/media/projection" "github.com/photoprism/photoprism/pkg/media/video" "github.com/photoprism/photoprism/pkg/time/tz" @@ -73,10 +74,11 @@ func TestMediaFile_SidecarJsonName(t *testing.T) { } func TestMediaFile_NeedsExifToolJson(t *testing.T) { + c := config.TestConfig() + t.Run("false", func(t *testing.T) { - conf := config.TestConfig() - mediaFile, err := NewMediaFile(conf.ExamplesPath() + "/beach_sand.jpg") + mediaFile, err := NewMediaFile(c.ExamplesPath() + "/beach_sand.jpg") if err != nil { t.Fatal(err) @@ -85,9 +87,7 @@ func TestMediaFile_NeedsExifToolJson(t *testing.T) { assert.True(t, mediaFile.NeedsExifToolJson()) }) t.Run("true", func(t *testing.T) { - conf := config.TestConfig() - - mediaFile, err := NewMediaFile(conf.ExamplesPath() + "/blue-go-video.mp4") + mediaFile, err := NewMediaFile(c.ExamplesPath() + "/blue-go-video.mp4") if err != nil { t.Fatal(err) @@ -96,9 +96,7 @@ func TestMediaFile_NeedsExifToolJson(t *testing.T) { assert.True(t, mediaFile.NeedsExifToolJson()) }) t.Run("true", func(t *testing.T) { - conf := config.TestConfig() - - mediaFile, err := NewMediaFile(conf.ExamplesPath() + "/blue-go-video.mp4.json") + mediaFile, err := NewMediaFile(c.ExamplesPath() + "/blue-go-video.mp4.json") if err != nil { t.Fatal(err) @@ -109,10 +107,113 @@ func TestMediaFile_NeedsExifToolJson(t *testing.T) { } func TestMediaFile_CreateExifToolJson(t *testing.T) { - conf := config.TestConfig() + c := config.TestConfig() + t.Run("bear.m2ts", func(t *testing.T) { + mediaFile, err := NewMediaFile(filepath.Join(c.ExamplesPath(), "bear.m2ts")) + + if err != nil { + t.Fatal(err) + } + + assert.Equal(t, fs.VideoM2TS, mediaFile.FileType()) + + jsonName, err := mediaFile.ExifToolJsonName() + + if fs.FileExists(jsonName) { + if err = os.Remove(jsonName); err != nil { + t.Error(err) + } + } + + assert.True(t, mediaFile.NeedsExifToolJson()) + + err = mediaFile.CreateExifToolJson(NewConvert(c)) + + if err != nil { + t.Fatal(err) + } + + data := mediaFile.MetaData() + + assert.Empty(t, err) + + assert.IsType(t, meta.Data{}, data) + + assert.Equal(t, "0001-01-01 00:00:00 +0000 UTC", data.TakenAt.String()) + assert.Equal(t, "0001-01-01 00:00:00 +0000 UTC", data.TakenAtLocal.String()) + assert.Equal(t, video.CodecM2TS, data.Codec) + assert.Equal(t, 320, data.Width) + assert.Equal(t, 192, data.Height) + assert.Equal(t, false, data.Flash) + assert.Equal(t, "", data.Caption) + assert.True(t, mediaFile.IsM2TS()) + assert.True(t, mediaFile.IsVideo()) + assert.True(t, mediaFile.HasMediaType(media.Video)) + assert.True(t, mediaFile.HasMediaType(media.Video, media.Image)) + assert.False(t, mediaFile.HasMediaType(media.Image)) + assert.False(t, mediaFile.HasMediaType(media.Live)) + assert.False(t, mediaFile.HasMediaType()) + assert.Equal(t, media.Video, mediaFile.MediaType()) + assert.Equal(t, fs.VideoM2TS, mediaFile.FileType()) + assert.Equal(t, header.ContentTypeM2TS, mediaFile.MimeType()) + assert.Equal(t, header.ContentTypeM2TS, mediaFile.ContentType()) + + if err = os.Remove(jsonName); err != nil { + t.Error(err) + } + }) + t.Run("m2ts.mp4", func(t *testing.T) { + mediaFile, err := NewMediaFile(filepath.Join(c.ExamplesPath(), "m2ts.mp4")) + + if err != nil { + t.Fatal(err) + } + + assert.Equal(t, fs.VideoMp4, mediaFile.FileType()) + + jsonName, err := mediaFile.ExifToolJsonName() + + if fs.FileExists(jsonName) { + if err = os.Remove(jsonName); err != nil { + t.Error(err) + } + } + + assert.True(t, mediaFile.NeedsExifToolJson()) + + err = mediaFile.CreateExifToolJson(NewConvert(c)) + + if err != nil { + t.Fatal(err) + } + + data := mediaFile.MetaData() + + assert.Empty(t, err) + + assert.IsType(t, meta.Data{}, data) + + assert.Equal(t, "0001-01-01 00:00:00 +0000 UTC", data.TakenAt.String()) + assert.Equal(t, "0001-01-01 00:00:00 +0000 UTC", data.TakenAtLocal.String()) + assert.Equal(t, video.CodecM2TS, data.Codec) + assert.Equal(t, 320, data.Width) + assert.Equal(t, 192, data.Height) + assert.Equal(t, false, data.Flash) + assert.Equal(t, "", data.Caption) + assert.True(t, mediaFile.IsM2TS()) + assert.True(t, mediaFile.IsVideo()) + assert.True(t, mediaFile.HasMediaType(media.Video)) + assert.Equal(t, fs.VideoMp4, mediaFile.FileType()) + assert.Equal(t, header.ContentTypeM2TS, mediaFile.MimeType()) + assert.Equal(t, header.ContentTypeM2TS, mediaFile.ContentType()) + + if err = os.Remove(jsonName); err != nil { + t.Error(err) + } + }) t.Run("gopher-video.mp4", func(t *testing.T) { - mediaFile, err := NewMediaFile(conf.ExamplesPath() + "/gopher-video.mp4") + mediaFile, err := NewMediaFile(c.ExamplesPath() + "/gopher-video.mp4") if err != nil { t.Fatal(err) @@ -128,7 +229,7 @@ func TestMediaFile_CreateExifToolJson(t *testing.T) { assert.True(t, mediaFile.NeedsExifToolJson()) - err = mediaFile.CreateExifToolJson(NewConvert(conf)) + err = mediaFile.CreateExifToolJson(NewConvert(c)) if err != nil { t.Fatal(err) @@ -156,10 +257,10 @@ func TestMediaFile_CreateExifToolJson(t *testing.T) { } func TestMediaFile_Exif_Jpeg(t *testing.T) { - conf := config.TestConfig() + c := config.TestConfig() t.Run("elephants.jpg", func(t *testing.T) { - img, err := NewMediaFile(conf.ExamplesPath() + "/elephants.jpg") + img, err := NewMediaFile(c.ExamplesPath() + "/elephants.jpg") if err != nil { t.Fatal(err) @@ -198,7 +299,7 @@ func TestMediaFile_Exif_Jpeg(t *testing.T) { }) t.Run("fern_green.jpg", func(t *testing.T) { - img, err := NewMediaFile(conf.ExamplesPath() + "/fern_green.jpg") + img, err := NewMediaFile(c.ExamplesPath() + "/fern_green.jpg") if err != nil { t.Fatal(err) @@ -232,9 +333,8 @@ func TestMediaFile_Exif_Jpeg(t *testing.T) { t.Logf("UTC: %s", info.TakenAt.String()) t.Logf("Local: %s", info.TakenAtLocal.String()) }) - t.Run("blue-go-video.mp4", func(t *testing.T) { - img, err := NewMediaFile(conf.ExamplesPath() + "/blue-go-video.mp4") + img, err := NewMediaFile(c.ExamplesPath() + "/blue-go-video.mp4") if err != nil { t.Fatal(err) @@ -246,7 +346,6 @@ func TestMediaFile_Exif_Jpeg(t *testing.T) { assert.IsType(t, meta.Data{}, info) }) - t.Run("panorama360.jpg", func(t *testing.T) { img, err := NewMediaFile("testdata/panorama360.jpg") @@ -281,7 +380,6 @@ func TestMediaFile_Exif_Jpeg(t *testing.T) { assert.Equal(t, 1, data.Orientation) assert.Equal(t, projection.Equirectangular.String(), data.Projection) }) - t.Run("digikam.jpg", func(t *testing.T) { img, err := NewMediaFile("testdata/digikam.jpg") diff --git a/internal/photoprism/mediafile_test.go b/internal/photoprism/mediafile_test.go index 2192dbb80..9548daa82 100644 --- a/internal/photoprism/mediafile_test.go +++ b/internal/photoprism/mediafile_test.go @@ -13,6 +13,7 @@ import ( "github.com/photoprism/photoprism/internal/config" "github.com/photoprism/photoprism/internal/entity" "github.com/photoprism/photoprism/pkg/fs" + "github.com/photoprism/photoprism/pkg/media" "github.com/photoprism/photoprism/pkg/media/http/header" ) @@ -214,7 +215,7 @@ func TestMediaFile_HasTimeAndPlace(t *testing.T) { if err != nil { t.Fatal(err) } - assert.Equal(t, true, mediaFile.HasTimeAndPlace()) + assert.True(t, mediaFile.HasTimeAndPlace()) }) t.Run("/peacock_blue.jpg", func(t *testing.T) { conf := config.TestConfig() @@ -223,7 +224,7 @@ func TestMediaFile_HasTimeAndPlace(t *testing.T) { if err != nil { t.Fatal(err) } - assert.Equal(t, false, mediaFile.HasTimeAndPlace()) + assert.False(t, mediaFile.HasTimeAndPlace()) }) } func TestMediaFile_CameraModel(t *testing.T) { @@ -689,73 +690,79 @@ func TestMediaFile_MimeType(t *testing.T) { c := config.TestConfig() t.Run("elephants.jpg", func(t *testing.T) { - mediaFile, err := NewMediaFile(c.ExamplesPath() + "/elephants.jpg") + f, err := NewMediaFile(c.ExamplesPath() + "/elephants.jpg") if err != nil { t.Fatal(err) } - assert.Equal(t, "image/jpeg", mediaFile.MimeType()) + assert.Equal(t, "image/jpeg", f.MimeType()) }) t.Run("canon_eos_6d.dng", func(t *testing.T) { - mediaFile, err := NewMediaFile(c.ExamplesPath() + "/canon_eos_6d.dng") + f, err := NewMediaFile(c.ExamplesPath() + "/canon_eos_6d.dng") if err != nil { t.Fatal(err) } - assert.Equal(t, "image/dng", mediaFile.MimeType()) - assert.True(t, mediaFile.IsDng()) - assert.True(t, mediaFile.IsRaw()) + assert.Equal(t, "image/dng", f.MimeType()) + assert.True(t, f.IsDng()) + assert.True(t, f.IsRaw()) }) t.Run("iphone_7.xmp", func(t *testing.T) { - mediaFile, err := NewMediaFile(c.ExamplesPath() + "/iphone_7.xmp") + f, err := NewMediaFile(c.ExamplesPath() + "/iphone_7.xmp") if err != nil { t.Fatal(err) } - assert.True(t, fs.SameType(header.ContentTypeText, mediaFile.BaseType())) - assert.Equal(t, "text/plain", mediaFile.BaseType()) - assert.Equal(t, "text/plain; charset=utf-8", mediaFile.MimeType()) - assert.Equal(t, true, mediaFile.HasMimeType("text/plain")) + assert.True(t, fs.SameType(header.ContentTypeText, f.BaseType())) + assert.Equal(t, "text/plain", f.BaseType()) + assert.Equal(t, "text/plain; charset=utf-8", f.MimeType()) + assert.True(t, f.HasMimeType("text/plain")) }) t.Run("iphone_7.json", func(t *testing.T) { - mediaFile, err := NewMediaFile(c.ExamplesPath() + "/iphone_7.json") + f, err := NewMediaFile(c.ExamplesPath() + "/iphone_7.json") if err != nil { t.Fatal(err) } - assert.True(t, fs.SameType(header.ContentTypeJson, mediaFile.MimeType())) + assert.True(t, fs.SameType(header.ContentTypeJson, f.MimeType())) }) t.Run("fox.profile0.8bpc.yuv420.avif", func(t *testing.T) { - mediaFile, err := NewMediaFile(c.ExamplesPath() + "/fox.profile0.8bpc.yuv420.avif") + f, err := NewMediaFile(c.ExamplesPath() + "/fox.profile0.8bpc.yuv420.avif") if err != nil { t.Fatal(err) } - assert.True(t, fs.SameType(header.ContentTypeAvif, mediaFile.MimeType())) - assert.True(t, mediaFile.IsAvif()) + assert.True(t, fs.SameType(header.ContentTypeAvif, f.MimeType())) + assert.True(t, f.IsAvif()) }) t.Run("iphone_7.heic", func(t *testing.T) { - mediaFile, err := NewMediaFile(c.ExamplesPath() + "/iphone_7.heic") + f, err := NewMediaFile(c.ExamplesPath() + "/iphone_7.heic") if err != nil { t.Fatal(err) } - assert.True(t, fs.SameType(header.ContentTypeHeic, mediaFile.MimeType())) - assert.True(t, mediaFile.IsHeic()) + assert.True(t, fs.SameType(header.ContentTypeHeic, f.MimeType())) + assert.True(t, f.IsHeic()) + assert.False(t, f.IsMov()) + assert.False(t, f.IsVideo()) }) t.Run("IMG_4120.AAE", func(t *testing.T) { - mediaFile, err := NewMediaFile(c.ExamplesPath() + "/IMG_4120.AAE") + f, err := NewMediaFile(c.ExamplesPath() + "/IMG_4120.AAE") if err != nil { t.Fatal(err) } - assert.True(t, fs.SameType(header.ContentTypeXml, mediaFile.BaseType())) - assert.Equal(t, "text/xml", mediaFile.BaseType()) - assert.Equal(t, "text/xml; charset=utf-8", mediaFile.MimeType()) - assert.Equal(t, true, mediaFile.HasMimeType("text/xml")) + assert.True(t, fs.SameType(header.ContentTypeXml, f.BaseType())) + assert.Equal(t, "text/xml", f.BaseType()) + assert.Equal(t, "text/xml; charset=utf-8", f.MimeType()) + assert.True(t, f.HasMimeType("text/xml")) + assert.False(t, f.IsMov()) }) t.Run("earth.mov", func(t *testing.T) { if f, err := NewMediaFile(filepath.Join(c.ExamplesPath(), "earth.mov")); err != nil { t.Fatal(err) } else { assert.Equal(t, "video/quicktime", f.MimeType()) + assert.False(t, f.IsHeic()) + assert.True(t, f.IsMov()) + assert.True(t, f.IsVideo()) } }) t.Run("blue-go-video.mp4", func(t *testing.T) { @@ -763,6 +770,29 @@ func TestMediaFile_MimeType(t *testing.T) { t.Fatal(err) } else { assert.Equal(t, "video/mp4", f.MimeType()) + assert.False(t, f.IsHeic()) + assert.False(t, f.IsMov()) + assert.True(t, f.IsVideo()) + } + }) + t.Run("bear.m2ts", func(t *testing.T) { + if f, err := NewMediaFile(filepath.Join(c.ExamplesPath(), "bear.m2ts")); err != nil { + t.Fatal(err) + } else { + assert.True(t, f.IsM2TS()) + assert.Equal(t, fs.VideoM2TS, f.FileType()) + assert.Equal(t, header.ContentTypeM2TS, f.MimeType()) + assert.Equal(t, header.ContentTypeM2TS, f.ContentType()) + } + }) + t.Run("m2ts.mp4", func(t *testing.T) { + if f, err := NewMediaFile(filepath.Join(c.ExamplesPath(), "m2ts.mp4")); err != nil { + t.Fatal(err) + } else { + assert.False(t, f.IsM2TS()) + assert.Equal(t, fs.VideoMp4, f.FileType()) + assert.Equal(t, header.ContentTypeMp4, f.MimeType()) + assert.Equal(t, header.ContentTypeMp4, f.ContentType()) } }) t.Run("earth.avi", func(t *testing.T) { @@ -799,16 +829,16 @@ func TestMediaFile_Exists(t *testing.T) { assert.NotNil(t, exists) assert.True(t, exists.Exists()) - assert.Equal(t, true, exists.Ok()) - assert.Equal(t, false, exists.Empty()) + assert.True(t, exists.Ok()) + assert.False(t, exists.Empty()) missing, err := NewMediaFile(c.ExamplesPath() + "/xxz.jpg") assert.NotNil(t, missing) assert.Error(t, err) assert.Equal(t, int64(-1), missing.FileSize()) - assert.Equal(t, false, missing.Ok()) - assert.Equal(t, true, missing.Empty()) + assert.False(t, missing.Ok()) + assert.True(t, missing.Empty()) } func TestMediaFile_SetModTime(t *testing.T) { @@ -947,28 +977,28 @@ func TestMediaFile_IsJpeg(t *testing.T) { if err != nil { t.Fatal(err) } - assert.Equal(t, false, mediaFile.IsJpeg()) + assert.False(t, mediaFile.IsJpeg()) }) t.Run("iphone_7.heic", func(t *testing.T) { mediaFile, err := NewMediaFile(c.ExamplesPath() + "/iphone_7.heic") if err != nil { t.Fatal(err) } - assert.Equal(t, false, mediaFile.IsJpeg()) + assert.False(t, mediaFile.IsJpeg()) }) t.Run("canon_eos_6d.dng", func(t *testing.T) { mediaFile, err := NewMediaFile(c.ExamplesPath() + "/canon_eos_6d.dng") if err != nil { t.Fatal(err) } - assert.Equal(t, false, mediaFile.IsJpeg()) + assert.False(t, mediaFile.IsJpeg()) }) t.Run("elephants.jpg", func(t *testing.T) { mediaFile, err := NewMediaFile(c.ExamplesPath() + "/elephants.jpg") if err != nil { t.Fatal(err) } - assert.Equal(t, true, mediaFile.IsJpeg()) + assert.True(t, mediaFile.IsJpeg()) }) } @@ -980,28 +1010,28 @@ func TestMediaFile_HasType(t *testing.T) { if err != nil { t.Fatal(err) } - assert.Equal(t, false, mediaFile.HasFileType("jpg")) + assert.False(t, mediaFile.HasFileType("jpg")) }) t.Run("fox.profile0.8bpc.yuv420.avif", func(t *testing.T) { mediaFile, err := NewMediaFile(c.ExamplesPath() + "/fox.profile0.8bpc.yuv420.avif") if err != nil { t.Fatal(err) } - assert.Equal(t, true, mediaFile.HasFileType("avif")) + assert.True(t, mediaFile.HasFileType("avif")) }) t.Run("iphone_7.heic", func(t *testing.T) { mediaFile, err := NewMediaFile(c.ExamplesPath() + "/iphone_7.heic") if err != nil { t.Fatal(err) } - assert.Equal(t, true, mediaFile.HasFileType("heic")) + assert.True(t, mediaFile.HasFileType("heic")) }) t.Run("iphone_7.xmp", func(t *testing.T) { mediaFile, err := NewMediaFile(c.ExamplesPath() + "/iphone_7.xmp") if err != nil { t.Fatal(err) } - assert.Equal(t, true, mediaFile.HasFileType("xmp")) + assert.True(t, mediaFile.HasFileType("xmp")) }) } @@ -1013,28 +1043,28 @@ func TestMediaFile_IsHeic(t *testing.T) { if err != nil { t.Fatal(err) } - assert.Equal(t, false, mediaFile.IsHeic()) + assert.False(t, mediaFile.IsHeic()) }) t.Run("iphone_7.heic", func(t *testing.T) { mediaFile, err := NewMediaFile(c.ExamplesPath() + "/iphone_7.heic") if err != nil { t.Fatal(err) } - assert.Equal(t, true, mediaFile.IsHeic()) + assert.True(t, mediaFile.IsHeic()) }) t.Run("canon_eos_6d.dng", func(t *testing.T) { mediaFile, err := NewMediaFile(c.ExamplesPath() + "/canon_eos_6d.dng") if err != nil { t.Fatal(err) } - assert.Equal(t, false, mediaFile.IsHeic()) + assert.False(t, mediaFile.IsHeic()) }) t.Run("elephants.jpg", func(t *testing.T) { mediaFile, err := NewMediaFile(c.ExamplesPath() + "/elephants.jpg") if err != nil { t.Fatal(err) } - assert.Equal(t, false, mediaFile.IsHeic()) + assert.False(t, mediaFile.IsHeic()) }) } @@ -1046,14 +1076,14 @@ func TestMediaFile_IsRaw(t *testing.T) { if err != nil { t.Fatal(err) } - assert.Equal(t, false, mediaFile.IsRaw()) + assert.False(t, mediaFile.IsRaw()) }) t.Run("iphone_7.heic", func(t *testing.T) { mediaFile, err := NewMediaFile(c.ExamplesPath() + "/iphone_7.heic") if err != nil { t.Fatal(err) } - assert.Equal(t, false, mediaFile.IsRaw()) + assert.False(t, mediaFile.IsRaw()) }) t.Run("canon_eos_6d.dng", func(t *testing.T) { mediaFile, err := NewMediaFile(c.ExamplesPath() + "/canon_eos_6d.dng") @@ -1061,14 +1091,14 @@ func TestMediaFile_IsRaw(t *testing.T) { t.Fatal(err) } - assert.Equal(t, true, mediaFile.IsRaw()) + assert.True(t, mediaFile.IsRaw()) }) t.Run("elephants.jpg", func(t *testing.T) { mediaFile, err := NewMediaFile(c.ExamplesPath() + "/elephants.jpg") if err != nil { t.Fatal(err) } - assert.Equal(t, false, mediaFile.IsRaw()) + assert.False(t, mediaFile.IsRaw()) }) } @@ -1080,7 +1110,7 @@ func TestMediaFile_IsPng(t *testing.T) { if err != nil { t.Fatal(err) } - assert.Equal(t, false, mediaFile.IsPng()) + assert.False(t, mediaFile.IsPng()) }) t.Run("tweethog.png", func(t *testing.T) { mediaFile, err := NewMediaFile(c.ExamplesPath() + "/tweethog.png") @@ -1091,7 +1121,7 @@ func TestMediaFile_IsPng(t *testing.T) { assert.Equal(t, fs.ImagePng, mediaFile.FileType()) assert.Equal(t, "image/png", mediaFile.MimeType()) - assert.Equal(t, true, mediaFile.IsPng()) + assert.True(t, mediaFile.IsPng()) }) } @@ -1105,7 +1135,7 @@ func TestMediaFile_IsTiff(t *testing.T) { } assert.Equal(t, fs.SidecarJson, mediaFile.FileType()) assert.Equal(t, header.ContentTypeJson, mediaFile.MimeType()) - assert.Equal(t, false, mediaFile.IsTiff()) + assert.False(t, mediaFile.IsTiff()) }) t.Run("purple.tiff", func(t *testing.T) { mediaFile, err := NewMediaFile(c.ExamplesPath() + "/purple.tiff") @@ -1114,7 +1144,7 @@ func TestMediaFile_IsTiff(t *testing.T) { } assert.Equal(t, fs.ImageTiff, mediaFile.FileType()) assert.Equal(t, "image/tiff", mediaFile.MimeType()) - assert.Equal(t, true, mediaFile.IsTiff()) + assert.True(t, mediaFile.IsTiff()) }) t.Run("example.tiff", func(t *testing.T) { mediaFile, err := NewMediaFile(c.ExamplesPath() + "/example.tif") @@ -1123,7 +1153,7 @@ func TestMediaFile_IsTiff(t *testing.T) { } assert.Equal(t, fs.ImageTiff, mediaFile.FileType()) assert.Equal(t, "image/tiff", mediaFile.MimeType()) - assert.Equal(t, true, mediaFile.IsTiff()) + assert.True(t, mediaFile.IsTiff()) }) } @@ -1135,30 +1165,30 @@ func TestMediaFile_IsImageOther(t *testing.T) { if err != nil { t.Fatal(err) } - assert.Equal(t, false, mediaFile.IsImageOther()) + assert.False(t, mediaFile.IsImageOther()) }) t.Run("purple.tiff", func(t *testing.T) { mediaFile, err := NewMediaFile(c.ExamplesPath() + "/purple.tiff") if err != nil { t.Fatal(err) } - assert.Equal(t, true, mediaFile.IsImageOther()) + assert.True(t, mediaFile.IsImageOther()) }) t.Run("tweethog.png", func(t *testing.T) { mediaFile, err := NewMediaFile(c.ExamplesPath() + "/tweethog.png") if err != nil { t.Fatal(err) } - assert.Equal(t, false, mediaFile.IsJpeg()) - assert.Equal(t, false, mediaFile.IsGif()) - assert.Equal(t, true, mediaFile.IsPng()) - assert.Equal(t, false, mediaFile.IsBmp()) - assert.Equal(t, false, mediaFile.IsWebp()) - assert.Equal(t, true, mediaFile.IsImage()) - assert.Equal(t, true, mediaFile.IsImageNative()) - assert.Equal(t, true, mediaFile.IsImageOther()) - assert.Equal(t, false, mediaFile.IsVideo()) - assert.Equal(t, true, mediaFile.SkipTranscoding()) + assert.False(t, mediaFile.IsJpeg()) + assert.False(t, mediaFile.IsGif()) + assert.True(t, mediaFile.IsPng()) + assert.False(t, mediaFile.IsBmp()) + assert.False(t, mediaFile.IsWebp()) + assert.True(t, mediaFile.IsImage()) + assert.True(t, mediaFile.IsImageNative()) + assert.True(t, mediaFile.IsImageOther()) + assert.False(t, mediaFile.IsVideo()) + assert.True(t, mediaFile.SkipTranscoding()) }) t.Run("yellow_rose-small.bmp", func(t *testing.T) { mediaFile, err := NewMediaFile(c.ExamplesPath() + "/yellow_rose-small.bmp") @@ -1167,15 +1197,15 @@ func TestMediaFile_IsImageOther(t *testing.T) { } assert.Equal(t, fs.ImageBmp, mediaFile.FileType()) assert.Equal(t, "image/bmp", mediaFile.MimeType()) - assert.Equal(t, false, mediaFile.IsJpeg()) - assert.Equal(t, false, mediaFile.IsGif()) - assert.Equal(t, true, mediaFile.IsBmp()) - assert.Equal(t, false, mediaFile.IsWebp()) - assert.Equal(t, true, mediaFile.IsImage()) - assert.Equal(t, true, mediaFile.IsImageNative()) - assert.Equal(t, true, mediaFile.IsImageOther()) - assert.Equal(t, false, mediaFile.IsVideo()) - assert.Equal(t, true, mediaFile.SkipTranscoding()) + assert.False(t, mediaFile.IsJpeg()) + assert.False(t, mediaFile.IsGif()) + assert.True(t, mediaFile.IsBmp()) + assert.False(t, mediaFile.IsWebp()) + assert.True(t, mediaFile.IsImage()) + assert.True(t, mediaFile.IsImageNative()) + assert.True(t, mediaFile.IsImageOther()) + assert.False(t, mediaFile.IsVideo()) + assert.True(t, mediaFile.SkipTranscoding()) }) t.Run("preloader.gif", func(t *testing.T) { mediaFile, err := NewMediaFile(c.ExamplesPath() + "/preloader.gif") @@ -1185,15 +1215,15 @@ func TestMediaFile_IsImageOther(t *testing.T) { assert.Equal(t, fs.ImageGif, mediaFile.FileType()) assert.Equal(t, "image/gif", mediaFile.MimeType()) - assert.Equal(t, false, mediaFile.IsJpeg()) - assert.Equal(t, true, mediaFile.IsGif()) - assert.Equal(t, false, mediaFile.IsBmp()) - assert.Equal(t, false, mediaFile.IsWebp()) - assert.Equal(t, true, mediaFile.IsImage()) - assert.Equal(t, true, mediaFile.IsImageNative()) - assert.Equal(t, true, mediaFile.IsImageOther()) - assert.Equal(t, false, mediaFile.IsVideo()) - assert.Equal(t, true, mediaFile.SkipTranscoding()) + assert.False(t, mediaFile.IsJpeg()) + assert.True(t, mediaFile.IsGif()) + assert.False(t, mediaFile.IsBmp()) + assert.False(t, mediaFile.IsWebp()) + assert.True(t, mediaFile.IsImage()) + assert.True(t, mediaFile.IsImageNative()) + assert.True(t, mediaFile.IsImageOther()) + assert.False(t, mediaFile.IsVideo()) + assert.True(t, mediaFile.SkipTranscoding()) }) t.Run("norway-kjetil-moe.webp", func(t *testing.T) { mediaFile, err := NewMediaFile("testdata/norway-kjetil-moe.webp") @@ -1204,15 +1234,15 @@ func TestMediaFile_IsImageOther(t *testing.T) { assert.Equal(t, fs.ImageWebp, mediaFile.FileType()) assert.Equal(t, header.ContentTypeWebp, mediaFile.MimeType()) - assert.Equal(t, false, mediaFile.IsJpeg()) - assert.Equal(t, false, mediaFile.IsGif()) - assert.Equal(t, false, mediaFile.IsBmp()) - assert.Equal(t, true, mediaFile.IsWebp()) - assert.Equal(t, true, mediaFile.IsImage()) - assert.Equal(t, true, mediaFile.IsImageNative()) - assert.Equal(t, true, mediaFile.IsImageOther()) - assert.Equal(t, false, mediaFile.IsVideo()) - assert.Equal(t, true, mediaFile.SkipTranscoding()) + assert.False(t, mediaFile.IsJpeg()) + assert.False(t, mediaFile.IsGif()) + assert.False(t, mediaFile.IsBmp()) + assert.True(t, mediaFile.IsWebp()) + assert.True(t, mediaFile.IsImage()) + assert.True(t, mediaFile.IsImageNative()) + assert.True(t, mediaFile.IsImageOther()) + assert.False(t, mediaFile.IsVideo()) + assert.True(t, mediaFile.SkipTranscoding()) }) } @@ -1298,19 +1328,19 @@ func TestMediaFile_IsSidecar(t *testing.T) { t.Run("example.zip", func(t *testing.T) { mediaFile, err := NewMediaFile(cfg.ExamplesPath() + "/example.zip") assert.Nil(t, err) - assert.Equal(t, true, mediaFile.IsArchive()) + assert.True(t, mediaFile.IsArchive()) }) t.Run("iphone_7.xmp", func(t *testing.T) { mediaFile, err := NewMediaFile(cfg.ExamplesPath() + "/iphone_7.xmp") assert.Nil(t, err) - assert.Equal(t, true, mediaFile.IsSidecar()) + assert.True(t, mediaFile.IsSidecar()) }) t.Run("IMG_4120.AAE", func(t *testing.T) { mediaFile, err := NewMediaFile(cfg.ExamplesPath() + "/IMG_4120.AAE") if err != nil { t.Fatal(err) } - assert.Equal(t, true, mediaFile.IsSidecar()) + assert.True(t, mediaFile.IsSidecar()) }) t.Run("test.xml", func(t *testing.T) { mediaFile, err := NewMediaFile(cfg.ExamplesPath() + "/test.xml") @@ -1318,7 +1348,7 @@ func TestMediaFile_IsSidecar(t *testing.T) { if err != nil { t.Fatal(err) } - assert.Equal(t, true, mediaFile.IsSidecar()) + assert.True(t, mediaFile.IsSidecar()) }) t.Run("test.txt", func(t *testing.T) { mediaFile, err := NewMediaFile(cfg.ExamplesPath() + "/test.txt") @@ -1326,7 +1356,7 @@ func TestMediaFile_IsSidecar(t *testing.T) { if err != nil { t.Fatal(err) } - assert.Equal(t, true, mediaFile.IsSidecar()) + assert.True(t, mediaFile.IsSidecar()) }) t.Run("test.yml", func(t *testing.T) { mediaFile, err := NewMediaFile(cfg.ExamplesPath() + "/test.yml") @@ -1334,7 +1364,7 @@ func TestMediaFile_IsSidecar(t *testing.T) { if err != nil { t.Fatal(err) } - assert.Equal(t, true, mediaFile.IsSidecar()) + assert.True(t, mediaFile.IsSidecar()) }) t.Run("test.md", func(t *testing.T) { mediaFile, err := NewMediaFile(cfg.ExamplesPath() + "/test.md") @@ -1342,7 +1372,7 @@ func TestMediaFile_IsSidecar(t *testing.T) { if err != nil { t.Fatal(err) } - assert.Equal(t, true, mediaFile.IsSidecar()) + assert.True(t, mediaFile.IsSidecar()) }) t.Run("canon_eos_6d.dng", func(t *testing.T) { mediaFile, err := NewMediaFile(cfg.ExamplesPath() + "/canon_eos_6d.dng") @@ -1350,7 +1380,7 @@ func TestMediaFile_IsSidecar(t *testing.T) { if err != nil { t.Fatal(err) } - assert.Equal(t, false, mediaFile.IsSidecar()) + assert.False(t, mediaFile.IsSidecar()) }) } @@ -1359,19 +1389,19 @@ func TestMediaFile_IsArchive(t *testing.T) { t.Run("example.zip", func(t *testing.T) { mediaFile, err := NewMediaFile(cfg.ExamplesPath() + "/example.zip") assert.Nil(t, err) - assert.Equal(t, true, mediaFile.IsArchive()) + assert.True(t, mediaFile.IsArchive()) }) t.Run("iphone_7.xmp", func(t *testing.T) { mediaFile, err := NewMediaFile(cfg.ExamplesPath() + "/iphone_7.xmp") assert.Nil(t, err) - assert.Equal(t, false, mediaFile.IsArchive()) + assert.False(t, mediaFile.IsArchive()) }) t.Run("IMG_4120.AAE", func(t *testing.T) { mediaFile, err := NewMediaFile(cfg.ExamplesPath() + "/IMG_4120.AAE") if err != nil { t.Fatal(err) } - assert.Equal(t, false, mediaFile.IsArchive()) + assert.False(t, mediaFile.IsArchive()) }) t.Run("test.xml", func(t *testing.T) { mediaFile, err := NewMediaFile(cfg.ExamplesPath() + "/test.xml") @@ -1379,7 +1409,7 @@ func TestMediaFile_IsArchive(t *testing.T) { if err != nil { t.Fatal(err) } - assert.Equal(t, false, mediaFile.IsArchive()) + assert.False(t, mediaFile.IsArchive()) }) t.Run("test.txt", func(t *testing.T) { mediaFile, err := NewMediaFile(cfg.ExamplesPath() + "/test.txt") @@ -1387,7 +1417,7 @@ func TestMediaFile_IsArchive(t *testing.T) { if err != nil { t.Fatal(err) } - assert.Equal(t, false, mediaFile.IsArchive()) + assert.False(t, mediaFile.IsArchive()) }) t.Run("test.yml", func(t *testing.T) { mediaFile, err := NewMediaFile(cfg.ExamplesPath() + "/test.yml") @@ -1395,7 +1425,7 @@ func TestMediaFile_IsArchive(t *testing.T) { if err != nil { t.Fatal(err) } - assert.Equal(t, false, mediaFile.IsArchive()) + assert.False(t, mediaFile.IsArchive()) }) t.Run("test.md", func(t *testing.T) { mediaFile, err := NewMediaFile(cfg.ExamplesPath() + "/test.md") @@ -1403,7 +1433,7 @@ func TestMediaFile_IsArchive(t *testing.T) { if err != nil { t.Fatal(err) } - assert.Equal(t, false, mediaFile.IsArchive()) + assert.False(t, mediaFile.IsArchive()) }) t.Run("canon_eos_6d.dng", func(t *testing.T) { mediaFile, err := NewMediaFile(cfg.ExamplesPath() + "/canon_eos_6d.dng") @@ -1411,7 +1441,7 @@ func TestMediaFile_IsArchive(t *testing.T) { if err != nil { t.Fatal(err) } - assert.Equal(t, false, mediaFile.IsArchive()) + assert.False(t, mediaFile.IsArchive()) }) } func TestMediaFile_IsImage(t *testing.T) { @@ -1422,43 +1452,43 @@ func TestMediaFile_IsImage(t *testing.T) { if err != nil { t.Fatal(err) } - assert.Equal(t, false, f.IsImage()) - assert.Equal(t, false, f.IsRaw()) - assert.Equal(t, true, f.IsSidecar()) + assert.False(t, f.IsImage()) + assert.False(t, f.IsRaw()) + assert.True(t, f.IsSidecar()) }) t.Run("iphone_7.xmp", func(t *testing.T) { f, err := NewMediaFile(c.ExamplesPath() + "/iphone_7.xmp") assert.Nil(t, err) - assert.Equal(t, false, f.IsImage()) - assert.Equal(t, false, f.IsRaw()) - assert.Equal(t, true, f.IsSidecar()) + assert.False(t, f.IsImage()) + assert.False(t, f.IsRaw()) + assert.True(t, f.IsSidecar()) }) t.Run("iphone_7.heic", func(t *testing.T) { f, err := NewMediaFile(c.ExamplesPath() + "/iphone_7.heic") if err != nil { t.Fatal(err) } - assert.Equal(t, true, f.IsImage()) - assert.Equal(t, false, f.IsRaw()) - assert.Equal(t, false, f.IsSidecar()) + assert.True(t, f.IsImage()) + assert.False(t, f.IsRaw()) + assert.False(t, f.IsSidecar()) }) t.Run("canon_eos_6d.dng", func(t *testing.T) { f, err := NewMediaFile(c.ExamplesPath() + "/canon_eos_6d.dng") if err != nil { t.Fatal(err) } - assert.Equal(t, false, f.IsImage()) - assert.Equal(t, true, f.IsRaw()) - assert.Equal(t, false, f.IsSidecar()) + assert.False(t, f.IsImage()) + assert.True(t, f.IsRaw()) + assert.False(t, f.IsSidecar()) }) t.Run("elephants.jpg", func(t *testing.T) { f, err := NewMediaFile(c.ExamplesPath() + "/elephants.jpg") if err != nil { t.Fatal(err) } - assert.Equal(t, true, f.IsImage()) - assert.Equal(t, false, f.IsRaw()) - assert.Equal(t, false, f.IsSidecar()) + assert.True(t, f.IsImage()) + assert.False(t, f.IsRaw()) + assert.False(t, f.IsSidecar()) }) } @@ -1469,33 +1499,87 @@ func TestMediaFile_IsVideo(t *testing.T) { if f, err := NewMediaFile(filepath.Join(c.ExamplesPath(), "christmas.mp4")); err != nil { t.Fatal(err) } else { - assert.Equal(t, false, f.IsRaw()) - assert.Equal(t, false, f.IsImage()) - assert.Equal(t, true, f.IsVideo()) - assert.Equal(t, false, f.IsJSON()) - assert.Equal(t, false, f.IsSidecar()) + assert.False(t, f.IsRaw()) + assert.False(t, f.IsImage()) + assert.True(t, f.IsVideo()) + assert.False(t, f.IsJSON()) + assert.False(t, f.IsSidecar()) } }) t.Run("canon_eos_6d.dng", func(t *testing.T) { if f, err := NewMediaFile(filepath.Join(c.ExamplesPath(), "canon_eos_6d.dng")); err != nil { t.Fatal(err) } else { - assert.Equal(t, true, f.IsRaw()) - assert.Equal(t, false, f.IsImage()) - assert.Equal(t, false, f.IsVideo()) - assert.Equal(t, false, f.IsJSON()) - assert.Equal(t, false, f.IsSidecar()) + assert.True(t, f.IsRaw()) + assert.False(t, f.IsImage()) + assert.False(t, f.IsVideo()) + assert.False(t, f.IsJSON()) + assert.False(t, f.IsSidecar()) } }) t.Run("iphone_7.json", func(t *testing.T) { if f, err := NewMediaFile(filepath.Join(c.ExamplesPath(), "iphone_7.json")); err != nil { t.Fatal(err) } else { - assert.Equal(t, false, f.IsRaw()) - assert.Equal(t, false, f.IsImage()) - assert.Equal(t, false, f.IsVideo()) - assert.Equal(t, true, f.IsJSON()) - assert.Equal(t, true, f.IsSidecar()) + assert.False(t, f.IsRaw()) + assert.False(t, f.IsImage()) + assert.False(t, f.IsVideo()) + assert.True(t, f.IsJSON()) + assert.True(t, f.IsSidecar()) + } + }) +} + +func TestMediaFile_IsLive(t *testing.T) { + c := config.TestConfig() + + t.Run("2018-04-12 19_24_49.jpg", func(t *testing.T) { + fileName := fs.Abs("testdata/2018-04-12 19_24_49.jpg") + if f, err := NewMediaFile(fileName); err != nil { + t.Fatal(err) + } else { + assert.False(t, f.IsLive(media.LiveMaxDuration)) // Image is not in originals path. + assert.False(t, f.IsRaw()) + assert.True(t, f.IsImage()) + assert.False(t, f.IsVideo()) + assert.False(t, f.IsJSON()) + assert.False(t, f.IsSidecar()) + } + }) + t.Run("christmas.mp4", func(t *testing.T) { + if f, err := NewMediaFile(filepath.Join(c.ExamplesPath(), "christmas.mp4")); err != nil { + t.Fatal(err) + } else { + assert.False(t, f.IsLive(time.Second*3)) + assert.False(t, f.IsRaw()) + assert.False(t, f.IsImage()) + assert.True(t, f.IsVideo()) + assert.False(t, f.IsJSON()) + assert.False(t, f.IsSidecar()) + } + }) + t.Run("canon_eos_6d.dng", func(t *testing.T) { + if f, err := NewMediaFile(filepath.Join(c.ExamplesPath(), "canon_eos_6d.dng")); err != nil { + t.Fatal(err) + } else { + assert.False(t, f.IsLive(time.Second*3)) + assert.True(t, f.IsRaw()) + assert.False(t, f.IsImage()) + assert.False(t, f.IsVideo()) + assert.False(t, f.IsJSON()) + assert.False(t, f.IsSidecar()) + } + }) + t.Run("iphone_7.json", func(t *testing.T) { + if f, err := NewMediaFile(filepath.Join(c.ExamplesPath(), "iphone_7.json")); err != nil { + t.Fatal(err) + } else { + assert.False(t, f.IsLive(time.Second*3)) + assert.False(t, f.IsRaw()) + assert.False(t, f.IsImage()) + assert.False(t, f.IsVideo()) + assert.True(t, f.IsJSON()) + assert.True(t, f.IsSidecar()) } }) } @@ -1506,77 +1590,77 @@ func TestMediaFile_IsAnimated(t *testing.T) { if f, err := NewMediaFile("testdata/star.avifs"); err != nil { t.Fatal(err) } else { - assert.Equal(t, true, f.IsImage()) - assert.Equal(t, true, f.IsAvifS()) - assert.Equal(t, true, f.IsAnimated()) - assert.Equal(t, false, f.NotAnimated()) - assert.Equal(t, true, f.IsAnimatedImage()) - assert.Equal(t, true, f.ExifSupported()) - assert.Equal(t, false, f.IsVideo()) - assert.Equal(t, false, f.IsGif()) - assert.Equal(t, false, f.IsWebp()) - assert.Equal(t, false, f.IsAvif()) - assert.Equal(t, false, f.IsHeic()) - assert.Equal(t, false, f.IsHeicS()) - assert.Equal(t, false, f.IsSidecar()) + assert.True(t, f.IsImage()) + assert.True(t, f.IsAvifS()) + assert.True(t, f.IsAnimated()) + assert.False(t, f.NotAnimated()) + assert.True(t, f.IsAnimatedImage()) + assert.True(t, f.ExifSupported()) + assert.False(t, f.IsVideo()) + assert.False(t, f.IsGif()) + assert.False(t, f.IsWebp()) + assert.False(t, f.IsAvif()) + assert.False(t, f.IsHeic()) + assert.False(t, f.IsHeicS()) + assert.False(t, f.IsSidecar()) } }) t.Run("windows95.webp", func(t *testing.T) { if f, err := NewMediaFile("testdata/windows95.webp"); err != nil { t.Fatal(err) } else { - assert.Equal(t, true, f.IsImage()) - assert.Equal(t, true, f.IsWebp()) - assert.Equal(t, true, f.IsAnimated()) - assert.Equal(t, false, f.NotAnimated()) - assert.Equal(t, true, f.IsAnimatedImage()) - assert.Equal(t, false, f.ExifSupported()) - assert.Equal(t, false, f.IsVideo()) - assert.Equal(t, false, f.IsGif()) - assert.Equal(t, false, f.IsAvif()) - assert.Equal(t, false, f.IsAvifS()) - assert.Equal(t, false, f.IsHeic()) - assert.Equal(t, false, f.IsHeicS()) - assert.Equal(t, false, f.IsSidecar()) + assert.True(t, f.IsImage()) + assert.True(t, f.IsWebp()) + assert.True(t, f.IsAnimated()) + assert.False(t, f.NotAnimated()) + assert.True(t, f.IsAnimatedImage()) + assert.False(t, f.ExifSupported()) + assert.False(t, f.IsVideo()) + assert.False(t, f.IsGif()) + assert.False(t, f.IsAvif()) + assert.False(t, f.IsAvifS()) + assert.False(t, f.IsHeic()) + assert.False(t, f.IsHeicS()) + assert.False(t, f.IsSidecar()) } }) t.Run("example.gif", func(t *testing.T) { if f, err := NewMediaFile(filepath.Join(c.ExamplesPath(), "example.gif")); err != nil { t.Fatal(err) } else { - assert.Equal(t, true, f.IsImage()) - assert.Equal(t, false, f.IsVideo()) - assert.Equal(t, false, f.IsAnimated()) - assert.Equal(t, true, f.NotAnimated()) - assert.Equal(t, true, f.IsGif()) - assert.Equal(t, false, f.IsAnimatedImage()) - assert.Equal(t, false, f.IsSidecar()) + assert.True(t, f.IsImage()) + assert.False(t, f.IsVideo()) + assert.False(t, f.IsAnimated()) + assert.True(t, f.NotAnimated()) + assert.True(t, f.IsGif()) + assert.False(t, f.IsAnimatedImage()) + assert.False(t, f.IsSidecar()) } }) t.Run("pythagoras.gif", func(t *testing.T) { if f, err := NewMediaFile(filepath.Join(c.ExamplesPath(), "pythagoras.gif")); err != nil { t.Fatal(err) } else { - assert.Equal(t, true, f.IsImage()) - assert.Equal(t, false, f.IsVideo()) - assert.Equal(t, true, f.IsAnimated()) - assert.Equal(t, false, f.NotAnimated()) - assert.Equal(t, true, f.IsGif()) - assert.Equal(t, true, f.IsAnimatedImage()) - assert.Equal(t, false, f.IsSidecar()) + assert.True(t, f.IsImage()) + assert.False(t, f.IsVideo()) + assert.True(t, f.IsAnimated()) + assert.False(t, f.NotAnimated()) + assert.True(t, f.IsGif()) + assert.True(t, f.IsAnimatedImage()) + assert.False(t, f.IsSidecar()) } }) t.Run("christmas.mp4", func(t *testing.T) { if f, err := NewMediaFile(filepath.Join(c.ExamplesPath(), "christmas.mp4")); err != nil { t.Fatal(err) } else { - assert.Equal(t, false, f.IsImage()) - assert.Equal(t, true, f.IsVideo()) - assert.Equal(t, true, f.IsAnimated()) - assert.Equal(t, false, f.NotAnimated()) - assert.Equal(t, false, f.IsGif()) - assert.Equal(t, false, f.IsAnimatedImage()) - assert.Equal(t, false, f.IsSidecar()) + assert.False(t, f.IsImage()) + assert.True(t, f.IsVideo()) + assert.True(t, f.IsAnimated()) + assert.False(t, f.NotAnimated()) + assert.False(t, f.IsGif()) + assert.False(t, f.IsAnimatedImage()) + assert.False(t, f.IsSidecar()) } }) } @@ -2202,7 +2286,7 @@ func TestMediaFile_FileType(t *testing.T) { assert.Equal(t, "png", string(m.FileType())) assert.Equal(t, "image/jpeg", m.MimeType()) assert.Equal(t, "image/jpeg", m.BaseType()) - assert.Equal(t, true, m.HasMimeType("image/jpeg")) + assert.True(t, m.HasMimeType("image/jpeg")) assert.Equal(t, fs.ImagePng, m.FileType()) assert.Equal(t, ".png", m.Extension()) }) @@ -2218,7 +2302,7 @@ func TestMediaFile_FileType(t *testing.T) { assert.False(t, m.IsPng()) assert.Equal(t, "thm", string(m.FileType())) assert.Equal(t, "image/jpeg", m.MimeType()) - assert.Equal(t, true, m.HasMimeType("image/jpeg")) + assert.True(t, m.HasMimeType("image/jpeg")) assert.Equal(t, fs.ImageThumb, m.FileType()) assert.Equal(t, ".thm", m.Extension()) }) diff --git a/internal/photoprism/ytdl/new.go b/internal/photoprism/ytdl/new.go deleted file mode 100644 index 32daa40a4..000000000 --- a/internal/photoprism/ytdl/new.go +++ /dev/null @@ -1,30 +0,0 @@ -package ytdl - -import ( - "context" -) - -// New downloads metadata for URL -func New(ctx context.Context, rawURL string, options Options) (result Result, err error) { - if options.noInfoDownload { - return Result{ - RawURL: rawURL, - Options: options, - }, nil - } - - info, rawJSON, err := infoFromURL(ctx, rawURL, options) - if err != nil { - return Result{}, err - } - - rawJSONCopy := make([]byte, len(rawJSON)) - copy(rawJSONCopy, rawJSON) - - return Result{ - Info: info, - RawURL: rawURL, - RawJSON: rawJSONCopy, - Options: options, - }, nil -} diff --git a/internal/server/routes.go b/internal/server/routes.go index e716ba9c4..0a1a46536 100644 --- a/internal/server/routes.go +++ b/internal/server/routes.go @@ -105,6 +105,8 @@ func registerRoutes(router *gin.Engine, conf *config.Config) { // Photo Search and Organization. api.SearchPhotos(APIv1) api.SearchGeo(APIv1) + api.GetPlacesReverse(APIv1) + api.GetPlacesSearch(APIv1) api.GetPhoto(APIv1) api.GetPhotoYaml(APIv1) api.UpdatePhoto(APIv1) diff --git a/internal/server/routes_sharing.go b/internal/server/routes_sharing.go index 5f3aeab9b..5583fb929 100644 --- a/internal/server/routes_sharing.go +++ b/internal/server/routes_sharing.go @@ -9,6 +9,11 @@ import ( // registerSharingRoutes adds routes for link sharing. func registerSharingRoutes(router *gin.Engine, conf *config.Config) { + // Return if the web user interface is disabled. + if conf.DisableFrontend() { + return + } + s := router.Group(conf.BaseUri("/s")) { api.Shares(s) diff --git a/internal/server/routes_static.go b/internal/server/routes_static.go index 764ff1919..9468c4ab4 100644 --- a/internal/server/routes_static.go +++ b/internal/server/routes_static.go @@ -7,20 +7,12 @@ import ( "github.com/photoprism/photoprism/internal/api" "github.com/photoprism/photoprism/internal/config" + "github.com/photoprism/photoprism/pkg/i18n" "github.com/photoprism/photoprism/pkg/media/http/header" ) // registerStaticRoutes adds routes for serving static content and templates. func registerStaticRoutes(router *gin.Engine, conf *config.Config) { - // Redirects to the login page. - login := func(c *gin.Context) { - if conf.OIDCEnabled() && conf.OIDCRedirect() { - c.Redirect(http.StatusTemporaryRedirect, conf.OIDCLoginUri()) - } else { - c.Redirect(http.StatusTemporaryRedirect, conf.LoginUri()) - } - } - // Control how crawlers index the site by serving a "robots.txt" file in addition // to the "X-Robots-Tag" response header set in the Security middleware: // https://developers.google.com/search/docs/crawling-indexing/robots/create-robots-txt @@ -35,6 +27,24 @@ func registerStaticRoutes(router *gin.Engine, conf *config.Config) { } }) + // Return if the web user interface is disabled. + if conf.DisableFrontend() { + log.Info("frontend: disabled") + router.NoRoute(func(c *gin.Context) { + api.Abort(c, http.StatusNotFound, i18n.ErrNotFound) + }) + return + } + + // Redirects to the login page. + login := func(c *gin.Context) { + if conf.OIDCEnabled() && conf.OIDCRedirect() { + c.Redirect(http.StatusTemporaryRedirect, conf.OIDCLoginUri()) + } else { + c.Redirect(http.StatusTemporaryRedirect, conf.LoginUri()) + } + } + router.Any(conf.BaseUri("/"), login) // Shows "Page Not found" error if no other handler is registered. diff --git a/internal/server/routes_webapp.go b/internal/server/routes_webapp.go index b697d5ce5..2550e7efd 100644 --- a/internal/server/routes_webapp.go +++ b/internal/server/routes_webapp.go @@ -13,6 +13,11 @@ import ( // registerWebAppRoutes adds routes for the web user interface. func registerWebAppRoutes(router *gin.Engine, conf *config.Config) { + // Return if the web user interface is disabled. + if conf.DisableFrontend() { + return + } + // Serve user interface bootstrap template on all routes starting with "/library". ui := func(c *gin.Context) { // Prevent CDNs from caching this endpoint. diff --git a/internal/service/heuristic.go b/internal/service/heuristic.go index 49a8ab23d..14354705f 100644 --- a/internal/service/heuristic.go +++ b/internal/service/heuristic.go @@ -30,7 +30,7 @@ var Heuristics = []Heuristic{ {Type: GPhotos, Domains: []string{"photos.google.com"}, Paths: []string{}, Method: "GET"}, {Type: WebDAV, Domains: []string{}, - Paths: []string{"/", "/webdav/", "/originals/", "/remote.php/dav/files/{user}/", "/remote.php/webdav/", "/dav/files/{user}/", "/servlet/webdav.infostore/"}, + Paths: []string{"/", "/webdav/", "/originals/", "/import/", "/remote.php/dav/files/{user}/", "/remote.php/webdav/", "/dav/files/{user}/", "/servlet/webdav.infostore/"}, Method: "PROPFIND", Headers: Headers{"Depth": "1"}, }, diff --git a/internal/service/hub/config.go b/internal/service/hub/config.go index dbd3a1b9f..fa07bdb65 100644 --- a/internal/service/hub/config.go +++ b/internal/service/hub/config.go @@ -245,9 +245,9 @@ func (c *Config) ReSync(token string) (err error) { // Set user agent. if c.UserAgent != "" { - req.Header.Set("User-Agent", c.UserAgent) + req.Header.Set(header.UserAgent, c.UserAgent) } else { - req.Header.Set("User-Agent", "PhotoPrism/Test") + req.Header.Set(header.UserAgent, "PhotoPrism/Test") } // Add Content-Type header. diff --git a/internal/service/hub/feedback.go b/internal/service/hub/feedback.go index 94b90b697..492d87237 100644 --- a/internal/service/hub/feedback.go +++ b/internal/service/hub/feedback.go @@ -82,12 +82,12 @@ func (c *Config) SendFeedback(frm form.Feedback) (err error) { // Set user agent. if c.UserAgent != "" { - req.Header.Set("User-Agent", c.UserAgent) + req.Header.Set(header.UserAgent, c.UserAgent) } else { - req.Header.Set("User-Agent", "PhotoPrism/Test") + req.Header.Set(header.UserAgent, "PhotoPrism/Test") } - req.Header.Add("Accept-Language", frm.UserLocales) + req.Header.Add(header.AcceptLanguage, frm.UserLocales) req.Header.Add(header.ContentType, header.ContentTypeJson) var r *http.Response diff --git a/internal/service/hub/places/cell.go b/internal/service/hub/places/cell.go new file mode 100644 index 000000000..98a872c6e --- /dev/null +++ b/internal/service/hub/places/cell.go @@ -0,0 +1,90 @@ +package places + +import ( + "encoding/json" + "fmt" + "net/http" + "time" + + "github.com/photoprism/photoprism/pkg/clean" + "github.com/photoprism/photoprism/pkg/geo/s2" +) + +// Cell returns location details based on the specified S2 cell ID. +func Cell(id string, locale string) (result Location, err error) { + + // Normalize S2 Cell ID. + id = s2.NormalizeToken(id) + + // Valid? + if len(id) == 0 { + return result, fmt.Errorf("empty cell id") + } else if n := len(id); n < 4 || n > 16 { + return result, fmt.Errorf("invalid cell id %s", clean.Log(id)) + } + + // Remember start time. + start := time.Now() + + // Convert S2 Cell ID to latitude and longitude. + lat, lng := s2.LatLng(id) + + // Return if latitude and longitude are null. + if lat == 0.0 || lng == 0.0 { + return result, fmt.Errorf("skipping lat %f, lng %f", lat, lng) + } + + // Get request locale. + locale = Locale(locale) + + // Create cache key based on query parameters. + cacheKey := fmt.Sprintf("id:%s:%s", id, locale) + + // Location details cached? + if hit, ok := clientCache.Get(cacheKey); ok { + log.Tracef("places: cache hit for %s [%s]", cacheKey, time.Since(start)) + cached := hit.(Location) + cached.Cached = true + return cached, nil + } + + var r *http.Response + + // Query the specified places service URLs. + for _, serviceUrl := range LocationServiceUrls { + reqUrl := fmt.Sprintf(serviceUrl, id) + if r, err = GetRequest(reqUrl, locale); err == nil { + break + } + } + + // Failed? + if err != nil { + log.Errorf("places: %s (location request failed)", err.Error()) + return result, err + } else if r == nil { + err = fmt.Errorf("location request could not be performed") + return result, err + } else if r.StatusCode >= 400 { + err = fmt.Errorf("location request failed with code %d", r.StatusCode) + return result, err + } + + // Decode JSON response body. + err = json.NewDecoder(r.Body).Decode(&result) + + if err != nil { + log.Errorf("places: %s (decode location failed)", err.Error()) + return result, err + } + + if result.ID == "" { + return result, fmt.Errorf("no location result for %s", id) + } + + clientCache.SetDefault(cacheKey, result) + log.Tracef("places: cached %s [%s]", clean.Log(cacheKey), time.Since(start)) + result.Cached = false + + return result, nil +} diff --git a/internal/service/hub/places/cell_test.go b/internal/service/hub/places/cell_test.go new file mode 100644 index 000000000..94ac41fd8 --- /dev/null +++ b/internal/service/hub/places/cell_test.go @@ -0,0 +1,67 @@ +package places + +import ( + "testing" + + "github.com/stretchr/testify/assert" + + "github.com/photoprism/photoprism/pkg/geo/s2" +) + +func TestCell(t *testing.T) { + t.Run("Success", func(t *testing.T) { + lat := 52.51961810676184 + lng := 13.40806264572578 + id := s2.Token(lat, lng) + + l, err := Cell(id, DefaultLocale) + + if err != nil { + t.Fatal(err) + } + + assert.False(t, l.Cached) + assert.Equal(t, "Berlin", l.City()) + assert.Equal(t, "de", l.CountryCode()) + }) + t.Run("MissingId", func(t *testing.T) { + l, err := Cell("", DefaultLocale) + assert.Error(t, err, "places: invalid location id ") + t.Log(l) + }) + t.Run("WrongId", func(t *testing.T) { + l, err := Cell("2", DefaultLocale) + assert.Error(t, err, "places: skipping lat 0.000000, lng 0.000000") + t.Log(l) + }) + t.Run("ShortId", func(t *testing.T) { + l, err := Cell("ab", DefaultLocale) + assert.Error(t, err, "places: skipping lat 0.000000, lng 0.000000") + t.Log(l) + }) + t.Run("Cached", func(t *testing.T) { + location := Location{ + ID: "1e95998417cc", + LocLat: 52.51961810676184, + LocLng: 13.40806264572578, + LocName: "TestLocation", + LocStreet: "", + LocPostcode: "", + LocCategory: "test", + Place: Place{PlaceID: "1"}, + Cached: true, + } + + l, err := Cell(location.ID, DefaultLocale) + if err != nil { + t.Fatal(err) + } + assert.Equal(t, false, l.Cached) + l2, err2 := Cell("1e95998417cc", DefaultLocale) + + if err2 != nil { + t.Fatal(err2) + } + assert.Equal(t, true, l2.Cached) + }) +} diff --git a/internal/service/hub/places/config.go b/internal/service/hub/places/config.go new file mode 100644 index 000000000..e7218150d --- /dev/null +++ b/internal/service/hub/places/config.go @@ -0,0 +1,33 @@ +package places + +import ( + "time" +) + +// ApiName is the backend API name. +const ApiName = "places" + +// LocationServiceUrls specifies S2 cell location query URLs. +var LocationServiceUrls = []string{ + "https://places.photoprism.app/v1/location/%s", +} + +// ReverseServiceUrls specifies reverse location query URLs. +var ReverseServiceUrls = []string{ + "https://places.photoprism.app/v1/reverse", +} + +// SearchServiceUrls specifies location name query URLs. +var SearchServiceUrls = []string{ + "https://places.photoprism.app/v1/search", +} + +// Retries specifies the number of attempts to retry the service request. +var Retries = 2 + +// RetryDelay specifies the waiting time between retries. +var RetryDelay = 100 * time.Millisecond + +var Key = "f60f5b25d59c397989e3cd374f81cdd7710a4fca" +var Secret = "photoprism" +var UserAgent = "" diff --git a/internal/service/hub/places/errors.go b/internal/service/hub/places/errors.go new file mode 100644 index 000000000..3476301c8 --- /dev/null +++ b/internal/service/hub/places/errors.go @@ -0,0 +1,8 @@ +package places + +import ( + "errors" +) + +var ErrMissingQuery = errors.New("missing query") +var ErrMissingCoordinates = errors.New("missing coordinates") diff --git a/internal/service/hub/places/latlng.go b/internal/service/hub/places/latlng.go new file mode 100644 index 000000000..c83a1e45b --- /dev/null +++ b/internal/service/hub/places/latlng.go @@ -0,0 +1,81 @@ +package places + +import ( + "encoding/json" + "fmt" + "net/http" + "net/url" + "time" + + "github.com/photoprism/photoprism/pkg/clean" + "github.com/photoprism/photoprism/pkg/geo/s2" +) + +// LatLng returns location details based on the specified latitude and longitude. +func LatLng(lat, lng float64, locale string) (result Location, err error) { + if lat == 0.0 || lng == 0.0 { + return result, ErrMissingCoordinates + } + + // Remember start time. + start := time.Now() + + // Generate query parameter string. + values := url.Values{"lat": {fmt.Sprintf("%f", lat)}, "lng": {fmt.Sprintf("%f", lng)}} + params := values.Encode() + + // Get request locale. + locale = Locale(locale) + + // Create cache key based on query parameters. + id := s2.Token(lat, lng) + cacheKey := fmt.Sprintf("id:%s:%s", id, locale) + + // Are location results cached? + if hit, ok := clientCache.Get(cacheKey); ok { + log.Tracef("places: cache hit for %s [%s]", cacheKey, time.Since(start)) + cached := hit.(Location) + cached.Cached = true + return cached, nil + } + + var r *http.Response + + // Query the specified places service URLs. + for _, serviceUrl := range ReverseServiceUrls { + reqUrl := fmt.Sprintf("%s?%s", serviceUrl, params) + if r, err = GetRequest(reqUrl, locale); err == nil { + break + } + } + + // Failed? + if err != nil { + log.Errorf("places: %s (location request failed)", err.Error()) + return result, err + } else if r == nil { + err = fmt.Errorf("location request could not be performed") + return result, err + } else if r.StatusCode >= 400 { + err = fmt.Errorf("location request failed with code %d", r.StatusCode) + return result, err + } + + // Decode JSON response body. + err = json.NewDecoder(r.Body).Decode(&result) + + if err != nil { + log.Errorf("places: %s (decode location result)", err.Error()) + return result, err + } + + if result.ID == "" { + return result, fmt.Errorf("no location result for %s", id) + } + + clientCache.SetDefault(cacheKey, result) + log.Tracef("places: cached %s [%s]", clean.Log(cacheKey), time.Since(start)) + result.Cached = false + + return result, nil +} diff --git a/internal/service/hub/places/latlng_test.go b/internal/service/hub/places/latlng_test.go new file mode 100644 index 000000000..4d37031da --- /dev/null +++ b/internal/service/hub/places/latlng_test.go @@ -0,0 +1,73 @@ +package places + +import ( + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestLatLng(t *testing.T) { + lat := 52.5208 + lng := 13.40953 + + t.Run("Local", func(t *testing.T) { + l, err := LatLng(lat, lng, LocalLocale) + + if err != nil { + t.Fatal(err) + } + + assert.Equal(t, LocalLocale, l.Locale) + assert.Equal(t, "Berliner Fernsehturm", l.Name()) + assert.Equal(t, "Berlin", l.City()) + assert.Equal(t, "de", l.CountryCode()) + }) + t.Run("Englisb", func(t *testing.T) { + l, err := LatLng(lat, lng, "en") + + if err != nil { + t.Fatal(err) + } + + assert.Equal(t, "en", l.Locale) + assert.Equal(t, "Fernsehturm Berlin", l.Name()) + assert.Equal(t, "Berlin", l.City()) + assert.Equal(t, "de", l.CountryCode()) + }) + t.Run("MissingLng", func(t *testing.T) { + l, err := LatLng(1, 0, LocalLocale) + assert.Error(t, err, "places: skipping lat 0.000000, lng 0.000000") + t.Log(l) + }) + t.Run("MissingLat", func(t *testing.T) { + l, err := LatLng(0, 1, LocalLocale) + assert.Error(t, err, "places: skipping lat 0.000000, lng 0.000000") + t.Log(l) + }) + t.Run("Cached", func(t *testing.T) { + location := Location{ + ID: "1e95998417cc", + LocLat: 52.51961810676184, + LocLng: 13.40806264572578, + LocName: "TestLocation", + LocStreet: "", + LocPostcode: "", + LocCategory: "test", + Place: Place{PlaceID: "1"}, + Cached: true, + } + + _, err := LatLng(location.LocLat, location.LocLng, LocalLocale) + + if err != nil { + t.Fatal(err) + } + + cachedLoc, cacheErr := LatLng(location.LocLat, location.LocLng, LocalLocale) + + if cacheErr != nil { + t.Fatal(cacheErr) + } + assert.Equal(t, true, cachedLoc.Cached) + }) +} diff --git a/internal/service/hub/places/locale.go b/internal/service/hub/places/locale.go new file mode 100644 index 000000000..4aa6daaac --- /dev/null +++ b/internal/service/hub/places/locale.go @@ -0,0 +1,16 @@ +package places + +import ( + "github.com/photoprism/photoprism/pkg/clean" +) + +// LocalLocale specifies the locale name to return results in the local language. +const LocalLocale = "local" + +// DefaultLocale specifies the default places query locale. +var DefaultLocale = LocalLocale + +// Locale returns the places query locale string. +func Locale(locale string) string { + return clean.WebLocale(locale, DefaultLocale) +} diff --git a/internal/service/hub/places/location.go b/internal/service/hub/places/location.go index a3956c588..be6a149a6 100644 --- a/internal/service/hub/places/location.go +++ b/internal/service/hub/places/location.go @@ -1,177 +1,31 @@ package places import ( - "crypto/sha1" - "encoding/json" - "fmt" - "net/http" "strings" - "time" "github.com/photoprism/photoprism/pkg/clean" - "github.com/photoprism/photoprism/pkg/geo/s2" "github.com/photoprism/photoprism/pkg/txt" ) // Location represents a specific geolocation identified by its S2 ID. type Location struct { ID string `json:"id"` + Locale string `json:"locale,omitempty"` LocLat float64 `json:"lat"` LocLng float64 `json:"lng"` LocName string `json:"name"` LocStreet string `json:"street"` LocPostcode string `json:"postcode"` + LocCountry string `json:"country,omitempty"` LocCategory string `json:"category"` - Place Place `json:"place"` + TimeZone string `json:"timezone,omitempty"` + Licence string `json:"licence,omitempty"` + Place Place `json:"place,omitempty"` Cached bool `json:"-"` } -// ApiName is the backend API name. -const ApiName = "places" - -// ServiceUrls specifies the reverse geocoding service URLs. -var ServiceUrls = []string{ - "https://places.photoprism.app/v1/location/%s", -} - -// Retries specifies the number of attempts to retry the service request. -var Retries = 2 - -// RetryDelay specifies the waiting time between retries. -var RetryDelay = 100 * time.Millisecond - -var Key = "f60f5b25d59c397989e3cd374f81cdd7710a4fca" -var Secret = "photoprism" -var UserAgent = "" - -// FindLocation retrieves location details from the backend API. -func FindLocation(id string) (result Location, err error) { - - // Normalize S2 Cell ID. - id = s2.NormalizeToken(id) - - // Valid? - if len(id) == 0 { - return result, fmt.Errorf("empty cell id") - } else if n := len(id); n < 4 || n > 16 { - return result, fmt.Errorf("invalid cell id %s", clean.Log(id)) - } - - // Remember start time. - start := time.Now() - - // Convert S2 Cell ID to latitude and longitude. - lat, lng := s2.LatLng(id) - - // Return if latitude and longitude are null. - if lat == 0.0 || lng == 0.0 { - return result, fmt.Errorf("skipping lat %f, lng %f", lat, lng) - } - - // Location details cached? - if hit, ok := clientCache.Get(id); ok { - log.Tracef("places: cache hit for lat %f, lng %f", lat, lng) - cached := hit.(Location) - cached.Cached = true - return cached, nil - } - - var r *http.Response - - // Try all the specified backend service URLs. - for _, serviceUrl := range ServiceUrls { - if r, err = PerformRequest(serviceUrl, id); err == nil { - break - } - } - - // Failed? - if err != nil { - log.Errorf("places: %s (http request failed)", err.Error()) - return result, err - } else if r.StatusCode >= 400 { - err = fmt.Errorf("request failed with code %d", r.StatusCode) - return result, err - } - - // Decode JSON response body. - err = json.NewDecoder(r.Body).Decode(&result) - - if err != nil { - log.Errorf("places: %s (decode json failed)", err.Error()) - return result, err - } - - if result.ID == "" { - return result, fmt.Errorf("no result for %s", id) - } - - clientCache.SetDefault(id, result) - log.Tracef("places: cached cell %s [%s]", clean.Log(id), time.Since(start)) - - result.Cached = false - - return result, nil -} - -// PerformRequest fetches the cell ID data from the service URL. -func PerformRequest(serviceUrl, id string) (r *http.Response, err error) { - var req *http.Request - - // Compose request URL with S2 cell ID. - reqUrl := fmt.Sprintf(serviceUrl, id) - - // Log request URL. - log.Tracef("places: sending request to %s", reqUrl) - - // Create GET request instance. - req, err = http.NewRequest(http.MethodGet, reqUrl, nil) - - // Ok? - if err != nil { - log.Errorf("places: %s", err.Error()) - return r, err - } - - // Set user agent. - if UserAgent != "" { - req.Header.Set("User-Agent", UserAgent) - } else { - req.Header.Set("User-Agent", "PhotoPrism/Test") - } - - // Add API key? - if Key != "" { - req.Header.Set("X-Key", Key) - req.Header.Set("X-Signature", fmt.Sprintf("%x", sha1.Sum([]byte(Key+reqUrl+Secret)))) - } - - // Create new http.Client. - // - // NOTE: Timeout specifies a time limit for requests made by - // this Client. The timeout includes connection time, any - // redirects, and reading the response body. The timer remains - // running after Get, Head, Post, or Do return and will - // interrupt reading of the Response.Body. - client := &http.Client{Timeout: 60 * time.Second} - - // Perform request. - for i := 0; i < Retries; i++ { - r, err = client.Do(req) - - // Ok? - if err == nil { - return r, nil - } - - // Wait before trying again? - if RetryDelay.Nanoseconds() > 0 { - time.Sleep(RetryDelay) - } - } - - return r, err -} +// Locations represents a set of locations. +type Locations = []Location // CellID returns the S2 cell identifier string. func (l Location) CellID() string { @@ -220,6 +74,10 @@ func (l Location) District() (result string) { // CountryCode returns the location address country code. func (l Location) CountryCode() (result string) { + if l.LocCountry != "" && l.LocCountry != "zz" { + return l.LocCountry + } + return l.Place.LocCountry } diff --git a/internal/service/hub/places/location_test.go b/internal/service/hub/places/location_test.go index 91516171a..4d7f81c32 100644 --- a/internal/service/hub/places/location_test.go +++ b/internal/service/hub/places/location_test.go @@ -4,68 +4,8 @@ import ( "testing" "github.com/stretchr/testify/assert" - - "github.com/photoprism/photoprism/pkg/geo/s2" ) -func TestFindLocation(t *testing.T) { - t.Run("U Berliner Rathaus", func(t *testing.T) { - lat := 52.51961810676184 - lng := 13.40806264572578 - id := s2.Token(lat, lng) - - l, err := FindLocation(id) - - if err != nil { - t.Fatal(err) - } - - assert.False(t, l.Cached) - assert.Equal(t, "Berlin", l.City()) - assert.Equal(t, "de", l.CountryCode()) - }) - t.Run("wrong id", func(t *testing.T) { - l, err := FindLocation("2") - assert.Error(t, err, "places: skipping lat 0.000000, lng 0.000000") - t.Log(l) - }) - t.Run("short id", func(t *testing.T) { - l, err := FindLocation("ab") - assert.Error(t, err, "places: skipping lat 0.000000, lng 0.000000") - t.Log(l) - }) - t.Run("invalid id", func(t *testing.T) { - l, err := FindLocation("") - assert.Error(t, err, "places: invalid location id ") - t.Log(l) - }) - t.Run("cached true", func(t *testing.T) { - location := Location{ - ID: "1e95998417cc", - LocLat: 52.51961810676184, - LocLng: 13.40806264572578, - LocName: "TestLocation", - LocStreet: "", - LocPostcode: "", - LocCategory: "test", - Place: Place{PlaceID: "1"}, - Cached: true, - } - - l, err := FindLocation(location.ID) - if err != nil { - t.Fatal(err) - } - assert.Equal(t, false, l.Cached) - l2, err2 := FindLocation("1e95998417cc") - - if err2 != nil { - t.Fatal(err2) - } - assert.Equal(t, true, l2.Cached) - }) -} - func TestLocationGetters(t *testing.T) { location := Location{ ID: "1e95998417cc", diff --git a/internal/service/hub/places/place.go b/internal/service/hub/places/place.go index dac75b3ac..e463de601 100644 --- a/internal/service/hub/places/place.go +++ b/internal/service/hub/places/place.go @@ -4,9 +4,9 @@ package places type Place struct { PlaceID string `json:"id"` LocLabel string `json:"label"` - LocDistrict string `json:"district"` - LocCity string `json:"city"` - LocState string `json:"state"` + LocDistrict string `json:"district,omitempty"` + LocCity string `json:"city,omitempty"` + LocState string `json:"state,omitempty"` LocCountry string `json:"country"` - LocKeywords string `json:"keywords"` + LocKeywords string `json:"keywords,omitempty"` } diff --git a/internal/service/hub/places/request.go b/internal/service/hub/places/request.go new file mode 100644 index 000000000..170021226 --- /dev/null +++ b/internal/service/hub/places/request.go @@ -0,0 +1,71 @@ +package places + +import ( + "crypto/sha1" + "fmt" + "net/http" + "time" + + "github.com/photoprism/photoprism/pkg/media/http/header" +) + +// GetRequest fetches the cell ID data from the service URL. +func GetRequest(reqUrl string, locale string) (r *http.Response, err error) { + var req *http.Request + + // Log request URL. + log.Tracef("places: sending request to %s", reqUrl) + + // Create GET request instance. + req, err = http.NewRequest(http.MethodGet, reqUrl, nil) + + // Ok? + if err != nil { + log.Errorf("places: %s", err.Error()) + return r, err + } + + // Set user agent. + if UserAgent != "" { + req.Header.Set(header.UserAgent, UserAgent) + } else { + req.Header.Set(header.UserAgent, "PhotoPrism/Test") + } + + // Set requested result locale. + if locale != "" { + req.Header.Set(header.AcceptLanguage, locale) + } + + // Add API key? + if Key != "" { + req.Header.Set("X-Key", Key) + req.Header.Set("X-Signature", fmt.Sprintf("%x", sha1.Sum([]byte(Key+reqUrl+Secret)))) + } + + // Create new http.Client. + // + // NOTE: Timeout specifies a time limit for requests made by + // this Client. The timeout includes connection time, any + // redirects, and reading the response body. The timer remains + // running after GetRequest, Head, Post, or Do return and will + // interrupt reading of the Response.Body. + client := &http.Client{Timeout: 60 * time.Second} + + // Perform request. + for i := 0; i < Retries; i++ { + r, err = client.Do(req) + + // Ok? + if err == nil { + return r, nil + } + + // Wait before trying again? + if RetryDelay.Nanoseconds() > 0 { + time.Sleep(RetryDelay) + } + } + + return r, err +} diff --git a/internal/service/hub/places/search.go b/internal/service/hub/places/search.go new file mode 100644 index 000000000..fa7306160 --- /dev/null +++ b/internal/service/hub/places/search.go @@ -0,0 +1,83 @@ +package places + +import ( + "encoding/json" + "fmt" + "net/http" + "net/url" + "strconv" + "time" + + "github.com/photoprism/photoprism/pkg/clean" +) + +// Search finds and returns matching locations based on the specified query string. +func Search(q, locale string, count int) (results SearchResults, err error) { + q = clean.SearchString(q) + locale = clean.WebLocale(locale, "en") + + if q == "" { + return results, ErrMissingQuery + } + + if count <= 0 { + count = 10 + } else if count > 50 { + count = 50 + } + + // Remember start time. + start := time.Now() + + // Generate query parameter string. + values := url.Values{"q": {q}, "count": {strconv.Itoa(count)}} + params := values.Encode() + + // Get request locale. + locale = Locale(locale) + + // Create cache key based on query parameters. + cacheKey := fmt.Sprintf("search:%s:%s", params, locale) + + // Are location results cached? + if hit, ok := clientCache.Get(cacheKey); ok { + log.Tracef("places: cache hit for %s [%s]", cacheKey, time.Since(start)) + cached := hit.(SearchResults) + return cached, nil + } + + var r *http.Response + + // Query the specified places service URLs. + for _, serviceUrl := range SearchServiceUrls { + reqUrl := fmt.Sprintf("%s?%s", serviceUrl, params) + if r, err = GetRequest(reqUrl, locale); err == nil { + break + } + } + + // Failed? + if err != nil { + log.Errorf("places: %s (search request failed)", err.Error()) + return results, err + } else if r == nil { + err = fmt.Errorf("search request could not be performed") + return results, err + } else if r.StatusCode >= 400 { + err = fmt.Errorf("search request failed with code %d", r.StatusCode) + return results, err + } + + // Decode JSON response body. + err = json.NewDecoder(r.Body).Decode(&results) + + if err != nil { + log.Errorf("places: %s (decode search results)", err.Error()) + return results, err + } + + clientCache.SetDefault(cacheKey, results) + log.Tracef("places: cached %s [%s]", clean.Log(cacheKey), time.Since(start)) + + return results, nil +} diff --git a/internal/service/hub/places/search_result.go b/internal/service/hub/places/search_result.go new file mode 100644 index 000000000..4314c99ba --- /dev/null +++ b/internal/service/hub/places/search_result.go @@ -0,0 +1,15 @@ +package places + +type SearchResult struct { + Id string `json:"id"` + Name string `json:"name,omitempty"` + City string `json:"city,omitempty"` + Country string `json:"country"` + Lat float64 `json:"lat"` + Lng float64 `json:"lng"` + BoundingBox []float64 `json:"bbox,omitempty"` + Importance float64 `json:"importance,omitempty"` + Licence string `json:"licence,omitempty"` +} + +type SearchResults = []SearchResult diff --git a/internal/service/hub/places/search_test.go b/internal/service/hub/places/search_test.go new file mode 100644 index 000000000..b5c38de73 --- /dev/null +++ b/internal/service/hub/places/search_test.go @@ -0,0 +1,60 @@ +package places + +import ( + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestSearch(t *testing.T) { + lat, lng := 52.5108869, 13.398947 + + t.Run("Success", func(t *testing.T) { + l, err := Search("Berlin", "de", 10) + + if err != nil { + t.Fatal(err) + } + + assert.Len(t, l, 1) + + if len(l) > 0 { + assert.Equal(t, "Berlin", l[0].City) + assert.Equal(t, "de", l[0].Country) + assert.Equal(t, lat, l[0].Lat) + assert.Equal(t, lng, l[0].Lng) + } + }) + t.Run("MissingQuery", func(t *testing.T) { + l, err := Search("", "", 10) + assert.Len(t, l, 0) + assert.Error(t, err, "places: invalid location id ") + }) + t.Run("Cached", func(t *testing.T) { + l, err := Search("Berlin, Deutschland", "de", 10) + if err != nil { + t.Fatal(err) + } + assert.Len(t, l, 1) + + if len(l) > 0 { + assert.Equal(t, "Berlin", l[0].City) + assert.Equal(t, "de", l[0].Country) + assert.Equal(t, lat, l[0].Lat) + assert.Equal(t, lng, l[0].Lng) + } + + l, err = Search("Berlin, Deutschland", "de", 10) + + if err != nil { + t.Fatal(err) + } + + assert.Len(t, l, 1) + + if len(l) > 0 { + assert.Equal(t, "Berlin", l[0].City) + assert.Equal(t, "de", l[0].Country) + } + }) +} diff --git a/internal/service/maps/location.go b/internal/service/maps/location.go index 797c79239..1ec4a1c36 100644 --- a/internal/service/maps/location.go +++ b/internal/service/maps/location.go @@ -52,7 +52,7 @@ func (l *Location) QueryApi(api string) error { } func (l *Location) QueryPlaces() error { - s, err := places.FindLocation(l.ID) + s, err := places.Cell(l.ID, places.DefaultLocale) if err != nil { return err diff --git a/internal/thumb/names.go b/internal/thumb/names.go index f00d6d349..479ebcfc5 100644 --- a/internal/thumb/names.go +++ b/internal/thumb/names.go @@ -80,6 +80,13 @@ func Find(pixels int) (name Name, size Size) { // Vision returns a suitable tile size for computer vision applications. func Vision(resolution int) (size Size) { + // If specifically requested, return the 720x720 fit size, + // which should always exist. + if resolution == SizeFit720.Width { + return SizeFit720 + } + + // Check existing tile sizes. for _, size = range All { if size.Height != size.Width { continue @@ -92,5 +99,7 @@ func Vision(resolution int) (size Size) { } } + // If no other size matches, + // return the default size. return SizeTile224 } diff --git a/internal/workers/vision.go b/internal/workers/vision.go index faec978b3..3173ddfeb 100644 --- a/internal/workers/vision.go +++ b/internal/workers/vision.go @@ -40,7 +40,7 @@ func (w *Vision) originalsPath() string { } // Start runs the specified model types for the photos that match the search query. -func (w *Vision) Start(q string, models []string, force bool) (err error) { +func (w *Vision) Start(q string, models []string, customSrc string, force bool) (err error) { defer func() { if r := recover(); r != nil { err = fmt.Errorf("vision: %s (worker panic)\nstack: %s", r, debug.Stack()) @@ -68,6 +68,15 @@ func (w *Vision) Start(q string, models []string, force bool) (err error) { log.Infof("vision: running %s models", strings.Join(models, " and ")) } + // Source type for AI generated data. + var dataSrc string + + if customSrc = clean.ShortTypeLower(customSrc); customSrc != "" { + dataSrc = customSrc + } else { + dataSrc = entity.SrcImage + } + // Check time when worker was last executed. updateIndex := false @@ -128,6 +137,7 @@ func (w *Vision) Start(q string, models []string, force bool) (err error) { changed := false + // Generate labels. if updateLabels && (len(m.Labels) == 0 || force) { if labels := ind.Labels(file); len(labels) > 0 { m.AddLabels(labels) @@ -135,6 +145,7 @@ func (w *Vision) Start(q string, models []string, force bool) (err error) { } } + // Detect NSFW content. if updateNsfw && (!photo.PhotoPrivate || force) { if isNsfw := ind.IsNsfw(file); photo.PhotoPrivate != isNsfw { photo.PhotoPrivate = isNsfw @@ -143,19 +154,15 @@ func (w *Vision) Start(q string, models []string, force bool) (err error) { } } - if updateCaptions && (m.PhotoCaption == "" || force) { + // Generate a caption if none exists or the force flag is used, + // and only if no caption was set or removed by a higher-priority source. + if updateCaptions && entity.SrcPriority[dataSrc] >= entity.SrcPriority[m.CaptionSrc] && (m.NoCaption() || force) { if caption, captionErr := ind.Caption(file); captionErr != nil { log.Warnf("vision: %s in %s (generate caption)", clean.Error(captionErr), photoName) - } else if caption.Text != "" { - if caption.Source == "" { - caption.Source = entity.SrcImage - } - - if (entity.SrcPriority[caption.Source] > entity.SrcPriority[m.CaptionSrc]) || !m.HasCaption() { - m.SetCaption(caption.Text, caption.Source) - changed = true - log.Infof("vision: changed caption of %s to %s", photoName, clean.Log(m.PhotoCaption)) - } + } else if caption.Text = strings.TrimSpace(caption.Text); caption.Text != "" { + m.SetCaption(caption.Text, dataSrc) + changed = true + log.Infof("vision: changed caption of %s to %s", photoName, clean.Log(m.PhotoCaption)) } } diff --git a/pkg/clean/locale.go b/pkg/clean/locale.go index ef14596b9..3db2a2d69 100644 --- a/pkg/clean/locale.go +++ b/pkg/clean/locale.go @@ -19,3 +19,27 @@ func Locale(locale, defaultLocale string) string { return defaultLocale } + +// PosixLocale returns the normalized locale string in POSIX format with underscore, or the default locale otherwise. +// See https://en.wikipedia.org/wiki/Locale_(computer_software) for details. +func PosixLocale(locale, defaultLocale string) string { + return Locale(locale, defaultLocale) +} + +// WebLocale returns a normalized locale string in BCP 47 format with a dash, or the default locale otherwise. +// See https://en.wikipedia.org/wiki/Locale_(computer_software) for details. +func WebLocale(locale, defaultLocale string) string { + if locale == "" { + return defaultLocale + } + + locale, _, _ = strings.Cut(strings.Replace(locale, "_", "-", 1), ".") + + if l := len(locale); l == 2 { + return strings.ToLower(locale) + } else if l == 5 && locale[2] == '-' { + return strings.ToLower(locale[:2]) + "-" + strings.ToUpper(locale[3:]) + } + + return defaultLocale +} diff --git a/pkg/clean/locale_test.go b/pkg/clean/locale_test.go index 0c5fbec39..c7c9ce8be 100644 --- a/pkg/clean/locale_test.go +++ b/pkg/clean/locale_test.go @@ -30,3 +30,67 @@ func TestLocale(t *testing.T) { assert.Equal(t, "und", Locale("cs-CZX", "und")) }) } + +func TestPosixLocale(t *testing.T) { + t.Run("Empty", func(t *testing.T) { + assert.Equal(t, "", PosixLocale("", "")) + assert.Equal(t, "de", PosixLocale("", "de")) + assert.Equal(t, "und", PosixLocale("", "und")) + }) + t.Run("Language", func(t *testing.T) { + assert.Equal(t, "de", PosixLocale("de", "")) + assert.Equal(t, "", PosixLocale("und", "")) + assert.Equal(t, "de", PosixLocale("und", "de")) + assert.Equal(t, "cs", PosixLocale("cs", "und")) + }) + t.Run("Local", func(t *testing.T) { + assert.Equal(t, "local", PosixLocale("", "local")) + assert.Equal(t, "Local", PosixLocale("", "Local")) + assert.Equal(t, "", PosixLocale("local", "")) + assert.Equal(t, "", PosixLocale("Local", "")) + assert.Equal(t, "local", PosixLocale("local", "local")) + }) + t.Run("Territory", func(t *testing.T) { + assert.Equal(t, "cs_CZ", PosixLocale("cs_CZ", "")) + assert.Equal(t, "cs_CZ", PosixLocale("cs-CZ", "")) + assert.Equal(t, "cs_CZ", PosixLocale("cs_cz", "")) + assert.Equal(t, "cs_CZ", PosixLocale("cs-cz", "")) + assert.Equal(t, "cs_CZ", PosixLocale("Cs_cz", "")) + assert.Equal(t, "cs_CZ", PosixLocale("Cs-cz", "")) + assert.Equal(t, "cs_CZ", PosixLocale("cs_CZ", "und")) + assert.Equal(t, "cs_CZ", PosixLocale("cs-CZ", "und")) + assert.Equal(t, "und", PosixLocale("cs-CZX", "und")) + }) +} + +func TestWebLocale(t *testing.T) { + t.Run("Empty", func(t *testing.T) { + assert.Equal(t, "", WebLocale("", "")) + assert.Equal(t, "de", WebLocale("", "de")) + assert.Equal(t, "und", WebLocale("", "und")) + }) + t.Run("Language", func(t *testing.T) { + assert.Equal(t, "de", WebLocale("de", "")) + assert.Equal(t, "", WebLocale("und", "")) + assert.Equal(t, "de", WebLocale("und", "de")) + assert.Equal(t, "cs", WebLocale("cs", "und")) + }) + t.Run("Local", func(t *testing.T) { + assert.Equal(t, "local", WebLocale("", "local")) + assert.Equal(t, "Local", WebLocale("", "Local")) + assert.Equal(t, "", WebLocale("local", "")) + assert.Equal(t, "", WebLocale("Local", "")) + assert.Equal(t, "local", WebLocale("local", "local")) + }) + t.Run("Territory", func(t *testing.T) { + assert.Equal(t, "cs-CZ", WebLocale("cs-CZ", "")) + assert.Equal(t, "cs-CZ", WebLocale("cs_CZ", "")) + assert.Equal(t, "cs-CZ", WebLocale("cs-cz", "")) + assert.Equal(t, "cs-CZ", WebLocale("cs_cz", "")) + assert.Equal(t, "cs-CZ", WebLocale("Cs-cz", "")) + assert.Equal(t, "cs-CZ", WebLocale("Cs_cz", "")) + assert.Equal(t, "cs-CZ", WebLocale("cs-CZ", "und")) + assert.Equal(t, "cs-CZ", WebLocale("cs_CZ", "und")) + assert.Equal(t, "und", WebLocale("cs_CZX", "und")) + }) +} diff --git a/pkg/fs/file_exts.go b/pkg/fs/file_exts.go index 1c6a3892e..ecaaa3a2d 100644 --- a/pkg/fs/file_exts.go +++ b/pkg/fs/file_exts.go @@ -155,8 +155,11 @@ var Extensions = FileExtensions{ ".flv": VideoFlash, ".f4v": VideoFlash, ".mkv": VideoMkv, - ".mts": VideoAvcHD, - ".m2ts": VideoBDAV, + ".ts": VideoM2TS, + ".m2t": VideoM2TS, + ".m2ts": VideoM2TS, + ".mp2t": VideoM2TS, + ".mts": VideoAVCHD, ".ogv": VideoTheora, ".ogg": VideoTheora, ".ogx": VideoTheora, diff --git a/pkg/fs/file_info.go b/pkg/fs/file_info.go index ba2ea6f4e..b171c6ed5 100644 --- a/pkg/fs/file_info.go +++ b/pkg/fs/file_info.go @@ -51,8 +51,8 @@ var TypeInfo = TypeMap{ VideoMkv: "Matroska Multimedia Container", VideoMpeg: "Moving Picture Experts Group (MPEG)", VideoMjpeg: "Motion JPEG", - VideoAvcHD: "Advanced Video Coding High Definition (AVCHD)", - VideoBDAV: "Blu-ray MPEG-2 Transport Stream", + VideoM2TS: "MPEG-2 Transport Stream (M2TS)", + VideoAVCHD: "Advanced Video Coding High Definition (AVCHD)", VideoTheora: "Ogg Media (OGG)", SidecarXMP: "Adobe Extensible Metadata Platform", SidecarAppleXml: "Apple Image Edits XML", diff --git a/pkg/fs/file_type.go b/pkg/fs/file_type.go index 44fdc4793..842424bbc 100644 --- a/pkg/fs/file_type.go +++ b/pkg/fs/file_type.go @@ -96,8 +96,8 @@ func (t Type) FindFirst(fileName string, dirs []string, baseDir string, stripSeq fileBaseLower := strings.ToLower(fileBasePrefix) fileBaseUpper := strings.ToUpper(fileBasePrefix) - fileDir := filepath.Dir(fileName) - search := append([]string{fileDir}, dirs...) + filePath := filepath.Dir(fileName) + search := append([]string{filePath}, dirs...) for _, ext := range FileTypes[t] { lastDir := "" @@ -109,11 +109,11 @@ func (t Type) FindFirst(fileName string, dirs []string, baseDir string, stripSeq lastDir = dir - if dir != fileDir { + if dir != filePath { if filepath.IsAbs(dir) { - dir = filepath.Join(dir, RelName(fileDir, baseDir)) + dir = filepath.Join(dir, RelName(filePath, baseDir)) } else { - dir = filepath.Join(fileDir, dir) + dir = filepath.Join(filePath, dir) } } @@ -145,8 +145,8 @@ func (t Type) FindAll(fileName string, dirs []string, baseDir string, stripSeque fileBaseLower := strings.ToLower(fileBasePrefix) fileBaseUpper := strings.ToUpper(fileBasePrefix) - fileDir := filepath.Dir(fileName) - search := append([]string{fileDir}, dirs...) + filePath := filepath.Dir(fileName) + search := append([]string{filePath}, dirs...) for _, ext := range FileTypes[t] { lastDir := "" @@ -158,11 +158,11 @@ func (t Type) FindAll(fileName string, dirs []string, baseDir string, stripSeque lastDir = dir - if dir != fileDir { + if dir != filePath { if filepath.IsAbs(dir) { - dir = filepath.Join(dir, RelName(fileDir, baseDir)) + dir = filepath.Join(dir, RelName(filePath, baseDir)) } else { - dir = filepath.Join(fileDir, dir) + dir = filepath.Join(filePath, dir) } } diff --git a/pkg/fs/file_types.go b/pkg/fs/file_types.go index bd4dd6813..1158fe456 100644 --- a/pkg/fs/file_types.go +++ b/pkg/fs/file_types.go @@ -87,8 +87,8 @@ const ( Video3GP Type = "3gp" // Mobile Multimedia Container, MPEG-4 Part 12 Video3G2 Type = "3g2" // Similar to 3GP, consumes less space & bandwidth VideoFlash Type = "flv" // Flash Video - VideoAvcHD Type = "mts" // AVCHD (Advanced Video Coding High Definition) - VideoBDAV Type = "m2ts" // Blu-ray MPEG-2 Transport Stream + VideoM2TS Type = "m2t" // MPEG-2 Transport Stream (M2TS) + VideoAVCHD Type = "mts" // AVCHD (Advanced Video Coding High Definition) VideoTheora Type = "ogv" // Ogg container format maintained by the Xiph.Org, free and open VideoASF Type = "asf" // Advanced Systems/Streaming Format (ASF) VideoAVI Type = "avi" // Microsoft Audio Video Interleave (AVI) diff --git a/pkg/fs/mime.go b/pkg/fs/mime.go index 13fa0d274..f488d650a 100644 --- a/pkg/fs/mime.go +++ b/pkg/fs/mime.go @@ -29,6 +29,9 @@ func MimeType(filename string) (mimeType string) { // Determine mime type based on the extension for the following // formats, which otherwise cannot be reliably distinguished: switch fileType { + // MPEG-2 Transport Stream + case VideoM2TS, VideoAVCHD: + return header.ContentTypeM2TS // Apple QuickTime Container case VideoMov: return header.ContentTypeMov diff --git a/pkg/geo/latlng/latlng.go b/pkg/geo/latlng/latlng.go new file mode 100644 index 000000000..683e705c1 --- /dev/null +++ b/pkg/geo/latlng/latlng.go @@ -0,0 +1,25 @@ +/* +Package latlng provides latitude and longitude functions and constants. + +Copyright (c) 2018 - 2025 PhotoPrism UG. All rights reserved. + + This program is free software: you can redistribute it and/or modify + it under Version 3 of the GNU Affero General Public License (the "AGPL"): + + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + The AGPL is supplemented by our Trademark and Brand Guidelines, + which describe how our Brand Assets may be used: + + +Feel free to send an email to hello@photoprism.app if you have questions, +want to support our work, or just want to say hello. + +Additional information can be found in our Developer Guide: + +*/ +package latlng diff --git a/pkg/geo/latlng/round.go b/pkg/geo/latlng/round.go new file mode 100644 index 000000000..43da58347 --- /dev/null +++ b/pkg/geo/latlng/round.go @@ -0,0 +1,15 @@ +package latlng + +import "math" + +var RoundDecimals = float64(10000000) + +// Round rounds the given coordinate to six decimal places. +func Round(c float64) float64 { + return math.Round(c*RoundDecimals) / RoundDecimals +} + +// RoundCoords rounds the given latitude and longitude to six decimal places. +func RoundCoords(lat, lng float64) (float64, float64) { + return Round(lat), Round(lng) +} diff --git a/pkg/geo/latlng/round_test.go b/pkg/geo/latlng/round_test.go new file mode 100644 index 000000000..313f25ba2 --- /dev/null +++ b/pkg/geo/latlng/round_test.go @@ -0,0 +1,22 @@ +package latlng + +import ( + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestRound(t *testing.T) { + t.Run("Germany", func(t *testing.T) { + assert.Equal(t, 48.5634483, Round(48.56344833333333)) + assert.Equal(t, 8.9968783, Round(8.996878333333333)) + }) +} + +func TestRoundCoords(t *testing.T) { + t.Run("Germany", func(t *testing.T) { + lat, lng := RoundCoords(48.56344833333333, 8.996878333333333) + assert.Equal(t, 48.5634483, lat) + assert.Equal(t, 8.9968783, lng) + }) +} diff --git a/pkg/geo/s2/s2_test.go b/pkg/geo/s2/s2_test.go index 88bf97783..3f2ba55eb 100644 --- a/pkg/geo/s2/s2_test.go +++ b/pkg/geo/s2/s2_test.go @@ -177,8 +177,8 @@ func TestLevel(t *testing.T) { func TestLatLng(t *testing.T) { t.Run("Valid", func(t *testing.T) { lat, lng := LatLng("4799e370ca54c8b9") - assert.Equal(t, 48.56344835921243, lat) - assert.Equal(t, 8.996878323369781, lng) + assert.Equal(t, 48.5634484, lat) + assert.Equal(t, 8.9968783, lng) }) t.Run("Invalid", func(t *testing.T) { diff --git a/pkg/geo/s2/token.go b/pkg/geo/s2/token.go index efd5f9978..42026ac96 100644 --- a/pkg/geo/s2/token.go +++ b/pkg/geo/s2/token.go @@ -2,6 +2,8 @@ package s2 import ( gs2 "github.com/golang/geo/s2" + + "github.com/photoprism/photoprism/pkg/geo/latlng" ) // IsZero returns true if the coordinates are both empty. @@ -32,7 +34,7 @@ func TokenLevel(lat, lng float64, level int) string { return gs2.CellIDFromLatLng(l).Parent(level).ToToken() } -// LatLng returns the coordinates for a S2 cell token. +// LatLng returns the rounded coordinates for a S2 cell token. func LatLng(token string) (lat, lng float64) { token = NormalizeToken(token) @@ -48,5 +50,5 @@ func LatLng(token string) (lat, lng float64) { l := cell.LatLng() - return l.Lat.Degrees(), l.Lng.Degrees() + return latlng.Round(l.Lat.Degrees()), latlng.Round(l.Lng.Degrees()) } diff --git a/pkg/media/filename.go b/pkg/media/filename.go index 3104e8e79..8199fa86c 100644 --- a/pkg/media/filename.go +++ b/pkg/media/filename.go @@ -21,5 +21,5 @@ func FromName(fileName string) Type { // MainFile checks if the filename belongs to a main content type. func MainFile(fileName string) bool { - return FromName(fileName).Main() + return FromName(fileName).IsMain() } diff --git a/pkg/media/formats.go b/pkg/media/formats.go index e42258e26..f27400e51 100644 --- a/pkg/media/formats.go +++ b/pkg/media/formats.go @@ -56,8 +56,8 @@ var Formats = map[fs.Type]Type{ fs.Video3GP: Video, fs.Video3G2: Video, fs.VideoFlash: Video, - fs.VideoAvcHD: Video, - fs.VideoBDAV: Video, + fs.VideoM2TS: Video, + fs.VideoAVCHD: Video, fs.VideoTheora: Video, fs.VideoASF: Video, fs.VideoWMV: Video, diff --git a/pkg/media/http/header/content.go b/pkg/media/http/header/content.go index bcc35070f..3b396be22 100644 --- a/pkg/media/http/header/content.go +++ b/pkg/media/http/header/content.go @@ -9,6 +9,7 @@ const ( ContentType = "Content-Type" ContentDisposition = "Content-Disposition" ContentEncoding = "Content-Encoding" + ContentLanguage = "Content-Language" ContentLength = "Content-Length" ContentRange = "Content-Range" Location = "Location" diff --git a/pkg/media/http/header/content_test.go b/pkg/media/http/header/content_test.go index dd88cc3a1..6c5155f66 100644 --- a/pkg/media/http/header/content_test.go +++ b/pkg/media/http/header/content_test.go @@ -16,6 +16,7 @@ func TestContent(t *testing.T) { assert.Equal(t, "Content-Type", ContentType) assert.Equal(t, "Content-Disposition", ContentDisposition) assert.Equal(t, "Content-Encoding", ContentEncoding) + assert.Equal(t, "Content-Language", ContentLanguage) assert.Equal(t, "Content-Length", ContentLength) assert.Equal(t, "Content-Range", ContentRange) assert.Equal(t, "Location", Location) diff --git a/pkg/media/http/header/content_types.go b/pkg/media/http/header/content_types.go index a857cb31d..e733cc6b8 100644 --- a/pkg/media/http/header/content_types.go +++ b/pkg/media/http/header/content_types.go @@ -23,6 +23,7 @@ import ( // Standard ContentType strings for audio and video files: const ( + ContentTypeM2TS = "video/mp2t" ContentTypeM4v = "video/x-m4v" ContentTypeMp4 = "video/mp4" ContentTypeMp4Avc = ContentTypeMp4 + "; codecs=\"avc1\"" // MPEG-4 AVC (H.264) @@ -95,16 +96,17 @@ const ( // Standard ContentType strings for markup and sidecar files. const ( - ContentTypeBinary = "application/octet-stream" - ContentTypeForm = "application/x-www-form-urlencoded" - ContentTypeMultipart = "multipart/form-data" - ContentTypeJson = "application/json" - ContentTypeJsonUtf8 = "application/json; charset=utf-8" - ContentTypeXml = "text/xml" - ContentTypeHtml = "text/html; charset=utf-8" - ContentTypeText = "text/plain; charset=utf-8" - ContentTypePDF = "application/pdf" - ContentTypeZip = "application/zip" + ContentTypeBinary = "application/octet-stream" + ContentTypeForm = "application/x-www-form-urlencoded" + ContentTypeMultipart = "multipart/form-data" + ContentTypeJson = "application/json" + ContentTypeJsonUtf8 = "application/json; charset=utf-8" + ContentTypeXml = "text/xml" + ContentTypeHtml = "text/html; charset=utf-8" + ContentTypeText = "text/plain; charset=utf-8" + ContentTypePDF = "application/pdf" + ContentTypeZip = "application/zip" + ContentTypePrometheus = "text/plain; version=0.0.4" ) // HasContentType checks weather the Content-Type header has the specified type. diff --git a/pkg/media/http/header/request.go b/pkg/media/http/header/request.go index 892e47691..36b56daaa 100644 --- a/pkg/media/http/header/request.go +++ b/pkg/media/http/header/request.go @@ -11,6 +11,7 @@ const ( Browser = "Sec-Ch-Ua" Platform = "Sec-Ch-Ua-Platform" FetchMode = "Sec-Fetch-Mode" + UserAgent = "User-Agent" ) // Standard IP addresses and placeholders. @@ -36,8 +37,9 @@ func ClientIP(c *gin.Context) (ip string) { return UnknownIP } -// UserAgent returns the user agent from the request context or an empty string if it is unknown. -func UserAgent(c *gin.Context) string { +// ClientUserAgent returns the client user agent string +// from the request context, or an empty string if unknown. +func ClientUserAgent(c *gin.Context) string { if c == nil { // Should never happen. return "" diff --git a/pkg/media/http/header/request_test.go b/pkg/media/http/header/request_test.go index 7367b48ac..e4064ea4d 100644 --- a/pkg/media/http/header/request_test.go +++ b/pkg/media/http/header/request_test.go @@ -32,7 +32,7 @@ func TestRequest(t *testing.T) { Cookie: []string{"CockpitLang=en-us; Foo=Bar"}, }, } - assert.Equal(t, "TEST", UserAgent(c)) + assert.Equal(t, "TEST", ClientUserAgent(c)) assert.Equal(t, "\"Chromium\";v=\"130\", \"Google Chrome\";v=\"130\", \"Not?A_Brand\";v=\"99\"", c.GetHeader(Browser)) assert.Equal(t, "\"Linux\"", c.GetHeader(Platform)) assert.Equal(t, "navigate", c.GetHeader(FetchMode)) diff --git a/pkg/media/live.go b/pkg/media/live.go new file mode 100644 index 000000000..542067cfc --- /dev/null +++ b/pkg/media/live.go @@ -0,0 +1,6 @@ +package media + +import "time" + +// LiveMaxDuration is the maximum duration for a video to play inline like a live photo. +var LiveMaxDuration = time.Millisecond * 3100 diff --git a/pkg/media/report.go b/pkg/media/report.go index 27f6ab375..f14b68a51 100644 --- a/pkg/media/report.go +++ b/pkg/media/report.go @@ -1,6 +1,7 @@ package media import ( + "slices" "sort" "strings" "unicode" @@ -43,9 +44,7 @@ func Report(m fs.TypesExt, withDesc, withType, withExt bool) (rows [][]string, c } for f, ext := range m { - sort.Slice(ext, func(i, j int) bool { - return ext[i] < ext[j] - }) + slices.Sort(ext) v := make([]string, 0, 4) v = append(v, strings.ToUpper(f.String())) diff --git a/pkg/media/type.go b/pkg/media/type.go index 9fa2fcbd0..3fcd0c0a8 100644 --- a/pkg/media/type.go +++ b/pkg/media/type.go @@ -22,17 +22,25 @@ func (t Type) NotEqual(s string) bool { return !t.Equal(s) } -// Main checks if this is a known main media content format. -func (t Type) Main() bool { - switch t { - case Animated, Audio, Document, Image, Live, Raw, Vector, Video: - return true - default: - return false - } +// IsMain checks whether this is a main media type, which can be indexed and displayed on its own, unlike +// e.g. archives or sidecar files that cannot be indexed or searched without a related main media file. +func (t Type) IsMain() bool { + return Priority[t] >= PriorityMainMedia } -// Unknown checks if the type is unknown. -func (t Type) Unknown() bool { - return t == Unknown +// IsArchive checks if this is an archive that might contain main +// media files, but cannot be indexed or searched on its own. +func (t Type) IsArchive() bool { + return Priority[t] == PriorityArchive +} + +// IsSidecar checks if this is a media type that cannot be indexed +// or searched on its own, i.e. only in connection with main media. +func (t Type) IsSidecar() bool { + return Priority[t] <= PrioritySidecar +} + +// IsUnknown checks if the media type is currently unknown. +func (t Type) IsUnknown() bool { + return Priority[t] == PriorityUnknown } diff --git a/pkg/media/type_test.go b/pkg/media/type_test.go index b46d85ffc..44af467b4 100644 --- a/pkg/media/type_test.go +++ b/pkg/media/type_test.go @@ -6,36 +6,6 @@ import ( "github.com/stretchr/testify/assert" ) -func TestType_Main(t *testing.T) { - t.Run("Unknown", func(t *testing.T) { - assert.False(t, Unknown.Main()) - }) - t.Run("Image", func(t *testing.T) { - assert.True(t, Image.Main()) - }) - t.Run("Video", func(t *testing.T) { - assert.True(t, Video.Main()) - }) - t.Run("Sidecar", func(t *testing.T) { - assert.False(t, Sidecar.Main()) - }) -} - -func TestType_Unknown(t *testing.T) { - t.Run("Unknown", func(t *testing.T) { - assert.True(t, Unknown.Unknown()) - }) - t.Run("Image", func(t *testing.T) { - assert.False(t, Image.Unknown()) - }) - t.Run("Video", func(t *testing.T) { - assert.False(t, Video.Unknown()) - }) - t.Run("Sidecar", func(t *testing.T) { - assert.False(t, Sidecar.Unknown()) - }) -} - func TestType_Equal(t *testing.T) { t.Run("UnknownUnknown", func(t *testing.T) { assert.True(t, Unknown.Equal("")) @@ -65,3 +35,97 @@ func TestType_NotEqual(t *testing.T) { assert.True(t, Sidecar.NotEqual(Unknown.String())) }) } + +func TestType_IsMain(t *testing.T) { + t.Run("Unknown", func(t *testing.T) { + assert.False(t, Unknown.IsMain()) + assert.False(t, Unknown.IsArchive()) + assert.True(t, Unknown.IsSidecar()) + assert.True(t, Unknown.IsUnknown()) + }) + t.Run("Archive", func(t *testing.T) { + assert.False(t, Archive.IsMain()) + assert.True(t, Archive.IsArchive()) + assert.False(t, Archive.IsSidecar()) + assert.False(t, Archive.IsUnknown()) + }) + t.Run("Sidecar", func(t *testing.T) { + assert.False(t, Sidecar.IsMain()) + assert.False(t, Sidecar.IsArchive()) + assert.True(t, Sidecar.IsSidecar()) + assert.False(t, Sidecar.IsUnknown()) + }) + t.Run("Image", func(t *testing.T) { + assert.True(t, Image.IsMain()) + assert.False(t, Image.IsArchive()) + assert.False(t, Image.IsSidecar()) + assert.False(t, Image.IsUnknown()) + }) + t.Run("Raw", func(t *testing.T) { + assert.True(t, Raw.IsMain()) + assert.False(t, Raw.IsArchive()) + assert.False(t, Raw.IsSidecar()) + assert.False(t, Raw.IsUnknown()) + }) + t.Run("Live", func(t *testing.T) { + assert.True(t, Live.IsMain()) + assert.False(t, Live.IsArchive()) + assert.False(t, Live.IsSidecar()) + assert.False(t, Live.IsUnknown()) + }) + t.Run("Video", func(t *testing.T) { + assert.True(t, Video.IsMain()) + assert.False(t, Video.IsArchive()) + assert.False(t, Video.IsSidecar()) + assert.False(t, Video.IsUnknown()) + }) +} + +func TestType_Priority(t *testing.T) { + t.Run("Equal", func(t *testing.T) { + assert.Equal(t, PriorityUnknown, Priority["foo"]) + assert.Equal(t, PriorityUnknown, Priority[Unknown]) + assert.Equal(t, PrioritySidecar, Priority[Sidecar]) + assert.Equal(t, PriorityArchive, Priority[Archive]) + assert.Equal(t, PriorityImage, Priority[Image]) + assert.Equal(t, PriorityMainMedia, Priority[Image]) + assert.Equal(t, Priority[Live], Priority[Live]) + assert.Equal(t, Priority[Animated], Priority[Animated]) + assert.Equal(t, Priority[Animated], Priority[Audio]) + assert.Equal(t, Priority[Animated], Priority[Document]) + }) + t.Run("Less", func(t *testing.T) { + assert.Less(t, PriorityUnknown, Priority[Image]) + assert.Less(t, PriorityArchive, Priority[Image]) + assert.Less(t, PrioritySidecar, Priority[Image]) + assert.Less(t, PrioritySidecar, Priority[Raw]) + assert.Less(t, PriorityImage, Priority[Raw]) + assert.Less(t, PriorityImage, Priority[Live]) + assert.Less(t, PriorityImage, Priority[Video]) + assert.Less(t, PriorityMainMedia, Priority[Live]) + assert.Less(t, PriorityMainMedia, Priority[Video]) + assert.Less(t, Priority[Unknown], Priority[Image]) + assert.Less(t, Priority[Unknown], Priority[Live]) + assert.Less(t, Priority[Image], Priority[Live]) + assert.Less(t, Priority[Video], Priority[Live]) + }) +} + +func TestType_Unknown(t *testing.T) { + t.Run("Unknown", func(t *testing.T) { + assert.True(t, Unknown.IsUnknown()) + assert.True(t, Type("foo").IsUnknown()) + }) + t.Run("Image", func(t *testing.T) { + assert.False(t, Image.IsUnknown()) + assert.True(t, Image.IsMain()) + }) + t.Run("Video", func(t *testing.T) { + assert.False(t, Video.IsUnknown()) + assert.True(t, Video.IsMain()) + }) + t.Run("Sidecar", func(t *testing.T) { + assert.False(t, Sidecar.IsUnknown()) + assert.False(t, Sidecar.IsMain()) + }) +} diff --git a/pkg/media/types.go b/pkg/media/types.go index 1debfec82..00085d029 100644 --- a/pkg/media/types.go +++ b/pkg/media/types.go @@ -1,15 +1,44 @@ package media +// Content is categorized and compared based on the following media types: const ( Unknown Type = "" - Archive Type = "archive" - Animated Type = "animated" - Audio Type = "audio" - Document Type = "document" Image Type = "image" Raw Type = "raw" - Sidecar Type = "sidecar" Live Type = "live" - Vector Type = "vector" Video Type = "video" + Animated Type = "animated" + Audio Type = "audio" + Vector Type = "vector" + Document Type = "document" + Sidecar Type = "sidecar" + Archive Type = "archive" ) + +// PriorityImage specifies the minimum priority for main media types, which can be indexed and displayed on their own, +// unlike archives or sidecar files that cannot be indexed or searched without a related main media file. +const ( + PriorityUnknown = 0 + PrioritySidecar = 1 + PriorityArchive = 2 + PriorityImage = 4 + PriorityMainMedia = PriorityImage +) + +// Priorities maps media types to integer values that represent their relative importance. +type Priorities map[Type]int + +// Priority assigns a relative priority value to the media type constants defined above. +var Priority = Priorities{ + Unknown: PriorityUnknown, // 0 + Sidecar: PrioritySidecar, // 1 + Archive: PriorityArchive, // 2 + Image: PriorityImage, // 4 + Video: 8, + Animated: 16, + Audio: 16, + Document: 16, + Raw: 32, + Vector: 32, + Live: 64, +} diff --git a/pkg/media/video/brands.go b/pkg/media/video/brands.go index 612fb7856..92e9b6a81 100644 --- a/pkg/media/video/brands.go +++ b/pkg/media/video/brands.go @@ -76,7 +76,6 @@ var CompatibleBrands = Chunks{ ChunkHEV2, ChunkHEV3, ChunkDVHE, - ChunkHEIC, ChunkAV01, ChunkAV1C, ChunkMMP4, diff --git a/pkg/media/video/chunk.go b/pkg/media/video/chunk.go index 0ec5993e4..396806d1a 100644 --- a/pkg/media/video/chunk.go +++ b/pkg/media/video/chunk.go @@ -60,13 +60,13 @@ func (c Chunk) FileOffset(fileName string) (int, error) { defer file.Close() - index, err := c.DataOffset(file, -1) + index, err := c.DataOffset(file, 0, -1) return index, err } // DataOffset returns the index of the chunk in file, or -1 if it was not found. -func (c Chunk) DataOffset(file io.ReadSeeker, maxOffset int) (int, error) { +func (c Chunk) DataOffset(file io.ReadSeeker, offset, maxOffset int) (int, error) { if file == nil { return -1, errors.New("file is nil") } @@ -79,8 +79,11 @@ func (c Chunk) DataOffset(file io.ReadSeeker, maxOffset int) (int, error) { // Create buffered read seeker. r := bufseekio.NewReadSeeker(file, blockSize, dataSize) - // Index offset. - var offset int + if seekOffset, seekErr := r.Seek(int64(offset), io.SeekStart); seekErr != nil { + return -1, seekErr + } else { + offset = int(seekOffset) + } // Search in batches. for { diff --git a/pkg/media/video/chunks_test.go b/pkg/media/video/chunks_test.go index 08f80c0cc..ac0716fe2 100644 --- a/pkg/media/video/chunks_test.go +++ b/pkg/media/video/chunks_test.go @@ -39,6 +39,17 @@ func TestChunk_FileOffset(t *testing.T) { require.NoError(t, err) assert.Equal(t, 23213, index) }) + t.Run("motion-photo.heif", func(t *testing.T) { + index, err := ChunkFTYP.FileOffset("testdata/motion-photo.heif") + require.NoError(t, err) + assert.Equal(t, 4, index) + index, err = ChunkHEIC.FileOffset("testdata/motion-photo.heif") + require.NoError(t, err) + assert.Equal(t, 8, index) + index, err = ChunkHVC1.FileOffset("testdata/motion-photo.heif") + require.NoError(t, err) + assert.Equal(t, 976016, index) + }) } func TestChunks(t *testing.T) { diff --git a/pkg/media/video/codecs.go b/pkg/media/video/codecs.go index 9e52fd6f6..17d853d27 100644 --- a/pkg/media/video/codecs.go +++ b/pkg/media/video/codecs.go @@ -33,6 +33,7 @@ const ( CodecVp08 Codec = "vp08" // Google VP8 CodecVp09 Codec = "vp09" // Google VP9 CodecTheora Codec = "ogv" // Ogg Vorbis Video + CodecM2TS Codec = "m2t" // MPEG-2 Transport Stream CodecWebm Codec = "webm" // Google WebM ) diff --git a/pkg/media/video/content_type.go b/pkg/media/video/content_type.go index 62d93957c..63c8baca7 100644 --- a/pkg/media/video/content_type.go +++ b/pkg/media/video/content_type.go @@ -64,6 +64,8 @@ func ContentType(mediaType, fileType, videoCodec string, hdr bool) string { mediaType = header.ContentTypeMp4 case fs.VideoMkv.Equal(fileType): mediaType = header.ContentTypeMkv + case fs.VideoM2TS.Equal(fileType) || videoCodec == CodecM2TS: + mediaType = header.ContentTypeM2TS } } diff --git a/pkg/media/video/live.go b/pkg/media/video/live.go deleted file mode 100644 index 2fcb492e4..000000000 --- a/pkg/media/video/live.go +++ /dev/null @@ -1,6 +0,0 @@ -package video - -import "time" - -// LiveDuration is the maximum duration for a video to play inline like a live photo. -var LiveDuration = time.Millisecond * 3100 diff --git a/pkg/media/video/probe.go b/pkg/media/video/probe.go index 2a400292e..6b468f85e 100644 --- a/pkg/media/video/probe.go +++ b/pkg/media/video/probe.go @@ -153,8 +153,7 @@ func Probe(file io.ReadSeeker) (info Info, err error) { // If no AVC video was found, search the video data for High Efficiency Video Coding (HEVC) chunks, // see https://stackoverflow.com/questions/63468587/what-hevc-codec-tag-to-use-with-fmp4-hvc1-or-hev1. if info.VideoCodec == "" { - // To improve performance, only search for "hvc1" as that is the most common HEVC video identifier. - if fileOffset, fileErr := ChunkHVC1.DataOffset(file, -1); fileOffset > 0 && fileErr == nil { + if fileOffset, fileErr := ChunkHVC1.DataOffset(file, 0, -1); fileOffset > 0 && fileErr == nil { info.VideoCodec = CodecHvc1 } } diff --git a/pkg/media/video/probe_test.go b/pkg/media/video/probe_test.go index 9c9e7fbbc..73eb94eed 100644 --- a/pkg/media/video/probe_test.go +++ b/pkg/media/video/probe_test.go @@ -252,4 +252,34 @@ func TestProbe(t *testing.T) { assert.Equal(t, false, info.FastStart) assert.Equal(t, true, info.Compatible) }) + t.Run("motion-photo.heif", func(t *testing.T) { + f, fileErr := os.Open("testdata/motion-photo.heif") + require.NoError(t, fileErr) + defer f.Close() + + info, err := Probe(f) + require.NoError(t, err) + require.NotNil(t, info) + + assert.Equal(t, "", info.FileName) + assert.Equal(t, int64(-1), info.FileSize) + assert.Equal(t, fs.TypeUnknown, info.FileType) + assert.Equal(t, Mp4, info.VideoType) + assert.Equal(t, int64(978741), info.VideoOffset) + assert.Equal(t, int64(0), info.ThumbOffset) + assert.Equal(t, media.Live, info.MediaType) + assert.Equal(t, CodecHvc1, info.VideoCodec) + assert.Equal(t, header.ContentTypeMp4, info.VideoMimeType) + assert.Equal(t, header.ContentTypeMp4HvcMain10, info.VideoContentType()) + assert.Equal(t, "2.9686s", info.Duration.String()) + assert.InEpsilon(t, 2.9686, info.Duration.Seconds(), 0.01) + assert.Equal(t, 2, info.Tracks) + assert.Equal(t, 0, info.VideoWidth) + assert.Equal(t, 0, info.VideoHeight) + assert.Equal(t, 89, info.Frames) + assert.Equal(t, 30.0, info.FPS) + assert.Equal(t, false, info.Encrypted) + assert.Equal(t, false, info.FastStart) + assert.Equal(t, true, info.Compatible) + }) } diff --git a/pkg/media/video/standards.go b/pkg/media/video/standards.go index 25cfb231c..33fb357af 100644 --- a/pkg/media/video/standards.go +++ b/pkg/media/video/standards.go @@ -74,6 +74,9 @@ var Types = Standards{ "mkv1": MkvAv1, "ogg": Theora, // ↓ Theora video in OGG container "ogv": Theora, + "m2t": M2TS, // ↓ MPEG-2 Transport Stream container + "m2ts": M2TS, + "mp2t": M2TS, "mp4": Mp4, // ↓ Unknown codec in MP4 container "mpeg4": Mp4, "webm": Webm, // ↓ Unknown codec in WebM container diff --git a/pkg/media/video/testdata/bear.m2ts b/pkg/media/video/testdata/bear.m2ts new file mode 100644 index 000000000..4508dc463 Binary files /dev/null and b/pkg/media/video/testdata/bear.m2ts differ diff --git a/pkg/media/video/testdata/motion-photo.heif b/pkg/media/video/testdata/motion-photo.heif new file mode 100644 index 000000000..01724f19f Binary files /dev/null and b/pkg/media/video/testdata/motion-photo.heif differ diff --git a/pkg/media/video/types.go b/pkg/media/video/types.go index 464372dda..180231ee0 100644 --- a/pkg/media/video/types.go +++ b/pkg/media/video/types.go @@ -21,6 +21,16 @@ var Mp4 = Type{ Public: true, } +// M2TS specifies the MPEG-2 Transport Stream (M2TS) multimedia container format. +var M2TS = Type{ + Codec: CodecAvc1, + FileType: fs.VideoM2TS, + ContentType: header.ContentTypeM2TS, + WidthLimit: 8192, + HeightLimit: 4320, + Public: false, +} + // Mov specifies the Apple QuickTime (QT) container format. var Mov = Type{ Codec: CodecAvc1, diff --git a/pkg/txt/report/credentials.go b/pkg/txt/report/credentials.go index 6a55a8511..03bc68ac7 100644 --- a/pkg/txt/report/credentials.go +++ b/pkg/txt/report/credentials.go @@ -8,31 +8,16 @@ import ( // Credentials returns a text-formatted table with credentials. func Credentials(idName, idValue, secretName, secretValue string) string { - buf := &bytes.Buffer{} - - // Set borders. - borders := tablewriter.Border{ - Left: true, - Right: true, - Top: true, - Bottom: true, - } + result := &bytes.Buffer{} + table := tablewriter.NewWriter(result) // Set values. rows := make([][]string, 2) rows[0] = []string{idName, secretName} rows[1] = []string{idValue, secretValue} - // Render table. - table := tablewriter.NewWriter(buf) + _ = table.Bulk(rows) + _ = table.Render() - table.SetRowLine(true) - table.SetAutoWrapText(false) - table.SetHeader(nil) - table.SetBorders(borders) - table.SetCenterSeparator("|") - table.AppendBulk(rows) - table.Render() - - return buf.String() + return result.String() } diff --git a/pkg/txt/report/markdown.go b/pkg/txt/report/markdown.go index de677e9f0..137394687 100644 --- a/pkg/txt/report/markdown.go +++ b/pkg/txt/report/markdown.go @@ -5,6 +5,8 @@ import ( "strings" "github.com/olekukonko/tablewriter" + "github.com/olekukonko/tablewriter/renderer" + "github.com/olekukonko/tablewriter/tw" ) // MarkdownTable returns a text-formatted table with caption, optionally as valid Markdown, @@ -24,31 +26,43 @@ func MarkdownTable(rows [][]string, cols []string, opt Options) string { } } - buf := &bytes.Buffer{} + result := &bytes.Buffer{} - // Set Borders. - borders := tablewriter.Border{ - Left: true, - Right: true, - Top: !opt.Valid, - Bottom: !opt.Valid, + var tableRenderer tw.Renderer + var tableConfig tablewriter.Config + + if opt.Valid { + tableRenderer = renderer.NewMarkdown() + tableConfig = tablewriter.Config{ + Header: tw.CellConfig{Alignment: tw.CellAlignment{Global: tw.AlignLeft}, Formatting: tw.CellFormatting{AutoFormat: -1}}, + Row: tw.CellConfig{ + Alignment: tw.CellAlignment{Global: tw.AlignLeft}, + }, + } + } else { + tableRenderer = renderer.NewBlueprint() + tableConfig = tablewriter.Config{ + Header: tw.CellConfig{Alignment: tw.CellAlignment{Global: tw.AlignCenter}, Formatting: tw.CellFormatting{AutoFormat: -1}}, + Row: tw.CellConfig{ + Alignment: tw.CellAlignment{Global: tw.AlignLeft}, + }, + } } // RenderFormat. - table := tablewriter.NewWriter(buf) + table := tablewriter.NewTable(result, + tablewriter.WithRenderer(tableRenderer), + tablewriter.WithConfig(tableConfig), + ) // Set Caption. if opt.Caption != "" { - table.SetCaption(true, opt.Caption) + table.Caption(tw.Caption{Text: opt.Caption}) } - table.SetAutoWrapText(!opt.Valid && !opt.NoWrap) - table.SetAutoFormatHeaders(false) - table.SetHeader(cols) - table.SetBorders(borders) - table.SetCenterSeparator("|") - table.AppendBulk(rows) - table.Render() + table.Header(cols) + _ = table.Bulk(rows) + _ = table.Render() - return buf.String() + return result.String() } diff --git a/pkg/txt/report/render_test.go b/pkg/txt/report/render_test.go index ab17ad3e1..b029ba8f2 100644 --- a/pkg/txt/report/render_test.go +++ b/pkg/txt/report/render_test.go @@ -18,7 +18,8 @@ func TestTable(t *testing.T) { if err != nil { t.Fatal(err) } - assert.Contains(t, result, "| bar | b & a | z |") + // fmt.Println(result) + assert.Contains(t, result, "│ bar │ b & a | z") }) t.Run("MarkdownTable", func(t *testing.T) { result, err := RenderFormat(rows, cols, Markdown) diff --git a/pkg/txt/resources/stopwords.txt b/pkg/txt/resources/stopwords.txt index c4bfd20b8..7e55d0c93 100644 --- a/pkg/txt/resources/stopwords.txt +++ b/pkg/txt/resources/stopwords.txt @@ -919,7 +919,6 @@ ua ug uk um -un undoing unfortunately unless @@ -928,7 +927,6 @@ unto up upon ups -us usefully usefulness using diff --git a/pkg/txt/specialwords.go b/pkg/txt/specialwords.go index c9a35797d..e7c91136c 100644 --- a/pkg/txt/specialwords.go +++ b/pkg/txt/specialwords.go @@ -267,6 +267,9 @@ var SpecialWords = map[string]string{ "usaid": "USAID", "thaad": "THAAD", "unrwa": "UNRWA", + "unhcr": "UNHCR", + "ghf": "GHF", + "iaea": "IAEA", "unifil": "UNIFIL", "irgc": "IRGC", "cnn": "CNN", @@ -288,4 +291,5 @@ var SpecialWords = map[string]string{ "dw": "DW", "rt": "RT", "gb": "GB", + "vs": "vs", } diff --git a/pkg/txt/stopwords.go b/pkg/txt/stopwords.go index 77013b25c..1a5cd2f44 100644 --- a/pkg/txt/stopwords.go +++ b/pkg/txt/stopwords.go @@ -925,7 +925,6 @@ var StopWords = map[string]bool{ "ug": true, "uk": true, "um": true, - "un": true, "undoing": true, "unfortunately": true, "unless": true, @@ -934,7 +933,6 @@ var StopWords = map[string]bool{ "up": true, "upon": true, "ups": true, - "us": true, "usefully": true, "usefulness": true, "using": true, diff --git a/scripts/dist/Makefile b/scripts/dist/Makefile index b7af82973..a19189e34 100755 --- a/scripts/dist/Makefile +++ b/scripts/dist/Makefile @@ -44,7 +44,7 @@ install-intel-graphics: intel intel-graphics: intel install-intel: @echo "Installing Intel GPU Drivers..." - apt-get -qq install intel-opencl-icd intel-media-va-driver-non-free i965-va-driver-shaders mesa-va-drivers libmfx-gen1.2 va-driver-all vainfo libva2 + apt-get -qq install intel-opencl-icd intel-media-va-driver-non-free i965-va-driver-shaders mesa-va-drivers libmfx-gen1.2 va-driver-all vainfo libva2 libvpl2 amd: update install-amd install-amd: @echo "Installing AMD VA-API GPU Drivers..." @@ -61,6 +61,9 @@ darktable: sudo apt-get update sudo apt-get install darktable sudo apt-get autoremove +yt-dlp: update-yt-dlp +update-yt-dlp: + sudo yt-dlp -U # Declare all targets as "PHONY", see https://www.gnu.org/software/make/manual/html_node/Phony-Targets.html. MAKEFLAGS += --always-make diff --git a/scripts/dist/build-libheif.sh b/scripts/dist/build-libheif.sh index 63296df9d..08d017878 100755 --- a/scripts/dist/build-libheif.sh +++ b/scripts/dist/build-libheif.sh @@ -56,11 +56,11 @@ mkdir -p "$DESTDIR" ARCHIVE="${CURRENT_DIR}/build/$BUILD.tar.gz" -echo "------------------------------------------------" +echo "--------------------------------------------------------------------------------" echo "VERSION: $LIBHEIF_VERSION" echo "LATEST : $LATEST" echo "ARCHIVE: $ARCHIVE" -echo "------------------------------------------------" +echo "--------------------------------------------------------------------------------" echo "Installing build dependencies..." diff --git a/scripts/dist/heif-convert.sh b/scripts/dist/heif-convert.sh index 56b37575b..598e56a78 100755 --- a/scripts/dist/heif-convert.sh +++ b/scripts/dist/heif-convert.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash if [[ -z $1 ]] && [[ -z $2 ]]; then - echo "Usage: heif-convert " 1>&2 + echo "Usage: ${0##*/} " 1>&2 exit 1 fi diff --git a/scripts/dist/install-admin-tools.sh b/scripts/dist/install-admin-tools.sh index e28c5de4c..923b9515d 100755 --- a/scripts/dist/install-admin-tools.sh +++ b/scripts/dist/install-admin-tools.sh @@ -18,14 +18,17 @@ then exit 1 fi -echo "Installing duf, a better df alternative..." +echo "Installing the duf command to check storage usage..." GOBIN="/usr/local/bin" go install github.com/muesli/duf@latest -echo "Installing muffet, a fast website link checker..." +echo "Installing muffet, a tool for checking links..." GOBIN="/usr/local/bin" go install github.com/raviqqe/muffet@latest -echo "Installing petname, an RFC1178 implementation to generate pronounceable names..." +echo "Installing petname to generate pronounceable names..." GOBIN="/usr/local/bin" go install github.com/dustinkirkland/golang-petname/cmd/petname@latest +echo "Installing doctl for using the DigitalOcean API...." +GOBIN="/usr/local/bin" go install github.com/digitalocean/doctl/cmd/doctl@latest + # Create a symbolic link for "duf" so that it is used instead of the original "df". ln -sf /usr/local/bin/duf /usr/local/bin/df \ No newline at end of file diff --git a/scripts/dist/install-darktable.sh b/scripts/dist/install-darktable.sh index 166edbb7d..6899f5698 100755 --- a/scripts/dist/install-darktable.sh +++ b/scripts/dist/install-darktable.sh @@ -28,12 +28,7 @@ echo "Installing Darktable for ${DESTARCH^^}..." case $DESTARCH in amd64 | AMD64 | x86_64 | x86-64) - if [[ $VERSION_CODENAME == "jammy" ]]; then - echo 'deb http://download.opensuse.org/repositories/graphics:/darktable/xUbuntu_22.04/ /' | tee /etc/apt/sources.list.d/graphics:darktable.list - curl -fsSL https://download.opensuse.org/repositories/graphics:darktable/xUbuntu_22.04/Release.key | gpg --dearmor | tee /etc/apt/trusted.gpg.d/graphics_darktable.gpg > /dev/null - apt-get update - apt-get -qq install darktable - elif [[ $VERSION_CODENAME == "bullseye" ]]; then + if [[ $VERSION_CODENAME == "bullseye" ]]; then apt-get update apt-get -qq install -t bullseye-backports darktable elif [[ $VERSION_CODENAME == "buster" ]]; then diff --git a/scripts/dist/install-ffmpeg.sh b/scripts/dist/install-ffmpeg.sh index 3d50818c1..01ba29c68 100755 --- a/scripts/dist/install-ffmpeg.sh +++ b/scripts/dist/install-ffmpeg.sh @@ -64,11 +64,11 @@ else DESTDIR="${DESTDIR}/bin" fi -echo "------------------------------------------------" +echo "--------------------------------------------------------------------------------" echo "VERSION: $FFMPEG_VERSION" echo "ARCHIVE: $ARCHIVE" echo "DESTDIR: $DESTDIR" -echo "------------------------------------------------" +echo "--------------------------------------------------------------------------------" echo "Extracting \"$URL\" to \"$DESTDIR\"." sudo mkdir -p "${DESTDIR}" diff --git a/scripts/dist/install-gpu.sh b/scripts/dist/install-gpu.sh index 441986444..98a950fbb 100755 --- a/scripts/dist/install-gpu.sh +++ b/scripts/dist/install-gpu.sh @@ -51,7 +51,7 @@ for t in ${GPU_DETECTED[@]}; do case $t in i915 | i965 | intel | opencl | icd) echo "Installing Intel GPU Drivers..." - apt-get -qq install intel-opencl-icd intel-media-va-driver-non-free i965-va-driver-shaders mesa-va-drivers libmfx-gen1.2 va-driver-all vainfo libva2 + apt-get -qq install intel-opencl-icd intel-media-va-driver-non-free i965-va-driver-shaders mesa-va-drivers libmfx-gen1.2 va-driver-all vainfo libva2 libvpl2 ;; nvidia) diff --git a/scripts/dist/install-jxl.sh b/scripts/dist/install-jxl.sh index e6c57a0af..10470722e 100755 --- a/scripts/dist/install-jxl.sh +++ b/scripts/dist/install-jxl.sh @@ -34,10 +34,10 @@ case $DESTARCH in URL="https://github.com/libjxl/libjxl/releases/download/${LIB_VERSION}/${ARCHIVE}" TMPDIR="/tmp/jpegxl" - echo "------------------------------------------------" + echo "--------------------------------------------------------------------------------" echo "VERSION: $LIB_VERSION" echo "ARCHIVE: $ARCHIVE" - echo "------------------------------------------------" + echo "--------------------------------------------------------------------------------" echo "Installing JPEG XL for ${DESTARCH^^}..." diff --git a/scripts/dist/install-libheif.sh b/scripts/dist/install-libheif.sh index 4183b789e..294395270 100755 --- a/scripts/dist/install-libheif.sh +++ b/scripts/dist/install-libheif.sh @@ -67,11 +67,11 @@ echo "Installing libheif..." ARCHIVE="libheif-${VERSION_CODENAME}-${DESTARCH}-${LIBHEIF_VERSION}.tar.gz" URL="https://dl.photoprism.app/dist/libheif/${ARCHIVE}" -echo "------------------------------------------------" +echo "--------------------------------------------------------------------------------" echo "VERSION: $LIBHEIF_VERSION" echo "ARCHIVE: $ARCHIVE" echo "DESTDIR: $DESTDIR" -echo "------------------------------------------------" +echo "--------------------------------------------------------------------------------" if curl -fsSL "$URL" | tar --overwrite --mode=755 -xz -C "$DESTDIR" 2> /dev/null; then echo "✅ Extracted \"$URL\" to \"$DESTDIR\"" diff --git a/scripts/dist/install-nats.sh b/scripts/dist/install-nats.sh index b1d45e240..8ce0085ff 100755 --- a/scripts/dist/install-nats.sh +++ b/scripts/dist/install-nats.sh @@ -58,12 +58,12 @@ VERSION=${2:-$GITHUB_LATEST} ARCHIVE="nats-server-${VERSION}-linux-${DESTARCH}.tar.gz" GITHUB_URL="https://github.com/nats-io/nats-server/releases/download/${VERSION}/${ARCHIVE}" -echo "------------------------------------------------" +echo "--------------------------------------------------------------------------------" echo "VERSION : ${VERSION}" echo "LATEST : ${GITHUB_LATEST}" echo "DOWNLOAD: ${GITHUB_URL}" echo "DESTDIR : ${DESTDIR}" -echo "------------------------------------------------" +echo "--------------------------------------------------------------------------------" # Adjust the installation path because the archive does not contain a bin directory. DESTDIR="${DESTDIR}/bin" diff --git a/scripts/dist/install-nodejs.sh b/scripts/dist/install-nodejs.sh index 159b3aeaa..be1a326b1 100755 --- a/scripts/dist/install-nodejs.sh +++ b/scripts/dist/install-nodejs.sh @@ -42,16 +42,16 @@ fi echo "Configuring NPM..." sudo npm config set cache ~/.cache/npm echo "Updating NPM..." -sudo npm update --unsafe-perm=true --allow-root -g npm +sudo npm update -g npm echo "Installing TestCafe..." -sudo npm install --unsafe-perm=true --allow-root -g \ - npm@latest npm-check-updates@latest license-report@latest n@latest testcafe@3.7.2 +sudo npm install -g npm@latest npm-check-updates@latest license-report@latest n@latest testcafe@3.7.2 +echo "Installing Vitest..." +sudo npm install -g vitest @vitest/browser @vitest/coverage-v8 @vitest/ui echo "Installing ESLint..." -sudo npm install --unsafe-perm=true --allow-root -g \ - eslint globals @eslint/eslintrc @eslint/js eslint-config-prettier eslint-formatter-pretty \ +sudo npm install -g eslint prettier globals \ + @eslint/eslintrc @eslint/js eslint-config-prettier eslint-formatter-pretty \ eslint-plugin-html eslint-plugin-import eslint-plugin-node eslint-plugin-prettier \ - eslint-plugin-promise eslint-plugin-vue eslint-webpack-plugin prettier -echo "Installing Vue Language Tools..." -sudo npm install --unsafe-perm=true --allow-root -g \ - @vue/language-server @vue/typescript-plugin + eslint-plugin-vue eslint-plugin-vuetify eslint-webpack-plugin +echo "Installing Vue Language Server..." +sudo npm install -g @vue/language-server echo "Done." \ No newline at end of file diff --git a/scripts/dist/install-qdrant.sh b/scripts/dist/install-qdrant.sh index 6fd05dec0..e28c5e3d6 100755 --- a/scripts/dist/install-qdrant.sh +++ b/scripts/dist/install-qdrant.sh @@ -54,12 +54,12 @@ VERSION=${2:-$GITHUB_LATEST} ARCHIVE="qdrant-${DESTARCH}-unknown-linux-musl.tar.gz" GITHUB_URL="https://github.com/qdrant/qdrant/releases/download/${VERSION}/${ARCHIVE}" -echo "------------------------------------------------" +echo "--------------------------------------------------------------------------------" echo "VERSION : ${VERSION}" echo "LATEST : ${GITHUB_LATEST}" echo "DOWNLOAD: ${GITHUB_URL}" echo "DESTDIR : ${DESTDIR}" -echo "------------------------------------------------" +echo "--------------------------------------------------------------------------------" # Adjust the installation path because the archive does not contain a bin directory. DESTDIR="${DESTDIR}/bin" diff --git a/scripts/dist/install-s6.sh b/scripts/dist/install-s6.sh index 262f5fdad..05ee9a87d 100755 --- a/scripts/dist/install-s6.sh +++ b/scripts/dist/install-s6.sh @@ -65,13 +65,13 @@ S6_BINARY_URL="https://github.com/just-containers/s6-overlay/releases/download/$ echo "Installing S6 Overlay for ${S6_OVERLAY_ARCH^^}..." -echo "------------------------------------------------" +echo "--------------------------------------------------------------------------------" echo "VERSION: ${S6_OVERLAY_VERSION}" echo "LATEST : ${S6_OVERLAY_LATEST}" echo "NOARCH : ${ARCHIVE_NOARCH}" echo "BINARY : ${ARCHIVE_BINARY}" echo "DESTDIR: ${S6_OVERLAY_DESTDIR}" -echo "------------------------------------------------" +echo "--------------------------------------------------------------------------------" # Create the destination directory if it does not already exist. mkdir -p "${S6_OVERLAY_DESTDIR}" diff --git a/scripts/dist/install-yt-dlp.sh b/scripts/dist/install-yt-dlp.sh index 641a0080a..4bea6c10a 100755 --- a/scripts/dist/install-yt-dlp.sh +++ b/scripts/dist/install-yt-dlp.sh @@ -64,13 +64,13 @@ fi GITHUB_URL="https://github.com/yt-dlp/yt-dlp/releases/download/${VERSION}/${BINARY}" DESTBIN="${DESTDIR}/bin/yt-dlp" -echo "------------------------------------------------" +echo "--------------------------------------------------------------------------------" echo "VERSION : ${VERSION}" echo "LATEST : ${GITHUB_LATEST}" echo "DOWNLOAD: ${GITHUB_URL}" echo "DESTDIR : ${DESTDIR}" echo "DESTBIN : ${DESTBIN}" -echo "------------------------------------------------" +echo "--------------------------------------------------------------------------------" echo "Downloading the yt-dlp binary to \"${DESTBIN}\"..." mkdir -p "${DESTDIR}" diff --git a/scripts/setup/nas/raspberry-pi/build.sh b/scripts/setup/nas/raspberry-pi/build.sh new file mode 100755 index 000000000..dd5cdd69e --- /dev/null +++ b/scripts/setup/nas/raspberry-pi/build.sh @@ -0,0 +1,88 @@ +#!/usr/bin/env bash + +# Builds a PhotoPrismPi SD card image for use with Raspberry Pi 4 and 5. + +# Stop the script if an error occurs. +set -e + +echo "Building PhotoPrismPi SD card image..." + +# Build directory: +DESTDIR=$(realpath "${1:-./setup/nas/raspberry-pi}") + +# Ubuntu Server version and download URL: +UBUNTU_VERSION="${2:-24.04.2}" +UBUNTU_URL="https://cdimage.ubuntu.com/releases/${UBUNTU_VERSION}/release/ubuntu-${UBUNTU_VERSION}-preinstalled-server-arm64+raspi.img.xz" + +# SD card image file name and path: +IMAGE_NAME="photoprismpi-ubuntu-${UBUNTU_VERSION}.img" +IMAGE_PATH="${DESTDIR}/${IMAGE_NAME}" + +# Cloud init config path: +CONFIG_PATH="${DESTDIR}/cloud-init" + +# Boot partition mount path: +MOUNT_DEV="/dev/nbd0" +MOUNT_PATH="${DESTDIR}/boot" + +# Show image and build details. +echo "--------------------------------------------------------------------------------" +echo "VERSION: Ubuntu Server ${UBUNTU_VERSION} for Raspberry Pi" +echo "CDIMAGE: ${UBUNTU_URL}" +echo "DESTDIR: ${DESTDIR}" +echo "SDIMAGE: ${IMAGE_PATH}.xz" +echo "--------------------------------------------------------------------------------" + +# Install build dependencies. +sudo apt update +sudo apt install -y qemu-utils xz-utils cloud-init + +# Remove existing Ubuntu Server image, if any. +rm -f "${IMAGE_PATH}" "${IMAGE_PATH}.xz" + +# Download latest Ubuntu Server image. +echo "Downloading Ubuntu Server image..." +curl -o "${IMAGE_PATH}.xz" -fsSL "${UBUNTU_URL}" +echo "Done." + +# Unpack Ubuntu Server image. +echo "Unpacking ${IMAGE_NAME}.xz..." +(cd "${DESTDIR}" && unxz "${IMAGE_NAME}.xz") +echo "Done." + +# Mount the boot partition to customize it. +echo "Mounting boot partition to ${MOUNT_PATH}..." +mkdir -p "${MOUNT_PATH}" +sudo umount -q "${MOUNT_PATH}" || true + +if [[ -e "${MOUNT_DEV}p1" ]]; then + sudo qemu-nbd --disconnect "${MOUNT_DEV}" || true +fi + +sleep 1 +sudo modprobe nbd max_part=8 +sudo qemu-nbd --connect="${MOUNT_DEV}" --format=raw "${IMAGE_PATH}" +sleep 3 +sudo mount "${MOUNT_DEV}p1" "${MOUNT_PATH}" +echo "Done." + +# Copy cloud-init files to the boot partition. +echo "Copying files to boot partition..." +sudo cp "${CONFIG_PATH}/meta-data" "${CONFIG_PATH}/network-config" "${CONFIG_PATH}/user-data" "${MOUNT_PATH}" +echo "Done." + +# Unmount boot partition. +echo "Unmounting boot partition..." +sudo umount "${MOUNT_PATH}" +sleep 1 +if [[ -e "${MOUNT_DEV}p1" ]]; then + sudo qemu-nbd --disconnect "${MOUNT_DEV}" +fi +sleep 1 +rmdir "${MOUNT_PATH}" +echo "Done." + +# Create the final SD card image. +echo "Creating ${IMAGE_PATH}.xz..." +xz -T0 -z -q -9 "${IMAGE_PATH}" +echo "Done." \ No newline at end of file diff --git a/setup/docker/cloud/README.txt b/setup/cloud/digitalocean/README.txt similarity index 94% rename from setup/docker/cloud/README.txt rename to setup/cloud/digitalocean/README.txt index 56c524ee5..21d2789ca 100644 --- a/setup/docker/cloud/README.txt +++ b/setup/cloud/digitalocean/README.txt @@ -1,17 +1,15 @@ ======================================================================== PhotoPrism for Cloud Servers -Based on Ubuntu 22.04 LTS (Jammy Jellyfish) ======================================================================== SOFTWARE INCLUDED ------------------------------------------------------------------------ PhotoPrism latest, AGPL 3 -Docker CE 23.0, Apache 2 -Traefik 2.9, MIT -MariaDB 10.10, GPL 2 -Ofelia 0.3, MIT -Watchtower 1.5, Apache 2 +Docker CE latest, Apache 2 +Traefik 3.4, MIT +MariaDB 11, GPL 2 +Watchtower latest, Apache 2 GETTING STARTED ------------------------------------------------------------------------ @@ -19,7 +17,7 @@ GETTING STARTED Run this script as root to install PhotoPrism on a cloud server e.g. at DigitalOcean: - bash <(curl -s https://dl.photoprism.app/docker/cloud/setup.sh) + bash <(curl -s https://dl.photoprism.app/cloud/digitalocean/setup.sh) This may take a while to complete, depending on the performance of your server and its internet connection. diff --git a/setup/docker/cloud/certs/ca.conf b/setup/cloud/digitalocean/certs/ca.conf similarity index 100% rename from setup/docker/cloud/certs/ca.conf rename to setup/cloud/digitalocean/certs/ca.conf diff --git a/setup/docker/cloud/certs/cert.conf b/setup/cloud/digitalocean/certs/cert.conf similarity index 100% rename from setup/docker/cloud/certs/cert.conf rename to setup/cloud/digitalocean/certs/cert.conf diff --git a/setup/docker/cloud/certs/config.yml b/setup/cloud/digitalocean/certs/config.yml similarity index 100% rename from setup/docker/cloud/certs/config.yml rename to setup/cloud/digitalocean/certs/config.yml diff --git a/setup/docker/cloud/certs/openssl.conf b/setup/cloud/digitalocean/certs/openssl.conf similarity index 100% rename from setup/docker/cloud/certs/openssl.conf rename to setup/cloud/digitalocean/certs/openssl.conf diff --git a/setup/docker/cloud/compose.yaml b/setup/cloud/digitalocean/compose.yaml similarity index 92% rename from setup/docker/cloud/compose.yaml rename to setup/cloud/digitalocean/compose.yaml index 22a98b97d..3e91e089a 100644 --- a/setup/docker/cloud/compose.yaml +++ b/setup/cloud/digitalocean/compose.yaml @@ -1,11 +1,10 @@ # ======================================================================== # PhotoPrism for Cloud Servers -# Based on Ubuntu 22.04 LTS (Jammy Jellyfish) # ======================================================================== # # Run this script as root to install PhotoPrism on a cloud server e.g. at DigitalOcean: # -# bash <(curl -s https://dl.photoprism.app/docker/cloud/setup.sh) +# bash <(curl -s https://dl.photoprism.app/cloud/digitalocean/setup.sh) # # This may take a while to complete, depending on the performance of your # server and its internet connection. @@ -39,12 +38,6 @@ # Configuring multiple apps on the same server is beyond the scope of this base # config and for advanced users only. # -# This config includes Ofelia, a docker job scheduler: -# -# https://github.com/mcuadros/ofelia -# -# See jobs.ini for details. -# # SYSTEM REQUIREMENTS # ------------------------------------------------------------------------ # @@ -154,15 +147,15 @@ services: PHOTOPRISM_JPEG_QUALITY: 85 # a higher value increases the quality and file size of JPEG images and thumbnails (25-100) PHOTOPRISM_DETECT_NSFW: "false" # automatically flags photos as private that MAY be offensive (requires TensorFlow) PHOTOPRISM_UPLOAD_NSFW: "true" # allows uploads that MAY be offensive (no effect without TensorFlow) - PHOTOPRISM_UPLOAD_ALLOW: "" # restricts uploads to these file types (comma-separated list of EXTENSIONS; leave blank to allow all) - PHOTOPRISM_UPLOAD_ARCHIVES: "true" # allows upload of zip archives (will be extracted before import) - PHOTOPRISM_DATABASE_DRIVER: "mysql" # MariaDB 10.5.12+ (MySQL successor) offers significantly better performance compared to SQLite + PHOTOPRISM_UPLOAD_ALLOW: "" # restricts uploads to these file types (comma-separated list of EXTENSIONS; leave blank to allow all) + PHOTOPRISM_UPLOAD_ARCHIVES: "true" # allows upload of zip archives (will be extracted before import) + PHOTOPRISM_DATABASE_DRIVER: "mysql" # MariaDB 11 (MySQL successor) offers significantly better performance compared to SQLite PHOTOPRISM_DATABASE_SERVER: "mariadb:3306" # MariaDB database server (hostname:port) PHOTOPRISM_DATABASE_NAME: "photoprism" # MariaDB database schema name PHOTOPRISM_DATABASE_USER: "photoprism" # MariaDB database user name PHOTOPRISM_DATABASE_PASSWORD: "_admin_password_" # MariaDB database user password ## Run/install on first startup, see https://github.com/photoprism/photoprism/blob/develop/scripts/dist/Makefile: - PHOTOPRISM_INIT: "https tensorflow" # common options: update https tensorflow tensorflow-gpu intel gpu davfs + PHOTOPRISM_INIT: "https tensorflow" # common options: update https tensorflow tensorflow-gpu intel gpu davfs yt-dlp ## Video Transcoding (https://docs.photoprism.app/getting-started/advanced/transcoding/): # PHOTOPRISM_FFMPEG_ENCODER: "software" # H.264/AVC encoder (software, intel, nvidia, apple, raspberry, or vaapi) # PHOTOPRISM_FFMPEG_SIZE: "1920" # video size limit in pixels (720-7680) (default: 3840) @@ -179,7 +172,7 @@ services: ## see https://docs.photoprism.app/getting-started/proxies/traefik/ traefik: restart: always - image: traefik:v2.11 + image: traefik:v3.4 container_name: traefik ports: - "80:80" @@ -215,16 +208,6 @@ services: MARIADB_PASSWORD: "_admin_password_" MARIADB_ROOT_PASSWORD: "_admin_password_" - ## Ofelia Job Runner (recommended) - ## see https://github.com/mcuadros/ofelia - ofelia: - restart: always - image: mcuadros/ofelia:latest - container_name: ofelia - volumes: - - "/var/run/docker.sock:/var/run/docker.sock:ro" - - "./jobs.ini:/etc/ofelia/config.ini" - ## Watchtower upgrades services automatically (optional) ## see https://docs.photoprism.app/getting-started/updates/#watchtower watchtower: diff --git a/setup/docker/cloud/digitalocean.json b/setup/cloud/digitalocean/digitalocean.json similarity index 95% rename from setup/docker/cloud/digitalocean.json rename to setup/cloud/digitalocean/digitalocean.json index f7555b153..346805443 100644 --- a/setup/docker/cloud/digitalocean.json +++ b/setup/cloud/digitalocean/digitalocean.json @@ -63,9 +63,9 @@ "LC_CTYPE=en_US.UTF-8" ], "scripts": [ - "digitalocean/firewall.sh", - "digitalocean/cleanup.sh", - "digitalocean/check.sh" + "init/firewall.sh", + "init/cleanup.sh", + "init/check.sh" ] } ] diff --git a/setup/docker/cloud/digitalocean/README.md b/setup/cloud/digitalocean/init/README.md similarity index 89% rename from setup/docker/cloud/digitalocean/README.md rename to setup/cloud/digitalocean/init/README.md index 2b88c3429..12870bb45 100644 --- a/setup/docker/cloud/digitalocean/README.md +++ b/setup/cloud/digitalocean/init/README.md @@ -14,11 +14,10 @@ SOFTWARE INCLUDED --------------------------------------- - [PhotoPrism latest](https://docs.photoprism.app/release-notes/), AGPL 3 -- [Docker CE 23.0](https://docs.docker.com/engine/release-notes/), Apache 2 -- [Traefik 2.9](https://github.com/traefik/traefik/releases), MIT -- [MariaDB 10.10](https://mariadb.com/kb/en/release-notes/), GPL 2 -- [Ofelia 0.3](https://github.com/mcuadros/ofelia/releases), MIT -- [Watchtower 1.5](https://github.com/containrrr/watchtower/releases), Apache 2 +- [Docker CE latest](https://docs.docker.com/engine/release-notes/), Apache 2 +- [Traefik 3.4](https://github.com/traefik/traefik/releases), MIT +- [MariaDB 11](https://mariadb.com/kb/en/release-notes/), GPL 2 +- [Watchtower latest](https://github.com/containrrr/watchtower/releases), Apache 2 GETTING STARTED --------------------------------------- diff --git a/setup/docker/cloud/digitalocean/check.sh b/setup/cloud/digitalocean/init/check.sh similarity index 100% rename from setup/docker/cloud/digitalocean/check.sh rename to setup/cloud/digitalocean/init/check.sh diff --git a/setup/docker/cloud/digitalocean/cleanup.sh b/setup/cloud/digitalocean/init/cleanup.sh similarity index 100% rename from setup/docker/cloud/digitalocean/cleanup.sh rename to setup/cloud/digitalocean/init/cleanup.sh diff --git a/setup/docker/cloud/digitalocean/firewall.sh b/setup/cloud/digitalocean/init/firewall.sh similarity index 100% rename from setup/docker/cloud/digitalocean/firewall.sh rename to setup/cloud/digitalocean/init/firewall.sh diff --git a/setup/docker/cloud/install_photoprism.sh b/setup/cloud/digitalocean/install_photoprism.sh similarity index 73% rename from setup/docker/cloud/install_photoprism.sh rename to setup/cloud/digitalocean/install_photoprism.sh index 264426b83..de62646e5 100755 --- a/setup/docker/cloud/install_photoprism.sh +++ b/setup/cloud/digitalocean/install_photoprism.sh @@ -10,7 +10,7 @@ # so that it runs once when the server is booting for the first time: # # cd /var/lib/cloud/scripts/per-instance -# curl -fsSL https://dl.photoprism.app/docker/cloud/install_photoprism.sh > install_photoprism.sh +# curl -fsSL https://dl.photoprism.app/cloud/digitalocean/install_photoprism.sh > install_photoprism.sh # chmod 700 install_photoprism.sh # # To create a reusable image for DigitalOcean: @@ -21,4 +21,4 @@ # # Enjoy! -bash <(curl -s https://dl.photoprism.app/docker/cloud/setup.sh) +bash <(curl -s https://dl.photoprism.app/cloud/digitalocean/setup.sh) diff --git a/setup/docker/cloud/setup.sh b/setup/cloud/digitalocean/setup.sh similarity index 84% rename from setup/docker/cloud/setup.sh rename to setup/cloud/digitalocean/setup.sh index 58c084b4f..eb54251a5 100755 --- a/setup/docker/cloud/setup.sh +++ b/setup/cloud/digitalocean/setup.sh @@ -68,10 +68,10 @@ mkdir -p /opt/photoprism/originals /opt/photoprism/import /opt/photoprism/storag echo "Generating certificates..." # download ssl config -curl -fsSL https://dl.photoprism.app/docker/cloud/certs/ca.conf > /opt/photoprism/certs/ca.conf -curl -fsSL https://dl.photoprism.app/docker/cloud/certs/cert.conf > /opt/photoprism/certs/cert.conf -curl -fsSL https://dl.photoprism.app/docker/cloud/certs/config.yml > /opt/photoprism/certs/config.yml -curl -fsSL https://dl.photoprism.app/docker/cloud/certs/openssl.conf > /opt/photoprism/certs/openssl.conf +curl -fsSL https://dl.photoprism.app/cloud/digitalocean/certs/ca.conf > /opt/photoprism/certs/ca.conf +curl -fsSL https://dl.photoprism.app/cloud/digitalocean/certs/cert.conf > /opt/photoprism/certs/cert.conf +curl -fsSL https://dl.photoprism.app/cloud/digitalocean/certs/config.yml > /opt/photoprism/certs/config.yml +curl -fsSL https://dl.photoprism.app/cloud/digitalocean/certs/openssl.conf > /opt/photoprism/certs/openssl.conf # create ca openssl genrsa -out /opt/photoprism/certs/ca.key 4096 @@ -101,12 +101,11 @@ PUBLIC_IP=$(curl -sfSL ifconfig.me) echo "Downloading configuration..." # download service config -COMPOSE_CONFIG=$(curl -fsSL https://dl.photoprism.app/docker/cloud/compose.yaml) +COMPOSE_CONFIG=$(curl -fsSL https://dl.photoprism.app/cloud/digitalocean/compose.yaml) COMPOSE_CONFIG=${COMPOSE_CONFIG//_public_ip_/$PUBLIC_IP} COMPOSE_CONFIG=${COMPOSE_CONFIG//$PASSWORD_PLACEHOLDER/$ADMIN_PASSWORD} echo "${COMPOSE_CONFIG}" > /opt/photoprism/compose.yaml -curl -fsSL https://dl.photoprism.app/docker/cloud/jobs.ini > /opt/photoprism/jobs.ini -curl -fsSL https://dl.photoprism.app/docker/cloud/traefik.yaml > /opt/photoprism/traefik.yaml +curl -fsSL https://dl.photoprism.app/cloud/digitalocean/traefik.yaml > /opt/photoprism/traefik.yaml # change permissions chown -Rf photoprism:photoprism /opt/photoprism @@ -121,4 +120,5 @@ apt-get autoremove (cd /opt/photoprism && docker compose pull && docker compose stop && docker compose up --remove-orphans -d) # show public server URL and initial admin password -printf "\nServer URL:\n\n https://%s/\n\nInitial admin password:\n\n %s\n\n" "${PUBLIC_IP}" "${ADMIN_PASSWORD}" \ No newline at end of file +printf "\nServer URL:\n\n https://%s/\n\nInitial admin password:\n\n %s\n\n" "${PUBLIC_IP}" "${ADMIN_PASSWORD}" +printf "\nPhotoprism is now installed and running. For documentation, visit:\n\n https://docs.photoprism.app/\n\n" \ No newline at end of file diff --git a/setup/docker/cloud/traefik.yaml b/setup/cloud/digitalocean/traefik.yaml similarity index 100% rename from setup/docker/cloud/traefik.yaml rename to setup/cloud/digitalocean/traefik.yaml diff --git a/setup/docker/arm64/compose.yaml b/setup/docker/arm64/compose.yaml index 6ec760d14..1b26bb44b 100644 --- a/setup/docker/arm64/compose.yaml +++ b/setup/docker/arm64/compose.yaml @@ -57,6 +57,8 @@ services: PHOTOPRISM_ADMIN_USER: "admin" # admin login username PHOTOPRISM_ADMIN_PASSWORD: "insecure" # initial admin password (8-72 characters) PHOTOPRISM_AUTH_MODE: "password" # authentication mode (public, password) + PHOTOPRISM_DEFAULT_LOCALE: "en" # default user interface language, e.g. "en" or "de" + PHOTOPRISM_PLACES_LOCALE: "local" # location details language, e.g. "local", "en", or "de" PHOTOPRISM_SITE_URL: "http://localhost:2342/" # server URL in the format "http(s)://domain.name(:port)/(path)" PHOTOPRISM_DISABLE_TLS: "false" # disables HTTPS/TLS even if the site URL starts with https:// and a certificate is available PHOTOPRISM_DEFAULT_TLS: "true" # defaults to a self-signed HTTPS/TLS certificate if no other certificate is available @@ -96,7 +98,7 @@ services: PHOTOPRISM_SITE_DESCRIPTION: "" # meta site description PHOTOPRISM_SITE_AUTHOR: "" # meta site author ## Run/install on first startup, see https://github.com/photoprism/photoprism/blob/develop/scripts/dist/Makefile: - PHOTOPRISM_INIT: "https" # common options: update https tensorflow tensorflow-gpu intel gpu davfs + PHOTOPRISM_INIT: "https" # common options: update https tensorflow tensorflow-gpu intel gpu davfs yt-dlp ## Video Transcoding (https://docs.photoprism.app/getting-started/advanced/transcoding/): # PHOTOPRISM_FFMPEG_ENCODER: "software" # H.264/AVC encoder (software, intel, nvidia, apple, raspberry, or vaapi) # PHOTOPRISM_FFMPEG_SIZE: "1920" # video size limit in pixels (720-7680) (default: 3840) diff --git a/setup/docker/armv7/compose.yaml b/setup/docker/armv7/compose.yaml index 0633cb38f..174ee29d9 100644 --- a/setup/docker/armv7/compose.yaml +++ b/setup/docker/armv7/compose.yaml @@ -52,6 +52,8 @@ services: PHOTOPRISM_ADMIN_USER: "admin" # admin login username PHOTOPRISM_ADMIN_PASSWORD: "insecure" # initial admin password (8-72 characters) PHOTOPRISM_AUTH_MODE: "password" # authentication mode (public, password) + PHOTOPRISM_DEFAULT_LOCALE: "en" # default user interface language, e.g. "en" or "de" + PHOTOPRISM_PLACES_LOCALE: "local" # location details language, e.g. "local", "en", or "de" PHOTOPRISM_SITE_URL: "http://localhost:2342/" # server URL in the format "http(s)://domain.name(:port)/(path)" PHOTOPRISM_DISABLE_TLS: "false" # disables HTTPS/TLS even if the site URL starts with https:// and a certificate is available PHOTOPRISM_DEFAULT_TLS: "true" # defaults to a self-signed HTTPS/TLS certificate if no other certificate is available @@ -90,7 +92,7 @@ services: PHOTOPRISM_SITE_DESCRIPTION: "" # meta site description PHOTOPRISM_SITE_AUTHOR: "" # meta site author ## Run/install on first startup, see https://github.com/photoprism/photoprism/blob/develop/scripts/dist/Makefile: - PHOTOPRISM_INIT: "https" # common options: update https tensorflow tensorflow-gpu intel gpu davfs + PHOTOPRISM_INIT: "https" # common options: update https tensorflow tensorflow-gpu intel gpu davfs yt-dlp ## Video Transcoding (https://docs.photoprism.app/getting-started/advanced/transcoding/): # PHOTOPRISM_FFMPEG_ENCODER: "software" # H.264/AVC encoder (software, intel, nvidia, apple, raspberry, or vaapi) # PHOTOPRISM_FFMPEG_SIZE: "1920" # video size limit in pixels (720-7680) (default: 3840) diff --git a/setup/docker/cloud/jobs.ini b/setup/docker/cloud/jobs.ini deleted file mode 100644 index 669b4648b..000000000 --- a/setup/docker/cloud/jobs.ini +++ /dev/null @@ -1,40 +0,0 @@ -# See https://github.com/mcuadros/ofelia/blob/master/docs/jobs.md for job settings! -# -# Cron expressions in "schedule" represent times using 6 space-separated fields: -# -# Field name | Mandatory? | Allowed values | Allowed special characters -# ---------- | ---------- | -------------- | -------------------------- -# Seconds | Yes | 0-59 | * / , - -# Minutes | Yes | 0-59 | * / , - -# Hours | Yes | 0-23 | * / , - -# Day of month | Yes | 1-31 | * / , - ? -# Month | Yes | 1-12 or JAN-DEC | * / , - -# Day of week | Yes | 0-6 or SUN-SAT | * / , - ? - -# Uncomment to enable background indexing of files in your originals folder at 1am: -# -# [job-exec "photoprism index"] -# schedule = 0 0 1 * * * -# container = photoprism -# command = photoprism index --cleanup -# no-overlap = true - -# Uncomment to automatically import every 2 hours: -# -# [job-exec "photoprism import"] -# schedule = @every 2h -# container = photoprism -# command = photoprism import -# no-overlap = true - -[job-exec "photoprism convert"] -schedule = @daily -container = photoprism -command = photoprism convert -no-overlap = true - -[job-exec "photoprism backup"] -schedule = @daily -container = photoprism -command = photoprism backup -a -i -f /photoprism/storage/index-backup.sql -no-overlap = true diff --git a/setup/docker/compose.yaml b/setup/docker/compose.yaml index 786911a2b..6dfccc404 100644 --- a/setup/docker/compose.yaml +++ b/setup/docker/compose.yaml @@ -48,6 +48,8 @@ services: PHOTOPRISM_ADMIN_USER: "admin" # admin login username PHOTOPRISM_ADMIN_PASSWORD: "insecure" # initial admin password (8-72 characters) PHOTOPRISM_AUTH_MODE: "password" # authentication mode (public, password) + PHOTOPRISM_DEFAULT_LOCALE: "en" # default user interface language, e.g. "en" or "de" + PHOTOPRISM_PLACES_LOCALE: "local" # location details language, e.g. "local", "en", or "de" PHOTOPRISM_SITE_URL: "http://localhost:2342/" # server URL in the format "http(s)://domain.name(:port)/(path)" PHOTOPRISM_DISABLE_TLS: "false" # disables HTTPS/TLS even if the site URL starts with https:// and a certificate is available PHOTOPRISM_DEFAULT_TLS: "true" # defaults to a self-signed HTTPS/TLS certificate if no other certificate is available @@ -86,7 +88,7 @@ services: PHOTOPRISM_SITE_DESCRIPTION: "" # meta site description PHOTOPRISM_SITE_AUTHOR: "" # meta site author ## Run/install on first startup, see https://github.com/photoprism/photoprism/blob/develop/scripts/dist/Makefile: - PHOTOPRISM_INIT: "https tensorflow" # common options: update https tensorflow tensorflow-gpu intel gpu davfs + PHOTOPRISM_INIT: "https tensorflow" # common options: update https tensorflow tensorflow-gpu intel gpu davfs yt-dlp ## Video Transcoding (https://docs.photoprism.app/getting-started/advanced/transcoding/): # PHOTOPRISM_FFMPEG_ENCODER: "software" # H.264/AVC encoder (software, intel, nvidia, apple, raspberry, or vaapi) # PHOTOPRISM_FFMPEG_SIZE: "1920" # video size limit in pixels (720-7680) (default: 3840) diff --git a/setup/docker/macos/compose.yaml b/setup/docker/macos/compose.yaml index 29a216d94..38d61a8b2 100644 --- a/setup/docker/macos/compose.yaml +++ b/setup/docker/macos/compose.yaml @@ -44,6 +44,8 @@ services: PHOTOPRISM_ADMIN_USER: "admin" # admin login username PHOTOPRISM_ADMIN_PASSWORD: "insecure" # initial admin password (8-72 characters) PHOTOPRISM_AUTH_MODE: "password" # authentication mode (public, password) + PHOTOPRISM_DEFAULT_LOCALE: "en" # default user interface language, e.g. "en" or "de" + PHOTOPRISM_PLACES_LOCALE: "local" # location details language, e.g. "local", "en", or "de" PHOTOPRISM_SITE_URL: "http://localhost:2342/" # server URL in the format "http(s)://domain.name(:port)/(path)" PHOTOPRISM_DISABLE_TLS: "false" # disables HTTPS/TLS even if the site URL starts with https:// and a certificate is available PHOTOPRISM_DEFAULT_TLS: "true" # defaults to a self-signed HTTPS/TLS certificate if no other certificate is available @@ -80,7 +82,7 @@ services: PHOTOPRISM_SITE_DESCRIPTION: "" # meta site description PHOTOPRISM_SITE_AUTHOR: "" # meta site author ## Run/install on first startup, see https://github.com/photoprism/photoprism/blob/develop/scripts/dist/Makefile: - PHOTOPRISM_INIT: "https tensorflow" # common options: update https tensorflow tensorflow-gpu intel gpu davfs + PHOTOPRISM_INIT: "https tensorflow" # common options: update https tensorflow tensorflow-gpu intel gpu davfs yt-dlp ## Video Transcoding (https://docs.photoprism.app/getting-started/advanced/transcoding/): # PHOTOPRISM_FFMPEG_ENCODER: "software" # H.264/AVC encoder (software, intel, nvidia, apple, raspberry, or vaapi) # PHOTOPRISM_FFMPEG_SIZE: "1920" # video size limit in pixels (720-7680) (default: 3840) diff --git a/setup/docker/nvidia/compose.yaml b/setup/docker/nvidia/compose.yaml index bad74bb35..312b20150 100644 --- a/setup/docker/nvidia/compose.yaml +++ b/setup/docker/nvidia/compose.yaml @@ -52,6 +52,8 @@ services: PHOTOPRISM_ADMIN_USER: "admin" # admin login username PHOTOPRISM_ADMIN_PASSWORD: "insecure" # initial admin password (8-72 characters) PHOTOPRISM_AUTH_MODE: "password" # authentication mode (public, password) + PHOTOPRISM_DEFAULT_LOCALE: "en" # default user interface language, e.g. "en" or "de" + PHOTOPRISM_PLACES_LOCALE: "local" # location details language, e.g. "local", "en", or "de" PHOTOPRISM_SITE_URL: "http://localhost:2342/" # server URL in the format "http(s)://domain.name(:port)/(path)" PHOTOPRISM_DISABLE_TLS: "false" # disables HTTPS/TLS even if the site URL starts with https:// and a certificate is available PHOTOPRISM_DEFAULT_TLS: "true" # defaults to a self-signed HTTPS/TLS certificate if no other certificate is available @@ -90,7 +92,7 @@ services: PHOTOPRISM_SITE_AUTHOR: "" # meta site author PHOTOPRISM_SITE_CAPTION: "AI-Powered Photos App" ## Run/install on first startup, see https://github.com/photoprism/photoprism/blob/develop/scripts/dist/Makefile: - PHOTOPRISM_INIT: "https tensorflow-gpu" # common options: update https tensorflow tensorflow-gpu intel gpu davfs + PHOTOPRISM_INIT: "https tensorflow-gpu" # common options: update https tensorflow tensorflow-gpu intel gpu davfs yt-dlp ## Nvidia Video Transcoding (https://docs.photoprism.app/getting-started/advanced/transcoding/#nvidia-container-toolkit): NVIDIA_VISIBLE_DEVICES: "all" NVIDIA_DRIVER_CAPABILITIES: "all" diff --git a/setup/docker/portainer/stack.env b/setup/docker/portainer/stack.env index ef5a26d04..b5105ab66 100644 --- a/setup/docker/portainer/stack.env +++ b/setup/docker/portainer/stack.env @@ -70,7 +70,7 @@ PHOTOPRISM_SITE_AUTHOR= # PHOTOPRISM_FFMPEG_SIZE=1920 # video size limit in pixels (720-7680) (default: 3840) # PHOTOPRISM_FFMPEG_BITRATE=32 # video bitrate limit in Mbps (default: 60) ## Run/install on first startup, see https://github.com/photoprism/photoprism/blob/develop/scripts/dist/Makefile: -PHOTOPRISM_INIT: "https tensorflow" # common options: update https tensorflow tensorflow-gpu intel gpu davfs +PHOTOPRISM_INIT: "https tensorflow" # common options: update https tensorflow tensorflow-gpu intel gpu davfs yt-dlp ## Run as a non-root user after initialization (supported: 0, 33, 50-99, 500-600, and 900-1200): # PHOTOPRISM_UID=1000 # PHOTOPRISM_GID=1000 diff --git a/setup/docker/scheduler/compose.yaml b/setup/docker/scheduler/compose.yaml index b143453f6..9fd254beb 100644 --- a/setup/docker/scheduler/compose.yaml +++ b/setup/docker/scheduler/compose.yaml @@ -46,6 +46,8 @@ services: PHOTOPRISM_ADMIN_USER: "admin" # admin login username PHOTOPRISM_ADMIN_PASSWORD: "insecure" # initial admin password (8-72 characters) PHOTOPRISM_AUTH_MODE: "password" # authentication mode (public, password) + PHOTOPRISM_DEFAULT_LOCALE: "en" # default user interface language, e.g. "en" or "de" + PHOTOPRISM_PLACES_LOCALE: "local" # location details language, e.g. "local", "en", or "de" PHOTOPRISM_SITE_URL: "http://localhost:2342/" # server URL in the format "http(s)://domain.name(:port)/(path)" PHOTOPRISM_DISABLE_TLS: "false" # disables HTTPS/TLS even if the site URL starts with https:// and a certificate is available PHOTOPRISM_DEFAULT_TLS: "true" # defaults to a self-signed HTTPS/TLS certificate if no other certificate is available @@ -84,7 +86,7 @@ services: PHOTOPRISM_SITE_DESCRIPTION: "" # meta site description PHOTOPRISM_SITE_AUTHOR: "" # meta site author ## Run/install on first startup, see https://github.com/photoprism/photoprism/blob/develop/scripts/dist/Makefile: - PHOTOPRISM_INIT: "https tensorflow" # common options: update https tensorflow tensorflow-gpu intel gpu davfs + PHOTOPRISM_INIT: "https tensorflow" # common options: update https tensorflow tensorflow-gpu intel gpu davfs yt-dlp ## Video Transcoding (https://docs.photoprism.app/getting-started/advanced/transcoding/): # PHOTOPRISM_FFMPEG_ENCODER: "software" # H.264/AVC encoder (software, intel, nvidia, apple, raspberry, or vaapi) # PHOTOPRISM_FFMPEG_SIZE: "1920" # video size limit in pixels (720-7680) (default: 3840) diff --git a/setup/docker/sqlite/compose.yaml b/setup/docker/sqlite/compose.yaml index a89a2b71b..7e95c6af7 100644 --- a/setup/docker/sqlite/compose.yaml +++ b/setup/docker/sqlite/compose.yaml @@ -44,6 +44,8 @@ services: PHOTOPRISM_ADMIN_USER: "admin" # admin login username PHOTOPRISM_ADMIN_PASSWORD: "insecure" # initial admin password (8-72 characters) PHOTOPRISM_AUTH_MODE: "password" # authentication mode (public, password) + PHOTOPRISM_DEFAULT_LOCALE: "en" # default user interface language, e.g. "en" or "de" + PHOTOPRISM_PLACES_LOCALE: "local" # location details language, e.g. "local", "en", or "de" PHOTOPRISM_SITE_URL: "http://localhost:2342/" # server URL in the format "http(s)://domain.name(:port)/(path)" PHOTOPRISM_DISABLE_TLS: "false" # disables HTTPS/TLS even if the site URL starts with https:// and a certificate is available PHOTOPRISM_DEFAULT_TLS: "true" # defaults to a self-signed HTTPS/TLS certificate if no other certificate is available @@ -77,7 +79,7 @@ services: PHOTOPRISM_SITE_DESCRIPTION: "" # meta site description PHOTOPRISM_SITE_AUTHOR: "" # meta site author ## Run/install on first startup, see https://github.com/photoprism/photoprism/blob/develop/scripts/dist/Makefile: - PHOTOPRISM_INIT: "https tensorflow" # common options: update https tensorflow tensorflow-gpu intel gpu davfs + PHOTOPRISM_INIT: "https tensorflow" # common options: update https tensorflow tensorflow-gpu intel gpu davfs yt-dlp ## Video Transcoding (https://docs.photoprism.app/getting-started/advanced/transcoding/): # PHOTOPRISM_FFMPEG_ENCODER: "software" # H.264/AVC encoder (software, intel, nvidia, apple, raspberry, or vaapi) # PHOTOPRISM_FFMPEG_SIZE: "1920" # video size limit in pixels (720-7680) (default: 3840) diff --git a/setup/docker/windows/compose.yaml b/setup/docker/windows/compose.yaml index ecbd5be72..8222931ba 100644 --- a/setup/docker/windows/compose.yaml +++ b/setup/docker/windows/compose.yaml @@ -50,6 +50,8 @@ services: PHOTOPRISM_ADMIN_USER: "admin" # admin login username PHOTOPRISM_ADMIN_PASSWORD: "insecure" # initial admin password (8-72 characters) PHOTOPRISM_AUTH_MODE: "password" # authentication mode (public, password) + PHOTOPRISM_DEFAULT_LOCALE: "en" # default user interface language, e.g. "en" or "de" + PHOTOPRISM_PLACES_LOCALE: "local" # location details language, e.g. "local", "en", or "de" PHOTOPRISM_SITE_URL: "http://localhost:2342/" # server URL in the format "http(s)://domain.name(:port)/(path)" PHOTOPRISM_DISABLE_TLS: "false" # disables HTTPS/TLS even if the site URL starts with https:// and a certificate is available PHOTOPRISM_DEFAULT_TLS: "true" # defaults to a self-signed HTTPS/TLS certificate if no other certificate is available diff --git a/setup/nas/raspberry-pi/cloud-init/meta-data b/setup/nas/raspberry-pi/cloud-init/meta-data new file mode 100644 index 000000000..63fa08490 --- /dev/null +++ b/setup/nas/raspberry-pi/cloud-init/meta-data @@ -0,0 +1,2 @@ +instance-id: photoprism-pi-001 +local-hostname: photoprism-pi \ No newline at end of file diff --git a/setup/nas/raspberry-pi/cloud-init/network-config b/setup/nas/raspberry-pi/cloud-init/network-config new file mode 100644 index 000000000..d4a9596e3 --- /dev/null +++ b/setup/nas/raspberry-pi/cloud-init/network-config @@ -0,0 +1,5 @@ +version: 2 +ethernets: + eth0: + dhcp4: true + optional: false \ No newline at end of file diff --git a/setup/nas/raspberry-pi/cloud-init/user-data b/setup/nas/raspberry-pi/cloud-init/user-data new file mode 100644 index 000000000..d81a2233a --- /dev/null +++ b/setup/nas/raspberry-pi/cloud-init/user-data @@ -0,0 +1,420 @@ +#cloud-config + +# Set hostname +hostname: photoprism-pi +fqdn: photoprism-pi.local + +# Update and upgrade packages +package_update: true +package_upgrade: true + +# Install required packages +packages: + - apt-transport-https + - ca-certificates + - curl + - gnupg + - lsb-release + - git + - openssl + - avahi-daemon + +# Install Docker Engine (latest version) +runcmd: + # Print welcome message + - printf "\e[0s;35m[SETUP] Starting PhotoPrism installation on Raspberry Pi...\e[0m\n" + + # Uninstall old versions if they exist + - printf "\e[0;35m[SETUP] Removing old Docker versions if present...\e[0m\n" + - for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do apt-get remove -y $pkg || true; done + - printf "\e[0;35m[SETUP] ✓ Old Docker versions removed or not present\e[0m\n" + + # Add Docker's official GPG key + - printf "\e[0;35m[SETUP] Adding Docker repository GPG key...\e[0m\n" + - apt-get update + - apt-get install -y ca-certificates curl + - install -m 0755 -d /etc/apt/keyrings + - curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc + - chmod a+r /etc/apt/keyrings/docker.asc + - printf "\e[0;35m[SETUP] ✓ Docker GPG key added\e[0m\n" + + # Add Docker repository + - printf "\e[0;35m[SETUP] Adding Docker repository...\e[0m\n" + - echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null + - apt-get update + - printf "\e[0;35m[SETUP] ✓ Docker repository added\e[0m\n" + + # Install Docker Engine + - printf "\e[0;35m[SETUP] Installing Docker Engine...\e[0m\n" + - apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin + - printf "\e[0;35m[SETUP] ✓ Docker Engine installed\e[0m\n" + + # Create directories for PhotoPrism and Traefik + - printf "\e[0;35m[SETUP] Creating directory structure for PhotoPrism...\e[0m\n" + - mkdir -p /opt/photoprism/photos + - mkdir -p /opt/photoprism/storage + - mkdir -p /opt/photoprism/database + - mkdir -p /opt/photoprism/import + - mkdir -p /opt/photoprism/originals + - mkdir -p /opt/photoprism/traefik/certs + - mkdir -p /opt/photoprism/traefik/conf.d + - mkdir -p /etc/traefik + - chown -R 1000:1000 /opt/photoprism + - chmod -R 755 /opt/photoprism + - chmod -R ug+rwX,o-rwx /opt/photoprism/storage + - chmod -R ug+rwX,o-rwx /opt/photoprism/database + - chmod -R ug+rwX,o-rwx /opt/photoprism/import + - chmod -R ug+rwX,o-rwx /opt/photoprism/originals + - chmod -R ug+rwX,o-rwx /opt/photoprism/photos + - printf "\e[0;35m[SETUP] ✓ PhotoPrism directory structure created\e[0m\n" + + + # Create mount points for external drives + - printf "\e[0;35m[SETUP] Creating mount points for external drives...\e[0m\n" + - mkdir -p /mnt/a + - mkdir -p /mnt/b + - mkdir -p /mnt/c + - mkdir -p /mnt/d + - chown -R 1000:1000 /mnt + - printf "\e[0;35m[SETUP] ✓ External drive mount points created\e[0m\n" + + # Configure external drives in fstab + - printf "\e[0;35m[SETUP] Configuring external drives in fstab...\e[0m\n" + - | + cat >> /etc/fstab << 'EOF' + /dev/sda1 /mnt/a auto nofail,noatime,noauto,x-systemd.automount,x-systemd.device-timeout=10s,uid=1000,gid=1000 0 0 + /dev/sdb1 /mnt/b auto nofail,noatime,noauto,x-systemd.automount,x-systemd.device-timeout=10s,uid=1000,gid=1000 0 0 + /dev/sdc1 /mnt/c auto nofail,noatime,noauto,x-systemd.automount,x-systemd.device-timeout=10s,uid=1000,gid=1000 0 0 + /dev/sdd1 /mnt/d auto nofail,noatime,noauto,x-systemd.automount,x-systemd.device-timeout=10s,uid=1000,gid=1000 0 0 + EOF + - printf "\e[0;35m[SETUP] ✓ External drives configured in fstab\e[0m\n" + + # Set up swap + - printf "\e[0;35m[SETUP] Setting up swap space...\e[0m\n" + - | + cat > /usr/local/bin/swapon.sh << 'EOF' + #!/usr/bin/env bash + + # add 8 GB of swap if no swap was configured yet + if [[ -z $(swapon --show) ]]; then + fallocate -l 8G /swapfile + chmod 600 /swapfile + mkswap /swapfile + swapon /swapfile + swapon --show + free -h + echo '/swapfile none swap sw 0 0' | tee -a /etc/fstab + fi + EOF + - chmod +x /usr/local/bin/swapon.sh + - /usr/local/bin/swapon.sh + - printf "\e[0;35m[SETUP] ✓ Swap space configured\e[0m\n" + + # Verify the installation is successful + - printf "\e[0;35m[SETUP] Verifying Docker installation...\e[0m\n" + - docker run --rm hello-world + - printf "\e[0;35m[SETUP] ✓ Docker installation verified\e[0m\n" + + # Ensure docker group exists and pi user is added to it + - printf "\e[0;35m[SETUP] Ensuring pi user is in docker group...\e[0m\n" + - getent group docker || groupadd docker + - usermod -aG docker pi + - printf "\e[0;35m[SETUP] ✓ Pi user added to docker group\e[0m\n" + + # Enable services + - printf "\e[0;35m[SETUP] Enabling required services...\e[0m\n" + - systemctl enable docker + - systemctl enable avahi-daemon + - printf "\e[0;35m[SETUP] ✓ Services enabled\e[0m\n" + + # Add a service to start PhotoPrism on boot + - printf "\e[0;35m[SETUP] Creating PhotoPrism service...\e[0m\n" + - | + cat > /etc/systemd/system/photoprism.service << 'EOF' + [Unit] + Description=PhotoPrism Service + After=docker.service network-online.target + Requires=docker.service network-online.target + + [Service] + Type=oneshot + RemainAfterExit=yes + WorkingDirectory=/opt/photoprism + ExecStart=/usr/bin/docker compose up -d + ExecStop=/usr/bin/docker compose down + + [Install] + WantedBy=multi-user.target + EOF + - printf "\e[0;35m[SETUP] ✓ PhotoPrism service created\e[0m\n" + + # Enable PhotoPrism service + - printf "\e[0;35m[SETUP] Enabling and starting PhotoPrism service...\e[0m\n" + - systemctl enable photoprism.service + - systemctl start photoprism.service + - printf "\e[0;35m[SETUP] ✓ PhotoPrism service started\e[0m\n" + + # Configure Avahi for .local domain + - printf "\e[0;35m[SETUP] Restarting and configuring Avahi for .local domain...\e[0m\n" + - systemctl restart avahi-daemon + - printf "\e[0;35m[SETUP] ✓ Avahi configured for .local domain\e[0m\n" + + # Update MOTD and issue file with actual IP address + - printf "\e[0;35m[SETUP] Updating MOTD and console login message with actual IP address...\e[0m\n" + - chmod +x /usr/local/bin/update-motd-ip.sh + - /usr/local/bin/update-motd-ip.sh + - PRIMARY_IFACE=$(ip route | grep default | awk '{print $5}') + - IP=$(ip addr show $PRIMARY_IFACE 2>/dev/null | grep -oP 'inet \K[\d.]+' || hostname -I | awk '{print $1}') + - | + cat > /etc/issue << EOF + + + Welcome to PhotoPrism Pi! + + You should soon be able to access the web interface + by navigating to one of the following URLs: + + http://$IP:2342/ + https://photoprism-pi.local/ + + For further information and help with troubleshooting: + https://docs.photoprism.app/photoprism-pi/ + https://docs.photoprism.app/getting-started/troubleshooting/ + + EOF + - printf "\e[0;35m[SETUP] ✓ MOTD and console login message updated with actual IP\e[0m\n" + + + +# Write configuration files +write_files: + - path: /usr/local/bin/update-motd-ip.sh + permissions: '0755' + content: | + #!/bin/bash + IP=$(hostname -I | awk '{print $1}') + sed -i "s|http://:2342/|http://$IP:2342/|g" /etc/motd + + - path: /etc/motd + permissions: '0644' + content: | + + Welcome to PhotoPrism Pi! + + You should soon be able to access the web interface + by navigating to one of the following URLs: + + http://:2342/ + https://photoprism-pi.local/ + + Your initial password for the "admin" account is + "photoprismpi". Please change it after logging in for the + first time, especially if your device is connected to the + Internet or a shared network. + + For further information and help with troubleshooting: + https://docs.photoprism.app/photoprism-pi/ + https://docs.photoprism.app/getting-started/troubleshooting/ + + - path: /opt/photoprism/compose.yaml + permissions: '0644' + content: | + name: photoprism + + services: + photoprism: + image: photoprism/photoprism:latest + depends_on: + - mariadb + restart: always + security_opt: + - seccomp=unconfined + - apparmor=unconfined + user: "1000:1000" + ports: + - "2342:2342" + labels: + - "traefik.enable=true" + - "traefik.http.routers.photoprism.rule=Host(`photoprism-pi.local`)" + - "traefik.http.routers.photoprism.entrypoints=websecure" + - "traefik.http.routers.photoprism.tls=true" + - "traefik.http.services.photoprism.loadbalancer.server.port=2342" + - "traefik.docker.network=photoprism" + environment: + PHOTOPRISM_ADMIN_PASSWORD: "photoprismpi" + PHOTOPRISM_AUTH_MODE: "passwd" + PHOTOPRISM_SITE_URL: "https://photoprism-pi.local/" + PHOTOPRISM_SITE_CAPTION: "AI-Powered Photos App" + PHOTOPRISM_ORIGINALS_LIMIT: 5000 + PHOTOPRISM_RESOLUTION_LIMIT: 300 + PHOTOPRISM_HTTP_COMPRESSION: "gzip" + PHOTOPRISM_WORKERS: 3 + PHOTOPRISM_LOG_LEVEL: "info" + PHOTOPRISM_TRACE: "false" + PHOTOPRISM_READONLY: "false" + PHOTOPRISM_EXPERIMENTAL: "false" + PHOTOPRISM_DISABLE_CHOWN: "false" + PHOTOPRISM_DISABLE_WEBDAV: "false" + PHOTOPRISM_DISABLE_SETTINGS: "false" + PHOTOPRISM_DISABLE_TENSORFLOW: "false" + PHOTOPRISM_DISABLE_FACES: "false" + PHOTOPRISM_DISABLE_CLASSIFICATION: "false" + PHOTOPRISM_DISABLE_RAW: "false" + PHOTOPRISM_RAW_PRESETS: "false" + PHOTOPRISM_JPEG_QUALITY: 82 + PHOTOPRISM_FFMPEG_SIZE: 1920 + PHOTOPRISM_AUTO_INDEX: 300 # delay before automatically indexing files in SECONDS when uploading via WebDAV (-1 to disable) + PHOTOPRISM_AUTO_IMPORT: -1 # delay before automatically importing files in SECONDS when uploading via WebDAV (-1 to disable) + PHOTOPRISM_DETECT_NSFW: "false" # automatically flags photos as private that MAY be offensive (requires TensorFlow) + PHOTOPRISM_UPLOAD_NSFW: "true" # allow uploads that MAY be offensive + PHOTOPRISM_UPLOAD_ALLOW: "" # restricts uploads to these file types (comma-separated list of EXTENSIONS; leave blank to allow all) + PHOTOPRISM_UPLOAD_ARCHIVES: "true" # allows upload of zip archives (will be extracted before import) + PHOTOPRISM_UPLOAD_LIMIT: 10000 # maximum total size of uploaded files in MB (1-100000; -1 to disable) + PHOTOPRISM_SIDECAR_YAML: "false" # creates YAML sidecar files to back up picture metadata + PHOTOPRISM_INDEX_SCHEDULE: "" # indexing SCHEDULE in cron format (e.g. "@every 3h" for every 3 hours; "" to disable) + PHOTOPRISM_BACKUP_ALBUMS: "true" # creates YAML files to back up album metadata + PHOTOPRISM_BACKUP_DATABASE: "true" # creates regular backups based on the configured schedule + PHOTOPRISM_BACKUP_SCHEDULE: "daily" # backup SCHEDULE in cron format (e.g. "0 12 * * *" for daily at noon) or at a random time (daily, weekly) + PHOTOPRISM_DATABASE_DRIVER: "mysql" + PHOTOPRISM_DATABASE_SERVER: "mariadb:3306" + PHOTOPRISM_DATABASE_NAME: "photoprism" + PHOTOPRISM_DATABASE_USER: "photoprism" + PHOTOPRISM_DATABASE_PASSWORD: "insecure" + PHOTOPRISM_INIT: "yt-dlp" + working_dir: "/photoprism" + volumes: + - "/opt/photoprism/storage:/photoprism/storage" + - "/opt/photoprism/originals:/photoprism/originals" + - "/mnt:/photoprism/originals/mnt:slave" + - "/opt/photoprism/import:/photoprism/import" + + mariadb: + restart: always + image: mariadb:11 + security_opt: + - seccomp=unconfined + - apparmor=unconfined + command: --innodb-buffer-pool-size=256M --transaction-isolation=READ-COMMITTED --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --max-connections=512 --innodb-rollback-on-timeout=OFF --innodb-lock-wait-timeout=120 + volumes: + - "/opt/photoprism/database:/var/lib/mysql" + environment: + MARIADB_AUTO_UPGRADE: "1" + MARIADB_INITDB_SKIP_TZINFO: "1" + MARIADB_DATABASE: "photoprism" + MARIADB_USER: "photoprism" + MARIADB_PASSWORD: "insecure" + MARIADB_ROOT_PASSWORD: "insecure" + + traefik: + restart: always + image: traefik:v3.4 + ports: + - "80:80" + - "443:443" + volumes: + - "/var/run/docker.sock:/var/run/docker.sock:ro" + - "/opt/photoprism/traefik:/etc/traefik:rw" + labels: + - "traefik.enable=true" + command: + - "--api.insecure=false" + - "--providers.docker=true" + - "--providers.docker.exposedbydefault=false" + - "--entrypoints.web.address=:80" + - "--entrypoints.websecure.address=:443" + - "--entrypoints.web.http.redirections.entrypoint.to=websecure" + - "--entrypoints.web.http.redirections.entrypoint.scheme=https" + - "--providers.docker.network=photoprism" + - "--providers.docker.defaultRule=Host(`{{ normalize .Name }}.local`)" + - "--log.level=DEBUG" + + watchtower: + restart: always + image: containrrr/watchtower + environment: + WATCHTOWER_CLEANUP: "true" + WATCHTOWER_POLL_INTERVAL: 7200 + volumes: + - "/var/run/docker.sock:/var/run/docker.sock" + + networks: + default: + name: photoprism + driver: bridge + + - path: /etc/avahi/avahi-daemon.conf + permissions: '0644' + content: | + [server] + #host-name=foo + #domain-name=local + #browse-domains=0pointer.de, zeroconf.org + use-ipv4=yes + use-ipv6=no + allow-interfaces=eth0 + #deny-interfaces=eth1 + #check-response-ttl=no + #use-iff-running=no + #enable-dbus=yes + #disallow-other-stacks=no + #allow-point-to-point=no + #cache-entries-max=4096 + #clients-max=4096 + #objects-per-client-max=1024 + #entries-per-entry-group-max=32 + ratelimit-interval-usec=1000000 + ratelimit-burst=1000 + + [wide-area] + enable-wide-area=yes + + [publish] + #disable-publishing=no + #disable-user-service-publishing=no + #add-service-cookie=no + #publish-addresses=yes + publish-hinfo=no + publish-workstation=no + #publish-domain=yes + #publish-dns-servers=192.168.50.1, 192.168.50.2 + #publish-resolv-conf-dns-servers=yes + #publish-aaaa-on-ipv4=yes + #publish-a-on-ipv6=no + + [reflector] + #enable-reflector=no + #reflect-ipv=no + #reflect-filters=_airplay._tcp.local,_raop._tcp.local + + [rlimits] + #rlimit-as= + #rlimit-core=0 + #rlimit-data=8388608 + #rlimit-fsize=0 + #rlimit-nofile=768 + #rlimit-stack=8388608 + #rlimit-nproc=3 + +# Configure users +users: + - name: pi + gecos: PhotoPrism User + sudo: ALL=(ALL) NOPASSWD:ALL + groups: adm,dialout,cdrom,floppy,sudo,audio,dip,video,plugdev,netdev,docker + shell: /bin/bash + lock_passwd: false + +# Set passwords +chpasswd: + expire: false + list: | + pi:raspberry + +# Automatically reboot after cloud-init completes +power_state: + delay: "+1" + mode: reboot + message: "Rebooting system after cloud-init completes setup" + timeout: 30 + condition: True + diff --git a/setup/podman/docker-compose.yml b/setup/podman/docker-compose.yml index 03a332504..47261ea09 100644 --- a/setup/podman/docker-compose.yml +++ b/setup/podman/docker-compose.yml @@ -59,6 +59,8 @@ services: PHOTOPRISM_ADMIN_USER: "admin" # admin login username PHOTOPRISM_ADMIN_PASSWORD: "insecure" # initial admin password (8-72 characters) PHOTOPRISM_AUTH_MODE: "password" # authentication mode (public, password) + PHOTOPRISM_DEFAULT_LOCALE: "en" # default user interface language, e.g. "en" or "de" + PHOTOPRISM_PLACES_LOCALE: "local" # location details language, e.g. "local", "en", or "de" PHOTOPRISM_SITE_URL: "http://localhost:2342/" # server URL in the format "http(s)://domain.name(:port)/(path)" PHOTOPRISM_DISABLE_TLS: "false" # disables HTTPS/TLS even if the site URL starts with https:// and a certificate is available PHOTOPRISM_DEFAULT_TLS: "true" # defaults to a self-signed HTTPS/TLS certificate if no other certificate is available @@ -95,7 +97,7 @@ services: PHOTOPRISM_SITE_DESCRIPTION: "" # meta site description PHOTOPRISM_SITE_AUTHOR: "" # meta site author ## Run/install on first startup, see https://github.com/photoprism/photoprism/blob/develop/scripts/dist/Makefile: - PHOTOPRISM_INIT: "https tensorflow" # common options: update https tensorflow tensorflow-gpu intel gpu davfs + PHOTOPRISM_INIT: "https tensorflow" # common options: update https tensorflow tensorflow-gpu intel gpu davfs yt-dlp ## Video Transcoding (https://docs.photoprism.app/getting-started/advanced/transcoding/): # PHOTOPRISM_FFMPEG_ENCODER: "software" # H.264/AVC encoder (software, intel, nvidia, apple, raspberry, or vaapi) # PHOTOPRISM_FFMPEG_SIZE: "1920" # video size limit in pixels (720-7680) (default: 3840)